Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: b21635fa1d7e88c39b3d45453e20c5d31a26fe1d (plain)
ofshex dumpascii
0000 ac ed 00 05 73 72 00 30 6f 72 67 2e 65 63 6c 69 70 73 65 2e 6c 69 6e 75 78 74 6f 6f 6c 73 2e 63 ....sr.0org.eclipse.linuxtools.c
0020 64 74 2e 6c 69 62 68 6f 76 65 72 2e 4c 69 62 48 6f 76 65 72 49 6e 66 6f 00 00 00 00 00 00 00 01 dt.libhover.LibHoverInfo........
0040 02 00 03 4c 00 07 63 6c 61 73 73 65 73 74 00 13 4c 6a 61 76 61 2f 75 74 69 6c 2f 48 61 73 68 4d ...L..classest..Ljava/util/HashM
0060 61 70 3b 4c 00 09 66 75 6e 63 74 69 6f 6e 73 74 00 13 4c 6a 61 76 61 2f 75 74 69 6c 2f 54 72 65 ap;L..functionst..Ljava/util/Tre
0080 65 4d 61 70 3b 4c 00 08 74 79 70 65 64 65 66 73 71 00 7e 00 01 78 70 73 72 00 11 6a 61 76 61 2e eMap;L..typedefsq.~..xpsr..java.
00a0 75 74 69 6c 2e 48 61 73 68 4d 61 70 05 07 da c1 c3 16 60 d1 03 00 02 46 00 0a 6c 6f 61 64 46 61 util.HashMap......`....F..loadFa
00c0 63 74 6f 72 49 00 09 74 68 72 65 73 68 6f 6c 64 78 70 3f 40 00 00 00 00 00 0c 77 08 00 00 00 10 ctorI..thresholdxp?@......w.....
00e0 00 00 00 00 78 73 72 00 11 6a 61 76 61 2e 75 74 69 6c 2e 54 72 65 65 4d 61 70 0c c1 f6 3e 2d 25 ....xsr..java.util.TreeMap...>-%
0100 6a e6 03 00 01 4c 00 0a 63 6f 6d 70 61 72 61 74 6f 72 74 00 16 4c 6a 61 76 61 2f 75 74 69 6c 2f j....L..comparatort..Ljava/util/
0120 43 6f 6d 70 61 72 61 74 6f 72 3b 78 70 70 77 04 00 00 04 aa 74 00 0a 44 45 53 5f 46 41 49 4c 45 Comparator;xppw.....t..DES_FAILE
0140 44 73 72 00 30 6f 72 67 2e 65 63 6c 69 70 73 65 2e 6c 69 6e 75 78 74 6f 6f 6c 73 2e 63 64 74 2e Dsr.0org.eclipse.linuxtools.cdt.
0160 6c 69 62 68 6f 76 65 72 2e 46 75 6e 63 74 69 6f 6e 49 6e 66 6f 00 00 00 00 00 00 00 01 02 00 06 libhover.FunctionInfo...........
0180 4c 00 08 63 68 69 6c 64 72 65 6e 74 00 15 4c 6a 61 76 61 2f 75 74 69 6c 2f 41 72 72 61 79 4c 69 L..childrent..Ljava/util/ArrayLi
01a0 73 74 3b 4c 00 04 64 65 73 63 74 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 4c st;L..desct..Ljava/lang/String;L
01c0 00 07 68 65 61 64 65 72 73 71 00 7e 00 0b 4c 00 04 6e 61 6d 65 71 00 7e 00 0c 4c 00 09 70 72 6f ..headersq.~..L..nameq.~..L..pro
01e0 74 6f 74 79 70 65 71 00 7e 00 0c 4c 00 0a 72 65 74 75 72 6e 54 79 70 65 71 00 7e 00 0c 78 70 70 totypeq.~..L..returnTypeq.~..xpp
0200 74 00 a4 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 72 65 74 75 72 6e 73 20 31 t...........This.macro.returns.1
0220 20 69 66 20 3c 56 41 52 3e 65 72 72 3c 2f 56 41 52 3e 20 69 73 20 61 20 60 73 75 63 63 65 73 73 .if.<VAR>err</VAR>.is.a.`success
0240 27 20 72 65 73 75 6c 74 20 63 6f 64 65 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 '.result.code.from..........<COD
0260 45 3e 65 63 62 5f 63 72 79 70 74 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 63 62 63 5f E>ecb_crypt</CODE>.or.<CODE>cbc_
0280 63 72 79 70 74 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 crypt</CODE>,.and.0.otherwise...
02a0 20 20 20 20 20 20 20 73 72 00 13 6a 61 76 61 2e 75 74 69 6c 2e 41 72 72 61 79 4c 69 73 74 78 81 .......sr..java.util.ArrayListx.
02c0 d2 1d 99 c7 61 9d 03 00 01 49 00 04 73 69 7a 65 78 70 00 00 00 01 77 04 00 00 00 0a 74 00 0f 72 ....a....I..sizexp....w.....t..r
02e0 70 63 2f 64 65 73 5f 63 72 79 70 74 2e 68 78 71 00 7e 00 09 74 00 07 69 6e 74 20 65 72 72 74 00 pc/des_crypt.hxq.~..t..int.errt.
0300 03 69 6e 74 74 00 05 5f 45 78 69 74 73 71 00 7e 00 0a 70 74 01 89 0a 20 20 20 20 20 20 20 20 54 .intt.._Exitsq.~..pt...........T
0320 68 65 20 3c 43 4f 44 45 3e 5f 45 78 69 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 he.<CODE>_Exit</CODE>.function.i
0340 73 20 74 68 65 20 49 53 4f 20 43 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e s.the.ISO.C.equivalent.to.<CODE>
0360 5f 65 78 69 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 49 53 4f 20 43 _exit</CODE>...........The.ISO.C
0380 20 63 6f 6d 6d 69 74 74 65 65 20 6d 65 6d 62 65 72 73 20 77 65 72 65 20 6e 6f 74 20 73 75 72 65 .committee.members.were.not.sure
03a0 20 77 68 65 74 68 65 72 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 6f 66 0a 20 20 20 20 .whether.the.definitions.of.....
03c0 20 20 20 20 20 3c 43 4f 44 45 3e 5f 65 78 69 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 .....<CODE>_exit</CODE>.and.<COD
03e0 45 3e 5f 45 78 69 74 3c 2f 43 4f 44 45 3e 20 77 65 72 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 73 E>_Exit</CODE>.were.compatible.s
0400 6f 20 74 68 65 79 20 68 61 76 65 20 6e 6f 74 20 75 73 65 64 20 74 68 65 0a 20 20 20 20 20 20 20 o.they.have.not.used.the........
0420 20 20 50 4f 53 49 58 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ..POSIX.name...........<br><br>.
0440 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 This.function.was.introduced.in.
0460 49 53 4f 20 43 39 39 20 61 6e 64 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 0a 20 20 20 20 20 ISO.C99.and.is.declared.in......
0480 20 20 20 20 3c 54 54 3e 73 74 64 6c 69 62 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 ....<TT>stdlib.h</TT>..........s
04a0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 00 14 q.~......w.....t..stdlib.hxq.~..
04c0 74 00 0a 69 6e 74 20 73 74 61 74 75 73 74 00 04 76 6f 69 64 74 00 0a 5f 5f 66 62 75 66 73 69 7a t..int.statust..voidt..__fbufsiz
04e0 65 73 71 00 7e 00 0a 70 74 01 12 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 5f 5f esq.~..pt...........The.<CODE>__
0500 66 62 75 66 73 69 7a 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 20 fbufsize</CODE>.function.return.
0520 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 20 69 6e 20 74 68 65 0a 20 20 the.size.of.the.buffer.in.the...
0540 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e .......stream.<VAR>stream</VAR>.
0560 20 20 54 68 69 73 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6f 70 74 69 ..This.value.can.be.used.to.opti
0580 6d 69 7a 65 20 74 68 65 20 75 73 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 mize.the.use.of.the..........str
05a0 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 eam...........<br><br>.This.func
05c0 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 3c 54 54 3e 73 74 64 69 tion.is.declared.in.the.<TT>stdi
05e0 6f 5f 65 78 74 2e 68 3c 2f 54 54 3e 20 68 65 61 64 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 o_ext.h</TT>.header..........sq.
0600 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 74 64 69 6f 5f 65 78 74 2e 68 78 71 00 7e 00 ~......w.....t..stdio_ext.hxq.~.
0620 1b 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 06 73 69 7a 65 5f 74 74 00 06 5f 5f 66 6c .t..FILE.*streamt..size_tt..__fl
0640 62 66 73 71 00 7e 00 0a 70 74 01 0c 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 5f bfsq.~..pt...........The.<CODE>_
0660 5f 66 6c 62 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 72 65 74 75 72 _flbf</CODE>.function.will.retur
0680 6e 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 69 6e 20 63 61 73 65 20 74 68 65 0a 20 20 n.a.nonzero.value.in.case.the...
06a0 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 .......stream.<VAR>stream</VAR>.
06c0 69 73 20 6c 69 6e 65 20 62 75 66 66 65 72 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 is.line.buffered...Otherwise.the
06e0 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f 2e 0a .return.value.is..........zero..
0700 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .........<br><br>.This.function.
0720 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 3c 54 54 3e 73 74 64 69 6f 5f 65 78 74 is.declared.in.the.<TT>stdio_ext
0740 2e 68 3c 2f 54 54 3e 20 68 65 61 64 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 .h</TT>.header..........sq.~....
0760 00 01 77 04 00 00 00 0a 74 00 0b 73 74 64 69 6f 5f 65 78 74 2e 68 78 71 00 7e 00 22 74 00 0c 46 ..w.....t..stdio_ext.hxq.~."t..F
0780 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 0a 5f 5f 66 70 65 6e 64 69 6e 67 73 71 ILE.*streamt..intt..__fpendingsq
07a0 00 7e 00 0a 70 74 01 47 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e .~..pt.G.........function.return
07c0 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 63 75 72 72 65 6e 74 6c 79 20 s.the.number.of.bytes.currently.
07e0 69 6e 20 74 68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 46 in.the.output.buffer...........F
0800 6f 72 20 77 69 64 65 2d 6f 72 69 65 6e 74 65 64 20 73 74 72 65 61 6d 20 74 68 65 20 6d 65 61 73 or.wide-oriented.stream.the.meas
0820 75 72 69 6e 67 20 75 6e 69 74 20 69 73 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 uring.unit.is.wide.characters...
0840 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 6e 6f This..........function.should.no
0860 74 20 62 65 20 75 73 65 64 20 6f 6e 20 62 75 66 66 65 72 73 20 69 6e 20 72 65 61 64 20 6d 6f 64 t.be.used.on.buffers.in.read.mod
0880 65 20 6f 72 20 6f 70 65 6e 65 64 20 72 65 61 64 2d 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 e.or.opened.read-only...........
08a0 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 <br><br>.This.function.is.declar
08c0 65 64 20 69 6e 20 74 68 65 20 3c 54 54 3e 73 74 64 69 6f 5f 65 78 74 2e 68 3c 2f 54 54 3e 20 68 ed.in.the.<TT>stdio_ext.h</TT>.h
08e0 65 61 64 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 eader..........sq.~......w.....t
0900 00 0b 73 74 64 69 6f 5f 65 78 74 2e 68 78 71 00 7e 00 29 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 ..stdio_ext.hxq.~.)t..FILE.*stre
0920 61 6d 74 00 06 73 69 7a 65 5f 74 74 00 08 5f 5f 66 70 75 72 67 65 73 71 00 7e 00 0a 70 74 01 bd amt..size_tt..__fpurgesq.~..pt..
0940 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 5f 5f 66 70 75 72 67 65 3c 2f 43 4f 44 .........The.<CODE>__fpurge</COD
0960 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 75 73 65 73 20 74 68 65 20 62 75 66 66 65 72 20 6f 66 E>.function.causes.the.buffer.of
0980 20 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d .the.stream..........<VAR>stream
09a0 3c 2f 56 41 52 3e 20 74 6f 20 62 65 20 65 6d 70 74 69 65 64 2e 20 20 49 66 20 74 68 65 20 73 74 </VAR>.to.be.emptied...If.the.st
09c0 72 65 61 6d 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 20 72 65 61 64 20 6d 6f 64 65 20 61 ream.is.currently.in.read.mode.a
09e0 6c 6c 0a 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 ll..........input.in.the.buffer.
0a00 69 73 20 6c 6f 73 74 2e 20 20 49 66 20 74 68 65 20 73 74 72 65 61 6d 20 69 73 20 69 6e 20 6f 75 is.lost...If.the.stream.is.in.ou
0a20 74 70 75 74 20 6d 6f 64 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 65 64 20 tput.mode.the..........buffered.
0a40 6f 75 74 70 75 74 20 69 73 20 6e 6f 74 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 64 65 76 output.is.not.written.to.the.dev
0a60 69 63 65 20 28 6f 72 20 77 68 61 74 65 76 65 72 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 ice.(or.whatever.other..........
0a80 75 6e 64 65 72 6c 79 69 6e 67 20 73 74 6f 72 61 67 65 29 20 61 6e 64 20 74 68 65 20 62 75 66 66 underlying.storage).and.the.buff
0aa0 65 72 20 74 68 65 20 63 6c 65 61 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 er.the.cleared...........<br><br
0ac0 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c >.This.function.is.declared.in.<
0ae0 54 54 3e 73 74 64 69 6f 5f 65 78 74 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 TT>stdio_ext.h</TT>..........sq.
0b00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 74 64 69 6f 5f 65 78 74 2e 68 78 71 00 7e 00 ~......w.....t..stdio_ext.hxq.~.
0b20 30 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 04 76 6f 69 64 74 00 0b 5f 5f 66 72 65 61 0t..FILE.*streamt..voidt..__frea
0b40 64 61 62 6c 65 73 71 00 7e 00 0a 70 74 01 39 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 dablesq.~..pt.9.........The.<COD
0b60 45 3e 5f 5f 66 72 65 61 64 61 62 6c 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 65 E>__freadable</CODE>.function.de
0b80 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 20 termines.whether.the.stream.....
0ba0 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 77 61 73 20 6f 70 65 6e 65 .....<VAR>stream</VAR>.was.opene
0bc0 64 20 74 6f 20 61 6c 6c 6f 77 20 72 65 61 64 69 6e 67 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 d.to.allow.reading...In.this.cas
0be0 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e e.the.return.value..........is.n
0c00 6f 6e 7a 65 72 6f 2e 20 20 46 6f 72 20 77 72 69 74 65 2d 6f 6e 6c 79 20 73 74 72 65 61 6d 73 20 onzero...For.write-only.streams.
0c20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 the.function.returns.zero.......
0c40 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 ....<br><br>.This.function.is.de
0c60 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 69 6f 5f 65 78 74 2e 68 3c 2f 54 54 3e 2e 0a clared.in.<TT>stdio_ext.h</TT>..
0c80 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 74 64 69 6f ........sq.~......w.....t..stdio
0ca0 5f 65 78 74 2e 68 78 71 00 7e 00 37 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e _ext.hxq.~.7t..FILE.*streamt..in
0cc0 74 74 00 0a 5f 5f 66 72 65 61 64 69 6e 67 73 71 00 7e 00 0a 70 74 01 f8 0a 20 20 20 20 20 20 20 tt..__freadingsq.~..pt..........
0ce0 20 54 68 65 20 3c 43 4f 44 45 3e 5f 5f 66 72 65 61 64 69 6e 67 3c 2f 43 4f 44 45 3e 20 66 75 6e .The.<CODE>__freading</CODE>.fun
0d00 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 73 74 72 ction.determines.whether.the.str
0d20 65 61 6d 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 77 eam..........<VAR>stream</VAR>.w
0d40 61 73 20 6c 61 73 74 20 72 65 61 64 20 66 72 6f 6d 20 6f 72 20 77 68 65 74 68 65 72 20 69 74 20 as.last.read.from.or.whether.it.
0d60 69 73 20 6f 70 65 6e 65 64 20 72 65 61 64 2d 6f 6e 6c 79 2e 20 20 49 6e 0a 20 20 20 20 20 20 20 is.opened.read-only...In........
0d80 20 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 ..this.case.the.return.value.is.
0da0 6e 6f 6e 7a 65 72 6f 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 7a 65 72 6f 2e 0a 20 nonzero,.otherwise.it.is.zero...
0dc0 20 20 20 20 20 20 20 20 44 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 61 20 73 74 ........Determining.whether.a.st
0de0 72 65 61 6d 20 6f 70 65 6e 65 64 20 66 6f 72 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 74 ream.opened.for.reading.and.writ
0e00 69 6e 67 20 77 61 73 20 6c 61 73 74 0a 20 20 20 20 20 20 20 20 20 75 73 65 64 20 66 6f 72 20 77 ing.was.last..........used.for.w
0e20 72 69 74 69 6e 67 20 61 6c 6c 6f 77 73 20 74 6f 20 64 72 61 77 20 63 6f 6e 63 6c 75 73 69 6f 6e riting.allows.to.draw.conclusion
0e40 73 20 61 62 6f 75 74 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 61 62 6f 75 74 20 74 68 65 0a 20 20 s.about.the.content.about.the...
0e60 20 20 20 20 20 20 20 62 75 66 66 65 72 2c 20 61 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 69 6e 67 .......buffer,.among.other.thing
0e80 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 s...........<br><br>.This.functi
0ea0 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 69 6f 5f 65 78 74 2e on.is.declared.in.<TT>stdio_ext.
0ec0 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a h</TT>..........sq.~......w.....
0ee0 74 00 0b 73 74 64 69 6f 5f 65 78 74 2e 68 78 71 00 7e 00 3e 74 00 0c 46 49 4c 45 20 2a 73 74 72 t..stdio_ext.hxq.~.>t..FILE.*str
0f00 65 61 6d 74 00 03 69 6e 74 74 00 0d 5f 5f 66 73 65 74 6c 6f 63 6b 69 6e 67 73 71 00 7e 00 0a 70 eamt..intt..__fsetlockingsq.~..p
0f20 74 06 75 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 5f t.u.........<br><br>.The.<CODE>_
0f40 5f 66 73 65 74 6c 6f 63 6b 69 6e 67 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e _fsetlocking</CODE>.function.can
0f60 20 62 65 20 75 73 65 64 20 74 6f 20 73 65 6c 65 63 74 20 77 68 65 74 68 65 72 20 74 68 65 0a 20 .be.used.to.select.whether.the..
0f80 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 6f 70 65 72 61 74 69 6f 6e 73 20 77 69 6c 6c 20 69 ........stream.operations.will.i
0fa0 6d 70 6c 69 63 69 74 6c 79 20 61 63 71 75 69 72 65 20 74 68 65 20 6c 6f 63 6b 69 6e 67 20 6f 62 mplicitly.acquire.the.locking.ob
0fc0 6a 65 63 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 3c 56 41 52 ject.of.the..........stream.<VAR
0fe0 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 42 79 20 64 65 66 61 75 6c 74 20 74 68 69 73 20 >stream</VAR>...By.default.this.
1000 69 73 20 64 6f 6e 65 20 62 75 74 20 69 74 20 63 61 6e 20 62 65 20 64 69 73 61 62 6c 65 64 20 61 is.done.but.it.can.be.disabled.a
1020 6e 64 0a 20 20 20 20 20 20 20 20 20 72 65 69 6e 73 74 61 74 65 64 20 75 73 69 6e 67 20 74 68 69 nd..........reinstated.using.thi
1040 73 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 72 65 20 61 72 65 20 74 68 72 65 65 20 76 61 6c s.function...There.are.three.val
1060 75 65 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 ues.defined.for.the..........<VA
1080 52 3e 74 79 70 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 R>type</VAR>.parameter..........
10a0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f .<br><br>.<DL>...........<DT><CO
10c0 44 45 3e 46 53 45 54 4c 4f 43 4b 49 4e 47 5f 49 4e 54 45 52 4e 41 4c 0a 20 20 20 20 20 20 20 20 DE>FSETLOCKING_INTERNAL.........
10e0 20 54 68 65 20 73 74 72 65 61 6d 20 3c 43 4f 44 45 3e 73 74 72 65 61 6d 3c 2f 43 4f 44 45 3e 20 .The.stream.<CODE>stream</CODE>.
1100 77 69 6c 6c 20 66 72 6f 6d 20 6e 6f 77 20 6f 6e 20 75 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 will.from.now.on.use.the.default
1120 20 69 6e 74 65 72 6e 61 6c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 6c .internal</CODE>.<DD>..........l
1140 6f 63 6b 69 6e 67 2e 20 20 45 76 65 72 79 20 73 74 72 65 61 6d 20 6f 70 65 72 61 74 69 6f 6e 20 ocking...Every.stream.operation.
1160 77 69 74 68 20 65 78 63 65 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 5f 75 6e 6c with.exception.of.the.<CODE>_unl
1180 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 76 61 72 69 61 6e 74 73 20 77 ocked</CODE>..........variants.w
11a0 69 6c 6c 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e 0a ill.implicitly.lock.the.stream..
11c0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 46 53 45 54 .........<br><br>.<DT><CODE>FSET
11e0 4c 4f 43 4b 49 4e 47 5f 42 59 43 41 4c 4c 45 52 0a 20 20 20 20 20 20 20 20 20 41 66 74 65 72 20 LOCKING_BYCALLER..........After.
1200 74 68 65 20 3c 43 4f 44 45 3e 5f 5f 66 73 65 74 6c 6f 63 6b 69 6e 67 3c 2f 43 4f 44 45 3e 20 66 the.<CODE>__fsetlocking</CODE>.f
1220 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 75 73 65 72 20 69 73 20 72 65 73 70 unction.returns.the.user.is.resp
1240 6f 6e 73 69 62 6c 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 66 6f 72 onsible</CODE>.<DD>..........for
1260 20 6c 6f 63 6b 69 6e 67 20 74 68 65 20 73 74 72 65 61 6d 2e 20 20 4e 6f 6e 65 20 6f 66 20 74 68 .locking.the.stream...None.of.th
1280 65 20 73 74 72 65 61 6d 20 6f 70 65 72 61 74 69 6f 6e 73 20 77 69 6c 6c 20 69 6d 70 6c 69 63 69 e.stream.operations.will.implici
12a0 74 6c 79 0a 20 20 20 20 20 20 20 20 20 64 6f 20 74 68 69 73 20 61 6e 79 6d 6f 72 65 20 75 6e 74 tly..........do.this.anymore.unt
12c0 69 6c 20 74 68 65 20 73 74 61 74 65 20 69 73 20 73 65 74 20 62 61 63 6b 20 74 6f 0a 20 20 20 20 il.the.state.is.set.back.to.....
12e0 20 20 20 20 20 3c 43 4f 44 45 3e 46 53 45 54 4c 4f 43 4b 49 4e 47 5f 49 4e 54 45 52 4e 41 4c 3c .....<CODE>FSETLOCKING_INTERNAL<
1300 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 /CODE>...........<br><br>.<DT><C
1320 4f 44 45 3e 46 53 45 54 4c 4f 43 4b 49 4e 47 5f 51 55 45 52 59 0a 20 20 20 20 20 20 20 20 20 3c ODE>FSETLOCKING_QUERY..........<
1340 43 4f 44 45 3e 5f 5f 66 73 65 74 6c 6f 63 6b 69 6e 67 3c 2f 43 4f 44 45 3e 20 6f 6e 6c 79 20 71 CODE>__fsetlocking</CODE>.only.q
1360 75 65 72 69 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 6b 69 6e 67 20 73 74 61 74 65 ueries.the.current.locking.state
1380 20 6f 66 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 .of.the</CODE>.<DD>..........str
13a0 65 61 6d 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 3c eam...The.return.value.will.be.<
13c0 43 4f 44 45 3e 46 53 45 54 4c 4f 43 4b 49 4e 47 5f 49 4e 54 45 52 4e 41 4c 3c 2f 43 4f 44 45 3e CODE>FSETLOCKING_INTERNAL</CODE>
13e0 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 46 53 45 54 4c 4f 43 4b 49 4e 47 5f 42 .or..........<CODE>FSETLOCKING_B
1400 59 43 41 4c 4c 45 52 3c 2f 43 4f 44 45 3e 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 YCALLER</CODE>.depending.on.the.
1420 73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c state...........</DL>..........<
1440 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 br><br>.The.return.value.of.<COD
1460 45 3e 5f 5f 66 73 65 74 6c 6f 63 6b 69 6e 67 3c 2f 43 4f 44 45 3e 20 69 73 20 65 69 74 68 65 72 E>__fsetlocking</CODE>.is.either
1480 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 46 53 45 54 4c 4f 43 4b 49 4e 47 5f 49 4e 54 45 ..........<CODE>FSETLOCKING_INTE
14a0 52 4e 41 4c 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 46 53 45 54 4c 4f 43 4b 49 4e 47 RNAL</CODE>.or.<CODE>FSETLOCKING
14c0 5f 42 59 43 41 4c 4c 45 52 3c 2f 43 4f 44 45 3e 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 0a 20 20 _BYCALLER</CODE>.depending.on...
14e0 20 20 20 20 20 20 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 73 74 72 65 61 6d 20 62 .......the.state.of.the.stream.b
1500 65 66 6f 72 65 20 74 68 65 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 efore.the.call...........<br><br
1520 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 73 20 66 >.This.function.and.the.values.f
1540 6f 72 20 74 68 65 20 3c 56 41 52 3e 74 79 70 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 or.the.<VAR>type</VAR>.parameter
1560 20 61 72 65 20 64 65 63 6c 61 72 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 3c 54 54 3e 73 74 .are.declared..........in.<TT>st
1580 64 69 6f 5f 65 78 74 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 dio_ext.h</TT>..........sq.~....
15a0 00 01 77 04 00 00 00 0a 74 00 0b 73 74 64 69 6f 5f 65 78 74 2e 68 78 71 00 7e 00 45 74 00 16 46 ..w.....t..stdio_ext.hxq.~.Et..F
15c0 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 69 6e 74 20 74 79 70 65 74 00 03 69 6e 74 74 00 0b 5f 5f ILE.*stream,.int.typet..intt..__
15e0 66 77 72 69 74 61 62 6c 65 73 71 00 7e 00 0a 70 74 01 38 0a 20 20 20 20 20 20 20 20 54 68 65 20 fwritablesq.~..pt.8.........The.
1600 3c 43 4f 44 45 3e 5f 5f 66 77 72 69 74 61 62 6c 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f <CODE>__fwritable</CODE>.functio
1620 6e 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 73 74 72 65 61 6d 0a n.determines.whether.the.stream.
1640 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 77 61 73 20 6f .........<VAR>stream</VAR>.was.o
1660 70 65 6e 65 64 20 74 6f 20 61 6c 6c 6f 77 20 77 72 69 74 69 6e 67 2e 20 20 49 6e 20 74 68 69 73 pened.to.allow.writing...In.this
1680 20 63 61 73 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 .case.the.return.value..........
16a0 69 73 20 6e 6f 6e 7a 65 72 6f 2e 20 20 46 6f 72 20 72 65 61 64 2d 6f 6e 6c 79 20 73 74 72 65 61 is.nonzero...For.read-only.strea
16c0 6d 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 2e 0a 20 20 ms.the.function.returns.zero....
16e0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 .......<br><br>.This.function.is
1700 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 69 6f 5f 65 78 74 2e 68 3c 2f 54 54 .declared.in.<TT>stdio_ext.h</TT
1720 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 74 >..........sq.~......w.....t..st
1740 64 69 6f 5f 65 78 74 2e 68 78 71 00 7e 00 4c 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 dio_ext.hxq.~.Lt..FILE.*streamt.
1760 03 69 6e 74 74 00 0a 5f 5f 66 77 72 69 74 69 6e 67 73 71 00 7e 00 0a 70 74 01 36 0a 20 20 20 20 .intt..__fwritingsq.~..pt.6.....
1780 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 5f 5f 66 77 72 69 74 69 6e 67 3c 2f 43 4f 44 45 3e 20 ....The.<CODE>__fwriting</CODE>.
17a0 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 function.determines.whether.the.
17c0 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 stream..........<VAR>stream</VAR
17e0 3e 20 77 61 73 20 6c 61 73 74 20 77 72 69 74 74 65 6e 20 74 6f 20 6f 72 20 77 68 65 74 68 65 72 >.was.last.written.to.or.whether
1800 20 69 74 20 69 73 20 6f 70 65 6e 65 64 20 77 72 69 74 65 2d 6f 6e 6c 79 2e 20 20 49 6e 0a 20 20 .it.is.opened.write-only...In...
1820 20 20 20 20 20 20 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 .......this.case.the.return.valu
1840 65 20 69 73 20 6e 6f 6e 7a 65 72 6f 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 7a 65 e.is.nonzero,.otherwise.it.is.ze
1860 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 ro...........<br><br>.This.funct
1880 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 69 6f 5f 65 78 74 ion.is.declared.in.<TT>stdio_ext
18a0 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 .h</TT>..........sq.~......w....
18c0 0a 74 00 0b 73 74 64 69 6f 5f 65 78 74 2e 68 78 71 00 7e 00 53 74 00 0c 46 49 4c 45 20 2a 73 74 .t..stdio_ext.hxq.~.St..FILE.*st
18e0 72 65 61 6d 74 00 03 69 6e 74 74 00 05 5f 65 78 69 74 73 71 00 7e 00 0a 70 74 01 16 0a 20 20 20 reamt..intt.._exitsq.~..pt......
1900 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 5f 65 78 69 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 .....The.<CODE>_exit</CODE>.func
1920 74 69 6f 6e 20 69 73 20 74 68 65 20 70 72 69 6d 69 74 69 76 65 20 66 6f 72 20 63 61 75 73 69 6e tion.is.the.primitive.for.causin
1940 67 20 61 20 70 72 6f 63 65 73 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 74 g.a.process.to..........terminat
1960 65 20 77 69 74 68 20 73 74 61 74 75 73 20 3c 56 41 52 3e 73 74 61 74 75 73 3c 2f 56 41 52 3e 2e e.with.status.<VAR>status</VAR>.
1980 20 20 43 61 6c 6c 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 ..Calling.this.function.does.not
19a0 0a 20 20 20 20 20 20 20 20 20 65 78 65 63 75 74 65 20 63 6c 65 61 6e 75 70 20 66 75 6e 63 74 69 ..........execute.cleanup.functi
19c0 6f 6e 73 20 72 65 67 69 73 74 65 72 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 61 74 65 78 69 74 ons.registered.with.<CODE>atexit
19e0 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 6e 5f 65 78 69 </CODE>.or..........<CODE>on_exi
1a00 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 t</CODE>..........sq.~......w...
1a20 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 00 5a 74 00 0a 69 6e 74 20 73 74 61 74 75 73 ..t..unistd.hxq.~.Zt..int.status
1a40 74 00 04 76 6f 69 64 74 00 09 5f 66 6c 75 73 68 6c 62 66 73 71 00 7e 00 0a 70 74 00 c2 0a 20 20 t..voidt.._flushlbfsq.~..pt.....
1a60 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 5f 66 6c 75 73 68 6c 62 66 3c 2f 43 4f 44 45 3e ......The.<CODE>_flushlbf</CODE>
1a80 20 66 75 6e 63 74 69 6f 6e 20 66 6c 75 73 68 65 73 20 61 6c 6c 20 6c 69 6e 65 20 62 75 66 66 65 .function.flushes.all.line.buffe
1aa0 72 65 64 20 73 74 72 65 61 6d 73 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 6c 79 20 6f red.streams..........currently.o
1ac0 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 pened...........<br><br>.This.fu
1ae0 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 3c 54 54 3e 73 74 nction.is.declared.in.the.<TT>st
1b00 64 69 6f 5f 65 78 74 2e 68 3c 2f 54 54 3e 20 68 65 61 64 65 72 2e 0a 20 20 20 20 20 20 20 20 73 dio_ext.h</TT>.header..........s
1b20 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 74 64 69 6f 5f 65 78 74 2e 68 78 71 00 q.~......w.....t..stdio_ext.hxq.
1b40 7e 00 61 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 08 5f 74 6f 6c 6f 77 65 72 73 71 00 7e ~.at..voidt..voidt.._tolowersq.~
1b60 00 0a 70 74 00 79 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 69 64 65 6e 74 69 63 61 6c ..pt.y.........This.is.identical
1b80 20 74 6f 20 3c 43 4f 44 45 3e 74 6f 6c 6f 77 65 72 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 69 73 .to.<CODE>tolower</CODE>,.and.is
1ba0 20 70 72 6f 76 69 64 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 20 20 20 20 .provided.for.compatibility.....
1bc0 20 20 20 20 20 77 69 74 68 20 74 68 65 20 53 56 49 44 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 73 .....with.the.SVID.............s
1be0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 00 68 74 q.~......w.....t..ctype.hxq.~.ht
1c00 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 08 5f 74 6f 75 70 70 65 72 73 71 00 7e 00 0a 70 74 ..int.ct..intt.._touppersq.~..pt
1c20 00 76 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 .v.........This.is.identical.to.
1c40 3c 43 4f 44 45 3e 74 6f 75 70 70 65 72 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 69 73 20 70 72 6f <CODE>toupper</CODE>,.and.is.pro
1c60 76 69 64 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 20 20 20 20 20 20 20 20 vided.for.compatibility.........
1c80 20 77 69 74 68 20 74 68 65 20 53 56 49 44 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 .with.the.SVID..........sq.~....
1ca0 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 00 6f 74 00 05 69 6e 74 20 63 ..w.....t..ctype.hxq.~.ot..int.c
1cc0 74 00 03 69 6e 74 74 00 04 61 36 34 6c 73 71 00 7e 00 0a 70 74 02 4e 0a 20 20 20 20 20 20 20 20 t..intt..a64lsq.~..pt.N.........
1ce0 54 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 The.parameter.<VAR>string</VAR>.
1d00 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 61 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 77 61 should.contain.a.string.which.wa
1d20 73 20 70 72 6f 64 75 63 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 61 20 63 61 6c 6c 20 74 6f s.produced.by..........a.call.to
1d40 20 3c 43 4f 44 45 3e 6c 36 34 61 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f .<CODE>l64a</CODE>...The.functio
1d60 6e 20 70 72 6f 63 65 73 73 65 73 20 61 74 20 6c 65 61 73 74 20 36 20 63 68 61 72 61 63 74 65 72 n.processes.at.least.6.character
1d80 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 73 74 72 69 6e 67 2c 20 61 6e 64 20 64 s.of..........this.string,.and.d
1da0 65 63 6f 64 65 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 69 74 20 66 69 6e 64 73 20 61 ecodes.the.characters.it.finds.a
1dc0 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 62 ccording.to.the.table..........b
1de0 65 6c 6f 77 2e 20 20 49 74 20 73 74 6f 70 73 20 64 65 63 6f 64 69 6e 67 20 77 68 65 6e 20 69 74 elow...It.stops.decoding.when.it
1e00 20 66 69 6e 64 73 20 61 20 63 68 61 72 61 63 74 65 72 20 6e 6f 74 20 69 6e 20 74 68 65 20 74 61 .finds.a.character.not.in.the.ta
1e20 62 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 72 61 74 68 65 72 20 6c 69 6b 65 20 3c 43 4f 44 45 3e ble,..........rather.like.<CODE>
1e40 61 74 6f 69 3c 2f 43 4f 44 45 3e 3b 20 69 66 20 79 6f 75 20 68 61 76 65 20 61 20 62 75 66 66 65 atoi</CODE>;.if.you.have.a.buffe
1e60 72 20 77 68 69 63 68 20 68 61 73 20 62 65 65 6e 20 62 72 6f 6b 65 6e 20 69 6e 74 6f 0a 20 20 20 r.which.has.been.broken.into....
1e80 20 20 20 20 20 20 6c 69 6e 65 73 2c 20 79 6f 75 20 6d 75 73 74 20 62 65 20 63 61 72 65 66 75 6c ......lines,.you.must.be.careful
1ea0 20 74 6f 20 73 6b 69 70 20 6f 76 65 72 20 74 68 65 20 65 6e 64 2d 6f 66 2d 6c 69 6e 65 20 63 68 .to.skip.over.the.end-of-line.ch
1ec0 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 aracters...........<br><br>.The.
1ee0 64 65 63 6f 64 65 64 20 6e 75 6d 62 65 72 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 decoded.number.is.returned.as.a.
1f00 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 2e 0a 20 20 20 <CODE>long.int</CODE>.value.....
1f20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 .....sq.~......w.....t..stdlib.h
1f40 78 71 00 7e 00 76 74 00 12 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 74 00 08 6c 6f xq.~.vt..const.char.*stringt..lo
1f60 6e 67 20 69 6e 74 74 00 05 61 62 6f 72 74 73 71 00 7e 00 0a 70 74 01 a0 0a 20 20 20 20 20 20 20 ng.intt..abortsq.~..pt..........
1f80 20 54 68 65 20 3c 43 4f 44 45 3e 61 62 6f 72 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .The.<CODE>abort</CODE>.function
1fa0 20 63 61 75 73 65 73 20 61 62 6e 6f 72 6d 61 6c 20 70 72 6f 67 72 61 6d 20 74 65 72 6d 69 6e 61 .causes.abnormal.program.termina
1fc0 74 69 6f 6e 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 65 78 tion...This..........does.not.ex
1fe0 65 63 75 74 65 20 63 6c 65 61 6e 75 70 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 67 69 73 74 65 72 ecute.cleanup.functions.register
2000 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 61 74 65 78 69 74 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 ed.with.<CODE>atexit</CODE>.or..
2020 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 6e 5f 65 78 69 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 ........<CODE>on_exit</CODE>....
2040 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 63 .......<br><br>.This.function.ac
2060 74 75 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 62 79 tually.terminates.the.process.by
2080 20 72 61 69 73 69 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 53 49 47 41 42 52 .raising.a..........<CODE>SIGABR
20a0 54 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 2c 20 61 6e 64 20 79 6f 75 72 20 70 72 6f 67 72 61 T</CODE>.signal,.and.your.progra
20c0 6d 20 63 61 6e 20 69 6e 63 6c 75 64 65 20 61 20 68 61 6e 64 6c 65 72 20 74 6f 0a 20 20 20 20 20 m.can.include.a.handler.to......
20e0 20 20 20 20 69 6e 74 65 72 63 65 70 74 20 74 68 69 73 20 73 69 67 6e 61 6c 3b 20 73 65 65 20 53 ....intercept.this.signal;.see.S
2100 69 67 6e 61 6c 20 48 61 6e 64 6c 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 ignal.Handling..........sq.~....
2120 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 00 7d 74 00 04 76 6f 69 64 ..w.....t..stdlib.hxq.~.}t..void
2140 74 00 04 76 6f 69 64 74 00 03 61 62 73 73 71 00 7e 00 0a 70 74 02 10 0a 20 20 20 20 20 20 20 20 t..voidt..abssq.~..pt...........
2160 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 61 62 73 6f 6c These.functions.return.the.absol
2180 75 74 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 6e 75 6d 62 65 72 3c 2f 56 41 52 3e 2e 0a ute.value.of.<VAR>number</VAR>..
21a0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4d 6f 73 74 20 63 6f 6d 70 75 74 65 72 73 .........<br><br>.Most.computers
21c0 20 75 73 65 20 61 20 74 77 6f 27 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 69 6e 74 65 67 65 72 20 .use.a.two's.complement.integer.
21e0 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2c 20 69 6e 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 representation,.in.which........
2200 20 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 49 4e ..the.absolute.value.of.<CODE>IN
2220 54 5f 4d 49 4e 3c 2f 43 4f 44 45 3e 20 28 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 T_MIN</CODE>.(the.smallest.possi
2240 62 6c 65 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 29 0a 20 20 20 20 20 20 20 20 20 63 ble.<CODE>int</CODE>)..........c
2260 61 6e 6e 6f 74 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 3b 20 74 68 75 73 2c 20 3c 43 4f 44 annot.be.represented;.thus,.<COD
2280 45 3e 61 62 73 20 28 49 4e 54 5f 4d 49 4e 29 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 64 65 E>abs.(INT_MIN)</CODE>.is.not.de
22a0 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6c fined...........<br><br>.<CODE>l
22c0 6c 61 62 73 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 69 6d 61 78 64 69 76 3c 2f 43 labs</CODE>.and.<CODE>imaxdiv</C
22e0 4f 44 45 3e 20 61 72 65 20 6e 65 77 20 74 6f 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 ODE>.are.new.to.ISO.C99.........
2300 20 20 3c 62 72 3e 3c 62 72 3e 20 53 65 65 20 49 6e 74 65 67 65 72 73 20 66 6f 72 20 61 20 64 65 ..<br><br>.See.Integers.for.a.de
2320 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 69 6e 74 6d 61 78 5f 74 3c scription.of.the.<CODE>intmax_t<
2340 2f 43 4f 44 45 3e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 /CODE>.type...........<br><br>..
2360 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 .......sq.~......w.....t..stdlib
2380 2e 68 78 71 00 7e 00 84 74 00 0a 69 6e 74 20 6e 75 6d 62 65 72 74 00 03 69 6e 74 74 00 06 61 63 .hxq.~..t..int.numbert..intt..ac
23a0 63 65 70 74 73 71 00 7e 00 0a 70 74 08 f6 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 ceptsq.~..pt...........This.func
23c0 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 61 63 63 65 70 74 20 61 20 63 6f 6e 6e 65 63 74 tion.is.used.to.accept.a.connect
23e0 69 6f 6e 20 72 65 71 75 65 73 74 20 6f 6e 20 74 68 65 20 73 65 72 76 65 72 0a 20 20 20 20 20 20 ion.request.on.the.server.......
2400 20 20 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 ...socket.<VAR>socket</VAR>.....
2420 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 61 63 63 65 70 74 3c ......<br><br>.The.<CODE>accept<
2440 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 69 74 73 20 69 66 20 74 68 65 72 65 20 61 /CODE>.function.waits.if.there.a
2460 72 65 20 6e 6f 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 70 65 6e 64 69 6e 67 2c 0a 20 20 20 20 20 re.no.connections.pending,......
2480 20 20 20 20 75 6e 6c 65 73 73 20 74 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 ....unless.the.socket.<VAR>socke
24a0 74 3c 2f 56 41 52 3e 20 68 61 73 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 20 73 65 74 t</VAR>.has.nonblocking.mode.set
24c0 2e 20 20 28 59 6f 75 20 63 61 6e 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 ...(You.can.use..........<CODE>s
24e0 65 6c 65 63 74 3c 2f 43 4f 44 45 3e 20 74 6f 20 77 61 69 74 20 66 6f 72 20 61 20 70 65 6e 64 69 elect</CODE>.to.wait.for.a.pendi
2500 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 77 69 74 68 20 61 20 6e 6f 6e 62 6c 6f 63 6b 69 6e ng.connection,.with.a.nonblockin
2520 67 0a 20 20 20 20 20 20 20 20 20 73 6f 63 6b 65 74 2e 29 20 20 2c 20 66 6f 72 20 69 6e 66 6f 72 g..........socket.)..,.for.infor
2540 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 0a 20 20 20 20 20 20 20 mation.about.nonblocking........
2560 20 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 ..mode...........<br><br>.The.<V
2580 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6c 65 6e 67 74 68 2d 70 74 AR>addr</VAR>.and.<VAR>length-pt
25a0 72 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 72 65 r</VAR>.arguments.are.used.to.re
25c0 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 turn..........information.about.
25e0 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c 69 65 6e 74 20 73 6f 63 6b 65 74 20 74 68 the.name.of.the.client.socket.th
2600 61 74 20 69 6e 69 74 69 61 74 65 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 65 63 at.initiated.the..........connec
2620 74 69 6f 6e 2e 20 20 2c 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 tion...,.for.information.about.t
2640 68 65 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 69 6e 66 6f 72 6d he.format..........of.the.inform
2660 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 63 63 65 70 74 69 ation...........<br><br>.Accepti
2680 6e 67 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 6d 61 6b 65 20 3c 56 ng.a.connection.does.not.make.<V
26a0 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 70 61 72 74 20 6f 66 20 74 68 65 0a 20 20 20 20 AR>socket</VAR>.part.of.the.....
26c0 20 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 20 20 49 6e 73 74 65 61 64 2c 20 69 74 20 63 72 .....connection...Instead,.it.cr
26e0 65 61 74 65 73 20 61 20 6e 65 77 20 73 6f 63 6b 65 74 20 77 68 69 63 68 20 62 65 63 6f 6d 65 73 eates.a.new.socket.which.becomes
2700 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 65 63 74 65 64 2e 20 20 54 68 65 20 6e 6f 72 6d 61 6c ..........connected...The.normal
2720 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 61 63 63 65 70 74 3c 2f 43 .return.value.of.<CODE>accept</C
2740 4f 44 45 3e 20 69 73 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 ODE>.is.the.file..........descri
2760 70 74 6f 72 20 66 6f 72 20 74 68 65 20 6e 65 77 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 ptor.for.the.new.socket.........
2780 20 20 3c 62 72 3e 3c 62 72 3e 20 41 66 74 65 72 20 3c 43 4f 44 45 3e 61 63 63 65 70 74 3c 2f 43 ..<br><br>.After.<CODE>accept</C
27a0 4f 44 45 3e 2c 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 ODE>,.the.original.socket.<VAR>s
27c0 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 72 65 6d 61 69 6e 73 20 6f 70 65 6e 20 61 6e 64 0a 20 20 20 ocket</VAR>.remains.open.and....
27e0 20 20 20 20 20 20 75 6e 63 6f 6e 6e 65 63 74 65 64 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 73 ......unconnected,.and.continues
2800 20 6c 69 73 74 65 6e 69 6e 67 20 75 6e 74 69 6c 20 79 6f 75 20 63 6c 6f 73 65 20 69 74 2e 20 20 .listening.until.you.close.it...
2820 59 6f 75 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 61 63 63 65 70 74 20 66 75 72 74 68 65 72 20 You.can..........accept.further.
2840 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 77 69 74 68 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 connections.with.<VAR>socket</VA
2860 52 3e 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 61 63 63 65 70 74 3c 2f 43 4f 44 45 R>.by.calling.<CODE>accept</CODE
2880 3e 0a 20 20 20 20 20 20 20 20 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c >..........again...........<br><
28a0 62 72 3e 20 49 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 73 2c 20 3c 43 4f 44 45 3e 61 63 br>.If.an.error.occurs,.<CODE>ac
28c0 63 65 70 74 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f cept</CODE>.returns.<CODE>-1</CO
28e0 44 45 3e 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f DE>...The.following..........<CO
2900 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 DE>errno</CODE>.error.conditions
2920 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a .are.defined.for.this.function:.
2940 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 .........<br><br>.<DL>..........
2960 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 .<DT><CODE>EBADF</CODE>.<DD>....
2980 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 61 72 67 75 ......The.<VAR>socket</VAR>.argu
29a0 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 ment.is.not.a.valid.file.descrip
29c0 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 tor...........<br><br>.<DT><CODE
29e0 3e 45 4e 4f 54 53 4f 43 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 >ENOTSOCK</CODE>.<DD>..........T
2a00 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 he.descriptor.<VAR>socket</VAR>.
2a20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 argument.is.not.a.socket........
2a40 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4f 50 4e 4f 54 53 55 50 50 ...<br><br>.<DT><CODE>EOPNOTSUPP
2a60 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 73 63 72 69 </CODE>.<DD>..........The.descri
2a80 70 74 6f 72 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 64 6f 65 73 20 6e 6f 74 20 ptor.<VAR>socket</VAR>.does.not.
2aa0 73 75 70 70 6f 72 74 20 74 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 support.this.operation..........
2ac0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 57 4f 55 4c 44 42 4c 4f 43 4b 3c .<br><br>.<DT><CODE>EWOULDBLOCK<
2ae0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 6f 63 6b 65 74 /CODE>.<DD>..........<VAR>socket
2b00 3c 2f 56 41 52 3e 20 68 61 73 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 20 73 65 74 2c </VAR>.has.nonblocking.mode.set,
2b20 20 61 6e 64 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 .and.there.are.no.pending.......
2b40 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 76 61 69 6c ...connections.immediately.avail
2b60 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 able...........</DL>..........<b
2b80 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 r><br>.This.function.is.defined.
2ba0 61 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 as.a.cancellation.point.in.multi
2bc0 2d 74 68 72 65 61 64 65 64 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2c 20 73 6f 20 -threaded..........programs,.so.
2be0 6f 6e 65 20 68 61 73 20 74 6f 20 62 65 20 70 72 65 70 61 72 65 64 20 66 6f 72 20 74 68 69 73 20 one.has.to.be.prepared.for.this.
2c00 61 6e 64 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f and.make.sure.that..........allo
2c20 63 61 74 65 64 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 69 cated.resources.(like.memory,.fi
2c40 6c 65 73 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 0a 20 les.descriptors,.semaphores.or..
2c60 20 20 20 20 20 20 20 20 77 68 61 74 65 76 65 72 29 20 61 72 65 20 66 72 65 65 64 20 65 76 65 6e ........whatever).are.freed.even
2c80 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 69 73 20 63 61 6e 63 65 6c 65 64 2e 0a 20 20 20 20 .if.the.thread.is.canceled......
2ca0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 ....sq.~......w.....t..sys/socke
2cc0 74 2e 68 78 71 00 7e 00 8b 74 00 38 69 6e 74 20 73 6f 63 6b 65 74 2c 20 73 74 72 75 63 74 20 73 t.hxq.~..t.8int.socket,.struct.s
2ce0 6f 63 6b 61 64 64 72 20 2a 61 64 64 72 2c 20 73 6f 63 6b 6c 65 6e 5f 74 20 2a 6c 65 6e 67 74 68 ockaddr.*addr,.socklen_t.*length
2d00 5f 70 74 72 74 00 03 69 6e 74 74 00 06 61 63 63 65 73 73 73 71 00 7e 00 0a 70 74 05 e8 0a 20 20 _ptrt..intt..accesssq.~..pt.....
2d20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 63 63 65 73 73 3c 2f 43 4f 44 45 3e 20 66 75 ......The.<CODE>access</CODE>.fu
2d40 6e 63 74 69 6f 6e 20 63 68 65 63 6b 73 20 74 6f 20 73 65 65 20 77 68 65 74 68 65 72 20 74 68 65 nction.checks.to.see.whether.the
2d60 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c .file.named.by..........<VAR>fil
2d80 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 69 6e 20 74 ename</VAR>.can.be.accessed.in.t
2da0 68 65 20 77 61 79 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 3c 56 41 52 3e 68 6f 77 he.way.specified.by.the.<VAR>how
2dc0 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 2e 20 20 54 68 65 20 3c </VAR>..........argument...The.<
2de0 56 41 52 3e 68 6f 77 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 65 69 74 68 65 72 20 63 61 VAR>how</VAR>.argument.either.ca
2e00 6e 20 62 65 20 74 68 65 20 62 69 74 77 69 73 65 20 4f 52 20 6f 66 20 74 68 65 0a 20 20 20 20 20 n.be.the.bitwise.OR.of.the......
2e20 20 20 20 20 66 6c 61 67 73 20 3c 43 4f 44 45 3e 52 5f 4f 4b 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f ....flags.<CODE>R_OK</CODE>,.<CO
2e40 44 45 3e 57 5f 4f 4b 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 58 5f 4f 4b 3c 2f 43 4f 44 45 DE>W_OK</CODE>,.<CODE>X_OK</CODE
2e60 3e 2c 20 6f 72 20 74 68 65 20 65 78 69 73 74 65 6e 63 65 20 74 65 73 74 0a 20 20 20 20 20 20 20 >,.or.the.existence.test........
2e80 20 20 3c 43 4f 44 45 3e 46 5f 4f 4b 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ..<CODE>F_OK</CODE>...........<b
2ea0 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 73 20 74 68 65 20 3c 45 r><br>.This.function.uses.the.<E
2ec0 4d 3e 72 65 61 6c 3c 2f 45 4d 3e 20 75 73 65 72 20 61 6e 64 20 67 72 6f 75 70 20 49 44 73 20 6f M>real</EM>.user.and.group.IDs.o
2ee0 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2c 20 f.the.calling..........process,.
2f00 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 3c 45 4d 3e 65 66 66 65 63 74 69 76 65 3c 2f 45 rather.than.the.<EM>effective</E
2f20 4d 3e 20 49 44 73 2c 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 61 63 63 65 73 73 0a 20 20 20 20 M>.IDs,.to.check.for.access.....
2f40 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 41 73 20 61 20 72 65 73 75 6c 74 2c 20 69 .....permission...As.a.result,.i
2f60 66 20 79 6f 75 20 75 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 20 61 20 3c 43 f.you.use.the.function.from.a.<C
2f80 4f 44 45 3e 73 65 74 75 69 64 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 72 20 3c 43 ODE>setuid</CODE>..........or.<C
2fa0 4f 44 45 3e 73 65 74 67 69 64 3c 2f 43 4f 44 45 3e 20 70 72 6f 67 72 61 6d 20 2c 20 69 74 20 67 ODE>setgid</CODE>.program.,.it.g
2fc0 69 76 65 73 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 72 65 6c 61 74 69 ives..........information.relati
2fe0 76 65 20 74 6f 20 74 68 65 20 75 73 65 72 20 77 68 6f 20 61 63 74 75 61 6c 6c 79 20 72 61 6e 20 ve.to.the.user.who.actually.ran.
3000 74 68 65 20 70 72 6f 67 72 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 the.program...........<br><br>.T
3020 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 he.return.value.is.<CODE>0</CODE
3040 3e 20 69 66 20 74 68 65 20 61 63 63 65 73 73 20 69 73 20 70 65 72 6d 69 74 74 65 64 2c 20 61 6e >.if.the.access.is.permitted,.an
3060 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 d.<CODE>-1</CODE>..........other
3080 77 69 73 65 2e 20 20 28 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 74 72 65 61 74 65 64 20 wise...(In.other.words,.treated.
30a0 61 73 20 61 20 70 72 65 64 69 63 61 74 65 20 66 75 6e 63 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 as.a.predicate.function,........
30c0 20 20 3c 43 4f 44 45 3e 61 63 63 65 73 73 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 72 ..<CODE>access</CODE>.returns.tr
30e0 75 65 20 69 66 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 61 63 63 65 73 73 20 69 73 20 3c 45 ue.if.the.requested.access.is.<E
3100 4d 3e 64 65 6e 69 65 64 3c 2f 45 4d 3e 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 M>denied</EM>.)..........<br><br
3120 3e 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 >.In.addition.to.the.usual.file.
3140 6e 61 6d 65 20 65 72 72 6f 72 73 20 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 name.errors.,.the.following.<COD
3160 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 E>errno</CODE>.error.conditions.
3180 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 66 75 are.defined.for..........this.fu
31a0 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a nction:..........<br><br>.<DL>..
31c0 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 3c 2f 43 4f 44 45 3e .........<DT><CODE>EACCES</CODE>
31e0 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 63 63 65 73 73 20 73 70 65 63 69 66 .<DD>..........The.access.specif
3200 69 65 64 20 62 79 20 3c 56 41 52 3e 68 6f 77 3c 2f 56 41 52 3e 20 69 73 20 64 65 6e 69 65 64 2e ied.by.<VAR>how</VAR>.is.denied.
3220 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f ..........<br><br>.<DT><CODE>ENO
3240 45 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6c ENT</CODE>.<DD>..........The.fil
3260 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 e.doesn't.exist...........<br><b
3280 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 4f 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 r>.<DT><CODE>EROFS</CODE>.<DD>..
32a0 20 20 20 20 20 20 20 20 57 72 69 74 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 77 61 73 20 72 65 71 ........Write.permission.was.req
32c0 75 65 73 74 65 64 20 66 6f 72 20 61 20 66 69 6c 65 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 uested.for.a.file.on.a.read-only
32e0 20 66 69 6c 65 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 .file.system...........</DL>....
3300 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 .....sq.~......w.....t..unistd.h
3320 78 71 00 7e 00 92 74 00 1d 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 69 xq.~..t..const.char.*filename,.i
3340 6e 74 20 68 6f 77 74 00 03 69 6e 74 74 00 04 61 63 6f 73 73 71 00 7e 00 0a 70 74 02 2d 0a 20 20 nt.howt..intt..acossq.~..pt.-...
3360 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 ......These.functions.compute.th
3380 65 20 61 72 63 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 e.arc.cosine.of.<VAR>x</VAR>---t
33a0 68 61 74 20 69 73 2c 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 77 68 6f 73 65 hat.is,.the.value..........whose
33c0 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 .cosine.is.<VAR>x</VAR>...The.va
33e0 6c 75 65 20 69 73 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 lue.is.in.units.of.radians......
3400 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 65 72 65 20 61 72 65 20 69 .....Mathematically,.there.are.i
3420 6e 66 69 6e 69 74 65 6c 79 20 6d 61 6e 79 20 73 75 63 68 20 76 61 6c 75 65 73 3b 20 74 68 65 20 nfinitely.many.such.values;.the.
3440 6f 6e 65 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 69 one.actually..........returned.i
3460 73 20 74 68 65 20 6f 6e 65 20 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e s.the.one.between.<CODE>0</CODE>
3480 20 61 6e 64 20 3c 43 4f 44 45 3e 70 69 3c 2f 43 4f 44 45 3e 20 28 69 6e 63 6c 75 73 69 76 65 29 .and.<CODE>pi</CODE>.(inclusive)
34a0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 72 63 20 63 6f 73 69 ...........<br><br>.The.arc.cosi
34c0 6e 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 ne.function.is.defined.mathemati
34e0 63 61 6c 6c 79 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 20 74 68 65 20 64 6f 6d cally.only..........over.the.dom
3500 61 69 6e 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f ain.<CODE>-1</CODE>.to.<CODE>1</
3520 43 4f 44 45 3e 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6f 75 74 73 69 CODE>...If.<VAR>x</VAR>.is.outsi
3540 64 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 6f 6d 61 69 6e 2c 20 3c 43 4f 44 45 3e 61 63 de.the..........domain,.<CODE>ac
3560 6f 73 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 os</CODE>.signals.a.domain.error
3580 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 ..........sq.~......w.....t..mat
35a0 68 2e 68 78 71 00 7e 00 99 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 05 h.hxq.~..t..double.xt..doublet..
35c0 61 63 6f 73 66 73 71 00 7e 00 0a 70 74 02 2d 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 acosfsq.~..pt.-.........These.fu
35e0 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 61 72 63 20 63 6f 73 69 6e 65 20 6f nctions.compute.the.arc.cosine.o
3600 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 20 74 68 65 20 76 61 f.<VAR>x</VAR>---that.is,.the.va
3620 6c 75 65 0a 20 20 20 20 20 20 20 20 20 77 68 6f 73 65 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 lue..........whose.cosine.is.<VA
3640 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 69 6e 20 75 6e 69 74 R>x</VAR>...The.value.is.in.unit
3660 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 s.of.radians...........Mathemati
3680 63 61 6c 6c 79 2c 20 74 68 65 72 65 20 61 72 65 20 69 6e 66 69 6e 69 74 65 6c 79 20 6d 61 6e 79 cally,.there.are.infinitely.many
36a0 20 73 75 63 68 20 76 61 6c 75 65 73 3b 20 74 68 65 20 6f 6e 65 20 61 63 74 75 61 6c 6c 79 0a 20 .such.values;.the.one.actually..
36c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 69 73 20 74 68 65 20 6f 6e 65 20 62 65 74 77 ........returned.is.the.one.betw
36e0 65 65 6e 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 70 69 3c een.<CODE>0</CODE>.and.<CODE>pi<
3700 2f 43 4f 44 45 3e 20 28 69 6e 63 6c 75 73 69 76 65 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 /CODE>.(inclusive)...........<br
3720 3e 3c 62 72 3e 20 54 68 65 20 61 72 63 20 63 6f 73 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 ><br>.The.arc.cosine.function.is
3740 20 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 6f 6e 6c 79 0a 20 20 20 .defined.mathematically.only....
3760 20 20 20 20 20 20 6f 76 65 72 20 74 68 65 20 64 6f 6d 61 69 6e 20 3c 43 4f 44 45 3e 2d 31 3c 2f ......over.the.domain.<CODE>-1</
3780 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 3c 56 41 CODE>.to.<CODE>1</CODE>...If.<VA
37a0 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6f 75 74 73 69 64 65 20 74 68 65 0a 20 20 20 20 20 20 20 R>x</VAR>.is.outside.the........
37c0 20 20 64 6f 6d 61 69 6e 2c 20 3c 43 4f 44 45 3e 61 63 6f 73 3c 2f 43 4f 44 45 3e 20 73 69 67 6e ..domain,.<CODE>acos</CODE>.sign
37e0 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e als.a.domain.error..........sq.~
3800 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 00 a0 74 00 07 66 6c ......w.....t..math.hxq.~..t..fl
3820 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 05 61 63 6f 73 68 73 71 00 7e 00 0a 70 74 00 f6 0a oat.xt..floatt..acoshsq.~..pt...
3840 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 ........These.functions.return.t
3860 68 65 20 69 6e 76 65 72 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 6f 66 20 he.inverse.hyperbolic.cosine.of.
3880 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 <VAR>x</VAR>---the..........valu
38a0 65 20 77 68 6f 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 e.whose.hyperbolic.cosine.is.<VA
38c0 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6c R>x</VAR>...If.<VAR>x</VAR>.is.l
38e0 65 73 73 20 74 68 61 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e ess.than..........<CODE>1</CODE>
3900 2c 20 3c 43 4f 44 45 3e 61 63 6f 73 68 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 ,.<CODE>acosh</CODE>.signals.a.d
3920 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 omain.error..........sq.~......w
3940 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 00 a7 74 00 08 64 6f 75 62 6c 65 20 78 74 .....t..math.hxq.~..t..double.xt
3960 00 06 64 6f 75 62 6c 65 74 00 06 61 63 6f 73 68 66 73 71 00 7e 00 0a 70 74 00 f6 0a 20 20 20 20 ..doublet..acoshfsq.~..pt.......
3980 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 ....These.functions.return.the.i
39a0 6e 76 65 72 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 nverse.hyperbolic.cosine.of.<VAR
39c0 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 >x</VAR>---the..........value.wh
39e0 6f 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 78 3c ose.hyperbolic.cosine.is.<VAR>x<
3a00 2f 56 41 52 3e 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6c 65 73 73 20 /VAR>...If.<VAR>x</VAR>.is.less.
3a20 74 68 61 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2c 20 3c 43 than..........<CODE>1</CODE>,.<C
3a40 4f 44 45 3e 61 63 6f 73 68 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 ODE>acosh</CODE>.signals.a.domai
3a60 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 n.error..........sq.~......w....
3a80 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 00 ae 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f .t..math.hxq.~..t..float.xt..flo
3aa0 61 74 74 00 06 61 63 6f 73 68 6c 73 71 00 7e 00 0a 70 74 00 f6 0a 20 20 20 20 20 20 20 20 54 68 att..acoshlsq.~..pt...........Th
3ac0 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 ese.functions.return.the.inverse
3ae0 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 .hyperbolic.cosine.of.<VAR>x</VA
3b00 52 3e 2d 2d 2d 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f 73 65 20 68 79 R>---the..........value.whose.hy
3b20 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e perbolic.cosine.is.<VAR>x</VAR>.
3b40 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 0a 20 ..If.<VAR>x</VAR>.is.less.than..
3b60 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 61 63 ........<CODE>1</CODE>,.<CODE>ac
3b80 6f 73 68 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f osh</CODE>.signals.a.domain.erro
3ba0 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 r..........sq.~......w.....t..ma
3bc0 74 68 2e 68 78 71 00 7e 00 b5 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e th.hxq.~..t..long.double.xt..lon
3be0 67 20 64 6f 75 62 6c 65 74 00 05 61 63 6f 73 6c 73 71 00 7e 00 0a 70 74 02 2d 0a 20 20 20 20 20 g.doublet..acoslsq.~..pt.-......
3c00 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 61 ...These.functions.compute.the.a
3c20 72 63 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 rc.cosine.of.<VAR>x</VAR>---that
3c40 20 69 73 2c 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 77 68 6f 73 65 20 63 6f .is,.the.value..........whose.co
3c60 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 sine.is.<VAR>x</VAR>...The.value
3c80 20 69 73 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 .is.in.units.of.radians.........
3ca0 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 65 72 65 20 61 72 65 20 69 6e 66 69 ..Mathematically,.there.are.infi
3cc0 6e 69 74 65 6c 79 20 6d 61 6e 79 20 73 75 63 68 20 76 61 6c 75 65 73 3b 20 74 68 65 20 6f 6e 65 nitely.many.such.values;.the.one
3ce0 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 69 73 20 74 .actually..........returned.is.t
3d00 68 65 20 6f 6e 65 20 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 61 6e he.one.between.<CODE>0</CODE>.an
3d20 64 20 3c 43 4f 44 45 3e 70 69 3c 2f 43 4f 44 45 3e 20 28 69 6e 63 6c 75 73 69 76 65 29 2e 0a 20 d.<CODE>pi</CODE>.(inclusive)...
3d40 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 72 63 20 63 6f 73 69 6e 65 20 ........<br><br>.The.arc.cosine.
3d60 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c function.is.defined.mathematical
3d80 6c 79 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 20 74 68 65 20 64 6f 6d 61 69 6e ly.only..........over.the.domain
3da0 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 .<CODE>-1</CODE>.to.<CODE>1</COD
3dc0 45 3e 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6f 75 74 73 69 64 65 20 E>...If.<VAR>x</VAR>.is.outside.
3de0 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 6f 6d 61 69 6e 2c 20 3c 43 4f 44 45 3e 61 63 6f 73 3c the..........domain,.<CODE>acos<
3e00 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 /CODE>.signals.a.domain.error...
3e20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
3e40 78 71 00 7e 00 bc 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f xq.~..t..long.double.xt..long.do
3e60 75 62 6c 65 74 00 09 61 64 64 6d 6e 74 65 6e 74 73 71 00 7e 00 0a 70 74 04 2e 0a 20 20 20 20 20 ublet..addmntentsq.~..pt........
3e80 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 64 64 6d 6e 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 66 75 ...The.<CODE>addmntent</CODE>.fu
3ea0 6e 63 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 61 64 64 69 6e 67 20 61 20 6e 65 77 20 65 6e 74 72 79 nction.allows.adding.a.new.entry
3ec0 20 74 6f 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 70 72 65 76 69 6f 75 73 6c 79 .to.the.file..........previously
3ee0 20 6f 70 65 6e 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 73 65 74 6d 6e 74 65 6e 74 3c 2f 43 4f .opened.with.<CODE>setmntent</CO
3f00 44 45 3e 2e 20 20 54 68 65 20 6e 65 77 20 65 6e 74 72 69 65 73 20 61 72 65 20 61 6c 77 61 79 73 DE>...The.new.entries.are.always
3f20 0a 20 20 20 20 20 20 20 20 20 61 70 70 65 6e 64 65 64 2e 20 20 49 2e 65 2e 2c 20 65 76 65 6e 20 ..........appended...I.e.,.even.
3f40 69 66 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 if.the.position.of.the.file.desc
3f60 72 69 70 74 6f 72 20 69 73 20 6e 6f 74 20 61 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 6e riptor.is.not.at..........the.en
3f80 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 d.of.the.file.this.function.does
3fa0 20 6e 6f 74 20 6f 76 65 72 77 72 69 74 65 20 61 6e 20 65 78 69 73 74 69 6e 67 20 65 6e 74 72 79 .not.overwrite.an.existing.entry
3fc0 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 ..........following.the.current.
3fe0 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 position...........<br><br>.The.
4000 69 6d 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 69 73 20 74 68 61 74 20 74 6f 20 72 implication.of.this.is.that.to.r
4020 65 6d 6f 76 65 20 61 6e 20 65 6e 74 72 79 20 66 72 6f 6d 20 61 20 66 69 6c 65 20 6f 6e 65 20 68 emove.an.entry.from.a.file.one.h
4040 61 73 0a 20 20 20 20 20 20 20 20 20 74 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 66 69 6c 65 as..........to.create.a.new.file
4060 20 77 68 69 6c 65 20 6c 65 61 76 69 6e 67 20 6f 75 74 20 74 68 65 20 65 6e 74 72 79 20 74 6f 20 .while.leaving.out.the.entry.to.
4080 62 65 20 72 65 6d 6f 76 65 64 20 61 6e 64 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 63 6c be.removed.and.after..........cl
40a0 6f 73 69 6e 67 20 74 68 65 20 66 69 6c 65 20 72 65 6d 6f 76 65 20 74 68 65 20 6f 6c 64 20 6f 6e osing.the.file.remove.the.old.on
40c0 65 20 61 6e 64 20 72 65 6e 61 6d 65 20 74 68 65 20 6e 65 77 20 66 69 6c 65 20 74 6f 20 74 68 65 e.and.rename.the.new.file.to.the
40e0 0a 20 20 20 20 20 20 20 20 20 63 68 6f 73 65 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 ..........chosen.name...........
4100 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 63 61 72 <br><br>.This.function.takes.car
4120 65 20 6f 66 20 73 70 61 63 65 73 20 61 6e 64 20 74 61 62 20 63 68 61 72 61 63 74 65 72 73 20 69 e.of.spaces.and.tab.characters.i
4140 6e 20 74 68 65 20 6e 61 6d 65 73 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 74 n.the.names.to.be..........writt
4160 65 6e 20 74 6f 20 74 68 65 20 66 69 6c 65 2e 20 20 49 74 20 63 6f 6e 76 65 72 74 73 20 74 68 65 en.to.the.file...It.converts.the
4180 6d 20 61 6e 64 20 74 68 65 20 62 61 63 6b 73 6c 61 73 68 20 63 68 61 72 61 63 74 65 72 20 69 6e m.and.the.backslash.character.in
41a0 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 6f 72 6d 61 74 20 64 65 73 63 72 69 62 65 20 to..........the.format.describe.
41c0 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 67 65 74 6d 6e 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 64 65 in.the.<CODE>getmntent</CODE>.de
41e0 73 63 72 69 70 74 69 6f 6e 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 scription.above...........<br><b
4200 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 30 20 69 6e 20 63 61 r>.This.function.returns.0.in.ca
4220 73 65 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2e se.the.operation.was.successful.
4240 0a 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 ..........Otherwise.the.return.v
4260 61 6c 75 65 20 69 73 20 31 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e alue.is.1.and.<CODE>errno</CODE>
4280 20 69 73 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e 0a .is.set..........appropriately..
42a0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6d 6e 74 65 6e ........sq.~......w.....t..mnten
42c0 74 2e 68 78 71 00 7e 00 c3 74 00 26 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 6f 6e 73 74 20 t.hxq.~..t.&FILE.*stream,.const.
42e0 73 74 72 75 63 74 20 6d 6e 74 65 6e 74 20 2a 6d 6e 74 74 00 03 69 6e 74 74 00 0b 61 64 64 73 65 struct.mntent.*mntt..intt..addse
4300 76 65 72 69 74 79 73 71 00 7e 00 0a 70 74 05 2f 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 veritysq.~..pt./.........This.fu
4320 6e 63 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 74 68 65 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 20 6f nction.allows.the.introduction.o
4340 66 20 6e 65 77 20 73 65 76 65 72 69 74 79 20 63 6c 61 73 73 65 73 20 77 68 69 63 68 20 63 61 6e f.new.severity.classes.which.can
4360 20 62 65 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 65 64 20 62 79 20 74 68 65 20 3c 56 .be..........addressed.by.the.<V
4380 41 52 3e 73 65 76 65 72 69 74 79 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 6f 66 20 74 AR>severity</VAR>.parameter.of.t
43a0 68 65 20 3c 43 4f 44 45 3e 66 6d 74 6d 73 67 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e he.<CODE>fmtmsg</CODE>.function.
43c0 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 65 76 65 72 69 74 79 3c 2f 56 41 52 ..........The.<VAR>severity</VAR
43e0 3e 20 70 61 72 61 6d 65 74 65 72 20 6f 66 20 3c 43 4f 44 45 3e 61 64 64 73 65 76 65 72 69 74 79 >.parameter.of.<CODE>addseverity
4400 3c 2f 43 4f 44 45 3e 20 6d 75 73 74 20 6d 61 74 63 68 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 </CODE>.must.match.the.value....
4420 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68 20 74 68 65 ......for.the.parameter.with.the
4440 20 73 61 6d 65 20 6e 61 6d 65 20 6f 66 20 3c 43 4f 44 45 3e 66 6d 74 6d 73 67 3c 2f 43 4f 44 45 .same.name.of.<CODE>fmtmsg</CODE
4460 3e 2c 20 61 6e 64 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 >,.and.<VAR>string</VAR>........
4480 20 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 20 70 72 69 6e 74 65 64 20 69 6e 20 74 68 65 20 61 ..is.the.string.printed.in.the.a
44a0 63 74 75 61 6c 20 6d 65 73 73 61 67 65 73 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 6e 75 ctual.messages.instead.of.the.nu
44c0 6d 65 72 69 63 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c meric..........value...........<
44e0 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 73 20 br><br>.If.<VAR>string</VAR>.is.
4500 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 74 68 65 20 73 65 76 65 72 69 74 79 20 63 <CODE>NULL</CODE>.the.severity.c
4520 6c 61 73 73 20 77 69 74 68 20 74 68 65 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 0a 20 20 20 20 lass.with.the.numeric.value.....
4540 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 3c 56 41 52 3e 73 65 76 65 72 69 74 79 3c .....according.to.<VAR>severity<
4560 2f 56 41 52 3e 20 69 73 20 72 65 6d 6f 76 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c /VAR>.is.removed...........<br><
4580 62 72 3e 20 49 74 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 6f 76 65 72 77 72 br>.It.is.not.possible.to.overwr
45a0 69 74 65 20 6f 72 20 72 65 6d 6f 76 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 64 65 66 61 75 6c 74 ite.or.remove.one.of.the.default
45c0 20 73 65 76 65 72 69 74 79 0a 20 20 20 20 20 20 20 20 20 63 6c 61 73 73 65 73 2e 20 20 41 6c 6c .severity..........classes...All
45e0 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 61 64 64 73 65 76 65 72 69 74 79 3c 2f 43 4f 44 .calls.to.<CODE>addseverity</COD
4600 45 3e 20 77 69 74 68 20 3c 56 41 52 3e 73 65 76 65 72 69 74 79 3c 2f 56 41 52 3e 20 73 65 74 20 E>.with.<VAR>severity</VAR>.set.
4620 74 6f 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 76 61 6c 75 65 73 20 66 6f to.one..........of.the.values.fo
4640 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 65 73 20 77 69 6c 6c 20 66 61 69 6c 2e r.the.default.classes.will.fail.
4660 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 ..........<br><br>.The.return.va
4680 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 4d 4d 5f 4f 4b 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 lue.is.<CODE>MM_OK</CODE>.if.the
46a0 20 74 61 73 6b 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 70 65 72 66 6f 72 6d 65 64 .task.was.successfully.performed
46c0 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 ...........If.the.return.value.i
46e0 73 20 3c 43 4f 44 45 3e 4d 4d 5f 4e 4f 54 4f 4b 3c 2f 43 4f 44 45 3e 20 73 6f 6d 65 74 68 69 6e s.<CODE>MM_NOTOK</CODE>.somethin
4700 67 20 77 65 6e 74 20 77 72 6f 6e 67 2e 20 20 54 68 69 73 20 63 6f 75 6c 64 0a 20 20 20 20 20 20 g.went.wrong...This.could.......
4720 20 20 20 6d 65 61 6e 20 74 68 61 74 20 6e 6f 20 6d 6f 72 65 20 6d 65 6d 6f 72 79 20 69 73 20 61 ...mean.that.no.more.memory.is.a
4740 76 61 69 6c 61 62 6c 65 20 6f 72 20 61 20 63 6c 61 73 73 20 69 73 20 6e 6f 74 20 61 76 61 69 6c vailable.or.a.class.is.not.avail
4760 61 62 6c 65 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 69 74 20 68 61 73 20 74 6f 20 62 65 20 able.when..........it.has.to.be.
4780 72 65 6d 6f 76 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 removed...........<br><br>.This.
47a0 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 function.is.not.specified.in.the
47c0 20 58 2f 4f 70 65 6e 20 50 6f 72 74 61 62 69 6c 69 74 79 20 47 75 69 64 65 20 61 6c 74 68 6f 75 .X/Open.Portability.Guide.althou
47e0 67 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 43 4f 44 45 3e 66 6d 74 73 6d 67 3c 2f 43 4f gh..........the.<CODE>fmtsmg</CO
4800 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 2e 20 20 49 74 20 69 73 20 61 76 61 69 6c 61 62 6c DE>.function.is...It.is.availabl
4820 65 20 6f 6e 20 53 79 73 74 65 6d 20 56 20 73 79 73 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 e.on.System.V.systems..........s
4840 71 00 7e 00 0f 00 00 00 00 77 04 00 00 00 0a 78 71 00 7e 00 ca 74 00 20 69 6e 74 20 73 65 76 65 q.~......w.....xq.~..t..int.seve
4860 72 69 74 79 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 74 00 03 69 6e 74 74 00 rity,.const.char.*stringt..intt.
4880 07 61 64 6a 74 69 6d 65 73 71 00 7e 00 0a 70 74 05 7e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 .adjtimesq.~..pt.~.........This.
48a0 66 75 6e 63 74 69 6f 6e 20 73 70 65 65 64 73 20 75 70 20 6f 72 20 73 6c 6f 77 73 20 64 6f 77 6e function.speeds.up.or.slows.down
48c0 20 74 68 65 20 73 79 73 74 65 6d 20 63 6c 6f 63 6b 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 .the.system.clock.in.order.to.ma
48e0 6b 65 0a 20 20 20 20 20 20 20 20 20 61 20 67 72 61 64 75 61 6c 20 61 64 6a 75 73 74 6d 65 6e 74 ke..........a.gradual.adjustment
4900 2e 20 20 54 68 69 73 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 65 6e 64 61 ...This.ensures.that.the.calenda
4920 72 20 74 69 6d 65 20 72 65 70 6f 72 74 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 r.time.reported.by..........the.
4940 73 79 73 74 65 6d 20 63 6c 6f 63 6b 20 69 73 20 61 6c 77 61 79 73 20 6d 6f 6e 6f 74 6f 6e 69 63 system.clock.is.always.monotonic
4960 61 6c 6c 79 20 69 6e 63 72 65 61 73 69 6e 67 2c 20 77 68 69 63 68 20 6d 69 67 68 74 20 6e 6f 74 ally.increasing,.which.might.not
4980 0a 20 20 20 20 20 20 20 20 20 68 61 70 70 65 6e 20 69 66 20 79 6f 75 20 73 69 6d 70 6c 79 20 73 ..........happen.if.you.simply.s
49a0 65 74 20 74 68 65 20 63 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 et.the.clock...........<br><br>.
49c0 54 68 65 20 3c 56 41 52 3e 64 65 6c 74 61 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 70 The.<VAR>delta</VAR>.argument.sp
49e0 65 63 69 66 69 65 73 20 61 20 72 65 6c 61 74 69 76 65 20 61 64 6a 75 73 74 6d 65 6e 74 20 74 6f ecifies.a.relative.adjustment.to
4a00 20 62 65 20 6d 61 64 65 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 6c 6f 63 6b 20 74 .be.made.to..........the.clock.t
4a20 69 6d 65 2e 20 20 49 66 20 6e 65 67 61 74 69 76 65 2c 20 74 68 65 20 73 79 73 74 65 6d 20 63 6c ime...If.negative,.the.system.cl
4a40 6f 63 6b 20 69 73 20 73 6c 6f 77 65 64 20 64 6f 77 6e 20 66 6f 72 20 61 0a 20 20 20 20 20 20 20 ock.is.slowed.down.for.a........
4a60 20 20 77 68 69 6c 65 20 75 6e 74 69 6c 20 69 74 20 68 61 73 20 6c 6f 73 74 20 74 68 69 73 20 6d ..while.until.it.has.lost.this.m
4a80 75 63 68 20 65 6c 61 70 73 65 64 20 74 69 6d 65 2e 20 20 49 66 20 70 6f 73 69 74 69 76 65 2c 20 uch.elapsed.time...If.positive,.
4aa0 74 68 65 20 73 79 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 63 6c 6f 63 6b 20 69 73 20 73 70 65 the.system..........clock.is.spe
4ac0 65 64 65 64 20 75 70 20 66 6f 72 20 61 20 77 68 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 eded.up.for.a.while...........<b
4ae0 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 3c 56 41 52 3e 6f 6c 64 64 65 6c 74 61 3c 2f 56 41 52 r><br>.If.the.<VAR>olddelta</VAR
4b00 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 >.argument.is.not.a.null.pointer
4b20 2c 20 74 68 65 20 3c 43 4f 44 45 3e 61 64 6a 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 ,.the.<CODE>adjtime</CODE>......
4b40 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e ....function.returns.information
4b60 20 61 62 6f 75 74 20 61 6e 79 20 70 72 65 76 69 6f 75 73 20 74 69 6d 65 20 61 64 6a 75 73 74 6d .about.any.previous.time.adjustm
4b80 65 6e 74 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 68 61 73 20 6e 6f 74 20 79 65 74 20 63 6f ent.that..........has.not.yet.co
4ba0 6d 70 6c 65 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 mpleted...........<br><br>.This.
4bc0 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 75 73 65 64 20 74 6f 20 73 79 function.is.typically.used.to.sy
4be0 6e 63 68 72 6f 6e 69 7a 65 20 74 68 65 20 63 6c 6f 63 6b 73 20 6f 66 20 63 6f 6d 70 75 74 65 72 nchronize.the.clocks.of.computer
4c00 73 0a 20 20 20 20 20 20 20 20 20 69 6e 20 61 20 6c 6f 63 61 6c 20 6e 65 74 77 6f 72 6b 2e 20 20 s..........in.a.local.network...
4c20 59 6f 75 20 6d 75 73 74 20 62 65 20 61 20 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 20 74 6f You.must.be.a.privileged.user.to
4c40 20 75 73 65 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 69 74 68 20 .use.it...........<br><br>.With.
4c60 61 20 4c 69 6e 75 78 20 6b 65 72 6e 65 6c 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 a.Linux.kernel,.you.can.use.the.
4c80 3c 43 4f 44 45 3e 61 64 6a 74 69 6d 65 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 74 <CODE>adjtimex</CODE>.function.t
4ca0 6f 0a 20 20 20 20 20 20 20 20 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 63 68 61 6e 67 65 20 74 68 o..........permanently.change.th
4cc0 65 20 63 6c 6f 63 6b 20 73 70 65 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e e.clock.speed...........<br><br>
4ce0 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f .The.return.value.is.<CODE>0</CO
4d00 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 DE>.on.success.and.<CODE>-1</COD
4d20 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c E>.on.failure...The..........fol
4d40 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 lowing.<CODE>errno</CODE>.error.
4d60 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 condition.is.defined.for.this.fu
4d80 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a nction:..........<br><br>.<DL>..
4da0 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a .........<DT><CODE>EPERM</CODE>.
4dc0 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 70 72 <DD>..........You.do.not.have.pr
4de0 69 76 69 6c 65 67 65 20 74 6f 20 73 65 74 20 74 68 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 ivilege.to.set.the.time.........
4e00 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a ..</DL>.........sq.~......w.....
4e20 74 00 0a 73 79 73 2f 74 69 6d 65 2e 68 78 71 00 7e 00 d0 74 00 35 63 6f 6e 73 74 20 73 74 72 75 t..sys/time.hxq.~..t.5const.stru
4e40 63 74 20 74 69 6d 65 76 61 6c 20 2a 64 65 6c 74 61 2c 20 73 74 72 75 63 74 20 74 69 6d 65 76 61 ct.timeval.*delta,.struct.timeva
4e60 6c 20 2a 6f 6c 64 64 65 6c 74 61 74 00 03 69 6e 74 74 00 08 61 64 6a 74 69 6d 65 78 73 71 00 7e l.*olddeltat..intt..adjtimexsq.~
4e80 00 0a 70 74 00 c9 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 61 64 ..pt...........<br><br>.<CODE>ad
4ea0 6a 74 69 6d 65 78 3c 2f 43 4f 44 45 3e 20 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 6c 79 20 69 64 jtimex</CODE>.is.functionally.id
4ec0 65 6e 74 69 63 61 6c 20 74 6f 20 3c 43 4f 44 45 3e 6e 74 70 5f 61 64 6a 74 69 6d 65 3c 2f 43 4f entical.to.<CODE>ntp_adjtime</CO
4ee0 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 DE>......................<br><br
4f00 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 70 72 65 73 65 6e 74 20 6f 6e 6c 79 20 >.This.function.is.present.only.
4f20 77 69 74 68 20 61 20 4c 69 6e 75 78 20 6b 65 72 6e 65 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 with.a.Linux.kernel...........<b
4f40 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 r><br>.........sq.~......w.....t
4f60 00 0b 73 79 73 2f 74 69 6d 65 78 2e 68 78 71 00 7e 00 d7 74 00 13 73 74 72 75 63 74 20 74 69 6d ..sys/timex.hxq.~..t..struct.tim
4f80 65 78 20 2a 74 69 6d 65 78 74 00 03 69 6e 74 74 00 0a 61 69 6f 5f 63 61 6e 63 65 6c 73 71 00 7e ex.*timext..intt..aio_cancelsq.~
4fa0 00 0a 70 74 0a 4a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 63 61 6e ..pt.J.........The.<CODE>aio_can
4fc0 63 65 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 cel</CODE>.function.can.be.used.
4fe0 74 6f 20 63 61 6e 63 65 6c 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 6f to.cancel.one.or.more..........o
5000 75 74 73 74 61 6e 64 69 6e 67 20 72 65 71 75 65 73 74 73 2e 20 20 49 66 20 74 68 65 20 3c 56 41 utstanding.requests...If.the.<VA
5020 52 3e 61 69 6f 63 62 70 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 3c 43 4f 44 R>aiocbp</VAR>.parameter.is.<COD
5040 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 E>NULL</CODE>,.the..........func
5060 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 63 61 6e 63 65 6c 20 61 6c 6c 20 6f 66 20 74 68 65 20 tion.tries.to.cancel.all.of.the.
5080 6f 75 74 73 74 61 6e 64 69 6e 67 20 72 65 71 75 65 73 74 73 20 77 68 69 63 68 20 77 6f 75 6c 64 outstanding.requests.which.would
50a0 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 .process..........the.file.descr
50c0 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 64 65 73 3c 2f 56 41 52 3e 20 28 69 2e 65 2e 2c 20 77 iptor.<VAR>fildes</VAR>.(i.e.,.w
50e0 68 6f 73 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 66 69 6c 64 65 73 3c 2f 43 4f 44 45 3e 20 6d 65 6d hose.<CODE>aio_fildes</CODE>.mem
5100 62 65 72 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 56 41 52 3e 66 69 6c 64 65 73 3c 2f 56 41 52 ber..........is.<VAR>fildes</VAR
5120 3e 29 2e 20 20 49 66 20 3c 56 41 52 3e 61 69 6f 63 62 70 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 >)...If.<VAR>aiocbp</VAR>.is.not
5140 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 61 69 6f 5f 63 61 .<CODE>NULL</CODE>,.<CODE>aio_ca
5160 6e 63 65 6c 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 74 74 65 6d 70 74 73 20 74 6f ncel</CODE>..........attempts.to
5180 20 63 61 6e 63 65 6c 20 74 68 65 20 73 70 65 63 69 66 69 63 20 72 65 71 75 65 73 74 20 70 6f 69 .cancel.the.specific.request.poi
51a0 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 61 69 6f 63 62 70 3c 2f 56 41 52 3e 2e 0a 20 20 nted.to.by.<VAR>aiocbp</VAR>....
51c0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 72 65 71 75 65 73 74 73 20 77 68 69 .......<br><br>.For.requests.whi
51e0 63 68 20 77 65 72 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 61 6e 63 65 6c 65 64 2c 20 74 ch.were.successfully.canceled,.t
5200 68 65 20 6e 6f 72 6d 61 6c 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 he.normal.notification..........
5220 61 62 6f 75 74 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 71 about.the.termination.of.the.req
5240 75 65 73 74 20 73 68 6f 75 6c 64 20 74 61 6b 65 20 70 6c 61 63 65 2e 20 20 49 2e 65 2e 2c 20 64 uest.should.take.place...I.e.,.d
5260 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 3c 43 4f 44 45 3e 73 epending..........on.the.<CODE>s
5280 74 72 75 63 74 20 73 69 67 65 76 65 6e 74 3c 2f 43 4f 44 45 3e 20 6f 62 6a 65 63 74 20 77 68 69 truct.sigevent</CODE>.object.whi
52a0 63 68 20 63 6f 6e 74 72 6f 6c 73 20 74 68 69 73 2c 20 6e 6f 74 68 69 6e 67 0a 20 20 20 20 20 20 ch.controls.this,.nothing.......
52c0 20 20 20 68 61 70 70 65 6e 73 2c 20 61 20 73 69 67 6e 61 6c 20 69 73 20 73 65 6e 74 20 6f 72 20 ...happens,.a.signal.is.sent.or.
52e0 61 20 74 68 72 65 61 64 20 69 73 20 73 74 61 72 74 65 64 2e 20 20 49 66 20 74 68 65 20 72 65 71 a.thread.is.started...If.the.req
5300 75 65 73 74 20 63 61 6e 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 62 65 20 63 61 6e 63 65 6c 65 64 uest.cannot..........be.canceled
5320 2c 20 69 74 20 74 65 72 6d 69 6e 61 74 65 73 20 74 68 65 20 75 73 75 61 6c 20 77 61 79 20 61 66 ,.it.terminates.the.usual.way.af
5340 74 65 72 20 70 65 72 66 6f 72 6d 69 6e 67 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 20 20 ter.performing.the.operation....
5360 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 66 74 65 72 20 61 20 72 65 71 75 65 73 74 20 .......<br><br>.After.a.request.
5380 69 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 61 6e 63 65 6c 65 64 2c 20 61 20 63 61 6c 6c is.successfully.canceled,.a.call
53a0 20 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 77 69 74 68 0a .to.<CODE>aio_error</CODE>.with.
53c0 20 20 20 20 20 20 20 20 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 69 73 20 72 65 71 .........a.reference.to.this.req
53e0 75 65 73 74 20 61 73 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 77 69 6c 6c 20 72 65 74 75 72 uest.as.the.parameter.will.retur
5400 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 43 41 4e 43 45 4c 45 44 3c 2f 43 4f 44 45 n..........<CODE>ECANCELED</CODE
5420 3e 20 61 6e 64 20 61 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 74 75 72 6e >.and.a.call.to.<CODE>aio_return
5440 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 2d 31 2e 0a 20 20 20 20 20 20 20 20 </CODE>.will.return.-1..........
5460 20 49 66 20 74 68 65 20 72 65 71 75 65 73 74 20 77 61 73 6e 27 74 20 63 61 6e 63 65 6c 65 64 20 .If.the.request.wasn't.canceled.
5480 61 6e 64 20 69 73 20 73 74 69 6c 6c 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 65 72 72 6f 72 20 73 and.is.still.running.the.error.s
54a0 74 61 74 75 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 74 69 6c 6c 20 3c 43 4f 44 45 3e 45 49 tatus.is..........still.<CODE>EI
54c0 4e 50 52 4f 47 52 45 53 53 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c NPROGRESS</CODE>...........<br><
54e0 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 75 6e 63 br>.The.return.value.of.the.func
5500 74 69 6f 6e 20 69 73 20 3c 43 4f 44 45 3e 41 49 4f 5f 43 41 4e 43 45 4c 45 44 3c 2f 43 4f 44 45 tion.is.<CODE>AIO_CANCELED</CODE
5520 3e 20 69 66 20 74 68 65 72 65 20 77 65 72 65 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 >.if.there.were..........request
5540 73 20 77 68 69 63 68 20 68 61 76 65 6e 27 74 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 77 s.which.haven't.terminated.and.w
5560 68 69 63 68 20 77 65 72 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 61 6e 63 65 6c 65 64 2e hich.were.successfully.canceled.
5580 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 ..........If.there.is.one.or.mor
55a0 65 20 72 65 71 75 65 73 74 73 20 6c 65 66 74 20 77 68 69 63 68 20 63 6f 75 6c 64 6e 27 74 20 62 e.requests.left.which.couldn't.b
55c0 65 20 63 61 6e 63 65 6c 65 64 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 e.canceled,.the..........return.
55e0 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 41 49 4f 5f 4e 4f 54 43 41 4e 43 45 4c 45 44 3c 2f value.is.<CODE>AIO_NOTCANCELED</
5600 43 4f 44 45 3e 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 CODE>...In.this.case.<CODE>aio_e
5620 72 72 6f 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 73 65 rror</CODE>..........must.be.use
5640 64 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 77 68 69 63 68 20 6f 66 20 74 68 65 2c 20 70 65 72 68 d.to.find.out.which.of.the,.perh
5660 61 70 73 20 6d 75 6c 74 69 70 6c 65 2c 20 72 65 71 75 65 73 74 73 20 28 69 6e 0a 20 20 20 20 20 aps.multiple,.requests.(in......
5680 20 20 20 20 3c 56 41 52 3e 61 69 6f 63 62 70 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 4e ....<VAR>aiocbp</VAR>.is.<CODE>N
56a0 55 4c 4c 3c 2f 43 4f 44 45 3e 29 20 77 65 72 65 6e 27 74 20 73 75 63 63 65 73 73 66 75 6c 6c 79 ULL</CODE>).weren't.successfully
56c0 20 63 61 6e 63 65 6c 65 64 2e 20 20 49 66 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 .canceled...If.all..........requ
56e0 65 73 74 73 20 61 6c 72 65 61 64 79 20 74 65 72 6d 69 6e 61 74 65 64 20 61 74 20 74 68 65 20 74 ests.already.terminated.at.the.t
5700 69 6d 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 63 61 6e 63 65 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 63 ime.<CODE>aio_cancel</CODE>.is.c
5720 61 6c 6c 65 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 alled.the..........return.value.
5740 69 73 20 3c 43 4f 44 45 3e 41 49 4f 5f 41 4c 4c 44 4f 4e 45 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 is.<CODE>AIO_ALLDONE</CODE>.....
5760 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 ......<br><br>.If.an.error.occur
5780 72 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c 43 4f 44 red.during.the.execution.of.<COD
57a0 45 3e 61 69 6f 5f 63 61 6e 63 65 6c 3c 2f 43 4f 44 45 3e 20 74 68 65 0a 20 20 20 20 20 20 20 20 E>aio_cancel</CODE>.the.........
57c0 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 2d 31 20 61 6e 64 20 73 65 74 73 20 3c 43 .function.returns.-1.and.sets.<C
57e0 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 ODE>errno</CODE>.to.one.of.the.f
5800 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 ollowing..........values........
5820 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c ...<br><br>.<DL>...........<DT><
5840 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 CODE>EBADF</CODE>.<DD>..........
5860 54 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 64 65 73 3c The.file.descriptor.<VAR>fildes<
5880 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 /VAR>.is.not.valid...........<DT
58a0 3e 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 ><CODE>ENOSYS</CODE>.<DD>.......
58c0 20 20 20 3c 43 4f 44 45 3e 61 69 6f 5f 63 61 6e 63 65 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f ...<CODE>aio_cancel</CODE>.is.no
58e0 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 t.implemented...........</DL>...
5900 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 .......<br><br>.When.the.sources
5920 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f .are.compiled.with.<CODE>_FILE_O
5940 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 0a 20 20 FFSET_BITS.==.64</CODE>,.this...
5960 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 .......function.is.in.fact.<CODE
5980 3e 61 69 6f 5f 63 61 6e 63 65 6c 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 4c >aio_cancel64</CODE>.since.the.L
59a0 46 53 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 61 72 65 6e FS.interface..........transparen
59c0 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c 65 6d 65 6e tly.replaces.the.normal.implemen
59e0 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a tation..........sq.~......w.....
5a00 74 00 05 61 69 6f 2e 68 78 71 00 7e 00 de 74 00 20 69 6e 74 20 66 69 6c 64 65 73 2c 20 73 74 72 t..aio.hxq.~..t..int.fildes,.str
5a20 75 63 74 20 61 69 6f 63 62 20 2a 61 69 6f 63 62 70 74 00 03 69 6e 74 74 00 0c 61 69 6f 5f 63 61 uct.aiocb.*aiocbpt..intt..aio_ca
5a40 6e 63 65 6c 36 34 73 71 00 7e 00 0a 70 74 01 cc 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 ncel64sq.~..pt...........This.fu
5a60 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 63 nction.is.similar.to.<CODE>aio_c
5a80 61 6e 63 65 6c 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 ancel</CODE>.with.the.only.diffe
5aa0 72 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 rence..........that.the.argument
5ac0 20 69 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 .is.a.reference.to.a.variable.of
5ae0 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 61 69 6f 63 .type.<CODE>struct..........aioc
5b00 62 36 34 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 b64</CODE>...........<br><br>.Wh
5b20 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 en.the.sources.are.compiled.with
5b40 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f .<CODE>_FILE_OFFSET_BITS.==.64</
5b60 43 4f 44 45 3e 2c 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 CODE>,.this..........function.is
5b80 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e .available.under.the.name.<CODE>
5ba0 61 69 6f 5f 63 61 6e 63 65 6c 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 0a 20 20 20 20 20 20 20 aio_cancel</CODE>.and.so........
5bc0 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 69 6e 74 ..transparently.replaces.the.int
5be0 65 72 66 61 63 65 20 66 6f 72 20 73 6d 61 6c 6c 20 66 69 6c 65 73 20 6f 6e 20 33 32 20 62 69 74 erface.for.small.files.on.32.bit
5c00 0a 20 20 20 20 20 20 20 20 20 6d 61 63 68 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e ..........machines..........sq.~
5c20 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 69 6f 2e 68 78 71 00 7e 00 e5 74 00 22 69 6e 74 ......w.....t..aio.hxq.~..t."int
5c40 20 66 69 6c 64 65 73 2c 20 73 74 72 75 63 74 20 61 69 6f 63 62 36 34 20 2a 61 69 6f 63 62 70 74 .fildes,.struct.aiocb64.*aiocbpt
5c60 00 03 69 6e 74 74 00 09 61 69 6f 5f 65 72 72 6f 72 73 71 00 7e 00 0a 70 74 04 61 0a 20 20 20 20 ..intt..aio_errorsq.~..pt.a.....
5c80 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 ....This.function.determines.the
5ca0 20 65 72 72 6f 72 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 20 64 65 73 63 .error.state.of.the.request.desc
5cc0 72 69 62 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 75 ribed.by.the..........<CODE>stru
5ce0 63 74 20 61 69 6f 63 62 3c 2f 43 4f 44 45 3e 20 76 61 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 ct.aiocb</CODE>.variable.pointed
5d00 20 74 6f 20 62 79 20 3c 56 41 52 3e 61 69 6f 63 62 70 3c 2f 56 41 52 3e 2e 20 20 49 66 20 74 68 .to.by.<VAR>aiocbp</VAR>...If.th
5d20 65 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 20 68 61 73 20 6e 6f 74 20 79 65 74 20 74 e..........request.has.not.yet.t
5d40 65 72 6d 69 6e 61 74 65 64 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 20 erminated.the.value.returned.is.
5d60 61 6c 77 61 79 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 49 4e 50 52 4f 47 52 45 53 always..........<CODE>EINPROGRES
5d80 53 3c 2f 43 4f 44 45 3e 2e 20 20 4f 6e 63 65 20 74 68 65 20 72 65 71 75 65 73 74 20 68 61 73 20 S</CODE>...Once.the.request.has.
5da0 74 65 72 6d 69 6e 61 74 65 64 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 43 terminated.the.value..........<C
5dc0 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 69 73 20 ODE>aio_error</CODE>.returns.is.
5de0 65 69 74 68 65 72 20 30 20 69 66 20 74 68 65 20 72 65 71 75 65 73 74 20 63 6f 6d 70 6c 65 74 65 either.0.if.the.request.complete
5e00 64 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 6f 72 20 69 74 20 72 65 d..........successfully.or.it.re
5e20 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 77 68 69 63 68 20 77 6f 75 6c 64 20 62 65 20 73 turns.the.value.which.would.be.s
5e40 74 6f 72 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e tored.in.the..........<CODE>errn
5e60 6f 3c 2f 43 4f 44 45 3e 20 76 61 72 69 61 62 6c 65 20 69 66 20 74 68 65 20 72 65 71 75 65 73 74 o</CODE>.variable.if.the.request
5e80 20 77 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20 64 6f 6e 65 20 75 73 69 6e 67 0a 20 20 20 20 .would.have.been.done.using.....
5ea0 20 20 20 20 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 77 72 .....<CODE>read</CODE>,.<CODE>wr
5ec0 69 74 65 3c 2f 43 4f 44 45 3e 2c 20 6f 72 20 3c 43 4f 44 45 3e 66 73 79 6e 63 3c 2f 43 4f 44 45 ite</CODE>,.or.<CODE>fsync</CODE
5ee0 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f >...........<br><br>.The.functio
5f00 6e 20 63 61 6e 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e n.can.return.<CODE>ENOSYS</CODE>
5f20 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 20 49 74 0a 20 .if.it.is.not.implemented...It..
5f40 20 20 20 20 20 20 20 20 63 6f 75 6c 64 20 61 6c 73 6f 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e ........could.also.return.<CODE>
5f60 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 20 3c 56 41 52 3e 61 69 6f 63 62 70 EINVAL</CODE>.if.the.<VAR>aiocbp
5f80 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 </VAR>.parameter.does.not.......
5fa0 20 20 20 72 65 66 65 72 20 74 6f 20 61 6e 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 6f 70 65 72 ...refer.to.an.asynchronous.oper
5fc0 61 74 69 6f 6e 20 77 68 6f 73 65 20 72 65 74 75 72 6e 20 73 74 61 74 75 73 20 69 73 20 6e 6f 74 ation.whose.return.status.is.not
5fe0 20 79 65 74 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 .yet.known...........<br><br>.Wh
6000 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 en.the.sources.are.compiled.with
6020 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f .<CODE>_FILE_OFFSET_BITS.==.64</
6040 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 CODE>.this..........function.is.
6060 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 36 34 3c 2f 43 4f 44 45 3e in.fact.<CODE>aio_error64</CODE>
6080 20 73 69 6e 63 65 20 74 68 65 20 4c 46 53 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 20 20 .since.the.LFS.interface........
60a0 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6e 6f 72 ..transparently.replaces.the.nor
60c0 6d 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e mal.implementation..........sq.~
60e0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 69 6f 2e 68 78 71 00 7e 00 ec 74 00 1a 63 6f 6e ......w.....t..aio.hxq.~..t..con
6100 73 74 20 73 74 72 75 63 74 20 61 69 6f 63 62 20 2a 61 69 6f 63 62 70 74 00 03 69 6e 74 74 00 0b st.struct.aiocb.*aiocbpt..intt..
6120 61 69 6f 5f 65 72 72 6f 72 36 34 73 71 00 7e 00 0a 70 74 01 c9 0a 20 20 20 20 20 20 20 20 54 68 aio_error64sq.~..pt...........Th
6140 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e is.function.is.similar.to.<CODE>
6160 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 6f 6e 6c 79 20 64 aio_error</CODE>.with.the.only.d
6180 69 66 66 65 72 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 74 68 65 20 61 72 67 75 ifference..........that.the.argu
61a0 6d 65 6e 74 20 69 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 20 76 61 72 69 61 62 6c ment.is.a.reference.to.a.variabl
61c0 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 e.of.type.<CODE>struct..........
61e0 61 69 6f 63 62 36 34 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 aiocb64</CODE>...........<br><br
6200 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 >.When.the.sources.are.compiled.
6220 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 with.<CODE>_FILE_OFFSET_BITS.==.
6240 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 64</CODE>.this..........function
6260 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f .is.available.under.the.name.<CO
6280 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 0a 20 20 20 20 20 DE>aio_error</CODE>.and.so......
62a0 20 20 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 69 ....transparently.replaces.the.i
62c0 6e 74 65 72 66 61 63 65 20 66 6f 72 20 73 6d 61 6c 6c 20 66 69 6c 65 73 20 6f 6e 20 33 32 20 62 nterface.for.small.files.on.32.b
62e0 69 74 0a 20 20 20 20 20 20 20 20 20 6d 61 63 68 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 it..........machines..........sq
6300 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 69 6f 2e 68 78 71 00 7e 00 f3 74 00 1c 63 .~......w.....t..aio.hxq.~..t..c
6320 6f 6e 73 74 20 73 74 72 75 63 74 20 61 69 6f 63 62 36 34 20 2a 61 69 6f 63 62 70 74 00 03 69 6e onst.struct.aiocb64.*aiocbpt..in
6340 74 74 00 09 61 69 6f 5f 66 73 79 6e 63 73 71 00 7e 00 0a 70 74 0a 31 0a 20 20 20 20 20 20 20 20 tt..aio_fsyncsq.~..pt.1.........
6360 43 61 6c 6c 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 63 65 73 20 61 6c 6c Calling.this.function.forces.all
6380 20 49 2f 4f 20 6f 70 65 72 61 74 69 6f 6e 73 20 6f 70 65 72 61 74 69 6e 67 20 71 75 65 75 65 64 .I/O.operations.operating.queued
63a0 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 20 6f 66 20 74 68 65 20 66 75 6e .at.the..........time.of.the.fun
63c0 63 74 69 6f 6e 20 63 61 6c 6c 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 74 68 65 20 66 69 6c 65 ction.call.operating.on.the.file
63e0 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 63 62 .descriptor..........<CODE>aiocb
6400 70 2d 3e 61 69 6f 5f 66 69 6c 64 65 73 3c 2f 43 4f 44 45 3e 20 69 6e 74 6f 20 74 68 65 20 73 79 p->aio_fildes</CODE>.into.the.sy
6420 6e 63 68 72 6f 6e 69 7a 65 64 20 49 2f 4f 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 61 74 65 0a nchronized.I/O.completion.state.
6440 20 20 20 20 20 20 20 20 20 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 66 73 79 6e 63 3c ............The.<CODE>aio_fsync<
6460 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 /CODE>.function.returns.........
6480 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 62 75 74 20 74 68 65 20 6e 6f 74 69 66 69 63 61 74 69 6f .immediately.but.the.notificatio
64a0 6e 20 74 68 72 6f 75 67 68 20 74 68 65 20 6d 65 74 68 6f 64 20 64 65 73 63 72 69 62 65 64 20 69 n.through.the.method.described.i
64c0 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 73 69 67 n..........<CODE>aiocbp->aio_sig
64e0 65 76 65 6e 74 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 68 61 70 70 65 6e 20 6f 6e 6c 79 20 61 66 event</CODE>.will.happen.only.af
6500 74 65 72 20 61 6c 6c 20 72 65 71 75 65 73 74 73 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 20 ter.all.requests.for.this.......
6520 20 20 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 68 61 76 65 20 74 65 72 6d 69 6e 61 74 ...file.descriptor.have.terminat
6540 65 64 20 61 6e 64 20 74 68 65 20 66 69 6c 65 20 69 73 20 73 79 6e 63 68 72 6f 6e 69 7a 65 64 2e ed.and.the.file.is.synchronized.
6560 20 20 54 68 69 73 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 6d 65 61 6e 73 20 74 68 61 74 20 ..This.also..........means.that.
6580 72 65 71 75 65 73 74 73 20 66 6f 72 20 74 68 69 73 20 76 65 72 79 20 73 61 6d 65 20 66 69 6c 65 requests.for.this.very.same.file
65a0 20 64 65 73 63 72 69 70 74 6f 72 20 77 68 69 63 68 20 61 72 65 20 71 75 65 75 65 64 0a 20 20 20 .descriptor.which.are.queued....
65c0 20 20 20 20 20 20 61 66 74 65 72 20 74 68 65 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 ......after.the.synchronization.
65e0 72 65 71 75 65 73 74 20 61 72 65 20 6e 6f 74 20 61 66 66 65 63 74 65 64 2e 0a 20 20 20 20 20 20 request.are.not.affected........
6600 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6f 70 3c 2f 56 41 52 3e 20 69 73 20 ...<br><br>.If.<VAR>op</VAR>.is.
6620 3c 43 4f 44 45 3e 4f 5f 44 53 59 4e 43 3c 2f 43 4f 44 45 3e 20 74 68 65 20 73 79 6e 63 68 72 6f <CODE>O_DSYNC</CODE>.the.synchro
6640 6e 69 7a 61 74 69 6f 6e 20 68 61 70 70 65 6e 73 20 61 73 20 77 69 74 68 20 61 20 63 61 6c 6c 0a nization.happens.as.with.a.call.
6660 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 66 64 61 74 61 73 79 6e 63 3c 2f 43 4f 44 .........to.<CODE>fdatasync</COD
6680 45 3e 2e 20 20 4f 74 68 65 72 77 69 73 65 20 3c 56 41 52 3e 6f 70 3c 2f 56 41 52 3e 20 73 68 6f E>...Otherwise.<VAR>op</VAR>.sho
66a0 75 6c 64 20 62 65 20 3c 43 4f 44 45 3e 4f 5f 53 59 4e 43 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 uld.be.<CODE>O_SYNC</CODE>.and..
66c0 20 20 20 20 20 20 20 20 74 68 65 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 68 61 70 70 ........the.synchronization.happ
66e0 65 6e 73 20 61 73 20 77 69 74 68 20 3c 43 4f 44 45 3e 66 73 79 6e 63 3c 2f 43 4f 44 45 3e 2e 0a ens.as.with.<CODE>fsync</CODE>..
6700 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 .........<br><br>.As.long.as.the
6720 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 68 61 73 20 6e 6f 74 20 68 61 70 70 65 6e 65 .synchronization.has.not.happene
6740 64 2c 20 61 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 5f d,.a.call.to..........<CODE>aio_
6760 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 20 error</CODE>.with.the.reference.
6780 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 to.the.object.pointed.to.by.....
67a0 20 20 20 20 20 3c 56 41 52 3e 61 69 6f 63 62 70 3c 2f 56 41 52 3e 20 72 65 74 75 72 6e 73 20 3c .....<VAR>aiocbp</VAR>.returns.<
67c0 43 4f 44 45 3e 45 49 4e 50 52 4f 47 52 45 53 53 3c 2f 43 4f 44 45 3e 2e 20 20 4f 6e 63 65 20 74 CODE>EINPROGRESS</CODE>...Once.t
67e0 68 65 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 he.synchronization.is..........d
6800 6f 6e 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 one.<CODE>aio_error</CODE>.retur
6820 6e 20 30 20 69 66 20 74 68 65 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 77 61 73 20 6e n.0.if.the.synchronization.was.n
6840 6f 74 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c 2e 20 20 4f 74 68 65 72 77 69 ot..........successful...Otherwi
6860 73 65 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 20 74 68 65 20 76 61 6c se.the.value.returned.is.the.val
6880 75 65 20 74 6f 20 77 68 69 63 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 ue.to.which.the..........<CODE>f
68a0 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 66 64 61 74 61 73 79 6e 63 3c 2f sync</CODE>.or.<CODE>fdatasync</
68c0 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 6f 75 6c 64 20 68 61 76 65 20 73 65 74 20 74 68 CODE>.function.would.have.set.th
68e0 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 e..........<CODE>errno</CODE>.va
6900 72 69 61 62 6c 65 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 6e 6f 74 68 69 6e 67 20 63 61 riable...In.this.case.nothing.ca
6920 6e 20 62 65 20 61 73 73 75 6d 65 64 20 61 62 6f 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 n.be.assumed.about.the..........
6940 63 6f 6e 73 69 73 74 65 6e 63 79 20 66 6f 72 20 74 68 65 20 64 61 74 61 20 77 72 69 74 74 65 6e consistency.for.the.data.written
6960 20 74 6f 20 74 68 69 73 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 .to.this.file.descriptor........
6980 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 ...<br><br>.The.return.value.of.
69a0 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 30 20 69 66 20 74 68 65 20 72 65 71 75 65 73 this.function.is.0.if.the.reques
69c0 74 20 77 61 73 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 65 6e 71 75 t.was..........successfully.enqu
69e0 65 75 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 eued...Otherwise.the.return.valu
6a00 65 20 69 73 20 2d 31 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f e.is.-1.and..........<CODE>errno
6a20 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c </CODE>.is.set.to.one.of.the.fol
6a40 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e lowing.values:..........<br><br>
6a60 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 47 41 49 4e .<DL>...........<DT><CODE>EAGAIN
6a80 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 71 75 65 73 </CODE>.<DD>..........The.reques
6aa0 74 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 65 6e 71 75 65 75 65 64 20 64 75 65 20 74 6f 20 74 t.could.not.be.enqueued.due.to.t
6ac0 65 6d 70 6f 72 61 72 79 20 6c 61 63 6b 20 6f 66 20 72 65 73 6f 75 72 63 65 73 2e 0a 20 20 20 20 emporary.lack.of.resources......
6ae0 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 0a 20 20 20 20 20 20 20 20 20 54 68 .....<DT><CODE>EBADF..........Th
6b00 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e e.file.descriptor.<CODE>aiocbp->
6b20 61 69 6f 5f 66 69 6c 64 65 73 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 20 6f aio_fildes</CODE>.is.not.valid.o
6b40 72 20 6e 6f 74 20 6f 70 65 6e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 r.not.open</CODE>.<DD>..........
6b60 66 6f 72 20 77 72 69 74 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e for.writing...........<DT><CODE>
6b80 45 49 4e 56 41 4c 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 EINVAL..........The.implementati
6ba0 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 49 2f 4f 20 73 79 6e 63 68 72 6f 6e on.does.not.support.I/O.synchron
6bc0 69 7a 61 74 69 6f 6e 20 6f 72 20 74 68 65 20 3c 56 41 52 3e 6f 70 3c 2f 56 41 52 3e 3c 2f 43 4f ization.or.the.<VAR>op</VAR></CO
6be0 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 6f DE>.<DD>..........parameter.is.o
6c00 74 68 65 72 20 74 68 61 6e 20 3c 43 4f 44 45 3e 4f 5f 44 53 59 4e 43 3c 2f 43 4f 44 45 3e 20 61 ther.than.<CODE>O_DSYNC</CODE>.a
6c20 6e 64 20 3c 43 4f 44 45 3e 4f 5f 53 59 4e 43 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 nd.<CODE>O_SYNC</CODE>..........
6c40 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 .<DT><CODE>ENOSYS</CODE>.<DD>...
6c60 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 69 6d 70 6c .......This.function.is.not.impl
6c80 65 6d 65 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 emented...........</DL>.........
6ca0 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 .<br><br>.When.the.sources.are.c
6cc0 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f ompiled.with.<CODE>_FILE_OFFSET_
6ce0 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 BITS.==.64</CODE>.this..........
6d00 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 61 69 6f 5f 66 73 function.is.in.fact.<CODE>aio_fs
6d20 79 6e 63 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 4c 46 53 20 69 6e 74 65 72 ync64</CODE>.since.the.LFS.inter
6d40 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c face..........transparently.repl
6d60 61 63 65 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a aces.the.normal.implementation..
6d80 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 69 6f 2e 68 ........sq.~......w.....t..aio.h
6da0 78 71 00 7e 00 fa 74 00 1c 69 6e 74 20 6f 70 2c 20 73 74 72 75 63 74 20 61 69 6f 63 62 20 2a 61 xq.~..t..int.op,.struct.aiocb.*a
6dc0 69 6f 63 62 70 74 00 03 69 6e 74 74 00 0b 61 69 6f 5f 66 73 79 6e 63 36 34 73 71 00 7e 00 0a 70 iocbpt..intt..aio_fsync64sq.~..p
6de0 74 01 c9 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d t...........This.function.is.sim
6e00 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 66 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 77 ilar.to.<CODE>aio_fsync</CODE>.w
6e20 69 74 68 20 74 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72 65 6e 63 65 0a 20 20 20 20 20 20 20 20 ith.the.only.difference.........
6e40 20 74 68 61 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 72 65 66 65 72 65 6e 63 .that.the.argument.is.a.referenc
6e60 65 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 e.to.a.variable.of.type.<CODE>st
6e80 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 61 69 6f 63 62 36 34 3c 2f 43 4f 44 45 3e 2e 0a 20 20 ruct..........aiocb64</CODE>....
6ea0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 .......<br><br>.When.the.sources
6ec0 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f .are.compiled.with.<CODE>_FILE_O
6ee0 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 FFSET_BITS.==.64</CODE>.this....
6f00 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 ......function.is.available.unde
6f20 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 66 73 79 6e 63 3c 2f 43 4f 44 45 r.the.name.<CODE>aio_fsync</CODE
6f40 3e 20 61 6e 64 20 73 6f 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 >.and.so..........transparently.
6f60 72 65 70 6c 61 63 65 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 73 6d 61 6c 6c replaces.the.interface.for.small
6f80 20 66 69 6c 65 73 20 6f 6e 20 33 32 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 6d 61 63 68 69 6e .files.on.32.bit..........machin
6fa0 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 es..........sq.~......w.....t..a
6fc0 69 6f 2e 68 78 71 00 7e 01 01 74 00 1e 69 6e 74 20 6f 70 2c 20 73 74 72 75 63 74 20 61 69 6f 63 io.hxq.~..t..int.op,.struct.aioc
6fe0 62 36 34 20 2a 61 69 6f 63 62 70 74 00 03 69 6e 74 74 00 08 61 69 6f 5f 69 6e 69 74 73 71 00 7e b64.*aiocbpt..intt..aio_initsq.~
7000 00 0a 70 74 02 eb 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 ..pt...........This.function.mus
7020 74 20 62 65 20 63 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20 6f 74 68 65 72 20 41 49 4f t.be.called.before.any.other.AIO
7040 20 66 75 6e 63 74 69 6f 6e 2e 20 20 43 61 6c 6c 69 6e 67 20 69 74 0a 20 20 20 20 20 20 20 20 20 .function...Calling.it..........
7060 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 76 6f 6c 75 6e 74 61 72 79 2c 20 61 73 20 69 74 20 69 is.completely.voluntary,.as.it.i
7080 73 20 6f 6e 6c 79 20 6d 65 61 6e 74 20 74 6f 20 68 65 6c 70 20 74 68 65 20 41 49 4f 0a 20 20 20 s.only.meant.to.help.the.AIO....
70a0 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 70 65 72 66 6f 72 6d 20 62 65 74 ......implementation.perform.bet
70c0 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 65 66 6f 72 65 20 63 61 ter...........<br><br>.Before.ca
70e0 6c 6c 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 69 6e 69 74 3c 2f 43 4f 44 45 3e 2c lling.the.<CODE>aio_init</CODE>,
7100 20 66 75 6e 63 74 69 6f 6e 20 74 68 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 61 20 76 61 72 69 61 .function.the.members.of.a.varia
7120 62 6c 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 ble.of..........type.<CODE>struc
7140 74 20 61 69 6f 69 6e 69 74 3c 2f 43 4f 44 45 3e 20 6d 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c t.aioinit</CODE>.must.be.initial
7160 69 7a 65 64 2e 20 20 54 68 65 6e 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 0a 20 20 20 20 20 ized...Then.a.reference.to......
7180 20 20 20 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 70 61 73 73 65 64 20 61 73 20 74 ....this.variable.is.passed.as.t
71a0 68 65 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 69 6e 69 74 3c 2f he.parameter.to.<CODE>aio_init</
71c0 43 4f 44 45 3e 20 77 68 69 63 68 20 69 74 73 65 6c 66 0a 20 20 20 20 20 20 20 20 20 6d 61 79 20 CODE>.which.itself..........may.
71e0 6f 72 20 6d 61 79 20 6e 6f 74 20 70 61 79 20 61 74 74 65 6e 74 69 6f 6e 20 74 6f 20 74 68 65 20 or.may.not.pay.attention.to.the.
7200 68 69 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e hints...........<br><br>.The.fun
7220 63 74 69 6f 6e 20 68 61 73 20 6e 6f 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 61 6e 64 20 6e 6f ction.has.no.return.value.and.no
7240 20 65 72 72 6f 72 20 63 61 73 65 73 20 61 72 65 20 64 65 66 69 6e 65 64 2e 20 20 49 74 20 69 73 .error.cases.are.defined...It.is
7260 0a 20 20 20 20 20 20 20 20 20 61 20 65 78 74 65 6e 73 69 6f 6e 20 77 68 69 63 68 20 66 6f 6c 6c ..........a.extension.which.foll
7280 6f 77 73 20 61 20 70 72 6f 70 6f 73 61 6c 20 66 72 6f 6d 20 74 68 65 20 53 47 49 20 69 6d 70 6c ows.a.proposal.from.the.SGI.impl
72a0 65 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 49 72 69 78 20 36 2e 20 20 ementation.in..........Irix.6...
72c0 49 74 20 69 73 20 6e 6f 74 20 63 6f 76 65 72 65 64 20 62 79 20 50 4f 53 49 58 2e 31 62 20 6f 72 It.is.not.covered.by.POSIX.1b.or
72e0 20 55 6e 69 78 39 38 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 .Unix98..........sq.~......w....
7300 0a 74 00 05 61 69 6f 2e 68 78 71 00 7e 01 08 74 00 1a 63 6f 6e 73 74 20 73 74 72 75 63 74 20 61 .t..aio.hxq.~..t..const.struct.a
7320 69 6f 69 6e 69 74 20 2a 69 6e 69 74 74 00 04 76 6f 69 64 74 00 08 61 69 6f 5f 72 65 61 64 73 71 ioinit.*initt..voidt..aio_readsq
7340 00 7e 00 0a 70 74 0d 0b 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 .~..pt...........This.function.i
7360 6e 69 74 69 61 74 65 73 20 61 6e 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 72 65 61 64 20 6f 70 nitiates.an.asynchronous.read.op
7380 65 72 61 74 69 6f 6e 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 69 6d 6d 65 64 69 61 74 65 6c eration...It..........immediatel
73a0 79 20 72 65 74 75 72 6e 73 20 61 66 74 65 72 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 y.returns.after.the.operation.wa
73c0 73 20 65 6e 71 75 65 75 65 64 20 6f 72 20 77 68 65 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 20 65 s.enqueued.or.when.an..........e
73e0 72 72 6f 72 20 77 61 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c rror.was.encountered...........<
7400 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 69 72 73 74 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e br><br>.The.first.<CODE>aiocbp->
7420 61 69 6f 5f 6e 62 79 74 65 73 3c 2f 43 4f 44 45 3e 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 66 aio_nbytes</CODE>.bytes.of.the.f
7440 69 6c 65 20 66 6f 72 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f ile.for.which..........<CODE>aio
7460 63 62 70 2d 3e 61 69 6f 5f 66 69 6c 64 65 73 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 64 65 73 63 cbp->aio_fildes</CODE>.is.a.desc
7480 72 69 70 74 6f 72 20 61 72 65 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 riptor.are.written.to.the.buffer
74a0 0a 20 20 20 20 20 20 20 20 20 73 74 61 72 74 69 6e 67 20 61 74 20 3c 43 4f 44 45 3e 61 69 6f 63 ..........starting.at.<CODE>aioc
74c0 62 70 2d 3e 61 69 6f 5f 62 75 66 3c 2f 43 4f 44 45 3e 2e 20 20 52 65 61 64 69 6e 67 20 73 74 61 bp->aio_buf</CODE>...Reading.sta
74e0 72 74 73 20 61 74 20 74 68 65 20 61 62 73 6f 6c 75 74 65 0a 20 20 20 20 20 20 20 20 20 70 6f 73 rts.at.the.absolute..........pos
7500 69 74 69 6f 6e 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 6f 66 66 73 65 74 3c 2f ition.<CODE>aiocbp->aio_offset</
7520 43 4f 44 45 3e 20 69 6e 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e CODE>.in.the.file...........<br>
7540 3c 62 72 3e 20 49 66 20 70 72 69 6f 72 69 74 69 7a 65 64 20 49 2f 4f 20 69 73 20 73 75 70 70 6f <br>.If.prioritized.I/O.is.suppo
7560 72 74 65 64 20 62 79 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 74 68 65 0a 20 20 20 20 20 20 20 rted.by.the.platform.the........
7580 20 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 72 65 71 70 72 69 6f 3c 2f 43 4f 44 ..<CODE>aiocbp->aio_reqprio</COD
75a0 45 3e 20 76 61 6c 75 65 20 69 73 20 75 73 65 64 20 74 6f 20 61 64 6a 75 73 74 20 74 68 65 20 70 E>.value.is.used.to.adjust.the.p
75c0 72 69 6f 72 69 74 79 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 71 75 riority.before..........the.requ
75e0 65 73 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 65 6e 71 75 65 75 65 64 2e 0a 20 20 20 20 20 20 est.is.actually.enqueued........
7600 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 ...<br><br>.The.calling.process.
7620 69 73 20 6e 6f 74 69 66 69 65 64 20 61 62 6f 75 74 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6f is.notified.about.the.terminatio
7640 6e 20 6f 66 20 74 68 65 20 72 65 61 64 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 20 61 n.of.the.read..........request.a
7660 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 ccording.to.the.<CODE>aiocbp->ai
7680 6f 5f 73 69 67 65 76 65 6e 74 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 o_sigevent</CODE>.value.........
76a0 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 61 64 3c 2f ..<br><br>.When.<CODE>aio_read</
76c0 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 CODE>.returns,.the.return.value.
76e0 69 73 20 7a 65 72 6f 20 69 66 20 6e 6f 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 6f 63 63 is.zero.if.no.error..........occ
7700 75 72 72 65 64 20 74 68 61 74 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 62 65 66 6f 72 65 20 74 urred.that.can.be.found.before.t
7720 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 65 6e 71 75 65 75 65 64 2e 20 20 49 66 20 73 75 63 68 he.process.is.enqueued...If.such
7740 20 61 6e 0a 20 20 20 20 20 20 20 20 20 65 61 72 6c 79 20 65 72 72 6f 72 20 69 73 20 66 6f 75 6e .an..........early.error.is.foun
7760 64 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 2d 31 20 61 6e 64 20 73 d,.the.function.returns.-1.and.s
7780 65 74 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 ets..........<CODE>errno</CODE>.
77a0 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a to.one.of.the.following.values:.
77c0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 .........<br><br>.<DL>..........
77e0 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 47 41 49 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 .<DT><CODE>EAGAIN</CODE>.<DD>...
7800 20 20 20 20 20 20 20 54 68 65 20 72 65 71 75 65 73 74 20 77 61 73 20 6e 6f 74 20 65 6e 71 75 65 .......The.request.was.not.enque
7820 75 65 64 20 64 75 65 20 74 6f 20 28 74 65 6d 70 6f 72 61 72 69 6c 79 29 20 65 78 63 65 65 64 65 ued.due.to.(temporarily).exceede
7840 64 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 20 6c 69 6d 69 74 61 74 69 6f 6e 73 2e d.resource..........limitations.
7860 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 ..........<DT><CODE>ENOSYS</CODE
7880 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 >.<DD>..........The.<CODE>aio_re
78a0 61 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 69 6d 70 6c 65 6d ad</CODE>.function.is.not.implem
78c0 65 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c ented...........<DT><CODE>EBADF<
78e0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 /CODE>.<DD>..........The.<CODE>a
7900 69 6f 63 62 70 2d 3e 61 69 6f 5f 66 69 6c 64 65 73 3c 2f 43 4f 44 45 3e 20 64 65 73 63 72 69 70 iocbp->aio_fildes</CODE>.descrip
7920 74 6f 72 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 20 20 54 68 69 73 20 63 6f 6e 64 69 74 69 6f tor.is.not.valid...This.conditio
7940 6e 0a 20 20 20 20 20 20 20 20 20 6e 65 65 64 20 6e 6f 74 20 62 65 20 72 65 63 6f 67 6e 69 7a 65 n..........need.not.be.recognize
7960 64 20 62 65 66 6f 72 65 20 65 6e 71 75 65 75 65 69 6e 67 20 74 68 65 20 72 65 71 75 65 73 74 20 d.before.enqueueing.the.request.
7980 61 6e 64 20 73 6f 20 74 68 69 73 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 6d 69 67 68 74 and.so.this.error..........might
79a0 20 61 6c 73 6f 20 62 65 20 73 69 67 6e 61 6c 65 64 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 .also.be.signaled.asynchronously
79c0 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 0a 20 20 20 20 ...........<DT><CODE>EINVAL.....
79e0 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 6f 66 66 73 65 .....The.<CODE>aiocbp->aio_offse
7a00 74 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 72 65 t</CODE>.or.<CODE>aiocbp->aio_re
7a20 71 70 69 72 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 20 69 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 qpiro</CODE>.value.is</CODE>.<DD
7a40 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 76 61 6c 69 64 2e 20 20 54 68 69 73 20 63 6f 6e 64 69 74 >..........invalid...This.condit
7a60 69 6f 6e 20 6e 65 65 64 20 6e 6f 74 20 62 65 20 72 65 63 6f 67 6e 69 7a 65 64 20 62 65 66 6f 72 ion.need.not.be.recognized.befor
7a80 65 20 65 6e 71 75 65 75 65 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 e.enqueueing.the..........reques
7aa0 74 20 61 6e 64 20 73 6f 20 74 68 69 73 20 65 72 72 6f 72 20 6d 69 67 68 74 20 61 6c 73 6f 20 62 t.and.so.this.error.might.also.b
7ac0 65 20 73 69 67 6e 61 6c 65 64 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2e 0a 20 20 20 20 20 e.signaled.asynchronously.......
7ae0 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c ....</DL>..........<br><br>.If.<
7b00 43 4f 44 45 3e 61 69 6f 5f 72 65 61 64 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 7a 65 72 CODE>aio_read</CODE>.returns.zer
7b20 6f 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 20 72 65 71 o,.the.current.status.of.the.req
7b40 75 65 73 74 0a 20 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 71 75 65 72 69 65 64 20 75 73 69 uest..........can.be.queried.usi
7b60 6e 67 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 ng.<CODE>aio_error</CODE>.and.<C
7b80 4f 44 45 3e 61 69 6f 5f 72 65 74 75 72 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 2e ODE>aio_return</CODE>.functions.
7ba0 0a 20 20 20 20 20 20 20 20 20 41 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 ..........As.long.as.the.value.r
7bc0 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 eturned.by.<CODE>aio_error</CODE
7be0 3e 20 69 73 20 3c 43 4f 44 45 3e 45 49 4e 50 52 4f 47 52 45 53 53 3c 2f 43 4f 44 45 3e 0a 20 20 >.is.<CODE>EINPROGRESS</CODE>...
7c00 20 20 20 20 20 20 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 68 61 73 20 6e 6f 74 20 79 65 74 .......the.operation.has.not.yet
7c20 20 63 6f 6d 70 6c 65 74 65 64 2e 20 20 49 66 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c .completed...If.<CODE>aio_error<
7c40 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 74 68 /CODE>.returns.zero,..........th
7c60 65 20 6f 70 65 72 61 74 69 6f 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 74 65 72 6d 69 6e 61 e.operation.successfully.termina
7c80 74 65 64 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 74 6f 20 62 ted,.otherwise.the.value.is.to.b
7ca0 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 61 6e 20 65 72 72 e..........interpreted.as.an.err
7cc0 6f 72 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 65 72 6d 69 6e or.code...If.the.function.termin
7ce0 61 74 65 64 2c 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 ated,.the.result.of..........the
7d00 20 6f 70 65 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 64 20 75 73 69 6e 67 .operation.can.be.obtained.using
7d20 20 61 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 74 75 72 6e 3c 2f 43 4f 44 .a.call.to.<CODE>aio_return</COD
7d40 45 3e 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 E>...The..........returned.value
7d60 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 61 6e 20 65 71 75 69 76 61 6c 65 6e 74 20 63 61 .is.the.same.as.an.equivalent.ca
7d80 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 0a 20 20 ll.to.<CODE>read</CODE>.would...
7da0 20 20 20 20 20 20 20 68 61 76 65 20 72 65 74 75 72 6e 65 64 2e 20 20 50 6f 73 73 69 62 6c 65 20 .......have.returned...Possible.
7dc0 65 72 72 6f 72 20 63 6f 64 65 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 61 69 error.codes.returned.by.<CODE>ai
7de0 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 o_error</CODE>.are:..........<br
7e00 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 ><br>.<DL>...........<DT><CODE>E
7e20 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 BADF</CODE>.<DD>..........The.<C
7e40 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 66 69 6c 64 65 73 3c 2f 43 4f 44 45 3e 20 64 65 ODE>aiocbp->aio_fildes</CODE>.de
7e60 73 63 72 69 70 74 6f 72 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 scriptor.is.not.valid...........
7e80 3c 44 54 3e 3c 43 4f 44 45 3e 45 43 41 4e 43 45 4c 45 44 0a 20 20 20 20 20 20 20 20 20 54 68 65 <DT><CODE>ECANCELED..........The
7ea0 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 63 61 6e 63 65 6c 65 64 20 62 65 66 6f 72 65 20 74 .operation.was.canceled.before.t
7ec0 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 66 69 6e 69 73 68 65 64 0a 20 20 20 20 20 20 he.operation.was.finished.......
7ee0 20 20 20 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f ...</CODE>.<DD>..........<DT><CO
7f00 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 DE>EINVAL</CODE>.<DD>..........T
7f20 68 65 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 6f 66 66 73 65 74 3c 2f 43 4f 44 he.<CODE>aiocbp->aio_offset</COD
7f40 45 3e 20 76 61 6c 75 65 20 69 73 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f E>.value.is.invalid...........</
7f60 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 DL>..........<br><br>.When.the.s
7f80 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f ources.are.compiled.with.<CODE>_
7fa0 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 FILE_OFFSET_BITS.==.64</CODE>.th
7fc0 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 is..........function.is.in.fact.
7fe0 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 61 64 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 <CODE>aio_read64</CODE>.since.th
8000 65 20 4c 46 53 20 69 6e 74 65 72 66 61 63 65 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 e.LFS.interface.transparently...
8020 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c 65 .......replaces.the.normal.imple
8040 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 mentation..........sq.~......w..
8060 00 00 0a 74 00 05 61 69 6f 2e 68 78 71 00 7e 01 0f 74 00 14 73 74 72 75 63 74 20 61 69 6f 63 62 ...t..aio.hxq.~..t..struct.aiocb
8080 20 2a 61 69 6f 63 62 70 74 00 03 69 6e 74 74 00 0a 61 69 6f 5f 72 65 61 64 36 34 73 71 00 7e 00 .*aiocbpt..intt..aio_read64sq.~.
80a0 0a 70 74 02 c5 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 .pt...........This.function.is.s
80c0 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 61 64 3c 2f 43 4f imilar.to.the.<CODE>aio_read</CO
80e0 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 DE>.function...The.only.........
8100 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 6f 6e 20 33 32 20 62 69 74 20 6d 61 .difference.is.that.on.32.bit.ma
8120 63 68 69 6e 65 73 2c 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 73 68 6f 75 chines,.the.file.descriptor.shou
8140 6c 64 0a 20 20 20 20 20 20 20 20 20 62 65 20 6f 70 65 6e 65 64 20 69 6e 20 74 68 65 20 6c 61 72 ld..........be.opened.in.the.lar
8160 67 65 20 66 69 6c 65 20 6d 6f 64 65 2e 20 20 49 6e 74 65 72 6e 61 6c 6c 79 2c 20 3c 43 4f 44 45 ge.file.mode...Internally,.<CODE
8180 3e 61 69 6f 5f 72 65 61 64 36 34 3c 2f 43 4f 44 45 3e 20 75 73 65 73 0a 20 20 20 20 20 20 20 20 >aio_read64</CODE>.uses.........
81a0 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f .functionality.equivalent.to.<CO
81c0 44 45 3e 6c 73 65 65 6b 36 34 3c 2f 43 4f 44 45 3e 20 20 74 6f 20 70 6f 73 69 74 69 6f 6e 20 74 DE>lseek64</CODE>..to.position.t
81e0 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 63 6f 72 72 65 63 74 6c 79 20 66 6f 72 he.file.descriptor.correctly.for
8200 20 74 68 65 20 72 65 61 64 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 61 73 20 6f 70 70 6f 73 65 .the.reading,..........as.oppose
8220 64 20 74 6f 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e d.to.<CODE>lseek</CODE>.function
8240 61 6c 69 74 79 20 75 73 65 64 20 69 6e 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 61 64 3c 2f 43 4f ality.used.in.<CODE>aio_read</CO
8260 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 DE>...........<br><br>.When.the.
8280 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e sources.are.compiled.with.<CODE>
82a0 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 2c 20 _FILE_OFFSET_BITS.==.64</CODE>,.
82c0 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 this..........function.is.availa
82e0 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 61 ble.under.the.name.<CODE>aio_rea
8300 64 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 d</CODE>.and.so.transparently...
8320 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 66 6f .......replaces.the.interface.fo
8340 72 20 73 6d 61 6c 6c 20 66 69 6c 65 73 20 6f 6e 20 33 32 20 62 69 74 20 6d 61 63 68 69 6e 65 73 r.small.files.on.32.bit.machines
8360 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 69 6f ..........sq.~......w.....t..aio
8380 2e 68 78 71 00 7e 01 16 74 00 14 73 74 72 75 63 74 20 61 69 6f 63 62 20 2a 61 69 6f 63 62 70 74 .hxq.~..t..struct.aiocb.*aiocbpt
83a0 00 03 69 6e 74 74 00 0a 61 69 6f 5f 72 65 74 75 72 6e 73 71 00 7e 00 0a 70 74 04 b0 0a 20 20 20 ..intt..aio_returnsq.~..pt......
83c0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 .....This.function.can.be.used.t
83e0 6f 20 72 65 74 72 69 65 76 65 20 74 68 65 20 72 65 74 75 72 6e 20 73 74 61 74 75 73 20 6f 66 20 o.retrieve.the.return.status.of.
8400 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 63 61 72 72 69 65 64 20 6f the.operation..........carried.o
8420 75 74 20 62 79 20 74 68 65 20 72 65 71 75 65 73 74 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 ut.by.the.request.described.in.t
8440 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 he.variable.pointed.to.by.......
8460 20 20 20 3c 56 41 52 3e 61 69 6f 63 62 70 3c 2f 56 41 52 3e 2e 20 20 41 73 20 6c 6f 6e 67 20 61 ...<VAR>aiocbp</VAR>...As.long.a
8480 73 20 74 68 65 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 6f 66 20 74 68 69 73 20 72 65 71 75 65 s.the.error.status.of.this.reque
84a0 73 74 20 61 73 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 43 4f 44 45 st.as.returned..........by.<CODE
84c0 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 45 49 4e 50 52 >aio_error</CODE>.is.<CODE>EINPR
84e0 4f 47 52 45 53 53 3c 2f 43 4f 44 45 3e 20 74 68 65 20 72 65 74 75 72 6e 20 6f 66 20 74 68 69 73 OGRESS</CODE>.the.return.of.this
8500 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 75 6e 64 65 66 69 6e 65 64 2e .function.is..........undefined.
8520 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 63 65 20 74 68 65 20 72 65 71 75 ..........<br><br>.Once.the.requ
8540 65 73 74 20 69 73 20 66 69 6e 69 73 68 65 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 est.is.finished.this.function.ca
8560 6e 20 62 65 20 75 73 65 64 20 65 78 61 63 74 6c 79 20 6f 6e 63 65 20 74 6f 0a 20 20 20 20 20 20 n.be.used.exactly.once.to.......
8580 20 20 20 72 65 74 72 69 65 76 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2e 20 20 46 ...retrieve.the.return.value...F
85a0 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 6d 69 67 68 74 20 6c 65 61 64 20 74 6f 20 75 6e 64 ollowing.calls.might.lead.to.und
85c0 65 66 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 62 65 68 61 76 69 6f 72 2e 20 20 54 68 65 20 72 efined..........behavior...The.r
85e0 65 74 75 72 6e 20 76 61 6c 75 65 20 69 74 73 65 6c 66 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 eturn.value.itself.is.the.value.
8600 77 68 69 63 68 20 77 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e 0a 20 20 20 20 20 20 20 20 20 72 which.would.have.been..........r
8620 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e eturned.by.the.<CODE>read</CODE>
8640 2c 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 2c 20 6f 72 20 3c 43 4f 44 45 3e 66 ,.<CODE>write</CODE>,.or.<CODE>f
8660 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c sync</CODE>.call...........<br><
8680 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 72 65 74 75 72 6e 20 3c 43 4f 44 br>.The.function.can.return.<COD
86a0 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 69 6d 70 E>ENOSYS</CODE>.if.it.is.not.imp
86c0 6c 65 6d 65 6e 74 65 64 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 63 6f 75 6c 64 20 61 6c 73 lemented...It..........could.als
86e0 6f 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 20 69 66 20 o.return.<CODE>EINVAL</CODE>.if.
8700 74 68 65 20 3c 56 41 52 3e 61 69 6f 63 62 70 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 the.<VAR>aiocbp</VAR>.parameter.
8720 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 72 65 66 65 72 20 74 6f 20 61 6e 20 61 73 does.not..........refer.to.an.as
8740 79 6e 63 68 72 6f 6e 6f 75 73 20 6f 70 65 72 61 74 69 6f 6e 20 77 68 6f 73 65 20 72 65 74 75 72 ynchronous.operation.whose.retur
8760 6e 20 73 74 61 74 75 73 20 69 73 20 6e 6f 74 20 79 65 74 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 n.status.is.not.yet.known.......
8780 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 ....<br><br>.When.the.sources.ar
87a0 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 e.compiled.with.<CODE>_FILE_OFFS
87c0 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 ET_BITS.==.64</CODE>.this.......
87e0 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 61 69 6f ...function.is.in.fact.<CODE>aio
8800 5f 72 65 74 75 72 6e 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 4c 46 53 20 69 _return64</CODE>.since.the.LFS.i
8820 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 nterface..........transparently.
8840 72 65 70 6c 61 63 65 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 replaces.the.normal.implementati
8860 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 on..........sq.~......w.....t..a
8880 69 6f 2e 68 78 71 00 7e 01 1d 74 00 1a 63 6f 6e 73 74 20 73 74 72 75 63 74 20 61 69 6f 63 62 20 io.hxq.~..t..const.struct.aiocb.
88a0 2a 61 69 6f 63 62 70 74 00 07 73 73 69 7a 65 5f 74 74 00 0c 61 69 6f 5f 72 65 74 75 72 6e 36 34 *aiocbpt..ssize_tt..aio_return64
88c0 73 71 00 7e 00 0a 70 74 01 cb 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e sq.~..pt...........This.function
88e0 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 74 75 72 6e 3c .is.similar.to.<CODE>aio_return<
8900 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72 65 6e 63 65 0a /CODE>.with.the.only.difference.
8920 20 20 20 20 20 20 20 20 20 74 68 61 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 .........that.the.argument.is.a.
8940 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 reference.to.a.variable.of.type.
8960 3c 43 4f 44 45 3e 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 61 69 6f 63 62 36 34 3c 2f 43 <CODE>struct..........aiocb64</C
8980 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 ODE>...........<br><br>.When.the
89a0 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 .sources.are.compiled.with.<CODE
89c0 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 >_FILE_OFFSET_BITS.==.64</CODE>.
89e0 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 this..........function.is.availa
8a00 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 74 ble.under.the.name.<CODE>aio_ret
8a20 75 72 6e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 urn</CODE>.and.so..........trans
8a40 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 parently.replaces.the.interface.
8a60 66 6f 72 20 73 6d 61 6c 6c 20 66 69 6c 65 73 20 6f 6e 20 33 32 20 62 69 74 0a 20 20 20 20 20 20 for.small.files.on.32.bit.......
8a80 20 20 20 6d 61 63 68 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 ...machines..........sq.~......w
8aa0 04 00 00 00 0a 74 00 05 61 69 6f 2e 68 78 71 00 7e 01 24 74 00 1c 63 6f 6e 73 74 20 73 74 72 75 .....t..aio.hxq.~.$t..const.stru
8ac0 63 74 20 61 69 6f 63 62 36 34 20 2a 61 69 6f 63 62 70 74 00 03 69 6e 74 74 00 0b 61 69 6f 5f 73 ct.aiocb64.*aiocbpt..intt..aio_s
8ae0 75 73 70 65 6e 64 73 71 00 7e 00 0a 70 74 07 e3 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 63 61 uspendsq.~..pt...........When.ca
8b00 6c 6c 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 63 61 6c 6c 69 6e 67 lling.this.function,.the.calling
8b20 20 74 68 72 65 61 64 20 69 73 20 73 75 73 70 65 6e 64 65 64 20 75 6e 74 69 6c 20 61 74 0a 20 20 .thread.is.suspended.until.at...
8b40 20 20 20 20 20 20 20 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 73 .......least.one.of.the.requests
8b60 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 3c 56 41 52 3e 6e 65 6e 74 3c 2f 56 41 .pointed.to.by.the.<VAR>nent</VA
8b80 52 3e 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 72 72 61 R>.elements.of.the..........arra
8ba0 79 20 3c 56 41 52 3e 6c 69 73 74 3c 2f 56 41 52 3e 20 68 61 73 20 63 6f 6d 70 6c 65 74 65 64 2e y.<VAR>list</VAR>.has.completed.
8bc0 20 20 49 66 20 61 6e 79 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 73 20 68 61 73 20 61 6c 72 ..If.any.of.the.requests.has.alr
8be0 65 61 64 79 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 64 20 61 74 20 74 68 65 20 74 eady..........completed.at.the.t
8c00 69 6d 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 73 75 73 70 65 6e 64 3c 2f 43 4f 44 45 3e 20 69 73 20 ime.<CODE>aio_suspend</CODE>.is.
8c20 63 61 6c 6c 65 64 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 0a 20 20 20 called,.the.function.returns....
8c40 20 20 20 20 20 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 20 20 57 68 65 74 68 65 72 20 61 20 72 65 ......immediately...Whether.a.re
8c60 71 75 65 73 74 20 68 61 73 20 74 65 72 6d 69 6e 61 74 65 64 20 6f 72 20 6e 6f 74 20 69 73 20 64 quest.has.terminated.or.not.is.d
8c80 65 74 65 72 6d 69 6e 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 70 61 72 69 6e 67 20 etermined.by..........comparing.
8ca0 74 68 65 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 20 the.error.status.of.the.request.
8cc0 77 69 74 68 20 3c 43 4f 44 45 3e 45 49 4e 50 52 4f 47 52 45 53 53 3c 2f 43 4f 44 45 3e 2e 20 20 with.<CODE>EINPROGRESS</CODE>...
8ce0 49 66 0a 20 20 20 20 20 20 20 20 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 3c 56 41 52 3e 6c If..........an.element.of.<VAR>l
8d00 69 73 74 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 2c 20 ist</VAR>.is.<CODE>NULL</CODE>,.
8d20 74 68 65 20 65 6e 74 72 79 20 69 73 20 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 the.entry.is.simply.ignored.....
8d40 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 6e 6f 20 72 65 71 75 65 73 74 20 68 61 73 ......<br><br>.If.no.request.has
8d60 20 66 69 6e 69 73 68 65 64 2c 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 .finished,.the.calling.process.i
8d80 73 20 73 75 73 70 65 6e 64 65 64 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 s.suspended...If..........<VAR>t
8da0 69 6d 65 6f 75 74 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 imeout</VAR>.is.<CODE>NULL</CODE
8dc0 3e 2c 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 77 6f 6b 65 6e 20 75 6e 74 69 >,.the.process.is.not.woken.unti
8de0 6c 20 61 20 72 65 71 75 65 73 74 0a 20 20 20 20 20 20 20 20 20 68 61 73 20 66 69 6e 69 73 68 65 l.a.request..........has.finishe
8e00 64 2e 20 20 49 66 20 3c 56 41 52 3e 74 69 6d 65 6f 75 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 d...If.<VAR>timeout</VAR>.is.not
8e20 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 70 72 6f 63 65 73 73 20 .<CODE>NULL</CODE>,.the.process.
8e40 72 65 6d 61 69 6e 73 0a 20 20 20 20 20 20 20 20 20 73 75 73 70 65 6e 64 65 64 20 61 74 20 6c 65 remains..........suspended.at.le
8e60 61 73 74 20 61 73 20 6c 6f 6e 67 20 61 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 3c 56 41 52 ast.as.long.as.specified.in.<VAR
8e80 3e 74 69 6d 65 6f 75 74 3c 2f 56 41 52 3e 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 0a 20 >timeout</VAR>...In.this.case,..
8ea0 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 5f 73 75 73 70 65 6e 64 3c 2f 43 4f 44 45 3e ........<CODE>aio_suspend</CODE>
8ec0 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 .returns.with.an.error..........
8ee0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 .<br><br>.The.return.value.of.th
8f00 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 30 20 69 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 72 e.function.is.0.if.one.or.more.r
8f20 65 71 75 65 73 74 73 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 74 68 65 20 3c 56 41 52 3e 6c equests..........from.the.<VAR>l
8f40 69 73 74 3c 2f 56 41 52 3e 20 68 61 76 65 20 74 65 72 6d 69 6e 61 74 65 64 2e 20 20 4f 74 68 65 ist</VAR>.have.terminated...Othe
8f60 72 77 69 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 rwise.the.function.returns......
8f80 20 20 20 20 2d 31 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 ....-1.and.<CODE>errno</CODE>.is
8fa0 20 73 65 74 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c .set.to.one.of.the.following.val
8fc0 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 ues:..........<br><br>.<DL>.....
8fe0 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 47 41 49 4e 0a 20 20 20 20 20 20 20 20 20 ......<DT><CODE>EAGAIN..........
9000 4e 6f 6e 65 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 73 20 66 72 6f 6d 20 74 68 65 20 3c 56 None.of.the.requests.from.the.<V
9020 41 52 3e 6c 69 73 74 3c 2f 56 41 52 3e 20 63 6f 6d 70 6c 65 74 65 64 20 69 6e 20 74 68 65 20 74 AR>list</VAR>.completed.in.the.t
9040 69 6d 65 20 73 70 65 63 69 66 69 65 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 ime.specified</CODE>.<DD>.......
9060 20 20 20 62 79 20 3c 56 41 52 3e 74 69 6d 65 6f 75 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 ...by.<VAR>timeout</VAR>........
9080 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ...<DT><CODE>EINTR</CODE>.<DD>..
90a0 20 20 20 20 20 20 20 20 41 20 73 69 67 6e 61 6c 20 69 6e 74 65 72 72 75 70 74 65 64 20 74 68 65 ........A.signal.interrupted.the
90c0 20 3c 43 4f 44 45 3e 61 69 6f 5f 73 75 73 70 65 6e 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 .<CODE>aio_suspend</CODE>.functi
90e0 6f 6e 2e 20 20 54 68 69 73 20 73 69 67 6e 61 6c 20 6d 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 on...This.signal.might..........
9100 61 6c 73 6f 20 62 65 20 73 65 6e 74 20 62 79 20 74 68 65 20 41 49 4f 20 69 6d 70 6c 65 6d 65 6e also.be.sent.by.the.AIO.implemen
9120 74 61 74 69 6f 6e 20 77 68 69 6c 65 20 73 69 67 6e 61 6c 6c 69 6e 67 20 74 68 65 20 74 65 72 6d tation.while.signalling.the.term
9140 69 6e 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 6f 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 72 ination..........of.one.of.the.r
9160 65 71 75 65 73 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 equests...........<DT><CODE>ENOS
9180 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 YS</CODE>.<DD>..........The.<COD
91a0 45 3e 61 69 6f 5f 73 75 73 70 65 6e 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 E>aio_suspend</CODE>.function.is
91c0 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e .not.implemented...........</DL>
91e0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 ..........<br><br>.When.the.sour
9200 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c ces.are.compiled.with.<CODE>_FIL
9220 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a E_OFFSET_BITS.==.64</CODE>.this.
9240 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f .........function.is.in.fact.<CO
9260 44 45 3e 61 69 6f 5f 73 75 73 70 65 6e 64 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 DE>aio_suspend64</CODE>.since.th
9280 65 20 4c 46 53 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 61 e.LFS.interface..........transpa
92a0 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c 65 rently.replaces.the.normal.imple
92c0 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 mentation..........sq.~......w..
92e0 00 00 0a 74 00 05 61 69 6f 2e 68 78 71 00 7e 01 2b 74 00 4a 63 6f 6e 73 74 20 73 74 72 75 63 74 ...t..aio.hxq.~.+t.Jconst.struct
9300 20 61 69 6f 63 62 20 2a 63 6f 6e 73 74 20 6c 69 73 74 5b 5d 2c 20 69 6e 74 20 6e 65 6e 74 2c 20 .aiocb.*const.list[],.int.nent,.
9320 63 6f 6e 73 74 20 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 2a 74 69 6d 65 6f 75 74 74 00 const.struct.timespec.*timeoutt.
9340 03 69 6e 74 74 00 0d 61 69 6f 5f 73 75 73 70 65 6e 64 36 34 73 71 00 7e 00 0a 70 74 01 cd 0a 20 .intt..aio_suspend64sq.~..pt....
9360 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 .......This.function.is.similar.
9380 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 73 75 73 70 65 6e 64 3c 2f 43 4f 44 45 3e 20 77 69 74 68 to.<CODE>aio_suspend</CODE>.with
93a0 20 74 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 74 68 .the.only.difference..........th
93c0 61 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 at.the.argument.is.a.reference.t
93e0 6f 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 o.a.variable.of.type.<CODE>struc
9400 74 0a 20 20 20 20 20 20 20 20 20 61 69 6f 63 62 36 34 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 t..........aiocb64</CODE>.......
9420 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 ....<br><br>.When.the.sources.ar
9440 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 e.compiled.with.<CODE>_FILE_OFFS
9460 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 ET_BITS.==.64</CODE>.this.......
9480 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 ...function.is.available.under.t
94a0 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 73 75 73 70 65 6e 64 3c 2f 43 4f 44 45 3e he.name.<CODE>aio_suspend</CODE>
94c0 20 61 6e 64 20 73 6f 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 .and.so..........transparently.r
94e0 65 70 6c 61 63 65 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 73 6d 61 6c 6c 20 eplaces.the.interface.for.small.
9500 66 69 6c 65 73 20 6f 6e 20 33 32 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 6d 61 63 68 69 6e 65 files.on.32.bit..........machine
9520 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 69 s..........sq.~......w.....t..ai
9540 6f 2e 68 78 71 00 7e 01 32 74 00 4c 63 6f 6e 73 74 20 73 74 72 75 63 74 20 61 69 6f 63 62 36 34 o.hxq.~.2t.Lconst.struct.aiocb64
9560 20 2a 63 6f 6e 73 74 20 6c 69 73 74 5b 5d 2c 20 69 6e 74 20 6e 65 6e 74 2c 20 63 6f 6e 73 74 20 .*const.list[],.int.nent,.const.
9580 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 2a 74 69 6d 65 6f 75 74 74 00 03 69 6e 74 74 00 struct.timespec.*timeoutt..intt.
95a0 09 61 69 6f 5f 77 72 69 74 65 73 71 00 7e 00 0a 70 74 0d 3c 0a 20 20 20 20 20 20 20 20 54 68 69 .aio_writesq.~..pt.<.........Thi
95c0 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 74 65 73 20 61 6e 20 61 73 79 6e 63 68 72 6f s.function.initiates.an.asynchro
95e0 6e 6f 75 73 20 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 2e 20 20 54 68 65 20 66 75 6e 63 74 nous.write.operation...The.funct
9600 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 72 65 ion..........call.immediately.re
9620 74 75 72 6e 73 20 61 66 74 65 72 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 65 6e turns.after.the.operation.was.en
9640 71 75 65 75 65 64 20 6f 72 20 69 66 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 74 68 69 queued.or.if.before..........thi
9660 73 20 68 61 70 70 65 6e 73 20 61 6e 20 65 72 72 6f 72 20 77 61 73 20 65 6e 63 6f 75 6e 74 65 72 s.happens.an.error.was.encounter
9680 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 69 72 73 74 20 ed...........<br><br>.The.first.
96a0 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 6e 62 79 74 65 73 3c 2f 43 4f 44 45 3e 20 <CODE>aiocbp->aio_nbytes</CODE>.
96c0 62 79 74 65 73 20 66 72 6f 6d 20 74 68 65 20 62 75 66 66 65 72 20 73 74 61 72 74 69 6e 67 20 61 bytes.from.the.buffer.starting.a
96e0 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 62 75 66 t..........<CODE>aiocbp->aio_buf
9700 3c 2f 43 4f 44 45 3e 20 61 72 65 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 66 69 6c 65 20 </CODE>.are.written.to.the.file.
9720 66 6f 72 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d for.which..........<CODE>aiocbp-
9740 3e 61 69 6f 5f 66 69 6c 64 65 73 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6e 20 64 65 73 63 72 69 70 >aio_fildes</CODE>.is.an.descrip
9760 74 6f 72 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 74 68 65 20 61 62 73 6f 6c 75 74 65 0a 20 20 tor,.starting.at.the.absolute...
9780 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 .......position.<CODE>aiocbp->ai
97a0 6f 5f 6f 66 66 73 65 74 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 o_offset</CODE>.in.the.file.....
97c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 70 72 69 6f 72 69 74 69 7a 65 64 20 49 2f ......<br><br>.If.prioritized.I/
97e0 4f 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 2c 20 O.is.supported.by.the.platform,.
9800 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 72 the..........<CODE>aiocbp->aio_r
9820 65 71 70 72 69 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 20 69 73 20 75 73 65 64 20 74 6f 20 61 eqprio</CODE>.value.is.used.to.a
9840 64 6a 75 73 74 20 74 68 65 20 70 72 69 6f 72 69 74 79 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 djust.the.priority.before.......
9860 20 20 20 74 68 65 20 72 65 71 75 65 73 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 65 6e 71 75 65 ...the.request.is.actually.enque
9880 75 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 63 61 6c 6c 69 ued...........<br><br>.The.calli
98a0 6e 67 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 69 66 69 65 64 20 61 62 6f 75 74 20 74 68 65 ng.process.is.notified.about.the
98c0 20 74 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 61 64 0a 20 20 20 20 20 20 20 .termination.of.the.read........
98e0 20 20 72 65 71 75 65 73 74 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 ..request.according.to.the.<CODE
9900 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 73 69 67 65 76 65 6e 74 3c 2f 43 4f 44 45 3e 20 76 61 6c >aiocbp->aio_sigevent</CODE>.val
9920 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 3c 43 4f 44 45 ue...........<br><br>.When.<CODE
9940 3e 61 69 6f 5f 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 2c 20 74 68 65 20 72 >aio_write</CODE>.returns,.the.r
9960 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 69 66 20 6e 6f 20 65 72 72 6f 72 0a eturn.value.is.zero.if.no.error.
9980 20 20 20 20 20 20 20 20 20 6f 63 63 75 72 72 65 64 20 74 68 61 74 20 63 61 6e 20 62 65 20 66 6f .........occurred.that.can.be.fo
99a0 75 6e 64 20 62 65 66 6f 72 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 65 6e 71 75 65 75 und.before.the.process.is.enqueu
99c0 65 64 2e 20 20 49 66 20 73 75 63 68 20 61 6e 0a 20 20 20 20 20 20 20 20 20 65 61 72 6c 79 20 65 ed...If.such.an..........early.e
99e0 72 72 6f 72 20 69 73 20 66 6f 75 6e 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 rror.is.found.the.function.retur
9a00 6e 73 20 2d 31 20 61 6e 64 20 73 65 74 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 ns.-1.and.sets..........<CODE>er
9a20 72 6e 6f 3c 2f 43 4f 44 45 3e 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 rno</CODE>.to.one.of.the.followi
9a40 6e 67 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c ng.values...........<br><br>.<DL
9a60 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 47 41 49 4e 3c 2f 43 4f >...........<DT><CODE>EAGAIN</CO
9a80 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 71 75 65 73 74 20 77 61 DE>.<DD>..........The.request.wa
9aa0 73 20 6e 6f 74 20 65 6e 71 75 65 75 65 64 20 64 75 65 20 74 6f 20 28 74 65 6d 70 6f 72 61 72 69 s.not.enqueued.due.to.(temporari
9ac0 6c 79 29 20 65 78 63 65 65 64 65 64 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 20 6c ly).exceeded.resource..........l
9ae0 69 6d 69 74 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 imitations...........<DT><CODE>E
9b00 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c NOSYS</CODE>.<DD>..........The.<
9b20 43 4f 44 45 3e 61 69 6f 5f 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 CODE>aio_write</CODE>.function.i
9b40 73 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e s.not.implemented...........<DT>
9b60 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 <CODE>EBADF</CODE>.<DD>.........
9b80 20 54 68 65 20 3c 43 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 66 69 6c 64 65 73 3c 2f 43 .The.<CODE>aiocbp->aio_fildes</C
9ba0 4f 44 45 3e 20 64 65 73 63 72 69 70 74 6f 72 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 20 20 54 ODE>.descriptor.is.not.valid...T
9bc0 68 69 73 20 63 6f 6e 64 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 6d 61 79 20 6e 6f 74 20 62 his.condition..........may.not.b
9be0 65 20 72 65 63 6f 67 6e 69 7a 65 64 20 62 65 66 6f 72 65 20 65 6e 71 75 65 75 65 69 6e 67 20 74 e.recognized.before.enqueueing.t
9c00 68 65 20 72 65 71 75 65 73 74 2c 20 61 6e 64 20 73 6f 20 74 68 69 73 20 65 72 72 6f 72 0a 20 20 he.request,.and.so.this.error...
9c20 20 20 20 20 20 20 20 6d 69 67 68 74 20 61 6c 73 6f 20 62 65 20 73 69 67 6e 61 6c 65 64 20 61 73 .......might.also.be.signaled.as
9c40 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 ynchronously...........<DT><CODE
9c60 3e 45 49 4e 56 41 4c 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 69 6f 63 62 >EINVAL..........The.<CODE>aiocb
9c80 70 2d 3e 61 69 6f 5f 6f 66 66 73 65 74 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 61 69 p->aio_offset</CODE>.or.<CODE>ai
9ca0 6f 63 62 70 2d 3e 61 69 6f 5f 72 65 71 70 72 69 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 20 69 ocbp->aio_reqprio</CODE>.value.i
9cc0 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 76 61 6c 69 64 2e 20 s</CODE>.<DD>..........invalid..
9ce0 20 54 68 69 73 20 63 6f 6e 64 69 74 69 6f 6e 20 6d 61 79 20 6e 6f 74 20 62 65 20 72 65 63 6f 67 .This.condition.may.not.be.recog
9d00 6e 69 7a 65 64 20 62 65 66 6f 72 65 20 65 6e 71 75 65 75 65 69 6e 67 20 74 68 65 0a 20 20 20 20 nized.before.enqueueing.the.....
9d20 20 20 20 20 20 72 65 71 75 65 73 74 20 61 6e 64 20 73 6f 20 74 68 69 73 20 65 72 72 6f 72 20 6d .....request.and.so.this.error.m
9d40 69 67 68 74 20 61 6c 73 6f 20 62 65 20 73 69 67 6e 61 6c 65 64 20 61 73 79 6e 63 68 72 6f 6e 6f ight.also.be.signaled.asynchrono
9d60 75 73 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 usly...........</DL>..........<b
9d80 72 3e 3c 62 72 3e 20 49 6e 20 74 68 65 20 63 61 73 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 77 72 69 r><br>.In.the.case.<CODE>aio_wri
9da0 74 65 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 2c 20 74 68 65 20 63 75 72 72 te</CODE>.returns.zero,.the.curr
9dc0 65 6e 74 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 65 ent.status.of.the..........reque
9de0 73 74 20 63 61 6e 20 62 65 20 71 75 65 72 69 65 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 61 69 st.can.be.queried.using.<CODE>ai
9e00 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 74 o_error</CODE>.and.<CODE>aio_ret
9e20 75 72 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 urn</CODE>..........functions...
9e40 41 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 As.long.as.the.value.returned.by
9e60 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 .<CODE>aio_error</CODE>.is......
9e80 20 20 20 20 3c 43 4f 44 45 3e 45 49 4e 50 52 4f 47 52 45 53 53 3c 2f 43 4f 44 45 3e 20 74 68 65 ....<CODE>EINPROGRESS</CODE>.the
9ea0 20 6f 70 65 72 61 74 69 6f 6e 20 68 61 73 20 6e 6f 74 20 79 65 74 20 63 6f 6d 70 6c 65 74 65 64 .operation.has.not.yet.completed
9ec0 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f ...If..........<CODE>aio_error</
9ee0 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 2c 20 74 68 65 20 6f 70 65 72 61 74 69 6f CODE>.returns.zero,.the.operatio
9f00 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 64 2c 0a 20 20 20 20 20 n.successfully.terminated,......
9f20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 74 6f 20 62 65 ....otherwise.the.value.is.to.be
9f40 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 2e 20 20 .interpreted.as.an.error.code...
9f60 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 65 72 6d 69 6e 61 If.the..........function.termina
9f80 74 65 64 2c 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e ted,.the.result.of.the.operation
9fa0 20 63 61 6e 20 62 65 20 67 65 74 20 75 73 69 6e 67 20 61 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 .can.be.get.using.a.call........
9fc0 20 20 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 74 75 72 6e 3c 2f 43 4f 44 45 3e 2e 20 20 54 ..to.<CODE>aio_return</CODE>...T
9fe0 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 he.returned.value.is.the.same.as
a000 20 61 6e 20 65 71 75 69 76 61 6c 65 6e 74 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 74 6f 20 .an.equivalent..........call.to.
a020 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 20 68 61 76 65 20 72 65 74 <CODE>read</CODE>.would.have.ret
a040 75 72 6e 65 64 2e 20 20 50 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 73 20 72 65 74 urned...Possible.error.codes.ret
a060 75 72 6e 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f urned..........by.<CODE>aio_erro
a080 72 3c 2f 43 4f 44 45 3e 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 r</CODE>.are:..........<br><br>.
a0a0 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f <DL>...........<DT><CODE>EBADF</
a0c0 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 69 CODE>.<DD>..........The.<CODE>ai
a0e0 6f 63 62 70 2d 3e 61 69 6f 5f 66 69 6c 64 65 73 3c 2f 43 4f 44 45 3e 20 64 65 73 63 72 69 70 74 ocbp->aio_fildes</CODE>.descript
a100 6f 72 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 or.is.not.valid...........<DT><C
a120 4f 44 45 3e 45 43 41 4e 43 45 4c 45 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 ODE>ECANCELED</CODE>.<DD>.......
a140 20 20 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 63 61 6e 63 65 6c 65 64 20 62 65 ...The.operation.was.canceled.be
a160 66 6f 72 65 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 66 69 6e 69 73 68 65 64 2e fore.the.operation.was.finished.
a180 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 ....................<DT><CODE>EI
a1a0 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 NVAL</CODE>.<DD>..........The.<C
a1c0 4f 44 45 3e 61 69 6f 63 62 70 2d 3e 61 69 6f 5f 6f 66 66 73 65 74 3c 2f 43 4f 44 45 3e 20 76 61 ODE>aiocbp->aio_offset</CODE>.va
a1e0 6c 75 65 20 69 73 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 lue.is.invalid...........</DL>..
a200 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 ........<br><br>.When.the.source
a220 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f s.are.compiled.with.<CODE>_FILE_
a240 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 0a 20 OFFSET_BITS.==.64</CODE>,.this..
a260 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 ........function.is.in.fact.<COD
a280 45 3e 61 69 6f 5f 77 72 69 74 65 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 4c E>aio_write64</CODE>.since.the.L
a2a0 46 53 20 69 6e 74 65 72 66 61 63 65 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 20 20 20 FS.interface.transparently......
a2c0 20 20 20 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c 65 6d 65 6e ....replaces.the.normal.implemen
a2e0 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a tation..........sq.~......w.....
a300 74 00 05 61 69 6f 2e 68 78 71 00 7e 01 39 74 00 14 73 74 72 75 63 74 20 61 69 6f 63 62 20 2a 61 t..aio.hxq.~.9t..struct.aiocb.*a
a320 69 6f 63 62 70 74 00 03 69 6e 74 74 00 0b 61 69 6f 5f 77 72 69 74 65 36 34 73 71 00 7e 00 0a 70 iocbpt..intt..aio_write64sq.~..p
a340 74 02 c7 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d t...........This.function.is.sim
a360 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 77 72 69 74 65 3c 2f 43 4f 44 ilar.to.the.<CODE>aio_write</COD
a380 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 E>.function...The.only..........
a3a0 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 6f 6e 20 33 32 20 62 69 74 20 6d 61 63 difference.is.that.on.32.bit.mac
a3c0 68 69 6e 65 73 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 73 68 6f 75 6c 64 hines.the.file.descriptor.should
a3e0 0a 20 20 20 20 20 20 20 20 20 62 65 20 6f 70 65 6e 65 64 20 69 6e 20 74 68 65 20 6c 61 72 67 65 ..........be.opened.in.the.large
a400 20 66 69 6c 65 20 6d 6f 64 65 2e 20 20 49 6e 74 65 72 6e 61 6c 6c 79 20 3c 43 4f 44 45 3e 61 69 .file.mode...Internally.<CODE>ai
a420 6f 5f 77 72 69 74 65 36 34 3c 2f 43 4f 44 45 3e 20 75 73 65 73 0a 20 20 20 20 20 20 20 20 20 66 o_write64</CODE>.uses..........f
a440 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 unctionality.equivalent.to.<CODE
a460 3e 6c 73 65 65 6b 36 34 3c 2f 43 4f 44 45 3e 20 20 74 6f 20 70 6f 73 69 74 69 6f 6e 20 74 68 65 >lseek64</CODE>..to.position.the
a480 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 63 6f 72 72 65 63 74 6c 79 20 66 6f 72 20 74 .file.descriptor.correctly.for.t
a4a0 68 65 20 77 72 69 74 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 61 73 20 6f 70 70 6f 73 65 64 20 he.writing,..........as.opposed.
a4c0 74 6f 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 61 6c to.<CODE>lseek</CODE>.functional
a4e0 69 74 79 20 75 73 65 64 20 69 6e 20 3c 43 4f 44 45 3e 61 69 6f 5f 77 72 69 74 65 3c 2f 43 4f 44 ity.used.in.<CODE>aio_write</COD
a500 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 E>...........<br><br>.When.the.s
a520 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f ources.are.compiled.with.<CODE>_
a540 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 2c 20 74 FILE_OFFSET_BITS.==.64</CODE>,.t
a560 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 his..........function.is.availab
a580 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 77 72 69 74 le.under.the.name.<CODE>aio_writ
a5a0 65 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 e</CODE>.and.so.transparently...
a5c0 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 66 6f .......replaces.the.interface.fo
a5e0 72 20 73 6d 61 6c 6c 20 66 69 6c 65 73 20 6f 6e 20 33 32 20 62 69 74 20 6d 61 63 68 69 6e 65 73 r.small.files.on.32.bit.machines
a600 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 69 6f ..........sq.~......w.....t..aio
a620 2e 68 78 71 00 7e 01 40 74 00 14 73 74 72 75 63 74 20 61 69 6f 63 62 20 2a 61 69 6f 63 62 70 74 .hxq.~.@t..struct.aiocb.*aiocbpt
a640 00 03 69 6e 74 74 00 05 61 6c 61 72 6d 73 71 00 7e 00 0a 70 74 01 db 0a 20 20 20 20 20 20 20 20 ..intt..alarmsq.~..pt...........
a660 54 68 65 20 3c 43 4f 44 45 3e 61 6c 61 72 6d 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 The.<CODE>alarm</CODE>.function.
a680 73 65 74 73 20 74 68 65 20 72 65 61 6c 2d 74 69 6d 65 20 74 69 6d 65 72 20 74 6f 20 65 78 70 69 sets.the.real-time.timer.to.expi
a6a0 72 65 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 65 63 6f 6e 64 73 3c 2f 56 41 52 re.in..........<VAR>seconds</VAR
a6c0 3e 20 73 65 63 6f 6e 64 73 2e 20 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 61 6e 63 65 >.seconds...If.you.want.to.cance
a6e0 6c 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 61 6c 61 72 6d 2c 20 79 6f 75 0a 20 20 20 20 20 20 l.any.existing.alarm,.you.......
a700 20 20 20 63 61 6e 20 64 6f 20 74 68 69 73 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e ...can.do.this.by.calling.<CODE>
a720 61 6c 61 72 6d 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 20 3c 56 41 52 3e 73 65 63 6f 6e 64 73 alarm</CODE>.with.a.<VAR>seconds
a740 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f </VAR>.argument.of..........zero
a760 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 ...........<br><br>.The.return.v
a780 61 6c 75 65 20 69 6e 64 69 63 61 74 65 73 20 68 6f 77 20 6d 61 6e 79 20 73 65 63 6f 6e 64 73 20 alue.indicates.how.many.seconds.
a7a0 72 65 6d 61 69 6e 20 62 65 66 6f 72 65 20 74 68 65 20 70 72 65 76 69 6f 75 73 0a 20 20 20 20 20 remain.before.the.previous......
a7c0 20 20 20 20 61 6c 61 72 6d 20 77 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20 73 65 6e 74 2e 20 ....alarm.would.have.been.sent..
a7e0 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 72 65 76 69 6f 75 73 20 61 6c 61 72 6d 2c 20 .If.there.is.no.previous.alarm,.
a800 3c 43 4f 44 45 3e 61 6c 61 72 6d 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 <CODE>alarm</CODE>..........retu
a820 72 6e 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 rns.zero..........sq.~......w...
a840 00 0a 74 00 0a 73 79 73 2f 74 69 6d 65 2e 68 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 01 47 ..t..sys/time.ht..unistd.hxq.~.G
a860 74 00 14 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 65 63 6f 6e 64 73 74 00 0c 75 6e 73 69 67 6e t..unsigned.int.secondst..unsign
a880 65 64 20 69 6e 74 74 00 06 61 6c 6c 6f 63 61 73 71 00 7e 00 0a 70 74 00 b6 0a 20 20 20 20 20 20 ed.intt..allocasq.~..pt.........
a8a0 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 61 6c 6c 6f ..The.return.value.of.<CODE>allo
a8c0 63 61 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 62 6c ca</CODE>.is.the.address.of.a.bl
a8e0 6f 63 6b 20 6f 66 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 ock.of.<VAR>size</VAR>..........
a900 62 79 74 65 73 20 6f 66 20 6d 65 6d 6f 72 79 2c 20 61 6c 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 bytes.of.memory,.allocated.in.th
a920 65 20 73 74 61 63 6b 20 66 72 61 6d 65 20 6f 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 66 75 6e e.stack.frame.of.the.calling.fun
a940 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 ction..........sq.~......w.....t
a960 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 01 4f 74 00 0b 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 ..stdlib.hxq.~.Ot..size_t.sizet.
a980 06 76 6f 69 64 20 2a 74 00 09 61 6c 70 68 61 73 6f 72 74 73 71 00 7e 00 0a 70 74 01 b7 0a 20 20 .void.*t..alphasortsq.~..pt.....
a9a0 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 6c 70 68 61 73 6f 72 74 3c 2f 43 4f 44 45 3e ......The.<CODE>alphasort</CODE>
a9c0 20 66 75 6e 63 74 69 6f 6e 20 62 65 68 61 76 65 73 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 .function.behaves.like.the.<CODE
a9e0 3e 73 74 72 63 6f 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 >strcoll</CODE>.function........
aa00 20 20 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 .....The.difference.is.that.the.
aa20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20 73 74 72 69 6e arguments..........are.not.strin
aa40 67 20 70 6f 69 6e 74 65 72 73 20 62 75 74 20 69 6e 73 74 65 61 64 20 74 68 65 79 20 61 72 65 20 g.pointers.but.instead.they.are.
aa60 6f 66 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 64 69 of.type..........<CODE>struct.di
aa80 72 65 6e 74 20 2a 2a 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 rent.**</CODE>...........<br><br
aaa0 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 61 6c 70 68 >.The.return.value.of.<CODE>alph
aac0 61 73 6f 72 74 3c 2f 43 4f 44 45 3e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 2c 20 65 71 75 61 6c asort</CODE>.is.less.than,.equal
aae0 20 74 6f 2c 20 6f 72 20 67 72 65 61 74 65 72 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 7a 65 .to,.or.greater..........than.ze
ab00 72 6f 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 ro.depending.on.the.order.of.the
ab20 20 74 77 6f 20 65 6e 74 72 69 65 73 20 3c 56 41 52 3e 61 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 .two.entries.<VAR>a</VAR>.and.<V
ab40 41 52 3e 62 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 AR>b</VAR>..........sq.~......w.
ab60 00 00 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 71 00 7e 01 56 74 00 1c 63 6f 6e 73 74 20 76 6f ....t..dirent.hxq.~.Vt..const.vo
ab80 69 64 20 2a 61 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 62 74 00 03 69 6e 74 74 00 0b 61 6c 70 id.*a,.const.void.*bt..intt..alp
aba0 68 61 73 6f 72 74 36 34 73 71 00 7e 00 0a 70 74 01 b9 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c hasort64sq.~..pt...........The.<
abc0 43 4f 44 45 3e 61 6c 70 68 61 73 6f 72 74 36 34 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e CODE>alphasort64</CODE>.function
abe0 20 62 65 68 61 76 65 73 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 63 6f 6c 6c 3c .behaves.like.the.<CODE>strcoll<
ac00 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 2e 20 20 54 68 65 20 /CODE>.function.............The.
ac20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 difference.is.that.the.arguments
ac40 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 ..........are.not.string.pointer
ac60 73 20 62 75 74 20 69 6e 73 74 65 61 64 20 74 68 65 79 20 61 72 65 20 6f 66 20 74 79 70 65 0a 20 s.but.instead.they.are.of.type..
ac80 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 64 69 72 65 6e 74 36 34 20 2a 2a ........<CODE>struct.dirent64.**
aca0 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 52 65 74 75 72 </CODE>...........<br><br>.Retur
acc0 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 61 6c 70 68 61 73 6f 72 74 36 34 3c 2f 43 4f n.value.of.<CODE>alphasort64</CO
ace0 44 45 3e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 2c 20 65 71 75 61 6c 20 74 6f 2c 20 6f 72 20 67 DE>.is.less.than,.equal.to,.or.g
ad00 72 65 61 74 65 72 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 7a 65 72 6f 20 64 65 70 65 6e 64 reater..........than.zero.depend
ad20 69 6e 67 20 6f 6e 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 74 77 6f 20 65 6e 74 72 ing.on.the.order.of.the.two.entr
ad40 69 65 73 20 3c 56 41 52 3e 61 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 62 3c 2f 56 41 52 ies.<VAR>a</VAR>.and.<VAR>b</VAR
ad60 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 >..........sq.~......w.....t..di
ad80 72 65 6e 74 2e 68 78 71 00 7e 01 5d 74 00 1c 63 6f 6e 73 74 20 76 6f 69 64 20 2a 61 2c 20 63 6f rent.hxq.~.]t..const.void.*a,.co
ada0 6e 73 74 20 76 6f 69 64 20 2a 62 74 00 03 69 6e 74 74 00 0a 61 72 67 70 5f 65 72 72 6f 72 73 71 nst.void.*bt..intt..argp_errorsq
adc0 00 7e 00 0a 70 74 01 3e 0a 20 20 20 20 20 20 20 20 50 72 69 6e 74 73 20 74 68 65 20 70 72 69 6e .~..pt.>.........Prints.the.prin
ade0 74 66 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 66 6d 74 3c 2f 56 41 52 3e 20 tf.format.string.<VAR>fmt</VAR>.
ae00 61 6e 64 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 67 73 2c 20 70 72 65 63 65 64 65 64 0a 20 20 20 and.following.args,.preceded....
ae20 20 20 20 20 20 20 62 79 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 20 61 6e 64 20 3c 73 ......by.the.program.name.and.<s
ae40 61 6d 70 3e 3a 3c 2f 73 61 6d 70 3e 2c 20 61 6e 64 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 amp>:</samp>,.and.followed.by.a.
ae60 3c 73 61 6d 70 3e 54 72 79 20 3c 73 6d 61 6c 6c 3e 2e 2e 2e 3c 2f 73 6d 61 6c 6c 3e 0a 20 20 20 <samp>Try.<small>...</small>....
ae80 20 20 20 20 20 20 2d 2d 68 65 6c 70 3c 2f 73 61 6d 70 3e 20 6d 65 73 73 61 67 65 2c 20 61 6e 64 ......--help</samp>.message,.and
aea0 20 74 65 72 6d 69 6e 61 74 65 73 20 74 68 65 20 70 72 6f 67 72 61 6d 20 77 69 74 68 20 61 6e 20 .terminates.the.program.with.an.
aec0 65 78 69 74 20 73 74 61 74 75 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 72 exit.status.of..........<CODE>ar
aee0 67 70 5f 65 72 72 5f 65 78 69 74 5f 73 74 61 74 75 73 3c 2f 43 4f 44 45 3e 2e 20 20 2e 0a 20 20 gp_err_exit_status</CODE>.......
af00 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 70 2e 68 78 ......sq.~......w.....t..argp.hx
af20 71 00 7e 01 64 74 00 34 63 6f 6e 73 74 20 73 74 72 75 63 74 20 61 72 67 70 5f 73 74 61 74 65 20 q.~.dt.4const.struct.argp_state.
af40 2a 73 74 61 74 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6d 74 2c 20 2e 2e 2e 74 00 04 76 *state,.const.char.*fmt,....t..v
af60 6f 69 64 74 00 0c 61 72 67 70 5f 66 61 69 6c 75 72 65 73 71 00 7e 00 0a 70 74 03 3b 0a 20 20 20 oidt..argp_failuresq.~..pt.;....
af80 20 20 20 20 20 53 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 6e 75 .....Similar.to.the.standard.gnu
afa0 20 65 72 72 6f 72 2d 72 65 70 6f 72 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e .error-reporting.function.<CODE>
afc0 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 70 72 69 6e error</CODE>,.this..........prin
afe0 74 73 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 20 61 6e 64 20 3c 73 61 6d 70 3e 3a 3c ts.the.program.name.and.<samp>:<
b000 2f 73 61 6d 70 3e 2c 20 74 68 65 20 70 72 69 6e 74 66 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 /samp>,.the.printf.format.string
b020 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 6d 74 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 74 68 ..........<VAR>fmt</VAR>,.and.th
b040 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 67 73 2e 20 20 49 e.appropriate.following.args...I
b060 66 20 69 74 20 69 73 20 6e 6f 6e 2d 7a 65 72 6f 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 f.it.is.non-zero,.the..........s
b080 74 61 6e 64 61 72 64 20 75 6e 69 78 20 65 72 72 6f 72 20 74 65 78 74 20 66 6f 72 20 3c 56 41 52 tandard.unix.error.text.for.<VAR
b0a0 3e 65 72 72 6e 75 6d 3c 2f 56 41 52 3e 20 69 73 20 70 72 69 6e 74 65 64 2e 20 20 49 66 20 3c 56 >errnum</VAR>.is.printed...If.<V
b0c0 41 52 3e 73 74 61 74 75 73 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 2d AR>status</VAR>.is..........non-
b0e0 7a 65 72 6f 2c 20 69 74 20 74 65 72 6d 69 6e 61 74 65 73 20 74 68 65 20 70 72 6f 67 72 61 6d 20 zero,.it.terminates.the.program.
b100 77 69 74 68 20 74 68 61 74 20 76 61 6c 75 65 20 61 73 20 69 74 73 20 65 78 69 74 20 73 74 61 74 with.that.value.as.its.exit.stat
b120 75 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 64 69 66 66 65 72 us...........<br><br>.The.differ
b140 65 6e 63 65 20 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 61 72 67 70 5f 66 61 69 6c 75 72 65 3c ence.between.<CODE>argp_failure<
b160 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 61 72 67 70 5f 65 72 72 6f 72 3c 2f 43 4f 44 /CODE>.and.<CODE>argp_error</COD
b180 45 3e 20 69 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 72 67 70 5f 65 E>.is.that..........<CODE>argp_e
b1a0 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 69 73 20 66 6f 72 20 3c 45 4d 3e 70 61 72 73 69 6e 67 20 65 rror</CODE>.is.for.<EM>parsing.e
b1c0 72 72 6f 72 73 3c 2f 45 4d 3e 2c 20 77 68 65 72 65 61 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f rrors</EM>,.whereas..........<CO
b1e0 44 45 3e 61 72 67 70 5f 66 61 69 6c 75 72 65 3c 2f 43 4f 44 45 3e 20 69 73 20 66 6f 72 20 6f 74 DE>argp_failure</CODE>.is.for.ot
b200 68 65 72 20 70 72 6f 62 6c 65 6d 73 20 74 68 61 74 20 6f 63 63 75 72 20 64 75 72 69 6e 67 20 70 her.problems.that.occur.during.p
b220 61 72 73 69 6e 67 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 64 6f 6e 27 74 20 72 65 66 6c 65 63 arsing.but..........don't.reflec
b240 74 20 61 20 73 79 6e 74 61 63 74 69 63 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 74 68 65 20 69 t.a.syntactic.problem.with.the.i
b260 6e 70 75 74 2c 20 73 75 63 68 20 61 73 20 69 6c 6c 65 67 61 6c 20 76 61 6c 75 65 73 0a 20 20 20 nput,.such.as.illegal.values....
b280 20 20 20 20 20 20 66 6f 72 20 6f 70 74 69 6f 6e 73 2c 20 62 61 64 20 70 68 61 73 65 20 6f 66 20 ......for.options,.bad.phase.of.
b2a0 74 68 65 20 6d 6f 6f 6e 2c 20 65 74 63 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 the.moon,.etc..........sq.~.....
b2c0 01 77 04 00 00 00 0a 74 00 06 61 72 67 70 2e 68 78 71 00 7e 01 6b 74 00 4c 63 6f 6e 73 74 20 73 .w.....t..argp.hxq.~.kt.Lconst.s
b2e0 74 72 75 63 74 20 61 72 67 70 5f 73 74 61 74 65 20 2a 73 74 61 74 65 2c 20 69 6e 74 20 73 74 61 truct.argp_state.*state,.int.sta
b300 74 75 73 2c 20 69 6e 74 20 65 72 72 6e 75 6d 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6d 74 tus,.int.errnum,.const.char.*fmt
b320 2c 20 2e 2e 2e 74 00 04 76 6f 69 64 74 00 09 61 72 67 70 5f 68 65 6c 70 73 71 00 7e 00 0a 70 74 ,....t..voidt..argp_helpsq.~..pt
b340 01 e9 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 6f 75 74 70 75 74 73 20 61 20 68 65 6c 70 20 6d ...........This.outputs.a.help.m
b360 65 73 73 61 67 65 20 66 6f 72 20 74 68 65 20 61 72 67 70 20 70 61 72 73 65 72 20 3c 56 41 52 3e essage.for.the.argp.parser.<VAR>
b380 61 72 67 70 3c 2f 56 41 52 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 argp</VAR>.to..........<VAR>stre
b3a0 61 6d 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 6d 65 73 73 61 67 65 73 20 am</VAR>...The.type.of.messages.
b3c0 70 72 69 6e 74 65 64 20 77 69 6c 6c 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 0a 20 20 printed.will.be.determined.by...
b3e0 20 20 20 20 20 20 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 .......<VAR>flags</VAR>.........
b400 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 79 20 6f 70 74 69 6f 6e 73 20 73 75 63 68 20 61 73 20 3c ..<br><br>.Any.options.such.as.<
b420 73 61 6d 70 3e 2d 2d 68 65 6c 70 3c 2f 73 61 6d 70 3e 20 74 68 61 74 20 61 72 65 20 69 6d 70 6c samp>--help</samp>.that.are.impl
b440 65 6d 65 6e 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 79 0a 20 20 20 20 20 20 20 emented.automatically.by........
b460 20 20 61 72 67 70 20 69 74 73 65 6c 66 20 77 69 6c 6c 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 ..argp.itself.will.<EM>not</EM>.
b480 62 65 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 68 65 6c 70 20 6f 75 74 70 75 74 3b 20 66 be.present.in.the.help.output;.f
b4a0 6f 72 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 61 73 6f 6e 20 69 74 20 69 73 20 62 65 or.this..........reason.it.is.be
b4c0 73 74 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 61 72 67 70 5f 73 74 61 74 65 5f 68 65 6c 70 3c st.to.use.<CODE>argp_state_help<
b4e0 2f 43 4f 44 45 3e 20 69 66 20 63 61 6c 6c 69 6e 67 20 66 72 6f 6d 20 77 69 74 68 69 6e 0a 20 20 /CODE>.if.calling.from.within...
b500 20 20 20 20 20 20 20 61 6e 20 61 72 67 70 20 70 61 72 73 65 72 20 66 75 6e 63 74 69 6f 6e 2e 20 .......an.argp.parser.function..
b520 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 ...........sq.~......w.....t..ar
b540 67 70 2e 68 78 71 00 7e 01 72 74 00 41 63 6f 6e 73 74 20 73 74 72 75 63 74 20 61 72 67 70 20 2a gp.hxq.~.rt.Aconst.struct.argp.*
b560 61 72 67 70 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 75 6e 73 69 67 6e 65 64 20 66 6c 61 argp,.FILE.*stream,.unsigned.fla
b580 67 73 2c 20 63 68 61 72 20 2a 6e 61 6d 65 74 00 04 76 6f 69 64 74 00 0a 61 72 67 70 5f 70 61 72 gs,.char.*namet..voidt..argp_par
b5a0 73 65 73 71 00 7e 00 0a 70 74 05 c6 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 sesq.~..pt...........The.<CODE>a
b5c0 72 67 70 5f 70 61 72 73 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 73 rgp_parse</CODE>.function.parses
b5e0 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 .the.arguments.in.<VAR>argv</VAR
b600 3e 2c 20 6f 66 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 3c 56 41 52 3e 61 72 67 63 3c >,.of..........length.<VAR>argc<
b620 2f 56 41 52 3e 2c 20 75 73 69 6e 67 20 74 68 65 20 61 72 67 70 20 70 61 72 73 65 72 20 3c 56 41 /VAR>,.using.the.argp.parser.<VA
b640 52 3e 61 72 67 70 3c 2f 56 41 52 3e 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 R>argp</VAR>..............<br><b
b660 72 3e 20 41 20 76 61 6c 75 65 20 6f 66 20 7a 65 72 6f 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 r>.A.value.of.zero.is.the.same.a
b680 73 20 61 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 61 72 67 70 3c 2f 43 4f 44 45 3e 63 6f 6e 74 s.a.<CODE>struct.argp</CODE>cont
b6a0 61 69 6e 69 6e 67 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f 73 2e 20 20 3c 56 41 52 aining.all..........zeros...<VAR
b6c0 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 73 65 74 20 6f 66 20 66 6c 61 67 20 62 69 >flags</VAR>.is.a.set.of.flag.bi
b6e0 74 73 20 74 68 61 74 20 6d 6f 64 69 66 79 20 74 68 65 20 70 61 72 73 69 6e 67 0a 20 20 20 20 20 ts.that.modify.the.parsing......
b700 20 20 20 20 62 65 68 61 76 69 6f 72 2e 20 20 2e 20 20 3c 56 41 52 3e 69 6e 70 75 74 3c 2f 56 41 ....behavior......<VAR>input</VA
b720 52 3e 20 69 73 20 70 61 73 73 65 64 20 74 68 72 6f 75 67 68 20 74 6f 20 74 68 65 20 61 72 67 70 R>.is.passed.through.to.the.argp
b740 0a 20 20 20 20 20 20 20 20 20 70 61 72 73 65 72 20 3c 56 41 52 3e 61 72 67 70 3c 2f 56 41 52 3e ..........parser.<VAR>argp</VAR>
b760 2c 20 61 6e 64 20 68 61 73 20 6d 65 61 6e 69 6e 67 20 64 65 66 69 6e 65 64 20 62 79 20 3c 56 41 ,.and.has.meaning.defined.by.<VA
b780 52 3e 61 72 67 70 3c 2f 56 41 52 3e 2e 20 20 41 20 74 79 70 69 63 61 6c 0a 20 20 20 20 20 20 20 R>argp</VAR>...A.typical........
b7a0 20 20 75 73 61 67 65 20 69 73 20 74 6f 20 70 61 73 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 ..usage.is.to.pass.a.pointer.to.
b7c0 61 20 73 74 72 75 63 74 75 72 65 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 66 6f 72 20 73 70 a.structure.which.is.used.for.sp
b7e0 65 63 69 66 79 69 6e 67 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 ecifying..........parameters.to.
b800 74 68 65 20 70 61 72 73 65 72 20 61 6e 64 20 70 61 73 73 69 6e 67 20 62 61 63 6b 20 74 68 65 20 the.parser.and.passing.back.the.
b820 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 6e 6c 65 73 results...........<br><br>.Unles
b840 73 20 74 68 65 20 3c 43 4f 44 45 3e 41 52 47 50 5f 4e 4f 5f 45 58 49 54 3c 2f 43 4f 44 45 3e 20 s.the.<CODE>ARGP_NO_EXIT</CODE>.
b860 6f 72 20 3c 43 4f 44 45 3e 41 52 47 50 5f 4e 4f 5f 48 45 4c 50 3c 2f 43 4f 44 45 3e 20 66 6c 61 or.<CODE>ARGP_NO_HELP</CODE>.fla
b880 67 73 20 61 72 65 20 69 6e 63 6c 75 64 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 3c 56 41 52 gs.are.included..........in.<VAR
b8a0 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 2c 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 61 72 67 70 >flags</VAR>,.calling.<CODE>argp
b8c0 5f 70 61 72 73 65 3c 2f 43 4f 44 45 3e 20 6d 61 79 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 _parse</CODE>.may.result.in.the.
b8e0 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20 20 20 20 65 78 69 74 69 6e 67 2e 20 20 54 68 69 73 20 program..........exiting...This.
b900 62 65 68 61 76 69 6f 72 20 69 73 20 74 72 75 65 20 69 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 behavior.is.true.if.an.error.is.
b920 64 65 74 65 63 74 65 64 2c 20 6f 72 20 77 68 65 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 20 75 6e detected,.or.when.an..........un
b940 6b 6e 6f 77 6e 20 6f 70 74 69 6f 6e 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 20 20 2e 0a known.option.is.encountered.....
b960 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 61 72 67 5f 69 6e .........<br><br>.If.<VAR>arg_in
b980 64 65 78 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 74 68 65 20 69 6e 64 65 78 dex</VAR>.is.non-null,.the.index
b9a0 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 75 6e 70 61 72 73 65 64 20 6f 70 74 69 6f 6e 0a 20 20 .of.the.first.unparsed.option...
b9c0 20 20 20 20 20 20 20 69 6e 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 20 69 73 20 72 65 74 .......in.<VAR>argv</VAR>.is.ret
b9e0 75 72 6e 65 64 20 61 73 20 61 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c urned.as.a.value...........<br><
ba00 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 66 6f 72 br>.The.return.value.is.zero.for
ba20 20 73 75 63 63 65 73 73 66 75 6c 20 70 61 72 73 69 6e 67 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 .successful.parsing,.or.an.error
ba40 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 64 .code...........if.an.error.is.d
ba60 65 74 65 63 74 65 64 2e 20 20 44 69 66 66 65 72 65 6e 74 20 61 72 67 70 20 70 61 72 73 65 72 73 etected...Different.argp.parsers
ba80 0a 20 20 20 20 20 20 20 20 20 6d 61 79 20 72 65 74 75 72 6e 20 61 72 62 69 74 72 61 72 79 20 65 ..........may.return.arbitrary.e
baa0 72 72 6f 72 20 63 6f 64 65 73 2c 20 62 75 74 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 65 72 72 rror.codes,.but.the.standard.err
bac0 6f 72 20 63 6f 64 65 73 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 4e 4f or.codes.are:..........<CODE>ENO
bae0 4d 45 4d 3c 2f 43 4f 44 45 3e 20 69 66 20 61 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f MEM</CODE>.if.a.memory.allocatio
bb00 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2c 20 6f 72 20 3c 43 4f 44 45 3e 45 49 4e 56 41 n.error.occurred,.or.<CODE>EINVA
bb20 4c 3c 2f 43 4f 44 45 3e 20 69 66 0a 20 20 20 20 20 20 20 20 20 61 6e 20 75 6e 6b 6e 6f 77 6e 20 L</CODE>.if..........an.unknown.
bb40 6f 70 74 69 6f 6e 20 6f 72 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 65 6e 63 option.or.option.argument.is.enc
bb60 6f 75 6e 74 65 72 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 ountered..........sq.~......w...
bb80 00 0a 74 00 06 61 72 67 70 2e 68 78 71 00 7e 01 79 74 00 5b 63 6f 6e 73 74 20 73 74 72 75 63 74 ..t..argp.hxq.~.yt.[const.struct
bba0 20 61 72 67 70 20 2a 61 72 67 70 2c 20 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 .argp.*argp,.int.argc,.char.**ar
bbc0 67 76 2c 20 75 6e 73 69 67 6e 65 64 20 66 6c 61 67 73 2c 20 69 6e 74 20 2a 61 72 67 5f 69 6e 64 gv,.unsigned.flags,.int.*arg_ind
bbe0 65 78 2c 20 76 6f 69 64 20 2a 69 6e 70 75 74 74 00 07 65 72 72 6f 72 5f 74 74 00 0f 61 72 67 70 ex,.void.*inputt..error_tt..argp
bc00 5f 73 74 61 74 65 5f 68 65 6c 70 73 71 00 7e 00 0a 70 74 00 d9 0a 20 20 20 20 20 20 20 20 4f 75 _state_helpsq.~..pt...........Ou
bc20 74 70 75 74 73 20 61 20 68 65 6c 70 20 6d 65 73 73 61 67 65 20 66 6f 72 20 74 68 65 20 61 72 67 tputs.a.help.message.for.the.arg
bc40 70 20 70 61 72 73 65 72 20 72 65 66 65 72 72 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 73 74 61 p.parser.referred.to.by.<VAR>sta
bc60 74 65 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 56 41 52 3e 73 74 72 65 61 te</VAR>,..........to.<VAR>strea
bc80 6d 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 61 m</VAR>...The.<VAR>flags</VAR>.a
bca0 72 67 75 6d 65 6e 74 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 61 74 20 73 6f 72 74 20 6f 66 20 rgument.determines.what.sort.of.
bcc0 68 65 6c 70 0a 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 69 73 20 70 72 6f 64 75 63 65 help..........message.is.produce
bce0 64 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 d.............sq.~......w.....t.
bd00 06 61 72 67 70 2e 68 78 71 00 7e 01 80 74 00 3c 63 6f 6e 73 74 20 73 74 72 75 63 74 20 61 72 67 .argp.hxq.~..t.<const.struct.arg
bd20 70 5f 73 74 61 74 65 20 2a 73 74 61 74 65 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 75 6e p_state.*state,.FILE.*stream,.un
bd40 73 69 67 6e 65 64 20 66 6c 61 67 73 74 00 04 76 6f 69 64 74 00 0a 61 72 67 70 5f 75 73 61 67 65 signed.flagst..voidt..argp_usage
bd60 73 71 00 7e 00 0a 70 74 00 f3 0a 20 20 20 20 20 20 20 20 4f 75 74 70 75 74 73 20 74 68 65 20 73 sq.~..pt...........Outputs.the.s
bd80 74 61 6e 64 61 72 64 20 75 73 61 67 65 20 6d 65 73 73 61 67 65 20 66 6f 72 20 74 68 65 20 61 72 tandard.usage.message.for.the.ar
bda0 67 70 20 70 61 72 73 65 72 20 72 65 66 65 72 72 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 gp.parser.referred.to.by........
bdc0 20 20 3c 56 41 52 3e 73 74 61 74 65 3c 2f 56 41 52 3e 20 74 6f 20 3c 43 4f 44 45 3e 3c 56 41 52 ..<VAR>state</VAR>.to.<CODE><VAR
bde0 3e 73 74 61 74 65 3c 2f 56 41 52 3e 2d 3e 65 72 72 5f 73 74 72 65 61 6d 3c 2f 43 4f 44 45 3e 20 >state</VAR>->err_stream</CODE>.
be00 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 20 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20 and.terminate.the.program.......
be20 20 20 20 77 69 74 68 20 3c 43 4f 44 45 3e 65 78 69 74 20 28 61 72 67 70 5f 65 72 72 5f 65 78 69 ...with.<CODE>exit.(argp_err_exi
be40 74 5f 73 74 61 74 75 73 29 3c 2f 43 4f 44 45 3e 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 t_status)</CODE>.............sq.
be60 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 70 2e 68 78 71 00 7e 01 87 74 00 1e 63 ~......w.....t..argp.hxq.~..t..c
be80 6f 6e 73 74 20 73 74 72 75 63 74 20 61 72 67 70 5f 73 74 61 74 65 20 2a 73 74 61 74 65 74 00 04 onst.struct.argp_state.*statet..
bea0 76 6f 69 64 74 00 08 61 72 67 7a 5f 61 64 64 73 71 00 7e 00 0a 70 74 00 ff 0a 20 20 20 20 20 20 voidt..argz_addsq.~..pt.........
bec0 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 72 67 7a 5f 61 64 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 ..The.<CODE>argz_add</CODE>.func
bee0 74 69 6f 6e 20 61 64 64 73 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 74 72 3c 2f 56 tion.adds.the.string.<VAR>str</V
bf00 41 52 3e 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 AR>.to.the.end.of.the..........a
bf20 72 67 7a 20 76 65 63 74 6f 72 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 rgz.vector.<CODE>*<VAR>argz</VAR
bf40 3e 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 75 70 64 61 74 65 73 20 3c 43 4f 44 45 3e 2a 3c 56 41 ></CODE>,.and.updates.<CODE>*<VA
bf60 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 R>argz</VAR></CODE>.and.........
bf80 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a 5f 6c 65 6e 3c 2f 56 41 52 3e 3c 2f 43 4f 44 .<CODE>*<VAR>argz_len</VAR></COD
bfa0 45 3e 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 E>.accordingly..........sq.~....
bfc0 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 8e 74 00 2e 63 68 61 72 20 2a ..w.....t..argz.hxq.~..t..char.*
bfe0 2a 61 72 67 7a 2c 20 73 69 7a 65 5f 74 20 2a 61 72 67 7a 5f 6c 65 6e 2c 20 63 6f 6e 73 74 20 63 *argz,.size_t.*argz_len,.const.c
c000 68 61 72 20 2a 73 74 72 74 00 07 65 72 72 6f 72 5f 74 74 00 0c 61 72 67 7a 5f 61 64 64 5f 73 65 har.*strt..error_tt..argz_add_se
c020 70 73 71 00 7e 00 0a 70 74 01 91 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 72 psq.~..pt...........The.<CODE>ar
c040 67 7a 5f 61 64 64 5f 73 65 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 gz_add_sep</CODE>.function.is.si
c060 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 61 72 67 7a 5f 61 64 64 3c 2f 43 4f 44 45 3e 2c 20 milar.to.<CODE>argz_add</CODE>,.
c080 62 75 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 3c 2f 56 41 52 3e 20 69 73 20 73 but..........<VAR>str</VAR>.is.s
c0a0 70 6c 69 74 20 69 6e 74 6f 20 73 65 70 61 72 61 74 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 plit.into.separate.elements.in.t
c0c0 68 65 20 72 65 73 75 6c 74 20 61 74 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 0a 20 20 20 20 he.result.at.occurrences.of.....
c0e0 20 20 20 20 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e 64 65 6c 69 6d 3c 2f 56 .....the.character.<VAR>delim</V
c100 41 52 3e 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 2c 20 66 6f 72 20 69 6e 73 74 61 6e AR>...This.is.useful,.for.instan
c120 63 65 2c 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 61 64 64 69 6e 67 20 74 68 65 20 63 6f 6d 70 ce,.for..........adding.the.comp
c140 6f 6e 65 6e 74 73 20 6f 66 20 61 20 55 6e 69 78 20 73 65 61 72 63 68 20 70 61 74 68 20 74 6f 20 onents.of.a.Unix.search.path.to.
c160 61 6e 20 61 72 67 7a 20 76 65 63 74 6f 72 2c 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 an.argz.vector,.by.using........
c180 20 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 27 3a 27 3c 2f 43 4f 44 45 3e 20 66 6f ..a.value.of.<CODE>':'</CODE>.fo
c1a0 72 20 3c 56 41 52 3e 64 65 6c 69 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e r.<VAR>delim</VAR>..........sq.~
c1c0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 95 74 00 39 63 68 ......w.....t..argz.hxq.~..t.9ch
c1e0 61 72 20 2a 2a 61 72 67 7a 2c 20 73 69 7a 65 5f 74 20 2a 61 72 67 7a 5f 6c 65 6e 2c 20 63 6f 6e ar.**argz,.size_t.*argz_len,.con
c200 73 74 20 63 68 61 72 20 2a 73 74 72 2c 20 69 6e 74 20 64 65 6c 69 6d 74 00 07 65 72 72 6f 72 5f st.char.*str,.int.delimt..error_
c220 74 74 00 0b 61 72 67 7a 5f 61 70 70 65 6e 64 73 71 00 7e 00 0a 70 74 01 42 0a 20 20 20 20 20 20 tt..argz_appendsq.~..pt.B.......
c240 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 72 67 7a 5f 61 70 70 65 6e 64 3c 2f 43 4f 44 45 3e 20 66 ..The.<CODE>argz_append</CODE>.f
c260 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 73 20 3c 56 41 52 3e 62 75 66 5f 6c 65 6e 3c 2f 56 41 unction.appends.<VAR>buf_len</VA
c280 52 3e 20 62 79 74 65 73 20 73 74 61 72 74 69 6e 67 20 61 74 0a 20 20 20 20 20 20 20 20 20 3c 56 R>.bytes.starting.at..........<V
c2a0 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 61 72 67 7a 20 76 65 63 74 6f 72 20 AR>buf</VAR>.to.the.argz.vector.
c2c0 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 72 <CODE>*<VAR>argz</VAR></CODE>,.r
c2e0 65 61 6c 6c 6f 63 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 eallocating..........<CODE>*<VAR
c300 3e 61 72 67 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 74 6f 20 61 63 63 6f 6d 6d 6f 64 61 74 >argz</VAR></CODE>.to.accommodat
c320 65 20 69 74 2c 20 61 6e 64 20 61 64 64 69 6e 67 20 3c 56 41 52 3e 62 75 66 5f 6c 65 6e 3c 2f 56 e.it,.and.adding.<VAR>buf_len</V
c340 41 52 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a AR>.to..........<CODE>*<VAR>argz
c360 5f 6c 65 6e 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 _len</VAR></CODE>..........sq.~.
c380 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 9c 74 00 3e 63 68 61 .....w.....t..argz.hxq.~..t.>cha
c3a0 72 20 2a 2a 61 72 67 7a 2c 20 73 69 7a 65 5f 74 20 2a 61 72 67 7a 5f 6c 65 6e 2c 20 63 6f 6e 73 r.**argz,.size_t.*argz_len,.cons
c3c0 74 20 63 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 62 75 66 5f 6c 65 6e 74 00 07 65 72 t.char.*buf,.size_t.buf_lent..er
c3e0 72 6f 72 5f 74 74 00 0a 61 72 67 7a 5f 63 6f 75 6e 74 73 71 00 7e 00 0a 70 74 00 75 0a 20 20 20 ror_tt..argz_countsq.~..pt.u....
c400 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 6c 65 6d 65 .....Returns.the.number.of.eleme
c420 6e 74 73 20 69 6e 20 74 68 65 20 61 72 67 7a 20 76 65 63 74 6f 72 20 3c 56 41 52 3e 61 72 67 7a nts.in.the.argz.vector.<VAR>argz
c440 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 7a 5f 6c 65 </VAR>.and..........<VAR>argz_le
c460 6e 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 n</VAR>..........sq.~......w....
c480 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 a3 74 00 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 61 .t..argz.hxq.~..t..const.char.*a
c4a0 72 67 7a 2c 20 73 69 7a 65 5f 74 20 61 72 67 5f 6c 65 6e 74 00 06 73 69 7a 65 5f 74 74 00 0b 61 rgz,.size_t.arg_lent..size_tt..a
c4c0 72 67 7a 5f 63 72 65 61 74 65 73 71 00 7e 00 0a 70 74 01 47 0a 20 20 20 20 20 20 20 20 54 68 65 rgz_createsq.~..pt.G.........The
c4e0 20 3c 43 4f 44 45 3e 61 72 67 7a 5f 63 72 65 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 .<CODE>argz_create</CODE>.functi
c500 6f 6e 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 55 6e 69 78 2d 73 74 79 6c 65 20 61 72 67 75 6d on.converts.the.Unix-style.argum
c520 65 6e 74 20 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 ent.vector..........<VAR>argv</V
c540 41 52 3e 20 28 61 20 76 65 63 74 6f 72 20 6f 66 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 6e 6f 72 AR>.(a.vector.of.pointers.to.nor
c560 6d 61 6c 20 43 20 73 74 72 69 6e 67 73 2c 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 0a 20 20 20 mal.C.strings,.terminated.by....
c580 20 20 20 20 20 20 3c 43 4f 44 45 3e 28 63 68 61 72 20 2a 29 30 3c 2f 43 4f 44 45 3e 3b 20 29 20 ......<CODE>(char.*)0</CODE>;.).
c5a0 69 6e 74 6f 20 61 6e 20 61 72 67 7a 20 76 65 63 74 6f 72 20 77 69 74 68 0a 20 20 20 20 20 20 20 into.an.argz.vector.with........
c5c0 20 20 74 68 65 20 73 61 6d 65 20 65 6c 65 6d 65 6e 74 73 2c 20 77 68 69 63 68 20 69 73 20 72 65 ..the.same.elements,.which.is.re
c5e0 74 75 72 6e 65 64 20 69 6e 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 turned.in.<VAR>argz</VAR>.and.<V
c600 41 52 3e 61 72 67 7a 5f 6c 65 6e 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 AR>argz_len</VAR>..........sq.~.
c620 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 aa 74 00 31 63 68 61 .....w.....t..argz.hxq.~..t.1cha
c640 72 20 2a 63 6f 6e 73 74 20 61 72 67 76 5b 5d 2c 20 63 68 61 72 20 2a 2a 61 72 67 7a 2c 20 73 69 r.*const.argv[],.char.**argz,.si
c660 7a 65 5f 74 20 2a 61 72 67 7a 5f 6c 65 6e 74 00 07 65 72 72 6f 72 5f 74 74 00 0f 61 72 67 7a 5f ze_t.*argz_lent..error_tt..argz_
c680 63 72 65 61 74 65 5f 73 65 70 73 71 00 7e 00 0a 70 74 01 29 0a 20 20 20 20 20 20 20 20 54 68 65 create_sepsq.~..pt.).........The
c6a0 20 3c 43 4f 44 45 3e 61 72 67 7a 5f 63 72 65 61 74 65 5f 73 65 70 3c 2f 43 4f 44 45 3e 20 66 75 .<CODE>argz_create_sep</CODE>.fu
c6c0 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 nction.converts.the.null-termina
c6e0 74 65 64 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c ted.string..........<VAR>string<
c700 2f 56 41 52 3e 20 69 6e 74 6f 20 61 6e 20 61 72 67 7a 20 76 65 63 74 6f 72 20 28 72 65 74 75 72 /VAR>.into.an.argz.vector.(retur
c720 6e 65 64 20 69 6e 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 20 20 ned.in.<VAR>argz</VAR>.and......
c740 20 20 20 20 3c 56 41 52 3e 61 72 67 7a 5f 6c 65 6e 3c 2f 56 41 52 3e 29 20 62 79 20 73 70 6c 69 ....<VAR>argz_len</VAR>).by.spli
c760 74 74 69 6e 67 20 69 74 20 69 6e 74 6f 20 65 6c 65 6d 65 6e 74 73 20 61 74 20 65 76 65 72 79 20 tting.it.into.elements.at.every.
c780 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 occurrence.of.the..........chara
c7a0 63 74 65 72 20 3c 56 41 52 3e 73 65 70 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 cter.<VAR>sep</VAR>..........sq.
c7c0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 b1 74 00 3a 63 ~......w.....t..argz.hxq.~..t.:c
c7e0 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20 73 65 70 2c 20 63 68 61 72 onst.char.*string,.int.sep,.char
c800 20 2a 2a 61 72 67 7a 2c 20 73 69 7a 65 5f 74 20 2a 61 72 67 7a 5f 6c 65 6e 74 00 07 65 72 72 6f .**argz,.size_t.*argz_lent..erro
c820 72 5f 74 74 00 0b 61 72 67 7a 5f 64 65 6c 65 74 65 73 71 00 7e 00 0a 70 74 02 18 0a 20 20 20 20 r_tt..argz_deletesq.~..pt.......
c840 20 20 20 20 49 66 20 3c 56 41 52 3e 65 6e 74 72 79 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 ....If.<VAR>entry</VAR>.points.t
c860 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 65 6c o.the.beginning.of.one.of.the.el
c880 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 72 67 7a 20 76 65 63 74 ements.in.the..........argz.vect
c8a0 6f 72 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e or.<CODE>*<VAR>argz</VAR></CODE>
c8c0 2c 20 74 68 65 20 3c 43 4f 44 45 3e 61 72 67 7a 5f 64 65 6c 65 74 65 3c 2f 43 4f 44 45 3e 20 66 ,.the.<CODE>argz_delete</CODE>.f
c8e0 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 72 65 6d 6f 76 65 20 74 68 69 unction.will..........remove.thi
c900 73 20 65 6e 74 72 79 20 61 6e 64 20 72 65 61 6c 6c 6f 63 61 74 65 20 3c 43 4f 44 45 3e 2a 3c 56 s.entry.and.reallocate.<CODE>*<V
c920 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 6d 6f 64 69 66 79 69 6e 67 0a AR>argz</VAR></CODE>,.modifying.
c940 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 3c .........<CODE>*<VAR>argz</VAR><
c960 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a 5f 6c 65 6e 3c /CODE>.and.<CODE>*<VAR>argz_len<
c980 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 4e 6f 74 65 20 /VAR></CODE>.accordingly...Note.
c9a0 74 68 61 74 20 61 73 0a 20 20 20 20 20 20 20 20 20 64 65 73 74 72 75 63 74 69 76 65 20 61 72 67 that.as..........destructive.arg
c9c0 7a 20 66 75 6e 63 74 69 6f 6e 73 20 75 73 75 61 6c 6c 79 20 72 65 61 6c 6c 6f 63 61 74 65 20 74 z.functions.usually.reallocate.t
c9e0 68 65 69 72 20 61 72 67 7a 20 61 72 67 75 6d 65 6e 74 2c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 heir.argz.argument,..........poi
ca00 6e 74 65 72 73 20 69 6e 74 6f 20 61 72 67 7a 20 76 65 63 74 6f 72 73 20 73 75 63 68 20 61 73 20 nters.into.argz.vectors.such.as.
ca20 3c 56 41 52 3e 65 6e 74 72 79 3c 2f 56 41 52 3e 20 77 69 6c 6c 20 74 68 65 6e 20 62 65 63 6f 6d <VAR>entry</VAR>.will.then.becom
ca40 65 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 e.invalid..........sq.~......w..
ca60 00 00 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 b8 74 00 2a 63 68 61 72 20 2a 2a 61 72 67 7a ...t..argz.hxq.~..t.*char.**argz
ca80 2c 20 73 69 7a 65 5f 74 20 2a 61 72 67 7a 5f 6c 65 6e 2c 20 63 68 61 72 20 2a 65 6e 74 72 79 74 ,.size_t.*argz_len,.char.*entryt
caa0 00 04 76 6f 69 64 74 00 0c 61 72 67 7a 5f 65 78 74 72 61 63 74 73 71 00 7e 00 0a 70 74 03 d8 0a ..voidt..argz_extractsq.~..pt...
cac0 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 72 67 7a 5f 65 78 74 72 61 63 74 3c 2f ........The.<CODE>argz_extract</
cae0 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 61 72 67 7a CODE>.function.converts.the.argz
cb00 20 76 65 63 74 6f 72 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 20 .vector.<VAR>argz</VAR>.and.....
cb20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 7a 5f 6c 65 6e 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 61 20 .....<VAR>argz_len</VAR>.into.a.
cb40 55 6e 69 78 2d 73 74 79 6c 65 20 61 72 67 75 6d 65 6e 74 20 76 65 63 74 6f 72 20 73 74 6f 72 65 Unix-style.argument.vector.store
cb60 64 20 69 6e 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 62 d.in.<VAR>argv</VAR>,..........b
cb80 79 20 70 75 74 74 69 6e 67 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 65 76 65 72 79 20 65 6c 65 6d y.putting.pointers.to.every.elem
cba0 65 6e 74 20 69 6e 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 73 75 63 63 ent.in.<VAR>argz</VAR>.into.succ
cbc0 65 73 73 69 76 65 0a 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 73 20 69 6e 20 3c 56 41 essive..........positions.in.<VA
cbe0 52 3e 61 72 67 76 3c 2f 56 41 52 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 74 65 72 6d R>argv</VAR>,.followed.by.a.term
cc00 69 6e 61 74 6f 72 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 inator.of.<CODE>0</CODE>........
cc20 20 20 20 3c 56 41 52 3e 41 72 67 76 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 20 70 72 65 2d 61 ...<VAR>Argv</VAR>.must.be.pre-a
cc40 6c 6c 6f 63 61 74 65 64 20 77 69 74 68 20 65 6e 6f 75 67 68 20 73 70 61 63 65 20 74 6f 20 68 6f llocated.with.enough.space.to.ho
cc60 6c 64 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 ld.all.the..........elements.in.
cc80 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 70 6c 75 73 20 74 68 65 20 74 65 72 6d 69 6e 61 <VAR>argz</VAR>.plus.the.termina
cca0 74 69 6e 67 20 3c 43 4f 44 45 3e 28 63 68 61 72 20 2a 29 30 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 ting.<CODE>(char.*)0</CODE>.....
ccc0 20 20 20 20 20 28 3c 43 4f 44 45 3e 28 61 72 67 7a 5f 63 6f 75 6e 74 20 28 3c 56 41 52 3e 61 72 .....(<CODE>(argz_count.(<VAR>ar
cce0 67 7a 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 61 72 67 7a 5f 6c 65 6e 3c 2f 56 41 52 3e 29 20 2b gz</VAR>,.<VAR>argz_len</VAR>).+
cd00 20 31 29 20 2a 20 73 69 7a 65 6f 66 20 28 63 68 61 72 20 2a 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 .1).*.sizeof.(char.*)</CODE>....
cd20 20 20 20 20 20 20 62 79 74 65 73 20 73 68 6f 75 6c 64 20 62 65 20 65 6e 6f 75 67 68 29 2e 20 20 ......bytes.should.be.enough)...
cd40 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 73 20 73 74 Note.that.the.string.pointers.st
cd60 6f 72 65 64 20 69 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 ored.into..........<VAR>argv</VA
cd80 52 3e 20 70 6f 69 6e 74 20 69 6e 74 6f 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 2d 2d 2d R>.point.into.<VAR>argz</VAR>---
cda0 74 68 65 79 20 61 72 65 20 6e 6f 74 20 63 6f 70 69 65 73 2d 2d 2d 61 6e 64 20 73 6f 0a 20 20 20 they.are.not.copies---and.so....
cdc0 20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 20 63 6f ......<VAR>argz</VAR>.must.be.co
cde0 70 69 65 64 20 69 66 20 69 74 20 77 69 6c 6c 20 62 65 20 63 68 61 6e 67 65 64 20 77 68 69 6c 65 pied.if.it.will.be.changed.while
ce00 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 74 69 .<VAR>argv</VAR>.is..........sti
ce20 6c 6c 20 61 63 74 69 76 65 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 ll.active...This.function.is.use
ce40 66 75 6c 20 66 6f 72 20 70 61 73 73 69 6e 67 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 0a ful.for.passing.the.elements.in.
ce60 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 74 6f 20 61 6e 20 65 .........<VAR>argz</VAR>.to.an.e
ce80 78 65 63 20 66 75 6e 63 74 69 6f 6e 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 xec.function...........sq.~.....
cea0 01 77 04 00 00 00 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 bf 74 00 28 63 68 61 72 20 2a 61 .w.....t..argz.hxq.~..t.(char.*a
cec0 72 67 7a 2c 20 73 69 7a 65 5f 74 20 61 72 67 7a 5f 6c 65 6e 2c 20 63 68 61 72 20 2a 2a 61 72 67 rgz,.size_t.argz_len,.char.**arg
cee0 76 74 00 04 76 6f 69 64 74 00 0b 61 72 67 7a 5f 69 6e 73 65 72 74 73 71 00 7e 00 0a 70 74 02 ea vt..voidt..argz_insertsq.~..pt..
cf00 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 72 67 7a 5f 69 6e 73 65 72 74 3c 2f .........The.<CODE>argz_insert</
cf20 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 73 20 74 68 65 20 73 74 72 69 6e CODE>.function.inserts.the.strin
cf40 67 20 3c 56 41 52 3e 65 6e 74 72 79 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 74 68 65 0a 20 20 20 20 g.<VAR>entry</VAR>.into.the.....
cf60 20 20 20 20 20 61 72 67 7a 20 76 65 63 74 6f 72 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 .....argz.vector.<CODE>*<VAR>arg
cf80 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 74 20 61 20 70 6f 69 6e 74 20 6a 75 73 74 20 62 z</VAR></CODE>.at.a.point.just.b
cfa0 65 66 6f 72 65 20 74 68 65 20 65 78 69 73 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 65 6c 65 6d efore.the.existing..........elem
cfc0 65 6e 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 62 65 66 6f 72 65 3c 2f 56 ent.pointed.to.by.<VAR>before</V
cfe0 41 52 3e 2c 20 72 65 61 6c 6c 6f 63 61 74 69 6e 67 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 AR>,.reallocating.<CODE>*<VAR>ar
d000 67 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 75 70 64 gz</VAR></CODE>.and..........upd
d020 61 74 69 6e 67 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 3c 2f 43 4f ating.<CODE>*<VAR>argz</VAR></CO
d040 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a 5f 6c 65 6e 3c 2f 56 41 DE>.and.<CODE>*<VAR>argz_len</VA
d060 52 3e 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 3c 56 41 52 3e 62 65 66 6f 72 65 3c 2f 56 41 52 3e R></CODE>...If.<VAR>before</VAR>
d080 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2c 20 3c 56 41 ..........is.<CODE>0</CODE>,.<VA
d0a0 52 3e 65 6e 74 72 79 3c 2f 56 41 52 3e 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 65 6e R>entry</VAR>.is.added.to.the.en
d0c0 64 20 69 6e 73 74 65 61 64 20 28 61 73 20 69 66 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f d.instead.(as.if.by..........<CO
d0e0 44 45 3e 61 72 67 7a 5f 61 64 64 3c 2f 43 4f 44 45 3e 29 2e 20 20 53 69 6e 63 65 20 74 68 65 20 DE>argz_add</CODE>)...Since.the.
d100 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 69 6e 20 66 61 63 74 20 74 68 65 20 73 61 6d first.element.is.in.fact.the.sam
d120 65 20 61 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 61 72 67 7a 3c 2f e.as..........<CODE>*<VAR>argz</
d140 56 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 70 61 73 73 69 6e 67 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c VAR></CODE>,.passing.in.<CODE>*<
d160 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 73 20 74 68 65 20 76 61 6c VAR>argz</VAR></CODE>.as.the.val
d180 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 65 66 6f 72 65 3c 2f 56 41 52 3e ue.of..........<VAR>before</VAR>
d1a0 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 3c 56 41 52 3e 65 6e 74 72 79 3c 2f 56 41 52 3e .will.result.in.<VAR>entry</VAR>
d1c0 20 62 65 69 6e 67 20 69 6e 73 65 72 74 65 64 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 .being.inserted.at.the.beginning
d1e0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 ..........sq.~......w.....t..arg
d200 7a 2e 68 78 71 00 7e 01 c6 74 00 3e 63 68 61 72 20 2a 2a 61 72 67 7a 2c 20 73 69 7a 65 5f 74 20 z.hxq.~..t.>char.**argz,.size_t.
d220 2a 61 72 67 7a 5f 6c 65 6e 2c 20 63 68 61 72 20 2a 62 65 66 6f 72 65 2c 20 63 6f 6e 73 74 20 63 *argz_len,.char.*before,.const.c
d240 68 61 72 20 2a 65 6e 74 72 79 74 00 07 65 72 72 6f 72 5f 74 74 00 09 61 72 67 7a 5f 6e 65 78 74 har.*entryt..error_tt..argz_next
d260 73 71 00 7e 00 0a 70 74 05 96 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 72 67 sq.~..pt...........The.<CODE>arg
d280 7a 5f 6e 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 76 69 64 65 73 20 z_next</CODE>.function.provides.
d2a0 61 20 63 6f 6e 76 65 6e 69 65 6e 74 20 77 61 79 20 6f 66 20 69 74 65 72 61 74 69 6e 67 0a 20 20 a.convenient.way.of.iterating...
d2c0 20 20 20 20 20 20 20 6f 76 65 72 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 .......over.the.elements.in.the.
d2e0 61 72 67 7a 20 76 65 63 74 6f 72 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 2e 20 20 49 74 argz.vector.<VAR>argz</VAR>...It
d300 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 .returns.a.pointer..........to.t
d320 68 65 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 he.next.element.in.<VAR>argz</VA
d340 52 3e 20 61 66 74 65 72 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 3c 56 41 52 3e 65 6e 74 72 79 3c R>.after.the.element.<VAR>entry<
d360 2f 56 41 52 3e 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 /VAR>,.or..........<CODE>0</CODE
d380 3e 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 65 6c 65 6d 65 6e 74 73 20 66 6f 6c 6c 6f >.if.there.are.no.elements.follo
d3a0 77 69 6e 67 20 3c 56 41 52 3e 65 6e 74 72 79 3c 2f 56 41 52 3e 2e 20 20 49 66 20 3c 56 41 52 3e wing.<VAR>entry</VAR>...If.<VAR>
d3c0 65 6e 74 72 79 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f 44 45 3e 30 3c entry</VAR>..........is.<CODE>0<
d3e0 2f 43 4f 44 45 3e 2c 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 3c 56 41 /CODE>,.the.first.element.of.<VA
d400 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 R>argz</VAR>.is.returned........
d420 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 62 65 68 61 76 69 6f 72 20 73 75 67 67 65 73 ...<br><br>.This.behavior.sugges
d440 74 73 20 74 77 6f 20 73 74 79 6c 65 73 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 3a 0a 20 20 20 20 ts.two.styles.of.iteration:.....
d460 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 .....<br><br>.<pre><br>.........
d480 20 20 20 20 20 63 68 61 72 20 2a 65 6e 74 72 79 20 3d 20 30 3b 3c 62 72 3e 0a 20 20 20 20 20 20 .....char.*entry.=.0;<br>.......
d4a0 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 28 65 6e 74 72 79 20 3d 20 61 72 67 7a 5f 6e 65 78 74 .......while.((entry.=.argz_next
d4c0 20 28 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 61 72 67 7a 5f 6c 65 6e .(<VAR>argz</VAR>,.<VAR>argz_len
d4e0 3c 2f 56 41 52 3e 2c 20 65 6e 74 72 79 29 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </VAR>,.entry)))<br>............
d500 20 20 20 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 3b 3c 62 72 3e 0a 20 20 20 20 20 ....<VAR>action</VAR>;<br>......
d520 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ....</pre><br>..........<br><br>
d540 20 28 74 68 65 20 64 6f 75 62 6c 65 20 70 61 72 65 6e 74 68 65 73 65 73 20 61 72 65 20 6e 65 63 .(the.double.parentheses.are.nec
d560 65 73 73 61 72 79 20 74 6f 20 6d 61 6b 65 20 73 6f 6d 65 20 43 20 63 6f 6d 70 69 6c 65 72 73 20 essary.to.make.some.C.compilers.
d580 73 68 75 74 20 75 70 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 61 62 6f 75 74 20 77 68 61 74 20 shut.up<br>..........about.what.
d5a0 74 68 65 79 20 63 6f 6e 73 69 64 65 72 20 61 20 71 75 65 73 74 69 6f 6e 61 62 6c 65 20 3c 43 4f they.consider.a.questionable.<CO
d5c0 44 45 3e 77 68 69 6c 65 3c 2f 43 4f 44 45 3e 2d 74 65 73 74 29 20 61 6e 64 3a 3c 62 72 3e 0a 20 DE>while</CODE>-test).and:<br>..
d5e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 ........<br><br>.<pre><br>......
d600 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 65 6e 74 72 79 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 ........char.*entry;<br>........
d620 20 20 20 20 20 20 66 6f 72 20 28 65 6e 74 72 79 20 3d 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 ......for.(entry.=.<VAR>argz</VA
d640 52 3e 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 3b R>;<br>...................entry;
d660 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 20 3d 20 61 <br>...................entry.=.a
d680 72 67 7a 5f 6e 65 78 74 20 28 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e rgz_next.(<VAR>argz</VAR>,.<VAR>
d6a0 61 72 67 7a 5f 6c 65 6e 3c 2f 56 41 52 3e 2c 20 65 6e 74 72 79 29 29 3c 62 72 3e 0a 20 20 20 20 argz_len</VAR>,.entry))<br>.....
d6c0 20 20 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 3b 3c 62 72 ...........<VAR>action</VAR>;<br
d6e0 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c >..........</pre>..........<br><
d700 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 6c 61 74 74 65 72 20 64 65 70 65 6e 64 73 br>.Note.that.the.latter.depends
d720 20 6f 6e 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 68 61 76 69 6e 67 20 61 20 76 61 6c .on.<VAR>argz</VAR>.having.a.val
d740 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 0a 20 20 20 20 20 20 20 20 ue.of.<CODE>0</CODE>.if.........
d760 20 69 74 20 69 73 20 65 6d 70 74 79 20 28 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 70 6f 69 6e .it.is.empty.(rather.than.a.poin
d780 74 65 72 20 74 6f 20 61 6e 20 65 6d 70 74 79 20 62 6c 6f 63 6b 20 6f 66 20 6d 65 6d 6f 72 79 29 ter.to.an.empty.block.of.memory)
d7a0 3b 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 69 6e 76 61 72 69 61 6e 74 20 69 73 20 6d 61 69 ;.this..........invariant.is.mai
d7c0 6e 74 61 69 6e 65 64 20 66 6f 72 20 61 72 67 7a 20 76 65 63 74 6f 72 73 20 63 72 65 61 74 65 64 ntained.for.argz.vectors.created
d7e0 20 62 79 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 .by.the.functions.here..........
d800 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 cd 74 sq.~......w.....t..argz.hxq.~..t
d820 00 2e 63 68 61 72 20 2a 61 72 67 7a 2c 20 73 69 7a 65 5f 74 20 61 72 67 7a 5f 6c 65 6e 2c 20 63 ..char.*argz,.size_t.argz_len,.c
d840 6f 6e 73 74 20 63 68 61 72 20 2a 65 6e 74 72 79 74 00 06 63 68 61 72 20 2a 74 00 0c 61 72 67 7a onst.char.*entryt..char.*t..argz
d860 5f 72 65 70 6c 61 63 65 73 71 00 7e 00 0a 70 74 01 3f 0a 20 20 20 20 20 20 20 20 52 65 70 6c 61 _replacesq.~..pt.?.........Repla
d880 63 65 20 61 6e 79 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 ce.any.occurrences.of.the.string
d8a0 20 3c 56 41 52 3e 73 74 72 3c 2f 56 41 52 3e 20 69 6e 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 .<VAR>str</VAR>.in.<VAR>argz</VA
d8c0 52 3e 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 77 69 74 68 3c 2f 56 41 52 3e R>.with..........<VAR>with</VAR>
d8e0 2c 20 72 65 61 6c 6c 6f 63 61 74 69 6e 67 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 61 ,.reallocating.<VAR>argz</VAR>.a
d900 73 20 6e 65 63 65 73 73 61 72 79 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 72 s.necessary...If..........<VAR>r
d920 65 70 6c 61 63 65 5f 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 6e 2d 7a 65 72 6f 2c 20 eplace_count</VAR>.is.non-zero,.
d940 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 65 70 6c 61 63 65 5f 63 6f 75 6e 74 3c 2f 56 41 52 3e 3c <CODE>*<VAR>replace_count</VAR><
d960 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 69 6e 63 72 65 6d 65 6e /CODE>.will.be..........incremen
d980 74 65 64 20 62 79 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 70 65 ted.by.number.of.replacements.pe
d9a0 72 66 6f 72 6d 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 rformed..........sq.~......w....
d9c0 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 d4 70 74 00 07 65 72 72 6f 72 5f 74 74 00 0e 61 72 .t..argz.hxq.~..pt..error_tt..ar
d9e0 67 7a 5f 73 74 72 69 6e 67 69 66 79 73 71 00 7e 00 0a 70 74 01 85 0a 20 20 20 20 20 20 20 20 54 gz_stringifysq.~..pt...........T
da00 68 65 20 3c 43 4f 44 45 3e 61 72 67 7a 5f 73 74 72 69 6e 67 69 66 79 3c 2f 43 4f 44 45 3e 20 63 he.<CODE>argz_stringify</CODE>.c
da20 6f 6e 76 65 72 74 73 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 61 20 6e onverts.<VAR>argz</VAR>.into.a.n
da40 6f 72 6d 61 6c 20 73 74 72 69 6e 67 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 ormal.string.with..........the.e
da60 6c 65 6d 65 6e 74 73 20 73 65 70 61 72 61 74 65 64 20 62 79 20 74 68 65 20 63 68 61 72 61 63 74 lements.separated.by.the.charact
da80 65 72 20 3c 56 41 52 3e 73 65 70 3c 2f 56 41 52 3e 2c 20 62 79 20 72 65 70 6c 61 63 69 6e 67 20 er.<VAR>sep</VAR>,.by.replacing.
daa0 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 27 5c 30 27 3c 2f 43 4f 44 45 3e 20 each..........<CODE>'\0'</CODE>.
dac0 69 6e 73 69 64 65 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 28 65 78 63 65 70 74 20 74 inside.<VAR>argz</VAR>.(except.t
dae0 68 65 20 6c 61 73 74 20 6f 6e 65 2c 20 77 68 69 63 68 20 74 65 72 6d 69 6e 61 74 65 73 20 74 68 he.last.one,.which.terminates.th
db00 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 29 20 77 69 74 68 20 3c 56 41 52 3e 73 65 70 e..........string).with.<VAR>sep
db20 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 69 73 20 68 61 6e 64 79 20 66 6f 72 20 70 72 69 6e 74 </VAR>...This.is.handy.for.print
db40 69 6e 67 20 3c 56 41 52 3e 61 72 67 7a 3c 2f 56 41 52 3e 20 69 6e 20 61 0a 20 20 20 20 20 20 20 ing.<VAR>argz</VAR>.in.a........
db60 20 20 72 65 61 64 61 62 6c 65 20 6d 61 6e 6e 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 ..readable.manner..........sq.~.
db80 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 61 72 67 7a 2e 68 78 71 00 7e 01 da 74 00 1f 63 68 61 .....w.....t..argz.hxq.~..t..cha
dba0 72 20 2a 61 72 67 7a 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 2c 20 69 6e 74 20 73 65 70 74 00 04 76 r.*argz,.size_t.len,.int.sept..v
dbc0 6f 69 64 74 00 07 61 73 63 74 69 6d 65 73 71 00 7e 00 0a 70 74 03 fb 0a 20 20 20 20 20 20 20 20 oidt..asctimesq.~..pt...........
dbe0 54 68 65 20 3c 43 4f 44 45 3e 61 73 63 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f The.<CODE>asctime</CODE>.functio
dc00 6e 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 6d 65 20 n.converts.the.broken-down.time.
dc20 76 61 6c 75 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 72 6f 6b 65 6e 74 value.that..........<VAR>brokent
dc40 69 6d 65 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 20 69 6e 74 6f 20 61 20 73 74 72 69 6e ime</VAR>.points.to.into.a.strin
dc60 67 20 69 6e 20 61 20 73 74 61 6e 64 61 72 64 20 66 6f 72 6d 61 74 3a 0a 20 20 20 20 20 20 20 20 g.in.a.standard.format:.........
dc80 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 22 54 75 .<br><br>.<pre><br>.........."Tu
dca0 65 20 4d 61 79 20 32 31 20 31 33 3a 34 36 3a 32 32 20 31 39 39 31 5c 6e 22 3c 62 72 3e 0a 20 20 e.May.21.13:46:22.1991\n"<br>...
dcc0 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 .......</pre>..........<br><br>.
dce0 54 68 65 20 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 64 61 79 73 20 6f The.abbreviations.for.the.days.o
dd00 66 20 77 65 65 6b 20 61 72 65 3a 20 3c 73 61 6d 70 3e 53 75 6e 3c 2f 73 61 6d 70 3e 2c 20 3c 73 f.week.are:.<samp>Sun</samp>,.<s
dd20 61 6d 70 3e 4d 6f 6e 3c 2f 73 61 6d 70 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 54 amp>Mon</samp>,..........<samp>T
dd40 75 65 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 6d 70 3e 57 65 64 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 ue</samp>,.<samp>Wed</samp>,.<sa
dd60 6d 70 3e 54 68 75 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 6d 70 3e 46 72 69 3c 2f 73 61 6d 70 3e 2c mp>Thu</samp>,.<samp>Fri</samp>,
dd80 20 61 6e 64 20 3c 73 61 6d 70 3e 53 61 74 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 20 .and.<samp>Sat</samp>...........
dda0 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 66 6f 72 20 74 <br><br>.The.abbreviations.for.t
ddc0 68 65 20 6d 6f 6e 74 68 73 20 61 72 65 3a 20 3c 73 61 6d 70 3e 4a 61 6e 3c 2f 73 61 6d 70 3e 2c he.months.are:.<samp>Jan</samp>,
dde0 20 3c 73 61 6d 70 3e 46 65 62 3c 2f 73 61 6d 70 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d .<samp>Feb</samp>,..........<sam
de00 70 3e 4d 61 72 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 6d 70 3e 41 70 72 3c 2f 73 61 6d 70 3e 2c 20 p>Mar</samp>,.<samp>Apr</samp>,.
de20 3c 73 61 6d 70 3e 4d 61 79 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 6d 70 3e 4a 75 6e 3c 2f 73 61 6d <samp>May</samp>,.<samp>Jun</sam
de40 70 3e 2c 20 3c 73 61 6d 70 3e 4a 75 6c 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 6d 70 3e 41 75 67 3c p>,.<samp>Jul</samp>,.<samp>Aug<
de60 2f 73 61 6d 70 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 53 65 70 3c 2f 73 61 6d 70 /samp>,..........<samp>Sep</samp
de80 3e 2c 20 3c 73 61 6d 70 3e 4f 63 74 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 6d 70 3e 4e 6f 76 3c 2f >,.<samp>Oct</samp>,.<samp>Nov</
dea0 73 61 6d 70 3e 2c 20 61 6e 64 20 3c 73 61 6d 70 3e 44 65 63 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 samp>,.and.<samp>Dec</samp>.....
dec0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 ......<br><br>.The.return.value.
dee0 70 6f 69 6e 74 73 20 74 6f 20 61 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 points.to.a.statically.allocated
df00 20 73 74 72 69 6e 67 2c 20 77 68 69 63 68 20 6d 69 67 68 74 20 62 65 0a 20 20 20 20 20 20 20 20 .string,.which.might.be.........
df20 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 .overwritten.by.subsequent.calls
df40 20 74 6f 20 3c 43 4f 44 45 3e 61 73 63 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 .to.<CODE>asctime</CODE>.or.<COD
df60 45 3e 63 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 28 42 75 74 20 6e 6f E>ctime</CODE>...........(But.no
df80 20 6f 74 68 65 72 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 .other.library.function.overwrit
dfa0 65 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 es.the.contents.of.this.........
dfc0 20 73 74 72 69 6e 67 2e 29 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 .string.).........sq.~......w...
dfe0 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 01 e1 74 00 1b 63 6f 6e 73 74 20 73 74 72 75 63 74 ..t..time.hxq.~..t..const.struct
e000 20 74 6d 20 2a 62 72 6f 6b 65 6e 74 69 6d 65 74 00 06 63 68 61 72 20 2a 74 00 09 61 73 63 74 69 .tm.*brokentimet..char.*t..ascti
e020 6d 65 5f 72 73 71 00 7e 00 0a 70 74 02 05 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 me_rsq.~..pt...........This.func
e040 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 61 73 63 74 69 6d 65 tion.is.similar.to.<CODE>asctime
e060 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 6e 73 74 65 61 64 20 6f 66 20 70 6c 61 63 69 6e 67 20 74 </CODE>.but.instead.of.placing.t
e080 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 6e 20 61 20 73 74 61 74 69 63 20 62 he..........result.in.a.static.b
e0a0 75 66 66 65 72 20 69 74 20 77 72 69 74 65 73 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 20 74 68 uffer.it.writes.the.string.in.th
e0c0 65 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 62 79 20 e.buffer.pointed.to..........by.
e0e0 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e the.parameter.<VAR>buffer</VAR>.
e100 20 20 54 68 69 73 20 62 75 66 66 65 72 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 6f 6f 6d 0a 20 ..This.buffer.should.have.room..
e120 20 20 20 20 20 20 20 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 32 36 20 62 79 74 65 73 2c 20 69 ........for.at.least.26.bytes,.i
e140 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 2e 0a 20 ncluding.the.terminating.null...
e160 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 6e 6f 20 65 72 72 6f 72 20 6f 63 63 ........<br><br>.If.no.error.occ
e180 75 72 72 65 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 urred.the.function.returns.a.poi
e1a0 6e 74 65 72 20 74 6f 20 74 68 65 20 73 74 72 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 nter.to.the.string.the..........
e1c0 72 65 73 75 6c 74 20 77 61 73 20 77 72 69 74 74 65 6e 20 69 6e 74 6f 2c 20 69 2e 65 2e 2c 20 69 result.was.written.into,.i.e.,.i
e1e0 74 20 72 65 74 75 72 6e 73 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 4f 74 t.returns.<VAR>buffer</VAR>...Ot
e200 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 4e 55 herwise..........return.<CODE>NU
e220 4c 4c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 LL</CODE>..........sq.~......w..
e240 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 01 e8 74 00 29 63 6f 6e 73 74 20 73 74 72 75 63 ...t..time.hxq.~..t.)const.struc
e260 74 20 74 6d 20 2a 62 72 6f 6b 65 6e 74 69 6d 65 2c 20 63 68 61 72 20 2a 62 75 66 66 65 72 74 00 t.tm.*brokentime,.char.*buffert.
e280 06 63 68 61 72 20 2a 74 00 04 61 73 69 6e 73 71 00 7e 00 0a 70 74 02 2e 0a 20 20 20 20 20 20 20 .char.*t..asinsq.~..pt..........
e2a0 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 61 72 63 .These.functions.compute.the.arc
e2c0 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c .sine.of.<VAR>x</VAR>---that.is,
e2e0 20 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 0a 20 20 20 20 20 20 20 20 20 73 69 6e 65 20 69 .the.value.whose..........sine.i
e300 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 69 6e s.<VAR>x</VAR>...The.value.is.in
e320 20 75 6e 69 74 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c .units.of.radians...Mathematical
e340 6c 79 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 72 65 20 61 72 65 20 69 6e 66 69 6e 69 74 65 6c ly,..........there.are.infinitel
e360 79 20 6d 61 6e 79 20 73 75 63 68 20 76 61 6c 75 65 73 3b 20 74 68 65 20 6f 6e 65 20 61 63 74 75 y.many.such.values;.the.one.actu
e380 61 6c 6c 79 20 72 65 74 75 72 6e 65 64 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 6e ally.returned.is.the..........on
e3a0 65 20 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 2d 70 69 2f 32 3c 2f 43 4f 44 45 3e 20 61 6e 64 e.between.<CODE>-pi/2</CODE>.and
e3c0 20 3c 43 4f 44 45 3e 70 69 2f 32 3c 2f 43 4f 44 45 3e 20 28 69 6e 63 6c 75 73 69 76 65 29 2e 0a .<CODE>pi/2</CODE>.(inclusive)..
e3e0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 72 63 20 73 69 6e 65 20 66 .........<br><br>.The.arc.sine.f
e400 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c unction.is.defined.mathematicall
e420 79 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 20 74 68 65 20 64 6f 6d 61 69 6e 20 y.only..........over.the.domain.
e440 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 <CODE>-1</CODE>.to.<CODE>1</CODE
e460 3e 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6f 75 74 73 69 64 65 20 74 >...If.<VAR>x</VAR>.is.outside.t
e480 68 65 0a 20 20 20 20 20 20 20 20 20 64 6f 6d 61 69 6e 2c 20 3c 43 4f 44 45 3e 61 73 69 6e 3c 2f he..........domain,.<CODE>asin</
e4a0 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 CODE>.signals.a.domain.error....
e4c0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 ......sq.~......w.....t..math.hx
e4e0 71 00 7e 01 ef 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 05 61 73 69 6e q.~..t..double.xt..doublet..asin
e500 66 73 71 00 7e 00 0a 70 74 02 2e 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 fsq.~..pt...........These.functi
e520 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 61 72 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 ons.compute.the.arc.sine.of.<VAR
e540 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 20 74 68 65 20 76 61 6c 75 65 20 77 68 >x</VAR>---that.is,.the.value.wh
e560 6f 73 65 0a 20 20 20 20 20 20 20 20 20 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 ose..........sine.is.<VAR>x</VAR
e580 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 72 61 64 >...The.value.is.in.units.of.rad
e5a0 69 61 6e 73 2e 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 0a 20 20 20 20 20 20 20 20 20 ians...Mathematically,..........
e5c0 74 68 65 72 65 20 61 72 65 20 69 6e 66 69 6e 69 74 65 6c 79 20 6d 61 6e 79 20 73 75 63 68 20 76 there.are.infinitely.many.such.v
e5e0 61 6c 75 65 73 3b 20 74 68 65 20 6f 6e 65 20 61 63 74 75 61 6c 6c 79 20 72 65 74 75 72 6e 65 64 alues;.the.one.actually.returned
e600 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 6e 65 20 62 65 74 77 65 65 6e 20 3c 43 4f .is.the..........one.between.<CO
e620 44 45 3e 2d 70 69 2f 32 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 70 69 2f 32 3c 2f DE>-pi/2</CODE>.and.<CODE>pi/2</
e640 43 4f 44 45 3e 20 28 69 6e 63 6c 75 73 69 76 65 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e CODE>.(inclusive)...........<br>
e660 3c 62 72 3e 20 54 68 65 20 61 72 63 20 73 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 <br>.The.arc.sine.function.is.de
e680 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 6f 6e 6c 79 0a 20 20 20 20 20 20 fined.mathematically.only.......
e6a0 20 20 20 6f 76 65 72 20 74 68 65 20 64 6f 6d 61 69 6e 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 ...over.the.domain.<CODE>-1</COD
e6c0 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 3c 56 41 52 3e 78 E>.to.<CODE>1</CODE>...If.<VAR>x
e6e0 3c 2f 56 41 52 3e 20 69 73 20 6f 75 74 73 69 64 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 </VAR>.is.outside.the..........d
e700 6f 6d 61 69 6e 2c 20 3c 43 4f 44 45 3e 61 73 69 6e 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 omain,.<CODE>asin</CODE>.signals
e720 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 .a.domain.error..........sq.~...
e740 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 01 f6 74 00 07 66 6c 6f 61 74 ...w.....t..math.hxq.~..t..float
e760 20 78 74 00 05 66 6c 6f 61 74 74 00 05 61 73 69 6e 68 73 71 00 7e 00 0a 70 74 00 90 0a 20 20 20 .xt..floatt..asinhsq.~..pt......
e780 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 .....These.functions.return.the.
e7a0 69 6e 76 65 72 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e inverse.hyperbolic.sine.of.<VAR>
e7c0 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f x</VAR>---the..........value.who
e7e0 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 se.hyperbolic.sine.is.<VAR>x</VA
e800 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d R>..........sq.~......w.....t..m
e820 61 74 68 2e 68 78 71 00 7e 01 fd 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 ath.hxq.~..t..double.xt..doublet
e840 00 06 61 73 69 6e 68 66 73 71 00 7e 00 0a 70 74 00 90 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 ..asinhfsq.~..pt...........These
e860 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 68 79 .functions.return.the.inverse.hy
e880 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d perbolic.sine.of.<VAR>x</VAR>---
e8a0 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f 73 65 20 68 79 70 65 72 62 6f the..........value.whose.hyperbo
e8c0 6c 69 63 20 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 lic.sine.is.<VAR>x</VAR>........
e8e0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 02 ..sq.~......w.....t..math.hxq.~.
e900 04 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 06 61 73 69 6e 68 6c 73 71 00 7e .t..float.xt..floatt..asinhlsq.~
e920 00 0a 70 74 00 90 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 ..pt...........These.functions.r
e940 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e eturn.the.inverse.hyperbolic.sin
e960 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 0a 20 20 20 20 20 20 20 20 e.of.<VAR>x</VAR>---the.........
e980 20 76 61 6c 75 65 20 77 68 6f 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 69 73 20 .value.whose.hyperbolic.sine.is.
e9a0 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 <VAR>x</VAR>..........sq.~......
e9c0 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 02 0b 74 00 0d 6c 6f 6e 67 20 64 6f 75 w.....t..math.hxq.~..t..long.dou
e9e0 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 61 73 69 6e 6c 73 71 00 7e 00 ble.xt..long.doublet..asinlsq.~.
ea00 0a 70 74 02 2e 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f .pt...........These.functions.co
ea20 6d 70 75 74 65 20 74 68 65 20 61 72 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 mpute.the.arc.sine.of.<VAR>x</VA
ea40 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 20 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 0a 20 20 R>---that.is,.the.value.whose...
ea60 20 20 20 20 20 20 20 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 .......sine.is.<VAR>x</VAR>...Th
ea80 65 20 76 61 6c 75 65 20 69 73 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 20 e.value.is.in.units.of.radians..
eaa0 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 72 65 20 .Mathematically,..........there.
eac0 61 72 65 20 69 6e 66 69 6e 69 74 65 6c 79 20 6d 61 6e 79 20 73 75 63 68 20 76 61 6c 75 65 73 3b are.infinitely.many.such.values;
eae0 20 74 68 65 20 6f 6e 65 20 61 63 74 75 61 6c 6c 79 20 72 65 74 75 72 6e 65 64 20 69 73 20 74 68 .the.one.actually.returned.is.th
eb00 65 0a 20 20 20 20 20 20 20 20 20 6f 6e 65 20 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 2d 70 69 e..........one.between.<CODE>-pi
eb20 2f 32 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 70 69 2f 32 3c 2f 43 4f 44 45 3e 20 /2</CODE>.and.<CODE>pi/2</CODE>.
eb40 28 69 6e 63 6c 75 73 69 76 65 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 (inclusive)...........<br><br>.T
eb60 68 65 20 61 72 63 20 73 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 he.arc.sine.function.is.defined.
eb80 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 6f 76 65 mathematically.only..........ove
eba0 72 20 74 68 65 20 64 6f 6d 61 69 6e 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 r.the.domain.<CODE>-1</CODE>.to.
ebc0 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e <CODE>1</CODE>...If.<VAR>x</VAR>
ebe0 20 69 73 20 6f 75 74 73 69 64 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 6f 6d 61 69 6e 2c .is.outside.the..........domain,
ec00 20 3c 43 4f 44 45 3e 61 73 69 6e 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d .<CODE>asin</CODE>.signals.a.dom
ec20 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ain.error..........sq.~......w..
ec40 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 02 12 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 ...t..math.hxq.~..t..long.double
ec60 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 08 61 73 70 72 69 6e 74 66 73 71 00 7e 00 .xt..long.doublet..asprintfsq.~.
ec80 0a 70 74 05 0e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 .pt...........This.function.is.s
eca0 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2c 20 imilar.to.<CODE>sprintf</CODE>,.
ecc0 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 20 20 20 20 20 except.that.it.dynamically......
ece0 20 20 20 20 61 6c 6c 6f 63 61 74 65 73 20 61 20 73 74 72 69 6e 67 20 28 61 73 20 77 69 74 68 20 ....allocates.a.string.(as.with.
ed00 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 3b 20 29 20 74 6f 20 68 6f 6c 64 20 74 <CODE>malloc</CODE>;.).to.hold.t
ed20 68 65 20 6f 75 74 70 75 74 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 70 75 74 74 69 6e 67 20 74 68 he.output,.instead.of.putting.th
ed40 65 20 6f 75 74 70 75 74 20 69 6e 20 61 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 79 6f e.output.in.a..........buffer.yo
ed60 75 20 61 6c 6c 6f 63 61 74 65 20 69 6e 20 61 64 76 61 6e 63 65 2e 20 20 54 68 65 20 3c 56 41 52 u.allocate.in.advance...The.<VAR
ed80 3e 70 74 72 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 68 6f 75 6c 64 20 62 65 20 74 68 >ptr</VAR>.argument.should.be.th
eda0 65 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 3c 43 4f 44 45 3e 63 68 e..........address.of.a.<CODE>ch
edc0 61 72 20 2a 3c 2f 43 4f 44 45 3e 20 6f 62 6a 65 63 74 2c 20 61 6e 64 20 61 20 73 75 63 63 65 73 ar.*</CODE>.object,.and.a.succes
ede0 73 66 75 6c 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 73 70 72 sful.call.to..........<CODE>aspr
ee00 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 intf</CODE>.stores.a.pointer.to.
ee20 74 68 65 20 6e 65 77 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 73 74 72 69 6e 67 20 61 74 20 74 68 the.newly.allocated.string.at.th
ee40 61 74 0a 20 20 20 20 20 20 20 20 20 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c at..........location...........<
ee60 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 br><br>.The.return.value.is.the.
ee80 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 61 6c 6c 6f 63 61 74 65 64 20 66 number.of.characters.allocated.f
eea0 6f 72 20 74 68 65 20 62 75 66 66 65 72 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 6c 65 73 73 20 or.the.buffer,.or..........less.
eec0 74 68 61 6e 20 7a 65 72 6f 20 69 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2e 20 than.zero.if.an.error.occurred..
eee0 55 73 75 61 6c 6c 79 20 74 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 62 75 66 66 Usually.this.means.that.the.buff
ef00 65 72 0a 20 20 20 20 20 20 20 20 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 6c 6c 6f 63 61 74 er..........could.not.be.allocat
ef20 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 48 65 72 65 20 69 73 20 68 6f ed...........<br><br>.Here.is.ho
ef40 77 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 61 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 74 w.to.use.<CODE>asprintf</CODE>.t
ef60 6f 20 67 65 74 20 74 68 65 20 73 61 6d 65 20 72 65 73 75 6c 74 20 61 73 20 74 68 65 0a 20 20 20 o.get.the.same.result.as.the....
ef80 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 6e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 65 78 61 6d ......<CODE>snprintf</CODE>.exam
efa0 70 6c 65 2c 20 62 75 74 20 6d 6f 72 65 20 65 61 73 69 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 3c ple,.but.more.easily:..........<
efc0 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 2f 2a 20 43 6f br><br>.<pre><br>........../*.Co
efe0 6e 73 74 72 75 63 74 20 61 20 6d 65 73 73 61 67 65 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 nstruct.a.message.describing.the
f000 20 76 61 6c 75 65 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 .value.of.a.variable<br>........
f020 20 20 20 20 20 77 68 6f 73 65 20 6e 61 6d 65 20 69 73 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 .....whose.name.is.<VAR>name</VA
f040 52 3e 20 61 6e 64 20 77 68 6f 73 65 20 76 61 6c 75 65 20 69 73 20 3c 56 41 52 3e 76 61 6c 75 65 R>.and.whose.value.is.<VAR>value
f060 3c 2f 56 41 52 3e 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 3c 62 </VAR>..*/<br>..........char.*<b
f080 72 3e 0a 20 20 20 20 20 20 20 20 20 6d 61 6b 65 5f 6d 65 73 73 61 67 65 20 28 63 68 61 72 20 2a r>..........make_message.(char.*
f0a0 6e 61 6d 65 2c 20 63 68 61 72 20 2a 76 61 6c 75 65 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 name,.char.*value)<br>..........
f0c0 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 72 65 73 75 6c 74 3b 3c 62 {<br>............char.*result;<b
f0e0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 61 73 70 72 69 6e 74 66 20 28 26 72 65 73 r>............if.(asprintf.(&res
f100 75 6c 74 2c 20 22 76 61 6c 75 65 20 6f 66 20 25 73 20 69 73 20 25 73 22 2c 20 6e 61 6d 65 2c 20 ult,."value.of.%s.is.%s",.name,.
f120 76 61 6c 75 65 29 20 3c 20 30 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 value).<.0)<br>..............ret
f140 75 72 6e 20 4e 55 4c 4c 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 urn.NULL;<br>............return.
f160 72 65 73 75 6c 74 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 result;<br>..........}<br>......
f180 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ....</pre>.........sq.~......w..
f1a0 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 02 19 74 00 25 63 68 61 72 20 2a 2a 70 74 72 ...t..stdio.hxq.~..t.%char.**ptr
f1c0 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 03 69 6e ,.const.char.*template,....t..in
f1e0 74 74 00 04 61 74 61 6e 73 71 00 7e 00 0a 70 74 01 55 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 tt..atansq.~..pt.U.........These
f200 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 61 72 63 20 74 61 6e 67 65 .functions.compute.the.arc.tange
f220 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 20 74 68 nt.of.<VAR>x</VAR>---that.is,.th
f240 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 77 68 6f 73 65 20 74 61 6e 67 65 6e 74 20 69 e.value..........whose.tangent.i
f260 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 69 6e s.<VAR>x</VAR>...The.value.is.in
f280 20 75 6e 69 74 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 .units.of.radians...........Math
f2a0 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 65 72 65 20 61 72 65 20 69 6e 66 69 6e 69 74 65 6c 79 ematically,.there.are.infinitely
f2c0 20 6d 61 6e 79 20 73 75 63 68 20 76 61 6c 75 65 73 3b 20 74 68 65 20 6f 6e 65 20 61 63 74 75 61 .many.such.values;.the.one.actua
f2e0 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 69 73 20 74 68 65 20 6f 6e 65 lly..........returned.is.the.one
f300 20 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 2d 70 69 2f 32 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 .between.<CODE>-pi/2</CODE>.and.
f320 3c 43 4f 44 45 3e 70 69 2f 32 3c 2f 43 4f 44 45 3e 20 28 69 6e 63 6c 75 73 69 76 65 29 2e 0a 20 <CODE>pi/2</CODE>.(inclusive)...
f340 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
f360 78 71 00 7e 02 20 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 05 61 74 61 xq.~..t..double.xt..doublet..ata
f380 6e 32 73 71 00 7e 00 0a 70 74 03 68 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 n2sq.~..pt.h.........This.functi
f3a0 6f 6e 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 61 72 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c on.computes.the.arc.tangent.of.<
f3c0 56 41 52 3e 79 3c 2f 56 41 52 3e 2f 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 62 75 74 20 74 68 VAR>y</VAR>/<VAR>x</VAR>,.but.th
f3e0 65 20 73 69 67 6e 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 62 6f 74 68 20 61 72 67 75 6d 65 6e e.signs..........of.both.argumen
f400 74 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 71 75 61 ts.are.used.to.determine.the.qua
f420 64 72 61 6e 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 drant.of.the.result,.and........
f440 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 62 ..<VAR>x</VAR>.is.permitted.to.b
f460 65 20 7a 65 72 6f 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 67 69 76 e.zero...The.return.value.is.giv
f480 65 6e 20 69 6e 20 72 61 64 69 61 6e 73 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 69 73 20 69 6e en.in.radians..........and.is.in
f4a0 20 74 68 65 20 72 61 6e 67 65 20 3c 43 4f 44 45 3e 2d 70 69 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c .the.range.<CODE>-pi</CODE>.to.<
f4c0 43 4f 44 45 3e 70 69 3c 2f 43 4f 44 45 3e 2c 20 69 6e 63 6c 75 73 69 76 65 2e 0a 20 20 20 20 20 CODE>pi</CODE>,.inclusive.......
f4e0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 ....<br><br>.If.<VAR>x</VAR>.and
f500 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 .<VAR>y</VAR>.are.coordinates.of
f520 20 61 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 70 6c 61 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 .a.point.in.the.plane,..........
f540 3c 43 4f 44 45 3e 61 74 61 6e 32 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 <CODE>atan2</CODE>.returns.the.s
f560 69 67 6e 65 64 20 61 6e 67 6c 65 20 62 65 74 77 65 65 6e 20 74 68 65 20 6c 69 6e 65 20 66 72 6f igned.angle.between.the.line.fro
f580 6d 20 74 68 65 20 6f 72 69 67 69 6e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 61 74 20 70 6f m.the.origin..........to.that.po
f5a0 69 6e 74 20 61 6e 64 20 74 68 65 20 78 2d 61 78 69 73 2e 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 int.and.the.x-axis...Thus,.<CODE
f5c0 3e 61 74 61 6e 32 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 65 66 75 6c 20 66 6f 72 0a 20 20 20 20 >atan2</CODE>.is.useful.for.....
f5e0 20 20 20 20 20 63 6f 6e 76 65 72 74 69 6e 67 20 43 61 72 74 65 73 69 61 6e 20 63 6f 6f 72 64 69 .....converting.Cartesian.coordi
f600 6e 61 74 65 73 20 74 6f 20 70 6f 6c 61 72 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 20 20 28 54 6f nates.to.polar.coordinates...(To
f620 20 63 6f 6d 70 75 74 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6c 20 63 6f 6f .compute.the..........radial.coo
f640 72 64 69 6e 61 74 65 2c 20 75 73 65 20 3c 43 4f 44 45 3e 68 79 70 6f 74 3c 2f 43 4f 44 45 3e 3b rdinate,.use.<CODE>hypot</CODE>;
f660 20 73 65 65 20 45 78 70 6f 6e 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 4c 6f 67 61 .see.Exponents.and..........Loga
f680 72 69 74 68 6d 73 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 62 6f rithms.)..........<br><br>.If.bo
f6a0 74 68 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e th.<VAR>x</VAR>.and.<VAR>y</VAR>
f6c0 20 61 72 65 20 7a 65 72 6f 2c 20 3c 43 4f 44 45 3e 61 74 61 6e 32 3c 2f 43 4f 44 45 3e 20 72 65 .are.zero,.<CODE>atan2</CODE>.re
f6e0 74 75 72 6e 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 turns.zero..........sq.~......w.
f700 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 02 27 74 00 12 64 6f 75 62 6c 65 20 79 2c 20 ....t..math.hxq.~.'t..double.y,.
f720 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 61 74 61 6e 32 66 73 71 00 7e 00 0a double.xt..doublet..atan2fsq.~..
f740 70 74 03 68 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 pt.h.........This.function.compu
f760 74 65 73 20 74 68 65 20 61 72 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 79 3c 2f 56 tes.the.arc.tangent.of.<VAR>y</V
f780 41 52 3e 2f 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 62 75 74 20 74 68 65 20 73 69 67 6e 73 0a AR>/<VAR>x</VAR>,.but.the.signs.
f7a0 20 20 20 20 20 20 20 20 20 6f 66 20 62 6f 74 68 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 75 .........of.both.arguments.are.u
f7c0 73 65 64 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 71 75 61 64 72 61 6e 74 20 6f 66 sed.to.determine.the.quadrant.of
f7e0 20 74 68 65 20 72 65 73 75 6c 74 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 .the.result,.and..........<VAR>x
f800 3c 2f 56 41 52 3e 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 62 65 20 7a 65 72 6f 2e 20 </VAR>.is.permitted.to.be.zero..
f820 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 67 69 76 65 6e 20 69 6e 20 72 61 .The.return.value.is.given.in.ra
f840 64 69 61 6e 73 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e dians..........and.is.in.the.ran
f860 67 65 20 3c 43 4f 44 45 3e 2d 70 69 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 70 69 3c ge.<CODE>-pi</CODE>.to.<CODE>pi<
f880 2f 43 4f 44 45 3e 2c 20 69 6e 63 6c 75 73 69 76 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e /CODE>,.inclusive...........<br>
f8a0 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 79 3c <br>.If.<VAR>x</VAR>.and.<VAR>y<
f8c0 2f 56 41 52 3e 20 61 72 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 61 20 70 6f 69 6e 74 /VAR>.are.coordinates.of.a.point
f8e0 20 69 6e 20 74 68 65 20 70 6c 61 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 74 .in.the.plane,..........<CODE>at
f900 61 6e 32 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 69 67 6e 65 64 20 61 6e an2</CODE>.returns.the.signed.an
f920 67 6c 65 20 62 65 74 77 65 65 6e 20 74 68 65 20 6c 69 6e 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 gle.between.the.line.from.the.or
f940 69 67 69 6e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 61 74 20 70 6f 69 6e 74 20 61 6e 64 20 igin..........to.that.point.and.
f960 74 68 65 20 78 2d 61 78 69 73 2e 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 3e 61 74 61 6e 32 3c 2f the.x-axis...Thus,.<CODE>atan2</
f980 43 4f 44 45 3e 20 69 73 20 75 73 65 66 75 6c 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6e CODE>.is.useful.for..........con
f9a0 76 65 72 74 69 6e 67 20 43 61 72 74 65 73 69 61 6e 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 74 6f verting.Cartesian.coordinates.to
f9c0 20 70 6f 6c 61 72 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 20 20 28 54 6f 20 63 6f 6d 70 75 74 65 .polar.coordinates...(To.compute
f9e0 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6c 20 63 6f 6f 72 64 69 6e 61 74 65 2c .the..........radial.coordinate,
fa00 20 75 73 65 20 3c 43 4f 44 45 3e 68 79 70 6f 74 3c 2f 43 4f 44 45 3e 3b 20 73 65 65 20 45 78 70 .use.<CODE>hypot</CODE>;.see.Exp
fa20 6f 6e 65 6e 74 73 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 4c 6f 67 61 72 69 74 68 6d 73 2e 29 onents.and..........Logarithms.)
fa40 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 62 6f 74 68 20 3c 56 41 52 3e ..........<br><br>.If.both.<VAR>
fa60 78 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 7a 65 72 x</VAR>.and.<VAR>y</VAR>.are.zer
fa80 6f 2c 20 3c 43 4f 44 45 3e 61 74 61 6e 32 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 7a 65 o,.<CODE>atan2</CODE>.returns.ze
faa0 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d ro..........sq.~......w.....t..m
fac0 61 74 68 2e 68 78 71 00 7e 02 2e 74 00 10 66 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 78 74 00 ath.hxq.~..t..float.y,.float.xt.
fae0 05 66 6c 6f 61 74 74 00 06 61 74 61 6e 32 6c 73 71 00 7e 00 0a 70 74 03 68 0a 20 20 20 20 20 20 .floatt..atan2lsq.~..pt.h.......
fb00 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 61 72 63 ..This.function.computes.the.arc
fb20 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2f 3c 56 41 52 3e 78 3c .tangent.of.<VAR>y</VAR>/<VAR>x<
fb40 2f 56 41 52 3e 2c 20 62 75 74 20 74 68 65 20 73 69 67 6e 73 0a 20 20 20 20 20 20 20 20 20 6f 66 /VAR>,.but.the.signs..........of
fb60 20 62 6f 74 68 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 64 65 74 65 .both.arguments.are.used.to.dete
fb80 72 6d 69 6e 65 20 74 68 65 20 71 75 61 64 72 61 6e 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 rmine.the.quadrant.of.the.result
fba0 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 70 ,.and..........<VAR>x</VAR>.is.p
fbc0 65 72 6d 69 74 74 65 64 20 74 6f 20 62 65 20 7a 65 72 6f 2e 20 20 54 68 65 20 72 65 74 75 72 6e ermitted.to.be.zero...The.return
fbe0 20 76 61 6c 75 65 20 69 73 20 67 69 76 65 6e 20 69 6e 20 72 61 64 69 61 6e 73 0a 20 20 20 20 20 .value.is.given.in.radians......
fc00 20 20 20 20 61 6e 64 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 3c 43 4f 44 45 3e 2d 70 ....and.is.in.the.range.<CODE>-p
fc20 69 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 70 69 3c 2f 43 4f 44 45 3e 2c 20 69 6e 63 i</CODE>.to.<CODE>pi</CODE>,.inc
fc40 6c 75 73 69 76 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 lusive...........<br><br>.If.<VA
fc60 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 63 R>x</VAR>.and.<VAR>y</VAR>.are.c
fc80 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 61 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 70 6c 61 oordinates.of.a.point.in.the.pla
fca0 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 74 61 6e 32 3c 2f 43 4f 44 45 3e 20 ne,..........<CODE>atan2</CODE>.
fcc0 72 65 74 75 72 6e 73 20 74 68 65 20 73 69 67 6e 65 64 20 61 6e 67 6c 65 20 62 65 74 77 65 65 6e returns.the.signed.angle.between
fce0 20 74 68 65 20 6c 69 6e 65 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 0a 20 20 20 20 20 20 .the.line.from.the.origin.......
fd00 20 20 20 74 6f 20 74 68 61 74 20 70 6f 69 6e 74 20 61 6e 64 20 74 68 65 20 78 2d 61 78 69 73 2e ...to.that.point.and.the.x-axis.
fd20 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 3e 61 74 61 6e 32 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 ..Thus,.<CODE>atan2</CODE>.is.us
fd40 65 66 75 6c 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 76 65 72 74 69 6e 67 20 43 61 72 eful.for..........converting.Car
fd60 74 65 73 69 61 6e 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 74 6f 20 70 6f 6c 61 72 20 63 6f 6f 72 tesian.coordinates.to.polar.coor
fd80 64 69 6e 61 74 65 73 2e 20 20 28 54 6f 20 63 6f 6d 70 75 74 65 20 74 68 65 0a 20 20 20 20 20 20 dinates...(To.compute.the.......
fda0 20 20 20 72 61 64 69 61 6c 20 63 6f 6f 72 64 69 6e 61 74 65 2c 20 75 73 65 20 3c 43 4f 44 45 3e ...radial.coordinate,.use.<CODE>
fdc0 68 79 70 6f 74 3c 2f 43 4f 44 45 3e 3b 20 73 65 65 20 45 78 70 6f 6e 65 6e 74 73 20 61 6e 64 0a hypot</CODE>;.see.Exponents.and.
fde0 20 20 20 20 20 20 20 20 20 4c 6f 67 61 72 69 74 68 6d 73 2e 29 0a 20 20 20 20 20 20 20 20 20 3c .........Logarithms.)..........<
fe00 62 72 3e 3c 62 72 3e 20 49 66 20 62 6f 74 68 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 br><br>.If.both.<VAR>x</VAR>.and
fe20 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 7a 65 72 6f 2c 20 3c 43 4f 44 45 3e 61 74 .<VAR>y</VAR>.are.zero,.<CODE>at
fe40 61 6e 32 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 an2</CODE>.returns.zero.........
fe60 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 02 35 .sq.~......w.....t..math.hxq.~.5
fe80 74 00 1c 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 79 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 t..long.double.y,.long.double.xt
fea0 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 61 74 61 6e 66 73 71 00 7e 00 0a 70 74 01 55 0a ..long.doublet..atanfsq.~..pt.U.
fec0 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 ........These.functions.compute.
fee0 74 68 65 20 61 72 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d the.arc.tangent.of.<VAR>x</VAR>-
ff00 2d 2d 74 68 61 74 20 69 73 2c 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 77 68 --that.is,.the.value..........wh
ff20 6f 73 65 20 74 61 6e 67 65 6e 74 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 ose.tangent.is.<VAR>x</VAR>...Th
ff40 65 20 76 61 6c 75 65 20 69 73 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 0a e.value.is.in.units.of.radians..
ff60 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 65 72 65 20 61 .........Mathematically,.there.a
ff80 72 65 20 69 6e 66 69 6e 69 74 65 6c 79 20 6d 61 6e 79 20 73 75 63 68 20 76 61 6c 75 65 73 3b 20 re.infinitely.many.such.values;.
ffa0 74 68 65 20 6f 6e 65 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e the.one.actually..........return
ffc0 65 64 20 69 73 20 74 68 65 20 6f 6e 65 20 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 2d 70 69 2f ed.is.the.one.between.<CODE>-pi/
ffe0 32 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 70 69 2f 32 3c 2f 43 4f 44 45 3e 20 28 2</CODE>.and.<CODE>pi/2</CODE>.(
10000 69 6e 63 6c 75 73 69 76 65 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 inclusive)..........sq.~......w.
10020 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 02 3c 74 00 07 66 6c 6f 61 74 20 78 74 00 05 ....t..math.hxq.~.<t..float.xt..
10040 66 6c 6f 61 74 74 00 05 61 74 61 6e 68 73 71 00 7e 00 0a 70 74 01 54 0a 20 20 20 20 20 20 20 20 floatt..atanhsq.~..pt.T.........
10060 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 These.functions.return.the.inver
10080 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c se.hyperbolic.tangent.of.<VAR>x<
100a0 2f 56 41 52 3e 2d 2d 2d 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f 73 65 /VAR>---the..........value.whose
100c0 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 .hyperbolic.tangent.is.<VAR>x</V
100e0 41 52 3e 2e 20 20 49 66 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 0a 20 AR>...If.the.absolute.value.of..
10100 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 67 72 65 61 74 65 72 20 ........<VAR>x</VAR>.is.greater.
10120 74 68 61 6e 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 61 74 61 6e 68 than.<CODE>1</CODE>,.<CODE>atanh
10140 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 3b 0a </CODE>.signals.a.domain.error;.
10160 20 20 20 20 20 20 20 20 20 69 66 20 69 74 20 69 73 20 65 71 75 61 6c 20 74 6f 20 31 2c 20 3c 43 .........if.it.is.equal.to.1,.<C
10180 4f 44 45 3e 61 74 61 6e 68 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 69 6e 66 69 6e 69 74 ODE>atanh</CODE>.returns.infinit
101a0 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 y..........sq.~......w.....t..ma
101c0 74 68 2e 68 78 71 00 7e 02 43 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 th.hxq.~.Ct..double.xt..doublet.
101e0 06 61 74 61 6e 68 66 73 71 00 7e 00 0a 70 74 01 54 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 .atanhfsq.~..pt.T.........These.
10200 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 68 79 70 functions.return.the.inverse.hyp
10220 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d erbolic.tangent.of.<VAR>x</VAR>-
10240 2d 2d 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f 73 65 20 68 79 70 65 72 --the..........value.whose.hyper
10260 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 bolic.tangent.is.<VAR>x</VAR>...
10280 49 66 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 If.the.absolute.value.of........
102a0 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 3c ..<VAR>x</VAR>.is.greater.than.<
102c0 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 61 74 61 6e 68 3c 2f 43 4f 44 45 CODE>1</CODE>,.<CODE>atanh</CODE
102e0 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 3b 0a 20 20 20 20 20 20 >.signals.a.domain.error;.......
10300 20 20 20 69 66 20 69 74 20 69 73 20 65 71 75 61 6c 20 74 6f 20 31 2c 20 3c 43 4f 44 45 3e 61 74 ...if.it.is.equal.to.1,.<CODE>at
10320 61 6e 68 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 69 6e 66 69 6e 69 74 79 2e 0a 20 20 20 anh</CODE>.returns.infinity.....
10340 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 .....sq.~......w.....t..math.hxq
10360 00 7e 02 4a 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 06 61 74 61 6e 68 6c 73 .~.Jt..float.xt..floatt..atanhls
10380 71 00 7e 00 0a 70 74 01 54 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt.T.........These.function
103a0 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 s.return.the.inverse.hyperbolic.
103c0 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 0a 20 20 tangent.of.<VAR>x</VAR>---the...
103e0 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f 73 65 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 .......value.whose.hyperbolic.ta
10400 6e 67 65 6e 74 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 66 20 74 68 65 20 61 ngent.is.<VAR>x</VAR>...If.the.a
10420 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 bsolute.value.of..........<VAR>x
10440 3c 2f 56 41 52 3e 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 3c 43 4f 44 45 3e 31 3c 2f </VAR>.is.greater.than.<CODE>1</
10460 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 61 74 61 6e 68 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c CODE>,.<CODE>atanh</CODE>.signal
10480 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 3b 0a 20 20 20 20 20 20 20 20 20 69 66 20 69 74 s.a.domain.error;..........if.it
104a0 20 69 73 20 65 71 75 61 6c 20 74 6f 20 31 2c 20 3c 43 4f 44 45 3e 61 74 61 6e 68 3c 2f 43 4f 44 .is.equal.to.1,.<CODE>atanh</COD
104c0 45 3e 20 72 65 74 75 72 6e 73 20 69 6e 66 69 6e 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 E>.returns.infinity..........sq.
104e0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 02 51 74 00 0d 6c ~......w.....t..math.hxq.~.Qt..l
10500 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 61 74 61 ong.double.xt..long.doublet..ata
10520 6e 6c 73 71 00 7e 00 0a 70 74 01 55 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 nlsq.~..pt.U.........These.funct
10540 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 61 72 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 ions.compute.the.arc.tangent.of.
10560 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 20 74 68 65 20 76 61 6c 75 <VAR>x</VAR>---that.is,.the.valu
10580 65 0a 20 20 20 20 20 20 20 20 20 77 68 6f 73 65 20 74 61 6e 67 65 6e 74 20 69 73 20 3c 56 41 52 e..........whose.tangent.is.<VAR
105a0 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 69 6e 20 75 6e 69 74 73 >x</VAR>...The.value.is.in.units
105c0 20 6f 66 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 .of.radians...........Mathematic
105e0 61 6c 6c 79 2c 20 74 68 65 72 65 20 61 72 65 20 69 6e 66 69 6e 69 74 65 6c 79 20 6d 61 6e 79 20 ally,.there.are.infinitely.many.
10600 73 75 63 68 20 76 61 6c 75 65 73 3b 20 74 68 65 20 6f 6e 65 20 61 63 74 75 61 6c 6c 79 0a 20 20 such.values;.the.one.actually...
10620 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 69 73 20 74 68 65 20 6f 6e 65 20 62 65 74 77 65 .......returned.is.the.one.betwe
10640 65 6e 20 3c 43 4f 44 45 3e 2d 70 69 2f 32 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e en.<CODE>-pi/2</CODE>.and.<CODE>
10660 70 69 2f 32 3c 2f 43 4f 44 45 3e 20 28 69 6e 63 6c 75 73 69 76 65 29 2e 0a 20 20 20 20 20 20 20 pi/2</CODE>.(inclusive).........
10680 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 02 58 .sq.~......w.....t..math.hxq.~.X
106a0 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 t..long.double.xt..long.doublet.
106c0 06 61 74 65 78 69 74 73 71 00 7e 00 0a 70 74 01 5b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 .atexitsq.~..pt.[.........The.<C
106e0 4f 44 45 3e 61 74 65 78 69 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 ODE>atexit</CODE>.function.regis
10700 74 65 72 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 56 41 52 3e 66 75 6e 63 74 69 6f 6e 3c ters.the.function.<VAR>function<
10720 2f 56 41 52 3e 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 61 74 20 6e /VAR>.to.be..........called.at.n
10740 6f 72 6d 61 6c 20 70 72 6f 67 72 61 6d 20 74 65 72 6d 69 6e 61 74 69 6f 6e 2e 20 20 54 68 65 20 ormal.program.termination...The.
10760 3c 56 41 52 3e 66 75 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 <VAR>function</VAR>.is.called.wi
10780 74 68 0a 20 20 20 20 20 20 20 20 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 th..........no.arguments........
107a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f ...<br><br>.The.return.value.fro
107c0 6d 20 3c 43 4f 44 45 3e 61 74 65 78 69 74 3c 2f 43 4f 44 45 3e 20 69 73 20 7a 65 72 6f 20 6f 6e m.<CODE>atexit</CODE>.is.zero.on
107e0 20 73 75 63 63 65 73 73 20 61 6e 64 20 6e 6f 6e 7a 65 72 6f 20 69 66 0a 20 20 20 20 20 20 20 20 .success.and.nonzero.if.........
10800 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 67 69 73 74 65 72 .the.function.cannot.be.register
10820 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 ed..........sq.~......w.....t..s
10840 74 64 6c 69 62 2e 68 78 71 00 7e 02 5f 74 00 17 76 6f 69 64 20 28 2a 66 75 6e 63 74 69 6f 6e 29 tdlib.hxq.~._t..void.(*function)
10860 20 28 76 6f 69 64 29 74 00 03 69 6e 74 74 00 04 61 74 6f 66 73 71 00 7e 00 0a 70 74 01 2b 0a 20 .(void)t..intt..atofsq.~..pt.+..
10880 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 .......This.function.is.similar.
108a0 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 to.the.<CODE>strtod</CODE>.funct
108c0 69 6f 6e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 6e 65 65 ion,.except.that.it..........nee
108e0 64 20 6e 6f 74 20 64 65 74 65 63 74 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 75 6e 64 65 72 66 d.not.detect.overflow.and.underf
10900 6c 6f 77 20 65 72 72 6f 72 73 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 61 74 6f 66 3c 2f 43 4f 44 low.errors...The.<CODE>atof</COD
10920 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 73 20 70 72 6f 76 69 64 65 64 E>.function..........is.provided
10940 20 6d 6f 73 74 6c 79 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 65 .mostly.for.compatibility.with.e
10960 78 69 73 74 69 6e 67 20 63 6f 64 65 3b 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f xisting.code;.using..........<CO
10980 44 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e 20 69 73 20 6d 6f 72 65 20 72 6f 62 75 73 74 2e DE>strtod</CODE>.is.more.robust.
109a0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c .........sq.~......w.....t..stdl
109c0 69 62 2e 68 78 71 00 7e 02 66 74 00 12 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 74 ib.hxq.~.ft..const.char.*stringt
109e0 00 06 64 6f 75 62 6c 65 74 00 04 61 74 6f 69 73 71 00 7e 00 0a 70 74 00 d5 0a 20 20 20 20 20 20 ..doublet..atoisq.~..pt.........
10a00 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 61 74 ..This.function.is.like.<CODE>at
10a20 6f 6c 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e ol</CODE>,.except.that.it.return
10a40 73 20 61 6e 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 s.an.<CODE>int</CODE>...........
10a60 54 68 65 20 3c 43 4f 44 45 3e 61 74 6f 69 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 The.<CODE>atoi</CODE>.function.i
10a80 73 20 61 6c 73 6f 20 63 6f 6e 73 69 64 65 72 65 64 20 6f 62 73 6f 6c 65 74 65 3b 20 75 73 65 20 s.also.considered.obsolete;.use.
10aa0 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 <CODE>strtol</CODE>..........ins
10ac0 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 tead..........sq.~......w.....t.
10ae0 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 02 6d 74 00 12 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 .stdlib.hxq.~.mt..const.char.*st
10b00 72 69 6e 67 74 00 03 69 6e 74 74 00 04 61 74 6f 6c 73 71 00 7e 00 0a 70 74 01 4f 0a 20 20 20 20 ringt..intt..atolsq.~..pt.O.....
10b20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 ....This.function.is.similar.to.
10b40 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e the.<CODE>strtol</CODE>.function
10b60 20 77 69 74 68 20 61 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 .with.a.<VAR>base</VAR>.........
10b80 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 31 30 3c 2f 43 4f 44 45 3e 2c 20 65 78 .argument.of.<CODE>10</CODE>,.ex
10ba0 63 65 70 74 20 74 68 61 74 20 69 74 20 6e 65 65 64 20 6e 6f 74 20 64 65 74 65 63 74 20 6f 76 65 cept.that.it.need.not.detect.ove
10bc0 72 66 6c 6f 77 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 rflow.errors...........The.<CODE
10be0 3e 61 74 6f 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 70 72 6f 76 69 64 65 >atol</CODE>.function.is.provide
10c00 64 20 6d 6f 73 74 6c 79 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 0a d.mostly.for.compatibility.with.
10c20 20 20 20 20 20 20 20 20 20 65 78 69 73 74 69 6e 67 20 63 6f 64 65 3b 20 75 73 69 6e 67 20 3c 43 .........existing.code;.using.<C
10c40 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 6d 6f 72 65 20 72 6f 62 75 73 74 ODE>strtol</CODE>.is.more.robust
10c60 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 ..........sq.~......w.....t..std
10c80 6c 69 62 2e 68 78 71 00 7e 02 74 74 00 12 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 lib.hxq.~.tt..const.char.*string
10ca0 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 05 61 74 6f 6c 6c 73 71 00 7e 00 0a 70 74 01 27 0a 20 20 t..long.intt..atollsq.~..pt.'...
10cc0 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 ......This.function.is.similar.t
10ce0 6f 20 3c 43 4f 44 45 3e 61 74 6f 6c 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 69 74 20 72 o.<CODE>atol</CODE>,.except.it.r
10d00 65 74 75 72 6e 73 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 0a 20 20 20 20 20 20 20 20 20 6c 6f 6e eturns.a.<CODE>long..........lon
10d20 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 g.int</CODE>...........<br><br>.
10d40 54 68 65 20 3c 43 4f 44 45 3e 61 74 6f 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 The.<CODE>atoll</CODE>.function.
10d60 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 49 53 4f 20 43 39 39 2e 20 20 49 74 20 74 was.introduced.in.ISO.C99...It.t
10d80 6f 6f 20 69 73 0a 20 20 20 20 20 20 20 20 20 6f 62 73 6f 6c 65 74 65 20 28 64 65 73 70 69 74 65 oo.is..........obsolete.(despite
10da0 20 68 61 76 69 6e 67 20 6a 75 73 74 20 62 65 65 6e 20 61 64 64 65 64 29 3b 20 75 73 65 20 3c 43 .having.just.been.added);.use.<C
10dc0 4f 44 45 3e 73 74 72 74 6f 6c 6c 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 ODE>strtoll</CODE>.instead......
10de0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 ....sq.~......w.....t..stdlib.hx
10e00 71 00 7e 02 7b 74 00 12 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 74 00 0d 6c 6f 6e q.~.{t..const.char.*stringt..lon
10e20 67 20 6c 6f 6e 67 20 69 6e 74 74 00 09 62 61 63 6b 74 72 61 63 65 73 71 00 7e 00 0a 70 74 03 f5 g.long.intt..backtracesq.~..pt..
10e40 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 62 61 63 6b 74 72 61 63 65 3c 2f 43 4f .........The.<CODE>backtrace</CO
10e60 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6f 62 74 61 69 6e 73 20 61 20 62 61 63 6b 74 72 61 63 65 DE>.function.obtains.a.backtrace
10e80 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 74 68 72 65 61 64 .for.the.current..........thread
10ea0 2c 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 70 6f 69 6e 74 65 72 73 2c 20 61 6e 64 20 70 6c 61 ,.as.a.list.of.pointers,.and.pla
10ec0 63 65 73 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 74 6f 0a 20 20 20 20 20 20 20 ces.the.information.into........
10ee0 20 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 61 72 67 75 6d 65 ..<VAR>buffer</VAR>...The.argume
10f00 6e 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 62 65 20 74 68 65 nt.<VAR>size</VAR>.should.be.the
10f20 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 76 6f 69 64 20 2a .number.of..........<CODE>void.*
10f40 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 77 69 6c 6c 20 66 69 74 20 69 </CODE>.elements.that.will.fit.i
10f60 6e 74 6f 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 74 75 nto.<VAR>buffer</VAR>...The.retu
10f80 72 6e 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 61 63 74 75 61 6c 20 rn..........value.is.the.actual.
10fa0 6e 75 6d 62 65 72 20 6f 66 20 65 6e 74 72 69 65 73 20 6f 66 20 3c 56 41 52 3e 62 75 66 66 65 72 number.of.entries.of.<VAR>buffer
10fc0 3c 2f 56 41 52 3e 20 74 68 61 74 20 61 72 65 20 6f 62 74 61 69 6e 65 64 2c 0a 20 20 20 20 20 20 </VAR>.that.are.obtained,.......
10fe0 20 20 20 61 6e 64 20 69 73 20 61 74 20 6d 6f 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 ...and.is.at.most.<VAR>size</VAR
11000 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 70 6f 69 6e 74 65 72 >...........<br><br>.The.pointer
11020 73 20 70 6c 61 63 65 64 20 69 6e 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 61 72 s.placed.in.<VAR>buffer</VAR>.ar
11040 65 20 61 63 74 75 61 6c 6c 79 20 72 65 74 75 72 6e 20 61 64 64 72 65 73 73 65 73 0a 20 20 20 20 e.actually.return.addresses.....
11060 20 20 20 20 20 6f 62 74 61 69 6e 65 64 20 62 79 20 69 6e 73 70 65 63 74 69 6e 67 20 74 68 65 20 .....obtained.by.inspecting.the.
11080 73 74 61 63 6b 2c 20 6f 6e 65 20 72 65 74 75 72 6e 20 61 64 64 72 65 73 73 20 70 65 72 20 73 74 stack,.one.return.address.per.st
110a0 61 63 6b 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 ack.frame...........<br><br>.Not
110c0 65 20 74 68 61 74 20 63 65 72 74 61 69 6e 20 63 6f 6d 70 69 6c 65 72 20 6f 70 74 69 6d 69 7a 61 e.that.certain.compiler.optimiza
110e0 74 69 6f 6e 73 20 6d 61 79 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 6f 62 74 61 69 6e 69 tions.may.interfere.with.obtaini
11100 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 76 61 6c 69 64 20 62 61 63 6b 74 72 61 63 65 2e 20 20 ng.a..........valid.backtrace...
11120 46 75 6e 63 74 69 6f 6e 20 69 6e 6c 69 6e 69 6e 67 20 63 61 75 73 65 73 20 74 68 65 20 69 6e 6c Function.inlining.causes.the.inl
11140 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 68 61 ined.function.to.not..........ha
11160 76 65 20 61 20 73 74 61 63 6b 20 66 72 61 6d 65 3b 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 ve.a.stack.frame;.tail.call.opti
11180 6d 69 7a 61 74 69 6f 6e 20 72 65 70 6c 61 63 65 73 20 6f 6e 65 20 73 74 61 63 6b 20 66 72 61 6d mization.replaces.one.stack.fram
111a0 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 61 6e 6f 74 68 65 72 3b 20 66 72 61 6d 65 20 70 e.with..........another;.frame.p
111c0 6f 69 6e 74 65 72 20 65 6c 69 6d 69 6e 61 74 69 6f 6e 20 77 69 6c 6c 20 73 74 6f 70 20 3c 43 4f ointer.elimination.will.stop.<CO
111e0 44 45 3e 62 61 63 6b 74 72 61 63 65 3c 2f 43 4f 44 45 3e 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 DE>backtrace</CODE>.from........
11200 20 20 69 6e 74 65 72 70 72 65 74 69 6e 67 20 74 68 65 20 73 74 61 63 6b 20 63 6f 6e 74 65 6e 74 ..interpreting.the.stack.content
11220 73 20 63 6f 72 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 s.correctly..........sq.~......w
11240 04 00 00 00 0a 74 00 0a 65 78 65 63 69 6e 66 6f 2e 68 78 71 00 7e 02 82 74 00 17 76 6f 69 64 20 .....t..execinfo.hxq.~..t..void.
11260 2a 2a 62 75 66 66 65 72 2c 20 69 6e 74 20 73 69 7a 65 74 00 03 69 6e 74 74 00 11 62 61 63 6b 74 **buffer,.int.sizet..intt..backt
11280 72 61 63 65 5f 73 79 6d 62 6f 6c 73 73 71 00 7e 00 0a 70 74 06 d0 0a 20 20 20 20 20 20 20 20 54 race_symbolssq.~..pt...........T
112a0 68 65 20 3c 43 4f 44 45 3e 62 61 63 6b 74 72 61 63 65 5f 73 79 6d 62 6f 6c 73 3c 2f 43 4f 44 45 he.<CODE>backtrace_symbols</CODE
112c0 3e 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 6e 73 6c 61 74 65 73 20 74 68 65 20 69 6e 66 6f 72 6d >.function.translates.the.inform
112e0 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 6f 62 74 61 69 6e 65 64 20 66 72 6f 6d 20 74 68 65 ation..........obtained.from.the
11300 20 3c 43 4f 44 45 3e 62 61 63 6b 74 72 61 63 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .<CODE>backtrace</CODE>.function
11320 20 69 6e 74 6f 20 61 6e 20 61 72 72 61 79 20 6f 66 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 .into.an.array.of.strings.......
11340 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 ....The.argument.<VAR>buffer</VA
11360 52 3e 20 73 68 6f 75 6c 64 20 62 65 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 R>.should.be.a.pointer.to.an.arr
11380 61 79 20 6f 66 20 61 64 64 72 65 73 73 65 73 0a 20 20 20 20 20 20 20 20 20 6f 62 74 61 69 6e 65 ay.of.addresses..........obtaine
113a0 64 20 76 69 61 20 74 68 65 20 3c 43 4f 44 45 3e 62 61 63 6b 74 72 61 63 65 3c 2f 43 4f 44 45 3e d.via.the.<CODE>backtrace</CODE>
113c0 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 69 .function,.and.<VAR>size</VAR>.i
113e0 73 20 74 68 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 6f 66 20 65 6e 74 72 69 65 73 s.the.number..........of.entries
11400 20 69 6e 20 74 68 61 74 20 61 72 72 61 79 20 28 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 .in.that.array.(the.return.value
11420 20 6f 66 20 3c 43 4f 44 45 3e 62 61 63 6b 74 72 61 63 65 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 .of.<CODE>backtrace</CODE>).....
11440 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 ......<br><br>.The.return.value.
11460 69 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 20 6f 66 20 73 74 72 69 is.a.pointer.to.an.array.of.stri
11480 6e 67 73 2c 20 77 68 69 63 68 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a ngs,.which.has..........<VAR>siz
114a0 65 3c 2f 56 41 52 3e 20 65 6e 74 72 69 65 73 20 6a 75 73 74 20 6c 69 6b 65 20 74 68 65 20 61 72 e</VAR>.entries.just.like.the.ar
114c0 72 61 79 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 45 61 63 68 20 73 74 72 ray.<VAR>buffer</VAR>...Each.str
114e0 69 6e 67 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 73 20 61 20 70 72 69 6e 74 61 62 6c ing..........contains.a.printabl
11500 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f e.representation.of.the.correspo
11520 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 nding.element.of..........<VAR>b
11540 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 49 74 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 66 75 uffer</VAR>...It.includes.the.fu
11560 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 28 69 66 20 74 68 69 73 20 63 61 6e 20 62 65 0a 20 20 20 20 nction.name.(if.this.can.be.....
11580 20 20 20 20 20 64 65 74 65 72 6d 69 6e 65 64 29 2c 20 61 6e 20 6f 66 66 73 65 74 20 69 6e 74 6f .....determined),.an.offset.into
115a0 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 74 68 65 20 61 63 74 75 61 6c 20 72 65 .the.function,.and.the.actual.re
115c0 74 75 72 6e 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 28 69 6e 20 68 65 78 61 64 65 turn.address..........(in.hexade
115e0 63 69 6d 61 6c 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 43 75 72 72 65 6e cimal)...........<br><br>.Curren
11600 74 6c 79 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 6f 66 66 73 65 tly,.the.function.name.and.offse
11620 74 20 6f 6e 6c 79 20 62 65 20 6f 62 74 61 69 6e 65 64 20 6f 6e 20 73 79 73 74 65 6d 73 20 74 68 t.only.be.obtained.on.systems.th
11640 61 74 0a 20 20 20 20 20 20 20 20 20 75 73 65 20 74 68 65 20 45 4c 46 20 62 69 6e 61 72 79 20 66 at..........use.the.ELF.binary.f
11660 6f 72 6d 61 74 20 66 6f 72 20 70 72 6f 67 72 61 6d 73 20 61 6e 64 20 6c 69 62 72 61 72 69 65 73 ormat.for.programs.and.libraries
11680 2e 20 20 4f 6e 20 6f 74 68 65 72 20 73 79 73 74 65 6d 73 2c 0a 20 20 20 20 20 20 20 20 20 6f 6e ...On.other.systems,..........on
116a0 6c 79 20 74 68 65 20 68 65 78 61 64 65 63 69 6d 61 6c 20 72 65 74 75 72 6e 20 61 64 64 72 65 73 ly.the.hexadecimal.return.addres
116c0 73 20 77 69 6c 6c 20 62 65 20 70 72 65 73 65 6e 74 2e 20 20 41 6c 73 6f 2c 20 79 6f 75 20 6d 61 s.will.be.present...Also,.you.ma
116e0 79 20 6e 65 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 70 61 73 73 20 61 64 64 69 74 69 6f 6e y.need..........to.pass.addition
11700 61 6c 20 66 6c 61 67 73 20 74 6f 20 74 68 65 20 6c 69 6e 6b 65 72 20 74 6f 20 6d 61 6b 65 20 74 al.flags.to.the.linker.to.make.t
11720 68 65 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 73 0a 20 20 20 20 20 20 20 20 20 61 76 61 69 6c he.function.names..........avail
11740 61 62 6c 65 20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 20 28 46 6f 72 20 65 78 61 6d 70 able.to.the.program...(For.examp
11760 6c 65 2c 20 6f 6e 20 73 79 73 74 65 6d 73 20 75 73 69 6e 67 20 47 4e 55 20 6c 64 2c 20 79 6f 75 le,.on.systems.using.GNU.ld,.you
11780 0a 20 20 20 20 20 20 20 20 20 6d 75 73 74 20 70 61 73 73 20 28 3c 43 4f 44 45 3e 2d 72 64 79 6e ..........must.pass.(<CODE>-rdyn
117a0 61 6d 69 63 3c 2f 43 4f 44 45 3e 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 amic</CODE>.)..........<br><br>.
117c0 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 62 61 63 6b 74 72 The.return.value.of.<CODE>backtr
117e0 61 63 65 5f 73 79 6d 62 6f 6c 73 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 ace_symbols</CODE>.is.a.pointer.
11800 6f 62 74 61 69 6e 65 64 20 76 69 61 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 43 4f 44 45 3e obtained.via..........the.<CODE>
11820 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 69 74 20 69 malloc</CODE>.function,.and.it.i
11840 73 20 74 68 65 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 63 61 6c 6c s.the.responsibility.of.the.call
11860 65 72 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 66 72 65 65 3c 2f 43 4f 44 45 3e er..........to.<CODE>free</CODE>
11880 20 74 68 61 74 20 70 6f 69 6e 74 65 72 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 6f 6e 6c 79 20 74 .that.pointer...Note.that.only.t
118a0 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6e 65 65 64 20 62 65 0a 20 20 20 20 20 20 20 20 he.return.value.need.be.........
118c0 20 66 72 65 65 64 2c 20 6e 6f 74 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 73 74 72 69 6e .freed,.not.the.individual.strin
118e0 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e gs...........<br><br>.The.return
11900 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 69 66 20 73 .value.is.<CODE>NULL</CODE>.if.s
11920 75 66 66 69 63 69 65 6e 74 20 6d 65 6d 6f 72 79 20 66 6f 72 20 74 68 65 20 73 74 72 69 6e 67 73 ufficient.memory.for.the.strings
11940 0a 20 20 20 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 6f 62 74 61 69 6e 65 64 2e 0a 20 20 ..........cannot.be.obtained....
11960 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 65 78 65 63 69 6e 66 ......sq.~......w.....t..execinf
11980 6f 2e 68 78 71 00 7e 02 89 74 00 1d 76 6f 69 64 20 2a 63 6f 6e 73 74 20 2a 62 75 66 66 65 72 2c o.hxq.~..t..void.*const.*buffer,
119a0 20 69 6e 74 20 73 69 7a 65 74 00 07 63 68 61 72 20 2a 2a 74 00 14 62 61 63 6b 74 72 61 63 65 5f .int.sizet..char.**t..backtrace_
119c0 73 79 6d 62 6f 6c 73 5f 66 64 73 71 00 7e 00 0a 70 74 01 b1 0a 20 20 20 20 20 20 20 20 54 68 65 symbols_fdsq.~..pt...........The
119e0 20 3c 43 4f 44 45 3e 62 61 63 6b 74 72 61 63 65 5f 73 79 6d 62 6f 6c 73 5f 66 64 3c 2f 43 4f 44 .<CODE>backtrace_symbols_fd</COD
11a00 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 74 68 65 20 73 61 6d 65 20 74 72 E>.function.performs.the.same.tr
11a20 61 6e 73 6c 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 61 73 20 74 68 65 20 66 75 6e 63 74 69 anslation..........as.the.functi
11a40 6f 6e 20 3c 43 4f 44 45 3e 62 61 63 6b 74 72 61 63 65 5f 73 79 6d 62 6f 6c 73 3c 2f 43 4f 44 45 on.<CODE>backtrace_symbols</CODE
11a60 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 6e 73 74 65 61 64 20 6f 66 20 72 65 74 75 72 6e 69 6e >.function...Instead.of.returnin
11a80 67 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 73 20 74 6f 20 74 68 65 20 63 61 g..........the.strings.to.the.ca
11aa0 6c 6c 65 72 2c 20 69 74 20 77 72 69 74 65 73 20 74 68 65 20 73 74 72 69 6e 67 73 20 74 6f 20 74 ller,.it.writes.the.strings.to.t
11ac0 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 he.file.descriptor..........<VAR
11ae0 3e 66 64 3c 2f 56 41 52 3e 2c 20 6f 6e 65 20 70 65 72 20 6c 69 6e 65 2e 20 20 49 74 20 64 6f 65 >fd</VAR>,.one.per.line...It.doe
11b00 73 20 6e 6f 74 20 75 73 65 20 74 68 65 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 s.not.use.the.<CODE>malloc</CODE
11b20 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 63 61 6e 20 74 68 65 >.function,.and..........can.the
11b40 72 65 66 6f 72 65 20 62 65 20 75 73 65 64 20 69 6e 20 73 69 74 75 61 74 69 6f 6e 73 20 77 68 65 refore.be.used.in.situations.whe
11b60 72 65 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 20 6d 69 67 68 74 20 66 61 69 6c 2e 0a 20 20 20 re.that.function.might.fail.....
11b80 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 65 78 65 63 69 6e 66 6f .....sq.~......w.....t..execinfo
11ba0 2e 68 78 71 00 7e 02 90 74 00 25 76 6f 69 64 20 2a 63 6f 6e 73 74 20 2a 62 75 66 66 65 72 2c 20 .hxq.~..t.%void.*const.*buffer,.
11bc0 69 6e 74 20 73 69 7a 65 2c 20 69 6e 74 20 66 64 74 00 04 76 6f 69 64 74 00 08 62 61 73 65 6e 61 int.size,.int.fdt..voidt..basena
11be0 6d 65 73 71 00 7e 00 0a 70 74 04 27 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 mesq.~..pt.'.........This.is.the
11c00 20 73 74 61 6e 64 61 72 64 20 58 50 47 20 64 65 66 69 6e 65 64 20 3c 43 4f 44 45 3e 62 61 73 65 .standard.XPG.defined.<CODE>base
11c20 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2e 20 49 74 20 69 73 20 73 69 6d 69 6c 61 72 20 69 6e 0a 20 20 name</CODE>..It.is.similar.in...
11c40 20 20 20 20 20 20 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 47 4e 55 20 76 65 72 73 69 6f 6e .......spirit.to.the.GNU.version
11c60 2c 20 62 75 74 20 6d 61 79 20 6d 6f 64 69 66 79 20 74 68 65 20 3c 56 41 52 3e 70 61 74 68 3c 2f ,.but.may.modify.the.<VAR>path</
11c80 56 41 52 3e 20 62 79 20 72 65 6d 6f 76 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 72 61 69 6c 69 VAR>.by.removing..........traili
11ca0 6e 67 20 27 2f 27 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e ng.'/'.characters...If.the.<VAR>
11cc0 70 61 74 68 3c 2f 56 41 52 3e 20 69 73 20 6d 61 64 65 20 75 70 20 65 6e 74 69 72 65 6c 79 20 6f path</VAR>.is.made.up.entirely.o
11ce0 66 20 27 2f 27 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 6e 20 f.'/'..........characters,.then.
11d00 22 2f 22 20 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 2e 20 20 41 6c 73 6f 2c 20 69 66 20 "/".will.be.returned...Also,.if.
11d20 3c 56 41 52 3e 70 61 74 68 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 <VAR>path</VAR>.is..........<COD
11d40 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 6f 72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 E>NULL</CODE>.or.an.empty.string
11d60 2c 20 74 68 65 6e 20 22 2e 22 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 65 20 70 72 6f ,.then.".".is.returned...The.pro
11d80 74 6f 74 79 70 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 58 50 47 20 76 65 72 73 totype.for..........the.XPG.vers
11da0 69 6f 6e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 3c 54 54 3e 6c 69 62 67 65 6e 2e 68 ion.can.be.found.in.<TT>libgen.h
11dc0 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 45 78 61 6d 70 6c 65 </TT>...........<br><br>.Example
11de0 20 6f 66 20 75 73 69 6e 67 20 58 50 47 20 3c 43 4f 44 45 3e 62 61 73 65 6e 61 6d 65 3c 2f 43 4f .of.using.XPG.<CODE>basename</CO
11e00 44 45 3e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e DE>:..........<br><br>.<pre><br>
11e20 0a 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 6c 69 62 67 65 6e 2e 68 3e 3c 62 72 ..........#include.<libgen.h><br
11e40 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 69 6e 74 3c 62 72 3e 0a 20 20 20 20 >..........<br><br>.int<br>.....
11e60 20 20 20 20 20 6d 61 69 6e 20 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 61 72 67 76 5b .....main.(int.argc,.char.*argv[
11e80 5d 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 ])<br>..........{<br>...........
11ea0 20 63 68 61 72 20 2a 70 72 6f 67 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 .char.*prog;<br>............char
11ec0 20 2a 70 61 74 68 20 3d 20 73 74 72 64 75 70 61 20 28 61 72 67 76 5b 30 5d 29 3b 3c 62 72 3e 0a .*path.=.strdupa.(argv[0]);<br>.
11ee0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 70 72 6f 67 20 3d 20 62 61 73 65 6e .........<br><br>...prog.=.basen
11f00 61 6d 65 20 28 70 61 74 68 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ame.(path);<br>..........<br><br
11f20 3e 20 20 20 69 66 20 28 61 72 67 63 20 3c 20 32 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 >...if.(argc.<.2)<br>...........
11f40 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 20 ...{<br>................fprintf.
11f60 28 73 74 64 65 72 72 2c 20 22 55 73 61 67 65 20 25 73 20 3c 61 72 67 3e 5c 6e 22 2c 20 70 72 6f (stderr,."Usage.%s.<arg>\n",.pro
11f80 67 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 20 28 31 29 3b g);<br>................exit.(1);
11fa0 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 <br>..............}<br>.........
11fc0 20 3c 62 72 3e 3c 62 72 3e 20 20 20 3c 73 6d 61 6c 6c 3e 2e 2e 2e 3c 2f 73 6d 61 6c 6c 3e 3c 62 .<br><br>...<small>...</small><b
11fe0 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 7d 3c 62 72 3e 0a 20 20 20 20 20 r>..........<br><br>.}<br>......
12000 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ....</pre>.........sq.~......w..
12020 00 00 0a 74 00 08 6c 69 62 67 65 6e 2e 68 78 74 00 08 62 61 73 65 6e 61 6d 65 74 00 0a 63 68 61 ...t..libgen.hxt..basenamet..cha
12040 72 20 2a 70 61 74 68 74 00 06 63 68 61 72 20 2a 74 00 04 62 63 6d 70 73 71 00 7e 00 0a 70 74 00 r.*patht..char.*t..bcmpsq.~..pt.
12060 56 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 6f 62 73 6f 6c 65 74 65 20 61 6c V.........This.is.an.obsolete.al
12080 69 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 6d 65 6d 63 6d 70 3c 2f 43 4f 44 45 3e 2c 20 64 65 72 ias.for.<CODE>memcmp</CODE>,.der
120a0 69 76 65 64 20 66 72 6f 6d 20 42 53 44 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 ived.from.BSD..........sq.~.....
120c0 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 02 9f 74 00 2b 63 6f 6e 73 74 .w.....t..string.hxq.~..t.+const
120e0 20 76 6f 69 64 20 2a 61 31 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 61 32 2c 20 73 69 7a 65 5f .void.*a1,.const.void.*a2,.size_
12100 74 20 73 69 7a 65 74 00 03 69 6e 74 74 00 05 62 63 6f 70 79 73 71 00 7e 00 0a 70 74 01 05 0a 20 t.sizet..intt..bcopysq.~..pt....
12120 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 70 61 72 74 69 61 6c 6c 79 20 6f 62 73 6f 6c .......This.is.a.partially.obsol
12140 65 74 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 66 6f 72 20 3c 43 4f 44 45 3e 6d 65 6d 6d 6f 76 ete.alternative.for.<CODE>memmov
12160 65 3c 2f 43 4f 44 45 3e 2c 20 64 65 72 69 76 65 64 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 e</CODE>,.derived.from..........
12180 42 53 44 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 69 74 20 69 73 20 6e 6f 74 20 71 75 69 74 65 20 BSD...Note.that.it.is.not.quite.
121a0 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 6d 65 6d 6d 6f 76 65 3c 2f 43 4f 44 equivalent.to.<CODE>memmove</COD
121c0 45 3e 2c 20 62 65 63 61 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e E>,.because.the..........argumen
121e0 74 73 20 61 72 65 20 6e 6f 74 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 6e 64 ts.are.not.in.the.same.order.and
12200 20 74 68 65 72 65 20 69 73 20 6e 6f 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 .there.is.no.return.value.......
12220 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 ...sq.~......w.....t..string.hxq
12240 00 7e 02 a6 74 00 27 63 6f 6e 73 74 20 76 6f 69 64 20 2a 66 72 6f 6d 2c 20 76 6f 69 64 20 2a 74 .~..t.'const.void.*from,.void.*t
12260 6f 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 04 76 6f 69 64 74 00 04 62 69 6e 64 73 71 00 7e o,.size_t.sizet..voidt..bindsq.~
12280 00 0a 70 74 06 69 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 62 69 6e 64 3c 2f 43 ..pt.i.........The.<CODE>bind</C
122a0 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 73 73 69 67 6e 73 20 61 6e 20 61 64 64 72 65 73 73 ODE>.function.assigns.an.address
122c0 20 74 6f 20 74 68 65 20 73 6f 63 6b 65 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 6f 63 .to.the.socket..........<VAR>soc
122e0 6b 65 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 ket</VAR>...The.<VAR>addr</VAR>.
12300 61 6e 64 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 20 and.<VAR>length</VAR>.arguments.
12320 73 70 65 63 69 66 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 3b 20 74 68 specify.the..........address;.th
12340 65 20 64 65 74 61 69 6c 65 64 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 61 64 64 72 65 73 73 e.detailed.format.of.the.address
12360 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 .depends.on.the.namespace.......
12380 20 20 20 20 54 68 65 20 66 69 72 73 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 61 64 64 72 65 73 ....The.first.part.of.the.addres
123a0 73 20 69 73 20 61 6c 77 61 79 73 20 74 68 65 20 66 6f 72 6d 61 74 20 64 65 73 69 67 6e 61 74 6f s.is.always.the.format.designato
123c0 72 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 73 20 61 20 6e 61 r,.which..........specifies.a.na
123e0 6d 65 73 70 61 63 65 2c 20 61 6e 64 20 73 61 79 73 20 74 68 61 74 20 74 68 65 20 61 64 64 72 65 mespace,.and.says.that.the.addre
12400 73 73 20 69 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 ss.is.in.the.format.of..........
12420 74 68 61 74 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 that.namespace...........<br><br
12440 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 >.The.return.value.is.<CODE>0</C
12460 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f ODE>.on.success.and.<CODE>-1</CO
12480 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f DE>.on.failure...The..........fo
124a0 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 llowing.<CODE>errno</CODE>.error
124c0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 .conditions.are.defined.for.this
124e0 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c .function:..........<br><br>.<DL
12500 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 >...........<DT><CODE>EBADF</COD
12520 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 6f 63 6b 65 74 E>.<DD>..........The.<VAR>socket
12540 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 </VAR>.argument.is.not.a.valid.f
12560 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ile.descriptor...........<br><br
12580 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 53 4f 43 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e >.<DT><CODE>ENOTSOCK</CODE>.<DD>
125a0 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 73 6f ..........The.descriptor.<VAR>so
125c0 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 cket</VAR>.is.not.a.socket......
125e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 44 44 52 4e 4f 54 .....<br><br>.<DT><CODE>EADDRNOT
12600 41 56 41 49 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 AVAIL</CODE>.<DD>..........The.s
12620 70 65 63 69 66 69 65 64 20 61 64 64 72 65 73 73 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c pecified.address.is.not.availabl
12640 65 20 6f 6e 20 74 68 69 73 20 6d 61 63 68 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e e.on.this.machine...........<br>
12660 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 44 44 52 49 4e 55 53 45 3c 2f 43 4f 44 45 3e <br>.<DT><CODE>EADDRINUSE</CODE>
12680 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 6f 6d 65 20 6f 74 68 65 72 20 73 6f 63 6b 65 74 .<DD>..........Some.other.socket
126a0 20 69 73 20 61 6c 72 65 61 64 79 20 75 73 69 6e 67 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 .is.already.using.the.specified.
126c0 61 64 64 72 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c address...........<br><br>.<DT><
126e0 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 CODE>EINVAL</CODE>.<DD>.........
12700 20 54 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 61 6c .The.socket.<VAR>socket</VAR>.al
12720 72 65 61 64 79 20 68 61 73 20 61 6e 20 61 64 64 72 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c ready.has.an.address...........<
12740 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 3c 2f 43 4f 44 45 3e 0a br><br>.<DT><CODE>EACCES</CODE>.
12760 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 70 65 <DD>..........You.do.not.have.pe
12780 72 6d 69 73 73 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 72 65 71 75 65 73 74 65 64 rmission.to.access.the.requested
127a0 20 61 64 64 72 65 73 73 2e 20 20 28 49 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 49 6e 74 65 .address...(In.the..........Inte
127c0 72 6e 65 74 20 64 6f 6d 61 69 6e 2c 20 6f 6e 6c 79 20 74 68 65 20 73 75 70 65 72 2d 75 73 65 72 rnet.domain,.only.the.super-user
127e0 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 70 6f 72 74 20 6e 75 .is.allowed.to.specify.a.port.nu
12800 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 20 74 68 72 mber..........in.the.range.0.thr
12820 6f 75 67 68 20 3c 43 4f 44 45 3e 49 50 50 4f 52 54 5f 52 45 53 45 52 56 45 44 3c 2f 43 4f 44 45 ough.<CODE>IPPORT_RESERVED</CODE
12840 3e 20 6d 69 6e 75 73 20 6f 6e 65 3b 20 73 65 65 0a 20 20 20 20 20 20 20 20 20 50 6f 72 74 73 2e >.minus.one;.see..........Ports.
12860 29 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 )..........</DL>..........<br><b
12880 72 3e 20 41 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 r>.Additional.conditions.may.be.
128a0 70 6f 73 73 69 62 6c 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 70 61 72 74 69 63 possible.depending.on.the.partic
128c0 75 6c 61 72 20 6e 61 6d 65 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 73 ular.namespace..........of.the.s
128e0 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 ocket..........sq.~......w.....t
12900 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 02 ad 74 00 33 69 6e 74 20 73 6f 63 6b 65 ..sys/socket.hxq.~..t.3int.socke
12920 74 2c 20 73 74 72 75 63 74 20 73 6f 63 6b 61 64 64 72 20 2a 61 64 64 72 2c 20 73 6f 63 6b 6c 65 t,.struct.sockaddr.*addr,.sockle
12940 6e 5f 74 20 6c 65 6e 67 74 68 74 00 03 69 6e 74 74 00 0e 62 69 6e 64 74 65 78 74 64 6f 6d 61 69 n_t.lengtht..intt..bindtextdomai
12960 6e 73 71 00 7e 00 0a 70 74 08 22 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 62 69 nsq.~..pt.".........The.<CODE>bi
12980 6e 64 74 65 78 74 64 6f 6d 61 69 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e ndtextdomain</CODE>.function.can
129a0 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 64 69 72 65 63 74 6f 72 .be.used.to.specify.the.director
129c0 79 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 6d 65 y..........which.contains.the.me
129e0 73 73 61 67 65 20 63 61 74 61 6c 6f 67 73 20 66 6f 72 20 64 6f 6d 61 69 6e 20 3c 56 41 52 3e 64 ssage.catalogs.for.domain.<VAR>d
12a00 6f 6d 61 69 6e 6e 61 6d 65 3c 2f 56 41 52 3e 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 omainname</VAR>.for.the.........
12a20 20 64 69 66 66 65 72 65 6e 74 20 6c 61 6e 67 75 61 67 65 73 2e 20 20 54 6f 20 62 65 20 63 6f 72 .different.languages...To.be.cor
12a40 72 65 63 74 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 77 68 65 72 rect,.this.is.the.directory.wher
12a60 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 68 69 65 72 61 72 63 68 79 20 6f 66 20 64 69 72 65 e.the..........hierarchy.of.dire
12a80 63 74 6f 72 69 65 73 20 69 73 20 65 78 70 65 63 74 65 64 2e 20 20 44 65 74 61 69 6c 73 20 61 72 ctories.is.expected...Details.ar
12aa0 65 20 65 78 70 6c 61 69 6e 65 64 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e e.explained.below...........<br>
12ac0 3c 62 72 3e 20 46 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 69 74 20 69 73 20 69 6d <br>.For.the.programmer.it.is.im
12ae0 70 6f 72 74 61 6e 74 20 74 6f 20 6e 6f 74 65 20 74 68 61 74 20 74 68 65 20 74 72 61 6e 73 6c 61 portant.to.note.that.the.transla
12b00 74 69 6f 6e 73 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 65 20 77 69 74 68 20 74 tions.which..........come.with.t
12b20 68 65 20 70 72 6f 67 72 61 6d 20 68 61 76 65 20 62 65 20 70 6c 61 63 65 64 20 69 6e 20 61 20 64 he.program.have.be.placed.in.a.d
12b40 69 72 65 63 74 6f 72 79 20 68 69 65 72 61 72 63 68 79 20 73 74 61 72 74 69 6e 67 0a 20 20 20 20 irectory.hierarchy.starting.....
12b60 20 20 20 20 20 61 74 2c 20 73 61 79 2c 20 3c 54 54 3e 2f 66 6f 6f 2f 62 61 72 3c 2f 54 54 3e 2e .....at,.say,.<TT>/foo/bar</TT>.
12b80 20 20 54 68 65 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 20 73 68 6f 75 6c 64 20 6d 61 6b 65 20 61 ..Then.the.program.should.make.a
12ba0 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 62 69 6e 64 74 65 78 74 64 6f 6d 61 69 6e 3c 2f ..........<CODE>bindtextdomain</
12bc0 43 4f 44 45 3e 20 63 61 6c 6c 20 74 6f 20 62 69 6e 64 20 74 68 65 20 64 6f 6d 61 69 6e 20 66 6f CODE>.call.to.bind.the.domain.fo
12be0 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 67 72 61 6d 20 74 6f 0a 20 20 20 20 20 20 20 r.the.current.program.to........
12c00 20 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 79 2e 20 20 53 6f 20 69 74 20 69 73 20 6d 61 64 65 ..this.directory...So.it.is.made
12c20 20 73 75 72 65 20 74 68 65 20 63 61 74 61 6c 6f 67 73 20 61 72 65 20 66 6f 75 6e 64 2e 20 20 41 .sure.the.catalogs.are.found...A
12c40 20 63 6f 72 72 65 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 72 75 6e 6e 69 6e 67 20 70 72 6f 67 .correctly..........running.prog
12c60 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 65 6e 64 20 6f 6e 20 74 68 65 20 75 73 65 72 20 ram.does.not.depend.on.the.user.
12c80 73 65 74 74 69 6e 67 20 61 6e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 setting.an.environment..........
12ca0 76 61 72 69 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 variable...........<br><br>.The.
12cc0 3c 43 4f 44 45 3e 62 69 6e 64 74 65 78 74 64 6f 6d 61 69 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 <CODE>bindtextdomain</CODE>.func
12ce0 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 73 65 76 65 72 61 6c 20 74 69 6d 65 73 20 61 tion.can.be.used.several.times.a
12d00 6e 64 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 6e 61 nd.if.the..........<VAR>domainna
12d20 6d 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 74 me</VAR>.argument.is.different.t
12d40 68 65 20 70 72 65 76 69 6f 75 73 6c 79 20 62 6f 75 6e 64 20 64 6f 6d 61 69 6e 73 0a 20 20 20 20 he.previously.bound.domains.....
12d60 20 20 20 20 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 2e 0a 20 20 .....will.not.be.overwritten....
12d80 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 77 .......<br><br>.If.the.program.w
12da0 68 69 63 68 20 77 69 73 68 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 62 69 6e 64 74 65 78 74 64 hich.wish.to.use.<CODE>bindtextd
12dc0 6f 6d 61 69 6e 3c 2f 43 4f 44 45 3e 20 61 74 20 73 6f 6d 65 20 70 6f 69 6e 74 20 6f 66 0a 20 20 omain</CODE>.at.some.point.of...
12de0 20 20 20 20 20 20 20 74 69 6d 65 20 75 73 65 20 74 68 65 20 3c 43 4f 44 45 3e 63 68 64 69 72 3c .......time.use.the.<CODE>chdir<
12e00 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 63 75 /CODE>.function.to.change.the.cu
12e20 72 72 65 6e 74 20 77 6f 72 6b 69 6e 67 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 rrent.working..........directory
12e40 20 69 74 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 68 61 74 20 74 68 65 20 3c 56 41 52 3e 64 .it.is.important.that.the.<VAR>d
12e60 69 72 6e 61 6d 65 3c 2f 56 41 52 3e 20 73 74 72 69 6e 67 73 20 6f 75 67 68 74 20 74 6f 20 62 65 irname</VAR>.strings.ought.to.be
12e80 20 61 6e 0a 20 20 20 20 20 20 20 20 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 6e 61 6d 65 2e 20 .an..........absolute.pathname..
12ea0 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 61 64 64 72 65 73 73 65 64 20 64 69 72 65 63 74 6f .Otherwise.the.addressed.directo
12ec0 72 79 20 6d 69 67 68 74 20 76 61 72 79 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 ry.might.vary.with..........the.
12ee0 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 3c time...........<br><br>.If.the.<
12f00 56 41 52 3e 64 69 72 6e 61 6d 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 74 VAR>dirname</VAR>.parameter.is.t
12f20 68 65 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 3c 43 4f 44 45 3e 62 69 6e 64 74 65 78 74 64 6f he.null.pointer.<CODE>bindtextdo
12f40 6d 61 69 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 65 main</CODE>..........returns.the
12f60 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 64 69 72 65 63 74 6f 72 79 20 66 6f .currently.selected.directory.fo
12f80 72 20 74 68 65 20 64 6f 6d 61 69 6e 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 r.the.domain.with.the.name......
12fa0 20 20 20 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 ....<VAR>domainname</VAR>.......
12fc0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 62 69 6e 64 74 65 78 74 64 ....<br><br>.The.<CODE>bindtextd
12fe0 6f 6d 61 69 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 omain</CODE>.function.returns.a.
13000 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 63 6f 6e pointer.to.a.string..........con
13020 74 61 69 6e 69 6e 67 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 65 6c 65 63 74 65 64 taining.the.name.of.the.selected
13040 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2e 20 20 54 68 65 20 73 74 72 69 6e 67 20 69 73 0a .directory.name...The.string.is.
13060 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 69 6e 74 65 72 6e 61 6c 6c 79 20 69 6e .........allocated.internally.in
13080 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 63 68 .the.function.and.must.not.be.ch
130a0 61 6e 67 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 2e 20 20 49 66 20 anged.by.the..........user...If.
130c0 74 68 65 20 73 79 73 74 65 6d 20 77 65 6e 74 20 6f 75 74 20 6f 66 20 63 6f 72 65 20 64 75 72 69 the.system.went.out.of.core.duri
130e0 6e 67 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f ng.the.execution.of..........<CO
13100 44 45 3e 62 69 6e 64 74 65 78 74 64 6f 6d 61 69 6e 3c 2f 43 4f 44 45 3e 20 74 68 65 20 72 65 74 DE>bindtextdomain</CODE>.the.ret
13120 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 61 urn.value.is.<CODE>NULL</CODE>.a
13140 6e 64 20 74 68 65 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 nd.the.global..........variable.
13160 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e <VAR>errno</VAR>.is.set.accordin
13180 67 6c 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 gly..........sq.~......w.....t..
131a0 6c 69 62 69 6e 74 6c 2e 68 78 71 00 7e 02 b4 74 00 2b 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 6f libintl.hxq.~..t.+const.char.*do
131c0 6d 61 69 6e 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 69 72 6e 61 6d 65 74 00 06 mainname,.const.char.*dirnamet..
131e0 63 68 61 72 20 2a 74 00 03 62 72 6b 73 71 00 7e 00 0a 70 74 05 73 0a 20 20 20 20 20 20 20 20 3c char.*t..brksq.~..pt.s.........<
13200 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 62 72 6b 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 74 68 br><br>.<CODE>brk</CODE>.sets.th
13220 65 20 68 69 67 68 20 65 6e 64 20 6f 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 e.high.end.of.the.calling.proces
13240 73 27 20 64 61 74 61 20 73 65 67 6d 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 s'.data.segment.to..........<VAR
13260 3e 61 64 64 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 >addr</VAR>...........<br><br>.T
13280 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 65 6e 64 20 6f 66 20 61 20 73 65 67 6d 65 he.address.of.the.end.of.a.segme
132a0 6e 74 20 69 73 20 64 65 66 69 6e 65 64 20 74 6f 20 62 65 20 74 68 65 20 61 64 64 72 65 73 73 20 nt.is.defined.to.be.the.address.
132c0 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6c 61 73 74 20 62 79 74 65 20 69 6e 20 74 68 65 of.the..........last.byte.in.the
132e0 20 73 65 67 6d 65 6e 74 20 70 6c 75 73 20 31 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .segment.plus.1...........<br><b
13300 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 69 66 r>.The.function.has.no.effect.if
13320 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 69 73 20 6c 6f 77 65 72 20 74 68 61 6e 20 74 .<VAR>addr</VAR>.is.lower.than.t
13340 68 65 20 6c 6f 77 20 65 6e 64 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 64 61 74 61 20 he.low.end.of..........the.data.
13360 73 65 67 6d 65 6e 74 2e 20 20 28 54 68 69 73 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 73 75 segment...(This.is.considered.su
13380 63 63 65 73 73 2c 20 62 79 20 74 68 65 20 77 61 79 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ccess,.by.the.way)...........<br
133a0 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 73 20 69 66 20 69 74 20 77 ><br>.The.function.fails.if.it.w
133c0 6f 75 6c 64 20 63 61 75 73 65 20 74 68 65 20 64 61 74 61 20 73 65 67 6d 65 6e 74 20 74 6f 20 6f ould.cause.the.data.segment.to.o
133e0 76 65 72 6c 61 70 20 61 6e 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 73 65 67 6d 65 6e 74 20 verlap.another..........segment.
13400 6f 72 20 65 78 63 65 65 64 20 74 68 65 20 70 72 6f 63 65 73 73 27 20 64 61 74 61 20 73 74 6f 72 or.exceed.the.process'.data.stor
13420 61 67 65 20 6c 69 6d 69 74 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 age.limit............<br><br>.Th
13440 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 61 6d 65 64 20 66 6f 72 20 61 20 63 6f 6d 6d 6f 6e e.function.is.named.for.a.common
13460 20 68 69 73 74 6f 72 69 63 61 6c 20 63 61 73 65 20 77 68 65 72 65 20 64 61 74 61 20 73 74 6f 72 .historical.case.where.data.stor
13480 61 67 65 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 73 74 61 63 6b 20 61 72 65 20 69 age..........and.the.stack.are.i
134a0 6e 20 74 68 65 20 73 61 6d 65 20 73 65 67 6d 65 6e 74 2e 20 20 44 61 74 61 20 73 74 6f 72 61 67 n.the.same.segment...Data.storag
134c0 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 67 72 6f 77 73 0a 20 20 20 20 20 20 20 20 20 75 70 77 61 e.allocation.grows..........upwa
134e0 72 64 20 66 72 6f 6d 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 73 65 67 6d 65 6e rd.from.the.bottom.of.the.segmen
13500 74 20 77 68 69 6c 65 20 74 68 65 20 73 74 61 63 6b 20 67 72 6f 77 73 20 64 6f 77 6e 77 61 72 64 t.while.the.stack.grows.downward
13520 0a 20 20 20 20 20 20 20 20 20 74 6f 77 61 72 64 20 69 74 20 66 72 6f 6d 20 74 68 65 20 74 6f 70 ..........toward.it.from.the.top
13540 20 6f 66 20 74 68 65 20 73 65 67 6d 65 6e 74 20 61 6e 64 20 74 68 65 20 63 75 72 74 61 69 6e 20 .of.the.segment.and.the.curtain.
13560 62 65 74 77 65 65 6e 20 74 68 65 6d 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 between.them.is..........called.
13580 74 68 65 20 62 72 65 61 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 the.break...........<br><br>.The
135a0 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 6f 6e 20 73 75 63 63 65 73 73 .return.value.is.zero.on.success
135c0 2e 20 20 4f 6e 20 66 61 69 6c 75 72 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 ...On.failure,.the.return.value.
135e0 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 is..........<CODE>-1</CODE>.and.
13600 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 <CODE>errno</CODE>.is.set.accord
13620 69 6e 67 6c 79 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e ingly...The.following.<CODE>errn
13640 6f 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 73 20 61 72 65 20 73 70 65 o</CODE>..........values.are.spe
13660 63 69 66 69 63 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 cific.to.this.function:.........
13680 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f .<br><br>.<DL>...........<DT><CO
136a0 44 45 3e 45 4e 4f 4d 45 4d 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 71 75 65 73 74 20 77 DE>ENOMEM..........The.request.w
136c0 6f 75 6c 64 20 63 61 75 73 65 20 74 68 65 20 64 61 74 61 20 73 65 67 6d 65 6e 74 20 74 6f 20 6f ould.cause.the.data.segment.to.o
136e0 76 65 72 6c 61 70 20 61 6e 6f 74 68 65 72 20 73 65 67 6d 65 6e 74 20 6f 72 3c 2f 43 4f 44 45 3e verlap.another.segment.or</CODE>
13700 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 65 64 20 74 68 65 20 70 72 6f 63 65 73 .<DD>..........exceed.the.proces
13720 73 27 20 64 61 74 61 20 73 74 6f 72 61 67 65 20 6c 69 6d 69 74 2e 0a 20 20 20 20 20 20 20 20 20 s'.data.storage.limit...........
13740 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e </DL>..........<br><br>.<br><br>
13760 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 .........sq.~......w.....t..unis
13780 74 64 2e 68 78 71 00 7e 02 bb 74 00 0a 76 6f 69 64 20 2a 61 64 64 72 74 00 03 69 6e 74 74 00 07 td.hxq.~..t..void.*addrt..intt..
137a0 62 73 65 61 72 63 68 73 71 00 7e 00 0a 70 74 04 5a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 bsearchsq.~..pt.Z.........The.<C
137c0 4f 44 45 3e 62 73 65 61 72 63 68 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 ODE>bsearch</CODE>.function.sear
137e0 63 68 65 73 20 74 68 65 20 73 6f 72 74 65 64 20 61 72 72 61 79 20 3c 56 41 52 3e 61 72 72 61 79 ches.the.sorted.array.<VAR>array
13800 3c 2f 56 41 52 3e 20 66 6f 72 20 61 6e 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 74 68 </VAR>.for.an.object..........th
13820 61 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 at.is.equivalent.to.<VAR>key</VA
13840 52 3e 2e 20 20 54 68 65 20 61 72 72 61 79 20 63 6f 6e 74 61 69 6e 73 20 3c 56 41 52 3e 63 6f 75 R>...The.array.contains.<VAR>cou
13860 6e 74 3c 2f 56 41 52 3e 20 65 6c 65 6d 65 6e 74 73 2c 0a 20 20 20 20 20 20 20 20 20 65 61 63 68 nt</VAR>.elements,..........each
13880 20 6f 66 20 77 68 69 63 68 20 69 73 20 6f 66 20 73 69 7a 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f .of.which.is.of.size.<VAR>size</
138a0 56 41 52 3e 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 VAR>.bytes...........<br><br>.Th
138c0 65 20 3c 56 41 52 3e 63 6f 6d 70 61 72 65 3c 2f 56 41 52 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 e.<VAR>compare</VAR>.function.is
138e0 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 2e .used.to.perform.the.comparison.
13900 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c ..This..........function.is.call
13920 65 64 20 77 69 74 68 20 74 77 6f 20 70 6f 69 6e 74 65 72 20 61 72 67 75 6d 65 6e 74 73 20 61 6e ed.with.two.pointer.arguments.an
13940 64 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 d.should.return.an..........inte
13960 67 65 72 20 6c 65 73 73 20 74 68 61 6e 2c 20 65 71 75 61 6c 20 74 6f 2c 20 6f 72 20 67 72 65 61 ger.less.than,.equal.to,.or.grea
13980 74 65 72 20 74 68 61 6e 20 7a 65 72 6f 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 0a 20 ter.than.zero.corresponding.to..
139a0 20 20 20 20 20 20 20 20 77 68 65 74 68 65 72 20 69 74 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 ........whether.its.first.argume
139c0 6e 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 6c 65 73 73 20 74 68 61 6e 2c 20 65 71 75 61 nt.is.considered.less.than,.equa
139e0 6c 20 74 6f 2c 20 6f 72 20 67 72 65 61 74 65 72 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 69 l.to,.or.greater..........than.i
13a00 74 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 2e 20 20 54 68 65 20 65 6c 65 6d 65 6e 74 ts.second.argument...The.element
13a20 73 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 61 72 72 61 79 3c 2f 56 41 52 3e 20 6d 75 73 74 20 61 s.of.the.<VAR>array</VAR>.must.a
13a40 6c 72 65 61 64 79 0a 20 20 20 20 20 20 20 20 20 62 65 20 73 6f 72 74 65 64 20 69 6e 20 61 73 63 lready..........be.sorted.in.asc
13a60 65 6e 64 69 6e 67 20 6f 72 64 65 72 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 69 73 20 63 ending.order.according.to.this.c
13a80 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 omparison.function...........<br
13aa0 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 6e ><br>.The.return.value.is.a.poin
13ac0 74 65 72 20 74 6f 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 61 72 72 61 79 20 65 6c 65 6d 65 6e ter.to.the.matching.array.elemen
13ae0 74 2c 20 6f 72 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 69 66 t,.or.a.null..........pointer.if
13b00 20 6e 6f 20 6d 61 74 63 68 20 69 73 20 66 6f 75 6e 64 2e 20 20 49 66 20 74 68 65 20 61 72 72 61 .no.match.is.found...If.the.arra
13b20 79 20 63 6f 6e 74 61 69 6e 73 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 y.contains.more.than.one.element
13b40 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 6d 61 74 63 68 65 73 2c 20 74 68 65 20 6f 6e 65 20 ..........that.matches,.the.one.
13b60 74 68 61 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 73 20 75 6e 73 70 65 63 69 66 69 65 64 2e that.is.returned.is.unspecified.
13b80 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e ..........<br><br>.This.function
13ba0 20 64 65 72 69 76 65 73 20 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 66 61 63 74 20 .derives.its.name.from.the.fact.
13bc0 74 68 61 74 20 69 74 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 20 20 20 that.it.is.implemented..........
13be0 75 73 69 6e 67 20 74 68 65 20 62 69 6e 61 72 79 20 73 65 61 72 63 68 20 61 6c 67 6f 72 69 74 68 using.the.binary.search.algorith
13c00 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 m..........sq.~......w.....t..st
13c20 64 6c 69 62 2e 68 78 71 00 7e 02 c2 74 00 56 63 6f 6e 73 74 20 76 6f 69 64 20 2a 6b 65 79 2c 20 dlib.hxq.~..t.Vconst.void.*key,.
13c40 63 6f 6e 73 74 20 76 6f 69 64 20 2a 61 72 72 61 79 2c 20 73 69 7a 65 5f 74 20 63 6f 75 6e 74 2c const.void.*array,.size_t.count,
13c60 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 63 6f 6d 70 61 72 69 73 6f 6e 5f 66 6e 5f 74 20 63 6f .size_t.size,.comparison_fn_t.co
13c80 6d 70 61 72 65 74 00 06 76 6f 69 64 20 2a 74 00 05 62 74 6f 77 63 73 71 00 7e 00 0a 70 74 03 ab mparet..void.*t..btowcsq.~..pt..
13ca0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 62 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 .........The.<CODE>btowc</CODE>.
13cc0 66 75 6e 63 74 69 6f 6e 20 28 60 60 62 79 74 65 20 74 6f 20 77 69 64 65 20 63 68 61 72 61 63 74 function.(``byte.to.wide.charact
13ce0 65 72 27 27 29 20 63 6f 6e 76 65 72 74 73 20 61 20 76 61 6c 69 64 0a 20 20 20 20 20 20 20 20 20 er'').converts.a.valid..........
13d00 73 69 6e 67 6c 65 20 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e 63 3c 2f 56 41 single.byte.character.<VAR>c</VA
13d20 52 3e 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 68 69 66 74 20 73 74 61 74 65 20 69 6e R>.in.the.initial.shift.state.in
13d40 74 6f 20 74 68 65 20 77 69 64 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 65 to.the.wide..........character.e
13d60 71 75 69 76 61 6c 65 6e 74 20 75 73 69 6e 67 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 72 quivalent.using.the.conversion.r
13d80 75 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 ules.from.the.currently.........
13da0 20 73 65 6c 65 63 74 65 64 20 6c 6f 63 61 6c 65 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 4c 43 .selected.locale.of.the.<CODE>LC
13dc0 5f 43 54 59 50 45 3c 2f 43 4f 44 45 3e 20 63 61 74 65 67 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 _CTYPE</CODE>.category..........
13de0 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 45 3e 28 75 6e 73 69 67 6e 65 64 20 63 68 61 .<br><br>.If.<CODE>(unsigned.cha
13e00 72 29 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 20 76 61 6c r).<VAR>c</VAR></CODE>.is.no.val
13e20 69 64 20 73 69 6e 67 6c 65 20 62 79 74 65 20 6d 75 6c 74 69 62 79 74 65 0a 20 20 20 20 20 20 20 id.single.byte.multibyte........
13e40 20 20 63 68 61 72 61 63 74 65 72 20 6f 72 20 69 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 ..character.or.if.<VAR>c</VAR>.i
13e60 73 20 3c 43 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e s.<CODE>EOF</CODE>,.the.function
13e80 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 57 45 4f 46 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 .returns.<CODE>WEOF</CODE>......
13ea0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 65 20 72 65 .....<br><br>.Please.note.the.re
13ec0 73 74 72 69 63 74 69 6f 6e 20 6f 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 62 65 69 6e 67 20 striction.of.<VAR>c</VAR>.being.
13ee0 74 65 73 74 65 64 20 66 6f 72 20 76 61 6c 69 64 69 74 79 20 6f 6e 6c 79 20 69 6e 0a 20 20 20 20 tested.for.validity.only.in.....
13f00 20 20 20 20 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 68 69 66 74 20 73 74 61 74 65 2e 20 20 4e .....the.initial.shift.state...N
13f20 6f 20 3c 43 4f 44 45 3e 6d 62 73 74 61 74 65 5f 74 3c 2f 43 4f 44 45 3e 20 6f 62 6a 65 63 74 20 o.<CODE>mbstate_t</CODE>.object.
13f40 69 73 20 75 73 65 64 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 74 68 65 20 is.used.from..........which.the.
13f60 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 74 61 6b 65 6e 2c 20 61 6e 64 20 state.information.is.taken,.and.
13f80 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 6c 73 6f 20 64 6f 65 73 20 6e 6f 74 20 75 73 65 0a 20 the.function.also.does.not.use..
13fa0 20 20 20 20 20 20 20 20 61 6e 79 20 73 74 61 74 69 63 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 ........any.static.state........
13fc0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 62 74 6f 77 63 3c 2f 43 4f 44 ...<br><br>.The.<CODE>btowc</COD
13fe0 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d E>.function.was.introduced.in.Am
14000 65 6e 64 6d 65 6e 74 20 31 20 74 6f 20 49 53 4f 20 43 39 30 0a 20 20 20 20 20 20 20 20 20 61 6e endment.1.to.ISO.C90..........an
14020 64 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 61 72 2e 68 3c 2f 54 54 d.is.declared.in.<TT>wchar.h</TT
14040 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 >..........sq.~......w.....t..wc
14060 68 61 72 2e 68 78 71 00 7e 02 c9 74 00 05 69 6e 74 20 63 74 00 06 77 69 6e 74 5f 74 74 00 05 62 har.hxq.~..t..int.ct..wint_tt..b
14080 7a 65 72 6f 73 71 00 7e 00 0a 70 74 00 dc 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 zerosq.~..pt...........This.is.a
140a0 20 70 61 72 74 69 61 6c 6c 79 20 6f 62 73 6f 6c 65 74 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 .partially.obsolete.alternative.
140c0 66 6f 72 20 3c 43 4f 44 45 3e 6d 65 6d 73 65 74 3c 2f 43 4f 44 45 3e 2c 20 64 65 72 69 76 65 64 for.<CODE>memset</CODE>,.derived
140e0 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 42 53 44 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 69 .from..........BSD...Note.that.i
14100 74 20 69 73 20 6e 6f 74 20 61 73 20 67 65 6e 65 72 61 6c 20 61 73 20 3c 43 4f 44 45 3e 6d 65 6d t.is.not.as.general.as.<CODE>mem
14120 73 65 74 3c 2f 43 4f 44 45 3e 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 6f 6e 6c 79 0a 20 20 20 set</CODE>,.because.the.only....
14140 20 20 20 20 20 20 76 61 6c 75 65 20 69 74 20 63 61 6e 20 73 74 6f 72 65 20 69 73 20 7a 65 72 6f ......value.it.can.store.is.zero
14160 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 ..........sq.~......w.....t..str
14180 69 6e 67 2e 68 78 71 00 7e 02 d0 74 00 18 76 6f 69 64 20 2a 62 6c 6f 63 6b 2c 20 73 69 7a 65 5f ing.hxq.~..t..void.*block,.size_
141a0 74 20 73 69 7a 65 74 00 04 76 6f 69 64 74 00 04 63 61 62 73 73 71 00 7e 00 0a 70 74 02 50 0a 20 t.sizet..voidt..cabssq.~..pt.P..
141c0 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 .......These.functions.return.th
141e0 65 20 61 62 73 6f 6c 75 74 65 20 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 e.absolute..value.of.the.complex
14200 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 2e 20 .number.<VAR>z</VAR>............
14220 20 54 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 61 20 63 6f 6d 70 6c 65 78 .The.absolute.value.of.a.complex
14240 20 6e 75 6d 62 65 72 20 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 .number.is:..........<br><br>.<p
14260 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 71 72 74 20 28 63 72 65 61 6c 20 28 3c 56 re><br>..........sqrt.(creal.(<V
14280 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2a 20 63 72 65 61 6c 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 AR>z</VAR>).*.creal.(<VAR>z</VAR
142a0 3e 29 20 2b 20 63 69 6d 61 67 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2a 20 63 69 6d 61 >).+.cimag.(<VAR>z</VAR>).*.cima
142c0 67 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c g.(<VAR>z</VAR>))<br>..........<
142e0 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e /pre>..........<br><br>.This.fun
14300 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 75 73 65 64 20 69 6e 73 74 ction.should.always.be.used.inst
14320 65 61 64 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 20 66 6f 72 6d 75 6c 61 0a 20 20 20 20 20 20 ead.of.the.direct.formula.......
14340 20 20 20 62 65 63 61 75 73 65 20 69 74 20 74 61 6b 65 73 20 73 70 65 63 69 61 6c 20 63 61 72 65 ...because.it.takes.special.care
14360 20 74 6f 20 61 76 6f 69 64 20 6c 6f 73 69 6e 67 20 70 72 65 63 69 73 69 6f 6e 2e 20 20 49 74 20 .to.avoid.losing.precision...It.
14380 6d 61 79 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 74 61 6b 65 20 61 64 76 61 6e 74 61 67 65 may.also..........take.advantage
143a0 20 6f 66 20 68 61 72 64 77 61 72 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 69 73 20 6f 70 .of.hardware.support.for.this.op
143c0 65 72 61 74 69 6f 6e 2e 20 53 65 65 20 3c 43 4f 44 45 3e 68 79 70 6f 74 3c 2f 43 4f 44 45 3e 0a eration..See.<CODE>hypot</CODE>.
143e0 20 20 20 20 20 20 20 20 20 69 6e 20 45 78 70 6f 6e 65 6e 74 73 20 61 6e 64 20 4c 6f 67 61 72 69 .........in.Exponents.and.Logari
14400 74 68 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 thms..........sq.~......w.....t.
14420 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 02 d7 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c .complex.hxq.~..t..complex.doubl
14440 65 20 7a 74 00 06 64 6f 75 62 6c 65 74 00 05 63 61 62 73 66 73 71 00 7e 00 0a 70 74 02 50 0a 20 e.zt..doublet..cabsfsq.~..pt.P..
14460 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 .......These.functions.return.th
14480 65 20 61 62 73 6f 6c 75 74 65 20 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 e.absolute..value.of.the.complex
144a0 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 2e 20 .number.<VAR>z</VAR>............
144c0 20 54 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 61 20 63 6f 6d 70 6c 65 78 .The.absolute.value.of.a.complex
144e0 20 6e 75 6d 62 65 72 20 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 .number.is:..........<br><br>.<p
14500 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 71 72 74 20 28 63 72 65 61 6c 20 28 3c 56 re><br>..........sqrt.(creal.(<V
14520 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2a 20 63 72 65 61 6c 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 AR>z</VAR>).*.creal.(<VAR>z</VAR
14540 3e 29 20 2b 20 63 69 6d 61 67 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2a 20 63 69 6d 61 >).+.cimag.(<VAR>z</VAR>).*.cima
14560 67 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c g.(<VAR>z</VAR>))<br>..........<
14580 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e /pre>..........<br><br>.This.fun
145a0 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 75 73 65 64 20 69 6e 73 74 ction.should.always.be.used.inst
145c0 65 61 64 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 20 66 6f 72 6d 75 6c 61 0a 20 20 20 20 20 20 ead.of.the.direct.formula.......
145e0 20 20 20 62 65 63 61 75 73 65 20 69 74 20 74 61 6b 65 73 20 73 70 65 63 69 61 6c 20 63 61 72 65 ...because.it.takes.special.care
14600 20 74 6f 20 61 76 6f 69 64 20 6c 6f 73 69 6e 67 20 70 72 65 63 69 73 69 6f 6e 2e 20 20 49 74 20 .to.avoid.losing.precision...It.
14620 6d 61 79 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 74 61 6b 65 20 61 64 76 61 6e 74 61 67 65 may.also..........take.advantage
14640 20 6f 66 20 68 61 72 64 77 61 72 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 69 73 20 6f 70 .of.hardware.support.for.this.op
14660 65 72 61 74 69 6f 6e 2e 20 53 65 65 20 3c 43 4f 44 45 3e 68 79 70 6f 74 3c 2f 43 4f 44 45 3e 0a eration..See.<CODE>hypot</CODE>.
14680 20 20 20 20 20 20 20 20 20 69 6e 20 45 78 70 6f 6e 65 6e 74 73 20 61 6e 64 20 4c 6f 67 61 72 69 .........in.Exponents.and.Logari
146a0 74 68 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 thms..........sq.~......w.....t.
146c0 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 02 de 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 .complex.hxq.~..t..complex.float
146e0 20 7a 74 00 05 66 6c 6f 61 74 74 00 05 63 61 62 73 6c 73 71 00 7e 00 0a 70 74 02 50 0a 20 20 20 .zt..floatt..cabslsq.~..pt.P....
14700 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 .....These.functions.return.the.
14720 61 62 73 6f 6c 75 74 65 20 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 6e absolute..value.of.the.complex.n
14740 75 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 2e 20 20 54 umber.<VAR>z</VAR>.............T
14760 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 61 20 63 6f 6d 70 6c 65 78 20 6e he.absolute.value.of.a.complex.n
14780 75 6d 62 65 72 20 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 umber.is:..........<br><br>.<pre
147a0 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 71 72 74 20 28 63 72 65 61 6c 20 28 3c 56 41 52 ><br>..........sqrt.(creal.(<VAR
147c0 3e 7a 3c 2f 56 41 52 3e 29 20 2a 20 63 72 65 61 6c 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 >z</VAR>).*.creal.(<VAR>z</VAR>)
147e0 20 2b 20 63 69 6d 61 67 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2a 20 63 69 6d 61 67 20 .+.cimag.(<VAR>z</VAR>).*.cimag.
14800 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 (<VAR>z</VAR>))<br>..........</p
14820 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 re>..........<br><br>.This.funct
14840 69 6f 6e 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 75 73 65 64 20 69 6e 73 74 65 61 ion.should.always.be.used.instea
14860 64 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 20 66 6f 72 6d 75 6c 61 0a 20 20 20 20 20 20 20 20 d.of.the.direct.formula.........
14880 20 62 65 63 61 75 73 65 20 69 74 20 74 61 6b 65 73 20 73 70 65 63 69 61 6c 20 63 61 72 65 20 74 .because.it.takes.special.care.t
148a0 6f 20 61 76 6f 69 64 20 6c 6f 73 69 6e 67 20 70 72 65 63 69 73 69 6f 6e 2e 20 20 49 74 20 6d 61 o.avoid.losing.precision...It.ma
148c0 79 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 74 61 6b 65 20 61 64 76 61 6e 74 61 67 65 20 6f y.also..........take.advantage.o
148e0 66 20 68 61 72 64 77 61 72 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 69 73 20 6f 70 65 72 f.hardware.support.for.this.oper
14900 61 74 69 6f 6e 2e 20 53 65 65 20 3c 43 4f 44 45 3e 68 79 70 6f 74 3c 2f 43 4f 44 45 3e 0a 20 20 ation..See.<CODE>hypot</CODE>...
14920 20 20 20 20 20 20 20 69 6e 20 45 78 70 6f 6e 65 6e 74 73 20 61 6e 64 20 4c 6f 67 61 72 69 74 68 .......in.Exponents.and.Logarith
14940 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 ms..........sq.~......w.....t..c
14960 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 02 e5 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f omplex.hxq.~..t..complex.long.do
14980 75 62 6c 65 20 7a 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 63 61 63 6f 73 73 71 00 7e uble.zt..long.doublet..cacossq.~
149a0 00 0a 70 74 01 2a 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 ..pt.*.........These.functions.c
149c0 6f 6d 70 75 74 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 61 72 63 20 63 6f 73 69 6e 65 20 6f 66 ompute.the.complex.arc.cosine.of
149e0 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 20 74 68 65 0a 20 20 20 .<VAR>z</VAR>---that.is,.the....
14a00 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 52 ......value.whose.cosine.is.<VAR
14a20 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 >z</VAR>...The.value.returned.is
14a40 20 69 6e 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 .in.radians...........<br><br>.U
14a60 6e 6c 69 6b 65 20 74 68 65 20 72 65 61 6c 2d 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c nlike.the.real-valued.functions,
14a80 20 3c 43 4f 44 45 3e 63 61 63 6f 73 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 66 69 6e 65 64 20 66 .<CODE>cacos</CODE>.is.defined.f
14aa0 6f 72 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 52 3e 7a or.all..........values.of.<VAR>z
14ac0 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a </VAR>..........sq.~......w.....
14ae0 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 02 ec 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 t..complex.hxq.~..t..complex.dou
14b00 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 06 63 61 63 6f 73 66 73 ble.zt..complex.doublet..cacosfs
14b20 71 00 7e 00 0a 70 74 01 2a 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt.*.........These.function
14b40 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 61 72 63 20 63 6f 73 69 6e 65 s.compute.the.complex.arc.cosine
14b60 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 20 74 68 65 0a .of.<VAR>z</VAR>---that.is,.the.
14b80 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f 73 69 6e 65 20 69 73 20 3c .........value.whose.cosine.is.<
14ba0 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 VAR>z</VAR>...The.value.returned
14bc0 20 69 73 20 69 6e 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .is.in.radians...........<br><br
14be0 3e 20 55 6e 6c 69 6b 65 20 74 68 65 20 72 65 61 6c 2d 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f >.Unlike.the.real-valued.functio
14c00 6e 73 2c 20 3c 43 4f 44 45 3e 63 61 63 6f 73 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 66 69 6e 65 ns,.<CODE>cacos</CODE>.is.define
14c20 64 20 66 6f 72 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 d.for.all..........values.of.<VA
14c40 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 R>z</VAR>..........sq.~......w..
14c60 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 02 f3 74 00 0f 63 6f 6d 70 6c 65 78 20 ...t..complex.hxq.~..t..complex.
14c80 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 74 00 06 63 61 63 6f 73 68 float.zt..complex.floatt..cacosh
14ca0 73 71 00 7e 00 0a 70 74 01 08 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f sq.~..pt...........These.functio
14cc0 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 6c 65 78 20 68 79 ns.return.the.inverse.complex.hy
14ce0 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 perbolic.cosine.of..........<VAR
14d00 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f 6d 70 6c >z</VAR>---the.value.whose.compl
14d20 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 7a 3c 2f ex.hyperbolic.cosine.is.<VAR>z</
14d40 56 41 52 3e 2e 20 20 55 6e 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 61 6c 2d VAR>...Unlike..........the.real-
14d60 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 72 valued.functions,.there.are.no.r
14d80 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 estrictions.on.the.value.of.<VAR
14da0 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 >z</VAR>..........sq.~......w...
14dc0 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 02 fa 74 00 10 63 6f 6d 70 6c 65 78 20 64 ..t..complex.hxq.~..t..complex.d
14de0 6f 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 07 63 61 63 6f 73 ouble.zt..complex.doublet..cacos
14e00 68 66 73 71 00 7e 00 0a 70 74 01 08 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 hfsq.~..pt...........These.funct
14e20 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 6c 65 78 20 ions.return.the.inverse.complex.
14e40 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 hyperbolic.cosine.of..........<V
14e60 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f 6d AR>z</VAR>---the.value.whose.com
14e80 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 7a plex.hyperbolic.cosine.is.<VAR>z
14ea0 3c 2f 56 41 52 3e 2e 20 20 55 6e 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 61 </VAR>...Unlike..........the.rea
14ec0 6c 2d 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f l-valued.functions,.there.are.no
14ee0 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 .restrictions.on.the.value.of.<V
14f00 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 AR>z</VAR>..........sq.~......w.
14f20 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 01 74 00 0f 63 6f 6d 70 6c 65 78 ....t..complex.hxq.~..t..complex
14f40 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 74 00 07 63 61 63 6f 73 .float.zt..complex.floatt..cacos
14f60 68 6c 73 71 00 7e 00 0a 70 74 01 08 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 hlsq.~..pt...........These.funct
14f80 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 6c 65 78 20 ions.return.the.inverse.complex.
14fa0 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 hyperbolic.cosine.of..........<V
14fc0 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f 6d AR>z</VAR>---the.value.whose.com
14fe0 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 7a plex.hyperbolic.cosine.is.<VAR>z
15000 3c 2f 56 41 52 3e 2e 20 20 55 6e 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 61 </VAR>...Unlike..........the.rea
15020 6c 2d 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f l-valued.functions,.there.are.no
15040 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 .restrictions.on.the.value.of.<V
15060 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 AR>z</VAR>..........sq.~......w.
15080 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 08 74 00 15 63 6f 6d 70 6c 65 78 ....t..complex.hxq.~..t..complex
150a0 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f .long.double.zt..complex.long.do
150c0 75 62 6c 65 74 00 06 63 61 63 6f 73 6c 73 71 00 7e 00 0a 70 74 01 2a 0a 20 20 20 20 20 20 20 20 ublet..cacoslsq.~..pt.*.........
150e0 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 63 6f 6d 70 These.functions.compute.the.comp
15100 6c 65 78 20 61 72 63 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d lex.arc.cosine.of.<VAR>z</VAR>--
15120 2d 74 68 61 74 20 69 73 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f -that.is,.the..........value.who
15140 73 65 20 63 6f 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 se.cosine.is.<VAR>z</VAR>...The.
15160 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 20 69 6e 20 72 61 64 69 61 6e 73 2e 0a 20 20 value.returned.is.in.radians....
15180 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 6e 6c 69 6b 65 20 74 68 65 20 72 65 61 6c 2d .......<br><br>.Unlike.the.real-
151a0 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 3c 43 4f 44 45 3e 63 61 63 6f 73 3c 2f 43 valued.functions,.<CODE>cacos</C
151c0 4f 44 45 3e 20 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 ODE>.is.defined.for.all.........
151e0 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 .values.of.<VAR>z</VAR>.........
15200 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 .sq.~......w.....t..complex.hxq.
15220 7e 03 0f 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 13 63 6f ~..t..complex.long.double.zt..co
15240 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 06 63 61 6c 6c 6f 63 73 71 00 7e 00 0a mplex.long.doublet..callocsq.~..
15260 70 74 00 e8 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 6f 63 pt...........This.function.alloc
15280 61 74 65 73 20 61 20 62 6c 6f 63 6b 20 6c 6f 6e 67 20 65 6e 6f 75 67 68 20 74 6f 20 63 6f 6e 74 ates.a.block.long.enough.to.cont
152a0 61 69 6e 20 61 20 76 65 63 74 6f 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 63 6f ain.a.vector.of..........<VAR>co
152c0 75 6e 74 3c 2f 56 41 52 3e 20 65 6c 65 6d 65 6e 74 73 2c 20 65 61 63 68 20 6f 66 20 73 69 7a 65 unt</VAR>.elements,.each.of.size
152e0 20 3c 56 41 52 3e 65 6c 74 73 69 7a 65 3c 2f 56 41 52 3e 2e 20 20 49 74 73 20 63 6f 6e 74 65 6e .<VAR>eltsize</VAR>...Its.conten
15300 74 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 63 6c 65 61 72 65 64 20 74 6f 20 7a 65 72 6f 20 ts.are..........cleared.to.zero.
15320 62 65 66 6f 72 65 20 3c 43 4f 44 45 3e 63 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 before.<CODE>calloc</CODE>.retur
15340 6e 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 ns..........sq.~......w.....t..s
15360 74 64 6c 69 62 2e 68 78 71 00 7e 03 16 74 00 1c 73 69 7a 65 5f 74 20 63 6f 75 6e 74 2c 20 73 69 tdlib.hxq.~..t..size_t.count,.si
15380 7a 65 5f 74 20 65 6c 74 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 16 63 61 6e 6f 6e 69 63 61 ze_t.eltsizet..void.*t..canonica
153a0 6c 69 7a 65 5f 66 69 6c 65 5f 6e 61 6d 65 73 71 00 7e 00 0a 70 74 06 00 0a 20 20 20 20 20 20 20 lize_file_namesq.~..pt..........
153c0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 .<br><br>.The.<CODE>canonicalize
153e0 5f 66 69 6c 65 5f 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 _file_name</CODE>.function.retur
15400 6e 73 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 6e 61 6d 65 20 6f 66 0a 20 20 20 20 20 20 20 20 ns.the.absolute.name.of.........
15420 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 .the.file.named.by.<VAR>name</VA
15440 52 3e 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 20 3c 43 4f 44 45 3e 2e 3c 2f 43 4f R>.which.contains.no.<CODE>.</CO
15460 44 45 3e 2c 20 3c 43 4f 44 45 3e 2e 2e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 6f DE>,.<CODE>..</CODE>..........co
15480 6d 70 6f 6e 65 6e 74 73 20 6e 6f 72 20 61 6e 79 20 72 65 70 65 61 74 65 64 20 70 61 74 68 20 73 mponents.nor.any.repeated.path.s
154a0 65 70 61 72 61 74 6f 72 73 20 28 3c 43 4f 44 45 3e 2f 3c 2f 43 4f 44 45 3e 29 20 6f 72 20 73 79 eparators.(<CODE>/</CODE>).or.sy
154c0 6d 6c 69 6e 6b 73 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 73 20 mlinks...The..........result.is.
154e0 70 61 73 73 65 64 20 62 61 63 6b 20 61 73 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 passed.back.as.the.return.value.
15500 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 61 20 62 6c 6f 63 6b 20 6f 66 0a 20 20 of.the.function.in.a.block.of...
15520 20 20 20 20 20 20 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 65 64 20 77 69 74 68 20 3c 43 4f .......memory.allocated.with.<CO
15540 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 DE>malloc</CODE>...If.the.result
15560 20 69 73 20 6e 6f 74 20 75 73 65 64 20 61 6e 79 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 74 68 .is.not.used.anymore..........th
15580 65 20 6d 65 6d 6f 72 79 20 73 68 6f 75 6c 64 20 62 65 20 66 72 65 65 64 20 77 69 74 68 20 61 20 e.memory.should.be.freed.with.a.
155a0 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 66 72 65 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 call.to.<CODE>free</CODE>.......
155c0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 61 6e 79 20 6f 66 20 74 68 65 20 70 61 74 68 20 ....<br><br>.If.any.of.the.path.
155e0 63 6f 6d 70 6f 6e 65 6e 74 73 20 69 73 20 6d 69 73 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 components.is.missing.the.functi
15600 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 4e 55 4c 4c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 on.returns.a.NULL..........point
15620 65 72 2e 20 20 54 68 69 73 20 69 73 20 61 6c 73 6f 20 77 68 61 74 20 69 73 20 72 65 74 75 72 6e er...This.is.also.what.is.return
15640 65 64 20 69 66 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 70 61 74 68 0a 20 20 20 ed.if.the.length.of.the.path....
15660 20 20 20 20 20 20 72 65 61 63 68 65 73 20 6f 72 20 65 78 63 65 65 64 73 20 3c 43 4f 44 45 3e 50 ......reaches.or.exceeds.<CODE>P
15680 41 54 48 5f 4d 41 58 3c 2f 43 4f 44 45 3e 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 49 6e 20 61 ATH_MAX</CODE>.characters...In.a
156a0 6e 79 20 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f ny.case..........<CODE>errno</CO
156c0 44 45 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 20 20 20 20 20 20 20 20 DE>.is.set.accordingly..........
156e0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f .<br><br>.<DL>...........<DT><CO
15700 44 45 3e 45 4e 41 4d 45 54 4f 4f 4c 4f 4e 47 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DE>ENAMETOOLONG</CODE>.<DD>.....
15720 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 70 61 74 68 20 69 73 20 74 6f 6f 20 6c .....The.resulting.path.is.too.l
15740 6f 6e 67 2e 20 20 54 68 69 73 20 65 72 72 6f 72 20 6f 6e 6c 79 20 6f 63 63 75 72 73 20 6f 6e 20 ong...This.error.only.occurs.on.
15760 73 79 73 74 65 6d 73 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 68 61 76 65 20 61 20 6c 69 systems.which..........have.a.li
15780 6d 69 74 20 6f 6e 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 6c 65 6e 67 74 68 2e 0a 20 20 20 mit.on.the.file.name.length.....
157a0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 3c ......<br><br>.<DT><CODE>EACCES<
157c0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 74 20 6c 65 61 73 74 20 6f 6e /CODE>.<DD>..........At.least.on
157e0 65 20 6f 66 20 74 68 65 20 70 61 74 68 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 69 73 20 6e 6f 74 20 e.of.the.path.components.is.not.
15800 72 65 61 64 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e readable...........<br><br>.<DT>
15820 3c 43 4f 44 45 3e 45 4e 4f 45 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 <CODE>ENOENT</CODE>.<DD>........
15840 20 20 54 68 65 20 69 6e 70 75 74 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20 65 6d 70 74 79 2e 0a ..The.input.file.name.is.empty..
15860 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 45 .........<br><br>.<DT><CODE>ENOE
15880 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 74 20 6c 65 61 73 74 NT</CODE>.<DD>..........At.least
158a0 20 6f 6e 65 20 6f 66 20 74 68 65 20 70 61 74 68 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 64 6f 65 73 .one.of.the.path.components.does
158c0 20 6e 6f 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 .not.exist...........<br><br>.<D
158e0 54 3e 3c 43 4f 44 45 3e 45 4c 4f 4f 50 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 T><CODE>ELOOP</CODE>.<DD>.......
15900 20 20 20 4d 6f 72 65 20 74 68 61 6e 20 3c 43 4f 44 45 3e 4d 41 58 53 59 4d 4c 49 4e 4b 53 3c 2f ...More.than.<CODE>MAXSYMLINKS</
15920 43 4f 44 45 3e 20 6d 61 6e 79 20 73 79 6d 6c 69 6e 6b 73 20 68 61 76 65 20 62 65 65 6e 20 66 6f CODE>.many.symlinks.have.been.fo
15940 6c 6c 6f 77 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 llowed...........</DL>..........
15960 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 <br><br>.This.function.is.a.GNU.
15980 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 extension.and.is.declared.in.<TT
159a0 3e 73 74 64 6c 69 62 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 >stdlib.h</TT>..........sq.~....
159c0 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 03 1d 74 00 10 63 6f 6e 73 ..w.....t..stdlib.hxq.~..t..cons
159e0 74 20 63 68 61 72 20 2a 6e 61 6d 65 74 00 06 63 68 61 72 20 2a 74 00 04 63 61 72 67 73 71 00 7e t.char.*namet..char.*t..cargsq.~
15a00 00 0a 70 74 01 a7 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 ..pt...........These.functions.r
15a20 65 74 75 72 6e 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 eturn.the.argument.of.the.comple
15a40 78 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 x.number.<VAR>z</VAR>...........
15a60 54 68 65 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 61 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 The.argument.of.a.complex.number
15a80 20 69 73 20 74 68 65 20 61 6e 67 6c 65 20 69 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 70 6c 61 .is.the.angle.in.the.complex.pla
15aa0 6e 65 0a 20 20 20 20 20 20 20 20 20 62 65 74 77 65 65 6e 20 74 68 65 20 70 6f 73 69 74 69 76 65 ne..........between.the.positive
15ac0 20 72 65 61 6c 20 61 78 69 73 20 61 6e 64 20 61 20 6c 69 6e 65 20 70 61 73 73 69 6e 67 20 74 68 .real.axis.and.a.line.passing.th
15ae0 72 6f 75 67 68 20 7a 65 72 6f 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 rough.zero.and.the..........numb
15b00 65 72 2e 20 20 54 68 69 73 20 61 6e 67 6c 65 20 69 73 20 6d 65 61 73 75 72 65 64 20 69 6e 20 74 er...This.angle.is.measured.in.t
15b20 68 65 20 75 73 75 61 6c 20 66 61 73 68 69 6f 6e 20 61 6e 64 20 72 61 6e 67 65 73 20 66 72 6f 6d he.usual.fashion.and.ranges.from
15b40 20 30 0a 20 20 20 20 20 20 20 20 20 74 6f 20 32 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .0..........to.2...........<br><
15b60 62 72 3e 20 3c 43 4f 44 45 3e 63 61 72 67 3c 2f 43 4f 44 45 3e 20 68 61 73 20 61 20 62 72 61 6e br>.<CODE>carg</CODE>.has.a.bran
15b80 63 68 20 63 75 74 20 61 6c 6f 6e 67 20 74 68 65 20 70 6f 73 69 74 69 76 65 20 72 65 61 6c 20 61 ch.cut.along.the.positive.real.a
15ba0 78 69 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 xis..........sq.~......w.....t..
15bc0 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 24 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 complex.hxq.~.$t..complex.double
15be0 20 7a 74 00 06 64 6f 75 62 6c 65 74 00 05 63 61 72 67 66 73 71 00 7e 00 0a 70 74 01 a7 0a 20 20 .zt..doublet..cargfsq.~..pt.....
15c00 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 ......These.functions.return.the
15c20 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 .argument.of.the.complex.number.
15c40 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 72 67 75 6d <VAR>z</VAR>...........The.argum
15c60 65 6e 74 20 6f 66 20 61 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 69 73 20 74 68 65 20 61 ent.of.a.complex.number.is.the.a
15c80 6e 67 6c 65 20 69 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 70 6c 61 6e 65 0a 20 20 20 20 20 20 ngle.in.the.complex.plane.......
15ca0 20 20 20 62 65 74 77 65 65 6e 20 74 68 65 20 70 6f 73 69 74 69 76 65 20 72 65 61 6c 20 61 78 69 ...between.the.positive.real.axi
15cc0 73 20 61 6e 64 20 61 20 6c 69 6e 65 20 70 61 73 73 69 6e 67 20 74 68 72 6f 75 67 68 20 7a 65 72 s.and.a.line.passing.through.zer
15ce0 6f 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 2e 20 20 54 68 69 73 o.and.the..........number...This
15d00 20 61 6e 67 6c 65 20 69 73 20 6d 65 61 73 75 72 65 64 20 69 6e 20 74 68 65 20 75 73 75 61 6c 20 .angle.is.measured.in.the.usual.
15d20 66 61 73 68 69 6f 6e 20 61 6e 64 20 72 61 6e 67 65 73 20 66 72 6f 6d 20 30 0a 20 20 20 20 20 20 fashion.and.ranges.from.0.......
15d40 20 20 20 74 6f 20 32 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 ...to.2...........<br><br>.<CODE
15d60 3e 63 61 72 67 3c 2f 43 4f 44 45 3e 20 68 61 73 20 61 20 62 72 61 6e 63 68 20 63 75 74 20 61 6c >carg</CODE>.has.a.branch.cut.al
15d80 6f 6e 67 20 74 68 65 20 70 6f 73 69 74 69 76 65 20 72 65 61 6c 20 61 78 69 73 2e 0a 20 20 20 20 ong.the.positive.real.axis......
15da0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 ....sq.~......w.....t..complex.h
15dc0 78 71 00 7e 03 2b 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 05 66 6c 6f 61 74 xq.~.+t..complex.float.zt..float
15de0 74 00 05 63 61 72 67 6c 73 71 00 7e 00 0a 70 74 01 a7 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 t..carglsq.~..pt...........These
15e00 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6f .functions.return.the.argument.o
15e20 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 f.the.complex.number.<VAR>z</VAR
15e40 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 61 20 63 6f >...........The.argument.of.a.co
15e60 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 69 73 20 74 68 65 20 61 6e 67 6c 65 20 69 6e 20 74 68 65 mplex.number.is.the.angle.in.the
15e80 20 63 6f 6d 70 6c 65 78 20 70 6c 61 6e 65 0a 20 20 20 20 20 20 20 20 20 62 65 74 77 65 65 6e 20 .complex.plane..........between.
15ea0 74 68 65 20 70 6f 73 69 74 69 76 65 20 72 65 61 6c 20 61 78 69 73 20 61 6e 64 20 61 20 6c 69 6e the.positive.real.axis.and.a.lin
15ec0 65 20 70 61 73 73 69 6e 67 20 74 68 72 6f 75 67 68 20 7a 65 72 6f 20 61 6e 64 20 74 68 65 0a 20 e.passing.through.zero.and.the..
15ee0 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 2e 20 20 54 68 69 73 20 61 6e 67 6c 65 20 69 73 20 6d ........number...This.angle.is.m
15f00 65 61 73 75 72 65 64 20 69 6e 20 74 68 65 20 75 73 75 61 6c 20 66 61 73 68 69 6f 6e 20 61 6e 64 easured.in.the.usual.fashion.and
15f20 20 72 61 6e 67 65 73 20 66 72 6f 6d 20 30 0a 20 20 20 20 20 20 20 20 20 74 6f 20 32 2e 0a 20 20 .ranges.from.0..........to.2....
15f40 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 63 61 72 67 3c 2f 43 4f 44 45 .......<br><br>.<CODE>carg</CODE
15f60 3e 20 68 61 73 20 61 20 62 72 61 6e 63 68 20 63 75 74 20 61 6c 6f 6e 67 20 74 68 65 20 70 6f 73 >.has.a.branch.cut.along.the.pos
15f80 69 74 69 76 65 20 72 65 61 6c 20 61 78 69 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 itive.real.axis..........sq.~...
15fa0 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 32 74 00 15 63 6f ...w.....t..complex.hxq.~.2t..co
15fc0 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c mplex.long.double.zt..long.doubl
15fe0 65 74 00 05 63 61 73 69 6e 73 71 00 7e 00 0a 70 74 01 26 0a 20 20 20 20 20 20 20 20 54 68 65 73 et..casinsq.~..pt.&.........Thes
16000 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 e.functions.compute.the.complex.
16020 61 72 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 arc.sine.of.<VAR>z</VAR>---that.
16040 69 73 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f 73 65 20 73 69 6e is,.the..........value.whose.sin
16060 65 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 72 65 e.is.<VAR>z</VAR>...The.value.re
16080 74 75 72 6e 65 64 20 69 73 20 69 6e 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c turned.is.in.radians...........<
160a0 62 72 3e 3c 62 72 3e 20 55 6e 6c 69 6b 65 20 74 68 65 20 72 65 61 6c 2d 76 61 6c 75 65 64 20 66 br><br>.Unlike.the.real-valued.f
160c0 75 6e 63 74 69 6f 6e 73 2c 20 3c 43 4f 44 45 3e 63 61 73 69 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 unctions,.<CODE>casin</CODE>.is.
160e0 64 65 66 69 6e 65 64 20 66 6f 72 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 73 20 defined.for.all..........values.
16100 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 of.<VAR>z</VAR>..........sq.~...
16120 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 39 74 00 10 63 6f ...w.....t..complex.hxq.~.9t..co
16140 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 mplex.double.zt..complex.doublet
16160 00 06 63 61 73 69 6e 66 73 71 00 7e 00 0a 70 74 01 26 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 ..casinfsq.~..pt.&.........These
16180 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 61 .functions.compute.the.complex.a
161a0 72 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 rc.sine.of.<VAR>z</VAR>---that.i
161c0 73 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 77 68 6f 73 65 20 73 69 6e 65 s,.the..........value.whose.sine
161e0 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 .is.<VAR>z</VAR>...The.value.ret
16200 75 72 6e 65 64 20 69 73 20 69 6e 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 urned.is.in.radians...........<b
16220 72 3e 3c 62 72 3e 20 55 6e 6c 69 6b 65 20 74 68 65 20 72 65 61 6c 2d 76 61 6c 75 65 64 20 66 75 r><br>.Unlike.the.real-valued.fu
16240 6e 63 74 69 6f 6e 73 2c 20 3c 43 4f 44 45 3e 63 61 73 69 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 64 nctions,.<CODE>casin</CODE>.is.d
16260 65 66 69 6e 65 64 20 66 6f 72 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 73 20 6f efined.for.all..........values.o
16280 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 f.<VAR>z</VAR>..........sq.~....
162a0 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 40 74 00 0f 63 6f 6d ..w.....t..complex.hxq.~.@t..com
162c0 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 74 00 06 63 plex.float.zt..complex.floatt..c
162e0 61 73 69 6e 68 73 71 00 7e 00 0a 70 74 00 a0 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 asinhsq.~..pt...........These.fu
16300 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 6c nctions.return.the.inverse.compl
16320 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c ex.hyperbolic.sine.of..........<
16340 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f VAR>z</VAR>---the.value.whose.co
16360 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 7a 3c mplex.hyperbolic.sine.is.<VAR>z<
16380 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 /VAR>..........sq.~......w.....t
163a0 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 47 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 ..complex.hxq.~.Gt..complex.doub
163c0 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 07 63 61 73 69 6e 68 66 73 le.zt..complex.doublet..casinhfs
163e0 71 00 7e 00 0a 70 74 00 a0 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt...........These.function
16400 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 s.return.the.inverse.complex.hyp
16420 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c erbolic.sine.of..........<VAR>z<
16440 2f 56 41 52 3e 2d 2d 2d 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f 6d 70 6c 65 78 20 /VAR>---the.value.whose.complex.
16460 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e hyperbolic.sine.is.<VAR>z</VAR>.
16480 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 .........sq.~......w.....t..comp
164a0 6c 65 78 2e 68 78 71 00 7e 03 4e 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d lex.hxq.~.Nt..complex.float.zt..
164c0 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 74 00 07 63 61 73 69 6e 68 6c 73 71 00 7e 00 0a 70 74 00 complex.floatt..casinhlsq.~..pt.
164e0 a0 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e ..........These.functions.return
16500 20 74 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 .the.inverse.complex.hyperbolic.
16520 73 69 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d sine.of..........<VAR>z</VAR>---
16540 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c the.value.whose.complex.hyperbol
16560 69 63 20 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 ic.sine.is.<VAR>z</VAR>.........
16580 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 .sq.~......w.....t..complex.hxq.
165a0 7e 03 55 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 13 63 6f ~.Ut..complex.long.double.zt..co
165c0 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 06 63 61 73 69 6e 6c 73 71 00 7e 00 0a mplex.long.doublet..casinlsq.~..
165e0 70 74 01 26 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d pt.&.........These.functions.com
16600 70 75 74 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 61 72 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 pute.the.complex.arc.sine.of.<VA
16620 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 20 74 68 65 0a 20 20 20 20 20 20 20 R>z</VAR>---that.is,.the........
16640 20 20 76 61 6c 75 65 20 77 68 6f 73 65 20 73 69 6e 65 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 ..value.whose.sine.is.<VAR>z</VA
16660 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 20 69 6e 20 72 61 R>...The.value.returned.is.in.ra
16680 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 6e 6c 69 6b 65 20 dians...........<br><br>.Unlike.
166a0 74 68 65 20 72 65 61 6c 2d 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 3c 43 4f 44 45 the.real-valued.functions,.<CODE
166c0 3e 63 61 73 69 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 61 6c 6c >casin</CODE>.is.defined.for.all
166e0 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e ..........values.of.<VAR>z</VAR>
16700 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d ..........sq.~......w.....t..com
16720 70 6c 65 78 2e 68 78 71 00 7e 03 5c 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 plex.hxq.~.\t..complex.long.doub
16740 6c 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 63 61 74 le.zt..complex.long.doublet..cat
16760 61 6e 73 71 00 7e 00 0a 70 74 00 b1 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 ansq.~..pt...........These.funct
16780 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 61 72 63 20 74 61 6e ions.compute.the.complex.arc.tan
167a0 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 0a gent.of.<VAR>z</VAR>---that.is,.
167c0 20 20 20 20 20 20 20 20 20 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 74 61 6e 67 65 6e 74 .........the.value.whose.tangent
167e0 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 .is.<VAR>z</VAR>...The.value.is.
16800 69 6e 20 75 6e 69 74 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 in.units.of.radians..........sq.
16820 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 63 74 ~......w.....t..complex.hxq.~.ct
16840 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 ..complex.double.zt..complex.dou
16860 62 6c 65 74 00 06 63 61 74 61 6e 66 73 71 00 7e 00 0a 70 74 00 b1 0a 20 20 20 20 20 20 20 20 54 blet..catanfsq.~..pt...........T
16880 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 63 6f 6d 70 6c hese.functions.compute.the.compl
168a0 65 78 20 61 72 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d ex.arc.tangent.of.<VAR>z</VAR>--
168c0 2d 74 68 61 74 20 69 73 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 76 61 6c 75 65 20 77 68 6f -that.is,..........the.value.who
168e0 73 65 20 74 61 6e 67 65 6e 74 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 se.tangent.is.<VAR>z</VAR>...The
16900 20 76 61 6c 75 65 20 69 73 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 0a 20 .value.is.in.units.of.radians...
16920 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 .......sq.~......w.....t..comple
16940 78 2e 68 78 71 00 7e 03 6a 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f x.hxq.~.jt..complex.float.zt..co
16960 6d 70 6c 65 78 20 66 6c 6f 61 74 74 00 06 63 61 74 61 6e 68 73 71 00 7e 00 0a 70 74 01 13 0a 20 mplex.floatt..catanhsq.~..pt....
16980 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 .......These.functions.return.th
169a0 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 6e e.inverse.complex.hyperbolic.tan
169c0 67 65 6e 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d gent.of..........<VAR>z</VAR>---
169e0 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c the.value.whose.complex.hyperbol
16a00 69 63 20 74 61 6e 67 65 6e 74 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 55 6e 6c ic.tangent.is.<VAR>z</VAR>...Unl
16a20 69 6b 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 61 6c 2d 76 61 6c 75 65 64 20 66 75 6e ike..........the.real-valued.fun
16a40 63 74 69 6f 6e 73 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 72 65 73 74 72 69 63 74 69 6f 6e ctions,.there.are.no.restriction
16a60 73 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e s.on.the.value.of..........<VAR>
16a80 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 z</VAR>..........sq.~......w....
16aa0 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 71 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f .t..complex.hxq.~.qt..complex.do
16ac0 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 07 63 61 74 61 6e 68 uble.zt..complex.doublet..catanh
16ae0 66 73 71 00 7e 00 0a 70 74 01 13 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 fsq.~..pt...........These.functi
16b00 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 6c 65 78 20 68 ons.return.the.inverse.complex.h
16b20 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 yperbolic.tangent.of..........<V
16b40 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 63 6f 6d AR>z</VAR>---the.value.whose.com
16b60 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 69 73 20 3c 56 41 52 3e plex.hyperbolic.tangent.is.<VAR>
16b80 7a 3c 2f 56 41 52 3e 2e 20 20 55 6e 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 z</VAR>...Unlike..........the.re
16ba0 61 6c 2d 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 72 65 20 61 72 65 20 6e al-valued.functions,.there.are.n
16bc0 6f 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 o.restrictions.on.the.value.of..
16be0 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 ........<VAR>z</VAR>..........sq
16c00 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 78 .~......w.....t..complex.hxq.~.x
16c20 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f t..complex.float.zt..complex.flo
16c40 61 74 74 00 07 63 61 74 61 6e 68 6c 73 71 00 7e 00 0a 70 74 01 13 0a 20 20 20 20 20 20 20 20 54 att..catanhlsq.~..pt...........T
16c60 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 76 65 72 73 hese.functions.return.the.invers
16c80 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 6f 66 0a e.complex.hyperbolic.tangent.of.
16ca0 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 65 20 76 61 6c 75 .........<VAR>z</VAR>---the.valu
16cc0 65 20 77 68 6f 73 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 e.whose.complex.hyperbolic.tange
16ce0 6e 74 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 55 6e 6c 69 6b 65 0a 20 20 20 20 nt.is.<VAR>z</VAR>...Unlike.....
16d00 20 20 20 20 20 74 68 65 20 72 65 61 6c 2d 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 .....the.real-valued.functions,.
16d20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 there.are.no.restrictions.on.the
16d40 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e .value.of..........<VAR>z</VAR>.
16d60 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 .........sq.~......w.....t..comp
16d80 6c 65 78 2e 68 78 71 00 7e 03 7f 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c lex.hxq.~..t..complex.long.doubl
16da0 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 06 63 61 74 61 e.zt..complex.long.doublet..cata
16dc0 6e 6c 73 71 00 7e 00 0a 70 74 00 b1 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 nlsq.~..pt...........These.funct
16de0 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 61 72 63 20 74 61 6e ions.compute.the.complex.arc.tan
16e00 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2d 2d 2d 74 68 61 74 20 69 73 2c 0a gent.of.<VAR>z</VAR>---that.is,.
16e20 20 20 20 20 20 20 20 20 20 74 68 65 20 76 61 6c 75 65 20 77 68 6f 73 65 20 74 61 6e 67 65 6e 74 .........the.value.whose.tangent
16e40 20 69 73 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 .is.<VAR>z</VAR>...The.value.is.
16e60 69 6e 20 75 6e 69 74 73 20 6f 66 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 in.units.of.radians..........sq.
16e80 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 86 74 ~......w.....t..complex.hxq.~..t
16ea0 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 13 63 6f 6d 70 6c 65 ..complex.long.double.zt..comple
16ec0 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 08 63 61 74 63 6c 6f 73 65 73 71 00 7e 00 0a 70 74 x.long.doublet..catclosesq.~..pt
16ee0 02 21 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 63 61 74 63 6c 6f 73 65 3c 2f 43 .!.........The.<CODE>catclose</C
16f00 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 66 72 65 ODE>.function.can.be.used.to.fre
16f20 65 20 74 68 65 20 72 65 73 6f 75 72 63 65 73 0a 20 20 20 20 20 20 20 20 20 61 73 73 6f 63 69 61 e.the.resources..........associa
16f40 74 65 64 20 77 69 74 68 20 61 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 20 77 68 69 63 68 ted.with.a.message.catalog.which
16f60 20 70 72 65 76 69 6f 75 73 6c 79 20 77 61 73 20 6f 70 65 6e 65 64 20 62 79 20 61 20 63 61 6c 6c .previously.was.opened.by.a.call
16f80 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 63 61 74 6f 70 65 6e 3c 2f 43 4f 44 45 ..........to.<CODE>catopen</CODE
16fa0 3e 2e 20 20 49 66 20 74 68 65 20 72 65 73 6f 75 72 63 65 73 20 63 61 6e 20 62 65 20 73 75 63 63 >...If.the.resources.can.be.succ
16fc0 65 73 73 66 75 6c 6c 79 20 66 72 65 65 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 essfully.freed.the..........func
16fe0 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 20 20 4f 74 tion.returns.<CODE>0</CODE>...Ot
17000 68 65 72 77 69 73 65 20 69 74 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 3c 2f 43 4f 44 45 3e 31 herwise.it.return.<CODE></CODE>1
17020 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c .and.the..........global.variabl
17040 65 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 2e 20 20 45 72 72 6f e.<VAR>errno</VAR>.is.set...Erro
17060 72 73 20 63 61 6e 20 6f 63 63 75 72 20 69 66 20 74 68 65 20 63 61 74 61 6c 6f 67 0a 20 20 20 20 rs.can.occur.if.the.catalog.....
17080 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 63 61 74 61 6c 6f 67 5f 64 65 73 .....descriptor.<VAR>catalog_des
170a0 63 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 20 69 6e 20 77 68 69 63 68 20 63 61 c</VAR>.is.not.valid.in.which.ca
170c0 73 65 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 se.<VAR>errno</VAR>.is..........
170e0 73 65 74 20 74 6f 20 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 set.to.<CODE>EBADF</CODE>.......
17100 20 20 20 73 71 00 7e 00 0f 00 00 00 00 77 04 00 00 00 0a 78 71 00 7e 03 8d 74 00 14 6e 6c 5f 63 ...sq.~......w.....xq.~..t..nl_c
17120 61 74 64 20 63 61 74 61 6c 6f 67 5f 64 65 73 63 74 00 03 69 6e 74 74 00 07 63 61 74 67 65 74 73 atd.catalog_desct..intt..catgets
17140 73 71 00 7e 00 0a 70 74 06 28 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 sq.~..pt.(.........The.function.
17160 3c 43 4f 44 45 3e 63 61 74 67 65 74 73 3c 2f 43 4f 44 45 3e 20 68 61 73 20 74 6f 20 62 65 20 75 <CODE>catgets</CODE>.has.to.be.u
17180 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 6d 61 73 73 61 67 65 20 63 61 74 61 6c 6f sed.to.access.the.massage.catalo
171a0 67 0a 20 20 20 20 20 20 20 20 20 70 72 65 76 69 6f 75 73 6c 79 20 6f 70 65 6e 65 64 20 75 73 69 g..........previously.opened.usi
171c0 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e 63 61 74 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 ng.the.<CODE>catopen</CODE>.func
171e0 74 69 6f 6e 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 63 61 74 61 6c 6f 67 tion...The..........<VAR>catalog
17200 5f 64 65 73 63 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 6d 75 73 74 20 62 65 20 61 20 _desc</VAR>.parameter.must.be.a.
17220 76 61 6c 75 65 20 70 72 65 76 69 6f 75 73 6c 79 20 72 65 74 75 72 6e 65 64 20 62 79 0a 20 20 20 value.previously.returned.by....
17240 20 20 20 20 20 20 3c 43 4f 44 45 3e 63 61 74 6f 70 65 6e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 ......<CODE>catopen</CODE>......
17260 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 65 78 74 20 74 77 6f 20 70 61 72 61 6d .....<br><br>.The.next.two.param
17280 65 74 65 72 73 2c 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6d eters,.<VAR>set</VAR>.and.<VAR>m
172a0 65 73 73 61 67 65 3c 2f 56 41 52 3e 2c 20 72 65 66 6c 65 63 74 20 74 68 65 0a 20 20 20 20 20 20 essage</VAR>,.reflect.the.......
172c0 20 20 20 69 6e 74 65 72 6e 61 6c 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 ...internal.organization.of.the.
172e0 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 20 66 69 6c 65 73 2e 20 20 54 68 69 73 20 77 69 6c message.catalog.files...This.wil
17300 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 65 78 70 6c 61 69 6e 65 64 20 69 6e 20 64 65 74 61 69 l.be..........explained.in.detai
17320 6c 20 62 65 6c 6f 77 2e 20 20 46 6f 72 20 6e 6f 77 20 69 74 20 69 73 20 69 6e 74 65 72 65 73 74 l.below...For.now.it.is.interest
17340 69 6e 67 20 74 6f 20 6b 6e 6f 77 20 74 68 61 74 20 61 0a 20 20 20 20 20 20 20 20 20 63 61 74 61 ing.to.know.that.a..........cata
17360 6c 6f 67 20 63 61 6e 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 73 65 76 65 72 61 6c 20 73 65 74 20 log.can.consists.of.several.set.
17380 61 6e 64 20 74 68 65 20 6d 65 73 73 61 67 65 73 20 69 6e 20 65 61 63 68 20 74 68 72 65 61 64 20 and.the.messages.in.each.thread.
173a0 61 72 65 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 6e 75 6d 62 65 72 are..........individually.number
173c0 65 64 20 75 73 69 6e 67 20 6e 75 6d 62 65 72 73 2e 20 20 4e 65 69 74 68 65 72 20 74 68 65 20 73 ed.using.numbers...Neither.the.s
173e0 65 74 20 6e 75 6d 62 65 72 20 6e 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 et.number.nor.the..........messa
17400 67 65 20 6e 75 6d 62 65 72 20 6d 75 73 74 20 62 65 20 63 6f 6e 73 65 63 75 74 69 76 65 2e 20 20 ge.number.must.be.consecutive...
17420 54 68 65 79 20 63 61 6e 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 63 68 6f 73 65 6e 2e 0a They.can.be.arbitrarily.chosen..
17440 20 20 20 20 20 20 20 20 20 42 75 74 20 65 61 63 68 20 6d 65 73 73 61 67 65 20 28 75 6e 6c 65 73 .........But.each.message.(unles
17460 73 20 65 71 75 61 6c 20 74 6f 20 61 6e 6f 74 68 65 72 20 6f 6e 65 29 20 6d 75 73 74 20 68 61 76 s.equal.to.another.one).must.hav
17480 65 20 69 74 73 20 6f 77 6e 20 75 6e 69 71 75 65 0a 20 20 20 20 20 20 20 20 20 70 61 69 72 20 6f e.its.own.unique..........pair.o
174a0 66 20 73 65 74 20 61 6e 64 20 6d 65 73 73 61 67 65 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 f.set.and.message.number........
174c0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 69 6e 63 65 20 69 74 20 69 73 20 6e 6f 74 20 67 75 61 72 ...<br><br>.Since.it.is.not.guar
174e0 61 6e 74 65 65 64 20 74 68 61 74 20 74 68 65 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 20 anteed.that.the.message.catalog.
17500 66 6f 72 20 74 68 65 20 6c 61 6e 67 75 61 67 65 0a 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 for.the.language..........select
17520 65 64 20 62 79 20 74 68 65 20 75 73 65 72 20 65 78 69 73 74 73 20 74 68 65 20 6c 61 73 74 20 70 ed.by.the.user.exists.the.last.p
17540 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 68 65 6c 70 73 arameter.<VAR>string</VAR>.helps
17560 20 74 6f 0a 20 20 20 20 20 20 20 20 20 68 61 6e 64 6c 65 20 74 68 69 73 20 63 61 73 65 20 67 72 .to..........handle.this.case.gr
17580 61 63 65 66 75 6c 6c 79 2e 20 20 49 66 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 73 74 72 69 6e 67 acefully...If.no.matching.string
175a0 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 69 .can.be.found..........<VAR>stri
175c0 6e 67 3c 2f 56 41 52 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 69 73 20 6d 65 61 6e ng</VAR>.is.returned...This.mean
175e0 73 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 s.for.the.programmer.that.......
17600 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 ...<br><br>.<OL>..........<LI>..
17620 20 20 20 20 20 20 20 20 74 68 65 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 70 61 ........the.<VAR>string</VAR>.pa
17640 72 61 6d 65 74 65 72 73 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 72 65 61 73 6f 6e 61 62 rameters.should.contain.reasonab
17660 6c 65 20 74 65 78 74 20 28 74 68 69 73 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 68 65 6c 70 le.text.(this.also..........help
17680 73 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 73 65 65 6d s.to.understand.the.program.seem
176a0 73 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 72 65 20 77 6f 75 6c 64 20 62 65 20 6e 6f 20 68 69 s.otherwise.there.would.be.no.hi
176c0 6e 74 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 nt..........on.the.string.which.
176e0 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 is.expected.to.be.returned......
17700 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 20 3c 56 41 52 3e 73 74 72 69 .....<LI>..........all.<VAR>stri
17720 6e 67 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 20 73 68 6f 75 6c 64 20 62 65 20 77 72 69 ng</VAR>.arguments.should.be.wri
17740 74 74 65 6e 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6c 61 6e 67 75 61 67 65 2e 0a 20 20 20 20 20 tten.in.the.same.language.......
17760 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 00 77 04 00 00 ....</OL>.........sq.~......w...
17780 00 0a 78 71 00 7e 03 93 74 00 3e 6e 6c 5f 63 61 74 64 20 63 61 74 61 6c 6f 67 5f 64 65 73 63 2c ..xq.~..t.>nl_catd.catalog_desc,
177a0 20 69 6e 74 20 73 65 74 2c 20 69 6e 74 20 6d 65 73 73 61 67 65 2c 20 63 6f 6e 73 74 20 63 68 61 .int.set,.int.message,.const.cha
177c0 72 20 2a 73 74 72 69 6e 67 74 00 06 63 68 61 72 20 2a 74 00 07 63 61 74 6f 70 65 6e 73 71 00 7e r.*stringt..char.*t..catopensq.~
177e0 00 0a 70 74 1e df 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 63 61 74 67 65 74 73 ..pt...........The.<CODE>catgets
17800 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 6c 6f 63 61 74 65 </CODE>.function.tries.to.locate
17820 20 74 68 65 20 6d 65 73 73 61 67 65 20 64 61 74 61 20 66 69 6c 65 20 6e 61 6d 65 73 0a 20 20 20 .the.message.data.file.names....
17840 20 20 20 20 20 20 3c 56 41 52 3e 63 61 74 5f 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 6e 64 20 6c 6f ......<VAR>cat_name</VAR>.and.lo
17860 61 64 73 20 69 74 20 77 68 65 6e 20 66 6f 75 6e 64 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 ads.it.when.found...The.return.v
17880 61 6c 75 65 20 69 73 20 6f 66 20 61 6e 0a 20 20 20 20 20 20 20 20 20 6f 70 61 71 75 65 20 74 79 alue.is.of.an..........opaque.ty
178a0 70 65 20 61 6e 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 63 61 6c 6c 73 20 74 6f 20 74 pe.and.can.be.used.in.calls.to.t
178c0 68 65 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 72 65 66 65 72 20 74 6f 0a 20 he.other.functions.to.refer.to..
178e0 20 20 20 20 20 20 20 20 74 68 69 73 20 6c 6f 61 64 65 64 20 63 61 74 61 6c 6f 67 2e 0a 20 20 20 ........this.loaded.catalog.....
17900 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 ......<br><br>.The.return.value.
17920 69 73 20 3c 43 4f 44 45 3e 28 6e 6c 5f 63 61 74 64 29 20 2d 31 3c 2f 43 4f 44 45 3e 20 69 6e 20 is.<CODE>(nl_catd).-1</CODE>.in.
17940 63 61 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 65 64 20 61 6e 64 0a 20 20 20 case.the.function.failed.and....
17960 20 20 20 20 20 20 6e 6f 20 63 61 74 61 6c 6f 67 20 77 61 73 20 6c 6f 61 64 65 64 2e 20 20 54 68 ......no.catalog.was.loaded...Th
17980 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 e.global.variable.<VAR>errno</VA
179a0 52 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 R>.contains.a.code..........for.
179c0 74 68 65 20 65 72 72 6f 72 20 63 61 75 73 69 6e 67 20 74 68 65 20 66 61 69 6c 75 72 65 2e 20 20 the.error.causing.the.failure...
179e0 42 75 74 20 65 76 65 6e 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 0a 20 20 But.even.if.the.function.call...
17a00 20 20 20 20 20 20 20 73 75 63 63 65 65 64 65 64 20 74 68 69 73 20 64 6f 65 73 20 6e 6f 74 20 6d .......succeeded.this.does.not.m
17a20 65 61 6e 20 74 68 61 74 20 61 6c 6c 20 6d 65 73 73 61 67 65 73 20 63 61 6e 20 62 65 20 74 72 61 ean.that.all.messages.can.be.tra
17a40 6e 73 6c 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 6f 63 61 74 nslated...........<br><br>.Locat
17a60 69 6e 67 20 74 68 65 20 63 61 74 61 6c 6f 67 20 66 69 6c 65 20 6d 75 73 74 20 68 61 70 70 65 6e ing.the.catalog.file.must.happen
17a80 20 69 6e 20 61 20 77 61 79 20 77 68 69 63 68 20 6c 65 74 73 20 74 68 65 20 75 73 65 72 20 6f 66 .in.a.way.which.lets.the.user.of
17aa0 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 6e 66 6c 75 65 6e 63 65 20 ..........the.program.influence.
17ac0 74 68 65 20 64 65 63 69 73 69 6f 6e 2e 20 20 49 74 20 69 73 20 75 70 20 74 6f 20 74 68 65 20 75 the.decision...It.is.up.to.the.u
17ae0 73 65 72 20 74 6f 20 64 65 63 69 64 65 0a 20 20 20 20 20 20 20 20 20 61 62 6f 75 74 20 74 68 65 ser.to.decide..........about.the
17b00 20 6c 61 6e 67 75 61 67 65 20 74 6f 20 75 73 65 20 61 6e 64 20 73 6f 6d 65 74 69 6d 65 73 20 69 .language.to.use.and.sometimes.i
17b20 74 20 69 73 20 75 73 65 66 75 6c 20 74 6f 20 75 73 65 20 61 6c 74 65 72 6e 61 74 65 0a 20 20 20 t.is.useful.to.use.alternate....
17b40 20 20 20 20 20 20 63 61 74 61 6c 6f 67 20 66 69 6c 65 73 2e 20 20 41 6c 6c 20 74 68 69 73 20 63 ......catalog.files...All.this.c
17b60 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 75 73 65 72 20 62 79 20 73 an.be.specified.by.the.user.by.s
17b80 65 74 74 69 6e 67 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 etting.some..........environment
17ba0 20 76 61 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 .variables...........<br><br>.Th
17bc0 65 20 66 69 72 73 74 20 70 72 6f 62 6c 65 6d 20 69 73 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 77 e.first.problem.is.to.find.out.w
17be0 68 65 72 65 20 61 6c 6c 20 74 68 65 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 73 20 61 72 here.all.the.message.catalogs.ar
17c00 65 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 64 2e 20 20 45 76 65 72 79 20 70 72 6f 67 72 61 e..........stored...Every.progra
17c20 6d 20 63 6f 75 6c 64 20 68 61 76 65 20 69 74 73 20 6f 77 6e 20 70 6c 61 63 65 20 74 6f 20 6b 65 m.could.have.its.own.place.to.ke
17c40 65 70 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 74 20 66 69 ep.all.the..........different.fi
17c60 6c 65 73 20 62 75 74 20 75 73 75 61 6c 6c 79 20 74 68 65 20 63 61 74 61 6c 6f 67 20 66 69 6c 65 les.but.usually.the.catalog.file
17c80 73 20 61 72 65 20 67 72 6f 75 70 65 64 20 62 79 20 6c 61 6e 67 75 61 67 65 73 0a 20 20 20 20 20 s.are.grouped.by.languages......
17ca0 20 20 20 20 61 6e 64 20 74 68 65 20 63 61 74 61 6c 6f 67 73 20 66 6f 72 20 61 6c 6c 20 70 72 6f ....and.the.catalogs.for.all.pro
17cc0 67 72 61 6d 73 20 61 72 65 20 6b 65 70 74 20 69 6e 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 65 grams.are.kept.in.the.same.place
17ce0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 ...........<br><br>..environment
17d00 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 54 6f 20 74 65 6c 6c 20 74 68 65 20 3c .variable..........To.tell.the.<
17d20 43 4f 44 45 3e 63 61 74 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 68 65 CODE>catopen</CODE>.function.whe
17d40 72 65 20 74 68 65 20 63 61 74 61 6c 6f 67 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 0a 20 re.the.catalog.for.the.program..
17d60 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 74 68 65 20 75 73 65 72 20 63 61 ........can.be.found.the.user.ca
17d80 6e 20 73 65 74 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 3c n.set.the.environment.variable.<
17da0 43 4f 44 45 3e 4e 4c 53 50 41 54 48 3c 2f 43 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 CODE>NLSPATH</CODE>.to..........
17dc0 61 20 76 61 6c 75 65 20 77 68 69 63 68 20 64 65 73 63 72 69 62 65 73 20 68 65 72 2f 68 69 73 20 a.value.which.describes.her/his.
17de0 63 68 6f 69 63 65 2e 20 20 53 69 6e 63 65 20 74 68 69 73 20 76 61 6c 75 65 20 6d 75 73 74 20 62 choice...Since.this.value.must.b
17e00 65 20 75 73 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 64 69 66 66 65 72 65 6e 74 20 e.usable..........for.different.
17e20 6c 61 6e 67 75 61 67 65 73 20 61 6e 64 20 6c 6f 63 61 6c 65 73 20 69 74 20 63 61 6e 6e 6f 74 20 languages.and.locales.it.cannot.
17e40 62 65 20 61 20 73 69 6d 70 6c 65 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 73 be.a.simple.string...........Ins
17e60 74 65 61 64 20 69 74 20 69 73 20 61 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 28 73 69 6d 69 tead.it.is.a.format.string.(simi
17e80 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 27 73 29 2e 20 20 lar.to.<CODE>printf</CODE>'s)...
17ea0 41 6e 20 65 78 61 6d 70 6c 65 0a 20 20 20 20 20 20 20 20 20 69 73 0a 20 20 20 20 20 20 20 20 20 An.example..........is..........
17ec0 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 2f 75 73 72 <br><br>.<pre><br>........../usr
17ee0 2f 73 68 61 72 65 2f 6c 6f 63 61 6c 65 2f 25 4c 2f 25 4e 3a 2f 75 73 72 2f 73 68 61 72 65 2f 6c /share/locale/%L/%N:/usr/share/l
17f00 6f 63 61 6c 65 2f 25 4c 2f 4c 43 5f 4d 45 53 53 41 47 45 53 2f 25 4e 3c 62 72 3e 0a 20 20 20 20 ocale/%L/LC_MESSAGES/%N<br>.....
17f20 20 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .....</pre><br>..........<br><br
17f40 3e 20 46 69 72 73 74 20 6f 6e 65 20 63 61 6e 20 73 65 65 20 74 68 61 74 20 6d 6f 72 65 20 74 68 >.First.one.can.see.that.more.th
17f60 61 6e 20 6f 6e 65 20 64 69 72 65 63 74 6f 72 79 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 an.one.directory.can.be.specifie
17f80 64 20 28 77 69 74 68 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 75 73 75 61 6c 20 73 d.(with<br>..........the.usual.s
17fa0 79 6e 74 61 78 20 6f 66 20 73 65 70 61 72 61 74 69 6e 67 20 74 68 65 6d 20 62 79 20 63 6f 6c 6f yntax.of.separating.them.by.colo
17fc0 6e 73 29 2e 20 20 54 68 65 20 6e 65 78 74 20 74 68 69 6e 67 73 20 74 6f 3c 62 72 3e 0a 20 20 20 ns)...The.next.things.to<br>....
17fe0 20 20 20 20 20 20 6f 62 73 65 72 76 65 20 61 72 65 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 ......observe.are.the.format.str
18000 69 6e 67 2c 20 3c 43 4f 44 45 3e 25 4c 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 25 ing,.<CODE>%L</CODE>.and.<CODE>%
18020 4e 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 69 73 20 63 61 73 65 2e 3c 62 72 3e 0a 20 20 20 20 20 N</CODE>.in.this.case.<br>......
18040 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 63 61 74 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e ....The.<CODE>catopen</CODE>.fun
18060 63 74 69 6f 6e 20 6b 6e 6f 77 73 20 61 62 6f 75 74 20 73 65 76 65 72 61 6c 20 6f 66 20 74 68 65 ction.knows.about.several.of.the
18080 6d 20 61 6e 64 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 6d 65 m.and.the<br>..........replaceme
180a0 6e 74 20 66 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 6d 20 69 73 20 6f 66 20 63 6f 75 72 73 65 20 nt.for.all.of.them.is.of.course.
180c0 64 69 66 66 65 72 65 6e 74 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e different.<br>..........<br><br>
180e0 20 3c 44 4c 3e 0a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4e .<DL>.<br>..........<DT><CODE>%N
18100 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 <br></CODE>.<DD>..........This.f
18120 6f 72 6d 61 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 73 75 62 73 74 69 74 75 74 65 64 20 77 69 74 ormat.element.is.substituted.wit
18140 68 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 61 74 61 6c 6f 67 20 66 69 6c 65 2e 3c h.the.name.of.the.catalog.file.<
18160 62 72 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f br>..........This.is.the.value.o
18180 66 20 74 68 65 20 3c 56 41 52 3e 63 61 74 5f 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 f.the.<VAR>cat_name</VAR>.argume
181a0 6e 74 20 67 69 76 65 6e 20 74 6f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 63 nt.given.to<br>..........<CODE>c
181c0 61 74 67 65 74 73 3c 2f 43 4f 44 45 3e 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e atgets</CODE>.<br>..........<br>
181e0 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 54 <br>.<DT><CODE>%L<br>..........T
18200 68 69 73 20 66 6f 72 6d 61 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 73 75 62 73 74 69 74 75 74 65 his.format.element.is.substitute
18220 64 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 d.with.the.name.of.the.currently
18240 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 <br></CODE>.<DD>..........select
18260 65 64 20 6c 6f 63 61 6c 65 20 66 6f 72 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 6d 65 73 73 61 67 ed.locale.for.translating.messag
18280 65 73 2e 20 20 48 6f 77 20 74 68 69 73 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 69 73 3c 62 es...How.this.is.determined.is<b
182a0 72 3e 0a 20 20 20 20 20 20 20 20 20 65 78 70 6c 61 69 6e 65 64 20 62 65 6c 6f 77 2e 3c 62 72 3e r>..........explained.below.<br>
182c0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 6c 3c ..........<br><br>.<DT><CODE>%l<
182e0 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 28 54 68 69 73 20 69 br></CODE>.<DD>..........(This.i
18300 73 20 74 68 65 20 6c 6f 77 65 72 63 61 73 65 20 65 6c 6c 2e 29 20 54 68 69 73 20 66 6f 72 6d 61 s.the.lowercase.ell.).This.forma
18320 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 73 75 62 73 74 69 74 75 74 65 64 20 77 69 74 68 20 74 68 t.element.is.substituted.with.th
18340 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6c 61 6e 67 75 61 67 65 20 65 6c 65 6d 65 6e 74 20 e<br>..........language.element.
18360 6f 66 20 74 68 65 20 6c 6f 63 61 6c 65 20 6e 61 6d 65 2e 20 20 54 68 65 20 73 74 72 69 6e 67 20 of.the.locale.name...The.string.
18380 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 73 65 6c 65 63 74 65 64 3c 62 72 3e 0a 20 20 20 20 describing.the.selected<br>.....
183a0 20 20 20 20 20 6c 6f 63 61 6c 65 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 68 61 76 65 20 .....locale.is.expected.to.have.
183c0 74 68 65 20 66 6f 72 6d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 3c 56 41 52 the.form<br>..........<CODE><VAR
183e0 3e 6c 61 6e 67 3c 2f 56 41 52 3e 5b 5f 3c 56 41 52 3e 74 65 72 72 3c 2f 56 41 52 3e 5b 2e 3c 56 >lang</VAR>[_<VAR>terr</VAR>[.<V
18400 41 52 3e 63 6f 64 65 73 65 74 3c 2f 56 41 52 3e 5d 5d 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 AR>codeset</VAR>]]</CODE>.and.th
18420 69 73 20 66 6f 72 6d 61 74 20 75 73 65 73 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 is.format.uses.the<br>..........
18440 66 69 72 73 74 20 70 61 72 74 20 3c 56 41 52 3e 6c 61 6e 67 3c 2f 56 41 52 3e 2e 3c 62 72 3e 0a first.part.<VAR>lang</VAR>.<br>.
18460 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 74 3c 62 .........<br><br>.<DT><CODE>%t<b
18480 72 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 6f 72 6d 61 74 20 65 6c 65 6d 65 6e 74 20 r>..........This.format.element.
184a0 69 73 20 73 75 62 73 74 69 74 75 74 65 64 20 62 79 20 74 68 65 20 74 65 72 72 69 74 6f 72 79 20 is.substituted.by.the.territory.
184c0 70 61 72 74 20 3c 56 41 52 3e 74 65 72 72 3c 2f 56 41 52 3e 20 6f 66 3c 62 72 3e 3c 2f 43 4f 44 part.<VAR>terr</VAR>.of<br></COD
184e0 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 E>.<DD>..........the.name.of.the
18500 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 6c 6f 63 61 6c 65 2e 20 20 53 65 65 .currently.selected.locale...See
18520 20 74 68 65 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 .the.explanation.of.the<br>.....
18540 20 20 20 20 20 66 6f 72 6d 61 74 20 61 62 6f 76 65 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 .....format.above.<br>..........
18560 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 63 3c 62 72 3e 0a 20 20 20 20 20 20 <br><br>.<DT><CODE>%c<br>.......
18580 20 20 20 54 68 69 73 20 66 6f 72 6d 61 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 73 75 62 73 74 69 ...This.format.element.is.substi
185a0 74 75 74 65 64 20 62 79 20 74 68 65 20 63 6f 64 65 73 65 74 20 70 61 72 74 20 3c 56 41 52 3e 63 tuted.by.the.codeset.part.<VAR>c
185c0 6f 64 65 73 65 74 3c 2f 56 41 52 3e 20 6f 66 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a odeset</VAR>.of<br></CODE>.<DD>.
185e0 20 20 20 20 20 20 20 20 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 .........the.name.of.the.current
18600 6c 79 20 73 65 6c 65 63 74 65 64 20 6c 6f 63 61 6c 65 2e 20 20 53 65 65 20 74 68 65 20 65 78 70 ly.selected.locale...See.the.exp
18620 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 66 6f 72 lanation.of.the<br>..........for
18640 6d 61 74 20 61 62 6f 76 65 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e mat.above.<br>..........<br><br>
18660 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 25 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 53 69 6e 63 65 .<DT><CODE>%%<br>..........Since
18680 20 3c 43 4f 44 45 3e 25 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 65 64 20 69 6e 20 61 20 6d 65 74 .<CODE>%</CODE>.is.used.in.a.met
186a0 61 20 63 68 61 72 61 63 74 65 72 20 74 68 65 72 65 20 6d 75 73 74 20 62 65 20 61 20 77 61 79 20 a.character.there.must.be.a.way.
186c0 74 6f 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 65 78 70 72 to<br></CODE>.<DD>..........expr
186e0 65 73 73 20 74 68 65 20 3c 43 4f 44 45 3e 25 3c 2f 43 4f 44 45 3e 20 63 68 61 72 61 63 74 65 72 ess.the.<CODE>%</CODE>.character
18700 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 74 73 65 6c 66 2e 20 20 55 73 69 6e 67 20 3c 43 .in.the.result.itself...Using.<C
18720 4f 44 45 3e 25 25 3c 2f 43 4f 44 45 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 20 ODE>%%</CODE><br>..........does.
18740 74 68 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 69 74 20 77 6f 72 6b 73 20 66 6f 72 20 3c 43 4f 44 this.just.like.it.works.for.<COD
18760 45 3e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f E>printf</CODE>.<br>..........</
18780 44 4c 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 DL><br>..........<br><br>.<br><b
187a0 72 3e 20 55 73 69 6e 67 20 3c 43 4f 44 45 3e 4e 4c 53 50 41 54 48 3c 2f 43 4f 44 45 3e 20 61 6c r>.Using.<CODE>NLSPATH</CODE>.al
187c0 6c 6f 77 73 20 61 72 62 69 74 72 61 72 79 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 6f 20 62 65 lows.arbitrary.directories.to.be
187e0 20 73 65 61 72 63 68 65 64 20 66 6f 72 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 .searched.for<br>..........messa
18800 67 65 20 63 61 74 61 6c 6f 67 73 20 77 68 69 6c 65 20 73 74 69 6c 6c 20 61 6c 6c 6f 77 69 6e 67 ge.catalogs.while.still.allowing
18820 20 64 69 66 66 65 72 65 6e 74 20 6c 61 6e 67 75 61 67 65 73 20 74 6f 20 62 65 20 75 73 65 64 2e .different.languages.to.be.used.
18840 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 43 4f 44 45 3e 4e 4c 53 50 41 <br>..........If.the.<CODE>NLSPA
18860 54 48 3c 2f 43 4f 44 45 3e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 TH</CODE>.environment.variable.i
18880 73 20 6e 6f 74 20 73 65 74 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 3c 62 72 3e s.not.set,.the.default.value<br>
188a0 0a 20 20 20 20 20 20 20 20 20 69 73 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ..........is<br>..........<br><b
188c0 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 72 65 66 69 r>.<pre><br>..........<VAR>prefi
188e0 78 3c 2f 56 41 52 3e 2f 73 68 61 72 65 2f 6c 6f 63 61 6c 65 2f 25 4c 2f 25 4e 3a 3c 56 41 52 3e x</VAR>/share/locale/%L/%N:<VAR>
18900 70 72 65 66 69 78 3c 2f 56 41 52 3e 2f 73 68 61 72 65 2f 6c 6f 63 61 6c 65 2f 25 4c 2f 4c 43 5f prefix</VAR>/share/locale/%L/LC_
18920 4d 45 53 53 41 47 45 53 2f 25 4e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 3c MESSAGES/%N<br>..........</pre><
18940 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 0a 20 20 20 20 20 br>..........<br><br>.<br>......
18960 20 20 20 20 77 68 65 72 65 20 3c 56 41 52 3e 70 72 65 66 69 78 3c 2f 56 41 52 3e 20 69 73 20 67 ....where.<VAR>prefix</VAR>.is.g
18980 69 76 65 6e 20 74 6f 20 3c 43 4f 44 45 3e 63 6f 6e 66 69 67 75 72 65 3c 2f 43 4f 44 45 3e 20 77 iven.to.<CODE>configure</CODE>.w
189a0 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 47 4e 55 3c 62 72 3e 0a 20 20 20 20 hile.installing.the.GNU<br>.....
189c0 20 20 20 20 20 43 20 4c 69 62 72 61 72 79 20 28 74 68 69 73 20 76 61 6c 75 65 20 69 73 20 69 6e .....C.Library.(this.value.is.in
189e0 20 6d 61 6e 79 20 63 61 73 65 73 20 3c 43 4f 44 45 3e 2f 75 73 72 3c 2f 43 4f 44 45 3e 20 6f 72 .many.cases.<CODE>/usr</CODE>.or
18a00 20 74 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 29 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 .the.empty.string).<br>.........
18a20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 70 72 6f 62 6c 65 6d 20 .<br><br>.The.remaining.problem.
18a40 69 73 20 74 6f 20 64 65 63 69 64 65 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 75 73 65 64 2e is.to.decide.which.must.be.used.
18a60 20 20 54 68 65 20 76 61 6c 75 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 64 65 63 69 64 65 73 ..The.value<br>..........decides
18a80 20 61 62 6f 75 74 20 74 68 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 .about.the.substitution.of.the.f
18aa0 6f 72 6d 61 74 20 65 6c 65 6d 65 6e 74 73 20 6d 65 6e 74 69 6f 6e 65 64 20 61 62 6f 76 65 2e 3c ormat.elements.mentioned.above.<
18ac0 62 72 3e 0a 20 20 20 20 20 20 20 20 20 46 69 72 73 74 20 6f 66 20 61 6c 6c 20 74 68 65 20 75 73 br>..........First.of.all.the.us
18ae0 65 72 20 63 61 6e 20 73 70 65 63 69 66 79 20 61 20 70 61 74 68 20 69 6e 20 74 68 65 20 6d 65 73 er.can.specify.a.path.in.the.mes
18b00 73 61 67 65 20 63 61 74 61 6c 6f 67 20 6e 61 6d 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 28 sage.catalog.name<br>..........(
18b20 69 2e 65 2e 2c 20 74 68 65 20 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 6c 61 73 68 20 i.e.,.the.name.contains.a.slash.
18b40 63 68 61 72 61 63 74 65 72 29 2e 20 20 49 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 20 74 character)...In.this.situation.t
18b60 68 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4e 4c 53 50 41 54 48 3c 2f 43 he<br>..........<CODE>NLSPATH</C
18b80 4f 44 45 3e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 74 ODE>.environment.variable.is.not
18ba0 20 75 73 65 64 2e 20 20 54 68 65 20 63 61 74 61 6c 6f 67 20 6d 75 73 74 20 65 78 69 73 74 3c 62 .used...The.catalog.must.exist<b
18bc0 72 3e 0a 20 20 20 20 20 20 20 20 20 61 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 r>..........as.specified.in.the.
18be0 70 72 6f 67 72 61 6d 2c 20 70 65 72 68 61 70 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 program,.perhaps.relative.to.the
18c00 20 63 75 72 72 65 6e 74 20 77 6f 72 6b 69 6e 67 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 64 69 .current.working<br>..........di
18c20 72 65 63 74 6f 72 79 2e 20 20 54 68 69 73 20 73 69 74 75 61 74 69 6f 6e 20 69 6e 20 6e 6f 74 20 rectory...This.situation.in.not.
18c40 64 65 73 69 72 61 62 6c 65 20 61 6e 64 20 63 61 74 61 6c 6f 67 73 20 6e 61 6d 65 73 20 6e 65 76 desirable.and.catalogs.names.nev
18c60 65 72 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 62 65 20 77 72 69 74 74 65 er<br>..........should.be.writte
18c80 6e 20 74 68 69 73 20 77 61 79 2e 20 20 42 65 73 69 64 65 20 74 68 69 73 2c 20 74 68 69 73 20 62 n.this.way...Beside.this,.this.b
18ca0 65 68 61 76 69 6f 72 20 69 73 20 6e 6f 74 20 70 6f 72 74 61 62 6c 65 3c 62 72 3e 0a 20 20 20 20 ehavior.is.not.portable<br>.....
18cc0 20 20 20 20 20 74 6f 20 61 6c 6c 20 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 73 20 70 72 6f 76 .....to.all.other.platforms.prov
18ce0 69 64 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e 63 61 74 67 65 74 73 3c 2f 43 4f 44 45 3e 20 69 iding.the.<CODE>catgets</CODE>.i
18d00 6e 74 65 72 66 61 63 65 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 nterface.<br>..........<br><br>.
18d20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 3c 62 72 3e 0a 20 20 20 20 20 20 .environment.variable<br>.......
18d40 20 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 3c 62 72 3e 0a 20 20 20 ....environment.variable<br>....
18d60 20 20 20 20 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 3c 62 72 3e 0a .......environment.variable<br>.
18d80 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 76 61 6c 75 65 73 20 6f 66 .........Otherwise.the.values.of
18da0 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 .environment.variables.from.the.
18dc0 73 74 61 6e 64 61 72 64 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e standard<br>..........environmen
18de0 74 20 61 72 65 20 65 78 61 6d 69 6e 65 64 2e 20 57 68 69 63 68 3c 62 72 3e 0a 20 20 20 20 20 20 t.are.examined..Which<br>.......
18e00 20 20 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 65 78 61 6d 69 6e 65 64 20 69 73 20 64 65 63 ...variables.are.examined.is.dec
18e20 69 64 65 64 20 62 79 20 74 68 65 20 3c 56 41 52 3e 66 6c 61 67 3c 2f 56 41 52 3e 20 70 61 72 61 ided.by.the.<VAR>flag</VAR>.para
18e40 6d 65 74 65 72 20 6f 66 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 63 61 74 6f meter.of<br>..........<CODE>cato
18e60 70 65 6e 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 3c 43 4f pen</CODE>...If.the.value.is.<CO
18e80 44 45 3e 4e 4c 5f 43 41 54 5f 4c 4f 43 41 4c 45 3c 2f 43 4f 44 45 3e 20 28 77 68 69 63 68 20 69 DE>NL_CAT_LOCALE</CODE>.(which.i
18ea0 73 20 64 65 66 69 6e 65 64 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 3c 54 54 3e 6e 6c s.defined<br>..........in.<TT>nl
18ec0 5f 74 79 70 65 73 2e 68 3c 2f 54 54 3e 29 20 74 68 65 6e 20 74 68 65 20 3c 43 4f 44 45 3e 63 61 _types.h</TT>).then.the.<CODE>ca
18ee0 74 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 20 74 68 65 20 6e 61 topen</CODE>.function.use.the.na
18f00 6d 65 20 6f 66 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6c 6f 63 61 6c 65 20 63 75 me.of<br>..........the.locale.cu
18f20 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 66 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 4c rrently.selected.for.the.<CODE>L
18f40 43 5f 4d 45 53 53 41 47 45 53 3c 2f 43 4f 44 45 3e 20 63 61 74 65 67 6f 72 79 2e 3c 62 72 3e 0a C_MESSAGES</CODE>.category.<br>.
18f60 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 66 6c 61 67 3c 2f .........<br><br>.If.<VAR>flag</
18f80 56 41 52 3e 20 69 73 20 7a 65 72 6f 20 74 68 65 20 3c 43 4f 44 45 3e 4c 41 4e 47 3c 2f 43 4f 44 VAR>.is.zero.the.<CODE>LANG</COD
18fa0 45 3e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73 20 65 78 61 6d 69 E>.environment.variable.is.exami
18fc0 6e 65 64 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 6c 65 66 74 ned.<br>..........This.is.a.left
18fe0 2d 6f 76 65 72 20 66 72 6f 6d 20 74 68 65 20 65 61 72 6c 79 20 64 61 79 73 20 77 68 65 72 65 20 -over.from.the.early.days.where.
19000 74 68 65 20 63 6f 6e 63 65 70 74 20 6f 66 20 74 68 65 20 6c 6f 63 61 6c 65 73 3c 62 72 3e 0a 20 the.concept.of.the.locales<br>..
19020 20 20 20 20 20 20 20 20 68 61 64 20 6e 6f 74 20 65 76 65 6e 20 72 65 61 63 68 65 64 20 74 68 65 ........had.not.even.reached.the
19040 20 6c 65 76 65 6c 20 6f 66 20 50 4f 53 49 58 20 6c 6f 63 61 6c 65 73 2e 3c 62 72 3e 0a 20 20 20 .level.of.POSIX.locales.<br>....
19060 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 ......<br><br>.The.environment.v
19080 61 72 69 61 62 6c 65 20 61 6e 64 20 74 68 65 20 6c 6f 63 61 6c 65 20 6e 61 6d 65 20 73 68 6f 75 ariable.and.the.locale.name.shou
190a0 6c 64 20 68 61 76 65 20 61 20 76 61 6c 75 65 20 6f 66 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 ld.have.a.value.of.the<br>......
190c0 20 20 20 20 66 6f 72 6d 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 6c 61 6e 67 3c 2f 56 41 52 3e 5b 5f ....form.<CODE><VAR>lang</VAR>[_
190e0 3c 56 41 52 3e 74 65 72 72 3c 2f 56 41 52 3e 5b 2e 3c 56 41 52 3e 63 6f 64 65 73 65 74 3c 2f 56 <VAR>terr</VAR>[.<VAR>codeset</V
19100 41 52 3e 5d 5d 3c 2f 43 4f 44 45 3e 20 61 73 20 65 78 70 6c 61 69 6e 65 64 20 61 62 6f 76 65 2e AR>]]</CODE>.as.explained.above.
19120 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 <br>..........If.no.environment.
19140 76 61 72 69 61 62 6c 65 20 69 73 20 73 65 74 20 74 68 65 20 3c 43 4f 44 45 3e 22 43 22 3c 2f 43 variable.is.set.the.<CODE>"C"</C
19160 4f 44 45 3e 20 6c 6f 63 61 6c 65 20 69 73 20 75 73 65 64 20 77 68 69 63 68 3c 62 72 3e 0a 20 20 ODE>.locale.is.used.which<br>...
19180 20 20 20 20 20 20 20 70 72 65 76 65 6e 74 73 20 61 6e 79 20 74 72 61 6e 73 6c 61 74 69 6f 6e 2e .......prevents.any.translation.
191a0 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 <br>..........<br><br>.The.retur
191c0 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 61 6e n.value.of.the.function.is.in.an
191e0 79 20 63 61 73 65 20 61 20 76 61 6c 69 64 20 73 74 72 69 6e 67 2e 20 20 45 69 74 68 65 72 3c 62 y.case.a.valid.string...Either<b
19200 72 3e 0a 20 20 20 20 20 20 20 20 20 69 74 20 69 73 20 61 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 r>..........it.is.a.translation.
19220 66 72 6f 6d 20 61 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 20 6f 72 20 69 74 20 69 73 20 from.a.message.catalog.or.it.is.
19240 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 the.same.as.the<br>..........<VA
19260 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 20 53 6f 20 61 20 R>string</VAR>.parameter...So.a.
19280 70 69 65 63 65 20 6f 66 20 63 6f 64 65 20 74 6f 20 64 65 63 69 64 65 20 77 68 65 74 68 65 72 20 piece.of.code.to.decide.whether.
192a0 61 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 61 63 74 75 61 a<br>..........translation.actua
192c0 6c 6c 79 20 68 61 70 70 65 6e 65 64 20 6d 75 73 74 20 6c 6f 6f 6b 20 6c 69 6b 65 20 74 68 69 73 lly.happened.must.look.like.this
192e0 3a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 :<br>..........<br><br>.<pre><br
19300 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 >..........{<br>............char
19320 20 2a 74 72 61 6e 73 20 3d 20 63 61 74 67 65 74 73 20 28 64 65 73 63 2c 20 73 65 74 2c 20 6d 73 .*trans.=.catgets.(desc,.set,.ms
19340 67 2c 20 69 6e 70 75 74 5f 73 74 72 69 6e 67 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 g,.input_string);<br>...........
19360 20 69 66 20 28 74 72 61 6e 73 20 3d 3d 20 69 6e 70 75 74 5f 73 74 72 69 6e 67 29 3c 62 72 3e 0a .if.(trans.==.input_string)<br>.
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .............{<br>..............
193a0 20 20 2f 2a 20 53 6f 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 2e 20 20 2a 2f 3c 62 ../*.Something.went.wrong...*/<b
193c0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d r>..............}<br>..........}
193e0 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 <br>..........</pre>..........<b
19400 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 61 6e 20 65 72 72 6f 72 20 6f r><br>...........When.an.error.o
19420 63 63 75 72 72 65 64 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 56 41 52 ccurred.the.global.variable.<VAR
19440 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 >errno</VAR>.is.set.to..........
19460 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 <br><br>.<DL>...........<DT><COD
19480 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 E>EBADF</CODE>.<DD>..........The
194a0 20 63 61 74 61 6c 6f 67 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 .catalog.does.not.exist.........
194c0 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 4d 53 47 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 ..<DT><CODE>ENOMSG..........The.
194e0 73 65 74 2f 6d 65 73 73 61 67 65 20 74 75 70 6c 65 20 64 6f 65 73 20 6e 6f 74 20 6e 61 6d 65 20 set/message.tuple.does.not.name.
19500 61 6e 20 65 78 69 73 74 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 an.existing.element.in.the</CODE
19520 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 2e >.<DD>..........message.catalog.
19540 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ..........</DL>..........<br><br
19560 3e 20 57 68 69 6c 65 20 69 74 20 73 6f 6d 65 74 69 6d 65 73 20 63 61 6e 20 62 65 20 75 73 65 66 >.While.it.sometimes.can.be.usef
19580 75 6c 20 74 6f 20 74 65 73 74 20 66 6f 72 20 65 72 72 6f 72 73 20 70 72 6f 67 72 61 6d 73 20 6e ul.to.test.for.errors.programs.n
195a0 6f 72 6d 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 61 76 6f 69 64 20 61 6e 79 20 ormally..........will.avoid.any.
195c0 74 65 73 74 2e 20 20 49 66 20 74 68 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 69 73 20 6e 6f 74 test...If.the.translation.is.not
195e0 20 61 76 61 69 6c 61 62 6c 65 20 69 74 20 69 73 20 6e 6f 20 62 69 67 0a 20 20 20 20 20 20 20 20 .available.it.is.no.big.........
19600 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 2c 20 75 6e 74 72 61 6e .problem.if.the.original,.untran
19620 73 6c 61 74 65 64 20 6d 65 73 73 61 67 65 20 69 73 20 70 72 69 6e 74 65 64 2e 20 20 45 69 74 68 slated.message.is.printed...Eith
19640 65 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 20 75 6e 64 65 72 73 74 61 6e 64 73 er.the..........user.understands
19660 20 74 68 69 73 20 61 73 20 77 65 6c 6c 20 6f 72 20 73 2f 68 65 20 77 69 6c 6c 20 6c 6f 6f 6b 20 .this.as.well.or.s/he.will.look.
19680 66 6f 72 20 74 68 65 20 72 65 61 73 6f 6e 20 77 68 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 for.the.reason.why.the..........
196a0 6d 65 73 73 61 67 65 73 20 61 72 65 20 6e 6f 74 20 74 72 61 6e 73 6c 61 74 65 64 2e 0a 20 20 20 messages.are.not.translated.....
196c0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 6e 6c 5f 74 79 70 65 73 .....sq.~......w.....t..nl_types
196e0 2e 68 78 71 00 7e 03 99 74 00 1e 63 6f 6e 73 74 20 63 68 61 72 20 2a 63 61 74 5f 6e 61 6d 65 2c .hxq.~..t..const.char.*cat_name,
19700 20 69 6e 74 20 66 6c 61 67 74 00 07 6e 6c 5f 63 61 74 64 74 00 09 63 62 63 5f 63 72 79 70 74 73 .int.flagt..nl_catdt..cbc_crypts
19720 71 00 7e 00 0a 70 74 04 b2 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 q.~..pt...........<br><br>.The.f
19740 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 63 62 63 5f 63 72 79 70 74 3c 2f 43 4f 44 45 3e 20 65 unction.<CODE>cbc_crypt</CODE>.e
19760 6e 63 72 79 70 74 73 20 6f 72 20 64 65 63 72 79 70 74 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 ncrypts.or.decrypts.one.or.more.
19780 62 6c 6f 63 6b 73 0a 20 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 44 45 53 20 69 6e 20 43 69 70 blocks..........using.DES.in.Cip
197a0 68 65 72 20 42 6c 6f 63 6b 20 43 68 61 69 6e 69 6e 67 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 her.Block.Chaining.mode.........
197c0 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 6e 63 72 79 70 74 69 6f 6e 20 69 6e 20 43 42 43 ..<br><br>.For.encryption.in.CBC
197e0 20 6d 6f 64 65 2c 20 65 61 63 68 20 62 6c 6f 63 6b 20 69 73 20 65 78 63 6c 75 73 69 76 65 2d 6f .mode,.each.block.is.exclusive-o
19800 72 65 64 20 77 69 74 68 20 3c 56 41 52 3e 69 76 65 63 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 red.with.<VAR>ivec</VAR>........
19820 20 20 62 65 66 6f 72 65 20 62 65 69 6e 67 20 65 6e 63 72 79 70 74 65 64 2c 20 74 68 65 6e 20 3c ..before.being.encrypted,.then.<
19840 56 41 52 3e 69 76 65 63 3c 2f 56 41 52 3e 20 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 VAR>ivec</VAR>.is.replaced.with.
19860 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 6e 63 72 79 the.result.of..........the.encry
19880 70 74 69 6f 6e 2c 20 74 68 65 6e 20 74 68 65 20 6e 65 78 74 20 62 6c 6f 63 6b 20 69 73 20 70 72 ption,.then.the.next.block.is.pr
198a0 6f 63 65 73 73 65 64 2e 20 20 44 65 63 72 79 70 74 69 6f 6e 20 69 73 20 74 68 65 0a 20 20 20 20 ocessed...Decryption.is.the.....
198c0 20 20 20 20 20 72 65 76 65 72 73 65 20 6f 66 20 74 68 69 73 20 70 72 6f 63 65 73 73 2e 0a 20 20 .....reverse.of.this.process....
198e0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 68 61 73 20 74 68 65 20 61 64 76 .......<br><br>.This.has.the.adv
19900 61 6e 74 61 67 65 20 74 68 61 74 20 62 6c 6f 63 6b 73 20 77 68 69 63 68 20 61 72 65 20 74 68 65 antage.that.blocks.which.are.the
19920 20 73 61 6d 65 20 62 65 66 6f 72 65 20 62 65 69 6e 67 0a 20 20 20 20 20 20 20 20 20 65 6e 63 72 .same.before.being..........encr
19940 79 70 74 65 64 20 61 72 65 20 76 65 72 79 20 75 6e 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20 74 68 ypted.are.very.unlikely.to.be.th
19960 65 20 73 61 6d 65 20 61 66 74 65 72 20 62 65 69 6e 67 20 65 6e 63 72 79 70 74 65 64 2c 20 6d 61 e.same.after.being.encrypted,.ma
19980 6b 69 6e 67 0a 20 20 20 20 20 20 20 20 20 69 74 20 6d 75 63 68 20 68 61 72 64 65 72 20 74 6f 20 king..........it.much.harder.to.
199a0 64 65 74 65 63 74 20 70 61 74 74 65 72 6e 73 20 69 6e 20 74 68 65 20 64 61 74 61 2e 0a 20 20 20 detect.patterns.in.the.data.....
199c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 73 75 61 6c 6c 79 2c 20 3c 56 41 52 3e 69 76 65 ......<br><br>.Usually,.<VAR>ive
199e0 63 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 20 74 6f 20 38 20 72 61 6e 64 6f 6d 20 62 79 74 65 73 c</VAR>.is.set.to.8.random.bytes
19a00 20 62 65 66 6f 72 65 20 65 6e 63 72 79 70 74 69 6f 6e 20 73 74 61 72 74 73 2e 0a 20 20 20 20 20 .before.encryption.starts.......
19a20 20 20 20 20 54 68 65 6e 20 74 68 65 20 38 20 72 61 6e 64 6f 6d 20 62 79 74 65 73 20 61 72 65 20 ....Then.the.8.random.bytes.are.
19a40 74 72 61 6e 73 6d 69 74 74 65 64 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 65 6e 63 72 79 transmitted.along.with.the.encry
19a60 70 74 65 64 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 6f 75 74 20 74 68 65 6d pted.data..........(without.them
19a80 73 65 6c 76 65 73 20 62 65 69 6e 67 20 65 6e 63 72 79 70 74 65 64 29 2c 20 61 6e 64 20 70 61 73 selves.being.encrypted),.and.pas
19aa0 73 65 64 20 62 61 63 6b 20 69 6e 20 61 73 20 3c 56 41 52 3e 69 76 65 63 3c 2f 56 41 52 3e 0a 20 sed.back.in.as.<VAR>ivec</VAR>..
19ac0 20 20 20 20 20 20 20 20 66 6f 72 20 64 65 63 72 79 70 74 69 6f 6e 2e 20 20 41 6e 6f 74 68 65 72 ........for.decryption...Another
19ae0 20 70 6f 73 73 69 62 69 6c 69 74 79 20 69 73 20 74 6f 20 73 65 74 20 3c 56 41 52 3e 69 76 65 63 .possibility.is.to.set.<VAR>ivec
19b00 3c 2f 56 41 52 3e 20 74 6f 20 38 20 7a 65 72 6f 65 73 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 </VAR>.to.8.zeroes..........init
19b20 69 61 6c 6c 79 2c 20 61 6e 64 20 68 61 76 65 20 74 68 65 20 66 69 72 73 74 20 74 68 65 20 62 6c ially,.and.have.the.first.the.bl
19b40 6f 63 6b 20 65 6e 63 72 79 70 74 65 64 20 63 6f 6e 73 69 73 74 20 6f 66 20 38 20 72 61 6e 64 6f ock.encrypted.consist.of.8.rando
19b60 6d 0a 20 20 20 20 20 20 20 20 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c m..........bytes...........<br><
19b80 62 72 3e 20 4f 74 68 65 72 77 69 73 65 2c 20 61 6c 6c 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 br>.Otherwise,.all.the.parameter
19ba0 73 20 61 72 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 6f 73 65 20 66 6f 72 20 3c 43 4f 44 45 s.are.similar.to.those.for.<CODE
19bc0 3e 65 63 62 5f 63 72 79 70 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 >ecb_crypt</CODE>..........sq.~.
19be0 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0f 72 70 63 2f 64 65 73 5f 63 72 79 70 74 2e 68 78 71 00 .....w.....t..rpc/des_crypt.hxq.
19c00 7e 03 a0 74 00 40 63 68 61 72 20 2a 6b 65 79 2c 20 63 68 61 72 20 2a 62 6c 6f 63 6b 73 2c 20 75 ~..t.@char.*key,.char.*blocks,.u
19c20 6e 73 69 67 6e 65 64 20 6c 65 6e 2c 20 75 6e 73 69 67 6e 65 64 20 6d 6f 64 65 2c 20 63 68 61 72 nsigned.len,.unsigned.mode,.char
19c40 20 2a 69 76 65 63 74 00 03 69 6e 74 74 00 04 63 62 72 74 73 71 00 7e 00 0a 70 74 00 a6 0a 20 20 .*ivect..intt..cbrtsq.~..pt.....
19c60 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 ......These.functions.return.the
19c80 20 63 75 62 65 20 72 6f 6f 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 .cube.root.of.<VAR>x</VAR>...The
19ca0 79 20 63 61 6e 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 66 61 69 6c 3b 20 65 76 65 72 79 20 72 65 y.cannot..........fail;.every.re
19cc0 70 72 65 73 65 6e 74 61 62 6c 65 20 72 65 61 6c 20 76 61 6c 75 65 20 68 61 73 20 61 20 72 65 70 presentable.real.value.has.a.rep
19ce0 72 65 73 65 6e 74 61 62 6c 65 20 72 65 61 6c 20 63 75 62 65 20 72 6f 6f 74 2e 0a 20 20 20 20 20 resentable.real.cube.root.......
19d00 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
19d20 03 a7 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 05 63 62 72 74 66 73 71 ..t..double.xt..doublet..cbrtfsq
19d40 00 7e 00 0a 70 74 00 a6 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 .~..pt...........These.functions
19d60 20 72 65 74 75 72 6e 20 74 68 65 20 63 75 62 65 20 72 6f 6f 74 20 6f 66 20 3c 56 41 52 3e 78 3c .return.the.cube.root.of.<VAR>x<
19d80 2f 56 41 52 3e 2e 20 20 54 68 65 79 20 63 61 6e 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 66 61 69 /VAR>...They.cannot..........fai
19da0 6c 3b 20 65 76 65 72 79 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 72 65 61 6c 20 76 61 6c 75 l;.every.representable.real.valu
19dc0 65 20 68 61 73 20 61 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 72 65 61 6c 20 63 75 62 65 20 e.has.a.representable.real.cube.
19de0 72 6f 6f 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 root..........sq.~......w.....t.
19e00 06 6d 61 74 68 2e 68 78 71 00 7e 03 ae 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 .math.hxq.~..t..float.xt..floatt
19e20 00 05 63 62 72 74 6c 73 71 00 7e 00 0a 70 74 00 a6 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 ..cbrtlsq.~..pt...........These.
19e40 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 75 62 65 20 72 6f 6f 74 20 6f functions.return.the.cube.root.o
19e60 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 79 20 63 61 6e 6e 6f 74 0a 20 20 20 f.<VAR>x</VAR>...They.cannot....
19e80 20 20 20 20 20 20 66 61 69 6c 3b 20 65 76 65 72 79 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 ......fail;.every.representable.
19ea0 72 65 61 6c 20 76 61 6c 75 65 20 68 61 73 20 61 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 72 real.value.has.a.representable.r
19ec0 65 61 6c 20 63 75 62 65 20 72 6f 6f 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 eal.cube.root..........sq.~.....
19ee0 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 03 b5 74 00 0d 6c 6f 6e 67 20 64 6f .w.....t..math.hxq.~..t..long.do
19f00 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 63 63 6f 73 73 71 00 7e 00 uble.xt..long.doublet..ccossq.~.
19f20 0a 70 74 00 e3 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 .pt...........These.functions.re
19f40 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e turn.the.complex.cosine.of.<VAR>
19f60 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 61 74 68 65 6d 61 74 69 63 z</VAR>...........The.mathematic
19f80 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 63 6f 73 al.definition.of.the.complex.cos
19fa0 69 6e 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 ine.is..........<br><br>........
19fc0 20 20 20 63 6f 73 20 28 7a 29 20 3d 20 31 2f 32 20 2a 20 28 65 78 70 20 28 7a 2a 69 29 20 2b 20 ...cos.(z).=.1/2.*.(exp.(z*i).+.
19fe0 65 78 70 20 28 2d 7a 2a 69 29 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a exp.(-z*i)).....................
1a000 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c ........sq.~......w.....t..compl
1a020 65 78 2e 68 78 71 00 7e 03 bc 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e ex.hxq.~..t..complex.double.zt..
1a040 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 05 63 63 6f 73 66 73 71 00 7e 00 0a 70 74 00 e3 complex.doublet..ccosfsq.~..pt..
1a060 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 .........These.functions.return.
1a080 74 68 65 20 63 6f 6d 70 6c 65 78 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 the.complex.cosine.of.<VAR>z</VA
1a0a0 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 20 64 65 R>...........The.mathematical.de
1a0c0 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 63 6f 73 69 6e 65 20 69 finition.of.the.complex.cosine.i
1a0e0 73 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 63 6f s..........<br><br>...........co
1a100 73 20 28 7a 29 20 3d 20 31 2f 32 20 2a 20 28 65 78 70 20 28 7a 2a 69 29 20 2b 20 65 78 70 20 28 s.(z).=.1/2.*.(exp.(z*i).+.exp.(
1a120 2d 7a 2a 69 29 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 -z*i))..........................
1a140 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 ...sq.~......w.....t..complex.hx
1a160 71 00 7e 03 c3 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 q.~..t..complex.float.zt..comple
1a180 78 20 66 6c 6f 61 74 74 00 05 63 63 6f 73 68 73 71 00 7e 00 0a 70 74 00 b7 0a 20 20 20 20 20 20 x.floatt..ccoshsq.~..pt.........
1a1a0 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d ..These.functions.return.the.com
1a1c0 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a plex.hyperbolic.cosine.of.<VAR>z
1a1e0 3c 2f 56 41 52 3e 2c 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 6d 61 74 68 65 6d 61 </VAR>,.defined..........mathema
1a200 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 28 65 78 70 20 28 3c 56 41 52 3e 7a 3c 2f 56 tically.as.<CODE>(exp.(<VAR>z</V
1a220 41 52 3e 29 20 2b 20 65 78 70 20 28 2d 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 29 20 2f 20 32 3c AR>).+.exp.(-<VAR>z</VAR>))./.2<
1a240 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a /CODE>..........sq.~......w.....
1a260 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 ca 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 t..complex.hxq.~..t..complex.dou
1a280 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 06 63 63 6f 73 68 66 73 ble.zt..complex.doublet..ccoshfs
1a2a0 71 00 7e 00 0a 70 74 00 b7 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt...........These.function
1a2c0 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 s.return.the.complex.hyperbolic.
1a2e0 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2c 20 64 65 66 69 6e 65 64 0a cosine.of.<VAR>z</VAR>,.defined.
1a300 20 20 20 20 20 20 20 20 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 .........mathematically.as.<CODE
1a320 3e 28 65 78 70 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2b 20 65 78 70 20 28 2d 3c 56 41 >(exp.(<VAR>z</VAR>).+.exp.(-<VA
1a340 52 3e 7a 3c 2f 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 R>z</VAR>))./.2</CODE>..........
1a360 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e sq.~......w.....t..complex.hxq.~
1a380 03 d1 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 ..t..complex.float.zt..complex.f
1a3a0 6c 6f 61 74 74 00 06 63 63 6f 73 68 6c 73 71 00 7e 00 0a 70 74 00 b7 0a 20 20 20 20 20 20 20 20 loatt..ccoshlsq.~..pt...........
1a3c0 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c These.functions.return.the.compl
1a3e0 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f ex.hyperbolic.cosine.of.<VAR>z</
1a400 56 41 52 3e 2c 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 6d 61 74 68 65 6d 61 74 69 VAR>,.defined..........mathemati
1a420 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 28 65 78 70 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 cally.as.<CODE>(exp.(<VAR>z</VAR
1a440 3e 29 20 2b 20 65 78 70 20 28 2d 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 >).+.exp.(-<VAR>z</VAR>))./.2</C
1a460 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 ODE>..........sq.~......w.....t.
1a480 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 d8 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 .complex.hxq.~..t..complex.long.
1a4a0 64 6f 75 62 6c 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 double.zt..complex.long.doublet.
1a4c0 05 63 63 6f 73 6c 73 71 00 7e 00 0a 70 74 00 e3 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 .ccoslsq.~..pt...........These.f
1a4e0 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 63 6f 73 69 unctions.return.the.complex.cosi
1a500 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 ne.of.<VAR>z</VAR>...........The
1a520 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 .mathematical.definition.of.the.
1a540 63 6f 6d 70 6c 65 78 20 63 6f 73 69 6e 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c complex.cosine.is..........<br><
1a560 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 63 6f 73 20 28 7a 29 20 3d 20 31 2f 32 20 2a 20 28 65 br>...........cos.(z).=.1/2.*.(e
1a580 78 70 20 28 7a 2a 69 29 20 2b 20 65 78 70 20 28 2d 7a 2a 69 29 29 0a 20 20 20 20 20 20 20 20 20 xp.(z*i).+.exp.(-z*i))..........
1a5a0 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ...................sq.~......w..
1a5c0 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 df 74 00 15 63 6f 6d 70 6c 65 78 20 ...t..complex.hxq.~..t..complex.
1a5e0 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 long.double.zt..complex.long.dou
1a600 62 6c 65 74 00 04 63 65 69 6c 73 71 00 7e 00 0a 70 74 00 c9 0a 20 20 20 20 20 20 20 20 54 68 65 blet..ceilsq.~..pt...........The
1a620 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 se.functions.round.<VAR>x</VAR>.
1a640 75 70 77 61 72 64 73 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 69 6e 74 65 67 65 72 2c 0a upwards.to.the.nearest.integer,.
1a660 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 69 6e 67 20 74 68 61 74 20 76 61 6c 75 65 20 61 73 .........returning.that.value.as
1a680 20 61 20 3c 43 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 75 73 2c 20 3c .a.<CODE>double</CODE>...Thus,.<
1a6a0 43 4f 44 45 3e 63 65 69 6c 20 28 31 2e 35 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 CODE>ceil.(1.5)</CODE>..........
1a6c0 69 73 20 3c 43 4f 44 45 3e 32 2e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 is.<CODE>2.0</CODE>..........sq.
1a6e0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 03 e6 74 00 08 64 ~......w.....t..math.hxq.~..t..d
1a700 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 05 63 65 69 6c 66 73 71 00 7e 00 0a 70 74 ouble.xt..doublet..ceilfsq.~..pt
1a720 00 c9 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 6f 75 6e 64 ...........These.functions.round
1a740 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 75 70 77 61 72 64 73 20 74 6f 20 74 68 65 20 6e 65 61 .<VAR>x</VAR>.upwards.to.the.nea
1a760 72 65 73 74 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 69 6e 67 rest.integer,..........returning
1a780 20 74 68 61 74 20 76 61 6c 75 65 20 61 73 20 61 20 3c 43 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 .that.value.as.a.<CODE>double</C
1a7a0 4f 44 45 3e 2e 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 3e 63 65 69 6c 20 28 31 2e 35 29 3c 2f 43 ODE>...Thus,.<CODE>ceil.(1.5)</C
1a7c0 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f 44 45 3e 32 2e 30 3c 2f 43 4f 44 45 ODE>..........is.<CODE>2.0</CODE
1a7e0 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 >..........sq.~......w.....t..ma
1a800 74 68 2e 68 78 71 00 7e 03 ed 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 05 63 th.hxq.~..t..float.xt..floatt..c
1a820 65 69 6c 6c 73 71 00 7e 00 0a 70 74 00 c9 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e eillsq.~..pt...........These.fun
1a840 63 74 69 6f 6e 73 20 72 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 75 70 77 61 72 64 ctions.round.<VAR>x</VAR>.upward
1a860 73 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 s.to.the.nearest.integer,.......
1a880 20 20 20 72 65 74 75 72 6e 69 6e 67 20 74 68 61 74 20 76 61 6c 75 65 20 61 73 20 61 20 3c 43 4f ...returning.that.value.as.a.<CO
1a8a0 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 3e 63 DE>double</CODE>...Thus,.<CODE>c
1a8c0 65 69 6c 20 28 31 2e 35 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f eil.(1.5)</CODE>..........is.<CO
1a8e0 44 45 3e 32 2e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 DE>2.0</CODE>..........sq.~.....
1a900 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 03 f4 74 00 0d 6c 6f 6e 67 20 64 6f .w.....t..math.hxq.~..t..long.do
1a920 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 63 65 78 70 73 71 00 7e 00 uble.xt..long.doublet..cexpsq.~.
1a940 0a 70 74 01 31 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 .pt.1.........These.functions.re
1a960 74 75 72 6e 20 3c 43 4f 44 45 3e 65 3c 2f 43 4f 44 45 3e 20 28 74 68 65 20 62 61 73 65 20 6f 66 turn.<CODE>e</CODE>.(the.base.of
1a980 20 6e 61 74 75 72 61 6c 0a 20 20 20 20 20 20 20 20 20 6c 6f 67 61 72 69 74 68 6d 73 29 20 72 61 .natural..........logarithms).ra
1a9a0 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 ised.to.the.power.of.<VAR>z</VAR
1a9c0 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 >...........Mathematically,.this
1a9e0 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 .corresponds.to.the.value.......
1aa00 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 65 78 70 20 28 7a 29 20 3d 20 ...<br><br>...........exp.(z).=.
1aa20 65 78 70 20 28 63 72 65 61 6c 20 28 7a 29 29 20 2a 20 28 63 6f 73 20 28 63 69 6d 61 67 20 28 7a exp.(creal.(z)).*.(cos.(cimag.(z
1aa40 29 29 20 2b 20 49 20 2a 20 73 69 6e 20 28 63 69 6d 61 67 20 28 7a 29 29 29 0a 20 20 20 20 20 20 )).+.I.*.sin.(cimag.(z))).......
1aa60 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ......................sq.~......
1aa80 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 03 fb 74 00 10 63 6f 6d 70 6c w.....t..complex.hxq.~..t..compl
1aaa0 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 05 63 ex.double.zt..complex.doublet..c
1aac0 65 78 70 66 73 71 00 7e 00 0a 70 74 01 31 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e expfsq.~..pt.1.........These.fun
1aae0 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 65 3c 2f 43 4f 44 45 3e 20 28 74 68 ctions.return.<CODE>e</CODE>.(th
1ab00 65 20 62 61 73 65 20 6f 66 20 6e 61 74 75 72 61 6c 0a 20 20 20 20 20 20 20 20 20 6c 6f 67 61 72 e.base.of.natural..........logar
1ab20 69 74 68 6d 73 29 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 6f 66 20 3c 56 ithms).raised.to.the.power.of.<V
1ab40 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 AR>z</VAR>...........Mathematica
1ab60 6c 6c 79 2c 20 74 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 76 61 6c lly,.this.corresponds.to.the.val
1ab80 75 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 65 ue..........<br><br>...........e
1aba0 78 70 20 28 7a 29 20 3d 20 65 78 70 20 28 63 72 65 61 6c 20 28 7a 29 29 20 2a 20 28 63 6f 73 20 xp.(z).=.exp.(creal.(z)).*.(cos.
1abc0 28 63 69 6d 61 67 20 28 7a 29 29 20 2b 20 49 20 2a 20 73 69 6e 20 28 63 69 6d 61 67 20 28 7a 29 (cimag.(z)).+.I.*.sin.(cimag.(z)
1abe0 29 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 73 )).............................s
1ac00 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 q.~......w.....t..complex.hxq.~.
1ac20 02 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c .t..complex.float.zt..complex.fl
1ac40 6f 61 74 74 00 05 63 65 78 70 6c 73 71 00 7e 00 0a 70 74 01 31 0a 20 20 20 20 20 20 20 20 54 68 oatt..cexplsq.~..pt.1.........Th
1ac60 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 65 3c 2f 43 4f ese.functions.return.<CODE>e</CO
1ac80 44 45 3e 20 28 74 68 65 20 62 61 73 65 20 6f 66 20 6e 61 74 75 72 61 6c 0a 20 20 20 20 20 20 20 DE>.(the.base.of.natural........
1aca0 20 20 6c 6f 67 61 72 69 74 68 6d 73 29 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 ..logarithms).raised.to.the.powe
1acc0 72 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 r.of.<VAR>z</VAR>...........Math
1ace0 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 ematically,.this.corresponds.to.
1ad00 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 the.value..........<br><br>.....
1ad20 20 20 20 20 20 20 65 78 70 20 28 7a 29 20 3d 20 65 78 70 20 28 63 72 65 61 6c 20 28 7a 29 29 20 ......exp.(z).=.exp.(creal.(z)).
1ad40 2a 20 28 63 6f 73 20 28 63 69 6d 61 67 20 28 7a 29 29 20 2b 20 49 20 2a 20 73 69 6e 20 28 63 69 *.(cos.(cimag.(z)).+.I.*.sin.(ci
1ad60 6d 61 67 20 28 7a 29 29 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 mag.(z))).......................
1ad80 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 ......sq.~......w.....t..complex
1ada0 2e 68 78 71 00 7e 04 09 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a .hxq.~..t..complex.long.double.z
1adc0 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 0b 63 66 67 65 74 69 73 t..complex.long.doublet..cfgetis
1ade0 70 65 65 64 73 71 00 7e 00 0a 70 74 00 81 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 peedsq.~..pt...........This.func
1ae00 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 70 75 74 20 6c 69 6e 65 20 73 70 65 65 tion.returns.the.input.line.spee
1ae20 64 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 73 74 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 d.stored.in.the.structure.......
1ae40 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 3c 2f 56 41 52 3e 3c 2f ...<CODE>*<VAR>termios-p</VAR></
1ae60 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
1ae80 00 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e 04 10 74 00 1f 63 6f 6e 73 74 20 73 74 72 75 63 74 ..termios.hxq.~..t..const.struct
1aea0 20 74 65 72 6d 69 6f 73 20 2a 74 65 72 6d 69 6f 73 2d 70 74 00 07 73 70 65 65 64 5f 74 74 00 0b .termios.*termios-pt..speed_tt..
1aec0 63 66 67 65 74 6f 73 70 65 65 64 73 71 00 7e 00 0a 70 74 00 82 0a 20 20 20 20 20 20 20 20 54 68 cfgetospeedsq.~..pt...........Th
1aee0 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6f 75 74 70 75 74 20 6c is.function.returns.the.output.l
1af00 69 6e 65 20 73 70 65 65 64 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 73 74 72 75 63 74 75 72 ine.speed.stored.in.the.structur
1af20 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 e..........<CODE>*<VAR>termios-p
1af40 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 </VAR></CODE>..........sq.~.....
1af60 01 77 04 00 00 00 0a 74 00 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e 04 17 74 00 1f 63 6f 6e 73 .w.....t..termios.hxq.~..t..cons
1af80 74 20 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 2a 74 65 72 6d 69 6f 73 2d 70 74 00 07 73 70 t.struct.termios.*termios-pt..sp
1afa0 65 65 64 5f 74 74 00 09 63 66 6d 61 6b 65 72 61 77 73 71 00 7e 00 0a 70 74 03 05 0a 20 20 20 20 eed_tt..cfmakerawsq.~..pt.......
1afc0 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 76 69 64 65 73 20 61 6e 20 65 61 ....This.function.provides.an.ea
1afe0 73 79 20 77 61 79 20 74 6f 20 73 65 74 20 75 70 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 74 65 72 sy.way.to.set.up.<CODE>*<VAR>ter
1b000 6d 69 6f 73 2d 70 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 66 6f 72 0a 20 20 20 20 20 20 20 20 mios-p</VAR></CODE>.for.........
1b020 20 77 68 61 74 20 68 61 73 20 74 72 61 64 69 74 69 6f 6e 61 6c 6c 79 20 62 65 65 6e 20 63 61 6c .what.has.traditionally.been.cal
1b040 6c 65 64 20 60 60 72 61 77 20 6d 6f 64 65 27 27 20 69 6e 20 42 53 44 2e 20 20 54 68 69 73 20 75 led.``raw.mode''.in.BSD...This.u
1b060 73 65 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 63 61 6e 6f 6e 69 63 61 6c 20 69 6e 70 75 74 2c ses..........noncanonical.input,
1b080 20 61 6e 64 20 74 75 72 6e 73 20 6f 66 66 20 6d 6f 73 74 20 70 72 6f 63 65 73 73 69 6e 67 20 74 .and.turns.off.most.processing.t
1b0a0 6f 20 67 69 76 65 20 61 6e 20 75 6e 6d 6f 64 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 63 68 o.give.an.unmodified..........ch
1b0c0 61 6e 6e 65 6c 20 74 6f 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 annel.to.the.terminal...........
1b0e0 3c 62 72 3e 3c 62 72 3e 20 49 74 20 64 6f 65 73 20 65 78 61 63 74 6c 79 20 74 68 69 73 3a 0a 20 <br><br>.It.does.exactly.this:..
1b100 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 3c 56 41 ........<pre><br>............<VA
1b120 52 3e 74 65 72 6d 69 6f 73 2d 70 3c 2f 56 41 52 3e 2d 3e 63 5f 69 66 6c 61 67 20 26 3d 20 7e 28 R>termios-p</VAR>->c_iflag.&=.~(
1b140 49 47 4e 42 52 4b 7c 42 52 4b 49 4e 54 7c 50 41 52 4d 52 4b 7c 49 53 54 52 49 50 3c 62 72 3e 0a IGNBRK|BRKINT|PARMRK|ISTRIP<br>.
1b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b180 20 20 20 20 20 20 20 20 20 7c 49 4e 4c 43 52 7c 49 47 4e 43 52 7c 49 43 52 4e 4c 7c 49 58 4f 4e .........|INLCR|IGNCR|ICRNL|IXON
1b1a0 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 );<br>............<VAR>termios-p
1b1c0 3c 2f 56 41 52 3e 2d 3e 63 5f 6f 66 6c 61 67 20 26 3d 20 7e 4f 50 4f 53 54 3b 3c 62 72 3e 0a 20 </VAR>->c_oflag.&=.~OPOST;<br>..
1b1e0 20 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 3c 2f 56 41 52 3e 2d 3e ..........<VAR>termios-p</VAR>->
1b200 63 5f 6c 66 6c 61 67 20 26 3d 20 7e 28 45 43 48 4f 7c 45 43 48 4f 4e 4c 7c 49 43 41 4e 4f 4e 7c c_lflag.&=.~(ECHO|ECHONL|ICANON|
1b220 49 53 49 47 7c 49 45 58 54 45 4e 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 3c 56 41 ISIG|IEXTEN);<br>............<VA
1b240 52 3e 74 65 72 6d 69 6f 73 2d 70 3c 2f 56 41 52 3e 2d 3e 63 5f 63 66 6c 61 67 20 26 3d 20 7e 28 R>termios-p</VAR>->c_cflag.&=.~(
1b260 43 53 49 5a 45 7c 50 41 52 45 4e 42 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 3c 56 CSIZE|PARENB);<br>............<V
1b280 41 52 3e 74 65 72 6d 69 6f 73 2d 70 3c 2f 56 41 52 3e 2d 3e 63 5f 63 66 6c 61 67 20 7c 3d 20 43 AR>termios-p</VAR>->c_cflag.|=.C
1b2a0 53 38 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 S8;<br>..........</pre>.........
1b2c0 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e sq.~......w.....t..termios.hxq.~
1b2e0 04 1e 74 00 19 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 2a 74 65 72 6d 69 6f 73 2d 70 74 00 ..t..struct.termios.*termios-pt.
1b300 04 76 6f 69 64 74 00 05 63 66 72 65 65 73 71 00 7e 00 0a 70 74 00 b2 0a 20 20 20 20 20 20 20 20 .voidt..cfreesq.~..pt...........
1b320 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e This.function.does.the.same.thin
1b340 67 20 61 73 20 3c 43 4f 44 45 3e 66 72 65 65 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 27 73 20 70 72 g.as.<CODE>free</CODE>...It's.pr
1b360 6f 76 69 64 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 62 61 63 6b 77 61 72 64 20 63 6f 6d ovided.for..........backward.com
1b380 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 53 75 6e 4f 53 3b 20 79 6f 75 20 73 68 6f 75 6c patibility.with.SunOS;.you.shoul
1b3a0 64 20 75 73 65 20 3c 43 4f 44 45 3e 66 72 65 65 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 2e d.use.<CODE>free</CODE>.instead.
1b3c0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c .........sq.~......w.....t..stdl
1b3e0 69 62 2e 68 78 71 00 7e 04 25 74 00 09 76 6f 69 64 20 2a 70 74 72 74 00 04 76 6f 69 64 74 00 0b ib.hxq.~.%t..void.*ptrt..voidt..
1b400 63 66 73 65 74 69 73 70 65 65 64 73 71 00 7e 00 0a 70 74 01 17 0a 20 20 20 20 20 20 20 20 54 68 cfsetispeedsq.~..pt...........Th
1b420 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 73 20 3c 56 41 52 3e 73 70 65 65 64 3c 2f 56 is.function.stores.<VAR>speed</V
1b440 41 52 3e 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 3c 2f 56 41 AR>.in.<CODE>*<VAR>termios-p</VA
1b460 52 3e 3c 2f 43 4f 44 45 3e 20 61 73 20 74 68 65 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 R></CODE>.as.the.input..........
1b480 73 70 65 65 64 2e 20 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 speed...The.normal.return.value.
1b4a0 69 73 20 30 3b 20 61 20 76 61 6c 75 65 20 6f 66 20 2d 31 0a 20 20 20 20 20 20 20 20 20 69 6e 64 is.0;.a.value.of.-1..........ind
1b4c0 69 63 61 74 65 73 20 61 6e 20 65 72 72 6f 72 2e 20 20 49 66 20 3c 56 41 52 3e 73 70 65 65 64 3c icates.an.error...If.<VAR>speed<
1b4e0 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 73 70 65 65 64 2c 20 3c 43 4f 44 45 3e 63 66 73 65 /VAR>.is.not.a.speed,.<CODE>cfse
1b500 74 6f 73 70 65 65 64 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 tospeed</CODE>..........returns.
1b520 2d 31 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 74 -1..........sq.~......w.....t..t
1b540 65 72 6d 69 6f 73 2e 68 78 71 00 7e 04 2c 74 00 28 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 ermios.hxq.~.,t.(struct.termios.
1b560 2a 74 65 72 6d 69 6f 73 2d 70 2c 20 73 70 65 65 64 5f 74 20 73 70 65 65 64 74 00 03 69 6e 74 74 *termios-p,.speed_t.speedt..intt
1b580 00 0b 63 66 73 65 74 6f 73 70 65 65 64 73 71 00 7e 00 0a 70 74 01 18 0a 20 20 20 20 20 20 20 20 ..cfsetospeedsq.~..pt...........
1b5a0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 73 20 3c 56 41 52 3e 73 70 65 65 64 3c This.function.stores.<VAR>speed<
1b5c0 2f 56 41 52 3e 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 3c 2f /VAR>.in.<CODE>*<VAR>termios-p</
1b5e0 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 73 20 74 68 65 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 VAR></CODE>.as.the.output.......
1b600 20 20 20 73 70 65 65 64 2e 20 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 61 6c ...speed...The.normal.return.val
1b620 75 65 20 69 73 20 30 3b 20 61 20 76 61 6c 75 65 20 6f 66 20 2d 31 0a 20 20 20 20 20 20 20 20 20 ue.is.0;.a.value.of.-1..........
1b640 69 6e 64 69 63 61 74 65 73 20 61 6e 20 65 72 72 6f 72 2e 20 20 49 66 20 3c 56 41 52 3e 73 70 65 indicates.an.error...If.<VAR>spe
1b660 65 64 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 73 70 65 65 64 2c 20 3c 43 4f 44 45 3e 63 ed</VAR>.is.not.a.speed,.<CODE>c
1b680 66 73 65 74 6f 73 70 65 65 64 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 fsetospeed</CODE>..........retur
1b6a0 6e 73 20 2d 31 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 ns.-1..........sq.~......w.....t
1b6c0 00 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e 04 33 74 00 28 73 74 72 75 63 74 20 74 65 72 6d 69 ..termios.hxq.~.3t.(struct.termi
1b6e0 6f 73 20 2a 74 65 72 6d 69 6f 73 2d 70 2c 20 73 70 65 65 64 5f 74 20 73 70 65 65 64 74 00 03 69 os.*termios-p,.speed_t.speedt..i
1b700 6e 74 74 00 0a 63 66 73 65 74 73 70 65 65 64 73 71 00 7e 00 0a 70 74 01 5b 0a 20 20 20 20 20 20 ntt..cfsetspeedsq.~..pt.[.......
1b720 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 73 20 3c 56 41 52 3e 73 70 65 65 ..This.function.stores.<VAR>spee
1b740 64 3c 2f 56 41 52 3e 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 d</VAR>.in.<CODE>*<VAR>termios-p
1b760 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 73 20 62 6f 74 68 20 74 68 65 0a 20 20 20 20 20 20 </VAR></CODE>.as.both.the.......
1b780 20 20 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70 75 74 20 73 70 65 65 64 73 2e 20 20 54 68 65 ...input.and.output.speeds...The
1b7a0 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 30 3b 20 61 20 76 61 6c .normal.return.value.is.0;.a.val
1b7c0 75 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 2d 31 20 69 6e 64 69 63 61 74 65 73 20 61 6e 20 65 ue..........of.-1.indicates.an.e
1b7e0 72 72 6f 72 2e 20 20 49 66 20 3c 56 41 52 3e 73 70 65 65 64 3c 2f 56 41 52 3e 20 69 73 20 6e 6f rror...If.<VAR>speed</VAR>.is.no
1b800 74 20 61 20 73 70 65 65 64 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 63 66 73 65 74 73 t.a.speed,..........<CODE>cfsets
1b820 70 65 65 64 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 2d 31 2e 20 20 54 68 69 73 20 66 75 peed</CODE>.returns.-1...This.fu
1b840 6e 63 74 69 6f 6e 20 69 73 20 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20 69 6e 0a 20 20 20 20 20 20 nction.is.an.extension.in.......
1b860 20 20 20 34 2e 34 20 42 53 44 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ...4.4.BSD..........sq.~......w.
1b880 00 00 00 0a 74 00 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e 04 3a 74 00 28 73 74 72 75 63 74 20 ....t..termios.hxq.~.:t.(struct.
1b8a0 74 65 72 6d 69 6f 73 20 2a 74 65 72 6d 69 6f 73 2d 70 2c 20 73 70 65 65 64 5f 74 20 73 70 65 65 termios.*termios-p,.speed_t.spee
1b8c0 64 74 00 03 69 6e 74 74 00 05 63 68 64 69 72 73 71 00 7e 00 0a 70 74 01 eb 0a 20 20 20 20 20 20 dt..intt..chdirsq.~..pt.........
1b8e0 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 ..This.function.is.used.to.set.t
1b900 68 65 20 70 72 6f 63 65 73 73 27 73 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 74 he.process's.working.directory.t
1b920 6f 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a o..........<VAR>filename</VAR>..
1b940 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d 61 6c 2c 20 73 75 .........<br><br>.The.normal,.su
1b960 63 63 65 73 73 66 75 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 ccessful.return.value.from.<CODE
1b980 3e 63 68 64 69 72 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e >chdir</CODE>.is.<CODE>0</CODE>.
1b9a0 20 20 41 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f ..A..........value.of.<CODE>-1</
1b9c0 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 6e CODE>.is.returned.to.indicate.an
1b9e0 20 65 72 72 6f 72 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 0a .error...The.<CODE>errno</CODE>.
1ba00 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 64 65 66 69 6e 65 .........error.conditions.define
1ba20 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 74 68 65 20 75 73 75 61 d.for.this.function.are.the.usua
1ba40 6c 20 66 69 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 73 79 6e 74 61 78 20 65 72 72 6f l.file.name..........syntax.erro
1ba60 72 73 20 2c 20 70 6c 75 73 20 3c 43 4f 44 45 3e 45 4e 4f 54 44 49 52 3c 2f 43 4f 44 45 3e 20 69 rs.,.plus.<CODE>ENOTDIR</CODE>.i
1ba80 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d f.the..........file.<VAR>filenam
1baa0 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2e 0a 20 20 20 20 e</VAR>.is.not.a.directory......
1bac0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 ....sq.~......w.....t..unistd.hx
1bae0 71 00 7e 04 41 74 00 14 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 74 00 03 69 q.~.At..const.char.*filenamet..i
1bb00 6e 74 74 00 05 63 68 6d 6f 64 73 71 00 7e 00 0a 70 74 06 c1 0a 20 20 20 20 20 20 20 20 54 68 65 ntt..chmodsq.~..pt...........The
1bb20 20 3c 43 4f 44 45 3e 63 68 6d 6f 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 .<CODE>chmod</CODE>.function.set
1bb40 73 20 74 68 65 20 61 63 63 65 73 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 62 69 74 73 20 66 6f 72 s.the.access.permission.bits.for
1bb60 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 .the.file..........named.by.<VAR
1bb80 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 74 6f 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 >filename</VAR>.to.<VAR>mode</VA
1bba0 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 66 69 R>...........<br><br>.If.<VAR>fi
1bbc0 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 2c lename</VAR>.is.a.symbolic.link,
1bbe0 20 3c 43 4f 44 45 3e 63 68 6d 6f 64 3c 2f 43 4f 44 45 3e 20 63 68 61 6e 67 65 73 20 74 68 65 0a .<CODE>chmod</CODE>.changes.the.
1bc00 20 20 20 20 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 66 69 6c 65 .........permissions.of.the.file
1bc20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 6c 69 6e 6b 2c 20 6e 6f 74 20 74 68 6f .pointed.to.by.the.link,.not.tho
1bc40 73 65 20 6f 66 20 74 68 65 20 6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 20 69 74 73 65 6c 66 2e 0a se.of.the.link..........itself..
1bc60 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .........<br><br>.This.function.
1bc80 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 73 75 63 63 65 73 returns.<CODE>0</CODE>.if.succes
1bca0 73 66 75 6c 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 66 20 6e 6f 74 2e sful.and.<CODE>-1</CODE>.if.not.
1bcc0 20 20 49 6e 0a 20 20 20 20 20 20 20 20 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 ..In..........addition.to.the.us
1bce0 75 61 6c 20 66 69 6c 65 20 6e 61 6d 65 20 65 72 72 6f 72 73 20 2c 20 74 68 65 20 66 6f 6c 6c 6f ual.file.name.errors.,.the.follo
1bd00 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f wing.<CODE>errno</CODE>.error.co
1bd20 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 nditions.are.defined.for........
1bd40 20 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ..this.function:..........<br><b
1bd60 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 45 r>.<DL>...........<DT><CODE>ENOE
1bd80 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6e 61 6d 65 NT</CODE>.<DD>..........The.name
1bda0 64 20 66 69 6c 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c d.file.doesn't.exist...........<
1bdc0 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 0a 20 20 20 20 20 20 20 20 br><br>.<DT><CODE>EPERM.........
1bde0 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 70 65 72 6d .This.process.does.not.have.perm
1be00 69 73 73 69 6f 6e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 63 65 73 73 20 70 65 72 6d ission.to.change.the.access.perm
1be20 69 73 73 69 6f 6e 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 6f 66 20 issions</CODE>.<DD>..........of.
1be40 74 68 69 73 20 66 69 6c 65 2e 20 20 4f 6e 6c 79 20 74 68 65 20 66 69 6c 65 27 73 20 6f 77 6e 65 this.file...Only.the.file's.owne
1be60 72 20 28 61 73 20 6a 75 64 67 65 64 20 62 79 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 75 73 r.(as.judged.by.the.effective.us
1be80 65 72 20 49 44 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 29 20 6f er.ID..........of.the.process).o
1bea0 72 20 61 20 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 20 63 61 6e 20 63 68 61 6e 67 65 20 74 r.a.privileged.user.can.change.t
1bec0 68 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 hem...........<br><br>.<DT><CODE
1bee0 3e 45 52 4f 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 >EROFS</CODE>.<DD>..........The.
1bf00 66 69 6c 65 20 72 65 73 69 64 65 73 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c 65 file.resides.on.a.read-only.file
1bf20 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c .system...........<br><br>.<DT><
1bf40 43 4f 44 45 3e 45 46 54 59 50 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 CODE>EFTYPE</CODE>.<DD>.........
1bf60 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 68 61 73 20 74 68 65 20 3c 43 4f 44 45 3e 53 .<VAR>mode</VAR>.has.the.<CODE>S
1bf80 5f 49 53 56 54 58 3c 2f 43 4f 44 45 3e 20 62 69 74 20 28 74 68 65 20 60 60 73 74 69 63 6b 79 20 _ISVTX</CODE>.bit.(the.``sticky.
1bfa0 62 69 74 27 27 29 20 73 65 74 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 6e 61 6d bit'').set,..........and.the.nam
1bfc0 65 64 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2e 20 20 53 6f 6d ed.file.is.not.a.directory...Som
1bfe0 65 20 73 79 73 74 65 6d 73 20 64 6f 20 6e 6f 74 20 61 6c 6c 6f 77 20 73 65 74 74 69 6e 67 20 74 e.systems.do.not.allow.setting.t
1c000 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 69 63 6b 79 20 62 69 74 20 6f 6e 20 6e 6f 6e 2d 64 69 he..........sticky.bit.on.non-di
1c020 72 65 63 74 6f 72 79 20 66 69 6c 65 73 2c 20 61 6e 64 20 73 6f 6d 65 20 64 6f 20 28 61 6e 64 20 rectory.files,.and.some.do.(and.
1c040 6f 6e 6c 79 20 73 6f 6d 65 20 6f 66 20 74 68 6f 73 65 0a 20 20 20 20 20 20 20 20 20 61 73 73 69 only.some.of.those..........assi
1c060 67 6e 20 61 20 75 73 65 66 75 6c 20 6d 65 61 6e 69 6e 67 20 74 6f 20 74 68 65 20 62 69 74 20 66 gn.a.useful.meaning.to.the.bit.f
1c080 6f 72 20 6e 6f 6e 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 73 29 2e 0a 20 20 20 20 20 20 20 or.non-directory.files).........
1c0a0 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 6f 6e 6c 79 20 67 65 74 20 3c 43 4f 44 45 3e 45 46 ..<br><br>.You.only.get.<CODE>EF
1c0c0 54 59 50 45 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 79 73 74 65 6d 73 20 77 68 65 72 65 20 74 68 65 TYPE</CODE>.on.systems.where.the
1c0e0 20 73 74 69 63 6b 79 20 62 69 74 20 68 61 73 20 6e 6f 20 75 73 65 66 75 6c 0a 20 20 20 20 20 20 .sticky.bit.has.no.useful.......
1c100 20 20 20 6d 65 61 6e 69 6e 67 20 66 6f 72 20 6e 6f 6e 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c ...meaning.for.non-directory.fil
1c120 65 73 2c 20 73 6f 20 69 74 20 69 73 20 61 6c 77 61 79 73 20 73 61 66 65 20 74 6f 20 6a 75 73 74 es,.so.it.is.always.safe.to.just
1c140 20 63 6c 65 61 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 69 74 20 69 6e 20 3c 56 41 52 3e .clear.the..........bit.in.<VAR>
1c160 6d 6f 64 65 3c 2f 56 41 52 3e 20 61 6e 64 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 63 68 6d 6f 64 3c mode</VAR>.and.call.<CODE>chmod<
1c180 2f 43 4f 44 45 3e 20 61 67 61 69 6e 2e 20 20 2c 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 66 75 /CODE>.again...,..........for.fu
1c1a0 6c 6c 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 65 20 73 74 69 63 6b 79 20 62 69 74 2e 0a 20 20 ll.details.on.the.sticky.bit....
1c1c0 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 .......</DL>.........sq.~......w
1c1e0 04 00 00 00 0a 74 00 0a 73 79 73 2f 73 74 61 74 2e 68 78 71 00 7e 04 48 74 00 21 63 6f 6e 73 74 .....t..sys/stat.hxq.~.Ht.!const
1c200 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 6d 6f 64 65 5f 74 20 6d 6f 64 65 74 00 03 69 .char.*filename,.mode_t.modet..i
1c220 6e 74 74 00 05 63 68 6f 77 6e 73 71 00 7e 00 0a 70 74 05 c0 0a 20 20 20 20 20 20 20 20 54 68 65 ntt..chownsq.~..pt...........The
1c240 20 3c 43 4f 44 45 3e 63 68 6f 77 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 68 61 .<CODE>chown</CODE>.function.cha
1c260 6e 67 65 73 20 74 68 65 20 6f 77 6e 65 72 20 6f 66 20 74 68 65 20 66 69 6c 65 20 3c 56 41 52 3e nges.the.owner.of.the.file.<VAR>
1c280 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e filename</VAR>.to..........<VAR>
1c2a0 6f 77 6e 65 72 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 69 74 73 20 67 72 6f 75 70 20 6f 77 6e 65 72 owner</VAR>,.and.its.group.owner
1c2c0 20 74 6f 20 3c 56 41 52 3e 67 72 6f 75 70 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c .to.<VAR>group</VAR>...........<
1c2e0 62 72 3e 3c 62 72 3e 20 43 68 61 6e 67 69 6e 67 20 74 68 65 20 6f 77 6e 65 72 20 6f 66 20 74 68 br><br>.Changing.the.owner.of.th
1c300 65 20 66 69 6c 65 20 6f 6e 20 63 65 72 74 61 69 6e 20 73 79 73 74 65 6d 73 20 63 6c 65 61 72 73 e.file.on.certain.systems.clears
1c320 20 74 68 65 20 73 65 74 2d 75 73 65 72 2d 49 44 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 73 65 .the.set-user-ID..........and.se
1c340 74 2d 67 72 6f 75 70 2d 49 44 20 70 65 72 6d 69 73 73 69 6f 6e 20 62 69 74 73 2e 20 20 28 54 68 t-group-ID.permission.bits...(Th
1c360 69 73 20 69 73 20 62 65 63 61 75 73 65 20 74 68 6f 73 65 20 62 69 74 73 20 6d 61 79 20 6e 6f 74 is.is.because.those.bits.may.not
1c380 0a 20 20 20 20 20 20 20 20 20 62 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 74 68 65 ..........be.appropriate.for.the
1c3a0 20 6e 65 77 20 6f 77 6e 65 72 2e 29 20 20 4f 74 68 65 72 20 66 69 6c 65 20 70 65 72 6d 69 73 73 .new.owner.)..Other.file.permiss
1c3c0 69 6f 6e 20 62 69 74 73 20 61 72 65 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 ion.bits.are.not..........change
1c3e0 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 d...........<br><br>.The.return.
1c400 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 value.is.<CODE>0</CODE>.on.succe
1c420 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 ss.and.<CODE>-1</CODE>.on.failur
1c440 65 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 e...........In.addition.to.the.u
1c460 73 75 61 6c 20 66 69 6c 65 20 6e 61 6d 65 20 65 72 72 6f 72 73 20 2c 0a 20 20 20 20 20 20 20 20 sual.file.name.errors.,.........
1c480 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 .the.following.<CODE>errno</CODE
1c4a0 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 >.error.conditions.are.defined.f
1c4c0 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c or.this.function:..........<br><
1c4e0 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 br>.<DL>...........<DT><CODE>EPE
1c500 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 70 72 6f RM</CODE>.<DD>..........This.pro
1c520 63 65 73 73 20 6c 61 63 6b 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6d 61 6b 65 20 74 68 cess.lacks.permission.to.make.th
1c540 65 20 72 65 71 75 65 73 74 65 64 20 63 68 61 6e 67 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 e.requested.change...........<br
1c560 3e 3c 62 72 3e 20 4f 6e 6c 79 20 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 73 20 6f 72 20 74 ><br>.Only.privileged.users.or.t
1c580 68 65 20 66 69 6c 65 27 73 20 6f 77 6e 65 72 20 63 61 6e 20 63 68 61 6e 67 65 20 74 68 65 20 66 he.file's.owner.can.change.the.f
1c5a0 69 6c 65 27 73 20 67 72 6f 75 70 2e 0a 20 20 20 20 20 20 20 20 20 4f 6e 20 6d 6f 73 74 20 66 69 ile's.group...........On.most.fi
1c5c0 6c 65 20 73 79 73 74 65 6d 73 2c 20 6f 6e 6c 79 20 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 le.systems,.only.privileged.user
1c5e0 73 20 63 61 6e 20 63 68 61 6e 67 65 20 74 68 65 20 66 69 6c 65 20 6f 77 6e 65 72 3b 0a 20 20 20 s.can.change.the.file.owner;....
1c600 20 20 20 20 20 20 73 6f 6d 65 20 66 69 6c 65 20 73 79 73 74 65 6d 73 20 61 6c 6c 6f 77 20 79 6f ......some.file.systems.allow.yo
1c620 75 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 6f 77 6e 65 72 20 69 66 20 79 6f 75 20 61 72 65 u.to.change.the.owner.if.you.are
1c640 20 63 75 72 72 65 6e 74 6c 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 77 6e 65 72 2e 20 20 .currently.the..........owner...
1c660 57 68 65 6e 20 79 6f 75 20 61 63 63 65 73 73 20 61 20 72 65 6d 6f 74 65 20 66 69 6c 65 20 73 79 When.you.access.a.remote.file.sy
1c680 73 74 65 6d 2c 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 79 6f 75 20 65 6e 63 6f 75 6e 74 65 72 stem,.the.behavior.you.encounter
1c6a0 0a 20 20 20 20 20 20 20 20 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 73 ..........is.determined.by.the.s
1c6c0 79 73 74 65 6d 20 74 68 61 74 20 61 63 74 75 61 6c 6c 79 20 68 6f 6c 64 73 20 74 68 65 20 66 69 ystem.that.actually.holds.the.fi
1c6e0 6c 65 2c 20 6e 6f 74 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 20 79 le,.not.by.the..........system.y
1c700 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 73 20 72 75 6e 6e 69 6e 67 20 6f 6e 2e 0a 20 20 20 20 20 our.program.is.running.on.......
1c720 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 2c 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 ....<br><br>.,.for.information.a
1c740 62 6f 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 5f 50 4f 53 49 58 5f 43 bout.the..........<CODE>_POSIX_C
1c760 48 4f 57 4e 5f 52 45 53 54 52 49 43 54 45 44 3c 2f 43 4f 44 45 3e 20 6d 61 63 72 6f 2e 0a 20 20 HOWN_RESTRICTED</CODE>.macro....
1c780 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 4f 46 53 3c .......<br><br>.<DT><CODE>EROFS<
1c7a0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 69 73 /CODE>.<DD>..........The.file.is
1c7c0 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c 65 20 73 79 73 74 65 6d 2e 0a 20 20 20 .on.a.read-only.file.system.....
1c7e0 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ......</DL>.........sq.~......w.
1c800 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 04 4f 74 00 2e 63 6f 6e 73 74 20 63 68 ....t..unistd.hxq.~.Ot..const.ch
1c820 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 75 69 64 5f 74 20 6f 77 6e 65 72 2c 20 67 69 64 5f 74 ar.*filename,.uid_t.owner,.gid_t
1c840 20 67 72 6f 75 70 74 00 03 69 6e 74 74 00 05 63 69 6d 61 67 73 71 00 7e 00 0a 70 74 00 5f 0a 20 .groupt..intt..cimagsq.~..pt._..
1c860 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 .......These.functions.return.th
1c880 65 20 69 6d 61 67 69 6e 61 72 79 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 e.imaginary.part.of.the.complex.
1c8a0 6e 75 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 number.<VAR>z</VAR>..........sq.
1c8c0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 56 74 ~......w.....t..complex.hxq.~.Vt
1c8e0 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 06 64 6f 75 62 6c 65 74 00 06 63 69 ..complex.double.zt..doublet..ci
1c900 6d 61 67 66 73 71 00 7e 00 0a 70 74 00 5f 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e magfsq.~..pt._.........These.fun
1c920 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 69 6d 61 67 69 6e 61 72 79 20 70 61 72 74 ctions.return.the.imaginary.part
1c940 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 .of.the.complex.number.<VAR>z</V
1c960 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 AR>..........sq.~......w.....t..
1c980 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 5d 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 complex.hxq.~.]t..complex.float.
1c9a0 7a 74 00 05 66 6c 6f 61 74 74 00 06 63 69 6d 61 67 6c 73 71 00 7e 00 0a 70 74 00 5f 0a 20 20 20 zt..floatt..cimaglsq.~..pt._....
1c9c0 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 .....These.functions.return.the.
1c9e0 69 6d 61 67 69 6e 61 72 79 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 6e 75 imaginary.part.of.the.complex.nu
1ca00 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 mber.<VAR>z</VAR>..........sq.~.
1ca20 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 64 74 00 15 .....w.....t..complex.hxq.~.dt..
1ca40 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 0b 6c 6f 6e 67 20 64 6f 75 complex.long.double.zt..long.dou
1ca60 62 6c 65 74 00 08 63 6c 65 61 72 65 6e 76 73 71 00 7e 00 0a 70 74 01 44 0a 20 20 20 20 20 20 20 blet..clearenvsq.~..pt.D........
1ca80 20 54 68 65 20 3c 43 4f 44 45 3e 63 6c 65 61 72 65 6e 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 .The.<CODE>clearenv</CODE>.funct
1caa0 69 6f 6e 20 72 65 6d 6f 76 65 73 20 61 6c 6c 20 65 6e 74 72 69 65 73 20 66 72 6f 6d 20 74 68 65 ion.removes.all.entries.from.the
1cac0 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 55 73 69 6e 67 20 3c 43 4f .environment...........Using.<CO
1cae0 44 45 3e 70 75 74 65 6e 76 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 73 65 74 65 6e DE>putenv</CODE>.and.<CODE>seten
1cb00 76 3c 2f 43 4f 44 45 3e 20 6e 65 77 20 65 6e 74 72 69 65 73 20 63 61 6e 20 62 65 20 61 64 64 65 v</CODE>.new.entries.can.be.adde
1cb20 64 20 61 67 61 69 6e 0a 20 20 20 20 20 20 20 20 20 6c 61 74 65 72 2e 0a 20 20 20 20 20 20 20 20 d.again..........later..........
1cb40 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 75 63 .<br><br>.If.the.function.is.suc
1cb60 63 65 73 73 66 75 6c 20 69 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 cessful.it.returns.<CODE>0</CODE
1cb80 3e 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 >...Otherwise.the.return........
1cba0 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e ..value.is.nonzero..........sq.~
1cbc0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 04 6b 74 00 04 ......w.....t..stdlib.hxq.~.kt..
1cbe0 76 6f 69 64 74 00 03 69 6e 74 74 00 08 63 6c 65 61 72 65 72 72 73 71 00 7e 00 0a 70 74 00 e6 0a voidt..intt..clearerrsq.~..pt...
1cc00 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 73 20 74 68 65 ........This.function.clears.the
1cc20 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 20 61 6e 64 20 65 72 72 6f 72 20 69 6e 64 69 63 61 74 6f 72 .end-of-file.and.error.indicator
1cc40 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 s.for.the..........stream.<VAR>s
1cc60 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 tream</VAR>...........<br><br>.T
1cc80 68 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 20 61 he.file.positioning.functions..a
1cca0 6c 73 6f 20 63 6c 65 61 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 6e 64 2d 6f 66 2d 66 69 lso.clear.the..........end-of-fi
1ccc0 6c 65 20 69 6e 64 69 63 61 74 6f 72 20 66 6f 72 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 le.indicator.for.the.stream.....
1cce0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 .....sq.~......w.....t..stdio.hx
1cd00 71 00 7e 04 72 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 04 76 6f 69 64 74 00 11 63 6c q.~.rt..FILE.*streamt..voidt..cl
1cd20 65 61 72 65 72 72 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 e2 0a 20 20 20 20 20 20 earerr_unlockedsq.~..pt.........
1cd40 20 20 54 68 65 20 3c 43 4f 44 45 3e 63 6c 65 61 72 65 72 72 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 ..The.<CODE>clearerr_unlocked</C
1cd60 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 ODE>.function.is.equivalent.to.t
1cd80 68 65 20 3c 43 4f 44 45 3e 63 6c 65 61 72 65 72 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 he.<CODE>clearerr</CODE>........
1cda0 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e ..function.except.that.it.does.n
1cdc0 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 ot.implicitly.lock.the.stream...
1cde0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ........<br><br>.This.function.i
1ce00 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 s.a.GNU.extension..........sq.~.
1ce20 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 04 79 74 00 0c 46 49 .....w.....t..stdio.hxq.~.yt..FI
1ce40 4c 45 20 2a 73 74 72 65 61 6d 74 00 04 76 6f 69 64 74 00 05 63 6c 6f 63 6b 73 71 00 7e 00 0a 70 LE.*streamt..voidt..clocksq.~..p
1ce60 74 00 dd 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e t...........This.function.return
1ce80 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 63 75 72 72 65 6e 74 20 43 s.the.calling.process'.current.C
1cea0 50 55 20 74 69 6d 65 2e 20 20 49 66 20 74 68 65 20 43 50 55 0a 20 20 20 20 20 20 20 20 20 74 69 PU.time...If.the.CPU..........ti
1cec0 6d 65 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 72 20 63 61 6e 6e 6f 74 20 62 65 me.is.not.available.or.cannot.be
1cee0 20 72 65 70 72 65 73 65 6e 74 65 64 2c 20 3c 43 4f 44 45 3e 63 6c 6f 63 6b 3c 2f 43 4f 44 45 3e .represented,.<CODE>clock</CODE>
1cf00 20 72 65 74 75 72 6e 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3c 43 4f 44 .returns.the..........value.<COD
1cf20 45 3e 28 63 6c 6f 63 6b 5f 74 29 28 2d 31 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 E>(clock_t)(-1)</CODE>..........
1cf40 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 74 69 6d 65 2e 68 74 00 06 sq.~......w.....t..sys/time.ht..
1cf60 74 69 6d 65 2e 68 78 71 00 7e 04 80 74 00 04 76 6f 69 64 74 00 07 63 6c 6f 63 6b 5f 74 74 00 04 time.hxq.~..t..voidt..clock_tt..
1cf80 63 6c 6f 67 73 71 00 7e 00 0a 70 74 01 b0 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e clogsq.~..pt...........These.fun
1cfa0 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 ctions.return.the.natural.logari
1cfc0 74 68 6d 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 thm.of.<VAR>z</VAR>...........Ma
1cfe0 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 thematically,.this.corresponds.t
1d000 6f 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 o.the.value..........<br><br>...
1d020 20 20 20 20 20 20 20 20 6c 6f 67 20 28 7a 29 20 3d 20 6c 6f 67 20 28 63 61 62 73 20 28 7a 29 29 ........log.(z).=.log.(cabs.(z))
1d040 20 2b 20 49 20 2a 20 63 61 72 67 20 28 7a 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 .+.I.*.carg.(z).................
1d060 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 .............<br><br>...........
1d080 3c 43 4f 44 45 3e 63 6c 6f 67 3c 2f 43 4f 44 45 3e 20 68 61 73 20 61 20 70 6f 6c 65 20 61 74 20 <CODE>clog</CODE>.has.a.pole.at.
1d0a0 30 2c 20 61 6e 64 20 77 69 6c 6c 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 0,.and.will.signal.overflow.if.<
1d0c0 56 41 52 3e 7a 3c 2f 56 41 52 3e 20 65 71 75 61 6c 73 0a 20 20 20 20 20 20 20 20 20 6f 72 20 69 VAR>z</VAR>.equals..........or.i
1d0e0 73 20 76 65 72 79 20 63 6c 6f 73 65 20 74 6f 20 30 2e 20 20 49 74 20 69 73 20 77 65 6c 6c 2d 64 s.very.close.to.0...It.is.well-d
1d100 65 66 69 6e 65 64 20 66 6f 72 20 61 6c 6c 20 6f 74 68 65 72 20 76 61 6c 75 65 73 20 6f 66 0a 20 efined.for.all.other.values.of..
1d120 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 ........<VAR>z</VAR>..........sq
1d140 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 88 .~......w.....t..complex.hxq.~..
1d160 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f t..complex.double.zt..complex.do
1d180 75 62 6c 65 74 00 06 63 6c 6f 67 31 30 73 71 00 7e 00 0a 70 74 01 28 0a 20 20 20 20 20 20 20 20 ublet..clog10sq.~..pt.(.........
1d1a0 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 62 61 73 65 20 These.functions.return.the.base.
1d1c0 31 30 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 76 61 6c 75 10.logarithm.of.the.complex.valu
1d1e0 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 4d 61 74 68 65 6d 61 e..........<VAR>z</VAR>..Mathema
1d200 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 tically,.this.corresponds.to.the
1d220 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 .value..........<br><br>........
1d240 20 20 20 6c 6f 67 20 28 7a 29 20 3d 20 6c 6f 67 31 30 20 28 63 61 62 73 20 28 7a 29 29 20 2b 20 ...log.(z).=.log10.(cabs.(z)).+.
1d260 49 20 2a 20 63 61 72 67 20 28 7a 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 I.*.carg.(z)....................
1d280 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f ..........<br><br>.These.functio
1d2a0 6e 73 20 61 72 65 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 73 ns.are.GNU.extensions..........s
1d2c0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 q.~......w.....t..complex.hxq.~.
1d2e0 8f 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 .t..complex.double.zt..complex.d
1d300 6f 75 62 6c 65 74 00 07 63 6c 6f 67 31 30 66 73 71 00 7e 00 0a 70 74 01 28 0a 20 20 20 20 20 20 oublet..clog10fsq.~..pt.(.......
1d320 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 62 61 73 ..These.functions.return.the.bas
1d340 65 20 31 30 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 76 61 e.10.logarithm.of.the.complex.va
1d360 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 4d 61 74 68 65 lue..........<VAR>z</VAR>..Mathe
1d380 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 matically,.this.corresponds.to.t
1d3a0 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 he.value..........<br><br>......
1d3c0 20 20 20 20 20 6c 6f 67 20 28 7a 29 20 3d 20 6c 6f 67 31 30 20 28 63 61 62 73 20 28 7a 29 29 20 .....log.(z).=.log10.(cabs.(z)).
1d3e0 2b 20 49 20 2a 20 63 61 72 67 20 28 7a 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 +.I.*.carg.(z)..................
1d400 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 66 75 6e 63 74 ............<br><br>.These.funct
1d420 69 6f 6e 73 20 61 72 65 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 ions.are.GNU.extensions.........
1d440 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 .sq.~......w.....t..complex.hxq.
1d460 7e 04 96 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 ~..t..complex.float.zt..complex.
1d480 66 6c 6f 61 74 74 00 07 63 6c 6f 67 31 30 6c 73 71 00 7e 00 0a 70 74 01 28 0a 20 20 20 20 20 20 floatt..clog10lsq.~..pt.(.......
1d4a0 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 62 61 73 ..These.functions.return.the.bas
1d4c0 65 20 31 30 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 76 61 e.10.logarithm.of.the.complex.va
1d4e0 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 4d 61 74 68 65 lue..........<VAR>z</VAR>..Mathe
1d500 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 matically,.this.corresponds.to.t
1d520 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 he.value..........<br><br>......
1d540 20 20 20 20 20 6c 6f 67 20 28 7a 29 20 3d 20 6c 6f 67 31 30 20 28 63 61 62 73 20 28 7a 29 29 20 .....log.(z).=.log10.(cabs.(z)).
1d560 2b 20 49 20 2a 20 63 61 72 67 20 28 7a 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 +.I.*.carg.(z)..................
1d580 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 66 75 6e 63 74 ............<br><br>.These.funct
1d5a0 69 6f 6e 73 20 61 72 65 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 ions.are.GNU.extensions.........
1d5c0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 .sq.~......w.....t..complex.hxq.
1d5e0 7e 04 9d 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 13 63 6f ~..t..complex.long.double.zt..co
1d600 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 63 6c 6f 67 66 73 71 00 7e 00 0a 70 mplex.long.doublet..clogfsq.~..p
1d620 74 01 b0 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 t...........These.functions.retu
1d640 72 6e 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 3c 56 41 52 rn.the.natural.logarithm.of.<VAR
1d660 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c >z</VAR>...........Mathematicall
1d680 79 2c 20 74 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 76 61 6c 75 65 y,.this.corresponds.to.the.value
1d6a0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 6c 6f 67 ..........<br><br>...........log
1d6c0 20 28 7a 29 20 3d 20 6c 6f 67 20 28 63 61 62 73 20 28 7a 29 29 20 2b 20 49 20 2a 20 63 61 72 67 .(z).=.log.(cabs.(z)).+.I.*.carg
1d6e0 20 28 7a 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 .(z)............................
1d700 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 63 6c 6f 67 3c ..<br><br>...........<CODE>clog<
1d720 2f 43 4f 44 45 3e 20 68 61 73 20 61 20 70 6f 6c 65 20 61 74 20 30 2c 20 61 6e 64 20 77 69 6c 6c /CODE>.has.a.pole.at.0,.and.will
1d740 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e .signal.overflow.if.<VAR>z</VAR>
1d760 20 65 71 75 61 6c 73 0a 20 20 20 20 20 20 20 20 20 6f 72 20 69 73 20 76 65 72 79 20 63 6c 6f 73 .equals..........or.is.very.clos
1d780 65 20 74 6f 20 30 2e 20 20 49 74 20 69 73 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 66 6f 72 20 e.to.0...It.is.well-defined.for.
1d7a0 61 6c 6c 20 6f 74 68 65 72 20 76 61 6c 75 65 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 all.other.values.of..........<VA
1d7c0 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 R>z</VAR>..........sq.~......w..
1d7e0 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 a4 74 00 0f 63 6f 6d 70 6c 65 78 20 ...t..complex.hxq.~..t..complex.
1d800 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 74 00 05 63 6c 6f 67 6c 73 float.zt..complex.floatt..clogls
1d820 71 00 7e 00 0a 70 74 01 b0 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt...........These.function
1d840 73 20 72 65 74 75 72 6e 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f s.return.the.natural.logarithm.o
1d860 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 f.<VAR>z</VAR>...........Mathema
1d880 74 69 63 61 6c 6c 79 2c 20 74 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 tically,.this.corresponds.to.the
1d8a0 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 .value..........<br><br>........
1d8c0 20 20 20 6c 6f 67 20 28 7a 29 20 3d 20 6c 6f 67 20 28 63 61 62 73 20 28 7a 29 29 20 2b 20 49 20 ...log.(z).=.log.(cabs.(z)).+.I.
1d8e0 2a 20 63 61 72 67 20 28 7a 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 *.carg.(z)......................
1d900 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 ........<br><br>...........<CODE
1d920 3e 63 6c 6f 67 3c 2f 43 4f 44 45 3e 20 68 61 73 20 61 20 70 6f 6c 65 20 61 74 20 30 2c 20 61 6e >clog</CODE>.has.a.pole.at.0,.an
1d940 64 20 77 69 6c 6c 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 7a d.will.signal.overflow.if.<VAR>z
1d960 3c 2f 56 41 52 3e 20 65 71 75 61 6c 73 0a 20 20 20 20 20 20 20 20 20 6f 72 20 69 73 20 76 65 72 </VAR>.equals..........or.is.ver
1d980 79 20 63 6c 6f 73 65 20 74 6f 20 30 2e 20 20 49 74 20 69 73 20 77 65 6c 6c 2d 64 65 66 69 6e 65 y.close.to.0...It.is.well-define
1d9a0 64 20 66 6f 72 20 61 6c 6c 20 6f 74 68 65 72 20 76 61 6c 75 65 73 20 6f 66 0a 20 20 20 20 20 20 d.for.all.other.values.of.......
1d9c0 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ...<VAR>z</VAR>..........sq.~...
1d9e0 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 ab 74 00 15 63 6f ...w.....t..complex.hxq.~..t..co
1da00 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f mplex.long.double.zt..complex.lo
1da20 6e 67 20 64 6f 75 62 6c 65 74 00 05 63 6c 6f 73 65 73 71 00 7e 00 0a 70 74 08 c8 0a 20 20 20 20 ng.doublet..closesq.~..pt.......
1da40 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 3c 2f 43 4f ....The.function.<CODE>close</CO
1da60 44 45 3e 20 63 6c 6f 73 65 73 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c DE>.closes.the.file.descriptor.<
1da80 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 43 6c 6f 73 VAR>filedes</VAR>...........Clos
1daa0 69 6e 67 20 61 20 66 69 6c 65 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e ing.a.file.has.the.following.con
1dac0 73 65 71 75 65 6e 63 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4f 4c sequences:..........<br><br>.<OL
1dae0 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6c >..........<LI>..........The.fil
1db00 65 20 64 65 73 63 72 69 70 74 6f 72 20 69 73 20 64 65 61 6c 6c 6f 63 61 74 65 64 2e 0a 20 20 20 e.descriptor.is.deallocated.....
1db20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 6e 79 ......<br><br>.<LI>..........Any
1db40 20 72 65 63 6f 72 64 20 6c 6f 63 6b 73 20 6f 77 6e 65 64 20 62 79 20 74 68 65 20 70 72 6f 63 65 .record.locks.owned.by.the.proce
1db60 73 73 20 6f 6e 20 74 68 65 20 66 69 6c 65 20 61 72 65 20 75 6e 6c 6f 63 6b 65 64 2e 0a 20 20 20 ss.on.the.file.are.unlocked.....
1db80 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 57 68 65 ......<br><br>.<LI>..........Whe
1dba0 6e 20 61 6c 6c 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 61 73 73 6f 63 69 61 74 65 n.all.file.descriptors.associate
1dbc0 64 20 77 69 74 68 20 61 20 70 69 70 65 20 6f 72 20 46 49 46 4f 20 68 61 76 65 20 62 65 65 6e 20 d.with.a.pipe.or.FIFO.have.been.
1dbe0 63 6c 6f 73 65 64 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 79 20 75 6e 72 65 61 64 20 64 61 74 61 closed,..........any.unread.data
1dc00 20 69 73 20 64 69 73 63 61 72 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 .is.discarded...........</OL>...
1dc20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 .......<br><br>.This.function.is
1dc40 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 .a.cancellation.point.in.multi-t
1dc60 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 hreaded.programs...This.........
1dc80 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 61 6c 6c 6f .is.a.problem.if.the.thread.allo
1dca0 63 61 74 65 73 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 cates.some.resources.(like.memor
1dcc0 79 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 y,.file..........descriptors,.se
1dce0 6d 61 70 68 6f 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 68 65 20 74 69 6d maphores.or.whatever).at.the.tim
1dd00 65 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 e.<CODE>close</CODE>.is.........
1dd20 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 74 73 20 63 61 6e .called...If.the.thread.gets.can
1dd40 63 65 6c 65 64 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 20 61 6c 6c 6f 63 celed.these.resources.stay.alloc
1dd60 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 ated..........until.the.program.
1dd80 65 6e 64 73 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 2c 20 63 61 6c 6c 73 20 74 6f 20 3c ends...To.avoid.this,.calls.to.<
1dda0 43 4f 44 45 3e 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 CODE>close</CODE>.should.be.....
1ddc0 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 74 69 6f .....protected.using.cancellatio
1dde0 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 n.handlers...........<br><br>.Th
1de00 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 e.normal.return.value.from.<CODE
1de20 3e 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 20 69 73 20 30 3b 20 61 20 76 61 6c 75 65 20 6f 66 20 2d >close</CODE>.is.0;.a.value.of.-
1de40 31 0a 20 20 20 20 20 20 20 20 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 63 61 73 65 20 6f 1..........is.returned.in.case.o
1de60 66 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e f.failure...The.following.<CODE>
1de80 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 64 errno</CODE>.error..........cond
1dea0 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 itions.are.defined.for.this.func
1dec0 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 tion:..........<br><br>.<DL>....
1dee0 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 .......<DT><CODE>EBADF</CODE>.<D
1df00 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 D>..........The.<VAR>filedes</VA
1df20 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 R>.argument.is.not.a.valid.file.
1df40 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 descriptor...........<br><br>.<D
1df60 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 T><CODE>EINTR</CODE>.<DD>.......
1df80 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 77 ...The.<CODE>close</CODE>.call.w
1dfa0 61 73 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 20 61 20 73 69 67 6e 61 6c 2e 0a 20 20 20 20 as.interrupted.by.a.signal......
1dfc0 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 ................Here.is.an.examp
1dfe0 6c 65 20 6f 66 20 68 6f 77 20 74 6f 20 68 61 6e 64 6c 65 20 3c 43 4f 44 45 3e 45 49 4e 54 52 3c le.of.how.to.handle.<CODE>EINTR<
1e000 2f 43 4f 44 45 3e 20 70 72 6f 70 65 72 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 /CODE>.properly:..........<br><b
1e020 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 54 45 4d 50 5f 46 41 49 4c 55 r>.<pre><br>..........TEMP_FAILU
1e040 52 45 5f 52 45 54 52 59 20 28 63 6c 6f 73 65 20 28 64 65 73 63 29 29 3b 3c 62 72 3e 0a 20 20 20 RE_RETRY.(close.(desc));<br>....
1e060 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c ......</pre>..........<br><br>.<
1e080 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 50 43 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>ENOSPC</CODE>.<DD>.....
1e0a0 20 20 20 20 20 3c 4c 49 3e 78 20 45 49 4f 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 45 44 .....<LI>x.EIO..........<LI>x.ED
1e0c0 51 55 4f 54 0a 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 66 69 6c 65 20 69 73 20 61 QUOT..........When.the.file.is.a
1e0e0 63 63 65 73 73 65 64 20 62 79 20 4e 46 53 2c 20 74 68 65 73 65 20 65 72 72 6f 72 73 20 66 72 6f ccessed.by.NFS,.these.errors.fro
1e100 6d 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 73 6f 6d 65 74 69 6d m.<CODE>write</CODE>.can.sometim
1e120 65 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 62 65 20 64 65 74 65 63 74 65 64 20 75 6e 74 69 es..........not.be.detected.unti
1e140 6c 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 2e 20 20 2c 20 66 6f 72 20 64 65 74 l.<CODE>close</CODE>...,.for.det
1e160 61 69 6c 73 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 2e 0a ails..........on.their.meaning..
1e180 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e .........</DL>..........<br><br>
1e1a0 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 3c 45 4d 3e 6e .Please.note.that.there.is.<EM>n
1e1c0 6f 3c 2f 45 4d 3e 20 73 65 70 61 72 61 74 65 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 36 34 3c 2f 43 o</EM>.separate.<CODE>close64</C
1e1e0 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 ODE>.function...........This.is.
1e200 6e 6f 74 20 6e 65 63 65 73 73 61 72 79 20 73 69 6e 63 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f not.necessary.since.this.functio
1e220 6e 20 64 6f 65 73 20 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 6e 6f 72 20 64 65 70 65 6e 64 0a n.does.not.determine.nor.depend.
1e240 20 20 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 6d 6f 64 65 20 6f 66 20 74 68 65 20 66 69 6c 65 .........on.the.mode.of.the.file
1e260 2e 20 20 54 68 65 20 6b 65 72 6e 65 6c 20 77 68 69 63 68 20 70 65 72 66 6f 72 6d 73 20 74 68 65 ...The.kernel.which.performs.the
1e280 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 70 65 .<CODE>close</CODE>..........ope
1e2a0 72 61 74 69 6f 6e 20 6b 6e 6f 77 73 20 77 68 69 63 68 20 6d 6f 64 65 20 74 68 65 20 64 65 73 63 ration.knows.which.mode.the.desc
1e2c0 72 69 70 74 6f 72 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 6e 64 20 63 61 6e 20 68 61 6e 64 6c riptor.is.used.for.and.can.handl
1e2e0 65 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 2e 0a 20 20 20 20 20 e..........this.situation.......
1e300 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 ...sq.~......w.....t..unistd.hxq
1e320 00 7e 04 b2 74 00 0b 69 6e 74 20 66 69 6c 65 64 65 73 74 00 03 69 6e 74 74 00 08 63 6c 6f 73 65 .~..t..int.filedest..intt..close
1e340 64 69 72 73 71 00 7e 00 0a 70 74 01 91 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 dirsq.~..pt...........This.funct
1e360 69 6f 6e 20 63 6c 6f 73 65 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 73 74 72 65 61 6d 20 ion.closes.the.directory.stream.
1e380 3c 56 41 52 3e 64 69 72 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 49 74 20 72 65 74 75 72 6e <VAR>dirstream</VAR>...It.return
1e3a0 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 s..........<CODE>0</CODE>.on.suc
1e3c0 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c cess.and.<CODE>-1</CODE>.on.fail
1e3e0 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 6c 6c 6f ure...........<br><br>.The.follo
1e400 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f wing.<CODE>errno</CODE>.error.co
1e420 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 0a 20 20 nditions.are.defined.for.this...
1e440 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .......function:..........<br><b
1e460 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 r>.<DL>...........<DT><CODE>EBAD
1e480 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e F</CODE>.<DD>..........The.<VAR>
1e4a0 64 69 72 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 dirstream</VAR>.argument.is.not.
1e4c0 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 valid...........</DL>.........sq
1e4e0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 71 00 7e 04 b9 74 .~......w.....t..dirent.hxq.~..t
1e500 00 0e 44 49 52 20 2a 64 69 72 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 08 63 6c 6f 73 65 6c 6f ..DIR.*dirstreamt..intt..closelo
1e520 67 73 71 00 7e 00 0a 70 74 04 58 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f gsq.~..pt.X.........<br><br>.<CO
1e540 44 45 3e 63 6c 6f 73 65 6c 6f 67 3c 2f 43 4f 44 45 3e 20 63 6c 6f 73 65 73 20 74 68 65 20 63 75 DE>closelog</CODE>.closes.the.cu
1e560 72 72 65 6e 74 20 53 79 73 6c 6f 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 69 66 20 74 68 65 72 rrent.Syslog.connection,.if.ther
1e580 65 20 69 73 20 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 e.is.one...........This.includes
1e5a0 20 63 6c 6f 73 69 6e 67 20 74 68 65 20 3c 54 54 3e 64 65 76 2f 6c 6f 67 3c 2f 54 54 3e 20 73 6f .closing.the.<TT>dev/log</TT>.so
1e5c0 63 6b 65 74 2c 20 69 66 20 69 74 20 69 73 20 6f 70 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 cket,.if.it.is.open...........<C
1e5e0 4f 44 45 3e 63 6c 6f 73 65 6c 6f 67 3c 2f 43 4f 44 45 3e 20 61 6c 73 6f 20 73 65 74 73 20 74 68 ODE>closelog</CODE>.also.sets.th
1e600 65 20 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 20 73 74 72 69 6e 67 20 66 6f 72 20 53 79 73 6c e.identification.string.for.Sysl
1e620 6f 67 20 6d 65 73 73 61 67 65 73 0a 20 20 20 20 20 20 20 20 20 62 61 63 6b 20 74 6f 20 74 68 65 og.messages..........back.to.the
1e640 20 64 65 66 61 75 6c 74 2c 20 69 66 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 .default,.if.<CODE>openlog</CODE
1e660 3e 20 77 61 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 6e 6f 6e 2d 4e 55 4c 4c 20 61 72 67 >.was.called.with.a.non-NULL.arg
1e680 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 56 41 52 3e 69 64 65 6e 74 3c 2f 56 41 ument..........to.<VAR>ident</VA
1e6a0 52 3e 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 20 R>...The.default.identification.
1e6c0 73 74 72 69 6e 67 20 69 73 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 0a 20 20 20 20 20 string.is.the.program.name......
1e6e0 20 20 20 20 74 61 6b 65 6e 20 66 72 6f 6d 20 61 72 67 76 5b 30 5d 2e 0a 20 20 20 20 20 20 20 20 ....taken.from.argv[0]..........
1e700 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 61 72 65 20 77 72 69 74 69 6e 67 20 73 68 61 .<br><br>.If.you.are.writing.sha
1e720 72 65 64 20 6c 69 62 72 61 72 79 20 63 6f 64 65 20 74 68 61 74 20 75 73 65 73 20 3c 43 4f 44 45 red.library.code.that.uses.<CODE
1e740 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 67 65 6e 65 >openlog</CODE>.to..........gene
1e760 72 61 74 65 20 63 75 73 74 6f 6d 20 73 79 73 6c 6f 67 20 6f 75 74 70 75 74 2c 20 79 6f 75 20 73 rate.custom.syslog.output,.you.s
1e780 68 6f 75 6c 64 20 75 73 65 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 6c 6f 67 3c 2f 43 4f 44 45 3e 20 hould.use.<CODE>closelog</CODE>.
1e7a0 74 6f 20 64 72 6f 70 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 47 4e 55 20 43 20 6c 69 62 72 61 to.drop.the..........GNU.C.libra
1e7c0 72 79 27 73 20 69 6e 74 65 72 6e 61 6c 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 3c ry's.internal.reference.to.the.<
1e7e0 56 41 52 3e 69 64 65 6e 74 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 65 72 20 77 68 65 6e 20 79 6f 75 VAR>ident</VAR>.pointer.when.you
1e800 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 64 6f 6e 65 2e 20 20 50 6c 65 61 73 65 20 72 65 61 64 .are..........done...Please.read
1e820 20 74 68 65 20 73 65 63 74 69 6f 6e 20 6f 6e 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 .the.section.on.<CODE>openlog</C
1e840 4f 44 45 3e 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 0a 20 20 20 20 20 ODE>.for.more.information:......
1e860 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 63 6c ...............<br><br>.<CODE>cl
1e880 6f 73 65 6c 6f 67 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 6e 6f 74 20 66 6c 75 73 68 20 61 6e 79 oselog</CODE>.does.not.flush.any
1e8a0 20 62 75 66 66 65 72 73 2e 20 20 59 6f 75 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 63 61 .buffers...You.do.not.have.to.ca
1e8c0 6c 6c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 6c 6f 67 3c 2f 43 4f 44 45 ll..........<CODE>closelog</CODE
1e8e0 3e 20 62 65 66 6f 72 65 20 72 65 2d 6f 70 65 6e 69 6e 67 20 61 20 53 79 73 6c 6f 67 20 63 6f 6e >.before.re-opening.a.Syslog.con
1e900 6e 65 63 74 69 6f 6e 20 77 69 74 68 20 3c 43 4f 44 45 3e 69 6e 69 74 6c 6f 67 3c 2f 43 4f 44 45 nection.with.<CODE>initlog</CODE
1e920 3e 2e 0a 20 20 20 20 20 20 20 20 20 53 79 73 6c 6f 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 61 >...........Syslog.connections.a
1e940 72 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 6c 6f 73 65 64 20 6f 6e 20 65 78 65 63 20 re.automatically.closed.on.exec.
1e960 6f 72 20 65 78 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 or.exit...........<br><br>......
1e980 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 79 73 6c 6f 67 2e 68 78 71 ...sq.~......w.....t..syslog.hxq
1e9a0 00 7e 04 c0 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 07 63 6f 6e 66 73 74 72 73 71 00 7e .~..t..voidt..voidt..confstrsq.~
1e9c0 00 0a 70 74 04 e4 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 ..pt...........This.function.rea
1e9e0 64 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 61 20 73 74 72 69 6e 67 2d 76 61 6c 75 65 64 20 ds.the.value.of.a.string-valued.
1ea00 73 79 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 69 system.parameter,..........stori
1ea20 6e 67 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 ng.the.string.into.<VAR>len</VAR
1ea40 3e 20 62 79 74 65 73 20 6f 66 20 6d 65 6d 6f 72 79 20 73 70 61 63 65 20 73 74 61 72 74 69 6e 67 >.bytes.of.memory.space.starting
1ea60 20 61 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2e 20 20 54 68 .at..........<VAR>buf</VAR>...Th
1ea80 65 20 3c 56 41 52 3e 70 61 72 61 6d 65 74 65 72 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 e.<VAR>parameter</VAR>.argument.
1eaa0 73 68 6f 75 6c 64 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 73 should.be.one.of.the..........<s
1eac0 61 6d 70 3e 5f 43 53 5f 3c 2f 73 61 6d 70 3e 20 73 79 6d 62 6f 6c 73 20 6c 69 73 74 65 64 20 62 amp>_CS_</samp>.symbols.listed.b
1eae0 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d elow...........<br><br>.The.norm
1eb00 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 63 6f 6e 66 73 al.return.value.from.<CODE>confs
1eb20 74 72 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 tr</CODE>.is.the.length.of.the.s
1eb40 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 74 68 61 74 20 79 6f 75 20 61 73 tring..........value.that.you.as
1eb60 6b 65 64 20 66 6f 72 2e 20 20 49 66 20 79 6f 75 20 73 75 70 70 6c 79 20 61 20 6e 75 6c 6c 20 70 ked.for...If.you.supply.a.null.p
1eb80 6f 69 6e 74 65 72 20 66 6f 72 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 ointer.for.<VAR>buf</VAR>,......
1eba0 20 20 20 20 74 68 65 6e 20 3c 43 4f 44 45 3e 63 6f 6e 66 73 74 72 3c 2f 43 4f 44 45 3e 20 64 6f ....then.<CODE>confstr</CODE>.do
1ebc0 65 73 20 6e 6f 74 20 74 72 79 20 74 6f 20 73 74 6f 72 65 20 74 68 65 20 73 74 72 69 6e 67 3b 20 es.not.try.to.store.the.string;.
1ebe0 69 74 20 6a 75 73 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 69 74 73 20 6c 65 6e it.just.returns..........its.len
1ec00 67 74 68 2e 20 20 41 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 gth...A.value.of.<CODE>0</CODE>.
1ec20 69 6e 64 69 63 61 74 65 73 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 indicates.an.error...........<br
1ec40 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 74 72 69 6e 67 20 79 6f 75 20 61 73 6b 65 64 20 66 6f ><br>.If.the.string.you.asked.fo
1ec60 72 20 69 73 20 74 6f 6f 20 6c 6f 6e 67 20 66 6f 72 20 74 68 65 20 62 75 66 66 65 72 20 28 74 68 r.is.too.long.for.the.buffer.(th
1ec80 61 74 20 69 73 2c 20 6c 6f 6e 67 65 72 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 3c 43 4f 44 at.is,.longer..........than.<COD
1eca0 45 3e 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 20 2d 20 31 3c 2f 43 4f 44 45 3e 29 2c 20 74 68 E><VAR>len</VAR>.-.1</CODE>),.th
1ecc0 65 6e 20 3c 43 4f 44 45 3e 63 6f 6e 66 73 74 72 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 73 20 6a en.<CODE>confstr</CODE>.stores.j
1ece0 75 73 74 20 74 68 61 74 20 6d 75 63 68 0a 20 20 20 20 20 20 20 20 20 28 6c 65 61 76 69 6e 67 20 ust.that.much..........(leaving.
1ed00 72 6f 6f 6d 20 66 6f 72 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 room.for.the.terminating.null.ch
1ed20 61 72 61 63 74 65 72 29 2e 20 20 59 6f 75 20 63 61 6e 20 74 65 6c 6c 20 74 68 61 74 0a 20 20 20 aracter)...You.can.tell.that....
1ed40 20 20 20 20 20 20 74 68 69 73 20 68 61 73 20 68 61 70 70 65 6e 65 64 20 62 65 63 61 75 73 65 20 ......this.has.happened.because.
1ed60 3c 43 4f 44 45 3e 63 6f 6e 66 73 74 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 76 <CODE>confstr</CODE>.returns.a.v
1ed80 61 6c 75 65 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 65 71 alue.greater.than.or..........eq
1eda0 75 61 6c 20 74 6f 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 ual.to.<VAR>len</VAR>...........
1edc0 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 <br><br>.The.following.<CODE>err
1ede0 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 no</CODE>.error.conditions.are.d
1ee00 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 efined.for.this.function:.......
1ee20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c ...<br><br>.<DL>...........<DT><
1ee40 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 CODE>EINVAL</CODE>.<DD>.........
1ee60 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 70 61 72 61 6d 65 74 65 72 .The.value.of.the.<VAR>parameter
1ee80 3c 2f 56 41 52 3e 20 69 73 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c </VAR>.is.invalid...........</DL
1eea0 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 08 75 6e 69 >.........sq.~......w.....t..uni
1eec0 73 74 64 2e 68 74 00 08 6c 69 6d 69 74 73 2e 68 78 71 00 7e 04 c7 74 00 24 69 6e 74 20 70 61 72 std.ht..limits.hxq.~..t.$int.par
1eee0 61 6d 65 74 65 72 2c 20 63 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 74 00 06 ameter,.char.*buf,.size_t.lent..
1ef00 73 69 7a 65 5f 74 74 00 04 63 6f 6e 6a 73 71 00 7e 00 0a 70 74 01 00 0a 20 20 20 20 20 20 20 20 size_tt..conjsq.~..pt...........
1ef20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 6a 75 These.functions.return.the.conju
1ef40 67 61 74 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 gate.value.of.the.complex.number
1ef60 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 63 6f 6e ..........<VAR>z</VAR>...The.con
1ef80 6a 75 67 61 74 65 20 6f 66 20 61 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 68 61 73 20 74 jugate.of.a.complex.number.has.t
1efa0 68 65 20 73 61 6d 65 20 72 65 61 6c 20 70 61 72 74 20 61 6e 64 20 61 0a 20 20 20 20 20 20 20 20 he.same.real.part.and.a.........
1efc0 20 6e 65 67 61 74 65 64 20 69 6d 61 67 69 6e 61 72 79 20 70 61 72 74 2e 20 20 49 6e 20 6f 74 68 .negated.imaginary.part...In.oth
1efe0 65 72 20 77 6f 72 64 73 2c 20 3c 73 61 6d 70 3e 63 6f 6e 6a 28 61 20 2b 20 62 69 29 20 3d 20 61 er.words,.<samp>conj(a.+.bi).=.a
1f000 20 2b 20 2d 62 69 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 .+.-bi</samp>..........sq.~.....
1f020 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 cf 74 00 10 63 6f 6d 70 .w.....t..complex.hxq.~..t..comp
1f040 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 05 lex.double.zt..complex.doublet..
1f060 63 6f 6e 6a 66 73 71 00 7e 00 0a 70 74 01 00 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 conjfsq.~..pt...........These.fu
1f080 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6e 6a 75 67 61 74 65 20 76 61 6c nctions.return.the.conjugate.val
1f0a0 75 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 ue.of.the.complex.number........
1f0c0 20 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 63 6f 6e 6a 75 67 61 74 65 20 6f ..<VAR>z</VAR>...The.conjugate.o
1f0e0 66 20 61 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 f.a.complex.number.has.the.same.
1f100 72 65 61 6c 20 70 61 72 74 20 61 6e 64 20 61 0a 20 20 20 20 20 20 20 20 20 6e 65 67 61 74 65 64 real.part.and.a..........negated
1f120 20 69 6d 61 67 69 6e 61 72 79 20 70 61 72 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 .imaginary.part...In.other.words
1f140 2c 20 3c 73 61 6d 70 3e 63 6f 6e 6a 28 61 20 2b 20 62 69 29 20 3d 20 61 20 2b 20 2d 62 69 3c 2f ,.<samp>conj(a.+.bi).=.a.+.-bi</
1f160 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 samp>..........sq.~......w.....t
1f180 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 04 d6 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 ..complex.hxq.~..t..complex.floa
1f1a0 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 74 00 05 63 6f 6e 6a 6c 73 71 00 7e 00 t.zt..complex.floatt..conjlsq.~.
1f1c0 0a 70 74 01 00 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 .pt...........These.functions.re
1f1e0 74 75 72 6e 20 74 68 65 20 63 6f 6e 6a 75 67 61 74 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 turn.the.conjugate.value.of.the.
1f200 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 7a 3c 2f complex.number..........<VAR>z</
1f220 56 41 52 3e 2e 20 20 54 68 65 20 63 6f 6e 6a 75 67 61 74 65 20 6f 66 20 61 20 63 6f 6d 70 6c 65 VAR>...The.conjugate.of.a.comple
1f240 78 20 6e 75 6d 62 65 72 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 72 65 61 6c 20 70 61 72 74 20 x.number.has.the.same.real.part.
1f260 61 6e 64 20 61 0a 20 20 20 20 20 20 20 20 20 6e 65 67 61 74 65 64 20 69 6d 61 67 69 6e 61 72 79 and.a..........negated.imaginary
1f280 20 70 61 72 74 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 3c 73 61 6d 70 3e 63 6f .part...In.other.words,.<samp>co
1f2a0 6e 6a 28 61 20 2b 20 62 69 29 20 3d 20 61 20 2b 20 2d 62 69 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 nj(a.+.bi).=.a.+.-bi</samp>.....
1f2c0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e .....sq.~......w.....t..complex.
1f2e0 68 78 71 00 7e 04 dd 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 hxq.~..t..complex.long.double.zt
1f300 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 07 63 6f 6e 6e 65 63 74 73 ..complex.long.doublet..connects
1f320 71 00 7e 00 0a 70 74 0b f1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 63 6f 6e 6e q.~..pt...........The.<CODE>conn
1f340 65 63 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 74 65 73 20 61 20 ect</CODE>.function.initiates.a.
1f360 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 73 6f 63 6b 65 74 0a 20 20 20 20 20 connection.from.the.socket......
1f380 20 20 20 20 77 69 74 68 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 73 6f ....with.file.descriptor.<VAR>so
1f3a0 63 6b 65 74 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 73 6f 63 6b 65 74 20 77 68 6f 73 65 20 61 cket</VAR>.to.the.socket.whose.a
1f3c0 64 64 72 65 73 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 62 79 20 ddress.is..........specified.by.
1f3e0 74 68 65 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6c 65 6e the.<VAR>addr</VAR>.and.<VAR>len
1f400 67 74 68 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 2e 20 20 28 54 68 69 73 20 73 6f 63 6b gth</VAR>.arguments...(This.sock
1f420 65 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 6f 6e 20 61 6e 6f 74 et..........is.typically.on.anot
1f440 68 65 72 20 6d 61 63 68 69 6e 65 2c 20 61 6e 64 20 69 74 20 6d 75 73 74 20 62 65 20 61 6c 72 65 her.machine,.and.it.must.be.alre
1f460 61 64 79 20 73 65 74 20 75 70 20 61 73 20 61 0a 20 20 20 20 20 20 20 20 20 73 65 72 76 65 72 2e ady.set.up.as.a..........server.
1f480 29 20 20 2c 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 68 6f 77 20 74 )..,.for.information.about.how.t
1f4a0 68 65 73 65 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 69 6e 74 65 hese..........arguments.are.inte
1f4c0 72 70 72 65 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 72 6d 61 rpreted...........<br><br>.Norma
1f4e0 6c 6c 79 2c 20 3c 43 4f 44 45 3e 63 6f 6e 6e 65 63 74 3c 2f 43 4f 44 45 3e 20 77 61 69 74 73 20 lly,.<CODE>connect</CODE>.waits.
1f500 75 6e 74 69 6c 20 74 68 65 20 73 65 72 76 65 72 20 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 until.the.server.responds.to.the
1f520 20 72 65 71 75 65 73 74 0a 20 20 20 20 20 20 20 20 20 62 65 66 6f 72 65 20 69 74 20 72 65 74 75 .request..........before.it.retu
1f540 72 6e 73 2e 20 20 59 6f 75 20 63 61 6e 20 73 65 74 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 6d 6f rns...You.can.set.nonblocking.mo
1f560 64 65 20 6f 6e 20 74 68 65 20 73 6f 63 6b 65 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 de.on.the.socket..........<VAR>s
1f580 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 74 6f 20 6d 61 6b 65 20 3c 43 4f 44 45 3e 63 6f 6e 6e 65 63 ocket</VAR>.to.make.<CODE>connec
1f5a0 74 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 69 74 68 t</CODE>.return.immediately.with
1f5c0 6f 75 74 20 77 61 69 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 72 65 73 out.waiting..........for.the.res
1f5e0 70 6f 6e 73 65 2e 20 20 2c 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 0a ponse...,.for.information.about.
1f600 20 20 20 20 20 20 20 20 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 2e 0a 20 20 20 20 20 .........nonblocking.mode.......
1f620 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 ....<br><br>.The.normal.return.v
1f640 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 63 6f 6e 6e 65 63 74 3c 2f 43 4f 44 45 3e 20 69 alue.from.<CODE>connect</CODE>.i
1f660 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 61 6e 20 65 72 72 6f 72 0a 20 s.<CODE>0</CODE>...If.an.error..
1f680 20 20 20 20 20 20 20 20 6f 63 63 75 72 73 2c 20 3c 43 4f 44 45 3e 63 6f 6e 6e 65 63 74 3c 2f 43 ........occurs,.<CODE>connect</C
1f6a0 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2e 20 20 54 ODE>.returns.<CODE>-1</CODE>...T
1f6c0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 0a he.following.<CODE>errno</CODE>.
1f6e0 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 .........error.conditions.are.de
1f700 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 fined.for.this.function:........
1f720 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 ..<br><br>.<DL>...........<DT><C
1f740 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 ODE>EBADF</CODE>.<DD>..........T
1f760 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e he.socket.<VAR>socket</VAR>.is.n
1f780 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 ot.a.valid.file.descriptor......
1f7a0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 53 4f 43 4b .....<br><br>.<DT><CODE>ENOTSOCK
1f7c0 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 46 69 6c 65 20 64 65 73 63 72 </CODE>.<DD>..........File.descr
1f7e0 69 70 74 6f 72 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 iptor.<VAR>socket</VAR>.is.not.a
1f800 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c .socket...........<br><br>.<DT><
1f820 43 4f 44 45 3e 45 41 44 44 52 4e 4f 54 41 56 41 49 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 CODE>EADDRNOTAVAIL</CODE>.<DD>..
1f840 20 20 20 20 20 20 20 20 54 68 65 20 73 70 65 63 69 66 69 65 64 20 61 64 64 72 65 73 73 20 69 73 ........The.specified.address.is
1f860 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 74 68 65 20 72 65 6d 6f 74 65 20 6d 61 63 .not.available.on.the.remote.mac
1f880 68 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 hine...........<br><br>.<DT><COD
1f8a0 45 3e 45 41 46 4e 4f 53 55 50 50 4f 52 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 E>EAFNOSUPPORT</CODE>.<DD>......
1f8c0 20 20 20 20 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 61 64 ....The.namespace.of.the.<VAR>ad
1f8e0 64 72 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 69 dr</VAR>.is.not.supported.by.thi
1f900 73 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e s.socket...........<br><br>.<DT>
1f920 3c 43 4f 44 45 3e 45 49 53 43 4f 4e 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 <CODE>EISCONN</CODE>.<DD>.......
1f940 20 20 20 54 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 ...The.socket.<VAR>socket</VAR>.
1f960 69 73 20 61 6c 72 65 61 64 79 20 63 6f 6e 6e 65 63 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c is.already.connected...........<
1f980 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 54 49 4d 45 44 4f 55 54 3c 2f 43 4f 44 br><br>.<DT><CODE>ETIMEDOUT</COD
1f9a0 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 74 74 65 6d 70 74 20 74 6f 20 E>.<DD>..........The.attempt.to.
1f9c0 65 73 74 61 62 6c 69 73 68 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 69 6d 65 64 20 6f establish.the.connection.timed.o
1f9e0 75 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e ut...........<br><br>.<DT><CODE>
1fa00 45 43 4f 4e 4e 52 45 46 55 53 45 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 ECONNREFUSED</CODE>.<DD>........
1fa20 20 20 54 68 65 20 73 65 72 76 65 72 20 68 61 73 20 61 63 74 69 76 65 6c 79 20 72 65 66 75 73 65 ..The.server.has.actively.refuse
1fa40 64 20 74 6f 20 65 73 74 61 62 6c 69 73 68 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 0a 20 d.to.establish.the.connection...
1fa60 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 45 54 55 ........<br><br>.<DT><CODE>ENETU
1fa80 4e 52 45 41 43 48 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 NREACH</CODE>.<DD>..........The.
1faa0 6e 65 74 77 6f 72 6b 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 3c 56 41 52 3e 61 64 64 72 3c 2f network.of.the.given.<VAR>addr</
1fac0 56 41 52 3e 20 69 73 6e 27 74 20 72 65 61 63 68 61 62 6c 65 20 66 72 6f 6d 20 74 68 69 73 20 68 VAR>.isn't.reachable.from.this.h
1fae0 6f 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 ost...........<br><br>.<DT><CODE
1fb00 3e 45 41 44 44 52 49 4e 55 53 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 >EADDRINUSE</CODE>.<DD>.........
1fb20 20 54 68 65 20 73 6f 63 6b 65 74 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 67 69 76 65 6e .The.socket.address.of.the.given
1fb40 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 69 73 20 61 6c 72 65 61 64 79 20 69 6e 20 75 .<VAR>addr</VAR>.is.already.in.u
1fb60 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e se...........<br><br>.<DT><CODE>
1fb80 45 49 4e 50 52 4f 47 52 45 53 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 6f 63 6b 65 74 20 EINPROGRESS..........The.socket.
1fba0 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e <VAR>socket</VAR>.is.non-blockin
1fbc0 67 20 61 6e 64 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 63 6f 75 6c 64 20 6e 6f 74 20 62 g.and.the.connection.could.not.b
1fbe0 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 65 73 74 61 62 6c 69 73 68 e</CODE>.<DD>..........establish
1fc00 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 20 20 59 6f 75 20 63 61 6e 20 64 65 74 65 72 6d 69 ed.immediately...You.can.determi
1fc20 6e 65 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 ne.when.the.connection.is.......
1fc40 20 20 20 63 6f 6d 70 6c 65 74 65 6c 79 20 65 73 74 61 62 6c 69 73 68 65 64 20 77 69 74 68 20 3c ...completely.established.with.<
1fc60 43 4f 44 45 3e 73 65 6c 65 63 74 3c 2f 43 4f 44 45 3e 3b 20 2e 0a 20 20 20 20 20 20 20 20 20 41 CODE>select</CODE>;............A
1fc80 6e 6f 74 68 65 72 20 3c 43 4f 44 45 3e 63 6f 6e 6e 65 63 74 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c nother.<CODE>connect</CODE>.call
1fca0 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 73 6f 63 6b 65 74 2c 20 62 65 66 6f 72 65 20 74 68 65 20 .on.the.same.socket,.before.the.
1fcc0 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 6c connection.is..........completel
1fce0 79 20 65 73 74 61 62 6c 69 73 68 65 64 2c 20 77 69 6c 6c 20 66 61 69 6c 20 77 69 74 68 20 3c 43 y.established,.will.fail.with.<C
1fd00 4f 44 45 3e 45 41 4c 52 45 41 44 59 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ODE>EALREADY</CODE>...........<b
1fd20 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 4c 52 45 41 44 59 0a 20 20 20 20 20 20 r><br>.<DT><CODE>EALREADY.......
1fd40 20 20 20 54 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 ...The.socket.<VAR>socket</VAR>.
1fd60 69 73 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 20 61 6e 64 20 61 6c 72 65 61 64 79 20 68 61 73 20 is.non-blocking.and.already.has.
1fd80 61 20 70 65 6e 64 69 6e 67 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 63 a.pending</CODE>.<DD>..........c
1fda0 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 20 70 72 6f 67 72 65 73 73 20 28 73 65 65 20 3c 43 4f 44 45 onnection.in.progress.(see.<CODE
1fdc0 3e 45 49 4e 50 52 4f 47 52 45 53 53 3c 2f 43 4f 44 45 3e 20 61 62 6f 76 65 29 2e 0a 20 20 20 20 >EINPROGRESS</CODE>.above)......
1fde0 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 .....</DL>..........<br><br>.Thi
1fe00 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 20 61 20 63 61 6e 63 65 s.function.is.defined.as.a.cance
1fe20 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 0a llation.point.in.multi-threaded.
1fe40 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2c 20 73 6f 20 6f 6e 65 20 68 61 73 20 74 6f .........programs,.so.one.has.to
1fe60 20 62 65 20 70 72 65 70 61 72 65 64 20 66 6f 72 20 74 68 69 73 20 61 6e 64 20 6d 61 6b 65 20 73 .be.prepared.for.this.and.make.s
1fe80 75 72 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 72 65 73 6f ure.that..........allocated.reso
1fea0 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 73 20 64 65 73 63 72 69 urces.(like.memory,.files.descri
1fec0 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 0a 20 20 20 20 20 20 20 20 20 77 68 ptors,.semaphores.or..........wh
1fee0 61 74 65 76 65 72 29 20 61 72 65 20 66 72 65 65 64 20 65 76 65 6e 20 69 66 20 74 68 65 20 74 68 atever).are.freed.even.if.the.th
1ff00 72 65 61 64 20 69 73 20 63 61 6e 63 65 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f read.is.canceled..........sq.~..
1ff20 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 04 e4 74 ....w.....t..sys/socket.hxq.~..t
1ff40 00 33 69 6e 74 20 73 6f 63 6b 65 74 2c 20 73 74 72 75 63 74 20 73 6f 63 6b 61 64 64 72 20 2a 61 .3int.socket,.struct.sockaddr.*a
1ff60 64 64 72 2c 20 73 6f 63 6b 6c 65 6e 5f 74 20 6c 65 6e 67 74 68 74 00 03 69 6e 74 74 00 08 63 6f ddr,.socklen_t.lengtht..intt..co
1ff80 70 79 73 69 67 6e 73 71 00 7e 00 0a 70 74 02 0c 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 pysignsq.~..pt...........These.f
1ffa0 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 62 75 74 unctions.return.<VAR>x</VAR>.but
1ffc0 20 77 69 74 68 20 74 68 65 20 73 69 67 6e 20 6f 66 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 .with.the.sign.of.<VAR>y</VAR>..
1ffe0 20 54 68 65 79 20 77 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 65 76 65 6e 20 69 66 20 3c 56 41 52 .They.work..........even.if.<VAR
20000 3e 78 3c 2f 56 41 52 3e 20 6f 72 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 4e 61 4e >x</VAR>.or.<VAR>y</VAR>.are.NaN
20020 20 6f 72 20 7a 65 72 6f 2e 20 20 42 6f 74 68 20 6f 66 20 74 68 65 73 65 20 63 61 6e 20 63 61 72 .or.zero...Both.of.these.can.car
20040 72 79 20 61 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 20 28 61 6c 74 68 6f 75 67 68 20 6e 6f 74 ry.a..........sign.(although.not
20060 20 61 6c 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 73 75 70 70 6f 72 74 20 69 74 29 .all.implementations.support.it)
20080 20 61 6e 64 20 74 68 69 73 20 69 73 20 6f 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 .and.this.is.one.of..........the
200a0 20 66 65 77 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 68 61 74 20 63 61 6e 20 74 65 6c 6c 20 74 68 .few.operations.that.can.tell.th
200c0 65 20 64 69 66 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 e.difference...........<br><br>.
200e0 3c 43 4f 44 45 3e 63 6f 70 79 73 69 67 6e 3c 2f 43 4f 44 45 3e 20 6e 65 76 65 72 20 72 61 69 73 <CODE>copysign</CODE>.never.rais
20100 65 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 es.an.exception...........<br><b
20120 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 49 r>.This.function.is.defined.in.I
20140 45 43 20 35 35 39 20 28 61 6e 64 20 74 68 65 20 61 70 70 65 6e 64 69 78 20 77 69 74 68 0a 20 20 EC.559.(and.the.appendix.with...
20160 20 20 20 20 20 20 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 .......recommended.functions.in.
20180 49 45 45 45 20 37 35 34 2f 49 45 45 45 20 38 35 34 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e IEEE.754/IEEE.854)..........sq.~
201a0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 04 eb 74 00 12 64 6f ......w.....t..math.hxq.~..t..do
201c0 75 62 6c 65 20 78 2c 20 64 6f 75 62 6c 65 20 79 74 00 06 64 6f 75 62 6c 65 74 00 09 63 6f 70 79 uble.x,.double.yt..doublet..copy
201e0 73 69 67 6e 66 73 71 00 7e 00 0a 70 74 02 0c 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 signfsq.~..pt...........These.fu
20200 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 62 75 74 20 nctions.return.<VAR>x</VAR>.but.
20220 77 69 74 68 20 74 68 65 20 73 69 67 6e 20 6f 66 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 with.the.sign.of.<VAR>y</VAR>...
20240 54 68 65 79 20 77 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 65 76 65 6e 20 69 66 20 3c 56 41 52 3e They.work..........even.if.<VAR>
20260 78 3c 2f 56 41 52 3e 20 6f 72 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 4e 61 4e 20 x</VAR>.or.<VAR>y</VAR>.are.NaN.
20280 6f 72 20 7a 65 72 6f 2e 20 20 42 6f 74 68 20 6f 66 20 74 68 65 73 65 20 63 61 6e 20 63 61 72 72 or.zero...Both.of.these.can.carr
202a0 79 20 61 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 20 28 61 6c 74 68 6f 75 67 68 20 6e 6f 74 20 y.a..........sign.(although.not.
202c0 61 6c 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 73 75 70 70 6f 72 74 20 69 74 29 20 all.implementations.support.it).
202e0 61 6e 64 20 74 68 69 73 20 69 73 20 6f 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 and.this.is.one.of..........the.
20300 66 65 77 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 68 61 74 20 63 61 6e 20 74 65 6c 6c 20 74 68 65 few.operations.that.can.tell.the
20320 20 64 69 66 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c .difference...........<br><br>.<
20340 43 4f 44 45 3e 63 6f 70 79 73 69 67 6e 3c 2f 43 4f 44 45 3e 20 6e 65 76 65 72 20 72 61 69 73 65 CODE>copysign</CODE>.never.raise
20360 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 s.an.exception...........<br><br
20380 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 49 45 >.This.function.is.defined.in.IE
203a0 43 20 35 35 39 20 28 61 6e 64 20 74 68 65 20 61 70 70 65 6e 64 69 78 20 77 69 74 68 0a 20 20 20 C.559.(and.the.appendix.with....
203c0 20 20 20 20 20 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 49 ......recommended.functions.in.I
203e0 45 45 45 20 37 35 34 2f 49 45 45 45 20 38 35 34 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 EEE.754/IEEE.854)..........sq.~.
20400 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 04 f2 74 00 10 66 6c 6f .....w.....t..math.hxq.~..t..flo
20420 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 74 00 05 66 6c 6f 61 74 74 00 09 63 6f 70 79 73 69 67 6e at.x,.float.yt..floatt..copysign
20440 6c 73 71 00 7e 00 0a 70 74 02 0c 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 lsq.~..pt...........These.functi
20460 6f 6e 73 20 72 65 74 75 72 6e 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 62 75 74 20 77 69 74 68 ons.return.<VAR>x</VAR>.but.with
20480 20 74 68 65 20 73 69 67 6e 20 6f 66 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 79 .the.sign.of.<VAR>y</VAR>...They
204a0 20 77 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 65 76 65 6e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 .work..........even.if.<VAR>x</V
204c0 41 52 3e 20 6f 72 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 4e 61 4e 20 6f 72 20 7a AR>.or.<VAR>y</VAR>.are.NaN.or.z
204e0 65 72 6f 2e 20 20 42 6f 74 68 20 6f 66 20 74 68 65 73 65 20 63 61 6e 20 63 61 72 72 79 20 61 0a ero...Both.of.these.can.carry.a.
20500 20 20 20 20 20 20 20 20 20 73 69 67 6e 20 28 61 6c 74 68 6f 75 67 68 20 6e 6f 74 20 61 6c 6c 20 .........sign.(although.not.all.
20520 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 73 75 70 70 6f 72 74 20 69 74 29 20 61 6e 64 20 implementations.support.it).and.
20540 74 68 69 73 20 69 73 20 6f 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 65 77 20 this.is.one.of..........the.few.
20560 6f 70 65 72 61 74 69 6f 6e 73 20 74 68 61 74 20 63 61 6e 20 74 65 6c 6c 20 74 68 65 20 64 69 66 operations.that.can.tell.the.dif
20580 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 ference...........<br><br>.<CODE
205a0 3e 63 6f 70 79 73 69 67 6e 3c 2f 43 4f 44 45 3e 20 6e 65 76 65 72 20 72 61 69 73 65 73 20 61 6e >copysign</CODE>.never.raises.an
205c0 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 .exception...........<br><br>.Th
205e0 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 49 45 43 20 35 35 is.function.is.defined.in.IEC.55
20600 39 20 28 61 6e 64 20 74 68 65 20 61 70 70 65 6e 64 69 78 20 77 69 74 68 0a 20 20 20 20 20 20 20 9.(and.the.appendix.with........
20620 20 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 49 45 45 45 20 ..recommended.functions.in.IEEE.
20640 37 35 34 2f 49 45 45 45 20 38 35 34 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 754/IEEE.854)..........sq.~.....
20660 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 04 f9 74 00 1c 6c 6f 6e 67 20 64 6f .w.....t..math.hxq.~..t..long.do
20680 75 62 6c 65 20 78 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 79 74 00 0b 6c 6f 6e 67 20 64 6f 75 uble.x,.long.double.yt..long.dou
206a0 62 6c 65 74 00 03 63 6f 73 73 71 00 7e 00 0a 70 74 00 ba 0a 20 20 20 20 20 20 20 20 54 68 65 73 blet..cossq.~..pt...........Thes
206c0 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 73 69 6e 65 20 6f 66 e.functions.return.the.cosine.of
206e0 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 .<VAR>x</VAR>,.where.<VAR>x</VAR
20700 3e 20 69 73 20 67 69 76 65 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6e 73 2e 20 >.is.given.in..........radians..
20720 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 .The.return.value.is.in.the.rang
20740 65 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f e.<CODE>-1</CODE>.to.<CODE>1</CO
20760 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 DE>..........sq.~......w.....t..
20780 6d 61 74 68 2e 68 78 71 00 7e 05 00 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 math.hxq.~..t..double.xt..double
207a0 74 00 04 63 6f 73 66 73 71 00 7e 00 0a 70 74 00 ba 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 t..cosfsq.~..pt...........These.
207c0 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 73 69 6e 65 20 6f 66 20 3c functions.return.the.cosine.of.<
207e0 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 VAR>x</VAR>,.where.<VAR>x</VAR>.
20800 69 73 20 67 69 76 65 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6e 73 2e 20 20 54 is.given.in..........radians...T
20820 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 he.return.value.is.in.the.range.
20840 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 <CODE>-1</CODE>.to.<CODE>1</CODE
20860 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 >..........sq.~......w.....t..ma
20880 74 68 2e 68 78 71 00 7e 05 07 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 04 63 th.hxq.~..t..float.xt..floatt..c
208a0 6f 73 68 73 71 00 7e 00 0a 70 74 00 ee 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 oshsq.~..pt...........These.func
208c0 74 69 6f 6e 20 72 65 74 75 72 6e 20 74 68 65 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e tion.return.the.hyperbolic.cosin
208e0 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 e.of.<VAR>x</VAR>,..........defi
20900 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 28 65 78 70 ned.mathematically.as.<CODE>(exp
20920 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2b 20 65 78 70 20 28 2d 3c 56 41 52 3e 78 3c 2f .(<VAR>x</VAR>).+.exp.(-<VAR>x</
20940 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 79 VAR>))./.2</CODE>...........They
20960 20 6d 61 79 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f .may.signal.overflow.if.<VAR>x</
20980 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 VAR>.is.too.large..........sq.~.
209a0 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 05 0e 74 00 08 64 6f 75 .....w.....t..math.hxq.~..t..dou
209c0 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 05 63 6f 73 68 66 73 71 00 7e 00 0a 70 74 00 ee ble.xt..doublet..coshfsq.~..pt..
209e0 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 20 74 .........These.function.return.t
20a00 68 65 20 68 79 70 65 72 62 6f 6c 69 63 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f he.hyperbolic.cosine.of.<VAR>x</
20a20 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 VAR>,..........defined.mathemati
20a40 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 28 65 78 70 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 cally.as.<CODE>(exp.(<VAR>x</VAR
20a60 3e 29 20 2b 20 65 78 70 20 28 2d 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 >).+.exp.(-<VAR>x</VAR>))./.2</C
20a80 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 79 20 6d 61 79 20 73 69 67 6e 61 6c 20 6f ODE>...........They.may.signal.o
20aa0 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c verflow.if.<VAR>x</VAR>.is.too.l
20ac0 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 arge..........sq.~......w.....t.
20ae0 06 6d 61 74 68 2e 68 78 71 00 7e 05 15 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 .math.hxq.~..t..float.xt..floatt
20b00 00 05 63 6f 73 68 6c 73 71 00 7e 00 0a 70 74 00 ee 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 ..coshlsq.~..pt...........These.
20b20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 20 74 68 65 20 68 79 70 65 72 62 6f 6c 69 63 20 63 function.return.the.hyperbolic.c
20b40 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 osine.of.<VAR>x</VAR>,..........
20b60 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e defined.mathematically.as.<CODE>
20b80 28 65 78 70 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2b 20 65 78 70 20 28 2d 3c 56 41 52 (exp.(<VAR>x</VAR>).+.exp.(-<VAR
20ba0 3e 78 3c 2f 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 >x</VAR>))./.2</CODE>...........
20bc0 54 68 65 79 20 6d 61 79 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 They.may.signal.overflow.if.<VAR
20be0 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 >x</VAR>.is.too.large..........s
20c00 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 05 1c 74 00 q.~......w.....t..math.hxq.~..t.
20c20 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 63 .long.double.xt..long.doublet..c
20c40 6f 73 6c 73 71 00 7e 00 0a 70 74 00 ba 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 oslsq.~..pt...........These.func
20c60 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e tions.return.the.cosine.of.<VAR>
20c80 78 3c 2f 56 41 52 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 67 x</VAR>,.where.<VAR>x</VAR>.is.g
20ca0 69 76 65 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6e 73 2e 20 20 54 68 65 20 72 iven.in..........radians...The.r
20cc0 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 3c 43 4f 44 eturn.value.is.in.the.range.<COD
20ce0 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2e 0a 20 E>-1</CODE>.to.<CODE>1</CODE>...
20d00 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
20d20 78 71 00 7e 05 23 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f xq.~.#t..long.double.xt..long.do
20d40 75 62 6c 65 74 00 04 63 70 6f 77 73 71 00 7e 00 0a 70 74 00 a2 0a 20 20 20 20 20 20 20 20 54 68 ublet..cpowsq.~..pt...........Th
20d60 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 3c 56 41 52 3e 62 61 73 65 3c 2f ese.functions.return.<VAR>base</
20d80 56 41 52 3e 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 6f 66 0a 20 20 20 20 VAR>.raised.to.the.power.of.....
20da0 20 20 20 20 20 3c 56 41 52 3e 70 6f 77 65 72 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 69 73 20 .....<VAR>power</VAR>...This.is.
20dc0 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 63 65 78 70 20 28 79 20 2a 20 63 6c equivalent.to.<CODE>cexp.(y.*.cl
20de0 6f 67 20 28 78 29 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 og.(x))</CODE>.........sq.~.....
20e00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 2a 74 00 29 63 6f 6d 70 .w.....t..complex.hxq.~.*t.)comp
20e20 6c 65 78 20 64 6f 75 62 6c 65 20 62 61 73 65 2c 20 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 lex.double.base,.complex.double.
20e40 70 6f 77 65 72 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 05 63 70 6f 77 66 73 71 powert..complex.doublet..cpowfsq
20e60 00 7e 00 0a 70 74 00 a2 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 .~..pt...........These.functions
20e80 20 72 65 74 75 72 6e 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 20 72 61 69 73 65 64 20 74 .return.<VAR>base</VAR>.raised.t
20ea0 6f 20 74 68 65 20 70 6f 77 65 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 6f 77 o.the.power.of..........<VAR>pow
20ec0 65 72 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f er</VAR>...This.is.equivalent.to
20ee0 20 3c 43 4f 44 45 3e 63 65 78 70 20 28 79 20 2a 20 63 6c 6f 67 20 28 78 29 29 3c 2f 43 4f 44 45 .<CODE>cexp.(y.*.clog.(x))</CODE
20f00 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d >.........sq.~......w.....t..com
20f20 70 6c 65 78 2e 68 78 71 00 7e 05 31 74 00 27 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 62 61 73 plex.hxq.~.1t.'complex.float.bas
20f40 65 2c 20 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 70 6f 77 65 72 74 00 0d 63 6f 6d 70 6c 65 78 e,.complex.float.powert..complex
20f60 20 66 6c 6f 61 74 74 00 05 63 70 6f 77 6c 73 71 00 7e 00 0a 70 74 00 a2 0a 20 20 20 20 20 20 20 .floatt..cpowlsq.~..pt..........
20f80 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 3c 56 41 52 3e 62 61 73 .These.functions.return.<VAR>bas
20fa0 65 3c 2f 56 41 52 3e 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 6f 66 0a 20 e</VAR>.raised.to.the.power.of..
20fc0 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 6f 77 65 72 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 ........<VAR>power</VAR>...This.
20fe0 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 63 65 78 70 20 28 79 20 2a is.equivalent.to.<CODE>cexp.(y.*
21000 20 63 6c 6f 67 20 28 78 29 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f .clog.(x))</CODE>.........sq.~..
21020 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 38 74 00 33 63 ....w.....t..complex.hxq.~.8t.3c
21040 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 62 61 73 65 2c 20 63 6f 6d 70 6c 65 78 omplex.long.double.base,.complex
21060 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 70 6f 77 65 72 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e .long.double.powert..complex.lon
21080 67 20 64 6f 75 62 6c 65 74 00 05 63 70 72 6f 6a 73 71 00 7e 00 0a 70 74 01 a4 0a 20 20 20 20 20 g.doublet..cprojsq.~..pt........
210a0 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 70 72 ...These.functions.return.the.pr
210c0 6f 6a 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 76 61 6c 75 65 20 3c 56 ojection.of.the.complex.value.<V
210e0 41 52 3e 7a 3c 2f 56 41 52 3e 20 6f 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 52 69 65 AR>z</VAR>.onto..........the.Rie
21100 6d 61 6e 6e 20 73 70 68 65 72 65 2e 20 20 56 61 6c 75 65 73 20 77 69 74 68 20 61 20 69 6e 66 69 mann.sphere...Values.with.a.infi
21120 6e 69 74 65 20 69 6d 61 67 69 6e 61 72 79 20 70 61 72 74 20 61 72 65 20 70 72 6f 6a 65 63 74 65 nite.imaginary.part.are.projecte
21140 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 70 6f 73 69 74 69 76 65 20 69 6e 66 69 6e 69 74 79 20 d..........to.positive.infinity.
21160 6f 6e 20 74 68 65 20 72 65 61 6c 20 61 78 69 73 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 72 65 on.the.real.axis,.even.if.the.re
21180 61 6c 20 70 61 72 74 20 69 73 20 4e 61 4e 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 al.part.is.NaN...If..........the
211a0 20 72 65 61 6c 20 70 61 72 74 20 69 73 20 69 6e 66 69 6e 69 74 65 2c 20 74 68 65 20 72 65 73 75 .real.part.is.infinite,.the.resu
211c0 6c 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 62 72 lt.is.equivalent.to..........<br
211e0 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 49 4e 46 49 4e 49 54 ><br>.<pre><br>..........INFINIT
21200 59 20 2b 20 49 20 2a 20 63 6f 70 79 73 69 67 6e 20 28 30 2e 30 2c 20 63 69 6d 61 67 20 28 7a 29 Y.+.I.*.copysign.(0.0,.cimag.(z)
21220 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 )<br>..........</pre>.........sq
21240 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 3f .~......w.....t..complex.hxq.~.?
21260 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f t..complex.double.zt..complex.do
21280 75 62 6c 65 74 00 06 63 70 72 6f 6a 66 73 71 00 7e 00 0a 70 74 01 a4 0a 20 20 20 20 20 20 20 20 ublet..cprojfsq.~..pt...........
212a0 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 70 72 6f 6a 65 These.functions.return.the.proje
212c0 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 76 61 6c 75 65 20 3c 56 41 52 3e ction.of.the.complex.value.<VAR>
212e0 7a 3c 2f 56 41 52 3e 20 6f 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 52 69 65 6d 61 6e z</VAR>.onto..........the.Rieman
21300 6e 20 73 70 68 65 72 65 2e 20 20 56 61 6c 75 65 73 20 77 69 74 68 20 61 20 69 6e 66 69 6e 69 74 n.sphere...Values.with.a.infinit
21320 65 20 69 6d 61 67 69 6e 61 72 79 20 70 61 72 74 20 61 72 65 20 70 72 6f 6a 65 63 74 65 64 0a 20 e.imaginary.part.are.projected..
21340 20 20 20 20 20 20 20 20 74 6f 20 70 6f 73 69 74 69 76 65 20 69 6e 66 69 6e 69 74 79 20 6f 6e 20 ........to.positive.infinity.on.
21360 74 68 65 20 72 65 61 6c 20 61 78 69 73 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 72 65 61 6c 20 the.real.axis,.even.if.the.real.
21380 70 61 72 74 20 69 73 20 4e 61 4e 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 part.is.NaN...If..........the.re
213a0 61 6c 20 70 61 72 74 20 69 73 20 69 6e 66 69 6e 69 74 65 2c 20 74 68 65 20 72 65 73 75 6c 74 20 al.part.is.infinite,.the.result.
213c0 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 is.equivalent.to..........<br><b
213e0 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 49 4e 46 49 4e 49 54 59 20 2b r>.<pre><br>..........INFINITY.+
21400 20 49 20 2a 20 63 6f 70 79 73 69 67 6e 20 28 30 2e 30 2c 20 63 69 6d 61 67 20 28 7a 29 29 3c 62 .I.*.copysign.(0.0,.cimag.(z))<b
21420 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 r>..........</pre>.........sq.~.
21440 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 46 74 00 0f .....w.....t..complex.hxq.~.Ft..
21460 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 74 complex.float.zt..complex.floatt
21480 00 06 63 70 72 6f 6a 6c 73 71 00 7e 00 0a 70 74 01 a4 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 ..cprojlsq.~..pt...........These
214a0 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 69 6f 6e .functions.return.the.projection
214c0 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 76 61 6c 75 65 20 3c 56 41 52 3e 7a 3c 2f 56 41 .of.the.complex.value.<VAR>z</VA
214e0 52 3e 20 6f 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 52 69 65 6d 61 6e 6e 20 73 70 68 R>.onto..........the.Riemann.sph
21500 65 72 65 2e 20 20 56 61 6c 75 65 73 20 77 69 74 68 20 61 20 69 6e 66 69 6e 69 74 65 20 69 6d 61 ere...Values.with.a.infinite.ima
21520 67 69 6e 61 72 79 20 70 61 72 74 20 61 72 65 20 70 72 6f 6a 65 63 74 65 64 0a 20 20 20 20 20 20 ginary.part.are.projected.......
21540 20 20 20 74 6f 20 70 6f 73 69 74 69 76 65 20 69 6e 66 69 6e 69 74 79 20 6f 6e 20 74 68 65 20 72 ...to.positive.infinity.on.the.r
21560 65 61 6c 20 61 78 69 73 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 72 65 61 6c 20 70 61 72 74 20 eal.axis,.even.if.the.real.part.
21580 69 73 20 4e 61 4e 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 61 6c 20 70 61 is.NaN...If..........the.real.pa
215a0 72 74 20 69 73 20 69 6e 66 69 6e 69 74 65 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 65 71 rt.is.infinite,.the.result.is.eq
215c0 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 uivalent.to..........<br><br>.<p
215e0 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 49 4e 46 49 4e 49 54 59 20 2b 20 49 20 2a 20 re><br>..........INFINITY.+.I.*.
21600 63 6f 70 79 73 69 67 6e 20 28 30 2e 30 2c 20 63 69 6d 61 67 20 28 7a 29 29 3c 62 72 3e 0a 20 20 copysign.(0.0,.cimag.(z))<br>...
21620 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .......</pre>.........sq.~......
21640 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 4d 74 00 15 63 6f 6d 70 6c w.....t..complex.hxq.~.Mt..compl
21660 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 ex.long.double.zt..complex.long.
21680 64 6f 75 62 6c 65 74 00 05 63 72 65 61 6c 73 71 00 7e 00 0a 70 74 00 5a 0a 20 20 20 20 20 20 20 doublet..crealsq.~..pt.Z........
216a0 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 61 6c .These.functions.return.the.real
216c0 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 3c 56 41 52 .part.of.the.complex.number.<VAR
216e0 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 >z</VAR>..........sq.~......w...
21700 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 54 74 00 10 63 6f 6d 70 6c 65 78 20 64 ..t..complex.hxq.~.Tt..complex.d
21720 6f 75 62 6c 65 20 7a 74 00 06 64 6f 75 62 6c 65 74 00 06 63 72 65 61 6c 66 73 71 00 7e 00 0a 70 ouble.zt..doublet..crealfsq.~..p
21740 74 00 5a 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 t.Z.........These.functions.retu
21760 72 6e 20 74 68 65 20 72 65 61 6c 20 70 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 rn.the.real.part.of.the.complex.
21780 6e 75 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 number.<VAR>z</VAR>..........sq.
217a0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 5b 74 ~......w.....t..complex.hxq.~.[t
217c0 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 05 66 6c 6f 61 74 74 00 06 63 72 65 61 ..complex.float.zt..floatt..crea
217e0 6c 6c 73 71 00 7e 00 0a 70 74 00 5a 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 llsq.~..pt.Z.........These.funct
21800 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 61 6c 20 70 61 72 74 20 6f 66 20 74 68 65 ions.return.the.real.part.of.the
21820 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 .complex.number.<VAR>z</VAR>....
21840 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 ......sq.~......w.....t..complex
21860 2e 68 78 71 00 7e 05 62 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a .hxq.~.bt..complex.long.double.z
21880 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 63 72 79 70 74 73 71 00 7e 00 0a 70 74 09 bc t..long.doublet..cryptsq.~..pt..
218a0 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 63 72 79 70 .........<br><br>.The.<CODE>cryp
218c0 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 20 70 61 73 73 77 6f t</CODE>.function.takes.a.passwo
218e0 72 64 2c 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 2c 20 61 73 20 61 20 73 74 72 69 6e 67 2c rd,.<VAR>key</VAR>,.as.a.string,
21900 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 61 20 3c 56 41 52 3e 73 61 6c 74 3c 2f 56 41 52 3e 20 .and..........a.<VAR>salt</VAR>.
21920 63 68 61 72 61 63 74 65 72 20 61 72 72 61 79 20 77 68 69 63 68 20 69 73 20 64 65 73 63 72 69 62 character.array.which.is.describ
21940 65 64 20 62 65 6c 6f 77 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 20 20 ed.below,.and.returns.a.........
21960 20 70 72 69 6e 74 61 62 6c 65 20 41 53 43 49 49 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 73 74 .printable.ASCII.string.which.st
21980 61 72 74 73 20 77 69 74 68 20 61 6e 6f 74 68 65 72 20 73 61 6c 74 2e 20 20 49 74 20 69 73 20 62 arts.with.another.salt...It.is.b
219a0 65 6c 69 65 76 65 64 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 2c 20 67 69 76 65 6e 20 74 68 65 elieved..........that,.given.the
219c0 20 6f 75 74 70 75 74 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 62 65 73 .output.of.the.function,.the.bes
219e0 74 20 77 61 79 20 74 6f 20 66 69 6e 64 20 61 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 0a 20 t.way.to.find.a.<VAR>key</VAR>..
21a00 20 20 20 20 20 20 20 20 74 68 61 74 20 77 69 6c 6c 20 70 72 6f 64 75 63 65 20 74 68 61 74 20 6f ........that.will.produce.that.o
21a20 75 74 70 75 74 20 69 73 20 74 6f 20 67 75 65 73 73 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 52 utput.is.to.guess.values.of.<VAR
21a40 3e 6b 65 79 3c 2f 56 41 52 3e 20 75 6e 74 69 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 72 >key</VAR>.until.the..........or
21a60 69 67 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 20 69 iginal.value.of.<VAR>key</VAR>.i
21a80 73 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c s.found...........<br><br>.The.<
21aa0 56 41 52 3e 73 61 6c 74 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 64 6f 65 73 20 74 77 VAR>salt</VAR>.parameter.does.tw
21ac0 6f 20 74 68 69 6e 67 73 2e 20 20 46 69 72 73 74 6c 79 2c 20 69 74 20 73 65 6c 65 63 74 73 20 77 o.things...Firstly,.it.selects.w
21ae0 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 61 6c 67 6f 72 69 74 68 6d 20 69 73 20 75 73 65 64 2c hich..........algorithm.is.used,
21b00 20 74 68 65 20 4d 44 35 2d 62 61 73 65 64 20 6f 6e 65 20 6f 72 20 74 68 65 20 44 45 53 2d 62 61 .the.MD5-based.one.or.the.DES-ba
21b20 73 65 64 20 6f 6e 65 2e 20 20 53 65 63 6f 6e 64 6c 79 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 sed.one...Secondly,.it..........
21b40 6d 61 6b 65 73 20 6c 69 66 65 20 68 61 72 64 65 72 20 66 6f 72 20 73 6f 6d 65 6f 6e 65 20 74 72 makes.life.harder.for.someone.tr
21b60 79 69 6e 67 20 74 6f 20 67 75 65 73 73 20 70 61 73 73 77 6f 72 64 73 20 61 67 61 69 6e 73 74 20 ying.to.guess.passwords.against.
21b80 61 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6d 61 6e 79 20 a.file..........containing.many.
21ba0 70 61 73 73 77 6f 72 64 73 3b 20 77 69 74 68 6f 75 74 20 61 20 3c 56 41 52 3e 73 61 6c 74 3c 2f passwords;.without.a.<VAR>salt</
21bc0 56 41 52 3e 2c 20 61 6e 20 69 6e 74 72 75 64 65 72 20 63 61 6e 20 6d 61 6b 65 20 61 0a 20 20 20 VAR>,.an.intruder.can.make.a....
21be0 20 20 20 20 20 20 67 75 65 73 73 2c 20 72 75 6e 20 3c 43 4f 44 45 3e 63 72 79 70 74 3c 2f 43 4f ......guess,.run.<CODE>crypt</CO
21c00 44 45 3e 20 6f 6e 20 69 74 20 6f 6e 63 65 2c 20 61 6e 64 20 63 6f 6d 70 61 72 65 20 74 68 65 20 DE>.on.it.once,.and.compare.the.
21c20 72 65 73 75 6c 74 20 77 69 74 68 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 61 73 result.with.all.the..........pas
21c40 73 77 6f 72 64 73 2e 20 20 57 69 74 68 20 61 20 3c 56 41 52 3e 73 61 6c 74 3c 2f 56 41 52 3e 2c swords...With.a.<VAR>salt</VAR>,
21c60 20 74 68 65 20 69 6e 74 72 75 64 65 72 20 6d 75 73 74 20 72 75 6e 20 3c 43 4f 44 45 3e 63 72 79 .the.intruder.must.run.<CODE>cry
21c80 70 74 3c 2f 43 4f 44 45 3e 20 6f 6e 63 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 61 63 68 pt</CODE>.once..........for.each
21ca0 20 64 69 66 66 65 72 65 6e 74 20 73 61 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .different.salt...........<br><b
21cc0 72 3e 20 46 6f 72 20 74 68 65 20 4d 44 35 2d 62 61 73 65 64 20 61 6c 67 6f 72 69 74 68 6d 2c 20 r>.For.the.MD5-based.algorithm,.
21ce0 74 68 65 20 3c 56 41 52 3e 73 61 6c 74 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 63 6f 6e 73 69 the.<VAR>salt</VAR>.should.consi
21d00 73 74 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e st.of.the.string..........<CODE>
21d20 24 31 24 3c 2f 43 4f 44 45 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 75 70 20 74 6f 20 38 20 $1$</CODE>,.followed.by.up.to.8.
21d40 63 68 61 72 61 63 74 65 72 73 2c 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 65 69 74 68 65 72 characters,.terminated.by.either
21d60 0a 20 20 20 20 20 20 20 20 20 61 6e 6f 74 68 65 72 20 3c 43 4f 44 45 3e 24 3c 2f 43 4f 44 45 3e ..........another.<CODE>$</CODE>
21d80 20 6f 72 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 .or.the.end.of.the.string...The.
21da0 72 65 73 75 6c 74 20 6f 66 20 3c 43 4f 44 45 3e 63 72 79 70 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 result.of.<CODE>crypt</CODE>....
21dc0 20 20 20 20 20 20 77 69 6c 6c 20 62 65 20 74 68 65 20 3c 56 41 52 3e 73 61 6c 74 3c 2f 56 41 52 ......will.be.the.<VAR>salt</VAR
21de0 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 3c 43 4f 44 45 3e 24 3c 2f 43 4f 44 45 3e 20 >,.followed.by.a.<CODE>$</CODE>.
21e00 69 66 20 74 68 65 20 73 61 6c 74 20 64 69 64 6e 27 74 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 if.the.salt.didn't.end..........
21e20 77 69 74 68 20 6f 6e 65 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 32 32 20 63 68 61 72 61 63 74 with.one,.followed.by.22.charact
21e40 65 72 73 20 66 72 6f 6d 20 74 68 65 20 61 6c 70 68 61 62 65 74 0a 20 20 20 20 20 20 20 20 20 3c ers.from.the.alphabet..........<
21e60 43 4f 44 45 3e 2e 2f 30 2d 39 41 2d 5a 61 2d 7a 3c 2f 43 4f 44 45 3e 2c 20 75 70 20 74 6f 20 33 CODE>./0-9A-Za-z</CODE>,.up.to.3
21e80 34 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 74 61 6c 2e 20 20 45 76 65 72 79 20 63 68 61 72 61 4.characters.total...Every.chara
21ea0 63 74 65 72 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 cter.in.the..........<VAR>key</V
21ec0 41 52 3e 20 69 73 20 73 69 67 6e 69 66 69 63 61 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 AR>.is.significant...........<br
21ee0 3e 3c 62 72 3e 20 46 6f 72 20 74 68 65 20 44 45 53 2d 62 61 73 65 64 20 61 6c 67 6f 72 69 74 68 ><br>.For.the.DES-based.algorith
21f00 6d 2c 20 74 68 65 20 3c 56 41 52 3e 73 61 6c 74 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 63 6f m,.the.<VAR>salt</VAR>.should.co
21f20 6e 73 69 73 74 20 6f 66 20 74 77 6f 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 nsist.of.two..........characters
21f40 20 66 72 6f 6d 20 74 68 65 20 61 6c 70 68 61 62 65 74 20 3c 43 4f 44 45 3e 2e 2f 30 2d 39 41 2d .from.the.alphabet.<CODE>./0-9A-
21f60 5a 61 2d 7a 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 20 Za-z</CODE>,.and.the.result.of..
21f80 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 63 72 79 70 74 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 ........<CODE>crypt</CODE>.will.
21fa0 62 65 20 74 68 6f 73 65 20 74 77 6f 20 63 68 61 72 61 63 74 65 72 73 20 66 6f 6c 6c 6f 77 65 64 be.those.two.characters.followed
21fc0 20 62 79 20 31 31 20 6d 6f 72 65 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 61 .by.11.more.from.the..........sa
21fe0 6d 65 20 61 6c 70 68 61 62 65 74 2c 20 31 33 20 69 6e 20 74 6f 74 61 6c 2e 20 20 4f 6e 6c 79 20 me.alphabet,.13.in.total...Only.
22000 74 68 65 20 66 69 72 73 74 20 38 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 0a 20 20 the.first.8.characters.in.the...
22020 20 20 20 20 20 20 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 20 61 72 65 20 73 69 67 6e 69 66 .......<VAR>key</VAR>.are.signif
22040 69 63 61 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 4d 44 35 icant...........<br><br>.The.MD5
22060 2d 62 61 73 65 64 20 61 6c 67 6f 72 69 74 68 6d 20 68 61 73 20 6e 6f 20 6c 69 6d 69 74 20 6f 6e -based.algorithm.has.no.limit.on
22080 20 74 68 65 20 75 73 65 66 75 6c 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 .the.useful.length.of.the.......
220a0 20 20 20 70 61 73 73 77 6f 72 64 20 75 73 65 64 2c 20 61 6e 64 20 69 73 20 73 6c 69 67 68 74 6c ...password.used,.and.is.slightl
220c0 79 20 6d 6f 72 65 20 73 65 63 75 72 65 2e 20 20 49 74 20 69 73 20 74 68 65 72 65 66 6f 72 65 20 y.more.secure...It.is.therefore.
220e0 70 72 65 66 65 72 72 65 64 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 20 74 68 65 20 44 45 53 2d preferred..........over.the.DES-
22100 62 61 73 65 64 20 61 6c 67 6f 72 69 74 68 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 based.algorithm...........<br><b
22120 72 3e 20 57 68 65 6e 20 74 68 65 20 75 73 65 72 20 65 6e 74 65 72 73 20 74 68 65 69 72 20 70 61 r>.When.the.user.enters.their.pa
22140 73 73 77 6f 72 64 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 2c 20 74 68 65 20 3c ssword.for.the.first.time,.the.<
22160 56 41 52 3e 73 61 6c 74 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 62 VAR>salt</VAR>..........should.b
22180 65 20 73 65 74 20 74 6f 20 61 20 6e 65 77 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 69 73 20 72 e.set.to.a.new.string.which.is.r
221a0 65 61 73 6f 6e 61 62 6c 79 20 72 61 6e 64 6f 6d 2e 20 20 54 6f 20 76 65 72 69 66 79 20 61 0a 20 easonably.random...To.verify.a..
221c0 20 20 20 20 20 20 20 20 70 61 73 73 77 6f 72 64 20 61 67 61 69 6e 73 74 20 74 68 65 20 72 65 73 ........password.against.the.res
221e0 75 6c 74 20 6f 66 20 61 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e ult.of.a.previous.call.to.<CODE>
22200 63 72 79 70 74 3c 2f 43 4f 44 45 3e 2c 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 crypt</CODE>,.pass..........the.
22220 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 20 61 73 20 74 result.of.the.previous.call.as.t
22240 68 65 20 3c 56 41 52 3e 73 61 6c 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e he.<VAR>salt</VAR>..........sq.~
22260 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 72 79 70 74 2e 68 78 71 00 7e 05 69 74 00 21 63 ......w.....t..crypt.hxq.~.it.!c
22280 6f 6e 73 74 20 63 68 61 72 20 2a 6b 65 79 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 61 6c 74 onst.char.*key,.const.char.*salt
222a0 74 00 06 63 68 61 72 20 2a 74 00 07 63 72 79 70 74 5f 72 73 71 00 7e 00 0a 70 74 01 a7 0a 20 20 t..char.*t..crypt_rsq.~..pt.....
222c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 63 72 79 70 74 5f 72 ......<br><br>.The.<CODE>crypt_r
222e0 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 74 </CODE>.function.does.the.same.t
22300 68 69 6e 67 20 61 73 20 3c 43 4f 44 45 3e 63 72 79 70 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 0a hing.as.<CODE>crypt</CODE>,.but.
22320 20 20 20 20 20 20 20 20 20 74 61 6b 65 73 20 61 6e 20 65 78 74 72 61 20 70 61 72 61 6d 65 74 65 .........takes.an.extra.paramete
22340 72 20 77 68 69 63 68 20 69 6e 63 6c 75 64 65 73 20 73 70 61 63 65 20 66 6f 72 20 69 74 73 20 72 r.which.includes.space.for.its.r
22360 65 73 75 6c 74 20 28 61 6d 6f 6e 67 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 74 68 69 6e esult.(among..........other.thin
22380 67 73 29 2c 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 72 65 65 6e 74 72 61 6e 74 2e 20 20 3c 43 gs),.so.it.can.be.reentrant...<C
223a0 4f 44 45 3e 64 61 74 61 2d 3e 3c 2f 43 4f 44 45 3e 69 6e 69 74 69 61 6c 69 7a 65 64 20 6d 75 73 ODE>data-></CODE>initialized.mus
223c0 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 63 6c 65 61 72 65 64 20 74 6f 20 7a 65 72 6f 20 62 65 t.be..........cleared.to.zero.be
223e0 66 6f 72 65 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 3c 43 4f 44 45 3e 63 72 79 70 74 5f fore.the.first.time.<CODE>crypt_
22400 72 3c 2f 43 4f 44 45 3e 20 69 73 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 r</CODE>.is.called...........<br
22420 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 63 72 79 70 74 5f 72 3c 2f 43 4f 44 45 3e 20 66 ><br>.The.<CODE>crypt_r</CODE>.f
22440 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 unction.is.a.GNU.extension......
22460 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 72 79 70 74 2e 68 78 71 ....sq.~......w.....t..crypt.hxq
22480 00 7e 05 70 74 00 3d 63 6f 6e 73 74 20 63 68 61 72 20 2a 6b 65 79 2c 20 63 6f 6e 73 74 20 63 68 .~.pt.=const.char.*key,.const.ch
224a0 61 72 20 2a 73 61 6c 74 2c 20 7b 73 74 72 75 63 74 20 63 72 79 70 74 5f 64 61 74 61 20 2a 7d 20 ar.*salt,.{struct.crypt_data.*}.
224c0 64 61 74 61 74 00 06 63 68 61 72 20 2a 74 00 04 63 73 69 6e 73 71 00 7e 00 0a 70 74 00 e4 0a 20 datat..char.*t..csinsq.~..pt....
224e0 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 .......These.functions.return.th
22500 65 20 63 6f 6d 70 6c 65 78 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a e.complex.sine.of.<VAR>z</VAR>..
22520 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 20 64 65 66 69 6e 69 .........The.mathematical.defini
22540 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 73 69 6e 65 20 69 73 0a 20 20 20 20 tion.of.the.complex.sine.is.....
22560 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 73 69 6e 20 28 7a 29 20 .....<br><br>...........sin.(z).
22580 3d 20 31 2f 28 32 2a 69 29 20 2a 20 28 65 78 70 20 28 7a 2a 69 29 20 2d 20 65 78 70 20 28 2d 7a =.1/(2*i).*.(exp.(z*i).-.exp.(-z
225a0 2a 69 29 29 2e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 *i))............................
225c0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 ..sq.~......w.....t..complex.hxq
225e0 00 7e 05 77 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 .~.wt..complex.double.zt..comple
22600 78 20 64 6f 75 62 6c 65 74 00 05 63 73 69 6e 66 73 71 00 7e 00 0a 70 74 00 e4 0a 20 20 20 20 20 x.doublet..csinfsq.~..pt........
22620 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f ...These.functions.return.the.co
22640 6d 70 6c 65 78 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 mplex.sine.of.<VAR>z</VAR>......
22660 20 20 20 20 20 54 68 65 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e .....The.mathematical.definition
22680 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 73 69 6e 65 20 69 73 0a 20 20 20 20 20 20 20 20 .of.the.complex.sine.is.........
226a0 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 73 69 6e 20 28 7a 29 20 3d 20 31 2f .<br><br>...........sin.(z).=.1/
226c0 28 32 2a 69 29 20 2a 20 28 65 78 70 20 28 7a 2a 69 29 20 2d 20 65 78 70 20 28 2d 7a 2a 69 29 29 (2*i).*.(exp.(z*i).-.exp.(-z*i))
226e0 2e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 73 71 ..............................sq
22700 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 7e .~......w.....t..complex.hxq.~.~
22720 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f t..complex.float.zt..complex.flo
22740 61 74 74 00 05 63 73 69 6e 68 73 71 00 7e 00 0a 70 74 00 b5 0a 20 20 20 20 20 20 20 20 54 68 65 att..csinhsq.~..pt...........The
22760 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 se.functions.return.the.complex.
22780 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2c hyperbolic.sine.of.<VAR>z</VAR>,
227a0 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 .defined..........mathematically
227c0 20 61 73 20 3c 43 4f 44 45 3e 28 65 78 70 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2d 20 .as.<CODE>(exp.(<VAR>z</VAR>).-.
227e0 65 78 70 20 28 2d 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 4f 44 45 3e 2e exp.(-<VAR>z</VAR>))./.2</CODE>.
22800 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 .........sq.~......w.....t..comp
22820 6c 65 78 2e 68 78 71 00 7e 05 85 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 lex.hxq.~..t..complex.double.zt.
22840 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 06 63 73 69 6e 68 66 73 71 00 7e 00 0a 70 74 .complex.doublet..csinhfsq.~..pt
22860 00 b5 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 ...........These.functions.retur
22880 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 6f 66 n.the.complex.hyperbolic.sine.of
228a0 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2c 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 .<VAR>z</VAR>,.defined..........
228c0 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 28 65 78 70 20 28 3c 56 mathematically.as.<CODE>(exp.(<V
228e0 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2d 20 65 78 70 20 28 2d 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e AR>z</VAR>).-.exp.(-<VAR>z</VAR>
22900 29 29 20 2f 20 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 ))./.2</CODE>..........sq.~.....
22920 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 8c 74 00 0f 63 6f 6d 70 .w.....t..complex.hxq.~..t..comp
22940 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 74 00 06 63 73 lex.float.zt..complex.floatt..cs
22960 69 6e 68 6c 73 71 00 7e 00 0a 70 74 00 b5 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e inhlsq.~..pt...........These.fun
22980 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 ctions.return.the.complex.hyperb
229a0 6f 6c 69 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2c 20 64 65 66 69 6e olic.sine.of.<VAR>z</VAR>,.defin
229c0 65 64 0a 20 20 20 20 20 20 20 20 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 ed..........mathematically.as.<C
229e0 4f 44 45 3e 28 65 78 70 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2d 20 65 78 70 20 28 2d ODE>(exp.(<VAR>z</VAR>).-.exp.(-
22a00 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 <VAR>z</VAR>))./.2</CODE>.......
22a20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 ...sq.~......w.....t..complex.hx
22a40 71 00 7e 05 93 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 13 q.~..t..complex.long.double.zt..
22a60 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 63 73 69 6e 6c 73 71 00 7e 00 complex.long.doublet..csinlsq.~.
22a80 0a 70 74 00 e4 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 .pt...........These.functions.re
22aa0 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 7a 3c turn.the.complex.sine.of.<VAR>z<
22ac0 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 61 74 68 65 6d 61 74 69 63 61 6c /VAR>...........The.mathematical
22ae0 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 73 69 6e 65 20 .definition.of.the.complex.sine.
22b00 69 73 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 73 is..........<br><br>...........s
22b20 69 6e 20 28 7a 29 20 3d 20 31 2f 28 32 2a 69 29 20 2a 20 28 65 78 70 20 28 7a 2a 69 29 20 2d 20 in.(z).=.1/(2*i).*.(exp.(z*i).-.
22b40 65 78 70 20 28 2d 7a 2a 69 29 29 2e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 exp.(-z*i)).....................
22b60 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 .........sq.~......w.....t..comp
22b80 6c 65 78 2e 68 78 71 00 7e 05 9a 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c lex.hxq.~..t..complex.long.doubl
22ba0 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 63 73 71 72 e.zt..complex.long.doublet..csqr
22bc0 74 73 71 00 7e 00 0a 70 74 00 bb 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 tsq.~..pt...........These.functi
22be0 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 73 71 75 61 72 65 20 72 6f ons.return.the.complex.square.ro
22c00 6f 74 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e ot.of.the.argument.<VAR>z</VAR>.
22c20 20 20 55 6e 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 61 6c 2d 76 61 6c 75 65 ..Unlike..........the.real-value
22c40 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 79 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f d.functions,.they.are.defined.fo
22c60 72 20 61 6c 6c 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 r.all.values.of.<VAR>z</VAR>....
22c80 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 ......sq.~......w.....t..complex
22ca0 2e 68 78 71 00 7e 05 a1 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 7a 74 00 0e 63 6f .hxq.~..t..complex.double.zt..co
22cc0 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 06 63 73 71 72 74 66 73 71 00 7e 00 0a 70 74 00 bb 0a mplex.doublet..csqrtfsq.~..pt...
22ce0 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 ........These.functions.return.t
22d00 68 65 20 63 6f 6d 70 6c 65 78 20 73 71 75 61 72 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 20 61 72 he.complex.square.root.of.the.ar
22d20 67 75 6d 65 6e 74 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 20 20 55 6e 6c 69 6b 65 0a 20 20 20 gument.<VAR>z</VAR>...Unlike....
22d40 20 20 20 20 20 20 74 68 65 20 72 65 61 6c 2d 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c ......the.real-valued.functions,
22d60 20 74 68 65 79 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 61 6c 6c 20 76 61 6c 75 65 73 .they.are.defined.for.all.values
22d80 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f .of.<VAR>z</VAR>..........sq.~..
22da0 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 a8 74 00 0f 63 ....w.....t..complex.hxq.~..t..c
22dc0 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 74 00 omplex.float.zt..complex.floatt.
22de0 06 63 73 71 72 74 6c 73 71 00 7e 00 0a 70 74 00 bb 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 .csqrtlsq.~..pt...........These.
22e00 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 73 71 75 functions.return.the.complex.squ
22e20 61 72 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 7a 3c are.root.of.the.argument.<VAR>z<
22e40 2f 56 41 52 3e 2e 20 20 55 6e 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 61 6c /VAR>...Unlike..........the.real
22e60 2d 76 61 6c 75 65 64 20 66 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 79 20 61 72 65 20 64 65 66 69 -valued.functions,.they.are.defi
22e80 6e 65 64 20 66 6f 72 20 61 6c 6c 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 ned.for.all.values.of.<VAR>z</VA
22ea0 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 R>..........sq.~......w.....t..c
22ec0 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 af 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f omplex.hxq.~..t..complex.long.do
22ee0 75 62 6c 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 63 uble.zt..complex.long.doublet..c
22f00 74 61 6e 73 71 00 7e 00 0a 70 74 01 bf 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 tansq.~..pt...........These.func
22f20 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 74 61 6e 67 65 6e 74 tions.return.the.complex.tangent
22f40 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d .of.<VAR>z</VAR>...........The.m
22f60 61 74 68 65 6d 61 74 69 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f athematical.definition.of.the.co
22f80 6d 70 6c 65 78 20 74 61 6e 67 65 6e 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 mplex.tangent.is..........<br><b
22fa0 72 3e 20 0a 20 20 20 20 20 20 20 20 20 74 61 6e 20 28 7a 29 20 3d 20 2d 69 20 2a 20 28 65 78 70 r>...........tan.(z).=.-i.*.(exp
22fc0 20 28 7a 2a 69 29 20 2d 20 65 78 70 20 28 2d 7a 2a 69 29 29 20 2f 20 28 65 78 70 20 28 7a 2a 69 .(z*i).-.exp.(-z*i))./.(exp.(z*i
22fe0 29 20 2b 20 65 78 70 20 28 2d 7a 2a 69 29 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 ).+.exp.(-z*i)).................
23000 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 .............<br><br>...........
23020 54 68 65 20 63 6f 6d 70 6c 65 78 20 74 61 6e 67 65 6e 74 20 68 61 73 20 70 6f 6c 65 73 20 61 74 The.complex.tangent.has.poles.at
23040 20 70 69 2f 32 20 2b 20 32 6e 2c 20 77 68 65 72 65 20 6e 20 69 73 20 61 6e 0a 20 20 20 20 20 20 .pi/2.+.2n,.where.n.is.an.......
23060 20 20 20 69 6e 74 65 67 65 72 2e 20 20 3c 43 4f 44 45 3e 63 74 61 6e 3c 2f 43 4f 44 45 3e 20 6d ...integer...<CODE>ctan</CODE>.m
23080 61 79 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 ay.signal.overflow.if.<VAR>z</VA
230a0 52 3e 20 69 73 20 74 6f 6f 20 63 6c 6f 73 65 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f R>.is.too.close.to.a..........po
230c0 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 le..........sq.~......w.....t..c
230e0 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 b6 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 20 omplex.hxq.~..t..complex.double.
23100 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 05 63 74 61 6e 66 73 71 00 7e 00 0a zt..complex.doublet..ctanfsq.~..
23120 70 74 01 bf 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 pt...........These.functions.ret
23140 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e urn.the.complex.tangent.of.<VAR>
23160 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 61 74 68 65 6d 61 74 69 63 z</VAR>...........The.mathematic
23180 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 74 61 6e al.definition.of.the.complex.tan
231a0 67 65 6e 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 gent.is..........<br><br>.......
231c0 20 20 20 20 74 61 6e 20 28 7a 29 20 3d 20 2d 69 20 2a 20 28 65 78 70 20 28 7a 2a 69 29 20 2d 20 ....tan.(z).=.-i.*.(exp.(z*i).-.
231e0 65 78 70 20 28 2d 7a 2a 69 29 29 20 2f 20 28 65 78 70 20 28 7a 2a 69 29 20 2b 20 65 78 70 20 28 exp.(-z*i))./.(exp.(z*i).+.exp.(
23200 2d 7a 2a 69 29 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 -z*i))..........................
23220 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 6c ....<br><br>...........The.compl
23240 65 78 20 74 61 6e 67 65 6e 74 20 68 61 73 20 70 6f 6c 65 73 20 61 74 20 70 69 2f 32 20 2b 20 32 ex.tangent.has.poles.at.pi/2.+.2
23260 6e 2c 20 77 68 65 72 65 20 6e 20 69 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 67 65 n,.where.n.is.an..........intege
23280 72 2e 20 20 3c 43 4f 44 45 3e 63 74 61 6e 3c 2f 43 4f 44 45 3e 20 6d 61 79 20 73 69 67 6e 61 6c r...<CODE>ctan</CODE>.may.signal
232a0 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f .overflow.if.<VAR>z</VAR>.is.too
232c0 20 63 6c 6f 73 65 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 6c 65 2e 0a 20 20 20 20 20 .close.to.a..........pole.......
232e0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 ...sq.~......w.....t..complex.hx
23300 71 00 7e 05 bd 74 00 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 q.~..t..complex.float.zt..comple
23320 78 20 66 6c 6f 61 74 74 00 05 63 74 61 6e 68 73 71 00 7e 00 0a 70 74 00 b5 0a 20 20 20 20 20 20 x.floatt..ctanhsq.~..pt.........
23340 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d ..These.functions.return.the.com
23360 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e plex.hyperbolic.tangent.of.<VAR>
23380 7a 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d z</VAR>,..........defined.mathem
233a0 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 63 73 69 6e 68 20 28 3c 56 41 52 3e 7a 3c atically.as.<CODE>csinh.(<VAR>z<
233c0 2f 56 41 52 3e 29 20 2f 20 63 63 6f 73 68 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 3c 2f 43 /VAR>)./.ccosh.(<VAR>z</VAR>)</C
233e0 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 ODE>..........sq.~......w.....t.
23400 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 c4 74 00 10 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c .complex.hxq.~..t..complex.doubl
23420 65 20 7a 74 00 0e 63 6f 6d 70 6c 65 78 20 64 6f 75 62 6c 65 74 00 06 63 74 61 6e 68 66 73 71 00 e.zt..complex.doublet..ctanhfsq.
23440 7e 00 0a 70 74 00 b5 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 ~..pt...........These.functions.
23460 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 return.the.complex.hyperbolic.ta
23480 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 ngent.of.<VAR>z</VAR>,..........
234a0 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e defined.mathematically.as.<CODE>
234c0 63 73 69 6e 68 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 20 2f 20 63 63 6f 73 68 20 28 3c 56 csinh.(<VAR>z</VAR>)./.ccosh.(<V
234e0 41 52 3e 7a 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e AR>z</VAR>)</CODE>..........sq.~
23500 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c 65 78 2e 68 78 71 00 7e 05 cb 74 00 ......w.....t..complex.hxq.~..t.
23520 0f 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 20 7a 74 00 0d 63 6f 6d 70 6c 65 78 20 66 6c 6f 61 74 .complex.float.zt..complex.float
23540 74 00 06 63 74 61 6e 68 6c 73 71 00 7e 00 0a 70 74 00 b5 0a 20 20 20 20 20 20 20 20 54 68 65 73 t..ctanhlsq.~..pt...........Thes
23560 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 68 e.functions.return.the.complex.h
23580 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 yperbolic.tangent.of.<VAR>z</VAR
235a0 3e 2c 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c >,..........defined.mathematical
235c0 6c 79 20 61 73 20 3c 43 4f 44 45 3e 63 73 69 6e 68 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 ly.as.<CODE>csinh.(<VAR>z</VAR>)
235e0 20 2f 20 63 63 6f 73 68 20 28 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2e 0a ./.ccosh.(<VAR>z</VAR>)</CODE>..
23600 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 6c ........sq.~......w.....t..compl
23620 65 78 2e 68 78 71 00 7e 05 d2 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 ex.hxq.~..t..complex.long.double
23640 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 63 74 61 6e 6c .zt..complex.long.doublet..ctanl
23660 73 71 00 7e 00 0a 70 74 01 bf 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f sq.~..pt...........These.functio
23680 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 6d 70 6c 65 78 20 74 61 6e 67 65 6e 74 20 6f 66 ns.return.the.complex.tangent.of
236a0 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 61 74 68 .<VAR>z</VAR>...........The.math
236c0 65 6d 61 74 69 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 6c ematical.definition.of.the.compl
236e0 65 78 20 74 61 6e 67 65 6e 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ex.tangent.is..........<br><br>.
23700 0a 20 20 20 20 20 20 20 20 20 74 61 6e 20 28 7a 29 20 3d 20 2d 69 20 2a 20 28 65 78 70 20 28 7a ..........tan.(z).=.-i.*.(exp.(z
23720 2a 69 29 20 2d 20 65 78 70 20 28 2d 7a 2a 69 29 29 20 2f 20 28 65 78 70 20 28 7a 2a 69 29 20 2b *i).-.exp.(-z*i))./.(exp.(z*i).+
23740 20 65 78 70 20 28 2d 7a 2a 69 29 29 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 .exp.(-z*i))....................
23760 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 65 ..........<br><br>...........The
23780 20 63 6f 6d 70 6c 65 78 20 74 61 6e 67 65 6e 74 20 68 61 73 20 70 6f 6c 65 73 20 61 74 20 70 69 .complex.tangent.has.poles.at.pi
237a0 2f 32 20 2b 20 32 6e 2c 20 77 68 65 72 65 20 6e 20 69 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 /2.+.2n,.where.n.is.an..........
237c0 69 6e 74 65 67 65 72 2e 20 20 3c 43 4f 44 45 3e 63 74 61 6e 3c 2f 43 4f 44 45 3e 20 6d 61 79 20 integer...<CODE>ctan</CODE>.may.
237e0 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 20 signal.overflow.if.<VAR>z</VAR>.
23800 69 73 20 74 6f 6f 20 63 6c 6f 73 65 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 6c 65 2e is.too.close.to.a..........pole.
23820 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 63 6f 6d 70 .........sq.~......w.....t..comp
23840 6c 65 78 2e 68 78 71 00 7e 05 d9 74 00 15 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c lex.hxq.~..t..complex.long.doubl
23860 65 20 7a 74 00 13 63 6f 6d 70 6c 65 78 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 07 63 74 65 72 e.zt..complex.long.doublet..cter
23880 6d 69 64 73 71 00 7e 00 0a 70 74 02 af 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e midsq.~..pt...........The.<CODE>
238a0 63 74 65 72 6d 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 ctermid</CODE>.function.returns.
238c0 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 6e 61 6d a.string.containing.the.file.nam
238e0 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 74 65 e.of..........the.controlling.te
23900 72 6d 69 6e 61 6c 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 63 65 73 73 2e 20 rminal.for.the.current.process..
23920 20 49 66 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 .If.<VAR>string</VAR>.is........
23940 20 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 69 74 20 73 68 6f 75 6c 64 20 ..not.a.null.pointer,.it.should.
23960 62 65 20 61 6e 20 61 72 72 61 79 20 74 68 61 74 20 63 61 6e 20 68 6f 6c 64 20 61 74 20 6c 65 61 be.an.array.that.can.hold.at.lea
23980 73 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 5f 63 74 65 72 6d 69 64 3c 2f 43 4f 44 st..........<CODE>L_ctermid</COD
239a0 45 3e 20 63 68 61 72 61 63 74 65 72 73 3b 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 72 65 74 E>.characters;.the.string.is.ret
239c0 75 72 6e 65 64 20 69 6e 20 74 68 69 73 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 20 20 20 4f 74 urned.in.this.array...........Ot
239e0 68 65 72 77 69 73 65 2c 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 69 6e 67 20 69 herwise,.a.pointer.to.a.string.i
23a00 6e 20 61 20 73 74 61 74 69 63 20 61 72 65 61 20 69 73 20 72 65 74 75 72 6e 65 64 2c 20 77 68 69 n.a.static.area.is.returned,.whi
23a20 63 68 0a 20 20 20 20 20 20 20 20 20 6d 69 67 68 74 20 67 65 74 20 6f 76 65 72 77 72 69 74 74 65 ch..........might.get.overwritte
23a40 6e 20 6f 6e 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 74 68 69 73 20 66 75 n.on.subsequent.calls.to.this.fu
23a60 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 20 65 6d 70 nction...........<br><br>.An.emp
23a80 74 79 20 73 74 72 69 6e 67 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 66 20 74 68 65 20 66 69 6c ty.string.is.returned.if.the.fil
23aa0 65 20 6e 61 6d 65 20 63 61 6e 6e 6f 74 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 20 66 6f 72 0a e.name.cannot.be.determined.for.
23ac0 20 20 20 20 20 20 20 20 20 61 6e 79 20 72 65 61 73 6f 6e 2e 20 20 45 76 65 6e 20 69 66 20 61 20 .........any.reason...Even.if.a.
23ae0 66 69 6c 65 20 6e 61 6d 65 20 69 73 20 72 65 74 75 72 6e 65 64 2c 20 61 63 63 65 73 73 20 74 6f file.name.is.returned,.access.to
23b00 20 74 68 65 20 66 69 6c 65 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 73 .the.file.it..........represents
23b20 20 69 73 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e .is.not.guaranteed..........sq.~
23b40 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 05 e0 74 00 0c 63 ......w.....t..stdio.hxq.~..t..c
23b60 68 61 72 20 2a 73 74 72 69 6e 67 74 00 06 63 68 61 72 20 2a 74 00 05 63 74 69 6d 65 73 71 00 7e har.*stringt..char.*t..ctimesq.~
23b80 00 0a 70 74 01 e7 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 63 74 69 6d 65 3c 2f ..pt...........The.<CODE>ctime</
23ba0 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f CODE>.function.is.similar.to.<CO
23bc0 44 45 3e 61 73 63 74 69 6d 65 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 79 DE>asctime</CODE>,.except.that.y
23be0 6f 75 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 79 20 74 68 65 20 63 61 6c 65 6e 64 61 72 ou..........specify.the.calendar
23c00 20 74 69 6d 65 20 61 72 67 75 6d 65 6e 74 20 61 73 20 61 20 3c 43 4f 44 45 3e 74 69 6d 65 5f 74 .time.argument.as.a.<CODE>time_t
23c20 3c 2f 43 4f 44 45 3e 20 73 69 6d 70 6c 65 20 74 69 6d 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 </CODE>.simple.time.value.......
23c40 20 20 20 72 61 74 68 65 72 20 74 68 61 6e 20 69 6e 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 6c 6f ...rather.than.in.broken-down.lo
23c60 63 61 6c 20 74 69 6d 65 20 66 6f 72 6d 61 74 2e 20 20 49 74 20 69 73 20 65 71 75 69 76 61 6c 65 cal.time.format...It.is.equivale
23c80 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 nt.to..........<br><br>.<pre><br
23ca0 3e 0a 20 20 20 20 20 20 20 20 20 61 73 63 74 69 6d 65 20 28 6c 6f 63 61 6c 74 69 6d 65 20 28 3c >..........asctime.(localtime.(<
23cc0 56 41 52 3e 74 69 6d 65 3c 2f 56 41 52 3e 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f VAR>time</VAR>))<br>..........</
23ce0 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 63 74 69 pre>..........<br><br>.<CODE>cti
23d00 6d 65 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 me</CODE>.sets.the.variable.<COD
23d20 45 3e 74 7a 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2c 20 62 65 63 61 75 73 65 20 3c 43 4f 44 45 3e 6c E>tzname</CODE>,.because.<CODE>l
23d40 6f 63 61 6c 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 20 73 6f ocaltime</CODE>..........does.so
23d60 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 .............sq.~......w.....t..
23d80 74 69 6d 65 2e 68 78 71 00 7e 05 e7 74 00 12 63 6f 6e 73 74 20 74 69 6d 65 5f 74 20 2a 74 69 6d time.hxq.~..t..const.time_t.*tim
23da0 65 74 00 06 63 68 61 72 20 2a 74 00 07 63 74 69 6d 65 5f 72 73 71 00 7e 00 0a 70 74 02 12 0a 20 et..char.*t..ctime_rsq.~..pt....
23dc0 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 .......This.function.is.similar.
23de0 74 6f 20 3c 43 4f 44 45 3e 63 74 69 6d 65 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 70 6c 61 63 65 to.<CODE>ctime</CODE>,.but.place
23e00 73 20 74 68 65 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 s.the.result.in.the..........str
23e20 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 ing.pointed.to.by.<VAR>buffer</V
23e40 41 52 3e 2e 20 20 49 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 28 77 72 69 74 74 AR>...It.is.equivalent.to.(writt
23e60 65 6e 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 67 63 63 20 65 78 74 65 6e 73 69 6f 6e 73 en.using..........gcc.extensions
23e80 2c 20 29 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e ,.):..........<br><br>.<pre><br>
23ea0 0a 20 20 20 20 20 20 20 20 20 28 7b 20 73 74 72 75 63 74 20 74 6d 20 74 6d 3b 20 61 73 63 74 69 ..........({.struct.tm.tm;.ascti
23ec0 6d 65 5f 72 20 28 6c 6f 63 61 6c 74 69 6d 65 5f 72 20 28 74 69 6d 65 2c 20 26 74 6d 29 2c 20 62 me_r.(localtime_r.(time,.&tm),.b
23ee0 75 66 29 3b 20 7d 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 uf);.})<br>..........</pre>.....
23f00 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 6e 6f 20 65 72 72 6f 72 20 6f 63 63 75 72 72 .....<br><br>.If.no.error.occurr
23f20 65 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 ed.the.function.returns.a.pointe
23f40 72 20 74 6f 20 74 68 65 20 73 74 72 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 73 r.to.the.string.the..........res
23f60 75 6c 74 20 77 61 73 20 77 72 69 74 74 65 6e 20 69 6e 74 6f 2c 20 69 2e 65 2e 2c 20 69 74 20 72 ult.was.written.into,.i.e.,.it.r
23f80 65 74 75 72 6e 73 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 4f 74 68 65 72 eturns.<VAR>buffer</VAR>...Other
23fa0 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c wise..........return.<CODE>NULL<
23fc0 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a /CODE>..........sq.~......w.....
23fe0 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 05 ee 74 00 20 63 6f 6e 73 74 20 74 69 6d 65 5f 74 20 2a t..time.hxq.~..t..const.time_t.*
24000 74 69 6d 65 2c 20 63 68 61 72 20 2a 62 75 66 66 65 72 74 00 06 63 68 61 72 20 2a 74 00 07 63 75 time,.char.*buffert..char.*t..cu
24020 73 65 72 69 64 73 71 00 7e 00 0a 70 74 02 e7 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 seridsq.~..pt...........The.<COD
24040 45 3e 63 75 73 65 72 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e E>cuserid</CODE>.function.return
24060 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 s.a.pointer.to.a.string.containi
24080 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 20 6e 61 6d 65 20 61 73 73 6f 63 69 61 74 ng.a..........user.name.associat
240a0 65 64 20 77 69 74 68 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 49 44 20 6f 66 20 74 68 65 20 ed.with.the.effective.ID.of.the.
240c0 70 72 6f 63 65 73 73 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 69 6e process...If..........<VAR>strin
240e0 67 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 69 g</VAR>.is.not.a.null.pointer,.i
24100 74 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 20 74 68 61 74 20 63 61 6e 20 68 6f t.should.be.an.array.that.can.ho
24120 6c 64 0a 20 20 20 20 20 20 20 20 20 61 74 20 6c 65 61 73 74 20 3c 43 4f 44 45 3e 4c 5f 63 75 73 ld..........at.least.<CODE>L_cus
24140 65 72 69 64 3c 2f 43 4f 44 45 3e 20 63 68 61 72 61 63 74 65 72 73 3b 20 74 68 65 20 73 74 72 69 erid</CODE>.characters;.the.stri
24160 6e 67 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 ng.is.returned.in.this..........
24180 61 72 72 61 79 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 array...Otherwise,.a.pointer.to.
241a0 61 20 73 74 72 69 6e 67 20 69 6e 20 61 20 73 74 61 74 69 63 20 61 72 65 61 20 69 73 20 72 65 74 a.string.in.a.static.area.is.ret
241c0 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 73 74 72 69 6e 67 20 69 73 20 73 urned...........This.string.is.s
241e0 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 61 6e 64 20 6d 69 67 68 74 20 62 65 tatically.allocated.and.might.be
24200 20 6f 76 65 72 77 72 69 74 74 65 6e 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 73 75 62 73 65 71 75 .overwritten.on..........subsequ
24220 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 74 6f ent.calls.to.this.function.or.to
24240 20 3c 43 4f 44 45 3e 67 65 74 6c 6f 67 69 6e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 .<CODE>getlogin</CODE>..........
24260 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 75 73 65 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 .<br><br>.The.use.of.this.functi
24280 6f 6e 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 69 74 20 69 73 20 6d 61 72 on.is.deprecated.since.it.is.mar
242a0 6b 65 64 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 64 72 61 77 6e 20 69 6e 20 ked.to.be..........withdrawn.in.
242c0 58 50 47 34 2e 32 20 61 6e 64 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 72 65 6d 6f XPG4.2.and.has.already.been.remo
242e0 76 65 64 20 66 72 6f 6d 20 6e 65 77 65 72 20 72 65 76 69 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 ved.from.newer.revisions.of.....
24300 20 20 20 20 20 50 4f 53 49 58 2e 31 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .....POSIX.1..........sq.~......
24320 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 05 f5 74 00 0c 63 68 61 72 20 2a 73 w.....t..stdio.hxq.~..t..char.*s
24340 74 72 69 6e 67 74 00 06 63 68 61 72 20 2a 74 00 09 64 63 67 65 74 74 65 78 74 73 71 00 7e 00 0a tringt..char.*t..dcgettextsq.~..
24360 70 74 07 9a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 64 63 67 65 74 74 65 78 74 pt...........The.<CODE>dcgettext
24380 3c 2f 43 4f 44 45 3e 20 61 64 64 73 20 61 6e 6f 74 68 65 72 20 61 72 67 75 6d 65 6e 74 20 74 6f </CODE>.adds.another.argument.to
243a0 20 74 68 6f 73 65 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 64 67 65 74 .those.which..........<CODE>dget
243c0 74 65 78 74 3c 2f 43 4f 44 45 3e 20 74 61 6b 65 73 2e 20 20 54 68 69 73 20 61 72 67 75 6d 65 6e text</CODE>.takes...This.argumen
243e0 74 20 3c 56 41 52 3e 63 61 74 65 67 6f 72 79 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 20 t.<VAR>category</VAR>.specifies.
24400 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 20 20 20 20 70 69 65 63 65 20 6f 66 20 69 6e 66 6f 72 the.last..........piece.of.infor
24420 6d 61 74 69 6f 6e 20 6e 65 65 64 65 64 20 74 6f 20 6c 6f 63 61 6c 69 7a 65 20 74 68 65 20 6d 65 mation.needed.to.localize.the.me
24440 73 73 61 67 65 20 63 61 74 61 6c 6f 67 2e 20 20 49 2e 65 2e 2c 20 74 68 65 0a 20 20 20 20 20 20 ssage.catalog...I.e.,.the.......
24460 20 20 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 61 6e 64 20 74 68 65 20 6c 6f 63 61 6c 65 20 63 61 ...domain.name.and.the.locale.ca
24480 74 65 67 6f 72 79 20 65 78 61 63 74 6c 79 20 73 70 65 63 69 66 79 20 77 68 69 63 68 20 6d 65 73 tegory.exactly.specify.which.mes
244a0 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 63 61 74 61 6c 6f 67 20 68 61 73 20 74 6f 20 62 65 20 sage..........catalog.has.to.be.
244c0 75 73 65 64 20 28 72 65 6c 61 74 69 76 65 20 74 6f 20 61 20 67 69 76 65 6e 20 64 69 72 65 63 74 used.(relative.to.a.given.direct
244e0 6f 72 79 2c 20 73 65 65 20 62 65 6c 6f 77 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ory,.see.below)...........<br><b
24500 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 64 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e r>.The.<CODE>dgettext</CODE>.fun
24520 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 65 78 70 72 65 73 73 65 64 20 69 6e 20 74 65 72 6d 73 20 ction.can.be.expressed.in.terms.
24540 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 64 63 67 65 74 74 65 78 74 3c 2f 43 4f 44 of..........<CODE>dcgettext</COD
24560 45 3e 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 E>.by.using..........<br><br>.<p
24580 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 64 63 67 65 74 74 65 78 74 20 28 64 6f 6d 61 re><br>..........dcgettext.(doma
245a0 69 6e 2c 20 73 74 72 69 6e 67 2c 20 4c 43 5f 4d 45 53 53 41 47 45 53 29 3c 62 72 3e 0a 20 20 20 in,.string,.LC_MESSAGES)<br>....
245c0 20 20 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ......</pre><br>..........<br><b
245e0 72 3e 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 3c 62 72 3e 0a r>.<br>..........instead.of<br>.
24600 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 .........<br><br>.<pre><br>.....
24620 20 20 20 20 20 64 67 65 74 74 65 78 74 20 28 64 6f 6d 61 69 6e 2c 20 73 74 72 69 6e 67 29 3c 62 .....dgettext.(domain,.string)<b
24640 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e r>..........</pre>..........<br>
24660 3c 62 72 3e 20 54 68 69 73 20 61 6c 73 6f 20 73 68 6f 77 73 20 77 68 69 63 68 20 76 61 6c 75 65 <br>.This.also.shows.which.value
24680 73 20 61 72 65 20 65 78 70 65 63 74 65 64 20 66 6f 72 20 74 68 65 20 74 68 69 72 64 20 70 61 72 s.are.expected.for.the.third.par
246a0 61 6d 65 74 65 72 2e 20 20 4f 6e 65 0a 20 20 20 20 20 20 20 20 20 68 61 73 20 74 6f 20 75 73 65 ameter...One..........has.to.use
246c0 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 73 65 6c 65 63 74 6f 72 73 20 66 6f 72 20 74 68 65 .the.available.selectors.for.the
246e0 20 63 61 74 65 67 6f 72 69 65 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 0a 20 20 20 20 20 20 20 .categories.available.in........
24700 20 20 3c 54 54 3e 6c 6f 63 61 6c 65 2e 68 3c 2f 54 54 3e 2e 20 20 4e 6f 72 6d 61 6c 6c 79 20 74 ..<TT>locale.h</TT>...Normally.t
24720 68 65 20 61 76 61 69 6c 61 62 6c 65 20 76 61 6c 75 65 73 20 61 72 65 20 3c 43 4f 44 45 3e 4c 43 he.available.values.are.<CODE>LC
24740 5f 43 54 59 50 45 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 43 _CTYPE</CODE>,..........<CODE>LC
24760 5f 43 4f 4c 4c 41 54 45 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 4c 43 5f 4d 45 53 53 41 47 _COLLATE</CODE>,.<CODE>LC_MESSAG
24780 45 53 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 4c 43 5f 4d 4f 4e 45 54 41 52 59 3c 2f 43 4f ES</CODE>,.<CODE>LC_MONETARY</CO
247a0 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 43 5f 4e 55 4d 45 52 49 43 3c 2f DE>,..........<CODE>LC_NUMERIC</
247c0 43 4f 44 45 3e 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 4c 43 5f 54 49 4d 45 3c 2f 43 4f 44 45 3e 2e CODE>,.and.<CODE>LC_TIME</CODE>.
247e0 20 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 3c 43 4f 44 45 3e 4c 43 5f 41 4c 4c 3c ..Please.note.that.<CODE>LC_ALL<
24800 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 75 73 65 64 /CODE>..........must.not.be.used
24820 20 61 6e 64 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 65 20 6e 61 6d 65 73 20 6d 69 67 68 74 .and.even.though.the.names.might
24840 20 73 75 67 67 65 73 74 20 74 68 69 73 2c 20 74 68 65 72 65 20 69 73 0a 20 20 20 20 20 20 20 20 .suggest.this,.there.is.........
24860 20 6e 6f 20 72 65 6c 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 .no.relation.to.the.environments
24880 20 76 61 72 69 61 62 6c 65 73 20 6f 66 20 74 68 69 73 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 .variables.of.this.name.........
248a0 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 64 63 67 65 74 74 65 78 74 3c 2f ..<br><br>.The.<CODE>dcgettext</
248c0 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 CODE>.function.is.only.implement
248e0 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 0a 20 20 20 20 20 20 ed.for.compatibility.with.......
24900 20 20 20 6f 74 68 65 72 20 73 79 73 74 65 6d 73 20 77 68 69 63 68 20 68 61 76 65 20 3c 43 4f 44 ...other.systems.which.have.<COD
24920 45 3e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 54 68 65 E>gettext</CODE>.functions...The
24940 72 65 20 69 73 20 6e 6f 74 20 72 65 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 61 6e 79 20 73 69 re.is.not.really..........any.si
24960 74 75 61 74 69 6f 6e 20 77 68 65 72 65 20 69 74 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 28 6f tuation.where.it.is.necessary.(o
24980 72 20 75 73 65 66 75 6c 29 20 74 6f 20 75 73 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c r.useful).to.use.a.different.val
249a0 75 65 0a 20 20 20 20 20 20 20 20 20 62 75 74 20 3c 43 4f 44 45 3e 4c 43 5f 4d 45 53 53 41 47 45 ue..........but.<CODE>LC_MESSAGE
249c0 53 3c 2f 43 4f 44 45 3e 20 69 6e 20 66 6f 72 20 74 68 65 20 3c 56 41 52 3e 63 61 74 65 67 6f 72 S</CODE>.in.for.the.<VAR>categor
249e0 79 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 20 57 65 20 61 72 65 0a 20 20 20 20 20 y</VAR>.parameter...We.are......
24a00 20 20 20 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 6d 65 73 73 61 67 65 73 20 68 65 72 65 20 61 ....dealing.with.messages.here.a
24a20 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 63 68 6f 69 63 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 nd.any.other.choice.can.only.be.
24a40 69 72 72 69 74 61 74 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 73 irritating...........<br><br>.As
24a60 20 66 6f 72 20 3c 43 4f 44 45 3e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 74 68 65 20 72 65 .for.<CODE>gettext</CODE>.the.re
24a80 74 75 72 6e 20 76 61 6c 75 65 20 74 79 70 65 20 69 73 20 3c 43 4f 44 45 3e 63 68 61 72 20 2a 3c turn.value.type.is.<CODE>char.*<
24aa0 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 69 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 61 6e 61 63 /CODE>.which.is.an..........anac
24ac0 68 72 6f 6e 69 73 6d 2e 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 6e 67 20 6d 75 hronism...The.returned.string.mu
24ae0 73 74 20 6e 65 76 65 72 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 st.never.be.modified..........sq
24b00 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6c 69 62 69 6e 74 6c 2e 68 78 71 00 7e 05 fc .~......w.....t..libintl.hxq.~..
24b20 74 00 37 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 6f 6d 61 69 6e 6e 61 6d 65 2c 20 63 6f 6e 73 74 t.7const.char.*domainname,.const
24b40 20 63 68 61 72 20 2a 6d 73 67 69 64 2c 20 69 6e 74 20 63 61 74 65 67 6f 72 79 74 00 06 63 68 61 .char.*msgid,.int.categoryt..cha
24b60 72 20 2a 74 00 0a 64 63 6e 67 65 74 74 65 78 74 73 71 00 7e 00 0a 70 74 01 55 0a 20 20 20 20 20 r.*t..dcngettextsq.~..pt.U......
24b80 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 64 63 6e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 69 ...The.<CODE>dcngettext</CODE>.i
24ba0 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 64 63 67 65 74 74 65 78 74 s.similar.to.the.<CODE>dcgettext
24bc0 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 </CODE>.function.in.the.........
24be0 20 77 61 79 20 74 68 65 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 20 69 73 20 73 65 6c 65 .way.the.message.catalog.is.sele
24c00 63 74 65 64 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 69 74 cted...The.difference.is.that.it
24c20 20 74 61 6b 65 73 0a 20 20 20 20 20 20 20 20 20 74 77 6f 20 65 78 74 72 61 20 70 61 72 61 6d 65 .takes..........two.extra.parame
24c40 74 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 74 68 65 20 63 6f 72 72 65 63 74 20 70 6c 75 72 61 ter.to.provide.the.correct.plura
24c60 6c 20 66 6f 72 6d 2e 20 20 54 68 65 73 65 20 74 77 6f 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 l.form...These.two..........para
24c80 6d 65 74 65 72 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 meters.are.handled.in.the.same.w
24ca0 61 79 20 3c 43 4f 44 45 3e 6e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 68 61 6e 64 6c 65 73 ay.<CODE>ngettext</CODE>.handles
24cc0 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 .them..........sq.~......w.....t
24ce0 00 09 6c 69 62 69 6e 74 6c 2e 68 78 71 00 7e 06 03 74 00 5d 63 6f 6e 73 74 20 63 68 61 72 20 2a ..libintl.hxq.~..t.]const.char.*
24d00 64 6f 6d 61 69 6e 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 73 67 69 64 31 2c 20 63 6f 6e 73 domain,.const.char.*msgid1,.cons
24d20 74 20 63 68 61 72 20 2a 6d 73 67 69 64 32 2c 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 6e t.char.*msgid2,.unsigned.long.in
24d40 74 20 6e 2c 20 69 6e 74 20 63 61 74 65 67 6f 72 79 74 00 06 63 68 61 72 20 2a 74 00 0d 64 65 73 t.n,.int.categoryt..char.*t..des
24d60 5f 73 65 74 70 61 72 69 74 79 73 71 00 7e 00 0a 70 74 00 cf 0a 20 20 20 20 20 20 20 20 3c 62 72 _setparitysq.~..pt...........<br
24d80 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 64 65 73 5f 73 65 74 ><br>.The.function.<CODE>des_set
24da0 70 61 72 69 74 79 3c 2f 43 4f 44 45 3e 20 63 68 61 6e 67 65 73 20 74 68 65 20 36 34 2d 62 69 74 parity</CODE>.changes.the.64-bit
24dc0 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 2c 20 73 74 6f 72 65 64 0a 20 20 20 20 20 20 20 20 .<VAR>key</VAR>,.stored.........
24de0 20 70 61 63 6b 65 64 20 69 6e 20 38 2d 62 69 74 20 62 79 74 65 73 2c 20 74 6f 20 68 61 76 65 20 .packed.in.8-bit.bytes,.to.have.
24e00 6f 64 64 20 70 61 72 69 74 79 20 62 79 20 61 6c 74 65 72 69 6e 67 20 74 68 65 20 6c 6f 77 20 62 odd.parity.by.altering.the.low.b
24e20 69 74 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 65 61 63 68 20 62 79 74 65 2e 0a 20 20 20 20 20 its.of..........each.byte.......
24e40 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0f 72 70 63 2f 64 65 73 5f 63 72 ...sq.~......w.....t..rpc/des_cr
24e60 79 70 74 2e 68 78 71 00 7e 06 0a 74 00 09 63 68 61 72 20 2a 6b 65 79 74 00 04 76 6f 69 64 74 00 ypt.hxq.~..t..char.*keyt..voidt.
24e80 08 64 67 65 74 74 65 78 74 73 71 00 7e 00 0a 70 74 02 9d 0a 20 20 20 20 20 20 20 20 54 68 65 20 .dgettextsq.~..pt...........The.
24ea0 3c 43 4f 44 45 3e 64 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 <CODE>dgettext</CODE>.functions.
24ec0 61 63 74 73 20 6a 75 73 74 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 67 65 74 74 65 78 74 acts.just.like.the.<CODE>gettext
24ee0 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 74 20 6f </CODE>..........function...It.o
24f00 6e 6c 79 20 74 61 6b 65 73 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 69 72 73 74 20 61 72 nly.takes.an.additional.first.ar
24f20 67 75 6d 65 6e 74 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 6e 61 6d 65 3c 2f 56 41 52 3e 0a 20 20 20 gument.<VAR>domainname</VAR>....
24f40 20 20 20 20 20 20 77 68 69 63 68 20 67 75 69 64 65 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e ......which.guides.the.selection
24f60 20 6f 66 20 74 68 65 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 73 20 77 68 69 63 68 20 61 .of.the.message.catalogs.which.a
24f80 72 65 20 73 65 61 72 63 68 65 64 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 74 72 61 re.searched..........for.the.tra
24fa0 6e 73 6c 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 6e 61 6d nslation...If.the.<VAR>domainnam
24fc0 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 74 68 65 20 6e 75 6c 6c 0a 20 20 e</VAR>.parameter.is.the.null...
24fe0 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 74 68 65 20 3c 43 4f 44 45 3e 64 67 65 74 74 65 78 .......pointer.the.<CODE>dgettex
25000 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 78 61 63 74 6c 79 20 65 71 75 t</CODE>.function.is.exactly.equ
25020 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 74 65 78 ivalent.to..........<CODE>gettex
25040 74 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 t</CODE>.since.the.default.value
25060 20 66 6f 72 20 74 68 65 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 69 73 20 75 73 65 64 2e 0a 20 20 .for.the.domain.name.is.used....
25080 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 73 20 66 6f 72 20 3c 43 4f 44 45 3e 67 65 74 .......<br><br>.As.for.<CODE>get
250a0 74 65 78 74 3c 2f 43 4f 44 45 3e 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 74 79 70 text</CODE>.the.return.value.typ
250c0 65 20 69 73 20 3c 43 4f 44 45 3e 63 68 61 72 20 2a 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 69 e.is.<CODE>char.*</CODE>.which.i
250e0 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 61 6e 61 63 68 72 6f 6e 69 73 6d 2e 20 20 54 68 65 20 s.an..........anachronism...The.
25100 72 65 74 75 72 6e 65 64 20 73 74 72 69 6e 67 20 6d 75 73 74 20 6e 65 76 65 72 20 62 65 20 6d 6f returned.string.must.never.be.mo
25120 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a dified..........sq.~......w.....
25140 74 00 09 6c 69 62 69 6e 74 6c 2e 68 78 71 00 7e 06 11 74 00 29 63 6f 6e 73 74 20 63 68 61 72 20 t..libintl.hxq.~..t.)const.char.
25160 2a 64 6f 6d 61 69 6e 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 73 67 69 64 74 00 *domainname,.const.char.*msgidt.
25180 06 63 68 61 72 20 2a 74 00 08 64 69 66 66 74 69 6d 65 73 71 00 7e 00 0a 70 74 02 27 0a 20 20 20 .char.*t..difftimesq.~..pt.'....
251a0 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 64 69 66 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 .....The.<CODE>difftime</CODE>.f
251c0 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 unction.returns.the.number.of.se
251e0 63 6f 6e 64 73 20 6f 66 20 65 6c 61 70 73 65 64 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 20 62 conds.of.elapsed..........time.b
25200 65 74 77 65 65 6e 20 63 61 6c 65 6e 64 61 72 20 74 69 6d 65 20 3c 56 41 52 3e 74 69 6d 65 31 3c etween.calendar.time.<VAR>time1<
25220 2f 56 41 52 3e 20 61 6e 64 20 63 61 6c 65 6e 64 61 72 20 74 69 6d 65 20 3c 56 41 52 3e 74 69 6d /VAR>.and.calendar.time.<VAR>tim
25240 65 30 3c 2f 56 41 52 3e 2c 20 61 73 0a 20 20 20 20 20 20 20 20 20 61 20 76 61 6c 75 65 20 6f 66 e0</VAR>,.as..........a.value.of
25260 20 74 79 70 65 20 3c 43 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 .type.<CODE>double</CODE>...The.
25280 64 69 66 66 65 72 65 6e 63 65 20 69 67 6e 6f 72 65 73 20 6c 65 61 70 20 73 65 63 6f 6e 64 73 0a difference.ignores.leap.seconds.
252a0 20 20 20 20 20 20 20 20 20 75 6e 6c 65 73 73 20 6c 65 61 70 20 73 65 63 6f 6e 64 20 73 75 70 70 .........unless.leap.second.supp
252c0 6f 72 74 20 69 73 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ort.is.enabled...........<br><br
252e0 3e 20 49 6e 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d 2c 20 79 6f 75 20 63 61 6e 20 73 69 6d >.In.the.GNU.system,.you.can.sim
25300 70 6c 79 20 73 75 62 74 72 61 63 74 20 3c 43 4f 44 45 3e 74 69 6d 65 5f 74 3c 2f 43 4f 44 45 3e ply.subtract.<CODE>time_t</CODE>
25320 20 76 61 6c 75 65 73 2e 20 20 42 75 74 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 .values...But.on..........other.
25340 73 79 73 74 65 6d 73 2c 20 74 68 65 20 3c 43 4f 44 45 3e 74 69 6d 65 5f 74 3c 2f 43 4f 44 45 3e systems,.the.<CODE>time_t</CODE>
25360 20 64 61 74 61 20 74 79 70 65 20 6d 69 67 68 74 20 75 73 65 20 73 6f 6d 65 20 6f 74 68 65 72 20 .data.type.might.use.some.other.
25380 65 6e 63 6f 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 77 68 65 72 65 20 73 75 62 74 72 61 63 74 encoding..........where.subtract
253a0 69 6f 6e 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 64 69 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 ion.doesn't.work.directly.......
253c0 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 07 67 63 6f 6e 76 2e 68 74 00 06 ...sq.~......w.....t..gconv.ht..
253e0 74 69 6d 65 2e 68 78 71 00 7e 06 18 74 00 1a 74 69 6d 65 5f 74 20 74 69 6d 65 31 2c 20 74 69 6d time.hxq.~..t..time_t.time1,.tim
25400 65 5f 74 20 74 69 6d 65 30 74 00 06 64 6f 75 62 6c 65 74 00 05 64 69 72 66 64 73 71 00 7e 00 0a e_t.time0t..doublet..dirfdsq.~..
25420 70 74 01 6e 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e pt.n.........The.function.<CODE>
25440 64 69 72 66 64 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 6c 65 20 64 65 dirfd</CODE>.returns.the.file.de
25460 73 63 72 69 70 74 6f 72 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 scriptor.associated.with........
25480 20 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 64 69 72 73 ..the.directory.stream.<VAR>dirs
254a0 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 64 65 73 63 72 69 70 74 6f 72 20 63 61 tream</VAR>...This.descriptor.ca
254c0 6e 20 62 65 20 75 73 65 64 20 75 6e 74 69 6c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 64 69 72 n.be.used.until..........the.dir
254e0 65 63 74 6f 72 79 20 69 73 20 63 6c 6f 73 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 63 6c 6f 73 ectory.is.closed.with.<CODE>clos
25500 65 64 69 72 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 73 edir</CODE>...If.the.directory.s
25520 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 tream..........implementation.is
25540 20 6e 6f 74 20 75 73 69 6e 67 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 74 68 65 20 .not.using.file.descriptors.the.
25560 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d return.value.is..........<CODE>-
25580 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 1</CODE>..........sq.~......w...
255a0 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 71 00 7e 06 20 74 00 0e 44 49 52 20 2a 64 69 72 73 74 ..t..dirent.hxq.~..t..DIR.*dirst
255c0 72 65 61 6d 74 00 03 69 6e 74 74 00 07 64 69 72 6e 61 6d 65 73 71 00 7e 00 0a 70 74 01 95 0a 20 reamt..intt..dirnamesq.~..pt....
255e0 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 64 69 72 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 .......The.<CODE>dirname</CODE>.
25600 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 63 6f 6d 70 6c 69 6d 65 6e 74 20 74 6f 20 74 68 function.is.the.compliment.to.th
25620 65 20 58 50 47 20 76 65 72 73 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e e.XPG.version.of..........<CODE>
25640 62 61 73 65 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 74 68 65 basename</CODE>...It.returns.the
25660 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 66 69 6c 65 20 73 70 .parent.directory.of.the.file.sp
25680 65 63 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 56 41 52 3e 70 61 74 68 3c 2f 56 ecified..........by.<VAR>path</V
256a0 41 52 3e 2e 20 20 49 66 20 3c 56 41 52 3e 70 61 74 68 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 AR>...If.<VAR>path</VAR>.is.<COD
256c0 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 2c 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 E>NULL</CODE>,.an.empty.string,.
256e0 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 73 20 6e 6f 20 27 2f 27 20 63 68 61 72 or..........contains.no.'/'.char
25700 61 63 74 65 72 73 2c 20 74 68 65 6e 20 22 2e 22 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 acters,.then.".".is.returned...T
25720 68 65 20 70 72 6f 74 6f 74 79 70 65 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 he.prototype.for.this..........f
25740 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 3c 54 54 3e 6c 69 62 67 unction.can.be.found.in.<TT>libg
25760 65 6e 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 en.h</TT>..........sq.~......w..
25780 00 00 0a 74 00 08 6c 69 62 67 65 6e 2e 68 78 71 00 7e 06 27 74 00 0a 63 68 61 72 20 2a 70 61 74 ...t..libgen.hxq.~.'t..char.*pat
257a0 68 74 00 06 63 68 61 72 20 2a 74 00 03 64 69 76 73 71 00 7e 00 0a 70 74 02 8b 0a 20 20 20 20 20 ht..char.*t..divsq.~..pt........
257c0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 64 69 76 3c 2f 43 4f 44 45 ...This.function.<CODE>div</CODE
257e0 3e 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 71 75 6f 74 69 65 6e 74 20 61 6e 64 20 72 65 6d 61 >.computes.the.quotient.and.rema
25800 69 6e 64 65 72 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 64 69 76 69 73 69 6f 6e inder.from..........the.division
25820 20 6f 66 20 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 62 79 20 3c 56 41 52 .of.<VAR>numerator</VAR>.by.<VAR
25840 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 72 65 74 75 72 6e 69 6e 67 20 74 68 >denominator</VAR>,.returning.th
25860 65 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 6e 20 61 20 73 74 72 75 63 74 75 72 65 e..........result.in.a.structure
25880 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 64 69 76 5f 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 .of.type.<CODE>div_t</CODE>.....
258a0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 63 61 6e ......<br><br>.If.the.result.can
258c0 6e 6f 74 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 28 61 73 20 69 6e 20 61 20 64 69 76 69 not.be.represented.(as.in.a.divi
258e0 73 69 6f 6e 20 62 79 20 7a 65 72 6f 29 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 65 68 61 sion.by.zero),.the..........beha
25900 76 69 6f 72 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e vior.is.undefined...........<br>
25920 3c 62 72 3e 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 61 6c 62 65 69 74 20 <br>.Here.is.an.example,.albeit.
25940 6e 6f 74 20 61 20 76 65 72 79 20 75 73 65 66 75 6c 20 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 not.a.very.useful.one...........
25960 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 64 69 76 5f <br><br>.<pre><br>..........div_
25980 74 20 72 65 73 75 6c 74 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 t.result;<br>..........result.=.
259a0 64 69 76 20 28 32 30 2c 20 2d 36 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 div.(20,.-6);<br>..........</pre
259c0 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 4e 6f >..........<br><br>...........No
259e0 77 20 3c 43 4f 44 45 3e 72 65 73 75 6c 74 2e 71 75 6f 74 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 w.<CODE>result.quot</CODE>.is.<C
25a00 4f 44 45 3e 2d 33 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 72 65 73 75 6c 74 2e 72 ODE>-3</CODE>.and.<CODE>result.r
25a20 65 6d 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 em</CODE>.is.<CODE>2</CODE>.....
25a40 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 .....sq.~......w.....t..unistd.h
25a60 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 06 2e 74 00 1e 69 6e 74 20 6e 75 6d 65 72 61 74 6f t..stdlib.hxq.~..t..int.numerato
25a80 72 2c 20 69 6e 74 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 74 00 05 64 69 76 5f 74 74 00 09 64 6e 67 r,.int.denominatort..div_tt..dng
25aa0 65 74 74 65 78 74 73 71 00 7e 00 0a 70 74 01 53 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f ettextsq.~..pt.S.........The.<CO
25ac0 44 45 3e 64 6e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 DE>dngettext</CODE>.is.similar.t
25ae0 6f 20 74 68 65 20 3c 43 4f 44 45 3e 64 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 o.the.<CODE>dgettext</CODE>.func
25b00 74 69 6f 6e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 77 61 79 20 74 68 65 20 6d 65 73 tion.in.the..........way.the.mes
25b20 73 61 67 65 20 63 61 74 61 6c 6f 67 20 69 73 20 73 65 6c 65 63 74 65 64 2e 20 20 54 68 65 20 64 sage.catalog.is.selected...The.d
25b40 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 69 74 20 74 61 6b 65 73 0a 20 20 20 20 20 ifference.is.that.it.takes......
25b60 20 20 20 20 74 77 6f 20 65 78 74 72 61 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 70 72 6f 76 69 ....two.extra.parameter.to.provi
25b80 64 65 20 74 68 65 20 63 6f 72 72 65 63 74 20 70 6c 75 72 61 6c 20 66 6f 72 6d 2e 20 20 54 68 65 de.the.correct.plural.form...The
25ba0 73 65 20 74 77 6f 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 68 se.two..........parameters.are.h
25bc0 61 6e 64 6c 65 64 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 3c 43 4f 44 45 3e 6e 67 65 andled.in.the.same.way.<CODE>nge
25be0 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 68 61 6e 64 6c 65 73 20 74 68 65 6d 2e 0a 20 20 20 20 20 ttext</CODE>.handles.them.......
25c00 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6c 69 62 69 6e 74 6c 2e 68 78 ...sq.~......w.....t..libintl.hx
25c20 71 00 7e 06 36 74 00 4f 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 6f 6d 61 69 6e 2c 20 63 6f 6e 73 q.~.6t.Oconst.char.*domain,.cons
25c40 74 20 63 68 61 72 20 2a 6d 73 67 69 64 31 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 73 67 69 t.char.*msgid1,.const.char.*msgi
25c60 64 32 2c 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 6e 74 20 6e 74 00 06 63 68 61 72 20 2a d2,.unsigned.long.int.nt..char.*
25c80 74 00 07 64 72 61 6e 64 34 38 73 71 00 7e 00 0a 70 74 02 29 0a 20 20 20 20 20 20 20 20 54 68 69 t..drand48sq.~..pt.).........Thi
25ca0 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 3c 43 4f 44 45 3e 64 6f 75 62 6c s.function.returns.a.<CODE>doubl
25cc0 65 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 3c e</CODE>.value.in.the.range.of.<
25ce0 43 4f 44 45 3e 30 2e 30 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 CODE>0.0</CODE>..........to.<COD
25d00 45 3e 31 2e 30 3c 2f 43 4f 44 45 3e 20 28 65 78 63 6c 75 73 69 76 65 29 2e 20 20 54 68 65 20 72 E>1.0</CODE>.(exclusive)...The.r
25d20 61 6e 64 6f 6d 20 62 69 74 73 20 61 72 65 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 andom.bits.are.determined.by.the
25d40 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 72 61 .global..........state.of.the.ra
25d60 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 20 69 6e 20 74 68 65 20 43 20 6c ndom.number.generator.in.the.C.l
25d80 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 69 6e 63 65 20 ibrary...........<br><br>.Since.
25da0 74 68 65 20 3c 43 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 20 74 79 70 65 20 61 63 63 the.<CODE>double</CODE>.type.acc
25dc0 6f 72 64 69 6e 67 20 74 6f 20 49 45 45 45 20 37 35 34 20 68 61 73 20 61 20 35 32 2d 62 69 74 0a ording.to.IEEE.754.has.a.52-bit.
25de0 20 20 20 20 20 20 20 20 20 6d 61 6e 74 69 73 73 61 20 74 68 69 73 20 6d 65 61 6e 73 20 34 20 62 .........mantissa.this.means.4.b
25e00 69 74 73 20 61 72 65 20 6e 6f 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 79 20 74 68 65 20 72 its.are.not.initialized.by.the.r
25e20 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 67 65 6e 65 72 61 74 6f 72 2e andom.number..........generator.
25e40 20 20 54 68 65 73 65 20 61 72 65 20 28 6f 66 20 63 6f 75 72 73 65 29 20 63 68 6f 73 65 6e 20 74 ..These.are.(of.course).chosen.t
25e60 6f 20 62 65 20 74 68 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 0a 20 20 20 20 20 o.be.the.least.significant......
25e80 20 20 20 20 62 69 74 73 20 61 6e 64 20 74 68 65 79 20 61 72 65 20 69 6e 69 74 69 61 6c 69 7a 65 ....bits.and.they.are.initialize
25ea0 64 20 74 6f 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 d.to.<CODE>0</CODE>..........sq.
25ec0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 06 3d 74 00 ~......w.....t..stdlib.hxq.~.=t.
25ee0 04 76 6f 69 64 74 00 06 64 6f 75 62 6c 65 74 00 09 64 72 61 6e 64 34 38 5f 72 73 71 00 7e 00 0a .voidt..doublet..drand48_rsq.~..
25f00 70 74 02 bd 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 pt...........This.function.is.eq
25f20 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 64 72 61 6e 64 34 38 3c 2f 43 uivalent.to.the.<CODE>drand48</C
25f40 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 ODE>.function.with.the..........
25f60 64 69 66 66 65 72 65 6e 63 65 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 6d 6f 64 69 difference.that.it.does.not.modi
25f80 66 79 20 74 68 65 20 67 6c 6f 62 61 6c 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 fy.the.global.random.number.gene
25fa0 72 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 20 62 75 74 20 69 6e rator..........parameters.but.in
25fc0 73 74 65 61 64 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 20 74 68 65 20 62 75 66 66 stead.the.parameters.in.the.buff
25fe0 65 72 20 73 75 70 70 6c 69 65 64 20 74 68 72 6f 75 67 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 er.supplied.through.the.........
26000 20 70 6f 69 6e 74 65 72 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 54 68 65 .pointer.<VAR>buffer</VAR>...The
26020 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 74 68 .random.number.is.returned.in.th
26040 65 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 e.variable..........pointed.to.b
26060 79 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 y.<VAR>result</VAR>...........<b
26080 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 r><br>.The.return.value.of.the.f
260a0 75 6e 63 74 69 6f 6e 20 69 6e 64 69 63 61 74 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 63 61 unction.indicates.whether.the.ca
260c0 6c 6c 20 73 75 63 63 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 76 61 ll.succeeded...........If.the.va
260e0 6c 75 65 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 lue.is.less.than.<CODE>0</CODE>.
26100 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 61 6e 64 20 3c 56 41 52 3e 65 72 72 6e 6f an.error.occurred.and.<VAR>errno
26120 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 65 74 20 74 6f 20 69 6e 64 69 63 61 </VAR>.is..........set.to.indica
26140 74 65 20 74 68 65 20 70 72 6f 62 6c 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 te.the.problem...........<br><br
26160 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 >.This.function.is.a.GNU.extensi
26180 6f 6e 20 61 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 70 6f 72 on.and.should.not.be.used.in.por
261a0 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 table..........programs.........
261c0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e .sq.~......w.....t..stdlib.hxq.~
261e0 06 44 74 00 2b 73 74 72 75 63 74 20 64 72 61 6e 64 34 38 5f 64 61 74 61 20 2a 62 75 66 66 65 72 .Dt.+struct.drand48_data.*buffer
26200 2c 20 64 6f 75 62 6c 65 20 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 04 64 72 65 6d 73 71 00 ,.double.*resultt..intt..dremsq.
26220 7e 00 0a 70 74 03 3c 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 ~..pt.<.........These.functions.
26240 61 72 65 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 66 6d 6f 64 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 are.like.<CODE>fmod</CODE>.excep
26260 74 20 74 68 61 74 20 74 68 65 79 20 72 6f 75 6e 64 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 t.that.they.rounds.the..........
26280 69 6e 74 65 72 6e 61 6c 20 71 75 6f 74 69 65 6e 74 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 74 internal.quotient.<VAR>n</VAR>.t
262a0 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 69 6e 74 65 67 65 72 20 69 6e 73 74 65 61 64 20 6f 66 o.the.nearest.integer.instead.of
262c0 20 74 6f 77 61 72 64 73 20 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 74 6f 20 61 6e 20 69 6e 74 .towards.zero..........to.an.int
262e0 65 67 65 72 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 45 3e 64 72 65 6d 20 28 eger...For.example,.<CODE>drem.(
26300 36 2e 35 2c 20 32 2e 33 29 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 6.5,.2.3)</CODE>.returns.<CODE>-
26320 30 2e 34 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 3c 43 0.4</CODE>,..........which.is.<C
26340 4f 44 45 3e 36 2e 35 3c 2f 43 4f 44 45 3e 20 6d 69 6e 75 73 20 3c 43 4f 44 45 3e 36 2e 39 3c 2f ODE>6.5</CODE>.minus.<CODE>6.9</
26360 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 62 73 CODE>...........<br><br>.The.abs
26380 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 65 73 olute.value.of.the.result.is.les
263a0 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 68 61 6c 66 20 74 68 65 0a 20 20 20 20 s.than.or.equal.to.half.the.....
263c0 20 20 20 20 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e .....absolute.value.of.the.<VAR>
263e0 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e denominator</VAR>...The.differen
26400 63 65 20 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 6d 6f 64 20 28 ce.between..........<CODE>fmod.(
26420 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 64 65 6e 6f 6d <VAR>numerator</VAR>,.<VAR>denom
26440 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 64 inator</VAR>)</CODE>.and.<CODE>d
26460 72 65 6d 0a 20 20 20 20 20 20 20 20 20 28 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 rem..........(<VAR>numerator</VA
26480 52 3e 2c 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 R>,.<VAR>denominator</VAR>)</COD
264a0 45 3e 20 69 73 20 61 6c 77 61 79 73 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 E>.is.always.either..........<VA
264c0 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 6d 69 6e 75 73 20 3c 56 41 52 3e R>denominator</VAR>,.minus.<VAR>
264e0 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 6f 72 20 7a 65 72 6f 2e 0a 20 20 20 20 denominator</VAR>,.or.zero......
26500 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f .....<br><br>.If.<VAR>denominato
26520 72 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 43 4f 44 45 3e 64 72 65 6d 3c 2f 43 4f 44 r</VAR>.is.zero,.<CODE>drem</COD
26540 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 E>.signals.a.domain.error.......
26560 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
26580 06 4b 74 00 24 64 6f 75 62 6c 65 20 6e 75 6d 65 72 61 74 6f 72 2c 20 64 6f 75 62 6c 65 20 64 65 .Kt.$double.numerator,.double.de
265a0 6e 6f 6d 69 6e 61 74 6f 72 74 00 06 64 6f 75 62 6c 65 74 00 05 64 72 65 6d 66 73 71 00 7e 00 0a nominatort..doublet..dremfsq.~..
265c0 70 74 03 3c 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 pt.<.........These.functions.are
265e0 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 66 6d 6f 64 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 .like.<CODE>fmod</CODE>.except.t
26600 68 61 74 20 74 68 65 79 20 72 6f 75 6e 64 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 hat.they.rounds.the..........int
26620 65 72 6e 61 6c 20 71 75 6f 74 69 65 6e 74 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 74 6f 20 74 ernal.quotient.<VAR>n</VAR>.to.t
26640 68 65 20 6e 65 61 72 65 73 74 20 69 6e 74 65 67 65 72 20 69 6e 73 74 65 61 64 20 6f 66 20 74 6f he.nearest.integer.instead.of.to
26660 77 61 72 64 73 20 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 wards.zero..........to.an.intege
26680 72 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 45 3e 64 72 65 6d 20 28 36 2e 35 r...For.example,.<CODE>drem.(6.5
266a0 2c 20 32 2e 33 29 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 30 2e 34 ,.2.3)</CODE>.returns.<CODE>-0.4
266c0 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 3c 43 4f 44 45 </CODE>,..........which.is.<CODE
266e0 3e 36 2e 35 3c 2f 43 4f 44 45 3e 20 6d 69 6e 75 73 20 3c 43 4f 44 45 3e 36 2e 39 3c 2f 43 4f 44 >6.5</CODE>.minus.<CODE>6.9</COD
26700 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 62 73 6f 6c 75 E>...........<br><br>.The.absolu
26720 74 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 65 73 73 20 74 te.value.of.the.result.is.less.t
26740 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 68 61 6c 66 20 74 68 65 0a 20 20 20 20 20 20 20 han.or.equal.to.half.the........
26760 20 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 64 65 6e ..absolute.value.of.the.<VAR>den
26780 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 ominator</VAR>...The.difference.
267a0 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 6d 6f 64 20 28 3c 56 41 between..........<CODE>fmod.(<VA
267c0 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 R>numerator</VAR>,.<VAR>denomina
267e0 74 6f 72 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 64 72 65 6d tor</VAR>)</CODE>.and.<CODE>drem
26800 0a 20 20 20 20 20 20 20 20 20 28 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 2c ..........(<VAR>numerator</VAR>,
26820 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 .<VAR>denominator</VAR>)</CODE>.
26840 69 73 20 61 6c 77 61 79 73 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 64 is.always.either..........<VAR>d
26860 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 6d 69 6e 75 73 20 3c 56 41 52 3e 64 65 6e enominator</VAR>,.minus.<VAR>den
26880 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 6f 72 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 ominator</VAR>,.or.zero.........
268a0 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f ..<br><br>.If.<VAR>denominator</
268c0 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 43 4f 44 45 3e 64 72 65 6d 3c 2f 43 4f 44 45 3e 20 VAR>.is.zero,.<CODE>drem</CODE>.
268e0 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 signals.a.domain.error..........
26900 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 06 52 74 sq.~......w.....t..math.hxq.~.Rt
26920 00 22 66 6c 6f 61 74 20 6e 75 6d 65 72 61 74 6f 72 2c 20 66 6c 6f 61 74 20 64 65 6e 6f 6d 69 6e ."float.numerator,.float.denomin
26940 61 74 6f 72 74 00 05 66 6c 6f 61 74 74 00 05 64 72 65 6d 6c 73 71 00 7e 00 0a 70 74 03 3c 0a 20 atort..floatt..dremlsq.~..pt.<..
26960 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6c 69 6b 65 20 .......These.functions.are.like.
26980 3c 43 4f 44 45 3e 66 6d 6f 64 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 <CODE>fmod</CODE>.except.that.th
269a0 65 79 20 72 6f 75 6e 64 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 ey.rounds.the..........internal.
269c0 71 75 6f 74 69 65 6e 74 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 6e 65 61 quotient.<VAR>n</VAR>.to.the.nea
269e0 72 65 73 74 20 69 6e 74 65 67 65 72 20 69 6e 73 74 65 61 64 20 6f 66 20 74 6f 77 61 72 64 73 20 rest.integer.instead.of.towards.
26a00 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2e 20 20 46 6f zero..........to.an.integer...Fo
26a20 72 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 45 3e 64 72 65 6d 20 28 36 2e 35 2c 20 32 2e 33 29 r.example,.<CODE>drem.(6.5,.2.3)
26a40 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 30 2e 34 3c 2f 43 4f 44 45 </CODE>.returns.<CODE>-0.4</CODE
26a60 3e 2c 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 3c 43 4f 44 45 3e 36 2e 35 3c 2f >,..........which.is.<CODE>6.5</
26a80 43 4f 44 45 3e 20 6d 69 6e 75 73 20 3c 43 4f 44 45 3e 36 2e 39 3c 2f 43 4f 44 45 3e 2e 0a 20 20 CODE>.minus.<CODE>6.9</CODE>....
26aa0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c .......<br><br>.The.absolute.val
26ac0 75 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 ue.of.the.result.is.less.than.or
26ae0 20 65 71 75 61 6c 20 74 6f 20 68 61 6c 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 62 73 6f .equal.to.half.the..........abso
26b00 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 lute.value.of.the.<VAR>denominat
26b20 6f 72 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 or</VAR>...The.difference.betwee
26b40 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 6d 6f 64 20 28 3c 56 41 52 3e 6e 75 6d 65 n..........<CODE>fmod.(<VAR>nume
26b60 72 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 rator</VAR>,.<VAR>denominator</V
26b80 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 64 72 65 6d 0a 20 20 20 20 20 AR>)</CODE>.and.<CODE>drem......
26ba0 20 20 20 20 28 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e ....(<VAR>numerator</VAR>,.<VAR>
26bc0 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6c 77 denominator</VAR>)</CODE>.is.alw
26be0 61 79 73 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e ays.either..........<VAR>denomin
26c00 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 6d 69 6e 75 73 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 ator</VAR>,.minus.<VAR>denominat
26c20 6f 72 3c 2f 56 41 52 3e 2c 20 6f 72 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e or</VAR>,.or.zero...........<br>
26c40 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 20 69 <br>.If.<VAR>denominator</VAR>.i
26c60 73 20 7a 65 72 6f 2c 20 3c 43 4f 44 45 3e 64 72 65 6d 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c s.zero,.<CODE>drem</CODE>.signal
26c80 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f s.a.domain.error..........sq.~..
26ca0 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 06 59 74 00 2e 6c 6f 6e 67 ....w.....t..math.hxq.~.Yt..long
26cc0 20 64 6f 75 62 6c 65 20 6e 75 6d 65 72 61 74 6f 72 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 64 .double.numerator,.long.double.d
26ce0 65 6e 6f 6d 69 6e 61 74 6f 72 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 03 64 75 70 73 71 enominatort..long.doublet..dupsq
26d00 00 7e 00 0a 70 74 00 e8 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 .~..pt...........This.function.c
26d20 6f 70 69 65 73 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 20 opies.descriptor.<VAR>old</VAR>.
26d40 74 6f 20 74 68 65 20 66 69 72 73 74 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 to.the.first.available..........
26d60 64 65 73 63 72 69 70 74 6f 72 20 6e 75 6d 62 65 72 20 28 74 68 65 20 66 69 72 73 74 20 6e 75 6d descriptor.number.(the.first.num
26d80 62 65 72 20 6e 6f 74 20 63 75 72 72 65 6e 74 6c 79 20 6f 70 65 6e 29 2e 20 20 49 74 20 69 73 0a ber.not.currently.open)...It.is.
26da0 20 20 20 20 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 66 63 6e .........equivalent.to.<CODE>fcn
26dc0 74 6c 20 28 3c 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 2c 20 46 5f 44 55 50 46 44 2c 20 30 29 3c tl.(<VAR>old</VAR>,.F_DUPFD,.0)<
26de0 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a /CODE>..........sq.~......w.....
26e00 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 06 60 74 00 07 69 6e 74 20 6f 6c 64 74 00 03 69 6e t..unistd.hxq.~.`t..int.oldt..in
26e20 74 74 00 04 64 75 70 32 73 71 00 7e 00 0a 70 74 03 c6 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 tt..dup2sq.~..pt...........This.
26e40 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 74 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c function.copies.the.descriptor.<
26e60 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 20 74 6f 20 64 65 73 63 72 69 70 74 6f 72 20 6e 75 6d 62 VAR>old</VAR>.to.descriptor.numb
26e80 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 65 77 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 er..........<VAR>new</VAR>......
26ea0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 20 .....<br><br>.If.<VAR>old</VAR>.
26ec0 69 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 64 65 73 63 72 69 70 74 6f 72 2c 20 74 68 65 6e 20 3c is.an.invalid.descriptor,.then.<
26ee0 43 4f 44 45 3e 64 75 70 32 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 3b 20 69 CODE>dup2</CODE>.does.nothing;.i
26f00 74 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 63 6c 6f 73 65 20 3c 56 41 52 3e 6e t..........does.not.close.<VAR>n
26f20 65 77 3c 2f 56 41 52 3e 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 6e 65 77 20 64 75 ew</VAR>...Otherwise,.the.new.du
26f40 70 6c 69 63 61 74 65 20 6f 66 20 3c 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 plicate.of.<VAR>old</VAR>.......
26f60 20 20 20 72 65 70 6c 61 63 65 73 20 61 6e 79 20 70 72 65 76 69 6f 75 73 20 6d 65 61 6e 69 6e 67 ...replaces.any.previous.meaning
26f80 20 6f 66 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 6e 65 77 3c 2f 56 41 52 3e 2c 20 61 .of.descriptor.<VAR>new</VAR>,.a
26fa0 73 20 69 66 20 3c 56 41 52 3e 6e 65 77 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 77 65 72 s.if.<VAR>new</VAR>..........wer
26fc0 65 20 63 6c 6f 73 65 64 20 66 69 72 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 e.closed.first...........<br><br
26fe0 3e 20 49 66 20 3c 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6e 65 77 >.If.<VAR>old</VAR>.and.<VAR>new
27000 3c 2f 56 41 52 3e 20 61 72 65 20 64 69 66 66 65 72 65 6e 74 20 6e 75 6d 62 65 72 73 2c 20 61 6e </VAR>.are.different.numbers,.an
27020 64 20 3c 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 20 69 73 20 61 0a 20 20 20 20 20 20 20 20 20 76 d.<VAR>old</VAR>.is.a..........v
27040 61 6c 69 64 20 64 65 73 63 72 69 70 74 6f 72 20 6e 75 6d 62 65 72 2c 20 74 68 65 6e 20 3c 43 4f alid.descriptor.number,.then.<CO
27060 44 45 3e 64 75 70 32 3c 2f 43 4f 44 45 3e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a DE>dup2</CODE>.is.equivalent.to:
27080 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 ..........<br><br>.<pre><br>....
270a0 20 20 20 20 20 20 63 6c 6f 73 65 20 28 3c 56 41 52 3e 6e 65 77 3c 2f 56 41 52 3e 29 3b 3c 62 72 ......close.(<VAR>new</VAR>);<br
270c0 3e 0a 20 20 20 20 20 20 20 20 20 66 63 6e 74 6c 20 28 3c 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e >..........fcntl.(<VAR>old</VAR>
270e0 2c 20 46 5f 44 55 50 46 44 2c 20 3c 56 41 52 3e 6e 65 77 3c 2f 56 41 52 3e 29 3c 62 72 3e 0a 20 ,.F_DUPFD,.<VAR>new</VAR>)<br>..
27100 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ........</pre>..........<br><br>
27120 20 48 6f 77 65 76 65 72 2c 20 3c 43 4f 44 45 3e 64 75 70 32 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 .However,.<CODE>dup2</CODE>.does
27140 20 74 68 69 73 20 61 74 6f 6d 69 63 61 6c 6c 79 3b 20 74 68 65 72 65 20 69 73 20 6e 6f 20 69 6e .this.atomically;.there.is.no.in
27160 73 74 61 6e 74 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6d 69 64 64 6c 65 20 6f 66 20 stant.in.the..........middle.of.
27180 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 64 75 70 32 3c 2f 43 4f 44 45 3e 20 61 74 20 77 68 69 calling.<CODE>dup2</CODE>.at.whi
271a0 63 68 20 3c 56 41 52 3e 6e 65 77 3c 2f 56 41 52 3e 20 69 73 20 63 6c 6f 73 65 64 20 61 6e 64 20 ch.<VAR>new</VAR>.is.closed.and.
271c0 6e 6f 74 20 79 65 74 20 61 0a 20 20 20 20 20 20 20 20 20 64 75 70 6c 69 63 61 74 65 20 6f 66 20 not.yet.a..........duplicate.of.
271e0 3c 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 <VAR>old</VAR>..........sq.~....
27200 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 06 67 74 00 10 69 6e 74 20 ..w.....t..unistd.hxq.~.gt..int.
27220 6f 6c 64 2c 20 69 6e 74 20 6e 65 77 74 00 03 69 6e 74 74 00 09 65 63 62 5f 63 72 79 70 74 73 71 old,.int.newt..intt..ecb_cryptsq
27240 00 7e 00 0a 70 74 09 7c 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 .~..pt.|.........<br><br>.The.fu
27260 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 65 63 62 5f 63 72 79 70 74 3c 2f 43 4f 44 45 3e 20 65 6e nction.<CODE>ecb_crypt</CODE>.en
27280 63 72 79 70 74 73 20 6f 72 20 64 65 63 72 79 70 74 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 62 crypts.or.decrypts.one.or.more.b
272a0 6c 6f 63 6b 73 0a 20 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 44 45 53 2e 20 20 45 61 63 68 20 locks..........using.DES...Each.
272c0 62 6c 6f 63 6b 20 69 73 20 65 6e 63 72 79 70 74 65 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 block.is.encrypted.independently
272e0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 62 6c 6f ...........<br><br>.The.<VAR>blo
27300 63 6b 73 3c 2f 56 41 52 3e 20 61 6e 64 20 74 68 65 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e cks</VAR>.and.the.<VAR>key</VAR>
27320 20 61 72 65 20 73 74 6f 72 65 64 20 70 61 63 6b 65 64 20 69 6e 20 38 2d 62 69 74 20 62 79 74 65 .are.stored.packed.in.8-bit.byte
27340 73 2c 20 73 6f 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 74 68 65 20 66 69 72 73 74 20 62 69 s,.so..........that.the.first.bi
27360 74 20 6f 66 20 74 68 65 20 6b 65 79 20 69 73 20 74 68 65 20 6d 6f 73 74 2d 73 69 67 6e 69 66 69 t.of.the.key.is.the.most-signifi
27380 63 61 6e 74 20 62 69 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6b 65 79 5b 30 cant.bit.of..........<CODE>key[0
273a0 5d 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 36 33 72 64 20 62 69 74 20 6f 66 20 74 68 65 ]</CODE>.and.the.63rd.bit.of.the
273c0 20 6b 65 79 20 69 73 20 73 74 6f 72 65 64 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6c .key.is.stored.as.the..........l
273e0 65 61 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 6f 66 20 3c 43 4f 44 45 3e 6b 65 east-significant.bit.of.<CODE>ke
27400 79 5b 37 5d 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e y[7]</CODE>...The.<VAR>key</VAR>
27420 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 63 .should.have.the..........correc
27440 74 20 70 61 72 69 74 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 t.parity...........<br><br>.<VAR
27460 3e 6c 65 6e 3c 2f 56 41 52 3e 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 >len</VAR>.is.the.number.of.byte
27480 73 20 69 6e 20 3c 56 41 52 3e 62 6c 6f 63 6b 73 3c 2f 56 41 52 3e 2e 20 20 49 74 20 73 68 6f 75 s.in.<VAR>blocks</VAR>...It.shou
274a0 6c 64 20 62 65 20 61 0a 20 20 20 20 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 38 20 28 ld.be.a..........multiple.of.8.(
274c0 73 6f 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 61 20 77 68 6f 6c 65 20 6e 75 6d 62 65 72 20 so.that.there.is.a.whole.number.
274e0 6f 66 20 62 6c 6f 63 6b 73 20 74 6f 20 65 6e 63 72 79 70 74 29 2e 0a 20 20 20 20 20 20 20 20 20 of.blocks.to.encrypt)...........
27500 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 20 69 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 61 20 6d <VAR>len</VAR>.is.limited.to.a.m
27520 61 78 69 6d 75 6d 20 6f 66 20 3c 43 4f 44 45 3e 44 45 53 5f 4d 41 58 44 41 54 41 3c 2f 43 4f 44 aximum.of.<CODE>DES_MAXDATA</COD
27540 45 3e 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 E>.bytes...........<br><br>.The.
27560 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 65 6e 63 72 79 70 74 69 6f 6e 20 72 65 70 6c 61 63 65 result.of.the.encryption.replace
27580 73 20 74 68 65 20 69 6e 70 75 74 20 69 6e 20 3c 56 41 52 3e 62 6c 6f 63 6b 73 3c 2f 56 41 52 3e s.the.input.in.<VAR>blocks</VAR>
275a0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 6d 6f 64 ...........<br><br>.The.<VAR>mod
275c0 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 74 68 65 20 62 69 74 77 69 73 65 e</VAR>.parameter.is.the.bitwise
275e0 20 4f 52 20 6f 66 20 74 77 6f 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 20 20 .OR.of.two.of.the.following:....
27600 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 ......<br><br>.<DL>...........<D
27620 54 3e 3c 43 4f 44 45 3e 44 45 53 5f 45 4e 43 52 59 50 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a T><CODE>DES_ENCRYPT</CODE>.<DD>.
27640 20 20 20 20 20 20 20 20 20 54 68 69 73 20 63 6f 6e 73 74 61 6e 74 2c 20 75 73 65 64 20 69 6e 20 .........This.constant,.used.in.
27660 74 68 65 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2c 20 73 the.<VAR>mode</VAR>.parameter,.s
27680 70 65 63 69 66 69 65 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 6c 6f 63 pecifies.that..........<VAR>bloc
276a0 6b 73 3c 2f 56 41 52 3e 20 69 73 20 74 6f 20 62 65 20 65 6e 63 72 79 70 74 65 64 2e 0a 20 20 20 ks</VAR>.is.to.be.encrypted.....
276c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 44 45 53 5f 44 45 43 ......<br><br>.<DT><CODE>DES_DEC
276e0 52 59 50 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 63 RYPT</CODE>.<DD>..........This.c
27700 6f 6e 73 74 61 6e 74 2c 20 75 73 65 64 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f onstant,.used.in.the.<VAR>mode</
27720 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2c 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 0a 20 VAR>.parameter,.specifies.that..
27740 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 6c 6f 63 6b 73 3c 2f 56 41 52 3e 20 69 73 20 74 6f 20 ........<VAR>blocks</VAR>.is.to.
27760 62 65 20 64 65 63 72 79 70 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 be.decrypted...........<br><br>.
27780 3c 44 54 3e 3c 43 4f 44 45 3e 44 45 53 5f 48 57 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 <DT><CODE>DES_HW</CODE>.<DD>....
277a0 20 20 20 20 20 20 54 68 69 73 20 63 6f 6e 73 74 61 6e 74 2c 20 75 73 65 64 20 69 6e 20 74 68 65 ......This.constant,.used.in.the
277c0 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2c 20 61 73 6b 73 .<VAR>mode</VAR>.parameter,.asks
277e0 20 74 6f 20 75 73 65 20 61 20 68 61 72 64 77 61 72 65 0a 20 20 20 20 20 20 20 20 20 64 65 76 69 .to.use.a.hardware..........devi
27800 63 65 2e 20 20 49 66 20 6e 6f 20 68 61 72 64 77 61 72 65 20 64 65 76 69 63 65 20 69 73 20 61 76 ce...If.no.hardware.device.is.av
27820 61 69 6c 61 62 6c 65 2c 20 65 6e 63 72 79 70 74 69 6f 6e 20 68 61 70 70 65 6e 73 20 61 6e 79 77 ailable,.encryption.happens.anyw
27840 61 79 2c 0a 20 20 20 20 20 20 20 20 20 62 75 74 20 69 6e 20 73 6f 66 74 77 61 72 65 2e 0a 20 20 ay,..........but.in.software....
27860 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 44 45 53 5f 53 57 .......<br><br>.<DT><CODE>DES_SW
27880 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 63 6f 6e 73 74 </CODE>.<DD>..........This.const
278a0 61 6e 74 2c 20 75 73 65 64 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e ant,.used.in.the.<VAR>mode</VAR>
278c0 20 70 61 72 61 6d 65 74 65 72 2c 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 6e 6f 0a 20 20 .parameter,.specifies.that.no...
278e0 20 20 20 20 20 20 20 68 61 72 64 77 61 72 65 20 64 65 76 69 63 65 20 69 73 20 74 6f 20 62 65 20 .......hardware.device.is.to.be.
27900 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 used...........</DL>..........<b
27920 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f r><br>.The.result.of.the.functio
27940 6e 20 77 69 6c 6c 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 76 61 6c 75 65 73 3a 0a 20 n.will.be.one.of.these.values:..
27960 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 ........<br><br>.<DL>...........
27980 3c 44 54 3e 3c 43 4f 44 45 3e 44 45 53 45 52 52 5f 4e 4f 4e 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 <DT><CODE>DESERR_NONE</CODE>.<DD
279a0 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 65 6e 63 72 79 70 74 69 6f 6e 20 73 75 63 63 65 65 >..........The.encryption.succee
279c0 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 ded...........<br><br>.<DT><CODE
279e0 3e 44 45 53 45 52 52 5f 4e 4f 48 57 44 45 56 49 43 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 >DESERR_NOHWDEVICE</CODE>.<DD>..
27a00 20 20 20 20 20 20 20 20 54 68 65 20 65 6e 63 72 79 70 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 ........The.encryption.succeeded
27a20 2c 20 62 75 74 20 74 68 65 72 65 20 77 61 73 20 6e 6f 20 68 61 72 64 77 61 72 65 20 64 65 76 69 ,.but.there.was.no.hardware.devi
27a40 63 65 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ce.available...........<br><br>.
27a60 3c 44 54 3e 3c 43 4f 44 45 3e 44 45 53 45 52 52 5f 48 57 45 52 52 4f 52 3c 2f 43 4f 44 45 3e 0a <DT><CODE>DESERR_HWERROR</CODE>.
27a80 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 65 6e 63 72 79 70 74 69 6f 6e 20 66 61 69 <DD>..........The.encryption.fai
27aa0 6c 65 64 20 62 65 63 61 75 73 65 20 6f 66 20 61 20 68 61 72 64 77 61 72 65 20 70 72 6f 62 6c 65 led.because.of.a.hardware.proble
27ac0 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 44 m...........<br><br>.<DT><CODE>D
27ae0 45 53 45 52 52 5f 42 41 44 50 41 52 41 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 ESERR_BADPARAM</CODE>.<DD>......
27b00 20 20 20 20 54 68 65 20 65 6e 63 72 79 70 74 69 6f 6e 20 66 61 69 6c 65 64 20 62 65 63 61 75 73 ....The.encryption.failed.becaus
27b20 65 20 6f 66 20 61 20 62 61 64 20 70 61 72 61 6d 65 74 65 72 2c 20 66 6f 72 20 69 6e 73 74 61 6e e.of.a.bad.parameter,.for.instan
27b40 63 65 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f ce.<VAR>len</VAR>..........is.no
27b60 74 20 61 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 38 20 6f 72 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 t.a.multiple.of.8.or.<VAR>len</V
27b80 41 52 3e 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 3c 43 4f 44 45 3e 44 45 53 5f 4d 41 58 AR>.is.larger.than.<CODE>DES_MAX
27ba0 44 41 54 41 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 DATA</CODE>...........</DL>.....
27bc0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0f 72 70 63 2f 64 65 73 5f 63 ....sq.~......w.....t..rpc/des_c
27be0 72 79 70 74 2e 68 78 71 00 7e 06 6e 74 00 34 63 68 61 72 20 2a 6b 65 79 2c 20 63 68 61 72 20 2a rypt.hxq.~.nt.4char.*key,.char.*
27c00 62 6c 6f 63 6b 73 2c 20 75 6e 73 69 67 6e 65 64 20 6c 65 6e 2c 20 75 6e 73 69 67 6e 65 64 20 6d blocks,.unsigned.len,.unsigned.m
27c20 6f 64 65 74 00 03 69 6e 74 74 00 04 65 63 76 74 73 71 00 7e 00 0a 70 74 04 d8 0a 20 20 20 20 20 odet..intt..ecvtsq.~..pt........
27c40 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 65 63 76 74 3c 2f 43 4f 44 45 ...The.function.<CODE>ecvt</CODE
27c60 3e 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 >.converts.the.floating-point.nu
27c80 6d 62 65 72 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 74 mber.<VAR>value</VAR>..........t
27ca0 6f 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 20 61 74 20 6d 6f 73 74 20 3c 56 41 52 3e 6e 64 69 o.a.string.with.at.most.<VAR>ndi
27cc0 67 69 74 3c 2f 56 41 52 3e 20 64 65 63 69 6d 61 6c 20 64 69 67 69 74 73 2e 20 20 54 68 65 0a 20 git</VAR>.decimal.digits...The..
27ce0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 73 ........returned.string.contains
27d00 20 6e 6f 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e 74 20 6f 72 20 73 69 67 6e 2e 20 54 68 65 20 66 .no.decimal.point.or.sign..The.f
27d20 69 72 73 74 20 64 69 67 69 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e irst.digit.of..........the.strin
27d40 67 20 69 73 20 6e 6f 6e 2d 7a 65 72 6f 20 28 75 6e 6c 65 73 73 20 3c 56 41 52 3e 76 61 6c 75 65 g.is.non-zero.(unless.<VAR>value
27d60 3c 2f 56 41 52 3e 20 69 73 20 61 63 74 75 61 6c 6c 79 20 7a 65 72 6f 29 20 61 6e 64 20 74 68 65 </VAR>.is.actually.zero).and.the
27d80 0a 20 20 20 20 20 20 20 20 20 6c 61 73 74 20 64 69 67 69 74 20 69 73 20 72 6f 75 6e 64 65 64 20 ..........last.digit.is.rounded.
27da0 74 6f 20 6e 65 61 72 65 73 74 2e 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 64 65 63 70 74 3c 2f to.nearest...<CODE>*<VAR>decpt</
27dc0 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 VAR></CODE>.is.set.to.the.......
27de0 20 20 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 6f 66 20 74 68 65 20 66 69 ...index.in.the.string.of.the.fi
27e00 72 73 74 20 64 69 67 69 74 20 61 66 74 65 72 20 74 68 65 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e rst.digit.after.the.decimal.poin
27e20 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 6e 65 67 3c 2f 56 41 52 t...........<CODE>*<VAR>neg</VAR
27e40 3e 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 74 6f 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c ></CODE>.is.set.to.a.nonzero.val
27e60 75 65 20 69 66 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 ue.if.<VAR>value</VAR>.is.negati
27e80 76 65 2c 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 ve,..........zero.otherwise.....
27ea0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6e 64 69 67 69 74 3c 2f 56 ......<br><br>.If.<VAR>ndigit</V
27ec0 41 52 3e 20 64 65 63 69 6d 61 6c 20 64 69 67 69 74 73 20 77 6f 75 6c 64 20 65 78 63 65 65 64 20 AR>.decimal.digits.would.exceed.
27ee0 74 68 65 20 70 72 65 63 69 73 69 6f 6e 20 6f 66 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 the.precision.of.a..........<COD
27f00 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 20 69 74 20 69 73 20 72 65 64 75 63 65 64 20 74 6f E>double</CODE>.it.is.reduced.to
27f20 20 61 20 73 79 73 74 65 6d 2d 73 70 65 63 69 66 69 63 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 .a.system-specific.value........
27f40 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 6e 67 20 ...<br><br>.The.returned.string.
27f60 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 61 6e 64 20 6f 76 65 72 is.statically.allocated.and.over
27f80 77 72 69 74 74 65 6e 20 62 79 20 65 61 63 68 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 74 6f written.by.each.call..........to
27fa0 20 3c 43 4f 44 45 3e 65 63 76 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .<CODE>ecvt</CODE>...........<br
27fc0 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 ><br>.If.<VAR>value</VAR>.is.zer
27fe0 6f 2c 20 69 74 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 65 66 69 6e 65 64 20 o,.it.is.implementation.defined.
28000 77 68 65 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 64 65 63 whether..........<CODE>*<VAR>dec
28020 70 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 pt</VAR></CODE>.is.<CODE>0</CODE
28040 3e 20 6f 72 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 >.or.<CODE>1</CODE>...........<b
28060 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 20 3c 43 4f 44 45 3e 65 63 76 74 20 28 r><br>.For.example:.<CODE>ecvt.(
28080 31 32 2e 33 2c 20 35 2c 20 26 64 2c 20 26 6e 29 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 12.3,.5,.&d,.&n)</CODE>.returns.
280a0 3c 43 4f 44 45 3e 22 31 32 33 30 30 22 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e <CODE>"12300"</CODE>..........an
280c0 64 20 73 65 74 73 20 3c 56 41 52 3e 64 3c 2f 56 41 52 3e 20 74 6f 20 3c 43 4f 44 45 3e 32 3c 2f d.sets.<VAR>d</VAR>.to.<CODE>2</
280e0 43 4f 44 45 3e 20 61 6e 64 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 74 6f 20 3c 43 4f 44 45 3e CODE>.and.<VAR>n</VAR>.to.<CODE>
28100 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 0</CODE>..........sq.~......w...
28120 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 06 75 74 00 2e 64 6f 75 62 6c 65 20 76 61 6c ..t..stdlib.hxq.~.ut..double.val
28140 75 65 2c 20 69 6e 74 20 6e 64 69 67 69 74 2c 20 69 6e 74 20 2a 64 65 63 70 74 2c 20 69 6e 74 20 ue,.int.ndigit,.int.*decpt,.int.
28160 2a 6e 65 67 74 00 06 63 68 61 72 20 2a 74 00 06 65 63 76 74 5f 72 73 71 00 7e 00 0a 70 74 01 6a *negt..char.*t..ecvt_rsq.~..pt.j
28180 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 63 76 74 5f 72 3c 2f 43 4f 44 45 3e .........The.<CODE>ecvt_r</CODE>
281a0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 65 .function.is.the.same.as.<CODE>e
281c0 63 76 74 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 cvt</CODE>,.except..........that
281e0 20 69 74 20 70 6c 61 63 65 73 20 69 74 73 20 72 65 73 75 6c 74 20 69 6e 74 6f 20 74 68 65 20 75 .it.places.its.result.into.the.u
28200 73 65 72 2d 73 70 65 63 69 66 69 65 64 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 ser-specified.buffer.pointed.to.
28220 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2c 20 77 69 74 68 by..........<VAR>buf</VAR>,.with
28240 20 6c 65 6e 67 74 68 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 74 .length.<VAR>len</VAR>...The.ret
28260 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 6e 0a urn.value.is.<CODE>-1</CODE>.in.
28280 20 20 20 20 20 20 20 20 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 61 6e 64 20 7a 65 .........case.of.an.error.and.ze
282a0 72 6f 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ro.otherwise...........<br><br>.
282c0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e This.function.is.a.GNU.extension
282e0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 ..........sq.~......w.....t..std
28300 6c 69 62 2e 68 78 71 00 7e 06 7c 74 00 45 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 69 6e 74 20 lib.hxq.~.|t.Edouble.value,.int.
28320 6e 64 69 67 69 74 2c 20 69 6e 74 20 2a 64 65 63 70 74 2c 20 69 6e 74 20 2a 6e 65 67 2c 20 63 68 ndigit,.int.*decpt,.int.*neg,.ch
28340 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 74 00 03 69 6e 74 74 00 07 65 6e 63 72 ar.*buf,.size_t.lent..intt..encr
28360 79 70 74 73 71 00 7e 00 0a 70 74 01 d2 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 yptsq.~..pt...........<br><br>.T
28380 68 65 20 3c 43 4f 44 45 3e 65 6e 63 72 79 70 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e he.<CODE>encrypt</CODE>.function
283a0 20 65 6e 63 72 79 70 74 73 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 3e 20 69 66 0a 20 20 .encrypts.<VAR>block</VAR>.if...
283c0 20 20 20 20 20 20 20 3c 56 41 52 3e 65 64 66 6c 61 67 3c 2f 56 41 52 3e 20 69 73 20 30 2c 20 6f .......<VAR>edflag</VAR>.is.0,.o
283e0 74 68 65 72 77 69 73 65 20 69 74 20 64 65 63 72 79 70 74 73 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c therwise.it.decrypts.<VAR>block<
28400 2f 56 41 52 3e 2c 20 75 73 69 6e 67 20 61 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 70 72 65 76 /VAR>,.using.a.key..........prev
28420 69 6f 75 73 6c 79 20 73 65 74 20 62 79 20 3c 43 4f 44 45 3e 73 65 74 6b 65 79 3c 2f 43 4f 44 45 iously.set.by.<CODE>setkey</CODE
28440 3e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 >...The.result.is..........place
28460 64 20 69 6e 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 d.in.<VAR>block</VAR>...........
28480 3c 62 72 3e 3c 62 72 3e 20 4c 69 6b 65 20 3c 43 4f 44 45 3e 73 65 74 6b 65 79 3c 2f 43 4f 44 45 <br><br>.Like.<CODE>setkey</CODE
284a0 3e 2c 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 >,.<VAR>block</VAR>.is.specified
284c0 20 61 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 36 34 20 62 69 74 73 20 65 61 63 68 0a 20 20 20 .as.an.array.of.64.bits.each....
284e0 20 20 20 20 20 20 73 74 6f 72 65 64 20 69 6e 20 61 20 3c 43 4f 44 45 3e 63 68 61 72 3c 2f 43 4f ......stored.in.a.<CODE>char</CO
28500 44 45 3e 2c 20 62 75 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 70 61 72 69 74 79 20 62 69 74 DE>,.but.there.are.no.parity.bit
28520 73 20 69 6e 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 s.in.<VAR>block</VAR>..........s
28540 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 72 79 70 74 2e 68 78 71 00 7e 06 83 74 q.~......w.....t..crypt.hxq.~..t
28560 00 17 63 68 61 72 20 2a 62 6c 6f 63 6b 2c 20 69 6e 74 20 65 64 66 6c 61 67 74 00 04 76 6f 69 64 ..char.*block,.int.edflagt..void
28580 74 00 09 65 6e 63 72 79 70 74 5f 72 73 71 00 7e 00 0a 70 74 01 53 0a 20 20 20 20 20 20 20 20 3c t..encrypt_rsq.~..pt.S.........<
285a0 62 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 61 72 65 20 72 65 65 6e 74 72 61 6e 74 20 76 65 72 73 br><br>.These.are.reentrant.vers
285c0 69 6f 6e 73 20 6f 66 20 3c 43 4f 44 45 3e 73 65 74 6b 65 79 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 ions.of.<CODE>setkey</CODE>.and.
285e0 3c 43 4f 44 45 3e 65 6e 63 72 79 70 74 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 0a 20 20 20 20 20 <CODE>encrypt</CODE>...The......
28600 20 20 20 20 6f 6e 6c 79 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 65 20 65 78 74 72 61 ....only.difference.is.the.extra
28620 20 70 61 72 61 6d 65 74 65 72 2c 20 77 68 69 63 68 20 73 74 6f 72 65 73 20 74 68 65 20 65 78 70 .parameter,.which.stores.the.exp
28640 61 6e 64 65 64 0a 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 6f 66 20 3c 56 41 52 3e 6b anded..........version.of.<VAR>k
28660 65 79 3c 2f 56 41 52 3e 2e 20 20 42 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e ey</VAR>...Before.calling.<CODE>
28680 73 65 74 6b 65 79 5f 72 3c 2f 43 4f 44 45 3e 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 2c 0a setkey_r</CODE>.the.first.time,.
286a0 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 64 61 74 61 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 64 .........<CODE>data->initialized
286c0 3c 2f 43 4f 44 45 3e 20 6d 75 73 74 20 62 65 20 63 6c 65 61 72 65 64 20 74 6f 20 7a 65 72 6f 2e </CODE>.must.be.cleared.to.zero.
286e0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 72 79 70 .........sq.~......w.....t..cryp
28700 74 2e 68 78 71 00 7e 06 8a 74 00 33 63 68 61 72 20 2a 62 6c 6f 63 6b 2c 20 69 6e 74 20 65 64 66 t.hxq.~..t.3char.*block,.int.edf
28720 6c 61 67 2c 20 7b 73 74 72 75 63 74 20 63 72 79 70 74 5f 64 61 74 61 20 2a 7d 20 64 61 74 61 74 lag,.{struct.crypt_data.*}.datat
28740 00 04 76 6f 69 64 74 00 08 65 6e 64 66 73 65 6e 74 73 71 00 7e 00 0a 70 74 00 c8 0a 20 20 20 20 ..voidt..endfsentsq.~..pt.......
28760 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 73 20 73 75 72 65 20 74 68 61 ....This.function.makes.sure.tha
28780 74 20 61 6c 6c 20 72 65 73 6f 75 72 63 65 73 20 61 63 71 75 69 72 65 64 20 62 79 20 61 20 70 72 t.all.resources.acquired.by.a.pr
287a0 69 6f 72 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 65 74 66 73 ior.call.to..........<CODE>setfs
287c0 65 6e 74 3c 2f 43 4f 44 45 3e 20 28 65 78 70 6c 69 63 69 74 6c 79 20 6f 72 20 69 6d 70 6c 69 63 ent</CODE>.(explicitly.or.implic
287e0 69 74 6c 79 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 67 65 74 66 73 65 6e 74 3c 2f itly.by.calling.<CODE>getfsent</
28800 43 4f 44 45 3e 29 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 66 72 65 65 64 2e 0a 20 20 20 20 20 CODE>).are..........freed.......
28820 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 66 73 74 61 62 2e 68 78 71 00 ...sq.~......w.....t..fstab.hxq.
28840 7e 06 91 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 08 65 6e 64 67 72 65 6e 74 73 71 00 7e ~..t..voidt..voidt..endgrentsq.~
28860 00 0a 70 74 00 7d 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f ..pt.}.........This.function.clo
28880 73 65 73 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 65 61 6d 20 75 73 65 64 20 62 79 20 ses.the.internal.stream.used.by.
288a0 3c 43 4f 44 45 3e 67 65 74 67 72 65 6e 74 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 20 20 20 20 20 20 <CODE>getgrent</CODE>.or........
288c0 20 20 3c 43 4f 44 45 3e 67 65 74 67 72 65 6e 74 5f 72 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 ..<CODE>getgrent_r</CODE>.......
288e0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 71 00 7e 06 ...sq.~......w.....t..grp.hxq.~.
28900 98 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 0a 65 6e 64 68 6f 73 74 65 6e 74 73 71 00 7e .t..voidt..voidt..endhostentsq.~
28920 00 0a 70 74 00 3a 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f ..pt.:.........This.function.clo
28940 73 65 73 20 74 68 65 20 68 6f 73 74 73 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 20 20 20 ses.the.hosts.database..........
28960 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 06 9f sq.~......w.....t..netdb.hxq.~..
28980 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 09 65 6e 64 6d 6e 74 65 6e 74 73 71 00 7e 00 0a t..voidt..voidt..endmntentsq.~..
289a0 70 74 01 50 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 pt.P.........This.function.takes
289c0 20 66 6f 72 20 74 68 65 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 70 61 72 61 6d .for.the.<VAR>stream</VAR>.param
289e0 65 74 65 72 20 61 20 66 69 6c 65 20 68 61 6e 64 6c 65 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 eter.a.file.handle.which........
28a00 20 20 70 72 65 76 69 6f 75 73 6c 79 20 77 61 73 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 74 ..previously.was.returned.from.t
28a20 68 65 20 3c 43 4f 44 45 3e 73 65 74 6d 6e 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 2e 0a he.<CODE>setmntent</CODE>.call..
28a40 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 6e 64 6d 6e 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 .........<CODE>endmntent</CODE>.
28a60 63 6c 6f 73 65 73 20 74 68 65 20 73 74 72 65 61 6d 20 61 6e 64 20 66 72 65 65 73 20 61 6c 6c 20 closes.the.stream.and.frees.all.
28a80 72 65 73 6f 75 72 63 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 resources...........<br><br>.The
28aa0 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 31 20 75 6e 6c 65 73 73 20 61 6e 20 65 72 72 .return.value.is.1.unless.an.err
28ac0 6f 72 20 6f 63 63 75 72 72 65 64 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 0a 20 20 20 or.occurred.in.which.case.it....
28ae0 20 20 20 20 20 20 69 73 20 30 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ......is.0..........sq.~......w.
28b00 00 00 00 0a 74 00 08 6d 6e 74 65 6e 74 2e 68 78 71 00 7e 06 a6 74 00 0c 46 49 4c 45 20 2a 73 74 ....t..mntent.hxq.~..t..FILE.*st
28b20 72 65 61 6d 74 00 03 69 6e 74 74 00 09 65 6e 64 6e 65 74 65 6e 74 73 71 00 7e 00 0a 70 74 00 3d reamt..intt..endnetentsq.~..pt.=
28b40 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 73 20 74 68 .........This.function.closes.th
28b60 65 20 6e 65 74 77 6f 72 6b 73 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 e.networks.database..........sq.
28b80 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 06 ad 74 00 04 ~......w.....t..netdb.hxq.~..t..
28ba0 76 6f 69 64 74 00 04 76 6f 69 64 74 00 0b 65 6e 64 6e 65 74 67 72 65 6e 74 73 71 00 7e 00 0a 70 voidt..voidt..endnetgrentsq.~..p
28bc0 74 00 e6 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 73 20 t...........This.function.frees.
28be0 61 6c 6c 20 62 75 66 66 65 72 73 20 77 68 69 63 68 20 77 65 72 65 20 61 6c 6c 6f 63 61 74 65 64 all.buffers.which.were.allocated
28c00 20 74 6f 20 70 72 6f 63 65 73 73 20 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 20 20 20 20 73 65 .to.process.the.last..........se
28c20 6c 65 63 74 65 64 20 6e 65 74 67 72 6f 75 70 2e 20 20 41 73 20 61 20 72 65 73 75 6c 74 20 61 6c lected.netgroup...As.a.result.al
28c40 6c 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 63 61 l.string.pointers.returned.by.ca
28c60 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 6e 65 74 67 72 65 6e lls..........to.<CODE>getnetgren
28c80 74 3c 2f 43 4f 44 45 3e 20 61 72 65 20 69 6e 76 61 6c 69 64 20 61 66 74 65 72 77 61 72 64 73 2e t</CODE>.are.invalid.afterwards.
28ca0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 .........sq.~......w.....t..netd
28cc0 62 2e 68 78 71 00 7e 06 b4 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 0b 65 6e 64 70 72 6f b.hxq.~..t..voidt..voidt..endpro
28ce0 74 6f 65 6e 74 73 71 00 7e 00 0a 70 74 00 3e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e toentsq.~..pt.>.........This.fun
28d00 63 74 69 6f 6e 20 63 6c 6f 73 65 73 20 74 68 65 20 70 72 6f 74 6f 63 6f 6c 73 20 64 61 74 61 62 ction.closes.the.protocols.datab
28d20 61 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 ase..........sq.~......w.....t..
28d40 6e 65 74 64 62 2e 68 78 71 00 7e 06 bb 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 08 65 6e netdb.hxq.~..t..voidt..voidt..en
28d60 64 70 77 65 6e 74 73 71 00 7e 00 0a 70 74 00 7d 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 dpwentsq.~..pt.}.........This.fu
28d80 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 73 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 65 61 nction.closes.the.internal.strea
28da0 6d 20 75 73 65 64 20 62 79 20 3c 43 4f 44 45 3e 67 65 74 70 77 65 6e 74 3c 2f 43 4f 44 45 3e 20 m.used.by.<CODE>getpwent</CODE>.
28dc0 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 70 77 65 6e 74 5f 72 3c 2f 43 4f or..........<CODE>getpwent_r</CO
28de0 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 DE>..........sq.~......w.....t..
28e00 70 77 64 2e 68 78 71 00 7e 06 c2 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 0a 65 6e 64 73 pwd.hxq.~..t..voidt..voidt..ends
28e20 65 72 76 65 6e 74 73 71 00 7e 00 0a 70 74 00 3d 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 erventsq.~..pt.=.........This.fu
28e40 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 73 20 74 68 65 20 73 65 72 76 69 63 65 73 20 64 61 74 61 62 nction.closes.the.services.datab
28e60 61 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 ase..........sq.~......w.....t..
28e80 6e 65 74 64 62 2e 68 78 71 00 7e 06 c9 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 08 65 6e netdb.hxq.~..t..voidt..voidt..en
28ea0 64 75 74 65 6e 74 73 71 00 7e 00 0a 70 74 00 44 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 dutentsq.~..pt.D.........This.fu
28ec0 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 73 20 74 68 65 20 75 73 65 72 20 61 63 63 6f 75 6e 74 69 6e nction.closes.the.user.accountin
28ee0 67 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 g.database..........sq.~......w.
28f00 00 00 00 0a 74 00 06 75 74 6d 70 2e 68 78 71 00 7e 06 d0 74 00 04 76 6f 69 64 74 00 04 76 6f 69 ....t..utmp.hxq.~..t..voidt..voi
28f20 64 74 00 09 65 6e 64 75 74 78 65 6e 74 73 71 00 7e 00 0a 70 74 00 91 0a 20 20 20 20 20 20 20 20 dt..endutxentsq.~..pt...........
28f40 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 This.function.is.similar.to.<COD
28f60 45 3e 65 6e 64 75 74 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 4f 6e 20 74 68 65 20 47 4e 55 20 73 E>endutent</CODE>...On.the.GNU.s
28f80 79 73 74 65 6d 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 69 6d 70 6c 79 20 61 6e 20 61 ystem.it.is..........simply.an.a
28fa0 6c 69 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 65 6e 64 75 74 65 6e 74 3c 2f 43 4f 44 45 3e 2e 0a lias.for.<CODE>endutent</CODE>..
28fc0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 75 74 6d 70 78 ........sq.~......w.....t..utmpx
28fe0 2e 68 78 71 00 7e 06 d7 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 08 65 6e 76 7a 5f 61 64 .hxq.~..t..voidt..voidt..envz_ad
29000 64 73 71 00 7e 00 0a 70 74 01 e4 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 6e dsq.~..pt...........The.<CODE>en
29020 76 7a 5f 61 64 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 73 20 61 6e 20 65 vz_add</CODE>.function.adds.an.e
29040 6e 74 72 79 20 74 6f 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 65 6e 76 7a 3c 2f 56 41 52 3e 3c 2f ntry.to.<CODE>*<VAR>envz</VAR></
29060 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 28 75 70 64 61 74 69 6e 67 20 3c 43 4f 44 45 3e 2a CODE>..........(updating.<CODE>*
29080 3c 56 41 52 3e 65 6e 76 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 <VAR>envz</VAR></CODE>.and.<CODE
290a0 3e 2a 3c 56 41 52 3e 65 6e 76 7a 5f 6c 65 6e 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 29 20 77 69 >*<VAR>envz_len</VAR></CODE>).wi
290c0 74 68 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f th.the.name..........<VAR>name</
290e0 56 41 52 3e 2c 20 61 6e 64 20 76 61 6c 75 65 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e VAR>,.and.value.<VAR>value</VAR>
29100 2e 20 20 49 66 20 61 6e 20 65 6e 74 72 79 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d ...If.an.entry.with.the.same.nam
29120 65 0a 20 20 20 20 20 20 20 20 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 20 69 6e 20 3c 56 41 e..........already.exists.in.<VA
29140 52 3e 65 6e 76 7a 3c 2f 56 41 52 3e 2c 20 69 74 20 69 73 20 72 65 6d 6f 76 65 64 20 66 69 72 73 R>envz</VAR>,.it.is.removed.firs
29160 74 2e 20 20 49 66 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 t...If.<VAR>value</VAR>.is......
29180 20 20 20 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 6e 20 74 68 65 20 6e 65 77 ....<CODE>0</CODE>,.then.the.new
291a0 20 65 6e 74 72 79 20 77 69 6c 6c 20 74 68 65 20 73 70 65 63 69 61 6c 20 6e 75 6c 6c 20 74 79 70 .entry.will.the.special.null.typ
291c0 65 20 6f 66 20 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 28 6d 65 6e 74 69 6f 6e 65 64 20 61 e.of.entry..........(mentioned.a
291e0 62 6f 76 65 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 bove)..........sq.~......w.....t
29200 00 06 65 6e 76 7a 2e 68 78 71 00 7e 06 de 74 00 42 63 68 61 72 20 2a 2a 65 6e 76 7a 2c 20 73 69 ..envz.hxq.~..t.Bchar.**envz,.si
29220 7a 65 5f 74 20 2a 65 6e 76 7a 5f 6c 65 6e 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 ze_t.*envz_len,.const.char.*name
29240 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 76 61 6c 75 65 74 00 07 65 72 72 6f 72 5f 74 74 00 0a ,.const.char.*valuet..error_tt..
29260 65 6e 76 7a 5f 65 6e 74 72 79 73 71 00 7e 00 0a 70 74 01 66 0a 20 20 20 20 20 20 20 20 54 68 65 envz_entrysq.~..pt.f.........The
29280 20 3c 43 4f 44 45 3e 65 6e 76 7a 5f 65 6e 74 72 79 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f .<CODE>envz_entry</CODE>.functio
292a0 6e 20 66 69 6e 64 73 20 74 68 65 20 65 6e 74 72 79 20 69 6e 20 3c 56 41 52 3e 65 6e 76 7a 3c 2f n.finds.the.entry.in.<VAR>envz</
292c0 56 41 52 3e 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 VAR>.with.the.name..........<VAR
292e0 3e 6e 61 6d 65 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 >name</VAR>,.and.returns.a.point
29300 65 72 20 74 6f 20 74 68 65 20 77 68 6f 6c 65 20 65 6e 74 72 79 2d 2d 2d 74 68 61 74 20 69 73 2c er.to.the.whole.entry---that.is,
29320 20 74 68 65 20 61 72 67 7a 0a 20 20 20 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 77 68 69 63 68 .the.argz..........element.which
29340 20 62 65 67 69 6e 73 20 77 69 74 68 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 20 66 6f 6c .begins.with.<VAR>name</VAR>.fol
29360 6c 6f 77 65 64 20 62 79 20 61 20 3c 43 4f 44 45 3e 27 3d 27 3c 2f 43 4f 44 45 3e 20 63 68 61 72 lowed.by.a.<CODE>'='</CODE>.char
29380 61 63 74 65 72 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 72 65 20 69 73 20 6e 6f 20 acter...If..........there.is.no.
293a0 65 6e 74 72 79 20 77 69 74 68 20 74 68 61 74 20 6e 61 6d 65 2c 20 3c 43 4f 44 45 3e 30 3c 2f 43 entry.with.that.name,.<CODE>0</C
293c0 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f ODE>.is.returned..........sq.~..
293e0 00 00 00 01 77 04 00 00 00 0a 74 00 06 65 6e 76 7a 2e 68 78 71 00 7e 06 e5 74 00 33 63 6f 6e 73 ....w.....t..envz.hxq.~..t.3cons
29400 74 20 63 68 61 72 20 2a 65 6e 76 7a 2c 20 73 69 7a 65 5f 74 20 65 6e 76 7a 5f 6c 65 6e 2c 20 63 t.char.*envz,.size_t.envz_len,.c
29420 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 74 00 06 63 68 61 72 20 2a 74 00 08 65 6e 76 7a 5f onst.char.*namet..char.*t..envz_
29440 67 65 74 73 71 00 7e 00 0a 70 74 01 64 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e getsq.~..pt.d.........The.<CODE>
29460 65 6e 76 7a 5f 67 65 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 73 20 74 envz_get</CODE>.function.finds.t
29480 68 65 20 65 6e 74 72 79 20 69 6e 20 3c 56 41 52 3e 65 6e 76 7a 3c 2f 56 41 52 3e 20 77 69 74 68 he.entry.in.<VAR>envz</VAR>.with
294a0 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 .the.name..........<VAR>name</VA
294c0 52 3e 20 28 6c 69 6b 65 20 3c 43 4f 44 45 3e 65 6e 76 7a 5f 65 6e 74 72 79 3c 2f 43 4f 44 45 3e R>.(like.<CODE>envz_entry</CODE>
294e0 29 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 ),.and.returns.a.pointer.to.the.
29500 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 61 74 20 65 value..........portion.of.that.e
29520 6e 74 72 79 20 28 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e 27 3d 27 3c 2f 43 ntry.(following.the.<CODE>'='</C
29540 4f 44 45 3e 29 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 65 6e 74 72 79 20 77 69 74 ODE>)...If.there.is.no.entry.wit
29560 68 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 6e 61 6d 65 20 28 6f 72 20 6f 6e 6c 79 20 61 20 h..........that.name.(or.only.a.
29580 6e 75 6c 6c 20 65 6e 74 72 79 29 2c 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 73 20 72 null.entry),.<CODE>0</CODE>.is.r
295a0 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 eturned..........sq.~......w....
295c0 0a 74 00 06 65 6e 76 7a 2e 68 78 71 00 7e 06 ec 74 00 33 63 6f 6e 73 74 20 63 68 61 72 20 2a 65 .t..envz.hxq.~..t.3const.char.*e
295e0 6e 76 7a 2c 20 73 69 7a 65 5f 74 20 65 6e 76 7a 5f 6c 65 6e 2c 20 63 6f 6e 73 74 20 63 68 61 72 nvz,.size_t.envz_len,.const.char
29600 20 2a 6e 61 6d 65 74 00 06 63 68 61 72 20 2a 74 00 0a 65 6e 76 7a 5f 6d 65 72 67 65 73 71 00 7e .*namet..char.*t..envz_mergesq.~
29620 00 0a 70 74 02 8e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 6e 76 7a 5f 6d 65 ..pt...........The.<CODE>envz_me
29640 72 67 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 73 20 65 61 63 68 20 65 6e rge</CODE>.function.adds.each.en
29660 74 72 79 20 69 6e 20 3c 56 41 52 3e 65 6e 76 7a 32 3c 2f 56 41 52 3e 20 74 6f 20 3c 56 41 52 3e try.in.<VAR>envz2</VAR>.to.<VAR>
29680 65 6e 76 7a 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 61 73 20 69 66 20 77 69 74 68 20 envz</VAR>,..........as.if.with.
296a0 3c 43 4f 44 45 3e 65 6e 76 7a 5f 61 64 64 3c 2f 43 4f 44 45 3e 2c 20 75 70 64 61 74 69 6e 67 20 <CODE>envz_add</CODE>,.updating.
296c0 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 65 6e 76 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e <CODE>*<VAR>envz</VAR></CODE>.an
296e0 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 65 6e 76 7a 5f 6c 65 6e 3c d..........<CODE>*<VAR>envz_len<
29700 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 3c 56 41 52 3e 6f 76 65 72 72 69 64 65 3c /VAR></CODE>...If.<VAR>override<
29720 2f 56 41 52 3e 20 69 73 20 74 72 75 65 2c 20 74 68 65 6e 20 76 61 6c 75 65 73 20 69 6e 20 3c 56 /VAR>.is.true,.then.values.in.<V
29740 41 52 3e 65 6e 76 7a 32 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 73 75 70 AR>envz2</VAR>..........will.sup
29760 65 72 73 65 64 65 20 74 68 6f 73 65 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 ersede.those.with.the.same.name.
29780 69 6e 20 3c 56 41 52 3e 65 6e 76 7a 3c 2f 56 41 52 3e 2c 20 6f 74 68 65 72 77 69 73 65 20 6e 6f in.<VAR>envz</VAR>,.otherwise.no
297a0 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 75 6c 6c 20 65 6e 74 72 69 65 t...........<br><br>.Null.entrie
297c0 73 20 61 72 65 20 74 72 65 61 74 65 64 20 6a 75 73 74 20 6c 69 6b 65 20 6f 74 68 65 72 20 65 6e s.are.treated.just.like.other.en
297e0 74 72 69 65 73 20 69 6e 20 74 68 69 73 20 72 65 73 70 65 63 74 2c 20 73 6f 20 61 20 6e 75 6c 6c tries.in.this.respect,.so.a.null
29800 0a 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 20 69 6e 20 3c 56 41 52 3e 65 6e 76 7a 3c 2f 56 41 ..........entry.in.<VAR>envz</VA
29820 52 3e 20 63 61 6e 20 70 72 65 76 65 6e 74 20 61 6e 20 65 6e 74 72 79 20 6f 66 20 74 68 65 20 73 R>.can.prevent.an.entry.of.the.s
29840 61 6d 65 20 6e 61 6d 65 20 69 6e 20 3c 56 41 52 3e 65 6e 76 7a 32 3c 2f 56 41 52 3e 20 66 72 6f ame.name.in.<VAR>envz2</VAR>.fro
29860 6d 0a 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 61 64 64 65 64 20 74 6f 20 3c 56 41 52 3e 65 m..........being.added.to.<VAR>e
29880 6e 76 7a 3c 2f 56 41 52 3e 2c 20 69 66 20 3c 56 41 52 3e 6f 76 65 72 72 69 64 65 3c 2f 56 41 52 nvz</VAR>,.if.<VAR>override</VAR
298a0 3e 20 69 73 20 66 61 6c 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 >.is.false..........sq.~......w.
298c0 00 00 00 0a 74 00 06 65 6e 76 7a 2e 68 78 71 00 7e 06 f3 74 00 50 63 68 61 72 20 2a 2a 65 6e 76 ....t..envz.hxq.~..t.Pchar.**env
298e0 7a 2c 20 73 69 7a 65 5f 74 20 2a 65 6e 76 7a 5f 6c 65 6e 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 z,.size_t.*envz_len,.const.char.
29900 2a 65 6e 76 7a 32 2c 20 73 69 7a 65 5f 74 20 65 6e 76 7a 32 5f 6c 65 6e 2c 20 69 6e 74 20 6f 76 *envz2,.size_t.envz2_len,.int.ov
29920 65 72 72 69 64 65 74 00 07 65 72 72 6f 72 5f 74 74 00 0a 65 6e 76 7a 5f 73 74 72 69 70 73 71 00 erridet..error_tt..envz_stripsq.
29940 7e 00 0a 70 74 00 bc 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 6e 76 7a 5f 73 ~..pt...........The.<CODE>envz_s
29960 74 72 69 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 73 20 61 6e 79 trip</CODE>.function.removes.any
29980 20 6e 75 6c 6c 20 65 6e 74 72 69 65 73 20 66 72 6f 6d 20 3c 56 41 52 3e 65 6e 76 7a 3c 2f 56 41 .null.entries.from.<VAR>envz</VA
299a0 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 75 70 64 61 74 69 6e 67 20 3c 43 4f 44 45 3e 2a 3c 56 41 R>,..........updating.<CODE>*<VA
299c0 52 3e 65 6e 76 7a 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 2a 3c R>envz</VAR></CODE>.and.<CODE>*<
299e0 56 41 52 3e 65 6e 76 7a 5f 6c 65 6e 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 VAR>envz_len</VAR></CODE>.......
29a00 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 65 6e 76 7a 2e 68 78 71 00 7e ...sq.~......w.....t..envz.hxq.~
29a20 06 fa 74 00 1d 63 68 61 72 20 2a 2a 65 6e 76 7a 2c 20 73 69 7a 65 5f 74 20 2a 65 6e 76 7a 5f 6c ..t..char.**envz,.size_t.*envz_l
29a40 65 6e 74 00 04 76 6f 69 64 74 00 07 65 72 61 6e 64 34 38 73 71 00 7e 00 0a 70 74 01 e9 0a 20 20 ent..voidt..erand48sq.~..pt.....
29a60 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 3c 43 ......This.function.returns.a.<C
29a80 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 72 ODE>double</CODE>.value.in.the.r
29aa0 61 6e 67 65 20 6f 66 20 3c 43 4f 44 45 3e 30 2e 30 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 ange.of.<CODE>0.0</CODE>........
29ac0 20 20 74 6f 20 3c 43 4f 44 45 3e 31 2e 30 3c 2f 43 4f 44 45 3e 20 28 65 78 63 6c 75 73 69 76 65 ..to.<CODE>1.0</CODE>.(exclusive
29ae0 29 2c 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 20 3c 43 4f 44 45 3e 64 72 61 6e 64 34 38 3c 2f 43 ),.similarly.to.<CODE>drand48</C
29b00 4f 44 45 3e 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 ODE>...The.argument.is..........
29b20 61 6e 20 61 72 72 61 79 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 73 74 61 74 65 20 6f 66 an.array.describing.the.state.of
29b40 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 2e 0a 20 20 .the.random.number.generator....
29b60 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 .......<br><br>.This.function.ca
29b80 6e 20 62 65 20 63 61 6c 6c 65 64 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 73 69 6e 63 65 20 69 n.be.called.subsequently.since.i
29ba0 74 20 75 70 64 61 74 65 73 20 74 68 65 20 61 72 72 61 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 t.updates.the.array.to..........
29bc0 67 75 61 72 61 6e 74 65 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 73 2e 20 20 54 68 65 20 61 guarantee.random.numbers...The.a
29be0 72 72 61 79 20 73 68 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20 69 6e 69 74 69 61 6c 69 7a 65 rray.should.have.been.initialize
29c00 64 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 20 75 73 65 20 74 6f d.before..........initial.use.to
29c20 20 6f 62 74 61 69 6e 20 72 65 70 72 6f 64 75 63 69 62 6c 65 20 72 65 73 75 6c 74 73 2e 0a 20 20 .obtain.reproducible.results....
29c40 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e ......sq.~......w.....t..stdlib.
29c60 68 78 71 00 7e 07 01 74 00 1b 75 6e 73 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74 20 78 73 75 hxq.~..t..unsigned.short.int.xsu
29c80 62 69 5b 33 5d 74 00 06 64 6f 75 62 6c 65 74 00 09 65 72 61 6e 64 34 38 5f 72 73 71 00 7e 00 0a bi[3]t..doublet..erand48_rsq.~..
29ca0 70 74 02 9a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 72 61 6e 64 34 38 5f 72 pt...........The.<CODE>erand48_r
29cc0 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6c 69 6b 65 20 3c 43 4f 44 </CODE>.function.works.like.<COD
29ce0 45 3e 65 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 69 6e 20 61 64 64 69 74 69 6f E>erand48</CODE>,.but.in.additio
29d00 6e 0a 20 20 20 20 20 20 20 20 20 69 74 20 74 61 6b 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 n..........it.takes.an.argument.
29d20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 77 68 69 63 68 20 64 65 73 63 72 69 62 65 <VAR>buffer</VAR>.which.describe
29d40 73 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 67 65 6e s.the.random.number..........gen
29d60 65 72 61 74 6f 72 2e 20 20 54 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 72 61 6e 64 6f 6d erator...The.state.of.the.random
29d80 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 20 69 73 20 74 61 6b 65 6e 20 66 72 6f 6d 20 .number.generator.is.taken.from.
29da0 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 78 73 75 62 69 3c 2f 43 4f 44 45 3e 20 the..........<CODE>xsubi</CODE>.
29dc0 61 72 72 61 79 2c 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 74 68 65 20 63 6f array,.the.parameters.for.the.co
29de0 6e 67 72 75 65 6e 74 69 61 6c 20 66 6f 72 6d 75 6c 61 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 ngruential.formula.from.the.....
29e00 20 20 20 20 20 67 6c 6f 62 61 6c 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 .....global.random.number.genera
29e20 74 6f 72 20 64 61 74 61 2e 20 20 54 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 69 73 20 tor.data...The.random.number.is.
29e40 72 65 74 75 72 6e 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 76 61 72 69 61 62 6c returned.in..........the.variabl
29e60 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 e.pointed.to.by.<VAR>result</VAR
29e80 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 >...........<br><br>.The.return.
29ea0 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 69 66 20 74 68 65 20 63 61 6c value.is.non-negative.if.the.cal
29ec0 6c 20 73 75 63 63 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 l.succeeded...........<br><br>.T
29ee0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 his.function.is.a.GNU.extension.
29f00 61 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 70 6f 72 74 61 62 and.should.not.be.used.in.portab
29f20 6c 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 le..........programs..........sq
29f40 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 07 08 74 .~......w.....t..stdlib.hxq.~..t
29f60 00 48 75 6e 73 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74 20 78 73 75 62 69 5b 33 5d 2c 20 73 .Hunsigned.short.int.xsubi[3],.s
29f80 74 72 75 63 74 20 64 72 61 6e 64 34 38 5f 64 61 74 61 20 2a 62 75 66 66 65 72 2c 20 64 6f 75 62 truct.drand48_data.*buffer,.doub
29fa0 6c 65 20 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 03 65 72 66 73 71 00 7e 00 0a 70 74 01 03 le.*resultt..intt..erfsq.~..pt..
29fc0 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 66 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e .........<CODE>erf</CODE>.return
29fe0 73 20 74 68 65 20 65 72 72 6f 72 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 3c 56 41 52 3e 78 3c 2f s.the.error.function.of.<VAR>x</
2a000 56 41 52 3e 2e 20 20 54 68 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 VAR>...The.error..........functi
2a020 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 on.is.defined.as................
2a040 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 ..............<pre><br>.........
2a060 20 65 72 66 20 28 78 29 20 3d 20 32 2f 73 71 72 74 28 70 69 29 20 2a 20 69 6e 74 65 67 72 61 6c .erf.(x).=.2/sqrt(pi).*.integral
2a080 20 66 72 6f 6d 20 30 20 74 6f 20 78 20 6f 66 20 65 78 70 28 2d 74 5e 32 29 20 64 74 3c 62 72 3e .from.0.to.x.of.exp(-t^2).dt<br>
2a0a0 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 ..........</pre>................
2a0c0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
2a0e0 07 0f 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 04 65 72 66 63 73 71 00 ..t..double.xt..doublet..erfcsq.
2a100 7e 00 0a 70 74 00 ac 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 66 63 3c 2f 43 4f 44 45 ~..pt...........<CODE>erfc</CODE
2a120 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 31 2e 30 20 2d 20 65 72 66 28 3c 56 41 52 3e 78 >.returns.<CODE>1.0.-.erf(<VAR>x
2a140 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 63 6f 6d 70 75 74 65 64 20 69 6e 20 </VAR>)</CODE>,.but.computed.in.
2a160 61 0a 20 20 20 20 20 20 20 20 20 66 61 73 68 69 6f 6e 20 74 68 61 74 20 61 76 6f 69 64 73 20 72 a..........fashion.that.avoids.r
2a180 6f 75 6e 64 2d 6f 66 66 20 65 72 72 6f 72 20 77 68 65 6e 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e ound-off.error.when.<VAR>x</VAR>
2a1a0 20 69 73 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 .is.large..........sq.~......w..
2a1c0 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 07 16 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 ...t..math.hxq.~..t..double.xt..
2a1e0 64 6f 75 62 6c 65 74 00 05 65 72 66 63 66 73 71 00 7e 00 0a 70 74 00 ac 0a 20 20 20 20 20 20 20 doublet..erfcfsq.~..pt..........
2a200 20 3c 43 4f 44 45 3e 65 72 66 63 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 .<CODE>erfc</CODE>.returns.<CODE
2a220 3e 31 2e 30 20 2d 20 65 72 66 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2c >1.0.-.erf(<VAR>x</VAR>)</CODE>,
2a240 20 62 75 74 20 63 6f 6d 70 75 74 65 64 20 69 6e 20 61 0a 20 20 20 20 20 20 20 20 20 66 61 73 68 .but.computed.in.a..........fash
2a260 69 6f 6e 20 74 68 61 74 20 61 76 6f 69 64 73 20 72 6f 75 6e 64 2d 6f 66 66 20 65 72 72 6f 72 20 ion.that.avoids.round-off.error.
2a280 77 68 65 6e 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6c 61 72 67 65 2e 0a 20 20 20 20 when.<VAR>x</VAR>.is.large......
2a2a0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 ....sq.~......w.....t..math.hxq.
2a2c0 7e 07 1d 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 05 65 72 66 63 6c 73 71 00 ~..t..float.xt..floatt..erfclsq.
2a2e0 7e 00 0a 70 74 00 ac 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 66 63 3c 2f 43 4f 44 45 ~..pt...........<CODE>erfc</CODE
2a300 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 31 2e 30 20 2d 20 65 72 66 28 3c 56 41 52 3e 78 >.returns.<CODE>1.0.-.erf(<VAR>x
2a320 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 63 6f 6d 70 75 74 65 64 20 69 6e 20 </VAR>)</CODE>,.but.computed.in.
2a340 61 0a 20 20 20 20 20 20 20 20 20 66 61 73 68 69 6f 6e 20 74 68 61 74 20 61 76 6f 69 64 73 20 72 a..........fashion.that.avoids.r
2a360 6f 75 6e 64 2d 6f 66 66 20 65 72 72 6f 72 20 77 68 65 6e 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e ound-off.error.when.<VAR>x</VAR>
2a380 20 69 73 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 .is.large..........sq.~......w..
2a3a0 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 07 24 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 ...t..math.hxq.~.$t..long.double
2a3c0 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 65 72 66 66 73 71 00 7e 00 0a 70 74 01 .xt..long.doublet..erffsq.~..pt.
2a3e0 03 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 66 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 ..........<CODE>erf</CODE>.retur
2a400 6e 73 20 74 68 65 20 65 72 72 6f 72 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 3c 56 41 52 3e 78 3c ns.the.error.function.of.<VAR>x<
2a420 2f 56 41 52 3e 2e 20 20 54 68 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 /VAR>...The.error..........funct
2a440 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 ion.is.defined.as...............
2a460 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 ...............<pre><br>........
2a480 20 20 65 72 66 20 28 78 29 20 3d 20 32 2f 73 71 72 74 28 70 69 29 20 2a 20 69 6e 74 65 67 72 61 ..erf.(x).=.2/sqrt(pi).*.integra
2a4a0 6c 20 66 72 6f 6d 20 30 20 74 6f 20 78 20 6f 66 20 65 78 70 28 2d 74 5e 32 29 20 64 74 3c 62 72 l.from.0.to.x.of.exp(-t^2).dt<br
2a4c0 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 >..........</pre>...............
2a4e0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 ....sq.~......w.....t..math.hxq.
2a500 7e 07 2b 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 04 65 72 66 6c 73 71 00 7e ~.+t..float.xt..floatt..erflsq.~
2a520 00 0a 70 74 01 03 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 66 3c 2f 43 4f 44 45 3e 20 ..pt...........<CODE>erf</CODE>.
2a540 72 65 74 75 72 6e 73 20 74 68 65 20 65 72 72 6f 72 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 3c 56 returns.the.error.function.of.<V
2a560 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 AR>x</VAR>...The.error..........
2a580 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 function.is.defined.as..........
2a5a0 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 ....................<pre><br>...
2a5c0 20 20 20 20 20 20 20 65 72 66 20 28 78 29 20 3d 20 32 2f 73 71 72 74 28 70 69 29 20 2a 20 69 6e .......erf.(x).=.2/sqrt(pi).*.in
2a5e0 74 65 67 72 61 6c 20 66 72 6f 6d 20 30 20 74 6f 20 78 20 6f 66 20 65 78 70 28 2d 74 5e 32 29 20 tegral.from.0.to.x.of.exp(-t^2).
2a600 64 74 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 dt<br>..........</pre>..........
2a620 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 .........sq.~......w.....t..math
2a640 2e 68 78 71 00 7e 07 32 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 .hxq.~.2t..long.double.xt..long.
2a660 64 6f 75 62 6c 65 74 00 03 65 72 72 73 71 00 7e 00 0a 70 74 01 69 0a 20 20 20 20 20 20 20 20 54 doublet..errsq.~..pt.i.........T
2a680 68 65 20 3c 43 4f 44 45 3e 65 72 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 he.<CODE>err</CODE>.function.is.
2a6a0 72 6f 75 67 68 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 63 61 6c 6c 20 6c 69 6b roughly.equivalent.to.a.call.lik
2a6c0 65 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 e..........<pre><br>............
2a6e0 65 72 72 6f 72 20 28 73 74 61 74 75 73 2c 20 65 72 72 6e 6f 2c 20 66 6f 72 6d 61 74 2c 20 74 68 error.(status,.errno,.format,.th
2a700 65 20 70 61 72 61 6d 65 74 65 72 73 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 e.parameters)<br>..........</pre
2a720 3e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 61 74 >....................except.that
2a740 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 20 3c 43 4f 44 45 3e 65 72 72 6f .the.global.variables.<CODE>erro
2a760 72 3c 2f 43 4f 44 45 3e 20 72 65 73 70 65 63 74 73 20 61 6e 64 20 6d 6f 64 69 66 69 65 73 0a 20 r</CODE>.respects.and.modifies..
2a780 20 20 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20 75 73 65 64 20 61 6e 64 20 74 68 61 74 20 74 68 ........are.not.used.and.that.th
2a7a0 65 20 70 72 6f 67 72 61 6d 20 69 73 20 65 78 69 74 65 64 20 65 76 65 6e 20 69 66 20 3c 56 41 52 e.program.is.exited.even.if.<VAR
2a7c0 3e 73 74 61 74 75 73 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 >status</VAR>.is.zero..........s
2a7e0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 65 72 72 2e 68 78 71 00 7e 07 39 74 00 23 q.~......w.....t..err.hxq.~.9t.#
2a800 69 6e 74 20 73 74 61 74 75 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f 72 6d 61 74 2c 20 int.status,.const.char.*format,.
2a820 2e 2e 2e 74 00 04 76 6f 69 64 74 00 05 65 72 72 6f 72 73 71 00 7e 00 0a 70 74 08 8e 0a 20 20 20 ...t..voidt..errorsq.~..pt......
2a840 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 .....The.<CODE>error</CODE>.func
2a860 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 70 6f 72 74 20 67 65 6e 65 72 tion.can.be.used.to.report.gener
2a880 61 6c 20 70 72 6f 62 6c 65 6d 73 20 64 75 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 al.problems.during..........prog
2a8a0 72 61 6d 20 65 78 65 63 75 74 69 6f 6e 2e 20 20 54 68 65 20 3c 56 41 52 3e 66 6f 72 6d 61 74 3c ram.execution...The.<VAR>format<
2a8c0 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 66 6f 72 6d 61 74 20 73 74 72 69 6e /VAR>.argument.is.a.format.strin
2a8e0 67 20 6a 75 73 74 0a 20 20 20 20 20 20 20 20 20 6c 69 6b 65 20 74 68 6f 73 65 20 67 69 76 65 6e g.just..........like.those.given
2a900 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 66 61 6d 69 .to.the.<CODE>printf</CODE>.fami
2a920 6c 79 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 61 ly.of.functions...The..........a
2a940 72 67 75 6d 65 6e 74 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 74 68 65 20 66 6f 72 6d 61 74 rguments.required.for.the.format
2a960 20 63 61 6e 20 66 6f 6c 6c 6f 77 20 74 68 65 20 3c 56 41 52 3e 66 6f 72 6d 61 74 3c 2f 56 41 52 .can.follow.the.<VAR>format</VAR
2a980 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 >.parameter...........Just.like.
2a9a0 3c 43 4f 44 45 3e 70 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 65 72 72 6f 72 <CODE>perror</CODE>,.<CODE>error
2a9c0 3c 2f 43 4f 44 45 3e 20 61 6c 73 6f 20 63 61 6e 20 72 65 70 6f 72 74 20 61 6e 20 65 72 72 6f 72 </CODE>.also.can.report.an.error
2a9e0 20 63 6f 64 65 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 65 78 74 75 61 6c 20 66 6f 72 6d 2e 20 .code.in..........textual.form..
2aa00 20 42 75 74 20 75 6e 6c 69 6b 65 20 3c 43 4f 44 45 3e 70 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 .But.unlike.<CODE>perror</CODE>.
2aa20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 20 69 73 20 65 78 70 6c 69 63 69 74 6c 79 0a 20 20 the.error.value.is.explicitly...
2aa40 20 20 20 20 20 20 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e .......passed.to.the.function.in
2aa60 20 74 68 65 20 3c 56 41 52 3e 65 72 72 6e 75 6d 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 .the.<VAR>errnum</VAR>.parameter
2aa80 2e 20 20 54 68 69 73 20 65 6c 69 6d 69 6e 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 ...This.eliminates..........the.
2aaa0 70 72 6f 62 6c 65 6d 20 6d 65 6e 74 69 6f 6e 65 64 20 61 62 6f 76 65 20 74 68 61 74 20 74 68 65 problem.mentioned.above.that.the
2aac0 20 65 72 72 6f 72 20 72 65 70 6f 72 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 .error.reporting.function.must.b
2aae0 65 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 e..........called.immediately.af
2ab00 74 65 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 75 73 69 6e 67 20 74 68 65 20 65 72 72 ter.the.function.causing.the.err
2ab20 6f 72 20 73 69 6e 63 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 or.since.otherwise..........<COD
2ab40 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 6d 69 67 68 74 20 68 61 76 65 20 61 20 64 69 66 66 E>errno</CODE>.might.have.a.diff
2ab60 65 72 65 6e 74 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 erent.value...........<br><br>.T
2ab80 68 65 20 3c 43 4f 44 45 3e 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 70 72 69 6e 74 73 20 66 69 72 he.<CODE>error</CODE>.prints.fir
2aba0 73 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 2e 20 20 49 66 20 74 68 65 20 61 70 70 st.the.program.name...If.the.app
2abc0 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 61 20 67 6c 6f 62 lication..........defined.a.glob
2abe0 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 72 72 6f 72 5f 70 72 69 6e 74 5f 70 72 al.variable.<CODE>error_print_pr
2ac00 6f 67 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 70 6f 69 6e 74 73 20 69 74 20 74 6f 20 61 ogname</CODE>.and.points.it.to.a
2ac20 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e ..........function.this.function
2ac40 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 74 6f 20 70 72 69 6e 74 20 74 68 65 20 70 72 6f .will.be.called.to.print.the.pro
2ac60 67 72 61 6d 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 gram.name...........Otherwise.th
2ac80 65 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c e.string.from.the.global.variabl
2aca0 65 20 3c 43 4f 44 45 3e 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 e.<CODE>program_name</CODE>.is..
2acc0 20 20 20 20 20 20 20 20 75 73 65 64 2e 20 20 54 68 65 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 20 ........used...The.program.name.
2ace0 69 73 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 63 6f 6c 6f 6e 20 61 6e 64 20 61 20 73 70 61 is.followed.by.a.colon.and.a.spa
2ad00 63 65 20 77 68 69 63 68 20 69 6e 20 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 69 73 20 66 6f 6c ce.which.in.turn..........is.fol
2ad20 6c 6f 77 65 64 20 62 79 20 74 68 65 20 6f 75 74 70 75 74 20 70 72 6f 64 75 63 65 64 20 62 79 20 lowed.by.the.output.produced.by.
2ad40 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 the.format.string...If.the......
2ad60 20 20 20 20 3c 56 41 52 3e 65 72 72 6e 75 6d 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 ....<VAR>errnum</VAR>.parameter.
2ad80 69 73 20 6e 6f 6e 2d 7a 65 72 6f 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 6f 75 is.non-zero.the.format.string.ou
2ada0 74 70 75 74 20 69 73 20 66 6f 6c 6c 6f 77 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 61 20 63 tput.is.followed..........by.a.c
2adc0 6f 6c 6f 6e 20 61 6e 64 20 61 20 73 70 61 63 65 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 olon.and.a.space,.followed.by.th
2ade0 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 66 6f 72 20 74 68 65 20 65 72 72 6f 72 20 63 6f e.error.message.for.the.error.co
2ae00 64 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 65 72 72 6e 75 6d 3c 2f 56 41 52 3e 2e 20 20 de..........<VAR>errnum</VAR>...
2ae20 49 6e 20 61 6e 79 20 63 61 73 65 20 69 73 20 74 68 65 20 6f 75 74 70 75 74 20 74 65 72 6d 69 6e In.any.case.is.the.output.termin
2ae40 61 74 65 64 20 77 69 74 68 20 61 20 6e 65 77 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ated.with.a.newline...........<b
2ae60 72 3e 3c 62 72 3e 20 54 68 65 20 6f 75 74 70 75 74 20 69 73 20 64 69 72 65 63 74 65 64 20 74 6f r><br>.The.output.is.directed.to
2ae80 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 64 65 72 72 3c 2f 43 4f 44 45 3e 20 73 74 72 65 61 6d 2e .the.<CODE>stderr</CODE>.stream.
2aea0 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 64 65 72 72 3c 2f ..If.the..........<CODE>stderr</
2aec0 43 4f 44 45 3e 20 77 61 73 6e 27 74 20 6f 72 69 65 6e 74 65 64 20 62 65 66 6f 72 65 20 74 68 65 CODE>.wasn't.oriented.before.the
2aee0 20 63 61 6c 6c 20 69 74 20 77 69 6c 6c 20 62 65 20 6e 61 72 72 6f 77 2d 6f 72 69 65 6e 74 65 64 .call.it.will.be.narrow-oriented
2af00 0a 20 20 20 20 20 20 20 20 20 61 66 74 65 72 77 61 72 64 73 2e 0a 20 20 20 20 20 20 20 20 20 3c ..........afterwards...........<
2af20 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 72 65 74 75 72 6e br><br>.The.function.will.return
2af40 20 75 6e 6c 65 73 73 20 74 68 65 20 3c 56 41 52 3e 73 74 61 74 75 73 3c 2f 56 41 52 3e 20 70 61 .unless.the.<VAR>status</VAR>.pa
2af60 72 61 6d 65 74 65 72 20 68 61 73 20 61 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 2d 7a 65 72 6f 20 rameter.has.a..........non-zero.
2af80 76 61 6c 75 65 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f value...In.this.case.the.functio
2afa0 6e 20 77 69 6c 6c 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 65 78 69 74 3c 2f 43 4f 44 45 3e 20 77 69 n.will.call.<CODE>exit</CODE>.wi
2afc0 74 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 56 41 52 3e 73 74 61 74 75 73 3c 2f 56 41 52 th..........the.<VAR>status</VAR
2afe0 3e 20 76 61 6c 75 65 20 66 6f 72 20 69 74 73 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 74 68 >.value.for.its.parameter.and.th
2b000 65 72 65 66 6f 72 65 20 6e 65 76 65 72 20 72 65 74 75 72 6e 2e 20 20 49 66 0a 20 20 20 20 20 20 erefore.never.return...If.......
2b020 20 20 20 3c 43 4f 44 45 3e 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 ...<CODE>error</CODE>.returns.th
2b040 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 72 72 6f 72 5f 6d 65 e.global.variable.<CODE>error_me
2b060 73 73 61 67 65 5f 63 6f 75 6e 74 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 69 ssage_count</CODE>.is..........i
2b080 6e 63 72 65 6d 65 6e 74 65 64 20 62 79 20 6f 6e 65 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 ncremented.by.one.to.keep.track.
2b0a0 6f 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 72 72 6f 72 73 20 72 65 70 6f 72 74 65 64 of.the.number.of.errors.reported
2b0c0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 07 65 72 72 ..........sq.~......w.....t..err
2b0e0 6e 6f 2e 68 74 00 07 65 72 72 6f 72 2e 68 78 71 00 7e 07 40 74 00 2f 69 6e 74 20 73 74 61 74 75 no.ht..error.hxq.~.@t./int.statu
2b100 73 2c 20 69 6e 74 20 65 72 72 6e 75 6d 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f 72 6d 61 s,.int.errnum,.const.char.*forma
2b120 74 2c 20 2e 2e 2e 74 00 04 76 6f 69 64 74 00 0d 65 72 72 6f 72 5f 61 74 5f 6c 69 6e 65 73 71 00 t,....t..voidt..error_at_linesq.
2b140 7e 00 0a 70 74 05 aa 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f ~..pt...........<br><br>.The.<CO
2b160 44 45 3e 65 72 72 6f 72 5f 61 74 5f 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e DE>error_at_line</CODE>.function
2b180 20 69 73 20 76 65 72 79 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 65 72 .is.very.similar.to.the.<CODE>er
2b1a0 72 6f 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 ror</CODE>..........function...T
2b1c0 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72 65 6e 63 65 20 61 72 65 20 74 68 65 20 61 64 64 69 74 he.only.difference.are.the.addit
2b1e0 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 3c 56 41 52 3e 66 6e 61 6d 65 3c 2f 56 41 52 ional.parameters.<VAR>fname</VAR
2b200 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 56 41 52 3e 6c 69 6e 65 6e 6f 3c 2f 56 41 52 3e >..........and.<VAR>lineno</VAR>
2b220 2e 20 20 54 68 65 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 74 68 65 20 6f 74 68 65 72 20 70 61 72 ...The.handling.of.the.other.par
2b240 61 6d 65 74 65 72 73 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 ameters.is.identical.to.........
2b260 20 74 68 61 74 20 6f 66 20 3c 43 4f 44 45 3e 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 65 78 63 65 .that.of.<CODE>error</CODE>.exce
2b280 70 74 20 74 68 61 74 20 62 65 74 77 65 65 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 pt.that.between.the.program.name
2b2a0 20 61 6e 64 20 74 68 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 67 65 6e 65 72 61 74 .and.the.string..........generat
2b2c0 65 64 20 62 79 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 61 64 64 69 74 69 6f 6e ed.by.the.format.string.addition
2b2e0 61 6c 20 74 65 78 74 20 69 73 20 69 6e 73 65 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 al.text.is.inserted...........<b
2b300 72 3e 3c 62 72 3e 20 44 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 70 72 r><br>.Directly.following.the.pr
2b320 6f 67 72 61 6d 20 6e 61 6d 65 20 61 20 63 6f 6c 6f 6e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 ogram.name.a.colon,.followed.by.
2b340 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 74 the.file.name..........pointer.t
2b360 6f 20 62 79 20 3c 56 41 52 3e 66 6e 61 6d 65 3c 2f 56 41 52 3e 2c 20 61 6e 6f 74 68 65 72 20 63 o.by.<VAR>fname</VAR>,.another.c
2b380 6f 6c 6f 6e 2c 20 61 6e 64 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 6c 69 6e 65 6e 6f olon,.and.a.value.of.<VAR>lineno
2b3a0 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 65 64 2e 0a 20 20 20 20 </VAR>.is..........printed......
2b3c0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 75 .....<br><br>.This.additional.ou
2b3e0 74 70 75 74 20 6f 66 20 63 6f 75 72 73 65 20 69 73 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 75 73 tput.of.course.is.meant.to.be.us
2b400 65 64 20 74 6f 20 6c 6f 63 61 74 65 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 69 ed.to.locate.an.error..........i
2b420 6e 20 61 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 28 6c 69 6b 65 20 61 20 70 72 6f 67 72 61 6d 6d n.an.input.file.(like.a.programm
2b440 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 69 6c 65 20 65 74 ing.language.source.code.file.et
2b460 63 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 67 6c 6f c)...........<br><br>.If.the.glo
2b480 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 72 72 6f 72 5f 6f 6e 65 5f 70 65 72 bal.variable.<CODE>error_one_per
2b4a0 5f 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 74 6f 20 61 20 6e 6f 6e 2d 7a 65 72 _line</CODE>.is.set.to.a.non-zer
2b4c0 6f 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 65 72 72 6f 72 5f 61 74 5f o..........value.<CODE>error_at_
2b4e0 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 61 76 6f 69 64 20 70 72 69 6e 74 69 6e 67 20 line</CODE>.will.avoid.printing.
2b500 63 6f 6e 73 65 63 75 74 69 76 65 20 6d 65 73 73 61 67 65 73 20 66 6f 72 0a 20 20 20 20 20 20 20 consecutive.messages.for........
2b520 20 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 20 61 6e 64 20 6c 69 6e 65 2e 20 20 52 65 70 65 74 ..the.same.file.and.line...Repet
2b540 69 74 69 6f 6e 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 64 69 72 65 63 74 6c 79 20 66 6f 6c ition.which.are.not.directly.fol
2b560 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 65 61 63 68 20 6f 74 68 65 72 20 61 72 65 20 6e lowing..........each.other.are.n
2b580 6f 74 20 63 61 75 67 68 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4a 75 73 ot.caught...........<br><br>.Jus
2b5a0 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 74 68 69 73 20 66 t.like.<CODE>error</CODE>.this.f
2b5c0 75 6e 63 74 69 6f 6e 20 6f 6e 6c 79 20 72 65 74 75 72 6e 65 64 20 69 66 20 3c 56 41 52 3e 73 74 unction.only.returned.if.<VAR>st
2b5e0 61 74 75 73 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f 2e 20 20 4f 74 atus</VAR>.is..........zero...Ot
2b600 68 65 72 77 69 73 65 20 3c 43 4f 44 45 3e 65 78 69 74 3c 2f 43 4f 44 45 3e 20 69 73 20 63 61 6c herwise.<CODE>exit</CODE>.is.cal
2b620 6c 65 64 20 77 69 74 68 20 74 68 65 20 6e 6f 6e 2d 7a 65 72 6f 20 76 61 6c 75 65 2e 20 20 49 66 led.with.the.non-zero.value...If
2b640 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 72 65 74 ..........<CODE>error</CODE>.ret
2b660 75 72 6e 73 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 urns.the.global.variable.<CODE>e
2b680 72 72 6f 72 5f 6d 65 73 73 61 67 65 5f 63 6f 75 6e 74 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 rror_message_count</CODE>.is....
2b6a0 20 20 20 20 20 20 69 6e 63 72 65 6d 65 6e 74 65 64 20 62 79 20 6f 6e 65 20 74 6f 20 6b 65 65 70 ......incremented.by.one.to.keep
2b6c0 20 74 72 61 63 6b 20 6f 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 72 72 6f 72 73 20 72 .track.of.the.number.of.errors.r
2b6e0 65 70 6f 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 eported..........sq.~......w....
2b700 0a 74 00 07 65 72 72 6f 72 2e 68 78 71 00 7e 07 48 74 00 57 69 6e 74 20 73 74 61 74 75 73 2c 20 .t..error.hxq.~.Ht.Wint.status,.
2b720 69 6e 74 20 65 72 72 6e 75 6d 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6e 61 6d 65 2c 20 75 int.errnum,.const.char.*fname,.u
2b740 6e 73 69 67 6e 65 64 20 69 6e 74 20 6c 69 6e 65 6e 6f 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a nsigned.int.lineno,.const.char.*
2b760 66 6f 72 6d 61 74 2c 20 2e 2e 2e 74 00 04 76 6f 69 64 74 00 04 65 72 72 78 73 71 00 7e 00 0a 70 format,....t..voidt..errxsq.~..p
2b780 74 01 c7 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 72 72 78 3c 2f 43 4f 44 45 t...........The.<CODE>errx</CODE
2b7a0 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 6f 75 67 68 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 >.function.is.roughly.equivalent
2b7c0 20 74 6f 20 61 20 63 61 6c 6c 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 .to.a.call.like..........<pre><b
2b7e0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 28 73 74 61 74 75 73 2c 20 30 2c 20 r>............error.(status,.0,.
2b800 66 6f 72 6d 61 74 2c 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 29 3c 62 72 3e 0a 20 20 20 20 format,.the.parameters)<br>.....
2b820 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 65 .....</pre>....................e
2b840 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 20 xcept.that.the.global.variables.
2b860 3c 43 4f 44 45 3e 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 72 65 73 70 65 63 74 73 20 61 6e 64 20 <CODE>error</CODE>.respects.and.
2b880 6d 6f 64 69 66 69 65 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20 75 73 65 64 20 61 modifies..........are.not.used.a
2b8a0 6e 64 20 74 68 61 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 20 65 78 69 74 65 64 20 65 76 nd.that.the.program.is.exited.ev
2b8c0 65 6e 20 69 66 20 3c 56 41 52 3e 73 74 61 74 75 73 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 en.if.<VAR>status</VAR>.........
2b8e0 20 69 73 20 7a 65 72 6f 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 74 6f 20 3c 43 4f .is.zero...The.difference.to.<CO
2b900 44 45 3e 65 72 72 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 61 74 20 6e 6f 20 65 72 72 6f 72 20 6e DE>err</CODE>.is.that.no.error.n
2b920 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 69 73 20 70 72 69 6e 74 65 64 umber..........string.is.printed
2b940 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 65 72 72 ..........sq.~......w.....t..err
2b960 2e 68 78 71 00 7e 07 4f 74 00 23 69 6e 74 20 73 74 61 74 75 73 2c 20 63 6f 6e 73 74 20 63 68 61 .hxq.~.Ot.#int.status,.const.cha
2b980 72 20 2a 66 6f 72 6d 61 74 2c 20 2e 2e 2e 74 00 04 76 6f 69 64 74 00 05 65 78 65 63 6c 73 71 00 r.*format,....t..voidt..execlsq.
2b9a0 7e 00 0a 70 74 00 d7 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 ~..pt...........This.is.similar.
2b9c0 74 6f 20 3c 43 4f 44 45 3e 65 78 65 63 76 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 74 68 65 20 3c to.<CODE>execv</CODE>,.but.the.<
2b9e0 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 20 73 74 72 69 6e 67 73 20 61 72 65 0a 20 20 20 20 20 VAR>argv</VAR>.strings.are......
2ba00 20 20 20 20 73 70 65 63 69 66 69 65 64 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 69 6e 73 74 65 ....specified.individually.inste
2ba20 61 64 20 6f 66 20 61 73 20 61 6e 20 61 72 72 61 79 2e 20 20 41 20 6e 75 6c 6c 20 70 6f 69 6e 74 ad.of.as.an.array...A.null.point
2ba40 65 72 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 70 61 73 73 65 64 20 61 73 20 74 68 er.must.be..........passed.as.th
2ba60 65 20 6c 61 73 74 20 73 75 63 68 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 e.last.such.argument..........sq
2ba80 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 07 56 74 .~......w.....t..unistd.hxq.~.Vt
2baa0 00 2b 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 .+const.char.*filename,.const.ch
2bac0 61 72 20 2a 61 72 67 30 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 06 65 78 65 63 6c 65 73 71 00 7e ar.*arg0,....t..intt..execlesq.~
2bae0 00 0a 70 74 01 73 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 ..pt.s.........This.is.similar.t
2bb00 6f 20 3c 43 4f 44 45 3e 65 78 65 63 6c 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 70 65 72 6d 69 74 o.<CODE>execl</CODE>,.but.permit
2bb20 73 20 79 6f 75 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 6e s.you.to.specify.the..........en
2bb40 76 69 72 6f 6e 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 6e 65 77 20 70 72 6f 67 72 61 6d 20 65 78 vironment.for.the.new.program.ex
2bb60 70 6c 69 63 69 74 6c 79 2e 20 20 54 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 72 67 75 6d plicitly...The.environment.argum
2bb80 65 6e 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 61 73 73 65 64 20 66 6f 6c 6c 6f 77 69 6e 67 ent.is..........passed.following
2bba0 20 74 68 65 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 74 68 61 74 20 6d 61 72 6b 73 20 74 68 65 .the.null.pointer.that.marks.the
2bbc0 20 6c 61 73 74 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 61 .last.<VAR>argv</VAR>..........a
2bbe0 72 67 75 6d 65 6e 74 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 20 rgument,.and.should.be.an.array.
2bc00 6f 66 20 73 74 72 69 6e 67 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 20 61 73 of.strings.in.the.same.format.as
2bc20 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 43 4f 44 45 3e 65 6e 76 69 72 6f 6e 3c .for..........the.<CODE>environ<
2bc40 2f 43 4f 44 45 3e 20 76 61 72 69 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 /CODE>.variable..........sq.~...
2bc60 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 07 5d 74 00 3e 63 6f 6e ...w.....t..unistd.hxq.~.]t.>con
2bc80 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 61 st.char.*filename,.const.char.*a
2bca0 72 67 30 2c 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 65 6e 76 5b 5d 2c 20 2e 2e 2e 74 00 03 69 6e rg0,.char.*const.env[],....t..in
2bcc0 74 74 00 06 65 78 65 63 6c 70 73 71 00 7e 00 0a 70 74 00 9e 0a 20 20 20 20 20 20 20 20 54 68 69 tt..execlpsq.~..pt...........Thi
2bce0 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 65 78 65 63 6c 3c 2f s.function.is.like.<CODE>execl</
2bd00 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 70 65 72 66 6f 72 6d 73 20 74 CODE>,.except.that.it.performs.t
2bd20 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 20 73 65 61 72 63 he.same..........file.name.searc
2bd40 68 69 6e 67 20 61 73 20 74 68 65 20 3c 43 4f 44 45 3e 65 78 65 63 76 70 3c 2f 43 4f 44 45 3e 20 hing.as.the.<CODE>execvp</CODE>.
2bd60 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 function..........sq.~......w...
2bd80 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 07 64 74 00 2b 63 6f 6e 73 74 20 63 68 61 72 ..t..unistd.hxq.~.dt.+const.char
2bda0 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 61 72 67 30 2c 20 2e 2e .*filename,.const.char.*arg0,...
2bdc0 2e 74 00 03 69 6e 74 74 00 05 65 78 65 63 76 73 71 00 7e 00 0a 70 74 03 38 0a 20 20 20 20 20 20 .t..intt..execvsq.~..pt.8.......
2bde0 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 78 65 63 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f ..The.<CODE>execv</CODE>.functio
2be00 6e 20 65 78 65 63 75 74 65 73 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 n.executes.the.file.named.by.<VA
2be20 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 73 20 61 0a 20 20 20 20 20 20 20 20 20 6e R>filename</VAR>.as.a..........n
2be40 65 77 20 70 72 6f 63 65 73 73 20 69 6d 61 67 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c ew.process.image...........<br><
2be60 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 br>.The.<VAR>argv</VAR>.argument
2be80 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 .is.an.array.of.null-terminated.
2bea0 73 74 72 69 6e 67 73 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 75 73 65 64 20 74 6f strings.that.is..........used.to
2bec0 20 70 72 6f 76 69 64 65 20 61 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 61 .provide.a.value.for.the.<CODE>a
2bee0 72 67 76 3c 2f 43 4f 44 45 3e 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 rgv</CODE>.argument.to.the.<CODE
2bf00 3e 6d 61 69 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6f >main</CODE>..........function.o
2bf20 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 6f 20 62 65 20 65 78 65 63 75 74 65 64 2e 20 20 54 f.the.program.to.be.executed...T
2bf40 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 69 73 20 61 72 72 61 79 0a 20 20 he.last.element.of.this.array...
2bf60 20 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 20 20 .......must.be.a.null.pointer...
2bf80 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 By.convention,.the.first.element
2bfa0 20 6f 66 20 74 68 69 73 20 61 72 72 61 79 0a 20 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20 66 .of.this.array..........is.the.f
2bfc0 69 6c 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 73 61 6e 73 20 64 69 72 ile.name.of.the.program.sans.dir
2bfe0 65 63 74 6f 72 79 20 6e 61 6d 65 73 2e 20 20 2c 20 66 6f 72 20 66 75 6c 6c 20 64 65 74 61 69 6c ectory.names...,.for.full.detail
2c000 73 20 6f 6e 20 68 6f 77 20 70 72 6f 67 72 61 6d 73 20 63 61 6e 20 61 63 63 65 73 73 20 74 68 65 s.on.how.programs.can.access.the
2c020 73 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 se.arguments...........<br><br>.
2c040 54 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 6e 65 77 20 70 72 6f 63 The.environment.for.the.new.proc
2c060 65 73 73 20 69 6d 61 67 65 20 69 73 20 74 61 6b 65 6e 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 ess.image.is.taken.from.the.....
2c080 20 20 20 20 20 3c 43 4f 44 45 3e 65 6e 76 69 72 6f 6e 3c 2f 43 4f 44 45 3e 20 76 61 72 69 61 62 .....<CODE>environ</CODE>.variab
2c0a0 6c 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 63 65 73 73 20 69 6d 61 67 65 3b le.of.the.current.process.image;
2c0c0 20 73 65 65 0a 20 20 20 20 20 20 20 20 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 20 56 61 72 69 61 62 .see..........Environment.Variab
2c0e0 6c 65 73 2c 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 65 6e 76 69 72 les,.for.information.about.envir
2c100 6f 6e 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 onments..........sq.~......w....
2c120 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 07 6b 74 00 28 63 6f 6e 73 74 20 63 68 61 72 20 .t..unistd.hxq.~.kt.(const.char.
2c140 2a 66 69 6c 65 6e 61 6d 65 2c 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 61 72 67 76 5b 5d 74 00 03 *filename,.char.*const.argv[]t..
2c160 69 6e 74 74 00 06 65 78 65 63 76 65 73 71 00 7e 00 0a 70 74 01 36 0a 20 20 20 20 20 20 20 20 54 intt..execvesq.~..pt.6.........T
2c180 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 65 78 65 63 76 3c 2f 43 his.is.similar.to.<CODE>execv</C
2c1a0 4f 44 45 3e 2c 20 62 75 74 20 70 65 72 6d 69 74 73 20 79 6f 75 20 74 6f 20 73 70 65 63 69 66 79 ODE>,.but.permits.you.to.specify
2c1c0 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 .the.environment..........for.th
2c1e0 65 20 6e 65 77 20 70 72 6f 67 72 61 6d 20 65 78 70 6c 69 63 69 74 6c 79 20 61 73 20 74 68 65 20 e.new.program.explicitly.as.the.
2c200 3c 56 41 52 3e 65 6e 76 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 20 54 68 69 73 20 73 <VAR>env</VAR>.argument...This.s
2c220 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 66 20 73 74 hould..........be.an.array.of.st
2c240 72 69 6e 67 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 20 61 73 20 66 6f 72 20 rings.in.the.same.format.as.for.
2c260 74 68 65 20 3c 43 4f 44 45 3e 65 6e 76 69 72 6f 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 the.<CODE>environ</CODE>........
2c280 20 20 76 61 72 69 61 62 6c 65 3b 20 73 65 65 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 20 41 63 63 65 ..variable;.see.Environment.Acce
2c2a0 73 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 ss..........sq.~......w.....t..u
2c2c0 6e 69 73 74 64 2e 68 78 71 00 7e 07 72 74 00 3b 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 nistd.hxq.~.rt.;const.char.*file
2c2e0 6e 61 6d 65 2c 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 61 72 67 76 5b 5d 2c 20 63 68 61 72 20 2a name,.char.*const.argv[],.char.*
2c300 63 6f 6e 73 74 20 65 6e 76 5b 5d 74 00 03 69 6e 74 74 00 06 65 78 65 63 76 70 73 71 00 7e 00 0a const.env[]t..intt..execvpsq.~..
2c320 70 74 02 15 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 78 65 63 76 70 3c 2f 43 pt...........The.<CODE>execvp</C
2c340 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 ODE>.function.is.similar.to.<COD
2c360 45 3e 65 78 65 63 76 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 0a 20 E>execv</CODE>,.except.that.it..
2c380 20 20 20 20 20 20 20 20 73 65 61 72 63 68 65 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 ........searches.the.directories
2c3a0 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 50 41 54 48 3c 2f 43 4f 44 45 3e .listed.in.the.<CODE>PATH</CODE>
2c3c0 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 .environment.variable...........
2c3e0 74 6f 20 66 69 6e 64 20 74 68 65 20 66 75 6c 6c 20 66 69 6c 65 20 6e 61 6d 65 20 6f 66 20 61 0a to.find.the.full.file.name.of.a.
2c400 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 66 72 6f 6d 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 .........file.from.<VAR>filename
2c420 3c 2f 56 41 52 3e 20 69 66 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 64 6f </VAR>.if.<VAR>filename</VAR>.do
2c440 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 20 73 6c 61 73 68 2e 0a 20 20 20 20 20 20 20 20 es.not.contain.a.slash..........
2c460 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 66 75 .<br><br>.This.function.is.usefu
2c480 6c 20 66 6f 72 20 65 78 65 63 75 74 69 6e 67 20 73 79 73 74 65 6d 20 75 74 69 6c 69 74 79 20 70 l.for.executing.system.utility.p
2c4a0 72 6f 67 72 61 6d 73 2c 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 69 74 20 6c 6f 6f rograms,.because..........it.loo
2c4c0 6b 73 20 66 6f 72 20 74 68 65 6d 20 69 6e 20 74 68 65 20 70 6c 61 63 65 73 20 74 68 61 74 20 74 ks.for.them.in.the.places.that.t
2c4e0 68 65 20 75 73 65 72 20 68 61 73 20 63 68 6f 73 65 6e 2e 20 20 53 68 65 6c 6c 73 20 75 73 65 20 he.user.has.chosen...Shells.use.
2c500 69 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 72 75 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 it..........to.run.the.commands.
2c520 74 68 61 74 20 75 73 65 72 73 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 that.users.type..........sq.~...
2c540 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 07 79 74 00 28 63 6f 6e ...w.....t..unistd.hxq.~.yt.(con
2c560 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 61 st.char.*filename,.char.*const.a
2c580 72 67 76 5b 5d 74 00 03 69 6e 74 74 00 04 65 78 69 74 73 71 00 7e 00 0a 70 74 01 30 0a 20 20 20 rgv[]t..intt..exitsq.~..pt.0....
2c5a0 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 78 69 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 .....The.<CODE>exit</CODE>.funct
2c5c0 69 6f 6e 20 74 65 6c 6c 73 20 74 68 65 20 73 79 73 74 65 6d 20 74 68 61 74 20 74 68 65 20 70 72 ion.tells.the.system.that.the.pr
2c5e0 6f 67 72 61 6d 20 69 73 20 64 6f 6e 65 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 63 61 ogram.is.done,.which..........ca
2c600 75 73 65 73 20 69 74 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 20 70 72 6f 63 65 73 73 uses.it.to.terminate.the.process
2c620 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 73 74 61 74 75 73 3c ...........<br><br>.<VAR>status<
2c640 2f 56 41 52 3e 20 69 73 20 74 68 65 20 70 72 6f 67 72 61 6d 27 73 20 65 78 69 74 20 73 74 61 74 /VAR>.is.the.program's.exit.stat
2c660 75 73 2c 20 77 68 69 63 68 20 62 65 63 6f 6d 65 73 20 70 61 72 74 20 6f 66 20 74 68 65 0a 20 20 us,.which.becomes.part.of.the...
2c680 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 27 20 74 65 72 6d 69 6e 61 74 69 6f 6e 20 73 74 61 74 .......process'.termination.stat
2c6a0 75 73 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 72 65 74 75 us...This.function.does.not.retu
2c6c0 72 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 rn..........sq.~......w.....t..s
2c6e0 74 64 6c 69 62 2e 68 78 71 00 7e 07 80 74 00 0a 69 6e 74 20 73 74 61 74 75 73 74 00 04 76 6f 69 tdlib.hxq.~..t..int.statust..voi
2c700 64 74 00 03 65 78 70 73 71 00 7e 00 0a 70 74 01 03 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 dt..expsq.~..pt...........These.
2c720 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 3c 43 4f 44 45 3e 65 3c 2f 43 4f 44 45 3e functions.compute.<CODE>e</CODE>
2c740 20 28 74 68 65 20 62 61 73 65 20 6f 66 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 73 .(the.base.of.natural.logarithms
2c760 29 20 72 61 69 73 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 3c ).raised..........to.the.power.<
2c780 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 VAR>x</VAR>...........<br><br>.I
2c7a0 66 20 74 68 65 20 6d 61 67 6e 69 74 75 64 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 f.the.magnitude.of.the.result.is
2c7c0 20 74 6f 6f 20 6c 61 72 67 65 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 2c 0a .too.large.to.be.representable,.
2c7e0 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 78 70 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c .........<CODE>exp</CODE>.signal
2c800 73 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 s.overflow..........sq.~......w.
2c820 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 07 87 74 00 08 64 6f 75 62 6c 65 20 78 74 00 ....t..math.hxq.~..t..double.xt.
2c840 06 64 6f 75 62 6c 65 74 00 05 65 78 70 31 30 73 71 00 7e 00 0a 70 74 01 66 0a 20 20 20 20 20 20 .doublet..exp10sq.~..pt.f.......
2c860 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 3c 43 4f 44 45 3e ..These.functions.compute.<CODE>
2c880 31 30 3c 2f 43 4f 44 45 3e 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 3c 56 10</CODE>.raised.to.the.power.<V
2c8a0 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 AR>x</VAR>...........Mathematica
2c8c0 6c 6c 79 2c 20 3c 43 4f 44 45 3e 65 78 70 31 30 20 28 78 29 3c 2f 43 4f 44 45 3e 20 69 73 20 74 lly,.<CODE>exp10.(x)</CODE>.is.t
2c8e0 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 65 78 70 20 28 78 20 2a 20 6c 6f 67 20 28 31 he.same.as.<CODE>exp.(x.*.log.(1
2c900 30 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 0))</CODE>...........<br><br>.Th
2c920 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 ese.functions.are.GNU.extensions
2c940 2e 20 20 54 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 65 78 70 31 30 3c 2f 43 4f 44 45 3e 20 69 ...The.name.<CODE>exp10</CODE>.i
2c960 73 0a 20 20 20 20 20 20 20 20 20 70 72 65 66 65 72 72 65 64 2c 20 73 69 6e 63 65 20 69 74 20 69 s..........preferred,.since.it.i
2c980 73 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 65 78 70 3c 2f 43 4f 44 45 3e 20 s.analogous.to.<CODE>exp</CODE>.
2c9a0 61 6e 64 20 3c 43 4f 44 45 3e 65 78 70 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 and.<CODE>exp2</CODE>..........s
2c9c0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 07 8e 74 00 q.~......w.....t..math.hxq.~..t.
2c9e0 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 65 78 70 31 30 66 73 71 00 7e 00 .double.xt..doublet..exp10fsq.~.
2ca00 0a 70 74 01 66 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f .pt.f.........These.functions.co
2ca20 6d 70 75 74 65 20 3c 43 4f 44 45 3e 31 30 3c 2f 43 4f 44 45 3e 20 72 61 69 73 65 64 20 74 6f 20 mpute.<CODE>10</CODE>.raised.to.
2ca40 74 68 65 20 70 6f 77 65 72 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 the.power.<VAR>x</VAR>..........
2ca60 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 65 78 70 31 30 20 28 78 29 .Mathematically,.<CODE>exp10.(x)
2ca80 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 65 78 70 </CODE>.is.the.same.as.<CODE>exp
2caa0 20 28 78 20 2a 20 6c 6f 67 20 28 31 30 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 .(x.*.log.(10))</CODE>..........
2cac0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 47 4e .<br><br>.These.functions.are.GN
2cae0 55 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20 20 54 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 65 78 U.extensions...The.name.<CODE>ex
2cb00 70 31 30 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 72 65 66 65 72 72 65 64 p10</CODE>.is..........preferred
2cb20 2c 20 73 69 6e 63 65 20 69 74 20 69 73 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 ,.since.it.is.analogous.to.<CODE
2cb40 3e 65 78 70 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 78 70 32 3c 2f 43 4f 44 45 >exp</CODE>.and.<CODE>exp2</CODE
2cb60 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 >..........sq.~......w.....t..ma
2cb80 74 68 2e 68 78 71 00 7e 07 95 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 06 65 th.hxq.~..t..float.xt..floatt..e
2cba0 78 70 31 30 6c 73 71 00 7e 00 0a 70 74 01 66 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 xp10lsq.~..pt.f.........These.fu
2cbc0 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 3c 43 4f 44 45 3e 31 30 3c 2f 43 4f 44 45 3e 20 nctions.compute.<CODE>10</CODE>.
2cbe0 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e raised.to.the.power.<VAR>x</VAR>
2cc00 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 3c 43 4f 44 45 ...........Mathematically,.<CODE
2cc20 3e 65 78 70 31 30 20 28 78 29 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 >exp10.(x)</CODE>.is.the.same.as
2cc40 20 3c 43 4f 44 45 3e 65 78 70 20 28 78 20 2a 20 6c 6f 67 20 28 31 30 29 29 3c 2f 43 4f 44 45 3e .<CODE>exp.(x.*.log.(10))</CODE>
2cc60 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 66 75 6e 63 74 69 ...........<br><br>.These.functi
2cc80 6f 6e 73 20 61 72 65 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20 20 54 68 65 20 6e 61 6d ons.are.GNU.extensions...The.nam
2cca0 65 20 3c 43 4f 44 45 3e 65 78 70 31 30 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 e.<CODE>exp10</CODE>.is.........
2ccc0 20 70 72 65 66 65 72 72 65 64 2c 20 73 69 6e 63 65 20 69 74 20 69 73 20 61 6e 61 6c 6f 67 6f 75 .preferred,.since.it.is.analogou
2cce0 73 20 74 6f 20 3c 43 4f 44 45 3e 65 78 70 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e s.to.<CODE>exp</CODE>.and.<CODE>
2cd00 65 78 70 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 exp2</CODE>..........sq.~......w
2cd20 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 07 9c 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 .....t..math.hxq.~..t..long.doub
2cd40 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 65 78 70 32 73 71 00 7e 00 0a 70 le.xt..long.doublet..exp2sq.~..p
2cd60 74 00 b8 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 t...........These.functions.comp
2cd80 75 74 65 20 3c 43 4f 44 45 3e 32 3c 2f 43 4f 44 45 3e 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 ute.<CODE>2</CODE>.raised.to.the
2cda0 20 70 6f 77 65 72 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 .power.<VAR>x</VAR>...........Ma
2cdc0 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 65 78 70 32 20 28 78 29 3c 2f 43 4f thematically,.<CODE>exp2.(x)</CO
2cde0 44 45 3e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 65 78 70 20 28 78 20 DE>.is.the.same.as.<CODE>exp.(x.
2ce00 2a 20 6c 6f 67 20 28 32 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 *.log.(2))</CODE>..........sq.~.
2ce20 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 07 a3 74 00 08 64 6f 75 .....w.....t..math.hxq.~..t..dou
2ce40 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 05 65 78 70 32 66 73 71 00 7e 00 0a 70 74 00 b8 ble.xt..doublet..exp2fsq.~..pt..
2ce60 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 .........These.functions.compute
2ce80 20 3c 43 4f 44 45 3e 32 3c 2f 43 4f 44 45 3e 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f .<CODE>2</CODE>.raised.to.the.po
2cea0 77 65 72 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 wer.<VAR>x</VAR>...........Mathe
2cec0 6d 61 74 69 63 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 65 78 70 32 20 28 78 29 3c 2f 43 4f 44 45 3e matically,.<CODE>exp2.(x)</CODE>
2cee0 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 65 78 70 20 28 78 20 2a 20 6c .is.the.same.as.<CODE>exp.(x.*.l
2cf00 6f 67 20 28 32 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 og.(2))</CODE>..........sq.~....
2cf20 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 07 aa 74 00 07 66 6c 6f 61 74 20 ..w.....t..math.hxq.~..t..float.
2cf40 78 74 00 05 66 6c 6f 61 74 74 00 05 65 78 70 32 6c 73 71 00 7e 00 0a 70 74 00 b8 0a 20 20 20 20 xt..floatt..exp2lsq.~..pt.......
2cf60 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 3c 43 4f 44 ....These.functions.compute.<COD
2cf80 45 3e 32 3c 2f 43 4f 44 45 3e 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 3c E>2</CODE>.raised.to.the.power.<
2cfa0 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 VAR>x</VAR>...........Mathematic
2cfc0 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 65 78 70 32 20 28 78 29 3c 2f 43 4f 44 45 3e 20 69 73 20 74 ally,.<CODE>exp2.(x)</CODE>.is.t
2cfe0 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 65 78 70 20 28 78 20 2a 20 6c 6f 67 20 28 32 he.same.as.<CODE>exp.(x.*.log.(2
2d000 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ))</CODE>..........sq.~......w..
2d020 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 07 b1 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 ...t..math.hxq.~..t..long.double
2d040 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 65 78 70 66 73 71 00 7e 00 0a 70 74 01 .xt..long.doublet..expfsq.~..pt.
2d060 03 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 ..........These.functions.comput
2d080 65 20 3c 43 4f 44 45 3e 65 3c 2f 43 4f 44 45 3e 20 28 74 68 65 20 62 61 73 65 20 6f 66 20 6e 61 e.<CODE>e</CODE>.(the.base.of.na
2d0a0 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 73 29 20 72 61 69 73 65 64 0a 20 20 20 20 20 20 20 tural.logarithms).raised........
2d0c0 20 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 ..to.the.power.<VAR>x</VAR>.....
2d0e0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6d 61 67 6e 69 74 75 64 65 20 ......<br><br>.If.the.magnitude.
2d100 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 20 74 6f 20 62 65 of.the.result.is.too.large.to.be
2d120 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 .representable,..........<CODE>e
2d140 78 70 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 xp</CODE>.signals.overflow......
2d160 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 ....sq.~......w.....t..math.hxq.
2d180 7e 07 b8 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 04 65 78 70 6c 73 71 00 7e ~..t..float.xt..floatt..explsq.~
2d1a0 00 0a 70 74 01 03 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 ..pt...........These.functions.c
2d1c0 6f 6d 70 75 74 65 20 3c 43 4f 44 45 3e 65 3c 2f 43 4f 44 45 3e 20 28 74 68 65 20 62 61 73 65 20 ompute.<CODE>e</CODE>.(the.base.
2d1e0 6f 66 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 73 29 20 72 61 69 73 65 64 0a 20 20 of.natural.logarithms).raised...
2d200 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e .......to.the.power.<VAR>x</VAR>
2d220 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6d 61 67 6e 69 ...........<br><br>.If.the.magni
2d240 74 75 64 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 20 tude.of.the.result.is.too.large.
2d260 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 to.be.representable,..........<C
2d280 4f 44 45 3e 65 78 70 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 6f 76 65 72 66 6c 6f 77 2e ODE>exp</CODE>.signals.overflow.
2d2a0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 .........sq.~......w.....t..math
2d2c0 2e 68 78 71 00 7e 07 bf 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 .hxq.~..t..long.double.xt..long.
2d2e0 64 6f 75 62 6c 65 74 00 05 65 78 70 6d 31 73 71 00 7e 00 0a 70 74 01 4e 0a 20 20 20 20 20 20 20 doublet..expm1sq.~..pt.N........
2d300 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 .These.functions.return.a.value.
2d320 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 65 78 70 20 28 3c 56 41 52 3e 78 3c equivalent.to.<CODE>exp.(<VAR>x<
2d340 2f 56 41 52 3e 29 20 2d 20 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 79 /VAR>).-.1</CODE>...........They
2d360 20 61 72 65 20 63 6f 6d 70 75 74 65 64 20 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 69 73 20 61 .are.computed.in.a.way.that.is.a
2d380 63 63 75 72 61 74 65 20 65 76 65 6e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 0a ccurate.even.if.<VAR>x</VAR>.is.
2d3a0 20 20 20 20 20 20 20 20 20 6e 65 61 72 20 7a 65 72 6f 2d 2d 2d 61 20 63 61 73 65 20 77 68 65 72 .........near.zero---a.case.wher
2d3c0 65 20 3c 43 4f 44 45 3e 65 78 70 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2d 20 31 3c 2f e.<CODE>exp.(<VAR>x</VAR>).-.1</
2d3e0 43 4f 44 45 3e 20 77 6f 75 6c 64 20 62 65 20 69 6e 61 63 63 75 72 61 74 65 20 6f 77 69 6e 67 0a CODE>.would.be.inaccurate.owing.
2d400 20 20 20 20 20 20 20 20 20 74 6f 20 73 75 62 74 72 61 63 74 69 6f 6e 20 6f 66 20 74 77 6f 20 6e .........to.subtraction.of.two.n
2d420 75 6d 62 65 72 73 20 74 68 61 74 20 61 72 65 20 6e 65 61 72 6c 79 20 65 71 75 61 6c 2e 0a 20 20 umbers.that.are.nearly.equal....
2d440 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 ......sq.~......w.....t..math.hx
2d460 71 00 7e 07 c6 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 65 78 70 6d q.~..t..double.xt..doublet..expm
2d480 31 66 73 71 00 7e 00 0a 70 74 01 4e 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 1fsq.~..pt.N.........These.funct
2d4a0 69 6f 6e 73 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 ions.return.a.value.equivalent.t
2d4c0 6f 20 3c 43 4f 44 45 3e 65 78 70 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2d 20 31 3c 2f o.<CODE>exp.(<VAR>x</VAR>).-.1</
2d4e0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 79 20 61 72 65 20 63 6f 6d 70 75 74 65 CODE>...........They.are.compute
2d500 64 20 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 69 73 20 61 63 63 75 72 61 74 65 20 65 76 65 6e d.in.a.way.that.is.accurate.even
2d520 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 65 61 .if.<VAR>x</VAR>.is..........nea
2d540 72 20 7a 65 72 6f 2d 2d 2d 61 20 63 61 73 65 20 77 68 65 72 65 20 3c 43 4f 44 45 3e 65 78 70 20 r.zero---a.case.where.<CODE>exp.
2d560 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2d 20 31 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 20 (<VAR>x</VAR>).-.1</CODE>.would.
2d580 62 65 20 69 6e 61 63 63 75 72 61 74 65 20 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 6f 20 be.inaccurate.owing..........to.
2d5a0 73 75 62 74 72 61 63 74 69 6f 6e 20 6f 66 20 74 77 6f 20 6e 75 6d 62 65 72 73 20 74 68 61 74 20 subtraction.of.two.numbers.that.
2d5c0 61 72 65 20 6e 65 61 72 6c 79 20 65 71 75 61 6c 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f are.nearly.equal..........sq.~..
2d5e0 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 07 cd 74 00 07 66 6c 6f 61 ....w.....t..math.hxq.~..t..floa
2d600 74 20 78 74 00 05 66 6c 6f 61 74 74 00 06 65 78 70 6d 31 6c 73 71 00 7e 00 0a 70 74 01 4e 0a 20 t.xt..floatt..expm1lsq.~..pt.N..
2d620 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 61 20 .......These.functions.return.a.
2d640 76 61 6c 75 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 65 78 70 20 28 3c value.equivalent.to.<CODE>exp.(<
2d660 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2d 20 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 VAR>x</VAR>).-.1</CODE>.........
2d680 20 20 54 68 65 79 20 61 72 65 20 63 6f 6d 70 75 74 65 64 20 69 6e 20 61 20 77 61 79 20 74 68 61 ..They.are.computed.in.a.way.tha
2d6a0 74 20 69 73 20 61 63 63 75 72 61 74 65 20 65 76 65 6e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 t.is.accurate.even.if.<VAR>x</VA
2d6c0 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 65 61 72 20 7a 65 72 6f 2d 2d 2d 61 20 63 61 73 R>.is..........near.zero---a.cas
2d6e0 65 20 77 68 65 72 65 20 3c 43 4f 44 45 3e 65 78 70 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 e.where.<CODE>exp.(<VAR>x</VAR>)
2d700 20 2d 20 31 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 20 62 65 20 69 6e 61 63 63 75 72 61 74 65 20 .-.1</CODE>.would.be.inaccurate.
2d720 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 6f 20 73 75 62 74 72 61 63 74 69 6f 6e 20 6f 66 owing..........to.subtraction.of
2d740 20 74 77 6f 20 6e 75 6d 62 65 72 73 20 74 68 61 74 20 61 72 65 20 6e 65 61 72 6c 79 20 65 71 75 .two.numbers.that.are.nearly.equ
2d760 61 6c 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d al..........sq.~......w.....t..m
2d780 61 74 68 2e 68 78 71 00 7e 07 d4 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f ath.hxq.~..t..long.double.xt..lo
2d7a0 6e 67 20 64 6f 75 62 6c 65 74 00 04 66 61 62 73 73 71 00 7e 00 0a 70 74 00 73 0a 20 20 20 20 20 ng.doublet..fabssq.~..pt.s......
2d7c0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 62 73 ...This.function.returns.the.abs
2d7e0 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e olute.value.of.the.floating-poin
2d800 74 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 75 6d 62 65 72 3c 2f 56 t.number..........<VAR>number</V
2d820 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 AR>..........sq.~......w.....t..
2d840 6d 61 74 68 2e 68 78 71 00 7e 07 db 74 00 0d 64 6f 75 62 6c 65 20 6e 75 6d 62 65 72 74 00 06 64 math.hxq.~..t..double.numbert..d
2d860 6f 75 62 6c 65 74 00 05 66 61 62 73 66 73 71 00 7e 00 0a 70 74 00 73 0a 20 20 20 20 20 20 20 20 oublet..fabsfsq.~..pt.s.........
2d880 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 62 73 6f 6c 75 This.function.returns.the.absolu
2d8a0 74 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e te.value.of.the.floating-point.n
2d8c0 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 75 6d 62 65 72 3c 2f 56 41 52 3e umber..........<VAR>number</VAR>
2d8e0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 ..........sq.~......w.....t..mat
2d900 68 2e 68 78 71 00 7e 07 e2 74 00 0c 66 6c 6f 61 74 20 6e 75 6d 62 65 72 74 00 05 66 6c 6f 61 74 h.hxq.~..t..float.numbert..float
2d920 74 00 05 66 61 62 73 6c 73 71 00 7e 00 0a 70 74 00 73 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 t..fabslsq.~..pt.s.........This.
2d940 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 function.returns.the.absolute.va
2d960 6c 75 65 20 6f 66 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 lue.of.the.floating-point.number
2d980 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 75 6d 62 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 ..........<VAR>number</VAR>.....
2d9a0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 .....sq.~......w.....t..math.hxq
2d9c0 00 7e 07 e9 74 00 12 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 6e 75 6d 62 65 72 74 00 0b 6c 6f 6e 67 .~..t..long.double.numbert..long
2d9e0 20 64 6f 75 62 6c 65 74 00 06 66 63 68 64 69 72 73 71 00 7e 00 0a 70 74 03 ec 0a 20 20 20 20 20 .doublet..fchdirsq.~..pt........
2da00 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 73 65 74 20 ...This.function.is.used.to.set.
2da20 74 68 65 20 70 72 6f 63 65 73 73 27 73 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 the.process's.working.directory.
2da40 74 6f 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 61 73 73 6f 63 69 61 74 65 64 to..........directory.associated
2da60 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 .with.the.file.descriptor.<VAR>f
2da80 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 iledes</VAR>...........<br><br>.
2daa0 54 68 65 20 6e 6f 72 6d 61 6c 2c 20 73 75 63 63 65 73 73 66 75 6c 20 72 65 74 75 72 6e 20 76 61 The.normal,.successful.return.va
2dac0 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 66 63 68 64 69 72 3c 2f 43 4f 44 45 3e 20 69 73 20 lue.from.<CODE>fchdir</CODE>.is.
2dae0 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 20 20 41 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 <CODE>0</CODE>...A..........valu
2db00 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 e.of.<CODE>-1</CODE>.is.returned
2db20 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 6e 20 65 72 72 6f 72 2e 20 20 54 68 65 20 66 6f 6c 6c .to.indicate.an.error...The.foll
2db40 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 owing..........<CODE>errno</CODE
2db60 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 >.error.conditions.are.defined.f
2db80 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c or.this.function:..........<br><
2dba0 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 br>.<DL>...........<DT><CODE>EAC
2dbc0 43 45 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 52 65 61 64 20 70 65 CES</CODE>.<DD>..........Read.pe
2dbe0 72 6d 69 73 73 69 6f 6e 20 69 73 20 64 65 6e 69 65 64 20 66 6f 72 20 74 68 65 20 64 69 72 65 63 rmission.is.denied.for.the.direc
2dc00 74 6f 72 79 20 6e 61 6d 65 64 20 62 79 20 3c 43 4f 44 45 3e 64 69 72 6e 61 6d 65 3c 2f 43 4f 44 tory.named.by.<CODE>dirname</COD
2dc20 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e E>...........<br><br>.<DT><CODE>
2dc40 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c EBADF</CODE>.<DD>..........The.<
2dc60 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f VAR>filedes</VAR>.argument.is.no
2dc80 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 t.a.valid.file.descriptor.......
2dca0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 44 49 52 3c 2f ....<br><br>.<DT><CODE>ENOTDIR</
2dcc0 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 64 65 73 CODE>.<DD>..........The.file.des
2dce0 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f criptor.<VAR>filedes</VAR>.is.no
2dd00 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 64 69 72 65 63 74 6f 72 79 2e 0a 20 t.associated.with.a.directory...
2dd20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 ........<br><br>.<DT><CODE>EINTR
2dd40 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 </CODE>.<DD>..........The.functi
2dd60 6f 6e 20 63 61 6c 6c 20 77 61 73 20 69 6e 74 65 72 72 75 70 74 20 62 79 20 61 20 73 69 67 6e 61 on.call.was.interrupt.by.a.signa
2dd80 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 l...........<br><br>.<DT><CODE>E
2dda0 49 4f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 6e 20 49 2f 4f 20 65 IO</CODE>.<DD>..........An.I/O.e
2ddc0 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 rror.occurred...........</DL>...
2dde0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e ......sq.~......w.....t..unistd.
2de00 68 78 71 00 7e 07 f0 74 00 0b 69 6e 74 20 66 69 6c 65 64 65 73 74 00 03 69 6e 74 74 00 06 66 63 hxq.~..t..int.filedest..intt..fc
2de20 68 6d 6f 64 73 71 00 7e 00 0a 70 74 04 3b 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6c hmodsq.~..pt.;.........This.is.l
2de40 69 6b 65 20 3c 43 4f 44 45 3e 63 68 6d 6f 64 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 ike.<CODE>chmod</CODE>,.except.t
2de60 68 61 74 20 69 74 20 63 68 61 6e 67 65 73 20 74 68 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f hat.it.changes.the.permissions.o
2de80 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 6c 79 20 6f 70 65 6e 20 66 69 f.the..........currently.open.fi
2dea0 6c 65 20 67 69 76 65 6e 20 62 79 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 0a le.given.by.<VAR>filedes</VAR>..
2dec0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c .........<br><br>.The.return.val
2dee0 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 66 63 68 6d 6f 64 3c 2f 43 4f 44 45 3e 20 69 73 20 3c ue.from.<CODE>fchmod</CODE>.is.<
2df00 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f CODE>0</CODE>.on.success.and.<CO
2df20 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 DE>-1</CODE>..........on.failure
2df40 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f ...The.following.<CODE>errno</CO
2df60 44 45 3e 20 65 72 72 6f 72 20 63 6f 64 65 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 DE>.error.codes.are.defined.for.
2df80 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 this..........function:.........
2dfa0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f .<br><br>.<DL>...........<DT><CO
2dfc0 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 DE>EBADF</CODE>.<DD>..........Th
2dfe0 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 e.<VAR>filedes</VAR>.argument.is
2e000 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 .not.a.valid.file.descriptor....
2e020 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c .......<br><br>.<DT><CODE>EINVAL
2e040 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 </CODE>.<DD>..........The.<VAR>f
2e060 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 63 6f 72 72 65 73 70 6f 6e 64 iledes</VAR>.argument.correspond
2e080 73 20 74 6f 20 61 20 70 69 70 65 20 6f 72 20 73 6f 63 6b 65 74 2c 20 6f 72 20 73 6f 6d 65 74 68 s.to.a.pipe.or.socket,.or.someth
2e0a0 69 6e 67 0a 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 72 ing..........else.that.doesn't.r
2e0c0 65 61 6c 6c 79 20 68 61 76 65 20 61 63 63 65 73 73 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 20 eally.have.access.permissions...
2e0e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d ........<br><br>.<DT><CODE>EPERM
2e100 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f 74 20 ..........This.process.does.not.
2e120 68 61 76 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 have.permission.to.change.the.ac
2e140 63 65 73 73 20 70 65 72 6d 69 73 73 69 6f 6e 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 cess.permissions</CODE>.<DD>....
2e160 20 20 20 20 20 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2e 20 20 4f 6e 6c 79 20 74 68 65 20 66 69 ......of.this.file...Only.the.fi
2e180 6c 65 27 73 20 6f 77 6e 65 72 20 28 61 73 20 6a 75 64 67 65 64 20 62 79 20 74 68 65 20 65 66 66 le's.owner.(as.judged.by.the.eff
2e1a0 65 63 74 69 76 65 20 75 73 65 72 20 49 44 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 70 ective.user.ID..........of.the.p
2e1c0 72 6f 63 65 73 73 29 20 6f 72 20 61 20 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 20 63 61 6e rocess).or.a.privileged.user.can
2e1e0 20 63 68 61 6e 67 65 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 .change.them...........<br><br>.
2e200 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 4f 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 <DT><CODE>EROFS</CODE>.<DD>.....
2e220 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 72 65 73 69 64 65 73 20 6f 6e 20 61 20 72 65 61 64 2d .....The.file.resides.on.a.read-
2e240 6f 6e 6c 79 20 66 69 6c 65 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e only.file.system...........</DL>
2e260 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f .........sq.~......w.....t..sys/
2e280 73 74 61 74 2e 68 78 71 00 7e 07 f7 74 00 15 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 69 6e 74 20 stat.hxq.~..t..int.filedes,.int.
2e2a0 6d 6f 64 65 74 00 03 69 6e 74 74 00 06 66 63 68 6f 77 6e 73 71 00 7e 00 0a 70 74 03 a1 0a 20 20 modet..intt..fchownsq.~..pt.....
2e2c0 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 63 68 6f 77 6e 3c 2f ......This.is.like.<CODE>chown</
2e2e0 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 63 68 61 6e 67 65 73 20 74 68 CODE>,.except.that.it.changes.th
2e300 65 20 6f 77 6e 65 72 20 6f 66 20 74 68 65 20 6f 70 65 6e 0a 20 20 20 20 20 20 20 20 20 66 69 6c e.owner.of.the.open..........fil
2e320 65 20 77 69 74 68 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f e.with.descriptor.<VAR>filedes</
2e340 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 VAR>...........<br><br>.The.retu
2e360 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 66 63 68 6f 77 6e 3c 2f 43 4f 44 45 rn.value.from.<CODE>fchown</CODE
2e380 3e 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 >.is.<CODE>0</CODE>.on.success.a
2e3a0 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 66 nd.<CODE>-1</CODE>..........on.f
2e3c0 61 69 6c 75 72 65 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 ailure...The.following.<CODE>err
2e3e0 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 64 65 73 20 61 72 65 20 64 65 66 69 6e 65 no</CODE>.error.codes.are.define
2e400 64 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 d.for.this..........function:...
2e420 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c .......<br><br>.<DL>...........<
2e440 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 DT><CODE>EBADF</CODE>.<DD>......
2e460 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d ....The.<VAR>filedes</VAR>.argum
2e480 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 ent.is.not.a.valid.file.descript
2e4a0 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e or...........<br><br>.<DT><CODE>
2e4c0 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 EINVAL</CODE>.<DD>..........The.
2e4e0 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 63 6f 72 72 <VAR>filedes</VAR>.argument.corr
2e500 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 70 69 70 65 20 6f 72 20 73 6f 63 6b 65 74 2c 20 6e 6f 74 esponds.to.a.pipe.or.socket,.not
2e520 20 61 6e 20 6f 72 64 69 6e 61 72 79 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 2e 0a 20 20 20 20 .an.ordinary..........file......
2e540 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 .....<br><br>.<DT><CODE>EPERM</C
2e560 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 ODE>.<DD>..........This.process.
2e580 6c 61 63 6b 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 72 65 71 lacks.permission.to.make.the.req
2e5a0 75 65 73 74 65 64 20 63 68 61 6e 67 65 2e 20 20 46 6f 72 20 64 65 74 61 69 6c 73 0a 20 20 20 20 uested.change...For.details.....
2e5c0 20 20 20 20 20 73 65 65 20 3c 43 4f 44 45 3e 63 68 6d 6f 64 3c 2f 43 4f 44 45 3e 20 61 62 6f 76 .....see.<CODE>chmod</CODE>.abov
2e5e0 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 e...........<br><br>.<DT><CODE>E
2e600 52 4f 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 ROFS</CODE>.<DD>..........The.fi
2e620 6c 65 20 72 65 73 69 64 65 73 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c 65 20 73 le.resides.on.a.read-only.file.s
2e640 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 ystem...........</DL>.........sq
2e660 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 07 fe 74 .~......w.....t..unistd.hxq.~..t
2e680 00 21 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 69 6e 74 20 6f 77 6e 65 72 2c 20 69 6e 74 20 67 72 .!int.filedes,.int.owner,.int.gr
2e6a0 6f 75 70 74 00 03 69 6e 74 74 00 06 66 63 6c 65 61 6e 73 71 00 7e 00 0a 70 74 01 12 0a 20 20 20 oupt..intt..fcleansq.~..pt......
2e6c0 20 20 20 20 20 43 6c 65 61 6e 20 75 70 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 .....Clean.up.the.stream.<VAR>st
2e6e0 72 65 61 6d 3c 2f 56 41 52 3e 20 73 6f 20 74 68 61 74 20 69 74 73 20 62 75 66 66 65 72 20 69 73 ream</VAR>.so.that.its.buffer.is
2e700 20 65 6d 70 74 79 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d .empty...If..........<VAR>stream
2e720 3c 2f 56 41 52 3e 20 69 73 20 64 6f 69 6e 67 20 6f 75 74 70 75 74 2c 20 66 6f 72 63 65 20 69 74 </VAR>.is.doing.output,.force.it
2e740 20 6f 75 74 2e 20 20 49 66 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 69 73 20 64 .out...If.<VAR>stream</VAR>.is.d
2e760 6f 69 6e 67 0a 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 2c 20 67 69 76 65 20 74 68 65 20 64 61 oing..........input,.give.the.da
2e780 74 61 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 62 61 63 6b 20 74 6f 20 74 68 65 20 73 79 73 ta.in.the.buffer.back.to.the.sys
2e7a0 74 65 6d 2c 20 61 72 72 61 6e 67 69 6e 67 20 74 6f 0a 20 20 20 20 20 20 20 20 20 72 65 72 65 61 tem,.arranging.to..........rerea
2e7c0 64 20 69 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 d.it..........sq.~......w.....t.
2e7e0 08 75 6e 69 73 74 64 2e 68 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 08 05 74 00 0c 46 49 4c 45 .unistd.ht..stdio.hxq.~..t..FILE
2e800 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 06 66 63 6c 6f 73 65 73 71 00 7e 00 0a 70 74 03 .*streamt..intt..fclosesq.~..pt.
2e820 96 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 75 73 65 73 20 3c ..........This.function.causes.<
2e840 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 74 6f 20 62 65 20 63 6c 6f 73 65 64 20 61 6e VAR>stream</VAR>.to.be.closed.an
2e860 64 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 d.the.connection.to..........the
2e880 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 66 69 6c 65 20 74 6f 20 62 65 20 62 72 6f 6b 65 6e .corresponding.file.to.be.broken
2e8a0 2e 20 20 41 6e 79 20 62 75 66 66 65 72 65 64 20 6f 75 74 70 75 74 20 69 73 20 77 72 69 74 74 65 ...Any.buffered.output.is.writte
2e8c0 6e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 61 6e 79 20 62 75 66 66 65 72 65 64 20 69 6e 70 75 n..........and.any.buffered.inpu
2e8e0 74 20 69 73 20 64 69 73 63 61 72 64 65 64 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 63 6c 6f 73 t.is.discarded...The.<CODE>fclos
2e900 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 e</CODE>.function.returns.......
2e920 20 20 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 ...a.value.of.<CODE>0</CODE>.if.
2e940 74 68 65 20 66 69 6c 65 20 77 61 73 20 63 6c 6f 73 65 64 20 73 75 63 63 65 73 73 66 75 6c 6c 79 the.file.was.closed.successfully
2e960 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 ,.and.<CODE>EOF</CODE>..........
2e980 69 66 20 61 6e 20 65 72 72 6f 72 20 77 61 73 20 64 65 74 65 63 74 65 64 2e 0a 20 20 20 20 20 20 if.an.error.was.detected........
2e9a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 6f 20 63 ...<br><br>.It.is.important.to.c
2e9c0 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 77 68 65 6e 20 79 6f 75 20 63 61 6c 6c 20 3c 43 heck.for.errors.when.you.call.<C
2e9e0 4f 44 45 3e 66 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 20 74 6f 20 63 6c 6f 73 65 0a 20 20 20 20 20 ODE>fclose</CODE>.to.close......
2ea00 20 20 20 20 61 6e 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2c 20 62 65 63 61 75 73 65 20 72 65 ....an.output.stream,.because.re
2ea20 61 6c 2c 20 65 76 65 72 79 64 61 79 20 65 72 72 6f 72 73 20 63 61 6e 20 62 65 20 64 65 74 65 63 al,.everyday.errors.can.be.detec
2ea40 74 65 64 20 61 74 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 2e 20 20 46 6f 72 20 ted.at.this..........time...For.
2ea60 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 3c 43 4f 44 45 3e 66 63 6c 6f 73 65 3c 2f 43 4f 44 45 example,.when.<CODE>fclose</CODE
2ea80 3e 20 77 72 69 74 65 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 62 75 66 66 65 72 65 64 0a >.writes.the.remaining.buffered.
2eaa0 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 2c 20 69 74 20 6d 69 67 68 74 20 67 65 74 20 61 6e .........output,.it.might.get.an
2eac0 20 65 72 72 6f 72 20 62 65 63 61 75 73 65 20 74 68 65 20 64 69 73 6b 20 69 73 20 66 75 6c 6c 2e .error.because.the.disk.is.full.
2eae0 20 20 45 76 65 6e 20 69 66 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 6b 6e 6f 77 20 74 68 65 20 ..Even.if.you..........know.the.
2eb00 62 75 66 66 65 72 20 69 73 20 65 6d 70 74 79 2c 20 65 72 72 6f 72 73 20 63 61 6e 20 73 74 69 6c buffer.is.empty,.errors.can.stil
2eb20 6c 20 6f 63 63 75 72 20 77 68 65 6e 20 63 6c 6f 73 69 6e 67 20 61 20 66 69 6c 65 20 69 66 0a 20 l.occur.when.closing.a.file.if..
2eb40 20 20 20 20 20 20 20 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 20 4e 46 53 2e 0a 20 20 20 20 20 ........you.are.using.NFS.......
2eb60 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e ....<br><br>.The.function.<CODE>
2eb80 66 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 fclose</CODE>.is.declared.in.<TT
2eba0 3e 73 74 64 69 6f 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 >stdio.h</TT>..........sq.~.....
2ebc0 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 08 0d 74 00 0c 46 49 4c 45 20 2a .w.....t..stdio.hxq.~..t..FILE.*
2ebe0 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 09 66 63 6c 6f 73 65 61 6c 6c 73 71 00 7e 00 0a 70 74 streamt..intt..fcloseallsq.~..pt
2ec00 03 55 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 75 73 65 73 20 .U.........This.function.causes.
2ec20 61 6c 6c 20 6f 70 65 6e 20 73 74 72 65 61 6d 73 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 all.open.streams.of.the.process.
2ec40 74 6f 20 62 65 20 63 6c 6f 73 65 64 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 6f to.be.closed.and..........the.co
2ec60 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 66 69 6c 65 73 20 nnection.to.corresponding.files.
2ec80 74 6f 20 62 65 20 62 72 6f 6b 65 6e 2e 20 20 41 6c 6c 20 62 75 66 66 65 72 65 64 20 64 61 74 61 to.be.broken...All.buffered.data
2eca0 0a 20 20 20 20 20 20 20 20 20 69 73 20 77 72 69 74 74 65 6e 20 61 6e 64 20 61 6e 79 20 62 75 66 ..........is.written.and.any.buf
2ecc0 66 65 72 65 64 20 69 6e 70 75 74 20 69 73 20 64 69 73 63 61 72 64 65 64 2e 20 20 54 68 65 20 3c fered.input.is.discarded...The.<
2ece0 43 4f 44 45 3e 66 63 6c 6f 73 65 61 6c 6c 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 CODE>fcloseall</CODE>..........f
2ed00 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 unction.returns.a.value.of.<CODE
2ed20 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 77 65 72 65 20 >0</CODE>.if.all.the.files.were.
2ed40 63 6c 6f 73 65 64 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2c 20 61 6e closed..........successfully,.an
2ed60 64 20 3c 43 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 3e 20 69 66 20 61 6e 20 65 72 72 6f 72 20 77 d.<CODE>EOF</CODE>.if.an.error.w
2ed80 61 73 20 64 65 74 65 63 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 as.detected...........<br><br>.T
2eda0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 6f 6e 6c 79 his.function.should.be.used.only
2edc0 20 69 6e 20 73 70 65 63 69 61 6c 20 73 69 74 75 61 74 69 6f 6e 73 2c 20 65 2e 67 2e 2c 20 77 68 .in.special.situations,.e.g.,.wh
2ede0 65 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 61 6e en.an..........error.occurred.an
2ee00 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6d 75 73 74 20 62 65 20 61 62 6f 72 74 65 64 2e 20 20 d.the.program.must.be.aborted...
2ee20 4e 6f 72 6d 61 6c 6c 79 20 65 61 63 68 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 20 20 20 20 73 74 Normally.each.single..........st
2ee40 72 65 61 6d 20 73 68 6f 75 6c 64 20 62 65 20 63 6c 6f 73 65 64 20 73 65 70 61 72 61 74 65 6c 79 ream.should.be.closed.separately
2ee60 20 73 6f 20 74 68 61 74 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 69 6e 64 69 76 69 64 75 61 .so.that.problems.with.individua
2ee80 6c 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 73 20 63 61 6e 20 62 65 20 69 64 65 6e 74 69 l..........streams.can.be.identi
2eea0 66 69 65 64 2e 20 20 49 74 20 69 73 20 61 6c 73 6f 20 70 72 6f 62 6c 65 6d 61 74 69 63 20 73 69 fied...It.is.also.problematic.si
2eec0 6e 63 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d nce.the.standard..........stream
2eee0 73 20 20 77 69 6c 6c 20 61 6c 73 6f 20 62 65 20 63 6c 6f 73 65 64 2e 0a 20 20 20 20 20 20 20 20 s..will.also.be.closed..........
2ef00 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 66 63 6c .<br><br>.The.function.<CODE>fcl
2ef20 6f 73 65 61 6c 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 oseall</CODE>.is.declared.in.<TT
2ef40 3e 73 74 64 69 6f 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 >stdio.h</TT>..........sq.~.....
2ef60 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 08 14 74 00 04 76 6f 69 64 74 00 .w.....t..stdio.hxq.~..t..voidt.
2ef80 03 69 6e 74 74 00 05 66 63 6e 74 6c 73 71 00 7e 00 0a 70 74 08 23 0a 20 20 20 20 20 20 20 20 54 .intt..fcntlsq.~..pt.#.........T
2efa0 68 65 20 3c 43 4f 44 45 3e 66 63 6e 74 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 he.<CODE>fcntl</CODE>.function.p
2efc0 65 72 66 6f 72 6d 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 20 erforms.the.operation.specified.
2efe0 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 63 6f 6d 6d 61 6e 64 3c 2f 56 41 52 3e 20 6f by..........<VAR>command</VAR>.o
2f000 6e 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 65 64 n.the.file.descriptor.<VAR>filed
2f020 65 73 3c 2f 56 41 52 3e 2e 20 20 53 6f 6d 65 20 63 6f 6d 6d 61 6e 64 73 0a 20 20 20 20 20 20 20 es</VAR>...Some.commands........
2f040 20 20 72 65 71 75 69 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 74 ..require.additional.arguments.t
2f060 6f 20 62 65 20 73 75 70 70 6c 69 65 64 2e 20 20 54 68 65 73 65 20 61 64 64 69 74 69 6f 6e 61 6c o.be.supplied...These.additional
2f080 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 72 65 74 75 .arguments..........and.the.retu
2f0a0 72 6e 20 76 61 6c 75 65 20 61 6e 64 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 rn.value.and.error.conditions.ar
2f0c0 65 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 64 65 74 61 69 6c 65 64 0a 20 20 20 20 20 20 20 20 e.given.in.the.detailed.........
2f0e0 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 .descriptions.of.the.individual.
2f100 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 72 69 65 commands...........<br><br>.Brie
2f120 66 6c 79 2c 20 68 65 72 65 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 77 68 61 74 20 74 68 65 20 fly,.here.is.a.list.of.what.the.
2f140 76 61 72 69 6f 75 73 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c various.commands.are...........<
2f160 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 br><br>.<DL>...........<DT><CODE
2f180 3e 46 5f 44 55 50 46 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 44 75 >F_DUPFD</CODE>.<DD>..........Du
2f1a0 70 6c 69 63 61 74 65 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 28 72 65 74 plicate.the.file.descriptor.(ret
2f1c0 75 72 6e 20 61 6e 6f 74 68 65 72 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 70 6f 69 6e urn.another.file.descriptor.poin
2f1e0 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 73 61 6d 65 20 6f 70 65 6e 20 66 ting..........to.the.same.open.f
2f200 69 6c 65 29 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c ile)..............<br><br>.<DT><
2f220 43 4f 44 45 3e 46 5f 47 45 54 46 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 CODE>F_GETFD</CODE>.<DD>........
2f240 20 20 47 65 74 20 66 6c 61 67 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 ..Get.flags.associated.with.the.
2f260 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 file.descriptor..............<br
2f280 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 46 5f 53 45 54 46 44 3c 2f 43 4f 44 45 3e 0a 3c ><br>.<DT><CODE>F_SETFD</CODE>.<
2f2a0 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 65 74 20 66 6c 61 67 73 20 61 73 73 6f 63 69 61 74 65 DD>..........Set.flags.associate
2f2c0 64 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 20 20 2e 0a 20 d.with.the.file.descriptor......
2f2e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 46 5f 47 45 54 ........<br><br>.<DT><CODE>F_GET
2f300 46 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 47 65 74 20 66 6c 61 67 FL</CODE>.<DD>..........Get.flag
2f320 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 6f 70 65 6e 20 66 69 6c 65 2e s.associated.with.the.open.file.
2f340 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e .............<br><br>.<DT><CODE>
2f360 46 5f 53 45 54 46 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 65 74 F_SETFL</CODE>.<DD>..........Set
2f380 20 66 6c 61 67 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 6f 70 65 6e 20 .flags.associated.with.the.open.
2f3a0 66 69 6c 65 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c file..............<br><br>.<DT><
2f3c0 43 4f 44 45 3e 46 5f 47 45 54 4c 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 CODE>F_GETLK</CODE>.<DD>........
2f3e0 20 20 47 65 74 20 61 20 66 69 6c 65 20 6c 6f 63 6b 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c ..Get.a.file.lock..............<
2f400 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 46 5f 53 45 54 4c 4b 3c 2f 43 4f 44 45 3e br><br>.<DT><CODE>F_SETLK</CODE>
2f420 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 65 74 20 6f 72 20 63 6c 65 61 72 20 61 20 66 69 .<DD>..........Set.or.clear.a.fi
2f440 6c 65 20 6c 6f 63 6b 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 le.lock..............<br><br>.<D
2f460 54 3e 3c 43 4f 44 45 3e 46 5f 53 45 54 4c 4b 57 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 T><CODE>F_SETLKW</CODE>.<DD>....
2f480 20 20 20 20 20 20 4c 69 6b 65 20 3c 43 4f 44 45 3e 46 5f 53 45 54 4c 4b 3c 2f 43 4f 44 45 3e 2c ......Like.<CODE>F_SETLK</CODE>,
2f4a0 20 62 75 74 20 77 61 69 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 20 2e 0a 20 20 20 .but.wait.for.completion........
2f4c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 46 5f 47 45 54 4f 57 ......<br><br>.<DT><CODE>F_GETOW
2f4e0 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 47 65 74 20 70 72 6f 63 65 N</CODE>.<DD>..........Get.proce
2f500 73 73 20 6f 72 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 20 74 6f 20 72 65 63 65 69 76 ss.or.process.group.ID.to.receiv
2f520 65 20 3c 43 4f 44 45 3e 53 49 47 49 4f 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 2e 0a 20 20 e.<CODE>SIGIO</CODE>.signals....
2f540 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c ..................<br><br>.<DT><
2f560 43 4f 44 45 3e 46 5f 53 45 54 4f 57 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 CODE>F_SETOWN</CODE>.<DD>.......
2f580 20 20 20 53 65 74 20 70 72 6f 63 65 73 73 20 6f 72 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 ...Set.process.or.process.group.
2f5a0 49 44 20 74 6f 20 72 65 63 65 69 76 65 20 3c 43 4f 44 45 3e 53 49 47 49 4f 3c 2f 43 4f 44 45 3e ID.to.receive.<CODE>SIGIO</CODE>
2f5c0 20 73 69 67 6e 61 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f .signals......................</
2f5e0 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 DL>..........<br><br>.This.funct
2f600 69 6f 6e 20 69 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d ion.is.a.cancellation.point.in.m
2f620 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 ulti-threaded.programs...This...
2f640 20 20 20 20 20 20 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 .......is.a.problem.if.the.threa
2f660 64 20 61 6c 6c 6f 63 61 74 65 73 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 d.allocates.some.resources.(like
2f680 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f .memory,.file..........descripto
2f6a0 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 rs,.semaphores.or.whatever).at.t
2f6c0 68 65 20 74 69 6d 65 20 3c 43 4f 44 45 3e 66 63 6e 74 6c 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 he.time.<CODE>fcntl</CODE>.is...
2f6e0 20 20 20 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 .......called...If.the.thread.ge
2f700 74 73 20 63 61 6e 63 65 6c 65 64 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 ts.canceled.these.resources.stay
2f720 20 61 6c 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 .allocated..........until.the.pr
2f740 6f 67 72 61 6d 20 65 6e 64 73 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 61 6c 6c 73 ogram.ends...To.avoid.this.calls
2f760 20 74 6f 20 3c 43 4f 44 45 3e 66 63 6e 74 6c 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 .to.<CODE>fcntl</CODE>.should.be
2f780 0a 20 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c ..........protected.using.cancel
2f7a0 6c 61 74 69 6f 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 lation.handlers..........sq.~...
2f7c0 00 00 01 77 04 00 00 00 0a 74 00 07 66 63 6e 74 6c 2e 68 78 71 00 7e 08 1b 74 00 1d 69 6e 74 20 ...w.....t..fcntl.hxq.~..t..int.
2f7e0 66 69 6c 65 64 65 73 2c 20 69 6e 74 20 63 6f 6d 6d 61 6e 64 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 filedes,.int.command,....t..intt
2f800 00 04 66 63 76 74 73 71 00 7e 00 0a 70 74 03 94 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e ..fcvtsq.~..pt...........The.fun
2f820 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 66 63 76 74 3c 2f 43 4f 44 45 3e 20 69 73 20 6c 69 6b 65 20 ction.<CODE>fcvt</CODE>.is.like.
2f840 3c 43 4f 44 45 3e 65 63 76 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 3c 56 41 52 3e 6e 64 69 67 <CODE>ecvt</CODE>,.but.<VAR>ndig
2f860 69 74 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 it</VAR>.specifies..........the.
2f880 6e 75 6d 62 65 72 20 6f 66 20 64 69 67 69 74 73 20 61 66 74 65 72 20 74 68 65 20 64 65 63 69 6d number.of.digits.after.the.decim
2f8a0 61 6c 20 70 6f 69 6e 74 2e 20 20 49 66 20 3c 56 41 52 3e 6e 64 69 67 69 74 3c 2f 56 41 52 3e 20 al.point...If.<VAR>ndigit</VAR>.
2f8c0 69 73 20 6c 65 73 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 7a 65 72 6f 2c 20 3c 56 41 52 is.less..........than.zero,.<VAR
2f8e0 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 72 6f 75 6e 64 65 64 20 74 6f 20 74 68 65 20 3c >value</VAR>.is.rounded.to.the.<
2f900 56 41 52 3e 6e 64 69 67 69 74 3c 2f 56 41 52 3e 2b 31 27 74 68 20 70 6c 61 63 65 20 74 6f 20 74 VAR>ndigit</VAR>+1'th.place.to.t
2f920 68 65 0a 20 20 20 20 20 20 20 20 20 6c 65 66 74 20 6f 66 20 74 68 65 20 64 65 63 69 6d 61 6c 20 he..........left.of.the.decimal.
2f940 70 6f 69 6e 74 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 3c 56 41 52 3e 6e 64 69 point...For.example,.if.<VAR>ndi
2f960 67 69 74 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2c 0a 20 20 git</VAR>.is.<CODE>-1</CODE>,...
2f980 20 20 20 20 20 20 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 77 69 6c 6c 20 62 65 20 .......<VAR>value</VAR>.will.be.
2f9a0 72 6f 75 6e 64 65 64 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 31 30 2e 20 20 49 66 20 3c rounded.to.the.nearest.10...If.<
2f9c0 56 41 52 3e 6e 64 69 67 69 74 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 65 67 VAR>ndigit</VAR>.is..........neg
2f9e0 61 74 69 76 65 20 61 6e 64 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 6e 75 6d 62 65 72 ative.and.larger.than.the.number
2fa00 20 6f 66 20 64 69 67 69 74 73 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 64 65 .of.digits.to.the.left.of.the.de
2fa20 63 69 6d 61 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 20 69 6e 20 3c 56 41 52 3e 76 61 6c cimal..........point.in.<VAR>val
2fa40 75 65 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 77 69 6c 6c 20 ue</VAR>,.<VAR>value</VAR>.will.
2fa60 62 65 20 72 6f 75 6e 64 65 64 20 74 6f 20 6f 6e 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 64 69 be.rounded.to.one.significant.di
2fa80 67 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6e git...........<br><br>.If.<VAR>n
2faa0 64 69 67 69 74 3c 2f 56 41 52 3e 20 64 65 63 69 6d 61 6c 20 64 69 67 69 74 73 20 77 6f 75 6c 64 digit</VAR>.decimal.digits.would
2fac0 20 65 78 63 65 65 64 20 74 68 65 20 70 72 65 63 69 73 69 6f 6e 20 6f 66 20 61 0a 20 20 20 20 20 .exceed.the.precision.of.a......
2fae0 20 20 20 20 3c 43 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 20 69 74 20 69 73 20 72 65 ....<CODE>double</CODE>.it.is.re
2fb00 64 75 63 65 64 20 74 6f 20 61 20 73 79 73 74 65 6d 2d 73 70 65 63 69 66 69 63 20 76 61 6c 75 65 duced.to.a.system-specific.value
2fb20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 65 64 ...........<br><br>.The.returned
2fb40 20 73 74 72 69 6e 67 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 .string.is.statically.allocated.
2fb60 61 6e 64 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 65 61 63 68 20 63 61 6c 6c 0a 20 20 20 and.overwritten.by.each.call....
2fb80 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 66 63 76 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 ......to.<CODE>fcvt</CODE>......
2fba0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 ....sq.~......w.....t..stdlib.hx
2fbc0 71 00 7e 08 22 74 00 2e 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 69 6e 74 20 6e 64 69 67 69 74 q.~."t..double.value,.int.ndigit
2fbe0 2c 20 69 6e 74 20 2a 64 65 63 70 74 2c 20 69 6e 74 20 2a 6e 65 67 74 00 06 63 68 61 72 20 2a 74 ,.int.*decpt,.int.*negt..char.*t
2fc00 00 06 66 63 76 74 5f 72 73 71 00 7e 00 0a 70 74 01 6a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c ..fcvt_rsq.~..pt.j.........The.<
2fc20 43 4f 44 45 3e 66 63 76 74 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 CODE>fcvt_r</CODE>.function.is.t
2fc40 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 66 63 76 74 3c 2f 43 4f 44 45 3e 2c 20 65 78 he.same.as.<CODE>fcvt</CODE>,.ex
2fc60 63 65 70 74 20 74 68 61 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 70 6c 61 63 65 73 20 69 74 73 cept.that.it..........places.its
2fc80 20 72 65 73 75 6c 74 20 69 6e 74 6f 20 74 68 65 20 75 73 65 72 2d 73 70 65 63 69 66 69 65 64 20 .result.into.the.user-specified.
2fca0 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 buffer.pointed.to.by..........<V
2fcc0 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2c 20 77 69 74 68 20 6c 65 6e 67 74 68 20 3c 56 41 52 3e 6c AR>buf</VAR>,.with.length.<VAR>l
2fce0 65 6e 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c en</VAR>...The.return.value.is.<
2fd00 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 20 CODE>-1</CODE>.in..........case.
2fd20 6f 66 20 61 6e 20 65 72 72 6f 72 20 61 6e 64 20 7a 65 72 6f 20 6f 74 68 65 72 77 69 73 65 2e 0a of.an.error.and.zero.otherwise..
2fd40 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .........<br><br>.This.function.
2fd60 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e is.a.GNU.extension..........sq.~
2fd80 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 08 29 74 00 45 ......w.....t..stdlib.hxq.~.)t.E
2fda0 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 69 6e 74 20 6e 64 69 67 69 74 2c 20 69 6e 74 20 2a 64 double.value,.int.ndigit,.int.*d
2fdc0 65 63 70 74 2c 20 69 6e 74 20 2a 6e 65 67 2c 20 63 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f ecpt,.int.*neg,.char.*buf,.size_
2fde0 74 20 6c 65 6e 74 00 03 69 6e 74 74 00 09 66 64 61 74 61 73 79 6e 63 73 71 00 7e 00 0a 70 74 04 t.lent..intt..fdatasyncsq.~..pt.
2fe00 31 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 61 20 63 61 6c 6c 20 74 6f 20 74 68 65 20 3c 43 4f 1.........When.a.call.to.the.<CO
2fe20 44 45 3e 66 64 61 74 61 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 DE>fdatasync</CODE>.function.ret
2fe40 75 72 6e 73 2c 20 69 74 20 69 73 20 65 6e 73 75 72 65 64 0a 20 20 20 20 20 20 20 20 20 74 68 61 urns,.it.is.ensured..........tha
2fe60 74 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 69 6c 65 20 64 61 74 61 20 69 73 20 77 72 69 74 74 65 t.all.of.the.file.data.is.writte
2fe80 6e 20 74 6f 20 74 68 65 20 64 65 76 69 63 65 2e 20 20 46 6f 72 20 61 6c 6c 20 70 65 6e 64 69 6e n.to.the.device...For.all.pendin
2fea0 67 20 49 2f 4f 0a 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 73 2c 20 74 68 65 20 70 g.I/O..........operations,.the.p
2fec0 61 72 74 73 20 67 75 61 72 61 6e 74 65 65 69 6e 67 20 64 61 74 61 20 69 6e 74 65 67 72 69 74 79 arts.guaranteeing.data.integrity
2fee0 20 66 69 6e 69 73 68 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 .finished...........<br><br>.Not
2ff00 20 61 6c 6c 20 73 79 73 74 65 6d 73 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 20 3c 43 4f 44 45 .all.systems.implement.the.<CODE
2ff20 3e 66 64 61 74 61 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 6f 70 65 72 61 74 69 6f 6e 2e 20 20 4f 6e >fdatasync</CODE>.operation...On
2ff40 20 73 79 73 74 65 6d 73 0a 20 20 20 20 20 20 20 20 20 6d 69 73 73 69 6e 67 20 74 68 69 73 20 66 .systems..........missing.this.f
2ff60 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 3c 43 4f 44 45 3e 66 64 61 74 61 73 79 6e 63 3c 2f 43 4f unctionality.<CODE>fdatasync</CO
2ff80 44 45 3e 20 69 73 20 65 6d 75 6c 61 74 65 64 20 62 79 20 61 20 63 61 6c 6c 20 74 6f 0a 20 20 20 DE>.is.emulated.by.a.call.to....
2ffa0 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 ......<CODE>fsync</CODE>.since.t
2ffc0 68 65 20 70 65 72 66 6f 72 6d 65 64 20 61 63 74 69 6f 6e 73 20 61 72 65 20 61 20 73 75 70 65 72 he.performed.actions.are.a.super
2ffe0 73 65 74 20 6f 66 20 74 68 6f 73 65 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 64 20 62 set.of.those..........required.b
30000 79 20 3c 43 4f 44 45 3e 66 64 61 74 61 73 79 6e 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 y.<CODE>fdatasync</CODE>........
30020 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 70 72 6f 74 6f 74 79 70 65 20 66 6f 72 20 3c 43 ...<br><br>.The.prototype.for.<C
30040 4f 44 45 3e 66 64 61 74 61 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 69 73 20 69 6e 20 3c 54 54 3e 75 ODE>fdatasync</CODE>.is.in.<TT>u
30060 6e 69 73 74 64 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 nistd.h</TT>...........<br><br>.
30080 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e The.return.value.of.the.function
300a0 20 69 73 20 7a 65 72 6f 20 69 66 20 6e 6f 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2e 20 20 .is.zero.if.no.error.occurred...
300c0 4f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 69 74 20 69 73 20 2d 31 20 61 6e 64 20 Otherwise..........it.is.-1.and.
300e0 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f the.global.variable.<VAR>errno</
30100 56 41 52 3e 20 69 73 20 73 65 74 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c VAR>.is.set.to.the..........foll
30120 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 44 4c 3e 0a 0a 20 20 20 owing.values:..........<DL>.....
30140 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 ......<DT><CODE>EBADF</CODE>.<DD
30160 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 >..........The.descriptor.<VAR>f
30180 69 6c 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 ildes</VAR>.is.not.valid........
301a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f ...<br><br>.<DT><CODE>EINVAL</CO
301c0 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f 20 73 79 6e 63 68 72 6f 6e 69 7a 61 DE>.<DD>..........No.synchroniza
301e0 74 69 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 20 73 69 6e 63 65 20 74 68 65 20 73 79 73 74 65 tion.is.possible.since.the.syste
30200 6d 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 69 73 2e 0a 20 20 20 20 20 m.does.not.implement.this.......
30220 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 ....</DL>.........sq.~......w...
30240 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 08 30 74 00 0a 69 6e 74 20 66 69 6c 64 65 73 ..t..unistd.hxq.~.0t..int.fildes
30260 74 00 03 69 6e 74 74 00 04 66 64 69 6d 73 71 00 7e 00 0a 70 74 01 53 0a 20 20 20 20 20 20 20 20 t..intt..fdimsq.~..pt.S.........
30280 54 68 65 20 3c 43 4f 44 45 3e 66 64 69 6d 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 The.<CODE>fdim</CODE>.function.r
302a0 65 74 75 72 6e 73 20 74 68 65 20 70 6f 73 69 74 69 76 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 eturns.the.positive.difference.b
302c0 65 74 77 65 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 etween..........<VAR>x</VAR>.and
302e0 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 70 6f 73 69 74 69 76 65 20 64 69 66 .<VAR>y</VAR>...The.positive.dif
30300 66 65 72 65 6e 63 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 2d 0a 20 20 20 20 20 20 ference.is.<VAR>x</VAR>.-.......
30320 20 20 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 ...<VAR>y</VAR>.if.<VAR>x</VAR>.
30340 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2c 20 61 6e is.greater.than.<VAR>y</VAR>,.an
30360 64 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e d.0.otherwise...........<br><br>
30380 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2c 20 .If.<VAR>x</VAR>,.<VAR>y</VAR>,.
303a0 6f 72 20 62 6f 74 68 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e 65 64 or.both.are.NaN,.NaN.is.returned
303c0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 ..........sq.~......w.....t..mat
303e0 68 2e 68 78 71 00 7e 08 37 74 00 12 64 6f 75 62 6c 65 20 78 2c 20 64 6f 75 62 6c 65 20 79 74 00 h.hxq.~.7t..double.x,.double.yt.
30400 06 64 6f 75 62 6c 65 74 00 05 66 64 69 6d 66 73 71 00 7e 00 0a 70 74 01 53 0a 20 20 20 20 20 20 .doublet..fdimfsq.~..pt.S.......
30420 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 64 69 6d 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e ..The.<CODE>fdim</CODE>.function
30440 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 6f 73 69 74 69 76 65 20 64 69 66 66 65 72 65 6e 63 65 .returns.the.positive.difference
30460 20 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 .between..........<VAR>x</VAR>.a
30480 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 70 6f 73 69 74 69 76 65 20 64 nd.<VAR>y</VAR>...The.positive.d
304a0 69 66 66 65 72 65 6e 63 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 2d 0a 20 20 20 20 ifference.is.<VAR>x</VAR>.-.....
304c0 20 20 20 20 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 .....<VAR>y</VAR>.if.<VAR>x</VAR
304e0 3e 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2c 20 >.is.greater.than.<VAR>y</VAR>,.
30500 61 6e 64 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 and.0.otherwise...........<br><b
30520 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e r>.If.<VAR>x</VAR>,.<VAR>y</VAR>
30540 2c 20 6f 72 20 62 6f 74 68 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e ,.or.both.are.NaN,.NaN.is.return
30560 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d ed..........sq.~......w.....t..m
30580 61 74 68 2e 68 78 71 00 7e 08 3e 74 00 10 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 74 00 ath.hxq.~.>t..float.x,.float.yt.
305a0 05 66 6c 6f 61 74 74 00 05 66 64 69 6d 6c 73 71 00 7e 00 0a 70 74 01 53 0a 20 20 20 20 20 20 20 .floatt..fdimlsq.~..pt.S........
305c0 20 54 68 65 20 3c 43 4f 44 45 3e 66 64 69 6d 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 .The.<CODE>fdim</CODE>.function.
305e0 72 65 74 75 72 6e 73 20 74 68 65 20 70 6f 73 69 74 69 76 65 20 64 69 66 66 65 72 65 6e 63 65 20 returns.the.positive.difference.
30600 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e between..........<VAR>x</VAR>.an
30620 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 70 6f 73 69 74 69 76 65 20 64 69 d.<VAR>y</VAR>...The.positive.di
30640 66 66 65 72 65 6e 63 65 20 69 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 2d 0a 20 20 20 20 20 fference.is.<VAR>x</VAR>.-......
30660 20 20 20 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e ....<VAR>y</VAR>.if.<VAR>x</VAR>
30680 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2c 20 61 .is.greater.than.<VAR>y</VAR>,.a
306a0 6e 64 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 nd.0.otherwise...........<br><br
306c0 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2c >.If.<VAR>x</VAR>,.<VAR>y</VAR>,
306e0 20 6f 72 20 62 6f 74 68 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e 65 .or.both.are.NaN,.NaN.is.returne
30700 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 d..........sq.~......w.....t..ma
30720 74 68 2e 68 78 71 00 7e 08 45 74 00 1c 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 2c 20 6c 6f 6e 67 th.hxq.~.Et..long.double.x,.long
30740 20 64 6f 75 62 6c 65 20 79 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 06 66 64 6f 70 65 6e .double.yt..long.doublet..fdopen
30760 73 71 00 7e 00 0a 70 74 04 ee 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 64 6f sq.~..pt...........The.<CODE>fdo
30780 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 65 pen</CODE>.function.returns.a.ne
307a0 77 20 73 74 72 65 61 6d 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 w.stream.for.the.file.descriptor
307c0 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 0a 20 20 ..........<VAR>filedes</VAR>....
307e0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 6f 70 65 6e 74 79 70 .......<br><br>.The.<VAR>opentyp
30800 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 e</VAR>.argument.is.interpreted.
30820 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 61 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 in.the.same.way.as.for.the......
30840 20 20 20 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 ....<CODE>fopen</CODE>.function.
30860 2c 20 65 78 63 65 70 74 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 73 61 6d 70 ,.except.that..........the.<samp
30880 3e 62 3c 2f 73 61 6d 70 3e 20 6f 70 74 69 6f 6e 20 69 73 20 6e 6f 74 20 70 65 72 6d 69 74 74 65 >b</samp>.option.is.not.permitte
308a0 64 3b 20 74 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 47 4e 55 20 6d 61 6b 65 73 20 6e 6f 0a d;.this.is.because.GNU.makes.no.
308c0 20 20 20 20 20 20 20 20 20 64 69 73 74 69 6e 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 65 78 .........distinction.between.tex
308e0 74 20 61 6e 64 20 62 69 6e 61 72 79 20 66 69 6c 65 73 2e 20 20 41 6c 73 6f 2c 20 3c 43 4f 44 45 t.and.binary.files...Also,.<CODE
30900 3e 22 77 22 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 22 >"w"</CODE>.and..........<CODE>"
30920 77 2b 22 3c 2f 43 4f 44 45 3e 20 64 6f 20 6e 6f 74 20 63 61 75 73 65 20 74 72 75 6e 63 61 74 69 w+"</CODE>.do.not.cause.truncati
30940 6f 6e 20 6f 66 20 74 68 65 20 66 69 6c 65 3b 20 74 68 65 73 65 20 68 61 76 65 20 61 6e 20 65 66 on.of.the.file;.these.have.an.ef
30960 66 65 63 74 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 6f 70 65 6e 69 6e 67 20 fect.only..........when.opening.
30980 61 20 66 69 6c 65 2c 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 66 69 6c a.file,.and.in.this.case.the.fil
309a0 65 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 6f 70 65 6e 65 64 2e 0a 20 20 20 20 20 e.has.already.been.opened.......
309c0 20 20 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 20 ....You.must.make.sure.that.the.
309e0 3c 56 41 52 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6d 61 74 <VAR>opentype</VAR>.argument.mat
30a00 63 68 65 73 20 74 68 65 20 61 63 74 75 61 6c 0a 20 20 20 20 20 20 20 20 20 6d 6f 64 65 20 6f 66 ches.the.actual..........mode.of
30a20 20 74 68 65 20 6f 70 65 6e 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 .the.open.file.descriptor.......
30a40 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 ....<br><br>.The.return.value.is
30a60 20 74 68 65 20 6e 65 77 20 73 74 72 65 61 6d 2e 20 20 49 66 20 74 68 65 20 73 74 72 65 61 6d 20 .the.new.stream...If.the.stream.
30a80 63 61 6e 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 20 cannot.be.created..........(for.
30aa0 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 6d 6f 64 65 73 20 66 6f 72 20 74 68 65 20 66 69 example,.if.the.modes.for.the.fi
30ac0 6c 65 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 le.indicated.by.the.file.descrip
30ae0 74 6f 72 0a 20 20 20 20 20 20 20 20 20 64 6f 20 6e 6f 74 20 70 65 72 6d 69 74 20 74 68 65 20 61 tor..........do.not.permit.the.a
30b00 63 63 65 73 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 3c 56 41 52 3e 6f 70 65 6e ccess.specified.by.the.<VAR>open
30b20 74 79 70 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 29 2c 20 61 0a 20 20 20 20 20 20 20 20 type</VAR>.argument),.a.........
30b40 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 73 74 65 61 .null.pointer.is.returned.instea
30b60 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 73 6f 6d 65 20 6f 74 68 d...........<br><br>.In.some.oth
30b80 65 72 20 73 79 73 74 65 6d 73 2c 20 3c 43 4f 44 45 3e 66 64 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 er.systems,.<CODE>fdopen</CODE>.
30ba0 6d 61 79 20 66 61 69 6c 20 74 6f 20 64 65 74 65 63 74 20 74 68 61 74 20 74 68 65 20 6d 6f 64 65 may.fail.to.detect.that.the.mode
30bc0 73 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 64 s..........for.file.descriptor.d
30be0 6f 20 6e 6f 74 20 70 65 72 6d 69 74 20 74 68 65 20 61 63 63 65 73 73 20 73 70 65 63 69 66 69 65 o.not.permit.the.access.specifie
30c00 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 70 65 6e 74 79 70 65 3c 2f 43 4f d.by..........<CODE>opentype</CO
30c20 44 45 3e 2e 20 20 54 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 20 61 6c 77 61 79 73 20 63 DE>...The.GNU.C.library.always.c
30c40 68 65 63 6b 73 20 66 6f 72 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 hecks.for.this..........sq.~....
30c60 00 02 77 04 00 00 00 0a 74 00 0b 73 79 73 2f 74 79 70 65 73 2e 68 74 00 07 73 74 64 69 6f 2e 68 ..w.....t..sys/types.ht..stdio.h
30c80 78 71 00 7e 08 4c 74 00 21 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 xq.~.Lt.!int.filedes,.const.char
30ca0 20 2a 6f 70 65 6e 74 79 70 65 74 00 06 46 49 4c 45 20 2a 74 00 09 66 64 6f 70 65 6e 64 69 72 73 .*opentypet..FILE.*t..fdopendirs
30cc0 71 00 7e 00 0a 70 74 05 bd 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 64 6f 70 q.~..pt...........The.<CODE>fdop
30ce0 65 6e 64 69 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6a 75 73 74 endir</CODE>.function.works.just
30d00 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 64 69 72 3c 2f 43 4f 44 45 3e 20 62 75 74 0a 20 .like.<CODE>opendir</CODE>.but..
30d20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 74 61 6b 69 6e 67 20 61 20 66 69 6c 65 ........instead.of.taking.a.file
30d40 20 6e 61 6d 65 20 61 6e 64 20 6f 70 65 6e 69 6e 67 20 61 20 66 69 6c 65 20 64 65 73 63 72 69 70 .name.and.opening.a.file.descrip
30d60 74 6f 72 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 74 tor.for.the..........directory.t
30d80 68 65 20 63 61 6c 6c 65 72 20 69 73 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72 6f 76 69 64 65 he.caller.is.required.to.provide
30da0 20 61 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 .a.file.descriptor...This.......
30dc0 20 20 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 69 73 20 74 68 65 6e 20 75 73 65 64 20 ...file.descriptor.is.then.used.
30de0 69 6e 20 73 75 62 73 65 71 75 65 6e 74 20 75 73 65 73 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e in.subsequent.uses.of.the.return
30e00 65 64 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 73 74 72 65 61 6d 20 6f 62 6a ed..........directory.stream.obj
30e20 65 63 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 63 61 6c 6c 65 ect...........<br><br>.The.calle
30e40 72 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 r.must.make.sure.the.file.descri
30e60 70 74 6f 72 20 69 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 0a 20 20 20 20 20 20 ptor.is.associated.with.a.......
30e80 20 20 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 69 74 20 61 6c 6c 6f 77 73 20 72 65 61 64 69 ...directory.and.it.allows.readi
30ea0 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 3c 43 4f ng...........<br><br>.If.the.<CO
30ec0 44 45 3e 66 64 6f 70 65 6e 64 69 72 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 72 65 74 75 72 6e 73 DE>fdopendir</CODE>.call.returns
30ee0 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f .successfully.the.file.descripto
30f00 72 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 77 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 r..........is.now.under.the.cont
30f20 72 6f 6c 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 2e 20 20 49 74 20 63 61 6e 20 62 65 20 75 73 rol.of.the.system...It.can.be.us
30f40 65 64 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 77 61 79 20 74 68 65 20 ed.in.the.same..........way.the.
30f60 64 65 73 63 72 69 70 74 6f 72 20 69 6d 70 6c 69 63 69 74 6c 79 20 63 72 65 61 74 65 64 20 62 79 descriptor.implicitly.created.by
30f80 20 3c 43 4f 44 45 3e 6f 70 65 6e 64 69 72 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 75 73 65 .<CODE>opendir</CODE>.can.be.use
30fa0 64 0a 20 20 20 20 20 20 20 20 20 62 75 74 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6d 75 73 74 20 d..........but.the.program.must.
30fc0 6e 6f 74 20 63 6c 6f 73 65 20 74 68 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 not.close.the.descriptor........
30fe0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 63 61 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e ...<br><br>.In.case.the.function
31000 20 69 73 20 75 6e 73 75 63 63 65 73 73 66 75 6c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 6e 75 .is.unsuccessful.it.returns.a.nu
31020 6c 6c 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 ll.pointer.and.the..........file
31040 20 64 65 73 63 72 69 70 74 6f 72 20 72 65 6d 61 69 6e 73 20 74 6f 20 62 65 20 75 73 61 62 6c 65 .descriptor.remains.to.be.usable
31060 20 62 79 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a .by.the.program...The.following.
31080 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f .........<CODE>errno</CODE>.erro
310a0 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 r.conditions.are.defined.for.thi
310c0 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 s.function:..........<br><br>.<D
310e0 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f L>...........<DT><CODE>EBADF</CO
31100 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 64 65 73 63 72 DE>.<DD>..........The.file.descr
31120 69 70 74 6f 72 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 iptor.is.not.valid...........<br
31140 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 44 49 52 3c 2f 43 4f 44 45 3e 0a 3c ><br>.<DT><CODE>ENOTDIR</CODE>.<
31160 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 DD>..........The.file.descriptor
31180 20 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 64 69 72 65 63 74 .is.not.associated.with.a.direct
311a0 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 ory...........<br><br>.<DT><CODE
311c0 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 >EINVAL</CODE>.<DD>..........The
311e0 20 64 65 73 63 72 69 70 74 6f 72 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 72 65 61 64 69 .descriptor.does.not.allow.readi
31200 6e 67 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 65 6e 74 2e 0a 20 20 20 20 20 20 ng.the.directory.content........
31220 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 4d 45 4d 3c 2f 43 4f ...<br><br>.<DT><CODE>ENOMEM</CO
31240 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d DE>.<DD>..........Not.enough.mem
31260 6f 72 79 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 ory.available...........</DL>...
31280 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 72 65 6e 74 2e ......sq.~......w.....t..dirent.
312a0 68 78 71 00 7e 08 54 74 00 06 69 6e 74 20 66 64 74 00 05 44 49 52 20 2a 74 00 0d 66 65 63 6c 65 hxq.~.Tt..int.fdt..DIR.*t..fecle
312c0 61 72 65 78 63 65 70 74 73 71 00 7e 00 0a 70 74 00 ec 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 arexceptsq.~..pt...........This.
312e0 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 75 70 70 6f function.clears.all.of.the.suppo
31300 72 74 65 64 20 65 78 63 65 70 74 69 6f 6e 20 66 6c 61 67 73 20 69 6e 64 69 63 61 74 65 64 20 62 rted.exception.flags.indicated.b
31320 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 65 78 63 65 70 74 73 3c 2f 56 41 52 3e 2e 0a 20 y..........<VAR>excepts</VAR>...
31340 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 ........<br><br>.The.function.re
31360 74 75 72 6e 73 20 7a 65 72 6f 20 69 6e 20 63 61 73 65 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e turns.zero.in.case.the.operation
31380 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 61 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 2d .was.successful,.a..........non-
313a0 7a 65 72 6f 20 76 61 6c 75 65 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 zero.value.otherwise..........sq
313c0 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 74 00 06 66 65 6e 76 2e 68 .~......w.....t..math.ht..fenv.h
313e0 78 71 00 7e 08 5b 74 00 0b 69 6e 74 20 65 78 63 65 70 74 73 74 00 03 69 6e 74 74 00 0f 66 65 64 xq.~.[t..int.exceptst..intt..fed
31400 69 73 61 62 6c 65 65 78 63 65 70 74 73 71 00 7e 00 0a 70 74 01 cb 0a 20 20 20 20 20 20 20 20 54 isableexceptsq.~..pt...........T
31420 68 69 73 20 66 75 6e 63 74 69 6f 6e 73 20 64 69 73 61 62 6c 65 73 20 74 72 61 70 73 20 66 6f 72 his.functions.disables.traps.for
31440 20 65 61 63 68 20 6f 66 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 73 20 61 73 20 69 6e 64 69 63 .each.of.the.exceptions.as.indic
31460 61 74 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c ated.by..........the.parameter.<
31480 56 41 52 3e 65 78 63 65 70 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 69 6e 64 69 76 69 64 75 61 VAR>except</VAR>...The.individua
314a0 6c 20 65 78 63 65 70 65 74 69 6f 6e 73 20 61 72 65 20 64 65 73 63 72 69 62 65 64 20 69 6e 0a 20 l.excepetions.are.described.in..
314c0 20 20 20 20 20 20 20 20 53 74 61 74 75 73 20 62 69 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 ........Status.bit.operations...
314e0 4f 6e 6c 79 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 65 78 63 65 70 74 69 6f 6e 73 20 61 72 Only.the.specified.exceptions.ar
31500 65 0a 20 20 20 20 20 20 20 20 20 64 69 73 61 62 6c 65 64 2c 20 74 68 65 20 73 74 61 74 75 73 20 e..........disabled,.the.status.
31520 6f 66 20 74 68 65 20 6f 74 68 65 72 20 65 78 63 65 70 74 69 6f 6e 73 20 69 73 20 6e 6f 74 20 63 of.the.other.exceptions.is.not.c
31540 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 hanged...........<br><br>.The.fu
31560 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 6e 61 62 nction.returns.the.previous.enab
31580 6c 65 64 20 65 78 63 65 70 74 69 6f 6e 73 20 69 6e 20 63 61 73 65 20 74 68 65 0a 20 20 20 20 20 led.exceptions.in.case.the......
315a0 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 3c 43 ....operation.was.successful,.<C
315c0 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 ODE>-1</CODE>.otherwise.........
315e0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 66 65 6e 76 2e 68 78 71 00 7e 08 63 .sq.~......w.....t..fenv.hxq.~.c
31600 74 00 0b 69 6e 74 20 65 78 63 65 70 74 73 74 00 03 69 6e 74 74 00 0e 66 65 65 6e 61 62 6c 65 65 t..int.exceptst..intt..feenablee
31620 78 63 65 70 74 73 71 00 7e 00 0a 70 74 01 c9 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e xceptsq.~..pt...........This.fun
31640 63 74 69 6f 6e 73 20 65 6e 61 62 6c 65 73 20 74 72 61 70 73 20 66 6f 72 20 65 61 63 68 20 6f 66 ctions.enables.traps.for.each.of
31660 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 73 20 61 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 0a .the.exceptions.as.indicated.by.
31680 20 20 20 20 20 20 20 20 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 65 78 63 65 .........the.parameter.<VAR>exce
316a0 70 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 69 6e 64 69 76 69 64 75 61 6c 20 65 78 63 65 70 65 pt</VAR>...The.individual.excepe
316c0 74 69 6f 6e 73 20 61 72 65 20 64 65 73 63 72 69 62 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 tions.are.described.in..........
316e0 53 74 61 74 75 73 20 62 69 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 4f 6e 6c 79 20 74 68 65 Status.bit.operations...Only.the
31700 20 73 70 65 63 69 66 69 65 64 20 65 78 63 65 70 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 .specified.exceptions.are.......
31720 20 20 20 65 6e 61 62 6c 65 64 2c 20 74 68 65 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 20 6f 74 ...enabled,.the.status.of.the.ot
31740 68 65 72 20 65 78 63 65 70 74 69 6f 6e 73 20 69 73 20 6e 6f 74 20 63 68 61 6e 67 65 64 2e 0a 20 her.exceptions.is.not.changed...
31760 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 ........<br><br>.The.function.re
31780 74 75 72 6e 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 6e 61 62 6c 65 64 20 65 78 63 65 70 turns.the.previous.enabled.excep
317a0 74 69 6f 6e 73 20 69 6e 20 63 61 73 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 tions.in.case.the..........opera
317c0 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 tion.was.successful,.<CODE>-1</C
317e0 4f 44 45 3e 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 ODE>.otherwise..........sq.~....
31800 00 01 77 04 00 00 00 0a 74 00 06 66 65 6e 76 2e 68 78 71 00 7e 08 6a 74 00 0b 69 6e 74 20 65 78 ..w.....t..fenv.hxq.~.jt..int.ex
31820 63 65 70 74 73 74 00 03 69 6e 74 74 00 08 66 65 67 65 74 65 6e 76 73 71 00 7e 00 0a 70 74 00 e5 ceptst..intt..fegetenvsq.~..pt..
31840 0a 20 20 20 20 20 20 20 20 53 74 6f 72 65 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e .........Store.the.floating-poin
31860 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 69 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f t.environment.in.the.variable.po
31880 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 65 6e 76 70 3c 2f inted.to.by..........<VAR>envp</
318a0 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 VAR>...........<br><br>.The.func
318c0 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 69 6e 20 63 61 73 65 20 74 68 65 20 6f 70 tion.returns.zero.in.case.the.op
318e0 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 61 0a 20 20 20 20 20 20 eration.was.successful,.a.......
31900 20 20 20 6e 6f 6e 2d 7a 65 72 6f 20 76 61 6c 75 65 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 ...non-zero.value.otherwise.....
31920 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 66 65 6e 76 2e 68 78 71 .....sq.~......w.....t..fenv.hxq
31940 00 7e 08 71 74 00 0c 66 65 6e 76 5f 74 20 2a 65 6e 76 70 74 00 03 69 6e 74 74 00 0b 66 65 67 65 .~.qt..fenv_t.*envpt..intt..fege
31960 74 65 78 63 65 70 74 73 71 00 7e 00 0a 70 74 00 8e 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 texceptsq.~..pt...........The.fu
31980 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 62 69 74 6d 61 73 6b 20 6f 66 20 61 6c 6c 20 nction.returns.a.bitmask.of.all.
319a0 63 75 72 72 65 6e 74 6c 79 20 65 6e 61 62 6c 65 64 20 65 78 63 65 70 74 69 6f 6e 73 2e 20 20 49 currently.enabled.exceptions...I
319c0 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 t..........returns.<CODE>-1</COD
319e0 45 3e 20 69 6e 20 63 61 73 65 20 6f 66 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 73 E>.in.case.of.failure..........s
31a00 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 66 65 6e 76 2e 68 78 71 00 7e 08 78 74 00 q.~......w.....t..fenv.hxq.~.xt.
31a20 0b 69 6e 74 20 65 78 63 65 70 74 73 74 00 03 69 6e 74 74 00 0f 66 65 67 65 74 65 78 63 65 70 74 .int.exceptst..intt..fegetexcept
31a40 66 6c 61 67 73 71 00 7e 00 0a 70 74 01 57 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 flagsq.~..pt.W.........This.func
31a60 74 69 6f 6e 20 73 74 6f 72 65 73 20 69 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f 69 6e tion.stores.in.the.variable.poin
31a80 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 66 6c 61 67 70 3c 2f 56 41 52 3e 20 61 6e 0a 20 20 ted.to.by.<VAR>flagp</VAR>.an...
31aa0 20 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 64 65 66 69 6e 65 64 20 76 61 .......implementation-defined.va
31ac0 6c 75 65 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 65 74 lue.representing.the.current.set
31ae0 74 69 6e 67 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 69 6f 6e 20 66 ting.of.the..........exception.f
31b00 6c 61 67 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 3c 56 41 52 3e 65 78 63 65 70 74 73 3c 2f lags.indicated.by.<VAR>excepts</
31b20 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 VAR>...........<br><br>.The.func
31b40 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 69 6e 20 63 61 73 65 20 74 68 65 20 6f 70 tion.returns.zero.in.case.the.op
31b60 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 61 0a 20 20 20 20 20 20 eration.was.successful,.a.......
31b80 20 20 20 6e 6f 6e 2d 7a 65 72 6f 20 76 61 6c 75 65 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 ...non-zero.value.otherwise.....
31ba0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 66 65 6e 76 2e 68 78 71 .....sq.~......w.....t..fenv.hxq
31bc0 00 7e 08 7f 74 00 1d 66 65 78 63 65 70 74 5f 74 20 2a 66 6c 61 67 70 2c 20 69 6e 74 20 65 78 63 .~..t..fexcept_t.*flagp,.int.exc
31be0 65 70 74 73 74 00 03 69 6e 74 74 00 0a 66 65 67 65 74 72 6f 75 6e 64 73 71 00 7e 00 0a 70 74 00 eptst..intt..fegetroundsq.~..pt.
31c00 8e 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 ..........Returns.the.currently.
31c20 73 65 6c 65 63 74 65 64 20 72 6f 75 6e 64 69 6e 67 20 6d 6f 64 65 2c 20 72 65 70 72 65 73 65 6e selected.rounding.mode,.represen
31c40 74 65 64 20 62 79 20 6f 6e 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 ted.by.one.of.the..........value
31c60 73 20 6f 66 20 74 68 65 20 64 65 66 69 6e 65 64 20 72 6f 75 6e 64 69 6e 67 20 6d 6f 64 65 20 6d s.of.the.defined.rounding.mode.m
31c80 61 63 72 6f 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 acros..........sq.~......w.....t
31ca0 00 06 6d 61 74 68 2e 68 74 00 06 66 65 6e 76 2e 68 78 71 00 7e 08 86 74 00 04 76 6f 69 64 74 00 ..math.ht..fenv.hxq.~..t..voidt.
31cc0 03 69 6e 74 74 00 0c 66 65 68 6f 6c 64 65 78 63 65 70 74 73 71 00 7e 00 0a 70 74 01 74 0a 20 20 .intt..feholdexceptsq.~..pt.t...
31ce0 20 20 20 20 20 20 53 74 6f 72 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 6c 6f 61 74 69 6e 67 ......Store.the.current.floating
31d00 2d 70 6f 69 6e 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 -point.environment.in.the.object
31d20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 65 6e 76 .pointed.to.by..........<VAR>env
31d40 70 3c 2f 56 41 52 3e 2e 20 20 54 68 65 6e 20 63 6c 65 61 72 20 61 6c 6c 20 65 78 63 65 70 74 69 p</VAR>...Then.clear.all.excepti
31d60 6f 6e 20 66 6c 61 67 73 2c 20 61 6e 64 20 73 65 74 20 74 68 65 20 46 50 55 20 74 6f 20 74 72 61 on.flags,.and.set.the.FPU.to.tra
31d80 70 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 69 6f 6e 73 2e 20 20 4e 6f 74 20 61 p.no..........exceptions...Not.a
31da0 6c 6c 20 46 50 55 73 20 73 75 70 70 6f 72 74 20 74 72 61 70 70 69 6e 67 20 6e 6f 20 65 78 63 65 ll.FPUs.support.trapping.no.exce
31dc0 70 74 69 6f 6e 73 3b 20 69 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 65 68 6f 6c 64 ptions;.if..........<CODE>fehold
31de0 65 78 63 65 70 74 3c 2f 43 4f 44 45 3e 20 63 61 6e 6e 6f 74 20 73 65 74 20 74 68 69 73 20 6d 6f except</CODE>.cannot.set.this.mo
31e00 64 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 2e 20 20 49 de,.it.returns.nonzero.value...I
31e20 66 20 69 74 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 65 64 73 2c 20 69 74 20 72 65 74 75 72 f.it..........succeeds,.it.retur
31e40 6e 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 ns.zero..........sq.~......w....
31e60 0a 74 00 06 66 65 6e 76 2e 68 78 71 00 7e 08 8e 74 00 0c 66 65 6e 76 5f 74 20 2a 65 6e 76 70 74 .t..fenv.hxq.~..t..fenv_t.*envpt
31e80 00 03 69 6e 74 74 00 04 66 65 6f 66 73 71 00 7e 00 0a 70 74 00 da 0a 20 20 20 20 20 20 20 20 54 ..intt..feofsq.~..pt...........T
31ea0 68 65 20 3c 43 4f 44 45 3e 66 65 6f 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 he.<CODE>feof</CODE>.function.re
31ec0 74 75 72 6e 73 20 6e 6f 6e 7a 65 72 6f 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 74 68 65 turns.nonzero.if.and.only.if.the
31ee0 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 6f 72 20 .end-of-file..........indicator.
31f00 66 6f 72 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e for.the.stream.<VAR>stream</VAR>
31f20 20 69 73 20 73 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 .is.set...........<br><br>.This.
31f40 73 79 6d 62 6f 6c 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 69 6f 2e symbol.is.declared.in.<TT>stdio.
31f60 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a h</TT>..........sq.~......w.....
31f80 74 00 07 73 74 64 69 6f 2e 68 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 08 95 74 00 0c 46 49 4c t..stdio.ht..wchar.hxq.~..t..FIL
31fa0 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 0d 66 65 6f 66 5f 75 6e 6c 6f 63 6b 65 64 73 E.*streamt..intt..feof_unlockeds
31fc0 71 00 7e 00 0a 70 74 01 19 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 65 6f 66 q.~..pt...........The.<CODE>feof
31fe0 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 _unlocked</CODE>.function.is.equ
32000 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 65 6f 66 3c 2f 43 4f 44 45 3e ivalent.to.the.<CODE>feof</CODE>
32020 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 ..........function.except.that.i
32040 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 t.does.not.implicitly.lock.the.s
32060 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 tream...........<br><br>.This.fu
32080 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 nction.is.a.GNU.extension.......
320a0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 73 79 6d 62 6f 6c 20 69 73 20 64 65 63 6c ....<br><br>.This.symbol.is.decl
320c0 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 69 6f 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 ared.in.<TT>stdio.h</TT>........
320e0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e ..sq.~......w.....t..stdio.hxq.~
32100 08 9d 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 0d 66 65 72 61 69 73 ..t..FILE.*streamt..intt..ferais
32120 65 65 78 63 65 70 74 73 71 00 7e 00 0a 70 74 02 7c 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 eexceptsq.~..pt.|.........This.f
32140 75 6e 63 74 69 6f 6e 20 72 61 69 73 65 73 20 74 68 65 20 73 75 70 70 6f 72 74 65 64 20 65 78 63 unction.raises.the.supported.exc
32160 65 70 74 69 6f 6e 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 eptions.indicated.by..........<V
32180 41 52 3e 65 78 63 65 70 74 73 3c 2f 56 41 52 3e 2e 20 20 49 66 20 6d 6f 72 65 20 74 68 61 6e 20 AR>excepts</VAR>...If.more.than.
321a0 6f 6e 65 20 65 78 63 65 70 74 69 6f 6e 20 62 69 74 20 69 6e 20 3c 56 41 52 3e 65 78 63 65 70 74 one.exception.bit.in.<VAR>except
321c0 73 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 72 64 65 s</VAR>.is.set..........the.orde
321e0 72 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 73 20 61 72 65 20 72 61 r.in.which.the.exceptions.are.ra
32200 69 73 65 64 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 65 78 63 65 70 74 20 74 68 61 74 0a 20 20 ised.is.undefined.except.that...
32220 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 20 28 3c 43 4f 44 45 3e 46 45 5f 4f 56 45 52 46 4c .......overflow.(<CODE>FE_OVERFL
32240 4f 57 3c 2f 43 4f 44 45 3e 29 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 28 3c 43 4f 44 45 3e 46 OW</CODE>).or.underflow.(<CODE>F
32260 45 5f 55 4e 44 45 52 46 4c 4f 57 3c 2f 43 4f 44 45 3e 29 20 61 72 65 0a 20 20 20 20 20 20 20 20 E_UNDERFLOW</CODE>).are.........
32280 20 72 61 69 73 65 64 20 62 65 66 6f 72 65 20 69 6e 65 78 61 63 74 20 28 3c 43 4f 44 45 3e 46 45 .raised.before.inexact.(<CODE>FE
322a0 5f 49 4e 45 58 41 43 54 3c 2f 43 4f 44 45 3e 29 2e 20 20 57 68 65 74 68 65 72 20 66 6f 72 20 6f _INEXACT</CODE>)...Whether.for.o
322c0 76 65 72 66 6c 6f 77 20 6f 72 0a 20 20 20 20 20 20 20 20 20 75 6e 64 65 72 66 6c 6f 77 20 74 68 verflow.or..........underflow.th
322e0 65 20 69 6e 65 78 61 63 74 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 61 6c 73 6f 20 72 61 69 73 e.inexact.exception.is.also.rais
32300 65 64 20 69 73 20 61 6c 73 6f 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 ed.is.also.implementation.......
32320 20 20 20 64 65 70 65 6e 64 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ...dependent...........<br><br>.
32340 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 69 6e 20 63 61 73 The.function.returns.zero.in.cas
32360 65 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 e.the.operation.was.successful,.
32380 61 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 2d 7a 65 72 6f 20 76 61 6c 75 65 20 6f 74 68 65 72 77 a..........non-zero.value.otherw
323a0 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 ise..........sq.~......w.....t..
323c0 66 65 6e 76 2e 68 78 71 00 7e 08 a4 74 00 0b 69 6e 74 20 65 78 63 65 70 74 73 74 00 03 69 6e 74 fenv.hxq.~..t..int.exceptst..int
323e0 74 00 06 66 65 72 72 6f 72 73 71 00 7e 00 0a 70 74 01 2c 0a 20 20 20 20 20 20 20 20 54 68 65 20 t..ferrorsq.~..pt.,.........The.
32400 3c 43 4f 44 45 3e 66 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 <CODE>ferror</CODE>.function.ret
32420 75 72 6e 73 20 6e 6f 6e 7a 65 72 6f 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 urns.nonzero.if.and.only.if.the.
32440 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 6f 72 20 66 6f 72 20 74 68 65 error..........indicator.for.the
32460 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 .stream.<VAR>stream</VAR>.is.set
32480 2c 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 61 74 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 ,.indicating.that.an.error......
324a0 20 20 20 20 68 61 73 20 6f 63 63 75 72 72 65 64 20 6f 6e 20 61 20 70 72 65 76 69 6f 75 73 20 6f ....has.occurred.on.a.previous.o
324c0 70 65 72 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 peration.on.the.stream..........
324e0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 73 79 6d 62 6f 6c 20 69 73 20 64 65 63 6c 61 72 65 .<br><br>.This.symbol.is.declare
32500 64 20 69 6e 20 3c 54 54 3e 73 74 64 69 6f 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 d.in.<TT>stdio.h</TT>..........s
32520 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 08 ab 74 q.~......w.....t..stdio.hxq.~..t
32540 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 0f 66 65 72 72 6f 72 5f 75 6e ..FILE.*streamt..intt..ferror_un
32560 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 01 1d 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f lockedsq.~..pt...........The.<CO
32580 44 45 3e 66 65 72 72 6f 72 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 DE>ferror_unlocked</CODE>.functi
325a0 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 65 on.is.equivalent.to.the.<CODE>fe
325c0 72 72 6f 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 rror</CODE>..........function.ex
325e0 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 cept.that.it.does.not.implicitly
32600 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .lock.the.stream...........<br><
32620 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e br>.This.function.is.a.GNU.exten
32640 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 73 79 6d sion...........<br><br>.This.sym
32660 62 6f 6c 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 69 6f 2e 68 3c 2f bol.is.declared.in.<TT>stdio.h</
32680 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 TT>..........sq.~......w.....t..
326a0 73 74 64 69 6f 2e 68 78 71 00 7e 08 b2 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 stdio.hxq.~..t..FILE.*streamt..i
326c0 6e 74 74 00 08 66 65 73 65 74 65 6e 76 73 71 00 7e 00 0a 70 74 00 d1 0a 20 20 20 20 20 20 20 20 ntt..fesetenvsq.~..pt...........
326e0 53 65 74 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 65 6e 76 69 72 6f 6e 6d 65 Set.the.floating-point.environme
32700 6e 74 20 74 6f 20 74 68 61 74 20 64 65 73 63 72 69 62 65 64 20 62 79 20 3c 56 41 52 3e 65 6e 76 nt.to.that.described.by.<VAR>env
32720 70 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 p</VAR>...........<br><br>.The.f
32740 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 69 6e 20 63 61 73 65 20 74 68 65 unction.returns.zero.in.case.the
32760 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 61 0a 20 20 20 .operation.was.successful,.a....
32780 20 20 20 20 20 20 6e 6f 6e 2d 7a 65 72 6f 20 76 61 6c 75 65 20 6f 74 68 65 72 77 69 73 65 2e 0a ......non-zero.value.otherwise..
327a0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 66 65 6e 76 2e ........sq.~......w.....t..fenv.
327c0 68 78 71 00 7e 08 b9 74 00 12 63 6f 6e 73 74 20 66 65 6e 76 5f 74 20 2a 65 6e 76 70 74 00 03 69 hxq.~..t..const.fenv_t.*envpt..i
327e0 6e 74 74 00 0f 66 65 73 65 74 65 78 63 65 70 74 66 6c 61 67 73 71 00 7e 00 0a 70 74 01 33 0a 20 ntt..fesetexceptflagsq.~..pt.3..
32800 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 6f 72 65 73 20 74 68 .......This.function.restores.th
32820 65 20 66 6c 61 67 73 20 66 6f 72 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 73 20 69 6e 64 69 63 e.flags.for.the.exceptions.indic
32840 61 74 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 65 78 63 65 70 74 73 3c 2f 56 ated.by..........<VAR>excepts</V
32860 41 52 3e 20 74 6f 20 74 68 65 20 76 61 6c 75 65 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 AR>.to.the.values.stored.in.the.
32880 76 61 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 variable.pointed.to.by..........
328a0 3c 56 41 52 3e 66 6c 61 67 70 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c <VAR>flagp</VAR>...........<br><
328c0 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 69 6e br>.The.function.returns.zero.in
328e0 20 63 61 73 65 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 .case.the.operation.was.successf
32900 75 6c 2c 20 61 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 2d 7a 65 72 6f 20 76 61 6c 75 65 20 6f 74 ul,.a..........non-zero.value.ot
32920 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 herwise..........sq.~......w....
32940 0a 74 00 06 66 65 6e 76 2e 68 78 71 00 7e 08 c0 74 00 22 63 6f 6e 73 74 20 66 65 78 63 65 70 74 .t..fenv.hxq.~..t."const.fexcept
32960 5f 74 20 2a 66 6c 61 67 70 2c 20 69 6e 74 65 78 63 65 70 74 73 74 00 03 69 6e 74 74 00 0a 66 65 _t.*flagp,.intexceptst..intt..fe
32980 73 65 74 72 6f 75 6e 64 73 71 00 7e 00 0a 70 74 01 47 0a 20 20 20 20 20 20 20 20 43 68 61 6e 67 setroundsq.~..pt.G.........Chang
329a0 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 72 6f 75 6e 64 69 es.the.currently.selected.roundi
329c0 6e 67 20 6d 6f 64 65 20 74 6f 20 3c 56 41 52 3e 72 6f 75 6e 64 3c 2f 56 41 52 3e 2e 20 20 49 66 ng.mode.to.<VAR>round</VAR>...If
329e0 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 72 6f 75 6e 64 3c 2f 56 41 52 3e 20 64 6f 65 73 20 ..........<VAR>round</VAR>.does.
32a00 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 73 75 70 not.correspond.to.one.of.the.sup
32a20 70 6f 72 74 65 64 20 72 6f 75 6e 64 69 6e 67 20 6d 6f 64 65 73 0a 20 20 20 20 20 20 20 20 20 6e ported.rounding.modes..........n
32a40 6f 74 68 69 6e 67 20 69 73 20 63 68 61 6e 67 65 64 2e 20 20 3c 43 4f 44 45 3e 66 65 73 65 74 72 othing.is.changed...<CODE>fesetr
32a60 6f 75 6e 64 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 69 66 20 69 74 20 63 ound</CODE>.returns.zero.if.it.c
32a80 68 61 6e 67 65 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 6f 75 6e 64 69 6e 67 20 6d 6f 64 hanged.the..........rounding.mod
32aa0 65 2c 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 69 66 20 74 68 65 20 6d 6f 64 65 20 69 e,.a.nonzero.value.if.the.mode.i
32ac0 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 s.not.supported..........sq.~...
32ae0 00 00 01 77 04 00 00 00 0a 74 00 06 66 65 6e 76 2e 68 78 71 00 7e 08 c7 74 00 09 69 6e 74 20 72 ...w.....t..fenv.hxq.~..t..int.r
32b00 6f 75 6e 64 74 00 03 69 6e 74 74 00 0c 66 65 74 65 73 74 65 78 63 65 70 74 73 71 00 7e 00 0a 70 oundt..intt..fetestexceptsq.~..p
32b20 74 00 fe 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 77 68 65 74 68 65 72 20 74 68 65 20 65 78 63 t...........Test.whether.the.exc
32b40 65 70 74 69 6f 6e 20 66 6c 61 67 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 74 68 65 20 70 61 eption.flags.indicated.by.the.pa
32b60 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 65 78 63 65 70 74 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 rameter.<VAR>except</VAR>.......
32b80 20 20 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 74 2e 20 20 49 66 20 61 6e 79 20 6f 66 ...are.currently.set...If.any.of
32ba0 20 74 68 65 6d 20 61 72 65 2c 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 69 73 20 72 65 .them.are,.a.nonzero.value.is.re
32bc0 74 75 72 6e 65 64 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 turned..........which.specifies.
32be0 77 68 69 63 68 20 65 78 63 65 70 74 69 6f 6e 73 20 61 72 65 20 73 65 74 2e 20 20 4f 74 68 65 72 which.exceptions.are.set...Other
32c00 77 69 73 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 wise.the.result.is.zero.........
32c20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 66 65 6e 76 2e 68 78 71 00 7e 08 ce .sq.~......w.....t..fenv.hxq.~..
32c40 74 00 0b 69 6e 74 20 65 78 63 65 70 74 73 74 00 03 69 6e 74 74 00 0b 66 65 75 70 64 61 74 65 65 t..int.exceptst..intt..feupdatee
32c60 6e 76 73 71 00 7e 00 0a 70 74 02 54 0a 20 20 20 20 20 20 20 20 4c 69 6b 65 20 3c 43 4f 44 45 3e nvsq.~..pt.T.........Like.<CODE>
32c80 66 65 73 65 74 65 6e 76 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 fesetenv</CODE>,.this.function.s
32ca0 65 74 73 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 65 6e 76 69 72 6f 6e 6d 65 ets.the.floating-point.environme
32cc0 6e 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 61 74 20 64 65 73 63 72 69 62 65 64 20 62 79 nt..........to.that.described.by
32ce0 20 3c 56 41 52 3e 65 6e 76 70 3c 2f 56 41 52 3e 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 61 .<VAR>envp</VAR>...However,.if.a
32d00 6e 79 20 65 78 63 65 70 74 69 6f 6e 73 20 77 65 72 65 0a 20 20 20 20 20 20 20 20 20 66 6c 61 67 ny.exceptions.were..........flag
32d20 67 65 64 20 69 6e 20 74 68 65 20 73 74 61 74 75 73 20 77 6f 72 64 20 62 65 66 6f 72 65 20 3c 43 ged.in.the.status.word.before.<C
32d40 4f 44 45 3e 66 65 75 70 64 61 74 65 65 6e 76 3c 2f 43 4f 44 45 3e 20 77 61 73 20 63 61 6c 6c 65 ODE>feupdateenv</CODE>.was.calle
32d60 64 2c 20 74 68 65 79 0a 20 20 20 20 20 20 20 20 20 72 65 6d 61 69 6e 20 66 6c 61 67 67 65 64 20 d,.they..........remain.flagged.
32d80 61 66 74 65 72 20 74 68 65 20 63 61 6c 6c 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c after.the.call...In.other.words,
32da0 20 61 66 74 65 72 20 3c 43 4f 44 45 3e 66 65 75 70 64 61 74 65 65 6e 76 3c 2f 43 4f 44 45 3e 0a .after.<CODE>feupdateenv</CODE>.
32dc0 20 20 20 20 20 20 20 20 20 69 73 20 63 61 6c 6c 65 64 2c 20 74 68 65 20 73 74 61 74 75 73 20 77 .........is.called,.the.status.w
32de0 6f 72 64 20 69 73 20 74 68 65 20 62 69 74 77 69 73 65 20 4f 52 20 6f 66 20 74 68 65 20 70 72 65 ord.is.the.bitwise.OR.of.the.pre
32e00 76 69 6f 75 73 20 73 74 61 74 75 73 20 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 vious.status.word..........and.t
32e20 68 65 20 6f 6e 65 20 73 61 76 65 64 20 69 6e 20 3c 56 41 52 3e 65 6e 76 70 3c 2f 56 41 52 3e 2e he.one.saved.in.<VAR>envp</VAR>.
32e40 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 ..........<br><br>.The.function.
32e60 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 69 6e 20 63 61 73 65 20 74 68 65 20 6f 70 65 72 61 74 69 returns.zero.in.case.the.operati
32e80 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 61 0a 20 20 20 20 20 20 20 20 20 6e 6f on.was.successful,.a..........no
32ea0 6e 2d 7a 65 72 6f 20 76 61 6c 75 65 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 n-zero.value.otherwise..........
32ec0 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 66 65 6e 76 2e 68 78 71 00 7e 08 d5 74 sq.~......w.....t..fenv.hxq.~..t
32ee0 00 12 63 6f 6e 73 74 20 66 65 6e 76 5f 74 20 2a 65 6e 76 70 74 00 03 69 6e 74 74 00 06 66 66 6c ..const.fenv_t.*envpt..intt..ffl
32f00 75 73 68 73 71 00 7e 00 0a 70 74 01 81 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 ushsq.~..pt...........This.funct
32f20 69 6f 6e 20 63 61 75 73 65 73 20 61 6e 79 20 62 75 66 66 65 72 65 64 20 6f 75 74 70 75 74 20 6f ion.causes.any.buffered.output.o
32f40 6e 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 74 6f 20 62 65 20 64 65 6c 69 76 65 n.<VAR>stream</VAR>.to.be.delive
32f60 72 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 66 69 6c 65 2e 20 20 49 66 20 3c 56 red..........to.the.file...If.<V
32f80 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 AR>stream</VAR>.is.a.null.pointe
32fa0 72 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 66 6c 75 73 68 3c 2f 43 r,.then..........<CODE>fflush</C
32fc0 4f 44 45 3e 20 63 61 75 73 65 73 20 62 75 66 66 65 72 65 64 20 6f 75 74 70 75 74 20 6f 6e 20 3c ODE>.causes.buffered.output.on.<
32fe0 45 4d 3e 61 6c 6c 3c 2f 45 4d 3e 20 6f 70 65 6e 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 73 0a EM>all</EM>.open.output.streams.
33000 20 20 20 20 20 20 20 20 20 74 6f 20 62 65 20 66 6c 75 73 68 65 64 2e 0a 20 20 20 20 20 20 20 20 .........to.be.flushed..........
33020 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 .<br><br>.This.function.returns.
33040 3c 43 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 3e 20 69 66 20 61 20 77 72 69 74 65 20 65 72 72 6f <CODE>EOF</CODE>.if.a.write.erro
33060 72 20 6f 63 63 75 72 73 2c 20 6f 72 20 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 r.occurs,.or.zero..........other
33080 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 wise..........sq.~......w.....t.
330a0 07 73 74 64 69 6f 2e 68 78 71 00 7e 08 dc 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 .stdio.hxq.~..t..FILE.*streamt..
330c0 69 6e 74 74 00 0f 66 66 6c 75 73 68 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 aa 0a intt..fflush_unlockedsq.~..pt...
330e0 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 66 6c 75 73 68 5f 75 6e 6c 6f 63 6b 65 ........The.<CODE>fflush_unlocke
33100 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 d</CODE>.function.is.equivalent.
33120 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 66 6c 75 73 68 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 to.the.<CODE>fflush</CODE>......
33140 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f 65 73 ....function.except.that.it.does
33160 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e .not.implicitly.lock.the.stream.
33180 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 .........sq.~......w.....t..stdi
331a0 6f 2e 68 78 71 00 7e 08 e3 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 o.hxq.~..t..FILE.*streamt..intt.
331c0 05 66 67 65 74 63 73 71 00 7e 00 0a 70 74 01 28 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 .fgetcsq.~..pt.(.........This.fu
331e0 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 74 68 65 20 6e 65 78 74 20 63 68 61 72 61 63 74 65 72 20 nction.reads.the.next.character.
33200 61 73 20 61 6e 20 3c 43 4f 44 45 3e 75 6e 73 69 67 6e 65 64 20 63 68 61 72 3c 2f 43 4f 44 45 3e as.an.<CODE>unsigned.char</CODE>
33220 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 .from..........the.stream.<VAR>s
33240 74 72 65 61 6d 3c 2f 56 41 52 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 69 74 73 20 76 61 6c 75 tream</VAR>.and.returns.its.valu
33260 65 2c 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 61 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 e,.converted.to.an..........<COD
33280 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 61 6e 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 E>int</CODE>...If.an.end-of-file
332a0 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 72 20 72 65 61 64 20 65 72 72 6f 72 20 6f 63 63 75 72 73 2c .condition.or.read.error.occurs,
332c0 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 ..........<CODE>EOF</CODE>.is.re
332e0 74 75 72 6e 65 64 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 turned.instead..........sq.~....
33300 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 08 ea 74 00 0c 46 49 4c 45 20 ..w.....t..stdio.hxq.~..t..FILE.
33320 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 0e 66 67 65 74 63 5f 75 6e 6c 6f 63 6b 65 64 73 71 *streamt..intt..fgetc_unlockedsq
33340 00 7e 00 0a 70 74 00 a8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 67 65 74 63 .~..pt...........The.<CODE>fgetc
33360 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 _unlocked</CODE>.function.is.equ
33380 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 67 65 74 63 3c 2f 43 4f 44 45 ivalent.to.the.<CODE>fgetc</CODE
333a0 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 >..........function.except.that.
333c0 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 it.does.not.implicitly.lock.the.
333e0 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a stream..........sq.~......w.....
33400 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 08 f1 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 t..stdio.hxq.~..t..FILE.*streamt
33420 00 03 69 6e 74 74 00 09 66 67 65 74 67 72 65 6e 74 73 71 00 7e 00 0a 70 74 01 dc 0a 20 20 20 20 ..intt..fgetgrentsq.~..pt.......
33440 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 67 65 74 67 72 65 6e 74 3c 2f 43 4f 44 45 3e 20 66 ....The.<CODE>fgetgrent</CODE>.f
33460 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 66 72 6f unction.reads.the.next.entry.fro
33480 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 49 74 m.<VAR>stream</VAR>...........It
334a0 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 65 6e 74 72 79 2e .returns.a.pointer.to.the.entry.
334c0 20 20 54 68 65 20 73 74 72 75 63 74 75 72 65 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 0a 20 20 ..The.structure.is.statically...
334e0 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 61 6e 64 20 69 73 20 6f 76 65 72 77 72 69 74 .......allocated.and.is.overwrit
33500 74 65 6e 20 6f 6e 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 ten.on.subsequent.calls.to.<CODE
33520 3e 66 67 65 74 67 72 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 0a 20 20 20 20 20 20 20 20 >fgetgrent</CODE>...You.........
33540 20 6d 75 73 74 20 63 6f 70 79 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 73 .must.copy.the.contents.of.the.s
33560 74 72 75 63 74 75 72 65 20 69 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 61 76 65 20 74 68 65 tructure.if.you.wish.to.save.the
33580 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 ..........information...........
335a0 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 74 72 65 61 6d 20 6d 75 73 74 20 63 6f 72 72 65 73 70 <br><br>.The.stream.must.corresp
335c0 6f 6e 64 20 74 6f 20 61 20 66 69 6c 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 ond.to.a.file.in.the.same.format
335e0 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 20 20 20 67 72 6f 75 70 20 .as.the.standard..........group.
33600 64 61 74 61 62 61 73 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 database.file..........sq.~.....
33620 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 71 00 7e 08 f8 74 00 0c 46 49 4c 45 20 2a 73 74 .w.....t..grp.hxq.~..t..FILE.*st
33640 72 65 61 6d 74 00 0e 73 74 72 75 63 74 20 67 72 6f 75 70 20 2a 74 00 0b 66 67 65 74 67 72 65 6e reamt..struct.group.*t..fgetgren
33660 74 5f 72 73 71 00 7e 00 0a 70 74 03 66 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 t_rsq.~..pt.f.........This.funct
33680 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 66 67 65 74 67 72 65 6e ion.is.similar.to.<CODE>fgetgren
336a0 74 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 61 74 20 69 74 20 72 65 61 64 73 20 74 68 65 20 6e 65 t</CODE>.in.that.it.reads.the.ne
336c0 78 74 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 20 65 6e 74 72 79 20 66 72 6f 6d 20 3c 56 41 52 xt..........user.entry.from.<VAR
336e0 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 42 75 74 20 74 68 65 20 72 65 73 75 6c 74 20 69 >stream</VAR>...But.the.result.i
33700 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 75 63 s.returned.in.the..........struc
33720 74 75 72 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 ture.pointed.to.by.<VAR>result_b
33740 75 66 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 66 69 72 73 74 20 3c 56 41 52 3e 62 75 66 6c 65 6e uf</VAR>...The.first.<VAR>buflen
33760 3c 2f 56 41 52 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 61 64 64 </VAR>.bytes..........of.the.add
33780 69 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 itional.buffer.pointed.to.by.<VA
337a0 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 61 72 65 20 75 73 65 64 20 74 6f 20 63 6f 6e 74 61 R>buffer</VAR>.are.used.to.conta
337c0 69 6e 0a 20 20 20 20 20 20 20 20 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72 6d 61 74 69 in..........additional.informati
337e0 6f 6e 2c 20 6e 6f 72 6d 61 6c 6c 79 20 73 74 72 69 6e 67 73 20 77 68 69 63 68 20 61 72 65 20 70 on,.normally.strings.which.are.p
33800 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 6c 65 6d 65 6e ointed.to.by.the..........elemen
33820 74 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 20 ts.of.the.result.structure......
33840 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 73 74 72 65 61 6d 20 6d 75 73 74 20 63 .....<br><br>.This.stream.must.c
33860 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 61 20 66 69 6c 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 orrespond.to.a.file.in.the.same.
33880 66 6f 72 6d 61 74 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 20 20 20 format.as.the.standard..........
338a0 67 72 6f 75 70 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 group.database.file...........<b
338c0 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a r><br>.If.the.function.returns.z
338e0 65 72 6f 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 20 ero.<VAR>result</VAR>.points.to.
33900 74 68 65 20 73 74 72 75 63 74 75 72 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 the.structure.with..........the.
33920 77 61 6e 74 65 64 20 64 61 74 61 20 28 6e 6f 72 6d 61 6c 6c 79 20 74 68 69 73 20 69 73 20 69 6e wanted.data.(normally.this.is.in
33940 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 29 2e 20 20 49 66 20 65 72 72 .<VAR>result_buf</VAR>)...If.err
33960 6f 72 73 0a 20 20 20 20 20 20 20 20 20 6f 63 63 75 72 72 65 64 20 74 68 65 20 72 65 74 75 72 6e ors..........occurred.the.return
33980 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d 7a 65 72 6f 20 61 6e 64 20 3c 56 41 52 3e 72 65 73 75 .value.is.non-zero.and.<VAR>resu
339a0 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 lt</VAR>.contains.a.null........
339c0 20 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ..pointer..........sq.~......w..
339e0 00 00 0a 74 00 05 67 72 70 2e 68 78 71 00 7e 08 ff 74 00 5a 46 49 4c 45 20 2a 73 74 72 65 61 6d ...t..grp.hxq.~..t.ZFILE.*stream
33a00 2c 20 73 74 72 75 63 74 20 67 72 6f 75 70 20 2a 72 65 73 75 6c 74 5f 62 75 66 2c 20 63 68 61 72 ,.struct.group.*result_buf,.char
33a20 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 62 75 66 6c 65 6e 2c 20 73 74 72 75 63 74 20 .*buffer,.size_t.buflen,.struct.
33a40 67 72 6f 75 70 20 2a 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 07 66 67 65 74 70 6f 73 73 71 group.**resultt..intt..fgetpossq
33a60 00 7e 00 0a 70 74 02 6e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 .~..pt.n.........This.function.s
33a80 74 6f 72 65 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 70 6f 73 69 tores.the.value.of.the.file.posi
33aa0 74 69 6f 6e 20 69 6e 64 69 63 61 74 6f 72 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 tion.indicator.for.the..........
33ac0 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 69 6e 20 74 68 65 20 stream.<VAR>stream</VAR>.in.the.
33ae0 3c 43 4f 44 45 3e 66 70 6f 73 5f 74 3c 2f 43 4f 44 45 3e 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 <CODE>fpos_t</CODE>.object.point
33b00 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 6f 73 69 74 69 6f 6e 3c ed.to.by..........<VAR>position<
33b20 2f 56 41 52 3e 2e 20 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 3c 43 4f 44 45 3e 66 67 65 /VAR>...If.successful,.<CODE>fge
33b40 74 70 6f 73 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 3b 20 6f 74 68 65 72 77 tpos</CODE>.returns.zero;.otherw
33b60 69 73 65 0a 20 20 20 20 20 20 20 20 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 7a 65 72 ise..........it.returns.a.nonzer
33b80 6f 20 76 61 6c 75 65 20 61 6e 64 20 73 74 6f 72 65 73 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 o.value.and.stores.an.implementa
33ba0 74 69 6f 6e 2d 64 65 66 69 6e 65 64 20 70 6f 73 69 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 76 tion-defined.positive..........v
33bc0 61 6c 75 65 20 69 6e 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 alue.in.<CODE>errno</CODE>......
33be0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 .....<br><br>.When.the.sources.a
33c00 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 re.compiled.with.<CODE>_FILE_OFF
33c20 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 SET_BITS.==.64</CODE>.on.a......
33c40 20 20 20 20 33 32 20 62 69 74 20 73 79 73 74 65 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 ....32.bit.system.the.function.i
33c60 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 66 67 65 74 70 6f 73 36 34 3c 2f 43 4f 44 45 3e s.in.fact.<CODE>fgetpos64</CODE>
33c80 2e 20 20 49 2e 65 2e 2c 20 74 68 65 20 4c 46 53 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 ...I.e.,.the.LFS..........interf
33ca0 61 63 65 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f ace.transparently.replaces.the.o
33cc0 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 ld.interface..........sq.~......
33ce0 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 66 69 6c 65 2e 68 74 00 07 73 74 64 69 6f 2e 68 78 71 00 w.....t..sys/file.ht..stdio.hxq.
33d00 7e 09 06 74 00 1e 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 66 70 6f 73 5f 74 20 2a 70 6f 73 69 ~..t..FILE.*stream,.fpos_t.*posi
33d20 74 69 6f 6e 74 00 03 69 6e 74 74 00 09 66 67 65 74 70 6f 73 36 34 73 71 00 7e 00 0a 70 74 01 b6 tiont..intt..fgetpos64sq.~..pt..
33d40 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 .........This.function.is.simila
33d60 72 20 74 6f 20 3c 43 4f 44 45 3e 66 67 65 74 70 6f 73 3c 2f 43 4f 44 45 3e 20 62 75 74 20 74 68 r.to.<CODE>fgetpos</CODE>.but.th
33d80 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 e.file.position.is..........retu
33da0 72 6e 65 64 20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 rned.in.a.variable.of.type.<CODE
33dc0 3e 66 70 6f 73 36 34 5f 74 3c 2f 43 4f 44 45 3e 20 74 6f 20 77 68 69 63 68 20 3c 56 41 52 3e 70 >fpos64_t</CODE>.to.which.<VAR>p
33de0 6f 73 69 74 69 6f 6e 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 73 2e 0a 20 osition</VAR>..........points...
33e00 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 6f 75 72 63 65 73 20 ........<br><br>.If.the.sources.
33e20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 are.compiled.with.<CODE>_FILE_OF
33e40 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 20 33 32 0a 20 FSET_BITS.==.64</CODE>.on.a.32..
33e60 20 20 20 20 20 20 20 20 62 69 74 73 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 ........bits.machine.this.functi
33e80 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c on.is.available.under.the.name.<
33ea0 43 4f 44 45 3e 66 67 65 74 70 6f 73 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 CODE>fgetpos</CODE>..........and
33ec0 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f .so.transparently.replaces.the.o
33ee0 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ld.interface..........sq.~......
33f00 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 09 0e 74 00 20 46 49 4c 45 20 2a 73 w.....t..stdio.hxq.~..t..FILE.*s
33f20 74 72 65 61 6d 2c 20 66 70 6f 73 36 34 5f 74 20 2a 70 6f 73 69 74 69 6f 6e 74 00 03 69 6e 74 74 tream,.fpos64_t.*positiont..intt
33f40 00 09 66 67 65 74 70 77 65 6e 74 73 71 00 7e 00 0a 70 74 01 c3 0a 20 20 20 20 20 20 20 20 54 68 ..fgetpwentsq.~..pt...........Th
33f60 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 74 68 65 20 6e 65 78 74 20 75 73 65 72 20 is.function.reads.the.next.user.
33f80 65 6e 74 72 79 20 66 72 6f 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 61 6e 64 entry.from.<VAR>stream</VAR>.and
33fa0 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 .returns.a..........pointer.to.t
33fc0 68 65 20 65 6e 74 72 79 2e 20 20 54 68 65 20 73 74 72 75 63 74 75 72 65 20 69 73 20 73 74 61 74 he.entry...The.structure.is.stat
33fe0 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 61 6e 64 20 69 73 0a 20 20 20 20 20 20 20 20 ically.allocated.and.is.........
34000 20 72 65 77 72 69 74 74 65 6e 20 6f 6e 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 .rewritten.on.subsequent.calls.t
34020 6f 20 3c 43 4f 44 45 3e 66 67 65 74 70 77 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 20 6d o.<CODE>fgetpwent</CODE>...You.m
34040 75 73 74 20 63 6f 70 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 20 6f ust.copy.the..........contents.o
34060 66 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 69 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 f.the.structure.if.you.wish.to.s
34080 61 76 65 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ave.the.information...........<b
340a0 72 3e 3c 62 72 3e 20 54 68 65 20 73 74 72 65 61 6d 20 6d 75 73 74 20 63 6f 72 72 65 73 70 6f 6e r><br>.The.stream.must.correspon
340c0 64 20 74 6f 20 61 20 66 69 6c 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 20 61 d.to.a.file.in.the.same.format.a
340e0 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 20 20 20 70 61 73 73 77 6f 72 64 s.the.standard..........password
34100 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 .database.file..........sq.~....
34120 00 01 77 04 00 00 00 0a 74 00 05 70 77 64 2e 68 78 71 00 7e 09 15 74 00 0c 46 49 4c 45 20 2a 73 ..w.....t..pwd.hxq.~..t..FILE.*s
34140 74 72 65 61 6d 74 00 0f 73 74 72 75 63 74 20 70 61 73 73 77 64 20 2a 74 00 0b 66 67 65 74 70 77 treamt..struct.passwd.*t..fgetpw
34160 65 6e 74 5f 72 73 71 00 7e 00 0a 70 74 03 67 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e ent_rsq.~..pt.g.........This.fun
34180 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 66 67 65 74 70 77 ction.is.similar.to.<CODE>fgetpw
341a0 65 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 61 74 20 69 74 20 72 65 61 64 73 20 74 68 65 20 ent</CODE>.in.that.it.reads.the.
341c0 6e 65 78 74 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 20 65 6e 74 72 79 20 66 72 6f 6d 20 3c 56 next..........user.entry.from.<V
341e0 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 42 75 74 20 74 68 65 20 72 65 73 75 6c 74 AR>stream</VAR>...But.the.result
34200 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 .is.returned.in.the..........str
34220 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 72 65 73 75 6c 74 ucture.pointed.to.by.<VAR>result
34240 5f 62 75 66 3c 2f 56 41 52 3e 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 72 73 74 20 _buf</VAR>...The..........first.
34260 3c 56 41 52 3e 62 75 66 6c 65 6e 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 61 <VAR>buflen</VAR>.bytes.of.the.a
34280 64 64 69 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 dditional.buffer.pointed.to.by..
342a0 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 61 72 65 20 75 73 ........<VAR>buffer</VAR>.are.us
342c0 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72 6d 61 ed.to.contain.additional.informa
342e0 74 69 6f 6e 2c 20 6e 6f 72 6d 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 73 20 tion,.normally..........strings.
34300 77 68 69 63 68 20 61 72 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 65 6c 65 6d which.are.pointed.to.by.the.elem
34320 65 6e 74 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 ents.of.the.result.structure....
34340 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 74 72 65 61 6d 20 6d 75 73 74 20 .......<br><br>.The.stream.must.
34360 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 61 20 66 69 6c 65 20 69 6e 20 74 68 65 20 73 61 6d 65 correspond.to.a.file.in.the.same
34380 20 66 6f 72 6d 61 74 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 20 20 .format.as.the.standard.........
343a0 20 70 61 73 73 77 6f 72 64 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 .password.database.file.........
343c0 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 ..<br><br>.If.the.function.retur
343e0 6e 73 20 7a 65 72 6f 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 ns.zero.<VAR>result</VAR>.points
34400 20 74 6f 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 .to.the.structure.with..........
34420 74 68 65 20 77 61 6e 74 65 64 20 64 61 74 61 20 28 6e 6f 72 6d 61 6c 6c 79 20 74 68 69 73 20 69 the.wanted.data.(normally.this.i
34440 73 20 69 6e 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 29 2e 20 20 49 66 s.in.<VAR>result_buf</VAR>)...If
34460 20 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 6f 63 63 75 72 72 65 64 20 74 68 65 20 72 65 .errors..........occurred.the.re
34480 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 7a 65 72 6f 20 61 6e 64 20 3c 56 41 52 3e 72 turn.value.is.nonzero.and.<VAR>r
344a0 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 75 6c 6c 0a 20 20 20 20 esult</VAR>.contains.a.null.....
344c0 20 20 20 20 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .....pointer..........sq.~......
344e0 77 04 00 00 00 0a 74 00 05 70 77 64 2e 68 78 71 00 7e 09 1c 74 00 5c 46 49 4c 45 20 2a 73 74 72 w.....t..pwd.hxq.~..t.\FILE.*str
34500 65 61 6d 2c 20 73 74 72 75 63 74 20 70 61 73 73 77 64 20 2a 72 65 73 75 6c 74 5f 62 75 66 2c 20 eam,.struct.passwd.*result_buf,.
34520 63 68 61 72 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 62 75 66 6c 65 6e 2c 20 73 74 72 char.*buffer,.size_t.buflen,.str
34540 75 63 74 20 70 61 73 73 77 64 20 2a 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 05 66 67 65 74 uct.passwd.**resultt..intt..fget
34560 73 73 71 00 7e 00 0a 70 74 05 01 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 67 ssq.~..pt...........The.<CODE>fg
34580 65 74 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 63 68 61 72 61 63 ets</CODE>.function.reads.charac
345a0 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d ters.from.the.stream.<VAR>stream
345c0 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 75 70 20 74 6f 20 61 6e 64 20 69 6e 63 6c 75 64 </VAR>..........up.to.and.includ
345e0 69 6e 67 20 61 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 20 61 6e 64 20 73 74 6f 72 ing.a.newline.character.and.stor
34600 65 73 20 74 68 65 6d 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c es.them.in.the.string..........<
34620 56 41 52 3e 73 3c 2f 56 41 52 3e 2c 20 61 64 64 69 6e 67 20 61 20 6e 75 6c 6c 20 63 68 61 72 61 VAR>s</VAR>,.adding.a.null.chara
34640 63 74 65 72 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 cter.to.mark.the.end.of.the.stri
34660 6e 67 2e 20 20 59 6f 75 0a 20 20 20 20 20 20 20 20 20 6d 75 73 74 20 73 75 70 70 6c 79 20 3c 56 ng...You..........must.supply.<V
34680 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 77 6f 72 74 68 20 AR>count</VAR>.characters.worth.
346a0 6f 66 20 73 70 61 63 65 20 69 6e 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2c 20 62 75 74 20 74 68 of.space.in.<VAR>s</VAR>,.but.th
346c0 65 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 e..........number.of.characters.
346e0 72 65 61 64 20 69 73 20 61 74 20 6d 6f 73 74 20 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e read.is.at.most.<VAR>count</VAR>
34700 20 20 31 2e 20 20 54 68 65 20 65 78 74 72 61 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 ..1...The.extra..........charact
34720 65 72 20 73 70 61 63 65 20 69 73 20 75 73 65 64 20 74 6f 20 68 6f 6c 64 20 74 68 65 20 6e 75 6c er.space.is.used.to.hold.the.nul
34740 6c 20 63 68 61 72 61 63 74 65 72 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 0a 20 20 l.character.at.the.end.of.the...
34760 20 20 20 20 20 20 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e .......string...........<br><br>
34780 20 49 66 20 74 68 65 20 73 79 73 74 65 6d 20 69 73 20 61 6c 72 65 61 64 79 20 61 74 20 65 6e 64 .If.the.system.is.already.at.end
347a0 20 6f 66 20 66 69 6c 65 20 77 68 65 6e 20 79 6f 75 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 66 67 65 .of.file.when.you.call.<CODE>fge
347c0 74 73 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 6f 6e ts</CODE>,.then..........the.con
347e0 74 65 6e 74 73 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 tents.of.the.array.<VAR>s</VAR>.
34800 61 72 65 20 75 6e 63 68 61 6e 67 65 64 20 61 6e 64 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 are.unchanged.and.a.null.pointer
34820 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 2e 20 20 41 20 6e 75 6c 6c 20 70 .is..........returned...A.null.p
34840 6f 69 6e 74 65 72 20 69 73 20 61 6c 73 6f 20 72 65 74 75 72 6e 65 64 20 69 66 20 61 20 72 65 61 ointer.is.also.returned.if.a.rea
34860 64 20 65 72 72 6f 72 20 6f 63 63 75 72 73 2e 0a 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 d.error.occurs...........Otherwi
34880 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 70 6f 69 6e se,.the.return.value.is.the.poin
348a0 74 65 72 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c ter.<VAR>s</VAR>...........<br><
348c0 62 72 3e 20 57 61 72 6e 69 6e 67 3a 20 20 49 66 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 20 br>.Warning:..If.the.input.data.
348e0 68 61 73 20 61 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 2c 20 79 6f 75 20 63 61 6e 27 74 20 has.a.null.character,.you.can't.
34900 74 65 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 53 6f 20 64 6f 6e 27 74 20 75 73 65 20 3c 43 4f 44 tell...........So.don't.use.<COD
34920 45 3e 66 67 65 74 73 3c 2f 43 4f 44 45 3e 20 75 6e 6c 65 73 73 20 79 6f 75 20 6b 6e 6f 77 20 74 E>fgets</CODE>.unless.you.know.t
34940 68 65 20 64 61 74 61 20 63 61 6e 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 20 6e 75 6c 6c 2e 0a 20 he.data.cannot.contain.a.null...
34960 20 20 20 20 20 20 20 20 44 6f 6e 27 74 20 75 73 65 20 69 74 20 74 6f 20 72 65 61 64 20 66 69 6c ........Don't.use.it.to.read.fil
34980 65 73 20 65 64 69 74 65 64 20 62 79 20 74 68 65 20 75 73 65 72 20 62 65 63 61 75 73 65 2c 20 69 es.edited.by.the.user.because,.i
349a0 66 20 74 68 65 20 75 73 65 72 20 69 6e 73 65 72 74 73 0a 20 20 20 20 20 20 20 20 20 61 20 6e 75 f.the.user.inserts..........a.nu
349c0 6c 6c 20 63 68 61 72 61 63 74 65 72 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 65 69 74 68 65 72 20 ll.character,.you.should.either.
349e0 68 61 6e 64 6c 65 20 69 74 20 70 72 6f 70 65 72 6c 79 20 6f 72 20 70 72 69 6e 74 20 61 20 63 6c handle.it.properly.or.print.a.cl
34a00 65 61 72 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 20 20 57 65 20 ear..........error.message...We.
34a20 72 65 63 6f 6d 6d 65 6e 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 67 65 74 6c 69 6e 65 3c 2f 43 recommend.using.<CODE>getline</C
34a40 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 43 4f 44 45 3e 66 67 65 74 73 3c 2f 43 4f 44 ODE>.instead.of.<CODE>fgets</COD
34a60 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 E>..........sq.~......w.....t..s
34a80 74 64 69 6f 2e 68 78 71 00 7e 09 23 74 00 20 63 68 61 72 20 2a 73 2c 20 69 6e 74 20 63 6f 75 6e tdio.hxq.~.#t..char.*s,.int.coun
34aa0 74 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 06 63 68 61 72 20 2a 74 00 0e 66 67 65 74 73 t,.FILE.*streamt..char.*t..fgets
34ac0 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 dc 0a 20 20 20 20 20 20 20 20 54 68 65 20 _unlockedsq.~..pt...........The.
34ae0 3c 43 4f 44 45 3e 66 67 65 74 73 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 <CODE>fgets_unlocked</CODE>.func
34b00 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e tion.is.equivalent.to.the.<CODE>
34b20 66 67 65 74 73 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 fgets</CODE>..........function.e
34b40 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c xcept.that.it.does.not.implicitl
34b60 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e y.lock.the.stream...........<br>
34b80 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 <br>.This.function.is.a.GNU.exte
34ba0 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 nsion..........sq.~......w.....t
34bc0 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 09 2a 74 00 20 63 68 61 72 20 2a 73 2c 20 69 6e 74 20 63 ..stdio.hxq.~.*t..char.*s,.int.c
34be0 6f 75 6e 74 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 06 63 68 61 72 20 2a 74 00 06 66 67 ount,.FILE.*streamt..char.*t..fg
34c00 65 74 77 63 73 71 00 7e 00 0a 70 74 00 e2 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 etwcsq.~..pt...........This.func
34c20 74 69 6f 6e 20 72 65 61 64 73 20 74 68 65 20 6e 65 78 74 20 77 69 64 65 20 63 68 61 72 61 63 74 tion.reads.the.next.wide.charact
34c40 65 72 20 66 72 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f er.from.the.stream.<VAR>stream</
34c60 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e 73 20 69 74 73 20 76 61 VAR>..........and.returns.its.va
34c80 6c 75 65 2e 20 20 49 66 20 61 6e 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 20 63 6f 6e 64 69 74 69 6f lue...If.an.end-of-file.conditio
34ca0 6e 20 6f 72 20 72 65 61 64 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 6f 63 63 75 72 73 2c n.or.read.error..........occurs,
34cc0 20 3c 43 4f 44 45 3e 57 45 4f 46 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 .<CODE>WEOF</CODE>.is.returned.i
34ce0 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a nstead..........sq.~......w.....
34d00 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 09 31 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 t..wchar.hxq.~.1t..FILE.*streamt
34d20 00 06 77 69 6e 74 5f 74 74 00 0f 66 67 65 74 77 63 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a ..wint_tt..fgetwc_unlockedsq.~..
34d40 70 74 00 de 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 67 65 74 77 63 5f 75 6e pt...........The.<CODE>fgetwc_un
34d60 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 locked</CODE>.function.is.equiva
34d80 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 67 65 74 77 63 3c 2f 43 4f 44 45 3e 0a lent.to.the.<CODE>fgetwc</CODE>.
34da0 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 .........function.except.that.it
34dc0 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 .does.not.implicitly.lock.the.st
34de0 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e ream...........<br><br>.This.fun
34e00 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 ction.is.a.GNU.extension........
34e20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e ..sq.~......w.....t..wchar.hxq.~
34e40 09 38 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 06 77 69 6e 74 5f 74 74 00 06 66 67 65 .8t..FILE.*streamt..wint_tt..fge
34e60 74 77 73 73 71 00 7e 00 0a 70 74 05 0e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e twssq.~..pt...........The.<CODE>
34e80 66 67 65 74 77 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 77 69 64 fgetws</CODE>.function.reads.wid
34ea0 65 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 e.characters.from.the.stream....
34ec0 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 75 70 20 74 6f 20 61 6e ......<VAR>stream</VAR>.up.to.an
34ee0 64 20 69 6e 63 6c 75 64 69 6e 67 20 61 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 20 d.including.a.newline.character.
34f00 61 6e 64 20 73 74 6f 72 65 73 20 74 68 65 6d 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 and.stores.them.in..........the.
34f20 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 73 3c 2f 56 41 52 3e 2c 20 61 64 64 69 6e 67 20 61 20 6e string.<VAR>ws</VAR>,.adding.a.n
34f40 75 6c 6c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 65 ull.wide.character.to.mark.the.e
34f60 6e 64 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 2e 20 20 59 6f 75 20 nd.of.the..........string...You.
34f80 6d 75 73 74 20 73 75 70 70 6c 79 20 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 77 69 64 must.supply.<VAR>count</VAR>.wid
34fa0 65 20 63 68 61 72 61 63 74 65 72 73 20 77 6f 72 74 68 20 6f 66 20 73 70 61 63 65 20 69 6e 0a 20 e.characters.worth.of.space.in..
34fc0 20 20 20 20 20 20 20 20 3c 56 41 52 3e 77 73 3c 2f 56 41 52 3e 2c 20 62 75 74 20 74 68 65 20 6e ........<VAR>ws</VAR>,.but.the.n
34fe0 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 72 65 61 64 20 69 73 20 61 74 20 6d umber.of.characters.read.is.at.m
35000 6f 73 74 20 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 20 31 ost.<VAR>count</VAR>...........1
35020 2e 20 20 54 68 65 20 65 78 74 72 61 20 63 68 61 72 61 63 74 65 72 20 73 70 61 63 65 20 69 73 20 ...The.extra.character.space.is.
35040 75 73 65 64 20 74 6f 20 68 6f 6c 64 20 74 68 65 20 6e 75 6c 6c 20 77 69 64 65 0a 20 20 20 20 20 used.to.hold.the.null.wide......
35060 20 20 20 20 63 68 61 72 61 63 74 65 72 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 ....character.at.the.end.of.the.
35080 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 string...........<br><br>.If.the
350a0 20 73 79 73 74 65 6d 20 69 73 20 61 6c 72 65 61 64 79 20 61 74 20 65 6e 64 20 6f 66 20 66 69 6c .system.is.already.at.end.of.fil
350c0 65 20 77 68 65 6e 20 79 6f 75 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 66 67 65 74 77 73 3c 2f 43 4f e.when.you.call.<CODE>fgetws</CO
350e0 44 45 3e 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 DE>,.then..........the.contents.
35100 6f 66 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e 77 73 3c 2f 56 41 52 3e 20 61 72 65 20 75 of.the.array.<VAR>ws</VAR>.are.u
35120 6e 63 68 61 6e 67 65 64 20 61 6e 64 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 73 0a 20 nchanged.and.a.null.pointer.is..
35140 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 2e 20 20 41 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 ........returned...A.null.pointe
35160 72 20 69 73 20 61 6c 73 6f 20 72 65 74 75 72 6e 65 64 20 69 66 20 61 20 72 65 61 64 20 65 72 72 r.is.also.returned.if.a.read.err
35180 6f 72 20 6f 63 63 75 72 73 2e 0a 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 or.occurs...........Otherwise,.t
351a0 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 70 6f 69 6e 74 65 72 20 3c he.return.value.is.the.pointer.<
351c0 56 41 52 3e 77 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 VAR>ws</VAR>...........<br><br>.
351e0 57 61 72 6e 69 6e 67 3a 20 49 66 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 20 68 61 73 20 61 Warning:.If.the.input.data.has.a
35200 20 6e 75 6c 6c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 28 77 68 69 63 68 20 61 72 65 0a .null.wide.character.(which.are.
35220 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 20 62 79 74 65 73 20 69 6e 20 74 68 65 20 69 6e 70 75 74 .........null.bytes.in.the.input
35240 20 73 74 72 65 61 6d 29 2c 20 79 6f 75 20 63 61 6e 27 74 20 74 65 6c 6c 2e 20 20 53 6f 20 64 6f .stream),.you.can't.tell...So.do
35260 6e 27 74 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 67 65 74 77 73 3c 2f 43 n't.use..........<CODE>fgetws</C
35280 4f 44 45 3e 20 75 6e 6c 65 73 73 20 79 6f 75 20 6b 6e 6f 77 20 74 68 65 20 64 61 74 61 20 63 61 ODE>.unless.you.know.the.data.ca
352a0 6e 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 20 6e 75 6c 6c 2e 20 20 44 6f 6e 27 74 20 75 73 65 0a nnot.contain.a.null...Don't.use.
352c0 20 20 20 20 20 20 20 20 20 69 74 20 74 6f 20 72 65 61 64 20 66 69 6c 65 73 20 65 64 69 74 65 64 .........it.to.read.files.edited
352e0 20 62 79 20 74 68 65 20 75 73 65 72 20 62 65 63 61 75 73 65 2c 20 69 66 20 74 68 65 20 75 73 65 .by.the.user.because,.if.the.use
35300 72 20 69 6e 73 65 72 74 73 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 r.inserts.a.null..........charac
35320 74 65 72 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 65 69 74 68 65 72 20 68 61 6e 64 6c 65 20 69 74 ter,.you.should.either.handle.it
35340 20 70 72 6f 70 65 72 6c 79 20 6f 72 20 70 72 69 6e 74 20 61 20 63 6c 65 61 72 20 65 72 72 6f 72 .properly.or.print.a.clear.error
35360 0a 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 ..........message..........sq.~.
35380 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 09 3f 74 00 24 77 63 .....w.....t..wchar.hxq.~.?t.$wc
353a0 68 61 72 5f 74 20 2a 77 73 2c 20 69 6e 74 20 63 6f 75 6e 74 2c 20 46 49 4c 45 20 2a 73 74 72 65 har_t.*ws,.int.count,.FILE.*stre
353c0 61 6d 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 0f 66 67 65 74 77 73 5f 75 6e 6c 6f 63 6b 65 64 amt..wchar_t.*t..fgetws_unlocked
353e0 73 71 00 7e 00 0a 70 74 00 de 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 67 65 sq.~..pt...........The.<CODE>fge
35400 74 77 73 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 tws_unlocked</CODE>.function.is.
35420 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 67 65 74 77 73 3c 2f equivalent.to.the.<CODE>fgetws</
35440 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 CODE>..........function.except.t
35460 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 hat.it.does.not.implicitly.lock.
35480 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 the.stream...........<br><br>.Th
354a0 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a is.function.is.a.GNU.extension..
354c0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 ........sq.~......w.....t..wchar
354e0 2e 68 78 71 00 7e 09 46 74 00 24 77 63 68 61 72 5f 74 20 2a 77 73 2c 20 69 6e 74 20 63 6f 75 6e .hxq.~.Ft.$wchar_t.*ws,.int.coun
35500 74 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 06 66 69 t,.FILE.*streamt..wchar_t.*t..fi
35520 6c 65 6e 6f 73 71 00 7e 00 0a 70 74 01 25 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 lenosq.~..pt.%.........This.func
35540 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 tion.returns.the.file.descriptor
35560 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 20 .associated.with.the.stream.....
35580 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 49 66 20 61 6e 20 65 .....<VAR>stream</VAR>...If.an.e
355a0 72 72 6f 72 20 69 73 20 64 65 74 65 63 74 65 64 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 rror.is.detected.(for.example,.i
355c0 66 20 74 68 65 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 f.the.<VAR>stream</VAR>.........
355e0 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 29 20 6f 72 20 69 66 20 3c 56 41 52 3e 73 74 72 65 61 6d .is.not.valid).or.if.<VAR>stream
35600 3c 2f 56 41 52 3e 20 64 6f 65 73 20 6e 6f 74 20 64 6f 20 49 2f 4f 20 74 6f 20 61 20 66 69 6c 65 </VAR>.does.not.do.I/O.to.a.file
35620 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 69 6c 65 6e 6f 3c 2f 43 4f 44 45 3e 20 72 ,..........<CODE>fileno</CODE>.r
35640 65 74 75 72 6e 73 20 2d 31 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 eturns.-1..........sq.~......w..
35660 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 09 4d 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 ...t..stdio.hxq.~.Mt..FILE.*stre
35680 61 6d 74 00 03 69 6e 74 74 00 0f 66 69 6c 65 6e 6f 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a amt..intt..fileno_unlockedsq.~..
356a0 70 74 01 19 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 69 6c 65 6e 6f 5f 75 6e pt...........The.<CODE>fileno_un
356c0 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 locked</CODE>.function.is.equiva
356e0 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 69 6c 65 6e 6f 3c 2f 43 4f 44 45 3e 0a lent.to.the.<CODE>fileno</CODE>.
35700 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 .........function.except.that.it
35720 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 .does.not.implicitly.lock.the.st
35740 72 65 61 6d 20 69 66 20 74 68 65 20 73 74 61 74 65 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 ream.if.the.state..........is.<C
35760 4f 44 45 3e 46 53 45 54 4c 4f 43 4b 49 4e 47 5f 49 4e 54 45 52 4e 41 4c 3c 2f 43 4f 44 45 3e 2e ODE>FSETLOCKING_INTERNAL</CODE>.
35780 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e ..........<br><br>.This.function
357a0 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 .is.a.GNU.extension..........sq.
357c0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 09 54 74 00 0c ~......w.....t..stdio.hxq.~.Tt..
357e0 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 06 66 69 6e 69 74 65 73 71 00 7e 00 FILE.*streamt..intt..finitesq.~.
35800 0a 70 74 00 8b 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 .pt...........This.function.retu
35820 72 6e 73 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 rns.a.nonzero.value.if.<VAR>x</V
35840 41 52 3e 20 69 73 20 66 69 6e 69 74 65 20 6f 72 20 61 20 60 60 6e 6f 74 20 61 0a 20 20 20 20 20 AR>.is.finite.or.a.``not.a......
35860 20 20 20 20 6e 75 6d 62 65 72 27 27 20 76 61 6c 75 65 2c 20 61 6e 64 20 7a 65 72 6f 20 6f 74 68 ....number''.value,.and.zero.oth
35880 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a erwise..........sq.~......w.....
358a0 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 5b 74 00 08 64 6f 75 62 6c 65 20 78 74 00 03 69 6e 74 t..math.hxq.~.[t..double.xt..int
358c0 74 00 07 66 69 6e 69 74 65 66 73 71 00 7e 00 0a 70 74 00 8b 0a 20 20 20 20 20 20 20 20 54 68 69 t..finitefsq.~..pt...........Thi
358e0 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c s.function.returns.a.nonzero.val
35900 75 65 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 66 69 6e 69 74 65 20 6f 72 20 ue.if.<VAR>x</VAR>.is.finite.or.
35920 61 20 60 60 6e 6f 74 20 61 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 27 27 20 76 61 6c 75 a.``not.a..........number''.valu
35940 65 2c 20 61 6e 64 20 7a 65 72 6f 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 e,.and.zero.otherwise..........s
35960 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 62 74 00 q.~......w.....t..math.hxq.~.bt.
35980 07 66 6c 6f 61 74 20 78 74 00 03 69 6e 74 74 00 07 66 69 6e 69 74 65 6c 73 71 00 7e 00 0a 70 74 .float.xt..intt..finitelsq.~..pt
359a0 00 8b 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 ...........This.function.returns
359c0 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e .a.nonzero.value.if.<VAR>x</VAR>
359e0 20 69 73 20 66 69 6e 69 74 65 20 6f 72 20 61 20 60 60 6e 6f 74 20 61 0a 20 20 20 20 20 20 20 20 .is.finite.or.a.``not.a.........
35a00 20 6e 75 6d 62 65 72 27 27 20 76 61 6c 75 65 2c 20 61 6e 64 20 7a 65 72 6f 20 6f 74 68 65 72 77 .number''.value,.and.zero.otherw
35a20 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 ise..........sq.~......w.....t..
35a40 6d 61 74 68 2e 68 78 71 00 7e 09 69 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 03 69 math.hxq.~.it..long.double.xt..i
35a60 6e 74 74 00 09 66 6c 6f 63 6b 66 69 6c 65 73 71 00 7e 00 0a 70 74 01 e6 0a 20 20 20 20 20 20 20 ntt..flockfilesq.~..pt..........
35a80 20 54 68 65 20 3c 43 4f 44 45 3e 66 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 .The.<CODE>flockfile</CODE>.func
35aa0 74 69 6f 6e 20 61 63 71 75 69 72 65 73 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 6c 6f 63 6b 69 tion.acquires.the.internal.locki
35ac0 6e 67 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 ng.object..........associated.wi
35ae0 74 68 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e th.the.stream.<VAR>stream</VAR>.
35b00 20 20 54 68 69 73 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 6e 6f 20 6f 74 68 65 72 0a 20 20 20 ..This.ensures.that.no.other....
35b20 20 20 20 20 20 20 74 68 72 65 61 64 20 63 61 6e 20 65 78 70 6c 69 63 69 74 6c 79 20 74 68 72 6f ......thread.can.explicitly.thro
35b40 75 67 68 20 3c 43 4f 44 45 3e 66 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e 2f 3c 43 4f 44 45 ugh.<CODE>flockfile</CODE>/<CODE
35b60 3e 66 74 72 79 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 >ftrylockfile</CODE>.or.........
35b80 20 69 6d 70 6c 69 63 69 74 20 74 68 72 6f 75 67 68 20 61 20 63 61 6c 6c 20 6f 66 20 61 20 73 74 .implicit.through.a.call.of.a.st
35ba0 72 65 61 6d 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e 20 20 ream.function.lock.the.stream...
35bc0 54 68 65 0a 20 20 20 20 20 20 20 20 20 74 68 72 65 61 64 20 77 69 6c 6c 20 62 6c 6f 63 6b 20 75 The..........thread.will.block.u
35be0 6e 74 69 6c 20 74 68 65 20 6c 6f 63 6b 20 69 73 20 61 63 71 75 69 72 65 64 2e 20 20 41 6e 20 65 ntil.the.lock.is.acquired...An.e
35c00 78 70 6c 69 63 69 74 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 xplicit.call.to..........<CODE>f
35c20 75 6e 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e 20 68 61 73 20 74 6f 20 62 65 20 75 73 65 64 unlockfile</CODE>.has.to.be.used
35c40 20 74 6f 20 72 65 6c 65 61 73 65 20 74 68 65 20 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 73 71 .to.release.the.lock..........sq
35c60 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 09 70 74 00 .~......w.....t..stdio.hxq.~.pt.
35c80 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 04 76 6f 69 64 74 00 05 66 6c 6f 6f 72 73 71 00 7e .FILE.*streamt..voidt..floorsq.~
35ca0 00 0a 70 74 00 ff 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 ..pt...........These.functions.r
35cc0 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 64 6f 77 6e 77 61 72 64 73 20 74 6f 20 74 ound.<VAR>x</VAR>.downwards.to.t
35ce0 68 65 20 6e 65 61 72 65 73 74 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 67 65 72 2c 20 72 65 74 he.nearest..........integer,.ret
35d00 75 72 6e 69 6e 67 20 74 68 61 74 20 76 61 6c 75 65 20 61 73 20 61 20 3c 43 4f 44 45 3e 64 6f 75 urning.that.value.as.a.<CODE>dou
35d20 62 6c 65 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 3e 66 6c 6f 6f 72 0a 20 ble</CODE>...Thus,.<CODE>floor..
35d40 20 20 20 20 20 20 20 20 28 31 2e 35 29 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 31 2e ........(1.5)</CODE>.is.<CODE>1.
35d60 30 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 66 6c 6f 6f 72 20 28 2d 31 2e 35 29 3c 0</CODE>.and.<CODE>floor.(-1.5)<
35d80 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 2d 32 2e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 /CODE>.is.<CODE>-2.0</CODE>.....
35da0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 .....sq.~......w.....t..math.hxq
35dc0 00 7e 09 77 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 66 6c 6f 6f 72 .~.wt..double.xt..doublet..floor
35de0 66 73 71 00 7e 00 0a 70 74 00 ff 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 fsq.~..pt...........These.functi
35e00 6f 6e 73 20 72 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 64 6f 77 6e 77 61 72 64 73 ons.round.<VAR>x</VAR>.downwards
35e20 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 67 65 72 .to.the.nearest..........integer
35e40 2c 20 72 65 74 75 72 6e 69 6e 67 20 74 68 61 74 20 76 61 6c 75 65 20 61 73 20 61 20 3c 43 4f 44 ,.returning.that.value.as.a.<COD
35e60 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 3e 66 6c E>double</CODE>...Thus,.<CODE>fl
35e80 6f 6f 72 0a 20 20 20 20 20 20 20 20 20 28 31 2e 35 29 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f oor..........(1.5)</CODE>.is.<CO
35ea0 44 45 3e 31 2e 30 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 66 6c 6f 6f 72 20 28 2d DE>1.0</CODE>.and.<CODE>floor.(-
35ec0 31 2e 35 29 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 2d 32 2e 30 3c 2f 43 4f 44 45 3e 1.5)</CODE>.is.<CODE>-2.0</CODE>
35ee0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 ..........sq.~......w.....t..mat
35f00 68 2e 68 78 71 00 7e 09 7e 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 06 66 6c h.hxq.~.~t..float.xt..floatt..fl
35f20 6f 6f 72 6c 73 71 00 7e 00 0a 70 74 00 ff 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e oorlsq.~..pt...........These.fun
35f40 63 74 69 6f 6e 73 20 72 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 64 6f 77 6e 77 61 ctions.round.<VAR>x</VAR>.downwa
35f60 72 64 73 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 rds.to.the.nearest..........inte
35f80 67 65 72 2c 20 72 65 74 75 72 6e 69 6e 67 20 74 68 61 74 20 76 61 6c 75 65 20 61 73 20 61 20 3c ger,.returning.that.value.as.a.<
35fa0 43 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 CODE>double</CODE>...Thus,.<CODE
35fc0 3e 66 6c 6f 6f 72 0a 20 20 20 20 20 20 20 20 20 28 31 2e 35 29 3c 2f 43 4f 44 45 3e 20 69 73 20 >floor..........(1.5)</CODE>.is.
35fe0 3c 43 4f 44 45 3e 31 2e 30 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 66 6c 6f 6f 72 <CODE>1.0</CODE>.and.<CODE>floor
36000 20 28 2d 31 2e 35 29 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 2d 32 2e 30 3c 2f 43 4f .(-1.5)</CODE>.is.<CODE>-2.0</CO
36020 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 DE>..........sq.~......w.....t..
36040 6d 61 74 68 2e 68 78 71 00 7e 09 85 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c math.hxq.~..t..long.double.xt..l
36060 6f 6e 67 20 64 6f 75 62 6c 65 74 00 03 66 6d 61 73 71 00 7e 00 0a 70 74 04 b3 0a 20 20 20 20 20 ong.doublet..fmasq.~..pt........
36080 20 20 20 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 6d 61 3c 2f 43 4f 44 45 .............The.<CODE>fma</CODE
360a0 3e 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 >.function.performs.floating-poi
360c0 6e 74 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 nt.multiply-add...This.is.......
360e0 20 20 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 20 ...the.operation.(<VAR>x</VAR>..
36100 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 29 20 2b 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2c 20 62 75 <VAR>y</VAR>).+.<VAR>z</VAR>,.bu
36120 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 t.the..........intermediate.resu
36140 6c 74 20 69 73 20 6e 6f 74 20 72 6f 75 6e 64 65 64 20 74 6f 20 74 68 65 20 64 65 73 74 69 6e 61 lt.is.not.rounded.to.the.destina
36160 74 69 6f 6e 20 74 79 70 65 2e 20 20 54 68 69 73 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 73 6f tion.type...This.can..........so
36180 6d 65 74 69 6d 65 73 20 69 6d 70 72 6f 76 65 20 74 68 65 20 70 72 65 63 69 73 69 6f 6e 20 6f 66 metimes.improve.the.precision.of
361a0 20 61 20 63 61 6c 63 75 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .a.calculation...........<br><br
361c0 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 62 >.This.function.was.introduced.b
361e0 65 63 61 75 73 65 20 73 6f 6d 65 20 70 72 6f 63 65 73 73 6f 72 73 20 68 61 76 65 20 61 20 73 70 ecause.some.processors.have.a.sp
36200 65 63 69 61 6c 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 74 6f 20 70 65 ecial..........instruction.to.pe
36220 72 66 6f 72 6d 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 2e 20 20 54 68 65 20 43 20 63 6f 6d 70 69 rform.multiply-add...The.C.compi
36240 6c 65 72 20 63 61 6e 6e 6f 74 20 75 73 65 20 69 74 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 ler.cannot.use.it..........direc
36260 74 6c 79 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 73 61 6d tly,.because.the.expression.<sam
36280 70 3e 78 2a 79 20 2b 20 7a 3c 2f 73 61 6d 70 3e 20 69 73 20 64 65 66 69 6e 65 64 20 74 6f 20 72 p>x*y.+.z</samp>.is.defined.to.r
362a0 6f 75 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 ound.the..........intermediate.r
362c0 65 73 75 6c 74 2e 20 20 3c 43 4f 44 45 3e 66 6d 61 3c 2f 43 4f 44 45 3e 20 6c 65 74 73 20 79 6f esult...<CODE>fma</CODE>.lets.yo
362e0 75 20 63 68 6f 6f 73 65 20 77 68 65 6e 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 6f 75 6e 64 0a u.choose.when.you.want.to.round.
36300 20 20 20 20 20 20 20 20 20 6f 6e 6c 79 20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .........only.once...........<br
36320 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 4f 6e 20 70 72 6f 63 65 73 73 6f 72 73 20 77 68 ><br>...........On.processors.wh
36340 69 63 68 20 64 6f 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 20 6d 75 6c 74 69 70 6c 79 2d 61 64 ich.do.not.implement.multiply-ad
36360 64 20 69 6e 20 68 61 72 64 77 61 72 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 6d d.in.hardware,..........<CODE>fm
36380 61 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 76 65 72 79 20 73 6c 6f 77 20 73 69 6e 63 65 20 a</CODE>.can.be.very.slow.since.
363a0 69 74 20 6d 75 73 74 20 61 76 6f 69 64 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 6f 75 6e 64 it.must.avoid.intermediate.round
363c0 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 54 54 3e 6d 61 74 68 2e 68 3c 2f 54 54 3e 20 64 65 ing...........<TT>math.h</TT>.de
363e0 66 69 6e 65 73 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 3c 43 4f 44 45 3e 46 50 5f 46 41 53 54 5f fines.the.symbols.<CODE>FP_FAST_
36400 46 4d 41 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 46 50 5f 46 41 FMA</CODE>,..........<CODE>FP_FA
36420 53 54 5f 46 4d 41 46 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 46 50 5f 46 41 53 ST_FMAF</CODE>,.and.<CODE>FP_FAS
36440 54 5f 46 4d 41 4c 3c 2f 43 4f 44 45 3e 20 77 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e T_FMAL</CODE>.when.the.correspon
36460 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 66 ding..........version.of.<CODE>f
36480 6d 61 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 20 73 6c 6f 77 65 72 20 74 68 61 6e 20 74 68 65 20 ma</CODE>.is.no.slower.than.the.
364a0 65 78 70 72 65 73 73 69 6f 6e 20 3c 73 61 6d 70 3e 78 2a 79 20 2b 20 7a 3c 2f 73 61 6d 70 3e 2e expression.<samp>x*y.+.z</samp>.
364c0 0a 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 2c 20 ..........In.the.GNU.C.library,.
364e0 74 68 69 73 20 61 6c 77 61 79 73 20 6d 65 61 6e 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 this.always.means.the.operation.
36500 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 68 61 72 64 77 is.implemented.in..........hardw
36520 61 72 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 are..........sq.~......w.....t..
36540 6d 61 74 68 2e 68 78 71 00 7e 09 8c 74 00 1c 64 6f 75 62 6c 65 20 78 2c 20 64 6f 75 62 6c 65 20 math.hxq.~..t..double.x,.double.
36560 79 2c 20 64 6f 75 62 6c 65 20 7a 74 00 06 64 6f 75 62 6c 65 74 00 04 66 6d 61 66 73 71 00 7e 00 y,.double.zt..doublet..fmafsq.~.
36580 0a 70 74 04 b3 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 .pt.....................The.<COD
365a0 45 3e 66 6d 61 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 66 E>fma</CODE>.function.performs.f
365c0 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 2e 20 20 54 68 69 loating-point.multiply-add...Thi
365e0 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 56 41 s.is..........the.operation.(<VA
36600 52 3e 78 3c 2f 56 41 52 3e 20 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 29 20 2b 20 3c 56 41 52 3e R>x</VAR>..<VAR>y</VAR>).+.<VAR>
36620 7a 3c 2f 56 41 52 3e 2c 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6d z</VAR>,.but.the..........interm
36640 65 64 69 61 74 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 74 20 72 6f 75 6e 64 65 64 20 74 6f 20 ediate.result.is.not.rounded.to.
36660 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 20 20 54 68 69 73 20 63 61 6e 0a the.destination.type...This.can.
36680 20 20 20 20 20 20 20 20 20 73 6f 6d 65 74 69 6d 65 73 20 69 6d 70 72 6f 76 65 20 74 68 65 20 70 .........sometimes.improve.the.p
366a0 72 65 63 69 73 69 6f 6e 20 6f 66 20 61 20 63 61 6c 63 75 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 recision.of.a.calculation.......
366c0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 ....<br><br>.This.function.was.i
366e0 6e 74 72 6f 64 75 63 65 64 20 62 65 63 61 75 73 65 20 73 6f 6d 65 20 70 72 6f 63 65 73 73 6f 72 ntroduced.because.some.processor
36700 73 20 68 61 76 65 20 61 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 72 75 s.have.a.special..........instru
36720 63 74 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 6d 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 2e 20 20 ction.to.perform.multiply-add...
36740 54 68 65 20 43 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 6e 6f 74 20 75 73 65 20 69 74 0a 20 20 20 The.C.compiler.cannot.use.it....
36760 20 20 20 20 20 20 64 69 72 65 63 74 6c 79 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 65 78 70 72 ......directly,.because.the.expr
36780 65 73 73 69 6f 6e 20 3c 73 61 6d 70 3e 78 2a 79 20 2b 20 7a 3c 2f 73 61 6d 70 3e 20 69 73 20 64 ession.<samp>x*y.+.z</samp>.is.d
367a0 65 66 69 6e 65 64 20 74 6f 20 72 6f 75 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 efined.to.round.the..........int
367c0 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 2e 20 20 3c 43 4f 44 45 3e 66 6d 61 3c 2f 43 4f ermediate.result...<CODE>fma</CO
367e0 44 45 3e 20 6c 65 74 73 20 79 6f 75 20 63 68 6f 6f 73 65 20 77 68 65 6e 20 79 6f 75 20 77 61 6e DE>.lets.you.choose.when.you.wan
36800 74 20 74 6f 20 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 6f 6e 6c 79 20 6f 6e 63 65 2e 0a 20 t.to.round..........only.once...
36820 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 4f 6e 20 70 72 ........<br><br>...........On.pr
36840 6f 63 65 73 73 6f 72 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 20 ocessors.which.do.not.implement.
36860 6d 75 6c 74 69 70 6c 79 2d 61 64 64 20 69 6e 20 68 61 72 64 77 61 72 65 2c 0a 20 20 20 20 20 20 multiply-add.in.hardware,.......
36880 20 20 20 3c 43 4f 44 45 3e 66 6d 61 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 76 65 72 79 20 ...<CODE>fma</CODE>.can.be.very.
368a0 73 6c 6f 77 20 73 69 6e 63 65 20 69 74 20 6d 75 73 74 20 61 76 6f 69 64 20 69 6e 74 65 72 6d 65 slow.since.it.must.avoid.interme
368c0 64 69 61 74 65 20 72 6f 75 6e 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 54 54 3e 6d 61 74 diate.rounding...........<TT>mat
368e0 68 2e 68 3c 2f 54 54 3e 20 64 65 66 69 6e 65 73 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 3c 43 4f h.h</TT>.defines.the.symbols.<CO
36900 44 45 3e 46 50 5f 46 41 53 54 5f 46 4d 41 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 DE>FP_FAST_FMA</CODE>,..........
36920 3c 43 4f 44 45 3e 46 50 5f 46 41 53 54 5f 46 4d 41 46 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 3c <CODE>FP_FAST_FMAF</CODE>,.and.<
36940 43 4f 44 45 3e 46 50 5f 46 41 53 54 5f 46 4d 41 4c 3c 2f 43 4f 44 45 3e 20 77 68 65 6e 20 74 68 CODE>FP_FAST_FMAL</CODE>.when.th
36960 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e e.corresponding..........version
36980 20 6f 66 20 3c 43 4f 44 45 3e 66 6d 61 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 20 73 6c 6f 77 65 .of.<CODE>fma</CODE>.is.no.slowe
369a0 72 20 74 68 61 6e 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 73 61 6d 70 3e 78 2a 79 20 r.than.the.expression.<samp>x*y.
369c0 2b 20 7a 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 47 4e 55 20 +.z</samp>...........In.the.GNU.
369e0 43 20 6c 69 62 72 61 72 79 2c 20 74 68 69 73 20 61 6c 77 61 79 73 20 6d 65 61 6e 73 20 74 68 65 C.library,.this.always.means.the
36a00 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 0a 20 20 20 .operation.is.implemented.in....
36a20 20 20 20 20 20 20 68 61 72 64 77 61 72 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 ......hardware..........sq.~....
36a40 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 93 74 00 19 66 6c 6f 61 74 20 ..w.....t..math.hxq.~..t..float.
36a60 78 2c 20 66 6c 6f 61 74 20 79 2c 20 66 6c 6f 61 74 20 7a 74 00 05 66 6c 6f 61 74 74 00 04 66 6d x,.float.y,.float.zt..floatt..fm
36a80 61 6c 73 71 00 7e 00 0a 70 74 04 b3 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 54 alsq.~..pt.....................T
36aa0 68 65 20 3c 43 4f 44 45 3e 66 6d 61 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 he.<CODE>fma</CODE>.function.per
36ac0 66 6f 72 6d 73 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6d 75 6c 74 69 70 6c 79 2d 61 64 forms.floating-point.multiply-ad
36ae0 64 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 70 65 72 61 74 69 d...This.is..........the.operati
36b00 6f 6e 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 29 20 on.(<VAR>x</VAR>..<VAR>y</VAR>).
36b20 2b 20 3c 56 41 52 3e 7a 3c 2f 56 41 52 3e 2c 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 +.<VAR>z</VAR>,.but.the.........
36b40 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 74 20 72 6f 75 6e .intermediate.result.is.not.roun
36b60 64 65 64 20 74 6f 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 20 20 54 68 ded.to.the.destination.type...Th
36b80 69 73 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 73 6f 6d 65 74 69 6d 65 73 20 69 6d 70 72 6f 76 is.can..........sometimes.improv
36ba0 65 20 74 68 65 20 70 72 65 63 69 73 69 6f 6e 20 6f 66 20 61 20 63 61 6c 63 75 6c 61 74 69 6f 6e e.the.precision.of.a.calculation
36bc0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f ...........<br><br>.This.functio
36be0 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 62 65 63 61 75 73 65 20 73 6f 6d 65 20 70 72 n.was.introduced.because.some.pr
36c00 6f 63 65 73 73 6f 72 73 20 68 61 76 65 20 61 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 20 20 20 ocessors.have.a.special.........
36c20 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 6d 20 6d 75 6c 74 69 70 6c 79 .instruction.to.perform.multiply
36c40 2d 61 64 64 2e 20 20 54 68 65 20 43 20 63 6f 6d 70 69 6c 65 72 20 63 61 6e 6e 6f 74 20 75 73 65 -add...The.C.compiler.cannot.use
36c60 20 69 74 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6c 79 2c 20 62 65 63 61 75 73 65 20 74 .it..........directly,.because.t
36c80 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 73 61 6d 70 3e 78 2a 79 20 2b 20 7a 3c 2f 73 61 6d he.expression.<samp>x*y.+.z</sam
36ca0 70 3e 20 69 73 20 64 65 66 69 6e 65 64 20 74 6f 20 72 6f 75 6e 64 20 74 68 65 0a 20 20 20 20 20 p>.is.defined.to.round.the......
36cc0 20 20 20 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 2e 20 20 3c 43 4f 44 45 3e ....intermediate.result...<CODE>
36ce0 66 6d 61 3c 2f 43 4f 44 45 3e 20 6c 65 74 73 20 79 6f 75 20 63 68 6f 6f 73 65 20 77 68 65 6e 20 fma</CODE>.lets.you.choose.when.
36d00 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 6f 6e 6c 79 20 you.want.to.round..........only.
36d20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 once...........<br><br>.........
36d40 20 20 4f 6e 20 70 72 6f 63 65 73 73 6f 72 73 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 69 6d 70 ..On.processors.which.do.not.imp
36d60 6c 65 6d 65 6e 74 20 6d 75 6c 74 69 70 6c 79 2d 61 64 64 20 69 6e 20 68 61 72 64 77 61 72 65 2c lement.multiply-add.in.hardware,
36d80 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 6d 61 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 ..........<CODE>fma</CODE>.can.b
36da0 65 20 76 65 72 79 20 73 6c 6f 77 20 73 69 6e 63 65 20 69 74 20 6d 75 73 74 20 61 76 6f 69 64 20 e.very.slow.since.it.must.avoid.
36dc0 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 6f 75 6e 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 intermediate.rounding...........
36de0 3c 54 54 3e 6d 61 74 68 2e 68 3c 2f 54 54 3e 20 64 65 66 69 6e 65 73 20 74 68 65 20 73 79 6d 62 <TT>math.h</TT>.defines.the.symb
36e00 6f 6c 73 20 3c 43 4f 44 45 3e 46 50 5f 46 41 53 54 5f 46 4d 41 3c 2f 43 4f 44 45 3e 2c 0a 20 20 ols.<CODE>FP_FAST_FMA</CODE>,...
36e20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 46 50 5f 46 41 53 54 5f 46 4d 41 46 3c 2f 43 4f 44 45 3e .......<CODE>FP_FAST_FMAF</CODE>
36e40 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 46 50 5f 46 41 53 54 5f 46 4d 41 4c 3c 2f 43 4f 44 45 3e 20 ,.and.<CODE>FP_FAST_FMAL</CODE>.
36e60 77 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 when.the.corresponding..........
36e80 76 65 72 73 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 66 6d 61 3c 2f 43 4f 44 45 3e 20 69 73 20 6e version.of.<CODE>fma</CODE>.is.n
36ea0 6f 20 73 6c 6f 77 65 72 20 74 68 61 6e 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 73 61 o.slower.than.the.expression.<sa
36ec0 6d 70 3e 78 2a 79 20 2b 20 7a 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 74 mp>x*y.+.z</samp>...........In.t
36ee0 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 2c 20 74 68 69 73 20 61 6c 77 61 79 73 20 6d 65 he.GNU.C.library,.this.always.me
36f00 61 6e 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 ans.the.operation.is.implemented
36f20 20 69 6e 0a 20 20 20 20 20 20 20 20 20 68 61 72 64 77 61 72 65 2e 0a 20 20 20 20 20 20 20 20 73 .in..........hardware..........s
36f40 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 9a 74 00 q.~......w.....t..math.hxq.~..t.
36f60 2b 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 79 2c 20 6c +long.double.x,.long.double.y,.l
36f80 6f 6e 67 20 64 6f 75 62 6c 65 20 7a 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 66 6d 61 ong.double.zt..long.doublet..fma
36fa0 78 73 71 00 7e 00 0a 70 74 00 fd 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 6d xsq.~..pt...........The.<CODE>fm
36fc0 61 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 67 ax</CODE>.function.returns.the.g
36fe0 72 65 61 74 65 72 20 6f 66 20 74 68 65 20 74 77 6f 20 76 61 6c 75 65 73 20 3c 56 41 52 3e 78 3c reater.of.the.two.values.<VAR>x<
37000 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e /VAR>..........and.<VAR>y</VAR>.
37020 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 61 6e 20 61 72 67 75 6d 65 6e ..........<br><br>.If.an.argumen
37040 74 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 68 65 72 20 61 72 67 75 6d 65 6e 74 20 69 73 20 t.is.NaN,.the.other.argument.is.
37060 72 65 74 75 72 6e 65 64 2e 20 20 49 66 20 62 6f 74 68 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 returned...If.both.arguments....
37080 20 20 20 20 20 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a ......are.NaN,.NaN.is.returned..
370a0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e ........sq.~......w.....t..math.
370c0 68 78 71 00 7e 09 a1 74 00 12 64 6f 75 62 6c 65 20 78 2c 20 64 6f 75 62 6c 65 20 79 74 00 06 64 hxq.~..t..double.x,.double.yt..d
370e0 6f 75 62 6c 65 74 00 05 66 6d 61 78 66 73 71 00 7e 00 0a 70 74 00 fd 0a 20 20 20 20 20 20 20 20 oublet..fmaxfsq.~..pt...........
37100 54 68 65 20 3c 43 4f 44 45 3e 66 6d 61 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 The.<CODE>fmax</CODE>.function.r
37120 65 74 75 72 6e 73 20 74 68 65 20 67 72 65 61 74 65 72 20 6f 66 20 74 68 65 20 74 77 6f 20 76 61 eturns.the.greater.of.the.two.va
37140 6c 75 65 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c lues.<VAR>x</VAR>..........and.<
37160 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 VAR>y</VAR>...........<br><br>.I
37180 66 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 68 65 72 20 f.an.argument.is.NaN,.the.other.
371a0 61 72 67 75 6d 65 6e 74 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 49 66 20 62 6f 74 68 20 61 argument.is.returned...If.both.a
371c0 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 rguments..........are.NaN,.NaN.i
371e0 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 s.returned..........sq.~......w.
37200 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 a8 74 00 10 66 6c 6f 61 74 20 78 2c 20 66 ....t..math.hxq.~..t..float.x,.f
37220 6c 6f 61 74 20 79 74 00 05 66 6c 6f 61 74 74 00 05 66 6d 61 78 6c 73 71 00 7e 00 0a 70 74 00 fd loat.yt..floatt..fmaxlsq.~..pt..
37240 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 6d 61 78 3c 2f 43 4f 44 45 3e 20 66 .........The.<CODE>fmax</CODE>.f
37260 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 67 72 65 61 74 65 72 20 6f 66 20 74 unction.returns.the.greater.of.t
37280 68 65 20 74 77 6f 20 76 61 6c 75 65 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 he.two.values.<VAR>x</VAR>......
372a0 20 20 20 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c ....and.<VAR>y</VAR>...........<
372c0 62 72 3e 3c 62 72 3e 20 49 66 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 4e 61 4e 2c 20 74 br><br>.If.an.argument.is.NaN,.t
372e0 68 65 20 6f 74 68 65 72 20 61 72 67 75 6d 65 6e 74 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 he.other.argument.is.returned...
37300 49 66 20 62 6f 74 68 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 4e If.both.arguments..........are.N
37320 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 aN,.NaN.is.returned..........sq.
37340 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 af 74 00 1c 6c ~......w.....t..math.hxq.~..t..l
37360 6f 6e 67 20 64 6f 75 62 6c 65 20 78 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 79 74 00 0b 6c 6f ong.double.x,.long.double.yt..lo
37380 6e 67 20 64 6f 75 62 6c 65 74 00 08 66 6d 65 6d 6f 70 65 6e 73 71 00 7e 00 0a 70 74 07 5d 0a 20 ng.doublet..fmemopensq.~..pt.]..
373a0 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 73 20 61 20 73 74 72 .......This.function.opens.a.str
373c0 65 61 6d 20 74 68 61 74 20 61 6c 6c 6f 77 73 20 74 68 65 20 61 63 63 65 73 73 20 73 70 65 63 69 eam.that.allows.the.access.speci
373e0 66 69 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6f 70 65 6e 74 79 fied.by.the..........<VAR>openty
37400 70 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 61 74 20 72 65 61 64 73 20 66 72 pe</VAR>.argument,.that.reads.fr
37420 6f 6d 20 6f 72 20 77 72 69 74 65 73 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 73 70 65 63 69 om.or.writes.to.the.buffer.speci
37440 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 fied..........by.the.argument.<V
37460 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 61 72 72 61 79 20 6d 75 73 74 20 62 AR>buf</VAR>...This.array.must.b
37480 65 20 61 74 20 6c 65 61 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 e.at.least.<VAR>size</VAR>.bytes
374a0 20 6c 6f 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 .long...........<br><br>.If.you.
374c0 73 70 65 63 69 66 79 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 61 73 20 74 68 65 20 3c 56 specify.a.null.pointer.as.the.<V
374e0 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2c 20 3c 43 4f 44 45 3e 66 6d 65 AR>buf</VAR>.argument,.<CODE>fme
37500 6d 6f 70 65 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 64 79 6e 61 6d 69 63 61 6c 6c mopen</CODE>..........dynamicall
37520 79 20 61 6c 6c 6f 63 61 74 65 73 20 61 6e 20 61 72 72 61 79 20 3c 56 41 52 3e 73 69 7a 65 3c 2f y.allocates.an.array.<VAR>size</
37540 56 41 52 3e 20 62 79 74 65 73 20 6c 6f 6e 67 20 28 61 73 20 77 69 74 68 20 3c 43 4f 44 45 3e 6d VAR>.bytes.long.(as.with.<CODE>m
37560 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 3b 0a 20 20 20 20 20 20 20 20 20 29 2e 20 20 54 68 69 73 20 alloc</CODE>;..........)...This.
37580 69 73 20 72 65 61 6c 6c 79 20 6f 6e 6c 79 20 75 73 65 66 75 6c 0a 20 20 20 20 20 20 20 20 20 69 is.really.only.useful..........i
375a0 66 20 79 6f 75 20 61 72 65 20 67 6f 69 6e 67 20 74 6f 20 77 72 69 74 65 20 74 68 69 6e 67 73 20 f.you.are.going.to.write.things.
375c0 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 61 6e 64 20 74 68 65 6e 20 72 65 61 64 20 74 68 65 6d to.the.buffer.and.then.read.them
375e0 20 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 69 6e 20 61 67 61 69 6e 2c 20 62 65 63 61 75 73 65 .back..........in.again,.because
37600 20 79 6f 75 20 68 61 76 65 20 6e 6f 20 77 61 79 20 6f 66 20 61 63 74 75 61 6c 6c 79 20 67 65 74 .you.have.no.way.of.actually.get
37620 74 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 ting.a.pointer.to.the..........b
37640 75 66 66 65 72 20 28 66 6f 72 20 74 68 69 73 2c 20 74 72 79 20 3c 43 4f 44 45 3e 6f 70 65 6e 5f uffer.(for.this,.try.<CODE>open_
37660 6d 65 6d 73 74 72 65 61 6d 3c 2f 43 4f 44 45 3e 2c 20 62 65 6c 6f 77 29 2e 20 20 54 68 65 20 62 memstream</CODE>,.below)...The.b
37680 75 66 66 65 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 66 72 65 65 64 20 77 68 65 6e 20 74 68 65 uffer.is..........freed.when.the
376a0 20 73 74 72 65 61 6d 20 69 73 20 63 6c 6f 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .stream.is.closed...........<br>
376c0 3c 62 72 3e 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 6f 70 65 6e 74 79 70 65 3c <br>.The.argument.<VAR>opentype<
376e0 2f 56 41 52 3e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6e 20 3c 43 4f 44 45 3e 66 6f /VAR>.is.the.same.as.in.<CODE>fo
37700 70 65 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 2e 20 20 49 66 20 74 68 65 20 3c 56 pen</CODE>.............If.the.<V
37720 41 52 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 0a 20 20 20 20 AR>opentype</VAR>.specifies.....
37740 20 20 20 20 20 61 70 70 65 6e 64 20 6d 6f 64 65 2c 20 74 68 65 6e 20 74 68 65 20 69 6e 69 74 69 .....append.mode,.then.the.initi
37760 61 6c 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 73 65 74 20 74 6f 20 74 68 65 20 66 al.file.position.is.set.to.the.f
37780 69 72 73 74 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 irst.null..........character.in.
377a0 74 68 65 20 62 75 66 66 65 72 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 69 6e 69 74 69 the.buffer...Otherwise.the.initi
377c0 61 6c 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 61 74 20 74 68 65 0a 20 20 20 20 20 al.file.position.is.at.the......
377e0 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2e 0a 20 20 20 ....beginning.of.the.buffer.....
37800 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 61 20 73 74 72 65 61 6d 20 6f 70 65 ......<br><br>.When.a.stream.ope
37820 6e 20 66 6f 72 20 77 72 69 74 69 6e 67 20 69 73 20 66 6c 75 73 68 65 64 20 6f 72 20 63 6c 6f 73 n.for.writing.is.flushed.or.clos
37840 65 64 2c 20 61 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 28 7a ed,.a.null.character..........(z
37860 65 72 6f 20 62 79 74 65 29 20 69 73 20 77 72 69 74 74 65 6e 20 61 74 20 74 68 65 20 65 6e 64 20 ero.byte).is.written.at.the.end.
37880 6f 66 20 74 68 65 20 62 75 66 66 65 72 20 69 66 20 69 74 20 66 69 74 73 2e 20 20 59 6f 75 0a 20 of.the.buffer.if.it.fits...You..
378a0 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 61 64 64 20 61 6e 20 65 78 74 72 61 20 62 79 74 65 ........should.add.an.extra.byte
378c0 20 74 6f 20 74 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 .to.the.<VAR>size</VAR>.argument
378e0 20 74 6f 20 61 63 63 6f 75 6e 74 20 66 6f 72 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 20 41 .to.account.for.this...........A
37900 74 74 65 6d 70 74 73 20 74 6f 20 77 72 69 74 65 20 6d 6f 72 65 20 74 68 61 6e 20 3c 56 41 52 3e ttempts.to.write.more.than.<VAR>
37920 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 72 size</VAR>.bytes.to.the.buffer.r
37940 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 69 6e 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 esult..........in.an.error......
37960 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 61 20 73 74 72 65 61 6d 20 6f 70 65 6e 20 .....<br><br>.For.a.stream.open.
37980 66 6f 72 20 72 65 61 64 69 6e 67 2c 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 28 7a 65 for.reading,.null.characters.(ze
379a0 72 6f 20 62 79 74 65 73 29 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 ro.bytes).in.the..........buffer
379c0 20 64 6f 20 6e 6f 74 20 63 6f 75 6e 74 20 61 73 20 60 60 65 6e 64 20 6f 66 20 66 69 6c 65 27 27 .do.not.count.as.``end.of.file''
379e0 2e 20 20 52 65 61 64 20 6f 70 65 72 61 74 69 6f 6e 73 20 69 6e 64 69 63 61 74 65 20 65 6e 64 20 ...Read.operations.indicate.end.
37a00 6f 66 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 66 of..........file.only.when.the.f
37a20 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 61 64 76 61 6e 63 65 73 20 70 61 73 74 20 3c 56 41 52 3e ile.position.advances.past.<VAR>
37a40 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 2e 20 20 53 6f 2c 20 69 66 0a 20 20 20 20 20 20 size</VAR>.bytes...So,.if.......
37a60 20 20 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 61 64 20 63 68 61 72 61 63 74 65 72 73 20 66 ...you.want.to.read.characters.f
37a80 72 6f 6d 20 61 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 74 72 69 6e 67 2c 20 79 6f rom.a.null-terminated.string,.yo
37aa0 75 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 73 75 70 70 6c 79 20 74 68 65 20 6c 65 6e u.should..........supply.the.len
37ac0 67 74 68 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 61 73 20 74 68 65 20 3c 56 41 52 3e 73 69 gth.of.the.string.as.the.<VAR>si
37ae0 7a 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 ze</VAR>.argument..........sq.~.
37b00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 09 b6 74 00 2c 76 6f .....w.....t..stdio.hxq.~..t.,vo
37b20 69 64 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 id.*buf,.size_t.size,.const.char
37b40 20 2a 6f 70 65 6e 74 79 70 65 74 00 06 46 49 4c 45 20 2a 74 00 04 66 6d 69 6e 73 71 00 7e 00 0a .*opentypet..FILE.*t..fminsq.~..
37b60 70 74 01 b1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 6d 69 6e 3c 2f 43 4f 44 pt...........The.<CODE>fmin</COD
37b80 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 73 73 65 72 20 6f E>.function.returns.the.lesser.o
37ba0 66 20 74 68 65 20 74 77 6f 20 76 61 6c 75 65 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 f.the.two.values.<VAR>x</VAR>...
37bc0 20 20 20 20 20 20 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 49 74 20 69 73 20 .......and.<VAR>y</VAR>...It.is.
37be0 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 similar.to.the.expression.......
37c00 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 28 28 78 29 20 3c 20 28 79 29 ...<pre><br>..........((x).<.(y)
37c20 20 3f 20 28 78 29 20 3a 20 28 79 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 .?.(x).:.(y))<br>..........</pre
37c40 3e 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 61 74 20 3c 56 41 52 3e 78 3c 2f 56 >..........except.that.<VAR>x</V
37c60 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 6f 6e 6c 79 20 65 76 AR>.and.<VAR>y</VAR>.are.only.ev
37c80 61 6c 75 61 74 65 64 20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 aluated.once...........<br><br>.
37ca0 49 66 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 68 65 72 If.an.argument.is.NaN,.the.other
37cc0 20 61 72 67 75 6d 65 6e 74 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 49 66 20 62 6f 74 68 20 .argument.is.returned...If.both.
37ce0 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 arguments..........are.NaN,.NaN.
37d00 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 is.returned..........sq.~......w
37d20 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 bd 74 00 12 64 6f 75 62 6c 65 20 78 2c .....t..math.hxq.~..t..double.x,
37d40 20 64 6f 75 62 6c 65 20 79 74 00 06 64 6f 75 62 6c 65 74 00 05 66 6d 69 6e 66 73 71 00 7e 00 0a .double.yt..doublet..fminfsq.~..
37d60 70 74 01 b1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 6d 69 6e 3c 2f 43 4f 44 pt...........The.<CODE>fmin</COD
37d80 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 73 73 65 72 20 6f E>.function.returns.the.lesser.o
37da0 66 20 74 68 65 20 74 77 6f 20 76 61 6c 75 65 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 f.the.two.values.<VAR>x</VAR>...
37dc0 20 20 20 20 20 20 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 49 74 20 69 73 20 .......and.<VAR>y</VAR>...It.is.
37de0 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 similar.to.the.expression.......
37e00 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 28 28 78 29 20 3c 20 28 79 29 ...<pre><br>..........((x).<.(y)
37e20 20 3f 20 28 78 29 20 3a 20 28 79 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 .?.(x).:.(y))<br>..........</pre
37e40 3e 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 61 74 20 3c 56 41 52 3e 78 3c 2f 56 >..........except.that.<VAR>x</V
37e60 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 6f 6e 6c 79 20 65 76 AR>.and.<VAR>y</VAR>.are.only.ev
37e80 61 6c 75 61 74 65 64 20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 aluated.once...........<br><br>.
37ea0 49 66 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 68 65 72 If.an.argument.is.NaN,.the.other
37ec0 20 61 72 67 75 6d 65 6e 74 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 49 66 20 62 6f 74 68 20 .argument.is.returned...If.both.
37ee0 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 arguments..........are.NaN,.NaN.
37f00 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 is.returned..........sq.~......w
37f20 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 c4 74 00 10 66 6c 6f 61 74 20 78 2c 20 .....t..math.hxq.~..t..float.x,.
37f40 66 6c 6f 61 74 20 79 74 00 05 66 6c 6f 61 74 74 00 05 66 6d 69 6e 6c 73 71 00 7e 00 0a 70 74 01 float.yt..floatt..fminlsq.~..pt.
37f60 b1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 6d 69 6e 3c 2f 43 4f 44 45 3e 20 ..........The.<CODE>fmin</CODE>.
37f80 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 73 73 65 72 20 6f 66 20 74 function.returns.the.lesser.of.t
37fa0 68 65 20 74 77 6f 20 76 61 6c 75 65 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 he.two.values.<VAR>x</VAR>......
37fc0 20 20 20 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 49 74 20 69 73 20 73 69 6d ....and.<VAR>y</VAR>...It.is.sim
37fe0 69 6c 61 72 20 74 6f 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 ilar.to.the.expression..........
38000 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 28 28 78 29 20 3c 20 28 79 29 20 3f 20 <pre><br>..........((x).<.(y).?.
38020 28 78 29 20 3a 20 28 79 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 (x).:.(y))<br>..........</pre>..
38040 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 61 74 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e ........except.that.<VAR>x</VAR>
38060 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 61 72 65 20 6f 6e 6c 79 20 65 76 61 6c 75 .and.<VAR>y</VAR>.are.only.evalu
38080 61 74 65 64 20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 ated.once...........<br><br>.If.
380a0 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 68 65 72 20 61 72 an.argument.is.NaN,.the.other.ar
380c0 67 75 6d 65 6e 74 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 49 66 20 62 6f 74 68 20 61 72 67 gument.is.returned...If.both.arg
380e0 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 uments..........are.NaN,.NaN.is.
38100 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 returned..........sq.~......w...
38120 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 cb 74 00 1c 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 ..t..math.hxq.~..t..long.double.
38140 78 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 79 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 x,.long.double.yt..long.doublet.
38160 04 66 6d 6f 64 73 71 00 7e 00 0a 70 74 03 05 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 .fmodsq.~..pt...........These.fu
38180 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20 66 72 nctions.compute.the.remainder.fr
381a0 6f 6d 20 74 68 65 20 64 69 76 69 73 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 om.the.division.of..........<VAR
381c0 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 62 79 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e >numerator</VAR>.by.<VAR>denomin
381e0 61 74 6f 72 3c 2f 56 41 52 3e 2e 20 20 53 70 65 63 69 66 69 63 61 6c 6c 79 2c 20 74 68 65 20 72 ator</VAR>...Specifically,.the.r
38200 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 3c 56 eturn.value.is..........<CODE><V
38220 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 2d 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 AR>numerator</VAR>.-.<VAR>n</VAR
38240 3e 20 2a 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 >.*.<VAR>denominator</VAR></CODE
38260 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 >,.where.<VAR>n</VAR>..........i
38280 73 20 74 68 65 20 71 75 6f 74 69 65 6e 74 20 6f 66 20 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 s.the.quotient.of.<VAR>numerator
382a0 3c 2f 56 41 52 3e 20 64 69 76 69 64 65 64 20 62 79 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 </VAR>.divided.by.<VAR>denominat
382c0 6f 72 3c 2f 56 41 52 3e 2c 20 72 6f 75 6e 64 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 77 61 72 or</VAR>,.rounded..........towar
382e0 64 73 20 7a 65 72 6f 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2e 20 20 54 68 75 73 2c 20 3c 43 ds.zero.to.an.integer...Thus,.<C
38300 4f 44 45 3e 66 6d 6f 64 20 28 36 2e 35 2c 20 32 2e 33 29 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 ODE>fmod.(6.5,.2.3)</CODE>.retur
38320 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 2e 39 3c 2f 43 4f 44 45 3e 2c 20 77 68 ns..........<CODE>1.9</CODE>,.wh
38340 69 63 68 20 69 73 20 3c 43 4f 44 45 3e 36 2e 35 3c 2f 43 4f 44 45 3e 20 6d 69 6e 75 73 20 3c 43 ich.is.<CODE>6.5</CODE>.minus.<C
38360 4f 44 45 3e 34 2e 36 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ODE>4.6</CODE>...........<br><br
38380 3e 20 54 68 65 20 72 65 73 75 6c 74 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 73 69 67 6e 20 61 >.The.result.has.the.same.sign.a
383a0 73 20 74 68 65 20 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 61 6e 64 20 68 s.the.<VAR>numerator</VAR>.and.h
383c0 61 73 20 6d 61 67 6e 69 74 75 64 65 0a 20 20 20 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 as.magnitude..........less.than.
383e0 74 68 65 20 6d 61 67 6e 69 74 75 64 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 the.magnitude.of.the.<VAR>denomi
38400 6e 61 74 6f 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 nator</VAR>...........<br><br>.I
38420 66 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f f.<VAR>denominator</VAR>.is.zero
38440 2c 20 3c 43 4f 44 45 3e 66 6d 6f 64 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f ,.<CODE>fmod</CODE>.signals.a.do
38460 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 main.error..........sq.~......w.
38480 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 d2 74 00 24 64 6f 75 62 6c 65 20 6e 75 6d ....t..math.hxq.~..t.$double.num
384a0 65 72 61 74 6f 72 2c 20 64 6f 75 62 6c 65 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 74 00 06 64 6f 75 erator,.double.denominatort..dou
384c0 62 6c 65 74 00 05 66 6d 6f 64 66 73 71 00 7e 00 0a 70 74 03 05 0a 20 20 20 20 20 20 20 20 54 68 blet..fmodfsq.~..pt...........Th
384e0 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 72 65 6d 61 69 6e ese.functions.compute.the.remain
38500 64 65 72 20 66 72 6f 6d 20 74 68 65 20 64 69 76 69 73 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 der.from.the.division.of........
38520 20 20 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 62 79 20 3c 56 41 52 3e 64 ..<VAR>numerator</VAR>.by.<VAR>d
38540 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2e 20 20 53 70 65 63 69 66 69 63 61 6c 6c 79 2c enominator</VAR>...Specifically,
38560 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 .the.return.value.is..........<C
38580 4f 44 45 3e 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 2d 20 3c 56 41 52 3e ODE><VAR>numerator</VAR>.-.<VAR>
385a0 6e 3c 2f 56 41 52 3e 20 2a 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e n</VAR>.*.<VAR>denominator</VAR>
385c0 3c 2f 43 4f 44 45 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 0a 20 20 20 20 </CODE>,.where.<VAR>n</VAR>.....
385e0 20 20 20 20 20 69 73 20 74 68 65 20 71 75 6f 74 69 65 6e 74 20 6f 66 20 3c 56 41 52 3e 6e 75 6d .....is.the.quotient.of.<VAR>num
38600 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 64 69 76 69 64 65 64 20 62 79 20 3c 56 41 52 3e 64 65 6e erator</VAR>.divided.by.<VAR>den
38620 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 72 6f 75 6e 64 65 64 0a 20 20 20 20 20 20 20 20 ominator</VAR>,.rounded.........
38640 20 74 6f 77 61 72 64 73 20 7a 65 72 6f 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2e 20 20 54 68 .towards.zero.to.an.integer...Th
38660 75 73 2c 20 3c 43 4f 44 45 3e 66 6d 6f 64 20 28 36 2e 35 2c 20 32 2e 33 29 3c 2f 43 4f 44 45 3e us,.<CODE>fmod.(6.5,.2.3)</CODE>
38680 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 2e 39 3c 2f 43 4f 44 .returns..........<CODE>1.9</COD
386a0 45 3e 2c 20 77 68 69 63 68 20 69 73 20 3c 43 4f 44 45 3e 36 2e 35 3c 2f 43 4f 44 45 3e 20 6d 69 E>,.which.is.<CODE>6.5</CODE>.mi
386c0 6e 75 73 20 3c 43 4f 44 45 3e 34 2e 36 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c nus.<CODE>4.6</CODE>...........<
386e0 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 73 75 6c 74 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 br><br>.The.result.has.the.same.
38700 73 69 67 6e 20 61 73 20 74 68 65 20 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e sign.as.the.<VAR>numerator</VAR>
38720 20 61 6e 64 20 68 61 73 20 6d 61 67 6e 69 74 75 64 65 0a 20 20 20 20 20 20 20 20 20 6c 65 73 73 .and.has.magnitude..........less
38740 20 74 68 61 6e 20 74 68 65 20 6d 61 67 6e 69 74 75 64 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e .than.the.magnitude.of.the.<VAR>
38760 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e denominator</VAR>...........<br>
38780 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 20 69 <br>.If.<VAR>denominator</VAR>.i
387a0 73 20 7a 65 72 6f 2c 20 3c 43 4f 44 45 3e 66 6d 6f 64 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c s.zero,.<CODE>fmod</CODE>.signal
387c0 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f s.a.domain.error..........sq.~..
387e0 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 d9 74 00 22 66 6c 6f 61 ....w.....t..math.hxq.~..t."floa
38800 74 20 6e 75 6d 65 72 61 74 6f 72 2c 20 66 6c 6f 61 74 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 74 00 t.numerator,.float.denominatort.
38820 05 66 6c 6f 61 74 74 00 05 66 6d 6f 64 6c 73 71 00 7e 00 0a 70 74 03 05 0a 20 20 20 20 20 20 20 .floatt..fmodlsq.~..pt..........
38840 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 72 65 6d .These.functions.compute.the.rem
38860 61 69 6e 64 65 72 20 66 72 6f 6d 20 74 68 65 20 64 69 76 69 73 69 6f 6e 20 6f 66 0a 20 20 20 20 ainder.from.the.division.of.....
38880 20 20 20 20 20 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 62 79 20 3c 56 41 .....<VAR>numerator</VAR>.by.<VA
388a0 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2e 20 20 53 70 65 63 69 66 69 63 61 6c R>denominator</VAR>...Specifical
388c0 6c 79 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 ly,.the.return.value.is.........
388e0 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 2d 20 3c 56 .<CODE><VAR>numerator</VAR>.-.<V
38900 41 52 3e 6e 3c 2f 56 41 52 3e 20 2a 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 AR>n</VAR>.*.<VAR>denominator</V
38920 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 0a 20 AR></CODE>,.where.<VAR>n</VAR>..
38940 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20 71 75 6f 74 69 65 6e 74 20 6f 66 20 3c 56 41 52 3e ........is.the.quotient.of.<VAR>
38960 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 41 52 3e 20 64 69 76 69 64 65 64 20 62 79 20 3c 56 41 52 3e numerator</VAR>.divided.by.<VAR>
38980 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2c 20 72 6f 75 6e 64 65 64 0a 20 20 20 20 20 denominator</VAR>,.rounded......
389a0 20 20 20 20 74 6f 77 61 72 64 73 20 7a 65 72 6f 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2e 20 ....towards.zero.to.an.integer..
389c0 20 54 68 75 73 2c 20 3c 43 4f 44 45 3e 66 6d 6f 64 20 28 36 2e 35 2c 20 32 2e 33 29 3c 2f 43 4f .Thus,.<CODE>fmod.(6.5,.2.3)</CO
389e0 44 45 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 2e 39 3c 2f DE>.returns..........<CODE>1.9</
38a00 43 4f 44 45 3e 2c 20 77 68 69 63 68 20 69 73 20 3c 43 4f 44 45 3e 36 2e 35 3c 2f 43 4f 44 45 3e CODE>,.which.is.<CODE>6.5</CODE>
38a20 20 6d 69 6e 75 73 20 3c 43 4f 44 45 3e 34 2e 36 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 .minus.<CODE>4.6</CODE>.........
38a40 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 73 75 6c 74 20 68 61 73 20 74 68 65 20 73 61 ..<br><br>.The.result.has.the.sa
38a60 6d 65 20 73 69 67 6e 20 61 73 20 74 68 65 20 3c 56 41 52 3e 6e 75 6d 65 72 61 74 6f 72 3c 2f 56 me.sign.as.the.<VAR>numerator</V
38a80 41 52 3e 20 61 6e 64 20 68 61 73 20 6d 61 67 6e 69 74 75 64 65 0a 20 20 20 20 20 20 20 20 20 6c AR>.and.has.magnitude..........l
38aa0 65 73 73 20 74 68 61 6e 20 74 68 65 20 6d 61 67 6e 69 74 75 64 65 20 6f 66 20 74 68 65 20 3c 56 ess.than.the.magnitude.of.the.<V
38ac0 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c AR>denominator</VAR>...........<
38ae0 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 56 41 52 br><br>.If.<VAR>denominator</VAR
38b00 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 43 4f 44 45 3e 66 6d 6f 64 3c 2f 43 4f 44 45 3e 20 73 69 67 >.is.zero,.<CODE>fmod</CODE>.sig
38b20 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 nals.a.domain.error..........sq.
38b40 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 09 e0 74 00 2e 6c ~......w.....t..math.hxq.~..t..l
38b60 6f 6e 67 20 64 6f 75 62 6c 65 20 6e 75 6d 65 72 61 74 6f 72 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c ong.double.numerator,.long.doubl
38b80 65 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 06 66 6d e.denominatort..long.doublet..fm
38ba0 74 6d 73 67 73 71 00 7e 00 0a 70 74 0e e0 0a 20 20 20 20 20 20 20 20 44 69 73 70 6c 61 79 20 61 tmsgsq.~..pt...........Display.a
38bc0 20 6d 65 73 73 61 67 65 20 64 65 73 63 72 69 62 65 64 20 62 79 20 69 74 73 20 70 61 72 61 6d 65 .message.described.by.its.parame
38be0 74 65 72 73 20 6f 6e 20 74 68 65 20 64 65 76 69 63 65 28 73 29 20 73 70 65 63 69 66 69 65 64 0a ters.on.the.device(s).specified.
38c00 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 63 6c 61 73 73 69 66 69 63 61 74 .........in.the.<VAR>classificat
38c20 69 6f 6e 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 20 54 68 65 20 3c 56 41 52 3e 6c ion</VAR>.parameter...The.<VAR>l
38c40 61 62 65 6c 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 20 69 64 abel</VAR>.parameter..........id
38c60 65 6e 74 69 66 69 65 73 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 6d 65 73 73 61 entifies.the.source.of.the.messa
38c80 67 65 2e 20 20 54 68 65 20 73 74 72 69 6e 67 20 73 68 6f 75 6c 64 20 63 6f 6e 73 69 73 74 20 6f ge...The.string.should.consist.o
38ca0 66 20 74 77 6f 0a 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 6e 20 73 65 70 61 72 61 74 65 64 20 70 f.two..........colon.separated.p
38cc0 61 72 74 73 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 70 61 72 74 20 68 61 73 20 6e 6f arts.where.the.first.part.has.no
38ce0 74 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 t.more.than.10.and.the..........
38d00 73 65 63 6f 6e 64 20 70 61 72 74 20 6e 6f 74 20 6d 6f 72 65 20 74 68 61 6e 20 31 34 20 63 68 61 second.part.not.more.than.14.cha
38d20 72 61 63 74 65 72 73 2e 20 20 54 68 65 20 3c 56 41 52 3e 74 65 78 74 3c 2f 56 41 52 3e 20 70 61 racters...The.<VAR>text</VAR>.pa
38d40 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 63 rameter..........describes.the.c
38d60 6f 6e 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 72 72 6f 72 2c 20 74 68 65 20 3c 56 41 52 3e ondition.of.the.error,.the.<VAR>
38d80 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 70 6f 73 73 69 62 6c 65 0a action</VAR>.parameter.possible.
38da0 20 20 20 20 20 20 20 20 20 73 74 65 70 73 20 74 6f 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 74 .........steps.to.recover.from.t
38dc0 68 65 20 65 72 72 6f 72 20 61 6e 64 20 74 68 65 20 3c 56 41 52 3e 74 61 67 3c 2f 56 41 52 3e 20 he.error.and.the.<VAR>tag</VAR>.
38de0 70 61 72 61 6d 65 74 65 72 20 69 73 20 61 0a 20 20 20 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 parameter.is.a..........referenc
38e00 65 20 74 6f 20 74 68 65 20 6f 6e 6c 69 6e 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 77 68 e.to.the.online.documentation.wh
38e20 65 72 65 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 63 61 6e 20 62 65 0a 20 20 20 20 ere.more.information.can.be.....
38e40 20 20 20 20 20 66 6f 75 6e 64 2e 20 20 49 74 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 74 .....found...It.should.contain.t
38e60 68 65 20 3c 56 41 52 3e 6c 61 62 65 6c 3c 2f 56 41 52 3e 20 76 61 6c 75 65 20 61 6e 64 20 61 20 he.<VAR>label</VAR>.value.and.a.
38e80 75 6e 69 71 75 65 0a 20 20 20 20 20 20 20 20 20 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 20 6e unique..........identification.n
38ea0 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 45 61 63 68 20 6f 66 umber...........<br><br>.Each.of
38ec0 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 63 61 6e 20 62 65 20 61 20 73 70 65 63 69 61 6c .the.parameters.can.be.a.special
38ee0 20 76 61 6c 75 65 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 69 73 20 76 61 6c 75 65 0a 20 20 .value.which.means.this.value...
38f00 20 20 20 20 20 20 20 69 73 20 74 6f 20 62 65 20 6f 6d 69 74 74 65 64 2e 20 20 54 68 65 20 73 79 .......is.to.be.omitted...The.sy
38f20 6d 62 6f 6c 69 63 20 6e 61 6d 65 73 20 66 6f 72 20 74 68 65 73 65 20 76 61 6c 75 65 73 20 61 72 mbolic.names.for.these.values.ar
38f40 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 e:..........<br><br>.<DL>.......
38f60 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 4d 5f 4e 55 4c 4c 4c 42 4c 3c 2f 43 4f 44 45 3e 0a ....<DT><CODE>MM_NULLLBL</CODE>.
38f80 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 49 67 6e 6f 72 65 20 3c 56 41 52 3e 6c 61 62 65 6c 3c <DD>..........Ignore.<VAR>label<
38fa0 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 /VAR>.parameter...........<DT><C
38fc0 4f 44 45 3e 4d 4d 5f 4e 55 4c 4c 53 45 56 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 ODE>MM_NULLSEV</CODE>.<DD>......
38fe0 20 20 20 20 49 67 6e 6f 72 65 20 3c 56 41 52 3e 73 65 76 65 72 69 74 79 3c 2f 56 41 52 3e 20 70 ....Ignore.<VAR>severity</VAR>.p
39000 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 4d 5f arameter...........<DT><CODE>MM_
39020 4e 55 4c 4c 4d 43 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 49 67 6e 6f NULLMC</CODE>.<DD>..........Igno
39040 72 65 20 3c 56 41 52 3e 63 6c 61 73 73 69 66 69 63 61 74 69 6f 6e 3c 2f 56 41 52 3e 20 70 61 72 re.<VAR>classification</VAR>.par
39060 61 6d 65 74 65 72 2e 20 20 54 68 69 73 20 69 6d 70 6c 69 65 73 20 74 68 61 74 20 6e 6f 74 68 69 ameter...This.implies.that.nothi
39080 6e 67 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 70 72 69 6e 74 65 64 2e ng.is..........actually.printed.
390a0 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 4d 5f 4e 55 4c 4c 54 58 54 3c 2f ..........<DT><CODE>MM_NULLTXT</
390c0 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 49 67 6e 6f 72 65 20 3c 56 41 52 3e CODE>.<DD>..........Ignore.<VAR>
390e0 74 65 78 74 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c text</VAR>.parameter...........<
39100 44 54 3e 3c 43 4f 44 45 3e 4d 4d 5f 4e 55 4c 4c 41 43 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a DT><CODE>MM_NULLACT</CODE>.<DD>.
39120 20 20 20 20 20 20 20 20 20 49 67 6e 6f 72 65 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 .........Ignore.<VAR>action</VAR
39140 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e >.parameter...........<DT><CODE>
39160 4d 4d 5f 4e 55 4c 4c 54 41 47 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 MM_NULLTAG</CODE>.<DD>..........
39180 49 67 6e 6f 72 65 20 3c 56 41 52 3e 74 61 67 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e Ignore.<VAR>tag</VAR>.parameter.
391a0 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ..........</DL>..........<br><br
391c0 3e 20 54 68 65 72 65 20 69 73 20 61 6e 6f 74 68 65 72 20 77 61 79 20 63 65 72 74 61 69 6e 20 66 >.There.is.another.way.certain.f
391e0 69 65 6c 64 73 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 6f 75 ields.can.be.omitted.from.the.ou
39200 74 70 75 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 2e tput.to..........standard.error.
39220 20 20 54 68 69 73 20 69 73 20 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77 20 69 6e 20 74 68 65 ..This.is.described.below.in.the
39240 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 65 6e 76 69 72 6f 6e .description.of..........environ
39260 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20 69 6e 66 6c 75 65 6e 63 69 6e 67 20 74 68 65 20 62 ment.variables.influencing.the.b
39280 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c ehavior...........<br><br>.The.<
392a0 56 41 52 3e 73 65 76 65 72 69 74 79 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 63 61 6e VAR>severity</VAR>.parameter.can
392c0 20 68 61 76 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 66 .have.one.of.the.values.in.the.f
392e0 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 3a 0a 20 20 20 20 20 20 20 ollowing..........table:........
39300 20 20 20 63 6c 61 73 73 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a ...class..........<br><br>.<DL>.
39320 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 4d 5f 4e 4f 53 45 56 3c 2f 43 4f ..........<DT><CODE>MM_NOSEV</CO
39340 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f 74 68 69 6e 67 20 69 73 20 70 72 69 DE>.<DD>..........Nothing.is.pri
39360 6e 74 65 64 2c 20 74 68 69 73 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 nted,.this.value.is.the.same.as.
39380 3c 43 4f 44 45 3e 4d 4d 5f 4e 55 4c 4c 53 45 56 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 <CODE>MM_NULLSEV</CODE>.........
393a0 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 4d 5f 48 41 4c 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ..<DT><CODE>MM_HALT</CODE>.<DD>.
393c0 20 20 20 20 20 20 20 20 20 54 68 69 73 20 76 61 6c 75 65 20 69 73 20 70 72 69 6e 74 65 64 20 61 .........This.value.is.printed.a
393e0 73 20 3c 43 4f 44 45 3e 48 41 4c 54 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 s.<CODE>HALT</CODE>...........<D
39400 54 3e 3c 43 4f 44 45 3e 4d 4d 5f 45 52 52 4f 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 T><CODE>MM_ERROR</CODE>.<DD>....
39420 20 20 20 20 20 20 54 68 69 73 20 76 61 6c 75 65 20 69 73 20 70 72 69 6e 74 65 64 20 61 73 20 3c ......This.value.is.printed.as.<
39440 43 4f 44 45 3e 45 52 52 4f 52 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e CODE>ERROR</CODE>...........<DT>
39460 3c 43 4f 44 45 3e 4d 4d 5f 57 41 52 4e 49 4e 47 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 <CODE>MM_WARNING</CODE>.<DD>....
39480 20 20 20 20 20 20 54 68 69 73 20 76 61 6c 75 65 20 69 73 20 70 72 69 6e 74 65 64 20 61 73 20 3c ......This.value.is.printed.as.<
394a0 43 4f 44 45 3e 57 41 52 4e 49 4e 47 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 CODE>WARNING</CODE>...........<D
394c0 54 3e 3c 43 4f 44 45 3e 4d 4d 5f 49 4e 46 4f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 T><CODE>MM_INFO</CODE>.<DD>.....
394e0 20 20 20 20 20 54 68 69 73 20 76 61 6c 75 65 20 69 73 20 70 72 69 6e 74 65 64 20 61 73 20 3c 43 .....This.value.is.printed.as.<C
39500 4f 44 45 3e 49 4e 46 4f 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a ODE>INFO</CODE>...........</DL>.
39520 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 75 6d 65 72 69 63 20 76 61 .........<br><br>.The.numeric.va
39540 6c 75 65 20 6f 66 20 74 68 65 73 65 20 66 69 76 65 20 6d 61 63 72 6f 73 20 61 72 65 20 62 65 74 lue.of.these.five.macros.are.bet
39560 77 65 65 6e 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 ween.<CODE>0</CODE>.and.........
39580 20 3c 43 4f 44 45 3e 34 3c 2f 43 4f 44 45 3e 2e 20 20 55 73 69 6e 67 20 74 68 65 20 65 6e 76 69 .<CODE>4</CODE>...Using.the.envi
395a0 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 53 45 56 5f 4c 45 56 45 4c ronment.variable.<CODE>SEV_LEVEL
395c0 3c 2f 43 4f 44 45 3e 20 6f 72 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 </CODE>.or.using.the..........<C
395e0 4f 44 45 3e 61 64 64 73 65 76 65 72 69 74 79 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 ODE>addseverity</CODE>.function.
39600 6f 6e 65 20 63 61 6e 20 61 64 64 20 6d 6f 72 65 20 73 65 76 65 72 69 74 79 20 6c 65 76 65 6c 73 one.can.add.more.severity.levels
39620 20 77 69 74 68 20 74 68 65 69 72 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 69 .with.their..........correspondi
39640 6e 67 20 73 74 72 69 6e 67 20 74 6f 20 70 72 69 6e 74 2e 20 20 54 68 69 73 20 69 73 20 64 65 73 ng.string.to.print...This.is.des
39660 63 72 69 62 65 64 20 62 65 6c 6f 77 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 cribed.below....................
39680 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 70 61 72 61 6d 65 .<br><br>...........If.no.parame
396a0 74 65 72 20 69 73 20 69 67 6e 6f 72 65 64 20 74 68 65 20 6f 75 74 70 75 74 20 6c 6f 6f 6b 73 20 ter.is.ignored.the.output.looks.
396c0 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 like.this:..........<br><br>.<pr
396e0 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6c 61 62 65 6c 3c 2f 56 41 52 3e e><br>..........<VAR>label</VAR>
39700 3a 20 3c 56 41 52 3e 73 65 76 65 72 69 74 79 2d 73 74 72 69 6e 67 3c 2f 56 41 52 3e 3a 20 3c 56 :.<VAR>severity-string</VAR>:.<V
39720 41 52 3e 74 65 78 74 3c 2f 56 41 52 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 54 4f 20 46 49 AR>text</VAR><br>..........TO.FI
39740 58 3a 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 3c 56 41 52 3e 74 61 67 3c 2f 56 X:.<VAR>action</VAR>.<VAR>tag</V
39760 41 52 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 AR><br>..........</pre>.........
39780 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 63 6f 6c 6f 6e 73 2c 20 6e 65 77 20 6c 69 6e 65 20 63 .<br><br>.The.colons,.new.line.c
397a0 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 74 68 65 20 3c 43 4f 44 45 3e 54 4f 20 46 49 58 3c 2f haracters.and.the.<CODE>TO.FIX</
397c0 43 4f 44 45 3e 20 73 74 72 69 6e 67 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 69 6e 73 65 72 74 CODE>.string.are..........insert
397e0 65 64 20 69 66 20 6e 65 63 65 73 73 61 72 79 2c 20 69 2e 65 2e 2c 20 69 66 20 74 68 65 20 63 6f ed.if.necessary,.i.e.,.if.the.co
39800 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 6e 6f 74 0a 20 20 20 rresponding.parameter.is.not....
39820 20 20 20 20 20 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ......ignored...........<br><br>
39840 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 .This.function.is.specified.in.t
39860 68 65 20 58 2f 4f 70 65 6e 20 50 6f 72 74 61 62 69 6c 69 74 79 20 47 75 69 64 65 2e 20 20 49 74 he.X/Open.Portability.Guide...It
39880 20 69 73 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 61 .is.also..........available.on.a
398a0 6c 6c 20 73 79 73 74 65 6d 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 53 79 73 74 65 6d 20 56 ll.systems.derived.from.System.V
398c0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e ...........<br><br>.The.function
398e0 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 4d 4d 5f 4f 4b 3c 2f .returns.the.value.<CODE>MM_OK</
39900 43 4f 44 45 3e 20 69 66 20 6e 6f 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2e 20 20 49 66 0a CODE>.if.no.error.occurred...If.
39920 20 20 20 20 20 20 20 20 20 6f 6e 6c 79 20 74 68 65 20 70 72 69 6e 74 69 6e 67 20 74 6f 20 73 74 .........only.the.printing.to.st
39940 61 6e 64 61 72 64 20 65 72 72 6f 72 20 66 61 69 6c 65 64 2c 20 69 74 20 72 65 74 75 72 6e 73 20 andard.error.failed,.it.returns.
39960 3c 43 4f 44 45 3e 4d 4d 5f 4e 4f 4d 53 47 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 <CODE>MM_NOMSG</CODE>...........
39980 49 66 20 70 72 69 6e 74 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 66 61 69 6c 73 If.printing.to.the.console.fails
399a0 2c 20 69 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 4d 4d 5f 4e 4f 43 4f 4e 3c 2f 43 4f 44 ,.it.returns.<CODE>MM_NOCON</COD
399c0 45 3e 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 68 69 6e 67 20 69 73 20 70 72 69 6e E>...If..........nothing.is.prin
399e0 74 65 64 20 3c 43 4f 44 45 3e 4d 4d 5f 4e 4f 54 4f 4b 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 ted.<CODE>MM_NOTOK</CODE>.is.ret
39a00 75 72 6e 65 64 2e 20 20 41 6d 6f 6e 67 20 73 69 74 75 61 74 69 6f 6e 73 20 77 68 65 72 65 0a 20 urned...Among.situations.where..
39a20 20 20 20 20 20 20 20 20 61 6c 6c 20 6f 75 74 70 75 74 73 20 66 61 69 6c 20 74 68 69 73 20 6c 61 ........all.outputs.fail.this.la
39a40 73 74 20 76 61 6c 75 65 20 69 73 20 61 6c 73 6f 20 72 65 74 75 72 6e 65 64 20 69 66 20 61 20 70 st.value.is.also.returned.if.a.p
39a60 61 72 61 6d 65 74 65 72 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 69 73 20 69 6e 63 6f 72 arameter.value..........is.incor
39a80 72 65 63 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 rect..........sq.~......w.....t.
39aa0 07 73 74 64 69 6f 2e 68 74 00 08 66 6d 74 6d 73 67 2e 68 78 71 00 7e 09 e7 74 00 6f 6c 6f 6e 67 .stdio.ht..fmtmsg.hxq.~..t.olong
39ac0 20 69 6e 74 20 63 6c 61 73 73 69 66 69 63 61 74 69 6f 6e 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 .int.classification,.const.char.
39ae0 2a 6c 61 62 65 6c 2c 20 69 6e 74 20 73 65 76 65 72 69 74 79 2c 20 63 6f 6e 73 74 20 63 68 61 72 *label,.int.severity,.const.char
39b00 20 2a 74 65 78 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 61 63 74 69 6f 6e 2c 20 63 6f 6e 73 .*text,.const.char.*action,.cons
39b20 74 20 63 68 61 72 20 2a 74 61 67 74 00 03 69 6e 74 74 00 07 66 6e 6d 61 74 63 68 73 71 00 7e 00 t.char.*tagt..intt..fnmatchsq.~.
39b40 0a 70 74 03 63 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 .pt.c.........This.function.test
39b60 73 20 77 68 65 74 68 65 72 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 74 72 69 6e 67 s.whether.the.string.<VAR>string
39b80 3c 2f 56 41 52 3e 20 6d 61 74 63 68 65 73 20 74 68 65 20 70 61 74 74 65 72 6e 0a 20 20 20 20 20 </VAR>.matches.the.pattern......
39ba0 20 20 20 20 3c 56 41 52 3e 70 61 74 74 65 72 6e 3c 2f 56 41 52 3e 2e 20 20 49 74 20 72 65 74 75 ....<VAR>pattern</VAR>...It.retu
39bc0 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 79 20 64 6f 20 6d 61 rns.<CODE>0</CODE>.if.they.do.ma
39be0 74 63 68 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 tch;.otherwise,.it..........retu
39c00 72 6e 73 20 74 68 65 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 46 4e 4d 5f rns.the.nonzero.value.<CODE>FNM_
39c20 4e 4f 4d 41 54 43 48 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 0a 20 NOMATCH</CODE>...The.arguments..
39c40 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 61 74 74 65 72 6e 3c 2f 56 41 52 3e 20 61 6e 64 20 3c ........<VAR>pattern</VAR>.and.<
39c60 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 61 72 65 20 62 6f 74 68 20 73 74 72 69 6e 67 VAR>string</VAR>.are.both.string
39c80 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 72 67 75 6d 65 6e s...........<br><br>.The.argumen
39ca0 74 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 63 6f 6d 62 69 6e 61 74 t.<VAR>flags</VAR>.is.a.combinat
39cc0 69 6f 6e 20 6f 66 20 66 6c 61 67 20 62 69 74 73 20 74 68 61 74 20 61 6c 74 65 72 20 74 68 65 0a ion.of.flag.bits.that.alter.the.
39ce0 20 20 20 20 20 20 20 20 20 64 65 74 61 69 6c 73 20 6f 66 20 6d 61 74 63 68 69 6e 67 2e 20 20 53 .........details.of.matching...S
39d00 65 65 20 62 65 6c 6f 77 20 66 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 64 65 66 69 6e ee.below.for.a.list.of.the.defin
39d20 65 64 20 66 6c 61 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 74 ed.flags...........<br><br>.In.t
39d40 68 65 20 47 4e 55 20 43 20 4c 69 62 72 61 72 79 2c 20 3c 43 4f 44 45 3e 66 6e 6d 61 74 63 68 3c he.GNU.C.Library,.<CODE>fnmatch<
39d60 2f 43 4f 44 45 3e 20 63 61 6e 6e 6f 74 20 65 78 70 65 72 69 65 6e 63 65 20 61 6e 20 60 60 65 72 /CODE>.cannot.experience.an.``er
39d80 72 6f 72 27 27 2d 2d 2d 69 74 0a 20 20 20 20 20 20 20 20 20 61 6c 77 61 79 73 20 72 65 74 75 72 ror''---it..........always.retur
39da0 6e 73 20 61 6e 20 61 6e 73 77 65 72 20 66 6f 72 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 61 74 ns.an.answer.for.whether.the.mat
39dc0 63 68 20 73 75 63 63 65 65 64 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 6f 74 68 65 72 0a 20 20 20 ch.succeeds...However,.other....
39de0 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 6f 66 20 3c 43 4f 44 45 3e 66 ......implementations.of.<CODE>f
39e00 6e 6d 61 74 63 68 3c 2f 43 4f 44 45 3e 20 6d 69 67 68 74 20 73 6f 6d 65 74 69 6d 65 73 20 72 65 nmatch</CODE>.might.sometimes.re
39e20 70 6f 72 74 20 60 60 65 72 72 6f 72 73 27 27 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 79 20 77 port.``errors''...........They.w
39e40 6f 75 6c 64 20 64 6f 20 73 6f 20 62 79 20 72 65 74 75 72 6e 69 6e 67 20 6e 6f 6e 7a 65 72 6f 20 ould.do.so.by.returning.nonzero.
39e60 76 61 6c 75 65 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 65 71 75 61 6c 20 74 6f 0a 20 20 20 values.that.are.not.equal.to....
39e80 20 20 20 20 20 20 3c 43 4f 44 45 3e 46 4e 4d 5f 4e 4f 4d 41 54 43 48 3c 2f 43 4f 44 45 3e 2e 0a ......<CODE>FNM_NOMATCH</CODE>..
39ea0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 66 6e 6d 61 74 ........sq.~......w.....t..fnmat
39ec0 63 68 2e 68 78 71 00 7e 09 ef 74 00 32 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 61 74 74 65 72 6e ch.hxq.~..t.2const.char.*pattern
39ee0 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20 66 6c 61 67 73 74 ,.const.char.*string,.int.flagst
39f00 00 03 69 6e 74 74 00 05 66 6f 70 65 6e 73 71 00 7e 00 0a 70 74 12 f5 0a 20 20 20 20 20 20 20 20 ..intt..fopensq.~..pt...........
39f20 54 68 65 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 The.<CODE>fopen</CODE>.function.
39f40 6f 70 65 6e 73 20 61 20 73 74 72 65 61 6d 20 66 6f 72 20 49 2f 4f 20 74 6f 20 74 68 65 20 66 69 opens.a.stream.for.I/O.to.the.fi
39f60 6c 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 2c le..........<VAR>filename</VAR>,
39f80 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 73 74 .and.returns.a.pointer.to.the.st
39fa0 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 ream...........<br><br>.The.<VAR
39fc0 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 73 74 >opentype</VAR>.argument.is.a.st
39fe0 72 69 6e 67 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 73 20 68 6f 77 20 74 68 65 20 66 69 6c 65 20 ring.that.controls.how.the.file.
3a000 69 73 0a 20 20 20 20 20 20 20 20 20 6f 70 65 6e 65 64 20 61 6e 64 20 73 70 65 63 69 66 69 65 73 is..........opened.and.specifies
3a020 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 73 74 72 .attributes.of.the.resulting.str
3a040 65 61 6d 2e 20 20 49 74 20 6d 75 73 74 20 62 65 67 69 6e 0a 20 20 20 20 20 20 20 20 20 77 69 74 eam...It.must.begin..........wit
3a060 68 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 71 75 65 6e 63 65 73 h.one.of.the.following.sequences
3a080 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .of.characters:..........<br><br
3a0a0 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 27 3c 53 41 4d 50 3e 72 3c 2f 53 >.<DL>...........<DT>'<SAMP>r</S
3a0c0 41 4d 50 3e 27 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4f 70 65 6e 20 61 6e 20 65 78 69 73 AMP>'.<DD>..........Open.an.exis
3a0e0 74 69 6e 67 20 66 69 6c 65 20 66 6f 72 20 72 65 61 64 69 6e 67 20 6f 6e 6c 79 2e 0a 20 20 20 20 ting.file.for.reading.only......
3a100 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 27 3c 53 41 4d 50 3e 77 3c 2f 53 41 4d 50 .....<br><br>.<DT>'<SAMP>w</SAMP
3a120 3e 27 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4f 70 65 6e 20 74 68 65 20 66 69 6c 65 20 66 >'.<DD>..........Open.the.file.f
3a140 6f 72 20 77 72 69 74 69 6e 67 20 6f 6e 6c 79 2e 20 20 49 66 20 74 68 65 20 66 69 6c 65 20 61 6c or.writing.only...If.the.file.al
3a160 72 65 61 64 79 20 65 78 69 73 74 73 2c 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 74 72 75 ready.exists,.it.is..........tru
3a180 6e 63 61 74 65 64 20 74 6f 20 7a 65 72 6f 20 6c 65 6e 67 74 68 2e 20 20 4f 74 68 65 72 77 69 73 ncated.to.zero.length...Otherwis
3a1a0 65 20 61 20 6e 65 77 20 66 69 6c 65 20 69 73 20 63 72 65 61 74 65 64 2e 0a 20 20 20 20 20 20 20 e.a.new.file.is.created.........
3a1c0 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 27 3c 53 41 4d 50 3e 61 3c 2f 53 41 4d 50 3e 27 0a ..<br><br>.<DT>'<SAMP>a</SAMP>'.
3a1e0 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4f 70 65 6e 20 61 20 66 69 6c 65 20 66 6f 72 20 61 70 <DD>..........Open.a.file.for.ap
3a200 70 65 6e 64 20 61 63 63 65 73 73 3b 20 74 68 61 74 20 69 73 2c 20 77 72 69 74 69 6e 67 20 61 74 pend.access;.that.is,.writing.at
3a220 20 74 68 65 20 65 6e 64 20 6f 66 20 66 69 6c 65 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 .the.end.of.file.only...........
3a240 49 66 20 74 68 65 20 66 69 6c 65 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2c 20 69 74 73 20 If.the.file.already.exists,.its.
3a260 69 6e 69 74 69 61 6c 20 63 6f 6e 74 65 6e 74 73 20 61 72 65 20 75 6e 63 68 61 6e 67 65 64 20 61 initial.contents.are.unchanged.a
3a280 6e 64 0a 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 20 74 6f 20 74 68 65 20 73 74 72 65 61 6d nd..........output.to.the.stream
3a2a0 20 69 73 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 .is.appended.to.the.end.of.the.f
3a2c0 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 61 20 6e 65 77 2c 20 ile...........Otherwise,.a.new,.
3a2e0 65 6d 70 74 79 20 66 69 6c 65 20 69 73 20 63 72 65 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 empty.file.is.created...........
3a300 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 27 3c 53 41 4d 50 3e 72 2b 3c 2f 53 41 4d 50 3e 27 0a 3c <br><br>.<DT>'<SAMP>r+</SAMP>'.<
3a320 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4f 70 65 6e 20 61 6e 20 65 78 69 73 74 69 6e 67 20 66 69 DD>..........Open.an.existing.fi
3a340 6c 65 20 66 6f 72 20 62 6f 74 68 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 74 69 6e 67 2e le.for.both.reading.and.writing.
3a360 20 20 54 68 65 20 69 6e 69 74 69 61 6c 20 63 6f 6e 74 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 ..The.initial.contents..........
3a380 6f 66 20 74 68 65 20 66 69 6c 65 20 61 72 65 20 75 6e 63 68 61 6e 67 65 64 20 61 6e 64 20 74 68 of.the.file.are.unchanged.and.th
3a3a0 65 20 69 6e 69 74 69 61 6c 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 61 74 20 74 68 e.initial.file.position.is.at.th
3a3c0 65 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 66 69 6c 65 e..........beginning.of.the.file
3a3e0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 27 3c 53 41 4d 50 3e 77 ...........<br><br>.<DT>'<SAMP>w
3a400 2b 3c 2f 53 41 4d 50 3e 27 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4f 70 65 6e 20 61 20 66 +</SAMP>'.<DD>..........Open.a.f
3a420 69 6c 65 20 66 6f 72 20 62 6f 74 68 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 74 69 6e 67 ile.for.both.reading.and.writing
3a440 2e 20 20 49 66 20 74 68 65 20 66 69 6c 65 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2c 20 69 ...If.the.file.already.exists,.i
3a460 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 74 72 75 6e 63 61 74 65 64 20 74 6f 20 7a 65 72 6f 20 t..........is.truncated.to.zero.
3a480 6c 65 6e 67 74 68 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 61 20 6e 65 77 20 66 69 6c 65 20 69 length...Otherwise,.a.new.file.i
3a4a0 73 20 63 72 65 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 s.created...........<br><br>.<DT
3a4c0 3e 27 3c 53 41 4d 50 3e 61 2b 3c 2f 53 41 4d 50 3e 27 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 >'<SAMP>a+</SAMP>'.<DD>.........
3a4e0 20 4f 70 65 6e 20 6f 72 20 63 72 65 61 74 65 20 66 69 6c 65 20 66 6f 72 20 62 6f 74 68 20 72 65 .Open.or.create.file.for.both.re
3a500 61 64 69 6e 67 20 61 6e 64 20 61 70 70 65 6e 64 69 6e 67 2e 20 20 49 66 20 74 68 65 20 66 69 6c ading.and.appending...If.the.fil
3a520 65 20 65 78 69 73 74 73 2c 0a 20 20 20 20 20 20 20 20 20 69 74 73 20 69 6e 69 74 69 61 6c 20 63 e.exists,..........its.initial.c
3a540 6f 6e 74 65 6e 74 73 20 61 72 65 20 75 6e 63 68 61 6e 67 65 64 2e 20 20 4f 74 68 65 72 77 69 73 ontents.are.unchanged...Otherwis
3a560 65 2c 20 61 20 6e 65 77 20 66 69 6c 65 20 69 73 20 63 72 65 61 74 65 64 2e 0a 20 20 20 20 20 20 e,.a.new.file.is.created........
3a580 20 20 20 54 68 65 20 69 6e 69 74 69 61 6c 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 ...The.initial.file.position.for
3a5a0 20 72 65 61 64 69 6e 67 20 69 73 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 .reading.is.at.the.beginning.of.
3a5c0 74 68 65 20 66 69 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 62 75 74 20 6f 75 74 70 75 74 20 69 73 the.file,..........but.output.is
3a5e0 20 61 6c 77 61 79 73 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 .always.appended.to.the.end.of.t
3a600 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 he.file...........</DL>.........
3a620 20 3c 62 72 3e 3c 62 72 3e 20 41 73 20 79 6f 75 20 63 61 6e 20 73 65 65 2c 20 3c 73 61 6d 70 3e .<br><br>.As.you.can.see,.<samp>
3a640 2b 3c 2f 73 61 6d 70 3e 20 72 65 71 75 65 73 74 73 20 61 20 73 74 72 65 61 6d 20 74 68 61 74 20 +</samp>.requests.a.stream.that.
3a660 63 61 6e 20 64 6f 20 62 6f 74 68 20 69 6e 70 75 74 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 6f can.do.both.input.and..........o
3a680 75 74 70 75 74 2e 20 20 54 68 65 20 49 53 4f 20 73 74 61 6e 64 61 72 64 20 73 61 79 73 20 74 68 utput...The.ISO.standard.says.th
3a6a0 61 74 20 77 68 65 6e 20 75 73 69 6e 67 20 73 75 63 68 20 61 20 73 74 72 65 61 6d 2c 20 79 6f 75 at.when.using.such.a.stream,.you
3a6c0 20 6d 75 73 74 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 66 66 6c 75 73 68 .must..........call.<CODE>fflush
3a6e0 3c 2f 43 4f 44 45 3e 20 20 6f 72 20 61 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 69 6e 67 0a 20 </CODE>..or.a.file.positioning..
3a700 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 68 20 61 73 20 3c 43 4f 44 45 3e 66 ........function.such.as.<CODE>f
3a720 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 20 77 68 65 6e 20 73 77 69 74 63 68 69 6e 67 0a 20 20 20 20 seek</CODE>..when.switching.....
3a740 20 20 20 20 20 66 72 6f 6d 20 72 65 61 64 69 6e 67 20 74 6f 20 77 72 69 74 69 6e 67 20 6f 72 20 .....from.reading.to.writing.or.
3a760 76 69 63 65 20 76 65 72 73 61 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 6e 74 65 72 6e 61 6c vice.versa...Otherwise,.internal
3a780 20 62 75 66 66 65 72 73 0a 20 20 20 20 20 20 20 20 20 6d 69 67 68 74 20 6e 6f 74 20 62 65 20 65 .buffers..........might.not.be.e
3a7a0 6d 70 74 69 65 64 20 70 72 6f 70 65 72 6c 79 2e 20 20 54 68 65 20 47 4e 55 20 43 20 6c 69 62 72 mptied.properly...The.GNU.C.libr
3a7c0 61 72 79 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 ary.does.not.have.this..........
3a7e0 6c 69 6d 69 74 61 74 69 6f 6e 3b 20 79 6f 75 20 63 61 6e 20 64 6f 20 61 72 62 69 74 72 61 72 79 limitation;.you.can.do.arbitrary
3a800 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 74 69 6e 67 20 6f 70 65 72 61 74 69 6f 6e 73 20 .reading.and.writing.operations.
3a820 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 69 6e 20 77 68 61 74 65 76 65 72 on.a..........stream.in.whatever
3a840 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 64 64 69 74 69 .order...........<br><br>.Additi
3a860 6f 6e 61 6c 20 63 68 61 72 61 63 74 65 72 73 20 6d 61 79 20 61 70 70 65 61 72 20 61 66 74 65 72 onal.characters.may.appear.after
3a880 20 74 68 65 73 65 20 74 6f 20 73 70 65 63 69 66 79 20 66 6c 61 67 73 20 66 6f 72 20 74 68 65 0a .these.to.specify.flags.for.the.
3a8a0 20 20 20 20 20 20 20 20 20 63 61 6c 6c 2e 20 20 41 6c 77 61 79 73 20 70 75 74 20 74 68 65 20 6d .........call...Always.put.the.m
3a8c0 6f 64 65 20 28 3c 73 61 6d 70 3e 72 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 6d 70 3e 77 2b 3c 2f 73 ode.(<samp>r</samp>,.<samp>w+</s
3a8e0 61 6d 70 3e 2c 20 65 74 63 2e 29 20 66 69 72 73 74 3b 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 amp>,.etc.).first;.that.is......
3a900 20 20 20 20 74 68 65 20 6f 6e 6c 79 20 70 61 72 74 20 79 6f 75 20 61 72 65 20 67 75 61 72 61 6e ....the.only.part.you.are.guaran
3a920 74 65 65 64 20 77 69 6c 6c 20 62 65 20 75 6e 64 65 72 73 74 6f 6f 64 20 62 79 20 61 6c 6c 20 73 teed.will.be.understood.by.all.s
3a940 79 73 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 47 4e ystems...........<br><br>.The.GN
3a960 55 20 43 20 6c 69 62 72 61 72 79 20 64 65 66 69 6e 65 73 20 6f 6e 65 20 61 64 64 69 74 69 6f 6e U.C.library.defines.one.addition
3a980 61 6c 20 63 68 61 72 61 63 74 65 72 20 66 6f 72 20 75 73 65 20 69 6e 0a 20 20 20 20 20 20 20 20 al.character.for.use.in.........
3a9a0 20 3c 56 41 52 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e 3a 20 74 68 65 20 63 68 61 72 61 63 .<VAR>opentype</VAR>:.the.charac
3a9c0 74 65 72 20 3c 73 61 6d 70 3e 78 3c 2f 73 61 6d 70 3e 20 69 6e 73 69 73 74 73 20 6f 6e 20 63 72 ter.<samp>x</samp>.insists.on.cr
3a9e0 65 61 74 69 6e 67 20 61 20 6e 65 77 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 2d 2d 69 66 20 eating.a.new..........file---if.
3aa00 61 20 66 69 6c 65 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 6c 72 65 61 a.file.<VAR>filename</VAR>.alrea
3aa20 64 79 20 65 78 69 73 74 73 2c 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 61 dy.exists,.<CODE>fopen</CODE>.fa
3aa40 69 6c 73 0a 20 20 20 20 20 20 20 20 20 72 61 74 68 65 72 20 74 68 61 6e 20 6f 70 65 6e 69 6e 67 ils..........rather.than.opening
3aa60 20 69 74 2e 20 20 49 66 20 79 6f 75 20 75 73 65 20 3c 73 61 6d 70 3e 78 3c 2f 73 61 6d 70 3e 20 .it...If.you.use.<samp>x</samp>.
3aa80 79 6f 75 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 you.are.guaranteed.that.........
3aaa0 20 79 6f 75 20 77 69 6c 6c 20 6e 6f 74 20 63 6c 6f 62 62 65 72 20 61 6e 20 65 78 69 73 74 69 6e .you.will.not.clobber.an.existin
3aac0 67 20 66 69 6c 65 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 g.file...This.is.equivalent.to.t
3aae0 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4f 5f 45 58 43 4c 3c 2f 43 4f 44 45 3e 20 he..........<CODE>O_EXCL</CODE>.
3ab00 6f 70 74 69 6f 6e 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 option.to.the.<CODE>open</CODE>.
3ab20 66 75 6e 63 74 69 6f 6e 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 function............<br><br>.The
3ab40 20 63 68 61 72 61 63 74 65 72 20 3c 73 61 6d 70 3e 62 3c 2f 73 61 6d 70 3e 20 69 6e 20 3c 56 41 .character.<samp>b</samp>.in.<VA
3ab60 52 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e 20 68 61 73 20 61 20 73 74 61 6e 64 61 72 64 20 R>opentype</VAR>.has.a.standard.
3ab80 6d 65 61 6e 69 6e 67 3b 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 73 20 61 20 meaning;.it..........requests.a.
3aba0 62 69 6e 61 72 79 20 73 74 72 65 61 6d 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 74 65 78 74 binary.stream.rather.than.a.text
3abc0 20 73 74 72 65 61 6d 2e 20 20 42 75 74 20 74 68 69 73 20 6d 61 6b 65 73 20 6e 6f 0a 20 20 20 20 .stream...But.this.makes.no.....
3abe0 20 20 20 20 20 64 69 66 66 65 72 65 6e 63 65 20 69 6e 20 50 4f 53 49 58 20 73 79 73 74 65 6d 73 .....difference.in.POSIX.systems
3ac00 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d 29 2e 20 20 49 66 .(including.the.GNU.system)...If
3ac20 20 62 6f 74 68 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 2b 3c 2f 73 61 6d 70 3e 20 61 6e .both..........<samp>+</samp>.an
3ac40 64 20 3c 73 61 6d 70 3e 62 3c 2f 73 61 6d 70 3e 20 61 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 d.<samp>b</samp>.are.specified,.
3ac60 74 68 65 79 20 63 61 6e 20 61 70 70 65 61 72 20 69 6e 20 65 69 74 68 65 72 20 6f 72 64 65 72 2e they.can.appear.in.either.order.
3ac80 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 6f .....................<br><br>..o
3aca0 72 69 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 2c 20 73 74 72 65 61 6d 0a 20 20 20 rientation..........,.stream....
3acc0 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e ......If.the.<VAR>opentype</VAR>
3ace0 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 73 65 71 75 65 6e 63 65 0a 20 20 .string.contains.the.sequence...
3ad00 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2c 63 63 73 3d 3c 56 41 52 3e 53 54 52 49 4e 47 3c 2f 56 .......<CODE>,ccs=<VAR>STRING</V
3ad20 41 52 3e 3c 2f 43 4f 44 45 3e 20 74 68 65 6e 20 3c 56 41 52 3e 53 54 52 49 4e 47 3c 2f 56 41 52 AR></CODE>.then.<VAR>STRING</VAR
3ad40 3e 20 69 73 20 74 61 6b 65 6e 20 61 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 0a 20 20 20 20 >.is.taken.as.the.name.of.a.....
3ad60 20 20 20 20 20 63 6f 64 65 64 20 63 68 61 72 61 63 74 65 72 20 73 65 74 20 61 6e 64 20 3c 43 4f .....coded.character.set.and.<CO
3ad80 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 6d 61 72 6b 20 74 68 65 20 73 74 DE>fopen</CODE>.will.mark.the.st
3ada0 72 65 61 6d 20 61 73 0a 20 20 20 20 20 20 20 20 20 77 69 64 65 2d 6f 72 69 65 6e 74 65 64 20 77 ream.as..........wide-oriented.w
3adc0 68 69 63 68 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 75 6e 63 hich.appropriate.conversion.func
3ade0 74 69 6f 6e 73 20 69 6e 20 70 6c 61 63 65 20 74 6f 20 63 6f 6e 76 65 72 74 0a 20 20 20 20 20 20 tions.in.place.to.convert.......
3ae00 20 20 20 66 72 6f 6d 20 61 6e 64 20 74 6f 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 73 65 74 ...from.and.to.the.character.set
3ae20 20 3c 56 41 52 3e 53 54 52 49 4e 47 3c 2f 56 41 52 3e 20 69 73 20 70 6c 61 63 65 2e 20 20 41 6e .<VAR>STRING</VAR>.is.place...An
3ae40 79 20 6f 74 68 65 72 20 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 69 73 20 6f 70 65 6e 65 y.other.stream..........is.opene
3ae60 64 20 69 6e 69 74 69 61 6c 6c 79 20 75 6e 6f 72 69 65 6e 74 65 64 20 61 6e 64 20 74 68 65 20 6f d.initially.unoriented.and.the.o
3ae80 72 69 65 6e 74 61 74 69 6f 6e 20 69 73 20 64 65 63 69 64 65 64 20 77 69 74 68 20 74 68 65 0a 20 rientation.is.decided.with.the..
3aea0 20 20 20 20 20 20 20 20 66 69 72 73 74 20 66 69 6c 65 20 6f 70 65 72 61 74 69 6f 6e 2e 20 20 49 ........first.file.operation...I
3aec0 66 20 74 68 65 20 66 69 72 73 74 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 61 20 77 69 64 65 20 f.the.first.operation.is.a.wide.
3aee0 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 2c 20 74 68 character..........operation,.th
3af00 65 20 73 74 72 65 61 6d 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 20 6d 61 72 6b 65 64 20 61 73 20 77 e.stream.is.not.only.marked.as.w
3af20 69 64 65 2d 6f 72 69 65 6e 74 65 64 2c 20 61 6c 73 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 ide-oriented,.also.the..........
3af40 63 6f 6e 76 65 72 73 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 63 6f 6e 76 65 72 74 20 conversion.functions.to.convert.
3af60 74 6f 20 74 68 65 20 63 6f 64 65 64 20 63 68 61 72 61 63 74 65 72 20 73 65 74 20 75 73 65 64 20 to.the.coded.character.set.used.
3af80 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 20 for.the..........current.locale.
3afa0 61 72 65 20 6c 6f 61 64 65 64 2e 20 20 54 68 69 73 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e 67 are.loaded...This.will.not.chang
3afc0 65 20 61 6e 79 6d 6f 72 65 20 66 72 6f 6d 20 74 68 69 73 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 e.anymore.from.this.point.......
3afe0 20 20 20 6f 6e 20 65 76 65 6e 20 69 66 20 74 68 65 20 6c 6f 63 61 6c 65 20 73 65 6c 65 63 74 65 ...on.even.if.the.locale.selecte
3b000 64 20 66 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 4c 43 5f 43 54 59 50 45 3c 2f 43 4f 44 45 3e 20 d.for.the.<CODE>LC_CTYPE</CODE>.
3b020 63 61 74 65 67 6f 72 79 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 64 2e 0a 20 20 category.is..........changed....
3b040 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 79 20 6f 74 68 65 72 20 63 68 61 72 61 63 .......<br><br>.Any.other.charac
3b060 74 65 72 73 20 69 6e 20 3c 56 41 52 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e 20 61 72 65 20 ters.in.<VAR>opentype</VAR>.are.
3b080 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65 64 2e 20 20 54 68 65 79 20 6d 61 79 20 62 65 0a 20 20 20 simply.ignored...They.may.be....
3b0a0 20 20 20 20 20 20 6d 65 61 6e 69 6e 67 66 75 6c 20 69 6e 20 6f 74 68 65 72 20 73 79 73 74 65 6d ......meaningful.in.other.system
3b0c0 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6f 70 65 6e s...........<br><br>.If.the.open
3b0e0 20 66 61 69 6c 73 2c 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 .fails,.<CODE>fopen</CODE>.retur
3b100 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ns.a.null.pointer...........<br>
3b120 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c <br>.When.the.sources.are.compil
3b140 69 6e 67 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 ing.with.<CODE>_FILE_OFFSET_BITS
3b160 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 20 62 .==.64</CODE>.on.a..........32.b
3b180 69 74 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 it.machine.this.function.is.in.f
3b1a0 61 63 74 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 act.<CODE>fopen64</CODE>.since.t
3b1c0 68 65 20 4c 46 53 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 20 72 65 70 6c 61 63 he.LFS..........interface.replac
3b1e0 65 73 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 es.transparently.the.old.interfa
3b200 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 ce..........sq.~......w.....t..s
3b220 74 64 69 6f 2e 68 78 71 00 7e 09 f6 74 00 2a 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e tdio.hxq.~..t.*const.char.*filen
3b240 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 70 65 6e 74 79 70 65 74 00 06 46 49 4c 45 ame,.const.char.*opentypet..FILE
3b260 20 2a 74 00 07 66 6f 70 65 6e 36 34 73 71 00 7e 00 0a 70 74 02 85 0a 20 20 20 20 20 20 20 20 54 .*t..fopen64sq.~..pt...........T
3b280 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 his.function.is.similar.to.<CODE
3b2a0 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 62 75 74 20 74 68 65 20 73 74 72 65 61 6d 20 69 74 20 >fopen</CODE>.but.the.stream.it.
3b2c0 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 69 returns.a..........pointer.for.i
3b2e0 73 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6f 70 65 6e 36 34 3c 2f 43 4f 44 s.opened.using.<CODE>open64</COD
3b300 45 3e 2e 20 20 54 68 65 72 65 66 6f 72 65 20 74 68 69 73 20 73 74 72 65 61 6d 20 63 61 6e 20 62 E>...Therefore.this.stream.can.b
3b320 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 64 20 65 76 65 6e 20 6f 6e 20 66 69 6c 65 73 20 6c 61 e..........used.even.on.files.la
3b340 72 67 65 72 20 74 68 65 6e 20 32 5e 33 31 20 62 79 74 65 73 20 6f 6e 20 33 32 20 62 69 74 20 6d rger.then.2^31.bytes.on.32.bit.m
3b360 61 63 68 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6c 65 61 73 achines...........<br><br>.Pleas
3b380 65 20 6e 6f 74 65 20 74 68 61 74 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 73 e.note.that.the.return.type.is.s
3b3a0 74 69 6c 6c 20 3c 43 4f 44 45 3e 46 49 4c 45 20 2a 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 72 65 till.<CODE>FILE.*</CODE>...There
3b3c0 20 69 73 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 61 6c 20 3c 43 4f 44 45 3e 46 49 .is.no..........special.<CODE>FI
3b3e0 4c 45 3c 2f 43 4f 44 45 3e 20 74 79 70 65 20 66 6f 72 20 74 68 65 20 4c 46 53 20 69 6e 74 65 72 LE</CODE>.type.for.the.LFS.inter
3b400 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 face...........<br><br>.If.the.s
3b420 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f ources.are.compiled.with.<CODE>_
3b440 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e FILE_OFFSET_BITS.==.64</CODE>.on
3b460 20 61 20 33 32 0a 20 20 20 20 20 20 20 20 20 62 69 74 73 20 6d 61 63 68 69 6e 65 20 74 68 69 73 .a.32..........bits.machine.this
3b480 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 .function.is.available.under.the
3b4a0 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 .name.<CODE>fopen</CODE>........
3b4c0 20 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 ..and.so.transparently.replaces.
3b4e0 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 the.old.interface..........sq.~.
3b500 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 09 fd 74 00 2a 63 6f .....w.....t..stdio.hxq.~..t.*co
3b520 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a nst.char.*filename,.const.char.*
3b540 6f 70 65 6e 74 79 70 65 74 00 06 46 49 4c 45 20 2a 74 00 0b 66 6f 70 65 6e 63 6f 6f 6b 69 65 73 opentypet..FILE.*t..fopencookies
3b560 71 00 7e 00 0a 70 74 02 13 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 q.~..pt...........This.function.
3b580 61 63 74 75 61 6c 6c 79 20 63 72 65 61 74 65 73 20 74 68 65 20 73 74 72 65 61 6d 20 66 6f 72 20 actually.creates.the.stream.for.
3b5a0 63 6f 6d 6d 75 6e 69 63 61 74 69 6e 67 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 communicating.with.the..........
3b5c0 3c 56 41 52 3e 63 6f 6f 6b 69 65 3c 2f 56 41 52 3e 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 <VAR>cookie</VAR>.using.the.func
3b5e0 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 69 6f 2d 66 75 6e 63 74 69 6f 6e 73 3c 2f tions.in.the.<VAR>io-functions</
3b600 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 VAR>.argument...........The.<VAR
3b620 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 69 6e 74 65 >opentype</VAR>.argument.is.inte
3b640 72 70 72 65 74 65 64 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 rpreted.as.for.<CODE>fopen</CODE
3b660 3e 3b 0a 20 20 20 20 20 20 20 20 20 73 65 65 20 4f 70 65 6e 69 6e 67 20 53 74 72 65 61 6d 73 2e >;..........see.Opening.Streams.
3b680 20 20 28 42 75 74 20 6e 6f 74 65 20 74 68 61 74 20 74 68 65 20 60 60 74 72 75 6e 63 61 74 65 20 ..(But.note.that.the.``truncate.
3b6a0 6f 6e 0a 20 20 20 20 20 20 20 20 20 6f 70 65 6e 27 27 20 6f 70 74 69 6f 6e 20 69 73 20 69 67 6e on..........open''.option.is.ign
3b6c0 6f 72 65 64 2e 29 20 20 54 68 65 20 6e 65 77 20 73 74 72 65 61 6d 20 69 73 20 66 75 6c 6c 79 20 ored.)..The.new.stream.is.fully.
3b6e0 62 75 66 66 65 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 buffered...........<br><br>.The.
3b700 3c 43 4f 44 45 3e 66 6f 70 65 6e 63 6f 6f 6b 69 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f <CODE>fopencookie</CODE>.functio
3b720 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 73 74 72 65 n.returns.the.newly.created.stre
3b740 61 6d 2c 20 6f 72 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 69 am,.or.a.null..........pointer.i
3b760 6e 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e n.case.of.an.error..........sq.~
3b780 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a 04 74 00 46 76 ......w.....t..stdio.hxq.~..t.Fv
3b7a0 6f 69 64 20 2a 63 6f 6f 6b 69 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 70 65 6e 74 79 70 oid.*cookie,.const.char.*opentyp
3b7c0 65 2c 20 63 6f 6f 6b 69 65 5f 69 6f 5f 66 75 6e 63 74 69 6f 6e 73 5f 74 20 69 6f 2d 66 75 6e 63 e,.cookie_io_functions_t.io-func
3b7e0 74 69 6f 6e 73 74 00 06 46 49 4c 45 20 2a 74 00 04 66 6f 72 6b 73 71 00 7e 00 0a 70 74 04 1a 0a tionst..FILE.*t..forksq.~..pt...
3b800 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 66 75 ........The.<CODE>fork</CODE>.fu
3b820 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 70 72 6f 63 65 73 73 2e 0a 20 20 nction.creates.a.new.process....
3b840 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e .......<br><br>.If.the.operation
3b860 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 74 68 65 72 65 20 61 72 65 20 74 68 65 6e 20 62 .is.successful,.there.are.then.b
3b880 6f 74 68 20 70 61 72 65 6e 74 20 61 6e 64 20 63 68 69 6c 64 0a 20 20 20 20 20 20 20 20 20 70 72 oth.parent.and.child..........pr
3b8a0 6f 63 65 73 73 65 73 20 61 6e 64 20 62 6f 74 68 20 73 65 65 20 3c 43 4f 44 45 3e 66 6f 72 6b 3c ocesses.and.both.see.<CODE>fork<
3b8c0 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 2c 20 62 75 74 20 77 69 74 68 20 64 69 66 66 65 72 65 6e /CODE>.return,.but.with.differen
3b8e0 74 20 76 61 6c 75 65 73 3a 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 t.values:.it..........returns.a.
3b900 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 20 63 value.of.<CODE>0</CODE>.in.the.c
3b920 68 69 6c 64 20 70 72 6f 63 65 73 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 68 69 hild.process.and.returns.the.chi
3b940 6c 64 27 73 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 49 44 20 69 6e 20 74 68 65 20 ld's..........process.ID.in.the.
3b960 70 61 72 65 6e 74 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 parent.process...........<br><br
3b980 3e 20 49 66 20 70 72 6f 63 65 73 73 20 63 72 65 61 74 69 6f 6e 20 66 61 69 6c 65 64 2c 20 3c 43 >.If.process.creation.failed,.<C
3b9a0 4f 44 45 3e 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 ODE>fork</CODE>.returns.a.value.
3b9c0 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 of.<CODE>-1</CODE>.in..........t
3b9e0 68 65 20 70 61 72 65 6e 74 20 70 72 6f 63 65 73 73 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e he.parent.process...The.followin
3ba00 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 g.<CODE>errno</CODE>.error.condi
3ba20 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 66 6f 72 20 3c tions.are..........defined.for.<
3ba40 43 4f 44 45 3e 66 6f 72 6b 3c 2f 43 4f 44 45 3e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c CODE>fork</CODE>:..........<br><
3ba60 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 47 br>.<DL>...........<DT><CODE>EAG
3ba80 41 49 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 61 AIN</CODE>.<DD>..........There.a
3baa0 72 65 6e 27 74 20 65 6e 6f 75 67 68 20 73 79 73 74 65 6d 20 72 65 73 6f 75 72 63 65 73 20 74 6f ren't.enough.system.resources.to
3bac0 20 63 72 65 61 74 65 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 74 68 65 0a .create.another.process,.or.the.
3bae0 20 20 20 20 20 20 20 20 20 75 73 65 72 20 61 6c 72 65 61 64 79 20 68 61 73 20 74 6f 6f 20 6d 61 .........user.already.has.too.ma
3bb00 6e 79 20 70 72 6f 63 65 73 73 65 73 20 72 75 6e 6e 69 6e 67 2e 20 20 54 68 69 73 20 6d 65 61 6e ny.processes.running...This.mean
3bb20 73 20 65 78 63 65 65 64 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 52 s.exceeding.the..........<CODE>R
3bb40 4c 49 4d 49 54 5f 4e 50 52 4f 43 3c 2f 43 4f 44 45 3e 20 72 65 73 6f 75 72 63 65 20 6c 69 6d 69 LIMIT_NPROC</CODE>.resource.limi
3bb60 74 2c 20 77 68 69 63 68 20 63 61 6e 20 75 73 75 61 6c 6c 79 20 62 65 20 69 6e 63 72 65 61 73 65 t,.which.can.usually.be.increase
3bb80 64 3b 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 d;.....................<br><br>.
3bba0 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 4d 45 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 <DT><CODE>ENOMEM</CODE>.<DD>....
3bbc0 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 72 65 71 75 69 72 65 73 20 6d 6f 72 65 20 ......The.process.requires.more.
3bbe0 73 70 61 63 65 20 74 68 61 6e 20 74 68 65 20 73 79 73 74 65 6d 20 63 61 6e 20 73 75 70 70 6c 79 space.than.the.system.can.supply
3bc00 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ...........</DL>.........sq.~...
3bc20 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0a 0b 74 00 04 76 6f 69 ...w.....t..unistd.hxq.~..t..voi
3bc40 64 74 00 05 70 69 64 5f 74 74 00 07 66 6f 72 6b 70 74 79 73 71 00 7e 00 0a 70 74 03 76 0a 20 20 dt..pid_tt..forkptysq.~..pt.v...
3bc60 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 ......This.function.is.similar.t
3bc80 6f 20 74 68 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 70 74 79 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 o.the.<CODE>openpty</CODE>.funct
3bca0 69 6f 6e 2c 20 62 75 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 61 64 64 69 74 69 6f 6e 2c 20 66 ion,.but.in..........addition,.f
3bcc0 6f 72 6b 73 20 61 20 6e 65 77 20 70 72 6f 63 65 73 73 20 20 61 6e 64 20 6d 61 6b 65 73 20 74 68 orks.a.new.process..and.makes.th
3bce0 65 0a 20 20 20 20 20 20 20 20 20 6e 65 77 6c 79 20 6f 70 65 6e 65 64 20 73 6c 61 76 65 20 70 73 e..........newly.opened.slave.ps
3bd00 65 75 64 6f 2d 74 65 72 6d 69 6e 61 6c 20 64 65 76 69 63 65 20 74 68 65 20 63 6f 6e 74 72 6f 6c eudo-terminal.device.the.control
3bd20 6c 69 6e 67 20 74 65 72 6d 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 ling.terminal...........for.the.
3bd40 63 68 69 6c 64 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e child.process...........<br><br>
3bd60 20 49 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 2c .If.the.operation.is.successful,
3bd80 20 74 68 65 72 65 20 61 72 65 20 74 68 65 6e 20 62 6f 74 68 20 70 61 72 65 6e 74 20 61 6e 64 20 .there.are.then.both.parent.and.
3bda0 63 68 69 6c 64 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 73 20 61 6e 64 20 62 6f 74 child..........processes.and.bot
3bdc0 68 20 73 65 65 20 3c 43 4f 44 45 3e 66 6f 72 6b 70 74 79 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 h.see.<CODE>forkpty</CODE>.retur
3bde0 6e 2c 20 62 75 74 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c 75 65 73 3a 0a 20 20 n,.but.with.different.values:...
3be00 20 20 20 20 20 20 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 66 20 30 20 69 .......it.returns.a.value.of.0.i
3be20 6e 20 74 68 65 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 n.the.child.process.and.returns.
3be40 74 68 65 20 63 68 69 6c 64 27 73 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 49 44 20 the.child's..........process.ID.
3be60 69 6e 20 74 68 65 20 70 61 72 65 6e 74 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 in.the.parent.process...........
3be80 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 61 20 <br><br>.If.the.allocation.of.a.
3bea0 70 73 65 75 64 6f 2d 74 65 72 6d 69 6e 61 6c 20 70 61 69 72 20 6f 72 20 74 68 65 20 70 72 6f 63 pseudo-terminal.pair.or.the.proc
3bec0 65 73 73 20 63 72 65 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 66 61 69 6c 65 64 2c 20 3c 43 ess.creation..........failed,.<C
3bee0 4f 44 45 3e 66 6f 72 6b 70 74 79 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c ODE>forkpty</CODE>.returns.a.val
3bf00 75 65 20 6f 66 20 2d 31 20 69 6e 20 74 68 65 20 70 61 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 ue.of.-1.in.the.parent..........
3bf20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 61 72 6e 69 process...........<br><br>.Warni
3bf40 6e 67 3a 20 54 68 65 20 3c 43 4f 44 45 3e 66 6f 72 6b 70 74 79 3c 2f 43 4f 44 45 3e 20 66 75 6e ng:.The.<CODE>forkpty</CODE>.fun
3bf60 63 74 69 6f 6e 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 ction.has.the.same.problems.with
3bf80 0a 20 20 20 20 20 20 20 20 20 72 65 73 70 65 63 74 20 74 6f 20 74 68 65 20 3c 56 41 52 3e 6e 61 ..........respect.to.the.<VAR>na
3bfa0 6d 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 61 73 20 3c 43 4f 44 45 3e 6f 70 65 6e 70 me</VAR>.argument.as.<CODE>openp
3bfc0 74 79 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ty</CODE>..........sq.~......w..
3bfe0 00 00 0a 74 00 05 70 74 79 2e 68 78 71 00 7e 0a 12 74 00 45 69 6e 74 20 2a 61 6d 61 73 74 65 72 ...t..pty.hxq.~..t.Eint.*amaster
3c000 2c 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 2a 74 65 ,.char.*name,.struct.termios.*te
3c020 72 6d 70 2c 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a 65 20 2a 77 69 6e 70 74 00 03 69 6e 74 74 rmp,.struct.winsize.*winpt..intt
3c040 00 09 66 70 61 74 68 63 6f 6e 66 73 71 00 7e 00 0a 70 74 02 84 0a 20 20 20 20 20 20 20 20 54 68 ..fpathconfsq.~..pt...........Th
3c060 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 70 61 74 68 63 6f 6e 66 3c 2f is.is.just.like.<CODE>pathconf</
3c080 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 61 6e 20 6f 70 65 6e 20 66 69 6c 65 20 64 CODE>.except.that.an.open.file.d
3c0a0 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 20 20 69 73 20 75 73 65 64 20 74 6f 20 73 70 escriptor..........is.used.to.sp
3c0c0 65 63 69 66 79 20 74 68 65 20 66 69 6c 65 20 66 6f 72 20 77 68 69 63 68 20 69 6e 66 6f 72 6d 61 ecify.the.file.for.which.informa
3c0e0 74 69 6f 6e 20 69 73 20 72 65 71 75 65 73 74 65 64 2c 20 69 6e 73 74 65 61 64 0a 20 20 20 20 20 tion.is.requested,.instead......
3c100 20 20 20 20 6f 66 20 61 20 66 69 6c 65 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ....of.a.file.name...........<br
3c120 3e 3c 62 72 3e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c ><br>.The.following.<CODE>errno<
3c140 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 /CODE>.error.conditions.are.defi
3c160 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 ned.for.this.function:..........
3c180 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 <br><br>.<DL>...........<DT><COD
3c1a0 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 E>EBADF</CODE>.<DD>..........The
3c1c0 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 .<VAR>filedes</VAR>.argument.is.
3c1e0 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 not.a.valid.file.descriptor.....
3c200 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c ......<br><br>.<DT><CODE>EINVAL<
3c220 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f /CODE>.<DD>..........The.value.o
3c240 66 20 3c 56 41 52 3e 70 61 72 61 6d 65 74 65 72 3c 2f 56 41 52 3e 20 69 73 20 69 6e 76 61 6c 69 f.<VAR>parameter</VAR>.is.invali
3c260 64 2c 20 6f 72 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 d,.or.the.implementation.doesn't
3c280 0a 20 20 20 20 20 20 20 20 20 73 75 70 70 6f 72 74 20 74 68 65 20 3c 56 41 52 3e 70 61 72 61 6d ..........support.the.<VAR>param
3c2a0 65 74 65 72 3c 2f 56 41 52 3e 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 66 69 6c 65 eter</VAR>.for.the.specific.file
3c2c0 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ...........</DL>.........sq.~...
3c2e0 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0a 19 74 00 1a 69 6e 74 ...w.....t..unistd.hxq.~..t..int
3c300 20 66 69 6c 65 64 65 73 2c 20 69 6e 74 20 70 61 72 61 6d 65 74 65 72 74 00 08 6c 6f 6e 67 20 69 .filedes,.int.parametert..long.i
3c320 6e 74 74 00 07 66 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 00 ac 0a 20 20 20 20 20 20 20 20 54 ntt..fprintfsq.~..pt...........T
3c340 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e his.function.is.just.like.<CODE>
3c360 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6f printf</CODE>,.except.that.the.o
3c380 75 74 70 75 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 utput.is..........written.to.the
3c3a0 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 69 6e 73 74 65 61 .stream.<VAR>stream</VAR>.instea
3c3c0 64 20 6f 66 20 3c 43 4f 44 45 3e 73 74 64 6f 75 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 d.of.<CODE>stdout</CODE>........
3c3e0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e ..sq.~......w.....t..stdio.hxq.~
3c400 0a 20 74 00 27 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 ..t.'FILE.*stream,.const.char.*t
3c420 65 6d 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 05 66 70 75 74 63 73 71 00 7e 00 0a emplate,....t..intt..fputcsq.~..
3c440 70 74 01 2b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 70 75 74 63 3c 2f 43 4f pt.+.........The.<CODE>fputc</CO
3c460 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 63 68 61 72 61 63 DE>.function.converts.the.charac
3c480 74 65 72 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 74 6f 20 74 79 70 65 0a 20 20 20 20 20 20 20 ter.<VAR>c</VAR>.to.type........
3c4a0 20 20 3c 43 4f 44 45 3e 75 6e 73 69 67 6e 65 64 20 63 68 61 72 3c 2f 43 4f 44 45 3e 2c 20 61 6e ..<CODE>unsigned.char</CODE>,.an
3c4c0 64 20 77 72 69 74 65 73 20 69 74 20 74 6f 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 d.writes.it.to.the.stream.<VAR>s
3c4e0 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 4f 46 3c tream</VAR>...........<CODE>EOF<
3c500 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 66 20 61 20 77 72 69 74 65 20 65 72 /CODE>.is.returned.if.a.write.er
3c520 72 6f 72 20 6f 63 63 75 72 73 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 0a 20 20 20 20 20 20 ror.occurs;.otherwise.the.......
3c540 20 20 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 72 65 74 ...character.<VAR>c</VAR>.is.ret
3c560 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 urned..........sq.~......w.....t
3c580 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a 27 74 00 13 69 6e 74 20 63 2c 20 46 49 4c 45 20 2a 73 ..stdio.hxq.~.'t..int.c,.FILE.*s
3c5a0 74 72 65 61 6d 74 00 03 69 6e 74 74 00 0e 66 70 75 74 63 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e treamt..intt..fputc_unlockedsq.~
3c5c0 00 0a 70 74 00 a8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 70 75 74 63 5f 75 ..pt...........The.<CODE>fputc_u
3c5e0 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 nlocked</CODE>.function.is.equiv
3c600 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 70 75 74 63 3c 2f 43 4f 44 45 3e 0a alent.to.the.<CODE>fputc</CODE>.
3c620 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 .........function.except.that.it
3c640 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 .does.not.implicitly.lock.the.st
3c660 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 ream..........sq.~......w.....t.
3c680 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a 2e 74 00 13 69 6e 74 20 63 2c 20 46 49 4c 45 20 2a 73 74 .stdio.hxq.~..t..int.c,.FILE.*st
3c6a0 72 65 61 6d 74 00 03 69 6e 74 74 00 05 66 70 75 74 73 73 71 00 7e 00 0a 70 74 02 ca 0a 20 20 20 reamt..intt..fputssq.~..pt......
3c6c0 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 66 70 75 74 73 3c 2f 43 .....The.function.<CODE>fputs</C
3c6e0 4f 44 45 3e 20 77 72 69 74 65 73 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 ODE>.writes.the.string.<VAR>s</V
3c700 41 52 3e 20 74 6f 20 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e AR>.to.the.stream..........<VAR>
3c720 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e stream</VAR>...The.terminating.n
3c740 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 20 6e 6f 74 20 77 72 69 74 74 65 6e 2e 0a 20 20 ull.character.is.not.written....
3c760 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 3c 45 4d 3e 6e 6f .......This.function.does.<EM>no
3c780 74 3c 2f 45 4d 3e 20 61 64 64 20 61 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 2c 20 t</EM>.add.a.newline.character,.
3c7a0 65 69 74 68 65 72 2e 0a 20 20 20 20 20 20 20 20 20 49 74 20 6f 75 74 70 75 74 73 20 6f 6e 6c 79 either...........It.outputs.only
3c7c0 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 2e 0a 20 .the.characters.in.the.string...
3c7e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 ........<br><br>.This.function.r
3c800 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 3e 20 69 66 20 61 20 77 72 69 eturns.<CODE>EOF</CODE>.if.a.wri
3c820 74 65 20 65 72 72 6f 72 20 6f 63 63 75 72 73 2c 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 0a 20 te.error.occurs,.and.otherwise..
3c840 20 20 20 20 20 20 20 20 61 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 2e 0a 20 20 ........a.non-negative.value....
3c860 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 .......<br><br>.For.example:....
3c880 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 ......<br><br>.<pre><br>........
3c8a0 20 20 66 70 75 74 73 20 28 22 41 72 65 20 22 2c 20 73 74 64 6f 75 74 29 3b 3c 62 72 3e 0a 20 20 ..fputs.("Are.",.stdout);<br>...
3c8c0 20 20 20 20 20 20 20 66 70 75 74 73 20 28 22 79 6f 75 20 22 2c 20 73 74 64 6f 75 74 29 3b 3c 62 .......fputs.("you.",.stdout);<b
3c8e0 72 3e 0a 20 20 20 20 20 20 20 20 20 66 70 75 74 73 20 28 22 68 75 6e 67 72 79 3f 5c 6e 22 2c 20 r>..........fputs.("hungry?\n",.
3c900 73 74 64 6f 75 74 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 stdout);<br>..........</pre>....
3c920 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 73 ......<br><br>...........outputs
3c940 20 74 68 65 20 74 65 78 74 20 3c 73 61 6d 70 3e 41 72 65 20 79 6f 75 20 68 75 6e 67 72 79 3f 3c .the.text.<samp>Are.you.hungry?<
3c960 2f 73 61 6d 70 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6e 65 77 6c 69 6e 65 2e 0a 20 20 /samp>.followed.by.a.newline....
3c980 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 ......sq.~......w.....t..stdio.h
3c9a0 78 71 00 7e 0a 35 74 00 1b 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 46 49 4c 45 20 2a 73 74 xq.~.5t..const.char.*s,.FILE.*st
3c9c0 72 65 61 6d 74 00 03 69 6e 74 74 00 0e 66 70 75 74 73 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 reamt..intt..fputs_unlockedsq.~.
3c9e0 0a 70 74 00 dc 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 70 75 74 73 5f 75 6e .pt...........The.<CODE>fputs_un
3ca00 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 locked</CODE>.function.is.equiva
3ca20 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 70 75 74 73 3c 2f 43 4f 44 45 3e 0a 20 lent.to.the.<CODE>fputs</CODE>..
3ca40 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 ........function.except.that.it.
3ca60 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 does.not.implicitly.lock.the.str
3ca80 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 eam...........<br><br>.This.func
3caa0 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 tion.is.a.GNU.extension.........
3cac0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a .sq.~......w.....t..stdio.hxq.~.
3cae0 3c 74 00 1b 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 <t..const.char.*s,.FILE.*streamt
3cb00 00 03 69 6e 74 74 00 06 66 70 75 74 77 63 73 71 00 7e 00 0a 70 74 00 f8 0a 20 20 20 20 20 20 20 ..intt..fputwcsq.~..pt..........
3cb20 20 54 68 65 20 3c 43 4f 44 45 3e 66 70 75 74 77 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f .The.<CODE>fputwc</CODE>.functio
3cb40 6e 20 77 72 69 74 65 73 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 n.writes.the.wide.character.<VAR
3cb60 3e 77 63 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d >wc</VAR>.to.the..........stream
3cb80 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 3c 43 4f 44 45 3e 57 45 4f 46 3c .<VAR>stream</VAR>...<CODE>WEOF<
3cba0 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 66 20 61 20 77 72 69 74 65 20 65 72 /CODE>.is.returned.if.a.write.er
3cbc0 72 6f 72 20 6f 63 63 75 72 73 3b 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 ror.occurs;..........otherwise.t
3cbe0 68 65 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 72 65 he.character.<VAR>wc</VAR>.is.re
3cc00 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a turned..........sq.~......w.....
3cc20 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 0a 43 74 00 18 77 63 68 61 72 5f 74 20 77 63 2c 20 46 t..wchar.hxq.~.Ct..wchar_t.wc,.F
3cc40 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 06 77 69 6e 74 5f 74 74 00 0f 66 70 75 74 77 63 5f 75 6e ILE.*streamt..wint_tt..fputwc_un
3cc60 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 de 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f lockedsq.~..pt...........The.<CO
3cc80 44 45 3e 66 70 75 74 77 63 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 DE>fputwc_unlocked</CODE>.functi
3cca0 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 70 on.is.equivalent.to.the.<CODE>fp
3ccc0 75 74 77 63 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 utwc</CODE>..........function.ex
3cce0 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 cept.that.it.does.not.implicitly
3cd00 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .lock.the.stream...........<br><
3cd20 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e br>.This.function.is.a.GNU.exten
3cd40 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 sion..........sq.~......w.....t.
3cd60 07 77 63 68 61 72 2e 68 78 71 00 7e 0a 4a 74 00 17 77 69 6e 74 5f 74 20 77 63 2c 20 46 49 4c 45 .wchar.hxq.~.Jt..wint_t.wc,.FILE
3cd80 20 2a 73 74 72 65 61 6d 74 00 06 77 69 6e 74 5f 74 74 00 06 66 70 75 74 77 73 73 71 00 7e 00 0a .*streamt..wint_tt..fputwssq.~..
3cda0 70 74 01 bd 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e pt...........The.function.<CODE>
3cdc0 66 70 75 74 77 73 3c 2f 43 4f 44 45 3e 20 77 72 69 74 65 73 20 74 68 65 20 77 69 64 65 20 63 68 fputws</CODE>.writes.the.wide.ch
3cde0 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 73 3c 2f 56 41 52 3e 20 74 6f 0a aracter.string.<VAR>ws</VAR>.to.
3ce00 20 20 20 20 20 20 20 20 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c .........the.stream.<VAR>stream<
3ce20 2f 56 41 52 3e 2e 20 20 54 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 /VAR>...The.terminating.null.cha
3ce40 72 61 63 74 65 72 20 69 73 20 6e 6f 74 20 77 72 69 74 74 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 racter.is.not.written...........
3ce60 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 This.function.does.<EM>not</EM>.
3ce80 61 64 64 20 61 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 2c 20 65 69 74 68 65 72 2e add.a.newline.character,.either.
3cea0 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 73 20 6f 6e 6c 79 20 74 68 65 20 63 ..It..........outputs.only.the.c
3cec0 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 haracters.in.the.string.........
3cee0 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 ..<br><br>.This.function.returns
3cf00 20 3c 43 4f 44 45 3e 57 45 4f 46 3c 2f 43 4f 44 45 3e 20 69 66 20 61 20 77 72 69 74 65 20 65 72 .<CODE>WEOF</CODE>.if.a.write.er
3cf20 72 6f 72 20 6f 63 63 75 72 73 2c 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 ror.occurs,.and.otherwise.......
3cf40 20 20 20 61 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 ...a.non-negative.value.........
3cf60 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 0a .sq.~......w.....t..wchar.hxq.~.
3cf80 51 74 00 1f 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 2c 20 46 49 4c 45 20 2a 73 74 72 Qt..const.wchar_t.*ws,.FILE.*str
3cfa0 65 61 6d 74 00 03 69 6e 74 74 00 0f 66 70 75 74 77 73 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 eamt..intt..fputws_unlockedsq.~.
3cfc0 0a 70 74 00 de 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 70 75 74 77 73 5f 75 .pt...........The.<CODE>fputws_u
3cfe0 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 nlocked</CODE>.function.is.equiv
3d000 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 70 75 74 77 73 3c 2f 43 4f 44 45 3e alent.to.the.<CODE>fputws</CODE>
3d020 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 ..........function.except.that.i
3d040 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 t.does.not.implicitly.lock.the.s
3d060 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 tream...........<br><br>.This.fu
3d080 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 nction.is.a.GNU.extension.......
3d0a0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 ...sq.~......w.....t..wchar.hxq.
3d0c0 7e 0a 58 74 00 1f 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 2c 20 46 49 4c 45 20 2a 73 ~.Xt..const.wchar_t.*ws,.FILE.*s
3d0e0 74 72 65 61 6d 74 00 03 69 6e 74 74 00 05 66 72 65 61 64 73 71 00 7e 00 0a 70 74 02 d7 0a 20 20 treamt..intt..freadsq.~..pt.....
3d100 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 75 70 20 74 6f 20 ......This.function.reads.up.to.
3d120 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 6f 62 6a 65 63 74 73 20 6f 66 20 73 69 7a 65 <VAR>count</VAR>.objects.of.size
3d140 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 69 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 74 .<VAR>size</VAR>.into..........t
3d160 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e 64 61 74 61 3c 2f 56 41 52 3e 2c 20 66 72 6f 6d 20 74 he.array.<VAR>data</VAR>,.from.t
3d180 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 49 74 he.stream.<VAR>stream</VAR>...It
3d1a0 20 72 65 74 75 72 6e 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 .returns.the..........number.of.
3d1c0 6f 62 6a 65 63 74 73 20 61 63 74 75 61 6c 6c 79 20 72 65 61 64 2c 20 77 68 69 63 68 20 6d 69 67 objects.actually.read,.which.mig
3d1e0 68 74 20 62 65 20 6c 65 73 73 20 74 68 61 6e 20 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e ht.be.less.than.<VAR>count</VAR>
3d200 20 69 66 0a 20 20 20 20 20 20 20 20 20 61 20 72 65 61 64 20 65 72 72 6f 72 20 6f 63 63 75 72 73 .if..........a.read.error.occurs
3d220 20 6f 72 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 72 65 61 63 68 .or.the.end.of.the.file.is.reach
3d240 65 64 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 ed...This.function..........retu
3d260 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 66 20 7a 65 72 6f 20 28 61 6e 64 20 64 6f 65 73 6e 27 74 rns.a.value.of.zero.(and.doesn't
3d280 20 72 65 61 64 20 61 6e 79 74 68 69 6e 67 29 20 69 66 20 65 69 74 68 65 72 20 3c 56 41 52 3e 73 .read.anything).if.either.<VAR>s
3d2a0 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 6f 72 20 3c 56 41 52 3e 63 6f 75 6e 74 ize</VAR>..........or.<VAR>count
3d2c0 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 </VAR>.is.zero...........<br><br
3d2e0 3e 20 49 66 20 3c 43 4f 44 45 3e 66 72 65 61 64 3c 2f 43 4f 44 45 3e 20 65 6e 63 6f 75 6e 74 65 >.If.<CODE>fread</CODE>.encounte
3d300 72 73 20 65 6e 64 20 6f 66 20 66 69 6c 65 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 rs.end.of.file.in.the.middle.of.
3d320 61 6e 20 6f 62 6a 65 63 74 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 an.object,.it..........returns.t
3d340 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6d 70 6c 65 74 65 20 6f 62 6a 65 63 74 73 20 72 65 he.number.of.complete.objects.re
3d360 61 64 2c 20 61 6e 64 20 64 69 73 63 61 72 64 73 20 74 68 65 20 70 61 72 74 69 61 6c 0a 20 20 20 ad,.and.discards.the.partial....
3d380 20 20 20 20 20 20 6f 62 6a 65 63 74 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 74 68 65 20 73 74 ......object...Therefore,.the.st
3d3a0 72 65 61 6d 20 72 65 6d 61 69 6e 73 20 61 74 20 74 68 65 20 61 63 74 75 61 6c 20 65 6e 64 20 6f ream.remains.at.the.actual.end.o
3d3c0 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 f.the.file..........sq.~......w.
3d3e0 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a 5f 74 00 33 76 6f 69 64 20 2a 64 61 74 ....t..stdio.hxq.~._t.3void.*dat
3d400 61 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 73 69 7a 65 5f 74 20 63 6f 75 6e 74 2c 20 46 49 a,.size_t.size,.size_t.count,.FI
3d420 4c 45 20 2a 73 74 72 65 61 6d 74 00 06 73 69 7a 65 5f 74 74 00 0e 66 72 65 61 64 5f 75 6e 6c 6f LE.*streamt..size_tt..fread_unlo
3d440 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 dc 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 ckedsq.~..pt...........The.<CODE
3d460 3e 66 72 65 61 64 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 >fread_unlocked</CODE>.function.
3d480 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 72 65 61 64 is.equivalent.to.the.<CODE>fread
3d4a0 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 </CODE>..........function.except
3d4c0 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 .that.it.does.not.implicitly.loc
3d4e0 6b 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 k.the.stream...........<br><br>.
3d500 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e This.function.is.a.GNU.extension
3d520 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 ..........sq.~......w.....t..std
3d540 69 6f 2e 68 78 71 00 7e 0a 66 74 00 33 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 69 7a 65 5f 74 20 io.hxq.~.ft.3void.*data,.size_t.
3d560 73 69 7a 65 2c 20 73 69 7a 65 5f 74 20 63 6f 75 6e 74 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d size,.size_t.count,.FILE.*stream
3d580 74 00 06 73 69 7a 65 5f 74 74 00 04 66 72 65 65 73 71 00 7e 00 0a 70 74 00 77 0a 20 20 20 20 20 t..size_tt..freesq.~..pt.w......
3d5a0 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 72 65 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f ...The.<CODE>free</CODE>.functio
3d5c0 6e 20 64 65 61 6c 6c 6f 63 61 74 65 73 20 74 68 65 20 62 6c 6f 63 6b 20 6f 66 20 6d 65 6d 6f 72 n.deallocates.the.block.of.memor
3d5e0 79 20 70 6f 69 6e 74 65 64 20 61 74 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 56 41 52 3e 70 74 y.pointed.at..........by.<VAR>pt
3d600 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 r</VAR>..........sq.~......w....
3d620 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 0a 6d 74 00 09 76 6f 69 64 20 2a 70 74 72 74 00 .t..stdlib.hxq.~.mt..void.*ptrt.
3d640 04 76 6f 69 64 74 00 07 66 72 65 6f 70 65 6e 73 71 00 7e 00 0a 70 74 05 b5 0a 20 20 20 20 20 20 .voidt..freopensq.~..pt.........
3d660 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 61 20 63 6f 6d 62 69 6e ..This.function.is.like.a.combin
3d680 61 74 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 66 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 20 61 6e 64 ation.of.<CODE>fclose</CODE>.and
3d6a0 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 49 74 .<CODE>fopen</CODE>...........It
3d6c0 20 66 69 72 73 74 20 63 6c 6f 73 65 73 20 74 68 65 20 73 74 72 65 61 6d 20 72 65 66 65 72 72 65 .first.closes.the.stream.referre
3d6e0 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2c 20 69 67 6e 6f 72 d.to.by.<VAR>stream</VAR>,.ignor
3d700 69 6e 67 20 61 6e 79 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 73 20 74 68 61 74 20 61 72 65 ing.any..........errors.that.are
3d720 20 64 65 74 65 63 74 65 64 20 69 6e 20 74 68 65 20 70 72 6f 63 65 73 73 2e 20 20 28 42 65 63 61 .detected.in.the.process...(Beca
3d740 75 73 65 20 65 72 72 6f 72 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2c 0a 20 20 20 20 20 20 20 20 use.errors.are.ignored,.........
3d760 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 20 3c 43 4f 44 45 3e 66 72 65 6f 70 65 .you.should.not.use.<CODE>freope
3d780 6e 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 6e 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 20 69 66 20 n</CODE>.on.an.output.stream.if.
3d7a0 79 6f 75 20 68 61 76 65 0a 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 64 6f 6e 65 20 you.have..........actually.done.
3d7c0 61 6e 79 20 6f 75 74 70 75 74 20 75 73 69 6e 67 20 74 68 65 20 73 74 72 65 61 6d 2e 29 20 20 54 any.output.using.the.stream.)..T
3d7e0 68 65 6e 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c hen.the.file.named.by..........<
3d800 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 6f 70 65 6e 65 64 20 77 69 74 VAR>filename</VAR>.is.opened.wit
3d820 68 20 6d 6f 64 65 20 3c 56 41 52 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e 20 61 73 20 66 6f h.mode.<VAR>opentype</VAR>.as.fo
3d840 72 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 61 r.<CODE>fopen</CODE>,..........a
3d860 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 73 74 72 65 nd.associated.with.the.same.stre
3d880 61 6d 20 6f 62 6a 65 63 74 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 am.object.<VAR>stream</VAR>.....
3d8a0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 ......<br><br>.If.the.operation.
3d8c0 66 61 69 6c 73 2c 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 72 65 74 75 72 6e 65 fails,.a.null.pointer.is.returne
3d8e0 64 3b 20 6f 74 68 65 72 77 69 73 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 72 65 d;.otherwise,..........<CODE>fre
3d900 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c open</CODE>.returns.<VAR>stream<
3d920 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 66 /VAR>...........<br><br>.<CODE>f
3d940 72 65 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 68 61 73 20 74 72 61 64 69 74 69 6f 6e 61 6c 6c 79 20 reopen</CODE>.has.traditionally.
3d960 62 65 65 6e 20 75 73 65 64 20 74 6f 20 63 6f 6e 6e 65 63 74 20 61 20 73 74 61 6e 64 61 72 64 20 been.used.to.connect.a.standard.
3d980 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 73 75 63 68 20 61 73 20 3c 43 4f 44 45 3e 73 74 stream..........such.as.<CODE>st
3d9a0 64 69 6e 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 20 66 69 6c 65 20 6f 66 20 79 6f 75 72 20 6f din</CODE>.with.a.file.of.your.o
3d9c0 77 6e 20 63 68 6f 69 63 65 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 69 6e 0a 20 20 wn.choice...This.is.useful.in...
3d9e0 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 20 69 6e 20 77 68 69 63 68 20 75 73 65 20 6f 66 20 .......programs.in.which.use.of.
3da00 61 20 73 74 61 6e 64 61 72 64 20 73 74 72 65 61 6d 20 66 6f 72 20 63 65 72 74 61 69 6e 20 70 75 a.standard.stream.for.certain.pu
3da20 72 70 6f 73 65 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 68 61 72 64 2d 63 6f 64 65 64 2e 20 20 rposes.is..........hard-coded...
3da40 49 6e 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 2c 20 79 6f 75 20 63 61 6e 20 73 69 In.the.GNU.C.library,.you.can.si
3da60 6d 70 6c 79 20 63 6c 6f 73 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 20 20 mply.close.the.standard.........
3da80 20 73 74 72 65 61 6d 73 20 61 6e 64 20 6f 70 65 6e 20 6e 65 77 20 6f 6e 65 73 20 77 69 74 68 20 .streams.and.open.new.ones.with.
3daa0 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 2e 20 20 42 75 74 20 6f 74 68 65 72 20 73 <CODE>fopen</CODE>...But.other.s
3dac0 79 73 74 65 6d 73 20 6c 61 63 6b 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 61 62 69 6c 69 74 ystems.lack..........this.abilit
3dae0 79 2c 20 73 6f 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 66 72 65 6f 70 65 6e 3c 2f 43 4f 44 45 3e y,.so.using.<CODE>freopen</CODE>
3db00 20 69 73 20 6d 6f 72 65 20 70 6f 72 74 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .is.more.portable...........<br>
3db20 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c <br>.When.the.sources.are.compil
3db40 69 6e 67 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 ing.with.<CODE>_FILE_OFFSET_BITS
3db60 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 20 62 .==.64</CODE>.on.a..........32.b
3db80 69 74 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 it.machine.this.function.is.in.f
3dba0 61 63 74 20 3c 43 4f 44 45 3e 66 72 65 6f 70 65 6e 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 act.<CODE>freopen64</CODE>.since
3dbc0 20 74 68 65 20 4c 46 53 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 20 72 65 70 6c .the.LFS..........interface.repl
3dbe0 61 63 65 73 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 aces.transparently.the.old.inter
3dc00 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 face..........sq.~......w.....t.
3dc20 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a 74 74 00 38 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c .stdio.hxq.~.tt.8const.char.*fil
3dc40 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 70 65 6e 74 79 70 65 2c 20 46 49 4c ename,.const.char.*opentype,.FIL
3dc60 45 20 2a 73 74 72 65 61 6d 74 00 06 46 49 4c 45 20 2a 74 00 09 66 72 65 6f 70 65 6e 36 34 73 71 E.*streamt..FILE.*t..freopen64sq
3dc80 00 7e 00 0a 70 74 02 af 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 .~..pt...........This.function.i
3dca0 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 66 72 65 6f 70 65 6e 3c 2f 43 4f 44 45 s.similar.to.<CODE>freopen</CODE
3dcc0 3e 2e 20 20 54 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 0a >...The.only.difference.is.that.
3dce0 20 20 20 20 20 20 20 20 20 6f 6e 20 33 32 20 62 69 74 20 6d 61 63 68 69 6e 65 20 74 68 65 20 73 .........on.32.bit.machine.the.s
3dd00 74 72 65 61 6d 20 72 65 74 75 72 6e 65 64 20 69 73 20 61 62 6c 65 20 74 6f 20 72 65 61 64 20 62 tream.returned.is.able.to.read.b
3dd20 65 79 6f 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 32 5e 33 31 20 62 79 74 65 73 20 6c 69 eyond.the..........2^31.bytes.li
3dd40 6d 69 74 73 20 69 6d 70 6f 73 65 64 20 62 79 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6e 74 65 72 mits.imposed.by.the.normal.inter
3dd60 66 61 63 65 2e 20 20 49 74 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 face...It.should.be..........not
3dd80 65 64 20 74 68 61 74 20 74 68 65 20 73 74 72 65 61 6d 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 ed.that.the.stream.pointed.to.by
3dda0 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 6e 65 65 64 20 6e 6f 74 20 62 65 20 6f .<VAR>stream</VAR>.need.not.be.o
3ddc0 70 65 6e 65 64 0a 20 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 66 6f 70 65 6e pened..........using.<CODE>fopen
3dde0 36 34 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 66 72 65 6f 70 65 6e 36 34 3c 2f 43 4f 64</CODE>.or.<CODE>freopen64</CO
3de00 44 45 3e 20 73 69 6e 63 65 20 69 74 73 20 6d 6f 64 65 20 69 73 20 6e 6f 74 20 69 6d 70 6f 72 74 DE>.since.its.mode.is.not.import
3de20 61 6e 74 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 0a ant..........for.this.function..
3de40 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 6f 75 72 63 65 73 .........<br><br>.If.the.sources
3de60 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f .are.compiled.with.<CODE>_FILE_O
3de80 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 20 33 32 0a FFSET_BITS.==.64</CODE>.on.a.32.
3dea0 20 20 20 20 20 20 20 20 20 62 69 74 73 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 .........bits.machine.this.funct
3dec0 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 ion.is.available.under.the.name.
3dee0 3c 43 4f 44 45 3e 66 72 65 6f 70 65 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e <CODE>freopen</CODE>..........an
3df00 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 d.so.transparently.replaces.the.
3df20 6f 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 old.interface..........sq.~.....
3df40 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a 7b 74 00 38 63 6f 6e 73 74 20 .w.....t..stdio.hxq.~.{t.8const.
3df60 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 70 65 6e char.*filename,.const.char.*open
3df80 74 79 70 65 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 06 46 49 4c 45 20 2a 74 00 05 66 72 type,.FILE.*streamt..FILE.*t..fr
3dfa0 65 78 70 73 71 00 7e 00 0a 70 74 03 3b 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 expsq.~..pt.;.........These.func
3dfc0 74 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 73 70 6c 69 74 20 74 68 65 20 6e 75 6d 62 tions.are.used.to.split.the.numb
3dfe0 65 72 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 er.<VAR>value</VAR>..........int
3e000 6f 20 61 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 66 72 61 63 74 69 6f 6e 20 61 6e 64 20 61 6e 20 65 o.a.normalized.fraction.and.an.e
3e020 78 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 xponent...........<br><br>.If.th
3e040 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 6e e.argument.<VAR>value</VAR>.is.n
3e060 6f 74 20 7a 65 72 6f 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 56 41 ot.zero,.the.return.value.is.<VA
3e080 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 73 20 61 20 70 R>value</VAR>..........times.a.p
3e0a0 6f 77 65 72 20 6f 66 20 74 77 6f 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79 73 20 69 6e 20 74 68 ower.of.two,.and.is.always.in.th
3e0c0 65 20 72 61 6e 67 65 20 31 2f 32 20 28 69 6e 63 6c 75 73 69 76 65 29 20 74 6f 20 31 0a 20 20 20 e.range.1/2.(inclusive).to.1....
3e0e0 20 20 20 20 20 20 28 65 78 63 6c 75 73 69 76 65 29 2e 20 20 54 68 65 20 63 6f 72 72 65 73 70 6f ......(exclusive)...The.correspo
3e100 6e 64 69 6e 67 20 65 78 70 6f 6e 65 6e 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 20 20 nding.exponent.is.stored.in.....
3e120 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 65 78 70 6f 6e 65 6e 74 3c 2f 56 41 52 3e 3c .....<CODE>*<VAR>exponent</VAR><
3e140 2f 43 4f 44 45 3e 3b 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6d 75 6c 74 69 70 6c /CODE>;.the.return.value.multipl
3e160 69 65 64 20 62 79 20 32 20 72 61 69 73 65 64 20 74 6f 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 ied.by.2.raised.to.this.........
3e180 20 65 78 70 6f 6e 65 6e 74 20 65 71 75 61 6c 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6e 75 .exponent.equals.the.original.nu
3e1a0 6d 62 65 72 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 mber.<VAR>value</VAR>...........
3e1c0 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 45 3e 66 72 65 78 <br><br>.For.example,.<CODE>frex
3e1e0 70 20 28 31 32 2e 38 2c 20 26 65 78 70 6f 6e 65 6e 74 29 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 p.(12.8,.&exponent)</CODE>.retur
3e200 6e 73 20 3c 43 4f 44 45 3e 30 2e 38 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 ns.<CODE>0.8</CODE>.and.........
3e220 20 73 74 6f 72 65 73 20 3c 43 4f 44 45 3e 34 3c 2f 43 4f 44 45 3e 20 69 6e 20 3c 43 4f 44 45 3e .stores.<CODE>4</CODE>.in.<CODE>
3e240 65 78 70 6f 6e 65 6e 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 exponent</CODE>...........<br><b
3e260 72 3e 20 49 66 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 20 r>.If.<VAR>value</VAR>.is.zero,.
3e280 74 68 65 6e 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 61 6e then.the.return.value.is.zero.an
3e2a0 64 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 3c 43 4f d..........zero.is.stored.in.<CO
3e2c0 44 45 3e 2a 3c 56 41 52 3e 65 78 70 6f 6e 65 6e 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a DE>*<VAR>exponent</VAR></CODE>..
3e2e0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e ........sq.~......w.....t..math.
3e300 68 78 71 00 7e 0a 82 74 00 1b 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 69 6e 74 20 2a 65 78 70 hxq.~..t..double.value,.int.*exp
3e320 6f 6e 65 6e 74 74 00 06 64 6f 75 62 6c 65 74 00 06 66 72 65 78 70 66 73 71 00 7e 00 0a 70 74 03 onentt..doublet..frexpfsq.~..pt.
3e340 3b 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 75 73 ;.........These.functions.are.us
3e360 65 64 20 74 6f 20 73 70 6c 69 74 20 74 68 65 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 76 61 6c 75 ed.to.split.the.number.<VAR>valu
3e380 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 6f 20 61 20 6e 6f 72 6d 61 6c 69 7a e</VAR>..........into.a.normaliz
3e3a0 65 64 20 66 72 61 63 74 69 6f 6e 20 61 6e 64 20 61 6e 20 65 78 70 6f 6e 65 6e 74 2e 0a 20 20 20 ed.fraction.and.an.exponent.....
3e3c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c ......<br><br>.If.the.argument.<
3e3e0 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 7a 65 72 6f 2c 20 74 68 65 VAR>value</VAR>.is.not.zero,.the
3e400 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 .return.value.is.<VAR>value</VAR
3e420 3e 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 73 20 61 20 70 6f 77 65 72 20 6f 66 20 74 77 6f 2c >..........times.a.power.of.two,
3e440 20 61 6e 64 20 69 73 20 61 6c 77 61 79 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 31 2f 32 20 .and.is.always.in.the.range.1/2.
3e460 28 69 6e 63 6c 75 73 69 76 65 29 20 74 6f 20 31 0a 20 20 20 20 20 20 20 20 20 28 65 78 63 6c 75 (inclusive).to.1..........(exclu
3e480 73 69 76 65 29 2e 20 20 54 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 78 70 6f 6e 65 sive)...The.corresponding.expone
3e4a0 6e 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a nt.is.stored.in..........<CODE>*
3e4c0 3c 56 41 52 3e 65 78 70 6f 6e 65 6e 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 3b 20 74 68 65 20 <VAR>exponent</VAR></CODE>;.the.
3e4e0 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6d 75 6c 74 69 70 6c 69 65 64 20 62 79 20 32 20 72 61 69 return.value.multiplied.by.2.rai
3e500 73 65 64 20 74 6f 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 65 78 70 6f 6e 65 6e 74 20 65 71 sed.to.this..........exponent.eq
3e520 75 61 6c 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 76 61 uals.the.original.number.<VAR>va
3e540 6c 75 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 lue</VAR>...........<br><br>.For
3e560 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 45 3e 66 72 65 78 70 20 28 31 32 2e 38 2c 20 26 65 78 .example,.<CODE>frexp.(12.8,.&ex
3e580 70 6f 6e 65 6e 74 29 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 2e 38 ponent)</CODE>.returns.<CODE>0.8
3e5a0 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 3c 43 4f 44 </CODE>.and..........stores.<COD
3e5c0 45 3e 34 3c 2f 43 4f 44 45 3e 20 69 6e 20 3c 43 4f 44 45 3e 65 78 70 6f 6e 65 6e 74 3c 2f 43 4f E>4</CODE>.in.<CODE>exponent</CO
3e5e0 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 76 DE>...........<br><br>.If.<VAR>v
3e600 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 20 74 68 65 6e 20 74 68 65 20 72 65 74 alue</VAR>.is.zero,.then.the.ret
3e620 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 7a urn.value.is.zero.and..........z
3e640 65 72 6f 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 65 78 70 ero.is.stored.in.<CODE>*<VAR>exp
3e660 6f 6e 65 6e 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e onent</VAR></CODE>..........sq.~
3e680 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 0a 89 74 00 1a 66 6c ......w.....t..math.hxq.~..t..fl
3e6a0 6f 61 74 20 76 61 6c 75 65 2c 20 69 6e 74 20 2a 65 78 70 6f 6e 65 6e 74 74 00 05 66 6c 6f 61 74 oat.value,.int.*exponentt..float
3e6c0 74 00 06 66 72 65 78 70 6c 73 71 00 7e 00 0a 70 74 03 3b 0a 20 20 20 20 20 20 20 20 54 68 65 73 t..frexplsq.~..pt.;.........Thes
3e6e0 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 73 70 6c 69 74 20 74 68 e.functions.are.used.to.split.th
3e700 65 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 e.number.<VAR>value</VAR>.......
3e720 20 20 20 69 6e 74 6f 20 61 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 66 72 61 63 74 69 6f 6e 20 61 6e ...into.a.normalized.fraction.an
3e740 64 20 61 6e 20 65 78 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e d.an.exponent...........<br><br>
3e760 20 49 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 .If.the.argument.<VAR>value</VAR
3e780 3e 20 69 73 20 6e 6f 74 20 7a 65 72 6f 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 >.is.not.zero,.the.return.value.
3e7a0 69 73 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 74 69 6d is.<VAR>value</VAR>..........tim
3e7c0 65 73 20 61 20 70 6f 77 65 72 20 6f 66 20 74 77 6f 2c 20 61 6e 64 20 69 73 20 61 6c 77 61 79 73 es.a.power.of.two,.and.is.always
3e7e0 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 31 2f 32 20 28 69 6e 63 6c 75 73 69 76 65 29 20 74 6f .in.the.range.1/2.(inclusive).to
3e800 20 31 0a 20 20 20 20 20 20 20 20 20 28 65 78 63 6c 75 73 69 76 65 29 2e 20 20 54 68 65 20 63 6f .1..........(exclusive)...The.co
3e820 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 78 70 6f 6e 65 6e 74 20 69 73 20 73 74 6f 72 65 64 20 69 rresponding.exponent.is.stored.i
3e840 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 65 78 70 6f 6e 65 6e 74 3c n..........<CODE>*<VAR>exponent<
3e860 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 3b 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6d /VAR></CODE>;.the.return.value.m
3e880 75 6c 74 69 70 6c 69 65 64 20 62 79 20 32 20 72 61 69 73 65 64 20 74 6f 20 74 68 69 73 0a 20 20 ultiplied.by.2.raised.to.this...
3e8a0 20 20 20 20 20 20 20 65 78 70 6f 6e 65 6e 74 20 65 71 75 61 6c 73 20 74 68 65 20 6f 72 69 67 69 .......exponent.equals.the.origi
3e8c0 6e 61 6c 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 nal.number.<VAR>value</VAR>.....
3e8e0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 ......<br><br>.For.example,.<COD
3e900 45 3e 66 72 65 78 70 20 28 31 32 2e 38 2c 20 26 65 78 70 6f 6e 65 6e 74 29 3c 2f 43 4f 44 45 3e E>frexp.(12.8,.&exponent)</CODE>
3e920 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 2e 38 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 .returns.<CODE>0.8</CODE>.and...
3e940 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 3c 43 4f 44 45 3e 34 3c 2f 43 4f 44 45 3e 20 69 6e 20 .......stores.<CODE>4</CODE>.in.
3e960 3c 43 4f 44 45 3e 65 78 70 6f 6e 65 6e 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 <CODE>exponent</CODE>...........
3e980 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 <br><br>.If.<VAR>value</VAR>.is.
3e9a0 7a 65 72 6f 2c 20 74 68 65 6e 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a zero,.then.the.return.value.is.z
3e9c0 65 72 6f 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f 20 69 73 20 73 74 6f 72 65 64 20 ero.and..........zero.is.stored.
3e9e0 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 65 78 70 6f 6e 65 6e 74 3c 2f 56 41 52 3e 3c 2f 43 in.<CODE>*<VAR>exponent</VAR></C
3ea00 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 ODE>..........sq.~......w.....t.
3ea20 06 6d 61 74 68 2e 68 78 71 00 7e 0a 90 74 00 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 76 61 6c 75 .math.hxq.~..t..long.double.valu
3ea40 65 2c 20 69 6e 74 20 2a 65 78 70 6f 6e 65 6e 74 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 e,.int.*exponentt..long.doublet.
3ea60 06 66 73 63 61 6e 66 73 71 00 7e 00 0a 70 74 00 a8 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 .fscanfsq.~..pt...........This.f
3ea80 75 6e 63 74 69 6f 6e 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 63 61 6e 66 unction.is.just.like.<CODE>scanf
3eaa0 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 69 6e 70 75 74 20 69 </CODE>,.except.that.the.input.i
3eac0 73 20 72 65 61 64 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 20 s.read..........from.the.stream.
3eae0 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 43 4f <VAR>stream</VAR>.instead.of.<CO
3eb00 44 45 3e 73 74 64 69 6e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 DE>stdin</CODE>..........sq.~...
3eb20 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a 97 74 00 27 46 49 4c 45 ...w.....t..stdio.hxq.~..t.'FILE
3eb40 20 2a 73 74 72 65 61 6d 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 .*stream,.const.char.*template,.
3eb60 2e 2e 2e 74 00 03 69 6e 74 74 00 05 66 73 65 65 6b 73 71 00 7e 00 0a 70 74 03 c5 0a 20 20 20 20 ...t..intt..fseeksq.~..pt.......
3eb80 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 ....The.<CODE>fseek</CODE>.funct
3eba0 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 66 69 6c 65 20 70 ion.is.used.to.change.the.file.p
3ebc0 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 3c osition.of.the..........stream.<
3ebe0 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 VAR>stream</VAR>...The.value.of.
3ec00 3c 56 41 52 3e 77 68 65 6e 63 65 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 <VAR>whence</VAR>.must.be.one.of
3ec20 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 61 6e 74 73 20 3c 43 4f 44 45 3e 53 45 .the..........constants.<CODE>SE
3ec40 45 4b 5f 53 45 54 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 53 45 45 4b 5f 43 55 52 3c 2f 43 EK_SET</CODE>,.<CODE>SEEK_CUR</C
3ec60 4f 44 45 3e 2c 20 6f 72 20 3c 43 4f 44 45 3e 53 45 45 4b 5f 45 4e 44 3c 2f 43 4f 44 45 3e 2c 20 ODE>,.or.<CODE>SEEK_END</CODE>,.
3ec80 74 6f 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 20 77 68 65 74 68 65 72 20 74 68 65 to..........indicate.whether.the
3eca0 20 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 20 69 73 20 72 65 6c 61 74 69 76 65 20 74 .<VAR>offset</VAR>.is.relative.t
3ecc0 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 o.the.beginning.of.the..........
3ece0 66 69 6c 65 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 2c file,.the.current.file.position,
3ed00 20 6f 72 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 2c 20 72 65 73 70 65 63 74 .or.the.end.of.the.file,.respect
3ed20 69 76 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 ively...........<br><br>.This.fu
3ed40 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 66 20 7a 65 72 6f 20 69 nction.returns.a.value.of.zero.i
3ed60 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 0a f.the.operation.was.successful,.
3ed80 20 20 20 20 20 20 20 20 20 61 6e 64 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 74 6f 20 .........and.a.nonzero.value.to.
3eda0 69 6e 64 69 63 61 74 65 20 66 61 69 6c 75 72 65 2e 20 20 41 20 73 75 63 63 65 73 73 66 75 6c 20 indicate.failure...A.successful.
3edc0 63 61 6c 6c 20 61 6c 73 6f 20 63 6c 65 61 72 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 6e call.also.clears..........the.en
3ede0 64 2d 6f 66 2d 66 69 6c 65 20 69 6e 64 69 63 61 74 6f 72 20 6f 66 20 3c 56 41 52 3e 73 74 72 65 d-of-file.indicator.of.<VAR>stre
3ee00 61 6d 3c 2f 56 41 52 3e 20 61 6e 64 20 64 69 73 63 61 72 64 73 20 61 6e 79 20 63 68 61 72 61 63 am</VAR>.and.discards.any.charac
3ee20 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 77 65 72 65 20 60 60 70 75 73 68 65 64 ters..........that.were.``pushed
3ee40 20 62 61 63 6b 27 27 20 62 79 20 74 68 65 20 75 73 65 20 6f 66 20 3c 43 4f 44 45 3e 75 6e 67 65 .back''.by.the.use.of.<CODE>unge
3ee60 74 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f tc</CODE>...........<br><br>.<CO
3ee80 44 45 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 65 69 74 68 65 72 20 66 6c 75 73 68 65 73 20 61 DE>fseek</CODE>.either.flushes.a
3eea0 6e 79 20 62 75 66 66 65 72 65 64 20 6f 75 74 70 75 74 20 62 65 66 6f 72 65 20 73 65 74 74 69 6e ny.buffered.output.before.settin
3eec0 67 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 6f 72 20 g.the.file..........position.or.
3eee0 65 6c 73 65 20 72 65 6d 65 6d 62 65 72 73 20 69 74 20 73 6f 20 69 74 20 77 69 6c 6c 20 62 65 20 else.remembers.it.so.it.will.be.
3ef00 77 72 69 74 74 65 6e 20 6c 61 74 65 72 20 69 6e 20 69 74 73 20 70 72 6f 70 65 72 0a 20 20 20 20 written.later.in.its.proper.....
3ef20 20 20 20 20 20 70 6c 61 63 65 20 69 6e 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 .....place.in.the.file..........
3ef40 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a 9e sq.~......w.....t..stdio.hxq.~..
3ef60 74 00 29 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 6c 6f 6e 67 20 69 6e 74 20 6f 66 66 73 65 74 t.)FILE.*stream,.long.int.offset
3ef80 2c 20 69 6e 74 20 77 68 65 6e 63 65 74 00 03 69 6e 74 74 00 06 66 73 65 65 6b 6f 73 71 00 7e 00 ,.int.whencet..intt..fseekosq.~.
3efa0 0a 70 74 03 fa 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 .pt...........This.function.is.s
3efc0 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 62 75 74 imilar.to.<CODE>fseek</CODE>.but
3efe0 20 69 74 20 63 6f 72 72 65 63 74 73 20 61 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 0a 20 20 20 20 .it.corrects.a.problem.with.....
3f000 20 20 20 20 20 3c 43 4f 44 45 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 69 6e 20 61 20 73 79 73 .....<CODE>fseek</CODE>.in.a.sys
3f020 74 65 6d 20 77 69 74 68 20 50 4f 53 49 58 20 74 79 70 65 73 2e 20 20 55 73 69 6e 67 20 61 20 76 tem.with.POSIX.types...Using.a.v
3f040 61 6c 75 65 20 6f 66 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 alue.of.type..........<CODE>long
3f060 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 74 68 65 20 6f 66 66 73 65 74 20 69 73 20 6e 6f .int</CODE>.for.the.offset.is.no
3f080 74 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 50 4f 53 49 58 2e 0a 20 20 20 20 20 20 20 t.compatible.with.POSIX.........
3f0a0 20 20 3c 43 4f 44 45 3e 66 73 65 65 6b 6f 3c 2f 43 4f 44 45 3e 20 75 73 65 73 20 74 68 65 20 63 ..<CODE>fseeko</CODE>.uses.the.c
3f0c0 6f 72 72 65 63 74 20 74 79 70 65 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 3e 20 66 orrect.type.<CODE>off_t</CODE>.f
3f0e0 6f 72 20 74 68 65 20 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 or.the.<VAR>offset</VAR>........
3f100 20 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 ..parameter...........<br><br>.F
3f120 6f 72 20 74 68 69 73 20 72 65 61 73 6f 6e 20 69 74 20 69 73 20 61 20 67 6f 6f 64 20 69 64 65 61 or.this.reason.it.is.a.good.idea
3f140 20 74 6f 20 70 72 65 66 65 72 20 3c 43 4f 44 45 3e 66 74 65 6c 6c 6f 3c 2f 43 4f 44 45 3e 20 77 .to.prefer.<CODE>ftello</CODE>.w
3f160 68 65 6e 65 76 65 72 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 henever.it.is..........available
3f180 20 73 69 6e 63 65 20 69 74 73 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 69 73 20 28 69 66 20 .since.its.functionality.is.(if.
3f1a0 64 69 66 66 65 72 65 6e 74 20 61 74 20 61 6c 6c 29 20 63 6c 6f 73 65 72 20 74 68 65 0a 20 20 20 different.at.all).closer.the....
3f1c0 20 20 20 20 20 20 75 6e 64 65 72 6c 79 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 20 20 20 ......underlying.definition.....
3f1e0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 ......<br><br>.The.functionality
3f200 20 61 6e 64 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 .and.return.value.is.the.same.as
3f220 20 66 6f 72 20 3c 43 4f 44 45 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 .for.<CODE>fseek</CODE>.........
3f240 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 20 65 78 ..<br><br>.The.function.is.an.ex
3f260 74 65 6e 73 69 6f 6e 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 55 6e 69 78 20 53 69 6e 67 tension.defined.in.the.Unix.Sing
3f280 6c 65 20 53 70 65 63 69 66 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f le.Specification..........versio
3f2a0 6e 20 32 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 n.2...........<br><br>.When.the.
3f2c0 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e sources.are.compiled.with.<CODE>
3f2e0 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f _FILE_OFFSET_BITS.==.64</CODE>.o
3f300 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 20 62 69 74 20 73 79 73 74 65 6d 20 74 68 69 73 20 n.a..........32.bit.system.this.
3f320 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 66 73 65 65 6b 6f function.is.in.fact.<CODE>fseeko
3f340 36 34 3c 2f 43 4f 44 45 3e 2e 20 20 49 2e 65 2e 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 4c 64</CODE>...I.e.,.the..........L
3f360 46 53 20 69 6e 74 65 72 66 61 63 65 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 FS.interface.transparently.repla
3f380 63 65 73 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 ces.the.old.interface..........s
3f3a0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a a5 74 q.~......w.....t..stdio.hxq.~..t
3f3c0 00 26 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 6f 66 66 5f 74 20 6f 66 66 73 65 74 2c 20 69 6e .&FILE.*stream,.off_t.offset,.in
3f3e0 74 20 77 68 65 6e 63 65 74 00 03 69 6e 74 74 00 08 66 73 65 65 6b 6f 36 34 73 71 00 7e 00 0a 70 t.whencet..intt..fseeko64sq.~..p
3f400 74 02 c5 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d t...........This.function.is.sim
3f420 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 66 73 65 65 6b 6f 3c 2f 43 4f 44 45 3e 20 77 69 74 68 ilar.to.<CODE>fseeko</CODE>.with
3f440 20 74 68 65 20 6f 6e 6c 79 20 64 69 66 66 65 72 65 6e 63 65 20 74 68 61 74 0a 20 20 20 20 20 20 .the.only.difference.that.......
3f460 20 20 20 74 68 65 20 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 ...the.<VAR>offset</VAR>.paramet
3f480 65 72 20 69 73 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6f 66 66 36 34 5f 74 3c 2f 43 4f 44 er.is.of.type.<CODE>off64_t</COD
3f4a0 45 3e 2e 20 20 54 68 69 73 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 73 E>...This.also..........requires
3f4c0 20 74 68 61 74 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 .that.the.stream.<VAR>stream</VA
3f4e0 52 3e 20 77 61 73 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20 65 69 74 68 65 72 0a 20 20 20 20 20 R>.was.opened.using.either......
3f500 20 20 20 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 36 34 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e ....<CODE>fopen64</CODE>,.<CODE>
3f520 66 72 65 6f 70 65 6e 36 34 3c 2f 43 4f 44 45 3e 2c 20 6f 72 20 3c 43 4f 44 45 3e 74 6d 70 66 69 freopen64</CODE>,.or.<CODE>tmpfi
3f540 6c 65 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 le64</CODE>.since.otherwise.....
3f560 20 20 20 20 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 66 69 6c 65 20 6f 70 65 72 61 74 69 .....the.underlying.file.operati
3f580 6f 6e 73 20 74 6f 20 70 6f 73 69 74 69 6f 6e 20 74 68 65 20 66 69 6c 65 20 70 6f 69 6e 74 65 72 ons.to.position.the.file.pointer
3f5a0 20 62 65 79 6f 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 32 5e 33 31 20 62 79 74 65 73 20 .beyond.the..........2^31.bytes.
3f5c0 6c 69 6d 69 74 20 6d 69 67 68 74 20 66 61 69 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c limit.might.fail...........<br><
3f5e0 62 72 3e 20 49 66 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 br>.If.the.sources.are.compiled.
3f600 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 with.<CODE>_FILE_OFFSET_BITS.==.
3f620 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 20 33 32 0a 20 20 20 20 20 20 20 20 20 62 69 74 73 20 64</CODE>.on.a.32..........bits.
3f640 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 machine.this.function.is.availab
3f660 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 66 73 65 65 6b 6f 3c 2f le.under.the.name.<CODE>fseeko</
3f680 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e CODE>..........and.so.transparen
3f6a0 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a tly.replaces.the.old.interface..
3f6c0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f ........sq.~......w.....t..stdio
3f6e0 2e 68 78 71 00 7e 0a ac 74 00 28 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 6f 66 66 36 34 5f 74 .hxq.~..t.(FILE.*stream,.off64_t
3f700 20 6f 66 66 73 65 74 2c 20 69 6e 74 20 77 68 65 6e 63 65 74 00 03 69 6e 74 74 00 07 66 73 65 74 .offset,.int.whencet..intt..fset
3f720 70 6f 73 73 71 00 7e 00 0a 70 74 03 51 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 possq.~..pt.Q.........This.funct
3f740 69 6f 6e 20 73 65 74 73 20 74 68 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 64 69 63 ion.sets.the.file.position.indic
3f760 61 74 6f 72 20 66 6f 72 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c ator.for.the.stream.<VAR>stream<
3f780 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 3c /VAR>..........to.the.position.<
3f7a0 56 41 52 3e 70 6f 73 69 74 69 6f 6e 3c 2f 56 41 52 3e 2c 20 77 68 69 63 68 20 6d 75 73 74 20 68 VAR>position</VAR>,.which.must.h
3f7c0 61 76 65 20 62 65 65 6e 20 73 65 74 20 62 79 20 61 20 70 72 65 76 69 6f 75 73 0a 20 20 20 20 20 ave.been.set.by.a.previous......
3f7e0 20 20 20 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 66 67 65 74 70 6f 73 3c 2f 43 4f 44 45 3e ....call.to.<CODE>fgetpos</CODE>
3f800 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 73 74 72 65 61 6d 2e 20 20 49 66 20 73 75 63 63 65 73 73 .on.the.same.stream...If.success
3f820 66 75 6c 2c 20 3c 43 4f 44 45 3e 66 73 65 74 70 6f 73 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 ful,.<CODE>fsetpos</CODE>.......
3f840 20 20 20 63 6c 65 61 72 73 20 74 68 65 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 20 69 6e 64 69 63 61 ...clears.the.end-of-file.indica
3f860 74 6f 72 20 6f 6e 20 74 68 65 20 73 74 72 65 61 6d 2c 20 64 69 73 63 61 72 64 73 20 61 6e 79 20 tor.on.the.stream,.discards.any.
3f880 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 77 65 72 65 20 60 60 characters..........that.were.``
3f8a0 70 75 73 68 65 64 20 62 61 63 6b 27 27 20 62 79 20 74 68 65 20 75 73 65 20 6f 66 20 3c 43 4f 44 pushed.back''.by.the.use.of.<COD
3f8c0 45 3e 75 6e 67 65 74 63 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 76 E>ungetc</CODE>,.and.returns.a.v
3f8e0 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 7a 65 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 alue..........of.zero...Otherwis
3f900 65 2c 20 3c 43 4f 44 45 3e 66 73 65 74 70 6f 73 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 e,.<CODE>fsetpos</CODE>.returns.
3f920 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 61 6e 64 20 73 74 6f 72 65 73 0a 20 20 20 20 20 a.nonzero.value.and.stores......
3f940 20 20 20 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 64 65 66 69 6e 65 64 20 70 6f ....an.implementation-defined.po
3f960 73 69 74 69 76 65 20 76 61 6c 75 65 20 69 6e 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 sitive.value.in.<CODE>errno</COD
3f980 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 E>...........<br><br>.When.the.s
3f9a0 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f ources.are.compiled.with.<CODE>_
3f9c0 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e FILE_OFFSET_BITS.==.64</CODE>.on
3f9e0 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 20 62 69 74 20 73 79 73 74 65 6d 20 74 68 65 20 66 75 .a..........32.bit.system.the.fu
3fa00 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 66 73 65 74 70 6f 73 36 nction.is.in.fact.<CODE>fsetpos6
3fa20 34 3c 2f 43 4f 44 45 3e 2e 20 20 49 2e 65 2e 2c 20 74 68 65 20 4c 46 53 0a 20 20 20 20 20 20 20 4</CODE>...I.e.,.the.LFS........
3fa40 20 20 69 6e 74 65 72 66 61 63 65 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 ..interface.transparently.replac
3fa60 65 73 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 es.the.old.interface..........sq
3fa80 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a b3 74 00 .~......w.....t..stdio.hxq.~..t.
3faa0 24 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 6f 6e 73 74 20 66 70 6f 73 5f 74 20 2a 70 6f 73 $FILE.*stream,.const.fpos_t.*pos
3fac0 69 74 69 6f 6e 74 00 03 69 6e 74 74 00 09 66 73 65 74 70 6f 73 36 34 73 71 00 7e 00 0a 70 74 01 itiont..intt..fsetpos64sq.~..pt.
3fae0 cb 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c ..........This.function.is.simil
3fb00 61 72 20 74 6f 20 3c 43 4f 44 45 3e 66 73 65 74 70 6f 73 3c 2f 43 4f 44 45 3e 20 62 75 74 20 74 ar.to.<CODE>fsetpos</CODE>.but.t
3fb20 68 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 66 he.file.position.used..........f
3fb40 6f 72 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 69 73 20 70 72 6f 76 69 64 65 64 20 69 6e 20 61 20 or.positioning.is.provided.in.a.
3fb60 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 66 70 6f 73 36 34 5f 74 3c variable.of.type.<CODE>fpos64_t<
3fb80 2f 43 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 3c 56 41 52 3e 70 6f /CODE>.to..........which.<VAR>po
3fba0 73 69 74 69 6f 6e 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 sition</VAR>.points...........<b
3fbc0 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c r><br>.If.the.sources.are.compil
3fbe0 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 ed.with.<CODE>_FILE_OFFSET_BITS.
3fc00 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 20 33 32 0a 20 20 20 20 20 20 20 20 20 62 69 ==.64</CODE>.on.a.32..........bi
3fc20 74 73 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 ts.machine.this.function.is.avai
3fc40 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 66 73 65 74 70 lable.under.the.name.<CODE>fsetp
3fc60 6f 73 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 os</CODE>..........and.so.transp
3fc80 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 arently.replaces.the.old.interfa
3fca0 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 ce..........sq.~......w.....t..s
3fcc0 74 64 69 6f 2e 68 78 71 00 7e 0a ba 74 00 26 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 6f 6e tdio.hxq.~..t.&FILE.*stream,.con
3fce0 73 74 20 66 70 6f 73 36 34 5f 74 20 2a 70 6f 73 69 74 69 6f 6e 74 00 03 69 6e 74 74 00 05 66 73 st.fpos64_t.*positiont..intt..fs
3fd00 74 61 74 73 71 00 7e 00 0a 70 74 03 15 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e tatsq.~..pt...........The.<CODE>
3fd20 66 73 74 61 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 fstat</CODE>.function.is.like.<C
3fd40 4f 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 ODE>stat</CODE>,.except.that.it.
3fd60 74 61 6b 65 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 6f 70 65 6e 20 66 69 6c 65 20 64 65 73 63 takes.an..........open.file.desc
3fd80 72 69 70 74 6f 72 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 6e 73 74 65 61 64 20 6f 66 riptor.as.an.argument.instead.of
3fda0 20 61 20 66 69 6c 65 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 .a.file.name....................
3fdc0 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 ..<br><br>.Like.<CODE>stat</CODE
3fde0 3e 2c 20 3c 43 4f 44 45 3e 66 73 74 61 74 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 >,.<CODE>fstat</CODE>.returns.<C
3fe00 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 ODE>0</CODE>.on.success.and.<COD
3fe20 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 2e E>-1</CODE>..........on.failure.
3fe40 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 ..The.following.<CODE>errno</COD
3fe60 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 E>.error.conditions.are.defined.
3fe80 66 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 73 74 61 74 3c 2f 43 4f 44 45 3e 3a for..........<CODE>fstat</CODE>:
3fea0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 ..........<br><br>.<DL>.........
3fec0 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 ..<DT><CODE>EBADF</CODE>.<DD>...
3fee0 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 .......The.<VAR>filedes</VAR>.ar
3ff00 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 gument.is.not.a.valid.file.descr
3ff20 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c iptor...........</DL>..........<
3ff40 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d br><br>.When.the.sources.are.com
3ff60 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 piled.with.<CODE>_FILE_OFFSET_BI
3ff80 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 TS.==.64</CODE>.this..........fu
3ffa0 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 66 73 74 61 74 36 34 3c nction.is.in.fact.<CODE>fstat64<
3ffc0 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 4c 46 53 20 69 6e 74 65 72 66 61 63 65 20 74 /CODE>.since.the.LFS.interface.t
3ffe0 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 73 20 74 ransparently..........replaces.t
40000 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 he.normal.implementation........
40020 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 73 74 61 74 2e 68 78 ..sq.~......w.....t..sys/stat.hx
40040 71 00 7e 0a c1 74 00 1d 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 73 74 72 75 63 74 20 73 74 61 74 q.~..t..int.filedes,.struct.stat
40060 20 2a 62 75 66 74 00 03 69 6e 74 74 00 07 66 73 74 61 74 36 34 73 71 00 7e 00 0a 70 74 02 91 0a .*buft..intt..fstat64sq.~..pt...
40080 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 ........This.function.is.similar
400a0 20 74 6f 20 3c 43 4f 44 45 3e 66 73 74 61 74 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 73 20 61 62 .to.<CODE>fstat</CODE>.but.is.ab
400c0 6c 65 20 74 6f 20 77 6f 72 6b 20 6f 6e 20 6c 61 72 67 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c le.to.work.on.large..........fil
400e0 65 73 20 6f 6e 20 33 32 2d 62 69 74 20 70 6c 61 74 66 6f 72 6d 73 2e 20 20 46 6f 72 20 6c 61 72 es.on.32-bit.platforms...For.lar
40100 67 65 20 66 69 6c 65 73 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 ge.files.the.file.descriptor....
40120 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 ......<VAR>filedes</VAR>.should.
40140 62 65 20 6f 62 74 61 69 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6f 70 65 6e 36 34 3c 2f 43 4f 44 be.obtained.by.<CODE>open64</COD
40160 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 63 72 65 61 74 36 34 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 E>.or.<CODE>creat64</CODE>......
40180 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 65 72 20 .....The.<VAR>buf</VAR>.pointer.
401a0 70 6f 69 6e 74 73 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f points.to.a.variable.of.type.<CO
401c0 44 45 3e 73 74 72 75 63 74 20 73 74 61 74 36 34 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 DE>struct.stat64</CODE>.........
401e0 20 77 68 69 63 68 20 69 73 20 61 62 6c 65 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 .which.is.able.to.represent.the.
40200 6c 61 72 67 65 72 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e larger.values...........<br><br>
40220 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 .When.the.sources.are.compiled.w
40240 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 ith.<CODE>_FILE_OFFSET_BITS.==.6
40260 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 4</CODE>.this..........function.
40280 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 is.available.under.the.name.<COD
402a0 45 3e 66 73 74 61 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e E>fstat</CODE>.and.so.transparen
402c0 74 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 69 6e 74 65 72 66 tly..........replaces.the.interf
402e0 61 63 65 20 66 6f 72 20 73 6d 61 6c 6c 20 66 69 6c 65 73 20 6f 6e 20 33 32 2d 62 69 74 20 6d 61 ace.for.small.files.on.32-bit.ma
40300 63 68 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a chines..........sq.~......w.....
40320 74 00 0a 73 79 73 2f 73 74 61 74 2e 68 78 71 00 7e 0a c8 74 00 1f 69 6e 74 20 66 69 6c 65 64 65 t..sys/stat.hxq.~..t..int.filede
40340 73 2c 20 73 74 72 75 63 74 20 73 74 61 74 36 34 20 2a 62 75 66 74 00 03 69 6e 74 74 00 05 66 73 s,.struct.stat64.*buft..intt..fs
40360 79 6e 63 73 71 00 7e 00 0a 70 74 04 fe 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e yncsq.~..pt...........The.<CODE>
40380 66 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 fsync</CODE>.function.can.be.use
403a0 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 61 6c 6c 20 64 61 74 61 20 61 73 73 6f 63 69 61 74 d.to.make.sure.all.data.associat
403c0 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 70 65 6e 20 66 69 6c 65 20 3c ed.with..........the.open.file.<
403e0 56 41 52 3e 66 69 6c 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 74 VAR>fildes</VAR>.is.written.to.t
40400 68 65 20 64 65 76 69 63 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 0a 20 20 he.device.associated.with.the...
40420 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e .......descriptor...The.function
40440 20 63 61 6c 6c 20 64 6f 65 73 20 6e 6f 74 20 72 65 74 75 72 6e 20 75 6e 6c 65 73 73 20 61 6c 6c .call.does.not.return.unless.all
40460 20 61 63 74 69 6f 6e 73 20 68 61 76 65 0a 20 20 20 20 20 20 20 20 20 66 69 6e 69 73 68 65 64 2e .actions.have..........finished.
40480 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 70 72 6f 74 6f 74 79 70 65 20 66 ..........<br><br>.A.prototype.f
404a0 6f 72 20 3c 43 4f 44 45 3e 66 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 66 6f 75 or.<CODE>fsync</CODE>.can.be.fou
404c0 6e 64 20 69 6e 20 3c 54 54 3e 75 6e 69 73 74 64 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 nd.in.<TT>unistd.h</TT>.........
404e0 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 63 61 ..<br><br>.This.function.is.a.ca
40500 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 ncellation.point.in.multi-thread
40520 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 69 73 20 61 ed.programs...This..........is.a
40540 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 61 6c 6c 6f 63 61 74 65 73 .problem.if.the.thread.allocates
40560 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 69 .some.resources.(like.memory,.fi
40580 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f le..........descriptors,.semapho
405a0 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 68 65 20 74 69 6d 65 20 3c 43 4f res.or.whatever).at.the.time.<CO
405c0 44 45 3e 66 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c DE>fsync</CODE>.is..........call
405e0 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 74 73 20 63 61 6e 63 65 6c 65 64 ed...If.the.thread.gets.canceled
40600 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 20 61 6c 6c 6f 63 61 74 65 64 0a .these.resources.stay.allocated.
40620 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 6e 64 73 2e .........until.the.program.ends.
40640 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 2c 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e ..To.avoid.this,.calls.to.<CODE>
40660 66 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 fsync</CODE>.should.be..........
40680 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 68 61 6e protected.using.cancellation.han
406a0 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 dlers...........<br><br>.The.ret
406c0 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 7a 65 72 urn.value.of.the.function.is.zer
406e0 6f 20 69 66 20 6e 6f 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2e 20 20 4f 74 68 65 72 77 69 o.if.no.error.occurred...Otherwi
40700 73 65 0a 20 20 20 20 20 20 20 20 20 69 74 20 69 73 20 2d 31 20 61 6e 64 20 74 68 65 20 67 6c 6f se..........it.is.-1.and.the.glo
40720 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 69 73 bal.variable.<VAR>errno</VAR>.is
40740 20 73 65 74 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 .set.to.the..........following.v
40760 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c alues:..........<DL>...........<
40780 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 DT><CODE>EBADF</CODE>.<DD>......
407a0 20 20 20 20 54 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 64 65 73 3c 2f ....The.descriptor.<VAR>fildes</
407c0 56 41 52 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e VAR>.is.not.valid...........<br>
407e0 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 <br>.<DT><CODE>EINVAL</CODE>.<DD
40800 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 69 73 >..........No.synchronization.is
40820 20 70 6f 73 73 69 62 6c 65 20 73 69 6e 63 65 20 74 68 65 20 73 79 73 74 65 6d 20 64 6f 65 73 20 .possible.since.the.system.does.
40840 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 not.implement.this...........</D
40860 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e L>.........sq.~......w.....t..un
40880 69 73 74 64 2e 68 78 71 00 7e 0a cf 74 00 0a 69 6e 74 20 66 69 6c 64 65 73 74 00 03 69 6e 74 74 istd.hxq.~..t..int.fildest..intt
408a0 00 05 66 74 65 6c 6c 73 71 00 7e 00 0a 70 74 01 8e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 ..ftellsq.~..pt...........This.f
408c0 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 unction.returns.the.current.file
408e0 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 .position.of.the.stream.........
40900 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .<VAR>stream</VAR>...........<br
40920 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 66 61 69 6c 20 69 66 20 ><br>.This.function.can.fail.if.
40940 74 68 65 20 73 74 72 65 61 6d 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 66 69 6c 65 20 the.stream.doesn't.support.file.
40960 70 6f 73 69 74 69 6f 6e 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 6f 72 20 69 66 20 74 68 65 20 positioning,..........or.if.the.
40980 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 63 61 6e 27 74 20 62 65 20 72 65 70 72 65 73 65 6e 74 file.position.can't.be.represent
409a0 65 64 20 69 6e 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 2c 20 61 ed.in.a.<CODE>long.int</CODE>,.a
409c0 6e 64 0a 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c 79 20 66 6f 72 20 6f 74 68 65 72 20 72 nd..........possibly.for.other.r
409e0 65 61 73 6f 6e 73 20 61 73 20 77 65 6c 6c 2e 20 20 49 66 20 61 20 66 61 69 6c 75 72 65 20 6f 63 easons.as.well...If.a.failure.oc
40a00 63 75 72 73 2c 20 61 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e curs,.a.value.of..........<CODE>
40a20 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 -1</CODE>.is.returned..........s
40a40 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a d6 74 q.~......w.....t..stdio.hxq.~..t
40a60 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 06 66 74 65 6c ..FILE.*streamt..long.intt..ftel
40a80 6c 6f 73 71 00 7e 00 0a 70 74 04 84 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 losq.~..pt...........The.<CODE>f
40aa0 74 65 6c 6c 6f 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 tello</CODE>.function.is.similar
40ac0 20 74 6f 20 3c 43 4f 44 45 3e 66 74 65 6c 6c 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 .to.<CODE>ftell</CODE>,.except.t
40ae0 68 61 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 hat.it..........returns.a.value.
40b00 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 3e 2e 20 20 53 79 73 of.type.<CODE>off_t</CODE>...Sys
40b20 74 65 6d 73 20 77 68 69 63 68 20 73 75 70 70 6f 72 74 20 74 68 69 73 20 74 79 70 65 0a 20 20 20 tems.which.support.this.type....
40b40 20 20 20 20 20 20 75 73 65 20 69 74 20 74 6f 20 64 65 73 63 72 69 62 65 20 61 6c 6c 20 66 69 6c ......use.it.to.describe.all.fil
40b60 65 20 70 6f 73 69 74 69 6f 6e 73 2c 20 75 6e 6c 69 6b 65 20 74 68 65 20 50 4f 53 49 58 20 73 70 e.positions,.unlike.the.POSIX.sp
40b80 65 63 69 66 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 75 73 65 73 20 ecification..........which.uses.
40ba0 61 20 6c 6f 6e 67 20 69 6e 74 2e 20 20 54 68 65 20 74 77 6f 20 61 72 65 20 6e 6f 74 20 6e 65 63 a.long.int...The.two.are.not.nec
40bc0 65 73 73 61 72 69 6c 79 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 20 20 essarily.the.same.size..........
40be0 20 54 68 65 72 65 66 6f 72 65 2c 20 75 73 69 6e 67 20 66 74 65 6c 6c 20 63 61 6e 20 6c 65 61 64 .Therefore,.using.ftell.can.lead
40c00 20 74 6f 20 70 72 6f 62 6c 65 6d 73 20 69 66 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 .to.problems.if.the.implementati
40c20 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 6f 6e 20 74 6f 70 20 6f 66 on.is..........written.on.top.of
40c40 20 61 20 50 4f 53 49 58 20 63 6f 6d 70 6c 69 61 6e 74 20 6c 6f 77 2d 6c 65 76 65 6c 20 49 2f 4f .a.POSIX.compliant.low-level.I/O
40c60 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 61 6e 64 20 75 73 69 6e 67 0a 20 20 20 20 20 .implementation,.and.using......
40c80 20 20 20 20 3c 43 4f 44 45 3e 66 74 65 6c 6c 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 70 72 65 66 65 ....<CODE>ftello</CODE>.is.prefe
40ca0 72 61 62 6c 65 20 77 68 65 6e 65 76 65 72 20 69 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2e 0a rable.whenever.it.is.available..
40cc0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 69 73 20 66 75 6e 63 74 69 .........<br><br>.If.this.functi
40ce0 6f 6e 20 66 61 69 6c 73 20 69 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 28 6f 66 66 5f 74 on.fails.it.returns.<CODE>(off_t
40d00 29 20 2d 31 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 63 61 6e 20 68 61 70 70 65 6e 20 64 75 ).-1</CODE>...This.can.happen.du
40d20 65 0a 20 20 20 20 20 20 20 20 20 74 6f 20 6d 69 73 73 69 6e 67 20 73 75 70 70 6f 72 74 20 66 6f e..........to.missing.support.fo
40d40 72 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 6f 72 20 69 6e 74 65 72 6e 61 6c 20 65 r.file.positioning.or.internal.e
40d60 72 72 6f 72 73 2e 20 20 4f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 rrors...Otherwise..........the.r
40d80 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 20 eturn.value.is.the.current.file.
40da0 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 position...........<br><br>.The.
40dc0 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20 64 65 66 69 6e 65 64 function.is.an.extension.defined
40de0 20 69 6e 20 74 68 65 20 55 6e 69 78 20 53 69 6e 67 6c 65 20 53 70 65 63 69 66 69 63 61 74 69 6f .in.the.Unix.Single.Specificatio
40e00 6e 0a 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 32 2e 0a 20 20 20 20 20 20 20 20 20 3c n..........version.2...........<
40e20 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d br><br>.When.the.sources.are.com
40e40 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 piled.with.<CODE>_FILE_OFFSET_BI
40e60 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 TS.==.64</CODE>.on.a..........32
40e80 20 62 69 74 20 73 79 73 74 65 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 .bit.system.this.function.is.in.
40ea0 66 61 63 74 20 3c 43 4f 44 45 3e 66 74 65 6c 6c 6f 36 34 3c 2f 43 4f 44 45 3e 2e 20 20 49 2e 65 fact.<CODE>ftello64</CODE>...I.e
40ec0 2e 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 4c 46 53 20 69 6e 74 65 72 66 61 63 65 20 74 72 .,.the..........LFS.interface.tr
40ee0 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 6e 74 ansparently.replaces.the.old.int
40f00 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a erface..........sq.~......w.....
40f20 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a dd 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 t..stdio.hxq.~..t..FILE.*streamt
40f40 00 05 6f 66 66 5f 74 74 00 08 66 74 65 6c 6c 6f 36 34 73 71 00 7e 00 0a 70 74 02 b6 0a 20 20 20 ..off_tt..ftello64sq.~..pt......
40f60 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f .....This.function.is.similar.to
40f80 20 3c 43 4f 44 45 3e 66 74 65 6c 6c 6f 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 6f 6e .<CODE>ftello</CODE>.with.the.on
40fa0 6c 79 20 64 69 66 66 65 72 65 6e 63 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 ly.difference.that..........the.
40fc0 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6f 66 return.value.is.of.type.<CODE>of
40fe0 66 36 34 5f 74 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 61 6c 73 6f 20 72 65 71 75 69 72 65 f64_t</CODE>...This.also.require
41000 73 20 74 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 3c 56 41 52 3e s.that.the..........stream.<VAR>
41020 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 77 61 73 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20 65 69 stream</VAR>.was.opened.using.ei
41040 74 68 65 72 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 36 34 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 ther.<CODE>fopen64</CODE>,......
41060 20 20 20 20 3c 43 4f 44 45 3e 66 72 65 6f 70 65 6e 36 34 3c 2f 43 4f 44 45 3e 2c 20 6f 72 20 3c ....<CODE>freopen64</CODE>,.or.<
41080 43 4f 44 45 3e 74 6d 70 66 69 6c 65 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 6f 74 68 65 CODE>tmpfile64</CODE>.since.othe
410a0 72 77 69 73 65 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 0a 20 20 20 20 20 20 20 20 20 66 69 rwise.the.underlying..........fi
410c0 6c 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 6f 20 70 6f 73 69 74 69 6f 6e 20 74 68 65 20 66 69 le.operations.to.position.the.fi
410e0 6c 65 20 70 6f 69 6e 74 65 72 20 62 65 79 6f 6e 64 20 74 68 65 20 32 5e 33 31 0a 20 20 20 20 20 le.pointer.beyond.the.2^31......
41100 20 20 20 20 62 79 74 65 73 20 6c 69 6d 69 74 20 6d 69 67 68 74 20 66 61 69 6c 2e 0a 20 20 20 20 ....bytes.limit.might.fail......
41120 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 .....<br><br>.If.the.sources.are
41140 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 .compiled.with.<CODE>_FILE_OFFSE
41160 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 20 33 32 0a 20 20 20 20 T_BITS.==.64</CODE>.on.a.32.....
41180 20 20 20 20 20 62 69 74 73 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .....bits.machine.this.function.
411a0 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 is.available.under.the.name.<COD
411c0 45 3e 66 74 65 6c 6c 6f 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 73 6f 20 E>ftello</CODE>..........and.so.
411e0 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 transparently.replaces.the.old.i
41200 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 nterface..........sq.~......w...
41220 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0a e4 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 ..t..stdio.hxq.~..t..FILE.*strea
41240 6d 74 00 07 6f 66 66 36 34 5f 74 74 00 09 66 74 72 75 6e 63 61 74 65 73 71 00 7e 00 0a 70 74 09 mt..off64_tt..ftruncatesq.~..pt.
41260 e1 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 ..........<br><br>.This.is.like.
41280 3c 43 4f 44 45 3e 74 72 75 6e 63 61 74 65 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 69 74 20 77 6f <CODE>truncate</CODE>,.but.it.wo
412a0 72 6b 73 20 6f 6e 20 61 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 64 rks.on.a.file.descriptor.<VAR>fd
412c0 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 61 6e 20 6f 70 65 6e 65 64 20 66 69 </VAR>..........for.an.opened.fi
412e0 6c 65 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 69 64 65 le.instead.of.a.file.name.to.ide
41300 6e 74 69 66 79 20 74 68 65 20 6f 62 6a 65 63 74 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 ntify.the.object...The..........
41320 66 69 6c 65 20 6d 75 73 74 20 62 65 20 6f 70 65 6e 65 64 20 66 6f 72 20 77 72 69 74 69 6e 67 20 file.must.be.opened.for.writing.
41340 74 6f 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 61 72 72 79 20 6f 75 74 20 74 68 65 20 6f 70 to.successfully.carry.out.the.op
41360 65 72 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 50 eration...........<br><br>.The.P
41380 4f 53 49 58 20 73 74 61 6e 64 61 72 64 20 6c 65 61 76 65 73 20 69 74 20 69 6d 70 6c 65 6d 65 6e OSIX.standard.leaves.it.implemen
413a0 74 61 74 69 6f 6e 20 64 65 66 69 6e 65 64 20 77 68 61 74 20 68 61 70 70 65 6e 73 20 69 66 20 74 tation.defined.what.happens.if.t
413c0 68 65 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 6e 65 77 20 3c 56 41 52 3e 6c he..........specified.new.<VAR>l
413e0 65 6e 67 74 68 3c 2f 56 41 52 3e 20 6f 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 62 69 67 67 65 ength</VAR>.of.the.file.is.bigge
41400 72 20 74 68 61 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 r.than.the.original.size........
41420 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 74 72 75 6e 63 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 ...The.<CODE>ftruncate</CODE>.fu
41440 6e 63 74 69 6f 6e 20 6d 69 67 68 74 20 73 69 6d 70 6c 79 20 6c 65 61 76 65 20 74 68 65 20 66 69 nction.might.simply.leave.the.fi
41460 6c 65 20 61 6c 6f 6e 65 20 61 6e 64 20 64 6f 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 68 69 6e 67 le.alone.and.do..........nothing
41480 20 6f 72 20 69 74 20 63 61 6e 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 73 69 7a 65 20 74 6f 20 .or.it.can.increase.the.size.to.
414a0 74 68 65 20 64 65 73 69 72 65 64 20 73 69 7a 65 2e 20 20 49 6e 20 74 68 69 73 20 6c 61 74 65 72 the.desired.size...In.this.later
414c0 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 20 74 68 65 20 65 78 74 65 6e 64 65 64 20 61 72 65 61 ..........case.the.extended.area
414e0 20 73 68 6f 75 6c 64 20 62 65 20 7a 65 72 6f 2d 66 69 6c 6c 65 64 2e 20 20 53 6f 20 75 73 69 6e .should.be.zero-filled...So.usin
41500 67 20 3c 43 4f 44 45 3e 66 74 72 75 6e 63 61 74 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 g.<CODE>ftruncate</CODE>........
41520 20 20 69 73 20 6e 6f 20 72 65 6c 69 61 62 6c 65 20 77 61 79 20 74 6f 20 69 6e 63 72 65 61 73 65 ..is.no.reliable.way.to.increase
41540 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 62 75 74 20 69 66 20 69 74 20 69 73 20 70 6f 73 73 .the.file.size.but.if.it.is.poss
41560 69 62 6c 65 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 72 6f 62 61 62 6c 79 20 74 68 65 ible.it.is..........probably.the
41580 20 66 61 73 74 65 73 74 20 77 61 79 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 6c 73 6f .fastest.way...The.function.also
415a0 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 50 4f 53 49 58 20 73 68 61 72 65 64 0a 20 20 20 20 20 20 .operates.on.POSIX.shared.......
415c0 20 20 20 6d 65 6d 6f 72 79 20 73 65 67 6d 65 6e 74 73 20 69 66 20 74 68 65 73 65 20 61 72 65 20 ...memory.segments.if.these.are.
415e0 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 74 68 65 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 implemented.by.the.system.......
41600 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 66 74 72 75 6e 63 61 74 65 3c 2f 43 4f ....<br><br>.<CODE>ftruncate</CO
41620 44 45 3e 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 69 6e 20 63 6f 6d 62 DE>.is.especially.useful.in.comb
41640 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 3c 43 4f 44 45 3e 6d 6d 61 70 3c 2f 43 4f 44 45 3e 2e 0a ination.with.<CODE>mmap</CODE>..
41660 20 20 20 20 20 20 20 20 20 53 69 6e 63 65 20 74 68 65 20 6d 61 70 70 65 64 20 72 65 67 69 6f 6e .........Since.the.mapped.region
41680 20 6d 75 73 74 20 68 61 76 65 20 61 20 66 69 78 65 64 20 73 69 7a 65 20 6f 6e 65 20 63 61 6e 6e .must.have.a.fixed.size.one.cann
416a0 6f 74 20 65 6e 6c 61 72 67 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 62 79 20 ot.enlarge.the..........file.by.
416c0 77 72 69 74 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 62 65 79 6f 6e 64 20 74 68 65 20 6c 61 73 writing.something.beyond.the.las
416e0 74 20 6d 61 70 70 65 64 20 70 61 67 65 2e 20 20 49 6e 73 74 65 61 64 20 6f 6e 65 20 68 61 73 0a t.mapped.page...Instead.one.has.
41700 20 20 20 20 20 20 20 20 20 74 6f 20 65 6e 6c 61 72 67 65 20 74 68 65 20 66 69 6c 65 20 69 74 73 .........to.enlarge.the.file.its
41720 65 6c 66 20 61 6e 64 20 74 68 65 6e 20 72 65 6d 61 70 20 74 68 65 20 66 69 6c 65 20 77 69 74 68 elf.and.then.remap.the.file.with
41740 20 74 68 65 20 6e 65 77 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 65 78 61 6d .the.new.size...........The.exam
41760 70 6c 65 20 62 65 6c 6f 77 20 73 68 6f 77 73 20 68 6f 77 20 74 68 69 73 20 77 6f 72 6b 73 2e 0a ple.below.shows.how.this.works..
41780 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 .........<br><br>.When.the.sourc
417a0 65 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 e.file.is.compiled.with.<CODE>_F
417c0 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 65 ILE_OFFSET_BITS.==.64</CODE>.the
417e0 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 74 72 75 6e 63 61 74 65 3c 2f 43 4f 44 45 3e ..........<CODE>ftruncate</CODE>
41800 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 66 74 72 75 6e .function.is.in.fact.<CODE>ftrun
41820 63 61 74 65 36 34 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 74 79 70 65 0a 20 20 20 20 20 cate64</CODE>.and.the.type......
41840 20 20 20 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 3e 20 68 61 73 20 36 34 20 62 69 ....<CODE>off_t</CODE>.has.64.bi
41860 74 73 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 68 61 ts.which.makes.it.possible.to.ha
41880 6e 64 6c 65 20 66 69 6c 65 73 20 75 70 20 74 6f 0a 20 20 20 20 20 20 20 20 20 32 5e 36 33 20 62 ndle.files.up.to..........2^63.b
418a0 79 74 65 73 20 69 6e 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ytes.in.length...........<br><br
418c0 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 30 20 66 6f 72 20 73 75 63 63 >.The.return.value.is.0.for.succ
418e0 65 73 73 2c 20 6f 72 20 2d 31 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 2e 20 20 54 68 65 0a 20 20 ess,.or.-1.for.an.error...The...
41900 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 72 72 6f 72 73 20 6d 61 79 20 6f 63 63 75 .......following.errors.may.occu
41920 72 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 r:..........<br><br>.<DL>.......
41940 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f ....<br><br>.<DT><CODE>EBADF</CO
41960 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 64 3c 2f 56 41 52 3e 20 DE>.<DD>..........<VAR>fd</VAR>.
41980 64 6f 65 73 20 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 61 6e 20 6f 70 65 6e 20 66 does.not.correspond.to.an.open.f
419a0 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 ile...........<br><br>.<DT><CODE
419c0 3e 45 41 43 43 45 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 >EACCES</CODE>.<DD>..........<VA
419e0 52 3e 66 64 3c 2f 56 41 52 3e 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 6e 6f 74 R>fd</VAR>.is.a.directory.or.not
41a00 20 6f 70 65 6e 20 66 6f 72 20 77 72 69 74 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .open.for.writing...........<br>
41a20 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 <br>.<DT><CODE>EINVAL</CODE>.<DD
41a40 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 69 73 20 >..........<VAR>length</VAR>.is.
41a60 6e 65 67 61 74 69 76 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e negative...........<br><br>.<DT>
41a80 3c 43 4f 44 45 3e 45 46 42 49 47 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 <CODE>EFBIG</CODE>.<DD>.........
41aa0 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 6f 75 6c 64 20 65 78 74 65 6e 64 20 74 68 65 20 .The.operation.would.extend.the.
41ac0 66 69 6c 65 20 62 65 79 6f 6e 64 20 74 68 65 20 6c 69 6d 69 74 73 20 6f 66 20 74 68 65 20 6f 70 file.beyond.the.limits.of.the.op
41ae0 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 erating.system...........<br><br
41b00 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 >.<DT><CODE>EIO</CODE>.<DD>.....
41b20 20 20 20 20 20 41 20 68 61 72 64 77 61 72 65 20 49 2f 4f 20 65 72 72 6f 72 20 6f 63 63 75 72 72 .....A.hardware.I/O.error.occurr
41b40 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e ed...........<br><br>.<DT><CODE>
41b60 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 EPERM</CODE>.<DD>..........The.f
41b80 69 6c 65 20 69 73 20 22 61 70 70 65 6e 64 2d 6f 6e 6c 79 22 20 6f 72 20 22 69 6d 6d 75 74 61 62 ile.is."append-only".or."immutab
41ba0 6c 65 22 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 le"...........<br><br>.<DT><CODE
41bc0 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 >EINTR</CODE>.<DD>..........The.
41be0 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 20 61 20 73 operation.was.interrupted.by.a.s
41c00 69 67 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 ignal...........<br><br>.<br><br
41c20 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 >.</DL>..........<br><br>.......
41c40 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 ..sq.~......w.....t..unistd.hxq.
41c60 7e 0a eb 74 00 14 69 6e 74 20 66 64 2c 20 6f 66 66 5f 74 20 6c 65 6e 67 74 68 74 00 03 69 6e 74 ~..t..int.fd,.off_t.lengtht..int
41c80 74 00 0b 66 74 72 75 6e 63 61 74 65 36 34 73 71 00 7e 00 0a 70 74 02 10 0a 20 20 20 20 20 20 20 t..ftruncate64sq.~..pt..........
41ca0 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 .This.function.is.similar.to.the
41cc0 20 3c 43 4f 44 45 3e 66 74 72 75 6e 63 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .<CODE>ftruncate</CODE>.function
41ce0 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 ...The..........difference.is.th
41d00 61 74 20 74 68 65 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e at.the.<VAR>length</VAR>.argumen
41d20 74 20 69 73 20 36 34 20 62 69 74 73 20 77 69 64 65 20 65 76 65 6e 20 6f 6e 20 33 32 0a 20 20 20 t.is.64.bits.wide.even.on.32....
41d40 20 20 20 20 20 20 62 69 74 73 20 6d 61 63 68 69 6e 65 73 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 ......bits.machines.which.allows
41d60 20 74 68 65 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 66 69 6c 65 73 20 77 69 74 68 20 73 69 7a 65 .the.handling.of.files.with.size
41d80 73 20 75 70 20 74 6f 0a 20 20 20 20 20 20 20 20 20 32 5e 36 33 20 62 79 74 65 73 2e 0a 20 20 20 s.up.to..........2^63.bytes.....
41da0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 ......<br><br>.When.the.source.f
41dc0 69 6c 65 20 69 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 ile.is.compiled.with.<CODE>_FILE
41de0 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 _OFFSET_BITS.==.64</CODE>.on.a..
41e00 20 20 20 20 20 20 20 20 33 32 20 62 69 74 73 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e ........32.bits.machine.this.fun
41e20 63 74 69 6f 6e 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 ction.is.actually.available.unde
41e40 72 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 74 72 75 6e 63 r.the.name..........<CODE>ftrunc
41e60 61 74 65 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 ate</CODE>.and.so.transparently.
41e80 72 65 70 6c 61 63 65 73 20 74 68 65 20 33 32 20 62 69 74 73 20 69 6e 74 65 72 66 61 63 65 2e 0a replaces.the.32.bits.interface..
41ea0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 ........sq.~......w.....t..unist
41ec0 64 2e 68 78 71 00 7e 0a f2 74 00 16 69 6e 74 20 69 64 2c 20 6f 66 66 36 34 5f 74 20 6c 65 6e 67 d.hxq.~..t..int.id,.off64_t.leng
41ee0 74 68 74 00 03 69 6e 74 74 00 0c 66 74 72 79 6c 6f 63 6b 66 69 6c 65 73 71 00 7e 00 0a 70 74 01 tht..intt..ftrylockfilesq.~..pt.
41f00 c1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 74 72 79 6c 6f 63 6b 66 69 6c 65 ..........The.<CODE>ftrylockfile
41f20 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 61 63 71 75 69 72 </CODE>.function.tries.to.acquir
41f40 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 6c 6f 63 6b 69 6e 67 0a 20 20 20 20 20 20 20 20 20 e.the.internal.locking..........
41f60 6f 62 6a 65 63 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 73 74 72 65 61 object.associated.with.the.strea
41f80 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 6a 75 73 74 20 6c 69 6b 65 0a 20 20 m.<VAR>stream</VAR>.just.like...
41fa0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e 2e 20 20 .......<CODE>flockfile</CODE>...
41fc0 42 75 74 20 75 6e 6c 69 6b 65 20 3c 43 4f 44 45 3e 66 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 But.unlike.<CODE>flockfile</CODE
41fe0 3e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 >.this.function.does.not........
42000 20 20 62 6c 6f 63 6b 20 69 66 20 74 68 65 20 6c 6f 63 6b 20 69 73 20 6e 6f 74 20 61 76 61 69 6c ..block.if.the.lock.is.not.avail
42020 61 62 6c 65 2e 20 20 3c 43 4f 44 45 3e 66 74 72 79 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e able...<CODE>ftrylockfile</CODE>
42040 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 69 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6c 6f .returns.zero.if..........the.lo
42060 63 6b 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 61 63 71 75 69 72 65 64 2e 20 20 4f ck.was.successfully.acquired...O
42080 74 68 65 72 77 69 73 65 20 74 68 65 20 73 74 72 65 61 6d 20 69 73 20 6c 6f 63 6b 65 64 20 62 79 therwise.the.stream.is.locked.by
420a0 0a 20 20 20 20 20 20 20 20 20 61 6e 6f 74 68 65 72 20 74 68 72 65 61 64 2e 0a 20 20 20 20 20 20 ..........another.thread........
420c0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e ..sq.~......w.....t..stdio.hxq.~
420e0 0a f9 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 03 66 74 77 73 71 00 ..t..FILE.*streamt..intt..ftwsq.
42100 7e 00 0a 70 74 0c 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 ~..pt...........The.<CODE>ftw</C
42120 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 74 68 65 20 63 61 6c 6c 62 61 63 6b ODE>.function.calls.the.callback
42140 20 66 75 6e 63 74 69 6f 6e 20 67 69 76 65 6e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 .function.given.in.the..........
42160 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 66 75 6e 63 3c 2f 56 41 52 3e 20 66 6f 72 20 65 76 parameter.<VAR>func</VAR>.for.ev
42180 65 72 79 20 69 74 65 6d 20 77 68 69 63 68 20 69 73 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 64 ery.item.which.is.found.in.the.d
421a0 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 62 79 20 3c irectory..........specified.by.<
421c0 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 6e 64 20 61 6c 6c 20 64 69 72 65 63 VAR>filename</VAR>.and.all.direc
421e0 74 6f 72 69 65 73 20 62 65 6c 6f 77 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 tories.below...The.function.....
42200 20 20 20 20 20 66 6f 6c 6c 6f 77 73 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 73 20 69 66 20 6e .....follows.symbolic.links.if.n
42220 65 63 65 73 73 61 72 79 20 62 75 74 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 63 65 73 73 20 61 6e ecessary.but.does.not.process.an
42240 20 69 74 65 6d 20 74 77 69 63 65 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 3c 56 41 52 3e 66 69 .item.twice...........If.<VAR>fi
42260 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 20 lename</VAR>.is.not.a.directory.
42280 74 68 65 6e 20 69 74 20 69 74 73 65 6c 66 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 6f 62 6a 65 63 then.it.itself.is.the.only.objec
422a0 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 62 t..........returned.to.the.callb
422c0 61 63 6b 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ack.function...........<br><br>.
422e0 54 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c The.file.name.passed.to.the.call
42300 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 6f 6e 73 74 72 75 63 74 65 64 20 62 79 20 back.function.is.constructed.by.
42320 74 61 6b 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d taking..........the.<VAR>filenam
42340 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 61 70 70 65 6e 64 69 6e 67 20 e</VAR>.parameter.and.appending.
42360 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 61 6c 6c 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 20 20 the.names.of.all.passed.........
42380 20 64 69 72 65 63 74 6f 72 69 65 73 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 6c 6f 63 61 6c 20 .directories.and.then.the.local.
423a0 66 69 6c 65 20 6e 61 6d 65 2e 20 20 53 6f 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 file.name...So.the.callback.func
423c0 74 69 6f 6e 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 75 73 65 20 74 68 69 73 20 70 61 72 61 6d tion.can..........use.this.param
423e0 65 74 65 72 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 66 69 6c 65 2e 20 20 3c 43 4f 44 45 3e eter.to.access.the.file...<CODE>
42400 66 74 77 3c 2f 43 4f 44 45 3e 20 61 6c 73 6f 20 63 61 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 3c ftw</CODE>.also.calls..........<
42420 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 61 6e CODE>stat</CODE>.for.the.file.an
42440 64 20 70 61 73 73 65 73 20 74 68 61 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 6f 20 d.passes.that.information.on.to.
42460 74 68 65 20 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 the.callback..........function..
42480 20 49 66 20 74 68 69 73 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 .If.this.<CODE>stat</CODE>.call.
424a0 77 61 73 20 6e 6f 74 20 73 75 63 63 65 73 73 66 75 6c 20 74 68 65 20 66 61 69 6c 75 72 65 20 69 was.not.successful.the.failure.i
424c0 73 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 73 65 74 74 69 6e 67 20 s..........indicated.by.setting.
424e0 74 68 65 20 74 68 69 72 64 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 20 63 61 6c 6c 62 61 the.third.argument.of.the.callba
42500 63 6b 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 46 54 ck.function.to..........<CODE>FT
42520 57 5f 4e 53 3c 2f 43 4f 44 45 3e 2e 20 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 73 65 W_NS</CODE>...Otherwise.it.is.se
42540 74 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 67 t.according.to.the.description.g
42560 69 76 65 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 61 63 63 6f 75 6e 74 20 6f 66 20 iven..........in.the.account.of.
42580 3c 43 4f 44 45 3e 5f 5f 66 74 77 5f 66 75 6e 63 5f 74 3c 2f 43 4f 44 45 3e 20 61 62 6f 76 65 2e <CODE>__ftw_func_t</CODE>.above.
425a0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 63 61 6c 6c 62 61 63 6b 20 ..........<br><br>.The.callback.
425c0 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 72 65 74 75 72 6e 20 30 function.is.expected.to.return.0
425e0 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 65 72 .to.indicate.that.no..........er
42600 72 6f 72 20 6f 63 63 75 72 72 65 64 20 61 6e 64 20 74 68 61 74 20 70 72 6f 63 65 73 73 69 6e 67 ror.occurred.and.that.processing
42620 20 73 68 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 2e 20 20 49 66 20 61 6e 20 65 72 72 6f 72 0a 20 .should.continue...If.an.error..
42640 20 20 20 20 20 20 20 20 6f 63 63 75 72 72 65 64 20 69 6e 20 74 68 65 20 63 61 6c 6c 62 61 63 6b ........occurred.in.the.callback
42660 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 69 74 20 77 61 6e 74 73 20 3c 43 4f 44 45 3e 66 74 77 3c .function.or.it.wants.<CODE>ftw<
42680 2f 43 4f 44 45 3e 20 74 6f 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 69 6d 6d 65 64 69 /CODE>.to.return..........immedi
426a0 61 74 65 6c 79 2c 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e ately,.the.callback.function.can
426c0 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 6f 74 68 65 72 20 74 68 61 6e 0a 20 20 20 20 20 .return.a.value.other.than......
426e0 20 20 20 20 30 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 63 6f 72 72 65 63 74 ....0...This.is.the.only.correct
42700 20 77 61 79 20 74 6f 20 73 74 6f 70 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 0a .way.to.stop.the.function...The.
42720 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 20 6d 75 73 74 20 6e 6f 74 20 75 73 65 20 3c 43 .........program.must.not.use.<C
42740 4f 44 45 3e 73 65 74 6a 6d 70 3c 2f 43 4f 44 45 3e 20 6f 72 20 73 69 6d 69 6c 61 72 20 74 65 63 ODE>setjmp</CODE>.or.similar.tec
42760 68 6e 69 71 75 65 73 20 74 6f 20 63 6f 6e 74 69 6e 75 65 0a 20 20 20 20 20 20 20 20 20 66 72 6f hniques.to.continue..........fro
42780 6d 20 61 6e 6f 74 68 65 72 20 70 6c 61 63 65 2e 20 20 54 68 69 73 20 77 6f 75 6c 64 20 6c 65 61 m.another.place...This.would.lea
427a0 76 65 20 72 65 73 6f 75 72 63 65 73 20 61 6c 6c 6f 63 61 74 65 64 20 62 79 20 74 68 65 0a 20 20 ve.resources.allocated.by.the...
427c0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .......<CODE>ftw</CODE>.function
427e0 20 75 6e 66 72 65 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 .unfreed...........<br><br>.The.
42800 3c 56 41 52 3e 64 65 73 63 72 69 70 74 6f 72 73 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 <VAR>descriptors</VAR>.parameter
42820 20 74 6f 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 4f 44 45 3e 20 73 70 65 63 69 66 69 65 73 20 68 .to.<CODE>ftw</CODE>.specifies.h
42840 6f 77 20 6d 61 6e 79 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 ow.many.file..........descriptor
42860 73 20 69 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 63 6f 6e 73 75 6d 65 2e 20 20 54 68 65 s.it.is.allowed.to.consume...The
42880 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 73 20 66 61 73 74 65 72 20 74 68 65 20 6d 6f 72 65 0a 20 .function.runs.faster.the.more..
428a0 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 20 69 74 20 63 61 6e 20 75 73 65 2e 20 ........descriptors.it.can.use..
428c0 20 46 6f 72 20 65 61 63 68 20 6c 65 76 65 6c 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 .For.each.level.in.the.directory
428e0 20 68 69 65 72 61 72 63 68 79 20 61 74 0a 20 20 20 20 20 20 20 20 20 6d 6f 73 74 20 6f 6e 65 20 .hierarchy.at..........most.one.
42900 64 65 73 63 72 69 70 74 6f 72 20 69 73 20 75 73 65 64 2c 20 62 75 74 20 66 6f 72 20 76 65 72 79 descriptor.is.used,.but.for.very
42920 20 64 65 65 70 20 6f 6e 65 73 20 61 6e 79 20 6c 69 6d 69 74 20 6f 6e 20 6f 70 65 6e 0a 20 20 20 .deep.ones.any.limit.on.open....
42940 20 20 20 20 20 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 66 6f 72 20 74 68 65 20 70 ......file.descriptors.for.the.p
42960 72 6f 63 65 73 73 20 6f 72 20 74 68 65 20 73 79 73 74 65 6d 20 6d 61 79 20 62 65 20 65 78 63 65 rocess.or.the.system.may.be.exce
42980 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 4d 6f 72 65 6f 76 65 72 2c 20 66 69 6c 65 20 64 65 eded...........Moreover,.file.de
429a0 73 63 72 69 70 74 6f 72 20 6c 69 6d 69 74 73 20 69 6e 20 61 20 6d 75 6c 74 69 2d 74 68 72 65 61 scriptor.limits.in.a.multi-threa
429c0 64 65 64 20 70 72 6f 67 72 61 6d 20 61 70 70 6c 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 61 6c ded.program.apply.to..........al
429e0 6c 20 74 68 65 20 74 68 72 65 61 64 73 20 61 73 20 61 20 67 72 6f 75 70 2c 20 61 6e 64 20 74 68 l.the.threads.as.a.group,.and.th
42a00 65 72 65 66 6f 72 65 20 69 74 20 69 73 20 61 20 67 6f 6f 64 20 69 64 65 61 20 74 6f 20 73 75 70 erefore.it.is.a.good.idea.to.sup
42a20 70 6c 79 20 61 0a 20 20 20 20 20 20 20 20 20 72 65 61 73 6f 6e 61 62 6c 65 20 6c 69 6d 69 74 20 ply.a..........reasonable.limit.
42a40 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6f 70 65 6e 20 64 65 73 63 72 69 70 74 6f 72 to.the.number.of.open.descriptor
42a60 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 s...........<br><br>.The.return.
42a80 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 4f 44 45 3e 20 66 75 value.of.the.<CODE>ftw</CODE>.fu
42aa0 6e 63 74 69 6f 6e 20 69 73 20 30 20 69 66 20 61 6c 6c 20 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 nction.is.0.if.all.callback.....
42ac0 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 72 65 74 75 72 6e 65 64 20 30 20 61 .....function.calls.returned.0.a
42ae0 6e 64 20 61 6c 6c 20 61 63 74 69 6f 6e 73 20 70 65 72 66 6f 72 6d 65 64 20 62 79 20 74 68 65 0a nd.all.actions.performed.by.the.
42b00 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 4f 44 45 3e 20 73 75 63 63 65 65 .........<CODE>ftw</CODE>.succee
42b20 64 65 64 2e 20 20 49 66 20 61 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 66 61 69 6c 65 64 20 ded...If.a.function.call.failed.
42b40 28 6f 74 68 65 72 20 74 68 61 6e 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f (other.than.calling..........<CO
42b60 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 6e 20 69 74 65 6d 29 20 74 68 65 20 66 DE>stat</CODE>.on.an.item).the.f
42b80 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 2d 31 2e 20 20 49 66 20 61 20 63 61 6c 6c 62 61 unction.returns.-1...If.a.callba
42ba0 63 6b 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 76 ck..........function.returns.a.v
42bc0 61 6c 75 65 20 6f 74 68 65 72 20 74 68 61 6e 20 30 20 74 68 69 73 20 76 61 6c 75 65 20 69 73 20 alue.other.than.0.this.value.is.
42be0 72 65 74 75 72 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 returned.as..........the.return.
42c00 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 value.of.<CODE>ftw</CODE>.......
42c20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 ....<br><br>.When.the.sources.ar
42c40 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 e.compiled.with.<CODE>_FILE_OFFS
42c60 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 ET_BITS.==.64</CODE>.on.a.......
42c80 20 20 20 33 32 2d 62 69 74 20 73 79 73 74 65 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ...32-bit.system.this.function.i
42ca0 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 66 74 77 36 34 3c 2f 43 4f 44 45 3e 2c 20 69 2e s.in.fact.<CODE>ftw64</CODE>,.i.
42cc0 65 2e 2c 20 74 68 65 20 4c 46 53 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 20 74 e.,.the.LFS..........interface.t
42ce0 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 6e ransparently.replaces.the.old.in
42d00 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 terface..........sq.~......w....
42d20 0a 74 00 05 66 74 77 2e 68 78 71 00 7e 0b 00 74 00 38 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 .t..ftw.hxq.~..t.8const.char.*fi
42d40 6c 65 6e 61 6d 65 2c 20 5f 5f 66 74 77 5f 66 75 6e 63 5f 74 20 66 75 6e 63 2c 20 69 6e 74 20 64 lename,.__ftw_func_t.func,.int.d
42d60 65 73 63 72 69 70 74 6f 72 73 74 00 03 69 6e 74 74 00 05 66 74 77 36 34 73 71 00 7e 00 0a 70 74 escriptorst..intt..ftw64sq.~..pt
42d80 02 00 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 ...........This.function.is.simi
42da0 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 74 20 63 lar.to.<CODE>ftw</CODE>.but.it.c
42dc0 61 6e 20 77 6f 72 6b 20 6f 6e 20 66 69 6c 65 73 79 73 74 65 6d 73 0a 20 20 20 20 20 20 20 20 20 an.work.on.filesystems..........
42de0 77 69 74 68 20 6c 61 72 67 65 20 66 69 6c 65 73 2e 20 20 46 69 6c 65 20 69 6e 66 6f 72 6d 61 74 with.large.files...File.informat
42e00 69 6f 6e 20 69 73 20 72 65 70 6f 72 74 65 64 20 75 73 69 6e 67 20 61 20 76 61 72 69 61 62 6c 65 ion.is.reported.using.a.variable
42e20 20 6f 66 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 73 .of.type..........<CODE>struct.s
42e40 74 61 74 36 34 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 69 73 20 70 61 73 73 65 64 20 62 79 20 tat64</CODE>.which.is.passed.by.
42e60 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 reference.to.the.callback.......
42e80 20 20 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 ...function...........<br><br>.W
42ea0 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 hen.the.sources.are.compiled.wit
42ec0 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c h.<CODE>_FILE_OFFSET_BITS.==.64<
42ee0 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 2d 62 69 74 20 73 79 73 74 /CODE>.on.a..........32-bit.syst
42f00 65 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e em.this.function.is.available.un
42f20 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 4f 44 45 3e 20 61 6e der.the.name.<CODE>ftw</CODE>.an
42f40 64 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 d..........transparently.replace
42f60 73 20 74 68 65 20 6f 6c 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 s.the.old.implementation........
42f80 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 66 74 77 2e 68 78 71 00 7e 0b 07 ..sq.~......w.....t..ftw.hxq.~..
42fa0 74 00 3a 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 5f 5f 66 74 77 36 34 t.:const.char.*filename,.__ftw64
42fc0 5f 66 75 6e 63 5f 74 20 66 75 6e 63 2c 20 69 6e 74 20 64 65 73 63 72 69 70 74 6f 72 73 74 00 03 _func_t.func,.int.descriptorst..
42fe0 69 6e 74 74 00 0b 66 75 6e 6c 6f 63 6b 66 69 6c 65 73 71 00 7e 00 0a 70 74 02 1e 0a 20 20 20 20 intt..funlockfilesq.~..pt.......
43000 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 75 6e 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e ....The.<CODE>funlockfile</CODE>
43020 20 66 75 6e 63 74 69 6f 6e 20 72 65 6c 65 61 73 65 73 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 .function.releases.the.internal.
43040 6c 6f 63 6b 69 6e 67 20 6f 62 6a 65 63 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 locking.object.of..........the.s
43060 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 54 68 65 20 73 74 72 tream.<VAR>stream</VAR>..The.str
43080 65 61 6d 20 6d 75 73 74 20 68 61 76 65 20 62 65 65 6e 20 6c 6f 63 6b 65 64 20 62 65 66 6f 72 65 eam.must.have.been.locked.before
430a0 20 62 79 20 61 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 66 6c 6f .by.a..........call.to.<CODE>flo
430c0 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e 20 6f 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 63 61 ckfile</CODE>.or.a.successful.ca
430e0 6c 6c 20 6f 66 20 3c 43 4f 44 45 3e 66 74 72 79 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e 2e ll.of.<CODE>ftrylockfile</CODE>.
43100 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 69 6d 70 6c 69 63 69 74 20 6c 6f 63 6b 69 6e 67 20 70 ..........The.implicit.locking.p
43120 65 72 66 6f 72 6d 65 64 20 62 79 20 74 68 65 20 73 74 72 65 61 6d 20 6f 70 65 72 61 74 69 6f 6e erformed.by.the.stream.operation
43140 73 20 64 6f 20 6e 6f 74 20 63 6f 75 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f s.do.not.count...........The.<CO
43160 44 45 3e 66 75 6e 6c 6f 63 6b 66 69 6c 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 DE>funlockfile</CODE>.function.d
43180 6f 65 73 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 61 oes.not.return.an.error.status.a
431a0 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 65 68 61 76 69 6f 72 20 6f 66 20 61 20 63 61 nd.the..........behavior.of.a.ca
431c0 6c 6c 20 66 6f 72 20 61 20 73 74 72 65 61 6d 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 6c 6f 63 ll.for.a.stream.which.is.not.loc
431e0 6b 65 64 20 62 79 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 74 68 72 65 ked.by.the.current..........thre
43200 61 64 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ad.is.undefined..........sq.~...
43220 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0b 0e 74 00 0c 46 49 4c 45 ...w.....t..stdio.hxq.~..t..FILE
43240 20 2a 73 74 72 65 61 6d 74 00 04 76 6f 69 64 74 00 07 66 75 74 69 6d 65 73 73 71 00 7e 00 0a 70 .*streamt..voidt..futimessq.~..p
43260 74 05 1e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b t...........This.function.is.lik
43280 65 20 3c 43 4f 44 45 3e 75 74 69 6d 65 73 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 e.<CODE>utimes</CODE>,.except.th
432a0 61 74 20 69 74 20 74 61 6b 65 73 20 61 6e 20 6f 70 65 6e 20 66 69 6c 65 0a 20 20 20 20 20 20 20 at.it.takes.an.open.file........
432c0 20 20 64 65 73 63 72 69 70 74 6f 72 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 6e 73 74 ..descriptor.as.an.argument.inst
432e0 65 61 64 20 6f 66 20 61 20 66 69 6c 65 20 6e 61 6d 65 2e 20 20 2e 20 20 54 68 69 73 20 66 75 6e ead.of.a.file.name......This.fun
43300 63 74 69 6f 6e 20 63 6f 6d 65 73 20 66 72 6f 6d 20 46 72 65 65 42 53 44 2c 20 61 6e 64 20 69 73 ction.comes.from.FreeBSD,.and.is
43320 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 .not.available.on.all..........p
43340 6c 61 74 66 6f 72 6d 73 20 28 69 66 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2c 20 69 74 20 77 latforms.(if.not.available,.it.w
43360 69 6c 6c 20 66 61 69 6c 20 77 69 74 68 20 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 ill.fail.with.<CODE>ENOSYS</CODE
43380 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 69 6b 65 20 3c 43 4f 44 45 >)...........<br><br>.Like.<CODE
433a0 3e 75 74 69 6d 65 73 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 66 75 74 69 6d 65 73 3c 2f 43 >utimes</CODE>,.<CODE>futimes</C
433c0 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 ODE>.returns.<CODE>0</CODE>.on.s
433e0 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 uccess.and.<CODE>-1</CODE>......
43400 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c ....on.failure...The.following.<
43420 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f CODE>errno</CODE>.error.conditio
43440 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 ns.are.defined.for..........<COD
43460 45 3e 66 75 74 69 6d 65 73 3c 2f 43 4f 44 45 3e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c E>futimes</CODE>:..........<br><
43480 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 br>.<DL>...........<DT><CODE>EAC
434a0 43 45 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 70 65 72 6d 69 73 73 69 CES..........There.is.a.permissi
434c0 6f 6e 20 70 72 6f 62 6c 65 6d 20 69 6e 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20 61 20 6e on.problem.in.the.case.where.a.n
434e0 75 6c 6c 20 70 6f 69 6e 74 65 72 20 77 61 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 ull.pointer.was</CODE>.<DD>.....
43500 20 20 20 20 20 70 61 73 73 65 64 20 61 73 20 74 68 65 20 3c 56 41 52 3e 74 69 6d 65 73 3c 2f 56 .....passed.as.the.<VAR>times</V
43520 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 75 70 64 61 74 AR>.argument...In.order.to.updat
43540 65 20 74 68 65 20 74 69 6d 65 20 73 74 61 6d 70 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 e.the.time.stamp.on..........the
43560 20 66 69 6c 65 2c 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 62 65 20 74 68 65 20 6f 77 .file,.you.must.either.be.the.ow
43580 6e 65 72 20 6f 66 20 74 68 65 20 66 69 6c 65 2c 20 68 61 76 65 20 77 72 69 74 65 0a 20 20 20 20 ner.of.the.file,.have.write.....
435a0 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 66 69 6c 65 2c 20 6f 72 .....permission.for.the.file,.or
435c0 20 62 65 20 61 20 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 .be.a.privileged.user...........
435e0 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a <br><br>.<DT><CODE>EBADF</CODE>.
43600 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f <DD>..........The.<VAR>filedes</
43620 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c VAR>.argument.is.not.a.valid.fil
43640 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 e.descriptor...........<br><br>.
43660 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 <DT><CODE>EPERM</CODE>.<DD>.....
43680 20 20 20 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 74 69 6d 65 73 3c 2f 56 41 52 3e 20 61 72 67 .....If.the.<VAR>times</VAR>.arg
436a0 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 79 6f 75 ument.is.not.a.null.pointer,.you
436c0 20 6d 75 73 74 20 65 69 74 68 65 72 20 62 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 77 6e .must.either.be..........the.own
436e0 65 72 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6f 72 20 62 65 20 61 20 70 72 69 76 69 6c 65 67 65 er.of.the.file.or.be.a.privilege
43700 64 20 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 d.user...........<br><br>.<DT><C
43720 4f 44 45 3e 45 52 4f 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 ODE>EROFS</CODE>.<DD>..........T
43740 68 65 20 66 69 6c 65 20 6c 69 76 65 73 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c he.file.lives.on.a.read-only.fil
43760 65 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 e.system...........</DL>........
43780 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 74 69 6d 65 2e 68 78 71 .sq.~......w.....t..sys/time.hxq
437a0 00 7e 0b 15 74 00 1d 69 6e 74 20 66 64 2c 20 73 74 72 75 63 74 20 74 69 6d 65 76 61 6c 20 74 76 .~..t..int.fd,.struct.timeval.tv
437c0 70 5b 32 5d 74 00 03 69 6e 74 74 00 05 66 77 69 64 65 73 71 00 7e 00 0a 70 74 03 94 0a 20 20 20 p[2]t..intt..fwidesq.~..pt......
437e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 66 77 69 64 65 3c 2f 43 .....<br><br>.The.<CODE>fwide</C
43800 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 65 74 ODE>.function.can.be.used.to.set
43820 20 61 6e 64 20 71 75 65 72 79 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 0a 20 20 20 20 .and.query.the.state.of.the.....
43840 20 20 20 20 20 6f 72 69 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 72 65 61 6d 20 3c .....orientation.of.the.stream.<
43860 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 6d VAR>stream</VAR>...If.the.<VAR>m
43880 6f 64 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 68 61 73 0a 20 20 20 20 20 20 20 20 ode</VAR>.parameter.has.........
438a0 20 61 20 70 6f 73 69 74 69 76 65 20 76 61 6c 75 65 20 74 68 65 20 73 74 72 65 61 6d 73 20 67 65 .a.positive.value.the.streams.ge
438c0 74 20 77 69 64 65 20 6f 72 69 65 6e 74 65 64 2c 20 66 6f 72 20 6e 65 67 61 74 69 76 65 20 76 61 t.wide.oriented,.for.negative.va
438e0 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 6e 61 72 72 6f 77 20 6f 72 69 65 6e 74 65 64 2e 20 20 lues..........narrow.oriented...
43900 49 74 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 6f 76 65 72 77 72 69 74 65 20 It.is.not.possible.to.overwrite.
43920 70 72 65 76 69 6f 75 73 20 6f 72 69 65 6e 74 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 77 previous.orientations..........w
43940 69 74 68 20 3c 43 4f 44 45 3e 66 77 69 64 65 3c 2f 43 4f 44 45 3e 2e 20 20 49 2e 65 2e 2c 20 69 ith.<CODE>fwide</CODE>...I.e.,.i
43960 66 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 77 f.the.stream.<VAR>stream</VAR>.w
43980 61 73 20 61 6c 72 65 61 64 79 0a 20 20 20 20 20 20 20 20 20 6f 72 69 65 6e 74 65 64 20 62 65 66 as.already..........oriented.bef
439a0 6f 72 65 20 74 68 65 20 63 61 6c 6c 20 6e 6f 74 68 69 6e 67 20 69 73 20 64 6f 6e 65 2e 0a 20 20 ore.the.call.nothing.is.done....
439c0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 .......<br><br>.If.<VAR>mode</VA
439e0 52 3e 20 69 73 20 7a 65 72 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6f 72 69 65 6e 74 61 74 69 R>.is.zero.the.current.orientati
43a00 6f 6e 20 73 74 61 74 65 20 69 73 20 71 75 65 72 69 65 64 20 61 6e 64 0a 20 20 20 20 20 20 20 20 on.state.is.queried.and.........
43a20 20 6e 6f 74 68 69 6e 67 20 69 73 20 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 .nothing.is.changed...........<b
43a40 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 66 77 69 64 65 3c 2f 43 4f 44 45 3e 20 66 75 r><br>.The.<CODE>fwide</CODE>.fu
43a60 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 2c nction.returns.a.negative.value,
43a80 20 7a 65 72 6f 2c 20 6f 72 20 61 20 70 6f 73 69 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 76 61 .zero,.or.a.positive..........va
43aa0 6c 75 65 20 69 66 20 74 68 65 20 73 74 72 65 61 6d 20 69 73 20 6e 61 72 72 6f 77 2c 20 6e 6f 74 lue.if.the.stream.is.narrow,.not
43ac0 20 61 74 20 61 6c 6c 2c 20 6f 72 20 77 69 64 65 20 6f 72 69 65 6e 74 65 64 0a 20 20 20 20 20 20 .at.all,.or.wide.oriented.......
43ae0 20 20 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ...respectively...........<br><b
43b00 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 r>.This.function.was.introduced.
43b20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 74 6f 20 49 53 4f 20 43 39 30 20 61 6e 64 20 69 73 in.Amendment.1.to.ISO.C90.and.is
43b40 0a 20 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 61 72 2e ..........declared.in.<TT>wchar.
43b60 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a h</TT>..........sq.~......w.....
43b80 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 0b 1c 74 00 16 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c t..wchar.hxq.~..t..FILE.*stream,
43ba0 20 69 6e 74 20 6d 6f 64 65 74 00 03 69 6e 74 74 00 08 66 77 70 72 69 6e 74 66 73 71 00 7e 00 0a .int.modet..intt..fwprintfsq.~..
43bc0 70 74 00 ad 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6a 75 pt...........This.function.is.ju
43be0 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 77 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2c 20 65 78 st.like.<CODE>wprintf</CODE>,.ex
43c00 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6f 75 74 70 75 74 20 69 73 0a 20 20 20 20 20 20 20 20 cept.that.the.output.is.........
43c20 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 .written.to.the.stream.<VAR>stre
43c40 61 6d 3c 2f 56 41 52 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 43 4f 44 45 3e 73 74 64 6f 75 74 am</VAR>.instead.of.<CODE>stdout
43c60 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 </CODE>..........sq.~......w....
43c80 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 0b 23 74 00 2a 46 49 4c 45 20 2a 73 74 72 65 61 6d .t..wchar.hxq.~.#t.*FILE.*stream
43ca0 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 ,.const.wchar_t.*template,....t.
43cc0 03 69 6e 74 74 00 06 66 77 72 69 74 65 73 71 00 7e 00 0a 70 74 01 4c 0a 20 20 20 20 20 20 20 20 .intt..fwritesq.~..pt.L.........
43ce0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 73 20 75 70 20 74 6f 20 3c 56 41 52 3e This.function.writes.up.to.<VAR>
43d00 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 6f 62 6a 65 63 74 73 20 6f 66 20 73 69 7a 65 20 3c 56 41 52 count</VAR>.objects.of.size.<VAR
43d20 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 61 72 >size</VAR>.from..........the.ar
43d40 72 61 79 20 3c 56 41 52 3e 64 61 74 61 3c 2f 56 41 52 3e 2c 20 74 6f 20 74 68 65 20 73 74 72 65 ray.<VAR>data</VAR>,.to.the.stre
43d60 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 74 75 72 am.<VAR>stream</VAR>...The.retur
43d80 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 72 6d 61 6c 6c 79 20 3c 56 41 n.value.is..........normally.<VA
43da0 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 2c 20 69 66 20 74 68 65 20 63 61 6c 6c 20 73 75 63 63 65 R>count</VAR>,.if.the.call.succe
43dc0 65 64 73 2e 20 20 41 6e 79 20 6f 74 68 65 72 20 76 61 6c 75 65 20 69 6e 64 69 63 61 74 65 73 0a eds...Any.other.value.indicates.
43de0 20 20 20 20 20 20 20 20 20 73 6f 6d 65 20 73 6f 72 74 20 6f 66 20 65 72 72 6f 72 2c 20 73 75 63 .........some.sort.of.error,.suc
43e00 68 20 61 73 20 72 75 6e 6e 69 6e 67 20 6f 75 74 20 6f 66 20 73 70 61 63 65 2e 0a 20 20 20 20 20 h.as.running.out.of.space.......
43e20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 ...sq.~......w.....t..stdio.hxq.
43e40 7e 0b 2a 74 00 39 63 6f 6e 73 74 20 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 69 7a 65 5f 74 20 73 ~.*t.9const.void.*data,.size_t.s
43e60 69 7a 65 2c 20 73 69 7a 65 5f 74 20 63 6f 75 6e 74 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 ize,.size_t.count,.FILE.*streamt
43e80 00 06 73 69 7a 65 5f 74 74 00 0f 66 77 72 69 74 65 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a ..size_tt..fwrite_unlockedsq.~..
43ea0 70 74 00 de 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 66 77 72 69 74 65 5f 75 6e pt...........The.<CODE>fwrite_un
43ec0 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 locked</CODE>.function.is.equiva
43ee0 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 66 77 72 69 74 65 3c 2f 43 4f 44 45 3e 0a lent.to.the.<CODE>fwrite</CODE>.
43f00 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 .........function.except.that.it
43f20 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 .does.not.implicitly.lock.the.st
43f40 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e ream...........<br><br>.This.fun
43f60 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 ction.is.a.GNU.extension........
43f80 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e ..sq.~......w.....t..stdio.hxq.~
43fa0 0b 31 74 00 39 63 6f 6e 73 74 20 76 6f 69 64 20 2a 64 61 74 61 2c 20 73 69 7a 65 5f 74 20 73 69 .1t.9const.void.*data,.size_t.si
43fc0 7a 65 2c 20 73 69 7a 65 5f 74 20 63 6f 75 6e 74 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 ze,.size_t.count,.FILE.*streamt.
43fe0 06 73 69 7a 65 5f 74 74 00 07 66 77 73 63 61 6e 66 73 71 00 7e 00 0a 70 74 00 a9 0a 20 20 20 20 .size_tt..fwscanfsq.~..pt.......
44000 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c ....This.function.is.just.like.<
44020 43 4f 44 45 3e 77 73 63 61 6e 66 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 CODE>wscanf</CODE>,.except.that.
44040 74 68 65 20 69 6e 70 75 74 20 69 73 20 72 65 61 64 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 the.input.is.read..........from.
44060 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 69 6e 73 the.stream.<VAR>stream</VAR>.ins
44080 74 65 61 64 20 6f 66 20 3c 43 4f 44 45 3e 73 74 64 69 6e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 tead.of.<CODE>stdin</CODE>......
440a0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 ....sq.~......w.....t..wchar.hxq
440c0 00 7e 0b 38 74 00 2a 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 .~.8t.*FILE.*stream,.const.wchar
440e0 5f 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 05 67 61 6d 6d 61 73 _t.*template,....t..intt..gammas
44100 71 00 7e 00 0a 70 74 01 4f 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt.O.........These.function
44120 73 20 65 78 69 73 74 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 6f 6e s.exist.for.compatibility.reason
44140 73 2e 20 20 54 68 65 79 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 s...They.are.equivalent.to......
44160 20 20 20 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 65 74 63 2e 20 20 49 74 ....<CODE>lgamma</CODE>.etc...It
44180 20 69 73 20 62 65 74 74 65 72 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f .is.better.to.use.<CODE>lgamma</
441a0 43 4f 44 45 3e 20 73 69 6e 63 65 20 66 6f 72 20 6f 6e 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 CODE>.since.for.one.the.........
441c0 20 6e 61 6d 65 20 72 65 66 6c 65 63 74 73 20 62 65 74 74 65 72 20 74 68 65 20 61 63 74 75 61 6c .name.reflects.better.the.actual
441e0 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 6d 6f 72 65 6f 76 65 72 20 3c 43 4f 44 45 3e 6c 67 61 .computation,.moreover.<CODE>lga
44200 6d 6d 61 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 69 mma</CODE>.is..........standardi
44220 7a 65 64 20 69 6e 20 49 53 4f 20 43 39 39 20 77 68 69 6c 65 20 3c 43 4f 44 45 3e 67 61 6d 6d 61 zed.in.ISO.C99.while.<CODE>gamma
44240 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 </CODE>.is.not..........sq.~....
44260 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 0b 3f 74 00 08 64 6f 75 62 6c 65 ..w.....t..math.hxq.~.?t..double
44280 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 67 61 6d 6d 61 66 73 71 00 7e 00 0a 70 74 01 4f 0a 20 .xt..doublet..gammafsq.~..pt.O..
442a0 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 65 78 69 73 74 20 66 6f 72 .......These.functions.exist.for
442c0 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 72 65 61 73 6f 6e 73 2e 20 20 54 68 65 79 20 61 72 .compatibility.reasons...They.ar
442e0 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c e.equivalent.to..........<CODE>l
44300 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 65 74 63 2e 20 20 49 74 20 69 73 20 62 65 74 74 65 72 20 gamma</CODE>.etc...It.is.better.
44320 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 to.use.<CODE>lgamma</CODE>.since
44340 20 66 6f 72 20 6f 6e 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 72 65 66 6c 65 .for.one.the..........name.refle
44360 63 74 73 20 62 65 74 74 65 72 20 74 68 65 20 61 63 74 75 61 6c 20 63 6f 6d 70 75 74 61 74 69 6f cts.better.the.actual.computatio
44380 6e 2c 20 6d 6f 72 65 6f 76 65 72 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 n,.moreover.<CODE>lgamma</CODE>.
443a0 69 73 0a 20 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 69 6e 20 49 53 4f 20 is..........standardized.in.ISO.
443c0 43 39 39 20 77 68 69 6c 65 20 3c 43 4f 44 45 3e 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 69 73 20 C99.while.<CODE>gamma</CODE>.is.
443e0 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 not..........sq.~......w.....t..
44400 6d 61 74 68 2e 68 78 71 00 7e 0b 46 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 math.hxq.~.Ft..float.xt..floatt.
44420 06 67 61 6d 6d 61 6c 73 71 00 7e 00 0a 70 74 01 4f 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 .gammalsq.~..pt.O.........These.
44440 66 75 6e 63 74 69 6f 6e 73 20 65 78 69 73 74 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 functions.exist.for.compatibilit
44460 79 20 72 65 61 73 6f 6e 73 2e 20 20 54 68 65 79 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 20 y.reasons...They.are.equivalent.
44480 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 to..........<CODE>lgamma</CODE>.
444a0 65 74 63 2e 20 20 49 74 20 69 73 20 62 65 74 74 65 72 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e etc...It.is.better.to.use.<CODE>
444c0 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 66 6f 72 20 6f 6e 65 20 74 68 65 0a lgamma</CODE>.since.for.one.the.
444e0 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 72 65 66 6c 65 63 74 73 20 62 65 74 74 65 72 20 74 68 .........name.reflects.better.th
44500 65 20 61 63 74 75 61 6c 20 63 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 6d 6f 72 65 6f 76 65 72 20 3c e.actual.computation,.moreover.<
44520 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 CODE>lgamma</CODE>.is..........s
44540 74 61 6e 64 61 72 64 69 7a 65 64 20 69 6e 20 49 53 4f 20 43 39 39 20 77 68 69 6c 65 20 3c 43 4f tandardized.in.ISO.C99.while.<CO
44560 44 45 3e 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 DE>gamma</CODE>.is.not..........
44580 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 0b 4d 74 sq.~......w.....t..math.hxq.~.Mt
445a0 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 ..long.double.xt..long.doublet..
445c0 67 63 76 74 73 71 00 7e 00 0a 70 74 01 6b 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 63 76 gcvtsq.~..pt.k.........<CODE>gcv
445e0 74 3c 2f 43 4f 44 45 3e 20 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 6c 79 20 65 71 75 69 76 61 6c t</CODE>.is.functionally.equival
44600 65 6e 74 20 74 6f 20 3c 73 61 6d 70 3e 73 70 72 69 6e 74 66 28 62 75 66 2c 20 22 25 2a 67 22 2c ent.to.<samp>sprintf(buf,."%*g",
44620 0a 20 20 20 20 20 20 20 20 20 6e 64 69 67 69 74 2c 20 76 61 6c 75 65 3c 2f 73 61 6d 70 3e 2e 20 ..........ndigit,.value</samp>..
44640 20 49 74 20 69 73 20 70 72 6f 76 69 64 65 64 20 6f 6e 6c 79 20 66 6f 72 20 63 6f 6d 70 61 74 69 .It.is.provided.only.for.compati
44660 62 69 6c 69 74 79 27 73 20 73 61 6b 65 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 bility's.sake...It..........retu
44680 72 6e 73 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 rns.<VAR>buf</VAR>...........<br
446a0 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6e 64 69 67 69 74 3c 2f 56 41 52 3e 20 64 65 63 69 6d ><br>.If.<VAR>ndigit</VAR>.decim
446c0 61 6c 20 64 69 67 69 74 73 20 77 6f 75 6c 64 20 65 78 63 65 65 64 20 74 68 65 20 70 72 65 63 69 al.digits.would.exceed.the.preci
446e0 73 69 6f 6e 20 6f 66 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 64 6f 75 62 6c 65 3c sion.of.a..........<CODE>double<
44700 2f 43 4f 44 45 3e 20 69 74 20 69 73 20 72 65 64 75 63 65 64 20 74 6f 20 61 20 73 79 73 74 65 6d /CODE>.it.is.reduced.to.a.system
44720 2d 73 70 65 63 69 66 69 63 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 -specific.value..........sq.~...
44740 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 0b 54 74 00 23 64 6f 75 ...w.....t..stdlib.hxq.~.Tt.#dou
44760 62 6c 65 20 76 61 6c 75 65 2c 20 69 6e 74 20 6e 64 69 67 69 74 2c 20 63 68 61 72 20 2a 62 75 66 ble.value,.int.ndigit,.char.*buf
44780 74 00 06 63 68 61 72 20 2a 74 00 10 67 65 74 5f 61 76 70 68 79 73 5f 70 61 67 65 73 73 71 00 7e t..char.*t..get_avphys_pagessq.~
447a0 00 0a 70 74 01 12 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 5f 70 68 79 ..pt...........The.<CODE>get_phy
447c0 73 5f 70 61 67 65 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 s_pages</CODE>.function.returns.
447e0 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 70 61 67 65 73 20 6f 66 the.number.of.available.pages.of
44800 0a 20 20 20 20 20 20 20 20 20 70 68 79 73 69 63 61 6c 20 74 68 65 20 73 79 73 74 65 6d 20 68 61 ..........physical.the.system.ha
44820 73 2e 20 20 54 6f 20 67 65 74 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 s...To.get.the.amount.of.memory.
44840 74 68 69 73 20 6e 75 6d 62 65 72 20 68 61 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 62 65 20 6d this.number.has.to..........be.m
44860 75 6c 74 69 70 6c 69 65 64 20 62 79 20 74 68 65 20 70 61 67 65 20 73 69 7a 65 2e 0a 20 20 20 20 ultiplied.by.the.page.size......
44880 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 .....<br><br>.This.function.is.a
448a0 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 .GNU.extension..........sq.~....
448c0 00 01 77 04 00 00 00 0a 74 00 0d 73 79 73 2f 73 79 73 69 6e 66 6f 2e 68 78 71 00 7e 0b 5b 74 00 ..w.....t..sys/sysinfo.hxq.~.[t.
448e0 04 76 6f 69 64 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 14 67 65 74 5f 63 75 72 72 65 6e 74 5f 64 .voidt..long.intt..get_current_d
44900 69 72 5f 6e 61 6d 65 73 71 00 7e 00 0a 70 74 02 5e 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 ir_namesq.~..pt.^...............
44920 20 20 20 20 54 68 69 73 20 3c 43 4f 44 45 3e 67 65 74 5f 63 75 72 72 65 6e 74 5f 64 69 72 5f 6e ....This.<CODE>get_current_dir_n
44940 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 62 61 73 69 63 61 6c 6c 79 ame</CODE>.function.is.basically
44960 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 .equivalent.to..........<CODE>ge
44980 74 63 77 64 20 28 4e 55 4c 4c 2c 20 30 29 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 6f 6e 6c 79 tcwd.(NULL,.0)</CODE>...The.only
449a0 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 .difference.is.that.the.value.of
449c0 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 43 4f 44 45 3e 50 57 44 3c 2f 43 4f 44 45 3e 20 76 ..........the.<CODE>PWD</CODE>.v
449e0 61 72 69 61 62 6c 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 66 20 74 68 69 73 20 76 61 6c 75 ariable.is.returned.if.this.valu
44a00 65 20 69 73 20 63 6f 72 72 65 63 74 2e 20 20 54 68 69 73 20 69 73 20 61 0a 20 20 20 20 20 20 20 e.is.correct...This.is.a........
44a20 20 20 73 75 62 74 6c 65 20 64 69 66 66 65 72 65 6e 63 65 20 77 68 69 63 68 20 69 73 20 76 69 73 ..subtle.difference.which.is.vis
44a40 69 62 6c 65 20 69 66 20 74 68 65 20 70 61 74 68 20 64 65 73 63 72 69 62 65 64 20 62 79 20 74 68 ible.if.the.path.described.by.th
44a60 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 50 57 44 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 e..........<CODE>PWD</CODE>.valu
44a80 65 20 69 73 20 75 73 69 6e 67 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 79 6d 62 6f 6c 20 6c 69 e.is.using.one.or.more.symbol.li
44aa0 6e 6b 73 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 nks.in.which.case.the..........v
44ac0 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 67 65 74 63 77 64 3c 2f 43 alue.returned.by.<CODE>getcwd</C
44ae0 4f 44 45 3e 20 63 61 6e 20 72 65 73 6f 6c 76 65 20 74 68 65 20 73 79 6d 62 6f 6c 20 6c 69 6e 6b ODE>.can.resolve.the.symbol.link
44b00 73 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 74 68 65 72 65 66 6f 72 65 20 79 69 65 6c 64 20 61 s.and..........therefore.yield.a
44b20 20 64 69 66 66 65 72 65 6e 74 20 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .different.result...........<br>
44b40 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 <br>.This.function.is.a.GNU.exte
44b60 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 nsion..........sq.~......w.....t
44b80 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0b 62 74 00 04 76 6f 69 64 74 00 06 63 68 61 72 20 2a ..unistd.hxq.~.bt..voidt..char.*
44ba0 74 00 0a 67 65 74 5f 6e 70 72 6f 63 73 73 71 00 7e 00 0a 70 74 00 96 0a 20 20 20 20 20 20 20 20 t..get_nprocssq.~..pt...........
44bc0 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 5f 6e 70 72 6f 63 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 The.<CODE>get_nprocs</CODE>.func
44be0 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 76 61 69 6c tion.returns.the.number.of.avail
44c00 61 62 6c 65 20 70 72 6f 63 65 73 73 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 able.processors...........<br><b
44c20 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 r>.This.function.is.a.GNU.extens
44c40 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0d ion..........sq.~......w.....t..
44c60 73 79 73 2f 73 79 73 69 6e 66 6f 2e 68 78 71 00 7e 0b 69 74 00 04 76 6f 69 64 74 00 03 69 6e 74 sys/sysinfo.hxq.~.it..voidt..int
44c80 74 00 0f 67 65 74 5f 6e 70 72 6f 63 73 5f 63 6f 6e 66 73 71 00 7e 00 0a 70 74 00 ba 0a 20 20 20 t..get_nprocs_confsq.~..pt......
44ca0 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 5f 6e 70 72 6f 63 73 5f 63 6f 6e 66 3c 2f .....The.<CODE>get_nprocs_conf</
44cc0 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 CODE>.function.returns.the.numbe
44ce0 72 20 6f 66 20 70 72 6f 63 65 73 73 6f 72 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 70 65 r.of.processors.the..........ope
44d00 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 63 6f 6e 66 69 67 75 72 65 64 2e 0a 20 20 20 20 20 20 rating.system.configured........
44d20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 ...<br><br>.This.function.is.a.G
44d40 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 NU.extension..........sq.~......
44d60 77 04 00 00 00 0a 74 00 0d 73 79 73 2f 73 79 73 69 6e 66 6f 2e 68 78 71 00 7e 0b 70 74 00 04 76 w.....t..sys/sysinfo.hxq.~.pt..v
44d80 6f 69 64 74 00 03 69 6e 74 74 00 0e 67 65 74 5f 70 68 79 73 5f 70 61 67 65 73 73 71 00 7e 00 0a oidt..intt..get_phys_pagessq.~..
44da0 70 74 01 0e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 5f 70 68 79 73 5f pt...........The.<CODE>get_phys_
44dc0 70 61 67 65 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 pages</CODE>.function.returns.th
44de0 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 67 65 73 20 6f 66 0a 20 20 20 20 20 e.total.number.of.pages.of......
44e00 20 20 20 20 70 68 79 73 69 63 61 6c 20 74 68 65 20 73 79 73 74 65 6d 20 68 61 73 2e 20 20 54 6f ....physical.the.system.has...To
44e20 20 67 65 74 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 74 68 69 73 20 6e .get.the.amount.of.memory.this.n
44e40 75 6d 62 65 72 20 68 61 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 62 65 20 6d 75 6c 74 69 70 6c umber.has.to..........be.multipl
44e60 69 65 64 20 62 79 20 74 68 65 20 70 61 67 65 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 20 20 20 3c ied.by.the.page.size...........<
44e80 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 br><br>.This.function.is.a.GNU.e
44ea0 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 xtension..........sq.~......w...
44ec0 00 0a 74 00 0d 73 79 73 2f 73 79 73 69 6e 66 6f 2e 68 78 71 00 7e 0b 77 74 00 04 76 6f 69 64 74 ..t..sys/sysinfo.hxq.~.wt..voidt
44ee0 00 08 6c 6f 6e 67 20 69 6e 74 74 00 04 67 65 74 63 73 71 00 7e 00 0a 70 74 01 5d 0a 20 20 20 20 ..long.intt..getcsq.~..pt.].....
44f00 20 20 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 66 67 65 74 ....This.is.just.like.<CODE>fget
44f20 63 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 69 73 20 70 65 72 6d c</CODE>,.except.that.it.is.perm
44f40 69 73 73 69 62 6c 65 20 28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 74 79 70 69 63 61 6c 29 20 66 issible.(and..........typical).f
44f60 6f 72 20 69 74 20 74 6f 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 20 61 20 6d 61 63 or.it.to.be.implemented.as.a.mac
44f80 72 6f 20 74 68 61 74 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c ro.that.evaluates.the..........<
44fa0 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6d 6f 72 65 20 74 VAR>stream</VAR>.argument.more.t
44fc0 68 61 6e 20 6f 6e 63 65 2e 20 20 3c 43 4f 44 45 3e 67 65 74 63 3c 2f 43 4f 44 45 3e 20 69 73 20 han.once...<CODE>getc</CODE>.is.
44fe0 6f 66 74 65 6e 20 68 69 67 68 6c 79 0a 20 20 20 20 20 20 20 20 20 6f 70 74 69 6d 69 7a 65 64 2c often.highly..........optimized,
45000 20 73 6f 20 69 74 20 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 62 65 73 74 20 66 75 6e 63 74 .so.it.is.usually.the.best.funct
45020 69 6f 6e 20 74 6f 20 75 73 65 20 74 6f 20 72 65 61 64 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 ion.to.use.to.read.a.single.....
45040 20 20 20 20 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 .....character..........sq.~....
45060 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0b 7e 74 00 0c 46 49 4c 45 20 ..w.....t..stdio.hxq.~.~t..FILE.
45080 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 0d 67 65 74 63 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 *streamt..intt..getc_unlockedsq.
450a0 7e 00 0a 70 74 00 a6 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 63 5f 75 ~..pt...........The.<CODE>getc_u
450c0 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 nlocked</CODE>.function.is.equiv
450e0 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 67 65 74 63 3c 2f 43 4f 44 45 3e 0a 20 alent.to.the.<CODE>getc</CODE>..
45100 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 ........function.except.that.it.
45120 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 does.not.implicitly.lock.the.str
45140 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 eam..........sq.~......w.....t..
45160 73 74 64 69 6f 2e 68 78 71 00 7e 0b 85 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 stdio.hxq.~..t..FILE.*streamt..i
45180 6e 74 74 00 07 67 65 74 63 68 61 72 73 71 00 7e 00 0a 70 74 00 a7 0a 20 20 20 20 20 20 20 20 54 ntt..getcharsq.~..pt...........T
451a0 68 65 20 3c 43 4f 44 45 3e 67 65 74 63 68 61 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e he.<CODE>getchar</CODE>.function
451c0 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 63 3c 2f 43 4f .is.equivalent.to.<CODE>getc</CO
451e0 44 45 3e 20 77 69 74 68 20 3c 43 4f 44 45 3e 73 74 64 69 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 DE>.with.<CODE>stdin</CODE>.....
45200 20 20 20 20 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 73 74 .....as.the.value.of.the.<VAR>st
45220 72 65 61 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 ream</VAR>.argument..........sq.
45240 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0b 8c 74 00 04 ~......w.....t..stdio.hxq.~..t..
45260 76 6f 69 64 74 00 03 69 6e 74 74 00 10 67 65 74 63 68 61 72 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 voidt..intt..getchar_unlockedsq.
45280 7e 00 0a 70 74 00 ac 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 63 68 61 ~..pt...........The.<CODE>getcha
452a0 72 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 r_unlocked</CODE>.function.is.eq
452c0 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 67 65 74 63 68 61 72 3c 2f 43 uivalent.to.the.<CODE>getchar</C
452e0 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 ODE>..........function.except.th
45300 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 at.it.does.not.implicitly.lock.t
45320 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 he.stream..........sq.~......w..
45340 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0b 93 74 00 04 76 6f 69 64 74 00 03 69 6e 74 ...t..stdio.hxq.~..t..voidt..int
45360 74 00 0a 67 65 74 63 6f 6e 74 65 78 74 73 71 00 7e 00 0a 70 74 02 15 0a 20 20 20 20 20 20 20 20 t..getcontextsq.~..pt...........
45380 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 The.<CODE>getcontext</CODE>.func
453a0 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f tion.initializes.the.variable.po
453c0 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 75 63 70 3c 2f 56 inted.to.by..........<VAR>ucp</V
453e0 41 52 3e 20 77 69 74 68 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 74 68 65 20 63 61 6c 6c AR>.with.the.context.of.the.call
45400 69 6e 67 20 74 68 72 65 61 64 2e 20 20 54 68 65 20 63 6f 6e 74 65 78 74 20 63 6f 6e 74 61 69 6e ing.thread...The.context.contain
45420 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 72 65 s..........the.content.of.the.re
45440 67 69 73 74 65 72 73 2c 20 74 68 65 20 73 69 67 6e 61 6c 20 6d 61 73 6b 2c 20 61 6e 64 20 74 68 gisters,.the.signal.mask,.and.th
45460 65 20 63 75 72 72 65 6e 74 20 73 74 61 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 45 78 65 63 75 74 e.current.stack...........Execut
45480 69 6e 67 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 77 6f 75 6c 64 20 73 74 61 72 74 20 61 74 20 ing.the.contents.would.start.at.
454a0 74 68 65 20 70 6f 69 6e 74 20 77 68 65 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f the.point.where.the..........<CO
454c0 44 45 3e 67 65 74 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 6a 75 73 74 20 72 DE>getcontext</CODE>.call.just.r
454e0 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 eturned...........<br><br>.The.f
45500 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 unction.returns.<CODE>0</CODE>.i
45520 66 20 73 75 63 63 65 73 73 66 75 6c 2e 20 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 72 65 74 75 f.successful...Otherwise.it.retu
45540 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 rns..........<CODE>-1</CODE>.and
45560 20 73 65 74 73 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 61 63 63 6f 72 64 69 6e 67 .sets.<VAR>errno</VAR>.according
45580 6c 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 75 ly..........sq.~......w.....t..u
455a0 63 6f 6e 74 65 78 74 2e 68 78 71 00 7e 0b 9a 74 00 0f 75 63 6f 6e 74 65 78 74 5f 74 20 2a 75 63 context.hxq.~..t..ucontext_t.*uc
455c0 70 74 00 03 69 6e 74 74 00 06 67 65 74 63 77 64 73 71 00 7e 00 0a 70 74 05 8c 0a 20 20 20 20 20 pt..intt..getcwdsq.~..pt........
455e0 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 63 77 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 ...The.<CODE>getcwd</CODE>.funct
45600 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 66 69 6c 65 20 6e 61 6d ion.returns.an.absolute.file.nam
45620 65 20 72 65 70 72 65 73 65 6e 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 75 72 72 e.representing..........the.curr
45640 65 6e 74 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 2c 20 73 74 6f 72 69 6e 67 20 69 ent.working.directory,.storing.i
45660 74 20 69 6e 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 61 72 72 61 79 0a 20 20 20 20 20 20 20 t.in.the.character.array........
45680 20 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 74 68 61 74 20 79 6f 75 20 70 72 6f ..<VAR>buffer</VAR>.that.you.pro
456a0 76 69 64 65 2e 20 20 54 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d vide...The.<VAR>size</VAR>.argum
456c0 65 6e 74 20 69 73 20 68 6f 77 20 79 6f 75 20 74 65 6c 6c 0a 20 20 20 20 20 20 20 20 20 74 68 65 ent.is.how.you.tell..........the
456e0 20 73 79 73 74 65 6d 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 73 69 7a 65 20 6f 66 20 3c .system.the.allocation.size.of.<
45700 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c VAR>buffer</VAR>...........<br><
45720 62 72 3e 20 54 68 65 20 47 4e 55 20 6c 69 62 72 61 72 79 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 br>.The.GNU.library.version.of.t
45740 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6c 73 6f 20 70 65 72 6d 69 74 73 20 79 6f 75 20 74 6f his.function.also.permits.you.to
45760 20 73 70 65 63 69 66 79 20 61 0a 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 .specify.a..........null.pointer
45780 20 66 6f 72 20 74 68 65 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 61 72 67 75 6d .for.the.<VAR>buffer</VAR>.argum
457a0 65 6e 74 2e 20 20 54 68 65 6e 20 3c 43 4f 44 45 3e 67 65 74 63 77 64 3c 2f 43 4f 44 45 3e 0a 20 ent...Then.<CODE>getcwd</CODE>..
457c0 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 73 20 61 20 62 75 66 66 65 72 20 61 75 74 6f 6d ........allocates.a.buffer.autom
457e0 61 74 69 63 61 6c 6c 79 2c 20 61 73 20 77 69 74 68 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f atically,.as.with.<CODE>malloc</
45800 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 2e 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 73 69 CODE>.............If.the.<VAR>si
45820 7a 65 3c 2f 56 41 52 3e 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 0a 20 20 20 20 20 20 20 ze</VAR>.is.greater.than........
45840 20 20 7a 65 72 6f 2c 20 74 68 65 6e 20 74 68 65 20 62 75 66 66 65 72 20 69 73 20 74 68 61 74 20 ..zero,.then.the.buffer.is.that.
45860 6c 61 72 67 65 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 62 75 66 66 65 72 20 69 73 20 large;.otherwise,.the.buffer.is.
45880 61 73 20 6c 61 72 67 65 0a 20 20 20 20 20 20 20 20 20 61 73 20 6e 65 63 65 73 73 61 72 79 20 74 as.large..........as.necessary.t
458a0 6f 20 68 6f 6c 64 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e o.hold.the.result...........<br>
458c0 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 56 41 52 3e 62 75 <br>.The.return.value.is.<VAR>bu
458e0 66 66 65 72 3c 2f 56 41 52 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 61 20 6e 75 6c 6c ffer</VAR>.on.success.and.a.null
45900 20 70 6f 69 6e 74 65 72 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 .pointer.on.failure...........Th
45920 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 e.following.<CODE>errno</CODE>.e
45940 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 rror.conditions.are.defined.for.
45960 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e this.function:..........<br><br>
45980 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c .<DL>...........<DT><CODE>EINVAL
459a0 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 </CODE>.<DD>..........The.<VAR>s
459c0 69 7a 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 7a 65 72 6f 20 61 6e 64 20 3c ize</VAR>.argument.is.zero.and.<
459e0 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 VAR>buffer</VAR>.is.not.a.null.p
45a00 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 ointer...........<br><br>.<DT><C
45a20 4f 44 45 3e 45 52 41 4e 47 45 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 69 7a ODE>ERANGE..........The.<VAR>siz
45a40 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 74 68 e</VAR>.argument.is.less.than.th
45a60 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 e.length.of.the.working.director
45a80 79 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 2e 20 20 59 6f y</CODE>.<DD>..........name...Yo
45aa0 75 20 6e 65 65 64 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 61 20 62 69 67 67 65 72 20 61 72 72 61 u.need.to.allocate.a.bigger.arra
45ac0 79 20 61 6e 64 20 74 72 79 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 y.and.try.again...........<br><b
45ae0 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a r>.<DT><CODE>EACCES</CODE>.<DD>.
45b00 20 20 20 20 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 72 65 61 64 20 6f 72 20 73 .........Permission.to.read.or.s
45b20 65 61 72 63 68 20 61 20 63 6f 6d 70 6f 6e 65 6e 74 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6e 61 earch.a.component.of.the.file.na
45b40 6d 65 20 77 61 73 20 64 65 6e 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 me.was.denied...........</DL>...
45b60 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e ......sq.~......w.....t..unistd.
45b80 68 78 71 00 7e 0b a1 74 00 19 63 68 61 72 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 73 hxq.~..t..char.*buffer,.size_t.s
45ba0 69 7a 65 74 00 06 63 68 61 72 20 2a 74 00 07 67 65 74 64 61 74 65 73 71 00 7e 00 0a 70 74 15 fd izet..char.*t..getdatesq.~..pt..
45bc0 0a 20 20 20 20 20 20 20 20 54 68 65 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 3c 43 4f 44 45 3e .........The.interface.to.<CODE>
45be0 67 65 74 64 61 74 65 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 73 69 6d 70 6c 65 73 74 20 70 getdate</CODE>.is.the.simplest.p
45c00 6f 73 73 69 62 6c 65 20 66 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 ossible.for.a.function..........
45c20 74 6f 20 70 61 72 73 65 20 61 20 73 74 72 69 6e 67 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 to.parse.a.string.and.return.the
45c40 20 76 61 6c 75 65 2e 20 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 73 20 74 68 .value...<VAR>string</VAR>.is.th
45c60 65 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 61 6e 64 20 74 68 65 20 e.input..........string.and.the.
45c80 72 65 73 75 6c 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 61 20 73 74 61 74 69 63 61 6c result.is.returned.in.a.statical
45ca0 6c 79 2d 61 6c 6c 6f 63 61 74 65 64 20 76 61 72 69 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 ly-allocated.variable...........
45cc0 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 64 65 74 61 69 6c 73 20 61 62 6f 75 74 20 68 6f 77 20 74 <br><br>.The.details.about.how.t
45ce0 68 65 20 73 74 72 69 6e 67 20 69 73 20 70 72 6f 63 65 73 73 65 64 20 61 72 65 20 68 69 64 64 65 he.string.is.processed.are.hidde
45d00 6e 20 66 72 6f 6d 20 74 68 65 20 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 66 61 63 n.from.the.user...........In.fac
45d20 74 2c 20 74 68 65 79 20 63 61 6e 20 62 65 20 6f 75 74 73 69 64 65 20 74 68 65 20 63 6f 6e 74 72 t,.they.can.be.outside.the.contr
45d40 6f 6c 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 20 57 68 69 63 68 20 66 6f 72 6d 61 74 ol.of.the.program...Which.format
45d60 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 72 65 63 6f 67 6e 69 7a 65 64 20 69 73 20 63 6f 6e s..........are.recognized.is.con
45d80 74 72 6f 6c 6c 65 64 20 62 79 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 20 74 68 65 trolled.by.the.file.named.by.the
45da0 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 3c .environment..........variable.<
45dc0 43 4f 44 45 3e 44 41 54 45 4d 53 4b 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 66 69 6c 65 20 CODE>DATEMSK</CODE>...This.file.
45de0 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 0a 20 20 20 20 20 20 20 20 20 6c 69 6e 65 73 20 6f 66 should.contain..........lines.of
45e00 20 76 61 6c 69 64 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 73 20 77 68 69 63 68 20 63 6f 75 6c .valid.format.strings.which.coul
45e20 64 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 70 74 69 6d 65 3c 2f 43 d.be.passed.to.<CODE>strptime</C
45e40 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 ODE>...........<br><br>.The.<COD
45e60 45 3e 67 65 74 64 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 E>getdate</CODE>.function.reads.
45e80 74 68 65 73 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 73 20 6f 6e 65 20 61 66 74 65 72 20 74 these.format.strings.one.after.t
45ea0 68 65 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 61 6e 64 20 74 72 69 65 73 20 74 6f 20 6d he..........other.and.tries.to.m
45ec0 61 74 63 68 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 66 69 72 73 atch.the.input.string...The.firs
45ee0 74 20 6c 69 6e 65 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 6c 79 t.line.which..........completely
45f00 20 6d 61 74 63 68 65 73 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 69 73 20 75 73 65 .matches.the.input.string.is.use
45f20 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 45 6c 65 6d 65 6e 74 73 20 6e 6f d...........<br><br>.Elements.no
45f40 74 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 68 72 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 61 74 t.initialized.through.the.format
45f60 20 73 74 72 69 6e 67 20 72 65 74 61 69 6e 20 74 68 65 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 .string.retain.the.values.......
45f80 20 20 20 70 72 65 73 65 6e 74 20 61 74 20 74 68 65 20 74 69 6d 65 20 6f 66 20 74 68 65 20 3c 43 ...present.at.the.time.of.the.<C
45fa0 4f 44 45 3e 67 65 74 64 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c ODE>getdate</CODE>.function.call
45fc0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 72 6d 61 74 73 20 ...........<br><br>.The.formats.
45fe0 72 65 63 6f 67 6e 69 7a 65 64 20 62 79 20 3c 43 4f 44 45 3e 67 65 74 64 61 74 65 3c 2f 43 4f 44 recognized.by.<CODE>getdate</COD
46000 45 3e 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 E>.are.the.same.as.for..........
46020 3c 43 4f 44 45 3e 73 74 72 70 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e 20 20 53 65 65 20 61 62 6f 76 <CODE>strptime</CODE>...See.abov
46040 65 20 66 6f 72 20 61 6e 20 65 78 70 6c 61 6e 61 74 69 6f 6e 2e 20 20 54 68 65 72 65 20 61 72 65 e.for.an.explanation...There.are
46060 20 6f 6e 6c 79 20 61 20 66 65 77 0a 20 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 73 20 .only.a.few..........extensions.
46080 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 70 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 62 65 68 to.the.<CODE>strptime</CODE>.beh
460a0 61 76 69 6f 72 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4f 4c 3e 0a 20 20 avior:..........<br><br>.<OL>...
460c0 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 43 4f 44 .......<LI>..........If.the.<COD
460e0 45 3e 25 5a 3c 2f 43 4f 44 45 3e 20 66 6f 72 6d 61 74 20 69 73 20 67 69 76 65 6e 20 74 68 65 20 E>%Z</CODE>.format.is.given.the.
46100 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 6d 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 broken-down.time.is.based.on.the
46120 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 74 69 6d 65 20 6f 66 20 74 68 65 20 74 69 ..........current.time.of.the.ti
46140 6d 65 7a 6f 6e 65 20 6d 61 74 63 68 65 64 2c 20 6e 6f 74 20 6f 66 20 74 68 65 20 63 75 72 72 65 mezone.matched,.not.of.the.curre
46160 6e 74 20 74 69 6d 65 7a 6f 6e 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 75 6e 74 nt.timezone.of.the..........runt
46180 69 6d 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ime.environment...........<br><b
461a0 72 3e 20 3c 45 4d 3e 4e 6f 74 65 3c 2f 45 4d 3e 3a 20 54 68 69 73 20 69 73 20 6e 6f 74 20 69 6d r>.<EM>Note</EM>:.This.is.not.im
461c0 70 6c 65 6d 65 6e 74 65 64 20 28 63 75 72 72 65 6e 74 6c 79 29 2e 20 20 54 68 65 20 70 72 6f 62 plemented.(currently)...The.prob
461e0 6c 65 6d 20 69 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 7a 6f 6e 65 20 6e 61 lem.is.that..........timezone.na
46200 6d 65 73 20 61 72 65 20 6e 6f 74 20 75 6e 69 71 75 65 2e 20 20 49 66 20 61 20 66 69 78 65 64 20 mes.are.not.unique...If.a.fixed.
46220 74 69 6d 65 7a 6f 6e 65 20 69 73 20 61 73 73 75 6d 65 64 20 66 6f 72 20 61 0a 20 20 20 20 20 20 timezone.is.assumed.for.a.......
46240 20 20 20 67 69 76 65 6e 20 73 74 72 69 6e 67 20 28 73 61 79 20 3c 43 4f 44 45 3e 45 53 54 3c 2f ...given.string.(say.<CODE>EST</
46260 43 4f 44 45 3e 20 6d 65 61 6e 69 6e 67 20 55 53 20 45 61 73 74 20 43 6f 61 73 74 20 74 69 6d 65 CODE>.meaning.US.East.Coast.time
46280 29 2c 20 74 68 65 6e 20 75 73 65 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 72 ),.then.uses.for..........countr
462a0 69 65 73 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 55 53 41 20 77 69 6c 6c 20 66 61 69 6c ies.other.than.the.USA.will.fail
462c0 2e 20 20 53 6f 20 66 61 72 20 77 65 20 68 61 76 65 20 66 6f 75 6e 64 20 6e 6f 20 67 6f 6f 64 0a ...So.far.we.have.found.no.good.
462e0 20 20 20 20 20 20 20 20 20 73 6f 6c 75 74 69 6f 6e 20 74 6f 20 74 68 69 73 2e 0a 20 20 20 20 20 .........solution.to.this.......
46300 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 49 66 20 6f 6e ....<br><br>.<LI>..........If.on
46320 6c 79 20 74 68 65 20 77 65 65 6b 64 61 79 20 69 73 20 73 70 65 63 69 66 69 65 64 20 74 68 65 20 ly.the.weekday.is.specified.the.
46340 73 65 6c 65 63 74 65 64 20 64 61 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 63 75 72 72 selected.day.depends.on.the.curr
46360 65 6e 74 0a 20 20 20 20 20 20 20 20 20 64 61 74 65 2e 20 20 49 66 20 74 68 65 20 63 75 72 72 65 ent..........date...If.the.curre
46380 6e 74 20 77 65 65 6b 64 61 79 20 69 73 20 67 72 65 61 74 65 72 20 6f 72 20 65 71 75 61 6c 20 74 nt.weekday.is.greater.or.equal.t
463a0 6f 20 74 68 65 20 3c 43 4f 44 45 3e 74 6d 5f 77 64 61 79 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 o.the.<CODE>tm_wday</CODE>......
463c0 20 20 20 20 76 61 6c 75 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 65 65 6b 27 73 20 64 61 79 ....value.the.current.week's.day
463e0 20 69 73 20 63 68 6f 73 65 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 64 61 79 20 6e 65 .is.chosen,.otherwise.the.day.ne
46400 78 74 20 77 65 65 6b 20 69 73 20 63 68 6f 73 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e xt.week.is.chosen...........<br>
46420 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 20 73 69 6d 69 6c 61 72 20 68 65 75 <br>.<LI>..........A.similar.heu
46440 72 69 73 74 69 63 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 6f 6e 6c 79 20 74 68 65 20 6d 6f 6e ristic.is.used.when.only.the.mon
46460 74 68 20 69 73 20 67 69 76 65 6e 20 61 6e 64 20 6e 6f 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 th.is.given.and.not.the.........
46480 20 79 65 61 72 2e 20 20 49 66 20 74 68 65 20 6d 6f 6e 74 68 20 69 73 20 67 72 65 61 74 65 72 20 .year...If.the.month.is.greater.
464a0 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 6f 6e than.or.equal.to.the.current.mon
464c0 74 68 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 75 72 72 65 6e 74 20 79 65 th,.then..........the.current.ye
464e0 61 72 20 69 73 20 75 73 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 77 72 61 70 73 20 ar.is.used...Otherwise.it.wraps.
46500 74 6f 20 6e 65 78 74 20 79 65 61 72 2e 20 20 54 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 to.next.year...The.first........
46520 20 20 64 61 79 20 6f 66 20 74 68 65 20 6d 6f 6e 74 68 20 69 73 20 61 73 73 75 6d 65 64 20 69 66 ..day.of.the.month.is.assumed.if
46540 20 6f 6e 65 20 69 73 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 70 65 63 69 66 69 65 64 .one.is.not.explicitly.specified
46560 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 ...........<br><br>.<LI>........
46580 20 20 54 68 65 20 63 75 72 72 65 6e 74 20 68 6f 75 72 2c 20 6d 69 6e 75 74 65 2c 20 61 6e 64 20 ..The.current.hour,.minute,.and.
465a0 73 65 63 6f 6e 64 20 61 72 65 20 75 73 65 64 20 69 66 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 second.are.used.if.the.appropria
465c0 74 65 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 73 65 74 20 74 68 72 te.value.is..........not.set.thr
465e0 6f 75 67 68 20 74 68 65 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ough.the.format...........<br><b
46600 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 64 61 74 65 20 69 73 20 67 r>.<LI>..........If.no.date.is.g
46620 69 76 65 6e 20 74 6f 6d 6f 72 72 6f 77 27 73 20 64 61 74 65 20 69 73 20 75 73 65 64 20 69 66 20 iven.tomorrow's.date.is.used.if.
46640 74 68 65 20 74 69 6d 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 6d 61 6c 6c 65 72 20 74 68 61 the.time.is..........smaller.tha
46660 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 69 6d 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 n.the.current.time...Otherwise.t
46680 6f 64 61 79 27 73 20 64 61 74 65 20 69 73 20 74 61 6b 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c oday's.date.is.taken...........<
466a0 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 73 68 6f 75 6c 64 /OL>..........<br><br>.It.should
466c0 20 62 65 20 6e 6f 74 65 64 20 74 68 61 74 20 74 68 65 20 66 6f 72 6d 61 74 20 69 6e 20 74 68 65 .be.noted.that.the.format.in.the
466e0 20 74 65 6d 70 6c 61 74 65 20 66 69 6c 65 20 6e 65 65 64 20 6e 6f 74 20 6f 6e 6c 79 0a 20 20 20 .template.file.need.not.only....
46700 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 20 66 6f 72 6d 61 74 20 65 6c 65 6d 65 6e 74 73 2e 20 20 ......contain.format.elements...
46720 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 70 6f 73 73 69 The.following.is.a.list.of.possi
46740 62 6c 65 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 73 20 28 74 61 6b ble.format..........strings.(tak
46760 65 6e 20 66 72 6f 6d 20 74 68 65 20 55 6e 69 78 20 73 74 61 6e 64 61 72 64 29 3a 0a 20 20 20 20 en.from.the.Unix.standard):.....
46780 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 .....<br><br>.<pre><br>.........
467a0 20 25 6d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 25 41 20 25 42 20 25 64 2c 20 25 59 20 25 48 .%m<br>..........%A.%B.%d,.%Y.%H
467c0 3a 25 4d 3a 25 53 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 25 41 3c 62 72 3e 0a 20 20 20 20 20 :%M:%S<br>..........%A<br>......
467e0 20 20 20 20 25 42 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 25 6d 2f 25 64 2f 25 79 20 25 49 20 ....%B<br>..........%m/%d/%y.%I.
46800 25 70 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 25 64 2c 25 6d 2c 25 59 20 25 48 3a 25 4d 3c 62 %p<br>..........%d,%m,%Y.%H:%M<b
46820 72 3e 0a 20 20 20 20 20 20 20 20 20 61 74 20 25 41 20 74 68 65 20 25 64 73 74 20 6f 66 20 25 42 r>..........at.%A.the.%dst.of.%B
46840 20 69 6e 20 25 59 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 72 75 6e 20 6a 6f 62 20 61 74 20 25 .in.%Y<br>..........run.job.at.%
46860 49 20 25 70 2c 25 42 20 25 64 6e 64 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 25 41 20 64 65 6e I.%p,%B.%dnd<br>..........%A.den
46880 20 25 64 2e 20 25 42 20 25 59 20 25 48 2e 25 4d 20 55 68 72 3c 62 72 3e 0a 20 20 20 20 20 20 20 .%d..%B.%Y.%H.%M.Uhr<br>........
468a0 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 73 20 79 6f ..</pre>..........<br><br>.As.yo
468c0 75 20 63 61 6e 20 73 65 65 2c 20 74 68 65 20 74 65 6d 70 6c 61 74 65 20 6c 69 73 74 20 63 61 6e u.can.see,.the.template.list.can
468e0 20 63 6f 6e 74 61 69 6e 20 76 65 72 79 20 73 70 65 63 69 66 69 63 20 73 74 72 69 6e 67 73 20 6c .contain.very.specific.strings.l
46900 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 72 75 6e 20 6a 6f 62 20 61 74 20 25 49 ike..........<CODE>run.job.at.%I
46920 20 25 70 2c 25 42 20 25 64 6e 64 3c 2f 43 4f 44 45 3e 2e 20 20 55 73 69 6e 67 20 74 68 65 20 61 .%p,%B.%dnd</CODE>...Using.the.a
46940 62 6f 76 65 20 6c 69 73 74 20 6f 66 20 74 65 6d 70 6c 61 74 65 73 20 61 6e 64 0a 20 20 20 20 20 bove.list.of.templates.and......
46960 20 20 20 20 61 73 73 75 6d 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 69 6d 65 20 69 73 ....assuming.the.current.time.is
46980 20 4d 6f 6e 20 53 65 70 20 32 32 20 31 32 3a 31 39 3a 34 37 20 45 44 54 20 31 39 38 36 20 77 65 .Mon.Sep.22.12:19:47.EDT.1986.we
469a0 20 63 61 6e 20 6f 62 74 61 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 .can.obtain.the..........followi
469c0 6e 67 20 72 65 73 75 6c 74 73 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 69 6e 70 75 74 2e 0a ng.results.for.the.given.input..
469e0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 3c 44 54 3e 3c 70 72 65 3e .........<br><br>.<DL>.<DT><pre>
46a00 49 6e 70 75 74 20 20 20 20 20 20 4d 61 74 63 68 20 20 52 65 73 75 6c 74 3c 2f 70 72 65 3e 0a 3c Input......Match..Result</pre>.<
46a20 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 4d 6f 6e 20 20 20 20 20 20 20 20 25 61 20 20 DD><br>.<DT><pre>Mon........%a..
46a40 20 20 20 4d 6f 6e 20 53 65 70 20 32 32 20 31 32 3a 31 39 3a 34 37 20 45 44 54 20 31 39 38 36 3c ...Mon.Sep.22.12:19:47.EDT.1986<
46a60 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 53 75 6e 20 20 20 20 20 /pre>.<DD><br>.<DT><pre>Sun.....
46a80 20 20 20 25 61 20 20 20 20 20 53 75 6e 20 53 65 70 20 32 38 20 31 32 3a 31 39 3a 34 37 20 45 44 ...%a.....Sun.Sep.28.12:19:47.ED
46aa0 54 20 31 39 38 36 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 46 T.1986</pre>.<DD><br>.<DT><pre>F
46ac0 72 69 20 20 20 20 20 20 20 20 25 61 20 20 20 20 20 46 72 69 20 53 65 70 20 32 36 20 31 32 3a 31 ri........%a.....Fri.Sep.26.12:1
46ae0 39 3a 34 37 20 45 44 54 20 31 39 38 36 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 9:47.EDT.1986</pre>.<DD><br>.<DT
46b00 3e 3c 70 72 65 3e 53 65 70 74 65 6d 62 65 72 20 20 25 42 20 20 20 20 20 4d 6f 6e 20 53 65 70 20 ><pre>September..%B.....Mon.Sep.
46b20 31 20 31 32 3a 31 39 3a 34 37 20 45 44 54 20 31 39 38 36 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 1.12:19:47.EDT.1986</pre>.<DD><b
46b40 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 4a 61 6e 75 61 72 79 20 20 20 20 25 42 20 20 20 20 20 54 68 r>.<DT><pre>January....%B.....Th
46b60 75 20 4a 61 6e 20 31 20 31 32 3a 31 39 3a 34 37 20 45 53 54 20 31 39 38 37 3c 2f 70 72 65 3e 0a u.Jan.1.12:19:47.EST.1987</pre>.
46b80 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 44 65 63 65 6d 62 65 72 20 20 20 25 42 20 <DD><br>.<DT><pre>December...%B.
46ba0 20 20 20 20 4d 6f 6e 20 44 65 63 20 31 20 31 32 3a 31 39 3a 34 37 20 45 53 54 20 31 39 38 36 3c ....Mon.Dec.1.12:19:47.EST.1986<
46bc0 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 53 65 70 20 4d 6f 6e 20 /pre>.<DD><br>.<DT><pre>Sep.Mon.
46be0 20 20 20 25 62 20 25 61 20 20 4d 6f 6e 20 53 65 70 20 31 20 31 32 3a 31 39 3a 34 37 20 45 44 54 ...%b.%a..Mon.Sep.1.12:19:47.EDT
46c00 20 31 39 38 36 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 4a 61 .1986</pre>.<DD><br>.<DT><pre>Ja
46c20 6e 20 46 72 69 20 20 20 20 25 62 20 25 61 20 20 46 72 69 20 4a 61 6e 20 32 20 31 32 3a 31 39 3a n.Fri....%b.%a..Fri.Jan.2.12:19:
46c40 34 37 20 45 53 54 20 31 39 38 37 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 47.EST.1987</pre>.<DD><br>.<DT><
46c60 70 72 65 3e 44 65 63 20 4d 6f 6e 20 20 20 20 25 62 20 25 61 20 20 4d 6f 6e 20 44 65 63 20 31 20 pre>Dec.Mon....%b.%a..Mon.Dec.1.
46c80 31 32 3a 31 39 3a 34 37 20 45 53 54 20 31 39 38 36 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 12:19:47.EST.1986</pre>.<DD><br>
46ca0 20 3c 44 54 3e 3c 70 72 65 3e 4a 61 6e 20 57 65 64 20 31 39 38 39 20 20 20 25 62 20 25 61 20 25 .<DT><pre>Jan.Wed.1989...%b.%a.%
46cc0 59 20 20 57 65 64 20 4a 61 6e 20 34 20 31 32 3a 31 39 3a 34 37 20 45 53 54 20 31 39 38 39 3c 2f Y..Wed.Jan.4.12:19:47.EST.1989</
46ce0 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 46 72 69 20 39 20 20 20 20 pre>.<DD><br>.<DT><pre>Fri.9....
46d00 20 20 25 61 20 25 48 20 20 46 72 69 20 53 65 70 20 32 36 20 30 39 3a 30 30 3a 30 30 20 45 44 54 ..%a.%H..Fri.Sep.26.09:00:00.EDT
46d20 20 31 39 38 36 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 46 65 .1986</pre>.<DD><br>.<DT><pre>Fe
46d40 62 20 31 30 3a 33 30 20 20 25 62 20 25 48 3a 25 53 20 20 53 75 6e 20 46 65 62 20 31 20 31 30 3a b.10:30..%b.%H:%S..Sun.Feb.1.10:
46d60 30 30 3a 33 30 20 45 53 54 20 31 39 38 37 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 00:30.EST.1987</pre>.<DD><br>.<D
46d80 54 3e 3c 70 72 65 3e 31 30 3a 33 30 20 20 20 20 20 20 25 48 3a 25 4d 20 20 54 75 65 20 53 65 70 T><pre>10:30......%H:%M..Tue.Sep
46da0 20 32 33 20 31 30 3a 33 30 3a 30 30 20 45 44 54 20 31 39 38 36 3c 2f 70 72 65 3e 0a 3c 44 44 3e .23.10:30:00.EDT.1986</pre>.<DD>
46dc0 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 31 33 3a 33 30 20 20 20 20 20 20 25 48 3a 25 4d 20 20 <br>.<DT><pre>13:30......%H:%M..
46de0 4d 6f 6e 20 53 65 70 20 32 32 20 31 33 3a 33 30 3a 30 30 20 45 44 54 20 31 39 38 36 3c 2f 70 72 Mon.Sep.22.13:30:00.EDT.1986</pr
46e00 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c e>.<DD><br>.</DL>..........<br><
46e20 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 75 6e 63 br>.The.return.value.of.the.func
46e40 74 69 6f 6e 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 61 74 69 63 20 76 61 tion.is.a.pointer.to.a.static.va
46e60 72 69 61 62 6c 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 riable.of..........type.<CODE>st
46e80 72 75 63 74 20 74 6d 3c 2f 43 4f 44 45 3e 2c 20 6f 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 ruct.tm</CODE>,.or.a.null.pointe
46ea0 72 20 69 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2e 20 20 54 68 65 0a 20 20 20 r.if.an.error.occurred...The....
46ec0 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20 75 6e 74 69 6c ......result.is.only.valid.until
46ee0 20 74 68 65 20 6e 65 78 74 20 3c 43 4f 44 45 3e 67 65 74 64 61 74 65 3c 2f 43 4f 44 45 3e 20 63 .the.next.<CODE>getdate</CODE>.c
46f00 61 6c 6c 2c 20 6d 61 6b 69 6e 67 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 all,.making.this..........functi
46f20 6f 6e 20 75 6e 75 73 61 62 6c 65 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 61 70 on.unusable.in.multi-threaded.ap
46f40 70 6c 69 63 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 plications...........<br><br>.Th
46f60 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 72 69 61 62 6c 65 20 69 73 e.<CODE>errno</CODE>.variable.is
46f80 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 63 68 61 6e 67 65 64 2e 20 20 45 72 72 6f 72 20 63 6f .<EM>not</EM>.changed...Error.co
46fa0 6e 64 69 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 64 20 69 6e 20 nditions.are..........stored.in.
46fc0 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 67 65 74 64 61 74 the.global.variable.<CODE>getdat
46fe0 65 5f 65 72 72 3c 2f 43 4f 44 45 3e 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 e_err</CODE>...See.the..........
47000 64 65 73 63 72 69 70 74 69 6f 6e 20 61 62 6f 76 65 20 66 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 description.above.for.a.list.of.
47020 74 68 65 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 the.possible.error.values.......
47040 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 45 4d 3e 57 61 72 6e 69 6e 67 3a 3c 2f 45 4d 3e 20 54 ....<br><br>.<EM>Warning:</EM>.T
47060 68 65 20 3c 43 4f 44 45 3e 67 65 74 64 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e he.<CODE>getdate</CODE>.function
47080 20 73 68 6f 75 6c 64 20 3c 45 4d 3e 6e 65 76 65 72 3c 2f 45 4d 3e 20 62 65 0a 20 20 20 20 20 20 .should.<EM>never</EM>.be.......
470a0 20 20 20 75 73 65 64 20 69 6e 20 53 55 49 44 2d 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 65 20 72 ...used.in.SUID-programs...The.r
470c0 65 61 73 6f 6e 20 69 73 20 6f 62 76 69 6f 75 73 3a 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 eason.is.obvious:.using.the.....
470e0 20 20 20 20 20 3c 43 4f 44 45 3e 44 41 54 45 4d 53 4b 3c 2f 43 4f 44 45 3e 20 65 6e 76 69 72 6f .....<CODE>DATEMSK</CODE>.enviro
47100 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 79 6f 75 20 63 61 6e 20 67 65 74 20 74 68 65 20 66 nment.variable.you.can.get.the.f
47120 75 6e 63 74 69 6f 6e 20 74 6f 20 6f 70 65 6e 0a 20 20 20 20 20 20 20 20 20 61 6e 79 20 61 72 62 unction.to.open..........any.arb
47140 69 74 72 61 72 79 20 66 69 6c 65 20 61 6e 64 20 63 68 61 6e 63 65 73 20 61 72 65 20 68 69 67 68 itrary.file.and.chances.are.high
47160 20 74 68 61 74 20 77 69 74 68 20 73 6f 6d 65 20 62 6f 67 75 73 20 69 6e 70 75 74 0a 20 20 20 20 .that.with.some.bogus.input.....
47180 20 20 20 20 20 28 73 75 63 68 20 61 73 20 61 20 62 69 6e 61 72 79 20 66 69 6c 65 29 20 74 68 65 .....(such.as.a.binary.file).the
471a0 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 63 72 61 73 68 2e 0a 20 20 20 20 20 20 20 20 73 71 00 .program.will.crash..........sq.
471c0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 0b a8 74 00 12 63 ~......w.....t..time.hxq.~..t..c
471e0 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 74 00 0b 73 74 72 75 63 74 20 74 6d 20 2a 74 onst.char.*stringt..struct.tm.*t
47200 00 09 67 65 74 64 61 74 65 5f 72 73 71 00 7e 00 0a 70 74 03 68 0a 20 20 20 20 20 20 20 20 54 68 ..getdate_rsq.~..pt.h.........Th
47220 65 20 3c 43 4f 44 45 3e 67 65 74 64 61 74 65 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f e.<CODE>getdate_r</CODE>.functio
47240 6e 20 69 73 20 74 68 65 20 72 65 65 6e 74 72 61 6e 74 20 63 6f 75 6e 74 65 72 70 61 72 74 20 6f n.is.the.reentrant.counterpart.o
47260 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 64 61 74 65 3c 2f 43 4f 44 45 3e 2e f..........<CODE>getdate</CODE>.
47280 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 75 73 65 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 ..It.does.not.use.the.global.var
472a0 69 61 62 6c 65 20 3c 43 4f 44 45 3e 67 65 74 64 61 74 65 5f 65 72 72 3c 2f 43 4f 44 45 3e 0a 20 iable.<CODE>getdate_err</CODE>..
472c0 20 20 20 20 20 20 20 20 74 6f 20 73 69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 2c 20 62 75 74 20 ........to.signal.an.error,.but.
472e0 69 6e 73 74 65 61 64 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 2e 20 20 instead.returns.an.error.code...
47300 54 68 65 20 73 61 6d 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 64 65 73 20 61 73 The.same.error..........codes.as
47320 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 67 65 74 64 61 74 65 5f .described.in.the.<CODE>getdate_
47340 65 72 72 3c 2f 43 4f 44 45 3e 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 62 6f 76 65 20 61 err</CODE>.documentation.above.a
47360 72 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 64 2c 20 77 69 74 68 20 30 20 6d 65 61 6e 69 6e 67 re..........used,.with.0.meaning
47380 20 73 75 63 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4d 6f 72 65 .success...........<br><br>.More
473a0 6f 76 65 72 2c 20 3c 43 4f 44 45 3e 67 65 74 64 61 74 65 5f 72 3c 2f 43 4f 44 45 3e 20 73 74 6f over,.<CODE>getdate_r</CODE>.sto
473c0 72 65 73 20 74 68 65 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 6d 65 20 69 6e 20 74 68 65 20 res.the.broken-down.time.in.the.
473e0 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e variable..........of.type.<CODE>
47400 73 74 72 75 63 74 20 74 6d 3c 2f 43 4f 44 45 3e 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 struct.tm</CODE>.pointed.to.by.t
47420 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 2c 20 72 61 74 68 65 72 20 74 68 61 6e 0a he.second.argument,.rather.than.
47440 20 20 20 20 20 20 20 20 20 69 6e 20 61 20 73 74 61 74 69 63 20 76 61 72 69 61 62 6c 65 2e 0a 20 .........in.a.static.variable...
47460 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ........<br><br>.This.function.i
47480 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 55 6e 69 78 20 73 74 61 6e 64 61 s.not.defined.in.the.Unix.standa
474a0 72 64 2e 20 20 4e 65 76 65 72 74 68 65 6c 65 73 73 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 rd...Nevertheless.it.is.........
474c0 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 73 6f 6d 65 20 6f 74 68 65 72 20 55 6e 69 78 20 73 79 .available.on.some.other.Unix.sy
474e0 73 74 65 6d 73 20 61 73 20 77 65 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e stems.as.well...........<br><br>
47500 20 54 68 65 20 77 61 72 6e 69 6e 67 20 61 67 61 69 6e 73 74 20 75 73 69 6e 67 20 3c 43 4f 44 45 .The.warning.against.using.<CODE
47520 3e 67 65 74 64 61 74 65 3c 2f 43 4f 44 45 3e 20 69 6e 20 53 55 49 44 2d 70 72 6f 67 72 61 6d 73 >getdate</CODE>.in.SUID-programs
47540 20 61 70 70 6c 69 65 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 64 61 .applies.to..........<CODE>getda
47560 74 65 5f 72 3c 2f 43 4f 44 45 3e 20 61 73 20 77 65 6c 6c 2e 0a 20 20 20 20 20 20 20 20 73 71 00 te_r</CODE>.as.well..........sq.
47580 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 0b af 74 00 21 63 ~......w.....t..time.hxq.~..t.!c
475a0 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 73 74 72 75 63 74 20 74 6d 20 2a 74 70 onst.char.*string,.struct.tm.*tp
475c0 74 00 03 69 6e 74 74 00 08 67 65 74 64 65 6c 69 6d 73 71 00 7e 00 0a 70 74 03 8a 0a 20 20 20 20 t..intt..getdelimsq.~..pt.......
475e0 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e ....This.function.is.like.<CODE>
47600 67 65 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 63 getline</CODE>.except.that.the.c
47620 68 61 72 61 63 74 65 72 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 74 65 6c 6c 73 20 69 74 haracter.which..........tells.it
47640 20 74 6f 20 73 74 6f 70 20 72 65 61 64 69 6e 67 20 69 73 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 .to.stop.reading.is.not.necessar
47660 69 6c 79 20 6e 65 77 6c 69 6e 65 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 ily.newline...The.argument......
47680 20 20 20 20 3c 56 41 52 3e 64 65 6c 69 6d 69 74 65 72 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 ....<VAR>delimiter</VAR>.specifi
476a0 65 73 20 74 68 65 20 64 65 6c 69 6d 69 74 65 72 20 63 68 61 72 61 63 74 65 72 3b 20 3c 43 4f 44 es.the.delimiter.character;.<COD
476c0 45 3e 67 65 74 64 65 6c 69 6d 3c 2f 43 4f 44 45 3e 20 6b 65 65 70 73 0a 20 20 20 20 20 20 20 20 E>getdelim</CODE>.keeps.........
476e0 20 72 65 61 64 69 6e 67 20 75 6e 74 69 6c 20 69 74 20 73 65 65 73 20 74 68 61 74 20 63 68 61 72 .reading.until.it.sees.that.char
47700 61 63 74 65 72 20 28 6f 72 20 65 6e 64 20 6f 66 20 66 69 6c 65 29 2e 0a 20 20 20 20 20 20 20 20 acter.(or.end.of.file)..........
47720 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 74 65 78 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 .<br><br>.The.text.is.stored.in.
47740 3c 56 41 52 3e 6c 69 6e 65 70 74 72 3c 2f 56 41 52 3e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 <VAR>lineptr</VAR>,.including.th
47760 65 20 64 65 6c 69 6d 69 74 65 72 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 61 e.delimiter.character..........a
47780 6e 64 20 61 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 2e 20 20 4c 69 6b 65 20 3c 43 4f nd.a.terminating.null...Like.<CO
477a0 44 45 3e 67 65 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 67 65 74 64 65 6c 69 DE>getline</CODE>,.<CODE>getdeli
477c0 6d 3c 2f 43 4f 44 45 3e 20 6d 61 6b 65 73 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6c 69 6e m</CODE>.makes..........<VAR>lin
477e0 65 70 74 72 3c 2f 56 41 52 3e 20 62 69 67 67 65 72 20 69 66 20 69 74 20 69 73 6e 27 74 20 62 69 eptr</VAR>.bigger.if.it.isn't.bi
47800 67 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 g.enough...........<br><br>.<COD
47820 45 3e 67 65 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 69 73 20 69 6e 20 66 61 63 74 20 69 6d 70 6c E>getline</CODE>.is.in.fact.impl
47840 65 6d 65 6e 74 65 64 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 3c 43 4f 44 45 3e 67 65 74 64 65 6c emented.in.terms.of.<CODE>getdel
47860 69 6d 3c 2f 43 4f 44 45 3e 2c 20 6a 75 73 74 0a 20 20 20 20 20 20 20 20 20 6c 69 6b 65 20 74 68 im</CODE>,.just..........like.th
47880 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a is:..........<br><br>.<pre><br>.
478a0 20 20 20 20 20 20 20 20 20 73 73 69 7a 65 5f 74 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 67 65 .........ssize_t<br>..........ge
478c0 74 6c 69 6e 65 20 28 63 68 61 72 20 2a 2a 6c 69 6e 65 70 74 72 2c 20 73 69 7a 65 5f 74 20 2a 6e tline.(char.**lineptr,.size_t.*n
478e0 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 ,.FILE.*stream)<br>..........{<b
47900 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 67 65 74 64 65 6c 69 6d 20 28 6c r>............return.getdelim.(l
47920 69 6e 65 70 74 72 2c 20 6e 2c 20 27 5c 6e 27 2c 20 73 74 72 65 61 6d 29 3b 3c 62 72 3e 0a 20 20 ineptr,.n,.'\n',.stream);<br>...
47940 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 .......}<br>..........</pre>....
47960 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 .....sq.~......w.....t..stdio.hx
47980 71 00 7e 0b b6 74 00 36 63 68 61 72 20 2a 2a 6c 69 6e 65 70 74 72 2c 20 73 69 7a 65 5f 74 20 2a q.~..t.6char.**lineptr,.size_t.*
479a0 6e 2c 20 69 6e 74 20 64 65 6c 69 6d 69 74 65 72 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 n,.int.delimiter,.FILE.*streamt.
479c0 07 73 73 69 7a 65 5f 74 74 00 0e 67 65 74 64 6f 6d 61 69 6e 6e 6e 61 6d 65 73 71 00 7e 00 0a 70 .ssize_tt..getdomainnnamesq.~..p
479e0 74 01 94 0a 20 20 20 20 20 20 20 20 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 t............domain.name........
47a00 20 20 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ...domain.name..........<br><br>
47a20 20 3c 43 4f 44 45 3e 67 65 74 64 6f 6d 61 69 6e 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 72 65 74 75 .<CODE>getdomainname</CODE>.retu
47a40 72 6e 73 20 74 68 65 20 4e 49 53 20 28 61 6b 61 20 59 50 29 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 rns.the.NIS.(aka.YP).domain.name
47a60 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 77 68 69 63 68 .of.the.system..........on.which
47a80 20 69 74 20 69 73 20 63 61 6c 6c 65 64 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 69 .it.is.called...Note.that.this.i
47aa0 73 20 6e 6f 74 20 74 68 65 20 6d 6f 72 65 20 70 6f 70 75 6c 61 72 20 44 4e 53 0a 20 20 20 20 20 s.not.the.more.popular.DNS......
47ac0 20 20 20 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 2e 20 20 47 65 74 20 74 68 61 74 20 77 69 74 68 20 ....domain.name...Get.that.with.
47ae0 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 <CODE>gethostname</CODE>........
47b00 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 70 65 63 69 66 69 63 73 20 6f 66 20 74 68 69 ...<br><br>.The.specifics.of.thi
47b20 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 s.function.are.analogous.to.<COD
47b40 45 3e 67 65 74 68 6f 73 74 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2c 20 61 62 6f 76 65 2e 0a 20 20 20 E>gethostname</CODE>,.above.....
47b60 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 ......<br><br>.........sq.~.....
47b80 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0b bd 74 00 19 63 68 61 72 20 .w.....t..unistd.hxq.~..t..char.
47ba0 2a 6e 61 6d 65 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 68 74 00 03 69 6e 74 74 00 07 67 65 74 *name,.size_t.lengtht..intt..get
47bc0 65 67 69 64 73 71 00 7e 00 0a 70 74 00 62 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 egidsq.~..pt.b.........The.<CODE
47be0 3e 67 65 74 65 67 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 >getegid</CODE>.function.returns
47c00 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 67 72 6f 75 70 20 49 44 20 6f 66 20 74 68 65 20 70 .the.effective.group.ID.of.the.p
47c20 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a rocess..........sq.~......w.....
47c40 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0b c4 74 00 04 76 6f 69 64 74 00 05 67 69 64 5f 74 t..unistd.hxq.~..t..voidt..gid_t
47c60 74 00 06 67 65 74 65 6e 76 73 71 00 7e 00 0a 70 74 01 b9 0a 20 20 20 20 20 20 20 20 54 68 69 73 t..getenvsq.~..pt...........This
47c80 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 .function.returns.a.string.that.
47ca0 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a is.the.value.of.the.environment.
47cc0 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 .........variable.<VAR>name</VAR
47ce0 3e 2e 20 20 59 6f 75 20 6d 75 73 74 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 69 73 20 73 74 72 >...You.must.not.modify.this.str
47d00 69 6e 67 2e 20 20 49 6e 20 73 6f 6d 65 20 6e 6f 6e 2d 55 6e 69 78 0a 20 20 20 20 20 20 20 20 20 ing...In.some.non-Unix..........
47d20 73 79 73 74 65 6d 73 20 6e 6f 74 20 75 73 69 6e 67 20 74 68 65 20 47 4e 55 20 6c 69 62 72 61 72 systems.not.using.the.GNU.librar
47d40 79 2c 20 69 74 20 6d 69 67 68 74 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 73 75 y,.it.might.be.overwritten.by.su
47d60 62 73 65 71 75 65 6e 74 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 bsequent..........calls.to.<CODE
47d80 3e 67 65 74 65 6e 76 3c 2f 43 4f 44 45 3e 20 28 62 75 74 20 6e 6f 74 20 62 79 20 61 6e 79 20 6f >getenv</CODE>.(but.not.by.any.o
47da0 74 68 65 72 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 29 2e 20 20 49 66 20 74 68 65 0a ther.library.function)...If.the.
47dc0 20 20 20 20 20 20 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 3c 56 .........environment.variable.<V
47de0 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 74 68 AR>name</VAR>.is.not.defined,.th
47e00 65 20 76 61 6c 75 65 20 69 73 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 e.value.is.a.null..........point
47e20 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 er..........sq.~......w.....t..s
47e40 74 64 6c 69 62 2e 68 78 71 00 7e 0b cb 74 00 10 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 tdlib.hxq.~..t..const.char.*name
47e60 74 00 06 63 68 61 72 20 2a 74 00 07 67 65 74 65 75 69 64 73 71 00 7e 00 0a 70 74 00 61 0a 20 20 t..char.*t..geteuidsq.~..pt.a...
47e80 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 65 75 69 64 3c 2f 43 4f 44 45 3e 20 66 ......The.<CODE>geteuid</CODE>.f
47ea0 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 75 73 unction.returns.the.effective.us
47ec0 65 72 20 49 44 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 73 71 er.ID.of.the.process..........sq
47ee0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0b d2 74 .~......w.....t..unistd.hxq.~..t
47f00 00 04 76 6f 69 64 74 00 05 75 69 64 5f 74 74 00 08 67 65 74 66 73 65 6e 74 73 71 00 7e 00 0a 70 ..voidt..uid_tt..getfsentsq.~..p
47f20 74 02 36 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e t.6.........This.function.return
47f40 73 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 6f 66 20 74 68 65 20 3c 54 54 3e 66 73 74 61 s.the.next.entry.of.the.<TT>fsta
47f60 62 3c 2f 54 54 3e 20 66 69 6c 65 2e 20 20 49 66 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 69 b</TT>.file...If.this..........i
47f80 73 20 74 68 65 20 66 69 72 73 74 20 63 61 6c 6c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 20 66 s.the.first.call.to.any.of.the.f
47fa0 75 6e 63 74 69 6f 6e 73 20 68 61 6e 64 6c 69 6e 67 20 3c 54 54 3e 66 73 74 61 62 3c 2f 54 54 3e unctions.handling.<TT>fstab</TT>
47fc0 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 20 73 74 61 72 74 20 6f 72 .since..........program.start.or
47fe0 20 74 68 65 20 6c 61 73 74 20 63 61 6c 6c 20 6f 66 20 3c 43 4f 44 45 3e 65 6e 64 66 73 65 6e 74 .the.last.call.of.<CODE>endfsent
48000 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 </CODE>,.the.file.will.be.......
48020 20 20 20 6f 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 ...opened...........<br><br>.The
48040 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 .function.returns.a.pointer.to.a
48060 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 0a 20 .variable.of.type.<CODE>struct..
48080 20 20 20 20 20 20 20 20 66 73 74 61 62 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 76 61 72 69 ........fstab</CODE>...This.vari
480a0 61 62 6c 65 20 69 73 20 73 68 61 72 65 64 20 62 79 20 61 6c 6c 20 74 68 72 65 61 64 73 20 61 6e able.is.shared.by.all.threads.an
480c0 64 20 74 68 65 72 65 66 6f 72 65 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 d.therefore.this..........functi
480e0 6f 6e 20 69 73 20 6e 6f 74 20 74 68 72 65 61 64 2d 73 61 66 65 2e 20 20 49 66 20 61 6e 20 65 72 on.is.not.thread-safe...If.an.er
48100 72 6f 72 20 6f 63 63 75 72 72 65 64 20 3c 43 4f 44 45 3e 67 65 74 66 73 65 6e 74 3c 2f 43 4f 44 ror.occurred.<CODE>getfsent</COD
48120 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 3c 43 4f 44 45 3e 4e 55 4c 4c E>..........returns.a.<CODE>NULL
48140 3c 2f 43 4f 44 45 3e 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 </CODE>.pointer..........sq.~...
48160 00 00 01 77 04 00 00 00 0a 74 00 07 66 73 74 61 62 2e 68 78 71 00 7e 0b d9 74 00 04 76 6f 69 64 ...w.....t..fstab.hxq.~..t..void
48180 74 00 0e 73 74 72 75 63 74 20 66 73 74 61 62 20 2a 74 00 09 67 65 74 66 73 66 69 6c 65 73 71 00 t..struct.fstab.*t..getfsfilesq.
481a0 7e 00 0a 70 74 03 39 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 ~..pt.9.........This.function.re
481c0 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 6f 66 20 74 68 65 20 3c 54 54 3e turns.the.next.entry.of.the.<TT>
481e0 66 73 74 61 62 3c 2f 54 54 3e 20 66 69 6c 65 20 77 68 69 63 68 20 68 61 73 0a 20 20 20 20 20 20 fstab</TT>.file.which.has.......
48200 20 20 20 61 20 73 74 72 69 6e 67 20 65 71 75 61 6c 20 74 6f 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f ...a.string.equal.to.<VAR>name</
48220 56 41 52 3e 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 66 73 5f VAR>.pointed.to.by.the.<CODE>fs_
48240 66 69 6c 65 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 53 69 file</CODE>.element...........Si
48260 6e 63 65 20 74 68 65 72 65 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 65 78 61 63 74 6c 79 20 6f 6e nce.there.is.normally.exactly.on
48280 65 20 65 6e 74 72 79 20 66 6f 72 20 65 61 63 68 20 6d 6f 75 6e 74 20 70 6f 69 6e 74 20 69 74 0a e.entry.for.each.mount.point.it.
482a0 20 20 20 20 20 20 20 20 20 6d 61 6b 65 73 20 6e 6f 20 73 65 6e 73 65 20 74 6f 20 63 61 6c 6c 20 .........makes.no.sense.to.call.
482c0 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 20 66 6f 72 this.function.more.than.once.for
482e0 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 66 .the.same..........argument...If
48300 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 63 61 6c 6c 20 74 6f 20 61 6e 79 20 6f .this.is.the.first.call.to.any.o
48320 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 68 61 6e 64 6c 69 6e 67 0a 20 20 20 20 20 20 20 f.the.functions.handling........
48340 20 20 3c 54 54 3e 66 73 74 61 62 3c 2f 54 54 3e 20 73 69 6e 63 65 20 70 72 6f 67 72 61 6d 20 73 ..<TT>fstab</TT>.since.program.s
48360 74 61 72 74 20 6f 72 20 74 68 65 20 6c 61 73 74 20 63 61 6c 6c 20 6f 66 20 3c 43 4f 44 45 3e 65 tart.or.the.last.call.of.<CODE>e
48380 6e 64 66 73 65 6e 74 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c ndfsent</CODE>,..........the.fil
483a0 65 20 77 69 6c 6c 20 62 65 20 6f 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c e.will.be.opened...........<br><
483c0 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 br>.The.function.returns.a.point
483e0 65 72 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 er.to.a.variable.of.type.<CODE>s
48400 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 66 73 74 61 62 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 truct..........fstab</CODE>...Th
48420 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 73 68 61 72 65 64 20 62 79 20 61 6c 6c 20 74 68 72 is.variable.is.shared.by.all.thr
48440 65 61 64 73 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 eads.and.therefore.this.........
48460 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 74 68 72 65 61 64 2d 73 61 66 65 2e 20 20 49 .function.is.not.thread-safe...I
48480 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 3c 43 4f 44 45 3e 67 65 74 66 73 65 f.an.error.occurred.<CODE>getfse
484a0 6e 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 3c 43 4f nt</CODE>..........returns.a.<CO
484c0 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 DE>NULL</CODE>.pointer..........
484e0 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 66 73 74 61 62 2e 68 78 71 00 7e 0b e0 sq.~......w.....t..fstab.hxq.~..
48500 74 00 10 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 74 00 0e 73 74 72 75 63 74 20 66 73 74 t..const.char.*namet..struct.fst
48520 61 62 20 2a 74 00 09 67 65 74 66 73 73 70 65 63 73 71 00 7e 00 0a 70 74 03 3c 0a 20 20 20 20 20 ab.*t..getfsspecsq.~..pt.<......
48540 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 ...This.function.returns.the.nex
48560 74 20 65 6e 74 72 79 20 6f 66 20 74 68 65 20 3c 54 54 3e 66 73 74 61 62 3c 2f 54 54 3e 20 66 69 t.entry.of.the.<TT>fstab</TT>.fi
48580 6c 65 20 77 68 69 63 68 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 61 20 73 74 72 69 6e 67 20 65 le.which.has..........a.string.e
485a0 71 75 61 6c 20 74 6f 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 65 64 20 qual.to.<VAR>name</VAR>.pointed.
485c0 74 6f 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 66 73 5f 73 70 65 63 3c 2f 43 4f 44 45 3e 20 65 to.by.the.<CODE>fs_spec</CODE>.e
485e0 6c 65 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 53 69 6e 63 65 20 74 68 65 72 65 20 69 73 20 lement...........Since.there.is.
48600 6e 6f 72 6d 61 6c 6c 79 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 65 6e 74 72 79 20 66 6f 72 20 65 normally.exactly.one.entry.for.e
48620 61 63 68 20 73 70 65 63 69 61 6c 20 64 65 76 69 63 65 20 69 74 0a 20 20 20 20 20 20 20 20 20 6d ach.special.device.it..........m
48640 61 6b 65 73 20 6e 6f 20 73 65 6e 73 65 20 74 6f 20 63 61 6c 6c 20 74 68 69 73 20 66 75 6e 63 74 akes.no.sense.to.call.this.funct
48660 69 6f 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 20 66 6f 72 20 74 68 65 20 73 61 6d 65 0a ion.more.than.once.for.the.same.
48680 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 74 .........argument...If.this.is.t
486a0 68 65 20 66 69 72 73 74 20 63 61 6c 6c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 20 66 75 6e 63 he.first.call.to.any.of.the.func
486c0 74 69 6f 6e 73 20 68 61 6e 64 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 54 54 3e 66 73 74 61 tions.handling..........<TT>fsta
486e0 62 3c 2f 54 54 3e 20 73 69 6e 63 65 20 70 72 6f 67 72 61 6d 20 73 74 61 72 74 20 6f 72 20 74 68 b</TT>.since.program.start.or.th
48700 65 20 6c 61 73 74 20 63 61 6c 6c 20 6f 66 20 3c 43 4f 44 45 3e 65 6e 64 66 73 65 6e 74 3c 2f 43 e.last.call.of.<CODE>endfsent</C
48720 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 ODE>,..........the.file.will.be.
48740 6f 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 opened...........<br><br>.The.fu
48760 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 76 61 nction.returns.a.pointer.to.a.va
48780 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 0a 20 20 20 20 riable.of.type.<CODE>struct.....
487a0 20 20 20 20 20 66 73 74 61 62 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 76 61 72 69 61 62 6c .....fstab</CODE>...This.variabl
487c0 65 20 69 73 20 73 68 61 72 65 64 20 62 79 20 61 6c 6c 20 74 68 72 65 61 64 73 20 61 6e 64 20 74 e.is.shared.by.all.threads.and.t
487e0 68 65 72 65 66 6f 72 65 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 herefore.this..........function.
48800 69 73 20 6e 6f 74 20 74 68 72 65 61 64 2d 73 61 66 65 2e 20 20 49 66 20 61 6e 20 65 72 72 6f 72 is.not.thread-safe...If.an.error
48820 20 6f 63 63 75 72 72 65 64 20 3c 43 4f 44 45 3e 67 65 74 66 73 65 6e 74 3c 2f 43 4f 44 45 3e 0a .occurred.<CODE>getfsent</CODE>.
48840 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 .........returns.a.<CODE>NULL</C
48860 4f 44 45 3e 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ODE>.pointer..........sq.~......
48880 77 04 00 00 00 0a 74 00 07 66 73 74 61 62 2e 68 78 71 00 7e 0b e7 74 00 10 63 6f 6e 73 74 20 63 w.....t..fstab.hxq.~..t..const.c
488a0 68 61 72 20 2a 6e 61 6d 65 74 00 0e 73 74 72 75 63 74 20 66 73 74 61 62 20 2a 74 00 06 67 65 74 har.*namet..struct.fstab.*t..get
488c0 67 69 64 73 71 00 7e 00 0a 70 74 00 5c 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e gidsq.~..pt.\.........The.<CODE>
488e0 67 65 74 67 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 getgid</CODE>.function.returns.t
48900 68 65 20 72 65 61 6c 20 67 72 6f 75 70 20 49 44 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2e he.real.group.ID.of.the.process.
48920 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 .........sq.~......w.....t..unis
48940 74 64 2e 68 78 71 00 7e 0b ee 74 00 04 76 6f 69 64 74 00 05 67 69 64 5f 74 74 00 08 67 65 74 67 td.hxq.~..t..voidt..gid_tt..getg
48960 72 65 6e 74 73 71 00 7e 00 0a 70 74 01 81 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 rentsq.~..pt...........The.<CODE
48980 3e 67 65 74 67 72 65 6e 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 >getgrent</CODE>.function.reads.
489a0 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 66 72 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 0a 20 the.next.entry.from.the.stream..
489c0 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 79 20 3c 43 4f 44 45 3e 73 65 74 ........initialized.by.<CODE>set
489e0 67 72 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e grent</CODE>...It.returns.a.poin
48a00 74 65 72 20 74 6f 20 74 68 65 20 65 6e 74 72 79 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 ter.to.the.entry...The..........
48a20 73 74 72 75 63 74 75 72 65 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 structure.is.statically.allocate
48a40 64 20 61 6e 64 20 69 73 20 6f 76 65 72 77 72 69 74 74 65 6e 20 6f 6e 20 73 75 62 73 65 71 75 65 d.and.is.overwritten.on.subseque
48a60 6e 74 20 63 61 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 67 72 nt.calls..........to.<CODE>getgr
48a80 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 20 6d 75 73 74 20 63 6f 70 79 20 74 68 65 20 63 ent</CODE>...You.must.copy.the.c
48aa0 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 69 66 20 79 6f 75 0a ontents.of.the.structure.if.you.
48ac0 20 20 20 20 20 20 20 20 20 77 69 73 68 20 74 6f 20 73 61 76 65 20 74 68 65 20 69 6e 66 6f 72 6d .........wish.to.save.the.inform
48ae0 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 ation..........sq.~......w.....t
48b00 00 05 67 72 70 2e 68 78 71 00 7e 0b f5 74 00 04 76 6f 69 64 74 00 0e 73 74 72 75 63 74 20 67 72 ..grp.hxq.~..t..voidt..struct.gr
48b20 6f 75 70 20 2a 74 00 0a 67 65 74 67 72 65 6e 74 5f 72 73 71 00 7e 00 0a 70 74 02 39 0a 20 20 20 oup.*t..getgrent_rsq.~..pt.9....
48b40 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f .....This.function.is.similar.to
48b60 20 3c 43 4f 44 45 3e 67 65 74 67 72 65 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 61 74 20 69 .<CODE>getgrent</CODE>.in.that.i
48b80 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 0a 20 20 20 20 20 20 20 20 20 65 6e 74 72 t.returns.the.next..........entr
48ba0 79 20 66 72 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 79 y.from.the.stream.initialized.by
48bc0 20 3c 43 4f 44 45 3e 73 65 74 67 72 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 4c 69 6b 65 0a 20 20 .<CODE>setgrent</CODE>...Like...
48be0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 67 65 74 67 72 65 6e 74 5f 72 3c 2f 43 4f 44 45 3e 2c .......<CODE>fgetgrent_r</CODE>,
48c00 20 69 74 20 70 6c 61 63 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 69 6e 20 75 73 65 72 2d 73 75 .it.places.the.result.in.user-su
48c20 70 70 6c 69 65 64 20 62 75 66 66 65 72 73 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 pplied.buffers..........pointed.
48c40 74 6f 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 to.<VAR>result_buf</VAR>.and.<VA
48c60 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 R>buffer</VAR>...........<br><br
48c80 3e 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 3c >.If.the.function.returns.zero.<
48ca0 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 70 6f 69 6e VAR>result</VAR>.contains.a.poin
48cc0 74 65 72 20 74 6f 20 74 68 65 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 72 6d 61 6c ter.to.the.data..........(normal
48ce0 6c 79 20 65 71 75 61 6c 20 74 6f 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 ly.equal.to.<VAR>result_buf</VAR
48d00 3e 29 2e 20 20 49 66 20 65 72 72 6f 72 73 20 6f 63 63 75 72 72 65 64 20 74 68 65 20 72 65 74 75 >)...If.errors.occurred.the.retu
48d20 72 6e 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d 7a 65 72 6f 20 61 6e rn..........value.is.non-zero.an
48d40 64 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e d.<VAR>result</VAR>.contains.a.n
48d60 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 ull.pointer..........sq.~......w
48d80 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 71 00 7e 0b fc 74 00 4c 73 74 72 75 63 74 20 67 72 6f .....t..grp.hxq.~..t.Lstruct.gro
48da0 75 70 20 2a 72 65 73 75 6c 74 5f 62 75 66 2c 20 63 68 61 72 20 2a 62 75 66 66 65 72 2c 20 73 69 up.*result_buf,.char.*buffer,.si
48dc0 7a 65 5f 74 20 62 75 66 6c 65 6e 2c 20 73 74 72 75 63 74 20 67 72 6f 75 70 20 2a 2a 72 65 73 75 ze_t.buflen,.struct.group.**resu
48de0 6c 74 74 00 03 69 6e 74 74 00 08 67 65 74 67 72 67 69 64 73 71 00 7e 00 0a 70 74 01 5e 0a 20 20 ltt..intt..getgrgidsq.~..pt.^...
48e00 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f ......This.function.returns.a.po
48e20 69 6e 74 65 72 20 74 6f 20 61 20 73 74 61 74 69 63 61 6c 6c 79 2d 61 6c 6c 6f 63 61 74 65 64 20 inter.to.a.statically-allocated.
48e40 73 74 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 6e structure..........containing.in
48e60 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 67 72 6f 75 70 20 77 68 6f 73 65 20 formation.about.the.group.whose.
48e80 67 72 6f 75 70 20 49 44 20 69 73 20 3c 56 41 52 3e 67 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 group.ID.is.<VAR>gid</VAR>......
48ea0 20 20 20 20 20 54 68 69 73 20 73 74 72 75 63 74 75 72 65 20 6d 61 79 20 62 65 20 6f 76 65 72 77 .....This.structure.may.be.overw
48ec0 72 69 74 74 65 6e 20 62 79 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 0a 20 20 ritten.by.subsequent.calls.to...
48ee0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 67 72 67 69 64 3c 2f 43 4f 44 45 3e 2e 0a 20 20 .......<CODE>getgrgid</CODE>....
48f00 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 .......<br><br>.A.null.pointer.i
48f20 6e 64 69 63 61 74 65 73 20 74 68 65 72 65 20 69 73 20 6e 6f 20 67 72 6f 75 70 20 77 69 74 68 20 ndicates.there.is.no.group.with.
48f40 49 44 20 3c 56 41 52 3e 67 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 ID.<VAR>gid</VAR>..........sq.~.
48f60 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 71 00 7e 0c 03 74 00 09 67 69 64 5f .....w.....t..grp.hxq.~..t..gid_
48f80 74 20 67 69 64 74 00 0e 73 74 72 75 63 74 20 67 72 6f 75 70 20 2a 74 00 0a 67 65 74 67 72 67 69 t.gidt..struct.group.*t..getgrgi
48fa0 64 5f 72 73 71 00 7e 00 0a 70 74 04 9b 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 d_rsq.~..pt...........This.funct
48fc0 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 67 72 67 69 64 ion.is.similar.to.<CODE>getgrgid
48fe0 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 </CODE>.in.that.it.returns......
49000 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 67 72 6f 75 70 20 ....information.about.the.group.
49020 77 68 6f 73 65 20 67 72 6f 75 70 20 49 44 20 69 73 20 3c 56 41 52 3e 67 69 64 3c 2f 56 41 52 3e whose.group.ID.is.<VAR>gid</VAR>
49040 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 66 69 6c 6c 73 20 74 68 ...However,.it..........fills.th
49060 65 20 75 73 65 72 20 73 75 70 70 6c 69 65 64 20 73 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 e.user.supplied.structure.pointe
49080 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 20 77 69 d.to.by.<VAR>result_buf</VAR>.wi
490a0 74 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 73 74 th..........the.information.inst
490c0 65 61 64 20 6f 66 20 75 73 69 6e 67 20 61 20 73 74 61 74 69 63 20 62 75 66 66 65 72 2e 20 20 54 ead.of.using.a.static.buffer...T
490e0 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 6c 65 6e 3c 2f 56 he.first..........<VAR>buflen</V
49100 41 52 3e 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 75 66 66 AR>.bytes.of.the.additional.buff
49120 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 er.pointed.to.by.<VAR>buffer</VA
49140 52 3e 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 75 73 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 R>..........are.used.to.contain.
49160 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 6e 6f 72 6d 61 6c 6c 79 additional.information,.normally
49180 20 73 74 72 69 6e 67 73 20 77 68 69 63 68 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e .strings.which.are..........poin
491a0 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 72 65 ted.to.by.the.elements.of.the.re
491c0 73 75 6c 74 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 sult.structure...........<br><br
491e0 3e 20 49 66 20 61 20 67 72 6f 75 70 20 77 69 74 68 20 49 44 20 3c 56 41 52 3e 67 69 64 3c 2f 56 >.If.a.group.with.ID.<VAR>gid</V
49200 41 52 3e 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 20 70 6f 69 6e 74 65 72 20 72 65 74 75 72 6e AR>.is.found,.the.pointer.return
49220 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e ed.in..........<VAR>result</VAR>
49240 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 72 65 63 6f 72 64 20 77 68 69 63 68 20 63 6f 6e 74 .points.to.the.record.which.cont
49260 61 69 6e 73 20 74 68 65 20 77 61 6e 74 65 64 20 64 61 74 61 20 28 69 2e 65 2e 2c 0a 20 20 20 20 ains.the.wanted.data.(i.e.,.....
49280 20 20 20 20 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 .....<VAR>result</VAR>.contains.
492a0 74 68 65 20 76 61 6c 75 65 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 29 the.value.<VAR>result_buf</VAR>)
492c0 2e 20 20 49 66 20 6e 6f 20 67 72 6f 75 70 20 69 73 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 ...If.no.group.is.found.........
492e0 20 6f 72 20 69 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2c 20 74 68 65 20 70 6f .or.if.an.error.occurred,.the.po
49300 69 6e 74 65 72 20 72 65 74 75 72 6e 65 64 20 69 6e 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 inter.returned.in.<VAR>result</V
49320 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 2e 20 AR>.is.a.null..........pointer..
49340 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 6f 72 20 61 6e .The.function.returns.zero.or.an
49360 20 65 72 72 6f 72 20 63 6f 64 65 2e 20 20 49 66 20 74 68 65 20 62 75 66 66 65 72 0a 20 20 20 20 .error.code...If.the.buffer.....
49380 20 20 20 20 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 73 6d .....<VAR>buffer</VAR>.is.too.sm
493a0 61 6c 6c 20 74 6f 20 63 6f 6e 74 61 69 6e 20 61 6c 6c 20 74 68 65 20 6e 65 65 64 65 64 20 69 6e all.to.contain.all.the.needed.in
493c0 66 6f 72 6d 61 74 69 6f 6e 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f formation,.the..........error.co
493e0 64 65 20 3c 43 4f 44 45 3e 45 52 41 4e 47 45 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e de.<CODE>ERANGE</CODE>.is.return
49400 65 64 20 61 6e 64 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 20 74 ed.and.<VAR>errno</VAR>.is.set.t
49420 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 52 41 4e 47 45 3c 2f 43 4f 44 45 3e 2e 0a o..........<CODE>ERANGE</CODE>..
49440 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 ........sq.~......w.....t..grp.h
49460 78 71 00 7e 0c 0a 74 00 57 67 69 64 5f 74 20 67 69 64 2c 20 73 74 72 75 63 74 20 67 72 6f 75 70 xq.~..t.Wgid_t.gid,.struct.group
49480 20 2a 72 65 73 75 6c 74 5f 62 75 66 2c 20 63 68 61 72 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 .*result_buf,.char.*buffer,.size
494a0 5f 74 20 62 75 66 6c 65 6e 2c 20 73 74 72 75 63 74 20 67 72 6f 75 70 20 2a 2a 72 65 73 75 6c 74 _t.buflen,.struct.group.**result
494c0 74 00 03 69 6e 74 74 00 08 67 65 74 67 72 6e 61 6d 73 71 00 7e 00 0a 70 74 01 60 0a 20 20 20 20 t..intt..getgrnamsq.~..pt.`.....
494e0 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e ....This.function.returns.a.poin
49500 74 65 72 20 74 6f 20 61 20 73 74 61 74 69 63 61 6c 6c 79 2d 61 6c 6c 6f 63 61 74 65 64 20 73 74 ter.to.a.statically-allocated.st
49520 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 6e 66 6f ructure..........containing.info
49540 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 67 72 6f 75 70 20 77 68 6f 73 65 20 67 72 rmation.about.the.group.whose.gr
49560 6f 75 70 20 6e 61 6d 65 20 69 73 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 oup.name.is.<VAR>name</VAR>.....
49580 20 20 20 20 20 20 54 68 69 73 20 73 74 72 75 63 74 75 72 65 20 6d 61 79 20 62 65 20 6f 76 65 72 ......This.structure.may.be.over
495a0 77 72 69 74 74 65 6e 20 62 79 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 0a 20 written.by.subsequent.calls.to..
495c0 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 67 72 6e 61 6d 3c 2f 43 4f 44 45 3e 2e 0a 20 ........<CODE>getgrnam</CODE>...
495e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 ........<br><br>.A.null.pointer.
49600 69 6e 64 69 63 61 74 65 73 20 74 68 65 72 65 20 69 73 20 6e 6f 20 67 72 6f 75 70 20 6e 61 6d 65 indicates.there.is.no.group.name
49620 64 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 d.<VAR>name</VAR>..........sq.~.
49640 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 71 00 7e 0c 11 74 00 10 63 6f 6e 73 .....w.....t..grp.hxq.~..t..cons
49660 74 20 63 68 61 72 20 2a 6e 61 6d 65 74 00 0e 73 74 72 75 63 74 20 67 72 6f 75 70 20 2a 74 00 0a t.char.*namet..struct.group.*t..
49680 67 65 74 67 72 6e 61 6d 5f 72 73 71 00 7e 00 0a 70 74 01 a6 0a 20 20 20 20 20 20 20 20 54 68 69 getgrnam_rsq.~..pt...........Thi
496a0 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 67 s.function.is.similar.to.<CODE>g
496c0 65 74 67 72 6e 61 6d 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 61 74 20 69 73 20 72 65 74 75 72 6e etgrnam</CODE>.in.that.is.return
496e0 73 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 s..........information.about.the
49700 20 67 72 6f 75 70 20 77 68 6f 73 65 20 67 72 6f 75 70 20 6e 61 6d 65 20 69 73 20 3c 56 41 52 3e .group.whose.group.name.is.<VAR>
49720 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 4c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 name</VAR>...Like..........<CODE
49740 3e 67 65 74 67 72 67 69 64 5f 72 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 75 73 65 73 20 74 68 65 20 >getgrgid_r</CODE>,.it.uses.the.
49760 75 73 65 72 20 73 75 70 70 6c 69 65 64 20 62 75 66 66 65 72 73 20 69 6e 0a 20 20 20 20 20 20 20 user.supplied.buffers.in........
49780 20 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 ..<VAR>result_buf</VAR>.and.<VAR
497a0 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2c 20 6e 6f 74 20 61 20 73 74 61 74 69 63 20 62 75 66 66 >buffer</VAR>,.not.a.static.buff
497c0 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e er...........<br><br>.The.return
497e0 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 3c 43 4f 44 .values.are.the.same.as.for.<COD
49800 45 3e 67 65 74 67 72 67 69 64 5f 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f E>getgrgid_r</CODE>..........<CO
49820 44 45 3e 45 52 41 4e 47 45 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f DE>ERANGE</CODE>..........sq.~..
49840 00 00 00 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 71 00 7e 0c 18 74 00 5e 63 6f 6e 73 74 ....w.....t..grp.hxq.~..t.^const
49860 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 67 72 6f 75 70 20 2a 72 65 73 75 6c .char.*name,.struct.group.*resul
49880 74 5f 62 75 66 2c 20 63 68 61 72 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 62 75 66 6c t_buf,.char.*buffer,.size_t.bufl
498a0 65 6e 2c 20 73 74 72 75 63 74 20 67 72 6f 75 70 20 2a 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 en,.struct.group.**resultt..intt
498c0 00 0c 67 65 74 67 72 6f 75 70 6c 69 73 74 73 71 00 7e 00 0a 70 74 06 0f 0a 20 20 20 20 20 20 20 ..getgrouplistsq.~..pt..........
498e0 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 67 72 6f 75 70 6c 69 73 74 3c 2f 43 4f 44 45 3e 20 66 .The.<CODE>getgrouplist</CODE>.f
49900 75 6e 63 74 69 6f 6e 20 73 63 61 6e 73 20 74 68 65 20 67 72 6f 75 70 20 64 61 74 61 62 61 73 65 unction.scans.the.group.database
49920 20 66 6f 72 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 67 72 6f 75 70 73 20 3c 56 41 .for.all.the..........groups.<VA
49940 52 3e 75 73 65 72 3c 2f 56 41 52 3e 20 62 65 6c 6f 6e 67 73 20 74 6f 2e 20 20 55 70 20 74 6f 20 R>user</VAR>.belongs.to...Up.to.
49960 2a 3c 56 41 52 3e 6e 67 72 6f 75 70 73 3c 2f 56 41 52 3e 20 67 72 6f 75 70 20 49 44 73 0a 20 20 *<VAR>ngroups</VAR>.group.IDs...
49980 20 20 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 73 65 20 67 72 .......corresponding.to.these.gr
499a0 6f 75 70 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 oups.are.stored.in.the.array.<VA
499c0 52 3e 67 72 6f 75 70 73 3c 2f 56 41 52 3e 3b 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 R>groups</VAR>;.the..........ret
499e0 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 urn.value.from.the.function.is.t
49a00 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 67 72 6f 75 70 20 49 44 73 20 61 63 74 75 61 6c 6c 79 0a he.number.of.group.IDs.actually.
49a20 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 64 2e 20 20 49 66 20 2a 3c 56 41 52 3e 6e 67 72 6f 75 .........stored...If.*<VAR>ngrou
49a40 70 73 3c 2f 56 41 52 3e 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 74 6f 74 ps</VAR>.is.smaller.than.the.tot
49a60 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 67 72 6f 75 70 73 0a 20 20 20 20 20 20 20 20 20 66 6f 75 al.number.of.groups..........fou
49a80 6e 64 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 67 65 74 67 72 6f 75 70 6c 69 73 74 3c 2f 43 4f 44 nd,.then.<CODE>getgrouplist</COD
49aa0 45 3e 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f E>.returns.a.value.of.<CODE>-1</
49ac0 43 4f 44 45 3e 20 61 6e 64 20 73 74 6f 72 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 61 63 CODE>.and.stores..........the.ac
49ae0 74 75 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 67 72 6f 75 70 73 20 69 6e 20 2a 3c 56 41 52 3e 6e tual.number.of.groups.in.*<VAR>n
49b00 67 72 6f 75 70 73 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 67 72 6f 75 70 20 3c 56 41 52 3e 67 72 groups</VAR>...The.group.<VAR>gr
49b20 6f 75 70 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 75 74 6f 6d 61 74 69 63 61 oup</VAR>.is..........automatica
49b40 6c 6c 79 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 67 72 6f 75 lly.included.in.the.list.of.grou
49b60 70 73 20 72 65 74 75 72 6e 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 ps.returned.by..........<CODE>ge
49b80 74 67 72 6f 75 70 6c 69 73 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e tgrouplist</CODE>...........<br>
49ba0 3c 62 72 3e 20 48 65 72 65 27 73 20 68 6f 77 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 67 65 74 <br>.Here's.how.to.use.<CODE>get
49bc0 67 72 6f 75 70 6c 69 73 74 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 65 61 64 20 61 6c 6c 20 73 75 70 grouplist</CODE>.to.read.all.sup
49be0 70 6c 65 6d 65 6e 74 61 72 79 20 67 72 6f 75 70 73 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 3c plementary.groups..........for.<
49c00 56 41 52 3e 75 73 65 72 3c 2f 56 41 52 3e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 VAR>user</VAR>:..........<br><br
49c20 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 >.<pre><br>..........<br>.......
49c40 20 20 20 67 69 64 5f 74 20 2a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 75 70 70 6c 65 6d 65 ...gid_t.*<br>..........suppleme
49c60 6e 74 61 72 79 5f 67 72 6f 75 70 73 20 28 63 68 61 72 20 2a 75 73 65 72 29 3c 62 72 3e 0a 20 20 ntary_groups.(char.*user)<br>...
49c80 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6e 67 72 6f .......{<br>............int.ngro
49ca0 75 70 73 20 3d 20 31 36 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 67 69 64 5f 74 20 2a ups.=.16;<br>............gid_t.*
49cc0 67 72 6f 75 70 73 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 28 67 69 64 5f 74 groups<br>..............=.(gid_t
49ce0 20 2a 29 20 78 6d 61 6c 6c 6f 63 20 28 6e 67 72 6f 75 70 73 20 2a 20 73 69 7a 65 6f 66 20 28 67 .*).xmalloc.(ngroups.*.sizeof.(g
49d00 69 64 5f 74 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 70 61 id_t));<br>............struct.pa
49d20 73 73 77 64 20 2a 70 77 20 3d 20 67 65 74 70 77 6e 61 6d 20 28 75 73 65 72 29 3b 3c 62 72 3e 0a sswd.*pw.=.getpwnam.(user);<br>.
49d40 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 69 66 20 28 70 77 20 3d 3d 20 4e 55 .........<br><br>...if.(pw.==.NU
49d60 4c 4c 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c LL)<br>..............return.NULL
49d80 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 69 66 20 28 67 65 ;<br>..........<br><br>...if.(ge
49da0 74 67 72 6f 75 70 6c 69 73 74 20 28 70 77 2d 3e 70 77 5f 6e 61 6d 65 2c 20 70 77 2d 3e 70 77 5f tgrouplist.(pw->pw_name,.pw->pw_
49dc0 67 69 64 2c 20 67 72 6f 75 70 73 2c 20 26 6e 67 72 6f 75 70 73 29 20 3c 20 30 29 3c 62 72 3e 0a gid,.groups,.&ngroups).<.0)<br>.
49de0 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .............{<br>..............
49e00 20 20 67 72 6f 75 70 73 20 3d 20 78 72 65 61 6c 6c 6f 63 20 28 6e 67 72 6f 75 70 73 20 2a 20 73 ..groups.=.xrealloc.(ngroups.*.s
49e20 69 7a 65 6f 66 20 28 67 69 64 5f 74 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 izeof.(gid_t));<br>.............
49e40 20 20 20 67 65 74 67 72 6f 75 70 6c 69 73 74 20 28 70 77 2d 3e 70 77 5f 6e 61 6d 65 2c 20 70 77 ...getgrouplist.(pw->pw_name,.pw
49e60 2d 3e 70 77 5f 67 69 64 2c 20 67 72 6f 75 70 73 2c 20 26 6e 67 72 6f 75 70 73 29 3b 3c 62 72 3e ->pw_gid,.groups,.&ngroups);<br>
49e80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 ..............}<br>............r
49ea0 65 74 75 72 6e 20 67 72 6f 75 70 73 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e eturn.groups;<br>..........}<br>
49ec0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 ..........<br>..........</pre>..
49ee0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 .......sq.~......w.....t..grp.hx
49f00 71 00 7e 0c 1f 74 00 3a 63 6f 6e 73 74 20 63 68 61 72 20 2a 75 73 65 72 2c 20 67 69 64 5f 74 20 q.~..t.:const.char.*user,.gid_t.
49f20 67 72 6f 75 70 2c 20 67 69 64 5f 74 20 2a 67 72 6f 75 70 73 2c 20 69 6e 74 20 2a 6e 67 72 6f 75 group,.gid_t.*groups,.int.*ngrou
49f40 70 73 74 00 03 69 6e 74 74 00 09 67 65 74 67 72 6f 75 70 73 73 71 00 7e 00 0a 70 74 05 6e 0a 20 pst..intt..getgroupssq.~..pt.n..
49f60 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 67 72 6f 75 70 73 3c 2f 43 4f 44 45 .......The.<CODE>getgroups</CODE
49f80 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 69 6e 71 75 69 72 65 20 61 62 >.function.is.used.to.inquire.ab
49fa0 6f 75 74 20 74 68 65 20 73 75 70 70 6c 65 6d 65 6e 74 61 72 79 0a 20 20 20 20 20 20 20 20 20 67 out.the.supplementary..........g
49fc0 72 6f 75 70 20 49 44 73 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2e 20 20 55 70 20 74 6f 20 roup.IDs.of.the.process...Up.to.
49fe0 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 6f 66 20 74 68 65 73 65 20 67 72 6f 75 70 20 <VAR>count</VAR>.of.these.group.
4a000 49 44 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 61 IDs.are..........stored.in.the.a
4a020 72 72 61 79 20 3c 56 41 52 3e 67 72 6f 75 70 73 3c 2f 56 41 52 3e 3b 20 74 68 65 20 72 65 74 75 rray.<VAR>groups</VAR>;.the.retu
4a040 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 rn.value.from.the.function.is...
4a060 20 20 20 20 20 20 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 67 72 6f 75 70 20 49 44 73 20 61 .......the.number.of.group.IDs.a
4a080 63 74 75 61 6c 6c 79 20 73 74 6f 72 65 64 2e 20 20 49 66 20 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f ctually.stored...If.<VAR>count</
4a0a0 56 41 52 3e 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 0a 20 20 20 20 20 20 20 20 20 74 68 VAR>.is.smaller.than..........th
4a0c0 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 73 75 70 70 6c 65 6d 65 6e 74 61 72 79 20 e.total.number.of.supplementary.
4a0e0 67 72 6f 75 70 20 49 44 73 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 67 65 74 67 72 6f 75 70 73 3c group.IDs,.then.<CODE>getgroups<
4a100 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 /CODE>..........returns.a.value.
4a120 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 of.<CODE>-1</CODE>.and.<CODE>err
4a140 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 74 6f 20 3c 43 4f 44 45 3e 45 49 4e 56 41 4c no</CODE>.is.set.to.<CODE>EINVAL
4a160 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 </CODE>...........<br><br>.If.<V
4a180 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 20 74 68 65 6e 20 3c 43 4f AR>count</VAR>.is.zero,.then.<CO
4a1a0 44 45 3e 67 65 74 67 72 6f 75 70 73 3c 2f 43 4f 44 45 3e 20 6a 75 73 74 20 72 65 74 75 72 6e 73 DE>getgroups</CODE>.just.returns
4a1c0 20 74 68 65 20 74 6f 74 61 6c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 73 75 .the.total..........number.of.su
4a1e0 70 70 6c 65 6d 65 6e 74 61 72 79 20 67 72 6f 75 70 20 49 44 73 2e 20 20 4f 6e 20 73 79 73 74 65 pplementary.group.IDs...On.syste
4a200 6d 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 73 75 70 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 ms.that.do.not.support..........
4a220 73 75 70 70 6c 65 6d 65 6e 74 61 72 79 20 67 72 6f 75 70 73 2c 20 74 68 69 73 20 77 69 6c 6c 20 supplementary.groups,.this.will.
4a240 61 6c 77 61 79 73 20 62 65 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 always.be.zero...........<br><br
4a260 3e 20 48 65 72 65 27 73 20 68 6f 77 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 67 65 74 67 72 6f >.Here's.how.to.use.<CODE>getgro
4a280 75 70 73 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 65 61 64 20 61 6c 6c 20 74 68 65 20 73 75 70 70 6c ups</CODE>.to.read.all.the.suppl
4a2a0 65 6d 65 6e 74 61 72 79 20 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 49 44 73 3a 0a 20 20 20 ementary.group..........IDs:....
4a2c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 ......<br><br>.<pre><br>........
4a2e0 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 67 69 64 5f 74 20 2a 3c 62 72 3e 0a 20 20 20 20 ..<br>..........gid_t.*<br>.....
4a300 20 20 20 20 20 72 65 61 64 5f 61 6c 6c 5f 67 72 6f 75 70 73 20 28 76 6f 69 64 29 3c 62 72 3e 0a .....read_all_groups.(void)<br>.
4a320 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6e 67 .........{<br>............int.ng
4a340 72 6f 75 70 73 20 3d 20 67 65 74 67 72 6f 75 70 73 20 28 30 2c 20 4e 55 4c 4c 29 3b 3c 62 72 3e roups.=.getgroups.(0,.NULL);<br>
4a360 0a 20 20 20 20 20 20 20 20 20 20 20 67 69 64 5f 74 20 2a 67 72 6f 75 70 73 3c 62 72 3e 0a 20 20 ............gid_t.*groups<br>...
4a380 20 20 20 20 20 20 20 20 20 20 20 3d 20 28 67 69 64 5f 74 20 2a 29 20 78 6d 61 6c 6c 6f 63 20 28 ...........=.(gid_t.*).xmalloc.(
4a3a0 6e 67 72 6f 75 70 73 20 2a 20 73 69 7a 65 6f 66 20 28 67 69 64 5f 74 29 29 3b 3c 62 72 3e 0a 20 ngroups.*.sizeof.(gid_t));<br>..
4a3c0 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 76 61 6c 20 3d 20 67 65 74 67 72 6f 75 70 73 20 28 6e ..........int.val.=.getgroups.(n
4a3e0 67 72 6f 75 70 73 2c 20 67 72 6f 75 70 73 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 groups,.groups);<br>............
4a400 69 66 20 28 76 61 6c 20 3c 20 30 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 3c if.(val.<.0)<br>..............{<
4a420 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 65 65 20 28 67 72 6f 75 70 73 29 br>................free.(groups)
4a440 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c ;<br>................return.NULL
4a460 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 ;<br>..............}<br>........
4a480 20 20 20 20 72 65 74 75 72 6e 20 67 72 6f 75 70 73 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 ....return.groups;<br>..........
4a4a0 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 }<br>..........<br>..........</p
4a4c0 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 re>.........sq.~......w.....t..u
4a4e0 6e 69 73 74 64 2e 68 78 71 00 7e 0c 26 74 00 18 69 6e 74 20 63 6f 75 6e 74 2c 20 67 69 64 5f 74 nistd.hxq.~.&t..int.count,.gid_t
4a500 20 2a 67 72 6f 75 70 73 74 00 03 69 6e 74 74 00 0d 67 65 74 68 6f 73 74 62 79 61 64 64 72 73 71 .*groupst..intt..gethostbyaddrsq
4a520 00 7e 00 0a 70 74 02 91 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 68 6f .~..pt...........The.<CODE>getho
4a540 73 74 62 79 61 64 64 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 stbyaddr</CODE>.function.returns
4a560 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 68 6f 73 74 0a 20 20 20 20 .information.about.the.host.....
4a580 20 20 20 20 20 77 69 74 68 20 49 6e 74 65 72 6e 65 74 20 61 64 64 72 65 73 73 20 3c 56 41 52 3e .....with.Internet.address.<VAR>
4a5a0 61 64 64 72 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e addr</VAR>...The.parameter.<VAR>
4a5c0 61 64 64 72 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 72 65 61 6c 6c addr</VAR>.is.not..........reall
4a5e0 79 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 63 68 61 72 20 2d 20 69 74 20 63 61 6e 20 62 65 20 y.a.pointer.to.char.-.it.can.be.
4a600 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 49 50 76 34 20 6f 72 20 61 6e 20 49 50 76 36 0a a.pointer.to.an.IPv4.or.an.IPv6.
4a620 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 2e 20 54 68 65 20 3c 56 41 52 3e 6c 65 6e 67 74 .........address..The.<VAR>lengt
4a640 68 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 73 69 7a 65 20 28 69 6e h</VAR>.argument.is.the.size.(in
4a660 20 62 79 74 65 73 29 20 6f 66 20 74 68 65 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 .bytes).of.the.address..........
4a680 61 74 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 2e 20 20 3c 56 41 52 3e 66 6f 72 6d 61 74 at.<VAR>addr</VAR>...<VAR>format
4a6a0 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 61 64 64 72 65 73 73 20 66 6f 72 </VAR>.specifies.the.address.for
4a6c0 6d 61 74 3b 20 66 6f 72 20 61 6e 20 49 50 76 34 0a 20 20 20 20 20 20 20 20 20 49 6e 74 65 72 6e mat;.for.an.IPv4..........Intern
4a6e0 65 74 20 61 64 64 72 65 73 73 2c 20 73 70 65 63 69 66 79 20 61 20 76 61 6c 75 65 20 6f 66 20 3c et.address,.specify.a.value.of.<
4a700 43 4f 44 45 3e 41 46 5f 49 4e 45 54 3c 2f 43 4f 44 45 3e 3b 20 66 6f 72 20 61 6e 20 49 50 76 36 CODE>AF_INET</CODE>;.for.an.IPv6
4a720 0a 20 20 20 20 20 20 20 20 20 49 6e 74 65 72 6e 65 74 20 61 64 64 72 65 73 73 2c 20 75 73 65 20 ..........Internet.address,.use.
4a740 3c 43 4f 44 45 3e 41 46 5f 49 4e 45 54 36 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 <CODE>AF_INET6</CODE>...........
4a760 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6c 6f 6f 6b 75 70 20 66 61 69 6c 73 2c 20 3c 43 <br><br>.If.the.lookup.fails,.<C
4a780 4f 44 45 3e 67 65 74 68 6f 73 74 62 79 61 64 64 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 ODE>gethostbyaddr</CODE>.returns
4a7a0 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 .a.null.pointer..........sq.~...
4a7c0 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0c 2d 74 00 2b 63 6f 6e 73 ...w.....t..netdb.hxq.~.-t.+cons
4a7e0 74 20 63 68 61 72 20 2a 61 64 64 72 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 68 2c 20 69 6e 74 t.char.*addr,.size_t.length,.int
4a800 20 66 6f 72 6d 61 74 74 00 10 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 20 2a 74 00 0f 67 65 74 .formatt..struct.hostent.*t..get
4a820 68 6f 73 74 62 79 61 64 64 72 5f 72 73 71 00 7e 00 0a 70 74 03 a7 0a 20 20 20 20 20 20 20 20 54 hostbyaddr_rsq.~..pt...........T
4a840 68 65 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 62 79 61 64 64 72 5f 72 3c 2f 43 4f 44 45 3e 20 he.<CODE>gethostbyaddr_r</CODE>.
4a860 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f function.returns.information.abo
4a880 75 74 20 74 68 65 20 68 6f 73 74 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 20 49 6e 74 65 72 6e ut.the.host..........with.Intern
4a8a0 65 74 20 61 64 64 72 65 73 73 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 2e 20 20 54 68 65 et.address.<VAR>addr</VAR>...The
4a8c0 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 69 73 20 6e 6f .parameter.<VAR>addr</VAR>.is.no
4a8e0 74 0a 20 20 20 20 20 20 20 20 20 72 65 61 6c 6c 79 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 63 t..........really.a.pointer.to.c
4a900 68 61 72 20 2d 20 69 74 20 63 61 6e 20 62 65 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 har.-.it.can.be.a.pointer.to.an.
4a920 49 50 76 34 20 6f 72 20 61 6e 20 49 50 76 36 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 IPv4.or.an.IPv6..........address
4a940 2e 20 54 68 65 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 ..The.<VAR>length</VAR>.argument
4a960 20 69 73 20 74 68 65 20 73 69 7a 65 20 28 69 6e 20 62 79 74 65 73 29 20 6f 66 20 74 68 65 20 61 .is.the.size.(in.bytes).of.the.a
4a980 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 61 74 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 ddress..........at.<VAR>addr</VA
4a9a0 52 3e 2e 20 20 3c 56 41 52 3e 66 6f 72 6d 61 74 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 R>...<VAR>format</VAR>.specifies
4a9c0 20 74 68 65 20 61 64 64 72 65 73 73 20 66 6f 72 6d 61 74 3b 20 66 6f 72 20 61 6e 20 49 50 76 34 .the.address.format;.for.an.IPv4
4a9e0 0a 20 20 20 20 20 20 20 20 20 49 6e 74 65 72 6e 65 74 20 61 64 64 72 65 73 73 2c 20 73 70 65 63 ..........Internet.address,.spec
4aa00 69 66 79 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 41 46 5f 49 4e 45 54 3c 2f 43 4f ify.a.value.of.<CODE>AF_INET</CO
4aa20 44 45 3e 3b 20 66 6f 72 20 61 6e 20 49 50 76 36 0a 20 20 20 20 20 20 20 20 20 49 6e 74 65 72 6e DE>;.for.an.IPv6..........Intern
4aa40 65 74 20 61 64 64 72 65 73 73 2c 20 75 73 65 20 3c 43 4f 44 45 3e 41 46 5f 49 4e 45 54 36 3c 2f et.address,.use.<CODE>AF_INET6</
4aa60 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 69 6d 69 6c 61 72 CODE>...........<br><br>.Similar
4aa80 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 5f 72 3c 2f 43 .to.the.<CODE>gethostbyname_r</C
4aaa0 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 63 61 6c 6c 65 72 20 6d 75 73 74 20 70 ODE>.function,.the.caller.must.p
4aac0 72 6f 76 69 64 65 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 73 20 66 6f 72 20 74 68 65 20 rovide..........buffers.for.the.
4aae0 72 65 73 75 6c 74 20 61 6e 64 20 6d 65 6d 6f 72 79 20 75 73 65 64 20 69 6e 74 65 72 6e 61 6c 6c result.and.memory.used.internall
4ab00 79 2e 20 20 49 6e 20 63 61 73 65 20 6f 66 20 73 75 63 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 y...In.case.of.success..........
4ab20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 2e 20 20 4f 74 68 65 the.function.returns.zero...Othe
4ab40 72 77 69 73 65 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 6e 20 65 72 72 6f 72 20 6e 75 6d 62 rwise.the.value.is.an.error.numb
4ab60 65 72 20 77 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 52 41 4e 47 45 3c 2f er.where..........<CODE>ERANGE</
4ab80 43 4f 44 45 3e 20 68 61 73 20 74 68 65 20 73 70 65 63 69 61 6c 20 6d 65 61 6e 69 6e 67 20 74 68 CODE>.has.the.special.meaning.th
4aba0 61 74 20 74 68 65 20 63 61 6c 6c 65 72 2d 70 72 6f 76 69 64 65 64 20 62 75 66 66 65 72 20 69 73 at.the.caller-provided.buffer.is
4abc0 0a 20 20 20 20 20 20 20 20 20 74 6f 6f 20 73 6d 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 73 71 00 ..........too.small..........sq.
4abe0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0c 34 74 00 ad ~......w.....t..netdb.hxq.~.4t..
4ac00 63 6f 6e 73 74 20 63 68 61 72 20 2a 61 64 64 72 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 68 2c const.char.*addr,.size_t.length,
4ac20 20 69 6e 74 20 66 6f 72 6d 61 74 2c 20 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 20 2a 72 65 73 .int.format,.struct.hostent.*res
4ac40 74 72 69 63 74 20 72 65 73 75 6c 74 5f 62 75 66 2c 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 trict.result_buf,.char.*restrict
4ac60 20 62 75 66 2c 20 73 69 7a 65 5f 74 20 62 75 66 6c 65 6e 2c 20 73 74 72 75 63 74 20 68 6f 73 74 .buf,.size_t.buflen,.struct.host
4ac80 65 6e 74 20 2a 2a 72 65 73 74 72 69 63 74 20 72 65 73 75 6c 74 2c 20 69 6e 74 20 2a 72 65 73 74 ent.**restrict.result,.int.*rest
4aca0 72 69 63 74 20 68 5f 65 72 72 6e 6f 70 74 00 03 69 6e 74 74 00 0d 67 65 74 68 6f 73 74 62 79 6e rict.h_errnopt..intt..gethostbyn
4acc0 61 6d 65 73 71 00 7e 00 0a 70 74 00 ad 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e amesq.~..pt...........The.<CODE>
4ace0 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 gethostbyname</CODE>.function.re
4ad00 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 68 6f 73 74 turns.information.about.the.host
4ad20 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 64 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 2e ..........named.<VAR>name</VAR>.
4ad40 20 20 49 66 20 74 68 65 20 6c 6f 6f 6b 75 70 20 66 61 69 6c 73 2c 20 69 74 20 72 65 74 75 72 6e ..If.the.lookup.fails,.it.return
4ad60 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f s.a.null.pointer..........sq.~..
4ad80 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0c 3b 74 00 10 63 6f 6e ....w.....t..netdb.hxq.~.;t..con
4ada0 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 74 00 10 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 20 2a st.char.*namet..struct.hostent.*
4adc0 74 00 0e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 32 73 71 00 7e 00 0a 70 74 00 f1 0a 20 20 20 20 t..gethostbyname2sq.~..pt.......
4ade0 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 32 3c 2f 43 4f ....The.<CODE>gethostbyname2</CO
4ae00 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 67 65 74 68 6f DE>.function.is.like.<CODE>getho
4ae20 73 74 62 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 61 6c stbyname</CODE>,.but..........al
4ae40 6c 6f 77 73 20 74 68 65 20 63 61 6c 6c 65 72 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 64 lows.the.caller.to.specify.the.d
4ae60 65 73 69 72 65 64 20 61 64 64 72 65 73 73 20 66 61 6d 69 6c 79 20 28 65 2e 67 2e 3a 0a 20 20 20 esired.address.family.(e.g.:....
4ae80 20 20 20 20 20 20 3c 43 4f 44 45 3e 41 46 5f 49 4e 45 54 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 ......<CODE>AF_INET</CODE>.or.<C
4aea0 4f 44 45 3e 41 46 5f 49 4e 45 54 36 3c 2f 43 4f 44 45 3e 29 20 6f 66 20 74 68 65 20 72 65 73 75 ODE>AF_INET6</CODE>).of.the.resu
4aec0 6c 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e lt..........sq.~......w.....t..n
4aee0 65 74 64 62 2e 68 78 71 00 7e 0c 42 74 00 18 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 2c etdb.hxq.~.Bt..const.char.*name,
4af00 20 69 6e 74 20 61 66 74 00 10 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 20 2a 74 00 10 67 65 74 .int.aft..struct.hostent.*t..get
4af20 68 6f 73 74 62 79 6e 61 6d 65 32 5f 72 73 71 00 7e 00 0a 70 74 00 f6 0a 20 20 20 20 20 20 20 20 hostbyname2_rsq.~..pt...........
4af40 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 32 5f 72 3c 2f 43 4f 44 45 The.<CODE>gethostbyname2_r</CODE
4af60 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 >.function.is.like.<CODE>gethost
4af80 62 79 6e 61 6d 65 5f 72 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 61 6c byname_r</CODE>,.but..........al
4afa0 6c 6f 77 73 20 74 68 65 20 63 61 6c 6c 65 72 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 64 lows.the.caller.to.specify.the.d
4afc0 65 73 69 72 65 64 20 61 64 64 72 65 73 73 20 66 61 6d 69 6c 79 20 28 65 2e 67 2e 3a 0a 20 20 20 esired.address.family.(e.g.:....
4afe0 20 20 20 20 20 20 3c 43 4f 44 45 3e 41 46 5f 49 4e 45 54 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 ......<CODE>AF_INET</CODE>.or.<C
4b000 4f 44 45 3e 41 46 5f 49 4e 45 54 36 3c 2f 43 4f 44 45 3e 29 20 66 6f 72 20 74 68 65 20 72 65 73 ODE>AF_INET6</CODE>).for.the.res
4b020 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 ult..........sq.~......w.....t..
4b040 6e 65 74 64 62 2e 68 78 71 00 7e 0c 49 74 00 9a 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 netdb.hxq.~.It..const.char.*name
4b060 2c 20 69 6e 74 20 61 66 2c 20 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 20 2a 72 65 73 74 72 69 ,.int.af,.struct.hostent.*restri
4b080 63 74 20 72 65 73 75 6c 74 5f 62 75 66 2c 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 62 75 ct.result_buf,.char.*restrict.bu
4b0a0 66 2c 20 73 69 7a 65 5f 74 20 62 75 66 6c 65 6e 2c 20 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 f,.size_t.buflen,.struct.hostent
4b0c0 20 2a 2a 72 65 73 74 72 69 63 74 20 72 65 73 75 6c 74 2c 20 69 6e 74 20 2a 72 65 73 74 72 69 63 .**restrict.result,.int.*restric
4b0e0 74 20 68 5f 65 72 72 6e 6f 70 74 00 03 69 6e 74 74 00 0f 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 t.h_errnopt..intt..gethostbyname
4b100 5f 72 73 71 00 7e 00 0a 70 74 08 a3 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 _rsq.~..pt...........The.<CODE>g
4b120 65 74 68 6f 73 74 62 79 6e 61 6d 65 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 ethostbyname_r</CODE>.function.r
4b140 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 68 6f 73 eturns.information.about.the.hos
4b160 74 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 64 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e t..........named.<VAR>name</VAR>
4b180 2e 20 20 54 68 65 20 63 61 6c 6c 65 72 20 6d 75 73 74 20 70 61 73 73 20 61 20 70 6f 69 6e 74 65 ...The.caller.must.pass.a.pointe
4b1a0 72 20 74 6f 20 61 6e 20 6f 62 6a 65 63 74 20 6f 66 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 r.to.an.object.of.type..........
4b1c0 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 <CODE>struct.hostent</CODE>.in.t
4b1e0 68 65 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 he.<VAR>result_buf</VAR>.paramet
4b200 65 72 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 75 er...In.addition..........the.fu
4b220 6e 63 74 69 6f 6e 20 6d 61 79 20 6e 65 65 64 20 65 78 74 72 61 20 62 75 66 66 65 72 20 73 70 61 nction.may.need.extra.buffer.spa
4b240 63 65 20 61 6e 64 20 74 68 65 20 63 61 6c 6c 65 72 20 6d 75 73 74 20 70 61 73 73 20 61 6e 0a 20 ce.and.the.caller.must.pass.an..
4b260 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 74 68 65 20 73 69 7a 65 20 6f 66 20 ........pointer.and.the.size.of.
4b280 74 68 65 20 62 75 66 66 65 72 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e the.buffer.in.the.<VAR>buf</VAR>
4b2a0 20 61 6e 64 20 3c 56 41 52 3e 62 75 66 6c 65 6e 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 .and.<VAR>buflen</VAR>..........
4b2c0 70 61 72 61 6d 65 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 parameters...........<br><br>.A.
4b2e0 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 2c 20 69 6e 20 77 68 69 63 68 20 pointer.to.the.buffer,.in.which.
4b300 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 73 74 6f 72 65 64 2c 20 69 73 20 61 76 61 69 6c 61 62 the.result.is.stored,.is.availab
4b320 6c 65 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 65 73 75 6c le.in..........<CODE>*<VAR>resul
4b340 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 66 74 65 72 20 74 68 65 20 66 75 6e 63 74 69 6f t</VAR></CODE>.after.the.functio
4b360 6e 20 63 61 6c 6c 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 74 75 72 6e 65 64 2e 20 20 49 n.call.successfully.returned...I
4b380 66 0a 20 20 20 20 20 20 20 20 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 73 20 6f 72 20 69 66 f..........an.error.occurs.or.if
4b3a0 20 6e 6f 20 65 6e 74 72 79 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 20 70 6f 69 6e 74 65 72 20 .no.entry.is.found,.the.pointer.
4b3c0 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 0a <CODE>*<VAR>result</VAR></CODE>.
4b3e0 20 20 20 20 20 20 20 20 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 20 20 53 75 63 .........is.a.null.pointer...Suc
4b400 63 65 73 73 20 69 73 20 73 69 67 6e 61 6c 6c 65 64 20 62 79 20 61 20 7a 65 72 6f 20 72 65 74 75 cess.is.signalled.by.a.zero.retu
4b420 72 6e 20 76 61 6c 75 65 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 rn.value...If.the..........funct
4b440 69 6f 6e 20 66 61 69 6c 65 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 ion.failed.the.return.value.is.a
4b460 6e 20 65 72 72 6f 72 20 6e 75 6d 62 65 72 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 n.error.number...In.addition.to.
4b480 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 the..........errors.defined.for.
4b4a0 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 69 74 20 63 61 <CODE>gethostbyname</CODE>.it.ca
4b4c0 6e 20 61 6c 73 6f 20 62 65 20 3c 43 4f 44 45 3e 45 52 41 4e 47 45 3c 2f 43 4f 44 45 3e 2e 0a 20 n.also.be.<CODE>ERANGE</CODE>...
4b4e0 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 63 61 6c 6c 20 73 68 ........In.this.case.the.call.sh
4b500 6f 75 6c 64 20 62 65 20 72 65 70 65 61 74 65 64 20 77 69 74 68 20 61 20 6c 61 72 67 65 72 20 62 ould.be.repeated.with.a.larger.b
4b520 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 41 64 64 69 74 69 6f 6e 61 6c 20 65 72 72 6f 72 uffer...........Additional.error
4b540 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 73 74 6f 72 65 64 20 69 6e 20 74 68 .information.is.not.stored.in.th
4b560 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 e.global.variable..........<CODE
4b580 3e 68 5f 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 6e 73 74 65 61 64 20 69 6e 20 74 >h_errno</CODE>.but.instead.in.t
4b5a0 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 68 5f 65 he.object.pointed.to.by.<VAR>h_e
4b5c0 72 72 6e 6f 70 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 48 rrnop</VAR>...........<br><br>.H
4b5e0 65 72 65 27 73 20 61 20 73 6d 61 6c 6c 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 ere's.a.small.example:..........
4b600 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 68 6f 73 74 65 6e <pre><br>..........struct.hosten
4b620 74 20 2a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 67 65 74 68 6f 73 74 6e 61 6d 65 20 28 63 68 t.*<br>..........gethostname.(ch
4b640 61 72 20 2a 68 6f 73 74 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 ar.*host)<br>..........{<br>....
4b660 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 20 68 6f 73 74 62 75 66 2c 20 ........struct.hostent.hostbuf,.
4b680 2a 68 70 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 5f 74 20 68 73 74 62 75 *hp;<br>............size_t.hstbu
4b6a0 66 6c 65 6e 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 74 6d 70 68 73 flen;<br>............char.*tmphs
4b6c0 74 62 75 66 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 65 73 3b 3c 62 72 tbuf;<br>............int.res;<br
4b6e0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 68 65 72 72 3b 3c 62 72 3e 0a 20 20 20 20 20 >............int.herr;<br>......
4b700 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 68 73 74 62 75 66 6c 65 6e 20 3d 20 31 30 32 34 3b ....<br><br>...hstbuflen.=.1024;
4b720 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 41 6c 6c 6f 63 61 74 65 20 62 75 66 66 <br>............/*.Allocate.buff
4b740 65 72 2c 20 72 65 6d 65 6d 62 65 72 20 74 6f 20 66 72 65 65 20 69 74 20 74 6f 20 61 76 6f 69 64 er,.remember.to.free.it.to.avoid
4b760 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 61 67 65 2e 20 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 .memory.leakage...*/<br>........
4b780 20 20 20 20 74 6d 70 68 73 74 62 75 66 20 3d 20 6d 61 6c 6c 6f 63 20 28 68 73 74 62 75 66 6c 65 ....tmphstbuf.=.malloc.(hstbufle
4b7a0 6e 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 77 68 69 6c n);<br>..........<br><br>...whil
4b7c0 65 20 28 28 72 65 73 20 3d 20 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 5f 72 20 28 68 6f 73 74 2c e.((res.=.gethostbyname_r.(host,
4b7e0 20 26 68 6f 73 74 62 75 66 2c 20 74 6d 70 68 73 74 62 75 66 2c 20 68 73 74 62 75 66 6c 65 6e 2c .&hostbuf,.tmphstbuf,.hstbuflen,
4b800 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 <br>............................
4b820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 68 70 2c 20 26 68 65 72 72 29 29 20 3d 3d 20 45 ...............&hp,.&herr)).==.E
4b840 52 41 4e 47 45 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 RANGE)<br>..............{<br>...
4b860 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 45 6e 6c 61 72 67 65 20 74 68 65 20 62 75 66 66 ............./*.Enlarge.the.buff
4b880 65 72 2e 20 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 73 74 62 75 er...*/<br>................hstbu
4b8a0 66 6c 65 6e 20 2a 3d 20 32 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6d flen.*=.2;<br>................tm
4b8c0 70 68 73 74 62 75 66 20 3d 20 72 65 61 6c 6c 6f 63 20 28 74 6d 70 68 73 74 62 75 66 2c 20 68 73 phstbuf.=.realloc.(tmphstbuf,.hs
4b8e0 74 62 75 66 6c 65 6e 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e tbuflen);<br>..............}<br>
4b900 0a 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 20 43 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 ............/*..Check.for.errors
4b920 2e 20 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 65 73 20 7c 7c 20 ...*/<br>............if.(res.||.
4b940 68 70 20 3d 3d 20 4e 55 4c 4c 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 hp.==.NULL)<br>..............ret
4b960 75 72 6e 20 4e 55 4c 4c 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 urn.NULL;<br>............return.
4b980 68 70 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 hp;<br>..........}<br>..........
4b9a0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 </pre>.........sq.~......w.....t
4b9c0 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0c 50 74 00 9b 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 ..netdb.hxq.~.Pt..const.char.*re
4b9e0 73 74 72 69 63 74 20 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 20 2a 72 65 73 strict.name,.struct.hostent.*res
4ba00 74 72 69 63 74 20 72 65 73 75 6c 74 5f 62 75 66 2c 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 trict.result_buf,.char.*restrict
4ba20 20 62 75 66 2c 20 73 69 7a 65 5f 74 20 62 75 66 6c 65 6e 2c 20 73 74 72 75 63 74 20 68 6f 73 74 .buf,.size_t.buflen,.struct.host
4ba40 65 6e 74 20 2a 2a 72 65 73 74 72 69 63 74 20 72 65 73 75 6c 74 2c 20 69 6e 74 20 2a 72 65 73 74 ent.**restrict.result,.int.*rest
4ba60 72 69 63 74 20 68 5f 65 72 72 6e 6f 70 74 00 03 69 6e 74 74 00 0a 67 65 74 68 6f 73 74 65 6e 74 rict.h_errnopt..intt..gethostent
4ba80 73 71 00 7e 00 0a 70 74 00 8f 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e sq.~..pt...........This.function
4baa0 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 68 .returns.the.next.entry.in.the.h
4bac0 6f 73 74 73 20 64 61 74 61 62 61 73 65 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 osts.database...It..........retu
4bae0 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 74 68 65 72 65 20 61 72 65 20 rns.a.null.pointer.if.there.are.
4bb00 6e 6f 20 6d 6f 72 65 20 65 6e 74 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 no.more.entries..........sq.~...
4bb20 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0c 57 74 00 04 76 6f 69 64 ...w.....t..netdb.hxq.~.Wt..void
4bb40 74 00 10 73 74 72 75 63 74 20 68 6f 73 74 65 6e 74 20 2a 74 00 09 67 65 74 68 6f 73 74 69 64 73 t..struct.hostent.*t..gethostids
4bb60 71 00 7e 00 0a 70 74 02 aa 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 q.~..pt...........This.function.
4bb80 72 65 74 75 72 6e 73 20 74 68 65 20 60 60 68 6f 73 74 20 49 44 27 27 20 6f 66 20 74 68 65 20 6d returns.the.``host.ID''.of.the.m
4bba0 61 63 68 69 6e 65 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 achine.the.program.is..........r
4bbc0 75 6e 6e 69 6e 67 20 6f 6e 2e 20 20 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 74 68 69 73 20 unning.on...By.convention,.this.
4bbe0 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 70 72 69 6d 61 72 79 20 49 6e 74 65 72 6e 65 74 20 is.usually.the.primary.Internet.
4bc00 49 50 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 61 74 20 6d 61 63 68 IP.address..........of.that.mach
4bc20 69 6e 65 2c 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 ine,.converted.to.a.<CODE>long.i
4bc40 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 48 6f 77 65 76 65 72 2c 20 6f 6e 20 73 6f 6d 65 0a 20 20 20 nt</CODE>...However,.on.some....
4bc60 20 20 20 20 20 20 73 79 73 74 65 6d 73 20 69 74 20 69 73 20 61 20 6d 65 61 6e 69 6e 67 6c 65 73 ......systems.it.is.a.meaningles
4bc80 73 20 62 75 74 20 75 6e 69 71 75 65 20 6e 75 6d 62 65 72 20 77 68 69 63 68 20 69 73 20 68 61 72 s.but.unique.number.which.is.har
4bca0 64 2d 63 6f 64 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 65 61 63 68 20 6d 61 63 68 69 6e d-coded.for..........each.machin
4bcc0 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 69 73 20 6e 6f 74 e...........<br><br>.This.is.not
4bce0 20 77 69 64 65 6c 79 20 75 73 65 64 2e 20 20 49 74 20 61 72 6f 73 65 20 69 6e 20 42 53 44 20 34 .widely.used...It.arose.in.BSD.4
4bd00 2e 32 2c 20 62 75 74 20 77 61 73 20 64 72 6f 70 70 65 64 20 69 6e 20 42 53 44 20 34 2e 34 2e 0a .2,.but.was.dropped.in.BSD.4.4..
4bd20 20 20 20 20 20 20 20 20 20 49 74 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 62 79 20 50 .........It.is.not.required.by.P
4bd40 4f 53 49 58 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 70 72 6f 70 OSIX...........<br><br>.The.prop
4bd60 65 72 20 77 61 79 20 74 6f 20 71 75 65 72 79 20 74 68 65 20 49 50 20 61 64 64 72 65 73 73 20 69 er.way.to.query.the.IP.address.i
4bd80 73 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 62 79 6e 61 6d 65 3c 2f 43 4f s.to.use.<CODE>gethostbyname</CO
4bda0 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 72 65 73 75 6c 74 73 20 6f 66 20 3c DE>..........on.the.results.of.<
4bdc0 43 4f 44 45 3e 67 65 74 68 6f 73 74 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2e 20 20 46 6f 72 20 6d 6f CODE>gethostname</CODE>...For.mo
4bde0 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 49 50 20 61 64 64 72 65 73 73 65 73 2c 0a re.information.on.IP.addresses,.
4be00 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ...................sq.~......w..
4be20 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0c 5e 74 00 04 76 6f 69 64 74 00 08 6c 6f ...t..unistd.hxq.~.^t..voidt..lo
4be40 6e 67 20 69 6e 74 74 00 0b 67 65 74 68 6f 73 74 6e 61 6d 65 73 71 00 7e 00 0a 70 74 05 74 0a 20 ng.intt..gethostnamesq.~..pt.t..
4be60 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 .......This.function.returns.the
4be80 20 68 6f 73 74 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 20 6f 6e 20 77 68 69 63 .host.name.of.the.system.on.whic
4bea0 68 20 69 74 20 69 73 20 63 61 6c 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 h.it.is.called,..........in.the.
4bec0 61 72 72 61 79 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 3c 56 41 52 array.<VAR>name</VAR>...The.<VAR
4bee0 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 74 >size</VAR>.argument.specifies.t
4bf00 68 65 20 73 69 7a 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 61 72 72 61 79 2c 20 he.size.of..........this.array,.
4bf20 69 6e 20 62 79 74 65 73 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 3c 45 4d in.bytes...Note.that.this.is.<EM
4bf40 3e 6e 6f 74 3c 2f 45 4d 3e 20 74 68 65 20 44 4e 53 20 68 6f 73 74 6e 61 6d 65 2e 0a 20 20 20 20 >not</EM>.the.DNS.hostname......
4bf60 20 20 20 20 20 49 66 20 74 68 65 20 73 79 73 74 65 6d 20 70 61 72 74 69 63 69 70 61 74 65 73 20 .....If.the.system.participates.
4bf80 69 6e 20 44 4e 53 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 46 51 44 4e 20 28 73 65 65 20 61 62 in.DNS,.this.is.the.FQDN.(see.ab
4bfa0 6f 76 65 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 ove)...........<br><br>.The.retu
4bfc0 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 rn.value.is.<CODE>0</CODE>.on.su
4bfe0 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 ccess.and.<CODE>-1</CODE>.on.fai
4c000 6c 75 72 65 2e 20 20 49 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 lure...In..........the.GNU.C.lib
4c020 72 61 72 79 2c 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 rary,.<CODE>gethostname</CODE>.f
4c040 61 69 6c 73 20 69 66 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 6c ails.if.<VAR>size</VAR>.is.not.l
4c060 61 72 67 65 0a 20 20 20 20 20 20 20 20 20 65 6e 6f 75 67 68 3b 20 74 68 65 6e 20 79 6f 75 20 63 arge..........enough;.then.you.c
4c080 61 6e 20 74 72 79 20 61 67 61 69 6e 20 77 69 74 68 20 61 20 6c 61 72 67 65 72 20 61 72 72 61 79 an.try.again.with.a.larger.array
4c0a0 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e ...The.following..........<CODE>
4c0c0 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 errno</CODE>.error.condition.is.
4c0e0 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 defined.for.this.function:......
4c100 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e ....<br><br>.<DL>...........<DT>
4c120 3c 43 4f 44 45 3e 45 4e 41 4d 45 54 4f 4f 4c 4f 4e 47 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 <CODE>ENAMETOOLONG</CODE>.<DD>..
4c140 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 61 72 67 75 ........The.<VAR>size</VAR>.argu
4c160 6d 65 6e 74 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 ment.is.less.than.the.size.of.th
4c180 65 20 68 6f 73 74 20 6e 61 6d 65 20 70 6c 75 73 20 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 3c e.host.name.plus.one...........<
4c1a0 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 73 6f 6d 65 20 73 /DL>..........<br><br>.On.some.s
4c1c0 79 73 74 65 6d 73 2c 20 74 68 65 72 65 20 69 73 20 61 20 73 79 6d 62 6f 6c 20 66 6f 72 20 74 68 ystems,.there.is.a.symbol.for.th
4c1e0 65 20 6d 61 78 69 6d 75 6d 20 70 6f 73 73 69 62 6c 65 20 68 6f 73 74 20 6e 61 6d 65 0a 20 20 20 e.maximum.possible.host.name....
4c200 20 20 20 20 20 20 6c 65 6e 67 74 68 3a 20 3c 43 4f 44 45 3e 4d 41 58 48 4f 53 54 4e 41 4d 45 4c ......length:.<CODE>MAXHOSTNAMEL
4c220 45 4e 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 3c 54 54 EN</CODE>...It.is.defined.in.<TT
4c240 3e 73 79 73 2f 70 61 72 61 6d 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 20 42 75 74 20 >sys/param.h</TT>...........But.
4c260 79 6f 75 20 63 61 6e 27 74 20 63 6f 75 6e 74 20 6f 6e 20 74 68 69 73 20 74 6f 20 65 78 69 73 74 you.can't.count.on.this.to.exist
4c280 2c 20 73 6f 20 69 74 20 69 73 20 63 6c 65 61 6e 65 72 20 74 6f 20 68 61 6e 64 6c 65 0a 20 20 20 ,.so.it.is.cleaner.to.handle....
4c2a0 20 20 20 20 20 20 66 61 69 6c 75 72 65 20 61 6e 64 20 74 72 79 20 61 67 61 69 6e 2e 0a 20 20 20 ......failure.and.try.again.....
4c2c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 6e 61 6d 65 ......<br><br>.<CODE>gethostname
4c2e0 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 73 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 </CODE>.stores.the.beginning.of.
4c300 74 68 65 20 68 6f 73 74 20 6e 61 6d 65 20 69 6e 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e the.host.name.in.<VAR>name</VAR>
4c320 0a 20 20 20 20 20 20 20 20 20 65 76 65 6e 20 69 66 20 74 68 65 20 68 6f 73 74 20 6e 61 6d 65 20 ..........even.if.the.host.name.
4c340 77 6f 6e 27 74 20 65 6e 74 69 72 65 6c 79 20 66 69 74 2e 20 20 46 6f 72 20 73 6f 6d 65 20 70 75 won't.entirely.fit...For.some.pu
4c360 72 70 6f 73 65 73 2c 20 61 0a 20 20 20 20 20 20 20 20 20 74 72 75 6e 63 61 74 65 64 20 68 6f 73 rposes,.a..........truncated.hos
4c380 74 20 6e 61 6d 65 20 69 73 20 67 6f 6f 64 20 65 6e 6f 75 67 68 2e 20 20 49 66 20 69 74 20 69 73 t.name.is.good.enough...If.it.is
4c3a0 2c 20 79 6f 75 20 63 61 6e 20 69 67 6e 6f 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 72 ,.you.can.ignore.the..........er
4c3c0 72 6f 72 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 ror.code..........sq.~......w...
4c3e0 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0c 65 74 00 17 63 68 61 72 20 2a 6e 61 6d 65 ..t..unistd.hxq.~.et..char.*name
4c400 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 03 69 6e 74 74 00 09 67 65 74 69 74 69 6d 65 72 73 ,.size_t.sizet..intt..getitimers
4c420 71 00 7e 00 0a 70 74 01 12 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 69 q.~..pt...........The.<CODE>geti
4c440 74 69 6d 65 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 73 20 69 6e 66 timer</CODE>.function.stores.inf
4c460 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 74 69 6d 65 72 20 73 70 65 63 69 66 69 ormation.about.the.timer.specifi
4c480 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 56 41 52 3e 77 68 69 63 68 3c 2f 56 41 52 3e 20 ed..........by.<VAR>which</VAR>.
4c4a0 69 6e 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 20 61 74 20 62 79 20 3c in.the.structure.pointed.at.by.<
4c4c0 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e VAR>old</VAR>...........<br><br>
4c4e0 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 61 6e 64 20 65 72 72 6f 72 20 63 6f 6e 64 .The.return.value.and.error.cond
4c500 69 74 69 6f 6e 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 itions.are.the.same.as.for.<CODE
4c520 3e 73 65 74 69 74 69 6d 65 72 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 >setitimer</CODE>..........sq.~.
4c540 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 74 69 6d 65 2e 68 78 71 00 7e 0c 6c 74 00 .....w.....t..sys/time.hxq.~.lt.
4c560 20 69 6e 74 20 77 68 69 63 68 2c 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 76 61 6c 20 2a 6f 6c .int.which,.struct.itimerval.*ol
4c580 64 74 00 03 69 6e 74 74 00 07 67 65 74 6c 69 6e 65 73 71 00 7e 00 0a 70 74 07 6c 0a 20 20 20 20 dt..intt..getlinesq.~..pt.l.....
4c5a0 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 61 6e 20 65 6e 74 69 72 ....This.function.reads.an.entir
4c5c0 65 20 6c 69 6e 65 20 66 72 6f 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2c 20 73 e.line.from.<VAR>stream</VAR>,.s
4c5e0 74 6f 72 69 6e 67 20 74 68 65 20 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 28 69 6e 63 6c 75 64 toring.the.text..........(includ
4c600 69 6e 67 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 61 6e 64 20 61 20 74 65 72 6d 69 6e 61 74 69 6e ing.the.newline.and.a.terminatin
4c620 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 29 20 69 6e 20 61 20 62 75 66 66 65 72 0a 20 20 g.null.character).in.a.buffer...
4c640 20 20 20 20 20 20 20 61 6e 64 20 73 74 6f 72 69 6e 67 20 74 68 65 20 62 75 66 66 65 72 20 61 64 .......and.storing.the.buffer.ad
4c660 64 72 65 73 73 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 6c 69 6e 65 70 74 72 3c 2f 56 41 dress.in.<CODE>*<VAR>lineptr</VA
4c680 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 65 66 R></CODE>...........<br><br>.Bef
4c6a0 6f 72 65 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 67 65 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e ore.calling.<CODE>getline</CODE>
4c6c0 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 70 6c 61 63 65 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 ,.you.should.place.in.<CODE>*<VA
4c6e0 52 3e 6c 69 6e 65 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 R>lineptr</VAR></CODE>..........
4c700 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 62 75 66 66 65 72 20 3c 43 4f 44 45 3e 2a 3c the.address.of.a.buffer.<CODE>*<
4c720 56 41 52 3e 6e 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 62 79 74 65 73 20 6c 6f 6e 67 2c 20 61 VAR>n</VAR></CODE>.bytes.long,.a
4c740 6c 6c 6f 63 61 74 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 61 6c llocated.with..........<CODE>mal
4c760 6c 6f 63 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 74 68 69 73 20 62 75 66 66 65 72 20 69 73 20 6c loc</CODE>...If.this.buffer.is.l
4c780 6f 6e 67 20 65 6e 6f 75 67 68 20 74 6f 20 68 6f 6c 64 20 74 68 65 20 6c 69 6e 65 2c 0a 20 20 20 ong.enough.to.hold.the.line,....
4c7a0 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 ......<CODE>getline</CODE>.store
4c7c0 73 20 74 68 65 20 6c 69 6e 65 20 69 6e 20 74 68 69 73 20 62 75 66 66 65 72 2e 20 20 4f 74 68 65 s.the.line.in.this.buffer...Othe
4c7e0 72 77 69 73 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 6c 69 6e 65 3c 2f 43 rwise,..........<CODE>getline</C
4c800 4f 44 45 3e 20 6d 61 6b 65 73 20 74 68 65 20 62 75 66 66 65 72 20 62 69 67 67 65 72 20 75 73 69 ODE>.makes.the.buffer.bigger.usi
4c820 6e 67 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2c 20 73 74 6f 72 69 6e 67 ng.<CODE>realloc</CODE>,.storing
4c840 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 65 77 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 .the..........new.buffer.address
4c860 20 62 61 63 6b 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 6c 69 6e 65 70 74 72 3c 2f 56 41 .back.in.<CODE>*<VAR>lineptr</VA
4c880 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 69 6e 63 72 65 61 73 65 64 20 73 69 7a 65 R></CODE>.and.the.increased.size
4c8a0 0a 20 20 20 20 20 20 20 20 20 62 61 63 6b 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 6e 3c ..........back.in.<CODE>*<VAR>n<
4c8c0 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 /VAR></CODE>....................
4c8e0 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 73 65 74 20 3c 43 4f 44 45 3e 2a 3c 56 41 ..<br><br>.If.you.set.<CODE>*<VA
4c900 52 3e 6c 69 6e 65 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 74 6f 20 61 20 6e 75 6c 6c R>lineptr</VAR></CODE>.to.a.null
4c920 20 70 6f 69 6e 74 65 72 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 6e 3c 2f 56 41 52 .pointer,.and.<CODE>*<VAR>n</VAR
4c940 3e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 7a 65 72 6f 2c 20 62 65 66 6f 72 ></CODE>..........to.zero,.befor
4c960 65 20 74 68 65 20 63 61 6c 6c 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 67 65 74 6c 69 6e 65 3c 2f e.the.call,.then.<CODE>getline</
4c980 43 4f 44 45 3e 20 61 6c 6c 6f 63 61 74 65 73 20 74 68 65 20 69 6e 69 74 69 61 6c 0a 20 20 20 20 CODE>.allocates.the.initial.....
4c9a0 20 20 20 20 20 62 75 66 66 65 72 20 66 6f 72 20 79 6f 75 20 62 79 20 63 61 6c 6c 69 6e 67 20 3c .....buffer.for.you.by.calling.<
4c9c0 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 CODE>malloc</CODE>...........<br
4c9e0 3e 3c 62 72 3e 20 49 6e 20 65 69 74 68 65 72 20 63 61 73 65 2c 20 77 68 65 6e 20 3c 43 4f 44 45 ><br>.In.either.case,.when.<CODE
4ca00 3e 67 65 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 2c 20 20 3c 43 4f 44 45 3e >getline</CODE>.returns,..<CODE>
4ca20 2a 3c 56 41 52 3e 6c 69 6e 65 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 *<VAR>lineptr</VAR></CODE>.is...
4ca40 20 20 20 20 20 20 20 61 20 3c 43 4f 44 45 3e 63 68 61 72 20 2a 3c 2f 43 4f 44 45 3e 20 77 68 69 .......a.<CODE>char.*</CODE>.whi
4ca60 63 68 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 6c 69 6e ch.points.to.the.text.of.the.lin
4ca80 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 3c 43 4f 44 45 3e e...........<br><br>.When.<CODE>
4caa0 67 65 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 69 74 getline</CODE>.is.successful,.it
4cac0 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 .returns.the.number.of.character
4cae0 73 0a 20 20 20 20 20 20 20 20 20 72 65 61 64 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 6e s..........read.(including.the.n
4cb00 65 77 6c 69 6e 65 2c 20 62 75 74 20 6e 6f 74 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 74 65 ewline,.but.not.including.the.te
4cb20 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 29 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 76 rminating.null)...........This.v
4cb40 61 6c 75 65 20 65 6e 61 62 6c 65 73 20 79 6f 75 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73 68 20 alue.enables.you.to.distinguish.
4cb60 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 61 72 65 20 70 61 72 74 20 6f 66 null.characters.that.are.part.of
4cb80 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6c 69 6e 65 20 66 72 6f 6d 20 74 68 65 20 6e 75 6c 6c ..........the.line.from.the.null
4cba0 20 63 68 61 72 61 63 74 65 72 20 69 6e 73 65 72 74 65 64 20 61 73 20 61 20 74 65 72 6d 69 6e 61 .character.inserted.as.a.termina
4cbc0 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 tor...........<br><br>.This.func
4cbe0 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2c 20 62 75 74 20 69 74 20 tion.is.a.GNU.extension,.but.it.
4cc00 69 73 20 74 68 65 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 77 61 79 20 74 6f 20 72 65 61 64 0a 20 is.the.recommended.way.to.read..
4cc20 20 20 20 20 20 20 20 20 6c 69 6e 65 73 20 66 72 6f 6d 20 61 20 73 74 72 65 61 6d 2e 20 20 54 68 ........lines.from.a.stream...Th
4cc40 65 20 61 6c 74 65 72 6e 61 74 69 76 65 20 73 74 61 6e 64 61 72 64 20 66 75 6e 63 74 69 6f 6e 73 e.alternative.standard.functions
4cc60 20 61 72 65 20 75 6e 72 65 6c 69 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .are.unreliable...........<br><b
4cc80 72 3e 20 49 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 73 20 6f 72 20 65 6e 64 20 6f 66 20 r>.If.an.error.occurs.or.end.of.
4cca0 66 69 6c 65 20 69 73 20 72 65 61 63 68 65 64 20 77 69 74 68 6f 75 74 20 61 6e 79 20 62 79 74 65 file.is.reached.without.any.byte
4ccc0 73 20 72 65 61 64 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 6c 69 6e 65 3c 2f s.read,..........<CODE>getline</
4cce0 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2e 0a 20 CODE>.returns.<CODE>-1</CODE>...
4cd00 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e .......sq.~......w.....t..stdio.
4cd20 68 78 71 00 7e 0c 73 74 00 27 63 68 61 72 20 2a 2a 6c 69 6e 65 70 74 72 2c 20 73 69 7a 65 5f 74 hxq.~.st.'char.**lineptr,.size_t
4cd40 20 2a 6e 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 07 73 73 69 7a 65 5f 74 74 00 0a 67 65 .*n,.FILE.*streamt..ssize_tt..ge
4cd60 74 6c 6f 61 64 61 76 67 73 71 00 7e 00 0a 70 74 01 bf 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 tloadavgsq.~..pt...........This.
4cd80 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 74 68 65 20 31 2c 20 35 20 61 6e 64 20 31 35 20 6d 69 function.gets.the.1,.5.and.15.mi
4cda0 6e 75 74 65 20 6c 6f 61 64 20 61 76 65 72 61 67 65 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 nute.load.averages.of.the.......
4cdc0 20 20 20 73 79 73 74 65 6d 2e 20 54 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 70 6c 61 63 65 64 ...system..The.values.are.placed
4cde0 20 69 6e 20 3c 56 41 52 3e 6c 6f 61 64 61 76 67 3c 2f 56 41 52 3e 2e 20 20 3c 43 4f 44 45 3e 67 .in.<VAR>loadavg</VAR>...<CODE>g
4ce00 65 74 6c 6f 61 64 61 76 67 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 etloadavg</CODE>.will..........p
4ce20 6c 61 63 65 20 61 74 20 6d 6f 73 74 20 3c 56 41 52 3e 6e 65 6c 65 6d 3c 2f 56 41 52 3e 20 65 6c lace.at.most.<VAR>nelem</VAR>.el
4ce40 65 6d 65 6e 74 73 20 69 6e 74 6f 20 74 68 65 20 61 72 72 61 79 20 62 75 74 20 6e 65 76 65 72 20 ements.into.the.array.but.never.
4ce60 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 20 20 20 20 20 20 74 68 72 65 65 20 65 6c 65 6d 65 6e 74 more.than..........three.element
4ce80 73 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 6e 75 6d 62 s...The.return.value.is.the.numb
4cea0 65 72 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 77 72 69 74 74 65 6e 20 74 6f 0a 20 20 20 20 20 20 er.of.elements.written.to.......
4cec0 20 20 20 3c 56 41 52 3e 6c 6f 61 64 61 76 67 3c 2f 56 41 52 3e 2c 20 6f 72 20 2d 31 20 6f 6e 20 ...<VAR>loadavg</VAR>,.or.-1.on.
4cee0 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 error...........<br><br>.This.fu
4cf00 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 6c 69 62 nction.is.declared.in.<TT>stdlib
4cf20 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 .h</TT>..........sq.~......w....
4cf40 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 0c 7a 74 00 1b 64 6f 75 62 6c 65 20 6c 6f 61 64 .t..stdlib.hxq.~.zt..double.load
4cf60 61 76 67 5b 5d 2c 20 69 6e 74 20 6e 65 6c 65 6d 74 00 03 69 6e 74 74 00 08 67 65 74 6c 6f 67 69 avg[],.int.nelemt..intt..getlogi
4cf80 6e 73 71 00 7e 00 0a 70 74 01 86 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 nsq.~..pt...........The.<CODE>ge
4cfa0 74 6c 6f 67 69 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 tlogin</CODE>.function.returns.a
4cfc0 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 .pointer.to.a.string.containing.
4cfe0 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 75 73 65 72 20 6c 6f the..........name.of.the.user.lo
4d000 67 67 65 64 20 69 6e 20 6f 6e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 74 65 72 6d 69 gged.in.on.the.controlling.termi
4d020 6e 61 6c 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2c 0a 20 20 20 20 20 20 20 20 20 6f 72 20 nal.of.the.process,..........or.
4d040 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 a.null.pointer.if.this.informati
4d060 6f 6e 20 63 61 6e 6e 6f 74 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 2e 20 20 54 68 65 20 73 74 on.cannot.be.determined...The.st
4d080 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f ring..........is.statically.allo
4d0a0 63 61 74 65 64 20 61 6e 64 20 6d 69 67 68 74 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 6f cated.and.might.be.overwritten.o
4d0c0 6e 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 n.subsequent.calls.to..........t
4d0e0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 74 6f 20 3c 43 4f 44 45 3e 63 75 73 65 72 69 64 his.function.or.to.<CODE>cuserid
4d100 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 </CODE>..........sq.~......w....
4d120 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0c 81 74 00 04 76 6f 69 64 74 00 06 63 68 61 72 .t..unistd.hxq.~..t..voidt..char
4d140 20 2a 74 00 09 67 65 74 6d 6e 74 65 6e 74 73 71 00 7e 00 0a 70 74 05 4a 0a 20 20 20 20 20 20 20 .*t..getmntentsq.~..pt.J........
4d160 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 6d 6e 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 .The.<CODE>getmntent</CODE>.func
4d180 74 69 6f 6e 20 74 61 6b 65 73 20 61 73 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 61 20 66 69 tion.takes.as.the.parameter.a.fi
4d1a0 6c 65 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 20 70 72 65 76 69 6f 75 73 6c 79 20 72 65 le.handle..........previously.re
4d1c0 74 75 72 6e 65 64 20 62 79 20 73 75 63 63 65 73 73 66 75 6c 20 63 61 6c 6c 20 74 6f 20 3c 43 4f turned.by.successful.call.to.<CO
4d1e0 44 45 3e 73 65 74 6d 6e 74 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 20 72 65 74 75 72 6e 73 DE>setmntent</CODE>...It.returns
4d200 0a 20 20 20 20 20 20 20 20 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 61 74 69 63 20 ..........a.pointer.to.a.static.
4d220 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6d 6e variable.of.type.<CODE>struct.mn
4d240 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 66 69 tent</CODE>.which.is..........fi
4d260 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 lled.with.the.information.from.t
4d280 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 66 72 6f 6d 20 74 68 65 20 66 69 6c 65 20 63 75 72 72 he.next.entry.from.the.file.curr
4d2a0 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ently..........read...........<b
4d2c0 72 3e 3c 62 72 3e 20 54 68 65 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 75 73 65 64 20 70 72 65 73 r><br>.The.file.format.used.pres
4d2e0 63 72 69 62 65 73 20 74 68 65 20 75 73 65 20 6f 66 20 73 70 61 63 65 73 20 6f 72 20 74 61 62 20 cribes.the.use.of.spaces.or.tab.
4d300 63 68 61 72 61 63 74 65 72 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 65 20 characters.to..........separate.
4d320 74 68 65 20 66 69 65 6c 64 73 2e 20 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 68 61 72 64 65 the.fields...This.makes.it.harde
4d340 72 20 74 6f 20 75 73 65 20 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 65 0a 20 20 20 r.to.use.name.containing.one....
4d360 20 20 20 20 20 20 6f 66 20 74 68 65 73 65 20 63 68 61 72 61 63 74 65 72 73 20 28 65 2e 67 2e 2c ......of.these.characters.(e.g.,
4d380 20 6d 6f 75 6e 74 20 70 6f 69 6e 74 73 20 75 73 69 6e 67 20 73 70 61 63 65 73 29 2e 20 20 54 68 .mount.points.using.spaces)...Th
4d3a0 65 72 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 73 65 20 63 68 61 72 61 63 74 65 72 erefore..........these.character
4d3c0 73 20 61 72 65 20 65 6e 63 6f 64 65 64 20 69 6e 20 74 68 65 20 66 69 6c 65 73 20 61 6e 64 20 74 s.are.encoded.in.the.files.and.t
4d3e0 68 65 20 3c 43 4f 44 45 3e 67 65 74 6d 6e 74 65 6e 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 he.<CODE>getmntent</CODE>.......
4d400 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 63 61 72 65 20 6f 66 20 74 68 65 20 64 65 ...function.takes.care.of.the.de
4d420 63 6f 64 69 6e 67 20 77 68 69 6c 65 20 72 65 61 64 69 6e 67 20 74 68 65 20 65 6e 74 72 69 65 73 coding.while.reading.the.entries
4d440 20 62 61 63 6b 20 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 27 5c 30 34 30 27 3c .back.in...........<CODE>'\040'<
4d460 2f 43 4f 44 45 3e 20 69 73 20 75 73 65 64 20 74 6f 20 65 6e 63 6f 64 65 20 61 20 73 70 61 63 65 /CODE>.is.used.to.encode.a.space
4d480 20 63 68 61 72 61 63 74 65 72 2c 20 3c 43 4f 44 45 3e 27 5c 30 31 31 27 3c 2f 43 4f 44 45 3e 20 .character,.<CODE>'\011'</CODE>.
4d4a0 74 6f 0a 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 20 61 20 74 61 62 20 63 68 61 72 61 63 74 to..........encode.a.tab.charact
4d4c0 65 72 2c 20 3c 43 4f 44 45 3e 27 5c 30 31 32 27 3c 2f 43 4f 44 45 3e 20 74 6f 20 65 6e 63 6f 64 er,.<CODE>'\012'</CODE>.to.encod
4d4e0 65 20 61 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 e.a.newline.character,..........
4d500 61 6e 64 20 3c 43 4f 44 45 3e 27 5c 5c 27 3c 2f 43 4f 44 45 3e 20 74 6f 20 65 6e 63 6f 64 65 20 and.<CODE>'\\'</CODE>.to.encode.
4d520 61 20 62 61 63 6b 73 6c 61 73 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 a.backslash...........<br><br>.I
4d540 66 20 74 68 65 72 65 20 77 61 73 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 74 68 65 20 65 6e 64 20 f.there.was.an.error.or.the.end.
4d560 6f 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 72 65 61 63 68 65 64 20 74 68 65 20 72 65 74 75 72 of.the.file.is.reached.the.retur
4d580 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f n.value..........is.<CODE>NULL</
4d5a0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 CODE>...........<br><br>.This.fu
4d5c0 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 74 68 72 65 61 64 2d 73 61 66 65 20 73 69 6e 63 65 20 nction.is.not.thread-safe.since.
4d5e0 61 6c 6c 20 63 61 6c 6c 73 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 all.calls.to.this.function.retur
4d600 6e 0a 20 20 20 20 20 20 20 20 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 73 61 6d 65 n..........a.pointer.to.the.same
4d620 20 73 74 61 74 69 63 20 76 61 72 69 61 62 6c 65 2e 20 20 3c 43 4f 44 45 3e 67 65 74 6d 6e 74 65 .static.variable...<CODE>getmnte
4d640 6e 74 5f 72 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 75 nt_r</CODE>.should.be..........u
4d660 73 65 64 20 69 6e 20 73 69 74 75 61 74 69 6f 6e 73 20 77 68 65 72 65 20 6d 75 6c 74 69 70 6c 65 sed.in.situations.where.multiple
4d680 20 74 68 72 65 61 64 73 20 61 63 63 65 73 73 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 .threads.access.the.file........
4d6a0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6d 6e 74 65 6e 74 2e 68 78 71 00 ..sq.~......w.....t..mntent.hxq.
4d6c0 7e 0c 88 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 0f 73 74 72 75 63 74 20 6d 6e 74 65 ~..t..FILE.*streamt..struct.mnte
4d6e0 6e 74 20 2a 74 00 0b 67 65 74 6d 6e 74 65 6e 74 5f 72 73 71 00 7e 00 0a 70 74 04 0a 0a 20 20 20 nt.*t..getmntent_rsq.~..pt......
4d700 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 6d 6e 74 65 6e 74 5f 72 3c 2f 43 4f 44 45 .....The.<CODE>getmntent_r</CODE
4d720 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 72 65 65 6e 74 72 61 6e 74 20 76 61 72 69 >.function.is.the.reentrant.vari
4d740 61 6e 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 6d 6e 74 65 6e 74 3c ant.of..........<CODE>getmntent<
4d760 2f 43 4f 44 45 3e 2e 20 20 49 74 20 61 6c 73 6f 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 /CODE>...It.also.returns.the.nex
4d780 74 20 65 6e 74 72 79 20 66 72 6f 6d 20 74 68 65 20 66 69 6c 65 20 61 6e 64 0a 20 20 20 20 20 20 t.entry.from.the.file.and.......
4d7a0 20 20 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 2e 20 20 54 68 65 20 61 63 74 75 61 ...returns.a.pointer...The.actua
4d7c0 6c 20 76 61 72 69 61 62 6c 65 20 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 73 74 6f 72 65 64 l.variable.the.values.are.stored
4d7e0 20 69 6e 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 73 74 61 74 69 63 2c 20 74 68 6f 75 .in.is.not..........static,.thou
4d800 67 68 2e 20 20 49 6e 73 74 65 61 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 73 gh...Instead.the.function.stores
4d820 20 74 68 65 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 .the.values.in.the.variable.....
4d840 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 3c 56 41 52 3e 72 65 73 75 .....pointed.to.by.the.<VAR>resu
4d860 6c 74 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 20 41 64 64 69 74 69 6f 6e 61 6c 20 lt</VAR>.parameter...Additional.
4d880 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 65 2e 67 2e 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 information.(e.g.,..........the.
4d8a0 73 74 72 69 6e 67 73 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 65 6c 65 6d 65 6e strings.pointed.to.by.the.elemen
4d8c0 74 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 29 20 61 72 65 20 6b 65 70 74 20 69 6e 20 74 68 ts.of.the.result).are.kept.in.th
4d8e0 65 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 6f 66 20 73 69 7a 65 20 3c 56 41 52 3e 62 e..........buffer.of.size.<VAR>b
4d900 75 66 73 69 7a 65 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e ufsize</VAR>.pointed.to.by.<VAR>
4d920 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 buffer</VAR>...........<br><br>.
4d940 45 73 63 61 70 65 64 20 63 68 61 72 61 63 74 65 72 73 20 28 73 70 61 63 65 2c 20 74 61 62 2c 20 Escaped.characters.(space,.tab,.
4d960 62 61 63 6b 73 6c 61 73 68 29 20 61 72 65 20 63 6f 6e 76 65 72 74 65 64 20 62 61 63 6b 20 69 6e backslash).are.converted.back.in
4d980 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 61 6d 65 20 77 61 79 20 61 73 20 69 74 20 68 61 70 .the..........same.way.as.it.hap
4d9a0 70 65 6e 73 20 66 6f 72 20 3c 43 4f 44 45 3e 67 65 74 6d 65 6e 74 65 6e 74 3c 2f 43 4f 44 45 3e pens.for.<CODE>getmentent</CODE>
4d9c0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e ...........<br><br>.The.function
4d9e0 20 72 65 74 75 72 6e 73 20 61 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 70 6f 69 .returns.a.<CODE>NULL</CODE>.poi
4da00 6e 74 65 72 20 69 6e 20 65 72 72 6f 72 20 63 61 73 65 73 2e 20 20 45 72 72 6f 72 73 20 63 6f 75 nter.in.error.cases...Errors.cou
4da20 6c 64 20 62 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c ld.be:..........<OL>..........<L
4da40 49 3e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 77 68 69 6c 65 20 72 65 61 64 69 6e 67 20 I>..........error.while.reading.
4da60 74 68 65 20 66 69 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 the.file,..........<LI>.........
4da80 20 65 6e 64 20 6f 66 20 66 69 6c 65 20 72 65 61 63 68 65 64 2c 0a 20 20 20 20 20 20 20 20 20 3c .end.of.file.reached,..........<
4daa0 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 73 69 7a 65 3c 2f 56 41 52 3e 20 LI>..........<VAR>bufsize</VAR>.
4dac0 69 73 20 74 6f 6f 20 73 6d 61 6c 6c 20 66 6f 72 20 72 65 61 64 69 6e 67 20 61 20 63 6f 6d 70 6c is.too.small.for.reading.a.compl
4dae0 65 74 65 20 6e 65 77 20 65 6e 74 72 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 ete.new.entry...........</OL>...
4db00 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6d 6e 74 65 6e 74 2e ......sq.~......w.....t..mntent.
4db20 68 78 71 00 7e 0c 8f 74 00 3f 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 73 74 72 75 63 74 20 6d hxq.~..t.?FILE.*stream,.struct.m
4db40 65 6e 74 65 6e 74 20 2a 72 65 73 75 6c 74 2c 20 63 68 61 72 20 2a 62 75 66 66 65 72 2c 20 69 6e entent.*result,.char.*buffer,.in
4db60 74 20 62 75 66 73 69 7a 65 74 00 0f 73 74 72 75 63 74 20 6d 6e 74 65 6e 74 20 2a 74 00 0c 67 65 t.bufsizet..struct.mntent.*t..ge
4db80 74 6e 65 74 62 79 61 64 64 72 73 71 00 7e 00 0a 70 74 01 79 0a 20 20 20 20 20 20 20 20 54 68 65 tnetbyaddrsq.~..pt.y.........The
4dba0 20 3c 43 4f 44 45 3e 67 65 74 6e 65 74 62 79 61 64 64 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 .<CODE>getnetbyaddr</CODE>.funct
4dbc0 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 ion.returns.information.about.th
4dbe0 65 20 6e 65 74 77 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 79 70 65 20 3c 56 41 52 3e e.network..........of.type.<VAR>
4dc00 74 79 70 65 3c 2f 56 41 52 3e 20 77 69 74 68 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 6e 65 74 3c type</VAR>.with.number.<VAR>net<
4dc20 2f 56 41 52 3e 2e 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 73 70 65 63 69 66 79 20 61 20 76 61 6c /VAR>...You.should.specify.a.val
4dc40 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 41 46 5f 49 4e 45 54 3c 2f 43 4f ue.of..........<CODE>AF_INET</CO
4dc60 44 45 3e 20 66 6f 72 20 74 68 65 20 3c 56 41 52 3e 74 79 70 65 3c 2f 56 41 52 3e 20 61 72 67 75 DE>.for.the.<VAR>type</VAR>.argu
4dc80 6d 65 6e 74 20 66 6f 72 20 49 6e 74 65 72 6e 65 74 20 6e 65 74 77 6f 72 6b 73 2e 0a 20 20 20 20 ment.for.Internet.networks......
4dca0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 67 65 74 6e 65 74 62 79 61 64 64 72 .....<br><br>.<CODE>getnetbyaddr
4dcc0 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 </CODE>.returns.a.null.pointer.i
4dce0 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 0a 20 20 20 20 20 20 20 20 20 6e 65 74 77 f.there.is.no.such..........netw
4dd00 6f 72 6b 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 ork..........sq.~......w.....t..
4dd20 6e 65 74 64 62 2e 68 78 71 00 7e 0c 96 74 00 1f 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 6e netdb.hxq.~..t..unsigned.long.in
4dd40 74 20 6e 65 74 2c 20 69 6e 74 20 74 79 70 65 74 00 0f 73 74 72 75 63 74 20 6e 65 74 65 6e 74 20 t.net,.int.typet..struct.netent.
4dd60 2a 74 00 0c 67 65 74 6e 65 74 62 79 6e 61 6d 65 73 71 00 7e 00 0a 70 74 00 bf 0a 20 20 20 20 20 *t..getnetbynamesq.~..pt........
4dd80 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 6e 65 74 62 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e ...The.<CODE>getnetbyname</CODE>
4dda0 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 .function.returns.information.ab
4ddc0 6f 75 74 20 74 68 65 20 6e 65 74 77 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 64 20 3c out.the.network..........named.<
4dde0 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 61 20 6e 75 VAR>name</VAR>...It.returns.a.nu
4de00 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 0a 20 ll.pointer.if.there.is.no.such..
4de20 20 20 20 20 20 20 20 20 6e 65 74 77 6f 72 6b 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ........network..........sq.~...
4de40 00 00 02 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 74 00 07 6e 65 74 64 62 ...w.....t..sys/socket.ht..netdb
4de60 2e 68 78 71 00 7e 0c 9d 74 00 10 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 74 00 0f 73 74 .hxq.~..t..const.char.*namet..st
4de80 72 75 63 74 20 6e 65 74 65 6e 74 20 2a 74 00 09 67 65 74 6e 65 74 65 6e 74 73 71 00 7e 00 0a 70 ruct.netent.*t..getnetentsq.~..p
4dea0 74 00 92 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e t...........This.function.return
4dec0 73 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 6e 65 74 77 6f 72 6b 73 s.the.next.entry.in.the.networks
4dee0 20 64 61 74 61 62 61 73 65 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 .database...It..........returns.
4df00 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6d a.null.pointer.if.there.are.no.m
4df20 6f 72 65 20 65 6e 74 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 ore.entries..........sq.~......w
4df40 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0c a5 74 00 04 76 6f 69 64 74 00 0f 73 .....t..netdb.hxq.~..t..voidt..s
4df60 74 72 75 63 74 20 6e 65 74 65 6e 74 20 2a 74 00 0b 67 65 74 6e 65 74 67 72 65 6e 74 73 71 00 7e truct.netent.*t..getnetgrentsq.~
4df80 00 0a 70 74 02 da 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 ..pt...........This.function.ret
4dfa0 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 75 6e 70 72 6f 63 65 73 73 65 64 20 65 6e 74 72 79 20 urns.the.next.unprocessed.entry.
4dfc0 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 of.the.currently..........select
4dfe0 65 64 20 6e 65 74 67 72 6f 75 70 2e 20 20 54 68 65 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 ed.netgroup...The.string.pointer
4e000 73 2c 20 69 6e 20 77 68 69 63 68 20 61 64 64 72 65 73 73 65 73 20 61 72 65 20 70 61 73 73 65 64 s,.in.which.addresses.are.passed
4e020 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 3c 56 41 52 3e .in..........the.arguments.<VAR>
4e040 68 6f 73 74 70 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 75 73 65 72 70 3c 2f 56 41 52 3e 2c 20 61 hostp</VAR>,.<VAR>userp</VAR>,.a
4e060 6e 64 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 70 3c 2f 56 41 52 3e 2c 20 77 69 6c 6c 20 63 6f 6e 74 nd.<VAR>domainp</VAR>,.will.cont
4e080 61 69 6e 0a 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 ain..........after.a.successful.
4e0a0 63 61 6c 6c 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 70 70 72 6f 70 72 69 61 74 65 20 73 74 72 call.pointers.to.appropriate.str
4e0c0 69 6e 67 73 2e 20 20 49 66 20 74 68 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 69 6e ings...If.the.string..........in
4e0e0 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 69 73 20 65 6d 70 74 79 20 74 68 65 20 70 6f 69 .the.next.entry.is.empty.the.poi
4e100 6e 74 65 72 20 68 61 73 20 74 68 65 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 nter.has.the.value.<CODE>NULL</C
4e120 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 ODE>...........The.returned.stri
4e140 6e 67 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 6f 6e 6c 79 20 76 61 6c 69 64 20 69 66 20 6e 6f ng.pointers.are.only.valid.if.no
4e160 6e 65 20 6f 66 20 74 68 65 20 6e 65 74 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 72 65 6c 61 ne.of.the.netgroup..........rela
4e180 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 ted.functions.are.called........
4e1a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 ...<br><br>.The.return.value.is.
4e1c0 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 <CODE>1</CODE>.if.the.next.entry
4e1e0 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 72 65 61 64 2e 20 20 41 0a 20 20 20 20 20 .was.successfully.read...A......
4e200 20 20 20 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6d 65 61 6e ....value.of.<CODE>0</CODE>.mean
4e220 73 20 6e 6f 20 66 75 72 74 68 65 72 20 65 6e 74 72 69 65 73 20 65 78 69 73 74 20 6f 72 20 69 6e s.no.further.entries.exist.or.in
4e240 74 65 72 6e 61 6c 20 65 72 72 6f 72 73 20 6f 63 63 75 72 72 65 64 2e 0a 20 20 20 20 20 20 20 20 ternal.errors.occurred..........
4e260 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0c ac sq.~......w.....t..netdb.hxq.~..
4e280 74 00 2a 63 68 61 72 20 2a 2a 68 6f 73 74 70 2c 20 63 68 61 72 20 2a 2a 75 73 65 72 70 2c 20 63 t.*char.**hostp,.char.**userp,.c
4e2a0 68 61 72 20 2a 2a 64 6f 6d 61 69 6e 70 74 00 03 69 6e 74 74 00 0d 67 65 74 6e 65 74 67 72 65 6e har.**domainpt..intt..getnetgren
4e2c0 74 5f 72 73 71 00 7e 00 0a 70 74 03 5c 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 t_rsq.~..pt.\.........This.funct
4e2e0 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 6e 65 74 67 72 ion.is.similar.to.<CODE>getnetgr
4e300 65 6e 74 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 6f 6e 6c 79 20 6f 6e 65 20 65 78 63 65 70 74 69 ent</CODE>.with.only.one.excepti
4e320 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 73 20 74 68 65 20 74 68 72 on:..........the.strings.the.thr
4e340 65 65 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 73 20 3c 56 41 52 3e 68 6f 73 74 70 3c 2f 56 ee.string.pointers.<VAR>hostp</V
4e360 41 52 3e 2c 20 3c 56 41 52 3e 75 73 65 72 70 3c 2f 56 41 52 3e 2c 20 61 6e 64 0a 20 20 20 20 20 AR>,.<VAR>userp</VAR>,.and......
4e380 20 20 20 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 70 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 20 74 6f 2c ....<VAR>domainp</VAR>.point.to,
4e3a0 20 61 72 65 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 6f 66 20 3c 56 41 .are.placed.in.the.buffer.of.<VA
4e3c0 52 3e 62 75 66 6c 65 6e 3c 2f 56 41 52 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 20 73 74 R>buflen</VAR>.bytes..........st
4e3e0 61 72 74 69 6e 67 20 61 74 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 54 68 arting.at.<VAR>buffer</VAR>...Th
4e400 69 73 20 6d 65 61 6e 73 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 73 20 61 72 65 is.means.the.returned.values.are
4e420 20 76 61 6c 69 64 0a 20 20 20 20 20 20 20 20 20 65 76 65 6e 20 61 66 74 65 72 20 6f 74 68 65 72 .valid..........even.after.other
4e440 20 6e 65 74 67 72 6f 75 70 20 72 65 6c 61 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 .netgroup.related.functions.are.
4e460 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 called...........<br><br>.The.re
4e480 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 69 66 20 turn.value.is.<CODE>1</CODE>.if.
4e4a0 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 the.next.entry.was.successfully.
4e4c0 72 65 61 64 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 62 75 66 66 65 72 20 63 6f 6e read.and..........the.buffer.con
4e4e0 74 61 69 6e 73 20 65 6e 6f 75 67 68 20 72 6f 6f 6d 20 74 6f 20 70 6c 61 63 65 20 74 68 65 20 73 tains.enough.room.to.place.the.s
4e500 74 72 69 6e 67 73 20 69 6e 20 69 74 2e 20 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 73 trings.in.it...<CODE>0</CODE>.is
4e520 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 69 6e 20 63 61 73 65 20 6e 6f 20 6d 6f ..........returned.in.case.no.mo
4e540 72 65 20 65 6e 74 72 69 65 73 20 61 72 65 20 66 6f 75 6e 64 2c 20 74 68 65 20 62 75 66 66 65 72 re.entries.are.found,.the.buffer
4e560 20 69 73 20 74 6f 6f 20 73 6d 61 6c 6c 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 .is.too.small,.or..........inter
4e580 6e 61 6c 20 65 72 72 6f 72 73 20 6f 63 63 75 72 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 nal.errors.occurred...........<b
4e5a0 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 r><br>.This.function.is.a.GNU.ex
4e5c0 74 65 6e 73 69 6f 6e 2e 20 20 54 68 65 20 6f 72 69 67 69 6e 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 tension...The.original.implement
4e5e0 61 74 69 6f 6e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 53 75 6e 4f 53 20 6c 69 62 63 ation.in.the..........SunOS.libc
4e600 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e .does.not.provide.this.function.
4e620 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 .........sq.~......w.....t..netd
4e640 62 2e 68 78 71 00 7e 0c b3 74 00 44 63 68 61 72 20 2a 2a 68 6f 73 74 70 2c 20 63 68 61 72 20 2a b.hxq.~..t.Dchar.**hostp,.char.*
4e660 2a 75 73 65 72 70 2c 20 63 68 61 72 20 2a 2a 64 6f 6d 61 69 6e 70 2c 20 63 68 61 72 20 2a 62 75 *userp,.char.**domainp,.char.*bu
4e680 66 66 65 72 2c 20 69 6e 74 20 62 75 66 6c 65 6e 74 00 03 69 6e 74 74 00 06 67 65 74 6f 70 74 73 ffer,.int.buflent..intt..getopts
4e6a0 71 00 7e 00 0a 70 74 0c aa 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 6f q.~..pt...........The.<CODE>geto
4e6c0 70 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 74 68 65 20 6e 65 78 74 pt</CODE>.function.gets.the.next
4e6e0 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 .option.argument.from.the.......
4e700 20 20 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 ...argument.list.specified.by.th
4e720 65 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 61 72 67 63 3c e.<VAR>argv</VAR>.and.<VAR>argc<
4e740 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c /VAR>.arguments...........Normal
4e760 6c 79 20 74 68 65 73 65 20 76 61 6c 75 65 73 20 63 6f 6d 65 20 64 69 72 65 63 74 6c 79 20 66 72 ly.these.values.come.directly.fr
4e780 6f 6d 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 72 65 63 65 69 76 65 64 20 62 79 0a 20 20 20 om.the.arguments.received.by....
4e7a0 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 61 69 6e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 ......<CODE>main</CODE>.........
4e7c0 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 ..<br><br>.The.<VAR>options</VAR
4e7e0 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 73 70 65 63 >.argument.is.a.string.that.spec
4e800 69 66 69 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 ifies.the.option..........charac
4e820 74 65 72 73 20 74 68 61 74 20 61 72 65 20 76 61 6c 69 64 20 66 6f 72 20 74 68 69 73 20 70 72 6f ters.that.are.valid.for.this.pro
4e840 67 72 61 6d 2e 20 20 41 6e 20 6f 70 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 gram...An.option.character.in.th
4e860 69 73 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 63 61 6e 20 62 65 20 66 6f 6c 6c 6f 77 is..........string.can.be.follow
4e880 65 64 20 62 79 20 61 20 63 6f 6c 6f 6e 20 28 3c 73 61 6d 70 3e 3a 3c 2f 73 61 6d 70 3e 29 20 74 ed.by.a.colon.(<samp>:</samp>).t
4e8a0 6f 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 69 74 20 74 61 6b 65 73 20 61 0a 20 20 20 20 20 o.indicate.that.it.takes.a......
4e8c0 20 20 20 20 72 65 71 75 69 72 65 64 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 66 20 61 6e 20 6f 70 ....required.argument...If.an.op
4e8e0 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 20 69 73 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 77 tion.character.is.followed.by.tw
4e900 6f 20 63 6f 6c 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 28 3c 73 61 6d 70 3e 3a 3a 3c 2f 73 61 6d o.colons..........(<samp>::</sam
4e920 70 3e 29 2c 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6f 70 74 69 6f 6e 61 6c 3b 20 74 p>),.its.argument.is.optional;.t
4e940 68 69 73 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 his.is.a.GNU.extension..........
4e960 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 3c 2f 43 4f 44 45 3e 20 68 61 .<br><br>.<CODE>getopt</CODE>.ha
4e980 73 20 74 68 72 65 65 20 77 61 79 73 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 6f 70 74 69 6f 6e s.three.ways.to.deal.with.option
4e9a0 73 20 74 68 61 74 20 66 6f 6c 6c 6f 77 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 2d 6f 70 74 69 6f s.that.follow..........non-optio
4e9c0 6e 73 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 20 65 6c 65 6d 65 6e 74 73 2e 20 20 54 68 ns.<VAR>argv</VAR>.elements...Th
4e9e0 65 20 73 70 65 63 69 61 6c 20 61 72 67 75 6d 65 6e 74 20 3c 73 61 6d 70 3e 2d 2d 3c 2f 73 61 6d e.special.argument.<samp>--</sam
4ea00 70 3e 20 66 6f 72 63 65 73 0a 20 20 20 20 20 20 20 20 20 69 6e 20 61 6c 6c 20 63 61 73 65 73 20 p>.forces..........in.all.cases.
4ea20 74 68 65 20 65 6e 64 20 6f 66 20 6f 70 74 69 6f 6e 20 73 63 61 6e 6e 69 6e 67 2e 0a 20 20 20 20 the.end.of.option.scanning......
4ea40 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e .....<br><br>.<OL>..........<LI>
4ea60 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 74 6f 20 70 65 72 6d ..........The.default.is.to.perm
4ea80 75 74 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 ute.the.contents.of.<VAR>argv</V
4eaa0 41 52 3e 20 77 68 69 6c 65 20 73 63 61 6e 6e 69 6e 67 20 69 74 0a 20 20 20 20 20 20 20 20 20 73 AR>.while.scanning.it..........s
4eac0 6f 20 74 68 61 74 20 65 76 65 6e 74 75 61 6c 6c 79 20 61 6c 6c 20 74 68 65 20 6e 6f 6e 2d 6f 70 o.that.eventually.all.the.non-op
4eae0 74 69 6f 6e 73 20 61 72 65 20 61 74 20 74 68 65 20 65 6e 64 2e 20 20 54 68 69 73 20 61 6c 6c 6f tions.are.at.the.end...This.allo
4eb00 77 73 0a 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 65 20 67 69 76 65 6e 20 ws..........options.to.be.given.
4eb20 69 6e 20 61 6e 79 20 6f 72 64 65 72 2c 20 65 76 65 6e 20 77 69 74 68 20 70 72 6f 67 72 61 6d 73 in.any.order,.even.with.programs
4eb40 20 74 68 61 74 20 77 65 72 65 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 .that.were.not..........written.
4eb60 74 6f 20 65 78 70 65 63 74 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 to.expect.this...........<br><br
4eb80 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 6f 70 74 69 >.<LI>..........If.the.<VAR>opti
4eba0 6f 6e 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 74 72 69 6e 67 20 62 65 67 69 6e 73 ons</VAR>.argument.string.begins
4ebc0 20 77 69 74 68 20 61 20 68 79 70 68 65 6e 20 28 3c 73 61 6d 70 3e 2d 3c 2f 73 61 6d 70 3e 29 2c .with.a.hyphen.(<samp>-</samp>),
4ebe0 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 69 73 20 74 72 65 61 74 65 64 20 73 70 65 63 69 61 .this..........is.treated.specia
4ec00 6c 6c 79 2e 20 20 49 74 20 70 65 72 6d 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61 74 20 lly...It.permits.arguments.that.
4ec20 61 72 65 20 6e 6f 74 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 72 are.not.options.to.be..........r
4ec40 65 74 75 72 6e 65 64 20 61 73 20 69 66 20 74 68 65 79 20 77 65 72 65 20 61 73 73 6f 63 69 61 74 eturned.as.if.they.were.associat
4ec60 65 64 20 77 69 74 68 20 6f 70 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 20 3c 73 61 6d 70 3e 5c ed.with.option.character.<samp>\
4ec80 31 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 1</samp>...........<br><br>.<LI>
4eca0 0a 20 20 20 20 20 20 20 20 20 50 4f 53 49 58 20 64 65 6d 61 6e 64 73 20 74 68 65 20 66 6f 6c 6c ..........POSIX.demands.the.foll
4ecc0 6f 77 69 6e 67 20 62 65 68 61 76 69 6f 72 3a 20 54 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 6f 70 owing.behavior:.The.first.non-op
4ece0 74 69 6f 6e 20 73 74 6f 70 73 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 tion.stops.option..........proce
4ed00 73 73 69 6e 67 2e 20 20 54 68 69 73 20 6d 6f 64 65 20 69 73 20 73 65 6c 65 63 74 65 64 20 62 79 ssing...This.mode.is.selected.by
4ed20 20 65 69 74 68 65 72 20 73 65 74 74 69 6e 67 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a .either.setting.the.environment.
4ed40 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 50 4f 53 49 58 4c 59 5f .........variable.<CODE>POSIXLY_
4ed60 43 4f 52 52 45 43 54 3c 2f 43 4f 44 45 3e 20 6f 72 20 62 65 67 69 6e 6e 69 6e 67 20 74 68 65 20 CORRECT</CODE>.or.beginning.the.
4ed80 3c 56 41 52 3e 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 <VAR>options</VAR>.argument.....
4eda0 20 20 20 20 20 73 74 72 69 6e 67 20 77 69 74 68 20 61 20 70 6c 75 73 20 73 69 67 6e 20 28 3c 73 .....string.with.a.plus.sign.(<s
4edc0 61 6d 70 3e 2b 3c 2f 73 61 6d 70 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 amp>+</samp>)...........</OL>...
4ede0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 .......<br><br>.The.<CODE>getopt
4ee00 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6f 70 74 </CODE>.function.returns.the.opt
4ee20 69 6f 6e 20 63 68 61 72 61 63 74 65 72 20 66 6f 72 20 74 68 65 20 6e 65 78 74 0a 20 20 20 20 20 ion.character.for.the.next......
4ee40 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 2e 20 20 57 68 65 6e 20 6e ....command.line.option...When.n
4ee60 6f 20 6d 6f 72 65 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 61 76 61 69 o.more.option.arguments.are.avai
4ee80 6c 61 62 6c 65 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 lable,.it..........returns.<CODE
4eea0 3e 2d 31 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 72 65 20 6d 61 79 20 73 74 69 6c 6c 20 62 65 20 >-1</CODE>...There.may.still.be.
4eec0 6d 6f 72 65 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 3b 20 79 6f 75 0a 20 more.non-option.arguments;.you..
4eee0 20 20 20 20 20 20 20 20 6d 75 73 74 20 63 6f 6d 70 61 72 65 20 74 68 65 20 65 78 74 65 72 6e 61 ........must.compare.the.externa
4ef00 6c 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 6f 70 74 69 6e 64 3c 2f 43 4f 44 45 3e 20 61 l.variable.<CODE>optind</CODE>.a
4ef20 67 61 69 6e 73 74 20 74 68 65 20 3c 56 41 52 3e 61 72 67 63 3c 2f 56 41 52 3e 0a 20 20 20 20 20 gainst.the.<VAR>argc</VAR>......
4ef40 20 20 20 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 63 68 65 63 6b 20 74 68 69 73 2e 0a 20 20 20 ....parameter.to.check.this.....
4ef60 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 68 61 73 ......<br><br>.If.the.option.has
4ef80 20 61 6e 20 61 72 67 75 6d 65 6e 74 2c 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 3c 2f 43 4f 44 45 .an.argument,.<CODE>getopt</CODE
4efa0 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 62 79 0a 20 20 20 20 20 20 >.returns.the.argument.by.......
4efc0 20 20 20 73 74 6f 72 69 6e 67 20 69 74 20 69 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 3c 56 ...storing.it.in.the.variable.<V
4efe0 41 52 3e 6f 70 74 61 72 67 3c 2f 56 41 52 3e 2e 20 20 59 6f 75 20 64 6f 6e 27 74 20 6f 72 64 69 AR>optarg</VAR>...You.don't.ordi
4f000 6e 61 72 69 6c 79 20 6e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 63 6f 70 79 20 74 68 65 narily.need.to..........copy.the
4f020 20 3c 43 4f 44 45 3e 6f 70 74 61 72 67 3c 2f 43 4f 44 45 3e 20 73 74 72 69 6e 67 2c 20 73 69 6e .<CODE>optarg</CODE>.string,.sin
4f040 63 65 20 69 74 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 74 68 65 20 6f 72 69 67 ce.it.is.a.pointer.into.the.orig
4f060 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 20 61 72 inal..........<VAR>argv</VAR>.ar
4f080 72 61 79 2c 20 6e 6f 74 20 69 6e 74 6f 20 61 20 73 74 61 74 69 63 20 61 72 65 61 20 74 68 61 74 ray,.not.into.a.static.area.that
4f0a0 20 6d 69 67 68 74 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 .might.be.overwritten...........
4f0c0 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 3c 2f 43 4f 44 45 3e 20 <br><br>.If.<CODE>getopt</CODE>.
4f0e0 66 69 6e 64 73 20 61 6e 20 6f 70 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 3c 56 41 finds.an.option.character.in.<VA
4f100 52 3e 61 72 67 76 3c 2f 56 41 52 3e 20 74 68 61 74 20 77 61 73 20 6e 6f 74 0a 20 20 20 20 20 20 R>argv</VAR>.that.was.not.......
4f120 20 20 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 3c 56 41 52 3e 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 ...included.in.<VAR>options</VAR
4f140 3e 2c 20 6f 72 20 61 20 6d 69 73 73 69 6e 67 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 2c >,.or.a.missing.option.argument,
4f160 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 3f 3c 2f 73 61 .it.returns..........<samp>?</sa
4f180 6d 70 3e 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 76 61 72 69 61 62 mp>.and.sets.the.external.variab
4f1a0 6c 65 20 3c 43 4f 44 45 3e 6f 70 74 6f 70 74 3c 2f 43 4f 44 45 3e 20 74 6f 20 74 68 65 20 61 63 le.<CODE>optopt</CODE>.to.the.ac
4f1c0 74 75 61 6c 0a 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 2e 20 tual..........option.character..
4f1e0 20 49 66 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 6f 66 20 3c 56 41 52 3e .If.the.first.character.of.<VAR>
4f200 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 63 6f 6c 6f 6e 0a 20 20 20 20 20 20 20 options</VAR>.is.a.colon........
4f220 20 20 28 3c 73 61 6d 70 3e 3a 3c 2f 73 61 6d 70 3e 29 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 67 ..(<samp>:</samp>),.then.<CODE>g
4f240 65 74 6f 70 74 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 73 61 6d 70 3e 3a 3c 2f 73 61 etopt</CODE>.returns.<samp>:</sa
4f260 6d 70 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 73 61 6d 70 3e 3f 3c 2f 73 61 6d 70 3e 20 74 6f mp>.instead.of.<samp>?</samp>.to
4f280 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 20 61 20 6d 69 73 73 69 6e 67 20 6f 70 74 ..........indicate.a.missing.opt
4f2a0 69 6f 6e 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 69 66 20 74 ion.argument...In.addition,.if.t
4f2c0 68 65 20 65 78 74 65 72 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 3c 43 he.external..........variable.<C
4f2e0 4f 44 45 3e 6f 70 74 65 72 72 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 6e 7a 65 72 6f 20 28 77 68 ODE>opterr</CODE>.is.nonzero.(wh
4f300 69 63 68 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 3c 43 4f 44 45 3e 67 65 74 6f 70 ich.is.the.default),.<CODE>getop
4f320 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 73 20 61 6e 20 65 72 72 6f t</CODE>..........prints.an.erro
4f340 72 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 r.message..........sq.~......w..
4f360 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0c ba 74 00 2a 69 6e 74 20 61 72 67 63 2c ...t..unistd.hxq.~..t.*int.argc,
4f380 20 63 68 61 72 20 2a 2a 61 72 67 76 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 70 74 69 6f 6e .char.**argv,.const.char.*option
4f3a0 73 74 00 03 69 6e 74 74 00 0b 67 65 74 6f 70 74 5f 6c 6f 6e 67 73 71 00 7e 00 0a 70 74 0b 2a 0a st..intt..getopt_longsq.~..pt.*.
4f3c0 20 20 20 20 20 20 20 20 44 65 63 6f 64 65 20 6f 70 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 ........Decode.options.from.the.
4f3e0 76 65 63 74 6f 72 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e 20 28 77 68 6f 73 65 20 6c 65 vector.<VAR>argv</VAR>.(whose.le
4f400 6e 67 74 68 20 69 73 20 3c 56 41 52 3e 61 72 67 63 3c 2f 56 41 52 3e 29 2e 0a 20 20 20 20 20 20 ngth.is.<VAR>argc</VAR>)........
4f420 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 73 68 6f 72 74 6f 70 74 73 3c 2f ...The.argument.<VAR>shortopts</
4f440 56 41 52 3e 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 73 68 6f 72 74 20 6f 70 74 69 6f 6e 73 VAR>.describes.the.short.options
4f460 20 74 6f 20 61 63 63 65 70 74 2c 20 6a 75 73 74 20 61 73 0a 20 20 20 20 20 20 20 20 20 69 74 20 .to.accept,.just.as..........it.
4f480 64 6f 65 73 20 69 6e 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 does.in.<CODE>getopt</CODE>...Th
4f4a0 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 6c 6f 6e 67 6f 70 74 73 3c 2f 56 41 52 3e 20 64 e.argument.<VAR>longopts</VAR>.d
4f4c0 65 73 63 72 69 62 65 73 20 74 68 65 20 6c 6f 6e 67 0a 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f escribes.the.long..........optio
4f4e0 6e 73 20 74 6f 20 61 63 63 65 70 74 20 28 73 65 65 20 61 62 6f 76 65 29 2e 0a 20 20 20 20 20 20 ns.to.accept.(see.above)........
4f500 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 5f 6c 6f ...<br><br>.When.<CODE>getopt_lo
4f520 6e 67 3c 2f 43 4f 44 45 3e 20 65 6e 63 6f 75 6e 74 65 72 73 20 61 20 73 68 6f 72 74 20 6f 70 74 ng</CODE>.encounters.a.short.opt
4f540 69 6f 6e 2c 20 69 74 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 74 ion,.it.does.the.same..........t
4f560 68 69 6e 67 20 74 68 61 74 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 3c 2f 43 4f 44 45 3e 20 77 6f hing.that.<CODE>getopt</CODE>.wo
4f580 75 6c 64 20 64 6f 3a 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 uld.do:.it.returns.the.character
4f5a0 20 63 6f 64 65 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 2c 20 61 .code.for.the..........option,.a
4f5c0 6e 64 20 73 74 6f 72 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 61 72 67 75 6d 65 6e 74 20 28 nd.stores.the.options.argument.(
4f5e0 69 66 20 69 74 20 68 61 73 20 6f 6e 65 29 20 69 6e 20 3c 43 4f 44 45 3e 6f 70 74 61 72 67 3c 2f if.it.has.one).in.<CODE>optarg</
4f600 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 3c 43 CODE>...........<br><br>.When.<C
4f620 4f 44 45 3e 67 65 74 6f 70 74 5f 6c 6f 6e 67 3c 2f 43 4f 44 45 3e 20 65 6e 63 6f 75 6e 74 65 72 ODE>getopt_long</CODE>.encounter
4f640 73 20 61 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 2c 20 69 74 20 74 61 6b 65 73 20 61 63 74 69 6f 6e s.a.long.option,.it.takes.action
4f660 73 20 62 61 73 65 64 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 3c 43 4f 44 45 3e 66 6c s.based..........on.the.<CODE>fl
4f680 61 67 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 76 61 6c 3c 2f 43 4f 44 45 3e 20 66 ag</CODE>.and.<CODE>val</CODE>.f
4f6a0 69 65 6c 64 73 20 6f 66 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 61 74 0a ields.of.the.definition.of.that.
4f6c0 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .........option...........<br><b
4f6e0 72 3e 20 49 66 20 3c 43 4f 44 45 3e 66 6c 61 67 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 6e 75 6c r>.If.<CODE>flag</CODE>.is.a.nul
4f700 6c 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 5f 6c 6f 6e l.pointer,.then.<CODE>getopt_lon
4f720 67 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f g</CODE>.returns.the..........co
4f740 6e 74 65 6e 74 73 20 6f 66 20 3c 43 4f 44 45 3e 76 61 6c 3c 2f 43 4f 44 45 3e 20 74 6f 20 69 6e ntents.of.<CODE>val</CODE>.to.in
4f760 64 69 63 61 74 65 20 77 68 69 63 68 20 6f 70 74 69 6f 6e 20 69 74 20 66 6f 75 6e 64 2e 20 20 59 dicate.which.option.it.found...Y
4f780 6f 75 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 61 72 72 61 6e 67 65 20 64 69 73 74 69 ou.should..........arrange.disti
4f7a0 6e 63 74 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 76 61 6c 3c 2f 43 4f 44 nct.values.in.the.<CODE>val</COD
4f7c0 45 3e 20 66 69 65 6c 64 20 66 6f 72 20 6f 70 74 69 6f 6e 73 20 77 69 74 68 0a 20 20 20 20 20 20 E>.field.for.options.with.......
4f7e0 20 20 20 64 69 66 66 65 72 65 6e 74 20 6d 65 61 6e 69 6e 67 73 2c 20 73 6f 20 79 6f 75 20 63 61 ...different.meanings,.so.you.ca
4f800 6e 20 64 65 63 6f 64 65 20 74 68 65 73 65 20 76 61 6c 75 65 73 20 61 66 74 65 72 0a 20 20 20 20 n.decode.these.values.after.....
4f820 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 5f 6c 6f 6e 67 3c 2f 43 4f 44 45 3e 20 72 65 .....<CODE>getopt_long</CODE>.re
4f840 74 75 72 6e 73 2e 20 20 49 66 20 74 68 65 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 20 69 73 20 65 71 turns...If.the.long.option.is.eq
4f860 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 73 68 6f 72 74 0a 20 20 20 20 20 20 20 20 20 6f 70 74 uivalent.to.a.short..........opt
4f880 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 73 68 6f 72 74 20 6f 70 74 69 6f ion,.you.can.use.the.short.optio
4f8a0 6e 27 73 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 20 69 6e 20 3c 43 4f 44 45 3e 76 61 6c 3c n's.character.code.in.<CODE>val<
4f8c0 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f /CODE>...........<br><br>.If.<CO
4f8e0 44 45 3e 66 6c 61 67 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 DE>flag</CODE>.is.not.a.null.poi
4f900 6e 74 65 72 2c 20 74 68 61 74 20 6d 65 61 6e 73 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 73 68 6f nter,.that.means.this.option.sho
4f920 75 6c 64 20 6a 75 73 74 0a 20 20 20 20 20 20 20 20 20 73 65 74 20 61 20 66 6c 61 67 20 69 6e 20 uld.just..........set.a.flag.in.
4f940 74 68 65 20 70 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 66 6c 61 67 20 69 73 20 61 20 76 61 72 69 the.program...The.flag.is.a.vari
4f960 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 0a 20 20 able.of.type.<CODE>int</CODE>...
4f980 20 20 20 20 20 20 20 74 68 61 74 20 79 6f 75 20 64 65 66 69 6e 65 2e 20 20 50 75 74 20 74 68 65 .......that.you.define...Put.the
4f9a0 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 66 6c 61 67 20 69 6e 20 74 68 65 20 3c 43 4f 44 .address.of.the.flag.in.the.<COD
4f9c0 45 3e 66 6c 61 67 3c 2f 43 4f 44 45 3e 20 66 69 65 6c 64 2e 0a 20 20 20 20 20 20 20 20 20 50 75 E>flag</CODE>.field...........Pu
4f9e0 74 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 76 61 6c 3c 2f 43 4f 44 45 3e 20 66 69 65 6c 64 20 t.in.the.<CODE>val</CODE>.field.
4fa00 74 68 65 20 76 61 6c 75 65 20 79 6f 75 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 68 69 73 20 6f 70 the.value.you.would.like.this.op
4fa20 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 20 69 6e 20 74 68 65 20 66 6c tion.to..........store.in.the.fl
4fa40 61 67 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 5f ag...In.this.case,.<CODE>getopt_
4fa60 6c 6f 6e 67 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 long</CODE>.returns.<CODE>0</COD
4fa80 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 61 6e 79 20 6c 6f E>...........<br><br>.For.any.lo
4faa0 6e 67 20 6f 70 74 69 6f 6e 2c 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 5f 6c 6f 6e 67 3c 2f 43 4f ng.option,.<CODE>getopt_long</CO
4fac0 44 45 3e 20 74 65 6c 6c 73 20 79 6f 75 20 74 68 65 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 61 DE>.tells.you.the.index.in.the.a
4fae0 72 72 61 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6c 6f 6e 67 6f 70 74 73 3c 2f 56 41 52 rray..........<VAR>longopts</VAR
4fb00 3e 20 6f 66 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 62 79 20 >.of.the.options.definition,.by.
4fb20 73 74 6f 72 69 6e 67 20 69 74 20 69 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a storing.it.into..........<CODE>*
4fb40 3c 56 41 52 3e 69 6e 64 65 78 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 <VAR>indexptr</VAR></CODE>...You
4fb60 20 63 61 6e 20 67 65 74 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 .can.get.the.name.of.the.option.
4fb80 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 6c 6f 6e 67 6f 70 74 with..........<CODE><VAR>longopt
4fba0 73 3c 2f 56 41 52 3e 5b 2a 3c 56 41 52 3e 69 6e 64 65 78 70 74 72 3c 2f 56 41 52 3e 5d 2e 6e 61 s</VAR>[*<VAR>indexptr</VAR>].na
4fbc0 6d 65 3c 2f 43 4f 44 45 3e 2e 20 20 53 6f 20 79 6f 75 20 63 61 6e 20 64 69 73 74 69 6e 67 75 69 me</CODE>...So.you.can.distingui
4fbe0 73 68 20 61 6d 6f 6e 67 0a 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 73 20 65 sh.among..........long.options.e
4fc00 69 74 68 65 72 20 62 79 20 74 68 65 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 69 72 20 3c 43 4f ither.by.the.values.in.their.<CO
4fc20 44 45 3e 76 61 6c 3c 2f 43 4f 44 45 3e 20 66 69 65 6c 64 73 20 6f 72 20 62 79 20 74 68 65 69 72 DE>val</CODE>.fields.or.by.their
4fc40 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 65 73 2e 20 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f ..........indices...You.can.also
4fc60 20 64 69 73 74 69 6e 67 75 69 73 68 20 69 6e 20 74 68 69 73 20 77 61 79 20 61 6d 6f 6e 67 20 6c .distinguish.in.this.way.among.l
4fc80 6f 6e 67 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 73 65 74 20 66 6c ong.options.that..........set.fl
4fca0 61 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 61 20 6c 6f ags...........<br><br>.When.a.lo
4fcc0 6e 67 20 6f 70 74 69 6f 6e 20 68 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2c 20 3c 43 4f 44 45 ng.option.has.an.argument,.<CODE
4fce0 3e 67 65 74 6f 70 74 5f 6c 6f 6e 67 3c 2f 43 4f 44 45 3e 20 70 75 74 73 20 74 68 65 20 61 72 67 >getopt_long</CODE>.puts.the.arg
4fd00 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 76 61 72 69 ument..........value.in.the.vari
4fd20 61 62 6c 65 20 3c 43 4f 44 45 3e 6f 70 74 61 72 67 3c 2f 43 4f 44 45 3e 20 62 65 66 6f 72 65 20 able.<CODE>optarg</CODE>.before.
4fd40 72 65 74 75 72 6e 69 6e 67 2e 20 20 57 68 65 6e 20 74 68 65 20 6f 70 74 69 6f 6e 0a 20 20 20 20 returning...When.the.option.....
4fd60 20 20 20 20 20 68 61 73 20 6e 6f 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 76 61 6c 75 65 20 .....has.no.argument,.the.value.
4fd80 69 6e 20 3c 43 4f 44 45 3e 6f 70 74 61 72 67 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 6e 75 6c 6c in.<CODE>optarg</CODE>.is.a.null
4fda0 20 70 6f 69 6e 74 65 72 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 68 6f 77 20 .pointer...This.is..........how.
4fdc0 79 6f 75 20 63 61 6e 20 74 65 6c 6c 20 77 68 65 74 68 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c you.can.tell.whether.an.optional
4fde0 20 61 72 67 75 6d 65 6e 74 20 77 61 73 20 73 75 70 70 6c 69 65 64 2e 0a 20 20 20 20 20 20 20 20 .argument.was.supplied..........
4fe00 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 5f 6c 6f 6e 67 .<br><br>.When.<CODE>getopt_long
4fe20 3c 2f 43 4f 44 45 3e 20 68 61 73 20 6e 6f 20 6d 6f 72 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 68 </CODE>.has.no.more.options.to.h
4fe40 61 6e 64 6c 65 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 andle,.it.returns..........<CODE
4fe60 3e 2d 31 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 6c 65 61 76 65 73 20 69 6e 20 74 68 65 20 76 61 >-1</CODE>,.and.leaves.in.the.va
4fe80 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 6f 70 74 69 6e 64 3c 2f 43 4f 44 45 3e 20 74 68 65 20 69 riable.<CODE>optind</CODE>.the.i
4fea0 6e 64 65 78 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 76 3c 2f 56 41 52 3e ndex.in..........<VAR>argv</VAR>
4fec0 20 6f 66 20 74 68 65 20 6e 65 78 74 20 72 65 6d 61 69 6e 69 6e 67 20 61 72 67 75 6d 65 6e 74 2e .of.the.next.remaining.argument.
4fee0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 67 65 74 6f .........sq.~......w.....t..geto
4ff00 70 74 2e 68 78 71 00 7e 0c c1 74 00 60 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 63 6f 6e pt.hxq.~..t.`int.argc,.char.*con
4ff20 73 74 20 2a 61 72 67 76 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 68 6f 72 74 6f 70 74 73 2c st.*argv,.const.char.*shortopts,
4ff40 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 6f 70 74 69 6f 6e 20 2a 6c 6f 6e 67 6f 70 74 73 2c 20 .const.struct.option.*longopts,.
4ff60 69 6e 74 20 2a 69 6e 64 65 78 70 74 72 74 00 03 69 6e 74 74 00 10 67 65 74 6f 70 74 5f 6c 6f 6e int.*indexptrt..intt..getopt_lon
4ff80 67 5f 6f 6e 6c 79 73 71 00 7e 00 0a 70 74 03 b3 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 g_onlysq.~..pt...........<br><br
4ffa0 3e 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 5f 6c 6f 6e 67 5f 6f 6e 6c 79 3c 2f 43 4f >.The.<CODE>getopt_long_only</CO
4ffc0 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 DE>.function.is.equivalent.to.th
4ffe0 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 6f 70 74 5f 6c 6f 6e 67 3c 2f 43 4f e..........<CODE>getopt_long</CO
50000 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 62 75 74 20 69 74 20 61 6c 6c 6f 77 73 20 74 6f 20 73 70 DE>.function.but.it.allows.to.sp
50020 65 63 69 66 79 20 74 68 65 20 75 73 65 72 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 ecify.the.user.of.the..........a
50040 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 70 61 73 73 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 73 20 pplication.to.pass.long.options.
50060 77 69 74 68 20 6f 6e 6c 79 20 3c 73 61 6d 70 3e 2d 3c 2f 73 61 6d 70 3e 20 69 6e 73 74 65 61 64 with.only.<samp>-</samp>.instead
50080 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 2d 2d 3c 2f 73 61 6d 70 3e 2e 20 20 54 .of..........<samp>--</samp>...T
500a0 68 65 20 3c 73 61 6d 70 3e 2d 2d 3c 2f 73 61 6d 70 3e 20 70 72 65 66 69 78 20 69 73 20 73 74 69 he.<samp>--</samp>.prefix.is.sti
500c0 6c 6c 20 72 65 63 6f 67 6e 69 7a 65 64 20 62 75 74 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 20 ll.recognized.but.instead.of....
500e0 20 20 20 20 20 20 6c 6f 6f 6b 69 6e 67 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 68 6f 72 74 20 ......looking.through.the.short.
50100 6f 70 74 69 6f 6e 73 20 69 66 20 61 20 3c 73 61 6d 70 3e 2d 3c 2f 73 61 6d 70 3e 20 69 73 20 73 options.if.a.<samp>-</samp>.is.s
50120 65 65 6e 20 69 74 20 69 73 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 74 72 69 65 64 20 77 een.it.is.first..........tried.w
50140 68 65 74 68 65 72 20 74 68 69 73 20 70 61 72 61 6d 65 74 65 72 20 6e 61 6d 65 73 20 61 20 6c 6f hether.this.parameter.names.a.lo
50160 6e 67 20 6f 70 74 69 6f 6e 2e 20 20 49 66 20 6e 6f 74 2c 20 69 74 20 69 73 20 70 61 72 73 65 64 ng.option...If.not,.it.is.parsed
50180 0a 20 20 20 20 20 20 20 20 20 61 73 20 61 20 73 68 6f 72 74 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 ..........as.a.short.option.....
501a0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 73 73 75 6d 69 6e 67 20 3c 43 4f 44 45 3e 67 65 ......<br><br>.Assuming.<CODE>ge
501c0 74 6f 70 74 5f 6c 6f 6e 67 5f 6f 6e 6c 79 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 65 64 20 73 74 topt_long_only</CODE>.is.used.st
501e0 61 72 74 69 6e 67 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 69 74 68 0a 20 20 20 20 20 arting.an.application.with......
50200 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 ....<br><br>.<pre><br>..........
50220 20 20 61 70 70 20 2d 66 6f 6f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 ..app.-foo<br>..........</pre>..
50240 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c ........<br><br>...........the.<
50260 43 4f 44 45 3e 67 65 74 6f 70 74 5f 6c 6f 6e 67 5f 6f 6e 6c 79 3c 2f 43 4f 44 45 3e 20 77 69 6c CODE>getopt_long_only</CODE>.wil
50280 6c 20 66 69 72 73 74 20 6c 6f 6f 6b 20 66 6f 72 20 61 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 20 6e l.first.look.for.a.long.option.n
502a0 61 6d 65 64 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 66 6f 6f 3c 2f 73 61 6d 70 3e 2e 20 amed..........<samp>foo</samp>..
502c0 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 74 68 65 20 73 68 6f 72 74 .If.this.is.not.found,.the.short
502e0 20 6f 70 74 69 6f 6e 73 20 3c 73 61 6d 70 3e 66 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 6d 70 3e 6f .options.<samp>f</samp>,.<samp>o
50300 3c 2f 73 61 6d 70 3e 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 61 67 61 69 6e 20 3c 73 61 6d </samp>,..........and.again.<sam
50320 70 3e 6f 3c 2f 73 61 6d 70 3e 20 61 72 65 20 72 65 63 6f 67 6e 69 7a 65 64 2e 0a 20 20 20 20 20 p>o</samp>.are.recognized.......
50340 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 67 65 74 6f 70 74 2e 68 78 71 ...sq.~......w.....t..getopt.hxq
50360 00 7e 0c c8 74 00 60 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 63 6f 6e 73 74 20 2a 61 72 .~..t.`int.argc,.char.*const.*ar
50380 67 76 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 68 6f 72 74 6f 70 74 73 2c 20 63 6f 6e 73 74 gv,.const.char.*shortopts,.const
503a0 20 73 74 72 75 63 74 20 6f 70 74 69 6f 6e 20 2a 6c 6f 6e 67 6f 70 74 73 2c 20 69 6e 74 20 2a 69 .struct.option.*longopts,.int.*i
503c0 6e 64 65 78 70 74 72 74 00 03 69 6e 74 74 00 0b 67 65 74 70 61 67 65 73 69 7a 65 73 71 00 7e 00 ndexptrt..intt..getpagesizesq.~.
503e0 0a 70 74 01 16 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 70 61 67 65 73 .pt...........The.<CODE>getpages
50400 69 7a 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 ize</CODE>.function.returns.the.
50420 70 61 67 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 page.size.of.the.process........
50440 20 20 20 54 68 69 73 20 76 61 6c 75 65 20 69 73 20 66 69 78 65 64 20 66 6f 72 20 74 68 65 20 72 ...This.value.is.fixed.for.the.r
50460 75 6e 74 69 6d 65 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 62 75 74 20 63 61 6e 20 76 61 untime.of.the.process.but.can.va
50480 72 79 20 69 6e 0a 20 20 20 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 74 20 72 75 6e 73 20 6f 66 ry.in..........different.runs.of
504a0 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .the.application...........<br><
504c0 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 br>.The.function.is.declared.in.
504e0 3c 54 54 3e 75 6e 69 73 74 64 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 <TT>unistd.h</TT>..........sq.~.
50500 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0c cf 74 00 04 76 .....w.....t..unistd.hxq.~..t..v
50520 6f 69 64 74 00 03 69 6e 74 74 00 07 67 65 74 70 61 73 73 73 71 00 7e 00 0a 70 74 04 09 0a 20 20 oidt..intt..getpasssq.~..pt.....
50540 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 67 65 74 70 61 73 73 3c 2f 43 4f ......<br><br>.<CODE>getpass</CO
50560 44 45 3e 20 6f 75 74 70 75 74 73 20 3c 56 41 52 3e 70 72 6f 6d 70 74 3c 2f 56 41 52 3e 2c 20 74 DE>.outputs.<VAR>prompt</VAR>,.t
50580 68 65 6e 20 72 65 61 64 73 20 61 20 73 74 72 69 6e 67 20 69 6e 20 66 72 6f 6d 20 74 68 65 0a 20 hen.reads.a.string.in.from.the..
505a0 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 6c 20 77 69 74 68 6f 75 74 20 65 63 68 6f 69 6e 67 ........terminal.without.echoing
505c0 20 69 74 2e 20 20 49 74 20 74 72 69 65 73 20 74 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 74 68 65 .it...It.tries.to.connect.to.the
505e0 20 72 65 61 6c 20 74 65 72 6d 69 6e 61 6c 2c 0a 20 20 20 20 20 20 20 20 20 3c 54 54 3e 2f 64 65 .real.terminal,..........<TT>/de
50600 76 2f 74 74 79 3c 2f 54 54 3e 2c 20 69 66 20 70 6f 73 73 69 62 6c 65 2c 20 74 6f 20 65 6e 63 6f v/tty</TT>,.if.possible,.to.enco
50620 75 72 61 67 65 20 75 73 65 72 73 20 6e 6f 74 20 74 6f 20 70 75 74 20 70 6c 61 69 6e 74 65 78 74 urage.users.not.to.put.plaintext
50640 0a 20 20 20 20 20 20 20 20 20 70 61 73 73 77 6f 72 64 73 20 69 6e 20 66 69 6c 65 73 3b 20 6f 74 ..........passwords.in.files;.ot
50660 68 65 72 77 69 73 65 2c 20 69 74 20 75 73 65 73 20 3c 43 4f 44 45 3e 73 74 64 69 6e 3c 2f 43 4f herwise,.it.uses.<CODE>stdin</CO
50680 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 73 74 64 65 72 72 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 DE>.and.<CODE>stderr</CODE>.....
506a0 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 70 61 73 73 3c 2f 43 4f 44 45 3e 20 61 6c 73 6f 20 ......<CODE>getpass</CODE>.also.
506c0 64 69 73 61 62 6c 65 73 20 74 68 65 20 49 4e 54 52 2c 20 51 55 49 54 2c 20 61 6e 64 20 53 55 53 disables.the.INTR,.QUIT,.and.SUS
506e0 50 20 63 68 61 72 61 63 74 65 72 73 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 65 72 P.characters.on.the..........ter
50700 6d 69 6e 61 6c 20 75 73 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e 49 53 49 47 3c 2f 43 4f 44 45 minal.using.the.<CODE>ISIG</CODE
50720 3e 20 74 65 72 6d 69 6e 61 6c 20 61 74 74 72 69 62 75 74 65 20 2e 0a 20 20 20 20 20 20 20 20 20 >.terminal.attribute............
50740 54 68 65 20 74 65 72 6d 69 6e 61 6c 20 69 73 20 66 6c 75 73 68 65 64 20 62 65 66 6f 72 65 20 61 The.terminal.is.flushed.before.a
50760 6e 64 20 61 66 74 65 72 20 3c 43 4f 44 45 3e 67 65 74 70 61 73 73 3c 2f 43 4f 44 45 3e 2c 20 73 nd.after.<CODE>getpass</CODE>,.s
50780 6f 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 61 20 o.that..........characters.of.a.
507a0 6d 69 73 74 79 70 65 64 20 70 61 73 73 77 6f 72 64 20 61 72 65 20 6e 6f 74 20 61 63 63 69 64 65 mistyped.password.are.not.accide
507c0 6e 74 61 6c 6c 79 20 76 69 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ntally.visible...........<br><br
507e0 3e 20 49 6e 20 6f 74 68 65 72 20 43 20 6c 69 62 72 61 72 69 65 73 2c 20 3c 43 4f 44 45 3e 67 65 >.In.other.C.libraries,.<CODE>ge
50800 74 70 61 73 73 3c 2f 43 4f 44 45 3e 20 6d 61 79 20 6f 6e 6c 79 20 72 65 74 75 72 6e 20 74 68 65 tpass</CODE>.may.only.return.the
50820 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 50 41 53 53 5f 4d 41 58 3c 2f .first..........<CODE>PASS_MAX</
50840 43 4f 44 45 3e 20 62 79 74 65 73 20 6f 66 20 61 20 70 61 73 73 77 6f 72 64 2e 20 20 54 68 65 20 CODE>.bytes.of.a.password...The.
50860 47 4e 55 20 43 20 6c 69 62 72 61 72 79 20 68 61 73 20 6e 6f 20 6c 69 6d 69 74 2c 20 73 6f 0a 20 GNU.C.library.has.no.limit,.so..
50880 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 50 41 53 53 5f 4d 41 58 3c 2f 43 4f 44 45 3e 20 69 73 ........<CODE>PASS_MAX</CODE>.is
508a0 20 75 6e 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 .undefined...........<br><br>.Th
508c0 65 20 70 72 6f 74 6f 74 79 70 65 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 e.prototype.for.this.function.is
508e0 20 69 6e 20 3c 54 54 3e 75 6e 69 73 74 64 2e 68 3c 2f 54 54 3e 2e 20 20 3c 43 4f 44 45 3e 50 41 .in.<TT>unistd.h</TT>...<CODE>PA
50900 53 53 5f 4d 41 58 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20 62 65 20 SS_MAX</CODE>..........would.be.
50920 64 65 66 69 6e 65 64 20 69 6e 20 3c 54 54 3e 6c 69 6d 69 74 73 2e 68 3c 2f 54 54 3e 2e 0a 20 20 defined.in.<TT>limits.h</TT>....
50940 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e ......sq.~......w.....t..unistd.
50960 68 78 71 00 7e 0c d6 74 00 12 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 72 6f 6d 70 74 74 00 06 63 hxq.~..t..const.char.*promptt..c
50980 68 61 72 20 2a 74 00 0b 67 65 74 70 65 65 72 6e 61 6d 65 73 71 00 7e 00 0a 70 74 04 92 0a 20 20 har.*t..getpeernamesq.~..pt.....
509a0 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 70 65 65 72 6e 61 6d 65 3c 2f 43 4f 44 ......The.<CODE>getpeername</COD
509c0 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 64 64 72 65 73 73 20 E>.function.returns.the.address.
509e0 6f 66 20 74 68 65 20 73 6f 63 6b 65 74 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 of.the.socket.that..........<VAR
50a00 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 3b 20 69 >socket</VAR>.is.connected.to;.i
50a20 74 20 73 74 6f 72 65 73 20 74 68 65 20 61 64 64 72 65 73 73 20 69 6e 20 74 68 65 20 6d 65 6d 6f t.stores.the.address.in.the.memo
50a40 72 79 20 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 62 79 20 3c ry.space..........specified.by.<
50a60 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6c 65 6e 67 74 68 2d 70 VAR>addr</VAR>.and.<VAR>length-p
50a80 74 72 3c 2f 56 41 52 3e 2e 20 20 49 74 20 73 74 6f 72 65 73 20 74 68 65 20 6c 65 6e 67 74 68 20 tr</VAR>...It.stores.the.length.
50aa0 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 61 64 64 72 65 73 73 20 69 6e 20 3c 43 4f 44 45 of..........the.address.in.<CODE
50ac0 3e 2a 3c 56 41 52 3e 6c 65 6e 67 74 68 2d 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a >*<VAR>length-ptr</VAR></CODE>..
50ae0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 2c 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 .........<br><br>.,.for.informat
50b00 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 0a 20 20 20 20 ion.about.the.format.of.the.....
50b20 20 20 20 20 20 61 64 64 72 65 73 73 2e 20 20 49 6e 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 .....address...In.some.operating
50b40 20 73 79 73 74 65 6d 73 2c 20 3c 43 4f 44 45 3e 67 65 74 70 65 65 72 6e 61 6d 65 3c 2f 43 4f 44 .systems,.<CODE>getpeername</COD
50b60 45 3e 20 77 6f 72 6b 73 20 6f 6e 6c 79 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 73 6f 63 6b 65 E>.works.only.for..........socke
50b80 74 73 20 69 6e 20 74 68 65 20 49 6e 74 65 72 6e 65 74 20 64 6f 6d 61 69 6e 2e 0a 20 20 20 20 20 ts.in.the.Internet.domain.......
50ba0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 ....<br><br>.The.return.value.is
50bc0 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c .<CODE>0</CODE>.on.success.and.<
50be0 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 65 72 72 6f 72 2e 20 20 54 68 65 0a 20 20 CODE>-1</CODE>.on.error...The...
50c00 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f .......following.<CODE>errno</CO
50c20 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 DE>.error.conditions.are.defined
50c40 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .for.this.function:..........<br
50c60 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 ><br>.<DL>...........<DT><CODE>E
50c80 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 72 BADF</CODE>.<DD>..........The.ar
50ca0 67 75 6d 65 6e 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 gument.<VAR>socket</VAR>.is.not.
50cc0 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 a.valid.file.descriptor.........
50ce0 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 53 4f 43 4b 3c 2f 43 ..<br><br>.<DT><CODE>ENOTSOCK</C
50d00 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 73 63 72 69 70 74 6f ODE>.<DD>..........The.descripto
50d20 72 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 73 6f 63 r.<VAR>socket</VAR>.is.not.a.soc
50d40 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 ket...........<br><br>.<DT><CODE
50d60 3e 45 4e 4f 54 43 4f 4e 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 >ENOTCONN</CODE>.<DD>..........T
50d80 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e he.socket.<VAR>socket</VAR>.is.n
50da0 6f 74 20 63 6f 6e 6e 65 63 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ot.connected...........<br><br>.
50dc0 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 42 55 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 <DT><CODE>ENOBUFS</CODE>.<DD>...
50de0 20 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 6e 74 65 .......There.are.not.enough.inte
50e00 72 6e 61 6c 20 62 75 66 66 65 72 73 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 rnal.buffers.available..........
50e20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 .</DL>.........sq.~......w.....t
50e40 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 0c dd 74 00 38 69 6e 74 20 73 6f 63 6b 65 ..sys/socket.hxq.~..t.8int.socke
50e60 74 2c 20 73 74 72 75 63 74 20 73 6f 63 6b 61 64 64 72 20 2a 61 64 64 72 2c 20 73 6f 63 6b 6c 65 t,.struct.sockaddr.*addr,.sockle
50e80 6e 5f 74 20 2a 6c 65 6e 67 74 68 2d 70 74 72 74 00 03 69 6e 74 74 00 06 67 65 74 70 69 64 73 71 n_t.*length-ptrt..intt..getpidsq
50ea0 00 7e 00 0a 70 74 00 61 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 70 69 .~..pt.a.........The.<CODE>getpi
50ec0 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 d</CODE>.function.returns.the.pr
50ee0 6f 63 65 73 73 20 49 44 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 63 65 73 73 2e ocess.ID.of.the.current.process.
50f00 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 0b 73 79 73 2f .........sq.~......w.....t..sys/
50f20 74 79 70 65 73 2e 68 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0c e4 74 00 04 76 6f 69 64 74 types.ht..unistd.hxq.~..t..voidt
50f40 00 05 70 69 64 5f 74 74 00 07 67 65 74 70 70 69 64 73 71 00 7e 00 0a 70 74 00 79 0a 20 20 20 20 ..pid_tt..getppidsq.~..pt.y.....
50f60 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 70 70 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e ....The.<CODE>getppid</CODE>.fun
50f80 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 49 44 20 6f 66 20 ction.returns.the.process.ID.of.
50fa0 74 68 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 the.parent.of.the..........curre
50fc0 6e 74 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 nt.process..........sq.~......w.
50fe0 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0c ec 74 00 04 76 6f 69 64 74 00 05 70 ....t..unistd.hxq.~..t..voidt..p
51000 69 64 5f 74 74 00 0b 67 65 74 70 72 69 6f 72 69 74 79 73 71 00 7e 00 0a 70 74 04 4d 0a 20 20 20 id_tt..getprioritysq.~..pt.M....
51020 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6e 69 63 65 20 76 61 6c 75 65 20 6f 66 20 61 20 .....Return.the.nice.value.of.a.
51040 73 65 74 20 6f 66 20 70 72 6f 63 65 73 73 65 73 3b 20 3c 56 41 52 3e 63 6c 61 73 73 3c 2f 56 41 set.of.processes;.<VAR>class</VA
51060 52 3e 20 61 6e 64 20 3c 56 41 52 3e 69 64 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 73 70 R>.and.<VAR>id</VAR>..........sp
51080 65 63 69 66 79 20 77 68 69 63 68 20 6f 6e 65 73 20 28 73 65 65 20 62 65 6c 6f 77 29 2e 20 20 49 ecify.which.ones.(see.below)...I
510a0 66 20 74 68 65 20 70 72 6f 63 65 73 73 65 73 20 73 70 65 63 69 66 69 65 64 20 64 6f 20 6e 6f 74 f.the.processes.specified.do.not
510c0 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 6e 69 63 65 .all..........have.the.same.nice
510e0 20 76 61 6c 75 65 2c 20 74 68 69 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 77 65 73 74 20 .value,.this.returns.the.lowest.
51100 76 61 6c 75 65 20 74 68 61 74 20 61 6e 79 20 6f 66 20 74 68 65 6d 0a 20 20 20 20 20 20 20 20 20 value.that.any.of.them..........
51120 68 61 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 73 75 63 63 65 73 has...........<br><br>.On.succes
51140 73 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f s,.the.return.value.is.<CODE>0</
51160 43 4f 44 45 3e 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20 3c 43 4f 44 45 3e 2d CODE>...Otherwise,.it.is.<CODE>-
51180 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 45 52 52 4e 1</CODE>..........and.<CODE>ERRN
511a0 4f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 54 68 O</CODE>.is.set.accordingly...Th
511c0 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 20 73 70 65 63 e.<CODE>errno</CODE>.values.spec
511e0 69 66 69 63 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 ific..........to.this.function.a
51200 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 re:..........<br><br>.<DL>......
51220 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 52 43 48 0a 20 20 20 20 20 20 20 20 20 54 68 .....<DT><CODE>ESRCH..........Th
51240 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 3c 56 41 52 3e 63 6c 61 73 73 3c 2f 56 41 52 e.combination.of.<VAR>class</VAR
51260 3e 20 61 6e 64 20 3c 56 41 52 3e 69 64 3c 2f 56 41 52 3e 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 >.and.<VAR>id</VAR>.does.not.mat
51280 63 68 20 61 6e 79 20 65 78 69 73 74 69 6e 67 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 ch.any.existing</CODE>.<DD>.....
512a0 20 20 20 20 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 .....process...........<br><br>.
512c0 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 <DT><CODE>EINVAL</CODE>.<DD>....
512e0 20 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 63 6c 61 73 73 3c 2f 56 ......The.value.of.<VAR>class</V
51300 41 52 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e AR>.is.not.valid...........</DL>
51320 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 72 65 74 75 72 6e ..........<br><br>.If.the.return
51340 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 63 6f .value.is.<CODE>-1</CODE>,.it.co
51360 75 6c 64 20 69 6e 64 69 63 61 74 65 20 66 61 69 6c 75 72 65 2c 20 6f 72 20 69 74 20 63 6f 75 6c uld.indicate.failure,.or.it.coul
51380 64 0a 20 20 20 20 20 20 20 20 20 62 65 20 74 68 65 20 6e 69 63 65 20 76 61 6c 75 65 2e 20 20 54 d..........be.the.nice.value...T
513a0 68 65 20 6f 6e 6c 79 20 77 61 79 20 74 6f 20 6d 61 6b 65 20 63 65 72 74 61 69 6e 20 69 73 20 74 he.only.way.to.make.certain.is.t
513c0 6f 20 73 65 74 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 20 3d 0a 20 20 20 20 20 20 20 20 20 30 3c 2f o.set.<CODE>errno.=..........0</
513e0 43 4f 44 45 3e 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 67 65 74 70 72 CODE>.before.calling.<CODE>getpr
51400 69 6f 72 69 74 79 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 6e 20 75 73 65 20 3c 43 4f 44 45 3e 65 72 iority</CODE>,.then.use.<CODE>er
51420 72 6e 6f 20 21 3d 20 30 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 66 74 65 72 77 61 rno.!=.0</CODE>..........afterwa
51440 72 64 20 61 73 20 74 68 65 20 63 72 69 74 65 72 69 6f 6e 20 66 6f 72 20 66 61 69 6c 75 72 65 2e rd.as.the.criterion.for.failure.
51460 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0e 73 79 73 2f .........sq.~......w.....t..sys/
51480 72 65 73 6f 75 72 63 65 2e 68 78 71 00 7e 0c f3 74 00 11 69 6e 74 20 63 6c 61 73 73 2c 20 69 6e resource.hxq.~..t..int.class,.in
514a0 74 20 69 64 74 00 03 69 6e 74 74 00 0e 67 65 74 70 72 6f 74 6f 62 79 6e 61 6d 65 73 71 00 7e 00 t.idt..intt..getprotobynamesq.~.
514c0 0a 70 74 00 cc 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 70 72 6f 74 6f .pt...........The.<CODE>getproto
514e0 62 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 byname</CODE>.function.returns.i
51500 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 65 nformation.about.the..........ne
51520 74 77 6f 72 6b 20 70 72 6f 74 6f 63 6f 6c 20 6e 61 6d 65 64 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f twork.protocol.named.<VAR>name</
51540 56 41 52 3e 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 70 72 6f 74 6f VAR>...If.there.is.no.such.proto
51560 63 6f 6c 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 col,.it..........returns.a.null.
51580 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 pointer..........sq.~......w....
515a0 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0c fa 74 00 10 63 6f 6e 73 74 20 63 68 61 72 20 2a .t..netdb.hxq.~..t..const.char.*
515c0 6e 61 6d 65 74 00 11 73 74 72 75 63 74 20 70 72 6f 74 6f 65 6e 74 20 2a 74 00 10 67 65 74 70 72 namet..struct.protoent.*t..getpr
515e0 6f 74 6f 62 79 6e 75 6d 62 65 72 73 71 00 7e 00 0a 70 74 00 d8 0a 20 20 20 20 20 20 20 20 54 68 otobynumbersq.~..pt...........Th
51600 65 20 3c 43 4f 44 45 3e 67 65 74 70 72 6f 74 6f 62 79 6e 75 6d 62 65 72 3c 2f 43 4f 44 45 3e 20 e.<CODE>getprotobynumber</CODE>.
51620 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f function.returns.information.abo
51640 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 65 74 77 6f 72 6b 20 70 72 6f 74 6f 63 6f 6c ut.the..........network.protocol
51660 20 77 69 74 68 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 70 72 6f 74 6f 63 6f 6c 3c 2f 56 41 52 3e .with.number.<VAR>protocol</VAR>
51680 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 0a 20 20 20 20 20 20 20 20 20 ...If.there.is.no.such..........
516a0 70 72 6f 74 6f 63 6f 6c 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e protocol,.it.returns.a.null.poin
516c0 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 ter..........sq.~......w.....t..
516e0 6e 65 74 64 62 2e 68 78 71 00 7e 0d 01 74 00 0c 69 6e 74 20 70 72 6f 74 6f 63 6f 6c 74 00 11 73 netdb.hxq.~..t..int.protocolt..s
51700 74 72 75 63 74 20 70 72 6f 74 6f 65 6e 74 20 2a 74 00 0b 67 65 74 70 72 6f 74 6f 65 6e 74 73 71 truct.protoent.*t..getprotoentsq
51720 00 7e 00 0a 70 74 00 93 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 .~..pt...........This.function.r
51740 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 70 72 6f eturns.the.next.entry.in.the.pro
51760 74 6f 63 6f 6c 73 20 64 61 74 61 62 61 73 65 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 72 65 tocols.database...It..........re
51780 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 74 68 65 72 65 20 61 72 turns.a.null.pointer.if.there.ar
517a0 65 20 6e 6f 20 6d 6f 72 65 20 65 6e 74 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 e.no.more.entries..........sq.~.
517c0 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0d 08 74 00 04 76 6f .....w.....t..netdb.hxq.~..t..vo
517e0 69 64 74 00 11 73 74 72 75 63 74 20 70 72 6f 74 6f 65 6e 74 20 2a 74 00 05 67 65 74 70 74 73 71 idt..struct.protoent.*t..getptsq
51800 00 7e 00 0a 70 74 02 46 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 70 74 .~..pt.F.........The.<CODE>getpt
51820 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 65 77 20 66 </CODE>.function.returns.a.new.f
51840 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 66 6f 72 20 74 68 65 20 6e 65 78 74 0a 20 20 20 20 ile.descriptor.for.the.next.....
51860 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 6d 61 73 74 65 72 20 70 73 65 75 64 6f 2d 74 65 72 .....available.master.pseudo-ter
51880 6d 69 6e 61 6c 2e 20 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 minal...The.normal.return.value.
518a0 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 70 74 3c 2f 43 4f 44 45 3e from..........<CODE>getpt</CODE>
518c0 20 69 73 20 61 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 20 66 69 6c 65 20 .is.a.non-negative.integer.file.
518e0 64 65 73 63 72 69 70 74 6f 72 2e 20 20 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 0a 20 20 20 20 descriptor...In.the.case.of.....
51900 20 20 20 20 20 61 6e 20 65 72 72 6f 72 2c 20 61 20 76 61 6c 75 65 20 6f 66 20 2d 31 20 69 73 20 .....an.error,.a.value.of.-1.is.
51920 72 65 74 75 72 6e 65 64 20 69 6e 73 74 65 61 64 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 returned.instead...The.following
51940 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 63 6f 6e ..........<CODE>errno</CODE>.con
51960 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e ditions.are.defined.for.this.fun
51980 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 ction:..........<br><br>.<DL>...
519a0 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 45 4e 54 3c 2f 43 4f 44 45 3e 0a ........<DT><CODE>ENOENT</CODE>.
519c0 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 6e 6f 20 66 72 65 65 20 <DD>..........There.are.no.free.
519e0 6d 61 73 74 65 72 20 70 73 65 75 64 6f 2d 74 65 72 6d 69 6e 61 6c 73 20 61 76 61 69 6c 61 62 6c master.pseudo-terminals.availabl
51a00 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c e...........</DL>..........<br><
51a20 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e br>.This.function.is.a.GNU.exten
51a40 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 sion..........sq.~......w.....t.
51a60 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 0d 0f 74 00 04 76 6f 69 64 74 00 03 69 6e 74 74 00 08 67 .stdlib.hxq.~..t..voidt..intt..g
51a80 65 74 70 77 65 6e 74 73 71 00 7e 00 0a 70 74 01 d0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 etpwentsq.~..pt...........The.<C
51aa0 4f 44 45 3e 67 65 74 70 77 65 6e 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 ODE>getpwent</CODE>.function.rea
51ac0 64 73 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 66 72 6f 6d 20 74 68 65 20 73 74 72 65 61 ds.the.next.entry.from.the.strea
51ae0 6d 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 79 20 3c 43 4f 44 45 3e m..........initialized.by.<CODE>
51b00 73 65 74 70 77 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 61 20 70 setpwent</CODE>...It.returns.a.p
51b20 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 65 6e 74 72 79 2e 20 20 54 68 65 0a 20 20 20 20 20 20 ointer.to.the.entry...The.......
51b40 20 20 20 73 74 72 75 63 74 75 72 65 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 ...structure.is.statically.alloc
51b60 61 74 65 64 20 61 6e 64 20 69 73 20 72 65 77 72 69 74 74 65 6e 20 6f 6e 20 73 75 62 73 65 71 75 ated.and.is.rewritten.on.subsequ
51b80 65 6e 74 20 63 61 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 70 ent.calls..........to.<CODE>getp
51ba0 77 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 20 6d 75 73 74 20 63 6f 70 79 20 74 68 65 20 went</CODE>...You.must.copy.the.
51bc0 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 69 66 20 79 6f 75 contents.of.the.structure.if.you
51be0 0a 20 20 20 20 20 20 20 20 20 77 69 73 68 20 74 6f 20 73 61 76 65 20 74 68 65 20 69 6e 66 6f 72 ..........wish.to.save.the.infor
51c00 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 6e 75 6c 6c mation...........<br><br>.A.null
51c20 20 70 6f 69 6e 74 65 72 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 68 65 6e 20 6e 6f 20 6d 6f 72 .pointer.is.returned.when.no.mor
51c40 65 20 65 6e 74 72 69 65 73 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 e.entries.are.available.........
51c60 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 70 77 64 2e 68 78 71 00 7e 0d 16 74 .sq.~......w.....t..pwd.hxq.~..t
51c80 00 04 76 6f 69 64 74 00 0f 73 74 72 75 63 74 20 70 61 73 73 77 64 20 2a 74 00 0a 67 65 74 70 77 ..voidt..struct.passwd.*t..getpw
51ca0 65 6e 74 5f 72 73 71 00 7e 00 0a 70 74 01 b0 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e ent_rsq.~..pt...........This.fun
51cc0 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 70 77 65 ction.is.similar.to.<CODE>getpwe
51ce0 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 nt</CODE>.in.that.it.returns.the
51d00 20 6e 65 78 74 0a 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 20 66 72 6f 6d 20 74 68 65 20 73 74 .next..........entry.from.the.st
51d20 72 65 61 6d 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 79 20 3c 43 4f 44 45 3e 73 65 74 70 77 65 ream.initialized.by.<CODE>setpwe
51d40 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 4c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e nt</CODE>...Like..........<CODE>
51d60 66 67 65 74 70 77 65 6e 74 5f 72 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 75 73 65 73 20 74 68 65 20 fgetpwent_r</CODE>,.it.uses.the.
51d80 75 73 65 72 2d 73 75 70 70 6c 69 65 64 20 62 75 66 66 65 72 73 20 69 6e 0a 20 20 20 20 20 20 20 user-supplied.buffers.in........
51da0 20 20 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 ..<VAR>result_buf</VAR>.and.<VAR
51dc0 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 66 6f >buffer</VAR>.to.return.the.info
51de0 72 6d 61 74 69 6f 6e 20 72 65 71 75 65 73 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e rmation.requested...........<br>
51e00 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 20 73 <br>.The.return.values.are.the.s
51e20 61 6d 65 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 66 67 65 74 70 77 65 6e 74 5f 72 3c 2f 43 4f ame.as.for.<CODE>fgetpwent_r</CO
51e40 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 DE>...........<br><br>.........s
51e60 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 70 77 64 2e 68 78 71 00 7e 0d 1d 74 00 4b q.~......w.....t..pwd.hxq.~..t.K
51e80 73 74 72 75 63 74 20 70 61 73 73 77 64 20 2a 72 65 73 75 6c 74 5f 62 75 66 2c 20 63 68 61 72 20 struct.passwd.*result_buf,.char.
51ea0 2a 62 75 66 66 65 72 2c 20 69 6e 74 20 62 75 66 6c 65 6e 2c 20 73 74 72 75 63 74 20 70 61 73 73 *buffer,.int.buflen,.struct.pass
51ec0 77 64 20 2a 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 08 67 65 74 70 77 6e 61 6d 73 71 00 7e wd.**resultt..intt..getpwnamsq.~
51ee0 00 0a 70 74 01 64 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 ..pt.d.........This.function.ret
51f00 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 61 74 69 63 61 6c 6c 79 2d 61 urns.a.pointer.to.a.statically-a
51f20 6c 6c 6f 63 61 74 65 64 20 73 74 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 llocated.structure..........cont
51f40 61 69 6e 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 75 73 65 aining.information.about.the.use
51f60 72 20 77 68 6f 73 65 20 75 73 65 72 20 6e 61 6d 65 20 69 73 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f r.whose.user.name.is.<VAR>name</
51f80 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 73 74 72 75 63 74 75 72 65 20 6d 61 VAR>...........This.structure.ma
51fa0 79 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 6f 6e 20 73 75 62 73 65 71 75 65 6e 74 20 63 y.be.overwritten.on.subsequent.c
51fc0 61 6c 6c 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 70 77 6e 61 6d 3c alls.to..........<CODE>getpwnam<
51fe0 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 6e 75 6c 6c /CODE>...........<br><br>.A.null
52000 20 70 6f 69 6e 74 65 72 20 72 65 74 75 72 6e 20 69 6e 64 69 63 61 74 65 73 20 74 68 65 72 65 20 .pointer.return.indicates.there.
52020 69 73 20 6e 6f 20 75 73 65 72 20 6e 61 6d 65 64 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e is.no.user.named.<VAR>name</VAR>
52040 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 70 77 64 ..........sq.~......w.....t..pwd
52060 2e 68 78 71 00 7e 0d 24 74 00 10 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 74 00 0f 73 74 .hxq.~.$t..const.char.*namet..st
52080 72 75 63 74 20 70 61 73 73 77 64 20 2a 74 00 0a 67 65 74 70 77 6e 61 6d 5f 72 73 71 00 7e 00 0a ruct.passwd.*t..getpwnam_rsq.~..
520a0 70 74 01 bb 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 pt...........This.function.is.si
520c0 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 70 77 6e 61 6d 3c 2f 43 4f 44 45 3e 20 69 milar.to.<CODE>getpwnam</CODE>.i
520e0 6e 20 74 68 61 74 20 69 73 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 n.that.is.returns..........infor
52100 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 75 73 65 72 20 77 68 6f 73 65 20 75 73 65 72 mation.about.the.user.whose.user
52120 20 6e 61 6d 65 20 69 73 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 48 6f 77 65 76 .name.is.<VAR>name</VAR>...Howev
52140 65 72 2c 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 70 77 75 69 64 er,.like..........<CODE>getpwuid
52160 5f 72 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 66 69 6c 6c 73 20 74 68 65 20 75 73 65 72 20 73 75 70 _r</CODE>,.it.fills.the.user.sup
52180 70 6c 69 65 64 20 62 75 66 66 65 72 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 72 plied.buffers.in..........<VAR>r
521a0 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 62 75 66 66 65 72 3c esult_buf</VAR>.and.<VAR>buffer<
521c0 2f 56 41 52 3e 20 77 69 74 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 73 74 65 /VAR>.with.the.information.inste
521e0 61 64 20 6f 66 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 61 20 73 74 61 74 69 63 20 62 75 ad.of.using..........a.static.bu
52200 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 ffer...........<br><br>.The.retu
52220 72 6e 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 3c 43 rn.values.are.the.same.as.for.<C
52240 4f 44 45 3e 67 65 74 70 77 75 69 64 5f 72 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 ODE>getpwuid_r</CODE>..........s
52260 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 70 77 64 2e 68 78 71 00 7e 0d 2b 74 00 60 q.~......w.....t..pwd.hxq.~.+t.`
52280 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 70 61 73 73 77 64 20 const.char.*name,.struct.passwd.
522a0 2a 72 65 73 75 6c 74 5f 62 75 66 2c 20 63 68 61 72 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f *result_buf,.char.*buffer,.size_
522c0 74 20 62 75 66 6c 65 6e 2c 20 73 74 72 75 63 74 20 70 61 73 73 77 64 20 2a 2a 72 65 73 75 6c 74 t.buflen,.struct.passwd.**result
522e0 74 00 03 69 6e 74 74 00 08 67 65 74 70 77 75 69 64 73 71 00 7e 00 0a 70 74 01 78 0a 20 20 20 20 t..intt..getpwuidsq.~..pt.x.....
52300 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e ....This.function.returns.a.poin
52320 74 65 72 20 74 6f 20 61 20 73 74 61 74 69 63 61 6c 6c 79 2d 61 6c 6c 6f 63 61 74 65 64 20 73 74 ter.to.a.statically-allocated.st
52340 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 69 6e 66 6f ructure..........containing.info
52360 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 75 73 65 72 20 77 68 6f 73 65 20 75 73 65 rmation.about.the.user.whose.use
52380 72 20 49 44 20 69 73 20 3c 56 41 52 3e 75 69 64 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 0a 20 20 r.ID.is.<VAR>uid</VAR>...This...
523a0 20 20 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 6d 61 79 20 62 65 20 6f 76 65 72 77 72 69 74 .......structure.may.be.overwrit
523c0 74 65 6e 20 6f 6e 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 ten.on.subsequent.calls.to.<CODE
523e0 3e 67 65 74 70 77 75 69 64 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c >getpwuid</CODE>...........<br><
52400 62 72 3e 20 41 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 76 61 6c 75 65 20 69 6e 64 69 63 61 74 br>.A.null.pointer.value.indicat
52420 65 73 20 74 68 65 72 65 20 69 73 20 6e 6f 20 75 73 65 72 20 69 6e 20 74 68 65 20 64 61 74 61 20 es.there.is.no.user.in.the.data.
52440 62 61 73 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 20 49 44 20 3c 56 41 52 3e base.with..........user.ID.<VAR>
52460 75 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 uid</VAR>..........sq.~......w..
52480 00 00 0a 74 00 05 70 77 64 2e 68 78 71 00 7e 0d 32 74 00 09 75 69 64 5f 74 20 75 69 64 74 00 0f ...t..pwd.hxq.~.2t..uid_t.uidt..
524a0 73 74 72 75 63 74 20 70 61 73 73 77 64 20 2a 74 00 0a 67 65 74 70 77 75 69 64 5f 72 73 71 00 7e struct.passwd.*t..getpwuid_rsq.~
524c0 00 0a 70 74 04 97 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 ..pt...........This.function.is.
524e0 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 70 77 75 69 64 3c 2f 43 4f 44 45 3e similar.to.<CODE>getpwuid</CODE>
52500 20 69 6e 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 69 6e 66 .in.that.it.returns..........inf
52520 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 75 73 65 72 20 77 68 6f 73 65 20 75 73 ormation.about.the.user.whose.us
52540 65 72 20 49 44 20 69 73 20 3c 56 41 52 3e 75 69 64 3c 2f 56 41 52 3e 2e 20 20 48 6f 77 65 76 65 er.ID.is.<VAR>uid</VAR>...Howeve
52560 72 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 66 69 6c 6c 73 20 74 68 65 20 75 73 65 72 20 73 75 r,.it..........fills.the.user.su
52580 70 70 6c 69 65 64 20 73 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c pplied.structure.pointed.to.by.<
525a0 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 20 77 69 74 68 0a 20 20 20 20 20 20 VAR>result_buf</VAR>.with.......
525c0 20 20 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 73 74 65 61 64 20 6f 66 20 75 73 ...the.information.instead.of.us
525e0 69 6e 67 20 61 20 73 74 61 74 69 63 20 62 75 66 66 65 72 2e 20 20 54 68 65 20 66 69 72 73 74 0a ing.a.static.buffer...The.first.
52600 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 6c 65 6e 3c 2f 56 41 52 3e 20 62 79 74 65 73 .........<VAR>buflen</VAR>.bytes
52620 20 6f 66 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 .of.the.additional.buffer.pointe
52640 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 d.to.by.<VAR>buffer</VAR>.......
52660 20 20 20 61 72 65 20 75 73 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 61 64 64 69 74 69 6f 6e 61 ...are.used.to.contain.additiona
52680 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 6e 6f 72 6d 61 6c 6c 79 20 73 74 72 69 6e 67 73 20 l.information,.normally.strings.
526a0 77 68 69 63 68 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 which.are..........pointed.to.by
526c0 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 73 74 72 75 .the.elements.of.the.result.stru
526e0 63 74 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 61 20 75 73 cture...........<br><br>.If.a.us
52700 65 72 20 77 69 74 68 20 49 44 20 3c 56 41 52 3e 75 69 64 3c 2f 56 41 52 3e 20 69 73 20 66 6f 75 er.with.ID.<VAR>uid</VAR>.is.fou
52720 6e 64 2c 20 74 68 65 20 70 6f 69 6e 74 65 72 20 72 65 74 75 72 6e 65 64 20 69 6e 0a 20 20 20 20 nd,.the.pointer.returned.in.....
52740 20 20 20 20 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f .....<VAR>result</VAR>.points.to
52760 20 74 68 65 20 72 65 63 6f 72 64 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 77 .the.record.which.contains.the.w
52780 61 6e 74 65 64 20 64 61 74 61 20 28 69 2e 65 2e 2c 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e anted.data.(i.e.,..........<VAR>
527a0 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 76 61 6c 75 65 20 result</VAR>.contains.the.value.
527c0 3c 56 41 52 3e 72 65 73 75 6c 74 5f 62 75 66 3c 2f 56 41 52 3e 29 2e 20 20 49 66 20 6e 6f 20 75 <VAR>result_buf</VAR>)...If.no.u
527e0 73 65 72 20 69 73 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 6f 72 20 69 66 20 61 6e 20 65 ser.is.found..........or.if.an.e
52800 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2c 20 74 68 65 20 70 6f 69 6e 74 65 72 20 72 65 74 75 72 rror.occurred,.the.pointer.retur
52820 6e 65 64 20 69 6e 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 ned.in.<VAR>result</VAR>.is.a.nu
52840 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 2e 20 20 54 68 65 20 66 75 6e 63 74 69 ll..........pointer...The.functi
52860 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 6f 72 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 on.returns.zero.or.an.error.code
52880 2e 20 20 49 66 20 74 68 65 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 ...If.the.buffer..........<VAR>b
528a0 75 66 66 65 72 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 73 6d 61 6c 6c 20 74 6f 20 63 6f 6e 74 uffer</VAR>.is.too.small.to.cont
528c0 61 69 6e 20 61 6c 6c 20 74 68 65 20 6e 65 65 64 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 ain.all.the.needed.information,.
528e0 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f 64 65 20 3c 43 4f 44 45 3e 45 52 the..........error.code.<CODE>ER
52900 41 4e 47 45 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 6e 64 20 3c 56 41 52 ANGE</CODE>.is.returned.and.<VAR
52920 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 >errno</VAR>.is.set.to..........
52940 3c 43 4f 44 45 3e 45 52 41 4e 47 45 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 <CODE>ERANGE</CODE>..........sq.
52960 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 70 77 64 2e 68 78 71 00 7e 0d 39 74 00 59 75 69 ~......w.....t..pwd.hxq.~.9t.Yui
52980 64 5f 74 20 75 69 64 2c 20 73 74 72 75 63 74 20 70 61 73 73 77 64 20 2a 72 65 73 75 6c 74 5f 62 d_t.uid,.struct.passwd.*result_b
529a0 75 66 2c 20 63 68 61 72 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 62 75 66 6c 65 6e 2c uf,.char.*buffer,.size_t.buflen,
529c0 20 73 74 72 75 63 74 20 70 61 73 73 77 64 20 2a 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 09 .struct.passwd.**resultt..intt..
529e0 67 65 74 72 6c 69 6d 69 74 73 71 00 7e 00 0a 70 74 02 3f 0a 20 20 20 20 20 20 20 20 52 65 61 64 getrlimitsq.~..pt.?.........Read
52a00 20 74 68 65 20 63 75 72 72 65 6e 74 20 61 6e 64 20 6d 61 78 69 6d 75 6d 20 6c 69 6d 69 74 73 20 .the.current.and.maximum.limits.
52a20 66 6f 72 20 74 68 65 20 72 65 73 6f 75 72 63 65 20 3c 56 41 52 3e 72 65 73 6f 75 72 63 65 3c 2f for.the.resource.<VAR>resource</
52a40 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 73 74 6f 72 65 20 74 68 65 6d 20 69 6e 20 VAR>..........and.store.them.in.
52a60 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 6c 70 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 <CODE>*<VAR>rlp</VAR></CODE>....
52a80 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 .......<br><br>.The.return.value
52aa0 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e .is.<CODE>0</CODE>.on.success.an
52ac0 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 d.<CODE>-1</CODE>.on.failure...T
52ae0 68 65 0a 20 20 20 20 20 20 20 20 20 6f 6e 6c 79 20 70 6f 73 73 69 62 6c 65 20 3c 43 4f 44 45 3e he..........only.possible.<CODE>
52b00 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 errno</CODE>.error.condition.is.
52b20 3c 43 4f 44 45 3e 45 46 41 55 4c 54 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 <CODE>EFAULT</CODE>...........<b
52b40 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 r><br>.When.the.sources.are.comp
52b60 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 iled.with.<CODE>_FILE_OFFSET_BIT
52b80 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 2d S.==.64</CODE>.on.a..........32-
52ba0 62 69 74 20 73 79 73 74 65 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 bit.system.this.function.is.in.f
52bc0 61 63 74 20 3c 43 4f 44 45 3e 67 65 74 72 6c 69 6d 69 74 36 34 3c 2f 43 4f 44 45 3e 2e 20 20 54 act.<CODE>getrlimit64</CODE>...T
52be0 68 75 73 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 4c 46 53 20 69 6e 74 65 72 66 61 63 65 20 hus,.the..........LFS.interface.
52c00 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 transparently.replaces.the.old.i
52c20 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 nterface..........sq.~......w...
52c40 00 0a 74 00 0e 73 79 73 2f 72 65 73 6f 75 72 63 65 2e 68 78 71 00 7e 0d 40 74 00 20 69 6e 74 20 ..t..sys/resource.hxq.~.@t..int.
52c60 72 65 73 6f 75 72 63 65 2c 20 73 74 72 75 63 74 20 72 6c 69 6d 69 74 20 2a 72 6c 70 74 00 03 69 resource,.struct.rlimit.*rlpt..i
52c80 6e 74 74 00 0b 67 65 74 72 6c 69 6d 69 74 36 34 73 71 00 7e 00 0a 70 74 02 0b 0a 20 20 20 20 20 ntt..getrlimit64sq.~..pt........
52ca0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c ...This.function.is.similar.to.<
52cc0 43 4f 44 45 3e 67 65 74 72 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 74 73 20 73 65 CODE>getrlimit</CODE>.but.its.se
52ce0 63 6f 6e 64 20 70 61 72 61 6d 65 74 65 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 20 70 6f 69 cond.parameter.is..........a.poi
52d00 6e 74 65 72 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 nter.to.a.variable.of.type.<CODE
52d20 3e 73 74 72 75 63 74 20 72 6c 69 6d 69 74 36 34 3c 2f 43 4f 44 45 3e 2c 20 77 68 69 63 68 20 61 >struct.rlimit64</CODE>,.which.a
52d40 6c 6c 6f 77 73 20 69 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 72 65 61 64 20 76 61 6c 75 65 73 llows.it..........to.read.values
52d60 20 77 68 69 63 68 20 77 6f 75 6c 64 6e 27 74 20 66 69 74 20 69 6e 20 74 68 65 20 6d 65 6d 62 65 .which.wouldn't.fit.in.the.membe
52d80 72 20 6f 66 20 61 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 72 6c 69 r.of.a.<CODE>struct..........rli
52da0 6d 69 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 mit</CODE>...........<br><br>.If
52dc0 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c .the.sources.are.compiled.with.<
52de0 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f CODE>_FILE_OFFSET_BITS.==.64</CO
52e00 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 2d 62 69 74 20 6d 61 63 68 69 6e 65 DE>.on.a..........32-bit.machine
52e20 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 ,.this.function.is.available.und
52e40 65 72 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 72 6c er.the.name..........<CODE>getrl
52e60 69 6d 69 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 imit</CODE>.and.so.transparently
52e80 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 .replaces.the.old.interface.....
52ea0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0e 73 79 73 2f 72 65 73 6f .....sq.~......w.....t..sys/reso
52ec0 75 72 63 65 2e 68 78 71 00 7e 0d 47 74 00 22 69 6e 74 20 72 65 73 6f 75 72 63 65 2c 20 73 74 72 urce.hxq.~.Gt."int.resource,.str
52ee0 75 63 74 20 72 6c 69 6d 69 74 36 34 20 2a 72 6c 70 74 00 03 69 6e 74 74 00 09 67 65 74 72 75 73 uct.rlimit64.*rlpt..intt..getrus
52f00 61 67 65 73 71 00 7e 00 0a 70 74 03 88 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 agesq.~..pt...........This.funct
52f20 69 6f 6e 20 72 65 70 6f 72 74 73 20 72 65 73 6f 75 72 63 65 20 75 73 61 67 65 20 74 6f 74 61 6c ion.reports.resource.usage.total
52f40 73 20 66 6f 72 20 70 72 6f 63 65 73 73 65 73 20 73 70 65 63 69 66 69 65 64 20 62 79 0a 20 20 20 s.for.processes.specified.by....
52f60 20 20 20 20 20 20 3c 56 41 52 3e 70 72 6f 63 65 73 73 65 73 3c 2f 56 41 52 3e 2c 20 73 74 6f 72 ......<VAR>processes</VAR>,.stor
52f80 69 6e 67 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 ing.the.information.in.<CODE>*<V
52fa0 41 52 3e 72 75 73 61 67 65 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 AR>rusage</VAR></CODE>..........
52fc0 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 6d 6f 73 74 20 73 79 73 74 65 6d 73 2c 20 3c 56 41 52 3e .<br><br>.In.most.systems,.<VAR>
52fe0 70 72 6f 63 65 73 73 65 73 3c 2f 56 41 52 3e 20 68 61 73 20 6f 6e 6c 79 20 74 77 6f 20 76 61 6c processes</VAR>.has.only.two.val
53000 69 64 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c id.values:..........<br><br>.<DL
53020 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 52 55 53 41 47 45 5f 53 45 4c >...........<DT><CODE>RUSAGE_SEL
53040 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4a 75 73 74 20 74 68 65 20 F</CODE>.<DD>..........Just.the.
53060 63 75 72 72 65 6e 74 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 current.process...........<br><b
53080 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 52 55 53 41 47 45 5f 43 48 49 4c 44 52 45 4e 3c 2f 43 4f r>.<DT><CODE>RUSAGE_CHILDREN</CO
530a0 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 6c 6c 20 63 68 69 6c 64 20 70 72 6f 63 DE>.<DD>..........All.child.proc
530c0 65 73 73 65 73 20 28 64 69 72 65 63 74 20 61 6e 64 20 69 6e 64 69 72 65 63 74 29 20 74 68 61 74 esses.(direct.and.indirect).that
530e0 20 68 61 76 65 20 61 6c 72 65 61 64 79 20 74 65 72 6d 69 6e 61 74 65 64 2e 0a 20 20 20 20 20 20 .have.already.terminated........
53100 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 74 68 ...</DL>..........<br><br>.In.th
53120 65 20 47 4e 55 20 73 79 73 74 65 6d 2c 20 79 6f 75 20 63 61 6e 20 61 6c 73 6f 20 69 6e 71 75 69 e.GNU.system,.you.can.also.inqui
53140 72 65 20 61 62 6f 75 74 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 68 69 6c 64 20 70 72 6f 63 re.about.a.particular.child.proc
53160 65 73 73 0a 20 20 20 20 20 20 20 20 20 62 79 20 73 70 65 63 69 66 79 69 6e 67 20 69 74 73 20 70 ess..........by.specifying.its.p
53180 72 6f 63 65 73 73 20 49 44 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 rocess.ID...........<br><br>.The
531a0 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 67 65 74 72 75 73 61 67 65 .return.value.of.<CODE>getrusage
531c0 3c 2f 43 4f 44 45 3e 20 69 73 20 7a 65 72 6f 20 66 6f 72 20 73 75 63 63 65 73 73 2c 20 61 6e 64 </CODE>.is.zero.for.success,.and
531e0 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 66 61 .<CODE>-1</CODE>..........for.fa
53200 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 ilure...........<br><br>.<DL>...
53220 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a ........<DT><CODE>EINVAL</CODE>.
53240 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e <DD>..........The.argument.<VAR>
53260 70 72 6f 63 65 73 73 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 processes</VAR>.is.not.valid....
53280 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 .......</DL>.........sq.~......w
532a0 04 00 00 00 0a 74 00 0e 73 79 73 2f 72 65 73 6f 75 72 63 65 2e 68 78 71 00 7e 0d 4e 74 00 24 69 .....t..sys/resource.hxq.~.Nt.$i
532c0 6e 74 20 70 72 6f 63 65 73 73 65 73 2c 20 73 74 72 75 63 74 20 72 75 73 61 67 65 20 2a 72 75 73 nt.processes,.struct.rusage.*rus
532e0 61 67 65 74 00 03 69 6e 74 74 00 0d 67 65 74 73 65 72 76 62 79 6e 61 6d 65 73 71 00 7e 00 0a 70 aget..intt..getservbynamesq.~..p
53300 74 01 7b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 73 65 72 76 62 79 6e t.{.........The.<CODE>getservbyn
53320 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f ame</CODE>.function.returns.info
53340 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 65 72 76 69 rmation.about.the..........servi
53360 63 65 20 6e 61 6d 65 64 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 20 75 73 69 6e 67 20 70 ce.named.<VAR>name</VAR>.using.p
53380 72 6f 74 6f 63 6f 6c 20 3c 56 41 52 3e 70 72 6f 74 6f 3c 2f 56 41 52 3e 2e 20 20 49 66 20 69 74 rotocol.<VAR>proto</VAR>...If.it
533a0 20 63 61 6e 27 74 20 66 69 6e 64 0a 20 20 20 20 20 20 20 20 20 73 75 63 68 20 61 20 73 65 72 76 .can't.find..........such.a.serv
533c0 69 63 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a ice,.it.returns.a.null.pointer..
533e0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .........<br><br>.This.function.
53400 69 73 20 75 73 65 66 75 6c 20 66 6f 72 20 73 65 72 76 65 72 73 20 61 73 20 77 65 6c 6c 20 61 73 is.useful.for.servers.as.well.as
53420 20 66 6f 72 20 63 6c 69 65 6e 74 73 3b 20 73 65 72 76 65 72 73 0a 20 20 20 20 20 20 20 20 20 75 .for.clients;.servers..........u
53440 73 65 20 69 74 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 70 6f 72 74 20 74 68 se.it.to.determine.which.port.th
53460 65 79 20 73 68 6f 75 6c 64 20 6c 69 73 74 65 6e 20 6f 6e 20 2e 0a 20 20 20 20 20 20 20 20 73 71 ey.should.listen.on...........sq
53480 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 0c 6e 65 74 69 6e 65 74 2f 69 6e 2e 68 74 00 07 .~......w.....t..netinet/in.ht..
534a0 6e 65 74 64 62 2e 68 78 71 00 7e 0d 55 74 00 23 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 netdb.hxq.~.Ut.#const.char.*name
534c0 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 72 6f 74 6f 74 00 10 73 74 72 75 63 74 20 73 65 72 ,.const.char.*protot..struct.ser
534e0 76 65 6e 74 20 2a 74 00 0d 67 65 74 73 65 72 76 62 79 70 6f 72 74 73 71 00 7e 00 0a 70 74 00 e7 vent.*t..getservbyportsq.~..pt..
53500 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 73 65 72 76 62 79 70 6f 72 74 .........The.<CODE>getservbyport
53520 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 </CODE>.function.returns.informa
53540 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 65 72 76 69 63 65 20 tion.about.the..........service.
53560 61 74 20 70 6f 72 74 20 3c 56 41 52 3e 70 6f 72 74 3c 2f 56 41 52 3e 20 75 73 69 6e 67 20 70 72 at.port.<VAR>port</VAR>.using.pr
53580 6f 74 6f 63 6f 6c 20 3c 56 41 52 3e 70 72 6f 74 6f 3c 2f 56 41 52 3e 2e 20 20 49 66 20 69 74 20 otocol.<VAR>proto</VAR>...If.it.
535a0 63 61 6e 27 74 0a 20 20 20 20 20 20 20 20 20 66 69 6e 64 20 73 75 63 68 20 61 20 73 65 72 76 69 can't..........find.such.a.servi
535c0 63 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 ce,.it.returns.a.null.pointer...
535e0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e .......sq.~......w.....t..netdb.
53600 68 78 71 00 7e 0d 5d 74 00 1b 69 6e 74 20 70 6f 72 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a hxq.~.]t..int.port,.const.char.*
53620 70 72 6f 74 6f 74 00 10 73 74 72 75 63 74 20 73 65 72 76 65 6e 74 20 2a 74 00 0a 67 65 74 73 65 protot..struct.servent.*t..getse
53640 72 76 65 6e 74 73 71 00 7e 00 0a 70 74 00 93 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e rventsq.~..pt...........This.fun
53660 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 69 6e 20 ction.returns.the.next.entry.in.
53680 74 68 65 20 73 65 72 76 69 63 65 73 20 64 61 74 61 62 61 73 65 2e 20 20 49 66 0a 20 20 20 20 20 the.services.database...If......
536a0 20 20 20 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 6f 72 65 20 65 6e 74 72 69 65 73 2c 20 69 ....there.are.no.more.entries,.i
536c0 74 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 t.returns.a.null.pointer........
536e0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e ..sq.~......w.....t..netdb.hxq.~
53700 0d 64 74 00 04 76 6f 69 64 74 00 10 73 74 72 75 63 74 20 73 65 72 76 65 6e 74 20 2a 74 00 06 67 .dt..voidt..struct.servent.*t..g
53720 65 74 73 69 64 73 71 00 7e 00 0a 70 74 03 a4 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e etsidsq.~..pt...........<br><br>
53740 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 73 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f .The.<CODE>getsid</CODE>.functio
53760 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 20 6f n.returns.the.process.group.ID.o
53780 66 20 74 68 65 20 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 6c 65 61 64 65 72 20 6f 66 f.the.session..........leader.of
537a0 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 70 72 6f 63 65 73 73 2e 20 20 49 66 20 61 20 3c 56 .the.specified.process...If.a.<V
537c0 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2c 20 AR>pid</VAR>.is.<CODE>0</CODE>,.
537e0 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 20 6f 66 the..........process.group.ID.of
53800 20 74 68 65 20 73 65 73 73 69 6f 6e 20 6c 65 61 64 65 72 20 6f 66 20 74 68 65 20 63 75 72 72 65 .the.session.leader.of.the.curre
53820 6e 74 20 70 72 6f 63 65 73 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 2e nt.process.is..........returned.
53840 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 63 61 73 65 20 6f 66 20 65 72 ..........<br><br>.In.case.of.er
53860 72 6f 72 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 ror.<CODE>-1</CODE>.is.returned.
53880 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 2e 20 20 and.<CODE>errno</CODE>.is.set...
538a0 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 The..........following.<CODE>err
538c0 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 no</CODE>.error.conditions.are.d
538e0 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 efined.for.this.function:.......
53900 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c ...<br><br>.<DL>...........<DT><
53920 43 4f 44 45 3e 45 53 52 43 48 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 CODE>ESRCH</CODE>.<DD>..........
53940 54 68 65 72 65 20 69 73 20 6e 6f 20 70 72 6f 63 65 73 73 20 77 69 74 68 20 74 68 65 20 67 69 76 There.is.no.process.with.the.giv
53960 65 6e 20 70 72 6f 63 65 73 73 20 49 44 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 en.process.ID.<VAR>pid</VAR>....
53980 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 0a 20 20 20 20 20 20 20 20 20 .......<DT><CODE>EPERM..........
539a0 54 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 61 6e 64 20 74 68 65 20 70 72 6f 63 The.calling.process.and.the.proc
539c0 65 73 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 ess.specified.by.<VAR>pid</VAR>.
539e0 61 72 65 20 69 6e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 64 69 66 66 are.in</CODE>.<DD>..........diff
53a00 65 72 65 6e 74 20 73 65 73 73 69 6f 6e 73 2c 20 61 6e 64 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e erent.sessions,.and.the.implemen
53a20 74 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 61 6c 6c 6f 77 20 74 6f 20 61 63 63 65 73 73 20 74 tation.doesn't.allow.to.access.t
53a40 68 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 20 6f 66 20 he..........process.group.ID.of.
53a60 74 68 65 20 73 65 73 73 69 6f 6e 20 6c 65 61 64 65 72 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 the.session.leader.of.the.proces
53a80 73 20 77 69 74 68 20 49 44 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 s.with.ID.<VAR>pid</VAR>........
53aa0 20 20 66 72 6f 6d 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 ..from.the.calling.process......
53ac0 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 .....</DL>.........sq.~......w..
53ae0 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0d 6b 74 00 09 70 69 64 5f 74 20 70 69 64 ...t..unistd.hxq.~.kt..pid_t.pid
53b00 74 00 05 70 69 64 5f 74 74 00 0b 67 65 74 73 6f 63 6b 6e 61 6d 65 73 71 00 7e 00 0a 70 74 05 da t..pid_tt..getsocknamesq.~..pt..
53b20 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 73 6f 63 6b 6e 61 6d 65 3c 2f .........The.<CODE>getsockname</
53b40 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 CODE>.function.returns.informati
53b60 6f 6e 20 61 62 6f 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 6f 66 on.about.the..........address.of
53b80 20 74 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 6e .the.socket.<VAR>socket</VAR>.in
53ba0 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 0a .the.locations.specified.by.the.
53bc0 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 .........<VAR>addr</VAR>.and.<VA
53be0 52 3e 6c 65 6e 67 74 68 2d 70 74 72 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 2e 20 20 4e R>length-ptr</VAR>.arguments...N
53c00 6f 74 65 20 74 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6c 65 6e 67 74 ote.that.the..........<VAR>lengt
53c20 68 2d 70 74 72 3c 2f 56 41 52 3e 20 69 73 20 61 20 70 6f 69 6e 74 65 72 3b 20 79 6f 75 20 73 68 h-ptr</VAR>.is.a.pointer;.you.sh
53c40 6f 75 6c 64 20 69 6e 69 74 69 61 6c 69 7a 65 20 69 74 20 74 6f 20 62 65 20 74 68 65 0a 20 20 20 ould.initialize.it.to.be.the....
53c60 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 73 69 7a 65 20 6f 66 20 3c 56 41 52 3e 61 64 ......allocation.size.of.<VAR>ad
53c80 64 72 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 6f 6e 20 72 65 74 75 72 6e 20 69 74 20 63 6f 6e 74 61 dr</VAR>,.and.on.return.it.conta
53ca0 69 6e 73 20 74 68 65 20 61 63 74 75 61 6c 0a 20 20 20 20 20 20 20 20 20 73 69 7a 65 20 6f 66 20 ins.the.actual..........size.of.
53cc0 74 68 65 20 61 64 64 72 65 73 73 20 64 61 74 61 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c the.address.data...........<br><
53ce0 62 72 3e 20 54 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 61 64 64 72 65 73 73 20 64 61 br>.The.format.of.the.address.da
53d00 74 61 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 73 6f 63 6b 65 74 20 6e 61 6d 65 73 70 61 ta.depends.on.the.socket.namespa
53d20 63 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 ce...The..........length.of.the.
53d40 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 75 73 75 61 6c 6c 79 20 66 69 78 65 64 20 66 6f 72 information.is.usually.fixed.for
53d60 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 73 70 61 63 65 2c 20 73 6f 0a 20 20 20 20 20 20 20 20 20 .a.given.namespace,.so..........
53d80 6e 6f 72 6d 61 6c 6c 79 20 79 6f 75 20 63 61 6e 20 6b 6e 6f 77 20 65 78 61 63 74 6c 79 20 68 6f normally.you.can.know.exactly.ho
53da0 77 20 6d 75 63 68 20 73 70 61 63 65 20 69 73 20 6e 65 65 64 65 64 20 61 6e 64 20 63 61 6e 20 70 w.much.space.is.needed.and.can.p
53dc0 72 6f 76 69 64 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 6d 75 63 68 2e 20 20 54 68 65 20 rovide..........that.much...The.
53de0 75 73 75 61 6c 20 70 72 61 63 74 69 63 65 20 69 73 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 61 20 usual.practice.is.to.allocate.a.
53e00 70 6c 61 63 65 20 66 6f 72 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 75 73 69 place.for.the.value..........usi
53e20 6e 67 20 74 68 65 20 70 72 6f 70 65 72 20 64 61 74 61 20 74 79 70 65 20 66 6f 72 20 74 68 65 20 ng.the.proper.data.type.for.the.
53e40 73 6f 63 6b 65 74 27 73 20 6e 61 6d 65 73 70 61 63 65 2c 20 74 68 65 6e 20 63 61 73 74 20 69 74 socket's.namespace,.then.cast.it
53e60 73 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 75 s..........address.to.<CODE>stru
53e80 63 74 20 73 6f 63 6b 61 64 64 72 20 2a 3c 2f 43 4f 44 45 3e 20 74 6f 20 70 61 73 73 20 69 74 20 ct.sockaddr.*</CODE>.to.pass.it.
53ea0 74 6f 20 3c 43 4f 44 45 3e 67 65 74 73 6f 63 6b 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 to.<CODE>getsockname</CODE>.....
53ec0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 ......<br><br>.The.return.value.
53ee0 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 is.<CODE>0</CODE>.on.success.and
53f00 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 65 72 72 6f 72 2e 20 20 54 68 65 0a .<CODE>-1</CODE>.on.error...The.
53f20 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f .........following.<CODE>errno</
53f40 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e CODE>.error.conditions.are.defin
53f60 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c ed.for.this.function:..........<
53f80 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 br><br>.<DL>...........<DT><CODE
53fa0 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 >EBADF</CODE>.<DD>..........The.
53fc0 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f <VAR>socket</VAR>.argument.is.no
53fe0 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 t.a.valid.file.descriptor.......
54000 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 53 4f 43 4b 3c ....<br><br>.<DT><CODE>ENOTSOCK<
54020 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 73 63 72 69 70 /CODE>.<DD>..........The.descrip
54040 74 6f 72 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 73 tor.<VAR>socket</VAR>.is.not.a.s
54060 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f ocket...........<br><br>.<DT><CO
54080 44 45 3e 45 4e 4f 42 55 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 DE>ENOBUFS</CODE>.<DD>..........
540a0 54 68 65 72 65 20 61 72 65 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 6e 74 65 72 6e 61 6c 20 62 75 There.are.not.enough.internal.bu
540c0 66 66 65 72 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 74 69 6f ffers.available.for.the.operatio
540e0 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f n...........</DL>.........sq.~..
54100 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 0d 72 74 ....w.....t..sys/socket.hxq.~.rt
54120 00 38 69 6e 74 20 73 6f 63 6b 65 74 2c 20 73 74 72 75 63 74 20 73 6f 63 6b 61 64 64 72 20 2a 61 .8int.socket,.struct.sockaddr.*a
54140 64 64 72 2c 20 73 6f 63 6b 6c 65 6e 5f 74 20 2a 6c 65 6e 67 74 68 2d 70 74 72 74 00 03 69 6e 74 ddr,.socklen_t.*length-ptrt..int
54160 74 00 0a 67 65 74 73 6f 63 6b 6f 70 74 73 71 00 7e 00 0a 70 74 04 b5 0a 20 20 20 20 20 20 20 20 t..getsockoptsq.~..pt...........
54180 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 73 6f 63 6b 6f 70 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 The.<CODE>getsockopt</CODE>.func
541a0 74 69 6f 6e 20 67 65 74 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 tion.gets.information.about.the.
541c0 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 20 3c 56 41 52 3e 6f 70 value.of..........option.<VAR>op
541e0 74 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 74 20 6c 65 76 65 6c 20 3c 56 41 52 3e 6c 65 76 65 6c 3c tname</VAR>.at.level.<VAR>level<
54200 2f 56 41 52 3e 20 66 6f 72 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 /VAR>.for.socket.<VAR>socket</VA
54220 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6f 70 74 69 6f 6e R>...........<br><br>.The.option
54240 20 76 61 6c 75 65 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 61 20 62 75 66 66 65 72 20 74 68 61 .value.is.stored.in.a.buffer.tha
54260 74 20 3c 56 41 52 3e 6f 70 74 76 61 6c 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 2e 0a 20 t.<VAR>optval</VAR>.points.to...
54280 20 20 20 20 20 20 20 20 42 65 66 6f 72 65 20 74 68 65 20 63 61 6c 6c 2c 20 79 6f 75 20 73 68 6f ........Before.the.call,.you.sho
542a0 75 6c 64 20 73 75 70 70 6c 79 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 6f 70 74 6c 65 6e uld.supply.in.<CODE>*<VAR>optlen
542c0 2d 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 -ptr</VAR></CODE>.the..........s
542e0 69 7a 65 20 6f 66 20 74 68 69 73 20 62 75 66 66 65 72 3b 20 6f 6e 20 72 65 74 75 72 6e 2c 20 69 ize.of.this.buffer;.on.return,.i
54300 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 6f t.contains.the.number.of.bytes.o
54320 66 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 63 74 75 61 6c 6c 79 20 f..........information.actually.
54340 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c stored.in.the.buffer...........<
54360 62 72 3e 3c 62 72 3e 20 4d 6f 73 74 20 6f 70 74 69 6f 6e 73 20 69 6e 74 65 72 70 72 65 74 20 74 br><br>.Most.options.interpret.t
54380 68 65 20 3c 56 41 52 3e 6f 70 74 76 61 6c 3c 2f 56 41 52 3e 20 62 75 66 66 65 72 20 61 73 20 61 he.<VAR>optval</VAR>.buffer.as.a
543a0 20 73 69 6e 67 6c 65 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 .single.<CODE>int</CODE>........
543c0 20 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 ..value...........<br><br>.The.a
543e0 63 74 75 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 67 65 74 73 ctual.return.value.of.<CODE>gets
54400 6f 63 6b 6f 70 74 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 ockopt</CODE>.is.<CODE>0</CODE>.
54420 6f 6e 20 73 75 63 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 on.success..........and.<CODE>-1
54440 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 </CODE>.on.failure...The.followi
54460 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 ng.<CODE>errno</CODE>.error.cond
54480 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 64 65 66 69 6e 65 64 3a 0a 20 20 20 itions..........are.defined:....
544a0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 ......<br><br>.<DL>...........<D
544c0 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 T><CODE>EBADF</CODE>.<DD>.......
544e0 20 20 20 54 68 65 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e ...The.<VAR>socket</VAR>.argumen
54500 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 t.is.not.a.valid.file.descriptor
54520 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e ...........<br><br>.<DT><CODE>EN
54540 4f 54 53 4f 43 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 OTSOCK</CODE>.<DD>..........The.
54560 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 descriptor.<VAR>socket</VAR>.is.
54580 6e 6f 74 20 61 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 not.a.socket...........<br><br>.
545a0 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 50 52 4f 54 4f 4f 50 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 <DT><CODE>ENOPROTOOPT</CODE>.<DD
545c0 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 6f 70 74 6e 61 6d 65 3c 2f 56 41 52 >..........The.<VAR>optname</VAR
545e0 3e 20 64 6f 65 73 6e 27 74 20 6d 61 6b 65 20 73 65 6e 73 65 20 66 6f 72 20 74 68 65 20 67 69 76 >.doesn't.make.sense.for.the.giv
54600 65 6e 20 3c 56 41 52 3e 6c 65 76 65 6c 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f en.<VAR>level</VAR>...........</
54620 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 DL>.........sq.~......w.....t..s
54640 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 0d 79 74 00 47 69 6e 74 20 73 6f 63 6b 65 74 2c 20 ys/socket.hxq.~.yt.Gint.socket,.
54660 69 6e 74 20 6c 65 76 65 6c 2c 20 69 6e 74 20 6f 70 74 6e 61 6d 65 2c 20 76 6f 69 64 20 2a 6f 70 int.level,.int.optname,.void.*op
54680 74 76 61 6c 2c 20 73 6f 63 6b 6c 65 6e 5f 74 20 2a 6f 70 74 6c 65 6e 2d 70 74 72 74 00 03 69 6e tval,.socklen_t.*optlen-ptrt..in
546a0 74 74 00 09 67 65 74 73 75 62 6f 70 74 73 71 00 7e 00 0a 70 74 05 eb 0a 20 20 20 20 20 20 20 20 tt..getsuboptsq.~..pt...........
546c0 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 6f 70 74 69 6f 6e 70 3c 2f 56 41 52 3e 20 <br><br>.The.<VAR>optionp</VAR>.
546e0 70 61 72 61 6d 65 74 65 72 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 parameter.must.be.a.pointer.to.a
54700 20 76 61 72 69 61 62 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 68 .variable.containing..........th
54720 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f 20 70 72 6f 63 65 e.address.of.the.string.to.proce
54740 73 73 2e 20 20 57 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 ss...When.the.function.returns.t
54760 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 65 20 69 73 20 75 70 64 61 74 65 64 he..........reference.is.updated
54780 20 74 6f 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6e 65 78 74 20 73 75 62 6f 70 74 69 6f 6e 20 .to.point.to.the.next.suboption.
547a0 6f 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 3c or.to.the..........terminating.<
547c0 73 61 6d 70 3e 5c 30 3c 2f 73 61 6d 70 3e 20 63 68 61 72 61 63 74 65 72 20 69 66 20 74 68 65 72 samp>\0</samp>.character.if.ther
547e0 65 20 69 73 20 6e 6f 20 6d 6f 72 65 20 73 75 62 6f 70 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 e.is.no.more.suboption.available
54800 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 74 6f 6b ...........<br><br>.The.<VAR>tok
54820 65 6e 73 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 72 65 66 65 72 65 6e 63 65 73 20 61 ens</VAR>.parameter.references.a
54840 6e 20 61 72 72 61 79 20 6f 66 20 73 74 72 69 6e 67 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 n.array.of.strings.containing.th
54860 65 0a 20 20 20 20 20 20 20 20 20 6b 6e 6f 77 6e 20 73 75 62 6f 70 74 69 6f 6e 73 2e 20 20 41 6c e..........known.suboptions...Al
54880 6c 20 73 74 72 69 6e 67 73 20 6d 75 73 74 20 62 65 20 3c 73 61 6d 70 3e 5c 30 3c 2f 73 61 6d 70 l.strings.must.be.<samp>\0</samp
548a0 3e 20 74 65 72 6d 69 6e 61 74 65 64 20 61 6e 64 20 74 6f 20 6d 61 72 6b 0a 20 20 20 20 20 20 20 >.terminated.and.to.mark........
548c0 20 20 74 68 65 20 65 6e 64 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 6d 75 73 74 20 62 65 ..the.end.a.null.pointer.must.be
548e0 20 73 74 6f 72 65 64 2e 20 20 57 68 65 6e 20 3c 43 4f 44 45 3e 67 65 74 73 75 62 6f 70 74 3c 2f .stored...When.<CODE>getsubopt</
54900 43 4f 44 45 3e 20 66 69 6e 64 73 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c 65 20 CODE>.finds.a..........possible.
54920 6c 65 67 61 6c 20 73 75 62 6f 70 74 69 6f 6e 20 69 74 20 63 6f 6d 70 61 72 65 73 20 69 74 20 77 legal.suboption.it.compares.it.w
54940 69 74 68 20 61 6c 6c 20 73 74 72 69 6e 67 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 0a 20 20 20 ith.all.strings.available.in....
54960 20 20 20 20 20 20 74 68 65 20 3c 56 41 52 3e 74 6f 6b 65 6e 73 3c 2f 56 41 52 3e 20 61 72 72 61 ......the.<VAR>tokens</VAR>.arra
54980 79 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 73 y.and.returns.the.index.in.the.s
549a0 74 72 69 6e 67 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 6f 72 2e tring.as.the..........indicator.
549c0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 63 61 73 65 20 74 68 65 20 73 ..........<br><br>.In.case.the.s
549e0 75 62 6f 70 74 69 6f 6e 20 68 61 73 20 61 6e 20 61 73 73 6f 63 69 61 74 65 64 20 76 61 6c 75 65 uboption.has.an.associated.value
54a00 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 61 20 3c 73 61 6d 70 3e 3d 3c 2f 73 61 6d 70 3e 0a .introduced.by.a.<samp>=</samp>.
54a20 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 2c 20 61 20 70 6f 69 6e 74 65 72 20 74 6f .........character,.a.pointer.to
54a40 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 3c 56 41 52 3e 76 .the.value.is.returned.in.<VAR>v
54a60 61 6c 75 65 70 3c 2f 56 41 52 3e 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e aluep</VAR>...The..........strin
54a80 67 20 69 73 20 3c 73 61 6d 70 3e 5c 30 3c 2f 73 61 6d 70 3e 20 74 65 72 6d 69 6e 61 74 65 64 2e g.is.<samp>\0</samp>.terminated.
54aa0 20 20 49 66 20 6e 6f 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 ..If.no.argument.is.available...
54ac0 20 20 20 20 20 20 20 3c 56 41 52 3e 76 61 6c 75 65 70 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 20 .......<VAR>valuep</VAR>.is.set.
54ae0 74 6f 20 74 68 65 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 20 20 42 79 20 64 6f 69 6e 67 20 74 to.the.null.pointer...By.doing.t
54b00 68 69 73 20 74 68 65 20 63 61 6c 6c 65 72 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 63 68 65 63 his.the.caller.can..........chec
54b20 6b 20 77 68 65 74 68 65 72 20 61 20 6e 65 63 65 73 73 61 72 79 20 76 61 6c 75 65 20 69 73 20 67 k.whether.a.necessary.value.is.g
54b40 69 76 65 6e 20 6f 72 20 77 68 65 74 68 65 72 20 6e 6f 20 75 6e 65 78 70 65 63 74 65 64 20 76 61 iven.or.whether.no.unexpected.va
54b60 6c 75 65 0a 20 20 20 20 20 20 20 20 20 69 73 20 70 72 65 73 65 6e 74 2e 0a 20 20 20 20 20 20 20 lue..........is.present.........
54b80 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 63 61 73 65 20 74 68 65 20 6e 65 78 74 20 73 75 62 6f ..<br><br>.In.case.the.next.subo
54ba0 70 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 6e 6f 74 20 6d 65 6e 74 69 ption.in.the.string.is.not.menti
54bc0 6f 6e 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 6f 6b 65 6e 73 oned.in.the..........<VAR>tokens
54be0 3c 2f 56 41 52 3e 20 61 72 72 61 79 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 61 64 64 72 65 73 </VAR>.array.the.starting.addres
54c00 73 20 6f 66 20 74 68 65 20 73 75 62 6f 70 74 69 6f 6e 20 69 6e 63 6c 75 64 69 6e 67 20 61 0a 20 s.of.the.suboption.including.a..
54c20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 20 69 73 20 72 65 74 75 72 6e ........possible.value.is.return
54c40 65 64 20 69 6e 20 3c 56 41 52 3e 76 61 6c 75 65 70 3c 2f 56 41 52 3e 20 61 6e 64 20 74 68 65 20 ed.in.<VAR>valuep</VAR>.and.the.
54c60 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e return.value.of.the..........fun
54c80 63 74 69 6f 6e 20 69 73 20 3c 73 61 6d 70 3e 2d 31 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 ction.is.<samp>-1</samp>........
54ca0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 ..sq.~......w.....t..stdlib.hxq.
54cc0 7e 0d 80 74 00 38 63 68 61 72 20 2a 2a 6f 70 74 69 6f 6e 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 ~..t.8char.**optionp,.const.char
54ce0 2a 20 63 6f 6e 73 74 20 2a 74 6f 6b 65 6e 73 2c 20 63 68 61 72 20 2a 2a 76 61 6c 75 65 70 74 00 *.const.*tokens,.char.**valuept.
54d00 03 69 6e 74 74 00 07 67 65 74 74 65 78 74 73 71 00 7e 00 0a 70 74 07 44 0a 20 20 20 20 20 20 20 .intt..gettextsq.~..pt.D........
54d20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 .The.<CODE>gettext</CODE>.functi
54d40 6f 6e 20 73 65 61 72 63 68 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 on.searches.the.currently.select
54d60 65 64 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 63 61 74 61 6c 6f 67 73 20 66 6f 72 ed.message..........catalogs.for
54d80 20 61 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 69 73 20 65 71 75 61 6c 20 74 6f 20 3c 56 41 52 .a.string.which.is.equal.to.<VAR
54da0 3e 6d 73 67 69 64 3c 2f 56 41 52 3e 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 73 75 63 68 20 >msgid</VAR>...If.there.is.such.
54dc0 61 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 69 74 20 69 a..........string.available.it.i
54de0 73 20 72 65 74 75 72 6e 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 61 72 67 75 6d s.returned...Otherwise.the.argum
54e00 65 6e 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6d 73 67 69 64 3c 2f ent.string..........<VAR>msgid</
54e20 56 41 52 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c VAR>.is.returned...........<br><
54e40 62 72 3e 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 61 6c 6c 20 74 68 6f 75 67 68 20 br>.Please.note.that.all.though.
54e60 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 63 68 61 72 20 2a the.return.value.is.<CODE>char.*
54e80 3c 2f 43 4f 44 45 3e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 73 74 </CODE>.the..........returned.st
54ea0 72 69 6e 67 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2e 20 20 54 68 69 73 20 ring.must.not.be.changed...This.
54ec0 62 72 6f 6b 65 6e 20 74 79 70 65 20 72 65 73 75 6c 74 73 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 broken.type.results.from.the....
54ee0 20 20 20 20 20 20 68 69 73 74 6f 72 79 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e ......history.of.the.function.an
54f00 64 20 64 6f 65 73 20 6e 6f 74 20 72 65 66 6c 65 63 74 20 74 68 65 20 77 61 79 20 74 68 65 20 66 d.does.not.reflect.the.way.the.f
54f20 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 62 65 20 75 73 65 64 2e unction.should..........be.used.
54f40 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 ..........<br><br>.Please.note.t
54f60 68 61 74 20 61 62 6f 76 65 20 77 65 20 77 72 6f 74 65 20 60 60 6d 65 73 73 61 67 65 20 63 61 74 hat.above.we.wrote.``message.cat
54f80 61 6c 6f 67 73 27 27 20 28 70 6c 75 72 61 6c 29 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 alogs''.(plural)...This.is......
54fa0 20 20 20 20 61 20 73 70 65 63 69 61 6c 74 79 20 6f 66 20 74 68 65 20 47 4e 55 20 69 6d 70 6c 65 ....a.specialty.of.the.GNU.imple
54fc0 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 mentation.of.these.functions.and
54fe0 20 77 65 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 73 61 79 20 6d 6f 72 65 20 61 62 6f 75 74 .we.will..........say.more.about
55000 20 74 68 69 73 20 77 68 65 6e 20 77 65 20 74 61 6c 6b 20 61 62 6f 75 74 20 74 68 65 20 77 61 79 .this.when.we.talk.about.the.way
55020 73 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 s.message.catalogs.are..........
55040 73 65 6c 65 63 74 65 64 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 selected............<br><br>.The
55060 20 3c 43 4f 44 45 3e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 .<CODE>gettext</CODE>.function.d
55080 6f 65 73 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 oes.not.modify.the.value.of.the.
550a0 67 6c 6f 62 61 6c 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e global..........<VAR>errno</VAR>
550c0 20 76 61 72 69 61 62 6c 65 2e 20 20 54 68 69 73 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f .variable...This.is.necessary.to
550e0 20 6d 61 6b 65 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 77 72 69 74 65 0a 20 20 20 20 20 .make.it.possible.to.write......
55100 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ....something.like..........<br>
55120 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 66 <br>.<pre><br>............printf
55140 20 28 67 65 74 74 65 78 74 20 28 22 4f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 3a 20 25 6d .(gettext.("Operation.failed:.%m
55160 5c 6e 22 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 \n"));<br>..........</pre>......
55180 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 48 65 72 65 20 74 68 65 20 3c 56 41 52 3e 65 72 72 6e 6f ....<br><br>.Here.the.<VAR>errno
551a0 3c 2f 56 41 52 3e 20 76 61 6c 75 65 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 3c 43 4f 44 </VAR>.value.is.used.in.the.<COD
551c0 45 3e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 6c 65 0a 20 E>printf</CODE>.function.while..
551e0 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e 25 6d 3c ........processing.the.<CODE>%m<
55200 2f 43 4f 44 45 3e 20 66 6f 72 6d 61 74 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 69 66 20 74 68 65 /CODE>.format.element.and.if.the
55220 20 3c 43 4f 44 45 3e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 .<CODE>gettext</CODE>..........f
55240 75 6e 63 74 69 6f 6e 20 77 6f 75 6c 64 20 63 68 61 6e 67 65 20 74 68 69 73 20 76 61 6c 75 65 20 unction.would.change.this.value.
55260 28 69 74 20 69 73 20 63 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 3c 43 4f 44 45 3e 70 72 69 6e 74 (it.is.called.before.<CODE>print
55280 66 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 29 20 77 65 20 f</CODE>.is..........called).we.
552a0 77 6f 75 6c 64 20 67 65 74 20 61 20 77 72 6f 6e 67 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 would.get.a.wrong.message.......
552c0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 65 61 73 79 ....<br><br>.So.there.is.no.easy
552e0 20 77 61 79 20 74 6f 20 64 65 74 65 63 74 20 61 20 6d 69 73 73 69 6e 67 20 6d 65 73 73 61 67 65 .way.to.detect.a.missing.message
55300 20 63 61 74 61 6c 6f 67 20 62 65 73 69 64 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 70 61 72 69 .catalog.beside..........compari
55320 6e 67 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 73 74 72 69 6e 67 20 77 69 74 68 20 74 68 65 20 ng.the.argument.string.with.the.
55340 72 65 73 75 6c 74 2e 20 20 42 75 74 20 69 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 74 68 65 0a result...But.it.is.normally.the.
55360 20 20 20 20 20 20 20 20 20 74 61 73 6b 20 6f 66 20 74 68 65 20 75 73 65 72 20 74 6f 20 72 65 61 .........task.of.the.user.to.rea
55380 63 74 20 6f 6e 20 6d 69 73 73 69 6e 67 20 63 61 74 61 6c 6f 67 73 2e 20 20 54 68 65 20 70 72 6f ct.on.missing.catalogs...The.pro
553a0 67 72 61 6d 20 63 61 6e 6e 6f 74 20 67 75 65 73 73 0a 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 gram.cannot.guess..........when.
553c0 61 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 20 69 73 20 72 65 61 6c 6c 79 20 6e 65 63 65 a.message.catalog.is.really.nece
553e0 73 73 61 72 79 20 73 69 6e 63 65 20 66 6f 72 20 61 20 75 73 65 72 20 77 68 6f 20 73 70 65 61 6b ssary.since.for.a.user.who.speak
55400 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 74 68 65 20 70 72 6f 67 s..........the.language.the.prog
55420 72 61 6d 20 77 61 73 20 64 65 76 65 6c 6f 70 65 64 20 69 6e 20 64 6f 65 73 20 6e 6f 74 20 6e 65 ram.was.developed.in.does.not.ne
55440 65 64 20 61 6e 79 20 74 72 61 6e 73 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e ed.any.translation..........sq.~
55460 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6c 69 62 69 6e 74 6c 2e 68 78 71 00 7e 0d 87 74 00 ......w.....t..libintl.hxq.~..t.
55480 11 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 73 67 69 64 74 00 06 63 68 61 72 20 2a 74 00 0c 67 65 .const.char.*msgidt..char.*t..ge
554a0 74 74 69 6d 65 6f 66 64 61 79 73 71 00 7e 00 0a 70 74 04 52 0a 20 20 20 20 20 20 20 20 54 68 65 ttimeofdaysq.~..pt.R.........The
554c0 20 3c 43 4f 44 45 3e 67 65 74 74 69 6d 65 6f 66 64 61 79 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 .<CODE>gettimeofday</CODE>.funct
554e0 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 61 6c 65 6e 64 61 72 ion.returns.the.current.calendar
55500 20 74 69 6d 65 20 61 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 6c 61 70 73 65 64 20 74 69 .time.as..........the.elapsed.ti
55520 6d 65 20 73 69 6e 63 65 20 74 68 65 20 65 70 6f 63 68 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e me.since.the.epoch.in.the.<CODE>
55540 73 74 72 75 63 74 20 74 69 6d 65 76 61 6c 3c 2f 43 4f 44 45 3e 20 73 74 72 75 63 74 75 72 65 0a struct.timeval</CODE>.structure.
55560 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 3c 56 41 52 3e 74 70 3c 2f 56 .........indicated.by.<VAR>tp</V
55580 41 52 3e 2e 20 20 28 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 0a 20 20 20 AR>...(.for.a.description.of....
555a0 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 74 69 6d 65 76 61 6c 3c 2f 43 4f 44 45 ......<CODE>struct.timeval</CODE
555c0 3e 29 2e 20 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 74 69 6d 65 20 >)...Information.about.the.time.
555e0 7a 6f 6e 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 zone.is.returned.in..........the
55600 20 73 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 20 61 74 20 3c 56 41 52 3e 74 7a 70 3c 2f .structure.pointed.at.<VAR>tzp</
55620 56 41 52 3e 2e 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 74 7a 70 3c 2f 56 41 52 3e 20 61 72 67 VAR>...If.the.<VAR>tzp</VAR>.arg
55640 75 6d 65 6e 74 20 69 73 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 ument.is.a.null..........pointer
55660 2c 20 74 69 6d 65 20 7a 6f 6e 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 69 67 6e 6f 72 ,.time.zone.information.is.ignor
55680 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e ed...........<br><br>.The.return
556a0 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 .value.is.<CODE>0</CODE>.on.succ
556c0 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 ess.and.<CODE>-1</CODE>.on.failu
556e0 72 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 re...The..........following.<COD
55700 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 69 E>errno</CODE>.error.condition.i
55720 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 s.defined.for.this.function:....
55740 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 ......<br><br>.<DL>...........<D
55760 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 T><CODE>ENOSYS</CODE>.<DD>......
55780 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 64 6f 65 73 20 6e 6f ....The.operating.system.does.no
557a0 74 20 73 75 70 70 6f 72 74 20 67 65 74 74 69 6e 67 20 74 69 6d 65 20 7a 6f 6e 65 20 69 6e 66 6f t.support.getting.time.zone.info
557c0 72 6d 61 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 7a 70 3c 2f rmation,.and..........<VAR>tzp</
557e0 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 20 20 54 68 65 VAR>.is.not.a.null.pointer...The
55800 20 47 4e 55 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 64 6f 65 73 20 6e 6f 74 0a 20 .GNU.operating.system.does.not..
55820 20 20 20 20 20 20 20 20 73 75 70 70 6f 72 74 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 73 74 72 75 ........support.using.<CODE>stru
55840 63 74 20 74 69 6d 65 7a 6f 6e 65 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 ct.timezone</CODE>.to.represent.
55860 74 69 6d 65 20 7a 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3b 20 time.zone..........information;.
55880 74 68 61 74 20 69 73 20 61 6e 20 6f 62 73 6f 6c 65 74 65 20 66 65 61 74 75 72 65 20 6f 66 20 34 that.is.an.obsolete.feature.of.4
558a0 2e 33 20 42 53 44 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 73 74 65 61 64 2c 20 75 73 65 20 74 68 .3.BSD...........Instead,.use.th
558c0 65 20 66 61 63 69 6c 69 74 69 65 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 54 69 6d 65 20 5a e.facilities.described.in.Time.Z
558e0 6f 6e 65 20 46 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 one.Functions...........</DL>...
55900 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 74 69 6d ......sq.~......w.....t..sys/tim
55920 65 2e 68 78 71 00 7e 0d 8e 74 00 28 73 74 72 75 63 74 20 74 69 6d 65 76 61 6c 20 2a 74 70 2c 20 e.hxq.~..t.(struct.timeval.*tp,.
55940 73 74 72 75 63 74 20 74 69 6d 65 7a 6f 6e 65 20 2a 74 7a 70 74 00 03 69 6e 74 74 00 06 67 65 74 struct.timezone.*tzpt..intt..get
55960 75 69 64 73 71 00 7e 00 0a 70 74 00 5b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e uidsq.~..pt.[.........The.<CODE>
55980 67 65 74 75 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 getuid</CODE>.function.returns.t
559a0 68 65 20 72 65 61 6c 20 75 73 65 72 20 49 44 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2e 0a he.real.user.ID.of.the.process..
559c0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 0b 73 79 73 2f 74 ........sq.~......w.....t..sys/t
559e0 79 70 65 73 2e 68 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 0d 95 74 00 04 76 6f 69 64 74 00 ypes.ht..unistd.hxq.~..t..voidt.
55a00 05 75 69 64 5f 74 74 00 08 67 65 74 75 6d 61 73 6b 73 71 00 7e 00 0a 70 74 00 89 0a 20 20 20 20 .uid_tt..getumasksq.~..pt.......
55a20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66 20 ....Return.the.current.value.of.
55a40 74 68 65 20 66 69 6c 65 20 63 72 65 61 74 69 6f 6e 20 6d 61 73 6b 20 66 6f 72 20 74 68 65 20 63 the.file.creation.mask.for.the.c
55a60 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2e 20 20 54 68 69 73 20 66 urrent..........process...This.f
55a80 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 unction.is.a.GNU.extension......
55aa0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 73 74 61 74 2e ....sq.~......w.....t..sys/stat.
55ac0 68 78 71 00 7e 0d 9d 74 00 04 76 6f 69 64 74 00 06 6d 6f 64 65 5f 74 74 00 08 67 65 74 75 74 65 hxq.~..t..voidt..mode_tt..getute
55ae0 6e 74 73 71 00 7e 00 0a 70 74 02 2a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 ntsq.~..pt.*.........The.<CODE>g
55b00 65 74 75 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 74 68 etutent</CODE>.function.reads.th
55b20 65 20 6e 65 78 74 20 65 6e 74 72 79 20 66 72 6f 6d 20 74 68 65 20 75 73 65 72 0a 20 20 20 20 20 e.next.entry.from.the.user......
55b40 20 20 20 20 61 63 63 6f 75 6e 74 69 6e 67 20 64 61 74 61 62 61 73 65 2e 20 20 49 74 20 72 65 74 ....accounting.database...It.ret
55b60 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 65 6e 74 72 79 2c 20 77 68 69 urns.a.pointer.to.the.entry,.whi
55b80 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 ch.is..........statically.alloca
55ba0 74 65 64 20 61 6e 64 20 6d 61 79 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 73 75 ted.and.may.be.overwritten.by.su
55bc0 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 bsequent.calls.to..........<CODE
55be0 3e 67 65 74 75 74 65 6e 74 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 20 6d 75 73 74 20 63 6f 70 79 >getutent</CODE>...You.must.copy
55c00 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 69 .the.contents.of.the.structure.i
55c20 66 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 77 69 73 68 20 74 6f 20 73 61 76 65 20 74 68 65 20 f.you..........wish.to.save.the.
55c40 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 72 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 3c information.or.you.can.use.the.<
55c60 43 4f 44 45 3e 67 65 74 75 74 65 6e 74 5f 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 CODE>getutent_r</CODE>..........
55c80 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 73 74 6f 72 65 73 20 74 68 65 20 64 61 74 61 20 69 function.which.stores.the.data.i
55ca0 6e 20 61 20 75 73 65 72 2d 70 72 6f 76 69 64 65 64 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 n.a.user-provided.buffer........
55cc0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 72 65 ...<br><br>.A.null.pointer.is.re
55ce0 74 75 72 6e 65 64 20 69 6e 20 63 61 73 65 20 6e 6f 20 66 75 72 74 68 65 72 20 65 6e 74 72 79 20 turned.in.case.no.further.entry.
55d00 69 73 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 is.available..........sq.~......
55d20 77 04 00 00 00 0a 74 00 06 75 74 6d 70 2e 68 78 71 00 7e 0d a4 74 00 04 76 6f 69 64 74 00 0d 73 w.....t..utmp.hxq.~..t..voidt..s
55d40 74 72 75 63 74 20 75 74 6d 70 20 2a 74 00 0a 67 65 74 75 74 65 6e 74 5f 72 73 71 00 7e 00 0a 70 truct.utmp.*t..getutent_rsq.~..p
55d60 74 03 08 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 75 74 65 6e 74 5f 72 t...........The.<CODE>getutent_r
55d80 3c 2f 43 4f 44 45 3e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f </CODE>.is.equivalent.to.the.<CO
55da0 44 45 3e 67 65 74 75 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 74 DE>getutent</CODE>.function...It
55dc0 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 ..........returns.the.next.entry
55de0 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 20 20 42 75 74 20 69 6e 73 74 65 61 64 .from.the.database...But.instead
55e00 20 6f 66 20 73 74 6f 72 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 .of.storing.the..........informa
55e20 74 69 6f 6e 20 69 6e 20 61 20 73 74 61 74 69 63 20 62 75 66 66 65 72 20 69 74 20 73 74 6f 72 65 tion.in.a.static.buffer.it.store
55e40 73 20 69 74 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 s.it.in.the.buffer.pointed.to.by
55e60 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 62 75 66 ..........the.parameter.<VAR>buf
55e80 66 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 fer</VAR>...........<br><br>.If.
55ea0 74 68 65 20 63 61 6c 6c 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 74 68 65 20 66 75 6e the.call.was.successful,.the.fun
55ec0 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 61 6e 64 ction.returns.<CODE>0</CODE>.and
55ee0 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 76 61 72 69 61 62 6c 65 20 70 .the..........pointer.variable.p
55f00 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e ointed.to.by.the.parameter.<VAR>
55f20 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 61 0a 20 20 20 20 20 20 20 20 result</VAR>.contains.a.........
55f40 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 77 68 69 63 68 20 63 6f 6e .pointer.to.the.buffer.which.con
55f60 74 61 69 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 28 74 68 69 73 20 69 73 20 6d 6f 73 74 20 70 tains.the.result.(this.is.most.p
55f80 72 6f 62 61 62 6c 79 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 robably..........the.same.value.
55fa0 61 73 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 29 2e 20 20 49 66 20 73 6f 6d 65 74 as.<VAR>buffer</VAR>)...If.somet
55fc0 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 20 64 75 72 69 6e 67 20 74 68 65 0a 20 20 20 20 20 hing.went.wrong.during.the......
55fe0 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 67 65 74 75 74 65 6e 74 5f ....execution.of.<CODE>getutent_
56000 72 3c 2f 43 4f 44 45 3e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 r</CODE>.the.function.returns.<C
56020 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ODE>-1</CODE>...........<br><br>
56040 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f .This.function.is.a.GNU.extensio
56060 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 74 n..........sq.~......w.....t..ut
56080 6d 70 2e 68 78 71 00 7e 0d ab 74 00 29 73 74 72 75 63 74 20 75 74 6d 70 20 2a 62 75 66 66 65 72 mp.hxq.~..t.)struct.utmp.*buffer
560a0 2c 20 73 74 72 75 63 74 20 75 74 6d 70 20 2a 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 07 67 ,.struct.utmp.**resultt..intt..g
560c0 65 74 75 74 69 64 73 71 00 7e 00 0a 70 74 07 17 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 etutidsq.~..pt...........This.fu
560e0 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 65 73 20 66 6f 72 77 61 72 64 20 66 72 6f 6d 20 74 68 65 nction.searches.forward.from.the
56100 20 63 75 72 72 65 6e 74 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 0a 20 .current.point.in.the.database..
56120 20 20 20 20 20 20 20 20 66 6f 72 20 61 6e 20 65 6e 74 72 79 20 74 68 61 74 20 6d 61 74 63 68 65 ........for.an.entry.that.matche
56140 73 20 3c 56 41 52 3e 69 64 3c 2f 56 41 52 3e 2e 20 20 49 66 20 74 68 65 20 3c 43 4f 44 45 3e 75 s.<VAR>id</VAR>...If.the.<CODE>u
56160 74 5f 74 79 70 65 3c 2f 43 4f 44 45 3e 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 0a 20 20 20 20 t_type</CODE>.member.of.the.....
56180 20 20 20 20 20 3c 56 41 52 3e 69 64 3c 2f 56 41 52 3e 20 73 74 72 75 63 74 75 72 65 20 69 73 20 .....<VAR>id</VAR>.structure.is.
561a0 6f 6e 65 20 6f 66 20 3c 43 4f 44 45 3e 52 55 4e 5f 4c 56 4c 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f one.of.<CODE>RUN_LVL</CODE>,.<CO
561c0 44 45 3e 42 4f 4f 54 5f 54 49 4d 45 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 DE>BOOT_TIME</CODE>,..........<C
561e0 4f 44 45 3e 4f 4c 44 5f 54 49 4d 45 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 4e 45 57 ODE>OLD_TIME</CODE>.or.<CODE>NEW
56200 5f 54 49 4d 45 3c 2f 43 4f 44 45 3e 20 74 68 65 20 65 6e 74 72 69 65 73 20 6d 61 74 63 68 20 69 _TIME</CODE>.the.entries.match.i
56220 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 75 74 5f 74 79 70 65 3c 2f 43 4f f.the..........<CODE>ut_type</CO
56240 44 45 3e 20 6d 65 6d 62 65 72 73 20 61 72 65 20 69 64 65 6e 74 69 63 61 6c 2e 20 20 49 66 20 74 DE>.members.are.identical...If.t
56260 68 65 20 3c 43 4f 44 45 3e 75 74 5f 74 79 70 65 3c 2f 43 4f 44 45 3e 20 6d 65 6d 62 65 72 20 6f he.<CODE>ut_type</CODE>.member.o
56280 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 56 41 52 3e 69 64 3c 2f 56 41 52 3e 20 73 74 72 f..........the.<VAR>id</VAR>.str
562a0 75 63 74 75 72 65 20 69 73 20 3c 43 4f 44 45 3e 49 4e 49 54 5f 50 52 4f 43 45 53 53 3c 2f 43 4f ucture.is.<CODE>INIT_PROCESS</CO
562c0 44 45 3e 2c 20 3c 43 4f 44 45 3e 4c 4f 47 49 4e 5f 50 52 4f 43 45 53 53 3c 2f 43 4f 44 45 3e 2c DE>,.<CODE>LOGIN_PROCESS</CODE>,
562e0 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 55 53 45 52 5f 50 52 4f 43 45 53 53 3c 2f 43 4f ..........<CODE>USER_PROCESS</CO
56300 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 44 45 41 44 5f 50 52 4f 43 45 53 53 3c 2f 43 4f 44 45 3e DE>.or.<CODE>DEAD_PROCESS</CODE>
56320 2c 20 74 68 65 20 65 6e 74 72 69 65 73 20 6d 61 74 63 68 20 69 66 20 74 68 65 0a 20 20 20 20 20 ,.the.entries.match.if.the......
56340 20 20 20 20 3c 43 4f 44 45 3e 75 74 5f 74 79 70 65 3c 2f 43 4f 44 45 3e 20 6d 65 6d 62 65 72 20 ....<CODE>ut_type</CODE>.member.
56360 6f 66 20 74 68 65 20 65 6e 74 72 79 20 72 65 61 64 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 of.the.entry.read.from.the.datab
56380 61 73 65 20 69 73 20 6f 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 73 65 20 66 6f 75 ase.is.one.of..........these.fou
563a0 72 2c 20 61 6e 64 20 74 68 65 20 3c 43 4f 44 45 3e 75 74 5f 69 64 3c 2f 43 4f 44 45 3e 20 6d 65 r,.and.the.<CODE>ut_id</CODE>.me
563c0 6d 62 65 72 73 20 6d 61 74 63 68 2e 20 20 48 6f 77 65 76 65 72 20 69 66 20 74 68 65 0a 20 20 20 mbers.match...However.if.the....
563e0 20 20 20 20 20 20 3c 43 4f 44 45 3e 75 74 5f 69 64 3c 2f 43 4f 44 45 3e 20 6d 65 6d 62 65 72 20 ......<CODE>ut_id</CODE>.member.
56400 6f 66 20 65 69 74 68 65 72 20 74 68 65 20 3c 56 41 52 3e 69 64 3c 2f 56 41 52 3e 20 73 74 72 75 of.either.the.<VAR>id</VAR>.stru
56420 63 74 75 72 65 20 6f 72 20 74 68 65 20 65 6e 74 72 79 20 72 65 61 64 0a 20 20 20 20 20 20 20 20 cture.or.the.entry.read.........
56440 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 62 61 73 65 20 69 73 20 65 6d 70 74 79 20 69 74 20 63 .from.the.database.is.empty.it.c
56460 68 65 63 6b 73 20 69 66 20 74 68 65 20 3c 43 4f 44 45 3e 75 74 5f 6c 69 6e 65 3c 2f 43 4f 44 45 hecks.if.the.<CODE>ut_line</CODE
56480 3e 20 6d 65 6d 62 65 72 73 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 >.members.match..........instead
564a0 2e 20 20 49 66 20 61 20 6d 61 74 63 68 69 6e 67 20 65 6e 74 72 79 20 69 73 20 66 6f 75 6e 64 2c ...If.a.matching.entry.is.found,
564c0 20 3c 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 .<CODE>getutid</CODE>.returns.a.
564e0 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 65 6e 74 72 79 2c 20 77 pointer..........to.the.entry,.w
56500 68 69 63 68 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 2c 20 61 6e hich.is.statically.allocated,.an
56520 64 20 6d 61 79 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 61 0a 20 20 20 20 20 20 d.may.be.overwritten.by.a.......
56540 20 20 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 75 ...subsequent.call.to.<CODE>getu
56560 74 65 6e 74 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 tent</CODE>,.<CODE>getutid</CODE
56580 3e 20 6f 72 20 3c 43 4f 44 45 3e 67 65 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 >.or.<CODE>getutline</CODE>.....
565a0 20 20 20 20 20 20 59 6f 75 20 6d 75 73 74 20 63 6f 70 79 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 ......You.must.copy.the.contents
565c0 20 6f 66 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 69 66 20 79 6f 75 20 77 69 73 68 20 74 6f .of.the.structure.if.you.wish.to
565e0 20 73 61 76 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a .save.the..........information..
56600 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 .........<br><br>.A.null.pointer
56620 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 63 61 73 65 20 74 68 65 20 65 6e 64 20 6f 66 20 .is.returned.in.case.the.end.of.
56640 74 68 65 20 64 61 74 61 62 61 73 65 20 69 73 20 72 65 61 63 68 65 64 0a 20 20 20 20 20 20 20 20 the.database.is.reached.........
56660 20 77 69 74 68 6f 75 74 20 61 20 6d 61 74 63 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .without.a.match...........<br><
56680 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e br>.The.<CODE>getutid</CODE>.fun
566a0 63 74 69 6f 6e 20 6d 61 79 20 63 61 63 68 65 20 74 68 65 20 6c 61 73 74 20 72 65 61 64 20 65 6e ction.may.cache.the.last.read.en
566c0 74 72 79 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 0a 20 20 20 20 20 20 20 20 20 69 66 20 79 6f 75 try...Therefore,..........if.you
566e0 20 61 72 65 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e 20 .are.using.<CODE>getutid</CODE>.
56700 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 6f 63 63 75 72 72 65 6e 63 to.search.for.multiple.occurrenc
56720 65 73 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 es,.it..........is.necessary.to.
56740 7a 65 72 6f 20 6f 75 74 20 74 68 65 20 73 74 61 74 69 63 20 64 61 74 61 20 61 66 74 65 72 20 65 zero.out.the.static.data.after.e
56760 61 63 68 20 63 61 6c 6c 2e 20 20 4f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 ach.call...Otherwise..........<C
56780 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e 20 63 6f 75 6c 64 20 6a 75 73 74 20 72 65 ODE>getutid</CODE>.could.just.re
567a0 74 75 72 6e 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 73 61 6d 65 20 65 6e 74 72 79 turn.a.pointer.to.the.same.entry
567c0 20 6f 76 65 72 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 20 61 67 61 69 6e 2e 0a 20 .over.and..........over.again...
567e0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 74 6d 70 2e 68 .......sq.~......w.....t..utmp.h
56800 78 71 00 7e 0d b2 74 00 15 63 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 6d 70 20 2a 69 64 74 00 xq.~..t..const.struct.utmp.*idt.
56820 0d 73 74 72 75 63 74 20 75 74 6d 70 20 2a 74 00 09 67 65 74 75 74 69 64 5f 72 73 71 00 7e 00 0a .struct.utmp.*t..getutid_rsq.~..
56840 70 74 02 5e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 pt.^.........This.function.retri
56860 65 76 65 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f eves.just.like.<CODE>getutid</CO
56880 44 45 3e 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 6d 61 74 63 68 69 6e 67 0a 20 20 20 20 DE>.the.next.entry.matching.....
568a0 20 20 20 20 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 74 6f 72 65 64 20 69 6e 20 3c .....the.information.stored.in.<
568c0 56 41 52 3e 69 64 3c 2f 56 41 52 3e 2e 20 20 42 75 74 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 VAR>id</VAR>...But.the.result.is
568e0 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 70 .stored.in.the..........buffer.p
56900 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e ointed.to.by.the.parameter.<VAR>
56920 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 buffer</VAR>...........<br><br>.
56940 49 66 20 73 75 63 63 65 73 73 66 75 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 If.successful.the.function.retur
56960 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 70 6f 69 6e 74 65 ns.<CODE>0</CODE>.and.the.pointe
56980 72 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 r.variable..........pointed.to.b
569a0 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 y.the.parameter.<VAR>result</VAR
569c0 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 >.contains.a.pointer.to.the.....
569e0 20 20 20 20 20 62 75 66 66 65 72 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 28 70 72 6f .....buffer.with.the.result.(pro
56a00 62 61 62 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 bably.the.same.as.<VAR>result</V
56a20 41 52 3e 2e 20 20 49 66 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c AR>...If.not..........successful
56a40 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 .the.function.return.<CODE>-1</C
56a60 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e ODE>...........<br><br>.This.fun
56a80 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 ction.is.a.GNU.extension........
56aa0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 74 6d 70 2e 68 78 71 00 7e 0d ..sq.~......w.....t..utmp.hxq.~.
56ac0 b9 74 00 40 63 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 6d 70 20 2a 69 64 2c 20 73 74 72 75 63 .t.@const.struct.utmp.*id,.struc
56ae0 74 20 75 74 6d 70 20 2a 62 75 66 66 65 72 2c 20 73 74 72 75 63 74 20 75 74 6d 70 20 2a 2a 72 65 t.utmp.*buffer,.struct.utmp.**re
56b00 73 75 6c 74 74 00 03 69 6e 74 74 00 09 67 65 74 75 74 6c 69 6e 65 73 71 00 7e 00 0a 70 74 04 83 sultt..intt..getutlinesq.~..pt..
56b20 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 65 73 20 .........This.function.searches.
56b40 66 6f 72 77 61 72 64 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 69 6e 74 20 69 forward.from.the.current.point.i
56b60 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 69 74 n.the.database..........until.it
56b80 20 66 69 6e 64 73 20 61 6e 20 65 6e 74 72 79 20 77 68 6f 73 65 20 3c 43 4f 44 45 3e 75 74 5f 74 .finds.an.entry.whose.<CODE>ut_t
56ba0 79 70 65 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f ype</CODE>.value.is..........<CO
56bc0 44 45 3e 4c 4f 47 49 4e 5f 50 52 4f 43 45 53 53 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 DE>LOGIN_PROCESS</CODE>.or.<CODE
56be0 3e 55 53 45 52 5f 50 52 4f 43 45 53 53 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 77 68 6f 73 65 20 >USER_PROCESS</CODE>,.and.whose.
56c00 3c 43 4f 44 45 3e 75 74 5f 6c 69 6e 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6d 65 <CODE>ut_line</CODE>..........me
56c20 6d 62 65 72 20 6d 61 74 63 68 65 73 20 74 68 65 20 3c 43 4f 44 45 3e 75 74 5f 6c 69 6e 65 3c 2f mber.matches.the.<CODE>ut_line</
56c40 43 4f 44 45 3e 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 6c 69 6e 65 3c 2f 56 CODE>.member.of.the.<VAR>line</V
56c60 41 52 3e 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 69 74 20 66 69 AR>.structure...........If.it.fi
56c80 6e 64 73 20 73 75 63 68 20 61 6e 20 65 6e 74 72 79 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 nds.such.an.entry,.it.returns.a.
56ca0 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 65 6e 74 72 79 20 77 68 69 63 68 20 69 73 0a 20 20 pointer.to.the.entry.which.is...
56cc0 20 20 20 20 20 20 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 2c 20 61 6e 64 .......statically.allocated,.and
56ce0 20 6d 61 79 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 61 20 73 75 62 73 65 71 75 .may.be.overwritten.by.a.subsequ
56d00 65 6e 74 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 75 74 ent.call.to..........<CODE>getut
56d20 65 6e 74 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e ent</CODE>,.<CODE>getutid</CODE>
56d40 20 6f 72 20 3c 43 4f 44 45 3e 67 65 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 .or.<CODE>getutline</CODE>...You
56d60 20 6d 75 73 74 20 63 6f 70 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 .must.copy.the..........contents
56d80 20 6f 66 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 69 66 20 79 6f 75 20 77 69 73 68 20 74 6f .of.the.structure.if.you.wish.to
56da0 20 73 61 76 65 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 .save.the.information...........
56dc0 3c 62 72 3e 3c 62 72 3e 20 41 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 72 65 74 75 72 <br><br>.A.null.pointer.is.retur
56de0 6e 65 64 20 69 6e 20 63 61 73 65 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 64 61 74 61 62 ned.in.case.the.end.of.the.datab
56e00 61 73 65 20 69 73 20 72 65 61 63 68 65 64 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 ase.is.reached..........without.
56e20 61 20 6d 61 74 63 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c a.match...........<br><br>.The.<
56e40 43 4f 44 45 3e 67 65 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6d CODE>getutline</CODE>.function.m
56e60 61 79 20 63 61 63 68 65 20 74 68 65 20 6c 61 73 74 20 72 65 61 64 20 65 6e 74 72 79 2e 20 20 54 ay.cache.the.last.read.entry...T
56e80 68 65 72 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 69 66 20 79 6f 75 20 61 72 65 20 75 73 69 herefore..........if.you.are.usi
56ea0 6e 67 20 3c 43 4f 44 45 3e 67 65 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 74 6f 20 73 65 61 ng.<CODE>getutline</CODE>.to.sea
56ec0 72 63 68 20 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 6f 63 63 75 72 72 65 6e 63 65 73 2c 20 69 74 rch.for.multiple.occurrences,.it
56ee0 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 7a 65 72 6f 20 6f ..........is.necessary.to.zero.o
56f00 75 74 20 74 68 65 20 73 74 61 74 69 63 20 64 61 74 61 20 61 66 74 65 72 20 65 61 63 68 20 63 61 ut.the.static.data.after.each.ca
56f20 6c 6c 2e 20 20 4f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 ll...Otherwise..........<CODE>ge
56f40 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 63 6f 75 6c 64 20 6a 75 73 74 20 72 65 74 75 72 6e tutline</CODE>.could.just.return
56f60 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 73 61 6d 65 20 65 6e 74 72 79 20 6f 76 65 .a.pointer.to.the.same.entry.ove
56f80 72 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 r.and..........over.again.......
56fa0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 74 6d 70 2e 68 78 71 00 7e ...sq.~......w.....t..utmp.hxq.~
56fc0 0d c0 74 00 17 63 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 6d 70 20 2a 6c 69 6e 65 74 00 0d 73 ..t..const.struct.utmp.*linet..s
56fe0 74 72 75 63 74 20 75 74 6d 70 20 2a 74 00 0b 67 65 74 75 74 6c 69 6e 65 5f 72 73 71 00 7e 00 0a truct.utmp.*t..getutline_rsq.~..
57000 70 74 02 62 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 pt.b.........This.function.retri
57020 65 76 65 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 67 65 74 75 74 6c 69 6e 65 3c 2f eves.just.like.<CODE>getutline</
57040 43 4f 44 45 3e 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 6d 61 CODE>.the.next.entry..........ma
57060 74 63 68 69 6e 67 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 74 6f 72 65 64 20 69 6e tching.the.information.stored.in
57080 20 3c 56 41 52 3e 6c 69 6e 65 3c 2f 56 41 52 3e 2e 20 20 42 75 74 20 74 68 65 20 72 65 73 75 6c .<VAR>line</VAR>...But.the.resul
570a0 74 20 69 73 20 73 74 6f 72 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 62 75 66 66 t.is.stored..........in.the.buff
570c0 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c er.pointed.to.by.the.parameter.<
570e0 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c VAR>buffer</VAR>...........<br><
57100 62 72 3e 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 br>.If.successful.the.function.r
57120 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 70 6f eturns.<CODE>0</CODE>.and.the.po
57140 69 6e 74 65 72 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 inter.variable..........pointed.
57160 74 6f 20 62 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c to.by.the.parameter.<VAR>result<
57180 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a /VAR>.contains.a.pointer.to.the.
571a0 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 20 .........buffer.with.the.result.
571c0 28 70 72 6f 62 61 62 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 56 41 52 3e 72 65 73 75 6c (probably.the.same.as.<VAR>resul
571e0 74 3c 2f 56 41 52 3e 2e 20 20 49 66 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 t</VAR>...If.not..........succes
57200 73 66 75 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 2d sful.the.function.return.<CODE>-
57220 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 1</CODE>...........<br><br>.This
57240 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 .function.is.a.GNU.extension....
57260 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 74 6d 70 2e 68 78 ......sq.~......w.....t..utmp.hx
57280 71 00 7e 0d c7 74 00 42 63 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 6d 70 20 2a 6c 69 6e 65 2c q.~..t.Bconst.struct.utmp.*line,
572a0 20 73 74 72 75 63 74 20 75 74 6d 70 20 2a 62 75 66 66 65 72 2c 20 73 74 72 75 63 74 20 75 74 6d .struct.utmp.*buffer,.struct.utm
572c0 70 20 2a 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 07 67 65 74 75 74 6d 70 73 71 00 7e 00 0a p.**resultt..intt..getutmpsq.~..
572e0 70 74 00 9b 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 75 74 6d 70 3c 2f 43 4f 44 45 pt...........<CODE>getutmp</CODE
57300 3e 20 63 6f 70 69 65 73 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 69 6e 73 6f 66 61 >.copies.the.information,.insofa
57320 72 20 61 73 20 74 68 65 20 73 74 72 75 63 74 75 72 65 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 r.as.the.structures.are.........
57340 20 63 6f 6d 70 61 74 69 62 6c 65 2c 20 66 72 6f 6d 20 3c 56 41 52 3e 75 74 6d 70 78 3c 2f 56 41 .compatible,.from.<VAR>utmpx</VA
57360 52 3e 20 74 6f 20 3c 56 41 52 3e 75 74 6d 70 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 R>.to.<VAR>utmp</VAR>..........s
57380 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 07 75 74 6d 70 78 2e 68 74 00 06 75 74 6d 70 q.~......w.....t..utmpx.ht..utmp
573a0 2e 68 78 71 00 7e 0d ce 74 00 2c 63 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 6d 70 78 20 2a 75 .hxq.~..t.,const.struct.utmpx.*u
573c0 74 6d 70 78 2c 20 73 74 72 75 63 74 20 75 74 6d 70 20 2a 75 74 6d 70 74 00 03 69 6e 74 74 00 08 tmpx,.struct.utmp.*utmpt..intt..
573e0 67 65 74 75 74 6d 70 78 73 71 00 7e 00 0a 70 74 00 9c 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 getutmpxsq.~..pt...........<CODE
57400 3e 67 65 74 75 74 6d 70 78 3c 2f 43 4f 44 45 3e 20 63 6f 70 69 65 73 20 74 68 65 20 69 6e 66 6f >getutmpx</CODE>.copies.the.info
57420 72 6d 61 74 69 6f 6e 2c 20 69 6e 73 6f 66 61 72 20 61 73 20 74 68 65 20 73 74 72 75 63 74 75 72 rmation,.insofar.as.the.structur
57440 65 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 70 61 74 69 62 6c 65 2c 20 66 72 6f 6d es.are..........compatible,.from
57460 20 3c 56 41 52 3e 75 74 6d 70 3c 2f 56 41 52 3e 20 74 6f 20 3c 56 41 52 3e 75 74 6d 70 78 3c 2f .<VAR>utmp</VAR>.to.<VAR>utmpx</
57480 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 VAR>..........sq.~......w.....t.
574a0 07 75 74 6d 70 78 2e 68 74 00 06 75 74 6d 70 2e 68 78 71 00 7e 0d d6 74 00 2c 63 6f 6e 73 74 20 .utmpx.ht..utmp.hxq.~..t.,const.
574c0 73 74 72 75 63 74 20 75 74 6d 70 20 2a 75 74 6d 70 2c 20 73 74 72 75 63 74 20 75 74 6d 70 78 20 struct.utmp.*utmp,.struct.utmpx.
574e0 2a 75 74 6d 70 78 74 00 03 69 6e 74 74 00 09 67 65 74 75 74 78 65 6e 74 73 71 00 7e 00 0a 70 74 *utmpxt..intt..getutxentsq.~..pt
57500 01 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 75 74 78 65 6e 74 3c 2f ...........The.<CODE>getutxent</
57520 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f CODE>.function.is.similar.to.<CO
57540 44 45 3e 67 65 74 75 74 65 6e 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 72 65 74 75 72 6e 73 0a DE>getutent</CODE>,.but.returns.
57560 20 20 20 20 20 20 20 20 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 3c 43 4f 44 45 3e 73 74 .........a.pointer.to.a.<CODE>st
57580 72 75 63 74 20 75 74 6d 70 78 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 43 4f ruct.utmpx</CODE>.instead.of.<CO
575a0 44 45 3e 73 74 72 75 63 74 20 75 74 6d 70 3c 2f 43 4f 44 45 3e 2e 20 20 4f 6e 0a 20 20 20 20 20 DE>struct.utmp</CODE>...On......
575c0 20 20 20 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d 20 69 74 20 73 69 6d 70 6c 79 20 69 73 20 ....the.GNU.system.it.simply.is.
575e0 61 6e 20 61 6c 69 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 67 65 74 75 74 65 6e 74 3c 2f 43 4f 44 an.alias.for.<CODE>getutent</COD
57600 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 75 E>..........sq.~......w.....t..u
57620 74 6d 70 78 2e 68 78 71 00 7e 0d de 74 00 04 76 6f 69 64 74 00 0e 73 74 72 75 63 74 20 75 74 6d tmpx.hxq.~..t..voidt..struct.utm
57640 70 78 20 2a 74 00 08 67 65 74 75 74 78 69 64 73 71 00 7e 00 0a 70 74 00 e0 0a 20 20 20 20 20 20 px.*t..getutxidsq.~..pt.........
57660 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 ..This.function.is.similar.to.<C
57680 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 75 73 65 73 20 3c 43 4f ODE>getutid</CODE>,.but.uses.<CO
576a0 44 45 3e 73 74 72 75 63 74 20 75 74 6d 70 78 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 DE>struct.utmpx</CODE>..........
576c0 69 6e 73 74 65 61 64 20 6f 66 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 75 74 6d 70 3c 2f 43 4f instead.of.<CODE>struct.utmp</CO
576e0 44 45 3e 2e 20 20 4f 6e 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d 20 69 74 20 69 73 20 73 69 DE>...On.the.GNU.system.it.is.si
57700 6d 70 6c 79 20 61 6e 20 61 6c 69 61 73 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 3c 43 4f 44 45 mply.an.alias..........for.<CODE
57720 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 >getutid</CODE>..........sq.~...
57740 00 00 01 77 04 00 00 00 0a 74 00 07 75 74 6d 70 78 2e 68 78 71 00 7e 0d e5 74 00 16 63 6f 6e 73 ...w.....t..utmpx.hxq.~..t..cons
57760 74 20 73 74 72 75 63 74 20 75 74 6d 70 78 20 2a 69 64 74 00 0e 73 74 72 75 63 74 20 75 74 6d 70 t.struct.utmpx.*idt..struct.utmp
57780 78 20 2a 74 00 0a 67 65 74 75 74 78 6c 69 6e 65 73 71 00 7e 00 0a 70 74 00 e2 0a 20 20 20 20 20 x.*t..getutxlinesq.~..pt........
577a0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c ...This.function.is.similar.to.<
577c0 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 75 73 65 73 20 3c 43 CODE>getutid</CODE>,.but.uses.<C
577e0 4f 44 45 3e 73 74 72 75 63 74 20 75 74 6d 70 78 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 ODE>struct.utmpx</CODE>.........
57800 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 75 74 6d 70 3c 2f 43 .instead.of.<CODE>struct.utmp</C
57820 4f 44 45 3e 2e 20 20 4f 6e 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d 20 69 74 20 69 73 20 73 ODE>...On.the.GNU.system.it.is.s
57840 69 6d 70 6c 79 20 61 6e 20 61 6c 69 61 73 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 3c 43 4f 44 imply.an.alias..........for.<COD
57860 45 3e 67 65 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e E>getutline</CODE>..........sq.~
57880 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 75 74 6d 70 78 2e 68 78 71 00 7e 0d ec 74 00 18 63 ......w.....t..utmpx.hxq.~..t..c
578a0 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 6d 70 78 20 2a 6c 69 6e 65 74 00 0e 73 74 72 75 63 74 onst.struct.utmpx.*linet..struct
578c0 20 75 74 6d 70 78 20 2a 74 00 04 67 65 74 77 73 71 00 7e 00 0a 70 74 01 dd 0a 20 20 20 20 20 20 .utmpx.*t..getwsq.~..pt.........
578e0 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 61 20 77 6f 72 64 20 28 74 68 ..This.function.reads.a.word.(th
57900 61 74 20 69 73 2c 20 61 6e 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 29 20 66 72 6f 6d at.is,.an.<CODE>int</CODE>).from
57920 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 49 74 27 .<VAR>stream</VAR>...........It'
57940 73 20 70 72 6f 76 69 64 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 s.provided.for.compatibility.wit
57960 68 20 53 56 49 44 2e 20 20 57 65 20 72 65 63 6f 6d 6d 65 6e 64 20 79 6f 75 20 75 73 65 0a 20 20 h.SVID...We.recommend.you.use...
57980 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 72 65 61 64 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 .......<CODE>fread</CODE>.instea
579a0 64 2e 20 55 6e 6c 69 6b 65 20 3c 43 4f 44 45 3e 67 65 74 63 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 d..Unlike.<CODE>getc</CODE>,....
579c0 20 20 20 20 20 20 61 6e 79 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 ......any.<CODE>int</CODE>.value
579e0 20 63 6f 75 6c 64 20 62 65 20 61 20 76 61 6c 69 64 20 72 65 73 75 6c 74 2e 20 20 3c 43 4f 44 45 .could.be.a.valid.result...<CODE
57a00 3e 67 65 74 77 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 >getw</CODE>.returns..........<C
57a20 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 3e 20 77 68 65 6e 20 69 74 20 65 6e 63 6f 75 6e 74 65 72 ODE>EOF</CODE>.when.it.encounter
57a40 73 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 20 6f 72 20 61 6e 20 65 72 72 6f 72 2c 20 62 75 74 20 74 s.end-of-file.or.an.error,.but.t
57a60 68 65 72 65 20 69 73 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 77 61 79 20 74 6f 20 64 69 73 74 69 here.is.no..........way.to.disti
57a80 6e 67 75 69 73 68 20 74 68 69 73 20 66 72 6f 6d 20 61 6e 20 69 6e 70 75 74 20 77 6f 72 64 20 77 nguish.this.from.an.input.word.w
57aa0 69 74 68 20 76 61 6c 75 65 20 2d 31 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ith.value.-1..........sq.~......
57ac0 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 0d f3 74 00 0c 46 49 4c 45 20 2a 73 w.....t..stdio.hxq.~..t..FILE.*s
57ae0 74 72 65 61 6d 74 00 03 69 6e 74 74 00 05 67 65 74 77 63 73 71 00 7e 00 0a 70 74 01 4b 0a 20 20 treamt..intt..getwcsq.~..pt.K...
57b00 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 66 67 ......This.is.just.like.<CODE>fg
57b20 65 74 77 63 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 69 73 20 70 etwc</CODE>,.except.that.it.is.p
57b40 65 72 6d 69 73 73 69 62 6c 65 20 66 6f 72 20 69 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 62 65 ermissible.for.it.to..........be
57b60 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 20 61 20 6d 61 63 72 6f 20 74 68 61 74 20 65 76 61 .implemented.as.a.macro.that.eva
57b80 6c 75 61 74 65 73 20 74 68 65 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 61 72 67 luates.the.<VAR>stream</VAR>.arg
57ba0 75 6d 65 6e 74 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 6f 6e 63 65 2e 20 20 ument.more..........than.once...
57bc0 3c 43 4f 44 45 3e 67 65 74 77 63 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 68 69 67 68 6c 79 <CODE>getwc</CODE>.can.be.highly
57be0 20 6f 70 74 69 6d 69 7a 65 64 2c 20 73 6f 20 69 74 20 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 .optimized,.so.it.is.usually.the
57c00 0a 20 20 20 20 20 20 20 20 20 62 65 73 74 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 75 73 65 20 74 ..........best.function.to.use.t
57c20 6f 20 72 65 61 64 20 61 20 73 69 6e 67 6c 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 2e 0a o.read.a.single.wide.character..
57c40 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 ........sq.~......w.....t..wchar
57c60 2e 68 78 71 00 7e 0d fa 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 06 77 69 6e 74 5f 74 .hxq.~..t..FILE.*streamt..wint_t
57c80 74 00 0e 67 65 74 77 63 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 dc 0a 20 20 20 20 t..getwc_unlockedsq.~..pt.......
57ca0 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 77 63 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f ....The.<CODE>getwc_unlocked</CO
57cc0 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 DE>.function.is.equivalent.to.th
57ce0 65 20 3c 43 4f 44 45 3e 67 65 74 77 63 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 e.<CODE>getwc</CODE>..........fu
57d00 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 nction.except.that.it.does.not.i
57d20 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 mplicitly.lock.the.stream.......
57d40 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 ....<br><br>.This.function.is.a.
57d60 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 GNU.extension..........sq.~.....
57d80 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 0e 01 74 00 0c 46 49 4c 45 20 2a .w.....t..wchar.hxq.~..t..FILE.*
57da0 73 74 72 65 61 6d 74 00 06 77 69 6e 74 5f 74 74 00 08 67 65 74 77 63 68 61 72 73 71 00 7e 00 0a streamt..wint_tt..getwcharsq.~..
57dc0 70 74 00 a9 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 77 63 68 61 72 3c pt...........The.<CODE>getwchar<
57de0 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f /CODE>.function.is.equivalent.to
57e00 20 3c 43 4f 44 45 3e 67 65 74 77 63 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 3c 43 4f 44 45 3e 73 .<CODE>getwc</CODE>.with.<CODE>s
57e20 74 64 69 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 73 20 74 68 65 20 76 61 6c 75 tdin</CODE>..........as.the.valu
57e40 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d e.of.the.<VAR>stream</VAR>.argum
57e60 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 ent..........sq.~......w.....t..
57e80 77 63 68 61 72 2e 68 78 71 00 7e 0e 08 74 00 04 76 6f 69 64 74 00 06 77 69 6e 74 5f 74 74 00 11 wchar.hxq.~..t..voidt..wint_tt..
57ea0 67 65 74 77 63 68 61 72 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 e2 0a 20 20 20 20 getwchar_unlockedsq.~..pt.......
57ec0 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 65 74 77 63 68 61 72 5f 75 6e 6c 6f 63 6b 65 64 3c ....The.<CODE>getwchar_unlocked<
57ee0 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f /CODE>.function.is.equivalent.to
57f00 20 74 68 65 20 3c 43 4f 44 45 3e 67 65 74 77 63 68 61 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 .the.<CODE>getwchar</CODE>......
57f20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f 65 73 ....function.except.that.it.does
57f40 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e .not.implicitly.lock.the.stream.
57f60 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e ..........<br><br>.This.function
57f80 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 .is.a.GNU.extension..........sq.
57fa0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 0e 0f 74 00 04 ~......w.....t..wchar.hxq.~..t..
57fc0 76 6f 69 64 74 00 06 77 69 6e 74 5f 74 74 00 04 67 6c 6f 62 73 71 00 7e 00 0a 70 74 0c 9f 0a 20 voidt..wint_tt..globsq.~..pt....
57fe0 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f .......The.function.<CODE>glob</
58000 43 4f 44 45 3e 20 64 6f 65 73 20 67 6c 6f 62 62 69 6e 67 20 75 73 69 6e 67 20 74 68 65 20 70 61 CODE>.does.globbing.using.the.pa
58020 74 74 65 72 6e 20 3c 56 41 52 3e 70 61 74 74 65 72 6e 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 ttern.<VAR>pattern</VAR>........
58040 20 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 74 20 ..in.the.current.directory...It.
58060 70 75 74 73 20 74 68 65 20 72 65 73 75 6c 74 20 69 6e 20 61 20 6e 65 77 6c 79 20 61 6c 6c 6f 63 puts.the.result.in.a.newly.alloc
58080 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 2c 20 61 6e 64 20 73 74 6f 72 65 73 ated..........vector,.and.stores
580a0 20 74 68 65 20 73 69 7a 65 20 61 6e 64 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 69 73 20 76 65 .the.size.and.address.of.this.ve
580c0 63 74 6f 72 20 69 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 76 ctor.into..........<CODE>*<VAR>v
580e0 65 63 74 6f 72 2d 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 61 72 67 ector-ptr</VAR></CODE>...The.arg
58100 75 6d 65 6e 74 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 63 6f 6d 62 ument.<VAR>flags</VAR>.is.a.comb
58120 69 6e 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 62 69 74 20 66 6c 61 67 73 3b 20 73 ination.of..........bit.flags;.s
58140 65 65 20 46 6c 61 67 73 20 66 6f 72 20 47 6c 6f 62 62 69 6e 67 2c 20 66 6f 72 20 64 65 74 61 69 ee.Flags.for.Globbing,.for.detai
58160 6c 73 20 6f 66 20 74 68 65 20 66 6c 61 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ls.of.the.flags...........<br><b
58180 72 3e 20 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 67 6c 6f 62 62 69 6e 67 20 69 73 20 61 20 73 r>.The.result.of.globbing.is.a.s
581a0 65 71 75 65 6e 63 65 20 6f 66 20 66 69 6c 65 20 6e 61 6d 65 73 2e 20 20 54 68 65 20 66 75 6e 63 equence.of.file.names...The.func
581c0 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 20 tion..........<CODE>glob</CODE>.
581e0 61 6c 6c 6f 63 61 74 65 73 20 61 20 73 74 72 69 6e 67 20 66 6f 72 20 65 61 63 68 20 72 65 73 75 allocates.a.string.for.each.resu
58200 6c 74 69 6e 67 20 77 6f 72 64 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 lting.word,.then..........alloca
58220 74 65 73 20 61 20 76 65 63 74 6f 72 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 63 68 61 72 20 tes.a.vector.of.type.<CODE>char.
58240 2a 2a 3c 2f 43 4f 44 45 3e 20 74 6f 20 73 74 6f 72 65 20 74 68 65 20 61 64 64 72 65 73 73 65 73 **</CODE>.to.store.the.addresses
58260 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 73 65 20 73 74 72 69 6e 67 73 2e 20 20 54 68 65 .of..........these.strings...The
58280 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 76 65 63 74 6f 72 20 69 73 20 61 .last.element.of.the.vector.is.a
582a0 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 76 65 63 .null.pointer...........This.vec
582c0 74 6f 72 20 69 73 20 63 61 6c 6c 65 64 20 74 68 65 20 77 6f 72 64 20 76 65 63 74 6f 72 2e 0a 20 tor.is.called.the.word.vector...
582e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 72 65 74 75 72 6e 20 74 68 69 73 20 ........<br><br>.To.return.this.
58300 76 65 63 74 6f 72 2c 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 73 vector,.<CODE>glob</CODE>.stores
58320 20 62 6f 74 68 20 69 74 73 20 61 64 64 72 65 73 73 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 20 .both.its.address.and.its.......
58340 20 20 20 6c 65 6e 67 74 68 20 28 6e 75 6d 62 65 72 20 6f 66 20 65 6c 65 6d 65 6e 74 73 2c 20 6e ...length.(number.of.elements,.n
58360 6f 74 20 63 6f 75 6e 74 69 6e 67 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c ot.counting.the.terminating.null
58380 20 70 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 69 6e 74 6f 20 3c 43 4f 44 45 3e 2a 3c .pointer)..........into.<CODE>*<
583a0 56 41 52 3e 76 65 63 74 6f 72 2d 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 VAR>vector-ptr</VAR></CODE>.....
583c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 72 6d 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 67 ......<br><br>.Normally,.<CODE>g
583e0 6c 6f 62 3c 2f 43 4f 44 45 3e 20 73 6f 72 74 73 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 73 20 lob</CODE>.sorts.the.file.names.
58400 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 72 alphabetically.before..........r
58420 65 74 75 72 6e 69 6e 67 20 74 68 65 6d 2e 20 20 59 6f 75 20 63 61 6e 20 74 75 72 6e 20 74 68 69 eturning.them...You.can.turn.thi
58440 73 20 6f 66 66 20 77 69 74 68 20 74 68 65 20 66 6c 61 67 20 3c 43 4f 44 45 3e 47 4c 4f 42 5f 4e s.off.with.the.flag.<CODE>GLOB_N
58460 4f 53 4f 52 54 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 66 20 79 6f 75 20 77 61 6e OSORT</CODE>..........if.you.wan
58480 74 20 74 6f 20 67 65 74 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 73 20 66 61 73 74 t.to.get.the.information.as.fast
584a0 20 61 73 20 70 6f 73 73 69 62 6c 65 2e 20 20 55 73 75 61 6c 6c 79 20 69 74 27 73 0a 20 20 20 20 .as.possible...Usually.it's.....
584c0 20 20 20 20 20 61 20 67 6f 6f 64 20 69 64 65 61 20 74 6f 20 6c 65 74 20 3c 43 4f 44 45 3e 67 6c .....a.good.idea.to.let.<CODE>gl
584e0 6f 62 3c 2f 43 4f 44 45 3e 20 73 6f 72 74 20 74 68 65 6d 2d 2d 2d 69 66 20 79 6f 75 20 70 72 6f ob</CODE>.sort.them---if.you.pro
58500 63 65 73 73 20 74 68 65 20 66 69 6c 65 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 61 6c 70 68 61 cess.the.files.in..........alpha
58520 62 65 74 69 63 61 6c 20 6f 72 64 65 72 2c 20 74 68 65 20 75 73 65 72 73 20 77 69 6c 6c 20 68 61 betical.order,.the.users.will.ha
58540 76 65 20 61 20 66 65 65 6c 20 66 6f 72 20 74 68 65 20 72 61 74 65 20 6f 66 20 70 72 6f 67 72 65 ve.a.feel.for.the.rate.of.progre
58560 73 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f ss..........that.your.applicatio
58580 6e 20 69 73 20 6d 61 6b 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 n.is.making...........<br><br>.I
585a0 66 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 20 73 75 63 63 65 65 64 73 2c 20 69 74 f.<CODE>glob</CODE>.succeeds,.it
585c0 20 72 65 74 75 72 6e 73 20 30 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 72 65 74 75 72 .returns.0...Otherwise,.it.retur
585e0 6e 73 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 73 65 20 65 72 72 6f 72 20 63 ns.one..........of.these.error.c
58600 6f 64 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 odes:..........<br><br>.<DL>....
58620 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 47 4c 4f 42 5f 41 42 4f 52 54 45 44 3c 2f 43 .......<DT><CODE>GLOB_ABORTED</C
58640 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 77 61 73 20 61 6e 20 ODE>.<DD>..........There.was.an.
58660 65 72 72 6f 72 20 6f 70 65 6e 69 6e 67 20 61 20 64 69 72 65 63 74 6f 72 79 2c 20 61 6e 64 20 79 error.opening.a.directory,.and.y
58680 6f 75 20 75 73 65 64 20 74 68 65 20 66 6c 61 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e ou.used.the.flag..........<CODE>
586a0 47 4c 4f 42 5f 45 52 52 3c 2f 43 4f 44 45 3e 20 6f 72 20 79 6f 75 72 20 73 70 65 63 69 66 69 65 GLOB_ERR</CODE>.or.your.specifie
586c0 64 20 3c 56 41 52 3e 65 72 72 66 75 6e 63 3c 2f 56 41 52 3e 20 72 65 74 75 72 6e 65 64 20 61 20 d.<VAR>errfunc</VAR>.returned.a.
586e0 6e 6f 6e 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 nonzero..........value..........
58700 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 2c 0a 20 20 20 20 20 20 20 20 20 .....................,..........
58720 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 61 6e 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 ..........for.an.explanation.of.
58740 74 68 65 20 3c 43 4f 44 45 3e 47 4c 4f 42 5f 45 52 52 3c 2f 43 4f 44 45 3e 20 66 6c 61 67 20 61 the.<CODE>GLOB_ERR</CODE>.flag.a
58760 6e 64 20 3c 56 41 52 3e 65 72 72 66 75 6e 63 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 nd.<VAR>errfunc</VAR>...........
58780 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 47 4c 4f 42 5f 4e 4f 4d 41 54 43 48 3c <br><br>.<DT><CODE>GLOB_NOMATCH<
587a0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 61 74 74 65 72 6e /CODE>.<DD>..........The.pattern
587c0 20 64 69 64 6e 27 74 20 6d 61 74 63 68 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 73 .didn't.match.any.existing.files
587e0 2e 20 20 49 66 20 79 6f 75 20 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 ...If.you.use.the..........<CODE
58800 3e 47 4c 4f 42 5f 4e 4f 43 48 45 43 4b 3c 2f 43 4f 44 45 3e 20 66 6c 61 67 2c 20 74 68 65 6e 20 >GLOB_NOCHECK</CODE>.flag,.then.
58820 79 6f 75 20 6e 65 76 65 72 20 67 65 74 20 74 68 69 73 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 62 you.never.get.this.error.code,.b
58840 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 66 6c 61 67 20 74 65 6c 6c 73 20 ecause..........that.flag.tells.
58860 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 45 4d 3e 70 72 65 74 65 6e 64 <CODE>glob</CODE>.to.<EM>pretend
58880 3c 2f 45 4d 3e 20 74 68 61 74 20 74 68 65 20 70 61 74 74 65 72 6e 20 6d 61 74 63 68 65 64 0a 20 </EM>.that.the.pattern.matched..
588a0 20 20 20 20 20 20 20 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 ........at.least.one.file.......
588c0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 47 4c 4f 42 5f 4e 4f 53 50 ....<br><br>.<DT><CODE>GLOB_NOSP
588e0 41 43 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 49 74 20 77 61 73 20 ACE</CODE>.<DD>..........It.was.
58900 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 6d 65 6d 6f 72 79 20 74 6f impossible.to.allocate.memory.to
58920 20 68 6f 6c 64 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e .hold.the.result...........</DL>
58940 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 74 68 65 20 65 76 65 6e 74 20 ..........<br><br>.In.the.event.
58960 6f 66 20 61 6e 20 65 72 72 6f 72 2c 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 20 73 of.an.error,.<CODE>glob</CODE>.s
58980 74 6f 72 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 tores.information.in..........<C
589a0 4f 44 45 3e 2a 3c 56 41 52 3e 76 65 63 74 6f 72 2d 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 ODE>*<VAR>vector-ptr</VAR></CODE
589c0 3e 20 61 62 6f 75 74 20 61 6c 6c 20 74 68 65 20 6d 61 74 63 68 65 73 20 69 74 20 68 61 73 20 66 >.about.all.the.matches.it.has.f
589e0 6f 75 6e 64 20 73 6f 20 66 61 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 ound.so.far...........<br><br>.I
58a00 74 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 6f 20 6e 6f 74 69 63 65 20 74 68 61 74 20 74 68 t.is.important.to.notice.that.th
58a20 65 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c e.<CODE>glob</CODE>.function.wil
58a40 6c 20 6e 6f 74 20 66 61 69 6c 20 69 66 0a 20 20 20 20 20 20 20 20 20 69 74 20 65 6e 63 6f 75 6e l.not.fail.if..........it.encoun
58a60 74 65 72 73 20 64 69 72 65 63 74 6f 72 69 65 73 20 6f 72 20 66 69 6c 65 73 20 77 68 69 63 68 20 ters.directories.or.files.which.
58a80 63 61 6e 6e 6f 74 20 62 65 20 68 61 6e 64 6c 65 64 20 77 69 74 68 6f 75 74 20 74 68 65 0a 20 20 cannot.be.handled.without.the...
58aa0 20 20 20 20 20 20 20 4c 46 53 20 69 6e 74 65 72 66 61 63 65 73 2e 20 20 54 68 65 20 69 6d 70 6c .......LFS.interfaces...The.impl
58ac0 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 20 ementation.of.<CODE>glob</CODE>.
58ae0 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 73 is.supposed.to.use..........thes
58b00 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 74 65 72 6e 61 6c 6c 79 2e 20 20 54 68 69 73 20 61 74 e.functions.internally...This.at
58b20 20 6c 65 61 73 74 20 69 73 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 6d 61 64 65 20 62 .least.is.the.assumptions.made.b
58b40 79 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 55 6e 69 78 20 73 74 61 6e 64 61 72 64 2e 20 20 54 y..........the.Unix.standard...T
58b60 68 65 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 he.GNU.extension.of.allowing.the
58b80 20 75 73 65 72 20 74 6f 20 70 72 6f 76 69 64 65 0a 20 20 20 20 20 20 20 20 20 6f 77 6e 20 64 69 .user.to.provide..........own.di
58ba0 72 65 63 74 6f 72 79 20 68 61 6e 64 6c 69 6e 67 20 61 6e 64 20 3c 43 4f 44 45 3e 73 74 61 74 3c rectory.handling.and.<CODE>stat<
58bc0 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 6c 69 63 61 74 65 73 20 74 68 69 /CODE>.functions.complicates.thi
58be0 6e 67 73 20 61 0a 20 20 20 20 20 20 20 20 20 62 69 74 2e 20 20 49 66 20 74 68 65 73 65 20 63 61 ngs.a..........bit...If.these.ca
58c00 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 61 6e 64 20 61 20 llback.functions.are.used.and.a.
58c20 6c 61 72 67 65 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 large.file.or.directory.........
58c40 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 .is.encountered.<CODE>glob</CODE
58c60 3e 20 3c 45 4d 3e 63 61 6e 3c 2f 45 4d 3e 20 66 61 69 6c 2e 0a 20 20 20 20 20 20 20 20 73 71 00 >.<EM>can</EM>.fail..........sq.
58c80 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 09 66 6e 6d 61 74 63 68 2e 68 74 00 06 67 6c 6f 62 ~......w.....t..fnmatch.ht..glob
58ca0 2e 68 78 71 00 7e 0e 16 74 00 69 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 61 74 74 65 72 6e 2c 20 .hxq.~..t.iconst.char.*pattern,.
58cc0 69 6e 74 20 66 6c 61 67 73 2c 20 69 6e 74 20 28 2a 65 72 72 66 75 6e 63 29 20 28 63 6f 6e 73 74 int.flags,.int.(*errfunc).(const
58ce0 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 69 6e 74 20 65 72 72 6f 72 2d 63 6f 64 65 29 .char.*filename,.int.error-code)
58d00 2c 20 67 6c 6f 62 5f 74 20 2a 76 65 63 74 6f 72 2d 70 74 72 74 00 03 69 6e 74 74 00 06 67 6c 6f ,.glob_t.*vector-ptrt..intt..glo
58d20 62 36 34 73 71 00 7e 00 0a 70 74 03 88 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e b64sq.~..pt...........The.<CODE>
58d40 67 6c 6f 62 36 34 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 61 64 64 65 64 glob64</CODE>.function.was.added
58d60 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 4c 61 72 67 65 20 46 69 6c 65 20 53 75 6d 6d 69 .as.part.of.the.Large.File.Summi
58d80 74 0a 20 20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 73 20 62 75 74 20 69 73 20 6e 6f 74 t..........extensions.but.is.not
58da0 20 70 61 72 74 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 4c 46 53 20 70 72 6f 70 6f 73 .part.of.the.original.LFS.propos
58dc0 61 6c 2e 20 20 54 68 65 20 72 65 61 73 6f 6e 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 69 al...The.reason.for..........thi
58de0 73 20 69 73 20 73 69 6d 70 6c 65 3a 20 69 74 20 69 73 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 79 s.is.simple:.it.is.not.necessary
58e00 2e 20 20 54 68 65 20 6e 65 63 65 73 73 69 74 79 20 66 6f 72 20 61 20 3c 43 4f 44 45 3e 67 6c 6f ...The.necessity.for.a.<CODE>glo
58e20 62 36 34 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 b64</CODE>..........function.is.
58e40 61 64 64 65 64 20 62 79 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 added.by.the.extensions.of.the.G
58e60 4e 55 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 6d NU.<CODE>glob</CODE>..........im
58e80 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 74 68 65 20 75 73 plementation.which.allows.the.us
58ea0 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 6f 77 6e 20 64 69 72 65 63 74 6f 72 79 20 68 61 6e 64 er.to.provide.own.directory.hand
58ec0 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f ling..........and.<CODE>stat</CO
58ee0 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 DE>.functions...The.<CODE>readdi
58f00 72 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 3e 20 66 r</CODE>.and.<CODE>stat</CODE>.f
58f20 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 64 6f 20 64 65 70 65 6e 64 20 6f 6e 20 74 unctions..........do.depend.on.t
58f40 68 65 20 63 68 6f 69 63 65 20 6f 66 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f he.choice.of.<CODE>_FILE_OFFSET_
58f60 42 49 54 53 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e BITS</CODE>.since.the.definition
58f80 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 74 79 70 65 73 20 3c 43 4f 44 45 3e 73 74 72 ..........of.the.types.<CODE>str
58fa0 75 63 74 20 64 69 72 65 6e 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 73 74 72 75 uct.dirent</CODE>.and.<CODE>stru
58fc0 63 74 20 73 74 61 74 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 63 68 61 6e 67 65 0a 20 20 20 20 20 ct.stat</CODE>.will.change......
58fe0 20 20 20 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 63 68 6f 69 63 65 2e 0a 20 20 20 ....depending.on.the.choice.....
59000 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 65 73 69 64 65 20 74 68 69 73 20 64 69 66 66 65 ......<br><br>.Beside.this.diffe
59020 72 65 6e 63 65 20 74 68 65 20 3c 43 4f 44 45 3e 67 6c 6f 62 36 34 3c 2f 43 4f 44 45 3e 20 77 6f rence.the.<CODE>glob64</CODE>.wo
59040 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 20 rks.just.like.<CODE>glob</CODE>.
59060 69 6e 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 20 61 73 70 65 63 74 73 2e 0a 20 20 20 20 20 20 20 in..........all.aspects.........
59080 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e ..<br><br>.This.function.is.a.GN
590a0 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 U.extension..........sq.~......w
590c0 04 00 00 00 0a 74 00 06 67 6c 6f 62 2e 68 78 71 00 7e 0e 1e 74 00 6b 63 6f 6e 73 74 20 63 68 61 .....t..glob.hxq.~..t.kconst.cha
590e0 72 20 2a 70 61 74 74 65 72 6e 2c 20 69 6e 74 20 66 6c 61 67 73 2c 20 69 6e 74 20 28 2a 65 72 72 r.*pattern,.int.flags,.int.(*err
59100 66 75 6e 63 29 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 69 6e 74 func).(const.char.*filename,.int
59120 20 65 72 72 6f 72 2d 63 6f 64 65 29 2c 20 67 6c 6f 62 36 34 5f 74 20 2a 76 65 63 74 6f 72 2d 70 .error-code),.glob64_t.*vector-p
59140 74 72 74 00 03 69 6e 74 74 00 08 67 6c 6f 62 66 72 65 65 73 71 00 7e 00 0a 70 74 01 40 0a 20 20 trt..intt..globfreesq.~..pt.@...
59160 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 6c 6f 62 66 72 65 65 3c 2f 43 4f 44 45 3e 20 ......The.<CODE>globfree</CODE>.
59180 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 73 20 61 6c 6c 20 72 65 73 6f 75 72 63 65 73 20 61 6c 6c function.frees.all.resources.all
591a0 6f 63 61 74 65 64 20 62 79 20 70 72 65 76 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c ocated.by.previous..........call
591c0 73 20 74 6f 20 3c 43 4f 44 45 3e 67 6c 6f 62 3c 2f 43 4f 44 45 3e 20 61 73 73 6f 63 69 61 74 65 s.to.<CODE>glob</CODE>.associate
591e0 64 20 77 69 74 68 20 74 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a d.with.the.object.pointed.to.by.
59200 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 67 6c 6f 62 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 .........<VAR>pglob</VAR>...This
59220 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 63 61 6c 6c 65 64 20 77 68 65 6e 65 .function.should.be.called.whene
59240 76 65 72 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 ver.the.currently.used..........
59260 3c 43 4f 44 45 3e 67 6c 6f 62 5f 74 3c 2f 43 4f 44 45 3e 20 74 79 70 65 64 20 6f 62 6a 65 63 74 <CODE>glob_t</CODE>.typed.object
59280 20 69 73 6e 27 74 20 75 73 65 64 20 61 6e 79 6d 6f 72 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 .isn't.used.anymore..........sq.
592a0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 67 6c 6f 62 2e 68 78 71 00 7e 0e 25 74 00 0d 67 ~......w.....t..glob.hxq.~.%t..g
592c0 6c 6f 62 5f 74 20 2a 70 67 6c 6f 62 74 00 04 76 6f 69 64 74 00 0a 67 6c 6f 62 66 72 65 65 36 34 lob_t.*pglobt..voidt..globfree64
592e0 73 71 00 7e 00 0a 70 74 00 af 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e sq.~..pt...........This.function
59300 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 67 6c 6f 62 66 72 65 65 .is.equivalent.to.<CODE>globfree
59320 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 74 20 66 72 65 65 73 20 72 65 63 6f 72 64 73 20 6f 66 0a </CODE>.but.it.frees.records.of.
59340 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3c 43 4f 44 45 3e 67 6c 6f 62 36 34 5f 74 3c 2f 43 4f .........type.<CODE>glob64_t</CO
59360 44 45 3e 20 77 68 69 63 68 20 77 65 72 65 20 61 6c 6c 6f 63 61 74 65 64 20 62 79 20 3c 43 4f 44 DE>.which.were.allocated.by.<COD
59380 45 3e 67 6c 6f 62 36 34 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 E>glob64</CODE>..........sq.~...
593a0 00 00 01 77 04 00 00 00 0a 74 00 06 67 6c 6f 62 2e 68 78 71 00 7e 0e 2c 74 00 0f 67 6c 6f 62 36 ...w.....t..glob.hxq.~.,t..glob6
593c0 34 5f 74 20 2a 70 67 6c 6f 62 74 00 04 76 6f 69 64 74 00 06 67 6d 74 69 6d 65 73 71 00 7e 00 0a 4_t.*pglobt..voidt..gmtimesq.~..
593e0 70 74 01 12 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 pt...........This.function.is.si
59400 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 74 69 6d 65 3c 2f 43 4f 44 45 3e 2c milar.to.<CODE>localtime</CODE>,
59420 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 0a 20 20 20 .except.that.the.broken-down....
59440 20 20 20 20 20 20 74 69 6d 65 20 69 73 20 65 78 70 72 65 73 73 65 64 20 61 73 20 43 6f 6f 72 64 ......time.is.expressed.as.Coord
59460 69 6e 61 74 65 64 20 55 6e 69 76 65 72 73 61 6c 20 54 69 6d 65 20 28 55 54 43 29 20 28 66 6f 72 inated.Universal.Time.(UTC).(for
59480 6d 65 72 6c 79 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 20 20 20 47 72 65 65 6e 77 69 63 68 20 merly.called..........Greenwich.
594a0 4d 65 61 6e 20 54 69 6d 65 20 28 47 4d 54 29 29 20 72 61 74 68 65 72 20 74 68 61 6e 20 72 65 6c Mean.Time.(GMT)).rather.than.rel
594c0 61 74 69 76 65 20 74 6f 20 61 20 6c 6f 63 61 6c 20 74 69 6d 65 20 7a 6f 6e 65 2e 0a 20 20 20 20 ative.to.a.local.time.zone......
594e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .....<br><br>.........sq.~......
59500 77 04 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 0e 33 74 00 12 63 6f 6e 73 74 20 74 69 w.....t..time.hxq.~.3t..const.ti
59520 6d 65 5f 74 20 2a 74 69 6d 65 74 00 0b 73 74 72 75 63 74 20 74 6d 20 2a 74 00 08 67 6d 74 69 6d me_t.*timet..struct.tm.*t..gmtim
59540 65 5f 72 73 71 00 7e 00 0a 70 74 01 5e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 e_rsq.~..pt.^.........This.funct
59560 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 74 69 6d ion.is.similar.to.<CODE>localtim
59580 65 5f 72 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 63 6f 6e 76 65 e_r</CODE>,.except.that.it.conve
595a0 72 74 73 0a 20 20 20 20 20 20 20 20 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 67 6d 74 rts..........just.like.<CODE>gmt
595c0 69 6d 65 3c 2f 43 4f 44 45 3e 20 74 68 65 20 67 69 76 65 6e 20 74 69 6d 65 20 61 73 20 43 6f 6f ime</CODE>.the.given.time.as.Coo
595e0 72 64 69 6e 61 74 65 64 20 55 6e 69 76 65 72 73 61 6c 20 54 69 6d 65 2e 0a 20 20 20 20 20 20 20 rdinated.Universal.Time.........
59600 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 ..<br><br>.If.the.conversion.is.
59620 73 75 63 63 65 73 73 66 75 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 successful.the.function.returns.
59640 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 a.pointer.to.the..........object
59660 20 74 68 65 20 72 65 73 75 6c 74 20 77 61 73 20 77 72 69 74 74 65 6e 20 69 6e 74 6f 2c 20 69 2e .the.result.was.written.into,.i.
59680 65 2e 2c 20 69 74 20 72 65 74 75 72 6e 73 20 3c 56 41 52 3e 72 65 73 75 6c 74 70 3c 2f 56 41 52 e.,.it.returns.<VAR>resultp</VAR
596a0 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 74 69 >..........sq.~......w.....t..ti
596c0 6d 65 2e 68 78 71 00 7e 0e 3a 74 00 26 63 6f 6e 73 74 20 74 69 6d 65 5f 74 20 2a 74 69 6d 65 2c me.hxq.~.:t.&const.time_t.*time,
596e0 20 73 74 72 75 63 74 20 74 6d 20 2a 72 65 73 75 6c 74 70 74 00 0b 73 74 72 75 63 74 20 74 6d 20 .struct.tm.*resultpt..struct.tm.
59700 2a 74 00 07 67 72 61 6e 74 70 74 73 71 00 7e 00 0a 70 74 06 49 0a 20 20 20 20 20 20 20 20 54 68 *t..grantptsq.~..pt.I.........Th
59720 65 20 3c 43 4f 44 45 3e 67 72 61 6e 74 70 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 e.<CODE>grantpt</CODE>.function.
59740 63 68 61 6e 67 65 73 20 74 68 65 20 6f 77 6e 65 72 73 68 69 70 20 61 6e 64 20 61 63 63 65 73 73 changes.the.ownership.and.access
59760 20 70 65 72 6d 69 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 73 6c 61 76 .permission..........of.the.slav
59780 65 20 70 73 65 75 64 6f 2d 74 65 72 6d 69 6e 61 6c 20 64 65 76 69 63 65 20 63 6f 72 72 65 73 70 e.pseudo-terminal.device.corresp
597a0 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6d 61 73 74 65 72 0a 20 20 20 20 20 20 20 20 20 70 73 onding.to.the.master..........ps
597c0 65 75 64 6f 2d 74 65 72 6d 69 6e 61 6c 20 64 65 76 69 63 65 20 61 73 73 6f 63 69 61 74 65 64 20 eudo-terminal.device.associated.
597e0 77 69 74 68 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 with.the.file.descriptor........
59800 20 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 6f 77 6e 65 72 ..<VAR>filedes</VAR>...The.owner
59820 20 69 73 20 73 65 74 20 66 72 6f 6d 20 74 68 65 20 72 65 61 6c 20 75 73 65 72 20 49 44 20 6f 66 .is.set.from.the.real.user.ID.of
59840 20 74 68 65 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 2c 20 .the.calling..........process.,.
59860 61 6e 64 20 74 68 65 20 67 72 6f 75 70 20 69 73 20 73 65 74 20 74 6f 20 61 20 73 70 65 63 69 61 and.the.group.is.set.to.a.specia
59880 6c 0a 20 20 20 20 20 20 20 20 20 67 72 6f 75 70 20 28 74 79 70 69 63 61 6c 6c 79 20 74 74 79 29 l..........group.(typically.tty)
598a0 20 6f 72 20 66 72 6f 6d 20 74 68 65 20 72 65 61 6c 20 67 72 6f 75 70 20 49 44 20 6f 66 20 74 68 .or.from.the.real.group.ID.of.th
598c0 65 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2e 20 20 54 68 65 e.calling..........process...The
598e0 20 61 63 63 65 73 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 73 65 74 20 73 75 63 68 20 74 .access.permission.is.set.such.t
59900 68 61 74 20 74 68 65 20 66 69 6c 65 20 69 73 20 62 6f 74 68 0a 20 20 20 20 20 20 20 20 20 72 65 hat.the.file.is.both..........re
59920 61 64 61 62 6c 65 20 61 6e 64 20 77 72 69 74 61 62 6c 65 20 62 79 20 74 68 65 20 6f 77 6e 65 72 adable.and.writable.by.the.owner
59940 20 61 6e 64 20 6f 6e 6c 79 20 77 72 69 74 61 62 6c 65 20 62 79 20 74 68 65 20 67 72 6f 75 70 2e .and.only.writable.by.the.group.
59960 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 73 6f 6d 65 20 73 79 73 74 65 ..........<br><br>.On.some.syste
59980 6d 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 ms.this.function.is.implemented.
599a0 62 79 20 69 6e 76 6f 6b 69 6e 67 20 61 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 20 20 20 20 3c by.invoking.a.special..........<
599c0 43 4f 44 45 3e 73 65 74 75 69 64 3c 2f 43 4f 44 45 3e 20 72 6f 6f 74 20 70 72 6f 67 72 61 6d 2e CODE>setuid</CODE>.root.program.
599e0 20 41 73 20 61 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 65 71 75 65 6e 63 65 2c 20 69 6e 73 74 .As.a..........consequence,.inst
59a00 61 6c 6c 69 6e 67 20 61 20 73 69 67 6e 61 6c 20 68 61 6e 64 6c 65 72 20 66 6f 72 20 74 68 65 20 alling.a.signal.handler.for.the.
59a20 3c 43 4f 44 45 3e 53 49 47 43 48 4c 44 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 0a 20 20 20 20 <CODE>SIGCHLD</CODE>.signal.....
59a40 20 20 20 20 20 20 6d 61 79 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 61 20 63 61 6c 6c 20 ......may.interfere.with.a.call.
59a60 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 72 61 6e 74 70 74 3c 2f 43 4f 44 45 3e to..........<CODE>grantpt</CODE>
59a80 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 ...........<br><br>.The.normal.r
59aa0 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 67 72 61 6e 74 70 74 3c 2f eturn.value.from.<CODE>grantpt</
59ac0 43 4f 44 45 3e 20 69 73 20 30 3b 20 61 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 CODE>.is.0;.a.value.of..........
59ae0 2d 31 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 63 61 73 65 20 6f 66 20 66 61 69 6c 75 72 -1.is.returned.in.case.of.failur
59b00 65 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 e...The.following.<CODE>errno</C
59b20 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 ODE>..........error.conditions.a
59b40 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 re.defined.for.this.function:...
59b60 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c .......<br><br>.<DL>...........<
59b80 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 DT><CODE>EBADF</CODE>.<DD>......
59ba0 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d ....The.<VAR>filedes</VAR>.argum
59bc0 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 ent.is.not.a.valid.file.descript
59be0 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e or...........<br><br>.<DT><CODE>
59c00 45 49 4e 56 41 4c 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 EINVAL..........The.<VAR>filedes
59c20 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 61 74 65 </VAR>.argument.is.not.associate
59c40 64 20 77 69 74 68 20 61 20 6d 61 73 74 65 72 20 70 73 65 75 64 6f 2d 74 65 72 6d 69 6e 61 6c 3c d.with.a.master.pseudo-terminal<
59c60 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 2e 0a 20 20 20 /CODE>.<DD>..........device.....
59c80 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 0a ......<br><br>.<DT><CODE>EACCES.
59ca0 20 20 20 20 20 20 20 20 20 54 68 65 20 73 6c 61 76 65 20 70 73 65 75 64 6f 2d 74 65 72 6d 69 6e .........The.slave.pseudo-termin
59cc0 61 6c 20 64 65 76 69 63 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6d al.device.corresponding.to.the.m
59ce0 61 73 74 65 72 20 61 73 73 6f 63 69 61 74 65 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 aster.associated</CODE>.<DD>....
59d00 20 20 20 20 20 20 77 69 74 68 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 63 6f ......with.<VAR>filedes</VAR>.co
59d20 75 6c 64 20 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f uld.not.be.accessed...........</
59d40 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 DL>..........<br><br>.........sq
59d60 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 0e 41 74 .~......w.....t..stdlib.hxq.~.At
59d80 00 0b 69 6e 74 20 66 69 6c 65 64 65 73 74 00 03 69 6e 74 74 00 07 67 73 69 67 6e 61 6c 73 71 00 ..int.filedest..intt..gsignalsq.
59da0 7e 00 0a 70 74 00 98 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 67 73 69 67 6e 61 ~..pt...........The.<CODE>gsigna
59dc0 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 l</CODE>.function.does.the.same.
59de0 74 68 69 6e 67 20 61 73 20 3c 43 4f 44 45 3e 72 61 69 73 65 3c 2f 43 4f 44 45 3e 3b 20 69 74 20 thing.as.<CODE>raise</CODE>;.it.
59e00 69 73 0a 20 20 20 20 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 6f 6e 6c 79 20 66 6f 72 20 63 6f is..........provided.only.for.co
59e20 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 53 56 49 44 2e 0a 20 20 20 20 20 20 20 20 73 mpatibility.with.SVID..........s
59e40 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 0e 48 q.~......w.....t..signal.hxq.~.H
59e60 74 00 0a 69 6e 74 20 73 69 67 6e 75 6d 74 00 03 69 6e 74 74 00 04 67 74 74 79 73 71 00 7e 00 0a t..int.signumt..intt..gttysq.~..
59e80 70 74 00 f6 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 pt...........This.function.gets.
59ea0 74 68 65 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 20 20 the.attributes.of.a.terminal....
59ec0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 67 74 74 79 3c 2f 43 4f 44 45 .......<br><br>.<CODE>gtty</CODE
59ee0 3e 20 73 65 74 73 20 2a 3c 56 41 52 3e 61 74 74 72 69 62 75 74 65 73 3c 2f 56 41 52 3e 20 74 6f >.sets.*<VAR>attributes</VAR>.to
59f00 20 64 65 73 63 72 69 62 65 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 61 74 74 72 69 62 75 74 65 .describe.the.terminal.attribute
59f20 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 77 68 69 63 68 s..........of.the.terminal.which
59f40 20 69 73 20 6f 70 65 6e 20 77 69 74 68 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 .is.open.with.file.descriptor.<V
59f60 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f AR>filedes</VAR>..........sq.~..
59f80 00 00 00 02 77 04 00 00 00 0a 74 00 09 74 65 72 6d 69 6f 73 2e 68 74 00 07 73 67 74 74 79 2e 68 ....w.....t..termios.ht..sgtty.h
59fa0 78 71 00 7e 0e 4f 74 00 26 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 73 74 72 75 63 74 20 73 67 74 xq.~.Ot.&int.filedes,.struct.sgt
59fc0 74 79 62 20 2a 61 74 74 72 69 62 75 74 65 73 74 00 03 69 6e 74 74 00 09 68 61 73 6d 6e 74 6f 70 tyb.*attributest..intt..hasmntop
59fe0 74 73 71 00 7e 00 0a 70 74 02 99 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f tsq.~..pt...........This.functio
5a000 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 n.can.be.used.to.check.whether.t
5a020 68 65 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 0a 20 20 20 20 he.string.pointed.to.by.the.....
5a040 20 20 20 20 20 3c 43 4f 44 45 3e 6d 6e 74 5f 6f 70 74 73 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 .....<CODE>mnt_opts</CODE>.eleme
5a060 6e 74 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 nt.of.the.variable.pointed.to.by
5a080 20 3c 56 41 52 3e 6d 6e 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 20 .<VAR>mnt</VAR>.contains........
5a0a0 20 20 74 68 65 20 6f 70 74 69 6f 6e 20 3c 56 41 52 3e 6f 70 74 3c 2f 56 41 52 3e 2e 20 20 49 66 ..the.option.<VAR>opt</VAR>...If
5a0c0 20 74 68 69 73 20 69 73 20 74 72 75 65 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 62 .this.is.true.a.pointer.to.the.b
5a0e0 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 20 eginning.of.the..........option.
5a100 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 6d 6e 74 5f 6f 70 74 73 3c 2f 43 4f 44 45 3e 20 65 6c 65 in.the.<CODE>mnt_opts</CODE>.ele
5a120 6d 65 6e 74 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 49 66 20 6e 6f 20 73 75 63 68 20 6f 70 ment.is.returned...If.no.such.op
5a140 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 65 78 69 73 74 73 20 74 68 65 20 66 75 6e 63 74 69 6f tion..........exists.the.functio
5a160 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 n.returns.<CODE>NULL</CODE>.....
5a180 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 ......<br><br>.This.function.is.
5a1a0 75 73 65 66 75 6c 20 74 6f 20 74 65 73 74 20 77 68 65 74 68 65 72 20 61 20 73 70 65 63 69 66 69 useful.to.test.whether.a.specifi
5a1c0 63 20 6f 70 74 69 6f 6e 20 69 73 20 70 72 65 73 65 6e 74 20 62 75 74 0a 20 20 20 20 20 20 20 20 c.option.is.present.but.........
5a1e0 20 77 68 65 6e 20 61 6c 6c 20 6f 70 74 69 6f 6e 73 20 68 61 76 65 20 74 6f 20 62 65 20 70 72 6f .when.all.options.have.to.be.pro
5a200 63 65 73 73 65 64 20 6f 6e 65 20 69 73 20 62 65 74 74 65 72 20 6f 66 66 20 77 69 74 68 20 75 73 cessed.one.is.better.off.with.us
5a220 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 73 75 62 6f 70 74 ing.the..........<CODE>getsubopt
5a240 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 </CODE>.function.to.iterate.over
5a260 20 61 6c 6c 20 6f 70 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 .all.options.in.the.string......
5a280 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6d 6e 74 65 6e 74 2e 68 78 ....sq.~......w.....t..mntent.hx
5a2a0 71 00 7e 0e 57 74 00 29 63 6f 6e 73 74 20 73 74 72 75 63 74 20 6d 6e 74 65 6e 74 20 2a 6d 6e 74 q.~.Wt.)const.struct.mntent.*mnt
5a2c0 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 70 74 74 00 06 63 68 61 72 20 2a 74 00 07 68 63 72 ,.const.char.*optt..char.*t..hcr
5a2e0 65 61 74 65 73 71 00 7e 00 0a 70 74 06 48 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 eatesq.~..pt.H.........The.<CODE
5a300 3e 68 63 72 65 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 >hcreate</CODE>.function.creates
5a320 20 61 20 68 61 73 68 69 6e 67 20 74 61 62 6c 65 20 77 68 69 63 68 20 63 61 6e 20 63 6f 6e 74 61 .a.hashing.table.which.can.conta
5a340 69 6e 20 61 74 0a 20 20 20 20 20 20 20 20 20 6c 65 61 73 74 20 3c 56 41 52 3e 6e 65 6c 3c 2f 56 in.at..........least.<VAR>nel</V
5a360 41 52 3e 20 65 6c 65 6d 65 6e 74 73 2e 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 70 6f 73 73 69 AR>.elements...There.is.no.possi
5a380 62 69 6c 69 74 79 20 74 6f 20 67 72 6f 77 20 74 68 69 73 20 74 61 62 6c 65 20 73 6f 0a 20 20 20 bility.to.grow.this.table.so....
5a3a0 20 20 20 20 20 20 69 74 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 63 68 6f 6f 73 65 20 ......it.is.necessary.to.choose.
5a3c0 74 68 65 20 76 61 6c 75 65 20 66 6f 72 20 3c 56 41 52 3e 6e 65 6c 3c 2f 56 41 52 3e 20 77 69 73 the.value.for.<VAR>nel</VAR>.wis
5a3e0 65 6c 79 2e 20 20 54 68 65 20 6d 65 74 68 6f 64 0a 20 20 20 20 20 20 20 20 20 75 73 65 64 20 74 ely...The.method..........used.t
5a400 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 69 67 68 74 20 o.implement.this.function.might.
5a420 6d 61 6b 65 20 69 74 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 6d 61 6b 65 20 74 68 65 0a 20 20 make.it.necessary.to.make.the...
5a440 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 .......number.of.elements.in.the
5a460 20 68 61 73 68 69 6e 67 20 74 61 62 6c 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 65 .hashing.table.larger.than.the.e
5a480 78 70 65 63 74 65 64 20 6d 61 78 69 6d 61 6c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 xpected.maximal..........number.
5a4a0 6f 66 20 65 6c 65 6d 65 6e 74 73 2e 20 20 48 61 73 68 69 6e 67 20 74 61 62 6c 65 73 20 75 73 75 of.elements...Hashing.tables.usu
5a4c0 61 6c 6c 79 20 77 6f 72 6b 20 69 6e 65 66 66 69 63 69 65 6e 74 6c 79 20 69 66 20 74 68 65 79 20 ally.work.inefficiently.if.they.
5a4e0 61 72 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 6c 65 64 20 38 30 25 20 6f 72 20 6d 6f 72 65 2e are..........filled.80%.or.more.
5a500 20 20 54 68 65 20 63 6f 6e 73 74 61 6e 74 20 61 63 63 65 73 73 20 74 69 6d 65 20 67 75 61 72 61 ..The.constant.access.time.guara
5a520 6e 74 65 65 64 20 62 79 20 68 61 73 68 69 6e 67 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 6f 6e nteed.by.hashing.can..........on
5a540 6c 79 20 62 65 20 61 63 68 69 65 76 65 64 20 69 66 20 66 65 77 20 63 6f 6c 6c 69 73 69 6f 6e 73 ly.be.achieved.if.few.collisions
5a560 20 65 78 69 73 74 2e 20 20 53 65 65 20 4b 6e 75 74 68 27 73 20 60 60 54 68 65 20 41 72 74 20 6f .exist...See.Knuth's.``The.Art.o
5a580 66 0a 20 20 20 20 20 20 20 20 20 43 6f 6d 70 75 74 65 72 20 50 72 6f 67 72 61 6d 6d 69 6e 67 2c f..........Computer.Programming,
5a5a0 20 50 61 72 74 20 33 3a 20 53 65 61 72 63 68 69 6e 67 20 61 6e 64 20 53 6f 72 74 69 6e 67 27 27 .Part.3:.Searching.and.Sorting''
5a5c0 20 66 6f 72 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a .for.more..........information..
5a5e0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 77 65 61 6b 65 73 74 20 61 73 .........<br><br>.The.weakest.as
5a600 70 65 63 74 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 61 74 20 74 68 pect.of.this.function.is.that.th
5a620 65 72 65 20 63 61 6e 20 62 65 20 61 74 20 6d 6f 73 74 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 ere.can.be.at.most.one..........
5a640 68 61 73 68 69 6e 67 20 74 61 62 6c 65 20 75 73 65 64 20 74 68 72 6f 75 67 68 20 74 68 65 20 77 hashing.table.used.through.the.w
5a660 68 6f 6c 65 20 70 72 6f 67 72 61 6d 2e 20 20 54 68 65 20 74 61 62 6c 65 20 69 73 20 61 6c 6c 6f hole.program...The.table.is.allo
5a680 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 6c 6f 63 61 6c 20 6d 65 6d 6f 72 79 20 6f cated..........in.local.memory.o
5a6a0 75 74 20 6f 66 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 2e ut.of.control.of.the.programmer.
5a6c0 20 20 41 73 20 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 47 ..As.an.extension.the..........G
5a6e0 4e 55 20 43 20 6c 69 62 72 61 72 79 20 70 72 6f 76 69 64 65 73 20 61 6e 20 61 64 64 69 74 69 6f NU.C.library.provides.an.additio
5a700 6e 61 6c 20 73 65 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 74 68 20 61 6e 20 72 65 65 nal.set.of.functions.with.an.ree
5a720 6e 74 72 61 6e 74 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 20 77 68 69 63 68 20 ntrant..........interface.which.
5a740 70 72 6f 76 69 64 65 20 61 20 73 69 6d 69 6c 61 72 20 69 6e 74 65 72 66 61 63 65 20 62 75 74 20 provide.a.similar.interface.but.
5a760 77 68 69 63 68 20 61 6c 6c 6f 77 20 74 6f 20 6b 65 65 70 0a 20 20 20 20 20 20 20 20 20 61 72 62 which.allow.to.keep..........arb
5a780 69 74 72 61 72 69 6c 79 20 6d 61 6e 79 20 68 61 73 68 69 6e 67 20 74 61 62 6c 65 73 2e 0a 20 20 itrarily.many.hashing.tables....
5a7a0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 .......<br><br>.It.is.possible.t
5a7c0 6f 20 75 73 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 68 61 73 68 69 6e 67 20 74 61 62 6c o.use.more.than.one.hashing.tabl
5a7e0 65 20 69 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 20 72 75 6e 20 69 66 0a 20 20 20 20 20 20 20 20 e.in.the.program.run.if.........
5a800 20 74 68 65 20 66 6f 72 6d 65 72 20 74 61 62 6c 65 20 69 73 20 66 69 72 73 74 20 64 65 73 74 72 .the.former.table.is.first.destr
5a820 6f 79 65 64 20 62 79 20 61 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 68 64 65 73 74 72 6f 79 oyed.by.a.call.to.<CODE>hdestroy
5a840 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 </CODE>...........<br><br>.The.f
5a860 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 76 61 6c 75 65 unction.returns.a.non-zero.value
5a880 20 69 66 20 73 75 63 63 65 73 73 66 75 6c 2e 20 20 49 66 20 69 74 20 72 65 74 75 72 6e 20 7a 65 .if.successful...If.it.return.ze
5a8a0 72 6f 0a 20 20 20 20 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 ro..........something.went.wrong
5a8c0 2e 20 20 54 68 69 73 20 63 6f 75 6c 64 20 65 69 74 68 65 72 20 6d 65 61 6e 20 74 68 65 72 65 20 ...This.could.either.mean.there.
5a8e0 69 73 20 61 6c 72 65 61 64 79 20 61 20 68 61 73 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 61 is.already.a.hashing..........ta
5a900 62 6c 65 20 69 6e 20 75 73 65 20 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 20 72 75 6e 73 20 6f ble.in.use.or.the.program.runs.o
5a920 75 74 20 6f 66 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ut.of.memory..........sq.~......
5a940 77 04 00 00 00 0a 74 00 08 73 65 61 72 63 68 2e 68 78 71 00 7e 0e 5e 74 00 0a 73 69 7a 65 5f 74 w.....t..search.hxq.~.^t..size_t
5a960 20 6e 65 6c 74 00 03 69 6e 74 74 00 09 68 63 72 65 61 74 65 5f 72 73 71 00 7e 00 0a 70 74 03 29 .nelt..intt..hcreate_rsq.~..pt.)
5a980 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 68 63 72 65 61 74 65 5f 72 3c 2f 43 4f .........The.<CODE>hcreate_r</CO
5a9a0 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 6f 62 6a DE>.function.initializes.the.obj
5a9c0 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e ect.pointed.to.by..........<VAR>
5a9e0 68 74 61 62 3c 2f 56 41 52 3e 20 74 6f 20 63 6f 6e 74 61 69 6e 20 61 20 68 61 73 68 69 6e 67 20 htab</VAR>.to.contain.a.hashing.
5aa00 74 61 62 6c 65 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 20 3c 56 41 52 3e 6e 65 6c 3c 2f 56 41 table.with.at.least.<VAR>nel</VA
5aa20 52 3e 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 53 6f 20 74 68 69 73 20 66 75 R>.elements...........So.this.fu
5aa40 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 nction.is.equivalent.to.the.<COD
5aa60 45 3e 68 63 72 65 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 E>hcreate</CODE>.function.except
5aa80 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 64 ..........that.the.initialized.d
5aaa0 61 74 61 20 73 74 72 75 63 74 75 72 65 20 69 73 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 74 ata.structure.is.controlled.by.t
5aac0 68 65 20 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 he.user...........<br><br>.This.
5aae0 61 6c 6c 6f 77 73 20 68 61 76 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 68 61 73 68 allows.having.more.than.one.hash
5ab00 69 6e 67 20 74 61 62 6c 65 20 61 74 20 6f 6e 65 20 74 69 6d 65 2e 20 20 54 68 65 20 6d 65 6d 6f ing.table.at.one.time...The.memo
5ab20 72 79 0a 20 20 20 20 20 20 20 20 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 20 74 68 65 20 3c 43 ry..........necessary.for.the.<C
5ab40 4f 44 45 3e 73 74 72 75 63 74 20 68 73 65 61 72 63 68 5f 64 61 74 61 3c 2f 43 4f 44 45 3e 20 6f ODE>struct.hsearch_data</CODE>.o
5ab60 62 6a 65 63 74 20 63 61 6e 20 62 65 20 61 6c 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 bject.can.be.allocated..........
5ab80 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 20 20 49 74 20 6d 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c dynamically...It.must.be.initial
5aba0 69 7a 65 64 20 77 69 74 68 20 7a 65 72 6f 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 74 68 ized.with.zero.before.calling.th
5abc0 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c is..........function...........<
5abe0 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d br><br>.The.return.value.is.non-
5ac00 7a 65 72 6f 20 69 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 zero.if.the.operation.was.succes
5ac20 73 66 75 6c 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 sful...If.the..........return.va
5ac40 6c 75 65 20 69 73 20 7a 65 72 6f 2c 20 73 6f 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e lue.is.zero,.something.went.wron
5ac60 67 2c 20 77 68 69 63 68 20 70 72 6f 62 61 62 6c 79 20 6d 65 61 6e 73 20 74 68 65 0a 20 20 20 20 g,.which.probably.means.the.....
5ac80 20 20 20 20 20 70 72 6f 67 72 61 6d 73 20 72 61 6e 20 6f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 2e .....programs.ran.out.of.memory.
5aca0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 65 61 72 .........sq.~......w.....t..sear
5acc0 63 68 2e 68 78 71 00 7e 0e 65 74 00 25 73 69 7a 65 5f 74 20 6e 65 6c 2c 20 73 74 72 75 63 74 20 ch.hxq.~.et.%size_t.nel,.struct.
5ace0 68 73 65 61 72 63 68 5f 64 61 74 61 20 2a 68 74 61 62 74 00 03 69 6e 74 74 00 08 68 64 65 73 74 hsearch_data.*htabt..intt..hdest
5ad00 72 6f 79 73 71 00 7e 00 0a 70 74 04 e0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e roysq.~..pt...........The.<CODE>
5ad20 68 64 65 73 74 72 6f 79 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 hdestroy</CODE>.function.can.be.
5ad40 75 73 65 64 20 74 6f 20 66 72 65 65 20 61 6c 6c 20 74 68 65 20 72 65 73 6f 75 72 63 65 73 0a 20 used.to.free.all.the.resources..
5ad60 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 69 6e 20 61 20 70 72 65 76 69 6f 75 73 20 ........allocated.in.a.previous.
5ad80 63 61 6c 6c 20 6f 66 20 3c 43 4f 44 45 3e 68 63 72 65 61 74 65 3c 2f 43 4f 44 45 3e 2e 20 20 41 call.of.<CODE>hcreate</CODE>...A
5ada0 66 74 65 72 20 61 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e fter.a.call.to.this..........fun
5adc0 63 74 69 6f 6e 20 69 74 20 69 73 20 61 67 61 69 6e 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 63 61 ction.it.is.again.possible.to.ca
5ade0 6c 6c 20 3c 43 4f 44 45 3e 68 63 72 65 61 74 65 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 61 6c 6c 6f ll.<CODE>hcreate</CODE>.and.allo
5ae00 63 61 74 65 20 61 20 6e 65 77 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 20 77 69 74 68 20 70 cate.a.new..........table.with.p
5ae20 6f 73 73 69 62 6c 79 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 20 20 ossibly.different.size..........
5ae40 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 6f 20 72 65 6d .<br><br>.It.is.important.to.rem
5ae60 65 6d 62 65 72 20 74 68 61 74 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 63 6f 6e 74 61 69 6e 65 ember.that.the.elements.containe
5ae80 64 20 69 6e 20 74 68 65 20 68 61 73 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 20 d.in.the.hashing..........table.
5aea0 61 74 20 74 68 65 20 74 69 6d 65 20 3c 43 4f 44 45 3e 68 64 65 73 74 72 6f 79 3c 2f 43 4f 44 45 at.the.time.<CODE>hdestroy</CODE
5aec0 3e 20 69 73 20 63 61 6c 6c 65 64 20 61 72 65 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 66 72 65 >.is.called.are.<EM>not</EM>.fre
5aee0 65 64 20 62 79 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 ed.by.this..........function...I
5af00 74 20 69 73 20 74 68 65 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 70 t.is.the.responsibility.of.the.p
5af20 72 6f 67 72 61 6d 20 63 6f 64 65 20 74 6f 20 66 72 65 65 20 74 68 6f 73 65 0a 20 20 20 20 20 20 rogram.code.to.free.those.......
5af40 20 20 20 73 74 72 69 6e 67 73 20 28 69 66 20 6e 65 63 65 73 73 61 72 79 20 61 74 20 61 6c 6c 29 ...strings.(if.necessary.at.all)
5af60 2e 20 20 46 72 65 65 69 6e 67 20 61 6c 6c 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 6d 65 6d 6f 72 ...Freeing.all.the.element.memor
5af80 79 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 6f y.is.not..........possible.witho
5afa0 75 74 20 65 78 74 72 61 2c 20 73 65 70 61 72 61 74 65 6c 79 20 6b 65 70 74 20 69 6e 66 6f 72 6d ut.extra,.separately.kept.inform
5afc0 61 74 69 6f 6e 20 73 69 6e 63 65 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 20 20 20 20 20 20 20 20 ation.since.there.is.no.........
5afe0 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 74 65 72 61 74 65 20 74 68 72 6f 75 67 68 20 61 6c 6c .function.to.iterate.through.all
5b000 20 61 76 61 69 6c 61 62 6c 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 68 61 73 68 69 .available.elements.in.the.hashi
5b020 6e 67 20 74 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 69 74 20 69 73 20 72 65 61 6c ng.table...........If.it.is.real
5b040 6c 79 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 66 72 65 65 20 61 20 74 61 62 6c 65 20 61 6e 64 ly.necessary.to.free.a.table.and
5b060 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 .all.elements.the..........progr
5b080 61 6d 6d 65 72 20 68 61 73 20 74 6f 20 6b 65 65 70 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 ammer.has.to.keep.a.list.of.all.
5b0a0 74 61 62 6c 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e table.elements.and.before.callin
5b0c0 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 68 64 65 73 74 72 6f 79 3c 2f 43 4f 44 45 3e g..........<CODE>hdestroy</CODE>
5b0e0 20 73 2f 68 65 20 68 61 73 20 74 6f 20 66 72 65 65 20 61 6c 6c 20 65 6c 65 6d 65 6e 74 27 73 20 .s/he.has.to.free.all.element's.
5b100 64 61 74 61 20 75 73 69 6e 67 20 74 68 69 73 20 6c 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 54 data.using.this.list...........T
5b120 68 69 73 20 69 73 20 61 20 76 65 72 79 20 75 6e 70 6c 65 61 73 61 6e 74 20 6d 65 63 68 61 6e 69 his.is.a.very.unpleasant.mechani
5b140 73 6d 20 61 6e 64 20 69 74 20 61 6c 73 6f 20 73 68 6f 77 73 20 74 68 61 74 20 74 68 69 73 20 6b sm.and.it.also.shows.that.this.k
5b160 69 6e 64 20 6f 66 0a 20 20 20 20 20 20 20 20 20 68 61 73 68 69 6e 67 20 74 61 62 6c 65 73 20 69 ind.of..........hashing.tables.i
5b180 73 20 6d 61 69 6e 6c 79 20 6d 65 61 6e 74 20 66 6f 72 20 74 61 62 6c 65 73 20 77 68 69 63 68 20 s.mainly.meant.for.tables.which.
5b1a0 61 72 65 20 63 72 65 61 74 65 64 20 6f 6e 63 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 75 73 are.created.once.and..........us
5b1c0 65 64 20 75 6e 74 69 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 ed.until.the.end.of.the.program.
5b1e0 72 75 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 run..........sq.~......w.....t..
5b200 73 65 61 72 63 68 2e 68 78 71 00 7e 0e 6c 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 0a 68 search.hxq.~.lt..voidt..voidt..h
5b220 64 65 73 74 72 6f 79 5f 72 73 71 00 7e 00 0a 70 74 01 34 0a 20 20 20 20 20 20 20 20 54 68 65 20 destroy_rsq.~..pt.4.........The.
5b240 3c 43 4f 44 45 3e 68 64 65 73 74 72 6f 79 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e <CODE>hdestroy_r</CODE>.function
5b260 20 66 72 65 65 73 20 61 6c 6c 20 72 65 73 6f 75 72 63 65 73 20 61 6c 6c 6f 63 61 74 65 64 20 62 .frees.all.resources.allocated.b
5b280 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 68 63 72 65 61 74 65 5f 72 3c 2f y.the..........<CODE>hcreate_r</
5b2a0 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 20 76 65 72 79 20 73 61 6d CODE>.function.for.this.very.sam
5b2c0 65 20 6f 62 6a 65 63 74 20 3c 56 41 52 3e 68 74 61 62 3c 2f 56 41 52 3e 2e 20 20 41 73 20 66 6f e.object.<VAR>htab</VAR>...As.fo
5b2e0 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 68 64 65 73 74 72 6f 79 3c 2f 43 4f 44 45 3e r..........<CODE>hdestroy</CODE>
5b300 20 69 74 20 69 73 20 74 68 65 20 70 72 6f 67 72 61 6d 73 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 .it.is.the.programs.responsibili
5b320 74 79 20 74 6f 20 66 72 65 65 20 74 68 65 20 73 74 72 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 ty.to.free.the.strings..........
5b340 66 6f 72 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 74 61 62 6c 65 2e 0a 20 for.the.elements.of.the.table...
5b360 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 65 61 72 63 68 .......sq.~......w.....t..search
5b380 2e 68 78 71 00 7e 0e 73 74 00 19 73 74 72 75 63 74 20 68 73 65 61 72 63 68 5f 64 61 74 61 20 2a .hxq.~.st..struct.hsearch_data.*
5b3a0 68 74 61 62 74 00 04 76 6f 69 64 74 00 07 68 73 65 61 72 63 68 73 71 00 7e 00 0a 70 74 04 98 0a htabt..voidt..hsearchsq.~..pt...
5b3c0 20 20 20 20 20 20 20 20 54 6f 20 73 65 61 72 63 68 20 69 6e 20 61 20 68 61 73 68 69 6e 67 20 74 ........To.search.in.a.hashing.t
5b3e0 61 62 6c 65 20 63 72 65 61 74 65 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 68 63 72 65 61 74 65 able.created.using.<CODE>hcreate
5b400 3c 2f 43 4f 44 45 3e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 68 73 65 61 72 </CODE>.the..........<CODE>hsear
5b420 63 68 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 75 73 65 64 2e ch</CODE>.function.must.be.used.
5b440 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 70 65 72 66 6f 72 6d 20 73 69 6d 70 ..This.function.can.perform.simp
5b460 6c 65 0a 20 20 20 20 20 20 20 20 20 73 65 61 72 63 68 20 66 6f 72 20 61 6e 20 65 6c 65 6d 65 6e le..........search.for.an.elemen
5b480 74 20 28 69 66 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 68 61 73 20 74 68 65 20 t.(if.<VAR>action</VAR>.has.the.
5b4a0 3c 43 4f 44 45 3e 46 49 4e 44 3c 2f 43 4f 44 45 3e 29 20 6f 72 20 69 74 20 63 61 6e 0a 20 20 20 <CODE>FIND</CODE>).or.it.can....
5b4c0 20 20 20 20 20 20 61 6c 74 65 72 6e 61 74 69 76 65 6c 79 20 69 6e 73 65 72 74 20 74 68 65 20 6b ......alternatively.insert.the.k
5b4e0 65 79 20 65 6c 65 6d 65 6e 74 20 69 6e 74 6f 20 74 68 65 20 68 61 73 68 69 6e 67 20 74 61 62 6c ey.element.into.the.hashing.tabl
5b500 65 2e 20 20 45 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 6e 65 76 65 72 20 72 e...Entries..........are.never.r
5b520 65 70 6c 61 63 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6b eplaced...........<br><br>.The.k
5b540 65 79 20 69 73 20 64 65 6e 6f 74 65 64 20 62 79 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e ey.is.denoted.by.a.pointer.to.an
5b560 20 6f 62 6a 65 63 74 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 45 4e 54 52 59 3c 2f 43 4f 44 .object.of.type.<CODE>ENTRY</COD
5b580 45 3e 2e 20 20 46 6f 72 0a 20 20 20 20 20 20 20 20 20 6c 6f 63 61 74 69 6e 67 20 74 68 65 20 63 E>...For..........locating.the.c
5b5a0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 68 61 73 orresponding.position.in.the.has
5b5c0 68 69 6e 67 20 74 61 62 6c 65 20 6f 6e 6c 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f hing.table.only.the..........<CO
5b5e0 44 45 3e 6b 65 79 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 73 74 72 DE>key</CODE>.element.of.the.str
5b600 75 63 74 75 72 65 20 69 73 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ucture.is.used...........<br><br
5b620 3e 20 49 66 20 61 6e 20 65 6e 74 72 79 20 77 69 74 68 20 6d 61 74 63 68 69 6e 67 20 6b 65 79 20 >.If.an.entry.with.matching.key.
5b640 69 73 20 66 6f 75 6e 64 20 74 68 65 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 70 is.found.the.<VAR>action</VAR>.p
5b660 61 72 61 6d 65 74 65 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 69 72 72 65 6c 65 76 61 6e 74 2e arameter.is..........irrelevant.
5b680 20 20 54 68 65 20 66 6f 75 6e 64 20 65 6e 74 72 79 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 ..The.found.entry.is.returned...
5b6a0 49 66 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 65 6e 74 72 79 20 69 73 20 66 6f 75 6e 64 0a 20 20 If.no.matching.entry.is.found...
5b6c0 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e .......and.the.<VAR>action</VAR>
5b6e0 20 70 61 72 61 6d 65 74 65 72 20 68 61 73 20 74 68 65 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 46 .parameter.has.the.value.<CODE>F
5b700 49 4e 44 3c 2f 43 4f 44 45 3e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 IND</CODE>.the.function.........
5b720 20 72 65 74 75 72 6e 73 20 61 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 70 6f 69 .returns.a.<CODE>NULL</CODE>.poi
5b740 6e 74 65 72 2e 20 20 49 66 20 6e 6f 20 65 6e 74 72 79 20 69 73 20 66 6f 75 6e 64 20 61 6e 64 20 nter...If.no.entry.is.found.and.
5b760 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 70 the..........<VAR>action</VAR>.p
5b780 61 72 61 6d 65 74 65 72 20 68 61 73 20 74 68 65 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 45 4e 54 arameter.has.the.value.<CODE>ENT
5b7a0 45 52 3c 2f 43 4f 44 45 3e 20 61 20 6e 65 77 20 65 6e 74 72 79 20 69 73 20 61 64 64 65 64 0a 20 ER</CODE>.a.new.entry.is.added..
5b7c0 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 68 61 73 68 69 6e 67 20 74 61 62 6c 65 20 77 68 69 ........to.the.hashing.table.whi
5b7e0 63 68 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 77 69 74 68 20 74 68 65 20 70 61 72 61 6d ch.is.initialized.with.the.param
5b800 65 74 65 72 20 3c 56 41 52 3e 69 74 65 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 41 eter.<VAR>item</VAR>...........A
5b820 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 77 6c 79 20 61 64 64 65 64 20 65 6e 74 72 .pointer.to.the.newly.added.entr
5b840 79 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 y.is.returned..........sq.~.....
5b860 01 77 04 00 00 00 0a 74 00 08 73 65 61 72 63 68 2e 68 78 71 00 7e 0e 7a 74 00 19 45 4e 54 52 59 .w.....t..search.hxq.~.zt..ENTRY
5b880 20 69 74 65 6d 2c 20 41 43 54 49 4f 4e 20 61 63 74 69 6f 6e 74 00 07 45 4e 54 52 59 20 2a 74 00 .item,.ACTION.actiont..ENTRY.*t.
5b8a0 09 68 73 65 61 72 63 68 5f 72 73 71 00 7e 00 0a 70 74 05 0f 0a 20 20 20 20 20 20 20 20 54 68 65 .hsearch_rsq.~..pt...........The
5b8c0 20 3c 43 4f 44 45 3e 68 73 65 61 72 63 68 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .<CODE>hsearch_r</CODE>.function
5b8e0 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 68 73 65 61 72 63 68 3c .is.equivalent.to.<CODE>hsearch<
5b900 2f 43 4f 44 45 3e 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 6d 65 61 6e 69 6e 67 20 6f 66 /CODE>...The..........meaning.of
5b920 20 74 68 65 20 66 69 72 73 74 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 20 69 73 20 69 64 65 6e .the.first.two.arguments.is.iden
5b940 74 69 63 61 6c 2e 20 20 42 75 74 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 20 20 20 20 20 20 20 tical...But.instead.of..........
5b960 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 61 20 73 69 6e 67 6c 65 20 67 6c 6f 62 61 6c 20 68 61 73 operating.on.a.single.global.has
5b980 68 69 6e 67 20 74 61 62 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6f 6e hing.table.the.function.works.on
5b9a0 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 61 62 6c 65 20 64 65 73 63 72 69 62 65 64 20 62 79 .the..........table.described.by
5b9c0 20 74 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 68 .the.object.pointed.to.by.<VAR>h
5b9e0 74 61 62 3c 2f 56 41 52 3e 20 28 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 69 6e 69 tab</VAR>.(which.is..........ini
5ba00 74 69 61 6c 69 7a 65 64 20 62 79 20 61 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 68 63 72 65 tialized.by.a.call.to.<CODE>hcre
5ba20 61 74 65 5f 72 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ate_r</CODE>)...........<br><br>
5ba40 20 41 6e 6f 74 68 65 72 20 64 69 66 66 65 72 65 6e 63 65 20 74 6f 20 3c 43 4f 44 45 3e 68 63 72 .Another.difference.to.<CODE>hcr
5ba60 65 61 74 65 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 61 74 20 74 68 65 20 70 6f 69 6e 74 65 72 20 eate</CODE>.is.that.the.pointer.
5ba80 74 6f 20 74 68 65 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 65 6e 74 72 79 20 69 6e 20 74 to.the.found..........entry.in.t
5baa0 68 65 20 74 61 62 6c 65 20 69 73 20 6e 6f 74 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 he.table.is.not.the.return.value
5bac0 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 49 74 20 69 73 0a 20 20 20 20 20 20 .of.the.functions...It.is.......
5bae0 20 20 20 72 65 74 75 72 6e 65 64 20 62 79 20 73 74 6f 72 69 6e 67 20 69 74 20 69 6e 20 61 20 70 ...returned.by.storing.it.in.a.p
5bb00 6f 69 6e 74 65 72 20 76 61 72 69 61 62 6c 65 73 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 ointer.variables.pointed.to.by.t
5bb20 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 72 65 74 76 61 6c 3c 2f 56 41 52 3e 20 70 61 he..........<VAR>retval</VAR>.pa
5bb40 72 61 6d 65 74 65 72 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 rameter...The.return.value.of.th
5bb60 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 20 20 e.function.is.an.integer........
5bb80 20 20 76 61 6c 75 65 20 69 6e 64 69 63 61 74 69 6e 67 20 73 75 63 63 65 73 73 20 69 66 20 69 74 ..value.indicating.success.if.it
5bba0 20 69 73 20 6e 6f 6e 2d 7a 65 72 6f 20 61 6e 64 20 66 61 69 6c 75 72 65 20 69 66 20 69 74 20 69 .is.non-zero.and.failure.if.it.i
5bbc0 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 s.zero...........In.the.latter.c
5bbe0 61 73 65 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 56 41 52 3e 65 72 72 ase.the.global.variable.<VAR>err
5bc00 6e 6f 3c 2f 56 41 52 3e 20 73 69 67 6e 61 6c 73 20 74 68 65 20 72 65 61 73 6f 6e 20 66 6f 72 0a no</VAR>.signals.the.reason.for.
5bc20 20 20 20 20 20 20 20 20 20 74 68 65 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c .........the.failure...........<
5bc40 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 br><br>.<DL>...........<DT><CODE
5bc60 3e 45 4e 4f 4d 45 4d 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 74 61 62 6c 65 20 69 73 20 66 69 >ENOMEM..........The.table.is.fi
5bc80 6c 6c 65 64 20 61 6e 64 20 3c 43 4f 44 45 3e 68 73 65 61 72 63 68 5f 72 3c 2f 43 4f 44 45 3e 20 lled.and.<CODE>hsearch_r</CODE>.
5bca0 77 61 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 6e 20 73 6f 20 66 61 72 3c 2f 43 4f 44 45 3e was.called.with.an.so.far</CODE>
5bcc0 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 75 6e 6b 6e 6f 77 6e 20 6b 65 79 20 61 6e 64 20 3c .<DD>..........unknown.key.and.<
5bce0 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 73 65 74 20 74 6f 20 3c 43 4f 44 45 3e 45 4e VAR>action</VAR>.set.to.<CODE>EN
5bd00 54 45 52 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 TER</CODE>...........<DT><CODE>E
5bd20 53 52 43 48 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 SRCH..........The.<VAR>action</V
5bd40 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 3c 43 4f 44 45 3e 46 49 4e 44 3c 2f 43 4f 44 AR>.parameter.is.<CODE>FIND</COD
5bd60 45 3e 20 61 6e 64 20 6e 6f 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 3c E>.and.no.corresponding.element<
5bd80 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 66 6f 75 6e 64 20 69 6e /CODE>.<DD>..........is.found.in
5bda0 20 74 68 65 20 74 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 .the.table...........</DL>......
5bdc0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 65 61 72 63 68 2e 68 78 71 ...sq.~......w.....t..search.hxq
5bde0 00 7e 0e 81 74 00 44 45 4e 54 52 59 20 69 74 65 6d 2c 20 41 43 54 49 4f 4e 20 61 63 74 69 6f 6e .~..t.DENTRY.item,.ACTION.action
5be00 2c 20 45 4e 54 52 59 20 2a 2a 72 65 74 76 61 6c 2c 20 73 74 72 75 63 74 20 68 73 65 61 72 63 68 ,.ENTRY.**retval,.struct.hsearch
5be20 5f 64 61 74 61 20 2a 68 74 61 62 74 00 03 69 6e 74 74 00 05 68 74 6f 6e 6c 73 71 00 7e 00 0a 70 _data.*htabt..intt..htonlsq.~..p
5be40 74 00 cf 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 t...........This.function.conver
5be60 74 73 20 74 68 65 20 3c 43 4f 44 45 3e 75 69 6e 74 33 32 5f 74 3c 2f 43 4f 44 45 3e 20 69 6e 74 ts.the.<CODE>uint32_t</CODE>.int
5be80 65 67 65 72 20 3c 56 41 52 3e 68 6f 73 74 6c 6f 6e 67 3c 2f 56 41 52 3e 20 66 72 6f 6d 0a 20 20 eger.<VAR>hostlong</VAR>.from...
5bea0 20 20 20 20 20 20 20 68 6f 73 74 20 62 79 74 65 20 6f 72 64 65 72 20 74 6f 20 6e 65 74 77 6f 72 .......host.byte.order.to.networ
5bec0 6b 20 62 79 74 65 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 k.byte.order...........<br><br>.
5bee0 54 68 69 73 20 69 73 20 75 73 65 64 20 66 6f 72 20 49 50 76 34 20 49 6e 74 65 72 6e 65 74 20 61 This.is.used.for.IPv4.Internet.a
5bf00 64 64 72 65 73 73 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 ddresses..........sq.~......w...
5bf20 00 0a 74 00 0c 6e 65 74 69 6e 65 74 2f 69 6e 2e 68 78 71 00 7e 0e 88 74 00 11 75 69 6e 74 33 32 ..t..netinet/in.hxq.~..t..uint32
5bf40 5f 74 20 68 6f 73 74 6c 6f 6e 67 74 00 08 75 69 6e 74 33 32 5f 74 74 00 05 68 74 6f 6e 73 73 71 _t.hostlongt..uint32_tt..htonssq
5bf60 00 7e 00 0a 70 74 00 94 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 .~..pt...........This.function.c
5bf80 6f 6e 76 65 72 74 73 20 74 68 65 20 3c 43 4f 44 45 3e 75 69 6e 74 31 36 5f 74 3c 2f 43 4f 44 45 onverts.the.<CODE>uint16_t</CODE
5bfa0 3e 20 69 6e 74 65 67 65 72 20 3c 56 41 52 3e 68 6f 73 74 73 68 6f 72 74 3c 2f 56 41 52 3e 20 66 >.integer.<VAR>hostshort</VAR>.f
5bfc0 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 68 6f 73 74 20 62 79 74 65 20 6f 72 64 65 72 20 74 6f 20 rom..........host.byte.order.to.
5bfe0 6e 65 74 77 6f 72 6b 20 62 79 74 65 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e network.byte.order..........sq.~
5c000 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 6e 65 74 69 6e 65 74 2f 69 6e 2e 68 78 71 00 7e 0e ......w.....t..netinet/in.hxq.~.
5c020 8f 74 00 12 75 69 6e 74 31 36 5f 74 20 68 6f 73 74 73 68 6f 72 74 74 00 08 75 69 6e 74 31 36 5f .t..uint16_t.hostshortt..uint16_
5c040 74 74 00 05 68 79 70 6f 74 73 71 00 7e 00 0a 70 74 01 f2 0a 20 20 20 20 20 20 20 20 54 68 65 73 tt..hypotsq.~..pt...........Thes
5c060 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 73 71 72 74 20 28 3c e.functions.return.<CODE>sqrt.(<
5c080 56 41 52 3e 78 3c 2f 56 41 52 3e 2a 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 2b 0a 20 20 20 20 20 VAR>x</VAR>*<VAR>x</VAR>.+......
5c0a0 20 20 20 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2a 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 29 3c 2f ....<VAR>y</VAR>*<VAR>y</VAR>)</
5c0c0 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 CODE>...This.is.the.length.of.th
5c0e0 65 20 68 79 70 6f 74 65 6e 75 73 65 20 6f 66 20 61 20 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 e.hypotenuse.of.a.right.........
5c100 20 74 72 69 61 6e 67 6c 65 20 77 69 74 68 20 73 69 64 65 73 20 6f 66 20 6c 65 6e 67 74 68 20 3c .triangle.with.sides.of.length.<
5c120 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2c 20 6f 72 VAR>x</VAR>.and.<VAR>y</VAR>,.or
5c140 20 74 68 65 20 64 69 73 74 61 6e 63 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 70 6f .the.distance..........of.the.po
5c160 69 6e 74 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 29 int.(<VAR>x</VAR>,.<VAR>y</VAR>)
5c180 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 2e 20 20 55 73 69 6e 67 20 74 68 69 73 20 66 75 .from.the.origin...Using.this.fu
5c1a0 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 64 nction..........instead.of.the.d
5c1c0 69 72 65 63 74 20 66 6f 72 6d 75 6c 61 20 69 73 20 77 69 73 65 2c 20 73 69 6e 63 65 20 74 68 65 irect.formula.is.wise,.since.the
5c1e0 20 65 72 72 6f 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 6d 75 63 68 20 73 6d 61 6c 6c 65 72 2e .error.is..........much.smaller.
5c200 20 20 53 65 65 20 61 6c 73 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 63 61 ..See.also.the.function.<CODE>ca
5c220 62 73 3c 2f 43 4f 44 45 3e 20 69 6e 20 41 62 73 6f 6c 75 74 65 20 56 61 6c 75 65 2e 0a 20 20 20 bs</CODE>.in.Absolute.Value.....
5c240 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 .....sq.~......w.....t..math.hxq
5c260 00 7e 0e 96 74 00 12 64 6f 75 62 6c 65 20 78 2c 20 64 6f 75 62 6c 65 20 79 74 00 06 64 6f 75 62 .~..t..double.x,.double.yt..doub
5c280 6c 65 74 00 06 68 79 70 6f 74 66 73 71 00 7e 00 0a 70 74 01 f2 0a 20 20 20 20 20 20 20 20 54 68 let..hypotfsq.~..pt...........Th
5c2a0 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 73 71 72 74 20 ese.functions.return.<CODE>sqrt.
5c2c0 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2a 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 2b 0a 20 20 20 (<VAR>x</VAR>*<VAR>x</VAR>.+....
5c2e0 20 20 20 20 20 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2a 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 29 ......<VAR>y</VAR>*<VAR>y</VAR>)
5c300 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 </CODE>...This.is.the.length.of.
5c320 74 68 65 20 68 79 70 6f 74 65 6e 75 73 65 20 6f 66 20 61 20 72 69 67 68 74 0a 20 20 20 20 20 20 the.hypotenuse.of.a.right.......
5c340 20 20 20 74 72 69 61 6e 67 6c 65 20 77 69 74 68 20 73 69 64 65 73 20 6f 66 20 6c 65 6e 67 74 68 ...triangle.with.sides.of.length
5c360 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2c 20 .<VAR>x</VAR>.and.<VAR>y</VAR>,.
5c380 6f 72 20 74 68 65 20 64 69 73 74 61 6e 63 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 or.the.distance..........of.the.
5c3a0 70 6f 69 6e 74 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 79 3c 2f 56 41 52 point.(<VAR>x</VAR>,.<VAR>y</VAR
5c3c0 3e 29 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 2e 20 20 55 73 69 6e 67 20 74 68 69 73 20 >).from.the.origin...Using.this.
5c3e0 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 function..........instead.of.the
5c400 20 64 69 72 65 63 74 20 66 6f 72 6d 75 6c 61 20 69 73 20 77 69 73 65 2c 20 73 69 6e 63 65 20 74 .direct.formula.is.wise,.since.t
5c420 68 65 20 65 72 72 6f 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 6d 75 63 68 20 73 6d 61 6c 6c 65 he.error.is..........much.smalle
5c440 72 2e 20 20 53 65 65 20 61 6c 73 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e r...See.also.the.function.<CODE>
5c460 63 61 62 73 3c 2f 43 4f 44 45 3e 20 69 6e 20 41 62 73 6f 6c 75 74 65 20 56 61 6c 75 65 2e 0a 20 cabs</CODE>.in.Absolute.Value...
5c480 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
5c4a0 78 71 00 7e 0e 9d 74 00 10 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 79 74 00 05 66 6c 6f 61 xq.~..t..float.x,.float.yt..floa
5c4c0 74 74 00 06 68 79 70 6f 74 6c 73 71 00 7e 00 0a 70 74 01 f2 0a 20 20 20 20 20 20 20 20 54 68 65 tt..hypotlsq.~..pt...........The
5c4e0 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 73 71 72 74 20 28 se.functions.return.<CODE>sqrt.(
5c500 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2a 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 2b 0a 20 20 20 20 <VAR>x</VAR>*<VAR>x</VAR>.+.....
5c520 20 20 20 20 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2a 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 29 3c .....<VAR>y</VAR>*<VAR>y</VAR>)<
5c540 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 /CODE>...This.is.the.length.of.t
5c560 68 65 20 68 79 70 6f 74 65 6e 75 73 65 20 6f 66 20 61 20 72 69 67 68 74 0a 20 20 20 20 20 20 20 he.hypotenuse.of.a.right........
5c580 20 20 74 72 69 61 6e 67 6c 65 20 77 69 74 68 20 73 69 64 65 73 20 6f 66 20 6c 65 6e 67 74 68 20 ..triangle.with.sides.of.length.
5c5a0 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2c 20 6f <VAR>x</VAR>.and.<VAR>y</VAR>,.o
5c5c0 72 20 74 68 65 20 64 69 73 74 61 6e 63 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 70 r.the.distance..........of.the.p
5c5e0 6f 69 6e 74 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e oint.(<VAR>x</VAR>,.<VAR>y</VAR>
5c600 29 20 66 72 6f 6d 20 74 68 65 20 6f 72 69 67 69 6e 2e 20 20 55 73 69 6e 67 20 74 68 69 73 20 66 ).from.the.origin...Using.this.f
5c620 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 unction..........instead.of.the.
5c640 64 69 72 65 63 74 20 66 6f 72 6d 75 6c 61 20 69 73 20 77 69 73 65 2c 20 73 69 6e 63 65 20 74 68 direct.formula.is.wise,.since.th
5c660 65 20 65 72 72 6f 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 6d 75 63 68 20 73 6d 61 6c 6c 65 72 e.error.is..........much.smaller
5c680 2e 20 20 53 65 65 20 61 6c 73 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 63 ...See.also.the.function.<CODE>c
5c6a0 61 62 73 3c 2f 43 4f 44 45 3e 20 69 6e 20 41 62 73 6f 6c 75 74 65 20 56 61 6c 75 65 2e 0a 20 20 abs</CODE>.in.Absolute.Value....
5c6c0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 ......sq.~......w.....t..math.hx
5c6e0 71 00 7e 0e a4 74 00 1c 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 2c 20 6c 6f 6e 67 20 64 6f 75 62 q.~..t..long.double.x,.long.doub
5c700 6c 65 20 79 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 69 63 6f 6e 76 73 71 00 7e 00 0a le.yt..long.doublet..iconvsq.~..
5c720 70 74 13 fe 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 pt.....................The.<CODE
5c740 3e 69 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 >iconv</CODE>.function.converts.
5c760 74 68 65 20 74 65 78 74 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 62 75 66 66 65 72 0a 20 20 20 the.text.in.the.input.buffer....
5c780 20 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 61 73 73 ......according.to.the.rules.ass
5c7a0 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 ociated.with.the.descriptor.<VAR
5c7c0 3e 63 64 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 >cd</VAR>.and..........stores.th
5c7e0 65 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 2e 20 20 e.result.in.the.output.buffer...
5c800 49 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 63 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 It.is.possible.to.call.the......
5c820 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 74 65 78 74 20 73 ....function.for.the.same.text.s
5c840 65 76 65 72 61 6c 20 74 69 6d 65 73 20 69 6e 20 61 20 72 6f 77 20 73 69 6e 63 65 20 66 6f 72 20 everal.times.in.a.row.since.for.
5c860 73 74 61 74 65 66 75 6c 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 73 65 74 73 stateful..........character.sets
5c880 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e .the.necessary.state.information
5c8a0 20 69 73 20 6b 65 70 74 20 69 6e 20 74 68 65 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 73 74 .is.kept.in.the.data..........st
5c8c0 72 75 63 74 75 72 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 64 65 73 ructures.associated.with.the.des
5c8e0 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 69 criptor...........<br><br>.The.i
5c900 6e 70 75 74 20 62 75 66 66 65 72 20 69 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 3c 43 4f 44 nput.buffer.is.specified.by.<COD
5c920 45 3e 2a 3c 56 41 52 3e 69 6e 62 75 66 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 69 E>*<VAR>inbuf</VAR></CODE>.and.i
5c940 74 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e t.contains..........<CODE>*<VAR>
5c960 69 6e 62 79 74 65 73 6c 65 66 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 62 79 74 65 73 2e 20 inbytesleft</VAR></CODE>.bytes..
5c980 20 54 68 65 20 65 78 74 72 61 20 69 6e 64 69 72 65 63 74 69 6f 6e 20 69 73 20 6e 65 63 65 73 73 .The.extra.indirection.is.necess
5c9a0 61 72 79 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6e 67 20 74 ary.for..........communicating.t
5c9c0 68 65 20 75 73 65 64 20 69 6e 70 75 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 he.used.input.back.to.the.caller
5c9e0 20 28 73 65 65 20 62 65 6c 6f 77 29 2e 20 20 49 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 69 6d .(see.below)...It.is..........im
5ca00 70 6f 72 74 61 6e 74 20 74 6f 20 6e 6f 74 65 20 74 68 61 74 20 74 68 65 20 62 75 66 66 65 72 20 portant.to.note.that.the.buffer.
5ca20 70 6f 69 6e 74 65 72 20 69 73 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 63 68 61 72 3c 2f 43 pointer.is.of.type.<CODE>char</C
5ca40 4f 44 45 3e 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 69 73 20 ODE>.and.the..........length.is.
5ca60 6d 65 61 73 75 72 65 64 20 69 6e 20 62 79 74 65 73 20 65 76 65 6e 20 69 66 20 74 68 65 20 69 6e measured.in.bytes.even.if.the.in
5ca80 70 75 74 20 74 65 78 74 20 69 73 20 65 6e 63 6f 64 65 64 20 69 6e 20 77 69 64 65 0a 20 20 20 20 put.text.is.encoded.in.wide.....
5caa0 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .....characters...........<br><b
5cac0 72 3e 20 54 68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 20 69 73 20 73 70 65 63 69 66 69 65 r>.The.output.buffer.is.specifie
5cae0 64 20 69 6e 20 61 20 73 69 6d 69 6c 61 72 20 77 61 79 2e 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 d.in.a.similar.way...<CODE>*<VAR
5cb00 3e 6f 75 74 62 75 66 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 70 6f >outbuf</VAR></CODE>..........po
5cb20 69 6e 74 73 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 62 75 66 ints.to.the.beginning.of.the.buf
5cb40 66 65 72 20 77 69 74 68 20 61 74 20 6c 65 61 73 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 fer.with.at.least..........<CODE
5cb60 3e 2a 3c 56 41 52 3e 6f 75 74 62 79 74 65 73 6c 65 66 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e >*<VAR>outbytesleft</VAR></CODE>
5cb80 20 62 79 74 65 73 20 72 6f 6f 6d 20 66 6f 72 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 54 68 65 .bytes.room.for.the.result...The
5cba0 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 61 67 61 69 6e 20 69 .buffer..........pointer.again.i
5cbc0 73 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 63 68 61 72 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 s.of.type.<CODE>char</CODE>.and.
5cbe0 74 68 65 20 6c 65 6e 67 74 68 20 69 73 20 6d 65 61 73 75 72 65 64 20 69 6e 0a 20 20 20 20 20 20 the.length.is.measured.in.......
5cc00 20 20 20 62 79 74 65 73 2e 20 20 49 66 20 3c 56 41 52 3e 6f 75 74 62 75 66 3c 2f 56 41 52 3e 20 ...bytes...If.<VAR>outbuf</VAR>.
5cc20 6f 72 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 6f 75 74 62 75 66 3c 2f 56 41 52 3e 3c 2f 43 4f 44 or.<CODE>*<VAR>outbuf</VAR></COD
5cc40 45 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 E>.is.a.null.pointer,.the.......
5cc60 20 20 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 62 75 74 20 6e ...conversion.is.performed.but.n
5cc80 6f 20 6f 75 74 70 75 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 o.output.is.available...........
5cca0 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 69 6e 62 75 66 3c 2f 56 41 52 3e 20 69 73 20 <br><br>.If.<VAR>inbuf</VAR>.is.
5ccc0 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 3c a.null.pointer,.the.<CODE>iconv<
5cce0 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 74 68 65 0a 20 20 20 /CODE>.function.performs.the....
5cd00 20 20 20 20 20 20 6e 65 63 65 73 73 61 72 79 20 61 63 74 69 6f 6e 20 74 6f 20 70 75 74 20 74 68 ......necessary.action.to.put.th
5cd20 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 6e 74 6f 20 74 e.state.of.the.conversion.into.t
5cd40 68 65 20 69 6e 69 74 69 61 6c 0a 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 20 20 54 68 69 73 he.initial..........state...This
5cd60 20 69 73 20 6f 62 76 69 6f 75 73 6c 79 20 61 20 6e 6f 2d 6f 70 20 66 6f 72 20 6e 6f 6e 2d 73 74 .is.obviously.a.no-op.for.non-st
5cd80 61 74 65 66 75 6c 20 65 6e 63 6f 64 69 6e 67 73 2c 20 62 75 74 20 69 66 20 74 68 65 0a 20 20 20 ateful.encodings,.but.if.the....
5cda0 20 20 20 20 20 20 65 6e 63 6f 64 69 6e 67 20 68 61 73 20 61 20 73 74 61 74 65 2c 20 73 75 63 68 ......encoding.has.a.state,.such
5cdc0 20 61 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 6d 69 67 68 74 20 70 75 74 20 73 6f 6d 65 20 .a.function.call.might.put.some.
5cde0 62 79 74 65 20 73 65 71 75 65 6e 63 65 73 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 6f byte.sequences..........in.the.o
5ce00 75 74 70 75 74 20 62 75 66 66 65 72 2c 20 77 68 69 63 68 20 70 65 72 66 6f 72 6d 20 74 68 65 20 utput.buffer,.which.perform.the.
5ce20 6e 65 63 65 73 73 61 72 79 20 73 74 61 74 65 20 63 68 61 6e 67 65 73 2e 20 20 54 68 65 0a 20 20 necessary.state.changes...The...
5ce40 20 20 20 20 20 20 20 6e 65 78 74 20 63 61 6c 6c 20 77 69 74 68 20 3c 56 41 52 3e 69 6e 62 75 66 .......next.call.with.<VAR>inbuf
5ce60 3c 2f 56 41 52 3e 20 6e 6f 74 20 62 65 69 6e 67 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 </VAR>.not.being.a.null.pointer.
5ce80 74 68 65 6e 20 73 69 6d 70 6c 79 20 67 6f 65 73 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 66 72 6f then.simply.goes.on..........fro
5cea0 6d 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 2e 20 20 49 74 20 69 73 20 69 6d 70 6f m.the.initial.state...It.is.impo
5cec0 72 74 61 6e 74 20 74 68 61 74 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 6e 65 76 65 72 20 rtant.that.the.programmer.never.
5cee0 6d 61 6b 65 73 0a 20 20 20 20 20 20 20 20 20 61 6e 79 20 61 73 73 75 6d 70 74 69 6f 6e 20 61 73 makes..........any.assumption.as
5cf00 20 74 6f 20 77 68 65 74 68 65 72 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 68 61 73 20 74 .to.whether.the.conversion.has.t
5cf20 6f 20 64 65 61 6c 20 77 69 74 68 20 73 74 61 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 45 76 65 o.deal.with.states...........Eve
5cf40 6e 20 69 66 20 74 68 65 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70 75 74 20 63 68 61 72 61 63 n.if.the.input.and.output.charac
5cf60 74 65 72 20 73 65 74 73 20 61 72 65 20 6e 6f 74 20 73 74 61 74 65 66 75 6c 2c 20 74 68 65 0a 20 ter.sets.are.not.stateful,.the..
5cf80 20 20 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6d 69 67 68 74 20 73 74 69 ........implementation.might.sti
5cfa0 6c 6c 20 68 61 76 65 20 74 6f 20 6b 65 65 70 20 73 74 61 74 65 73 2e 20 20 54 68 69 73 20 69 73 ll.have.to.keep.states...This.is
5cfc0 20 64 75 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 .due.to.the..........implementat
5cfe0 69 6f 6e 20 63 68 6f 73 65 6e 20 66 6f 72 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 ion.chosen.for.the.GNU.C.library
5d000 20 61 73 20 69 74 20 69 73 20 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 .as.it.is.described.below.......
5d020 20 20 20 20 54 68 65 72 65 66 6f 72 65 20 61 6e 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 3c 2f 43 4f ....Therefore.an.<CODE>iconv</CO
5d040 44 45 3e 20 63 61 6c 6c 20 74 6f 20 72 65 73 65 74 20 74 68 65 20 73 74 61 74 65 20 73 68 6f 75 DE>.call.to.reset.the.state.shou
5d060 6c 64 20 61 6c 77 61 79 73 20 62 65 0a 20 20 20 20 20 20 20 20 20 70 65 72 66 6f 72 6d 65 64 20 ld.always.be..........performed.
5d080 69 66 20 73 6f 6d 65 20 70 72 6f 74 6f 63 6f 6c 20 72 65 71 75 69 72 65 73 20 74 68 69 73 20 66 if.some.protocol.requires.this.f
5d0a0 6f 72 20 74 68 65 20 6f 75 74 70 75 74 20 74 65 78 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 or.the.output.text...........<br
5d0c0 3e 3c 62 72 3e 20 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 6f 70 73 20 66 6f 72 20 6f ><br>.The.conversion.stops.for.o
5d0e0 6e 65 20 6f 66 20 74 68 72 65 65 20 72 65 61 73 6f 6e 73 2e 20 54 68 65 20 66 69 72 73 74 20 69 ne.of.three.reasons..The.first.i
5d100 73 20 74 68 61 74 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 66 s.that.all..........characters.f
5d120 72 6f 6d 20 74 68 65 20 69 6e 70 75 74 20 62 75 66 66 65 72 20 61 72 65 20 63 6f 6e 76 65 72 74 rom.the.input.buffer.are.convert
5d140 65 64 2e 20 20 54 68 69 73 20 61 63 74 75 61 6c 6c 79 20 63 61 6e 20 6d 65 61 6e 0a 20 20 20 20 ed...This.actually.can.mean.....
5d160 20 20 20 20 20 74 77 6f 20 74 68 69 6e 67 73 3a 20 65 69 74 68 65 72 20 61 6c 6c 20 62 79 74 65 .....two.things:.either.all.byte
5d180 73 20 66 72 6f 6d 20 74 68 65 20 69 6e 70 75 74 20 62 75 66 66 65 72 20 61 72 65 20 63 6f 6e 73 s.from.the.input.buffer.are.cons
5d1a0 75 6d 65 64 20 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 65 72 65 20 61 72 65 20 73 6f 6d 65 20 umed.or..........there.are.some.
5d1c0 62 79 74 65 73 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 20 74 bytes.at.the.end.of.the.buffer.t
5d1e0 68 61 74 20 70 6f 73 73 69 62 6c 79 20 63 61 6e 20 66 6f 72 6d 20 61 0a 20 20 20 20 20 20 20 20 hat.possibly.can.form.a.........
5d200 20 63 6f 6d 70 6c 65 74 65 20 63 68 61 72 61 63 74 65 72 20 62 75 74 20 74 68 65 20 69 6e 70 75 .complete.character.but.the.inpu
5d220 74 20 69 73 20 69 6e 63 6f 6d 70 6c 65 74 65 2e 20 20 54 68 65 20 73 65 63 6f 6e 64 20 72 65 61 t.is.incomplete...The.second.rea
5d240 73 6f 6e 20 66 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 73 74 6f 70 20 69 73 20 74 68 61 74 20 son.for.a..........stop.is.that.
5d260 74 68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 20 69 73 20 66 75 6c 6c 2e 20 20 41 6e 64 20 the.output.buffer.is.full...And.
5d280 74 68 65 20 74 68 69 72 64 20 72 65 61 73 6f 6e 20 69 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 the.third.reason.is.that........
5d2a0 20 20 74 68 65 20 69 6e 70 75 74 20 63 6f 6e 74 61 69 6e 73 20 69 6e 76 61 6c 69 64 20 63 68 61 ..the.input.contains.invalid.cha
5d2c0 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 61 6c racters...........<br><br>.In.al
5d2e0 6c 20 6f 66 20 74 68 65 73 65 20 63 61 73 65 73 20 74 68 65 20 62 75 66 66 65 72 20 70 6f 69 6e l.of.these.cases.the.buffer.poin
5d300 74 65 72 73 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 73 75 63 63 65 73 73 66 75 6c 0a 20 ters.after.the.last.successful..
5d320 20 20 20 20 20 20 20 20 63 6f 6e 76 65 72 73 69 6f 6e 2c 20 66 6f 72 20 69 6e 70 75 74 20 61 6e ........conversion,.for.input.an
5d340 64 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 2c 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 3c d.output.buffer,.are.stored.in.<
5d360 56 41 52 3e 69 6e 62 75 66 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 VAR>inbuf</VAR>.and..........<VA
5d380 52 3e 6f 75 74 62 75 66 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 74 68 65 20 61 76 61 69 6c 61 62 6c R>outbuf</VAR>,.and.the.availabl
5d3a0 65 20 72 6f 6f 6d 20 69 6e 20 65 61 63 68 20 62 75 66 66 65 72 20 69 73 20 73 74 6f 72 65 64 20 e.room.in.each.buffer.is.stored.
5d3c0 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 69 6e 62 79 74 65 73 6c 65 66 74 3c 2f 56 41 in..........<VAR>inbytesleft</VA
5d3e0 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6f 75 74 62 79 74 65 73 6c 65 66 74 3c 2f 56 41 52 3e 2e 0a R>.and.<VAR>outbytesleft</VAR>..
5d400 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 69 6e 63 65 20 74 68 65 20 63 68 61 72 .........<br><br>.Since.the.char
5d420 61 63 74 65 72 20 73 65 74 73 20 73 65 6c 65 63 74 65 64 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 acter.sets.selected.in.the.<CODE
5d440 3e 69 63 6f 6e 76 5f 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 63 61 6e 20 62 65 0a 20 >iconv_open</CODE>.call.can.be..
5d460 20 20 20 20 20 20 20 20 61 6c 6d 6f 73 74 20 61 72 62 69 74 72 61 72 79 2c 20 74 68 65 72 65 20 ........almost.arbitrary,.there.
5d480 63 61 6e 20 62 65 20 73 69 74 75 61 74 69 6f 6e 73 20 77 68 65 72 65 20 74 68 65 20 69 6e 70 75 can.be.situations.where.the.inpu
5d4a0 74 20 62 75 66 66 65 72 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 20 20 20 76 61 6c 69 64 t.buffer.contains..........valid
5d4c0 20 63 68 61 72 61 63 74 65 72 73 2c 20 77 68 69 63 68 20 68 61 76 65 20 6e 6f 20 69 64 65 6e 74 .characters,.which.have.no.ident
5d4e0 69 63 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 6f 75 74 70 75 ical.representation.in.the.outpu
5d500 74 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 73 65 74 2e 20 20 54 68 65 20 62 t..........character.set...The.b
5d520 65 68 61 76 69 6f 72 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 20 69 73 20 75 6e 64 ehavior.in.this.situation.is.und
5d540 65 66 69 6e 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 3c 45 4d 3e 63 75 72 72 65 6e efined...The..........<EM>curren
5d560 74 3c 2f 45 4d 3e 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 t</EM>.behavior.of.the.GNU.C.lib
5d580 72 61 72 79 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 20 69 73 20 74 6f 0a 20 20 20 rary.in.this.situation.is.to....
5d5a0 20 20 20 20 20 20 72 65 74 75 72 6e 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 69 6d 6d 65 64 ......return.with.an.error.immed
5d5c0 69 61 74 65 6c 79 2e 20 20 54 68 69 73 20 63 65 72 74 61 69 6e 6c 79 20 69 73 20 6e 6f 74 20 74 iately...This.certainly.is.not.t
5d5e0 68 65 20 6d 6f 73 74 0a 20 20 20 20 20 20 20 20 20 64 65 73 69 72 61 62 6c 65 20 73 6f 6c 75 74 he.most..........desirable.solut
5d600 69 6f 6e 3b 20 74 68 65 72 65 66 6f 72 65 2c 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20 ion;.therefore,.future.versions.
5d620 77 69 6c 6c 20 70 72 6f 76 69 64 65 20 62 65 74 74 65 72 20 6f 6e 65 73 2c 0a 20 20 20 20 20 20 will.provide.better.ones,.......
5d640 20 20 20 62 75 74 20 74 68 65 79 20 61 72 65 20 6e 6f 74 20 79 65 74 20 66 69 6e 69 73 68 65 64 ...but.they.are.not.yet.finished
5d660 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 61 6c 6c 20 69 6e 70 75 74 ...........<br><br>.If.all.input
5d680 20 66 72 6f 6d 20 74 68 65 20 69 6e 70 75 74 20 62 75 66 66 65 72 20 69 73 20 73 75 63 63 65 73 .from.the.input.buffer.is.succes
5d6a0 73 66 75 6c 6c 79 20 63 6f 6e 76 65 72 74 65 64 20 61 6e 64 20 73 74 6f 72 65 64 0a 20 20 20 20 sfully.converted.and.stored.....
5d6c0 20 20 20 20 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 2c 20 74 68 65 20 66 .....in.the.output.buffer,.the.f
5d6e0 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6e 6f unction.returns.the.number.of.no
5d700 6e 2d 72 65 76 65 72 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 76 65 72 73 69 6f 6e n-reversible..........conversion
5d720 73 20 70 65 72 66 6f 72 6d 65 64 2e 20 20 49 6e 20 61 6c 6c 20 6f 74 68 65 72 20 63 61 73 65 73 s.performed...In.all.other.cases
5d740 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 .the.return.value.is..........<C
5d760 4f 44 45 3e 28 73 69 7a 65 5f 74 29 20 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 ODE>(size_t).-1</CODE>.and.<CODE
5d780 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 70 70 72 6f 70 72 69 61 74 65 >errno</CODE>.is.set.appropriate
5d7a0 6c 79 2e 20 20 49 6e 20 73 75 63 68 20 63 61 73 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 ly...In.such.cases..........the.
5d7c0 76 61 6c 75 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 69 6e 62 79 74 65 73 value.pointed.to.by.<VAR>inbytes
5d7e0 6c 65 66 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 6e 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 left</VAR>.is.nonzero...........
5d800 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 <br><br>.<DL>...........<DT><COD
5d820 45 3e 45 49 4c 53 45 51 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 E>EILSEQ</CODE>.<DD>..........Th
5d840 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 6f 70 70 65 64 20 62 65 63 61 75 73 65 20 6f 66 20 e.conversion.stopped.because.of.
5d860 61 6e 20 69 6e 76 61 6c 69 64 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 69 6e 20 74 68 65 20 an.invalid.byte.sequence.in.the.
5d880 69 6e 70 75 74 2e 0a 20 20 20 20 20 20 20 20 20 41 66 74 65 72 20 74 68 65 20 63 61 6c 6c 2c 20 input...........After.the.call,.
5d8a0 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 69 6e 62 75 66 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 70 <CODE>*<VAR>inbuf</VAR></CODE>.p
5d8c0 6f 69 6e 74 73 20 61 74 20 74 68 65 20 66 69 72 73 74 20 62 79 74 65 20 6f 66 20 74 68 65 0a 20 oints.at.the.first.byte.of.the..
5d8e0 20 20 20 20 20 20 20 20 69 6e 76 61 6c 69 64 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 2e 0a 20 ........invalid.byte.sequence...
5d900 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 32 42 49 47 ........<br><br>.<DT><CODE>E2BIG
5d920 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 6e 76 65 72 </CODE>.<DD>..........The.conver
5d940 73 69 6f 6e 20 73 74 6f 70 70 65 64 20 62 65 63 61 75 73 65 20 69 74 20 72 61 6e 20 6f 75 74 20 sion.stopped.because.it.ran.out.
5d960 6f 66 20 73 70 61 63 65 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 2e 0a 20 of.space.in.the.output.buffer...
5d980 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 ........<br><br>.<DT><CODE>EINVA
5d9a0 4c 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 6f 70 70 65 L..........The.conversion.stoppe
5d9c0 64 20 62 65 63 61 75 73 65 20 6f 66 20 61 6e 20 69 6e 63 6f 6d 70 6c 65 74 65 20 62 79 74 65 20 d.because.of.an.incomplete.byte.
5d9e0 73 65 71 75 65 6e 63 65 20 61 74 20 74 68 65 20 65 6e 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a sequence.at.the.end</CODE>.<DD>.
5da00 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 62 75 66 66 65 72 2e 0a 20 20 .........of.the.input.buffer....
5da20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c .......<br><br>.<DT><CODE>EBADF<
5da40 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 63 64 /CODE>.<DD>..........The.<VAR>cd
5da60 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 20 </VAR>.argument.is.invalid......
5da80 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 .....</DL>..........<br><br>.The
5daa0 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 .<CODE>iconv</CODE>.function.was
5dac0 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 74 68 65 20 58 50 47 32 20 73 74 61 6e 64 61 72 64 .introduced.in.the.XPG2.standard
5dae0 20 61 6e 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 .and.is..........declared.in.the
5db00 20 3c 54 54 3e 69 63 6f 6e 76 2e 68 3c 2f 54 54 3e 20 68 65 61 64 65 72 2e 0a 20 20 20 20 20 20 .<TT>iconv.h</TT>.header........
5db20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 69 63 6f 6e 76 2e 68 78 71 00 7e ..sq.~......w.....t..iconv.hxq.~
5db40 0e ab 74 00 52 69 63 6f 6e 76 5f 74 20 63 64 2c 20 63 68 61 72 20 2a 2a 69 6e 62 75 66 2c 20 73 ..t.Riconv_t.cd,.char.**inbuf,.s
5db60 69 7a 65 5f 74 20 2a 69 6e 62 79 74 65 73 6c 65 66 74 2c 20 63 68 61 72 20 2a 2a 6f 75 74 62 75 ize_t.*inbytesleft,.char.**outbu
5db80 66 2c 20 73 69 7a 65 5f 74 20 2a 6f 75 74 62 79 74 65 73 6c 65 66 74 74 00 06 73 69 7a 65 5f 74 f,.size_t.*outbytesleftt..size_t
5dba0 74 00 0b 69 63 6f 6e 76 5f 63 6c 6f 73 65 73 71 00 7e 00 0a 70 74 02 c8 0a 20 20 20 20 20 20 20 t..iconv_closesq.~..pt..........
5dbc0 20 54 68 65 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 5f 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 20 66 75 .The.<CODE>iconv_close</CODE>.fu
5dbe0 6e 63 74 69 6f 6e 20 66 72 65 65 73 20 61 6c 6c 20 72 65 73 6f 75 72 63 65 73 20 61 73 73 6f 63 nction.frees.all.resources.assoc
5dc00 69 61 74 65 64 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 68 61 6e 64 6c 65 20 3c iated.with.the..........handle.<
5dc20 56 41 52 3e 63 64 3c 2f 56 41 52 3e 2c 20 77 68 69 63 68 20 6d 75 73 74 20 68 61 76 65 20 62 65 VAR>cd</VAR>,.which.must.have.be
5dc40 65 6e 20 72 65 74 75 72 6e 65 64 20 62 79 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 63 61 6c 6c en.returned.by.a.successful.call
5dc60 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 5f 6f 70 65 .to..........the.<CODE>iconv_ope
5dc80 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e n</CODE>.function...........<br>
5dca0 3c 62 72 3e 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 77 61 73 20 73 75 <br>.If.the.function.call.was.su
5dcc0 63 63 65 73 73 66 75 6c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 30 2e 0a ccessful.the.return.value.is.0..
5dce0 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 2d 31 20 61 6e 64 20 .........Otherwise.it.is.-1.and.
5dd00 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 70 70 72 6f 70 <CODE>errno</CODE>.is.set.approp
5dd20 72 69 61 74 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 44 65 66 69 6e 65 64 20 65 72 72 6f 72 20 riately...........Defined.error.
5dd40 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 are:..........<br><br>.<DL>.....
5dd60 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 ......<DT><CODE>EBADF</CODE>.<DD
5dd80 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 64 65 73 63 72 69 >..........The.conversion.descri
5dda0 70 74 6f 72 20 69 73 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a ptor.is.invalid...........</DL>.
5ddc0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 69 63 6f 6e .........<br><br>.The.<CODE>icon
5dde0 76 5f 63 6c 6f 73 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 v_close</CODE>.function.was.intr
5de00 6f 64 75 63 65 64 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 74 68 65 20 72 65 73 74 0a 20 20 oduced.together.with.the.rest...
5de20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 3c 2f 43 4f 44 45 3e .......of.the.<CODE>iconv</CODE>
5de40 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 58 50 47 32 20 61 6e 64 20 69 73 20 64 65 63 6c 61 72 .functions.in.XPG2.and.is.declar
5de60 65 64 20 69 6e 20 3c 54 54 3e 69 63 6f 6e 76 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 ed.in.<TT>iconv.h</TT>..........
5de80 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 69 63 6f 6e 76 2e 68 78 71 00 7e 0e b2 sq.~......w.....t..iconv.hxq.~..
5dea0 74 00 0a 69 63 6f 6e 76 5f 74 20 63 64 74 00 03 69 6e 74 74 00 0a 69 63 6f 6e 76 5f 6f 70 65 6e t..iconv_t.cdt..intt..iconv_open
5dec0 73 71 00 7e 00 0a 70 74 0c a9 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 69 63 6f sq.~..pt...........The.<CODE>ico
5dee0 6e 76 5f 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 74 6f 20 62 nv_open</CODE>.function.has.to.b
5df00 65 20 75 73 65 64 20 62 65 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 61 0a 20 20 20 20 20 20 20 e.used.before.starting.a........
5df20 20 20 63 6f 6e 76 65 72 73 69 6f 6e 2e 20 20 54 68 65 20 74 77 6f 20 70 61 72 61 6d 65 74 65 72 ..conversion...The.two.parameter
5df40 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 64 65 74 65 72 6d 69 6e 65 20 s.this.function.takes.determine.
5df60 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 6f 75 72 63 65 20 61 6e 64 20 64 65 73 74 69 6e 61 74 the..........source.and.destinat
5df80 69 6f 6e 20 63 68 61 72 61 63 74 65 72 20 73 65 74 20 66 6f 72 20 74 68 65 20 63 6f 6e 76 65 72 ion.character.set.for.the.conver
5dfa0 73 69 6f 6e 2c 20 61 6e 64 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6d 70 6c 65 6d sion,.and.if.the..........implem
5dfc0 65 6e 74 61 74 69 6f 6e 20 68 61 73 20 74 68 65 20 70 6f 73 73 69 62 69 6c 69 74 79 20 74 6f 20 entation.has.the.possibility.to.
5dfe0 70 65 72 66 6f 72 6d 20 73 75 63 68 20 61 20 63 6f 6e 76 65 72 73 69 6f 6e 2c 20 74 68 65 0a 20 perform.such.a.conversion,.the..
5e000 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 68 61 6e 64 6c ........function.returns.a.handl
5e020 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 77 61 6e 74 e...........<br><br>.If.the.want
5e040 65 64 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2c 20 ed.conversion.is.not.available,.
5e060 74 68 65 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 5f 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 the.<CODE>iconv_open</CODE>.func
5e080 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 28 69 63 6f tion..........returns.<CODE>(ico
5e0a0 6e 76 5f 74 29 20 2d 31 3c 2f 43 4f 44 45 3e 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 nv_t).-1</CODE>..In.this.case.th
5e0c0 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 e.global.variable..........<CODE
5e0e0 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 68 61 76 65 20 74 68 65 20 66 6f 6c 6c 6f >errno</CODE>.can.have.the.follo
5e100 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c wing.values:..........<br><br>.<
5e120 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4d 46 49 4c 45 3c 2f DL>...........<DT><CODE>EMFILE</
5e140 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 CODE>.<DD>..........The.process.
5e160 61 6c 72 65 61 64 79 20 68 61 73 20 3c 43 4f 44 45 3e 4f 50 45 4e 5f 4d 41 58 3c 2f 43 4f 44 45 already.has.<CODE>OPEN_MAX</CODE
5e180 3e 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 6f 70 65 6e 2e 0a 20 20 20 20 20 20 20 >.file.descriptors.open.........
5e1a0 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 46 49 4c 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ..<DT><CODE>ENFILE</CODE>.<DD>..
5e1c0 20 20 20 20 20 20 20 20 54 68 65 20 73 79 73 74 65 6d 20 6c 69 6d 69 74 20 6f 66 20 6f 70 65 6e ........The.system.limit.of.open
5e1e0 20 66 69 6c 65 20 69 73 20 72 65 61 63 68 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c .file.is.reached...........<DT><
5e200 43 4f 44 45 3e 45 4e 4f 4d 45 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 CODE>ENOMEM</CODE>.<DD>.........
5e220 20 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 20 74 6f 20 63 61 72 72 79 20 6f 75 74 20 .Not.enough.memory.to.carry.out.
5e240 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 the.operation...........<DT><COD
5e260 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 E>EINVAL</CODE>.<DD>..........Th
5e280 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 3c 56 41 52 3e 66 72 6f 6d 63 6f 64 65 3c e.conversion.from.<VAR>fromcode<
5e2a0 2f 56 41 52 3e 20 74 6f 20 3c 56 41 52 3e 74 6f 63 6f 64 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f /VAR>.to.<VAR>tocode</VAR>.is.no
5e2c0 74 20 73 75 70 70 6f 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 t.supported...........</DL>.....
5e2e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 .....<br><br>.It.is.not.possible
5e300 20 74 6f 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 64 65 73 63 72 69 70 74 6f 72 20 69 6e 20 64 .to.use.the.same.descriptor.in.d
5e320 69 66 66 65 72 65 6e 74 20 74 68 72 65 61 64 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 70 65 72 ifferent.threads.to..........per
5e340 66 6f 72 6d 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 6e 76 65 72 73 69 6f 6e 73 2e 20 20 54 form.independent.conversions...T
5e360 68 65 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 61 73 73 6f 63 69 61 74 65 64 0a 20 20 he.data.structures.associated...
5e380 20 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 69 6e 63 6c 75 .......with.the.descriptor.inclu
5e3a0 64 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 6f 6e 76 65 72 73 de.information.about.the.convers
5e3c0 69 6f 6e 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 6d 75 73 74 20 6e 6f ion.state...........This.must.no
5e3e0 74 20 62 65 20 6d 65 73 73 65 64 20 75 70 20 62 79 20 75 73 69 6e 67 20 69 74 20 69 6e 20 64 69 t.be.messed.up.by.using.it.in.di
5e400 66 66 65 72 65 6e 74 20 63 6f 6e 76 65 72 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 fferent.conversions...........<b
5e420 72 3e 3c 62 72 3e 20 41 6e 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 64 65 73 r><br>.An.<CODE>iconv</CODE>.des
5e440 63 72 69 70 74 6f 72 20 69 73 20 6c 69 6b 65 20 61 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f criptor.is.like.a.file.descripto
5e460 72 20 61 73 20 66 6f 72 20 65 76 65 72 79 20 75 73 65 20 61 0a 20 20 20 20 20 20 20 20 20 6e 65 r.as.for.every.use.a..........ne
5e480 77 20 64 65 73 63 72 69 70 74 6f 72 20 6d 75 73 74 20 62 65 20 63 72 65 61 74 65 64 2e 20 20 54 w.descriptor.must.be.created...T
5e4a0 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 64 6f 65 73 20 6e 6f 74 20 73 74 61 6e 64 20 66 6f 72 he.descriptor.does.not.stand.for
5e4c0 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 73 .all..........of.the.conversions
5e4e0 20 66 72 6f 6d 20 3c 56 41 52 3e 66 72 6f 6d 73 65 74 3c 2f 56 41 52 3e 20 74 6f 20 3c 56 41 52 .from.<VAR>fromset</VAR>.to.<VAR
5e500 3e 74 6f 73 65 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 >toset</VAR>...........<br><br>.
5e520 54 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e The.GNU.C.library.implementation
5e540 20 6f 66 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 5f 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 68 61 73 20 .of.<CODE>iconv_open</CODE>.has.
5e560 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 69 66 69 63 61 6e 74 20 65 78 74 65 6e 73 69 one..........significant.extensi
5e580 6f 6e 20 74 6f 20 6f 74 68 65 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 2e 20 20 54 6f on.to.other.implementations...To
5e5a0 20 65 61 73 65 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 6f 66 20 .ease.the.extension..........of.
5e5c0 74 68 65 20 73 65 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6e 76 65 72 73 69 6f 6e 73 the.set.of.available.conversions
5e5e0 2c 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 73 74 6f 72 ,.the.implementation.allows.stor
5e600 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 66 69 6c 65 73 ing..........the.necessary.files
5e620 20 77 69 74 68 20 64 61 74 61 20 61 6e 64 20 63 6f 64 65 20 69 6e 20 61 6e 20 61 72 62 69 74 72 .with.data.and.code.in.an.arbitr
5e640 61 72 79 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 69 ary.number.of..........directori
5e660 65 73 2e 20 20 48 6f 77 20 74 68 69 73 20 65 78 74 65 6e 73 69 6f 6e 20 6d 75 73 74 20 62 65 20 es...How.this.extension.must.be.
5e680 77 72 69 74 74 65 6e 20 77 69 6c 6c 20 62 65 20 65 78 70 6c 61 69 6e 65 64 20 62 65 6c 6f 77 0a written.will.be.explained.below.
5e6a0 20 20 20 20 20 20 20 20 20 2e 20 20 48 65 72 65 20 69 74 20 69 73 20 6f 6e 6c 79 20 69 6d 70 6f ............Here.it.is.only.impo
5e6c0 72 74 61 6e 74 20 74 6f 20 73 61 79 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 61 6c 6c 20 64 rtant.to.say..........that.all.d
5e6e0 69 72 65 63 74 6f 72 69 65 73 20 6d 65 6e 74 69 6f 6e 65 64 20 69 6e 20 74 68 65 20 3c 43 4f 44 irectories.mentioned.in.the.<COD
5e700 45 3e 47 43 4f 4e 56 5f 50 41 54 48 3c 2f 43 4f 44 45 3e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a E>GCONV_PATH</CODE>.environment.
5e720 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 .........variable.are.considered
5e740 20 6f 6e 6c 79 20 69 66 20 74 68 65 79 20 63 6f 6e 74 61 69 6e 20 61 20 66 69 6c 65 20 3c 54 54 .only.if.they.contain.a.file.<TT
5e760 3e 67 63 6f 6e 76 2d 6d 6f 64 75 6c 65 73 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 >gconv-modules</TT>...........Th
5e780 65 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 6e 65 65 64 20 6e 6f 74 20 6e 65 63 65 73 73 61 ese.directories.need.not.necessa
5e7a0 72 69 6c 79 20 62 65 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 73 79 73 74 65 6d 0a 20 20 rily.be.created.by.the.system...
5e7c0 20 20 20 20 20 20 20 61 64 6d 69 6e 69 73 74 72 61 74 6f 72 2e 20 20 49 6e 20 66 61 63 74 2c 20 .......administrator...In.fact,.
5e7e0 74 68 69 73 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 69 6e 74 72 6f 64 75 63 65 64 20 74 6f 20 this.extension.is.introduced.to.
5e800 68 65 6c 70 20 75 73 65 72 73 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 69 6e 67 20 61 6e 64 20 help.users..........writing.and.
5e820 75 73 69 6e 67 20 74 68 65 69 72 20 6f 77 6e 2c 20 6e 65 77 20 63 6f 6e 76 65 72 73 69 6f 6e 73 using.their.own,.new.conversions
5e840 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 74 68 69 73 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 ...Of.course,.this.does.not.....
5e860 20 20 20 20 20 77 6f 72 6b 20 66 6f 72 20 73 65 63 75 72 69 74 79 20 72 65 61 73 6f 6e 73 20 69 .....work.for.security.reasons.i
5e880 6e 20 53 55 49 44 20 62 69 6e 61 72 69 65 73 3b 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 6f 6e n.SUID.binaries;.in.this.case.on
5e8a0 6c 79 20 74 68 65 20 73 79 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 ly.the.system..........directory
5e8c0 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 6e 64 20 74 68 69 73 20 6e 6f 72 6d 61 6c 6c 79 .is.considered.and.this.normally
5e8e0 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 54 54 3e 3c 56 41 52 3e 70 72 65 66 69 78 3c 2f 56 41 .is..........<TT><VAR>prefix</VA
5e900 52 3e 2f 6c 69 62 2f 67 63 6f 6e 76 3c 2f 54 54 3e 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 47 43 R>/lib/gconv</TT>...The.<CODE>GC
5e920 4f 4e 56 5f 50 41 54 48 3c 2f 43 4f 44 45 3e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 20 20 20 20 ONV_PATH</CODE>.environment.....
5e940 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 69 73 20 65 78 61 6d 69 6e 65 64 20 65 78 61 63 74 6c .....variable.is.examined.exactl
5e960 79 20 6f 6e 63 65 20 61 74 20 74 68 65 20 66 69 72 73 74 20 63 61 6c 6c 20 6f 66 20 74 68 65 0a y.once.at.the.first.call.of.the.
5e980 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 63 6f 6e 76 5f 6f 70 65 6e 3c 2f 43 4f 44 45 3e .........<CODE>iconv_open</CODE>
5e9a0 20 66 75 6e 63 74 69 6f 6e 2e 20 20 4c 61 74 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 .function...Later.modifications.
5e9c0 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 68 61 76 65 20 6e 6f 0a 20 20 20 20 20 20 20 20 of.the.variable.have.no.........
5e9e0 20 65 66 66 65 63 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c .effect...........<br><br>.The.<
5ea00 43 4f 44 45 3e 69 63 6f 6e 76 5f 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 CODE>iconv_open</CODE>.function.
5ea20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 65 61 72 6c 79 20 69 6e 20 74 68 65 20 58 2f 4f 70 was.introduced.early.in.the.X/Op
5ea40 65 6e 0a 20 20 20 20 20 20 20 20 20 50 6f 72 74 61 62 69 6c 69 74 79 20 47 75 69 64 65 2c 20 76 en..........Portability.Guide,.v
5ea60 65 72 73 69 6f 6e 20 32 2e 20 20 49 74 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 61 6c ersion.2...It.is.supported.by.al
5ea80 6c 20 63 6f 6d 6d 65 72 63 69 61 6c 0a 20 20 20 20 20 20 20 20 20 55 6e 69 63 65 73 20 61 73 20 l.commercial..........Unices.as.
5eaa0 69 74 20 69 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 74 68 65 20 55 6e 69 78 20 62 72 61 6e it.is.required.for.the.Unix.bran
5eac0 64 69 6e 67 2e 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 71 75 61 6c 69 74 79 20 61 6e 64 0a ding...However,.the.quality.and.
5eae0 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 6e 65 73 73 20 6f 66 20 74 68 65 20 69 6d 70 .........completeness.of.the.imp
5eb00 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 76 61 72 69 65 73 20 77 69 64 65 6c 79 2e 20 20 54 68 65 20 lementation.varies.widely...The.
5eb20 3c 43 4f 44 45 3e 69 63 6f 6e 76 5f 6f 70 65 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 <CODE>iconv_open</CODE>.........
5eb40 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 69 63 6f .function.is.declared.in.<TT>ico
5eb60 6e 76 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 nv.h</TT>..........sq.~......w..
5eb80 00 00 0a 74 00 07 69 63 6f 6e 76 2e 68 78 71 00 7e 0e b9 74 00 28 63 6f 6e 73 74 20 63 68 61 72 ...t..iconv.hxq.~..t.(const.char
5eba0 20 2a 74 6f 63 6f 64 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 72 6f 6d 63 6f 64 65 74 00 .*tocode,.const.char.*fromcodet.
5ebc0 07 69 63 6f 6e 76 5f 74 74 00 10 69 66 5f 66 72 65 65 6e 61 6d 65 69 6e 64 65 78 73 71 00 7e 00 .iconv_tt..if_freenameindexsq.~.
5ebe0 0a 70 74 00 76 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 66 72 65 65 .pt.v.........This.function.free
5ec00 73 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 61 6e 20 65 s.the.structure.returned.by.an.e
5ec20 61 72 6c 69 65 72 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 66 arlier.call.to..........<CODE>if
5ec40 5f 6e 61 6d 65 69 6e 64 65 78 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 _nameindex</CODE>..........sq.~.
5ec60 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6e 65 74 2f 69 66 2e 68 78 71 00 7e 0e c0 74 00 18 73 .....w.....t..net/if.hxq.~..t..s
5ec80 74 72 75 63 74 20 69 66 5f 6e 61 6d 65 69 6e 64 65 78 20 2a 70 74 72 74 00 04 76 6f 69 64 74 00 truct.if_nameindex.*ptrt..voidt.
5eca0 0e 69 66 5f 69 6e 64 65 78 74 6f 6e 61 6d 65 73 71 00 7e 00 0a 70 74 01 71 0a 20 20 20 20 20 20 .if_indextonamesq.~..pt.q.......
5ecc0 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 70 73 20 61 6e 20 69 6e 74 65 72 66 61 63 ..This.function.maps.an.interfac
5ece0 65 20 69 6e 64 65 78 20 74 6f 20 69 74 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 6e 61 6d e.index.to.its.corresponding.nam
5ed00 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 6e 61 6d 65 20 69 e...The..........returned.name.i
5ed20 73 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 s.placed.in.the.buffer.pointed.t
5ed40 6f 20 62 79 20 3c 43 4f 44 45 3e 69 66 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2c 20 77 68 69 63 68 0a o.by.<CODE>ifname</CODE>,.which.
5ed60 20 20 20 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 61 74 20 6c 65 61 73 74 20 3c 43 4f 44 45 3e .........must.be.at.least.<CODE>
5ed80 49 46 4e 41 4d 53 49 5a 3c 2f 43 4f 44 45 3e 20 62 79 74 65 73 20 69 6e 20 6c 65 6e 67 74 68 2e IFNAMSIZ</CODE>.bytes.in.length.
5eda0 20 20 49 66 20 74 68 65 20 69 6e 64 65 78 20 77 61 73 0a 20 20 20 20 20 20 20 20 20 69 6e 76 61 ..If.the.index.was..........inva
5edc0 6c 69 64 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 72 65 74 75 72 6e 20 76 61 6c 75 65 lid,.the.function's.return.value
5ede0 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 .is.a.null.pointer,.otherwise.it
5ee00 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 66 6e 61 6d 65 3c 2f 43 4f 44 45 3e .is..........<CODE>ifname</CODE>
5ee20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6e 65 74 ..........sq.~......w.....t..net
5ee40 2f 69 66 2e 68 78 71 00 7e 0e c7 74 00 22 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 66 69 6e 64 /if.hxq.~..t."unsigned.int.ifind
5ee60 65 78 2c 20 63 68 61 72 20 2a 69 66 6e 61 6d 65 74 00 06 63 68 61 72 20 2a 74 00 0c 69 66 5f 6e ex,.char.*ifnamet..char.*t..if_n
5ee80 61 6d 65 69 6e 64 65 78 73 71 00 7e 00 0a 70 74 01 a7 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 ameindexsq.~..pt...........This.
5eea0 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 3c 43 4f function.returns.an.array.of.<CO
5eec0 44 45 3e 69 66 5f 6e 61 6d 65 69 6e 64 65 78 3c 2f 43 4f 44 45 3e 20 73 74 72 75 63 74 75 72 65 DE>if_nameindex</CODE>.structure
5eee0 73 2c 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 65 76 65 72 79 20 69 6e 74 65 72 66 s,.one..........for.every.interf
5ef00 61 63 65 20 74 68 61 74 20 69 73 20 70 72 65 73 65 6e 74 2e 20 20 54 68 65 20 65 6e 64 20 6f 66 ace.that.is.present...The.end.of
5ef20 20 74 68 65 20 6c 69 73 74 20 69 73 20 69 6e 64 69 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 .the.list.is.indicated..........
5ef40 62 79 20 61 20 73 74 72 75 63 74 75 72 65 20 77 69 74 68 20 61 6e 20 69 6e 74 65 72 66 61 63 65 by.a.structure.with.an.interface
5ef60 20 6f 66 20 30 20 61 6e 64 20 61 20 6e 75 6c 6c 20 6e 61 6d 65 20 70 6f 69 6e 74 65 72 2e 20 20 .of.0.and.a.null.name.pointer...
5ef80 49 66 20 61 6e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6f 63 63 75 72 73 2c 20 74 68 69 If.an..........error.occurs,.thi
5efa0 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 s.function.returns.a.null.pointe
5efc0 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 65 r...........<br><br>.The.returne
5efe0 64 20 73 74 72 75 63 74 75 72 65 20 6d 75 73 74 20 62 65 20 66 72 65 65 64 20 77 69 74 68 20 3c d.structure.must.be.freed.with.<
5f000 43 4f 44 45 3e 69 66 5f 66 72 65 65 6e 61 6d 65 69 6e 64 65 78 3c 2f 43 4f 44 45 3e 20 61 66 74 CODE>if_freenameindex</CODE>.aft
5f020 65 72 0a 20 20 20 20 20 20 20 20 20 75 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 er..........use..........sq.~...
5f040 00 00 01 77 04 00 00 00 0a 74 00 08 6e 65 74 2f 69 66 2e 68 78 71 00 7e 0e ce 74 00 04 76 6f 69 ...w.....t..net/if.hxq.~..t..voi
5f060 64 74 00 15 73 74 72 75 63 74 20 69 66 5f 6e 61 6d 65 69 6e 64 65 78 20 2a 74 00 0e 69 66 5f 6e dt..struct.if_nameindex.*t..if_n
5f080 61 6d 65 74 6f 69 6e 64 65 78 73 71 00 7e 00 0a 70 74 00 a2 0a 20 20 20 20 20 20 20 20 54 68 69 ametoindexsq.~..pt...........Thi
5f0a0 73 20 66 75 6e 63 74 69 6f 6e 20 79 69 65 6c 64 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 s.function.yields.the.interface.
5f0c0 69 6e 64 65 78 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 61 20 70 61 72 74 69 63 75 index.corresponding.to.a.particu
5f0e0 6c 61 72 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 2e 20 20 49 66 20 6e 6f 20 69 6e 74 65 72 66 lar..........name...If.no.interf
5f100 61 63 65 20 65 78 69 73 74 73 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 67 69 76 65 6e 2c 20 ace.exists.with.the.name.given,.
5f120 69 74 20 72 65 74 75 72 6e 73 20 30 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 it.returns.0..........sq.~......
5f140 77 04 00 00 00 0a 74 00 08 6e 65 74 2f 69 66 2e 68 78 71 00 7e 0e d5 74 00 12 63 6f 6e 73 74 20 w.....t..net/if.hxq.~..t..const.
5f160 63 68 61 72 20 2a 69 66 6e 61 6d 65 74 00 0c 75 6e 73 69 67 6e 65 64 20 69 6e 74 74 00 05 69 6c char.*ifnamet..unsigned.intt..il
5f180 6f 67 62 73 71 00 7e 00 0a 70 74 00 99 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 ogbsq.~..pt...........These.func
5f1a0 74 69 6f 6e 73 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 63 6f 72 72 tions.are.equivalent.to.the.corr
5f1c0 65 73 70 6f 6e 64 69 6e 67 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 esponding.<CODE>logb</CODE>.....
5f1e0 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 79 20 .....functions.except.that.they.
5f200 72 65 74 75 72 6e 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 73 2e 0a 20 20 return.signed.integer.values....
5f220 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 ......sq.~......w.....t..math.hx
5f240 71 00 7e 0e dc 74 00 08 64 6f 75 62 6c 65 20 78 74 00 03 69 6e 74 74 00 06 69 6c 6f 67 62 66 73 q.~..t..double.xt..intt..ilogbfs
5f260 71 00 7e 00 0a 70 74 00 99 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt...........These.function
5f280 73 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f s.are.equivalent.to.the.correspo
5f2a0 6e 64 69 6e 67 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 nding.<CODE>logb</CODE>.........
5f2c0 20 66 75 6e 63 74 69 6f 6e 73 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 79 20 72 65 74 75 .functions.except.that.they.retu
5f2e0 72 6e 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 rn.signed.integer.values........
5f300 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 0e ..sq.~......w.....t..math.hxq.~.
5f320 e3 74 00 07 66 6c 6f 61 74 20 78 74 00 03 69 6e 74 74 00 06 69 6c 6f 67 62 6c 73 71 00 7e 00 0a .t..float.xt..intt..ilogblsq.~..
5f340 70 74 00 99 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 pt...........These.functions.are
5f360 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 .equivalent.to.the.corresponding
5f380 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 .<CODE>logb</CODE>..........func
5f3a0 74 69 6f 6e 73 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 79 20 72 65 74 75 72 6e 20 73 69 tions.except.that.they.return.si
5f3c0 67 6e 65 64 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 gned.integer.values..........sq.
5f3e0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 0e ea 74 00 0d 6c ~......w.....t..math.hxq.~..t..l
5f400 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 03 69 6e 74 74 00 07 69 6d 61 78 61 62 73 73 71 00 7e ong.double.xt..intt..imaxabssq.~
5f420 00 0a 70 74 02 10 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 ..pt...........These.functions.r
5f440 65 74 75 72 6e 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 eturn.the.absolute.value.of.<VAR
5f460 3e 6e 75 6d 62 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e >number</VAR>...........<br><br>
5f480 20 4d 6f 73 74 20 63 6f 6d 70 75 74 65 72 73 20 75 73 65 20 61 20 74 77 6f 27 73 20 63 6f 6d 70 .Most.computers.use.a.two's.comp
5f4a0 6c 65 6d 65 6e 74 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2c 20 69 lement.integer.representation,.i
5f4c0 6e 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 n.which..........the.absolute.va
5f4e0 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 49 4e 54 5f 4d 49 4e 3c 2f 43 4f 44 45 3e 20 28 74 68 65 lue.of.<CODE>INT_MIN</CODE>.(the
5f500 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f .smallest.possible.<CODE>int</CO
5f520 44 45 3e 29 0a 20 20 20 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 70 72 65 73 65 6e DE>)..........cannot.be.represen
5f540 74 65 64 3b 20 74 68 75 73 2c 20 3c 43 4f 44 45 3e 61 62 73 20 28 49 4e 54 5f 4d 49 4e 29 3c 2f ted;.thus,.<CODE>abs.(INT_MIN)</
5f560 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c CODE>.is.not.defined...........<
5f580 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6c 6c 61 62 73 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c br><br>.<CODE>llabs</CODE>.and.<
5f5a0 43 4f 44 45 3e 69 6d 61 78 64 69 76 3c 2f 43 4f 44 45 3e 20 61 72 65 20 6e 65 77 20 74 6f 20 49 CODE>imaxdiv</CODE>.are.new.to.I
5f5c0 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 65 65 20 49 6e SO.C99...........<br><br>.See.In
5f5e0 74 65 67 65 72 73 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 tegers.for.a.description.of.the.
5f600 3c 43 4f 44 45 3e 69 6e 74 6d 61 78 5f 74 3c 2f 43 4f 44 45 3e 20 74 79 70 65 2e 0a 20 20 20 20 <CODE>intmax_t</CODE>.type......
5f620 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .....<br><br>.........sq.~......
5f640 77 04 00 00 00 0a 74 00 0a 69 6e 74 74 79 70 65 73 2e 68 78 71 00 7e 0e f1 74 00 0f 69 6e 74 6d w.....t..inttypes.hxq.~..t..intm
5f660 61 78 5f 74 20 6e 75 6d 62 65 72 74 00 08 69 6e 74 6d 61 78 5f 74 74 00 07 69 6d 61 78 64 69 76 ax_t.numbert..intmax_tt..imaxdiv
5f680 73 71 00 7e 00 0a 70 74 01 88 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 69 6d 61 sq.~..pt...........The.<CODE>ima
5f6a0 78 64 69 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 74 68 65 xdiv</CODE>.function.is.like.the
5f6c0 20 3c 43 4f 44 45 3e 64 69 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 62 75 74 20 .<CODE>div</CODE>.function,.but.
5f6e0 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6f 66 20 74 79 the..........arguments.are.of.ty
5f700 70 65 20 3c 43 4f 44 45 3e 69 6e 74 6d 61 78 5f 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 pe.<CODE>intmax_t</CODE>.and.the
5f720 20 72 65 73 75 6c 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 .result.is.returned.as..........
5f740 61 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 69 6d 61 78 64 69 a.structure.of.type.<CODE>imaxdi
5f760 76 5f 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 65 v_t</CODE>...........<br><br>.Se
5f780 65 20 49 6e 74 65 67 65 72 73 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 e.Integers.for.a.description.of.
5f7a0 74 68 65 20 3c 43 4f 44 45 3e 69 6e 74 6d 61 78 5f 74 3c 2f 43 4f 44 45 3e 20 74 79 70 65 2e 0a the.<CODE>intmax_t</CODE>.type..
5f7c0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 69 6d 61 78 .........<br><br>.The.<CODE>imax
5f7e0 64 69 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 61 64 64 65 64 20 69 6e div</CODE>.function.was.added.in
5f800 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 .ISO.C99..........sq.~......w...
5f820 00 0a 74 00 0a 69 6e 74 74 79 70 65 73 2e 68 78 71 00 7e 0e f8 74 00 28 69 6e 74 6d 61 78 5f 74 ..t..inttypes.hxq.~..t.(intmax_t
5f840 20 6e 75 6d 65 72 61 74 6f 72 2c 20 69 6e 74 6d 61 78 5f 74 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 .numerator,.intmax_t.denominator
5f860 74 00 09 69 6d 61 78 64 69 76 5f 74 74 00 05 69 6e 64 65 78 73 71 00 7e 00 0a 70 74 01 39 0a 20 t..imaxdiv_tt..indexsq.~..pt.9..
5f880 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 6e 64 65 78 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6e 6f .......<CODE>index</CODE>.is.ano
5f8a0 74 68 65 72 20 6e 61 6d 65 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 63 68 72 3c 2f 43 4f 44 45 ther.name.for.<CODE>strchr</CODE
5f8c0 3e 3b 20 74 68 65 79 20 61 72 65 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 2e 0a 20 20 >;.they.are.exactly.the.same....
5f8e0 20 20 20 20 20 20 20 4e 65 77 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 75 73 .......New.code.should.always.us
5f900 65 20 3c 43 4f 44 45 3e 73 74 72 63 68 72 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 69 73 e.<CODE>strchr</CODE>.since.this
5f920 20 6e 61 6d 65 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 49 53 4f .name.is.defined.in..........ISO
5f940 20 43 20 77 68 69 6c 65 20 3c 43 4f 44 45 3e 69 6e 64 65 78 3c 2f 43 4f 44 45 3e 20 69 73 20 61 .C.while.<CODE>index</CODE>.is.a
5f960 20 42 53 44 20 69 6e 76 65 6e 74 69 6f 6e 20 77 68 69 63 68 20 6e 65 76 65 72 20 77 61 73 20 61 .BSD.invention.which.never.was.a
5f980 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 53 79 73 74 65 6d 20 56 20 64 65 vailable..........on.System.V.de
5f9a0 72 69 76 65 64 20 73 79 73 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 rived.systems..........sq.~.....
5f9c0 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 0e ff 74 00 19 63 6f 6e 73 74 .w.....t..string.hxq.~..t..const
5f9e0 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20 63 74 00 06 63 68 61 72 20 2a 74 00 09 .char.*string,.int.ct..char.*t..
5fa00 69 6e 65 74 5f 61 64 64 72 73 71 00 7e 00 0a 70 74 02 19 0a 20 20 20 20 20 20 20 20 54 68 69 73 inet_addrsq.~..pt...........This
5fa20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 49 50 76 34 20 49 6e 74 65 .function.converts.the.IPv4.Inte
5fa40 72 6e 65 74 20 68 6f 73 74 20 61 64 64 72 65 73 73 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 rnet.host.address.<VAR>name</VAR
5fa60 3e 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 20 6e 75 6d >.from.the..........standard.num
5fa80 62 65 72 73 2d 61 6e 64 2d 64 6f 74 73 20 6e 6f 74 61 74 69 6f 6e 20 69 6e 74 6f 20 62 69 6e 61 bers-and-dots.notation.into.bina
5faa0 72 79 20 64 61 74 61 2e 20 20 49 66 20 74 68 65 20 69 6e 70 75 74 20 69 73 0a 20 20 20 20 20 20 ry.data...If.the.input.is.......
5fac0 20 20 20 6e 6f 74 20 76 61 6c 69 64 2c 20 3c 43 4f 44 45 3e 69 6e 65 74 5f 61 64 64 72 3c 2f 43 ...not.valid,.<CODE>inet_addr</C
5fae0 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 49 4e 41 44 44 52 5f 4e 4f 4e 45 3c 2f ODE>.returns.<CODE>INADDR_NONE</
5fb00 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 69 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 6f 62 73 6f CODE>...This.is.an..........obso
5fb20 6c 65 74 65 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 3c 43 4f 44 45 3e 69 6e 65 74 5f 61 74 6f lete.interface.to.<CODE>inet_ato
5fb40 6e 3c 2f 43 4f 44 45 3e 2c 20 64 65 73 63 72 69 62 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 n</CODE>,.described.immediately.
5fb60 61 62 6f 76 65 2e 20 49 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 6f 62 73 6f 6c 65 74 65 20 62 above..It..........is.obsolete.b
5fb80 65 63 61 75 73 65 20 3c 43 4f 44 45 3e 49 4e 41 44 44 52 5f 4e 4f 4e 45 3c 2f 43 4f 44 45 3e 20 ecause.<CODE>INADDR_NONE</CODE>.
5fba0 69 73 20 61 20 76 61 6c 69 64 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 28 32 35 35 is.a.valid.address..........(255
5fbc0 2e 32 35 35 2e 32 35 35 2e 32 35 35 29 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 69 6e 65 74 5f 61 74 .255.255.255),.and.<CODE>inet_at
5fbe0 6f 6e 3c 2f 43 4f 44 45 3e 20 70 72 6f 76 69 64 65 73 20 61 20 63 6c 65 61 6e 65 72 20 77 61 79 on</CODE>.provides.a.cleaner.way
5fc00 20 74 6f 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 20 65 72 72 6f 72 20 72 65 74 75 .to..........indicate.error.retu
5fc20 72 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 61 rn..........sq.~......w.....t..a
5fc40 72 70 61 2f 69 6e 65 74 2e 68 78 71 00 7e 0f 06 74 00 10 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e rpa/inet.hxq.~..t..const.char.*n
5fc60 61 6d 65 74 00 08 75 69 6e 74 33 32 5f 74 74 00 09 69 6e 65 74 5f 61 74 6f 6e 73 71 00 7e 00 0a amet..uint32_tt..inet_atonsq.~..
5fc80 70 74 01 4d 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 pt.M.........This.function.conve
5fca0 72 74 73 20 74 68 65 20 49 50 76 34 20 49 6e 74 65 72 6e 65 74 20 68 6f 73 74 20 61 64 64 72 65 rts.the.IPv4.Internet.host.addre
5fcc0 73 73 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d ss.<VAR>name</VAR>..........from
5fce0 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6e 75 6d 62 65 72 73 2d 61 6e 64 2d 64 6f 74 73 20 6e .the.standard.numbers-and-dots.n
5fd00 6f 74 61 74 69 6f 6e 20 69 6e 74 6f 20 62 69 6e 61 72 79 20 64 61 74 61 20 61 6e 64 20 73 74 6f otation.into.binary.data.and.sto
5fd20 72 65 73 0a 20 20 20 20 20 20 20 20 20 69 74 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 res..........it.in.the.<CODE>str
5fd40 75 63 74 20 69 6e 5f 61 64 64 72 3c 2f 43 4f 44 45 3e 20 74 68 61 74 20 3c 56 41 52 3e 61 64 64 uct.in_addr</CODE>.that.<VAR>add
5fd60 72 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 r</VAR>.points.to...........<COD
5fd80 45 3e 69 6e 65 74 5f 61 74 6f 6e 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 7a 65 E>inet_aton</CODE>.returns.nonze
5fda0 72 6f 20 69 66 20 74 68 65 20 61 64 64 72 65 73 73 20 69 73 20 76 61 6c 69 64 2c 20 7a 65 72 6f ro.if.the.address.is.valid,.zero
5fdc0 20 69 66 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 03 77 04 00 00 00 .if.not..........sq.~......w....
5fde0 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 74 00 0c 6e 65 74 69 6e 65 74 2f 69 6e 2e 68 74 .t..sys/socket.ht..netinet/in.ht
5fe00 00 0b 61 72 70 61 2f 69 6e 65 74 2e 68 78 71 00 7e 0f 0d 74 00 26 63 6f 6e 73 74 20 63 68 61 72 ..arpa/inet.hxq.~..t.&const.char
5fe20 20 2a 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 69 6e 5f 61 64 64 72 20 2a 61 64 64 72 74 00 03 69 .*name,.struct.in_addr.*addrt..i
5fe40 6e 74 74 00 0a 69 6e 65 74 5f 6c 6e 61 6f 66 73 71 00 7e 00 0a 70 74 01 3f 0a 20 20 20 20 20 20 ntt..inet_lnaofsq.~..pt.?.......
5fe60 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 63 61 ..This.function.returns.the.loca
5fe80 6c 2d 61 64 64 72 65 73 73 2d 77 69 74 68 69 6e 2d 6e 65 74 77 6f 72 6b 20 70 61 72 74 20 6f 66 l-address-within-network.part.of
5fea0 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 49 6e 74 65 72 6e 65 74 20 68 6f 73 74 20 61 64 64 72 .the..........Internet.host.addr
5fec0 65 73 73 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ess.<VAR>addr</VAR>...........<b
5fee0 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6f 6e 6c 79 20 77 r><br>.The.function.works.only.w
5ff00 69 74 68 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 49 50 76 34 20 63 6c 61 73 73 20 41 2c 20 42 20 ith.traditional.IPv4.class.A,.B.
5ff20 61 6e 64 20 43 20 6e 65 74 77 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 74 79 70 65 73 2e 20 20 49 and.C.network..........types...I
5ff40 74 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 77 69 74 68 20 63 6c 61 73 73 6c 65 73 73 20 61 64 t.doesn't.work.with.classless.ad
5ff60 64 72 65 73 73 65 73 20 61 6e 64 20 73 68 6f 75 6c 64 6e 27 74 20 62 65 20 75 73 65 64 0a 20 20 dresses.and.shouldn't.be.used...
5ff80 20 20 20 20 20 20 20 61 6e 79 6d 6f 72 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 .......anymore..........sq.~....
5ffa0 00 01 77 04 00 00 00 0a 74 00 0b 61 72 70 61 2f 69 6e 65 74 2e 68 78 71 00 7e 0f 16 74 00 13 73 ..w.....t..arpa/inet.hxq.~..t..s
5ffc0 74 72 75 63 74 20 69 6e 5f 61 64 64 72 20 61 64 64 72 74 00 08 75 69 6e 74 33 32 5f 74 74 00 0d truct.in_addr.addrt..uint32_tt..
5ffe0 69 6e 65 74 5f 6d 61 6b 65 61 64 64 72 73 71 00 7e 00 0a 70 74 00 c3 0a 20 20 20 20 20 20 20 20 inet_makeaddrsq.~..pt...........
60000 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 73 20 61 6e 20 49 50 76 34 20 49 6e 74 65 This.function.makes.an.IPv4.Inte
60020 72 6e 65 74 20 68 6f 73 74 20 61 64 64 72 65 73 73 20 62 79 20 63 6f 6d 62 69 6e 69 6e 67 20 74 rnet.host.address.by.combining.t
60040 68 65 20 6e 65 74 77 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e he.network..........number.<VAR>
60060 6e 65 74 3c 2f 56 41 52 3e 20 77 69 74 68 20 74 68 65 20 6c 6f 63 61 6c 2d 61 64 64 72 65 73 73 net</VAR>.with.the.local-address
60080 2d 77 69 74 68 69 6e 2d 6e 65 74 77 6f 72 6b 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 -within-network.number..........
600a0 3c 56 41 52 3e 6c 6f 63 61 6c 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f <VAR>local</VAR>..........sq.~..
600c0 00 00 00 01 77 04 00 00 00 0a 74 00 0b 61 72 70 61 2f 69 6e 65 74 2e 68 78 71 00 7e 0f 1d 74 00 ....w.....t..arpa/inet.hxq.~..t.
600e0 1c 75 69 6e 74 33 32 5f 74 20 6e 65 74 2c 20 75 69 6e 74 33 32 5f 74 20 6c 6f 63 61 6c 74 00 0e .uint32_t.net,.uint32_t.localt..
60100 73 74 72 75 63 74 20 69 6e 5f 61 64 64 72 74 00 0a 69 6e 65 74 5f 6e 65 74 6f 66 73 71 00 7e 00 struct.in_addrt..inet_netofsq.~.
60120 0a 70 74 01 31 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 .pt.1.........This.function.retu
60140 72 6e 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 6e 75 6d 62 65 72 20 70 61 72 74 20 6f 66 20 74 rns.the.network.number.part.of.t
60160 68 65 20 49 6e 74 65 72 6e 65 74 20 68 6f 73 74 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 he.Internet.host..........addres
60180 73 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e s.<VAR>addr</VAR>...........<br>
601a0 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6f 6e 6c 79 20 77 69 74 <br>.The.function.works.only.wit
601c0 68 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 49 50 76 34 20 63 6c 61 73 73 20 41 2c 20 42 20 61 6e h.traditional.IPv4.class.A,.B.an
601e0 64 20 43 20 6e 65 74 77 6f 72 6b 0a 20 20 20 20 20 20 20 20 20 74 79 70 65 73 2e 20 20 49 74 20 d.C.network..........types...It.
60200 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 77 69 74 68 20 63 6c 61 73 73 6c 65 73 73 20 61 64 64 72 doesn't.work.with.classless.addr
60220 65 73 73 65 73 20 61 6e 64 20 73 68 6f 75 6c 64 6e 27 74 20 62 65 20 75 73 65 64 0a 20 20 20 20 esses.and.shouldn't.be.used.....
60240 20 20 20 20 20 61 6e 79 6d 6f 72 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .....anymore..........sq.~......
60260 77 04 00 00 00 0a 74 00 0b 61 72 70 61 2f 69 6e 65 74 2e 68 78 71 00 7e 0f 24 74 00 13 73 74 72 w.....t..arpa/inet.hxq.~.$t..str
60280 75 63 74 20 69 6e 5f 61 64 64 72 20 61 64 64 72 74 00 08 75 69 6e 74 33 32 5f 74 74 00 0c 69 6e uct.in_addr.addrt..uint32_tt..in
602a0 65 74 5f 6e 65 74 77 6f 72 6b 73 71 00 7e 00 0a 70 74 01 d9 0a 20 20 20 20 20 20 20 20 54 68 69 et_networksq.~..pt...........Thi
602c0 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 73 20 74 68 65 20 6e 65 74 77 6f 72 6b 20 s.function.extracts.the.network.
602e0 6e 75 6d 62 65 72 20 66 72 6f 6d 20 74 68 65 20 61 64 64 72 65 73 73 20 3c 56 41 52 3e 6e 61 6d number.from.the.address.<VAR>nam
60300 65 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 73 e</VAR>,..........given.in.the.s
60320 74 61 6e 64 61 72 64 20 6e 75 6d 62 65 72 73 2d 61 6e 64 2d 64 6f 74 73 20 6e 6f 74 61 74 69 6f tandard.numbers-and-dots.notatio
60340 6e 2e 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 61 64 64 72 65 73 73 20 69 73 0a 20 20 20 20 20 n..The.returned.address.is......
60360 20 20 20 20 69 6e 20 68 6f 73 74 20 6f 72 64 65 72 2e 20 49 66 20 74 68 65 20 69 6e 70 75 74 20 ....in.host.order..If.the.input.
60380 69 73 20 6e 6f 74 20 76 61 6c 69 64 2c 20 3c 43 4f 44 45 3e 69 6e 65 74 5f 6e 65 74 77 6f 72 6b is.not.valid,.<CODE>inet_network
603a0 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d </CODE>.returns..........<CODE>-
603c0 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 1</CODE>...........<br><br>.The.
603e0 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6f 6e 6c 79 20 77 69 74 68 20 74 72 61 64 69 74 69 function.works.only.with.traditi
60400 6f 6e 61 6c 20 49 50 76 34 20 63 6c 61 73 73 20 41 2c 20 42 20 61 6e 64 20 43 20 6e 65 74 77 6f onal.IPv4.class.A,.B.and.C.netwo
60420 72 6b 0a 20 20 20 20 20 20 20 20 20 74 79 70 65 73 2e 20 20 49 74 20 64 6f 65 73 6e 27 74 20 77 rk..........types...It.doesn't.w
60440 6f 72 6b 20 77 69 74 68 20 63 6c 61 73 73 6c 65 73 73 20 61 64 64 72 65 73 73 65 73 20 61 6e 64 ork.with.classless.addresses.and
60460 20 73 68 6f 75 6c 64 6e 27 74 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 61 6e 79 6d .shouldn't.be.used..........anym
60480 6f 72 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b ore..........sq.~......w.....t..
604a0 61 72 70 61 2f 69 6e 65 74 2e 68 78 71 00 7e 0f 2b 74 00 10 63 6f 6e 73 74 20 63 68 61 72 20 2a arpa/inet.hxq.~.+t..const.char.*
604c0 6e 61 6d 65 74 00 08 75 69 6e 74 33 32 5f 74 74 00 09 69 6e 65 74 5f 6e 74 6f 61 73 71 00 7e 00 namet..uint32_tt..inet_ntoasq.~.
604e0 0a 70 74 03 0c 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 .pt...........This.function.conv
60500 65 72 74 73 20 74 68 65 20 49 50 76 34 20 49 6e 74 65 72 6e 65 74 20 68 6f 73 74 20 61 64 64 72 erts.the.IPv4.Internet.host.addr
60520 65 73 73 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 74 6f 20 61 0a 20 20 20 20 20 20 20 ess.<VAR>addr</VAR>.to.a........
60540 20 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6e 75 6d 62 65 72 73 ..string.in.the.standard.numbers
60560 2d 61 6e 64 2d 64 6f 74 73 20 6e 6f 74 61 74 69 6f 6e 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 -and-dots.notation...The.return.
60580 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f value.is..........a.pointer.into
605a0 20 61 20 73 74 61 74 69 63 61 6c 6c 79 2d 61 6c 6c 6f 63 61 74 65 64 20 62 75 66 66 65 72 2e 20 .a.statically-allocated.buffer..
605c0 20 53 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 .Subsequent.calls.will..........
605e0 6f 76 65 72 77 72 69 74 65 20 74 68 65 20 73 61 6d 65 20 62 75 66 66 65 72 2c 20 73 6f 20 79 6f overwrite.the.same.buffer,.so.yo
60600 75 20 73 68 6f 75 6c 64 20 63 6f 70 79 20 74 68 65 20 73 74 72 69 6e 67 20 69 66 20 79 6f 75 20 u.should.copy.the.string.if.you.
60620 6e 65 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 73 61 76 65 20 69 74 2e 0a 20 20 20 20 20 20 need..........to.save.it........
60640 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 ...<br><br>.In.multi-threaded.pr
60660 6f 67 72 61 6d 73 20 65 61 63 68 20 74 68 72 65 61 64 20 68 61 73 20 61 6e 20 6f 77 6e 20 73 74 ograms.each.thread.has.an.own.st
60680 61 74 69 63 61 6c 6c 79 2d 61 6c 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 atically-allocated..........buff
606a0 65 72 2e 20 20 42 75 74 20 73 74 69 6c 6c 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 er...But.still.subsequent.calls.
606c0 6f 66 20 3c 43 4f 44 45 3e 69 6e 65 74 5f 6e 74 6f 61 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 of.<CODE>inet_ntoa</CODE>.in.the
606e0 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 74 68 72 65 61 64 20 77 69 6c 6c 20 6f 76 65 72 77 .same..........thread.will.overw
60700 72 69 74 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 6c 61 73 74 20 63 61 6c 6c rite.the.result.of.the.last.call
60720 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 73 74 65 61 64 20 6f 66 20 3c ...........<br><br>.Instead.of.<
60740 43 4f 44 45 3e 69 6e 65 74 5f 6e 74 6f 61 3c 2f 43 4f 44 45 3e 20 74 68 65 20 6e 65 77 65 72 20 CODE>inet_ntoa</CODE>.the.newer.
60760 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 69 6e 65 74 5f 6e 74 6f 70 3c 2f 43 4f 44 45 3e 20 function.<CODE>inet_ntop</CODE>.
60780 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f which.is..........described.belo
607a0 77 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 73 69 6e 63 65 20 69 74 20 68 61 6e 64 6c 65 w.should.be.used.since.it.handle
607c0 73 20 62 6f 74 68 20 49 50 76 34 20 61 6e 64 20 49 50 76 36 0a 20 20 20 20 20 20 20 20 20 61 64 s.both.IPv4.and.IPv6..........ad
607e0 64 72 65 73 73 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 dresses..........sq.~......w....
60800 0a 74 00 0b 61 72 70 61 2f 69 6e 65 74 2e 68 78 71 00 7e 0f 32 74 00 13 73 74 72 75 63 74 20 69 .t..arpa/inet.hxq.~.2t..struct.i
60820 6e 5f 61 64 64 72 20 61 64 64 72 74 00 06 63 68 61 72 20 2a 74 00 09 69 6e 65 74 5f 6e 74 6f 70 n_addr.addrt..char.*t..inet_ntop
60840 73 71 00 7e 00 0a 70 74 02 06 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e sq.~..pt...........This.function
60860 20 63 6f 6e 76 65 72 74 73 20 61 6e 20 49 6e 74 65 72 6e 65 74 20 61 64 64 72 65 73 73 20 28 65 .converts.an.Internet.address.(e
60880 69 74 68 65 72 20 49 50 76 34 20 6f 72 20 49 50 76 36 29 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 ither.IPv4.or.IPv6).from........
608a0 20 20 6e 65 74 77 6f 72 6b 20 28 62 69 6e 61 72 79 29 20 74 6f 20 70 72 65 73 65 6e 74 61 74 69 ..network.(binary).to.presentati
608c0 6f 6e 20 28 74 65 78 74 75 61 6c 29 20 66 6f 72 6d 2e 20 20 3c 56 41 52 3e 61 66 3c 2f 56 41 52 on.(textual).form...<VAR>af</VAR
608e0 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 65 69 74 68 65 72 20 3c 43 4f 44 >.should.be..........either.<COD
60900 45 3e 41 46 5f 49 4e 45 54 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 41 46 5f 49 4e 45 E>AF_INET</CODE>.or.<CODE>AF_INE
60920 54 36 3c 2f 43 4f 44 45 3e 2c 20 61 73 20 61 70 70 72 6f 70 72 69 61 74 65 2e 20 20 3c 56 41 52 T6</CODE>,.as.appropriate...<VAR
60940 3e 63 70 3c 2f 56 41 52 3e 20 69 73 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 >cp</VAR>.is.a..........pointer.
60960 74 6f 20 74 68 65 20 61 64 64 72 65 73 73 20 74 6f 20 62 65 20 63 6f 6e 76 65 72 74 65 64 2e 20 to.the.address.to.be.converted..
60980 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 62 65 20 61 20 70 6f 69 6e .<VAR>buf</VAR>.should.be.a.poin
609a0 74 65 72 0a 20 20 20 20 20 20 20 20 20 74 6f 20 61 20 62 75 66 66 65 72 20 74 6f 20 68 6f 6c 64 ter..........to.a.buffer.to.hold
609c0 20 74 68 65 20 72 65 73 75 6c 74 2c 20 61 6e 64 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 20 .the.result,.and.<VAR>len</VAR>.
609e0 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 62 is.the.length.of.this..........b
60a00 75 66 66 65 72 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 uffer...The.return.value.from.th
60a20 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 74 68 69 73 20 62 75 66 66 65 72 20 61 e.function.will.be.this.buffer.a
60a40 64 64 72 65 73 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a ddress..........sq.~......w.....
60a60 74 00 0b 61 72 70 61 2f 69 6e 65 74 2e 68 78 71 00 7e 0f 39 74 00 2d 69 6e 74 20 61 66 2c 20 63 t..arpa/inet.hxq.~.9t.-int.af,.c
60a80 6f 6e 73 74 20 76 6f 69 64 20 2a 63 70 2c 20 63 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 onst.void.*cp,.char.*buf,.size_t
60aa0 20 6c 65 6e 74 00 0c 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 00 09 69 6e 65 74 5f 70 74 6f 6e 73 .lent..const.char.*t..inet_ptons
60ac0 71 00 7e 00 0a 70 74 01 f7 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 q.~..pt...........This.function.
60ae0 63 6f 6e 76 65 72 74 73 20 61 6e 20 49 6e 74 65 72 6e 65 74 20 61 64 64 72 65 73 73 20 28 65 69 converts.an.Internet.address.(ei
60b00 74 68 65 72 20 49 50 76 34 20 6f 72 20 49 50 76 36 29 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 ther.IPv4.or.IPv6).from.........
60b20 20 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 28 74 65 78 74 75 61 6c 29 20 74 6f 20 6e 65 74 77 6f .presentation.(textual).to.netwo
60b40 72 6b 20 28 62 69 6e 61 72 79 29 20 66 6f 72 6d 61 74 2e 20 20 3c 56 41 52 3e 61 66 3c 2f 56 41 rk.(binary).format...<VAR>af</VA
60b60 52 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 65 69 74 68 65 72 20 3c 43 4f R>.should.be..........either.<CO
60b80 44 45 3e 41 46 5f 49 4e 45 54 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 41 46 5f 49 4e DE>AF_INET</CODE>.or.<CODE>AF_IN
60ba0 45 54 36 3c 2f 43 4f 44 45 3e 2c 20 61 73 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 74 ET6</CODE>,.as.appropriate.for.t
60bc0 68 65 20 74 79 70 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 62 65 69 6e he.type.of..........address.bein
60be0 67 20 63 6f 6e 76 65 72 74 65 64 2e 20 20 3c 56 41 52 3e 63 70 3c 2f 56 41 52 3e 20 69 73 20 61 g.converted...<VAR>cp</VAR>.is.a
60c00 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 2c 20 61 6e .pointer.to.the.input.string,.an
60c20 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 69 73 20 61 20 70 d..........<VAR>buf</VAR>.is.a.p
60c40 6f 69 6e 74 65 72 20 74 6f 20 61 20 62 75 66 66 65 72 20 66 6f 72 20 74 68 65 20 72 65 73 75 6c ointer.to.a.buffer.for.the.resul
60c60 74 2e 20 20 49 74 20 69 73 20 74 68 65 20 63 61 6c 6c 65 72 27 73 0a 20 20 20 20 20 20 20 20 20 t...It.is.the.caller's..........
60c80 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 responsibility.to.make.sure.the.
60ca0 62 75 66 66 65 72 20 69 73 20 6c 61 72 67 65 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 buffer.is.large.enough..........
60cc0 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 61 72 70 61 2f 69 6e 65 74 2e 68 78 71 sq.~......w.....t..arpa/inet.hxq
60ce0 00 7e 0f 40 74 00 21 69 6e 74 20 61 66 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 63 70 2c 20 76 .~.@t.!int.af,.const.char.*cp,.v
60d00 6f 69 64 20 2a 62 75 66 74 00 03 69 6e 74 74 00 0a 69 6e 69 74 67 72 6f 75 70 73 73 71 00 7e 00 oid.*buft..intt..initgroupssq.~.
60d20 0a 70 74 02 22 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 69 6e 69 74 67 72 6f 75 .pt.".........The.<CODE>initgrou
60d40 70 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 70 72 6f 63 ps</CODE>.function.sets.the.proc
60d60 65 73 73 27 73 20 73 75 70 70 6c 65 6d 65 6e 74 61 72 79 20 67 72 6f 75 70 0a 20 20 20 20 20 20 ess's.supplementary.group.......
60d80 20 20 20 49 44 73 20 74 6f 20 62 65 20 74 68 65 20 6e 6f 72 6d 61 6c 20 64 65 66 61 75 6c 74 20 ...IDs.to.be.the.normal.default.
60da0 66 6f 72 20 74 68 65 20 75 73 65 72 20 6e 61 6d 65 20 3c 56 41 52 3e 75 73 65 72 3c 2f 56 41 52 for.the.user.name.<VAR>user</VAR
60dc0 3e 2e 20 20 54 68 65 20 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 67 72 6f 75 >...The.group..........<VAR>grou
60de0 70 3c 2f 56 41 52 3e 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 6e 63 6c 75 64 65 p</VAR>.is.automatically.include
60e00 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 d...........<br><br>.This.functi
60e20 6f 6e 20 77 6f 72 6b 73 20 62 79 20 73 63 61 6e 6e 69 6e 67 20 74 68 65 20 67 72 6f 75 70 20 64 on.works.by.scanning.the.group.d
60e40 61 74 61 62 61 73 65 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 67 72 6f 75 70 73 0a 20 20 20 20 20 atabase.for.all.the.groups......
60e60 20 20 20 20 3c 56 41 52 3e 75 73 65 72 3c 2f 56 41 52 3e 20 62 65 6c 6f 6e 67 73 20 74 6f 2e 20 ....<VAR>user</VAR>.belongs.to..
60e80 20 49 74 20 74 68 65 6e 20 63 61 6c 6c 73 20 3c 43 4f 44 45 3e 73 65 74 67 72 6f 75 70 73 3c 2f .It.then.calls.<CODE>setgroups</
60ea0 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 6c 69 73 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 CODE>.with.the.list.it..........
60ec0 68 61 73 20 63 6f 6e 73 74 72 75 63 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 has.constructed...........<br><b
60ee0 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 61 6e 64 20 65 72 72 6f 72 20 63 r>.The.return.values.and.error.c
60f00 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 0a 20 20 onditions.are.the.same.as.for...
60f20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 65 74 67 72 6f 75 70 73 3c 2f 43 4f 44 45 3e 2e 0a 20 .......<CODE>setgroups</CODE>...
60f40 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 .......sq.~......w.....t..grp.hx
60f60 71 00 7e 0f 47 74 00 1d 63 6f 6e 73 74 20 63 68 61 72 20 2a 75 73 65 72 2c 20 67 69 64 5f 74 20 q.~.Gt..const.char.*user,.gid_t.
60f80 67 72 6f 75 70 74 00 03 69 6e 74 74 00 09 69 6e 69 74 73 74 61 74 65 73 71 00 7e 00 0a 70 74 02 groupt..intt..initstatesq.~..pt.
60fa0 6c 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 69 6e 69 74 73 74 61 74 65 3c 2f 43 l.........The.<CODE>initstate</C
60fc0 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c ODE>.function.is.used.to.initial
60fe0 69 7a 65 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 67 ize.the.random.number..........g
61000 65 6e 65 72 61 74 6f 72 20 73 74 61 74 65 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 enerator.state...The.argument.<V
61020 41 52 3e 73 74 61 74 65 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 3c 56 AR>state</VAR>.is.an.array.of.<V
61040 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 62 79 74 65 73 2c 20 75 73 AR>size</VAR>..........bytes,.us
61060 65 64 20 74 6f 20 68 6f 6c 64 20 74 68 65 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e ed.to.hold.the.state.information
61080 2e 20 20 49 74 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 61 73 65 64 20 6f 6e 0a 20 20 ...It.is.initialized.based.on...
610a0 20 20 20 20 20 20 20 3c 56 41 52 3e 73 65 65 64 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 73 69 7a .......<VAR>seed</VAR>...The.siz
610c0 65 20 6d 75 73 74 20 62 65 20 62 65 74 77 65 65 6e 20 38 20 61 6e 64 20 32 35 36 20 62 79 74 65 e.must.be.between.8.and.256.byte
610e0 73 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 77 65 s,.and.should.be.a..........powe
61100 72 20 6f 66 20 74 77 6f 2e 20 20 54 68 65 20 62 69 67 67 65 72 20 74 68 65 20 3c 56 41 52 3e 73 r.of.two...The.bigger.the.<VAR>s
61120 74 61 74 65 3c 2f 56 41 52 3e 20 61 72 72 61 79 2c 20 74 68 65 20 62 65 74 74 65 72 2e 0a 20 20 tate</VAR>.array,.the.better....
61140 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 .......<br><br>.The.return.value
61160 20 69 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 73 74 .is.the.previous.value.of.the.st
61180 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 20 20 20 ate.information.array...........
611a0 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 76 61 6c 75 65 20 6c 61 74 65 72 20 61 73 20 You.can.use.this.value.later.as.
611c0 61 6e 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 73 65 74 73 74 61 74 65 3c 2f 43 an.argument.to.<CODE>setstate</C
611e0 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 72 65 73 74 6f 72 65 20 74 68 61 74 20 73 74 ODE>.to..........restore.that.st
61200 61 74 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 ate..........sq.~......w.....t..
61220 73 74 64 6c 69 62 2e 68 78 71 00 7e 0f 4e 74 00 2b 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 65 stdlib.hxq.~.Nt.+unsigned.int.se
61240 65 64 2c 20 76 6f 69 64 20 2a 73 74 61 74 65 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 06 76 ed,.void.*state,.size_t.sizet..v
61260 6f 69 64 20 2a 74 00 0b 69 6e 69 74 73 74 61 74 65 5f 72 73 71 00 7e 00 0a 70 74 00 fb 0a 20 20 oid.*t..initstate_rsq.~..pt.....
61280 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 69 6e 69 74 73 74 61 74 65 5f 72 3c 2f 43 4f 44 ......The.<CODE>initstate_r</COD
612a0 45 3e 20 66 75 6e 63 74 69 6f 6e 20 62 65 68 61 76 65 73 20 65 78 61 63 74 6c 79 20 6c 69 6b 65 E>.function.behaves.exactly.like
612c0 20 74 68 65 20 3c 43 4f 44 45 3e 69 6e 69 74 73 74 61 74 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 .the.<CODE>initstate</CODE>.....
612e0 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 75 73 65 .....function.except.that.it.use
61300 73 20 61 6e 64 20 6d 6f 64 69 66 69 65 73 20 74 68 65 20 73 74 61 74 65 20 69 6e 20 74 68 65 20 s.and.modifies.the.state.in.the.
61320 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 object..........pointed.to.by.th
61340 65 20 66 6f 75 72 74 68 20 70 61 72 61 6d 65 74 65 72 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 e.fourth.parameter.instead.of.th
61360 65 20 67 6c 6f 62 61 6c 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 e.global.state..........sq.~....
61380 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 0f 55 74 00 5d 75 6e 73 69 ..w.....t..stdlib.hxq.~.Ut.]unsi
613a0 67 6e 65 64 20 69 6e 74 20 73 65 65 64 2c 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 73 74 gned.int.seed,.char.*restrict.st
613c0 61 74 65 62 75 66 2c 20 73 69 7a 65 5f 74 20 73 74 61 74 65 6c 65 6e 2c 20 73 74 72 75 63 74 20 atebuf,.size_t.statelen,.struct.
613e0 72 61 6e 64 6f 6d 5f 64 61 74 61 20 2a 72 65 73 74 72 69 63 74 20 62 75 66 74 00 03 69 6e 74 74 random_data.*restrict.buft..intt
61400 00 07 69 6e 6e 65 74 67 72 73 71 00 7e 00 0a 70 74 04 a0 0a 20 20 20 20 20 20 20 20 54 68 69 73 ..innetgrsq.~..pt...........This
61420 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 73 20 77 68 65 74 68 65 72 20 74 68 65 20 74 72 69 70 .function.tests.whether.the.trip
61440 6c 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 0a 20 le.specified.by.the.parameters..
61460 20 20 20 20 20 20 20 20 3c 56 41 52 3e 68 6f 73 74 70 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 75 ........<VAR>hostp</VAR>,.<VAR>u
61480 73 65 72 70 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 70 3c 2f 56 41 serp</VAR>,.and.<VAR>domainp</VA
614a0 52 3e 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 6e 65 74 67 72 6f 75 70 0a 20 20 20 20 20 R>.is.part.of.the.netgroup......
614c0 20 20 20 20 3c 56 41 52 3e 6e 65 74 67 72 6f 75 70 3c 2f 56 41 52 3e 2e 20 20 55 73 69 6e 67 20 ....<VAR>netgroup</VAR>...Using.
614e0 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 74 68 65 20 61 64 76 61 6e 74 61 67 65 20 this.function.has.the.advantage.
61500 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4f 4c 3e 0a 20 20 20 20 that..........<br><br>.<OL>.....
61520 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 6e 6f 20 6f 74 68 65 72 20 6e 65 74 67 .....<LI>..........no.other.netg
61540 72 6f 75 70 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 75 73 65 20 74 68 65 20 67 6c 6f 62 61 6c roup.function.can.use.the.global
61560 20 6e 65 74 67 72 6f 75 70 20 73 74 61 74 65 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 20 69 .netgroup.state.since..........i
61580 6e 74 65 72 6e 61 6c 20 6c 6f 63 6b 69 6e 67 20 69 73 20 75 73 65 64 20 61 6e 64 0a 20 20 20 20 nternal.locking.is.used.and.....
615a0 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 .....<LI>..........the.function.
615c0 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 is.implemented.more.efficiently.
615e0 74 68 61 6e 20 73 75 63 63 65 73 73 69 76 65 20 63 61 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 74 than.successive.calls..........t
61600 6f 20 74 68 65 20 6f 74 68 65 72 20 3c 43 4f 44 45 3e 73 65 74 3c 2f 43 4f 44 45 3e 2f 3c 43 4f o.the.other.<CODE>set</CODE>/<CO
61620 44 45 3e 67 65 74 3c 2f 43 4f 44 45 3e 2f 3c 43 4f 44 45 3e 65 6e 64 6e 65 74 67 72 65 6e 74 3c DE>get</CODE>/<CODE>endnetgrent<
61640 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e /CODE>.functions...........</OL>
61660 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 79 20 6f 66 20 74 68 65 20 70 6f ..........<br><br>.Any.of.the.po
61680 69 6e 74 65 72 73 20 3c 56 41 52 3e 68 6f 73 74 70 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 75 73 inters.<VAR>hostp</VAR>,.<VAR>us
616a0 65 72 70 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 70 3c 2f 56 41 52 erp</VAR>,.and.<VAR>domainp</VAR
616c0 3e 20 63 61 6e 20 62 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f >.can.be..........<CODE>NULL</CO
616e0 44 45 3e 20 77 68 69 63 68 20 6d 65 61 6e 73 20 61 6e 79 20 76 61 6c 75 65 20 69 73 20 61 63 63 DE>.which.means.any.value.is.acc
61700 65 70 74 65 64 20 69 6e 20 74 68 69 73 20 70 6f 73 69 74 69 6f 6e 2e 20 20 54 68 69 73 20 69 73 epted.in.this.position...This.is
61720 0a 20 20 20 20 20 20 20 20 20 61 6c 73 6f 20 74 72 75 65 20 66 6f 72 20 74 68 65 20 6e 61 6d 65 ..........also.true.for.the.name
61740 20 3c 43 4f 44 45 3e 2d 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 6e 6f 74 .<CODE>-</CODE>.which.should.not
61760 20 6d 61 74 63 68 20 61 6e 79 20 6f 74 68 65 72 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 .match.any.other.string.........
61780 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 .otherwise...........<br><br>.Th
617a0 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e e.return.value.is.<CODE>1</CODE>
617c0 20 69 66 20 61 6e 20 65 6e 74 72 79 20 6d 61 74 63 68 69 6e 67 20 74 68 65 20 67 69 76 65 6e 20 .if.an.entry.matching.the.given.
617e0 74 72 69 70 6c 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 triple.is..........found.in.the.
61800 6e 65 74 67 72 6f 75 70 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c netgroup...The.return.value.is.<
61820 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 20 6e 65 74 67 72 6f 75 70 0a 20 20 CODE>0</CODE>.if.the.netgroup...
61840 20 20 20 20 20 20 20 69 74 73 65 6c 66 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 74 68 65 20 .......itself.is.not.found,.the.
61860 6e 65 74 67 72 6f 75 70 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 74 72 netgroup.does.not.contain.the.tr
61880 69 70 6c 65 20 6f 72 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 73 iple.or..........internal.errors
618a0 20 6f 63 63 75 72 72 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 .occurred..........sq.~......w..
618c0 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 0f 5c 74 00 4c 63 6f 6e 73 74 20 63 68 61 72 ...t..netdb.hxq.~.\t.Lconst.char
618e0 20 2a 6e 65 74 67 72 6f 75 70 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 6f 73 74 2c 20 63 6f .*netgroup,.const.char.*host,.co
61900 6e 73 74 20 63 68 61 72 20 2a 75 73 65 72 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 6f 6d 61 nst.char.*user,.const.char.*doma
61920 69 6e 74 00 03 69 6e 74 74 00 05 69 6f 63 74 6c 73 71 00 7e 00 0a 70 74 01 b3 0a 20 20 20 20 20 int..intt..ioctlsq.~..pt........
61940 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 69 6f 63 74 6c 3c 2f 43 4f 44 ...<br><br>.The.<CODE>ioctl</COD
61960 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 74 68 65 20 67 65 6e 65 72 69 63 E>.function.performs.the.generic
61980 20 49 2f 4f 20 6f 70 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 63 6f 6d .I/O.operation..........<VAR>com
619a0 6d 61 6e 64 3c 2f 56 41 52 3e 20 6f 6e 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e mand</VAR>.on.<VAR>filedes</VAR>
619c0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 74 68 69 72 64 20 61 72 67 75 ...........<br><br>.A.third.argu
619e0 6d 65 6e 74 20 69 73 20 75 73 75 61 6c 6c 79 20 70 72 65 73 65 6e 74 2c 20 65 69 74 68 65 72 20 ment.is.usually.present,.either.
61a00 61 20 73 69 6e 67 6c 65 20 6e 75 6d 62 65 72 20 6f 72 20 61 20 70 6f 69 6e 74 65 72 0a 20 20 20 a.single.number.or.a.pointer....
61a20 20 20 20 20 20 20 74 6f 20 61 20 73 74 72 75 63 74 75 72 65 2e 20 20 54 68 65 20 6d 65 61 6e 69 ......to.a.structure...The.meani
61a40 6e 67 20 6f 66 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 72 65 74 75 72 6e 65 ng.of.this.argument,.the.returne
61a60 64 20 76 61 6c 75 65 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 61 6e 79 20 65 72 72 6f 72 20 d.value,.and..........any.error.
61a80 63 6f 64 65 73 20 64 65 70 65 6e 64 73 20 75 70 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 75 codes.depends.upon.the.command.u
61aa0 73 65 64 2e 20 20 4f 66 74 65 6e 20 2d 31 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 sed...Often.-1.is..........retur
61ac0 6e 65 64 20 66 6f 72 20 61 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ned.for.a.failure...........<br>
61ae0 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 07 <br>.........sq.~......w.....t..
61b00 66 63 6e 74 6c 2e 68 74 00 0b 73 79 73 2f 69 6f 63 74 6c 2e 68 78 71 00 7e 0f 63 74 00 1d 69 6e fcntl.ht..sys/ioctl.hxq.~.ct..in
61b20 74 20 66 69 6c 65 64 65 73 2c 20 69 6e 74 20 63 6f 6d 6d 61 6e 64 2c 20 2e 2e 2e 74 00 03 69 6e t.filedes,.int.command,....t..in
61b40 74 74 00 07 69 73 61 6c 6e 75 6d 73 71 00 7e 00 0a 70 74 00 fa 0a 20 20 20 20 20 20 20 20 52 65 tt..isalnumsq.~..pt...........Re
61b60 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 6e turns.true.if.<VAR>c</VAR>.is.an
61b80 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 63 68 61 72 61 63 74 65 72 20 28 61 20 6c 65 74 74 65 .alphanumeric.character.(a.lette
61ba0 72 20 6f 72 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 29 3b 20 69 6e 20 6f 74 68 65 72 20 r.or..........number);.in.other.
61bc0 77 6f 72 64 73 2c 20 69 66 20 65 69 74 68 65 72 20 3c 43 4f 44 45 3e 69 73 61 6c 70 68 61 3c 2f words,.if.either.<CODE>isalpha</
61be0 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 69 73 64 69 67 69 74 3c 2f 43 4f 44 45 3e 20 69 73 CODE>.or.<CODE>isdigit</CODE>.is
61c00 0a 20 20 20 20 20 20 20 20 20 74 72 75 65 20 6f 66 20 61 20 63 68 61 72 61 63 74 65 72 2c 20 74 ..........true.of.a.character,.t
61c20 68 65 6e 20 3c 43 4f 44 45 3e 69 73 61 6c 6e 75 6d 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6c 73 6f hen.<CODE>isalnum</CODE>.is.also
61c40 20 74 72 75 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 .true..........sq.~......w.....t
61c60 00 07 63 74 79 70 65 2e 68 78 71 00 7e 0f 6b 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 07 ..ctype.hxq.~.kt..int.ct..intt..
61c80 69 73 61 6c 70 68 61 73 71 00 7e 00 0a 70 74 01 ee 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e isalphasq.~..pt...........Return
61ca0 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 61 6c 70 s.true.if.<VAR>c</VAR>.is.an.alp
61cc0 68 61 62 65 74 69 63 20 63 68 61 72 61 63 74 65 72 20 28 61 20 6c 65 74 74 65 72 29 2e 20 20 49 habetic.character.(a.letter)...I
61ce0 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 73 6c 6f 77 65 72 3c 2f 43 4f 44 45 3e 20 f..........<CODE>islower</CODE>.
61d00 6f 72 20 3c 43 4f 44 45 3e 69 73 75 70 70 65 72 3c 2f 43 4f 44 45 3e 20 69 73 20 74 72 75 65 20 or.<CODE>isupper</CODE>.is.true.
61d20 6f 66 20 61 20 63 68 61 72 61 63 74 65 72 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 of.a.character,.then..........<C
61d40 4f 44 45 3e 69 73 61 6c 70 68 61 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6c 73 6f 20 74 72 75 65 2e ODE>isalpha</CODE>.is.also.true.
61d60 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 73 6f 6d 65 20 6c 6f 63 61 6c ..........<br><br>.In.some.local
61d80 65 73 2c 20 74 68 65 72 65 20 6d 61 79 20 62 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 68 61 72 es,.there.may.be.additional.char
61da0 61 63 74 65 72 73 20 66 6f 72 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e acters.for.which..........<CODE>
61dc0 69 73 61 6c 70 68 61 3c 2f 43 4f 44 45 3e 20 69 73 20 74 72 75 65 2d 2d 2d 6c 65 74 74 65 72 73 isalpha</CODE>.is.true---letters
61de0 20 77 68 69 63 68 20 61 72 65 20 6e 65 69 74 68 65 72 20 75 70 70 65 72 20 63 61 73 65 20 6e 6f .which.are.neither.upper.case.no
61e00 72 20 6c 6f 77 65 72 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 2e 20 20 42 75 74 20 69 6e 20 74 r.lower..........case...But.in.t
61e20 68 65 20 73 74 61 6e 64 61 72 64 20 3c 43 4f 44 45 3e 22 43 22 3c 2f 43 4f 44 45 3e 20 6c 6f 63 he.standard.<CODE>"C"</CODE>.loc
61e40 61 6c 65 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 75 63 68 0a 20 20 20 20 20 20 20 20 20 ale,.there.are.no.such..........
61e60 61 64 64 69 74 69 6f 6e 61 6c 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 73 additional.characters..........s
61e80 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 0f 72 74 q.~......w.....t..ctype.hxq.~.rt
61ea0 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 07 69 73 61 73 63 69 69 73 71 00 7e 00 0a 70 74 00 ..int.ct..intt..isasciisq.~..pt.
61ec0 db 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 63 ..........Returns.true.if.<VAR>c
61ee0 3c 2f 56 41 52 3e 20 69 73 20 61 20 37 2d 62 69 74 20 3c 43 4f 44 45 3e 75 6e 73 69 67 6e 65 64 </VAR>.is.a.7-bit.<CODE>unsigned
61f00 20 63 68 61 72 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 20 74 68 61 74 20 66 69 74 73 0a 20 20 20 .char</CODE>.value.that.fits....
61f20 20 20 20 20 20 20 69 6e 74 6f 20 74 68 65 20 55 53 2f 55 4b 20 41 53 43 49 49 20 63 68 61 72 61 ......into.the.US/UK.ASCII.chara
61f40 63 74 65 72 20 73 65 74 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 42 53 cter.set...This.function.is.a.BS
61f60 44 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 69 73 20 61 6c 73 6f D.extension..........and.is.also
61f80 20 61 6e 20 53 56 49 44 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e .an.SVID.extension..........sq.~
61fa0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 0f 79 74 00 05 69 ......w.....t..ctype.hxq.~.yt..i
61fc0 6e 74 20 63 74 00 03 69 6e 74 74 00 06 69 73 61 74 74 79 73 71 00 7e 00 0a 70 74 00 a4 0a 20 20 nt.ct..intt..isattysq.~..pt.....
61fe0 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 ......This.function.returns.<COD
62000 45 3e 31 3c 2f 43 4f 44 45 3e 20 69 66 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e E>1</CODE>.if.<VAR>filedes</VAR>
62020 20 69 73 20 61 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 20 20 61 .is.a.file.descriptor..........a
62040 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 6e 20 6f 70 65 6e 20 74 65 72 6d 69 6e 61 6c 20 ssociated.with.an.open.terminal.
62060 64 65 76 69 63 65 2c 20 61 6e 64 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 device,.and.0.otherwise.........
62080 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e .sq.~......w.....t..unistd.hxq.~
620a0 0f 80 74 00 0b 69 6e 74 20 66 69 6c 65 64 65 73 74 00 03 69 6e 74 74 00 07 69 73 62 6c 61 6e 6b ..t..int.filedest..intt..isblank
620c0 73 71 00 7e 00 0a 70 74 00 b0 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 sq.~..pt...........Returns.true.
620e0 69 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 62 6c 61 6e 6b 20 63 68 61 72 61 if.<VAR>c</VAR>.is.a.blank.chara
62100 63 74 65 72 3b 20 74 68 61 74 20 69 73 2c 20 61 20 73 70 61 63 65 20 6f 72 20 61 20 74 61 62 2e cter;.that.is,.a.space.or.a.tab.
62120 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 6f 72 69 67 ..........This.function.was.orig
62140 69 6e 61 6c 6c 79 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2c 20 62 75 74 20 77 61 73 20 inally.a.GNU.extension,.but.was.
62160 61 64 64 65 64 20 69 6e 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f added.in.ISO.C99..........sq.~..
62180 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 0f 87 74 00 05 69 6e 74 ....w.....t..ctype.hxq.~..t..int
621a0 20 63 74 00 03 69 6e 74 74 00 07 69 73 63 6e 74 72 6c 73 71 00 7e 00 0a 70 74 00 87 0a 20 20 20 .ct..intt..iscntrlsq.~..pt......
621c0 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 .....Returns.true.if.<VAR>c</VAR
621e0 3e 20 69 73 20 61 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 20 28 74 68 61 74 20 69 >.is.a.control.character.(that.i
62200 73 2c 20 61 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 s,.a.character.that..........is.
62220 6e 6f 74 20 61 20 70 72 69 6e 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 29 2e 0a 20 20 20 20 20 not.a.printing.character).......
62240 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 ...sq.~......w.....t..ctype.hxq.
62260 7e 0f 8e 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 07 69 73 64 69 67 69 74 73 71 00 7e 00 ~..t..int.ct..intt..isdigitsq.~.
62280 0a 70 74 00 6a 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 .pt.j.........Returns.true.if.<V
622a0 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 64 65 63 69 6d 61 6c 20 64 69 67 69 74 20 28 3c AR>c</VAR>.is.a.decimal.digit.(<
622c0 73 61 6d 70 3e 30 3c 2f 73 61 6d 70 3e 20 74 68 72 6f 75 67 68 20 3c 73 61 6d 70 3e 39 3c 2f 73 samp>0</samp>.through.<samp>9</s
622e0 61 6d 70 3e 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 amp>)..........sq.~......w.....t
62300 00 07 63 74 79 70 65 2e 68 78 71 00 7e 0f 95 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 07 ..ctype.hxq.~..t..int.ct..intt..
62320 69 73 67 72 61 70 68 73 71 00 7e 00 0a 70 74 00 c9 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e isgraphsq.~..pt...........Return
62340 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 67 72 61 70 s.true.if.<VAR>c</VAR>.is.a.grap
62360 68 69 63 20 63 68 61 72 61 63 74 65 72 3b 20 74 68 61 74 20 69 73 2c 20 61 20 63 68 61 72 61 63 hic.character;.that.is,.a.charac
62380 74 65 72 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 68 61 73 20 61 20 67 6c 79 70 68 20 61 73 ter..........that.has.a.glyph.as
623a0 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 69 74 2e 20 20 54 68 65 20 77 68 69 74 65 73 70 61 63 sociated.with.it...The.whitespac
623c0 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 63 6f e.characters.are.not..........co
623e0 6e 73 69 64 65 72 65 64 20 67 72 61 70 68 69 63 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f nsidered.graphic..........sq.~..
62400 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 0f 9c 74 00 05 69 6e 74 ....w.....t..ctype.hxq.~..t..int
62420 20 63 74 00 03 69 6e 74 74 00 05 69 73 69 6e 66 73 71 00 7e 00 0a 70 74 00 c9 0a 20 20 20 20 20 .ct..intt..isinfsq.~..pt........
62440 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d ...This.function.returns.<CODE>-
62460 31 3c 2f 43 4f 44 45 3e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 72 65 70 72 65 73 65 1</CODE>.if.<VAR>x</VAR>.represe
62480 6e 74 73 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2c 0a 20 20 20 20 20 20 20 20 20 nts.negative.infinity,..........
624a0 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 72 <CODE>1</CODE>.if.<VAR>x</VAR>.r
624c0 65 70 72 65 73 65 6e 74 73 20 70 6f 73 69 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2c 20 61 6e 64 epresents.positive.infinity,.and
624e0 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 .<CODE>0</CODE>.otherwise.......
62500 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
62520 0f a3 74 00 08 64 6f 75 62 6c 65 20 78 74 00 03 69 6e 74 74 00 06 69 73 69 6e 66 66 73 71 00 7e ..t..double.xt..intt..isinffsq.~
62540 00 0a 70 74 00 c9 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 ..pt...........This.function.ret
62560 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 66 20 3c 56 41 52 3e 78 3c 2f urns.<CODE>-1</CODE>.if.<VAR>x</
62580 56 41 52 3e 20 72 65 70 72 65 73 65 6e 74 73 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 VAR>.represents.negative.infinit
625a0 79 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 69 66 20 3c 56 y,..........<CODE>1</CODE>.if.<V
625c0 41 52 3e 78 3c 2f 56 41 52 3e 20 72 65 70 72 65 73 65 6e 74 73 20 70 6f 73 69 74 69 76 65 20 69 AR>x</VAR>.represents.positive.i
625e0 6e 66 69 6e 69 74 79 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 74 68 65 nfinity,.and.<CODE>0</CODE>.othe
62600 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 rwise..........sq.~......w.....t
62620 00 06 6d 61 74 68 2e 68 78 71 00 7e 0f aa 74 00 07 66 6c 6f 61 74 20 78 74 00 03 69 6e 74 74 00 ..math.hxq.~..t..float.xt..intt.
62640 06 69 73 69 6e 66 6c 73 71 00 7e 00 0a 70 74 00 c9 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 .isinflsq.~..pt...........This.f
62660 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 unction.returns.<CODE>-1</CODE>.
62680 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 72 65 70 72 65 73 65 6e 74 73 20 6e 65 67 61 74 if.<VAR>x</VAR>.represents.negat
626a0 69 76 65 20 69 6e 66 69 6e 69 74 79 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 3c 2f ive.infinity,..........<CODE>1</
626c0 43 4f 44 45 3e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 72 65 70 72 65 73 65 6e 74 73 CODE>.if.<VAR>x</VAR>.represents
626e0 20 70 6f 73 69 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 30 3c .positive.infinity,.and.<CODE>0<
62700 2f 43 4f 44 45 3e 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f /CODE>.otherwise..........sq.~..
62720 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 0f b1 74 00 0d 6c 6f 6e 67 ....w.....t..math.hxq.~..t..long
62740 20 64 6f 75 62 6c 65 20 78 74 00 03 69 6e 74 74 00 07 69 73 6c 6f 77 65 72 73 71 00 7e 00 0a 70 .double.xt..intt..islowersq.~..p
62760 74 00 a5 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 t...........Returns.true.if.<VAR
62780 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 6c 6f 77 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 2e >c</VAR>.is.a.lower-case.letter.
627a0 20 20 54 68 65 20 6c 65 74 74 65 72 20 6e 65 65 64 20 6e 6f 74 20 62 65 0a 20 20 20 20 20 20 20 ..The.letter.need.not.be........
627c0 20 20 66 72 6f 6d 20 74 68 65 20 4c 61 74 69 6e 20 61 6c 70 68 61 62 65 74 2c 20 61 6e 79 20 61 ..from.the.Latin.alphabet,.any.a
627e0 6c 70 68 61 62 65 74 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 69 73 20 76 61 6c 69 64 2e 0a lphabet.representable.is.valid..
62800 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 ........sq.~......w.....t..ctype
62820 2e 68 78 71 00 7e 0f b8 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 05 69 73 6e 61 6e 73 71 .hxq.~..t..int.ct..intt..isnansq
62840 00 7e 00 0a 70 74 01 e7 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 .~..pt...........This.function.r
62860 65 74 75 72 6e 73 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 69 66 20 3c 56 41 52 3e 78 eturns.a.nonzero.value.if.<VAR>x
62880 3c 2f 56 41 52 3e 20 69 73 20 61 20 60 60 6e 6f 74 20 61 20 6e 75 6d 62 65 72 27 27 0a 20 20 20 </VAR>.is.a.``not.a.number''....
628a0 20 20 20 20 20 20 76 61 6c 75 65 2c 20 61 6e 64 20 7a 65 72 6f 20 6f 74 68 65 72 77 69 73 65 2e ......value,.and.zero.otherwise.
628c0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 3a 20 54 68 65 20 3c 43 4f ..........<br><br>.Note:.The.<CO
628e0 44 45 3e 69 73 6e 61 6e 3c 2f 43 4f 44 45 3e 20 6d 61 63 72 6f 20 64 65 66 69 6e 65 64 20 62 79 DE>isnan</CODE>.macro.defined.by
62900 20 49 53 4f 20 43 39 39 20 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 .ISO.C99.overrides..........the.
62920 42 53 44 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 69 73 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 BSD.function...This.is.normally.
62940 6e 6f 74 20 61 20 70 72 6f 62 6c 65 6d 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 74 77 6f 0a 20 not.a.problem,.because.the.two..
62960 20 20 20 20 20 20 20 20 72 6f 75 74 69 6e 65 73 20 62 65 68 61 76 65 20 69 64 65 6e 74 69 63 61 ........routines.behave.identica
62980 6c 6c 79 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 6e 65 65 lly...However,.if.you.really.nee
629a0 64 20 74 6f 20 67 65 74 20 74 68 65 20 42 53 44 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 d.to.get.the.BSD..........functi
629c0 6f 6e 20 66 6f 72 20 73 6f 6d 65 20 72 65 61 73 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 77 72 69 74 on.for.some.reason,.you.can.writ
629e0 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 e..........<br><br>.<pre><br>...
62a00 20 20 20 20 20 20 20 28 69 73 6e 61 6e 29 20 28 78 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 .......(isnan).(x)<br>..........
62a20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 </pre>.........sq.~......w.....t
62a40 00 06 6d 61 74 68 2e 68 78 71 00 7e 0f bf 74 00 08 64 6f 75 62 6c 65 20 78 74 00 03 69 6e 74 74 ..math.hxq.~..t..double.xt..intt
62a60 00 06 69 73 6e 61 6e 66 73 71 00 7e 00 0a 70 74 01 e7 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 ..isnanfsq.~..pt...........This.
62a80 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 function.returns.a.nonzero.value
62aa0 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 61 20 60 60 6e 6f 74 20 61 20 6e 75 .if.<VAR>x</VAR>.is.a.``not.a.nu
62ac0 6d 62 65 72 27 27 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2c 20 61 6e 64 20 7a 65 72 6f 20 mber''..........value,.and.zero.
62ae0 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 otherwise...........<br><br>.Not
62b00 65 3a 20 54 68 65 20 3c 43 4f 44 45 3e 69 73 6e 61 6e 3c 2f 43 4f 44 45 3e 20 6d 61 63 72 6f 20 e:.The.<CODE>isnan</CODE>.macro.
62b20 64 65 66 69 6e 65 64 20 62 79 20 49 53 4f 20 43 39 39 20 6f 76 65 72 72 69 64 65 73 0a 20 20 20 defined.by.ISO.C99.overrides....
62b40 20 20 20 20 20 20 74 68 65 20 42 53 44 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 69 73 20 69 73 ......the.BSD.function...This.is
62b60 20 6e 6f 72 6d 61 6c 6c 79 20 6e 6f 74 20 61 20 70 72 6f 62 6c 65 6d 2c 20 62 65 63 61 75 73 65 .normally.not.a.problem,.because
62b80 20 74 68 65 20 74 77 6f 0a 20 20 20 20 20 20 20 20 20 72 6f 75 74 69 6e 65 73 20 62 65 68 61 76 .the.two..........routines.behav
62ba0 65 20 69 64 65 6e 74 69 63 61 6c 6c 79 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 79 6f 75 20 e.identically...However,.if.you.
62bc0 72 65 61 6c 6c 79 20 6e 65 65 64 20 74 6f 20 67 65 74 20 74 68 65 20 42 53 44 0a 20 20 20 20 20 really.need.to.get.the.BSD......
62be0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 73 6f 6d 65 20 72 65 61 73 6f 6e 2c 20 79 6f ....function.for.some.reason,.yo
62c00 75 20 63 61 6e 20 77 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 u.can.write..........<br><br>.<p
62c20 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 28 69 73 6e 61 6e 29 20 28 78 29 3c 62 72 3e re><br>..........(isnan).(x)<br>
62c40 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ..........</pre>.........sq.~...
62c60 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 0f c6 74 00 07 66 6c 6f 61 74 ...w.....t..math.hxq.~..t..float
62c80 20 78 74 00 03 69 6e 74 74 00 06 69 73 6e 61 6e 6c 73 71 00 7e 00 0a 70 74 01 e7 0a 20 20 20 20 .xt..intt..isnanlsq.~..pt.......
62ca0 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 7a ....This.function.returns.a.nonz
62cc0 65 72 6f 20 76 61 6c 75 65 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 61 20 60 ero.value.if.<VAR>x</VAR>.is.a.`
62ce0 60 6e 6f 74 20 61 20 6e 75 6d 62 65 72 27 27 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2c 20 `not.a.number''..........value,.
62d00 61 6e 64 20 7a 65 72 6f 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 and.zero.otherwise...........<br
62d20 3e 3c 62 72 3e 20 4e 6f 74 65 3a 20 54 68 65 20 3c 43 4f 44 45 3e 69 73 6e 61 6e 3c 2f 43 4f 44 ><br>.Note:.The.<CODE>isnan</COD
62d40 45 3e 20 6d 61 63 72 6f 20 64 65 66 69 6e 65 64 20 62 79 20 49 53 4f 20 43 39 39 20 6f 76 65 72 E>.macro.defined.by.ISO.C99.over
62d60 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 42 53 44 20 66 75 6e 63 74 69 6f 6e 2e rides..........the.BSD.function.
62d80 20 20 54 68 69 73 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 6e 6f 74 20 61 20 70 72 6f 62 6c 65 6d ..This.is.normally.not.a.problem
62da0 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 74 77 6f 0a 20 20 20 20 20 20 20 20 20 72 6f 75 74 69 ,.because.the.two..........routi
62dc0 6e 65 73 20 62 65 68 61 76 65 20 69 64 65 6e 74 69 63 61 6c 6c 79 2e 20 20 48 6f 77 65 76 65 72 nes.behave.identically...However
62de0 2c 20 69 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 6e 65 65 64 20 74 6f 20 67 65 74 20 74 68 65 20 ,.if.you.really.need.to.get.the.
62e00 42 53 44 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 73 6f 6d 65 20 72 BSD..........function.for.some.r
62e20 65 61 73 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 77 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 3c 62 eason,.you.can.write..........<b
62e40 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 28 69 73 6e 61 6e r><br>.<pre><br>..........(isnan
62e60 29 20 28 78 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 ).(x)<br>..........</pre>.......
62e80 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 0f ..sq.~......w.....t..math.hxq.~.
62ea0 cd 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 03 69 6e 74 74 00 07 69 73 70 72 69 6e .t..long.double.xt..intt..isprin
62ec0 74 73 71 00 7e 00 0a 70 74 00 b4 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 tsq.~..pt...........Returns.true
62ee0 20 69 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 70 72 69 6e 74 69 6e 67 20 63 .if.<VAR>c</VAR>.is.a.printing.c
62f00 68 61 72 61 63 74 65 72 2e 20 20 50 72 69 6e 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 0a 20 haracter...Printing.characters..
62f20 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 65 20 61 6c 6c 20 74 68 65 20 67 72 61 70 68 69 63 20 ........include.all.the.graphic.
62f40 63 68 61 72 61 63 74 65 72 73 2c 20 70 6c 75 73 20 74 68 65 20 73 70 61 63 65 20 28 3c 73 61 6d characters,.plus.the.space.(<sam
62f60 70 3e 20 3c 2f 73 61 6d 70 3e 29 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 p>.</samp>).character..........s
62f80 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 0f d4 74 q.~......w.....t..ctype.hxq.~..t
62fa0 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 07 69 73 70 75 6e 63 74 73 71 00 7e 00 0a 70 74 00 ..int.ct..intt..ispunctsq.~..pt.
62fc0 ad 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 63 ..........Returns.true.if.<VAR>c
62fe0 3c 2f 56 41 52 3e 20 69 73 20 61 20 70 75 6e 63 74 75 61 74 69 6f 6e 20 63 68 61 72 61 63 74 65 </VAR>.is.a.punctuation.characte
63000 72 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 61 6e 79 20 70 72 69 6e 74 r...........This.means.any.print
63020 69 6e 67 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69 73 20 6e 6f 74 20 61 6c 70 68 61 6e ing.character.that.is.not.alphan
63040 75 6d 65 72 69 63 20 6f 72 20 61 20 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 umeric.or.a.space..........chara
63060 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 cter..........sq.~......w.....t.
63080 07 63 74 79 70 65 2e 68 78 71 00 7e 0f db 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 07 69 .ctype.hxq.~..t..int.ct..intt..i
630a0 73 73 70 61 63 65 73 71 00 7e 00 0a 70 74 02 12 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 sspacesq.~..pt...........Returns
630c0 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 77 68 69 74 65 .true.if.<VAR>c</VAR>.is.a.white
630e0 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 2e 20 20 49 6e 20 74 68 65 20 73 74 61 6e 64 61 72 space.character...In.the.standar
63100 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 22 43 22 3c 2f 43 4f 44 45 3e 20 6c 6f 63 61 d..........<CODE>"C"</CODE>.loca
63120 6c 65 2c 20 3c 43 4f 44 45 3e 69 73 73 70 61 63 65 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 le,.<CODE>isspace</CODE>.returns
63140 20 74 72 75 65 20 66 6f 72 20 6f 6e 6c 79 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 .true.for.only.the.standard.....
63160 20 20 20 20 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 3a 0a 20 20 20 20 .....whitespace.characters:.....
63180 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 .....<br><br>.<DL>...........<LI
631a0 3e 20 27 20 27 0a 20 20 20 20 20 20 20 20 20 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 3c 62 >.'.'..........space..........<b
631c0 72 3e 3c 62 72 3e 20 3c 4c 49 3e 20 27 5c 66 27 0a 20 20 20 20 20 20 20 20 20 66 6f 72 6d 66 65 r><br>.<LI>.'\f'..........formfe
631e0 65 64 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 20 27 5c 6e 27 0a 20 ed..........<br><br>.<LI>.'\n'..
63200 20 20 20 20 20 20 20 20 6e 65 77 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ........newline..........<br><br
63220 3e 20 3c 4c 49 3e 20 27 5c 72 27 0a 20 20 20 20 20 20 20 20 20 63 61 72 72 69 61 67 65 20 72 65 >.<LI>.'\r'..........carriage.re
63240 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 20 27 5c 74 27 turn..........<br><br>.<LI>.'\t'
63260 0a 20 20 20 20 20 20 20 20 20 68 6f 72 69 7a 6f 6e 74 61 6c 20 74 61 62 0a 20 20 20 20 20 20 20 ..........horizontal.tab........
63280 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 20 27 5c 76 27 0a 20 20 20 20 20 20 20 20 20 76 65 ..<br><br>.<LI>.'\v'..........ve
632a0 72 74 69 63 61 6c 20 74 61 62 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 rtical.tab..........</DL>.......
632c0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e ..sq.~......w.....t..ctype.hxq.~
632e0 0f e2 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 07 69 73 75 70 70 65 72 73 71 00 7e 00 0a ..t..int.ct..intt..isuppersq.~..
63300 70 74 00 a6 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 pt...........Returns.true.if.<VA
63320 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 75 70 70 65 72 2d 63 61 73 65 20 6c 65 74 74 65 R>c</VAR>.is.an.upper-case.lette
63340 72 2e 20 20 54 68 65 20 6c 65 74 74 65 72 20 6e 65 65 64 20 6e 6f 74 20 62 65 0a 20 20 20 20 20 r...The.letter.need.not.be......
63360 20 20 20 20 66 72 6f 6d 20 74 68 65 20 4c 61 74 69 6e 20 61 6c 70 68 61 62 65 74 2c 20 61 6e 79 ....from.the.Latin.alphabet,.any
63380 20 61 6c 70 68 61 62 65 74 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 69 73 20 76 61 6c 69 64 .alphabet.representable.is.valid
633a0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 ..........sq.~......w.....t..cty
633c0 70 65 2e 68 78 71 00 7e 0f e9 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 08 69 73 77 61 6c pe.hxq.~..t..int.ct..intt..iswal
633e0 6e 75 6d 73 71 00 7e 00 0a 70 74 01 f3 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 numsq.~..pt...........This.funct
63400 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 69 66 20 3c ion.returns.a.nonzero.value.if.<
63420 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 0a VAR>wc</VAR>.is.an.alphanumeric.
63440 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 28 61 20 6c 65 74 74 65 72 20 6f 72 20 .........character.(a.letter.or.
63460 6e 75 6d 62 65 72 29 3b 20 69 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 66 20 65 69 74 68 number);.in.other.words,.if.eith
63480 65 72 20 3c 43 4f 44 45 3e 69 73 77 61 6c 70 68 61 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 er.<CODE>iswalpha</CODE>........
634a0 20 20 6f 72 20 3c 43 4f 44 45 3e 69 73 77 64 69 67 69 74 3c 2f 43 4f 44 45 3e 20 69 73 20 74 72 ..or.<CODE>iswdigit</CODE>.is.tr
634c0 75 65 20 6f 66 20 61 20 63 68 61 72 61 63 74 65 72 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 69 73 ue.of.a.character,.then.<CODE>is
634e0 77 61 6c 6e 75 6d 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 74 walnum</CODE>.is.also..........t
63500 72 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 rue...........<br><br>..........
63520 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 .This.function.can.be.implemente
63540 64 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c d.using..........<br><br>.<pre><
63560 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 73 77 63 74 79 70 65 20 28 77 63 2c 20 77 63 74 79 70 br>..........iswctype.(wc,.wctyp
63580 65 20 28 22 61 6c 6e 75 6d 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e e.("alnum"))<br>..........</pre>
635a0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 64 65 63 6c 61 72 65 ..........<br><br>.It.is.declare
635c0 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 d.in.<TT>wctype.h</TT>..........
635e0 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 70 65 2e 68 78 71 00 7e 0f sq.~......w.....t..wctype.hxq.~.
63600 f0 74 00 09 77 69 6e 74 5f 74 20 77 63 74 00 03 69 6e 74 74 00 08 69 73 77 61 6c 70 68 61 73 71 .t..wint_t.wct..intt..iswalphasq
63620 00 7e 00 0a 70 74 02 c6 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 .~..pt...........Returns.true.if
63640 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 61 6c 70 68 61 62 65 74 69 63 20 .<VAR>wc</VAR>.is.an.alphabetic.
63660 63 68 61 72 61 63 74 65 72 20 28 61 20 6c 65 74 74 65 72 29 2e 20 20 49 66 0a 20 20 20 20 20 20 character.(a.letter)...If.......
63680 20 20 20 3c 43 4f 44 45 3e 69 73 77 6c 6f 77 65 72 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 ...<CODE>iswlower</CODE>.or.<COD
636a0 45 3e 69 73 77 75 70 70 65 72 3c 2f 43 4f 44 45 3e 20 69 73 20 74 72 75 65 20 6f 66 20 61 20 63 E>iswupper</CODE>.is.true.of.a.c
636c0 68 61 72 61 63 74 65 72 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 73 haracter,.then..........<CODE>is
636e0 77 61 6c 70 68 61 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6c 73 6f 20 74 72 75 65 2e 0a 20 20 20 20 walpha</CODE>.is.also.true......
63700 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 73 6f 6d 65 20 6c 6f 63 61 6c 65 73 2c 20 74 .....<br><br>.In.some.locales,.t
63720 68 65 72 65 20 6d 61 79 20 62 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 68 61 72 61 63 74 65 72 here.may.be.additional.character
63740 73 20 66 6f 72 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 73 77 61 6c s.for.which..........<CODE>iswal
63760 70 68 61 3c 2f 43 4f 44 45 3e 20 69 73 20 74 72 75 65 2d 2d 2d 6c 65 74 74 65 72 73 20 77 68 69 pha</CODE>.is.true---letters.whi
63780 63 68 20 61 72 65 20 6e 65 69 74 68 65 72 20 75 70 70 65 72 20 63 61 73 65 20 6e 6f 72 20 6c 6f ch.are.neither.upper.case.nor.lo
637a0 77 65 72 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 2e 20 20 42 75 74 20 69 6e 20 74 68 65 20 73 wer..........case...But.in.the.s
637c0 74 61 6e 64 61 72 64 20 3c 43 4f 44 45 3e 22 43 22 3c 2f 43 4f 44 45 3e 20 6c 6f 63 61 6c 65 2c tandard.<CODE>"C"</CODE>.locale,
637e0 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 75 63 68 0a 20 20 20 20 20 20 20 20 20 61 64 64 69 .there.are.no.such..........addi
63800 74 69 6f 6e 61 6c 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e tional.characters...........<br>
63820 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e <br>...........This.function.can
63840 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c .be.implemented.using..........<
63860 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 73 77 63 74 br><br>.<pre><br>..........iswct
63880 79 70 65 20 28 77 63 2c 20 77 63 74 79 70 65 20 28 22 61 6c 70 68 61 22 29 29 3c 62 72 3e 0a 20 ype.(wc,.wctype.("alpha"))<br>..
638a0 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ........</pre>..........<br><br>
638c0 20 49 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c .It.is.declared.in.<TT>wctype.h<
638e0 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 /TT>..........sq.~......w.....t.
63900 08 77 63 74 79 70 65 2e 68 78 71 00 7e 0f f7 74 00 09 77 69 6e 74 5f 74 20 77 63 74 00 03 69 6e .wctype.hxq.~..t..wint_t.wct..in
63920 74 74 00 08 69 73 77 62 6c 61 6e 6b 73 71 00 7e 00 0a 70 74 00 de 0a 20 20 20 20 20 20 20 20 52 tt..iswblanksq.~..pt...........R
63940 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 eturns.true.if.<VAR>wc</VAR>.is.
63960 61 20 62 6c 61 6e 6b 20 63 68 61 72 61 63 74 65 72 3b 20 74 68 61 74 20 69 73 2c 20 61 20 73 70 a.blank.character;.that.is,.a.sp
63980 61 63 65 20 6f 72 20 61 20 74 61 62 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 ace.or.a.tab...........This.func
639a0 74 69 6f 6e 20 77 61 73 20 6f 72 69 67 69 6e 61 6c 6c 79 20 61 20 47 4e 55 20 65 78 74 65 6e 73 tion.was.originally.a.GNU.extens
639c0 69 6f 6e 2c 20 62 75 74 20 77 61 73 20 61 64 64 65 64 20 69 6e 20 49 53 4f 20 43 39 39 2e 0a 20 ion,.but.was.added.in.ISO.C99...
639e0 20 20 20 20 20 20 20 20 49 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 ........It.is.declared.in.<TT>wc
63a00 68 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 har.h</TT>..........sq.~......w.
63a20 00 00 00 0a 74 00 08 77 63 74 79 70 65 2e 68 78 71 00 7e 0f fe 74 00 09 77 69 6e 74 5f 74 20 77 ....t..wctype.hxq.~..t..wint_t.w
63a40 63 74 00 03 69 6e 74 74 00 08 69 73 77 63 6e 74 72 6c 73 71 00 7e 00 0a 70 74 01 5b 0a 20 20 20 ct..intt..iswcntrlsq.~..pt.[....
63a60 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 .....Returns.true.if.<VAR>wc</VA
63a80 52 3e 20 69 73 20 61 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 20 28 74 68 61 74 20 R>.is.a.control.character.(that.
63aa0 69 73 2c 20 61 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 69 73 is,.a.character.that..........is
63ac0 20 6e 6f 74 20 61 20 70 72 69 6e 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 29 2e 0a 20 20 20 20 .not.a.printing.character)......
63ae0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e .....<br><br>...........This.fun
63b00 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 0a 20 ction.can.be.implemented.using..
63b20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 ........<br><br>.<pre><br>......
63b40 20 20 20 20 69 73 77 63 74 79 70 65 20 28 77 63 2c 20 77 63 74 79 70 65 20 28 22 63 6e 74 72 6c ....iswctype.(wc,.wctype.("cntrl
63b60 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 "))<br>..........</pre>.........
63b80 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e .<br><br>.It.is.declared.in.<TT>
63ba0 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 wctype.h</TT>..........sq.~.....
63bc0 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 70 65 2e 68 78 71 00 7e 10 05 74 00 09 77 69 6e 74 5f .w.....t..wctype.hxq.~..t..wint_
63be0 74 20 77 63 74 00 03 69 6e 74 74 00 08 69 73 77 63 74 79 70 65 73 71 00 7e 00 0a 70 74 01 2e 0a t.wct..intt..iswctypesq.~..pt...
63c00 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 ........This.function.returns.a.
63c20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 69 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 nonzero.value.if.<VAR>wc</VAR>.i
63c40 73 20 69 6e 20 74 68 65 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 63 6c 61 73 s.in.the.character..........clas
63c60 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 3c 56 41 52 3e 64 65 73 63 3c 2f 56 41 52 3e 2e 20 s.specified.by.<VAR>desc</VAR>..
63c80 20 3c 56 41 52 3e 64 65 73 63 3c 2f 56 41 52 3e 20 6d 75 73 74 20 70 72 65 76 69 6f 75 73 6c 79 .<VAR>desc</VAR>.must.previously
63ca0 20 62 65 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 61 20 73 75 63 63 65 .be.returned..........by.a.succe
63cc0 73 73 66 75 6c 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 77 63 74 79 70 65 3c 2f 43 4f 44 45 ssful.call.to.<CODE>wctype</CODE
63ce0 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 >...........<br><br>.This.functi
63d00 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f on.is.declared.in.<TT>wctype.h</
63d20 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 TT>..........sq.~......w.....t..
63d40 77 63 74 79 70 65 2e 68 78 71 00 7e 10 0c 74 00 18 77 69 6e 74 5f 74 20 77 63 2c 20 77 63 74 79 wctype.hxq.~..t..wint_t.wc,.wcty
63d60 70 65 5f 74 20 64 65 73 63 74 00 03 69 6e 74 74 00 08 69 73 77 64 69 67 69 74 73 71 00 7e 00 0a pe_t.desct..intt..iswdigitsq.~..
63d80 70 74 03 10 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 pt...........Returns.true.if.<VA
63da0 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 64 69 67 69 74 20 28 65 2e 67 2e 2c 20 3c 73 61 R>wc</VAR>.is.a.digit.(e.g.,.<sa
63dc0 6d 70 3e 30 3c 2f 73 61 6d 70 3e 20 74 68 72 6f 75 67 68 20 3c 73 61 6d 70 3e 39 3c 2f 73 61 6d mp>0</samp>.through.<samp>9</sam
63de0 70 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 74 p>)...........Please.note.that.t
63e00 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 6f 6e 6c 79 20 72 65 74 75 72 his.function.does.not.only.retur
63e20 6e 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 3c n.a.nonzero.value.for..........<
63e40 45 4d 3e 64 65 63 69 6d 61 6c 3c 2f 45 4d 3e 20 64 69 67 69 74 73 2c 20 62 75 74 20 66 6f 72 20 EM>decimal</EM>.digits,.but.for.
63e60 61 6c 6c 20 6b 69 6e 64 73 20 6f 66 20 64 69 67 69 74 73 2e 20 20 41 20 63 6f 6e 73 65 71 75 65 all.kinds.of.digits...A.conseque
63e80 6e 63 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 63 6f 64 65 20 6c 69 6b 65 20 74 nce.is..........that.code.like.t
63ea0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 69 6c 6c 20 6e 6f 74 20 77 6f 72 6b 20 75 6e 63 6f 6e he.following.will.not.work.uncon
63ec0 64 69 74 69 6f 6e 61 6c 6c 79 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 77 69 64 65 20 63 68 61 ditionally.for..........wide.cha
63ee0 72 61 63 74 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e racters:..........<br><br>.<pre>
63f00 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6e 20 3d 20 30 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 <br>..........n.=.0;<br>........
63f20 20 20 77 68 69 6c 65 20 28 69 73 77 64 69 67 69 74 20 28 2a 77 63 29 29 3c 62 72 3e 0a 20 20 20 ..while.(iswdigit.(*wc))<br>....
63f40 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 20 2a 3d 20 ........{<br>..............n.*=.
63f60 31 30 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 20 2b 3d 20 2a 77 63 2b 2b 20 10;<br>..............n.+=.*wc++.
63f80 2d 20 4c 27 30 27 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 -.L'0';<br>............}<br>....
63fa0 20 20 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ......</pre><br>..........<br><b
63fc0 72 3e 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 r>.<br>..........This.function.c
63fe0 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 3c 62 72 3e 0a 20 20 20 20 an.be.implemented.using<br>.....
64000 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 .....<br><br>.<pre><br>.........
64020 20 69 73 77 63 74 79 70 65 20 28 77 63 2c 20 77 63 74 79 70 65 20 28 22 64 69 67 69 74 22 29 29 .iswctype.(wc,.wctype.("digit"))
64040 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 <br>..........</pre>..........<b
64060 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 r><br>.It.is.declared.in.<TT>wct
64080 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ype.h</TT>..........sq.~......w.
640a0 00 00 00 0a 74 00 08 77 63 74 79 70 65 2e 68 78 71 00 7e 10 13 74 00 09 77 69 6e 74 5f 74 20 77 ....t..wctype.hxq.~..t..wint_t.w
640c0 63 74 00 03 69 6e 74 74 00 08 69 73 77 67 72 61 70 68 73 71 00 7e 00 0a 70 74 01 9d 0a 20 20 20 ct..intt..iswgraphsq.~..pt......
640e0 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 .....Returns.true.if.<VAR>wc</VA
64100 52 3e 20 69 73 20 61 20 67 72 61 70 68 69 63 20 63 68 61 72 61 63 74 65 72 3b 20 74 68 61 74 20 R>.is.a.graphic.character;.that.
64120 69 73 2c 20 61 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 68 61 is,.a.character..........that.ha
64140 73 20 61 20 67 6c 79 70 68 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 69 74 2e 20 20 54 s.a.glyph.associated.with.it...T
64160 68 65 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 6e 6f 74 he.whitespace.characters.are.not
64180 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 69 64 65 72 65 64 20 67 72 61 70 68 69 63 2e 0a 20 20 ..........considered.graphic....
641a0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 .......<br><br>...........This.f
641c0 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 unction.can.be.implemented.using
641e0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 ..........<br><br>.<pre><br>....
64200 20 20 20 20 20 20 69 73 77 63 74 79 70 65 20 28 77 63 2c 20 77 63 74 79 70 65 20 28 22 67 72 61 ......iswctype.(wc,.wctype.("gra
64220 70 68 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 ph"))<br>..........</pre>.......
64240 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 ...<br><br>.It.is.declared.in.<T
64260 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 T>wctype.h</TT>..........sq.~...
64280 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 70 65 2e 68 78 71 00 7e 10 1a 74 00 09 77 69 6e ...w.....t..wctype.hxq.~..t..win
642a0 74 5f 74 20 77 63 74 00 03 69 6e 74 74 00 08 69 73 77 6c 6f 77 65 72 73 71 00 7e 00 0a 70 74 01 t_t.wct..intt..iswlowersq.~..pt.
642c0 79 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 77 y.........Returns.true.if.<VAR>w
642e0 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 6c 6f 77 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 2e 20 c</VAR>.is.a.lower-case.letter..
64300 20 54 68 65 20 6c 65 74 74 65 72 20 6e 65 65 64 20 6e 6f 74 20 62 65 0a 20 20 20 20 20 20 20 20 .The.letter.need.not.be.........
64320 20 66 72 6f 6d 20 74 68 65 20 4c 61 74 69 6e 20 61 6c 70 68 61 62 65 74 2c 20 61 6e 79 20 61 6c .from.the.Latin.alphabet,.any.al
64340 70 68 61 62 65 74 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 69 73 20 76 61 6c 69 64 2e 0a 20 phabet.representable.is.valid...
64360 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 ........<br><br>...........This.
64380 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e function.can.be.implemented.usin
643a0 67 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 g..........<br><br>.<pre><br>...
643c0 20 20 20 20 20 20 20 69 73 77 63 74 79 70 65 20 28 77 63 2c 20 77 63 74 79 70 65 20 28 22 6c 6f .......iswctype.(wc,.wctype.("lo
643e0 77 65 72 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 wer"))<br>..........</pre>......
64400 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c ....<br><br>.It.is.declared.in.<
64420 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f TT>wctype.h</TT>..........sq.~..
64440 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 10 21 74 00 09 77 69 6e ....w.....t..ctype.hxq.~.!t..win
64460 74 5f 74 20 77 63 74 00 03 69 6e 74 74 00 08 69 73 77 70 72 69 6e 74 73 71 00 7e 00 0a 70 74 01 t_t.wct..intt..iswprintsq.~..pt.
64480 88 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 77 ..........Returns.true.if.<VAR>w
644a0 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 70 72 69 6e 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 2e c</VAR>.is.a.printing.character.
644c0 20 20 50 72 69 6e 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 69 ..Printing.characters..........i
644e0 6e 63 6c 75 64 65 20 61 6c 6c 20 74 68 65 20 67 72 61 70 68 69 63 20 63 68 61 72 61 63 74 65 72 nclude.all.the.graphic.character
64500 73 2c 20 70 6c 75 73 20 74 68 65 20 73 70 61 63 65 20 28 3c 73 61 6d 70 3e 20 3c 2f 73 61 6d 70 s,.plus.the.space.(<samp>.</samp
64520 3e 29 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 >).character...........<br><br>.
64540 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 69 ..........This.function.can.be.i
64560 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 mplemented.using..........<br><b
64580 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 73 77 63 74 79 70 65 20 28 r>.<pre><br>..........iswctype.(
645a0 77 63 2c 20 77 63 74 79 70 65 20 28 22 70 72 69 6e 74 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 wc,.wctype.("print"))<br>.......
645c0 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 ...</pre>..........<br><br>.It.i
645e0 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e s.declared.in.<TT>wctype.h</TT>.
64600 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 .........sq.~......w.....t..wcty
64620 70 65 2e 68 78 71 00 7e 10 28 74 00 09 77 69 6e 74 5f 74 20 77 63 74 00 03 69 6e 74 74 00 08 69 pe.hxq.~.(t..wint_t.wct..intt..i
64640 73 77 70 75 6e 63 74 73 71 00 7e 00 0a 70 74 01 81 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e swpunctsq.~..pt...........Return
64660 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 70 75 6e s.true.if.<VAR>wc</VAR>.is.a.pun
64680 63 74 75 61 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 ctuation.character...........Thi
646a0 73 20 6d 65 61 6e 73 20 61 6e 79 20 70 72 69 6e 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 20 74 s.means.any.printing.character.t
646c0 68 61 74 20 69 73 20 6e 6f 74 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 6f 72 20 61 20 73 70 61 hat.is.not.alphanumeric.or.a.spa
646e0 63 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 ce..........character...........
64700 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e <br><br>...........This.function
64720 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 0a 20 20 20 20 20 20 .can.be.implemented.using.......
64740 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 ...<br><br>.<pre><br>..........i
64760 73 77 63 74 79 70 65 20 28 77 63 2c 20 77 63 74 79 70 65 20 28 22 70 75 6e 63 74 22 29 29 3c 62 swctype.(wc,.wctype.("punct"))<b
64780 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e r>..........</pre>..........<br>
647a0 3c 62 72 3e 20 49 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 <br>.It.is.declared.in.<TT>wctyp
647c0 65 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 e.h</TT>..........sq.~......w...
647e0 00 0a 74 00 08 77 63 74 79 70 65 2e 68 78 71 00 7e 10 2f 74 00 09 77 69 6e 74 5f 74 20 77 63 74 ..t..wctype.hxq.~./t..wint_t.wct
64800 00 03 69 6e 74 74 00 08 69 73 77 73 70 61 63 65 73 71 00 7e 00 0a 70 74 02 ed 0a 20 20 20 20 20 ..intt..iswspacesq.~..pt........
64820 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e ...Returns.true.if.<VAR>wc</VAR>
64840 20 69 73 20 61 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 2e 20 20 49 6e 20 .is.a.whitespace.character...In.
64860 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 22 43 22 3c the.standard..........<CODE>"C"<
64880 2f 43 4f 44 45 3e 20 6c 6f 63 61 6c 65 2c 20 3c 43 4f 44 45 3e 69 73 77 73 70 61 63 65 3c 2f 43 /CODE>.locale,.<CODE>iswspace</C
648a0 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 72 75 65 20 66 6f 72 20 6f 6e 6c 79 20 74 68 65 20 73 ODE>.returns.true.for.only.the.s
648c0 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 20 20 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 tandard..........whitespace.char
648e0 61 63 74 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a acters:..........<br><br>.<DL>..
64900 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 20 4c 27 20 27 0a 20 20 20 20 20 20 20 20 20 73 70 61 63 .........<LI>.L'.'..........spac
64920 65 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 20 4c 27 5c 66 27 0a 20 e..........<br><br>.<LI>.L'\f'..
64940 20 20 20 20 20 20 20 20 66 6f 72 6d 66 65 65 64 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ........formfeed..........<br><b
64960 72 3e 20 3c 4c 49 3e 20 4c 27 5c 6e 27 0a 20 20 20 20 20 20 20 20 20 6e 65 77 6c 69 6e 65 0a 20 r>.<LI>.L'\n'..........newline..
64980 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 20 4c 27 5c 72 27 0a 20 20 20 20 ........<br><br>.<LI>.L'\r'.....
649a0 20 20 20 20 20 63 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 3c 62 .....carriage.return..........<b
649c0 72 3e 3c 62 72 3e 20 3c 4c 49 3e 20 4c 27 5c 74 27 0a 20 20 20 20 20 20 20 20 20 68 6f 72 69 7a r><br>.<LI>.L'\t'..........horiz
649e0 6f 6e 74 61 6c 20 74 61 62 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e ontal.tab..........<br><br>.<LI>
64a00 20 4c 27 5c 76 27 0a 20 20 20 20 20 20 20 20 20 76 65 72 74 69 63 61 6c 20 74 61 62 0a 20 20 20 .L'\v'..........vertical.tab....
64a20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 ......</DL>..........<br><br>...
64a40 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 69 6d 70 ........This.function.can.be.imp
64a60 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e lemented.using..........<br><br>
64a80 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 73 77 63 74 79 70 65 20 28 77 63 .<pre><br>..........iswctype.(wc
64aa0 2c 20 77 63 74 79 70 65 20 28 22 73 70 61 63 65 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 ,.wctype.("space"))<br>.........
64ac0 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 .</pre>..........<br><br>.It.is.
64ae0 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 declared.in.<TT>wctype.h</TT>...
64b00 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 70 65 .......sq.~......w.....t..wctype
64b20 2e 68 78 71 00 7e 10 36 74 00 09 77 69 6e 74 5f 74 20 77 63 74 00 03 69 6e 74 74 00 08 69 73 77 .hxq.~.6t..wint_t.wct..intt..isw
64b40 75 70 70 65 72 73 71 00 7e 00 0a 70 74 01 7a 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 uppersq.~..pt.z.........Returns.
64b60 74 72 75 65 20 69 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 75 70 70 65 true.if.<VAR>wc</VAR>.is.an.uppe
64b80 72 2d 63 61 73 65 20 6c 65 74 74 65 72 2e 20 20 54 68 65 20 6c 65 74 74 65 72 20 6e 65 65 64 20 r-case.letter...The.letter.need.
64ba0 6e 6f 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 74 68 65 20 4c 61 74 69 6e 20 61 not.be..........from.the.Latin.a
64bc0 6c 70 68 61 62 65 74 2c 20 61 6e 79 20 61 6c 70 68 61 62 65 74 20 72 65 70 72 65 73 65 6e 74 61 lphabet,.any.alphabet.representa
64be0 62 6c 65 20 69 73 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ble.is.valid...........<br><br>.
64c00 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 69 ..........This.function.can.be.i
64c20 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 mplemented.using..........<br><b
64c40 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 73 77 63 74 79 70 65 20 28 r>.<pre><br>..........iswctype.(
64c60 77 63 2c 20 77 63 74 79 70 65 20 28 22 75 70 70 65 72 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 wc,.wctype.("upper"))<br>.......
64c80 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 ...</pre>..........<br><br>.It.i
64ca0 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e s.declared.in.<TT>wctype.h</TT>.
64cc0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 .........sq.~......w.....t..wcty
64ce0 70 65 2e 68 78 71 00 7e 10 3d 74 00 09 77 69 6e 74 5f 74 20 77 63 74 00 03 69 6e 74 74 00 09 69 pe.hxq.~.=t..wint_t.wct..intt..i
64d00 73 77 78 64 69 67 69 74 73 71 00 7e 00 0a 70 74 01 f2 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 swxdigitsq.~..pt...........Retur
64d20 6e 73 20 74 72 75 65 20 69 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 68 65 ns.true.if.<VAR>wc</VAR>.is.a.he
64d40 78 61 64 65 63 69 6d 61 6c 20 64 69 67 69 74 2e 0a 20 20 20 20 20 20 20 20 20 48 65 78 61 64 65 xadecimal.digit...........Hexade
64d60 63 69 6d 61 6c 20 64 69 67 69 74 73 20 69 6e 63 6c 75 64 65 20 74 68 65 20 6e 6f 72 6d 61 6c 20 cimal.digits.include.the.normal.
64d80 64 65 63 69 6d 61 6c 20 64 69 67 69 74 73 20 3c 73 61 6d 70 3e 30 3c 2f 73 61 6d 70 3e 20 74 68 decimal.digits.<samp>0</samp>.th
64da0 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 39 3c 2f 73 61 6d 70 3e 20 61 6e rough..........<samp>9</samp>.an
64dc0 64 20 74 68 65 20 6c 65 74 74 65 72 73 20 3c 73 61 6d 70 3e 41 3c 2f 73 61 6d 70 3e 20 74 68 72 d.the.letters.<samp>A</samp>.thr
64de0 6f 75 67 68 20 3c 73 61 6d 70 3e 46 3c 2f 73 61 6d 70 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 ough.<samp>F</samp>.and.........
64e00 20 3c 73 61 6d 70 3e 61 3c 2f 73 61 6d 70 3e 20 74 68 72 6f 75 67 68 20 3c 73 61 6d 70 3e 66 3c .<samp>a</samp>.through.<samp>f<
64e20 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 /samp>...........<br><br>.......
64e40 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 ....This.function.can.be.impleme
64e60 6e 74 65 64 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 nted.using..........<br><br>.<pr
64e80 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 73 77 63 74 79 70 65 20 28 77 63 2c 20 77 63 e><br>..........iswctype.(wc,.wc
64ea0 74 79 70 65 20 28 22 78 64 69 67 69 74 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f type.("xdigit"))<br>..........</
64ec0 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 64 65 63 pre>..........<br><br>.It.is.dec
64ee0 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 lared.in.<TT>wctype.h</TT>......
64f00 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 70 65 2e 68 78 ....sq.~......w.....t..wctype.hx
64f20 71 00 7e 10 44 74 00 09 77 69 6e 74 5f 74 20 77 63 74 00 03 69 6e 74 74 00 08 69 73 78 64 69 67 q.~.Dt..wint_t.wct..intt..isxdig
64f40 69 74 73 71 00 7e 00 0a 70 74 01 1d 0a 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 itsq.~..pt...........Returns.tru
64f60 65 20 69 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 68 65 78 61 64 65 63 69 6d e.if.<VAR>c</VAR>.is.a.hexadecim
64f80 61 6c 20 64 69 67 69 74 2e 0a 20 20 20 20 20 20 20 20 20 48 65 78 61 64 65 63 69 6d 61 6c 20 64 al.digit...........Hexadecimal.d
64fa0 69 67 69 74 73 20 69 6e 63 6c 75 64 65 20 74 68 65 20 6e 6f 72 6d 61 6c 20 64 65 63 69 6d 61 6c igits.include.the.normal.decimal
64fc0 20 64 69 67 69 74 73 20 3c 73 61 6d 70 3e 30 3c 2f 73 61 6d 70 3e 20 74 68 72 6f 75 67 68 0a 20 .digits.<samp>0</samp>.through..
64fe0 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 39 3c 2f 73 61 6d 70 3e 20 61 6e 64 20 74 68 65 20 6c ........<samp>9</samp>.and.the.l
65000 65 74 74 65 72 73 20 3c 73 61 6d 70 3e 41 3c 2f 73 61 6d 70 3e 20 74 68 72 6f 75 67 68 20 3c 73 etters.<samp>A</samp>.through.<s
65020 61 6d 70 3e 46 3c 2f 73 61 6d 70 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e amp>F</samp>.and..........<samp>
65040 61 3c 2f 73 61 6d 70 3e 20 74 68 72 6f 75 67 68 20 3c 73 61 6d 70 3e 66 3c 2f 73 61 6d 70 3e 2e a</samp>.through.<samp>f</samp>.
65060 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 .........sq.~......w.....t..ctyp
65080 65 2e 68 78 71 00 7e 10 4b 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 02 6a 30 73 71 00 7e e.hxq.~.Kt..int.ct..intt..j0sq.~
650a0 00 0a 70 74 00 ab 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6a 30 3c 2f 43 4f 44 45 3e 20 72 ..pt...........<CODE>j0</CODE>.r
650c0 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 eturns.the.Bessel.function.of.th
650e0 65 20 66 69 72 73 74 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 20 30 20 6f 66 0a 20 20 20 20 20 e.first.kind.of.order.0.of......
65100 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c ....<VAR>x</VAR>...It.may.signal
65120 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f .underflow.if.<VAR>x</VAR>.is.to
65140 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 o.large..........sq.~......w....
65160 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 52 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f .t..math.hxq.~.Rt..double.xt..do
65180 75 62 6c 65 74 00 03 6a 30 66 73 71 00 7e 00 0a 70 74 00 ab 0a 20 20 20 20 20 20 20 20 3c 43 4f ublet..j0fsq.~..pt...........<CO
651a0 44 45 3e 6a 30 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 DE>j0</CODE>.returns.the.Bessel.
651c0 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6b 69 6e 64 20 6f 66 20 6f 72 function.of.the.first.kind.of.or
651e0 64 65 72 20 30 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 der.0.of..........<VAR>x</VAR>..
65200 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 .It.may.signal.underflow.if.<VAR
65220 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 >x</VAR>.is.too.large..........s
65240 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 59 74 00 q.~......w.....t..math.hxq.~.Yt.
65260 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 03 6a 30 6c 73 71 00 7e 00 0a 70 74 00 ab .float.xt..floatt..j0lsq.~..pt..
65280 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6a 30 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 .........<CODE>j0</CODE>.returns
652a0 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 .the.Bessel.function.of.the.firs
652c0 74 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 20 30 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 t.kind.of.order.0.of..........<V
652e0 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 AR>x</VAR>...It.may.signal.under
65300 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 flow.if.<VAR>x</VAR>.is.too.larg
65320 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 e..........sq.~......w.....t..ma
65340 74 68 2e 68 78 71 00 7e 10 60 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e th.hxq.~.`t..long.double.xt..lon
65360 67 20 64 6f 75 62 6c 65 74 00 02 6a 31 73 71 00 7e 00 0a 70 74 00 ab 0a 20 20 20 20 20 20 20 20 g.doublet..j1sq.~..pt...........
65380 3c 43 4f 44 45 3e 6a 31 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 <CODE>j1</CODE>.returns.the.Bess
653a0 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6b 69 6e 64 20 6f 66 el.function.of.the.first.kind.of
653c0 20 6f 72 64 65 72 20 31 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 .order.1.of..........<VAR>x</VAR
653e0 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c >...It.may.signal.underflow.if.<
65400 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 VAR>x</VAR>.is.too.large........
65420 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 ..sq.~......w.....t..math.hxq.~.
65440 67 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 03 6a 31 66 73 71 00 7e 00 gt..double.xt..doublet..j1fsq.~.
65460 0a 70 74 00 ab 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6a 31 3c 2f 43 4f 44 45 3e 20 72 65 .pt...........<CODE>j1</CODE>.re
65480 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 turns.the.Bessel.function.of.the
654a0 20 66 69 72 73 74 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 20 31 20 6f 66 0a 20 20 20 20 20 20 .first.kind.of.order.1.of.......
654c0 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 ...<VAR>x</VAR>...It.may.signal.
654e0 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f underflow.if.<VAR>x</VAR>.is.too
65500 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a .large..........sq.~......w.....
65520 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 6e 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 t..math.hxq.~.nt..float.xt..floa
65540 74 74 00 03 6a 31 6c 73 71 00 7e 00 0a 70 74 00 ab 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e tt..j1lsq.~..pt...........<CODE>
65560 6a 31 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e j1</CODE>.returns.the.Bessel.fun
65580 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 ction.of.the.first.kind.of.order
655a0 20 31 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 .1.of..........<VAR>x</VAR>...It
655c0 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c .may.signal.underflow.if.<VAR>x<
655e0 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e /VAR>.is.too.large..........sq.~
65600 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 75 74 00 0d 6c 6f ......w.....t..math.hxq.~.ut..lo
65620 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 02 6a 6e 73 71 ng.double.xt..long.doublet..jnsq
65640 00 7e 00 0a 70 74 00 b6 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6a 6e 3c 2f 43 4f 44 45 3e .~..pt...........<CODE>jn</CODE>
65660 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 .returns.the.Bessel.function.of.
65680 74 68 65 20 66 69 72 73 74 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 0a 20 20 20 20 20 20 20 20 the.first.kind.of.order.........
656a0 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 .<VAR>n</VAR>.of.<VAR>x</VAR>...
656c0 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e It.may.signal.underflow.if.<VAR>
656e0 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 x</VAR>.is.too.large..........sq
65700 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 7c 74 00 0f .~......w.....t..math.hxq.~.|t..
65720 69 6e 74 20 6e 2c 20 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 03 6a 6e 66 73 71 int.n,.double.xt..doublet..jnfsq
65740 00 7e 00 0a 70 74 00 b6 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6a 6e 3c 2f 43 4f 44 45 3e .~..pt...........<CODE>jn</CODE>
65760 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 .returns.the.Bessel.function.of.
65780 74 68 65 20 66 69 72 73 74 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 0a 20 20 20 20 20 20 20 20 the.first.kind.of.order.........
657a0 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 .<VAR>n</VAR>.of.<VAR>x</VAR>...
657c0 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e It.may.signal.underflow.if.<VAR>
657e0 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 x</VAR>.is.too.large..........sq
65800 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 83 74 00 0e .~......w.....t..math.hxq.~..t..
65820 69 6e 74 20 6e 2c 20 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 03 6a 6e 6c 73 71 00 7e int.n,.float.xt..floatt..jnlsq.~
65840 00 0a 70 74 00 b6 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6a 6e 3c 2f 43 4f 44 45 3e 20 72 ..pt...........<CODE>jn</CODE>.r
65860 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 eturns.the.Bessel.function.of.th
65880 65 20 66 69 72 73 74 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 0a 20 20 20 20 20 20 20 20 20 3c e.first.kind.of.order..........<
658a0 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 VAR>n</VAR>.of.<VAR>x</VAR>...It
658c0 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c .may.signal.underflow.if.<VAR>x<
658e0 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e /VAR>.is.too.large..........sq.~
65900 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 8a 74 00 14 69 6e ......w.....t..math.hxq.~..t..in
65920 74 20 6e 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 t.n,.long.double.xt..long.double
65940 74 00 07 6a 72 61 6e 64 34 38 73 71 00 7e 00 0a 70 74 01 35 0a 20 20 20 20 20 20 20 20 54 68 65 t..jrand48sq.~..pt.5.........The
65960 20 3c 43 4f 44 45 3e 6a 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 .<CODE>jrand48</CODE>.function.i
65980 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 6e 72 61 6e 64 34 38 3c 2f 43 4f 44 45 s.similar.to.<CODE>nrand48</CODE
659a0 3e 2e 20 20 54 68 65 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 63 65 >...The.only..........difference
659c0 20 69 73 20 74 68 61 74 20 74 68 65 20 6e 75 6d 62 65 72 73 20 72 65 74 75 72 6e 65 64 20 61 72 .is.that.the.numbers.returned.ar
659e0 65 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 3c 43 4f 44 45 3e 2d 32 5e 33 31 3c 2f 43 4f 44 45 e.in.the.range.<CODE>-2^31</CODE
65a00 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 32 5e 33 31 3c 2f 43 4f 44 45 3e 20 >.to..........<CODE>2^31</CODE>.
65a20 28 65 78 63 6c 75 73 69 76 65 29 2e 20 20 46 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 78 73 75 62 (exclusive)...For.the.<CODE>xsub
65a40 69 3c 2f 43 4f 44 45 3e 20 70 61 72 61 6d 65 74 65 72 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 i</CODE>.parameter.the.same.....
65a60 20 20 20 20 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 72 65 20 6e 65 63 65 73 73 61 72 79 2e .....requirements.are.necessary.
65a80 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c .........sq.~......w.....t..stdl
65aa0 69 62 2e 68 78 71 00 7e 10 91 74 00 1b 75 6e 73 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74 20 ib.hxq.~..t..unsigned.short.int.
65ac0 78 73 75 62 69 5b 33 5d 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 09 6a 72 61 6e 64 34 38 5f 72 73 xsubi[3]t..long.intt..jrand48_rs
65ae0 71 00 7e 00 0a 70 74 01 f7 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6a 72 61 6e q.~..pt...........The.<CODE>jran
65b00 64 34 38 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 d48_r</CODE>.function.is.similar
65b20 20 74 6f 20 3c 43 4f 44 45 3e 6a 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 2e 20 20 4c 69 6b 65 20 .to.<CODE>jrand48</CODE>...Like.
65b40 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 72 65 65 6e 74 72 61 6e 74 20 66 75 6e the..........other.reentrant.fun
65b60 63 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 66 61 6d 69 6c 79 20 69 ctions.of.this.function.family.i
65b80 74 20 75 73 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 67 72 75 65 6e 74 69 61 6c t.uses.the..........congruential
65ba0 20 66 6f 72 6d 75 6c 61 20 70 61 72 61 6d 65 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 62 75 66 .formula.parameters.from.the.buf
65bc0 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e fer.pointed.to.by..........<VAR>
65be0 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 buffer</VAR>...........<br><br>.
65c00 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d 6e 65 67 61 74 If.the.return.value.is.non-negat
65c20 69 76 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 ive.the.variable.pointed.to.by..
65c40 20 20 20 20 20 20 20 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 ........<VAR>result</VAR>.contai
65c60 6e 73 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ns.the.result...........<br><br>
65c80 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f .This.function.is.a.GNU.extensio
65ca0 6e 20 61 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 70 6f 72 74 n.and.should.not.be.used.in.port
65cc0 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 20 able..........programs..........
65ce0 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 10 sq.~......w.....t..stdlib.hxq.~.
65d00 98 74 00 4a 75 6e 73 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74 20 78 73 75 62 69 5b 33 5d 2c .t.Junsigned.short.int.xsubi[3],
65d20 20 73 74 72 75 63 74 20 64 72 61 6e 64 34 38 5f 64 61 74 61 20 2a 62 75 66 66 65 72 2c 20 6c 6f .struct.drand48_data.*buffer,.lo
65d40 6e 67 20 69 6e 74 20 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 04 6b 69 6c 6c 73 71 00 7e 00 ng.int.*resultt..intt..killsq.~.
65d60 0a 70 74 09 f2 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6b 69 6c 6c 3c 2f 43 4f .pt...........The.<CODE>kill</CO
65d80 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 6e 64 73 20 74 68 65 20 73 69 67 6e 61 6c 20 3c 56 DE>.function.sends.the.signal.<V
65da0 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 0a 20 AR>signum</VAR>.to.the.process..
65dc0 20 20 20 20 20 20 20 20 6f 72 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 73 70 65 63 69 66 69 ........or.process.group.specifi
65de0 65 64 20 62 79 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 2e 20 20 42 65 73 69 64 65 73 20 74 ed.by.<VAR>pid</VAR>...Besides.t
65e00 68 65 20 73 69 67 6e 61 6c 73 20 6c 69 73 74 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 53 74 he.signals.listed.in..........St
65e20 61 6e 64 61 72 64 20 53 69 67 6e 61 6c 73 2c 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 andard.Signals,.<VAR>signum</VAR
65e40 3e 20 63 61 6e 20 61 6c 73 6f 20 68 61 76 65 20 61 20 76 61 6c 75 65 20 6f 66 20 7a 65 72 6f 20 >.can.also.have.a.value.of.zero.
65e60 74 6f 0a 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 20 74 68 65 20 76 61 6c 69 64 69 74 79 20 6f to..........check.the.validity.o
65e80 66 20 74 68 65 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c f.the.<VAR>pid</VAR>...........<
65ea0 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 73 70 65 63 69 br><br>.The.<VAR>pid</VAR>.speci
65ec0 66 69 65 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 72 20 70 72 6f 63 65 73 73 20 67 72 6f 75 fies.the.process.or.process.grou
65ee0 70 20 74 6f 20 72 65 63 65 69 76 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 61 6c p.to.receive.the..........signal
65f00 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 :..........<br><br>.<DL>........
65f20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 3e 20 30 3c ...<DT><CODE><VAR>pid</VAR>.>.0<
65f40 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 /CODE>.<DD>..........The.process
65f60 20 77 68 6f 73 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 3c 56 41 52 3e 70 69 64 3c 2f 56 .whose.identifier.is.<VAR>pid</V
65f80 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 20 3c 56 41 52 AR>...........<br><br>.<LI>.<VAR
65fa0 3e 70 69 64 3c 2f 56 41 52 3e 20 3d 3d 20 30 0a 20 20 20 20 20 20 20 20 20 41 6c 6c 20 70 72 6f >pid</VAR>.==.0..........All.pro
65fc0 63 65 73 73 65 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 cesses.in.the.same.process.group
65fe0 20 61 73 20 74 68 65 20 73 65 6e 64 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .as.the.sender...........<br><br
66000 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 3c 20 2d 31 3c >.<DT><CODE><VAR>pid</VAR>.<.-1<
66020 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 /CODE>.<DD>..........The.process
66040 20 67 72 6f 75 70 20 77 68 6f 73 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 73 20 3c 56 41 52 3e .group.whose.identifier.is.<VAR>
66060 70 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 pid</VAR>...........<br><br>.<LI
66080 3e 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 3d 3d 20 2d 31 0a 20 20 20 20 20 20 20 20 20 >.<VAR>pid</VAR>.==.-1..........
660a0 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 70 72 69 76 69 6c 65 67 65 64 2c 20 73 65 If.the.process.is.privileged,.se
660c0 6e 64 20 74 68 65 20 73 69 67 6e 61 6c 20 74 6f 20 61 6c 6c 20 70 72 6f 63 65 73 73 65 73 20 65 nd.the.signal.to.all.processes.e
660e0 78 63 65 70 74 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 73 6f 6d 65 20 73 70 65 63 69 61 6c 20 xcept..........for.some.special.
66100 73 79 73 74 65 6d 20 70 72 6f 63 65 73 73 65 73 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 73 65 system.processes...Otherwise,.se
66120 6e 64 20 74 68 65 20 73 69 67 6e 61 6c 20 74 6f 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 72 nd.the.signal.to.all..........pr
66140 6f 63 65 73 73 65 73 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 69 76 65 20 ocesses.with.the.same.effective.
66160 75 73 65 72 20 49 44 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 user.ID...........</DL>.........
66180 20 3c 62 72 3e 3c 62 72 3e 20 41 20 70 72 6f 63 65 73 73 20 63 61 6e 20 73 65 6e 64 20 61 20 73 .<br><br>.A.process.can.send.a.s
661a0 69 67 6e 61 6c 20 74 6f 20 69 74 73 65 6c 66 20 77 69 74 68 20 61 20 63 61 6c 6c 20 6c 69 6b 65 ignal.to.itself.with.a.call.like
661c0 20 3c 43 4f 44 45 3e 6b 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 28 67 65 74 70 69 64 28 29 2c 20 .<CODE>kill..........(getpid(),.
661e0 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 3c <VAR>signum</VAR>)</CODE>...If.<
66200 43 4f 44 45 3e 6b 69 6c 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 65 64 20 62 79 20 61 20 70 72 CODE>kill</CODE>.is.used.by.a.pr
66220 6f 63 65 73 73 20 74 6f 20 73 65 6e 64 0a 20 20 20 20 20 20 20 20 20 61 20 73 69 67 6e 61 6c 20 ocess.to.send..........a.signal.
66240 74 6f 20 69 74 73 65 6c 66 2c 20 61 6e 64 20 74 68 65 20 73 69 67 6e 61 6c 20 69 73 20 6e 6f 74 to.itself,.and.the.signal.is.not
66260 20 62 6c 6f 63 6b 65 64 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 6b 69 6c 6c 3c 2f 43 4f 44 45 3e .blocked,.then.<CODE>kill</CODE>
66280 0a 20 20 20 20 20 20 20 20 20 64 65 6c 69 76 65 72 73 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 ..........delivers.at.least.one.
662a0 73 69 67 6e 61 6c 20 28 77 68 69 63 68 20 6d 69 67 68 74 20 62 65 20 73 6f 6d 65 20 6f 74 68 65 signal.(which.might.be.some.othe
662c0 72 20 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 75 6e 62 6c 6f 63 6b 65 64 20 73 69 67 r.pending..........unblocked.sig
662e0 6e 61 6c 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 73 69 67 6e 61 6c 20 3c 56 41 52 3e 73 nal.instead.of.the.signal.<VAR>s
66300 69 67 6e 75 6d 3c 2f 56 41 52 3e 29 20 74 6f 20 74 68 61 74 20 70 72 6f 63 65 73 73 0a 20 20 20 ignum</VAR>).to.that.process....
66320 20 20 20 20 20 20 62 65 66 6f 72 65 20 69 74 20 72 65 74 75 72 6e 73 2e 0a 20 20 20 20 20 20 20 ......before.it.returns.........
66340 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d ..<br><br>.The.return.value.from
66360 20 3c 43 4f 44 45 3e 6b 69 6c 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 7a 65 72 6f 20 69 66 20 74 68 .<CODE>kill</CODE>.is.zero.if.th
66380 65 20 73 69 67 6e 61 6c 20 63 61 6e 20 62 65 20 73 65 6e 74 0a 20 20 20 20 20 20 20 20 20 73 75 e.signal.can.be.sent..........su
663a0 63 63 65 73 73 66 75 6c 6c 79 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 6e 6f 20 73 69 67 6e 61 ccessfully...Otherwise,.no.signa
663c0 6c 20 69 73 20 73 65 6e 74 2c 20 61 6e 64 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e l.is.sent,.and.a.value.of.<CODE>
663e0 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 2e 20 -1</CODE>.is..........returned..
66400 20 49 66 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 20 73 65 6e .If.<VAR>pid</VAR>.specifies.sen
66420 64 69 6e 67 20 61 20 73 69 67 6e 61 6c 20 74 6f 20 73 65 76 65 72 61 6c 20 70 72 6f 63 65 73 73 ding.a.signal.to.several.process
66440 65 73 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6b 69 6c 6c 3c 2f 43 4f 44 45 3e 20 73 es,..........<CODE>kill</CODE>.s
66460 75 63 63 65 65 64 73 20 69 66 20 69 74 20 63 61 6e 20 73 65 6e 64 20 74 68 65 20 73 69 67 6e 61 ucceeds.if.it.can.send.the.signa
66480 6c 20 74 6f 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 74 68 65 6d 2e 0a 20 20 20 20 20 l.to.at.least.one.of.them.......
664a0 20 20 20 20 54 68 65 72 65 27 73 20 6e 6f 20 77 61 79 20 79 6f 75 20 63 61 6e 20 74 65 6c 6c 20 ....There's.no.way.you.can.tell.
664c0 77 68 69 63 68 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 65 73 20 67 6f 74 20 74 68 65 20 73 which.of.the.processes.got.the.s
664e0 69 67 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 6f 72 20 77 68 65 74 68 65 72 20 61 6c 6c 20 6f 66 ignal..........or.whether.all.of
66500 20 74 68 65 6d 20 64 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 .them.did...........<br><br>.The
66520 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 .following.<CODE>errno</CODE>.er
66540 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 ror.conditions.are.defined.for.t
66560 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 his.function:..........<br><br>.
66580 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c <DL>...........<DT><CODE>EINVAL<
665a0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 69 /CODE>.<DD>..........The.<VAR>si
665c0 67 6e 75 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 6e 20 69 6e 76 61 6c 69 gnum</VAR>.argument.is.an.invali
665e0 64 20 6f 72 20 75 6e 73 75 70 70 6f 72 74 65 64 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 d.or.unsupported.number.........
66600 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 0a 20 20 20 20 20 ..<br><br>.<DT><CODE>EPERM......
66620 20 20 20 20 59 6f 75 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 70 72 69 76 69 6c 65 67 ....You.do.not.have.the.privileg
66640 65 20 74 6f 20 73 65 6e 64 20 61 20 73 69 67 6e 61 6c 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 e.to.send.a.signal.to.the.proces
66660 73 20 6f 72 20 61 6e 79 20 6f 66 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 s.or.any.of</CODE>.<DD>.........
66680 20 74 68 65 20 70 72 6f 63 65 73 73 65 73 20 69 6e 20 74 68 65 20 70 72 6f 63 65 73 73 20 67 72 .the.processes.in.the.process.gr
666a0 6f 75 70 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 oup.named.by.<VAR>pid</VAR>.....
666c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 52 43 48 3c 2f ......<br><br>.<DT><CODE>ESRCH</
666e0 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 70 69 64 CODE>.<DD>..........The.<VAR>pid
66700 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 72 65 66 65 72 20 74 </VAR>.argument.does.not.refer.t
66720 6f 20 61 6e 20 65 78 69 73 74 69 6e 67 20 70 72 6f 63 65 73 73 20 6f 72 20 67 72 6f 75 70 2e 0a o.an.existing.process.or.group..
66740 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 .........</DL>.........sq.~.....
66760 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 10 9f 74 00 15 70 69 64 5f 74 .w.....t..signal.hxq.~..t..pid_t
66780 20 70 69 64 2c 20 69 6e 74 20 73 69 67 6e 75 6d 74 00 03 69 6e 74 74 00 06 6b 69 6c 6c 70 67 73 .pid,.int.signumt..intt..killpgs
667a0 71 00 7e 00 0a 70 74 00 fe 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 q.~..pt...........This.is.simila
667c0 72 20 74 6f 20 3c 43 4f 44 45 3e 6b 69 6c 6c 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 73 65 6e 64 r.to.<CODE>kill</CODE>,.but.send
667e0 73 20 73 69 67 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 74 6f 20 74 68 s.signal.<VAR>signum</VAR>.to.th
66800 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 3c 56 41 52 3e 70 67 e..........process.group.<VAR>pg
66820 69 64 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 70 72 6f 76 id</VAR>...This.function.is.prov
66840 69 64 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 20 20 20 20 20 20 20 20 20 ided.for.compatibility..........
66860 77 69 74 68 20 42 53 44 3b 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6b 69 6c 6c 3c 2f 43 4f 44 45 with.BSD;.using.<CODE>kill</CODE
66880 3e 20 74 6f 20 64 6f 20 74 68 69 73 20 69 73 20 6d 6f 72 65 20 70 6f 72 74 61 62 6c 65 2e 0a 20 >.to.do.this.is.more.portable...
668a0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c .......sq.~......w.....t..signal
668c0 2e 68 78 71 00 7e 10 a6 74 00 14 69 6e 74 20 70 67 69 64 2c 20 69 6e 74 20 73 69 67 6e 75 6d 74 .hxq.~..t..int.pgid,.int.signumt
668e0 00 03 69 6e 74 74 00 04 6c 36 34 61 73 71 00 7e 00 0a 70 74 0b d6 0a 20 20 20 20 20 20 20 20 54 ..intt..l64asq.~..pt...........T
66900 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 6e 63 6f 64 65 73 20 61 20 33 32 2d 62 69 74 20 69 6e his.function.encodes.a.32-bit.in
66920 70 75 74 20 76 61 6c 75 65 20 75 73 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 put.value.using.characters.from.
66940 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 61 73 69 63 20 63 68 61 72 61 63 74 65 72 20 73 65 74 the..........basic.character.set
66960 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 37 20 63 ...It.returns.a.pointer.to.a.7.c
66980 68 61 72 61 63 74 65 72 20 62 75 66 66 65 72 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 63 haracter.buffer.which..........c
669a0 6f 6e 74 61 69 6e 73 20 61 6e 20 65 6e 63 6f 64 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 3c 56 ontains.an.encoded.version.of.<V
669c0 41 52 3e 6e 3c 2f 56 41 52 3e 2e 20 20 54 6f 20 65 6e 63 6f 64 65 20 61 20 73 65 72 69 65 73 20 AR>n</VAR>...To.encode.a.series.
669e0 6f 66 20 62 79 74 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 20 6d 75 73 74 20 of.bytes.the..........user.must.
66a00 63 6f 70 79 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 6e 67 20 74 6f 20 61 20 64 65 copy.the.returned.string.to.a.de
66a20 73 74 69 6e 61 74 69 6f 6e 20 62 75 66 66 65 72 2e 20 20 49 74 20 72 65 74 75 72 6e 73 0a 20 20 stination.buffer...It.returns...
66a40 20 20 20 20 20 20 20 74 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 69 66 20 3c 56 41 52 3e .......the.empty.string.if.<VAR>
66a60 6e 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 20 77 68 69 63 68 20 69 73 20 73 6f 6d 65 77 68 n</VAR>.is.zero,.which.is.somewh
66a80 61 74 20 62 69 7a 61 72 72 65 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 6d 61 6e 64 61 74 65 64 at.bizarre.but..........mandated
66aa0 20 62 79 20 74 68 65 20 73 74 61 6e 64 61 72 64 2e 2a 0a 20 20 20 20 20 20 20 20 20 57 61 72 6e .by.the.standard.*..........Warn
66ac0 69 6e 67 3a 20 53 69 6e 63 65 20 61 20 73 74 61 74 69 63 20 62 75 66 66 65 72 20 69 73 20 75 73 ing:.Since.a.static.buffer.is.us
66ae0 65 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 6e 6f 74 0a 20 20 20 20 ed.this.function.should.not.....
66b00 20 20 20 20 20 62 65 20 75 73 65 64 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 .....be.used.in.multi-threaded.p
66b20 72 6f 67 72 61 6d 73 2e 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 74 68 72 65 61 64 2d 73 61 66 rograms...There.is.no.thread-saf
66b40 65 20 61 6c 74 65 72 6e 61 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 69 73 20 66 e.alternative..........to.this.f
66b60 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 43 20 6c 69 62 72 61 72 79 2e 2a 0a 20 20 20 20 20 unction.in.the.C.library.*......
66b80 20 20 20 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 4e 6f 74 65 3a 20 54 68 65 20 58 50 47 20 ....Compatibility.Note:.The.XPG.
66ba0 73 74 61 6e 64 61 72 64 20 73 74 61 74 65 73 20 74 68 61 74 20 74 68 65 20 72 65 74 75 72 6e 0a standard.states.that.the.return.
66bc0 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 6c 36 34 61 3c 2f 43 4f .........value.of.<CODE>l64a</CO
66be0 44 45 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 66 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e DE>.is.undefined.if.<VAR>n</VAR>
66c00 20 69 73 20 6e 65 67 61 74 69 76 65 2e 20 20 49 6e 20 74 68 65 20 47 4e 55 0a 20 20 20 20 20 20 .is.negative...In.the.GNU.......
66c20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2c 20 3c 43 4f 44 45 3e 6c 36 34 61 3c 2f 43 ...implementation,.<CODE>l64a</C
66c40 4f 44 45 3e 20 74 72 65 61 74 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 61 73 20 75 6e 73 69 ODE>.treats.its.argument.as.unsi
66c60 67 6e 65 64 2c 20 73 6f 20 69 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e gned,.so.it.will..........return
66c80 20 61 20 73 65 6e 73 69 62 6c 65 20 65 6e 63 6f 64 69 6e 67 20 66 6f 72 20 61 6e 79 20 6e 6f 6e .a.sensible.encoding.for.any.non
66ca0 7a 65 72 6f 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 3b 20 68 6f 77 65 76 65 72 2c 20 70 6f 72 74 zero.<VAR>n</VAR>;.however,.port
66cc0 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 20 73 68 6f 75 6c 64 20 6e 6f able..........programs.should.no
66ce0 74 20 72 65 6c 79 20 6f 6e 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 t.rely.on.this...........<br><br
66d00 3e 20 54 6f 20 65 6e 63 6f 64 65 20 61 20 6c 61 72 67 65 20 62 75 66 66 65 72 20 3c 43 4f 44 45 >.To.encode.a.large.buffer.<CODE
66d20 3e 6c 36 34 61 3c 2f 43 4f 44 45 3e 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 61 >l64a</CODE>.must.be.called.in.a
66d40 20 6c 6f 6f 70 2c 20 6f 6e 63 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 65 61 63 68 20 33 32 .loop,.once.for..........each.32
66d60 2d 62 69 74 20 77 6f 72 64 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2e 20 20 46 6f 72 20 65 78 -bit.word.of.the.buffer...For.ex
66d80 61 6d 70 6c 65 2c 20 6f 6e 65 20 63 6f 75 6c 64 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 0a 20 20 ample,.one.could.do.something...
66da0 20 20 20 20 20 20 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .......like.this:..........<br><
66dc0 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 3c 62 72 br>.<pre><br>..........char.*<br
66de0 3e 0a 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 20 28 63 6f 6e 73 74 20 76 6f 69 64 20 2a 62 >..........encode.(const.void.*b
66e00 75 66 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 uf,.size_t.len)<br>..........{<b
66e20 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 57 65 20 6b 6e 6f 77 20 69 6e 20 61 64 76 61 r>............/*.We.know.in.adva
66e40 6e 63 65 20 68 6f 77 20 6c 6f 6e 67 20 74 68 65 20 62 75 66 66 65 72 20 68 61 73 20 74 6f 20 62 nce.how.long.the.buffer.has.to.b
66e60 65 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 68 e..*/<br>............unsigned.ch
66e80 61 72 20 2a 69 6e 20 3d 20 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 62 75 66 3b 3c ar.*in.=.(unsigned.char.*).buf;<
66ea0 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 6f 75 74 20 3d 20 6d 61 6c 6c 6f br>............char.*out.=.mallo
66ec0 63 20 28 36 20 2b 20 28 28 6c 65 6e 20 2b 20 33 29 20 2f 20 34 29 20 2a 20 36 20 2b 20 31 29 3b c.(6.+.((len.+.3)./.4).*.6.+.1);
66ee0 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 63 70 20 3d 20 6f 75 74 2c 20 <br>............char.*cp.=.out,.
66f00 2a 70 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 2f 2a 20 45 *p;<br>..........<br><br>.../*.E
66f20 6e 63 6f 64 65 20 74 68 65 20 6c 65 6e 67 74 68 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 ncode.the.length..*/<br>........
66f40 20 20 20 20 2f 2a 20 55 73 69 6e 67 20 60 68 74 6f 6e 6c 27 20 69 73 20 6e 65 63 65 73 73 61 72 ..../*.Using.`htonl'.is.necessar
66f60 79 20 73 6f 20 74 68 61 74 20 74 68 65 20 64 61 74 61 20 63 61 6e 20 62 65 3c 62 72 3e 0a 20 20 y.so.that.the.data.can.be<br>...
66f80 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 64 65 64 20 65 76 65 6e 20 6f 6e 20 6d 61 63 68 ............decoded.even.on.mach
66fa0 69 6e 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 62 79 74 65 20 6f 72 64 65 72 2e 3c ines.with.different.byte.order.<
66fc0 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 6c 36 34 61 27 20 63 61 6e 20 72 65 74 br>...............`l64a'.can.ret
66fe0 75 72 6e 20 61 20 73 74 72 69 6e 67 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 36 20 62 79 74 65 urn.a.string.shorter.than.6.byte
67000 73 2c 20 73 6f 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 65 20 70 61 64 20 s,.so.<br>...............we.pad.
67020 69 74 20 77 69 74 68 20 65 6e 63 6f 64 69 6e 67 20 6f 66 20 30 20 28 27 2e 27 29 20 61 74 20 74 it.with.encoding.of.0.('.').at.t
67040 68 65 20 65 6e 64 20 62 79 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 6e he.end.by.<br>...............han
67060 64 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 70 20 d..*/<br>..........<br><br>...p.
67080 3d 20 73 74 70 63 70 79 20 28 63 70 2c 20 6c 36 34 61 20 28 68 74 6f 6e 6c 20 28 6c 65 6e 29 29 =.stpcpy.(cp,.l64a.(htonl.(len))
670a0 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 70 20 3d 20 6d 65 6d 70 63 70 79 20 28 );<br>............cp.=.mempcpy.(
670c0 70 2c 20 22 2e 2e 2e 2e 2e 2e 22 2c 20 36 20 2d 20 28 70 20 2d 20 63 70 29 29 3b 3c 62 72 3e 0a p,."......",.6.-.(p.-.cp));<br>.
670e0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 77 68 69 6c 65 20 28 6c 65 6e 20 3e .........<br><br>...while.(len.>
67100 20 33 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 .3)<br>..............{<br>......
67120 20 20 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 6e 74 20 6e 20 3d 20 ..........unsigned.long.int.n.=.
67140 2a 69 6e 2b 2b 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 20 3d 20 28 6e *in++;<br>................n.=.(n
67160 20 3c 3c 20 38 29 20 7c 20 2a 69 6e 2b 2b 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .<<.8).|.*in++;<br>.............
67180 20 20 20 6e 20 3d 20 28 6e 20 3c 3c 20 38 29 20 7c 20 2a 69 6e 2b 2b 3b 3c 62 72 3e 0a 20 20 20 ...n.=.(n.<<.8).|.*in++;<br>....
671a0 20 20 20 20 20 20 20 20 20 20 20 20 6e 20 3d 20 28 6e 20 3c 3c 20 38 29 20 7c 20 2a 69 6e 2b 2b ............n.=.(n.<<.8).|.*in++
671c0 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 20 2d 3d 20 34 3b 3c 62 ;<br>................len.-=.4;<b
671e0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 20 3d 20 73 74 70 63 70 79 20 28 63 70 r>................p.=.stpcpy.(cp
67200 2c 20 6c 36 34 61 20 28 68 74 6f 6e 6c 20 28 6e 29 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 ,.l64a.(htonl.(n)));<br>........
67220 20 20 20 20 20 20 20 20 63 70 20 3d 20 6d 65 6d 70 63 70 79 20 28 70 2c 20 22 2e 2e 2e 2e 2e 2e ........cp.=.mempcpy.(p,."......
67240 22 2c 20 36 20 2d 20 28 70 20 2d 20 63 70 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 ",.6.-.(p.-.cp));<br>...........
67260 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 65 6e 20 3e 20 30 29 ...}<br>............if.(len.>.0)
67280 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 <br>..............{<br>.........
672a0 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 6e 74 20 6e 20 3d 20 2a 69 6e .......unsigned.long.int.n.=.*in
672c0 2b 2b 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 2d 2d 6c 65 6e ++;<br>................if.(--len
672e0 20 3e 20 30 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e .>.0)<br>..................{<br>
67300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 20 3d 20 28 6e 20 3c 3c 20 38 29 ....................n.=.(n.<<.8)
67320 20 7c 20 2a 69 6e 2b 2b 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .|.*in++;<br>...................
67340 20 69 66 20 28 2d 2d 6c 65 6e 20 3e 20 30 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .if.(--len.>.0)<br>.............
67360 20 20 20 20 20 20 20 20 20 6e 20 3d 20 28 6e 20 3c 3c 20 38 29 20 7c 20 2a 69 6e 3b 3c 62 72 3e .........n.=.(n.<<.8).|.*in;<br>
67380 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 ..................}<br>.........
673a0 20 20 20 20 20 20 20 63 70 20 3d 20 73 74 70 63 70 79 20 28 63 70 2c 20 6c 36 34 61 20 28 68 74 .......cp.=.stpcpy.(cp,.l64a.(ht
673c0 6f 6e 6c 20 28 6e 29 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 onl.(n)));<br>..............}<br
673e0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 2a 63 70 20 3d 20 27 5c 30 27 3b 3c 62 72 3e 0a 20 20 20 >............*cp.=.'\0';<br>....
67400 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 75 74 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 ........return.out;<br>.........
67420 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 .}<br>..........</pre>..........
67440 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 73 74 72 61 6e 67 65 20 74 68 61 74 20 74 68 65 20 <br><br>.It.is.strange.that.the.
67460 6c 69 62 72 61 72 79 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 74 68 65 20 63 6f 6d library.does.not.provide.the.com
67480 70 6c 65 74 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 6e 65 65 plete..........functionality.nee
674a0 64 65 64 20 62 75 74 20 73 6f 20 62 65 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c ded.but.so.be.it...........<br><
674c0 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 br>.........sq.~......w.....t..s
674e0 74 64 6c 69 62 2e 68 78 71 00 7e 10 ad 74 00 0a 6c 6f 6e 67 20 69 6e 74 20 6e 74 00 06 63 68 61 tdlib.hxq.~..t..long.int.nt..cha
67500 72 20 2a 74 00 04 6c 61 62 73 73 71 00 7e 00 0a 70 74 02 10 0a 20 20 20 20 20 20 20 20 54 68 65 r.*t..labssq.~..pt...........The
67520 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 61 62 73 6f 6c 75 74 65 se.functions.return.the.absolute
67540 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 6e 75 6d 62 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 .value.of.<VAR>number</VAR>.....
67560 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4d 6f 73 74 20 63 6f 6d 70 75 74 65 72 73 20 75 73 ......<br><br>.Most.computers.us
67580 65 20 61 20 74 77 6f 27 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 69 6e 74 65 67 65 72 20 72 65 70 e.a.two's.complement.integer.rep
675a0 72 65 73 65 6e 74 61 74 69 6f 6e 2c 20 69 6e 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 74 resentation,.in.which..........t
675c0 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 49 4e 54 5f 4d he.absolute.value.of.<CODE>INT_M
675e0 49 4e 3c 2f 43 4f 44 45 3e 20 28 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 IN</CODE>.(the.smallest.possible
67600 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 29 0a 20 20 20 20 20 20 20 20 20 63 61 6e 6e .<CODE>int</CODE>)..........cann
67620 6f 74 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 3b 20 74 68 75 73 2c 20 3c 43 4f 44 45 3e 61 ot.be.represented;.thus,.<CODE>a
67640 62 73 20 28 49 4e 54 5f 4d 49 4e 29 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 64 65 66 69 6e bs.(INT_MIN)</CODE>.is.not.defin
67660 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6c 6c 61 62 ed...........<br><br>.<CODE>llab
67680 73 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 69 6d 61 78 64 69 76 3c 2f 43 4f 44 45 s</CODE>.and.<CODE>imaxdiv</CODE
676a0 3e 20 61 72 65 20 6e 65 77 20 74 6f 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 20 3c >.are.new.to.ISO.C99...........<
676c0 62 72 3e 3c 62 72 3e 20 53 65 65 20 49 6e 74 65 67 65 72 73 20 66 6f 72 20 61 20 64 65 73 63 72 br><br>.See.Integers.for.a.descr
676e0 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 69 6e 74 6d 61 78 5f 74 3c 2f 43 4f iption.of.the.<CODE>intmax_t</CO
67700 44 45 3e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 DE>.type...........<br><br>.....
67720 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 ....sq.~......w.....t..stdlib.hx
67740 71 00 7e 10 b4 74 00 0f 6c 6f 6e 67 20 69 6e 74 20 6e 75 6d 62 65 72 74 00 08 6c 6f 6e 67 20 69 q.~..t..long.int.numbert..long.i
67760 6e 74 74 00 07 6c 63 6f 6e 67 34 38 73 71 00 7e 00 0a 70 74 02 ff 0a 20 20 20 20 20 20 20 20 54 ntt..lcong48sq.~..pt...........T
67780 68 65 20 3c 43 4f 44 45 3e 6c 63 6f 6e 67 34 38 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e he.<CODE>lcong48</CODE>.function
677a0 20 61 6c 6c 6f 77 73 20 74 68 65 20 75 73 65 72 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 63 .allows.the.user.to.change.the.c
677c0 6f 6d 70 6c 65 74 65 20 73 74 61 74 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 72 61 omplete.state..........of.the.ra
677e0 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 2e 20 20 55 6e 6c 69 6b 65 20 3c ndom.number.generator...Unlike.<
67800 43 4f 44 45 3e 73 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 CODE>srand48</CODE>.and.........
67820 20 3c 43 4f 44 45 3e 73 65 65 64 34 38 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 20 66 75 6e 63 74 .<CODE>seed48</CODE>,.this.funct
67840 69 6f 6e 20 61 6c 73 6f 20 63 68 61 6e 67 65 73 20 74 68 65 20 63 6f 6e 73 74 61 6e 74 73 20 69 ion.also.changes.the.constants.i
67860 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 67 72 75 65 6e 74 69 61 6c 20 66 6f 72 6d n.the..........congruential.form
67880 75 6c 61 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 72 6f 6d 20 74 68 65 20 ula...........<br><br>.From.the.
678a0 73 65 76 65 6e 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 seven.elements.in.the.array.<VAR
678c0 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 20 74 68 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 >param</VAR>.the.least.significa
678e0 6e 74 0a 20 20 20 20 20 20 20 20 20 31 36 20 62 69 74 73 20 6f 66 20 74 68 65 20 65 6e 74 72 69 nt..........16.bits.of.the.entri
67900 65 73 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 5b 30 5d 3c 2f 43 4f es.<CODE><VAR>param</VAR>[0]</CO
67920 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 5b 32 5d DE>.to.<CODE><VAR>param</VAR>[2]
67940 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 69 </CODE>..........determine.the.i
67960 6e 69 74 69 61 6c 20 73 74 61 74 65 2c 20 74 68 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 nitial.state,.the.least.signific
67980 61 6e 74 20 31 36 20 62 69 74 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 3c 56 ant.16.bits.of..........<CODE><V
679a0 41 52 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 5b 33 5d 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 AR>param</VAR>[3]</CODE>.to.<COD
679c0 45 3e 3c 56 41 52 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 5b 35 5d 3c 2f 43 4f 44 45 3e 20 64 65 74 E><VAR>param</VAR>[5]</CODE>.det
679e0 65 72 6d 69 6e 65 20 74 68 65 20 34 38 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 ermine.the.48.bit..........const
67a00 61 6e 74 20 3c 43 4f 44 45 3e 61 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 3c 56 41 ant.<CODE>a</CODE>.and.<CODE><VA
67a20 52 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 5b 36 5d 3c 2f 43 4f 44 45 3e 20 64 65 74 65 72 6d 69 6e R>param</VAR>[6]</CODE>.determin
67a40 65 73 20 74 68 65 20 31 36 2d 62 69 74 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f es.the.16-bit.value..........<CO
67a60 44 45 3e 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 DE>c</CODE>..........sq.~......w
67a80 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 10 bb 74 00 1b 75 6e 73 69 67 6e 65 .....t..stdlib.hxq.~..t..unsigne
67aa0 64 20 73 68 6f 72 74 20 69 6e 74 20 70 61 72 61 6d 5b 37 5d 74 00 04 76 6f 69 64 74 00 09 6c 63 d.short.int.param[7]t..voidt..lc
67ac0 6f 6e 67 34 38 5f 72 73 71 00 7e 00 0a 70 74 02 8c 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 ong48_rsq.~..pt...........This.f
67ae0 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 61 6c 6c 20 61 73 70 65 63 74 73 20 unction.initializes.all.aspects.
67b00 6f 66 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 20 of.the.random.number.generator..
67b20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 3c 56 41 52 3e 62 75 66 66 65 72 ........described.in.<VAR>buffer
67b40 3c 2f 56 41 52 3e 20 77 69 74 68 20 74 68 65 20 64 61 74 61 20 69 6e 20 3c 56 41 52 3e 70 61 72 </VAR>.with.the.data.in.<VAR>par
67b60 61 6d 3c 2f 56 41 52 3e 2e 20 20 48 65 72 65 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 65 am</VAR>...Here.it.is..........e
67b80 73 70 65 63 69 61 6c 6c 79 20 74 72 75 65 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e specially.true.that.the.function
67ba0 20 64 6f 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 6a 75 73 74 20 63 6f 70 79 69 6e 67 20 74 68 65 .does.more.than.just.copying.the
67bc0 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 3c 56 41 52 3e 70 61 72 61 6d ..........contents.of.<VAR>param
67be0 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 4d </VAR>.and.<VAR>buffer</VAR>...M
67c00 6f 72 65 20 77 6f 72 6b 20 69 73 20 72 65 71 75 69 72 65 64 20 61 6e 64 0a 20 20 20 20 20 20 20 ore.work.is.required.and........
67c20 20 20 74 68 65 72 65 66 6f 72 65 20 69 74 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 6f 20 75 ..therefore.it.is.important.to.u
67c40 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 61 74 68 65 72 20 74 68 61 6e 20 69 6e 69 se.this.function.rather.than.ini
67c60 74 69 61 6c 69 7a 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 tializing..........the.random.nu
67c80 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 20 64 69 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 20 20 mber.generator.directly.........
67ca0 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 ..<br><br>.If.the.return.value.i
67cc0 73 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c s.non-negative.the.function.call
67ce0 20 73 75 63 63 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 .succeeded...........<br><br>.Th
67d00 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 is.function.is.a.GNU.extension.a
67d20 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 70 6f 72 74 61 62 6c nd.should.not.be.used.in.portabl
67d40 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 e..........programs..........sq.
67d60 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 10 c2 74 00 ~......w.....t..stdlib.hxq.~..t.
67d80 38 75 6e 73 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74 20 70 61 72 61 6d 5b 37 5d 2c 20 73 74 8unsigned.short.int.param[7],.st
67da0 72 75 63 74 20 64 72 61 6e 64 34 38 5f 64 61 74 61 20 2a 62 75 66 66 65 72 74 00 03 69 6e 74 74 ruct.drand48_data.*buffert..intt
67dc0 00 05 6c 64 65 78 70 73 71 00 7e 00 0a 70 74 01 70 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 ..ldexpsq.~..pt.p.........These.
67de0 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d functions.return.the.result.of.m
67e00 75 6c 74 69 70 6c 79 69 6e 67 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 0a 20 20 ultiplying.the.floating-point...
67e20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 62 .......number.<VAR>value</VAR>.b
67e40 79 20 32 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 3c 56 41 52 3e 65 78 70 y.2.raised.to.the.power.<VAR>exp
67e60 6f 6e 65 6e 74 3c 2f 56 41 52 3e 2e 20 20 28 49 74 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 62 onent</VAR>...(It.can..........b
67e80 65 20 75 73 65 64 20 74 6f 20 72 65 61 73 73 65 6d 62 6c 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f e.used.to.reassemble.floating-po
67ea0 69 6e 74 20 6e 75 6d 62 65 72 73 20 74 68 61 74 20 77 65 72 65 20 74 61 6b 65 6e 20 61 70 61 72 int.numbers.that.were.taken.apar
67ec0 74 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 43 4f 44 45 3e 66 72 65 78 70 3c 2f 43 4f 44 45 3e t..........by.<CODE>frexp</CODE>
67ee0 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 .)..........<br><br>.For.example
67f00 2c 20 3c 43 4f 44 45 3e 6c 64 65 78 70 20 28 30 2e 38 2c 20 34 29 3c 2f 43 4f 44 45 3e 20 72 65 ,.<CODE>ldexp.(0.8,.4)</CODE>.re
67f20 74 75 72 6e 73 20 3c 43 4f 44 45 3e 31 32 2e 38 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 turns.<CODE>12.8</CODE>.........
67f40 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 c9 .sq.~......w.....t..math.hxq.~..
67f60 74 00 1a 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 69 6e 74 20 65 78 70 6f 6e 65 6e 74 74 00 06 t..double.value,.int.exponentt..
67f80 64 6f 75 62 6c 65 74 00 06 6c 64 65 78 70 66 73 71 00 7e 00 0a 70 74 01 70 0a 20 20 20 20 20 20 doublet..ldexpfsq.~..pt.p.......
67fa0 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 ..These.functions.return.the.res
67fc0 75 6c 74 20 6f 66 20 6d 75 6c 74 69 70 6c 79 69 6e 67 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 2d ult.of.multiplying.the.floating-
67fe0 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 3c 56 41 52 3e 76 61 6c 75 65 point..........number.<VAR>value
68000 3c 2f 56 41 52 3e 20 62 79 20 32 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 </VAR>.by.2.raised.to.the.power.
68020 3c 56 41 52 3e 65 78 70 6f 6e 65 6e 74 3c 2f 56 41 52 3e 2e 20 20 28 49 74 20 63 61 6e 0a 20 20 <VAR>exponent</VAR>...(It.can...
68040 20 20 20 20 20 20 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 61 73 73 65 6d 62 6c 65 20 66 6c 6f .......be.used.to.reassemble.flo
68060 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 20 74 68 61 74 20 77 65 72 65 20 74 61 ating-point.numbers.that.were.ta
68080 6b 65 6e 20 61 70 61 72 74 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 43 4f 44 45 3e 66 72 65 78 ken.apart..........by.<CODE>frex
680a0 70 3c 2f 43 4f 44 45 3e 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 p</CODE>.)..........<br><br>.For
680c0 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 45 3e 6c 64 65 78 70 20 28 30 2e 38 2c 20 34 29 3c 2f .example,.<CODE>ldexp.(0.8,.4)</
680e0 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 31 32 2e 38 3c 2f 43 4f 44 45 3e 2e CODE>.returns.<CODE>12.8</CODE>.
68100 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 .........sq.~......w.....t..math
68120 2e 68 78 71 00 7e 10 d0 74 00 19 66 6c 6f 61 74 20 76 61 6c 75 65 2c 20 69 6e 74 20 65 78 70 6f .hxq.~..t..float.value,.int.expo
68140 6e 65 6e 74 74 00 05 66 6c 6f 61 74 74 00 06 6c 64 65 78 70 6c 73 71 00 7e 00 0a 70 74 01 70 0a nentt..floatt..ldexplsq.~..pt.p.
68160 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 ........These.functions.return.t
68180 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 75 6c 74 69 70 6c 79 69 6e 67 20 74 68 65 20 66 6c 6f he.result.of.multiplying.the.flo
681a0 61 74 69 6e 67 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 3c 56 41 52 ating-point..........number.<VAR
681c0 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 62 79 20 32 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 >value</VAR>.by.2.raised.to.the.
681e0 70 6f 77 65 72 20 3c 56 41 52 3e 65 78 70 6f 6e 65 6e 74 3c 2f 56 41 52 3e 2e 20 20 28 49 74 20 power.<VAR>exponent</VAR>...(It.
68200 63 61 6e 0a 20 20 20 20 20 20 20 20 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 61 73 73 65 6d 62 can..........be.used.to.reassemb
68220 6c 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 20 74 68 61 74 20 77 le.floating-point.numbers.that.w
68240 65 72 65 20 74 61 6b 65 6e 20 61 70 61 72 74 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 43 4f 44 ere.taken.apart..........by.<COD
68260 45 3e 66 72 65 78 70 3c 2f 43 4f 44 45 3e 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 E>frexp</CODE>.)..........<br><b
68280 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 45 3e 6c 64 65 78 70 20 28 30 2e 38 r>.For.example,.<CODE>ldexp.(0.8
682a0 2c 20 34 29 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 31 32 2e 38 3c 2f ,.4)</CODE>.returns.<CODE>12.8</
682c0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
682e0 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 d7 74 00 1f 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 76 61 6c ..math.hxq.~..t..long.double.val
68300 75 65 2c 20 69 6e 74 20 65 78 70 6f 6e 65 6e 74 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 ue,.int.exponentt..long.doublet.
68320 04 6c 64 69 76 73 71 00 7e 00 0a 70 74 00 e5 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 .ldivsq.~..pt...........The.<COD
68340 45 3e 6c 64 69 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 E>ldiv</CODE>.function.is.simila
68360 72 20 74 6f 20 3c 43 4f 44 45 3e 64 69 76 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 r.to.<CODE>div</CODE>,.except.th
68380 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6f 66 at.the..........arguments.are.of
683a0 20 74 79 70 65 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 .type.<CODE>long.int</CODE>.and.
683c0 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 0a 20 20 20 20 the.result.is.returned.as.a.....
683e0 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6c 64 69 .....structure.of.type.<CODE>ldi
68400 76 5f 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 v_t</CODE>..........sq.~......w.
68420 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 10 de 74 00 28 6c 6f 6e 67 20 69 6e 74 ....t..stdlib.hxq.~..t.(long.int
68440 20 6e 75 6d 65 72 61 74 6f 72 2c 20 6c 6f 6e 67 20 69 6e 74 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 .numerator,.long.int.denominator
68460 74 00 06 6c 64 69 76 5f 74 74 00 05 6c 66 69 6e 64 73 71 00 7e 00 0a 70 74 03 52 0a 20 20 20 20 t..ldiv_tt..lfindsq.~..pt.R.....
68480 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6c 66 69 6e 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 ....The.<CODE>lfind</CODE>.funct
684a0 69 6f 6e 20 73 65 61 72 63 68 65 73 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 77 69 74 68 20 3c ion.searches.in.the.array.with.<
684c0 43 4f 44 45 3e 2a 3c 56 41 52 3e 6e 6d 65 6d 62 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 0a 20 20 CODE>*<VAR>nmemb</VAR></CODE>...
684e0 20 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 .......elements.of.<VAR>size</VA
68500 52 3e 20 62 79 74 65 73 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 62 61 73 65 R>.bytes.pointed.to.by.<VAR>base
68520 3c 2f 56 41 52 3e 20 66 6f 72 20 61 6e 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 77 </VAR>.for.an.element..........w
68540 68 69 63 68 20 6d 61 74 63 68 65 73 20 74 68 65 20 6f 6e 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 hich.matches.the.one.pointed.to.
68560 62 79 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e by.<VAR>key</VAR>...The.function
68580 20 70 6f 69 6e 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 56 41 52 3e 63 6f 6d .pointed.to..........by.<VAR>com
685a0 70 61 72 3c 2f 56 41 52 3e 20 69 73 20 75 73 65 64 20 64 65 63 69 64 65 20 77 68 65 74 68 65 72 par</VAR>.is.used.decide.whether
685c0 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 6d 61 74 63 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 .two.elements.match...........<b
685e0 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 r><br>.The.return.value.is.a.poi
68600 6e 74 65 72 20 74 6f 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 6e 20 nter.to.the.matching.element.in.
68620 74 68 65 20 61 72 72 61 79 0a 20 20 20 20 20 20 20 20 20 73 74 61 72 74 69 6e 67 20 61 74 20 3c the.array..........starting.at.<
68640 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 20 69 66 20 69 74 20 69 73 20 66 6f 75 6e 64 2e 20 20 VAR>base</VAR>.if.it.is.found...
68660 49 66 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 73 0a 20 20 20 20 20 20 If.no.matching.element.is.......
68680 20 20 20 61 76 61 69 6c 61 62 6c 65 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 69 ...available.<CODE>NULL</CODE>.i
686a0 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 s.returned...........<br><br>.Th
686c0 65 20 6d 65 61 6e 20 72 75 6e 74 69 6d 65 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 e.mean.runtime.of.this.function.
686e0 69 73 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 6e 6d 65 6d 62 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 is.<CODE>*<VAR>nmemb</VAR></CODE
68700 3e 2f 32 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f >/2...This..........function.sho
68720 75 6c 64 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 69 66 20 65 6c 65 6d 65 6e 74 73 20 6f 66 74 uld.only.be.used.if.elements.oft
68740 65 6e 20 67 65 74 20 61 64 64 65 64 20 74 6f 20 6f 72 20 64 65 6c 65 74 65 64 20 66 72 6f 6d 0a en.get.added.to.or.deleted.from.
68760 20 20 20 20 20 20 20 20 20 74 68 65 20 61 72 72 61 79 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 .........the.array.in.which.case
68780 20 69 74 20 6d 69 67 68 74 20 6e 6f 74 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 73 6f 72 74 20 .it.might.not.be.useful.to.sort.
687a0 74 68 65 20 61 72 72 61 79 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 73 65 61 72 63 68 the.array.before..........search
687c0 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 08 ing..........sq.~......w.....t..
687e0 73 74 64 6c 69 62 2e 68 74 00 08 73 65 61 72 63 68 2e 68 78 71 00 7e 10 e5 74 00 4f 63 6f 6e 73 stdlib.ht..search.hxq.~..t.Ocons
68800 74 20 76 6f 69 64 20 2a 6b 65 79 2c 20 76 6f 69 64 20 2a 62 61 73 65 2c 20 73 69 7a 65 5f 74 20 t.void.*key,.void.*base,.size_t.
68820 2a 6e 6d 65 6d 62 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 63 6f 6d 70 61 72 69 73 6f 6e 5f *nmemb,.size_t.size,.comparison_
68840 66 6e 5f 74 20 63 6f 6d 70 61 72 74 00 06 76 6f 69 64 20 2a 74 00 06 6c 67 61 6d 6d 61 73 71 00 fn_t.compart..void.*t..lgammasq.
68860 7e 00 0a 70 74 04 36 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f ~..pt.6.........<CODE>lgamma</CO
68880 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 DE>.returns.the.natural.logarith
688a0 6d 20 6f 66 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 m.of.the.absolute.value.of......
688c0 20 20 20 20 74 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 3c 56 41 52 3e 78 ....the.gamma.function.of.<VAR>x
688e0 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 </VAR>...The.gamma.function.is.d
68900 65 66 69 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 efined.as.......................
68920 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 67 61 6d 6d 61 20 .......<pre><br>..........gamma.
68940 28 78 29 20 3d 20 69 6e 74 65 67 72 61 6c 20 66 72 6f 6d 20 30 20 74 6f 20 69 6e 66 69 6e 69 74 (x).=.integral.from.0.to.infinit
68960 79 7b 7d 20 6f 66 20 74 5e 28 78 2d 31 29 20 65 5e 2d 74 20 64 74 3c 62 72 3e 0a 20 20 20 20 20 y{}.of.t^(x-1).e^-t.dt<br>......
68980 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 ....</pre><br>..........<br>....
689a0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 ......<br><br>.<br>..........The
689c0 20 73 69 67 6e 20 6f 66 20 74 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 .sign.of.the.gamma.function.is.s
689e0 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 3c 62 72 3e tored.in.the.global.variable<br>
68a00 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 67 6e 67 61 6d 3c 2f 56 41 52 3e 2c 20 77 68 ..........<VAR>signgam</VAR>,.wh
68a20 69 63 68 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 6d 61 74 68 2e 68 3c 2f 54 ich.is.declared.in.<TT>math.h</T
68a40 54 3e 2e 20 20 49 74 20 69 73 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 69 66 3c 62 72 3e T>...It.is.<CODE>1</CODE>.if<br>
68a60 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c ..........the.intermediate.resul
68a80 74 20 77 61 73 20 70 6f 73 69 74 69 76 65 20 6f 72 20 7a 65 72 6f 2c 20 6f 72 20 3c 43 4f 44 45 t.was.positive.or.zero,.or.<CODE
68aa0 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 66 20 69 74 20 77 61 73 3c 62 72 3e 0a 20 20 20 20 20 20 20 >-1</CODE>.if.it.was<br>........
68ac0 20 20 6e 65 67 61 74 69 76 65 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ..negative.<br>..........<br><br
68ae0 3e 20 54 6f 20 63 6f 6d 70 75 74 65 20 74 68 65 20 72 65 61 6c 20 67 61 6d 6d 61 20 66 75 6e 63 >.To.compute.the.real.gamma.func
68b00 74 69 6f 6e 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 3c 43 4f 44 45 3e 74 67 61 6d 6d tion.you.can.use.the.<CODE>tgamm
68b20 61 3c 2f 43 4f 44 45 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6f a</CODE><br>..........function.o
68b40 72 20 79 6f 75 20 63 61 6e 20 63 6f 6d 70 75 74 65 20 74 68 65 20 76 61 6c 75 65 73 20 61 73 20 r.you.can.compute.the.values.as.
68b60 66 6f 6c 6c 6f 77 73 3a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a follows:<br>..........<pre><br>.
68b80 20 20 20 20 20 20 20 20 20 6c 67 61 6d 20 3d 20 6c 67 61 6d 6d 61 28 78 29 3b 3c 62 72 3e 0a 20 .........lgam.=.lgamma(x);<br>..
68ba0 20 20 20 20 20 20 20 20 67 61 6d 20 20 3d 20 73 69 67 6e 67 61 6d 2a 65 78 70 28 6c 67 61 6d 29 ........gam..=.signgam*exp(lgam)
68bc0 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c ;<br>..........</pre>..........<
68be0 62 72 3e 3c 62 72 3e 20 54 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 73 br><br>.The.gamma.function.has.s
68c00 69 6e 67 75 6c 61 72 69 74 69 65 73 20 61 74 20 74 68 65 20 6e 6f 6e 2d 70 6f 73 69 74 69 76 65 ingularities.at.the.non-positive
68c20 20 69 6e 74 65 67 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 .integers...........<CODE>lgamma
68c40 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 72 61 69 73 65 20 74 68 65 20 7a 65 72 6f 20 64 69 76 69 </CODE>.will.raise.the.zero.divi
68c60 64 65 20 65 78 63 65 70 74 69 6f 6e 20 69 66 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 61 0a 20 de.exception.if.evaluated.at.a..
68c80 20 20 20 20 20 20 20 20 73 69 6e 67 75 6c 61 72 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 ........singularity..........sq.
68ca0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 ed 74 00 08 64 ~......w.....t..math.hxq.~..t..d
68cc0 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 08 6c 67 61 6d 6d 61 5f 72 73 71 00 7e 00 ouble.xt..doublet..lgamma_rsq.~.
68ce0 0a 70 74 01 06 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 5f 72 3c 2f 43 4f .pt...........<CODE>lgamma_r</CO
68d00 44 45 3e 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 DE>.is.just.like.<CODE>lgamma</C
68d20 4f 44 45 3e 2c 20 62 75 74 20 69 74 20 73 74 6f 72 65 73 20 74 68 65 20 73 69 67 6e 20 6f 66 0a ODE>,.but.it.stores.the.sign.of.
68d40 20 20 20 20 20 20 20 20 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 .........the.intermediate.result
68d60 20 69 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c .in.the.variable.pointed.to.by.<
68d80 56 41 52 3e 73 69 67 6e 70 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 VAR>signp</VAR>..........instead
68da0 20 6f 66 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 73 69 67 6e 67 61 6d 3c 2f 56 41 52 3e 20 67 6c .of.in.the.<VAR>signgam</VAR>.gl
68dc0 6f 62 61 6c 2e 20 20 54 68 69 73 20 6d 65 61 6e 73 20 69 74 20 69 73 20 72 65 65 6e 74 72 61 6e obal...This.means.it.is.reentran
68de0 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 t..........sq.~......w.....t..ma
68e00 74 68 2e 68 78 71 00 7e 10 f4 74 00 14 64 6f 75 62 6c 65 20 78 2c 20 69 6e 74 20 2a 73 69 67 6e th.hxq.~..t..double.x,.int.*sign
68e20 70 74 00 06 64 6f 75 62 6c 65 74 00 07 6c 67 61 6d 6d 61 66 73 71 00 7e 00 0a 70 74 04 36 0a 20 pt..doublet..lgammafsq.~..pt.6..
68e40 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 .......<CODE>lgamma</CODE>.retur
68e60 6e 73 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 74 68 65 20 ns.the.natural.logarithm.of.the.
68e80 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 67 absolute.value.of..........the.g
68ea0 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 amma.function.of.<VAR>x</VAR>...
68ec0 54 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 The.gamma.function.is.defined.as
68ee0 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 70 ..............................<p
68f00 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 67 61 6d 6d 61 20 28 78 29 20 3d 20 69 6e 74 re><br>..........gamma.(x).=.int
68f20 65 67 72 61 6c 20 66 72 6f 6d 20 30 20 74 6f 20 69 6e 66 69 6e 69 74 79 7b 7d 20 6f 66 20 74 5e egral.from.0.to.infinity{}.of.t^
68f40 28 78 2d 31 29 20 65 5e 2d 74 20 64 74 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 (x-1).e^-t.dt<br>..........</pre
68f60 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ><br>..........<br>..........<br
68f80 3e 3c 62 72 3e 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 69 67 6e 20 6f 66 20 ><br>.<br>..........The.sign.of.
68fa0 74 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 the.gamma.function.is.stored.in.
68fc0 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 the.global.variable<br>.........
68fe0 20 3c 56 41 52 3e 73 69 67 6e 67 61 6d 3c 2f 56 41 52 3e 2c 20 77 68 69 63 68 20 69 73 20 64 65 .<VAR>signgam</VAR>,.which.is.de
69000 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 6d 61 74 68 2e 68 3c 2f 54 54 3e 2e 20 20 49 74 20 69 clared.in.<TT>math.h</TT>...It.i
69020 73 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 69 66 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 s.<CODE>1</CODE>.if<br>.........
69040 20 74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 20 77 61 73 20 70 6f 73 .the.intermediate.result.was.pos
69060 69 74 69 76 65 20 6f 72 20 7a 65 72 6f 2c 20 6f 72 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 itive.or.zero,.or.<CODE>-1</CODE
69080 3e 20 69 66 20 69 74 20 77 61 73 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6e 65 67 61 74 69 76 >.if.it.was<br>..........negativ
690a0 65 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 63 6f 6d 70 e.<br>..........<br><br>.To.comp
690c0 75 74 65 20 74 68 65 20 72 65 61 6c 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 79 6f 75 20 ute.the.real.gamma.function.you.
690e0 63 61 6e 20 75 73 65 20 74 68 65 20 3c 43 4f 44 45 3e 74 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 3c can.use.the.<CODE>tgamma</CODE><
69100 62 72 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 79 6f 75 20 63 61 6e br>..........function.or.you.can
69120 20 63 6f 6d 70 75 74 65 20 74 68 65 20 76 61 6c 75 65 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 3c .compute.the.values.as.follows:<
69140 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 br>..........<pre><br>..........
69160 6c 67 61 6d 20 3d 20 6c 67 61 6d 6d 61 28 78 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 67 lgam.=.lgamma(x);<br>..........g
69180 61 6d 20 20 3d 20 73 69 67 6e 67 61 6d 2a 65 78 70 28 6c 67 61 6d 29 3b 3c 62 72 3e 0a 20 20 20 am..=.signgam*exp(lgam);<br>....
691a0 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 ......</pre>..........<br><br>.T
691c0 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 73 69 6e 67 75 6c 61 72 69 74 he.gamma.function.has.singularit
691e0 69 65 73 20 61 74 20 74 68 65 20 6e 6f 6e 2d 70 6f 73 69 74 69 76 65 20 69 6e 74 65 67 65 72 73 ies.at.the.non-positive.integers
69200 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 77 ...........<CODE>lgamma</CODE>.w
69220 69 6c 6c 20 72 61 69 73 65 20 74 68 65 20 7a 65 72 6f 20 64 69 76 69 64 65 20 65 78 63 65 70 74 ill.raise.the.zero.divide.except
69240 69 6f 6e 20 69 66 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 61 0a 20 20 20 20 20 20 20 20 20 73 ion.if.evaluated.at.a..........s
69260 69 6e 67 75 6c 61 72 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ingularity..........sq.~......w.
69280 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 10 fb 74 00 07 66 6c 6f 61 74 20 78 74 00 05 ....t..math.hxq.~..t..float.xt..
692a0 66 6c 6f 61 74 74 00 09 6c 67 61 6d 6d 61 66 5f 72 73 71 00 7e 00 0a 70 74 01 06 0a 20 20 20 20 floatt..lgammaf_rsq.~..pt.......
692c0 20 20 20 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 5f 72 3c 2f 43 4f 44 45 3e 20 69 73 20 6a 75 73 ....<CODE>lgamma_r</CODE>.is.jus
692e0 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 t.like.<CODE>lgamma</CODE>,.but.
69300 69 74 20 73 74 6f 72 65 73 20 74 68 65 20 73 69 67 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 it.stores.the.sign.of..........t
69320 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 76 61 he.intermediate.result.in.the.va
69340 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 73 69 67 6e 70 3c riable.pointed.to.by.<VAR>signp<
69360 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 69 6e 20 74 68 65 /VAR>..........instead.of.in.the
69380 20 3c 56 41 52 3e 73 69 67 6e 67 61 6d 3c 2f 56 41 52 3e 20 67 6c 6f 62 61 6c 2e 20 20 54 68 69 .<VAR>signgam</VAR>.global...Thi
693a0 73 20 6d 65 61 6e 73 20 69 74 20 69 73 20 72 65 65 6e 74 72 61 6e 74 2e 0a 20 20 20 20 20 20 20 s.means.it.is.reentrant.........
693c0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 02 .sq.~......w.....t..math.hxq.~..
693e0 74 00 13 66 6c 6f 61 74 20 78 2c 20 69 6e 74 20 2a 73 69 67 6e 70 74 00 05 66 6c 6f 61 74 74 00 t..float.x,.int.*signpt..floatt.
69400 07 6c 67 61 6d 6d 61 6c 73 71 00 7e 00 0a 70 74 04 36 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 .lgammalsq.~..pt.6.........<CODE
69420 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 61 74 75 72 >lgamma</CODE>.returns.the.natur
69440 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c al.logarithm.of.the.absolute.val
69460 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f ue.of..........the.gamma.functio
69480 6e 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 67 61 6d 6d 61 20 66 75 n.of.<VAR>x</VAR>...The.gamma.fu
694a0 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 0a 20 nction.is.defined.as............
694c0 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 ..................<pre><br>.....
694e0 20 20 20 20 20 67 61 6d 6d 61 20 28 78 29 20 3d 20 69 6e 74 65 67 72 61 6c 20 66 72 6f 6d 20 30 .....gamma.(x).=.integral.from.0
69500 20 74 6f 20 69 6e 66 69 6e 69 74 79 7b 7d 20 6f 66 20 74 5e 28 78 2d 31 29 20 65 5e 2d 74 20 64 .to.infinity{}.of.t^(x-1).e^-t.d
69520 74 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 t<br>..........</pre><br>.......
69540 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 0a 20 ...<br>..........<br><br>.<br>..
69560 20 20 20 20 20 20 20 20 54 68 65 20 73 69 67 6e 20 6f 66 20 74 68 65 20 67 61 6d 6d 61 20 66 75 ........The.sign.of.the.gamma.fu
69580 6e 63 74 69 6f 6e 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 nction.is.stored.in.the.global.v
695a0 61 72 69 61 62 6c 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 67 6e 67 61 ariable<br>..........<VAR>signga
695c0 6d 3c 2f 56 41 52 3e 2c 20 77 68 69 63 68 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 m</VAR>,.which.is.declared.in.<T
695e0 54 3e 6d 61 74 68 2e 68 3c 2f 54 54 3e 2e 20 20 49 74 20 69 73 20 3c 43 4f 44 45 3e 31 3c 2f 43 T>math.h</TT>...It.is.<CODE>1</C
69600 4f 44 45 3e 20 69 66 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 69 6e 74 65 72 6d 65 ODE>.if<br>..........the.interme
69620 64 69 61 74 65 20 72 65 73 75 6c 74 20 77 61 73 20 70 6f 73 69 74 69 76 65 20 6f 72 20 7a 65 72 diate.result.was.positive.or.zer
69640 6f 2c 20 6f 72 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 66 20 69 74 20 77 61 73 3c o,.or.<CODE>-1</CODE>.if.it.was<
69660 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6e 65 67 61 74 69 76 65 2e 3c 62 72 3e 0a 20 20 20 20 20 br>..........negative.<br>......
69680 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 63 6f 6d 70 75 74 65 20 74 68 65 20 72 65 61 6c ....<br><br>.To.compute.the.real
696a0 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 .gamma.function.you.can.use.the.
696c0 3c 43 4f 44 45 3e 74 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 <CODE>tgamma</CODE><br>.........
696e0 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 79 6f 75 20 63 61 6e 20 63 6f 6d 70 75 74 65 20 74 68 65 .function.or.you.can.compute.the
69700 20 76 61 6c 75 65 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 .values.as.follows:<br>.........
69720 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6c 67 61 6d 20 3d 20 6c 67 61 6d 6d .<pre><br>..........lgam.=.lgamm
69740 61 28 78 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 67 61 6d 20 20 3d 20 73 69 67 6e 67 61 a(x);<br>..........gam..=.signga
69760 6d 2a 65 78 70 28 6c 67 61 6d 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e m*exp(lgam);<br>..........</pre>
69780 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 67 61 6d 6d 61 20 66 75 6e ..........<br><br>.The.gamma.fun
697a0 63 74 69 6f 6e 20 68 61 73 20 73 69 6e 67 75 6c 61 72 69 74 69 65 73 20 61 74 20 74 68 65 20 6e ction.has.singularities.at.the.n
697c0 6f 6e 2d 70 6f 73 69 74 69 76 65 20 69 6e 74 65 67 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c on-positive.integers...........<
697e0 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 72 61 69 73 65 20 74 68 CODE>lgamma</CODE>.will.raise.th
69800 65 20 7a 65 72 6f 20 64 69 76 69 64 65 20 65 78 63 65 70 74 69 6f 6e 20 69 66 20 65 76 61 6c 75 e.zero.divide.exception.if.evalu
69820 61 74 65 64 20 61 74 20 61 0a 20 20 20 20 20 20 20 20 20 73 69 6e 67 75 6c 61 72 69 74 79 2e 0a ated.at.a..........singularity..
69840 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e ........sq.~......w.....t..math.
69860 68 78 71 00 7e 11 09 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 hxq.~..t..long.double.xt..long.d
69880 6f 75 62 6c 65 74 00 09 6c 67 61 6d 6d 61 6c 5f 72 73 71 00 7e 00 0a 70 74 01 06 0a 20 20 20 20 oublet..lgammal_rsq.~..pt.......
698a0 20 20 20 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 5f 72 3c 2f 43 4f 44 45 3e 20 69 73 20 6a 75 73 ....<CODE>lgamma_r</CODE>.is.jus
698c0 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 6c 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 t.like.<CODE>lgamma</CODE>,.but.
698e0 69 74 20 73 74 6f 72 65 73 20 74 68 65 20 73 69 67 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 it.stores.the.sign.of..........t
69900 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 76 61 he.intermediate.result.in.the.va
69920 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 73 69 67 6e 70 3c riable.pointed.to.by.<VAR>signp<
69940 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 69 6e 20 74 68 65 /VAR>..........instead.of.in.the
69960 20 3c 56 41 52 3e 73 69 67 6e 67 61 6d 3c 2f 56 41 52 3e 20 67 6c 6f 62 61 6c 2e 20 20 54 68 69 .<VAR>signgam</VAR>.global...Thi
69980 73 20 6d 65 61 6e 73 20 69 74 20 69 73 20 72 65 65 6e 74 72 61 6e 74 2e 0a 20 20 20 20 20 20 20 s.means.it.is.reentrant.........
699a0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 10 .sq.~......w.....t..math.hxq.~..
699c0 74 00 19 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 2c 20 69 6e 74 20 2a 73 69 67 6e 70 74 00 0b 6c t..long.double.x,.int.*signpt..l
699e0 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 6c 69 6e 6b 73 71 00 7e 00 0a 70 74 08 62 0a 20 20 20 20 ong.doublet..linksq.~..pt.b.....
69a00 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 ....The.<CODE>link</CODE>.functi
69a20 6f 6e 20 6d 61 6b 65 73 20 61 20 6e 65 77 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 65 78 69 73 74 on.makes.a.new.link.to.the.exist
69a40 69 6e 67 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e ing.file.named.by..........<VAR>
69a60 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 2c 20 75 6e 64 65 72 20 74 68 65 20 6e 65 77 20 6e 61 6d oldname</VAR>,.under.the.new.nam
69a80 65 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c e.<VAR>newname</VAR>...........<
69aa0 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 br><br>.This.function.returns.a.
69ac0 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 69 74 20 69 73 value.of.<CODE>0</CODE>.if.it.is
69ae0 20 73 75 63 63 65 73 73 66 75 6c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d .successful.and..........<CODE>-
69b00 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 1</CODE>.on.failure...In.additio
69b20 6e 20 74 6f 20 74 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 6e 61 6d 65 20 65 72 72 6f 72 73 0a n.to.the.usual.file.name.errors.
69b40 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 62 6f 74 68 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c ..........for.both.<VAR>oldname<
69b60 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 2c 20 74 68 /VAR>.and.<VAR>newname</VAR>,.th
69b80 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f e..........following.<CODE>errno
69ba0 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 </CODE>.error.conditions.are.def
69bc0 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 ined.for.this.function:.........
69be0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f .<br><br>.<DL>...........<DT><CO
69c00 44 45 3e 45 41 43 43 45 53 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 61 DE>EACCES..........You.are.not.a
69c20 6c 6c 6f 77 65 64 20 74 6f 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 llowed.to.write.to.the.directory
69c40 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 6e 65 77 20 6c 69 6e 6b 20 69 73 3c 2f 43 4f 44 45 3e .in.which.the.new.link.is</CODE>
69c60 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 62 65 20 77 72 69 74 74 65 6e 2e 0a 20 20 .<DD>..........to.be.written....
69c80 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 .................<br><br>.<DT><C
69ca0 4f 44 45 3e 45 45 58 49 53 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 ODE>EEXIST</CODE>.<DD>..........
69cc0 54 68 65 72 65 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 3c 56 There.is.already.a.file.named.<V
69ce0 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 AR>newname</VAR>...If.you.want.t
69d00 6f 20 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 6c 69 6e 6b 20 77 69 74 o.replace..........this.link.wit
69d20 68 20 61 20 6e 65 77 20 6c 69 6e 6b 2c 20 79 6f 75 20 6d 75 73 74 20 72 65 6d 6f 76 65 20 74 68 h.a.new.link,.you.must.remove.th
69d40 65 20 6f 6c 64 20 6c 69 6e 6b 20 65 78 70 6c 69 63 69 74 6c 79 20 66 69 72 73 74 2e 0a 20 20 20 e.old.link.explicitly.first.....
69d60 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4d 4c 49 4e 4b 3c ......<br><br>.<DT><CODE>EMLINK<
69d80 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 /CODE>.<DD>..........There.are.a
69da0 6c 72 65 61 64 79 20 74 6f 6f 20 6d 61 6e 79 20 6c 69 6e 6b 73 20 74 6f 20 74 68 65 20 66 69 6c lready.too.many.links.to.the.fil
69dc0 65 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 e.named.by.<VAR>oldname</VAR>...
69de0 20 20 20 20 20 20 20 20 28 54 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 6c ........(The.maximum.number.of.l
69e00 69 6e 6b 73 20 74 6f 20 61 20 66 69 6c 65 20 69 73 20 3c 43 4f 44 45 3e 4c 49 4e 4b 5f 4d 41 58 inks.to.a.file.is.<CODE>LINK_MAX
69e20 3c 2f 43 4f 44 45 3e 3b 20 73 65 65 0a 20 20 20 20 20 20 20 20 20 4c 69 6d 69 74 73 20 66 6f 72 </CODE>;.see..........Limits.for
69e40 20 46 69 6c 65 73 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c .Files.)..........<br><br>.<DT><
69e60 43 4f 44 45 3e 45 4e 4f 45 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 CODE>ENOENT</CODE>.<DD>.........
69e80 20 54 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c .The.file.named.by.<VAR>oldname<
69ea0 2f 56 41 52 3e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 20 20 59 6f 75 20 63 61 6e 27 74 20 /VAR>.doesn't.exist...You.can't.
69ec0 6d 61 6b 65 20 61 20 6c 69 6e 6b 20 74 6f 0a 20 20 20 20 20 20 20 20 20 61 20 66 69 6c 65 20 74 make.a.link.to..........a.file.t
69ee0 68 61 74 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e hat.doesn't.exist...........<br>
69f00 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 50 43 0a 20 20 20 20 20 20 20 20 20 54 <br>.<DT><CODE>ENOSPC..........T
69f20 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 66 69 6c 65 20 73 79 73 74 65 6d 20 74 68 61 74 he.directory.or.file.system.that
69f40 20 77 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 6e 65 77 20 6c 69 6e 6b 20 69 73 20 66 .would.contain.the.new.link.is.f
69f60 75 6c 6c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 63 61 6e ull</CODE>.<DD>..........and.can
69f80 6e 6f 74 20 62 65 20 65 78 74 65 6e 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 not.be.extended...........<br><b
69fa0 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 r>.<DT><CODE>EPERM</CODE>.<DD>..
69fc0 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d 20 61 6e 64 20 73 6f ........In.the.GNU.system.and.so
69fe0 6d 65 20 6f 74 68 65 72 73 2c 20 79 6f 75 20 63 61 6e 6e 6f 74 20 6d 61 6b 65 20 6c 69 6e 6b 73 me.others,.you.cannot.make.links
6a000 20 74 6f 20 64 69 72 65 63 74 6f 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 6e 79 20 73 .to.directories...........Many.s
6a020 79 73 74 65 6d 73 20 61 6c 6c 6f 77 20 6f 6e 6c 79 20 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 ystems.allow.only.privileged.use
6a040 72 73 20 74 6f 20 64 6f 20 73 6f 2e 20 20 54 68 69 73 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 rs.to.do.so...This.error........
6a060 20 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 70 6f 72 74 20 74 68 65 20 70 72 6f 62 6c 65 6d 2e ..is.used.to.report.the.problem.
6a080 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 4f ..........<br><br>.<DT><CODE>ERO
6a0a0 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 69 72 65 FS</CODE>.<DD>..........The.dire
6a0c0 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6e 65 77 20 6c 69 6e 6b 20 63 61 ctory.containing.the.new.link.ca
6a0e0 6e 27 74 20 62 65 20 6d 6f 64 69 66 69 65 64 20 62 65 63 61 75 73 65 20 69 74 27 73 20 6f 6e 0a n't.be.modified.because.it's.on.
6a100 20 20 20 20 20 20 20 20 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c 65 20 73 79 73 74 65 6d .........a.read-only.file.system
6a120 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 58 ...........<br><br>.<DT><CODE>EX
6a140 44 45 56 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 73 70 65 63 69 DEV..........The.directory.speci
6a160 66 69 65 64 20 69 6e 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 6f 6e fied.in.<VAR>newname</VAR>.is.on
6a180 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20 73 79 73 74 65 6d 3c 2f 43 4f 44 45 3e 0a .a.different.file.system</CODE>.
6a1a0 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 <DD>..........than.the.existing.
6a1c0 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 file...........<br><br>.<DT><COD
6a1e0 45 3e 45 49 4f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 20 68 61 72 E>EIO</CODE>.<DD>..........A.har
6a200 64 77 61 72 65 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 77 68 69 6c 65 20 74 72 79 69 6e dware.error.occurred.while.tryin
6a220 67 20 74 6f 20 72 65 61 64 20 6f 72 20 77 72 69 74 65 20 74 68 65 20 74 6f 20 66 69 6c 65 73 79 g.to.read.or.write.the.to.filesy
6a240 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 stem...........</DL>.........sq.
6a260 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 11 17 74 00 ~......w.....t..unistd.hxq.~..t.
6a280 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 6c 64 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 (const.char.*oldname,.const.char
6a2a0 20 2a 6e 65 77 6e 61 6d 65 74 00 03 69 6e 74 74 00 0a 6c 69 6f 5f 6c 69 73 74 69 6f 73 71 00 7e .*newnamet..intt..lio_listiosq.~
6a2c0 00 0a 70 74 13 ae 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6c 69 6f 5f 6c 69 73 ..pt...........The.<CODE>lio_lis
6a2e0 74 69 6f 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 tio</CODE>.function.can.be.used.
6a300 74 6f 20 65 6e 71 75 65 75 65 20 61 6e 20 61 72 62 69 74 72 61 72 79 0a 20 20 20 20 20 20 20 20 to.enqueue.an.arbitrary.........
6a320 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20 72 65 71 75 65 73 .number.of.read.and.write.reques
6a340 74 73 20 61 74 20 6f 6e 65 20 74 69 6d 65 2e 20 20 54 68 65 20 72 65 71 75 65 73 74 73 20 63 61 ts.at.one.time...The.requests.ca
6a360 6e 20 61 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 6d 65 61 6e 74 20 66 6f 72 20 74 68 65 20 n.all.be..........meant.for.the.
6a380 73 61 6d 65 20 66 69 6c 65 2c 20 61 6c 6c 20 66 6f 72 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c same.file,.all.for.different.fil
6a3a0 65 73 20 6f 72 20 65 76 65 72 79 20 73 6f 6c 75 74 69 6f 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 es.or.every.solution.in.........
6a3c0 20 62 65 74 77 65 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 .between...........<br><br>.<COD
6a3e0 45 3e 6c 69 6f 5f 6c 69 73 74 69 6f 3c 2f 43 4f 44 45 3e 20 67 65 74 73 20 74 68 65 20 3c 56 41 E>lio_listio</CODE>.gets.the.<VA
6a400 52 3e 6e 65 6e 74 3c 2f 56 41 52 3e 20 72 65 71 75 65 73 74 73 20 66 72 6f 6d 20 74 68 65 20 61 R>nent</VAR>.requests.from.the.a
6a420 72 72 61 79 20 70 6f 69 6e 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 56 41 52 rray.pointed.to..........by.<VAR
6a440 3e 6c 69 73 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 62 >list</VAR>...The.operation.to.b
6a460 65 20 70 65 72 66 6f 72 6d 65 64 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 e.performed.is.determined.by.the
6a480 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 5f 6c 69 6f 5f 6f 70 63 6f 64 65 3c 2f ..........<CODE>aio_lio_opcode</
6a4a0 43 4f 44 45 3e 20 6d 65 6d 62 65 72 20 69 6e 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 CODE>.member.in.each.element.of.
6a4c0 3c 56 41 52 3e 6c 69 73 74 3c 2f 56 41 52 3e 2e 20 20 49 66 20 74 68 69 73 0a 20 20 20 20 20 20 <VAR>list</VAR>...If.this.......
6a4e0 20 20 20 66 69 65 6c 64 20 69 73 20 3c 43 4f 44 45 3e 4c 49 4f 5f 52 45 41 44 3c 2f 43 4f 44 45 ...field.is.<CODE>LIO_READ</CODE
6a500 3e 20 61 20 72 65 61 64 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 65 6e 71 75 65 75 65 64 2c 20 >.a.read.operation.is.enqueued,.
6a520 73 69 6d 69 6c 61 72 20 74 6f 20 61 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 6f 66 20 3c 43 similar.to.a.call..........of.<C
6a540 4f 44 45 3e 61 69 6f 5f 72 65 61 64 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 74 68 69 73 20 65 6c 65 ODE>aio_read</CODE>.for.this.ele
6a560 6d 65 6e 74 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 28 65 78 63 65 70 74 20 74 68 61 74 20 74 ment.of.the.array.(except.that.t
6a580 68 65 20 77 61 79 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6f 6e 20 he.way..........the.termination.
6a5a0 69 73 20 73 69 67 6e 61 6c 6c 65 64 20 69 73 20 64 69 66 66 65 72 65 6e 74 2c 20 61 73 20 77 65 is.signalled.is.different,.as.we
6a5c0 20 77 69 6c 6c 20 73 65 65 20 62 65 6c 6f 77 29 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 74 .will.see.below)...If..........t
6a5e0 68 65 20 3c 43 4f 44 45 3e 61 69 6f 5f 6c 69 6f 5f 6f 70 63 6f 64 65 3c 2f 43 4f 44 45 3e 20 6d he.<CODE>aio_lio_opcode</CODE>.m
6a600 65 6d 62 65 72 20 69 73 20 3c 43 4f 44 45 3e 4c 49 4f 5f 57 52 49 54 45 3c 2f 43 4f 44 45 3e 20 ember.is.<CODE>LIO_WRITE</CODE>.
6a620 61 20 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 73 20 65 6e a.write.operation..........is.en
6a640 71 75 65 75 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 3c 43 4f 44 45 3e 61 69 6f queued...Otherwise.the.<CODE>aio
6a660 5f 6c 69 6f 5f 6f 70 63 6f 64 65 3c 2f 43 4f 44 45 3e 20 6d 75 73 74 20 62 65 20 3c 43 4f 44 45 _lio_opcode</CODE>.must.be.<CODE
6a680 3e 4c 49 4f 5f 4e 4f 50 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 77 68 69 63 >LIO_NOP</CODE>..........in.whic
6a6a0 68 20 63 61 73 65 20 74 68 69 73 20 65 6c 65 6d 65 6e 74 20 6f 66 20 3c 56 41 52 3e 6c 69 73 74 h.case.this.element.of.<VAR>list
6a6c0 3c 2f 56 41 52 3e 20 69 73 20 73 69 6d 70 6c 79 20 69 67 6e 6f 72 65 64 2e 20 20 54 68 69 73 0a </VAR>.is.simply.ignored...This.
6a6e0 20 20 20 20 20 20 20 20 20 60 60 6f 70 65 72 61 74 69 6f 6e 27 27 20 69 73 20 75 73 65 66 75 6c .........``operation''.is.useful
6a700 20 69 6e 20 73 69 74 75 61 74 69 6f 6e 73 20 77 68 65 72 65 20 6f 6e 65 20 68 61 73 20 61 20 66 .in.situations.where.one.has.a.f
6a720 69 78 65 64 20 61 72 72 61 79 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 ixed.array.of..........<CODE>str
6a740 75 63 74 20 61 69 6f 63 62 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 77 uct.aiocb</CODE>.elements.from.w
6a760 68 69 63 68 20 6f 6e 6c 79 20 61 20 66 65 77 20 6e 65 65 64 20 74 6f 20 62 65 20 68 61 6e 64 6c hich.only.a.few.need.to.be.handl
6a780 65 64 20 61 74 0a 20 20 20 20 20 20 20 20 20 61 20 74 69 6d 65 2e 20 20 41 6e 6f 74 68 65 72 20 ed.at..........a.time...Another.
6a7a0 73 69 74 75 61 74 69 6f 6e 20 69 73 20 77 68 65 72 65 20 74 68 65 20 3c 43 4f 44 45 3e 6c 69 6f situation.is.where.the.<CODE>lio
6a7c0 5f 6c 69 73 74 69 6f 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 77 61 73 0a 20 20 20 20 20 20 20 20 _listio</CODE>.call.was.........
6a7e0 20 63 61 6e 63 65 6c 65 64 20 62 65 66 6f 72 65 20 61 6c 6c 20 72 65 71 75 65 73 74 73 20 61 72 .canceled.before.all.requests.ar
6a800 65 20 70 72 6f 63 65 73 73 65 64 20 20 61 6e 64 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 72 e.processed..and.the.remaining.r
6a820 65 71 75 65 73 74 73 20 68 61 76 65 20 74 6f 20 62 65 20 72 65 69 73 73 75 65 64 2e 0a 20 20 20 equests.have.to.be.reissued.....
6a840 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6f 74 68 65 72 20 6d 65 6d 62 65 72 73 ......<br><br>.The.other.members
6a860 20 6f 66 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 70 6f .of.each.element.of.the.array.po
6a880 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 69 73 74 3c inted.to.by..........<CODE>list<
6a8a0 2f 43 4f 44 45 3e 20 6d 75 73 74 20 68 61 76 65 20 76 61 6c 75 65 73 20 73 75 69 74 61 62 6c 65 /CODE>.must.have.values.suitable
6a8c0 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 61 73 20 64 65 73 63 72 69 62 65 64 20 .for.the.operation.as.described.
6a8e0 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f in..........the.documentation.fo
6a900 72 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 61 64 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 r.<CODE>aio_read</CODE>.and.<COD
6a920 45 3e 61 69 6f 5f 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 E>aio_write</CODE>.above........
6a940 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 ...<br><br>.The.<VAR>mode</VAR>.
6a960 61 72 67 75 6d 65 6e 74 20 64 65 74 65 72 6d 69 6e 65 73 20 68 6f 77 20 3c 43 4f 44 45 3e 6c 69 argument.determines.how.<CODE>li
6a980 6f 5f 6c 69 73 74 69 6f 3c 2f 43 4f 44 45 3e 20 62 65 68 61 76 65 73 20 61 66 74 65 72 0a 20 20 o_listio</CODE>.behaves.after...
6a9a0 20 20 20 20 20 20 20 68 61 76 69 6e 67 20 65 6e 71 75 65 75 65 64 20 61 6c 6c 20 74 68 65 20 72 .......having.enqueued.all.the.r
6a9c0 65 71 75 65 73 74 73 2e 20 20 49 66 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 69 73 20 equests...If.<VAR>mode</VAR>.is.
6a9e0 3c 43 4f 44 45 3e 4c 49 4f 5f 57 41 49 54 3c 2f 43 4f 44 45 3e 20 69 74 0a 20 20 20 20 20 20 20 <CODE>LIO_WAIT</CODE>.it........
6aa00 20 20 77 61 69 74 73 20 75 6e 74 69 6c 20 61 6c 6c 20 72 65 71 75 65 73 74 73 20 74 65 72 6d 69 ..waits.until.all.requests.termi
6aa20 6e 61 74 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 nated...Otherwise.<VAR>mode</VAR
6aa40 3e 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 49 4f 5f 4e 4f 57 >.must.be..........<CODE>LIO_NOW
6aa60 41 49 54 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 AIT</CODE>.and.in.this.case.the.
6aa80 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 function.returns.immediately.aft
6aaa0 65 72 0a 20 20 20 20 20 20 20 20 20 68 61 76 69 6e 67 20 65 6e 71 75 65 75 65 64 20 61 6c 6c 20 er..........having.enqueued.all.
6aac0 74 68 65 20 72 65 71 75 65 73 74 73 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 the.requests...In.this.case.the.
6aae0 63 61 6c 6c 65 72 20 67 65 74 73 20 61 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 69 66 69 63 61 74 caller.gets.a..........notificat
6ab00 69 6f 6e 20 6f 66 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 72 65 ion.of.the.termination.of.all.re
6ab20 71 75 65 73 74 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 quests.according.to.the.........
6ab40 20 3c 56 41 52 3e 73 69 67 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 20 49 66 20 3c .<VAR>sig</VAR>.parameter...If.<
6ab60 56 41 52 3e 73 69 67 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 VAR>sig</VAR>.is.<CODE>NULL</COD
6ab80 45 3e 20 6e 6f 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 E>.no.notification.is..........s
6aba0 65 6e 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 61 20 73 69 67 6e 61 6c 20 69 73 20 73 65 6e 74 end...Otherwise.a.signal.is.sent
6abc0 20 6f 72 20 61 20 74 68 72 65 61 64 20 69 73 20 73 74 61 72 74 65 64 2c 20 6a 75 73 74 20 61 73 .or.a.thread.is.started,.just.as
6abe0 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 20 64 65 73 63 72 ..........described.in.the.descr
6ac00 69 70 74 69 6f 6e 20 66 6f 72 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 61 64 3c 2f 43 4f 44 45 3e iption.for.<CODE>aio_read</CODE>
6ac20 20 6f 72 20 3c 43 4f 44 45 3e 61 69 6f 5f 77 72 69 74 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 .or.<CODE>aio_write</CODE>......
6ac40 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e .....<br><br>.If.<VAR>mode</VAR>
6ac60 20 69 73 20 3c 43 4f 44 45 3e 4c 49 4f 5f 57 41 49 54 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 72 .is.<CODE>LIO_WAIT</CODE>,.the.r
6ac80 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 6c 69 6f 5f 6c 69 73 74 69 6f 3c eturn.value.of.<CODE>lio_listio<
6aca0 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 30 20 77 68 65 6e 20 61 6c 6c 20 72 65 /CODE>..........is.0.when.all.re
6acc0 71 75 65 73 74 73 20 63 6f 6d 70 6c 65 74 65 64 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 20 20 quests.completed.successfully...
6ace0 4f 74 68 65 72 77 69 73 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 Otherwise.the..........function.
6ad00 72 65 74 75 72 6e 20 2d 31 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e return.-1.and.<CODE>errno</CODE>
6ad20 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 54 6f 20 66 69 6e 64 0a 20 20 .is.set.accordingly...To.find...
6ad40 20 20 20 20 20 20 20 6f 75 74 20 77 68 69 63 68 20 72 65 71 75 65 73 74 20 6f 72 20 72 65 71 75 .......out.which.request.or.requ
6ad60 65 73 74 73 20 66 61 69 6c 65 64 20 6f 6e 65 20 68 61 73 20 74 6f 20 75 73 65 20 74 68 65 20 3c ests.failed.one.has.to.use.the.<
6ad80 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 CODE>aio_error</CODE>..........f
6ada0 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 6c 6c 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 unction.on.all.the.elements.of.t
6adc0 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e 6c 69 73 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 he.array.<VAR>list</VAR>........
6ade0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 63 61 73 65 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 ...<br><br>.In.case.<VAR>mode</V
6ae00 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 4c 49 4f 5f 4e 4f 57 41 49 54 3c 2f 43 4f 44 45 3e 2c 20 AR>.is.<CODE>LIO_NOWAIT</CODE>,.
6ae20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 30 20 69 66 0a 20 20 20 20 20 20 the.function.returns.0.if.......
6ae40 20 20 20 61 6c 6c 20 72 65 71 75 65 73 74 73 20 77 65 72 65 20 65 6e 71 75 65 75 65 64 20 63 6f ...all.requests.were.enqueued.co
6ae60 72 72 65 63 74 6c 79 2e 20 20 54 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 6f 66 20 74 rrectly...The.current.state.of.t
6ae80 68 65 20 72 65 71 75 65 73 74 73 0a 20 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 66 6f 75 6e he.requests..........can.be.foun
6aea0 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 61 d.using.<CODE>aio_error</CODE>.a
6aec0 6e 64 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 74 75 72 6e 3c 2f 43 4f 44 45 3e 20 61 73 20 64 65 nd.<CODE>aio_return</CODE>.as.de
6aee0 73 63 72 69 62 65 64 0a 20 20 20 20 20 20 20 20 20 61 62 6f 76 65 2e 20 20 49 66 20 3c 43 4f 44 scribed..........above...If.<COD
6af00 45 3e 6c 69 6f 5f 6c 69 73 74 69 6f 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 2d 31 20 69 E>lio_listio</CODE>.returns.-1.i
6af20 6e 20 74 68 69 73 20 6d 6f 64 65 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c n.this.mode,.the..........global
6af40 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 .variable.<CODE>errno</CODE>.is.
6af60 73 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 49 66 20 61 20 72 65 71 75 65 73 74 20 64 set.accordingly...If.a.request.d
6af80 69 64 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 79 65 74 20 74 65 72 6d 69 6e 61 74 65 2c 20 61 id.not..........yet.terminate,.a
6afa0 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 .call.to.<CODE>aio_error</CODE>.
6afc0 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 45 49 4e 50 52 4f 47 52 45 53 53 3c 2f 43 4f 44 45 3e returns.<CODE>EINPROGRESS</CODE>
6afe0 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 64 69 66 66 ...If..........the.value.is.diff
6b000 65 72 65 6e 74 2c 20 74 68 65 20 72 65 71 75 65 73 74 20 69 73 20 66 69 6e 69 73 68 65 64 20 61 erent,.the.request.is.finished.a
6b020 6e 64 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 nd.the.error.value.(or..........
6b040 30 29 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0).is.returned.and.the.result.of
6b060 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 72 65 74 72 69 65 76 65 64 0a .the.operation.can.be.retrieved.
6b080 20 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 61 69 6f 5f 72 65 74 75 72 6e 3c .........using.<CODE>aio_return<
6b0a0 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 73 73 69 62 /CODE>...........<br><br>.Possib
6b0c0 6c 65 20 76 61 6c 75 65 73 20 66 6f 72 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e le.values.for.<CODE>errno</CODE>
6b0e0 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 .are:..........<br><br>.<DL>....
6b100 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 47 41 49 4e 0a 20 20 20 20 20 20 20 20 .......<DT><CODE>EAGAIN.........
6b120 20 54 68 65 20 72 65 73 6f 75 72 63 65 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 71 75 65 75 .The.resources.necessary.to.queu
6b140 65 20 61 6c 6c 20 74 68 65 20 72 65 71 75 65 73 74 73 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c e.all.the.requests.are.not.avail
6b160 61 62 6c 65 20 61 74 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 able.at</CODE>.<DD>..........the
6b180 20 6d 6f 6d 65 6e 74 2e 20 20 54 68 65 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 66 6f 72 20 65 .moment...The.error.status.for.e
6b1a0 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 3c 56 41 52 3e 6c 69 73 74 3c 2f 56 41 52 3e 20 6d ach.element.of.<VAR>list</VAR>.m
6b1c0 75 73 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 65 64 20 74 6f 20 64 65 74 65 72 ust.be..........checked.to.deter
6b1e0 6d 69 6e 65 20 77 68 69 63 68 20 72 65 71 75 65 73 74 20 66 61 69 6c 65 64 2e 0a 20 20 20 20 20 mine.which.request.failed.......
6b200 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 6f 74 68 65 72 20 72 65 61 73 6f 6e 20 63 6f 75 6c ....<br><br>.Another.reason.coul
6b220 64 20 62 65 20 74 68 61 74 20 74 68 65 20 73 79 73 74 65 6d 20 77 69 64 65 20 6c 69 6d 69 74 20 d.be.that.the.system.wide.limit.
6b240 6f 66 20 41 49 4f 20 72 65 71 75 65 73 74 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 of.AIO.requests.is..........exce
6b260 65 64 65 64 2e 20 20 54 68 69 73 20 63 61 6e 6e 6f 74 20 62 65 20 74 68 65 20 63 61 73 65 20 66 eded...This.cannot.be.the.case.f
6b280 6f 72 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 6e 20 47 4e 55 20 73 79 73 or.the.implementation.on.GNU.sys
6b2a0 74 65 6d 73 0a 20 20 20 20 20 20 20 20 20 73 69 6e 63 65 20 6e 6f 20 61 72 62 69 74 72 61 72 79 tems..........since.no.arbitrary
6b2c0 20 6c 69 6d 69 74 73 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 .limits.exist...........<DT><COD
6b2e0 45 3e 45 49 4e 56 41 4c 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 6d 6f 64 65 3c E>EINVAL..........The.<VAR>mode<
6b300 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 69 6e 76 61 6c 69 64 20 6f 72 20 3c 56 /VAR>.parameter.is.invalid.or.<V
6b320 41 52 3e 6e 65 6e 74 3c 2f 56 41 52 3e 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 3c 2f 43 4f AR>nent</VAR>.is.larger.than</CO
6b340 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 41 49 4f 5f 4c 49 53 54 DE>.<DD>..........<CODE>AIO_LIST
6b360 49 4f 5f 4d 41 58 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 IO_MAX</CODE>...........<DT><COD
6b380 45 3e 45 49 4f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4f 6e 65 20 6f E>EIO</CODE>.<DD>..........One.o
6b3a0 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 20 72 65 71 75 65 73 74 27 73 20 49 2f 4f 20 6f 70 65 72 r.more.of.the.request's.I/O.oper
6b3c0 61 74 69 6f 6e 73 20 66 61 69 6c 65 64 2e 20 20 54 68 65 20 65 72 72 6f 72 20 73 74 61 74 75 73 ations.failed...The.error.status
6b3e0 20 6f 66 0a 20 20 20 20 20 20 20 20 20 65 61 63 68 20 72 65 71 75 65 73 74 20 73 68 6f 75 6c 64 .of..........each.request.should
6b400 20 62 65 20 63 68 65 63 6b 65 64 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 6f .be.checked.to.determine.which.o
6b420 6e 65 20 66 61 69 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e ne.failed...........<DT><CODE>EN
6b440 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 OSYS</CODE>.<DD>..........The.<C
6b460 4f 44 45 3e 6c 69 6f 5f 6c 69 73 74 69 6f 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 ODE>lio_listio</CODE>.function.i
6b480 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a s.not.supported...........</DL>.
6b4a0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 3c 56 41 52 3e 6d 6f .........<br><br>.If.the.<VAR>mo
6b4c0 64 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 3c 43 4f 44 45 3e 4c 49 4f 5f de</VAR>.parameter.is.<CODE>LIO_
6b4e0 4e 4f 57 41 49 54 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 63 61 6c 6c 65 72 20 63 61 6e NOWAIT</CODE>.and.the.caller.can
6b500 63 65 6c 73 0a 20 20 20 20 20 20 20 20 20 61 20 72 65 71 75 65 73 74 2c 20 74 68 65 20 65 72 72 cels..........a.request,.the.err
6b520 6f 72 20 73 74 61 74 75 73 20 66 6f 72 20 74 68 69 73 20 72 65 71 75 65 73 74 20 72 65 74 75 72 or.status.for.this.request.retur
6b540 6e 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 61 69 6f 5f 65 72 72 6f 72 3c ned.by..........<CODE>aio_error<
6b560 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 45 43 41 4e 43 45 4c 45 44 3c 2f 43 4f 44 45 3e /CODE>.is.<CODE>ECANCELED</CODE>
6b580 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 ...........<br><br>.When.the.sou
6b5a0 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 rces.are.compiled.with.<CODE>_FI
6b5c0 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 LE_OFFSET_BITS.==.64</CODE>,.thi
6b5e0 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c s..........function.is.in.fact.<
6b600 43 4f 44 45 3e 6c 69 6f 5f 6c 69 73 74 69 6f 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 CODE>lio_listio64</CODE>.since.t
6b620 68 65 20 4c 46 53 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 he.LFS.interface..........transp
6b640 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c arently.replaces.the.normal.impl
6b660 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ementation..........sq.~......w.
6b680 00 00 00 0a 74 00 05 61 69 6f 2e 68 78 71 00 7e 11 1e 74 00 44 69 6e 74 20 6d 6f 64 65 2c 20 73 ....t..aio.hxq.~..t.Dint.mode,.s
6b6a0 74 72 75 63 74 20 61 69 6f 63 62 20 2a 63 6f 6e 73 74 20 6c 69 73 74 5b 5d 2c 20 69 6e 74 20 6e truct.aiocb.*const.list[],.int.n
6b6c0 65 6e 74 2c 20 73 74 72 75 63 74 20 73 69 67 65 76 65 6e 74 20 2a 73 69 67 74 00 03 69 6e 74 74 ent,.struct.sigevent.*sigt..intt
6b6e0 00 0c 6c 69 6f 5f 6c 69 73 74 69 6f 36 34 73 71 00 7e 00 0a 70 74 02 ea 0a 20 20 20 20 20 20 20 ..lio_listio64sq.~..pt..........
6b700 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 .This.function.is.similar.to.the
6b720 20 3c 43 4f 44 45 3e 6c 69 6f 5f 6c 69 73 74 69 6f 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f .<CODE>lio_listio</CODE>.functio
6b740 6e 2e 20 20 54 68 65 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 63 65 n...The.only..........difference
6b760 20 69 73 20 74 68 61 74 20 6f 6e 20 33 32 20 62 69 74 20 6d 61 63 68 69 6e 65 73 2c 20 74 68 65 .is.that.on.32.bit.machines,.the
6b780 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 .file.descriptor.should.........
6b7a0 20 62 65 20 6f 70 65 6e 65 64 20 69 6e 20 74 68 65 20 6c 61 72 67 65 20 66 69 6c 65 20 6d 6f 64 .be.opened.in.the.large.file.mod
6b7c0 65 2e 20 20 49 6e 74 65 72 6e 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 6c 69 6f 5f 6c 69 73 74 69 6f e...Internally,.<CODE>lio_listio
6b7e0 36 34 3c 2f 43 4f 44 45 3e 20 75 73 65 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 64</CODE>.uses..........function
6b800 61 6c 69 74 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 36 ality.equivalent.to.<CODE>lseek6
6b820 34 3c 2f 43 4f 44 45 3e 20 20 74 6f 20 70 6f 73 69 74 69 6f 6e 20 74 68 65 20 66 69 6c 65 20 64 4</CODE>..to.position.the.file.d
6b840 65 73 63 72 69 70 74 6f 72 20 63 6f 72 72 65 63 74 6c 79 20 66 6f 72 20 74 68 65 20 72 65 61 64 escriptor.correctly.for.the.read
6b860 69 6e 67 20 6f 72 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 69 6e 67 2c 20 61 73 20 6f 70 70 6f ing.or..........writing,.as.oppo
6b880 73 65 64 20 74 6f 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 sed.to.<CODE>lseek</CODE>.functi
6b8a0 6f 6e 61 6c 69 74 79 20 75 73 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c onality.used.in..........<CODE>l
6b8c0 69 6f 5f 6c 69 73 74 69 6f 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c io_listio</CODE>...........<br><
6b8e0 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 br>.When.the.sources.are.compile
6b900 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d d.with.<CODE>_FILE_OFFSET_BITS.=
6b920 3d 20 36 34 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 =.64</CODE>,.this..........funct
6b940 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 ion.is.available.under.the.name.
6b960 3c 43 4f 44 45 3e 6c 69 6f 5f 6c 69 73 74 69 6f 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 0a 20 <CODE>lio_listio</CODE>.and.so..
6b980 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 ........transparently.replaces.t
6b9a0 68 65 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 73 6d 61 6c 6c 20 66 69 6c 65 73 20 6f 6e 20 he.interface.for.small.files.on.
6b9c0 33 32 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 6d 61 63 68 69 6e 65 73 2e 0a 20 20 20 20 20 20 32.bit..........machines........
6b9e0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 61 69 6f 2e 68 78 71 00 7e 11 25 ..sq.~......w.....t..aio.hxq.~.%
6ba00 74 00 42 69 6e 74 20 6d 6f 64 65 2c 20 73 74 72 75 63 74 20 61 69 6f 63 62 20 2a 63 6f 6e 73 74 t.Bint.mode,.struct.aiocb.*const
6ba20 20 6c 69 73 74 2c 20 69 6e 74 20 6e 65 6e 74 2c 20 73 74 72 75 63 74 20 73 69 67 65 76 65 6e 74 .list,.int.nent,.struct.sigevent
6ba40 20 2a 73 69 67 74 00 03 69 6e 74 74 00 06 6c 69 73 74 65 6e 73 71 00 7e 00 0a 70 74 04 19 0a 20 .*sigt..intt..listensq.~..pt....
6ba60 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6c 69 73 74 65 6e 3c 2f 43 4f 44 45 3e 20 66 .......The.<CODE>listen</CODE>.f
6ba80 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 73 20 74 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e unction.enables.the.socket.<VAR>
6baa0 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 74 6f 20 61 63 63 65 70 74 0a 20 20 20 20 20 20 20 20 20 socket</VAR>.to.accept..........
6bac0 63 6f 6e 6e 65 63 74 69 6f 6e 73 2c 20 74 68 75 73 20 6d 61 6b 69 6e 67 20 69 74 20 61 20 73 65 connections,.thus.making.it.a.se
6bae0 72 76 65 72 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 rver.socket...........<br><br>.T
6bb00 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 he.argument.<VAR>n</VAR>.specifi
6bb20 65 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 71 75 65 75 65 20 66 6f 72 20 70 es.the.length.of.the.queue.for.p
6bb40 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 2e 20 20 57 68 ending..........connections...Wh
6bb60 65 6e 20 74 68 65 20 71 75 65 75 65 20 66 69 6c 6c 73 2c 20 6e 65 77 20 63 6c 69 65 6e 74 73 20 en.the.queue.fills,.new.clients.
6bb80 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 6e 65 63 74 0a 20 20 20 20 20 20 20 20 20 66 attempting.to.connect..........f
6bba0 61 69 6c 20 77 69 74 68 20 3c 43 4f 44 45 3e 45 43 4f 4e 4e 52 45 46 55 53 45 44 3c 2f 43 4f 44 ail.with.<CODE>ECONNREFUSED</COD
6bbc0 45 3e 20 75 6e 74 69 6c 20 74 68 65 20 73 65 72 76 65 72 20 63 61 6c 6c 73 20 3c 43 4f 44 45 3e E>.until.the.server.calls.<CODE>
6bbe0 61 63 63 65 70 74 3c 2f 43 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 61 63 63 65 70 74 accept</CODE>.to..........accept
6bc00 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 71 75 65 75 65 2e 0a 20 20 .a.connection.from.the.queue....
6bc20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 6c 69 73 74 65 6e .......<br><br>.The.<CODE>listen
6bc40 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 </CODE>.function.returns.<CODE>0
6bc60 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c </CODE>.on.success.and.<CODE>-1<
6bc80 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 /CODE>..........on.failure...The
6bca0 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 .following.<CODE>errno</CODE>.er
6bcc0 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 ror.conditions.are.defined......
6bce0 20 20 20 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 ....for.this.function:..........
6bd00 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 <br><br>.<DL>...........<DT><COD
6bd20 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 E>EBADF</CODE>.<DD>..........The
6bd40 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e .argument.<VAR>socket</VAR>.is.n
6bd60 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 ot.a.valid.file.descriptor......
6bd80 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 53 4f 43 4b .....<br><br>.<DT><CODE>ENOTSOCK
6bda0 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 </CODE>.<DD>..........The.argume
6bdc0 6e 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 73 6f nt.<VAR>socket</VAR>.is.not.a.so
6bde0 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 cket...........<br><br>.<DT><COD
6be00 45 3e 45 4f 50 4e 4f 54 53 55 50 50 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 E>EOPNOTSUPP</CODE>.<DD>........
6be20 20 20 54 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 64 ..The.socket.<VAR>socket</VAR>.d
6be40 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 74 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 2e 0a oes.not.support.this.operation..
6be60 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 .........</DL>.........sq.~.....
6be80 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 11 2c 74 00 1a 69 .w.....t..sys/socket.hxq.~.,t..i
6bea0 6e 74 20 73 6f 63 6b 65 74 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6e 74 00 03 69 6e 74 74 nt.socket,.unsigned.int.nt..intt
6bec0 00 05 6c 6c 61 62 73 73 71 00 7e 00 0a 70 74 02 10 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 ..llabssq.~..pt...........These.
6bee0 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 functions.return.the.absolute.va
6bf00 6c 75 65 20 6f 66 20 3c 56 41 52 3e 6e 75 6d 62 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 lue.of.<VAR>number</VAR>........
6bf20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4d 6f 73 74 20 63 6f 6d 70 75 74 65 72 73 20 75 73 65 20 61 ...<br><br>.Most.computers.use.a
6bf40 20 74 77 6f 27 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 .two's.complement.integer.repres
6bf60 65 6e 74 61 74 69 6f 6e 2c 20 69 6e 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 entation,.in.which..........the.
6bf80 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 49 4e 54 5f 4d 49 4e 3c absolute.value.of.<CODE>INT_MIN<
6bfa0 2f 43 4f 44 45 3e 20 28 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 20 3c 43 /CODE>.(the.smallest.possible.<C
6bfc0 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 29 0a 20 20 20 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 ODE>int</CODE>)..........cannot.
6bfe0 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 3b 20 74 68 75 73 2c 20 3c 43 4f 44 45 3e 61 62 73 20 be.represented;.thus,.<CODE>abs.
6c000 28 49 4e 54 5f 4d 49 4e 29 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e (INT_MIN)</CODE>.is.not.defined.
6c020 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6c 6c 61 62 73 3c 2f ..........<br><br>.<CODE>llabs</
6c040 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 69 6d 61 78 64 69 76 3c 2f 43 4f 44 45 3e 20 61 CODE>.and.<CODE>imaxdiv</CODE>.a
6c060 72 65 20 6e 65 77 20 74 6f 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e re.new.to.ISO.C99...........<br>
6c080 3c 62 72 3e 20 53 65 65 20 49 6e 74 65 67 65 72 73 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 <br>.See.Integers.for.a.descript
6c0a0 69 6f 6e 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 69 6e 74 6d 61 78 5f 74 3c 2f 43 4f 44 45 3e ion.of.the.<CODE>intmax_t</CODE>
6c0c0 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 .type...........<br><br>........
6c0e0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e .sq.~......w.....t..stdlib.hxq.~
6c100 11 33 74 00 14 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 20 6e 75 6d 62 65 72 74 00 0d 6c 6f 6e 67 .3t..long.long.int.numbert..long
6c120 20 6c 6f 6e 67 20 69 6e 74 74 00 05 6c 6c 64 69 76 73 71 00 7e 00 0a 70 74 01 33 0a 20 20 20 20 .long.intt..lldivsq.~..pt.3.....
6c140 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6c 6c 64 69 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 ....The.<CODE>lldiv</CODE>.funct
6c160 69 6f 6e 20 69 73 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 64 69 76 3c 2f 43 4f 44 45 3e ion.is.like.the.<CODE>div</CODE>
6c180 20 66 75 6e 63 74 69 6f 6e 2c 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 .function,.but.the..........argu
6c1a0 6d 65 6e 74 73 20 61 72 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 6c 6f 6e ments.are.of.type.<CODE>long.lon
6c1c0 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 72 g.int</CODE>.and.the.result.is.r
6c1e0 65 74 75 72 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 61 20 73 74 72 75 63 74 75 72 65 20 eturned.as..........a.structure.
6c200 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6c 6c 64 69 76 5f 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 of.type.<CODE>lldiv_t</CODE>....
6c220 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 6c 6c 64 69 76 3c .......<br><br>.The.<CODE>lldiv<
6c240 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 61 64 64 65 64 20 69 6e 20 49 53 4f /CODE>.function.was.added.in.ISO
6c260 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 .C99..........sq.~......w.....t.
6c280 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 11 3a 74 00 32 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 20 .stdlib.hxq.~.:t.2long.long.int.
6c2a0 6e 75 6d 65 72 61 74 6f 72 2c 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 20 64 65 6e 6f 6d 69 6e numerator,.long.long.int.denomin
6c2c0 61 74 6f 72 74 00 07 6c 6c 64 69 76 5f 74 74 00 06 6c 6c 72 69 6e 74 73 71 00 7e 00 0a 70 74 00 atort..lldiv_tt..llrintsq.~..pt.
6c2e0 9c 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6a 75 ..........These.functions.are.ju
6c300 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 74 st.like.<CODE>rint</CODE>,.but.t
6c320 68 65 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 hey.return.a..........<CODE>long
6c340 20 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c .long.int</CODE>.instead.of.a.fl
6c360 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 oating-point.number..........sq.
6c380 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 41 74 00 08 64 ~......w.....t..math.hxq.~.At..d
6c3a0 6f 75 62 6c 65 20 78 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 07 6c 6c 72 69 6e 74 ouble.xt..long.long.intt..llrint
6c3c0 66 73 71 00 7e 00 0a 70 74 00 9c 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 fsq.~..pt...........These.functi
6c3e0 6f 6e 73 20 61 72 65 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f ons.are.just.like.<CODE>rint</CO
6c400 44 45 3e 2c 20 62 75 74 20 74 68 65 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 DE>,.but.they.return.a..........
6c420 3c 43 4f 44 45 3e 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 <CODE>long.long.int</CODE>.inste
6c440 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 ad.of.a.floating-point.number...
6c460 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
6c480 78 71 00 7e 11 48 74 00 07 66 6c 6f 61 74 20 78 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 xq.~.Ht..float.xt..long.long.int
6c4a0 74 00 07 6c 6c 72 69 6e 74 6c 73 71 00 7e 00 0a 70 74 00 9c 0a 20 20 20 20 20 20 20 20 54 68 65 t..llrintlsq.~..pt...........The
6c4c0 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 se.functions.are.just.like.<CODE
6c4e0 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 74 68 65 79 20 72 65 74 75 72 6e 20 61 0a >rint</CODE>,.but.they.return.a.
6c500 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f .........<CODE>long.long.int</CO
6c520 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 DE>.instead.of.a.floating-point.
6c540 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a number..........sq.~......w.....
6c560 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 4f 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 t..math.hxq.~.Ot..long.double.xt
6c580 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 07 6c 6c 72 6f 75 6e 64 73 71 00 7e 00 0a 70 ..long.long.intt..llroundsq.~..p
6c5a0 74 00 9d 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 t...........These.functions.are.
6c5c0 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 6f 75 6e 64 3c 2f 43 4f 44 45 3e 2c 20 62 75 just.like.<CODE>round</CODE>,.bu
6c5e0 74 20 74 68 65 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c t.they.return.a..........<CODE>l
6c600 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 ong.long.int</CODE>.instead.of.a
6c620 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 .floating-point.number..........
6c640 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 56 74 sq.~......w.....t..math.hxq.~.Vt
6c660 00 08 64 6f 75 62 6c 65 20 78 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 08 6c 6c 72 ..double.xt..long.long.intt..llr
6c680 6f 75 6e 64 66 73 71 00 7e 00 0a 70 74 00 9d 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 oundfsq.~..pt...........These.fu
6c6a0 6e 63 74 69 6f 6e 73 20 61 72 65 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 6f 75 6e nctions.are.just.like.<CODE>roun
6c6c0 64 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 74 68 65 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 d</CODE>,.but.they.return.a.....
6c6e0 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 .....<CODE>long.long.int</CODE>.
6c700 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 instead.of.a.floating-point.numb
6c720 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d er..........sq.~......w.....t..m
6c740 61 74 68 2e 68 78 71 00 7e 11 5d 74 00 07 66 6c 6f 61 74 20 78 74 00 0d 6c 6f 6e 67 20 6c 6f 6e ath.hxq.~.]t..float.xt..long.lon
6c760 67 20 69 6e 74 74 00 08 6c 6c 72 6f 75 6e 64 6c 73 71 00 7e 00 0a 70 74 00 9d 0a 20 20 20 20 20 g.intt..llroundlsq.~..pt........
6c780 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6a 75 73 74 20 6c 69 6b 65 ...These.functions.are.just.like
6c7a0 20 3c 43 4f 44 45 3e 72 6f 75 6e 64 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 74 68 65 79 20 72 65 .<CODE>round</CODE>,.but.they.re
6c7c0 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 6c 6f 6e 67 20 turn.a..........<CODE>long.long.
6c7e0 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 int</CODE>.instead.of.a.floating
6c800 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 -point.number..........sq.~.....
6c820 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 64 74 00 0d 6c 6f 6e 67 20 64 6f .w.....t..math.hxq.~.dt..long.do
6c840 75 62 6c 65 20 78 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 0a 6c 6f 63 61 6c 65 63 uble.xt..long.long.intt..localec
6c860 6f 6e 76 73 71 00 7e 00 0a 70 74 01 f8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e onvsq.~..pt...........The.<CODE>
6c880 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 localeconv</CODE>.function.retur
6c8a0 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74 75 72 65 20 77 68 6f 73 ns.a.pointer.to.a.structure.whos
6c8c0 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 63 6f 6e 74 61 69 6e 20 69 6e e..........components.contain.in
6c8e0 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 68 6f 77 20 6e 75 6d 65 72 69 63 20 61 6e 64 20 formation.about.how.numeric.and.
6c900 6d 6f 6e 65 74 61 72 79 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 monetary.values..........should.
6c920 62 65 20 66 6f 72 6d 61 74 74 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 be.formatted.in.the.current.loca
6c940 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 73 68 6f 75 6c 64 le...........<br><br>.You.should
6c960 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 6f 72 20 69 74 73 .not.modify.the.structure.or.its
6c980 20 63 6f 6e 74 65 6e 74 73 2e 20 20 54 68 65 20 73 74 72 75 63 74 75 72 65 20 6d 69 67 68 74 0a .contents...The.structure.might.
6c9a0 20 20 20 20 20 20 20 20 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 73 75 62 73 65 .........be.overwritten.by.subse
6c9c0 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c quent.calls.to.<CODE>localeconv<
6c9e0 2f 43 4f 44 45 3e 2c 20 6f 72 20 62 79 20 63 61 6c 6c 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 /CODE>,.or.by.calls.to..........
6ca00 3c 43 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 6e 6f 20 6f <CODE>setlocale</CODE>,.but.no.o
6ca20 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 6c 69 62 72 61 72 79 20 6f 76 65 ther.function.in.the.library.ove
6ca40 72 77 72 69 74 65 73 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 0a 20 20 20 rwrites.this..........value.....
6ca60 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6c 6f 63 61 6c 65 2e 68 .....sq.~......w.....t..locale.h
6ca80 78 71 00 7e 11 6b 74 00 04 76 6f 69 64 74 00 0e 73 74 72 75 63 74 20 6c 63 6f 6e 76 20 2a 74 00 xq.~.kt..voidt..struct.lconv.*t.
6caa0 09 6c 6f 63 61 6c 74 69 6d 65 73 71 00 7e 00 0a 70 74 03 85 0a 20 20 20 20 20 20 20 20 54 68 65 .localtimesq.~..pt...........The
6cac0 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .<CODE>localtime</CODE>.function
6cae0 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 73 69 6d 70 6c 65 20 74 69 6d 65 20 70 6f 69 6e 74 65 .converts.the.simple.time.pointe
6cb00 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 69 6d 65 3c 2f 56 41 52 3e d.to.by..........<VAR>time</VAR>
6cb20 20 74 6f 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 6d 65 20 72 65 70 72 65 73 65 6e 74 61 74 .to.broken-down.time.representat
6cb40 69 6f 6e 2c 20 65 78 70 72 65 73 73 65 64 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 0a 20 ion,.expressed.relative.to.the..
6cb60 20 20 20 20 20 20 20 20 75 73 65 72 27 73 20 73 70 65 63 69 66 69 65 64 20 74 69 6d 65 20 7a 6f ........user's.specified.time.zo
6cb80 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e ne...........<br><br>.The.return
6cba0 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 61 74 69 63 20 .value.is.a.pointer.to.a.static.
6cbc0 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 6d 65 20 73 74 72 75 63 74 75 72 65 2c 20 77 68 69 63 broken-down.time.structure,.whic
6cbe0 68 0a 20 20 20 20 20 20 20 20 20 6d 69 67 68 74 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 h..........might.be.overwritten.
6cc00 62 79 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 63 74 69 by.subsequent.calls.to.<CODE>cti
6cc20 6d 65 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 67 6d 74 69 6d 65 3c 2f 43 4f 44 45 3e 2c 0a me</CODE>,.<CODE>gmtime</CODE>,.
6cc40 20 20 20 20 20 20 20 20 20 6f 72 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 74 69 6d 65 3c 2f 43 4f 44 .........or.<CODE>localtime</COD
6cc60 45 3e 2e 20 20 28 42 75 74 20 6e 6f 20 6f 74 68 65 72 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 E>...(But.no.other.library.funct
6cc80 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 0a 20 20 20 20 ion.overwrites.the.contents.....
6cca0 20 20 20 20 20 6f 66 20 74 68 69 73 20 6f 62 6a 65 63 74 2e 29 0a 20 20 20 20 20 20 20 20 20 3c .....of.this.object.)..........<
6ccc0 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 br><br>.The.return.value.is.the.
6cce0 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 3c 56 41 52 3e 74 69 6d 65 3c 2f 56 41 52 3e 20 null.pointer.if.<VAR>time</VAR>.
6cd00 63 61 6e 6e 6f 74 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 0a 20 20 20 20 20 20 20 20 20 61 cannot.be.represented..........a
6cd20 73 20 61 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 6d 65 3b 20 74 79 70 69 63 61 6c 6c 79 20 s.a.broken-down.time;.typically.
6cd40 74 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 74 68 65 20 79 65 61 72 20 63 61 6e 6e 6f 74 20 this.is.because.the.year.cannot.
6cd60 66 69 74 20 69 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 61 6e 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f fit.into..........an.<CODE>int</
6cd80 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 43 61 6c 6c 69 6e 67 CODE>...........<br><br>.Calling
6cda0 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 68 61 73 20 6f 6e 65 20 .<CODE>localtime</CODE>.has.one.
6cdc0 6f 74 68 65 72 20 65 66 66 65 63 74 3a 20 69 74 20 73 65 74 73 20 74 68 65 20 76 61 72 69 61 62 other.effect:.it.sets.the.variab
6cde0 6c 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 7a 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 le..........<CODE>tzname</CODE>.
6ce00 77 69 74 68 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 75 72 72 65 with.information.about.the.curre
6ce20 6e 74 20 74 69 6d 65 20 7a 6f 6e 65 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 nt.time.zone.............sq.~...
6ce40 00 00 01 77 04 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 11 72 74 00 12 63 6f 6e 73 74 ...w.....t..time.hxq.~.rt..const
6ce60 20 74 69 6d 65 5f 74 20 2a 74 69 6d 65 74 00 0b 73 74 72 75 63 74 20 74 6d 20 2a 74 00 0b 6c 6f .time_t.*timet..struct.tm.*t..lo
6ce80 63 61 6c 74 69 6d 65 5f 72 73 71 00 7e 00 0a 70 74 02 5d 0a 20 20 20 20 20 20 20 20 54 68 65 20 caltime_rsq.~..pt.].........The.
6cea0 3c 43 4f 44 45 3e 6c 6f 63 61 6c 74 69 6d 65 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f <CODE>localtime_r</CODE>.functio
6cec0 6e 20 77 6f 72 6b 73 20 6a 75 73 74 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 6c 6f 63 61 n.works.just.like.the.<CODE>loca
6cee0 6c 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 ltime</CODE>..........function..
6cf00 20 49 74 20 74 61 6b 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 76 61 72 69 61 62 6c .It.takes.a.pointer.to.a.variabl
6cf20 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 73 69 6d 70 6c 65 20 74 69 6d 65 0a 20 20 20 20 20 e.containing.a.simple.time......
6cf40 20 20 20 20 61 6e 64 20 63 6f 6e 76 65 72 74 73 20 69 74 20 74 6f 20 74 68 65 20 62 72 6f 6b 65 ....and.converts.it.to.the.broke
6cf60 6e 2d 64 6f 77 6e 20 74 69 6d 65 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 n-down.time.format...........<br
6cf80 3e 3c 62 72 3e 20 42 75 74 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 74 20 70 6c 61 63 ><br>.But.the.result.is.not.plac
6cfa0 65 64 20 69 6e 20 61 20 73 74 61 74 69 63 20 62 75 66 66 65 72 2e 20 20 49 6e 73 74 65 61 64 20 ed.in.a.static.buffer...Instead.
6cfc0 69 74 20 69 73 20 70 6c 61 63 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 6f 62 6a it.is.placed..........in.the.obj
6cfe0 65 63 74 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 74 6d 3c 2f 43 4f 44 ect.of.type.<CODE>struct.tm</COD
6d000 45 3e 20 74 6f 20 77 68 69 63 68 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 E>.to.which.the.parameter.......
6d020 20 20 20 3c 56 41 52 3e 72 65 73 75 6c 74 70 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 2e 0a 20 20 ...<VAR>resultp</VAR>.points....
6d040 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f .......<br><br>.If.the.conversio
6d060 6e 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 n.is.successful.the.function.ret
6d080 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f urns.a.pointer.to.the..........o
6d0a0 62 6a 65 63 74 20 74 68 65 20 72 65 73 75 6c 74 20 77 61 73 20 77 72 69 74 74 65 6e 20 69 6e 74 bject.the.result.was.written.int
6d0c0 6f 2c 20 69 2e 65 2e 2c 20 69 74 20 72 65 74 75 72 6e 73 20 3c 56 41 52 3e 72 65 73 75 6c 74 70 o,.i.e.,.it.returns.<VAR>resultp
6d0e0 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a </VAR>..........sq.~......w.....
6d100 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 11 79 74 00 26 63 6f 6e 73 74 20 74 69 6d 65 5f 74 20 2a t..time.hxq.~.yt.&const.time_t.*
6d120 74 69 6d 65 2c 20 73 74 72 75 63 74 20 74 6d 20 2a 72 65 73 75 6c 74 70 74 00 0b 73 74 72 75 63 time,.struct.tm.*resultpt..struc
6d140 74 20 74 6d 20 2a 74 00 03 6c 6f 67 73 71 00 7e 00 0a 70 74 01 ad 0a 20 20 20 20 20 20 20 20 54 t.tm.*t..logsq.~..pt...........T
6d160 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 6e 61 74 75 72 hese.functions.compute.the.natur
6d180 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 3c al.logarithm.of.<VAR>x</VAR>...<
6d1a0 43 4f 44 45 3e 65 78 70 20 28 6c 6f 67 0a 20 20 20 20 20 20 20 20 20 28 3c 56 41 52 3e 78 3c 2f CODE>exp.(log..........(<VAR>x</
6d1c0 56 41 52 3e 29 29 3c 2f 43 4f 44 45 3e 20 65 71 75 61 6c 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 VAR>))</CODE>.equals.<VAR>x</VAR
6d1e0 3e 2c 20 65 78 61 63 74 6c 79 20 69 6e 20 6d 61 74 68 65 6d 61 74 69 63 73 20 61 6e 64 20 61 70 >,.exactly.in.mathematics.and.ap
6d200 70 72 6f 78 69 6d 61 74 65 6c 79 20 69 6e 0a 20 20 20 20 20 20 20 20 20 43 2e 0a 20 20 20 20 20 proximately.in..........C.......
6d220 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 ....<br><br>.If.<VAR>x</VAR>.is.
6d240 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 negative,.<CODE>log</CODE>.signa
6d260 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 ls.a.domain.error...If.<VAR>x</V
6d280 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 7a 65 72 6f 2c 20 69 74 20 72 65 74 75 72 6e 73 AR>..........is.zero,.it.returns
6d2a0 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 3b 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 .negative.infinity;.if.<VAR>x</V
6d2c0 41 52 3e 20 69 73 20 74 6f 6f 20 63 6c 6f 73 65 20 74 6f 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 AR>.is.too.close.to.zero,.......
6d2e0 20 20 20 69 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 ...it.may.signal.overflow.......
6d300 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
6d320 11 80 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 05 6c 6f 67 31 30 73 71 ..t..double.xt..doublet..log10sq
6d340 00 7e 00 0a 70 74 00 bf 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 .~..pt...........These.functions
6d360 20 72 65 74 75 72 6e 20 74 68 65 20 62 61 73 65 2d 31 30 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 .return.the.base-10.logarithm.of
6d380 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f .<VAR>x</VAR>...........<CODE>lo
6d3a0 67 31 30 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 65 71 75 61 6c 73 g10.(<VAR>x</VAR>)</CODE>.equals
6d3c0 20 3c 43 4f 44 45 3e 6c 6f 67 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2f 20 6c 6f 67 20 .<CODE>log.(<VAR>x</VAR>)./.log.
6d3e0 28 31 30 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 (10)</CODE>...........<br><br>..
6d400 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
6d420 78 71 00 7e 11 87 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 6c 6f 67 xq.~..t..double.xt..doublet..log
6d440 31 30 66 73 71 00 7e 00 0a 70 74 00 bf 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 10fsq.~..pt...........These.func
6d460 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 62 61 73 65 2d 31 30 20 6c 6f 67 61 72 69 74 tions.return.the.base-10.logarit
6d480 68 6d 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f hm.of.<VAR>x</VAR>...........<CO
6d4a0 44 45 3e 6c 6f 67 31 30 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 65 DE>log10.(<VAR>x</VAR>)</CODE>.e
6d4c0 71 75 61 6c 73 20 3c 43 4f 44 45 3e 6c 6f 67 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2f quals.<CODE>log.(<VAR>x</VAR>)./
6d4e0 20 6c 6f 67 20 28 31 30 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .log.(10)</CODE>...........<br><
6d500 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d br>.........sq.~......w.....t..m
6d520 61 74 68 2e 68 78 71 00 7e 11 8e 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 06 ath.hxq.~..t..float.xt..floatt..
6d540 6c 6f 67 31 30 6c 73 71 00 7e 00 0a 70 74 00 bf 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 log10lsq.~..pt...........These.f
6d560 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 62 61 73 65 2d 31 30 20 6c 6f 67 61 unctions.return.the.base-10.loga
6d580 72 69 74 68 6d 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 rithm.of.<VAR>x</VAR>...........
6d5a0 3c 43 4f 44 45 3e 6c 6f 67 31 30 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 <CODE>log10.(<VAR>x</VAR>)</CODE
6d5c0 3e 20 65 71 75 61 6c 73 20 3c 43 4f 44 45 3e 6c 6f 67 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e >.equals.<CODE>log.(<VAR>x</VAR>
6d5e0 29 20 2f 20 6c 6f 67 20 28 31 30 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 )./.log.(10)</CODE>...........<b
6d600 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 r><br>.........sq.~......w.....t
6d620 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 95 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 ..math.hxq.~..t..long.double.xt.
6d640 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 6c 6f 67 31 70 73 71 00 7e 00 0a 70 74 00 c5 0a 20 .long.doublet..log1psq.~..pt....
6d660 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 73 20 61 .......These.functions.returns.a
6d680 20 76 61 6c 75 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 6c 6f 67 20 28 .value.equivalent.to.<CODE>log.(
6d6a0 31 20 2b 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 1.+.<VAR>x</VAR>)</CODE>........
6d6c0 20 20 20 54 68 65 79 20 61 72 65 20 63 6f 6d 70 75 74 65 64 20 69 6e 20 61 20 77 61 79 20 74 68 ...They.are.computed.in.a.way.th
6d6e0 61 74 20 69 73 20 61 63 63 75 72 61 74 65 20 65 76 65 6e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 at.is.accurate.even.if.<VAR>x</V
6d700 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 65 61 72 20 7a 65 72 6f 2e 0a 20 20 20 20 20 AR>.is..........near.zero.......
6d720 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
6d740 11 9c 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 6c 6f 67 31 70 66 73 ..t..double.xt..doublet..log1pfs
6d760 71 00 7e 00 0a 70 74 00 c5 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt...........These.function
6d780 73 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 s.returns.a.value.equivalent.to.
6d7a0 3c 43 4f 44 45 3e 6c 6f 67 20 28 31 20 2b 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f <CODE>log.(1.+.<VAR>x</VAR>)</CO
6d7c0 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 79 20 61 72 65 20 63 6f 6d 70 75 74 65 64 20 DE>...........They.are.computed.
6d7e0 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 69 73 20 61 63 63 75 72 61 74 65 20 65 76 65 6e 20 69 in.a.way.that.is.accurate.even.i
6d800 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 65 61 72 20 f.<VAR>x</VAR>.is..........near.
6d820 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 zero..........sq.~......w.....t.
6d840 06 6d 61 74 68 2e 68 78 71 00 7e 11 a3 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 .math.hxq.~..t..float.xt..floatt
6d860 00 06 6c 6f 67 31 70 6c 73 71 00 7e 00 0a 70 74 00 c5 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 ..log1plsq.~..pt...........These
6d880 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 65 71 75 69 76 .functions.returns.a.value.equiv
6d8a0 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 6c 6f 67 20 28 31 20 2b 20 3c 56 41 52 3e 78 3c 2f alent.to.<CODE>log.(1.+.<VAR>x</
6d8c0 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 79 20 61 72 65 20 VAR>)</CODE>...........They.are.
6d8e0 63 6f 6d 70 75 74 65 64 20 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 69 73 20 61 63 63 75 72 61 computed.in.a.way.that.is.accura
6d900 74 65 20 65 76 65 6e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 te.even.if.<VAR>x</VAR>.is......
6d920 20 20 20 20 6e 65 61 72 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 ....near.zero..........sq.~.....
6d940 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 aa 74 00 0d 6c 6f 6e 67 20 64 6f .w.....t..math.hxq.~..t..long.do
6d960 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 6c 6f 67 32 73 71 00 7e 00 uble.xt..long.doublet..log2sq.~.
6d980 0a 70 74 00 aa 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 .pt...........These.functions.re
6d9a0 74 75 72 6e 20 74 68 65 20 62 61 73 65 2d 32 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 3c 56 41 turn.the.base-2.logarithm.of.<VA
6d9c0 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 67 32 20 28 R>x</VAR>...........<CODE>log2.(
6d9e0 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 65 71 75 61 6c 73 20 3c 43 4f 44 <VAR>x</VAR>)</CODE>.equals.<COD
6da00 45 3e 6c 6f 67 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2f 20 6c 6f 67 20 28 32 29 3c 2f E>log.(<VAR>x</VAR>)./.log.(2)</
6da20 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
6da40 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 b1 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 ..math.hxq.~..t..double.xt..doub
6da60 6c 65 74 00 05 6c 6f 67 32 66 73 71 00 7e 00 0a 70 74 00 aa 0a 20 20 20 20 20 20 20 20 54 68 65 let..log2fsq.~..pt...........The
6da80 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 62 61 73 65 2d 32 20 6c se.functions.return.the.base-2.l
6daa0 6f 67 61 72 69 74 68 6d 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 ogarithm.of.<VAR>x</VAR>........
6dac0 20 20 20 3c 43 4f 44 45 3e 6c 6f 67 32 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f ...<CODE>log2.(<VAR>x</VAR>)</CO
6dae0 44 45 3e 20 65 71 75 61 6c 73 20 3c 43 4f 44 45 3e 6c 6f 67 20 28 3c 56 41 52 3e 78 3c 2f 56 41 DE>.equals.<CODE>log.(<VAR>x</VA
6db00 52 3e 29 20 2f 20 6c 6f 67 20 28 32 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 R>)./.log.(2)</CODE>..........sq
6db20 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 b8 74 00 07 .~......w.....t..math.hxq.~..t..
6db40 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 05 6c 6f 67 32 6c 73 71 00 7e 00 0a 70 74 00 float.xt..floatt..log2lsq.~..pt.
6db60 aa 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e ..........These.functions.return
6db80 20 74 68 65 20 62 61 73 65 2d 32 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 3c 56 41 52 3e 78 3c .the.base-2.logarithm.of.<VAR>x<
6dba0 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 67 32 20 28 3c 56 41 52 /VAR>...........<CODE>log2.(<VAR
6dbc0 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 65 71 75 61 6c 73 20 3c 43 4f 44 45 3e 6c 6f >x</VAR>)</CODE>.equals.<CODE>lo
6dbe0 67 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2f 20 6c 6f 67 20 28 32 29 3c 2f 43 4f 44 45 g.(<VAR>x</VAR>)./.log.(2)</CODE
6dc00 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 >..........sq.~......w.....t..ma
6dc20 74 68 2e 68 78 71 00 7e 11 bf 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e th.hxq.~..t..long.double.xt..lon
6dc40 67 20 64 6f 75 62 6c 65 74 00 04 6c 6f 67 62 73 71 00 7e 00 0a 70 74 02 53 0a 20 20 20 20 20 20 g.doublet..logbsq.~..pt.S.......
6dc60 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 65 78 74 72 61 63 74 20 74 68 65 20 65 78 ..These.functions.extract.the.ex
6dc80 70 6f 6e 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 20 72 65 74 75 72 ponent.of.<VAR>x</VAR>.and.retur
6dca0 6e 20 69 74 20 61 73 20 61 0a 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e n.it.as.a..........floating-poin
6dcc0 74 20 76 61 6c 75 65 2e 20 20 49 66 20 3c 43 4f 44 45 3e 46 4c 54 5f 52 41 44 49 58 3c 2f 43 4f t.value...If.<CODE>FLT_RADIX</CO
6dce0 44 45 3e 20 69 73 20 74 77 6f 2c 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 20 69 73 DE>.is.two,.<CODE>logb</CODE>.is
6dd00 20 65 71 75 61 6c 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 66 6c 6f 6f 72 20 28 .equal..........to.<CODE>floor.(
6dd20 6c 6f 67 32 20 28 78 29 29 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 69 74 27 73 20 70 72 log2.(x))</CODE>,.except.it's.pr
6dd40 6f 62 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e obably.faster...........<br><br>
6dd60 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 64 65 2d 6e 6f 72 6d 61 6c 69 7a 65 .If.<VAR>x</VAR>.is.de-normalize
6dd80 64 2c 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 d,.<CODE>logb</CODE>.returns.the
6dda0 20 65 78 70 6f 6e 65 6e 74 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 .exponent.<VAR>x</VAR>..........
6ddc0 77 6f 75 6c 64 20 68 61 76 65 20 69 66 20 69 74 20 77 65 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 would.have.if.it.were.normalized
6dde0 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 69 6e 66 69 6e 69 74 79 20 28 ...If.<VAR>x</VAR>.is.infinity.(
6de00 70 6f 73 69 74 69 76 65 20 6f 72 0a 20 20 20 20 20 20 20 20 20 6e 65 67 61 74 69 76 65 29 2c 20 positive.or..........negative),.
6de20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 69 6e 66 69 6e 69 <CODE>logb</CODE>.returns.infini
6de40 74 79 7b 7d 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 0a ty{}...If.<VAR>x</VAR>.is.zero,.
6de60 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 .........<CODE>logb</CODE>.retur
6de80 6e 73 20 69 6e 66 69 6e 69 74 79 7b 7d 2e 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 73 69 67 6e ns.infinity{}...It.does.not.sign
6dea0 61 6c 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d al..........sq.~......w.....t..m
6dec0 61 74 68 2e 68 78 71 00 7e 11 c6 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 ath.hxq.~..t..double.xt..doublet
6dee0 00 05 6c 6f 67 62 66 73 71 00 7e 00 0a 70 74 02 53 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 ..logbfsq.~..pt.S.........These.
6df00 66 75 6e 63 74 69 6f 6e 73 20 65 78 74 72 61 63 74 20 74 68 65 20 65 78 70 6f 6e 65 6e 74 20 6f functions.extract.the.exponent.o
6df20 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 f.<VAR>x</VAR>.and.return.it.as.
6df40 61 0a 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 76 61 6c 75 65 2e a..........floating-point.value.
6df60 20 20 49 66 20 3c 43 4f 44 45 3e 46 4c 54 5f 52 41 44 49 58 3c 2f 43 4f 44 45 3e 20 69 73 20 74 ..If.<CODE>FLT_RADIX</CODE>.is.t
6df80 77 6f 2c 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 20 69 73 20 65 71 75 61 6c 0a 20 wo,.<CODE>logb</CODE>.is.equal..
6dfa0 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 66 6c 6f 6f 72 20 28 6c 6f 67 32 20 28 78 29 ........to.<CODE>floor.(log2.(x)
6dfc0 29 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 69 74 27 73 20 70 72 6f 62 61 62 6c 79 20 66 )</CODE>,.except.it's.probably.f
6dfe0 61 73 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 aster...........<br><br>.If.<VAR
6e000 3e 78 3c 2f 56 41 52 3e 20 69 73 20 64 65 2d 6e 6f 72 6d 61 6c 69 7a 65 64 2c 20 3c 43 4f 44 45 >x</VAR>.is.de-normalized,.<CODE
6e020 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 65 78 70 6f 6e 65 6e >logb</CODE>.returns.the.exponen
6e040 74 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20 68 61 t.<VAR>x</VAR>..........would.ha
6e060 76 65 20 69 66 20 69 74 20 77 65 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 2e 20 20 49 66 20 3c 56 ve.if.it.were.normalized...If.<V
6e080 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 69 6e 66 69 6e 69 74 79 20 28 70 6f 73 69 74 69 76 65 AR>x</VAR>.is.infinity.(positive
6e0a0 20 6f 72 0a 20 20 20 20 20 20 20 20 20 6e 65 67 61 74 69 76 65 29 2c 20 3c 43 4f 44 45 3e 6c 6f .or..........negative),.<CODE>lo
6e0c0 67 62 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 69 6e 66 69 6e 69 74 79 7b 7d 2e 20 20 49 gb</CODE>.returns.infinity{}...I
6e0e0 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 f.<VAR>x</VAR>.is.zero,.........
6e100 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 69 6e 66 69 6e .<CODE>logb</CODE>.returns.infin
6e120 69 74 79 7b 7d 2e 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 73 69 67 6e 61 6c 2e 0a 20 20 20 20 ity{}...It.does.not.signal......
6e140 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 ....sq.~......w.....t..math.hxq.
6e160 7e 11 cd 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 05 6c 6f 67 62 6c 73 71 00 ~..t..float.xt..floatt..logblsq.
6e180 7e 00 0a 70 74 02 53 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 ~..pt.S.........These.functions.
6e1a0 65 78 74 72 61 63 74 20 74 68 65 20 65 78 70 6f 6e 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f extract.the.exponent.of.<VAR>x</
6e1c0 56 41 52 3e 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 20 61 73 20 61 0a 20 20 20 20 20 20 20 20 VAR>.and.return.it.as.a.........
6e1e0 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 76 61 6c 75 65 2e 20 20 49 66 20 3c 43 4f 44 45 .floating-point.value...If.<CODE
6e200 3e 46 4c 54 5f 52 41 44 49 58 3c 2f 43 4f 44 45 3e 20 69 73 20 74 77 6f 2c 20 3c 43 4f 44 45 3e >FLT_RADIX</CODE>.is.two,.<CODE>
6e220 6c 6f 67 62 3c 2f 43 4f 44 45 3e 20 69 73 20 65 71 75 61 6c 0a 20 20 20 20 20 20 20 20 20 74 6f logb</CODE>.is.equal..........to
6e240 20 3c 43 4f 44 45 3e 66 6c 6f 6f 72 20 28 6c 6f 67 32 20 28 78 29 29 3c 2f 43 4f 44 45 3e 2c 20 .<CODE>floor.(log2.(x))</CODE>,.
6e260 65 78 63 65 70 74 20 69 74 27 73 20 70 72 6f 62 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 20 20 except.it's.probably.faster.....
6e280 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 ......<br><br>.If.<VAR>x</VAR>.i
6e2a0 73 20 64 65 2d 6e 6f 72 6d 61 6c 69 7a 65 64 2c 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 s.de-normalized,.<CODE>logb</COD
6e2c0 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 65 78 70 6f 6e 65 6e 74 20 3c 56 41 52 3e 78 3c 2f E>.returns.the.exponent.<VAR>x</
6e2e0 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20 68 61 76 65 20 69 66 20 69 74 20 77 VAR>..........would.have.if.it.w
6e300 65 72 65 20 6e 6f 72 6d 61 6c 69 7a 65 64 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e ere.normalized...If.<VAR>x</VAR>
6e320 20 69 73 20 69 6e 66 69 6e 69 74 79 20 28 70 6f 73 69 74 69 76 65 20 6f 72 0a 20 20 20 20 20 20 .is.infinity.(positive.or.......
6e340 20 20 20 6e 65 67 61 74 69 76 65 29 2c 20 3c 43 4f 44 45 3e 6c 6f 67 62 3c 2f 43 4f 44 45 3e 20 ...negative),.<CODE>logb</CODE>.
6e360 72 65 74 75 72 6e 73 20 69 6e 66 69 6e 69 74 79 7b 7d 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f returns.infinity{}...If.<VAR>x</
6e380 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 67 VAR>.is.zero,..........<CODE>log
6e3a0 62 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 69 6e 66 69 6e 69 74 79 7b 7d 2e 20 20 49 74 b</CODE>.returns.infinity{}...It
6e3c0 20 64 6f 65 73 20 6e 6f 74 20 73 69 67 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f .does.not.signal..........sq.~..
6e3e0 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 d4 74 00 0d 6c 6f 6e 67 ....w.....t..math.hxq.~..t..long
6e400 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 6c 6f 67 66 73 71 .double.xt..long.doublet..logfsq
6e420 00 7e 00 0a 70 74 01 ad 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 .~..pt...........These.functions
6e440 20 63 6f 6d 70 75 74 65 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f .compute.the.natural.logarithm.o
6e460 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 3c 43 4f 44 45 3e 65 78 70 20 28 6c 6f 67 0a f.<VAR>x</VAR>...<CODE>exp.(log.
6e480 20 20 20 20 20 20 20 20 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 29 3c 2f 43 4f 44 45 3e 20 .........(<VAR>x</VAR>))</CODE>.
6e4a0 65 71 75 61 6c 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 65 78 61 63 74 6c 79 20 69 6e 20 equals.<VAR>x</VAR>,.exactly.in.
6e4c0 6d 61 74 68 65 6d 61 74 69 63 73 20 61 6e 64 20 61 70 70 72 6f 78 69 6d 61 74 65 6c 79 20 69 6e mathematics.and.approximately.in
6e4e0 0a 20 20 20 20 20 20 20 20 20 43 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 ..........C...........<br><br>.I
6e500 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 f.<VAR>x</VAR>.is.negative,.<COD
6e520 45 3e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 E>log</CODE>.signals.a.domain.er
6e540 72 6f 72 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 ror...If.<VAR>x</VAR>..........i
6e560 73 20 7a 65 72 6f 2c 20 69 74 20 72 65 74 75 72 6e 73 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 s.zero,.it.returns.negative.infi
6e580 6e 69 74 79 3b 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 63 6c 6f nity;.if.<VAR>x</VAR>.is.too.clo
6e5a0 73 65 20 74 6f 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 69 74 20 6d 61 79 20 73 69 67 6e se.to.zero,..........it.may.sign
6e5c0 61 6c 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 al.overflow..........sq.~......w
6e5e0 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 db 74 00 07 66 6c 6f 61 74 20 78 74 00 .....t..math.hxq.~..t..float.xt.
6e600 05 66 6c 6f 61 74 74 00 05 6c 6f 67 69 6e 73 71 00 7e 00 0a 70 74 02 f5 0a 20 20 20 20 20 20 20 .floatt..loginsq.~..pt..........
6e620 20 54 68 65 20 3c 43 4f 44 45 3e 6c 6f 67 69 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .The.<CODE>login</CODE>.function
6e640 73 20 69 6e 73 65 72 74 73 20 61 6e 20 65 6e 74 72 79 20 69 6e 74 6f 20 74 68 65 20 75 73 65 72 s.inserts.an.entry.into.the.user
6e660 20 61 63 63 6f 75 6e 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 64 61 74 61 62 61 73 65 2e 20 20 .accounting..........database...
6e680 54 68 65 20 3c 43 4f 44 45 3e 75 74 5f 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 6d 65 6d 62 65 72 20 The.<CODE>ut_line</CODE>.member.
6e6a0 69 73 20 73 65 74 20 74 6f 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 65 72 6d 69 6e is.set.to.the.name.of.the.termin
6e6c0 61 6c 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2e 20 20 al..........on.standard.input...
6e6e0 49 66 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 69 73 20 6e 6f 74 20 61 20 74 65 72 6d 69 If.standard.input.is.not.a.termi
6e700 6e 61 6c 20 3c 43 4f 44 45 3e 6c 6f 67 69 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 nal.<CODE>login</CODE>..........
6e720 75 73 65 73 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 6f 72 20 73 74 61 6e 64 61 72 64 uses.standard.output.or.standard
6e740 20 65 72 72 6f 72 20 6f 75 74 70 75 74 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 6e .error.output.to.determine.the.n
6e760 61 6d 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2e 20 20 49 ame.of..........the.terminal...I
6e780 66 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 75 74 6d 70 3c 2f 43 4f 44 45 3e 20 68 61 73 20 61 f.<CODE>struct.utmp</CODE>.has.a
6e7a0 20 3c 43 4f 44 45 3e 75 74 5f 74 79 70 65 3c 2f 43 4f 44 45 3e 20 6d 65 6d 62 65 72 2c 0a 20 20 .<CODE>ut_type</CODE>.member,...
6e7c0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 67 69 6e 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 69 .......<CODE>login</CODE>.sets.i
6e7e0 74 20 74 6f 20 3c 43 4f 44 45 3e 55 53 45 52 5f 50 52 4f 43 45 53 53 3c 2f 43 4f 44 45 3e 2c 20 t.to.<CODE>USER_PROCESS</CODE>,.
6e800 61 6e 64 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 and.if.there.is.an..........<COD
6e820 45 3e 75 74 5f 70 69 64 3c 2f 43 4f 44 45 3e 20 6d 65 6d 62 65 72 2c 20 69 74 20 77 69 6c 6c 20 E>ut_pid</CODE>.member,.it.will.
6e840 62 65 20 73 65 74 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 20 49 44 20 6f 66 20 74 68 65 20 be.set.to.the.process.ID.of.the.
6e860 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2e 20 20 54 68 65 20 72 current..........process...The.r
6e880 65 6d 61 69 6e 69 6e 67 20 65 6e 74 72 69 65 73 20 61 72 65 20 63 6f 70 69 65 64 20 66 72 6f 6d emaining.entries.are.copied.from
6e8a0 20 3c 56 41 52 3e 65 6e 74 72 79 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .<VAR>entry</VAR>...........<br>
6e8c0 3c 62 72 3e 20 41 20 63 6f 70 79 20 6f 66 20 74 68 65 20 65 6e 74 72 79 20 69 73 20 77 72 69 74 <br>.A.copy.of.the.entry.is.writ
6e8e0 74 65 6e 20 74 6f 20 74 68 65 20 75 73 65 72 20 61 63 63 6f 75 6e 74 69 6e 67 20 6c 6f 67 20 66 ten.to.the.user.accounting.log.f
6e900 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 ile..........sq.~......w.....t..
6e920 75 74 6d 70 2e 68 78 71 00 7e 11 e2 74 00 18 63 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 6d 70 utmp.hxq.~..t..const.struct.utmp
6e940 20 2a 65 6e 74 72 79 74 00 04 76 6f 69 64 74 00 09 6c 6f 67 69 6e 5f 74 74 79 73 71 00 7e 00 0a .*entryt..voidt..login_ttysq.~..
6e960 70 74 01 68 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 73 pt.h.........This.function.makes
6e980 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c .<VAR>filedes</VAR>.the.controll
6e9a0 69 6e 67 20 74 65 72 6d 69 6e 61 6c 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 75 72 ing.terminal.of.the..........cur
6e9c0 72 65 6e 74 20 70 72 6f 63 65 73 73 2c 20 72 65 64 69 72 65 63 74 73 20 73 74 61 6e 64 61 72 64 rent.process,.redirects.standard
6e9e0 20 69 6e 70 75 74 2c 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 61 6e 64 0a 20 20 20 20 .input,.standard.output.and.....
6ea00 20 20 20 20 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 6f 75 74 70 75 74 20 74 6f 20 74 68 .....standard.error.output.to.th
6ea20 69 73 20 74 65 72 6d 69 6e 61 6c 2c 20 61 6e 64 20 63 6c 6f 73 65 73 20 3c 56 41 52 3e 66 69 6c is.terminal,.and.closes.<VAR>fil
6ea40 65 64 65 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 edes</VAR>...........<br><br>.Th
6ea60 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 is.function.returns.<CODE>0</COD
6ea80 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 66 75 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 2c 20 61 6e 64 E>.on.successful.completion,.and
6eaa0 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 65 72 72 .<CODE>-1</CODE>..........on.err
6eac0 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 or..........sq.~......w.....t..u
6eae0 74 6d 70 2e 68 78 71 00 7e 11 e9 74 00 0b 69 6e 74 20 66 69 6c 65 64 65 73 74 00 03 69 6e 74 74 tmp.hxq.~..t..int.filedest..intt
6eb00 00 04 6c 6f 67 6c 73 71 00 7e 00 0a 70 74 01 ad 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 ..loglsq.~..pt...........These.f
6eb20 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 unctions.compute.the.natural.log
6eb40 61 72 69 74 68 6d 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 3c 43 4f 44 45 3e 65 arithm.of.<VAR>x</VAR>...<CODE>e
6eb60 78 70 20 28 6c 6f 67 0a 20 20 20 20 20 20 20 20 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 29 xp.(log..........(<VAR>x</VAR>))
6eb80 3c 2f 43 4f 44 45 3e 20 65 71 75 61 6c 73 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 65 78 61 </CODE>.equals.<VAR>x</VAR>,.exa
6eba0 63 74 6c 79 20 69 6e 20 6d 61 74 68 65 6d 61 74 69 63 73 20 61 6e 64 20 61 70 70 72 6f 78 69 6d ctly.in.mathematics.and.approxim
6ebc0 61 74 65 6c 79 20 69 6e 0a 20 20 20 20 20 20 20 20 20 43 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ately.in..........C...........<b
6ebe0 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 r><br>.If.<VAR>x</VAR>.is.negati
6ec00 76 65 2c 20 3c 43 4f 44 45 3e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 ve,.<CODE>log</CODE>.signals.a.d
6ec20 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 omain.error...If.<VAR>x</VAR>...
6ec40 20 20 20 20 20 20 20 69 73 20 7a 65 72 6f 2c 20 69 74 20 72 65 74 75 72 6e 73 20 6e 65 67 61 74 .......is.zero,.it.returns.negat
6ec60 69 76 65 20 69 6e 66 69 6e 69 74 79 3b 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 ive.infinity;.if.<VAR>x</VAR>.is
6ec80 20 74 6f 6f 20 63 6c 6f 73 65 20 74 6f 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 69 74 20 .too.close.to.zero,..........it.
6eca0 6d 61 79 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 73 71 00 may.signal.overflow..........sq.
6ecc0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 11 f0 74 00 0d 6c ~......w.....t..math.hxq.~..t..l
6ece0 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 06 6c 6f 67 ong.double.xt..long.doublet..log
6ed00 6f 75 74 73 71 00 7e 00 0a 70 74 01 34 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 outsq.~..pt.4.........This.funct
6ed20 69 6f 6e 20 6d 6f 64 69 66 69 65 73 20 74 68 65 20 75 73 65 72 20 61 63 63 6f 75 6e 74 69 6e 67 ion.modifies.the.user.accounting
6ed40 20 64 61 74 61 62 61 73 65 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 74 68 65 0a 20 .database.to.indicate.that.the..
6ed60 20 20 20 20 20 20 20 20 75 73 65 72 20 6f 6e 20 3c 56 41 52 3e 75 74 5f 6c 69 6e 65 3c 2f 56 41 ........user.on.<VAR>ut_line</VA
6ed80 52 3e 20 68 61 73 20 6c 6f 67 67 65 64 20 6f 75 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e R>.has.logged.out...........<br>
6eda0 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 6c 6f 67 6f 75 74 3c 2f 43 4f 44 45 3e 20 66 75 6e <br>.The.<CODE>logout</CODE>.fun
6edc0 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 69 66 20 ction.returns.<CODE>1</CODE>.if.
6ede0 74 68 65 20 65 6e 74 72 79 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0a 20 20 20 20 20 the.entry.was.successfully......
6ee00 20 20 20 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 2c 20 6f 72 20 ....written.to.the.database,.or.
6ee20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 <CODE>0</CODE>.on.error.........
6ee40 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 74 6d 70 2e 68 78 71 00 7e 11 f7 .sq.~......w.....t..utmp.hxq.~..
6ee60 74 00 13 63 6f 6e 73 74 20 63 68 61 72 20 2a 75 74 5f 6c 69 6e 65 74 00 03 69 6e 74 74 00 07 6c t..const.char.*ut_linet..intt..l
6ee80 6f 67 77 74 6d 70 73 71 00 7e 00 0a 70 74 00 f9 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f ogwtmpsq.~..pt...........The.<CO
6eea0 44 45 3e 6c 6f 67 77 74 6d 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e DE>logwtmp</CODE>.function.appen
6eec0 64 73 20 61 6e 20 65 6e 74 72 79 20 74 6f 20 74 68 65 20 75 73 65 72 20 61 63 63 6f 75 6e 74 69 ds.an.entry.to.the.user.accounti
6eee0 6e 67 20 6c 6f 67 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 2c 20 66 6f 72 20 74 68 65 20 63 75 ng.log..........file,.for.the.cu
6ef00 72 72 65 6e 74 20 74 69 6d 65 20 61 6e 64 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 70 rrent.time.and.the.information.p
6ef20 72 6f 76 69 64 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 75 74 5f rovided.in.the..........<VAR>ut_
6ef40 6c 69 6e 65 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 75 74 5f 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 line</VAR>,.<VAR>ut_name</VAR>.a
6ef60 6e 64 20 3c 56 41 52 3e 75 74 5f 68 6f 73 74 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 2e nd.<VAR>ut_host</VAR>.arguments.
6ef80 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 74 6d 70 .........sq.~......w.....t..utmp
6efa0 2e 68 78 71 00 7e 11 fe 74 00 3d 63 6f 6e 73 74 20 63 68 61 72 20 2a 75 74 5f 6c 69 6e 65 2c 20 .hxq.~..t.=const.char.*ut_line,.
6efc0 63 6f 6e 73 74 20 63 68 61 72 20 2a 75 74 5f 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 const.char.*ut_name,.const.char.
6efe0 2a 75 74 5f 68 6f 73 74 74 00 04 76 6f 69 64 74 00 07 6c 6f 6e 67 6a 6d 70 73 71 00 7e 00 0a 70 *ut_hostt..voidt..longjmpsq.~..p
6f000 74 02 03 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 6f 72 t...........This.function.restor
6f020 65 73 20 63 75 72 72 65 6e 74 20 65 78 65 63 75 74 69 6f 6e 20 74 6f 20 74 68 65 20 73 74 61 74 es.current.execution.to.the.stat
6f040 65 20 73 61 76 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 61 74 65 3c 2f e.saved.in..........<VAR>state</
6f060 56 41 52 3e 2c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 73 20 65 78 65 63 75 74 69 6f 6e 20 66 72 VAR>,.and.continues.execution.fr
6f080 6f 6d 20 74 68 65 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 65 74 6a 6d 70 3c 2f 43 4f 44 om.the.call.to.<CODE>setjmp</COD
6f0a0 45 3e 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 65 73 74 61 62 6c 69 73 68 65 64 20 74 68 61 E>.that..........established.tha
6f0c0 74 20 72 65 74 75 72 6e 20 70 6f 69 6e 74 2e 20 20 52 65 74 75 72 6e 69 6e 67 20 66 72 6f 6d 20 t.return.point...Returning.from.
6f0e0 3c 43 4f 44 45 3e 73 65 74 6a 6d 70 3c 2f 43 4f 44 45 3e 20 62 79 20 6d 65 61 6e 73 20 6f 66 0a <CODE>setjmp</CODE>.by.means.of.
6f100 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 6a 6d 70 3c 2f 43 4f 44 45 3e 20 72 65 .........<CODE>longjmp</CODE>.re
6f120 74 75 72 6e 73 20 74 68 65 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d turns.the.<VAR>value</VAR>.argum
6f140 65 6e 74 20 74 68 61 74 20 77 61 73 20 70 61 73 73 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 ent.that.was.passed.to..........
6f160 3c 43 4f 44 45 3e 6c 6f 6e 67 6a 6d 70 3c 2f 43 4f 44 45 3e 2c 20 72 61 74 68 65 72 20 74 68 61 <CODE>longjmp</CODE>,.rather.tha
6f180 6e 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 20 20 28 42 75 74 20 69 66 20 3c 56 41 52 3e n.<CODE>0</CODE>...(But.if.<VAR>
6f1a0 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 67 69 76 65 6e 20 61 73 0a 20 20 20 20 20 20 20 20 value</VAR>.is.given.as.........
6f1c0 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 73 65 74 6a 6d 70 3c 2f 43 .<CODE>0</CODE>,.<CODE>setjmp</C
6f1e0 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 ODE>.returns.<CODE>1</CODE>)....
6f200 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 65 74 6a 6d 70 2e ......sq.~......w.....t..setjmp.
6f220 68 78 71 00 7e 12 05 74 00 18 6a 6d 70 5f 62 75 66 20 73 74 61 74 65 2c 20 69 6e 74 20 76 61 6c hxq.~..t..jmp_buf.state,.int.val
6f240 75 65 74 00 04 76 6f 69 64 74 00 07 6c 72 61 6e 64 34 38 73 71 00 7e 00 0a 70 74 01 85 0a 20 20 uet..voidt..lrand48sq.~..pt.....
6f260 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6c 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 20 66 ......The.<CODE>lrand48</CODE>.f
6f280 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 unction.returns.an.integer.value
6f2a0 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e .in.the.range.of..........<CODE>
6f2c0 30 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 32 5e 33 31 3c 2f 43 4f 44 45 3e 20 28 65 0</CODE>.to.<CODE>2^31</CODE>.(e
6f2e0 78 63 6c 75 73 69 76 65 29 2e 20 20 45 76 65 6e 20 69 66 20 74 68 65 20 73 69 7a 65 20 6f 66 20 xclusive)...Even.if.the.size.of.
6f300 74 68 65 20 3c 43 4f 44 45 3e 6c 6f 6e 67 0a 20 20 20 20 20 20 20 20 20 69 6e 74 3c 2f 43 4f 44 the.<CODE>long..........int</COD
6f320 45 3e 20 74 79 70 65 20 63 61 6e 20 74 61 6b 65 20 6d 6f 72 65 20 74 68 61 6e 20 33 32 20 62 69 E>.type.can.take.more.than.32.bi
6f340 74 73 2c 20 6e 6f 20 68 69 67 68 65 72 20 6e 75 6d 62 65 72 73 20 61 72 65 20 72 65 74 75 72 6e ts,.no.higher.numbers.are.return
6f360 65 64 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 61 6e 64 6f 6d 20 62 69 74 73 20 61 72 65 ed...........The.random.bits.are
6f380 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 67 6c 6f 62 61 6c 20 73 74 61 74 65 20 .determined.by.the.global.state.
6f3a0 6f 66 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 67 65 of.the.random.number..........ge
6f3c0 6e 65 72 61 74 6f 72 20 69 6e 20 74 68 65 20 43 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 nerator.in.the.C.library........
6f3e0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 ..sq.~......w.....t..stdlib.hxq.
6f400 7e 12 0c 74 00 04 76 6f 69 64 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 09 6c 72 61 6e 64 34 38 5f ~..t..voidt..long.intt..lrand48_
6f420 72 73 71 00 7e 00 0a 70 74 01 f0 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f rsq.~..pt...........This.functio
6f440 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 6c 72 61 6e 64 34 38 3c 2f 43 n.is.similar.to.<CODE>lrand48</C
6f460 4f 44 45 3e 2c 20 62 75 74 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 69 74 20 74 61 6b 65 73 20 61 ODE>,.but.in.addition.it.takes.a
6f480 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 62 75 66 66 65 72 20 64 65 ..........pointer.to.a.buffer.de
6f4a0 73 63 72 69 62 69 6e 67 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 72 61 6e 64 6f 6d scribing.the.state.of.the.random
6f4c0 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 6a 75 73 74 20 .number.generator..........just.
6f4e0 6c 69 6b 65 20 3c 43 4f 44 45 3e 64 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 like.<CODE>drand48</CODE>.......
6f500 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 ....<br><br>.If.the.return.value
6f520 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 .of.the.function.is.non-negative
6f540 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 0a 20 20 20 20 20 20 20 20 20 74 .the.variable.pointed..........t
6f560 6f 20 62 79 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 o.by.<VAR>result</VAR>.contains.
6f580 74 68 65 20 72 65 73 75 6c 74 2e 20 20 4f 74 68 65 72 77 69 73 65 20 61 6e 20 65 72 72 6f 72 20 the.result...Otherwise.an.error.
6f5a0 6f 63 63 75 72 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 occurred...........<br><br>.This
6f5c0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 .function.is.a.GNU.extension.and
6f5e0 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 70 6f 72 74 61 62 6c 65 0a .should.not.be.used.in.portable.
6f600 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 .........programs..........sq.~.
6f620 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 12 13 74 00 2b 73 .....w.....t..stdlib.hxq.~..t.+s
6f640 74 72 75 63 74 20 64 72 61 6e 64 34 38 5f 64 61 74 61 20 2a 62 75 66 66 65 72 2c 20 64 6f 75 62 truct.drand48_data.*buffer,.doub
6f660 6c 65 20 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 05 6c 72 69 6e 74 73 71 00 7e 00 0a 70 74 le.*resultt..intt..lrintsq.~..pt
6f680 00 97 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6a ...........These.functions.are.j
6f6a0 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 ust.like.<CODE>rint</CODE>,.but.
6f6c0 74 68 65 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e they.return.a..........<CODE>lon
6f6e0 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 g.int</CODE>.instead.of.a.floati
6f700 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ng-point.number..........sq.~...
6f720 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 12 1a 74 00 08 64 6f 75 62 6c ...w.....t..math.hxq.~..t..doubl
6f740 65 20 78 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 06 6c 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 00 e.xt..long.intt..lrintfsq.~..pt.
6f760 97 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6a 75 ..........These.functions.are.ju
6f780 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 74 st.like.<CODE>rint</CODE>,.but.t
6f7a0 68 65 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 hey.return.a..........<CODE>long
6f7c0 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e .int</CODE>.instead.of.a.floatin
6f7e0 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 g-point.number..........sq.~....
6f800 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 12 21 74 00 07 66 6c 6f 61 74 20 ..w.....t..math.hxq.~.!t..float.
6f820 78 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 06 6c 72 69 6e 74 6c 73 71 00 7e 00 0a 70 74 00 97 0a xt..long.intt..lrintlsq.~..pt...
6f840 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6a 75 73 74 ........These.functions.are.just
6f860 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 74 68 65 .like.<CODE>rint</CODE>,.but.the
6f880 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 y.return.a..........<CODE>long.i
6f8a0 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 2d nt</CODE>.instead.of.a.floating-
6f8c0 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 point.number..........sq.~......
6f8e0 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 12 28 74 00 0d 6c 6f 6e 67 20 64 6f 75 w.....t..math.hxq.~.(t..long.dou
6f900 62 6c 65 20 78 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 06 6c 72 6f 75 6e 64 73 71 00 7e 00 0a 70 ble.xt..long.intt..lroundsq.~..p
6f920 74 00 98 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 t...........These.functions.are.
6f940 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 6f 75 6e 64 3c 2f 43 4f 44 45 3e 2c 20 62 75 just.like.<CODE>round</CODE>,.bu
6f960 74 20 74 68 65 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c t.they.return.a..........<CODE>l
6f980 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 ong.int</CODE>.instead.of.a.floa
6f9a0 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 ting-point.number..........sq.~.
6f9c0 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 12 2f 74 00 08 64 6f 75 .....w.....t..math.hxq.~./t..dou
6f9e0 62 6c 65 20 78 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 07 6c 72 6f 75 6e 64 66 73 71 00 7e 00 0a ble.xt..long.intt..lroundfsq.~..
6fa00 70 74 00 98 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 pt...........These.functions.are
6fa20 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 6f 75 6e 64 3c 2f 43 4f 44 45 3e 2c 20 62 .just.like.<CODE>round</CODE>,.b
6fa40 75 74 20 74 68 65 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e ut.they.return.a..........<CODE>
6fa60 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f long.int</CODE>.instead.of.a.flo
6fa80 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e ating-point.number..........sq.~
6faa0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 12 36 74 00 07 66 6c ......w.....t..math.hxq.~.6t..fl
6fac0 6f 61 74 20 78 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 07 6c 72 6f 75 6e 64 6c 73 71 00 7e 00 0a oat.xt..long.intt..lroundlsq.~..
6fae0 70 74 00 98 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 pt...........These.functions.are
6fb00 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 6f 75 6e 64 3c 2f 43 4f 44 45 3e 2c 20 62 .just.like.<CODE>round</CODE>,.b
6fb20 75 74 20 74 68 65 79 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e ut.they.return.a..........<CODE>
6fb40 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f long.int</CODE>.instead.of.a.flo
6fb60 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e ating-point.number..........sq.~
6fb80 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 12 3d 74 00 0d 6c 6f ......w.....t..math.hxq.~.=t..lo
6fba0 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 07 6c 73 65 61 72 63 68 ng.double.xt..long.intt..lsearch
6fbc0 73 71 00 7e 00 0a 70 74 03 bd 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6c 73 65 sq.~..pt...........The.<CODE>lse
6fbe0 61 72 63 68 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 arch</CODE>.function.is.similar.
6fc00 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 6c 66 69 6e 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 to.the.<CODE>lfind</CODE>.functi
6fc20 6f 6e 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 73 65 61 72 63 68 65 73 20 74 68 65 20 67 69 on...It..........searches.the.gi
6fc40 76 65 6e 20 61 72 72 61 79 20 66 6f 72 20 61 6e 20 65 6c 65 6d 65 6e 74 20 61 6e 64 20 72 65 74 ven.array.for.an.element.and.ret
6fc60 75 72 6e 73 20 69 74 20 69 66 20 66 6f 75 6e 64 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 urns.it.if.found...The..........
6fc80 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 69 66 20 6e 6f 20 6d 61 74 63 68 69 6e difference.is.that.if.no.matchin
6fca0 67 20 65 6c 65 6d 65 6e 74 20 69 73 20 66 6f 75 6e 64 20 74 68 65 20 3c 43 4f 44 45 3e 6c 73 65 g.element.is.found.the.<CODE>lse
6fcc0 61 72 63 68 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 64 arch</CODE>..........function.ad
6fce0 64 73 20 74 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 ds.the.object.pointed.to.by.<VAR
6fd00 3e 6b 65 79 3c 2f 56 41 52 3e 20 28 77 69 74 68 20 61 20 73 69 7a 65 20 6f 66 0a 20 20 20 20 20 >key</VAR>.(with.a.size.of......
6fd20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 29 20 61 74 20 74 68 ....<VAR>size</VAR>.bytes).at.th
6fd40 65 20 65 6e 64 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 61 6e 64 20 69 74 20 69 6e 63 72 65 6d e.end.of.the.array.and.it.increm
6fd60 65 6e 74 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 ents.the.value.of..........<CODE
6fd80 3e 2a 3c 56 41 52 3e 6e 6d 65 6d 62 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 65 66 >*<VAR>nmemb</VAR></CODE>.to.ref
6fda0 6c 65 63 74 20 74 68 69 73 20 61 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 lect.this.addition...........<br
6fdc0 3e 3c 62 72 3e 20 54 68 69 73 20 6d 65 61 6e 73 20 66 6f 72 20 74 68 65 20 63 61 6c 6c 65 72 20 ><br>.This.means.for.the.caller.
6fde0 74 68 61 74 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 73 75 72 65 20 74 68 61 74 20 74 68 65 20 that.if.it.is.not.sure.that.the.
6fe00 61 72 72 61 79 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 6c 65 6d array.contains..........the.elem
6fe20 65 6e 74 20 6f 6e 65 20 69 73 20 73 65 61 72 63 68 69 6e 67 20 66 6f 72 20 74 68 65 20 6d 65 6d ent.one.is.searching.for.the.mem
6fe40 6f 72 79 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 72 20 74 68 65 20 61 72 72 61 79 0a 20 20 20 20 ory.allocated.for.the.array.....
6fe60 20 20 20 20 20 73 74 61 72 74 69 6e 67 20 61 74 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e .....starting.at.<VAR>base</VAR>
6fe80 20 6d 75 73 74 20 68 61 76 65 20 72 6f 6f 6d 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 3c 56 41 .must.have.room.for.at.least.<VA
6fea0 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 62 79 74 65 73 R>size</VAR>.more..........bytes
6fec0 2e 20 20 49 66 20 6f 6e 65 20 69 73 20 73 75 72 65 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 73 ...If.one.is.sure.the.element.is
6fee0 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 69 74 20 69 73 20 62 65 74 74 65 72 20 74 6f 20 75 73 .in.the.array.it.is.better.to.us
6ff00 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 66 69 6e 64 3c 2f 43 4f 44 45 3e 20 73 6f e..........<CODE>lfind</CODE>.so
6ff20 20 68 61 76 69 6e 67 20 6d 6f 72 65 20 72 6f 6f 6d 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 69 .having.more.room.in.the.array.i
6ff40 73 20 61 6c 77 61 79 73 20 6e 65 63 65 73 73 61 72 79 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 s.always.necessary.when.........
6ff60 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 6c 73 65 61 72 63 68 3c 2f 43 4f 44 45 3e 2e 0a 20 .calling.<CODE>lsearch</CODE>...
6ff80 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 65 61 72 63 68 .......sq.~......w.....t..search
6ffa0 2e 68 78 71 00 7e 12 44 74 00 4f 63 6f 6e 73 74 20 76 6f 69 64 20 2a 6b 65 79 2c 20 76 6f 69 64 .hxq.~.Dt.Oconst.void.*key,.void
6ffc0 20 2a 62 61 73 65 2c 20 73 69 7a 65 5f 74 20 2a 6e 6d 65 6d 62 2c 20 73 69 7a 65 5f 74 20 73 69 .*base,.size_t.*nmemb,.size_t.si
6ffe0 7a 65 2c 20 63 6f 6d 70 61 72 69 73 6f 6e 5f 66 6e 5f 74 20 63 6f 6d 70 61 72 74 00 06 76 6f 69 ze,.comparison_fn_t.compart..voi
70000 64 20 2a 74 00 05 6c 73 65 65 6b 73 71 00 7e 00 0a 70 74 11 ad 0a 20 20 20 20 20 20 20 20 54 68 d.*t..lseeksq.~..pt...........Th
70020 65 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 e.<CODE>lseek</CODE>.function.is
70040 20 75 73 65 64 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f .used.to.change.the.file.positio
70060 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 77 69 74 68 20 64 65 73 63 n.of.the..........file.with.desc
70080 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 riptor.<VAR>filedes</VAR>.......
700a0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 77 68 65 6e 63 65 3c 2f 56 41 ....<br><br>.The.<VAR>whence</VA
700c0 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 68 6f 77 20 74 68 65 20 3c 56 R>.argument.specifies.how.the.<V
700e0 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 AR>offset</VAR>.should.be.......
70100 20 20 20 69 6e 74 65 72 70 72 65 74 65 64 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 ...interpreted,.in.the.same.way.
70120 61 73 20 66 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 66 75 as.for.the.<CODE>fseek</CODE>.fu
70140 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 69 74 20 6d 75 73 74 0a 20 20 20 20 20 20 20 20 20 62 65 20 nction,.and.it.must..........be.
70160 6f 6e 65 20 6f 66 20 74 68 65 20 73 79 6d 62 6f 6c 69 63 20 63 6f 6e 73 74 61 6e 74 73 20 3c 43 one.of.the.symbolic.constants.<C
70180 4f 44 45 3e 53 45 45 4b 5f 53 45 54 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 53 45 45 4b 5f ODE>SEEK_SET</CODE>,.<CODE>SEEK_
701a0 43 55 52 3c 2f 43 4f 44 45 3e 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 53 45 CUR</CODE>,.or..........<CODE>SE
701c0 45 4b 5f 45 4e 44 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e EK_END</CODE>...........<br><br>
701e0 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 45 45 4b 5f 53 .<DL>...........<DT><CODE>SEEK_S
70200 45 54 0a 20 20 20 20 20 20 20 20 20 53 70 65 63 69 66 69 65 73 20 74 68 61 74 20 3c 56 41 52 3e ET..........Specifies.that.<VAR>
70220 77 68 65 6e 63 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 63 6f 75 6e 74 20 6f 66 20 63 68 61 72 61 whence</VAR>.is.a.count.of.chara
70240 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 3c 2f 43 4f 44 45 3e 0a cters.from.the.beginning</CODE>.
70260 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 <DD>..........of.the.file.......
70280 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 45 45 4b 5f 43 55 52 0a ....<br><br>.<DT><CODE>SEEK_CUR.
702a0 20 20 20 20 20 20 20 20 20 53 70 65 63 69 66 69 65 73 20 74 68 61 74 20 3c 56 41 52 3e 77 68 65 .........Specifies.that.<VAR>whe
702c0 6e 63 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 63 6f 75 6e 74 20 6f 66 20 63 68 61 72 61 63 74 65 nce</VAR>.is.a.count.of.characte
702e0 72 73 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a rs.from.the.current</CODE>.<DD>.
70300 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 2e 20 20 54 68 69 73 20 63 6f .........file.position...This.co
70320 75 6e 74 20 6d 61 79 20 62 65 20 70 6f 73 69 74 69 76 65 20 6f 72 20 6e 65 67 61 74 69 76 65 2e unt.may.be.positive.or.negative.
70340 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 45 45 ..........<br><br>.<DT><CODE>SEE
70360 4b 5f 45 4e 44 0a 20 20 20 20 20 20 20 20 20 53 70 65 63 69 66 69 65 73 20 74 68 61 74 20 3c 56 K_END..........Specifies.that.<V
70380 41 52 3e 77 68 65 6e 63 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 63 6f 75 6e 74 20 6f 66 20 63 68 AR>whence</VAR>.is.a.count.of.ch
703a0 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 3c 2f 43 4f 44 45 3e 0a aracters.from.the.end.of</CODE>.
703c0 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 2e 20 20 41 20 6e 65 67 61 74 <DD>..........the.file...A.negat
703e0 69 76 65 20 63 6f 75 6e 74 20 73 70 65 63 69 66 69 65 73 20 61 20 70 6f 73 69 74 69 6f 6e 20 77 ive.count.specifies.a.position.w
70400 69 74 68 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 65 78 74 65 6e ithin.the.current..........exten
70420 74 20 6f 66 20 74 68 65 20 66 69 6c 65 3b 20 61 20 70 6f 73 69 74 69 76 65 20 63 6f 75 6e 74 20 t.of.the.file;.a.positive.count.
70440 73 70 65 63 69 66 69 65 73 20 61 20 70 6f 73 69 74 69 6f 6e 20 70 61 73 74 20 74 68 65 0a 20 20 specifies.a.position.past.the...
70460 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 65 6e 64 2e 20 20 49 66 20 79 6f 75 20 73 65 74 20 .......current.end...If.you.set.
70480 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 70 61 73 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e the.position.past.the.current.en
704a0 64 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 77 72 69 74 65 20 64 d,.and..........actually.write.d
704c0 61 74 61 2c 20 79 6f 75 20 77 69 6c 6c 20 65 78 74 65 6e 64 20 74 68 65 20 66 69 6c 65 20 77 69 ata,.you.will.extend.the.file.wi
704e0 74 68 20 7a 65 72 6f 73 20 75 70 20 74 6f 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 70 6f 73 th.zeros.up.to.that..........pos
70500 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c ition...........</DL>..........<
70520 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 br><br>.The.return.value.from.<C
70540 4f 44 45 3e 6c 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 74 68 65 ODE>lseek</CODE>.is.normally.the
70560 20 72 65 73 75 6c 74 69 6e 67 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f .resulting.file..........positio
70580 6e 2c 20 6d 65 61 73 75 72 65 64 20 69 6e 20 62 79 74 65 73 20 66 72 6f 6d 20 74 68 65 20 62 65 n,.measured.in.bytes.from.the.be
705a0 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 59 6f ginning.of.the.file...........Yo
705c0 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 66 65 61 74 75 72 65 20 74 6f 67 65 74 68 65 72 20 u.can.use.this.feature.together.
705e0 77 69 74 68 20 3c 43 4f 44 45 3e 53 45 45 4b 5f 43 55 52 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 65 with.<CODE>SEEK_CUR</CODE>.to.re
70600 61 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 66 69 6c 65 20 70 6f 73 ad.the..........current.file.pos
70620 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 ition...........<br><br>.If.you.
70640 77 61 6e 74 20 74 6f 20 61 70 70 65 6e 64 20 74 6f 20 74 68 65 20 66 69 6c 65 2c 20 73 65 74 74 want.to.append.to.the.file,.sett
70660 69 6e 67 20 74 68 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 74 6f 20 74 68 65 0a 20 20 20 ing.the.file.position.to.the....
70680 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 65 6e 64 20 6f 66 20 66 69 6c 65 20 77 69 74 68 20 3c ......current.end.of.file.with.<
706a0 43 4f 44 45 3e 53 45 45 4b 5f 45 4e 44 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 73 75 66 66 CODE>SEEK_END</CODE>.is.not.suff
706c0 69 63 69 65 6e 74 2e 20 20 41 6e 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 icient...Another..........proces
706e0 73 20 6d 61 79 20 77 72 69 74 65 20 6d 6f 72 65 20 64 61 74 61 20 61 66 74 65 72 20 79 6f 75 20 s.may.write.more.data.after.you.
70700 73 65 65 6b 20 62 75 74 20 62 65 66 6f 72 65 20 79 6f 75 20 77 72 69 74 65 2c 0a 20 20 20 20 20 seek.but.before.you.write,......
70720 20 20 20 20 65 78 74 65 6e 64 69 6e 67 20 74 68 65 20 66 69 6c 65 20 73 6f 20 74 68 65 20 70 6f ....extending.the.file.so.the.po
70740 73 69 74 69 6f 6e 20 79 6f 75 20 77 72 69 74 65 20 6f 6e 74 6f 20 63 6c 6f 62 62 65 72 73 20 74 sition.you.write.onto.clobbers.t
70760 68 65 69 72 20 64 61 74 61 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 73 74 65 61 64 2c 20 75 73 65 heir.data...........Instead,.use
70780 20 74 68 65 20 3c 43 4f 44 45 3e 4f 5f 41 50 50 45 4e 44 3c 2f 43 4f 44 45 3e 20 6f 70 65 72 61 .the.<CODE>O_APPEND</CODE>.opera
707a0 74 69 6e 67 20 6d 6f 64 65 3b 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 ting.mode;............<br><br>.Y
707c0 6f 75 20 63 61 6e 20 73 65 74 20 74 68 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 70 61 73 ou.can.set.the.file.position.pas
707e0 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 20 20 t.the.current.end.of.the.file...
70800 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 62 79 20 69 74 73 65 6c 66 This..........does.not.by.itself
70820 20 6d 61 6b 65 20 74 68 65 20 66 69 6c 65 20 6c 6f 6e 67 65 72 3b 20 3c 43 4f 44 45 3e 6c 73 65 .make.the.file.longer;.<CODE>lse
70840 65 6b 3c 2f 43 4f 44 45 3e 20 6e 65 76 65 72 20 63 68 61 6e 67 65 73 20 74 68 65 0a 20 20 20 20 ek</CODE>.never.changes.the.....
70860 20 20 20 20 20 66 69 6c 65 2e 20 20 42 75 74 20 73 75 62 73 65 71 75 65 6e 74 20 6f 75 74 70 75 .....file...But.subsequent.outpu
70880 74 20 61 74 20 74 68 61 74 20 70 6f 73 69 74 69 6f 6e 20 77 69 6c 6c 20 65 78 74 65 6e 64 20 74 t.at.that.position.will.extend.t
708a0 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 43 68 61 72 61 63 74 65 72 73 20 62 65 74 he.file...........Characters.bet
708c0 77 65 65 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 6e 64 20 6f 66 20 66 69 6c 65 20 61 6e ween.the.previous.end.of.file.an
708e0 64 20 74 68 65 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 d.the.new.position.are..........
70900 66 69 6c 6c 65 64 20 77 69 74 68 20 7a 65 72 6f 73 2e 20 20 45 78 74 65 6e 64 69 6e 67 20 74 68 filled.with.zeros...Extending.th
70920 65 20 66 69 6c 65 20 69 6e 20 74 68 69 73 20 77 61 79 20 63 61 6e 20 63 72 65 61 74 65 20 61 0a e.file.in.this.way.can.create.a.
70940 20 20 20 20 20 20 20 20 20 60 60 68 6f 6c 65 27 27 3a 20 74 68 65 20 62 6c 6f 63 6b 73 20 6f 66 .........``hole'':.the.blocks.of
70960 20 7a 65 72 6f 73 20 61 72 65 20 6e 6f 74 20 61 63 74 75 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 .zeros.are.not.actually.allocate
70980 64 20 6f 6e 20 64 69 73 6b 2c 20 73 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 d.on.disk,.so.the..........file.
709a0 74 61 6b 65 73 20 75 70 20 6c 65 73 73 20 73 70 61 63 65 20 74 68 61 6e 20 69 74 20 61 70 70 65 takes.up.less.space.than.it.appe
709c0 61 72 73 20 74 6f 3b 20 69 74 20 69 73 20 74 68 65 6e 20 63 61 6c 6c 65 64 20 61 0a 20 20 20 20 ars.to;.it.is.then.called.a.....
709e0 20 20 20 20 20 60 60 73 70 61 72 73 65 20 66 69 6c 65 27 27 2e 0a 20 20 20 20 20 20 20 20 20 20 .....``sparse.file''............
70a00 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 66 69 6c 65 73 0a 20 20 20 20 20 20 20 files...........in.files........
70a20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 ..<br><br>.If.the.file.position.
70a40 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2c 20 6f 72 20 74 68 65 20 6f 70 65 72 61 74 cannot.be.changed,.or.the.operat
70a60 69 6f 6e 20 69 73 20 69 6e 20 73 6f 6d 65 20 77 61 79 0a 20 20 20 20 20 20 20 20 20 69 6e 76 61 ion.is.in.some.way..........inva
70a80 6c 69 64 2c 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 lid,.<CODE>lseek</CODE>.returns.
70aa0 61 20 76 61 6c 75 65 20 6f 66 20 2d 31 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 a.value.of.-1...The.following...
70ac0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 .......<CODE>errno</CODE>.error.
70ae0 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 conditions.are.defined.for.this.
70b00 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e function:..........<br><br>.<DL>
70b20 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 ...........<DT><CODE>EBADF</CODE
70b40 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 >.<DD>..........The.<VAR>filedes
70b60 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 </VAR>.is.not.a.valid.file.descr
70b80 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f iptor...........<br><br>.<DT><CO
70ba0 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 DE>EINVAL</CODE>.<DD>..........T
70bc0 68 65 20 3c 56 41 52 3e 77 68 65 6e 63 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 76 61 he.<VAR>whence</VAR>.argument.va
70be0 6c 75 65 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2c 20 6f 72 20 74 68 65 20 72 65 73 75 6c 74 69 lue.is.not.valid,.or.the.resulti
70c00 6e 67 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 6f 66 66 73 65 74 20 69 73 20 6e 6f 74 20 76 ng..........file.offset.is.not.v
70c20 61 6c 69 64 2e 20 20 41 20 66 69 6c 65 20 6f 66 66 73 65 74 20 69 73 20 69 6e 76 61 6c 69 64 2e alid...A.file.offset.is.invalid.
70c40 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 50 ..........<br><br>.<DT><CODE>ESP
70c60 49 50 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 IPE</CODE>.<DD>..........The.<VA
70c80 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 R>filedes</VAR>.corresponds.to.a
70ca0 6e 20 6f 62 6a 65 63 74 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 70 6f 73 69 74 69 6f 6e n.object.that.cannot.be.position
70cc0 65 64 2c 0a 20 20 20 20 20 20 20 20 20 73 75 63 68 20 61 73 20 61 20 70 69 70 65 2c 20 46 49 46 ed,..........such.as.a.pipe,.FIF
70ce0 4f 20 6f 72 20 74 65 72 6d 69 6e 61 6c 20 64 65 76 69 63 65 2e 20 20 28 50 4f 53 49 58 2e 31 20 O.or.terminal.device...(POSIX.1.
70d00 73 70 65 63 69 66 69 65 73 20 74 68 69 73 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 6f 6e specifies.this.error..........on
70d20 6c 79 20 66 6f 72 20 70 69 70 65 73 20 61 6e 64 20 46 49 46 4f 73 2c 20 62 75 74 20 69 6e 20 74 ly.for.pipes.and.FIFOs,.but.in.t
70d40 68 65 20 47 4e 55 20 73 79 73 74 65 6d 2c 20 79 6f 75 20 61 6c 77 61 79 73 20 67 65 74 0a 20 20 he.GNU.system,.you.always.get...
70d60 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 53 50 49 50 45 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 .......<CODE>ESPIPE</CODE>.if.th
70d80 65 20 6f 62 6a 65 63 74 20 69 73 20 6e 6f 74 20 73 65 65 6b 61 62 6c 65 2e 29 0a 20 20 20 20 20 e.object.is.not.seekable.)......
70da0 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e ....</DL>..........<br><br>.When
70dc0 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 .the.source.file.is.compiled.wit
70de0 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c h.<CODE>_FILE_OFFSET_BITS.==.64<
70e00 2f 43 4f 44 45 3e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 3c /CODE>.the..........<CODE>lseek<
70e20 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 /CODE>.function.is.in.fact.<CODE
70e40 3e 6c 73 65 65 6b 36 34 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 74 79 70 65 0a 20 20 20 >lseek64</CODE>.and.the.type....
70e60 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 3e 20 68 61 73 20 36 34 20 ......<CODE>off_t</CODE>.has.64.
70e80 62 69 74 73 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 bits.which.makes.it.possible.to.
70ea0 68 61 6e 64 6c 65 20 66 69 6c 65 73 20 75 70 20 74 6f 0a 20 20 20 20 20 20 20 20 20 32 5e 36 33 handle.files.up.to..........2^63
70ec0 20 62 79 74 65 73 20 69 6e 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .bytes.in.length...........<br><
70ee0 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 br>.This.function.is.a.cancellat
70f00 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 6f 67 ion.point.in.multi-threaded.prog
70f20 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 69 73 20 61 20 70 72 6f 62 6c 65 rams...This..........is.a.proble
70f40 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 61 6c 6c 6f 63 61 74 65 73 20 73 6f 6d 65 20 72 m.if.the.thread.allocates.some.r
70f60 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 0a 20 20 20 20 esources.(like.memory,.file.....
70f80 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 20 .....descriptors,.semaphores.or.
70fa0 77 68 61 74 65 76 65 72 29 20 61 74 20 74 68 65 20 74 69 6d 65 20 3c 43 4f 44 45 3e 6c 73 65 65 whatever).at.the.time.<CODE>lsee
70fc0 6b 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 49 66 k</CODE>.is..........called...If
70fe0 20 74 68 65 20 74 68 72 65 61 64 20 67 65 74 73 20 63 61 6e 63 65 6c 65 64 20 74 68 65 73 65 20 .the.thread.gets.canceled.these.
71000 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 20 61 6c 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 resources.stay.allocated........
71020 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 6e 64 73 2e 20 20 54 6f 20 61 76 ..until.the.program.ends...To.av
71040 6f 69 64 20 74 68 69 73 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 3c 2f 43 oid.this.calls.to.<CODE>lseek</C
71060 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 ODE>.should.be..........protecte
71080 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 d.using.cancellation.handlers...
710a0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 6c 73 65 65 6b ........<br><br>.The.<CODE>lseek
710c0 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 75 6e 64 65 72 6c 79 69 </CODE>.function.is.the.underlyi
710e0 6e 67 20 70 72 69 6d 69 74 69 76 65 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 ng.primitive.for.the..........<C
71100 4f 44 45 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 66 73 65 65 6b 6f 3c 2f ODE>fseek</CODE>,.<CODE>fseeko</
71120 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 66 74 65 6c 6c 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 CODE>,.<CODE>ftell</CODE>,.<CODE
71140 3e 66 74 65 6c 6c 6f 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 >ftello</CODE>.and..........<COD
71160 45 3e 72 65 77 69 6e 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 77 68 69 63 68 E>rewind</CODE>.functions,.which
71180 20 6f 70 65 72 61 74 65 20 6f 6e 20 73 74 72 65 61 6d 73 20 69 6e 73 74 65 61 64 20 6f 66 20 66 .operate.on.streams.instead.of.f
711a0 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 2e 0a 20 20 20 20 20 20 ile..........descriptors........
711c0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 ..sq.~......w.....t..unistd.hxq.
711e0 7e 12 4b 74 00 25 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 6f 66 66 5f 74 20 6f 66 66 73 65 74 2c ~.Kt.%int.filedes,.off_t.offset,
71200 20 69 6e 74 20 77 68 65 6e 63 65 74 00 05 6f 66 66 5f 74 74 00 07 6c 73 65 65 6b 36 34 73 71 00 .int.whencet..off_tt..lseek64sq.
71220 7e 00 0a 70 74 03 33 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 ~..pt.3.........This.function.is
71240 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 3c 2f 43 4f 44 .similar.to.the.<CODE>lseek</COD
71260 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 0a 20 20 20 E>.function...The.difference....
71280 20 20 20 20 20 20 69 73 20 74 68 61 74 20 74 68 65 20 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 ......is.that.the.<VAR>offset</V
712a0 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6f AR>.parameter.is.of.type.<CODE>o
712c0 66 66 36 34 5f 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 20 20 20 20 20 ff64_t</CODE>.instead.of........
712e0 20 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 6d 61 6b 65 73 ..<CODE>off_t</CODE>.which.makes
71300 20 69 74 20 70 6f 73 73 69 62 6c 65 20 6f 6e 20 33 32 20 62 69 74 20 6d 61 63 68 69 6e 65 73 20 .it.possible.on.32.bit.machines.
71320 74 6f 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 20 6c 61 72 67 65 72 to.address..........files.larger
71340 20 74 68 61 6e 20 32 5e 33 31 20 62 79 74 65 73 20 61 6e 64 20 75 70 20 74 6f 20 32 5e 36 33 20 .than.2^31.bytes.and.up.to.2^63.
71360 62 79 74 65 73 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 64 65 73 63 72 69 bytes...The..........file.descri
71380 70 74 6f 72 20 3c 43 4f 44 45 3e 66 69 6c 65 64 65 73 3c 2f 43 4f 44 45 3e 20 6d 75 73 74 20 62 ptor.<CODE>filedes</CODE>.must.b
713a0 65 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6f 70 65 6e 36 34 3c 2f 43 4f 44 e.opened.using.<CODE>open64</COD
713c0 45 3e 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 E>.since..........otherwise.the.
713e0 6c 61 72 67 65 20 6f 66 66 73 65 74 73 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 20 3c 43 4f 44 large.offsets.possible.with.<COD
71400 45 3e 6f 66 66 36 34 5f 74 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 6c 65 61 64 20 74 6f 0a 20 20 E>off64_t</CODE>.will.lead.to...
71420 20 20 20 20 20 20 20 65 72 72 6f 72 73 20 77 69 74 68 20 61 20 64 65 73 63 72 69 70 74 6f 72 20 .......errors.with.a.descriptor.
71440 69 6e 20 73 6d 61 6c 6c 20 66 69 6c 65 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 in.small.file.mode...........<br
71460 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 63 6f ><br>.When.the.source.file.is.co
71480 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 mpiled.with.<CODE>_FILE_OFFSET_B
714a0 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 ITS.==.64</CODE>.on.a..........3
714c0 32 20 62 69 74 73 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 2.bits.machine.this.function.is.
714e0 61 63 74 75 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d actually.available.under.the.nam
71500 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 61 6e e..........<CODE>lseek</CODE>.an
71520 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 d.so.transparently.replaces.the.
71540 33 32 20 62 69 74 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 32.bit.interface..........sq.~..
71560 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 12 52 74 00 27 69 6e ....w.....t..unistd.hxq.~.Rt.'in
71580 74 20 66 69 6c 65 64 65 73 2c 20 6f 66 66 36 34 5f 74 20 6f 66 66 73 65 74 2c 20 69 6e 74 20 77 t.filedes,.off64_t.offset,.int.w
715a0 68 65 6e 63 65 74 00 07 6f 66 66 36 34 5f 74 74 00 05 6c 73 74 61 74 73 71 00 7e 00 0a 70 74 02 hencet..off64_tt..lstatsq.~..pt.
715c0 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6c 73 74 61 74 3c 2f 43 4f 44 45 3e ..........The.<CODE>lstat</CODE>
715e0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f .function.is.like.<CODE>stat</CO
71600 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 DE>,.except.that.it.does.not....
71620 20 20 20 20 20 20 66 6f 6c 6c 6f 77 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 73 2e 20 20 49 66 ......follow.symbolic.links...If
71640 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 74 68 65 20 6e 61 6d 65 .<VAR>filename</VAR>.is.the.name
71660 20 6f 66 20 61 20 73 79 6d 62 6f 6c 69 63 0a 20 20 20 20 20 20 20 20 20 6c 69 6e 6b 2c 20 3c 43 .of.a.symbolic..........link,.<C
71680 4f 44 45 3e 6c 73 74 61 74 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 ODE>lstat</CODE>.returns.informa
716a0 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 6c 69 6e 6b 20 69 74 73 65 6c 66 3b 20 6f 74 68 65 tion.about.the.link.itself;.othe
716c0 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 73 74 61 74 3c 2f 43 4f 44 45 rwise..........<CODE>lstat</CODE
716e0 3e 20 77 6f 72 6b 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 3e 2e 20 >.works.like.<CODE>stat</CODE>..
71700 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f ............<br><br>.When.the.so
71720 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 urces.are.compiled.with.<CODE>_F
71740 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 ILE_OFFSET_BITS.==.64</CODE>.thi
71760 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c s..........function.is.in.fact.<
71780 43 4f 44 45 3e 6c 73 74 61 74 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 4c 46 CODE>lstat64</CODE>.since.the.LF
717a0 53 20 69 6e 74 65 72 66 61 63 65 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 S.interface.transparently.......
717c0 20 20 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 ...replaces.the.normal.implement
717e0 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 ation..........sq.~......w.....t
71800 00 0a 73 79 73 2f 73 74 61 74 2e 68 78 71 00 7e 12 59 74 00 26 63 6f 6e 73 74 20 63 68 61 72 20 ..sys/stat.hxq.~.Yt.&const.char.
71820 2a 66 69 6c 65 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 73 74 61 74 20 2a 62 75 66 74 00 03 69 6e *filename,.struct.stat.*buft..in
71840 74 74 00 07 6c 73 74 61 74 36 34 73 71 00 7e 00 0a 70 74 02 24 0a 20 20 20 20 20 20 20 20 54 68 tt..lstat64sq.~..pt.$.........Th
71860 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e is.function.is.similar.to.<CODE>
71880 6c 73 74 61 74 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 74 20 69 73 20 61 6c 73 6f 20 61 62 6c 65 lstat</CODE>.but.it.is.also.able
718a0 20 74 6f 20 77 6f 72 6b 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 20 6c 61 72 67 65 .to.work.on..........files.large
718c0 72 20 74 68 65 6e 20 32 5e 33 31 20 62 79 74 65 73 20 6f 6e 20 33 32 2d 62 69 74 20 73 79 73 74 r.then.2^31.bytes.on.32-bit.syst
718e0 65 6d 73 2e 20 20 54 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 64 6f 0a 20 20 20 20 20 20 20 20 20 ems...To.be.able.to.do..........
71900 74 68 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 61 20 76 this.the.result.is.stored.in.a.v
71920 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 73 74 61 ariable.of.type.<CODE>struct.sta
71940 74 36 34 3c 2f 43 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 3c 56 41 t64</CODE>.to..........which.<VA
71960 52 3e 62 75 66 3c 2f 56 41 52 3e 20 6d 75 73 74 20 70 6f 69 6e 74 2e 0a 20 20 20 20 20 20 20 20 R>buf</VAR>.must.point..........
71980 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 .<br><br>.When.the.sources.are.c
719a0 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f ompiled.with.<CODE>_FILE_OFFSET_
719c0 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 BITS.==.64</CODE>.this..........
719e0 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 function.is.available.under.the.
71a00 6e 61 6d 65 20 3c 43 4f 44 45 3e 6c 73 74 61 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 20 74 name.<CODE>lstat</CODE>.and.so.t
71a20 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 73 20 74 ransparently..........replaces.t
71a40 68 65 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 73 6d 61 6c 6c 20 66 69 6c 65 73 20 6f 6e 20 he.interface.for.small.files.on.
71a60 33 32 2d 62 69 74 20 6d 61 63 68 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 32-bit.machines..........sq.~...
71a80 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 73 74 61 74 2e 68 78 71 00 7e 12 60 74 00 28 63 ...w.....t..sys/stat.hxq.~.`t.(c
71aa0 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 73 74 61 74 onst.char.*filename,.struct.stat
71ac0 36 34 20 2a 62 75 66 74 00 03 69 6e 74 74 00 07 6c 75 74 69 6d 65 73 73 71 00 7e 00 0a 70 74 02 64.*buft..intt..lutimessq.~..pt.
71ae0 d8 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 ..........This.function.is.like.
71b00 3c 43 4f 44 45 3e 75 74 69 6d 65 73 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 <CODE>utimes</CODE>,.except.that
71b20 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 66 6f 6c 6c 6f 77 0a 20 20 20 20 20 20 20 20 20 73 79 6d .it.does.not.follow..........sym
71b40 62 6f 6c 69 63 20 6c 69 6e 6b 73 2e 20 20 49 66 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f bolic.links...If.<VAR>filename</
71b60 56 41 52 3e 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c VAR>.is.the.name.of.a.symbolic.l
71b80 69 6e 6b 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 75 74 69 6d 65 73 3c 2f 43 4f 44 ink,..........<CODE>lutimes</COD
71ba0 45 3e 20 73 65 74 73 20 74 68 65 20 66 69 6c 65 20 61 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 E>.sets.the.file.access.and.modi
71bc0 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 fication.times.of.the..........s
71be0 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 20 73 70 65 63 69 61 6c 20 66 69 6c 65 20 69 74 73 65 6c 66 ymbolic.link.special.file.itself
71c00 20 28 61 73 20 73 65 65 6e 20 62 79 20 3c 43 4f 44 45 3e 6c 73 74 61 74 3c 2f 43 4f 44 45 3e 3b .(as.seen.by.<CODE>lstat</CODE>;
71c20 0a 20 20 20 20 20 20 20 20 20 29 20 77 68 69 6c 65 20 3c 43 4f 44 45 3e 75 74 69 6d 65 73 3c 2f ..........).while.<CODE>utimes</
71c40 43 4f 44 45 3e 20 73 65 74 73 20 74 68 65 20 66 69 6c 65 20 61 63 63 65 73 73 20 61 6e 64 0a 20 CODE>.sets.the.file.access.and..
71c60 20 20 20 20 20 20 20 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 73 20 6f 66 20 74 68 ........modification.times.of.th
71c80 65 20 66 69 6c 65 20 74 68 65 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 20 72 65 66 65 72 73 20 e.file.the.symbolic.link.refers.
71ca0 74 6f 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 65 to...This..........function.come
71cc0 73 20 66 72 6f 6d 20 46 72 65 65 42 53 44 2c 20 61 6e 64 20 69 73 20 6e 6f 74 20 61 76 61 69 6c s.from.FreeBSD,.and.is.not.avail
71ce0 61 62 6c 65 20 6f 6e 20 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 20 28 69 66 0a 20 20 20 20 20 20 able.on.all.platforms.(if.......
71d00 20 20 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2c 20 69 74 20 77 69 6c 6c 20 66 61 69 6c 20 77 ...not.available,.it.will.fail.w
71d20 69 74 68 20 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 ith.<CODE>ENOSYS</CODE>)........
71d40 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 61 6e ...<br><br>.The.return.values.an
71d60 64 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 d.error.conditions.are.the.same.
71d80 61 73 20 66 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 75 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a 20 20 as.for.the.<CODE>utime</CODE>...
71da0 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 .......function..........sq.~...
71dc0 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 74 69 6d 65 2e 68 78 71 00 7e 12 67 74 00 2b 63 ...w.....t..sys/time.hxq.~.gt.+c
71de0 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 74 69 6d 65 onst.char.*filename,.struct.time
71e00 76 61 6c 20 74 76 70 5b 32 5d 74 00 03 69 6e 74 74 00 07 6d 61 64 76 69 73 65 73 71 00 7e 00 0a val.tvp[2]t..intt..madvisesq.~..
71e20 70 74 09 be 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 pt...........<br><br>.This.funct
71e40 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 70 72 6f 76 69 64 65 20 74 68 65 20 73 ion.can.be.used.to.provide.the.s
71e60 79 73 74 65 6d 20 77 69 74 68 20 3c 56 41 52 3e 61 64 76 69 63 65 3c 2f 56 41 52 3e 20 61 62 6f ystem.with.<VAR>advice</VAR>.abo
71e80 75 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 69 6e 74 65 6e 64 65 64 20 75 73 61 67 65 20 70 ut..........the.intended.usage.p
71ea0 61 74 74 65 72 6e 73 20 6f 66 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 20 73 74 61 atterns.of.the.memory.region.sta
71ec0 72 74 69 6e 67 20 61 74 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 rting.at.<VAR>addr</VAR>........
71ee0 20 20 61 6e 64 20 65 78 74 65 6e 64 69 6e 67 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 ..and.extending.<VAR>length</VAR
71f00 3e 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 76 >.bytes...........<br><br>.The.v
71f20 61 6c 69 64 20 42 53 44 20 76 61 6c 75 65 73 20 66 6f 72 20 3c 56 41 52 3e 61 64 76 69 63 65 3c alid.BSD.values.for.<VAR>advice<
71f40 2f 56 41 52 3e 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c /VAR>.are:..........<br><br>.<DL
71f60 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d >...........<br><br>.<DT><CODE>M
71f80 41 44 56 5f 4e 4f 52 4d 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 ADV_NORMAL</CODE>.<DD>..........
71fa0 54 68 65 20 72 65 67 69 6f 6e 20 73 68 6f 75 6c 64 20 72 65 63 65 69 76 65 20 6e 6f 20 66 75 72 The.region.should.receive.no.fur
71fc0 74 68 65 72 20 73 70 65 63 69 61 6c 20 74 72 65 61 74 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 ther.special.treatment..........
71fe0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 41 44 56 5f 52 41 4e 44 4f 4d 3c .<br><br>.<DT><CODE>MADV_RANDOM<
72000 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 67 69 6f 6e 20 /CODE>.<DD>..........The.region.
72020 77 69 6c 6c 20 62 65 20 61 63 63 65 73 73 65 64 20 76 69 61 20 72 61 6e 64 6f 6d 20 70 61 67 65 will.be.accessed.via.random.page
72040 20 72 65 66 65 72 65 6e 63 65 73 2e 20 54 68 65 20 6b 65 72 6e 65 6c 0a 20 20 20 20 20 20 20 20 .references..The.kernel.........
72060 20 73 68 6f 75 6c 64 20 70 61 67 65 2d 69 6e 20 74 68 65 20 6d 69 6e 69 6d 61 6c 20 6e 75 6d 62 .should.page-in.the.minimal.numb
72080 65 72 20 6f 66 20 70 61 67 65 73 20 66 6f 72 20 65 61 63 68 20 70 61 67 65 20 66 61 75 6c 74 2e er.of.pages.for.each.page.fault.
720a0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 41 44 ..........<br><br>.<DT><CODE>MAD
720c0 56 5f 53 45 51 55 45 4e 54 49 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 V_SEQUENTIAL</CODE>.<DD>........
720e0 20 20 54 68 65 20 72 65 67 69 6f 6e 20 77 69 6c 6c 20 62 65 20 61 63 63 65 73 73 65 64 20 76 69 ..The.region.will.be.accessed.vi
72100 61 20 73 65 71 75 65 6e 74 69 61 6c 20 70 61 67 65 20 72 65 66 65 72 65 6e 63 65 73 2e 20 54 68 a.sequential.page.references..Th
72120 69 73 0a 20 20 20 20 20 20 20 20 20 6d 61 79 20 63 61 75 73 65 20 74 68 65 20 6b 65 72 6e 65 6c is..........may.cause.the.kernel
72140 20 74 6f 20 61 67 67 72 65 73 73 69 76 65 6c 79 20 72 65 61 64 2d 61 68 65 61 64 2c 20 65 78 70 .to.aggressively.read-ahead,.exp
72160 65 63 74 69 6e 67 20 66 75 72 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 73 65 71 75 65 6e 74 69 ecting.further..........sequenti
72180 61 6c 20 72 65 66 65 72 65 6e 63 65 73 20 61 66 74 65 72 20 61 6e 79 20 70 61 67 65 20 66 61 75 al.references.after.any.page.fau
721a0 6c 74 20 77 69 74 68 69 6e 20 74 68 69 73 20 72 65 67 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 lt.within.this.region...........
721c0 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 41 44 56 5f 57 49 4c 4c 4e 45 45 44 <br><br>.<DT><CODE>MADV_WILLNEED
721e0 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 67 69 6f 6e </CODE>.<DD>..........The.region
72200 20 77 69 6c 6c 20 62 65 20 6e 65 65 64 65 64 2e 20 20 54 68 65 20 70 61 67 65 73 20 77 69 74 68 .will.be.needed...The.pages.with
72220 69 6e 20 74 68 69 73 20 72 65 67 69 6f 6e 20 6d 61 79 0a 20 20 20 20 20 20 20 20 20 62 65 20 70 in.this.region.may..........be.p
72240 72 65 2d 66 61 75 6c 74 65 64 20 69 6e 20 62 79 20 74 68 65 20 6b 65 72 6e 65 6c 2e 0a 20 20 20 re-faulted.in.by.the.kernel.....
72260 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 41 44 56 5f 44 4f ......<br><br>.<DT><CODE>MADV_DO
72280 4e 54 4e 45 45 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 NTNEED</CODE>.<DD>..........The.
722a0 72 65 67 69 6f 6e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e 65 65 64 65 64 2e 20 20 54 68 65 region.is.no.longer.needed...The
722c0 20 6b 65 72 6e 65 6c 20 6d 61 79 20 66 72 65 65 20 74 68 65 73 65 20 70 61 67 65 73 2c 0a 20 20 .kernel.may.free.these.pages,...
722e0 20 20 20 20 20 20 20 63 61 75 73 69 6e 67 20 61 6e 79 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 .......causing.any.changes.to.th
72300 65 20 70 61 67 65 73 20 74 6f 20 62 65 20 6c 6f 73 74 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 73 e.pages.to.be.lost,.as.well.as.s
72320 77 61 70 70 65 64 0a 20 20 20 20 20 20 20 20 20 6f 75 74 20 70 61 67 65 73 20 74 6f 20 62 65 20 wapped..........out.pages.to.be.
72340 64 69 73 63 61 72 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 discarded...........<br><br>.</D
72360 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 50 4f 53 49 58 20 6e L>..........<br><br>.The.POSIX.n
72380 61 6d 65 73 20 61 72 65 20 73 6c 69 67 68 74 6c 79 20 64 69 66 66 65 72 65 6e 74 2c 20 62 75 74 ames.are.slightly.different,.but
723a0 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6d 65 61 6e 69 6e 67 73 3a 0a 20 20 20 20 20 20 20 .with.the.same.meanings:........
723c0 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ..<br><br>.<DL>...........<br><b
723e0 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 50 4f 53 49 58 5f 4d 41 44 56 5f 4e 4f 52 4d 41 4c 3c 2f r>.<DT><CODE>POSIX_MADV_NORMAL</
72400 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 63 6f 72 72 65 73 70 CODE>.<DD>..........This.corresp
72420 6f 6e 64 73 20 77 69 74 68 20 42 53 44 27 73 20 3c 43 4f 44 45 3e 4d 41 44 56 5f 4e 4f 52 4d 41 onds.with.BSD's.<CODE>MADV_NORMA
72440 4c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e L</CODE>...........<br><br>.<DT>
72460 3c 43 4f 44 45 3e 50 4f 53 49 58 5f 4d 41 44 56 5f 52 41 4e 44 4f 4d 3c 2f 43 4f 44 45 3e 0a 3c <CODE>POSIX_MADV_RANDOM</CODE>.<
72480 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 77 69 DD>..........This.corresponds.wi
724a0 74 68 20 42 53 44 27 73 20 3c 43 4f 44 45 3e 4d 41 44 56 5f 52 41 4e 44 4f 4d 3c 2f 43 4f 44 45 th.BSD's.<CODE>MADV_RANDOM</CODE
724c0 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 50 >...........<br><br>.<DT><CODE>P
724e0 4f 53 49 58 5f 4d 41 44 56 5f 53 45 51 55 45 4e 54 49 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e OSIX_MADV_SEQUENTIAL</CODE>.<DD>
72500 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 77 69 74 68 20 ..........This.corresponds.with.
72520 42 53 44 27 73 20 3c 43 4f 44 45 3e 4d 41 44 56 5f 53 45 51 55 45 4e 54 49 41 4c 3c 2f 43 4f 44 BSD's.<CODE>MADV_SEQUENTIAL</COD
72540 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e E>...........<br><br>.<DT><CODE>
72560 50 4f 53 49 58 5f 4d 41 44 56 5f 57 49 4c 4c 4e 45 45 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a POSIX_MADV_WILLNEED</CODE>.<DD>.
72580 20 20 20 20 20 20 20 20 20 54 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 77 69 74 68 20 42 .........This.corresponds.with.B
725a0 53 44 27 73 20 3c 43 4f 44 45 3e 4d 41 44 56 5f 57 49 4c 4c 4e 45 45 44 3c 2f 43 4f 44 45 3e 2e SD's.<CODE>MADV_WILLNEED</CODE>.
725c0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 50 4f 53 ..........<br><br>.<DT><CODE>POS
725e0 49 58 5f 4d 41 44 56 5f 44 4f 4e 54 4e 45 45 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 IX_MADV_DONTNEED</CODE>.<DD>....
72600 20 20 20 20 20 20 54 68 69 73 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 77 69 74 68 20 42 53 44 27 ......This.corresponds.with.BSD'
72620 73 20 3c 43 4f 44 45 3e 4d 41 44 56 5f 44 4f 4e 54 4e 45 45 44 3c 2f 43 4f 44 45 3e 2e 0a 20 20 s.<CODE>MADV_DONTNEED</CODE>....
72640 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c .......<br><br>.</DL>..........<
72660 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 br><br>.<CODE>msync</CODE>.retur
72680 6e 73 20 30 20 66 6f 72 20 73 75 63 63 65 73 73 20 61 6e 64 20 2d 31 20 66 6f 72 0a 20 20 20 20 ns.0.for.success.and.-1.for.....
726a0 20 20 20 20 20 65 72 72 6f 72 2e 20 20 45 72 72 6f 72 73 20 69 6e 63 6c 75 64 65 3a 0a 20 20 20 .....error...Errors.include:....
726c0 20 20 20 20 20 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 ......<DL>...........<br><br>.<D
726e0 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 T><CODE>EINVAL</CODE>.<DD>......
72700 20 20 20 20 41 6e 20 69 6e 76 61 6c 69 64 20 72 65 67 69 6f 6e 20 77 61 73 20 67 69 76 65 6e 2c ....An.invalid.region.was.given,
72720 20 6f 72 20 74 68 65 20 3c 56 41 52 3e 61 64 76 69 63 65 3c 2f 56 41 52 3e 20 77 61 73 20 69 6e .or.the.<VAR>advice</VAR>.was.in
72740 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f valid...........<br><br>.<DT><CO
72760 44 45 3e 45 46 41 55 4c 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 DE>EFAULT</CODE>.<DD>..........T
72780 68 65 72 65 20 69 73 20 6e 6f 20 65 78 69 73 74 69 6e 67 20 6d 61 70 70 69 6e 67 20 69 6e 20 61 here.is.no.existing.mapping.in.a
727a0 74 20 6c 65 61 73 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 72 65 67 69 6f 6e t.least.part.of.the.given.region
727c0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 ...........<br><br>.</DL>.......
727e0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 6d 6d 61 6e 2e 68 78 ..sq.~......w.....t..sys/mman.hx
72800 71 00 7e 12 6e 74 00 25 76 6f 69 64 20 2a 61 64 64 72 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 q.~.nt.%void.*addr,.size_t.lengt
72820 68 2c 20 69 6e 74 20 61 64 76 69 63 65 74 00 03 69 6e 74 74 00 0b 6d 61 6b 65 63 6f 6e 74 65 78 h,.int.advicet..intt..makecontex
72840 74 73 71 00 7e 00 0a 70 74 04 be 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 tsq.~..pt...........<br><br>.The
72860 20 3c 56 41 52 3e 75 63 70 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 70 61 73 73 65 64 .<VAR>ucp</VAR>.parameter.passed
72880 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 6d 61 6b 65 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e .to.the.<CODE>makecontext</CODE>
728a0 20 73 68 61 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 .shall.be..........initialized.b
728c0 79 20 61 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 63 6f 6e 74 65 78 74 3c 2f 43 4f y.a.call.to.<CODE>getcontext</CO
728e0 44 45 3e 2e 20 20 54 68 65 20 63 6f 6e 74 65 78 74 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 DE>...The.context.will.be.......
72900 20 20 20 6d 6f 64 69 66 69 65 64 20 74 6f 20 69 6e 20 61 20 77 61 79 20 73 6f 20 74 68 61 74 20 ...modified.to.in.a.way.so.that.
72920 69 66 20 74 68 65 20 63 6f 6e 74 65 78 74 20 69 73 20 72 65 73 75 6d 65 64 20 69 74 20 77 69 6c if.the.context.is.resumed.it.wil
72940 6c 20 73 74 61 72 74 20 62 79 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 l.start.by..........calling.the.
72960 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 66 75 6e 63 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 function.<CODE>func</CODE>.which
72980 20 67 65 74 73 20 3c 56 41 52 3e 61 72 67 63 3c 2f 56 41 52 3e 20 69 6e 74 65 67 65 72 20 61 72 .gets.<VAR>argc</VAR>.integer.ar
729a0 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 70 61 73 73 65 64 2e 20 20 54 68 65 20 69 6e guments..........passed...The.in
729c0 74 65 67 65 72 20 61 72 67 75 6d 65 6e 74 73 20 77 68 69 63 68 20 61 72 65 20 74 6f 20 62 65 20 teger.arguments.which.are.to.be.
729e0 70 61 73 73 65 64 20 73 68 6f 75 6c 64 20 66 6f 6c 6c 6f 77 20 74 68 65 0a 20 20 20 20 20 20 20 passed.should.follow.the........
72a00 20 20 3c 56 41 52 3e 61 72 67 63 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 6e 20 74 ..<VAR>argc</VAR>.parameter.in.t
72a20 68 65 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 6d 61 6b 65 63 6f 6e 74 65 78 74 3c 2f 43 4f he.call.to.<CODE>makecontext</CO
72a40 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 65 66 6f 72 65 20 74 68 DE>...........<br><br>.Before.th
72a60 65 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 68 65 20 3c 43 4f 44 e.call.to.this.function.the.<COD
72a80 45 3e 75 63 5f 73 74 61 63 6b 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 75 63 5f 6c E>uc_stack</CODE>.and.<CODE>uc_l
72aa0 69 6e 6b 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 ink</CODE>..........element.of.t
72ac0 68 65 20 3c 56 41 52 3e 75 63 70 3c 2f 56 41 52 3e 20 73 74 72 75 63 74 75 72 65 20 73 68 6f 75 he.<VAR>ucp</VAR>.structure.shou
72ae0 6c 64 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 ld.be.initialized...The.........
72b00 20 3c 43 4f 44 45 3e 75 63 5f 73 74 61 63 6b 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 64 .<CODE>uc_stack</CODE>.element.d
72b20 65 73 63 72 69 62 65 73 20 74 68 65 20 73 74 61 63 6b 20 77 68 69 63 68 20 69 73 20 75 73 65 64 escribes.the.stack.which.is.used
72b40 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 2e 20 20 4e 6f 20 .for.this..........context...No.
72b60 74 77 6f 20 63 6f 6e 74 65 78 74 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 20 61 74 20 74 two.contexts.which.are.used.at.t
72b80 68 65 20 73 61 6d 65 20 74 69 6d 65 20 73 68 6f 75 6c 64 20 75 73 65 20 74 68 65 0a 20 20 20 20 he.same.time.should.use.the.....
72ba0 20 20 20 20 20 73 61 6d 65 20 6d 65 6d 6f 72 79 20 72 65 67 69 6f 6e 20 66 6f 72 20 61 20 73 74 .....same.memory.region.for.a.st
72bc0 61 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 ack...........<br><br>.The.<CODE
72be0 3e 75 63 5f 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6f >uc_link</CODE>.element.of.the.o
72c00 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 75 63 70 3c 2f 56 41 bject.pointed.to.by.<VAR>ucp</VA
72c20 52 3e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 62 65 20 61 20 70 6f 69 6e 74 65 72 20 R>.should..........be.a.pointer.
72c40 74 6f 20 74 68 65 20 63 6f 6e 74 65 78 74 20 74 6f 20 62 65 20 65 78 65 63 75 74 65 64 20 77 68 to.the.context.to.be.executed.wh
72c60 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 56 41 52 3e 66 75 6e 63 3c 2f 56 41 52 3e 0a en.the.function.<VAR>func</VAR>.
72c80 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 6f 72 20 69 74 20 73 68 6f 75 6c 64 20 62 65 .........returns.or.it.should.be
72ca0 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 20 20 53 65 65 20 3c 43 4f 44 45 3e 73 65 74 63 .a.null.pointer...See.<CODE>setc
72cc0 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 ontext</CODE>.for.more..........
72ce0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 65 78 61 63 74 20 75 73 65 2e information.about.the.exact.use.
72d00 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 75 63 6f 6e .........sq.~......w.....t..ucon
72d20 74 65 78 74 2e 68 78 71 00 7e 12 75 74 00 33 75 63 6f 6e 74 65 78 74 5f 74 20 2a 75 63 70 2c 20 text.hxq.~.ut.3ucontext_t.*ucp,.
72d40 76 6f 69 64 20 28 2a 66 75 6e 63 29 20 28 76 6f 69 64 29 2c 20 69 6e 74 20 61 72 67 63 2c 20 2e void.(*func).(void),.int.argc,..
72d60 2e 2e 74 00 04 76 6f 69 64 74 00 08 6d 61 6c 6c 69 6e 66 6f 73 71 00 7e 00 0a 70 74 00 98 0a 20 ..t..voidt..mallinfosq.~..pt....
72d80 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 .......This.function.returns.inf
72da0 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 79 6e 61 6d ormation.about.the.current.dynam
72dc0 69 63 20 6d 65 6d 6f 72 79 20 75 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 69 6e 20 61 20 73 74 ic.memory.usage..........in.a.st
72de0 72 75 63 74 75 72 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6d 61 6c ructure.of.type.<CODE>struct.mal
72e00 6c 69 6e 66 6f 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 linfo</CODE>..........sq.~......
72e20 77 04 00 00 00 0a 74 00 08 6d 61 6c 6c 6f 63 2e 68 78 71 00 7e 12 7c 74 00 04 76 6f 69 64 74 00 w.....t..malloc.hxq.~.|t..voidt.
72e40 0f 73 74 72 75 63 74 20 6d 61 6c 6c 69 6e 66 6f 74 00 06 6d 61 6c 6c 6f 63 73 71 00 7e 00 0a 70 .struct.mallinfot..mallocsq.~..p
72e60 74 00 a8 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e t...........This.function.return
72e80 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 6e 65 77 6c 79 20 61 6c 6c 6f 63 61 74 65 64 s.a.pointer.to.a.newly.allocated
72ea0 20 62 6c 6f 63 6b 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 .block.<VAR>size</VAR>..........
72ec0 62 79 74 65 73 20 6c 6f 6e 67 2c 20 6f 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 bytes.long,.or.a.null.pointer.if
72ee0 20 74 68 65 20 62 6c 6f 63 6b 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 6c 6c 6f 63 61 74 65 .the.block.could.not.be.allocate
72f00 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 d..........sq.~......w.....t..st
72f20 64 6c 69 62 2e 68 78 71 00 7e 12 83 74 00 0b 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 06 76 6f 69 dlib.hxq.~..t..size_t.sizet..voi
72f40 64 20 2a 74 00 07 6d 61 6c 6c 6f 70 74 73 71 00 7e 00 0a 70 74 06 5b 0a 20 20 20 20 20 20 20 20 d.*t..malloptsq.~..pt.[.........
72f60 57 68 65 6e 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 70 74 3c 2f 43 4f 44 45 When.calling.<CODE>mallopt</CODE
72f80 3e 2c 20 74 68 65 20 3c 56 41 52 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 >,.the.<VAR>param</VAR>.argument
72fa0 20 73 70 65 63 69 66 69 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 .specifies.the..........paramete
72fc0 72 20 74 6f 20 62 65 20 73 65 74 2c 20 61 6e 64 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 r.to.be.set,.and.<VAR>value</VAR
72fe0 3e 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 20 74 6f 20 62 65 20 73 65 74 2e 20 20 50 6f 73 73 >.the.new.value.to.be.set...Poss
73000 69 62 6c 65 0a 20 20 20 20 20 20 20 20 20 63 68 6f 69 63 65 73 20 66 6f 72 20 3c 56 41 52 3e 70 ible..........choices.for.<VAR>p
73020 61 72 61 6d 3c 2f 56 41 52 3e 2c 20 61 73 20 64 65 66 69 6e 65 64 20 69 6e 20 3c 54 54 3e 6d 61 aram</VAR>,.as.defined.in.<TT>ma
73040 6c 6c 6f 63 2e 68 3c 2f 54 54 3e 2c 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c lloc.h</TT>,.are:..........<br><
73060 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 5f 54 br>.<DL>...........<DT><CODE>M_T
73080 52 49 4d 5f 54 48 52 45 53 48 4f 4c 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 RIM_THRESHOLD</CODE>.<DD>.......
730a0 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 73 69 7a 65 20 28 69 6e 20 ...This.is.the.minimum.size.(in.
730c0 62 79 74 65 73 29 20 6f 66 20 74 68 65 20 74 6f 70 2d 6d 6f 73 74 2c 20 72 65 6c 65 61 73 61 62 bytes).of.the.top-most,.releasab
730e0 6c 65 20 63 68 75 6e 6b 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 77 69 6c 6c 20 63 61 75 73 le.chunk..........that.will.caus
73100 65 20 3c 43 4f 44 45 3e 73 62 72 6b 3c 2f 43 4f 44 45 3e 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 e.<CODE>sbrk</CODE>.to.be.called
73120 20 77 69 74 68 20 61 20 6e 65 67 61 74 69 76 65 20 61 72 67 75 6d 65 6e 74 20 69 6e 0a 20 20 20 .with.a.negative.argument.in....
73140 20 20 20 20 20 20 6f 72 64 65 72 20 74 6f 20 72 65 74 75 72 6e 20 6d 65 6d 6f 72 79 20 74 6f 20 ......order.to.return.memory.to.
73160 74 68 65 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d the.system...........<DT><CODE>M
73180 5f 54 4f 50 5f 50 41 44 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 70 61 72 61 6d 65 74 65 72 _TOP_PAD..........This.parameter
731a0 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 65 78 74 72 61 20 .determines.the.amount.of.extra.
731c0 6d 65 6d 6f 72 79 20 74 6f 20 6f 62 74 61 69 6e 20 66 72 6f 6d 20 74 68 65 3c 2f 43 4f 44 45 3e memory.to.obtain.from.the</CODE>
731e0 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 20 77 68 65 6e 20 61 20 63 61 6c .<DD>..........system.when.a.cal
73200 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 62 72 6b 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 71 75 69 72 l.to.<CODE>sbrk</CODE>.is.requir
73220 65 64 2e 20 20 49 74 20 61 6c 73 6f 20 73 70 65 63 69 66 69 65 73 20 74 68 65 0a 20 20 20 20 20 ed...It.also.specifies.the......
73240 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 6f 20 72 65 74 61 69 6e 20 77 68 ....number.of.bytes.to.retain.wh
73260 65 6e 20 73 68 72 69 6e 6b 69 6e 67 20 74 68 65 20 68 65 61 70 20 62 79 20 63 61 6c 6c 69 6e 67 en.shrinking.the.heap.by.calling
73280 20 3c 43 4f 44 45 3e 73 62 72 6b 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 .<CODE>sbrk</CODE>..........with
732a0 20 61 20 6e 65 67 61 74 69 76 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 54 68 69 73 20 70 72 6f 76 .a.negative.argument...This.prov
732c0 69 64 65 73 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 68 79 73 74 65 72 65 73 69 73 20 69 6e ides.the.necessary.hysteresis.in
732e0 0a 20 20 20 20 20 20 20 20 20 68 65 61 70 20 73 69 7a 65 20 73 75 63 68 20 74 68 61 74 20 65 78 ..........heap.size.such.that.ex
73300 63 65 73 73 69 76 65 20 61 6d 6f 75 6e 74 73 20 6f 66 20 73 79 73 74 65 6d 20 63 61 6c 6c 73 20 cessive.amounts.of.system.calls.
73320 63 61 6e 20 62 65 20 61 76 6f 69 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f can.be.avoided...........<DT><CO
73340 44 45 3e 4d 5f 4d 4d 41 50 5f 54 48 52 45 53 48 4f 4c 44 0a 20 20 20 20 20 20 20 20 20 41 6c 6c DE>M_MMAP_THRESHOLD..........All
73360 20 63 68 75 6e 6b 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 69 73 20 76 61 6c 75 65 20 61 .chunks.larger.than.this.value.a
73380 72 65 20 61 6c 6c 6f 63 61 74 65 64 20 6f 75 74 73 69 64 65 20 74 68 65 20 6e 6f 72 6d 61 6c 3c re.allocated.outside.the.normal<
733a0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 68 65 61 70 2c 20 75 73 69 6e 67 /CODE>.<DD>..........heap,.using
733c0 20 74 68 65 20 3c 43 4f 44 45 3e 6d 6d 61 70 3c 2f 43 4f 44 45 3e 20 73 79 73 74 65 6d 20 63 61 .the.<CODE>mmap</CODE>.system.ca
733e0 6c 6c 2e 20 20 54 68 69 73 20 77 61 79 20 69 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 0a 20 ll...This.way.it.is.guaranteed..
73400 20 20 20 20 20 20 20 20 74 68 61 74 20 74 68 65 20 6d 65 6d 6f 72 79 20 66 6f 72 20 74 68 65 73 ........that.the.memory.for.thes
73420 65 20 63 68 75 6e 6b 73 20 63 61 6e 20 62 65 20 72 65 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 e.chunks.can.be.returned.to.the.
73440 73 79 73 74 65 6d 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 72 65 65 3c 2f 43 system.on..........<CODE>free</C
73460 4f 44 45 3e 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 72 65 71 75 65 73 74 73 20 73 6d 61 6c 6c 65 ODE>...Note.that.requests.smalle
73480 72 20 74 68 61 6e 20 74 68 69 73 20 74 68 72 65 73 68 6f 6c 64 20 6d 69 67 68 74 20 73 74 69 6c r.than.this.threshold.might.stil
734a0 6c 0a 20 20 20 20 20 20 20 20 20 62 65 20 61 6c 6c 6f 63 61 74 65 64 20 76 69 61 20 3c 43 4f 44 l..........be.allocated.via.<COD
734c0 45 3e 6d 6d 61 70 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 E>mmap</CODE>...........<DT><COD
734e0 45 3e 4d 5f 4d 4d 41 50 5f 4d 41 58 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 E>M_MMAP_MAX</CODE>.<DD>........
73500 20 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 75 6e 6b 73 20 74 ..The.maximum.number.of.chunks.t
73520 6f 20 61 6c 6c 6f 63 61 74 65 20 77 69 74 68 20 3c 43 4f 44 45 3e 6d 6d 61 70 3c 2f 43 4f 44 45 o.allocate.with.<CODE>mmap</CODE
73540 3e 2e 20 20 53 65 74 74 69 6e 67 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 74 6f 20 7a 65 72 >...Setting.this..........to.zer
73560 6f 20 64 69 73 61 62 6c 65 73 20 61 6c 6c 20 75 73 65 20 6f 66 20 3c 43 4f 44 45 3e 6d 6d 61 70 o.disables.all.use.of.<CODE>mmap
73580 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 </CODE>...........</DL>.........
735a0 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 00 77 04 00 00 .<br><br>.........sq.~......w...
735c0 00 0a 78 71 00 7e 12 8a 74 00 14 69 6e 74 20 70 61 72 61 6d 2c 20 69 6e 74 20 76 61 6c 75 65 74 ..xq.~..t..int.param,.int.valuet
735e0 00 03 69 6e 74 74 00 05 6d 62 6c 65 6e 73 71 00 7e 00 0a 70 74 05 fb 0a 20 20 20 20 20 20 20 20 ..intt..mblensq.~..pt...........
73600 54 68 65 20 3c 43 4f 44 45 3e 6d 62 6c 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 The.<CODE>mblen</CODE>.function.
73620 77 69 74 68 20 61 20 6e 6f 6e 2d 6e 75 6c 6c 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 with.a.non-null.<VAR>string</VAR
73640 3e 20 61 72 67 75 6d 65 6e 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 >.argument.returns..........the.
73660 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 6d 61 6b 65 20 75 70 20 74 68 65 number.of.bytes.that.make.up.the
73680 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 62 65 67 69 6e 6e 69 6e 67 20 61 .multibyte.character.beginning.a
736a0 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2c 20 6e 65 t..........<VAR>string</VAR>,.ne
736c0 76 65 72 20 65 78 61 6d 69 6e 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a ver.examining.more.than.<VAR>siz
736e0 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 2e 20 20 28 54 68 65 20 69 64 65 61 20 69 73 0a 20 20 20 e</VAR>.bytes...(The.idea.is....
73700 20 20 20 20 20 20 74 6f 20 73 75 70 70 6c 79 20 66 6f 72 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 ......to.supply.for.<VAR>size</V
73720 41 52 3e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 6f 66 20 64 61 74 61 20 AR>.the.number.of.bytes.of.data.
73740 79 6f 75 20 68 61 76 65 20 69 6e 20 68 61 6e 64 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e you.have.in.hand.)..........<br>
73760 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 6d <br>.The.return.value.of.<CODE>m
73780 62 6c 65 6e 3c 2f 43 4f 44 45 3e 20 64 69 73 74 69 6e 67 75 69 73 68 65 73 20 74 68 72 65 65 20 blen</CODE>.distinguishes.three.
737a0 70 6f 73 73 69 62 69 6c 69 74 69 65 73 3a 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 72 73 possibilities:.the..........firs
737c0 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 61 74 20 3c 56 41 52 3e t.<VAR>size</VAR>.bytes.at.<VAR>
737e0 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 73 74 61 72 74 20 77 69 74 68 20 76 61 6c 69 64 20 6d 75 string</VAR>.start.with.valid.mu
73800 6c 74 69 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 ltibyte..........characters,.the
73820 79 20 73 74 61 72 74 20 77 69 74 68 20 61 6e 20 69 6e 76 61 6c 69 64 20 62 79 74 65 20 73 65 71 y.start.with.an.invalid.byte.seq
73840 75 65 6e 63 65 20 6f 72 20 6a 75 73 74 20 70 61 72 74 20 6f 66 20 61 0a 20 20 20 20 20 20 20 20 uence.or.just.part.of.a.........
73860 20 63 68 61 72 61 63 74 65 72 2c 20 6f 72 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e .character,.or.<VAR>string</VAR>
73880 20 70 6f 69 6e 74 73 20 74 6f 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 28 61 20 6e 75 .points.to.an.empty.string.(a.nu
738a0 6c 6c 20 63 68 61 72 61 63 74 65 72 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ll.character)...........<br><br>
738c0 20 46 6f 72 20 61 20 76 61 6c 69 64 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 .For.a.valid.multibyte.character
738e0 2c 20 3c 43 4f 44 45 3e 6d 62 6c 65 6e 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 ,.<CODE>mblen</CODE>.returns.the
73900 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 62 79 74 65 73 20 69 6e 20 74 68 61 .number.of..........bytes.in.tha
73920 74 20 63 68 61 72 61 63 74 65 72 20 28 61 6c 77 61 79 73 20 61 74 20 6c 65 61 73 74 20 3c 43 4f t.character.(always.at.least.<CO
73940 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 6e 65 76 65 72 20 6d 6f 72 65 20 74 68 61 6e 0a DE>1</CODE>.and.never.more.than.
73960 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 29 2e 20 20 46 6f 72 20 .........<VAR>size</VAR>)...For.
73980 61 6e 20 69 6e 76 61 6c 69 64 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 2c 20 3c 43 4f 44 45 3e an.invalid.byte.sequence,.<CODE>
739a0 6d 62 6c 65 6e 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 2d 31 mblen</CODE>.returns..........-1
739c0 2e 20 20 46 6f 72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 69 74 20 72 65 74 75 72 ...For.an.empty.string,.it.retur
739e0 6e 73 20 30 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6d ns.0...........<br><br>.If.the.m
73a00 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 20 75 73 65 73 20 73 68 69 ultibyte.character.code.uses.shi
73a20 66 74 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 6d 62 6c 65 6e 3c ft.characters,.then.<CODE>mblen<
73a40 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e 74 61 69 6e 73 20 61 6e 64 20 75 70 /CODE>..........maintains.and.up
73a60 64 61 74 65 73 20 61 20 73 68 69 66 74 20 73 74 61 74 65 20 61 73 20 69 74 20 73 63 61 6e 73 2e dates.a.shift.state.as.it.scans.
73a80 20 20 49 66 20 79 6f 75 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 62 6c ..If.you.call..........<CODE>mbl
73aa0 65 6e 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 66 6f en</CODE>.with.a.null.pointer.fo
73ac0 72 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2c 20 74 68 61 74 20 69 6e 69 74 69 61 r.<VAR>string</VAR>,.that.initia
73ae0 6c 69 7a 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 68 69 66 74 20 73 74 61 74 65 20 74 lizes.the..........shift.state.t
73b00 6f 20 69 74 73 20 73 74 61 6e 64 61 72 64 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 2e 20 20 49 o.its.standard.initial.value...I
73b20 74 20 61 6c 73 6f 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 7a 65 72 6f 0a 20 20 20 20 20 20 20 t.also.returns.a.nonzero........
73b40 20 20 76 61 6c 75 65 20 69 66 20 74 68 65 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 ..value.if.the.multibyte.charact
73b60 65 72 20 63 6f 64 65 20 69 6e 20 75 73 65 20 61 63 74 75 61 6c 6c 79 20 68 61 73 20 61 20 73 68 er.code.in.use.actually.has.a.sh
73b80 69 66 74 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c ift.state......................<
73ba0 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 6d 62 6c 65 6e br><br>.The.function.<CODE>mblen
73bc0 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 6c 69 </CODE>.is.declared.in.<TT>stdli
73be0 62 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 b.h</TT>..........sq.~......w...
73c00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 12 90 74 00 1f 63 6f 6e 73 74 20 63 68 61 72 ..t..stdlib.hxq.~..t..const.char
73c20 20 2a 73 74 72 69 6e 67 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 03 69 6e 74 74 00 06 6d 62 .*string,.size_t.sizet..intt..mb
73c40 72 6c 65 6e 73 71 00 7e 00 0a 70 74 04 a5 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 rlensq.~..pt...........The.<CODE
73c60 3e 6d 62 72 6c 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 28 60 60 6d 75 6c 74 69 >mbrlen</CODE>.function.(``multi
73c80 62 79 74 65 20 72 65 73 74 61 72 74 61 62 6c 65 20 6c 65 6e 67 74 68 27 27 29 20 63 6f 6d 70 75 byte.restartable.length'').compu
73ca0 74 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 74 20 6d 6f tes..........the.number.of.at.mo
73cc0 73 74 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 73 74 61 72 74 69 6e 67 20 61 st.<VAR>n</VAR>.bytes.starting.a
73ce0 74 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2c 20 77 68 69 63 68 20 66 6f 72 6d 20 74 68 65 0a 20 t.<VAR>s</VAR>,.which.form.the..
73d00 20 20 20 20 20 20 20 20 6e 65 78 74 20 76 61 6c 69 64 20 61 6e 64 20 63 6f 6d 70 6c 65 74 65 20 ........next.valid.and.complete.
73d20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 multibyte.character...........<b
73d40 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6e 65 78 74 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 r><br>.If.the.next.multibyte.cha
73d60 72 61 63 74 65 72 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 4e 55 4c 20 77 69 racter.corresponds.to.the.NUL.wi
73d80 64 65 20 63 68 61 72 61 63 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 de.character,..........the.retur
73da0 6e 20 76 61 6c 75 65 20 69 73 20 30 2e 20 20 49 66 20 74 68 65 20 6e 65 78 74 20 3c 56 41 52 3e n.value.is.0...If.the.next.<VAR>
73dc0 6e 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 66 6f 72 6d 20 61 20 76 61 6c 69 64 0a 20 20 20 20 20 n</VAR>.bytes.form.a.valid......
73de0 20 20 20 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 2c 20 74 68 65 20 6e 75 6d ....multibyte.character,.the.num
73e00 62 65 72 20 6f 66 20 62 79 74 65 73 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 74 68 69 73 20 6d ber.of.bytes.belonging.to.this.m
73e20 75 6c 74 69 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 62 79 74 65 ultibyte..........character.byte
73e40 20 73 65 71 75 65 6e 63 65 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 .sequence.is.returned...........
73e60 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 69 72 73 74 20 3c 56 41 52 3e 6e 3c 2f 56 41 <br><br>.If.the.first.<VAR>n</VA
73e80 52 3e 20 62 79 74 65 73 20 70 6f 73 73 69 62 6c 79 20 66 6f 72 6d 20 61 20 76 61 6c 69 64 20 6d R>.bytes.possibly.form.a.valid.m
73ea0 75 6c 74 69 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 62 75 74 20 ultibyte..........character.but.
73ec0 74 68 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 69 6e 63 6f 6d 70 6c 65 74 65 2c 20 74 68 65 the.character.is.incomplete,.the
73ee0 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e .return.value.is..........<CODE>
73f00 28 73 69 7a 65 5f 74 29 20 2d 32 3c 2f 43 4f 44 45 3e 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 (size_t).-2</CODE>...Otherwise.t
73f20 68 65 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 73 65 71 75 65 6e 63 65 20 he.multibyte.character.sequence.
73f40 69 73 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 72 65 74 75 is.invalid..........and.the.retu
73f60 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 28 73 69 7a 65 5f 74 29 20 2d 31 3c 2f 43 rn.value.is.<CODE>(size_t).-1</C
73f80 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6d 75 6c 74 ODE>...........<br><br>.The.mult
73fa0 69 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 69 6e ibyte.sequence.is.interpreted.in
73fc0 20 74 68 65 20 73 74 61 74 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 74 68 65 0a 20 20 .the.state.represented.by.the...
73fe0 20 20 20 20 20 20 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 .......object.pointed.to.by.<VAR
74000 3e 70 73 3c 2f 56 41 52 3e 2e 20 20 49 66 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e 20 69 73 20 >ps</VAR>...If.<VAR>ps</VAR>.is.
74020 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 61 20 73 74 61 74 65 0a 20 20 20 20 20 20 20 20 a.null.pointer,.a.state.........
74040 20 6f 62 6a 65 63 74 20 6c 6f 63 61 6c 20 74 6f 20 3c 43 4f 44 45 3e 6d 62 72 6c 65 6e 3c 2f 43 .object.local.to.<CODE>mbrlen</C
74060 4f 44 45 3e 20 69 73 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ODE>.is.used...........<br><br>.
74080 3c 43 4f 44 45 3e 6d 62 72 6c 65 6e 3c 2f 43 4f 44 45 3e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 <CODE>mbrlen</CODE>.was.introduc
740a0 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 74 6f 20 49 53 4f 20 43 39 30 20 61 6e 64 ed.in.Amendment.1.to.ISO.C90.and
740c0 0a 20 20 20 20 20 20 20 20 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 ..........is.declared.in.<TT>wch
740e0 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ar.h</TT>..........sq.~......w..
74100 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 12 97 74 00 2f 63 6f 6e 73 74 20 63 68 61 72 ...t..wchar.hxq.~..t./const.char
74120 20 2a 72 65 73 74 72 69 63 74 20 73 2c 20 73 69 7a 65 5f 74 20 6e 2c 20 6d 62 73 74 61 74 65 5f .*restrict.s,.size_t.n,.mbstate_
74140 74 20 2a 70 73 74 00 06 73 69 7a 65 5f 74 74 00 07 6d 62 72 74 6f 77 63 73 71 00 7e 00 0a 70 74 t.*pst..size_tt..mbrtowcsq.~..pt
74160 09 91 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d .....................The.<CODE>m
74180 62 72 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 28 60 60 6d 75 6c 74 69 62 brtowc</CODE>.function.(``multib
741a0 79 74 65 20 72 65 73 74 61 72 74 61 62 6c 65 20 74 6f 20 77 69 64 65 0a 20 20 20 20 20 20 20 20 yte.restartable.to.wide.........
741c0 20 63 68 61 72 61 63 74 65 72 27 27 29 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 6e 65 78 74 20 .character'').converts.the.next.
741e0 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 20 73 74 72 69 6e multibyte.character.in.the.strin
74200 67 20 70 6f 69 6e 74 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 62 79 20 3c 56 41 52 3e 73 3c g.pointed..........to.by.<VAR>s<
74220 2f 56 41 52 3e 20 69 6e 74 6f 20 61 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 61 6e 64 20 /VAR>.into.a.wide.character.and.
74240 73 74 6f 72 65 73 20 69 74 20 69 6e 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 0a stores.it.in.the.wide.character.
74260 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 .........string.pointed.to.by.<V
74280 41 52 3e 70 77 63 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 AR>pwc</VAR>...The.conversion.is
742a0 20 70 65 72 66 6f 72 6d 65 64 20 61 63 63 6f 72 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 6f .performed.according..........to
742c0 20 74 68 65 20 6c 6f 63 61 6c 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 66 .the.locale.currently.selected.f
742e0 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 4c 43 5f 43 54 59 50 45 3c 2f 43 4f 44 45 3e 20 63 61 74 or.the.<CODE>LC_CTYPE</CODE>.cat
74300 65 67 6f 72 79 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 6f 6e 76 65 72 73 69 egory...If..........the.conversi
74320 6f 6e 20 66 6f 72 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 73 65 74 20 75 73 65 64 20 69 6e on.for.the.character.set.used.in
74340 20 74 68 65 20 6c 6f 63 61 6c 65 20 72 65 71 75 69 72 65 73 20 61 20 73 74 61 74 65 2c 0a 20 20 .the.locale.requires.a.state,...
74360 20 20 20 20 20 20 20 74 68 65 20 6d 75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 20 69 73 20 69 .......the.multibyte.string.is.i
74380 6e 74 65 72 70 72 65 74 65 64 20 69 6e 20 74 68 65 20 73 74 61 74 65 20 72 65 70 72 65 73 65 6e nterpreted.in.the.state.represen
743a0 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 ted.by.the..........object.point
743c0 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e 2e 20 20 49 66 20 3c 56 41 52 ed.to.by.<VAR>ps</VAR>...If.<VAR
743e0 3e 70 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 61 20 73 >ps</VAR>.is.a.null.pointer,.a.s
74400 74 61 74 69 63 2c 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 65 20 76 tatic,..........internal.state.v
74420 61 72 69 61 62 6c 65 20 75 73 65 64 20 6f 6e 6c 79 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 6d ariable.used.only.by.the.<CODE>m
74440 62 72 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 brtowc</CODE>.function.is.......
74460 20 20 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 ...used...........<br><br>.If.th
74480 65 20 6e 65 78 74 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 63 6f 72 72 65 e.next.multibyte.character.corre
744a0 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 4e 55 4c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 sponds.to.the.NUL.wide.character
744c0 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 ,..........the.return.value.of.t
744e0 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 30 20 61 6e 64 20 74 68 65 20 73 74 61 74 65 20 6f he.function.is.0.and.the.state.o
74500 62 6a 65 63 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 66 74 65 72 77 61 72 64 73 20 69 6e 20 bject.is..........afterwards.in.
74520 74 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 2e 20 20 49 66 20 74 68 65 20 6e 65 78 74 20 the.initial.state...If.the.next.
74540 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 6f 72 20 66 65 77 65 72 20 62 79 74 65 73 0a 20 20 20 20 <VAR>n</VAR>.or.fewer.bytes.....
74560 20 20 20 20 20 66 6f 72 6d 20 61 20 63 6f 72 72 65 63 74 20 6d 75 6c 74 69 62 79 74 65 20 63 68 .....form.a.correct.multibyte.ch
74580 61 72 61 63 74 65 72 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 aracter,.the.return.value.is.the
745a0 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 62 79 74 65 73 20 73 74 61 72 74 69 .number.of..........bytes.starti
745c0 6e 67 20 66 72 6f 6d 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 74 68 61 74 20 66 6f 72 6d 20 74 ng.from.<VAR>s</VAR>.that.form.t
745e0 68 65 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 65 0a 20 20 20 he.multibyte.character...The....
74600 20 20 20 20 20 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 61 74 65 20 69 73 20 75 70 64 61 74 65 ......conversion.state.is.update
74620 64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 62 79 74 65 73 20 63 6f 6e 73 75 6d 65 d.according.to.the.bytes.consume
74640 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 76 65 72 73 69 6f 6e 2e 20 20 49 d.in.the..........conversion...I
74660 6e 20 62 6f 74 68 20 63 61 73 65 73 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 n.both.cases.the.wide.character.
74680 28 65 69 74 68 65 72 20 74 68 65 20 3c 43 4f 44 45 3e 4c 27 5c 30 27 3c 2f 43 4f 44 45 3e 0a 20 (either.the.<CODE>L'\0'</CODE>..
746a0 20 20 20 20 20 20 20 20 6f 72 20 74 68 65 20 6f 6e 65 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 ........or.the.one.found.in.the.
746c0 63 6f 6e 76 65 72 73 69 6f 6e 29 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 73 74 72 conversion).is.stored.in.the.str
746e0 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 56 41 52 3e ing.pointed.to..........by.<VAR>
74700 70 77 63 3c 2f 56 41 52 3e 20 69 66 20 3c 56 41 52 3e 70 77 63 3c 2f 56 41 52 3e 20 69 73 20 6e pwc</VAR>.if.<VAR>pwc</VAR>.is.n
74720 6f 74 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 ot.null...........<br><br>.If.th
74740 65 20 66 69 72 73 74 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 6f 66 20 74 68 e.first.<VAR>n</VAR>.bytes.of.th
74760 65 20 6d 75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 20 70 6f 73 73 69 62 6c 79 20 66 6f 72 6d e.multibyte.string.possibly.form
74780 20 61 20 76 61 6c 69 64 0a 20 20 20 20 20 20 20 20 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 .a.valid..........multibyte.char
747a0 61 63 74 65 72 20 62 75 74 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 74 68 61 6e 20 3c 56 acter.but.there.are.more.than.<V
747c0 41 52 3e 6e 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 6e 65 65 64 65 64 20 74 6f 0a 20 20 20 20 20 AR>n</VAR>.bytes.needed.to......
747e0 20 20 20 20 63 6f 6d 70 6c 65 74 65 20 69 74 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 ....complete.it,.the.return.valu
74800 65 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 3c 43 4f 44 45 3e 28 73 69 7a 65 e.of.the.function.is.<CODE>(size
74820 5f 74 29 20 2d 32 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 6e 6f 20 76 61 _t).-2</CODE>.and..........no.va
74840 6c 75 65 20 69 73 20 73 74 6f 72 65 64 2e 20 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 lue.is.stored...Please.note.that
74860 20 74 68 69 73 20 63 61 6e 20 68 61 70 70 65 6e 20 65 76 65 6e 20 69 66 20 3c 56 41 52 3e 6e 3c .this.can.happen.even.if.<VAR>n<
74880 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 68 61 73 20 61 20 76 61 6c 75 65 20 67 72 65 61 74 /VAR>..........has.a.value.great
748a0 65 72 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 3c 43 4f 44 45 3e 4d 42 5f 43 55 52 er.than.or.equal.to.<CODE>MB_CUR
748c0 5f 4d 41 58 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 69 6e 70 75 74 0a 20 20 20 20 _MAX</CODE>.since.the.input.....
748e0 20 20 20 20 20 6d 69 67 68 74 20 63 6f 6e 74 61 69 6e 20 72 65 64 75 6e 64 61 6e 74 20 73 68 69 .....might.contain.redundant.shi
74900 66 74 20 73 65 71 75 65 6e 63 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ft.sequences...........<br><br>.
74920 49 66 20 74 68 65 20 66 69 72 73 74 20 3c 43 4f 44 45 3e 6e 3c 2f 43 4f 44 45 3e 20 62 79 74 65 If.the.first.<CODE>n</CODE>.byte
74940 73 20 6f 66 20 74 68 65 20 6d 75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 20 63 61 6e 6e 6f 74 s.of.the.multibyte.string.cannot
74960 20 70 6f 73 73 69 62 6c 79 20 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 61 20 76 61 6c 69 64 20 .possibly.form..........a.valid.
74980 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 2c 20 6e 6f 20 76 61 6c 75 65 20 69 73 multibyte.character,.no.value.is
749a0 20 73 74 6f 72 65 64 2c 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 0a 20 20 20 .stored,.the.global.variable....
749c0 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 ......<CODE>errno</CODE>.is.set.
749e0 74 6f 20 74 68 65 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 45 49 4c 53 45 51 3c 2f 43 4f 44 45 3e to.the.value.<CODE>EILSEQ</CODE>
74a00 2c 20 61 6e 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 ,.and.the.function.returns......
74a20 20 20 20 20 3c 43 4f 44 45 3e 28 73 69 7a 65 5f 74 29 20 2d 31 3c 2f 43 4f 44 45 3e 2e 20 20 54 ....<CODE>(size_t).-1</CODE>...T
74a40 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 61 74 65 20 69 73 20 61 66 74 65 72 77 61 72 64 he.conversion.state.is.afterward
74a60 73 20 75 6e 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c s.undefined...........<br><br>.<
74a80 43 4f 44 45 3e 6d 62 72 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 CODE>mbrtowc</CODE>.was.introduc
74aa0 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 74 6f 20 49 53 4f 20 43 39 30 20 61 6e 64 ed.in.Amendment.1.to.ISO.C90.and
74ac0 0a 20 20 20 20 20 20 20 20 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 ..........is.declared.in.<TT>wch
74ae0 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ar.h</TT>..........sq.~......w..
74b00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 12 9e 74 00 4f 77 63 68 61 72 5f 74 20 2a 72 ...t..wchar.hxq.~..t.Owchar_t.*r
74b20 65 73 74 72 69 63 74 20 70 77 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 estrict.pwc,.const.char.*restric
74b40 74 20 73 2c 20 73 69 7a 65 5f 74 20 6e 2c 20 6d 62 73 74 61 74 65 5f 74 20 2a 72 65 73 74 72 69 t.s,.size_t.n,.mbstate_t.*restri
74b60 63 74 20 70 73 74 00 06 73 69 7a 65 5f 74 74 00 07 6d 62 73 69 6e 69 74 73 71 00 7e 00 0a 70 74 ct.pst..size_tt..mbsinitsq.~..pt
74b80 01 a3 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 62 73 69 6e 69 74 3c 2f 43 4f ...........The.<CODE>mbsinit</CO
74ba0 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 20 DE>.function.determines.whether.
74bc0 74 68 65 20 73 74 61 74 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 0a 20 20 20 20 20 20 20 the.state.object.pointed........
74be0 20 20 74 6f 20 62 79 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e 20 69 73 20 69 6e 20 74 68 65 20 ..to.by.<VAR>ps</VAR>.is.in.the.
74c00 69 6e 69 74 69 61 6c 20 73 74 61 74 65 2e 20 20 49 66 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e initial.state...If.<VAR>ps</VAR>
74c20 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 6f 72 0a 20 20 20 20 20 20 20 20 20 74 .is.a.null.pointer.or..........t
74c40 68 65 20 6f 62 6a 65 63 74 20 69 73 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 74 he.object.is.in.the.initial.stat
74c60 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 7a 65 72 6f 2e 20 20 e.the.return.value.is.nonzero...
74c80 4f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 69 74 20 69 73 20 7a 65 72 6f 2e 0a 20 Otherwise..........it.is.zero...
74ca0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 62 73 69 6e 69 74 3c 2f ........<br><br>.<CODE>mbsinit</
74cc0 43 4f 44 45 3e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e CODE>.was.introduced.in.Amendmen
74ce0 74 20 31 20 74 6f 20 49 53 4f 20 43 39 30 20 61 6e 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 t.1.to.ISO.C90.and.is..........d
74d00 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 eclared.in.<TT>wchar.h</TT>.....
74d20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 04 77 04 00 00 00 0a 74 00 08 73 74 64 64 65 66 2e 68 .....sq.~......w.....t..stddef.h
74d40 74 00 07 77 63 68 61 72 2e 68 74 00 08 6c 69 6d 69 74 73 2e 68 74 00 08 73 74 64 6c 69 62 2e 68 t..wchar.ht..limits.ht..stdlib.h
74d60 78 71 00 7e 12 a5 74 00 13 63 6f 6e 73 74 20 6d 62 73 74 61 74 65 5f 74 20 2a 70 73 74 00 03 69 xq.~..t..const.mbstate_t.*pst..i
74d80 6e 74 74 00 0a 6d 62 73 6e 72 74 6f 77 63 73 73 71 00 7e 00 0a 70 74 03 bc 0a 20 20 20 20 20 20 ntt..mbsnrtowcssq.~..pt.........
74da0 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 62 73 6e 72 74 6f 77 63 73 3c 2f 43 4f 44 45 3e 20 66 75 ..The.<CODE>mbsnrtowcs</CODE>.fu
74dc0 6e 63 74 69 6f 6e 20 69 73 20 76 65 72 79 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 nction.is.very.similar.to.the.<C
74de0 4f 44 45 3e 6d 62 73 72 74 6f 77 63 73 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 ODE>mbsrtowcs</CODE>..........fu
74e00 6e 63 74 69 6f 6e 2e 20 20 41 6c 6c 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 nction...All.the.parameters.are.
74e20 74 68 65 20 73 61 6d 65 20 65 78 63 65 70 74 20 66 6f 72 20 3c 56 41 52 3e 6e 6d 63 3c 2f 56 41 the.same.except.for.<VAR>nmc</VA
74e40 52 3e 2c 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 65 77 2e 20 20 54 68 65 20 R>,.which.is..........new...The.
74e60 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 return.value.is.the.same.as.for.
74e80 3c 43 4f 44 45 3e 6d 62 73 72 74 6f 77 63 73 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 <CODE>mbsrtowcs</CODE>..........
74ea0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 6e 65 77 20 70 61 72 61 6d 65 74 65 72 20 73 70 65 .<br><br>.This.new.parameter.spe
74ec0 63 69 66 69 65 73 20 68 6f 77 20 6d 61 6e 79 20 62 79 74 65 73 20 61 74 20 6d 6f 73 74 20 63 61 cifies.how.many.bytes.at.most.ca
74ee0 6e 20 62 65 20 75 73 65 64 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6d 75 6c 74 n.be.used.from.the..........mult
74f00 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 2e 20 20 49 6e 20 6f 74 68 65 ibyte.character.string...In.othe
74f20 72 20 77 6f 72 64 73 2c 20 74 68 65 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 r.words,.the.multibyte.character
74f40 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 73 72 63 ..........string.<CODE>*<VAR>src
74f60 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 6e 65 65 64 20 6e 6f 74 20 62 65 20 4e 55 4c 2d 74 65 </VAR></CODE>.need.not.be.NUL-te
74f80 72 6d 69 6e 61 74 65 64 2e 20 20 42 75 74 20 69 66 20 61 20 4e 55 4c 20 62 79 74 65 0a 20 20 20 rminated...But.if.a.NUL.byte....
74fa0 20 20 20 20 20 20 69 73 20 66 6f 75 6e 64 20 77 69 74 68 69 6e 20 74 68 65 20 3c 56 41 52 3e 6e ......is.found.within.the.<VAR>n
74fc0 6d 63 3c 2f 56 41 52 3e 20 66 69 72 73 74 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 73 74 72 69 mc</VAR>.first.bytes.of.the.stri
74fe0 6e 67 2c 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 73 74 6f 70 ng,.the.conversion..........stop
75000 73 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 s.here...........<br><br>.This.f
75020 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 20 20 49 74 20 unction.is.a.GNU.extension...It.
75040 69 73 20 6d 65 61 6e 74 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 74 68 65 0a 20 20 20 20 is.meant.to.work.around.the.....
75060 20 20 20 20 20 70 72 6f 62 6c 65 6d 73 20 6d 65 6e 74 69 6f 6e 65 64 20 61 62 6f 76 65 2e 20 20 .....problems.mentioned.above...
75080 4e 6f 77 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 Now.it.is.possible.to.convert.a.
750a0 62 75 66 66 65 72 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 6d 75 6c 74 69 62 79 74 65 20 63 buffer.with..........multibyte.c
750c0 68 61 72 61 63 74 65 72 20 74 65 78 74 20 70 69 65 63 65 20 66 6f 72 20 70 69 65 63 65 20 77 69 haracter.text.piece.for.piece.wi
750e0 74 68 6f 75 74 20 68 61 76 69 6e 67 20 74 6f 20 63 61 72 65 20 61 62 6f 75 74 0a 20 20 20 20 20 thout.having.to.care.about......
75100 20 20 20 20 69 6e 73 65 72 74 69 6e 67 20 4e 55 4c 20 62 79 74 65 73 20 61 6e 64 20 74 68 65 20 ....inserting.NUL.bytes.and.the.
75120 65 66 66 65 63 74 20 6f 66 20 4e 55 4c 20 62 79 74 65 73 20 6f 6e 20 74 68 65 20 63 6f 6e 76 65 effect.of.NUL.bytes.on.the.conve
75140 72 73 69 6f 6e 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 rsion.state..........sq.~......w
75160 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 12 af 74 00 60 77 63 68 61 72 5f 74 20 .....t..wchar.hxq.~..t.`wchar_t.
75180 2a 72 65 73 74 72 69 63 74 20 64 73 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 2a 72 65 73 74 *restrict.dst,.const.char.**rest
751a0 72 69 63 74 20 73 72 63 2c 20 73 69 7a 65 5f 74 20 6e 6d 63 2c 20 73 69 7a 65 5f 74 20 6c 65 6e rict.src,.size_t.nmc,.size_t.len
751c0 2c 20 6d 62 73 74 61 74 65 5f 74 20 2a 72 65 73 74 72 69 63 74 20 70 73 74 00 06 73 69 7a 65 5f ,.mbstate_t.*restrict.pst..size_
751e0 74 74 00 09 6d 62 73 72 74 6f 77 63 73 73 71 00 7e 00 0a 70 74 08 2c 0a 20 20 20 20 20 20 20 20 tt..mbsrtowcssq.~..pt.,.........
75200 54 68 65 20 3c 43 4f 44 45 3e 6d 62 73 72 74 6f 77 63 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 The.<CODE>mbsrtowcs</CODE>.funct
75220 69 6f 6e 20 28 60 60 6d 75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 20 72 65 73 74 61 72 74 61 ion.(``multibyte.string.restarta
75240 62 6c 65 20 74 6f 20 77 69 64 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 73 ble.to.wide..........character.s
75260 74 72 69 6e 67 27 27 29 20 63 6f 6e 76 65 72 74 73 20 61 6e 20 4e 55 4c 2d 74 65 72 6d 69 6e 61 tring'').converts.an.NUL-termina
75280 74 65 64 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 ted.multibyte.character.........
752a0 20 73 74 72 69 6e 67 20 61 74 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 73 72 63 3c 2f 56 41 52 3e .string.at.<CODE>*<VAR>src</VAR>
752c0 3c 2f 43 4f 44 45 3e 20 69 6e 74 6f 20 61 6e 20 65 71 75 69 76 61 6c 65 6e 74 20 77 69 64 65 20 </CODE>.into.an.equivalent.wide.
752e0 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 69 6e 63 6c 75 character.string,..........inclu
75300 64 69 6e 67 20 74 68 65 20 4e 55 4c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 61 74 20 74 ding.the.NUL.wide.character.at.t
75320 68 65 20 65 6e 64 2e 20 20 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 73 74 61 72 74 he.end...The.conversion.is.start
75340 65 64 0a 20 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 74 65 20 69 6e 66 6f ed..........using.the.state.info
75360 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 rmation.from.the.object.pointed.
75380 74 6f 20 62 79 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 to.by.<VAR>ps</VAR>.or..........
753a0 66 72 6f 6d 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 6f 62 6a 65 63 74 20 6f 66 20 3c 43 4f 44 45 from.an.internal.object.of.<CODE
753c0 3e 6d 62 73 72 74 6f 77 63 73 3c 2f 43 4f 44 45 3e 20 69 66 20 3c 56 41 52 3e 70 73 3c 2f 56 41 >mbsrtowcs</CODE>.if.<VAR>ps</VA
753e0 52 3e 20 69 73 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 2e 20 20 R>.is.a.null..........pointer...
75400 42 65 66 6f 72 65 20 72 65 74 75 72 6e 69 6e 67 2c 20 74 68 65 20 73 74 61 74 65 20 6f 62 6a 65 Before.returning,.the.state.obje
75420 63 74 20 69 73 20 75 70 64 61 74 65 64 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 73 74 61 74 65 ct.is.updated.to.match.the.state
75440 0a 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 63 6f 6e 76 65 72 74 ..........after.the.last.convert
75460 65 64 20 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 65 20 73 74 61 74 65 20 69 73 20 74 68 65 20 ed.character...The.state.is.the.
75480 69 6e 69 74 69 61 6c 20 73 74 61 74 65 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 65 initial.state.if.the..........te
754a0 72 6d 69 6e 61 74 69 6e 67 20 4e 55 4c 20 62 79 74 65 20 69 73 20 72 65 61 63 68 65 64 20 61 6e rminating.NUL.byte.is.reached.an
754c0 64 20 63 6f 6e 76 65 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 d.converted...........<br><br>.I
754e0 66 20 3c 56 41 52 3e 64 73 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 f.<VAR>dst</VAR>.is.not.a.null.p
75500 6f 69 6e 74 65 72 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 ointer,.the.result.is.stored.in.
75520 74 68 65 20 61 72 72 61 79 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 the.array..........pointed.to.by
75540 20 3c 56 41 52 3e 64 73 74 3c 2f 56 41 52 3e 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 .<VAR>dst</VAR>;.otherwise,.the.
75560 63 6f 6e 76 65 72 73 69 6f 6e 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 conversion.result.is.not........
75580 20 20 61 76 61 69 6c 61 62 6c 65 20 73 69 6e 63 65 20 69 74 20 69 73 20 73 74 6f 72 65 64 20 69 ..available.since.it.is.stored.i
755a0 6e 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c n.an.internal.buffer...........<
755c0 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 br><br>.If.<VAR>len</VAR>.wide.c
755e0 68 61 72 61 63 74 65 72 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 61 72 72 61 haracters.are.stored.in.the.arra
75600 79 20 3c 56 41 52 3e 64 73 74 3c 2f 56 41 52 3e 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 y.<VAR>dst</VAR>.before.........
75620 20 72 65 61 63 68 69 6e 67 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 73 .reaching.the.end.of.the.input.s
75640 74 72 69 6e 67 2c 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 6f 70 73 20 61 6e 64 20 tring,.the.conversion.stops.and.
75660 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 72 65 74 75 72 <VAR>len</VAR>..........is.retur
75680 6e 65 64 2e 20 20 49 66 20 3c 56 41 52 3e 64 73 74 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c ned...If.<VAR>dst</VAR>.is.a.nul
756a0 6c 20 70 6f 69 6e 74 65 72 2c 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 20 69 73 20 6e 65 76 l.pointer,.<VAR>len</VAR>.is.nev
756c0 65 72 20 63 68 65 63 6b 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e er.checked...........<br><br>.An
756e0 6f 74 68 65 72 20 72 65 61 73 6f 6e 20 66 6f 72 20 61 20 70 72 65 6d 61 74 75 72 65 20 72 65 74 other.reason.for.a.premature.ret
75700 75 72 6e 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 69 73 20 69 66 urn.from.the.function.call.is.if
75720 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 .the..........input.string.conta
75740 69 6e 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 6d 75 6c 74 69 62 79 74 65 20 73 65 71 75 65 6e 63 ins.an.invalid.multibyte.sequenc
75760 65 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 67 6c e...In.this.case.the..........gl
75780 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e obal.variable.<CODE>errno</CODE>
757a0 20 69 73 20 73 65 74 20 74 6f 20 3c 43 4f 44 45 3e 45 49 4c 53 45 51 3c 2f 43 4f 44 45 3e 20 61 .is.set.to.<CODE>EILSEQ</CODE>.a
757c0 6e 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 nd.the.function..........returns
757e0 20 3c 43 4f 44 45 3e 28 73 69 7a 65 5f 74 29 20 2d 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 .<CODE>(size_t).-1</CODE>.......
75800 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 61 6c 6c 20 6f 74 68 ....<br><br>.<br><br>.In.all.oth
75820 65 72 20 63 61 73 65 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 er.cases.the.function.returns.th
75840 65 20 6e 75 6d 62 65 72 20 6f 66 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 e.number.of.wide.characters.....
75860 20 20 20 20 20 63 6f 6e 76 65 72 74 65 64 20 64 75 72 69 6e 67 20 74 68 69 73 20 63 61 6c 6c 2e .....converted.during.this.call.
75880 20 20 49 66 20 3c 56 41 52 3e 64 73 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 6e 75 6c 6c 2c ..If.<VAR>dst</VAR>.is.not.null,
758a0 20 3c 43 4f 44 45 3e 6d 62 73 72 74 6f 77 63 73 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 .<CODE>mbsrtowcs</CODE>.........
758c0 20 73 74 6f 72 65 73 20 69 6e 20 74 68 65 20 70 6f 69 6e 74 65 72 20 70 6f 69 6e 74 65 64 20 74 .stores.in.the.pointer.pointed.t
758e0 6f 20 62 79 20 3c 56 41 52 3e 73 72 63 3c 2f 56 41 52 3e 20 65 69 74 68 65 72 20 61 20 6e 75 6c o.by.<VAR>src</VAR>.either.a.nul
75900 6c 20 70 6f 69 6e 74 65 72 20 28 69 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 4e 55 4c 20 62 l.pointer.(if..........the.NUL.b
75920 79 74 65 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 77 61 73 20 72 65 61 63 yte.in.the.input.string.was.reac
75940 68 65 64 29 20 6f 72 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 62 79 74 65 0a hed).or.the.address.of.the.byte.
75960 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6c 61 73 74 20 63 6f 6e 76 .........following.the.last.conv
75980 65 72 74 65 64 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 erted.multibyte.character.......
759a0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 62 73 72 74 6f 77 63 73 3c 2f 43 4f ....<br><br>.<CODE>mbsrtowcs</CO
759c0 44 45 3e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 DE>.was.introduced.in.Amendment.
759e0 31 20 74 6f 20 49 53 4f 20 43 39 30 20 61 6e 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 65 63 1.to.ISO.C90.and.is..........dec
75a00 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 lared.in.<TT>wchar.h</TT>.......
75a20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 ...sq.~......w.....t..wchar.hxq.
75a40 7e 12 b6 74 00 54 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 64 73 74 2c 20 63 6f 6e ~..t.Twchar_t.*restrict.dst,.con
75a60 73 74 20 63 68 61 72 20 2a 2a 72 65 73 74 72 69 63 74 20 73 72 63 2c 20 73 69 7a 65 5f 74 20 6c st.char.**restrict.src,.size_t.l
75a80 65 6e 2c 20 6d 62 73 74 61 74 65 5f 74 20 2a 72 65 73 74 72 69 63 74 20 70 73 74 00 06 73 69 7a en,.mbstate_t.*restrict.pst..siz
75aa0 65 5f 74 74 00 08 6d 62 73 74 6f 77 63 73 73 71 00 7e 00 0a 70 74 06 b5 0a 20 20 20 20 20 20 20 e_tt..mbstowcssq.~..pt..........
75ac0 20 54 68 65 20 3c 43 4f 44 45 3e 6d 62 73 74 6f 77 63 73 3c 2f 43 4f 44 45 3e 20 28 60 60 6d 75 .The.<CODE>mbstowcs</CODE>.(``mu
75ae0 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 20 74 6f 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 ltibyte.string.to.wide.character
75b00 20 73 74 72 69 6e 67 27 27 29 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e .string'')..........function.con
75b20 76 65 72 74 73 20 74 68 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 74 72 69 6e 67 verts.the.null-terminated.string
75b40 20 6f 66 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 .of.multibyte.characters........
75b60 20 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 74 6f 20 61 6e 20 61 72 72 61 79 20 ..<VAR>string</VAR>.to.an.array.
75b80 6f 66 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 73 2c 20 73 74 6f 72 69 6e 67 of.wide.character.codes,.storing
75ba0 20 6e 6f 74 20 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a .not.more.than..........<VAR>siz
75bc0 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 74 68 65 e</VAR>.wide.characters.into.the
75be0 20 61 72 72 61 79 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 77 73 74 72 69 6e 67 .array.beginning.at.<VAR>wstring
75c00 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 </VAR>...........The.terminating
75c20 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 63 6f 75 6e 74 73 20 74 6f 77 61 72 64 73 20 74 .null.character.counts.towards.t
75c40 68 65 20 73 69 7a 65 2c 20 73 6f 20 69 66 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 he.size,.so.if.<VAR>size</VAR>..
75c60 20 20 20 20 20 20 20 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 61 63 74 75 61 6c 20 ........is.less.than.the.actual.
75c80 6e 75 6d 62 65 72 20 6f 66 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 72 65 73 75 6c 74 number.of.wide.characters.result
75ca0 69 6e 67 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 ing.from..........<VAR>string</V
75cc0 41 52 3e 2c 20 6e 6f 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 AR>,.no.terminating.null.charact
75ce0 65 72 20 69 73 20 73 74 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 er.is.stored...........<br><br>.
75d00 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f The.conversion.of.characters.fro
75d20 6d 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 62 65 67 69 6e 73 20 69 6e 20 74 68 m.<VAR>string</VAR>.begins.in.th
75d40 65 20 69 6e 69 74 69 61 6c 0a 20 20 20 20 20 20 20 20 20 73 68 69 66 74 20 73 74 61 74 65 2e 0a e.initial..........shift.state..
75d60 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 61 6e 20 69 6e 76 61 6c 69 64 20 .........<br><br>.If.an.invalid.
75d80 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 73 65 71 75 65 6e 63 65 20 69 73 20 multibyte.character.sequence.is.
75da0 66 6f 75 6e 64 2c 20 74 68 65 20 3c 43 4f 44 45 3e 6d 62 73 74 6f 77 63 73 3c 2f 43 4f 44 45 3e found,.the.<CODE>mbstowcs</CODE>
75dc0 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c ..........function.returns.a.val
75de0 75 65 20 6f 66 20 2d 31 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 72 65 74 75 72 6e 73 ue.of.-1...Otherwise,.it.returns
75e00 20 74 68 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 6f 66 20 77 69 64 65 20 63 68 61 .the.number..........of.wide.cha
75e20 72 61 63 74 65 72 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 racters.stored.in.the.array.<VAR
75e40 3e 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 6e 75 6d 62 65 72 20 64 6f 65 >wstring</VAR>...This.number.doe
75e60 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 74 65 72 6d 69 s..........not.include.the.termi
75e80 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 2c 20 77 68 69 63 68 20 69 73 20 nating.null.character,.which.is.
75ea0 70 72 65 73 65 6e 74 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 69 present.if.the..........number.i
75ec0 73 20 6c 65 73 73 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 s.less.than.<VAR>size</VAR>.....
75ee0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c ......<br><br>.Here.is.an.exampl
75f00 65 20 73 68 6f 77 69 6e 67 20 68 6f 77 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 73 74 72 69 6e e.showing.how.to.convert.a.strin
75f20 67 20 6f 66 20 6d 75 6c 74 69 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 g.of.multibyte..........characte
75f40 72 73 2c 20 61 6c 6c 6f 63 61 74 69 6e 67 20 65 6e 6f 75 67 68 20 73 70 61 63 65 20 66 6f 72 20 rs,.allocating.enough.space.for.
75f60 74 68 65 20 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 the.result...........<br><br>.<p
75f80 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 77 63 68 61 72 5f 74 20 2a 3c 62 72 3e 0a 20 re><br>..........wchar_t.*<br>..
75fa0 20 20 20 20 20 20 20 20 6d 62 73 74 6f 77 63 73 5f 61 6c 6c 6f 63 20 28 63 6f 6e 73 74 20 63 68 ........mbstowcs_alloc.(const.ch
75fc0 61 72 20 2a 73 74 72 69 6e 67 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 ar.*string)<br>..........{<br>..
75fe0 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 20 3d 20 73 74 72 6c 65 6e 20 28 ..........size_t.size.=.strlen.(
76000 73 74 72 69 6e 67 29 20 2b 20 31 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 77 63 68 61 string).+.1;<br>............wcha
76020 72 5f 74 20 2a 62 75 66 20 3d 20 78 6d 61 6c 6c 6f 63 20 28 73 69 7a 65 20 2a 20 73 69 7a 65 6f r_t.*buf.=.xmalloc.(size.*.sizeo
76040 66 20 28 77 63 68 61 72 5f 74 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c f.(wchar_t));<br>..........<br><
76060 62 72 3e 20 20 20 73 69 7a 65 20 3d 20 6d 62 73 74 6f 77 63 73 20 28 62 75 66 2c 20 73 74 72 69 br>...size.=.mbstowcs.(buf,.stri
76080 6e 67 2c 20 73 69 7a 65 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 69 ng,.size);<br>............if.(si
760a0 7a 65 20 3d 3d 20 28 73 69 7a 65 5f 74 29 20 2d 31 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 ze.==.(size_t).-1)<br>..........
760c0 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ....return.NULL;<br>............
760e0 62 75 66 20 3d 20 78 72 65 61 6c 6c 6f 63 20 28 62 75 66 2c 20 28 73 69 7a 65 20 2b 20 31 29 20 buf.=.xrealloc.(buf,.(size.+.1).
76100 2a 20 73 69 7a 65 6f 66 20 28 77 63 68 61 72 5f 74 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 *.sizeof.(wchar_t));<br>........
76120 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 ....return.buf;<br>..........}<b
76140 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e r>..........</pre>..........<br>
76160 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 <br>.........sq.~......w.....t..
76180 73 74 64 6c 69 62 2e 68 78 71 00 7e 12 bd 74 00 31 77 63 68 61 72 5f 74 20 2a 77 73 74 72 69 6e stdlib.hxq.~..t.1wchar_t.*wstrin
761a0 67 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 73 69 7a 65 5f 74 20 73 69 g,.const.char.*string,.size_t.si
761c0 7a 65 74 00 06 73 69 7a 65 5f 74 74 00 06 6d 62 74 6f 77 63 73 71 00 7e 00 0a 70 74 07 06 0a 20 zet..size_tt..mbtowcsq.~..pt....
761e0 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 62 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 28 .......The.<CODE>mbtowc</CODE>.(
76200 60 60 6d 75 6c 74 69 62 79 74 65 20 74 6f 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 27 27 29 ``multibyte.to.wide.character'')
76220 20 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 20 20 20 77 .function.when.called..........w
76240 69 74 68 20 6e 6f 6e 2d 6e 75 6c 6c 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 63 ith.non-null.<VAR>string</VAR>.c
76260 6f 6e 76 65 72 74 73 20 74 68 65 20 66 69 72 73 74 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 onverts.the.first.multibyte.char
76280 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 acter..........beginning.at.<VAR
762a0 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 74 6f 20 69 74 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 >string</VAR>.to.its.correspondi
762c0 6e 67 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 2e 20 20 49 74 0a 20 20 20 20 ng.wide.character.code...It.....
762e0 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 69 6e 20 3c 43 4f 44 45 3e .....stores.the.result.in.<CODE>
76300 2a 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 *<VAR>result</VAR></CODE>.......
76320 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 62 74 6f 77 63 3c 2f 43 4f 44 45 3e ....<br><br>.<CODE>mbtowc</CODE>
76340 20 6e 65 76 65 72 20 65 78 61 6d 69 6e 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 3c 56 41 52 3e 73 .never.examines.more.than.<VAR>s
76360 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 2e 20 20 28 54 68 65 20 69 64 65 61 20 69 73 0a 20 ize</VAR>.bytes...(The.idea.is..
76380 20 20 20 20 20 20 20 20 74 6f 20 73 75 70 70 6c 79 20 66 6f 72 20 3c 56 41 52 3e 73 69 7a 65 3c ........to.supply.for.<VAR>size<
763a0 2f 56 41 52 3e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 6f 66 20 64 61 74 /VAR>.the.number.of.bytes.of.dat
763c0 61 20 79 6f 75 20 68 61 76 65 20 69 6e 20 68 61 6e 64 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 a.you.have.in.hand.)..........<b
763e0 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 62 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 r><br>.<CODE>mbtowc</CODE>.with.
76400 6e 6f 6e 2d 6e 75 6c 6c 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 64 69 73 74 69 non-null.<VAR>string</VAR>.disti
76420 6e 67 75 69 73 68 65 73 20 74 68 72 65 65 0a 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 69 6c nguishes.three..........possibil
76440 69 74 69 65 73 3a 20 74 68 65 20 66 69 72 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e ities:.the.first.<VAR>size</VAR>
76460 20 62 79 74 65 73 20 61 74 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 73 74 61 72 .bytes.at.<VAR>string</VAR>.star
76480 74 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 76 61 6c 69 64 20 6d 75 6c 74 69 62 79 74 65 20 t.with..........valid.multibyte.
764a0 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 79 20 73 74 61 72 74 20 77 69 74 68 20 61 6e 20 69 characters,.they.start.with.an.i
764c0 6e 76 61 6c 69 64 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 6f 72 0a 20 20 20 20 20 20 20 20 nvalid.byte.sequence.or.........
764e0 20 6a 75 73 74 20 70 61 72 74 20 6f 66 20 61 20 63 68 61 72 61 63 74 65 72 2c 20 6f 72 20 3c 56 .just.part.of.a.character,.or.<V
76500 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 20 61 6e 20 65 6d 70 AR>string</VAR>.points.to.an.emp
76520 74 79 20 73 74 72 69 6e 67 20 28 61 0a 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 20 63 68 61 72 61 ty.string.(a..........null.chara
76540 63 74 65 72 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 61 20 76 cter)...........<br><br>.For.a.v
76560 61 6c 69 64 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 2c 20 3c 43 4f 44 45 3e alid.multibyte.character,.<CODE>
76580 6d 62 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 63 6f 6e 76 65 72 74 73 20 69 74 20 74 6f 20 61 20 77 mbtowc</CODE>.converts.it.to.a.w
765a0 69 64 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 61 6e 64 20 73 74 6f 72 65 ide..........character.and.store
765c0 73 20 74 68 61 74 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 s.that.in.<CODE>*<VAR>result</VA
765e0 52 3e 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 0a 20 20 20 20 20 R></CODE>,.and.returns.the......
76600 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 69 6e 20 74 68 61 74 20 63 68 61 72 ....number.of.bytes.in.that.char
76620 61 63 74 65 72 20 28 61 6c 77 61 79 73 20 61 74 20 6c 65 61 73 74 20 31 20 61 6e 64 20 6e 65 76 acter.(always.at.least.1.and.nev
76640 65 72 0a 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c er..........more.than.<VAR>size<
76660 2f 56 41 52 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 61 6e /VAR>)...........<br><br>.For.an
76680 20 69 6e 76 61 6c 69 64 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 2c 20 3c 43 4f 44 45 3e 6d 62 .invalid.byte.sequence,.<CODE>mb
766a0 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 2d 31 2e 20 20 46 6f 72 20 61 6e 0a towc</CODE>.returns.-1...For.an.
766c0 20 20 20 20 20 20 20 20 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 69 74 20 72 65 74 75 72 6e .........empty.string,.it.return
766e0 73 20 30 2c 20 61 6c 73 6f 20 73 74 6f 72 69 6e 67 20 3c 43 4f 44 45 3e 27 5c 30 27 3c 2f 43 4f s.0,.also.storing.<CODE>'\0'</CO
76700 44 45 3e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 65 73 75 DE>.in..........<CODE>*<VAR>resu
76720 6c 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 lt</VAR></CODE>...........<br><b
76740 72 3e 20 49 66 20 74 68 65 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 63 6f r>.If.the.multibyte.character.co
76760 64 65 20 75 73 65 73 20 73 68 69 66 74 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 6e 0a 20 de.uses.shift.characters,.then..
76780 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 62 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 6d 61 69 6e ........<CODE>mbtowc</CODE>.main
767a0 74 61 69 6e 73 20 61 6e 64 20 75 70 64 61 74 65 73 20 61 20 73 68 69 66 74 20 73 74 61 74 65 20 tains.and.updates.a.shift.state.
767c0 61 73 20 69 74 20 73 63 61 6e 73 2e 20 20 49 66 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 63 61 as.it.scans...If.you..........ca
767e0 6c 6c 20 3c 43 4f 44 45 3e 6d 62 74 6f 77 63 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 20 6e 75 ll.<CODE>mbtowc</CODE>.with.a.nu
76800 6c 6c 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e ll.pointer.for.<VAR>string</VAR>
76820 2c 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 ,.that..........initializes.the.
76840 73 68 69 66 74 20 73 74 61 74 65 20 74 6f 20 69 74 73 20 73 74 61 6e 64 61 72 64 20 69 6e 69 74 shift.state.to.its.standard.init
76860 69 61 6c 20 76 61 6c 75 65 2e 20 20 49 74 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 72 65 74 ial.value...It.also..........ret
76880 75 72 6e 73 20 6e 6f 6e 7a 65 72 6f 20 69 66 20 74 68 65 20 6d 75 6c 74 69 62 79 74 65 20 63 68 urns.nonzero.if.the.multibyte.ch
768a0 61 72 61 63 74 65 72 20 63 6f 64 65 20 69 6e 20 75 73 65 20 61 63 74 75 61 6c 6c 79 20 68 61 73 aracter.code.in.use.actually.has
768c0 20 61 0a 20 20 20 20 20 20 20 20 20 73 68 69 66 74 20 73 74 61 74 65 2e 20 20 2e 0a 20 20 20 20 .a..........shift.state.........
768e0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 ....sq.~......w.....t..stdlib.hx
76900 71 00 7e 12 c4 74 00 42 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 72 65 73 75 6c 74 q.~..t.Bwchar_t.*restrict.result
76920 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 73 ,.const.char.*restrict.string,.s
76940 69 7a 65 5f 74 20 73 69 7a 65 74 00 03 69 6e 74 74 00 06 6d 63 68 65 63 6b 73 71 00 7e 00 0a 70 ize_t.sizet..intt..mchecksq.~..p
76960 74 08 42 0a 20 20 20 20 20 20 20 20 43 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 6d 63 68 65 63 6b t.B.........Calling.<CODE>mcheck
76980 3c 2f 43 4f 44 45 3e 20 74 65 6c 6c 73 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 </CODE>.tells.<CODE>malloc</CODE
769a0 3e 20 74 6f 20 70 65 72 66 6f 72 6d 20 6f 63 63 61 73 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 >.to.perform.occasional.........
769c0 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 63 68 65 63 6b 73 2e 20 20 54 68 65 73 65 20 77 69 6c 6c .consistency.checks...These.will
769e0 20 63 61 74 63 68 20 74 68 69 6e 67 73 20 73 75 63 68 20 61 73 20 77 72 69 74 69 6e 67 0a 20 20 .catch.things.such.as.writing...
76a00 20 20 20 20 20 20 20 70 61 73 74 20 74 68 65 20 65 6e 64 20 6f 66 20 61 20 62 6c 6f 63 6b 20 74 .......past.the.end.of.a.block.t
76a20 68 61 74 20 77 61 73 20 61 6c 6c 6f 63 61 74 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 6d 61 6c hat.was.allocated.with.<CODE>mal
76a40 6c 6f 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 loc</CODE>...........<br><br>.Th
76a60 65 20 3c 56 41 52 3e 61 62 6f 72 74 66 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 e.<VAR>abortfn</VAR>.argument.is
76a80 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 61 6c 6c 20 77 68 65 6e 20 61 6e 20 69 6e .the.function.to.call.when.an.in
76aa0 63 6f 6e 73 69 73 74 65 6e 63 79 0a 20 20 20 20 20 20 20 20 20 69 73 20 66 6f 75 6e 64 2e 20 20 consistency..........is.found...
76ac0 49 66 20 79 6f 75 20 73 75 70 70 6c 79 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 74 68 If.you.supply.a.null.pointer,.th
76ae0 65 6e 20 3c 43 4f 44 45 3e 6d 63 68 65 63 6b 3c 2f 43 4f 44 45 3e 20 75 73 65 73 20 61 0a 20 20 en.<CODE>mcheck</CODE>.uses.a...
76b00 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 70 72 .......default.function.which.pr
76b20 69 6e 74 73 20 61 20 6d 65 73 73 61 67 65 20 61 6e 64 20 63 61 6c 6c 73 20 3c 43 4f 44 45 3e 61 ints.a.message.and.calls.<CODE>a
76b40 62 6f 72 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 2e 20 20 54 68 65 20 66 75 6e 63 bort</CODE>.............The.func
76b60 74 69 6f 6e 20 79 6f 75 20 73 75 70 70 6c 79 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 20 tion.you.supply.is.called.with..
76b80 20 20 20 20 20 20 20 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2c 20 77 68 69 63 68 20 73 61 79 73 ........one.argument,.which.says
76ba0 20 77 68 61 74 20 73 6f 72 74 20 6f 66 20 69 6e 63 6f 6e 73 69 73 74 65 6e 63 79 20 77 61 73 20 .what.sort.of.inconsistency.was.
76bc0 64 65 74 65 63 74 65 64 3b 20 69 74 73 0a 20 20 20 20 20 20 20 20 20 74 79 70 65 20 69 73 20 64 detected;.its..........type.is.d
76be0 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 escribed.below...........<br><br
76c00 3e 20 49 74 20 69 73 20 74 6f 6f 20 6c 61 74 65 20 74 6f 20 62 65 67 69 6e 20 61 6c 6c 6f 63 61 >.It.is.too.late.to.begin.alloca
76c20 74 69 6f 6e 20 63 68 65 63 6b 69 6e 67 20 6f 6e 63 65 20 79 6f 75 20 68 61 76 65 20 61 6c 6c 6f tion.checking.once.you.have.allo
76c40 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 61 6e 79 74 68 69 6e 67 20 77 69 74 68 20 3c 43 4f cated..........anything.with.<CO
76c60 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2e 20 20 53 6f 20 3c 43 4f 44 45 3e 6d 63 68 65 DE>malloc</CODE>...So.<CODE>mche
76c80 63 6b 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 20 69 6e 20 74 68 61 74 0a 20 ck</CODE>.does.nothing.in.that..
76ca0 20 20 20 20 20 20 20 20 63 61 73 65 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 ........case...The.function.retu
76cc0 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 66 20 79 6f 75 20 63 61 6c 6c 20 rns.<CODE>-1</CODE>.if.you.call.
76ce0 69 74 20 74 6f 6f 20 6c 61 74 65 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e it.too.late,.and..........<CODE>
76d00 30 3c 2f 43 4f 44 45 3e 20 6f 74 68 65 72 77 69 73 65 20 28 77 68 65 6e 20 69 74 20 69 73 20 73 0</CODE>.otherwise.(when.it.is.s
76d20 75 63 63 65 73 73 66 75 6c 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 uccessful)...........<br><br>.Th
76d40 65 20 65 61 73 69 65 73 74 20 77 61 79 20 74 6f 20 61 72 72 61 6e 67 65 20 74 6f 20 63 61 6c 6c e.easiest.way.to.arrange.to.call
76d60 20 3c 43 4f 44 45 3e 6d 63 68 65 63 6b 3c 2f 43 4f 44 45 3e 20 65 61 72 6c 79 20 65 6e 6f 75 67 .<CODE>mcheck</CODE>.early.enoug
76d80 68 20 69 73 20 74 6f 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 70 74 69 6f 6e 20 h.is.to.use..........the.option.
76da0 3c 73 61 6d 70 3e 2d 6c 6d 63 68 65 63 6b 3c 2f 73 61 6d 70 3e 20 77 68 65 6e 20 79 6f 75 20 6c <samp>-lmcheck</samp>.when.you.l
76dc0 69 6e 6b 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 3b 20 74 68 65 6e 20 79 6f 75 20 64 6f 6e 27 74 ink.your.program;.then.you.don't
76de0 0a 20 20 20 20 20 20 20 20 20 6e 65 65 64 20 74 6f 20 6d 6f 64 69 66 79 20 79 6f 75 72 20 70 72 ..........need.to.modify.your.pr
76e00 6f 67 72 61 6d 20 73 6f 75 72 63 65 20 61 74 20 61 6c 6c 2e 20 20 41 6c 74 65 72 6e 61 74 69 76 ogram.source.at.all...Alternativ
76e20 65 6c 79 20 79 6f 75 20 6d 69 67 68 74 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 61 20 64 65 62 ely.you.might.use..........a.deb
76e40 75 67 67 65 72 20 74 6f 20 69 6e 73 65 72 74 20 61 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e ugger.to.insert.a.call.to.<CODE>
76e60 6d 63 68 65 63 6b 3c 2f 43 4f 44 45 3e 20 77 68 65 6e 65 76 65 72 20 74 68 65 20 70 72 6f 67 72 mcheck</CODE>.whenever.the.progr
76e80 61 6d 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 74 61 72 74 65 64 2c 20 66 6f 72 20 65 78 61 6d am.is..........started,.for.exam
76ea0 70 6c 65 20 74 68 65 73 65 20 67 64 62 20 63 6f 6d 6d 61 6e 64 73 20 77 69 6c 6c 20 61 75 74 6f ple.these.gdb.commands.will.auto
76ec0 6d 61 74 69 63 61 6c 6c 79 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 6d 63 68 65 63 6b 3c 2f 43 4f 44 matically.call.<CODE>mcheck</COD
76ee0 45 3e 0a 20 20 20 20 20 20 20 20 20 77 68 65 6e 65 76 65 72 20 74 68 65 20 70 72 6f 67 72 61 6d E>..........whenever.the.program
76f00 20 73 74 61 72 74 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e .starts:..........<br><br>.<pre>
76f20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 28 67 64 62 29 20 62 72 65 61 6b 20 6d 61 69 6e 3c 62 <br>..........(gdb).break.main<b
76f40 72 3e 0a 20 20 20 20 20 20 20 20 20 42 72 65 61 6b 70 6f 69 6e 74 20 31 2c 20 6d 61 69 6e 20 28 r>..........Breakpoint.1,.main.(
76f60 61 72 67 63 3d 32 2c 20 61 72 67 76 3d 30 78 62 66 66 66 66 39 36 34 29 20 61 74 20 77 68 61 74 argc=2,.argv=0xbffff964).at.what
76f80 65 76 65 72 2e 63 3a 31 30 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 28 67 64 62 29 20 63 6f 6d ever.c:10<br>..........(gdb).com
76fa0 6d 61 6e 64 20 31 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 54 79 70 65 20 63 6f 6d 6d 61 6e 64 mand.1<br>..........Type.command
76fc0 73 20 66 6f 72 20 77 68 65 6e 20 62 72 65 61 6b 70 6f 69 6e 74 20 31 20 69 73 20 68 69 74 2c 20 s.for.when.breakpoint.1.is.hit,.
76fe0 6f 6e 65 20 70 65 72 20 6c 69 6e 65 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 45 6e 64 20 77 one.per.line.<br>..........End.w
77000 69 74 68 20 61 20 6c 69 6e 65 20 73 61 79 69 6e 67 20 6a 75 73 74 20 22 65 6e 64 22 2e 3c 62 72 ith.a.line.saying.just."end".<br
77020 3e 0a 20 20 20 20 20 20 20 20 20 3e 63 61 6c 6c 20 6d 63 68 65 63 6b 28 30 29 3c 62 72 3e 0a 20 >..........>call.mcheck(0)<br>..
77040 20 20 20 20 20 20 20 20 3e 63 6f 6e 74 69 6e 75 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3e ........>continue<br>..........>
77060 65 6e 64 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 28 67 64 62 29 20 3c 73 6d 61 6c 6c 3e 2e 2e end<br>..........(gdb).<small>..
77080 2e 3c 2f 73 6d 61 6c 6c 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 .</small><br>..........</pre>...
770a0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 77 69 6c 6c 20 68 6f 77 65 76 65 .......<br><br>.This.will.howeve
770c0 72 20 6f 6e 6c 79 20 77 6f 72 6b 20 69 66 20 6e 6f 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e r.only.work.if.no.initialization
770e0 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 61 6e 79 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 .function.of.any.object.........
77100 20 69 6e 76 6f 6c 76 65 64 20 63 61 6c 6c 73 20 61 6e 79 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 .involved.calls.any.of.the.<CODE
77120 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 73 69 6e 63 65 20 3c >malloc</CODE>.functions.since.<
77140 43 4f 44 45 3e 6d 63 68 65 63 6b 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6d 75 73 74 CODE>mcheck</CODE>..........must
77160 20 62 65 20 63 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 66 69 72 73 74 20 73 75 63 68 .be.called.before.the.first.such
77180 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 .function...........<br><br>....
771a0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6d 63 68 65 63 6b 2e 68 .....sq.~......w.....t..mcheck.h
771c0 78 71 00 7e 12 cb 74 00 2b 76 6f 69 64 20 28 2a 61 62 6f 72 74 66 6e 29 20 28 65 6e 75 6d 20 6d xq.~..t.+void.(*abortfn).(enum.m
771e0 63 68 65 63 6b 5f 73 74 61 74 75 73 20 73 74 61 74 75 73 29 74 00 03 69 6e 74 74 00 08 6d 65 6d check_status.status)t..intt..mem
77200 61 6c 69 67 6e 73 71 00 7e 00 0a 70 74 01 8b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 alignsq.~..pt...........The.<COD
77220 45 3e 6d 65 6d 61 6c 69 67 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 6f 63 E>memalign</CODE>.function.alloc
77240 61 74 65 73 20 61 20 62 6c 6f 63 6b 20 6f 66 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 ates.a.block.of.<VAR>size</VAR>.
77260 62 79 74 65 73 20 77 68 6f 73 65 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 69 73 20 bytes.whose..........address.is.
77280 61 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 3c 56 41 52 3e 62 6f 75 6e 64 61 72 79 3c 2f 56 41 52 a.multiple.of.<VAR>boundary</VAR
772a0 3e 2e 20 20 54 68 65 20 3c 56 41 52 3e 62 6f 75 6e 64 61 72 79 3c 2f 56 41 52 3e 20 6d 75 73 74 >...The.<VAR>boundary</VAR>.must
772c0 20 62 65 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 77 65 72 20 6f 66 20 74 77 6f 21 20 20 54 68 .be.a..........power.of.two!..Th
772e0 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 6d 65 6d 61 6c 69 67 6e 3c 2f 43 4f 44 45 3e e.function.<CODE>memalign</CODE>
77300 20 77 6f 72 6b 73 20 62 79 20 61 6c 6c 6f 63 61 74 69 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 .works.by.allocating.a..........
77320 73 6f 6d 65 77 68 61 74 20 6c 61 72 67 65 72 20 62 6c 6f 63 6b 2c 20 61 6e 64 20 74 68 65 6e 20 somewhat.larger.block,.and.then.
77340 72 65 74 75 72 6e 69 6e 67 20 61 6e 20 61 64 64 72 65 73 73 20 77 69 74 68 69 6e 20 74 68 65 20 returning.an.address.within.the.
77360 62 6c 6f 63 6b 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 69 73 20 6f 6e 20 74 68 65 20 73 70 block..........that.is.on.the.sp
77380 65 63 69 66 69 65 64 20 62 6f 75 6e 64 61 72 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f ecified.boundary..........sq.~..
773a0 00 00 00 01 77 04 00 00 00 0a 74 00 08 6d 61 6c 6c 6f 63 2e 68 78 71 00 7e 12 d2 74 00 1c 73 69 ....w.....t..malloc.hxq.~..t..si
773c0 7a 65 5f 74 20 62 6f 75 6e 64 61 72 79 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 06 76 6f 69 ze_t.boundary,.size_t.sizet..voi
773e0 64 20 2a 74 00 07 6d 65 6d 63 63 70 79 73 71 00 7e 00 0a 70 74 01 99 0a 20 20 20 20 20 20 20 20 d.*t..memccpysq.~..pt...........
77400 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 6e 6f 20 6d 6f 72 65 20 74 68 61 This.function.copies.no.more.tha
77420 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 66 72 6f 6d 20 3c 56 41 n.<VAR>size</VAR>.bytes.from.<VA
77440 52 3e 66 72 6f 6d 3c 2f 56 41 52 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 6f R>from</VAR>.to..........<VAR>to
77460 3c 2f 56 41 52 3e 2c 20 73 74 6f 70 70 69 6e 67 20 69 66 20 61 20 62 79 74 65 20 6d 61 74 63 68 </VAR>,.stopping.if.a.byte.match
77480 69 6e 67 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 66 6f 75 6e 64 2e 20 20 54 68 65 20 ing.<VAR>c</VAR>.is.found...The.
774a0 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 6e 74 return..........value.is.a.point
774c0 65 72 20 69 6e 74 6f 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 20 6f 6e 65 20 62 79 74 65 20 70 er.into.<VAR>to</VAR>.one.byte.p
774e0 61 73 74 20 77 68 65 72 65 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 77 61 73 20 63 6f 70 69 65 ast.where.<VAR>c</VAR>.was.copie
77500 64 2c 0a 20 20 20 20 20 20 20 20 20 6f 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 d,..........or.a.null.pointer.if
77520 20 6e 6f 20 62 79 74 65 20 6d 61 74 63 68 69 6e 67 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 61 .no.byte.matching.<VAR>c</VAR>.a
77540 70 70 65 61 72 65 64 20 69 6e 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 3c 56 ppeared.in.the.first..........<V
77560 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 6f 66 20 3c 56 41 52 3e 66 72 6f 6d AR>size</VAR>.bytes.of.<VAR>from
77580 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a </VAR>..........sq.~......w.....
775a0 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 12 d9 74 00 40 76 6f 69 64 20 2a 72 65 73 74 72 69 t..string.hxq.~..t.@void.*restri
775c0 63 74 20 74 6f 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 72 65 73 74 72 69 63 74 20 66 72 6f 6d ct.to,.const.void.*restrict.from
775e0 2c 20 69 6e 74 20 63 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 06 ,.int.c,.size_t.sizet..void.*t..
77600 6d 65 6d 63 68 72 73 71 00 7e 00 0a 70 74 01 4a 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 memchrsq.~..pt.J.........This.fu
77620 6e 63 74 69 6f 6e 20 66 69 6e 64 73 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 nction.finds.the.first.occurrenc
77640 65 20 6f 66 20 74 68 65 20 62 79 74 65 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 28 63 6f 6e 76 e.of.the.byte.<VAR>c</VAR>.(conv
77660 65 72 74 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 61 6e 20 3c 43 4f 44 45 3e 75 6e 73 69 67 erted..........to.an.<CODE>unsig
77680 6e 65 64 20 63 68 61 72 3c 2f 43 4f 44 45 3e 29 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 20 ned.char</CODE>).in.the.initial.
776a0 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 6f 66 20 74 68 65 0a 20 20 20 <VAR>size</VAR>.bytes.of.the....
776c0 20 20 20 20 20 20 6f 62 6a 65 63 74 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 62 ......object.beginning.at.<VAR>b
776e0 6c 6f 63 6b 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 lock</VAR>...The.return.value.is
77700 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6c 6f 63 61 74 .a.pointer.to.the..........locat
77720 65 64 20 62 79 74 65 2c 20 6f 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 6e 6f ed.byte,.or.a.null.pointer.if.no
77740 20 6d 61 74 63 68 20 77 61 73 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f .match.was.found..........sq.~..
77760 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 12 e0 74 00 25 63 6f ....w.....t..string.hxq.~..t.%co
77780 6e 73 74 20 76 6f 69 64 20 2a 62 6c 6f 63 6b 2c 20 69 6e 74 20 63 2c 20 73 69 7a 65 5f 74 20 73 nst.void.*block,.int.c,.size_t.s
777a0 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 06 6d 65 6d 63 6d 70 73 71 00 7e 00 0a 70 74 02 14 0a izet..void.*t..memcmpsq.~..pt...
777c0 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 6d 65 6d 63 6d ........The.function.<CODE>memcm
777e0 70 3c 2f 43 4f 44 45 3e 20 63 6f 6d 70 61 72 65 73 20 74 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c p</CODE>.compares.the.<VAR>size<
77800 2f 56 41 52 3e 20 62 79 74 65 73 20 6f 66 20 6d 65 6d 6f 72 79 0a 20 20 20 20 20 20 20 20 20 62 /VAR>.bytes.of.memory..........b
77820 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 61 31 3c 2f 56 41 52 3e 20 61 67 61 69 6e 73 eginning.at.<VAR>a1</VAR>.agains
77840 74 20 74 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 6f 66 20 6d t.the.<VAR>size</VAR>.bytes.of.m
77860 65 6d 6f 72 79 20 62 65 67 69 6e 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 61 74 20 3c 56 41 52 emory.beginning..........at.<VAR
77880 3e 61 32 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 68 >a2</VAR>...The.value.returned.h
778a0 61 73 20 74 68 65 20 73 61 6d 65 20 73 69 67 6e 20 61 73 20 74 68 65 20 64 69 66 66 65 72 65 6e as.the.same.sign.as.the.differen
778c0 63 65 0a 20 20 20 20 20 20 20 20 20 62 65 74 77 65 65 6e 20 74 68 65 20 66 69 72 73 74 20 64 69 ce..........between.the.first.di
778e0 66 66 65 72 69 6e 67 20 70 61 69 72 20 6f 66 20 62 79 74 65 73 20 28 69 6e 74 65 72 70 72 65 74 ffering.pair.of.bytes.(interpret
77900 65 64 20 61 73 20 3c 43 4f 44 45 3e 75 6e 73 69 67 6e 65 64 0a 20 20 20 20 20 20 20 20 20 63 68 ed.as.<CODE>unsigned..........ch
77920 61 72 3c 2f 43 4f 44 45 3e 20 6f 62 6a 65 63 74 73 2c 20 74 68 65 6e 20 70 72 6f 6d 6f 74 65 64 ar</CODE>.objects,.then.promoted
77940 20 74 6f 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 .to.<CODE>int</CODE>)...........
77960 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 <br><br>.If.the.contents.of.the.
77980 74 77 6f 20 62 6c 6f 63 6b 73 20 61 72 65 20 65 71 75 61 6c 2c 20 3c 43 4f 44 45 3e 6d 65 6d 63 two.blocks.are.equal,.<CODE>memc
779a0 6d 70 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 mp</CODE>.returns..........<CODE
779c0 3e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 >0</CODE>..........sq.~......w..
779e0 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 12 e7 74 00 2b 63 6f 6e 73 74 20 76 6f 69 ...t..string.hxq.~..t.+const.voi
77a00 64 20 2a 61 31 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 61 32 2c 20 73 69 7a 65 5f 74 20 73 69 d.*a1,.const.void.*a2,.size_t.si
77a20 7a 65 74 00 03 69 6e 74 74 00 06 6d 65 6d 63 70 79 73 71 00 7e 00 0a 70 74 03 14 0a 20 20 20 20 zet..intt..memcpysq.~..pt.......
77a40 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 65 6d 63 70 79 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 ....The.<CODE>memcpy</CODE>.func
77a60 74 69 6f 6e 20 63 6f 70 69 65 73 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 tion.copies.<VAR>size</VAR>.byte
77a80 73 20 66 72 6f 6d 20 74 68 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e s.from.the.object..........begin
77aa0 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 74 68 65 ning.at.<VAR>from</VAR>.into.the
77ac0 20 6f 62 6a 65 63 74 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 .object.beginning.at.<VAR>to</VA
77ae0 52 3e 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 R>...The..........behavior.of.th
77b00 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 is.function.is.undefined.if.the.
77b20 74 77 6f 20 61 72 72 61 79 73 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 two.arrays.<VAR>to</VAR>.and....
77b40 20 20 20 20 20 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 3e 20 6f 76 65 72 6c 61 70 3b 20 75 ......<VAR>from</VAR>.overlap;.u
77b60 73 65 20 3c 43 4f 44 45 3e 6d 65 6d 6d 6f 76 65 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 se.<CODE>memmove</CODE>.instead.
77b80 69 66 20 6f 76 65 72 6c 61 70 70 69 6e 67 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 if.overlapping.is.possible......
77ba0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 .....<br><br>.The.value.returned
77bc0 20 62 79 20 3c 43 4f 44 45 3e 6d 65 6d 63 70 79 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 76 .by.<CODE>memcpy</CODE>.is.the.v
77be0 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 alue.of.<VAR>to</VAR>...........
77c00 3c 62 72 3e 3c 62 72 3e 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 68 <br><br>.Here.is.an.example.of.h
77c20 6f 77 20 79 6f 75 20 6d 69 67 68 74 20 75 73 65 20 3c 43 4f 44 45 3e 6d 65 6d 63 70 79 3c 2f 43 ow.you.might.use.<CODE>memcpy</C
77c40 4f 44 45 3e 20 74 6f 20 63 6f 70 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e ODE>.to.copy.the..........conten
77c60 74 73 20 6f 66 20 61 6e 20 61 72 72 61 79 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ts.of.an.array:..........<br><br
77c80 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 66 6f 6f 20 >.<pre><br>..........struct.foo.
77ca0 2a 6f 6c 64 61 72 72 61 79 2c 20 2a 6e 65 77 61 72 72 61 79 3b 3c 62 72 3e 0a 20 20 20 20 20 20 *oldarray,.*newarray;<br>.......
77cc0 20 20 20 69 6e 74 20 61 72 72 61 79 73 69 7a 65 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c ...int.arraysize;<br>..........<
77ce0 73 6d 61 6c 6c 3e 2e 2e 2e 3c 2f 73 6d 61 6c 6c 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6d small>...</small><br>..........m
77d00 65 6d 63 70 79 20 28 6e 65 77 2c 20 6f 6c 64 2c 20 61 72 72 61 79 73 69 7a 65 20 2a 20 73 69 7a emcpy.(new,.old,.arraysize.*.siz
77d20 65 6f 66 20 28 73 74 72 75 63 74 20 66 6f 6f 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 eof.(struct.foo));<br>..........
77d40 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 </pre>.........sq.~......w.....t
77d60 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 12 ee 74 00 39 76 6f 69 64 20 2a 72 65 73 74 72 69 63 ..string.hxq.~..t.9void.*restric
77d80 74 20 74 6f 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 72 65 73 74 72 69 63 74 20 66 72 6f 6d 2c t.to,.const.void.*restrict.from,
77da0 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 07 6d 65 6d 66 72 6f 62 73 .size_t.sizet..void.*t..memfrobs
77dc0 71 00 7e 00 0a 70 74 03 47 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 q.~..pt.G.........<br><br>.<CODE
77de0 3e 6d 65 6d 66 72 6f 62 3c 2f 43 4f 44 45 3e 20 74 72 61 6e 73 66 6f 72 6d 73 20 28 66 72 6f 62 >memfrob</CODE>.transforms.(frob
77e00 6e 69 63 61 74 65 73 29 20 65 61 63 68 20 62 79 74 65 20 6f 66 20 74 68 65 20 64 61 74 61 20 73 nicates).each.byte.of.the.data.s
77e20 74 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 61 74 20 3c 56 41 52 3e 6d 65 6d 3c 2f 56 tructure..........at.<VAR>mem</V
77e40 41 52 3e 2c 20 77 68 69 63 68 20 69 73 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 AR>,.which.is.<VAR>length</VAR>.
77e60 62 79 74 65 73 20 6c 6f 6e 67 2c 20 62 79 20 62 69 74 77 69 73 65 20 65 78 63 6c 75 73 69 76 65 bytes.long,.by.bitwise.exclusive
77e80 0a 20 20 20 20 20 20 20 20 20 6f 72 69 6e 67 20 69 74 20 77 69 74 68 20 62 69 6e 61 72 79 20 30 ..........oring.it.with.binary.0
77ea0 30 31 30 31 30 31 30 2e 20 20 49 74 20 64 6f 65 73 20 74 68 65 20 74 72 61 6e 73 66 6f 72 6d 61 0101010...It.does.the.transforma
77ec0 74 69 6f 6e 20 69 6e 20 70 6c 61 63 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 69 74 73 20 72 tion.in.place.and..........its.r
77ee0 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 3c 56 41 52 3e 6d 65 6d 3c 2f eturn.value.is.always.<VAR>mem</
77f00 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 VAR>...........<br><br>.Note.tha
77f20 74 20 3c 43 4f 44 45 3e 6d 65 6d 66 72 6f 62 3c 2f 43 4f 44 45 3e 20 61 20 73 65 63 6f 6e 64 20 t.<CODE>memfrob</CODE>.a.second.
77f40 74 69 6d 65 20 6f 6e 20 74 68 65 20 73 61 6d 65 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a time.on.the.same.data.structure.
77f60 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 69 74 20 74 6f 20 69 74 73 20 6f 72 69 67 69 .........returns.it.to.its.origi
77f80 6e 61 6c 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 nal.state...........<br><br>.Thi
77fa0 73 20 69 73 20 61 20 67 6f 6f 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 68 69 64 69 6e 67 20 s.is.a.good.function.for.hiding.
77fc0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 73 6f 6d 65 6f 6e 65 20 77 68 6f 20 64 6f 65 information.from.someone.who.doe
77fe0 73 6e 27 74 0a 20 20 20 20 20 20 20 20 20 77 61 6e 74 20 74 6f 20 73 65 65 20 69 74 20 6f 72 20 sn't..........want.to.see.it.or.
78000 64 6f 65 73 6e 27 74 20 77 61 6e 74 20 74 6f 20 73 65 65 20 69 74 20 76 65 72 79 20 6d 75 63 68 doesn't.want.to.see.it.very.much
78020 2e 20 20 54 6f 20 72 65 61 6c 6c 79 20 70 72 65 76 65 6e 74 0a 20 20 20 20 20 20 20 20 20 70 65 ...To.really.prevent..........pe
78040 6f 70 6c 65 20 66 72 6f 6d 20 72 65 74 72 69 65 76 69 6e 67 20 74 68 65 20 69 6e 66 6f 72 6d 61 ople.from.retrieving.the.informa
78060 74 69 6f 6e 2c 20 75 73 65 20 73 74 72 6f 6e 67 65 72 20 65 6e 63 72 79 70 74 69 6f 6e 20 73 75 tion,.use.stronger.encryption.su
78080 63 68 20 61 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 64 65 73 63 72 69 62 65 64 20 69 6e ch.as..........that.described.in
780a0 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 72 74 61 62 69 6c 69 74 79 ............<br><br>.Portability
780c0 20 4e 6f 74 65 3a 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 6e 69 71 75 65 20 .Note:..This.function.is.unique.
780e0 74 6f 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 20 20 20 3c to.the.GNU.C.library...........<
78100 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a br><br>.........sq.~......w.....
78120 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 12 f5 74 00 18 76 6f 69 64 20 2a 6d 65 6d 2c 20 73 t..string.hxq.~..t..void.*mem,.s
78140 69 7a 65 5f 74 20 6c 65 6e 67 74 68 74 00 06 76 6f 69 64 20 2a 74 00 06 6d 65 6d 6d 65 6d 73 71 ize_t.lengtht..void.*t..memmemsq
78160 00 7e 00 0a 70 74 01 61 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 3c 43 .~..pt.a.........This.is.like.<C
78180 4f 44 45 3e 73 74 72 73 74 72 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 3c 56 41 52 3e 6e 65 65 64 ODE>strstr</CODE>,.but.<VAR>need
781a0 6c 65 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 68 61 79 73 74 61 63 6b 3c 2f 56 41 52 3e le</VAR>.and.<VAR>haystack</VAR>
781c0 20 61 72 65 20 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 61 72 72 61 79 73 20 72 61 74 68 65 72 .are.byte..........arrays.rather
781e0 20 74 68 61 6e 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 74 72 69 6e 67 73 2e 20 20 .than.null-terminated.strings...
78200 3c 56 41 52 3e 6e 65 65 64 6c 65 2d 6c 65 6e 3c 2f 56 41 52 3e 20 69 73 20 74 68 65 0a 20 20 20 <VAR>needle-len</VAR>.is.the....
78220 20 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e 6e 65 65 64 6c 65 3c 2f 56 41 52 ......length.of.<VAR>needle</VAR
78240 3e 20 61 6e 64 20 3c 56 41 52 3e 68 61 79 73 74 61 63 6b 2d 6c 65 6e 3c 2f 56 41 52 3e 20 69 73 >.and.<VAR>haystack-len</VAR>.is
78260 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 68 61 79 .the.length.of..........<VAR>hay
78280 73 74 61 63 6b 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 stack</VAR>...........<br><br>.T
782a0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e his.function.is.a.GNU.extension.
782c0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 .........sq.~......w.....t..stri
782e0 6e 67 2e 68 78 71 00 7e 12 fc 74 00 4f 63 6f 6e 73 74 20 76 6f 69 64 20 2a 68 61 79 73 74 61 63 ng.hxq.~..t.Oconst.void.*haystac
78300 6b 2c 20 73 69 7a 65 5f 74 20 68 61 79 73 74 61 63 6b 2d 6c 65 6e 2c 63 6f 6e 73 74 20 76 6f 69 k,.size_t.haystack-len,const.voi
78320 64 20 2a 6e 65 65 64 6c 65 2c 20 73 69 7a 65 5f 74 20 6e 65 65 64 6c 65 2d 6c 65 6e 74 00 06 76 d.*needle,.size_t.needle-lent..v
78340 6f 69 64 20 2a 74 00 07 6d 65 6d 6d 6f 76 65 73 71 00 7e 00 0a 70 74 02 00 0a 20 20 20 20 20 20 oid.*t..memmovesq.~..pt.........
78360 20 20 3c 43 4f 44 45 3e 6d 65 6d 6d 6f 76 65 3c 2f 43 4f 44 45 3e 20 63 6f 70 69 65 73 20 74 68 ..<CODE>memmove</CODE>.copies.th
78380 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 61 74 20 3c 56 41 52 3e e.<VAR>size</VAR>.bytes.at.<VAR>
783a0 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 from</VAR>.into.the..........<VA
783c0 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 61 74 20 3c 56 41 52 3e 74 6f 3c 2f 56 R>size</VAR>.bytes.at.<VAR>to</V
783e0 41 52 3e 2c 20 65 76 65 6e 20 69 66 20 74 68 6f 73 65 20 74 77 6f 20 62 6c 6f 63 6b 73 20 6f 66 AR>,.even.if.those.two.blocks.of
78400 20 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 6c 61 70 2e 20 20 49 6e 20 74 68 65 .space..........overlap...In.the
78420 20 63 61 73 65 20 6f 66 20 6f 76 65 72 6c 61 70 2c 20 3c 43 4f 44 45 3e 6d 65 6d 6d 6f 76 65 3c .case.of.overlap,.<CODE>memmove<
78440 2f 43 4f 44 45 3e 20 69 73 20 63 61 72 65 66 75 6c 20 74 6f 20 63 6f 70 79 20 74 68 65 0a 20 20 /CODE>.is.careful.to.copy.the...
78460 20 20 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 62 79 .......original.values.of.the.by
78480 74 65 73 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 20 61 74 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 tes.in.the.block.at.<VAR>from</V
784a0 41 52 3e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 6f 73 65 0a 20 20 20 20 20 20 20 20 20 62 79 AR>,.including.those..........by
784c0 74 65 73 20 77 68 69 63 68 20 61 6c 73 6f 20 62 65 6c 6f 6e 67 20 74 6f 20 74 68 65 20 62 6c 6f tes.which.also.belong.to.the.blo
784e0 63 6b 20 61 74 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ck.at.<VAR>to</VAR>...........<b
78500 72 3e 3c 62 72 3e 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f r><br>.The.value.returned.by.<CO
78520 44 45 3e 6d 65 6d 6d 6f 76 65 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f DE>memmove</CODE>.is.the.value.o
78540 66 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 f.<VAR>to</VAR>..........sq.~...
78560 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 13 03 74 00 27 76 6f 69 ...w.....t..string.hxq.~..t.'voi
78580 64 20 2a 74 6f 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 66 72 6f 6d 2c 20 73 69 7a 65 5f 74 20 d.*to,.const.void.*from,.size_t.
785a0 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 07 6d 65 6d 70 63 70 79 73 71 00 7e 00 0a 70 74 04 sizet..void.*t..mempcpysq.~..pt.
785c0 19 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 65 6d 70 63 70 79 3c 2f 43 4f 44 ..........The.<CODE>mempcpy</COD
785e0 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 65 61 72 6c 79 20 69 64 65 6e 74 69 63 61 6c 20 E>.function.is.nearly.identical.
78600 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 6d 65 6d 63 70 79 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 to.the.<CODE>memcpy</CODE>......
78620 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 74 20 63 6f 70 69 65 73 20 3c 56 41 52 3e 73 69 ....function...It.copies.<VAR>si
78640 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 66 72 6f 6d 20 74 68 65 20 6f 62 6a 65 63 74 20 62 ze</VAR>.bytes.from.the.object.b
78660 65 67 69 6e 6e 69 6e 67 20 61 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 72 6f 6d 3c eginning.at..........<CODE>from<
78680 2f 43 4f 44 45 3e 20 69 6e 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 /CODE>.into.the.object.pointed.t
786a0 6f 20 62 79 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 20 20 42 75 74 20 69 6e 73 74 65 61 64 o.by.<VAR>to</VAR>...But.instead
786c0 20 6f 66 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 76 61 6c 75 65 .of..........returning.the.value
786e0 20 6f 66 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 70 .of.<VAR>to</VAR>.it.returns.a.p
78700 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c ointer.to.the.byte..........foll
78720 6f 77 69 6e 67 20 74 68 65 20 6c 61 73 74 20 77 72 69 74 74 65 6e 20 62 79 74 65 20 69 6e 20 74 owing.the.last.written.byte.in.t
78740 68 65 20 6f 62 6a 65 63 74 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 74 6f 3c 2f he.object.beginning.at.<VAR>to</
78760 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 49 2e 65 2e 2c 20 74 68 65 20 76 61 6c 75 65 20 69 VAR>...........I.e.,.the.value.i
78780 73 20 3c 43 4f 44 45 3e 28 28 76 6f 69 64 20 2a 29 20 28 28 63 68 61 72 20 2a 29 20 3c 56 41 52 s.<CODE>((void.*).((char.*).<VAR
787a0 3e 74 6f 3c 2f 56 41 52 3e 20 2b 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 29 29 3c 2f 43 >to</VAR>.+.<VAR>size</VAR>))</C
787c0 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e ODE>...........<br><br>.This.fun
787e0 63 74 69 6f 6e 20 69 73 20 75 73 65 66 75 6c 20 69 6e 20 73 69 74 75 61 74 69 6f 6e 73 20 77 68 ction.is.useful.in.situations.wh
78800 65 72 65 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 6f 62 6a 65 63 74 73 20 73 68 61 6c 6c 20 62 65 ere.a.number.of.objects.shall.be
78820 0a 20 20 20 20 20 20 20 20 20 63 6f 70 69 65 64 20 74 6f 20 63 6f 6e 73 65 63 75 74 69 76 65 20 ..........copied.to.consecutive.
78840 6d 65 6d 6f 72 79 20 70 6f 73 69 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c memory.positions...........<br><
78860 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 76 6f 69 64 20 2a 3c 62 72 br>.<pre><br>..........void.*<br
78880 3e 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 62 69 6e 65 20 28 76 6f 69 64 20 2a 6f 31 2c 20 73 69 >..........combine.(void.*o1,.si
788a0 7a 65 5f 74 20 73 31 2c 20 76 6f 69 64 20 2a 6f 32 2c 20 73 69 7a 65 5f 74 20 73 32 29 3c 62 72 ze_t.s1,.void.*o2,.size_t.s2)<br
788c0 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 76 6f 69 64 >..........{<br>............void
788e0 20 2a 72 65 73 75 6c 74 20 3d 20 6d 61 6c 6c 6f 63 20 28 73 31 20 2b 20 73 32 29 3b 3c 62 72 3e .*result.=.malloc.(s1.+.s2);<br>
78900 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 65 73 75 6c 74 20 21 3d 20 4e 55 4c 4c 29 3c ............if.(result.!=.NULL)<
78920 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 70 63 70 79 20 28 6d 65 6d 70 63 70 br>..............mempcpy.(mempcp
78940 79 20 28 72 65 73 75 6c 74 2c 20 6f 31 2c 20 73 31 29 2c 20 6f 32 2c 20 73 32 29 3b 3c 62 72 3e y.(result,.o1,.s1),.o2,.s2);<br>
78960 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 3c 62 72 3e 0a 20 ............return.result;<br>..
78980 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 ........}<br>..........</pre>...
789a0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 .......<br><br>.This.function.is
789c0 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f .a.GNU.extension..........sq.~..
789e0 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 13 0a 74 00 39 76 6f ....w.....t..string.hxq.~..t.9vo
78a00 69 64 20 2a 72 65 73 74 72 69 63 74 20 74 6f 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 72 65 73 id.*restrict.to,.const.void.*res
78a20 74 72 69 63 74 20 66 72 6f 6d 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 06 76 6f 69 64 20 2a trict.from,.size_t.sizet..void.*
78a40 74 00 07 6d 65 6d 72 63 68 72 73 71 00 7e 00 0a 70 74 01 28 0a 20 20 20 20 20 20 20 20 54 68 65 t..memrchrsq.~..pt.(.........The
78a60 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 6d 65 6d 72 63 68 72 3c 2f 43 4f 44 45 3e 20 69 .function.<CODE>memrchr</CODE>.i
78a80 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 6d 65 6d 63 68 72 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 s.like.<CODE>memchr</CODE>,.exce
78aa0 70 74 20 74 68 61 74 20 69 74 20 73 65 61 72 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 62 61 63 pt.that.it.searches..........bac
78ac0 6b 77 61 72 64 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b kwards.from.the.end.of.the.block
78ae0 20 64 65 66 69 6e 65 64 20 62 79 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 3e 20 61 6e 64 .defined.by.<VAR>block</VAR>.and
78b00 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 28 69 6e 73 74 65 .<VAR>size</VAR>..........(inste
78b20 61 64 20 6f 66 20 66 6f 72 77 61 72 64 73 20 66 72 6f 6d 20 74 68 65 20 66 72 6f 6e 74 29 2e 0a ad.of.forwards.from.the.front)..
78b40 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .........<br><br>.This.function.
78b60 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e is.a.GNU.extension..........sq.~
78b80 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 13 11 74 00 25 ......w.....t..string.hxq.~..t.%
78ba0 63 6f 6e 73 74 20 76 6f 69 64 20 2a 62 6c 6f 63 6b 2c 20 69 6e 74 20 63 2c 20 73 69 7a 65 5f 74 const.void.*block,.int.c,.size_t
78bc0 20 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 06 6d 65 6d 73 65 74 73 71 00 7e 00 0a 70 74 01 .sizet..void.*t..memsetsq.~..pt.
78be0 04 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 74 ..........This.function.copies.t
78c00 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 28 63 6f 6e 76 65 72 he.value.of.<VAR>c</VAR>.(conver
78c20 74 65 64 20 74 6f 20 61 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 75 6e 73 69 67 6e 65 ted.to.an..........<CODE>unsigne
78c40 64 20 63 68 61 72 3c 2f 43 4f 44 45 3e 29 20 69 6e 74 6f 20 65 61 63 68 20 6f 66 20 74 68 65 20 d.char</CODE>).into.each.of.the.
78c60 66 69 72 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 6f 66 20 74 first.<VAR>size</VAR>.bytes.of.t
78c80 68 65 0a 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 he..........object.beginning.at.
78ca0 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 3e 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 74 68 <VAR>block</VAR>...It.returns.th
78cc0 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 3e 2e 0a 20 20 20 e.value.of.<VAR>block</VAR>.....
78ce0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 .....sq.~......w.....t..string.h
78d00 78 71 00 7e 13 18 74 00 1f 76 6f 69 64 20 2a 62 6c 6f 63 6b 2c 20 69 6e 74 20 63 2c 20 73 69 7a xq.~..t..void.*block,.int.c,.siz
78d20 65 5f 74 20 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 05 6d 6b 64 69 72 73 71 00 7e 00 0a 70 e_t.sizet..void.*t..mkdirsq.~..p
78d40 74 06 97 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 6b 64 69 72 3c 2f 43 4f 44 t...........The.<CODE>mkdir</COD
78d60 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 6e 65 77 2c 20 65 6d 70 74 79 E>.function.creates.a.new,.empty
78d80 20 64 69 72 65 63 74 6f 72 79 20 77 69 74 68 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 56 .directory.with.name..........<V
78da0 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e AR>filename</VAR>...........<br>
78dc0 3c 62 72 3e 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 <br>.The.argument.<VAR>mode</VAR
78de0 3e 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 >.specifies.the.file.permissions
78e00 20 66 6f 72 20 74 68 65 20 6e 65 77 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 .for.the.new..........directory.
78e20 66 69 6c 65 2e 20 20 2c 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 file...,.for.more.information.ab
78e40 6f 75 74 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e out..........this...........<br>
78e60 3c 62 72 3e 20 41 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f <br>.A.return.value.of.<CODE>0</
78e80 43 4f 44 45 3e 20 69 6e 64 69 63 61 74 65 73 20 73 75 63 63 65 73 73 66 75 6c 20 63 6f 6d 70 6c CODE>.indicates.successful.compl
78ea0 65 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f etion,.and..........<CODE>-1</CO
78ec0 44 45 3e 20 69 6e 64 69 63 61 74 65 73 20 66 61 69 6c 75 72 65 2e 20 20 49 6e 20 61 64 64 69 74 DE>.indicates.failure...In.addit
78ee0 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 6e 61 6d 65 20 73 79 6e 74 61 ion.to.the.usual.file.name.synta
78f00 78 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 73 20 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e x..........errors.,.the.followin
78f20 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 0a 20 20 20 20 20 g.<CODE>errno</CODE>.error......
78f40 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 ....conditions.are.defined.for.t
78f60 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 his.function:..........<br><br>.
78f80 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 0a <DL>...........<DT><CODE>EACCES.
78fa0 20 20 20 20 20 20 20 20 20 57 72 69 74 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 64 65 6e .........Write.permission.is.den
78fc0 69 65 64 20 66 6f 72 20 74 68 65 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 ied.for.the.parent.directory.in.
78fe0 77 68 69 63 68 20 74 68 65 20 6e 65 77 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 which.the.new</CODE>.<DD>.......
79000 20 20 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 74 6f 20 62 65 20 61 64 64 65 64 2e 0a 20 20 20 ...directory.is.to.be.added.....
79020 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 45 58 49 53 54 3c ......<br><br>.<DT><CODE>EEXIST<
79040 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 20 66 69 6c 65 20 6e 61 6d 65 /CODE>.<DD>..........A.file.name
79060 64 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 6c 72 65 61 64 79 20 65 78 d.<VAR>filename</VAR>.already.ex
79080 69 73 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 ists...........<br><br>.<DT><COD
790a0 45 3e 45 4d 4c 49 4e 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 E>EMLINK</CODE>.<DD>..........Th
790c0 65 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 68 61 73 20 74 6f 6f 20 6d 61 6e 79 20 e.parent.directory.has.too.many.
790e0 6c 69 6e 6b 73 20 28 65 6e 74 72 69 65 73 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 links.(entries)...........<br><b
79100 72 3e 20 57 65 6c 6c 2d 64 65 73 69 67 6e 65 64 20 66 69 6c 65 20 73 79 73 74 65 6d 73 20 6e 65 r>.Well-designed.file.systems.ne
79120 76 65 72 20 72 65 70 6f 72 74 20 74 68 69 73 20 65 72 72 6f 72 2c 20 62 65 63 61 75 73 65 20 74 ver.report.this.error,.because.t
79140 68 65 79 20 70 65 72 6d 69 74 0a 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 6c 69 6e 6b 73 20 74 hey.permit..........more.links.t
79160 68 61 6e 20 79 6f 75 72 20 64 69 73 6b 20 63 6f 75 6c 64 20 70 6f 73 73 69 62 6c 79 20 68 6f 6c han.your.disk.could.possibly.hol
79180 64 2e 20 20 48 6f 77 65 76 65 72 2c 20 79 6f 75 20 6d 75 73 74 20 73 74 69 6c 6c 0a 20 20 20 20 d...However,.you.must.still.....
791a0 20 20 20 20 20 74 61 6b 65 20 61 63 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 70 6f 73 73 69 62 69 .....take.account.of.the.possibi
791c0 6c 69 74 79 20 6f 66 20 74 68 69 73 20 65 72 72 6f 72 2c 20 61 73 20 69 74 20 63 6f 75 6c 64 20 lity.of.this.error,.as.it.could.
791e0 72 65 73 75 6c 74 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 6e 65 74 77 6f 72 6b 20 61 63 63 result.from..........network.acc
79200 65 73 73 20 74 6f 20 61 20 66 69 6c 65 20 73 79 73 74 65 6d 20 6f 6e 20 61 6e 6f 74 68 65 72 20 ess.to.a.file.system.on.another.
79220 6d 61 63 68 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c machine...........<br><br>.<DT><
79240 43 4f 44 45 3e 45 4e 4f 53 50 43 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 CODE>ENOSPC</CODE>.<DD>.........
79260 20 54 68 65 20 66 69 6c 65 20 73 79 73 74 65 6d 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 65 6e .The.file.system.doesn't.have.en
79280 6f 75 67 68 20 72 6f 6f 6d 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 6e 65 77 20 64 69 72 65 ough.room.to.create.the.new.dire
792a0 63 74 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f ctory...........<br><br>.<DT><CO
792c0 44 45 3e 45 52 4f 46 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 61 72 65 6e 74 20 64 69 72 DE>EROFS..........The.parent.dir
792e0 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 62 65 69 6e 67 20 63 72 ectory.of.the.directory.being.cr
79300 65 61 74 65 64 20 69 73 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 3c 2f 43 4f 44 45 3e 0a 3c eated.is.on.a.read-only</CODE>.<
79320 44 44 3e 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 73 79 73 74 65 6d 20 61 6e 64 20 63 61 6e DD>..........file.system.and.can
79340 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a not.be.modified...........</DL>.
79360 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 75 73 65 20 74 68 69 73 20 66 75 .........<br><br>.To.use.this.fu
79380 6e 63 74 69 6f 6e 2c 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 73 68 6f 75 6c 64 20 69 6e 63 6c nction,.your.program.should.incl
793a0 75 64 65 20 74 68 65 20 68 65 61 64 65 72 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 3c 54 54 ude.the.header.file..........<TT
793c0 3e 73 79 73 2f 73 74 61 74 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f >sys/stat.h</TT>..........sq.~..
793e0 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 73 74 61 74 2e 68 78 71 00 7e 13 1f 74 00 21 ....w.....t..sys/stat.hxq.~..t.!
79400 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 6d 6f 64 65 5f 74 20 6d 6f 64 const.char.*filename,.mode_t.mod
79420 65 74 00 03 69 6e 74 74 00 07 6d 6b 64 74 65 6d 70 73 71 00 7e 00 0a 70 74 03 54 0a 20 20 20 20 et..intt..mkdtempsq.~..pt.T.....
79440 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 6b 64 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 66 75 6e ....The.<CODE>mkdtemp</CODE>.fun
79460 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 77 69 74 68 20 61 ction.creates.a.directory.with.a
79480 20 75 6e 69 71 75 65 20 6e 61 6d 65 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 69 74 20 73 75 .unique.name...If..........it.su
794a0 63 63 65 65 64 73 2c 20 69 74 20 6f 76 65 72 77 72 69 74 65 73 20 3c 56 41 52 3e 74 65 6d 70 6c cceeds,.it.overwrites.<VAR>templ
794c0 61 74 65 3c 2f 56 41 52 3e 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 0a 20 ate</VAR>.with.the.name.of.the..
794e0 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 3c ........directory,.and.returns.<
79500 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 2e 20 20 41 73 20 77 69 74 68 20 3c 43 4f VAR>template</VAR>...As.with.<CO
79520 44 45 3e 6d 6b 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 DE>mktemp</CODE>.and..........<C
79540 4f 44 45 3e 6d 6b 73 74 65 6d 70 3c 2f 43 4f 44 45 3e 2c 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 ODE>mkstemp</CODE>,.<VAR>templat
79560 65 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e 67 20 65 6e 64 69 6e e</VAR>.should.be.a.string.endin
79580 67 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 58 58 58 58 58 58 3c 2f 73 61 g.with..........<samp>XXXXXX</sa
795a0 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 45 3e mp>...........<br><br>.If.<CODE>
795c0 6d 6b 64 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 63 61 6e 6e 6f 74 20 63 72 65 61 74 65 20 61 6e 20 mkdtemp</CODE>.cannot.create.an.
795e0 75 6e 69 71 75 65 6c 79 20 6e 61 6d 65 64 20 64 69 72 65 63 74 6f 72 79 2c 20 69 74 20 72 65 74 uniquely.named.directory,.it.ret
79600 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 urns..........<CODE>NULL</CODE>.
79620 61 6e 64 20 73 65 74 73 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 61 70 70 72 6f 70 and.sets.<VAR>errno</VAR>.approp
79640 72 69 61 74 65 6c 79 2e 20 20 49 66 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e riately...If.<VAR>template</VAR>
79660 20 64 6f 65 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 65 6e 64 20 77 69 74 68 20 3c 73 61 6d .does..........not.end.with.<sam
79680 70 3e 58 58 58 58 58 58 3c 2f 73 61 6d 70 3e 2c 20 3c 43 4f 44 45 3e 6d 6b 64 74 65 6d 70 3c 2f p>XXXXXX</samp>,.<CODE>mkdtemp</
796a0 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 CODE>.returns.<CODE>NULL</CODE>.
796c0 61 6e 64 20 64 6f 65 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 6d 6f 64 69 66 79 20 3c 56 41 and.does..........not.modify.<VA
796e0 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 2e 20 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 R>template</VAR>...<VAR>errno</V
79700 41 52 3e 20 77 69 6c 6c 20 62 65 20 73 65 74 20 74 6f 20 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c AR>.will.be.set.to.<CODE>EINVAL<
79720 2f 43 4f 44 45 3e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 63 61 73 65 2e 0a 20 20 /CODE>.in..........this.case....
79740 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 69 73 .......<br><br>.The.directory.is
79760 20 63 72 65 61 74 65 64 20 75 73 69 6e 67 20 6d 6f 64 65 20 3c 43 4f 44 45 3e 30 37 30 30 3c 2f .created.using.mode.<CODE>0700</
79780 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
797a0 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 13 26 74 00 0e 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 ..stdlib.hxq.~.&t..char.*templat
797c0 65 74 00 06 63 68 61 72 20 2a 74 00 06 6d 6b 66 69 66 6f 73 71 00 7e 00 0a 70 74 03 79 0a 20 20 et..char.*t..mkfifosq.~..pt.y...
797e0 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 6b 66 69 66 6f 3c 2f 43 4f 44 45 3e 20 66 75 ......The.<CODE>mkfifo</CODE>.fu
79800 6e 63 74 69 6f 6e 20 6d 61 6b 65 73 20 61 20 46 49 46 4f 20 73 70 65 63 69 61 6c 20 66 69 6c 65 nction.makes.a.FIFO.special.file
79820 20 77 69 74 68 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d .with.name..........<VAR>filenam
79840 65 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 61 72 e</VAR>...The.<VAR>mode</VAR>.ar
79860 67 75 6d 65 6e 74 20 69 73 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65 20 66 69 6c 65 27 73 gument.is.used.to.set.the.file's
79880 0a 20 20 20 20 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 73 3b 20 73 65 65 20 53 65 74 74 69 ..........permissions;.see.Setti
798a0 6e 67 20 50 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ng.Permissions...........<br><br
798c0 3e 20 54 68 65 20 6e 6f 72 6d 61 6c 2c 20 73 75 63 63 65 73 73 66 75 6c 20 72 65 74 75 72 6e 20 >.The.normal,.successful.return.
798e0 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 6d 6b 66 69 66 6f 3c 2f 43 4f 44 45 3e 20 69 value.from.<CODE>mkfifo</CODE>.i
79900 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 20 20 49 6e 0a 20 20 20 20 20 20 20 20 20 74 s.<CODE>0</CODE>...In..........t
79920 68 65 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 2c 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 he.case.of.an.error,.<CODE>-1</C
79940 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 ODE>.is.returned...In.addition.t
79960 6f 20 74 68 65 20 75 73 75 61 6c 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 20 65 o.the.usual..........file.name.e
79980 72 72 6f 72 73 20 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c rrors.,.the.following..........<
799a0 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f CODE>errno</CODE>.error.conditio
799c0 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e ns.are.defined.for.this.function
799e0 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 :..........<br><br>.<DL>........
79a00 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 45 58 49 53 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ...<DT><CODE>EEXIST</CODE>.<DD>.
79a20 20 20 20 20 20 20 20 20 20 54 68 65 20 6e 61 6d 65 64 20 66 69 6c 65 20 61 6c 72 65 61 64 79 20 .........The.named.file.already.
79a40 65 78 69 73 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 exists...........<br><br>.<DT><C
79a60 4f 44 45 3e 45 4e 4f 53 50 43 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 ODE>ENOSPC</CODE>.<DD>..........
79a80 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 66 69 6c 65 20 73 79 73 74 65 6d 20 63 61 6e The.directory.or.file.system.can
79aa0 6e 6f 74 20 62 65 20 65 78 74 65 6e 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 not.be.extended...........<br><b
79ac0 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 4f 46 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 r>.<DT><CODE>EROFS..........The.
79ae0 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 77 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 74 68 65 directory.that.would.contain.the
79b00 20 66 69 6c 65 20 72 65 73 69 64 65 73 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c .file.resides.on.a.read-only.fil
79b20 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 2e 0a 20 e</CODE>.<DD>..........system...
79b40 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ........</DL>.........sq.~......
79b60 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 73 74 61 74 2e 68 78 71 00 7e 13 2d 74 00 21 63 6f 6e 73 w.....t..sys/stat.hxq.~.-t.!cons
79b80 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 6d 6f 64 65 5f 74 20 6d 6f 64 65 74 00 03 t.char.*filename,.mode_t.modet..
79ba0 69 6e 74 74 00 05 6d 6b 6e 6f 64 73 71 00 7e 00 0a 70 74 05 b2 0a 20 20 20 20 20 20 20 20 54 68 intt..mknodsq.~..pt...........Th
79bc0 65 20 3c 43 4f 44 45 3e 6d 6b 6e 6f 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6d 61 e.<CODE>mknod</CODE>.function.ma
79be0 6b 65 73 20 61 20 73 70 65 63 69 61 6c 20 66 69 6c 65 20 77 69 74 68 20 6e 61 6d 65 20 3c 56 41 kes.a.special.file.with.name.<VA
79c00 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c R>filename</VAR>...........The.<
79c20 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6d 6f 64 VAR>mode</VAR>.specifies.the.mod
79c40 65 20 6f 66 20 74 68 65 20 66 69 6c 65 2c 20 61 6e 64 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 74 e.of.the.file,.and.may.include.t
79c60 68 65 20 76 61 72 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 61 6c 20 66 69 6c 65 he.various..........special.file
79c80 20 62 69 74 73 2c 20 73 75 63 68 20 61 73 20 3c 43 4f 44 45 3e 53 5f 49 46 43 48 52 3c 2f 43 4f .bits,.such.as.<CODE>S_IFCHR</CO
79ca0 44 45 3e 20 28 66 6f 72 20 61 20 63 68 61 72 61 63 74 65 72 20 73 70 65 63 69 61 6c 20 66 69 6c DE>.(for.a.character.special.fil
79cc0 65 29 0a 20 20 20 20 20 20 20 20 20 6f 72 20 3c 43 4f 44 45 3e 53 5f 49 46 42 4c 4b 3c 2f 43 4f e)..........or.<CODE>S_IFBLK</CO
79ce0 44 45 3e 20 28 66 6f 72 20 61 20 62 6c 6f 63 6b 20 73 70 65 63 69 61 6c 20 66 69 6c 65 29 2e 20 DE>.(for.a.block.special.file)..
79d00 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 64 65 ............<br><br>.The.<VAR>de
79d20 76 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 77 68 69 63 68 v</VAR>.argument.specifies.which
79d40 20 64 65 76 69 63 65 20 74 68 65 20 73 70 65 63 69 61 6c 20 66 69 6c 65 20 72 65 66 65 72 73 20 .device.the.special.file.refers.
79d60 74 6f 2e 0a 20 20 20 20 20 20 20 20 20 49 74 73 20 65 78 61 63 74 20 69 6e 74 65 72 70 72 65 74 to...........Its.exact.interpret
79d80 61 74 69 6f 6e 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 6b 69 6e 64 20 6f 66 20 73 70 65 ation.depends.on.the.kind.of.spe
79da0 63 69 61 6c 20 66 69 6c 65 20 62 65 69 6e 67 20 63 72 65 61 74 65 64 2e 0a 20 20 20 20 20 20 20 cial.file.being.created.........
79dc0 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c ..<br><br>.The.return.value.is.<
79de0 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f CODE>0</CODE>.on.success.and.<CO
79e00 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 65 72 72 6f 72 2e 20 20 49 6e 20 61 64 64 69 74 DE>-1</CODE>.on.error...In.addit
79e20 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 6e ion..........to.the.usual.file.n
79e40 61 6d 65 20 65 72 72 6f 72 73 20 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 ame.errors.,.the..........follow
79e60 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e ing.<CODE>errno</CODE>.error.con
79e80 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e ditions.are.defined.for.this.fun
79ea0 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 ction:..........<br><br>.<DL>...
79ec0 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c ........<DT><CODE>EPERM</CODE>.<
79ee0 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 DD>..........The.calling.process
79f00 20 69 73 20 6e 6f 74 20 70 72 69 76 69 6c 65 67 65 64 2e 20 20 4f 6e 6c 79 20 74 68 65 20 73 75 .is.not.privileged...Only.the.su
79f20 70 65 72 75 73 65 72 20 63 61 6e 20 63 72 65 61 74 65 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 peruser.can.create..........spec
79f40 69 61 6c 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 ial.files...........<br><br>.<DT
79f60 3e 3c 43 4f 44 45 3e 45 4e 4f 53 50 43 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 69 72 65 63 ><CODE>ENOSPC..........The.direc
79f80 74 6f 72 79 20 6f 72 20 66 69 6c 65 20 73 79 73 74 65 6d 20 74 68 61 74 20 77 6f 75 6c 64 20 63 tory.or.file.system.that.would.c
79fa0 6f 6e 74 61 69 6e 20 74 68 65 20 6e 65 77 20 66 69 6c 65 20 69 73 20 66 75 6c 6c 3c 2f 43 4f 44 ontain.the.new.file.is.full</COD
79fc0 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 63 61 6e 6e 6f 74 20 62 65 20 65 E>.<DD>..........and.cannot.be.e
79fe0 78 74 65 6e 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c xtended...........<br><br>.<DT><
7a000 43 4f 44 45 3e 45 52 4f 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 CODE>EROFS</CODE>.<DD>..........
7a020 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6e 65 77 The.directory.containing.the.new
7a040 20 66 69 6c 65 20 63 61 6e 27 74 20 62 65 20 6d 6f 64 69 66 69 65 64 20 62 65 63 61 75 73 65 20 .file.can't.be.modified.because.
7a060 69 74 27 73 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c it's.on..........a.read-only.fil
7a080 65 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e e.system...........<br><br>.<DT>
7a0a0 3c 43 4f 44 45 3e 45 45 58 49 53 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 <CODE>EEXIST</CODE>.<DD>........
7a0c0 20 20 54 68 65 72 65 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 ..There.is.already.a.file.named.
7a0e0 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 49 66 20 79 6f 75 20 77 61 6e <VAR>filename</VAR>...If.you.wan
7a100 74 20 74 6f 20 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 66 69 6c 65 2c t.to.replace..........this.file,
7a120 20 79 6f 75 20 6d 75 73 74 20 72 65 6d 6f 76 65 20 74 68 65 20 6f 6c 64 20 66 69 6c 65 20 65 78 .you.must.remove.the.old.file.ex
7a140 70 6c 69 63 69 74 6c 79 20 66 69 72 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 plicitly.first...........</DL>..
7a160 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 73 74 .......sq.~......w.....t..sys/st
7a180 61 74 2e 68 78 71 00 7e 13 34 74 00 27 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d at.hxq.~.4t.'const.char.*filenam
7a1a0 65 2c 20 69 6e 74 20 6d 6f 64 65 2c 20 69 6e 74 20 64 65 76 74 00 03 69 6e 74 74 00 07 6d 6b 73 e,.int.mode,.int.devt..intt..mks
7a1c0 74 65 6d 70 73 71 00 7e 00 0a 70 74 03 01 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 tempsq.~..pt...........The.<CODE
7a1e0 3e 6d 6b 73 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 >mkstemp</CODE>.function.generat
7a200 65 73 20 61 20 75 6e 69 71 75 65 20 66 69 6c 65 20 6e 61 6d 65 20 6a 75 73 74 20 61 73 0a 20 20 es.a.unique.file.name.just.as...
7a220 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 6b 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 2c .......<CODE>mktemp</CODE>.does,
7a240 20 62 75 74 20 69 74 20 61 6c 73 6f 20 6f 70 65 6e 73 20 74 68 65 20 66 69 6c 65 20 66 6f 72 20 .but.it.also.opens.the.file.for.
7a260 79 6f 75 20 77 69 74 68 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 you.with.<CODE>open</CODE>......
7a280 20 20 20 20 2e 20 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 69 74 20 6d 6f 64 69 66 69 65 .......If.successful,.it.modifie
7a2a0 73 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 20 69 s..........<VAR>template</VAR>.i
7a2c0 6e 20 70 6c 61 63 65 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 66 69 6c 65 20 64 65 73 63 72 n.place.and.returns.a.file.descr
7a2e0 69 70 74 6f 72 20 66 6f 72 20 74 68 61 74 20 66 69 6c 65 20 6f 70 65 6e 0a 20 20 20 20 20 20 20 iptor.for.that.file.open........
7a300 20 20 66 6f 72 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 74 69 6e 67 2e 20 20 49 66 20 3c ..for.reading.and.writing...If.<
7a320 43 4f 44 45 3e 6d 6b 73 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 63 61 6e 6e 6f 74 20 63 72 65 61 74 CODE>mkstemp</CODE>.cannot.creat
7a340 65 20 61 0a 20 20 20 20 20 20 20 20 20 75 6e 69 71 75 65 6c 79 2d 6e 61 6d 65 64 20 66 69 6c 65 e.a..........uniquely-named.file
7a360 2c 20 69 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2e 20 20 49 ,.it.returns.<CODE>-1</CODE>...I
7a380 66 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 20 64 6f 65 73 20 6e 6f 74 0a 20 f.<VAR>template</VAR>.does.not..
7a3a0 20 20 20 20 20 20 20 20 65 6e 64 20 77 69 74 68 20 3c 73 61 6d 70 3e 58 58 58 58 58 58 3c 2f 73 ........end.with.<samp>XXXXXX</s
7a3c0 61 6d 70 3e 2c 20 3c 43 4f 44 45 3e 6d 6b 73 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 amp>,.<CODE>mkstemp</CODE>.retur
7a3e0 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 64 6f 65 73 20 6e 6f 74 0a ns.<CODE>-1</CODE>.and.does.not.
7a400 20 20 20 20 20 20 20 20 20 6d 6f 64 69 66 79 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 .........modify.<VAR>template</V
7a420 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 69 6c 65 20 AR>...........<br><br>.The.file.
7a440 69 73 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20 6d 6f 64 65 20 3c 43 4f 44 45 3e 30 36 30 30 3c is.opened.using.mode.<CODE>0600<
7a460 2f 43 4f 44 45 3e 2e 20 20 49 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 6d 65 61 6e 74 20 74 6f /CODE>...If.the.file.is.meant.to
7a480 20 62 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 64 20 62 79 20 6f 74 68 65 72 20 75 73 65 72 73 .be..........used.by.other.users
7a4a0 20 74 68 69 73 20 6d 6f 64 65 20 6d 75 73 74 20 62 65 20 63 68 61 6e 67 65 64 20 65 78 70 6c 69 .this.mode.must.be.changed.expli
7a4c0 63 69 74 6c 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 citly..........sq.~......w.....t
7a4e0 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 13 3b 74 00 0e 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 ..stdlib.hxq.~.;t..char.*templat
7a500 65 74 00 03 69 6e 74 74 00 06 6d 6b 74 65 6d 70 73 71 00 7e 00 0a 70 74 03 a4 0a 20 20 20 20 20 et..intt..mktempsq.~..pt........
7a520 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 6b 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 ...The.<CODE>mktemp</CODE>.funct
7a540 69 6f 6e 20 67 65 6e 65 72 61 74 65 73 20 61 20 75 6e 69 71 75 65 20 66 69 6c 65 20 6e 61 6d 65 ion.generates.a.unique.file.name
7a560 20 62 79 20 6d 6f 64 69 66 79 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 65 6d 70 .by.modifying..........<VAR>temp
7a580 6c 61 74 65 3c 2f 56 41 52 3e 20 61 73 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 2e 20 20 late</VAR>.as.described.above...
7a5a0 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 If.successful,.it.returns.......
7a5c0 20 20 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 20 61 73 20 6d 6f 64 69 66 69 ...<VAR>template</VAR>.as.modifi
7a5e0 65 64 2e 20 20 49 66 20 3c 43 4f 44 45 3e 6d 6b 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 63 61 6e 6e ed...If.<CODE>mktemp</CODE>.cann
7a600 6f 74 20 66 69 6e 64 20 61 20 75 6e 69 71 75 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 6e ot.find.a.unique.file..........n
7a620 61 6d 65 2c 20 69 74 20 6d 61 6b 65 73 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 ame,.it.makes.<VAR>template</VAR
7a640 3e 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 >.an.empty.string.and.returns.th
7a660 61 74 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f at...If..........<VAR>template</
7a680 56 41 52 3e 20 64 6f 65 73 20 6e 6f 74 20 65 6e 64 20 77 69 74 68 20 3c 73 61 6d 70 3e 58 58 58 VAR>.does.not.end.with.<samp>XXX
7a6a0 58 58 58 3c 2f 73 61 6d 70 3e 2c 20 3c 43 4f 44 45 3e 6d 6b 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 XXX</samp>,.<CODE>mktemp</CODE>.
7a6c0 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e returns.a..........null.pointer.
7a6e0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 61 72 6e 69 6e 67 3a 20 42 65 74 77 ..........<br><br>.Warning:.Betw
7a700 65 65 6e 20 74 68 65 20 74 69 6d 65 20 74 68 65 20 70 61 74 68 6e 61 6d 65 20 69 73 20 63 6f 6e een.the.time.the.pathname.is.con
7a720 73 74 72 75 63 74 65 64 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 69 structed.and.the..........file.i
7a740 73 20 63 72 65 61 74 65 64 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 20 6d 69 67 68 74 20 s.created.another.process.might.
7a760 68 61 76 65 20 63 72 65 61 74 65 64 20 61 20 66 69 6c 65 20 77 69 74 68 20 74 68 65 20 73 61 6d have.created.a.file.with.the.sam
7a780 65 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6d 6b 74 65 e..........name.using.<CODE>mkte
7a7a0 6d 70 3c 2f 43 4f 44 45 3e 2c 20 6c 65 61 64 69 6e 67 20 74 6f 20 61 20 70 6f 73 73 69 62 6c 65 mp</CODE>,.leading.to.a.possible
7a7c0 20 73 65 63 75 72 69 74 79 20 68 6f 6c 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 69 6d .security.hole...The..........im
7a7e0 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 73 20 6e 61 6d 65 73 20 77 68 69 plementation.generates.names.whi
7a800 63 68 20 63 61 6e 20 68 61 72 64 6c 79 20 62 65 20 70 72 65 64 69 63 74 65 64 2c 20 62 75 74 20 ch.can.hardly.be.predicted,.but.
7a820 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 6f 70 65 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 79 when..........opening.the.file.y
7a840 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 20 74 68 65 20 3c 43 4f 44 45 3e 4f 5f 45 58 43 4c 3c 2f ou.should.use.the.<CODE>O_EXCL</
7a860 43 4f 44 45 3e 20 66 6c 61 67 2e 20 20 55 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 CODE>.flag...Using..........<COD
7a880 45 3e 6d 6b 73 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 73 61 66 65 20 77 61 79 20 74 E>mkstemp</CODE>.is.a.safe.way.t
7a8a0 6f 20 61 76 6f 69 64 20 74 68 69 73 20 70 72 6f 62 6c 65 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 o.avoid.this.problem..........sq
7a8c0 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 74 00 08 73 74 64 6c 69 .~......w.....t..stdio.ht..stdli
7a8e0 62 2e 68 78 71 00 7e 13 42 74 00 0e 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 74 00 06 63 68 61 b.hxq.~.Bt..char.*templatet..cha
7a900 72 20 2a 74 00 06 6d 6b 74 69 6d 65 73 71 00 7e 00 0a 70 74 04 fe 0a 20 20 20 20 20 20 20 20 54 r.*t..mktimesq.~..pt...........T
7a920 68 65 20 3c 43 4f 44 45 3e 6d 6b 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 he.<CODE>mktime</CODE>.function.
7a940 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e is.used.to.convert.a.broken-down
7a960 20 74 69 6d 65 20 73 74 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 74 6f 20 61 20 73 69 .time.structure..........to.a.si
7a980 6d 70 6c 65 20 74 69 6d 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 20 20 49 74 20 61 6c mple.time.representation...It.al
7a9a0 73 6f 20 60 60 6e 6f 72 6d 61 6c 69 7a 65 73 27 27 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f so.``normalizes''.the.contents.o
7a9c0 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 6d 65 20 f..........the.broken-down.time.
7a9e0 73 74 72 75 63 74 75 72 65 2c 20 62 79 20 66 69 6c 6c 69 6e 67 20 69 6e 20 74 68 65 20 64 61 79 structure,.by.filling.in.the.day
7aa00 20 6f 66 20 77 65 65 6b 20 61 6e 64 20 64 61 79 20 6f 66 0a 20 20 20 20 20 20 20 20 20 79 65 61 .of.week.and.day.of..........yea
7aa20 72 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6f 74 68 65 72 20 64 61 74 65 20 61 6e 64 20 74 69 r.based.on.the.other.date.and.ti
7aa40 6d 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e me.components...........<br><br>
7aa60 20 54 68 65 20 3c 43 4f 44 45 3e 6d 6b 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f .The.<CODE>mktime</CODE>.functio
7aa80 6e 20 69 67 6e 6f 72 65 73 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 63 6f 6e 74 65 6e 74 73 n.ignores.the.specified.contents
7aaa0 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 6d 5f 77 64 61 79 3c 2f .of.the..........<CODE>tm_wday</
7aac0 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 74 6d 5f 79 64 61 79 3c 2f 43 4f 44 45 3e 20 6d CODE>.and.<CODE>tm_yday</CODE>.m
7aae0 65 6d 62 65 72 73 20 6f 66 20 74 68 65 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 6d 65 0a 20 embers.of.the.broken-down.time..
7ab00 20 20 20 20 20 20 20 20 73 74 72 75 63 74 75 72 65 2e 20 20 49 74 20 75 73 65 73 20 74 68 65 20 ........structure...It.uses.the.
7ab20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 values.of.the.other.components.t
7ab40 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 61 6c 65 6e 64 61 o.determine.the..........calenda
7ab60 72 20 74 69 6d 65 3b 20 69 74 27 73 20 70 65 72 6d 69 73 73 69 62 6c 65 20 66 6f 72 20 74 68 65 r.time;.it's.permissible.for.the
7ab80 73 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 6f 20 68 61 76 65 0a 20 20 20 20 20 20 20 20 20 75 se.components.to.have..........u
7aba0 6e 6e 6f 72 6d 61 6c 69 7a 65 64 20 76 61 6c 75 65 73 20 6f 75 74 73 69 64 65 20 74 68 65 69 72 nnormalized.values.outside.their
7abc0 20 6e 6f 72 6d 61 6c 20 72 61 6e 67 65 73 2e 20 20 54 68 65 20 6c 61 73 74 20 74 68 69 6e 67 20 .normal.ranges...The.last.thing.
7abe0 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 6b 74 69 6d 65 3c 2f 43 4f 44 45 that..........<CODE>mktime</CODE
7ac00 3e 20 64 6f 65 73 20 69 73 20 61 64 6a 75 73 74 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 >.does.is.adjust.the.components.
7ac20 6f 66 20 74 68 65 20 3c 56 41 52 3e 62 72 6f 6b 65 6e 74 69 6d 65 3c 2f 56 41 52 3e 0a 20 20 20 of.the.<VAR>brokentime</VAR>....
7ac40 20 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 3c ......structure.(including.the.<
7ac60 43 4f 44 45 3e 74 6d 5f 77 64 61 79 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 74 6d CODE>tm_wday</CODE>.and.<CODE>tm
7ac80 5f 79 64 61 79 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e _yday</CODE>)...........<br><br>
7aca0 20 49 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 .If.the.specified.broken-down.ti
7acc0 6d 65 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 61 73 20 61 20 73 69 me.cannot.be.represented.as.a.si
7ace0 6d 70 6c 65 20 74 69 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 6b 74 69 6d 65 mple.time,..........<CODE>mktime
7ad00 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 </CODE>.returns.a.value.of.<CODE
7ad20 3e 28 74 69 6d 65 5f 74 29 28 2d 31 29 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 64 6f 65 73 20 6e 6f >(time_t)(-1)</CODE>.and.does.no
7ad40 74 20 6d 6f 64 69 66 79 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f t.modify..........the.contents.o
7ad60 66 20 3c 56 41 52 3e 62 72 6f 6b 65 6e 74 69 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 f.<VAR>brokentime</VAR>.........
7ad80 20 20 3c 62 72 3e 3c 62 72 3e 20 43 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 6d 6b 74 69 6d 65 3c ..<br><br>.Calling.<CODE>mktime<
7ada0 2f 43 4f 44 45 3e 20 61 6c 73 6f 20 73 65 74 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 3c 43 /CODE>.also.sets.the.variable.<C
7adc0 4f 44 45 3e 74 7a 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 ODE>tzname</CODE>.with..........
7ade0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 69 information.about.the.current.ti
7ae00 6d 65 20 7a 6f 6e 65 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 me.zone.............sq.~......w.
7ae20 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 13 4a 74 00 15 73 74 72 75 63 74 20 74 6d 20 ....t..time.hxq.~.Jt..struct.tm.
7ae40 2a 62 72 6f 6b 65 6e 74 69 6d 65 74 00 06 74 69 6d 65 5f 74 74 00 05 6d 6c 6f 63 6b 73 71 00 7e *brokentimet..time_tt..mlocksq.~
7ae60 00 0a 70 74 08 04 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 6c ..pt...........<br><br>.<CODE>ml
7ae80 6f 63 6b 3c 2f 43 4f 44 45 3e 20 6c 6f 63 6b 73 20 61 20 72 61 6e 67 65 20 6f 66 20 74 68 65 20 ock</CODE>.locks.a.range.of.the.
7aea0 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 76 69 72 74 75 61 6c 20 70 61 67 65 73 2e 0a calling.process'.virtual.pages..
7aec0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 61 6e 67 65 20 6f 66 20 6d .........<br><br>.The.range.of.m
7aee0 65 6d 6f 72 79 20 73 74 61 72 74 73 20 61 74 20 61 64 64 72 65 73 73 20 3c 56 41 52 3e 61 64 64 emory.starts.at.address.<VAR>add
7af00 72 3c 2f 56 41 52 3e 20 61 6e 64 20 69 73 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 20 62 79 r</VAR>.and.is.<VAR>len</VAR>.by
7af20 74 65 73 0a 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 2e 20 20 41 63 74 75 61 6c 6c 79 2c 20 73 69 tes..........long...Actually,.si
7af40 6e 63 65 20 79 6f 75 20 6d 75 73 74 20 6c 6f 63 6b 20 77 68 6f 6c 65 20 70 61 67 65 73 2c 20 69 nce.you.must.lock.whole.pages,.i
7af60 74 20 69 73 20 74 68 65 20 72 61 6e 67 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 73 t.is.the.range.of..........pages
7af80 20 74 68 61 74 20 69 6e 63 6c 75 64 65 20 61 6e 79 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 70 .that.include.any.part.of.the.sp
7afa0 65 63 69 66 69 65 64 20 72 61 6e 67 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ecified.range...........<br><br>
7afc0 20 57 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 73 75 63 63 65 .When.the.function.returns.succe
7afe0 73 73 66 75 6c 6c 79 2c 20 65 61 63 68 20 6f 66 20 74 68 6f 73 65 20 70 61 67 65 73 20 69 73 20 ssfully,.each.of.those.pages.is.
7b000 62 61 63 6b 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 6e 65 63 74 65 64 20 74 6f backed.by..........(connected.to
7b020 29 20 61 20 72 65 61 6c 20 66 72 61 6d 65 20 28 69 73 20 72 65 73 69 64 65 6e 74 29 20 61 6e 64 ).a.real.frame.(is.resident).and
7b040 20 69 73 20 6d 61 72 6b 65 64 20 74 6f 20 73 74 61 79 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 .is.marked.to.stay.that.........
7b060 20 77 61 79 2e 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6d .way...This.means.the.function.m
7b080 61 79 20 63 61 75 73 65 20 70 61 67 65 2d 69 6e 73 20 61 6e 64 20 68 61 76 65 20 74 6f 20 77 61 ay.cause.page-ins.and.have.to.wa
7b0a0 69 74 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c it.for..........them...........<
7b0c0 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 73 2c br><br>.When.the.function.fails,
7b0e0 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 61 66 66 65 63 74 20 74 68 65 20 6c 6f 63 6b 20 73 74 61 .it.does.not.affect.the.lock.sta
7b100 74 75 73 20 6f 66 20 61 6e 79 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 73 2e 0a 20 20 20 20 20 tus.of.any..........pages.......
7b120 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 ....<br><br>.The.return.value.is
7b140 20 7a 65 72 6f 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 73 2e 20 .zero.if.the.function.succeeds..
7b160 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 .Otherwise,.it.is..........<CODE
7b180 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 >-1</CODE>.and.<CODE>errno</CODE
7b1a0 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 3c 43 4f 44 45 3e 65 72 72 >.is.set.accordingly...<CODE>err
7b1c0 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 no</CODE>.values..........specif
7b1e0 69 63 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 3a 0a 20 20 20 20 20 20 20 ic.to.this.function.are:........
7b200 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 ..<br><br>.<DL>...........<DT><C
7b220 4f 44 45 3e 45 4e 4f 4d 45 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 ODE>ENOMEM</CODE>.<DD>..........
7b240 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 74 20 6c <OL>..........<LI>..........At.l
7b260 65 61 73 74 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 64 64 72 65 east.some.of.the.specified.addre
7b280 73 73 20 72 61 6e 67 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 69 6e 20 74 68 65 0a 20 ss.range.does.not.exist.in.the..
7b2a0 20 20 20 20 20 20 20 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 76 69 72 74 75 61 6c ........calling.process'.virtual
7b2c0 20 61 64 64 72 65 73 73 20 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 .address.space...........<LI>...
7b2e0 20 20 20 20 20 20 20 54 68 65 20 6c 6f 63 6b 69 6e 67 20 77 6f 75 6c 64 20 63 61 75 73 65 20 74 .......The.locking.would.cause.t
7b300 68 65 20 70 72 6f 63 65 73 73 20 74 6f 20 65 78 63 65 65 64 20 69 74 73 20 6c 6f 63 6b 65 64 20 he.process.to.exceed.its.locked.
7b320 70 61 67 65 20 6c 69 6d 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 page.limit...........</OL>......
7b340 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f ....<br><br>.<DT><CODE>EPERM</CO
7b360 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 DE>.<DD>..........The.calling.pr
7b380 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 73 75 70 65 72 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 ocess.is.not.superuser..........
7b3a0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 .<br><br>.<DT><CODE>EINVAL</CODE
7b3c0 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 20 69 >.<DD>..........<VAR>len</VAR>.i
7b3e0 73 20 6e 6f 74 20 70 6f 73 69 74 69 76 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 s.not.positive...........<br><br
7b400 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 >.<DT><CODE>ENOSYS</CODE>.<DD>..
7b420 20 20 20 20 20 20 20 20 54 68 65 20 6b 65 72 6e 65 6c 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 ........The.kernel.does.not.prov
7b440 69 64 65 20 3c 43 4f 44 45 3e 6d 6c 6f 63 6b 3c 2f 43 4f 44 45 3e 20 63 61 70 61 62 69 6c 69 74 ide.<CODE>mlock</CODE>.capabilit
7b460 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 y...........<br><br>.</DL>......
7b480 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 63 61 6e 20 6c 6f 63 6b 20 3c 45 4d 3e 61 6c ....<br><br>.You.can.lock.<EM>al
7b4a0 6c 3c 2f 45 4d 3e 20 61 20 70 72 6f 63 65 73 73 27 20 6d 65 6d 6f 72 79 20 77 69 74 68 20 3c 43 l</EM>.a.process'.memory.with.<C
7b4c0 4f 44 45 3e 6d 6c 6f 63 6b 61 6c 6c 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 0a 20 20 20 20 20 20 ODE>mlockall</CODE>...You.......
7b4e0 20 20 20 75 6e 6c 6f 63 6b 20 6d 65 6d 6f 72 79 20 77 69 74 68 20 3c 43 4f 44 45 3e 6d 75 6e 6c ...unlock.memory.with.<CODE>munl
7b500 6f 63 6b 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 6d 75 6e 6c 6f 63 6b 61 6c 6c 3c 2f ock</CODE>.or.<CODE>munlockall</
7b520 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 61 76 6f 69 CODE>...........<br><br>.To.avoi
7b540 64 20 61 6c 6c 20 70 61 67 65 20 66 61 75 6c 74 73 20 69 6e 20 61 20 43 20 70 72 6f 67 72 61 6d d.all.page.faults.in.a.C.program
7b560 2c 20 79 6f 75 20 68 61 76 65 20 74 6f 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 ,.you.have.to.use..........<CODE
7b580 3e 6d 6c 6f 63 6b 61 6c 6c 3c 2f 43 4f 44 45 3e 2c 20 62 65 63 61 75 73 65 20 73 6f 6d 65 20 6f >mlockall</CODE>,.because.some.o
7b5a0 66 20 74 68 65 20 6d 65 6d 6f 72 79 20 61 20 70 72 6f 67 72 61 6d 20 75 73 65 73 20 69 73 20 68 f.the.memory.a.program.uses.is.h
7b5c0 69 64 64 65 6e 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 74 68 65 20 43 20 63 6f 64 65 2c 20 idden..........from.the.C.code,.
7b5e0 65 2e 67 2e 20 74 68 65 20 73 74 61 63 6b 20 61 6e 64 20 61 75 74 6f 6d 61 74 69 63 20 76 61 72 e.g..the.stack.and.automatic.var
7b600 69 61 62 6c 65 73 2c 20 61 6e 64 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 6e 27 iables,.and.you..........wouldn'
7b620 74 20 6b 6e 6f 77 20 77 68 61 74 20 61 64 64 72 65 73 73 20 74 6f 20 74 65 6c 6c 20 3c 43 4f 44 t.know.what.address.to.tell.<COD
7b640 45 3e 6d 6c 6f 63 6b 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 E>mlock</CODE>...........<br><br
7b660 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 08 75 6e 69 >.........sq.~......w.....t..uni
7b680 73 74 64 2e 68 74 00 0a 73 79 73 2f 6d 6d 61 6e 2e 68 78 71 00 7e 13 51 74 00 1c 63 6f 6e 73 74 std.ht..sys/mman.hxq.~.Qt..const
7b6a0 20 76 6f 69 64 20 2a 61 64 64 72 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 74 00 03 69 6e 74 74 00 08 .void.*addr,.size_t.lent..intt..
7b6c0 6d 6c 6f 63 6b 61 6c 6c 73 71 00 7e 00 0a 70 74 0c cd 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c mlockallsq.~..pt...........<br><
7b6e0 62 72 3e 20 3c 43 4f 44 45 3e 6d 6c 6f 63 6b 61 6c 6c 3c 2f 43 4f 44 45 3e 20 6c 6f 63 6b 73 20 br>.<CODE>mlockall</CODE>.locks.
7b700 61 6c 6c 20 74 68 65 20 70 61 67 65 73 20 69 6e 20 61 20 70 72 6f 63 65 73 73 27 20 76 69 72 74 all.the.pages.in.a.process'.virt
7b720 75 61 6c 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 73 70 61 63 ual.memory.address..........spac
7b740 65 2c 20 61 6e 64 2f 6f 72 20 61 6e 79 20 74 68 61 74 20 61 72 65 20 61 64 64 65 64 20 74 6f 20 e,.and/or.any.that.are.added.to.
7b760 69 74 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 20 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 it.in.the.future...This.includes
7b780 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 73 20 6f 66 20 74 68 65 20 63 6f 64 65 2c .the..........pages.of.the.code,
7b7a0 20 64 61 74 61 20 61 6e 64 20 73 74 61 63 6b 20 73 65 67 6d 65 6e 74 2c 20 61 73 20 77 65 6c 6c .data.and.stack.segment,.as.well
7b7c0 20 61 73 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 69 65 73 2c 0a 20 20 20 20 20 20 20 20 20 75 .as.shared.libraries,..........u
7b7e0 73 65 72 20 73 70 61 63 65 20 6b 65 72 6e 65 6c 20 64 61 74 61 2c 20 73 68 61 72 65 64 20 6d 65 ser.space.kernel.data,.shared.me
7b800 6d 6f 72 79 2c 20 61 6e 64 20 6d 65 6d 6f 72 79 20 6d 61 70 70 65 64 20 66 69 6c 65 73 2e 0a 20 mory,.and.memory.mapped.files...
7b820 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 ........<br><br>.<VAR>flags</VAR
7b840 3e 20 69 73 20 61 20 73 74 72 69 6e 67 20 6f 66 20 73 69 6e 67 6c 65 20 62 69 74 20 66 6c 61 67 >.is.a.string.of.single.bit.flag
7b860 73 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 s.represented.by.the.following..
7b880 20 20 20 20 20 20 20 20 6d 61 63 72 6f 73 2e 20 20 54 68 65 79 20 74 65 6c 6c 20 3c 43 4f 44 45 ........macros...They.tell.<CODE
7b8a0 3e 6d 6c 6f 63 6b 61 6c 6c 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 6f 66 20 69 74 73 20 66 75 >mlockall</CODE>.which.of.its.fu
7b8c0 6e 63 74 69 6f 6e 73 20 79 6f 75 20 77 61 6e 74 2e 20 20 41 6c 6c 0a 20 20 20 20 20 20 20 20 20 nctions.you.want...All..........
7b8e0 6f 74 68 65 72 20 62 69 74 73 20 6d 75 73 74 20 62 65 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 other.bits.must.be.zero.........
7b900 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ..<br><br>.<DL>...........<br><b
7b920 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 43 4c 5f 43 55 52 52 45 4e 54 3c 2f 43 4f 44 45 3e 0a r>.<DT><CODE>MCL_CURRENT</CODE>.
7b940 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4c 6f 63 6b 20 61 6c 6c 20 70 61 67 65 73 20 77 68 69 <DD>..........Lock.all.pages.whi
7b960 63 68 20 63 75 72 72 65 6e 74 6c 79 20 65 78 69 73 74 20 69 6e 20 74 68 65 20 63 61 6c 6c 69 6e ch.currently.exist.in.the.callin
7b980 67 20 70 72 6f 63 65 73 73 27 20 76 69 72 74 75 61 6c 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 g.process'.virtual..........addr
7b9a0 65 73 73 20 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 ess.space...........<br><br>.<DT
7b9c0 3e 3c 43 4f 44 45 3e 4d 43 4c 5f 46 55 54 55 52 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 ><CODE>MCL_FUTURE</CODE>.<DD>...
7b9e0 20 20 20 20 20 20 20 53 65 74 20 61 20 6d 6f 64 65 20 73 75 63 68 20 74 68 61 74 20 61 6e 79 20 .......Set.a.mode.such.that.any.
7ba00 70 61 67 65 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 27 20 76 69 72 74 pages.added.to.the.process'.virt
7ba20 75 61 6c 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 73 70 61 63 65 20 69 6e 20 74 68 ual.address..........space.in.th
7ba40 65 20 66 75 74 75 72 65 20 77 69 6c 6c 20 62 65 20 6c 6f 63 6b 65 64 20 66 72 6f 6d 20 62 69 72 e.future.will.be.locked.from.bir
7ba60 74 68 2e 20 20 54 68 69 73 20 6d 6f 64 65 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 th...This.mode.does.not.........
7ba80 20 61 66 66 65 63 74 20 66 75 74 75 72 65 20 61 64 64 72 65 73 73 20 73 70 61 63 65 73 20 6f 77 .affect.future.address.spaces.ow
7baa0 6e 65 64 20 62 79 20 74 68 65 20 73 61 6d 65 20 70 72 6f 63 65 73 73 20 73 6f 20 65 78 65 63 2c ned.by.the.same.process.so.exec,
7bac0 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 73 20 61 20 70 72 6f 63 65 .which..........replaces.a.proce
7bae0 73 73 27 20 61 64 64 72 65 73 73 20 73 70 61 63 65 2c 20 77 69 70 65 73 20 6f 75 74 20 3c 43 4f ss'.address.space,.wipes.out.<CO
7bb00 44 45 3e 4d 43 4c 5f 46 55 54 55 52 45 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 2e DE>MCL_FUTURE</CODE>............
7bb20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 ..........<br><br>.</DL>........
7bb40 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 ..<br><br>.When.the.function.ret
7bb60 75 72 6e 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2c 20 61 6e 64 20 79 6f 75 20 73 70 65 63 69 urns.successfully,.and.you.speci
7bb80 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4d 43 4c 5f 43 55 52 52 45 4e 54 3c fied..........<CODE>MCL_CURRENT<
7bba0 2f 43 4f 44 45 3e 2c 20 61 6c 6c 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 27 20 70 61 67 65 /CODE>,.all.of.the.process'.page
7bbc0 73 20 61 72 65 20 62 61 63 6b 65 64 20 62 79 20 28 63 6f 6e 6e 65 63 74 65 64 0a 20 20 20 20 20 s.are.backed.by.(connected......
7bbe0 20 20 20 20 74 6f 29 20 72 65 61 6c 20 66 72 61 6d 65 73 20 28 74 68 65 79 20 61 72 65 20 72 65 ....to).real.frames.(they.are.re
7bc00 73 69 64 65 6e 74 29 20 61 6e 64 20 61 72 65 20 6d 61 72 6b 65 64 20 74 6f 20 73 74 61 79 20 74 sident).and.are.marked.to.stay.t
7bc20 68 61 74 20 77 61 79 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 65 hat.way...........This.means.the
7bc40 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 63 61 75 73 65 20 70 61 67 65 2d 69 6e 73 20 61 6e 64 .function.may.cause.page-ins.and
7bc60 20 68 61 76 65 20 74 6f 20 77 61 69 74 20 66 6f 72 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 20 20 .have.to.wait.for.them..........
7bc80 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 69 6e .<br><br>.When.the.process.is.in
7bca0 20 3c 43 4f 44 45 3e 4d 43 4c 5f 46 55 54 55 52 45 3c 2f 43 4f 44 45 3e 20 6d 6f 64 65 20 62 65 .<CODE>MCL_FUTURE</CODE>.mode.be
7bcc0 63 61 75 73 65 20 69 74 20 73 75 63 63 65 73 73 66 75 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 65 cause.it.successfully..........e
7bce0 78 65 63 75 74 65 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 73 70 65 63 69 66 xecuted.this.function.and.specif
7bd00 69 65 64 20 3c 43 4f 44 45 3e 4d 43 4c 5f 43 55 52 52 45 4e 54 3c 2f 43 4f 44 45 3e 2c 20 61 6e ied.<CODE>MCL_CURRENT</CODE>,.an
7bd20 79 20 73 79 73 74 65 6d 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 62 79 20 74 68 65 20 70 72 y.system.call..........by.the.pr
7bd40 6f 63 65 73 73 20 74 68 61 74 20 72 65 71 75 69 72 65 73 20 73 70 61 63 65 20 62 65 20 61 64 64 ocess.that.requires.space.be.add
7bd60 65 64 20 74 6f 20 69 74 73 20 76 69 72 74 75 61 6c 20 61 64 64 72 65 73 73 20 73 70 61 63 65 0a ed.to.its.virtual.address.space.
7bd80 20 20 20 20 20 20 20 20 20 66 61 69 6c 73 20 77 69 74 68 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c .........fails.with.<CODE>errno<
7bda0 2f 43 4f 44 45 3e 20 3d 20 3c 43 4f 44 45 3e 45 4e 4f 4d 45 4d 3c 2f 43 4f 44 45 3e 20 69 66 20 /CODE>.=.<CODE>ENOMEM</CODE>.if.
7bdc0 6c 6f 63 6b 69 6e 67 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 73 70 61 63 65 0a 20 20 20 locking.the.additional.space....
7bde0 20 20 20 20 20 20 77 6f 75 6c 64 20 63 61 75 73 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 74 6f ......would.cause.the.process.to
7be00 20 65 78 63 65 65 64 20 69 74 73 20 6c 6f 63 6b 65 64 20 70 61 67 65 20 6c 69 6d 69 74 2e 20 20 .exceed.its.locked.page.limit...
7be20 49 6e 20 74 68 65 20 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 74 68 65 20 61 64 In.the.case..........that.the.ad
7be40 64 72 65 73 73 20 73 70 61 63 65 20 61 64 64 69 74 69 6f 6e 20 74 68 61 74 20 63 61 6e 27 74 20 dress.space.addition.that.can't.
7be60 62 65 20 61 63 63 6f 6d 6d 6f 64 61 74 65 64 20 69 73 20 73 74 61 63 6b 0a 20 20 20 20 20 20 20 be.accommodated.is.stack........
7be80 20 20 65 78 70 61 6e 73 69 6f 6e 2c 20 74 68 65 20 73 74 61 63 6b 20 65 78 70 61 6e 73 69 6f 6e ..expansion,.the.stack.expansion
7bea0 20 66 61 69 6c 73 20 61 6e 64 20 74 68 65 20 6b 65 72 6e 65 6c 20 73 65 6e 64 73 20 61 0a 20 20 .fails.and.the.kernel.sends.a...
7bec0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 53 49 47 53 45 47 56 3c 2f 43 4f 44 45 3e 20 73 69 67 6e .......<CODE>SIGSEGV</CODE>.sign
7bee0 61 6c 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e al.to.the.process...........<br>
7bf00 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 73 2c 20 69 74 <br>.When.the.function.fails,.it
7bf20 20 64 6f 65 73 20 6e 6f 74 20 61 66 66 65 63 74 20 74 68 65 20 6c 6f 63 6b 20 73 74 61 74 75 73 .does.not.affect.the.lock.status
7bf40 20 6f 66 20 61 6e 79 20 70 61 67 65 73 0a 20 20 20 20 20 20 20 20 20 6f 72 20 74 68 65 20 66 75 .of.any.pages..........or.the.fu
7bf60 74 75 72 65 20 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ture.locking.mode...........<br>
7bf80 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 69 66 <br>.The.return.value.is.zero.if
7bfa0 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 73 2e 20 20 4f 74 68 65 72 77 69 .the.function.succeeds...Otherwi
7bfc0 73 65 2c 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 se,.it.is..........<CODE>-1</COD
7bfe0 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 E>.and.<CODE>errno</CODE>.is.set
7c000 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 .accordingly...<CODE>errno</CODE
7c020 3e 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 63 20 74 6f 20 74 68 >.values..........specific.to.th
7c040 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 is.function.are:..........<br><b
7c060 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 4d r>.<DL>...........<DT><CODE>ENOM
7c080 45 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4f 4c 3e 0a 20 20 20 EM</CODE>.<DD>..........<OL>....
7c0a0 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 74 20 6c 65 61 73 74 20 73 6f 6d ......<LI>..........At.least.som
7c0c0 65 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 64 64 72 65 73 73 20 72 61 6e 67 65 e.of.the.specified.address.range
7c0e0 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 .does.not.exist.in.the..........
7c100 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 76 69 72 74 75 61 6c 20 61 64 64 72 65 73 73 calling.process'.virtual.address
7c120 20 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 .space...........<LI>..........T
7c140 68 65 20 6c 6f 63 6b 69 6e 67 20 77 6f 75 6c 64 20 63 61 75 73 65 20 74 68 65 20 70 72 6f 63 65 he.locking.would.cause.the.proce
7c160 73 73 20 74 6f 20 65 78 63 65 65 64 20 69 74 73 20 6c 6f 63 6b 65 64 20 70 61 67 65 20 6c 69 6d ss.to.exceed.its.locked.page.lim
7c180 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e it...........</OL>..........<br>
7c1a0 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e <br>.<DT><CODE>EPERM</CODE>.<DD>
7c1c0 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 73 ..........The.calling.process.is
7c1e0 20 6e 6f 74 20 73 75 70 65 72 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .not.superuser...........<br><br
7c200 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 >.<DT><CODE>EINVAL</CODE>.<DD>..
7c220 20 20 20 20 20 20 20 20 55 6e 64 65 66 69 6e 65 64 20 62 69 74 73 20 69 6e 20 3c 56 41 52 3e 66 ........Undefined.bits.in.<VAR>f
7c240 6c 61 67 73 3c 2f 56 41 52 3e 20 61 72 65 20 6e 6f 74 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 lags</VAR>.are.not.zero.........
7c260 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 ..<br><br>.<DT><CODE>ENOSYS</COD
7c280 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6b 65 72 6e 65 6c 20 64 6f 65 73 E>.<DD>..........The.kernel.does
7c2a0 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 3c 43 4f 44 45 3e 6d 6c 6f 63 6b 61 6c 6c 3c 2f 43 4f 44 .not.provide.<CODE>mlockall</COD
7c2c0 45 3e 20 63 61 70 61 62 69 6c 69 74 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e E>.capability...........<br><br>
7c2e0 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 63 61 6e .</DL>..........<br><br>.You.can
7c300 20 6c 6f 63 6b 20 6a 75 73 74 20 73 70 65 63 69 66 69 63 20 70 61 67 65 73 20 77 69 74 68 20 3c .lock.just.specific.pages.with.<
7c320 43 4f 44 45 3e 6d 6c 6f 63 6b 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 20 75 6e 6c 6f 63 6b 20 70 CODE>mlock</CODE>...You.unlock.p
7c340 61 67 65 73 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 20 3c 43 4f 44 45 3e 6d 75 6e 6c 6f 63 6b ages..........with.<CODE>munlock
7c360 61 6c 6c 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 6d 75 6e 6c 6f 63 6b 3c 2f 43 4f all</CODE>.and.<CODE>munlock</CO
7c380 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 DE>...........<br><br>.........s
7c3a0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 6d 6d 61 6e 2e 68 78 71 00 7e q.~......w.....t..sys/mman.hxq.~
7c3c0 13 59 74 00 09 69 6e 74 20 66 6c 61 67 73 74 00 03 69 6e 74 74 00 04 6d 6d 61 70 73 71 00 7e 00 .Yt..int.flagst..intt..mmapsq.~.
7c3e0 0a 70 74 11 ce 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 .pt...........<br><br>.The.<CODE
7c400 3e 6d 6d 61 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 >mmap</CODE>.function.creates.a.
7c420 6e 65 77 20 6d 61 70 70 69 6e 67 2c 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 62 79 74 65 73 0a new.mapping,.connected.to.bytes.
7c440 20 20 20 20 20 20 20 20 20 28 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 29 20 74 6f 20 .........(<VAR>offset</VAR>).to.
7c460 28 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 20 2b 20 3c 56 41 52 3e 6c 65 6e 67 74 68 (<VAR>offset</VAR>.+.<VAR>length
7c480 3c 2f 56 41 52 3e 20 2d 20 31 29 20 69 6e 20 74 68 65 20 66 69 6c 65 20 6f 70 65 6e 20 6f 6e 0a </VAR>.-.1).in.the.file.open.on.
7c4a0 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 20 20 41 20 .........<VAR>filedes</VAR>...A.
7c4c0 6e 65 77 20 72 65 66 65 72 65 6e 63 65 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 73 70 65 63 69 new.reference.for.the.file.speci
7c4e0 66 69 65 64 20 62 79 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 0a 20 20 20 20 20 fied.by.<VAR>filedes</VAR>......
7c500 20 20 20 20 69 73 20 63 72 65 61 74 65 64 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 72 65 6d ....is.created,.which.is.not.rem
7c520 6f 76 65 64 20 62 79 20 63 6c 6f 73 69 6e 67 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 oved.by.closing.the.file........
7c540 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 61 64 64 72 65 73 73 3c 2f 56 41 52 3e 20 67 ...<br><br>.<VAR>address</VAR>.g
7c560 69 76 65 73 20 61 20 70 72 65 66 65 72 72 65 64 20 73 74 61 72 74 69 6e 67 20 61 64 64 72 65 73 ives.a.preferred.starting.addres
7c580 73 20 66 6f 72 20 74 68 65 20 6d 61 70 70 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 s.for.the.mapping...........<COD
7c5a0 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 65 78 70 72 65 73 73 65 73 20 6e 6f 20 70 72 65 66 65 E>NULL</CODE>.expresses.no.prefe
7c5c0 72 65 6e 63 65 2e 20 41 6e 79 20 70 72 65 76 69 6f 75 73 20 6d 61 70 70 69 6e 67 20 61 74 20 74 rence..Any.previous.mapping.at.t
7c5e0 68 61 74 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 69 73 20 61 75 74 6f 6d 61 74 69 hat..........address.is.automati
7c600 63 61 6c 6c 79 20 72 65 6d 6f 76 65 64 2e 20 54 68 65 20 61 64 64 72 65 73 73 20 79 6f 75 20 67 cally.removed..The.address.you.g
7c620 69 76 65 20 6d 61 79 20 73 74 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 ive.may.still.be..........change
7c640 64 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 75 73 65 20 74 68 65 20 3c 43 4f 44 45 3e 4d 41 50 5f d,.unless.you.use.the.<CODE>MAP_
7c660 46 49 58 45 44 3c 2f 43 4f 44 45 3e 20 66 6c 61 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e FIXED</CODE>.flag...........<br>
7c680 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 <br>............................
7c6a0 20 20 20 3c 56 41 52 3e 70 72 6f 74 65 63 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 66 ...<VAR>protect</VAR>.contains.f
7c6c0 6c 61 67 73 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 20 77 68 61 74 20 6b 69 6e 64 20 6f 66 20 61 lags.that.control.what.kind.of.a
7c6e0 63 63 65 73 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 65 72 6d 69 74 74 65 64 2e 20 20 54 68 ccess.is..........permitted...Th
7c700 65 79 20 69 6e 63 6c 75 64 65 20 3c 43 4f 44 45 3e 50 52 4f 54 5f 52 45 41 44 3c 2f 43 4f 44 45 ey.include.<CODE>PROT_READ</CODE
7c720 3e 2c 20 3c 43 4f 44 45 3e 50 52 4f 54 5f 57 52 49 54 45 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 0a >,.<CODE>PROT_WRITE</CODE>,.and.
7c740 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 50 52 4f 54 5f 45 58 45 43 3c 2f 43 4f 44 45 3e 2c .........<CODE>PROT_EXEC</CODE>,
7c760 20 77 68 69 63 68 20 70 65 72 6d 69 74 20 72 65 61 64 69 6e 67 2c 20 77 72 69 74 69 6e 67 2c 20 .which.permit.reading,.writing,.
7c780 61 6e 64 20 65 78 65 63 75 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 72 65 73 70 65 63 74 69 and.execution,..........respecti
7c7a0 76 65 6c 79 2e 20 20 49 6e 61 70 70 72 6f 70 72 69 61 74 65 20 61 63 63 65 73 73 20 77 69 6c 6c vely...Inappropriate.access.will
7c7c0 20 63 61 75 73 65 20 61 20 73 65 67 66 61 75 6c 74 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .cause.a.segfault............<br
7c7e0 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 6d 6f 73 74 20 68 61 72 64 77 61 72 65 20 64 65 ><br>.Note.that.most.hardware.de
7c800 73 69 67 6e 73 20 63 61 6e 6e 6f 74 20 73 75 70 70 6f 72 74 20 77 72 69 74 65 20 70 65 72 6d 69 signs.cannot.support.write.permi
7c820 73 73 69 6f 6e 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 20 20 20 72 65 61 64 20 70 65 72 6d ssion.without..........read.perm
7c840 69 73 73 69 6f 6e 2c 20 61 6e 64 20 6d 61 6e 79 20 64 6f 20 6e 6f 74 20 64 69 73 74 69 6e 67 75 ission,.and.many.do.not.distingu
7c860 69 73 68 20 72 65 61 64 20 61 6e 64 20 65 78 65 63 75 74 65 20 70 65 72 6d 69 73 73 69 6f 6e 2e ish.read.and.execute.permission.
7c880 0a 20 20 20 20 20 20 20 20 20 54 68 75 73 2c 20 79 6f 75 20 6d 61 79 20 72 65 63 65 69 76 65 20 ..........Thus,.you.may.receive.
7c8a0 77 69 64 65 72 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 6e 20 79 6f 75 20 61 73 6b 20 66 wider.permissions.than.you.ask.f
7c8c0 6f 72 2c 20 61 6e 64 20 6d 61 70 70 69 6e 67 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 77 72 69 or,.and.mappings.of..........wri
7c8e0 74 65 2d 6f 6e 6c 79 20 66 69 6c 65 73 20 6d 61 79 20 62 65 20 64 65 6e 69 65 64 20 65 76 65 6e te-only.files.may.be.denied.even
7c900 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 75 73 65 20 3c 43 4f 44 45 3e 50 52 4f 54 5f 52 45 .if.you.do.not.use.<CODE>PROT_RE
7c920 41 44 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 AD</CODE>...........<br><br>.<VA
7c940 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 66 6c 61 67 73 20 74 68 61 R>flags</VAR>.contains.flags.tha
7c960 74 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20 6d 61 70 2e t.control.the.nature.of.the.map.
7c980 0a 20 20 20 20 20 20 20 20 20 4f 6e 65 20 6f 66 20 3c 43 4f 44 45 3e 4d 41 50 5f 53 48 41 52 45 ..........One.of.<CODE>MAP_SHARE
7c9a0 44 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 4d 41 50 5f 50 52 49 56 41 54 45 3c 2f 43 D</CODE>.or.<CODE>MAP_PRIVATE</C
7c9c0 4f 44 45 3e 20 6d 75 73 74 20 62 65 20 73 70 65 63 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 ODE>.must.be.specified..........
7c9e0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 79 20 69 6e 63 6c 75 64 65 3a 0a 20 20 20 20 20 20 20 20 .<br><br>.They.include:.........
7ca00 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f .<br><br>.<DL>...........<DT><CO
7ca20 44 45 3e 4d 41 50 5f 50 52 49 56 41 54 45 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 73 70 65 DE>MAP_PRIVATE..........This.spe
7ca40 63 69 66 69 65 73 20 74 68 61 74 20 77 72 69 74 65 73 20 74 6f 20 74 68 65 20 72 65 67 69 6f 6e cifies.that.writes.to.the.region
7ca60 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 62 65 20 77 72 69 74 74 65 6e 20 62 61 63 6b 3c 2f 43 .should.never.be.written.back</C
7ca80 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 61 74 74 61 63 68 ODE>.<DD>..........to.the.attach
7caa0 65 64 20 66 69 6c 65 2e 20 20 49 6e 73 74 65 61 64 2c 20 61 20 63 6f 70 79 20 69 73 20 6d 61 64 ed.file...Instead,.a.copy.is.mad
7cac0 65 20 66 6f 72 20 74 68 65 20 70 72 6f 63 65 73 73 2c 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 e.for.the.process,.and.the......
7cae0 20 20 20 20 72 65 67 69 6f 6e 20 77 69 6c 6c 20 62 65 20 73 77 61 70 70 65 64 20 6e 6f 72 6d 61 ....region.will.be.swapped.norma
7cb00 6c 6c 79 20 69 66 20 6d 65 6d 6f 72 79 20 72 75 6e 73 20 6c 6f 77 2e 20 20 4e 6f 20 6f 74 68 65 lly.if.memory.runs.low...No.othe
7cb20 72 20 70 72 6f 63 65 73 73 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 73 65 65 20 74 68 65 20 r.process.will..........see.the.
7cb40 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 69 6e 63 65 changes...........<br><br>.Since
7cb60 20 70 72 69 76 61 74 65 20 6d 61 70 70 69 6e 67 73 20 65 66 66 65 63 74 69 76 65 6c 79 20 72 65 .private.mappings.effectively.re
7cb80 76 65 72 74 20 74 6f 20 6f 72 64 69 6e 61 72 79 20 6d 65 6d 6f 72 79 0a 20 20 20 20 20 20 20 20 vert.to.ordinary.memory.........
7cba0 20 77 68 65 6e 20 77 72 69 74 74 65 6e 20 74 6f 2c 20 79 6f 75 20 6d 75 73 74 20 68 61 76 65 20 .when.written.to,.you.must.have.
7cbc0 65 6e 6f 75 67 68 20 76 69 72 74 75 61 6c 20 6d 65 6d 6f 72 79 20 66 6f 72 20 61 20 63 6f 70 79 enough.virtual.memory.for.a.copy
7cbe0 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 6e 74 69 72 65 20 6d 6d 61 70 70 65 64 20 .of..........the.entire.mmapped.
7cc00 72 65 67 69 6f 6e 20 69 66 20 79 6f 75 20 75 73 65 20 74 68 69 73 20 6d 6f 64 65 20 77 69 74 68 region.if.you.use.this.mode.with
7cc20 20 3c 43 4f 44 45 3e 50 52 4f 54 5f 57 52 49 54 45 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 .<CODE>PROT_WRITE</CODE>........
7cc40 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 41 50 5f 53 48 41 52 45 44 ...<br><br>.<DT><CODE>MAP_SHARED
7cc60 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 77 72 ..........This.specifies.that.wr
7cc80 69 74 65 73 20 74 6f 20 74 68 65 20 72 65 67 69 6f 6e 20 77 69 6c 6c 20 62 65 20 77 72 69 74 74 ites.to.the.region.will.be.writt
7cca0 65 6e 20 62 61 63 6b 20 74 6f 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 en.back.to.the</CODE>.<DD>......
7ccc0 20 20 20 20 66 69 6c 65 2e 20 20 43 68 61 6e 67 65 73 20 6d 61 64 65 20 77 69 6c 6c 20 62 65 20 ....file...Changes.made.will.be.
7cce0 73 68 61 72 65 64 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 69 74 68 20 6f 74 68 65 72 20 70 72 shared.immediately.with.other.pr
7cd00 6f 63 65 73 73 65 73 0a 20 20 20 20 20 20 20 20 20 6d 6d 61 70 69 6e 67 20 74 68 65 20 73 61 6d ocesses..........mmaping.the.sam
7cd20 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 e.file...........<br><br>.Note.t
7cd40 68 61 74 20 61 63 74 75 61 6c 20 77 72 69 74 69 6e 67 20 6d 61 79 20 74 61 6b 65 20 70 6c 61 63 hat.actual.writing.may.take.plac
7cd60 65 20 61 74 20 61 6e 79 20 74 69 6d 65 2e 20 20 59 6f 75 20 6e 65 65 64 20 74 6f 20 75 73 65 0a e.at.any.time...You.need.to.use.
7cd80 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 73 79 6e 63 3c 2f 43 4f 44 45 3e 2c 20 64 65 73 .........<CODE>msync</CODE>,.des
7cda0 63 72 69 62 65 64 20 62 65 6c 6f 77 2c 20 69 66 20 69 74 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 cribed.below,.if.it.is.important
7cdc0 20 74 68 61 74 20 6f 74 68 65 72 20 70 72 6f 63 65 73 73 65 73 0a 20 20 20 20 20 20 20 20 20 75 .that.other.processes..........u
7cde0 73 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20 49 2f 4f 20 67 65 74 20 61 20 63 6f 6e 73 sing.conventional.I/O.get.a.cons
7ce00 69 73 74 65 6e 74 20 76 69 65 77 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 istent.view.of.the.file.........
7ce20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 41 50 5f 46 49 58 45 44 0a 20 ..<br><br>.<DT><CODE>MAP_FIXED..
7ce40 20 20 20 20 20 20 20 20 54 68 69 73 20 66 6f 72 63 65 73 20 74 68 65 20 73 79 73 74 65 6d 20 74 ........This.forces.the.system.t
7ce60 6f 20 75 73 65 20 74 68 65 20 65 78 61 63 74 20 6d 61 70 70 69 6e 67 20 61 64 64 72 65 73 73 20 o.use.the.exact.mapping.address.
7ce80 73 70 65 63 69 66 69 65 64 20 69 6e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 specified.in</CODE>.<DD>........
7cea0 20 20 3c 56 41 52 3e 61 64 64 72 65 73 73 3c 2f 56 41 52 3e 20 61 6e 64 20 66 61 69 6c 20 69 66 ..<VAR>address</VAR>.and.fail.if
7cec0 20 69 74 20 63 61 6e 27 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 .it.can't...........<br><br>.<DT
7cee0 3e 3c 43 4f 44 45 3e 4d 41 50 5f 41 4e 4f 4e 59 4d 4f 55 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e ><CODE>MAP_ANONYMOUS</CODE>.<DD>
7cf00 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 4d 41 50 5f 41 4e 4f 4e 0a 20 20 20 20 20 20 20 ..........<LI>x.MAP_ANON........
7cf20 20 20 54 68 69 73 20 66 6c 61 67 20 74 65 6c 6c 73 20 74 68 65 20 73 79 73 74 65 6d 20 74 6f 20 ..This.flag.tells.the.system.to.
7cf40 63 72 65 61 74 65 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 6d 61 70 70 69 6e 67 2c 20 6e 6f 74 create.an.anonymous.mapping,.not
7cf60 20 63 6f 6e 6e 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 61 20 66 69 6c 65 2e 20 20 .connected..........to.a.file...
7cf80 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6f 66 66 3c <VAR>filedes</VAR>.and.<VAR>off<
7cfa0 2f 56 41 52 3e 20 61 72 65 20 69 67 6e 6f 72 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 67 69 6f /VAR>.are.ignored,.and.the.regio
7cfc0 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 77 69 74 68 20 7a n.is..........initialized.with.z
7cfe0 65 72 6f 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 6f 6e 79 6d 6f 75 eros...........<br><br>.Anonymou
7d000 73 20 6d 61 70 73 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 62 61 73 69 63 20 70 72 69 s.maps.are.used.as.the.basic.pri
7d020 6d 69 74 69 76 65 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 68 65 61 70 20 6f 6e 20 73 6f 6d mitive.to.extend.the.heap.on.som
7d040 65 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 73 2e 20 20 54 68 65 79 20 61 72 65 20 61 6c e..........systems...They.are.al
7d060 73 6f 20 75 73 65 66 75 6c 20 74 6f 20 73 68 61 72 65 20 64 61 74 61 20 62 65 74 77 65 65 6e 20 so.useful.to.share.data.between.
7d080 6d 75 6c 74 69 70 6c 65 20 74 61 73 6b 73 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 multiple.tasks..........without.
7d0a0 63 72 65 61 74 69 6e 67 20 61 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 creating.a.file...........<br><b
7d0c0 72 3e 20 4f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 20 75 73 69 6e 67 20 70 72 69 76 61 74 65 r>.On.some.systems.using.private
7d0e0 20 61 6e 6f 6e 79 6d 6f 75 73 20 6d 6d 61 70 73 20 69 73 20 6d 6f 72 65 20 65 66 66 69 63 69 65 .anonymous.mmaps.is.more.efficie
7d100 6e 74 20 74 68 61 6e 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 61 6c nt.than.using..........<CODE>mal
7d120 6c 6f 63 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 6c 61 72 67 65 20 62 6c 6f 63 6b 73 2e 20 20 54 68 loc</CODE>.for.large.blocks...Th
7d140 69 73 20 69 73 20 6e 6f 74 20 61 6e 20 69 73 73 75 65 20 77 69 74 68 20 74 68 65 20 47 4e 55 20 is.is.not.an.issue.with.the.GNU.
7d160 43 20 6c 69 62 72 61 72 79 2c 0a 20 20 20 20 20 20 20 20 20 61 73 20 74 68 65 20 69 6e 63 6c 75 C.library,..........as.the.inclu
7d180 64 65 64 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 61 75 74 6f 6d 61 74 69 ded.<CODE>malloc</CODE>.automati
7d1a0 63 61 6c 6c 79 20 75 73 65 73 20 3c 43 4f 44 45 3e 6d 6d 61 70 3c 2f 43 4f 44 45 3e 20 77 68 65 cally.uses.<CODE>mmap</CODE>.whe
7d1c0 72 65 20 61 70 70 72 6f 70 72 69 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 re.appropriate...........<br><br
7d1e0 3e 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 >.<br><br>.</DL>..........<br><b
7d200 72 3e 20 3c 43 4f 44 45 3e 6d 6d 61 70 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 r>.<CODE>mmap</CODE>.returns.the
7d220 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6e 65 77 20 6d 61 70 70 69 6e 67 2c 20 6f 72 20 .address.of.the.new.mapping,.or.
7d240 2d 31 20 66 6f 72 20 61 6e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 -1.for.an..........error........
7d260 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 73 20 69 6e 63 6c ...<br><br>.Possible.errors.incl
7d280 75 64 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 ude:..........<br><br>.<DL>.....
7d2a0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c ......<br><br>.<DT><CODE>EINVAL<
7d2c0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 45 69 /CODE>.<DD>..........<br><br>.Ei
7d2e0 74 68 65 72 20 3c 56 41 52 3e 61 64 64 72 65 73 73 3c 2f 56 41 52 3e 20 77 61 73 20 75 6e 75 73 ther.<VAR>address</VAR>.was.unus
7d300 61 62 6c 65 2c 20 6f 72 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20 3c 56 41 52 3e 66 6c 61 67 73 able,.or.inconsistent.<VAR>flags
7d320 3c 2f 56 41 52 3e 20 77 65 72 65 0a 20 20 20 20 20 20 20 20 20 67 69 76 65 6e 2e 0a 20 20 20 20 </VAR>.were..........given......
7d340 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 3c 2f .....<br><br>.<DT><CODE>EACCES</
7d360 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 CODE>.<DD>..........<br><br>.<VA
7d380 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 77 61 73 20 6e 6f 74 20 6f 70 65 6e 20 66 6f 72 R>filedes</VAR>.was.not.open.for
7d3a0 20 74 68 65 20 74 79 70 65 20 6f 66 20 61 63 63 65 73 73 20 73 70 65 63 69 66 69 65 64 20 69 6e .the.type.of.access.specified.in
7d3c0 20 3c 56 41 52 3e 70 72 6f 74 65 63 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 .<VAR>protect</VAR>...........<b
7d3e0 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 4d 45 4d 3c 2f 43 4f 44 45 3e 0a 3c r><br>.<DT><CODE>ENOMEM</CODE>.<
7d400 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 45 69 74 68 65 72 20 74 68 65 DD>..........<br><br>.Either.the
7d420 72 65 20 69 73 20 6e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 20 66 6f 72 20 74 68 65 20 re.is.not.enough.memory.for.the.
7d440 6f 70 65 72 61 74 69 6f 6e 2c 20 6f 72 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 0a 20 20 20 operation,.or.the.process.is....
7d460 20 20 20 20 20 20 6f 75 74 20 6f 66 20 61 64 64 72 65 73 73 20 73 70 61 63 65 2e 0a 20 20 20 20 ......out.of.address.space......
7d480 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 44 45 56 3c 2f .....<br><br>.<DT><CODE>ENODEV</
7d4a0 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 CODE>.<DD>..........<br><br>.Thi
7d4c0 73 20 66 69 6c 65 20 69 73 20 6f 66 20 61 20 74 79 70 65 20 74 68 61 74 20 64 6f 65 73 6e 27 74 s.file.is.of.a.type.that.doesn't
7d4e0 20 73 75 70 70 6f 72 74 20 6d 61 70 70 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .support.mapping...........<br><
7d500 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 45 58 45 43 3c 2f 43 4f 44 45 3e 0a 3c 44 44 br>.<DT><CODE>ENOEXEC</CODE>.<DD
7d520 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 69 6c 65 20 69 73 20 >..........<br><br>.The.file.is.
7d540 6f 6e 20 61 20 66 69 6c 65 73 79 73 74 65 6d 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 73 75 70 on.a.filesystem.that.doesn't.sup
7d560 70 6f 72 74 20 6d 61 70 70 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 port.mapping...........<br><br>.
7d580 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 ..........<br><br>.</DL>........
7d5a0 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ..<br><br>.........sq.~......w..
7d5c0 00 00 0a 74 00 0a 73 79 73 2f 6d 6d 61 6e 2e 68 78 71 00 7e 13 60 74 00 4e 76 6f 69 64 20 2a 61 ...t..sys/mman.hxq.~.`t.Nvoid.*a
7d5e0 64 64 72 65 73 73 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 68 2c 69 6e 74 20 70 72 6f 74 65 63 ddress,.size_t.length,int.protec
7d600 74 2c 20 69 6e 74 20 66 6c 61 67 73 2c 20 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 6f 66 66 5f 74 t,.int.flags,.int.filedes,.off_t
7d620 20 6f 66 66 73 65 74 74 00 06 76 6f 69 64 20 2a 74 00 06 6d 6d 61 70 36 34 73 71 00 7e 00 0a 70 .offsett..void.*t..mmap64sq.~..p
7d640 74 03 2b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 6d 61 70 36 34 3c 2f 43 4f t.+.........The.<CODE>mmap64</CO
7d660 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 DE>.function.is.equivalent.to.th
7d680 65 20 3c 43 4f 44 45 3e 6d 6d 61 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 62 75 74 e.<CODE>mmap</CODE>.function.but
7d6a0 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 20 ..........the.<VAR>offset</VAR>.
7d6c0 70 61 72 61 6d 65 74 65 72 20 69 73 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6f 66 66 36 34 parameter.is.of.type.<CODE>off64
7d6e0 5f 74 3c 2f 43 4f 44 45 3e 2e 20 20 4f 6e 20 33 32 2d 62 69 74 20 73 79 73 74 65 6d 73 0a 20 20 _t</CODE>...On.32-bit.systems...
7d700 20 20 20 20 20 20 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 66 69 6c 65 20 61 73 73 6f .......this.allows.the.file.asso
7d720 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 ciated.with.the.<VAR>filedes</VA
7d740 52 3e 20 64 65 73 63 72 69 70 74 6f 72 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 6c 61 72 R>.descriptor.to.be..........lar
7d760 67 65 72 20 74 68 61 6e 20 32 47 42 2e 20 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 ger.than.2GB...<VAR>filedes</VAR
7d780 3e 20 6d 75 73 74 20 62 65 20 61 20 64 65 73 63 72 69 70 74 6f 72 20 72 65 74 75 72 6e 65 64 20 >.must.be.a.descriptor.returned.
7d7a0 66 72 6f 6d 20 61 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 6f 70 from.a..........call.to.<CODE>op
7d7c0 65 6e 36 34 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 36 34 3c 2f 43 4f en64</CODE>.or.<CODE>fopen64</CO
7d7e0 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 66 72 65 6f 70 65 6e 36 34 3c 2f 43 4f 44 45 3e 20 77 DE>.and.<CODE>freopen64</CODE>.w
7d800 68 65 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 20 69 73 20 here.the..........descriptor.is.
7d820 72 65 74 72 69 65 76 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 66 69 6c 65 6e 6f 3c 2f 43 4f 44 retrieved.with.<CODE>fileno</COD
7d840 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 E>...........<br><br>.When.the.s
7d860 6f 75 72 63 65 73 20 61 72 65 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 74 68 20 3c 43 4f 44 45 ources.are.translated.with.<CODE
7d880 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 >_FILE_OFFSET_BITS.==.64</CODE>.
7d8a0 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 63 74 75 61 6c this..........function.is.actual
7d8c0 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 ly.available.under.the.name.<COD
7d8e0 45 3e 6d 6d 61 70 3c 2f 43 4f 44 45 3e 2e 20 20 49 2e 65 2e 2c 20 74 68 65 0a 20 20 20 20 20 20 E>mmap</CODE>...I.e.,.the.......
7d900 20 20 20 6e 65 77 2c 20 65 78 74 65 6e 64 65 64 20 41 50 49 20 75 73 69 6e 67 20 36 34 20 62 69 ...new,.extended.API.using.64.bi
7d920 74 20 66 69 6c 65 20 73 69 7a 65 73 20 61 6e 64 20 6f 66 66 73 65 74 73 20 74 72 61 6e 73 70 61 t.file.sizes.and.offsets.transpa
7d940 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 rently..........replaces.the.old
7d960 20 41 50 49 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 .API..........sq.~......w.....t.
7d980 0a 73 79 73 2f 6d 6d 61 6e 2e 68 78 71 00 7e 13 67 74 00 50 76 6f 69 64 20 2a 61 64 64 72 65 73 .sys/mman.hxq.~.gt.Pvoid.*addres
7d9a0 73 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 68 2c 69 6e 74 20 70 72 6f 74 65 63 74 2c 20 69 6e s,.size_t.length,int.protect,.in
7d9c0 74 20 66 6c 61 67 73 2c 20 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 6f 66 66 36 34 5f 74 20 6f 66 t.flags,.int.filedes,.off64_t.of
7d9e0 66 73 65 74 74 00 06 76 6f 69 64 20 2a 74 00 04 6d 6f 64 66 73 71 00 7e 00 0a 70 74 02 6f 0a 20 fsett..void.*t..modfsq.~..pt.o..
7da00 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 62 72 65 61 6b 20 74 68 65 .......These.functions.break.the
7da20 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 .argument.<VAR>value</VAR>.into.
7da40 61 6e 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 61 6e 64 20 61 0a 20 20 20 20 20 20 20 20 20 66 an.integer.part.and.a..........f
7da60 72 61 63 74 69 6f 6e 61 6c 20 70 61 72 74 20 28 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 2d 31 ractional.part.(between.<CODE>-1
7da80 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 6c </CODE>.and.<CODE>1</CODE>,.excl
7daa0 75 73 69 76 65 29 2e 20 20 54 68 65 69 72 20 73 75 6d 0a 20 20 20 20 20 20 20 20 20 65 71 75 61 usive)...Their.sum..........equa
7dac0 6c 73 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 2e 20 20 45 61 63 68 20 6f 66 20 74 68 ls.<VAR>value</VAR>...Each.of.th
7dae0 65 20 70 61 72 74 73 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 73 69 67 6e 20 61 73 20 3c 56 41 e.parts.has.the.same.sign.as.<VA
7db00 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 R>value</VAR>,..........and.the.
7db20 69 6e 74 65 67 65 72 20 70 61 72 74 20 69 73 20 61 6c 77 61 79 73 20 72 6f 75 6e 64 65 64 20 74 integer.part.is.always.rounded.t
7db40 6f 77 61 72 64 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 oward.zero...........<br><br>.<C
7db60 4f 44 45 3e 6d 6f 64 66 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 73 20 74 68 65 20 69 6e 74 65 67 ODE>modf</CODE>.stores.the.integ
7db80 65 72 20 70 61 72 74 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 69 6e 74 65 67 65 72 2d 70 er.part.in.<CODE>*<VAR>integer-p
7dba0 61 72 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 72 art</VAR></CODE>,.and..........r
7dbc0 65 74 75 72 6e 73 20 74 68 65 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 61 72 74 2e 20 20 46 6f 72 eturns.the.fractional.part...For
7dbe0 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 45 3e 6d 6f 64 66 20 28 32 2e 35 2c 20 26 69 6e 74 70 .example,.<CODE>modf.(2.5,.&intp
7dc00 61 72 74 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 43 4f art)</CODE>..........returns.<CO
7dc20 44 45 3e 30 2e 35 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 74 6f 72 65 73 20 3c 43 4f 44 45 3e 32 DE>0.5</CODE>.and.stores.<CODE>2
7dc40 2e 30 3c 2f 43 4f 44 45 3e 20 69 6e 74 6f 20 3c 43 4f 44 45 3e 69 6e 74 70 61 72 74 3c 2f 43 4f .0</CODE>.into.<CODE>intpart</CO
7dc60 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 DE>..........sq.~......w.....t..
7dc80 6d 61 74 68 2e 68 78 71 00 7e 13 6e 74 00 22 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 64 6f 75 math.hxq.~.nt."double.value,.dou
7dca0 62 6c 65 20 2a 69 6e 74 65 67 65 72 2d 70 61 72 74 74 00 06 64 6f 75 62 6c 65 74 00 05 6d 6f 64 ble.*integer-partt..doublet..mod
7dcc0 66 66 73 71 00 7e 00 0a 70 74 02 6f 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 ffsq.~..pt.o.........These.funct
7dce0 69 6f 6e 73 20 62 72 65 61 6b 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 76 61 6c ions.break.the.argument.<VAR>val
7dd00 75 65 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 61 6e ue</VAR>.into.an.integer.part.an
7dd20 64 20 61 0a 20 20 20 20 20 20 20 20 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 61 72 74 20 28 62 65 d.a..........fractional.part.(be
7dd40 74 77 65 65 6e 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e tween.<CODE>-1</CODE>.and.<CODE>
7dd60 31 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 6c 75 73 69 76 65 29 2e 20 20 54 68 65 69 72 20 73 75 6d 1</CODE>,.exclusive)...Their.sum
7dd80 0a 20 20 20 20 20 20 20 20 20 65 71 75 61 6c 73 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 ..........equals.<VAR>value</VAR
7dda0 3e 2e 20 20 45 61 63 68 20 6f 66 20 74 68 65 20 70 61 72 74 73 20 68 61 73 20 74 68 65 20 73 61 >...Each.of.the.parts.has.the.sa
7ddc0 6d 65 20 73 69 67 6e 20 61 73 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 2c 0a 20 20 20 me.sign.as.<VAR>value</VAR>,....
7dde0 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 69 73 20 61 6c ......and.the.integer.part.is.al
7de00 77 61 79 73 20 72 6f 75 6e 64 65 64 20 74 6f 77 61 72 64 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 ways.rounded.toward.zero........
7de20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 6f 64 66 3c 2f 43 4f 44 45 3e 20 73 74 ...<br><br>.<CODE>modf</CODE>.st
7de40 6f 72 65 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 69 6e 20 3c 43 4f 44 45 3e 2a ores.the.integer.part.in.<CODE>*
7de60 3c 56 41 52 3e 69 6e 74 65 67 65 72 2d 70 61 72 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 <VAR>integer-part</VAR></CODE>,.
7de80 61 6e 64 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 72 61 63 74 69 6f and..........returns.the.fractio
7dea0 6e 61 6c 20 70 61 72 74 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 3c 43 4f 44 45 3e 6d 6f nal.part...For.example,.<CODE>mo
7dec0 64 66 20 28 32 2e 35 2c 20 26 69 6e 74 70 61 72 74 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 df.(2.5,.&intpart)</CODE>.......
7dee0 20 20 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 2e 35 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 ...returns.<CODE>0.5</CODE>.and.
7df00 73 74 6f 72 65 73 20 3c 43 4f 44 45 3e 32 2e 30 3c 2f 43 4f 44 45 3e 20 69 6e 74 6f 20 3c 43 4f stores.<CODE>2.0</CODE>.into.<CO
7df20 44 45 3e 69 6e 74 70 61 72 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 DE>intpart</CODE>..........sq.~.
7df40 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 13 75 74 00 20 66 6c 6f .....w.....t..math.hxq.~.ut..flo
7df60 61 74 20 76 61 6c 75 65 2c 20 66 6c 6f 61 74 20 2a 69 6e 74 65 67 65 72 2d 70 61 72 74 74 00 05 at.value,.float.*integer-partt..
7df80 66 6c 6f 61 74 74 00 05 6d 6f 64 66 6c 73 71 00 7e 00 0a 70 74 02 6f 0a 20 20 20 20 20 20 20 20 floatt..modflsq.~..pt.o.........
7dfa0 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 62 72 65 61 6b 20 74 68 65 20 61 72 67 75 6d 65 These.functions.break.the.argume
7dfc0 6e 74 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65 nt.<VAR>value</VAR>.into.an.inte
7dfe0 67 65 72 20 70 61 72 74 20 61 6e 64 20 61 0a 20 20 20 20 20 20 20 20 20 66 72 61 63 74 69 6f 6e ger.part.and.a..........fraction
7e000 61 6c 20 70 61 72 74 20 28 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e al.part.(between.<CODE>-1</CODE>
7e020 20 61 6e 64 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 6c 75 73 69 76 65 29 2e .and.<CODE>1</CODE>,.exclusive).
7e040 20 20 54 68 65 69 72 20 73 75 6d 0a 20 20 20 20 20 20 20 20 20 65 71 75 61 6c 73 20 3c 56 41 52 ..Their.sum..........equals.<VAR
7e060 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 2e 20 20 45 61 63 68 20 6f 66 20 74 68 65 20 70 61 72 74 73 >value</VAR>...Each.of.the.parts
7e080 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 73 69 67 6e 20 61 73 20 3c 56 41 52 3e 76 61 6c 75 65 .has.the.same.sign.as.<VAR>value
7e0a0 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 69 6e 74 65 67 65 72 </VAR>,..........and.the.integer
7e0c0 20 70 61 72 74 20 69 73 20 61 6c 77 61 79 73 20 72 6f 75 6e 64 65 64 20 74 6f 77 61 72 64 20 7a .part.is.always.rounded.toward.z
7e0e0 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 6f 64 ero...........<br><br>.<CODE>mod
7e100 66 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 f</CODE>.stores.the.integer.part
7e120 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 69 6e 74 65 67 65 72 2d 70 61 72 74 3c 2f 56 41 .in.<CODE>*<VAR>integer-part</VA
7e140 52 3e 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 R></CODE>,.and..........returns.
7e160 74 68 65 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 61 72 74 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c the.fractional.part...For.exampl
7e180 65 2c 20 3c 43 4f 44 45 3e 6d 6f 64 66 20 28 32 2e 35 2c 20 26 69 6e 74 70 61 72 74 29 3c 2f 43 e,.<CODE>modf.(2.5,.&intpart)</C
7e1a0 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 2e 35 3c ODE>..........returns.<CODE>0.5<
7e1c0 2f 43 4f 44 45 3e 20 61 6e 64 20 73 74 6f 72 65 73 20 3c 43 4f 44 45 3e 32 2e 30 3c 2f 43 4f 44 /CODE>.and.stores.<CODE>2.0</COD
7e1e0 45 3e 20 69 6e 74 6f 20 3c 43 4f 44 45 3e 69 6e 74 70 61 72 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 E>.into.<CODE>intpart</CODE>....
7e200 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 ......sq.~......w.....t..math.hx
7e220 71 00 7e 13 7c 74 00 2c 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 6c 6f 6e 67 20 q.~.|t.,long.double.value,.long.
7e240 64 6f 75 62 6c 65 20 2a 69 6e 74 65 67 65 72 2d 70 61 72 74 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 double.*integer-partt..long.doub
7e260 6c 65 74 00 05 6d 6f 75 6e 74 73 71 00 7e 00 0a 70 74 22 6b 0a 20 20 20 20 20 20 20 20 3c 62 72 let..mountsq.~..pt"k.........<br
7e280 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 6f 75 6e 74 3c 2f 43 4f 44 45 3e 20 6d 6f 75 6e 74 73 20 ><br>.<CODE>mount</CODE>.mounts.
7e2a0 6f 72 20 72 65 6d 6f 75 6e 74 73 20 61 20 66 69 6c 65 73 79 73 74 65 6d 2e 20 20 54 68 65 20 74 or.remounts.a.filesystem...The.t
7e2c0 77 6f 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 71 75 69 74 65 wo.operations.are..........quite
7e2e0 20 64 69 66 66 65 72 65 6e 74 20 61 6e 64 20 61 72 65 20 6d 65 72 67 65 64 20 72 61 74 68 65 72 .different.and.are.merged.rather
7e300 20 75 6e 6e 61 74 75 72 61 6c 6c 79 20 69 6e 74 6f 20 74 68 69 73 20 6f 6e 65 20 66 75 6e 63 74 .unnaturally.into.this.one.funct
7e320 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 4d 53 5f 52 45 4d 4f 55 ion...........The.<CODE>MS_REMOU
7e340 4e 54 3c 2f 43 4f 44 45 3e 20 6f 70 74 69 6f 6e 2c 20 65 78 70 6c 61 69 6e 65 64 20 62 65 6c 6f NT</CODE>.option,.explained.belo
7e360 77 2c 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3c w,.determines.whether..........<
7e380 43 4f 44 45 3e 6d 6f 75 6e 74 3c 2f 43 4f 44 45 3e 20 6d 6f 75 6e 74 73 20 6f 72 20 72 65 6d 6f CODE>mount</CODE>.mounts.or.remo
7e3a0 75 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 61 20 6d 6f unts...........<br><br>.For.a.mo
7e3c0 75 6e 74 2c 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 6f 6e 20 74 68 65 20 62 6c 6f 63 6b unt,.the.filesystem.on.the.block
7e3e0 20 64 65 76 69 63 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 .device.represented.by.the......
7e400 20 20 20 20 64 65 76 69 63 65 20 73 70 65 63 69 61 6c 20 66 69 6c 65 20 6e 61 6d 65 64 20 3c 56 ....device.special.file.named.<V
7e420 41 52 3e 73 70 65 63 69 61 6c 5f 66 69 6c 65 3c 2f 56 41 52 3e 20 67 65 74 73 20 6d 6f 75 6e 74 AR>special_file</VAR>.gets.mount
7e440 65 64 20 6f 76 65 72 20 74 68 65 20 6d 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 ed.over.the.mount..........point
7e460 20 3c 56 41 52 3e 64 69 72 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 .<VAR>dir</VAR>...This.means.tha
7e480 74 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 3c 56 41 52 3e 64 69 72 3c 2f 56 41 52 3e 20 28 t.the.directory.<VAR>dir</VAR>.(
7e4a0 61 6c 6f 6e 67 20 77 69 74 68 20 61 6e 79 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 20 69 6e along.with.any..........files.in
7e4c0 20 69 74 29 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 76 69 73 69 62 6c 65 3b 20 69 6e 20 69 74 .it).is.no.longer.visible;.in.it
7e4e0 73 20 70 6c 61 63 65 20 28 61 6e 64 20 73 74 69 6c 6c 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 s.place.(and.still.with.the.name
7e500 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 64 69 72 3c 2f 56 41 52 3e 29 20 69 73 20 74 68 65 ..........<VAR>dir</VAR>).is.the
7e520 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 .root.directory.of.the.filesyste
7e540 6d 20 6f 6e 20 74 68 65 20 64 65 76 69 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 m.on.the.device...........<br><b
7e560 72 3e 20 41 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2c 20 69 66 20 74 68 65 20 66 69 6c 65 73 r>.As.an.exception,.if.the.files
7e580 79 73 74 65 6d 20 74 79 70 65 20 28 73 65 65 20 62 65 6c 6f 77 29 20 69 73 20 6f 6e 65 20 77 68 ystem.type.(see.below).is.one.wh
7e5a0 69 63 68 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 62 61 73 65 64 20 6f 6e 20 61 20 64 ich.is.not..........based.on.a.d
7e5c0 65 76 69 63 65 20 28 65 2e 67 2e 20 60 60 70 72 6f 63 27 27 29 2c 20 3c 43 4f 44 45 3e 6d 6f 75 evice.(e.g..``proc''),.<CODE>mou
7e5e0 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 61 6e 74 69 61 74 65 73 20 61 0a 20 20 20 20 20 20 20 nt</CODE>.instantiates.a........
7e600 20 20 66 69 6c 65 73 79 73 74 65 6d 20 61 6e 64 20 6d 6f 75 6e 74 73 20 69 74 20 6f 76 65 72 20 ..filesystem.and.mounts.it.over.
7e620 3c 56 41 52 3e 64 69 72 3c 2f 56 41 52 3e 20 61 6e 64 20 69 67 6e 6f 72 65 73 20 3c 56 41 52 3e <VAR>dir</VAR>.and.ignores.<VAR>
7e640 73 70 65 63 69 61 6c 5f 66 69 6c 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 special_file</VAR>...........<br
7e660 3e 3c 62 72 3e 20 46 6f 72 20 61 20 72 65 6d 6f 75 6e 74 2c 20 3c 56 41 52 3e 64 69 72 3c 2f 56 ><br>.For.a.remount,.<VAR>dir</V
7e680 41 52 3e 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6d 6f 75 6e 74 20 70 6f 69 6e 74 20 77 68 AR>.specifies.the.mount.point.wh
7e6a0 65 72 65 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 74 6f 20 62 ere.the.filesystem..........to.b
7e6c0 65 20 72 65 6d 6f 75 6e 74 65 64 20 69 73 20 28 61 6e 64 20 72 65 6d 61 69 6e 73 29 20 6d 6f 75 e.remounted.is.(and.remains).mou
7e6e0 6e 74 65 64 20 61 6e 64 20 3c 56 41 52 3e 73 70 65 63 69 61 6c 5f 66 69 6c 65 3c 2f 56 41 52 3e nted.and.<VAR>special_file</VAR>
7e700 20 69 73 0a 20 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65 64 2e 20 20 52 65 6d 6f 75 6e 74 69 6e .is..........ignored...Remountin
7e720 67 20 61 20 66 69 6c 65 73 79 73 74 65 6d 20 6d 65 61 6e 73 20 63 68 61 6e 67 69 6e 67 20 74 68 g.a.filesystem.means.changing.th
7e740 65 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 20 20 20 20 e.options.that.control..........
7e760 6f 70 65 72 61 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 77 68 69 operations.on.the.filesystem.whi
7e780 6c 65 20 69 74 20 69 73 20 6d 6f 75 6e 74 65 64 2e 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 6d le.it.is.mounted...It.does.not.m
7e7a0 65 61 6e 0a 20 20 20 20 20 20 20 20 20 75 6e 6d 6f 75 6e 74 69 6e 67 20 61 6e 64 20 6d 6f 75 6e ean..........unmounting.and.moun
7e7c0 74 69 6e 67 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f ting.again...........<br><br>.Fo
7e7e0 72 20 61 20 6d 6f 75 6e 74 2c 20 79 6f 75 20 6d 75 73 74 20 69 64 65 6e 74 69 66 79 20 74 68 65 r.a.mount,.you.must.identify.the
7e800 20 74 79 70 65 20 6f 66 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 61 73 0a 20 20 20 20 20 .type.of.the.filesystem.as......
7e820 20 20 20 20 3c 56 41 52 3e 66 73 74 79 70 65 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 74 79 70 ....<VAR>fstype</VAR>...This.typ
7e840 65 20 74 65 6c 6c 73 20 74 68 65 20 6b 65 72 6e 65 6c 20 68 6f 77 20 74 6f 20 61 63 63 65 73 73 e.tells.the.kernel.how.to.access
7e860 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 63 61 6e .the.filesystem..........and.can
7e880 20 62 65 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 .be.thought.of.as.the.name.of.a.
7e8a0 66 69 6c 65 73 79 73 74 65 6d 20 64 72 69 76 65 72 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 filesystem.driver...The.........
7e8c0 20 61 63 63 65 70 74 61 62 6c 65 20 76 61 6c 75 65 73 20 61 72 65 20 73 79 73 74 65 6d 20 64 65 .acceptable.values.are.system.de
7e8e0 70 65 6e 64 65 6e 74 2e 20 20 4f 6e 20 61 20 73 79 73 74 65 6d 20 77 69 74 68 20 61 20 4c 69 6e pendent...On.a.system.with.a.Lin
7e900 75 78 20 6b 65 72 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 3c 43 4f 44 45 ux.kernel..........and.the.<CODE
7e920 3e 70 72 6f 63 3c 2f 43 4f 44 45 3e 20 66 69 6c 65 73 79 73 74 65 6d 2c 20 74 68 65 20 6c 69 73 >proc</CODE>.filesystem,.the.lis
7e940 74 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 69 73 20 69 6e 20 74 68 65 0a 20 t.of.possible.values.is.in.the..
7e960 20 20 20 20 20 20 20 20 66 69 6c 65 20 3c 54 54 3e 66 69 6c 65 73 79 73 74 65 6d 73 3c 2f 54 54 ........file.<TT>filesystems</TT
7e980 3e 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 70 72 6f 63 3c 2f 43 4f 44 45 3e 20 66 69 6c 65 73 >.in.the.<CODE>proc</CODE>.files
7e9a0 79 73 74 65 6d 20 28 65 2e 67 2e 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 3c 4b 42 44 3e 63 ystem.(e.g..type..........<KBD>c
7e9c0 61 74 20 2f 70 72 6f 63 2f 66 69 6c 65 73 79 73 74 65 6d 73 3c 2f 4b 42 44 3e 20 74 6f 20 73 65 at./proc/filesystems</KBD>.to.se
7e9e0 65 20 74 68 65 20 6c 69 73 74 29 2e 20 20 57 69 74 68 20 61 20 4c 69 6e 75 78 20 6b 65 72 6e 65 e.the.list)...With.a.Linux.kerne
7ea00 6c 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 79 70 65 73 20 6f 66 20 66 69 6c 65 73 79 73 l,.the..........types.of.filesys
7ea20 74 65 6d 73 20 74 68 61 74 20 3c 43 4f 44 45 3e 6d 6f 75 6e 74 3c 2f 43 4f 44 45 3e 20 63 61 6e tems.that.<CODE>mount</CODE>.can
7ea40 20 6d 6f 75 6e 74 2c 20 61 6e 64 20 74 68 65 69 72 20 74 79 70 65 20 6e 61 6d 65 73 2c 0a 20 20 .mount,.and.their.type.names,...
7ea60 20 20 20 20 20 20 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 61 74 20 66 69 6c 65 73 79 73 74 65 .......depends.on.what.filesyste
7ea80 6d 20 64 72 69 76 65 72 73 20 61 72 65 20 63 6f 6e 66 69 67 75 72 65 64 20 69 6e 74 6f 20 74 68 m.drivers.are.configured.into.th
7eaa0 65 20 6b 65 72 6e 65 6c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 6c 6f 61 64 65 64 20 61 73 20 6c e.kernel.or..........loaded.as.l
7eac0 6f 61 64 61 62 6c 65 20 6b 65 72 6e 65 6c 20 6d 6f 64 75 6c 65 73 2e 20 20 41 6e 20 65 78 61 6d oadable.kernel.modules...An.exam
7eae0 70 6c 65 20 6f 66 20 61 20 63 6f 6d 6d 6f 6e 20 76 61 6c 75 65 20 66 6f 72 0a 20 20 20 20 20 20 ple.of.a.common.value.for.......
7eb00 20 20 20 3c 56 41 52 3e 66 73 74 79 70 65 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 65 78 ...<VAR>fstype</VAR>.is.<CODE>ex
7eb20 74 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 t2</CODE>...........<br><br>.For
7eb40 20 61 20 72 65 6d 6f 75 6e 74 2c 20 3c 43 4f 44 45 3e 6d 6f 75 6e 74 3c 2f 43 4f 44 45 3e 20 69 .a.remount,.<CODE>mount</CODE>.i
7eb60 67 6e 6f 72 65 73 20 3c 56 41 52 3e 66 73 74 79 70 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 gnores.<VAR>fstype</VAR>........
7eb80 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 3e 20 73 ...<br><br>.<VAR>options</VAR>.s
7eba0 70 65 63 69 66 69 65 73 20 61 20 76 61 72 69 65 74 79 20 6f 66 20 6f 70 74 69 6f 6e 73 20 74 68 pecifies.a.variety.of.options.th
7ebc0 61 74 20 61 70 70 6c 79 20 75 6e 74 69 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 at.apply.until.the..........file
7ebe0 73 79 73 74 65 6d 20 69 73 20 75 6e 6d 6f 75 6e 74 65 64 20 6f 72 20 72 65 6d 6f 75 6e 74 65 64 system.is.unmounted.or.remounted
7ec00 2e 20 20 54 68 65 20 70 72 65 63 69 73 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 61 6e 20 6f 70 74 ...The.precise.meaning.of.an.opt
7ec20 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 66 69 6c 65 ion..........depends.on.the.file
7ec40 73 79 73 74 65 6d 20 61 6e 64 20 77 69 74 68 20 73 6f 6d 65 20 66 69 6c 65 73 79 73 74 65 6d 73 system.and.with.some.filesystems
7ec60 2c 20 61 6e 20 6f 70 74 69 6f 6e 20 6d 61 79 20 68 61 76 65 0a 20 20 20 20 20 20 20 20 20 6e 6f ,.an.option.may.have..........no
7ec80 20 65 66 66 65 63 74 20 61 74 20 61 6c 6c 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 66 6f .effect.at.all...Furthermore,.fo
7eca0 72 20 73 6f 6d 65 20 66 69 6c 65 73 79 73 74 65 6d 73 2c 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 r.some.filesystems,.some.of.thes
7ecc0 65 0a 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 20 28 62 75 74 20 6e 65 76 65 72 20 3c 43 e..........options.(but.never.<C
7ece0 4f 44 45 3e 4d 53 5f 52 44 4f 4e 4c 59 3c 2f 43 4f 44 45 3e 29 20 63 61 6e 20 62 65 20 6f 76 65 ODE>MS_RDONLY</CODE>).can.be.ove
7ed00 72 72 69 64 64 65 6e 20 66 6f 72 20 69 6e 64 69 76 69 64 75 61 6c 0a 20 20 20 20 20 20 20 20 20 rridden.for.individual..........
7ed20 66 69 6c 65 20 61 63 63 65 73 73 65 73 20 76 69 61 20 3c 43 4f 44 45 3e 69 6f 63 74 6c 3c 2f 43 file.accesses.via.<CODE>ioctl</C
7ed40 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 6f 70 74 ODE>...........<br><br>.<VAR>opt
7ed60 69 6f 6e 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 62 69 74 20 73 74 72 69 6e 67 20 77 69 74 68 20 ions</VAR>.is.a.bit.string.with.
7ed80 62 69 74 20 66 69 65 6c 64 73 20 64 65 66 69 6e 65 64 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 bit.fields.defined.using.the....
7eda0 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 61 73 6b 20 61 6e 64 20 6d 61 73 6b 65 64 20 ......following.mask.and.masked.
7edc0 76 61 6c 75 65 20 6d 61 63 72 6f 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 value.macros:..........<br><br>.
7ede0 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 53 5f 4d 47 43 5f <DL>...........<DT><CODE>MS_MGC_
7ee00 4d 41 53 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 6d MASK</CODE>.<DD>..........This.m
7ee20 75 6c 74 69 62 69 74 20 66 69 65 6c 64 20 63 6f 6e 74 61 69 6e 73 20 61 20 6d 61 67 69 63 20 6e ultibit.field.contains.a.magic.n
7ee40 75 6d 62 65 72 2e 20 20 49 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 umber...If.it.does.not.have.the.
7ee60 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4d 53 5f 4d 47 43 5f 56 41 4c 3c value..........<CODE>MS_MGC_VAL<
7ee80 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 6d 6f 75 6e 74 3c 2f 43 4f 44 45 3e 20 61 73 73 75 6d /CODE>,.<CODE>mount</CODE>.assum
7eea0 65 73 20 61 6c 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 69 74 73 20 61 72 65 20 7a 65 es.all.the.following.bits.are.ze
7eec0 72 6f 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 56 41 52 3e 64 61 74 61 3c 2f 56 ro.and..........the.<VAR>data</V
7eee0 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 6e 75 6c 6c 20 73 74 72 69 6e 67 2c 20 72 AR>.argument.is.a.null.string,.r
7ef00 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 69 72 20 61 63 74 75 61 6c 20 76 61 6c 75 65 73 egardless.of.their.actual.values
7ef20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 53 ...........<br><br>.<DT><CODE>MS
7ef40 5f 52 45 4d 4f 55 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 _REMOUNT</CODE>.<DD>..........Th
7ef60 69 73 20 62 69 74 20 6f 6e 20 6d 65 61 6e 73 20 74 6f 20 72 65 6d 6f 75 6e 74 20 74 68 65 20 66 is.bit.on.means.to.remount.the.f
7ef80 69 6c 65 73 79 73 74 65 6d 2e 20 20 4f 66 66 20 6d 65 61 6e 73 20 74 6f 20 6d 6f 75 6e 74 20 69 ilesystem...Off.means.to.mount.i
7efa0 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d t...........<br><br>.<DT><CODE>M
7efc0 53 5f 52 44 4f 4e 4c 59 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 62 69 74 20 6f 6e 20 73 70 S_RDONLY..........This.bit.on.sp
7efe0 65 63 69 66 69 65 73 20 74 68 61 74 20 6e 6f 20 77 72 69 74 69 6e 67 20 74 6f 20 74 68 65 20 66 ecifies.that.no.writing.to.the.f
7f000 69 6c 65 73 79 73 74 65 6d 20 73 68 61 6c 6c 20 62 65 20 61 6c 6c 6f 77 65 64 3c 2f 43 4f 44 45 ilesystem.shall.be.allowed</CODE
7f020 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 69 74 20 69 73 20 6d 6f 75 6e >.<DD>..........while.it.is.moun
7f040 74 65 64 2e 20 20 54 68 69 73 20 63 61 6e 6e 6f 74 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 ted...This.cannot.be.overridden.
7f060 62 79 20 3c 43 4f 44 45 3e 69 6f 63 74 6c 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 0a 20 20 20 by.<CODE>ioctl</CODE>...This....
7f080 20 20 20 20 20 20 6f 70 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 6e 65 61 ......option.is.available.on.nea
7f0a0 72 6c 79 20 61 6c 6c 20 66 69 6c 65 73 79 73 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 rly.all.filesystems...........<b
7f0c0 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 5f 49 4d 4d 55 54 41 42 4c 45 0a 20 20 20 r><br>.<DT><CODE>S_IMMUTABLE....
7f0e0 20 20 20 20 20 20 54 68 69 73 20 62 69 74 20 6f 6e 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 ......This.bit.on.specifies.that
7f100 20 6e 6f 20 77 72 69 74 69 6e 67 20 74 6f 20 74 68 65 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 .no.writing.to.the.files.in.the.
7f120 66 69 6c 65 73 79 73 74 65 6d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 filesystem</CODE>.<DD>..........
7f140 73 68 61 6c 6c 20 62 65 20 61 6c 6c 6f 77 65 64 20 77 68 69 6c 65 20 69 74 20 69 73 20 6d 6f 75 shall.be.allowed.while.it.is.mou
7f160 6e 74 65 64 2e 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 66 6f nted...This.can.be.overridden.fo
7f180 72 20 61 0a 20 20 20 20 20 20 20 20 20 70 61 72 74 69 63 75 6c 61 72 20 66 69 6c 65 20 61 63 63 r.a..........particular.file.acc
7f1a0 65 73 73 20 62 79 20 61 20 70 72 6f 70 65 72 6c 79 20 70 72 69 76 69 6c 65 67 65 64 20 63 61 6c ess.by.a.properly.privileged.cal
7f1c0 6c 20 74 6f 20 3c 43 4f 44 45 3e 69 6f 63 74 6c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 l.to.<CODE>ioctl</CODE>.........
7f1e0 20 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 6c 79 20 6e 65 ..This.option.is.a.relatively.ne
7f200 77 20 69 6e 76 65 6e 74 69 6f 6e 20 61 6e 64 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 w.invention.and.is.not.available
7f220 20 6f 6e 20 6d 61 6e 79 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 79 73 74 65 6d 73 2e 0a 20 .on.many..........filesystems...
7f240 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 5f 41 50 50 ........<br><br>.<DT><CODE>S_APP
7f260 45 4e 44 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 62 69 74 20 6f 6e 20 73 70 65 63 69 66 69 END..........This.bit.on.specifi
7f280 65 73 20 74 68 61 74 20 74 68 65 20 6f 6e 6c 79 20 66 69 6c 65 20 77 72 69 74 69 6e 67 20 74 68 es.that.the.only.file.writing.th
7f2a0 61 74 20 73 68 61 6c 6c 20 62 65 20 61 6c 6c 6f 77 65 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a at.shall.be.allowed</CODE>.<DD>.
7f2c0 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 69 73 .........while.the.filesystem.is
7f2e0 20 6d 6f 75 6e 74 65 64 20 69 73 20 61 70 70 65 6e 64 69 6e 67 2e 20 20 53 6f 6d 65 20 66 69 6c .mounted.is.appending...Some.fil
7f300 65 73 79 73 74 65 6d 73 20 61 6c 6c 6f 77 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 74 6f 20 esystems.allow..........this.to.
7f320 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 66 6f 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 be.overridden.for.a.particular.p
7f340 72 6f 63 65 73 73 20 62 79 20 61 20 70 72 6f 70 65 72 6c 79 20 70 72 69 76 69 6c 65 67 65 64 0a rocess.by.a.properly.privileged.
7f360 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 69 6f 63 74 6c 3c 2f 43 4f .........call.to.<CODE>ioctl</CO
7f380 44 45 3e 2e 20 20 54 68 69 73 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 6c 79 20 6e 65 77 20 69 DE>...This.is.a.relatively.new.i
7f3a0 6e 76 65 6e 74 69 6f 6e 20 61 6e 64 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 61 76 61 nvention.and.is.not..........ava
7f3c0 69 6c 61 62 6c 65 20 6f 6e 20 6d 61 6e 79 20 66 69 6c 65 73 79 73 74 65 6d 73 2e 0a 20 20 20 20 ilable.on.many.filesystems......
7f3e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 53 5f 4e 4f 53 55 49 .....<br><br>.<DT><CODE>MS_NOSUI
7f400 44 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 62 69 74 20 6f 6e 20 73 70 65 63 69 66 69 65 73 D..........This.bit.on.specifies
7f420 20 74 68 61 74 20 53 65 74 75 69 64 20 61 6e 64 20 53 65 74 67 69 64 20 70 65 72 6d 69 73 73 69 .that.Setuid.and.Setgid.permissi
7f440 6f 6e 73 20 6f 6e 20 66 69 6c 65 73 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ons.on.files.in.the</CODE>.<DD>.
7f460 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 79 73 74 65 6d 20 73 68 61 6c 6c 20 62 65 20 69 67 6e .........filesystem.shall.be.ign
7f480 6f 72 65 64 20 77 68 69 6c 65 20 69 74 20 69 73 20 6d 6f 75 6e 74 65 64 2e 0a 20 20 20 20 20 20 ored.while.it.is.mounted........
7f4a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 53 5f 4e 4f 45 58 45 43 0a ...<br><br>.<DT><CODE>MS_NOEXEC.
7f4c0 20 20 20 20 20 20 20 20 20 54 68 69 73 20 62 69 74 20 6f 6e 20 73 70 65 63 69 66 69 65 73 20 74 .........This.bit.on.specifies.t
7f4e0 68 61 74 20 6e 6f 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 73 hat.no.files.in.the.filesystem.s
7f500 68 61 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 hall.be.executed</CODE>.<DD>....
7f520 20 20 20 20 20 20 77 68 69 6c 65 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 69 73 20 6d 6f ......while.the.filesystem.is.mo
7f540 75 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f unted...........<br><br>.<DT><CO
7f560 44 45 3e 4d 53 5f 4e 4f 44 45 56 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 62 69 74 20 6f 6e DE>MS_NODEV..........This.bit.on
7f580 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 6e 6f 20 64 65 76 69 63 65 20 73 70 65 63 69 61 .specifies.that.no.device.specia
7f5a0 6c 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 3c 2f 43 4f 44 45 3e l.files.in.the.filesystem</CODE>
7f5c0 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 73 68 61 6c 6c 20 62 65 20 61 63 63 65 73 73 69 62 .<DD>..........shall.be.accessib
7f5e0 6c 65 20 77 68 69 6c 65 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 69 73 20 6d 6f 75 6e 74 le.while.the.filesystem.is.mount
7f600 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e ed...........<br><br>.<DT><CODE>
7f620 4d 53 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 62 69 74 MS_SYNCHRONOUS..........This.bit
7f640 20 6f 6e 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 6c 6c 20 77 72 69 74 65 73 20 74 6f .on.specifies.that.all.writes.to
7f660 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 77 68 69 6c 65 20 69 74 20 69 73 3c 2f 43 4f 44 .the.filesystem.while.it.is</COD
7f680 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 6d 6f 75 6e 74 65 64 20 73 68 61 6c 6c 20 62 E>.<DD>..........mounted.shall.b
7f6a0 65 20 73 79 6e 63 68 72 6f 6e 6f 75 73 3b 20 69 2e 65 2e 2c 20 64 61 74 61 20 73 68 61 6c 6c 20 e.synchronous;.i.e.,.data.shall.
7f6c0 62 65 20 73 79 6e 63 65 64 20 62 65 66 6f 72 65 20 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 77 be.synced.before.each..........w
7f6e0 72 69 74 65 20 63 6f 6d 70 6c 65 74 65 73 20 72 61 74 68 65 72 20 74 68 61 6e 20 68 65 6c 64 20 rite.completes.rather.than.held.
7f700 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 63 61 63 68 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 in.the.buffer.cache...........<b
7f720 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 53 5f 4d 41 4e 44 4c 4f 43 4b 0a 20 20 20 r><br>.<DT><CODE>MS_MANDLOCK....
7f740 20 20 20 20 20 20 54 68 69 73 20 62 69 74 20 6f 6e 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 ......This.bit.on.specifies.that
7f760 20 6d 61 6e 64 61 74 6f 72 79 20 6c 6f 63 6b 73 20 6f 6e 20 66 69 6c 65 73 20 73 68 61 6c 6c 20 .mandatory.locks.on.files.shall.
7f780 62 65 20 70 65 72 6d 69 74 74 65 64 20 77 68 69 6c 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 be.permitted.while</CODE>.<DD>..
7f7a0 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 69 73 20 6d 6f 75 6e 74 65 ........the.filesystem.is.mounte
7f7c0 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d d...........<br><br>.<DT><CODE>M
7f7e0 53 5f 4e 4f 41 54 49 4d 45 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 62 69 74 20 6f 6e 20 73 S_NOATIME..........This.bit.on.s
7f800 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 63 63 65 73 73 20 74 69 6d 65 73 20 6f 66 20 66 69 pecifies.that.access.times.of.fi
7f820 6c 65 73 20 73 68 61 6c 6c 20 6e 6f 74 20 62 65 20 75 70 64 61 74 65 64 20 77 68 65 6e 3c 2f 43 les.shall.not.be.updated.when</C
7f840 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 73 20 61 72 65 ODE>.<DD>..........the.files.are
7f860 20 61 63 63 65 73 73 65 64 20 77 68 69 6c 65 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 69 .accessed.while.the.filesystem.i
7f880 73 20 6d 6f 75 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 s.mounted...........<br><br>.<DT
7f8a0 3e 3c 43 4f 44 45 3e 4d 53 5f 4e 4f 44 49 52 41 54 49 4d 45 0a 20 20 20 20 20 20 20 20 20 54 68 ><CODE>MS_NODIRATIME..........Th
7f8c0 69 73 20 62 69 74 20 6f 6e 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 61 63 63 65 73 73 20 is.bit.on.specifies.that.access.
7f8e0 74 69 6d 65 73 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 73 68 61 6c 6c 20 6e 6f 74 20 62 times.of.directories.shall.not.b
7f900 65 20 75 70 64 61 74 65 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 77 e.updated</CODE>.<DD>..........w
7f920 68 65 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 61 72 65 20 61 63 63 65 73 73 65 64 hen.the.directories.are.accessed
7f940 20 77 68 69 6c 65 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 69 6e 20 6d 6f 75 6e 74 65 64 .while.the.filesystem.in.mounted
7f960 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 ...........<br><br>.<br><br>.</D
7f980 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 79 20 62 69 74 73 20 6e 6f L>..........<br><br>.Any.bits.no
7f9a0 74 20 63 6f 76 65 72 65 64 20 62 79 20 74 68 65 20 61 62 6f 76 65 20 6d 61 73 6b 73 20 73 68 6f t.covered.by.the.above.masks.sho
7f9c0 75 6c 64 20 62 65 20 73 65 74 20 6f 66 66 3b 20 6f 74 68 65 72 77 69 73 65 2c 0a 20 20 20 20 20 uld.be.set.off;.otherwise,......
7f9e0 20 20 20 20 72 65 73 75 6c 74 73 20 61 72 65 20 75 6e 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 ....results.are.undefined.......
7fa00 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 3c 56 41 52 ....<br><br>.The.meaning.of.<VAR
7fa20 3e 64 61 74 61 3c 2f 56 41 52 3e 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 66 69 6c 65 73 >data</VAR>.depends.on.the.files
7fa40 79 73 74 65 6d 20 74 79 70 65 20 61 6e 64 20 69 73 20 63 6f 6e 74 72 6f 6c 6c 65 64 0a 20 20 20 ystem.type.and.is.controlled....
7fa60 20 20 20 20 20 20 65 6e 74 69 72 65 6c 79 20 62 79 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d ......entirely.by.the.filesystem
7fa80 20 64 72 69 76 65 72 20 69 6e 20 74 68 65 20 6b 65 72 6e 65 6c 2e 0a 20 20 20 20 20 20 20 20 20 .driver.in.the.kernel...........
7faa0 3c 62 72 3e 3c 62 72 3e 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c <br><br>.Example:..........<br><
7fac0 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 br>.<pre><br>..........<br>.....
7fae0 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6f 75 6e 74 2e 68 3e 3c 62 72 3e 0a .....#include.<sys/mount.h><br>.
7fb00 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 6d 6f 75 6e 74 28 22 2f 64 65 76 2f 68 64 .........<br><br>.mount("/dev/hd
7fb20 62 22 2c 20 22 2f 63 64 72 6f 6d 22 2c 20 4d 53 5f 4d 47 43 5f 56 41 4c 20 7c 20 4d 53 5f 52 44 b",."/cdrom",.MS_MGC_VAL.|.MS_RD
7fb40 4f 4e 4c 59 20 7c 20 4d 53 5f 4e 4f 53 55 49 44 2c 20 22 22 29 3b 3c 62 72 3e 0a 20 20 20 20 20 ONLY.|.MS_NOSUID,."");<br>......
7fb60 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 6d 6f 75 6e 74 28 22 2f 64 65 76 2f 68 64 61 32 22 2c 20 ....<br><br>.mount("/dev/hda2",.
7fb80 22 2f 6d 6e 74 22 2c 20 4d 53 5f 4d 47 43 5f 56 41 4c 20 7c 20 4d 53 5f 52 45 4d 4f 55 4e 54 2c "/mnt",.MS_MGC_VAL.|.MS_REMOUNT,
7fba0 20 22 22 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e ."");<br>..........<br><br>.<br>
7fbc0 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ..........</pre>..........<br><b
7fbe0 72 3e 20 41 70 70 72 6f 70 72 69 61 74 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 3c 43 4f r>.Appropriate.arguments.for.<CO
7fc00 44 45 3e 6d 6f 75 6e 74 3c 2f 43 4f 44 45 3e 20 61 72 65 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c DE>mount</CODE>.are.conventional
7fc20 6c 79 20 72 65 63 6f 72 64 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 54 54 3e ly.recorded.in..........the.<TT>
7fc40 66 73 74 61 62 3c 2f 54 54 3e 20 74 61 62 6c 65 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 fstab</TT>.table..............<b
7fc60 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 r><br>.The.return.value.is.zero.
7fc80 69 66 20 74 68 65 20 6d 6f 75 6e 74 20 6f 72 20 72 65 6d 6f 75 6e 74 20 69 73 20 73 75 63 63 65 if.the.mount.or.remount.is.succe
7fca0 73 73 66 75 6c 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 20 20 20 20 20 20 20 20 20 69 74 20 69 ssful...Otherwise,..........it.i
7fcc0 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e s.<CODE>-1</CODE>.and.<CODE>errn
7fce0 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e 20 20 o</CODE>.is.set.appropriately...
7fd00 54 68 65 20 76 61 6c 75 65 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 The.values.of..........<CODE>err
7fd20 6e 6f 3c 2f 43 4f 44 45 3e 20 61 72 65 20 66 69 6c 65 73 79 73 74 65 6d 20 64 65 70 65 6e 64 65 no</CODE>.are.filesystem.depende
7fd40 6e 74 2c 20 62 75 74 20 68 65 72 65 20 69 73 20 61 20 67 65 6e 65 72 61 6c 20 6c 69 73 74 3a 0a nt,.but.here.is.a.general.list:.
7fd60 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 .........<br><br>.<DL>..........
7fd80 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 .<DT><CODE>EPERM</CODE>.<DD>....
7fda0 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 73 75 70 65 72 75 73 ......The.process.is.not.superus
7fdc0 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 44 45 56 3c 2f 43 er...........<DT><CODE>ENODEV</C
7fde0 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 73 79 73 74 ODE>.<DD>..........The.file.syst
7fe00 65 6d 20 74 79 70 65 20 3c 56 41 52 3e 66 73 74 79 70 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 em.type.<VAR>fstype</VAR>.is.not
7fe20 20 6b 6e 6f 77 6e 20 74 6f 20 74 68 65 20 6b 65 72 6e 65 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c .known.to.the.kernel...........<
7fe40 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 42 4c 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 DT><CODE>ENOTBLK</CODE>.<DD>....
7fe60 20 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 3c 56 41 52 3e 64 65 76 3c 2f 56 41 52 3e 20 69 73 ......The.file.<VAR>dev</VAR>.is
7fe80 20 6e 6f 74 20 61 20 62 6c 6f 63 6b 20 64 65 76 69 63 65 20 73 70 65 63 69 61 6c 20 66 69 6c 65 .not.a.block.device.special.file
7fea0 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 55 53 59 3c 2f 43 4f 44 45 ...........<DT><CODE>EBUSY</CODE
7fec0 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4f 4c 3e 0a 20 20 >.<DD>..........<br><br>.<OL>...
7fee0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 .......<br><br>.<LI>..........Th
7ff00 65 20 64 65 76 69 63 65 20 69 73 20 61 6c 72 65 61 64 79 20 6d 6f 75 6e 74 65 64 2e 0a 20 20 20 e.device.is.already.mounted.....
7ff20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 ......<br><br>.<LI>..........The
7ff40 20 6d 6f 75 6e 74 20 70 6f 69 6e 74 20 69 73 20 62 75 73 79 2e 20 20 28 45 2e 67 2e 20 69 74 20 .mount.point.is.busy...(E.g..it.
7ff60 69 73 20 73 6f 6d 65 20 70 72 6f 63 65 73 73 27 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f is.some.process'.working.directo
7ff80 72 79 20 6f 72 0a 20 20 20 20 20 20 20 20 20 68 61 73 20 61 20 66 69 6c 65 73 79 73 74 65 6d 20 ry.or..........has.a.filesystem.
7ffa0 6d 6f 75 6e 74 65 64 20 6f 6e 20 69 74 20 61 6c 72 65 61 64 79 29 2e 0a 20 20 20 20 20 20 20 20 mounted.on.it.already)..........
7ffc0 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 71 75 .<br><br>.<LI>..........The.requ
7ffe0 65 73 74 20 69 73 20 74 6f 20 72 65 6d 6f 75 6e 74 20 72 65 61 64 2d 6f 6e 6c 79 2c 20 62 75 74 est.is.to.remount.read-only,.but
80000 20 74 68 65 72 65 20 61 72 65 20 66 69 6c 65 73 20 6f 70 65 6e 20 66 6f 72 20 77 72 69 74 65 2e .there.are.files.open.for.write.
80020 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ..........</OL>..........<br><br
80040 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 >.<DT><CODE>EINVAL</CODE>.<DD>..
80060 20 20 20 20 20 20 20 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c ........<OL>..........<br><br>.<
80080 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 20 72 65 6d 6f 75 6e 74 20 77 61 73 20 61 74 74 65 6d LI>..........A.remount.was.attem
800a0 70 74 65 64 2c 20 62 75 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 66 69 6c 65 73 79 73 74 65 6d pted,.but.there.is.no.filesystem
800c0 20 6d 6f 75 6e 74 65 64 20 6f 76 65 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 .mounted.over.the..........speci
800e0 66 69 65 64 20 6d 6f 75 6e 74 20 70 6f 69 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c fied.mount.point...........<br><
80100 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 75 70 70 6f 73 65 64 20 66 br>.<LI>..........The.supposed.f
80120 69 6c 65 73 79 73 74 65 6d 20 68 61 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 73 75 70 65 72 62 6c ilesystem.has.an.invalid.superbl
80140 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 4f 4c 3e 0a 20 20 20 ock...........<br><br>.</OL>....
80160 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 3c ......<br><br>.<DT><CODE>EACCES<
80180 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 /CODE>.<DD>..........<OL>.......
801a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 ...<br><br>.<LI>..........The.fi
801c0 6c 65 73 79 73 74 65 6d 20 69 73 20 69 6e 68 65 72 65 6e 74 6c 79 20 72 65 61 64 2d 6f 6e 6c 79 lesystem.is.inherently.read-only
801e0 20 28 70 6f 73 73 69 62 6c 79 20 64 75 65 20 74 6f 20 61 20 73 77 69 74 63 68 20 6f 6e 20 74 68 .(possibly.due.to.a.switch.on.th
80200 65 0a 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 29 20 61 6e 64 20 74 68 65 20 70 72 6f 63 65 e..........device).and.the.proce
80220 73 73 20 61 74 74 65 6d 70 74 65 64 20 74 6f 20 6d 6f 75 6e 74 20 69 74 20 72 65 61 64 2f 77 72 ss.attempted.to.mount.it.read/wr
80240 69 74 65 20 28 62 79 20 73 65 74 74 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f ite.(by.setting.the..........<CO
80260 44 45 3e 4d 53 5f 52 44 4f 4e 4c 59 3c 2f 43 4f 44 45 3e 20 62 69 74 20 6f 66 66 29 2e 0a 20 20 DE>MS_RDONLY</CODE>.bit.off)....
80280 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 .......<br><br>.<LI>..........<V
802a0 41 52 3e 73 70 65 63 69 61 6c 5f 66 69 6c 65 3c 2f 56 41 52 3e 20 6f 72 20 3c 56 41 52 3e 64 69 AR>special_file</VAR>.or.<VAR>di
802c0 72 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 63 63 65 73 73 69 62 6c 65 20 64 75 65 20 74 6f r</VAR>.is.not.accessible.due.to
802e0 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .file.permissions...........<br>
80300 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 70 65 63 69 61 6c 5f <br>.<LI>..........<VAR>special_
80320 66 69 6c 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 63 63 65 73 73 69 62 6c 65 20 62 65 63 file</VAR>.is.not.accessible.bec
80340 61 75 73 65 20 69 74 20 69 73 20 69 6e 20 61 20 66 69 6c 65 73 79 73 74 65 6d 20 74 68 61 74 20 ause.it.is.in.a.filesystem.that.
80360 69 73 0a 20 20 20 20 20 20 20 20 20 6d 6f 75 6e 74 65 64 20 77 69 74 68 20 74 68 65 20 3c 43 4f is..........mounted.with.the.<CO
80380 44 45 3e 4d 53 5f 4e 4f 44 45 56 3c 2f 43 4f 44 45 3e 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 DE>MS_NODEV</CODE>.option.......
803a0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ....<br><br>.</OL>..........<br>
803c0 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4d 5f 46 49 4c 45 3c 2f 43 4f 44 45 3e 0a 3c 44 <br>.<DT><CODE>EM_FILE</CODE>.<D
803e0 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 74 61 62 6c 65 20 6f 66 20 64 75 6d 6d 79 20 64 D>..........The.table.of.dummy.d
80400 65 76 69 63 65 73 20 69 73 20 66 75 6c 6c 2e 20 20 3c 43 4f 44 45 3e 6d 6f 75 6e 74 3c 2f 43 4f evices.is.full...<CODE>mount</CO
80420 44 45 3e 20 6e 65 65 64 73 20 74 6f 20 63 72 65 61 74 65 20 61 0a 20 20 20 20 20 20 20 20 20 64 DE>.needs.to.create.a..........d
80440 75 6d 6d 79 20 64 65 76 69 63 65 20 28 61 6b 61 20 60 60 75 6e 6e 61 6d 65 64 27 27 20 64 65 76 ummy.device.(aka.``unnamed''.dev
80460 69 63 65 29 20 69 66 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 62 65 69 6e 67 20 6d 6f 75 ice).if.the.filesystem.being.mou
80480 6e 74 65 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 6f 6e 65 20 74 68 61 74 20 75 73 nted.is..........not.one.that.us
804a0 65 73 20 61 20 64 65 76 69 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c es.a.device...........<br><br>.<
804c0 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 /DL>..........<br><br>.........s
804e0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 79 73 2f 6d 6f 75 6e 74 2e 68 78 71 00 q.~......w.....t..sys/mount.hxq.
80500 7e 13 83 74 00 6a 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 70 65 63 69 61 6c 5f 66 69 6c 65 2c 20 ~..t.jconst.char.*special_file,.
80520 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 69 72 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 73 74 const.char.*dir,.const.char.*fst
80540 79 70 65 2c 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 6e 74 20 6f 70 74 69 6f 6e 73 2c 20 ype,.unsigned.long.int.options,.
80560 63 6f 6e 73 74 20 76 6f 69 64 20 2a 64 61 74 61 74 00 03 69 6e 74 74 00 06 6d 70 72 6f 62 65 73 const.void.*datat..intt..mprobes
80580 71 00 7e 00 0a 70 74 02 84 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 70 72 6f q.~..pt...........The.<CODE>mpro
805a0 62 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6c 65 74 73 20 79 6f 75 20 65 78 70 6c be</CODE>.function.lets.you.expl
805c0 69 63 69 74 6c 79 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 63 6f 6e 73 69 73 74 65 6e 63 69 65 73 icitly.check.for.inconsistencies
805e0 0a 20 20 20 20 20 20 20 20 20 69 6e 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 61 6c 6c 6f 63 61 ..........in.a.particular.alloca
80600 74 65 64 20 62 6c 6f 63 6b 2e 20 20 59 6f 75 20 6d 75 73 74 20 68 61 76 65 20 61 6c 72 65 61 64 ted.block...You.must.have.alread
80620 79 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 63 68 65 63 6b 3c 2f y.called..........<CODE>mcheck</
80640 43 4f 44 45 3e 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 70 72 CODE>.at.the.beginning.of.the.pr
80660 6f 67 72 61 6d 2c 20 74 6f 20 64 6f 20 69 74 73 20 6f 63 63 61 73 69 6f 6e 61 6c 0a 20 20 20 20 ogram,.to.do.its.occasional.....
80680 20 20 20 20 20 63 68 65 63 6b 73 3b 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 6d 70 72 6f 62 .....checks;.calling.<CODE>mprob
806a0 65 3c 2f 43 4f 44 45 3e 20 72 65 71 75 65 73 74 73 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 e</CODE>.requests.an.additional.
806c0 63 6f 6e 73 69 73 74 65 6e 63 79 20 63 68 65 63 6b 0a 20 20 20 20 20 20 20 20 20 74 6f 20 62 65 consistency.check..........to.be
806e0 20 64 6f 6e 65 20 61 74 20 74 68 65 20 74 69 6d 65 20 6f 66 20 74 68 65 20 63 61 6c 6c 2e 0a 20 .done.at.the.time.of.the.call...
80700 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 ........<br><br>.The.argument.<V
80720 41 52 3e 70 6f 69 6e 74 65 72 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 AR>pointer</VAR>.must.be.a.point
80740 65 72 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 er.returned.by.<CODE>malloc</COD
80760 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 72 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c 2f 43 4f E>..........or.<CODE>realloc</CO
80780 44 45 3e 2e 20 20 3c 43 4f 44 45 3e 6d 70 72 6f 62 65 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e DE>...<CODE>mprobe</CODE>.return
807a0 73 20 61 20 76 61 6c 75 65 20 74 68 61 74 20 73 61 79 73 20 77 68 61 74 0a 20 20 20 20 20 20 20 s.a.value.that.says.what........
807c0 20 20 69 6e 63 6f 6e 73 69 73 74 65 6e 63 79 2c 20 69 66 20 61 6e 79 2c 20 77 61 73 20 66 6f 75 ..inconsistency,.if.any,.was.fou
807e0 6e 64 2e 20 20 54 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 64 65 73 63 72 69 62 65 64 20 62 65 nd...The.values.are.described.be
80800 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 00 77 04 00 00 00 0a 78 71 00 low..........sq.~......w.....xq.
80820 7e 13 8a 74 00 0d 76 6f 69 64 20 2a 70 6f 69 6e 74 65 72 74 00 12 65 6e 75 6d 20 6d 63 68 65 63 ~..t..void.*pointert..enum.mchec
80840 6b 5f 73 74 61 74 75 73 74 00 07 6d 72 61 6e 64 34 38 73 71 00 7e 00 0a 70 74 00 e1 0a 20 20 20 k_statust..mrand48sq.~..pt......
80860 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 20 66 75 .....The.<CODE>mrand48</CODE>.fu
80880 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 6c 72 61 6e 64 nction.is.similar.to.<CODE>lrand
808a0 34 38 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 64 69 48</CODE>...The.only..........di
808c0 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 6e 75 6d 62 65 72 73 20 72 65 74 fference.is.that.the.numbers.ret
808e0 75 72 6e 65 64 20 61 72 65 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 3c 43 4f 44 45 3e 2d 32 5e urned.are.in.the.range.<CODE>-2^
80900 33 31 3c 2f 43 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 32 5e 33 31 31</CODE>.to..........<CODE>2^31
80920 3c 2f 43 4f 44 45 3e 20 28 65 78 63 6c 75 73 69 76 65 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 </CODE>.(exclusive)..........sq.
80940 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 13 90 74 00 ~......w.....t..stdlib.hxq.~..t.
80960 04 76 6f 69 64 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 09 6d 72 61 6e 64 34 38 5f 72 73 71 00 7e .voidt..long.intt..mrand48_rsq.~
80980 00 0a 70 74 01 cf 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 ..pt...........This.function.is.
809a0 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 6d 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 20 similar.to.<CODE>mrand48</CODE>.
809c0 62 75 74 20 6c 69 6b 65 20 74 68 65 20 6f 74 68 65 72 20 72 65 65 6e 74 72 61 6e 74 0a 20 20 20 but.like.the.other.reentrant....
809e0 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 69 74 20 75 73 65 73 20 74 68 65 20 72 61 6e 64 ......functions.it.uses.the.rand
80a00 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 20 64 65 73 63 72 69 62 65 64 20 62 79 om.number.generator.described.by
80a20 20 74 68 65 20 76 61 6c 75 65 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 62 75 66 66 65 .the.value.in..........the.buffe
80a40 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 r.pointed.to.by.<VAR>buffer</VAR
80a60 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 72 65 74 75 >...........<br><br>.If.the.retu
80a80 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 74 68 65 20 76 61 72 rn.value.is.non-negative.the.var
80aa0 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 iable.pointed.to.by..........<VA
80ac0 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 72 65 73 75 R>result</VAR>.contains.the.resu
80ae0 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 lt...........<br><br>.This.funct
80b00 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 73 68 6f 75 6c ion.is.a.GNU.extension.and.shoul
80b20 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 70 6f 72 74 61 62 6c 65 0a 20 20 20 20 20 20 d.not.be.used.in.portable.......
80b40 20 20 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 ...programs..........sq.~......w
80b60 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 13 97 74 00 2b 73 74 72 75 63 74 20 .....t..stdlib.hxq.~..t.+struct.
80b80 64 72 61 6e 64 34 38 5f 64 61 74 61 20 2a 62 75 66 66 65 72 2c 20 64 6f 75 62 6c 65 20 2a 72 65 drand48_data.*buffer,.double.*re
80ba0 73 75 6c 74 74 00 03 69 6e 74 74 00 06 6d 72 65 6d 61 70 73 71 00 7e 00 0a 70 74 05 ea 0a 20 20 sultt..intt..mremapsq.~..pt.....
80bc0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e ......<br><br>.This.function.can
80be0 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 73 69 7a 65 20 6f 66 20 61 .be.used.to.change.the.size.of.a
80c00 6e 20 65 78 69 73 74 69 6e 67 20 6d 65 6d 6f 72 79 0a 20 20 20 20 20 20 20 20 20 61 72 65 61 2e n.existing.memory..........area.
80c20 20 3c 56 41 52 3e 61 64 64 72 65 73 73 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6c 65 6e .<VAR>address</VAR>.and.<VAR>len
80c40 67 74 68 3c 2f 56 41 52 3e 20 6d 75 73 74 20 63 6f 76 65 72 20 61 20 72 65 67 69 6f 6e 20 65 6e gth</VAR>.must.cover.a.region.en
80c60 74 69 72 65 6c 79 20 6d 61 70 70 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 73 61 tirely.mapped..........in.the.sa
80c80 6d 65 20 3c 43 4f 44 45 3e 6d 6d 61 70 3c 2f 43 4f 44 45 3e 20 73 74 61 74 65 6d 65 6e 74 2e 20 me.<CODE>mmap</CODE>.statement..
80ca0 41 20 6e 65 77 20 6d 61 70 70 69 6e 67 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 A.new.mapping.with.the.same.....
80cc0 20 20 20 20 20 63 68 61 72 61 63 74 65 72 69 73 74 69 63 73 20 77 69 6c 6c 20 62 65 20 72 65 74 .....characteristics.will.be.ret
80ce0 75 72 6e 65 64 20 77 69 74 68 20 74 68 65 20 6c 65 6e 67 74 68 20 3c 56 41 52 3e 6e 65 77 5f 6c urned.with.the.length.<VAR>new_l
80d00 65 6e 67 74 68 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f ength</VAR>...........<br><br>.O
80d20 6e 65 20 6f 70 74 69 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 2c 20 3c 43 4f 44 45 3e 4d 52 45 ne.option.is.possible,.<CODE>MRE
80d40 4d 41 50 5f 4d 41 59 4d 4f 56 45 3c 2f 43 4f 44 45 3e 2e 20 49 66 20 69 74 20 69 73 20 67 69 76 MAP_MAYMOVE</CODE>..If.it.is.giv
80d60 65 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 2c en.in..........<VAR>flags</VAR>,
80d80 20 74 68 65 20 73 79 73 74 65 6d 20 6d 61 79 20 72 65 6d 6f 76 65 20 74 68 65 20 65 78 69 73 74 .the.system.may.remove.the.exist
80da0 69 6e 67 20 6d 61 70 70 69 6e 67 20 61 6e 64 20 63 72 65 61 74 65 20 61 20 6e 65 77 0a 20 20 20 ing.mapping.and.create.a.new....
80dc0 20 20 20 20 20 20 6f 6e 65 20 6f 66 20 74 68 65 20 64 65 73 69 72 65 64 20 6c 65 6e 67 74 68 20 ......one.of.the.desired.length.
80de0 69 6e 20 61 6e 6f 74 68 65 72 20 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 in.another.location...........<b
80e00 72 3e 3c 62 72 3e 20 54 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 r><br>.The.address.of.the.result
80e20 69 6e 67 20 6d 61 70 70 69 6e 67 20 69 73 20 72 65 74 75 72 6e 65 64 2c 20 6f 72 20 2d 31 2e 20 ing.mapping.is.returned,.or.-1..
80e40 50 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f 64 65 73 20 69 6e Possible..........error.codes.in
80e60 63 6c 75 64 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 clude:..........<br><br>.<DL>...
80e80 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 46 41 55 4c ........<br><br>.<DT><CODE>EFAUL
80ea0 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 T</CODE>.<DD>..........There.is.
80ec0 6e 6f 20 65 78 69 73 74 69 6e 67 20 6d 61 70 70 69 6e 67 20 69 6e 20 61 74 20 6c 65 61 73 74 20 no.existing.mapping.in.at.least.
80ee0 70 61 72 74 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 72 65 67 69 6f 6e 2c 20 6f 72 0a part.of.the.original.region,.or.
80f00 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 67 69 6f 6e 20 63 6f 76 65 72 73 20 74 77 6f 20 6f .........the.region.covers.two.o
80f20 72 20 6d 6f 72 65 20 64 69 73 74 69 6e 63 74 20 6d 61 70 70 69 6e 67 73 2e 0a 20 20 20 20 20 20 r.more.distinct.mappings........
80f40 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f ...<br><br>.<DT><CODE>EINVAL</CO
80f60 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 64 64 72 65 73 73 20 67 69 DE>.<DD>..........The.address.gi
80f80 76 65 6e 20 69 73 20 6d 69 73 61 6c 69 67 6e 65 64 20 6f 72 20 69 6e 61 70 70 72 6f 70 72 69 61 ven.is.misaligned.or.inappropria
80fa0 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e te...........<br><br>.<DT><CODE>
80fc0 45 41 47 41 49 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 EAGAIN</CODE>.<DD>..........The.
80fe0 72 65 67 69 6f 6e 20 68 61 73 20 70 61 67 65 73 20 6c 6f 63 6b 65 64 2c 20 61 6e 64 20 69 66 20 region.has.pages.locked,.and.if.
81000 65 78 74 65 6e 64 65 64 20 69 74 20 77 6f 75 6c 64 20 65 78 63 65 65 64 20 74 68 65 0a 20 20 20 extended.it.would.exceed.the....
81020 20 20 20 20 20 20 70 72 6f 63 65 73 73 27 73 20 72 65 73 6f 75 72 63 65 20 6c 69 6d 69 74 20 66 ......process's.resource.limit.f
81040 6f 72 20 6c 6f 63 6b 65 64 20 70 61 67 65 73 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 or.locked.pages..............<br
81060 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 4d 45 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 ><br>.<DT><CODE>ENOMEM</CODE>.<D
81080 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 67 69 6f 6e 20 69 73 20 70 72 69 76 61 74 D>..........The.region.is.privat
810a0 65 20 77 72 69 74 61 62 6c 65 2c 20 61 6e 64 20 69 6e 73 75 66 66 69 63 69 65 6e 74 20 76 69 72 e.writable,.and.insufficient.vir
810c0 74 75 61 6c 20 6d 65 6d 6f 72 79 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 76 61 69 6c 61 62 6c tual.memory.is..........availabl
810e0 65 20 74 6f 20 65 78 74 65 6e 64 20 69 74 2e 20 20 41 6c 73 6f 2c 20 74 68 69 73 20 65 72 72 6f e.to.extend.it...Also,.this.erro
81100 72 20 77 69 6c 6c 20 6f 63 63 75 72 20 69 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4d r.will.occur.if..........<CODE>M
81120 52 45 4d 41 50 5f 4d 41 59 4d 4f 56 45 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 67 69 76 65 REMAP_MAYMOVE</CODE>.is.not.give
81140 6e 20 61 6e 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 77 6f 75 6c 64 20 63 6f 6c 6c 69 64 n.and.the.extension.would.collid
81160 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 61 6e 6f 74 68 65 72 20 6d 61 70 70 65 64 20 72 e.with..........another.mapped.r
81180 65 67 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 egion...........<br><br>.</DL>..
811a0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 6d 6d .......sq.~......w.....t..sys/mm
811c0 61 6e 2e 68 78 71 00 7e 13 9e 74 00 39 76 6f 69 64 20 2a 61 64 64 72 65 73 73 2c 20 73 69 7a 65 an.hxq.~..t.9void.*address,.size
811e0 5f 74 20 6c 65 6e 67 74 68 2c 20 73 69 7a 65 5f 74 20 6e 65 77 5f 6c 65 6e 67 74 68 2c 20 69 6e _t.length,.size_t.new_length,.in
81200 74 20 66 6c 61 67 74 00 06 76 6f 69 64 20 2a 74 00 05 6d 73 79 6e 63 73 71 00 7e 00 0a 70 74 05 t.flagt..void.*t..msyncsq.~..pt.
81220 f2 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 75 73 69 6e 67 20 73 68 ..........<br><br>.When.using.sh
81240 61 72 65 64 20 6d 61 70 70 69 6e 67 73 2c 20 74 68 65 20 6b 65 72 6e 65 6c 20 63 61 6e 20 77 72 ared.mappings,.the.kernel.can.wr
81260 69 74 65 20 74 68 65 20 66 69 6c 65 20 61 74 20 61 6e 79 20 74 69 6d 65 0a 20 20 20 20 20 20 20 ite.the.file.at.any.time........
81280 20 20 62 65 66 6f 72 65 20 74 68 65 20 6d 61 70 70 69 6e 67 20 69 73 20 72 65 6d 6f 76 65 64 2e ..before.the.mapping.is.removed.
812a0 20 20 54 6f 20 62 65 20 63 65 72 74 61 69 6e 20 64 61 74 61 20 68 61 73 20 61 63 74 75 61 6c 6c ..To.be.certain.data.has.actuall
812c0 79 20 62 65 65 6e 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 66 y.been..........written.to.the.f
812e0 69 6c 65 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 61 63 63 65 73 73 69 62 6c 65 20 74 6f 20 6e 6f ile.and.will.be.accessible.to.no
81300 6e 2d 6d 65 6d 6f 72 79 2d 6d 61 70 70 65 64 20 49 2f 4f 2c 20 69 74 0a 20 20 20 20 20 20 20 20 n-memory-mapped.I/O,.it.........
81320 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 .is.necessary.to.use.this.functi
81340 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 6f 70 65 72 61 74 65 on...........<br><br>.It.operate
81360 73 20 6f 6e 20 74 68 65 20 72 65 67 69 6f 6e 20 3c 56 41 52 3e 61 64 64 72 65 73 73 3c 2f 56 41 s.on.the.region.<VAR>address</VA
81380 52 3e 20 74 6f 20 28 3c 56 41 52 3e 61 64 64 72 65 73 73 3c 2f 56 41 52 3e 20 2b 20 3c 56 41 52 R>.to.(<VAR>address</VAR>.+.<VAR
813a0 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 49 74 20 6d 61 79 20 >length</VAR>)...........It.may.
813c0 62 65 20 75 73 65 64 20 6f 6e 20 70 61 72 74 20 6f 66 20 61 20 6d 61 70 70 69 6e 67 20 6f 72 20 be.used.on.part.of.a.mapping.or.
813e0 6d 75 6c 74 69 70 6c 65 20 6d 61 70 70 69 6e 67 73 2c 20 68 6f 77 65 76 65 72 20 74 68 65 0a 20 multiple.mappings,.however.the..
81400 20 20 20 20 20 20 20 20 72 65 67 69 6f 6e 20 67 69 76 65 6e 20 73 68 6f 75 6c 64 20 6e 6f 74 20 ........region.given.should.not.
81420 63 6f 6e 74 61 69 6e 20 61 6e 79 20 75 6e 6d 61 70 70 65 64 20 73 70 61 63 65 2e 0a 20 20 20 20 contain.any.unmapped.space......
81440 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 63 .....<br><br>.<VAR>flags</VAR>.c
81460 61 6e 20 63 6f 6e 74 61 69 6e 20 73 6f 6d 65 20 6f 70 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 20 an.contain.some.options:........
81480 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ..<br><br>.<DL>...........<br><b
814a0 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 53 5f 53 59 4e 43 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e r>.<DT><CODE>MS_SYNC</CODE>.<DD>
814c0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6c 61 67 20 6d 61 6b ..........<br><br>.This.flag.mak
814e0 65 73 20 73 75 72 65 20 74 68 65 20 64 61 74 61 20 69 73 20 61 63 74 75 61 6c 6c 79 20 77 72 69 es.sure.the.data.is.actually.wri
81500 74 74 65 6e 20 3c 45 4d 3e 74 6f 20 64 69 73 6b 3c 2f 45 4d 3e 2e 0a 20 20 20 20 20 20 20 20 20 tten.<EM>to.disk</EM>...........
81520 4e 6f 72 6d 61 6c 6c 79 20 3c 43 4f 44 45 3e 6d 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 6f 6e 6c 79 Normally.<CODE>msync</CODE>.only
81540 20 6d 61 6b 65 73 20 73 75 72 65 20 74 68 61 74 20 61 63 63 65 73 73 65 73 20 74 6f 20 61 20 66 .makes.sure.that.accesses.to.a.f
81560 69 6c 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20 49 ile.with..........conventional.I
81580 2f 4f 20 72 65 66 6c 65 63 74 20 74 68 65 20 72 65 63 65 6e 74 20 63 68 61 6e 67 65 73 2e 0a 20 /O.reflect.the.recent.changes...
815a0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 53 5f 41 53 ........<br><br>.<DT><CODE>MS_AS
815c0 59 4e 43 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 YNC</CODE>.<DD>..........<br><br
815e0 3e 20 54 68 69 73 20 74 65 6c 6c 73 20 3c 43 4f 44 45 3e 6d 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 >.This.tells.<CODE>msync</CODE>.
81600 74 6f 20 62 65 67 69 6e 20 74 68 65 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 2c 20 62 75 to.begin.the.synchronization,.bu
81620 74 20 6e 6f 74 20 74 6f 20 77 61 69 74 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 69 74 20 74 6f t.not.to.wait.for..........it.to
81640 20 63 6f 6d 70 6c 65 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 .complete...........<br><br>.<br
81660 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 ><br>.</DL>..........<br><br>.<C
81680 4f 44 45 3e 6d 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 30 20 66 6f 72 20 73 ODE>msync</CODE>.returns.0.for.s
816a0 75 63 63 65 73 73 20 61 6e 64 20 2d 31 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 uccess.and.-1.for..........error
816c0 2e 20 20 45 72 72 6f 72 73 20 69 6e 63 6c 75 64 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ...Errors.include:..........<br>
816e0 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 <br>.<DL>...........<br><br>.<DT
81700 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 ><CODE>EINVAL</CODE>.<DD>.......
81720 20 20 20 41 6e 20 69 6e 76 61 6c 69 64 20 72 65 67 69 6f 6e 20 77 61 73 20 67 69 76 65 6e 2c 20 ...An.invalid.region.was.given,.
81740 6f 72 20 74 68 65 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 77 65 72 65 20 69 6e 76 or.the.<VAR>flags</VAR>.were.inv
81760 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 alid...........<br><br>.<DT><COD
81780 45 3e 45 46 41 55 4c 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 E>EFAULT</CODE>.<DD>..........Th
817a0 65 72 65 20 69 73 20 6e 6f 20 65 78 69 73 74 69 6e 67 20 6d 61 70 70 69 6e 67 20 69 6e 20 61 74 ere.is.no.existing.mapping.in.at
817c0 20 6c 65 61 73 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 72 65 67 69 6f 6e 2e .least.part.of.the.given.region.
817e0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 ..........<br><br>.</DL>........
81800 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ..<br><br>.........sq.~......w..
81820 00 00 0a 74 00 0a 73 79 73 2f 6d 6d 61 6e 2e 68 78 71 00 7e 13 a5 74 00 27 76 6f 69 64 20 2a 61 ...t..sys/mman.hxq.~..t.'void.*a
81840 64 64 72 65 73 73 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 68 2c 20 69 6e 74 20 66 6c 61 67 73 ddress,.size_t.length,.int.flags
81860 74 00 03 69 6e 74 74 00 06 6d 74 72 61 63 65 73 71 00 7e 00 0a 70 74 04 c6 0a 20 20 20 20 20 20 t..intt..mtracesq.~..pt.........
81880 20 20 57 68 65 6e 20 74 68 65 20 3c 43 4f 44 45 3e 6d 74 72 61 63 65 3c 2f 43 4f 44 45 3e 20 66 ..When.the.<CODE>mtrace</CODE>.f
818a0 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 69 74 20 6c 6f 6f 6b 73 20 66 6f 72 20 61 unction.is.called.it.looks.for.a
818c0 6e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 n.environment..........variable.
818e0 6e 61 6d 65 64 20 3c 43 4f 44 45 3e 4d 41 4c 4c 4f 43 5f 54 52 41 43 45 3c 2f 43 4f 44 45 3e 2e named.<CODE>MALLOC_TRACE</CODE>.
81900 20 20 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f 0a 20 ..This.variable.is.supposed.to..
81920 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 6e 61 6d ........contain.a.valid.file.nam
81940 65 2e 20 20 54 68 65 20 75 73 65 72 20 6d 75 73 74 20 68 61 76 65 20 77 72 69 74 65 20 61 63 63 e...The.user.must.have.write.acc
81960 65 73 73 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 61 6c 72 65 61 ess...If.the..........file.alrea
81980 64 79 20 65 78 69 73 74 73 20 69 74 20 69 73 20 74 72 75 6e 63 61 74 65 64 2e 20 20 49 66 20 74 dy.exists.it.is.truncated...If.t
819a0 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 74 0a 20 he.environment.variable.is.not..
819c0 20 20 20 20 20 20 20 20 73 65 74 20 6f 72 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 6e 61 6d 65 20 ........set.or.it.does.not.name.
819e0 61 20 76 61 6c 69 64 20 66 69 6c 65 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 6f 70 65 6e 65 64 a.valid.file.which.can.be.opened
81a00 20 66 6f 72 20 77 72 69 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 68 69 6e 67 20 69 73 .for.writing..........nothing.is
81a20 20 64 6f 6e 65 2e 20 20 54 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 3c 43 4f 44 45 3e 6d 61 .done...The.behavior.of.<CODE>ma
81a40 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 65 74 63 2e 20 69 73 20 6e 6f 74 20 63 68 61 6e 67 65 64 2e lloc</CODE>.etc..is.not.changed.
81a60 0a 20 20 20 20 20 20 20 20 20 46 6f 72 20 6f 62 76 69 6f 75 73 20 72 65 61 73 6f 6e 73 20 74 68 ..........For.obvious.reasons.th
81a80 69 73 20 61 6c 73 6f 20 68 61 70 70 65 6e 73 20 69 66 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 is.also.happens.if.the.applicati
81aa0 6f 6e 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 on.is.installed..........with.th
81ac0 65 20 53 55 49 44 20 6f 72 20 53 47 49 44 20 62 69 74 20 73 65 74 2e 0a 20 20 20 20 20 20 20 20 e.SUID.or.SGID.bit.set..........
81ae0 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6e 61 6d 65 64 20 66 69 6c 65 20 69 73 20 73 .<br><br>.If.the.named.file.is.s
81b00 75 63 63 65 73 73 66 75 6c 6c 79 20 6f 70 65 6e 65 64 2c 20 3c 43 4f 44 45 3e 6d 74 72 61 63 65 uccessfully.opened,.<CODE>mtrace
81b20 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 61 6c 6c 73 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 20 20 </CODE>.installs.special........
81b40 20 20 68 61 6e 64 6c 65 72 73 20 66 6f 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 3c 43 4f ..handlers.for.the.functions.<CO
81b60 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c DE>malloc</CODE>,.<CODE>realloc<
81b80 2f 43 4f 44 45 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 72 65 65 3c /CODE>,.and..........<CODE>free<
81ba0 2f 43 4f 44 45 3e 20 2e 20 20 46 72 6f 6d 20 74 68 65 6e 20 6f 6e 2c 20 61 6c 6c 20 75 73 65 73 /CODE>....From.then.on,.all.uses
81bc0 20 6f 66 20 74 68 65 73 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 .of.these..........functions.are
81be0 20 74 72 61 63 65 64 20 61 6e 64 20 70 72 6f 74 6f 63 6f 6c 6c 65 64 20 69 6e 74 6f 20 74 68 65 .traced.and.protocolled.into.the
81c00 20 66 69 6c 65 2e 20 20 54 68 65 72 65 20 69 73 20 6e 6f 77 20 6f 66 0a 20 20 20 20 20 20 20 20 .file...There.is.now.of.........
81c20 20 63 6f 75 72 73 65 20 61 20 73 70 65 65 64 20 70 65 6e 61 6c 74 79 20 66 6f 72 20 61 6c 6c 20 .course.a.speed.penalty.for.all.
81c40 63 61 6c 6c 73 20 74 6f 20 74 68 65 20 74 72 61 63 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 73 6f calls.to.the.traced.functions.so
81c60 20 74 72 61 63 69 6e 67 0a 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 .tracing..........should.not.be.
81c80 65 6e 61 62 6c 65 64 20 64 75 72 69 6e 67 20 6e 6f 72 6d 61 6c 20 75 73 65 2e 0a 20 20 20 20 20 enabled.during.normal.use.......
81ca0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 ....<br><br>.This.function.is.a.
81cc0 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 67 65 6e 65 72 61 6c 6c 79 20 6e 6f 74 20 GNU.extension.and.generally.not.
81ce0 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 available.on.other..........syst
81d00 65 6d 73 2e 20 20 54 68 65 20 70 72 6f 74 6f 74 79 70 65 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 ems...The.prototype.can.be.found
81d20 20 69 6e 20 3c 54 54 3e 6d 63 68 65 63 6b 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 .in.<TT>mcheck.h</TT>..........s
81d40 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6d 63 68 65 63 6b 2e 68 78 71 00 7e 13 ac q.~......w.....t..mcheck.hxq.~..
81d60 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 07 6d 75 6e 6c 6f 63 6b 73 71 00 7e 00 0a 70 74 t..voidt..voidt..munlocksq.~..pt
81d80 01 46 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 75 6e 6c 6f 63 .F.........<br><br>.<CODE>munloc
81da0 6b 3c 2f 43 4f 44 45 3e 20 75 6e 6c 6f 63 6b 73 20 61 20 72 61 6e 67 65 20 6f 66 20 74 68 65 20 k</CODE>.unlocks.a.range.of.the.
81dc0 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 76 69 72 74 75 61 6c 20 70 61 67 65 73 2e 0a calling.process'.virtual.pages..
81de0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 75 6e 6c 6f 63 6b 3c .........<br><br>.<CODE>munlock<
81e00 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 3c 43 4f 44 45 3e 6d /CODE>.is.the.inverse.of.<CODE>m
81e20 6c 6f 63 6b 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 6c 65 lock</CODE>.and.functions.comple
81e40 74 65 6c 79 0a 20 20 20 20 20 20 20 20 20 61 6e 61 6c 6f 67 6f 75 73 6c 79 20 74 6f 20 3c 43 4f tely..........analogously.to.<CO
81e60 44 45 3e 6d 6c 6f 63 6b 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 DE>mlock</CODE>,.except.that.the
81e80 72 65 20 69 73 20 6e 6f 20 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 re.is.no.<CODE>EPERM</CODE>.....
81ea0 20 20 20 20 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a .....failure...........<br><br>.
81ec0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 6d ........sq.~......w.....t..sys/m
81ee0 6d 61 6e 2e 68 78 71 00 7e 13 b3 74 00 1c 63 6f 6e 73 74 20 76 6f 69 64 20 2a 61 64 64 72 2c 20 man.hxq.~..t..const.void.*addr,.
81f00 73 69 7a 65 5f 74 20 6c 65 6e 74 00 03 69 6e 74 74 00 0a 6d 75 6e 6c 6f 63 6b 61 6c 6c 73 71 00 size_t.lent..intt..munlockallsq.
81f20 7e 00 0a 70 74 02 13 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d ~..pt...........<br><br>.<CODE>m
81f40 75 6e 6c 6f 63 6b 61 6c 6c 3c 2f 43 4f 44 45 3e 20 75 6e 6c 6f 63 6b 73 20 65 76 65 72 79 20 70 unlockall</CODE>.unlocks.every.p
81f60 61 67 65 20 69 6e 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 76 69 72 74 age.in.the.calling.process'.virt
81f80 75 61 6c 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 73 70 61 63 65 20 61 6e 64 20 74 ual..........address.space.and.t
81fa0 75 72 6e 20 6f 66 66 20 3c 43 4f 44 45 3e 4d 43 4c 5f 46 55 54 55 52 45 3c 2f 43 4f 44 45 3e 20 urn.off.<CODE>MCL_FUTURE</CODE>.
81fc0 66 75 74 75 72 65 20 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 future.locking.mode...........<b
81fe0 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 r><br>.The.return.value.is.zero.
82000 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 73 2e 20 20 4f 74 68 65 72 if.the.function.succeeds...Other
82020 77 69 73 65 2c 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 wise,.it.is..........<CODE>-1</C
82040 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 ODE>.and.<CODE>errno</CODE>.is.s
82060 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 54 68 65 20 6f 6e 6c 79 20 77 61 79 20 74 68 et.accordingly...The.only.way.th
82080 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 66 61 69 6c 20 69 73 is..........function.can.fail.is
820a0 20 66 6f 72 20 67 65 6e 65 72 69 63 20 72 65 61 73 6f 6e 73 20 74 68 61 74 20 61 6c 6c 20 66 75 .for.generic.reasons.that.all.fu
820c0 6e 63 74 69 6f 6e 73 20 61 6e 64 20 73 79 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c nctions.and.system..........call
820e0 73 20 63 61 6e 20 66 61 69 6c 2c 20 73 6f 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 70 65 63 s.can.fail,.so.there.are.no.spec
82100 69 66 69 63 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 2e 0a ific.<CODE>errno</CODE>.values..
82120 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f .........<br><br>.........sq.~..
82140 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 6d 6d 61 6e 2e 68 78 71 00 7e 13 ba 74 00 04 ....w.....t..sys/mman.hxq.~..t..
82160 76 6f 69 64 74 00 03 69 6e 74 74 00 06 6d 75 6e 6d 61 70 73 71 00 7e 00 0a 70 74 03 47 0a 20 20 voidt..intt..munmapsq.~..pt.G...
82180 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6d 75 6e 6d 61 70 3c 2f 43 4f 44 ......<br><br>.<CODE>munmap</COD
821a0 45 3e 20 72 65 6d 6f 76 65 73 20 61 6e 79 20 6d 65 6d 6f 72 79 20 6d 61 70 73 20 66 72 6f 6d 20 E>.removes.any.memory.maps.from.
821c0 28 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 29 20 74 6f 20 28 3c 56 41 52 3e 61 64 64 72 3c (<VAR>addr</VAR>).to.(<VAR>addr<
821e0 2f 56 41 52 3e 20 2b 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 /VAR>.+..........<VAR>length</VA
82200 52 3e 29 2e 20 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 62 R>)...<VAR>length</VAR>.should.b
82220 65 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6d 61 70 70 69 6e 67 2e 0a 20 20 20 e.the.length.of.the.mapping.....
82240 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 73 61 66 65 20 74 6f 20 75 6e 6d ......<br><br>.It.is.safe.to.unm
82260 61 70 20 6d 75 6c 74 69 70 6c 65 20 6d 61 70 70 69 6e 67 73 20 69 6e 20 6f 6e 65 20 63 6f 6d 6d ap.multiple.mappings.in.one.comm
82280 61 6e 64 2c 20 6f 72 20 69 6e 63 6c 75 64 65 20 75 6e 6d 61 70 70 65 64 0a 20 20 20 20 20 20 20 and,.or.include.unmapped........
822a0 20 20 73 70 61 63 65 20 69 6e 20 74 68 65 20 72 61 6e 67 65 2e 20 20 49 74 20 69 73 20 61 6c 73 ..space.in.the.range...It.is.als
822c0 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 75 6e 6d 61 70 20 6f 6e 6c 79 20 70 61 72 74 20 6f 66 o.possible.to.unmap.only.part.of
822e0 20 61 6e 20 65 78 69 73 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6d 61 70 70 69 6e 67 2e 20 20 .an.existing..........mapping...
82300 48 6f 77 65 76 65 72 2c 20 6f 6e 6c 79 20 65 6e 74 69 72 65 20 70 61 67 65 73 20 63 61 6e 20 62 However,.only.entire.pages.can.b
82320 65 20 72 65 6d 6f 76 65 64 2e 20 20 49 66 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e e.removed...If.<VAR>length</VAR>
82340 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 61 6e 20 65 76 65 6e 20 6e 75 6d 62 65 72 20 .is.not..........an.even.number.
82360 6f 66 20 70 61 67 65 73 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 72 6f 75 6e 64 65 64 20 75 70 2e of.pages,.it.will.be.rounded.up.
82380 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 72 65 74 75 72 6e 73 20 30 20 ..........<br><br>.It.returns.0.
823a0 66 6f 72 20 73 75 63 63 65 73 73 20 61 6e 64 20 2d 31 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 2e for.success.and.-1.for.an.error.
823c0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 65 20 65 72 72 6f 72 20 69 73 20 ..........<br><br>.One.error.is.
823e0 70 6f 73 73 69 62 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e possible:..........<br><br>.<DL>
82400 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 ...........<br><br>.<DT><CODE>EI
82420 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 65 NVAL</CODE>.<DD>..........The.me
82440 6d 6f 72 79 20 72 61 6e 67 65 20 67 69 76 65 6e 20 77 61 73 20 6f 75 74 73 69 64 65 20 74 68 65 mory.range.given.was.outside.the
82460 20 75 73 65 72 20 6d 6d 61 70 20 72 61 6e 67 65 20 6f 72 20 77 61 73 6e 27 74 20 70 61 67 65 0a .user.mmap.range.or.wasn't.page.
82480 20 20 20 20 20 20 20 20 20 61 6c 69 67 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .........aligned...........<br><
824a0 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 br>.</DL>..........<br><br>.....
824c0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 6d 6d 61 6e 2e ....sq.~......w.....t..sys/mman.
824e0 68 78 71 00 7e 13 c1 74 00 19 76 6f 69 64 20 2a 61 64 64 72 2c 20 73 69 7a 65 5f 74 20 6c 65 6e hxq.~..t..void.*addr,.size_t.len
82500 67 74 68 74 00 03 69 6e 74 74 00 08 6d 75 6e 74 72 61 63 65 73 71 00 7e 00 0a 70 74 02 9e 0a 20 gtht..intt..muntracesq.~..pt....
82520 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6d 75 6e 74 72 61 63 65 3c 2f 43 4f 44 45 3e .......The.<CODE>muntrace</CODE>
82540 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 61 66 74 65 72 20 3c 43 .function.can.be.called.after.<C
82560 4f 44 45 3e 6d 74 72 61 63 65 3c 2f 43 4f 44 45 3e 20 77 61 73 20 75 73 65 64 0a 20 20 20 20 20 ODE>mtrace</CODE>.was.used......
82580 20 20 20 20 74 6f 20 65 6e 61 62 6c 65 20 74 72 61 63 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e ....to.enable.tracing.the.<CODE>
825a0 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 73 2e 20 20 49 66 20 6e 6f 20 28 73 75 63 malloc</CODE>.calls...If.no.(suc
825c0 63 65 73 73 66 75 6c 29 20 63 61 6c 6c 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e cessful).call.of..........<CODE>
825e0 6d 74 72 61 63 65 3c 2f 43 4f 44 45 3e 20 77 61 73 20 6d 61 64 65 20 3c 43 4f 44 45 3e 6d 75 6e mtrace</CODE>.was.made.<CODE>mun
82600 74 72 61 63 65 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 2e 0a 20 20 20 20 20 trace</CODE>.does.nothing.......
82620 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 64 65 69 6e 73 74 ....<br><br>.Otherwise.it.deinst
82640 61 6c 6c 73 20 74 68 65 20 68 61 6e 64 6c 65 72 73 20 66 6f 72 20 3c 43 4f 44 45 3e 6d 61 6c 6c alls.the.handlers.for.<CODE>mall
82660 6f 63 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2c oc</CODE>,.<CODE>realloc</CODE>,
82680 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 66 72 65 65 3c 2f 43 4f 44 45 3e 20 ..........and.<CODE>free</CODE>.
826a0 61 6e 64 20 74 68 65 6e 20 63 6c 6f 73 65 73 20 74 68 65 20 70 72 6f 74 6f 63 6f 6c 20 66 69 6c and.then.closes.the.protocol.fil
826c0 65 2e 20 20 4e 6f 20 63 61 6c 6c 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 74 6f 63 e...No.calls.are..........protoc
826e0 6f 6c 6c 65 64 20 61 6e 79 6d 6f 72 65 20 61 6e 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 72 75 olled.anymore.and.the.program.ru
82700 6e 73 20 61 67 61 69 6e 20 61 74 20 66 75 6c 6c 20 73 70 65 65 64 2e 0a 20 20 20 20 20 20 20 20 ns.again.at.full.speed..........
82720 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 .<br><br>.This.function.is.a.GNU
82740 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 67 65 6e 65 72 61 6c 6c 79 20 6e 6f 74 20 61 76 61 .extension.and.generally.not.ava
82760 69 6c 61 62 6c 65 20 6f 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 73 ilable.on.other..........systems
82780 2e 20 20 54 68 65 20 70 72 6f 74 6f 74 79 70 65 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e ...The.prototype.can.be.found.in
827a0 20 3c 54 54 3e 6d 63 68 65 63 6b 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e .<TT>mcheck.h</TT>..........sq.~
827c0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 6d 63 68 65 63 6b 2e 68 78 71 00 7e 13 c8 74 00 04 ......w.....t..mcheck.hxq.~..t..
827e0 76 6f 69 64 74 00 04 76 6f 69 64 74 00 03 6e 61 6e 73 71 00 7e 00 0a 70 74 02 02 0a 20 20 20 20 voidt..voidt..nansq.~..pt.......
82800 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6e 61 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f ....The.<CODE>nan</CODE>.functio
82820 6e 20 72 65 74 75 72 6e 73 20 61 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 4e 61 n.returns.a.representation.of.Na
82840 4e 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 4e 61 4e 20 69 73 N,.provided.that..........NaN.is
82860 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 .supported.by.the.target.platfor
82880 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6e 61 6e 20 28 22 3c 56 41 52 3e 6e 2d 63 m...........<CODE>nan.("<VAR>n-c
828a0 68 61 72 2d 73 65 71 75 65 6e 63 65 3c 2f 56 41 52 3e 22 29 3c 2f 43 4f 44 45 3e 20 69 73 20 65 har-sequence</VAR>")</CODE>.is.e
828c0 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 74 quivalent.to..........<CODE>strt
828e0 6f 64 20 28 22 4e 41 4e 28 3c 56 41 52 3e 6e 2d 63 68 61 72 2d 73 65 71 75 65 6e 63 65 3c 2f 56 od.("NAN(<VAR>n-char-sequence</V
82900 41 52 3e 29 22 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e AR>)")</CODE>...........<br><br>
82920 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 74 61 67 70 3c 2f 56 41 52 3e 20 69 73 .The.argument.<VAR>tagp</VAR>.is
82940 20 75 73 65 64 20 69 6e 20 61 6e 20 75 6e 73 70 65 63 69 66 69 65 64 20 6d 61 6e 6e 65 72 2e 20 .used.in.an.unspecified.manner..
82960 20 4f 6e 20 49 45 45 45 0a 20 20 20 20 20 20 20 20 20 37 35 34 20 73 79 73 74 65 6d 73 2c 20 74 .On.IEEE..........754.systems,.t
82980 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 20 6f 66 here.are.many.representations.of
829a0 20 4e 61 4e 2c 20 61 6e 64 20 3c 56 41 52 3e 74 61 67 70 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 .NaN,.and.<VAR>tagp</VAR>.......
829c0 20 20 20 73 65 6c 65 63 74 73 20 6f 6e 65 2e 20 20 4f 6e 20 6f 74 68 65 72 20 73 79 73 74 65 6d ...selects.one...On.other.system
829e0 73 20 69 74 20 6d 61 79 20 64 6f 20 6e 6f 74 68 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 73 71 00 s.it.may.do.nothing..........sq.
82a00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 13 cf 74 00 10 63 ~......w.....t..math.hxq.~..t..c
82a20 6f 6e 73 74 20 63 68 61 72 20 2a 74 61 67 70 74 00 06 64 6f 75 62 6c 65 74 00 04 6e 61 6e 66 73 onst.char.*tagpt..doublet..nanfs
82a40 71 00 7e 00 0a 70 74 02 02 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6e 61 6e 3c q.~..pt...........The.<CODE>nan<
82a60 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 72 65 70 72 65 73 /CODE>.function.returns.a.repres
82a80 65 6e 74 61 74 69 6f 6e 20 6f 66 20 4e 61 4e 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 0a 20 entation.of.NaN,.provided.that..
82aa0 20 20 20 20 20 20 20 20 4e 61 4e 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 ........NaN.is.supported.by.the.
82ac0 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e target.platform...........<CODE>
82ae0 6e 61 6e 20 28 22 3c 56 41 52 3e 6e 2d 63 68 61 72 2d 73 65 71 75 65 6e 63 65 3c 2f 56 41 52 3e nan.("<VAR>n-char-sequence</VAR>
82b00 22 29 3c 2f 43 4f 44 45 3e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 ")</CODE>.is.equivalent.to......
82b20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 20 28 22 4e 41 4e 28 3c 56 41 52 3e 6e 2d 63 68 ....<CODE>strtod.("NAN(<VAR>n-ch
82b40 61 72 2d 73 65 71 75 65 6e 63 65 3c 2f 56 41 52 3e 29 22 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 ar-sequence</VAR>)")</CODE>.....
82b60 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 ......<br><br>.The.argument.<VAR
82b80 3e 74 61 67 70 3c 2f 56 41 52 3e 20 69 73 20 75 73 65 64 20 69 6e 20 61 6e 20 75 6e 73 70 65 63 >tagp</VAR>.is.used.in.an.unspec
82ba0 69 66 69 65 64 20 6d 61 6e 6e 65 72 2e 20 20 4f 6e 20 49 45 45 45 0a 20 20 20 20 20 20 20 20 20 ified.manner...On.IEEE..........
82bc0 37 35 34 20 73 79 73 74 65 6d 73 2c 20 74 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 72 65 70 72 754.systems,.there.are.many.repr
82be0 65 73 65 6e 74 61 74 69 6f 6e 73 20 6f 66 20 4e 61 4e 2c 20 61 6e 64 20 3c 56 41 52 3e 74 61 67 esentations.of.NaN,.and.<VAR>tag
82c00 70 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 73 20 6f 6e 65 2e 20 20 4f p</VAR>..........selects.one...O
82c20 6e 20 6f 74 68 65 72 20 73 79 73 74 65 6d 73 20 69 74 20 6d 61 79 20 64 6f 20 6e 6f 74 68 69 6e n.other.systems.it.may.do.nothin
82c40 67 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 g..........sq.~......w.....t..ma
82c60 74 68 2e 68 78 71 00 7e 13 d6 74 00 10 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 61 67 70 74 00 05 th.hxq.~..t..const.char.*tagpt..
82c80 66 6c 6f 61 74 74 00 04 6e 61 6e 6c 73 71 00 7e 00 0a 70 74 02 02 0a 20 20 20 20 20 20 20 20 54 floatt..nanlsq.~..pt...........T
82ca0 68 65 20 3c 43 4f 44 45 3e 6e 61 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 he.<CODE>nan</CODE>.function.ret
82cc0 75 72 6e 73 20 61 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 4e 61 4e 2c 20 70 72 urns.a.representation.of.NaN,.pr
82ce0 6f 76 69 64 65 64 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 4e 61 4e 20 69 73 20 73 75 70 70 ovided.that..........NaN.is.supp
82d00 6f 72 74 65 64 20 62 79 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 0a 20 20 orted.by.the.target.platform....
82d20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6e 61 6e 20 28 22 3c 56 41 52 3e 6e 2d 63 68 61 72 2d 73 .......<CODE>nan.("<VAR>n-char-s
82d40 65 71 75 65 6e 63 65 3c 2f 56 41 52 3e 22 29 3c 2f 43 4f 44 45 3e 20 69 73 20 65 71 75 69 76 61 equence</VAR>")</CODE>.is.equiva
82d60 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 20 28 22 lent.to..........<CODE>strtod.("
82d80 4e 41 4e 28 3c 56 41 52 3e 6e 2d 63 68 61 72 2d 73 65 71 75 65 6e 63 65 3c 2f 56 41 52 3e 29 22 NAN(<VAR>n-char-sequence</VAR>)"
82da0 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 )</CODE>...........<br><br>.The.
82dc0 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 74 61 67 70 3c 2f 56 41 52 3e 20 69 73 20 75 73 65 64 argument.<VAR>tagp</VAR>.is.used
82de0 20 69 6e 20 61 6e 20 75 6e 73 70 65 63 69 66 69 65 64 20 6d 61 6e 6e 65 72 2e 20 20 4f 6e 20 49 .in.an.unspecified.manner...On.I
82e00 45 45 45 0a 20 20 20 20 20 20 20 20 20 37 35 34 20 73 79 73 74 65 6d 73 2c 20 74 68 65 72 65 20 EEE..........754.systems,.there.
82e20 61 72 65 20 6d 61 6e 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 20 6f 66 20 4e 61 4e 2c are.many.representations.of.NaN,
82e40 20 61 6e 64 20 3c 56 41 52 3e 74 61 67 70 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 73 65 .and.<VAR>tagp</VAR>..........se
82e60 6c 65 63 74 73 20 6f 6e 65 2e 20 20 4f 6e 20 6f 74 68 65 72 20 73 79 73 74 65 6d 73 20 69 74 20 lects.one...On.other.systems.it.
82e80 6d 61 79 20 64 6f 20 6e 6f 74 68 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 may.do.nothing..........sq.~....
82ea0 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 13 dd 74 00 10 63 6f 6e 73 74 20 ..w.....t..math.hxq.~..t..const.
82ec0 63 68 61 72 20 2a 74 61 67 70 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 09 6e 61 6e 6f 73 char.*tagpt..long.doublet..nanos
82ee0 6c 65 65 70 73 71 00 7e 00 0a 70 74 08 7e 0a 20 20 20 20 20 20 20 20 49 66 20 72 65 73 6f 6c 75 leepsq.~..pt.~.........If.resolu
82f00 74 69 6f 6e 20 74 6f 20 73 65 63 6f 6e 64 73 20 69 73 20 6e 6f 74 20 65 6e 6f 75 67 68 20 74 68 tion.to.seconds.is.not.enough.th
82f20 65 20 3c 43 4f 44 45 3e 6e 61 6e 6f 73 6c 65 65 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f e.<CODE>nanosleep</CODE>.functio
82f40 6e 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 62 65 20 75 73 65 64 2e 20 20 41 73 20 74 68 65 20 n.can..........be.used...As.the.
82f60 6e 61 6d 65 20 73 75 67 67 65 73 74 73 20 74 68 65 20 73 6c 65 65 70 20 69 6e 74 65 72 76 61 6c name.suggests.the.sleep.interval
82f80 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 6e 61 .can.be.specified.in..........na
82fa0 6e 6f 73 65 63 6f 6e 64 73 2e 20 20 54 68 65 20 61 63 74 75 61 6c 20 65 6c 61 70 73 65 64 20 74 noseconds...The.actual.elapsed.t
82fc0 69 6d 65 20 6f 66 20 74 68 65 20 73 6c 65 65 70 20 69 6e 74 65 72 76 61 6c 20 6d 69 67 68 74 20 ime.of.the.sleep.interval.might.
82fe0 62 65 0a 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 65 72 20 73 69 6e 63 65 20 74 68 65 20 73 79 73 be..........longer.since.the.sys
83000 74 65 6d 20 72 6f 75 6e 64 73 20 74 68 65 20 65 6c 61 70 73 65 64 20 74 69 6d 65 20 79 6f 75 20 tem.rounds.the.elapsed.time.you.
83020 72 65 71 75 65 73 74 20 75 70 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 65 78 74 20 request.up.to.the..........next.
83040 69 6e 74 65 67 65 72 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 74 68 65 20 61 63 74 75 61 6c 20 72 integer.multiple.of.the.actual.r
83060 65 73 6f 6c 75 74 69 6f 6e 20 74 68 65 20 73 79 73 74 65 6d 20 63 61 6e 20 64 65 6c 69 76 65 72 esolution.the.system.can.deliver
83080 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 2a 3c 43 4f 44 45 3e 72 65 71 75 65 ...........<br><br>.*<CODE>reque
830a0 73 74 65 64 5f 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 65 6c 61 70 73 65 64 20 sted_time</CODE>.is.the.elapsed.
830c0 74 69 6d 65 20 6f 66 20 74 68 65 20 69 6e 74 65 72 76 61 6c 20 79 6f 75 20 77 61 6e 74 20 74 6f time.of.the.interval.you.want.to
830e0 0a 20 20 20 20 20 20 20 20 20 73 6c 65 65 70 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ..........sleep...........<br><b
83100 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 73 20 2a 3c 43 4f 44 r>.The.function.returns.as.*<COD
83120 45 3e 72 65 6d 61 69 6e 69 6e 67 3c 2f 43 4f 44 45 3e 20 74 68 65 20 65 6c 61 70 73 65 64 20 74 E>remaining</CODE>.the.elapsed.t
83140 69 6d 65 20 6c 65 66 74 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 76 61 ime.left.in.the..........interva
83160 6c 20 66 6f 72 20 77 68 69 63 68 20 79 6f 75 20 72 65 71 75 65 73 74 65 64 20 74 6f 20 73 6c 65 l.for.which.you.requested.to.sle
83180 65 70 2e 20 20 49 66 20 74 68 65 20 69 6e 74 65 72 76 61 6c 20 63 6f 6d 70 6c 65 74 65 64 0a 20 ep...If.the.interval.completed..
831a0 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 67 65 74 74 69 6e 67 20 69 6e 74 65 72 72 75 70 ........without.getting.interrup
831c0 74 65 64 20 62 79 20 61 20 73 69 67 6e 61 6c 2c 20 74 68 69 73 20 69 73 20 7a 65 72 6f 2e 0a 20 ted.by.a.signal,.this.is.zero...
831e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 74 69 ........<br><br>.<CODE>struct.ti
83200 6d 65 73 70 65 63 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 2e 0a mespec</CODE>.is.described.in...
83220 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f .........<br><br>.If.the.functio
83240 6e 20 72 65 74 75 72 6e 73 20 62 65 63 61 75 73 65 20 74 68 65 20 69 6e 74 65 72 76 61 6c 20 69 n.returns.because.the.interval.i
83260 73 20 6f 76 65 72 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 s.over.the.return.value.is......
83280 20 20 20 20 7a 65 72 6f 2e 20 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 ....zero...If.the.function.retur
832a0 6e 73 20 2d 31 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 56 41 52 3e 65 ns.-1.the.global.variable.<VAR>e
832c0 72 72 6e 6f 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 73 65 74 20 74 6f 20 74 68 rrno</VAR>..........is.set.to.th
832e0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 e.following.values:..........<br
83300 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 ><br>.<DL>...........<DT><CODE>E
83320 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 61 INTR</CODE>.<DD>..........The.ca
83340 6c 6c 20 77 61 73 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 65 63 61 75 73 65 20 61 20 73 69 67 ll.was.interrupted.because.a.sig
83360 6e 61 6c 20 77 61 73 20 64 65 6c 69 76 65 72 65 64 20 74 6f 20 74 68 65 20 74 68 72 65 61 64 2e nal.was.delivered.to.the.thread.
83380 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 72 65 6d 61 69 6e 69 6e 67 3c ..........If.the.<VAR>remaining<
833a0 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 6e 6f 74 20 74 68 65 20 6e 75 6c 6c 20 /VAR>.parameter.is.not.the.null.
833c0 70 6f 69 6e 74 65 72 20 74 68 65 20 73 74 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 70 pointer.the.structure..........p
833e0 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 72 65 6d 61 69 6e 69 6e 67 3c 2f 56 41 52 ointed.to.by.<VAR>remaining</VAR
83400 3e 20 69 73 20 75 70 64 61 74 65 64 20 74 6f 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 72 65 6d 61 >.is.updated.to.contain.the.rema
83420 69 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 65 6c 61 70 73 65 64 20 74 69 6d 65 2e 0a 20 20 20 ining..........elapsed.time.....
83440 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 0a ......<br><br>.<DT><CODE>EINVAL.
83460 20 20 20 20 20 20 20 20 20 54 68 65 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 76 61 6c 75 65 20 69 6e .........The.nanosecond.value.in
83480 20 74 68 65 20 3c 56 41 52 3e 72 65 71 75 65 73 74 65 64 5f 74 69 6d 65 3c 2f 56 41 52 3e 20 70 .the.<VAR>requested_time</VAR>.p
834a0 61 72 61 6d 65 74 65 72 20 63 6f 6e 74 61 69 6e 73 20 61 6e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e arameter.contains.an</CODE>.<DD>
834c0 0a 20 20 20 20 20 20 20 20 20 69 6c 6c 65 67 61 6c 20 76 61 6c 75 65 2e 20 20 45 69 74 68 65 72 ..........illegal.value...Either
834e0 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 65 67 61 74 69 76 65 20 6f 72 20 67 72 65 61 74 65 .the.value.is.negative.or.greate
83500 72 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 31 30 30 30 r.than.or.equal.to..........1000
83520 20 6d 69 6c 6c 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 .million...........</DL>........
83540 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 63 61 ..<br><br>.This.function.is.a.ca
83560 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 ncellation.point.in.multi-thread
83580 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 69 73 20 61 ed.programs...This..........is.a
835a0 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 61 6c 6c 6f 63 61 74 65 73 .problem.if.the.thread.allocates
835c0 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 69 .some.resources.(like.memory,.fi
835e0 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f le..........descriptors,.semapho
83600 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 68 65 20 74 69 6d 65 20 3c 43 4f res.or.whatever).at.the.time.<CO
83620 44 45 3e 6e 61 6e 6f 73 6c 65 65 70 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 DE>nanosleep</CODE>.is..........
83640 63 61 6c 6c 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 74 73 20 63 61 6e 63 called...If.the.thread.gets.canc
83660 65 6c 65 64 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 20 61 6c 6c 6f 63 61 eled.these.resources.stay.alloca
83680 74 65 64 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 ted..........until.the.program.e
836a0 6e 64 73 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f nds...To.avoid.this.calls.to.<CO
836c0 44 45 3e 6e 61 6e 6f 73 6c 65 65 70 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 DE>nanosleep</CODE>.should......
836e0 20 20 20 20 62 65 20 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 74 ....be.protected.using.cancellat
83700 69 6f 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ion.handlers...........<br><br>.
83720 54 68 65 20 3c 43 4f 44 45 3e 6e 61 6e 6f 73 6c 65 65 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 The.<CODE>nanosleep</CODE>.funct
83740 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 74 69 6d 65 2e 68 3c 2f 54 ion.is.declared.in.<TT>time.h</T
83760 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 74 T>..........sq.~......w.....t..t
83780 69 6d 65 2e 68 78 71 00 7e 13 e4 74 00 41 63 6f 6e 73 74 20 73 74 72 75 63 74 20 74 69 6d 65 73 ime.hxq.~..t.Aconst.struct.times
837a0 70 65 63 20 2a 72 65 71 75 65 73 74 65 64 5f 74 69 6d 65 2c 20 73 74 72 75 63 74 20 74 69 6d 65 pec.*requested_time,.struct.time
837c0 73 70 65 63 20 2a 72 65 6d 61 69 6e 69 6e 67 74 00 03 69 6e 74 74 00 09 6e 65 61 72 62 79 69 6e spec.*remainingt..intt..nearbyin
837e0 74 73 71 00 7e 00 0a 70 74 00 ae 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 tsq.~..pt...........These.functi
83800 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 65 ons.return.the.same.value.as.the
83820 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 62 75 .<CODE>rint</CODE>.functions,.bu
83840 74 0a 20 20 20 20 20 20 20 20 20 64 6f 20 6e 6f 74 20 72 61 69 73 65 20 74 68 65 20 69 6e 65 78 t..........do.not.raise.the.inex
83860 61 63 74 20 65 78 63 65 70 74 69 6f 6e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 act.exception.if.<VAR>x</VAR>.is
83880 20 6e 6f 74 20 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 .not.an.integer..........sq.~...
838a0 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 13 eb 74 00 08 64 6f 75 62 6c ...w.....t..math.hxq.~..t..doubl
838c0 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 0a 6e 65 61 72 62 79 69 6e 74 66 73 71 00 7e 00 0a 70 e.xt..doublet..nearbyintfsq.~..p
838e0 74 00 ae 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 t...........These.functions.retu
83900 72 6e 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 74 68 65 20 3c 43 4f 44 45 3e 72 rn.the.same.value.as.the.<CODE>r
83920 69 6e 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 62 75 74 0a 20 20 20 20 20 20 int</CODE>.functions,.but.......
83940 20 20 20 64 6f 20 6e 6f 74 20 72 61 69 73 65 20 74 68 65 20 69 6e 65 78 61 63 74 20 65 78 63 65 ...do.not.raise.the.inexact.exce
83960 70 74 69 6f 6e 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 6e 20 ption.if.<VAR>x</VAR>.is.not.an.
83980 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 integer..........sq.~......w....
839a0 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 13 f2 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f .t..math.hxq.~..t..float.xt..flo
839c0 61 74 74 00 0a 6e 65 61 72 62 79 69 6e 74 6c 73 71 00 7e 00 0a 70 74 00 ae 0a 20 20 20 20 20 20 att..nearbyintlsq.~..pt.........
839e0 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 73 61 6d ..These.functions.return.the.sam
83a00 65 20 76 61 6c 75 65 20 61 73 20 74 68 65 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e e.value.as.the.<CODE>rint</CODE>
83a20 20 66 75 6e 63 74 69 6f 6e 73 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 64 6f 20 6e 6f 74 20 .functions,.but..........do.not.
83a40 72 61 69 73 65 20 74 68 65 20 69 6e 65 78 61 63 74 20 65 78 63 65 70 74 69 6f 6e 20 69 66 20 3c raise.the.inexact.exception.if.<
83a60 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 VAR>x</VAR>.is.not.an.integer...
83a80 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
83aa0 78 71 00 7e 13 f9 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f xq.~..t..long.double.xt..long.do
83ac0 75 62 6c 65 74 00 09 6e 65 78 74 61 66 74 65 72 73 71 00 7e 00 0a 70 74 03 51 0a 20 20 20 20 20 ublet..nextaftersq.~..pt.Q......
83ae0 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6e 65 78 74 61 66 74 65 72 3c 2f 43 4f 44 45 3e 20 66 75 ...The.<CODE>nextafter</CODE>.fu
83b00 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 72 65 70 72 65 73 65 6e nction.returns.the.next.represen
83b20 74 61 62 6c 65 20 6e 65 69 67 68 62 6f 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e table.neighbor.of..........<VAR>
83b40 78 3c 2f 56 41 52 3e 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 74 6f 77 61 72 64 73 x</VAR>.in.the.direction.towards
83b60 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 .<VAR>y</VAR>...The.size.of.the.
83b80 73 74 65 70 20 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 step.between..........<VAR>x</VA
83ba0 52 3e 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 R>.and.the.result.depends.on.the
83bc0 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 49 66 0a 20 20 20 20 20 20 20 .type.of.the.result...If........
83be0 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 3d 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 20 74 68 ..<VAR>x</VAR>.=.<VAR>y</VAR>.th
83c00 65 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 79 20 72 65 74 75 72 6e 73 20 3c 56 41 52 3e 79 e.function.simply.returns.<VAR>y
83c20 3c 2f 56 41 52 3e 2e 20 20 49 66 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 </VAR>...If.either..........valu
83c40 65 20 69 73 20 3c 43 4f 44 45 3e 4e 61 4e 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 4e 61 4e e.is.<CODE>NaN</CODE>,.<CODE>NaN
83c60 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 0a </CODE>.is.returned...Otherwise.
83c80 20 20 20 20 20 20 20 20 20 61 20 76 61 6c 75 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 .........a.value.corresponding.t
83ca0 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 o.the.value.of.the.least.signifi
83cc0 63 61 6e 74 20 62 69 74 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6d 61 6e 74 69 73 73 cant.bit.in.the..........mantiss
83ce0 61 20 69 73 20 61 64 64 65 64 20 6f 72 20 73 75 62 74 72 61 63 74 65 64 2c 20 64 65 70 65 6e 64 a.is.added.or.subtracted,.depend
83d00 69 6e 67 20 6f 6e 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c ing.on.the.direction...........<
83d20 43 4f 44 45 3e 6e 65 78 74 61 66 74 65 72 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 73 69 67 6e 61 CODE>nextafter</CODE>.will.signa
83d40 6c 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 74 68 65 20 72 l.overflow.or.underflow.if.the.r
83d60 65 73 75 6c 74 20 67 6f 65 73 0a 20 20 20 20 20 20 20 20 20 6f 75 74 73 69 64 65 20 6f 66 20 74 esult.goes..........outside.of.t
83d80 68 65 20 72 61 6e 67 65 20 6f 66 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 6e 75 6d 62 65 72 73 2e 0a he.range.of.normalized.numbers..
83da0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .........<br><br>.This.function.
83dc0 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 49 45 43 20 35 35 39 20 28 61 6e 64 20 74 68 65 20 61 is.defined.in.IEC.559.(and.the.a
83de0 70 70 65 6e 64 69 78 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 72 65 63 6f 6d 6d 65 6e 64 65 ppendix.with..........recommende
83e00 64 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 49 45 45 45 20 37 35 34 2f 49 45 45 45 20 38 35 34 d.functions.in.IEEE.754/IEEE.854
83e20 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 )..........sq.~......w.....t..ma
83e40 74 68 2e 68 78 71 00 7e 14 00 74 00 12 64 6f 75 62 6c 65 20 78 2c 20 64 6f 75 62 6c 65 20 79 74 th.hxq.~..t..double.x,.double.yt
83e60 00 06 64 6f 75 62 6c 65 74 00 0a 6e 65 78 74 61 66 74 65 72 66 73 71 00 7e 00 0a 70 74 03 51 0a ..doublet..nextafterfsq.~..pt.Q.
83e80 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6e 65 78 74 61 66 74 65 72 3c 2f 43 4f 44 ........The.<CODE>nextafter</COD
83ea0 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 72 65 70 E>.function.returns.the.next.rep
83ec0 72 65 73 65 6e 74 61 62 6c 65 20 6e 65 69 67 68 62 6f 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 resentable.neighbor.of..........
83ee0 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 74 6f <VAR>x</VAR>.in.the.direction.to
83f00 77 61 72 64 73 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 73 69 7a 65 20 6f 66 wards.<VAR>y</VAR>...The.size.of
83f20 20 74 68 65 20 73 74 65 70 20 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e .the.step.between..........<VAR>
83f40 78 3c 2f 56 41 52 3e 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 20 64 65 70 65 6e 64 73 20 6f x</VAR>.and.the.result.depends.o
83f60 6e 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 49 66 0a 20 20 n.the.type.of.the.result...If...
83f80 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 3d 20 3c 56 41 52 3e 79 3c 2f 56 41 .......<VAR>x</VAR>.=.<VAR>y</VA
83fa0 52 3e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 79 20 72 65 74 75 72 6e 73 20 3c R>.the.function.simply.returns.<
83fc0 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 49 66 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 VAR>y</VAR>...If.either.........
83fe0 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 4e 61 4e 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 .value.is.<CODE>NaN</CODE>,.<COD
84000 45 3e 4e 61 4e 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 4f 74 68 65 72 E>NaN</CODE>.is.returned...Other
84020 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 61 20 76 61 6c 75 65 20 63 6f 72 72 65 73 70 6f 6e 64 wise..........a.value.correspond
84040 69 6e 67 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 65 61 73 74 20 73 69 ing.to.the.value.of.the.least.si
84060 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6d 61 gnificant.bit.in.the..........ma
84080 6e 74 69 73 73 61 20 69 73 20 61 64 64 65 64 20 6f 72 20 73 75 62 74 72 61 63 74 65 64 2c 20 64 ntissa.is.added.or.subtracted,.d
840a0 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 epending.on.the.direction.......
840c0 20 20 20 20 3c 43 4f 44 45 3e 6e 65 78 74 61 66 74 65 72 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 ....<CODE>nextafter</CODE>.will.
840e0 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 signal.overflow.or.underflow.if.
84100 74 68 65 20 72 65 73 75 6c 74 20 67 6f 65 73 0a 20 20 20 20 20 20 20 20 20 6f 75 74 73 69 64 65 the.result.goes..........outside
84120 20 6f 66 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 6e 75 6d 62 .of.the.range.of.normalized.numb
84140 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 ers...........<br><br>.This.func
84160 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 49 45 43 20 35 35 39 20 28 61 6e 64 20 tion.is.defined.in.IEC.559.(and.
84180 74 68 65 20 61 70 70 65 6e 64 69 78 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 72 65 63 6f 6d the.appendix.with..........recom
841a0 6d 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 49 45 45 45 20 37 35 34 2f 49 45 45 mended.functions.in.IEEE.754/IEE
841c0 45 20 38 35 34 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a E.854)..........sq.~......w.....
841e0 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 14 07 74 00 10 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 t..math.hxq.~..t..float.x,.float
84200 20 79 74 00 05 66 6c 6f 61 74 74 00 0a 6e 65 78 74 61 66 74 65 72 6c 73 71 00 7e 00 0a 70 74 03 .yt..floatt..nextafterlsq.~..pt.
84220 51 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6e 65 78 74 61 66 74 65 72 3c 2f 43 Q.........The.<CODE>nextafter</C
84240 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 72 ODE>.function.returns.the.next.r
84260 65 70 72 65 73 65 6e 74 61 62 6c 65 20 6e 65 69 67 68 62 6f 72 20 6f 66 0a 20 20 20 20 20 20 20 epresentable.neighbor.of........
84280 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 ..<VAR>x</VAR>.in.the.direction.
842a0 74 6f 77 61 72 64 73 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 73 69 7a 65 20 towards.<VAR>y</VAR>...The.size.
842c0 6f 66 20 74 68 65 20 73 74 65 70 20 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 of.the.step.between..........<VA
842e0 52 3e 78 3c 2f 56 41 52 3e 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 20 64 65 70 65 6e 64 73 R>x</VAR>.and.the.result.depends
84300 20 6f 6e 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 49 66 0a .on.the.type.of.the.result...If.
84320 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 3d 20 3c 56 41 52 3e 79 3c 2f .........<VAR>x</VAR>.=.<VAR>y</
84340 56 41 52 3e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 70 6c 79 20 72 65 74 75 72 6e 73 VAR>.the.function.simply.returns
84360 20 3c 56 41 52 3e 79 3c 2f 56 41 52 3e 2e 20 20 49 66 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 .<VAR>y</VAR>...If.either.......
84380 20 20 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 4e 61 4e 3c 2f 43 4f 44 45 3e 2c 20 3c 43 ...value.is.<CODE>NaN</CODE>,.<C
843a0 4f 44 45 3e 4e 61 4e 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 4f 74 68 ODE>NaN</CODE>.is.returned...Oth
843c0 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 61 20 76 61 6c 75 65 20 63 6f 72 72 65 73 70 6f erwise..........a.value.correspo
843e0 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 65 61 73 74 20 nding.to.the.value.of.the.least.
84400 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 significant.bit.in.the..........
84420 6d 61 6e 74 69 73 73 61 20 69 73 20 61 64 64 65 64 20 6f 72 20 73 75 62 74 72 61 63 74 65 64 2c mantissa.is.added.or.subtracted,
84440 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 2e 0a 20 20 20 .depending.on.the.direction.....
84460 20 20 20 20 20 20 3c 43 4f 44 45 3e 6e 65 78 74 61 66 74 65 72 3c 2f 43 4f 44 45 3e 20 77 69 6c ......<CODE>nextafter</CODE>.wil
84480 6c 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 69 l.signal.overflow.or.underflow.i
844a0 66 20 74 68 65 20 72 65 73 75 6c 74 20 67 6f 65 73 0a 20 20 20 20 20 20 20 20 20 6f 75 74 73 69 f.the.result.goes..........outsi
844c0 64 65 20 6f 66 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 6e 75 de.of.the.range.of.normalized.nu
844e0 6d 62 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 mbers...........<br><br>.This.fu
84500 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 49 45 43 20 35 35 39 20 28 61 6e nction.is.defined.in.IEC.559.(an
84520 64 20 74 68 65 20 61 70 70 65 6e 64 69 78 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 72 65 63 d.the.appendix.with..........rec
84540 6f 6d 6d 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 49 45 45 45 20 37 35 34 2f 49 ommended.functions.in.IEEE.754/I
84560 45 45 45 20 38 35 34 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 EEE.854)..........sq.~......w...
84580 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 14 0e 74 00 1c 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 ..t..math.hxq.~..t..long.double.
845a0 78 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 79 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 x,.long.double.yt..long.doublet.
845c0 0a 6e 65 78 74 74 6f 77 61 72 64 73 71 00 7e 00 0a 70 74 00 ba 0a 20 20 20 20 20 20 20 20 54 68 .nexttowardsq.~..pt...........Th
845e0 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 ese.functions.are.identical.to.t
84600 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 he.corresponding.versions.of....
84620 20 20 20 20 20 20 3c 43 4f 44 45 3e 6e 65 78 74 61 66 74 65 72 3c 2f 43 4f 44 45 3e 20 65 78 63 ......<CODE>nextafter</CODE>.exc
84640 65 70 74 20 74 68 61 74 20 74 68 65 69 72 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 ept.that.their.second.argument.i
84660 73 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 0a 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 3c 2f s.a.<CODE>long..........double</
84680 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
846a0 00 06 6d 61 74 68 2e 68 78 71 00 7e 14 15 74 00 17 64 6f 75 62 6c 65 20 78 2c 20 6c 6f 6e 67 20 ..math.hxq.~..t..double.x,.long.
846c0 64 6f 75 62 6c 65 20 79 74 00 06 64 6f 75 62 6c 65 74 00 0b 6e 65 78 74 74 6f 77 61 72 64 66 73 double.yt..doublet..nexttowardfs
846e0 71 00 7e 00 0a 70 74 00 ba 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt...........These.function
84700 73 20 61 72 65 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e s.are.identical.to.the.correspon
84720 64 69 6e 67 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e ding.versions.of..........<CODE>
84740 6e 65 78 74 61 66 74 65 72 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 nextafter</CODE>.except.that.the
84760 69 72 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 3c 43 4f 44 45 3e 6c 6f ir.second.argument.is.a.<CODE>lo
84780 6e 67 0a 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 ng..........double</CODE>.......
847a0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
847c0 14 1c 74 00 16 66 6c 6f 61 74 20 78 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 79 74 00 05 66 6c ..t..float.x,.long.double.yt..fl
847e0 6f 61 74 74 00 0b 6e 65 78 74 74 6f 77 61 72 64 6c 73 71 00 7e 00 0a 70 74 00 ba 0a 20 20 20 20 oatt..nexttowardlsq.~..pt.......
84800 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 69 64 65 6e 74 69 63 61 ....These.functions.are.identica
84820 6c 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 76 65 72 73 69 6f 6e 73 20 l.to.the.corresponding.versions.
84840 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6e 65 78 74 61 66 74 65 72 3c 2f 43 4f 44 of..........<CODE>nextafter</COD
84860 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 69 72 20 73 65 63 6f 6e 64 20 61 72 67 75 E>.except.that.their.second.argu
84880 6d 65 6e 74 20 69 73 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 0a 20 20 20 20 20 20 20 20 20 64 6f ment.is.a.<CODE>long..........do
848a0 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 uble</CODE>..........sq.~......w
848c0 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 14 23 74 00 1c 6c 6f 6e 67 20 64 6f 75 62 .....t..math.hxq.~.#t..long.doub
848e0 6c 65 20 78 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 79 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c le.x,.long.double.yt..long.doubl
84900 65 74 00 04 6e 66 74 77 73 71 00 7e 00 0a 70 74 0d d2 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c et..nftwsq.~..pt...........The.<
84920 43 4f 44 45 3e 6e 66 74 77 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 CODE>nftw</CODE>.function.works.
84940 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 like.the.<CODE>ftw</CODE>.functi
84960 6f 6e 73 2e 20 20 54 68 65 79 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 61 6c ons...They.call..........the.cal
84980 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 3c 56 41 52 3e 66 75 6e 63 3c 2f 56 41 52 3e 20 66 lback.function.<VAR>func</VAR>.f
849a0 6f 72 20 61 6c 6c 20 69 74 65 6d 73 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 or.all.items.found.in.the.direct
849c0 6f 72 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e ory..........<VAR>filename</VAR>
849e0 20 61 6e 64 20 62 65 6c 6f 77 2e 20 20 41 74 20 6d 6f 73 74 20 3c 56 41 52 3e 64 65 73 63 72 69 .and.below...At.most.<VAR>descri
84a00 70 74 6f 72 73 3c 2f 56 41 52 3e 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 0a 20 20 20 ptors</VAR>.file.descriptors....
84a20 20 20 20 20 20 20 61 72 65 20 63 6f 6e 73 75 6d 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 3c 43 ......are.consumed.during.the.<C
84a40 4f 44 45 3e 6e 66 74 77 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c ODE>nftw</CODE>.call...........<
84a60 62 72 3e 3c 62 72 3e 20 4f 6e 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 74 br><br>.One.difference.is.that.t
84a80 68 65 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 66 20 61 20 64 69 66 he.callback.function.is.of.a.dif
84aa0 66 65 72 65 6e 74 20 74 79 70 65 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 6f 66 20 ferent.type...It..........is.of.
84ac0 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 46 54 57 20 2a 3c 2f 43 4f 44 45 3e 20 61 type.<CODE>struct.FTW.*</CODE>.a
84ae0 6e 64 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f nd.provides.the.callback.functio
84b00 6e 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 65 78 74 72 61 20 69 6e 66 6f 72 6d n..........with.the.extra.inform
84b20 61 74 69 6f 6e 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 20 20 20 ation.described.above...........
84b40 3c 62 72 3e 3c 62 72 3e 20 41 20 73 65 63 6f 6e 64 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 <br><br>.A.second.difference.is.
84b60 74 68 61 74 20 3c 43 4f 44 45 3e 6e 66 74 77 3c 2f 43 4f 44 45 3e 20 74 61 6b 65 73 20 61 20 66 that.<CODE>nftw</CODE>.takes.a.f
84b80 6f 75 72 74 68 20 61 72 67 75 6d 65 6e 74 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 69 ourth.argument,.which..........i
84ba0 73 20 30 20 6f 72 20 61 20 62 69 74 77 69 73 65 2d 4f 52 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 s.0.or.a.bitwise-OR.combination.
84bc0 6f 66 20 61 6e 79 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 2e 0a of.any.of.the.following.values..
84be0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 .........<br><br>.<DL>..........
84c00 20 3c 44 54 3e 3c 43 4f 44 45 3e 46 54 57 5f 50 48 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a .<DT><CODE>FTW_PHYS</CODE>.<DD>.
84c20 20 20 20 20 20 20 20 20 20 57 68 69 6c 65 20 74 72 61 76 65 72 73 69 6e 67 20 74 68 65 20 64 69 .........While.traversing.the.di
84c40 72 65 63 74 6f 72 79 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 73 20 61 72 65 20 6e 6f 74 20 66 rectory.symbolic.links.are.not.f
84c60 6f 6c 6c 6f 77 65 64 2e 20 20 49 6e 73 74 65 61 64 0a 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f ollowed...Instead..........symbo
84c80 6c 69 63 20 6c 69 6e 6b 73 20 61 72 65 20 72 65 70 6f 72 74 65 64 20 75 73 69 6e 67 20 74 68 65 lic.links.are.reported.using.the
84ca0 20 3c 43 4f 44 45 3e 46 54 57 5f 53 4c 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 20 66 6f 72 20 74 .<CODE>FTW_SL</CODE>.value.for.t
84cc0 68 65 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 74 68 he.type..........parameter.to.th
84ce0 65 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 66 69 6c e.callback.function...If.the.fil
84d00 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 61 0a 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f e.referenced.by.a..........symbo
84d20 6c 69 63 20 6c 69 6e 6b 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 3c 43 4f 44 45 3e 46 54 lic.link.does.not.exist.<CODE>FT
84d40 57 5f 53 4c 4e 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 73 74 65 61 64 W_SLN</CODE>.is.returned.instead
84d60 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 46 54 57 5f 4d 4f 55 4e 54 0a 20 ...........<DT><CODE>FTW_MOUNT..
84d80 20 20 20 20 20 20 20 20 54 68 65 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 69 73 ........The.callback.function.is
84da0 20 6f 6e 6c 79 20 63 61 6c 6c 65 64 20 66 6f 72 20 69 74 65 6d 73 20 77 68 69 63 68 20 61 72 65 .only.called.for.items.which.are
84dc0 20 6f 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 6d 6f 75 6e 74 65 64 20 66 69 .on.the.same..........mounted.fi
84de0 6c 65 73 79 73 74 65 6d 20 61 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 67 69 76 65 6e 20 lesystem.as.the.directory.given.
84e00 62 79 20 74 68 65 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 by.the.<VAR>filename</VAR></CODE
84e20 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 3c 43 4f >.<DD>..........parameter.to.<CO
84e40 44 45 3e 6e 66 74 77 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f DE>nftw</CODE>...........<DT><CO
84e60 44 45 3e 46 54 57 5f 43 48 44 49 52 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 69 73 20 66 6c DE>FTW_CHDIR..........If.this.fl
84e80 61 67 20 69 73 20 67 69 76 65 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 6f 72 6b 69 6e 67 20 ag.is.given.the.current.working.
84ea0 64 69 72 65 63 74 6f 72 79 20 69 73 20 63 68 61 6e 67 65 64 20 74 6f 20 74 68 65 3c 2f 43 4f 44 directory.is.changed.to.the</COD
84ec0 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 E>.<DD>..........directory.of.th
84ee0 65 20 72 65 70 6f 72 74 65 64 20 6f 62 6a 65 63 74 20 62 65 66 6f 72 65 20 74 68 65 20 63 61 6c e.reported.object.before.the.cal
84f00 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 lback.function.is.called........
84f20 20 20 20 57 68 65 6e 20 3c 43 4f 44 45 3e 6e 74 66 77 3c 2f 43 4f 44 45 3e 20 66 69 6e 61 6c 6c ...When.<CODE>ntfw</CODE>.finall
84f40 79 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 y.returns.the.current.directory.
84f60 69 73 20 72 65 73 74 6f 72 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 69 74 73 20 6f 72 69 67 is.restored.to..........its.orig
84f80 69 6e 61 6c 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 46 inal.value...........<DT><CODE>F
84fa0 54 57 5f 44 45 50 54 48 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 69 73 20 6f 70 74 69 6f 6e TW_DEPTH..........If.this.option
84fc0 20 69 73 20 73 70 65 63 69 66 69 65 64 20 74 68 65 6e 20 61 6c 6c 20 73 75 62 64 69 72 65 63 74 .is.specified.then.all.subdirect
84fe0 6f 72 69 65 73 20 61 6e 64 20 66 69 6c 65 73 20 77 69 74 68 69 6e 0a 20 20 20 20 20 20 20 20 20 ories.and.files.within..........
85000 74 68 65 6d 20 61 72 65 20 70 72 6f 63 65 73 73 65 64 20 62 65 66 6f 72 65 20 70 72 6f 63 65 73 them.are.processed.before.proces
85020 73 69 6e 67 20 74 68 65 20 74 6f 70 20 64 69 72 65 63 74 6f 72 79 20 69 74 73 65 6c 66 3c 2f 43 sing.the.top.directory.itself</C
85040 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 28 64 65 70 74 68 2d 66 69 72 73 74 20 ODE>.<DD>..........(depth-first.
85060 70 72 6f 63 65 73 73 69 6e 67 29 2e 20 20 54 68 69 73 20 61 6c 73 6f 20 6d 65 61 6e 73 20 74 68 processing)...This.also.means.th
85080 65 20 74 79 70 65 20 66 6c 61 67 20 67 69 76 65 6e 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 e.type.flag.given.to.the........
850a0 20 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 3c 43 4f 44 45 3e 46 54 57 ..callback.function.is.<CODE>FTW
850c0 5f 44 50 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 6e 6f 74 20 3c 43 4f 44 45 3e 46 54 57 5f 44 3c 2f _DP</CODE>.and.not.<CODE>FTW_D</
850e0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 46 54 57 5f 41 43 CODE>...........<DT><CODE>FTW_AC
85100 54 49 4f 4e 52 45 54 56 41 4c 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 69 73 20 6f 70 74 69 TIONRETVAL..........If.this.opti
85120 6f 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 20 74 68 65 6e 20 72 65 74 75 72 6e 20 76 61 6c 75 on.is.specified.then.return.valu
85140 65 73 20 66 72 6f 6d 20 63 61 6c 6c 62 61 63 6b 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 es.from.callbacks</CODE>.<DD>...
85160 20 20 20 20 20 20 20 61 72 65 20 68 61 6e 64 6c 65 64 20 64 69 66 66 65 72 65 6e 74 6c 79 2e 20 .......are.handled.differently..
85180 20 49 66 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 46 .If.the.callback.returns.<CODE>F
851a0 54 57 5f 43 4f 4e 54 49 4e 55 45 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 77 61 6c TW_CONTINUE</CODE>,..........wal
851c0 6b 69 6e 67 20 63 6f 6e 74 69 6e 75 65 73 20 6e 6f 72 6d 61 6c 6c 79 2e 20 20 3c 43 4f 44 45 3e king.continues.normally...<CODE>
851e0 46 54 57 5f 53 54 4f 50 3c 2f 43 4f 44 45 3e 20 6d 65 61 6e 73 20 77 61 6c 6b 69 6e 67 20 73 74 FTW_STOP</CODE>.means.walking.st
85200 6f 70 73 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 46 54 57 5f 53 54 4f 50 3c ops..........and.<CODE>FTW_STOP<
85220 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 /CODE>.is.returned.to.the.caller
85240 2e 20 20 49 66 20 3c 43 4f 44 45 3e 46 54 57 5f 53 4b 49 50 5f 53 55 42 54 52 45 45 3c 2f 43 4f ...If.<CODE>FTW_SKIP_SUBTREE</CO
85260 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 DE>..........is.returned.by.the.
85280 63 61 6c 6c 62 61 63 6b 20 77 69 74 68 20 3c 43 4f 44 45 3e 46 54 57 5f 44 3c 2f 43 4f 44 45 3e callback.with.<CODE>FTW_D</CODE>
852a0 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 73 75 62 74 72 65 65 0a 20 20 20 20 20 20 20 20 20 .argument,.the.subtree..........
852c0 69 73 20 73 6b 69 70 70 65 64 20 61 6e 64 20 77 61 6c 6b 69 6e 67 20 63 6f 6e 74 69 6e 75 65 73 is.skipped.and.walking.continues
852e0 20 77 69 74 68 20 6e 65 78 74 20 73 69 62 6c 69 6e 67 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 .with.next.sibling.of.the.direct
85300 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 3c 43 4f 44 45 3e 46 54 57 5f 53 4b 49 50 5f ory...........If.<CODE>FTW_SKIP_
85320 53 49 42 4c 49 4e 47 53 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 SIBLINGS</CODE>.is.returned.by.t
85340 68 65 20 63 61 6c 6c 62 61 63 6b 2c 20 61 6c 6c 20 73 69 62 6c 69 6e 67 73 0a 20 20 20 20 20 20 he.callback,.all.siblings.......
85360 20 20 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 74 72 79 20 61 72 65 20 73 6b 69 70 ...of.the.current.entry.are.skip
85380 70 65 64 20 61 6e 64 20 77 61 6c 6b 69 6e 67 20 63 6f 6e 74 69 6e 75 65 73 20 69 6e 20 69 74 73 ped.and.walking.continues.in.its
853a0 20 70 61 72 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 4e 6f 20 6f 74 68 65 72 20 72 65 74 75 72 .parent...........No.other.retur
853c0 6e 20 76 61 6c 75 65 73 20 73 68 6f 75 6c 64 20 62 65 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d n.values.should.be.returned.from
853e0 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 73 20 69 66 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 .the.callbacks.if..........this.
85400 6f 70 74 69 6f 6e 20 69 73 20 73 65 74 2e 20 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 61 option.is.set...This.option.is.a
85420 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 .GNU.extension...........</DL>..
85440 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 ........<br><br>.The.return.valu
85460 65 20 69 73 20 63 6f 6d 70 75 74 65 64 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 61 73 e.is.computed.in.the.same.way.as
85480 20 66 6f 72 20 3c 43 4f 44 45 3e 66 74 77 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 .for.<CODE>ftw</CODE>...........
854a0 3c 43 4f 44 45 3e 6e 66 74 77 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 30 20 69 66 20 6e <CODE>nftw</CODE>.returns.0.if.n
854c0 6f 20 66 61 69 6c 75 72 65 73 20 6f 63 63 75 72 72 65 64 20 61 6e 64 20 61 6c 6c 20 63 61 6c 6c o.failures.occurred.and.all.call
854e0 62 61 63 6b 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 65 64 back..........functions.returned
85500 20 30 2e 20 20 49 6e 20 63 61 73 65 20 6f 66 20 69 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 73 2c .0...In.case.of.internal.errors,
85520 20 73 75 63 68 20 61 73 20 6d 65 6d 6f 72 79 0a 20 20 20 20 20 20 20 20 20 70 72 6f 62 6c 65 6d .such.as.memory..........problem
85540 73 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 2d 31 20 61 6e 64 20 3c 56 s,.the.return.value.is.-1.and.<V
85560 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 61 AR>errno</VAR>.is.set..........a
85580 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 ccordingly...If.the.return.value
855a0 20 6f 66 20 61 20 63 61 6c 6c 62 61 63 6b 20 69 6e 76 6f 63 61 74 69 6f 6e 20 77 61 73 20 6e 6f .of.a.callback.invocation.was.no
855c0 6e 2d 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 74 68 61 74 20 76 61 6c 75 65 20 n-zero..........then.that.value.
855e0 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 is.returned...........<br><br>.W
85600 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 hen.the.sources.are.compiled.wit
85620 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c h.<CODE>_FILE_OFFSET_BITS.==.64<
85640 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 2d 62 69 74 20 73 79 73 74 /CODE>.on.a..........32-bit.syst
85660 65 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 em.this.function.is.in.fact.<COD
85680 45 3e 6e 66 74 77 36 34 3c 2f 43 4f 44 45 3e 2c 20 69 2e 65 2e 2c 20 74 68 65 20 4c 46 53 0a 20 E>nftw64</CODE>,.i.e.,.the.LFS..
856a0 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 ........interface.transparently.
856c0 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 replaces.the.old.interface......
856e0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 66 74 77 2e 68 78 71 00 7e ....sq.~......w.....t..ftw.hxq.~
85700 14 2a 74 00 43 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 5f 5f 6e 66 74 .*t.Cconst.char.*filename,.__nft
85720 77 5f 66 75 6e 63 5f 74 20 66 75 6e 63 2c 20 69 6e 74 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 w_func_t.func,.int.descriptors,.
85740 69 6e 74 20 66 6c 61 67 74 00 03 69 6e 74 74 00 06 6e 66 74 77 36 34 73 71 00 7e 00 0a 70 74 02 int.flagt..intt..nftw64sq.~..pt.
85760 02 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c ..........This.function.is.simil
85780 61 72 20 74 6f 20 3c 43 4f 44 45 3e 6e 66 74 77 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 74 20 63 ar.to.<CODE>nftw</CODE>.but.it.c
857a0 61 6e 20 77 6f 72 6b 20 6f 6e 20 66 69 6c 65 73 79 73 74 65 6d 73 0a 20 20 20 20 20 20 20 20 20 an.work.on.filesystems..........
857c0 77 69 74 68 20 6c 61 72 67 65 20 66 69 6c 65 73 2e 20 20 46 69 6c 65 20 69 6e 66 6f 72 6d 61 74 with.large.files...File.informat
857e0 69 6f 6e 20 69 73 20 72 65 70 6f 72 74 65 64 20 75 73 69 6e 67 20 61 20 76 61 72 69 61 62 6c 65 ion.is.reported.using.a.variable
85800 20 6f 66 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 73 .of.type..........<CODE>struct.s
85820 74 61 74 36 34 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 69 73 20 70 61 73 73 65 64 20 62 79 20 tat64</CODE>.which.is.passed.by.
85840 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 20 reference.to.the.callback.......
85860 20 20 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 ...function...........<br><br>.W
85880 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 hen.the.sources.are.compiled.wit
858a0 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c h.<CODE>_FILE_OFFSET_BITS.==.64<
858c0 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 2d 62 69 74 20 73 79 73 74 /CODE>.on.a..........32-bit.syst
858e0 65 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e em.this.function.is.available.un
85900 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 6e 66 74 77 3c 2f 43 4f 44 45 3e 20 61 der.the.name.<CODE>nftw</CODE>.a
85920 6e 64 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 nd..........transparently.replac
85940 65 73 20 74 68 65 20 6f 6c 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 es.the.old.implementation.......
85960 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 66 74 77 2e 68 78 71 00 7e 14 ...sq.~......w.....t..ftw.hxq.~.
85980 31 74 00 45 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 5f 5f 6e 66 74 77 1t.Econst.char.*filename,.__nftw
859a0 36 34 5f 66 75 6e 63 5f 74 20 66 75 6e 63 2c 20 69 6e 74 20 64 65 73 63 72 69 70 74 6f 72 73 2c 64_func_t.func,.int.descriptors,
859c0 20 69 6e 74 20 66 6c 61 67 74 00 03 69 6e 74 74 00 08 6e 67 65 74 74 65 78 74 73 71 00 7e 00 0a .int.flagt..intt..ngettextsq.~..
859e0 70 74 04 08 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6e 67 65 74 74 65 78 74 3c pt...........The.<CODE>ngettext<
85a00 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 /CODE>.function.is.similar.to.th
85a20 65 20 3c 43 4f 44 45 3e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a e.<CODE>gettext</CODE>.function.
85a40 20 20 20 20 20 20 20 20 20 61 73 20 69 74 20 66 69 6e 64 73 20 74 68 65 20 6d 65 73 73 61 67 65 .........as.it.finds.the.message
85a60 20 63 61 74 61 6c 6f 67 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 2e 20 20 42 75 74 20 .catalogs.in.the.same.way...But.
85a80 69 74 20 74 61 6b 65 73 20 74 77 6f 0a 20 20 20 20 20 20 20 20 20 65 78 74 72 61 20 61 72 67 75 it.takes.two..........extra.argu
85aa0 6d 65 6e 74 73 2e 20 20 54 68 65 20 3c 56 41 52 3e 6d 73 67 69 64 31 3c 2f 56 41 52 3e 20 70 61 ments...The.<VAR>msgid1</VAR>.pa
85ac0 72 61 6d 65 74 65 72 20 6d 75 73 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 73 69 6e 67 75 6c 61 rameter.must.contain.the.singula
85ae0 72 0a 20 20 20 20 20 20 20 20 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f r..........form.of.the.string.to
85b00 20 62 65 20 63 6f 6e 76 65 72 74 65 64 2e 20 20 49 74 20 69 73 20 61 6c 73 6f 20 75 73 65 64 20 .be.converted...It.is.also.used.
85b20 61 73 20 74 68 65 20 6b 65 79 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 65 61 72 as.the.key.for.the..........sear
85b40 63 68 20 69 6e 20 74 68 65 20 63 61 74 61 6c 6f 67 2e 20 20 54 68 65 20 3c 56 41 52 3e 6d 73 67 ch.in.the.catalog...The.<VAR>msg
85b60 69 64 32 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 74 68 65 20 70 6c 75 72 61 id2</VAR>.parameter.is.the.plura
85b80 6c 20 66 6f 72 6d 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c l.form...........The.parameter.<
85ba0 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 69 73 20 75 73 65 64 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 VAR>n</VAR>.is.used.to.determine
85bc0 20 74 68 65 20 70 6c 75 72 61 6c 20 66 6f 72 6d 2e 20 20 49 66 20 6e 6f 0a 20 20 20 20 20 20 20 .the.plural.form...If.no........
85be0 20 20 6d 65 73 73 61 67 65 20 63 61 74 61 6c 6f 67 20 69 73 20 66 6f 75 6e 64 20 3c 56 41 52 3e ..message.catalog.is.found.<VAR>
85c00 6d 73 67 69 64 31 3c 2f 56 41 52 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 66 20 3c 43 4f 44 msgid1</VAR>.is.returned.if.<COD
85c20 45 3e 6e 20 3d 3d 20 31 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 E>n.==.1</CODE>,..........otherw
85c40 69 73 65 20 3c 43 4f 44 45 3e 6d 73 67 69 64 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 ise.<CODE>msgid2</CODE>.........
85c60 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 20 65 78 61 6d 70 6c 65 20 66 6f 72 20 74 68 65 20 75 73 ..<br><br>.An.example.for.the.us
85c80 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c .of.this.function.is:..........<
85ca0 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 69 br><br>.<pre><br>............pri
85cc0 6e 74 66 20 28 6e 67 65 74 74 65 78 74 20 28 22 25 64 20 66 69 6c 65 20 72 65 6d 6f 76 65 64 22 ntf.(ngettext.("%d.file.removed"
85ce0 2c 20 22 25 64 20 66 69 6c 65 73 20 72 65 6d 6f 76 65 64 22 2c 20 6e 29 2c 20 6e 29 3b 3c 62 72 ,."%d.files.removed",.n),.n);<br
85d00 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c >..........</pre>..........<br><
85d20 62 72 3e 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 74 68 65 20 6e 75 6d 65 72 69 63 br>.Please.note.that.the.numeric
85d40 20 76 61 6c 75 65 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 68 61 73 20 74 6f 20 62 65 20 70 61 .value.<VAR>n</VAR>.has.to.be.pa
85d60 73 73 65 64 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 70 72 69 6e 74 ssed.to.the..........<CODE>print
85d80 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 73 20 77 65 6c 6c 2e 20 20 49 74 20 69 f</CODE>.function.as.well...It.i
85da0 73 20 6e 6f 74 20 73 75 66 66 69 63 69 65 6e 74 20 74 6f 20 70 61 73 73 20 69 74 20 6f 6e 6c 79 s.not.sufficient.to.pass.it.only
85dc0 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6e 67 65 74 74 65 78 74 3c 2f 43 4f 44 .to..........<CODE>ngettext</COD
85de0 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6c E>..........sq.~......w.....t..l
85e00 69 62 69 6e 74 6c 2e 68 78 71 00 7e 14 38 74 00 3b 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 73 67 ibintl.hxq.~.8t.;const.char.*msg
85e20 69 64 31 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 73 67 69 64 32 2c 20 75 6e 73 69 67 6e 65 id1,.const.char.*msgid2,.unsigne
85e40 64 20 6c 6f 6e 67 20 69 6e 74 20 6e 74 00 06 63 68 61 72 20 2a 74 00 04 6e 69 63 65 73 71 00 7e d.long.int.nt..char.*t..nicesq.~
85e60 00 0a 70 74 03 09 0a 20 20 20 20 20 20 20 20 49 6e 63 72 65 6d 65 6e 74 20 74 68 65 20 6e 69 63 ..pt...........Increment.the.nic
85e80 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 62 e.value.of.the.calling.process.b
85ea0 79 20 3c 56 41 52 3e 69 6e 63 72 65 6d 65 6e 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 y.<VAR>increment</VAR>..........
85ec0 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 6e 65 77 20 6e 69 63 .The.return.value.is.the.new.nic
85ee0 65 20 76 61 6c 75 65 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 e.value.on.success,.and.<CODE>-1
85f00 3c 2f 43 4f 44 45 3e 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 66 61 69 6c 75 72 65 2e 20 20 49 6e </CODE>.on..........failure...In
85f20 20 74 68 65 20 63 61 73 65 20 6f 66 20 66 61 69 6c 75 72 65 2c 20 3c 43 4f 44 45 3e 65 72 72 6e .the.case.of.failure,.<CODE>errn
85f40 6f 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 62 65 20 73 65 74 20 74 6f 20 74 68 65 0a 20 20 20 20 o</CODE>.will.be.set.to.the.....
85f60 20 20 20 20 20 73 61 6d 65 20 76 61 6c 75 65 73 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 .....same.values.as.for.<CODE>se
85f80 74 70 72 69 6f 72 69 74 79 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c tpriority</CODE>...........<br><
85fa0 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 20 48 65 72 65 20 69 73 20 61 6e 20 65 71 75 69 76 61 6c 65 br>.<br><br>.Here.is.an.equivale
85fc0 6e 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 6e 69 63 65 3c 2f 43 4f 44 nt.definition.of.<CODE>nice</COD
85fe0 45 3e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a E>:..........<br><br>.<pre><br>.
86000 20 20 20 20 20 20 20 20 20 69 6e 74 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6e 69 63 65 20 28 .........int<br>..........nice.(
86020 69 6e 74 20 69 6e 63 72 65 6d 65 6e 74 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 int.increment)<br>..........{<br
86040 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 72 65 73 75 6c 74 2c 20 6f 6c 64 20 3d 20 67 >............int.result,.old.=.g
86060 65 74 70 72 69 6f 72 69 74 79 20 28 50 52 49 4f 5f 50 52 4f 43 45 53 53 2c 20 30 29 3b 3c 62 72 etpriority.(PRIO_PROCESS,.0);<br
86080 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 73 65 74 70 72 69 6f 72 69 74 >............result.=.setpriorit
860a0 79 20 28 50 52 49 4f 5f 50 52 4f 43 45 53 53 2c 20 30 2c 20 6f 6c 64 20 2b 20 69 6e 63 72 65 6d y.(PRIO_PROCESS,.0,.old.+.increm
860c0 65 6e 74 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 65 73 75 6c 74 20 ent);<br>............if.(result.
860e0 21 3d 20 2d 31 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e !=.-1)<br>................return
86100 20 6f 6c 64 20 2b 20 69 6e 63 72 65 6d 65 6e 74 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 .old.+.increment;<br>...........
86120 20 65 6c 73 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 .else<br>................return.
86140 2d 31 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 -1;<br>..........}<br>..........
86160 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 </pre>.........sq.~......w.....t
86180 00 0e 73 79 73 2f 72 65 73 6f 75 72 63 65 2e 68 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 14 ..sys/resource.ht..unistd.hxq.~.
861a0 3f 74 00 0d 69 6e 74 20 69 6e 63 72 65 6d 65 6e 74 74 00 03 69 6e 74 74 00 0b 6e 6c 5f 6c 61 6e ?t..int.incrementt..intt..nl_lan
861c0 67 69 6e 66 6f 73 71 00 7e 00 0a 70 74 33 65 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 ginfosq.~..pt3e.........The.<COD
861e0 45 3e 6e 6c 5f 6c 61 6e 67 69 6e 66 6f 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 E>nl_langinfo</CODE>.function.ca
86200 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 73 20 69 6e 64 69 76 69 64 75 61 6c 0a 20 n.be.used.to.access.individual..
86220 20 20 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 6c 6f 63 61 6c 65 20 63 ........elements.of.the.locale.c
86240 61 74 65 67 6f 72 69 65 73 2e 20 20 55 6e 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 6c 6f 63 ategories...Unlike.the.<CODE>loc
86260 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e aleconv</CODE>..........function
86280 2c 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 6c 6c 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 ,.which.returns.all.the.informat
862a0 69 6f 6e 2c 20 3c 43 4f 44 45 3e 6e 6c 5f 6c 61 6e 67 69 6e 66 6f 3c 2f 43 4f 44 45 3e 0a 20 20 ion,.<CODE>nl_langinfo</CODE>...
862c0 20 20 20 20 20 20 20 6c 65 74 73 20 74 68 65 20 63 61 6c 6c 65 72 20 73 65 6c 65 63 74 20 77 68 .......lets.the.caller.select.wh
862e0 61 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 74 20 72 65 71 75 69 72 65 73 2e 20 20 54 68 69 at.information.it.requires...Thi
86300 73 20 69 73 20 76 65 72 79 0a 20 20 20 20 20 20 20 20 20 66 61 73 74 20 61 6e 64 20 69 74 20 69 s.is.very..........fast.and.it.i
86320 73 20 6e 6f 74 20 61 20 70 72 6f 62 6c 65 6d 20 74 6f 20 63 61 6c 6c 20 74 68 69 73 20 66 75 6e s.not.a.problem.to.call.this.fun
86340 63 74 69 6f 6e 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c ction.multiple.times...........<
86360 62 72 3e 3c 62 72 3e 20 41 20 73 65 63 6f 6e 64 20 61 64 76 61 6e 74 61 67 65 20 69 73 20 74 68 br><br>.A.second.advantage.is.th
86380 61 74 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 6e 75 6d 65 72 69 63 20 61 6e at.in.addition.to.the.numeric.an
863a0 64 20 6d 6f 6e 65 74 61 72 79 0a 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 74 69 6e 67 20 69 d.monetary..........formatting.i
863c0 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 nformation,.information.from.the
863e0 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 43 5f 54 49 4d 45 3c 2f 43 4f 44 45 3e 20 61 ..........<CODE>LC_TIME</CODE>.a
86400 6e 64 20 3c 43 4f 44 45 3e 4c 43 5f 4d 45 53 53 41 47 45 53 3c 2f 43 4f 44 45 3e 20 63 61 74 65 nd.<CODE>LC_MESSAGES</CODE>.cate
86420 67 6f 72 69 65 73 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 gories.is.available...........<b
86440 72 3e 3c 62 72 3e 20 54 68 65 20 74 79 70 65 20 3c 43 4f 44 45 3e 6e 6c 5f 74 79 70 65 3c 2f 43 r><br>.The.type.<CODE>nl_type</C
86460 4f 44 45 3e 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 3c 54 54 3e 6e 6c 5f 74 79 70 65 73 2e ODE>.is.defined.in.<TT>nl_types.
86480 68 3c 2f 54 54 3e 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 3c h</TT>...The.argument..........<
864a0 56 41 52 3e 69 74 65 6d 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 VAR>item</VAR>.is.a.numeric.valu
864c0 65 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 3c 54 54 3e 6c 61 6e 67 e.defined.in.the.header.<TT>lang
864e0 69 6e 66 6f 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 58 2f 4f 70 65 6e info.h</TT>...........The.X/Open
86500 20 73 74 61 6e 64 61 72 64 20 64 65 66 69 6e 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 .standard.defines.the.following.
86520 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a values:..........<br><br>.<DL>..
86540 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 43 4f 44 45 53 45 54 0a 20 20 20 20 20 .........<DT><CODE>CODESET......
86560 20 20 20 20 3c 43 4f 44 45 3e 6e 6c 5f 6c 61 6e 67 69 6e 66 6f 3c 2f 43 4f 44 45 3e 20 72 65 74 ....<CODE>nl_langinfo</CODE>.ret
86580 75 72 6e 73 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 urns.a.string.with.the.name.of.t
865a0 68 65 20 63 6f 64 65 64 20 63 68 61 72 61 63 74 65 72 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 he.coded.character</CODE>.<DD>..
865c0 20 20 20 20 20 20 20 20 73 65 74 20 75 73 65 64 20 69 6e 20 74 68 65 20 73 65 6c 65 63 74 65 64 ........set.used.in.the.selected
865e0 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c .locale...........<br><br>.<DT><
86600 43 4f 44 45 3e 41 42 44 41 59 5f 31 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 CODE>ABDAY_1</CODE>.<DD>........
86620 20 20 3c 4c 49 3e 78 20 41 42 44 41 59 5f 32 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 ..<LI>x.ABDAY_2..........<LI>x.A
86640 42 44 41 59 5f 33 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 44 41 59 5f 34 0a 20 20 BDAY_3..........<LI>x.ABDAY_4...
86660 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 44 41 59 5f 35 0a 20 20 20 20 20 20 20 20 20 3c 4c .......<LI>x.ABDAY_5..........<L
86680 49 3e 78 20 41 42 44 41 59 5f 36 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 44 41 59 I>x.ABDAY_6..........<LI>x.ABDAY
866a0 5f 37 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6e 6c 5f 6c 61 6e 67 69 6e 66 6f 3c 2f 43 _7..........<CODE>nl_langinfo</C
866c0 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 62 62 72 65 76 69 61 74 65 64 20 77 65 65 ODE>.returns.the.abbreviated.wee
866e0 6b 64 61 79 20 6e 61 6d 65 2e 20 20 3c 43 4f 44 45 3e 41 42 44 41 59 5f 31 3c 2f 43 4f 44 45 3e kday.name...<CODE>ABDAY_1</CODE>
86700 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 53 75 6e 64 61 79 2e ..........corresponds.to.Sunday.
86720 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 44 41 59 5f 31 3c 2f 43 4f 44 45 3e ..........<DT><CODE>DAY_1</CODE>
86740 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 44 41 59 5f 32 0a 20 20 20 20 20 .<DD>..........<LI>x.DAY_2......
86760 20 20 20 20 3c 4c 49 3e 78 20 44 41 59 5f 33 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 44 ....<LI>x.DAY_3..........<LI>x.D
86780 41 59 5f 34 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 44 41 59 5f 35 0a 20 20 20 20 20 20 AY_4..........<LI>x.DAY_5.......
867a0 20 20 20 3c 4c 49 3e 78 20 44 41 59 5f 36 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 44 41 ...<LI>x.DAY_6..........<LI>x.DA
867c0 59 5f 37 0a 20 20 20 20 20 20 20 20 20 53 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 41 42 Y_7..........Similar.to.<CODE>AB
867e0 44 41 59 5f 31 3c 2f 43 4f 44 45 3e 20 65 74 63 2e 2c 20 62 75 74 20 68 65 72 65 20 74 68 65 20 DAY_1</CODE>.etc.,.but.here.the.
86800 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 75 6e 61 return.value.is.the..........una
86820 62 62 72 65 76 69 61 74 65 64 20 77 65 65 6b 64 61 79 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 bbreviated.weekday.name.........
86840 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 41 42 4d 4f 4e 5f 31 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ..<DT><CODE>ABMON_1</CODE>.<DD>.
86860 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 4d 4f 4e 5f 32 0a 20 20 20 20 20 20 20 20 20 .........<LI>x.ABMON_2..........
86880 3c 4c 49 3e 78 20 41 42 4d 4f 4e 5f 33 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 4d <LI>x.ABMON_3..........<LI>x.ABM
868a0 4f 4e 5f 34 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 4d 4f 4e 5f 35 0a 20 20 20 20 ON_4..........<LI>x.ABMON_5.....
868c0 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 4d 4f 4e 5f 36 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e .....<LI>x.ABMON_6..........<LI>
868e0 78 20 41 42 4d 4f 4e 5f 37 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 4d 4f 4e 5f 38 x.ABMON_7..........<LI>x.ABMON_8
86900 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 4d 4f 4e 5f 39 0a 20 20 20 20 20 20 20 20 ..........<LI>x.ABMON_9.........
86920 20 3c 4c 49 3e 78 20 41 42 4d 4f 4e 5f 31 30 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 .<LI>x.ABMON_10..........<LI>x.A
86940 42 4d 4f 4e 5f 31 31 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 41 42 4d 4f 4e 5f 31 32 0a BMON_11..........<LI>x.ABMON_12.
86960 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 62 62 .........The.return.value.is.abb
86980 72 65 76 69 61 74 65 64 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 6f 6e 74 68 2e 20 20 3c 43 4f reviated.name.of.the.month...<CO
869a0 44 45 3e 41 42 4d 4f 4e 5f 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 DE>ABMON_1</CODE>..........corre
869c0 73 70 6f 6e 64 73 20 74 6f 20 4a 61 6e 75 61 72 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e sponds.to.January...........<DT>
869e0 3c 43 4f 44 45 3e 4d 4f 4e 5f 31 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 <CODE>MON_1</CODE>.<DD>.........
86a00 20 3c 4c 49 3e 78 20 4d 4f 4e 5f 32 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 4d 4f 4e 5f .<LI>x.MON_2..........<LI>x.MON_
86a20 33 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 4d 4f 4e 5f 34 0a 20 20 20 20 20 20 20 20 20 3..........<LI>x.MON_4..........
86a40 3c 4c 49 3e 78 20 4d 4f 4e 5f 35 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 4d 4f 4e 5f 36 <LI>x.MON_5..........<LI>x.MON_6
86a60 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 4d 4f 4e 5f 37 0a 20 20 20 20 20 20 20 20 20 3c ..........<LI>x.MON_7..........<
86a80 4c 49 3e 78 20 4d 4f 4e 5f 38 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 4d 4f 4e 5f 39 0a LI>x.MON_8..........<LI>x.MON_9.
86aa0 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 4d 4f 4e 5f 31 30 0a 20 20 20 20 20 20 20 20 20 3c .........<LI>x.MON_10..........<
86ac0 4c 49 3e 78 20 4d 4f 4e 5f 31 31 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 4d 4f 4e 5f 31 LI>x.MON_11..........<LI>x.MON_1
86ae0 32 0a 20 20 20 20 20 20 20 20 20 53 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 41 42 4d 4f 2..........Similar.to.<CODE>ABMO
86b00 4e 5f 31 3c 2f 43 4f 44 45 3e 20 65 74 63 2e 2c 20 62 75 74 20 68 65 72 65 20 74 68 65 20 6d 6f N_1</CODE>.etc.,.but.here.the.mo
86b20 6e 74 68 20 6e 61 6d 65 73 20 61 72 65 20 6e 6f 74 20 61 62 62 72 65 76 69 61 74 65 64 2e 0a 20 nth.names.are.not.abbreviated...
86b40 20 20 20 20 20 20 20 20 48 65 72 65 20 74 68 65 20 66 69 72 73 74 20 76 61 6c 75 65 20 3c 43 4f ........Here.the.first.value.<CO
86b60 44 45 3e 4d 4f 4e 5f 31 3c 2f 43 4f 44 45 3e 20 61 6c 73 6f 20 63 6f 72 72 65 73 70 6f 6e 64 73 DE>MON_1</CODE>.also.corresponds
86b80 20 74 6f 20 4a 61 6e 75 61 72 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e .to.January...........<DT><CODE>
86ba0 41 4d 5f 53 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e AM_STR</CODE>.<DD>..........<LI>
86bc0 78 20 50 4d 5f 53 54 52 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c x.PM_STR..........The.return.val
86be0 75 65 73 20 61 72 65 20 73 74 72 69 6e 67 73 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 ues.are.strings.which.can.be.use
86c00 64 20 69 6e 20 74 68 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 69 6d 65 0a d.in.the.representation.of.time.
86c20 20 20 20 20 20 20 20 20 20 61 73 20 61 6e 20 68 6f 75 72 20 66 72 6f 6d 20 31 20 74 6f 20 31 32 .........as.an.hour.from.1.to.12
86c40 20 70 6c 75 73 20 61 6e 20 61 6d 2f 70 6d 20 73 70 65 63 69 66 69 65 72 2e 0a 20 20 20 20 20 20 .plus.an.am/pm.specifier........
86c60 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 6c 6f 63 61 6c 65 73 ...<br><br>.Note.that.in.locales
86c80 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 74 69 6d 65 20 72 65 70 72 .which.do.not.use.this.time.repr
86ca0 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 73 65 20 73 74 72 69 6e 67 esentation..........these.string
86cc0 73 20 6d 69 67 68 74 20 62 65 20 65 6d 70 74 79 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 s.might.be.empty,.in.which.case.
86ce0 74 68 65 20 61 6d 2f 70 6d 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 63 61 6e 6e 6f 74 the.am/pm.format..........cannot
86d00 20 62 65 20 75 73 65 64 20 61 74 20 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 .be.used.at.all...........<DT><C
86d20 4f 44 45 3e 44 5f 54 5f 46 4d 54 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 ODE>D_T_FMT..........The.return.
86d40 76 61 6c 75 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 66 6f 72 6d 61 74 20 73 74 value.can.be.used.as.a.format.st
86d60 72 69 6e 67 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 74 ring.for.<CODE>strftime</CODE>.t
86d80 6f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 o</CODE>.<DD>..........represent
86da0 20 74 69 6d 65 20 61 6e 64 20 64 61 74 65 20 69 6e 20 61 20 6c 6f 63 61 6c 65 2d 73 70 65 63 69 .time.and.date.in.a.locale-speci
86dc0 66 69 63 20 77 61 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 44 5f 46 4d fic.way...........<DT><CODE>D_FM
86de0 54 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 61 6e 20 T..........The.return.value.can.
86e00 62 65 20 75 73 65 64 20 61 73 20 61 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 66 6f 72 20 3c be.used.as.a.format.string.for.<
86e20 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 74 6f 3c 2f 43 4f 44 45 3e 0a 3c CODE>strftime</CODE>.to</CODE>.<
86e40 44 44 3e 0a 20 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 20 61 20 64 61 74 65 20 69 6e DD>..........represent.a.date.in
86e60 20 61 20 6c 6f 63 61 6c 65 2d 73 70 65 63 69 66 69 63 20 77 61 79 2e 0a 20 20 20 20 20 20 20 20 .a.locale-specific.way..........
86e80 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 5f 46 4d 54 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 .<DT><CODE>T_FMT..........The.re
86ea0 74 75 72 6e 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 66 6f 72 6d turn.value.can.be.used.as.a.form
86ec0 61 74 20 73 74 72 69 6e 67 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f at.string.for.<CODE>strftime</CO
86ee0 44 45 3e 20 74 6f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 72 65 70 72 DE>.to</CODE>.<DD>..........repr
86f00 65 73 65 6e 74 20 74 69 6d 65 20 69 6e 20 61 20 6c 6f 63 61 6c 65 2d 73 70 65 63 69 66 69 63 20 esent.time.in.a.locale-specific.
86f20 77 61 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 5f 46 4d 54 5f 41 4d way...........<DT><CODE>T_FMT_AM
86f40 50 4d 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 61 6e PM..........The.return.value.can
86f60 20 62 65 20 75 73 65 64 20 61 73 20 61 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 66 6f 72 20 .be.used.as.a.format.string.for.
86f80 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 74 6f 3c 2f 43 4f 44 45 3e 0a <CODE>strftime</CODE>.to</CODE>.
86fa0 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 20 74 69 6d 65 20 69 6e 20 <DD>..........represent.time.in.
86fc0 74 68 65 20 61 6d 2f 70 6d 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c the.am/pm.format...........<br><
86fe0 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 69 66 20 74 68 65 20 61 6d 2f 70 6d 20 66 6f 72 6d 61 br>.Note.that.if.the.am/pm.forma
87000 74 20 64 6f 65 73 20 6e 6f 74 20 6d 61 6b 65 20 61 6e 79 20 73 65 6e 73 65 20 66 6f 72 20 74 68 t.does.not.make.any.sense.for.th
87020 65 0a 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 65 64 20 6c 6f 63 61 6c 65 2c 20 74 68 65 20 e..........selected.locale,.the.
87040 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6d 69 67 68 74 20 62 65 20 74 68 65 20 73 61 6d 65 20 61 return.value.might.be.the.same.a
87060 73 20 74 68 65 20 6f 6e 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 54 5f 46 s.the.one.for..........<CODE>T_F
87080 4d 54 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 MT</CODE>...........<DT><CODE>ER
870a0 41 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 A</CODE>.<DD>..........The.retur
870c0 6e 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 65 72 61 20 75 73 65 64 20 n.value.represents.the.era.used.
870e0 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 in.the.current.locale...........
87100 3c 62 72 3e 3c 62 72 3e 20 4d 6f 73 74 20 6c 6f 63 61 6c 65 73 20 64 6f 20 6e 6f 74 20 64 65 66 <br><br>.Most.locales.do.not.def
87120 69 6e 65 20 74 68 69 73 20 76 61 6c 75 65 2e 20 20 41 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 61 ine.this.value...An.example.of.a
87140 20 6c 6f 63 61 6c 65 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 20 64 65 66 69 .locale.which..........does.defi
87160 6e 65 20 74 68 69 73 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 4a 61 70 61 6e 65 73 65 20 6f 6e ne.this.value.is.the.Japanese.on
87180 65 2e 20 20 49 6e 20 4a 61 70 61 6e 2c 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c 0a 20 20 e...In.Japan,.the.traditional...
871a0 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 64 61 74 65 73 20 69 .......representation.of.dates.i
871c0 6e 63 6c 75 64 65 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 65 72 61 20 63 6f 72 72 ncludes.the.name.of.the.era.corr
871e0 65 73 70 6f 6e 64 69 6e 67 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 74 68 65 6e 2d 65 esponding.to..........the.then-e
87200 6d 70 65 72 6f 72 27 73 20 72 65 69 67 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 mperor's.reign...........<br><br
87220 3e 20 4e 6f 72 6d 61 6c 6c 79 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6e 65 63 65 >.Normally.it.should.not.be.nece
87240 73 73 61 72 79 20 74 6f 20 75 73 65 20 74 68 69 73 20 76 61 6c 75 65 20 64 69 72 65 63 74 6c 79 ssary.to.use.this.value.directly
87260 2e 0a 20 20 20 20 20 20 20 20 20 53 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e ...........Specifying.the.<CODE>
87280 45 3c 2f 43 4f 44 45 3e 20 6d 6f 64 69 66 69 65 72 20 69 6e 20 74 68 65 69 72 20 66 6f 72 6d 61 E</CODE>.modifier.in.their.forma
872a0 74 20 73 74 72 69 6e 67 73 20 63 61 75 73 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 t.strings.causes.the..........<C
872c0 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f ODE>strftime</CODE>.functions.to
872e0 20 75 73 65 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 54 68 65 20 66 6f 72 6d .use.this.information...The.form
87300 61 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 at.of.the..........returned.stri
87320 6e 67 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 20 61 6e 64 20 74 68 65 72 65 66 6f ng.is.not.specified,.and.therefo
87340 72 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 61 73 73 75 6d 65 0a 20 20 20 20 20 20 20 re.you.should.not.assume........
87360 20 20 6b 6e 6f 77 6c 65 64 67 65 20 6f 66 20 69 74 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 73 ..knowledge.of.it.on.different.s
87380 79 73 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 41 5f 59 ystems...........<DT><CODE>ERA_Y
873a0 45 41 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 EAR</CODE>.<DD>..........The.ret
873c0 75 72 6e 20 76 61 6c 75 65 20 67 69 76 65 73 20 74 68 65 20 79 65 61 72 20 69 6e 20 74 68 65 20 urn.value.gives.the.year.in.the.
873e0 72 65 6c 65 76 61 6e 74 20 65 72 61 20 6f 66 20 74 68 65 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 20 relevant.era.of.the.locale......
87400 20 20 20 20 20 41 73 20 66 6f 72 20 3c 43 4f 44 45 3e 45 52 41 3c 2f 43 4f 44 45 3e 20 69 74 20 .....As.for.<CODE>ERA</CODE>.it.
87420 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 75 73 65 20 74 should.not.be.necessary.to.use.t
87440 68 69 73 20 76 61 6c 75 65 20 64 69 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 his.value.directly...........<DT
87460 3e 3c 43 4f 44 45 3e 45 52 41 5f 44 5f 54 5f 46 4d 54 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 ><CODE>ERA_D_T_FMT..........This
87480 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 66 .return.value.can.be.used.as.a.f
874a0 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c ormat.string.for.<CODE>strftime<
874c0 2f 43 4f 44 45 3e 20 74 6f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 72 /CODE>.to</CODE>.<DD>..........r
874e0 65 70 72 65 73 65 6e 74 20 64 61 74 65 73 20 61 6e 64 20 74 69 6d 65 73 20 69 6e 20 61 20 6c 6f epresent.dates.and.times.in.a.lo
87500 63 61 6c 65 2d 73 70 65 63 69 66 69 63 20 65 72 61 2d 62 61 73 65 64 20 77 61 79 2e 0a 20 20 20 cale-specific.era-based.way.....
87520 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 41 5f 44 5f 46 4d 54 0a 20 20 20 20 20 20 ......<DT><CODE>ERA_D_FMT.......
87540 20 20 20 54 68 69 73 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 75 73 65 64 ...This.return.value.can.be.used
87560 20 61 73 20 61 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 .as.a.format.string.for.<CODE>st
87580 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 74 6f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 rftime</CODE>.to</CODE>.<DD>....
875a0 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 20 61 20 64 61 74 65 20 69 6e 20 61 20 6c 6f 63 61 ......represent.a.date.in.a.loca
875c0 6c 65 2d 73 70 65 63 69 66 69 63 20 65 72 61 2d 62 61 73 65 64 20 77 61 79 2e 0a 20 20 20 20 20 le-specific.era-based.way.......
875e0 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 41 5f 54 5f 46 4d 54 0a 20 20 20 20 20 20 20 20 ....<DT><CODE>ERA_T_FMT.........
87600 20 54 68 69 73 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 .This.return.value.can.be.used.a
87620 73 20 61 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 66 s.a.format.string.for.<CODE>strf
87640 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 74 6f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 time</CODE>.to</CODE>.<DD>......
87660 20 20 20 20 72 65 70 72 65 73 65 6e 74 20 74 69 6d 65 20 69 6e 20 61 20 6c 6f 63 61 6c 65 2d 73 ....represent.time.in.a.locale-s
87680 70 65 63 69 66 69 63 20 65 72 61 2d 62 61 73 65 64 20 77 61 79 2e 0a 20 20 20 20 20 20 20 20 20 pecific.era-based.way...........
876a0 3c 44 54 3e 3c 43 4f 44 45 3e 41 4c 54 5f 44 49 47 49 54 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e <DT><CODE>ALT_DIGITS</CODE>.<DD>
876c0 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 ..........The.return.value.is.a.
876e0 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 75 70 20 74 6f 20 31 30 30 20 76 61 6c 75 representation.of.up.to.100.valu
87700 65 73 20 75 73 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 20 74 68 es.used.to..........represent.th
87720 65 20 76 61 6c 75 65 73 20 30 20 74 6f 20 39 39 2e 20 20 41 73 20 66 6f 72 20 3c 43 4f 44 45 3e e.values.0.to.99...As.for.<CODE>
87740 45 52 41 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 69 ERA</CODE>.this..........value.i
87760 73 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 75 73 65 64 20 64 69 72 65 63 74 s.not.intended.to.be.used.direct
87780 6c 79 2c 20 62 75 74 20 69 6e 73 74 65 61 64 20 69 6e 64 69 72 65 63 74 6c 79 0a 20 20 20 20 20 ly,.but.instead.indirectly......
877a0 20 20 20 20 74 68 72 6f 75 67 68 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f ....through.the.<CODE>strftime</
877c0 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 57 68 65 6e 20 74 68 65 20 6d 6f 64 69 66 69 CODE>.function...When.the.modifi
877e0 65 72 20 3c 43 4f 44 45 3e 4f 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 75 73 er.<CODE>O</CODE>.is..........us
87800 65 64 20 69 6e 20 61 20 66 6f 72 6d 61 74 20 77 68 69 63 68 20 77 6f 75 6c 64 20 6f 74 68 65 72 ed.in.a.format.which.would.other
87820 77 69 73 65 20 75 73 65 20 6e 75 6d 65 72 61 6c 73 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 68 wise.use.numerals.to.represent.h
87840 6f 75 72 73 2c 0a 20 20 20 20 20 20 20 20 20 6d 69 6e 75 74 65 73 2c 20 73 65 63 6f 6e 64 73 2c ours,..........minutes,.seconds,
87860 20 77 65 65 6b 64 61 79 73 2c 20 6d 6f 6e 74 68 73 2c 20 6f 72 20 77 65 65 6b 73 2c 20 74 68 65 .weekdays,.months,.or.weeks,.the
87880 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 .appropriate.value.for..........
878a0 74 68 65 20 6c 6f 63 61 6c 65 20 69 73 20 75 73 65 64 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 the.locale.is.used.instead......
878c0 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 49 4e 54 5f 43 55 52 52 5f 53 59 4d 42 4f 4c 0a 20 .....<DT><CODE>INT_CURR_SYMBOL..
878e0 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 ........The.same.as.the.value.re
87900 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 turned.by.<CODE>localeconv</CODE
87920 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 >.in.the</CODE>.<DD>..........<C
87940 4f 44 45 3e 69 6e 74 5f 63 75 72 72 5f 73 79 6d 62 6f 6c 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 ODE>int_curr_symbol</CODE>.eleme
87960 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f nt.of.the.<CODE>struct.lconv</CO
87980 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 43 55 52 52 45 4e 43 59 DE>...........<DT><CODE>CURRENCY
879a0 5f 53 59 4d 42 4f 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 _SYMBOL</CODE>.<DD>..........<LI
879c0 3e 78 20 43 52 4e 43 59 53 54 52 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 >x.CRNCYSTR..........The.same.as
879e0 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 .the.value.returned.by.<CODE>loc
87a00 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c aleconv</CODE>.in.the..........<
87a20 43 4f 44 45 3e 63 75 72 72 65 6e 63 79 5f 73 79 6d 62 6f 6c 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d CODE>currency_symbol</CODE>.elem
87a40 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 ent.of.the.<CODE>struct.lconv</C
87a60 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 43 52 ODE>...........<br><br>.<CODE>CR
87a80 4e 43 59 53 54 52 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 64 65 70 72 65 63 61 74 65 64 20 61 6c NCYSTR</CODE>.is.a.deprecated.al
87aa0 69 61 73 20 73 74 69 6c 6c 20 72 65 71 75 69 72 65 64 20 62 79 20 55 6e 69 78 39 38 2e 0a 20 20 ias.still.required.by.Unix98....
87ac0 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 4f 4e 5f 44 45 43 49 4d 41 4c 5f 50 4f 49 .......<DT><CODE>MON_DECIMAL_POI
87ae0 4e 54 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 NT..........The.same.as.the.valu
87b00 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f e.returned.by.<CODE>localeconv</
87b20 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 CODE>.in.the</CODE>.<DD>........
87b40 20 20 3c 43 4f 44 45 3e 6d 6f 6e 5f 64 65 63 69 6d 61 6c 5f 70 6f 69 6e 74 3c 2f 43 4f 44 45 3e ..<CODE>mon_decimal_point</CODE>
87b60 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f .element.of.the.<CODE>struct.lco
87b80 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 4f nv</CODE>...........<DT><CODE>MO
87ba0 4e 5f 54 48 4f 55 53 41 4e 44 53 5f 53 45 50 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d N_THOUSANDS_SEP..........The.sam
87bc0 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 e.as.the.value.returned.by.<CODE
87be0 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e >localeconv</CODE>.in.the</CODE>
87c00 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 6f 6e 5f 74 68 6f 75 73 61 6e .<DD>..........<CODE>mon_thousan
87c20 64 73 5f 73 65 70 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f ds_sep</CODE>.element.of.the.<CO
87c40 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 DE>struct.lconv</CODE>..........
87c60 20 3c 44 54 3e 3c 43 4f 44 45 3e 4d 4f 4e 5f 47 52 4f 55 50 49 4e 47 0a 20 20 20 20 20 20 20 20 .<DT><CODE>MON_GROUPING.........
87c80 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 .The.same.as.the.value.returned.
87ca0 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 by.<CODE>localeconv</CODE>.in.th
87cc0 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 6f 6e e</CODE>.<DD>..........<CODE>mon
87ce0 5f 67 72 6f 75 70 69 6e 67 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 _grouping</CODE>.element.of.the.
87d00 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 <CODE>struct.lconv</CODE>.......
87d20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 50 4f 53 49 54 49 56 45 5f 53 49 47 4e 0a 20 20 20 20 ....<DT><CODE>POSITIVE_SIGN.....
87d40 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 .....The.same.as.the.value.retur
87d60 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 ned.by.<CODE>localeconv</CODE>.i
87d80 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 n.the</CODE>.<DD>..........<CODE
87da0 3e 70 6f 73 69 74 69 76 65 5f 73 69 67 6e 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 >positive_sign</CODE>.element.of
87dc0 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a .the.<CODE>struct.lconv</CODE>..
87de0 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4e 45 47 41 54 49 56 45 5f 53 49 47 4e .........<DT><CODE>NEGATIVE_SIGN
87e00 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 ..........The.same.as.the.value.
87e20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f returned.by.<CODE>localeconv</CO
87e40 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 DE>.in.the</CODE>.<DD>..........
87e60 3c 43 4f 44 45 3e 6e 65 67 61 74 69 76 65 5f 73 69 67 6e 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 <CODE>negative_sign</CODE>.eleme
87e80 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f nt.of.the.<CODE>struct.lconv</CO
87ea0 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 49 4e 54 5f 46 52 41 43 DE>...........<DT><CODE>INT_FRAC
87ec0 5f 44 49 47 49 54 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 _DIGITS..........The.same.as.the
87ee0 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 .value.returned.by.<CODE>localec
87f00 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 onv</CODE>.in.the</CODE>.<DD>...
87f20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 6e 74 5f 66 72 61 63 5f 64 69 67 69 74 73 3c 2f 43 4f .......<CODE>int_frac_digits</CO
87f40 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 DE>.element.of.the.<CODE>struct.
87f60 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 lconv</CODE>...........<DT><CODE
87f80 3e 46 52 41 43 5f 44 49 47 49 54 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 >FRAC_DIGITS..........The.same.a
87fa0 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f s.the.value.returned.by.<CODE>lo
87fc0 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 caleconv</CODE>.in.the</CODE>.<D
87fe0 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 72 61 63 5f 64 69 67 69 74 73 3c 2f 43 D>..........<CODE>frac_digits</C
88000 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 ODE>.element.of.the.<CODE>struct
88020 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 .lconv</CODE>...........<DT><COD
88040 45 3e 50 5f 43 53 5f 50 52 45 43 45 44 45 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d E>P_CS_PRECEDES..........The.sam
88060 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 e.as.the.value.returned.by.<CODE
88080 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e >localeconv</CODE>.in.the</CODE>
880a0 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 70 5f 63 73 5f 70 72 65 63 65 64 .<DD>..........<CODE>p_cs_preced
880c0 65 73 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 es</CODE>.element.of.the.<CODE>s
880e0 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 truct.lconv</CODE>...........<DT
88100 3e 3c 43 4f 44 45 3e 50 5f 53 45 50 5f 42 59 5f 53 50 41 43 45 0a 20 20 20 20 20 20 20 20 20 54 ><CODE>P_SEP_BY_SPACE..........T
88120 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 he.same.as.the.value.returned.by
88140 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c .<CODE>localeconv</CODE>.in.the<
88160 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 70 5f 73 65 70 /CODE>.<DD>..........<CODE>p_sep
88180 5f 62 79 5f 73 70 61 63 65 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 _by_space</CODE>.element.of.the.
881a0 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 <CODE>struct.lconv</CODE>.......
881c0 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4e 5f 43 53 5f 50 52 45 43 45 44 45 53 0a 20 20 20 20 ....<DT><CODE>N_CS_PRECEDES.....
881e0 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 .....The.same.as.the.value.retur
88200 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 ned.by.<CODE>localeconv</CODE>.i
88220 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 n.the</CODE>.<DD>..........<CODE
88240 3e 6e 5f 63 73 5f 70 72 65 63 65 64 65 73 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 >n_cs_precedes</CODE>.element.of
88260 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a .the.<CODE>struct.lconv</CODE>..
88280 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4e 5f 53 45 50 5f 42 59 5f 53 50 41 43 .........<DT><CODE>N_SEP_BY_SPAC
882a0 45 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 E..........The.same.as.the.value
882c0 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 .returned.by.<CODE>localeconv</C
882e0 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 ODE>.in.the</CODE>.<DD>.........
88300 20 3c 43 4f 44 45 3e 6e 5f 73 65 70 5f 62 79 5f 73 70 61 63 65 3c 2f 43 4f 44 45 3e 20 65 6c 65 .<CODE>n_sep_by_space</CODE>.ele
88320 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f ment.of.the.<CODE>struct.lconv</
88340 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 50 5f 53 49 47 4e CODE>...........<DT><CODE>P_SIGN
88360 5f 50 4f 53 4e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 _POSN..........The.same.as.the.v
88380 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e alue.returned.by.<CODE>localecon
883a0 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 v</CODE>.in.the</CODE>.<DD>.....
883c0 20 20 20 20 20 3c 43 4f 44 45 3e 70 5f 73 69 67 6e 5f 70 6f 73 6e 3c 2f 43 4f 44 45 3e 20 65 6c .....<CODE>p_sign_posn</CODE>.el
883e0 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c ement.of.the.<CODE>struct.lconv<
88400 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4e 5f 53 49 47 /CODE>...........<DT><CODE>N_SIG
88420 4e 5f 50 4f 53 4e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 N_POSN..........The.same.as.the.
88440 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f value.returned.by.<CODE>localeco
88460 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 nv</CODE>.in.the</CODE>.<DD>....
88480 20 20 20 20 20 20 3c 43 4f 44 45 3e 6e 5f 73 69 67 6e 5f 70 6f 73 6e 3c 2f 43 4f 44 45 3e 20 65 ......<CODE>n_sign_posn</CODE>.e
884a0 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 lement.of.the.<CODE>struct.lconv
884c0 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c </CODE>...........<br><br>.<DT><
884e0 43 4f 44 45 3e 49 4e 54 5f 50 5f 43 53 5f 50 52 45 43 45 44 45 53 0a 20 20 20 20 20 20 20 20 20 CODE>INT_P_CS_PRECEDES..........
88500 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 The.same.as.the.value.returned.b
88520 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 y.<CODE>localeconv</CODE>.in.the
88540 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 6e 74 5f </CODE>.<DD>..........<CODE>int_
88560 70 5f 63 73 5f 70 72 65 63 65 64 65 73 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 p_cs_precedes</CODE>.element.of.
88580 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 the.<CODE>struct.lconv</CODE>...
885a0 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 49 4e 54 5f 50 5f 53 45 50 5f 42 59 5f 53 ........<DT><CODE>INT_P_SEP_BY_S
885c0 50 41 43 45 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 PACE..........The.same.as.the.va
885e0 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 lue.returned.by.<CODE>localeconv
88600 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 </CODE>.in.the</CODE>.<DD>......
88620 20 20 20 20 3c 43 4f 44 45 3e 69 6e 74 5f 70 5f 73 65 70 5f 62 79 5f 73 70 61 63 65 3c 2f 43 4f ....<CODE>int_p_sep_by_space</CO
88640 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 DE>.element.of.the.<CODE>struct.
88660 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 lconv</CODE>...........<DT><CODE
88680 3e 49 4e 54 5f 4e 5f 43 53 5f 50 52 45 43 45 44 45 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 >INT_N_CS_PRECEDES..........The.
886a0 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 same.as.the.value.returned.by.<C
886c0 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f ODE>localeconv</CODE>.in.the</CO
886e0 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 6e 74 5f 6e 5f 63 73 DE>.<DD>..........<CODE>int_n_cs
88700 5f 70 72 65 63 65 64 65 73 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 _precedes</CODE>.element.of.the.
88720 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 <CODE>struct.lconv</CODE>.......
88740 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 49 4e 54 5f 4e 5f 53 45 50 5f 42 59 5f 53 50 41 43 45 ....<DT><CODE>INT_N_SEP_BY_SPACE
88760 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 ..........The.same.as.the.value.
88780 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f returned.by.<CODE>localeconv</CO
887a0 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 DE>.in.the</CODE>.<DD>..........
887c0 3c 43 4f 44 45 3e 69 6e 74 5f 6e 5f 73 65 70 5f 62 79 5f 73 70 61 63 65 3c 2f 43 4f 44 45 3e 20 <CODE>int_n_sep_by_space</CODE>.
887e0 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e element.of.the.<CODE>struct.lcon
88800 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 49 4e 54 v</CODE>...........<DT><CODE>INT
88820 5f 50 5f 53 49 47 4e 5f 50 4f 53 4e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 _P_SIGN_POSN..........The.same.a
88840 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f s.the.value.returned.by.<CODE>lo
88860 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 caleconv</CODE>.in.the</CODE>.<D
88880 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 6e 74 5f 70 5f 73 69 67 6e 5f 70 6f 73 D>..........<CODE>int_p_sign_pos
888a0 6e 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 n</CODE>.element.of.the.<CODE>st
888c0 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e ruct.lconv</CODE>...........<DT>
888e0 3c 43 4f 44 45 3e 49 4e 54 5f 4e 5f 53 49 47 4e 5f 50 4f 53 4e 0a 20 20 20 20 20 20 20 20 20 54 <CODE>INT_N_SIGN_POSN..........T
88900 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 he.same.as.the.value.returned.by
88920 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c .<CODE>localeconv</CODE>.in.the<
88940 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 6e 74 5f 6e /CODE>.<DD>..........<CODE>int_n
88960 5f 73 69 67 6e 5f 70 6f 73 6e 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 _sign_posn</CODE>.element.of.the
88980 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 .<CODE>struct.lconv</CODE>......
889a0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 44 45 43 49 4d 41 4c 5f .....<br><br>.<DT><CODE>DECIMAL_
889c0 50 4f 49 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 POINT</CODE>.<DD>..........<LI>x
889e0 20 52 41 44 49 58 43 48 41 52 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 .RADIXCHAR..........The.same.as.
88a00 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 the.value.returned.by.<CODE>loca
88a20 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 leconv</CODE>.in.the..........<C
88a40 4f 44 45 3e 64 65 63 69 6d 61 6c 5f 70 6f 69 6e 74 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 ODE>decimal_point</CODE>.element
88a60 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 .of.the.<CODE>struct.lconv</CODE
88a80 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 61 6d 65 20 3c 43 >...........<br><br>.The.name.<C
88aa0 4f 44 45 3e 52 41 44 49 58 43 48 41 52 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 64 65 70 72 65 63 ODE>RADIXCHAR</CODE>.is.a.deprec
88ac0 61 74 65 64 20 61 6c 69 61 73 20 73 74 69 6c 6c 20 75 73 65 64 20 69 6e 20 55 6e 69 78 39 38 2e ated.alias.still.used.in.Unix98.
88ae0 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 48 4f 55 53 41 4e 44 53 5f 53 45 ..........<DT><CODE>THOUSANDS_SE
88b00 50 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 54 48 4f P</CODE>.<DD>..........<LI>x.THO
88b20 55 53 45 50 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 USEP..........The.same.as.the.va
88b40 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 lue.returned.by.<CODE>localeconv
88b60 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 68 </CODE>.in.the..........<CODE>th
88b80 6f 75 73 61 6e 64 73 5f 73 65 70 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 ousands_sep</CODE>.element.of.th
88ba0 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 e.<CODE>struct.lconv</CODE>.....
88bc0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 54 48 ......<br><br>.The.name.<CODE>TH
88be0 4f 55 53 45 50 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 64 65 70 72 65 63 61 74 65 64 20 61 6c 69 OUSEP</CODE>.is.a.deprecated.ali
88c00 61 73 20 73 74 69 6c 6c 20 75 73 65 64 20 69 6e 20 55 6e 69 78 39 38 2e 0a 20 20 20 20 20 20 20 as.still.used.in.Unix98.........
88c20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 47 52 4f 55 50 49 4e 47 0a 20 20 20 20 20 20 20 20 20 54 68 ..<DT><CODE>GROUPING..........Th
88c40 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 e.same.as.the.value.returned.by.
88c60 3c 43 4f 44 45 3e 6c 6f 63 61 6c 65 63 6f 6e 76 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 3c 2f <CODE>localeconv</CODE>.in.the</
88c80 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 72 6f 75 70 69 CODE>.<DD>..........<CODE>groupi
88ca0 6e 67 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 ng</CODE>.element.of.the.<CODE>s
88cc0 74 72 75 63 74 20 6c 63 6f 6e 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 truct.lconv</CODE>...........<DT
88ce0 3e 3c 43 4f 44 45 3e 59 45 53 45 58 50 52 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 ><CODE>YESEXPR..........The.retu
88d00 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e rn.value.is.a.regular.expression
88d20 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 .which.can.be.used.with.the.....
88d40 20 20 20 20 20 3c 43 4f 44 45 3e 72 65 67 65 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .....<CODE>regex</CODE>.function
88d60 20 74 6f 20 72 65 63 6f 67 6e 69 7a 65 20 61 20 70 6f 73 69 74 69 76 65 20 72 65 73 70 6f 6e 73 .to.recognize.a.positive.respons
88d80 65 20 74 6f 20 61 20 79 65 73 2f 6e 6f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 e.to.a.yes/no</CODE>.<DD>.......
88da0 20 20 20 71 75 65 73 74 69 6f 6e 2e 20 20 54 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 20 ...question...The.GNU.C.library.
88dc0 70 72 6f 76 69 64 65 73 20 74 68 65 20 3c 43 4f 44 45 3e 72 70 6d 61 74 63 68 3c 2f 43 4f 44 45 provides.the.<CODE>rpmatch</CODE
88de0 3e 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 65 61 73 69 65 72 20 68 >.function.for..........easier.h
88e00 61 6e 64 6c 69 6e 67 20 69 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 andling.in.applications.........
88e20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4e 4f 45 58 50 52 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 ..<DT><CODE>NOEXPR..........The.
88e40 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 return.value.is.a.regular.expres
88e60 73 69 6f 6e 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 20 77 69 74 68 20 74 68 65 0a sion.which.can.be.used.with.the.
88e80 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 72 65 67 65 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 .........<CODE>regex</CODE>.func
88ea0 74 69 6f 6e 20 74 6f 20 72 65 63 6f 67 6e 69 7a 65 20 61 20 6e 65 67 61 74 69 76 65 20 72 65 73 tion.to.recognize.a.negative.res
88ec0 70 6f 6e 73 65 20 74 6f 20 61 20 79 65 73 2f 6e 6f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 ponse.to.a.yes/no</CODE>.<DD>...
88ee0 20 20 20 20 20 20 20 71 75 65 73 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 .......question...........<DT><C
88f00 4f 44 45 3e 59 45 53 53 54 52 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 ODE>YESSTR..........The.return.v
88f20 61 6c 75 65 20 69 73 20 61 20 6c 6f 63 61 6c 65 2d 73 70 65 63 69 66 69 63 20 74 72 61 6e 73 6c alue.is.a.locale-specific.transl
88f40 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 70 6f 73 69 74 69 76 65 20 72 65 73 70 6f 6e 73 65 3c 2f ation.of.the.positive.response</
88f60 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 61 20 79 65 73 2f 6e 6f 20 CODE>.<DD>..........to.a.yes/no.
88f80 71 75 65 73 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 73 69 6e question...........<br><br>.Usin
88fa0 67 20 74 68 69 73 20 76 61 6c 75 65 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 g.this.value.is.deprecated.since
88fc0 20 69 74 20 69 73 20 61 20 76 65 72 79 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 6f 66 0a 20 20 .it.is.a.very.special.case.of...
88fe0 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 2c 20 61 6e 64 20 .......message.translation,.and.
89000 69 73 20 62 65 74 74 65 72 20 68 61 6e 64 6c 65 64 20 62 79 20 74 68 65 20 6d 65 73 73 61 67 65 is.better.handled.by.the.message
89020 0a 20 20 20 20 20 20 20 20 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 ..........translation.functions.
89040 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 75 73 65 20 6f 66 20 74 ...........<br><br>.The.use.of.t
89060 68 69 73 20 73 79 6d 62 6f 6c 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2e 20 20 49 6e 73 74 65 his.symbol.is.deprecated...Inste
89080 61 64 20 6d 65 73 73 61 67 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 ad.message.translation..........
890a0 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f should.be.used...........<DT><CO
890c0 44 45 3e 4e 4f 53 54 52 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c DE>NOSTR..........The.return.val
890e0 75 65 20 69 73 20 61 20 6c 6f 63 61 6c 65 2d 73 70 65 63 69 66 69 63 20 74 72 61 6e 73 6c 61 74 ue.is.a.locale-specific.translat
89100 69 6f 6e 20 6f 66 20 74 68 65 20 6e 65 67 61 74 69 76 65 20 72 65 73 70 6f 6e 73 65 3c 2f 43 4f ion.of.the.negative.response</CO
89120 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 61 20 79 65 73 2f 6e 6f 20 71 75 DE>.<DD>..........to.a.yes/no.qu
89140 65 73 74 69 6f 6e 2e 20 20 57 68 61 74 20 69 73 20 73 61 69 64 20 66 6f 72 20 3c 43 4f 44 45 3e estion...What.is.said.for.<CODE>
89160 59 45 53 53 54 52 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6c 73 6f 20 74 72 75 65 20 68 65 72 65 2e YESSTR</CODE>.is.also.true.here.
89180 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 75 73 65 20 6f 66 20 74 68 ..........<br><br>.The.use.of.th
891a0 69 73 20 73 79 6d 62 6f 6c 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2e 20 20 49 6e 73 74 65 61 is.symbol.is.deprecated...Instea
891c0 64 20 6d 65 73 73 61 67 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 73 d.message.translation..........s
891e0 68 6f 75 6c 64 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 hould.be.used...........</DL>...
89200 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 69 6c 65 20 3c 54 54 3e 6c 61 6e .......<br><br>.The.file.<TT>lan
89220 67 69 6e 66 6f 2e 68 3c 2f 54 54 3e 20 64 65 66 69 6e 65 73 20 61 20 6c 6f 74 20 6d 6f 72 65 20 ginfo.h</TT>.defines.a.lot.more.
89240 73 79 6d 62 6f 6c 73 20 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 0a 20 20 20 20 20 20 20 symbols.but.none.of.them........
89260 20 20 69 73 20 6f 66 66 69 63 69 61 6c 2e 20 20 55 73 69 6e 67 20 74 68 65 6d 20 69 73 20 6e 6f ..is.official...Using.them.is.no
89280 74 20 70 6f 72 74 61 62 6c 65 2c 20 61 6e 64 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 t.portable,.and.the.format.of.th
892a0 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 6d 69 67 68 74 20 63 e..........return.values.might.c
892c0 68 61 6e 67 65 2e 20 20 54 68 65 72 65 66 6f 72 65 20 77 65 20 72 65 63 6f 6d 6d 65 6e 64 65 64 hange...Therefore.we.recommended
892e0 20 79 6f 75 20 6e 6f 74 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 6d 2e 0a 20 20 20 20 .you.not.use..........them......
89300 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 72 65 74 75 .....<br><br>.Note.that.the.retu
89320 72 6e 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 79 20 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 20 rn.value.for.any.valid.argument.
89340 63 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 69 6e 20 61 6c 6c 20 can.be.used.for..........in.all.
89360 73 69 74 75 61 74 69 6f 6e 73 20 28 77 69 74 68 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 65 78 situations.(with.the.possible.ex
89380 63 65 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 6d 2f 70 6d 20 74 69 6d 65 20 66 6f 72 6d 61 74 ception.of.the.am/pm.time.format
893a0 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 63 6f 64 65 73 29 2e 20 20 49 66 20 74 68 65 20 75 73 ting..........codes)...If.the.us
893c0 65 72 20 68 61 73 20 6e 6f 74 20 73 65 6c 65 63 74 65 64 20 61 6e 79 20 6c 6f 63 61 6c 65 20 66 er.has.not.selected.any.locale.f
893e0 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 61 74 65 or.the..........appropriate.cate
89400 67 6f 72 79 2c 20 3c 43 4f 44 45 3e 6e 6c 5f 6c 61 6e 67 69 6e 66 6f 3c 2f 43 4f 44 45 3e 20 72 gory,.<CODE>nl_langinfo</CODE>.r
89420 65 74 75 72 6e 73 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 0a eturns.the.information.from.the.
89440 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 22 43 22 3c 2f 43 4f 44 45 3e 20 6c 6f 63 61 6c 65 .........<CODE>"C"</CODE>.locale
89460 2e 20 20 49 74 20 69 73 20 74 68 65 72 65 66 6f 72 65 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 75 ...It.is.therefore.possible.to.u
89480 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 73 0a 20 20 20 20 20 20 20 20 20 73 68 6f se.this.function.as..........sho
894a0 77 6e 20 69 6e 20 74 68 65 20 65 78 61 6d 70 6c 65 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 wn.in.the.example.below.........
894c0 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e ..<br><br>.If.the.argument.<VAR>
894e0 69 74 65 6d 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2c 20 61 20 70 6f 69 6e 74 item</VAR>.is.not.valid,.a.point
89500 65 72 20 74 6f 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 69 73 0a 20 20 20 20 20 20 20 er.to.an.empty.string.is........
89520 20 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 ..returned..........sq.~......w.
89540 00 00 00 0a 74 00 08 6c 6f 63 61 6c 65 2e 68 74 00 0a 6c 61 6e 67 69 6e 66 6f 2e 68 78 71 00 7e ....t..locale.ht..langinfo.hxq.~
89560 14 47 74 00 0c 6e 6c 5f 69 74 65 6d 20 69 74 65 6d 74 00 06 63 68 61 72 20 2a 74 00 07 6e 72 61 .Gt..nl_item.itemt..char.*t..nra
89580 6e 64 34 38 73 71 00 7e 00 0a 70 74 02 85 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 nd48sq.~..pt...........This.func
895a0 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 6c 72 61 tion.is.similar.to.the.<CODE>lra
895c0 6e 64 34 38 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 61 74 20 69 74 0a nd48</CODE>.function.in.that.it.
895e0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6d 62 65 72 20 69 6e 20 74 68 65 .........returns.a.number.in.the
89600 20 72 61 6e 67 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 .range.of.<CODE>0</CODE>.to.<COD
89620 45 3e 32 5e 33 31 3c 2f 43 4f 44 45 3e 20 28 65 78 63 6c 75 73 69 76 65 29 20 62 75 74 0a 20 20 E>2^31</CODE>.(exclusive).but...
89640 20 20 20 20 20 20 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e .......the.state.of.the.random.n
89660 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 20 75 73 65 64 20 74 6f 20 70 72 6f 64 75 63 65 20 umber.generator.used.to.produce.
89680 74 68 65 20 72 61 6e 64 6f 6d 20 62 69 74 73 0a 20 20 20 20 20 20 20 20 20 69 73 20 64 65 74 65 the.random.bits..........is.dete
896a0 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 61 72 72 61 79 20 70 72 6f 76 69 64 65 64 20 61 73 20 rmined.by.the.array.provided.as.
896c0 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 the.parameter.to.the.function...
896e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 75 6d 62 65 72 73 20 69 6e 20 ........<br><br>.The.numbers.in.
89700 74 68 65 20 61 72 72 61 79 20 61 72 65 20 75 70 64 61 74 65 64 20 61 66 74 65 72 77 61 72 64 73 the.array.are.updated.afterwards
89720 20 73 6f 20 74 68 61 74 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 0a 20 20 20 20 20 20 .so.that.subsequent.calls.......
89740 20 20 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 79 69 65 6c 64 20 64 69 66 66 65 72 ...to.this.function.yield.differ
89760 65 6e 74 20 72 65 73 75 6c 74 73 20 28 61 73 20 69 73 20 65 78 70 65 63 74 65 64 20 6f 66 20 61 ent.results.(as.is.expected.of.a
89780 20 72 61 6e 64 6f 6d 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f .random..........number.generato
897a0 72 29 2e 20 20 54 68 65 20 61 72 72 61 79 20 73 68 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20 r)...The.array.should.have.been.
897c0 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 65 66 6f 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 initialized.before.the..........
897e0 66 69 72 73 74 20 63 61 6c 6c 20 74 6f 20 6f 62 74 61 69 6e 20 72 65 70 72 6f 64 75 63 69 62 6c first.call.to.obtain.reproducibl
89800 65 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 e.results..........sq.~......w..
89820 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 14 4f 74 00 1b 75 6e 73 69 67 6e 65 64 20 ...t..stdlib.hxq.~.Ot..unsigned.
89840 73 68 6f 72 74 20 69 6e 74 20 78 73 75 62 69 5b 33 5d 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 09 short.int.xsubi[3]t..long.intt..
89860 6e 72 61 6e 64 34 38 5f 72 73 71 00 7e 00 0a 70 74 02 86 0a 20 20 20 20 20 20 20 20 54 68 65 20 nrand48_rsq.~..pt...........The.
89880 3c 43 4f 44 45 3e 6e 72 61 6e 64 34 38 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 <CODE>nrand48_r</CODE>.function.
898a0 77 6f 72 6b 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 6e 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 20 works.like.<CODE>nrand48</CODE>.
898c0 69 6e 20 74 68 61 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 70 72 6f 64 75 63 65 73 20 61 20 72 in.that.it..........produces.a.r
898e0 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 3c 43 4f 44 45 3e andom.number.in.the.range.<CODE>
89900 30 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 32 5e 33 31 3c 2f 43 4f 44 45 3e 2e 20 20 0</CODE>.to.<CODE>2^31</CODE>...
89920 42 75 74 20 69 6e 73 74 65 61 64 0a 20 20 20 20 20 20 20 20 20 6f 66 20 75 73 69 6e 67 20 74 68 But.instead..........of.using.th
89940 65 20 67 6c 6f 62 61 6c 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 74 68 65 20 63 6f 6e 67 e.global.parameters.for.the.cong
89960 72 75 65 6e 74 69 61 6c 20 66 6f 72 6d 75 6c 61 20 69 74 20 75 73 65 73 20 74 68 65 0a 20 20 20 ruential.formula.it.uses.the....
89980 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 62 75 66 66 65 ......information.from.the.buffe
899a0 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 r.pointed.to.by.<VAR>buffer</VAR
899c0 3e 2e 20 20 54 68 65 20 73 74 61 74 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 >...The.state.is..........descri
899e0 62 65 64 20 62 79 20 74 68 65 20 76 61 6c 75 65 73 20 69 6e 20 3c 56 41 52 3e 78 73 75 62 69 3c bed.by.the.values.in.<VAR>xsubi<
89a00 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 /VAR>...........<br><br>.If.the.
89a20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 74 68 65 return.value.is.non-negative.the
89a40 20 76 61 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 .variable.pointed.to.by.........
89a60 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 .<VAR>result</VAR>.contains.the.
89a80 72 65 73 75 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 result...........<br><br>.This.f
89aa0 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 73 unction.is.a.GNU.extension.and.s
89ac0 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 70 6f 72 74 61 62 6c 65 0a 20 20 hould.not.be.used.in.portable...
89ae0 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 .......programs..........sq.~...
89b00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 14 56 74 00 4a 75 6e 73 ...w.....t..stdlib.hxq.~.Vt.Juns
89b20 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74 20 78 73 75 62 69 5b 33 5d 2c 20 73 74 72 75 63 74 igned.short.int.xsubi[3],.struct
89b40 20 64 72 61 6e 64 34 38 5f 64 61 74 61 20 2a 62 75 66 66 65 72 2c 20 6c 6f 6e 67 20 69 6e 74 20 .drand48_data.*buffer,.long.int.
89b60 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 05 6e 74 6f 68 6c 73 71 00 7e 00 0a 70 74 00 ce 0a *resultt..intt..ntohlsq.~..pt...
89b80 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 74 ........This.function.converts.t
89ba0 68 65 20 3c 43 4f 44 45 3e 75 69 6e 74 33 32 5f 74 3c 2f 43 4f 44 45 3e 20 69 6e 74 65 67 65 72 he.<CODE>uint32_t</CODE>.integer
89bc0 20 3c 56 41 52 3e 6e 65 74 6c 6f 6e 67 3c 2f 56 41 52 3e 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 .<VAR>netlong</VAR>.from........
89be0 20 20 6e 65 74 77 6f 72 6b 20 62 79 74 65 20 6f 72 64 65 72 20 74 6f 20 68 6f 73 74 20 62 79 74 ..network.byte.order.to.host.byt
89c00 65 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 e.order...........<br><br>.This.
89c20 69 73 20 75 73 65 64 20 66 6f 72 20 49 50 76 34 20 49 6e 74 65 72 6e 65 74 20 61 64 64 72 65 73 is.used.for.IPv4.Internet.addres
89c40 73 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c ses..........sq.~......w.....t..
89c60 6e 65 74 69 6e 65 74 2f 69 6e 2e 68 78 71 00 7e 14 5d 74 00 10 75 69 6e 74 33 32 5f 74 20 6e 65 netinet/in.hxq.~.]t..uint32_t.ne
89c80 74 6c 6f 6e 67 74 00 08 75 69 6e 74 33 32 5f 74 74 00 05 6e 74 6f 68 73 73 71 00 7e 00 0a 70 74 tlongt..uint32_tt..ntohssq.~..pt
89ca0 00 93 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 ...........This.function.convert
89cc0 73 20 74 68 65 20 3c 43 4f 44 45 3e 75 69 6e 74 31 36 5f 74 3c 2f 43 4f 44 45 3e 20 69 6e 74 65 s.the.<CODE>uint16_t</CODE>.inte
89ce0 67 65 72 20 3c 56 41 52 3e 6e 65 74 73 68 6f 72 74 3c 2f 56 41 52 3e 20 66 72 6f 6d 0a 20 20 20 ger.<VAR>netshort</VAR>.from....
89d00 20 20 20 20 20 20 6e 65 74 77 6f 72 6b 20 62 79 74 65 20 6f 72 64 65 72 20 74 6f 20 68 6f 73 74 ......network.byte.order.to.host
89d20 20 62 79 74 65 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 .byte.order..........sq.~......w
89d40 04 00 00 00 0a 74 00 0c 6e 65 74 69 6e 65 74 2f 69 6e 2e 68 78 71 00 7e 14 64 74 00 11 75 69 6e .....t..netinet/in.hxq.~.dt..uin
89d60 74 31 36 5f 74 20 6e 65 74 73 68 6f 72 74 74 00 08 75 69 6e 74 31 36 5f 74 74 00 0b 6e 74 70 5f t16_t.netshortt..uint16_tt..ntp_
89d80 61 64 6a 74 69 6d 65 73 71 00 7e 00 0a 70 74 06 63 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 adjtimesq.~..pt.c.........The.<C
89da0 4f 44 45 3e 6e 74 70 5f 61 64 6a 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 ODE>ntp_adjtime</CODE>.function.
89dc0 73 65 74 73 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 73 70 65 63 69 66 69 65 64 20 62 79 0a sets.the.structure.specified.by.
89de0 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 70 74 72 3c 2f 56 41 52 3e 20 74 6f 20 63 75 72 72 .........<VAR>tptr</VAR>.to.curr
89e00 65 6e 74 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e ent.values...........<br><br>.In
89e20 20 61 64 64 69 74 69 6f 6e 2c 20 3c 43 4f 44 45 3e 6e 74 70 5f 61 64 6a 74 69 6d 65 3c 2f 43 4f .addition,.<CODE>ntp_adjtime</CO
89e40 44 45 3e 20 75 70 64 61 74 65 73 20 73 6f 6d 65 20 73 65 74 74 69 6e 67 73 20 74 6f 20 6d 61 74 DE>.updates.some.settings.to.mat
89e60 63 68 20 77 68 61 74 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 70 61 73 73 20 74 6f 20 69 74 20 ch.what.you..........pass.to.it.
89e80 69 6e 20 2a 3c 56 41 52 3e 74 70 74 72 3c 2f 56 41 52 3e 2e 20 20 55 73 65 20 74 68 65 20 3c 43 in.*<VAR>tptr</VAR>...Use.the.<C
89ea0 4f 44 45 3e 6d 6f 64 65 73 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 2a 3c 56 41 ODE>modes</CODE>.element.of.*<VA
89ec0 52 3e 74 70 74 72 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 73 65 6c 65 63 74 20 R>tptr</VAR>..........to.select.
89ee0 77 68 61 74 20 73 65 74 74 69 6e 67 73 20 74 6f 20 75 70 64 61 74 65 2e 20 20 59 6f 75 20 63 61 what.settings.to.update...You.ca
89f00 6e 20 73 65 74 20 3c 43 4f 44 45 3e 6f 66 66 73 65 74 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 n.set.<CODE>offset</CODE>,......
89f20 20 20 20 20 3c 43 4f 44 45 3e 66 72 65 71 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 6d 61 78 ....<CODE>freq</CODE>,.<CODE>max
89f40 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 65 73 74 65 72 72 6f 72 3c 2f 43 4f error</CODE>,.<CODE>esterror</CO
89f60 44 45 3e 2c 20 3c 43 4f 44 45 3e 73 74 61 74 75 73 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 DE>,.<CODE>status</CODE>,.......
89f80 20 20 20 3c 43 4f 44 45 3e 63 6f 6e 73 74 61 6e 74 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 3c 43 ...<CODE>constant</CODE>,.and.<C
89fa0 4f 44 45 3e 74 69 63 6b 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ODE>tick</CODE>...........<br><b
89fc0 72 3e 20 3c 43 4f 44 45 3e 6d 6f 64 65 73 3c 2f 43 4f 44 45 3e 20 3d 20 7a 65 72 6f 20 6d 65 61 r>.<CODE>modes</CODE>.=.zero.mea
89fe0 6e 73 20 73 65 74 20 6e 6f 74 68 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ns.set.nothing...........<br><br
8a000 3e 20 4f 6e 6c 79 20 74 68 65 20 73 75 70 65 72 75 73 65 72 20 63 61 6e 20 75 70 64 61 74 65 20 >.Only.the.superuser.can.update.
8a020 73 65 74 74 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e settings...........<br><br>.<br>
8a040 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 <br>.The.return.value.is.<CODE>0
8a060 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 6f 74 68 65 72 20 76 61 6c </CODE>.on.success.and.other.val
8a080 75 65 73 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f ues.on.failure...The..........fo
8a0a0 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 llowing.<CODE>errno</CODE>.error
8a0c0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 .conditions.are.defined.for.this
8a0e0 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c .function:..........<br><br>.<DL
8a100 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 49 4d 45 5f 45 52 52 4f 52 >...........<DT><CODE>TIME_ERROR
8a120 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 68 69 67 68 20 61 </CODE>.<DD>..........The.high.a
8a140 63 63 75 72 61 63 79 20 63 6c 6f 63 6b 20 6d 6f 64 65 6c 20 69 73 20 6e 6f 74 20 70 72 6f 70 65 ccuracy.clock.model.is.not.prope
8a160 72 6c 79 20 73 65 74 20 75 70 20 61 74 20 74 68 65 20 6d 6f 6d 65 6e 74 2c 20 74 68 75 73 20 74 rly.set.up.at.the.moment,.thus.t
8a180 68 65 0a 20 20 20 20 20 20 20 20 20 63 6c 6f 63 6b 20 6d 75 73 74 20 62 65 20 63 6f 6e 73 69 64 he..........clock.must.be.consid
8a1a0 65 72 65 64 20 75 6e 73 79 6e 63 68 72 6f 6e 69 7a 65 64 2c 20 61 6e 64 20 74 68 65 20 76 61 6c ered.unsynchronized,.and.the.val
8a1c0 75 65 73 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 74 72 65 61 74 65 64 20 77 ues.should.be..........treated.w
8a1e0 69 74 68 20 63 61 72 65 2e 20 20 41 6e 6f 74 68 65 72 20 72 65 61 73 6f 6e 20 63 6f 75 6c 64 20 ith.care...Another.reason.could.
8a200 62 65 20 74 68 61 74 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 6e 65 77 20 76 61 6c 75 65 73 be.that.the.specified.new.values
8a220 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 20 20 20 20 20 ..........are.not.allowed.......
8a240 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f ....<br><br>.<DT><CODE>EPERM</CO
8a260 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 73 70 DE>.<DD>..........The.process.sp
8a280 65 63 69 66 69 65 64 20 61 20 73 65 74 74 69 6e 67 73 20 75 70 64 61 74 65 2c 20 62 75 74 20 69 ecified.a.settings.update,.but.i
8a2a0 73 20 6e 6f 74 20 73 75 70 65 72 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 s.not.superuser...........<br><b
8a2c0 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 6d r>.</DL>..........<br><br>.For.m
8a2e0 6f 72 65 20 64 65 74 61 69 6c 73 20 73 65 65 20 52 46 43 31 33 30 35 20 28 4e 65 74 77 6f 72 6b ore.details.see.RFC1305.(Network
8a300 20 54 69 6d 65 20 50 72 6f 74 6f 63 6f 6c 2c 20 56 65 72 73 69 6f 6e 20 33 29 20 61 6e 64 0a 20 .Time.Protocol,.Version.3).and..
8a320 20 20 20 20 20 20 20 20 72 65 6c 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 20 20 20 20 20 ........related.documents.......
8a340 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 72 74 61 62 69 6c 69 74 79 20 6e 6f 74 65 3a 20 45 ....<br><br>.Portability.note:.E
8a360 61 72 6c 79 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 arly.versions.of.the.GNU.C.libra
8a380 72 79 20 64 69 64 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 68 61 76 65 20 74 68 69 73 20 66 75 ry.did.not..........have.this.fu
8a3a0 6e 63 74 69 6f 6e 20 62 75 74 20 64 69 64 20 68 61 76 65 20 74 68 65 20 73 79 6e 6f 6e 79 6d 6f nction.but.did.have.the.synonymo
8a3c0 75 73 20 3c 43 4f 44 45 3e 61 64 6a 74 69 6d 65 78 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 us.<CODE>adjtimex</CODE>........
8a3e0 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ...<br><br>.........sq.~......w.
8a400 00 00 00 0a 74 00 0b 73 79 73 2f 74 69 6d 65 78 2e 68 78 71 00 7e 14 6b 74 00 12 73 74 72 75 63 ....t..sys/timex.hxq.~.kt..struc
8a420 74 20 74 69 6d 65 78 20 2a 74 70 74 72 74 00 03 69 6e 74 74 00 0b 6e 74 70 5f 67 65 74 74 69 6d t.timex.*tptrt..intt..ntp_gettim
8a440 65 73 71 00 7e 00 0a 70 74 03 32 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6e 74 esq.~..pt.2.........The.<CODE>nt
8a460 70 5f 67 65 74 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 p_gettime</CODE>.function.sets.t
8a480 68 65 20 73 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 he.structure.pointed.to.by......
8a4a0 20 20 20 20 3c 56 41 52 3e 74 70 74 72 3c 2f 56 41 52 3e 20 74 6f 20 63 75 72 72 65 6e 74 20 76 ....<VAR>tptr</VAR>.to.current.v
8a4c0 61 6c 75 65 73 2e 20 20 54 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 73 74 72 75 alues...The.elements.of.the.stru
8a4e0 63 74 75 72 65 20 61 66 74 65 72 77 61 72 64 73 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 cture.afterwards..........contai
8a500 6e 20 74 68 65 20 76 61 6c 75 65 73 20 74 68 65 20 74 69 6d 65 72 20 69 6d 70 6c 65 6d 65 6e 74 n.the.values.the.timer.implement
8a520 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 6b 65 72 6e 65 6c 20 61 73 73 75 6d 65 73 2e 20 20 54 68 ation.in.the.kernel.assumes...Th
8a540 65 79 0a 20 20 20 20 20 20 20 20 20 6d 69 67 68 74 20 6f 72 20 6d 69 67 68 74 20 6e 6f 74 20 62 ey..........might.or.might.not.b
8a560 65 20 63 6f 72 72 65 63 74 2e 20 20 49 66 20 74 68 65 79 20 61 72 65 20 6e 6f 74 20 61 20 3c 43 e.correct...If.they.are.not.a.<C
8a580 4f 44 45 3e 6e 74 70 5f 61 64 6a 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 ODE>ntp_adjtime</CODE>..........
8a5a0 63 61 6c 6c 20 69 73 20 6e 65 63 65 73 73 61 72 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e call.is.necessary...........<br>
8a5c0 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 <br>.The.return.value.is.<CODE>0
8a5e0 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 6f 74 68 65 72 20 76 61 6c </CODE>.on.success.and.other.val
8a600 75 65 73 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f ues.on.failure...The..........fo
8a620 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 llowing.<CODE>errno</CODE>.error
8a640 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 .conditions.are.defined.for.this
8a660 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c .function:..........<br><br>.<DL
8a680 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 49 4d 45 5f 45 52 52 4f 52 >...........<DT><CODE>TIME_ERROR
8a6a0 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 65 63 69 73 </CODE>.<DD>..........The.precis
8a6c0 69 6f 6e 20 63 6c 6f 63 6b 20 6d 6f 64 65 6c 20 69 73 20 6e 6f 74 20 70 72 6f 70 65 72 6c 79 20 ion.clock.model.is.not.properly.
8a6e0 73 65 74 20 75 70 20 61 74 20 74 68 65 20 6d 6f 6d 65 6e 74 2c 20 74 68 75 73 20 74 68 65 0a 20 set.up.at.the.moment,.thus.the..
8a700 20 20 20 20 20 20 20 20 63 6c 6f 63 6b 20 6d 75 73 74 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 ........clock.must.be.considered
8a720 20 75 6e 73 79 6e 63 68 72 6f 6e 69 7a 65 64 2c 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 73 20 .unsynchronized,.and.the.values.
8a740 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 74 72 65 61 74 65 64 20 77 69 74 68 20 should.be..........treated.with.
8a760 63 61 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 care...........</DL>.........sq.
8a780 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 79 73 2f 74 69 6d 65 78 2e 68 78 71 00 7e 14 ~......w.....t..sys/timex.hxq.~.
8a7a0 72 74 00 17 73 74 72 75 63 74 20 6e 74 70 74 69 6d 65 76 61 6c 20 2a 74 70 74 72 74 00 03 69 6e rt..struct.ntptimeval.*tptrt..in
8a7c0 74 74 00 0d 6f 62 73 74 61 63 6b 5f 31 67 72 6f 77 73 71 00 7e 00 0a 70 74 00 ac 0a 20 20 20 20 tt..obstack_1growsq.~..pt.......
8a7e0 20 20 20 20 54 6f 20 61 64 64 20 6f 6e 65 20 63 68 61 72 61 63 74 65 72 20 61 74 20 61 20 74 69 ....To.add.one.character.at.a.ti
8a800 6d 65 2c 20 75 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 6f 62 73 74 61 me,.use.the.function.<CODE>obsta
8a820 63 6b 5f 31 67 72 6f 77 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 49 74 20 61 64 64 ck_1grow</CODE>...........It.add
8a840 73 20 61 20 73 69 6e 67 6c 65 20 62 79 74 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3c 56 41 52 3e s.a.single.byte.containing.<VAR>
8a860 63 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 2e 0a 20 c</VAR>.to.the.growing.object...
8a880 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 .......sq.~......w.....t..obstac
8a8a0 6b 2e 68 78 71 00 7e 14 79 74 00 23 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 k.hxq.~.yt.#struct.obstack.*obst
8a8c0 61 63 6b 2d 70 74 72 2c 20 63 68 61 72 20 63 74 00 04 76 6f 69 64 74 00 12 6f 62 73 74 61 63 6b ack-ptr,.char.ct..voidt..obstack
8a8e0 5f 31 67 72 6f 77 5f 66 61 73 74 73 71 00 7e 00 0a 70 74 00 b4 0a 20 20 20 20 20 20 20 20 54 68 _1grow_fastsq.~..pt...........Th
8a900 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 31 67 72 6f 77 5f 66 e.function.<CODE>obstack_1grow_f
8a920 61 73 74 3c 2f 43 4f 44 45 3e 20 61 64 64 73 20 6f 6e 65 20 62 79 74 65 20 63 6f 6e 74 61 69 6e ast</CODE>.adds.one.byte.contain
8a940 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e ing.the..........character.<VAR>
8a960 63 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 20 69 6e c</VAR>.to.the.growing.object.in
8a980 20 6f 62 73 74 61 63 6b 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 2d 70 74 72 3c 2f 56 41 52 3e 2e .obstack.<VAR>obstack-ptr</VAR>.
8a9a0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 .........sq.~......w.....t..obst
8a9c0 61 63 6b 2e 68 78 71 00 7e 14 80 74 00 23 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 ack.hxq.~..t.#struct.obstack.*ob
8a9e0 73 74 61 63 6b 2d 70 74 72 2c 20 63 68 61 72 20 63 74 00 04 76 6f 69 64 74 00 0d 6f 62 73 74 61 stack-ptr,.char.ct..voidt..obsta
8aa00 63 6b 5f 61 6c 6c 6f 63 73 71 00 7e 00 0a 70 74 02 cc 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 ck_allocsq.~..pt...........This.
8aa20 61 6c 6c 6f 63 61 74 65 73 20 61 6e 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 6c 6f 63 6b allocates.an.uninitialized.block
8aa40 20 6f 66 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 69 6e 20 61 6e 20 .of.<VAR>size</VAR>.bytes.in.an.
8aa60 6f 62 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e 73 20 69 74 73 obstack..........and.returns.its
8aa80 20 61 64 64 72 65 73 73 2e 20 20 48 65 72 65 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 2d 70 74 72 .address...Here.<VAR>obstack-ptr
8aaa0 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 20 77 68 69 63 68 20 6f 62 73 74 61 63 6b 0a 20 </VAR>.specifies.which.obstack..
8aac0 20 20 20 20 20 20 20 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 74 68 65 20 62 6c 6f 63 6b 20 69 6e ........to.allocate.the.block.in
8aae0 3b 20 69 74 20 69 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 ;.it.is.the.address.of.the.<CODE
8ab00 3e 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 >struct.obstack</CODE>..........
8ab20 6f 62 6a 65 63 74 20 77 68 69 63 68 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 6f 62 73 74 object.which.represents.the.obst
8ab40 61 63 6b 2e 20 20 45 61 63 68 20 6f 62 73 74 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 6d ack...Each.obstack.function.or.m
8ab60 61 63 72 6f 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 73 20 79 6f 75 20 74 6f 20 73 70 acro..........requires.you.to.sp
8ab80 65 63 69 66 79 20 61 6e 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 2d 70 74 72 3c 2f 56 41 52 3e 20 ecify.an.<VAR>obstack-ptr</VAR>.
8aba0 61 73 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 as.the.first.argument...........
8abc0 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 74 68 65 <br><br>.This.function.calls.the
8abe0 20 6f 62 73 74 61 63 6b 27 73 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 63 68 75 6e 6b 5f 61 .obstack's.<CODE>obstack_chunk_a
8ac00 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 66 0a 20 20 20 20 20 20 20 20 lloc</CODE>.function.if.........
8ac20 20 69 74 20 6e 65 65 64 73 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 61 20 6e 65 77 20 63 68 75 6e .it.needs.to.allocate.a.new.chun
8ac40 6b 20 6f 66 20 6d 65 6d 6f 72 79 3b 20 69 74 20 63 61 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 3c k.of.memory;.it.calls..........<
8ac60 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 61 6c 6c 6f 63 5f 66 61 69 6c 65 64 5f 68 61 6e 64 6c 65 CODE>obstack_alloc_failed_handle
8ac80 72 3c 2f 43 4f 44 45 3e 20 69 66 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 r</CODE>.if.allocation.of.memory
8aca0 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 63 68 75 6e 6b .by..........<CODE>obstack_chunk
8acc0 5f 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 66 61 69 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 _alloc</CODE>.failed..........sq
8ace0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 87 .~......w.....t..obstack.hxq.~..
8ad00 74 00 25 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 2c 20 t.%struct.obstack.*obstack-ptr,.
8ad20 69 6e 74 20 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 0c 6f 62 73 74 61 63 6b 5f 62 61 73 65 int.sizet..void.*t..obstack_base
8ad40 73 71 00 7e 00 0a 70 74 01 f4 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e sq.~..pt...........This.function
8ad60 20 72 65 74 75 72 6e 73 20 74 68 65 20 74 65 6e 74 61 74 69 76 65 20 61 64 64 72 65 73 73 20 6f .returns.the.tentative.address.o
8ad80 66 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 f.the.beginning.of.the..........
8ada0 63 75 72 72 65 6e 74 6c 79 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 20 69 6e 20 3c 56 41 52 currently.growing.object.in.<VAR
8adc0 3e 6f 62 73 74 61 63 6b 2d 70 74 72 3c 2f 56 41 52 3e 2e 20 20 49 66 20 79 6f 75 20 66 69 6e 69 >obstack-ptr</VAR>...If.you.fini
8ade0 73 68 20 74 68 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 69 6d 6d 65 64 69 61 74 65 sh.the.object..........immediate
8ae00 6c 79 2c 20 69 74 20 77 69 6c 6c 20 68 61 76 65 20 74 68 61 74 20 61 64 64 72 65 73 73 2e 20 20 ly,.it.will.have.that.address...
8ae20 49 66 20 79 6f 75 20 6d 61 6b 65 20 69 74 20 6c 61 72 67 65 72 20 66 69 72 73 74 2c 20 69 74 0a If.you.make.it.larger.first,.it.
8ae40 20 20 20 20 20 20 20 20 20 6d 61 79 20 6f 75 74 67 72 6f 77 20 74 68 65 20 63 75 72 72 65 6e 74 .........may.outgrow.the.current
8ae60 20 63 68 75 6e 6b 2d 2d 2d 74 68 65 6e 20 69 74 73 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 63 .chunk---then.its.address.will.c
8ae80 68 61 6e 67 65 21 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 6e 6f 20 6f hange!..........<br><br>.If.no.o
8aea0 62 6a 65 63 74 20 69 73 20 67 72 6f 77 69 6e 67 2c 20 74 68 69 73 20 76 61 6c 75 65 20 73 61 79 bject.is.growing,.this.value.say
8aec0 73 20 77 68 65 72 65 20 74 68 65 20 6e 65 78 74 20 6f 62 6a 65 63 74 20 79 6f 75 0a 20 20 20 20 s.where.the.next.object.you.....
8aee0 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 20 77 69 6c 6c 20 73 74 61 72 74 20 28 6f 6e 63 65 20 61 .....allocate.will.start.(once.a
8af00 67 61 69 6e 20 61 73 73 75 6d 69 6e 67 20 69 74 20 66 69 74 73 20 69 6e 20 74 68 65 20 63 75 72 gain.assuming.it.fits.in.the.cur
8af20 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 63 68 75 6e 6b 29 2e 0a 20 20 20 20 20 20 20 20 73 71 rent..........chunk)..........sq
8af40 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 8e .~......w.....t..obstack.hxq.~..
8af60 74 00 1b 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 74 00 t..struct.obstack.*obstack-ptrt.
8af80 06 76 6f 69 64 20 2a 74 00 0d 6f 62 73 74 61 63 6b 5f 62 6c 61 6e 6b 73 71 00 7e 00 0a 70 74 00 .void.*t..obstack_blanksq.~..pt.
8afa0 9a 0a 20 20 20 20 20 20 20 20 54 68 65 20 6d 6f 73 74 20 62 61 73 69 63 20 66 75 6e 63 74 69 6f ..........The.most.basic.functio
8afc0 6e 20 66 6f 72 20 61 64 64 69 6e 67 20 74 6f 20 61 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 n.for.adding.to.a.growing.object
8afe0 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 62 6c 61 6e 6b .is..........<CODE>obstack_blank
8b000 3c 2f 43 4f 44 45 3e 2c 20 77 68 69 63 68 20 61 64 64 73 20 73 70 61 63 65 20 77 69 74 68 6f 75 </CODE>,.which.adds.space.withou
8b020 74 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 69 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 t.initializing.it..........sq.~.
8b040 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 95 74 00 25 .....w.....t..obstack.hxq.~..t.%
8b060 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 2c 20 69 6e 74 struct.obstack.*obstack-ptr,.int
8b080 20 73 69 7a 65 74 00 04 76 6f 69 64 74 00 12 6f 62 73 74 61 63 6b 5f 62 6c 61 6e 6b 5f 66 61 73 .sizet..voidt..obstack_blank_fas
8b0a0 74 73 71 00 7e 00 0a 70 74 00 b5 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e tsq.~..pt...........The.function
8b0c0 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 62 6c 61 6e 6b 5f 66 61 73 74 3c 2f 43 4f 44 45 3e .<CODE>obstack_blank_fast</CODE>
8b0e0 20 61 64 64 73 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 74 6f 20 74 .adds.<VAR>size</VAR>.bytes.to.t
8b100 68 65 0a 20 20 20 20 20 20 20 20 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 20 69 6e 20 6f 62 he..........growing.object.in.ob
8b120 73 74 61 63 6b 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 2d 70 74 72 3c 2f 56 41 52 3e 20 77 69 74 stack.<VAR>obstack-ptr</VAR>.wit
8b140 68 6f 75 74 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 20 20 hout.initializing.them..........
8b160 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e sq.~......w.....t..obstack.hxq.~
8b180 14 9c 74 00 25 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 ..t.%struct.obstack.*obstack-ptr
8b1a0 2c 20 69 6e 74 20 73 69 7a 65 74 00 04 76 6f 69 64 74 00 0c 6f 62 73 74 61 63 6b 5f 63 6f 70 79 ,.int.sizet..voidt..obstack_copy
8b1c0 73 71 00 7e 00 0a 70 74 01 17 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 61 6c 6c 6f 63 61 74 65 sq.~..pt...........This.allocate
8b1e0 73 20 61 20 62 6c 6f 63 6b 20 61 6e 64 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 69 74 20 62 79 20 s.a.block.and.initializes.it.by.
8b200 63 6f 70 79 69 6e 67 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 copying.<VAR>size</VAR>.........
8b220 20 62 79 74 65 73 20 6f 66 20 64 61 74 61 20 73 74 61 72 74 69 6e 67 20 61 74 20 3c 56 41 52 3e .bytes.of.data.starting.at.<VAR>
8b240 61 64 64 72 65 73 73 3c 2f 56 41 52 3e 2e 20 20 49 74 20 63 61 6c 6c 73 0a 20 20 20 20 20 20 20 address</VAR>...It.calls........
8b260 20 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 61 6c 6c 6f 63 5f 66 61 69 6c 65 64 5f 68 61 6e ..<CODE>obstack_alloc_failed_han
8b280 64 6c 65 72 3c 2f 43 4f 44 45 3e 20 69 66 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d 65 6d dler</CODE>.if.allocation.of.mem
8b2a0 6f 72 79 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 63 68 ory.by..........<CODE>obstack_ch
8b2c0 75 6e 6b 5f 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 66 61 69 6c 65 64 2e 0a 20 20 20 20 20 20 20 unk_alloc</CODE>.failed.........
8b2e0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 .sq.~......w.....t..obstack.hxq.
8b300 7e 14 a3 74 00 34 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 ~..t.4struct.obstack.*obstack-pt
8b320 72 2c 20 76 6f 69 64 20 2a 61 64 64 72 65 73 73 2c 20 69 6e 74 20 73 69 7a 65 74 00 06 76 6f 69 r,.void.*address,.int.sizet..voi
8b340 64 20 2a 74 00 0d 6f 62 73 74 61 63 6b 5f 63 6f 70 79 30 73 71 00 7e 00 0a 70 74 00 b2 0a 20 20 d.*t..obstack_copy0sq.~..pt.....
8b360 20 20 20 20 20 20 4c 69 6b 65 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 63 6f 70 79 3c 2f 43 ......Like.<CODE>obstack_copy</C
8b380 4f 44 45 3e 2c 20 62 75 74 20 61 70 70 65 6e 64 73 20 61 6e 20 65 78 74 72 61 20 62 79 74 65 20 ODE>,.but.appends.an.extra.byte.
8b3a0 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 containing.a.null..........chara
8b3c0 63 74 65 72 2e 20 20 54 68 69 73 20 65 78 74 72 61 20 62 79 74 65 20 69 73 20 6e 6f 74 20 63 6f cter...This.extra.byte.is.not.co
8b3e0 75 6e 74 65 64 20 69 6e 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 73 69 7a 65 3c unted.in.the.argument.<VAR>size<
8b400 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 /VAR>..........sq.~......w.....t
8b420 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 aa 74 00 34 73 74 72 75 63 74 20 6f 62 73 74 61 ..obstack.hxq.~..t.4struct.obsta
8b440 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 2c 20 76 6f 69 64 20 2a 61 64 64 72 65 73 73 2c 20 ck.*obstack-ptr,.void.*address,.
8b460 69 6e 74 20 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 0e 6f 62 73 74 61 63 6b 5f 66 69 6e 69 int.sizet..void.*t..obstack_fini
8b480 73 68 73 71 00 7e 00 0a 70 74 01 aa 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 61 72 shsq.~..pt...........When.you.ar
8b4a0 65 20 66 69 6e 69 73 68 65 64 20 67 72 6f 77 69 6e 67 20 74 68 65 20 6f 62 6a 65 63 74 2c 20 75 e.finished.growing.the.object,.u
8b4c0 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f se.the.function..........<CODE>o
8b4e0 62 73 74 61 63 6b 5f 66 69 6e 69 73 68 3c 2f 43 4f 44 45 3e 20 74 6f 20 63 6c 6f 73 65 20 69 74 bstack_finish</CODE>.to.close.it
8b500 20 6f 66 66 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 66 69 6e 61 6c 20 61 64 64 72 65 73 .off.and.return.its.final.addres
8b520 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 63 65 20 79 6f 75 20 68 61 s...........<br><br>.Once.you.ha
8b540 76 65 20 66 69 6e 69 73 68 65 64 20 74 68 65 20 6f 62 6a 65 63 74 2c 20 74 68 65 20 6f 62 73 74 ve.finished.the.object,.the.obst
8b560 61 63 6b 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 6f 72 64 69 6e 61 72 79 0a 20 20 ack.is.available.for.ordinary...
8b580 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6f 72 20 66 6f 72 20 67 72 6f 77 69 6e 67 .......allocation.or.for.growing
8b5a0 20 61 6e 6f 74 68 65 72 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .another.object...........<br><b
8b5c0 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 72 65 74 75 72 6e 20 61 20 6e 75 r>.This.function.can.return.a.nu
8b5e0 6c 6c 20 70 6f 69 6e 74 65 72 20 75 6e 64 65 72 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 64 69 74 ll.pointer.under.the.same.condit
8b600 69 6f 6e 73 20 61 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 61 ions.as..........<CODE>obstack_a
8b620 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 lloc</CODE>...........sq.~......
8b640 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 b1 74 00 1b 73 74 72 75 63 w.....t..obstack.hxq.~..t..struc
8b660 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 74 00 06 76 6f 69 64 20 2a 74 t.obstack.*obstack-ptrt..void.*t
8b680 00 0c 6f 62 73 74 61 63 6b 5f 66 72 65 65 73 71 00 7e 00 0a 70 74 01 4c 0a 20 20 20 20 20 20 20 ..obstack_freesq.~..pt.L........
8b6a0 20 49 66 20 3c 56 41 52 3e 6f 62 6a 65 63 74 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 .If.<VAR>object</VAR>.is.a.null.
8b6c0 70 6f 69 6e 74 65 72 2c 20 65 76 65 72 79 74 68 69 6e 67 20 61 6c 6c 6f 63 61 74 65 64 20 69 6e pointer,.everything.allocated.in
8b6e0 20 74 68 65 20 6f 62 73 74 61 63 6b 0a 20 20 20 20 20 20 20 20 20 69 73 20 66 72 65 65 64 2e 20 .the.obstack..........is.freed..
8b700 20 4f 74 68 65 72 77 69 73 65 2c 20 3c 56 41 52 3e 6f 62 6a 65 63 74 3c 2f 56 41 52 3e 20 6d 75 .Otherwise,.<VAR>object</VAR>.mu
8b720 73 74 20 62 65 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 6e 20 6f 62 6a 65 63 74 0a 20 st.be.the.address.of.an.object..
8b740 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 65 20 6f 62 73 74 61 63 6b ........allocated.in.the.obstack
8b760 2e 20 20 54 68 65 6e 20 3c 56 41 52 3e 6f 62 6a 65 63 74 3c 2f 56 41 52 3e 20 69 73 20 66 72 65 ...Then.<VAR>object</VAR>.is.fre
8b780 65 64 2c 20 61 6c 6f 6e 67 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 65 76 65 72 79 74 68 69 ed,.along.with..........everythi
8b7a0 6e 67 20 61 6c 6c 6f 63 61 74 65 64 20 69 6e 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 3c 2f 56 41 ng.allocated.in.<VAR>obstack</VA
8b7c0 52 3e 20 73 69 6e 63 65 20 3c 56 41 52 3e 6f 62 6a 65 63 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 R>.since.<VAR>object</VAR>......
8b7e0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 ....sq.~......w.....t..obstack.h
8b800 78 71 00 7e 14 b8 74 00 29 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b xq.~..t.)struct.obstack.*obstack
8b820 2d 70 74 72 2c 20 76 6f 69 64 20 2a 6f 62 6a 65 63 74 74 00 04 76 6f 69 64 74 00 0c 6f 62 73 74 -ptr,.void.*objectt..voidt..obst
8b840 61 63 6b 5f 67 72 6f 77 73 71 00 7e 00 0a 70 74 01 1c 0a 20 20 20 20 20 20 20 20 54 6f 20 61 64 ack_growsq.~..pt...........To.ad
8b860 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 73 70 61 63 65 2c 20 d.a.block.of.initialized.space,.
8b880 75 73 65 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 67 72 6f 77 3c 2f 43 4f 44 45 3e 2c 20 77 use.<CODE>obstack_grow</CODE>,.w
8b8a0 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 67 72 6f 77 69 6e 67 2d 6f 62 6a hich.is..........the.growing-obj
8b8c0 65 63 74 20 61 6e 61 6c 6f 67 75 65 20 6f 66 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 63 6f ect.analogue.of.<CODE>obstack_co
8b8e0 70 79 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 20 61 64 64 73 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 py</CODE>...It.adds.<VAR>size</V
8b900 41 52 3e 0a 20 20 20 20 20 20 20 20 20 62 79 74 65 73 20 6f 66 20 64 61 74 61 20 74 6f 20 74 68 AR>..........bytes.of.data.to.th
8b920 65 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 2c 20 63 6f 70 79 69 6e 67 20 74 68 65 20 63 6f e.growing.object,.copying.the.co
8b940 6e 74 65 6e 74 73 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 64 61 74 61 3c 2f ntents.from..........<VAR>data</
8b960 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 VAR>..........sq.~......w.....t.
8b980 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 bf 74 00 31 73 74 72 75 63 74 20 6f 62 73 74 61 63 .obstack.hxq.~..t.1struct.obstac
8b9a0 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 2c 20 76 6f 69 64 20 2a 64 61 74 61 2c 20 69 6e 74 20 k.*obstack-ptr,.void.*data,.int.
8b9c0 73 69 7a 65 74 00 04 76 6f 69 64 74 00 0d 6f 62 73 74 61 63 6b 5f 67 72 6f 77 30 73 71 00 7e 00 sizet..voidt..obstack_grow0sq.~.
8b9e0 0a 70 74 00 cc 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 67 72 6f 77 69 6e .pt...........This.is.the.growin
8ba00 67 2d 6f 62 6a 65 63 74 20 61 6e 61 6c 6f 67 75 65 20 6f 66 20 3c 43 4f 44 45 3e 6f 62 73 74 61 g-object.analogue.of.<CODE>obsta
8ba20 63 6b 5f 63 6f 70 79 30 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 20 61 64 64 73 0a 20 20 20 20 20 20 ck_copy0</CODE>...It.adds.......
8ba40 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 63 6f 70 69 65 64 20 ...<VAR>size</VAR>.bytes.copied.
8ba60 66 72 6f 6d 20 3c 56 41 52 3e 64 61 74 61 3c 2f 56 41 52 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 from.<VAR>data</VAR>,.followed.b
8ba80 79 20 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 63 68 y.an.additional.null..........ch
8baa0 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 aracter..........sq.~......w....
8bac0 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 c6 74 00 31 73 74 72 75 63 74 20 6f 62 73 .t..obstack.hxq.~..t.1struct.obs
8bae0 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 2c 20 76 6f 69 64 20 2a 64 61 74 61 2c 20 69 tack.*obstack-ptr,.void.*data,.i
8bb00 6e 74 20 73 69 7a 65 74 00 04 76 6f 69 64 74 00 0c 6f 62 73 74 61 63 6b 5f 69 6e 69 74 73 71 00 nt.sizet..voidt..obstack_initsq.
8bb20 7e 00 0a 70 74 01 ce 0a 20 20 20 20 20 20 20 20 49 6e 69 74 69 61 6c 69 7a 65 20 6f 62 73 74 61 ~..pt...........Initialize.obsta
8bb40 63 6b 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 2d 70 74 72 3c 2f 56 41 52 3e 20 66 6f 72 20 61 6c ck.<VAR>obstack-ptr</VAR>.for.al
8bb60 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6f 62 6a 65 63 74 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 location.of.objects...This......
8bb80 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 74 68 65 20 6f 62 73 74 61 63 6b 27 73 ....function.calls.the.obstack's
8bba0 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 63 68 75 6e 6b 5f 61 6c 6c 6f 63 3c 2f 43 4f 44 45 .<CODE>obstack_chunk_alloc</CODE
8bbc0 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 >.function...If..........allocat
8bbe0 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 66 61 69 6c 73 2c 20 74 68 65 20 66 75 6e 63 74 69 6f ion.of.memory.fails,.the.functio
8bc00 6e 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f n.pointed.to.by..........<CODE>o
8bc20 62 73 74 61 63 6b 5f 61 6c 6c 6f 63 5f 66 61 69 6c 65 64 5f 68 61 6e 64 6c 65 72 3c 2f 43 4f 44 bstack_alloc_failed_handler</COD
8bc40 45 3e 20 69 73 20 63 61 6c 6c 65 64 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b E>.is.called...The.<CODE>obstack
8bc60 5f 69 6e 69 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 _init</CODE>..........function.a
8bc80 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 31 20 28 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6e lways.returns.1.(Compatibility.n
8bca0 6f 74 69 63 65 3a 20 46 6f 72 6d 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 20 otice:.Former.versions.of.......
8bcc0 20 20 20 6f 62 73 74 61 63 6b 20 72 65 74 75 72 6e 65 64 20 30 20 69 66 20 61 6c 6c 6f 63 61 74 ...obstack.returned.0.if.allocat
8bce0 69 6f 6e 20 66 61 69 6c 65 64 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 ion.failed)..........sq.~......w
8bd00 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 cd 74 00 1b 73 74 72 75 63 74 .....t..obstack.hxq.~..t..struct
8bd20 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 74 00 03 69 6e 74 74 00 10 6f 62 .obstack.*obstack-ptrt..intt..ob
8bd40 73 74 61 63 6b 5f 69 6e 74 5f 67 72 6f 77 73 71 00 7e 00 0a 70 74 01 04 0a 20 20 20 20 20 20 20 stack_int_growsq.~..pt..........
8bd60 20 41 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 69 6e .A.single.value.of.type.<CODE>in
8bd80 74 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 61 64 64 65 64 20 62 79 20 75 73 69 6e 67 20 74 t</CODE>.can.be.added.by.using.t
8bda0 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 69 6e 74 5f 67 72 he..........<CODE>obstack_int_gr
8bdc0 6f 77 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 74 20 61 64 64 73 20 3c 43 4f ow</CODE>.function...It.adds.<CO
8bde0 44 45 3e 73 69 7a 65 6f 66 20 28 69 6e 74 29 3c 2f 43 4f 44 45 3e 20 62 79 74 65 73 20 74 6f 0a DE>sizeof.(int)</CODE>.bytes.to.
8be00 20 20 20 20 20 20 20 20 20 74 68 65 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 20 61 6e 64 20 .........the.growing.object.and.
8be20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 6d 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 initializes.them.with.the.value.
8be40 6f 66 20 3c 56 41 52 3e 64 61 74 61 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e of.<VAR>data</VAR>..........sq.~
8be60 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 d4 74 00 ......w.....t..obstack.hxq.~..t.
8be80 25 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 2c 20 69 6e %struct.obstack.*obstack-ptr,.in
8bea0 74 20 64 61 74 61 74 00 04 76 6f 69 64 74 00 15 6f 62 73 74 61 63 6b 5f 69 6e 74 5f 67 72 6f 77 t.datat..voidt..obstack_int_grow
8bec0 5f 66 61 73 74 73 71 00 7e 00 0a 70 74 00 d9 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 _fastsq.~..pt...........The.func
8bee0 74 69 6f 6e 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 69 6e 74 5f 67 72 6f 77 5f 66 61 73 74 tion.<CODE>obstack_int_grow_fast
8bf00 3c 2f 43 4f 44 45 3e 20 61 64 64 73 20 3c 43 4f 44 45 3e 73 69 7a 65 6f 66 20 28 69 6e 74 29 3c </CODE>.adds.<CODE>sizeof.(int)<
8bf20 2f 43 4f 44 45 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 /CODE>.bytes..........containing
8bf40 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 64 61 74 61 3c 2f 56 41 52 3e 20 74 6f .the.value.of.<VAR>data</VAR>.to
8bf60 20 74 68 65 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 20 69 6e 20 6f 62 73 74 61 63 6b 0a 20 .the.growing.object.in.obstack..
8bf80 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 2d 70 74 72 3c 2f 56 41 52 3e 2e 0a ........<VAR>obstack-ptr</VAR>..
8bfa0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 ........sq.~......w.....t..obsta
8bfc0 63 6b 2e 68 78 71 00 7e 14 db 74 00 25 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 ck.hxq.~..t.%struct.obstack.*obs
8bfe0 74 61 63 6b 2d 70 74 72 2c 20 69 6e 74 20 64 61 74 61 74 00 04 76 6f 69 64 74 00 11 6f 62 73 74 tack-ptr,.int.datat..voidt..obst
8c000 61 63 6b 5f 6e 65 78 74 5f 66 72 65 65 73 71 00 7e 00 0a 70 74 01 3d 0a 20 20 20 20 20 20 20 20 ack_next_freesq.~..pt.=.........
8c020 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 64 64 72 65 73 This.function.returns.the.addres
8c040 73 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 72 65 65 20 62 79 74 65 20 69 6e 20 74 68 65 20 s.of.the.first.free.byte.in.the.
8c060 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 63 68 75 6e 6b 20 6f 66 20 6f 62 73 74 61 63 current..........chunk.of.obstac
8c080 6b 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 2d 70 74 72 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 k.<VAR>obstack-ptr</VAR>...This.
8c0a0 69 73 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 0a 20 20 20 20 is.the.end.of.the.currently.....
8c0c0 20 20 20 20 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 2e 20 20 49 66 20 6e 6f 20 6f 62 6a 65 .....growing.object...If.no.obje
8c0e0 63 74 20 69 73 20 67 72 6f 77 69 6e 67 2c 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 6e 65 78 ct.is.growing,.<CODE>obstack_nex
8c100 74 5f 66 72 65 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 t_free</CODE>..........returns.t
8c120 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 61 73 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 62 he.same.value.as.<CODE>obstack_b
8c140 61 73 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ase</CODE>..........sq.~......w.
8c160 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 e2 74 00 1b 73 74 72 75 63 74 20 ....t..obstack.hxq.~..t..struct.
8c180 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 74 00 06 76 6f 69 64 20 2a 74 00 13 obstack.*obstack-ptrt..void.*t..
8c1a0 6f 62 73 74 61 63 6b 5f 6f 62 6a 65 63 74 5f 73 69 7a 65 73 71 00 7e 00 0a 70 74 01 05 0a 20 20 obstack_object_sizesq.~..pt.....
8c1c0 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 ......This.function.returns.the.
8c1e0 73 69 7a 65 20 69 6e 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 67 size.in.bytes.of.the.currently.g
8c200 72 6f 77 69 6e 67 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 rowing.object...........This.is.
8c220 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 equivalent.to..........<br><br>.
8c240 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6f 62 73 74 61 63 6b 5f 6e 65 78 74 5f <pre><br>..........obstack_next_
8c260 66 72 65 65 20 28 3c 56 41 52 3e 6f 62 73 74 61 63 6b 2d 70 74 72 3c 2f 56 41 52 3e 29 20 2d 20 free.(<VAR>obstack-ptr</VAR>).-.
8c280 6f 62 73 74 61 63 6b 5f 62 61 73 65 20 28 3c 56 41 52 3e 6f 62 73 74 61 63 6b 2d 70 74 72 3c 2f obstack_base.(<VAR>obstack-ptr</
8c2a0 56 41 52 3e 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 VAR>)<br>..........</pre>.......
8c2c0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 74 ..sq.~......w.....t..obstack.hxt
8c2e0 00 13 6f 62 73 74 61 63 6b 5f 6f 62 6a 65 63 74 5f 73 69 7a 65 74 00 1b 73 74 72 75 63 74 20 6f ..obstack_object_sizet..struct.o
8c300 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 74 00 03 69 6e 74 74 00 0e 6f 62 73 74 bstack.*obstack-ptrt..intt..obst
8c320 61 63 6b 5f 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 01 4b 0a 20 20 20 20 20 20 20 20 54 68 69 ack_printfsq.~..pt.K.........Thi
8c340 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 61 s.function.is.similar.to.<CODE>a
8c360 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 75 sprintf</CODE>,.except.that.it.u
8c380 73 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 62 73 74 61 63 6b 20 3c 56 41 52 3e 6f 62 ses.the..........obstack.<VAR>ob
8c3a0 73 74 61 63 6b 3c 2f 56 41 52 3e 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 74 68 65 20 73 70 61 63 stack</VAR>.to.allocate.the.spac
8c3c0 65 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 63 68 61 72 e..............<br><br>.The.char
8c3e0 61 63 74 65 72 73 20 61 72 65 20 77 72 69 74 74 65 6e 20 6f 6e 74 6f 20 74 68 65 20 65 6e 64 20 acters.are.written.onto.the.end.
8c400 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 20 of.the.current.object...........
8c420 54 6f 20 67 65 74 20 61 74 20 74 68 65 6d 2c 20 79 6f 75 20 6d 75 73 74 20 66 69 6e 69 73 68 20 To.get.at.them,.you.must.finish.
8c440 74 68 65 20 6f 62 6a 65 63 74 20 77 69 74 68 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 66 69 the.object.with.<CODE>obstack_fi
8c460 6e 69 73 68 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 73 nish</CODE>....................s
8c480 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 14 f1 74 q.~......w.....t..stdio.hxq.~..t
8c4a0 00 32 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2c 20 63 6f 6e 73 74 .2struct.obstack.*obstack,.const
8c4c0 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 10 6f 62 73 .char.*template,....t..intt..obs
8c4e0 74 61 63 6b 5f 70 74 72 5f 67 72 6f 77 73 71 00 7e 00 0a 70 74 00 ce 0a 20 20 20 20 20 20 20 20 tack_ptr_growsq.~..pt...........
8c500 41 64 64 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 6f 6e Adding.the.value.of.a.pointer.on
8c520 65 20 63 61 6e 20 75 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 e.can.use.the.function..........
8c540 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 70 74 72 5f 67 72 6f 77 3c 2f 43 4f 44 45 3e 2e 20 20 <CODE>obstack_ptr_grow</CODE>...
8c560 49 74 20 61 64 64 73 20 3c 43 4f 44 45 3e 73 69 7a 65 6f 66 20 28 76 6f 69 64 20 2a 29 3c 2f 43 It.adds.<CODE>sizeof.(void.*)</C
8c580 4f 44 45 3e 20 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 ODE>.bytes..........containing.t
8c5a0 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 64 61 74 61 3c 2f 56 41 52 3e 2e 0a 20 20 20 he.value.of.<VAR>data</VAR>.....
8c5c0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e .....sq.~......w.....t..obstack.
8c5e0 68 78 71 00 7e 14 f8 74 00 27 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 hxq.~..t.'struct.obstack.*obstac
8c600 6b 2d 70 74 72 2c 20 76 6f 69 64 20 2a 64 61 74 61 74 00 04 76 6f 69 64 74 00 15 6f 62 73 74 61 k-ptr,.void.*datat..voidt..obsta
8c620 63 6b 5f 70 74 72 5f 67 72 6f 77 5f 66 61 73 74 73 71 00 7e 00 0a 70 74 00 dc 0a 20 20 20 20 20 ck_ptr_grow_fastsq.~..pt........
8c640 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 70 74 ...The.function.<CODE>obstack_pt
8c660 72 5f 67 72 6f 77 5f 66 61 73 74 3c 2f 43 4f 44 45 3e 20 61 64 64 73 20 3c 43 4f 44 45 3e 73 69 r_grow_fast</CODE>.adds.<CODE>si
8c680 7a 65 6f 66 20 28 76 6f 69 64 20 2a 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 62 79 zeof.(void.*)</CODE>..........by
8c6a0 74 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 tes.containing.the.value.of.<VAR
8c6c0 3e 64 61 74 61 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 67 72 6f 77 69 6e 67 20 6f 62 6a 65 63 >data</VAR>.to.the.growing.objec
8c6e0 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 6f 62 73 74 61 63 6b 20 3c 56 41 52 3e 6f 62 73 74 61 t.in..........obstack.<VAR>obsta
8c700 63 6b 2d 70 74 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ck-ptr</VAR>..........sq.~......
8c720 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 00 7e 14 ff 74 00 27 73 74 72 75 63 w.....t..obstack.hxq.~..t.'struc
8c740 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 74 72 2c 20 76 6f 69 64 20 2a 64 61 t.obstack.*obstack-ptr,.void.*da
8c760 74 61 74 00 04 76 6f 69 64 74 00 0c 6f 62 73 74 61 63 6b 5f 72 6f 6f 6d 73 71 00 7e 00 0a 70 74 tat..voidt..obstack_roomsq.~..pt
8c780 00 e0 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 ...........This.returns.the.numb
8c7a0 65 72 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 61 64 64 65 64 20 73 61 er.of.bytes.that.can.be.added.sa
8c7c0 66 65 6c 79 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 67 72 6f fely.to.the.current..........gro
8c7e0 77 69 6e 67 20 6f 62 6a 65 63 74 20 28 6f 72 20 74 6f 20 61 6e 20 6f 62 6a 65 63 74 20 61 62 6f wing.object.(or.to.an.object.abo
8c800 75 74 20 74 6f 20 62 65 20 73 74 61 72 74 65 64 29 20 69 6e 20 6f 62 73 74 61 63 6b 0a 20 20 20 ut.to.be.started).in.obstack....
8c820 20 20 20 20 20 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 3c 2f 56 41 52 3e 20 75 73 69 6e 67 20 74 ......<VAR>obstack</VAR>.using.t
8c840 68 65 20 66 61 73 74 20 67 72 6f 77 74 68 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 he.fast.growth.functions........
8c860 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 6f 62 73 74 61 63 6b 2e 68 78 71 ..sq.~......w.....t..obstack.hxq
8c880 00 7e 15 06 74 00 1b 73 74 72 75 63 74 20 6f 62 73 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2d 70 .~..t..struct.obstack.*obstack-p
8c8a0 74 72 74 00 03 69 6e 74 74 00 0f 6f 62 73 74 61 63 6b 5f 76 70 72 69 6e 74 66 73 71 00 7e 00 0a trt..intt..obstack_vprintfsq.~..
8c8c0 70 74 00 ce 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 76 pt...........The.<CODE>obstack_v
8c8e0 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 65 71 printf</CODE>.function.is.the.eq
8c900 75 69 76 61 6c 65 6e 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 62 73 74 61 uivalent.of..........<CODE>obsta
8c920 63 6b 5f 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 76 61 72 69 61 62 ck_printf</CODE>.with.the.variab
8c940 6c 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65 63 le.argument.list.specified.direc
8c960 74 6c 79 0a 20 20 20 20 20 20 20 20 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 76 70 72 69 6e 74 tly..........as.for.<CODE>vprint
8c980 66 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 f</CODE>..........sq.~......w...
8c9a0 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 15 0d 74 00 39 73 74 72 75 63 74 20 6f 62 73 74 ..t..stdio.hxq.~..t.9struct.obst
8c9c0 61 63 6b 20 2a 6f 62 73 74 61 63 6b 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 ack.*obstack,.const.char.*templa
8c9e0 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 03 69 6e 74 74 00 07 6f 6e 5f 65 78 69 74 73 71 te,.va_list.apt..intt..on_exitsq
8ca00 00 7e 00 0a 70 74 02 29 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 .~..pt.).........This.function.i
8ca20 73 20 61 20 73 6f 6d 65 77 68 61 74 20 6d 6f 72 65 20 70 6f 77 65 72 66 75 6c 20 76 61 72 69 61 s.a.somewhat.more.powerful.varia
8ca40 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 61 74 65 78 69 74 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 0a 20 nt.of.<CODE>atexit</CODE>...It..
8ca60 20 20 20 20 20 20 20 20 61 63 63 65 70 74 73 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 ........accepts.two.arguments,.a
8ca80 20 66 75 6e 63 74 69 6f 6e 20 3c 56 41 52 3e 66 75 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 61 6e .function.<VAR>function</VAR>.an
8caa0 64 20 61 6e 20 61 72 62 69 74 72 61 72 79 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 d.an.arbitrary..........pointer.
8cac0 3c 56 41 52 3e 61 72 67 3c 2f 56 41 52 3e 2e 20 20 41 74 20 6e 6f 72 6d 61 6c 20 70 72 6f 67 72 <VAR>arg</VAR>...At.normal.progr
8cae0 61 6d 20 74 65 72 6d 69 6e 61 74 69 6f 6e 2c 20 74 68 65 20 3c 56 41 52 3e 66 75 6e 63 74 69 6f am.termination,.the.<VAR>functio
8cb00 6e 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 77 69 74 68 20 n</VAR>.is..........called.with.
8cb20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 3a 20 20 74 68 65 20 3c 56 41 52 3e 73 74 61 74 75 73 3c two.arguments:..the.<VAR>status<
8cb40 2f 56 41 52 3e 20 76 61 6c 75 65 20 70 61 73 73 65 64 20 74 6f 20 3c 43 4f 44 45 3e 65 78 69 74 /VAR>.value.passed.to.<CODE>exit
8cb60 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 3c 56 41 52 3e 61 </CODE>,..........and.the.<VAR>a
8cb80 72 67 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 rg</VAR>...........<br><br>.This
8cba0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 47 4e 55 .function.is.included.in.the.GNU
8cbc0 20 43 20 6c 69 62 72 61 72 79 20 6f 6e 6c 79 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 .C.library.only.for.compatibilit
8cbe0 79 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 53 75 6e 4f 53 2c 20 61 6e 64 20 6d 61 79 20 6e 6f y..........for.SunOS,.and.may.no
8cc00 74 20 62 65 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 6f 74 68 65 72 20 69 6d 70 6c 65 6d 65 6e t.be.supported.by.other.implemen
8cc20 74 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 tations..........sq.~......w....
8cc40 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 15 14 74 00 32 76 6f 69 64 20 28 2a 66 75 6e 63 .t..stdlib.hxq.~..t.2void.(*func
8cc60 74 69 6f 6e 29 28 69 6e 74 20 73 74 61 74 75 73 2c 20 76 6f 69 64 20 2a 61 72 67 29 2c 20 76 6f tion)(int.status,.void.*arg),.vo
8cc80 69 64 20 2a 61 72 67 74 00 03 69 6e 74 74 00 04 6f 70 65 6e 73 71 00 7e 00 0a 70 74 10 23 0a 20 id.*argt..intt..opensq.~..pt.#..
8cca0 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e .......The.<CODE>open</CODE>.fun
8ccc0 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 6e 65 77 20 ction.creates.and.returns.a.new.
8cce0 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 file.descriptor..........for.the
8cd00 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 .file.named.by.<VAR>filename</VA
8cd20 52 3e 2e 20 20 49 6e 69 74 69 61 6c 6c 79 2c 20 74 68 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f R>...Initially,.the.file.positio
8cd40 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 6f 72 20 66 6f 72 20 74 68 65 20 66 69 6c n..........indicator.for.the.fil
8cd60 65 20 69 73 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 66 69 6c e.is.at.the.beginning.of.the.fil
8cd80 65 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6d e...The.argument..........<VAR>m
8cda0 6f 64 65 3c 2f 56 41 52 3e 20 69 73 20 75 73 65 64 20 6f 6e 6c 79 20 77 68 65 6e 20 61 20 66 69 ode</VAR>.is.used.only.when.a.fi
8cdc0 6c 65 20 69 73 20 63 72 65 61 74 65 64 2c 20 62 75 74 20 69 74 20 64 6f 65 73 6e 27 74 20 68 75 le.is.created,.but.it.doesn't.hu
8cde0 72 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 73 75 70 70 6c 79 20 74 68 65 20 61 72 67 75 6d 65 rt..........to.supply.the.argume
8ce00 6e 74 20 69 6e 20 61 6e 79 20 63 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 nt.in.any.case...........<br><br
8ce20 3e 20 54 68 65 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 >.The.<VAR>flags</VAR>.argument.
8ce40 63 6f 6e 74 72 6f 6c 73 20 68 6f 77 20 74 68 65 20 66 69 6c 65 20 69 73 20 74 6f 20 62 65 20 6f controls.how.the.file.is.to.be.o
8ce60 70 65 6e 65 64 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 20 62 69 74 20 6d pened...This.is..........a.bit.m
8ce80 61 73 6b 3b 20 79 6f 75 20 63 72 65 61 74 65 20 74 68 65 20 76 61 6c 75 65 20 62 79 20 74 68 65 ask;.you.create.the.value.by.the
8cea0 20 62 69 74 77 69 73 65 20 4f 52 20 6f 66 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 20 .bitwise.OR.of.the.appropriate..
8cec0 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 20 28 75 73 69 6e 67 20 74 68 65 20 3c 73 ........parameters.(using.the.<s
8cee0 61 6d 70 3e 7c 3c 2f 73 61 6d 70 3e 20 6f 70 65 72 61 74 6f 72 20 69 6e 20 43 29 2e 0a 20 20 20 amp>|</samp>.operator.in.C).....
8cf00 20 20 20 20 20 20 2c 20 66 6f 72 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 61 76 61 69 6c ......,.for.the.parameters.avail
8cf20 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d able...........<br><br>.The.norm
8cf40 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c al.return.value.from.<CODE>open<
8cf60 2f 43 4f 44 45 3e 20 69 73 20 61 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 /CODE>.is.a.non-negative.integer
8cf80 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 2e 20 20 49 6e 20 74 .file..........descriptor...In.t
8cfa0 68 65 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 2c 20 61 20 76 61 6c 75 65 20 6f 66 20 he.case.of.an.error,.a.value.of.
8cfc0 2d 31 20 69 73 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 2e -1.is.returned..........instead.
8cfe0 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 ..In.addition.to.the.usual.file.
8d000 6e 61 6d 65 20 65 72 72 6f 72 73 20 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 name.errors.,.the.following.<COD
8d020 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 E>errno</CODE>.error.conditions.
8d040 61 72 65 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 69 73 20 66 75 are.defined..........for.this.fu
8d060 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a nction:..........<br><br>.<DL>..
8d080 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 0a 20 20 20 20 20 20 .........<DT><CODE>EACCES.......
8d0a0 20 20 20 54 68 65 20 66 69 6c 65 20 65 78 69 73 74 73 20 62 75 74 20 69 73 20 6e 6f 74 20 72 65 ...The.file.exists.but.is.not.re
8d0c0 61 64 61 62 6c 65 2f 77 72 69 74 61 62 6c 65 20 61 73 20 72 65 71 75 65 73 74 65 64 20 62 79 20 adable/writable.as.requested.by.
8d0e0 74 68 65 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e the.<VAR>flags</VAR></CODE>.<DD>
8d100 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 66 69 6c 65 20 64 6f 65 ..........argument,.the.file.doe
8d120 73 20 6e 6f 74 20 65 78 69 73 74 20 61 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 69 73 s.not.exist.and.the.directory.is
8d140 20 75 6e 77 72 69 74 61 62 6c 65 20 73 6f 0a 20 20 20 20 20 20 20 20 20 69 74 20 63 61 6e 6e 6f .unwritable.so..........it.canno
8d160 74 20 62 65 20 63 72 65 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 t.be.created...........<br><br>.
8d180 3c 44 54 3e 3c 43 4f 44 45 3e 45 45 58 49 53 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 <DT><CODE>EEXIST</CODE>.<DD>....
8d1a0 20 20 20 20 20 20 42 6f 74 68 20 3c 43 4f 44 45 3e 4f 5f 43 52 45 41 54 3c 2f 43 4f 44 45 3e 20 ......Both.<CODE>O_CREAT</CODE>.
8d1c0 61 6e 64 20 3c 43 4f 44 45 3e 4f 5f 45 58 43 4c 3c 2f 43 4f 44 45 3e 20 61 72 65 20 73 65 74 2c and.<CODE>O_EXCL</CODE>.are.set,
8d1e0 20 61 6e 64 20 74 68 65 20 6e 61 6d 65 64 20 66 69 6c 65 20 61 6c 72 65 61 64 79 0a 20 20 20 20 .and.the.named.file.already.....
8d200 20 20 20 20 20 65 78 69 73 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c .....exists...........<br><br>.<
8d220 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 DT><CODE>EINTR</CODE>.<DD>......
8d240 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 6f 70 65 72 61 74 ....The.<CODE>open</CODE>.operat
8d260 69 6f 6e 20 77 61 73 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 20 61 20 73 69 67 6e 61 6c 2e ion.was.interrupted.by.a.signal.
8d280 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 .....................<br><br>.<D
8d2a0 54 3e 3c 43 4f 44 45 3e 45 49 53 44 49 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 T><CODE>EISDIR</CODE>.<DD>......
8d2c0 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e ....The.<VAR>flags</VAR>.argumen
8d2e0 74 20 73 70 65 63 69 66 69 65 64 20 77 72 69 74 65 20 61 63 63 65 73 73 2c 20 61 6e 64 20 74 68 t.specified.write.access,.and.th
8d300 65 20 66 69 6c 65 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 20 e.file.is.a.directory...........
8d320 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4d 46 49 4c 45 3c 2f 43 4f 44 45 3e <br><br>.<DT><CODE>EMFILE</CODE>
8d340 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 68 61 73 20 74 .<DD>..........The.process.has.t
8d360 6f 6f 20 6d 61 6e 79 20 66 69 6c 65 73 20 6f 70 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 oo.many.files.open...........The
8d380 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 .maximum.number.of.file.descript
8d3a0 6f 72 73 20 69 73 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 ors.is.controlled.by.the........
8d3c0 20 20 3c 43 4f 44 45 3e 52 4c 49 4d 49 54 5f 4e 4f 46 49 4c 45 3c 2f 43 4f 44 45 3e 20 72 65 73 ..<CODE>RLIMIT_NOFILE</CODE>.res
8d3e0 6f 75 72 63 65 20 6c 69 6d 69 74 3b 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ource.limit;............<br><br>
8d400 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 46 49 4c 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 .<DT><CODE>ENFILE</CODE>.<DD>...
8d420 20 20 20 20 20 20 20 54 68 65 20 65 6e 74 69 72 65 20 73 79 73 74 65 6d 2c 20 6f 72 20 70 65 72 .......The.entire.system,.or.per
8d440 68 61 70 73 20 74 68 65 20 66 69 6c 65 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 63 6f 6e 74 61 haps.the.file.system.which.conta
8d460 69 6e 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 2c 20 63 61 6e 6e ins.the..........directory,.cann
8d480 6f 74 20 73 75 70 70 6f 72 74 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70 65 6e 20 66 ot.support.any.additional.open.f
8d4a0 69 6c 65 73 20 61 74 20 74 68 65 20 6d 6f 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 28 54 68 iles.at.the.moment...........(Th
8d4c0 69 73 20 70 72 6f 62 6c 65 6d 20 63 61 6e 6e 6f 74 20 68 61 70 70 65 6e 20 6f 6e 20 74 68 65 20 is.problem.cannot.happen.on.the.
8d4e0 47 4e 55 20 73 79 73 74 65 6d 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c GNU.system.)..........<br><br>.<
8d500 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 45 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>ENOENT</CODE>.<DD>.....
8d520 20 20 20 20 20 54 68 65 20 6e 61 6d 65 64 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 .....The.named.file.does.not.exi
8d540 73 74 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 4f 5f 43 52 45 41 54 3c 2f 43 4f 44 45 3e 20 69 73 20 st,.and.<CODE>O_CREAT</CODE>.is.
8d560 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e not.specified...........<br><br>
8d580 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 50 43 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 .<DT><CODE>ENOSPC..........The.d
8d5a0 69 72 65 63 74 6f 72 79 20 6f 72 20 66 69 6c 65 20 73 79 73 74 65 6d 20 74 68 61 74 20 77 6f 75 irectory.or.file.system.that.wou
8d5c0 6c 64 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 6e 65 77 20 66 69 6c 65 20 63 61 6e 6e 6f 74 20 62 ld.contain.the.new.file.cannot.b
8d5e0 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 65 78 74 65 6e 64 65 64 2c e</CODE>.<DD>..........extended,
8d600 20 62 65 63 61 75 73 65 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 69 73 6b 20 73 70 61 63 65 20 .because.there.is.no.disk.space.
8d620 6c 65 66 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 left...........<br><br>.<DT><COD
8d640 45 3e 45 4e 58 49 4f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4f 5f 4e 4f 4e 42 4c 4f 43 E>ENXIO..........<CODE>O_NONBLOC
8d660 4b 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 4f 5f 57 52 4f 4e 4c 59 3c 2f 43 4f 44 K</CODE>.and.<CODE>O_WRONLY</COD
8d680 45 3e 20 61 72 65 20 62 6f 74 68 20 73 65 74 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 66 6c 61 67 E>.are.both.set.in.the.<VAR>flag
8d6a0 73 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 61 72 67 s</VAR></CODE>.<DD>..........arg
8d6c0 75 6d 65 6e 74 2c 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 66 69 ument,.the.file.named.by.<VAR>fi
8d6e0 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 46 49 46 4f 20 2c 20 61 6e 64 20 6e 6f 20 lename</VAR>.is.a.FIFO.,.and.no.
8d700 70 72 6f 63 65 73 73 20 68 61 73 20 74 68 65 20 66 69 6c 65 20 6f 70 65 6e 20 66 6f 72 20 72 65 process.has.the.file.open.for.re
8d720 61 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f ading...........<br><br>.<DT><CO
8d740 44 45 3e 45 52 4f 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 DE>EROFS</CODE>.<DD>..........Th
8d760 65 20 66 69 6c 65 20 72 65 73 69 64 65 73 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 e.file.resides.on.a.read-only.fi
8d780 6c 65 20 73 79 73 74 65 6d 20 61 6e 64 20 61 6e 79 20 6f 66 20 3c 43 4f 44 45 3e 4f 5f 57 52 4f le.system.and.any.of.<CODE>O_WRO
8d7a0 4e 4c 59 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4f 5f 52 44 57 NLY</CODE>,..........<CODE>O_RDW
8d7c0 52 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 4f 5f 54 52 55 4e 43 3c 2f 43 4f 44 R</CODE>,.and.<CODE>O_TRUNC</COD
8d7e0 45 3e 20 61 72 65 20 73 65 74 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 E>.are.set.in.the.<VAR>flags</VA
8d800 52 3e 20 61 72 67 75 6d 65 6e 74 2c 0a 20 20 20 20 20 20 20 20 20 6f 72 20 3c 43 4f 44 45 3e 4f R>.argument,..........or.<CODE>O
8d820 5f 43 52 45 41 54 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 6e 64 20 74 68 65 20 66 69 6c _CREAT</CODE>.is.set.and.the.fil
8d840 65 20 64 6f 65 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 e.does.not.already.exist........
8d860 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c ...</DL>..........<br><br>.<br><
8d880 62 72 3e 20 49 66 20 6f 6e 20 61 20 33 32 20 62 69 74 20 6d 61 63 68 69 6e 65 20 74 68 65 20 73 br>.If.on.a.32.bit.machine.the.s
8d8a0 6f 75 72 63 65 73 20 61 72 65 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 74 68 0a 20 20 20 20 20 ources.are.translated.with......
8d8c0 20 20 20 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 ....<CODE>_FILE_OFFSET_BITS.==.6
8d8e0 34 3c 2f 43 4f 44 45 3e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 6f 70 65 6e 4</CODE>.the.function.<CODE>open
8d900 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 </CODE>.returns.a.file..........
8d920 64 65 73 63 72 69 70 74 6f 72 20 6f 70 65 6e 65 64 20 69 6e 20 74 68 65 20 6c 61 72 67 65 20 66 descriptor.opened.in.the.large.f
8d940 69 6c 65 20 6d 6f 64 65 20 77 68 69 63 68 20 65 6e 61 62 6c 65 73 20 74 68 65 20 66 69 6c 65 20 ile.mode.which.enables.the.file.
8d960 68 61 6e 64 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 75 handling..........functions.to.u
8d980 73 65 20 66 69 6c 65 73 20 75 70 20 74 6f 20 32 5e 36 33 20 62 79 74 65 73 20 69 6e 20 73 69 7a se.files.up.to.2^63.bytes.in.siz
8d9a0 65 20 61 6e 64 20 6f 66 66 73 65 74 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 2d 32 5e 36 33 e.and.offset.from..........-2^63
8d9c0 20 74 6f 20 32 5e 36 33 2e 20 20 54 68 69 73 20 68 61 70 70 65 6e 73 20 74 72 61 6e 73 70 61 72 .to.2^63...This.happens.transpar
8d9e0 65 6e 74 6c 79 20 66 6f 72 20 74 68 65 20 75 73 65 72 0a 20 20 20 20 20 20 20 20 20 73 69 6e 63 ently.for.the.user..........sinc
8da00 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 6c 6f 77 6c 65 76 65 6c 20 66 69 6c 65 20 68 61 6e 64 6c e.all.of.the.lowlevel.file.handl
8da20 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 65 71 75 61 6c 6c 79 20 72 65 70 6c 61 63 ing.functions.are.equally.replac
8da40 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 ed...........<br><br>.This.funct
8da60 69 6f 6e 20 69 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d ion.is.a.cancellation.point.in.m
8da80 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 ulti-threaded.programs...This...
8daa0 20 20 20 20 20 20 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 .......is.a.problem.if.the.threa
8dac0 64 20 61 6c 6c 6f 63 61 74 65 73 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 d.allocates.some.resources.(like
8dae0 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f .memory,.file..........descripto
8db00 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 rs,.semaphores.or.whatever).at.t
8db20 68 65 20 74 69 6d 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 he.time.<CODE>open</CODE>.is....
8db40 20 20 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 74 ......called...If.the.thread.get
8db60 73 20 63 61 6e 63 65 6c 65 64 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 20 s.canceled.these.resources.stay.
8db80 61 6c 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 6f allocated..........until.the.pro
8dba0 67 72 61 6d 20 65 6e 64 73 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 61 6c 6c 73 20 gram.ends...To.avoid.this.calls.
8dbc0 74 6f 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 to.<CODE>open</CODE>.should.be..
8dbe0 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 ........protected.using.cancella
8dc00 74 69 6f 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e tion.handlers...........<br><br>
8dc20 20 54 68 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 .The.<CODE>open</CODE>.function.
8dc40 69 73 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 66 6f 72 20 is.the.underlying.primitive.for.
8dc60 74 68 65 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 the.<CODE>fopen</CODE>..........
8dc80 61 6e 64 20 3c 43 4f 44 45 3e 66 72 65 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f and.<CODE>freopen</CODE>.functio
8dca0 6e 73 2c 20 74 68 61 74 20 63 72 65 61 74 65 20 73 74 72 65 61 6d 73 2e 0a 20 20 20 20 20 20 20 ns,.that.create.streams.........
8dcc0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 66 63 6e 74 6c 2e 68 78 71 00 7e 15 .sq.~......w.....t..fcntl.hxq.~.
8dce0 1b 74 00 2e 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 69 6e 74 20 66 6c .t..const.char.*filename,.int.fl
8dd00 61 67 73 5b 2c 20 6d 6f 64 65 5f 74 20 6d 6f 64 65 5d 74 00 03 69 6e 74 74 00 06 6f 70 65 6e 36 ags[,.mode_t.mode]t..intt..open6
8dd20 34 73 71 00 7e 00 0a 70 74 02 70 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 4sq.~..pt.p.........This.functio
8dd40 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 n.is.similar.to.<CODE>open</CODE
8dd60 3e 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 61 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 >...It.returns.a.file.descriptor
8dd80 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 ..........which.can.be.used.to.a
8dda0 63 63 65 73 73 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 66 69 6c ccess.the.file.named.by.<VAR>fil
8ddc0 65 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 ename</VAR>...The.only..........
8dde0 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 6f 6e 20 33 32 20 62 69 74 20 73 79 73 difference.is.that.on.32.bit.sys
8de00 74 65 6d 73 20 74 68 65 20 66 69 6c 65 20 69 73 20 6f 70 65 6e 65 64 20 69 6e 20 74 68 65 0a 20 tems.the.file.is.opened.in.the..
8de20 20 20 20 20 20 20 20 20 6c 61 72 67 65 20 66 69 6c 65 20 6d 6f 64 65 2e 20 20 49 2e 65 2e 2c 20 ........large.file.mode...I.e.,.
8de40 66 69 6c 65 20 6c 65 6e 67 74 68 20 61 6e 64 20 66 69 6c 65 20 6f 66 66 73 65 74 73 20 63 61 6e file.length.and.file.offsets.can
8de60 20 65 78 63 65 65 64 20 33 31 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .exceed.31.bits...........<br><b
8de80 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 74 72 61 6e 73 6c 61 74 r>.When.the.sources.are.translat
8dea0 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 ed.with.<CODE>_FILE_OFFSET_BITS.
8dec0 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 ==.64</CODE>.this..........funct
8dee0 69 6f 6e 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 ion.is.actually.available.under.
8df00 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 3e 2e 20 20 49 2e 65 the.name.<CODE>open</CODE>...I.e
8df20 2e 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 65 77 2c 20 65 78 74 65 6e 64 65 64 20 41 50 .,.the..........new,.extended.AP
8df40 49 20 75 73 69 6e 67 20 36 34 20 62 69 74 20 66 69 6c 65 20 73 69 7a 65 73 20 61 6e 64 20 6f 66 I.using.64.bit.file.sizes.and.of
8df60 66 73 65 74 73 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 70 fsets.transparently..........rep
8df80 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 41 50 49 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 laces.the.old.API..........sq.~.
8dfa0 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 66 63 6e 74 6c 2e 68 78 71 00 7e 15 22 74 00 2e 63 6f .....w.....t..fcntl.hxq.~."t..co
8dfc0 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 69 6e 74 20 66 6c 61 67 73 5b 2c 20 nst.char.*filename,.int.flags[,.
8dfe0 6d 6f 64 65 5f 74 20 6d 6f 64 65 5d 74 00 03 69 6e 74 74 00 0e 6f 70 65 6e 5f 6d 65 6d 73 74 72 mode_t.mode]t..intt..open_memstr
8e000 65 61 6d 73 71 00 7e 00 0a 70 74 04 b1 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 eamsq.~..pt...........This.funct
8e020 69 6f 6e 20 6f 70 65 6e 73 20 61 20 73 74 72 65 61 6d 20 66 6f 72 20 77 72 69 74 69 6e 67 20 74 ion.opens.a.stream.for.writing.t
8e040 6f 20 61 20 62 75 66 66 65 72 2e 20 20 54 68 65 20 62 75 66 66 65 72 20 69 73 0a 20 20 20 20 20 o.a.buffer...The.buffer.is......
8e060 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 61 6e 64 20 67 72 ....allocated.dynamically.and.gr
8e080 6f 77 6e 20 61 73 20 6e 65 63 65 73 73 61 72 79 2c 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6d 61 own.as.necessary,.using.<CODE>ma
8e0a0 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 41 66 74 65 72 20 79 6f 75 27 lloc</CODE>...........After.you'
8e0c0 76 65 20 63 6c 6f 73 65 64 20 74 68 65 20 73 74 72 65 61 6d 2c 20 74 68 69 73 20 62 75 66 66 65 ve.closed.the.stream,.this.buffe
8e0e0 72 20 69 73 20 79 6f 75 72 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 74 6f 0a 20 20 20 20 r.is.your.responsibility.to.....
8e100 20 20 20 20 20 63 6c 65 61 6e 20 75 70 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 66 72 65 65 3c 2f .....clean.up.using.<CODE>free</
8e120 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2e 20 20 CODE>.or.<CODE>realloc</CODE>...
8e140 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 74 72 ...........<br><br>.When.the.str
8e160 65 61 6d 20 69 73 20 63 6c 6f 73 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 66 63 6c 6f 73 65 3c eam.is.closed.with.<CODE>fclose<
8e180 2f 43 4f 44 45 3e 20 6f 72 20 66 6c 75 73 68 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 /CODE>.or.flushed.with..........
8e1a0 3c 43 4f 44 45 3e 66 66 6c 75 73 68 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 6c 6f 63 61 74 69 6f <CODE>fflush</CODE>,.the.locatio
8e1c0 6e 73 20 3c 56 41 52 3e 70 74 72 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 73 69 7a 65 6c ns.<VAR>ptr</VAR>.and.<VAR>sizel
8e1e0 6f 63 3c 2f 56 41 52 3e 20 61 72 65 20 75 70 64 61 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 oc</VAR>.are.updated.to.........
8e200 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 62 75 66 66 .contain.the.pointer.to.the.buff
8e220 65 72 20 61 6e 64 20 69 74 73 20 73 69 7a 65 2e 20 20 54 68 65 20 76 61 6c 75 65 73 20 74 68 75 er.and.its.size...The.values.thu
8e240 73 20 73 74 6f 72 65 64 0a 20 20 20 20 20 20 20 20 20 72 65 6d 61 69 6e 20 76 61 6c 69 64 20 6f s.stored..........remain.valid.o
8e260 6e 6c 79 20 61 73 20 6c 6f 6e 67 20 61 73 20 6e 6f 20 66 75 72 74 68 65 72 20 6f 75 74 70 75 74 nly.as.long.as.no.further.output
8e280 20 6f 6e 20 74 68 65 20 73 74 72 65 61 6d 20 74 61 6b 65 73 0a 20 20 20 20 20 20 20 20 20 70 6c .on.the.stream.takes..........pl
8e2a0 61 63 65 2e 20 20 49 66 20 79 6f 75 20 64 6f 20 6d 6f 72 65 20 6f 75 74 70 75 74 2c 20 79 6f 75 ace...If.you.do.more.output,.you
8e2c0 20 6d 75 73 74 20 66 6c 75 73 68 20 74 68 65 20 73 74 72 65 61 6d 20 61 67 61 69 6e 20 74 6f 20 .must.flush.the.stream.again.to.
8e2e0 73 74 6f 72 65 0a 20 20 20 20 20 20 20 20 20 6e 65 77 20 76 61 6c 75 65 73 20 62 65 66 6f 72 65 store..........new.values.before
8e300 20 79 6f 75 20 75 73 65 20 74 68 65 6d 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 .you.use.them.again...........<b
8e320 72 3e 3c 62 72 3e 20 41 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 20 77 72 69 74 74 r><br>.A.null.character.is.writt
8e340 65 6e 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2e 20 20 54 68 en.at.the.end.of.the.buffer...Th
8e360 69 73 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 45 is.null.character..........is.<E
8e380 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 69 7a 65 20 M>not</EM>.included.in.the.size.
8e3a0 76 61 6c 75 65 20 73 74 6f 72 65 64 20 61 74 20 3c 56 41 52 3e 73 69 7a 65 6c 6f 63 3c 2f 56 41 value.stored.at.<VAR>sizeloc</VA
8e3c0 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 63 61 6e 20 6d 6f R>...........<br><br>.You.can.mo
8e3e0 76 65 20 74 68 65 20 73 74 72 65 61 6d 27 73 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 77 69 ve.the.stream's.file.position.wi
8e400 74 68 20 3c 43 4f 44 45 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 20 20 20 20 20 20 th.<CODE>fseek</CODE>.or........
8e420 20 20 3c 43 4f 44 45 3e 66 73 65 65 6b 6f 3c 2f 43 4f 44 45 3e 20 2e 20 20 4d 6f 76 69 6e 67 20 ..<CODE>fseeko</CODE>....Moving.
8e440 74 68 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 70 61 73 74 0a 20 20 20 20 20 20 20 20 20 the.file.position.past..........
8e460 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 64 61 74 61 20 61 6c 72 65 61 64 79 20 77 72 69 74 the.end.of.the.data.already.writ
8e480 74 65 6e 20 66 69 6c 6c 73 20 74 68 65 20 69 6e 74 65 72 76 65 6e 69 6e 67 20 73 70 61 63 65 20 ten.fills.the.intervening.space.
8e4a0 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 with..........zeroes..........sq
8e4c0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 15 29 74 00 .~......w.....t..stdio.hxq.~.)t.
8e4e0 1b 63 68 61 72 20 2a 2a 70 74 72 2c 20 73 69 7a 65 5f 74 20 2a 73 69 7a 65 6c 6f 63 74 00 06 46 .char.**ptr,.size_t.*sizeloct..F
8e500 49 4c 45 20 2a 74 00 13 6f 70 65 6e 5f 6f 62 73 74 61 63 6b 5f 73 74 72 65 61 6d 73 71 00 7e 00 ILE.*t..open_obstack_streamsq.~.
8e520 0a 70 74 05 ee 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e .pt...........This.function.open
8e540 73 20 61 20 73 74 72 65 61 6d 20 66 6f 72 20 77 72 69 74 69 6e 67 20 64 61 74 61 20 69 6e 74 6f s.a.stream.for.writing.data.into
8e560 20 74 68 65 20 6f 62 73 74 61 63 6b 20 3c 56 41 52 3e 6f 62 73 74 61 63 6b 3c 2f 56 41 52 3e 2e .the.obstack.<VAR>obstack</VAR>.
8e580 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 73 74 61 72 74 73 20 61 6e 20 6f 62 6a 65 63 74 20 ..........This.starts.an.object.
8e5a0 69 6e 20 74 68 65 20 6f 62 73 74 61 63 6b 20 61 6e 64 20 6d 61 6b 65 73 20 69 74 20 67 72 6f 77 in.the.obstack.and.makes.it.grow
8e5c0 20 61 73 20 64 61 74 61 20 69 73 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 74 65 6e 20 2e 0a 20 .as.data.is..........written....
8e5e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 43 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 66 ........<br><br>.Calling.<CODE>f
8e600 66 6c 75 73 68 3c 2f 43 4f 44 45 3e 20 6f 6e 20 74 68 69 73 20 73 74 72 65 61 6d 20 75 70 64 61 flush</CODE>.on.this.stream.upda
8e620 74 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 69 7a 65 20 6f 66 20 74 68 65 0a 20 20 20 20 tes.the.current.size.of.the.....
8e640 20 20 20 20 20 6f 62 6a 65 63 74 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 61 6d 6f 75 6e 74 20 .....object.to.match.the.amount.
8e660 6f 66 20 64 61 74 61 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 77 72 69 74 74 65 6e 2e 20 20 of.data.that.has.been.written...
8e680 41 66 74 65 72 20 61 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 66 After.a.call..........to.<CODE>f
8e6a0 66 6c 75 73 68 3c 2f 43 4f 44 45 3e 2c 20 79 6f 75 20 63 61 6e 20 65 78 61 6d 69 6e 65 20 74 68 flush</CODE>,.you.can.examine.th
8e6c0 65 20 6f 62 6a 65 63 74 20 74 65 6d 70 6f 72 61 72 69 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3c e.object.temporarily...........<
8e6e0 62 72 3e 3c 62 72 3e 20 59 6f 75 20 63 61 6e 20 6d 6f 76 65 20 74 68 65 20 66 69 6c 65 20 70 6f br><br>.You.can.move.the.file.po
8e700 73 69 74 69 6f 6e 20 6f 66 20 61 6e 20 6f 62 73 74 61 63 6b 20 73 74 72 65 61 6d 20 77 69 74 68 sition.of.an.obstack.stream.with
8e720 20 3c 43 4f 44 45 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 .<CODE>fseek</CODE>.or..........
8e740 3c 43 4f 44 45 3e 66 73 65 65 6b 6f 3c 2f 43 4f 44 45 3e 20 2e 20 20 4d 6f 76 69 6e 67 20 74 68 <CODE>fseeko</CODE>....Moving.th
8e760 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 70 61 73 74 0a 20 20 20 20 20 20 20 20 20 74 68 e.file.position.past..........th
8e780 65 20 65 6e 64 20 6f 66 20 74 68 65 20 64 61 74 61 20 77 72 69 74 74 65 6e 20 66 69 6c 6c 73 20 e.end.of.the.data.written.fills.
8e7a0 74 68 65 20 69 6e 74 65 72 76 65 6e 69 6e 67 20 73 70 61 63 65 20 77 69 74 68 20 7a 65 72 6f 73 the.intervening.space.with.zeros
8e7c0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 6d 61 6b 65 20 74 68 65 20 ...........<br><br>.To.make.the.
8e7e0 6f 62 6a 65 63 74 20 70 65 72 6d 61 6e 65 6e 74 2c 20 75 70 64 61 74 65 20 74 68 65 20 6f 62 73 object.permanent,.update.the.obs
8e800 74 61 63 6b 20 77 69 74 68 20 3c 43 4f 44 45 3e 66 66 6c 75 73 68 3c 2f 43 4f 44 45 3e 2c 20 61 tack.with.<CODE>fflush</CODE>,.a
8e820 6e 64 0a 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 75 73 65 20 3c 43 4f 44 45 3e 6f 62 73 74 61 nd..........then.use.<CODE>obsta
8e840 63 6b 5f 66 69 6e 69 73 68 3c 2f 43 4f 44 45 3e 20 74 6f 20 66 69 6e 61 6c 69 7a 65 20 74 68 65 ck_finish</CODE>.to.finalize.the
8e860 20 6f 62 6a 65 63 74 20 61 6e 64 20 67 65 74 20 69 74 73 20 61 64 64 72 65 73 73 2e 0a 20 20 20 .object.and.get.its.address.....
8e880 20 20 20 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 72 69 74 65 20 74 6f 20 74 68 65 ......The.following.write.to.the
8e8a0 20 73 74 72 65 61 6d 20 73 74 61 72 74 73 20 61 20 6e 65 77 20 6f 62 6a 65 63 74 20 69 6e 20 74 .stream.starts.a.new.object.in.t
8e8c0 68 65 20 6f 62 73 74 61 63 6b 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 6c 61 74 65 72 20 77 he.obstack,..........and.later.w
8e8e0 72 69 74 65 73 20 61 64 64 20 74 6f 20 74 68 61 74 20 6f 62 6a 65 63 74 20 75 6e 74 69 6c 20 79 rites.add.to.that.object.until.y
8e900 6f 75 20 64 6f 20 61 6e 6f 74 68 65 72 20 3c 43 4f 44 45 3e 66 66 6c 75 73 68 3c 2f 43 4f 44 45 ou.do.another.<CODE>fflush</CODE
8e920 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 66 69 6e >..........and.<CODE>obstack_fin
8e940 69 73 68 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 75 ish</CODE>...........<br><br>.Bu
8e960 74 20 68 6f 77 20 64 6f 20 79 6f 75 20 66 69 6e 64 20 6f 75 74 20 68 6f 77 20 6c 6f 6e 67 20 74 t.how.do.you.find.out.how.long.t
8e980 68 65 20 6f 62 6a 65 63 74 20 69 73 3f 20 20 59 6f 75 20 63 61 6e 20 67 65 74 20 74 68 65 20 6c he.object.is?..You.can.get.the.l
8e9a0 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 20 69 6e 20 62 79 74 65 73 20 62 79 20 63 61 6c 6c 69 ength..........in.bytes.by.calli
8e9c0 6e 67 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 6f 62 6a 65 63 74 5f 73 69 7a 65 3c 2f 43 4f ng.<CODE>obstack_object_size</CO
8e9e0 44 45 3e 20 2c 20 6f 72 20 79 6f 75 20 63 61 6e 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 20 DE>.,.or.you.can.null-terminate.
8ea00 74 68 65 20 6f 62 6a 65 63 74 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c the.object.like.this:..........<
8ea20 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6f 62 73 74 61 br><br>.<pre><br>..........obsta
8ea40 63 6b 5f 31 67 72 6f 77 20 28 3c 56 41 52 3e 6f 62 73 74 61 63 6b 3c 2f 56 41 52 3e 2c 20 30 29 ck_1grow.(<VAR>obstack</VAR>,.0)
8ea60 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c ;<br>..........</pre>..........<
8ea80 62 72 3e 3c 62 72 3e 20 57 68 69 63 68 65 76 65 72 20 6f 6e 65 20 79 6f 75 20 64 6f 2c 20 79 6f br><br>.Whichever.one.you.do,.yo
8eaa0 75 20 6d 75 73 74 20 64 6f 20 69 74 20 3c 45 4d 3e 62 65 66 6f 72 65 3c 2f 45 4d 3e 20 63 61 6c u.must.do.it.<EM>before</EM>.cal
8eac0 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 62 73 74 61 63 6b 5f 66 69 6e 69 ling..........<CODE>obstack_fini
8eae0 73 68 3c 2f 43 4f 44 45 3e 2e 20 20 28 59 6f 75 20 63 61 6e 20 64 6f 20 62 6f 74 68 20 69 66 20 sh</CODE>...(You.can.do.both.if.
8eb00 79 6f 75 20 77 69 73 68 2e 29 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 you.wish.).........sq.~......w..
8eb20 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 15 30 74 00 17 73 74 72 75 63 74 20 6f 62 73 ...t..stdio.hxq.~.0t..struct.obs
8eb40 74 61 63 6b 20 2a 6f 62 73 74 61 63 6b 74 00 06 46 49 4c 45 20 2a 74 00 07 6f 70 65 6e 64 69 72 tack.*obstackt..FILE.*t..opendir
8eb60 73 71 00 7e 00 0a 70 74 05 2b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 6f 70 65 sq.~..pt.+.........The.<CODE>ope
8eb80 6e 64 69 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 73 20 61 6e 64 20 72 ndir</CODE>.function.opens.and.r
8eba0 65 74 75 72 6e 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 73 74 72 65 61 6d 20 66 6f 72 0a 20 20 eturns.a.directory.stream.for...
8ebc0 20 20 20 20 20 20 20 72 65 61 64 69 6e 67 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 77 68 6f .......reading.the.directory.who
8ebe0 73 65 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20 3c 56 41 52 3e 64 69 72 6e 61 6d 65 3c 2f 56 41 se.file.name.is.<VAR>dirname</VA
8ec00 52 3e 2e 20 20 54 68 65 20 73 74 72 65 61 6d 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 74 79 70 R>...The.stream.has..........typ
8ec20 65 20 3c 43 4f 44 45 3e 44 49 52 20 2a 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c e.<CODE>DIR.*</CODE>...........<
8ec40 62 72 3e 3c 62 72 3e 20 49 66 20 75 6e 73 75 63 63 65 73 73 66 75 6c 2c 20 3c 43 4f 44 45 3e 6f br><br>.If.unsuccessful,.<CODE>o
8ec60 70 65 6e 64 69 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 pendir</CODE>.returns.a.null.poi
8ec80 6e 74 65 72 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 nter...In.addition.to..........t
8eca0 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 6e 61 6d 65 20 65 72 72 6f 72 73 20 2c 20 74 68 65 0a he.usual.file.name.errors.,.the.
8ecc0 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f .........following.<CODE>errno</
8ece0 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e CODE>.error.conditions.are.defin
8ed00 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c ed.for.this.function:..........<
8ed20 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 br><br>.<DL>...........<DT><CODE
8ed40 3e 45 41 43 43 45 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 52 65 61 >EACCES</CODE>.<DD>..........Rea
8ed60 64 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 64 65 6e 69 65 64 20 66 6f 72 20 74 68 65 20 64 d.permission.is.denied.for.the.d
8ed80 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 62 79 20 3c 43 4f 44 45 3e 64 69 72 6e 61 6d 65 3c irectory.named.by.<CODE>dirname<
8eda0 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 /CODE>...........<br><br>.<DT><C
8edc0 4f 44 45 3e 45 4d 46 49 4c 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 ODE>EMFILE</CODE>.<DD>..........
8ede0 54 68 65 20 70 72 6f 63 65 73 73 20 68 61 73 20 74 6f 6f 20 6d 61 6e 79 20 66 69 6c 65 73 20 6f The.process.has.too.many.files.o
8ee00 70 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 pen...........<br><br>.<DT><CODE
8ee20 3e 45 4e 46 49 4c 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 >ENFILE</CODE>.<DD>..........The
8ee40 20 65 6e 74 69 72 65 20 73 79 73 74 65 6d 2c 20 6f 72 20 70 65 72 68 61 70 73 20 74 68 65 20 66 .entire.system,.or.perhaps.the.f
8ee60 69 6c 65 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 20 20 ile.system.which.contains.the...
8ee80 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 2c 20 63 61 6e 6e 6f 74 20 73 75 70 70 6f 72 74 .......directory,.cannot.support
8eea0 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70 65 6e 20 66 69 6c 65 73 20 61 74 20 74 68 .any.additional.open.files.at.th
8eec0 65 20 6d 6f 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 28 54 68 69 73 20 70 72 6f 62 6c 65 6d e.moment...........(This.problem
8eee0 20 63 61 6e 6e 6f 74 20 68 61 70 70 65 6e 20 6f 6e 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d .cannot.happen.on.the.GNU.system
8ef00 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 .)..........<br><br>.<DT><CODE>E
8ef20 4e 4f 4d 45 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f 74 20 65 NOMEM</CODE>.<DD>..........Not.e
8ef40 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 nough.memory.available..........
8ef60 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f .</DL>..........<br><br>.The.<CO
8ef80 44 45 3e 44 49 52 3c 2f 43 4f 44 45 3e 20 74 79 70 65 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 DE>DIR</CODE>.type.is.typically.
8efa0 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 20 61 20 66 69 6c 65 20 64 65 73 63 72 69 70 implemented.using.a.file.descrip
8efc0 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 3c 43 4f 44 45 3e 6f 70 65 6e tor,..........and.the.<CODE>open
8efe0 64 69 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 dir</CODE>.function.in.terms.of.
8f000 74 68 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a the.<CODE>open</CODE>.function..
8f020 20 20 20 20 20 20 20 20 20 2e 20 20 44 69 72 65 63 74 6f 72 79 20 73 74 72 65 61 6d 73 20 61 6e ............Directory.streams.an
8f040 64 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 64 d.the.underlying..........file.d
8f060 65 73 63 72 69 70 74 6f 72 73 20 61 72 65 20 63 6c 6f 73 65 64 20 6f 6e 20 3c 43 4f 44 45 3e 65 escriptors.are.closed.on.<CODE>e
8f080 78 65 63 3c 2f 43 4f 44 45 3e 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 xec</CODE>...........sq.~......w
8f0a0 04 00 00 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 71 00 7e 15 37 74 00 13 63 6f 6e 73 74 20 63 .....t..dirent.hxq.~.7t..const.c
8f0c0 68 61 72 20 2a 64 69 72 6e 61 6d 65 74 00 05 44 49 52 20 2a 74 00 07 6f 70 65 6e 6c 6f 67 73 71 har.*dirnamet..DIR.*t..openlogsq
8f0e0 00 7e 00 0a 70 74 16 af 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e .~..pt...........<br><br>.<CODE>
8f100 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 6f 70 65 6e 73 20 6f 72 20 72 65 6f 70 65 6e 73 20 openlog</CODE>.opens.or.reopens.
8f120 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 53 79 73 6c 6f 67 20 69 6e 20 70 72 65 70 61 72 a.connection.to.Syslog.in.prepar
8f140 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 73 75 62 6d 69 74 74 69 6e 67 20 6d 65 ation..........for.submitting.me
8f160 73 73 61 67 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 69 ssages...........<br><br>.<VAR>i
8f180 64 65 6e 74 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 61 72 62 69 74 72 61 72 79 20 69 64 65 6e 74 dent</VAR>.is.an.arbitrary.ident
8f1a0 69 66 69 63 61 74 69 6f 6e 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 66 75 74 75 72 65 0a 20 20 ification.string.which.future...
8f1c0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 69 6e 76 6f 63 .......<CODE>syslog</CODE>.invoc
8f1e0 61 74 69 6f 6e 73 20 77 69 6c 6c 20 70 72 65 66 69 78 20 74 6f 20 65 61 63 68 20 6d 65 73 73 61 ations.will.prefix.to.each.messa
8f200 67 65 2e 20 20 54 68 69 73 20 69 73 20 69 6e 74 65 6e 64 65 64 0a 20 20 20 20 20 20 20 20 20 74 ge...This.is.intended..........t
8f220 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 6d 65 73 o.identify.the.source.of.the.mes
8f240 73 61 67 65 2c 20 61 6e 64 20 70 65 6f 70 6c 65 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 6c 79 20 sage,.and.people.conventionally.
8f260 73 65 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 set.it..........to.the.name.of.t
8f280 68 65 20 70 72 6f 67 72 61 6d 20 74 68 61 74 20 77 69 6c 6c 20 73 75 62 6d 69 74 20 74 68 65 20 he.program.that.will.submit.the.
8f2a0 6d 65 73 73 61 67 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c messages...........<br><br>.If.<
8f2c0 56 41 52 3e 69 64 65 6e 74 3c 2f 56 41 52 3e 20 69 73 20 4e 55 4c 4c 2c 20 6f 72 20 69 66 20 3c VAR>ident</VAR>.is.NULL,.or.if.<
8f2e0 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 63 61 6c 6c 65 CODE>openlog</CODE>.is.not.calle
8f300 64 2c 20 74 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 69 64 65 6e 74 69 66 69 d,.the.default..........identifi
8f320 63 61 74 69 6f 6e 20 73 74 72 69 6e 67 20 75 73 65 64 20 69 6e 20 53 79 73 6c 6f 67 20 6d 65 73 cation.string.used.in.Syslog.mes
8f340 73 61 67 65 73 20 77 69 6c 6c 20 62 65 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 2c 0a sages.will.be.the.program.name,.
8f360 20 20 20 20 20 20 20 20 20 74 61 6b 65 6e 20 66 72 6f 6d 20 61 72 67 76 5b 30 5d 2e 0a 20 20 20 .........taken.from.argv[0].....
8f380 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 ......<br><br>.Please.note.that.
8f3a0 74 68 65 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 20 3c 56 41 52 3e 69 64 65 6e 74 3c 2f 56 the.string.pointer.<VAR>ident</V
8f3c0 41 52 3e 20 77 69 6c 6c 20 62 65 20 72 65 74 61 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e AR>.will.be.retained..........in
8f3e0 74 65 72 6e 61 6c 6c 79 20 62 79 20 74 68 65 20 53 79 73 6c 6f 67 20 72 6f 75 74 69 6e 65 73 2e ternally.by.the.Syslog.routines.
8f400 20 20 59 6f 75 20 6d 75 73 74 20 6e 6f 74 20 66 72 65 65 20 74 68 65 20 6d 65 6d 6f 72 79 20 74 ..You.must.not.free.the.memory.t
8f420 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 69 64 65 6e 74 3c 2f 56 41 52 3e 20 70 6f hat..........<VAR>ident</VAR>.po
8f440 69 6e 74 73 20 74 6f 2e 20 20 49 74 20 69 73 20 61 6c 73 6f 20 64 61 6e 67 65 72 6f 75 73 20 74 ints.to...It.is.also.dangerous.t
8f460 6f 20 70 61 73 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 6e 0a 20 20 20 20 20 20 20 o.pass.a.reference.to.an........
8f480 20 20 61 75 74 6f 6d 61 74 69 63 20 76 61 72 69 61 62 6c 65 20 73 69 6e 63 65 20 6c 65 61 76 69 ..automatic.variable.since.leavi
8f4a0 6e 67 20 74 68 65 20 73 63 6f 70 65 20 77 6f 75 6c 64 20 6d 65 61 6e 20 65 6e 64 69 6e 67 20 74 ng.the.scope.would.mean.ending.t
8f4c0 68 65 0a 20 20 20 20 20 20 20 20 20 6c 69 66 65 74 69 6d 65 20 6f 66 20 74 68 65 20 76 61 72 69 he..........lifetime.of.the.vari
8f4e0 61 62 6c 65 2e 20 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 able...If.you.want.to.change.the
8f500 20 3c 56 41 52 3e 69 64 65 6e 74 3c 2f 56 41 52 3e 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 20 20 .<VAR>ident</VAR>.string,.......
8f520 20 20 20 79 6f 75 20 6d 75 73 74 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f ...you.must.call.<CODE>openlog</
8f540 43 4f 44 45 3e 20 61 67 61 69 6e 3b 20 6f 76 65 72 77 72 69 74 69 6e 67 20 74 68 65 20 73 74 72 CODE>.again;.overwriting.the.str
8f560 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e ing.pointed.to.by..........<VAR>
8f580 69 64 65 6e 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 74 68 72 65 61 64 2d 73 61 66 65 2e 0a ident</VAR>.is.not.thread-safe..
8f5a0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 63 61 6e 20 63 61 75 73 65 20 .........<br><br>.You.can.cause.
8f5c0 74 68 65 20 53 79 73 6c 6f 67 20 72 6f 75 74 69 6e 65 73 20 74 6f 20 64 72 6f 70 20 74 68 65 20 the.Syslog.routines.to.drop.the.
8f5e0 72 65 66 65 72 65 6e 63 65 20 74 6f 20 3c 56 41 52 3e 69 64 65 6e 74 3c 2f 56 41 52 3e 20 61 6e reference.to.<VAR>ident</VAR>.an
8f600 64 0a 20 20 20 20 20 20 20 20 20 67 6f 20 62 61 63 6b 20 74 6f 20 74 68 65 20 64 65 66 61 75 6c d..........go.back.to.the.defaul
8f620 74 20 73 74 72 69 6e 67 20 28 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 20 74 61 6b 65 6e t.string.(the.program.name.taken
8f640 20 66 72 6f 6d 20 61 72 67 76 5b 30 5d 29 2c 20 62 79 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c .from.argv[0]),.by..........call
8f660 69 6e 67 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 6c 6f 67 3c 2f 43 4f 44 45 3e 3a 20 2e 0a 20 20 20 ing.<CODE>closelog</CODE>:......
8f680 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 69 66 ......<br><br>.In.particular,.if
8f6a0 20 79 6f 75 20 61 72 65 20 77 72 69 74 69 6e 67 20 63 6f 64 65 20 66 6f 72 20 61 20 73 68 61 72 .you.are.writing.code.for.a.shar
8f6c0 65 64 20 6c 69 62 72 61 72 79 20 74 68 61 74 20 6d 69 67 68 74 20 67 65 74 0a 20 20 20 20 20 20 ed.library.that.might.get.......
8f6e0 20 20 20 6c 6f 61 64 65 64 20 61 6e 64 20 74 68 65 6e 20 75 6e 6c 6f 61 64 65 64 20 28 65 2e 67 ...loaded.and.then.unloaded.(e.g
8f700 2e 20 61 20 50 41 4d 20 6d 6f 64 75 6c 65 29 2c 20 61 6e 64 20 79 6f 75 20 75 73 65 20 3c 43 4f ..a.PAM.module),.and.you.use.<CO
8f720 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 79 6f 75 20 DE>openlog</CODE>,..........you.
8f740 6d 75 73 74 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 63 6c 6f 73 65 6c 6f 67 3c 2f 43 4f 44 45 3e 20 must.call.<CODE>closelog</CODE>.
8f760 62 65 66 6f 72 65 20 61 6e 79 20 70 6f 69 6e 74 20 77 68 65 72 65 20 79 6f 75 72 20 6c 69 62 72 before.any.point.where.your.libr
8f780 61 72 79 20 6d 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 67 65 74 20 75 6e 6c 6f 61 64 65 64 2c ary.might..........get.unloaded,
8f7a0 20 61 73 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 .as.in.this.example:..........<b
8f7c0 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 r><br>.<pre><br>..........#inclu
8f7e0 64 65 20 3c 73 79 73 6c 6f 67 2e 68 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c de.<syslog.h><br>..........<br><
8f800 62 72 3e 20 76 6f 69 64 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 68 61 72 65 64 5f 6c 69 62 br>.void<br>..........shared_lib
8f820 72 61 72 79 5f 66 75 6e 63 74 69 6f 6e 20 28 76 6f 69 64 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 rary_function.(void)<br>........
8f840 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 6f 70 65 6e 6c 6f 67 20 28 22 6d 79 6c ..{<br>............openlog.("myl
8f860 69 62 72 61 72 79 22 2c 20 6f 70 74 69 6f 6e 2c 20 70 72 69 6f 72 69 74 79 29 3b 3c 62 72 3e 0a ibrary",.option,.priority);<br>.
8f880 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 73 79 73 6c 6f 67 20 28 4c 4f 47 5f .........<br><br>...syslog.(LOG_
8f8a0 49 4e 46 4f 2c 20 22 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 20 68 61 73 20 62 65 65 6e 20 69 INFO,."shared.library.has.been.i
8f8c0 6e 76 6f 6b 65 64 22 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 nvoked");<br>..........<br><br>.
8f8e0 20 20 63 6c 6f 73 65 6c 6f 67 20 28 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 ..closelog.();<br>..........}<br
8f900 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c >..........</pre>..........<br><
8f920 62 72 3e 20 57 69 74 68 6f 75 74 20 74 68 65 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 63 6c br>.Without.the.call.to.<CODE>cl
8f940 6f 73 65 6c 6f 67 3c 2f 43 4f 44 45 3e 2c 20 66 75 74 75 72 65 20 69 6e 76 6f 63 61 74 69 6f 6e oselog</CODE>,.future.invocation
8f960 73 20 6f 66 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 s.of.<CODE>syslog</CODE>........
8f980 20 20 62 79 20 74 68 65 20 70 72 6f 67 72 61 6d 20 75 73 69 6e 67 20 74 68 65 20 73 68 61 72 65 ..by.the.program.using.the.share
8f9a0 64 20 6c 69 62 72 61 72 79 20 6d 61 79 20 63 72 61 73 68 2c 20 69 66 20 74 68 65 20 6c 69 62 72 d.library.may.crash,.if.the.libr
8f9c0 61 72 79 20 67 65 74 73 0a 20 20 20 20 20 20 20 20 20 75 6e 6c 6f 61 64 65 64 20 61 6e 64 20 74 ary.gets..........unloaded.and.t
8f9e0 68 65 20 6d 65 6d 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 73 74 72 69 6e 67 20 he.memory.containing.the.string.
8fa00 3c 43 4f 44 45 3e 22 6d 79 6c 69 62 72 61 72 79 22 3c 2f 43 4f 44 45 3e 20 62 65 63 6f 6d 65 73 <CODE>"mylibrary"</CODE>.becomes
8fa20 0a 20 20 20 20 20 20 20 20 20 75 6e 6d 61 70 70 65 64 2e 20 20 54 68 69 73 20 69 73 20 61 20 6c ..........unmapped...This.is.a.l
8fa40 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 42 53 44 20 73 79 73 6c 6f 67 20 69 6e 74 65 imitation.of.the.BSD.syslog.inte
8fa60 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 6f rface...........<br><br>.<CODE>o
8fa80 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 6f 70 65 penlog</CODE>.may.or.may.not.ope
8faa0 6e 20 74 68 65 20 3c 54 54 3e 2f 64 65 76 2f 6c 6f 67 3c 2f 54 54 3e 20 73 6f 63 6b 65 74 2c 20 n.the.<TT>/dev/log</TT>.socket,.
8fac0 64 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 3c 56 41 52 3e 6f 70 74 69 6f depending..........on.<VAR>optio
8fae0 6e 3c 2f 56 41 52 3e 2e 20 20 49 66 20 69 74 20 64 6f 65 73 2c 20 69 74 20 74 72 69 65 73 20 74 n</VAR>...If.it.does,.it.tries.t
8fb00 6f 20 6f 70 65 6e 20 69 74 20 61 6e 64 20 63 6f 6e 6e 65 63 74 20 69 74 20 61 73 20 61 0a 20 20 o.open.it.and.connect.it.as.a...
8fb20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 73 6f 63 6b 65 74 2e 20 20 49 66 20 74 68 61 74 20 64 .......stream.socket...If.that.d
8fb40 6f 65 73 6e 27 74 20 77 6f 72 6b 2c 20 69 74 20 74 72 69 65 73 20 74 6f 20 6f 70 65 6e 20 69 74 oesn't.work,.it.tries.to.open.it
8fb60 20 61 6e 64 20 63 6f 6e 6e 65 63 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 61 73 20 61 20 64 61 .and.connect.it..........as.a.da
8fb80 74 61 67 72 61 6d 20 73 6f 63 6b 65 74 2e 20 20 54 68 65 20 73 6f 63 6b 65 74 20 68 61 73 20 74 tagram.socket...The.socket.has.t
8fba0 68 65 20 60 60 43 6c 6f 73 65 20 6f 6e 20 45 78 65 63 27 27 20 61 74 74 72 69 62 75 74 65 2c 0a he.``Close.on.Exec''.attribute,.
8fbc0 20 20 20 20 20 20 20 20 20 73 6f 20 74 68 65 20 6b 65 72 6e 65 6c 20 77 69 6c 6c 20 63 6c 6f 73 .........so.the.kernel.will.clos
8fbe0 65 20 69 74 20 69 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 70 65 72 66 6f 72 6d 73 20 61 6e 20 e.it.if.the.process.performs.an.
8fc00 65 78 65 63 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 64 6f 6e 27 exec...........<br><br>.You.don'
8fc20 74 20 68 61 76 65 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 t.have.to.use.<CODE>openlog</COD
8fc40 45 3e 2e 20 20 49 66 20 79 6f 75 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 E>...If.you.call.<CODE>syslog</C
8fc60 4f 44 45 3e 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 20 20 20 68 61 76 69 6e 67 20 63 61 6c ODE>.without..........having.cal
8fc80 6c 65 64 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e led.<CODE>openlog</CODE>,.<CODE>
8fca0 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 6a 75 73 74 20 6f 70 65 6e 73 20 74 68 65 20 63 6f 6e syslog</CODE>.just.opens.the.con
8fcc0 6e 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 6e 64 20 nection..........implicitly.and.
8fce0 75 73 65 73 20 64 65 66 61 75 6c 74 73 20 66 6f 72 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f uses.defaults.for.the.informatio
8fd00 6e 20 69 6e 20 3c 56 41 52 3e 69 64 65 6e 74 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 20 20 20 n.in.<VAR>ident</VAR>.and.......
8fd20 20 20 20 3c 56 41 52 3e 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 ...<VAR>options</VAR>...........
8fd40 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 3e 20 69 73 20 61 <br><br>.<VAR>options</VAR>.is.a
8fd60 20 62 69 74 20 73 74 72 69 6e 67 2c 20 77 69 74 68 20 74 68 65 20 62 69 74 73 20 61 73 20 64 65 .bit.string,.with.the.bits.as.de
8fd80 66 69 6e 65 64 20 62 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 fined.by.the.following..........
8fda0 73 69 6e 67 6c 65 20 62 69 74 20 6d 61 73 6b 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c single.bit.masks:..........<br><
8fdc0 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 br>.<DL>...........<DT><CODE>LOG
8fde0 5f 50 45 52 52 4f 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 49 66 20 _PERROR</CODE>.<DD>..........If.
8fe00 6f 6e 2c 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 75 70 on,.<CODE>openlog</CODE>.sets.up
8fe20 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 6f 20 74 68 61 74 20 61 6e 79 20 3c 43 4f 44 .the.connection.so.that.any.<COD
8fe40 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 74 68 69 73 E>syslog</CODE>..........on.this
8fe60 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 72 69 74 65 73 20 69 74 73 20 6d 65 73 73 61 67 65 20 74 .connection.writes.its.message.t
8fe80 6f 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 53 74 61 6e 64 61 72 64 0a o.the.calling.process'.Standard.
8fea0 20 20 20 20 20 20 20 20 20 45 72 72 6f 72 20 73 74 72 65 61 6d 20 69 6e 20 61 64 64 69 74 69 6f .........Error.stream.in.additio
8fec0 6e 20 74 6f 20 73 75 62 6d 69 74 74 69 6e 67 20 69 74 20 74 6f 20 53 79 73 6c 6f 67 2e 20 20 49 n.to.submitting.it.to.Syslog...I
8fee0 66 20 6f 66 66 2c 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 f.off,.<CODE>syslog</CODE>......
8ff00 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 77 72 69 74 65 20 74 68 65 20 6d 65 73 73 61 67 65 20 74 ....does.not.write.the.message.t
8ff20 6f 20 53 74 61 6e 64 61 72 64 20 45 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c o.Standard.Error...........<br><
8ff40 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 43 4f 4e 53 3c 2f 43 4f 44 45 3e 0a 3c 44 br>.<DT><CODE>LOG_CONS</CODE>.<D
8ff60 44 3e 0a 20 20 20 20 20 20 20 20 20 49 66 20 6f 6e 2c 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 D>..........If.on,.<CODE>openlog
8ff80 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 75 70 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 </CODE>.sets.up.the.connection.s
8ffa0 6f 20 74 68 61 74 20 61 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 6f 6e 0a o.that.a.<CODE>syslog</CODE>.on.
8ffc0 20 20 20 20 20 20 20 20 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 68 61 74 20 66 61 .........this.connection.that.fa
8ffe0 69 6c 73 20 74 6f 20 73 75 62 6d 69 74 20 61 20 6d 65 73 73 61 67 65 20 74 6f 20 53 79 73 6c 6f ils.to.submit.a.message.to.Syslo
90000 67 20 77 72 69 74 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 69 6e g.writes.the..........message.in
90020 73 74 65 61 64 20 74 6f 20 73 79 73 74 65 6d 20 63 6f 6e 73 6f 6c 65 2e 20 20 49 66 20 6f 66 66 stead.to.system.console...If.off
90040 2c 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 6e 6f 74 20 77 ,.<CODE>syslog</CODE>.does.not.w
90060 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 73 79 73 74 65 6d 20 63 6f 6e 73 rite..........to.the.system.cons
90080 6f 6c 65 20 28 62 75 74 20 6f 66 20 63 6f 75 72 73 65 20 53 79 73 6c 6f 67 20 6d 61 79 20 77 72 ole.(but.of.course.Syslog.may.wr
900a0 69 74 65 20 6d 65 73 73 61 67 65 73 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 63 65 69 76 65 ite.messages.it..........receive
900c0 73 20 74 6f 20 74 68 65 20 63 6f 6e 73 6f 6c 65 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e s.to.the.console)...........<br>
900e0 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 50 49 44 3c 2f 43 4f 44 45 3e 0a 3c 44 <br>.<DT><CODE>LOG_PID</CODE>.<D
90100 44 3e 0a 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 6f 6e 2c 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c D>..........When.on,.<CODE>openl
90120 6f 67 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 75 70 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e og</CODE>.sets.up.the.connection
90140 20 73 6f 20 74 68 61 74 20 61 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 0a 20 .so.that.a.<CODE>syslog</CODE>..
90160 20 20 20 20 20 20 20 20 6f 6e 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 6e 73 65 72 ........on.this.connection.inser
90180 74 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 50 72 6f 63 65 73 73 20 ts.the.calling.process'.Process.
901a0 49 44 20 28 50 49 44 29 20 69 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6d 65 73 73 61 ID.(PID).into..........the.messa
901c0 67 65 2e 20 20 57 68 65 6e 20 6f 66 66 2c 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f ge...When.off,.<CODE>openlog</CO
901e0 44 45 3e 20 64 6f 65 73 20 6e 6f 74 20 69 6e 73 65 72 74 20 74 68 65 20 50 49 44 2e 0a 20 20 20 DE>.does.not.insert.the.PID.....
90200 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4e 44 45 ......<br><br>.<DT><CODE>LOG_NDE
90220 4c 41 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 6f 6e LAY</CODE>.<DD>..........When.on
90240 2c 20 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 6f 70 65 6e 73 20 61 6e 64 ,.<CODE>openlog</CODE>.opens.and
90260 20 63 6f 6e 6e 65 63 74 73 20 74 68 65 20 3c 54 54 3e 2f 64 65 76 2f 6c 6f 67 3c 2f 54 54 3e 20 .connects.the.<TT>/dev/log</TT>.
90280 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 6f 66 66 2c 20 61 20 66 75 74 socket...........When.off,.a.fut
902a0 75 72 65 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 6d 75 73 ure.<CODE>syslog</CODE>.call.mus
902c0 74 20 6f 70 65 6e 20 61 6e 64 20 63 6f 6e 6e 65 63 74 20 74 68 65 20 73 6f 63 6b 65 74 2e 0a 20 t.open.and.connect.the.socket...
902e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 72 74 61 62 69 6c 69 74 79 20 6e 6f 74 ........<br><br>.Portability.not
90300 65 3a 20 20 49 6e 20 65 61 72 6c 79 20 73 79 73 74 65 6d 73 2c 20 74 68 65 20 73 65 6e 73 65 20 e:..In.early.systems,.the.sense.
90320 6f 66 20 74 68 69 73 20 62 69 74 20 77 61 73 0a 20 20 20 20 20 20 20 20 20 65 78 61 63 74 6c 79 of.this.bit.was..........exactly
90340 20 74 68 65 20 6f 70 70 6f 73 69 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e .the.opposite...........<br><br>
90360 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4f 44 45 4c 41 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 .<DT><CODE>LOG_ODELAY</CODE>.<DD
90380 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 62 69 74 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 >..........This.bit.does.nothing
903a0 2e 20 20 49 74 20 65 78 69 73 74 73 20 66 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 ...It.exists.for.backward.compat
903c0 69 62 69 6c 69 74 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e ibility...........<br><br>.</DL>
903e0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 61 6e 79 20 6f 74 68 65 72 20 ..........<br><br>.If.any.other.
90400 62 69 74 20 69 6e 20 3c 56 41 52 3e 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 3e 20 69 73 20 6f 6e 2c bit.in.<VAR>options</VAR>.is.on,
90420 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 .the.result.is.undefined........
90440 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 66 61 63 69 6c 69 74 79 3c 2f 56 41 52 3e 20 ...<br><br>.<VAR>facility</VAR>.
90460 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 61 63 69 6c 69 74 79 20 63 6f 64 65 20 66 6f 72 is.the.default.facility.code.for
90480 20 74 68 69 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 20 20 41 0a 20 20 20 20 20 20 20 20 20 3c 43 .this.connection...A..........<C
904a0 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 6f 6e 20 74 68 69 73 20 63 6f 6e 6e 65 63 ODE>syslog</CODE>.on.this.connec
904c0 74 69 6f 6e 20 74 68 61 74 20 73 70 65 63 69 66 69 65 73 20 64 65 66 61 75 6c 74 20 66 61 63 69 tion.that.specifies.default.faci
904e0 6c 69 74 79 20 63 61 75 73 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 66 61 63 69 6c 69 lity.causes..........this.facili
90500 74 79 20 74 6f 20 62 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 6d 65 73 ty.to.be.associated.with.the.mes
90520 73 61 67 65 2e 20 20 53 65 65 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 66 sage...See.<CODE>syslog</CODE>.f
90540 6f 72 0a 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 2e 20 20 41 20 or..........possible.values...A.
90560 76 61 6c 75 65 20 6f 66 20 7a 65 72 6f 20 6d 65 61 6e 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 value.of.zero.means.the.default.
90580 64 65 66 61 75 6c 74 2c 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 default,.which.is..........<CODE
905a0 3e 4c 4f 47 5f 55 53 45 52 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c >LOG_USER</CODE>...........<br><
905c0 62 72 3e 20 49 66 20 61 20 53 79 73 6c 6f 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 61 6c br>.If.a.Syslog.connection.is.al
905e0 72 65 61 64 79 20 6f 70 65 6e 20 77 68 65 6e 20 79 6f 75 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 6f ready.open.when.you.call.<CODE>o
90600 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 70 penlog</CODE>,..........<CODE>op
90620 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 60 60 72 65 6f 70 65 6e 73 27 27 20 74 68 65 20 63 6f 6e enlog</CODE>.``reopens''.the.con
90640 6e 65 63 74 69 6f 6e 2e 20 20 52 65 6f 70 65 6e 69 6e 67 20 69 73 20 6c 69 6b 65 20 6f 70 65 6e nection...Reopening.is.like.open
90660 69 6e 67 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 61 74 20 69 66 20 79 6f 75 20 ing..........except.that.if.you.
90680 73 70 65 63 69 66 79 20 7a 65 72 6f 20 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 61 63 specify.zero.for.the.default.fac
906a0 69 6c 69 74 79 20 63 6f 64 65 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 ility.code,.the..........default
906c0 20 66 61 63 69 6c 69 74 79 20 63 6f 64 65 20 73 69 6d 70 6c 79 20 72 65 6d 61 69 6e 73 20 75 6e .facility.code.simply.remains.un
906e0 63 68 61 6e 67 65 64 20 61 6e 64 20 69 66 20 79 6f 75 20 73 70 65 63 69 66 79 0a 20 20 20 20 20 changed.and.if.you.specify......
90700 20 20 20 20 4c 4f 47 5f 4e 44 45 4c 41 59 20 61 6e 64 20 74 68 65 20 73 6f 63 6b 65 74 20 69 73 ....LOG_NDELAY.and.the.socket.is
90720 20 61 6c 72 65 61 64 79 20 6f 70 65 6e 20 61 6e 64 20 63 6f 6e 6e 65 63 74 65 64 2c 20 3c 43 4f .already.open.and.connected,.<CO
90740 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6a 75 73 74 20 DE>openlog</CODE>..........just.
90760 6c 65 61 76 65 73 20 69 74 20 74 68 61 74 20 77 61 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 leaves.it.that.way...........<br
90780 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 ><br>.<br><br>.........sq.~.....
907a0 02 77 04 00 00 00 0a 74 00 09 77 6f 72 64 65 78 70 2e 68 74 00 08 73 79 73 6c 6f 67 2e 68 78 71 .w.....t..wordexp.ht..syslog.hxq
907c0 00 7e 15 3e 74 00 2b 63 6f 6e 73 74 20 63 68 61 72 20 2a 69 64 65 6e 74 2c 20 69 6e 74 20 6f 70 .~.>t.+const.char.*ident,.int.op
907e0 74 69 6f 6e 2c 20 69 6e 74 20 66 61 63 69 6c 69 74 79 74 00 04 76 6f 69 64 74 00 07 6f 70 65 6e tion,.int.facilityt..voidt..open
90800 70 74 79 73 71 00 7e 00 0a 70 74 06 03 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 ptysq.~..pt...........This.funct
90820 69 6f 6e 20 61 6c 6c 6f 63 61 74 65 73 20 61 6e 64 20 6f 70 65 6e 73 20 61 20 70 73 65 75 64 6f ion.allocates.and.opens.a.pseudo
90840 2d 74 65 72 6d 69 6e 61 6c 20 70 61 69 72 2c 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 0a 20 20 -terminal.pair,.returning.the...
90860 20 20 20 20 20 20 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 66 6f 72 20 74 68 65 20 6d .......file.descriptor.for.the.m
90880 61 73 74 65 72 20 69 6e 20 3c 56 41 52 3e 2a 61 6d 61 73 74 65 72 3c 2f 56 41 52 3e 2c 20 61 6e aster.in.<VAR>*amaster</VAR>,.an
908a0 64 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 20 66 d.the.file..........descriptor.f
908c0 6f 72 20 74 68 65 20 73 6c 61 76 65 20 69 6e 20 3c 56 41 52 3e 2a 61 73 6c 61 76 65 3c 2f 56 41 or.the.slave.in.<VAR>*aslave</VA
908e0 52 3e 2e 20 20 49 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f R>...If.the.argument.<VAR>name</
90900 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e VAR>..........is.not.a.null.poin
90920 74 65 72 2c 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 6c 61 76 65 20 ter,.the.file.name.of.the.slave.
90940 70 73 65 75 64 6f 2d 74 65 72 6d 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 20 pseudo-terminal..........device.
90960 69 73 20 73 74 6f 72 65 64 20 69 6e 20 3c 43 4f 44 45 3e 2a 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2e is.stored.in.<CODE>*name</CODE>.
90980 20 20 49 66 20 3c 56 41 52 3e 74 65 72 6d 70 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e ..If.<VAR>termp</VAR>.is.not.a.n
909a0 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 69 6e ull.pointer,..........the.termin
909c0 61 6c 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 74 68 65 20 73 6c 61 76 65 20 61 72 65 20 73 al.attributes.of.the.slave.are.s
909e0 65 74 20 74 6f 20 74 68 65 20 6f 6e 65 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 0a 20 20 20 20 et.to.the.ones.specified.in.....
90a00 20 20 20 20 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 74 68 61 74 20 3c 56 41 52 3e 74 65 72 .....the.structure.that.<VAR>ter
90a20 6d 70 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 20 2e 0a 20 20 20 20 20 20 20 20 20 4c 69 mp</VAR>.points.to............Li
90a40 6b 65 77 69 73 65 2c 20 69 66 20 74 68 65 20 3c 56 41 52 3e 77 69 6e 70 3c 2f 56 41 52 3e 20 69 kewise,.if.the.<VAR>winp</VAR>.i
90a60 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 73 63 72 65 65 6e s.not.a.null.pointer,.the.screen
90a80 20 73 69 7a 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 6c 61 76 65 20 69 73 20 73 .size.of..........the.slave.is.s
90aa0 65 74 20 74 6f 20 74 68 65 20 76 61 6c 75 65 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 et.to.the.values.specified.in.th
90ac0 65 20 73 74 72 75 63 74 75 72 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 77 e.structure.that..........<VAR>w
90ae0 69 6e 70 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 inp</VAR>.points.to...........<b
90b00 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 r><br>.The.normal.return.value.f
90b20 72 6f 6d 20 3c 43 4f 44 45 3e 6f 70 65 6e 70 74 79 3c 2f 43 4f 44 45 3e 20 69 73 20 30 3b 20 61 rom.<CODE>openpty</CODE>.is.0;.a
90b40 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 2d 31 20 69 73 20 72 65 74 75 72 6e 65 .value.of..........-1.is.returne
90b60 64 20 69 6e 20 63 61 73 65 20 6f 66 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 20 66 6f 6c 6c 6f d.in.case.of.failure...The.follo
90b80 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 wing.<CODE>errno</CODE>.........
90ba0 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 .conditions.are.defined.for.this
90bc0 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c .function:..........<br><br>.<DL
90be0 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 45 4e 54 3c 2f 43 4f >...........<DT><CODE>ENOENT</CO
90c00 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 6e 6f 20 66 DE>.<DD>..........There.are.no.f
90c20 72 65 65 20 70 73 65 75 64 6f 2d 74 65 72 6d 69 6e 61 6c 20 70 61 69 72 73 20 61 76 61 69 6c 61 ree.pseudo-terminal.pairs.availa
90c40 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ble...........</DL>..........<br
90c60 3e 3c 62 72 3e 20 57 61 72 6e 69 6e 67 3a 20 55 73 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e 6f ><br>.Warning:.Using.the.<CODE>o
90c80 70 65 6e 70 74 79 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 3c 56 41 52 penpty</CODE>.function.with.<VAR
90ca0 3e 6e 61 6d 65 3c 2f 56 41 52 3e 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 73 65 74 20 74 6f 20 >name</VAR>.not..........set.to.
90cc0 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 69 73 20 76 65 72 79 20 64 61 6e 67 65 72 <CODE>NULL</CODE>.is.very.danger
90ce0 6f 75 73 20 62 65 63 61 75 73 65 20 69 74 20 70 72 6f 76 69 64 65 73 20 6e 6f 0a 20 20 20 20 20 ous.because.it.provides.no......
90d00 20 20 20 20 70 72 6f 74 65 63 74 69 6f 6e 20 61 67 61 69 6e 73 74 20 6f 76 65 72 66 6c 6f 77 69 ....protection.against.overflowi
90d20 6e 67 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 ng.the.string.<VAR>name</VAR>...
90d40 59 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 43 4f 44 You.should.use..........the.<COD
90d60 45 3e 74 74 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 74 68 65 E>ttyname</CODE>.function.on.the
90d80 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 72 65 74 75 72 6e 65 64 20 69 6e 0a 20 20 20 .file.descriptor.returned.in....
90da0 20 20 20 20 20 20 3c 56 41 52 3e 2a 73 6c 61 76 65 3c 2f 56 41 52 3e 20 74 6f 20 66 69 6e 64 20 ......<VAR>*slave</VAR>.to.find.
90dc0 6f 75 74 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 6c 61 76 65 20 70 out.the.file.name.of.the.slave.p
90de0 73 65 75 64 6f 2d 74 65 72 6d 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 20 69 seudo-terminal..........device.i
90e00 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a nstead..........sq.~......w.....
90e20 74 00 05 70 74 79 2e 68 78 71 00 7e 15 46 74 00 52 69 6e 74 20 2a 61 6d 61 73 74 65 72 2c 20 69 t..pty.hxq.~.Ft.Rint.*amaster,.i
90e40 6e 74 20 2a 61 73 6c 61 76 65 2c 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 74 nt.*aslave,.char.*name,.struct.t
90e60 65 72 6d 69 6f 73 20 2a 74 65 72 6d 70 2c 20 73 74 72 75 63 74 20 77 69 6e 73 69 7a 65 20 2a 77 ermios.*termp,.struct.winsize.*w
90e80 69 6e 70 74 00 03 69 6e 74 74 00 13 70 61 72 73 65 5f 70 72 69 6e 74 66 5f 66 6f 72 6d 61 74 73 inpt..intt..parse_printf_formats
90ea0 71 00 7e 00 0a 70 74 04 08 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 q.~..pt...........This.function.
90ec0 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 6e 75 returns.information.about.the.nu
90ee0 6d 62 65 72 20 61 6e 64 20 74 79 70 65 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d mber.and.types.of..........argum
90f00 65 6e 74 73 20 65 78 70 65 63 74 65 64 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 70 72 69 6e 74 ents.expected.by.the.<CODE>print
90f20 66 3c 2f 43 4f 44 45 3e 20 74 65 6d 70 6c 61 74 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 74 65 f</CODE>.template.string.<VAR>te
90f40 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 69 6e 66 6f 72 mplate</VAR>...........The.infor
90f60 6d 61 74 69 6f 6e 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 3c 56 mation.is.stored.in.the.array.<V
90f80 41 52 3e 61 72 67 74 79 70 65 73 3c 2f 56 41 52 3e 3b 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 AR>argtypes</VAR>;.each.element.
90fa0 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 61 72 72 61 79 20 64 65 73 63 72 69 62 65 73 of..........this.array.describes
90fc0 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 54 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e .one.argument...This.information
90fe0 20 69 73 20 65 6e 63 6f 64 65 64 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 76 .is.encoded.using..........the.v
91000 61 72 69 6f 75 73 20 3c 73 61 6d 70 3e 50 41 5f 3c 2f 73 61 6d 70 3e 20 6d 61 63 72 6f 73 2c 20 arious.<samp>PA_</samp>.macros,.
91020 6c 69 73 74 65 64 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 listed.below...........<br><br>.
91040 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 The.argument.<VAR>n</VAR>.specif
91060 69 65 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 ies.the.number.of.elements.in.th
91080 65 20 61 72 72 61 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 74 79 70 65 73 3c 2f e.array..........<VAR>argtypes</
910a0 56 41 52 3e 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 VAR>...This.is.the.maximum.numbe
910c0 72 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 r.of.elements.that..........<COD
910e0 45 3e 70 61 72 73 65 5f 70 72 69 6e 74 66 5f 66 6f 72 6d 61 74 3c 2f 43 4f 44 45 3e 20 77 69 6c E>parse_printf_format</CODE>.wil
91100 6c 20 74 72 79 20 74 6f 20 77 72 69 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 l.try.to.write...........<br><br
91120 3e 20 3c 43 4f 44 45 3e 70 61 72 73 65 5f 70 72 69 6e 74 66 5f 66 6f 72 6d 61 74 3c 2f 43 4f 44 >.<CODE>parse_printf_format</COD
91140 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 61 E>.returns.the.total.number.of.a
91160 72 67 75 6d 65 6e 74 73 20 72 65 71 75 69 72 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 56 rguments.required..........by.<V
91180 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 2e 20 20 49 66 20 74 68 69 73 20 6e 75 6d 62 AR>template</VAR>...If.this.numb
911a0 65 72 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 2c er.is.greater.than.<VAR>n</VAR>,
911c0 20 74 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 72 .then.the..........information.r
911e0 65 74 75 72 6e 65 64 20 64 65 73 63 72 69 62 65 73 20 6f 6e 6c 79 20 74 68 65 20 66 69 72 73 74 eturned.describes.only.the.first
91200 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 2e 20 20 49 66 20 79 6f 75 .<VAR>n</VAR>.arguments...If.you
91220 0a 20 20 20 20 20 20 20 20 20 77 61 6e 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 ..........want.information.about
91240 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6c 6c 6f 63 61 74 65 20 .additional.arguments,.allocate.
91260 61 20 62 69 67 67 65 72 0a 20 20 20 20 20 20 20 20 20 61 72 72 61 79 20 61 6e 64 20 63 61 6c 6c a.bigger..........array.and.call
91280 20 3c 43 4f 44 45 3e 70 61 72 73 65 5f 70 72 69 6e 74 66 5f 66 6f 72 6d 61 74 3c 2f 43 4f 44 45 .<CODE>parse_printf_format</CODE
912a0 3e 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 >.again..........sq.~......w....
912c0 0a 74 00 08 70 72 69 6e 74 66 2e 68 78 71 00 7e 15 4d 74 00 2d 63 6f 6e 73 74 20 63 68 61 72 20 .t..printf.hxq.~.Mt.-const.char.
912e0 2a 74 65 6d 70 6c 61 74 65 2c 20 73 69 7a 65 5f 74 20 6e 2c 20 69 6e 74 20 2a 61 72 67 74 79 70 *template,.size_t.n,.int.*argtyp
91300 65 73 74 00 06 73 69 7a 65 5f 74 74 00 08 70 61 74 68 63 6f 6e 66 73 71 00 7e 00 0a 70 74 04 6c est..size_tt..pathconfsq.~..pt.l
91320 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 .........This.function.is.used.t
91340 6f 20 69 6e 71 75 69 72 65 20 61 62 6f 75 74 20 74 68 65 20 6c 69 6d 69 74 73 20 74 68 61 74 20 o.inquire.about.the.limits.that.
91360 61 70 70 6c 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 64 apply.to..........the.file.named
91380 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c .<VAR>filename</VAR>...........<
913a0 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 70 61 72 61 6d 65 74 65 72 3c 2f 56 41 52 3e br><br>.The.<VAR>parameter</VAR>
913c0 20 61 72 67 75 6d 65 6e 74 20 73 68 6f 75 6c 64 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 3c .argument.should.be.one.of.the.<
913e0 73 61 6d 70 3e 5f 50 43 5f 3c 2f 73 61 6d 70 3e 20 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 samp>_PC_</samp>.constants......
91400 20 20 20 20 6c 69 73 74 65 64 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c ....listed.below...........<br><
91420 62 72 3e 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d br>.The.normal.return.value.from
91440 20 3c 43 4f 44 45 3e 70 61 74 68 63 6f 6e 66 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 76 61 .<CODE>pathconf</CODE>.is.the.va
91460 6c 75 65 20 79 6f 75 20 72 65 71 75 65 73 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 41 20 76 61 lue.you.requested...........A.va
91480 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e lue.of.<CODE>-1</CODE>.is.return
914a0 65 64 20 62 6f 74 68 20 69 66 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 6f ed.both.if.the.implementation.do
914c0 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 69 6d 70 6f 73 65 20 61 20 6c 69 6d 69 74 2c 20 es.not..........impose.a.limit,.
914e0 61 6e 64 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 20 20 49 6e 20 74 68 65 and.in.case.of.an.error...In.the
91500 20 66 6f 72 6d 65 72 20 63 61 73 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 .former.case,..........<CODE>err
91520 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 73 65 74 2c 20 77 68 69 6c 65 20 69 6e 20 74 no</CODE>.is.not.set,.while.in.t
91540 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 he.latter.case,.<CODE>errno</COD
91560 45 3e 20 69 73 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 E>.is.set..........to.indicate.t
91580 68 65 20 63 61 75 73 65 20 6f 66 20 74 68 65 20 70 72 6f 62 6c 65 6d 2e 20 20 53 6f 20 74 68 65 he.cause.of.the.problem...So.the
915a0 20 6f 6e 6c 79 20 77 61 79 20 74 6f 20 75 73 65 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 .only.way.to.use.this..........f
915c0 75 6e 63 74 69 6f 6e 20 72 6f 62 75 73 74 6c 79 20 69 73 20 74 6f 20 73 74 6f 72 65 20 3c 43 4f unction.robustly.is.to.store.<CO
915e0 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 6e 74 6f 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f DE>0</CODE>.into.<CODE>errno</CO
91600 44 45 3e 20 6a 75 73 74 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 69 6e 67 DE>.just.before..........calling
91620 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 65 73 69 64 65 73 20 74 .it...........<br><br>.Besides.t
91640 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 6e 61 6d 65 20 65 72 72 6f 72 73 20 2c 0a 20 20 20 20 he.usual.file.name.errors.,.....
91660 20 20 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 .....the.following.error.conditi
91680 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a on.is.defined.for.this.function:
916a0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 ..........<br><br>.<DL>.........
916c0 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ..<DT><CODE>EINVAL</CODE>.<DD>..
916e0 20 20 20 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 70 61 72 61 6d 65 ........The.value.of.<VAR>parame
91700 74 65 72 3c 2f 56 41 52 3e 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 6f 72 20 74 68 65 20 69 6d 70 ter</VAR>.is.invalid,.or.the.imp
91720 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 0a 20 20 20 20 20 20 20 20 20 73 75 70 lementation.doesn't..........sup
91740 70 6f 72 74 20 74 68 65 20 3c 56 41 52 3e 70 61 72 61 6d 65 74 65 72 3c 2f 56 41 52 3e 20 66 6f port.the.<VAR>parameter</VAR>.fo
91760 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f r.the.specific.file...........</
91780 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 05 77 04 00 00 00 0a 74 00 08 75 DL>.........sq.~......w.....t..u
917a0 6e 69 73 74 64 2e 68 74 00 09 75 6e 69 73 74 64 68 2e 68 74 00 08 6c 69 6d 69 74 73 2e 68 74 00 nistd.ht..unistdh.ht..limits.ht.
917c0 08 64 69 72 65 6e 74 2e 68 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 15 54 74 00 23 63 6f 6e 73 .dirent.ht..stdio.hxq.~.Tt.#cons
917e0 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 69 6e 74 20 70 61 72 61 6d 65 74 65 72 74 t.char.*filename,.int.parametert
91800 00 08 6c 6f 6e 67 20 69 6e 74 74 00 05 70 61 75 73 65 73 71 00 7e 00 0a 70 74 06 2d 0a 20 20 20 ..long.intt..pausesq.~..pt.-....
91820 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 61 75 73 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 .....The.<CODE>pause</CODE>.func
91840 74 69 6f 6e 20 73 75 73 70 65 6e 64 73 20 70 72 6f 67 72 61 6d 20 65 78 65 63 75 74 69 6f 6e 20 tion.suspends.program.execution.
91860 75 6e 74 69 6c 20 61 20 73 69 67 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 61 72 72 69 76 65 73 20 until.a.signal..........arrives.
91880 77 68 6f 73 65 20 61 63 74 69 6f 6e 20 69 73 20 65 69 74 68 65 72 20 74 6f 20 65 78 65 63 75 74 whose.action.is.either.to.execut
918a0 65 20 61 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 2c 20 6f 72 20 74 6f 0a 20 20 20 20 e.a.handler.function,.or.to.....
918c0 20 20 20 20 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 .....terminate.the.process......
918e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 69 67 6e 61 6c 20 63 61 75 73 .....<br><br>.If.the.signal.caus
91900 65 73 20 61 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 65 78 65 63 es.a.handler.function.to.be.exec
91920 75 74 65 64 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 70 61 75 73 65 3c uted,.then..........<CODE>pause<
91940 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 2e 20 20 54 68 69 73 20 69 73 20 63 6f 6e 73 69 64 65 /CODE>.returns...This.is.conside
91960 72 65 64 20 61 6e 20 75 6e 73 75 63 63 65 73 73 66 75 6c 20 72 65 74 75 72 6e 20 28 73 69 6e 63 red.an.unsuccessful.return.(sinc
91980 65 0a 20 20 20 20 20 20 20 20 20 60 60 73 75 63 63 65 73 73 66 75 6c 27 27 20 62 65 68 61 76 69 e..........``successful''.behavi
919a0 6f 72 20 77 6f 75 6c 64 20 62 65 20 74 6f 20 73 75 73 70 65 6e 64 20 74 68 65 20 70 72 6f 67 72 or.would.be.to.suspend.the.progr
919c0 61 6d 20 66 6f 72 65 76 65 72 29 2c 20 73 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 am.forever),.so.the..........ret
919e0 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2e 20 20 45 urn.value.is.<CODE>-1</CODE>...E
91a00 76 65 6e 20 69 66 20 79 6f 75 20 73 70 65 63 69 66 79 20 74 68 61 74 20 6f 74 68 65 72 20 70 72 ven.if.you.specify.that.other.pr
91a20 69 6d 69 74 69 76 65 73 0a 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 72 65 73 75 6d 65 20 imitives..........should.resume.
91a40 77 68 65 6e 20 61 20 73 79 73 74 65 6d 20 68 61 6e 64 6c 65 72 20 72 65 74 75 72 6e 73 20 2c 20 when.a.system.handler.returns.,.
91a60 74 68 69 73 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 6f 6e 20 3c 43 4f 44 45 3e 70 61 75 73 this.has.no.effect.on.<CODE>paus
91a80 65 3c 2f 43 4f 44 45 3e 3b 20 69 74 20 61 6c 77 61 79 73 20 66 61 69 6c 73 20 77 68 65 6e 20 61 e</CODE>;.it.always.fails.when.a
91aa0 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 61 6c 20 69 73 20 68 61 6e 64 6c 65 64 2e 0a 20 20 20 ..........signal.is.handled.....
91ac0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f ......<br><br>.The.following.<CO
91ae0 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 DE>errno</CODE>.error.conditions
91b00 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a .are.defined.for.this.function:.
91b20 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 .........<br><br>.<DL>..........
91b40 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 .<DT><CODE>EINTR</CODE>.<DD>....
91b60 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 65 72 72 75 70 74 ......The.function.was.interrupt
91b80 65 64 20 62 79 20 64 65 6c 69 76 65 72 79 20 6f 66 20 61 20 73 69 67 6e 61 6c 2e 0a 20 20 20 20 ed.by.delivery.of.a.signal......
91ba0 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 .....</DL>..........<br><br>.If.
91bc0 74 68 65 20 73 69 67 6e 61 6c 20 63 61 75 73 65 73 20 70 72 6f 67 72 61 6d 20 74 65 72 6d 69 6e the.signal.causes.program.termin
91be0 61 74 69 6f 6e 2c 20 3c 43 4f 44 45 3e 70 61 75 73 65 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 6e 27 ation,.<CODE>pause</CODE>.doesn'
91c00 74 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 28 6f 62 76 69 6f 75 73 6c 79 29 2e 0a 20 t.return..........(obviously)...
91c20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ........<br><br>.This.function.i
91c40 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 74 s.a.cancellation.point.in.multit
91c60 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 hreaded.programs...This.........
91c80 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 61 6c 6c 6f .is.a.problem.if.the.thread.allo
91ca0 63 61 74 65 73 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 cates.some.resources.(like.memor
91cc0 79 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 y,.file..........descriptors,.se
91ce0 6d 61 70 68 6f 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 68 65 20 74 69 6d maphores.or.whatever).at.the.tim
91d00 65 20 3c 43 4f 44 45 3e 70 61 75 73 65 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 e.<CODE>pause</CODE>.is.........
91d20 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 74 73 20 63 61 6e .called...If.the.thread.gets.can
91d40 63 65 6c 6c 65 64 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 20 61 6c 6c 6f celled.these.resources.stay.allo
91d60 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 6f 67 72 61 6d cated..........until.the.program
91d80 20 65 6e 64 73 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 61 6c 6c 73 20 74 6f 20 3c .ends...To.avoid.this.calls.to.<
91da0 43 4f 44 45 3e 70 61 75 73 65 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 CODE>pause</CODE>.should.be.....
91dc0 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 74 69 6f .....protected.using.cancellatio
91de0 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 n.handlers...........<br><br>.Th
91e00 65 20 3c 43 4f 44 45 3e 70 61 75 73 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 e.<CODE>pause</CODE>.function.is
91e20 20 64 65 63 6c 61 72 65 64 20 69 6e 20 20 3c 54 54 3e 75 6e 69 73 74 64 2e 68 3c 2f 54 54 3e 2e .declared.in..<TT>unistd.h</TT>.
91e40 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 .........sq.~......w.....t..unis
91e60 74 64 2e 68 78 71 00 7e 15 5f 74 00 00 74 00 03 69 6e 74 74 00 06 70 63 6c 6f 73 65 73 71 00 7e td.hxq.~._t..t..intt..pclosesq.~
91e80 00 0a 70 74 00 f0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 63 6c 6f 73 65 3c ..pt...........The.<CODE>pclose<
91ea0 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 63 6c 6f 73 65 /CODE>.function.is.used.to.close
91ec0 20 61 20 73 74 72 65 61 6d 20 63 72 65 61 74 65 64 20 62 79 20 3c 43 4f 44 45 3e 70 6f 70 65 6e .a.stream.created.by.<CODE>popen
91ee0 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 49 74 20 77 61 69 74 73 20 66 6f 72 20 74 </CODE>...........It.waits.for.t
91f00 68 65 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 20 61 6e he.child.process.to.terminate.an
91f20 64 20 72 65 74 75 72 6e 73 20 69 74 73 20 73 74 61 74 75 73 20 76 61 6c 75 65 2c 0a 20 20 20 20 d.returns.its.status.value,.....
91f40 20 20 20 20 20 61 73 20 66 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 73 79 73 74 65 6d 3c 2f 43 4f .....as.for.the.<CODE>system</CO
91f60 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 DE>.function..........sq.~......
91f80 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 15 66 74 00 0c 46 49 4c 45 20 2a 73 w.....t..stdio.hxq.~.ft..FILE.*s
91fa0 74 72 65 61 6d 74 00 03 69 6e 74 74 00 06 70 65 72 72 6f 72 73 71 00 7e 00 0a 70 74 03 37 0a 20 treamt..intt..perrorsq.~..pt.7..
91fc0 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 73 20 61 6e 20 65 .......This.function.prints.an.e
91fe0 72 72 6f 72 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 73 74 72 65 61 6d 20 3c 43 4f 44 45 rror.message.to.the.stream.<CODE
92000 3e 73 74 64 65 72 72 3c 2f 43 4f 44 45 3e 3b 0a 20 20 20 20 20 20 20 20 20 73 65 65 20 53 74 61 >stderr</CODE>;..........see.Sta
92020 6e 64 61 72 64 20 53 74 72 65 61 6d 73 2e 20 20 54 68 65 20 6f 72 69 65 6e 74 61 74 69 6f 6e 20 ndard.Streams...The.orientation.
92040 6f 66 20 3c 43 4f 44 45 3e 73 74 64 65 72 72 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 0a 20 20 of.<CODE>stderr</CODE>.is.not...
92060 20 20 20 20 20 20 20 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .......changed...........<br><br
92080 3e 20 49 66 20 79 6f 75 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 70 65 72 72 6f 72 3c 2f 43 4f 44 45 >.If.you.call.<CODE>perror</CODE
920a0 3e 20 77 69 74 68 20 61 20 3c 56 41 52 3e 6d 65 73 73 61 67 65 3c 2f 56 41 52 3e 20 74 68 61 74 >.with.a.<VAR>message</VAR>.that
920c0 20 69 73 20 65 69 74 68 65 72 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 .is.either.a.null..........point
920e0 65 72 20 6f 72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 3c 43 4f 44 45 3e 70 65 72 er.or.an.empty.string,.<CODE>per
92100 72 6f 72 3c 2f 43 4f 44 45 3e 20 6a 75 73 74 20 70 72 69 6e 74 73 20 74 68 65 20 65 72 72 6f 72 ror</CODE>.just.prints.the.error
92120 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 .message..........corresponding.
92140 74 6f 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 2c 20 61 64 64 69 6e 67 20 61 20 to.<CODE>errno</CODE>,.adding.a.
92160 74 72 61 69 6c 69 6e 67 20 6e 65 77 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c trailing.newline...........<br><
92180 62 72 3e 20 49 66 20 79 6f 75 20 73 75 70 70 6c 79 20 61 20 6e 6f 6e 2d 6e 75 6c 6c 20 3c 56 41 br>.If.you.supply.a.non-null.<VA
921a0 52 3e 6d 65 73 73 61 67 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 6e 20 3c R>message</VAR>.argument,.then.<
921c0 43 4f 44 45 3e 70 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 70 72 65 66 CODE>perror</CODE>..........pref
921e0 69 78 65 73 20 69 74 73 20 6f 75 74 70 75 74 20 77 69 74 68 20 74 68 69 73 20 73 74 72 69 6e 67 ixes.its.output.with.this.string
92200 2e 20 20 49 74 20 61 64 64 73 20 61 20 63 6f 6c 6f 6e 20 61 6e 64 20 61 20 73 70 61 63 65 0a 20 ...It.adds.a.colon.and.a.space..
92220 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 73 65 70 61 72 61 74 65 20 74 68 ........character.to.separate.th
92240 65 20 3c 56 41 52 3e 6d 65 73 73 61 67 65 3c 2f 56 41 52 3e 20 66 72 6f 6d 20 74 68 65 20 65 72 e.<VAR>message</VAR>.from.the.er
92260 72 6f 72 20 73 74 72 69 6e 67 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 ror.string.corresponding........
92280 20 20 74 6f 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 ..to.<CODE>errno</CODE>.........
922a0 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 70 65 ..<br><br>.The.function.<CODE>pe
922c0 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 rror</CODE>.is.declared.in.<TT>s
922e0 74 64 69 6f 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 tdio.h</TT>..........sq.~......w
92300 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 15 6d 74 00 13 63 6f 6e 73 74 20 63 68 .....t..stdio.hxq.~.mt..const.ch
92320 61 72 20 2a 6d 65 73 73 61 67 65 74 00 04 76 6f 69 64 74 00 04 70 69 70 65 73 71 00 7e 00 0a 70 ar.*messaget..voidt..pipesq.~..p
92340 74 04 03 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 69 70 65 3c 2f 43 4f 44 45 t...........The.<CODE>pipe</CODE
92360 3e 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 70 69 70 65 20 61 6e 64 20 70 75 >.function.creates.a.pipe.and.pu
92380 74 73 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 0a 20 20 20 20 20 20 20 20 ts.the.file.descriptors.........
923a0 20 66 6f 72 20 74 68 65 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 74 69 6e 67 20 65 6e 64 .for.the.reading.and.writing.end
923c0 73 20 6f 66 20 74 68 65 20 70 69 70 65 20 28 72 65 73 70 65 63 74 69 76 65 6c 79 29 20 69 6e 74 s.of.the.pipe.(respectively).int
923e0 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 o..........<CODE><VAR>filedes</V
92400 41 52 3e 5b 30 5d 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 66 69 6c AR>[0]</CODE>.and.<CODE><VAR>fil
92420 65 64 65 73 3c 2f 56 41 52 3e 5b 31 5d 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c edes</VAR>[1]</CODE>...........<
92440 62 72 3e 3c 62 72 3e 20 41 6e 20 65 61 73 79 20 77 61 79 20 74 6f 20 72 65 6d 65 6d 62 65 72 20 br><br>.An.easy.way.to.remember.
92460 74 68 61 74 20 74 68 65 20 69 6e 70 75 74 20 65 6e 64 20 63 6f 6d 65 73 20 66 69 72 73 74 20 69 that.the.input.end.comes.first.i
92480 73 20 74 68 61 74 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 20 s.that.file..........descriptor.
924a0 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 73 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 <CODE>0</CODE>.is.standard.input
924c0 2c 20 61 6e 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 43 4f 44 45 3e 31 3c 2f 43 ,.and.file.descriptor.<CODE>1</C
924e0 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 ODE>.is..........standard.output
92500 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 73 75 63 63 65 73 73 66 75 ...........<br><br>.If.successfu
92520 6c 2c 20 3c 43 4f 44 45 3e 70 69 70 65 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 76 l,.<CODE>pipe</CODE>.returns.a.v
92540 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 20 20 4f 6e 20 66 61 69 6c alue.of.<CODE>0</CODE>...On.fail
92560 75 72 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 ure,..........<CODE>-1</CODE>.is
92580 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e .returned...The.following.<CODE>
925a0 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 errno</CODE>.error.conditions.ar
925c0 65 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 e..........defined.for.this.func
925e0 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 tion:..........<br><br>.<DL>....
92600 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4d 46 49 4c 45 3c 2f 43 4f 44 45 3e 0a 3c .......<DT><CODE>EMFILE</CODE>.<
92620 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 68 61 73 20 74 6f 6f DD>..........The.process.has.too
92640 20 6d 61 6e 79 20 66 69 6c 65 73 20 6f 70 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .many.files.open...........<br><
92660 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 46 49 4c 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e br>.<DT><CODE>ENFILE</CODE>.<DD>
92680 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 74 6f 6f 20 6d 61 6e 79 20 6f 70 65 ..........There.are.too.many.ope
926a0 6e 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 65 6e 74 69 72 65 20 73 79 73 74 65 6d 2e 20 20 2c n.files.in.the.entire.system...,
926c0 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 ..........for.more.information.a
926e0 62 6f 75 74 20 3c 43 4f 44 45 3e 45 4e 46 49 4c 45 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 bout.<CODE>ENFILE</CODE>...This.
92700 65 72 72 6f 72 20 6e 65 76 65 72 20 6f 63 63 75 72 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 error.never.occurs.in..........t
92720 68 65 20 47 4e 55 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 he.GNU.system...........</DL>...
92740 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e ......sq.~......w.....t..unistd.
92760 68 78 71 00 7e 15 74 74 00 0e 69 6e 74 20 66 69 6c 65 64 65 73 5b 32 5d 74 00 03 69 6e 74 74 00 hxq.~.tt..int.filedes[2]t..intt.
92780 05 70 6f 70 65 6e 73 71 00 7e 00 0a 70 74 04 97 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f .popensq.~..pt...........The.<CO
927a0 44 45 3e 70 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 6c 6f 73 DE>popen</CODE>.function.is.clos
927c0 65 6c 79 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 79 73 74 65 6d 3c ely.related.to.the.<CODE>system<
927e0 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 3b 20 73 65 65 20 52 75 /CODE>..........function;.see.Ru
92800 6e 6e 69 6e 67 20 61 20 43 6f 6d 6d 61 6e 64 2e 20 20 49 74 20 65 78 65 63 75 74 65 73 20 74 68 nning.a.Command...It.executes.th
92820 65 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 63 6f e.shell.command..........<VAR>co
92840 6d 6d 61 6e 64 3c 2f 56 41 52 3e 20 61 73 20 61 20 73 75 62 70 72 6f 63 65 73 73 2e 20 20 48 6f mmand</VAR>.as.a.subprocess...Ho
92860 77 65 76 65 72 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 77 61 69 74 69 6e 67 20 66 6f 72 20 74 68 wever,.instead.of.waiting.for.th
92880 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 63 6f 6d 70 6c 65 74 65 2c 20 e..........command.to.complete,.
928a0 69 74 20 63 72 65 61 74 65 73 20 61 20 70 69 70 65 20 74 6f 20 74 68 65 20 73 75 62 70 72 6f 63 it.creates.a.pipe.to.the.subproc
928c0 65 73 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 ess.and.returns.a..........strea
928e0 6d 20 74 68 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 61 74 20 70 69 70 65 2e m.that.corresponds.to.that.pipe.
92900 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 73 70 65 63 69 66 ..........<br><br>.If.you.specif
92920 79 20 61 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 y.a.<VAR>mode</VAR>.argument.of.
92940 3c 43 4f 44 45 3e 22 72 22 3c 2f 43 4f 44 45 3e 2c 20 79 6f 75 20 63 61 6e 20 72 65 61 64 20 66 <CODE>"r"</CODE>,.you.can.read.f
92960 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 74 6f 20 72 65 74 72 69 rom.the..........stream.to.retri
92980 65 76 65 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 eve.data.from.the.standard.outpu
929a0 74 20 63 68 61 6e 6e 65 6c 20 6f 66 20 74 68 65 20 73 75 62 70 72 6f 63 65 73 73 2e 0a 20 20 20 t.channel.of.the.subprocess.....
929c0 20 20 20 20 20 20 54 68 65 20 73 75 62 70 72 6f 63 65 73 73 20 69 6e 68 65 72 69 74 73 20 69 74 ......The.subprocess.inherits.it
929e0 73 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 63 68 61 6e 6e 65 6c 20 66 72 6f 6d 20 74 68 s.standard.input.channel.from.th
92a00 65 20 70 61 72 65 6e 74 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c e.parent.process...........<br><
92a20 62 72 3e 20 53 69 6d 69 6c 61 72 6c 79 2c 20 69 66 20 79 6f 75 20 73 70 65 63 69 66 79 20 61 20 br>.Similarly,.if.you.specify.a.
92a40 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 3c 43 4f 44 <VAR>mode</VAR>.argument.of.<COD
92a60 45 3e 22 77 22 3c 2f 43 4f 44 45 3e 2c 20 79 6f 75 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 77 E>"w"</CODE>,.you.can..........w
92a80 72 69 74 65 20 74 6f 20 74 68 65 20 73 74 72 65 61 6d 20 74 6f 20 73 65 6e 64 20 64 61 74 61 20 rite.to.the.stream.to.send.data.
92aa0 74 6f 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 63 68 61 6e 6e 65 6c 20 6f 66 to.the.standard.input.channel.of
92ac0 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 75 62 70 72 6f 63 65 73 73 2e 20 20 54 68 65 20 73 .the..........subprocess...The.s
92ae0 75 62 70 72 6f 63 65 73 73 20 69 6e 68 65 72 69 74 73 20 69 74 73 20 73 74 61 6e 64 61 72 64 20 ubprocess.inherits.its.standard.
92b00 6f 75 74 70 75 74 20 63 68 61 6e 6e 65 6c 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 74 68 65 output.channel.from..........the
92b20 20 70 61 72 65 6e 74 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .parent.process...........<br><b
92b40 72 3e 20 49 6e 20 74 68 65 20 65 76 65 6e 74 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 3c 43 4f 44 r>.In.the.event.of.an.error.<COD
92b60 45 3e 70 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f E>popen</CODE>.returns.a.null.po
92b80 69 6e 74 65 72 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 6d 69 67 68 74 20 68 61 70 70 inter...This..........might.happ
92ba0 65 6e 20 69 66 20 74 68 65 20 70 69 70 65 20 6f 72 20 73 74 72 65 61 6d 20 63 61 6e 6e 6f 74 20 en.if.the.pipe.or.stream.cannot.
92bc0 62 65 20 63 72 65 61 74 65 64 2c 20 69 66 20 74 68 65 20 73 75 62 70 72 6f 63 65 73 73 0a 20 20 be.created,.if.the.subprocess...
92be0 20 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 66 6f 72 6b 65 64 2c 20 6f 72 20 69 66 20 74 .......cannot.be.forked,.or.if.t
92c00 68 65 20 70 72 6f 67 72 61 6d 20 63 61 6e 6e 6f 74 20 62 65 20 65 78 65 63 75 74 65 64 2e 0a 20 he.program.cannot.be.executed...
92c20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e .......sq.~......w.....t..stdio.
92c40 68 78 71 00 7e 15 7b 74 00 25 63 6f 6e 73 74 20 63 68 61 72 20 2a 63 6f 6d 6d 61 6e 64 2c 20 63 hxq.~.{t.%const.char.*command,.c
92c60 6f 6e 73 74 20 63 68 61 72 20 2a 6d 6f 64 65 74 00 06 46 49 4c 45 20 2a 74 00 0e 70 6f 73 69 78 onst.char.*modet..FILE.*t..posix
92c80 5f 6d 65 6d 61 6c 69 67 6e 73 71 00 7e 00 0a 70 74 02 ca 0a 20 20 20 20 20 20 20 20 54 68 65 20 _memalignsq.~..pt...........The.
92ca0 3c 43 4f 44 45 3e 70 6f 73 69 78 5f 6d 65 6d 61 6c 69 67 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 <CODE>posix_memalign</CODE>.func
92cc0 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 6d 65 6d tion.is.similar.to.the.<CODE>mem
92ce0 61 6c 69 67 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 align</CODE>..........function.i
92d00 6e 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 62 75 66 66 65 72 20 6f 66 20 3c 56 n.that.it.returns.a.buffer.of.<V
92d20 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 61 6c 69 67 6e 65 64 20 74 6f 20 61 AR>size</VAR>.bytes.aligned.to.a
92d40 0a 20 20 20 20 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 3c 56 41 52 3e 61 6c 69 67 6e ..........multiple.of.<VAR>align
92d60 6d 65 6e 74 3c 2f 56 41 52 3e 2e 20 20 42 75 74 20 69 74 20 61 64 64 73 20 6f 6e 65 20 72 65 71 ment</VAR>...But.it.adds.one.req
92d80 75 69 72 65 6d 65 6e 74 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 uirement.to.the..........paramet
92da0 65 72 20 3c 56 41 52 3e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 56 41 52 3e 3a 20 74 68 65 20 76 61 6c er.<VAR>alignment</VAR>:.the.val
92dc0 75 65 20 6d 75 73 74 20 62 65 20 61 20 70 6f 77 65 72 20 6f 66 20 74 77 6f 20 6d 75 6c 74 69 70 ue.must.be.a.power.of.two.multip
92de0 6c 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 69 7a 65 6f 66 20 28 76 6f 69 le.of..........<CODE>sizeof.(voi
92e00 64 20 2a 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 d.*)</CODE>...........<br><br>.I
92e20 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 73 20 69 6e 20 61 6c 6c 6f 63 f.the.function.succeeds.in.alloc
92e40 61 74 69 6f 6e 20 6d 65 6d 6f 72 79 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 61 6c ation.memory.a.pointer.to.the.al
92e60 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 6d 65 6d 6f 72 79 20 69 73 20 72 65 74 75 72 located..........memory.is.retur
92e80 6e 65 64 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 6d 65 6d 70 74 72 3c 2f 56 41 52 3e 3c ned.in.<CODE>*<VAR>memptr</VAR><
92ea0 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a /CODE>.and.the.return.value.is.z
92ec0 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 66 75 6e 63 ero...........Otherwise.the.func
92ee0 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 76 61 6c 75 65 20 69 6e 64 69 tion.returns.an.error.value.indi
92f00 63 61 74 69 6e 67 20 74 68 65 20 70 72 6f 62 6c 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 cating.the.problem...........<br
92f20 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 ><br>.This.function.was.introduc
92f40 65 64 20 69 6e 20 50 4f 53 49 58 20 31 30 30 33 2e 31 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 ed.in.POSIX.1003.1d..........sq.
92f60 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 15 82 74 00 ~......w.....t..stdlib.hxq.~..t.
92f80 2c 76 6f 69 64 20 2a 2a 6d 65 6d 70 74 72 2c 20 73 69 7a 65 5f 74 20 61 6c 69 67 6e 6d 65 6e 74 ,void.**memptr,.size_t.alignment
92fa0 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 03 69 6e 74 74 00 03 70 6f 77 73 71 00 7e 00 0a 70 ,.size_t.sizet..intt..powsq.~..p
92fc0 74 01 c5 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 61 72 65 20 67 65 6e 65 72 61 6c 20 65 78 t...........These.are.general.ex
92fe0 70 6f 6e 65 6e 74 69 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 72 65 74 75 72 6e 69 6e ponentiation.functions,.returnin
93000 67 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 20 72 61 69 73 65 64 0a 20 20 20 20 20 20 20 g.<VAR>base</VAR>.raised........
93020 20 20 74 6f 20 3c 56 41 52 3e 70 6f 77 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 ..to.<VAR>power</VAR>...........
93040 3c 62 72 3e 3c 62 72 3e 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 70 <br><br>.Mathematically,.<CODE>p
93060 6f 77 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 63 6f 6d 70 6c 65 78 ow</CODE>.would.return.a.complex
93080 20 6e 75 6d 62 65 72 20 77 68 65 6e 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 0a 20 20 20 .number.when.<VAR>base</VAR>....
930a0 20 20 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 20 61 6e 64 20 3c 56 41 52 3e 70 6f 77 65 72 ......is.negative.and.<VAR>power
930c0 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 6e 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 2e </VAR>.is.not.an.integral.value.
930e0 20 20 3c 43 4f 44 45 3e 70 6f 77 3c 2f 43 4f 44 45 3e 20 63 61 6e 27 74 0a 20 20 20 20 20 20 20 ..<CODE>pow</CODE>.can't........
93100 20 20 64 6f 20 74 68 61 74 2c 20 73 6f 20 69 6e 73 74 65 61 64 20 69 74 20 73 69 67 6e 61 6c 73 ..do.that,.so.instead.it.signals
93120 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 20 3c 43 4f 44 45 3e 70 6f 77 3c 2f 43 4f 44 45 .a.domain.error..<CODE>pow</CODE
93140 3e 20 6d 61 79 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 75 6e 64 65 72 66 6c 6f 77 20 6f 72 >.may.also..........underflow.or
93160 20 6f 76 65 72 66 6c 6f 77 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 0a .overflow.the.destination.type..
93180 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e ........sq.~......w.....t..math.
931a0 68 78 71 00 7e 15 89 74 00 19 64 6f 75 62 6c 65 20 62 61 73 65 2c 20 64 6f 75 62 6c 65 20 70 6f hxq.~..t..double.base,.double.po
931c0 77 65 72 74 00 06 64 6f 75 62 6c 65 74 00 05 70 6f 77 31 30 73 71 00 7e 00 0a 70 74 01 66 0a 20 wert..doublet..pow10sq.~..pt.f..
931e0 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 3c .......These.functions.compute.<
93200 43 4f 44 45 3e 31 30 3c 2f 43 4f 44 45 3e 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 CODE>10</CODE>.raised.to.the.pow
93220 65 72 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d er.<VAR>x</VAR>...........Mathem
93240 61 74 69 63 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 65 78 70 31 30 20 28 78 29 3c 2f 43 4f 44 45 3e atically,.<CODE>exp10.(x)</CODE>
93260 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 65 78 70 20 28 78 20 2a 20 6c .is.the.same.as.<CODE>exp.(x.*.l
93280 6f 67 20 28 31 30 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 og.(10))</CODE>...........<br><b
932a0 72 3e 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 47 4e 55 20 65 78 74 65 6e r>.These.functions.are.GNU.exten
932c0 73 69 6f 6e 73 2e 20 20 54 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 65 78 70 31 30 3c 2f 43 4f sions...The.name.<CODE>exp10</CO
932e0 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 72 65 66 65 72 72 65 64 2c 20 73 69 6e 63 65 DE>.is..........preferred,.since
93300 20 69 74 20 69 73 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 65 78 70 3c 2f 43 .it.is.analogous.to.<CODE>exp</C
93320 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 78 70 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 ODE>.and.<CODE>exp2</CODE>......
93340 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 ....sq.~......w.....t..math.hxq.
93360 7e 15 90 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 70 6f 77 31 30 66 ~..t..double.xt..doublet..pow10f
93380 73 71 00 7e 00 0a 70 74 01 66 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f sq.~..pt.f.........These.functio
933a0 6e 73 20 63 6f 6d 70 75 74 65 20 3c 43 4f 44 45 3e 31 30 3c 2f 43 4f 44 45 3e 20 72 61 69 73 65 ns.compute.<CODE>10</CODE>.raise
933c0 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 d.to.the.power.<VAR>x</VAR>.....
933e0 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 65 78 70 31 ......Mathematically,.<CODE>exp1
93400 30 20 28 78 29 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 0.(x)</CODE>.is.the.same.as.<COD
93420 45 3e 65 78 70 20 28 78 20 2a 20 6c 6f 67 20 28 31 30 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 E>exp.(x.*.log.(10))</CODE>.....
93440 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 ......<br><br>.These.functions.a
93460 72 65 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20 20 54 68 65 20 6e 61 6d 65 20 3c 43 4f re.GNU.extensions...The.name.<CO
93480 44 45 3e 65 78 70 31 30 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 72 65 66 DE>exp10</CODE>.is..........pref
934a0 65 72 72 65 64 2c 20 73 69 6e 63 65 20 69 74 20 69 73 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 erred,.since.it.is.analogous.to.
934c0 3c 43 4f 44 45 3e 65 78 70 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 78 70 32 3c <CODE>exp</CODE>.and.<CODE>exp2<
934e0 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a /CODE>..........sq.~......w.....
93500 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 15 97 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 t..math.hxq.~..t..float.xt..floa
93520 74 74 00 06 70 6f 77 31 30 6c 73 71 00 7e 00 0a 70 74 01 66 0a 20 20 20 20 20 20 20 20 54 68 65 tt..pow10lsq.~..pt.f.........The
93540 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 63 6f 6d 70 75 74 65 20 3c 43 4f 44 45 3e 31 30 3c 2f 43 se.functions.compute.<CODE>10</C
93560 4f 44 45 3e 20 72 61 69 73 65 64 20 74 6f 20 74 68 65 20 70 6f 77 65 72 20 3c 56 41 52 3e 78 3c ODE>.raised.to.the.power.<VAR>x<
93580 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 /VAR>...........Mathematically,.
935a0 3c 43 4f 44 45 3e 65 78 70 31 30 20 28 78 29 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 73 61 <CODE>exp10.(x)</CODE>.is.the.sa
935c0 6d 65 20 61 73 20 3c 43 4f 44 45 3e 65 78 70 20 28 78 20 2a 20 6c 6f 67 20 28 31 30 29 29 3c 2f me.as.<CODE>exp.(x.*.log.(10))</
935e0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 66 CODE>...........<br><br>.These.f
93600 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20 20 54 68 unctions.are.GNU.extensions...Th
93620 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 65 78 70 31 30 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 e.name.<CODE>exp10</CODE>.is....
93640 20 20 20 20 20 20 70 72 65 66 65 72 72 65 64 2c 20 73 69 6e 63 65 20 69 74 20 69 73 20 61 6e 61 ......preferred,.since.it.is.ana
93660 6c 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 65 78 70 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c logous.to.<CODE>exp</CODE>.and.<
93680 43 4f 44 45 3e 65 78 70 32 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f CODE>exp2</CODE>..........sq.~..
936a0 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 15 9e 74 00 0d 6c 6f 6e 67 ....w.....t..math.hxq.~..t..long
936c0 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 70 6f 77 66 73 71 .double.xt..long.doublet..powfsq
936e0 00 7e 00 0a 70 74 01 c5 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 61 72 65 20 67 65 6e 65 72 .~..pt...........These.are.gener
93700 61 6c 20 65 78 70 6f 6e 65 6e 74 69 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 72 65 74 al.exponentiation.functions,.ret
93720 75 72 6e 69 6e 67 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 20 72 61 69 73 65 64 0a 20 20 urning.<VAR>base</VAR>.raised...
93740 20 20 20 20 20 20 20 74 6f 20 3c 56 41 52 3e 70 6f 77 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 .......to.<VAR>power</VAR>......
93760 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 3c 43 .....<br><br>.Mathematically,.<C
93780 4f 44 45 3e 70 6f 77 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 63 6f ODE>pow</CODE>.would.return.a.co
937a0 6d 70 6c 65 78 20 6e 75 6d 62 65 72 20 77 68 65 6e 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 mplex.number.when.<VAR>base</VAR
937c0 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 20 61 6e 64 20 3c 56 41 52 3e >..........is.negative.and.<VAR>
937e0 70 6f 77 65 72 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 6e 20 69 6e 74 65 67 72 61 6c 20 76 power</VAR>.is.not.an.integral.v
93800 61 6c 75 65 2e 20 20 3c 43 4f 44 45 3e 70 6f 77 3c 2f 43 4f 44 45 3e 20 63 61 6e 27 74 0a 20 20 alue...<CODE>pow</CODE>.can't...
93820 20 20 20 20 20 20 20 64 6f 20 74 68 61 74 2c 20 73 6f 20 69 6e 73 74 65 61 64 20 69 74 20 73 69 .......do.that,.so.instead.it.si
93840 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 20 3c 43 4f 44 45 3e 70 6f 77 3c gnals.a.domain.error..<CODE>pow<
93860 2f 43 4f 44 45 3e 20 6d 61 79 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 75 6e 64 65 72 66 6c /CODE>.may.also..........underfl
93880 6f 77 20 6f 72 20 6f 76 65 72 66 6c 6f 77 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 ow.or.overflow.the.destination.t
938a0 79 70 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 ype..........sq.~......w.....t..
938c0 6d 61 74 68 2e 68 78 71 00 7e 15 a5 74 00 17 66 6c 6f 61 74 20 62 61 73 65 2c 20 66 6c 6f 61 74 math.hxq.~..t..float.base,.float
938e0 20 70 6f 77 65 72 74 00 05 66 6c 6f 61 74 74 00 04 70 6f 77 6c 73 71 00 7e 00 0a 70 74 01 c5 0a .powert..floatt..powlsq.~..pt...
93900 20 20 20 20 20 20 20 20 54 68 65 73 65 20 61 72 65 20 67 65 6e 65 72 61 6c 20 65 78 70 6f 6e 65 ........These.are.general.expone
93920 6e 74 69 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 72 65 74 75 72 6e 69 6e 67 20 3c 56 ntiation.functions,.returning.<V
93940 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 20 72 61 69 73 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f AR>base</VAR>.raised..........to
93960 20 3c 56 41 52 3e 70 6f 77 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .<VAR>power</VAR>...........<br>
93980 3c 62 72 3e 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 70 6f 77 3c 2f <br>.Mathematically,.<CODE>pow</
939a0 43 4f 44 45 3e 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 63 6f 6d 70 6c 65 78 20 6e 75 6d CODE>.would.return.a.complex.num
939c0 62 65 72 20 77 68 65 6e 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 ber.when.<VAR>base</VAR>........
939e0 20 20 69 73 20 6e 65 67 61 74 69 76 65 20 61 6e 64 20 3c 56 41 52 3e 70 6f 77 65 72 3c 2f 56 41 ..is.negative.and.<VAR>power</VA
93a00 52 3e 20 69 73 20 6e 6f 74 20 61 6e 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 2e 20 20 3c 43 R>.is.not.an.integral.value...<C
93a20 4f 44 45 3e 70 6f 77 3c 2f 43 4f 44 45 3e 20 63 61 6e 27 74 0a 20 20 20 20 20 20 20 20 20 64 6f ODE>pow</CODE>.can't..........do
93a40 20 74 68 61 74 2c 20 73 6f 20 69 6e 73 74 65 61 64 20 69 74 20 73 69 67 6e 61 6c 73 20 61 20 64 .that,.so.instead.it.signals.a.d
93a60 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 20 3c 43 4f 44 45 3e 70 6f 77 3c 2f 43 4f 44 45 3e 20 6d 61 omain.error..<CODE>pow</CODE>.ma
93a80 79 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 75 6e 64 65 72 66 6c 6f 77 20 6f 72 20 6f 76 65 y.also..........underflow.or.ove
93aa0 72 66 6c 6f 77 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 rflow.the.destination.type......
93ac0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 ....sq.~......w.....t..math.hxq.
93ae0 7e 15 ac 74 00 23 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 62 61 73 65 2c 20 6c 6f 6e 67 20 64 6f 75 ~..t.#long.double.base,.long.dou
93b00 62 6c 65 20 70 6f 77 65 72 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 70 72 65 61 64 73 ble.powert..long.doublet..preads
93b20 71 00 7e 00 0a 70 74 06 53 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 72 65 61 q.~..pt.S.........The.<CODE>prea
93b40 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 d</CODE>.function.is.similar.to.
93b60 74 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 the.<CODE>read</CODE>.function..
93b80 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 72 73 74 20 74 68 72 65 65 20 61 72 67 75 6d 65 .The..........first.three.argume
93ba0 6e 74 73 20 61 72 65 20 69 64 65 6e 74 69 63 61 6c 2c 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 nts.are.identical,.and.the.retur
93bc0 6e 20 76 61 6c 75 65 73 20 61 6e 64 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 64 65 n.values.and.error..........code
93be0 73 20 61 6c 73 6f 20 63 6f 72 72 65 73 70 6f 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e s.also.correspond...........<br>
93c00 3c 62 72 3e 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 65 20 66 6f 75 72 74 <br>.The.difference.is.the.fourt
93c20 68 20 61 72 67 75 6d 65 6e 74 20 61 6e 64 20 69 74 73 20 68 61 6e 64 6c 69 6e 67 2e 20 20 54 68 h.argument.and.its.handling...Th
93c40 65 20 64 61 74 61 20 62 6c 6f 63 6b 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 72 65 61 e.data.block..........is.not.rea
93c60 64 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 d.from.the.current.position.of.t
93c80 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 he.file.descriptor..........<COD
93ca0 45 3e 66 69 6c 65 64 65 73 3c 2f 43 4f 44 45 3e 2e 20 20 49 6e 73 74 65 61 64 20 74 68 65 20 64 E>filedes</CODE>...Instead.the.d
93cc0 61 74 61 20 69 73 20 72 65 61 64 20 66 72 6f 6d 20 74 68 65 20 66 69 6c 65 20 73 74 61 72 74 69 ata.is.read.from.the.file.starti
93ce0 6e 67 20 61 74 0a 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 3c 56 41 52 3e 6f 66 66 ng.at..........position.<VAR>off
93d00 73 65 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 set</VAR>...The.position.of.the.
93d20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 69 74 73 65 6c 66 20 69 73 0a 20 20 20 20 20 20 file.descriptor.itself.is.......
93d40 20 20 20 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e ...not.affected.by.the.operation
93d60 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 62 65 66 6f ...The.value.is.the.same.as.befo
93d80 72 65 20 74 68 65 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 re.the.call...........<br><br>.W
93da0 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 69 6c 65 64 20 hen.the.source.file.is.compiled.
93dc0 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 with.<CODE>_FILE_OFFSET_BITS.==.
93de0 36 34 3c 2f 43 4f 44 45 3e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 70 72 65 64</CODE>.the..........<CODE>pre
93e00 61 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 ad</CODE>.function.is.in.fact.<C
93e20 4f 44 45 3e 70 72 65 61 64 36 34 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 74 79 70 65 0a ODE>pread64</CODE>.and.the.type.
93e40 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 3e 20 68 61 73 20 .........<CODE>off_t</CODE>.has.
93e60 36 34 20 62 69 74 73 2c 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65 64.bits,.which.makes.it.possible
93e80 20 74 6f 20 68 61 6e 64 6c 65 20 66 69 6c 65 73 20 75 70 20 74 6f 0a 20 20 20 20 20 20 20 20 20 .to.handle.files.up.to..........
93ea0 32 5e 36 33 20 62 79 74 65 73 20 69 6e 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 2^63.bytes.in.length...........<
93ec0 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 br><br>.The.return.value.of.<COD
93ee0 45 3e 70 72 65 61 64 3c 2f 43 4f 44 45 3e 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 6e 75 6d E>pread</CODE>.describes.the.num
93f00 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 74 ber.of.bytes.read...........In.t
93f20 68 65 20 65 72 72 6f 72 20 63 61 73 65 20 69 74 20 72 65 74 75 72 6e 73 20 2d 31 20 6c 69 6b 65 he.error.case.it.returns.-1.like
93f40 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 61 6e 64 20 74 68 65 0a .<CODE>read</CODE>.does.and.the.
93f60 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f 64 65 73 20 61 72 65 20 61 6c 73 6f 20 74 68 .........error.codes.are.also.th
93f80 65 20 73 61 6d 65 2c 20 77 69 74 68 20 74 68 65 73 65 20 61 64 64 69 74 69 6f 6e 73 3a 0a 20 20 e.same,.with.these.additions:...
93fa0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c .......<br><br>.<DL>...........<
93fc0 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>EINVAL</CODE>.<DD>.....
93fe0 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 67 69 76 65 6e 20 66 6f 72 20 3c 56 41 52 3e 6f 66 .....The.value.given.for.<VAR>of
94000 66 73 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 76 65 20 61 6e 64 20 74 68 65 72 65 fset</VAR>.is.negative.and.there
94020 66 6f 72 65 20 69 6c 6c 65 67 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 fore.illegal...........<br><br>.
94040 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 50 49 50 45 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 <DT><CODE>ESPIPE..........The.fi
94060 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e le.descriptor.<VAR>filedes</VAR>
94080 20 69 73 20 61 73 73 6f 63 69 61 74 65 20 77 69 74 68 20 61 20 70 69 70 65 20 6f 72 20 61 20 46 .is.associate.with.a.pipe.or.a.F
940a0 49 46 4f 20 61 6e 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 68 69 IFO.and</CODE>.<DD>..........thi
940c0 73 20 64 65 76 69 63 65 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 70 6f 73 69 74 69 6f 6e s.device.does.not.allow.position
940e0 69 6e 67 20 6f 66 20 74 68 65 20 66 69 6c 65 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 ing.of.the.file.pointer.........
94100 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 ..</DL>..........<br><br>.The.fu
94120 6e 63 74 69 6f 6e 20 69 73 20 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20 64 65 66 69 6e 65 64 20 69 nction.is.an.extension.defined.i
94140 6e 20 74 68 65 20 55 6e 69 78 20 53 69 6e 67 6c 65 20 53 70 65 63 69 66 69 63 61 74 69 6f 6e 0a n.the.Unix.Single.Specification.
94160 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 32 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e .........version.2..........sq.~
94180 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 15 b3 74 00 34 ......w.....t..unistd.hxq.~..t.4
941a0 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 76 6f 69 64 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f int.filedes,.void.*buffer,.size_
941c0 74 20 73 69 7a 65 2c 20 6f 66 66 5f 74 20 6f 66 66 73 65 74 74 00 07 73 73 69 7a 65 5f 74 74 00 t.size,.off_t.offsett..ssize_tt.
941e0 07 70 72 65 61 64 36 34 73 71 00 7e 00 0a 70 74 03 32 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 .pread64sq.~..pt.2.........This.
94200 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 function.is.similar.to.the.<CODE
94220 3e 70 72 65 61 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 64 69 66 >pread</CODE>.function...The.dif
94240 66 65 72 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 69 73 20 74 68 61 74 20 74 68 65 20 3c 56 41 ference..........is.that.the.<VA
94260 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 6f 66 20 74 R>offset</VAR>.parameter.is.of.t
94280 79 70 65 20 3c 43 4f 44 45 3e 6f 66 66 36 34 5f 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 ype.<CODE>off64_t</CODE>.instead
942a0 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 3e 20 .of..........<CODE>off_t</CODE>.
942c0 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20 6f 6e 20 33 32 20 62 69 which.makes.it.possible.on.32.bi
942e0 74 20 6d 61 63 68 69 6e 65 73 20 74 6f 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 66 t.machines.to.address..........f
94300 69 6c 65 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 32 5e 33 31 20 62 79 74 65 73 20 61 6e 64 20 iles.larger.than.2^31.bytes.and.
94320 75 70 20 74 6f 20 32 5e 36 33 20 62 79 74 65 73 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 up.to.2^63.bytes...The..........
94340 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 43 4f 44 45 3e 66 69 6c 65 64 65 73 3c 2f 43 file.descriptor.<CODE>filedes</C
94360 4f 44 45 3e 20 6d 75 73 74 20 62 65 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e ODE>.must.be.opened.using.<CODE>
94380 6f 70 65 6e 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 20 6f 74 68 open64</CODE>.since..........oth
943a0 65 72 77 69 73 65 20 74 68 65 20 6c 61 72 67 65 20 6f 66 66 73 65 74 73 20 70 6f 73 73 69 62 6c erwise.the.large.offsets.possibl
943c0 65 20 77 69 74 68 20 3c 43 4f 44 45 3e 6f 66 66 36 34 5f 74 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c e.with.<CODE>off64_t</CODE>.will
943e0 20 6c 65 61 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 73 20 77 69 74 68 20 61 20 .lead.to..........errors.with.a.
94400 64 65 73 63 72 69 70 74 6f 72 20 69 6e 20 73 6d 61 6c 6c 20 66 69 6c 65 20 6d 6f 64 65 2e 0a 20 descriptor.in.small.file.mode...
94420 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 ........<br><br>.When.the.source
94440 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 .file.is.compiled.with.<CODE>_FI
94460 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 LE_OFFSET_BITS.==.64</CODE>.on.a
94480 0a 20 20 20 20 20 20 20 20 20 33 32 20 62 69 74 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 ..........32.bit.machine.this.fu
944a0 6e 63 74 69 6f 6e 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 nction.is.actually.available.und
944c0 65 72 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 70 72 65 61 64 er.the.name..........<CODE>pread
944e0 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 </CODE>.and.so.transparently.rep
94500 6c 61 63 65 73 20 74 68 65 20 33 32 20 62 69 74 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 laces.the.32.bit.interface......
94520 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 ....sq.~......w.....t..unistd.hx
94540 71 00 7e 15 ba 74 00 36 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 76 6f 69 64 20 2a 62 75 66 66 65 q.~..t.6int.filedes,.void.*buffe
94560 72 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 6f 66 66 36 34 5f 74 20 6f 66 66 73 65 74 74 00 r,.size_t.size,.off64_t.offsett.
94580 07 73 73 69 7a 65 5f 74 74 00 06 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 01 2b 0a 20 20 20 20 .ssize_tt..printfsq.~..pt.+.....
945a0 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 ....The.<CODE>printf</CODE>.func
945c0 74 69 6f 6e 20 70 72 69 6e 74 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e tion.prints.the.optional.argumen
945e0 74 73 20 75 6e 64 65 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 20 6f 66 ts.under.the..........control.of
94600 20 74 68 65 20 74 65 6d 70 6c 61 74 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 74 65 6d 70 6c 61 .the.template.string.<VAR>templa
94620 74 65 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 te</VAR>.to.the.stream..........
94640 3c 43 4f 44 45 3e 73 74 64 6f 75 74 3c 2f 43 4f 44 45 3e 2e 20 20 49 74 20 72 65 74 75 72 6e 73 <CODE>stdout</CODE>...It.returns
94660 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 70 72 69 6e 74 65 .the.number.of.characters.printe
94680 64 2c 20 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 20 d,.or.a..........negative.value.
946a0 69 66 20 74 68 65 72 65 20 77 61 73 20 61 6e 20 6f 75 74 70 75 74 20 65 72 72 6f 72 2e 0a 20 20 if.there.was.an.output.error....
946c0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 ......sq.~......w.....t..stdio.h
946e0 78 71 00 7e 15 c1 74 00 19 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 2e xq.~..t..const.char.*template,..
94700 2e 2e 74 00 03 69 6e 74 74 00 0b 70 72 69 6e 74 66 5f 73 69 7a 65 73 71 00 7e 00 0a 70 74 05 d1 ..t..intt..printf_sizesq.~..pt..
94720 0a 20 20 20 20 20 20 20 20 50 72 69 6e 74 20 61 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 .........Print.a.given.floating.
94740 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 61 73 20 66 6f 72 20 74 68 65 20 66 6f 72 6d 61 74 20 3c point.number.as.for.the.format.<
94760 43 4f 44 45 3e 25 66 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 0a 20 20 20 20 20 20 20 20 20 74 CODE>%f</CODE>.except..........t
94780 68 61 74 20 74 68 65 72 65 20 69 73 20 61 20 70 6f 73 74 66 69 78 20 63 68 61 72 61 63 74 65 72 hat.there.is.a.postfix.character
947a0 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 65 20 64 69 76 69 73 6f 72 20 66 6f 72 20 74 68 65 0a .indicating.the.divisor.for.the.
947c0 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 74 6f 20 6d 61 6b 65 20 74 68 69 73 20 6c 65 73 .........number.to.make.this.les
947e0 73 20 74 68 61 6e 20 31 30 30 30 2e 20 20 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 70 6f 73 73 s.than.1000...There.are.two.poss
94800 69 62 6c 65 20 64 69 76 69 73 6f 72 73 3a 0a 20 20 20 20 20 20 20 20 20 70 6f 77 65 72 73 20 6f ible.divisors:..........powers.o
94820 66 20 31 30 32 34 20 6f 72 20 70 6f 77 65 72 73 20 6f 66 20 31 30 30 30 2e 20 20 57 68 69 63 68 f.1024.or.powers.of.1000...Which
94840 20 6f 6e 65 20 69 73 20 75 73 65 64 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 0a 20 20 20 20 .one.is.used.depends.on.the.....
94860 20 20 20 20 20 66 6f 72 6d 61 74 20 63 68 61 72 61 63 74 65 72 20 73 70 65 63 69 66 69 65 64 20 .....format.character.specified.
94880 77 68 69 6c 65 20 72 65 67 69 73 74 65 72 65 64 20 74 68 69 73 20 68 61 6e 64 6c 65 72 2e 20 20 while.registered.this.handler...
948a0 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 69 73 20 6f 66 20 If.the..........character.is.of.
948c0 6c 6f 77 65 72 20 63 61 73 65 2c 20 31 30 32 34 20 69 73 20 75 73 65 64 2e 20 20 46 6f 72 20 75 lower.case,.1024.is.used...For.u
948e0 70 70 65 72 20 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 2c 0a 20 20 20 20 20 20 20 20 20 31 pper.case.characters,..........1
94900 30 30 30 20 69 73 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 000.is.used...........<br><br>.T
94920 68 65 20 70 6f 73 74 66 69 78 20 74 61 67 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 62 79 he.postfix.tag.corresponds.to.by
94940 74 65 73 2c 20 6b 69 6c 6f 62 79 74 65 73 2c 20 6d 65 67 61 62 79 74 65 73 2c 20 67 69 67 61 62 tes,.kilobytes,.megabytes,.gigab
94960 79 74 65 73 2c 0a 20 20 20 20 20 20 20 20 20 65 74 63 2e 20 20 54 68 65 20 66 75 6c 6c 20 74 61 ytes,..........etc...The.full.ta
94980 62 6c 65 20 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 ble.is:..........<br><br>.......
949a0 20 20 20 20 3c 44 4c 3e 0a 3c 44 54 3e 3c 70 72 65 3e 6c 6f 77 20 20 4d 75 6c 74 69 70 6c 69 65 ....<DL>.<DT><pre>low..Multiplie
949c0 72 20 20 20 46 72 6f 6d 20 20 20 55 70 70 65 72 20 20 4d 75 6c 74 69 70 6c 69 65 72 3c 2f 70 72 r...From...Upper..Multiplier</pr
949e0 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 27 20 27 20 20 31 20 20 20 20 20 e>.<DD><br>.<DT><pre>'.'..1.....
94a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 20 27 20 20 20 20 31 3c 2f 70 72 65 3e 0a 3c 44 44 ..............'.'....1</pre>.<DD
94a20 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 6b 20 20 20 20 32 5e 31 30 20 28 31 30 32 34 29 20 ><br>.<DT><pre>k....2^10.(1024).
94a40 20 6b 69 6c 6f 20 20 20 4b 20 20 20 20 20 20 31 30 5e 33 20 28 31 30 30 30 29 3c 2f 70 72 65 3e .kilo...K......10^3.(1000)</pre>
94a60 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 6d 20 20 20 20 32 5e 32 30 20 20 20 20 .<DD><br>.<DT><pre>m....2^20....
94a80 20 20 20 20 20 6d 65 67 61 20 20 20 4d 20 20 20 20 20 20 31 30 5e 36 3c 2f 70 72 65 3e 0a 3c 44 .....mega...M......10^6</pre>.<D
94aa0 44 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 67 20 20 20 20 32 5e 33 30 20 20 20 20 20 20 20 D><br>.<DT><pre>g....2^30.......
94ac0 20 20 67 69 67 61 20 20 20 47 20 20 20 20 20 20 31 30 5e 39 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c ..giga...G......10^9</pre>.<DD><
94ae0 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 74 20 20 20 20 32 5e 34 30 20 20 20 20 20 20 20 20 20 74 br>.<DT><pre>t....2^40.........t
94b00 65 72 61 20 20 20 54 20 20 20 20 20 20 31 30 5e 31 32 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 era...T......10^12</pre>.<DD><br
94b20 3e 20 3c 44 54 3e 3c 70 72 65 3e 70 20 20 20 20 32 5e 35 30 20 20 20 20 20 20 20 20 20 70 65 74 >.<DT><pre>p....2^50.........pet
94b40 61 20 20 20 50 20 20 20 20 20 20 31 30 5e 31 35 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 a...P......10^15</pre>.<DD><br>.
94b60 3c 44 54 3e 3c 70 72 65 3e 65 20 20 20 20 32 5e 36 30 20 20 20 20 20 20 20 20 20 65 78 61 20 20 <DT><pre>e....2^60.........exa..
94b80 20 20 45 20 20 20 20 20 20 31 30 5e 31 38 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 ..E......10^18</pre>.<DD><br>.<D
94ba0 54 3e 3c 70 72 65 3e 7a 20 20 20 20 32 5e 37 30 20 20 20 20 20 20 20 20 20 7a 65 74 74 61 20 20 T><pre>z....2^70.........zetta..
94bc0 5a 20 20 20 20 20 20 31 30 5e 32 31 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 44 54 3e Z......10^21</pre>.<DD><br>.<DT>
94be0 3c 70 72 65 3e 79 20 20 20 20 32 5e 38 30 20 20 20 20 20 20 20 20 20 79 6f 74 74 61 20 20 59 20 <pre>y....2^80.........yotta..Y.
94c00 20 20 20 20 20 31 30 5e 32 34 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a .....10^24</pre>.<DD><br>.</DL>.
94c20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .............................<br
94c40 3e 3c 62 72 3e 20 54 68 65 20 64 65 66 61 75 6c 74 20 70 72 65 63 69 73 69 6f 6e 20 69 73 20 33 ><br>.The.default.precision.is.3
94c60 2c 20 69 2e 65 2e 2c 20 31 30 32 34 20 69 73 20 70 72 69 6e 74 65 64 20 77 69 74 68 20 61 20 6c ,.i.e.,.1024.is.printed.with.a.l
94c80 6f 77 65 72 2d 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 20 63 68 61 72 61 63 ower-case..........format.charac
94ca0 74 65 72 20 61 73 20 69 66 20 69 74 20 77 65 72 65 20 3c 43 4f 44 45 3e 25 2e 33 66 6b 3c 2f 43 ter.as.if.it.were.<CODE>%.3fk</C
94cc0 4f 44 45 3e 20 61 6e 64 20 77 69 6c 6c 20 79 69 65 6c 64 20 3c 43 4f 44 45 3e 31 2e 30 30 30 6b ODE>.and.will.yield.<CODE>1.000k
94ce0 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 </CODE>..........sq.~......w....
94d00 0a 74 00 08 70 72 69 6e 74 66 2e 68 78 71 00 7e 15 c8 74 00 41 46 49 4c 45 20 2a 66 70 2c 20 63 .t..printf.hxq.~..t.AFILE.*fp,.c
94d20 6f 6e 73 74 20 73 74 72 75 63 74 20 70 72 69 6e 74 66 5f 69 6e 66 6f 20 2a 69 6e 66 6f 2c 20 63 onst.struct.printf_info.*info,.c
94d40 6f 6e 73 74 20 76 6f 69 64 20 2a 63 6f 6e 73 74 20 2a 61 72 67 73 74 00 03 69 6e 74 74 00 10 70 onst.void.*const.*argst..intt..p
94d60 72 69 6e 74 66 5f 73 69 7a 65 5f 69 6e 66 6f 73 71 00 7e 00 0a 70 74 00 e5 0a 20 20 20 20 20 20 rintf_size_infosq.~..pt.........
94d80 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 69 6e 20 3c ..This.function.will.return.in.<
94da0 56 41 52 3e 61 72 67 74 79 70 65 73 3c 2f 56 41 52 3e 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 VAR>argtypes</VAR>.the.informati
94dc0 6f 6e 20 61 62 6f 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 64 20 70 61 72 61 6d on.about.the..........used.param
94de0 65 74 65 72 73 20 69 6e 20 74 68 65 20 77 61 79 20 74 68 65 20 3c 43 4f 44 45 3e 76 66 70 72 69 eters.in.the.way.the.<CODE>vfpri
94e00 6e 74 66 3c 2f 43 4f 44 45 3e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 65 78 70 65 63 74 ntf</CODE>.implementation.expect
94e20 73 0a 20 20 20 20 20 20 20 20 20 69 74 2e 20 20 54 68 65 20 66 6f 72 6d 61 74 20 61 6c 77 61 79 s..........it...The.format.alway
94e40 73 20 74 61 6b 65 73 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 s.takes.one.argument..........sq
94e60 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 70 72 69 6e 74 66 2e 68 78 71 00 7e 15 cf 74 .~......w.....t..printf.hxq.~..t
94e80 00 37 63 6f 6e 73 74 20 73 74 72 75 63 74 20 70 72 69 6e 74 66 5f 69 6e 66 6f 20 2a 69 6e 66 6f .7const.struct.printf_info.*info
94ea0 2c 20 73 69 7a 65 5f 74 20 6e 2c 20 69 6e 74 20 2a 61 72 67 74 79 70 65 73 74 00 03 69 6e 74 74 ,.size_t.n,.int.*argtypest..intt
94ec0 00 07 70 73 69 67 6e 61 6c 73 71 00 7e 00 0a 70 74 03 2f 0a 20 20 20 20 20 20 20 20 54 68 69 73 ..psignalsq.~..pt./.........This
94ee0 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 73 20 61 20 6d 65 73 73 61 67 65 20 64 65 73 63 72 .function.prints.a.message.descr
94f00 69 62 69 6e 67 20 74 68 65 20 73 69 67 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 ibing.the.signal.<VAR>signum</VA
94f20 52 3e 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f R>.to.the..........standard.erro
94f40 72 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 20 3c 43 4f 44 45 3e 73 74 64 65 72 72 3c 2f 43 4f r.output.stream.<CODE>stderr</CO
94f60 44 45 3e 3b 20 73 65 65 20 53 74 61 6e 64 61 72 64 20 53 74 72 65 61 6d 73 2e 0a 20 20 20 20 20 DE>;.see.Standard.Streams.......
94f80 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 70 ....<br><br>.If.you.call.<CODE>p
94fa0 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 20 3c 56 41 52 3e 6d 65 73 73 61 67 signal</CODE>.with.a.<VAR>messag
94fc0 65 3c 2f 56 41 52 3e 20 74 68 61 74 20 69 73 20 65 69 74 68 65 72 20 61 20 6e 75 6c 6c 0a 20 20 e</VAR>.that.is.either.a.null...
94fe0 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 6f 72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e .......pointer.or.an.empty.strin
95000 67 2c 20 3c 43 4f 44 45 3e 70 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 20 6a 75 73 74 20 70 72 69 g,.<CODE>psignal</CODE>.just.pri
95020 6e 74 73 20 74 68 65 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 73 70 nts.the.message..........corresp
95040 6f 6e 64 69 6e 67 20 74 6f 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 2c 20 61 64 64 onding.to.<VAR>signum</VAR>,.add
95060 69 6e 67 20 61 20 74 72 61 69 6c 69 6e 67 20 6e 65 77 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 ing.a.trailing.newline..........
95080 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 73 75 70 70 6c 79 20 61 20 6e 6f 6e 2d 6e 75 .<br><br>.If.you.supply.a.non-nu
950a0 6c 6c 20 3c 56 41 52 3e 6d 65 73 73 61 67 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2c 20 ll.<VAR>message</VAR>.argument,.
950c0 74 68 65 6e 20 3c 43 4f 44 45 3e 70 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 then.<CODE>psignal</CODE>.......
950e0 20 20 20 70 72 65 66 69 78 65 73 20 69 74 73 20 6f 75 74 70 75 74 20 77 69 74 68 20 74 68 69 73 ...prefixes.its.output.with.this
95100 20 73 74 72 69 6e 67 2e 20 20 49 74 20 61 64 64 73 20 61 20 63 6f 6c 6f 6e 20 61 6e 64 20 61 20 .string...It.adds.a.colon.and.a.
95120 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 73 65 70 61 space..........character.to.sepa
95140 72 61 74 65 20 74 68 65 20 3c 56 41 52 3e 6d 65 73 73 61 67 65 3c 2f 56 41 52 3e 20 66 72 6f 6d rate.the.<VAR>message</VAR>.from
95160 20 74 68 65 20 73 74 72 69 6e 67 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 20 .the.string.corresponding.......
95180 20 20 20 74 6f 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 ...to.<VAR>signum</VAR>.........
951a0 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 42 53 ..<br><br>.This.function.is.a.BS
951c0 44 20 66 65 61 74 75 72 65 2c 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 68 65 61 64 65 D.feature,.declared.in.the.heade
951e0 72 20 66 69 6c 65 20 3c 54 54 3e 73 69 67 6e 61 6c 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 r.file.<TT>signal.h</TT>........
95200 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 ..sq.~......w.....t..signal.hxq.
95220 7e 15 d6 74 00 1f 69 6e 74 20 73 69 67 6e 75 6d 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 65 ~..t..int.signum,.const.char.*me
95240 73 73 61 67 65 74 00 04 76 6f 69 64 74 00 07 70 74 73 6e 61 6d 65 73 71 00 7e 00 0a 70 74 01 8f ssaget..voidt..ptsnamesq.~..pt..
95260 0a 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 .........If.the.file.descriptor.
95280 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 61 73 73 6f 63 69 61 74 65 64 <VAR>filedes</VAR>.is.associated
952a0 20 77 69 74 68 20 61 0a 20 20 20 20 20 20 20 20 20 6d 61 73 74 65 72 20 70 73 65 75 64 6f 2d 74 .with.a..........master.pseudo-t
952c0 65 72 6d 69 6e 61 6c 20 64 65 76 69 63 65 2c 20 74 68 65 20 3c 43 4f 44 45 3e 70 74 73 6e 61 6d erminal.device,.the.<CODE>ptsnam
952e0 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 e</CODE>.function.returns.a.....
95300 20 20 20 20 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 61 74 69 63 61 6c 6c 79 2d 61 6c 6c .....pointer.to.a.statically-all
95320 6f 63 61 74 65 64 2c 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 74 72 69 6e 67 20 63 ocated,.null-terminated.string.c
95340 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 ontaining.the..........file.name
95360 20 6f 66 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 73 6c 61 76 65 20 70 73 65 75 64 6f 2d .of.the.associated.slave.pseudo-
95380 74 65 72 6d 69 6e 61 6c 20 66 69 6c 65 2e 20 20 54 68 69 73 20 73 74 72 69 6e 67 0a 20 20 20 20 terminal.file...This.string.....
953a0 20 20 20 20 20 6d 69 67 68 74 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 73 75 62 .....might.be.overwritten.by.sub
953c0 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 70 74 73 6e 61 6d 65 3c 2f sequent.calls.to.<CODE>ptsname</
953e0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
95400 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 15 dd 74 00 0b 69 6e 74 20 66 69 6c 65 64 65 73 74 00 ..stdlib.hxq.~..t..int.filedest.
95420 06 63 68 61 72 20 2a 74 00 09 70 74 73 6e 61 6d 65 5f 72 73 71 00 7e 00 0a 70 74 01 22 0a 20 20 .char.*t..ptsname_rsq.~..pt."...
95440 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 74 73 6e 61 6d 65 5f 72 3c 2f 43 4f 44 45 3e ......The.<CODE>ptsname_r</CODE>
95460 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 .function.is.similar.to.the.<COD
95480 45 3e 70 74 73 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 E>ptsname</CODE>.function.......
954a0 20 20 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 70 6c 61 63 65 73 20 69 74 73 20 72 65 73 ...except.that.it.places.its.res
954c0 75 6c 74 20 69 6e 74 6f 20 74 68 65 20 75 73 65 72 2d 73 70 65 63 69 66 69 65 64 20 62 75 66 66 ult.into.the.user-specified.buff
954e0 65 72 20 73 74 61 72 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 61 74 20 3c 56 41 52 3e 62 75 66 er.starting..........at.<VAR>buf
95500 3c 2f 56 41 52 3e 20 77 69 74 68 20 6c 65 6e 67 74 68 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 </VAR>.with.length.<VAR>len</VAR
95520 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 >...........<br><br>.This.functi
95540 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 on.is.a.GNU.extension..........s
95560 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 15 e4 q.~......w.....t..stdlib.hxq.~..
95580 74 00 22 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 63 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f t."int.filedes,.char.*buf,.size_
955a0 74 20 6c 65 6e 74 00 03 69 6e 74 74 00 04 70 75 74 63 73 71 00 7e 00 0a 70 74 01 84 0a 20 20 20 t.lent..intt..putcsq.~..pt......
955c0 20 20 20 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 66 70 75 .....This.is.just.like.<CODE>fpu
955e0 74 63 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 6d 6f 73 74 20 73 79 73 74 tc</CODE>,.except.that.most.syst
95600 65 6d 73 20 69 6d 70 6c 65 6d 65 6e 74 20 69 74 20 61 73 0a 20 20 20 20 20 20 20 20 20 61 20 6d ems.implement.it.as..........a.m
95620 61 63 72 6f 2c 20 6d 61 6b 69 6e 67 20 69 74 20 66 61 73 74 65 72 2e 20 20 4f 6e 65 20 63 6f 6e acro,.making.it.faster...One.con
95640 73 65 71 75 65 6e 63 65 20 69 73 20 74 68 61 74 20 69 74 20 6d 61 79 20 65 76 61 6c 75 61 74 65 sequence.is.that.it.may.evaluate
95660 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 .the..........<VAR>stream</VAR>.
95680 61 72 67 75 6d 65 6e 74 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 2c 20 77 68 69 63 68 20 69 argument.more.than.once,.which.i
956a0 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 67 s.an.exception.to.the..........g
956c0 65 6e 65 72 61 6c 20 72 75 6c 65 20 66 6f 72 20 6d 61 63 72 6f 73 2e 20 20 3c 43 4f 44 45 3e 70 eneral.rule.for.macros...<CODE>p
956e0 75 74 63 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 62 65 73 74 20 66 utc</CODE>.is.usually.the.best.f
95700 75 6e 63 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 75 73 65 20 66 6f 72 20 77 72 69 74 unction.to..........use.for.writ
95720 69 6e 67 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 ing.a.single.character..........
95740 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 15 eb sq.~......w.....t..stdio.hxq.~..
95760 74 00 13 69 6e 74 20 63 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 0d 70 t..int.c,.FILE.*streamt..intt..p
95780 75 74 63 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 a6 0a 20 20 20 20 20 20 20 20 54 utc_unlockedsq.~..pt...........T
957a0 68 65 20 3c 43 4f 44 45 3e 70 75 74 63 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 he.<CODE>putc_unlocked</CODE>.fu
957c0 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 nction.is.equivalent.to.the.<COD
957e0 45 3e 70 75 74 63 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 E>putc</CODE>..........function.
95800 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 except.that.it.does.not.implicit
95820 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e ly.lock.the.stream..........sq.~
95840 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 15 f2 74 00 13 69 ......w.....t..stdio.hxq.~..t..i
95860 6e 74 20 63 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 07 70 75 74 63 68 nt.c,.FILE.*streamt..intt..putch
95880 61 72 73 71 00 7e 00 0a 70 74 00 a8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 arsq.~..pt...........The.<CODE>p
958a0 75 74 63 68 61 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 utchar</CODE>.function.is.equiva
958c0 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 70 75 74 63 3c 2f 43 4f 44 45 3e 20 77 69 74 68 0a 20 lent.to.<CODE>putc</CODE>.with..
958e0 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 64 6f 75 74 3c 2f 43 4f 44 45 3e 20 61 73 20 74 ........<CODE>stdout</CODE>.as.t
95900 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 he.value.of.the.<VAR>stream</VAR
95920 3e 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 >.argument..........sq.~......w.
95940 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 15 f9 74 00 05 69 6e 74 20 63 74 00 03 69 ....t..stdio.hxq.~..t..int.ct..i
95960 6e 74 74 00 10 70 75 74 63 68 61 72 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 ac 0a ntt..putchar_unlockedsq.~..pt...
95980 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 75 74 63 68 61 72 5f 75 6e 6c 6f 63 6b ........The.<CODE>putchar_unlock
959a0 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 ed</CODE>.function.is.equivalent
959c0 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 70 75 74 63 68 61 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 .to.the.<CODE>putchar</CODE>....
959e0 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 6f ......function.except.that.it.do
95a00 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 61 es.not.implicitly.lock.the.strea
95a20 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 m..........sq.~......w.....t..st
95a40 64 69 6f 2e 68 78 71 00 7e 16 00 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 06 70 75 74 65 dio.hxq.~..t..int.ct..intt..pute
95a60 6e 76 73 71 00 7e 00 0a 70 74 04 dc 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 nvsq.~..pt...........The.<CODE>p
95a80 75 74 65 6e 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 73 20 6f 72 20 72 65 utenv</CODE>.function.adds.or.re
95aa0 6d 6f 76 65 73 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 76 69 72 moves.definitions.from.the.envir
95ac0 6f 6e 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 73 74 72 onment...........If.the.<VAR>str
95ae0 69 6e 67 3c 2f 56 41 52 3e 20 69 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 3c 73 61 6d 70 3e 3c ing</VAR>.is.of.the.form.<samp><
95b00 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 3d 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 3c VAR>name</VAR>=<VAR>value</VAR><
95b20 2f 73 61 6d 70 3e 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 20 /samp>,.the..........definition.
95b40 69 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 20 20 4f 74 is.added.to.the.environment...Ot
95b60 68 65 72 77 69 73 65 2c 20 74 68 65 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 herwise,.the.<VAR>string</VAR>.i
95b80 73 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 74 68 65 20 6e 61 s..........interpreted.as.the.na
95ba0 6d 65 20 6f 66 20 61 6e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2c 20 61 me.of.an.environment.variable,.a
95bc0 6e 64 20 61 6e 79 20 64 65 66 69 6e 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 nd.any.definition..........for.t
95be0 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 6e 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 his.variable.in.the.environment.
95c00 69 73 20 72 65 6d 6f 76 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 is.removed...........<br><br>.Th
95c20 65 20 64 69 66 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 65 74 65 6e 76 e.difference.to.the.<CODE>setenv
95c40 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 61 74 20 74 68 65 20 65 78 61 </CODE>.function.is.that.the.exa
95c60 63 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 67 69 76 65 6e 20 61 73 20 74 68 65 20 ct.string..........given.as.the.
95c80 70 61 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 73 20 70 parameter.<VAR>string</VAR>.is.p
95ca0 75 74 20 69 6e 74 6f 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 20 20 49 66 20 74 68 65 ut.into.the.environment...If.the
95cc0 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 20 73 68 6f 75 6c 64 20 63 68 61 6e 67 65 20 74 68 65 ..........user.should.change.the
95ce0 20 73 74 72 69 6e 67 20 61 66 74 65 72 20 74 68 65 20 3c 43 4f 44 45 3e 70 75 74 65 6e 76 3c 2f .string.after.the.<CODE>putenv</
95d00 43 4f 44 45 3e 20 63 61 6c 6c 20 74 68 69 73 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 72 65 CODE>.call.this.will..........re
95d20 66 6c 65 63 74 20 69 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 6e 20 74 68 65 20 65 6e flect.in.automatically.in.the.en
95d40 76 69 72 6f 6e 6d 65 6e 74 2e 20 20 54 68 69 73 20 61 6c 73 6f 20 72 65 71 75 69 72 65 73 20 74 vironment...This.also.requires.t
95d60 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 hat..........<VAR>string</VAR>.i
95d80 73 20 6e 6f 20 61 75 74 6f 6d 61 74 69 63 20 76 61 72 69 61 62 6c 65 20 77 68 69 63 68 20 73 63 s.no.automatic.variable.which.sc
95da0 6f 70 65 20 69 73 20 6c 65 66 74 20 62 65 66 6f 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 ope.is.left.before.the..........
95dc0 76 61 72 69 61 62 6c 65 20 69 73 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 65 6e 76 variable.is.removed.from.the.env
95de0 69 72 6f 6e 6d 65 6e 74 2e 20 20 54 68 65 20 73 61 6d 65 20 61 70 70 6c 69 65 73 20 6f 66 20 63 ironment...The.same.applies.of.c
95e00 6f 75 72 73 65 20 74 6f 0a 20 20 20 20 20 20 20 20 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 61 6c ourse.to..........dynamically.al
95e20 6c 6f 63 61 74 65 64 20 76 61 72 69 61 62 6c 65 73 20 77 68 69 63 68 20 61 72 65 20 66 72 65 65 located.variables.which.are.free
95e40 64 20 6c 61 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 d.later...........<br><br>.This.
95e60 66 75 6e 63 74 69 6f 6e 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 65 78 74 65 6e 64 65 64 function.is.part.of.the.extended
95e80 20 55 6e 69 78 20 69 6e 74 65 72 66 61 63 65 2e 20 20 53 69 6e 63 65 20 69 74 20 77 61 73 20 61 .Unix.interface...Since.it.was.a
95ea0 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 6f 6c 64 20 53 56 lso..........available.in.old.SV
95ec0 49 44 20 6c 69 62 72 61 72 69 65 73 20 79 6f 75 20 73 68 6f 75 6c 64 20 64 65 66 69 6e 65 20 65 ID.libraries.you.should.define.e
95ee0 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 5f 58 4f 50 45 4e 5f 53 4f 55 52 43 ither..........<VAR>_XOPEN_SOURC
95f00 45 3c 2f 56 41 52 3e 20 6f 72 20 3c 56 41 52 3e 5f 53 56 49 44 5f 53 4f 55 52 43 45 3c 2f 56 41 E</VAR>.or.<VAR>_SVID_SOURCE</VA
95f20 52 3e 20 62 65 66 6f 72 65 20 69 6e 63 6c 75 64 69 6e 67 20 61 6e 79 20 68 65 61 64 65 72 2e 0a R>.before.including.any.header..
95f40 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 ........sq.~......w.....t..stdli
95f60 62 2e 68 78 71 00 7e 16 07 74 00 0c 63 68 61 72 20 2a 73 74 72 69 6e 67 74 00 03 69 6e 74 74 00 b.hxq.~..t..char.*stringt..intt.
95f80 08 70 75 74 70 77 65 6e 74 73 71 00 7e 00 0a 70 74 03 a7 0a 20 20 20 20 20 20 20 20 54 68 69 73 .putpwentsq.~..pt...........This
95fa0 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 73 20 74 68 65 20 75 73 65 72 20 65 6e 74 72 79 20 .function.writes.the.user.entry.
95fc0 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 70 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 74 6f 20 74 68 <CODE>*<VAR>p</VAR></CODE>.to.th
95fe0 65 20 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 e.stream..........<VAR>stream</V
96000 41 52 3e 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 AR>,.in.the.format.used.for.the.
96020 73 74 61 6e 64 61 72 64 20 75 73 65 72 20 64 61 74 61 62 61 73 65 0a 20 20 20 20 20 20 20 20 20 standard.user.database..........
96040 66 69 6c 65 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 file...The.return.value.is.zero.
96060 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 6e 6f 6e 7a 65 72 6f 20 6f 6e 20 66 61 69 6c 75 72 on.success.and.nonzero.on.failur
96080 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 e...........<br><br>.This.functi
960a0 6f 6e 20 65 78 69 73 74 73 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 on.exists.for.compatibility.with
960c0 20 53 56 49 44 2e 20 20 57 65 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 61 74 20 79 6f 75 0a 20 20 .SVID...We.recommend.that.you...
960e0 20 20 20 20 20 20 20 61 76 6f 69 64 20 75 73 69 6e 67 20 69 74 2c 20 62 65 63 61 75 73 65 20 69 .......avoid.using.it,.because.i
96100 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 20 6f 6e 6c 79 20 6f 6e 20 74 68 65 20 61 73 73 75 6d 70 t.makes.sense.only.on.the.assump
96120 74 69 6f 6e 20 74 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 tion.that.the..........<CODE>str
96140 75 63 74 20 70 61 73 73 77 64 3c 2f 43 4f 44 45 3e 20 73 74 72 75 63 74 75 72 65 20 68 61 73 20 uct.passwd</CODE>.structure.has.
96160 6e 6f 20 6d 65 6d 62 65 72 73 20 65 78 63 65 70 74 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f no.members.except.the.standard.o
96180 6e 65 73 3b 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 61 20 73 79 73 74 65 6d 20 77 68 69 63 68 20 nes;..........on.a.system.which.
961a0 6d 65 72 67 65 73 20 74 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 55 6e 69 78 20 64 61 74 61 merges.the.traditional.Unix.data
961c0 20 62 61 73 65 20 77 69 74 68 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 65 78 74 65 6e 64 .base.with.other..........extend
961e0 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 75 73 65 72 73 2c 20 61 64 64 69 ed.information.about.users,.addi
96200 6e 67 20 61 6e 20 65 6e 74 72 79 20 75 73 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a ng.an.entry.using.this.function.
96220 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20 69 6e 65 76 69 74 61 62 6c 79 20 6c 65 61 76 65 20 .........would.inevitably.leave.
96240 6f 75 74 20 6d 75 63 68 20 6f 66 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 74 20 69 6e 66 6f 72 6d out.much.of.the.important.inform
96260 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 67 72 6f ation...........<br><br>.The.gro
96280 75 70 20 61 6e 64 20 75 73 65 72 20 49 44 20 66 69 65 6c 64 73 20 61 72 65 20 6c 65 66 74 20 65 up.and.user.ID.fields.are.left.e
962a0 6d 70 74 79 20 69 66 20 74 68 65 20 67 72 6f 75 70 20 6f 72 20 75 73 65 72 20 6e 61 6d 65 0a 20 mpty.if.the.group.or.user.name..
962c0 20 20 20 20 20 20 20 20 73 74 61 72 74 73 20 77 69 74 68 20 61 20 2d 20 6f 72 20 2b 2e 0a 20 20 ........starts.with.a.-.or.+....
962e0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f .......<br><br>.The.function.<CO
96300 44 45 3e 70 75 74 70 77 65 6e 74 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 DE>putpwent</CODE>.is.declared.i
96320 6e 20 3c 54 54 3e 70 77 64 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f n.<TT>pwd.h</TT>..........sq.~..
96340 00 00 00 01 77 04 00 00 00 0a 74 00 05 70 77 64 2e 68 78 71 00 7e 16 0e 74 00 24 63 6f 6e 73 74 ....w.....t..pwd.hxq.~..t.$const
96360 20 73 74 72 75 63 74 20 70 61 73 73 77 64 20 2a 70 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 .struct.passwd.*p,.FILE.*streamt
96380 00 03 69 6e 74 74 00 04 70 75 74 73 73 71 00 7e 00 0a 70 74 02 6d 0a 20 20 20 20 20 20 20 20 54 ..intt..putssq.~..pt.m.........T
963a0 68 65 20 3c 43 4f 44 45 3e 70 75 74 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 72 he.<CODE>puts</CODE>.function.wr
963c0 69 74 65 73 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 74 6f 20 ites.the.string.<VAR>s</VAR>.to.
963e0 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 64 6f 75 74 the.stream..........<CODE>stdout
96400 3c 2f 43 4f 44 45 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6e 65 77 6c 69 6e 65 2e 20 20 </CODE>.followed.by.a.newline...
96420 54 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 6f The.terminating.null.character.o
96440 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 6e 6f 74 20 77 72 69 f..........the.string.is.not.wri
96460 74 74 65 6e 2e 20 20 28 4e 6f 74 65 20 74 68 61 74 20 3c 43 4f 44 45 3e 66 70 75 74 73 3c 2f 43 tten...(Note.that.<CODE>fputs</C
96480 4f 44 45 3e 20 64 6f 65 73 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 0a 20 20 20 20 20 20 20 20 20 ODE>.does.<EM>not</EM>..........
964a0 77 72 69 74 65 20 61 20 6e 65 77 6c 69 6e 65 20 61 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e write.a.newline.as.this.function
964c0 20 64 6f 65 73 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e .does.)..........<br><br>.<CODE>
964e0 70 75 74 73 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 6d 6f 73 74 20 63 6f 6e 76 65 6e 69 65 puts</CODE>.is.the.most.convenie
96500 6e 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 70 72 69 6e 74 69 6e 67 20 73 69 6d 70 6c 65 0a nt.function.for.printing.simple.
96520 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 73 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a .........messages...For.example:
96540 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 ..........<br><br>.<pre><br>....
96560 20 20 20 20 20 20 70 75 74 73 20 28 22 54 68 69 73 20 69 73 20 61 20 6d 65 73 73 61 67 65 2e 22 ......puts.("This.is.a.message."
96580 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 );<br>..........</pre>..........
965a0 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 73 20 74 68 65 20 74 <br><br>...........outputs.the.t
965c0 65 78 74 20 3c 73 61 6d 70 3e 54 68 69 73 20 69 73 20 61 20 6d 65 73 73 61 67 65 2e 3c 2f 73 61 ext.<samp>This.is.a.message.</sa
965e0 6d 70 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6e 65 77 6c 69 6e 65 2e 0a 20 20 20 20 20 mp>.followed.by.a.newline.......
96600 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 ...sq.~......w.....t..stdio.hxq.
96620 7e 16 15 74 00 0d 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 00 03 69 6e 74 74 00 09 70 75 74 75 ~..t..const.char.*st..intt..putu
96640 74 6c 69 6e 65 73 71 00 7e 00 0a 70 74 04 1d 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 tlinesq.~..pt...........The.<COD
96660 45 3e 70 75 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 65 E>pututline</CODE>.function.inse
96680 72 74 73 20 74 68 65 20 65 6e 74 72 79 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 75 74 6d 70 3c 2f rts.the.entry.<CODE>*<VAR>utmp</
966a0 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 61 70 70 72 VAR></CODE>.at..........the.appr
966c0 6f 70 72 69 61 74 65 20 70 6c 61 63 65 20 69 6e 20 74 68 65 20 75 73 65 72 20 61 63 63 6f 75 6e opriate.place.in.the.user.accoun
966e0 74 69 6e 67 20 64 61 74 61 62 61 73 65 2e 20 20 49 66 20 69 74 20 66 69 6e 64 73 20 74 68 61 74 ting.database...If.it.finds.that
96700 0a 20 20 20 20 20 20 20 20 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 61 74 20 74 ..........it.is.not.already.at.t
96720 68 65 20 63 6f 72 72 65 63 74 20 70 6c 61 63 65 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 he.correct.place.in.the.database
96740 2c 20 69 74 20 75 73 65 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 75 74 69 64 ,.it.uses..........<CODE>getutid
96760 3c 2f 43 4f 44 45 3e 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 74 68 65 20 70 6f 73 69 74 69 </CODE>.to.search.for.the.positi
96780 6f 6e 20 74 6f 20 69 6e 73 65 72 74 20 74 68 65 20 65 6e 74 72 79 2c 20 68 6f 77 65 76 65 72 0a on.to.insert.the.entry,.however.
967a0 20 20 20 20 20 20 20 20 20 74 68 69 73 20 77 69 6c 6c 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 .........this.will.not.modify.th
967c0 65 20 73 74 61 74 69 63 20 73 74 72 75 63 74 75 72 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c e.static.structure.returned.by.<
967e0 43 4f 44 45 3e 67 65 74 75 74 65 6e 74 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c CODE>getutent</CODE>,..........<
96800 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 67 65 CODE>getutid</CODE>.and.<CODE>ge
96820 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 74 68 69 73 20 73 65 61 72 63 68 20 tutline</CODE>...If.this.search.
96840 66 61 69 6c 73 2c 20 74 68 65 20 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 69 73 20 61 70 70 fails,.the.entry..........is.app
96860 65 6e 64 65 64 20 74 6f 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 ended.to.the.database...........
96880 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 70 75 74 75 74 6c 69 6e 65 3c 2f 43 4f <br><br>.The.<CODE>pututline</CO
968a0 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 DE>.function.returns.a.pointer.t
968c0 6f 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 69 o.a.copy.of.the.entry..........i
968e0 6e 73 65 72 74 65 64 20 69 6e 20 74 68 65 20 75 73 65 72 20 61 63 63 6f 75 6e 74 69 6e 67 20 64 nserted.in.the.user.accounting.d
96900 61 74 61 62 61 73 65 2c 20 6f 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 74 68 atabase,.or.a.null.pointer.if.th
96920 65 20 65 6e 74 72 79 0a 20 20 20 20 20 20 20 20 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 64 e.entry..........could.not.be.ad
96940 64 65 64 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c ded...The.following.<CODE>errno<
96960 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 /CODE>.error.conditions.are.....
96980 20 20 20 20 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a .....defined.for.this.function:.
969a0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 .........<br><br>.<DL>..........
969c0 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 .<DT><CODE>EPERM</CODE>.<DD>....
969e0 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 ......The.process.does.not.have.
96a00 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 70 72 69 76 69 6c 65 67 65 73 3b 20 79 6f 75 20 the.appropriate.privileges;.you.
96a20 63 61 6e 6e 6f 74 20 6d 6f 64 69 66 79 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 75 73 65 72 20 cannot.modify..........the.user.
96a40 61 63 63 6f 75 6e 74 69 6e 67 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f accounting.database...........</
96a60 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 DL>.........sq.~......w.....t..u
96a80 74 6d 70 2e 68 78 71 00 7e 16 1c 74 00 17 63 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 6d 70 20 tmp.hxq.~..t..const.struct.utmp.
96aa0 2a 75 74 6d 70 74 00 0d 73 74 72 75 63 74 20 75 74 6d 70 20 2a 74 00 0a 70 75 74 75 74 78 6c 69 *utmpt..struct.utmp.*t..pututxli
96ac0 6e 65 73 71 00 7e 00 0a 70 74 01 29 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 nesq.~..pt.).........The.<CODE>p
96ae0 75 74 75 74 78 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 66 75 6e ututxline</CODE>.function.is.fun
96b00 63 74 69 6f 6e 61 6c 6c 79 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 ctionally.identical.to..........
96b20 3c 43 4f 44 45 3e 70 75 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 75 73 65 73 <CODE>pututline</CODE>,.but.uses
96b40 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 75 74 6d 70 78 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 .<CODE>struct.utmpx</CODE>.inste
96b60 61 64 20 6f 66 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 75 74 6d 70 ad.of.<CODE>struct..........utmp
96b80 3c 2f 43 4f 44 45 3e 2e 20 20 4f 6e 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d 2c 20 3c 43 4f </CODE>...On.the.GNU.system,.<CO
96ba0 44 45 3e 70 75 74 75 74 78 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 69 73 20 73 69 6d 70 6c 79 20 61 DE>pututxline</CODE>.is.simply.a
96bc0 6e 20 61 6c 69 61 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 70 75 74 75 74 n.alias.for..........<CODE>putut
96be0 6c 69 6e 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 line</CODE>..........sq.~......w
96c00 04 00 00 00 0a 74 00 07 75 74 6d 70 78 2e 68 78 71 00 7e 16 23 74 00 18 63 6f 6e 73 74 20 73 74 .....t..utmpx.hxq.~.#t..const.st
96c20 72 75 63 74 20 75 74 6d 70 78 20 2a 75 74 6d 70 74 00 0e 73 74 72 75 63 74 20 75 74 6d 70 78 20 ruct.utmpx.*utmpt..struct.utmpx.
96c40 2a 74 00 04 70 75 74 77 73 71 00 7e 00 0a 70 74 00 e7 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 *t..putwsq.~..pt...........This.
96c60 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 73 20 74 68 65 20 77 6f 72 64 20 3c 56 41 52 3e 77 3c function.writes.the.word.<VAR>w<
96c80 2f 56 41 52 3e 20 28 74 68 61 74 20 69 73 2c 20 61 6e 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f /VAR>.(that.is,.an.<CODE>int</CO
96ca0 44 45 3e 29 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 DE>).to..........<VAR>stream</VA
96cc0 52 3e 2e 20 20 49 74 20 69 73 20 70 72 6f 76 69 64 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 R>...It.is.provided.for.compatib
96ce0 69 6c 69 74 79 20 77 69 74 68 20 53 56 49 44 2c 20 62 75 74 20 77 65 0a 20 20 20 20 20 20 20 20 ility.with.SVID,.but.we.........
96d00 20 72 65 63 6f 6d 6d 65 6e 64 20 79 6f 75 20 75 73 65 20 3c 43 4f 44 45 3e 66 77 72 69 74 65 3c .recommend.you.use.<CODE>fwrite<
96d20 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 /CODE>.instead...........sq.~...
96d40 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 16 2a 74 00 13 69 6e 74 20 ...w.....t..stdio.hxq.~.*t..int.
96d60 77 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 05 70 75 74 77 63 73 71 00 w,.FILE.*streamt..intt..putwcsq.
96d80 7e 00 0a 70 74 01 85 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b ~..pt...........This.is.just.lik
96da0 65 20 3c 43 4f 44 45 3e 66 70 75 74 77 63 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 e.<CODE>fputwc</CODE>,.except.th
96dc0 61 74 20 69 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 20 61 73 0a 20 20 20 20 20 20 at.it.can.be.implement.as.......
96de0 20 20 20 61 20 6d 61 63 72 6f 2c 20 6d 61 6b 69 6e 67 20 69 74 20 66 61 73 74 65 72 2e 20 20 4f ...a.macro,.making.it.faster...O
96e00 6e 65 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 69 73 20 74 68 61 74 20 69 74 20 6d 61 79 20 65 76 ne.consequence.is.that.it.may.ev
96e20 61 6c 75 61 74 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c aluate.the..........<VAR>stream<
96e40 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 2c 20 77 /VAR>.argument.more.than.once,.w
96e60 68 69 63 68 20 69 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 74 6f 20 74 68 65 0a 20 20 20 20 hich.is.an.exception.to.the.....
96e80 20 20 20 20 20 67 65 6e 65 72 61 6c 20 72 75 6c 65 20 66 6f 72 20 6d 61 63 72 6f 73 2e 20 20 3c .....general.rule.for.macros...<
96ea0 43 4f 44 45 3e 70 75 74 77 63 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 CODE>putwc</CODE>.is.usually.the
96ec0 20 62 65 73 74 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 75 73 65 20 66 .best.function.to..........use.f
96ee0 6f 72 20 77 72 69 74 69 6e 67 20 61 20 73 69 6e 67 6c 65 20 77 69 64 65 20 63 68 61 72 61 63 74 or.writing.a.single.wide.charact
96f00 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 er..........sq.~......w.....t..w
96f20 63 68 61 72 2e 68 78 71 00 7e 16 31 74 00 18 77 63 68 61 72 5f 74 20 77 63 2c 20 46 49 4c 45 20 char.hxq.~.1t..wchar_t.wc,.FILE.
96f40 2a 73 74 72 65 61 6d 74 00 06 77 69 6e 74 5f 74 74 00 0e 70 75 74 77 63 5f 75 6e 6c 6f 63 6b 65 *streamt..wint_tt..putwc_unlocke
96f60 64 73 71 00 7e 00 0a 70 74 00 dc 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 75 dsq.~..pt...........The.<CODE>pu
96f80 74 77 63 5f 75 6e 6c 6f 63 6b 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 twc_unlocked</CODE>.function.is.
96fa0 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 70 75 74 77 63 3c 2f 43 equivalent.to.the.<CODE>putwc</C
96fc0 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 ODE>..........function.except.th
96fe0 61 74 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 at.it.does.not.implicitly.lock.t
97000 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 he.stream...........<br><br>.Thi
97020 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 s.function.is.a.GNU.extension...
97040 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e .......sq.~......w.....t..wchar.
97060 68 78 71 00 7e 16 38 74 00 18 77 63 68 61 72 5f 74 20 77 63 2c 20 46 49 4c 45 20 2a 73 74 72 65 hxq.~.8t..wchar_t.wc,.FILE.*stre
97080 61 6d 74 00 06 77 69 6e 74 5f 74 74 00 08 70 75 74 77 63 68 61 72 73 71 00 7e 00 0a 70 74 00 aa amt..wint_tt..putwcharsq.~..pt..
970a0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 75 74 77 63 68 61 72 3c 2f 43 4f 44 .........The.<CODE>putwchar</COD
970c0 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f E>.function.is.equivalent.to.<CO
970e0 44 45 3e 70 75 74 77 63 3c 2f 43 4f 44 45 3e 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 3c 43 DE>putwc</CODE>.with..........<C
97100 4f 44 45 3e 73 74 64 6f 75 74 3c 2f 43 4f 44 45 3e 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 6f ODE>stdout</CODE>.as.the.value.o
97120 66 20 74 68 65 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 f.the.<VAR>stream</VAR>.argument
97140 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 ..........sq.~......w.....t..wch
97160 61 72 2e 68 78 71 00 7e 16 3f 74 00 0a 77 63 68 61 72 5f 74 20 77 63 74 00 06 77 69 6e 74 5f 74 ar.hxq.~.?t..wchar_t.wct..wint_t
97180 74 00 11 70 75 74 77 63 68 61 72 5f 75 6e 6c 6f 63 6b 65 64 73 71 00 7e 00 0a 70 74 00 e2 0a 20 t..putwchar_unlockedsq.~..pt....
971a0 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 75 74 77 63 68 61 72 5f 75 6e 6c 6f 63 6b .......The.<CODE>putwchar_unlock
971c0 65 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 ed</CODE>.function.is.equivalent
971e0 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 70 75 74 77 63 68 61 72 3c 2f 43 4f 44 45 3e 0a 20 20 .to.the.<CODE>putwchar</CODE>...
97200 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 64 .......function.except.that.it.d
97220 6f 65 73 20 6e 6f 74 20 69 6d 70 6c 69 63 69 74 6c 79 20 6c 6f 63 6b 20 74 68 65 20 73 74 72 65 oes.not.implicitly.lock.the.stre
97240 61 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 am...........<br><br>.This.funct
97260 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 ion.is.a.GNU.extension..........
97280 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 16 46 sq.~......w.....t..wchar.hxq.~.F
972a0 74 00 0a 77 63 68 61 72 5f 74 20 77 63 74 00 06 77 69 6e 74 5f 74 74 00 06 70 77 72 69 74 65 73 t..wchar_t.wct..wint_tt..pwrites
972c0 71 00 7e 00 0a 70 74 06 5f 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 70 77 72 69 q.~..pt._.........The.<CODE>pwri
972e0 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f te</CODE>.function.is.similar.to
97300 20 74 68 65 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .the.<CODE>write</CODE>.function
97320 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 72 73 74 20 74 68 72 65 65 20 61 72 67 75 ...The..........first.three.argu
97340 6d 65 6e 74 73 20 61 72 65 20 69 64 65 6e 74 69 63 61 6c 2c 20 61 6e 64 20 74 68 65 20 72 65 74 ments.are.identical,.and.the.ret
97360 75 72 6e 20 76 61 6c 75 65 73 20 61 6e 64 20 65 72 72 6f 72 20 63 6f 64 65 73 0a 20 20 20 20 20 urn.values.and.error.codes......
97380 20 20 20 20 61 6c 73 6f 20 63 6f 72 72 65 73 70 6f 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ....also.correspond...........<b
973a0 72 3e 3c 62 72 3e 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 65 20 66 6f 75 r><br>.The.difference.is.the.fou
973c0 72 74 68 20 61 72 67 75 6d 65 6e 74 20 61 6e 64 20 69 74 73 20 68 61 6e 64 6c 69 6e 67 2e 20 20 rth.argument.and.its.handling...
973e0 54 68 65 20 64 61 74 61 20 62 6c 6f 63 6b 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 77 The.data.block..........is.not.w
97400 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 6f ritten.to.the.current.position.o
97420 66 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 20 20 3c f.the.file.descriptor..........<
97440 43 4f 44 45 3e 66 69 6c 65 64 65 73 3c 2f 43 4f 44 45 3e 2e 20 20 49 6e 73 74 65 61 64 20 74 68 CODE>filedes</CODE>...Instead.th
97460 65 20 64 61 74 61 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 66 69 6c 65 20 73 74 e.data.is.written.to.the.file.st
97480 61 72 74 69 6e 67 20 61 74 0a 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 3c 56 41 52 arting.at..........position.<VAR
974a0 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 >offset</VAR>...The.position.of.
974c0 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 69 74 73 65 6c 66 20 69 73 0a 20 20 the.file.descriptor.itself.is...
974e0 20 20 20 20 20 20 20 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 6f 70 65 72 61 .......not.affected.by.the.opera
97500 74 69 6f 6e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 tion...The.value.is.the.same.as.
97520 62 65 66 6f 72 65 20 74 68 65 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 before.the.call...........<br><b
97540 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 69 r>.When.the.source.file.is.compi
97560 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 led.with.<CODE>_FILE_OFFSET_BITS
97580 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 .==.64</CODE>.the..........<CODE
975a0 3e 70 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 >pwrite</CODE>.function.is.in.fa
975c0 63 74 20 3c 43 4f 44 45 3e 70 77 72 69 74 65 36 34 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 ct.<CODE>pwrite64</CODE>.and.the
975e0 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 .type..........<CODE>off_t</CODE
97600 3e 20 68 61 73 20 36 34 20 62 69 74 73 2c 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 70 6f >.has.64.bits,.which.makes.it.po
97620 73 73 69 62 6c 65 20 74 6f 20 68 61 6e 64 6c 65 20 66 69 6c 65 73 20 75 70 20 74 6f 0a 20 20 20 ssible.to.handle.files.up.to....
97640 20 20 20 20 20 20 32 5e 36 33 20 62 79 74 65 73 20 69 6e 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 ......2^63.bytes.in.length......
97660 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f .....<br><br>.The.return.value.o
97680 66 20 3c 43 4f 44 45 3e 70 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 64 65 73 63 72 69 62 65 73 20 f.<CODE>pwrite</CODE>.describes.
976a0 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 77 72 69 74 74 65 6e 20 62 79 74 65 73 2e 0a 20 20 20 the.number.of.written.bytes.....
976c0 20 20 20 20 20 20 49 6e 20 74 68 65 20 65 72 72 6f 72 20 63 61 73 65 20 69 74 20 72 65 74 75 72 ......In.the.error.case.it.retur
976e0 6e 73 20 2d 31 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 64 6f ns.-1.like.<CODE>write</CODE>.do
97700 65 73 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f 64 65 73 20 es.and.the..........error.codes.
97720 61 72 65 20 61 6c 73 6f 20 74 68 65 20 73 61 6d 65 2c 20 77 69 74 68 20 74 68 65 73 65 20 61 64 are.also.the.same,.with.these.ad
97740 64 69 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a ditions:..........<br><br>.<DL>.
97760 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 ..........<DT><CODE>EINVAL</CODE
97780 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 67 69 76 65 6e 20 >.<DD>..........The.value.given.
977a0 66 6f 72 20 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 76 for.<VAR>offset</VAR>.is.negativ
977c0 65 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 69 6c 6c 65 67 61 6c 2e 0a 20 20 20 20 20 20 20 e.and.therefore.illegal.........
977e0 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 50 49 50 45 0a 20 20 20 20 ..<br><br>.<DT><CODE>ESPIPE.....
97800 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 .....The.file.descriptor.<VAR>fi
97820 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 ledes</VAR>.is.associated.with.a
97840 20 70 69 70 65 20 6f 72 20 61 20 46 49 46 4f 20 61 6e 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a .pipe.or.a.FIFO.and</CODE>.<DD>.
97860 20 20 20 20 20 20 20 20 20 74 68 69 73 20 64 65 76 69 63 65 20 64 6f 65 73 20 6e 6f 74 20 61 6c .........this.device.does.not.al
97880 6c 6f 77 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 6f 66 20 74 68 65 20 66 69 6c 65 20 70 6f 69 6e low.positioning.of.the.file.poin
978a0 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ter...........</DL>..........<br
978c0 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 20 65 78 74 65 6e 73 69 ><br>.The.function.is.an.extensi
978e0 6f 6e 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 55 6e 69 78 20 53 69 6e 67 6c 65 20 53 70 on.defined.in.the.Unix.Single.Sp
97900 65 63 69 66 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 32 2e 0a ecification..........version.2..
97920 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 ........sq.~......w.....t..unist
97940 64 2e 68 78 71 00 7e 16 4d 74 00 3a 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 63 6f 6e 73 74 20 76 d.hxq.~.Mt.:int.filedes,.const.v
97960 6f 69 64 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 6f 66 66 5f 74 20 oid.*buffer,.size_t.size,.off_t.
97980 6f 66 66 73 65 74 74 00 07 73 73 69 7a 65 5f 74 74 00 08 70 77 72 69 74 65 36 34 73 71 00 7e 00 offsett..ssize_tt..pwrite64sq.~.
979a0 0a 70 74 03 35 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 .pt.5.........This.function.is.s
979c0 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 70 77 72 69 74 65 3c 2f 43 4f 44 45 imilar.to.the.<CODE>pwrite</CODE
979e0 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 0a 20 20 20 20 >.function...The.difference.....
97a00 20 20 20 20 20 69 73 20 74 68 61 74 20 74 68 65 20 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 .....is.that.the.<VAR>offset</VA
97a20 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6f 66 R>.parameter.is.of.type.<CODE>of
97a40 66 36 34 5f 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 20 20 20 20 20 20 f64_t</CODE>.instead.of.........
97a60 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 6d 61 6b 65 73 20 .<CODE>off_t</CODE>.which.makes.
97a80 69 74 20 70 6f 73 73 69 62 6c 65 20 6f 6e 20 33 32 20 62 69 74 20 6d 61 63 68 69 6e 65 73 20 74 it.possible.on.32.bit.machines.t
97aa0 6f 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 20 6c 61 72 67 65 72 20 o.address..........files.larger.
97ac0 74 68 61 6e 20 32 5e 33 31 20 62 79 74 65 73 20 61 6e 64 20 75 70 20 74 6f 20 32 5e 36 33 20 62 than.2^31.bytes.and.up.to.2^63.b
97ae0 79 74 65 73 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 64 65 73 63 72 69 70 ytes...The..........file.descrip
97b00 74 6f 72 20 3c 43 4f 44 45 3e 66 69 6c 65 64 65 73 3c 2f 43 4f 44 45 3e 20 6d 75 73 74 20 62 65 tor.<CODE>filedes</CODE>.must.be
97b20 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6f 70 65 6e 36 34 3c 2f 43 4f 44 45 .opened.using.<CODE>open64</CODE
97b40 3e 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 6c >.since..........otherwise.the.l
97b60 61 72 67 65 20 6f 66 66 73 65 74 73 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 20 3c 43 4f 44 45 arge.offsets.possible.with.<CODE
97b80 3e 6f 66 66 36 34 5f 74 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 6c 65 61 64 20 74 6f 0a 20 20 20 >off64_t</CODE>.will.lead.to....
97ba0 20 20 20 20 20 20 65 72 72 6f 72 73 20 77 69 74 68 20 61 20 64 65 73 63 72 69 70 74 6f 72 20 69 ......errors.with.a.descriptor.i
97bc0 6e 20 73 6d 61 6c 6c 20 66 69 6c 65 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e n.small.file.mode...........<br>
97be0 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 63 6f 6d <br>.When.the.source.file.is.com
97c00 70 69 6c 65 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 piled.using.<CODE>_FILE_OFFSET_B
97c20 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 ITS.==.64</CODE>.on.a..........3
97c40 32 20 62 69 74 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 2.bit.machine.this.function.is.a
97c60 63 74 75 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 ctually.available.under.the.name
97c80 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 70 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 61 6e ..........<CODE>pwrite</CODE>.an
97ca0 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 d.so.transparently.replaces.the.
97cc0 33 32 20 62 69 74 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 32.bit.interface..........sq.~..
97ce0 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 16 54 74 00 3c 69 6e ....w.....t..unistd.hxq.~.Tt.<in
97d00 74 20 66 69 6c 65 64 65 73 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 62 75 66 66 65 72 2c 20 73 t.filedes,.const.void.*buffer,.s
97d20 69 7a 65 5f 74 20 73 69 7a 65 2c 20 6f 66 66 36 34 5f 74 20 6f 66 66 73 65 74 74 00 07 73 73 69 ize_t.size,.off64_t.offsett..ssi
97d40 7a 65 5f 74 74 00 05 71 65 63 76 74 73 71 00 7e 00 0a 70 74 00 f5 0a 20 20 20 20 20 20 20 20 54 ze_tt..qecvtsq.~..pt...........T
97d60 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 his.function.is.equivalent.to.<C
97d80 4f 44 45 3e 65 63 76 74 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 74 ODE>ecvt</CODE>.except.that.it.t
97da0 61 6b 65 73 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 6c akes.a..........<CODE>long.doubl
97dc0 65 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 65 72 e</CODE>.for.the.first.parameter
97de0 20 61 6e 64 20 74 68 61 74 20 3c 56 41 52 3e 6e 64 69 67 69 74 3c 2f 56 41 52 3e 20 69 73 0a 20 .and.that.<VAR>ndigit</VAR>.is..
97e00 20 20 20 20 20 20 20 20 72 65 73 74 72 69 63 74 65 64 20 62 79 20 74 68 65 20 70 72 65 63 69 73 ........restricted.by.the.precis
97e20 69 6f 6e 20 6f 66 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 ion.of.a.<CODE>long.double</CODE
97e40 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 >..........sq.~......w.....t..st
97e60 64 6c 69 62 2e 68 78 71 00 7e 16 5b 74 00 33 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 dlib.hxq.~.[t.3long.double.value
97e80 2c 20 69 6e 74 20 6e 64 69 67 69 74 2c 20 69 6e 74 20 2a 64 65 63 70 74 2c 20 69 6e 74 20 2a 6e ,.int.ndigit,.int.*decpt,.int.*n
97ea0 65 67 74 00 06 63 68 61 72 20 2a 74 00 07 71 65 63 76 74 5f 72 73 71 00 7e 00 0a 70 74 01 6c 0a egt..char.*t..qecvt_rsq.~..pt.l.
97ec0 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 71 65 63 76 74 5f 72 3c 2f 43 4f 44 45 3e ........The.<CODE>qecvt_r</CODE>
97ee0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 71 .function.is.the.same.as.<CODE>q
97f00 65 63 76 74 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 0a 20 20 20 20 20 20 20 20 20 74 68 61 ecvt</CODE>,.except..........tha
97f20 74 20 69 74 20 70 6c 61 63 65 73 20 69 74 73 20 72 65 73 75 6c 74 20 69 6e 74 6f 20 74 68 65 20 t.it.places.its.result.into.the.
97f40 75 73 65 72 2d 73 70 65 63 69 66 69 65 64 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f user-specified.buffer.pointed.to
97f60 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2c 20 77 69 74 .by..........<VAR>buf</VAR>,.wit
97f80 68 20 6c 65 6e 67 74 68 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 h.length.<VAR>len</VAR>...The.re
97fa0 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 6e turn.value.is.<CODE>-1</CODE>.in
97fc0 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 61 6e 64 20 7a ..........case.of.an.error.and.z
97fe0 65 72 6f 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ero.otherwise...........<br><br>
98000 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f .This.function.is.a.GNU.extensio
98020 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 n..........sq.~......w.....t..st
98040 64 6c 69 62 2e 68 78 71 00 7e 16 62 74 00 4a 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 dlib.hxq.~.bt.Jlong.double.value
98060 2c 20 69 6e 74 20 6e 64 69 67 69 74 2c 20 69 6e 74 20 2a 64 65 63 70 74 2c 20 69 6e 74 20 2a 6e ,.int.ndigit,.int.*decpt,.int.*n
98080 65 67 2c 20 63 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 74 00 03 69 6e 74 74 eg,.char.*buf,.size_t.lent..intt
980a0 00 05 71 66 63 76 74 73 71 00 7e 00 0a 70 74 00 f5 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 ..qfcvtsq.~..pt...........This.f
980c0 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 66 unction.is.equivalent.to.<CODE>f
980e0 63 76 74 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 0a 20 20 20 20 20 20 cvt</CODE>.except.that.it.......
98100 20 20 20 74 61 6b 65 73 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 43 4f ...takes.a.<CODE>long.double</CO
98120 44 45 3e 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 DE>.for.the.first.parameter.and.
98140 74 68 61 74 20 3c 56 41 52 3e 6e 64 69 67 69 74 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 that.<VAR>ndigit</VAR>.is.......
98160 20 20 20 72 65 73 74 72 69 63 74 65 64 20 62 79 20 74 68 65 20 70 72 65 63 69 73 69 6f 6e 20 6f ...restricted.by.the.precision.o
98180 66 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 f.a.<CODE>long.double</CODE>....
981a0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e ......sq.~......w.....t..stdlib.
981c0 68 78 71 00 7e 16 69 74 00 33 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 69 6e 74 hxq.~.it.3long.double.value,.int
981e0 20 6e 64 69 67 69 74 2c 20 69 6e 74 20 2a 64 65 63 70 74 2c 20 69 6e 74 20 2a 6e 65 67 74 00 06 .ndigit,.int.*decpt,.int.*negt..
98200 63 68 61 72 20 2a 74 00 07 71 66 63 76 74 5f 72 73 71 00 7e 00 0a 70 74 01 6c 0a 20 20 20 20 20 char.*t..qfcvt_rsq.~..pt.l......
98220 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 71 66 63 76 74 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 ...The.<CODE>qfcvt_r</CODE>.func
98240 74 69 6f 6e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 71 66 63 76 74 3c tion.is.the.same.as.<CODE>qfcvt<
98260 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 69 74 20 /CODE>,.except..........that.it.
98280 70 6c 61 63 65 73 20 69 74 73 20 72 65 73 75 6c 74 20 69 6e 74 6f 20 74 68 65 20 75 73 65 72 2d places.its.result.into.the.user-
982a0 73 70 65 63 69 66 69 65 64 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 specified.buffer.pointed.to.by..
982c0 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2c 20 77 69 74 68 20 6c 65 6e ........<VAR>buf</VAR>,.with.len
982e0 67 74 68 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 gth.<VAR>len</VAR>...The.return.
98300 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 6e 0a 20 20 20 20 value.is.<CODE>-1</CODE>.in.....
98320 20 20 20 20 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 61 6e 64 20 7a 65 72 6f 20 6f .....case.of.an.error.and.zero.o
98340 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 therwise...........<br><br>.This
98360 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 .function.is.a.GNU.extension....
98380 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e ......sq.~......w.....t..stdlib.
983a0 68 78 71 00 7e 16 70 74 00 4a 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 69 6e 74 hxq.~.pt.Jlong.double.value,.int
983c0 20 6e 64 69 67 69 74 2c 20 69 6e 74 20 2a 64 65 63 70 74 2c 20 69 6e 74 20 2a 6e 65 67 2c 20 63 .ndigit,.int.*decpt,.int.*neg,.c
983e0 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 74 00 03 69 6e 74 74 00 05 71 67 63 har.*buf,.size_t.lent..intt..qgc
98400 76 74 73 71 00 7e 00 0a 70 74 00 f5 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 vtsq.~..pt...........This.functi
98420 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 67 63 76 74 3c 2f on.is.equivalent.to.<CODE>gcvt</
98440 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 74 61 6b 65 73 20 61 0a 20 20 20 CODE>.except.that.it.takes.a....
98460 20 20 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 20 66 ......<CODE>long.double</CODE>.f
98480 6f 72 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 74 68 61 74 20 or.the.first.parameter.and.that.
984a0 3c 56 41 52 3e 6e 64 69 67 69 74 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 <VAR>ndigit</VAR>.is..........re
984c0 73 74 72 69 63 74 65 64 20 62 79 20 74 68 65 20 70 72 65 63 69 73 69 6f 6e 20 6f 66 20 61 20 3c stricted.by.the.precision.of.a.<
984e0 43 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 CODE>long.double</CODE>.........
98500 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e .sq.~......w.....t..stdlib.hxq.~
98520 16 77 74 00 28 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 69 6e 74 20 6e 64 69 67 .wt.(long.double.value,.int.ndig
98540 69 74 2c 20 63 68 61 72 20 2a 62 75 66 74 00 06 63 68 61 72 20 2a 74 00 05 71 73 6f 72 74 73 71 it,.char.*buft..char.*t..qsortsq
98560 00 7e 00 0a 70 74 07 cf 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 71 73 6f 72 74 3c .~..pt...........The.<VAR>qsort<
98580 2f 56 41 52 3e 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 73 20 74 68 65 20 61 72 72 61 79 20 3c /VAR>.function.sorts.the.array.<
985a0 56 41 52 3e 61 72 72 61 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 61 72 72 61 79 20 63 6f 6e 74 VAR>array</VAR>...The.array.cont
985c0 61 69 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 65 ains..........<VAR>count</VAR>.e
985e0 6c 65 6d 65 6e 74 73 2c 20 65 61 63 68 20 6f 66 20 77 68 69 63 68 20 69 73 20 6f 66 20 73 69 7a lements,.each.of.which.is.of.siz
98600 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e e.<VAR>size</VAR>...........<br>
98620 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 63 6f 6d 70 61 72 65 3c 2f 56 41 52 3e 20 66 75 6e 63 <br>.The.<VAR>compare</VAR>.func
98640 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 tion.is.used.to.perform.the.comp
98660 61 72 69 73 6f 6e 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 72 72 61 79 20 65 6c 65 arison.on.the..........array.ele
98680 6d 65 6e 74 73 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 ments...This.function.is.called.
986a0 77 69 74 68 20 74 77 6f 20 70 6f 69 6e 74 65 72 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 0a 20 with.two.pointer.arguments.and..
986c0 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 20 69 6e 74 65 67 65 72 ........should.return.an.integer
986e0 20 6c 65 73 73 20 74 68 61 6e 2c 20 65 71 75 61 6c 20 74 6f 2c 20 6f 72 20 67 72 65 61 74 65 72 .less.than,.equal.to,.or.greater
98700 20 74 68 61 6e 20 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e .than.zero..........correspondin
98720 67 20 74 6f 20 77 68 65 74 68 65 72 20 69 74 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 g.to.whether.its.first.argument.
98740 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 6c 65 73 73 20 74 68 61 6e 2c 0a 20 20 20 20 20 20 20 is.considered.less.than,........
98760 20 20 65 71 75 61 6c 20 74 6f 2c 20 6f 72 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 69 74 73 20 ..equal.to,.or.greater.than.its.
98780 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 second.argument...........<br><b
987a0 72 3e 20 20 73 6f 72 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 57 61 72 6e 69 6e 67 3a 20 49 66 r>..sorting..........Warning:.If
987c0 20 74 77 6f 20 6f 62 6a 65 63 74 73 20 63 6f 6d 70 61 72 65 20 61 73 20 65 71 75 61 6c 2c 20 74 .two.objects.compare.as.equal,.t
987e0 68 65 69 72 20 6f 72 64 65 72 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 73 6f 72 74 69 6e heir.order.after..........sortin
98800 67 20 69 73 20 75 6e 70 72 65 64 69 63 74 61 62 6c 65 2e 20 20 54 68 61 74 20 69 73 20 74 6f 20 g.is.unpredictable...That.is.to.
98820 73 61 79 2c 20 74 68 65 20 73 6f 72 74 69 6e 67 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 2e 0a say,.the.sorting.is.not.stable..
98840 20 20 20 20 20 20 20 20 20 54 68 69 73 20 63 61 6e 20 6d 61 6b 65 20 61 20 64 69 66 66 65 72 65 .........This.can.make.a.differe
98860 6e 63 65 20 77 68 65 6e 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 63 6f 6e 73 69 64 65 72 nce.when.the.comparison.consider
98880 73 20 6f 6e 6c 79 20 70 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 6c 65 6d s.only.part.of..........the.elem
988a0 65 6e 74 73 2e 20 20 54 77 6f 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 20 74 68 65 20 73 61 6d ents...Two.elements.with.the.sam
988c0 65 20 73 6f 72 74 20 6b 65 79 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 6f 74 68 65 72 0a 20 e.sort.key.may.differ.in.other..
988e0 20 20 20 20 20 20 20 20 72 65 73 70 65 63 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c ........respects...........<br><
98900 62 72 3e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 68 65 20 65 66 66 65 63 74 20 6f 66 20 61 20 br>.If.you.want.the.effect.of.a.
98920 73 74 61 62 6c 65 20 73 6f 72 74 2c 20 79 6f 75 20 63 61 6e 20 67 65 74 20 74 68 69 73 20 72 65 stable.sort,.you.can.get.this.re
98940 73 75 6c 74 20 62 79 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 69 6e 67 20 74 68 65 20 63 6f 6d sult.by..........writing.the.com
98960 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 73 6f 20 74 68 61 74 2c 20 6c 61 63 6b 69 6e parison.function.so.that,.lackin
98980 67 20 6f 74 68 65 72 20 72 65 61 73 6f 6e 0a 20 20 20 20 20 20 20 20 20 64 69 73 74 69 6e 67 75 g.other.reason..........distingu
989a0 69 73 68 20 62 65 74 77 65 65 6e 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 2c 20 69 74 20 63 6f 6d ish.between.two.elements,.it.com
989c0 70 61 72 65 73 20 74 68 65 6d 20 62 79 20 74 68 65 69 72 20 61 64 64 72 65 73 73 65 73 2e 0a 20 pares.them.by.their.addresses...
989e0 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 64 6f 69 6e 67 20 74 68 69 73 20 6d 61 79 ........Note.that.doing.this.may
98a00 20 6d 61 6b 65 20 74 68 65 20 73 6f 72 74 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d 20 6c 65 73 73 .make.the.sorting.algorithm.less
98a20 20 65 66 66 69 63 69 65 6e 74 2c 20 73 6f 0a 20 20 20 20 20 20 20 20 20 64 6f 20 69 74 20 6f 6e .efficient,.so..........do.it.on
98a40 6c 79 20 69 66 20 6e 65 63 65 73 73 61 72 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ly.if.necessary...........<br><b
98a60 72 3e 20 48 65 72 65 20 69 73 20 61 20 73 69 6d 70 6c 65 20 65 78 61 6d 70 6c 65 20 6f 66 20 73 r>.Here.is.a.simple.example.of.s
98a80 6f 72 74 69 6e 67 20 61 6e 20 61 72 72 61 79 20 6f 66 20 64 6f 75 62 6c 65 73 20 69 6e 20 6e 75 orting.an.array.of.doubles.in.nu
98aa0 6d 65 72 69 63 61 6c 0a 20 20 20 20 20 20 20 20 20 6f 72 64 65 72 2c 20 75 73 69 6e 67 20 74 68 merical..........order,.using.th
98ac0 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 65 64 20 61 62 e.comparison.function.defined.ab
98ae0 6f 76 65 20 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 ove.:..........<br><br>.<pre><br
98b00 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 64 6f 75 62 >..........{<br>............doub
98b20 6c 65 20 2a 61 72 72 61 79 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 73 69 le.*array;<br>............int.si
98b40 7a 65 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 3c 73 6d 61 6c 6c 3e 2e 2e 2e 3c 2f 73 ze;<br>............<small>...</s
98b60 6d 61 6c 6c 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 71 73 6f 72 74 20 28 61 72 72 61 mall><br>............qsort.(arra
98b80 79 2c 20 73 69 7a 65 2c 20 73 69 7a 65 6f 66 20 28 64 6f 75 62 6c 65 29 2c 20 63 6f 6d 70 61 72 y,.size,.sizeof.(double),.compar
98ba0 65 5f 64 6f 75 62 6c 65 73 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 e_doubles);<br>..........}<br>..
98bc0 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ........</pre>..........<br><br>
98be0 20 54 68 65 20 3c 43 4f 44 45 3e 71 73 6f 72 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .The.<CODE>qsort</CODE>.function
98c00 20 64 65 72 69 76 65 73 20 69 74 73 20 6e 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 66 61 63 74 20 .derives.its.name.from.the.fact.
98c20 74 68 61 74 20 69 74 20 77 61 73 0a 20 20 20 20 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 6c 79 20 that.it.was..........originally.
98c40 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 60 60 71 75 69 63 6b 20 73 6f implemented.using.the.``quick.so
98c60 72 74 27 27 20 61 6c 67 6f 72 69 74 68 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 rt''.algorithm...........<br><br
98c80 3e 20 54 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 71 73 >.The.implementation.of.<CODE>qs
98ca0 6f 72 74 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 6d 69 67 68 74 ort</CODE>.in.this.library.might
98cc0 20 6e 6f 74 20 62 65 20 61 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 2d 70 6c 61 63 65 20 73 6f 72 .not.be.an..........in-place.sor
98ce0 74 20 61 6e 64 20 6d 69 67 68 74 20 74 68 65 72 65 62 79 20 75 73 65 20 61 6e 20 65 78 74 72 61 t.and.might.thereby.use.an.extra
98d00 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 73 74 6f 72 65 0a 20 20 20 20 20 .amount.of.memory.to.store......
98d20 20 20 20 20 74 68 65 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 ....the.array..........sq.~.....
98d40 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 16 7e 74 00 3f 76 6f 69 64 20 .w.....t..stdlib.hxq.~.~t.?void.
98d60 2a 61 72 72 61 79 2c 20 73 69 7a 65 5f 74 20 63 6f 75 6e 74 2c 20 73 69 7a 65 5f 74 20 73 69 7a *array,.size_t.count,.size_t.siz
98d80 65 2c 20 63 6f 6d 70 61 72 69 73 6f 6e 5f 66 6e 5f 74 20 63 6f 6d 70 61 72 65 74 00 04 76 6f 69 e,.comparison_fn_t.comparet..voi
98da0 64 74 00 05 72 61 69 73 65 73 71 00 7e 00 0a 70 74 01 20 0a 20 20 20 20 20 20 20 20 54 68 65 20 dt..raisesq.~..pt...........The.
98dc0 3c 43 4f 44 45 3e 72 61 69 73 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 6e 64 <CODE>raise</CODE>.function.send
98de0 73 20 74 68 65 20 73 69 67 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 74 s.the.signal.<VAR>signum</VAR>.t
98e00 6f 20 74 68 65 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2e 20 o.the.calling..........process..
98e20 20 49 74 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 69 66 20 73 75 63 63 65 73 73 66 75 6c 20 61 .It.returns.zero.if.successful.a
98e40 6e 64 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 69 66 20 69 74 20 66 61 69 6c 73 2e 0a nd.a.nonzero.value.if.it.fails..
98e60 20 20 20 20 20 20 20 20 20 41 62 6f 75 74 20 74 68 65 20 6f 6e 6c 79 20 72 65 61 73 6f 6e 20 66 .........About.the.only.reason.f
98e80 6f 72 20 66 61 69 6c 75 72 65 20 77 6f 75 6c 64 20 62 65 20 69 66 20 74 68 65 20 76 61 6c 75 65 or.failure.would.be.if.the.value
98ea0 20 6f 66 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 .of.<VAR>signum</VAR>..........i
98ec0 73 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 s.invalid..........sq.~......w..
98ee0 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 16 85 74 ...t..signal.ht..unistd.hxq.~..t
98f00 00 0a 69 6e 74 20 73 69 67 6e 75 6d 74 00 03 69 6e 74 74 00 04 72 61 6e 64 73 71 00 7e 00 0a 70 ..int.signumt..intt..randsq.~..p
98f20 74 00 ae 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 61 6e 64 3c 2f 43 4f 44 45 t...........The.<CODE>rand</CODE
98f40 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 20 70 73 65 75 >.function.returns.the.next.pseu
98f60 64 6f 2d 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 do-random.number.in.the.........
98f80 20 73 65 72 69 65 73 2e 20 20 54 68 65 20 76 61 6c 75 65 20 72 61 6e 67 65 73 20 66 72 6f 6d 20 .series...The.value.ranges.from.
98fa0 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 52 41 4e 44 5f 4d 41 58 <CODE>0</CODE>.to.<CODE>RAND_MAX
98fc0 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 </CODE>..........sq.~......w....
98fe0 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 16 8d 74 00 04 76 6f 69 64 74 00 03 69 6e 74 74 .t..stdlib.hxq.~..t..voidt..intt
99000 00 06 72 61 6e 64 5f 72 73 71 00 7e 00 0a 70 74 02 78 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 ..rand_rsq.~..pt.x.........This.
99020 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 function.returns.a.random.number
99040 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 20 74 6f 20 3c 43 4f 44 45 3e 52 41 4e 44 5f 4d 41 .in.the.range.0.to.<CODE>RAND_MA
99060 58 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6a 75 73 74 20 61 73 20 3c 43 4f 44 45 3e X</CODE>..........just.as.<CODE>
99080 72 61 6e 64 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 61 6c 6c 20 rand</CODE>.does...However,.all.
990a0 69 74 73 20 73 74 61 74 65 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 its.state.is.stored.in.the......
990c0 20 20 20 20 3c 56 41 52 3e 73 65 65 64 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 20 54 ....<VAR>seed</VAR>.argument...T
990e0 68 69 73 20 6d 65 61 6e 73 20 74 68 65 20 52 4e 47 27 73 20 73 74 61 74 65 20 63 61 6e 20 6f 6e his.means.the.RNG's.state.can.on
99100 6c 79 20 68 61 76 65 20 61 73 20 6d 61 6e 79 0a 20 20 20 20 20 20 20 20 20 62 69 74 73 20 61 73 ly.have.as.many..........bits.as
99120 20 74 68 65 20 74 79 70 65 20 3c 43 4f 44 45 3e 75 6e 73 69 67 6e 65 64 20 69 6e 74 3c 2f 43 4f .the.type.<CODE>unsigned.int</CO
99140 44 45 3e 20 68 61 73 2e 20 20 54 68 69 73 20 69 73 20 66 61 72 20 74 6f 6f 20 66 65 77 20 74 6f DE>.has...This.is.far.too.few.to
99160 0a 20 20 20 20 20 20 20 20 20 70 72 6f 76 69 64 65 20 61 20 67 6f 6f 64 20 52 4e 47 2e 0a 20 20 ..........provide.a.good.RNG....
99180 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 .......<br><br>.If.your.program.
991a0 72 65 71 75 69 72 65 73 20 61 20 72 65 65 6e 74 72 61 6e 74 20 52 4e 47 2c 20 77 65 20 72 65 63 requires.a.reentrant.RNG,.we.rec
991c0 6f 6d 6d 65 6e 64 20 79 6f 75 20 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 65 6e ommend.you.use.the..........reen
991e0 74 72 61 6e 74 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f 20 74 68 65 20 53 56 49 44 trant.GNU.extensions.to.the.SVID
99200 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 2e 20 20 54 68 65 0a 20 .random.number.generator...The..
99220 20 20 20 20 20 20 20 20 50 4f 53 49 58 2e 31 20 69 6e 74 65 72 66 61 63 65 20 73 68 6f 75 6c 64 ........POSIX.1.interface.should
99240 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 77 68 65 6e 20 74 68 65 20 47 4e 55 20 65 78 74 65 6e .only.be.used.when.the.GNU.exten
99260 73 69 6f 6e 73 20 61 72 65 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 sions.are.not..........available
99280 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 ..........sq.~......w.....t..std
992a0 6c 69 62 2e 68 78 71 00 7e 16 94 74 00 12 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 73 65 65 64 lib.hxq.~..t..unsigned.int.*seed
992c0 74 00 03 69 6e 74 74 00 06 72 61 6e 64 6f 6d 73 71 00 7e 00 0a 70 74 01 f6 0a 20 20 20 20 20 20 t..intt..randomsq.~..pt.........
992e0 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 78 74 ..This.function.returns.the.next
99300 20 70 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 69 6e 20 74 68 65 20 73 65 71 .pseudo-random.number.in.the.seq
99320 75 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e uence...........The.value.return
99340 65 64 20 72 61 6e 67 65 73 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 74 6f ed.ranges.from.<CODE>0</CODE>.to
99360 20 3c 43 4f 44 45 3e 52 41 4e 44 5f 4d 41 58 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 .<CODE>RAND_MAX</CODE>..........
99380 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 3a 20 54 65 6d 70 6f 72 61 72 69 6c 79 20 74 68 69 73 .<br><br>.Note:.Temporarily.this
993a0 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 64 65 66 69 6e 65 64 20 74 6f 20 72 65 74 75 72 6e 20 .function.was.defined.to.return.
993c0 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 69 6e 74 33 32 5f 74 3c 2f 43 4f 44 45 3e 20 a..........<CODE>int32_t</CODE>.
993e0 76 61 6c 75 65 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 74 68 65 20 72 65 74 75 72 value.to.indicate.that.the.retur
99400 6e 20 76 61 6c 75 65 20 61 6c 77 61 79 73 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 20 20 n.value.always.contains.........
99420 20 33 32 20 62 69 74 73 20 65 76 65 6e 20 69 66 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 6e 74 3c .32.bits.even.if.<CODE>long.int<
99440 2f 43 4f 44 45 3e 20 69 73 20 77 69 64 65 72 2e 20 20 54 68 65 20 73 74 61 6e 64 61 72 64 20 64 /CODE>.is.wider...The.standard.d
99460 65 6d 61 6e 64 73 20 69 74 0a 20 20 20 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 74 6c 79 2e 20 emands.it..........differently..
99480 20 55 73 65 72 73 20 6d 75 73 74 20 61 6c 77 61 79 73 20 62 65 20 61 77 61 72 65 20 6f 66 20 74 .Users.must.always.be.aware.of.t
994a0 68 65 20 33 32 2d 62 69 74 20 6c 69 6d 69 74 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 74 he.32-bit.limitation,..........t
994c0 68 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 hough..........sq.~......w.....t
994e0 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 16 9b 74 00 04 76 6f 69 64 74 00 08 6c 6f 6e 67 20 69 ..stdlib.hxq.~..t..voidt..long.i
99500 6e 74 74 00 08 72 61 6e 64 6f 6d 5f 72 73 71 00 7e 00 0a 70 74 00 f4 0a 20 20 20 20 20 20 20 20 ntt..random_rsq.~..pt...........
99520 54 68 65 20 3c 43 4f 44 45 3e 72 61 6e 64 6f 6d 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 The.<CODE>random_r</CODE>.functi
99540 6f 6e 20 62 65 68 61 76 65 73 20 65 78 61 63 74 6c 79 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 on.behaves.exactly.like.the.<COD
99560 45 3e 72 61 6e 64 6f 6d 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f E>random</CODE>..........functio
99580 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 75 73 65 73 20 61 6e 64 20 6d 6f 64 69 66 69 n.except.that.it.uses.and.modifi
995a0 65 73 20 74 68 65 20 73 74 61 74 65 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 es.the.state.in.the.object......
995c0 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 ....pointed.to.by.the.first.para
995e0 6d 65 74 65 72 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 67 6c 6f 62 61 6c 20 73 74 61 74 meter.instead.of.the.global.stat
99600 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 e..........sq.~......w.....t..st
99620 64 6c 69 62 2e 68 78 71 00 7e 16 a2 74 00 3a 73 74 72 75 63 74 20 72 61 6e 64 6f 6d 5f 64 61 74 dlib.hxq.~..t.:struct.random_dat
99640 61 20 2a 72 65 73 74 72 69 63 74 20 62 75 66 2c 20 69 6e 74 33 32 5f 74 20 2a 72 65 73 74 72 69 a.*restrict.buf,.int32_t.*restri
99660 63 74 20 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 09 72 61 77 6d 65 6d 63 68 72 73 71 00 7e 00 ct.resultt..intt..rawmemchrsq.~.
99680 0a 70 74 05 2c 0a 20 20 20 20 20 20 20 20 4f 66 74 65 6e 20 74 68 65 20 3c 43 4f 44 45 3e 6d 65 .pt.,.........Often.the.<CODE>me
996a0 6d 63 68 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 77 69 74 mchr</CODE>.function.is.used.wit
996c0 68 20 74 68 65 20 6b 6e 6f 77 6c 65 64 67 65 20 74 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 h.the.knowledge.that.the........
996e0 20 20 62 79 74 65 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 ..byte.<VAR>c</VAR>.is.available
99700 20 69 6e 20 74 68 65 20 6d 65 6d 6f 72 79 20 62 6c 6f 63 6b 20 73 70 65 63 69 66 69 65 64 20 62 .in.the.memory.block.specified.b
99720 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 2e 20 20 42 75 74 20 y.the..........parameters...But.
99740 74 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 this.means.that.the.<VAR>size</V
99760 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 6e 6f 74 20 72 65 61 6c 6c 79 0a 20 20 20 20 AR>.parameter.is.not.really.....
99780 20 20 20 20 20 6e 65 65 64 65 64 20 61 6e 64 20 74 68 61 74 20 74 68 65 20 74 65 73 74 73 20 70 .....needed.and.that.the.tests.p
997a0 65 72 66 6f 72 6d 65 64 20 77 69 74 68 20 69 74 20 61 74 20 72 75 6e 74 69 6d 65 20 28 74 6f 20 erformed.with.it.at.runtime.(to.
997c0 63 68 65 63 6b 20 77 68 65 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 6e 64 20 6f check.whether..........the.end.o
997e0 66 20 74 68 65 20 62 6c 6f 63 6b 20 69 73 20 72 65 61 63 68 65 64 29 20 61 72 65 20 6e 6f 74 20 f.the.block.is.reached).are.not.
99800 6e 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 needed...........<br><br>.The.<C
99820 4f 44 45 3e 72 61 77 6d 65 6d 63 68 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 65 78 ODE>rawmemchr</CODE>.function.ex
99840 69 73 74 73 20 66 6f 72 20 6a 75 73 74 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 20 77 68 69 ists.for.just.this.situation.whi
99860 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 75 72 70 72 69 73 69 6e 67 6c 79 20 66 72 65 71 ch.is..........surprisingly.freq
99880 75 65 6e 74 2e 20 20 54 68 65 20 69 6e 74 65 72 66 61 63 65 20 69 73 20 73 69 6d 69 6c 61 72 20 uent...The.interface.is.similar.
998a0 74 6f 20 3c 43 4f 44 45 3e 6d 65 6d 63 68 72 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 0a 20 20 to.<CODE>memchr</CODE>.except...
998c0 20 20 20 20 20 20 20 74 68 61 74 20 74 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 .......that.the.<VAR>size</VAR>.
998e0 70 61 72 61 6d 65 74 65 72 20 69 73 20 6d 69 73 73 69 6e 67 2e 20 20 54 68 65 20 66 75 6e 63 74 parameter.is.missing...The.funct
99900 69 6f 6e 20 77 69 6c 6c 20 6c 6f 6f 6b 20 62 65 79 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 74 68 ion.will.look.beyond..........th
99920 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 e.end.of.the.block.pointed.to.by
99940 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 3e 20 69 6e 20 63 61 73 65 20 74 68 65 20 70 72 .<VAR>block</VAR>.in.case.the.pr
99960 6f 67 72 61 6d 6d 65 72 0a 20 20 20 20 20 20 20 20 20 6d 61 64 65 20 61 6e 20 65 72 72 6f 72 20 ogrammer..........made.an.error.
99980 69 6e 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 20 74 68 65 20 62 79 74 65 20 3c 56 41 52 3e 63 in.assuming.that.the.byte.<VAR>c
999a0 3c 2f 56 41 52 3e 20 69 73 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 2e 0a </VAR>.is.present.in.the.block..
999c0 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 72 65 73 75 6c 74 .........In.this.case.the.result
999e0 20 69 73 20 75 6e 73 70 65 63 69 66 69 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 .is.unspecified...Otherwise.the.
99a00 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 return.value.is.a..........point
99a20 65 72 20 74 6f 20 74 68 65 20 6c 6f 63 61 74 65 64 20 62 79 74 65 2e 0a 20 20 20 20 20 20 20 20 er.to.the.located.byte..........
99a40 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 66 20 73 70 .<br><br>.This.function.is.of.sp
99a60 65 63 69 61 6c 20 69 6e 74 65 72 65 73 74 20 77 68 65 6e 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 ecial.interest.when.looking.for.
99a80 74 68 65 20 65 6e 64 20 6f 66 20 61 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 2e 20 20 53 the.end.of.a..........string...S
99aa0 69 6e 63 65 20 61 6c 6c 20 73 74 72 69 6e 67 73 20 61 72 65 20 74 65 72 6d 69 6e 61 74 65 64 20 ince.all.strings.are.terminated.
99ac0 62 79 20 61 20 6e 75 6c 6c 20 62 79 74 65 20 61 20 63 61 6c 6c 20 6c 69 6b 65 0a 20 20 20 20 20 by.a.null.byte.a.call.like......
99ae0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 ....<br><br>.<pre><br>..........
99b00 20 20 20 72 61 77 6d 65 6d 63 68 72 20 28 73 74 72 2c 20 27 5c 30 27 29 3c 62 72 3e 0a 20 20 20 ...rawmemchr.(str,.'\0')<br>....
99b20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a ......</pre>..........<br><br>..
99b40 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 6e 65 76 65 72 20 67 6f 20 62 65 79 6f 6e 64 20 74 68 .........will.never.go.beyond.th
99b60 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 e.end.of.the.string...........<b
99b80 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 r><br>.This.function.is.a.GNU.ex
99ba0 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 tension..........sq.~......w....
99bc0 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 16 a9 74 00 18 63 6f 6e 73 74 20 76 6f 69 64 20 .t..string.hxq.~..t..const.void.
99be0 2a 62 6c 6f 63 6b 2c 20 69 6e 74 20 63 74 00 06 76 6f 69 64 20 2a 74 00 04 72 65 61 64 73 71 00 *block,.int.ct..void.*t..readsq.
99c00 7e 00 0a 70 74 14 15 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f ~..pt...........The.<CODE>read</
99c20 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 75 70 20 74 6f 20 3c 56 41 52 3e CODE>.function.reads.up.to.<VAR>
99c40 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 66 72 6f 6d 20 74 68 65 20 66 69 6c 65 0a 20 size</VAR>.bytes.from.the.file..
99c60 20 20 20 20 20 20 20 20 77 69 74 68 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c ........with.descriptor.<VAR>fil
99c80 65 64 65 73 3c 2f 56 41 52 3e 2c 20 73 74 6f 72 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 20 edes</VAR>,.storing.the.results.
99ca0 69 6e 20 74 68 65 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 in.the.<VAR>buffer</VAR>........
99cc0 20 20 20 28 54 68 69 73 20 69 73 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 61 20 63 68 ...(This.is.not.necessarily.a.ch
99ce0 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 2c 20 61 6e 64 20 6e 6f 20 74 65 72 6d 69 6e 61 74 69 aracter.string,.and.no.terminati
99d00 6e 67 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61 64 ng.null..........character.is.ad
99d20 64 65 64 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 2d 6f 66 2d 66 69 6c 65 ded.)..........<br><br>.-of-file
99d40 2c 20 6f 6e 20 61 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 20 20 ,.on.a.file.descriptor..........
99d60 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f The.return.value.is.the.number.o
99d80 66 20 62 79 74 65 73 20 61 63 74 75 61 6c 6c 79 20 72 65 61 64 2e 20 20 54 68 69 73 20 6d 69 67 f.bytes.actually.read...This.mig
99da0 68 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 ht.be..........less.than.<VAR>si
99dc0 7a 65 3c 2f 56 41 52 3e 3b 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 72 65 20 ze</VAR>;.for.example,.if.there.
99de0 61 72 65 6e 27 74 20 74 68 61 74 20 6d 61 6e 79 20 62 79 74 65 73 20 6c 65 66 74 0a 20 20 20 20 aren't.that.many.bytes.left.....
99e00 20 20 20 20 20 69 6e 20 74 68 65 20 66 69 6c 65 20 6f 72 20 69 66 20 74 68 65 72 65 20 61 72 65 .....in.the.file.or.if.there.are
99e20 6e 27 74 20 74 68 61 74 20 6d 61 6e 79 20 62 79 74 65 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 n't.that.many.bytes.immediately.
99e40 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 65 78 61 63 74 20 62 65 available...........The.exact.be
99e60 68 61 76 69 6f 72 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 61 74 20 6b 69 6e 64 20 6f 66 20 66 havior.depends.on.what.kind.of.f
99e80 69 6c 65 20 69 74 20 69 73 2e 20 20 4e 6f 74 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 72 ile.it.is...Note.that..........r
99ea0 65 61 64 69 6e 67 20 6c 65 73 73 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e eading.less.than.<VAR>size</VAR>
99ec0 20 62 79 74 65 73 20 69 73 20 6e 6f 74 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 .bytes.is.not.an.error..........
99ee0 20 3c 62 72 3e 3c 62 72 3e 20 41 20 76 61 6c 75 65 20 6f 66 20 7a 65 72 6f 20 69 6e 64 69 63 61 .<br><br>.A.value.of.zero.indica
99f00 74 65 73 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 20 28 65 78 63 65 70 74 20 69 66 20 74 68 65 20 76 tes.end-of-file.(except.if.the.v
99f20 61 6c 75 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f alue.of.the..........<VAR>size</
99f40 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 6c 73 6f 20 7a 65 72 6f 29 2e 20 20 54 68 VAR>.argument.is.also.zero)...Th
99f60 69 73 20 69 73 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 65 64 20 61 6e 20 65 72 72 6f 72 2e 0a 20 is.is.not.considered.an.error...
99f80 20 20 20 20 20 20 20 20 49 66 20 79 6f 75 20 6b 65 65 70 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 ........If.you.keep.calling.<COD
99fa0 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 77 68 69 6c 65 20 61 74 20 65 6e 64 2d 6f 66 2d 66 69 E>read</CODE>.while.at.end-of-fi
99fc0 6c 65 2c 20 69 74 20 77 69 6c 6c 20 6b 65 65 70 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e le,.it.will.keep..........return
99fe0 69 6e 67 20 7a 65 72 6f 20 61 6e 64 20 64 6f 69 6e 67 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 2e ing.zero.and.doing.nothing.else.
9a000 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 45 3e 72 65 61 64 ..........<br><br>.If.<CODE>read
9a020 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 63 68 61 </CODE>.returns.at.least.one.cha
9a040 72 61 63 74 65 72 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 79 20 79 6f 75 20 63 61 6e 0a racter,.there.is.no.way.you.can.
9a060 20 20 20 20 20 20 20 20 20 74 65 6c 6c 20 77 68 65 74 68 65 72 20 65 6e 64 2d 6f 66 2d 66 69 6c .........tell.whether.end-of-fil
9a080 65 20 77 61 73 20 72 65 61 63 68 65 64 2e 20 20 42 75 74 20 69 66 20 79 6f 75 20 64 69 64 20 72 e.was.reached...But.if.you.did.r
9a0a0 65 61 63 68 20 74 68 65 20 65 6e 64 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 65 78 74 20 each.the.end,.the..........next.
9a0c0 72 65 61 64 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 read.will.return.zero...........
9a0e0 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 2c 20 3c 43 <br><br>.In.case.of.an.error,.<C
9a100 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 2d 31 2e 20 20 54 68 65 ODE>read</CODE>.returns.-1...The
9a120 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c .following..........<CODE>errno<
9a140 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 /CODE>.error.conditions.are.defi
9a160 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 ned.for.this.function:..........
9a180 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 <br><br>.<DL>...........<DT><COD
9a1a0 45 3e 45 41 47 41 49 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f E>EAGAIN</CODE>.<DD>..........No
9a1c0 72 6d 61 6c 6c 79 2c 20 77 68 65 6e 20 6e 6f 20 69 6e 70 75 74 20 69 73 20 69 6d 6d 65 64 69 61 rmally,.when.no.input.is.immedia
9a1e0 74 65 6c 79 20 61 76 61 69 6c 61 62 6c 65 2c 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 tely.available,.<CODE>read</CODE
9a200 3e 20 77 61 69 74 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 73 6f 6d 65 20 69 6e 70 75 74 2e >.waits.for..........some.input.
9a220 20 20 42 75 74 20 69 66 20 74 68 65 20 3c 43 4f 44 45 3e 4f 5f 4e 4f 4e 42 4c 4f 43 4b 3c 2f 43 ..But.if.the.<CODE>O_NONBLOCK</C
9a240 4f 44 45 3e 20 66 6c 61 67 20 69 73 20 73 65 74 20 66 6f 72 20 74 68 65 20 66 69 6c 65 0a 20 20 ODE>.flag.is.set.for.the.file...
9a260 20 20 20 20 20 20 20 2c 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 .......,.<CODE>read</CODE>.retur
9a280 6e 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 20 20 20 ns.immediately.without..........
9a2a0 72 65 61 64 69 6e 67 20 61 6e 79 20 64 61 74 61 2c 20 61 6e 64 20 72 65 70 6f 72 74 73 20 74 68 reading.any.data,.and.reports.th
9a2c0 69 73 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 43 6f 6d 70 is.error...........<br><br>.Comp
9a2e0 61 74 69 62 69 6c 69 74 79 20 4e 6f 74 65 3a 20 4d 6f 73 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 atibility.Note:.Most.versions.of
9a300 20 42 53 44 20 55 6e 69 78 20 75 73 65 20 61 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 .BSD.Unix.use.a.different.......
9a320 20 20 20 65 72 72 6f 72 20 63 6f 64 65 20 66 6f 72 20 74 68 69 73 3a 20 3c 43 4f 44 45 3e 45 57 ...error.code.for.this:.<CODE>EW
9a340 4f 55 4c 44 42 4c 4f 43 4b 3c 2f 43 4f 44 45 3e 2e 20 20 49 6e 20 74 68 65 20 47 4e 55 20 6c 69 OULDBLOCK</CODE>...In.the.GNU.li
9a360 62 72 61 72 79 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 57 4f 55 4c 44 42 4c 4f 43 brary,..........<CODE>EWOULDBLOC
9a380 4b 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 45 K</CODE>.is.an.alias.for.<CODE>E
9a3a0 41 47 41 49 4e 3c 2f 43 4f 44 45 3e 2c 20 73 6f 20 69 74 20 64 6f 65 73 6e 27 74 20 6d 61 74 74 AGAIN</CODE>,.so.it.doesn't.matt
9a3c0 65 72 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 6e 61 6d 65 20 79 6f 75 20 75 73 65 2e 0a er..........which.name.you.use..
9a3e0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d .........<br><br>.On.some.system
9a400 73 2c 20 72 65 61 64 69 6e 67 20 61 20 6c 61 72 67 65 20 61 6d 6f 75 6e 74 20 6f 66 20 64 61 74 s,.reading.a.large.amount.of.dat
9a420 61 20 66 72 6f 6d 20 61 20 63 68 61 72 61 63 74 65 72 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 a.from.a.character.special......
9a440 20 20 20 20 66 69 6c 65 20 63 61 6e 20 61 6c 73 6f 20 66 61 69 6c 20 77 69 74 68 20 3c 43 4f 44 ....file.can.also.fail.with.<COD
9a460 45 3e 45 41 47 41 49 4e 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 20 6b 65 72 6e 65 6c 20 63 61 E>EAGAIN</CODE>.if.the.kernel.ca
9a480 6e 6e 6f 74 20 66 69 6e 64 20 65 6e 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 70 68 79 73 69 63 nnot.find.enough..........physic
9a4a0 61 6c 20 6d 65 6d 6f 72 79 20 74 6f 20 6c 6f 63 6b 20 64 6f 77 6e 20 74 68 65 20 75 73 65 72 27 al.memory.to.lock.down.the.user'
9a4c0 73 20 70 61 67 65 73 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6d 69 74 65 64 20 74 6f 0a 20 20 20 s.pages...This.is.limited.to....
9a4e0 20 20 20 20 20 20 64 65 76 69 63 65 73 20 74 68 61 74 20 74 72 61 6e 73 66 65 72 20 77 69 74 68 ......devices.that.transfer.with
9a500 20 64 69 72 65 63 74 20 6d 65 6d 6f 72 79 20 61 63 63 65 73 73 20 69 6e 74 6f 20 74 68 65 20 75 .direct.memory.access.into.the.u
9a520 73 65 72 27 73 20 6d 65 6d 6f 72 79 2c 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 6d 65 61 ser's.memory,..........which.mea
9a540 6e 73 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 65 72 6d 69 6e 61 6c 73 ns.it.does.not.include.terminals
9a560 2c 20 73 69 6e 63 65 20 74 68 65 79 20 61 6c 77 61 79 73 20 75 73 65 0a 20 20 20 20 20 20 20 20 ,.since.they.always.use.........
9a580 20 73 65 70 61 72 61 74 65 20 62 75 66 66 65 72 73 20 69 6e 73 69 64 65 20 74 68 65 20 6b 65 72 .separate.buffers.inside.the.ker
9a5a0 6e 65 6c 2e 20 20 54 68 69 73 20 70 72 6f 62 6c 65 6d 20 6e 65 76 65 72 20 68 61 70 70 65 6e 73 nel...This.problem.never.happens
9a5c0 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 47 4e 55 20 73 79 73 74 65 6d 2e 0a 20 20 20 .in.the..........GNU.system.....
9a5e0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 79 20 63 6f 6e 64 69 74 69 6f 6e 20 74 68 61 ......<br><br>.Any.condition.tha
9a600 74 20 63 6f 75 6c 64 20 72 65 73 75 6c 74 20 69 6e 20 3c 43 4f 44 45 3e 45 41 47 41 49 4e 3c 2f t.could.result.in.<CODE>EAGAIN</
9a620 43 4f 44 45 3e 20 63 61 6e 20 69 6e 73 74 65 61 64 20 72 65 73 75 6c 74 20 69 6e 20 61 0a 20 20 CODE>.can.instead.result.in.a...
9a640 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f .......successful.<CODE>read</CO
9a660 44 45 3e 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 66 65 77 65 72 20 62 79 74 65 73 20 74 68 DE>.which.returns.fewer.bytes.th
9a680 61 6e 20 72 65 71 75 65 73 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 43 61 6c 6c 69 6e 67 20 3c an.requested...........Calling.<
9a6a0 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 61 67 61 69 6e 20 69 6d 6d 65 64 69 61 74 65 CODE>read</CODE>.again.immediate
9a6c0 6c 79 20 77 6f 75 6c 64 20 72 65 73 75 6c 74 20 69 6e 20 3c 43 4f 44 45 3e 45 41 47 41 49 4e 3c ly.would.result.in.<CODE>EAGAIN<
9a6e0 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 /CODE>...........<br><br>.<DT><C
9a700 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 ODE>EBADF</CODE>.<DD>..........T
9a720 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 he.<VAR>filedes</VAR>.argument.i
9a740 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2c 0a 20 s.not.a.valid.file.descriptor,..
9a760 20 20 20 20 20 20 20 20 6f 72 20 69 73 20 6e 6f 74 20 6f 70 65 6e 20 66 6f 72 20 72 65 61 64 69 ........or.is.not.open.for.readi
9a780 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e ng...........<br><br>.<DT><CODE>
9a7a0 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 EINTR</CODE>.<DD>..........<CODE
9a7c0 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 77 61 73 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 20 >read</CODE>.was.interrupted.by.
9a7e0 61 20 73 69 67 6e 61 6c 20 77 68 69 6c 65 20 69 74 20 77 61 73 20 77 61 69 74 69 6e 67 20 66 6f a.signal.while.it.was.waiting.fo
9a800 72 20 69 6e 70 75 74 2e 0a 20 20 20 20 20 20 20 20 20 2e 20 20 41 20 73 69 67 6e 61 6c 20 77 69 r.input..............A.signal.wi
9a820 6c 6c 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 79 20 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 ll.not.necessary.cause..........
9a840 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 65 74 75 72 6e 20 3c 43 4f 44 <CODE>read</CODE>.to.return.<COD
9a860 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 3b 20 69 74 20 6d 61 79 20 69 6e 73 74 65 61 64 20 72 E>EINTR</CODE>;.it.may.instead.r
9a880 65 73 75 6c 74 20 69 6e 20 61 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c 20 3c esult.in.a..........successful.<
9a8a0 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 66 CODE>read</CODE>.which.returns.f
9a8c0 65 77 65 72 20 62 79 74 65 73 20 74 68 61 6e 20 72 65 71 75 65 73 74 65 64 2e 0a 20 20 20 20 20 ewer.bytes.than.requested.......
9a8e0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4f 3c 2f 43 4f 44 45 ....<br><br>.<DT><CODE>EIO</CODE
9a900 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 46 6f 72 20 6d 61 6e 79 20 64 65 76 69 63 65 73 >.<DD>..........For.many.devices
9a920 2c 20 61 6e 64 20 66 6f 72 20 64 69 73 6b 20 66 69 6c 65 73 2c 20 74 68 69 73 20 65 72 72 6f 72 ,.and.for.disk.files,.this.error
9a940 20 63 6f 64 65 20 69 6e 64 69 63 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 61 20 68 61 72 64 77 .code.indicates..........a.hardw
9a960 61 72 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f are.error...........<br><br>.<CO
9a980 44 45 3e 45 49 4f 3c 2f 43 4f 44 45 3e 20 61 6c 73 6f 20 6f 63 63 75 72 73 20 77 68 65 6e 20 61 DE>EIO</CODE>.also.occurs.when.a
9a9a0 20 62 61 63 6b 67 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 74 72 69 65 73 20 74 6f 20 72 65 61 .background.process.tries.to.rea
9a9c0 64 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 d.from.the..........controlling.
9a9e0 74 65 72 6d 69 6e 61 6c 2c 20 61 6e 64 20 74 68 65 20 6e 6f 72 6d 61 6c 20 61 63 74 69 6f 6e 20 terminal,.and.the.normal.action.
9aa00 6f 66 20 73 74 6f 70 70 69 6e 67 20 74 68 65 20 70 72 6f 63 65 73 73 20 62 79 0a 20 20 20 20 20 of.stopping.the.process.by......
9aa20 20 20 20 20 73 65 6e 64 69 6e 67 20 69 74 20 61 20 3c 43 4f 44 45 3e 53 49 47 54 54 49 4e 3c 2f ....sending.it.a.<CODE>SIGTTIN</
9aa40 43 4f 44 45 3e 20 73 69 67 6e 61 6c 20 69 73 6e 27 74 20 77 6f 72 6b 69 6e 67 2e 20 20 54 68 69 CODE>.signal.isn't.working...Thi
9aa60 73 20 6d 69 67 68 74 20 68 61 70 70 65 6e 20 69 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 s.might.happen.if..........the.s
9aa80 69 67 6e 61 6c 20 69 73 20 62 65 69 6e 67 20 62 6c 6f 63 6b 65 64 20 6f 72 20 69 67 6e 6f 72 65 ignal.is.being.blocked.or.ignore
9aaa0 64 2c 20 6f 72 20 62 65 63 61 75 73 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 d,.or.because.the.process.group.
9aac0 69 73 0a 20 20 20 20 20 20 20 20 20 6f 72 70 68 61 6e 65 64 2e 20 20 2c 20 66 6f 72 20 6d 6f 72 is..........orphaned...,.for.mor
9aae0 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6a 6f 62 20 63 6f 6e 74 72 6f 6c 2c e.information.about.job.control,
9ab00 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 53 69 67 6e 61 6c 20 48 61 6e 64 6c 69 6e 67 2c 20 66 ..........and.Signal.Handling,.f
9ab20 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 73 69 67 6e 61 6c 73 2e 0a 20 20 or.information.about.signals....
9ab40 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c .......<br><br>.<DT><CODE>EINVAL
9ab60 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 73 6f 6d 65 20 73 79 </CODE>.<DD>..........In.some.sy
9ab80 73 74 65 6d 73 2c 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 61 20 63 68 61 72 61 stems,.when.reading.from.a.chara
9aba0 63 74 65 72 20 6f 72 20 62 6c 6f 63 6b 20 64 65 76 69 63 65 2c 20 70 6f 73 69 74 69 6f 6e 0a 20 cter.or.block.device,.position..
9abc0 20 20 20 20 20 20 20 20 61 6e 64 20 73 69 7a 65 20 6f 66 66 73 65 74 73 20 6d 75 73 74 20 62 65 ........and.size.offsets.must.be
9abe0 20 61 6c 69 67 6e 65 64 20 74 6f 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 62 6c 6f 63 6b 20 73 .aligned.to.a.particular.block.s
9ac00 69 7a 65 2e 20 20 54 68 69 73 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 ize...This.error..........indica
9ac20 74 65 73 20 74 68 61 74 20 74 68 65 20 6f 66 66 73 65 74 73 20 77 65 72 65 20 6e 6f 74 20 70 72 tes.that.the.offsets.were.not.pr
9ac40 6f 70 65 72 6c 79 20 61 6c 69 67 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 operly.aligned...........</DL>..
9ac60 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 ........<br><br>.Please.note.tha
9ac80 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 64 20 3c 43 4f t.there.is.no.function.named.<CO
9aca0 44 45 3e 72 65 61 64 36 34 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 69 73 20 6e 6f 74 0a 20 DE>read64</CODE>...This.is.not..
9acc0 20 20 20 20 20 20 20 20 6e 65 63 65 73 73 61 72 79 20 73 69 6e 63 65 20 74 68 69 73 20 66 75 6e ........necessary.since.this.fun
9ace0 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 64 69 72 65 63 74 6c 79 20 6d 6f 64 69 66 79 20 6f ction.does.not.directly.modify.o
9ad00 72 20 68 61 6e 64 6c 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c 79 20 77 r.handle.the..........possibly.w
9ad20 69 64 65 20 66 69 6c 65 20 6f 66 66 73 65 74 2e 20 20 53 69 6e 63 65 20 74 68 65 20 6b 65 72 6e ide.file.offset...Since.the.kern
9ad40 65 6c 20 68 61 6e 64 6c 65 73 20 74 68 69 73 20 73 74 61 74 65 0a 20 20 20 20 20 20 20 20 20 69 el.handles.this.state..........i
9ad60 6e 74 65 72 6e 61 6c 6c 79 2c 20 74 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e nternally,.the.<CODE>read</CODE>
9ad80 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 61 6c 6c 20 63 61 .function.can.be.used.for.all.ca
9ada0 73 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 ses...........<br><br>.This.func
9adc0 74 69 6f 6e 20 69 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 tion.is.a.cancellation.point.in.
9ade0 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 multi-threaded.programs...This..
9ae00 20 20 20 20 20 20 20 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 ........is.a.problem.if.the.thre
9ae20 61 64 20 61 6c 6c 6f 63 61 74 65 73 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b ad.allocates.some.resources.(lik
9ae40 65 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 e.memory,.file..........descript
9ae60 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 ors,.semaphores.or.whatever).at.
9ae80 74 68 65 20 74 69 6d 65 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 the.time.<CODE>read</CODE>.is...
9aea0 20 20 20 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 .......called...If.the.thread.ge
9aec0 74 73 20 63 61 6e 63 65 6c 65 64 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 ts.canceled.these.resources.stay
9aee0 20 61 6c 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 .allocated..........until.the.pr
9af00 6f 67 72 61 6d 20 65 6e 64 73 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 2c 20 63 61 6c 6c ogram.ends...To.avoid.this,.call
9af20 73 20 74 6f 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 s.to.<CODE>read</CODE>.should.be
9af40 0a 20 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c ..........protected.using.cancel
9af60 6c 61 74 69 6f 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 lation.handlers...........<br><b
9af80 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f r>.The.<CODE>read</CODE>.functio
9afa0 6e 20 69 73 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 66 6f n.is.the.underlying.primitive.fo
9afc0 72 20 61 6c 6c 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 r.all.of.the..........functions.
9afe0 74 68 61 74 20 72 65 61 64 20 66 72 6f 6d 20 73 74 72 65 61 6d 73 2c 20 73 75 63 68 20 61 73 20 that.read.from.streams,.such.as.
9b000 3c 43 4f 44 45 3e 66 67 65 74 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e <CODE>fgetc</CODE>..........sq.~
9b020 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 16 b0 74 00 26 ......w.....t..unistd.hxq.~..t.&
9b040 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 76 6f 69 64 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f int.filedes,.void.*buffer,.size_
9b060 74 20 73 69 7a 65 74 00 07 73 73 69 7a 65 5f 74 74 00 07 72 65 61 64 64 69 72 73 71 00 7e 00 0a t.sizet..ssize_tt..readdirsq.~..
9b080 70 74 04 3c 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 pt.<.........This.function.reads
9b0a0 20 74 68 65 20 6e 65 78 74 20 65 6e 74 72 79 20 66 72 6f 6d 20 74 68 65 20 64 69 72 65 63 74 6f .the.next.entry.from.the.directo
9b0c0 72 79 2e 20 20 49 74 20 6e 6f 72 6d 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ry...It.normally..........return
9b0e0 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74 75 72 65 20 63 6f 6e 74 61 s.a.pointer.to.a.structure.conta
9b100 69 6e 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 66 69 6c 65 ining.information.about.the.file
9b120 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 73 74 72 75 63 74 75 72 65 20 69 73 20 73 74 61 ...........This.structure.is.sta
9b140 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 61 6e 64 20 63 61 6e 20 62 65 20 72 65 77 tically.allocated.and.can.be.rew
9b160 72 69 74 74 65 6e 20 62 79 20 61 0a 20 20 20 20 20 20 20 20 20 73 75 62 73 65 71 75 65 6e 74 20 ritten.by.a..........subsequent.
9b180 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 72 74 61 62 69 6c call...........<br><br>.Portabil
9b1a0 69 74 79 20 4e 6f 74 65 3a 20 4f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 20 3c 43 4f 44 45 3e ity.Note:.On.some.systems.<CODE>
9b1c0 72 65 61 64 64 69 72 3c 2f 43 4f 44 45 3e 20 6d 61 79 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 readdir</CODE>.may.not..........
9b1e0 72 65 74 75 72 6e 20 65 6e 74 72 69 65 73 20 66 6f 72 20 3c 54 54 3e 2e 3c 2f 54 54 3e 20 61 6e return.entries.for.<TT>.</TT>.an
9b200 64 20 3c 54 54 3e 2e 2e 3c 2f 54 54 3e 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 65 73 65 d.<TT>..</TT>,.even.though.these
9b220 20 61 72 65 20 61 6c 77 61 79 73 0a 20 20 20 20 20 20 20 20 20 76 61 6c 69 64 20 66 69 6c 65 20 .are.always..........valid.file.
9b240 6e 61 6d 65 73 20 69 6e 20 61 6e 79 20 64 69 72 65 63 74 6f 72 79 2e 20 20 2e 0a 20 20 20 20 20 names.in.any.directory..........
9b260 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 6f 72 ....<br><br>.If.there.are.no.mor
9b280 65 20 65 6e 74 72 69 65 73 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 61 6e e.entries.in.the.directory.or.an
9b2a0 20 65 72 72 6f 72 20 69 73 20 64 65 74 65 63 74 65 64 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f .error.is.detected,..........<CO
9b2c0 44 45 3e 72 65 61 64 64 69 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c DE>readdir</CODE>.returns.a.null
9b2e0 20 70 6f 69 6e 74 65 72 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 .pointer...The.following.<CODE>e
9b300 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 64 69 rrno</CODE>.error..........condi
9b320 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 tions.are.defined.for.this.funct
9b340 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 ion:..........<br><br>.<DL>.....
9b360 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 ......<DT><CODE>EBADF</CODE>.<DD
9b380 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 64 69 72 73 74 72 65 61 6d 3c 2f 56 >..........The.<VAR>dirstream</V
9b3a0 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 AR>.argument.is.not.valid.......
9b3c0 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 ....</DL>..........<br><br>.<COD
9b3e0 45 3e 72 65 61 64 64 69 72 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 74 68 72 65 61 64 20 73 E>readdir</CODE>.is.not.thread.s
9b400 61 66 65 2e 20 20 4d 75 6c 74 69 70 6c 65 20 74 68 72 65 61 64 73 20 75 73 69 6e 67 0a 20 20 20 afe...Multiple.threads.using....
9b420 20 20 20 20 20 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 3c 2f 43 4f 44 45 3e 20 6f 6e 20 74 68 ......<CODE>readdir</CODE>.on.th
9b440 65 20 73 61 6d 65 20 3c 56 41 52 3e 64 69 72 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 6d 61 79 20 e.same.<VAR>dirstream</VAR>.may.
9b460 6f 76 65 72 77 72 69 74 65 20 74 68 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 76 61 overwrite.the.return..........va
9b480 6c 75 65 2e 20 20 55 73 65 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 5f 72 3c 2f 43 4f 44 45 3e lue...Use.<CODE>readdir_r</CODE>
9b4a0 20 77 68 65 6e 20 74 68 69 73 20 69 73 20 63 72 69 74 69 63 61 6c 2e 0a 20 20 20 20 20 20 20 20 .when.this.is.critical..........
9b4c0 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 71 00 7e 16 sq.~......w.....t..dirent.hxq.~.
9b4e0 b7 74 00 0e 44 49 52 20 2a 64 69 72 73 74 72 65 61 6d 74 00 0f 73 74 72 75 63 74 20 64 69 72 65 .t..DIR.*dirstreamt..struct.dire
9b500 6e 74 20 2a 74 00 09 72 65 61 64 64 69 72 36 34 73 71 00 7e 00 0a 70 74 01 aa 0a 20 20 20 20 20 nt.*t..readdir64sq.~..pt........
9b520 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 36 34 3c 2f 43 4f 44 45 3e 20 66 75 ...The.<CODE>readdir64</CODE>.fu
9b540 6e 63 74 69 6f 6e 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 72 65 nction.is.just.like.the.<CODE>re
9b560 61 64 64 69 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 65 addir</CODE>.function..........e
9b580 78 63 65 70 74 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 xcept.that.it.returns.a.pointer.
9b5a0 74 6f 20 61 20 72 65 63 6f 72 64 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 to.a.record.of.type.<CODE>struct
9b5c0 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 6e 74 36 34 3c 2f 43 4f 44 45 3e 2e 20 20 53 6f 6d 65 ..........dirent64</CODE>...Some
9b5e0 20 6f 66 20 74 68 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 69 73 20 64 61 74 61 20 74 79 70 .of.the.members.of.this.data.typ
9b600 65 20 28 6e 6f 74 61 62 6c 79 20 3c 43 4f 44 45 3e 64 5f 69 6e 6f 3c 2f 43 4f 44 45 3e 29 0a 20 e.(notably.<CODE>d_ino</CODE>)..
9b620 20 20 20 20 20 20 20 20 6d 69 67 68 74 20 68 61 76 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 73 ........might.have.a.different.s
9b640 69 7a 65 20 74 6f 20 61 6c 6c 6f 77 20 6c 61 72 67 65 20 66 69 6c 65 73 79 73 74 65 6d 73 2e 0a ize.to.allow.large.filesystems..
9b660 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 61 6c 6c 20 6f 74 68 65 72 20 61 .........<br><br>.In.all.other.a
9b680 73 70 65 63 74 73 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 spects.this.function.is.equivale
9b6a0 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 nt.to.<CODE>readdir</CODE>......
9b6c0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 ....sq.~......w.....t..dirent.hx
9b6e0 71 00 7e 16 be 74 00 0e 44 49 52 20 2a 64 69 72 73 74 72 65 61 6d 74 00 11 73 74 72 75 63 74 20 q.~..t..DIR.*dirstreamt..struct.
9b700 64 69 72 65 6e 74 36 34 20 2a 74 00 0b 72 65 61 64 64 69 72 36 34 5f 72 73 71 00 7e 00 0a 70 74 dirent64.*t..readdir64_rsq.~..pt
9b720 01 82 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 36 34 5f 72 ...........The.<CODE>readdir64_r
9b740 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 </CODE>.function.is.equivalent.t
9b760 6f 20 74 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 5f 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 o.the.<CODE>readdir_r</CODE>....
9b780 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 74 61 ......function.except.that.it.ta
9b7a0 6b 65 73 20 70 61 72 61 6d 65 74 65 72 73 20 6f 66 20 62 61 73 65 20 74 79 70 65 20 3c 43 4f 44 kes.parameters.of.base.type.<COD
9b7c0 45 3e 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 6e 74 36 34 3c 2f 43 4f 44 45 E>struct..........dirent64</CODE
9b7e0 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 64 69 72 65 6e 74 >.instead.of.<CODE>struct.dirent
9b800 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 20 73 65 63 6f 6e 64 20 61 6e 64 20 74 68 69 72 64 0a </CODE>.in.the.second.and.third.
9b820 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 2e 20 20 54 68 65 20 73 61 6d 65 20 70 72 65 .........position...The.same.pre
9b840 63 61 75 74 69 6f 6e 73 20 6d 65 6e 74 69 6f 6e 65 64 20 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 cautions.mentioned.in.the.docume
9b860 6e 74 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 ntation.of..........<CODE>readdi
9b880 72 5f 72 3c 2f 43 4f 44 45 3e 20 61 6c 73 6f 20 61 70 70 6c 79 20 68 65 72 65 2e 0a 20 20 20 20 r_r</CODE>.also.apply.here......
9b8a0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 ....sq.~......w.....t..dirent.hx
9b8c0 71 00 7e 16 c5 74 00 40 44 49 52 20 2a 64 69 72 73 74 72 65 61 6d 2c 20 73 74 72 75 63 74 20 64 q.~..t.@DIR.*dirstream,.struct.d
9b8e0 69 72 65 6e 74 36 34 20 2a 65 6e 74 72 79 2c 20 73 74 72 75 63 74 20 64 69 72 65 6e 74 36 34 20 irent64.*entry,.struct.dirent64.
9b900 2a 2a 72 65 73 75 6c 74 74 00 03 69 6e 74 74 00 09 72 65 61 64 64 69 72 5f 72 73 71 00 7e 00 0a **resultt..intt..readdir_rsq.~..
9b920 70 74 09 1a 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 pt...........This.function.is.th
9b940 65 20 72 65 65 6e 74 72 61 6e 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 72 65 61 e.reentrant.version.of.<CODE>rea
9b960 64 64 69 72 3c 2f 43 4f 44 45 3e 2e 20 20 4c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 ddir</CODE>...Like..........<COD
9b980 45 3e 72 65 61 64 64 69 72 3c 2f 43 4f 44 45 3e 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 E>readdir</CODE>.it.returns.the.
9b9a0 6e 65 78 74 20 65 6e 74 72 79 20 66 72 6f 6d 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 2e 20 20 next.entry.from.the.directory...
9b9c0 42 75 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 70 72 65 76 65 6e 74 20 63 6f 6e 66 6c 69 63 74 But.to..........prevent.conflict
9b9e0 73 20 62 65 74 77 65 65 6e 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 72 75 6e 6e 69 6e 67 s.between.simultaneously.running
9ba00 20 74 68 72 65 61 64 73 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 .threads.the.result.is..........
9ba20 6e 6f 74 20 73 74 6f 72 65 64 20 69 6e 20 73 74 61 74 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 not.stored.in.statically.allocat
9ba40 65 64 20 6d 65 6d 6f 72 79 2e 20 20 49 6e 73 74 65 61 64 20 74 68 65 20 61 72 67 75 6d 65 6e 74 ed.memory...Instead.the.argument
9ba60 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 65 6e 74 72 79 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 ..........<VAR>entry</VAR>.point
9ba80 73 20 74 6f 20 61 20 70 6c 61 63 65 20 74 6f 20 73 74 6f 72 65 20 74 68 65 20 72 65 73 75 6c 74 s.to.a.place.to.store.the.result
9baa0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 72 6d 61 6c 6c 79 20 3c 43 4f ...........<br><br>.Normally.<CO
9bac0 44 45 3e 72 65 61 64 64 69 72 5f 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f DE>readdir_r</CODE>.returns.zero
9bae0 20 61 6e 64 20 73 65 74 73 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 .and.sets.<CODE>*<VAR>result</VA
9bb00 52 3e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 56 41 52 3e 65 6e 74 72 79 R></CODE>..........to.<VAR>entry
9bb20 3c 2f 56 41 52 3e 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 6f 72 65 20 65 6e </VAR>...If.there.are.no.more.en
9bb40 74 72 69 65 73 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 61 6e 0a 20 20 20 tries.in.the.directory.or.an....
9bb60 20 20 20 20 20 20 65 72 72 6f 72 20 69 73 20 64 65 74 65 63 74 65 64 2c 20 3c 43 4f 44 45 3e 72 ......error.is.detected,.<CODE>r
9bb80 65 61 64 64 69 72 5f 72 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 eaddir_r</CODE>.sets.<CODE>*<VAR
9bba0 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 74 6f 20 61 0a 20 20 20 20 20 20 >result</VAR></CODE>.to.a.......
9bbc0 20 20 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 6e 6f ...null.pointer.and.returns.a.no
9bbe0 6e 7a 65 72 6f 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 61 6c 73 6f 20 73 74 6f 72 65 64 20 69 6e nzero.error.code,.also.stored.in
9bc00 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 2c 20 61 73 ..........<CODE>errno</CODE>,.as
9bc20 20 64 65 73 63 72 69 62 65 64 20 66 6f 72 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 3c 2f 43 4f .described.for.<CODE>readdir</CO
9bc40 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 72 74 61 62 69 6c 69 DE>...........<br><br>.Portabili
9bc60 74 79 20 4e 6f 74 65 3a 20 4f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 20 3c 43 4f 44 45 3e 72 ty.Note:.On.some.systems.<CODE>r
9bc80 65 61 64 64 69 72 5f 72 3c 2f 43 4f 44 45 3e 20 6d 61 79 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 eaddir_r</CODE>.may.not.........
9bca0 20 72 65 74 75 72 6e 20 61 20 4e 55 4c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 74 72 69 6e 67 20 .return.a.NUL.terminated.string.
9bcc0 66 6f 72 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 2c 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 for.the.file.name,.even.when.the
9bce0 72 65 20 69 73 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 64 5f 72 65 63 6c 65 6e re.is.no..........<CODE>d_reclen
9bd00 3c 2f 43 4f 44 45 3e 20 66 69 65 6c 64 20 69 6e 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 64 69 </CODE>.field.in.<CODE>struct.di
9bd20 72 65 6e 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 rent</CODE>.and.the.file........
9bd40 20 20 6e 61 6d 65 20 69 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 73 69 ..name.is.the.maximum.allowed.si
9bd60 7a 65 2e 20 20 4d 6f 64 65 72 6e 20 73 79 73 74 65 6d 73 20 61 6c 6c 20 68 61 76 65 20 74 68 65 ze...Modern.systems.all.have.the
9bd80 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 64 5f 72 65 63 6c 65 6e 3c 2f 43 4f 44 45 3e 20 ..........<CODE>d_reclen</CODE>.
9bda0 66 69 65 6c 64 2c 20 61 6e 64 20 6f 6e 20 6f 6c 64 20 73 79 73 74 65 6d 73 20 6d 75 6c 74 69 2d field,.and.on.old.systems.multi-
9bdc0 74 68 72 65 61 64 69 6e 67 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 63 72 69 74 69 63 threading.is.not..........critic
9bde0 61 6c 2e 20 20 49 6e 20 61 6e 79 20 63 61 73 65 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 al...In.any.case.there.is.no.suc
9be00 68 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 74 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 h.problem.with.the.<CODE>readdir
9be20 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2c 20 73 6f 20 74 68 </CODE>..........function,.so.th
9be40 61 74 20 65 76 65 6e 20 6f 6e 20 73 79 73 74 65 6d 73 20 77 69 74 68 6f 75 74 20 74 68 65 20 3c at.even.on.systems.without.the.<
9be60 43 4f 44 45 3e 64 5f 72 65 63 6c 65 6e 3c 2f 43 4f 44 45 3e 20 6d 65 6d 62 65 72 20 6f 6e 65 0a CODE>d_reclen</CODE>.member.one.
9be80 20 20 20 20 20 20 20 20 20 63 6f 75 6c 64 20 75 73 65 20 6d 75 6c 74 69 70 6c 65 20 74 68 72 65 .........could.use.multiple.thre
9bea0 61 64 73 20 62 79 20 75 73 69 6e 67 20 65 78 74 65 72 6e 61 6c 20 6c 6f 63 6b 69 6e 67 2e 0a 20 ads.by.using.external.locking...
9bec0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 61 6c 73 6f 20 69 6d 70 6f ........<br><br>.It.is.also.impo
9bee0 72 74 61 6e 74 20 74 6f 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 rtant.to.look.at.the.definition.
9bf00 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 64 69 72 of.the.<CODE>struct..........dir
9bf20 65 6e 74 3c 2f 43 4f 44 45 3e 20 74 79 70 65 2e 20 20 53 69 6d 70 6c 79 20 70 61 73 73 69 6e 67 ent</CODE>.type...Simply.passing
9bf40 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 6f 62 6a 65 63 74 20 6f 66 20 74 68 69 73 20 .a.pointer.to.an.object.of.this.
9bf60 74 79 70 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 65 63 6f 6e 64 20 70 61 72 type.for..........the.second.par
9bf80 61 6d 65 74 65 72 20 6f 66 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 5f 72 3c 2f 43 4f 44 45 3e ameter.of.<CODE>readdir_r</CODE>
9bfa0 20 6d 69 67 68 74 20 6e 6f 74 20 62 65 20 65 6e 6f 75 67 68 2e 20 20 53 6f 6d 65 0a 20 20 20 20 .might.not.be.enough...Some.....
9bfc0 20 20 20 20 20 73 79 73 74 65 6d 73 20 64 6f 6e 27 74 20 64 65 66 69 6e 65 20 74 68 65 20 3c 43 .....systems.don't.define.the.<C
9bfe0 4f 44 45 3e 64 5f 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 65 6c 65 6d 65 6e 74 20 73 75 66 66 69 63 ODE>d_name</CODE>.element.suffic
9c000 69 65 6e 74 6c 79 20 6c 6f 6e 67 2e 20 20 49 6e 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 63 iently.long...In..........this.c
9c020 61 73 65 20 74 68 65 20 75 73 65 72 20 68 61 73 20 74 6f 20 70 72 6f 76 69 64 65 20 61 64 64 69 ase.the.user.has.to.provide.addi
9c040 74 69 6f 6e 61 6c 20 73 70 61 63 65 2e 20 20 54 68 65 72 65 20 6d 75 73 74 20 62 65 20 72 6f 6f tional.space...There.must.be.roo
9c060 6d 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 3c 43 4f 44 45 3e 4e 41 m..........for.at.least.<CODE>NA
9c080 4d 45 5f 4d 41 58 20 2b 20 31 3c 2f 43 4f 44 45 3e 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 ME_MAX.+.1</CODE>.characters.in.
9c0a0 74 68 65 20 3c 43 4f 44 45 3e 64 5f 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 61 72 72 61 79 2e 0a 20 the.<CODE>d_name</CODE>.array...
9c0c0 20 20 20 20 20 20 20 20 43 6f 64 65 20 74 6f 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 72 65 61 64 64 ........Code.to.call.<CODE>readd
9c0e0 69 72 5f 72 3c 2f 43 4f 44 45 3e 20 63 6f 75 6c 64 20 6c 6f 6f 6b 20 6c 69 6b 65 20 74 68 69 73 ir_r</CODE>.could.look.like.this
9c100 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 :..........<br><br>.<pre><br>...
9c120 20 20 20 20 20 20 20 20 20 75 6e 69 6f 6e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 7b 3c .........union<br>............{<
9c140 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 20 64 69 72 65 6e 74 20 64 br>..............struct.dirent.d
9c160 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 62 5b 6f 66 66 73 65 74 ;<br>..............char.b[offset
9c180 6f 66 20 28 73 74 72 75 63 74 20 64 69 72 65 6e 74 2c 20 64 5f 6e 61 6d 65 29 20 2b 20 4e 41 4d of.(struct.dirent,.d_name).+.NAM
9c1a0 45 5f 4d 41 58 20 2b 20 31 5d 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 7d 20 75 3b 3c E_MAX.+.1];<br>............}.u;<
9c1c0 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 69 66 20 28 72 65 61 64 br>..........<br><br>...if.(read
9c1e0 64 69 72 5f 72 20 28 64 69 72 2c 20 26 75 2e 64 2c 20 26 72 65 73 29 20 3d 3d 20 30 29 3c 62 72 dir_r.(dir,.&u.d,.&res).==.0)<br
9c200 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 6d 61 6c 6c 3e 2e 2e 2e 3c 2f 73 6d 61 6c 6c >..............<small>...</small
9c220 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 ><br>..........</pre>.........sq
9c240 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 71 00 7e 16 cc 74 .~......w.....t..dirent.hxq.~..t
9c260 00 3c 44 49 52 20 2a 64 69 72 73 74 72 65 61 6d 2c 20 73 74 72 75 63 74 20 64 69 72 65 6e 74 20 .<DIR.*dirstream,.struct.dirent.
9c280 2a 65 6e 74 72 79 2c 20 73 74 72 75 63 74 20 64 69 72 65 6e 74 20 2a 2a 72 65 73 75 6c 74 74 00 *entry,.struct.dirent.**resultt.
9c2a0 03 69 6e 74 74 00 08 72 65 61 64 6c 69 6e 6b 73 71 00 7e 00 0a 70 74 07 47 0a 20 20 20 20 20 20 .intt..readlinksq.~..pt.G.......
9c2c0 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 61 64 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 ..The.<CODE>readlink</CODE>.func
9c2e0 74 69 6f 6e 20 67 65 74 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 73 79 6d 62 6f tion.gets.the.value.of.the.symbo
9c300 6c 69 63 20 6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c lic.link..........<VAR>filename<
9c320 2f 56 41 52 3e 2e 20 20 54 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 74 68 61 74 20 74 68 65 20 6c /VAR>...The.file.name.that.the.l
9c340 69 6e 6b 20 70 6f 69 6e 74 73 20 74 6f 20 69 73 20 63 6f 70 69 65 64 20 69 6e 74 6f 0a 20 20 20 ink.points.to.is.copied.into....
9c360 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 66 ......<VAR>buffer</VAR>...This.f
9c380 69 6c 65 20 6e 61 6d 65 20 73 74 72 69 6e 67 20 69 73 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 ile.name.string.is.<EM>not</EM>.
9c3a0 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 3b 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e null-terminated;..........<CODE>
9c3c0 72 65 61 64 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 6e 6f 72 6d 61 6c 6c 79 20 72 65 74 75 72 6e 73 readlink</CODE>.normally.returns
9c3e0 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 63 6f 70 69 65 64 .the.number.of.characters.copied
9c400 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 ...The..........<VAR>size</VAR>.
9c420 61 72 67 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e argument.specifies.the.maximum.n
9c440 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 63 6f 70 79 2c 0a 20 20 20 umber.of.characters.to.copy,....
9c460 20 20 20 20 20 20 75 73 75 61 6c 6c 79 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 73 69 7a ......usually.the.allocation.siz
9c480 65 20 6f 66 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 e.of.<VAR>buffer</VAR>..........
9c4a0 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 65 71 .<br><br>.If.the.return.value.eq
9c4c0 75 61 6c 73 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 79 6f 75 20 63 61 6e 6e 6f 74 uals.<VAR>size</VAR>,.you.cannot
9c4e0 20 74 65 6c 6c 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 74 68 .tell.whether.or.not..........th
9c500 65 72 65 20 77 61 73 20 72 6f 6f 6d 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 65 6e 74 69 72 ere.was.room.to.return.the.entir
9c520 65 20 6e 61 6d 65 2e 20 20 53 6f 20 6d 61 6b 65 20 61 20 62 69 67 67 65 72 20 62 75 66 66 65 72 e.name...So.make.a.bigger.buffer
9c540 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 72 65 61 64 6c 69 6e .and..........call.<CODE>readlin
9c560 6b 3c 2f 43 4f 44 45 3e 20 61 67 61 69 6e 2e 20 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d k</CODE>.again...Here.is.an.exam
9c580 70 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e ple:..........<br><br>.<pre><br>
9c5a0 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 72 65 ..........char.*<br>..........re
9c5c0 61 64 6c 69 6e 6b 5f 6d 61 6c 6c 6f 63 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e adlink_malloc.(const.char.*filen
9c5e0 61 6d 65 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 ame)<br>..........{<br>.........
9c600 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 31 30 30 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 ...int.size.=.100;<br>..........
9c620 20 20 63 68 61 72 20 2a 62 75 66 66 65 72 20 3d 20 4e 55 4c 4c 3b 3c 62 72 3e 0a 20 20 20 20 20 ..char.*buffer.=.NULL;<br>......
9c640 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 77 68 69 6c 65 20 28 31 29 3c 62 72 3e 0a 20 20 20 ....<br><br>...while.(1)<br>....
9c660 20 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 ..........{<br>................b
9c680 75 66 66 65 72 20 3d 20 28 63 68 61 72 20 2a 29 20 78 72 65 61 6c 6c 6f 63 20 28 62 75 66 66 65 uffer.=.(char.*).xrealloc.(buffe
9c6a0 72 2c 20 73 69 7a 65 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 r,.size);<br>................int
9c6c0 20 6e 63 68 61 72 73 20 3d 20 72 65 61 64 6c 69 6e 6b 20 28 66 69 6c 65 6e 61 6d 65 2c 20 62 75 .nchars.=.readlink.(filename,.bu
9c6e0 66 66 65 72 2c 20 73 69 7a 65 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ffer,.size);<br>................
9c700 69 66 20 28 6e 63 68 61 72 73 20 3c 20 30 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 if.(nchars.<.0)<br>.............
9c720 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 72 .....{<br>....................fr
9c740 65 65 20 28 62 75 66 66 65 72 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ee.(buffer);<br>................
9c760 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ....return.NULL;<br>............
9c780 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e ......}<br>................if.(n
9c7a0 63 68 61 72 73 20 3c 20 73 69 7a 65 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 chars.<.size)<br>...............
9c7c0 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 ...return.buffer;<br>...........
9c7e0 20 20 20 20 20 73 69 7a 65 20 2a 3d 20 32 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .....size.*=.2;<br>.............
9c800 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c .}<br>..........}<br>..........<
9c820 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 76 61 6c 75 65 20 /pre>..........<br><br>.A.value.
9c840 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 of.<CODE>-1</CODE>.is.returned.i
9c860 6e 20 63 61 73 65 20 6f 66 20 65 72 72 6f 72 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f n.case.of.error...In.addition.to
9c880 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 75 73 75 61 6c 20 66 69 6c 65 20 6e 61 6d 65 20 65 72 .the..........usual.file.name.er
9c8a0 72 6f 72 73 20 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 rors.,.the.following..........<C
9c8c0 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e ODE>errno</CODE>.error.condition
9c8e0 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a s.are.defined.for.this.function:
9c900 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 ..........<br><br>.<DL>.........
9c920 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ..<DT><CODE>EINVAL</CODE>.<DD>..
9c940 20 20 20 20 20 20 20 20 54 68 65 20 6e 61 6d 65 64 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 61 20 ........The.named.file.is.not.a.
9c960 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e symbolic.link...........<br><br>
9c980 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 .<DT><CODE>EIO</CODE>.<DD>......
9c9a0 20 20 20 20 41 20 68 61 72 64 77 61 72 65 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 77 68 ....A.hardware.error.occurred.wh
9c9c0 69 6c 65 20 72 65 61 64 69 6e 67 20 6f 72 20 77 72 69 74 69 6e 67 20 64 61 74 61 20 6f 6e 20 74 ile.reading.or.writing.data.on.t
9c9e0 68 65 20 64 69 73 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 he.disk...........</DL>.........
9ca00 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 16 sq.~......w.....t..unistd.hxq.~.
9ca20 d3 74 00 2f 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 63 68 61 72 20 2a .t./const.char.*filename,.char.*
9ca40 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 03 69 6e 74 74 00 05 72 65 61 64 buffer,.size_t.sizet..intt..read
9ca60 76 73 71 00 7e 00 0a 70 74 02 b8 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 vsq.~..pt...........<br><br>.The
9ca80 20 3c 43 4f 44 45 3e 72 65 61 64 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 .<CODE>readv</CODE>.function.rea
9caa0 64 73 20 64 61 74 61 20 66 72 6f 6d 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 ds.data.from.<VAR>filedes</VAR>.
9cac0 61 6e 64 20 73 63 61 74 74 65 72 73 20 69 74 0a 20 20 20 20 20 20 20 20 20 69 6e 74 6f 20 74 68 and.scatters.it..........into.th
9cae0 65 20 62 75 66 66 65 72 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 3c 56 41 52 3e 76 65 63 74 e.buffers.described.in.<VAR>vect
9cb00 6f 72 3c 2f 56 41 52 3e 2c 20 77 68 69 63 68 20 69 73 20 74 61 6b 65 6e 20 74 6f 20 62 65 0a 20 or</VAR>,.which.is.taken.to.be..
9cb20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 73 74 72 75 63 74 75 ........<VAR>count</VAR>.structu
9cb40 72 65 73 20 6c 6f 6e 67 2e 20 20 41 73 20 65 61 63 68 20 62 75 66 66 65 72 20 69 73 20 66 69 6c res.long...As.each.buffer.is.fil
9cb60 6c 65 64 2c 20 64 61 74 61 20 69 73 20 73 65 6e 74 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 led,.data.is.sent.to.the........
9cb80 20 20 6e 65 78 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 ..next...........<br><br>.Note.t
9cba0 68 61 74 20 3c 43 4f 44 45 3e 72 65 61 64 76 3c 2f 43 4f 44 45 3e 20 69 73 20 6e 6f 74 20 67 75 hat.<CODE>readv</CODE>.is.not.gu
9cbc0 61 72 61 6e 74 65 65 64 20 74 6f 20 66 69 6c 6c 20 61 6c 6c 20 74 68 65 20 62 75 66 66 65 72 73 aranteed.to.fill.all.the.buffers
9cbe0 2e 0a 20 20 20 20 20 20 20 20 20 49 74 20 6d 61 79 20 73 74 6f 70 20 61 74 20 61 6e 79 20 70 6f ...........It.may.stop.at.any.po
9cc00 69 6e 74 2c 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 72 65 61 73 6f 6e 73 20 3c 43 4f 44 45 3e int,.for.the.same.reasons.<CODE>
9cc20 72 65 61 64 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e read</CODE>.would...........<br>
9cc40 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 63 6f 75 6e 74 <br>.The.return.value.is.a.count
9cc60 20 6f 66 20 62 79 74 65 73 20 28 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 62 75 66 66 65 72 73 29 .of.bytes.(<EM>not</EM>.buffers)
9cc80 20 72 65 61 64 2c 20 30 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 69 6e 67 20 65 6e 64 .read,.0..........indicating.end
9cca0 2d 6f 66 2d 66 69 6c 65 2c 20 6f 72 20 2d 31 20 69 6e 64 69 63 61 74 69 6e 67 20 61 6e 20 65 72 -of-file,.or.-1.indicating.an.er
9ccc0 72 6f 72 2e 20 20 54 68 65 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f ror...The.possible..........erro
9cce0 72 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6e 20 3c 43 4f 44 45 3e 72 65 61 64 rs.are.the.same.as.in.<CODE>read
9cd00 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 </CODE>...........<br><br>......
9cd20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 73 79 73 2f 75 69 6f 2e 68 78 ...sq.~......w.....t..sys/uio.hx
9cd40 71 00 7e 16 da 74 00 32 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 q.~..t.2int.filedes,.const.struc
9cd60 74 20 69 6f 76 65 63 20 2a 76 65 63 74 6f 72 2c 20 69 6e 74 20 63 6f 75 6e 74 74 00 07 73 73 69 t.iovec.*vector,.int.countt..ssi
9cd80 7a 65 5f 74 74 00 07 72 65 61 6c 6c 6f 63 73 71 00 7e 00 0a 70 74 03 78 0a 20 20 20 20 20 20 20 ze_tt..reallocsq.~..pt.x........
9cda0 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 .The.<CODE>realloc</CODE>.functi
9cdc0 6f 6e 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b on.changes.the.size.of.the.block
9cde0 20 77 68 6f 73 65 20 61 64 64 72 65 73 73 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e .whose.address.is..........<VAR>
9ce00 70 74 72 3c 2f 56 41 52 3e 20 74 6f 20 62 65 20 3c 56 41 52 3e 6e 65 77 73 69 7a 65 3c 2f 56 41 ptr</VAR>.to.be.<VAR>newsize</VA
9ce20 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 69 6e 63 65 20 74 68 65 20 R>...........<br><br>.Since.the.
9ce40 73 70 61 63 65 20 61 66 74 65 72 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b space.after.the.end.of.the.block
9ce60 20 6d 61 79 20 62 65 20 69 6e 20 75 73 65 2c 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c 2f 43 .may.be.in.use,.<CODE>realloc</C
9ce80 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6d 61 79 20 66 69 6e 64 20 69 74 20 6e 65 63 65 73 73 ODE>..........may.find.it.necess
9cea0 61 72 79 20 74 6f 20 63 6f 70 79 20 74 68 65 20 62 6c 6f 63 6b 20 74 6f 20 61 20 6e 65 77 20 61 ary.to.copy.the.block.to.a.new.a
9cec0 64 64 72 65 73 73 20 77 68 65 72 65 20 6d 6f 72 65 20 66 72 65 65 0a 20 20 20 20 20 20 20 20 20 ddress.where.more.free..........
9cee0 73 70 61 63 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2e 20 20 54 68 65 20 76 61 6c 75 65 20 6f space.is.available...The.value.o
9cf00 66 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 6e 65 f.<CODE>realloc</CODE>.is.the.ne
9cf20 77 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 2e w.address.of.the..........block.
9cf40 20 20 49 66 20 74 68 65 20 62 6c 6f 63 6b 20 6e 65 65 64 73 20 74 6f 20 62 65 20 6d 6f 76 65 64 ..If.the.block.needs.to.be.moved
9cf60 2c 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 63 6f 70 69 65 73 20 74 68 ,.<CODE>realloc</CODE>.copies.th
9cf80 65 20 6f 6c 64 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 73 2e 0a 20 20 20 20 20 20 20 e.old..........contents.........
9cfa0 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 70 61 73 73 20 61 20 6e 75 6c 6c 20 70 6f ..<br><br>.If.you.pass.a.null.po
9cfc0 69 6e 74 65 72 20 66 6f 72 20 3c 56 41 52 3e 70 74 72 3c 2f 56 41 52 3e 2c 20 3c 43 4f 44 45 3e inter.for.<VAR>ptr</VAR>,.<CODE>
9cfe0 72 65 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 62 65 68 61 76 65 73 20 6a 75 73 74 0a 20 20 20 20 realloc</CODE>.behaves.just.....
9d000 20 20 20 20 20 6c 69 6b 65 20 3c 73 61 6d 70 3e 6d 61 6c 6c 6f 63 20 28 3c 56 41 52 3e 6e 65 77 .....like.<samp>malloc.(<VAR>new
9d020 73 69 7a 65 3c 2f 56 41 52 3e 29 3c 2f 73 61 6d 70 3e 2e 20 20 54 68 69 73 20 63 61 6e 20 62 65 size</VAR>)</samp>...This.can.be
9d040 20 63 6f 6e 76 65 6e 69 65 6e 74 2c 20 62 75 74 20 62 65 77 61 72 65 0a 20 20 20 20 20 20 20 20 .convenient,.but.beware.........
9d060 20 74 68 61 74 20 6f 6c 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 28 62 65 66 .that.older.implementations.(bef
9d080 6f 72 65 20 49 53 4f 20 43 29 20 6d 61 79 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 74 68 69 73 0a ore.ISO.C).may.not.support.this.
9d0a0 20 20 20 20 20 20 20 20 20 62 65 68 61 76 69 6f 72 2c 20 61 6e 64 20 77 69 6c 6c 20 70 72 6f 62 .........behavior,.and.will.prob
9d0c0 61 62 6c 79 20 63 72 61 73 68 20 77 68 65 6e 20 3c 43 4f 44 45 3e 72 65 61 6c 6c 6f 63 3c 2f 43 ably.crash.when.<CODE>realloc</C
9d0e0 4f 44 45 3e 20 69 73 20 70 61 73 73 65 64 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 ODE>.is.passed.a.null..........p
9d100 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a ointer..........sq.~......w.....
9d120 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 16 e1 74 00 19 76 6f 69 64 20 2a 70 74 72 2c 20 73 t..stdlib.hxq.~..t..void.*ptr,.s
9d140 69 7a 65 5f 74 20 6e 65 77 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 08 72 65 61 6c 70 61 74 ize_t.newsizet..void.*t..realpat
9d160 68 73 71 00 7e 00 0a 70 74 04 c9 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 63 hsq.~..pt...........<br><br>.A.c
9d180 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 72 65 61 6c 70 61 74 68 3c 2f 43 4f 44 45 3e 20 77 68 65 all.to.<CODE>realpath</CODE>.whe
9d1a0 72 65 20 74 68 65 20 3c 56 41 52 3e 72 65 73 6f 6c 76 65 64 3c 2f 56 41 52 3e 20 70 61 72 61 6d re.the.<VAR>resolved</VAR>.param
9d1c0 65 74 65 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 eter.is..........<CODE>NULL</COD
9d1e0 45 3e 20 62 65 68 61 76 65 73 20 65 78 61 63 74 6c 79 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 63 61 E>.behaves.exactly.like.<CODE>ca
9d200 6e 6f 6e 69 63 61 6c 69 7a 65 5f 66 69 6c 65 5f 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 nonicalize_file_name</CODE>...Th
9d220 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 6f 63 61 74 65 73 20 61 20 e..........function.allocates.a.
9d240 62 75 66 66 65 72 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 61 6e 64 20 72 65 74 buffer.for.the.file.name.and.ret
9d260 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 20 69 74 2e 20 20 urns.a.pointer.to..........it...
9d280 49 66 20 3c 56 41 52 3e 72 65 73 6f 6c 76 65 64 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 3c 43 If.<VAR>resolved</VAR>.is.not.<C
9d2a0 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 69 74 20 70 6f 69 6e 74 73 20 74 6f 20 61 20 62 ODE>NULL</CODE>.it.points.to.a.b
9d2c0 75 66 66 65 72 20 69 6e 74 6f 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 74 68 65 20 72 65 uffer.into..........which.the.re
9d2e0 73 75 6c 74 20 69 73 20 63 6f 70 69 65 64 2e 20 20 49 74 20 69 73 20 74 68 65 20 63 61 6c 6c 65 sult.is.copied...It.is.the.calle
9d300 72 73 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 61 6c rs.responsibility.to..........al
9d320 6c 6f 63 61 74 65 20 61 20 62 75 66 66 65 72 20 77 68 69 63 68 20 69 73 20 6c 61 72 67 65 20 65 locate.a.buffer.which.is.large.e
9d340 6e 6f 75 67 68 2e 20 20 4f 6e 20 73 79 73 74 65 6d 73 20 77 68 69 63 68 20 64 65 66 69 6e 65 0a nough...On.systems.which.define.
9d360 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 50 41 54 48 5f 4d 41 58 3c 2f 43 4f 44 45 3e 20 74 .........<CODE>PATH_MAX</CODE>.t
9d380 68 69 73 20 6d 65 61 6e 73 20 74 68 65 20 62 75 66 66 65 72 20 6d 75 73 74 20 62 65 20 6c 61 72 his.means.the.buffer.must.be.lar
9d3a0 67 65 20 65 6e 6f 75 67 68 20 66 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 70 61 74 68 6e 61 6d ge.enough.for.a..........pathnam
9d3c0 65 20 6f 66 20 74 68 69 73 20 73 69 7a 65 2e 20 20 46 6f 72 20 73 79 73 74 65 6d 73 20 77 69 74 e.of.this.size...For.systems.wit
9d3e0 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 70 61 74 68 6e 61 6d 65 hout.limitations.on.the.pathname
9d400 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 74 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 ..........length.the.requirement
9d420 20 63 61 6e 6e 6f 74 20 62 65 20 6d 65 74 20 61 6e 64 20 70 72 6f 67 72 61 6d 73 20 73 68 6f 75 .cannot.be.met.and.programs.shou
9d440 6c 64 20 6e 6f 74 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 72 65 61 6c 70 ld.not.call..........<CODE>realp
9d460 61 74 68 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 6e 79 74 68 69 6e 67 20 62 75 74 20 3c 43 4f ath</CODE>.with.anything.but.<CO
9d480 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 74 68 65 20 73 65 63 6f 6e 64 20 70 61 DE>NULL</CODE>.for.the.second.pa
9d4a0 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 65 20 6f rameter...........<br><br>.One.o
9d4c0 74 68 65 72 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 62 75 66 66 ther.difference.is.that.the.buff
9d4e0 65 72 20 3c 56 41 52 3e 72 65 73 6f 6c 76 65 64 3c 2f 56 41 52 3e 20 28 69 66 20 6e 6f 6e 7a 65 er.<VAR>resolved</VAR>.(if.nonze
9d500 72 6f 29 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 70 61 ro).will..........contain.the.pa
9d520 72 74 20 6f 66 20 74 68 65 20 70 61 74 68 20 63 6f 6d 70 6f 6e 65 6e 74 20 77 68 69 63 68 20 64 rt.of.the.path.component.which.d
9d540 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 oes.not.exist.or.is.not.........
9d560 20 72 65 61 64 61 62 6c 65 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e .readable.if.the.function.return
9d580 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 s.<CODE>NULL</CODE>.and.<CODE>er
9d5a0 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 rno</CODE>.is.set.to..........<C
9d5c0 4f 44 45 3e 45 41 43 43 45 53 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 45 4e 4f 45 4e ODE>EACCES</CODE>.or.<CODE>ENOEN
9d5e0 54 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 T</CODE>...........<br><br>.This
9d600 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 64 .function.is.declared.in.<TT>std
9d620 6c 69 62 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 lib.h</TT>..........sq.~......w.
9d640 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 16 e8 74 00 32 63 6f 6e 73 74 20 63 68 ....t..stdlib.hxq.~..t.2const.ch
9d660 61 72 20 2a 72 65 73 74 72 69 63 74 20 6e 61 6d 65 2c 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 ar.*restrict.name,.char.*restric
9d680 74 20 72 65 73 6f 6c 76 65 64 74 00 06 63 68 61 72 20 2a 74 00 04 72 65 63 76 73 71 00 7e 00 0a t.resolvedt..char.*t..recvsq.~..
9d6a0 70 74 06 6b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 63 76 3c 2f 43 4f 44 pt.k.........The.<CODE>recv</COD
9d6c0 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 65 61 64 3c 2f E>.function.is.like.<CODE>read</
9d6e0 43 4f 44 45 3e 2c 20 62 75 74 20 77 69 74 68 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 CODE>,.but.with.the.additional..
9d700 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 2e 20 ........flags.<VAR>flags</VAR>..
9d720 20 54 68 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 52 3e 66 6c 61 .The.possible.values.of.<VAR>fla
9d740 67 73 3c 2f 56 41 52 3e 20 61 72 65 20 64 65 73 63 72 69 62 65 64 0a 20 20 20 20 20 20 20 20 20 gs</VAR>.are.described..........
9d760 69 6e 20 53 6f 63 6b 65 74 20 44 61 74 61 20 4f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 in.Socket.Data.Options..........
9d780 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 20 69 73 .<br><br>.If.nonblocking.mode.is
9d7a0 20 73 65 74 20 66 6f 72 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 .set.for.<VAR>socket</VAR>,.and.
9d7c0 6e 6f 20 64 61 74 61 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 20 20 no.data.are.available.to........
9d7e0 20 20 62 65 20 72 65 61 64 2c 20 3c 43 4f 44 45 3e 72 65 63 76 3c 2f 43 4f 44 45 3e 20 66 61 69 ..be.read,.<CODE>recv</CODE>.fai
9d800 6c 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 72 61 74 68 65 72 20 74 68 61 6e 20 77 61 69 74 69 ls.immediately.rather.than.waiti
9d820 6e 67 2e 20 20 2c 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6e 6f 6e ng...,.for.information.about.non
9d840 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e blocking.mode...........<br><br>
9d860 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 .This.function.returns.the.numbe
9d880 72 20 6f 66 20 62 79 74 65 73 20 72 65 63 65 69 76 65 64 2c 20 6f 72 20 3c 43 4f 44 45 3e 2d 31 r.of.bytes.received,.or.<CODE>-1
9d8a0 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 </CODE>.on.failure...........The
9d8c0 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 .following.<CODE>errno</CODE>.er
9d8e0 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 ror.conditions.are.defined.for.t
9d900 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 his.function:..........<br><br>.
9d920 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f <DL>...........<DT><CODE>EBADF</
9d940 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 6f 63 CODE>.<DD>..........The.<VAR>soc
9d960 6b 65 74 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 ket</VAR>.argument.is.not.a.vali
9d980 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e d.file.descriptor...........<br>
9d9a0 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 53 4f 43 4b 3c 2f 43 4f 44 45 3e 0a 3c <br>.<DT><CODE>ENOTSOCK</CODE>.<
9d9c0 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 DD>..........The.descriptor.<VAR
9d9e0 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 73 6f 63 6b 65 74 2e 0a 20 >socket</VAR>.is.not.a.socket...
9da00 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 57 4f 55 4c ........<br><br>.<DT><CODE>EWOUL
9da20 44 42 4c 4f 43 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f 6e 62 DBLOCK</CODE>.<DD>..........Nonb
9da40 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 20 68 61 73 20 62 65 65 6e 20 73 65 74 20 6f 6e 20 74 68 65 locking.mode.has.been.set.on.the
9da60 20 73 6f 63 6b 65 74 2c 20 61 6e 64 20 74 68 65 20 72 65 61 64 20 6f 70 65 72 61 74 69 6f 6e 0a .socket,.and.the.read.operation.
9da80 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20 62 6c 6f 63 6b 2e 20 20 28 4e 6f 72 6d 61 6c 6c 79 .........would.block...(Normally
9daa0 2c 20 3c 43 4f 44 45 3e 72 65 63 76 3c 2f 43 4f 44 45 3e 20 62 6c 6f 63 6b 73 20 75 6e 74 69 6c ,.<CODE>recv</CODE>.blocks.until
9dac0 20 74 68 65 72 65 20 69 73 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 61 76 61 69 6c 61 62 .there.is.input..........availab
9dae0 6c 65 20 74 6f 20 62 65 20 72 65 61 64 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 le.to.be.read.)..........<br><br
9db00 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 >.<DT><CODE>EINTR</CODE>.<DD>...
9db20 20 20 20 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 69 6e 74 65 72 72 75 .......The.operation.was.interru
9db40 70 74 65 64 20 62 79 20 61 20 73 69 67 6e 61 6c 20 62 65 66 6f 72 65 20 61 6e 79 20 64 61 74 61 pted.by.a.signal.before.any.data
9db60 20 77 61 73 20 72 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c .was.read......................<
9db80 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 43 4f 4e 4e 3c 2f 43 4f 44 45 br><br>.<DT><CODE>ENOTCONN</CODE
9dba0 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 6e 65 76 65 72 20 63 6f 6e 6e 65 63 >.<DD>..........You.never.connec
9dbc0 74 65 64 20 74 68 69 73 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a ted.this.socket...........</DL>.
9dbe0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .........<br><br>.This.function.
9dc00 69 73 20 64 65 66 69 6e 65 64 20 61 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 is.defined.as.a.cancellation.poi
9dc20 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 0a 20 20 20 20 20 20 20 20 20 70 72 nt.in.multi-threaded..........pr
9dc40 6f 67 72 61 6d 73 2c 20 73 6f 20 6f 6e 65 20 68 61 73 20 74 6f 20 62 65 20 70 72 65 70 61 72 65 ograms,.so.one.has.to.be.prepare
9dc60 64 20 66 6f 72 20 74 68 69 73 20 61 6e 64 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 0a 20 20 d.for.this.and.make.sure.that...
9dc80 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 .......allocated.resources.(like
9dca0 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 73 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 .memory,.files.descriptors,.sema
9dcc0 70 68 6f 72 65 73 20 6f 72 0a 20 20 20 20 20 20 20 20 20 77 68 61 74 65 76 65 72 29 20 61 72 65 phores.or..........whatever).are
9dce0 20 66 72 65 65 64 20 65 76 65 6e 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 69 73 20 63 61 6e .freed.even.if.the.thread.is.can
9dd00 63 65 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 celed..........sq.~......w.....t
9dd20 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 16 ef 74 00 30 69 6e 74 20 73 6f 63 6b 65 ..sys/socket.hxq.~..t.0int.socke
9dd40 74 2c 20 76 6f 69 64 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 69 6e t,.void.*buffer,.size_t.size,.in
9dd60 74 20 66 6c 61 67 73 74 00 03 69 6e 74 74 00 08 72 65 63 76 66 72 6f 6d 73 71 00 7e 00 0a 70 74 t.flagst..intt..recvfromsq.~..pt
9dd80 05 bb 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 63 76 66 72 6f 6d 3c 2f 43 ...........The.<CODE>recvfrom</C
9dda0 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 6f 6e 65 20 70 61 63 6b 65 74 20 66 ODE>.function.reads.one.packet.f
9ddc0 72 6f 6d 20 74 68 65 20 73 6f 63 6b 65 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 6f 63 rom.the.socket..........<VAR>soc
9dde0 6b 65 74 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 3c 56 41 52 3e 62 ket</VAR>.into.the.buffer.<VAR>b
9de00 75 66 66 65 72 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 uffer</VAR>...The.<VAR>size</VAR
9de20 3e 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 73 20 74 68 >.argument..........specifies.th
9de40 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 6f 20 62 65 20 e.maximum.number.of.bytes.to.be.
9de60 72 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 70 read...........<br><br>.If.the.p
9de80 61 63 6b 65 74 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f acket.is.longer.than.<VAR>size</
9dea0 56 41 52 3e 20 62 79 74 65 73 2c 20 74 68 65 6e 20 79 6f 75 20 67 65 74 20 74 68 65 20 66 69 72 VAR>.bytes,.then.you.get.the.fir
9dec0 73 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 st..........<VAR>size</VAR>.byte
9dee0 73 20 6f 66 20 74 68 65 20 70 61 63 6b 65 74 20 61 6e 64 20 74 68 65 20 72 65 73 74 20 6f 66 20 s.of.the.packet.and.the.rest.of.
9df00 74 68 65 20 70 61 63 6b 65 74 20 69 73 20 6c 6f 73 74 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 the.packet.is.lost...........The
9df20 72 65 27 73 20 6e 6f 20 77 61 79 20 74 6f 20 72 65 61 64 20 74 68 65 20 72 65 73 74 20 6f 66 20 re's.no.way.to.read.the.rest.of.
9df40 74 68 65 20 70 61 63 6b 65 74 2e 20 20 54 68 75 73 2c 20 77 68 65 6e 20 79 6f 75 20 75 73 65 20 the.packet...Thus,.when.you.use.
9df60 61 0a 20 20 20 20 20 20 20 20 20 70 61 63 6b 65 74 20 70 72 6f 74 6f 63 6f 6c 2c 20 79 6f 75 20 a..........packet.protocol,.you.
9df80 6d 75 73 74 20 61 6c 77 61 79 73 20 6b 6e 6f 77 20 68 6f 77 20 6c 6f 6e 67 20 61 20 70 61 63 6b must.always.know.how.long.a.pack
9dfa0 65 74 20 74 6f 20 65 78 70 65 63 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 et.to.expect...........<br><br>.
9dfc0 54 68 65 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6c 65 6e The.<VAR>addr</VAR>.and.<VAR>len
9dfe0 67 74 68 2d 70 74 72 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 75 73 65 64 gth-ptr</VAR>.arguments.are.used
9e000 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 64 64 72 65 73 73 20 .to.return.the..........address.
9e020 77 68 65 72 65 20 74 68 65 20 70 61 63 6b 65 74 20 63 61 6d 65 20 66 72 6f 6d 2e 20 20 2e 20 20 where.the.packet.came.from......
9e040 46 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 73 6f 63 6b 65 74 20 69 6e 20 74 68 65 20 6c 6f 63 For.a..........socket.in.the.loc
9e060 61 6c 20 64 6f 6d 61 69 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 69 6e 66 6f 72 6d 61 74 69 6f al.domain.the.address.informatio
9e080 6e 20 77 6f 6e 27 74 20 62 65 20 6d 65 61 6e 69 6e 67 66 75 6c 2c 0a 20 20 20 20 20 20 20 20 20 n.won't.be.meaningful,..........
9e0a0 73 69 6e 63 65 20 79 6f 75 20 63 61 6e 27 74 20 72 65 61 64 20 74 68 65 20 61 64 64 72 65 73 73 since.you.can't.read.the.address
9e0c0 20 6f 66 20 73 75 63 68 20 61 20 73 6f 63 6b 65 74 2e 20 59 6f 75 20 63 61 6e 20 73 70 65 63 69 .of.such.a.socket..You.can.speci
9e0e0 66 79 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 61 73 20 74 68 65 20 3c 56 41 52 3e 61 64 fy.a.null.pointer.as.the.<VAR>ad
9e100 64 72 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 69 66 20 79 6f dr</VAR>.argument..........if.yo
9e120 75 20 61 72 65 20 6e 6f 74 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 74 68 69 73 20 69 6e 66 u.are.not.interested.in.this.inf
9e140 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 ormation...........<br><br>.The.
9e160 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 65 64 <VAR>flags</VAR>.are.interpreted
9e180 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 72 65 63 76 3c .the.same.way.as.for.<CODE>recv<
9e1a0 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 /CODE>.............The.return.va
9e1c0 6c 75 65 20 61 6e 64 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 lue.and.error.conditions........
9e1e0 20 20 61 72 65 20 61 6c 73 6f 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 ..are.also.the.same.as.for.<CODE
9e200 3e 72 65 63 76 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 >recv</CODE>...........<br><br>.
9e220 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 20 61 20 63 61 This.function.is.defined.as.a.ca
9e240 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 ncellation.point.in.multi-thread
9e260 65 64 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2c 20 73 6f 20 6f 6e 65 20 68 61 73 ed..........programs,.so.one.has
9e280 20 74 6f 20 62 65 20 70 72 65 70 61 72 65 64 20 66 6f 72 20 74 68 69 73 20 61 6e 64 20 6d 61 6b .to.be.prepared.for.this.and.mak
9e2a0 65 20 73 75 72 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 72 e.sure.that..........allocated.r
9e2c0 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 73 20 64 65 73 esources.(like.memory,.files.des
9e2e0 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 0a 20 20 20 20 20 20 20 20 criptors,.semaphores.or.........
9e300 20 77 68 61 74 65 76 65 72 29 20 61 72 65 20 66 72 65 65 64 20 65 76 65 6e 20 69 66 20 74 68 65 .whatever).are.freed.even.if.the
9e320 20 74 68 72 65 61 64 20 69 73 20 63 61 6e 63 65 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 .thread.is.canceled..........sq.
9e340 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e ~......w.....t..sys/socket.hxq.~
9e360 16 f6 74 00 5e 69 6e 74 20 73 6f 63 6b 65 74 2c 20 76 6f 69 64 20 2a 62 75 66 66 65 72 2c 20 73 ..t.^int.socket,.void.*buffer,.s
9e380 69 7a 65 5f 74 20 73 69 7a 65 2c 20 69 6e 74 20 66 6c 61 67 73 2c 20 73 74 72 75 63 74 20 73 6f ize_t.size,.int.flags,.struct.so
9e3a0 63 6b 61 64 64 72 20 2a 61 64 64 72 2c 20 73 6f 63 6b 6c 65 6e 5f 74 20 2a 6c 65 6e 67 74 68 2d ckaddr.*addr,.socklen_t.*length-
9e3c0 70 74 72 74 00 03 69 6e 74 74 00 07 72 65 63 76 6d 73 67 73 71 00 7e 00 0a 70 74 01 2f 0a 20 20 ptrt..intt..recvmsgsq.~..pt./...
9e3e0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 ......<br><br>.This.function.is.
9e400 64 65 66 69 6e 65 64 20 61 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 defined.as.a.cancellation.point.
9e420 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 in.multi-threaded..........progr
9e440 61 6d 73 2c 20 73 6f 20 6f 6e 65 20 68 61 73 20 74 6f 20 62 65 20 70 72 65 70 61 72 65 64 20 66 ams,.so.one.has.to.be.prepared.f
9e460 6f 72 20 74 68 69 73 20 61 6e 64 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 0a 20 20 20 20 20 or.this.and.make.sure.that......
9e480 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 ....allocated.resources.(like.me
9e4a0 6d 6f 72 79 2c 20 66 69 6c 65 73 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f mory,.files.descriptors,.semapho
9e4c0 72 65 73 20 6f 72 0a 20 20 20 20 20 20 20 20 20 77 68 61 74 65 76 65 72 29 20 61 72 65 20 66 72 res.or..........whatever).are.fr
9e4e0 65 65 64 20 65 76 65 6e 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 69 73 20 63 61 6e 63 65 6c eed.even.if.the.thread.is.cancel
9e500 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 ed..........sq.~......w.....t..s
9e520 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 16 fd 74 00 2d 69 6e 74 20 73 6f 63 6b 65 74 2c 20 ys/socket.hxq.~..t.-int.socket,.
9e540 73 74 72 75 63 74 20 6d 73 67 68 64 72 20 2a 6d 65 73 73 61 67 65 2c 20 69 6e 74 20 66 6c 61 67 struct.msghdr.*message,.int.flag
9e560 73 74 00 03 69 6e 74 74 00 07 72 65 67 63 6f 6d 70 73 71 00 7e 00 0a 70 74 07 43 0a 20 20 20 20 st..intt..regcompsq.~..pt.C.....
9e580 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 72 65 67 63 6f 6d 70 3c 2f ....The.function.<CODE>regcomp</
9e5a0 43 4f 44 45 3e 20 60 60 63 6f 6d 70 69 6c 65 73 27 27 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 CODE>.``compiles''.a.regular.exp
9e5c0 72 65 73 73 69 6f 6e 20 69 6e 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 64 61 74 61 20 73 74 72 ression.into.a..........data.str
9e5e0 75 63 74 75 72 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 75 73 65 20 77 69 74 68 20 3c 43 4f ucture.that.you.can.use.with.<CO
9e600 44 45 3e 72 65 67 65 78 65 63 3c 2f 43 4f 44 45 3e 20 74 6f 20 6d 61 74 63 68 20 61 67 61 69 6e DE>regexec</CODE>.to.match.again
9e620 73 74 20 61 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 63 6f 6d 70 69 st.a..........string...The.compi
9e640 6c 65 64 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 66 6f 72 6d 61 74 20 69 73 led.regular.expression.format.is
9e660 20 64 65 73 69 67 6e 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 65 66 66 69 63 69 65 6e 74 .designed.for..........efficient
9e680 20 6d 61 74 63 68 69 6e 67 2e 20 20 3c 43 4f 44 45 3e 72 65 67 63 6f 6d 70 3c 2f 43 4f 44 45 3e .matching...<CODE>regcomp</CODE>
9e6a0 20 73 74 6f 72 65 73 20 69 74 20 69 6e 74 6f 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 63 6f 6d 70 .stores.it.into.<CODE>*<VAR>comp
9e6c0 69 6c 65 64 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e iled</VAR></CODE>...........<br>
9e6e0 3c 62 72 3e 20 49 74 27 73 20 75 70 20 74 6f 20 79 6f 75 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 <br>.It's.up.to.you.to.allocate.
9e700 61 6e 20 6f 62 6a 65 63 74 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 72 65 67 65 78 5f 74 3c an.object.of.type.<CODE>regex_t<
9e720 2f 43 4f 44 45 3e 20 61 6e 64 20 70 61 73 73 20 69 74 73 0a 20 20 20 20 20 20 20 20 20 61 64 64 /CODE>.and.pass.its..........add
9e740 72 65 73 73 20 74 6f 20 3c 43 4f 44 45 3e 72 65 67 63 6f 6d 70 3c 2f 43 4f 44 45 3e 2e 0a 20 20 ress.to.<CODE>regcomp</CODE>....
9e760 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 .......<br><br>.The.argument.<VA
9e780 52 3e 63 66 6c 61 67 73 3c 2f 56 41 52 3e 20 6c 65 74 73 20 79 6f 75 20 73 70 65 63 69 66 79 20 R>cflags</VAR>.lets.you.specify.
9e7a0 76 61 72 69 6f 75 73 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 various.options.that.control....
9e7c0 20 20 20 20 20 20 74 68 65 20 73 79 6e 74 61 78 20 61 6e 64 20 73 65 6d 61 6e 74 69 63 73 20 6f ......the.syntax.and.semantics.o
9e7e0 66 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 20 2e 0a 20 20 20 20 20 20 f.regular.expressions...........
9e800 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 75 73 65 20 74 68 65 20 66 6c 61 67 20 ...<br><br>.If.you.use.the.flag.
9e820 3c 43 4f 44 45 3e 52 45 47 5f 4e 4f 53 55 42 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 6e 20 3c 43 4f <CODE>REG_NOSUB</CODE>,.then.<CO
9e840 44 45 3e 72 65 67 63 6f 6d 70 3c 2f 43 4f 44 45 3e 20 6f 6d 69 74 73 20 66 72 6f 6d 0a 20 20 20 DE>regcomp</CODE>.omits.from....
9e860 20 20 20 20 20 20 74 68 65 20 63 6f 6d 70 69 6c 65 64 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 ......the.compiled.regular.expre
9e880 73 73 69 6f 6e 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6e 65 63 65 73 73 61 72 79 20 ssion.the.information.necessary.
9e8a0 74 6f 20 72 65 63 6f 72 64 0a 20 20 20 20 20 20 20 20 20 68 6f 77 20 73 75 62 65 78 70 72 65 73 to.record..........how.subexpres
9e8c0 73 69 6f 6e 73 20 61 63 74 75 61 6c 6c 79 20 6d 61 74 63 68 2e 20 20 49 6e 20 74 68 69 73 20 63 sions.actually.match...In.this.c
9e8e0 61 73 65 2c 20 79 6f 75 20 6d 69 67 68 74 20 61 73 20 77 65 6c 6c 0a 20 20 20 20 20 20 20 20 20 ase,.you.might.as.well..........
9e900 70 61 73 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 74 68 65 20 3c 56 41 52 pass.<CODE>0</CODE>.for.the.<VAR
9e920 3e 6d 61 74 63 68 70 74 72 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6e 6d 61 74 63 68 3c >matchptr</VAR>.and.<VAR>nmatch<
9e940 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 79 6f /VAR>.arguments.when..........yo
9e960 75 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 72 65 67 65 78 65 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 u.call.<CODE>regexec</CODE>.....
9e980 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 75 73 65 20 ......<br><br>.If.you.don't.use.
9e9a0 3c 43 4f 44 45 3e 52 45 47 5f 4e 4f 53 55 42 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 6e 20 74 68 65 <CODE>REG_NOSUB</CODE>,.then.the
9e9c0 20 63 6f 6d 70 69 6c 65 64 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 0a 20 20 20 .compiled.regular.expression....
9e9e0 20 20 20 20 20 20 64 6f 65 73 20 68 61 76 65 20 74 68 65 20 63 61 70 61 63 69 74 79 20 74 6f 20 ......does.have.the.capacity.to.
9ea00 72 65 63 6f 72 64 20 68 6f 77 20 73 75 62 65 78 70 72 65 73 73 69 6f 6e 73 20 6d 61 74 63 68 2e record.how.subexpressions.match.
9ea20 20 20 41 6c 73 6f 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 72 65 67 63 6f 6d 70 3c 2f ..Also,..........<CODE>regcomp</
9ea40 43 4f 44 45 3e 20 74 65 6c 6c 73 20 79 6f 75 20 68 6f 77 20 6d 61 6e 79 20 73 75 62 65 78 70 72 CODE>.tells.you.how.many.subexpr
9ea60 65 73 73 69 6f 6e 73 20 3c 56 41 52 3e 70 61 74 74 65 72 6e 3c 2f 56 41 52 3e 20 68 61 73 2c 20 essions.<VAR>pattern</VAR>.has,.
9ea80 62 79 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 69 6e 67 20 74 68 65 20 6e 75 6d 62 65 72 20 69 by..........storing.the.number.i
9eaa0 6e 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 63 6f 6d 70 69 6c 65 64 3c 2f 56 41 52 3e 2d 3e 72 65 5f n.<CODE><VAR>compiled</VAR>->re_
9eac0 6e 73 75 62 3c 2f 43 4f 44 45 3e 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 61 74 0a 20 nsub</CODE>...You.can.use.that..
9eae0 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 74 6f 20 64 65 63 69 64 65 20 68 6f 77 20 6c 6f 6e 67 ........value.to.decide.how.long
9eb00 20 61 6e 20 61 72 72 61 79 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 74 6f 20 68 6f 6c 64 20 69 6e .an.array.to.allocate.to.hold.in
9eb20 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 0a 20 20 20 20 20 20 20 20 20 73 75 62 65 78 70 72 formation.about..........subexpr
9eb40 65 73 73 69 6f 6e 20 6d 61 74 63 68 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ession.matches...........<br><br
9eb60 3e 20 3c 43 4f 44 45 3e 72 65 67 63 6f 6d 70 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c >.<CODE>regcomp</CODE>.returns.<
9eb80 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 69 74 20 73 75 63 63 65 65 64 73 20 69 6e 20 CODE>0</CODE>.if.it.succeeds.in.
9eba0 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65 20 72 65 67 75 6c 61 72 0a 20 20 20 20 20 20 20 20 20 65 compiling.the.regular..........e
9ebc0 78 70 72 65 73 73 69 6f 6e 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 69 74 20 72 65 74 75 72 6e 73 xpression;.otherwise,.it.returns
9ebe0 20 61 20 6e 6f 6e 7a 65 72 6f 20 65 72 72 6f 72 20 63 6f 64 65 20 28 73 65 65 20 74 68 65 20 74 .a.nonzero.error.code.(see.the.t
9ec00 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 62 65 6c 6f 77 29 2e 20 20 59 6f 75 20 63 61 6e 20 75 able..........below)...You.can.u
9ec20 73 65 20 3c 43 4f 44 45 3e 72 65 67 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 74 6f 20 70 72 6f 64 se.<CODE>regerror</CODE>.to.prod
9ec40 75 63 65 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 73 74 72 69 6e 67 0a 20 20 20 20 uce.an.error.message.string.....
9ec60 20 20 20 20 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 72 65 61 73 6f 6e 20 66 6f 72 20 61 .....describing.the.reason.for.a
9ec80 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 3b 20 73 65 65 20 52 65 67 65 78 70 20 43 6c 65 61 6e .nonzero.value;.see.Regexp.Clean
9eca0 75 70 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 up...........<br><br>.........sq
9ecc0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 72 65 67 65 78 2e 68 78 71 00 7e 17 04 74 00 .~......w.....t..regex.hxq.~..t.
9ece0 44 72 65 67 65 78 5f 74 20 2a 72 65 73 74 72 69 63 74 20 63 6f 6d 70 69 6c 65 64 2c 20 63 6f 6e Dregex_t.*restrict.compiled,.con
9ed00 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 70 61 74 74 65 72 6e 2c 20 69 6e 74 20 63 st.char.*restrict.pattern,.int.c
9ed20 66 6c 61 67 73 74 00 03 69 6e 74 74 00 08 72 65 67 65 72 72 6f 72 73 71 00 7e 00 0a 70 74 06 a8 flagst..intt..regerrorsq.~..pt..
9ed40 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 64 75 63 65 73 20 .........This.function.produces.
9ed60 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20 an.error.message.string.for.the.
9ed80 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 65 72 72 63 6f 64 65 error.code..........<VAR>errcode
9eda0 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 73 74 6f 72 65 73 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e </VAR>,.and.stores.the.string.in
9edc0 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 6f 66 20 6d 65 6d 6f .<VAR>length</VAR>.bytes.of.memo
9ede0 72 79 0a 20 20 20 20 20 20 20 20 20 73 74 61 72 74 69 6e 67 20 61 74 20 3c 56 41 52 3e 62 75 66 ry..........starting.at.<VAR>buf
9ee00 66 65 72 3c 2f 56 41 52 3e 2e 20 20 46 6f 72 20 74 68 65 20 3c 56 41 52 3e 63 6f 6d 70 69 6c 65 fer</VAR>...For.the.<VAR>compile
9ee20 64 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2c 20 73 75 70 70 6c 79 20 74 68 65 0a 20 20 20 d</VAR>.argument,.supply.the....
9ee40 20 20 20 20 20 20 73 61 6d 65 20 63 6f 6d 70 69 6c 65 64 20 72 65 67 75 6c 61 72 20 65 78 70 72 ......same.compiled.regular.expr
9ee60 65 73 73 69 6f 6e 20 73 74 72 75 63 74 75 72 65 20 74 68 61 74 20 3c 43 4f 44 45 3e 72 65 67 63 ession.structure.that.<CODE>regc
9ee80 6f 6d 70 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 72 65 67 omp</CODE>.or..........<CODE>reg
9eea0 65 78 65 63 3c 2f 43 4f 44 45 3e 20 77 61 73 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 77 68 65 exec</CODE>.was.working.with.whe
9eec0 6e 20 69 74 20 67 6f 74 20 74 68 65 20 65 72 72 6f 72 2e 20 20 41 6c 74 65 72 6e 61 74 69 76 65 n.it.got.the.error...Alternative
9eee0 6c 79 2c 0a 20 20 20 20 20 20 20 20 20 79 6f 75 20 63 61 6e 20 73 75 70 70 6c 79 20 3c 43 4f 44 ly,..........you.can.supply.<COD
9ef00 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 3c 56 41 52 3e 63 6f 6d 70 69 6c 65 64 3c E>NULL</CODE>.for.<VAR>compiled<
9ef20 2f 56 41 52 3e 3b 20 79 6f 75 20 77 69 6c 6c 20 73 74 69 6c 6c 20 67 65 74 20 61 0a 20 20 20 20 /VAR>;.you.will.still.get.a.....
9ef40 20 20 20 20 20 6d 65 61 6e 69 6e 67 66 75 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2c 20 62 .....meaningful.error.message,.b
9ef60 75 74 20 69 74 20 6d 69 67 68 74 20 6e 6f 74 20 62 65 20 61 73 20 64 65 74 61 69 6c 65 64 2e 0a ut.it.might.not.be.as.detailed..
9ef80 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 65 72 72 6f 72 20 6d .........<br><br>.If.the.error.m
9efa0 65 73 73 61 67 65 20 63 61 6e 27 74 20 66 69 74 20 69 6e 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c essage.can't.fit.in.<VAR>length<
9efc0 2f 56 41 52 3e 20 62 79 74 65 73 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 0a 20 20 20 20 20 20 20 /VAR>.bytes.(including.a........
9efe0 20 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 29 2c 20 74 ..terminating.null.character),.t
9f000 68 65 6e 20 3c 43 4f 44 45 3e 72 65 67 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 74 72 75 6e 63 61 hen.<CODE>regerror</CODE>.trunca
9f020 74 65 73 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 74 72 69 6e 67 20 74 68 61 74 tes.it...........The.string.that
9f040 20 3c 43 4f 44 45 3e 72 65 67 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 73 20 69 73 .<CODE>regerror</CODE>.stores.is
9f060 20 61 6c 77 61 79 73 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 0a 20 20 20 20 20 20 20 20 .always.null-terminated.........
9f080 20 65 76 65 6e 20 69 66 20 69 74 20 68 61 73 20 62 65 65 6e 20 74 72 75 6e 63 61 74 65 64 2e 0a .even.if.it.has.been.truncated..
9f0a0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c .........<br><br>.The.return.val
9f0c0 75 65 20 6f 66 20 3c 43 4f 44 45 3e 72 65 67 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 69 73 20 74 ue.of.<CODE>regerror</CODE>.is.t
9f0e0 68 65 20 6d 69 6e 69 6d 75 6d 20 6c 65 6e 67 74 68 20 6e 65 65 64 65 64 20 74 6f 0a 20 20 20 20 he.minimum.length.needed.to.....
9f100 20 20 20 20 20 73 74 6f 72 65 20 74 68 65 20 65 6e 74 69 72 65 20 65 72 72 6f 72 20 6d 65 73 73 .....store.the.entire.error.mess
9f120 61 67 65 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 3c 56 41 52 3e age...If.this.is.less.than.<VAR>
9f140 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 length</VAR>,.then..........the.
9f160 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 77 61 73 20 6e 6f 74 20 74 72 75 6e 63 61 74 65 64 2c error.message.was.not.truncated,
9f180 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 75 73 65 20 69 74 2e 20 20 4f 74 68 65 72 77 69 73 65 2c .and.you.can.use.it...Otherwise,
9f1a0 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 63 61 6c 6c 20 3c 43 4f 44 45 3e .you..........should.call.<CODE>
9f1c0 72 65 67 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 61 67 61 69 6e 20 77 69 74 68 20 61 20 6c 61 72 regerror</CODE>.again.with.a.lar
9f1e0 67 65 72 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 48 65 ger.buffer...........<br><br>.He
9f200 72 65 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 75 73 65 73 20 3c 43 4f 44 re.is.a.function.which.uses.<COD
9f220 45 3e 72 65 67 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 61 6c 77 61 79 73 20 64 79 E>regerror</CODE>,.but.always.dy
9f240 6e 61 6d 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 73 20 61 20 62 namically..........allocates.a.b
9f260 75 66 66 65 72 20 66 6f 72 20 74 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 3a 0a 20 20 20 uffer.for.the.error.message:....
9f280 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 ......<br><br>.<pre><br>........
9f2a0 20 20 63 68 61 72 20 2a 67 65 74 5f 72 65 67 65 72 72 6f 72 20 28 69 6e 74 20 65 72 72 63 6f 64 ..char.*get_regerror.(int.errcod
9f2c0 65 2c 20 72 65 67 65 78 5f 74 20 2a 63 6f 6d 70 69 6c 65 64 29 3c 62 72 3e 0a 20 20 20 20 20 20 e,.regex_t.*compiled)<br>.......
9f2e0 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 ...{<br>............size_t.lengt
9f300 68 20 3d 20 72 65 67 65 72 72 6f 72 20 28 65 72 72 63 6f 64 65 2c 20 63 6f 6d 70 69 6c 65 64 2c h.=.regerror.(errcode,.compiled,
9f320 20 4e 55 4c 4c 2c 20 30 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a .NULL,.0);<br>............char.*
9f340 62 75 66 66 65 72 20 3d 20 78 6d 61 6c 6c 6f 63 20 28 6c 65 6e 67 74 68 29 3b 3c 62 72 3e 0a 20 buffer.=.xmalloc.(length);<br>..
9f360 20 20 20 20 20 20 20 20 20 20 28 76 6f 69 64 29 20 72 65 67 65 72 72 6f 72 20 28 65 72 72 63 6f ..........(void).regerror.(errco
9f380 64 65 2c 20 63 6f 6d 70 69 6c 65 64 2c 20 62 75 66 66 65 72 2c 20 6c 65 6e 67 74 68 29 3b 3c 62 de,.compiled,.buffer,.length);<b
9f3a0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 3b 3c 62 72 3e r>............return.buffer;<br>
9f3c0 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a ..........}<br>..........</pre>.
9f3e0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 72 65 67 65 78 ........sq.~......w.....t..regex
9f400 2e 68 78 71 00 7e 17 0b 74 00 53 69 6e 74 20 65 72 72 63 6f 64 65 2c 20 63 6f 6e 73 74 20 72 65 .hxq.~..t.Sint.errcode,.const.re
9f420 67 65 78 5f 74 20 2a 72 65 73 74 72 69 63 74 20 63 6f 6d 70 69 6c 65 64 2c 20 63 68 61 72 20 2a gex_t.*restrict.compiled,.char.*
9f440 72 65 73 74 72 69 63 74 20 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 68 74 00 restrict.buffer,.size_t.lengtht.
9f460 06 73 69 7a 65 5f 74 74 00 07 72 65 67 65 78 65 63 73 71 00 7e 00 0a 70 74 03 bc 0a 20 20 20 20 .size_tt..regexecsq.~..pt.......
9f480 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 6d 61 74 63 68 ....This.function.tries.to.match
9f4a0 20 74 68 65 20 63 6f 6d 70 69 6c 65 64 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e .the.compiled.regular.expression
9f4c0 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 63 6f 6d 70 69 6c 65 64 3c 2f ..........<CODE>*<VAR>compiled</
9f4e0 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 67 61 69 6e 73 74 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c VAR></CODE>.against.<VAR>string<
9f500 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 72 /VAR>...........<br><br>.<CODE>r
9f520 65 67 65 78 65 63 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 egexec</CODE>.returns.<CODE>0</C
9f540 4f 44 45 3e 20 69 66 20 74 68 65 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 6d ODE>.if.the.regular.expression.m
9f560 61 74 63 68 65 73 3b 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 2c 20 69 74 20 72 atches;..........otherwise,.it.r
9f580 65 74 75 72 6e 73 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 2e 20 20 53 65 65 20 74 68 65 eturns.a.nonzero.value...See.the
9f5a0 20 74 61 62 6c 65 20 62 65 6c 6f 77 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 77 68 61 74 20 6e .table.below.for..........what.n
9f5c0 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 73 20 6d 65 61 6e 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 onzero.values.mean...You.can.use
9f5e0 20 3c 43 4f 44 45 3e 72 65 67 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 74 6f 20 70 72 6f 64 75 63 .<CODE>regerror</CODE>.to.produc
9f600 65 20 61 6e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 73 74 72 69 e.an..........error.message.stri
9f620 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 72 65 61 73 6f 6e 20 66 6f 72 20 61 20 6e ng.describing.the.reason.for.a.n
9f640 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 73 65 65 20 52 65 67 65 78 onzero.value;..........see.Regex
9f660 70 20 43 6c 65 61 6e 75 70 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 p.Cleanup...........<br><br>.The
9f680 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 65 66 6c 61 67 73 3c 2f 56 41 52 3e 20 69 73 20 61 .argument.<VAR>eflags</VAR>.is.a
9f6a0 20 77 6f 72 64 20 6f 66 20 62 69 74 20 66 6c 61 67 73 20 74 68 61 74 20 65 6e 61 62 6c 65 20 76 .word.of.bit.flags.that.enable.v
9f6c0 61 72 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 arious..........options.........
9f6e0 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 67 65 74 20 69 6e ..<br><br>.If.you.want.to.get.in
9f700 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 77 68 61 74 20 70 61 72 74 20 6f 66 20 3c 56 41 formation.about.what.part.of.<VA
9f720 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 R>string</VAR>.actually.........
9f740 20 6d 61 74 63 68 65 64 20 74 68 65 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 .matched.the.regular.expression.
9f760 6f 72 20 69 74 73 20 73 75 62 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 75 73 65 20 74 68 65 20 61 or.its.subexpressions,.use.the.a
9f780 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6d 61 74 63 68 70 74 72 3c rguments..........<VAR>matchptr<
9f7a0 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6e 6d 61 74 63 68 3c 2f 56 41 52 3e 2e 20 20 4f 74 /VAR>.and.<VAR>nmatch</VAR>...Ot
9f7c0 68 65 72 77 69 73 65 2c 20 70 61 73 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 66 6f 72 herwise,.pass.<CODE>0</CODE>.for
9f7e0 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 6d 61 74 63 68 3c 2f 56 41 52 3e 2c 20 61 6e 64 ..........<VAR>nmatch</VAR>,.and
9f800 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 3c 56 41 52 3e 6d 61 74 63 .<CODE>NULL</CODE>.for.<VAR>matc
9f820 68 70 74 72 3c 2f 56 41 52 3e 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 hptr</VAR>.............sq.~.....
9f840 01 77 04 00 00 00 0a 74 00 07 72 65 67 65 78 2e 68 78 71 00 7e 17 12 74 00 77 63 6f 6e 73 74 20 .w.....t..regex.hxq.~..t.wconst.
9f860 72 65 67 65 78 5f 74 20 2a 72 65 73 74 72 69 63 74 20 63 6f 6d 70 69 6c 65 64 2c 20 63 6f 6e 73 regex_t.*restrict.compiled,.cons
9f880 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 73 69 7a 65 5f 74 20 t.char.*restrict.string,.size_t.
9f8a0 6e 6d 61 74 63 68 2c 20 72 65 67 6d 61 74 63 68 5f 74 20 6d 61 74 63 68 70 74 72 5b 72 65 73 74 nmatch,.regmatch_t.matchptr[rest
9f8c0 72 69 63 74 5d 2c 20 69 6e 74 20 65 66 6c 61 67 73 74 00 03 69 6e 74 74 00 07 72 65 67 66 72 65 rict],.int.eflagst..intt..regfre
9f8e0 65 73 71 00 7e 00 0a 70 74 01 66 0a 20 20 20 20 20 20 20 20 43 61 6c 6c 69 6e 67 20 3c 43 4f 44 esq.~..pt.f.........Calling.<COD
9f900 45 3e 72 65 67 66 72 65 65 3c 2f 43 4f 44 45 3e 20 66 72 65 65 73 20 61 6c 6c 20 74 68 65 20 73 E>regfree</CODE>.frees.all.the.s
9f920 74 6f 72 61 67 65 20 74 68 61 74 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 63 6f 6d 70 69 6c 65 64 torage.that.<CODE>*<VAR>compiled
9f940 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 73 20 74 6f </VAR></CODE>..........points.to
9f960 2e 20 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 20 76 61 72 69 6f 75 73 20 69 6e 74 65 72 6e 61 ...This.includes.various.interna
9f980 6c 20 66 69 65 6c 64 73 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 72 65 67 65 78 5f 74 3c 2f 43 l.fields.of.the.<CODE>regex_t</C
9f9a0 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 74 68 61 74 20 61 72 65 ODE>..........structure.that.are
9f9c0 6e 27 74 20 64 6f 63 75 6d 65 6e 74 65 64 20 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 0a 20 n't.documented.in.this.manual...
9f9e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 72 65 67 66 72 65 65 3c 2f ........<br><br>.<CODE>regfree</
9fa00 43 4f 44 45 3e 20 64 6f 65 73 20 6e 6f 74 20 66 72 65 65 20 74 68 65 20 6f 62 6a 65 63 74 20 3c CODE>.does.not.free.the.object.<
9fa20 43 4f 44 45 3e 2a 3c 56 41 52 3e 63 6f 6d 70 69 6c 65 64 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e CODE>*<VAR>compiled</VAR></CODE>
9fa40 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 .itself..........sq.~......w....
9fa60 0a 74 00 07 72 65 67 65 78 2e 68 78 71 00 7e 17 19 74 00 11 72 65 67 65 78 5f 74 20 2a 63 6f 6d .t..regex.hxq.~..t..regex_t.*com
9fa80 70 69 6c 65 64 74 00 04 76 6f 69 64 74 00 18 72 65 67 69 73 74 65 72 5f 70 72 69 6e 74 66 5f 66 piledt..voidt..register_printf_f
9faa0 75 6e 63 74 69 6f 6e 73 71 00 7e 00 0a 70 74 08 0b 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 unctionsq.~..pt...........This.f
9fac0 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 65 73 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 unction.defines.the.conversion.s
9fae0 70 65 63 69 66 69 65 72 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e 73 70 65 63 3c 2f 56 41 pecifier.character.<VAR>spec</VA
9fb00 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 75 73 2c 20 69 66 20 3c 56 41 52 3e 73 70 65 63 3c R>...........Thus,.if.<VAR>spec<
9fb20 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 27 59 27 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 64 65 /VAR>.is.<CODE>'Y'</CODE>,.it.de
9fb40 66 69 6e 65 73 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 3c 73 61 6d 70 3e 25 59 3c 2f 73 fines.the.conversion.<samp>%Y</s
9fb60 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 72 65 64 65 66 69 6e 65 20 amp>...........You.can.redefine.
9fb80 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 6c 69 6b 65 20 3c 73 the.built-in.conversions.like.<s
9fba0 61 6d 70 3e 25 73 3c 2f 73 61 6d 70 3e 2c 20 62 75 74 20 66 6c 61 67 0a 20 20 20 20 20 20 20 20 amp>%s</samp>,.but.flag.........
9fbc0 20 63 68 61 72 61 63 74 65 72 73 20 6c 69 6b 65 20 3c 73 61 6d 70 3e 23 3c 2f 73 61 6d 70 3e 20 .characters.like.<samp>#</samp>.
9fbe0 61 6e 64 20 74 79 70 65 20 6d 6f 64 69 66 69 65 72 73 20 6c 69 6b 65 20 3c 73 61 6d 70 3e 6c 3c and.type.modifiers.like.<samp>l<
9fc00 2f 73 61 6d 70 3e 20 63 61 6e 20 6e 65 76 65 72 20 62 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 /samp>.can.never.be..........use
9fc20 64 20 61 73 20 63 6f 6e 76 65 72 73 69 6f 6e 73 3b 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e d.as.conversions;.calling.<CODE>
9fc40 72 65 67 69 73 74 65 72 5f 70 72 69 6e 74 66 5f 66 75 6e 63 74 69 6f 6e 3c 2f 43 4f 44 45 3e 20 register_printf_function</CODE>.
9fc60 66 6f 72 20 74 68 6f 73 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 68 61 for.those..........characters.ha
9fc80 73 20 6e 6f 20 65 66 66 65 63 74 2e 20 20 49 74 20 69 73 20 61 64 76 69 73 61 62 6c 65 20 6e 6f s.no.effect...It.is.advisable.no
9fca0 74 20 74 6f 20 75 73 65 20 6c 6f 77 65 72 63 61 73 65 20 6c 65 74 74 65 72 73 2c 0a 20 20 20 20 t.to.use.lowercase.letters,.....
9fcc0 20 20 20 20 20 73 69 6e 63 65 20 74 68 65 20 49 53 4f 20 43 20 73 74 61 6e 64 61 72 64 20 77 61 .....since.the.ISO.C.standard.wa
9fce0 72 6e 73 20 74 68 61 74 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 6f 77 65 72 63 61 73 65 20 6c 65 rns.that.additional.lowercase.le
9fd00 74 74 65 72 73 20 6d 61 79 20 62 65 0a 20 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 69 7a tters.may.be..........standardiz
9fd20 65 64 20 69 6e 20 66 75 74 75 72 65 20 65 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 73 74 61 ed.in.future.editions.of.the.sta
9fd40 6e 64 61 72 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 ndard...........<br><br>.The.<VA
9fd60 52 3e 68 61 6e 64 6c 65 72 2d 66 75 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 69 73 20 74 68 65 20 R>handler-function</VAR>.is.the.
9fd80 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 20 62 79 20 3c 43 4f 44 45 3e 70 72 69 6e 74 66 3c function.called.by.<CODE>printf<
9fda0 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 66 72 69 65 6e 64 73 20 77 68 65 6e /CODE>.and..........friends.when
9fdc0 20 74 68 69 73 20 63 6f 6e 76 65 72 73 69 6f 6e 20 61 70 70 65 61 72 73 20 69 6e 20 61 20 74 65 .this.conversion.appears.in.a.te
9fde0 6d 70 6c 61 74 65 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 2c 20 66 6f 72 20 69 6e mplate.string...........,.for.in
9fe00 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 68 6f 77 20 74 6f 20 64 65 66 69 6e 65 0a 20 20 formation.about.how.to.define...
9fe20 20 20 20 20 20 20 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 61 73 73 20 61 73 20 74 68 69 .......a.function.to.pass.as.thi
9fe40 73 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 66 20 79 6f 75 20 73 70 65 63 69 66 79 20 61 20 6e 75 s.argument...If.you.specify.a.nu
9fe60 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 61 6e 79 0a 20 20 20 20 20 20 20 20 20 65 78 69 73 74 69 6e ll.pointer,.any..........existin
9fe80 67 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 3c 56 41 52 3e 73 70 65 63 g.handler.function.for.<VAR>spec
9fea0 3c 2f 56 41 52 3e 20 69 73 20 72 65 6d 6f 76 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e </VAR>.is.removed...........<br>
9fec0 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 61 72 67 69 6e 66 6f 2d 66 75 6e 63 74 69 6f 6e 3c 2f <br>.The.<VAR>arginfo-function</
9fee0 56 41 52 3e 20 69 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 20 62 79 0a 20 VAR>.is.the.function.called.by..
9ff00 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 70 61 72 73 65 5f 70 72 69 6e 74 66 5f 66 6f 72 6d 61 ........<CODE>parse_printf_forma
9ff20 74 3c 2f 43 4f 44 45 3e 20 77 68 65 6e 20 74 68 69 73 20 63 6f 6e 76 65 72 73 69 6f 6e 20 61 70 t</CODE>.when.this.conversion.ap
9ff40 70 65 61 72 73 20 69 6e 20 61 0a 20 20 20 20 20 20 20 20 20 74 65 6d 70 6c 61 74 65 20 73 74 72 pears.in.a..........template.str
9ff60 69 6e 67 2e 20 20 2c 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 ing...,.for.information.........
9ff80 20 61 62 6f 75 74 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a .about.this...........<br><br>..
9ffa0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 74 74 65 6e 74 69 6f 6e 3a 20 49 6e 20 .........<br><br>.Attention:.In.
9ffc0 74 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 20 76 65 72 73 69 6f 6e 73 20 62 65 66 6f 72 the.GNU.C.library.versions.befor
9ffe0 65 20 32 2e 30 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 61 72 67 69 6e 66 6f 2d e.2.0.the..........<VAR>arginfo-
a0000 66 75 6e 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 66 75 6e 63 74 69 6f 6e 20 64 69 64 20 6e 6f 74 20 function</VAR>.function.did.not.
a0020 6e 65 65 64 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 75 6e 6c 65 73 73 0a 20 20 20 20 need.to.be.installed.unless.....
a0040 20 20 20 20 20 74 68 65 20 75 73 65 72 20 75 73 65 64 20 74 68 65 20 3c 43 4f 44 45 3e 70 61 72 .....the.user.used.the.<CODE>par
a0060 73 65 5f 70 72 69 6e 74 66 5f 66 6f 72 6d 61 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e se_printf_format</CODE>.function
a0080 2e 20 20 54 68 69 73 20 68 61 73 20 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 20 4e 6f ...This.has.changed...........No
a00a0 77 20 61 20 63 61 6c 6c 20 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 70 72 69 w.a.call.to.any.of.the.<CODE>pri
a00c0 6e 74 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 6c 6c 20 63 61 6c 6c 20 74 ntf</CODE>.functions.will.call.t
a00e0 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 74 68 69 73 20 his..........function.when.this.
a0100 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 65 72 20 61 70 70 65 61 72 73 20 69 6e 20 74 68 65 20 format.specifier.appears.in.the.
a0120 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e format.string...........<br><br>
a0140 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f .The.return.value.is.<CODE>0</CO
a0160 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f DE>.on.success,.and.<CODE>-1</CO
a0180 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 20 28 77 68 69 63 68 20 6f DE>.on.failure..........(which.o
a01a0 63 63 75 72 73 20 69 66 20 3c 56 41 52 3e 73 70 65 63 3c 2f 56 41 52 3e 20 69 73 20 6f 75 74 20 ccurs.if.<VAR>spec</VAR>.is.out.
a01c0 6f 66 20 72 61 6e 67 65 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 of.range)...........<br><br>.You
a01e0 20 63 61 6e 20 72 65 64 65 66 69 6e 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 .can.redefine.the.standard.outpu
a0200 74 20 63 6f 6e 76 65 72 73 69 6f 6e 73 2c 20 62 75 74 20 74 68 69 73 20 69 73 20 70 72 6f 62 61 t.conversions,.but.this.is.proba
a0220 62 6c 79 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 61 20 67 6f 6f 64 20 69 64 65 61 20 62 65 63 bly..........not.a.good.idea.bec
a0240 61 75 73 65 20 6f 66 20 74 68 65 20 70 6f 74 65 6e 74 69 61 6c 20 66 6f 72 20 63 6f 6e 66 75 73 ause.of.the.potential.for.confus
a0260 69 6f 6e 2e 20 20 4c 69 62 72 61 72 79 20 72 6f 75 74 69 6e 65 73 0a 20 20 20 20 20 20 20 20 20 ion...Library.routines..........
a0280 77 72 69 74 74 65 6e 20 62 79 20 6f 74 68 65 72 20 70 65 6f 70 6c 65 20 63 6f 75 6c 64 20 62 72 written.by.other.people.could.br
a02a0 65 61 6b 20 69 66 20 79 6f 75 20 64 6f 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e eak.if.you.do.this..........sq.~
a02c0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 70 72 69 6e 74 66 2e 68 78 71 00 7e 17 20 74 00 54 ......w.....t..printf.hxq.~..t.T
a02e0 69 6e 74 20 73 70 65 63 2c 20 70 72 69 6e 74 66 5f 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 int.spec,.printf_function.handle
a0300 72 2d 66 75 6e 63 74 69 6f 6e 2c 20 70 72 69 6e 74 66 5f 61 72 67 69 6e 66 6f 5f 66 75 6e 63 74 r-function,.printf_arginfo_funct
a0320 69 6f 6e 20 61 72 67 69 6e 66 6f 2d 66 75 6e 63 74 69 6f 6e 74 00 03 69 6e 74 74 00 09 72 65 6d ion.arginfo-functiont..intt..rem
a0340 61 69 6e 64 65 72 73 71 00 7e 00 0a 70 74 00 46 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 aindersq.~..pt.F.........This.fu
a0360 6e 63 74 69 6f 6e 20 69 73 20 61 6e 6f 74 68 65 72 20 6e 61 6d 65 20 66 6f 72 20 3c 43 4f 44 45 nction.is.another.name.for.<CODE
a0380 3e 64 72 65 6d 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 >drem</CODE>..........sq.~......
a03a0 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 27 74 00 24 64 6f 75 62 6c 65 20 6e w.....t..math.hxq.~.'t.$double.n
a03c0 75 6d 65 72 61 74 6f 72 2c 20 64 6f 75 62 6c 65 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 74 00 06 64 umerator,.double.denominatort..d
a03e0 6f 75 62 6c 65 74 00 0a 72 65 6d 61 69 6e 64 65 72 66 73 71 00 7e 00 0a 70 74 00 46 0a 20 20 20 oublet..remainderfsq.~..pt.F....
a0400 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 6f 74 68 65 72 20 6e 61 .....This.function.is.another.na
a0420 6d 65 20 66 6f 72 20 3c 43 4f 44 45 3e 64 72 65 6d 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 me.for.<CODE>drem</CODE>........
a0440 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 ..sq.~......w.....t..math.hxq.~.
a0460 2e 74 00 22 66 6c 6f 61 74 20 6e 75 6d 65 72 61 74 6f 72 2c 20 66 6c 6f 61 74 20 64 65 6e 6f 6d .t."float.numerator,.float.denom
a0480 69 6e 61 74 6f 72 74 00 05 66 6c 6f 61 74 74 00 0a 72 65 6d 61 69 6e 64 65 72 6c 73 71 00 7e 00 inatort..floatt..remainderlsq.~.
a04a0 0a 70 74 00 46 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 .pt.F.........This.function.is.a
a04c0 6e 6f 74 68 65 72 20 6e 61 6d 65 20 66 6f 72 20 3c 43 4f 44 45 3e 64 72 65 6d 3c 2f 43 4f 44 45 nother.name.for.<CODE>drem</CODE
a04e0 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 >..........sq.~......w.....t..ma
a0500 74 68 2e 68 78 71 00 7e 17 35 74 00 2e 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 6e 75 6d 65 72 61 74 th.hxq.~.5t..long.double.numerat
a0520 6f 72 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 74 00 0b 6c 6f or,.long.double.denominatort..lo
a0540 6e 67 20 64 6f 75 62 6c 65 74 00 06 72 65 6d 6f 76 65 73 71 00 7e 00 0a 70 74 00 df 0a 20 20 20 ng.doublet..removesq.~..pt......
a0560 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 49 53 4f 20 43 20 66 75 6e 63 74 69 6f 6e 20 .....This.is.the.ISO.C.function.
a0580 74 6f 20 72 65 6d 6f 76 65 20 61 20 66 69 6c 65 2e 20 20 49 74 20 77 6f 72 6b 73 20 6c 69 6b 65 to.remove.a.file...It.works.like
a05a0 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 75 6e 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 66 6f ..........<CODE>unlink</CODE>.fo
a05c0 72 20 66 69 6c 65 73 20 61 6e 64 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 72 6d 64 69 72 3c 2f 43 4f r.files.and.like.<CODE>rmdir</CO
a05e0 44 45 3e 20 66 6f 72 20 64 69 72 65 63 74 6f 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 43 DE>.for.directories...........<C
a0600 4f 44 45 3e 72 65 6d 6f 76 65 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e ODE>remove</CODE>.is.declared.in
a0620 20 3c 54 54 3e 73 74 64 69 6f 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 .<TT>stdio.h</TT>..........sq.~.
a0640 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 17 3c 74 00 14 63 6f .....w.....t..stdio.hxq.~.<t..co
a0660 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 74 00 03 69 6e 74 74 00 06 72 65 6e 61 6d nst.char.*filenamet..intt..renam
a0680 65 73 71 00 7e 00 0a 70 74 10 f7 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 esq.~..pt...........The.<CODE>re
a06a0 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 61 6d 65 73 20 74 68 65 name</CODE>.function.renames.the
a06c0 20 66 69 6c 65 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 20 74 6f 0a 20 20 20 20 .file.<VAR>oldname</VAR>.to.....
a06e0 20 20 20 20 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 66 69 .....<VAR>newname</VAR>...The.fi
a0700 6c 65 20 66 6f 72 6d 65 72 6c 79 20 61 63 63 65 73 73 69 62 6c 65 20 75 6e 64 65 72 20 74 68 65 le.formerly.accessible.under.the
a0720 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 .name..........<VAR>oldname</VAR
a0740 3e 20 69 73 20 61 66 74 65 72 77 61 72 64 73 20 61 63 63 65 73 73 69 62 6c 65 20 61 73 20 3c 56 >.is.afterwards.accessible.as.<V
a0760 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 6e 73 74 65 61 64 2e 20 20 28 49 66 0a 20 AR>newname</VAR>.instead...(If..
a0780 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 20 68 61 64 20 61 6e 79 20 6f 74 68 65 72 20 6e ........the.file.had.any.other.n
a07a0 61 6d 65 73 20 61 73 69 64 65 20 66 72 6f 6d 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 ames.aside.from.<VAR>oldname</VA
a07c0 52 3e 2c 20 69 74 20 63 6f 6e 74 69 6e 75 65 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 68 61 76 R>,.it.continues.to..........hav
a07e0 65 20 74 68 6f 73 65 20 6e 61 6d 65 73 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 e.those.names.)..........<br><br
a0800 3e 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6e >.The.directory.containing.the.n
a0820 61 6d 65 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 20 6f ame.<VAR>newname</VAR>.must.be.o
a0840 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 20 n.the.same.file..........system.
a0860 61 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 as.the.directory.containing.the.
a0880 6e 61 6d 65 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 name.<VAR>oldname</VAR>.........
a08a0 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 65 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 66 6f 72 20 ..<br><br>.One.special.case.for.
a08c0 3c 43 4f 44 45 3e 72 65 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 69 73 20 77 68 65 6e 20 3c 56 41 52 <CODE>rename</CODE>.is.when.<VAR
a08e0 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 >oldname</VAR>.and..........<VAR
a0900 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 72 65 20 74 77 6f 20 6e 61 6d 65 73 20 66 6f 72 >newname</VAR>.are.two.names.for
a0920 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 2e 20 20 54 68 65 20 63 6f 6e 73 69 73 74 65 6e 74 20 .the.same.file...The.consistent.
a0940 77 61 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 68 61 6e 64 6c 65 20 74 68 69 73 20 63 61 73 65 way.to..........handle.this.case
a0960 20 69 73 20 74 6f 20 64 65 6c 65 74 65 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e .is.to.delete.<VAR>oldname</VAR>
a0980 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 6e 20 74 68 69 73 20 63 61 73 65 0a 20 20 20 20 20 20 20 ...However,.in.this.case........
a09a0 20 20 50 4f 53 49 58 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 3c 43 4f 44 45 3e 72 65 6e 61 ..POSIX.requires.that.<CODE>rena
a09c0 6d 65 3c 2f 43 4f 44 45 3e 20 64 6f 20 6e 6f 74 68 69 6e 67 20 61 6e 64 20 72 65 70 6f 72 74 20 me</CODE>.do.nothing.and.report.
a09e0 73 75 63 63 65 73 73 2d 2d 2d 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 69 73 20 69 6e 63 6f success---which..........is.inco
a0a00 6e 73 69 73 74 65 6e 74 2e 20 20 57 65 20 64 6f 6e 27 74 20 6b 6e 6f 77 20 77 68 61 74 20 79 6f nsistent...We.don't.know.what.yo
a0a20 75 72 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 77 69 6c 6c 20 64 6f 2e 0a 20 20 20 ur.operating.system.will.do.....
a0a40 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f ......<br><br>.If.<VAR>oldname</
a0a60 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2c 20 74 68 65 6e 20 61 6e VAR>.is.not.a.directory,.then.an
a0a80 79 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 20 6e 61 6d 65 64 0a 20 20 20 20 20 20 20 20 20 3c y.existing.file.named..........<
a0aa0 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 72 65 6d 6f 76 65 64 20 64 75 72 VAR>newname</VAR>.is.removed.dur
a0ac0 69 6e 67 20 74 68 65 20 72 65 6e 61 6d 69 6e 67 20 6f 70 65 72 61 74 69 6f 6e 2e 20 20 48 6f 77 ing.the.renaming.operation...How
a0ae0 65 76 65 72 2c 20 69 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f ever,.if..........<VAR>newname</
a0b00 56 41 52 3e 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 64 69 72 65 63 74 6f 72 79 2c VAR>.is.the.name.of.a.directory,
a0b20 20 3c 43 4f 44 45 3e 72 65 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 61 69 6c 73 20 69 6e 20 74 68 .<CODE>rename</CODE>.fails.in.th
a0b40 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c is..........case...........<br><
a0b60 62 72 3e 20 49 66 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 64 br>.If.<VAR>oldname</VAR>.is.a.d
a0b80 69 72 65 63 74 6f 72 79 2c 20 74 68 65 6e 20 65 69 74 68 65 72 20 3c 56 41 52 3e 6e 65 77 6e 61 irectory,.then.either.<VAR>newna
a0ba0 6d 65 3c 2f 56 41 52 3e 20 6d 75 73 74 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 65 78 69 73 74 me</VAR>.must.not..........exist
a0bc0 20 6f 72 20 69 74 20 6d 75 73 74 20 6e 61 6d 65 20 61 20 64 69 72 65 63 74 6f 72 79 20 74 68 61 .or.it.must.name.a.directory.tha
a0be0 74 20 69 73 20 65 6d 70 74 79 2e 20 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c t.is.empty...In.the.latter.case,
a0c00 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 64 69 72 65 63 74 6f 72 79 ..........the.existing.directory
a0c20 20 6e 61 6d 65 64 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 64 65 6c .named.<VAR>newname</VAR>.is.del
a0c40 65 74 65 64 20 66 69 72 73 74 2e 20 20 54 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c eted.first...The.name..........<
a0c60 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 6d 75 73 74 20 6e 6f 74 20 73 70 65 63 69 VAR>newname</VAR>.must.not.speci
a0c80 66 79 20 61 20 73 75 62 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 6f fy.a.subdirectory.of.the.directo
a0ca0 72 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6f 6c 64 6e 61 6d 65 3c 2f 43 4f 44 45 3e ry..........<CODE>oldname</CODE>
a0cc0 20 77 68 69 63 68 20 69 73 20 62 65 69 6e 67 20 72 65 6e 61 6d 65 64 2e 0a 20 20 20 20 20 20 20 .which.is.being.renamed.........
a0ce0 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 65 20 75 73 65 66 75 6c 20 66 65 61 74 75 72 65 20 6f 66 ..<br><br>.One.useful.feature.of
a0d00 20 3c 43 4f 44 45 3e 72 65 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 61 74 20 74 68 65 .<CODE>rename</CODE>.is.that.the
a0d20 20 6d 65 61 6e 69 6e 67 20 6f 66 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 0a 20 .meaning.of.<VAR>newname</VAR>..
a0d40 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 73 20 60 60 61 74 6f 6d 69 63 61 6c 6c 79 27 27 20 66 ........changes.``atomically''.f
a0d60 72 6f 6d 20 61 6e 79 20 70 72 65 76 69 6f 75 73 6c 79 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 rom.any.previously.existing.file
a0d80 20 62 79 20 74 68 61 74 20 6e 61 6d 65 20 74 6f 0a 20 20 20 20 20 20 20 20 20 69 74 73 20 6e 65 .by.that.name.to..........its.ne
a0da0 77 20 6d 65 61 6e 69 6e 67 20 28 69 2e 65 2e 2c 20 74 68 65 20 66 69 6c 65 20 74 68 61 74 20 77 w.meaning.(i.e.,.the.file.that.w
a0dc0 61 73 20 63 61 6c 6c 65 64 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 29 2e 20 20 as.called.<VAR>oldname</VAR>)...
a0de0 54 68 65 72 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 20 69 6e 73 74 61 6e 74 20 61 74 20 There.is..........no.instant.at.
a0e00 77 68 69 63 68 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 6e 2d which.<VAR>newname</VAR>.is.non-
a0e20 65 78 69 73 74 65 6e 74 20 60 60 69 6e 20 62 65 74 77 65 65 6e 27 27 20 74 68 65 20 6f 6c 64 0a existent.``in.between''.the.old.
a0e40 20 20 20 20 20 20 20 20 20 6d 65 61 6e 69 6e 67 20 61 6e 64 20 74 68 65 20 6e 65 77 20 6d 65 61 .........meaning.and.the.new.mea
a0e60 6e 69 6e 67 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 61 20 73 79 73 74 65 6d 20 63 72 61 73 ning...If.there.is.a.system.cras
a0e80 68 20 64 75 72 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 2c h.during.the..........operation,
a0ea0 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 66 6f 72 20 62 6f 74 68 20 6e 61 6d 65 73 20 74 .it.is.possible.for.both.names.t
a0ec0 6f 20 73 74 69 6c 6c 20 65 78 69 73 74 3b 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 o.still.exist;.but..........<VAR
a0ee0 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 69 6e >newname</VAR>.will.always.be.in
a0f00 74 61 63 74 20 69 66 20 69 74 20 65 78 69 73 74 73 20 61 74 20 61 6c 6c 2e 0a 20 20 20 20 20 20 tact.if.it.exists.at.all........
a0f20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 45 3e 72 65 6e 61 6d 65 3c 2f 43 4f 44 ...<br><br>.If.<CODE>rename</COD
a0f40 45 3e 20 66 61 69 6c 73 2c 20 69 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 E>.fails,.it.returns.<CODE>-1</C
a0f60 4f 44 45 3e 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 75 61 6c 0a ODE>...In.addition.to.the.usual.
a0f80 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 20 65 72 72 6f 72 73 20 2c 20 74 68 65 20 .........file.name.errors.,.the.
a0fa0 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f following..........<CODE>errno</
a0fc0 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e CODE>.error.conditions.are.defin
a0fe0 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c ed.for.this.function:..........<
a1000 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 br><br>.<DL>...........<DT><CODE
a1020 3e 45 41 43 43 45 53 0a 20 20 20 20 20 20 20 20 20 4f 6e 65 20 6f 66 20 74 68 65 20 64 69 72 65 >EACCES..........One.of.the.dire
a1040 63 74 6f 72 69 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c ctories.containing.<VAR>newname<
a1060 2f 56 41 52 3e 20 6f 72 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 3c 2f 43 4f 44 /VAR>.or.<VAR>oldname</VAR></COD
a1080 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 72 65 66 75 73 65 73 20 77 72 69 74 65 20 70 E>.<DD>..........refuses.write.p
a10a0 65 72 6d 69 73 73 69 6f 6e 3b 20 6f 72 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e ermission;.or.<VAR>newname</VAR>
a10c0 20 61 6e 64 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 72 65 0a 20 20 20 20 .and.<VAR>oldname</VAR>.are.....
a10e0 20 20 20 20 20 64 69 72 65 63 74 6f 72 69 65 73 20 61 6e 64 20 77 72 69 74 65 20 70 65 72 6d 69 .....directories.and.write.permi
a1100 73 73 69 6f 6e 20 69 73 20 72 65 66 75 73 65 64 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 6d ssion.is.refused.for.one.of.them
a1120 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 ...........<br><br>.<DT><CODE>EB
a1140 55 53 59 0a 20 20 20 20 20 20 20 20 20 41 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 64 20 62 USY..........A.directory.named.b
a1160 79 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 20 6f 72 20 3c 56 41 52 3e 6e 65 77 y.<VAR>oldname</VAR>.or.<VAR>new
a1180 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 20 62 79 3c 2f 43 4f 44 name</VAR>.is.being.used.by</COD
a11a0 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 79 73 74 65 6d 20 69 6e 20 61 E>.<DD>..........the.system.in.a
a11c0 20 77 61 79 20 74 68 61 74 20 70 72 65 76 65 6e 74 73 20 74 68 65 20 72 65 6e 61 6d 69 6e 67 20 .way.that.prevents.the.renaming.
a11e0 66 72 6f 6d 20 77 6f 72 6b 69 6e 67 2e 20 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 0a 20 20 20 from.working...This.includes....
a1200 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 61 74 20 61 72 65 20 6d 6f 75 6e 74 ......directories.that.are.mount
a1220 20 70 6f 69 6e 74 73 20 66 6f 72 20 66 69 6c 65 73 79 73 74 65 6d 73 2c 20 61 6e 64 20 64 69 72 .points.for.filesystems,.and.dir
a1240 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 61 72 65 20 74 68 65 20 63 ectories..........that.are.the.c
a1260 75 72 72 65 6e 74 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 69 65 73 20 6f 66 20 70 72 urrent.working.directories.of.pr
a1280 6f 63 65 73 73 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c ocesses...........<br><br>.<DT><
a12a0 43 4f 44 45 3e 45 4e 4f 54 45 4d 50 54 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 CODE>ENOTEMPTY</CODE>.<DD>......
a12c0 20 20 20 20 3c 4c 49 3e 78 20 45 45 58 49 53 54 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 69 ....<LI>x.EEXIST..........The.di
a12e0 72 65 63 74 6f 72 79 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 6e 27 74 rectory.<VAR>newname</VAR>.isn't
a1300 20 65 6d 70 74 79 2e 20 20 54 68 65 20 47 4e 55 20 73 79 73 74 65 6d 20 61 6c 77 61 79 73 20 72 .empty...The.GNU.system.always.r
a1320 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 4e 4f 54 45 4d 50 54 59 3c eturns..........<CODE>ENOTEMPTY<
a1340 2f 43 4f 44 45 3e 20 66 6f 72 20 74 68 69 73 2c 20 62 75 74 20 73 6f 6d 65 20 6f 74 68 65 72 20 /CODE>.for.this,.but.some.other.
a1360 73 79 73 74 65 6d 73 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 45 45 58 49 53 54 3c 2f 43 4f 44 systems.return.<CODE>EEXIST</COD
a1380 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e E>...........<br><br>.<DT><CODE>
a13a0 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 EINVAL</CODE>.<DD>..........<VAR
a13c0 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 74 68 >oldname</VAR>.is.a.directory.th
a13e0 61 74 20 63 6f 6e 74 61 69 6e 73 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a at.contains.<VAR>newname</VAR>..
a1400 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 53 44 .........<br><br>.<DT><CODE>EISD
a1420 49 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 65 77 IR</CODE>.<DD>..........<VAR>new
a1440 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 62 75 74 20 74 68 name</VAR>.is.a.directory.but.th
a1460 65 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 20 69 73 6e 27 74 2e 0a 20 20 20 20 e.<VAR>oldname</VAR>.isn't......
a1480 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4d 4c 49 4e 4b 0a 20 .....<br><br>.<DT><CODE>EMLINK..
a14a0 20 20 20 20 20 20 20 20 54 68 65 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 ........The.parent.directory.of.
a14c0 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 77 6f 75 6c 64 20 68 61 76 65 20 74 6f <VAR>newname</VAR>.would.have.to
a14e0 6f 20 6d 61 6e 79 20 6c 69 6e 6b 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 o.many.links</CODE>.<DD>........
a1500 20 20 28 65 6e 74 72 69 65 73 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c ..(entries)...........<br><br>.<
a1520 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 45 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>ENOENT</CODE>.<DD>.....
a1540 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e .....The.file.<VAR>oldname</VAR>
a1560 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .doesn't.exist...........<br><br
a1580 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 50 43 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 >.<DT><CODE>ENOSPC..........The.
a15a0 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 77 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 3c 56 41 directory.that.would.contain.<VA
a15c0 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 68 61 73 20 6e 6f 20 72 6f 6f 6d 20 66 6f 72 20 R>newname</VAR>.has.no.room.for.
a15e0 61 6e 6f 74 68 65 72 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 65 6e 74 another</CODE>.<DD>..........ent
a1600 72 79 2c 20 61 6e 64 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 70 61 63 65 20 6c 65 66 74 20 69 ry,.and.there.is.no.space.left.i
a1620 6e 20 74 68 65 20 66 69 6c 65 20 73 79 73 74 65 6d 20 74 6f 20 65 78 70 61 6e 64 20 69 74 2e 0a n.the.file.system.to.expand.it..
a1640 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 4f 46 .........<br><br>.<DT><CODE>EROF
a1660 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 6f 75 6c 64 20 69 S..........The.operation.would.i
a1680 6e 76 6f 6c 76 65 20 77 72 69 74 69 6e 67 20 74 6f 20 61 20 64 69 72 65 63 74 6f 72 79 20 6f 6e nvolve.writing.to.a.directory.on
a16a0 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 .a.read-only.file</CODE>.<DD>...
a16c0 20 20 20 20 20 20 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e .......system...........<br><br>
a16e0 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 58 44 45 56 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 74 77 .<DT><CODE>EXDEV..........The.tw
a1700 6f 20 66 69 6c 65 20 6e 61 6d 65 73 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 o.file.names.<VAR>newname</VAR>.
a1720 61 6e 64 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 72 65 20 6f 6e 20 64 69 and.<VAR>oldname</VAR>.are.on.di
a1740 66 66 65 72 65 6e 74 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 66 69 6c fferent</CODE>.<DD>..........fil
a1760 65 20 73 79 73 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 e.systems...........</DL>.......
a1780 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e ..sq.~......w.....t..stdio.hxq.~
a17a0 17 43 74 00 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 6f 6c 64 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 .Ct.(const.char.*oldname,.const.
a17c0 63 68 61 72 20 2a 6e 65 77 6e 61 6d 65 74 00 03 69 6e 74 74 00 06 72 65 77 69 6e 64 73 71 00 7e char.*newnamet..intt..rewindsq.~
a17e0 00 0a 70 74 01 d0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 77 69 6e 64 3c ..pt...........The.<CODE>rewind<
a1800 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 6f 73 69 74 69 6f 6e 73 20 74 68 65 20 73 74 /CODE>.function.positions.the.st
a1820 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 61 74 20 74 68 65 0a 20 20 ream.<VAR>stream</VAR>.at.the...
a1840 20 20 20 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 20 20 49 .......beginning.of.the.file...I
a1860 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 t.is.equivalent.to.calling.<CODE
a1880 3e 66 73 65 65 6b 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e >fseek</CODE>.or..........<CODE>
a18a0 66 73 65 65 6b 6f 3c 2f 43 4f 44 45 3e 20 6f 6e 20 74 68 65 20 3c 56 41 52 3e 73 74 72 65 61 6d fseeko</CODE>.on.the.<VAR>stream
a18c0 3c 2f 56 41 52 3e 20 77 69 74 68 20 61 6e 20 3c 56 41 52 3e 6f 66 66 73 65 74 3c 2f 56 41 52 3e </VAR>.with.an.<VAR>offset</VAR>
a18e0 20 61 72 67 75 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 30 4c 3c 2f .argument.of..........<CODE>0L</
a1900 43 4f 44 45 3e 20 61 6e 64 20 61 20 3c 56 41 52 3e 77 68 65 6e 63 65 3c 2f 56 41 52 3e 20 61 72 CODE>.and.a.<VAR>whence</VAR>.ar
a1920 67 75 6d 65 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 53 45 45 4b 5f 53 45 54 3c 2f 43 4f 44 45 3e 2c gument.of.<CODE>SEEK_SET</CODE>,
a1940 20 65 78 63 65 70 74 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e .except.that..........the.return
a1960 20 76 61 6c 75 65 20 69 73 20 64 69 73 63 61 72 64 65 64 20 61 6e 64 20 74 68 65 20 65 72 72 6f .value.is.discarded.and.the.erro
a1980 72 20 69 6e 64 69 63 61 74 6f 72 20 66 6f 72 20 74 68 65 20 73 74 72 65 61 6d 20 69 73 0a 20 20 r.indicator.for.the.stream.is...
a19a0 20 20 20 20 20 20 20 72 65 73 65 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .......reset..........sq.~......
a19c0 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 17 4a 74 00 0c 46 49 4c 45 20 2a 73 w.....t..stdio.hxq.~.Jt..FILE.*s
a19e0 74 72 65 61 6d 74 00 04 76 6f 69 64 74 00 09 72 65 77 69 6e 64 64 69 72 73 71 00 7e 00 0a 70 74 treamt..voidt..rewinddirsq.~..pt
a1a00 02 5b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 65 77 69 6e 64 64 69 72 3c 2f .[.........The.<CODE>rewinddir</
a1a20 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 69 6e 69 74 CODE>.function.is.used.to.reinit
a1a40 69 61 6c 69 7a 65 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 73 74 ialize.the.directory..........st
a1a60 72 65 61 6d 20 3c 56 41 52 3e 64 69 72 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2c 20 73 6f 20 74 68 ream.<VAR>dirstream</VAR>,.so.th
a1a80 61 74 20 69 66 20 79 6f 75 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 3c 2f 43 4f at.if.you.call.<CODE>readdir</CO
a1aa0 44 45 3e 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 DE>.it..........returns.informat
a1ac0 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 66 69 72 73 74 20 65 6e 74 72 79 20 69 6e 20 74 68 65 ion.about.the.first.entry.in.the
a1ae0 20 64 69 72 65 63 74 6f 72 79 20 61 67 61 69 6e 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 .directory.again...This.........
a1b00 20 66 75 6e 63 74 69 6f 6e 20 61 6c 73 6f 20 6e 6f 74 69 63 65 73 20 69 66 20 66 69 6c 65 73 20 .function.also.notices.if.files.
a1b20 68 61 76 65 20 62 65 65 6e 20 61 64 64 65 64 20 6f 72 20 72 65 6d 6f 76 65 64 20 74 6f 20 74 68 have.been.added.or.removed.to.th
a1b40 65 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 73 69 6e 63 65 20 69 74 20 77 61 e..........directory.since.it.wa
a1b60 73 20 6f 70 65 6e 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 6f 70 65 6e 64 69 72 3c 2f 43 4f 44 s.opened.with.<CODE>opendir</COD
a1b80 45 3e 2e 20 20 28 45 6e 74 72 69 65 73 20 66 6f 72 20 74 68 65 73 65 0a 20 20 20 20 20 20 20 20 E>...(Entries.for.these.........
a1ba0 20 66 69 6c 65 73 20 6d 69 67 68 74 20 6f 72 20 6d 69 67 68 74 20 6e 6f 74 20 62 65 20 72 65 74 .files.might.or.might.not.be.ret
a1bc0 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 72 65 61 64 64 69 72 3c 2f 43 4f 44 45 3e 20 69 66 urned.by.<CODE>readdir</CODE>.if
a1be0 20 74 68 65 79 20 77 65 72 65 0a 20 20 20 20 20 20 20 20 20 61 64 64 65 64 20 6f 72 20 72 65 6d .they.were..........added.or.rem
a1c00 6f 76 65 64 20 73 69 6e 63 65 20 79 6f 75 20 6c 61 73 74 20 63 61 6c 6c 65 64 20 3c 43 4f 44 45 oved.since.you.last.called.<CODE
a1c20 3e 6f 70 65 6e 64 69 72 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 >opendir</CODE>.or..........<COD
a1c40 45 3e 72 65 77 69 6e 64 64 69 72 3c 2f 43 4f 44 45 3e 2e 29 0a 20 20 20 20 20 20 20 20 73 71 00 E>rewinddir</CODE>.).........sq.
a1c60 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 71 00 7e 17 51 74 00 ~......w.....t..dirent.hxq.~.Qt.
a1c80 0e 44 49 52 20 2a 64 69 72 73 74 72 65 61 6d 74 00 04 76 6f 69 64 74 00 06 72 69 6e 64 65 78 73 .DIR.*dirstreamt..voidt..rindexs
a1ca0 71 00 7e 00 0a 70 74 01 3d 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 72 69 6e 64 65 78 3c 2f q.~..pt.=.........<CODE>rindex</
a1cc0 43 4f 44 45 3e 20 69 73 20 61 6e 6f 74 68 65 72 20 6e 61 6d 65 20 66 6f 72 20 3c 43 4f 44 45 3e CODE>.is.another.name.for.<CODE>
a1ce0 73 74 72 72 63 68 72 3c 2f 43 4f 44 45 3e 3b 20 74 68 65 79 20 61 72 65 20 65 78 61 63 74 6c 79 strrchr</CODE>;.they.are.exactly
a1d00 20 74 68 65 20 73 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 4e 65 77 20 63 6f 64 65 20 73 68 6f .the.same...........New.code.sho
a1d20 75 6c 64 20 61 6c 77 61 79 73 20 75 73 65 20 3c 43 4f 44 45 3e 73 74 72 72 63 68 72 3c 2f 43 4f uld.always.use.<CODE>strrchr</CO
a1d40 44 45 3e 20 73 69 6e 63 65 20 74 68 69 73 20 6e 61 6d 65 20 69 73 20 64 65 66 69 6e 65 64 20 69 DE>.since.this.name.is.defined.i
a1d60 6e 0a 20 20 20 20 20 20 20 20 20 49 53 4f 20 43 20 77 68 69 6c 65 20 3c 43 4f 44 45 3e 72 69 6e n..........ISO.C.while.<CODE>rin
a1d80 64 65 78 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 42 53 44 20 69 6e 76 65 6e 74 69 6f 6e 20 77 68 dex</CODE>.is.a.BSD.invention.wh
a1da0 69 63 68 20 6e 65 76 65 72 20 77 61 73 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 ich.never.was.available.........
a1dc0 20 6f 6e 20 53 79 73 74 65 6d 20 56 20 64 65 72 69 76 65 64 20 73 79 73 74 65 6d 73 2e 0a 20 20 .on.System.V.derived.systems....
a1de0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e ......sq.~......w.....t..string.
a1e00 68 78 71 00 7e 17 58 74 00 19 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e hxq.~.Xt..const.char.*string,.in
a1e20 74 20 63 74 00 06 63 68 61 72 20 2a 74 00 04 72 69 6e 74 73 71 00 7e 00 0a 70 74 01 f4 0a 20 20 t.ct..char.*t..rintsq.~..pt.....
a1e40 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 6f 75 6e 64 20 3c 56 41 52 ......These.functions.round.<VAR
a1e60 3e 78 3c 2f 56 41 52 3e 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 61 63 63 >x</VAR>.to.an.integer.value.acc
a1e80 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 72 ording.to.the..........current.r
a1ea0 6f 75 6e 64 69 6e 67 20 6d 6f 64 65 2e 20 20 2c 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 69 6e ounding.mode...,.for..........in
a1ec0 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 72 6f 75 6e formation.about.the.various.roun
a1ee0 64 69 6e 67 20 6d 6f 64 65 73 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 ding.modes...The.default........
a1f00 20 20 72 6f 75 6e 64 69 6e 67 20 6d 6f 64 65 20 69 73 20 74 6f 20 72 6f 75 6e 64 20 74 6f 20 74 ..rounding.mode.is.to.round.to.t
a1f20 68 65 20 6e 65 61 72 65 73 74 20 69 6e 74 65 67 65 72 3b 20 73 6f 6d 65 20 6d 61 63 68 69 6e 65 he.nearest.integer;.some.machine
a1f40 73 0a 20 20 20 20 20 20 20 20 20 73 75 70 70 6f 72 74 20 6f 74 68 65 72 20 6d 6f 64 65 73 2c 20 s..........support.other.modes,.
a1f60 62 75 74 20 72 6f 75 6e 64 2d 74 6f 2d 6e 65 61 72 65 73 74 20 69 73 20 61 6c 77 61 79 73 20 75 but.round-to-nearest.is.always.u
a1f80 73 65 64 20 75 6e 6c 65 73 73 0a 20 20 20 20 20 20 20 20 20 79 6f 75 20 65 78 70 6c 69 63 69 74 sed.unless..........you.explicit
a1fa0 6c 79 20 73 65 6c 65 63 74 20 61 6e 6f 74 68 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ly.select.another...........<br>
a1fc0 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 77 61 73 20 6e 6f 74 20 69 6e 69 <br>.If.<VAR>x</VAR>.was.not.ini
a1fe0 74 69 61 6c 6c 79 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f tially.an.integer,.these.functio
a2000 6e 73 20 72 61 69 73 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 65 78 61 63 74 20 65 78 ns.raise.the..........inexact.ex
a2020 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 ception..........sq.~......w....
a2040 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 5f 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f .t..math.hxq.~._t..double.xt..do
a2060 75 62 6c 65 74 00 05 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 01 f4 0a 20 20 20 20 20 20 20 20 54 ublet..rintfsq.~..pt...........T
a2080 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 41 52 hese.functions.round.<VAR>x</VAR
a20a0 3e 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 61 63 63 6f 72 64 69 6e 67 20 >.to.an.integer.value.according.
a20c0 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 72 6f 75 6e 64 69 6e 67 to.the..........current.rounding
a20e0 20 6d 6f 64 65 2e 20 20 2c 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 .mode...,.for..........informati
a2100 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 72 6f 75 6e 64 69 6e 67 20 6d 6f on.about.the.various.rounding.mo
a2120 64 65 73 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 72 6f 75 6e 64 des...The.default..........round
a2140 69 6e 67 20 6d 6f 64 65 20 69 73 20 74 6f 20 72 6f 75 6e 64 20 74 6f 20 74 68 65 20 6e 65 61 72 ing.mode.is.to.round.to.the.near
a2160 65 73 74 20 69 6e 74 65 67 65 72 3b 20 73 6f 6d 65 20 6d 61 63 68 69 6e 65 73 0a 20 20 20 20 20 est.integer;.some.machines......
a2180 20 20 20 20 73 75 70 70 6f 72 74 20 6f 74 68 65 72 20 6d 6f 64 65 73 2c 20 62 75 74 20 72 6f 75 ....support.other.modes,.but.rou
a21a0 6e 64 2d 74 6f 2d 6e 65 61 72 65 73 74 20 69 73 20 61 6c 77 61 79 73 20 75 73 65 64 20 75 6e 6c nd-to-nearest.is.always.used.unl
a21c0 65 73 73 0a 20 20 20 20 20 20 20 20 20 79 6f 75 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 6c 65 ess..........you.explicitly.sele
a21e0 63 74 20 61 6e 6f 74 68 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 ct.another...........<br><br>.If
a2200 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 77 61 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c 6c 79 20 .<VAR>x</VAR>.was.not.initially.
a2220 61 6e 20 69 6e 74 65 67 65 72 2c 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 61 69 73 an.integer,.these.functions.rais
a2240 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 65 78 61 63 74 20 65 78 63 65 70 74 69 6f 6e e.the..........inexact.exception
a2260 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 ..........sq.~......w.....t..mat
a2280 68 2e 68 78 71 00 7e 17 66 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 05 72 69 h.hxq.~.ft..float.xt..floatt..ri
a22a0 6e 74 6c 73 71 00 7e 00 0a 70 74 01 f4 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 ntlsq.~..pt...........These.func
a22c0 74 69 6f 6e 73 20 72 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 74 6f 20 61 6e 20 69 tions.round.<VAR>x</VAR>.to.an.i
a22e0 6e 74 65 67 65 72 20 76 61 6c 75 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 nteger.value.according.to.the...
a2300 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 72 6f 75 6e 64 69 6e 67 20 6d 6f 64 65 2e 20 20 2c .......current.rounding.mode...,
a2320 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 .for..........information.about.
a2340 74 68 65 20 76 61 72 69 6f 75 73 20 72 6f 75 6e 64 69 6e 67 20 6d 6f 64 65 73 2e 20 20 54 68 65 the.various.rounding.modes...The
a2360 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 72 6f 75 6e 64 69 6e 67 20 6d 6f 64 65 20 .default..........rounding.mode.
a2380 69 73 20 74 6f 20 72 6f 75 6e 64 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 69 6e 74 65 67 is.to.round.to.the.nearest.integ
a23a0 65 72 3b 20 73 6f 6d 65 20 6d 61 63 68 69 6e 65 73 0a 20 20 20 20 20 20 20 20 20 73 75 70 70 6f er;.some.machines..........suppo
a23c0 72 74 20 6f 74 68 65 72 20 6d 6f 64 65 73 2c 20 62 75 74 20 72 6f 75 6e 64 2d 74 6f 2d 6e 65 61 rt.other.modes,.but.round-to-nea
a23e0 72 65 73 74 20 69 73 20 61 6c 77 61 79 73 20 75 73 65 64 20 75 6e 6c 65 73 73 0a 20 20 20 20 20 rest.is.always.used.unless......
a2400 20 20 20 20 79 6f 75 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 6c 65 63 74 20 61 6e 6f 74 68 65 ....you.explicitly.select.anothe
a2420 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f r...........<br><br>.If.<VAR>x</
a2440 56 41 52 3e 20 77 61 73 20 6e 6f 74 20 69 6e 69 74 69 61 6c 6c 79 20 61 6e 20 69 6e 74 65 67 65 VAR>.was.not.initially.an.intege
a2460 72 2c 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 61 69 73 65 20 74 68 65 0a 20 20 20 r,.these.functions.raise.the....
a2480 20 20 20 20 20 20 69 6e 65 78 61 63 74 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 ......inexact.exception.........
a24a0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 6d .sq.~......w.....t..math.hxq.~.m
a24c0 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 t..long.double.xt..long.doublet.
a24e0 05 72 6d 64 69 72 73 71 00 7e 00 0a 70 74 03 7d 0a 20 20 20 20 20 20 20 20 2c 20 64 65 6c 65 74 .rmdirsq.~..pt.}.........,.delet
a2500 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 61 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 ing...........a.directory.......
a2520 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 72 6d 64 69 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 ...The.<CODE>rmdir</CODE>.functi
a2540 6f 6e 20 64 65 6c 65 74 65 73 20 61 20 64 69 72 65 63 74 6f 72 79 2e 20 20 54 68 65 20 64 69 72 on.deletes.a.directory...The.dir
a2560 65 63 74 6f 72 79 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 65 6d 70 74 79 20 62 65 ectory.must.be..........empty.be
a2580 66 6f 72 65 20 69 74 20 63 61 6e 20 62 65 20 72 65 6d 6f 76 65 64 3b 20 69 6e 20 6f 74 68 65 72 fore.it.can.be.removed;.in.other
a25a0 20 77 6f 72 64 73 2c 20 69 74 20 63 61 6e 20 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 0a 20 20 20 20 .words,.it.can.only.contain.....
a25c0 20 20 20 20 20 65 6e 74 72 69 65 73 20 66 6f 72 20 3c 54 54 3e 2e 3c 2f 54 54 3e 20 61 6e 64 20 .....entries.for.<TT>.</TT>.and.
a25e0 3c 54 54 3e 2e 2e 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 <TT>..</TT>...........<br><br>.I
a2600 6e 20 6d 6f 73 74 20 6f 74 68 65 72 20 72 65 73 70 65 63 74 73 2c 20 3c 43 4f 44 45 3e 72 6d 64 n.most.other.respects,.<CODE>rmd
a2620 69 72 3c 2f 43 4f 44 45 3e 20 62 65 68 61 76 65 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 75 6e 6c ir</CODE>.behaves.like.<CODE>unl
a2640 69 6e 6b 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 ink</CODE>...There..........are.
a2660 74 77 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 two.additional.<CODE>errno</CODE
a2680 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 64 65 66 69 6e 65 64 20 66 6f 72 0a 20 >.error.conditions.defined.for..
a26a0 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 72 6d 64 69 72 3c 2f 43 4f 44 45 3e 3a 0a 20 20 20 20 ........<CODE>rmdir</CODE>:.....
a26c0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 .....<br><br>.<DL>...........<DT
a26e0 3e 3c 43 4f 44 45 3e 45 4e 4f 54 45 4d 50 54 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 ><CODE>ENOTEMPTY</CODE>.<DD>....
a2700 20 20 20 20 20 20 3c 4c 49 3e 78 20 45 45 58 49 53 54 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 ......<LI>x.EEXIST..........The.
a2720 64 69 72 65 63 74 6f 72 79 20 74 6f 20 62 65 20 64 65 6c 65 74 65 64 20 69 73 20 6e 6f 74 20 65 directory.to.be.deleted.is.not.e
a2740 6d 70 74 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 mpty...........</DL>..........<b
a2760 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 74 77 6f 20 65 72 72 6f 72 20 63 6f 64 65 73 20 61 72 65 r><br>.These.two.error.codes.are
a2780 20 73 79 6e 6f 6e 79 6d 6f 75 73 3b 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 20 75 73 65 20 6f 6e .synonymous;.some.systems.use.on
a27a0 65 2c 20 61 6e 64 20 73 6f 6d 65 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 74 68 e,.and.some.use..........the.oth
a27c0 65 72 2e 20 20 54 68 65 20 47 4e 55 20 73 79 73 74 65 6d 20 61 6c 77 61 79 73 20 75 73 65 73 20 er...The.GNU.system.always.uses.
a27e0 3c 43 4f 44 45 3e 45 4e 4f 54 45 4d 50 54 59 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 <CODE>ENOTEMPTY</CODE>..........
a2800 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 70 72 6f 74 6f 74 79 70 65 20 66 6f 72 20 74 68 69 73 .<br><br>.The.prototype.for.this
a2820 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 68 65 61 .function.is.declared.in.the.hea
a2840 64 65 72 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 3c 54 54 3e 75 6e 69 73 74 64 2e 68 3c 2f der.file..........<TT>unistd.h</
a2860 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 TT>..........sq.~......w.....t..
a2880 75 6e 69 73 74 64 2e 68 78 71 00 7e 17 74 74 00 14 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c unistd.hxq.~.tt..const.char.*fil
a28a0 65 6e 61 6d 65 74 00 03 69 6e 74 74 00 05 72 6f 75 6e 64 73 71 00 7e 00 0a 70 74 00 a0 0a 20 20 enamet..intt..roundsq.~..pt.....
a28c0 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 73 69 6d 69 6c 61 ......These.functions.are.simila
a28e0 72 20 74 6f 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 74 68 65 79 r.to.<CODE>rint</CODE>,.but.they
a2900 20 72 6f 75 6e 64 20 68 61 6c 66 77 61 79 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 73 20 61 77 .round.halfway..........cases.aw
a2920 61 79 20 66 72 6f 6d 20 7a 65 72 6f 20 69 6e 73 74 65 61 64 20 6f 66 20 74 6f 20 74 68 65 20 6e ay.from.zero.instead.of.to.the.n
a2940 65 61 72 65 73 74 20 65 76 65 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 earest.even.integer..........sq.
a2960 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 7b 74 00 08 64 ~......w.....t..math.hxq.~.{t..d
a2980 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 72 6f 75 6e 64 66 73 71 00 7e 00 0a 70 ouble.xt..doublet..roundfsq.~..p
a29a0 74 00 a0 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 t...........These.functions.are.
a29c0 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e 2c 20 62 75 similar.to.<CODE>rint</CODE>,.bu
a29e0 74 20 74 68 65 79 20 72 6f 75 6e 64 20 68 61 6c 66 77 61 79 0a 20 20 20 20 20 20 20 20 20 63 61 t.they.round.halfway..........ca
a2a00 73 65 73 20 61 77 61 79 20 66 72 6f 6d 20 7a 65 72 6f 20 69 6e 73 74 65 61 64 20 6f 66 20 74 6f ses.away.from.zero.instead.of.to
a2a20 20 74 68 65 20 6e 65 61 72 65 73 74 20 65 76 65 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 .the.nearest.even.integer.......
a2a40 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
a2a60 17 82 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 06 72 6f 75 6e 64 6c 73 71 00 ..t..float.xt..floatt..roundlsq.
a2a80 7e 00 0a 70 74 00 a0 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 ~..pt...........These.functions.
a2aa0 61 72 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 72 69 6e 74 3c 2f 43 4f 44 45 3e are.similar.to.<CODE>rint</CODE>
a2ac0 2c 20 62 75 74 20 74 68 65 79 20 72 6f 75 6e 64 20 68 61 6c 66 77 61 79 0a 20 20 20 20 20 20 20 ,.but.they.round.halfway........
a2ae0 20 20 63 61 73 65 73 20 61 77 61 79 20 66 72 6f 6d 20 7a 65 72 6f 20 69 6e 73 74 65 61 64 20 6f ..cases.away.from.zero.instead.o
a2b00 66 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 20 65 76 65 6e 20 69 6e 74 65 67 65 72 2e 0a 20 f.to.the.nearest.even.integer...
a2b20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
a2b40 78 71 00 7e 17 89 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f xq.~..t..long.double.xt..long.do
a2b60 75 62 6c 65 74 00 07 72 70 6d 61 74 63 68 73 71 00 7e 00 0a 70 74 03 6e 0a 20 20 20 20 20 20 20 ublet..rpmatchsq.~..pt.n........
a2b80 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 72 70 6d 61 74 63 68 3c 2f 43 4f 44 .The.function.<CODE>rpmatch</COD
a2ba0 45 3e 20 63 68 65 63 6b 73 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 20 3c 56 41 52 3e 72 65 73 E>.checks.the.string.in.<VAR>res
a2bc0 70 6f 6e 73 65 3c 2f 56 41 52 3e 20 77 68 65 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 6f 72 20 ponse</VAR>.whether..........or.
a2be0 6e 6f 74 20 69 74 20 69 73 20 61 20 63 6f 72 72 65 63 74 20 79 65 73 2d 6f 72 2d 6e 6f 20 61 6e not.it.is.a.correct.yes-or-no.an
a2c00 73 77 65 72 20 61 6e 64 20 69 66 20 79 65 73 2c 20 77 68 69 63 68 20 6f 6e 65 2e 20 20 54 68 65 swer.and.if.yes,.which.one...The
a2c20 0a 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 20 75 73 65 73 20 74 68 65 20 3c 43 4f 44 45 3e 59 ..........check.uses.the.<CODE>Y
a2c40 45 53 45 58 50 52 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 4e 4f 45 58 50 52 3c 2f ESEXPR</CODE>.and.<CODE>NOEXPR</
a2c60 43 4f 44 45 3e 20 64 61 74 61 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 CODE>.data.in.the..........<CODE
a2c80 3e 4c 43 5f 4d 45 53 53 41 47 45 53 3c 2f 43 4f 44 45 3e 20 63 61 74 65 67 6f 72 79 20 6f 66 20 >LC_MESSAGES</CODE>.category.of.
a2ca0 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 6c 6f 63 61 6c 65 2e 20 20 the.currently.selected.locale...
a2cc0 54 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 73 20 The..........return.value.is.as.
a2ce0 66 6f 6c 6c 6f 77 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a follows:..........<br><br>.<DL>.
a2d00 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 0a 3c 44 44 ..........<DT><CODE>1</CODE>.<DD
a2d20 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 75 73 65 72 20 65 6e 74 65 72 65 64 20 61 6e 20 61 >..........The.user.entered.an.a
a2d40 66 66 69 72 6d 61 74 69 76 65 20 61 6e 73 77 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ffirmative.answer...........<br>
a2d60 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 <br>.<DT><CODE>0</CODE>.<DD>....
a2d80 20 20 20 20 20 20 54 68 65 20 75 73 65 72 20 65 6e 74 65 72 65 64 20 61 20 6e 65 67 61 74 69 76 ......The.user.entered.a.negativ
a2da0 65 20 61 6e 73 77 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e e.answer...........<br><br>.<DT>
a2dc0 3c 43 4f 44 45 3e 2d 31 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 6e 73 77 65 72 20 6d 61 74 <CODE>-1..........The.answer.mat
a2de0 63 68 65 64 20 6e 65 69 74 68 65 72 20 74 68 65 20 3c 43 4f 44 45 3e 59 45 53 45 58 50 52 3c 2f ched.neither.the.<CODE>YESEXPR</
a2e00 43 4f 44 45 3e 20 6e 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 4e 4f 45 58 50 52 3c 2f 43 4f 44 45 CODE>.nor.the.<CODE>NOEXPR</CODE
a2e20 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 72 65 67 75 6c 61 72 20 65 ></CODE>.<DD>..........regular.e
a2e40 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 xpression...........</DL>.......
a2e60 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 ...<br><br>.This.function.is.not
a2e80 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 62 75 74 20 61 76 61 69 6c 61 62 6c 65 20 62 65 73 69 .standardized.but.available.besi
a2ea0 64 65 20 69 6e 20 47 4e 55 20 6c 69 62 63 20 61 74 0a 20 20 20 20 20 20 20 20 20 6c 65 61 73 74 de.in.GNU.libc.at..........least
a2ec0 20 61 6c 73 6f 20 69 6e 20 74 68 65 20 49 42 4d 20 41 49 58 20 6c 69 62 72 61 72 79 2e 0a 20 20 .also.in.the.IBM.AIX.library....
a2ee0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e ......sq.~......w.....t..stdlib.
a2f00 68 78 71 00 7e 17 90 74 00 14 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 70 6f 6e 73 65 74 00 hxq.~..t..const.char.*responset.
a2f20 03 69 6e 74 74 00 05 73 63 61 6c 62 73 71 00 7e 00 0a 70 74 00 59 0a 20 20 20 20 20 20 20 20 54 .intt..scalbsq.~..pt.Y.........T
a2f40 68 65 20 3c 43 4f 44 45 3e 73 63 61 6c 62 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 he.<CODE>scalb</CODE>.function.i
a2f60 73 20 74 68 65 20 42 53 44 20 6e 61 6d 65 20 66 6f 72 20 3c 43 4f 44 45 3e 6c 64 65 78 70 3c 2f s.the.BSD.name.for.<CODE>ldexp</
a2f80 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
a2fa0 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 97 74 00 1a 64 6f 75 62 6c 65 20 76 61 6c 75 65 2c 20 69 ..math.hxq.~..t..double.value,.i
a2fc0 6e 74 20 65 78 70 6f 6e 65 6e 74 74 00 06 64 6f 75 62 6c 65 74 00 06 73 63 61 6c 62 66 73 71 00 nt.exponentt..doublet..scalbfsq.
a2fe0 7e 00 0a 70 74 00 59 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 63 61 6c 62 3c ~..pt.Y.........The.<CODE>scalb<
a3000 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 42 53 44 20 6e 61 6d 65 20 /CODE>.function.is.the.BSD.name.
a3020 66 6f 72 20 3c 43 4f 44 45 3e 6c 64 65 78 70 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 for.<CODE>ldexp</CODE>..........
a3040 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 9e 74 sq.~......w.....t..math.hxq.~..t
a3060 00 19 66 6c 6f 61 74 20 76 61 6c 75 65 2c 20 69 6e 74 20 65 78 70 6f 6e 65 6e 74 74 00 05 66 6c ..float.value,.int.exponentt..fl
a3080 6f 61 74 74 00 06 73 63 61 6c 62 6c 73 71 00 7e 00 0a 70 74 00 59 0a 20 20 20 20 20 20 20 20 54 oatt..scalblsq.~..pt.Y.........T
a30a0 68 65 20 3c 43 4f 44 45 3e 73 63 61 6c 62 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 he.<CODE>scalb</CODE>.function.i
a30c0 73 20 74 68 65 20 42 53 44 20 6e 61 6d 65 20 66 6f 72 20 3c 43 4f 44 45 3e 6c 64 65 78 70 3c 2f s.the.BSD.name.for.<CODE>ldexp</
a30e0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
a3100 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 a5 74 00 1f 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 76 61 6c ..math.hxq.~..t..long.double.val
a3120 75 65 2c 20 69 6e 74 20 65 78 70 6f 6e 65 6e 74 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 ue,.int.exponentt..long.doublet.
a3140 07 73 63 61 6c 62 6c 6e 73 71 00 7e 00 0a 70 74 00 b8 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 .scalblnsq.~..pt...........<CODE
a3160 3e 73 63 61 6c 62 6c 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 >scalbln</CODE>.is.identical.to.
a3180 3c 43 4f 44 45 3e 73 63 61 6c 62 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 <CODE>scalb</CODE>,.except.that.
a31a0 74 68 65 20 65 78 70 6f 6e 65 6e 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 3c 2f 56 41 the.exponent..........<VAR>n</VA
a31c0 52 3e 20 69 73 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e R>.is.a.<CODE>long.int</CODE>.in
a31e0 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 stead.of.a.floating-point.number
a3200 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 ..........sq.~......w.....t..mat
a3220 68 2e 68 78 71 00 7e 17 ac 74 00 14 64 6f 75 62 6c 65 20 78 2c 20 6c 6f 6e 67 20 69 6e 74 20 6e h.hxq.~..t..double.x,.long.int.n
a3240 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 08 73 63 61 6c 62 6c 6e 66 73 71 00 7e 00 t..long.long.intt..scalblnfsq.~.
a3260 0a 70 74 00 b8 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 63 61 6c 62 6c 6e 3c 2f 43 4f 44 .pt...........<CODE>scalbln</COD
a3280 45 3e 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 63 61 6c 62 3c 2f E>.is.identical.to.<CODE>scalb</
a32a0 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 65 78 70 6f 6e 65 6e 74 0a CODE>,.except.that.the.exponent.
a32c0 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 69 73 20 61 20 3c 43 4f 44 45 .........<VAR>n</VAR>.is.a.<CODE
a32e0 3e 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c >long.int</CODE>.instead.of.a.fl
a3300 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 oating-point.number..........sq.
a3320 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 b3 74 00 13 66 ~......w.....t..math.hxq.~..t..f
a3340 6c 6f 61 74 20 78 2c 20 6c 6f 6e 67 20 69 6e 74 20 6e 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 loat.x,.long.int.nt..long.long.i
a3360 6e 74 74 00 08 73 63 61 6c 62 6c 6e 6c 73 71 00 7e 00 0a 70 74 00 b8 0a 20 20 20 20 20 20 20 20 ntt..scalblnlsq.~..pt...........
a3380 3c 43 4f 44 45 3e 73 63 61 6c 62 6c 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 69 64 65 6e 74 69 63 61 <CODE>scalbln</CODE>.is.identica
a33a0 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 63 61 6c 62 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 l.to.<CODE>scalb</CODE>,.except.
a33c0 74 68 61 74 20 74 68 65 20 65 78 70 6f 6e 65 6e 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e that.the.exponent..........<VAR>
a33e0 6e 3c 2f 56 41 52 3e 20 69 73 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 n</VAR>.is.a.<CODE>long.int</COD
a3400 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e E>.instead.of.a.floating-point.n
a3420 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 umber..........sq.~......w.....t
a3440 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 ba 74 00 19 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 2c 20 ..math.hxq.~..t..long.double.x,.
a3460 6c 6f 6e 67 20 69 6e 74 20 6e 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 06 73 63 61 long.int.nt..long.long.intt..sca
a3480 6c 62 6e 73 71 00 7e 00 0a 70 74 00 b3 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 63 61 6c lbnsq.~..pt...........<CODE>scal
a34a0 62 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 3c 43 4f 44 45 3e bn</CODE>.is.identical.to.<CODE>
a34c0 73 63 61 6c 62 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 65 78 scalb</CODE>,.except.that.the.ex
a34e0 70 6f 6e 65 6e 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 69 73 20 ponent..........<VAR>n</VAR>.is.
a3500 61 6e 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 an.<CODE>int</CODE>.instead.of.a
a3520 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 .floating-point.number..........
a3540 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 c1 74 sq.~......w.....t..math.hxq.~..t
a3560 00 0f 64 6f 75 62 6c 65 20 78 2c 20 69 6e 74 20 6e 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e ..double.x,.int.nt..long.long.in
a3580 74 74 00 07 73 63 61 6c 62 6e 66 73 71 00 7e 00 0a 70 74 00 b3 0a 20 20 20 20 20 20 20 20 3c 43 tt..scalbnfsq.~..pt...........<C
a35a0 4f 44 45 3e 73 63 61 6c 62 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 ODE>scalbn</CODE>.is.identical.t
a35c0 6f 20 3c 43 4f 44 45 3e 73 63 61 6c 62 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 o.<CODE>scalb</CODE>,.except.tha
a35e0 74 20 74 68 65 20 65 78 70 6f 6e 65 6e 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 3c 2f t.the.exponent..........<VAR>n</
a3600 56 41 52 3e 20 69 73 20 61 6e 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 VAR>.is.an.<CODE>int</CODE>.inst
a3620 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a ead.of.a.floating-point.number..
a3640 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e ........sq.~......w.....t..math.
a3660 68 78 71 00 7e 17 c8 74 00 0e 66 6c 6f 61 74 20 78 2c 20 69 6e 74 20 6e 74 00 0d 6c 6f 6e 67 20 hxq.~..t..float.x,.int.nt..long.
a3680 6c 6f 6e 67 20 69 6e 74 74 00 07 73 63 61 6c 62 6e 6c 73 71 00 7e 00 0a 70 74 00 b3 0a 20 20 20 long.intt..scalbnlsq.~..pt......
a36a0 20 20 20 20 20 3c 43 4f 44 45 3e 73 63 61 6c 62 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 69 64 65 6e .....<CODE>scalbn</CODE>.is.iden
a36c0 74 69 63 61 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 63 61 6c 62 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 tical.to.<CODE>scalb</CODE>,.exc
a36e0 65 70 74 20 74 68 61 74 20 74 68 65 20 65 78 70 6f 6e 65 6e 74 0a 20 20 20 20 20 20 20 20 20 3c ept.that.the.exponent..........<
a3700 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 VAR>n</VAR>.is.an.<CODE>int</COD
a3720 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e E>.instead.of.a.floating-point.n
a3740 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 umber..........sq.~......w.....t
a3760 00 06 6d 61 74 68 2e 68 78 71 00 7e 17 cf 74 00 14 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 2c 20 ..math.hxq.~..t..long.double.x,.
a3780 69 6e 74 20 6e 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 07 73 63 61 6e 64 69 72 73 int.nt..long.long.intt..scandirs
a37a0 71 00 7e 00 0a 70 74 05 86 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c q.~..pt...........<br><br>.The.<
a37c0 43 4f 44 45 3e 73 63 61 6e 64 69 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 63 61 CODE>scandir</CODE>.function.sca
a37e0 6e 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 ns.the.contents.of.the.directory
a3800 20 73 65 6c 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 56 41 52 3e 64 69 72 3c 2f .selected..........by.<VAR>dir</
a3820 56 41 52 3e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 6e 20 2a 3c 56 41 52 3e 6e 61 6d 65 6c VAR>...The.result.in.*<VAR>namel
a3840 69 73 74 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 70 6f 69 6e 74 65 72 ist</VAR>.is.an.array.of.pointer
a3860 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 74 79 70 65 20 s.to..........structure.of.type.
a3880 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 64 69 72 65 6e 74 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 <CODE>struct.dirent</CODE>.which
a38a0 20 64 65 73 63 72 69 62 65 20 61 6c 6c 20 73 65 6c 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 20 .describe.all.selected..........
a38c0 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 73 20 61 6e 64 20 77 68 69 63 68 20 69 73 20 61 directory.entries.and.which.is.a
a38e0 6c 6c 6f 63 61 74 65 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 llocated.using.<CODE>malloc</COD
a3900 45 3e 2e 20 20 49 6e 73 74 65 61 64 0a 20 20 20 20 20 20 20 20 20 6f 66 20 61 6c 77 61 79 73 20 E>...Instead..........of.always.
a3920 67 65 74 74 69 6e 67 20 61 6c 6c 20 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 73 20 72 65 getting.all.directory.entries.re
a3940 74 75 72 6e 65 64 2c 20 74 68 65 20 75 73 65 72 20 73 75 70 70 6c 69 65 64 0a 20 20 20 20 20 20 turned,.the.user.supplied.......
a3960 20 20 20 66 75 6e 63 74 69 6f 6e 20 3c 56 41 52 3e 73 65 6c 65 63 74 6f 72 3c 2f 56 41 52 3e 20 ...function.<VAR>selector</VAR>.
a3980 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 63 69 64 65 20 77 68 69 63 68 20 65 6e 74 72 can.be.used.to.decide.which.entr
a39a0 69 65 73 20 61 72 65 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 2e 20 ies.are.in.the..........result..
a39c0 20 4f 6e 6c 79 20 74 68 65 20 65 6e 74 72 69 65 73 20 66 6f 72 20 77 68 69 63 68 20 3c 56 41 52 .Only.the.entries.for.which.<VAR
a39e0 3e 73 65 6c 65 63 74 6f 72 3c 2f 56 41 52 3e 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 7a 65 >selector</VAR>.returns.a.non-ze
a3a00 72 6f 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 61 72 65 20 73 65 6c 65 63 74 65 64 2e 0a ro..........value.are.selected..
a3a20 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 69 6e 61 6c 6c 79 20 74 68 65 20 65 6e .........<br><br>.Finally.the.en
a3a40 74 72 69 65 73 20 69 6e 20 2a 3c 56 41 52 3e 6e 61 6d 65 6c 69 73 74 3c 2f 56 41 52 3e 20 61 72 tries.in.*<VAR>namelist</VAR>.ar
a3a60 65 20 73 6f 72 74 65 64 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 e.sorted.using.the..........user
a3a80 2d 73 75 70 70 6c 69 65 64 20 66 75 6e 63 74 69 6f 6e 20 3c 56 41 52 3e 63 6d 70 3c 2f 56 41 52 -supplied.function.<VAR>cmp</VAR
a3aa0 3e 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 >...The.arguments.passed.to.the.
a3ac0 3c 56 41 52 3e 63 6d 70 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e <VAR>cmp</VAR>..........function
a3ae0 20 61 72 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 64 69 72 65 6e 74 .are.of.type.<CODE>struct.dirent
a3b00 20 2a 2a 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 72 65 66 6f 72 65 20 6f 6e 65 20 63 61 6e 6e 6f 74 .**</CODE>,.therefore.one.cannot
a3b20 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6c 79 20 75 73 65 20 74 68 65 20 3c 43 4f 44 45 ..........directly.use.the.<CODE
a3b40 3e 73 74 72 63 6d 70 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 73 74 72 63 6f 6c 6c 3c >strcmp</CODE>.or.<CODE>strcoll<
a3b60 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 3b 20 69 6e 73 74 65 61 64 20 73 65 65 0a 20 20 /CODE>.functions;.instead.see...
a3b80 20 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 3c 43 4f 44 45 3e 61 6c 70 68 61 .......the.functions.<CODE>alpha
a3ba0 73 6f 72 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 76 65 72 73 69 6f 6e 73 6f 72 sort</CODE>.and.<CODE>versionsor
a3bc0 74 3c 2f 43 4f 44 45 3e 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 t</CODE>.below...........<br><br
a3be0 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 >.The.return.value.of.the.functi
a3c00 6f 6e 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e 74 72 69 65 73 20 70 6c 61 63 on.is.the.number.of.entries.plac
a3c20 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 2a 3c 56 41 52 3e 6e 61 6d 65 6c 69 73 74 3c 2f 56 ed.in..........*<VAR>namelist</V
a3c40 41 52 3e 2e 20 20 49 66 20 69 74 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 AR>...If.it.is.<CODE>-1</CODE>.a
a3c60 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 28 65 69 74 68 65 72 20 74 68 65 0a 20 20 20 n.error.occurred.(either.the....
a3c80 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6f 70 65 ......directory.could.not.be.ope
a3ca0 6e 65 64 20 66 6f 72 20 72 65 61 64 69 6e 67 20 6f 72 20 74 68 65 20 6d 61 6c 6c 6f 63 20 63 61 ned.for.reading.or.the.malloc.ca
a3cc0 6c 6c 20 66 61 69 6c 65 64 29 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 67 6c 6f 62 ll.failed).and..........the.glob
a3ce0 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 63 al.variable.<CODE>errno</CODE>.c
a3d00 6f 6e 74 61 69 6e 73 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 ontains.more.information.on.the.
a3d20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 error..........sq.~......w.....t
a3d40 00 08 64 69 72 65 6e 74 2e 68 78 71 00 7e 17 d6 74 00 7c 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 ..dirent.hxq.~..t.|const.char.*d
a3d60 69 72 2c 20 73 74 72 75 63 74 20 64 69 72 65 6e 74 20 2a 2a 2a 6e 61 6d 65 6c 69 73 74 2c 20 69 ir,.struct.dirent.***namelist,.i
a3d80 6e 74 20 28 2a 73 65 6c 65 63 74 6f 72 29 20 28 63 6f 6e 73 74 20 73 74 72 75 63 74 20 64 69 72 nt.(*selector).(const.struct.dir
a3da0 65 6e 74 20 2a 29 2c 20 69 6e 74 20 28 2a 63 6d 70 29 20 28 63 6f 6e 73 74 20 76 6f 69 64 20 2a ent.*),.int.(*cmp).(const.void.*
a3dc0 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 29 74 00 03 69 6e 74 74 00 09 73 63 61 6e 64 69 72 36 ,.const.void.*)t..intt..scandir6
a3de0 34 73 71 00 7e 00 0a 70 74 02 5e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 63 4sq.~..pt.^.........The.<CODE>sc
a3e00 61 6e 64 69 72 36 34 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6c 69 andir64</CODE>.function.works.li
a3e20 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 73 63 61 6e 64 69 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 ke.the.<CODE>scandir</CODE>.func
a3e40 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 64 69 tion..........except.that.the.di
a3e60 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 73 20 69 74 20 72 65 74 75 72 6e 73 20 61 72 65 20 64 rectory.entries.it.returns.are.d
a3e80 65 73 63 72 69 62 65 64 20 62 79 20 65 6c 65 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 6f 66 escribed.by.elements..........of
a3ea0 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 64 69 72 65 6e 74 36 34 3c 2f 43 4f 44 .type.<CODE>struct.dirent64</COD
a3ec0 45 3e 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a E>...The.function.pointed.to.by.
a3ee0 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 65 6c 65 63 74 6f 72 3c 2f 56 41 52 3e 20 69 73 20 .........<VAR>selector</VAR>.is.
a3f00 61 67 61 69 6e 20 75 73 65 64 20 74 6f 20 73 65 6c 65 63 74 20 74 68 65 20 64 65 73 69 72 65 64 again.used.to.select.the.desired
a3f20 20 65 6e 74 72 69 65 73 2c 20 65 78 63 65 70 74 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 3c .entries,.except.that..........<
a3f40 56 41 52 3e 73 65 6c 65 63 74 6f 72 3c 2f 56 41 52 3e 20 6e 6f 77 20 6d 75 73 74 20 70 6f 69 6e VAR>selector</VAR>.now.must.poin
a3f60 74 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 74 61 6b 65 73 20 61 0a 20 20 t.to.a.function.which.takes.a...
a3f80 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 64 69 72 65 6e 74 36 34 20 2a 3c 2f .......<CODE>struct.dirent64.*</
a3fa0 43 4f 44 45 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 CODE>.parameter...........<br><b
a3fc0 72 3e 20 53 69 6d 69 6c 61 72 6c 79 20 74 68 65 20 3c 56 41 52 3e 63 6d 70 3c 2f 56 41 52 3e 20 r>.Similarly.the.<VAR>cmp</VAR>.
a3fe0 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 65 78 70 65 63 74 20 69 74 73 20 74 77 6f 20 61 function.should.expect.its.two.a
a4000 72 67 75 6d 65 6e 74 73 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 79 70 65 20 rguments.to.be..........of.type.
a4020 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 64 69 72 65 6e 74 36 34 20 2a 2a 3c 2f 43 4f 44 45 3e 2e <CODE>struct.dirent64.**</CODE>.
a4040 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 72 65 .........sq.~......w.....t..dire
a4060 6e 74 2e 68 78 71 00 7e 17 dd 74 00 80 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 69 72 2c 20 73 74 nt.hxq.~..t..const.char.*dir,.st
a4080 72 75 63 74 20 64 69 72 65 6e 74 36 34 20 2a 2a 2a 6e 61 6d 65 6c 69 73 74 2c 20 69 6e 74 20 28 ruct.dirent64.***namelist,.int.(
a40a0 2a 73 65 6c 65 63 74 6f 72 29 20 28 63 6f 6e 73 74 20 73 74 72 75 63 74 20 64 69 72 65 6e 74 36 *selector).(const.struct.dirent6
a40c0 34 20 2a 29 2c 20 69 6e 74 20 28 2a 63 6d 70 29 20 28 63 6f 6e 73 74 20 76 6f 69 64 20 2a 2c 20 4.*),.int.(*cmp).(const.void.*,.
a40e0 63 6f 6e 73 74 20 76 6f 69 64 20 2a 29 74 00 03 69 6e 74 74 00 05 73 63 61 6e 66 73 71 00 7e 00 const.void.*)t..intt..scanfsq.~.
a4100 0a 70 74 02 44 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 63 61 6e 66 3c 2f 43 .pt.D.........The.<CODE>scanf</C
a4120 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 66 6f 72 6d 61 74 74 65 64 20 69 6e ODE>.function.reads.formatted.in
a4140 70 75 74 20 66 72 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 3c 43 4f put.from.the.stream..........<CO
a4160 44 45 3e 73 74 64 69 6e 3c 2f 43 4f 44 45 3e 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 6f DE>stdin</CODE>.under.the.contro
a4180 6c 20 6f 66 20 74 68 65 20 74 65 6d 70 6c 61 74 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 74 65 l.of.the.template.string.<VAR>te
a41a0 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f mplate</VAR>...........The.optio
a41c0 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 nal.arguments.are.pointers.to.th
a41e0 65 20 70 6c 61 63 65 73 20 77 68 69 63 68 20 72 65 63 65 69 76 65 20 74 68 65 0a 20 20 20 20 20 e.places.which.receive.the......
a4200 20 20 20 20 72 65 73 75 6c 74 69 6e 67 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c ....resulting.values...........<
a4220 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 72 6d br><br>.The.return.value.is.norm
a4240 61 6c 6c 79 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 75 63 63 65 73 73 66 75 6c 20 61 73 ally.the.number.of.successful.as
a4260 73 69 67 6e 6d 65 6e 74 73 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 61 6e 20 65 6e 64 2d 6f signments...If..........an.end-o
a4280 66 2d 66 69 6c 65 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 64 65 74 65 63 74 65 64 20 62 65 66 f-file.condition.is.detected.bef
a42a0 6f 72 65 20 61 6e 79 20 6d 61 74 63 68 65 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 2c 0a 20 ore.any.matches.are.performed,..
a42c0 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 6d 61 74 63 68 65 73 20 61 67 61 69 6e 73 ........including.matches.agains
a42e0 74 20 77 68 69 74 65 73 70 61 63 65 20 61 6e 64 20 6c 69 74 65 72 61 6c 20 63 68 61 72 61 63 74 t.whitespace.and.literal.charact
a4300 65 72 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 65 6d 70 6c 61 74 65 2c 20 74 68 ers.in.the..........template,.th
a4320 65 6e 20 3c 43 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e en.<CODE>EOF</CODE>.is.returned.
a4340 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 .........sq.~......w.....t..stdi
a4360 6f 2e 68 78 71 00 7e 17 e4 74 00 19 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 o.hxq.~..t..const.char.*template
a4380 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 16 73 63 68 65 64 5f 67 65 74 5f 70 72 69 6f 72 69 74 79 ,....t..intt..sched_get_priority
a43a0 5f 6d 61 78 73 71 00 7e 00 0a 70 74 02 86 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 _maxsq.~..pt...........<br><br>.
a43c0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 68 69 67 68 65 73 This.function.returns.the.highes
a43e0 74 20 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 20 76 61 6c 75 65 20 74 68 61 74 20 69 t.absolute.priority.value.that.i
a4400 73 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 77 61 62 6c 65 20 66 6f 72 20 61 20 70 72 6f 63 65 s..........allowable.for.a.proce
a4420 73 73 20 74 68 61 74 20 77 69 74 68 20 73 63 68 65 64 75 6c 69 6e 67 20 70 6f 6c 69 63 79 20 3c ss.that.with.scheduling.policy.<
a4440 56 41 52 3e 70 6f 6c 69 63 79 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c VAR>policy</VAR>...........<br><
a4460 62 72 3e 20 4f 6e 20 4c 69 6e 75 78 2c 20 69 74 20 69 73 20 30 20 66 6f 72 20 53 43 48 45 44 5f br>.On.Linux,.it.is.0.for.SCHED_
a4480 4f 54 48 45 52 20 61 6e 64 20 39 39 20 66 6f 72 20 65 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 OTHER.and.99.for.everything.else
a44a0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 73 75 63 63 65 73 73 2c 20 ...........<br><br>.On.success,.
a44c0 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 the.return.value.is.<CODE>0</COD
a44e0 45 3e 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f E>...Otherwise,.it.is.<CODE>-1</
a4500 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 45 52 52 4e 4f 3c 2f CODE>..........and.<CODE>ERRNO</
a4520 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 54 68 65 20 3c CODE>.is.set.accordingly...The.<
a4540 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 20 73 70 65 63 69 66 69 CODE>errno</CODE>.values.specifi
a4560 63 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 3a c..........to.this.function.are:
a4580 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 ..........<br><br>.<DL>.........
a45a0 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ..<DT><CODE>EINVAL</CODE>.<DD>..
a45c0 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 6f 6c 69 63 79 3c 2f 56 41 52 3e 20 64 6f 65 73 20 6e ........<VAR>policy</VAR>.does.n
a45e0 6f 74 20 69 64 65 6e 74 69 66 79 20 61 6e 20 65 78 69 73 74 69 6e 67 20 73 63 68 65 64 75 6c 69 ot.identify.an.existing.scheduli
a4600 6e 67 20 70 6f 6c 69 63 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 ng.policy...........</DL>.......
a4620 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ...<br><br>.........sq.~......w.
a4640 00 00 00 0a 74 00 07 73 63 68 65 64 2e 68 78 71 00 7e 17 eb 74 00 0b 69 6e 74 20 2a 70 6f 6c 69 ....t..sched.hxq.~..t..int.*poli
a4660 63 79 74 00 03 69 6e 74 74 00 16 73 63 68 65 64 5f 67 65 74 5f 70 72 69 6f 72 69 74 79 5f 6d 69 cyt..intt..sched_get_priority_mi
a4680 6e 73 71 00 7e 00 0a 70 74 02 7f 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 nsq.~..pt...........<br><br>.Thi
a46a0 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 77 65 73 74 20 61 62 s.function.returns.the.lowest.ab
a46c0 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 20 76 61 6c 75 65 20 74 68 61 74 20 69 73 0a 20 20 solute.priority.value.that.is...
a46e0 20 20 20 20 20 20 20 61 6c 6c 6f 77 61 62 6c 65 20 66 6f 72 20 61 20 70 72 6f 63 65 73 73 20 77 .......allowable.for.a.process.w
a4700 69 74 68 20 73 63 68 65 64 75 6c 69 6e 67 20 70 6f 6c 69 63 79 20 3c 56 41 52 3e 70 6f 6c 69 63 ith.scheduling.policy.<VAR>polic
a4720 79 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 4c 69 y</VAR>...........<br><br>.On.Li
a4740 6e 75 78 2c 20 69 74 20 69 73 20 30 20 66 6f 72 20 53 43 48 45 44 5f 4f 54 48 45 52 20 61 6e 64 nux,.it.is.0.for.SCHED_OTHER.and
a4760 20 31 20 66 6f 72 20 65 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 20 20 20 20 20 20 20 .1.for.everything.else..........
a4780 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 73 75 63 63 65 73 73 2c 20 74 68 65 20 72 65 74 75 72 6e .<br><br>.On.success,.the.return
a47a0 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 20 20 4f 74 68 65 72 .value.is.<CODE>0</CODE>...Other
a47c0 77 69 73 65 2c 20 69 74 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 wise,.it.is.<CODE>-1</CODE>.....
a47e0 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 45 52 52 4e 4f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 .....and.<CODE>ERRNO</CODE>.is.s
a4800 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f et.accordingly...The.<CODE>errno
a4820 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 20 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 20 20 20 </CODE>.values.specific.........
a4840 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 .to.this.function.are:..........
a4860 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 <br><br>.<DL>...........<DT><COD
a4880 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 E>EINVAL</CODE>.<DD>..........<V
a48a0 41 52 3e 70 6f 6c 69 63 79 3c 2f 56 41 52 3e 20 64 6f 65 73 20 6e 6f 74 20 69 64 65 6e 74 69 66 AR>policy</VAR>.does.not.identif
a48c0 79 20 61 6e 20 65 78 69 73 74 69 6e 67 20 73 63 68 65 64 75 6c 69 6e 67 20 70 6f 6c 69 63 79 2e y.an.existing.scheduling.policy.
a48e0 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ..........</DL>..........<br><br
a4900 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 63 68 >.........sq.~......w.....t..sch
a4920 65 64 2e 68 78 71 00 7e 17 f2 74 00 0b 69 6e 74 20 2a 70 6f 6c 69 63 79 74 00 03 69 6e 74 74 00 ed.hxq.~..t..int.*policyt..intt.
a4940 11 73 63 68 65 64 5f 67 65 74 61 66 66 69 6e 69 74 79 73 71 00 7e 00 0a 70 74 03 a7 0a 20 20 20 .sched_getaffinitysq.~..pt......
a4960 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 73 20 73 74 6f .....<br><br>.This.functions.sto
a4980 72 65 73 20 74 68 65 20 43 50 55 20 61 66 66 69 6e 69 74 79 20 6d 61 73 6b 20 66 6f 72 20 74 68 res.the.CPU.affinity.mask.for.th
a49a0 65 20 70 72 6f 63 65 73 73 20 6f 72 20 74 68 72 65 61 64 0a 20 20 20 20 20 20 20 20 20 77 69 74 e.process.or.thread..........wit
a49c0 68 20 74 68 65 20 49 44 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 69 6e 20 74 68 65 20 3c h.the.ID.<VAR>pid</VAR>.in.the.<
a49e0 56 41 52 3e 63 70 75 73 65 74 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 6c 6f 6e 67 20 VAR>cpusetsize</VAR>.bytes.long.
a4a00 62 69 74 6d 61 70 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 bitmap..........pointed.to.by.<V
a4a20 41 52 3e 63 70 75 73 65 74 3c 2f 56 41 52 3e 2e 20 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c AR>cpuset</VAR>...If.successful,
a4a40 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 6c 77 61 79 73 0a 20 20 20 20 20 20 20 20 20 69 6e .the.function.always..........in
a4a60 69 74 69 61 6c 69 7a 65 73 20 61 6c 6c 20 62 69 74 73 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e itializes.all.bits.in.the.<CODE>
a4a80 63 70 75 5f 73 65 74 5f 74 3c 2f 43 4f 44 45 3e 20 6f 62 6a 65 63 74 20 61 6e 64 20 72 65 74 75 cpu_set_t</CODE>.object.and.retu
a4aa0 72 6e 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c rns.zero...........<br><br>.If.<
a4ac0 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 64 6f 65 73 20 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e VAR>pid</VAR>.does.not.correspon
a4ae0 64 20 74 6f 20 61 20 70 72 6f 63 65 73 73 20 6f 72 20 74 68 72 65 61 64 20 6f 6e 20 74 68 65 20 d.to.a.process.or.thread.on.the.
a4b00 73 79 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 72 20 74 68 65 20 66 75 6e 63 74 system..........the.or.the.funct
a4b20 69 6f 6e 20 66 61 69 6c 73 20 66 6f 72 20 73 6f 6d 65 20 6f 74 68 65 72 20 72 65 61 73 6f 6e 2c ion.fails.for.some.other.reason,
a4b40 20 69 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 .it.returns.<CODE>-1</CODE>.....
a4b60 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 .....and.<CODE>errno</CODE>.is.s
a4b80 65 74 20 74 6f 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 et.to.represent.the.error.condit
a4ba0 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 ion...........<br><br>.<DL>.....
a4bc0 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 52 43 48 3c 2f 43 4f 44 45 3e 0a 3c 44 44 ......<DT><CODE>ESRCH</CODE>.<DD
a4be0 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f 20 70 72 6f 63 65 73 73 20 6f 72 20 74 68 72 65 61 64 20 >..........No.process.or.thread.
a4c00 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 49 44 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 with.the.given.ID.found.........
a4c20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 46 41 55 4c 54 3c 2f 43 4f 44 ..<br><br>.<DT><CODE>EFAULT</COD
a4c40 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 6f 69 6e 74 65 72 20 3c 56 41 E>.<DD>..........The.pointer.<VA
a4c60 52 3e 63 70 75 73 65 74 3c 2f 56 41 52 3e 20 69 73 20 64 6f 65 73 20 6e 6f 74 20 70 6f 69 6e 74 R>cpuset</VAR>.is.does.not.point
a4c80 20 74 6f 20 61 20 76 61 6c 69 64 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 .to.a.valid.object...........</D
a4ca0 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 L>..........<br><br>.This.functi
a4cc0 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 69 73 20 64 65 63 on.is.a.GNU.extension.and.is.dec
a4ce0 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 63 68 65 64 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 lared.in.<TT>sched.h</TT>.......
a4d00 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 63 68 65 64 2e 68 78 71 00 ...sq.~......w.....t..sched.hxq.
a4d20 7e 17 f9 74 00 2f 70 69 64 5f 74 20 70 69 64 2c 20 73 69 7a 65 5f 74 20 63 70 75 73 65 74 73 69 ~..t./pid_t.pid,.size_t.cpusetsi
a4d40 7a 65 2c 20 63 70 75 5f 73 65 74 5f 74 20 2a 63 70 75 73 65 74 74 00 03 69 6e 74 74 00 0e 73 63 ze,.cpu_set_t.*cpusett..intt..sc
a4d60 68 65 64 5f 67 65 74 70 61 72 61 6d 73 71 00 7e 00 0a 70 74 03 40 0a 20 20 20 20 20 20 20 20 3c hed_getparamsq.~..pt.@.........<
a4d80 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 br><br>.This.function.returns.a.
a4da0 70 72 6f 63 65 73 73 27 20 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 2e 0a 20 20 20 20 process'.absolute.priority......
a4dc0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 69 73 20 .....<br><br>.<VAR>pid</VAR>.is.
a4de0 74 68 65 20 50 72 6f 63 65 73 73 20 49 44 20 28 70 69 64 29 20 6f 66 20 74 68 65 20 70 72 6f 63 the.Process.ID.(pid).of.the.proc
a4e00 65 73 73 20 77 68 6f 73 65 20 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 0a 20 20 20 20 ess.whose.absolute.priority.....
a4e20 20 20 20 20 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6b 6e 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 .....you.want.to.know...........
a4e40 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 20 69 73 20 61 20 70 <br><br>.<VAR>param</VAR>.is.a.p
a4e60 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74 75 72 65 20 69 6e 20 77 68 69 63 68 20 74 ointer.to.a.structure.in.which.t
a4e80 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 he.function.stores.the..........
a4ea0 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 absolute.priority.of.the.process
a4ec0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 73 75 63 63 65 73 73 2c 20 ...........<br><br>.On.success,.
a4ee0 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 the.return.value.is.<CODE>0</COD
a4f00 45 3e 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f E>...Otherwise,.it.is.<CODE>-1</
a4f20 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 45 52 52 4e 4f 3c 2f CODE>..........and.<CODE>ERRNO</
a4f40 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 54 68 65 20 3c CODE>.is.set.accordingly...The.<
a4f60 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 20 73 70 65 63 69 66 69 CODE>errno</CODE>.values.specifi
a4f80 63 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 3a c..........to.this.function.are:
a4fa0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 ..........<br><br>.<DL>.........
a4fc0 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 52 43 48 3c 2f 43 4f 44 45 ..<br><br>.<DT><CODE>ESRCH</CODE
a4fe0 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 70 72 6f 63 >.<DD>..........There.is.no.proc
a5000 65 73 73 20 77 69 74 68 20 70 69 64 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 61 6e 64 20 ess.with.pid.<VAR>pid</VAR>.and.
a5020 69 74 20 69 73 20 6e 6f 74 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 it.is.not.zero...........<br><br
a5040 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 >.<DT><CODE>EINVAL</CODE>.<DD>..
a5060 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 ........<VAR>pid</VAR>.is.negati
a5080 76 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 ve...........<br><br>.</DL>.....
a50a0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .....<br><br>.........sq.~......
a50c0 77 04 00 00 00 0a 74 00 07 73 63 68 65 64 2e 68 78 71 00 7e 18 00 74 00 2a 70 69 64 5f 74 20 70 w.....t..sched.hxq.~..t.*pid_t.p
a50e0 69 64 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 73 63 68 65 64 5f 70 61 72 61 6d 20 2a 70 61 id,.const.struct.sched_param.*pa
a5100 72 61 6d 74 00 03 69 6e 74 74 00 12 73 63 68 65 64 5f 67 65 74 73 63 68 65 64 75 6c 65 72 73 71 ramt..intt..sched_getschedulersq
a5120 00 7e 00 0a 70 74 04 66 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 .~..pt.f.........<br><br>.This.f
a5140 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 63 68 65 64 75 6c 69 6e 67 20 70 unction.returns.the.scheduling.p
a5160 6f 6c 69 63 79 20 61 73 73 69 67 6e 65 64 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 20 77 69 olicy.assigned.to.the.process.wi
a5180 74 68 0a 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 73 20 49 44 20 28 70 69 64 29 20 3c 56 41 th..........Process.ID.(pid).<VA
a51a0 52 3e 70 69 64 3c 2f 56 41 52 3e 2c 20 6f 72 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 R>pid</VAR>,.or.the.calling.proc
a51c0 65 73 73 20 69 66 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2e 0a 20 ess.if.<VAR>pid</VAR>.is.zero...
a51e0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 ........<br><br>.The.return.valu
a5200 65 20 69 73 20 74 68 65 20 73 63 68 65 64 75 6c 69 6e 67 20 70 6f 6c 69 63 79 2e 20 20 53 65 65 e.is.the.scheduling.policy...See
a5220 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 63 68 65 64 5f 73 65 74 73 63 68 65 64 75 6c ..........<CODE>sched_setschedul
a5240 65 72 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 er</CODE>.for.the.possible.value
a5260 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 75 6e 63 s...........<br><br>.If.the.func
a5280 74 69 6f 6e 20 66 61 69 6c 73 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 tion.fails,.the.return.value.is.
a52a0 69 6e 73 74 65 61 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 instead.<CODE>-1</CODE>.and.....
a52c0 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 .....<CODE>errno</CODE>.is.set.a
a52e0 63 63 6f 72 64 69 6e 67 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 ccordingly...........<br><br>.Th
a5300 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 20 73 70 65 63 e.<CODE>errno</CODE>.values.spec
a5320 69 66 69 63 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 3a 0a 20 20 20 20 20 ific.to.this.function.are:......
a5340 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ....<br><br>.<DL>...........<br>
a5360 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 52 43 48 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e <br>.<DT><CODE>ESRCH</CODE>.<DD>
a5380 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 70 72 6f 63 65 73 73 20 77 69 ..........There.is.no.process.wi
a53a0 74 68 20 70 69 64 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 61 6e 64 20 69 74 20 69 73 20 th.pid.<VAR>pid</VAR>.and.it.is.
a53c0 6e 6f 74 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e not.zero...........<br><br>.<DT>
a53e0 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 <CODE>EINVAL</CODE>.<DD>........
a5400 20 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 76 65 2e 0a 20 20 ..<VAR>pid</VAR>.is.negative....
a5420 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c .......<br><br>.</DL>..........<
a5440 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 br><br>.Note.that.this.function.
a5460 69 73 20 6e 6f 74 20 61 6e 20 65 78 61 63 74 20 6d 61 74 65 20 74 6f 20 3c 43 4f 44 45 3e 73 63 is.not.an.exact.mate.to.<CODE>sc
a5480 68 65 64 5f 73 65 74 73 63 68 65 64 75 6c 65 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 hed_setscheduler</CODE>.........
a54a0 20 62 65 63 61 75 73 65 20 77 68 69 6c 65 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 .because.while.that.function.set
a54c0 73 20 74 68 65 20 73 63 68 65 64 75 6c 69 6e 67 20 70 6f 6c 69 63 79 20 61 6e 64 20 74 68 65 20 s.the.scheduling.policy.and.the.
a54e0 61 62 73 6f 6c 75 74 65 0a 20 20 20 20 20 20 20 20 20 70 72 69 6f 72 69 74 79 2c 20 74 68 69 73 absolute..........priority,.this
a5500 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 6f 6e 6c 79 20 74 68 65 20 73 63 68 65 64 75 6c 69 .function.gets.only.the.scheduli
a5520 6e 67 20 70 6f 6c 69 63 79 2e 20 20 54 6f 20 67 65 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 ng.policy...To.get.the..........
a5540 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 2c 20 75 73 65 20 3c 43 4f 44 45 3e 73 63 68 absolute.priority,.use.<CODE>sch
a5560 65 64 5f 67 65 74 70 61 72 61 6d 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ed_getparam</CODE>...........<br
a5580 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 ><br>.........sq.~......w.....t.
a55a0 07 73 63 68 65 64 2e 68 78 71 00 7e 18 07 74 00 09 70 69 64 5f 74 20 70 69 64 74 00 03 69 6e 74 .sched.hxq.~..t..pid_t.pidt..int
a55c0 74 00 15 73 63 68 65 64 5f 72 72 5f 67 65 74 5f 69 6e 74 65 72 76 61 6c 73 71 00 7e 00 0a 70 74 t..sched_rr_get_intervalsq.~..pt
a55e0 03 11 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f ...........<br><br>.This.functio
a5600 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 71 75 61 6e n.returns.the.length.of.the.quan
a5620 74 75 6d 20 28 74 69 6d 65 20 73 6c 69 63 65 29 20 75 73 65 64 20 77 69 74 68 0a 20 20 20 20 20 tum.(time.slice).used.with......
a5640 20 20 20 20 74 68 65 20 52 6f 75 6e 64 20 52 6f 62 69 6e 20 73 63 68 65 64 75 6c 69 6e 67 20 70 ....the.Round.Robin.scheduling.p
a5660 6f 6c 69 63 79 2c 20 69 66 20 69 74 20 69 73 20 75 73 65 64 2c 20 66 6f 72 20 74 68 65 20 70 72 olicy,.if.it.is.used,.for.the.pr
a5680 6f 63 65 73 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 50 72 6f 63 65 73 73 20 49 44 20 3c ocess.with..........Process.ID.<
a56a0 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e VAR>pid</VAR>...........<br><br>
a56c0 20 49 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 69 6d 65 20 61 .It.returns.the.length.of.time.a
a56e0 73 20 3c 56 41 52 3e 69 6e 74 65 72 76 61 6c 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 s.<VAR>interval</VAR>...........
a5700 3c 62 72 3e 3c 62 72 3e 20 57 69 74 68 20 61 20 4c 69 6e 75 78 20 6b 65 72 6e 65 6c 2c 20 74 68 <br><br>.With.a.Linux.kernel,.th
a5720 65 20 72 6f 75 6e 64 20 72 6f 62 69 6e 20 74 69 6d 65 20 73 6c 69 63 65 20 69 73 20 61 6c 77 61 e.round.robin.time.slice.is.alwa
a5740 79 73 20 31 35 30 0a 20 20 20 20 20 20 20 20 20 6d 69 63 72 6f 73 65 63 6f 6e 64 73 2c 20 61 6e ys.150..........microseconds,.an
a5760 64 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 6e 65 65 64 20 6e 6f 74 20 65 76 65 6e 20 62 d.<VAR>pid</VAR>.need.not.even.b
a5780 65 20 61 20 72 65 61 6c 20 70 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 e.a.real.pid...........<br><br>.
a57a0 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 The.return.value.is.<CODE>0</COD
a57c0 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 69 6e 20 74 68 65 20 70 61 74 68 6f 6c 6f E>.on.success.and.in.the.patholo
a57e0 67 69 63 61 6c 20 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 69 74 20 66 61 69 6c gical.case..........that.it.fail
a5800 73 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c s,.the.return.value.is.<CODE>-1<
a5820 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 /CODE>.and.<CODE>errno</CODE>.is
a5840 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 54 68 65 72 .set..........accordingly...Ther
a5860 65 20 69 73 20 6e 6f 74 68 69 6e 67 20 73 70 65 63 69 66 69 63 20 74 68 61 74 20 63 61 6e 20 67 e.is.nothing.specific.that.can.g
a5880 6f 20 77 72 6f 6e 67 20 77 69 74 68 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 o.wrong.with.this..........funct
a58a0 69 6f 6e 2c 20 73 6f 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 70 65 63 69 66 69 63 20 3c 43 ion,.so.there.are.no.specific.<C
a58c0 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 ODE>errno</CODE>.values.........
a58e0 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ..<br><br>.........sq.~......w..
a5900 00 00 0a 74 00 07 73 63 68 65 64 2e 68 78 71 00 7e 18 0e 74 00 24 70 69 64 5f 74 20 70 69 64 2c ...t..sched.hxq.~..t.$pid_t.pid,
a5920 20 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20 2a 69 6e 74 65 72 76 61 6c 74 00 03 69 6e 74 .struct.timespec.*intervalt..int
a5940 74 00 11 73 63 68 65 64 5f 73 65 74 61 66 66 69 6e 69 74 79 73 71 00 7e 00 0a 70 74 03 e3 0a 20 t..sched_setaffinitysq.~..pt....
a5960 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e .......<br><br>.This.function.in
a5980 73 74 61 6c 6c 73 20 74 68 65 20 3c 56 41 52 3e 63 70 75 73 65 74 73 69 7a 65 3c 2f 56 41 52 3e stalls.the.<VAR>cpusetsize</VAR>
a59a0 20 62 79 74 65 73 20 6c 6f 6e 67 20 61 66 66 69 6e 69 74 79 20 6d 61 73 6b 0a 20 20 20 20 20 20 .bytes.long.affinity.mask.......
a59c0 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 63 70 75 73 65 74 3c 2f 56 41 ...pointed.to.by.<VAR>cpuset</VA
a59e0 52 3e 20 66 6f 72 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 72 20 74 68 72 65 61 64 20 77 69 74 R>.for.the.process.or.thread.wit
a5a00 68 20 74 68 65 20 49 44 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 h.the.ID.<VAR>pid</VAR>.........
a5a20 20 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 ..If.successful.the.function.ret
a5a40 75 72 6e 73 20 7a 65 72 6f 20 61 6e 64 20 74 68 65 20 73 63 68 65 64 75 6c 65 72 20 77 69 6c 6c urns.zero.and.the.scheduler.will
a5a60 20 69 6e 20 66 75 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 74 61 6b 65 20 74 68 65 20 61 66 66 .in.future..........take.the.aff
a5a80 69 6e 69 74 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 2e 0a inity.information.into.account..
a5aa0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f .........<br><br>.If.the.functio
a5ac0 6e 20 66 61 69 6c 73 20 69 74 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 2d 31 3c n.fails.it.will.return.<CODE>-1<
a5ae0 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 /CODE>.and.<CODE>errno</CODE>.is
a5b00 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 65 72 72 6f 72 20 63 6f 64 65 3a .set..........to.the.error.code:
a5b20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 ..........<br><br>.<DL>.........
a5b40 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 52 43 48 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 ..<DT><CODE>ESRCH</CODE>.<DD>...
a5b60 20 20 20 20 20 20 20 4e 6f 20 70 72 6f 63 65 73 73 20 6f 72 20 74 68 72 65 61 64 20 77 69 74 68 .......No.process.or.thread.with
a5b80 20 74 68 65 20 67 69 76 65 6e 20 49 44 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 .the.given.ID.found...........<b
a5ba0 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 46 41 55 4c 54 3c 2f 43 4f 44 45 3e 0a 3c r><br>.<DT><CODE>EFAULT</CODE>.<
a5bc0 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 6f 69 6e 74 65 72 20 3c 56 41 52 3e 63 70 DD>..........The.pointer.<VAR>cp
a5be0 75 73 65 74 3c 2f 56 41 52 3e 20 69 73 20 64 6f 65 73 20 6e 6f 74 20 70 6f 69 6e 74 20 74 6f 20 uset</VAR>.is.does.not.point.to.
a5c00 61 20 76 61 6c 69 64 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 a.valid.object...........<br><br
a5c20 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 >.<DT><CODE>EINVAL</CODE>.<DD>..
a5c40 20 20 20 20 20 20 20 20 54 68 65 20 62 69 74 73 65 74 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e ........The.bitset.is.not.valid.
a5c60 20 20 54 68 69 73 20 6d 69 67 68 74 20 6d 65 61 6e 20 74 68 61 74 20 74 68 65 20 61 66 66 69 6e ..This.might.mean.that.the.affin
a5c80 69 74 79 20 73 65 74 20 6d 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 6c 65 61 76 65 ity.set.might..........not.leave
a5ca0 20 61 20 70 72 6f 63 65 73 73 6f 72 20 66 6f 72 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 72 20 .a.processor.for.the.process.or.
a5cc0 74 68 72 65 61 64 20 74 6f 20 72 75 6e 20 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e thread.to.run.on...........</DL>
a5ce0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e ..........<br><br>.This.function
a5d00 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 69 73 20 64 65 63 6c 61 .is.a.GNU.extension.and.is.decla
a5d20 72 65 64 20 69 6e 20 3c 54 54 3e 73 63 68 65 64 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 red.in.<TT>sched.h</TT>.........
a5d40 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 63 68 65 64 2e 68 78 71 00 7e 18 .sq.~......w.....t..sched.hxq.~.
a5d60 15 74 00 35 70 69 64 5f 74 20 70 69 64 2c 20 73 69 7a 65 5f 74 20 63 70 75 73 65 74 73 69 7a 65 .t.5pid_t.pid,.size_t.cpusetsize
a5d80 2c 20 63 6f 6e 73 74 20 63 70 75 5f 73 65 74 5f 74 20 2a 63 70 75 73 65 74 74 00 03 69 6e 74 74 ,.const.cpu_set_t.*cpusett..intt
a5da0 00 0e 73 63 68 65 64 5f 73 65 74 70 61 72 61 6d 73 71 00 7e 00 0a 70 74 00 eb 0a 20 20 20 20 20 ..sched_setparamsq.~..pt........
a5dc0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 61 ...<br><br>.This.function.sets.a
a5de0 20 70 72 6f 63 65 73 73 27 20 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 2e 0a 20 20 20 .process'.absolute.priority.....
a5e00 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 6c ......<br><br>.It.is.functionall
a5e20 79 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 63 68 65 64 5f 73 65 74 73 63 y.identical.to.<CODE>sched_setsc
a5e40 68 65 64 75 6c 65 72 3c 2f 43 4f 44 45 3e 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 3c 56 41 heduler</CODE>.with..........<VA
a5e60 52 3e 70 6f 6c 69 63 79 3c 2f 56 41 52 3e 20 3d 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e R>policy</VAR>.=.<CODE>-1</CODE>
a5e80 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 ...........<br><br>.<br><br>....
a5ea0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 63 68 65 64 2e 68 78 .....sq.~......w.....t..sched.hx
a5ec0 71 00 7e 18 1c 74 00 2a 70 69 64 5f 74 20 70 69 64 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 q.~..t.*pid_t.pid,.const.struct.
a5ee0 73 63 68 65 64 5f 70 61 72 61 6d 20 2a 70 61 72 61 6d 74 00 03 69 6e 74 74 00 12 73 63 68 65 64 sched_param.*paramt..intt..sched
a5f00 5f 73 65 74 73 63 68 65 64 75 6c 65 72 73 71 00 7e 00 0a 70 74 09 a4 0a 20 20 20 20 20 20 20 20 _setschedulersq.~..pt...........
a5f20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 62 6f 74 68 <br><br>.This.function.sets.both
a5f40 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 20 61 6e 64 20 74 68 65 20 73 .the.absolute.priority.and.the.s
a5f60 63 68 65 64 75 6c 69 6e 67 20 70 6f 6c 69 63 79 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 61 20 cheduling.policy..........for.a.
a5f80 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 61 73 process...........<br><br>.It.as
a5fa0 73 69 67 6e 73 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 20 76 61 6c 75 signs.the.absolute.priority.valu
a5fc0 65 20 67 69 76 65 6e 20 62 79 20 3c 56 41 52 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 20 61 6e 64 20 e.given.by.<VAR>param</VAR>.and.
a5fe0 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 63 68 65 64 75 6c 69 6e 67 20 70 6f 6c 69 63 79 20 3c the..........scheduling.policy.<
a6000 56 41 52 3e 70 6f 6c 69 63 79 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 20 VAR>policy</VAR>.to.the.process.
a6020 77 69 74 68 20 50 72 6f 63 65 73 73 20 49 44 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 2c 0a with.Process.ID.<VAR>pid</VAR>,.
a6040 20 20 20 20 20 20 20 20 20 6f 72 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 .........or.the.calling.process.
a6060 69 66 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2e 20 20 49 66 20 3c if.<VAR>pid</VAR>.is.zero...If.<
a6080 56 41 52 3e 70 6f 6c 69 63 79 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 6e 65 67 VAR>policy</VAR>.is..........neg
a60a0 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 73 63 68 65 64 5f 73 65 74 73 63 68 65 64 75 6c 65 72 3c ative,.<CODE>sched_setscheduler<
a60c0 2f 43 4f 44 45 3e 20 6b 65 65 70 73 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 73 63 68 65 64 75 /CODE>.keeps.the.existing.schedu
a60e0 6c 69 6e 67 20 70 6f 6c 69 63 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 ling.policy...........<br><br>.T
a6100 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 61 63 72 6f 73 20 72 65 70 72 65 73 65 6e 74 20 74 68 he.following.macros.represent.th
a6120 65 20 76 61 6c 69 64 20 76 61 6c 75 65 73 20 66 6f 72 20 3c 56 41 52 3e 70 6f 6c 69 63 79 3c 2f e.valid.values.for.<VAR>policy</
a6140 56 41 52 3e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 VAR>:..........<br><br>.<DL>....
a6160 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 43 48 45 44 5f 4f 54 48 45 52 0a 20 20 20 .......<DT><CODE>SCHED_OTHER....
a6180 20 20 20 20 20 20 54 72 61 64 69 74 69 6f 6e 61 6c 20 53 63 68 65 64 75 6c 69 6e 67 3c 2f 43 4f ......Traditional.Scheduling</CO
a61a0 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 43 48 45 DE>.<DD>..........<DT><CODE>SCHE
a61c0 44 5f 46 49 46 4f 0a 20 20 20 20 20 20 20 20 20 46 69 72 73 74 20 49 6e 20 46 69 72 73 74 20 4f D_FIFO..........First.In.First.O
a61e0 75 74 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 ut</CODE>.<DD>..........<DT><COD
a6200 45 3e 53 43 48 45 44 5f 52 52 0a 20 20 20 20 20 20 20 20 20 52 6f 75 6e 64 20 52 6f 62 69 6e 3c E>SCHED_RR..........Round.Robin<
a6220 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 /CODE>.<DD>..........</DL>......
a6240 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 73 75 63 63 65 73 73 ....<br><br>.<br><br>.On.success
a6260 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 ,.the.return.value.is.<CODE>0</C
a6280 4f 44 45 3e 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20 3c 43 4f 44 45 3e 2d 31 ODE>...Otherwise,.it.is.<CODE>-1
a62a0 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 45 52 52 4e 4f </CODE>..........and.<CODE>ERRNO
a62c0 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 54 68 65 </CODE>.is.set.accordingly...The
a62e0 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 20 73 70 65 63 69 .<CODE>errno</CODE>.values.speci
a6300 66 69 63 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 fic..........to.this.function.ar
a6320 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 e:..........<br><br>.<DL>.......
a6340 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ....<DT><CODE>EPERM</CODE>.<DD>.
a6360 20 20 20 20 20 20 20 20 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 .........<OL>..........<LI>.....
a6380 20 20 20 20 20 54 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f .....The.calling.process.does.no
a63a0 74 20 68 61 76 65 20 3c 43 4f 44 45 3e 43 41 50 5f 53 59 53 5f 4e 49 43 45 3c 2f 43 4f 44 45 3e t.have.<CODE>CAP_SYS_NICE</CODE>
a63c0 20 70 65 72 6d 69 73 73 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 6f .permission.and..........<VAR>po
a63e0 6c 69 63 79 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 3c 43 4f 44 45 3e 53 43 48 45 44 5f 4f 54 licy</VAR>.is.not.<CODE>SCHED_OT
a6400 48 45 52 3c 2f 43 4f 44 45 3e 20 28 6f 72 20 69 74 27 73 20 6e 65 67 61 74 69 76 65 20 61 6e 64 HER</CODE>.(or.it's.negative.and
a6420 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 78 69 73 74 69 6e 67 20 70 6f 6c 69 63 79 20 69 73 .the..........existing.policy.is
a6440 20 6e 6f 74 20 3c 43 4f 44 45 3e 53 43 48 45 44 5f 4f 54 48 45 52 3c 2f 43 4f 44 45 3e 2e 0a 20 .not.<CODE>SCHED_OTHER</CODE>...
a6460 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 ........<br><br>.<LI>..........T
a6480 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 he.calling.process.does.not.have
a64a0 20 3c 43 4f 44 45 3e 43 41 50 5f 53 59 53 5f 4e 49 43 45 3c 2f 43 4f 44 45 3e 20 70 65 72 6d 69 .<CODE>CAP_SYS_NICE</CODE>.permi
a64c0 73 73 69 6f 6e 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 20 20 20 20 6f 77 6e 65 72 20 69 73 20 ssion.and.its..........owner.is.
a64e0 6e 6f 74 20 74 68 65 20 74 61 72 67 65 74 20 70 72 6f 63 65 73 73 27 20 6f 77 6e 65 72 2e 20 20 not.the.target.process'.owner...
a6500 49 2e 65 2e 2c 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 75 69 64 20 6f 66 20 74 68 65 0a 20 I.e.,.the.effective.uid.of.the..
a6520 20 20 20 20 20 20 20 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 73 20 6e 65 69 74 68 ........calling.process.is.neith
a6540 65 72 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 6e 6f 72 20 74 68 65 20 72 65 61 6c 20 75 69 er.the.effective.nor.the.real.ui
a6560 64 20 6f 66 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 69 64 3c 2f d.of.process..........<VAR>pid</
a6580 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 VAR>...........</OL>..........<b
a65a0 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 52 43 48 3c 2f 43 4f 44 45 3e 0a 3c 44 r><br>.<DT><CODE>ESRCH</CODE>.<D
a65c0 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 70 72 6f 63 65 73 73 20 D>..........There.is.no.process.
a65e0 77 69 74 68 20 70 69 64 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 with.pid.<VAR>pid</VAR>.and.<VAR
a6600 3e 70 69 64 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 >pid</VAR>.is.not.zero..........
a6620 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 .<br><br>.<DT><CODE>EINVAL</CODE
a6640 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c >.<DD>..........<OL>..........<L
a6660 49 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 6f 6c 69 63 79 3c 2f 56 41 52 3e 20 64 6f I>..........<VAR>policy</VAR>.do
a6680 65 73 20 6e 6f 74 20 69 64 65 6e 74 69 66 79 20 61 6e 20 65 78 69 73 74 69 6e 67 20 73 63 68 65 es.not.identify.an.existing.sche
a66a0 64 75 6c 69 6e 67 20 70 6f 6c 69 63 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e duling.policy...........<br><br>
a66c0 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 62 73 6f 6c 75 74 65 20 70 72 69 6f .<LI>..........The.absolute.prio
a66e0 72 69 74 79 20 76 61 6c 75 65 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 2a 3c 56 41 52 3e 70 rity.value.identified.by.*<VAR>p
a6700 61 72 61 6d 3c 2f 56 41 52 3e 20 69 73 20 6f 75 74 73 69 64 65 20 74 68 65 0a 20 20 20 20 20 20 aram</VAR>.is.outside.the.......
a6720 20 20 20 76 61 6c 69 64 20 72 61 6e 67 65 20 66 6f 72 20 74 68 65 20 73 63 68 65 64 75 6c 69 6e ...valid.range.for.the.schedulin
a6740 67 20 70 6f 6c 69 63 79 20 3c 56 41 52 3e 70 6f 6c 69 63 79 3c 2f 56 41 52 3e 20 28 6f 72 20 74 g.policy.<VAR>policy</VAR>.(or.t
a6760 68 65 20 65 78 69 73 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 73 63 68 65 64 75 6c 69 6e 67 20 he.existing..........scheduling.
a6780 70 6f 6c 69 63 79 20 69 66 20 3c 56 41 52 3e 70 6f 6c 69 63 79 3c 2f 56 41 52 3e 20 69 73 20 6e policy.if.<VAR>policy</VAR>.is.n
a67a0 65 67 61 74 69 76 65 29 20 6f 72 20 3c 56 41 52 3e 70 61 72 61 6d 3c 2f 56 41 52 3e 20 69 73 0a egative).or.<VAR>param</VAR>.is.
a67c0 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2e 20 20 3c 43 4f 44 45 3e 73 63 68 65 64 5f 67 65 74 5f .........null...<CODE>sched_get_
a67e0 70 72 69 6f 72 69 74 79 5f 6d 61 78 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 73 63 priority_max</CODE>.and.<CODE>sc
a6800 68 65 64 5f 67 65 74 5f 70 72 69 6f 72 69 74 79 5f 6d 69 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 hed_get_priority_min</CODE>.....
a6820 20 20 20 20 20 74 65 6c 6c 20 79 6f 75 20 77 68 61 74 20 74 68 65 20 76 61 6c 69 64 20 72 61 6e .....tell.you.what.the.valid.ran
a6840 67 65 20 69 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 ge.is...........<br><br>.<LI>...
a6860 20 20 20 20 20 20 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 76 .......<VAR>pid</VAR>.is.negativ
a6880 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e e...........</OL>..........</DL>
a68a0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 ..........<br><br>.........sq.~.
a68c0 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 63 68 65 64 2e 68 78 71 00 7e 18 23 74 00 36 70 69 .....w.....t..sched.hxq.~.#t.6pi
a68e0 64 5f 74 20 70 69 64 2c 20 69 6e 74 20 70 6f 6c 69 63 79 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 d_t.pid,.int.policy,.const.struc
a6900 74 20 73 63 68 65 64 5f 70 61 72 61 6d 20 2a 70 61 72 61 6d 74 00 03 69 6e 74 74 00 0b 73 63 68 t.sched_param.*paramt..intt..sch
a6920 65 64 5f 79 69 65 6c 64 73 71 00 7e 00 0a 70 74 05 56 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c ed_yieldsq.~..pt.V.........<br><
a6940 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 76 6f 6c 75 6e 74 61 72 69 6c 79 20 67 69 br>.This.function.voluntarily.gi
a6960 76 65 73 20 75 70 20 74 68 65 20 70 72 6f 63 65 73 73 27 20 63 6c 61 69 6d 20 6f 6e 20 74 68 65 ves.up.the.process'.claim.on.the
a6980 20 43 50 55 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 65 63 68 6e 69 63 61 .CPU...........<br><br>.Technica
a69a0 6c 6c 79 2c 20 3c 43 4f 44 45 3e 73 63 68 65 64 5f 79 69 65 6c 64 3c 2f 43 4f 44 45 3e 20 63 61 lly,.<CODE>sched_yield</CODE>.ca
a69c0 75 73 65 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 74 6f 20 62 65 20 6d uses.the.calling.process.to.be.m
a69e0 61 64 65 0a 20 20 20 20 20 20 20 20 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 72 65 61 64 79 20 74 ade..........immediately.ready.t
a6a00 6f 20 72 75 6e 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 72 75 6e 6e 69 6e 67 2c 20 77 68 o.run.(as.opposed.to.running,.wh
a6a20 69 63 68 20 69 73 20 77 68 61 74 20 69 74 20 77 61 73 0a 20 20 20 20 20 20 20 20 20 62 65 66 6f ich.is.what.it.was..........befo
a6a40 72 65 29 2e 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 69 66 20 69 74 20 68 61 73 20 re)...This.means.that.if.it.has.
a6a60 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 20 68 69 67 68 65 72 20 74 68 61 6e 20 30 2c absolute.priority.higher.than.0,
a6a80 20 69 74 0a 20 20 20 20 20 20 20 20 20 67 65 74 73 20 70 75 73 68 65 64 20 6f 6e 74 6f 20 74 68 .it..........gets.pushed.onto.th
a6aa0 65 20 74 61 69 6c 20 6f 66 20 74 68 65 20 71 75 65 75 65 20 6f 66 20 70 72 6f 63 65 73 73 65 73 e.tail.of.the.queue.of.processes
a6ac0 20 74 68 61 74 20 73 68 61 72 65 20 69 74 73 0a 20 20 20 20 20 20 20 20 20 61 62 73 6f 6c 75 74 .that.share.its..........absolut
a6ae0 65 20 70 72 69 6f 72 69 74 79 20 61 6e 64 20 61 72 65 20 72 65 61 64 79 20 74 6f 20 72 75 6e 2c e.priority.and.are.ready.to.run,
a6b00 20 61 6e 64 20 69 74 20 77 69 6c 6c 20 72 75 6e 20 61 67 61 69 6e 20 77 68 65 6e 20 69 74 73 0a .and.it.will.run.again.when.its.
a6b20 20 20 20 20 20 20 20 20 20 74 75 72 6e 20 6e 65 78 74 20 61 72 72 69 76 65 73 2e 20 20 49 66 20 .........turn.next.arrives...If.
a6b40 69 74 73 20 61 62 73 6f 6c 75 74 65 20 70 72 69 6f 72 69 74 79 20 69 73 20 30 2c 20 69 74 20 69 its.absolute.priority.is.0,.it.i
a6b60 73 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6c 69 63 61 74 65 64 2c 20 62 75 74 s.more..........complicated,.but
a6b80 20 73 74 69 6c 6c 20 68 61 73 20 74 68 65 20 65 66 66 65 63 74 20 6f 66 20 79 69 65 6c 64 69 6e .still.has.the.effect.of.yieldin
a6ba0 67 20 74 68 65 20 43 50 55 20 74 6f 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 g.the.CPU.to.other..........proc
a6bc0 65 73 73 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 72 esses...........<br><br>.If.ther
a6be0 65 20 61 72 65 20 6e 6f 20 6f 74 68 65 72 20 70 72 6f 63 65 73 73 65 73 20 74 68 61 74 20 73 68 e.are.no.other.processes.that.sh
a6c00 61 72 65 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 61 62 73 6f 6c 75 74 are.the.calling.process'.absolut
a6c20 65 0a 20 20 20 20 20 20 20 20 20 70 72 69 6f 72 69 74 79 2c 20 74 68 69 73 20 66 75 6e 63 74 69 e..........priority,.this.functi
a6c40 6f 6e 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 61 6e 79 20 65 66 66 65 63 74 2e 0a 20 20 20 20 on.doesn't.have.any.effect......
a6c60 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 74 68 65 20 65 78 74 65 6e 74 20 74 68 61 74 .....<br><br>.To.the.extent.that
a6c80 20 74 68 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 70 72 6f 67 72 61 6d 20 69 73 20 6f 62 6c 69 76 .the.containing.program.is.obliv
a6ca0 69 6f 75 73 20 74 6f 20 77 68 61 74 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 ious.to.what.other..........proc
a6cc0 65 73 73 65 73 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20 61 72 65 20 64 6f 69 6e 67 20 61 6e esses.in.the.system.are.doing.an
a6ce0 64 20 68 6f 77 20 66 61 73 74 20 69 74 20 65 78 65 63 75 74 65 73 2c 20 74 68 69 73 0a 20 20 20 d.how.fast.it.executes,.this....
a6d00 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 61 72 73 20 61 73 20 61 20 6e 6f 2d 6f ......function.appears.as.a.no-o
a6d20 70 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 p...........<br><br>.The.return.
a6d40 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 value.is.<CODE>0</CODE>.on.succe
a6d60 73 73 20 61 6e 64 20 69 6e 20 74 68 65 20 70 61 74 68 6f 6c 6f 67 69 63 61 6c 20 63 61 73 65 0a ss.and.in.the.pathological.case.
a6d80 20 20 20 20 20 20 20 20 20 74 68 61 74 20 69 74 20 66 61 69 6c 73 2c 20 74 68 65 20 72 65 74 75 .........that.it.fails,.the.retu
a6da0 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 rn.value.is.<CODE>-1</CODE>.and.
a6dc0 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 0a 20 20 20 20 20 20 <CODE>errno</CODE>.is.set.......
a6de0 20 20 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 54 68 65 72 65 20 69 73 20 6e 6f 74 68 69 6e ...accordingly...There.is.nothin
a6e00 67 20 73 70 65 63 69 66 69 63 20 74 68 61 74 20 63 61 6e 20 67 6f 20 77 72 6f 6e 67 20 77 69 74 g.specific.that.can.go.wrong.wit
a6e20 68 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2c 20 73 6f 20 74 68 65 h.this..........function,.so.the
a6e40 72 65 20 61 72 65 20 6e 6f 20 73 70 65 63 69 66 69 63 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f re.are.no.specific.<CODE>errno</
a6e60 43 4f 44 45 3e 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a CODE>.values...........<br><br>.
a6e80 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 63 68 65 64 ........sq.~......w.....t..sched
a6ea0 2e 68 78 71 00 7e 18 2a 74 00 04 76 6f 69 64 74 00 03 69 6e 74 74 00 06 73 65 65 64 34 38 73 71 .hxq.~.*t..voidt..intt..seed48sq
a6ec0 00 7e 00 0a 70 74 04 8d 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 65 64 34 .~..pt...........The.<CODE>seed4
a6ee0 38 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 61 6c 8</CODE>.function.initializes.al
a6f00 6c 20 34 38 20 62 69 74 73 20 6f 66 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 0a 20 20 l.48.bits.of.the.state.of.the...
a6f20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 .......internal.random.number.ge
a6f40 6e 65 72 61 74 6f 72 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 nerator.from.the.contents.of.the
a6f60 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 65 65 64 31 36 76 .parameter..........<VAR>seed16v
a6f80 3c 2f 56 41 52 3e 2e 20 20 48 65 72 65 20 74 68 65 20 6c 6f 77 65 72 20 31 36 20 62 69 74 73 20 </VAR>...Here.the.lower.16.bits.
a6fa0 6f 66 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 20 20 20 of.the.first.element.of.........
a6fc0 20 3c 56 41 52 3e 73 65 65 31 36 76 3c 2f 56 41 52 3e 20 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 .<VAR>see16v</VAR>.initialize.th
a6fe0 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 31 36 20 62 69 74 73 20 6f 66 20 74 e.least.significant.16.bits.of.t
a7000 68 65 20 69 6e 74 65 72 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2c 20 74 68 65 20 he.internal..........state,.the.
a7020 6c 6f 77 65 72 20 31 36 20 62 69 74 73 20 6f 66 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 73 65 65 64 lower.16.bits.of.<CODE><VAR>seed
a7040 31 36 76 3c 2f 56 41 52 3e 5b 31 5d 3c 2f 43 4f 44 45 3e 20 69 6e 69 74 69 61 6c 69 7a 65 20 74 16v</VAR>[1]</CODE>.initialize.t
a7060 68 65 20 6d 69 64 2d 6f 72 64 65 72 0a 20 20 20 20 20 20 20 20 20 31 36 20 62 69 74 73 20 6f 66 he.mid-order..........16.bits.of
a7080 20 74 68 65 20 73 74 61 74 65 20 61 6e 64 20 74 68 65 20 31 36 20 6c 6f 77 65 72 20 62 69 74 73 .the.state.and.the.16.lower.bits
a70a0 20 6f 66 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 73 65 65 64 31 36 76 3c 2f 56 41 52 3e 5b 32 5d 3c .of.<CODE><VAR>seed16v</VAR>[2]<
a70c0 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 6d /CODE>..........initialize.the.m
a70e0 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 31 36 20 62 69 74 73 20 6f 66 20 74 68 65 20 73 ost.significant.16.bits.of.the.s
a7100 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 6e 6c 69 6b 65 20 3c tate...........<br><br>.Unlike.<
a7120 43 4f 44 45 3e 73 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 20 74 68 69 73 20 66 75 6e 63 74 69 6f CODE>srand48</CODE>.this.functio
a7140 6e 20 6c 65 74 73 20 74 68 65 20 75 73 65 72 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6c 6c 20 34 n.lets.the.user.initialize.all.4
a7160 38 20 62 69 74 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 73 74 61 74 65 2e 0a 20 20 8.bits..........of.the.state....
a7180 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e .......<br><br>.The.value.return
a71a0 65 64 20 62 79 20 3c 43 4f 44 45 3e 73 65 65 64 34 38 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 70 ed.by.<CODE>seed48</CODE>.is.a.p
a71c0 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 20 20 ointer.to.an.array.containing...
a71e0 20 20 20 20 20 20 20 74 68 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 69 6e 74 65 72 6e 61 .......the.values.of.the.interna
a7200 6c 20 73 74 61 74 65 20 62 65 66 6f 72 65 20 74 68 65 20 63 68 61 6e 67 65 2e 20 20 54 68 69 73 l.state.before.the.change...This
a7220 20 6d 69 67 68 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 66 75 6c 20 74 6f 20 72 65 73 .might.be..........useful.to.res
a7240 74 61 72 74 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 tart.the.random.number.generator
a7260 20 61 74 20 61 20 63 65 72 74 61 69 6e 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 4f 74 .at.a.certain.state...........Ot
a7280 68 65 72 77 69 73 65 20 74 68 65 20 76 61 6c 75 65 20 63 61 6e 20 73 69 6d 70 6c 79 20 62 65 20 herwise.the.value.can.simply.be.
a72a0 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 73 20 66 6f ignored...........<br><br>.As.fo
a72c0 72 20 3c 43 4f 44 45 3e 73 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 76 61 6c 75 r.<CODE>srand48</CODE>,.the.valu
a72e0 65 73 20 3c 43 4f 44 45 3e 61 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 63 3c 2f 43 es.<CODE>a</CODE>.and.<CODE>c</C
a7300 4f 44 45 3e 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 67 72 75 65 6e 74 ODE>.from.the..........congruent
a7320 69 61 6c 20 66 6f 72 6d 75 6c 61 20 61 72 65 20 72 65 73 65 74 20 74 6f 20 74 68 65 20 64 65 66 ial.formula.are.reset.to.the.def
a7340 61 75 6c 74 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 ault.values..........sq.~......w
a7360 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 18 31 74 00 1d 75 6e 73 69 67 6e 65 .....t..stdlib.hxq.~.1t..unsigne
a7380 64 20 73 68 6f 72 74 20 69 6e 74 20 73 65 65 64 31 36 76 5b 33 5d 74 00 14 75 6e 73 69 67 6e 65 d.short.int.seed16v[3]t..unsigne
a73a0 64 20 73 68 6f 72 74 20 69 6e 74 20 2a 74 00 08 73 65 65 64 34 38 5f 72 73 71 00 7e 00 0a 70 74 d.short.int.*t..seed48_rsq.~..pt
a73c0 02 94 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 ...........This.function.is.simi
a73e0 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 72 61 6e 64 34 38 5f 72 3c 2f 43 4f 44 45 3e 20 62 75 lar.to.<CODE>srand48_r</CODE>.bu
a7400 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 65 65 64 34 38 3c 2f 43 4f 44 45 3e 20 69 74 0a 20 20 t.like.<CODE>seed48</CODE>.it...
a7420 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 61 6c 6c 20 34 38 20 62 69 74 73 20 6f .......initializes.all.48.bits.o
a7440 66 20 74 68 65 20 73 74 61 74 65 20 66 72 6f 6d 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c f.the.state.from.the.parameter.<
a7460 56 41 52 3e 73 65 65 64 31 36 76 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e VAR>seed16v</VAR>...........<br>
a7480 3c 62 72 3e 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d <br>.If.the.return.value.is.non-
a74a0 6e 65 67 61 74 69 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 75 63 63 65 negative.the.function.call.succe
a74c0 65 64 65 64 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 72 65 74 75 eded...It..........does.not.retu
a74e0 72 6e 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 74 61 rn.a.pointer.to.the.previous.sta
a7500 74 65 20 6f 66 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 te.of.the.random.number.........
a7520 20 67 65 6e 65 72 61 74 6f 72 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 73 65 65 64 34 38 .generator.like.the.<CODE>seed48
a7540 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 2e 20 20 49 66 20 74 68 65 20 75 </CODE>.function.does...If.the.u
a7560 73 65 72 20 77 61 6e 74 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 70 72 65 73 65 72 76 65 20 74 ser.wants.to..........preserve.t
a7580 68 65 20 73 74 61 74 65 20 66 6f 72 20 61 20 6c 61 74 65 72 20 72 65 2d 72 75 6e 20 73 2f 68 65 he.state.for.a.later.re-run.s/he
a75a0 20 63 61 6e 20 63 6f 70 79 20 74 68 65 20 77 68 6f 6c 65 20 62 75 66 66 65 72 0a 20 20 20 20 20 .can.copy.the.whole.buffer......
a75c0 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 ....pointed.to.by.<VAR>buffer</V
a75e0 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 AR>...........<br><br>.This.func
a7600 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 73 68 6f 75 tion.is.a.GNU.extension.and.shou
a7620 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 70 6f 72 74 61 62 6c 65 0a 20 20 20 20 20 ld.not.be.used.in.portable......
a7640 20 20 20 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ....programs..........sq.~......
a7660 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 18 38 74 00 3a 75 6e 73 69 67 6e w.....t..stdlib.hxq.~.8t.:unsign
a7680 65 64 20 73 68 6f 72 74 20 69 6e 74 20 73 65 65 64 31 36 76 5b 33 5d 2c 20 73 74 72 75 63 74 20 ed.short.int.seed16v[3],.struct.
a76a0 64 72 61 6e 64 34 38 5f 64 61 74 61 20 2a 62 75 66 66 65 72 74 00 03 69 6e 74 74 00 07 73 65 65 drand48_data.*buffert..intt..see
a76c0 6b 64 69 72 73 71 00 7e 00 0a 70 74 01 7d 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 kdirsq.~..pt.}.........The.<CODE
a76e0 3e 73 65 65 6b 64 69 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 >seekdir</CODE>.function.sets.th
a7700 65 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 e.file.position.of.the.directory
a7720 0a 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 64 69 72 73 74 72 65 61 6d 3c ..........stream.<VAR>dirstream<
a7740 2f 56 41 52 3e 20 74 6f 20 3c 56 41 52 3e 70 6f 73 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 /VAR>.to.<VAR>pos</VAR>...The.va
a7760 6c 75 65 20 3c 56 41 52 3e 70 6f 73 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 20 74 68 65 0a 20 lue.<VAR>pos</VAR>.must.be.the..
a7780 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 20 61 20 70 72 65 76 69 6f 75 73 20 63 61 6c ........result.of.a.previous.cal
a77a0 6c 20 74 6f 20 3c 43 4f 44 45 3e 74 65 6c 6c 64 69 72 3c 2f 43 4f 44 45 3e 20 6f 6e 20 74 68 69 l.to.<CODE>telldir</CODE>.on.thi
a77c0 73 20 70 61 72 74 69 63 75 6c 61 72 20 73 74 72 65 61 6d 3b 0a 20 20 20 20 20 20 20 20 20 63 6c s.particular.stream;..........cl
a77e0 6f 73 69 6e 67 20 61 6e 64 20 72 65 6f 70 65 6e 69 6e 67 20 74 68 65 20 64 69 72 65 63 74 6f 72 osing.and.reopening.the.director
a7800 79 20 63 61 6e 20 69 6e 76 61 6c 69 64 61 74 65 20 76 61 6c 75 65 73 20 72 65 74 75 72 6e 65 64 y.can.invalidate.values.returned
a7820 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 65 6c 6c 64 69 72 3c 2f 43 4f 44 45 .by..........<CODE>telldir</CODE
a7840 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 >..........sq.~......w.....t..di
a7860 72 65 6e 74 2e 68 78 71 00 7e 18 3f 74 00 1c 44 49 52 20 2a 64 69 72 73 74 72 65 61 6d 2c 20 6c rent.hxq.~.?t..DIR.*dirstream,.l
a7880 6f 6e 67 20 69 6e 74 20 70 6f 73 74 00 04 76 6f 69 64 74 00 06 73 65 6c 65 63 74 73 71 00 7e 00 ong.int.post..voidt..selectsq.~.
a78a0 0a 70 74 0f a5 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 6c 65 63 74 3c 2f .pt...........The.<CODE>select</
a78c0 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 62 6c 6f 63 6b 73 20 74 68 65 20 63 61 6c 6c 69 6e CODE>.function.blocks.the.callin
a78e0 67 20 70 72 6f 63 65 73 73 20 75 6e 74 69 6c 20 74 68 65 72 65 20 69 73 0a 20 20 20 20 20 20 20 g.process.until.there.is........
a7900 20 20 61 63 74 69 76 69 74 79 20 6f 6e 20 61 6e 79 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 ..activity.on.any.of.the.specifi
a7920 65 64 20 73 65 74 73 20 6f 66 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 6f 72 20 ed.sets.of.file.descriptors,.or.
a7940 75 6e 74 69 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 6f 75 74 20 70 65 72 69 6f until.the..........timeout.perio
a7960 64 20 68 61 73 20 65 78 70 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e d.has.expired...........<br><br>
a7980 20 54 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 73 70 65 63 69 66 69 65 64 20 .The.file.descriptors.specified.
a79a0 62 79 20 74 68 65 20 3c 56 41 52 3e 72 65 61 64 2d 66 64 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d by.the.<VAR>read-fds</VAR>.argum
a79c0 65 6e 74 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 65 64 20 74 6f 20 73 65 65 20 ent.are..........checked.to.see.
a79e0 69 66 20 74 68 65 79 20 61 72 65 20 72 65 61 64 79 20 66 6f 72 20 72 65 61 64 69 6e 67 3b 20 74 if.they.are.ready.for.reading;.t
a7a00 68 65 20 3c 56 41 52 3e 77 72 69 74 65 2d 66 64 73 3c 2f 56 41 52 3e 20 66 69 6c 65 0a 20 20 20 he.<VAR>write-fds</VAR>.file....
a7a20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 20 61 72 65 20 63 68 65 63 6b 65 64 20 74 6f ......descriptors.are.checked.to
a7a40 20 73 65 65 20 69 66 20 74 68 65 79 20 61 72 65 20 72 65 61 64 79 20 66 6f 72 20 77 72 69 74 69 .see.if.they.are.ready.for.writi
a7a60 6e 67 3b 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 65 78 63 65 70 74 ng;.and.the..........<VAR>except
a7a80 2d 66 64 73 3c 2f 56 41 52 3e 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 61 72 65 20 -fds</VAR>.file.descriptors.are.
a7aa0 63 68 65 63 6b 65 64 20 66 6f 72 20 65 78 63 65 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 checked.for.exceptional.........
a7ac0 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 59 6f 75 20 63 61 6e 20 70 61 73 73 20 61 20 6e 75 6c .conditions...You.can.pass.a.nul
a7ae0 6c 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 61 6e 79 20 6f 66 20 74 68 65 73 65 20 61 72 67 75 6d l.pointer.for.any.of.these.argum
a7b00 65 6e 74 73 20 69 66 0a 20 20 20 20 20 20 20 20 20 79 6f 75 20 61 72 65 20 6e 6f 74 20 69 6e 74 ents.if..........you.are.not.int
a7b20 65 72 65 73 74 65 64 20 69 6e 20 63 68 65 63 6b 69 6e 67 20 66 6f 72 20 74 68 61 74 20 6b 69 6e erested.in.checking.for.that.kin
a7b40 64 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 d.of.condition...........<br><br
a7b60 3e 20 41 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 69 73 20 63 6f 6e 73 69 64 65 72 65 >.A.file.descriptor.is.considere
a7b80 64 20 72 65 61 64 79 20 66 6f 72 20 72 65 61 64 69 6e 67 20 69 66 20 61 20 3c 43 4f 44 45 3e 72 d.ready.for.reading.if.a.<CODE>r
a7ba0 65 61 64 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 77 69 6c 6c 20 6e 6f ead</CODE>..........call.will.no
a7bc0 74 20 62 6c 6f 63 6b 2e 20 20 54 68 69 73 20 75 73 75 61 6c 6c 79 20 69 6e 63 6c 75 64 65 73 20 t.block...This.usually.includes.
a7be0 74 68 65 20 72 65 61 64 20 6f 66 66 73 65 74 20 62 65 69 6e 67 20 61 74 0a 20 20 20 20 20 20 20 the.read.offset.being.at........
a7c00 20 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6f 72 20 74 68 65 72 65 20 69 ..the.end.of.the.file.or.there.i
a7c20 73 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 72 65 70 6f 72 74 2e 20 20 41 20 73 65 72 76 65 72 20 s.an.error.to.report...A.server.
a7c40 73 6f 63 6b 65 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 72 65 socket..........is.considered.re
a7c60 61 64 79 20 66 6f 72 20 72 65 61 64 69 6e 67 20 69 66 20 74 68 65 72 65 20 69 73 20 61 20 70 65 ady.for.reading.if.there.is.a.pe
a7c80 6e 64 69 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 nding.connection.which..........
a7ca0 63 61 6e 20 62 65 20 61 63 63 65 70 74 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 61 63 63 65 70 can.be.accepted.with.<CODE>accep
a7cc0 74 3c 2f 43 4f 44 45 3e 3b 20 2e 20 20 41 0a 20 20 20 20 20 20 20 20 20 63 6c 69 65 6e 74 20 73 t</CODE>;....A..........client.s
a7ce0 6f 63 6b 65 74 20 69 73 20 72 65 61 64 79 20 66 6f 72 20 77 72 69 74 69 6e 67 20 77 68 65 6e 20 ocket.is.ready.for.writing.when.
a7d00 69 74 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 66 75 6c 6c 79 0a 20 20 20 20 20 20 20 20 its.connection.is.fully.........
a7d20 20 65 73 74 61 62 6c 69 73 68 65 64 3b 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .established;............<br><br
a7d40 3e 20 60 60 45 78 63 65 70 74 69 6f 6e 61 6c 20 63 6f 6e 64 69 74 69 6f 6e 73 27 27 20 64 6f 65 >.``Exceptional.conditions''.doe
a7d60 73 20 6e 6f 74 20 6d 65 61 6e 20 65 72 72 6f 72 73 2d 2d 2d 65 72 72 6f 72 73 20 61 72 65 20 72 s.not.mean.errors---errors.are.r
a7d80 65 70 6f 72 74 65 64 0a 20 20 20 20 20 20 20 20 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 68 65 eported..........immediately.whe
a7da0 6e 20 61 6e 20 65 72 72 6f 6e 65 6f 75 73 20 73 79 73 74 65 6d 20 63 61 6c 6c 20 69 73 20 65 78 n.an.erroneous.system.call.is.ex
a7dc0 65 63 75 74 65 64 2c 20 61 6e 64 20 64 6f 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 ecuted,.and.do.not..........cons
a7de0 74 69 74 75 74 65 20 61 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 64 65 73 63 72 69 70 74 6f 72 titute.a.state.of.the.descriptor
a7e00 2e 20 20 52 61 74 68 65 72 2c 20 74 68 65 79 20 69 6e 63 6c 75 64 65 20 63 6f 6e 64 69 74 69 6f ...Rather,.they.include.conditio
a7e20 6e 73 0a 20 20 20 20 20 20 20 20 20 73 75 63 68 20 61 73 20 74 68 65 20 70 72 65 73 65 6e 63 65 ns..........such.as.the.presence
a7e40 20 6f 66 20 61 6e 20 75 72 67 65 6e 74 20 6d 65 73 73 61 67 65 20 6f 6e 20 61 20 73 6f 63 6b 65 .of.an.urgent.message.on.a.socke
a7e60 74 2e 20 20 28 2c 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 t...(,..........for.information.
a7e80 6f 6e 20 75 72 67 65 6e 74 20 6d 65 73 73 61 67 65 73 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 on.urgent.messages.)..........<b
a7ea0 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 6c 65 63 74 3c 2f 43 4f 44 45 3e 20 66 r><br>.The.<CODE>select</CODE>.f
a7ec0 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 73 20 6f 6e 6c 79 20 74 68 65 20 66 69 72 73 74 20 3c 56 unction.checks.only.the.first.<V
a7ee0 41 52 3e 6e 66 64 73 3c 2f 56 41 52 3e 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 AR>nfds</VAR>.file..........desc
a7f00 72 69 70 74 6f 72 73 2e 20 20 54 68 65 20 75 73 75 61 6c 20 74 68 69 6e 67 20 69 73 20 74 6f 20 riptors...The.usual.thing.is.to.
a7f20 70 61 73 73 20 3c 43 4f 44 45 3e 46 44 5f 53 45 54 53 49 5a 45 3c 2f 43 4f 44 45 3e 20 61 73 20 pass.<CODE>FD_SETSIZE</CODE>.as.
a7f40 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 69 73 20 61 72 67 75 6d the.value..........of.this.argum
a7f60 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e ent...........<br><br>.The.<VAR>
a7f80 74 69 6d 65 6f 75 74 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6d 61 78 69 timeout</VAR>.specifies.the.maxi
a7fa0 6d 75 6d 20 74 69 6d 65 20 74 6f 20 77 61 69 74 2e 20 20 49 66 20 79 6f 75 20 70 61 73 73 20 61 mum.time.to.wait...If.you.pass.a
a7fc0 0a 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 74 68 69 73 20 ..........null.pointer.for.this.
a7fe0 61 72 67 75 6d 65 6e 74 2c 20 69 74 20 6d 65 61 6e 73 20 74 6f 20 62 6c 6f 63 6b 20 69 6e 64 65 argument,.it.means.to.block.inde
a8000 66 69 6e 69 74 65 6c 79 20 75 6e 74 69 6c 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 finitely.until.one..........of.t
a8020 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 69 73 20 72 65 61 64 79 2e 20 20 4f he.file.descriptors.is.ready...O
a8040 74 68 65 72 77 69 73 65 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 70 72 6f 76 69 64 65 20 74 68 65 therwise,.you.should.provide.the
a8060 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 20 69 6e 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 74 ..........time.in.<CODE>struct.t
a8080 69 6d 65 76 61 6c 3c 2f 43 4f 44 45 3e 20 66 6f 72 6d 61 74 3b 20 73 65 65 20 48 69 67 68 2d 52 imeval</CODE>.format;.see.High-R
a80a0 65 73 6f 6c 75 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 43 61 6c 65 6e 64 61 72 2e 20 20 53 70 esolution..........Calendar...Sp
a80c0 65 63 69 66 79 20 7a 65 72 6f 20 61 73 20 74 68 65 20 74 69 6d 65 20 28 61 20 3c 43 4f 44 45 3e ecify.zero.as.the.time.(a.<CODE>
a80e0 73 74 72 75 63 74 20 74 69 6d 65 76 61 6c 3c 2f 43 4f 44 45 3e 20 63 6f 6e 74 61 69 6e 69 6e 67 struct.timeval</CODE>.containing
a8100 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 20 7a 65 72 6f 73 29 20 69 66 20 79 6f 75 20 77 61 6e 74 ..........all.zeros).if.you.want
a8120 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 77 68 69 63 68 20 64 65 73 63 72 69 70 74 6f 72 73 20 61 .to.find.out.which.descriptors.a
a8140 72 65 20 72 65 61 64 79 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 20 20 20 77 61 69 74 69 6e re.ready.without..........waitin
a8160 67 20 69 66 20 6e 6f 6e 65 20 61 72 65 20 72 65 61 64 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 g.if.none.are.ready...........<b
a8180 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 r><br>.The.normal.return.value.f
a81a0 72 6f 6d 20 3c 43 4f 44 45 3e 73 65 6c 65 63 74 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 74 rom.<CODE>select</CODE>.is.the.t
a81c0 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 61 64 79 20 66 69 6c 65 0a 20 20 20 20 20 20 otal.number.of.ready.file.......
a81e0 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 20 69 6e 20 61 6c 6c 20 6f 66 20 74 68 65 20 73 65 74 ...descriptors.in.all.of.the.set
a8200 73 2e 20 20 45 61 63 68 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 73 65 74 73 20 69 73 s...Each.of.the.argument.sets.is
a8220 20 6f 76 65 72 77 72 69 74 74 65 6e 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 20 69 6e 66 6f 72 .overwritten..........with.infor
a8240 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 74 68 61 mation.about.the.descriptors.tha
a8260 74 20 61 72 65 20 72 65 61 64 79 20 66 6f 72 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e t.are.ready.for.the.correspondin
a8280 67 0a 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 2e 20 20 54 68 75 73 2c 20 74 6f 20 g..........operation...Thus,.to.
a82a0 73 65 65 20 69 66 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 64 65 73 63 72 69 70 74 6f 72 20 3c see.if.a.particular.descriptor.<
a82c0 56 41 52 3e 64 65 73 63 3c 2f 56 41 52 3e 20 68 61 73 20 69 6e 70 75 74 2c 0a 20 20 20 20 20 20 VAR>desc</VAR>.has.input,.......
a82e0 20 20 20 75 73 65 20 3c 43 4f 44 45 3e 46 44 5f 49 53 53 45 54 20 28 3c 56 41 52 3e 64 65 73 63 ...use.<CODE>FD_ISSET.(<VAR>desc
a8300 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 72 65 61 64 2d 66 64 73 3c 2f 56 41 52 3e 29 3c 2f 43 4f </VAR>,.<VAR>read-fds</VAR>)</CO
a8320 44 45 3e 20 61 66 74 65 72 20 3c 43 4f 44 45 3e 73 65 6c 65 63 74 3c 2f 43 4f 44 45 3e 20 72 65 DE>.after.<CODE>select</CODE>.re
a8340 74 75 72 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 turns...........<br><br>.If.<COD
a8360 45 3e 73 65 6c 65 63 74 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 62 65 63 61 75 73 65 20 E>select</CODE>.returns.because.
a8380 74 68 65 20 74 69 6d 65 6f 75 74 20 70 65 72 69 6f 64 20 65 78 70 69 72 65 73 2c 20 69 74 20 72 the.timeout.period.expires,.it.r
a83a0 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 61 20 76 61 6c 75 65 20 6f 66 20 7a 65 72 6f 2e eturns..........a.value.of.zero.
a83c0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 79 20 73 69 67 6e 61 6c 20 77 69 ..........<br><br>.Any.signal.wi
a83e0 6c 6c 20 63 61 75 73 65 20 3c 43 4f 44 45 3e 73 65 6c 65 63 74 3c 2f 43 4f 44 45 3e 20 74 6f 20 ll.cause.<CODE>select</CODE>.to.
a8400 72 65 74 75 72 6e 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 20 20 53 6f 20 69 66 20 79 6f 75 72 0a return.immediately...So.if.your.
a8420 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 20 75 73 65 73 20 73 69 67 6e 61 6c 73 2c 20 79 .........program.uses.signals,.y
a8440 6f 75 20 63 61 6e 27 74 20 72 65 6c 79 20 6f 6e 20 3c 43 4f 44 45 3e 73 65 6c 65 63 74 3c 2f 43 ou.can't.rely.on.<CODE>select</C
a8460 4f 44 45 3e 20 74 6f 20 6b 65 65 70 20 77 61 69 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 66 6f ODE>.to.keep.waiting..........fo
a8480 72 20 74 68 65 20 66 75 6c 6c 20 74 69 6d 65 20 73 70 65 63 69 66 69 65 64 2e 20 20 49 66 20 79 r.the.full.time.specified...If.y
a84a0 6f 75 20 77 61 6e 74 20 74 6f 20 62 65 20 73 75 72 65 20 6f 66 20 77 61 69 74 69 6e 67 20 66 6f ou.want.to.be.sure.of.waiting.fo
a84c0 72 20 61 0a 20 20 20 20 20 20 20 20 20 70 61 72 74 69 63 75 6c 61 72 20 61 6d 6f 75 6e 74 20 6f r.a..........particular.amount.o
a84e0 66 20 74 69 6d 65 2c 20 79 6f 75 20 6d 75 73 74 20 63 68 65 63 6b 20 66 6f 72 20 3c 43 4f 44 45 f.time,.you.must.check.for.<CODE
a8500 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 72 65 70 65 61 74 0a 20 20 20 20 20 20 20 >EINTR</CODE>.and.repeat........
a8520 20 20 74 68 65 20 3c 43 4f 44 45 3e 73 65 6c 65 63 74 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 ..the.<CODE>select</CODE>.with.a
a8540 20 6e 65 77 6c 79 20 63 61 6c 63 75 6c 61 74 65 64 20 74 69 6d 65 6f 75 74 20 62 61 73 65 64 20 .newly.calculated.timeout.based.
a8560 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 74 69 6d 65 2e 20 20 53 on.the.current..........time...S
a8580 65 65 20 74 68 65 20 65 78 61 6d 70 6c 65 20 62 65 6c 6f 77 2e 20 20 53 65 65 20 61 6c 73 6f 20 ee.the.example.below...See.also.
a85a0 49 6e 74 65 72 72 75 70 74 65 64 20 50 72 69 6d 69 74 69 76 65 73 2e 0a 20 20 20 20 20 20 20 20 Interrupted.Primitives..........
a85c0 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 73 2c 20 3c 43 .<br><br>.If.an.error.occurs,.<C
a85e0 4f 44 45 3e 73 65 6c 65 63 74 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e ODE>select</CODE>.returns.<CODE>
a8600 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 64 6f 65 73 20 6e 6f 74 20 6d 6f 64 69 66 79 0a 20 20 -1</CODE>.and.does.not.modify...
a8620 20 20 20 20 20 20 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 66 69 6c 65 20 64 65 73 63 72 69 70 .......the.argument.file.descrip
a8640 74 6f 72 20 73 65 74 73 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 tor.sets...The.following.<CODE>e
a8660 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 64 69 rrno</CODE>.error..........condi
a8680 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 tions.are.defined.for.this.funct
a86a0 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 ion:..........<br><br>.<DL>.....
a86c0 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 ......<DT><CODE>EBADF</CODE>.<DD
a86e0 3e 0a 20 20 20 20 20 20 20 20 20 4f 6e 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 >..........One.of.the.file.descr
a8700 69 70 74 6f 72 20 73 65 74 73 20 73 70 65 63 69 66 69 65 64 20 61 6e 20 69 6e 76 61 6c 69 64 20 iptor.sets.specified.an.invalid.
a8720 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 file.descriptor...........<br><b
a8740 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 r>.<DT><CODE>EINTR</CODE>.<DD>..
a8760 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 69 6e 74 65 72 72 ........The.operation.was.interr
a8780 75 70 74 65 64 20 62 79 20 61 20 73 69 67 6e 61 6c 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c upted.by.a.signal..............<
a87a0 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a br><br>.<DT><CODE>EINVAL</CODE>.
a87c0 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 74 69 6d 65 6f 75 74 3c 2f <DD>..........The.<VAR>timeout</
a87e0 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 69 6e 76 61 6c 69 64 3b 20 6f 6e 65 20 6f 66 VAR>.argument.is.invalid;.one.of
a8800 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 69 73 20 6e 65 67 61 74 69 76 65 0a 20 20 20 20 .the.components.is.negative.....
a8820 20 20 20 20 20 6f 72 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c .....or.too.large...........</DL
a8840 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 79 73 >.........sq.~......w.....t..sys
a8860 2f 74 79 70 65 73 2e 68 78 71 00 7e 18 46 74 00 5a 69 6e 74 20 6e 66 64 73 2c 20 66 64 5f 73 65 /types.hxq.~.Ft.Zint.nfds,.fd_se
a8880 74 20 2a 72 65 61 64 2d 66 64 73 2c 20 66 64 5f 73 65 74 20 2a 77 72 69 74 65 2d 66 64 73 2c 20 t.*read-fds,.fd_set.*write-fds,.
a88a0 66 64 5f 73 65 74 20 2a 65 78 63 65 70 74 2d 66 64 73 2c 20 73 74 72 75 63 74 20 74 69 6d 65 76 fd_set.*except-fds,.struct.timev
a88c0 61 6c 20 2a 74 69 6d 65 6f 75 74 74 00 03 69 6e 74 74 00 04 73 65 6e 64 73 71 00 7e 00 0a 70 74 al.*timeoutt..intt..sendsq.~..pt
a88e0 09 a5 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 6e 64 3c 2f 43 4f 44 45 3e ...........The.<CODE>send</CODE>
a8900 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 .function.is.like.<CODE>write</C
a8920 4f 44 45 3e 2c 20 62 75 74 20 77 69 74 68 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 ODE>,.but.with.the.additional...
a8940 20 20 20 20 20 20 20 66 6c 61 67 73 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 2e 20 20 .......flags.<VAR>flags</VAR>...
a8960 54 68 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 52 3e 66 6c 61 67 The.possible.values.of.<VAR>flag
a8980 73 3c 2f 56 41 52 3e 20 61 72 65 20 64 65 73 63 72 69 62 65 64 0a 20 20 20 20 20 20 20 20 20 69 s</VAR>.are.described..........i
a89a0 6e 20 53 6f 63 6b 65 74 20 44 61 74 61 20 4f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 n.Socket.Data.Options...........
a89c0 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 <br><br>.This.function.returns.t
a89e0 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 72 61 6e 73 6d 69 74 74 65 64 2c 20 he.number.of.bytes.transmitted,.
a8a00 6f 72 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 66 or.<CODE>-1</CODE>.on..........f
a8a20 61 69 6c 75 72 65 2e 20 20 49 66 20 74 68 65 20 73 6f 63 6b 65 74 20 69 73 20 6e 6f 6e 62 6c 6f ailure...If.the.socket.is.nonblo
a8a40 63 6b 69 6e 67 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 73 65 6e 64 3c 2f 43 4f 44 45 3e 20 28 6c cking,.then.<CODE>send</CODE>.(l
a8a60 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 29 ike..........<CODE>write</CODE>)
a8a80 20 63 61 6e 20 72 65 74 75 72 6e 20 61 66 74 65 72 20 73 65 6e 64 69 6e 67 20 6a 75 73 74 20 70 .can.return.after.sending.just.p
a8aa0 61 72 74 20 6f 66 20 74 68 65 20 64 61 74 61 2e 0a 20 20 20 20 20 20 20 20 20 2c 20 66 6f 72 20 art.of.the.data...........,.for.
a8ac0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 6d 6f information.about.nonblocking.mo
a8ae0 64 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 2c 20 68 6f 77 65 de...........<br><br>.Note,.howe
a8b00 76 65 72 2c 20 74 68 61 74 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 72 65 74 75 72 6e 20 76 61 ver,.that.a.successful.return.va
a8b20 6c 75 65 20 6d 65 72 65 6c 79 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 0a 20 20 20 20 20 20 lue.merely.indicates.that.......
a8b40 20 20 20 74 68 65 20 6d 65 73 73 61 67 65 20 68 61 73 20 62 65 65 6e 20 73 65 6e 74 20 77 69 74 ...the.message.has.been.sent.wit
a8b60 68 6f 75 74 20 65 72 72 6f 72 2c 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 74 68 61 74 hout.error,.not.necessarily.that
a8b80 20 69 74 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 62 65 65 6e 20 72 65 63 65 69 76 65 64 20 77 .it.has..........been.received.w
a8ba0 69 74 68 6f 75 74 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ithout.error...........<br><br>.
a8bc0 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e The.following.<CODE>errno</CODE>
a8be0 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f .error.conditions.are.defined.fo
a8c00 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 r.this.function:..........<br><b
a8c20 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 r>.<DL>...........<DT><CODE>EBAD
a8c40 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e F</CODE>.<DD>..........The.<VAR>
a8c60 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 socket</VAR>.argument.is.not.a.v
a8c80 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c alid.file.descriptor...........<
a8ca0 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c br><br>.<DT><CODE>EINTR</CODE>.<
a8cc0 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 69 DD>..........The.operation.was.i
a8ce0 6e 74 65 72 72 75 70 74 65 64 20 62 79 20 61 20 73 69 67 6e 61 6c 20 62 65 66 6f 72 65 20 61 6e nterrupted.by.a.signal.before.an
a8d00 79 20 64 61 74 61 20 77 61 73 20 73 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 y.data.was.sent.................
a8d20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 53 4f 43 4b .....<br><br>.<DT><CODE>ENOTSOCK
a8d40 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 73 63 72 69 </CODE>.<DD>..........The.descri
a8d60 70 74 6f 72 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 ptor.<VAR>socket</VAR>.is.not.a.
a8d80 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 socket...........<br><br>.<DT><C
a8da0 4f 44 45 3e 45 4d 53 47 53 49 5a 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 ODE>EMSGSIZE</CODE>.<DD>........
a8dc0 20 20 54 68 65 20 73 6f 63 6b 65 74 20 74 79 70 65 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 ..The.socket.type.requires.that.
a8de0 74 68 65 20 6d 65 73 73 61 67 65 20 62 65 20 73 65 6e 74 20 61 74 6f 6d 69 63 61 6c 6c 79 2c 20 the.message.be.sent.atomically,.
a8e00 62 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 69 73 20 74 6f 6f 20 but.the..........message.is.too.
a8e20 6c 61 72 67 65 20 66 6f 72 20 74 68 69 73 20 74 6f 20 62 65 20 70 6f 73 73 69 62 6c 65 2e 0a 20 large.for.this.to.be.possible...
a8e40 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 57 4f 55 4c ........<br><br>.<DT><CODE>EWOUL
a8e60 44 42 4c 4f 43 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f 6e 62 DBLOCK</CODE>.<DD>..........Nonb
a8e80 6c 6f 63 6b 69 6e 67 20 6d 6f 64 65 20 68 61 73 20 62 65 65 6e 20 73 65 74 20 6f 6e 20 74 68 65 locking.mode.has.been.set.on.the
a8ea0 20 73 6f 63 6b 65 74 2c 20 61 6e 64 20 74 68 65 20 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e .socket,.and.the.write.operation
a8ec0 0a 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20 62 6c 6f 63 6b 2e 20 20 28 4e 6f 72 6d 61 6c 6c ..........would.block...(Normall
a8ee0 79 20 3c 43 4f 44 45 3e 73 65 6e 64 3c 2f 43 4f 44 45 3e 20 62 6c 6f 63 6b 73 20 75 6e 74 69 6c y.<CODE>send</CODE>.blocks.until
a8f00 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 0a 20 20 20 20 20 20 20 20 20 63 .the.operation.can.be..........c
a8f20 6f 6d 70 6c 65 74 65 64 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 ompleted.)..........<br><br>.<DT
a8f40 3e 3c 43 4f 44 45 3e 45 4e 4f 42 55 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 ><CODE>ENOBUFS</CODE>.<DD>......
a8f60 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 74 20 65 6e 6f 75 67 68 20 69 6e 74 65 72 6e 61 6c ....There.is.not.enough.internal
a8f80 20 62 75 66 66 65 72 20 73 70 61 63 65 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 .buffer.space.available.........
a8fa0 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 43 4f 4e 4e 3c 2f 43 ..<br><br>.<DT><CODE>ENOTCONN</C
a8fc0 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 6e 65 76 65 72 20 63 6f 6e ODE>.<DD>..........You.never.con
a8fe0 6e 65 63 74 65 64 20 74 68 69 73 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 nected.this.socket...........<br
a9000 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 49 50 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 ><br>.<DT><CODE>EPIPE</CODE>.<DD
a9020 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 73 6f 63 6b 65 74 20 77 61 73 20 63 6f 6e 6e 65 >..........This.socket.was.conne
a9040 63 74 65 64 20 62 75 74 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 69 73 20 6e 6f 77 20 62 cted.but.the.connection.is.now.b
a9060 72 6f 6b 65 6e 2e 20 20 49 6e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 2c 20 3c roken...In.this..........case,.<
a9080 43 4f 44 45 3e 73 65 6e 64 3c 2f 43 4f 44 45 3e 20 67 65 6e 65 72 61 74 65 73 20 61 20 3c 43 4f CODE>send</CODE>.generates.a.<CO
a90a0 44 45 3e 53 49 47 50 49 50 45 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 20 66 69 72 73 74 3b 20 DE>SIGPIPE</CODE>.signal.first;.
a90c0 69 66 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 61 6c 20 69 73 20 69 67 6e 6f 72 if.that..........signal.is.ignor
a90e0 65 64 20 6f 72 20 62 6c 6f 63 6b 65 64 2c 20 6f 72 20 69 66 20 69 74 73 20 68 61 6e 64 6c 65 72 ed.or.blocked,.or.if.its.handler
a9100 20 72 65 74 75 72 6e 73 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 65 .returns,.then..........<CODE>se
a9120 6e 64 3c 2f 43 4f 44 45 3e 20 66 61 69 6c 73 20 77 69 74 68 20 3c 43 4f 44 45 3e 45 50 49 50 45 nd</CODE>.fails.with.<CODE>EPIPE
a9140 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 </CODE>...........</DL>.........
a9160 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e .<br><br>.This.function.is.defin
a9180 65 64 20 61 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 ed.as.a.cancellation.point.in.mu
a91a0 6c 74 69 2d 74 68 72 65 61 64 65 64 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2c 20 lti-threaded..........programs,.
a91c0 73 6f 20 6f 6e 65 20 68 61 73 20 74 6f 20 62 65 20 70 72 65 70 61 72 65 64 20 66 6f 72 20 74 68 so.one.has.to.be.prepared.for.th
a91e0 69 73 20 61 6e 64 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 61 is.and.make.sure.that..........a
a9200 6c 6c 6f 63 61 74 65 64 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c llocated.resources.(like.memory,
a9220 20 66 69 6c 65 73 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f .files.descriptors,.semaphores.o
a9240 72 0a 20 20 20 20 20 20 20 20 20 77 68 61 74 65 76 65 72 29 20 61 72 65 20 66 72 65 65 64 20 65 r..........whatever).are.freed.e
a9260 76 65 6e 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 69 73 20 63 61 6e 63 65 6c 65 64 2e 0a 20 ven.if.the.thread.is.canceled...
a9280 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f .......sq.~......w.....t..sys/so
a92a0 63 6b 65 74 2e 68 78 71 00 7e 18 4d 74 00 30 69 6e 74 20 73 6f 63 6b 65 74 2c 20 76 6f 69 64 20 cket.hxq.~.Mt.0int.socket,.void.
a92c0 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 69 6e 74 20 66 6c 61 67 73 74 *buffer,.size_t.size,.int.flagst
a92e0 00 03 69 6e 74 74 00 07 73 65 6e 64 6d 73 67 73 71 00 7e 00 0a 70 74 01 2d 0a 20 20 20 20 20 20 ..intt..sendmsgsq.~..pt.-.......
a9300 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 ..<br><br>.This.function.is.defi
a9320 6e 65 64 20 61 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d ned.as.a.cancellation.point.in.m
a9340 75 6c 74 69 2d 74 68 72 65 61 64 65 64 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2c ulti-threaded..........programs,
a9360 20 73 6f 20 6f 6e 65 20 68 61 73 20 74 6f 20 62 65 20 70 72 65 70 61 72 65 64 20 66 6f 72 20 74 .so.one.has.to.be.prepared.for.t
a9380 68 69 73 20 61 6e 64 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 his.and.make.sure.that..........
a93a0 61 6c 6c 6f 63 61 74 65 64 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 allocated.resources.(like.memory
a93c0 2c 20 66 69 6c 65 73 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 ,.files.descriptors,.semaphores.
a93e0 6f 72 0a 20 20 20 20 20 20 20 20 20 77 68 61 74 65 76 65 72 29 20 61 72 65 20 66 72 65 65 64 20 or..........whatever).are.freed.
a9400 65 76 65 6e 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 69 73 20 63 61 6e 63 65 6c 2e 0a 20 20 even.if.the.thread.is.cancel....
a9420 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 ......sq.~......w.....t..sys/soc
a9440 6b 65 74 2e 68 78 71 00 7e 18 54 74 00 33 69 6e 74 20 73 6f 63 6b 65 74 2c 20 63 6f 6e 73 74 20 ket.hxq.~.Tt.3int.socket,.const.
a9460 73 74 72 75 63 74 20 6d 73 67 68 64 72 20 2a 6d 65 73 73 61 67 65 2c 20 69 6e 74 20 66 6c 61 67 struct.msghdr.*message,.int.flag
a9480 73 74 00 03 69 6e 74 74 00 06 73 65 6e 64 74 6f 73 71 00 7e 00 0a 70 74 05 03 0a 20 20 20 20 20 st..intt..sendtosq.~..pt........
a94a0 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 6e 64 74 6f 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 ...The.<CODE>sendto</CODE>.funct
a94c0 69 6f 6e 20 74 72 61 6e 73 6d 69 74 73 20 74 68 65 20 64 61 74 61 20 69 6e 20 74 68 65 20 3c 56 ion.transmits.the.data.in.the.<V
a94e0 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 74 68 72 6f 75 67 68 AR>buffer</VAR>..........through
a9500 20 74 68 65 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 74 6f .the.socket.<VAR>socket</VAR>.to
a9520 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 61 64 64 72 65 73 73 20 73 70 65 63 69 66 69 .the.destination.address.specifi
a9540 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 74 68 65 20 3c 56 41 52 3e 61 64 64 72 3c 2f 56 41 ed..........by.the.<VAR>addr</VA
a9560 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e R>.and.<VAR>length</VAR>.argumen
a9580 74 73 2e 20 20 54 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e ts...The.<VAR>size</VAR>.argumen
a95a0 74 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6e 75 6d 62 65 72 20 t..........specifies.the.number.
a95c0 6f 66 20 62 79 74 65 73 20 74 6f 20 62 65 20 74 72 61 6e 73 6d 69 74 74 65 64 2e 0a 20 20 20 20 of.bytes.to.be.transmitted......
a95e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 .....<br><br>.The.<VAR>flags</VA
a9600 52 3e 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 65 64 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 R>.are.interpreted.the.same.way.
a9620 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 6e 64 3c 2f 43 4f 44 45 3e 3b 20 73 65 65 0a 20 20 as.for.<CODE>send</CODE>;.see...
a9640 20 20 20 20 20 20 20 53 6f 63 6b 65 74 20 44 61 74 61 20 4f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 .......Socket.Data.Options......
a9660 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 61 .....<br><br>.The.return.value.a
a9680 6e 64 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 61 6c 73 6f 20 74 68 65 nd.error.conditions.are.also.the
a96a0 20 73 61 6d 65 20 61 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 65 6e 64 .same.as.for..........<CODE>send
a96c0 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 79 6f 75 20 63 61 6e 6e 6f 74 20 72 65 6c 79 20 6f 6e 20 </CODE>,.but.you.cannot.rely.on.
a96e0 74 68 65 20 73 79 73 74 65 6d 20 74 6f 20 64 65 74 65 63 74 20 65 72 72 6f 72 73 20 61 6e 64 0a the.system.to.detect.errors.and.
a9700 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 20 74 68 65 6d 3b 20 74 68 65 20 6d 6f 73 74 20 63 .........report.them;.the.most.c
a9720 6f 6d 6d 6f 6e 20 65 72 72 6f 72 20 69 73 20 74 68 61 74 20 74 68 65 20 70 61 63 6b 65 74 20 69 ommon.error.is.that.the.packet.i
a9740 73 20 6c 6f 73 74 20 6f 72 20 74 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 2d 6f s.lost.or.there..........is.no-o
a9760 6e 65 20 61 74 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 64 64 72 65 73 73 20 74 6f 20 72 ne.at.the.specified.address.to.r
a9780 65 63 65 69 76 65 20 69 74 2c 20 61 6e 64 20 74 68 65 20 6f 70 65 72 61 74 69 6e 67 0a 20 20 20 eceive.it,.and.the.operating....
a97a0 20 20 20 20 20 20 73 79 73 74 65 6d 20 6f 6e 20 79 6f 75 72 20 6d 61 63 68 69 6e 65 20 75 73 75 ......system.on.your.machine.usu
a97c0 61 6c 6c 79 20 64 6f 65 73 20 6e 6f 74 20 6b 6e 6f 77 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 ally.does.not.know.this.........
a97e0 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 66 ..<br><br>.It.is.also.possible.f
a9800 6f 72 20 6f 6e 65 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 65 6e 64 74 6f 3c 2f 43 4f 44 or.one.call.to.<CODE>sendto</COD
a9820 45 3e 20 74 6f 20 72 65 70 6f 72 74 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 6f E>.to.report.an.error..........o
a9840 77 69 6e 67 20 74 6f 20 61 20 70 72 6f 62 6c 65 6d 20 72 65 6c 61 74 65 64 20 74 6f 20 61 20 70 wing.to.a.problem.related.to.a.p
a9860 72 65 76 69 6f 75 73 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 revious.call...........<br><br>.
a9880 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 20 61 20 63 61 This.function.is.defined.as.a.ca
a98a0 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 ncellation.point.in.multi-thread
a98c0 65 64 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2c 20 73 6f 20 6f 6e 65 20 68 61 73 ed..........programs,.so.one.has
a98e0 20 74 6f 20 62 65 20 70 72 65 70 61 72 65 64 20 66 6f 72 20 74 68 69 73 20 61 6e 64 20 6d 61 6b .to.be.prepared.for.this.and.mak
a9900 65 20 73 75 72 65 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 72 e.sure.that..........allocated.r
a9920 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 73 20 64 65 73 esources.(like.memory,.files.des
a9940 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 0a 20 20 20 20 20 20 20 20 criptors,.semaphores.or.........
a9960 20 77 68 61 74 65 76 65 72 29 20 61 72 65 20 66 72 65 65 64 20 65 76 65 6e 20 69 66 20 74 68 65 .whatever).are.freed.even.if.the
a9980 20 74 68 72 65 61 64 20 69 73 20 63 61 6e 63 65 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 .thread.is.canceled..........sq.
a99a0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e ~......w.....t..sys/socket.hxq.~
a99c0 18 5b 74 00 59 69 6e 74 20 73 6f 63 6b 65 74 2c 20 76 6f 69 64 20 2a 62 75 66 66 65 72 2e 20 73 .[t.Yint.socket,.void.*buffer..s
a99e0 69 7a 65 5f 74 20 73 69 7a 65 2c 20 69 6e 74 20 66 6c 61 67 73 2c 20 73 74 72 75 63 74 20 73 6f ize_t.size,.int.flags,.struct.so
a9a00 63 6b 61 64 64 72 20 2a 61 64 64 72 2c 20 73 6f 63 6b 6c 65 6e 5f 74 20 6c 65 6e 67 74 68 74 00 ckaddr.*addr,.socklen_t.lengtht.
a9a20 03 69 6e 74 74 00 06 73 65 74 62 75 66 73 71 00 7e 00 0a 70 74 02 29 0a 20 20 20 20 20 20 20 20 .intt..setbufsq.~..pt.).........
a9a40 49 66 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e If.<VAR>buf</VAR>.is.a.null.poin
a9a60 74 65 72 2c 20 74 68 65 20 65 66 66 65 63 74 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e ter,.the.effect.of.this.function
a9a80 20 69 73 0a 20 20 20 20 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 .is..........equivalent.to.calli
a9aa0 6e 67 20 3c 43 4f 44 45 3e 73 65 74 76 62 75 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 20 3c ng.<CODE>setvbuf</CODE>.with.a.<
a9ac0 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6f 66 0a 20 20 20 20 20 VAR>mode</VAR>.argument.of......
a9ae0 20 20 20 20 3c 43 4f 44 45 3e 5f 49 4f 4e 42 46 3c 2f 43 4f 44 45 3e 2e 20 20 4f 74 68 65 72 77 ....<CODE>_IONBF</CODE>...Otherw
a9b00 69 73 65 2c 20 69 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 ise,.it.is.equivalent.to.calling
a9b20 20 3c 43 4f 44 45 3e 73 65 74 76 62 75 66 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 77 .<CODE>setvbuf</CODE>..........w
a9b40 69 74 68 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 61 20 3c 56 41 52 3e 6d ith.<VAR>buf</VAR>,.and.a.<VAR>m
a9b60 6f 64 65 3c 2f 56 41 52 3e 20 6f 66 20 3c 43 4f 44 45 3e 5f 49 4f 46 42 46 3c 2f 43 4f 44 45 3e ode</VAR>.of.<CODE>_IOFBF</CODE>
a9b80 20 61 6e 64 20 61 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 .and.a.<VAR>size</VAR>..........
a9ba0 61 72 67 75 6d 65 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 42 55 46 53 49 5a 3c 2f 43 4f 44 45 3e 2e argument.of.<CODE>BUFSIZ</CODE>.
a9bc0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 ..........<br><br>.The.<CODE>set
a9be0 62 75 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 70 72 6f 76 69 64 65 64 20 buf</CODE>.function.is.provided.
a9c00 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f 6c 64 20 63 6f 64 65 3b for.compatibility.with.old.code;
a9c20 0a 20 20 20 20 20 20 20 20 20 75 73 65 20 3c 43 4f 44 45 3e 73 65 74 76 62 75 66 3c 2f 43 4f 44 ..........use.<CODE>setvbuf</COD
a9c40 45 3e 20 69 6e 20 61 6c 6c 20 6e 65 77 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 20 E>.in.all.new.programs..........
a9c60 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 18 62 sq.~......w.....t..stdio.hxq.~.b
a9c80 74 00 17 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 68 61 72 20 2a 62 75 66 74 00 04 76 6f 69 t..FILE.*stream,.char.*buft..voi
a9ca0 64 74 00 09 73 65 74 62 75 66 66 65 72 73 71 00 7e 00 0a 70 74 01 96 0a 20 20 20 20 20 20 20 20 dt..setbuffersq.~..pt...........
a9cc0 49 66 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e If.<VAR>buf</VAR>.is.a.null.poin
a9ce0 74 65 72 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 73 20 3c 56 41 52 3e 73 74 ter,.this.function.makes.<VAR>st
a9d00 72 65 61 6d 3c 2f 56 41 52 3e 20 75 6e 62 75 66 66 65 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 ream</VAR>.unbuffered...........
a9d20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 6d 61 6b 65 73 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c Otherwise,.it.makes.<VAR>stream<
a9d40 2f 56 41 52 3e 20 66 75 6c 6c 79 20 62 75 66 66 65 72 65 64 20 75 73 69 6e 67 20 3c 56 41 52 3e /VAR>.fully.buffered.using.<VAR>
a9d60 62 75 66 3c 2f 56 41 52 3e 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 buf</VAR>.as.the..........buffer
a9d80 2e 20 20 54 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 ...The.<VAR>size</VAR>.argument.
a9da0 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e 62 75 66 specifies.the.length.of.<VAR>buf
a9dc0 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 </VAR>...........<br><br>.This.f
a9de0 75 6e 63 74 69 6f 6e 20 69 73 20 70 72 6f 76 69 64 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 unction.is.provided.for.compatib
a9e00 69 6c 69 74 79 20 77 69 74 68 20 6f 6c 64 20 42 53 44 20 63 6f 64 65 2e 20 20 55 73 65 0a 20 20 ility.with.old.BSD.code...Use...
a9e20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 65 74 76 62 75 66 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 .......<CODE>setvbuf</CODE>.inst
a9e40 65 61 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 ead..........sq.~......w.....t..
a9e60 73 74 64 69 6f 2e 68 78 71 00 7e 18 69 74 00 24 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 68 stdio.hxq.~.it.$FILE.*stream,.ch
a9e80 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 04 76 6f 69 64 74 00 0a 73 65 ar.*buf,.size_t.sizet..voidt..se
a9ea0 74 63 6f 6e 74 65 78 74 73 71 00 7e 00 0a 70 74 05 26 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c tcontextsq.~..pt.&.........<br><
a9ec0 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 br>.The.<CODE>setcontext</CODE>.
a9ee0 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 63 6f 6e 74 65 78 74 20 64 65 function.restores.the.context.de
a9f00 73 63 72 69 62 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 75 63 70 3c 2f 56 41 scribed.by..........<VAR>ucp</VA
a9f20 52 3e 2e 20 20 54 68 65 20 63 6f 6e 74 65 78 74 20 69 73 20 6e 6f 74 20 6d 6f 64 69 66 69 65 64 R>...The.context.is.not.modified
a9f40 20 61 6e 64 20 63 61 6e 20 62 65 20 72 65 75 73 65 64 20 61 73 20 6f 66 74 65 6e 20 61 73 0a 20 .and.can.be.reused.as.often.as..
a9f60 20 20 20 20 20 20 20 20 77 61 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ........wanted...........<br><br
a9f80 3e 20 49 66 20 74 68 65 20 63 6f 6e 74 65 78 74 20 77 61 73 20 63 72 65 61 74 65 64 20 62 79 20 >.If.the.context.was.created.by.
a9fa0 3c 43 4f 44 45 3e 67 65 74 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 65 78 65 63 75 74 69 6f <CODE>getcontext</CODE>.executio
a9fc0 6e 20 72 65 73 75 6d 65 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 67 69 n.resumes.with..........the.regi
a9fe0 73 74 65 72 73 20 66 69 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 sters.filled.with.the.same.value
aa000 73 20 61 6e 64 20 74 68 65 20 73 61 6d 65 20 73 74 61 63 6b 20 61 73 20 69 66 20 74 68 65 0a 20 s.and.the.same.stack.as.if.the..
aa020 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 ........<CODE>getcontext</CODE>.
aa040 63 61 6c 6c 20 6a 75 73 74 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 call.just.returned...........<br
aa060 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 63 6f 6e 74 65 78 74 20 77 61 73 20 6d 6f 64 69 66 69 65 ><br>.If.the.context.was.modifie
aa080 64 20 77 69 74 68 20 61 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 6d 61 6b 65 63 6f 6e 74 65 d.with.a.call.to.<CODE>makeconte
aa0a0 78 74 3c 2f 43 4f 44 45 3e 20 65 78 65 63 75 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 63 6f 6e xt</CODE>.execution..........con
aa0c0 74 69 6e 75 65 73 20 77 69 74 68 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 73 73 65 64 20 tinues.with.the.function.passed.
aa0e0 74 6f 20 3c 43 4f 44 45 3e 6d 61 6b 65 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 77 68 69 63 to.<CODE>makecontext</CODE>.whic
aa100 68 20 67 65 74 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 70 61 h.gets.the..........specified.pa
aa120 72 61 6d 65 74 65 72 73 20 70 61 73 73 65 64 2e 20 20 49 66 20 74 68 69 73 20 66 75 6e 63 74 69 rameters.passed...If.this.functi
aa140 6f 6e 20 72 65 74 75 72 6e 73 20 65 78 65 63 75 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 on.returns.execution.is.........
aa160 20 72 65 73 75 6d 65 64 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20 77 68 69 63 68 20 77 61 .resumed.in.the.context.which.wa
aa180 73 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 75 63 5f 6c 69 6e s.referenced.by.the.<CODE>uc_lin
aa1a0 6b 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 k</CODE>..........element.of.the
aa1c0 20 63 6f 6e 74 65 78 74 20 73 74 72 75 63 74 75 72 65 20 70 61 73 73 65 64 20 74 6f 20 3c 43 4f .context.structure.passed.to.<CO
aa1e0 44 45 3e 6d 61 6b 65 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 61 74 20 74 68 65 0a 20 20 20 DE>makecontext</CODE>.at.the....
aa200 20 20 20 20 20 20 74 69 6d 65 20 6f 66 20 74 68 65 20 63 61 6c 6c 2e 20 20 49 66 20 3c 43 4f 44 ......time.of.the.call...If.<COD
aa220 45 3e 75 63 5f 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 77 61 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e E>uc_link</CODE>.was.a.null.poin
aa240 74 65 72 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 74 65 72 ter.the.application..........ter
aa260 6d 69 6e 61 74 65 73 20 69 6e 20 74 68 69 73 20 63 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c minates.in.this.case...........<
aa280 62 72 3e 3c 62 72 3e 20 53 69 6e 63 65 20 74 68 65 20 63 6f 6e 74 65 78 74 20 63 6f 6e 74 61 69 br><br>.Since.the.context.contai
aa2a0 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 73 74 61 63 6b 20 6e ns.information.about.the.stack.n
aa2c0 6f 20 74 77 6f 20 74 68 72 65 61 64 73 0a 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 75 73 o.two.threads..........should.us
aa2e0 65 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 74 65 78 74 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 e.the.same.context.at.the.same.t
aa300 69 6d 65 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 6e 20 6d 6f 73 74 20 63 61 73 65 73 0a 20 ime...The.result.in.most.cases..
aa320 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20 62 65 20 64 69 73 61 73 74 72 6f 75 73 2e 0a 20 20 20 ........would.be.disastrous.....
aa340 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 63 6f 6e 74 ......<br><br>.The.<CODE>setcont
aa360 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 72 65 74 ext</CODE>.function.does.not.ret
aa380 75 72 6e 20 75 6e 6c 65 73 73 20 61 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 0a 20 20 20 urn.unless.an.error.occurred....
aa3a0 20 20 20 20 20 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 20 72 65 74 75 72 6e 73 20 3c ......in.which.case.it.returns.<
aa3c0 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 CODE>-1</CODE>..........sq.~....
aa3e0 00 01 77 04 00 00 00 0a 74 00 0a 75 63 6f 6e 74 65 78 74 2e 68 78 71 00 7e 18 70 74 00 15 63 6f ..w.....t..ucontext.hxq.~.pt..co
aa400 6e 73 74 20 75 63 6f 6e 74 65 78 74 5f 74 20 2a 75 63 70 74 00 03 69 6e 74 74 00 0d 73 65 74 64 nst.ucontext_t.*ucpt..intt..setd
aa420 6f 6d 61 69 6e 6e 61 6d 65 73 71 00 7e 00 0a 70 74 01 91 0a 20 20 20 20 20 20 20 20 20 64 6f 6d omainnamesq.~..pt............dom
aa440 61 69 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 0a 20 ain.name...........domain.name..
aa460 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 67 65 74 64 6f 6d 61 69 6e ........<br><br>.<CODE>getdomain
aa480 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 74 68 65 20 4e 49 53 20 28 61 6b 61 20 59 50 name</CODE>.sets.the.NIS.(aka.YP
aa4a0 29 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 0a 20 20 20 20 ).domain.name.of.the.system.....
aa4c0 20 20 20 20 20 6f 6e 20 77 68 69 63 68 20 69 74 20 69 73 20 63 61 6c 6c 65 64 2e 20 20 4e 6f 74 .....on.which.it.is.called...Not
aa4e0 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 6e 6f 74 20 74 68 65 20 6d 6f 72 65 20 70 6f 70 75 e.that.this.is.not.the.more.popu
aa500 6c 61 72 20 44 4e 53 0a 20 20 20 20 20 20 20 20 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 2e 20 20 53 lar.DNS..........domain.name...S
aa520 65 74 20 74 68 61 74 20 77 69 74 68 20 3c 43 4f 44 45 3e 73 65 74 68 6f 73 74 6e 61 6d 65 3c 2f et.that.with.<CODE>sethostname</
aa540 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 70 65 CODE>...........<br><br>.The.spe
aa560 63 69 66 69 63 73 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 61 6e 61 6c cifics.of.this.function.are.anal
aa580 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 73 65 74 68 6f 73 74 6e 61 6d 65 3c 2f 43 4f 44 45 ogous.to.<CODE>sethostname</CODE
aa5a0 3e 2c 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 >,.above...........<br><br>.....
aa5c0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 ....sq.~......w.....t..unistd.hx
aa5e0 71 00 7e 18 77 74 00 1f 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 73 69 7a 65 5f 74 q.~.wt..const.char.*name,.size_t
aa600 20 6c 65 6e 67 74 68 74 00 03 69 6e 74 74 00 07 73 65 74 65 67 69 64 73 71 00 7e 00 0a 70 74 03 .lengtht..intt..setegidsq.~..pt.
aa620 63 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 c.........This.function.sets.the
aa640 20 65 66 66 65 63 74 69 76 65 20 67 72 6f 75 70 20 49 44 20 6f 66 20 74 68 65 20 70 72 6f 63 65 .effective.group.ID.of.the.proce
aa660 73 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 65 77 67 69 64 3c 2f 56 41 52 3e ss.to..........<VAR>newgid</VAR>
aa680 2c 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 61 ,.provided.that.the.process.is.a
aa6a0 6c 6c 6f 77 65 64 20 74 6f 20 63 68 61 6e 67 65 20 69 74 73 20 67 72 6f 75 70 0a 20 20 20 20 20 llowed.to.change.its.group......
aa6c0 20 20 20 20 49 44 2e 20 20 4a 75 73 74 20 61 73 20 77 69 74 68 20 3c 43 4f 44 45 3e 73 65 74 65 ....ID...Just.as.with.<CODE>sete
aa6e0 75 69 64 3c 2f 43 4f 44 45 3e 2c 20 69 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 70 72 uid</CODE>,.if.the.process.is.pr
aa700 69 76 69 6c 65 67 65 64 20 69 74 20 6d 61 79 0a 20 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 20 ivileged.it.may..........change.
aa720 69 74 73 20 65 66 66 65 63 74 69 76 65 20 67 72 6f 75 70 20 49 44 20 74 6f 20 61 6e 79 20 76 61 its.effective.group.ID.to.any.va
aa740 6c 75 65 3b 20 69 66 20 69 74 20 69 73 6e 27 74 2c 20 62 75 74 20 69 74 20 68 61 73 20 61 0a 20 lue;.if.it.isn't,.but.it.has.a..
aa760 20 20 20 20 20 20 20 20 66 69 6c 65 20 67 72 6f 75 70 20 49 44 2c 20 74 68 65 6e 20 69 74 20 6d ........file.group.ID,.then.it.m
aa780 61 79 20 63 68 61 6e 67 65 20 74 6f 20 69 74 73 20 72 65 61 6c 20 67 72 6f 75 70 20 49 44 20 6f ay.change.to.its.real.group.ID.o
aa7a0 72 20 66 69 6c 65 20 67 72 6f 75 70 20 49 44 3b 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 r.file.group.ID;..........otherw
aa7c0 69 73 65 20 69 74 20 6d 61 79 20 6e 6f 74 20 63 68 61 6e 67 65 20 69 74 73 20 65 66 66 65 63 74 ise.it.may.not.change.its.effect
aa7e0 69 76 65 20 67 72 6f 75 70 20 49 44 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ive.group.ID...........<br><br>.
aa800 4e 6f 74 65 20 74 68 61 74 20 61 20 70 72 6f 63 65 73 73 20 69 73 20 6f 6e 6c 79 20 70 72 69 76 Note.that.a.process.is.only.priv
aa820 69 6c 65 67 65 64 20 69 66 20 69 74 73 20 65 66 66 65 63 74 69 76 65 20 3c 45 4d 3e 75 73 65 72 ileged.if.its.effective.<EM>user
aa840 3c 2f 45 4d 3e 20 49 44 0a 20 20 20 20 20 20 20 20 20 69 73 20 7a 65 72 6f 2e 20 20 54 68 65 20 </EM>.ID..........is.zero...The.
aa860 65 66 66 65 63 74 69 76 65 20 67 72 6f 75 70 20 49 44 20 6f 6e 6c 79 20 61 66 66 65 63 74 73 20 effective.group.ID.only.affects.
aa880 61 63 63 65 73 73 20 70 65 72 6d 69 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 access.permissions...........<br
aa8a0 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 61 6e 64 20 65 72 72 6f ><br>.The.return.values.and.erro
aa8c0 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 65 67 69 64 3c 2f r.conditions.for.<CODE>setegid</
aa8e0 43 4f 44 45 3e 20 61 72 65 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 61 73 20 74 CODE>.are.the.same..........as.t
aa900 68 6f 73 65 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 65 75 69 64 3c 2f 43 4f 44 45 3e 2e 0a 20 hose.for.<CODE>seteuid</CODE>...
aa920 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ........<br><br>.This.function.i
aa940 73 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 69 66 20 3c 43 4f 44 45 3e 5f 50 4f 53 49 58 5f 53 s.only.present.if.<CODE>_POSIX_S
aa960 41 56 45 44 5f 49 44 53 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 AVED_IDS</CODE>.is.defined......
aa980 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 ....sq.~......w.....t..unistd.hx
aa9a0 71 00 7e 18 7e 74 00 0c 67 69 64 5f 74 20 6e 65 77 67 69 64 74 00 03 69 6e 74 74 00 06 73 65 74 q.~.~t..gid_t.newgidt..intt..set
aa9c0 65 6e 76 73 71 00 7e 00 0a 70 74 03 c0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e envsq.~..pt...........The.<CODE>
aa9e0 73 65 74 65 6e 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 setenv</CODE>.function.can.be.us
aaa00 65 64 20 74 6f 20 61 64 64 20 61 20 6e 65 77 20 64 65 66 69 6e 69 74 69 6f 6e 20 74 6f 20 74 68 ed.to.add.a.new.definition.to.th
aaa20 65 0a 20 20 20 20 20 20 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 20 20 54 68 65 20 65 6e 74 e..........environment...The.ent
aaa40 72 79 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e ry.with.the.name.<VAR>name</VAR>
aaa60 20 69 73 20 72 65 70 6c 61 63 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c .is.replaced.by.the..........val
aaa80 75 65 20 3c 73 61 6d 70 3e 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 3d 3c 56 41 52 3e 76 61 ue.<samp><VAR>name</VAR>=<VAR>va
aaaa0 6c 75 65 3c 2f 56 41 52 3e 3c 2f 73 61 6d 70 3e 2e 20 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 lue</VAR></samp>...Please.note.t
aaac0 68 61 74 20 74 68 69 73 20 69 73 20 61 6c 73 6f 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 69 hat.this.is.also.true..........i
aaae0 66 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 69 73 20 74 68 65 20 65 6d 70 74 79 20 f.<VAR>value</VAR>.is.the.empty.
aab00 73 74 72 69 6e 67 2e 20 20 54 6f 20 64 6f 20 74 68 69 73 20 61 20 6e 65 77 20 73 74 72 69 6e 67 string...To.do.this.a.new.string
aab20 20 69 73 20 63 72 65 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 73 74 72 .is.created..........and.the.str
aab40 69 6e 67 73 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 76 61 ings.<VAR>name</VAR>.and.<VAR>va
aab60 6c 75 65 3c 2f 56 41 52 3e 20 61 72 65 20 63 6f 70 69 65 64 2e 20 20 41 20 6e 75 6c 6c 20 70 6f lue</VAR>.are.copied...A.null.po
aab80 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 3c 56 41 52 3e 76 61 6c 75 inter..........for.the.<VAR>valu
aaba0 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 69 6c 6c 65 67 61 6c 2e 20 20 49 e</VAR>.parameter.is.illegal...I
aabc0 66 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6c 72 65 61 64 79 0a 20 20 20 20 20 20 f.the.environment.already.......
aabe0 20 20 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 65 6e 74 72 79 20 77 69 74 68 20 6b 65 79 20 3c 56 ...contains.an.entry.with.key.<V
aac00 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 20 74 68 65 20 3c 56 41 52 3e 72 65 70 6c 61 63 65 3c 2f AR>name</VAR>.the.<VAR>replace</
aac20 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 73 VAR>.parameter..........controls
aac40 20 74 68 65 20 61 63 74 69 6f 6e 2e 20 20 49 66 20 72 65 70 6c 61 63 65 20 69 73 20 7a 65 72 6f .the.action...If.replace.is.zero
aac60 2c 20 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2e 20 20 4f 74 68 65 72 77 69 73 65 0a 20 20 ,.nothing.happens...Otherwise...
aac80 20 20 20 20 20 20 20 74 68 65 20 6f 6c 64 20 65 6e 74 72 79 20 69 73 20 72 65 70 6c 61 63 65 64 .......the.old.entry.is.replaced
aaca0 20 62 79 20 74 68 65 20 6e 65 77 20 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .by.the.new.one...........<br><b
aacc0 72 3e 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 6e 6f 74 20 72 r>.Please.note.that.you.cannot.r
aace0 65 6d 6f 76 65 20 61 6e 20 65 6e 74 72 79 20 63 6f 6d 70 6c 65 74 65 6c 79 20 75 73 69 6e 67 20 emove.an.entry.completely.using.
aad00 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e this.function...........<br><br>
aad20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 6f 72 69 67 69 6e 61 6c 6c 79 20 70 61 .This.function.was.originally.pa
aad40 72 74 20 6f 66 20 74 68 65 20 42 53 44 20 6c 69 62 72 61 72 79 20 62 75 74 20 69 73 20 6e 6f 77 rt.of.the.BSD.library.but.is.now
aad60 20 70 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 55 6e 69 78 20 73 74 61 6e 64 .part.of..........the.Unix.stand
aad80 61 72 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 ard..........sq.~......w.....t..
aada0 73 74 64 6c 69 62 2e 68 78 71 00 7e 18 85 74 00 30 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d stdlib.hxq.~..t.0const.char.*nam
aadc0 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 76 61 6c 75 65 2c 20 69 6e 74 20 72 65 70 6c 61 63 e,.const.char.*value,.int.replac
aade0 65 74 00 03 69 6e 74 74 00 07 73 65 74 65 75 69 64 73 71 00 7e 00 0a 70 74 04 7e 0a 20 20 20 20 et..intt..seteuidsq.~..pt.~.....
aae00 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 65 66 66 65 63 ....This.function.sets.the.effec
aae20 74 69 76 65 20 75 73 65 72 20 49 44 20 6f 66 20 61 20 70 72 6f 63 65 73 73 20 74 6f 20 3c 56 41 tive.user.ID.of.a.process.to.<VA
aae40 52 3e 6e 65 77 75 69 64 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 70 72 6f 76 69 64 65 R>newuid</VAR>,..........provide
aae60 64 20 74 68 61 74 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f d.that.the.process.is.allowed.to
aae80 20 63 68 61 6e 67 65 20 69 74 73 20 65 66 66 65 63 74 69 76 65 20 75 73 65 72 20 49 44 2e 20 20 .change.its.effective.user.ID...
aaea0 41 0a 20 20 20 20 20 20 20 20 20 70 72 69 76 69 6c 65 67 65 64 20 70 72 6f 63 65 73 73 20 28 65 A..........privileged.process.(e
aaec0 66 66 65 63 74 69 76 65 20 75 73 65 72 20 49 44 20 7a 65 72 6f 29 20 63 61 6e 20 63 68 61 6e 67 ffective.user.ID.zero).can.chang
aaee0 65 20 69 74 73 20 65 66 66 65 63 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 75 73 65 72 20 49 44 e.its.effective..........user.ID
aaf00 20 74 6f 20 61 6e 79 20 6c 65 67 61 6c 20 76 61 6c 75 65 2e 20 20 41 6e 20 75 6e 70 72 69 76 69 .to.any.legal.value...An.unprivi
aaf20 6c 65 67 65 64 20 70 72 6f 63 65 73 73 20 77 69 74 68 20 61 20 66 69 6c 65 20 75 73 65 72 20 49 leged.process.with.a.file.user.I
aaf40 44 0a 20 20 20 20 20 20 20 20 20 63 61 6e 20 63 68 61 6e 67 65 20 69 74 73 20 65 66 66 65 63 74 D..........can.change.its.effect
aaf60 69 76 65 20 75 73 65 72 20 49 44 20 74 6f 20 69 74 73 20 72 65 61 6c 20 75 73 65 72 20 49 44 20 ive.user.ID.to.its.real.user.ID.
aaf80 6f 72 20 74 6f 20 69 74 73 20 66 69 6c 65 20 75 73 65 72 0a 20 20 20 20 20 20 20 20 20 49 44 2e or.to.its.file.user..........ID.
aafa0 20 20 4f 74 68 65 72 77 69 73 65 2c 20 61 20 70 72 6f 63 65 73 73 20 6d 61 79 20 6e 6f 74 20 63 ..Otherwise,.a.process.may.not.c
aafc0 68 61 6e 67 65 20 69 74 73 20 65 66 66 65 63 74 69 76 65 20 75 73 65 72 20 49 44 20 61 74 20 61 hange.its.effective.user.ID.at.a
aafe0 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e ll...........<br><br>.The.<CODE>
ab000 73 65 74 65 75 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 seteuid</CODE>.function.returns.
ab020 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 74 6f 20 69 6e 64 a.value.of.<CODE>0</CODE>.to.ind
ab040 69 63 61 74 65 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c 20 63 6f 6d 70 6c 65 icate..........successful.comple
ab060 74 69 6f 6e 2c 20 61 6e 64 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 tion,.and.a.value.of.<CODE>-1</C
ab080 4f 44 45 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 ODE>.to.indicate.an.error.......
ab0a0 20 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 ....The.following.<CODE>errno</C
ab0c0 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 ODE>.error.conditions.are.define
ab0e0 64 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 d.for.this..........function:...
ab100 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c .......<br><br>.<DL>...........<
ab120 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>EINVAL</CODE>.<DD>.....
ab140 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 6e 65 77 75 69 .....The.value.of.the.<VAR>newui
ab160 64 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 d</VAR>.argument.is.invalid.....
ab180 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f ......<br><br>.<DT><CODE>EPERM</
ab1a0 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 CODE>.<DD>..........The.process.
ab1c0 6d 61 79 20 6e 6f 74 20 63 68 61 6e 67 65 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 may.not.change.to.the.specified.
ab1e0 49 44 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ID...........</DL>..........<br>
ab200 3c 62 72 3e 20 4f 6c 64 65 72 20 73 79 73 74 65 6d 73 20 28 74 68 6f 73 65 20 77 69 74 68 6f 75 <br>.Older.systems.(those.withou
ab220 74 20 74 68 65 20 3c 43 4f 44 45 3e 5f 50 4f 53 49 58 5f 53 41 56 45 44 5f 49 44 53 3c 2f 43 4f t.the.<CODE>_POSIX_SAVED_IDS</CO
ab240 44 45 3e 20 66 65 61 74 75 72 65 29 20 64 6f 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 68 61 76 DE>.feature).do.not..........hav
ab260 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 e.this.function..........sq.~...
ab280 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 18 8c 74 00 0d 75 69 64 ...w.....t..unistd.hxq.~..t..uid
ab2a0 5f 74 20 6e 65 77 65 75 69 64 74 00 03 69 6e 74 74 00 08 73 65 74 66 73 65 6e 74 73 71 00 7e 00 _t.neweuidt..intt..setfsentsq.~.
ab2c0 0a 70 74 02 09 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 .pt...........This.function.make
ab2e0 73 20 73 75 72 65 20 74 68 61 74 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 72 65 61 64 20 70 6f s.sure.that.the.internal.read.po
ab300 69 6e 74 65 72 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 54 54 3e 66 73 74 61 62 inter.for.the..........<TT>fstab
ab320 3c 2f 54 54 3e 20 66 69 6c 65 20 69 73 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f </TT>.file.is.at.the.beginning.o
ab340 66 20 74 68 65 20 66 69 6c 65 2e 20 20 54 68 69 73 20 69 73 20 64 6f 6e 65 20 62 79 0a 20 20 20 f.the.file...This.is.done.by....
ab360 20 20 20 20 20 20 65 69 74 68 65 72 20 6f 70 65 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 6f 72 ......either.opening.the.file.or
ab380 20 72 65 73 65 74 74 69 6e 67 20 74 68 65 20 72 65 61 64 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 .resetting.the.read.pointer.....
ab3a0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 69 6e 63 65 20 74 68 65 20 66 69 6c 65 20 68 61 ......<br><br>.Since.the.file.ha
ab3c0 6e 64 6c 65 20 69 73 20 69 6e 74 65 72 6e 61 6c 20 74 6f 20 74 68 65 20 6c 69 62 63 20 74 68 69 ndle.is.internal.to.the.libc.thi
ab3e0 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 74 68 72 65 61 s.function.is.not..........threa
ab400 64 2d 73 61 66 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 d-safe...........<br><br>.This.f
ab420 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 76 61 6c 75 65 unction.returns.a.non-zero.value
ab440 20 69 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c .if.the.operation.was.successful
ab460 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 3c 43 4f 44 45 3e 67 65 74 66 73 2a 3c 2f ..........and.the.<CODE>getfs*</
ab480 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 CODE>.functions.can.be.used.to.r
ab4a0 65 61 64 20 74 68 65 20 65 6e 74 72 69 65 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 ead.the.entries.of.the..........
ab4c0 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 file..........sq.~......w.....t.
ab4e0 07 66 73 74 61 62 2e 68 78 71 00 7e 18 93 74 00 04 76 6f 69 64 74 00 03 69 6e 74 74 00 06 73 65 .fstab.hxq.~..t..voidt..intt..se
ab500 74 67 69 64 73 71 00 7e 00 0a 70 74 01 d8 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 tgidsq.~..pt...........This.func
ab520 74 69 6f 6e 20 73 65 74 73 20 62 6f 74 68 20 74 68 65 20 72 65 61 6c 20 61 6e 64 20 65 66 66 65 tion.sets.both.the.real.and.effe
ab540 63 74 69 76 65 20 67 72 6f 75 70 20 49 44 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 0a 20 20 ctive.group.ID.of.the.process...
ab560 20 20 20 20 20 20 20 74 6f 20 3c 56 41 52 3e 6e 65 77 67 69 64 3c 2f 56 41 52 3e 2c 20 70 72 6f .......to.<VAR>newgid</VAR>,.pro
ab580 76 69 64 65 64 20 74 68 61 74 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 70 72 69 76 69 6c vided.that.the.process.is.privil
ab5a0 65 67 65 64 2e 20 20 49 74 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 73 20 eged...It.also..........deletes.
ab5c0 74 68 65 20 66 69 6c 65 20 67 72 6f 75 70 20 49 44 2c 20 69 66 20 61 6e 79 2e 0a 20 20 20 20 20 the.file.group.ID,.if.any.......
ab5e0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 6e ....<br><br>.If.the.process.is.n
ab600 6f 74 20 70 72 69 76 69 6c 65 67 65 64 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 73 65 74 67 69 64 ot.privileged,.then.<CODE>setgid
ab620 3c 2f 43 4f 44 45 3e 20 62 65 68 61 76 65 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 </CODE>.behaves.like..........<C
ab640 4f 44 45 3e 73 65 74 65 67 69 64 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ODE>setegid</CODE>...........<br
ab660 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 61 6e 64 20 65 72 72 6f ><br>.The.return.values.and.erro
ab680 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 67 69 64 3c 2f 43 r.conditions.for.<CODE>setgid</C
ab6a0 4f 44 45 3e 20 61 72 65 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 61 73 20 74 68 ODE>.are.the.same..........as.th
ab6c0 6f 73 65 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 65 75 69 64 3c 2f 43 4f 44 45 3e 2e 0a 20 20 ose.for.<CODE>seteuid</CODE>....
ab6e0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e ......sq.~......w.....t..unistd.
ab700 68 78 71 00 7e 18 9a 74 00 0c 67 69 64 5f 74 20 6e 65 77 67 69 64 74 00 03 69 6e 74 74 00 08 73 hxq.~..t..gid_t.newgidt..intt..s
ab720 65 74 67 72 65 6e 74 73 71 00 7e 00 0a 70 74 00 b4 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 etgrentsq.~..pt...........This.f
ab740 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 61 20 73 74 72 65 61 6d 20 66 6f 72 unction.initializes.a.stream.for
ab760 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 67 72 6f 75 70 20 64 61 74 61 20 62 61 73 .reading.from.the.group.data.bas
ab780 65 2e 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 75 73 65 20 74 68 69 73 20 73 74 72 65 61 6d 20 e...........You.use.this.stream.
ab7a0 62 79 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 67 65 74 67 72 65 6e 74 3c 2f 43 4f 44 45 3e by.calling.<CODE>getgrent</CODE>
ab7c0 20 6f 72 20 3c 43 4f 44 45 3e 67 65 74 67 72 65 6e 74 5f 72 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 .or.<CODE>getgrent_r</CODE>.....
ab7e0 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 71 00 .....sq.~......w.....t..grp.hxq.
ab800 7e 18 a1 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 09 73 65 74 67 72 6f 75 70 73 73 71 00 ~..t..voidt..voidt..setgroupssq.
ab820 7e 00 0a 70 74 02 32 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 ~..pt.2.........This.function.se
ab840 74 73 20 74 68 65 20 70 72 6f 63 65 73 73 27 73 20 73 75 70 70 6c 65 6d 65 6e 74 61 72 79 20 67 ts.the.process's.supplementary.g
ab860 72 6f 75 70 20 49 44 73 2e 20 20 49 74 20 63 61 6e 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 roup.IDs...It.can.only..........
ab880 62 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 70 72 69 76 69 6c 65 67 65 64 20 70 72 6f 63 65 73 be.called.from.privileged.proces
ab8a0 73 65 73 2e 20 20 54 68 65 20 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 61 72 67 75 6d ses...The.<VAR>count</VAR>.argum
ab8c0 65 6e 74 20 73 70 65 63 69 66 69 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6e 75 6d 62 65 ent.specifies..........the.numbe
ab8e0 72 20 6f 66 20 67 72 6f 75 70 20 49 44 73 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 r.of.group.IDs.in.the.array.<VAR
ab900 3e 67 72 6f 75 70 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e >groups</VAR>...........<br><br>
ab920 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f .This.function.returns.<CODE>0</
ab940 43 4f 44 45 3e 20 69 66 20 73 75 63 63 65 73 73 66 75 6c 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 CODE>.if.successful.and.<CODE>-1
ab960 3c 2f 43 4f 44 45 3e 20 6f 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 </CODE>.on.error...........The.f
ab980 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f ollowing.<CODE>errno</CODE>.erro
ab9a0 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 r.conditions.are.defined.for.thi
ab9c0 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 s..........function:..........<b
ab9e0 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e r><br>.<DL>...........<DT><CODE>
aba00 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 EPERM</CODE>.<DD>..........The.c
aba20 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 70 72 69 76 69 6c 65 67 65 64 alling.process.is.not.privileged
aba40 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ...........</DL>.........sq.~...
aba60 00 00 01 77 04 00 00 00 0a 74 00 05 67 72 70 2e 68 78 71 00 7e 18 a8 74 00 1b 73 69 7a 65 5f 74 ...w.....t..grp.hxq.~..t..size_t
aba80 20 63 6f 75 6e 74 2c 20 67 69 64 5f 74 20 2a 67 72 6f 75 70 73 74 00 03 69 6e 74 74 00 0a 73 65 .count,.gid_t.*groupst..intt..se
abaa0 74 68 6f 73 74 65 6e 74 73 71 00 7e 00 0a 70 74 02 15 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 thostentsq.~..pt...........This.
abac0 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 73 20 74 68 65 20 68 6f 73 74 73 20 64 61 74 61 62 61 73 function.opens.the.hosts.databas
abae0 65 20 74 6f 20 62 65 67 69 6e 20 73 63 61 6e 6e 69 6e 67 20 69 74 2e 20 20 59 6f 75 20 63 61 6e e.to.begin.scanning.it...You.can
abb00 0a 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 ..........then.call.<CODE>gethos
abb20 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 65 61 64 20 74 68 65 20 65 6e 74 72 69 65 73 2e tent</CODE>.to.read.the.entries.
abb40 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 3c 56 41 52 3e 73 ..........<br><br>.If.the.<VAR>s
abb60 74 61 79 6f 70 65 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 6e 7a 65 72 tayopen</VAR>.argument.is.nonzer
abb80 6f 2c 20 74 68 69 73 20 73 65 74 73 20 61 20 66 6c 61 67 20 73 6f 20 74 68 61 74 0a 20 20 20 20 o,.this.sets.a.flag.so.that.....
abba0 20 20 20 20 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 67 .....subsequent.calls.to.<CODE>g
abbc0 65 74 68 6f 73 74 62 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 67 65 74 ethostbyname</CODE>.or.<CODE>get
abbe0 68 6f 73 74 62 79 61 64 64 72 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 hostbyaddr</CODE>.will..........
abc00 6e 6f 74 20 63 6c 6f 73 65 20 74 68 65 20 64 61 74 61 62 61 73 65 20 28 61 73 20 74 68 65 79 20 not.close.the.database.(as.they.
abc20 75 73 75 61 6c 6c 79 20 77 6f 75 6c 64 29 2e 20 20 54 68 69 73 20 6d 61 6b 65 73 20 66 6f 72 20 usually.would)...This.makes.for.
abc40 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 65 66 66 69 63 69 65 6e 63 79 20 69 66 20 79 6f 75 20 more..........efficiency.if.you.
abc60 63 61 6c 6c 20 74 68 6f 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 73 65 76 65 72 61 6c 20 74 69 6d call.those.functions.several.tim
abc80 65 73 2c 20 62 79 20 61 76 6f 69 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 72 65 6f 70 65 6e 69 es,.by.avoiding..........reopeni
abca0 6e 67 20 74 68 65 20 64 61 74 61 62 61 73 65 20 66 6f 72 20 65 61 63 68 20 63 61 6c 6c 2e 0a 20 ng.the.database.for.each.call...
abcc0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e .......sq.~......w.....t..netdb.
abce0 68 78 71 00 7e 18 af 74 00 0c 69 6e 74 20 73 74 61 79 6f 70 65 6e 74 00 04 76 6f 69 64 74 00 09 hxq.~..t..int.stayopent..voidt..
abd00 73 65 74 68 6f 73 74 69 64 73 71 00 7e 00 0a 70 74 04 ae 0a 20 20 20 20 20 20 20 20 54 68 65 20 sethostidsq.~..pt...........The.
abd20 3c 43 4f 44 45 3e 73 65 74 68 6f 73 74 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 <CODE>sethostid</CODE>.function.
abd40 73 65 74 73 20 74 68 65 20 60 60 68 6f 73 74 20 49 44 27 27 20 6f 66 20 74 68 65 20 68 6f 73 74 sets.the.``host.ID''.of.the.host
abd60 20 6d 61 63 68 69 6e 65 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 56 41 52 3e 69 64 3c 2f 56 41 .machine..........to.<VAR>id</VA
abd80 52 3e 2e 20 20 4f 6e 6c 79 20 70 72 69 76 69 6c 65 67 65 64 20 70 72 6f 63 65 73 73 65 73 20 61 R>...Only.privileged.processes.a
abda0 72 65 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 64 6f 20 74 68 69 73 2e 20 20 55 73 75 61 6c 6c re.permitted.to.do.this...Usuall
abdc0 79 0a 20 20 20 20 20 20 20 20 20 69 74 20 68 61 70 70 65 6e 73 20 6a 75 73 74 20 6f 6e 63 65 2c y..........it.happens.just.once,
abde0 20 61 74 20 73 79 73 74 65 6d 20 62 6f 6f 74 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c .at.system.boot.time...........<
abe00 62 72 3e 3c 62 72 3e 20 54 68 65 20 70 72 6f 70 65 72 20 77 61 79 20 74 6f 20 65 73 74 61 62 6c br><br>.The.proper.way.to.establ
abe20 69 73 68 20 74 68 65 20 70 72 69 6d 61 72 79 20 49 50 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 ish.the.primary.IP.address.of.a.
abe40 73 79 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 69 73 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 system..........is.to.configure.
abe60 74 68 65 20 49 50 20 61 64 64 72 65 73 73 20 72 65 73 6f 6c 76 65 72 20 74 6f 20 61 73 73 6f 63 the.IP.address.resolver.to.assoc
abe80 69 61 74 65 20 74 68 61 74 20 49 50 20 61 64 64 72 65 73 73 20 77 69 74 68 0a 20 20 20 20 20 20 iate.that.IP.address.with.......
abea0 20 20 20 74 68 65 20 73 79 73 74 65 6d 27 73 20 68 6f 73 74 20 6e 61 6d 65 20 61 73 20 72 65 74 ...the.system's.host.name.as.ret
abec0 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 6e 61 6d 65 3c 2f 43 4f 44 45 urned.by.<CODE>gethostname</CODE
abee0 3e 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 70 75 74 20 61 20 >...For.example,..........put.a.
abf00 72 65 63 6f 72 64 20 66 6f 72 20 74 68 65 20 73 79 73 74 65 6d 20 69 6e 20 3c 54 54 3e 2f 65 74 record.for.the.system.in.<TT>/et
abf20 63 2f 68 6f 73 74 73 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 c/hosts</TT>...........<br><br>.
abf40 53 65 65 20 3c 43 4f 44 45 3e 67 65 74 68 6f 73 74 69 64 3c 2f 43 4f 44 45 3e 20 61 62 6f 76 65 See.<CODE>gethostid</CODE>.above
abf60 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f 73 74 20 69 64 .for.more.information.on.host.id
abf80 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 s...........<br><br>.The.return.
abfa0 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 value.is.<CODE>0</CODE>.on.succe
abfc0 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 ss.and.<CODE>-1</CODE>.on.failur
abfe0 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e e...........The.following.<CODE>
ac000 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 errno</CODE>.error.conditions.ar
ac020 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 e.defined.for.this.function:....
ac040 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 ......<br><br>.<DL>...........<D
ac060 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 T><CODE>EPERM</CODE>.<DD>.......
ac080 20 20 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 63 61 6e 6e 6f 74 20 73 65 74 20 74 68 65 20 68 ...This.process.cannot.set.the.h
ac0a0 6f 73 74 20 6e 61 6d 65 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 6e 6f 74 20 70 72 69 76 69 ost.name.because.it.is.not.privi
ac0c0 6c 65 67 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f leged...........<br><br>.<DT><CO
ac0e0 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 DE>ENOSYS</CODE>.<DD>..........T
ac100 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 he.operating.system.does.not.sup
ac120 70 6f 72 74 20 73 65 74 74 69 6e 67 20 74 68 65 20 68 6f 73 74 20 49 44 2e 20 20 4f 6e 20 73 6f port.setting.the.host.ID...On.so
ac140 6d 65 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 73 2c 20 74 68 65 20 68 6f 73 74 20 49 44 me..........systems,.the.host.ID
ac160 20 69 73 20 61 20 6d 65 61 6e 69 6e 67 6c 65 73 73 20 62 75 74 20 75 6e 69 71 75 65 20 6e 75 6d .is.a.meaningless.but.unique.num
ac180 62 65 72 20 68 61 72 64 2d 63 6f 64 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 65 61 63 68 ber.hard-coded.for..........each
ac1a0 20 6d 61 63 68 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 .machine...........</DL>........
ac1c0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e .sq.~......w.....t..unistd.hxq.~
ac1e0 18 b6 74 00 0b 6c 6f 6e 67 20 69 6e 74 20 69 64 74 00 03 69 6e 74 74 00 0b 73 65 74 68 6f 73 74 ..t..long.int.idt..intt..sethost
ac200 6e 61 6d 65 73 71 00 7e 00 0a 70 74 03 9f 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 namesq.~..pt...........The.<CODE
ac220 3e 73 65 74 68 6f 73 74 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 >sethostname</CODE>.function.set
ac240 73 20 74 68 65 20 68 6f 73 74 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 20 74 68 s.the.host.name.of.the.system.th
ac260 61 74 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 73 20 69 74 20 74 6f 20 3c 56 41 52 3e 6e 61 6d at..........calls.it.to.<VAR>nam
ac280 65 3c 2f 56 41 52 3e 2c 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 20 6c 65 6e 67 74 68 20 3c 56 e</VAR>,.a.string.with.length.<V
ac2a0 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 2e 20 20 4f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 AR>length</VAR>...Only..........
ac2c0 70 72 69 76 69 6c 65 67 65 64 20 70 72 6f 63 65 73 73 65 73 20 61 72 65 20 70 65 72 6d 69 74 74 privileged.processes.are.permitt
ac2e0 65 64 20 74 6f 20 64 6f 20 74 68 69 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ed.to.do.this...........<br><br>
ac300 20 55 73 75 61 6c 6c 79 20 3c 43 4f 44 45 3e 73 65 74 68 6f 73 74 6e 61 6d 65 3c 2f 43 4f 44 45 .Usually.<CODE>sethostname</CODE
ac320 3e 20 67 65 74 73 20 63 61 6c 6c 65 64 20 6a 75 73 74 20 6f 6e 63 65 2c 20 61 74 20 73 79 73 74 >.gets.called.just.once,.at.syst
ac340 65 6d 20 62 6f 6f 74 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 4f 66 74 65 6e 2c 20 74 68 em.boot.time...........Often,.th
ac360 65 20 70 72 6f 67 72 61 6d 20 74 68 61 74 20 63 61 6c 6c 73 20 69 74 20 73 65 74 73 20 69 74 20 e.program.that.calls.it.sets.it.
ac380 74 6f 20 74 68 65 20 76 61 6c 75 65 20 69 74 20 66 69 6e 64 73 20 69 6e 20 74 68 65 0a 20 20 20 to.the.value.it.finds.in.the....
ac3a0 20 20 20 20 20 20 66 69 6c 65 20 3c 43 4f 44 45 3e 2f 65 74 63 2f 68 6f 73 74 6e 61 6d 65 3c 2f ......file.<CODE>/etc/hostname</
ac3c0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 2f 65 74 63 2f 68 6f 73 74 6e 61 6d 65 0a 20 20 CODE>.........../etc/hostname...
ac3e0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 65 20 73 75 72 65 20 74 6f 20 73 65 74 20 74 .......<br><br>.Be.sure.to.set.t
ac400 68 65 20 68 6f 73 74 20 6e 61 6d 65 20 74 6f 20 74 68 65 20 66 75 6c 6c 20 68 6f 73 74 20 6e 61 he.host.name.to.the.full.host.na
ac420 6d 65 2c 20 6e 6f 74 20 6a 75 73 74 20 74 68 65 20 44 4e 53 0a 20 20 20 20 20 20 20 20 20 68 6f me,.not.just.the.DNS..........ho
ac440 73 74 6e 61 6d 65 20 28 73 65 65 20 61 62 6f 76 65 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 stname.(see.above)...........<br
ac460 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e ><br>.The.return.value.is.<CODE>
ac480 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 0</CODE>.on.success.and.<CODE>-1
ac4a0 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 </CODE>.on.failure...........The
ac4c0 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 .following.<CODE>errno</CODE>.er
ac4e0 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 ror.condition.is.defined.for.thi
ac500 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 s.function:..........<br><br>.<D
ac520 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f L>...........<DT><CODE>EPERM</CO
ac540 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 70 72 6f 63 65 73 73 20 63 DE>.<DD>..........This.process.c
ac560 61 6e 6e 6f 74 20 73 65 74 20 74 68 65 20 68 6f 73 74 20 6e 61 6d 65 20 62 65 63 61 75 73 65 20 annot.set.the.host.name.because.
ac580 69 74 20 69 73 20 6e 6f 74 20 70 72 69 76 69 6c 65 67 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c it.is.not.privileged...........<
ac5a0 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 /DL>.........sq.~......w.....t..
ac5c0 75 6e 69 73 74 64 2e 68 78 71 00 7e 18 bd 74 00 1f 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d unistd.hxq.~..t..const.char.*nam
ac5e0 65 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 67 74 68 74 00 03 69 6e 74 74 00 09 73 65 74 69 74 69 6d e,.size_t.lengtht..intt..setitim
ac600 65 72 73 71 00 7e 00 0a 70 74 03 13 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 ersq.~..pt...........The.<CODE>s
ac620 65 74 69 74 69 6d 65 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 etitimer</CODE>.function.sets.th
ac640 65 20 74 69 6d 65 72 20 73 70 65 63 69 66 69 65 64 20 62 79 20 3c 56 41 52 3e 77 68 69 63 68 3c e.timer.specified.by.<VAR>which<
ac660 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 3c 56 41 52 /VAR>..........according.to.<VAR
ac680 3e 6e 65 77 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 3c 56 41 52 3e 77 68 69 63 68 3c 2f 56 41 52 >new</VAR>...The.<VAR>which</VAR
ac6a0 3e 20 61 72 67 75 6d 65 6e 74 20 63 61 6e 20 68 61 76 65 20 61 20 76 61 6c 75 65 20 6f 66 0a 20 >.argument.can.have.a.value.of..
ac6c0 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 49 54 49 4d 45 52 5f 52 45 41 4c 3c 2f 43 4f 44 45 3e ........<CODE>ITIMER_REAL</CODE>
ac6e0 2c 20 3c 43 4f 44 45 3e 49 54 49 4d 45 52 5f 56 49 52 54 55 41 4c 3c 2f 43 4f 44 45 3e 2c 20 6f ,.<CODE>ITIMER_VIRTUAL</CODE>,.o
ac700 72 20 3c 43 4f 44 45 3e 49 54 49 4d 45 52 5f 50 52 4f 46 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 r.<CODE>ITIMER_PROF</CODE>......
ac720 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6f 6c 64 3c 2f 56 41 52 3e 20 .....<br><br>.If.<VAR>old</VAR>.
ac740 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 3c 43 4f 44 45 3e 73 65 74 is.not.a.null.pointer,.<CODE>set
ac760 69 74 69 6d 65 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f itimer</CODE>.returns.informatio
ac780 6e 0a 20 20 20 20 20 20 20 20 20 61 62 6f 75 74 20 61 6e 79 20 70 72 65 76 69 6f 75 73 20 75 6e n..........about.any.previous.un
ac7a0 65 78 70 69 72 65 64 20 74 69 6d 65 72 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6b 69 6e 64 20 69 expired.timer.of.the.same.kind.i
ac7c0 6e 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 69 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e n.the.structure.it..........poin
ac7e0 74 73 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 ts.to...........<br><br>.The.ret
ac800 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 urn.value.is.<CODE>0</CODE>.on.s
ac820 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 uccess.and.<CODE>-1</CODE>.on.fa
ac840 69 6c 75 72 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c ilure...The..........following.<
ac860 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f CODE>errno</CODE>.error.conditio
ac880 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e ns.are.defined.for.this.function
ac8a0 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 :..........<br><br>.<DL>........
ac8c0 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ...<DT><CODE>EINVAL</CODE>.<DD>.
ac8e0 20 20 20 20 20 20 20 20 20 54 68 65 20 74 69 6d 65 72 20 70 65 72 69 6f 64 20 69 73 20 74 6f 6f .........The.timer.period.is.too
ac900 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 .large...........</DL>.........s
ac920 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 74 00 0a 73 79 73 2f 74 q.~......w.....t..time.ht..sys/t
ac940 69 6d 65 2e 68 78 71 00 7e 18 c4 74 00 37 69 6e 74 20 77 68 69 63 68 2c 20 73 74 72 75 63 74 20 ime.hxq.~..t.7int.which,.struct.
ac960 69 74 69 6d 65 72 76 61 6c 20 2a 6e 65 77 2c 20 73 74 72 75 63 74 20 69 74 69 6d 65 72 76 61 6c itimerval.*new,.struct.itimerval
ac980 20 2a 6f 6c 64 74 00 03 69 6e 74 74 00 06 73 65 74 6b 65 79 73 71 00 7e 00 0a 70 74 01 84 0a 20 .*oldt..intt..setkeysq.~..pt....
ac9a0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 6b 65 79 .......<br><br>.The.<CODE>setkey
ac9c0 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 61 6e 20 69 6e 74 65 72 6e 61 </CODE>.function.sets.an.interna
ac9e0 6c 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 74 6f 20 62 65 20 61 6e 0a 20 20 20 20 20 20 l.data.structure.to.be.an.......
aca00 20 20 20 65 78 70 61 6e 64 65 64 20 66 6f 72 6d 20 6f 66 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 ...expanded.form.of.<VAR>key</VA
aca20 52 3e 2e 20 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 R>...<VAR>key</VAR>.is.specified
aca40 20 61 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 36 34 0a 20 20 20 20 20 20 20 20 20 62 69 74 73 .as.an.array.of.64..........bits
aca60 20 65 61 63 68 20 73 74 6f 72 65 64 20 69 6e 20 61 20 3c 43 4f 44 45 3e 63 68 61 72 3c 2f 43 4f .each.stored.in.a.<CODE>char</CO
aca80 44 45 3e 2c 20 74 68 65 20 66 69 72 73 74 20 62 69 74 20 69 73 20 3c 43 4f 44 45 3e 6b 65 79 5b DE>,.the.first.bit.is.<CODE>key[
acaa0 30 5d 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 36 34 74 68 20 0]</CODE>.and..........the.64th.
acac0 62 69 74 20 69 73 20 3c 43 4f 44 45 3e 6b 65 79 5b 36 33 5d 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 bit.is.<CODE>key[63]</CODE>...Th
acae0 65 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 e.<VAR>key</VAR>.should.have.the
acb00 20 63 6f 72 72 65 63 74 0a 20 20 20 20 20 20 20 20 20 70 61 72 69 74 79 2e 0a 20 20 20 20 20 20 .correct..........parity........
acb20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 72 79 70 74 2e 68 78 71 00 7e ..sq.~......w.....t..crypt.hxq.~
acb40 18 cc 74 00 0f 63 6f 6e 73 74 20 63 68 61 72 20 2a 6b 65 79 74 00 04 76 6f 69 64 74 00 08 73 65 ..t..const.char.*keyt..voidt..se
acb60 74 6b 65 79 5f 72 73 71 00 7e 00 0a 70 74 01 53 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 tkey_rsq.~..pt.S.........<br><br
acb80 3e 20 54 68 65 73 65 20 61 72 65 20 72 65 65 6e 74 72 61 6e 74 20 76 65 72 73 69 6f 6e 73 20 6f >.These.are.reentrant.versions.o
acba0 66 20 3c 43 4f 44 45 3e 73 65 74 6b 65 79 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e f.<CODE>setkey</CODE>.and.<CODE>
acbc0 65 6e 63 72 79 70 74 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 6f 6e encrypt</CODE>...The..........on
acbe0 6c 79 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 65 20 65 78 74 72 61 20 70 61 72 61 6d ly.difference.is.the.extra.param
acc00 65 74 65 72 2c 20 77 68 69 63 68 20 73 74 6f 72 65 73 20 74 68 65 20 65 78 70 61 6e 64 65 64 0a eter,.which.stores.the.expanded.
acc20 20 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 6f 66 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 .........version.of.<VAR>key</VA
acc40 52 3e 2e 20 20 42 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 73 65 74 6b 65 79 R>...Before.calling.<CODE>setkey
acc60 5f 72 3c 2f 43 4f 44 45 3e 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 2c 0a 20 20 20 20 20 20 _r</CODE>.the.first.time,.......
acc80 20 20 20 3c 43 4f 44 45 3e 64 61 74 61 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 64 3c 2f 43 4f 44 45 ...<CODE>data->initialized</CODE
acca0 3e 20 6d 75 73 74 20 62 65 20 63 6c 65 61 72 65 64 20 74 6f 20 7a 65 72 6f 2e 0a 20 20 20 20 20 >.must.be.cleared.to.zero.......
accc0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 72 79 70 74 2e 68 78 71 00 ...sq.~......w.....t..crypt.hxq.
acce0 7e 18 d3 74 00 2b 63 6f 6e 73 74 20 63 68 61 72 20 2a 6b 65 79 2c 20 7b 73 74 72 75 63 74 20 63 ~..t.+const.char.*key,.{struct.c
acd00 72 79 70 74 5f 64 61 74 61 20 2a 7d 20 64 61 74 61 74 00 04 76 6f 69 64 74 00 0a 73 65 74 6c 69 rypt_data.*}.datat..voidt..setli
acd20 6e 65 62 75 66 73 71 00 7e 00 0a 70 74 00 f1 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e nebufsq.~..pt...........This.fun
acd40 63 74 69 6f 6e 20 6d 61 6b 65 73 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 62 65 ction.makes.<VAR>stream</VAR>.be
acd60 20 6c 69 6e 65 20 62 75 66 66 65 72 65 64 2c 20 61 6e 64 20 61 6c 6c 6f 63 61 74 65 73 20 74 68 .line.buffered,.and.allocates.th
acd80 65 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 66 6f 72 20 79 6f 75 2e 0a 20 20 20 20 20 e..........buffer.for.you.......
acda0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 70 72 ....<br><br>.This.function.is.pr
acdc0 6f 76 69 64 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f 6c ovided.for.compatibility.with.ol
acde0 64 20 42 53 44 20 63 6f 64 65 2e 20 20 55 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e d.BSD.code...Use..........<CODE>
ace00 73 65 74 76 62 75 66 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 setvbuf</CODE>.instead..........
ace20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 18 da sq.~......w.....t..stdio.hxq.~..
ace40 74 00 0c 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 04 76 6f 69 64 74 00 09 73 65 74 6c 6f 63 61 t..FILE.*streamt..voidt..setloca
ace60 6c 65 73 71 00 7e 00 0a 70 74 0b 82 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f lesq.~..pt...........The.functio
ace80 6e 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 74 68 n.<CODE>setlocale</CODE>.sets.th
acea0 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 20 66 6f 72 20 63 61 74 65 67 6f 72 79 0a 20 20 e.current.locale.for.category...
acec0 20 20 20 20 20 20 20 3c 56 41 52 3e 63 61 74 65 67 6f 72 79 3c 2f 56 41 52 3e 20 74 6f 20 3c 56 .......<VAR>category</VAR>.to.<V
acee0 41 52 3e 6c 6f 63 61 6c 65 3c 2f 56 41 52 3e 2e 20 20 41 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 AR>locale</VAR>...A.list.of.all.
acf00 74 68 65 20 6c 6f 63 61 6c 65 73 20 74 68 65 20 73 79 73 74 65 6d 0a 20 20 20 20 20 20 20 20 20 the.locales.the.system..........
acf20 70 72 6f 76 69 64 65 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 62 79 20 72 75 6e 6e 69 provides.can.be.created.by.runni
acf40 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 ng..........<br><br>.<pre><br>..
acf60 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 65 20 2d 61 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 ..........locale.-a<br>.........
acf80 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 .</pre>..........<br><br>.If.<VA
acfa0 52 3e 63 61 74 65 67 6f 72 79 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 4c 43 5f 41 4c 4c R>category</VAR>.is.<CODE>LC_ALL
acfc0 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6c 6f 63 61 </CODE>,.this.specifies.the.loca
acfe0 6c 65 20 66 6f 72 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 75 72 70 6f 73 65 73 2e 20 20 54 le.for.all..........purposes...T
ad000 68 65 20 6f 74 68 65 72 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 6f 66 20 3c 56 41 52 he.other.possible.values.of.<VAR
ad020 3e 63 61 74 65 67 6f 72 79 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 79 20 61 6e 0a 20 20 20 20 20 >category</VAR>.specify.an......
ad040 20 20 20 20 73 69 6e 67 6c 65 20 70 75 72 70 6f 73 65 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ....single.purpose............<b
ad060 72 3e 3c 62 72 3e 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 74 68 69 73 20 66 75 6e r><br>.You.can.also.use.this.fun
ad080 63 74 69 6f 6e 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f ction.to.find.out.the.current.lo
ad0a0 63 61 6c 65 20 62 79 20 70 61 73 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 61 20 6e 75 6c 6c 20 cale.by.passing..........a.null.
ad0c0 70 6f 69 6e 74 65 72 20 61 73 20 74 68 65 20 3c 56 41 52 3e 6c 6f 63 61 6c 65 3c 2f 56 41 52 3e pointer.as.the.<VAR>locale</VAR>
ad0e0 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 0a 20 20 20 20 20 20 .argument...In.this.case,.......
ad100 20 20 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e ...<CODE>setlocale</CODE>.return
ad120 73 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 s.a.string.that.is.the.name.of.t
ad140 68 65 20 6c 6f 63 61 6c 65 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c he.locale..........currently.sel
ad160 65 63 74 65 64 20 66 6f 72 20 63 61 74 65 67 6f 72 79 20 3c 56 41 52 3e 63 61 74 65 67 6f 72 79 ected.for.category.<VAR>category
ad180 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 74 </VAR>...........<br><br>.The.st
ad1a0 72 69 6e 67 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 ring.returned.by.<CODE>setlocale
ad1c0 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 73 75 </CODE>.can.be.overwritten.by.su
ad1e0 62 73 65 71 75 65 6e 74 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 73 2c 20 73 6f 20 79 6f 75 20 bsequent..........calls,.so.you.
ad200 73 68 6f 75 6c 64 20 6d 61 6b 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 should.make.a.copy.of.the.string
ad220 20 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 73 61 76 65 20 69 74 20 70 61 73 74 20 61 6e ..if.you.want.to.save.it.past.an
ad240 79 20 66 75 72 74 68 65 72 20 63 61 6c 6c 73 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 y.further.calls.to..........<COD
ad260 45 3e 73 65 74 6c 6f 63 61 6c 65 3c 2f 43 4f 44 45 3e 2e 20 20 28 54 68 65 20 73 74 61 6e 64 61 E>setlocale</CODE>...(The.standa
ad280 72 64 20 6c 69 62 72 61 72 79 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 6e 65 76 65 72 20 74 rd.library.is.guaranteed.never.t
ad2a0 6f 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 3c o.call..........<CODE>setlocale<
ad2c0 2f 43 4f 44 45 3e 20 69 74 73 65 6c 66 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 /CODE>.itself.)..........<br><br
ad2e0 3e 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 73 74 72 69 >.You.should.not.modify.the.stri
ad300 6e 67 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 3c 2f ng.returned.by.<CODE>setlocale</
ad320 43 4f 44 45 3e 2e 20 20 49 74 20 6d 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 62 65 20 74 68 65 CODE>...It.might..........be.the
ad340 20 73 61 6d 65 20 73 74 72 69 6e 67 20 74 68 61 74 20 77 61 73 20 70 61 73 73 65 64 20 61 73 20 .same.string.that.was.passed.as.
ad360 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 61 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c 20 74 an.argument.in.a.previous.call.t
ad380 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 3c 2f 43 4f 44 45 o..........<CODE>setlocale</CODE
ad3a0 3e 2e 20 20 4f 6e 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 73 20 74 68 61 74 20 74 68 65 20 >...One.requirement.is.that.the.
ad3c0 3c 56 41 52 3e 63 61 74 65 67 6f 72 79 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 0a 20 20 20 20 <VAR>category</VAR>.must.be.....
ad3e0 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 69 6e 20 74 68 65 20 63 61 6c 6c 20 74 68 65 20 73 74 .....the.same.in.the.call.the.st
ad400 72 69 6e 67 20 77 61 73 20 72 65 74 75 72 6e 65 64 20 61 6e 64 20 74 68 65 20 6f 6e 65 20 77 68 ring.was.returned.and.the.one.wh
ad420 65 6e 20 74 68 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 69 73 20 70 61 73 73 65 64 en.the.string..........is.passed
ad440 20 69 6e 20 61 73 20 3c 56 41 52 3e 6c 6f 63 61 6c 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 .in.as.<VAR>locale</VAR>.paramet
ad460 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 79 6f 75 20 72 er...........<br><br>.When.you.r
ad480 65 61 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 20 66 6f 72 20 63 61 74 65 67 ead.the.current.locale.for.categ
ad4a0 6f 72 79 20 3c 43 4f 44 45 3e 4c 43 5f 41 4c 4c 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 76 61 6c ory.<CODE>LC_ALL</CODE>,.the.val
ad4c0 75 65 0a 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 73 20 74 68 65 20 65 6e 74 69 72 65 20 63 ue..........encodes.the.entire.c
ad4e0 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 73 65 6c 65 63 74 65 64 20 6c 6f 63 61 6c 65 73 20 66 ombination.of.selected.locales.f
ad500 6f 72 20 61 6c 6c 20 63 61 74 65 67 6f 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 74 or.all.categories...........In.t
ad520 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 20 6a 75 73 74 20 his.case,.the.value.is.not.just.
ad540 61 20 73 69 6e 67 6c 65 20 6c 6f 63 61 6c 65 20 6e 61 6d 65 2e 20 20 49 6e 20 66 61 63 74 2c 20 a.single.locale.name...In.fact,.
ad560 77 65 0a 20 20 20 20 20 20 20 20 20 64 6f 6e 27 74 20 6d 61 6b 65 20 61 6e 79 20 70 72 6f 6d 69 we..........don't.make.any.promi
ad580 73 65 73 20 61 62 6f 75 74 20 77 68 61 74 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 2e 20 20 42 ses.about.what.it.looks.like...B
ad5a0 75 74 20 69 66 20 79 6f 75 20 73 70 65 63 69 66 79 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 ut.if.you.specify..........the.s
ad5c0 61 6d 65 20 60 60 6c 6f 63 61 6c 65 20 6e 61 6d 65 27 27 20 77 69 74 68 20 3c 43 4f 44 45 3e 4c ame.``locale.name''.with.<CODE>L
ad5e0 43 5f 41 4c 4c 3c 2f 43 4f 44 45 3e 20 69 6e 20 61 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c C_ALL</CODE>.in.a.subsequent.cal
ad600 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 3c 2f 43 l.to..........<CODE>setlocale</C
ad620 4f 44 45 3e 2c 20 69 74 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 73 61 6d 65 20 63 6f 6d 62 69 ODE>,.it.restores.the.same.combi
ad640 6e 61 74 69 6f 6e 20 6f 66 20 6c 6f 63 61 6c 65 20 73 65 6c 65 63 74 69 6f 6e 73 2e 0a 20 20 20 nation.of.locale.selections.....
ad660 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 62 65 20 73 75 72 65 20 79 6f 75 20 63 61 ......<br><br>.To.be.sure.you.ca
ad680 6e 20 75 73 65 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 73 74 72 69 6e 67 20 65 6e 63 6f 64 69 n.use.the.returned.string.encodi
ad6a0 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 0a 20 20 20 20 20 20 ng.the.currently.selected.......
ad6c0 20 20 20 6c 6f 63 61 6c 65 20 61 74 20 61 20 6c 61 74 65 72 20 74 69 6d 65 2c 20 79 6f 75 20 6d ...locale.at.a.later.time,.you.m
ad6e0 75 73 74 20 6d 61 6b 65 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 20 20 ust.make.a.copy.of.the.string...
ad700 49 74 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 64 20 74 68 It.is.not..........guaranteed.th
ad720 61 74 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 70 6f 69 6e 74 65 72 20 72 65 6d 61 69 6e 73 20 at.the.returned.pointer.remains.
ad740 76 61 6c 69 64 20 6f 76 65 72 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 valid.over.time...........<br><b
ad760 72 3e 20 57 68 65 6e 20 74 68 65 20 3c 56 41 52 3e 6c 6f 63 61 6c 65 3c 2f 56 41 52 3e 20 61 72 r>.When.the.<VAR>locale</VAR>.ar
ad780 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 74 68 gument.is.not.a.null.pointer,.th
ad7a0 65 20 73 74 72 69 6e 67 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 43 e.string.returned..........by.<C
ad7c0 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 3c 2f 43 4f 44 45 3e 20 72 65 66 6c 65 63 74 73 20 74 68 ODE>setlocale</CODE>.reflects.th
ad7e0 65 20 6e 65 77 6c 79 2d 6d 6f 64 69 66 69 65 64 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 20 20 20 20 e.newly-modified.locale.........
ad800 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 73 70 65 63 69 66 79 20 61 6e 20 65 6d 70 ..<br><br>.If.you.specify.an.emp
ad820 74 79 20 73 74 72 69 6e 67 20 66 6f 72 20 3c 56 41 52 3e 6c 6f 63 61 6c 65 3c 2f 56 41 52 3e 2c ty.string.for.<VAR>locale</VAR>,
ad840 20 74 68 69 73 20 6d 65 61 6e 73 20 74 6f 20 72 65 61 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 .this.means.to.read.the.........
ad860 20 61 70 70 72 6f 70 72 69 61 74 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c .appropriate.environment.variabl
ad880 65 20 61 6e 64 20 75 73 65 20 69 74 73 20 76 61 6c 75 65 20 74 6f 20 73 65 6c 65 63 74 20 74 68 e.and.use.its.value.to.select.th
ad8a0 65 20 6c 6f 63 61 6c 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 3c 56 41 52 3e 63 61 74 65 67 e.locale..........for.<VAR>categ
ad8c0 6f 72 79 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 ory</VAR>...........<br><br>.If.
ad8e0 61 20 6e 6f 6e 65 6d 70 74 79 20 73 74 72 69 6e 67 20 69 73 20 67 69 76 65 6e 20 66 6f 72 20 3c a.nonempty.string.is.given.for.<
ad900 56 41 52 3e 6c 6f 63 61 6c 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 20 74 68 65 20 6c 6f 63 61 6c VAR>locale</VAR>,.then.the.local
ad920 65 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 69 73 20 75 73 65 64 20 e.of.that..........name.is.used.
ad940 69 66 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 if.possible...........<br><br>.I
ad960 66 20 79 6f 75 20 73 70 65 63 69 66 79 20 61 6e 20 69 6e 76 61 6c 69 64 20 6c 6f 63 61 6c 65 20 f.you.specify.an.invalid.locale.
ad980 6e 61 6d 65 2c 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 63 61 6c 65 3c 2f 43 4f 44 45 3e 20 72 65 74 name,.<CODE>setlocale</CODE>.ret
ad9a0 75 72 6e 73 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 61 6e 64 urns.a.null..........pointer.and
ad9c0 20 6c 65 61 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 20 75 6e 63 68 61 .leaves.the.current.locale.uncha
ad9e0 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 nged..........sq.~......w.....t.
ada00 08 6c 6f 63 61 6c 65 2e 68 78 71 00 7e 18 e1 74 00 20 69 6e 74 20 63 61 74 65 67 6f 72 79 2c 20 .locale.hxq.~..t..int.category,.
ada20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 6f 63 61 6c 65 74 00 06 63 68 61 72 20 2a 74 00 0a 73 65 const.char.*localet..char.*t..se
ada40 74 6c 6f 67 6d 61 73 6b 73 71 00 7e 00 0a 70 74 08 0c 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c tlogmasksq.~..pt...........<br><
ada60 62 72 3e 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 67 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 73 65 74 73 br>.<CODE>setlogmask</CODE>.sets
ada80 20 61 20 6d 61 73 6b 20 28 74 68 65 20 60 60 6c 6f 67 6d 61 73 6b 27 27 29 20 74 68 61 74 20 64 .a.mask.(the.``logmask'').that.d
adaa0 65 74 65 72 6d 69 6e 65 73 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 66 75 74 75 72 65 20 etermines.which..........future.
adac0 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 73 20 73 68 61 6c 6c 20 <CODE>syslog</CODE>.calls.shall.
adae0 62 65 20 69 67 6e 6f 72 65 64 2e 20 20 49 66 20 61 20 70 72 6f 67 72 61 6d 20 68 61 73 20 6e 6f be.ignored...If.a.program.has.no
adb00 74 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 67 6d 61 t..........called.<CODE>setlogma
adb20 73 6b 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 64 sk</CODE>,.<CODE>syslog</CODE>.d
adb40 6f 65 73 6e 27 74 20 69 67 6e 6f 72 65 20 61 6e 79 20 63 61 6c 6c 73 2e 20 20 59 6f 75 0a 20 20 oesn't.ignore.any.calls...You...
adb60 20 20 20 20 20 20 20 63 61 6e 20 75 73 65 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 67 6d 61 73 6b 3c .......can.use.<CODE>setlogmask<
adb80 2f 43 4f 44 45 3e 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 61 74 20 6d 65 73 73 61 67 65 73 20 /CODE>.to.specify.that.messages.
adba0 6f 66 20 70 61 72 74 69 63 75 6c 61 72 0a 20 20 20 20 20 20 20 20 20 70 72 69 6f 72 69 74 69 65 of.particular..........prioritie
adbc0 73 20 73 68 61 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 s.shall.be.ignored.in.the.future
adbe0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 3c 43 4f 44 45 3e 73 65 74 6c ...........<br><br>.A.<CODE>setl
adc00 6f 67 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 6f 76 65 72 72 69 64 65 73 20 61 6e 79 ogmask</CODE>.call.overrides.any
adc20 20 70 72 65 76 69 6f 75 73 20 3c 43 4f 44 45 3e 73 65 74 6c 6f 67 6d 61 73 6b 3c 2f 43 4f 44 45 .previous.<CODE>setlogmask</CODE
adc40 3e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 >.call...........<br><br>.Note.t
adc60 68 61 74 20 74 68 65 20 6c 6f 67 6d 61 73 6b 20 65 78 69 73 74 73 20 65 6e 74 69 72 65 6c 79 20 hat.the.logmask.exists.entirely.
adc80 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 6f 66 20 6f 70 65 6e 69 6e 67 20 61 6e 64 0a 20 20 20 independently.of.opening.and....
adca0 20 20 20 20 20 20 63 6c 6f 73 69 6e 67 20 6f 66 20 53 79 73 6c 6f 67 20 63 6f 6e 6e 65 63 74 69 ......closing.of.Syslog.connecti
adcc0 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 65 74 74 69 6e 67 20 74 ons...........<br><br>.Setting.t
adce0 68 65 20 6c 6f 67 6d 61 73 6b 20 68 61 73 20 61 20 73 69 6d 69 6c 61 72 20 65 66 66 65 63 74 20 he.logmask.has.a.similar.effect.
add00 74 6f 2c 20 62 75 74 20 69 73 20 6e 6f 74 20 74 68 65 20 73 61 6d 65 20 61 73 2c 0a 20 20 20 20 to,.but.is.not.the.same.as,.....
add20 20 20 20 20 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 53 79 73 6c 6f 67 2e 20 20 54 68 65 20 53 79 .....configuring.Syslog...The.Sy
add40 73 6c 6f 67 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6d 61 79 20 63 61 75 73 65 20 53 79 73 slog.configuration.may.cause.Sys
add60 6c 6f 67 20 74 6f 0a 20 20 20 20 20 20 20 20 20 64 69 73 63 61 72 64 20 63 65 72 74 61 69 6e 20 log.to..........discard.certain.
add80 6d 65 73 73 61 67 65 73 20 69 74 20 72 65 63 65 69 76 65 73 2c 20 62 75 74 20 74 68 65 20 6c 6f messages.it.receives,.but.the.lo
adda0 67 6d 61 73 6b 20 63 61 75 73 65 73 20 63 65 72 74 61 69 6e 0a 20 20 20 20 20 20 20 20 20 6d 65 gmask.causes.certain..........me
addc0 73 73 61 67 65 73 20 6e 65 76 65 72 20 74 6f 20 67 65 74 20 73 75 62 6d 69 74 74 65 64 20 74 6f ssages.never.to.get.submitted.to
adde0 20 53 79 73 6c 6f 67 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 70 6c 61 63 65 2e 0a 20 20 20 20 .Syslog.in.the.first.place......
ade00 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 6d 61 73 6b 3c 2f 56 41 52 3e 20 69 73 .....<br><br>.<VAR>mask</VAR>.is
ade20 20 61 20 62 69 74 20 73 74 72 69 6e 67 20 77 69 74 68 20 6f 6e 65 20 62 69 74 20 63 6f 72 72 65 .a.bit.string.with.one.bit.corre
ade40 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 61 63 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 sponding.to.each.of.the.........
ade60 20 70 6f 73 73 69 62 6c 65 20 6d 65 73 73 61 67 65 20 70 72 69 6f 72 69 74 69 65 73 2e 20 20 49 .possible.message.priorities...I
ade80 66 20 74 68 65 20 62 69 74 20 69 73 20 6f 6e 2c 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 f.the.bit.is.on,.<CODE>syslog</C
adea0 4f 44 45 3e 20 68 61 6e 64 6c 65 73 0a 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 73 20 6f ODE>.handles..........messages.o
adec0 66 20 74 68 61 74 20 70 72 69 6f 72 69 74 79 20 6e 6f 72 6d 61 6c 6c 79 2e 20 20 49 66 20 69 74 f.that.priority.normally...If.it
adee0 20 69 73 20 6f 66 66 2c 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 0a 20 20 20 .is.off,.<CODE>syslog</CODE>....
adf00 20 20 20 20 20 20 64 69 73 63 61 72 64 73 20 6d 65 73 73 61 67 65 73 20 6f 66 20 74 68 61 74 20 ......discards.messages.of.that.
adf20 70 72 69 6f 72 69 74 79 2e 20 20 55 73 65 20 74 68 65 20 6d 65 73 73 61 67 65 20 70 72 69 6f 72 priority...Use.the.message.prior
adf40 69 74 79 20 6d 61 63 72 6f 73 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 62 65 64 20 69 6e ity.macros..........described.in
adf60 20 73 79 73 6c 6f 67 3b 20 76 73 79 73 6c 6f 67 20 61 6e 64 20 74 68 65 20 3c 43 4f 44 45 3e 4c .syslog;.vsyslog.and.the.<CODE>L
adf80 4f 47 5f 4d 41 53 4b 3c 2f 43 4f 44 45 3e 20 74 6f 20 63 6f 6e 73 74 72 75 63 74 0a 20 20 20 20 OG_MASK</CODE>.to.construct.....
adfa0 20 20 20 20 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 3c 56 41 52 3e 6d 61 73 6b 3c 2f 56 .....an.appropriate.<VAR>mask</V
adfc0 41 52 3e 20 76 61 6c 75 65 2c 20 61 73 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 3a 0a 20 AR>.value,.as.in.this.example:..
adfe0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 ........<br><br>.<pre><br>......
ae000 20 20 20 20 4c 4f 47 5f 4d 41 53 4b 28 4c 4f 47 5f 45 4d 45 52 47 29 20 7c 20 4c 4f 47 5f 4d 41 ....LOG_MASK(LOG_EMERG).|.LOG_MA
ae020 53 4b 28 4c 4f 47 5f 45 52 52 4f 52 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 SK(LOG_ERROR)<br>..........</pre
ae040 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 6f 72 3c 62 72 3e 0a 20 ><br>..........<br><br>.or<br>..
ae060 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 ........<br><br>.<pre><br>......
ae080 20 20 20 20 7e 28 4c 4f 47 5f 4d 41 53 4b 28 4c 4f 47 5f 49 4e 46 4f 29 29 3c 62 72 3e 0a 20 20 ....~(LOG_MASK(LOG_INFO))<br>...
ae0a0 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .......</pre><br>..........<br><
ae0c0 62 72 3e 20 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 3c 43 4f 44 45 3e 4c 4f 47 5f 55 50 br>.There.is.also.a.<CODE>LOG_UP
ae0e0 54 4f 3c 2f 43 4f 44 45 3e 20 6d 61 63 72 6f 2c 20 77 68 69 63 68 20 67 65 6e 65 72 61 74 65 73 TO</CODE>.macro,.which.generates
ae100 20 61 20 6d 61 73 6b 20 77 69 74 68 20 74 68 65 20 62 69 74 73 3c 62 72 3e 0a 20 20 20 20 20 20 .a.mask.with.the.bits<br>.......
ae120 20 20 20 6f 6e 20 66 6f 72 20 61 20 63 65 72 74 61 69 6e 20 70 72 69 6f 72 69 74 79 20 61 6e 64 ...on.for.a.certain.priority.and
ae140 20 61 6c 6c 20 70 72 69 6f 72 69 74 69 65 73 20 61 62 6f 76 65 20 69 74 3a 3c 62 72 3e 0a 20 20 .all.priorities.above.it:<br>...
ae160 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 .......<br><br>.<pre><br>.......
ae180 20 20 20 4c 4f 47 5f 55 50 54 4f 28 4c 4f 47 5f 45 52 52 4f 52 29 3c 62 72 3e 0a 20 20 20 20 20 ...LOG_UPTO(LOG_ERROR)<br>......
ae1a0 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 ....</pre>..........<br><br>.The
ae1c0 20 75 6e 66 6f 72 74 75 6e 61 74 65 20 6e 61 6d 69 6e 67 20 6f 66 20 74 68 65 20 6d 61 63 72 6f .unfortunate.naming.of.the.macro
ae1e0 20 69 73 20 64 75 65 20 74 6f 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 69 6e 74 65 72 6e 61 .is.due.to.the.fact.that.interna
ae200 6c 6c 79 2c 0a 20 20 20 20 20 20 20 20 20 68 69 67 68 65 72 20 6e 75 6d 62 65 72 73 20 61 72 65 lly,..........higher.numbers.are
ae220 20 75 73 65 64 20 66 6f 72 20 6c 6f 77 65 72 20 6d 65 73 73 61 67 65 20 70 72 69 6f 72 69 74 69 .used.for.lower.message.prioriti
ae240 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 es...........<br><br>.........sq
ae260 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 79 73 6c 6f 67 2e 68 78 71 00 7e 18 e8 74 .~......w.....t..syslog.hxq.~..t
ae280 00 08 69 6e 74 20 6d 61 73 6b 74 00 03 69 6e 74 74 00 09 73 65 74 6d 6e 74 65 6e 74 73 71 00 7e ..int.maskt..intt..setmntentsq.~
ae2a0 00 0a 70 74 02 c7 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 6d 6e 74 65 ..pt...........The.<CODE>setmnte
ae2c0 6e 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 61 72 65 73 20 74 68 65 20 nt</CODE>.function.prepares.the.
ae2e0 66 69 6c 65 20 6e 61 6d 65 64 20 3c 56 41 52 3e 46 49 4c 45 3c 2f 56 41 52 3e 20 77 68 69 63 68 file.named.<VAR>FILE</VAR>.which
ae300 0a 20 20 20 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 ..........must.be.in.the.format.
ae320 6f 66 20 61 20 3c 54 54 3e 66 73 74 61 62 3c 2f 54 54 3e 20 61 6e 64 20 3c 54 54 3e 6d 74 61 62 of.a.<TT>fstab</TT>.and.<TT>mtab
ae340 3c 2f 54 54 3e 20 66 69 6c 65 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 75 70 63 6f </TT>.file.for.the..........upco
ae360 6d 69 6e 67 20 70 72 6f 63 65 73 73 69 6e 67 20 74 68 72 6f 75 67 68 20 74 68 65 20 6f 74 68 65 ming.processing.through.the.othe
ae380 72 20 66 75 6e 63 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 66 61 6d 69 6c 79 2e 20 20 54 68 65 0a r.functions.of.the.family...The.
ae3a0 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 .........<VAR>mode</VAR>.paramet
ae3c0 65 72 20 63 61 6e 20 62 65 20 63 68 6f 73 65 6e 20 69 6e 20 74 68 65 20 77 61 79 20 74 68 65 20 er.can.be.chosen.in.the.way.the.
ae3e0 3c 56 41 52 3e 6f 70 65 6e 74 79 70 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 70 61 72 <VAR>opentype</VAR>..........par
ae400 61 6d 65 74 65 72 20 66 6f 72 20 3c 43 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 20 63 ameter.for.<CODE>fopen</CODE>..c
ae420 61 6e 20 62 65 20 63 68 6f 73 65 6e 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 an.be.chosen...If..........the.f
ae440 69 6c 65 20 69 73 20 6f 70 65 6e 65 64 20 66 6f 72 20 77 72 69 74 69 6e 67 20 74 68 65 20 66 69 ile.is.opened.for.writing.the.fi
ae460 6c 65 20 69 73 20 61 6c 73 6f 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 65 6d 70 74 79 2e 0a le.is.also.allowed.to.be.empty..
ae480 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 69 6c 65 20 77 61 .........<br><br>.If.the.file.wa
ae4a0 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 6f 70 65 6e 65 64 20 3c 43 4f 44 45 3e 73 65 74 6d s.successfully.opened.<CODE>setm
ae4c0 6e 74 65 6e 74 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 66 69 6c 65 0a 20 20 20 20 ntent</CODE>.returns.a.file.....
ae4e0 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 20 66 6f 72 20 66 75 74 75 72 65 20 75 73 65 2e 20 .....descriptor.for.future.use..
ae500 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c .Otherwise.the.return.value.is.<
ae520 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 CODE>NULL</CODE>..........and.<C
ae540 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e ODE>errno</CODE>.is.set.accordin
ae560 67 6c 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 gly..........sq.~......w.....t..
ae580 6d 6e 74 65 6e 74 2e 68 78 71 00 7e 18 ef 74 00 22 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c mntent.hxq.~..t."const.char.*fil
ae5a0 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 6f 64 65 74 00 06 46 49 4c 45 20 2a 74 00 09 73 e,.const.char.*modet..FILE.*t..s
ae5c0 65 74 6e 65 74 65 6e 74 73 71 00 7e 00 0a 70 74 01 c4 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 etnetentsq.~..pt...........This.
ae5e0 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 73 20 61 6e 64 20 72 65 77 69 6e 64 73 20 74 68 65 20 6e function.opens.and.rewinds.the.n
ae600 65 74 77 6f 72 6b 73 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c etworks.database...........<br><
ae620 62 72 3e 20 49 66 20 74 68 65 20 3c 56 41 52 3e 73 74 61 79 6f 70 65 6e 3c 2f 56 41 52 3e 20 61 br>.If.the.<VAR>stayopen</VAR>.a
ae640 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 6e 7a 65 72 6f 2c 20 74 68 69 73 20 73 65 74 73 20 61 20 rgument.is.nonzero,.this.sets.a.
ae660 66 6c 61 67 20 73 6f 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 73 75 62 73 65 71 75 65 6e 74 flag.so.that..........subsequent
ae680 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 6e 65 74 62 79 6e 61 6d 65 3c 2f 43 4f .calls.to.<CODE>getnetbyname</CO
ae6a0 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 67 65 74 6e 65 74 62 79 61 64 64 72 3c 2f 43 4f 44 45 3e DE>.or.<CODE>getnetbyaddr</CODE>
ae6c0 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 63 6c 6f 73 65 20 74 68 65 20 64 61 74 .will..........not.close.the.dat
ae6e0 61 62 61 73 65 20 28 61 73 20 74 68 65 79 20 75 73 75 61 6c 6c 79 20 77 6f 75 6c 64 29 2e 20 20 abase.(as.they.usually.would)...
ae700 54 68 69 73 20 6d 61 6b 65 73 20 66 6f 72 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 65 66 66 This.makes.for.more..........eff
ae720 69 63 69 65 6e 63 79 20 69 66 20 79 6f 75 20 63 61 6c 6c 20 74 68 6f 73 65 20 66 75 6e 63 74 69 iciency.if.you.call.those.functi
ae740 6f 6e 73 20 73 65 76 65 72 61 6c 20 74 69 6d 65 73 2c 20 62 79 20 61 76 6f 69 64 69 6e 67 0a 20 ons.several.times,.by.avoiding..
ae760 20 20 20 20 20 20 20 20 72 65 6f 70 65 6e 69 6e 67 20 74 68 65 20 64 61 74 61 62 61 73 65 20 66 ........reopening.the.database.f
ae780 6f 72 20 65 61 63 68 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 or.each.call..........sq.~......
ae7a0 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 18 f6 74 00 0c 69 6e 74 20 73 74 61 w.....t..netdb.hxq.~..t..int.sta
ae7c0 79 6f 70 65 6e 74 00 04 76 6f 69 64 74 00 0b 73 65 74 6e 65 74 67 72 65 6e 74 73 71 00 7e 00 0a yopent..voidt..setnetgrentsq.~..
ae7e0 70 74 01 e8 0a 20 20 20 20 20 20 20 20 41 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 20 66 75 6e 63 pt...........A.call.to.this.func
ae800 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 73 74 tion.initializes.the.internal.st
ae820 61 74 65 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 20 74 6f 0a 20 20 20 20 20 20 20 20 20 61 ate.of.the.library.to..........a
ae840 6c 6c 6f 77 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 6c 6c 73 20 6f 66 20 74 68 65 20 3c 43 4f 44 llow.following.calls.of.the.<COD
ae860 45 3e 67 65 74 6e 65 74 67 72 65 6e 74 3c 2f 43 4f 44 45 3e 20 74 6f 20 69 74 65 72 61 74 65 20 E>getnetgrent</CODE>.to.iterate.
ae880 6f 76 65 72 20 61 6c 6c 20 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 over.all.entries..........in.the
ae8a0 20 6e 65 74 67 72 6f 75 70 20 77 69 74 68 20 6e 61 6d 65 20 3c 56 41 52 3e 6e 65 74 67 72 6f 75 .netgroup.with.name.<VAR>netgrou
ae8c0 70 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 p</VAR>...........<br><br>.When.
ae8e0 74 68 65 20 63 61 6c 6c 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 20 28 69 2e 65 2e 2c 20 77 68 the.call.is.successful.(i.e.,.wh
ae900 65 6e 20 61 20 6e 65 74 67 72 6f 75 70 20 77 69 74 68 20 74 68 69 73 20 6e 61 6d 65 20 65 78 69 en.a.netgroup.with.this.name.exi
ae920 73 74 73 29 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 sts)..........the.return.value.i
ae940 73 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2e 20 20 57 68 65 6e 20 74 68 65 20 72 65 74 75 s.<CODE>1</CODE>...When.the.retu
ae960 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6e 6f 0a 20 20 rn.value.is.<CODE>0</CODE>.no...
ae980 20 20 20 20 20 20 20 6e 65 74 67 72 6f 75 70 20 6f 66 20 74 68 69 73 20 6e 61 6d 65 20 69 73 20 .......netgroup.of.this.name.is.
ae9a0 6b 6e 6f 77 6e 20 6f 72 20 73 6f 6d 65 20 6f 74 68 65 72 20 65 72 72 6f 72 20 6f 63 63 75 72 72 known.or.some.other.error.occurr
ae9c0 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e ed..........sq.~......w.....t..n
ae9e0 65 74 64 62 2e 68 78 71 00 7e 18 fd 74 00 14 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 65 74 67 72 etdb.hxq.~..t..const.char.*netgr
aea00 6f 75 70 74 00 03 69 6e 74 74 00 07 73 65 74 70 67 69 64 73 71 00 7e 00 0a 70 74 05 ee 0a 20 20 oupt..intt..setpgidsq.~..pt.....
aea20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 70 67 69 64 3c 2f 43 4f 44 45 3e 20 66 ......The.<CODE>setpgid</CODE>.f
aea40 75 6e 63 74 69 6f 6e 20 70 75 74 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 3c 56 41 52 3e 70 69 unction.puts.the.process.<VAR>pi
aea60 64 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 d</VAR>.into.the.process........
aea80 20 20 67 72 6f 75 70 20 3c 56 41 52 3e 70 67 69 64 3c 2f 56 41 52 3e 2e 20 20 41 73 20 61 20 73 ..group.<VAR>pgid</VAR>...As.a.s
aeaa0 70 65 63 69 61 6c 20 63 61 73 65 2c 20 65 69 74 68 65 72 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 pecial.case,.either.<VAR>pid</VA
aeac0 52 3e 20 6f 72 20 3c 56 41 52 3e 70 67 69 64 3c 2f 56 41 52 3e 20 63 61 6e 0a 20 20 20 20 20 20 R>.or.<VAR>pgid</VAR>.can.......
aeae0 20 20 20 62 65 20 7a 65 72 6f 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 65 20 70 72 6f 63 65 ...be.zero.to.indicate.the.proce
aeb00 73 73 20 49 44 20 6f 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 2e 0a 20 20 ss.ID.of.the.calling.process....
aeb20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 66 61 .......<br><br>.This.function.fa
aeb40 69 6c 73 20 6f 6e 20 61 20 73 79 73 74 65 6d 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 73 75 ils.on.a.system.that.does.not.su
aeb60 70 70 6f 72 74 20 6a 6f 62 20 63 6f 6e 74 72 6f 6c 2e 0a 20 20 20 20 20 20 20 20 20 2c 20 66 6f pport.job.control...........,.fo
aeb80 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 r.more.information...........<br
aeba0 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 73 75 63 63 65 73 ><br>.If.the.operation.is.succes
aebc0 73 66 75 6c 2c 20 3c 43 4f 44 45 3e 73 65 74 70 67 69 64 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 sful,.<CODE>setpgid</CODE>.retur
aebe0 6e 73 20 7a 65 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 20 69 74 20 ns.zero...Otherwise..........it.
aec00 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 66 6f returns.<CODE>-1</CODE>...The.fo
aec20 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 llowing.<CODE>errno</CODE>.error
aec40 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 .conditions.are..........defined
aec60 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .for.this.function:..........<br
aec80 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 ><br>.<DL>...........<DT><CODE>E
aeca0 41 43 43 45 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 ACCES..........The.child.process
aecc0 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 68 61 73 20 65 78 65 .named.by.<VAR>pid</VAR>.has.exe
aece0 63 75 74 65 64 20 61 6e 20 3c 43 4f 44 45 3e 65 78 65 63 3c 2f 43 4f 44 45 3e 3c 2f 43 4f 44 45 cuted.an.<CODE>exec</CODE></CODE
aed00 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 69 6e 63 65 20 69 >.<DD>..........function.since.i
aed20 74 20 77 61 73 20 66 6f 72 6b 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 t.was.forked...........<br><br>.
aed40 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 <DT><CODE>EINVAL</CODE>.<DD>....
aed60 20 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 70 67 69 64 ......The.value.of.the.<VAR>pgid
aed80 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 </VAR>.is.not.valid...........<b
aeda0 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c r><br>.<DT><CODE>ENOSYS</CODE>.<
aedc0 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 79 73 74 65 6d 20 64 6f 65 73 6e 27 74 20 DD>..........The.system.doesn't.
aede0 73 75 70 70 6f 72 74 20 6a 6f 62 20 63 6f 6e 74 72 6f 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 support.job.control...........<b
aee00 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 r><br>.<DT><CODE>EPERM</CODE>.<D
aee20 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 69 6e 64 69 63 61 74 65 D>..........The.process.indicate
aee40 64 20 62 79 20 74 68 65 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 d.by.the.<VAR>pid</VAR>.argument
aee60 20 69 73 20 61 20 73 65 73 73 69 6f 6e 20 6c 65 61 64 65 72 2c 0a 20 20 20 20 20 20 20 20 20 6f .is.a.session.leader,..........o
aee80 72 20 69 73 20 6e 6f 74 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73 65 73 73 69 6f 6e 20 61 73 20 r.is.not.in.the.same.session.as.
aeea0 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 2c 20 6f 72 20 74 68 65 20 76 61 6c 75 the.calling.process,.or.the.valu
aeec0 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 56 41 52 3e 70 67 69 64 3c 2f 56 41 52 e.of..........the.<VAR>pgid</VAR
aeee0 3e 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 6e 27 74 20 6d 61 74 63 68 20 61 20 70 72 6f 63 65 >.argument.doesn't.match.a.proce
aef00 73 73 20 67 72 6f 75 70 20 49 44 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 ss.group.ID.in.the.same.........
aef20 20 73 65 73 73 69 6f 6e 20 61 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 2e .session.as.the.calling.process.
aef40 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 52 ..........<br><br>.<DT><CODE>ESR
aef60 43 48 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 69 6e 64 69 63 61 74 65 CH..........The.process.indicate
aef80 64 20 62 79 20 74 68 65 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 d.by.the.<VAR>pid</VAR>.argument
aefa0 20 69 73 20 6e 6f 74 20 74 68 65 20 63 61 6c 6c 69 6e 67 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a .is.not.the.calling</CODE>.<DD>.
aefc0 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 6f 72 20 61 20 63 68 69 6c 64 20 6f 66 20 74 .........process.or.a.child.of.t
aefe0 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 he.calling.process...........</D
af000 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e L>.........sq.~......w.....t..un
af020 69 73 74 64 2e 68 78 71 00 7e 19 04 74 00 15 70 69 64 5f 74 20 70 69 64 2c 20 70 69 64 5f 74 20 istd.hxq.~..t..pid_t.pid,.pid_t.
af040 70 67 69 64 74 00 03 69 6e 74 74 00 07 73 65 74 70 67 72 70 73 71 00 7e 00 0a 70 74 00 79 0a 20 pgidt..intt..setpgrpsq.~..pt.y..
af060 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 42 53 44 20 55 6e 69 78 20 6e 61 6d 65 .......This.is.the.BSD.Unix.name
af080 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 70 67 69 64 3c 2f 43 4f 44 45 3e 2e 20 20 42 6f 74 68 .for.<CODE>setpgid</CODE>...Both
af0a0 20 66 75 6e 63 74 69 6f 6e 73 20 64 6f 20 65 78 61 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 74 .functions.do.exactly..........t
af0c0 68 65 20 73 61 6d 65 20 74 68 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 he.same.thing..........sq.~.....
af0e0 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 19 0b 74 00 15 70 69 64 5f 74 .w.....t..unistd.hxq.~..t..pid_t
af100 20 70 69 64 2c 20 70 69 64 5f 74 20 70 67 69 64 74 00 03 69 6e 74 74 00 0b 73 65 74 70 72 69 6f .pid,.pid_t.pgidt..intt..setprio
af120 72 69 74 79 73 71 00 7e 00 0a 70 74 04 b0 0a 20 20 20 20 20 20 20 20 53 65 74 20 74 68 65 20 6e ritysq.~..pt...........Set.the.n
af140 69 63 65 20 76 61 6c 75 65 20 6f 66 20 61 20 73 65 74 20 6f 66 20 70 72 6f 63 65 73 73 65 73 20 ice.value.of.a.set.of.processes.
af160 74 6f 20 3c 56 41 52 3e 6e 69 63 65 76 61 6c 3c 2f 56 41 52 3e 3b 20 3c 56 41 52 3e 63 6c 61 73 to.<VAR>niceval</VAR>;.<VAR>clas
af180 73 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 56 41 52 3e 69 64 3c 2f 56 41 s</VAR>..........and.<VAR>id</VA
af1a0 52 3e 20 73 70 65 63 69 66 79 20 77 68 69 63 68 20 6f 6e 65 73 20 28 73 65 65 20 62 65 6c 6f 77 R>.specify.which.ones.(see.below
af1c0 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 )...........<br><br>.The.return.
af1e0 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 value.is.<CODE>0</CODE>.on.succe
af200 73 73 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 0a 20 20 20 20 20 ss,.and.<CODE>-1</CODE>.on......
af220 20 20 20 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 ....failure...The.following.<COD
af240 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 61 E>errno</CODE>.error.condition.a
af260 72 65 20 70 6f 73 73 69 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 66 75 re.possible.for..........this.fu
af280 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a nction:..........<br><br>.<DL>..
af2a0 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 53 52 43 48 0a 20 20 20 20 20 20 20 .........<DT><CODE>ESRCH........
af2c0 20 20 54 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 3c 56 41 52 3e 63 6c 61 73 73 3c ..The.combination.of.<VAR>class<
af2e0 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 69 64 3c 2f 56 41 52 3e 20 64 6f 65 73 20 6e 6f 74 /VAR>.and.<VAR>id</VAR>.does.not
af300 20 6d 61 74 63 68 20 61 6e 79 20 65 78 69 73 74 69 6e 67 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a .match.any.existing</CODE>.<DD>.
af320 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .........process...........<br><
af340 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e br>.<DT><CODE>EINVAL</CODE>.<DD>
af360 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 63 6c 61 73 ..........The.value.of.<VAR>clas
af380 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c s</VAR>.is.not.valid...........<
af3a0 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 0a 20 20 20 20 20 20 20 20 br><br>.<DT><CODE>EPERM.........
af3c0 20 54 68 65 20 63 61 6c 6c 20 77 6f 75 6c 64 20 73 65 74 20 74 68 65 20 6e 69 63 65 20 76 61 6c .The.call.would.set.the.nice.val
af3e0 75 65 20 6f 66 20 61 20 70 72 6f 63 65 73 73 20 77 68 69 63 68 20 69 73 20 6f 77 6e 65 64 20 62 ue.of.a.process.which.is.owned.b
af400 79 20 61 20 64 69 66 66 65 72 65 6e 74 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 y.a.different</CODE>.<DD>.......
af420 20 20 20 75 73 65 72 20 74 68 61 6e 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 ...user.than.the.calling.process
af440 20 28 69 2e 65 2e 2c 20 74 68 65 20 74 61 72 67 65 74 20 70 72 6f 63 65 73 73 27 20 72 65 61 6c .(i.e.,.the.target.process'.real
af460 20 6f 72 20 65 66 66 65 63 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 75 69 64 20 64 6f 65 73 20 .or.effective..........uid.does.
af480 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 20 65 not.match.the.calling.process'.e
af4a0 66 66 65 63 74 69 76 65 20 75 69 64 29 20 61 6e 64 20 74 68 65 20 63 61 6c 6c 69 6e 67 0a 20 20 ffective.uid).and.the.calling...
af4c0 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 3c 43 4f .......process.does.not.have.<CO
af4e0 44 45 3e 43 41 50 5f 53 59 53 5f 4e 49 43 45 3c 2f 43 4f 44 45 3e 20 70 65 72 6d 69 73 73 69 6f DE>CAP_SYS_NICE</CODE>.permissio
af500 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 n...........<br><br>.<DT><CODE>E
af520 41 43 43 45 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 ACCES</CODE>.<DD>..........The.c
af540 61 6c 6c 20 77 6f 75 6c 64 20 6c 6f 77 65 72 20 74 68 65 20 70 72 6f 63 65 73 73 27 20 6e 69 63 all.would.lower.the.process'.nic
af560 65 20 76 61 6c 75 65 20 61 6e 64 20 74 68 65 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f 74 e.value.and.the.process.does.not
af580 20 68 61 76 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 43 41 50 5f 53 59 53 5f 4e 49 43 .have..........<CODE>CAP_SYS_NIC
af5a0 45 3c 2f 43 4f 44 45 3e 20 70 65 72 6d 69 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f E</CODE>.permission...........</
af5c0 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 DL>..........<br><br>.........sq
af5e0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0e 73 79 73 2f 72 65 73 6f 75 72 63 65 2e 68 78 .~......w.....t..sys/resource.hx
af600 71 00 7e 19 12 74 00 1e 69 6e 74 20 63 6c 61 73 73 2c 20 69 6e 74 20 69 64 2c 20 69 6e 74 20 6e q.~..t..int.class,.int.id,.int.n
af620 69 63 65 76 61 6c 74 00 03 69 6e 74 74 00 0b 73 65 74 70 72 6f 74 6f 65 6e 74 73 71 00 7e 00 0a icevalt..intt..setprotoentsq.~..
af640 70 74 01 d4 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 73 pt...........This.function.opens
af660 20 74 68 65 20 70 72 6f 74 6f 63 6f 6c 73 20 64 61 74 61 62 61 73 65 20 74 6f 20 62 65 67 69 6e .the.protocols.database.to.begin
af680 20 73 63 61 6e 6e 69 6e 67 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 .scanning.it...........<br><br>.
af6a0 49 66 20 74 68 65 20 3c 56 41 52 3e 73 74 61 79 6f 70 65 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d If.the.<VAR>stayopen</VAR>.argum
af6c0 65 6e 74 20 69 73 20 6e 6f 6e 7a 65 72 6f 2c 20 74 68 69 73 20 73 65 74 73 20 61 20 66 6c 61 67 ent.is.nonzero,.this.sets.a.flag
af6e0 20 73 6f 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c .so.that..........subsequent.cal
af700 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 67 65 74 70 72 6f 74 6f 62 79 6e 61 6d 65 3c 2f 43 4f 44 45 ls.to.<CODE>getprotobyname</CODE
af720 3e 20 6f 72 20 3c 43 4f 44 45 3e 67 65 74 70 72 6f 74 6f 62 79 6e 75 6d 62 65 72 3c 2f 43 4f 44 >.or.<CODE>getprotobynumber</COD
af740 45 3e 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 63 6c 6f 73 65 20 74 68 65 20 64 E>.will..........not.close.the.d
af760 61 74 61 62 61 73 65 20 28 61 73 20 74 68 65 79 20 75 73 75 61 6c 6c 79 20 77 6f 75 6c 64 29 2e atabase.(as.they.usually.would).
af780 20 20 54 68 69 73 20 6d 61 6b 65 73 20 66 6f 72 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 65 ..This.makes.for.more..........e
af7a0 66 66 69 63 69 65 6e 63 79 20 69 66 20 79 6f 75 20 63 61 6c 6c 20 74 68 6f 73 65 20 66 75 6e 63 fficiency.if.you.call.those.func
af7c0 74 69 6f 6e 73 20 73 65 76 65 72 61 6c 20 74 69 6d 65 73 2c 20 62 79 20 61 76 6f 69 64 69 6e 67 tions.several.times,.by.avoiding
af7e0 0a 20 20 20 20 20 20 20 20 20 72 65 6f 70 65 6e 69 6e 67 20 74 68 65 20 64 61 74 61 62 61 73 65 ..........reopening.the.database
af800 20 66 6f 72 20 65 61 63 68 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 .for.each.call..........sq.~....
af820 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 62 2e 68 78 71 00 7e 19 19 74 00 0c 69 6e 74 20 73 ..w.....t..netdb.hxq.~..t..int.s
af840 74 61 79 6f 70 65 6e 74 00 04 76 6f 69 64 74 00 08 73 65 74 70 77 65 6e 74 73 71 00 7e 00 0a 70 tayopent..voidt..setpwentsq.~..p
af860 74 00 94 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 t...........This.function.initia
af880 6c 69 7a 65 73 20 61 20 73 74 72 65 61 6d 20 77 68 69 63 68 20 3c 43 4f 44 45 3e 67 65 74 70 77 lizes.a.stream.which.<CODE>getpw
af8a0 65 6e 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 ent</CODE>.and..........<CODE>ge
af8c0 74 70 77 65 6e 74 5f 72 3c 2f 43 4f 44 45 3e 20 75 73 65 20 74 6f 20 72 65 61 64 20 74 68 65 20 tpwent_r</CODE>.use.to.read.the.
af8e0 75 73 65 72 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 user.database..........sq.~.....
af900 01 77 04 00 00 00 0a 74 00 05 70 77 64 2e 68 78 71 00 7e 19 20 74 00 04 76 6f 69 64 74 00 04 76 .w.....t..pwd.hxq.~..t..voidt..v
af920 6f 69 64 74 00 08 73 65 74 72 65 67 69 64 73 71 00 7e 00 0a 70 74 03 79 0a 20 20 20 20 20 20 20 oidt..setregidsq.~..pt.y........
af940 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 72 65 61 6c 20 67 72 6f .This.function.sets.the.real.gro
af960 75 70 20 49 44 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 74 6f 20 3c 56 41 52 3e 72 67 69 up.ID.of.the.process.to.<VAR>rgi
af980 64 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 66 66 65 63 74 69 d</VAR>.and..........the.effecti
af9a0 76 65 20 67 72 6f 75 70 20 49 44 20 74 6f 20 3c 56 41 52 3e 65 67 69 64 3c 2f 56 41 52 3e 2e 20 ve.group.ID.to.<VAR>egid</VAR>..
af9c0 20 49 66 20 3c 56 41 52 3e 72 67 69 64 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c .If.<VAR>rgid</VAR>.is.<CODE>-1<
af9e0 2f 43 4f 44 45 3e 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 6d 65 61 6e 73 20 6e 6f 74 20 74 6f /CODE>,.it..........means.not.to
afa00 20 63 68 61 6e 67 65 20 74 68 65 20 72 65 61 6c 20 67 72 6f 75 70 20 49 44 3b 20 6c 69 6b 65 77 .change.the.real.group.ID;.likew
afa20 69 73 65 20 69 66 20 3c 56 41 52 3e 65 67 69 64 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 ise.if.<VAR>egid</VAR>.is.......
afa40 20 20 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 6d 65 61 6e 73 20 6e 6f 74 ...<CODE>-1</CODE>,.it.means.not
afa60 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 65 66 66 65 63 74 69 76 65 20 67 72 6f 75 70 20 49 .to.change.the.effective.group.I
afa80 44 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 D...........<br><br>.The.<CODE>s
afaa0 65 74 72 65 67 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 70 72 6f 76 69 etregid</CODE>.function.is.provi
afac0 64 65 64 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 34 2e 33 20 42 ded.for.compatibility.with.4.3.B
afae0 53 44 0a 20 20 20 20 20 20 20 20 20 55 6e 69 78 2c 20 77 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 SD..........Unix,.which.does.not
afb00 20 73 75 70 70 6f 72 74 20 66 69 6c 65 20 49 44 73 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 .support.file.IDs...You.can.use.
afb20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 73 77 61 70 20 74 this.function.to..........swap.t
afb40 68 65 20 65 66 66 65 63 74 69 76 65 20 61 6e 64 20 72 65 61 6c 20 67 72 6f 75 70 20 49 44 73 20 he.effective.and.real.group.IDs.
afb60 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2e 20 20 28 50 72 69 76 69 6c 65 67 65 64 0a 20 20 20 of.the.process...(Privileged....
afb80 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 73 20 61 72 65 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 ......processes.are.not.limited.
afba0 74 6f 20 74 68 69 73 20 75 73 61 67 65 2e 29 20 20 49 66 20 66 69 6c 65 20 49 44 73 20 61 72 65 to.this.usage.)..If.file.IDs.are
afbc0 20 73 75 70 70 6f 72 74 65 64 2c 0a 20 20 20 20 20 20 20 20 20 79 6f 75 20 73 68 6f 75 6c 64 20 .supported,..........you.should.
afbe0 75 73 65 20 74 68 61 74 20 66 65 61 74 75 72 65 20 69 6e 73 74 65 61 64 20 6f 66 20 75 73 69 6e use.that.feature.instead.of.usin
afc00 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 g.this.function.................
afc20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 .....<br><br>.The.return.values.
afc40 61 6e 64 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 3c 43 4f 44 45 3e 73 and.error.conditions.for.<CODE>s
afc60 65 74 72 65 67 69 64 3c 2f 43 4f 44 45 3e 20 61 72 65 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 etregid</CODE>.are.the.same.....
afc80 20 20 20 20 20 61 73 20 74 68 6f 73 65 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 72 65 75 69 64 .....as.those.for.<CODE>setreuid
afca0 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 </CODE>..........sq.~......w....
afcc0 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 19 27 74 00 16 67 69 64 5f 74 20 72 67 69 64 2c .t..unistd.hxq.~.'t..gid_t.rgid,
afce0 20 67 69 64 5f 74 20 65 67 69 64 74 00 03 69 6e 74 74 00 08 73 65 74 72 65 75 69 64 73 71 00 7e .gid_t.egidt..intt..setreuidsq.~
afd00 00 0a 70 74 04 70 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ..pt.p.........This.function.set
afd20 73 20 74 68 65 20 72 65 61 6c 20 75 73 65 72 20 49 44 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 s.the.real.user.ID.of.the.proces
afd40 73 20 74 6f 20 3c 56 41 52 3e 72 75 69 64 3c 2f 56 41 52 3e 20 61 6e 64 20 74 68 65 0a 20 20 20 s.to.<VAR>ruid</VAR>.and.the....
afd60 20 20 20 20 20 20 65 66 66 65 63 74 69 76 65 20 75 73 65 72 20 49 44 20 74 6f 20 3c 56 41 52 3e ......effective.user.ID.to.<VAR>
afd80 65 75 69 64 3c 2f 56 41 52 3e 2e 20 20 49 66 20 3c 56 41 52 3e 72 75 69 64 3c 2f 56 41 52 3e 20 euid</VAR>...If.<VAR>ruid</VAR>.
afda0 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 6d 65 61 6e 73 0a 20 20 20 is.<CODE>-1</CODE>,.it.means....
afdc0 20 20 20 20 20 20 6e 6f 74 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 72 65 61 6c 20 75 73 65 ......not.to.change.the.real.use
afde0 72 20 49 44 3b 20 6c 69 6b 65 77 69 73 65 20 69 66 20 3c 56 41 52 3e 65 75 69 64 3c 2f 56 41 52 r.ID;.likewise.if.<VAR>euid</VAR
afe00 3e 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2c 20 69 74 0a 20 20 20 20 20 20 20 >.is.<CODE>-1</CODE>,.it........
afe20 20 20 6d 65 61 6e 73 20 6e 6f 74 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 65 66 66 65 63 74 ..means.not.to.change.the.effect
afe40 69 76 65 20 75 73 65 72 20 49 44 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 ive.user.ID...........<br><br>.T
afe60 68 65 20 3c 43 4f 44 45 3e 73 65 74 72 65 75 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f he.<CODE>setreuid</CODE>.functio
afe80 6e 20 65 78 69 73 74 73 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 n.exists.for.compatibility.with.
afea0 34 2e 33 20 42 53 44 20 55 6e 69 78 2c 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 64 6f 65 4.3.BSD.Unix,..........which.doe
afec0 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 66 69 6c 65 20 49 44 73 2e 20 20 59 6f 75 20 63 61 6e s.not.support.file.IDs...You.can
afee0 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 73 77 61 70 20 74 68 65 0a 20 .use.this.function.to.swap.the..
aff00 20 20 20 20 20 20 20 20 65 66 66 65 63 74 69 76 65 20 61 6e 64 20 72 65 61 6c 20 75 73 65 72 20 ........effective.and.real.user.
aff20 49 44 73 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2e 20 20 28 50 72 69 76 69 6c 65 67 65 64 IDs.of.the.process...(Privileged
aff40 20 70 72 6f 63 65 73 73 65 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 6c 69 6d 69 .processes.are..........not.limi
aff60 74 65 64 20 74 6f 20 74 68 69 73 20 70 61 72 74 69 63 75 6c 61 72 20 75 73 61 67 65 2e 29 20 20 ted.to.this.particular.usage.)..
aff80 49 66 20 66 69 6c 65 20 49 44 73 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2c 20 79 6f 75 0a 20 If.file.IDs.are.supported,.you..
affa0 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 75 73 65 20 74 68 61 74 20 66 65 61 74 75 72 65 20 ........should.use.that.feature.
affc0 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 20 20 2e 0a 20 20 20 instead.of.this.function........
affe0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 ......<br><br>.The.return.value.
b0000 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 is.<CODE>0</CODE>.on.success.and
b0020 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 .<CODE>-1</CODE>.on.failure.....
b0040 20 20 20 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c ......The.following.<CODE>errno<
b0060 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 /CODE>.error.conditions.are.defi
b0080 6e 65 64 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 3a 0a ned.for.this..........function:.
b00a0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 .........<br><br>.<DL>..........
b00c0 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 .<DT><CODE>EPERM</CODE>.<DD>....
b00e0 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 ......The.process.does.not.have.
b0100 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 70 72 69 76 69 6c 65 67 65 73 3b 20 79 6f 75 20 the.appropriate.privileges;.you.
b0120 64 6f 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 68 61 76 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 do.not..........have.permission.
b0140 74 6f 20 63 68 61 6e 67 65 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 49 44 2e 0a 20 to.change.to.the.specified.ID...
b0160 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ........</DL>.........sq.~......
b0180 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 19 2e 74 00 16 75 69 64 5f 74 20 w.....t..unistd.hxq.~..t..uid_t.
b01a0 72 75 69 64 2c 20 75 69 64 5f 74 20 65 75 69 64 74 00 03 69 6e 74 74 00 09 73 65 74 72 6c 69 6d ruid,.uid_t.euidt..intt..setrlim
b01c0 69 74 73 71 00 7e 00 0a 70 74 03 49 0a 20 20 20 20 20 20 20 20 53 74 6f 72 65 20 74 68 65 20 63 itsq.~..pt.I.........Store.the.c
b01e0 75 72 72 65 6e 74 20 61 6e 64 20 6d 61 78 69 6d 75 6d 20 6c 69 6d 69 74 73 20 66 6f 72 20 74 68 urrent.and.maximum.limits.for.th
b0200 65 20 72 65 73 6f 75 72 63 65 20 3c 56 41 52 3e 72 65 73 6f 75 72 63 65 3c 2f 56 41 52 3e 0a 20 e.resource.<VAR>resource</VAR>..
b0220 20 20 20 20 20 20 20 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 6c 70 3c 2f 56 41 52 3e ........in.<CODE>*<VAR>rlp</VAR>
b0240 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 </CODE>...........<br><br>.The.r
b0260 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e eturn.value.is.<CODE>0</CODE>.on
b0280 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 .success.and.<CODE>-1</CODE>.on.
b02a0 66 61 69 6c 75 72 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 failure...The..........following
b02c0 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 .<CODE>errno</CODE>.error.condit
b02e0 69 6f 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ion.is.possible:..........<br><b
b0300 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 r>.<DL>...........<DT><CODE>EPER
b0320 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4f 4c 3e 0a 20 20 20 20 M</CODE>.<DD>..........<OL>.....
b0340 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 74 .....<LI>..........The.process.t
b0360 72 69 65 64 20 74 6f 20 72 61 69 73 65 20 61 20 63 75 72 72 65 6e 74 20 6c 69 6d 69 74 20 62 65 ried.to.raise.a.current.limit.be
b0380 79 6f 6e 64 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6c 69 6d 69 74 2e 0a 20 20 20 20 20 20 20 20 yond.the.maximum.limit..........
b03a0 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 .<br><br>.<LI>..........The.proc
b03c0 65 73 73 20 74 72 69 65 64 20 74 6f 20 72 61 69 73 65 20 61 20 6d 61 78 69 6d 75 6d 20 6c 69 6d ess.tried.to.raise.a.maximum.lim
b03e0 69 74 2c 20 62 75 74 20 69 73 20 6e 6f 74 20 73 75 70 65 72 75 73 65 72 2e 0a 20 20 20 20 20 20 it,.but.is.not.superuser........
b0400 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 ...</OL>..........</DL>.........
b0420 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 .<br><br>.When.the.sources.are.c
b0440 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f ompiled.with.<CODE>_FILE_OFFSET_
b0460 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 BITS.==.64</CODE>.on.a..........
b0480 33 32 2d 62 69 74 20 73 79 73 74 65 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 32-bit.system.this.function.is.i
b04a0 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 73 65 74 72 6c 69 6d 69 74 36 34 3c 2f 43 4f 44 45 3e 2e n.fact.<CODE>setrlimit64</CODE>.
b04c0 20 20 54 68 75 73 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 4c 46 53 20 69 6e 74 65 72 66 61 ..Thus,.the..........LFS.interfa
b04e0 63 65 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c ce.transparently.replaces.the.ol
b0500 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 d.interface..........sq.~......w
b0520 04 00 00 00 0a 74 00 0e 73 79 73 2f 72 65 73 6f 75 72 63 65 2e 68 78 71 00 7e 19 35 74 00 26 69 .....t..sys/resource.hxq.~.5t.&i
b0540 6e 74 20 72 65 73 6f 75 72 63 65 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 72 6c 69 6d 69 74 nt.resource,.const.struct.rlimit
b0560 20 2a 72 6c 70 74 00 03 69 6e 74 74 00 0b 73 65 74 72 6c 69 6d 69 74 36 34 73 71 00 7e 00 0a 70 .*rlpt..intt..setrlimit64sq.~..p
b0580 74 02 08 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d t...........This.function.is.sim
b05a0 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 65 74 72 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 20 62 ilar.to.<CODE>setrlimit</CODE>.b
b05c0 75 74 20 69 74 73 20 73 65 63 6f 6e 64 20 70 61 72 61 6d 65 74 65 72 20 69 73 0a 20 20 20 20 20 ut.its.second.parameter.is......
b05e0 20 20 20 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 ....a.pointer.to.a.variable.of.t
b0600 79 70 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 72 6c 69 6d 69 74 36 34 3c 2f 43 4f 44 45 3e ype.<CODE>struct.rlimit64</CODE>
b0620 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 69 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 73 65 74 .which.allows.it..........to.set
b0640 20 76 61 6c 75 65 73 20 77 68 69 63 68 20 77 6f 75 6c 64 6e 27 74 20 66 69 74 20 69 6e 20 74 68 .values.which.wouldn't.fit.in.th
b0660 65 20 6d 65 6d 62 65 72 20 6f 66 20 61 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 0a 20 20 20 20 20 e.member.of.a.<CODE>struct......
b0680 20 20 20 20 72 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ....rlimit</CODE>...........<br>
b06a0 3c 62 72 3e 20 49 66 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 <br>.If.the.sources.are.compiled
b06c0 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d .with.<CODE>_FILE_OFFSET_BITS.==
b06e0 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 2d 62 69 74 20 .64</CODE>.on.a..........32-bit.
b0700 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 machine.this.function.is.availab
b0720 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 le.under.the.name..........<CODE
b0740 3e 73 65 74 72 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 >setrlimit</CODE>.and.so.transpa
b0760 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 63 rently.replaces.the.old.interfac
b0780 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0e 73 79 e..........sq.~......w.....t..sy
b07a0 73 2f 72 65 73 6f 75 72 63 65 2e 68 78 71 00 7e 19 3c 74 00 28 69 6e 74 20 72 65 73 6f 75 72 63 s/resource.hxq.~.<t.(int.resourc
b07c0 65 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 72 6c 69 6d 69 74 36 34 20 2a 72 6c 70 74 00 03 e,.const.struct.rlimit64.*rlpt..
b07e0 69 6e 74 74 00 0a 73 65 74 73 65 72 76 65 6e 74 73 71 00 7e 00 0a 70 74 01 cf 0a 20 20 20 20 20 intt..setserventsq.~..pt........
b0800 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 73 20 74 68 65 20 73 65 72 76 69 ...This.function.opens.the.servi
b0820 63 65 73 20 64 61 74 61 62 61 73 65 20 74 6f 20 62 65 67 69 6e 20 73 63 61 6e 6e 69 6e 67 20 69 ces.database.to.begin.scanning.i
b0840 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 3c 56 41 52 t...........<br><br>.If.the.<VAR
b0860 3e 73 74 61 79 6f 70 65 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 6e 7a >stayopen</VAR>.argument.is.nonz
b0880 65 72 6f 2c 20 74 68 69 73 20 73 65 74 73 20 61 20 66 6c 61 67 20 73 6f 20 74 68 61 74 0a 20 20 ero,.this.sets.a.flag.so.that...
b08a0 20 20 20 20 20 20 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 .......subsequent.calls.to.<CODE
b08c0 3e 67 65 74 73 65 72 76 62 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 67 >getservbyname</CODE>.or.<CODE>g
b08e0 65 74 73 65 72 76 62 79 70 6f 72 74 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 etservbyport</CODE>.will........
b0900 20 20 6e 6f 74 20 63 6c 6f 73 65 20 74 68 65 20 64 61 74 61 62 61 73 65 20 28 61 73 20 74 68 65 ..not.close.the.database.(as.the
b0920 79 20 75 73 75 61 6c 6c 79 20 77 6f 75 6c 64 29 2e 20 20 54 68 69 73 20 6d 61 6b 65 73 20 66 6f y.usually.would)...This.makes.fo
b0940 72 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 65 66 66 69 63 69 65 6e 63 79 20 69 66 20 79 6f r.more..........efficiency.if.yo
b0960 75 20 63 61 6c 6c 20 74 68 6f 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 73 65 76 65 72 61 6c 20 74 u.call.those.functions.several.t
b0980 69 6d 65 73 2c 20 62 79 20 61 76 6f 69 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 72 65 6f 70 65 imes,.by.avoiding..........reope
b09a0 6e 69 6e 67 20 74 68 65 20 64 61 74 61 62 61 73 65 20 66 6f 72 20 65 61 63 68 20 63 61 6c 6c 2e ning.the.database.for.each.call.
b09c0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 6e 65 74 64 .........sq.~......w.....t..netd
b09e0 62 2e 68 78 71 00 7e 19 43 74 00 0c 69 6e 74 20 73 74 61 79 6f 70 65 6e 74 00 04 76 6f 69 64 74 b.hxq.~.Ct..int.stayopent..voidt
b0a00 00 06 73 65 74 73 69 64 73 71 00 7e 00 0a 70 74 03 dd 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c ..setsidsq.~..pt...........The.<
b0a20 43 4f 44 45 3e 73 65 74 73 69 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 CODE>setsid</CODE>.function.crea
b0a40 74 65 73 20 61 20 6e 65 77 20 73 65 73 73 69 6f 6e 2e 20 20 54 68 65 20 63 61 6c 6c 69 6e 67 20 tes.a.new.session...The.calling.
b0a60 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 62 65 63 6f 6d 65 73 20 74 68 65 20 73 65 73 process..........becomes.the.ses
b0a80 73 69 6f 6e 20 6c 65 61 64 65 72 2c 20 61 6e 64 20 69 73 20 70 75 74 20 69 6e 20 61 20 6e 65 77 sion.leader,.and.is.put.in.a.new
b0aa0 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 77 68 6f 73 65 0a 20 20 20 20 20 20 20 20 20 70 72 .process.group.whose..........pr
b0ac0 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 ocess.group.ID.is.the.same.as.th
b0ae0 65 20 70 72 6f 63 65 73 73 20 49 44 20 6f 66 20 74 68 61 74 20 70 72 6f 63 65 73 73 2e 20 20 54 e.process.ID.of.that.process...T
b0b00 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 69 6e 69 74 69 61 6c 6c 79 20 6e 6f 20 6f here..........are.initially.no.o
b0b20 74 68 65 72 20 70 72 6f 63 65 73 73 65 73 20 69 6e 20 74 68 65 20 6e 65 77 20 70 72 6f 63 65 73 ther.processes.in.the.new.proces
b0b40 73 20 67 72 6f 75 70 2c 20 61 6e 64 20 6e 6f 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 70 s.group,.and.no.other..........p
b0b60 72 6f 63 65 73 73 20 67 72 6f 75 70 73 20 69 6e 20 74 68 65 20 6e 65 77 20 73 65 73 73 69 6f 6e rocess.groups.in.the.new.session
b0b80 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f ...........<br><br>.This.functio
b0ba0 6e 20 61 6c 73 6f 20 6d 61 6b 65 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 n.also.makes.the.calling.process
b0bc0 20 68 61 76 65 20 6e 6f 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 74 65 72 6d 69 6e 61 6c 2e 0a 20 .have.no.controlling.terminal...
b0be0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 73 69 ........<br><br>.The.<CODE>setsi
b0c00 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 65 d</CODE>.function.returns.the.ne
b0c20 77 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 w.process.group.ID.of.the.......
b0c40 20 20 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 66 20 73 75 63 63 65 73 73 66 75 6c ...calling.process.if.successful
b0c60 2e 20 20 41 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 ...A.return.value.of.<CODE>-1</C
b0c80 4f 44 45 3e 20 69 6e 64 69 63 61 74 65 73 20 61 6e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 ODE>.indicates.an..........error
b0ca0 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f ...The.following.<CODE>errno</CO
b0cc0 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 DE>.error.conditions.are.defined
b0ce0 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 .for.this..........function:....
b0d00 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 ......<br><br>.<DL>...........<D
b0d20 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 T><CODE>EPERM</CODE>.<DD>.......
b0d40 20 20 20 54 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 73 20 61 6c 72 65 61 64 ...The.calling.process.is.alread
b0d60 79 20 61 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 6c 65 61 64 65 72 2c 20 6f 72 20 74 68 65 y.a.process.group.leader,.or.the
b0d80 72 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 6c 72 65 61 64 79 20 61 6e 6f 74 68 65 72 20 70 re.is..........already.another.p
b0da0 72 6f 63 65 73 73 20 67 72 6f 75 70 20 61 72 6f 75 6e 64 20 74 68 61 74 20 68 61 73 20 74 68 65 rocess.group.around.that.has.the
b0dc0 20 73 61 6d 65 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 2e 0a 20 20 20 20 20 20 20 20 .same.process.group.ID..........
b0de0 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 .</DL>.........sq.~......w.....t
b0e00 00 07 73 74 64 69 6f 2e 68 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 19 4a 74 00 04 76 6f 69 ..stdio.ht..unistd.hxq.~.Jt..voi
b0e20 64 74 00 05 70 69 64 5f 74 74 00 0a 73 65 74 73 6f 63 6b 6f 70 74 73 71 00 7e 00 0a 70 74 01 b0 dt..pid_tt..setsockoptsq.~..pt..
b0e40 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 .........This.function.is.used.t
b0e60 6f 20 73 65 74 20 74 68 65 20 73 6f 63 6b 65 74 20 6f 70 74 69 6f 6e 20 3c 56 41 52 3e 6f 70 74 o.set.the.socket.option.<VAR>opt
b0e80 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 74 20 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 20 3c 56 41 name</VAR>.at.level..........<VA
b0ea0 52 3e 6c 65 76 65 6c 3c 2f 56 41 52 3e 20 66 6f 72 20 73 6f 63 6b 65 74 20 3c 56 41 52 3e 73 6f R>level</VAR>.for.socket.<VAR>so
b0ec0 63 6b 65 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 70 cket</VAR>...The.value.of.the.op
b0ee0 74 69 6f 6e 20 69 73 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 62 tion.is.passed..........in.the.b
b0f00 75 66 66 65 72 20 3c 56 41 52 3e 6f 70 74 76 61 6c 3c 2f 56 41 52 3e 20 6f 66 20 73 69 7a 65 20 uffer.<VAR>optval</VAR>.of.size.
b0f20 3c 56 41 52 3e 6f 70 74 6c 65 6e 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e <VAR>optlen</VAR>...........<br>
b0f40 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 72 65 74 <br>.....................The.ret
b0f60 75 72 6e 20 76 61 6c 75 65 20 61 6e 64 20 65 72 72 6f 72 20 63 6f 64 65 73 20 66 6f 72 20 3c 43 urn.value.and.error.codes.for.<C
b0f80 4f 44 45 3e 73 65 74 73 6f 63 6b 6f 70 74 3c 2f 43 4f 44 45 3e 20 61 72 65 20 74 68 65 20 73 61 ODE>setsockopt</CODE>.are.the.sa
b0fa0 6d 65 20 61 73 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 3c 43 4f 44 45 3e 67 65 74 73 6f 63 6b me.as..........for.<CODE>getsock
b0fc0 6f 70 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c opt</CODE>.....................<
b0fe0 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a br><br>.........sq.~......w.....
b1000 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 19 52 74 00 42 69 6e 74 20 73 6f 63 6b t..sys/socket.hxq.~.Rt.Bint.sock
b1020 65 74 2c 20 69 6e 74 20 6c 65 76 65 6c 2c 20 69 6e 74 20 6f 70 74 6e 61 6d 65 2c 20 76 6f 69 64 et,.int.level,.int.optname,.void
b1040 20 2a 6f 70 74 76 61 6c 2c 20 73 6f 63 6b 6c 65 6e 5f 74 20 6f 70 74 6c 65 6e 74 00 03 69 6e 74 .*optval,.socklen_t.optlent..int
b1060 74 00 08 73 65 74 73 74 61 74 65 73 71 00 7e 00 0a 70 74 02 06 0a 20 20 20 20 20 20 20 20 54 68 t..setstatesq.~..pt...........Th
b1080 65 20 3c 43 4f 44 45 3e 73 65 74 73 74 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e e.<CODE>setstate</CODE>.function
b10a0 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 73 74 61 74 .restores.the.random.number.stat
b10c0 65 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 3c 56 41 52 3e 73 74 61 74 e..........information.<VAR>stat
b10e0 65 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 6d 75 73 74 20 68 61 76 65 e</VAR>...The.argument.must.have
b1100 20 62 65 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 61 20 70 .been.the.result.of..........a.p
b1120 72 65 76 69 6f 75 73 20 63 61 6c 6c 20 74 6f 20 3c 56 41 52 3e 69 6e 69 74 73 74 61 74 65 3c 2f revious.call.to.<VAR>initstate</
b1140 56 41 52 3e 20 6f 72 20 3c 56 41 52 3e 73 65 74 73 74 61 74 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 VAR>.or.<VAR>setstate</VAR>.....
b1160 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 ......<br><br>.The.return.value.
b1180 69 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 73 74 61 is.the.previous.value.of.the.sta
b11a0 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 20 20 20 59 te.information.array...........Y
b11c0 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 76 61 6c 75 65 20 6c 61 74 65 72 20 61 73 20 61 ou.can.use.this.value.later.as.a
b11e0 6e 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 73 65 74 73 74 61 74 65 3c 2f 43 4f n.argument.to.<CODE>setstate</CO
b1200 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 72 65 73 74 6f 72 65 20 74 68 61 74 20 73 74 61 DE>.to..........restore.that.sta
b1220 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 75 6e te...........<br><br>.If.the.fun
b1240 63 74 69 6f 6e 20 66 61 69 6c 73 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 ction.fails.the.return.value.is.
b1260 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 <CODE>NULL</CODE>..........sq.~.
b1280 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 19 59 74 00 0b 76 .....w.....t..stdlib.hxq.~.Yt..v
b12a0 6f 69 64 20 2a 73 74 61 74 65 74 00 06 76 6f 69 64 20 2a 74 00 0a 73 65 74 73 74 61 74 65 5f 72 oid.*statet..void.*t..setstate_r
b12c0 73 71 00 7e 00 0a 70 74 00 f8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 sq.~..pt...........The.<CODE>set
b12e0 73 74 61 74 65 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 62 65 68 61 76 65 73 20 state_r</CODE>.function.behaves.
b1300 65 78 61 63 74 6c 79 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f 44 45 3e 73 65 74 73 74 61 74 65 3c exactly.like.the.<CODE>setstate<
b1320 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 65 70 74 20 /CODE>..........function.except.
b1340 74 68 61 74 20 69 74 20 75 73 65 73 20 61 6e 64 20 6d 6f 64 69 66 69 65 73 20 74 68 65 20 73 74 that.it.uses.and.modifies.the.st
b1360 61 74 65 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 ate.in.the.object..........point
b1380 65 64 20 74 6f 20 62 79 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 65 72 20 69 6e 73 ed.to.by.the.first.parameter.ins
b13a0 74 65 61 64 20 6f 66 20 74 68 65 20 67 6c 6f 62 61 6c 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 tead.of.the.global.state........
b13c0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 ..sq.~......w.....t..stdlib.hxq.
b13e0 7e 19 60 74 00 39 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 73 74 61 74 65 62 75 66 2c 20 73 ~.`t.9char.*restrict.statebuf,.s
b1400 74 72 75 63 74 20 72 61 6e 64 6f 6d 5f 64 61 74 61 20 2a 72 65 73 74 72 69 63 74 20 62 75 66 74 truct.random_data.*restrict.buft
b1420 00 03 69 6e 74 74 00 0c 73 65 74 74 69 6d 65 6f 66 64 61 79 73 71 00 7e 00 0a 70 74 07 a1 0a 20 ..intt..settimeofdaysq.~..pt....
b1440 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 74 69 6d 65 6f 66 64 61 79 3c 2f 43 .......The.<CODE>settimeofday</C
b1460 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 ODE>.function.sets.the.current.c
b1480 61 6c 65 6e 64 61 72 20 74 69 6d 65 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 79 73 alendar.time.in.the..........sys
b14a0 74 65 6d 20 63 6c 6f 63 6b 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 61 72 67 75 6d tem.clock.according.to.the.argum
b14c0 65 6e 74 73 2e 20 20 41 73 20 66 6f 72 20 3c 43 4f 44 45 3e 67 65 74 74 69 6d 65 6f 66 64 61 79 ents...As.for.<CODE>gettimeofday
b14e0 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 61 6c 65 6e 64 61 72 20 74 </CODE>,..........the.calendar.t
b1500 69 6d 65 20 69 73 20 72 65 70 72 65 73 65 6e 74 65 64 20 61 73 20 74 68 65 20 65 6c 61 70 73 65 ime.is.represented.as.the.elapse
b1520 64 20 74 69 6d 65 20 73 69 6e 63 65 20 74 68 65 20 65 70 6f 63 68 2e 0a 20 20 20 20 20 20 20 20 d.time.since.the.epoch..........
b1540 20 41 73 20 66 6f 72 20 3c 43 4f 44 45 3e 67 65 74 74 69 6d 65 6f 66 64 61 79 3c 2f 43 4f 44 45 .As.for.<CODE>gettimeofday</CODE
b1560 3e 2c 20 74 69 6d 65 20 7a 6f 6e 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 69 67 6e 6f >,.time.zone.information.is.igno
b1580 72 65 64 20 69 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 7a 70 3c 2f 56 41 52 3e 20 69 red.if..........<VAR>tzp</VAR>.i
b15a0 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c s.a.null.pointer...........<br><
b15c0 62 72 3e 20 59 6f 75 20 6d 75 73 74 20 62 65 20 61 20 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 br>.You.must.be.a.privileged.use
b15e0 72 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 73 65 74 74 69 6d 65 6f r.in.order.to.use.<CODE>settimeo
b1600 66 64 61 79 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 fday</CODE>...........<br><br>.S
b1620 6f 6d 65 20 6b 65 72 6e 65 6c 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 20 74 68 ome.kernels.automatically.set.th
b1640 65 20 73 79 73 74 65 6d 20 63 6c 6f 63 6b 20 66 72 6f 6d 20 73 6f 6d 65 20 73 6f 75 72 63 65 20 e.system.clock.from.some.source.
b1660 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 20 20 20 61 20 68 61 72 64 77 61 72 65 20 63 6c 6f 63 such.as..........a.hardware.cloc
b1680 6b 20 77 68 65 6e 20 74 68 65 79 20 73 74 61 72 74 20 75 70 2e 20 20 4f 74 68 65 72 73 2c 20 69 k.when.they.start.up...Others,.i
b16a0 6e 63 6c 75 64 69 6e 67 20 4c 69 6e 75 78 2c 20 70 6c 61 63 65 20 74 68 65 0a 20 20 20 20 20 20 ncluding.Linux,.place.the.......
b16c0 20 20 20 73 79 73 74 65 6d 20 63 6c 6f 63 6b 20 69 6e 20 61 6e 20 60 60 69 6e 76 61 6c 69 64 27 ...system.clock.in.an.``invalid'
b16e0 27 20 73 74 61 74 65 20 28 69 6e 20 77 68 69 63 68 20 61 74 74 65 6d 70 74 73 20 74 6f 20 72 65 '.state.(in.which.attempts.to.re
b1700 61 64 20 74 68 65 20 63 6c 6f 63 6b 0a 20 20 20 20 20 20 20 20 20 66 61 69 6c 29 2e 20 20 41 20 ad.the.clock..........fail)...A.
b1720 63 61 6c 6c 20 6f 66 20 3c 43 4f 44 45 3e 73 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 72 65 6d 6f 76 call.of.<CODE>stime</CODE>.remov
b1740 65 73 20 74 68 65 20 73 79 73 74 65 6d 20 63 6c 6f 63 6b 20 66 72 6f 6d 20 61 6e 20 69 6e 76 61 es.the.system.clock.from.an.inva
b1760 6c 69 64 0a 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2c 20 61 6e 64 20 73 79 73 74 65 6d 20 73 lid..........state,.and.system.s
b1780 74 61 72 74 75 70 20 73 63 72 69 70 74 73 20 74 79 70 69 63 61 6c 6c 79 20 72 75 6e 20 61 20 70 tartup.scripts.typically.run.a.p
b17a0 72 6f 67 72 61 6d 20 74 68 61 74 20 63 61 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 rogram.that.calls..........<CODE
b17c0 3e 73 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e >stime</CODE>...........<br><br>
b17e0 20 3c 43 4f 44 45 3e 73 65 74 74 69 6d 65 6f 66 64 61 79 3c 2f 43 4f 44 45 3e 20 63 61 75 73 65 .<CODE>settimeofday</CODE>.cause
b1800 73 20 61 20 73 75 64 64 65 6e 20 6a 75 6d 70 20 66 6f 72 77 61 72 64 73 20 6f 72 20 62 61 63 6b s.a.sudden.jump.forwards.or.back
b1820 77 61 72 64 73 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 63 61 6e 20 63 61 75 73 65 20 wards,.which..........can.cause.
b1840 61 20 76 61 72 69 65 74 79 20 6f 66 20 70 72 6f 62 6c 65 6d 73 20 69 6e 20 61 20 73 79 73 74 65 a.variety.of.problems.in.a.syste
b1860 6d 2e 20 20 55 73 65 20 3c 43 4f 44 45 3e 61 64 6a 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 28 62 65 m...Use.<CODE>adjtime</CODE>.(be
b1880 6c 6f 77 29 0a 20 20 20 20 20 20 20 20 20 74 6f 20 6d 61 6b 65 20 61 20 73 6d 6f 6f 74 68 20 74 low)..........to.make.a.smooth.t
b18a0 72 61 6e 73 69 74 69 6f 6e 20 66 72 6f 6d 20 6f 6e 65 20 74 69 6d 65 20 74 6f 20 61 6e 6f 74 68 ransition.from.one.time.to.anoth
b18c0 65 72 20 62 79 20 74 65 6d 70 6f 72 61 72 69 6c 79 0a 20 20 20 20 20 20 20 20 20 73 70 65 65 64 er.by.temporarily..........speed
b18e0 69 6e 67 20 75 70 20 6f 72 20 73 6c 6f 77 69 6e 67 20 64 6f 77 6e 20 74 68 65 20 63 6c 6f 63 6b ing.up.or.slowing.down.the.clock
b1900 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 69 74 68 20 61 20 4c 69 6e 75 78 ...........<br><br>.With.a.Linux
b1920 20 6b 65 72 6e 65 6c 2c 20 3c 43 4f 44 45 3e 61 64 6a 74 69 6d 65 78 3c 2f 43 4f 44 45 3e 20 64 .kernel,.<CODE>adjtimex</CODE>.d
b1940 6f 65 73 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 61 6e 64 20 63 61 6e 20 61 6c 73 6f 0a oes.the.same.thing.and.can.also.
b1960 20 20 20 20 20 20 20 20 20 6d 61 6b 65 20 70 65 72 6d 61 6e 65 6e 74 20 63 68 61 6e 67 65 73 20 .........make.permanent.changes.
b1980 74 6f 20 74 68 65 20 73 70 65 65 64 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 20 63 6c 6f 63 6b to.the.speed.of.the.system.clock
b19a0 20 73 6f 20 69 74 20 64 6f 65 73 6e 27 74 0a 20 20 20 20 20 20 20 20 20 6e 65 65 64 20 74 6f 20 .so.it.doesn't..........need.to.
b19c0 62 65 20 63 6f 72 72 65 63 74 65 64 20 61 73 20 6f 66 74 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 be.corrected.as.often...........
b19e0 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f <br><br>.The.return.value.is.<CO
b1a00 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 DE>0</CODE>.on.success.and.<CODE
b1a20 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 0a 20 20 20 20 >-1</CODE>.on.failure...The.....
b1a40 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 .....following.<CODE>errno</CODE
b1a60 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 >.error.conditions.are.defined.f
b1a80 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c or.this.function:..........<br><
b1aa0 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 br>.<DL>...........<DT><CODE>EPE
b1ac0 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 70 72 6f RM</CODE>.<DD>..........This.pro
b1ae0 63 65 73 73 20 63 61 6e 6e 6f 74 20 73 65 74 20 74 68 65 20 63 6c 6f 63 6b 20 62 65 63 61 75 73 cess.cannot.set.the.clock.becaus
b1b00 65 20 69 74 20 69 73 20 6e 6f 74 20 70 72 69 76 69 6c 65 67 65 64 2e 0a 20 20 20 20 20 20 20 20 e.it.is.not.privileged..........
b1b20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 .<br><br>.<DT><CODE>ENOSYS</CODE
b1b40 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 >.<DD>..........The.operating.sy
b1b60 73 74 65 6d 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 73 65 74 74 69 6e 67 20 74 69 stem.does.not.support.setting.ti
b1b80 6d 65 20 7a 6f 6e 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 me.zone.information,.and........
b1ba0 20 20 3c 56 41 52 3e 74 7a 70 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 ..<VAR>tzp</VAR>.is.not.a.null.p
b1bc0 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 ointer...........</DL>.........s
b1be0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 74 69 6d 65 2e 68 78 71 00 7e q.~......w.....t..sys/time.hxq.~
b1c00 19 67 74 00 34 63 6f 6e 73 74 20 73 74 72 75 63 74 20 74 69 6d 65 76 61 6c 20 2a 74 70 2c 20 63 .gt.4const.struct.timeval.*tp,.c
b1c20 6f 6e 73 74 20 73 74 72 75 63 74 20 74 69 6d 65 7a 6f 6e 65 20 2a 74 7a 70 74 00 03 69 6e 74 74 onst.struct.timezone.*tzpt..intt
b1c40 00 06 73 65 74 75 69 64 73 71 00 7e 00 0a 70 74 02 90 0a 20 20 20 20 20 20 20 20 49 66 20 74 68 ..setuidsq.~..pt...........If.th
b1c60 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 73 20 70 72 69 76 69 6c 65 67 65 64 2c e.calling.process.is.privileged,
b1c80 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 62 6f 74 68 20 74 68 65 20 72 65 61 .this.function.sets.both.the.rea
b1ca0 6c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 65 66 66 65 63 74 69 76 65 20 75 73 65 72 20 49 44 l..........and.effective.user.ID
b1cc0 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 74 6f 20 3c 56 41 52 3e 6e 65 77 75 69 64 3c 2f .of.the.process.to.<VAR>newuid</
b1ce0 56 41 52 3e 2e 20 20 49 74 20 61 6c 73 6f 20 64 65 6c 65 74 65 73 0a 20 20 20 20 20 20 20 20 20 VAR>...It.also.deletes..........
b1d00 74 68 65 20 66 69 6c 65 20 75 73 65 72 20 49 44 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 2c the.file.user.ID.of.the.process,
b1d20 20 69 66 20 61 6e 79 2e 20 20 3c 56 41 52 3e 6e 65 77 75 69 64 3c 2f 56 41 52 3e 20 6d 61 79 20 .if.any...<VAR>newuid</VAR>.may.
b1d40 62 65 20 61 6e 79 0a 20 20 20 20 20 20 20 20 20 6c 65 67 61 6c 20 76 61 6c 75 65 2e 20 20 28 4f be.any..........legal.value...(O
b1d60 6e 63 65 20 74 68 69 73 20 68 61 73 20 62 65 65 6e 20 64 6f 6e 65 2c 20 74 68 65 72 65 20 69 73 nce.this.has.been.done,.there.is
b1d80 20 6e 6f 20 77 61 79 20 74 6f 20 72 65 63 6f 76 65 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 .no.way.to.recover.the..........
b1da0 6f 6c 64 20 65 66 66 65 63 74 69 76 65 20 75 73 65 72 20 49 44 2e 29 0a 20 20 20 20 20 20 20 20 old.effective.user.ID.).........
b1dc0 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 .<br><br>.If.the.process.is.not.
b1de0 70 72 69 76 69 6c 65 67 65 64 2c 20 61 6e 64 20 74 68 65 20 73 79 73 74 65 6d 20 73 75 70 70 6f privileged,.and.the.system.suppo
b1e00 72 74 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 5f 50 4f 53 49 58 5f 53 41 rts.the..........<CODE>_POSIX_SA
b1e20 56 45 44 5f 49 44 53 3c 2f 43 4f 44 45 3e 20 66 65 61 74 75 72 65 2c 20 74 68 65 6e 20 74 68 69 VED_IDS</CODE>.feature,.then.thi
b1e40 73 20 66 75 6e 63 74 69 6f 6e 20 62 65 68 61 76 65 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 s.function.behaves.like.........
b1e60 20 3c 43 4f 44 45 3e 73 65 74 65 75 69 64 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 .<CODE>seteuid</CODE>...........
b1e80 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 61 6e 64 20 65 <br><br>.The.return.values.and.e
b1ea0 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 rror.conditions.are.the.same.as.
b1ec0 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 65 75 69 64 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 for.<CODE>seteuid</CODE>........
b1ee0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 ..sq.~......w.....t..unistd.hxq.
b1f00 7e 19 6e 74 00 0c 75 69 64 5f 74 20 6e 65 77 75 69 64 74 00 03 69 6e 74 74 00 08 73 65 74 75 74 ~.nt..uid_t.newuidt..intt..setut
b1f20 65 6e 74 73 71 00 7e 00 0a 70 74 01 71 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 entsq.~..pt.q.........This.funct
b1f40 69 6f 6e 20 6f 70 65 6e 73 20 74 68 65 20 75 73 65 72 20 61 63 63 6f 75 6e 74 69 6e 67 20 64 61 ion.opens.the.user.accounting.da
b1f60 74 61 62 61 73 65 20 74 6f 20 62 65 67 69 6e 20 73 63 61 6e 6e 69 6e 67 20 69 74 2e 0a 20 20 20 tabase.to.begin.scanning.it.....
b1f80 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 74 68 65 6e 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 67 65 ......You.can.then.call.<CODE>ge
b1fa0 74 75 74 65 6e 74 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f tutent</CODE>,.<CODE>getutid</CO
b1fc0 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 67 65 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 74 6f DE>.or.<CODE>getutline</CODE>.to
b1fe0 0a 20 20 20 20 20 20 20 20 20 72 65 61 64 20 65 6e 74 72 69 65 73 20 61 6e 64 20 3c 43 4f 44 45 ..........read.entries.and.<CODE
b2000 3e 70 75 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 74 6f 20 77 72 69 74 65 20 65 6e 74 72 69 >pututline</CODE>.to.write.entri
b2020 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 64 61 74 es...........<br><br>.If.the.dat
b2040 61 62 61 73 65 20 69 73 20 61 6c 72 65 61 64 79 20 6f 70 65 6e 2c 20 69 74 20 72 65 73 65 74 73 abase.is.already.open,.it.resets
b2060 20 74 68 65 20 69 6e 70 75 74 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 0a 20 .the.input.to.the.beginning.of..
b2080 20 20 20 20 20 20 20 20 74 68 65 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 20 20 20 73 71 ........the.database..........sq
b20a0 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 74 00 06 75 74 6d 70 2e .~......w.....t..stdio.ht..utmp.
b20c0 68 78 71 00 7e 19 75 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 09 73 65 74 75 74 78 65 6e hxq.~.ut..voidt..voidt..setutxen
b20e0 74 73 71 00 7e 00 0a 70 74 00 91 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f tsq.~..pt...........This.functio
b2100 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 65 74 75 74 65 6e 74 3c 2f n.is.similar.to.<CODE>setutent</
b2120 43 4f 44 45 3e 2e 20 20 4f 6e 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d 20 69 74 20 69 73 0a CODE>...On.the.GNU.system.it.is.
b2140 20 20 20 20 20 20 20 20 20 73 69 6d 70 6c 79 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 20 3c 43 4f .........simply.an.alias.for.<CO
b2160 44 45 3e 73 65 74 75 74 65 6e 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e DE>setutent</CODE>..........sq.~
b2180 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 75 74 6d 70 78 2e 68 78 71 00 7e 19 7d 74 00 04 76 ......w.....t..utmpx.hxq.~.}t..v
b21a0 6f 69 64 74 00 04 76 6f 69 64 74 00 07 73 65 74 76 62 75 66 73 71 00 7e 00 0a 70 74 05 ea 0a 20 oidt..voidt..setvbufsq.~..pt....
b21c0 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 .......This.function.is.used.to.
b21e0 73 70 65 63 69 66 79 20 74 68 61 74 20 74 68 65 20 73 74 72 65 61 6d 20 3c 56 41 52 3e 73 74 72 specify.that.the.stream.<VAR>str
b2200 65 61 6d 3c 2f 56 41 52 3e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 68 61 76 65 20 74 eam</VAR>.should..........have.t
b2220 68 65 20 62 75 66 66 65 72 69 6e 67 20 6d 6f 64 65 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 he.buffering.mode.<VAR>mode</VAR
b2240 3e 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 3c 43 4f 44 45 3e 5f 49 4f >,.which.can.be.either.<CODE>_IO
b2260 46 42 46 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 28 66 6f 72 20 66 75 6c 6c 20 62 75 FBF</CODE>..........(for.full.bu
b2280 66 66 65 72 69 6e 67 29 2c 20 3c 43 4f 44 45 3e 5f 49 4f 4c 42 46 3c 2f 43 4f 44 45 3e 20 28 66 ffering),.<CODE>_IOLBF</CODE>.(f
b22a0 6f 72 20 6c 69 6e 65 20 62 75 66 66 65 72 69 6e 67 29 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 or.line.buffering),.or..........
b22c0 3c 43 4f 44 45 3e 5f 49 4f 4e 42 46 3c 2f 43 4f 44 45 3e 20 28 66 6f 72 20 75 6e 62 75 66 66 65 <CODE>_IONBF</CODE>.(for.unbuffe
b22e0 72 65 64 20 69 6e 70 75 74 2f 6f 75 74 70 75 74 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e red.input/output)...........<br>
b2300 3c 62 72 3e 20 49 66 20 79 6f 75 20 73 70 65 63 69 66 79 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 <br>.If.you.specify.a.null.point
b2320 65 72 20 61 73 20 74 68 65 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e er.as.the.<VAR>buf</VAR>.argumen
b2340 74 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 73 65 74 76 62 75 66 3c 2f 43 4f 44 45 3e 0a 20 20 20 t,.then.<CODE>setvbuf</CODE>....
b2360 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 73 20 61 20 62 75 66 66 65 72 20 69 74 73 65 6c 66 20 ......allocates.a.buffer.itself.
b2380 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 using.<CODE>malloc</CODE>...This
b23a0 20 62 75 66 66 65 72 20 77 69 6c 6c 20 62 65 20 66 72 65 65 64 0a 20 20 20 20 20 20 20 20 20 77 .buffer.will.be.freed..........w
b23c0 68 65 6e 20 79 6f 75 20 63 6c 6f 73 65 20 74 68 65 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 20 hen.you.close.the.stream........
b23e0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 74 68 65 72 77 69 73 65 2c 20 3c 56 41 52 3e 62 75 66 3c ...<br><br>.Otherwise,.<VAR>buf<
b2400 2f 56 41 52 3e 20 73 68 6f 75 6c 64 20 62 65 20 61 20 63 68 61 72 61 63 74 65 72 20 61 72 72 61 /VAR>.should.be.a.character.arra
b2420 79 20 74 68 61 74 20 63 61 6e 20 68 6f 6c 64 20 61 74 20 6c 65 61 73 74 0a 20 20 20 20 20 20 20 y.that.can.hold.at.least........
b2440 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 59 ..<VAR>size</VAR>.characters...Y
b2460 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 66 72 65 65 20 74 68 65 20 73 70 61 63 65 20 66 6f 72 ou.should.not.free.the.space.for
b2480 20 74 68 69 73 20 61 72 72 61 79 20 61 73 0a 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 20 61 73 20 .this.array.as..........long.as.
b24a0 74 68 65 20 73 74 72 65 61 6d 20 72 65 6d 61 69 6e 73 20 6f 70 65 6e 20 61 6e 64 20 74 68 69 73 the.stream.remains.open.and.this
b24c0 20 61 72 72 61 79 20 72 65 6d 61 69 6e 73 20 69 74 73 20 62 75 66 66 65 72 2e 20 20 59 6f 75 0a .array.remains.its.buffer...You.
b24e0 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 75 73 75 61 6c 6c 79 20 65 69 74 68 65 72 20 61 .........should.usually.either.a
b2500 6c 6c 6f 63 61 74 65 20 69 74 20 73 74 61 74 69 63 61 6c 6c 79 2c 20 6f 72 20 3c 43 4f 44 45 3e llocate.it.statically,.or.<CODE>
b2520 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 62 75 66 66 malloc</CODE>...........the.buff
b2540 65 72 2e 20 20 55 73 69 6e 67 20 61 6e 20 61 75 74 6f 6d 61 74 69 63 20 61 72 72 61 79 0a 20 20 er...Using.an.automatic.array...
b2560 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 61 20 67 6f 6f 64 20 69 64 65 61 20 75 6e 6c 65 73 73 .......is.not.a.good.idea.unless
b2580 20 79 6f 75 20 63 6c 6f 73 65 20 74 68 65 20 66 69 6c 65 20 62 65 66 6f 72 65 20 65 78 69 74 69 .you.close.the.file.before.exiti
b25a0 6e 67 20 74 68 65 20 62 6c 6f 63 6b 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 64 65 63 6c 61 ng.the.block..........that.decla
b25c0 72 65 73 20 74 68 65 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e res.the.array...........<br><br>
b25e0 20 57 68 69 6c 65 20 74 68 65 20 61 72 72 61 79 20 72 65 6d 61 69 6e 73 20 61 20 73 74 72 65 61 .While.the.array.remains.a.strea
b2600 6d 20 62 75 66 66 65 72 2c 20 74 68 65 20 73 74 72 65 61 6d 20 49 2f 4f 20 66 75 6e 63 74 69 6f m.buffer,.the.stream.I/O.functio
b2620 6e 73 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 75 73 65 20 74 68 65 20 62 75 66 66 65 72 20 ns.will..........use.the.buffer.
b2640 66 6f 72 20 74 68 65 69 72 20 69 6e 74 65 72 6e 61 6c 20 70 75 72 70 6f 73 65 73 2e 20 20 59 6f for.their.internal.purposes...Yo
b2660 75 20 73 68 6f 75 6c 64 6e 27 74 20 74 72 79 20 74 6f 20 61 63 63 65 73 73 0a 20 20 20 20 20 20 u.shouldn't.try.to.access.......
b2680 20 20 20 74 68 65 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 64 69 72 65 63 ...the.values.in.the.array.direc
b26a0 74 6c 79 20 77 68 69 6c 65 20 74 68 65 20 73 74 72 65 61 6d 20 69 73 20 75 73 69 6e 67 20 69 74 tly.while.the.stream.is.using.it
b26c0 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 .for..........buffering.........
b26e0 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 65 74 76 62 75 66 3c 2f 43 4f ..<br><br>.The.<CODE>setvbuf</CO
b2700 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 20 6f 6e 20 73 75 63 DE>.function.returns.zero.on.suc
b2720 63 65 73 73 2c 20 6f 72 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 cess,.or.a.nonzero.value........
b2740 20 20 69 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 6d 6f 64 65 3c 2f 56 41 52 ..if.the.value.of.<VAR>mode</VAR
b2760 3e 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 20 6f 72 20 69 66 20 74 68 65 20 72 65 71 75 65 73 74 >.is.not.valid.or.if.the.request
b2780 20 63 6f 75 6c 64 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 62 65 20 68 6f 6e 6f 72 65 64 2e 0a .could.not..........be.honored..
b27a0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f ........sq.~......w.....t..stdio
b27c0 2e 68 78 71 00 7e 19 84 74 00 2e 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 68 61 72 20 2a 62 .hxq.~..t..FILE.*stream,.char.*b
b27e0 75 66 2c 20 69 6e 74 20 6d 6f 64 65 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 03 69 6e 74 74 uf,.int.mode,.size_t.sizet..intt
b2800 00 08 73 68 75 74 64 6f 77 6e 73 71 00 7e 00 0a 70 74 04 ab 0a 20 20 20 20 20 20 20 20 54 68 65 ..shutdownsq.~..pt...........The
b2820 20 3c 43 4f 44 45 3e 73 68 75 74 64 6f 77 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 .<CODE>shutdown</CODE>.function.
b2840 73 68 75 74 73 20 64 6f 77 6e 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 66 20 73 6f 63 shuts.down.the.connection.of.soc
b2860 6b 65 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 2e 20 ket..........<VAR>socket</VAR>..
b2880 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 68 6f 77 3c 2f 56 41 52 3e 20 73 70 65 .The.argument.<VAR>how</VAR>.spe
b28a0 63 69 66 69 65 73 20 77 68 61 74 20 61 63 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 70 cifies.what.action.to..........p
b28c0 65 72 66 6f 72 6d 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a erform:..........<br><br>.<DL>..
b28e0 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e .........<DT><CODE>0</CODE>.<DD>
b2900 0a 20 20 20 20 20 20 20 20 20 53 74 6f 70 20 72 65 63 65 69 76 69 6e 67 20 64 61 74 61 20 66 6f ..........Stop.receiving.data.fo
b2920 72 20 74 68 69 73 20 73 6f 63 6b 65 74 2e 20 20 49 66 20 66 75 72 74 68 65 72 20 64 61 74 61 20 r.this.socket...If.further.data.
b2940 61 72 72 69 76 65 73 2c 0a 20 20 20 20 20 20 20 20 20 72 65 6a 65 63 74 20 69 74 2e 0a 20 20 20 arrives,..........reject.it.....
b2960 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 ......<br><br>.<DT><CODE>1</CODE
b2980 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 74 6f 70 20 74 72 79 69 6e 67 20 74 6f 20 74 >.<DD>..........Stop.trying.to.t
b29a0 72 61 6e 73 6d 69 74 20 64 61 74 61 20 66 72 6f 6d 20 74 68 69 73 20 73 6f 63 6b 65 74 2e 20 20 ransmit.data.from.this.socket...
b29c0 44 69 73 63 61 72 64 20 61 6e 79 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 77 61 69 74 69 6e Discard.any.data..........waitin
b29e0 67 20 74 6f 20 62 65 20 73 65 6e 74 2e 20 20 53 74 6f 70 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 g.to.be.sent...Stop.looking.for.
b2a00 61 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 20 6f 66 20 64 61 74 61 20 61 6c 72 65 61 64 79 0a acknowledgement.of.data.already.
b2a20 20 20 20 20 20 20 20 20 20 73 65 6e 74 3b 20 64 6f 6e 27 74 20 72 65 74 72 61 6e 73 6d 69 74 20 .........sent;.don't.retransmit.
b2a40 69 74 20 69 66 20 69 74 20 69 73 20 6c 6f 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c it.if.it.is.lost...........<br><
b2a60 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 32 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 br>.<DT><CODE>2</CODE>.<DD>.....
b2a80 20 20 20 20 20 53 74 6f 70 20 62 6f 74 68 20 72 65 63 65 70 74 69 6f 6e 20 61 6e 64 20 74 72 61 .....Stop.both.reception.and.tra
b2aa0 6e 73 6d 69 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 nsmission...........</DL>.......
b2ac0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 ...<br><br>.The.return.value.is.
b2ae0 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 <CODE>0</CODE>.on.success.and.<C
b2b00 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 0a 20 ODE>-1</CODE>.on.failure...The..
b2b20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 ........following.<CODE>errno</C
b2b40 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 ODE>.error.conditions.are.define
b2b60 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 d.for.this.function:..........<b
b2b80 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e r><br>.<DL>...........<DT><CODE>
b2ba0 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e EBADF</CODE>.<DD>..........<VAR>
b2bc0 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 socket</VAR>.is.not.a.valid.file
b2be0 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c .descriptor...........<br><br>.<
b2c00 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 53 4f 43 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 DT><CODE>ENOTSOCK</CODE>.<DD>...
b2c20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 .......<VAR>socket</VAR>.is.not.
b2c40 61 20 73 6f 63 6b 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e a.socket...........<br><br>.<DT>
b2c60 3c 43 4f 44 45 3e 45 4e 4f 54 43 4f 4e 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 <CODE>ENOTCONN</CODE>.<DD>......
b2c80 20 20 20 20 3c 56 41 52 3e 73 6f 63 6b 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 63 6f 6e ....<VAR>socket</VAR>.is.not.con
b2ca0 6e 65 63 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 nected...........</DL>.........s
b2cc0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 q.~......w.....t..sys/socket.hxq
b2ce0 00 7e 19 8b 74 00 13 69 6e 74 20 73 6f 63 6b 65 74 2c 20 69 6e 74 20 68 6f 77 74 00 03 69 6e 74 .~..t..int.socket,.int.howt..int
b2d00 74 00 09 73 69 67 61 63 74 69 6f 6e 73 71 00 7e 00 0a 70 74 05 85 0a 20 20 20 20 20 20 20 20 54 t..sigactionsq.~..pt...........T
b2d20 68 65 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 he.<VAR>action</VAR>.argument.is
b2d40 20 75 73 65 64 20 74 6f 20 73 65 74 20 75 70 20 61 20 6e 65 77 20 61 63 74 69 6f 6e 20 66 6f 72 .used.to.set.up.a.new.action.for
b2d60 20 74 68 65 20 73 69 67 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 67 6e 75 6d .the.signal..........<VAR>signum
b2d80 3c 2f 56 41 52 3e 2c 20 77 68 69 6c 65 20 74 68 65 20 3c 56 41 52 3e 6f 6c 64 2d 61 63 74 69 6f </VAR>,.while.the.<VAR>old-actio
b2da0 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 74 75 n</VAR>.argument.is.used.to.retu
b2dc0 72 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 rn..........information.about.th
b2de0 65 20 61 63 74 69 6f 6e 20 70 72 65 76 69 6f 75 73 6c 79 20 61 73 73 6f 63 69 61 74 65 64 20 77 e.action.previously.associated.w
b2e00 69 74 68 20 74 68 69 73 20 73 79 6d 62 6f 6c 2e 0a 20 20 20 20 20 20 20 20 20 28 49 6e 20 6f 74 ith.this.symbol...........(In.ot
b2e20 68 65 72 20 77 6f 72 64 73 2c 20 3c 56 41 52 3e 6f 6c 64 2d 61 63 74 69 6f 6e 3c 2f 56 41 52 3e her.words,.<VAR>old-action</VAR>
b2e40 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 70 75 72 70 6f 73 65 20 61 73 20 74 68 65 0a 20 20 20 .has.the.same.purpose.as.the....
b2e60 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 ......<CODE>signal</CODE>.functi
b2e80 6f 6e 27 73 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2d 2d 2d 79 6f 75 20 63 61 6e 20 63 68 65 63 on's.return.value---you.can.chec
b2ea0 6b 20 74 6f 20 73 65 65 20 77 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6f 6c 64 20 61 k.to.see.what.the..........old.a
b2ec0 63 74 69 6f 6e 20 69 6e 20 65 66 66 65 63 74 20 66 6f 72 20 74 68 65 20 73 69 67 6e 61 6c 20 77 ction.in.effect.for.the.signal.w
b2ee0 61 73 2c 20 61 6e 64 20 72 65 73 74 6f 72 65 20 69 74 20 6c 61 74 65 72 20 69 66 20 79 6f 75 0a as,.and.restore.it.later.if.you.
b2f00 20 20 20 20 20 20 20 20 20 77 61 6e 74 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .........want.)..........<br><br
b2f20 3e 20 45 69 74 68 65 72 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 6f 72 20 3c 56 >.Either.<VAR>action</VAR>.or.<V
b2f40 41 52 3e 6f 6c 64 2d 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 63 61 6e 20 62 65 20 61 20 6e 75 6c AR>old-action</VAR>.can.be.a.nul
b2f60 6c 20 70 6f 69 6e 74 65 72 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6f 6c 64 l.pointer...If..........<VAR>old
b2f80 2d 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c -action</VAR>.is.a.null.pointer,
b2fa0 20 74 68 69 73 20 73 69 6d 70 6c 79 20 73 75 70 70 72 65 73 73 65 73 20 74 68 65 20 72 65 74 75 .this.simply.suppresses.the.retu
b2fc0 72 6e 0a 20 20 20 20 20 20 20 20 20 6f 66 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 rn..........of.information.about
b2fe0 20 74 68 65 20 6f 6c 64 20 61 63 74 69 6f 6e 2e 20 20 49 66 20 3c 56 41 52 3e 61 63 74 69 6f 6e .the.old.action...If.<VAR>action
b3000 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 </VAR>.is.a.null.pointer,.......
b3020 20 20 20 74 68 65 20 61 63 74 69 6f 6e 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 ...the.action.associated.with.th
b3040 65 20 73 69 67 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 69 73 20 75 6e e.signal.<VAR>signum</VAR>.is.un
b3060 63 68 61 6e 67 65 64 3b 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 79 6f changed;.this..........allows.yo
b3080 75 20 74 6f 20 69 6e 71 75 69 72 65 20 61 62 6f 75 74 20 68 6f 77 20 61 20 73 69 67 6e 61 6c 20 u.to.inquire.about.how.a.signal.
b30a0 69 73 20 62 65 69 6e 67 20 68 61 6e 64 6c 65 64 20 77 69 74 68 6f 75 74 20 63 68 61 6e 67 69 6e is.being.handled.without.changin
b30c0 67 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 68 61 6e 64 6c 69 6e 67 2e 0a 20 20 20 20 20 20 g..........that.handling........
b30e0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f ...<br><br>.The.return.value.fro
b3100 6d 20 3c 43 4f 44 45 3e 73 69 67 61 63 74 69 6f 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 7a 65 72 6f m.<CODE>sigaction</CODE>.is.zero
b3120 20 69 66 20 69 74 20 73 75 63 63 65 65 64 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 .if.it.succeeds,.and..........<C
b3140 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 54 68 65 20 66 ODE>-1</CODE>.on.failure...The.f
b3160 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f ollowing.<CODE>errno</CODE>.erro
b3180 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 r.conditions.are..........define
b31a0 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 d.for.this.function:..........<b
b31c0 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e r><br>.<DL>...........<DT><CODE>
b31e0 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 EINVAL</CODE>.<DD>..........The.
b3200 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f <VAR>signum</VAR>.argument.is.no
b3220 74 20 76 61 6c 69 64 2c 20 6f 72 20 79 6f 75 20 61 72 65 20 74 72 79 69 6e 67 20 74 6f 0a 20 20 t.valid,.or.you.are.trying.to...
b3240 20 20 20 20 20 20 20 74 72 61 70 20 6f 72 20 69 67 6e 6f 72 65 20 3c 43 4f 44 45 3e 53 49 47 4b .......trap.or.ignore.<CODE>SIGK
b3260 49 4c 4c 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 53 49 47 53 54 4f 50 3c 2f 43 4f 44 ILL</CODE>.or.<CODE>SIGSTOP</COD
b3280 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 E>...........</DL>.........sq.~.
b32a0 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 19 92 74 00 5a 69 .....w.....t..signal.hxq.~..t.Zi
b32c0 6e 74 20 73 69 67 6e 75 6d 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 73 69 67 61 63 74 69 6f nt.signum,.const.struct.sigactio
b32e0 6e 20 2a 72 65 73 74 72 69 63 74 20 61 63 74 69 6f 6e 2c 20 73 74 72 75 63 74 20 73 69 67 61 63 n.*restrict.action,.struct.sigac
b3300 74 69 6f 6e 20 2a 72 65 73 74 72 69 63 74 20 6f 6c 64 2d 61 63 74 69 6f 6e 74 00 03 69 6e 74 74 tion.*restrict.old-actiont..intt
b3320 00 09 73 69 67 61 64 64 73 65 74 73 71 00 7e 00 0a 70 74 02 26 0a 20 20 20 20 20 20 20 20 54 68 ..sigaddsetsq.~..pt.&.........Th
b3340 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 73 20 74 68 65 20 73 69 67 6e 61 6c 20 3c 56 41 52 is.function.adds.the.signal.<VAR
b3360 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 73 69 67 6e 61 6c 20 73 65 74 20 >signum</VAR>.to.the.signal.set.
b3380 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 41 6c 6c 20 3c 43 4f <VAR>set</VAR>...........All.<CO
b33a0 44 45 3e 73 69 67 61 64 64 73 65 74 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 69 73 20 6d 6f 64 69 DE>sigaddset</CODE>.does.is.modi
b33c0 66 79 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 3b 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 62 fy.<VAR>set</VAR>;.it.does.not.b
b33e0 6c 6f 63 6b 20 6f 72 0a 20 20 20 20 20 20 20 20 20 75 6e 62 6c 6f 63 6b 20 61 6e 79 20 73 69 67 lock.or..........unblock.any.sig
b3400 6e 61 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 nals...........<br><br>.The.retu
b3420 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 rn.value.is.<CODE>0</CODE>.on.su
b3440 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 ccess.and.<CODE>-1</CODE>.on.fai
b3460 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f lure...........The.following.<CO
b3480 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 20 DE>errno</CODE>.error.condition.
b34a0 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 is.defined.for.this.function:...
b34c0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c .......<br><br>.<DL>...........<
b34e0 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>EINVAL</CODE>.<DD>.....
b3500 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d .....The.<VAR>signum</VAR>.argum
b3520 65 6e 74 20 64 6f 65 73 6e 27 74 20 73 70 65 63 69 66 79 20 61 20 76 61 6c 69 64 20 73 69 67 6e ent.doesn't.specify.a.valid.sign
b3540 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 al...........</DL>.........sq.~.
b3560 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 19 99 74 00 19 73 .....w.....t..signal.hxq.~..t..s
b3580 69 67 73 65 74 5f 74 20 2a 73 65 74 2c 20 69 6e 74 20 73 69 67 6e 75 6d 74 00 03 69 6e 74 74 00 igset_t.*set,.int.signumt..intt.
b35a0 0b 73 69 67 61 6c 74 73 74 61 63 6b 73 71 00 7e 00 0a 70 74 04 92 0a 20 20 20 20 20 20 20 20 54 .sigaltstacksq.~..pt...........T
b35c0 68 65 20 3c 43 4f 44 45 3e 73 69 67 61 6c 74 73 74 61 63 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 he.<CODE>sigaltstack</CODE>.func
b35e0 74 69 6f 6e 20 73 70 65 63 69 66 69 65 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 65 20 73 74 61 63 tion.specifies.an.alternate.stac
b3600 6b 20 66 6f 72 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 64 75 72 69 6e 67 20 73 69 67 6e 61 6c k.for.use..........during.signal
b3620 20 68 61 6e 64 6c 69 6e 67 2e 20 20 57 68 65 6e 20 61 20 73 69 67 6e 61 6c 20 69 73 20 72 65 63 .handling...When.a.signal.is.rec
b3640 65 69 76 65 64 20 62 79 20 74 68 65 20 70 72 6f 63 65 73 73 20 61 6e 64 0a 20 20 20 20 20 20 20 eived.by.the.process.and........
b3660 20 20 69 74 73 20 61 63 74 69 6f 6e 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20 74 68 65 20 ..its.action.indicates.that.the.
b3680 73 69 67 6e 61 6c 20 73 74 61 63 6b 20 69 73 20 75 73 65 64 2c 20 74 68 65 20 73 79 73 74 65 6d signal.stack.is.used,.the.system
b36a0 20 61 72 72 61 6e 67 65 73 0a 20 20 20 20 20 20 20 20 20 61 20 73 77 69 74 63 68 20 74 6f 20 74 .arranges..........a.switch.to.t
b36c0 68 65 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 73 69 67 6e 61 6c 20 73 74 he.currently.installed.signal.st
b36e0 61 63 6b 20 77 68 69 6c 65 20 74 68 65 20 68 61 6e 64 6c 65 72 20 66 6f 72 0a 20 20 20 20 20 20 ack.while.the.handler.for.......
b3700 20 20 20 74 68 61 74 20 73 69 67 6e 61 6c 20 69 73 20 65 78 65 63 75 74 65 64 2e 0a 20 20 20 20 ...that.signal.is.executed......
b3720 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 6f 6c 64 73 74 61 63 6b 3c 2f .....<br><br>.If.<VAR>oldstack</
b3740 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 69 6e 66 6f VAR>.is.not.a.null.pointer,.info
b3760 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 0a 20 20 20 20 rmation.about.the.currently.....
b3780 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 20 73 69 67 6e 61 6c 20 73 74 61 63 6b 20 69 73 20 72 .....installed.signal.stack.is.r
b37a0 65 74 75 72 6e 65 64 20 69 6e 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 69 74 20 70 6f 69 6e 74 eturned.in.the.location.it.point
b37c0 73 20 74 6f 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 61 63 6b 3c 2f 56 s.to...If..........<VAR>stack</V
b37e0 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 6e 20 AR>.is.not.a.null.pointer,.then.
b3800 74 68 69 73 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 73 20 74 68 65 20 6e 65 77 0a 20 20 20 this.is.installed.as.the.new....
b3820 20 20 20 20 20 20 73 74 61 63 6b 20 66 6f 72 20 75 73 65 20 62 79 20 73 69 67 6e 61 6c 20 68 61 ......stack.for.use.by.signal.ha
b3840 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 ndlers...........<br><br>.The.re
b3860 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 turn.value.is.<CODE>0</CODE>.on.
b3880 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 success.and.<CODE>-1</CODE>.on.f
b38a0 61 69 6c 75 72 65 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 69 67 61 6c ailure...If..........<CODE>sigal
b38c0 74 73 74 61 63 6b 3c 2f 43 4f 44 45 3e 20 66 61 69 6c 73 2c 20 69 74 20 73 65 74 73 20 3c 43 4f tstack</CODE>.fails,.it.sets.<CO
b38e0 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 DE>errno</CODE>.to.one.of.these.
b3900 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a values:..........<br><br>.<DL>..
b3920 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e .........<DT><CODE>EINVAL</CODE>
b3940 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 74 72 69 65 64 20 74 6f 20 64 69 73 61 .<DD>..........You.tried.to.disa
b3960 62 6c 65 20 61 20 73 74 61 63 6b 20 74 68 61 74 20 77 61 73 20 69 6e 20 66 61 63 74 20 63 75 72 ble.a.stack.that.was.in.fact.cur
b3980 72 65 6e 74 6c 79 20 69 6e 20 75 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e rently.in.use...........<br><br>
b39a0 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 4d 45 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 .<DT><CODE>ENOMEM</CODE>.<DD>...
b39c0 20 20 20 20 20 20 20 54 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 61 6c 74 65 72 6e 61 74 65 .......The.size.of.the.alternate
b39e0 20 73 74 61 63 6b 20 77 61 73 20 74 6f 6f 20 73 6d 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 49 .stack.was.too.small...........I
b3a00 74 20 6d 75 73 74 20 62 65 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 3c 43 4f 44 45 3e 4d 49 4e t.must.be.greater.than.<CODE>MIN
b3a20 53 49 47 53 54 4b 53 5a 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a SIGSTKSZ</CODE>...........</DL>.
b3a40 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 ........sq.~......w.....t..signa
b3a60 6c 2e 68 78 71 00 7e 19 a0 74 00 39 63 6f 6e 73 74 20 73 74 61 63 6b 5f 74 20 2a 72 65 73 74 72 l.hxq.~..t.9const.stack_t.*restr
b3a80 69 63 74 20 73 74 61 63 6b 2c 20 73 74 61 63 6b 5f 74 20 2a 72 65 73 74 72 69 63 74 20 6f 6c 64 ict.stack,.stack_t.*restrict.old
b3aa0 73 74 61 63 6b 74 00 03 69 6e 74 74 00 08 73 69 67 62 6c 6f 63 6b 73 71 00 7e 00 0a 70 74 01 32 stackt..intt..sigblocksq.~..pt.2
b3ac0 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 .........This.function.is.equiva
b3ae0 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 73 69 67 70 72 6f 63 6d 61 73 6b 3c 2f 43 4f 44 45 3e lent.to.<CODE>sigprocmask</CODE>
b3b00 20 20 77 69 74 68 20 61 20 3c 56 41 52 3e 68 6f 77 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 ..with.a.<VAR>how</VAR>.argument
b3b20 20 6f 66 20 3c 43 4f 44 45 3e 53 49 47 5f 42 4c 4f 43 4b 3c 2f 43 4f 44 45 3e 3a 20 69 74 20 61 .of.<CODE>SIG_BLOCK</CODE>:.it.a
b3b40 64 64 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 61 6c 73 20 73 70 65 63 69 66 69 dds.the..........signals.specifi
b3b60 65 64 20 62 79 20 3c 56 41 52 3e 6d 61 73 6b 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 63 61 6c ed.by.<VAR>mask</VAR>.to.the.cal
b3b80 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 73 20 73 65 74 20 6f 66 20 62 6c 6f 63 6b 65 64 0a 20 20 ling.process's.set.of.blocked...
b3ba0 20 20 20 20 20 20 20 73 69 67 6e 61 6c 73 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 .......signals...The.return.valu
b3bc0 65 20 69 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 65 74 20 6f 66 20 62 6c 6f 63 6b 65 64 e.is.the.previous.set.of.blocked
b3be0 20 73 69 67 6e 61 6c 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 .signals..........sq.~......w...
b3c00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 19 a7 74 00 08 69 6e 74 20 6d 61 73 6b 74 00 ..t..signal.hxq.~..t..int.maskt.
b3c20 03 69 6e 74 74 00 09 73 69 67 64 65 6c 73 65 74 73 71 00 7e 00 0a 70 74 01 3b 0a 20 20 20 20 20 .intt..sigdelsetsq.~..pt.;......
b3c40 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 73 20 74 68 65 20 73 69 67 ...This.function.removes.the.sig
b3c60 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 66 72 6f 6d 20 74 68 65 20 73 nal.<VAR>signum</VAR>.from.the.s
b3c80 69 67 6e 61 6c 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 ignal.set..........<VAR>set</VAR
b3ca0 3e 2e 20 20 41 6c 6c 20 3c 43 4f 44 45 3e 73 69 67 64 65 6c 73 65 74 3c 2f 43 4f 44 45 3e 20 64 >...All.<CODE>sigdelset</CODE>.d
b3cc0 6f 65 73 20 69 73 20 6d 6f 64 69 66 79 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 3b 20 69 74 oes.is.modify.<VAR>set</VAR>;.it
b3ce0 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 20 6f 72 20 75 6e 62 6c .does.not..........block.or.unbl
b3d00 6f 63 6b 20 61 6e 79 20 73 69 67 6e 61 6c 73 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c ock.any.signals...The.return.val
b3d20 75 65 20 61 6e 64 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 ue.and.error.conditions.are.....
b3d40 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 73 69 67 61 64 .....the.same.as.for.<CODE>sigad
b3d60 64 73 65 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 dset</CODE>..........sq.~......w
b3d80 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 19 ae 74 00 19 73 69 67 73 65 74 5f .....t..signal.hxq.~..t..sigset_
b3da0 74 20 2a 73 65 74 2c 20 69 6e 74 20 73 69 67 6e 75 6d 74 00 03 69 6e 74 74 00 0b 73 69 67 65 6d t.*set,.int.signumt..intt..sigem
b3dc0 70 74 79 73 65 74 73 71 00 7e 00 0a 70 74 00 9c 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 ptysetsq.~..pt...........This.fu
b3de0 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 73 69 67 6e 61 6c 20 73 65 nction.initializes.the.signal.se
b3e00 74 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 20 74 6f 20 65 78 63 6c 75 64 65 20 61 6c 6c 20 t.<VAR>set</VAR>.to.exclude.all.
b3e20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 73 69 67 6e 61 6c 73 2e of.the..........defined.signals.
b3e40 20 20 49 74 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 ..It.always.returns.<CODE>0</COD
b3e60 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 E>..........sq.~......w.....t..s
b3e80 69 67 6e 61 6c 2e 68 78 71 00 7e 19 b5 74 00 0d 73 69 67 73 65 74 5f 74 20 2a 73 65 74 74 00 03 ignal.hxq.~..t..sigset_t.*sett..
b3ea0 69 6e 74 74 00 0a 73 69 67 66 69 6c 6c 73 65 74 73 71 00 7e 00 0a 70 74 00 a5 0a 20 20 20 20 20 intt..sigfillsetsq.~..pt........
b3ec0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 ...This.function.initializes.the
b3ee0 20 73 69 67 6e 61 6c 20 73 65 74 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 20 74 6f 20 69 6e .signal.set.<VAR>set</VAR>.to.in
b3f00 63 6c 75 64 65 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 20 6f 66 20 74 68 65 20 64 65 66 69 6e 65 clude..........all.of.the.define
b3f20 64 20 73 69 67 6e 61 6c 73 2e 20 20 41 67 61 69 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 d.signals...Again,.the.return.va
b3f40 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 lue.is.<CODE>0</CODE>..........s
b3f60 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 19 bc q.~......w.....t..signal.hxq.~..
b3f80 74 00 0d 73 69 67 73 65 74 5f 74 20 2a 73 65 74 74 00 03 69 6e 74 74 00 0c 73 69 67 69 6e 74 65 t..sigset_t.*sett..intt..siginte
b3fa0 72 72 75 70 74 73 71 00 7e 00 0a 70 74 01 84 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e rruptsq.~..pt...........This.fun
b3fc0 63 74 69 6f 6e 20 73 70 65 63 69 66 69 65 73 20 77 68 69 63 68 20 61 70 70 72 6f 61 63 68 20 74 ction.specifies.which.approach.t
b3fe0 6f 20 75 73 65 20 77 68 65 6e 20 63 65 72 74 61 69 6e 20 70 72 69 6d 69 74 69 76 65 73 0a 20 20 o.use.when.certain.primitives...
b4000 20 20 20 20 20 20 20 61 72 65 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 20 68 61 6e 64 6c 69 .......are.interrupted.by.handli
b4020 6e 67 20 73 69 67 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 2e 20 20 49 66 ng.signal.<VAR>signum</VAR>...If
b4040 20 3c 56 41 52 3e 66 61 69 6c 66 6c 61 67 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 .<VAR>failflag</VAR>.is.........
b4060 20 66 61 6c 73 65 2c 20 73 69 67 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e .false,.signal.<VAR>signum</VAR>
b4080 20 72 65 73 74 61 72 74 73 20 70 72 69 6d 69 74 69 76 65 73 2e 20 20 49 66 20 3c 56 41 52 3e 66 .restarts.primitives...If.<VAR>f
b40a0 61 69 6c 66 6c 61 67 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 74 72 75 65 2c 20 ailflag</VAR>.is..........true,.
b40c0 68 61 6e 64 6c 69 6e 67 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 63 61 75 73 65 handling.<VAR>signum</VAR>.cause
b40e0 73 20 74 68 65 73 65 20 70 72 69 6d 69 74 69 76 65 73 20 74 6f 20 66 61 69 6c 20 77 69 74 68 20 s.these.primitives.to.fail.with.
b4100 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 64 65 20 3c 43 4f 44 45 3e 45 49 4e 54 52 3c error..........code.<CODE>EINTR<
b4120 2f 43 4f 44 45 3e 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 /CODE>.............sq.~......w..
b4140 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 19 c3 74 00 18 69 6e 74 20 73 69 67 6e 75 ...t..signal.hxq.~..t..int.signu
b4160 6d 2c 20 69 6e 74 20 66 61 69 6c 66 6c 61 67 74 00 03 69 6e 74 74 00 0b 73 69 67 69 73 6d 65 6d m,.int.failflagt..intt..sigismem
b4180 62 65 72 73 71 00 7e 00 0a 70 74 02 11 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e bersq.~..pt...........The.<CODE>
b41a0 73 69 67 69 73 6d 65 6d 62 65 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 sigismember</CODE>.function.test
b41c0 73 20 77 68 65 74 68 65 72 20 74 68 65 20 73 69 67 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e 75 6d s.whether.the.signal.<VAR>signum
b41e0 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 </VAR>.is..........a.member.of.t
b4200 68 65 20 73 69 67 6e 61 6c 20 73 65 74 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 2e 20 20 49 he.signal.set.<VAR>set</VAR>...I
b4220 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 20 t.returns.<CODE>1</CODE>.if.the.
b4240 73 69 67 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 69 73 20 69 6e 20 74 68 65 20 73 65 74 2c 20 3c signal..........is.in.the.set,.<
b4260 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 6e 6f 74 2c 20 61 6e 64 20 3c 43 4f 44 45 3e CODE>0</CODE>.if.not,.and.<CODE>
b4280 2d 31 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 72 72 6f 72 2e 0a -1</CODE>.if.there.is.an.error..
b42a0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 .........<br><br>.The.following.
b42c0 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 <CODE>errno</CODE>.error.conditi
b42e0 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a on.is.defined.for.this.function:
b4300 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 ..........<br><br>.<DL>.........
b4320 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ..<DT><CODE>EINVAL</CODE>.<DD>..
b4340 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 20 61 72 ........The.<VAR>signum</VAR>.ar
b4360 67 75 6d 65 6e 74 20 64 6f 65 73 6e 27 74 20 73 70 65 63 69 66 79 20 61 20 76 61 6c 69 64 20 73 gument.doesn't.specify.a.valid.s
b4380 69 67 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 ignal...........</DL>.........sq
b43a0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 19 ca 74 .~......w.....t..signal.hxq.~..t
b43c0 00 1f 63 6f 6e 73 74 20 73 69 67 73 65 74 5f 74 20 2a 73 65 74 2c 20 69 6e 74 20 73 69 67 6e 75 ..const.sigset_t.*set,.int.signu
b43e0 6d 74 00 03 69 6e 74 74 00 0a 73 69 67 6c 6f 6e 67 6a 6d 70 73 71 00 7e 00 0a 70 74 01 38 0a 20 mt..intt..siglongjmpsq.~..pt.8..
b4400 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e .......This.is.similar.to.<CODE>
b4420 6c 6f 6e 67 6a 6d 70 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 74 79 longjmp</CODE>.except.for.the.ty
b4440 70 65 20 6f 66 20 69 74 73 20 3c 56 41 52 3e 73 74 61 74 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 pe.of.its.<VAR>state</VAR>......
b4460 20 20 20 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 69 67 73 ....argument...If.the.<CODE>sigs
b4480 65 74 6a 6d 70 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 74 68 61 74 20 73 65 74 20 74 68 69 73 20 etjmp</CODE>.call.that.set.this.
b44a0 3c 56 41 52 3e 73 74 61 74 65 3c 2f 56 41 52 3e 20 75 73 65 64 20 61 0a 20 20 20 20 20 20 20 20 <VAR>state</VAR>.used.a.........
b44c0 20 6e 6f 6e 7a 65 72 6f 20 3c 56 41 52 3e 73 61 76 65 73 69 67 73 3c 2f 56 41 52 3e 20 66 6c 61 .nonzero.<VAR>savesigs</VAR>.fla
b44e0 67 2c 20 3c 43 4f 44 45 3e 73 69 67 6c 6f 6e 67 6a 6d 70 3c 2f 43 4f 44 45 3e 20 61 6c 73 6f 20 g,.<CODE>siglongjmp</CODE>.also.
b4500 72 65 73 74 6f 72 65 73 20 74 68 65 20 73 65 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 62 6c 6f restores.the.set.of..........blo
b4520 63 6b 65 64 20 73 69 67 6e 61 6c 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 cked.signals..........sq.~......
b4540 77 04 00 00 00 0a 74 00 08 73 65 74 6a 6d 70 2e 68 78 71 00 7e 19 d1 74 00 1b 73 69 67 6a 6d 70 w.....t..setjmp.hxq.~..t..sigjmp
b4560 5f 62 75 66 20 73 74 61 74 65 2c 20 69 6e 74 20 76 61 6c 75 65 74 00 04 76 6f 69 64 74 00 06 73 _buf.state,.int.valuet..voidt..s
b4580 69 67 6e 61 6c 73 71 00 7e 00 0a 70 74 0d 11 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 ignalsq.~..pt...........The.<COD
b45a0 45 3e 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 65 73 74 61 62 6c 69 E>signal</CODE>.function.establi
b45c0 73 68 65 73 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 61 73 20 74 68 65 20 61 63 shes.<VAR>action</VAR>.as.the.ac
b45e0 74 69 6f 6e 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 69 67 6e 61 6c 20 3c 56 41 tion.for..........the.signal.<VA
b4600 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 R>signum</VAR>...........<br><br
b4620 3e 20 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 2c 20 3c 56 41 52 3e 73 69 67 6e 75 >.The.first.argument,.<VAR>signu
b4640 6d 3c 2f 56 41 52 3e 2c 20 69 64 65 6e 74 69 66 69 65 73 20 74 68 65 20 73 69 67 6e 61 6c 20 77 m</VAR>,.identifies.the.signal.w
b4660 68 6f 73 65 20 62 65 68 61 76 69 6f 72 0a 20 20 20 20 20 20 20 20 20 79 6f 75 20 77 61 6e 74 20 hose.behavior..........you.want.
b4680 74 6f 20 63 6f 6e 74 72 6f 6c 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 69 67 6e to.control,.and.should.be.a.sign
b46a0 61 6c 20 6e 75 6d 62 65 72 2e 20 20 54 68 65 20 70 72 6f 70 65 72 20 77 61 79 20 74 6f 0a 20 20 al.number...The.proper.way.to...
b46c0 20 20 20 20 20 20 20 73 70 65 63 69 66 79 20 61 20 73 69 67 6e 61 6c 20 6e 75 6d 62 65 72 20 69 .......specify.a.signal.number.i
b46e0 73 20 77 69 74 68 20 6f 6e 65 20 6f 66 20 74 68 65 20 73 79 6d 62 6f 6c 69 63 20 73 69 67 6e 61 s.with.one.of.the.symbolic.signa
b4700 6c 20 6e 61 6d 65 73 0a 20 20 20 20 20 20 20 20 20 2d 2d 2d 64 6f 6e 27 74 20 75 73 65 20 61 6e l.names..........---don't.use.an
b4720 20 65 78 70 6c 69 63 69 74 20 6e 75 6d 62 65 72 2c 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 .explicit.number,.because.......
b4740 20 20 20 74 68 65 20 6e 75 6d 65 72 69 63 61 6c 20 63 6f 64 65 20 66 6f 72 20 61 20 67 69 76 65 ...the.numerical.code.for.a.give
b4760 6e 20 6b 69 6e 64 20 6f 66 20 73 69 67 6e 61 6c 20 6d 61 79 20 76 61 72 79 20 66 72 6f 6d 20 6f n.kind.of.signal.may.vary.from.o
b4780 70 65 72 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 20 74 6f 20 6f 70 65 72 perating..........system.to.oper
b47a0 61 74 69 6e 67 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ating.system...........<br><br>.
b47c0 54 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 2c 20 3c 56 41 52 3e 61 63 74 69 6f 6e The.second.argument,.<VAR>action
b47e0 3c 2f 56 41 52 3e 2c 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 61 63 74 69 6f 6e 20 74 6f 20 </VAR>,.specifies.the.action.to.
b4800 75 73 65 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 61 6c 20 3c 56 41 52 use.for.the..........signal.<VAR
b4820 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 6f 6e 65 20 >signum</VAR>...This.can.be.one.
b4840 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c of.the.following:..........<br><
b4860 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 49 47 br>.<DL>...........<DT><CODE>SIG
b4880 5f 44 46 4c 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 20 _DFL.....................action.
b48a0 66 6f 72 20 61 20 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 for.a.signal</CODE>.<DD>........
b48c0 20 20 3c 43 4f 44 45 3e 53 49 47 5f 44 46 4c 3c 2f 43 4f 44 45 3e 20 73 70 65 63 69 66 69 65 73 ..<CODE>SIG_DFL</CODE>.specifies
b48e0 20 74 68 65 20 64 65 66 61 75 6c 74 20 61 63 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 70 61 72 74 .the.default.action.for.the.part
b4900 69 63 75 6c 61 72 20 73 69 67 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 icular.signal...........The.defa
b4920 75 6c 74 20 61 63 74 69 6f 6e 73 20 66 6f 72 20 76 61 72 69 6f 75 73 20 6b 69 6e 64 73 20 6f 66 ult.actions.for.various.kinds.of
b4940 20 73 69 67 6e 61 6c 73 20 61 72 65 20 73 74 61 74 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 .signals.are.stated.in..........
b4960 53 74 61 6e 64 61 72 64 20 53 69 67 6e 61 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c Standard.Signals...........<br><
b4980 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 49 47 5f 49 47 4e 0a 20 20 20 20 20 20 20 20 20 0a br>.<DT><CODE>SIG_IGN...........
b49a0 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 20 66 6f 72 20 61 20 73 69 67 6e 61 6c 3c 2f 43 ..........action.for.a.signal</C
b49c0 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 53 49 47 5f 49 47 4e ODE>.<DD>..........<CODE>SIG_IGN
b49e0 3c 2f 43 4f 44 45 3e 20 73 70 65 63 69 66 69 65 73 20 74 68 61 74 20 74 68 65 20 73 69 67 6e 61 </CODE>.specifies.that.the.signa
b4a00 6c 20 73 68 6f 75 6c 64 20 62 65 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 l.should.be.ignored...........<b
b4a20 72 3e 3c 62 72 3e 20 59 6f 75 72 20 70 72 6f 67 72 61 6d 20 67 65 6e 65 72 61 6c 6c 79 20 73 68 r><br>.Your.program.generally.sh
b4a40 6f 75 6c 64 20 6e 6f 74 20 69 67 6e 6f 72 65 20 73 69 67 6e 61 6c 73 20 74 68 61 74 20 72 65 70 ould.not.ignore.signals.that.rep
b4a60 72 65 73 65 6e 74 20 73 65 72 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 20 6f resent.serious..........events.o
b4a80 72 20 74 68 61 74 20 61 72 65 20 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 20 74 6f 20 72 65 71 75 r.that.are.normally.used.to.requ
b4aa0 65 73 74 20 74 65 72 6d 69 6e 61 74 69 6f 6e 2e 20 20 59 6f 75 20 63 61 6e 6e 6f 74 0a 20 20 20 est.termination...You.cannot....
b4ac0 20 20 20 20 20 20 69 67 6e 6f 72 65 20 74 68 65 20 3c 43 4f 44 45 3e 53 49 47 4b 49 4c 4c 3c 2f ......ignore.the.<CODE>SIGKILL</
b4ae0 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 53 49 47 53 54 4f 50 3c 2f 43 4f 44 45 3e 20 73 69 CODE>.or.<CODE>SIGSTOP</CODE>.si
b4b00 67 6e 61 6c 73 20 61 74 20 61 6c 6c 2e 20 20 59 6f 75 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 gnals.at.all...You.can..........
b4b20 69 67 6e 6f 72 65 20 70 72 6f 67 72 61 6d 20 65 72 72 6f 72 20 73 69 67 6e 61 6c 73 20 6c 69 6b ignore.program.error.signals.lik
b4b40 65 20 3c 43 4f 44 45 3e 53 49 47 53 45 47 56 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 69 67 6e 6f e.<CODE>SIGSEGV</CODE>,.but.igno
b4b60 72 69 6e 67 20 74 68 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 77 6f 6e 27 74 20 65 6e ring.the.error..........won't.en
b4b80 61 62 6c 65 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 65 78 65 able.the.program.to.continue.exe
b4ba0 63 75 74 69 6e 67 20 6d 65 61 6e 69 6e 67 66 75 6c 6c 79 2e 20 20 49 67 6e 6f 72 69 6e 67 0a 20 cuting.meaningfully...Ignoring..
b4bc0 20 20 20 20 20 20 20 20 75 73 65 72 20 72 65 71 75 65 73 74 73 20 73 75 63 68 20 61 73 20 3c 43 ........user.requests.such.as.<C
b4be0 4f 44 45 3e 53 49 47 49 4e 54 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 53 49 47 51 55 49 54 ODE>SIGINT</CODE>,.<CODE>SIGQUIT
b4c00 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 53 49 47 54 53 54 50 3c 2f 43 4f 44 45 </CODE>,.and.<CODE>SIGTSTP</CODE
b4c20 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 75 6e 66 72 69 65 6e 64 6c 79 2e 0a 20 20 20 20 20 20 >..........is.unfriendly........
b4c40 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 79 6f 75 20 64 6f 20 6e 6f 74 20 77 69 73 68 ...<br><br>.When.you.do.not.wish
b4c60 20 73 69 67 6e 61 6c 73 20 74 6f 20 62 65 20 64 65 6c 69 76 65 72 65 64 20 64 75 72 69 6e 67 20 .signals.to.be.delivered.during.
b4c80 61 20 63 65 72 74 61 69 6e 20 70 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 70 a.certain.part.of..........the.p
b4ca0 72 6f 67 72 61 6d 2c 20 74 68 65 20 74 68 69 6e 67 20 74 6f 20 64 6f 20 69 73 20 74 6f 20 62 6c rogram,.the.thing.to.do.is.to.bl
b4cc0 6f 63 6b 20 74 68 65 6d 2c 20 6e 6f 74 20 69 67 6e 6f 72 65 20 74 68 65 6d 2e 0a 20 20 20 20 20 ock.them,.not.ignore.them.......
b4ce0 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 ...............<br><br>.<DT><COD
b4d00 45 3e 3c 56 41 52 3e 68 61 6e 64 6c 65 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e E><VAR>handler</VAR></CODE>.<DD>
b4d20 0a 20 20 20 20 20 20 20 20 20 53 75 70 70 6c 79 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 ..........Supply.the.address.of.
b4d40 61 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 79 6f 75 72 20 70 72 6f 67 72 a.handler.function.in.your.progr
b4d60 61 6d 2c 20 74 6f 20 73 70 65 63 69 66 79 0a 20 20 20 20 20 20 20 20 20 72 75 6e 6e 69 6e 67 20 am,.to.specify..........running.
b4d80 74 68 69 73 20 68 61 6e 64 6c 65 72 20 61 73 20 74 68 65 20 77 61 79 20 74 6f 20 64 65 6c 69 76 this.handler.as.the.way.to.deliv
b4da0 65 72 20 74 68 65 20 73 69 67 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e er.the.signal...........<br><br>
b4dc0 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 64 65 66 69 .For.more.information.about.defi
b4de0 6e 69 6e 67 20 73 69 67 6e 61 6c 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 73 2c 0a 20 ning.signal.handler.functions,..
b4e00 20 20 20 20 20 20 20 20 73 65 65 20 44 65 66 69 6e 69 6e 67 20 48 61 6e 64 6c 65 72 73 2e 0a 20 ........see.Defining.Handlers...
b4e20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ........</DL>..........<br><br>.
b4e40 49 66 20 79 6f 75 20 73 65 74 20 74 68 65 20 61 63 74 69 6f 6e 20 66 6f 72 20 61 20 73 69 67 6e If.you.set.the.action.for.a.sign
b4e60 61 6c 20 74 6f 20 3c 43 4f 44 45 3e 53 49 47 5f 49 47 4e 3c 2f 43 4f 44 45 3e 2c 20 6f 72 20 69 al.to.<CODE>SIG_IGN</CODE>,.or.i
b4e80 66 20 79 6f 75 20 73 65 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 53 f.you.set.it..........to.<CODE>S
b4ea0 49 47 5f 44 46 4c 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 61 63 IG_DFL</CODE>.and.the.default.ac
b4ec0 74 69 6f 6e 20 69 73 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 61 74 20 73 69 67 6e 61 6c 2c 20 74 tion.is.to.ignore.that.signal,.t
b4ee0 68 65 6e 0a 20 20 20 20 20 20 20 20 20 61 6e 79 20 70 65 6e 64 69 6e 67 20 73 69 67 6e 61 6c 73 hen..........any.pending.signals
b4f00 20 6f 66 20 74 68 61 74 20 74 79 70 65 20 61 72 65 20 64 69 73 63 61 72 64 65 64 20 28 65 76 65 .of.that.type.are.discarded.(eve
b4f20 6e 20 69 66 20 74 68 65 79 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 65 64 29 2e n.if.they.are..........blocked).
b4f40 20 20 44 69 73 63 61 72 64 69 6e 67 20 74 68 65 20 70 65 6e 64 69 6e 67 20 73 69 67 6e 61 6c 73 ..Discarding.the.pending.signals
b4f60 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 79 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 0a 20 .means.that.they.will.never.be..
b4f80 20 20 20 20 20 20 20 20 64 65 6c 69 76 65 72 65 64 2c 20 6e 6f 74 20 65 76 65 6e 20 69 66 20 79 ........delivered,.not.even.if.y
b4fa0 6f 75 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 73 70 65 63 69 66 79 20 61 6e 6f 74 68 65 72 20 ou.subsequently.specify.another.
b4fc0 61 63 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 75 6e 62 6c 6f 63 6b 20 74 68 69 73 action.and..........unblock.this
b4fe0 20 6b 69 6e 64 20 6f 66 20 73 69 67 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .kind.of.signal...........<br><b
b5000 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 r>.The.<CODE>signal</CODE>.funct
b5020 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 63 74 69 6f 6e 20 74 68 61 74 20 77 61 73 20 ion.returns.the.action.that.was.
b5040 70 72 65 76 69 6f 75 73 6c 79 20 69 6e 0a 20 20 20 20 20 20 20 20 20 65 66 66 65 63 74 20 66 6f previously.in..........effect.fo
b5060 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 r.the.specified.<VAR>signum</VAR
b5080 3e 2e 20 20 59 6f 75 20 63 61 6e 20 73 61 76 65 20 74 68 69 73 20 76 61 6c 75 65 20 61 6e 64 0a >...You.can.save.this.value.and.
b50a0 20 20 20 20 20 20 20 20 20 72 65 73 74 6f 72 65 20 69 74 20 6c 61 74 65 72 20 62 79 20 63 61 6c .........restore.it.later.by.cal
b50c0 6c 69 6e 67 20 3c 43 4f 44 45 3e 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 20 61 67 61 69 6e 2e 0a ling.<CODE>signal</CODE>.again..
b50e0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 45 3e 73 69 67 6e 61 .........<br><br>.If.<CODE>signa
b5100 6c 3c 2f 43 4f 44 45 3e 20 63 61 6e 27 74 20 68 6f 6e 6f 72 20 74 68 65 20 72 65 71 75 65 73 74 l</CODE>.can't.honor.the.request
b5120 2c 20 69 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 53 49 47 5f 45 52 52 3c 2f 43 4f 44 45 ,.it.returns.<CODE>SIG_ERR</CODE
b5140 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 >..........instead...The.followi
b5160 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 ng.<CODE>errno</CODE>.error.cond
b5180 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 itions.are.defined.for..........
b51a0 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e this.function:..........<br><br>
b51c0 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c .<DL>...........<DT><CODE>EINVAL
b51e0 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 73 70 65 63 69 66 </CODE>.<DD>..........You.specif
b5200 69 65 64 20 61 6e 20 69 6e 76 61 6c 69 64 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e ied.an.invalid.<VAR>signum</VAR>
b5220 3b 20 6f 72 20 79 6f 75 20 74 72 69 65 64 20 74 6f 20 69 67 6e 6f 72 65 20 6f 72 20 70 72 6f 76 ;.or.you.tried.to.ignore.or.prov
b5240 69 64 65 0a 20 20 20 20 20 20 20 20 20 61 20 68 61 6e 64 6c 65 72 20 66 6f 72 20 3c 43 4f 44 45 ide..........a.handler.for.<CODE
b5260 3e 53 49 47 4b 49 4c 4c 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 53 49 47 53 54 4f 50 >SIGKILL</CODE>.or.<CODE>SIGSTOP
b5280 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 </CODE>...........</DL>.........
b52a0 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 19 sq.~......w.....t..signal.hxq.~.
b52c0 d8 74 00 1f 69 6e 74 20 73 69 67 6e 75 6d 2c 20 73 69 67 68 61 6e 64 6c 65 72 5f 74 20 61 63 74 .t..int.signum,.sighandler_t.act
b52e0 69 6f 6e 74 00 0c 73 69 67 68 61 6e 64 6c 65 72 5f 74 74 00 07 73 69 67 6e 62 69 74 73 71 00 7e iont..sighandler_tt..signbitsq.~
b5300 00 0a 70 74 01 c1 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 69 67 6e 62 69 74 3c 2f 43 4f ..pt...........<CODE>signbit</CO
b5320 44 45 3e 20 69 73 20 61 20 67 65 6e 65 72 69 63 20 6d 61 63 72 6f 20 77 68 69 63 68 20 63 61 6e DE>.is.a.generic.macro.which.can
b5340 20 77 6f 72 6b 20 6f 6e 20 61 6c 6c 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 0a 20 20 20 20 .work.on.all.floating-point.....
b5360 20 20 20 20 20 74 79 70 65 73 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 7a 65 72 .....types...It.returns.a.nonzer
b5380 6f 20 76 61 6c 75 65 20 69 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f o.value.if.the.value.of.<VAR>x</
b53a0 56 41 52 3e 20 68 61 73 20 69 74 73 20 73 69 67 6e 0a 20 20 20 20 20 20 20 20 20 62 69 74 20 73 VAR>.has.its.sign..........bit.s
b53c0 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 69 73 20 6e 6f et...........<br><br>.This.is.no
b53e0 74 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 78 20 3c 20 30 2e 30 3c 2f 43 4f 44 t.the.same.as.<CODE>x.<.0.0</COD
b5400 45 3e 2c 20 62 65 63 61 75 73 65 20 49 45 45 45 20 37 35 34 20 66 6c 6f 61 74 69 6e 67 0a 20 20 E>,.because.IEEE.754.floating...
b5420 20 20 20 20 20 20 20 70 6f 69 6e 74 20 61 6c 6c 6f 77 73 20 7a 65 72 6f 20 74 6f 20 62 65 20 73 .......point.allows.zero.to.be.s
b5440 69 67 6e 65 64 2e 20 20 54 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 3c 43 4f 44 45 3e 2d 30 2e igned...The.comparison.<CODE>-0.
b5460 30 20 3c 20 30 2e 30 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 66 61 6c 73 65 0.<.0.0</CODE>.is..........false
b5480 2c 20 62 75 74 20 3c 43 4f 44 45 3e 73 69 67 6e 62 69 74 20 28 2d 30 2e 30 29 3c 2f 43 4f 44 45 ,.but.<CODE>signbit.(-0.0)</CODE
b54a0 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 2e 0a 20 >.will.return.a.nonzero.value...
b54c0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
b54e0 78 71 00 7e 19 df 74 00 02 20 78 74 00 03 69 6e 74 74 00 0b 73 69 67 6e 69 66 69 63 61 6e 64 73 xq.~..t...xt..intt..significands
b5500 71 00 7e 00 0a 70 74 01 4a 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 69 67 6e 69 66 69 63 q.~..pt.J.........<CODE>signific
b5520 61 6e 64 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6d 61 6e 74 69 73 73 61 20 and</CODE>.returns.the.mantissa.
b5540 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 73 63 61 6c 65 64 20 74 6f 20 74 68 65 20 72 61 of.<VAR>x</VAR>.scaled.to.the.ra
b5560 6e 67 65 0a 20 20 20 20 20 20 20 20 20 5b 31 2c 20 32 29 2e 0a 20 20 20 20 20 20 20 20 20 49 74 nge..........[1,.2)...........It
b5580 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 73 63 61 6c 62 20 28 3c .is.equivalent.to.<CODE>scalb.(<
b55a0 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 28 64 6f 75 62 6c 65 29 20 2d 69 6c 6f 67 62 20 28 3c 56 VAR>x</VAR>,.(double).-ilogb.(<V
b55c0 41 52 3e 78 3c 2f 56 41 52 3e 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 AR>x</VAR>))</CODE>...........<b
b55e0 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 20 6d 61 69 6e r><br>.This.function.exists.main
b5600 6c 79 20 66 6f 72 20 75 73 65 20 69 6e 20 63 65 72 74 61 69 6e 20 73 74 61 6e 64 61 72 64 69 7a ly.for.use.in.certain.standardiz
b5620 65 64 20 74 65 73 74 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 49 45 45 45 20 37 35 34 20 63 6f ed.tests..........of.IEEE.754.co
b5640 6e 66 6f 72 6d 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 nformance..........sq.~......w..
b5660 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 19 e6 74 00 08 64 6f 75 62 6c 65 20 78 74 00 0d ...t..math.hxq.~..t..double.xt..
b5680 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 0c 73 69 67 6e 69 66 69 63 61 6e 64 66 73 71 00 7e long.long.intt..significandfsq.~
b56a0 00 0a 70 74 01 4a 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 69 67 6e 69 66 69 63 61 6e 64 ..pt.J.........<CODE>significand
b56c0 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6d 61 6e 74 69 73 73 61 20 6f 66 20 </CODE>.returns.the.mantissa.of.
b56e0 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 73 63 61 6c 65 64 20 74 6f 20 74 68 65 20 72 61 6e 67 65 <VAR>x</VAR>.scaled.to.the.range
b5700 0a 20 20 20 20 20 20 20 20 20 5b 31 2c 20 32 29 2e 0a 20 20 20 20 20 20 20 20 20 49 74 20 69 73 ..........[1,.2)...........It.is
b5720 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 73 63 61 6c 62 20 28 3c 56 41 52 .equivalent.to.<CODE>scalb.(<VAR
b5740 3e 78 3c 2f 56 41 52 3e 2c 20 28 64 6f 75 62 6c 65 29 20 2d 69 6c 6f 67 62 20 28 3c 56 41 52 3e >x</VAR>,.(double).-ilogb.(<VAR>
b5760 78 3c 2f 56 41 52 3e 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c x</VAR>))</CODE>...........<br><
b5780 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 20 6d 61 69 6e 6c 79 20 br>.This.function.exists.mainly.
b57a0 66 6f 72 20 75 73 65 20 69 6e 20 63 65 72 74 61 69 6e 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 for.use.in.certain.standardized.
b57c0 74 65 73 74 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 49 45 45 45 20 37 35 34 20 63 6f 6e 66 6f tests..........of.IEEE.754.confo
b57e0 72 6d 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a rmance..........sq.~......w.....
b5800 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 19 ed 74 00 07 66 6c 6f 61 74 20 78 74 00 0d 6c 6f 6e 67 t..math.hxq.~..t..float.xt..long
b5820 20 6c 6f 6e 67 20 69 6e 74 74 00 0c 73 69 67 6e 69 66 69 63 61 6e 64 6c 73 71 00 7e 00 0a 70 74 .long.intt..significandlsq.~..pt
b5840 01 4a 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 69 67 6e 69 66 69 63 61 6e 64 3c 2f 43 4f .J.........<CODE>significand</CO
b5860 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6d 61 6e 74 69 73 73 61 20 6f 66 20 3c 56 41 52 DE>.returns.the.mantissa.of.<VAR
b5880 3e 78 3c 2f 56 41 52 3e 20 73 63 61 6c 65 64 20 74 6f 20 74 68 65 20 72 61 6e 67 65 0a 20 20 20 >x</VAR>.scaled.to.the.range....
b58a0 20 20 20 20 20 20 5b 31 2c 20 32 29 2e 0a 20 20 20 20 20 20 20 20 20 49 74 20 69 73 20 65 71 75 ......[1,.2)...........It.is.equ
b58c0 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 73 63 61 6c 62 20 28 3c 56 41 52 3e 78 3c 2f ivalent.to.<CODE>scalb.(<VAR>x</
b58e0 56 41 52 3e 2c 20 28 64 6f 75 62 6c 65 29 20 2d 69 6c 6f 67 62 20 28 3c 56 41 52 3e 78 3c 2f 56 VAR>,.(double).-ilogb.(<VAR>x</V
b5900 41 52 3e 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 AR>))</CODE>...........<br><br>.
b5920 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 20 6d 61 69 6e 6c 79 20 66 6f 72 20 This.function.exists.mainly.for.
b5940 75 73 65 20 69 6e 20 63 65 72 74 61 69 6e 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 74 65 73 74 use.in.certain.standardized.test
b5960 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 49 45 45 45 20 37 35 34 20 63 6f 6e 66 6f 72 6d 61 6e s..........of.IEEE.754.conforman
b5980 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d ce..........sq.~......w.....t..m
b59a0 61 74 68 2e 68 78 71 00 7e 19 f4 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0d 6c 6f ath.hxq.~..t..long.double.xt..lo
b59c0 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 08 73 69 67 70 61 75 73 65 73 71 00 7e 00 0a 70 74 00 fd ng.long.intt..sigpausesq.~..pt..
b59e0 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 65 71 .........This.function.is.the.eq
b5a00 75 69 76 61 6c 65 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 73 69 67 73 75 73 70 65 6e 64 3c 2f 43 4f uivalent.of.<CODE>sigsuspend</CO
b5a20 44 45 3e 20 3a 20 20 69 74 20 73 65 74 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 DE>.:..it.sets.the.calling.proce
b5a40 73 73 27 73 20 73 69 67 6e 61 6c 20 6d 61 73 6b 20 74 6f 20 3c 56 41 52 3e 6d 61 73 6b 3c 2f 56 ss's.signal.mask.to.<VAR>mask</V
b5a60 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 77 61 69 74 73 20 66 6f 72 20 61 20 73 69 AR>,..........and.waits.for.a.si
b5a80 67 6e 61 6c 20 74 6f 20 61 72 72 69 76 65 2e 20 20 4f 6e 20 72 65 74 75 72 6e 20 74 68 65 20 70 gnal.to.arrive...On.return.the.p
b5aa0 72 65 76 69 6f 75 73 20 73 65 74 20 6f 66 20 62 6c 6f 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 revious.set.of.blocked..........
b5ac0 73 69 67 6e 61 6c 73 20 69 73 20 72 65 73 74 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 signals.is.restored..........sq.
b5ae0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 19 fb 74 00 ~......w.....t..signal.hxq.~..t.
b5b00 08 69 6e 74 20 6d 61 73 6b 74 00 03 69 6e 74 74 00 0a 73 69 67 70 65 6e 64 69 6e 67 73 71 00 7e .int.maskt..intt..sigpendingsq.~
b5b20 00 0a 70 74 01 de 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 69 67 70 65 6e 64 ..pt...........The.<CODE>sigpend
b5b40 69 6e 67 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 73 20 69 6e 66 6f 72 ing</CODE>.function.stores.infor
b5b60 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 70 65 6e 64 69 6e 67 20 73 69 67 6e 61 6c 73 0a 20 20 20 mation.about.pending.signals....
b5b80 20 20 20 20 20 20 69 6e 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 2e 20 20 49 66 20 74 68 65 ......in.<VAR>set</VAR>...If.the
b5ba0 72 65 20 69 73 20 61 20 70 65 6e 64 69 6e 67 20 73 69 67 6e 61 6c 20 74 68 61 74 20 69 73 20 62 re.is.a.pending.signal.that.is.b
b5bc0 6c 6f 63 6b 65 64 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 64 65 6c 69 76 65 72 79 2c 20 74 locked.from..........delivery,.t
b5be0 68 65 6e 20 74 68 61 74 20 73 69 67 6e 61 6c 20 69 73 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 hen.that.signal.is.a.member.of.t
b5c00 68 65 20 72 65 74 75 72 6e 65 64 20 73 65 74 2e 20 20 28 59 6f 75 20 63 61 6e 0a 20 20 20 20 20 he.returned.set...(You.can......
b5c20 20 20 20 20 74 65 73 74 20 77 68 65 74 68 65 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 73 69 ....test.whether.a.particular.si
b5c40 67 6e 61 6c 20 69 73 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 69 73 20 73 65 74 20 75 73 69 gnal.is.a.member.of.this.set.usi
b5c60 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 69 67 69 73 6d 65 6d 62 65 72 3c 2f 43 ng..........<CODE>sigismember</C
b5c80 4f 44 45 3e 3b 20 73 65 65 20 53 69 67 6e 61 6c 20 53 65 74 73 2e 29 0a 20 20 20 20 20 20 20 20 ODE>;.see.Signal.Sets.).........
b5ca0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 .<br><br>.The.return.value.is.<C
b5cc0 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 61 6e 64 20 ODE>0</CODE>.if.successful,.and.
b5ce0 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 <CODE>-1</CODE>.on.failure......
b5d00 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 ....sq.~......w.....t..signal.hx
b5d20 71 00 7e 1a 02 74 00 0d 73 69 67 73 65 74 5f 74 20 2a 73 65 74 74 00 03 69 6e 74 74 00 0b 73 69 q.~..t..sigset_t.*sett..intt..si
b5d40 67 70 72 6f 63 6d 61 73 6b 73 71 00 7e 00 0a 70 74 0b d7 0a 20 20 20 20 20 20 20 20 54 68 65 20 gprocmasksq.~..pt...........The.
b5d60 3c 43 4f 44 45 3e 73 69 67 70 72 6f 63 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f <CODE>sigprocmask</CODE>.functio
b5d80 6e 20 69 73 20 75 73 65 64 20 74 6f 20 65 78 61 6d 69 6e 65 20 6f 72 20 63 68 61 6e 67 65 20 74 n.is.used.to.examine.or.change.t
b5da0 68 65 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 27 73 20 73 69 he.calling..........process's.si
b5dc0 67 6e 61 6c 20 6d 61 73 6b 2e 20 20 54 68 65 20 3c 56 41 52 3e 68 6f 77 3c 2f 56 41 52 3e 20 61 gnal.mask...The.<VAR>how</VAR>.a
b5de0 72 67 75 6d 65 6e 74 20 64 65 74 65 72 6d 69 6e 65 73 20 68 6f 77 20 74 68 65 20 73 69 67 6e 61 rgument.determines.how.the.signa
b5e00 6c 0a 20 20 20 20 20 20 20 20 20 6d 61 73 6b 20 69 73 20 63 68 61 6e 67 65 64 2c 20 61 6e 64 20 l..........mask.is.changed,.and.
b5e20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c must.be.one.of.the.following.val
b5e40 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 ues:..........<br><br>.<DL>.....
b5e60 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 49 47 5f 42 4c ................<DT><CODE>SIG_BL
b5e80 4f 43 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 42 6c 6f 63 6b 20 74 OCK</CODE>.<DD>..........Block.t
b5ea0 68 65 20 73 69 67 6e 61 6c 73 20 69 6e 20 3c 43 4f 44 45 3e 73 65 74 3c 2f 43 4f 44 45 3e 2d 2d he.signals.in.<CODE>set</CODE>--
b5ec0 2d 61 64 64 20 74 68 65 6d 20 74 6f 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 6d 61 73 6b 2e 20 -add.them.to.the.existing.mask..
b5ee0 20 49 6e 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 74 68 65 20 6e 65 .In..........other.words,.the.ne
b5f00 77 20 6d 61 73 6b 20 69 73 20 74 68 65 20 75 6e 69 6f 6e 20 6f 66 20 74 68 65 20 65 78 69 73 74 w.mask.is.the.union.of.the.exist
b5f20 69 6e 67 20 6d 61 73 6b 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 65 74 3c 2f ing.mask.and..........<VAR>set</
b5f40 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 VAR>...........<br><br>.........
b5f60 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 49 47 5f 55 4e 42 4c 4f 43 4b 3c 2f 43 4f 44 45 3e 0a 3c ..<DT><CODE>SIG_UNBLOCK</CODE>.<
b5f80 44 44 3e 0a 20 20 20 20 20 20 20 20 20 55 6e 62 6c 6f 63 6b 20 74 68 65 20 73 69 67 6e 61 6c 73 DD>..........Unblock.the.signals
b5fa0 20 69 6e 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 2d 2d 2d 72 65 6d 6f 76 65 20 74 68 65 6d .in.<VAR>set</VAR>---remove.them
b5fc0 20 66 72 6f 6d 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 6d 61 73 6b 2e 0a 20 20 20 20 20 20 20 .from.the.existing.mask.........
b5fe0 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 53 ..<br><br>...........<DT><CODE>S
b6000 49 47 5f 53 45 54 4d 41 53 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 IG_SETMASK</CODE>.<DD>..........
b6020 55 73 65 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 20 66 6f 72 20 74 68 65 20 6d 61 73 6b 3b Use.<VAR>set</VAR>.for.the.mask;
b6040 20 69 67 6e 6f 72 65 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 20 6f 66 20 74 68 .ignore.the.previous.value.of.th
b6060 65 20 6d 61 73 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 e.mask...........</DL>..........
b6080 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 2c 20 3c 56 41 52 <br><br>.The.last.argument,.<VAR
b60a0 3e 6f 6c 64 73 65 74 3c 2f 56 41 52 3e 2c 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e >oldset</VAR>,.is.used.to.return
b60c0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 .information.about.the..........
b60e0 6f 6c 64 20 70 72 6f 63 65 73 73 20 73 69 67 6e 61 6c 20 6d 61 73 6b 2e 20 20 49 66 20 79 6f 75 old.process.signal.mask...If.you
b6100 20 6a 75 73 74 20 77 61 6e 74 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 6d 61 73 6b 20 77 69 .just.want.to.change.the.mask.wi
b6120 74 68 6f 75 74 0a 20 20 20 20 20 20 20 20 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 69 74 2c 20 70 61 thout..........looking.at.it,.pa
b6140 73 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 61 73 20 74 68 65 20 3c 56 41 52 3e 6f 6c ss.a.null.pointer.as.the.<VAR>ol
b6160 64 73 65 74 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 53 69 dset</VAR>.argument...........Si
b6180 6d 69 6c 61 72 6c 79 2c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6b 6e 6f 77 20 77 68 61 milarly,.if.you.want.to.know.wha
b61a0 74 27 73 20 69 6e 20 74 68 65 20 6d 61 73 6b 20 77 69 74 68 6f 75 74 20 63 68 61 6e 67 69 6e 67 t's.in.the.mask.without.changing
b61c0 20 69 74 2c 0a 20 20 20 20 20 20 20 20 20 70 61 73 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 .it,..........pass.a.null.pointe
b61e0 72 20 66 6f 72 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 3e 20 28 69 6e 20 74 68 69 73 20 63 61 r.for.<VAR>set</VAR>.(in.this.ca
b6200 73 65 20 74 68 65 20 3c 56 41 52 3e 68 6f 77 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 0a 20 se.the.<VAR>how</VAR>.argument..
b6220 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 73 69 67 6e 69 66 69 63 61 6e 74 29 2e 20 20 54 68 ........is.not.significant)...Th
b6240 65 20 3c 56 41 52 3e 6f 6c 64 73 65 74 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 e.<VAR>oldset</VAR>.argument.is.
b6260 6f 66 74 65 6e 20 75 73 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 72 65 6d 65 6d 62 65 72 20 often.used.to..........remember.
b6280 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 69 67 6e 61 6c 20 6d 61 73 6b 20 69 6e 20 6f 72 64 65 the.previous.signal.mask.in.orde
b62a0 72 20 74 6f 20 72 65 73 74 6f 72 65 20 69 74 20 6c 61 74 65 72 2e 20 20 28 53 69 6e 63 65 0a 20 r.to.restore.it.later...(Since..
b62c0 20 20 20 20 20 20 20 20 74 68 65 20 73 69 67 6e 61 6c 20 6d 61 73 6b 20 69 73 20 69 6e 68 65 72 ........the.signal.mask.is.inher
b62e0 69 74 65 64 20 6f 76 65 72 20 3c 43 4f 44 45 3e 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 ited.over.<CODE>fork</CODE>.and.
b6300 3c 43 4f 44 45 3e 65 78 65 63 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 73 2c 20 79 6f 75 0a 20 20 20 <CODE>exec</CODE>.calls,.you....
b6320 20 20 20 20 20 20 63 61 6e 27 74 20 70 72 65 64 69 63 74 20 77 68 61 74 20 69 74 73 20 63 6f 6e ......can't.predict.what.its.con
b6340 74 65 6e 74 73 20 61 72 65 20 77 68 65 6e 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 73 74 61 72 tents.are.when.your.program.star
b6360 74 73 20 72 75 6e 6e 69 6e 67 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 ts.running.)..........<br><br>.I
b6380 66 20 69 6e 76 6f 6b 69 6e 67 20 3c 43 4f 44 45 3e 73 69 67 70 72 6f 63 6d 61 73 6b 3c 2f 43 4f f.invoking.<CODE>sigprocmask</CO
b63a0 44 45 3e 20 63 61 75 73 65 73 20 61 6e 79 20 70 65 6e 64 69 6e 67 20 73 69 67 6e 61 6c 73 20 74 DE>.causes.any.pending.signals.t
b63c0 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 75 6e 62 6c 6f 63 6b 65 64 2c 20 61 74 20 6c 65 61 73 o.be..........unblocked,.at.leas
b63e0 74 20 6f 6e 65 20 6f 66 20 74 68 6f 73 65 20 73 69 67 6e 61 6c 73 20 69 73 20 64 65 6c 69 76 65 t.one.of.those.signals.is.delive
b6400 72 65 64 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 62 65 66 6f red.to.the.process..........befo
b6420 72 65 20 3c 43 4f 44 45 3e 73 69 67 70 72 6f 63 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 72 65 74 75 re.<CODE>sigprocmask</CODE>.retu
b6440 72 6e 73 2e 20 20 54 68 65 20 6f 72 64 65 72 20 69 6e 20 77 68 69 63 68 20 70 65 6e 64 69 6e 67 rns...The.order.in.which.pending
b6460 20 73 69 67 6e 61 6c 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 64 65 6c 69 76 65 72 65 64 20 .signals..........are.delivered.
b6480 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2c 20 62 75 74 20 79 6f 75 20 63 61 6e 20 63 6f is.not.specified,.but.you.can.co
b64a0 6e 74 72 6f 6c 20 74 68 65 20 6f 72 64 65 72 20 65 78 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 ntrol.the.order.explicitly......
b64c0 20 20 20 20 62 79 20 6d 61 6b 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 3c 43 4f 44 45 3e 73 69 67 ....by.making.multiple.<CODE>sig
b64e0 70 72 6f 63 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 73 20 74 6f 20 75 6e 62 6c 6f 63 6b procmask</CODE>.calls.to.unblock
b6500 20 76 61 72 69 6f 75 73 20 73 69 67 6e 61 6c 73 0a 20 20 20 20 20 20 20 20 20 6f 6e 65 20 61 74 .various.signals..........one.at
b6520 20 61 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c .a.time...........<br><br>.The.<
b6540 43 4f 44 45 3e 73 69 67 70 72 6f 63 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e CODE>sigprocmask</CODE>.function
b6560 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 73 75 63 63 65 .returns.<CODE>0</CODE>.if.succe
b6580 73 73 66 75 6c 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 ssful,.and.<CODE>-1</CODE>......
b65a0 20 20 20 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 6e 20 65 72 72 6f 72 2e 20 20 54 68 65 20 66 ....to.indicate.an.error...The.f
b65c0 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f ollowing.<CODE>errno</CODE>.erro
b65e0 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 r.conditions.are..........define
b6600 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 d.for.this.function:..........<b
b6620 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e r><br>.<DL>...........<DT><CODE>
b6640 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 EINVAL</CODE>.<DD>..........The.
b6660 3c 56 41 52 3e 68 6f 77 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 69 6e 76 61 6c <VAR>how</VAR>.argument.is.inval
b6680 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e id...........</DL>..........<br>
b66a0 3c 62 72 3e 20 59 6f 75 20 63 61 6e 27 74 20 62 6c 6f 63 6b 20 74 68 65 20 3c 43 4f 44 45 3e 53 <br>.You.can't.block.the.<CODE>S
b66c0 49 47 4b 49 4c 4c 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 53 49 47 53 54 4f 50 3c IGKILL</CODE>.and.<CODE>SIGSTOP<
b66e0 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 69 66 20 /CODE>.signals,.but..........if.
b6700 74 68 65 20 73 69 67 6e 61 6c 20 73 65 74 20 69 6e 63 6c 75 64 65 73 20 74 68 65 73 65 2c 20 3c the.signal.set.includes.these,.<
b6720 43 4f 44 45 3e 73 69 67 70 72 6f 63 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 6a 75 73 74 20 69 67 6e CODE>sigprocmask</CODE>.just.ign
b6740 6f 72 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 6d 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 ores..........them.instead.of.re
b6760 74 75 72 6e 69 6e 67 20 61 6e 20 65 72 72 6f 72 20 73 74 61 74 75 73 2e 0a 20 20 20 20 20 20 20 turning.an.error.status.........
b6780 20 20 3c 62 72 3e 3c 62 72 3e 20 52 65 6d 65 6d 62 65 72 2c 20 74 6f 6f 2c 20 74 68 61 74 20 62 ..<br><br>.Remember,.too,.that.b
b67a0 6c 6f 63 6b 69 6e 67 20 70 72 6f 67 72 61 6d 20 65 72 72 6f 72 20 73 69 67 6e 61 6c 73 20 73 75 locking.program.error.signals.su
b67c0 63 68 20 61 73 20 3c 43 4f 44 45 3e 53 49 47 46 50 45 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 ch.as.<CODE>SIGFPE</CODE>.......
b67e0 20 20 20 6c 65 61 64 73 20 74 6f 20 75 6e 64 65 73 69 72 61 62 6c 65 20 72 65 73 75 6c 74 73 20 ...leads.to.undesirable.results.
b6800 66 6f 72 20 73 69 67 6e 61 6c 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 61 6e 20 61 63 74 75 for.signals.generated.by.an.actu
b6820 61 6c 20 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 28 61 73 20 6f 70 al.program..........error.(as.op
b6840 70 6f 73 65 64 20 74 6f 20 73 69 67 6e 61 6c 73 20 73 65 6e 74 20 77 69 74 68 20 3c 43 4f 44 45 posed.to.signals.sent.with.<CODE
b6860 3e 72 61 69 73 65 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 6b 69 6c 6c 3c 2f 43 4f 44 >raise</CODE>.or.<CODE>kill</COD
b6880 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 79 6f E>)...........This.is.because.yo
b68a0 75 72 20 70 72 6f 67 72 61 6d 20 6d 61 79 20 62 65 20 74 6f 6f 20 62 72 6f 6b 65 6e 20 74 6f 20 ur.program.may.be.too.broken.to.
b68c0 62 65 20 61 62 6c 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 0a 20 20 20 20 20 20 20 20 20 65 78 65 be.able.to.continue..........exe
b68e0 63 75 74 69 6e 67 20 74 6f 20 61 20 70 6f 69 6e 74 20 77 68 65 72 65 20 74 68 65 20 73 69 67 6e cuting.to.a.point.where.the.sign
b6900 61 6c 20 69 73 20 75 6e 62 6c 6f 63 6b 65 64 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 al.is.unblocked.again...........
b6920 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 ..........sq.~......w.....t..sig
b6940 6e 61 6c 2e 68 78 71 00 7e 1a 09 74 00 40 69 6e 74 20 68 6f 77 2c 20 63 6f 6e 73 74 20 73 69 67 nal.hxq.~..t.@int.how,.const.sig
b6960 73 65 74 5f 74 20 2a 72 65 73 74 72 69 63 74 20 73 65 74 2c 20 73 69 67 73 65 74 5f 74 20 2a 72 set_t.*restrict.set,.sigset_t.*r
b6980 65 73 74 72 69 63 74 20 6f 6c 64 73 65 74 74 00 03 69 6e 74 74 00 09 73 69 67 73 65 74 6a 6d 70 estrict.oldsett..intt..sigsetjmp
b69a0 73 71 00 7e 00 0a 70 74 01 08 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 73 69 6d 69 6c sq.~..pt...........This.is.simil
b69c0 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 65 74 6a 6d 70 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 3c ar.to.<CODE>setjmp</CODE>...If.<
b69e0 56 41 52 3e 73 61 76 65 73 69 67 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 6e 7a 65 72 6f 2c 20 74 VAR>savesigs</VAR>.is.nonzero,.t
b6a00 68 65 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 6f 66 20 62 6c 6f 63 6b 65 64 20 73 69 67 6e 61 he.set..........of.blocked.signa
b6a20 6c 73 20 69 73 20 73 61 76 65 64 20 69 6e 20 3c 56 41 52 3e 73 74 61 74 65 3c 2f 56 41 52 3e 20 ls.is.saved.in.<VAR>state</VAR>.
b6a40 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 73 74 6f 72 65 64 20 69 66 20 61 0a 20 20 20 20 20 20 and.will.be.restored.if.a.......
b6a60 20 20 20 3c 43 4f 44 45 3e 73 69 67 6c 6f 6e 67 6a 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 6c 61 ...<CODE>siglongjmp</CODE>.is.la
b6a80 74 65 72 20 70 65 72 66 6f 72 6d 65 64 20 77 69 74 68 20 74 68 69 73 20 3c 56 41 52 3e 73 74 61 ter.performed.with.this.<VAR>sta
b6aa0 74 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 te</VAR>..........sq.~......w...
b6ac0 00 0a 74 00 08 73 65 74 6a 6d 70 2e 68 78 71 00 7e 1a 10 74 00 1e 73 69 67 6a 6d 70 5f 62 75 66 ..t..setjmp.hxq.~..t..sigjmp_buf
b6ae0 20 73 74 61 74 65 2c 20 69 6e 74 20 73 61 76 65 73 69 67 73 74 00 03 69 6e 74 74 00 0a 73 69 67 .state,.int.savesigst..intt..sig
b6b00 73 65 74 6d 61 73 6b 73 71 00 7e 00 0a 70 74 01 0d 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 setmasksq.~..pt...........This.f
b6b20 75 6e 63 74 69 6f 6e 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 73 69 67 70 unction.equivalent.to.<CODE>sigp
b6b40 72 6f 63 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 20 77 69 74 68 20 61 20 3c 56 41 52 3e 68 6f 77 3c rocmask</CODE>..with.a.<VAR>how<
b6b60 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 53 49 47 5f 53 45 54 4d /VAR>.argument.of.<CODE>SIG_SETM
b6b80 41 53 4b 3c 2f 43 4f 44 45 3e 3a 20 69 74 20 73 65 74 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 ASK</CODE>:.it.sets..........the
b6ba0 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 27 73 20 73 69 67 6e 61 6c 20 6d 61 73 6b 20 74 .calling.process's.signal.mask.t
b6bc0 6f 20 3c 56 41 52 3e 6d 61 73 6b 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 o.<VAR>mask</VAR>...The.return.v
b6be0 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 65 alue.is..........the.previous.se
b6c00 74 20 6f 66 20 62 6c 6f 63 6b 65 64 20 73 69 67 6e 61 6c 73 2e 0a 20 20 20 20 20 20 20 20 73 71 t.of.blocked.signals..........sq
b6c20 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 1a 17 74 .~......w.....t..signal.hxq.~..t
b6c40 00 08 69 6e 74 20 6d 61 73 6b 74 00 03 69 6e 74 74 00 08 73 69 67 73 74 61 63 6b 73 71 00 7e 00 ..int.maskt..intt..sigstacksq.~.
b6c60 0a 70 74 02 f7 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 69 67 73 74 61 63 6b .pt...........The.<CODE>sigstack
b6c80 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 70 65 63 69 66 69 65 73 20 61 6e 20 61 6c </CODE>.function.specifies.an.al
b6ca0 74 65 72 6e 61 74 65 20 73 74 61 63 6b 20 66 6f 72 20 75 73 65 20 64 75 72 69 6e 67 0a 20 20 20 ternate.stack.for.use.during....
b6cc0 20 20 20 20 20 20 73 69 67 6e 61 6c 20 68 61 6e 64 6c 69 6e 67 2e 20 20 57 68 65 6e 20 61 20 73 ......signal.handling...When.a.s
b6ce0 69 67 6e 61 6c 20 69 73 20 72 65 63 65 69 76 65 64 20 62 79 20 74 68 65 20 70 72 6f 63 65 73 73 ignal.is.received.by.the.process
b6d00 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 20 69 6e 64 69 63 61 74 .and.its..........action.indicat
b6d20 65 73 20 74 68 61 74 20 74 68 65 20 73 69 67 6e 61 6c 20 73 74 61 63 6b 20 69 73 20 75 73 65 64 es.that.the.signal.stack.is.used
b6d40 2c 20 74 68 65 20 73 79 73 74 65 6d 20 61 72 72 61 6e 67 65 73 20 61 0a 20 20 20 20 20 20 20 20 ,.the.system.arranges.a.........
b6d60 20 73 77 69 74 63 68 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 73 74 61 6c 6c .switch.to.the.currently.install
b6d80 65 64 20 73 69 67 6e 61 6c 20 73 74 61 63 6b 20 77 68 69 6c 65 20 74 68 65 20 68 61 6e 64 6c 65 ed.signal.stack.while.the.handle
b6da0 72 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 73 69 67 6e 61 6c 20 69 73 20 65 78 r.for..........that.signal.is.ex
b6dc0 65 63 75 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 ecuted...........<br><br>.If.<VA
b6de0 52 3e 6f 6c 64 73 74 61 63 6b 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 R>oldstack</VAR>.is.not.a.null.p
b6e00 6f 69 6e 74 65 72 2c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 63 75 ointer,.information.about.the.cu
b6e20 72 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 20 73 69 67 6e 61 rrently..........installed.signa
b6e40 6c 20 73 74 61 63 6b 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 74 68 65 20 6c 6f 63 61 74 l.stack.is.returned.in.the.locat
b6e60 69 6f 6e 20 69 74 20 70 6f 69 6e 74 73 20 74 6f 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c ion.it.points.to...If..........<
b6e80 56 41 52 3e 73 74 61 63 6b 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f VAR>stack</VAR>.is.not.a.null.po
b6ea0 69 6e 74 65 72 2c 20 74 68 65 6e 20 74 68 69 73 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 73 inter,.then.this.is.installed.as
b6ec0 20 74 68 65 20 6e 65 77 0a 20 20 20 20 20 20 20 20 20 73 74 61 63 6b 20 66 6f 72 20 75 73 65 20 .the.new..........stack.for.use.
b6ee0 62 79 20 73 69 67 6e 61 6c 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 by.signal.handlers...........<br
b6f00 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e ><br>.The.return.value.is.<CODE>
b6f20 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 0</CODE>.on.success.and.<CODE>-1
b6f40 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e </CODE>.on.failure..........sq.~
b6f60 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 1a 1e 74 00 37 ......w.....t..signal.hxq.~..t.7
b6f80 63 6f 6e 73 74 20 73 74 72 75 63 74 20 73 69 67 73 74 61 63 6b 20 2a 73 74 61 63 6b 2c 20 73 74 const.struct.sigstack.*stack,.st
b6fa0 72 75 63 74 20 73 69 67 73 74 61 63 6b 20 2a 6f 6c 64 73 74 61 63 6b 74 00 03 69 6e 74 74 00 0a ruct.sigstack.*oldstackt..intt..
b6fc0 73 69 67 73 75 73 70 65 6e 64 73 71 00 7e 00 0a 70 74 03 85 0a 20 20 20 20 20 20 20 20 54 68 69 sigsuspendsq.~..pt...........Thi
b6fe0 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 70 72 6f 63 65 73 73 27 s.function.replaces.the.process'
b7000 73 20 73 69 67 6e 61 6c 20 6d 61 73 6b 20 77 69 74 68 20 3c 56 41 52 3e 73 65 74 3c 2f 56 41 52 s.signal.mask.with.<VAR>set</VAR
b7020 3e 20 61 6e 64 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 73 75 73 70 65 6e 64 73 20 74 68 65 >.and.then..........suspends.the
b7040 20 70 72 6f 63 65 73 73 20 75 6e 74 69 6c 20 61 20 73 69 67 6e 61 6c 20 69 73 20 64 65 6c 69 76 .process.until.a.signal.is.deliv
b7060 65 72 65 64 20 77 68 6f 73 65 20 61 63 74 69 6f 6e 20 69 73 20 65 69 74 68 65 72 0a 20 20 20 20 ered.whose.action.is.either.....
b7080 20 20 20 20 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 72 .....to.terminate.the.process.or
b70a0 20 69 6e 76 6f 6b 65 20 61 20 73 69 67 6e 61 6c 20 68 61 6e 64 6c 69 6e 67 20 66 75 6e 63 74 69 .invoke.a.signal.handling.functi
b70c0 6f 6e 2e 20 20 49 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 2c 20 74 68 on...In.other..........words,.th
b70e0 65 20 70 72 6f 67 72 61 6d 20 69 73 20 65 66 66 65 63 74 69 76 65 6c 79 20 73 75 73 70 65 6e 64 e.program.is.effectively.suspend
b7100 65 64 20 75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 20 73 69 67 6e 61 6c 73 20 74 68 61 74 ed.until.one.of.the.signals.that
b7120 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 3c 56 41 ..........is.not.a.member.of.<VA
b7140 52 3e 73 65 74 3c 2f 56 41 52 3e 20 61 72 72 69 76 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 R>set</VAR>.arrives...........<b
b7160 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 77 6f 6b 65 6e 20 75 r><br>.If.the.process.is.woken.u
b7180 70 20 62 79 20 64 65 6c 69 76 65 72 79 20 6f 66 20 61 20 73 69 67 6e 61 6c 20 74 68 61 74 20 69 p.by.delivery.of.a.signal.that.i
b71a0 6e 76 6f 6b 65 73 20 61 20 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 nvokes.a.handler..........functi
b71c0 6f 6e 2c 20 61 6e 64 20 74 68 65 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 on,.and.the.handler.function.ret
b71e0 75 72 6e 73 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 73 69 67 73 75 73 70 65 6e 64 3c 2f 43 4f 44 urns,.then.<CODE>sigsuspend</COD
b7200 45 3e 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 2e 0a 20 20 20 20 20 20 E>.also..........returns........
b7220 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6d 61 73 6b 20 72 65 6d 61 69 6e 73 20 3c 56 41 ...<br><br>.The.mask.remains.<VA
b7240 52 3e 73 65 74 3c 2f 56 41 52 3e 20 6f 6e 6c 79 20 61 73 20 6c 6f 6e 67 20 61 73 20 3c 43 4f 44 R>set</VAR>.only.as.long.as.<COD
b7260 45 3e 73 69 67 73 75 73 70 65 6e 64 3c 2f 43 4f 44 45 3e 20 69 73 20 77 61 69 74 69 6e 67 2e 0a E>sigsuspend</CODE>.is.waiting..
b7280 20 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 73 69 67 73 .........The.function.<CODE>sigs
b72a0 75 73 70 65 6e 64 3c 2f 43 4f 44 45 3e 20 61 6c 77 61 79 73 20 72 65 73 74 6f 72 65 73 20 74 68 uspend</CODE>.always.restores.th
b72c0 65 20 70 72 65 76 69 6f 75 73 20 73 69 67 6e 61 6c 20 6d 61 73 6b 0a 20 20 20 20 20 20 20 20 20 e.previous.signal.mask..........
b72e0 77 68 65 6e 20 69 74 20 72 65 74 75 72 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 when.it.returns...........<br><b
b7300 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 61 6e 64 20 65 72 72 6f 72 20 63 6f r>.The.return.value.and.error.co
b7320 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 3c 43 4f nditions.are.the.same.as.for.<CO
b7340 44 45 3e 70 61 75 73 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 DE>pause</CODE>..........sq.~...
b7360 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 1a 25 74 00 13 63 6f 6e ...w.....t..signal.hxq.~.%t..con
b7380 73 74 20 73 69 67 73 65 74 5f 74 20 2a 73 65 74 74 00 03 69 6e 74 74 00 06 73 69 67 76 65 63 73 st.sigset_t.*sett..intt..sigvecs
b73a0 71 00 7e 00 0a 70 74 01 0e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 q.~..pt...........This.function.
b73c0 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 73 69 67 61 63 is.the.equivalent.of.<CODE>sigac
b73e0 74 69 6f 6e 3c 2f 43 4f 44 45 3e 20 3b 20 69 74 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 20 61 63 tion</CODE>.;.it.installs.the.ac
b7400 74 69 6f 6e 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 66 6f 72 20 74 68 65 20 73 tion.<VAR>action</VAR>.for.the.s
b7420 69 67 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e 75 6d 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 ignal.<VAR>signum</VAR>,........
b7440 20 20 72 65 74 75 72 6e 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 ..returning.information.about.th
b7460 65 20 70 72 65 76 69 6f 75 73 20 61 63 74 69 6f 6e 20 69 6e 20 65 66 66 65 63 74 20 66 6f 72 20 e.previous.action.in.effect.for.
b7480 74 68 61 74 20 73 69 67 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 69 6e 20 3c 56 41 52 3e 6f 6c 64 that.signal..........in.<VAR>old
b74a0 2d 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 -action</VAR>..........sq.~.....
b74c0 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 7e 1a 2c 74 00 41 69 6e 74 20 73 .w.....t..signal.hxq.~.,t.Aint.s
b74e0 69 67 6e 75 6d 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 73 69 67 76 65 63 20 2a 61 63 74 69 ignum,.const.struct.sigvec.*acti
b7500 6f 6e 2c 73 74 72 75 63 74 20 73 69 67 76 65 63 20 2a 6f 6c 64 2d 61 63 74 69 6f 6e 74 00 03 69 on,struct.sigvec.*old-actiont..i
b7520 6e 74 74 00 03 73 69 6e 73 71 00 7e 00 0a 70 74 00 b8 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 ntt..sinsq.~..pt...........These
b7540 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 73 69 6e 65 20 6f 66 20 3c 56 .functions.return.the.sine.of.<V
b7560 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 AR>x</VAR>,.where.<VAR>x</VAR>.i
b7580 73 20 67 69 76 65 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6e 73 2e 20 20 54 68 s.given.in..........radians...Th
b75a0 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 3c e.return.value.is.in.the.range.<
b75c0 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e CODE>-1</CODE>.to.<CODE>1</CODE>
b75e0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 ..........sq.~......w.....t..mat
b7600 68 2e 68 78 71 00 7e 1a 33 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 06 h.hxq.~.3t..double.xt..doublet..
b7620 73 69 6e 63 6f 73 73 71 00 7e 00 0a 70 74 01 e8 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 sincossq.~..pt...........These.f
b7640 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 unctions.return.the.sine.of.<VAR
b7660 3e 78 3c 2f 56 41 52 3e 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 73 69 6e 78 3c 2f 56 41 >x</VAR>.in.<CODE>*<VAR>sinx</VA
b7680 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 73 69 6e R></CODE>.and.the..........cosin
b76a0 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 e.of.<VAR>x</VAR>.in.<CODE>*<VAR
b76c0 3e 63 6f 73 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c >cos</VAR></CODE>,.where.<VAR>x<
b76e0 2f 56 41 52 3e 20 69 73 20 67 69 76 65 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 /VAR>.is.given.in..........radia
b7700 6e 73 2e 20 20 42 6f 74 68 20 76 61 6c 75 65 73 2c 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 73 69 ns...Both.values,.<CODE>*<VAR>si
b7720 6e 78 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e nx</VAR></CODE>.and.<CODE>*<VAR>
b7740 63 6f 73 78 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 61 72 65 20 69 6e 0a 20 20 20 20 20 20 cosx</VAR></CODE>,.are.in.......
b7760 20 20 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 ...the.range.of.<CODE>-1</CODE>.
b7780 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e to.<CODE>1</CODE>...........<br>
b77a0 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 <br>.This.function.is.a.GNU.exte
b77c0 6e 73 69 6f 6e 2e 20 20 50 6f 72 74 61 62 6c 65 20 70 72 6f 67 72 61 6d 73 20 73 68 6f 75 6c 64 nsion...Portable.programs.should
b77e0 20 62 65 20 70 72 65 70 61 72 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 63 6f 70 65 20 77 69 .be.prepared..........to.cope.wi
b7800 74 68 20 69 74 73 20 61 62 73 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 th.its.absence..........sq.~....
b7820 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1a 3a 74 00 24 64 6f 75 62 6c 65 ..w.....t..math.hxq.~.:t.$double
b7840 20 78 2c 20 64 6f 75 62 6c 65 20 2a 73 69 6e 78 2c 20 64 6f 75 62 6c 65 20 2a 63 6f 73 78 74 00 .x,.double.*sinx,.double.*cosxt.
b7860 04 76 6f 69 64 74 00 07 73 69 6e 63 6f 73 66 73 71 00 7e 00 0a 70 74 01 e8 0a 20 20 20 20 20 20 .voidt..sincosfsq.~..pt.........
b7880 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 73 69 6e ..These.functions.return.the.sin
b78a0 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 e.of.<VAR>x</VAR>.in.<CODE>*<VAR
b78c0 3e 73 69 6e 78 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 >sinx</VAR></CODE>.and.the......
b78e0 20 20 20 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 6e 20 3c 43 ....cosine.of.<VAR>x</VAR>.in.<C
b7900 4f 44 45 3e 2a 3c 56 41 52 3e 63 6f 73 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 77 68 65 72 ODE>*<VAR>cos</VAR></CODE>,.wher
b7920 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 67 69 76 65 6e 20 69 6e 0a 20 20 20 20 20 e.<VAR>x</VAR>.is.given.in......
b7940 20 20 20 20 72 61 64 69 61 6e 73 2e 20 20 42 6f 74 68 20 76 61 6c 75 65 73 2c 20 3c 43 4f 44 45 ....radians...Both.values,.<CODE
b7960 3e 2a 3c 56 41 52 3e 73 69 6e 78 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f >*<VAR>sinx</VAR></CODE>.and.<CO
b7980 44 45 3e 2a 3c 56 41 52 3e 63 6f 73 78 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2c 20 61 72 65 20 DE>*<VAR>cosx</VAR></CODE>,.are.
b79a0 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 3c 43 4f 44 45 3e 2d in..........the.range.of.<CODE>-
b79c0 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 1</CODE>.to.<CODE>1</CODE>......
b79e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 .....<br><br>.This.function.is.a
b7a00 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 20 20 50 6f 72 74 61 62 6c 65 20 70 72 6f 67 72 61 .GNU.extension...Portable.progra
b7a20 6d 73 20 73 68 6f 75 6c 64 20 62 65 20 70 72 65 70 61 72 65 64 0a 20 20 20 20 20 20 20 20 20 74 ms.should.be.prepared..........t
b7a40 6f 20 63 6f 70 65 20 77 69 74 68 20 69 74 73 20 61 62 73 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 o.cope.with.its.absence.........
b7a60 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1a 41 .sq.~......w.....t..math.hxq.~.A
b7a80 74 00 21 66 6c 6f 61 74 20 78 2c 20 66 6c 6f 61 74 20 2a 73 69 6e 78 2c 20 66 6c 6f 61 74 20 2a t.!float.x,.float.*sinx,.float.*
b7aa0 63 6f 73 78 74 00 04 76 6f 69 64 74 00 07 73 69 6e 63 6f 73 6c 73 71 00 7e 00 0a 70 74 01 e8 0a cosxt..voidt..sincoslsq.~..pt...
b7ac0 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 ........These.functions.return.t
b7ae0 68 65 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 6e 20 3c 43 4f 44 45 he.sine.of.<VAR>x</VAR>.in.<CODE
b7b00 3e 2a 3c 56 41 52 3e 73 69 6e 78 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 >*<VAR>sinx</VAR></CODE>.and.the
b7b20 0a 20 20 20 20 20 20 20 20 20 63 6f 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e ..........cosine.of.<VAR>x</VAR>
b7b40 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 63 6f 73 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e .in.<CODE>*<VAR>cos</VAR></CODE>
b7b60 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 67 69 76 65 6e 20 69 6e ,.where.<VAR>x</VAR>.is.given.in
b7b80 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6e 73 2e 20 20 42 6f 74 68 20 76 61 6c 75 65 73 2c ..........radians...Both.values,
b7ba0 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 73 69 6e 78 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 .<CODE>*<VAR>sinx</VAR></CODE>.a
b7bc0 6e 64 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 63 6f 73 78 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e nd.<CODE>*<VAR>cosx</VAR></CODE>
b7be0 2c 20 61 72 65 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 3c ,.are.in..........the.range.of.<
b7c00 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e CODE>-1</CODE>.to.<CODE>1</CODE>
b7c20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f ...........<br><br>.This.functio
b7c40 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 20 20 50 6f 72 74 61 62 6c 65 20 n.is.a.GNU.extension...Portable.
b7c60 70 72 6f 67 72 61 6d 73 20 73 68 6f 75 6c 64 20 62 65 20 70 72 65 70 61 72 65 64 0a 20 20 20 20 programs.should.be.prepared.....
b7c80 20 20 20 20 20 74 6f 20 63 6f 70 65 20 77 69 74 68 20 69 74 73 20 61 62 73 65 6e 63 65 2e 0a 20 .....to.cope.with.its.absence...
b7ca0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 .......sq.~......w.....t..math.h
b7cc0 78 71 00 7e 1a 48 74 00 33 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 2c 20 6c 6f 6e 67 20 64 6f 75 xq.~.Ht.3long.double.x,.long.dou
b7ce0 62 6c 65 20 2a 73 69 6e 78 2c 20 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 2a 63 6f 73 78 74 00 04 76 ble.*sinx,.long.double.*cosxt..v
b7d00 6f 69 64 74 00 04 73 69 6e 66 73 71 00 7e 00 0a 70 74 00 b8 0a 20 20 20 20 20 20 20 20 54 68 65 oidt..sinfsq.~..pt...........The
b7d20 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 73 69 6e 65 20 6f 66 20 se.functions.return.the.sine.of.
b7d40 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e <VAR>x</VAR>,.where.<VAR>x</VAR>
b7d60 20 69 73 20 67 69 76 65 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6e 73 2e 20 20 .is.given.in..........radians...
b7d80 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 The.return.value.is.in.the.range
b7da0 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 .<CODE>-1</CODE>.to.<CODE>1</COD
b7dc0 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d E>..........sq.~......w.....t..m
b7de0 61 74 68 2e 68 78 71 00 7e 1a 4f 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 04 ath.hxq.~.Ot..float.xt..floatt..
b7e00 73 69 6e 68 73 71 00 7e 00 0a 70 74 00 ee 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e sinhsq.~..pt...........These.fun
b7e20 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e ctions.return.the.hyperbolic.sin
b7e40 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 e.of.<VAR>x</VAR>,.defined......
b7e60 20 20 20 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 28 65 78 70 ....mathematically.as.<CODE>(exp
b7e80 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2d 20 65 78 70 20 28 2d 3c 56 41 52 3e 78 3c 2f .(<VAR>x</VAR>).-.exp.(-<VAR>x</
b7ea0 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 79 0a 20 20 20 20 20 20 20 VAR>))./.2</CODE>...They........
b7ec0 20 20 6d 61 79 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c ..may.signal.overflow.if.<VAR>x<
b7ee0 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e /VAR>.is.too.large..........sq.~
b7f00 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1a 56 74 00 08 64 6f ......w.....t..math.hxq.~.Vt..do
b7f20 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 05 73 69 6e 68 66 73 71 00 7e 00 0a 70 74 00 uble.xt..doublet..sinhfsq.~..pt.
b7f40 ee 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e ..........These.functions.return
b7f60 20 74 68 65 20 68 79 70 65 72 62 6f 6c 69 63 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f .the.hyperbolic.sine.of.<VAR>x</
b7f80 56 41 52 3e 2c 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 6d 61 74 68 65 6d 61 74 69 VAR>,.defined..........mathemati
b7fa0 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 28 65 78 70 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 cally.as.<CODE>(exp.(<VAR>x</VAR
b7fc0 3e 29 20 2d 20 65 78 70 20 28 2d 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 >).-.exp.(-<VAR>x</VAR>))./.2</C
b7fe0 4f 44 45 3e 2e 20 20 54 68 65 79 0a 20 20 20 20 20 20 20 20 20 6d 61 79 20 73 69 67 6e 61 6c 20 ODE>...They..........may.signal.
b8000 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 overflow.if.<VAR>x</VAR>.is.too.
b8020 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 large..........sq.~......w.....t
b8040 00 06 6d 61 74 68 2e 68 78 71 00 7e 1a 5d 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 ..math.hxq.~.]t..float.xt..float
b8060 74 00 05 73 69 6e 68 6c 73 71 00 7e 00 0a 70 74 00 ee 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 t..sinhlsq.~..pt...........These
b8080 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 68 79 70 65 72 62 6f 6c 69 63 .functions.return.the.hyperbolic
b80a0 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 64 65 66 69 6e 65 64 0a 20 .sine.of.<VAR>x</VAR>,.defined..
b80c0 20 20 20 20 20 20 20 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e ........mathematically.as.<CODE>
b80e0 28 65 78 70 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2d 20 65 78 70 20 28 2d 3c 56 41 52 (exp.(<VAR>x</VAR>).-.exp.(-<VAR
b8100 3e 78 3c 2f 56 41 52 3e 29 29 20 2f 20 32 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 79 0a 20 20 20 >x</VAR>))./.2</CODE>...They....
b8120 20 20 20 20 20 20 6d 61 79 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 ......may.signal.overflow.if.<VA
b8140 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 R>x</VAR>.is.too.large..........
b8160 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1a 64 74 sq.~......w.....t..math.hxq.~.dt
b8180 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 ..long.double.xt..long.doublet..
b81a0 73 69 6e 6c 73 71 00 7e 00 0a 70 74 00 b8 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e sinlsq.~..pt...........These.fun
b81c0 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 73 69 6e 65 20 6f 66 20 3c 56 41 52 3e 78 ctions.return.the.sine.of.<VAR>x
b81e0 3c 2f 56 41 52 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 67 69 </VAR>,.where.<VAR>x</VAR>.is.gi
b8200 76 65 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6e 73 2e 20 20 54 68 65 20 72 65 ven.in..........radians...The.re
b8220 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 3c 43 4f 44 45 turn.value.is.in.the.range.<CODE
b8240 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 >-1</CODE>.to.<CODE>1</CODE>....
b8260 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 ......sq.~......w.....t..math.hx
b8280 71 00 7e 1a 6b 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 q.~.kt..long.double.xt..long.dou
b82a0 62 6c 65 74 00 05 73 6c 65 65 70 73 71 00 7e 00 0a 70 74 01 e1 0a 20 20 20 20 20 20 20 20 54 68 blet..sleepsq.~..pt...........Th
b82c0 65 20 3c 43 4f 44 45 3e 73 6c 65 65 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 e.<CODE>sleep</CODE>.function.wa
b82e0 69 74 73 20 66 6f 72 20 3c 56 41 52 3e 73 65 63 6f 6e 64 73 3c 2f 56 41 52 3e 20 6f 72 20 75 6e its.for.<VAR>seconds</VAR>.or.un
b8300 74 69 6c 20 61 20 73 69 67 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 69 73 20 64 65 6c 69 76 65 72 til.a.signal..........is.deliver
b8320 65 64 2c 20 77 68 69 63 68 65 76 65 72 20 68 61 70 70 65 6e 73 20 66 69 72 73 74 2e 0a 20 20 20 ed,.whichever.happens.first.....
b8340 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 45 3e 73 6c 65 65 70 3c 2f 43 ......<br><br>.If.<CODE>sleep</C
b8360 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 62 65 63 61 75 73 65 20 74 68 ODE>.function.returns.because.th
b8380 65 20 72 65 71 75 65 73 74 65 64 20 69 6e 74 65 72 76 61 6c 20 69 73 20 6f 76 65 72 2c 0a 20 20 e.requested.interval.is.over,...
b83a0 20 20 20 20 20 20 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 66 20 7a 65 72 .......it.returns.a.value.of.zer
b83c0 6f 2e 20 20 49 66 20 69 74 20 72 65 74 75 72 6e 73 20 62 65 63 61 75 73 65 20 6f 66 20 64 65 6c o...If.it.returns.because.of.del
b83e0 69 76 65 72 79 20 6f 66 20 61 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 61 6c 2c 20 69 74 73 20 ivery.of.a..........signal,.its.
b8400 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 74 69 return.value.is.the.remaining.ti
b8420 6d 65 20 69 6e 20 74 68 65 20 73 6c 65 65 70 20 69 6e 74 65 72 76 61 6c 2e 0a 20 20 20 20 20 20 me.in.the.sleep.interval........
b8440 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 6c 65 65 70 3c 2f 43 4f 44 ...<br><br>.The.<CODE>sleep</COD
b8460 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 75 E>.function.is.declared.in.<TT>u
b8480 6e 69 73 74 64 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 nistd.h</TT>..........sq.~......
b84a0 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1a 72 74 00 14 75 6e 73 69 67 6e w.....t..unistd.hxq.~.rt..unsign
b84c0 65 64 20 69 6e 74 20 73 65 63 6f 6e 64 73 74 00 0c 75 6e 73 69 67 6e 65 64 20 69 6e 74 74 00 08 ed.int.secondst..unsigned.intt..
b84e0 73 6e 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 0a 26 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c snprintfsq.~..pt.&.........The.<
b8500 43 4f 44 45 3e 73 6e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 CODE>snprintf</CODE>.function.is
b8520 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e .similar.to.<CODE>sprintf</CODE>
b8540 2c 20 65 78 63 65 70 74 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 56 41 52 3e ,.except.that..........the.<VAR>
b8560 73 69 7a 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 74 68 size</VAR>.argument.specifies.th
b8580 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 74 e.maximum.number.of.characters.t
b85a0 6f 0a 20 20 20 20 20 20 20 20 20 70 72 6f 64 75 63 65 2e 20 20 54 68 65 20 74 72 61 69 6c 69 6e o..........produce...The.trailin
b85c0 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 20 63 6f 75 6e 74 65 64 20 74 6f 77 61 g.null.character.is.counted.towa
b85e0 72 64 73 20 74 68 69 73 20 6c 69 6d 69 74 2c 20 73 6f 0a 20 20 20 20 20 20 20 20 20 79 6f 75 20 rds.this.limit,.so..........you.
b8600 73 68 6f 75 6c 64 20 61 6c 6c 6f 63 61 74 65 20 61 74 20 6c 65 61 73 74 20 3c 56 41 52 3e 73 69 should.allocate.at.least.<VAR>si
b8620 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 66 6f 72 20 74 68 65 20 73 74 72 69 ze</VAR>.characters.for.the.stri
b8640 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ng.<VAR>s</VAR>...........<br><b
b8660 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 6e 75 6d 62 65 r>.The.return.value.is.the.numbe
b8680 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 77 68 69 63 68 20 77 6f 75 6c 64 20 62 65 20 67 r.of.characters.which.would.be.g
b86a0 65 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 enerated..........for.the.given.
b86c0 69 6e 70 75 74 2c 20 65 78 63 6c 75 64 69 6e 67 20 74 68 65 20 74 72 61 69 6c 69 6e 67 20 6e 75 input,.excluding.the.trailing.nu
b86e0 6c 6c 2e 20 20 49 66 20 74 68 69 73 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 67 ll...If.this.value.is..........g
b8700 72 65 61 74 65 72 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 reater.or.equal.to.<VAR>size</VA
b8720 52 3e 2c 20 6e 6f 74 20 61 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 R>,.not.all.characters.from.the.
b8740 72 65 73 75 6c 74 20 68 61 76 65 0a 20 20 20 20 20 20 20 20 20 62 65 65 6e 20 73 74 6f 72 65 64 result.have..........been.stored
b8760 20 69 6e 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2e 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 74 72 .in.<VAR>s</VAR>...You.should.tr
b8780 79 20 61 67 61 69 6e 20 77 69 74 68 20 61 20 62 69 67 67 65 72 20 6f 75 74 70 75 74 0a 20 20 20 y.again.with.a.bigger.output....
b87a0 20 20 20 20 20 20 73 74 72 69 6e 67 2e 20 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c ......string...Here.is.an.exampl
b87c0 65 20 6f 66 20 64 6f 69 6e 67 20 74 68 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 e.of.doing.this:..........<br><b
b87e0 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 r>.<pre><br>..........<br>......
b8800 20 20 20 20 2f 2a 20 43 6f 6e 73 74 72 75 63 74 20 61 20 6d 65 73 73 61 67 65 20 64 65 73 63 72 ..../*.Construct.a.message.descr
b8820 69 62 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 3c 62 72 ibing.the.value.of.a.variable<br
b8840 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 6f 73 65 20 6e 61 6d 65 20 69 73 20 3c 56 41 52 >.............whose.name.is.<VAR
b8860 3e 6e 61 6d 65 3c 2f 56 41 52 3e 20 61 6e 64 20 77 68 6f 73 65 20 76 61 6c 75 65 20 69 73 20 3c >name</VAR>.and.whose.value.is.<
b8880 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 VAR>value</VAR>..*/<br>.........
b88a0 20 63 68 61 72 20 2a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6d 61 6b 65 5f 6d 65 73 73 61 67 .char.*<br>..........make_messag
b88c0 65 20 28 63 68 61 72 20 2a 6e 61 6d 65 2c 20 63 68 61 72 20 2a 76 61 6c 75 65 29 3c 62 72 3e 0a e.(char.*name,.char.*value)<br>.
b88e0 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 47 75 65 .........{<br>............/*.Gue
b8900 73 73 20 77 65 20 6e 65 65 64 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 31 30 30 20 63 68 61 72 ss.we.need.no.more.than.100.char
b8920 73 20 6f 66 20 73 70 61 63 65 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e s.of.space..*/<br>............in
b8940 74 20 73 69 7a 65 20 3d 20 31 30 30 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 t.size.=.100;<br>............cha
b8960 72 20 2a 62 75 66 66 65 72 20 3d 20 28 63 68 61 72 20 2a 29 20 78 6d 61 6c 6c 6f 63 20 28 73 69 r.*buffer.=.(char.*).xmalloc.(si
b8980 7a 65 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 6e 63 68 61 72 73 3b 3c ze);<br>............int.nchars;<
b89a0 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a br>..........<br>..........<br>.
b89c0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 62 75 66 66 65 72 20 3d 3d 20 4e 55 4c 4c 29 3c 62 ...........if.(buffer.==.NULL)<b
b89e0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 3c 62 72 3e r>..............return.NULL;<br>
b8a00 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 2f 2a 20 54 72 79 20 74 6f 20 70 72 ..........<br><br>../*.Try.to.pr
b8a20 69 6e 74 20 69 6e 20 74 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 73 70 61 63 65 2e 20 2a 2f 3c 62 int.in.the.allocated.space..*/<b
b8a40 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 6e 63 68 61 72 73 20 3d 20 73 6e 70 72 69 6e 74 66 20 r>............nchars.=.snprintf.
b8a60 28 62 75 66 66 65 72 2c 20 73 69 7a 65 2c 20 22 76 61 6c 75 65 20 6f 66 20 25 73 20 69 73 20 25 (buffer,.size,."value.of.%s.is.%
b8a80 73 22 2c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s",<br>.........................
b8aa0 20 20 20 20 20 20 6e 61 6d 65 2c 20 76 61 6c 75 65 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 ......name,.value);<br>.........
b8ac0 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 69 .<br>..........<br>............i
b8ae0 66 20 28 6e 63 68 61 72 73 20 3e 3d 20 73 69 7a 65 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 f.(nchars.>=.size)<br>..........
b8b00 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 52 65 61 6c ....{<br>................/*.Real
b8b20 6c 6f 63 61 74 65 20 62 75 66 66 65 72 20 6e 6f 77 20 74 68 61 74 20 77 65 20 6b 6e 6f 77 3c 62 locate.buffer.now.that.we.know<b
b8b40 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 6f 77 20 6d 75 63 68 20 73 70 r>...................how.much.sp
b8b60 61 63 65 20 69 73 20 6e 65 65 64 65 64 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 ace.is.needed..*/<br>...........
b8b80 20 20 20 20 20 73 69 7a 65 20 3d 20 6e 63 68 61 72 73 20 2b 20 31 3b 3c 62 72 3e 0a 20 20 20 20 .....size.=.nchars.+.1;<br>.....
b8ba0 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 3d 20 28 63 68 61 72 20 2a 29 20 78 72 65 ...........buffer.=.(char.*).xre
b8bc0 61 6c 6c 6f 63 20 28 62 75 66 66 65 72 2c 20 73 69 7a 65 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 alloc.(buffer,.size);<br>.......
b8be0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 20 20 20 20 20 69 66 20 28 62 75 66 66 65 72 20 21 3d 20 ...<br><br>.......if.(buffer.!=.
b8c00 4e 55 4c 4c 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 54 72 NULL)<br>................../*.Tr
b8c20 79 20 61 67 61 69 6e 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y.again..*/<br>.................
b8c40 20 73 6e 70 72 69 6e 74 66 20 28 62 75 66 66 65 72 2c 20 73 69 7a 65 2c 20 22 76 61 6c 75 65 20 .snprintf.(buffer,.size,."value.
b8c60 6f 66 20 25 73 20 69 73 20 25 73 22 2c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 of.%s.is.%s",<br>...............
b8c80 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 2c 20 76 61 6c 75 65 29 3b 3c 62 72 3e 0a 20 .............name,.value);<br>..
b8ca0 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 ............}<br>............/*.
b8cc0 54 68 65 20 6c 61 73 74 20 63 61 6c 6c 20 77 6f 72 6b 65 64 2c 20 72 65 74 75 72 6e 20 74 68 65 The.last.call.worked,.return.the
b8ce0 20 73 74 72 69 6e 67 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 .string..*/<br>............retur
b8d00 6e 20 62 75 66 66 65 72 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 n.buffer;<br>..........}<br>....
b8d20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 ......<br>..........</pre>......
b8d40 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 70 72 61 63 74 69 63 65 2c 20 69 74 20 69 73 20 ....<br><br>.In.practice,.it.is.
b8d60 6f 66 74 65 6e 20 65 61 73 69 65 72 20 6a 75 73 74 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 61 often.easier.just.to.use.<CODE>a
b8d80 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2c 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 sprintf</CODE>,.below...........
b8da0 3c 62 72 3e 3c 62 72 3e 20 41 74 74 65 6e 74 69 6f 6e 3a 20 49 6e 20 76 65 72 73 69 6f 6e 73 20 <br><br>.Attention:.In.versions.
b8dc0 6f 66 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 20 70 72 69 6f 72 20 74 6f 20 32 2e of.the.GNU.C.library.prior.to.2.
b8de0 31 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 1.the..........return.value.is.t
b8e00 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 73 74 6f 72 65 64 2c 20 he.number.of.characters.stored,.
b8e20 6e 6f 74 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 not.including.the..........termi
b8e40 6e 61 74 69 6e 67 20 6e 75 6c 6c 3b 20 75 6e 6c 65 73 73 20 74 68 65 72 65 20 77 61 73 20 6e 6f nating.null;.unless.there.was.no
b8e60 74 20 65 6e 6f 75 67 68 20 73 70 61 63 65 20 69 6e 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 74 t.enough.space.in.<VAR>s</VAR>.t
b8e80 6f 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 69 6e 20 77 o..........store.the.result.in.w
b8ea0 68 69 63 68 20 63 61 73 65 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 hich.case.<CODE>-1</CODE>.is.ret
b8ec0 75 72 6e 65 64 2e 20 20 54 68 69 73 20 77 61 73 0a 20 20 20 20 20 20 20 20 20 63 68 61 6e 67 65 urned...This.was..........change
b8ee0 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 63 6f 6d 70 6c 79 20 77 69 74 68 20 74 68 65 20 49 53 d.in.order.to.comply.with.the.IS
b8f00 4f 20 43 39 39 20 73 74 61 6e 64 61 72 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 O.C99.standard..........sq.~....
b8f20 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1a 79 74 00 2f 63 68 61 72 20 ..w.....t..stdio.hxq.~.yt./char.
b8f40 2a 73 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d *s,.size_t.size,.const.char.*tem
b8f60 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 06 73 6f 63 6b 65 74 73 71 00 7e 00 0a 70 plate,....t..intt..socketsq.~..p
b8f80 74 06 51 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 t.Q.........This.function.create
b8fa0 73 20 61 20 73 6f 63 6b 65 74 20 61 6e 64 20 73 70 65 63 69 66 69 65 73 20 63 6f 6d 6d 75 6e 69 s.a.socket.and.specifies.communi
b8fc0 63 61 74 69 6f 6e 20 73 74 79 6c 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 79 6c 65 cation.style..........<VAR>style
b8fe0 3c 2f 56 41 52 3e 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 62 65 20 6f 6e 65 20 6f 66 20 74 </VAR>,.which.should.be.one.of.t
b9000 68 65 20 73 6f 63 6b 65 74 20 73 74 79 6c 65 73 20 6c 69 73 74 65 64 20 69 6e 0a 20 20 20 20 20 he.socket.styles.listed.in......
b9020 20 20 20 20 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 53 74 79 6c 65 73 2e 20 20 54 68 65 20 3c ....Communication.Styles...The.<
b9040 56 41 52 3e 6e 61 6d 65 73 70 61 63 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 70 65 VAR>namespace</VAR>.argument.spe
b9060 63 69 66 69 65 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 3b 20 69 cifies..........the.namespace;.i
b9080 74 20 6d 75 73 74 20 62 65 20 3c 43 4f 44 45 3e 50 46 5f 4c 4f 43 41 4c 3c 2f 43 4f 44 45 3e 20 t.must.be.<CODE>PF_LOCAL</CODE>.
b90a0 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 50 46 5f 49 4e 45 54 3c 2f 43 4f 44 45 .or..........<CODE>PF_INET</CODE
b90c0 3e 20 2e 20 20 3c 56 41 52 3e 70 72 6f 74 6f 63 6f 6c 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 >....<VAR>protocol</VAR>........
b90e0 20 20 64 65 73 69 67 6e 61 74 65 73 20 74 68 65 20 73 70 65 63 69 66 69 63 20 70 72 6f 74 6f 63 ..designates.the.specific.protoc
b9100 6f 6c 20 3b 20 7a 65 72 6f 20 69 73 0a 20 20 20 20 20 20 20 20 20 75 73 75 61 6c 6c 79 20 72 69 ol.;.zero.is..........usually.ri
b9120 67 68 74 20 66 6f 72 20 3c 56 41 52 3e 70 72 6f 74 6f 63 6f 6c 3c 2f 56 41 52 3e 2e 0a 20 20 20 ght.for.<VAR>protocol</VAR>.....
b9140 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 ......<br><br>.The.return.value.
b9160 66 72 6f 6d 20 3c 43 4f 44 45 3e 73 6f 63 6b 65 74 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 from.<CODE>socket</CODE>.is.the.
b9180 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 66 6f 72 20 74 68 65 20 6e 65 77 0a 20 20 20 20 file.descriptor.for.the.new.....
b91a0 20 20 20 20 20 73 6f 63 6b 65 74 2c 20 6f 72 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 .....socket,.or.<CODE>-1</CODE>.
b91c0 69 6e 20 63 61 73 65 20 6f 66 20 65 72 72 6f 72 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 in.case.of.error...The.following
b91e0 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 .<CODE>errno</CODE>.error.......
b9200 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 ...conditions.are.defined.for.th
b9220 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c is.function:..........<br><br>.<
b9240 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 52 4f 54 4f 4e 4f DL>...........<DT><CODE>EPROTONO
b9260 53 55 50 50 4f 52 54 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 70 72 6f 74 6f 63 SUPPORT..........The.<VAR>protoc
b9280 6f 6c 3c 2f 56 41 52 3e 20 6f 72 20 3c 56 41 52 3e 73 74 79 6c 65 3c 2f 56 41 52 3e 20 69 73 20 ol</VAR>.or.<VAR>style</VAR>.is.
b92a0 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e not.supported.by.the</CODE>.<DD>
b92c0 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 61 6d 65 73 70 61 63 65 3c 2f 56 41 52 3e 20 73 ..........<VAR>namespace</VAR>.s
b92e0 70 65 63 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e pecified...........<br><br>.<DT>
b9300 3c 43 4f 44 45 3e 45 4d 46 49 4c 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 <CODE>EMFILE</CODE>.<DD>........
b9320 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 61 6c 72 65 61 64 79 20 68 61 73 20 74 6f 6f 20 6d 61 ..The.process.already.has.too.ma
b9340 6e 79 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 6f 70 65 6e 2e 0a 20 20 20 20 20 20 ny.file.descriptors.open........
b9360 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 46 49 4c 45 3c 2f 43 4f ...<br><br>.<DT><CODE>ENFILE</CO
b9380 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 79 73 74 65 6d 20 61 6c 72 DE>.<DD>..........The.system.alr
b93a0 65 61 64 79 20 68 61 73 20 74 6f 6f 20 6d 61 6e 79 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f eady.has.too.many.file.descripto
b93c0 72 73 20 6f 70 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c rs.open...........<br><br>.<DT><
b93e0 43 4f 44 45 3e 45 41 43 43 45 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 CODE>EACCES..........The.process
b9400 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 70 72 69 76 69 6c 65 67 65 20 74 6f 20 .does.not.have.the.privilege.to.
b9420 63 72 65 61 74 65 20 61 20 73 6f 63 6b 65 74 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64 create.a.socket.of.the.specified
b9440 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 79 6c 65 </CODE>.<DD>..........<VAR>style
b9460 3c 2f 56 41 52 3e 20 6f 72 20 3c 56 41 52 3e 70 72 6f 74 6f 63 6f 6c 3c 2f 56 41 52 3e 2e 0a 20 </VAR>.or.<VAR>protocol</VAR>...
b9480 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 42 55 ........<br><br>.<DT><CODE>ENOBU
b94a0 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 79 73 74 FS</CODE>.<DD>..........The.syst
b94c0 65 6d 20 72 61 6e 20 6f 75 74 20 6f 66 20 69 6e 74 65 72 6e 61 6c 20 62 75 66 66 65 72 20 73 70 em.ran.out.of.internal.buffer.sp
b94e0 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ace...........</DL>..........<br
b9500 3e 3c 62 72 3e 20 54 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 72 65 74 75 72 6e ><br>.The.file.descriptor.return
b9520 65 64 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 73 6f 63 6b 65 74 3c 2f 43 4f 44 45 3e 20 66 75 ed.by.the.<CODE>socket</CODE>.fu
b9540 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 20 62 6f 74 68 0a 20 20 20 20 20 20 20 20 20 72 65 nction.supports.both..........re
b9560 61 64 20 61 6e 64 20 77 72 69 74 65 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 20 48 6f 77 65 76 65 ad.and.write.operations...Howeve
b9580 72 2c 20 6c 69 6b 65 20 70 69 70 65 73 2c 20 73 6f 63 6b 65 74 73 20 64 6f 20 6e 6f 74 20 73 75 r,.like.pipes,.sockets.do.not.su
b95a0 70 70 6f 72 74 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 pport.file..........positioning.
b95c0 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 operations..........sq.~......w.
b95e0 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e 1a 80 74 00 26 69 6e 74 20 ....t..sys/socket.hxq.~..t.&int.
b9600 6e 61 6d 65 73 70 61 63 65 2c 20 69 6e 74 20 73 74 79 6c 65 2c 20 69 6e 74 20 70 72 6f 74 6f 63 namespace,.int.style,.int.protoc
b9620 6f 6c 74 00 03 69 6e 74 74 00 0a 73 6f 63 6b 65 74 70 61 69 72 73 71 00 7e 00 0a 70 74 06 fe 0a olt..intt..socketpairsq.~..pt...
b9640 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 ........This.function.creates.a.
b9660 73 6f 63 6b 65 74 20 70 61 69 72 2c 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 socket.pair,.returning.the.file.
b9680 64 65 73 63 72 69 70 74 6f 72 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 3c 56 descriptors.in..........<CODE><V
b96a0 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 5b 30 5d 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c AR>filedes</VAR>[0]</CODE>.and.<
b96c0 43 4f 44 45 3e 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 5b 31 5d 3c 2f 43 4f 44 45 CODE><VAR>filedes</VAR>[1]</CODE
b96e0 3e 2e 20 20 54 68 65 20 73 6f 63 6b 65 74 20 70 61 69 72 0a 20 20 20 20 20 20 20 20 20 69 73 20 >...The.socket.pair..........is.
b9700 61 20 66 75 6c 6c 2d 64 75 70 6c 65 78 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 73 20 63 68 61 a.full-duplex.communications.cha
b9720 6e 6e 65 6c 2c 20 73 6f 20 74 68 61 74 20 62 6f 74 68 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 nnel,.so.that.both.reading.and.w
b9740 72 69 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6d 61 79 20 62 65 20 70 65 72 66 6f 72 6d 65 64 riting..........may.be.performed
b9760 20 61 74 20 65 69 74 68 65 72 20 65 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .at.either.end...........<br><br
b9780 3e 20 54 68 65 20 3c 56 41 52 3e 6e 61 6d 65 73 70 61 63 65 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 >.The.<VAR>namespace</VAR>,.<VAR
b97a0 3e 73 74 79 6c 65 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 70 72 6f 74 6f 63 6f 6c 3c 2f >style</VAR>.and.<VAR>protocol</
b97c0 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 VAR>.arguments.are..........inte
b97e0 72 70 72 65 74 65 64 20 61 73 20 66 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 73 6f 63 6b 65 74 3c rpreted.as.for.the.<CODE>socket<
b9800 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 3c 56 41 52 3e 73 74 79 6c 65 3c 2f 56 41 /CODE>.function...<VAR>style</VA
b9820 52 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 6f 6e 65 20 6f 66 20 74 68 65 R>.should.be..........one.of.the
b9840 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 73 74 79 6c 65 73 20 6c 69 73 74 65 64 20 69 6e 20 .communication.styles.listed.in.
b9860 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 53 74 79 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 20 54 Communication.Styles...........T
b9880 68 65 20 3c 56 41 52 3e 6e 61 6d 65 73 70 61 63 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 he.<VAR>namespace</VAR>.argument
b98a0 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 2c 20 77 68 69 63 68 20 .specifies.the.namespace,.which.
b98c0 6d 75 73 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 41 46 5f 4c 4f 43 41 4c 3c must.be..........<CODE>AF_LOCAL<
b98e0 2f 43 4f 44 45 3e 20 3b 20 3c 56 41 52 3e 70 72 6f 74 6f 63 6f 6c 3c 2f 56 41 52 3e 20 73 70 65 /CODE>.;.<VAR>protocol</VAR>.spe
b9900 63 69 66 69 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f cifies.the..........communicatio
b9920 6e 73 20 70 72 6f 74 6f 63 6f 6c 2c 20 62 75 74 20 7a 65 72 6f 20 69 73 20 74 68 65 20 6f 6e 6c ns.protocol,.but.zero.is.the.onl
b9940 79 20 6d 65 61 6e 69 6e 67 66 75 6c 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 y.meaningful.value...........<br
b9960 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 73 74 79 6c 65 3c 2f 56 41 52 3e 20 73 70 65 63 69 66 ><br>.If.<VAR>style</VAR>.specif
b9980 69 65 73 20 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 6c 65 73 73 20 63 6f 6d 6d 75 6e 69 63 61 74 69 ies.a.connectionless.communicati
b99a0 6f 6e 20 73 74 79 6c 65 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 74 77 6f 20 on.style,.then..........the.two.
b99c0 73 6f 63 6b 65 74 73 20 79 6f 75 20 67 65 74 20 61 72 65 20 6e 6f 74 20 3c 45 4d 3e 63 6f 6e 6e sockets.you.get.are.not.<EM>conn
b99e0 65 63 74 65 64 3c 2f 45 4d 3e 2c 20 73 74 72 69 63 74 6c 79 20 73 70 65 61 6b 69 6e 67 2c 0a 20 ected</EM>,.strictly.speaking,..
b9a00 20 20 20 20 20 20 20 20 62 75 74 20 65 61 63 68 20 6f 66 20 74 68 65 6d 20 6b 6e 6f 77 73 20 74 ........but.each.of.them.knows.t
b9a20 68 65 20 6f 74 68 65 72 20 61 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 64 65 73 74 69 6e 61 74 he.other.as.the.default.destinat
b9a40 69 6f 6e 20 61 64 64 72 65 73 73 2c 0a 20 20 20 20 20 20 20 20 20 73 6f 20 74 68 65 79 20 63 61 ion.address,..........so.they.ca
b9a60 6e 20 73 65 6e 64 20 70 61 63 6b 65 74 73 20 74 6f 20 65 61 63 68 20 6f 74 68 65 72 2e 0a 20 20 n.send.packets.to.each.other....
b9a80 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 6f 63 6b 65 74 .......<br><br>.The.<CODE>socket
b9aa0 70 61 69 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f pair</CODE>.function.returns.<CO
b9ac0 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 73 75 63 63 65 73 73 20 61 6e 64 20 3c 43 4f 44 45 DE>0</CODE>.on.success.and.<CODE
b9ae0 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 >-1</CODE>..........on.failure..
b9b00 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 .The.following.<CODE>errno</CODE
b9b20 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 0a 20 >.error.conditions.are.defined..
b9b40 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 ........for.this.function:......
b9b60 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e ....<br><br>.<DL>...........<DT>
b9b80 3c 43 4f 44 45 3e 45 4d 46 49 4c 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 <CODE>EMFILE</CODE>.<DD>........
b9ba0 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 68 61 73 20 74 6f 6f 20 6d 61 6e 79 20 66 69 6c 65 20 ..The.process.has.too.many.file.
b9bc0 64 65 73 63 72 69 70 74 6f 72 73 20 6f 70 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c descriptors.open...........<br><
b9be0 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 46 4e 4f 53 55 50 50 4f 52 54 3c 2f 43 4f 44 45 br>.<DT><CODE>EAFNOSUPPORT</CODE
b9c00 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 70 65 63 69 66 69 65 64 20 6e 61 >.<DD>..........The.specified.na
b9c20 6d 65 73 70 61 63 65 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 0a 20 20 20 20 20 20 mespace.is.not.supported........
b9c40 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 52 4f 54 4f 4e 4f 53 55 ...<br><br>.<DT><CODE>EPROTONOSU
b9c60 50 50 4f 52 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 PPORT</CODE>.<DD>..........The.s
b9c80 70 65 63 69 66 69 65 64 20 70 72 6f 74 6f 63 6f 6c 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 pecified.protocol.is.not.support
b9ca0 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e ed...........<br><br>.<DT><CODE>
b9cc0 45 4f 50 4e 4f 54 53 55 50 50 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 EOPNOTSUPP</CODE>.<DD>..........
b9ce0 54 68 65 20 73 70 65 63 69 66 69 65 64 20 70 72 6f 74 6f 63 6f 6c 20 64 6f 65 73 20 6e 6f 74 20 The.specified.protocol.does.not.
b9d00 73 75 70 70 6f 72 74 20 74 68 65 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 73 6f 63 6b 65 74 20 70 support.the.creation.of.socket.p
b9d20 61 69 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 airs...........</DL>.........sq.
b9d40 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 2f 73 6f 63 6b 65 74 2e 68 78 71 00 7e ~......w.....t..sys/socket.hxq.~
b9d60 1a 87 74 00 36 69 6e 74 20 6e 61 6d 65 73 70 61 63 65 2c 20 69 6e 74 20 73 74 79 6c 65 2c 20 69 ..t.6int.namespace,.int.style,.i
b9d80 6e 74 20 70 72 6f 74 6f 63 6f 6c 2c 20 69 6e 74 20 66 69 6c 65 64 65 73 5b 32 5d 74 00 03 69 6e nt.protocol,.int.filedes[2]t..in
b9da0 74 74 00 07 73 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 04 5c 0a 20 20 20 20 20 20 20 20 54 68 tt..sprintfsq.~..pt.\.........Th
b9dc0 69 73 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2c 20 is.is.like.<CODE>printf</CODE>,.
b9de0 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6f 75 74 70 75 74 20 69 73 20 73 74 6f 72 65 64 except.that.the.output.is.stored
b9e00 20 69 6e 20 74 68 65 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 61 72 72 61 79 .in.the.character..........array
b9e20 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 77 72 69 74 74 65 6e .<VAR>s</VAR>.instead.of.written
b9e40 20 74 6f 20 61 20 73 74 72 65 61 6d 2e 20 20 41 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 .to.a.stream...A.null.character.
b9e60 69 73 20 77 72 69 74 74 65 6e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 is.written..........to.mark.the.
b9e80 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e end.of.the.string...........<br>
b9ea0 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 66 75 <br>.The.<CODE>sprintf</CODE>.fu
b9ec0 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 nction.returns.the.number.of.cha
b9ee0 72 61 63 74 65 72 73 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 61 racters.stored.in..........the.a
b9f00 72 72 61 79 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2c 20 6e 6f 74 20 69 6e 63 6c 75 64 69 6e 67 rray.<VAR>s</VAR>,.not.including
b9f20 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 2e .the.terminating.null.character.
b9f40 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 62 65 68 61 76 69 6f 72 20 ..........<br><br>.The.behavior.
b9f60 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 66 of.this.function.is.undefined.if
b9f80 20 63 6f 70 79 69 6e 67 20 74 61 6b 65 73 20 70 6c 61 63 65 0a 20 20 20 20 20 20 20 20 20 62 65 .copying.takes.place..........be
b9fa0 74 77 65 65 6e 20 6f 62 6a 65 63 74 73 20 74 68 61 74 20 6f 76 65 72 6c 61 70 2d 2d 2d 66 6f 72 tween.objects.that.overlap---for
b9fc0 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 69 73 20 61 6c 73 .example,.if.<VAR>s</VAR>.is.als
b9fe0 6f 20 67 69 76 65 6e 0a 20 20 20 20 20 20 20 20 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 o.given..........as.an.argument.
ba000 74 6f 20 62 65 20 70 72 69 6e 74 65 64 20 75 6e 64 65 72 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 74 to.be.printed.under.control.of.t
ba020 68 65 20 3c 73 61 6d 70 3e 25 73 3c 2f 73 61 6d 70 3e 20 63 6f 6e 76 65 72 73 69 6f 6e 2e 0a 20 he.<samp>%s</samp>.conversion...
ba040 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 61 72 6e ...................<br><br>.Warn
ba060 69 6e 67 3a 20 54 68 65 20 3c 43 4f 44 45 3e 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 66 75 ing:.The.<CODE>sprintf</CODE>.fu
ba080 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 64 61 6e 67 65 72 6f 75 73 0a 20 20 20 20 20 20 20 20 nction.can.be.dangerous.........
ba0a0 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 6f 75 74 70 .because.it.can.potentially.outp
ba0c0 75 74 20 6d 6f 72 65 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 6e 20 63 61 6e 20 66 69 74 20 ut.more.characters.than.can.fit.
ba0e0 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 73 69 7a 65 20 in.the..........allocation.size.
ba100 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2e 20 20 52 65 6d of.the.string.<VAR>s</VAR>...Rem
ba120 65 6d 62 65 72 20 74 68 61 74 20 74 68 65 20 66 69 65 6c 64 20 77 69 64 74 68 0a 20 20 20 20 20 ember.that.the.field.width......
ba140 20 20 20 20 67 69 76 65 6e 20 69 6e 20 61 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 70 65 63 69 66 ....given.in.a.conversion.specif
ba160 69 63 61 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 61 20 3c 45 4d 3e 6d 69 6e 69 6d 75 6d 3c 2f 45 ication.is.only.a.<EM>minimum</E
ba180 4d 3e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 61 M>.value...........<br><br>.To.a
ba1a0 76 6f 69 64 20 74 68 69 73 20 70 72 6f 62 6c 65 6d 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 3c void.this.problem,.you.can.use.<
ba1c0 43 4f 44 45 3e 73 6e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 61 73 CODE>snprintf</CODE>.or.<CODE>as
ba1e0 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 62 65 printf</CODE>,..........describe
ba200 64 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 d.below..........sq.~......w....
ba220 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1a 8e 74 00 22 63 68 61 72 20 2a 73 2c 20 63 6f 6e .t..stdio.hxq.~..t."char.*s,.con
ba240 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 04 73 st.char.*template,....t..intt..s
ba260 71 72 74 73 71 00 7e 00 0a 70 74 00 ea 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 qrtsq.~..pt...........These.func
ba280 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 6e 6f 6e 6e 65 67 61 74 69 76 65 20 73 71 75 tions.return.the.nonnegative.squ
ba2a0 61 72 65 20 72 6f 6f 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 are.root.of.<VAR>x</VAR>........
ba2c0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6e ...<br><br>.If.<VAR>x</VAR>.is.n
ba2e0 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 73 71 72 74 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 egative,.<CODE>sqrt</CODE>.signa
ba300 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 ls.a.domain.error...........Math
ba320 65 6d 61 74 69 63 61 6c 6c 79 2c 20 69 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 63 ematically,.it.should.return.a.c
ba340 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 omplex.number..........sq.~.....
ba360 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1a 95 74 00 08 64 6f 75 62 6c 65 20 .w.....t..math.hxq.~..t..double.
ba380 78 74 00 06 64 6f 75 62 6c 65 74 00 05 73 71 72 74 66 73 71 00 7e 00 0a 70 74 00 ea 0a 20 20 20 xt..doublet..sqrtfsq.~..pt......
ba3a0 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 .....These.functions.return.the.
ba3c0 6e 6f 6e 6e 65 67 61 74 69 76 65 20 73 71 75 61 72 65 20 72 6f 6f 74 20 6f 66 20 3c 56 41 52 3e nonnegative.square.root.of.<VAR>
ba3e0 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 x</VAR>...........<br><br>.If.<V
ba400 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 73 71 AR>x</VAR>.is.negative,.<CODE>sq
ba420 72 74 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 rt</CODE>.signals.a.domain.error
ba440 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 69 74 20 73 68 ...........Mathematically,.it.sh
ba460 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 63 6f 6d 70 6c 65 78 20 6e 75 6d 62 65 72 2e 0a 20 20 ould.return.a.complex.number....
ba480 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 ......sq.~......w.....t..math.hx
ba4a0 71 00 7e 1a 9c 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 05 73 71 72 74 6c 73 q.~..t..float.xt..floatt..sqrtls
ba4c0 71 00 7e 00 0a 70 74 00 ea 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e q.~..pt...........These.function
ba4e0 73 20 72 65 74 75 72 6e 20 74 68 65 20 6e 6f 6e 6e 65 67 61 74 69 76 65 20 73 71 75 61 72 65 20 s.return.the.nonnegative.square.
ba500 72 6f 6f 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c root.of.<VAR>x</VAR>...........<
ba520 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 br><br>.If.<VAR>x</VAR>.is.negat
ba540 69 76 65 2c 20 3c 43 4f 44 45 3e 73 71 72 74 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 ive,.<CODE>sqrt</CODE>.signals.a
ba560 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 4d 61 74 68 65 6d 61 74 .domain.error...........Mathemat
ba580 69 63 61 6c 6c 79 2c 20 69 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 63 6f 6d 70 6c ically,.it.should.return.a.compl
ba5a0 65 78 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ex.number..........sq.~......w..
ba5c0 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1a a3 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 ...t..math.hxq.~..t..long.double
ba5e0 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 05 73 72 61 6e 64 73 71 00 7e 00 0a 70 74 .xt..long.doublet..srandsq.~..pt
ba600 01 a4 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 73 74 61 62 6c 69 ...........This.function.establi
ba620 73 68 65 73 20 3c 56 41 52 3e 73 65 65 64 3c 2f 56 41 52 3e 20 61 73 20 74 68 65 20 73 65 65 64 shes.<VAR>seed</VAR>.as.the.seed
ba640 20 66 6f 72 20 61 20 6e 65 77 20 73 65 72 69 65 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 70 73 .for.a.new.series.of..........ps
ba660 65 75 64 6f 2d 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 73 2e 20 20 49 66 20 79 6f 75 20 63 61 6c eudo-random.numbers...If.you.cal
ba680 6c 20 3c 43 4f 44 45 3e 72 61 6e 64 3c 2f 43 4f 44 45 3e 20 62 65 66 6f 72 65 20 61 20 73 65 65 l.<CODE>rand</CODE>.before.a.see
ba6a0 64 20 68 61 73 20 62 65 65 6e 0a 20 20 20 20 20 20 20 20 20 65 73 74 61 62 6c 69 73 68 65 64 20 d.has.been..........established.
ba6c0 77 69 74 68 20 3c 43 4f 44 45 3e 73 72 61 6e 64 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 75 73 65 73 with.<CODE>srand</CODE>,.it.uses
ba6e0 20 74 68 65 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 61 73 20 61 20 64 .the.value.<CODE>1</CODE>.as.a.d
ba700 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 73 65 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c efault..........seed...........<
ba720 62 72 3e 3c 62 72 3e 20 54 6f 20 70 72 6f 64 75 63 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 70 br><br>.To.produce.a.different.p
ba740 73 65 75 64 6f 2d 72 61 6e 64 6f 6d 20 73 65 72 69 65 73 20 65 61 63 68 20 74 69 6d 65 20 79 6f seudo-random.series.each.time.yo
ba760 75 72 20 70 72 6f 67 72 61 6d 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 75 6e 2c 20 64 6f 20 3c ur.program.is..........run,.do.<
ba780 43 4f 44 45 3e 73 72 61 6e 64 20 28 74 69 6d 65 20 28 30 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 CODE>srand.(time.(0))</CODE>....
ba7a0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e ......sq.~......w.....t..stdlib.
ba7c0 68 78 71 00 7e 1a aa 74 00 11 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 65 65 64 74 00 04 76 6f hxq.~..t..unsigned.int.seedt..vo
ba7e0 69 64 74 00 07 73 72 61 6e 64 34 38 73 71 00 7e 00 0a 70 74 03 bd 0a 20 20 20 20 20 20 20 20 54 idt..srand48sq.~..pt...........T
ba800 68 65 20 3c 43 4f 44 45 3e 73 72 61 6e 64 34 38 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e he.<CODE>srand48</CODE>.function
ba820 20 73 65 74 73 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 33 32 20 62 69 .sets.the.most.significant.32.bi
ba840 74 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 ts.of.the..........internal.stat
ba860 65 20 6f 66 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 e.of.the.random.number.generator
ba880 20 74 6f 20 74 68 65 20 6c 65 61 73 74 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 69 66 69 63 61 .to.the.least..........significa
ba8a0 6e 74 20 33 32 20 62 69 74 73 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 73 65 65 64 76 61 6c 3c 2f nt.32.bits.of.the.<VAR>seedval</
ba8c0 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 20 54 68 65 20 6c 6f 77 65 72 20 31 36 20 62 69 VAR>.parameter...The.lower.16.bi
ba8e0 74 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 74 ts..........are.initialized.to.t
ba900 68 65 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 30 78 33 33 30 45 3c 2f 43 4f 44 45 3e 2e 20 20 45 he.value.<CODE>0x330E</CODE>...E
ba920 76 65 6e 20 69 66 20 74 68 65 20 3c 43 4f 44 45 3e 6c 6f 6e 67 0a 20 20 20 20 20 20 20 20 20 69 ven.if.the.<CODE>long..........i
ba940 6e 74 3c 2f 43 4f 44 45 3e 20 74 79 70 65 20 63 6f 6e 74 61 69 6e 73 20 6d 6f 72 65 20 74 68 61 nt</CODE>.type.contains.more.tha
ba960 6e 20 33 32 20 62 69 74 73 20 6f 6e 6c 79 20 74 68 65 20 6c 6f 77 65 72 20 33 32 20 62 69 74 73 n.32.bits.only.the.lower.32.bits
ba980 20 61 72 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 77 69 .are.used...........<br><br>.Owi
ba9a0 6e 67 20 74 6f 20 74 68 69 73 20 6c 69 6d 69 74 61 74 69 6f 6e 2c 20 69 6e 69 74 69 61 6c 69 7a ng.to.this.limitation,.initializ
ba9c0 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 ation.of.the.state.of.this......
ba9e0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 76 65 72 79 20 75 73 65 66 75 6c 2e ....function.is.not.very.useful.
baa00 20 20 42 75 74 20 69 74 20 6d 61 6b 65 73 20 69 74 20 65 61 73 79 20 74 6f 20 75 73 65 20 61 20 ..But.it.makes.it.easy.to.use.a.
baa20 63 6f 6e 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 72 construct..........like.<CODE>sr
baa40 61 6e 64 34 38 20 28 74 69 6d 65 20 28 30 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 and48.(time.(0))</CODE>.........
baa60 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 73 69 64 65 2d 65 66 66 65 63 74 20 6f 66 20 74 68 69 73 ..<br><br>.A.side-effect.of.this
baa80 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 61 74 20 74 68 65 20 76 61 6c 75 65 73 20 3c 43 4f .function.is.that.the.values.<CO
baaa0 44 45 3e 61 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 63 3c 2f 43 4f 44 45 3e 0a 20 DE>a</CODE>.and.<CODE>c</CODE>..
baac0 20 20 20 20 20 20 20 20 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 65 2c ........from.the.internal.state,
baae0 20 77 68 69 63 68 20 61 72 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 63 6f 6e 67 72 75 65 6e 74 .which.are.used.in.the.congruent
bab00 69 61 6c 20 66 6f 72 6d 75 6c 61 2c 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 72 65 73 65 74 20 ial.formula,..........are.reset.
bab20 74 6f 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 67 69 76 65 6e 20 61 62 6f 76 to.the.default.values.given.abov
bab40 65 2e 20 20 54 68 69 73 20 69 73 20 6f 66 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 6e 63 65 0a 20 e...This.is.of.importance.once..
bab60 20 20 20 20 20 20 20 20 74 68 65 20 75 73 65 72 20 68 61 73 20 63 61 6c 6c 65 64 20 74 68 65 20 ........the.user.has.called.the.
bab80 3c 43 4f 44 45 3e 6c 63 6f 6e 67 34 38 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 28 73 <CODE>lcong48</CODE>.function.(s
baba0 65 65 20 62 65 6c 6f 77 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ee.below)..........sq.~......w..
babc0 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1a b1 74 00 10 6c 6f 6e 67 20 69 6e 74 20 ...t..stdlib.hxq.~..t..long.int.
babe0 73 65 65 64 76 61 6c 74 00 04 76 6f 69 64 74 00 09 73 72 61 6e 64 34 38 5f 72 73 71 00 7e 00 0a seedvalt..voidt..srand48_rsq.~..
bac00 70 74 02 36 0a 20 20 20 20 20 20 20 20 54 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 pt.6.........The.description.of.
bac20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61 74 6f 72 20 72 65 70 72 the.random.number.generator.repr
bac40 65 73 65 6e 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 esented.by.the..........informat
bac60 69 6f 6e 20 69 6e 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 69 73 20 69 6e 69 74 ion.in.<VAR>buffer</VAR>.is.init
bac80 69 61 6c 69 7a 65 64 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 20 77 68 61 74 20 74 68 65 20 66 75 ialized.similarly.to.what.the.fu
baca0 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 72 61 6e 64 34 38 3c 2f 43 nction..........<CODE>srand48</C
bacc0 4f 44 45 3e 20 64 6f 65 73 2e 20 20 54 68 65 20 73 74 61 74 65 20 69 73 20 69 6e 69 74 69 61 6c ODE>.does...The.state.is.initial
bace0 69 7a 65 64 20 66 72 6f 6d 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 ized.from.the.parameter.........
bad00 20 3c 56 41 52 3e 73 65 65 64 76 61 6c 3c 2f 56 41 52 3e 20 61 6e 64 20 74 68 65 20 70 61 72 61 .<VAR>seedval</VAR>.and.the.para
bad20 6d 65 74 65 72 73 20 66 6f 72 20 74 68 65 20 63 6f 6e 67 72 75 65 6e 74 69 61 6c 20 66 6f 72 6d meters.for.the.congruential.form
bad40 75 6c 61 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 ula.are..........initialized.to.
bad60 74 68 65 69 72 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c their.default.values...........<
bad80 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e br><br>.If.the.return.value.is.n
bada0 6f 6e 2d 6e 65 67 61 74 69 76 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 75 on-negative.the.function.call.su
badc0 63 63 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 cceeded...........<br><br>.This.
bade0 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 function.is.a.GNU.extension.and.
bae00 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 69 6e 20 70 6f 72 74 61 62 6c 65 0a 20 should.not.be.used.in.portable..
bae20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f ........programs..........sq.~..
bae40 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1a b8 74 00 2d 6c 6f ....w.....t..stdlib.hxq.~..t.-lo
bae60 6e 67 20 69 6e 74 20 73 65 65 64 76 61 6c 2c 20 73 74 72 75 63 74 20 64 72 61 6e 64 34 38 5f 64 ng.int.seedval,.struct.drand48_d
bae80 61 74 61 20 2a 62 75 66 66 65 72 74 00 03 69 6e 74 74 00 07 73 72 61 6e 64 6f 6d 73 71 00 7e 00 ata.*buffert..intt..srandomsq.~.
baea0 0a 70 74 01 c0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 72 61 6e 64 6f 6d 3c .pt...........The.<CODE>srandom<
baec0 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 73 74 61 74 65 20 6f /CODE>.function.sets.the.state.o
baee0 66 20 74 68 65 20 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 67 65 6e f.the.random.number..........gen
baf00 65 72 61 74 6f 72 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 69 6e 74 65 67 65 72 20 3c 56 41 52 erator.based.on.the.integer.<VAR
baf20 3e 73 65 65 64 3c 2f 56 41 52 3e 2e 20 20 49 66 20 79 6f 75 20 73 75 70 70 6c 79 20 61 20 3c 56 >seed</VAR>...If.you.supply.a.<V
baf40 41 52 3e 73 65 65 64 3c 2f 56 41 52 3e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 AR>seed</VAR>.value..........of.
baf60 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 20 77 69 6c 6c 20 63 61 75 73 65 20 <CODE>1</CODE>,.this.will.cause.
baf80 3c 43 4f 44 45 3e 72 61 6e 64 6f 6d 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 65 70 72 6f 64 75 63 65 <CODE>random</CODE>.to.reproduce
bafa0 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 6f 66 20 72 61 6e .the.default.set..........of.ran
bafc0 64 6f 6d 20 6e 75 6d 62 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 dom.numbers...........<br><br>.T
bafe0 6f 20 70 72 6f 64 75 63 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 73 65 74 20 6f 66 20 70 73 65 o.produce.a.different.set.of.pse
bb000 75 64 6f 2d 72 61 6e 64 6f 6d 20 6e 75 6d 62 65 72 73 20 65 61 63 68 20 74 69 6d 65 20 79 6f 75 udo-random.numbers.each.time.you
bb020 72 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 20 72 75 6e 73 2c 20 64 6f 20 3c 43 4f 44 r..........program.runs,.do.<COD
bb040 45 3e 73 72 61 6e 64 6f 6d 20 28 74 69 6d 65 20 28 30 29 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 E>srandom.(time.(0))</CODE>.....
bb060 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 .....sq.~......w.....t..stdlib.h
bb080 78 71 00 7e 1a bf 74 00 11 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 65 65 64 74 00 04 76 6f 69 xq.~..t..unsigned.int.seedt..voi
bb0a0 64 74 00 09 73 72 61 6e 64 6f 6d 5f 72 73 71 00 7e 00 0a 70 74 00 f7 0a 20 20 20 20 20 20 20 20 dt..srandom_rsq.~..pt...........
bb0c0 54 68 65 20 3c 43 4f 44 45 3e 73 72 61 6e 64 6f 6d 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 The.<CODE>srandom_r</CODE>.funct
bb0e0 69 6f 6e 20 62 65 68 61 76 65 73 20 65 78 61 63 74 6c 79 20 6c 69 6b 65 20 74 68 65 20 3c 43 4f ion.behaves.exactly.like.the.<CO
bb100 44 45 3e 73 72 61 6e 64 6f 6d 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 DE>srandom</CODE>..........funct
bb120 69 6f 6e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 75 73 65 73 20 61 6e 64 20 6d 6f 64 69 ion.except.that.it.uses.and.modi
bb140 66 69 65 73 20 74 68 65 20 73 74 61 74 65 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 0a 20 20 20 fies.the.state.in.the.object....
bb160 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 73 65 63 6f 6e 64 20 70 ......pointed.to.by.the.second.p
bb180 61 72 61 6d 65 74 65 72 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 67 6c 6f 62 61 6c 20 73 arameter.instead.of.the.global.s
bb1a0 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 tate..........sq.~......w.....t.
bb1c0 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1a c6 74 00 2a 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 .stdlib.hxq.~..t.*unsigned.int.s
bb1e0 65 65 64 2c 20 73 74 72 75 63 74 20 72 61 6e 64 6f 6d 5f 64 61 74 61 20 2a 62 75 66 74 00 03 69 eed,.struct.random_data.*buft..i
bb200 6e 74 74 00 06 73 73 63 61 6e 66 73 71 00 7e 00 0a 70 74 02 2f 0a 20 20 20 20 20 20 20 20 54 68 ntt..sscanfsq.~..pt./.........Th
bb220 69 73 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 63 61 6e 66 3c 2f 43 4f 44 45 3e 2c 20 65 is.is.like.<CODE>scanf</CODE>,.e
bb240 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 74 61 xcept.that.the.characters.are.ta
bb260 6b 65 6e 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2d 74 65 72 6d 69 ken.from.the..........null-termi
bb280 6e 61 74 65 64 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 69 6e 73 74 65 61 nated.string.<VAR>s</VAR>.instea
bb2a0 64 20 6f 66 20 66 72 6f 6d 20 61 20 73 74 72 65 61 6d 2e 20 20 52 65 61 63 68 69 6e 67 20 74 68 d.of.from.a.stream...Reaching.th
bb2c0 65 0a 20 20 20 20 20 20 20 20 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 e..........end.of.the.string.is.
bb2e0 74 72 65 61 74 65 64 20 61 73 20 61 6e 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 20 63 6f 6e 64 69 74 treated.as.an.end-of-file.condit
bb300 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 62 65 68 61 76 ion...........<br><br>.The.behav
bb320 69 6f 72 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 6e 64 65 66 69 6e 65 ior.of.this.function.is.undefine
bb340 64 20 69 66 20 63 6f 70 79 69 6e 67 20 74 61 6b 65 73 20 70 6c 61 63 65 0a 20 20 20 20 20 20 20 d.if.copying.takes.place........
bb360 20 20 62 65 74 77 65 65 6e 20 6f 62 6a 65 63 74 73 20 74 68 61 74 20 6f 76 65 72 6c 61 70 2d 2d ..between.objects.that.overlap--
bb380 2d 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 69 73 -for.example,.if.<VAR>s</VAR>.is
bb3a0 20 61 6c 73 6f 20 67 69 76 65 6e 0a 20 20 20 20 20 20 20 20 20 61 73 20 61 6e 20 61 72 67 75 6d .also.given..........as.an.argum
bb3c0 65 6e 74 20 74 6f 20 72 65 63 65 69 76 65 20 61 20 73 74 72 69 6e 67 20 72 65 61 64 20 75 6e 64 ent.to.receive.a.string.read.und
bb3e0 65 72 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 74 68 65 20 3c 73 61 6d 70 3e 25 73 3c 2f 73 61 6d 70 er.control.of.the.<samp>%s</samp
bb400 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 25 53 3c 2f 73 61 6d 70 3e 2c 20 6f 72 20 >,..........<samp>%S</samp>,.or.
bb420 3c 73 61 6d 70 3e 25 5b 3c 2f 73 61 6d 70 3e 20 63 6f 6e 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 <samp>%[</samp>.conversion......
bb440 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 ....sq.~......w.....t..stdio.hxq
bb460 00 7e 1a cd 74 00 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 .~..t.(const.char.*s,.const.char
bb480 20 2a 74 65 6d 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 07 73 73 69 67 6e 61 6c 73 .*template,....t..intt..ssignals
bb4a0 71 00 7e 00 0a 70 74 00 99 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 73 69 67 q.~..pt...........The.<CODE>ssig
bb4c0 6e 61 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 74 68 65 20 73 61 6d nal</CODE>.function.does.the.sam
bb4e0 65 20 74 68 69 6e 67 20 61 73 20 3c 43 4f 44 45 3e 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 3b 20 e.thing.as.<CODE>signal</CODE>;.
bb500 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 6f 6e 6c 79 20 66 6f 72 it.is..........provided.only.for
bb520 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 53 56 49 44 2e 0a 20 20 20 20 20 20 .compatibility.with.SVID........
bb540 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 78 71 00 ..sq.~......w.....t..signal.hxq.
bb560 7e 1a d4 74 00 1f 69 6e 74 20 73 69 67 6e 75 6d 2c 20 73 69 67 68 61 6e 64 6c 65 72 5f 74 20 61 ~..t..int.signum,.sighandler_t.a
bb580 63 74 69 6f 6e 74 00 0c 73 69 67 68 61 6e 64 6c 65 72 5f 74 74 00 04 73 74 61 74 73 71 00 7e 00 ctiont..sighandler_tt..statsq.~.
bb5a0 0a 70 74 04 47 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f .pt.G.........The.<CODE>stat</CO
bb5c0 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e DE>.function.returns.information
bb5e0 20 61 62 6f 75 74 20 74 68 65 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 74 68 65 0a 20 20 20 .about.the.attributes.of.the....
bb600 20 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d ......file.named.by.<VAR>filenam
bb620 65 3c 2f 56 41 52 3e 20 69 6e 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 e</VAR>.in.the.structure.pointed
bb640 20 74 6f 20 62 79 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 .to.by.<VAR>buf</VAR>...........
bb660 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 20 <br><br>.If.<VAR>filename</VAR>.
bb680 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 2c 20 is.the.name.of.a.symbolic.link,.
bb6a0 74 68 65 20 61 74 74 72 69 62 75 74 65 73 20 79 6f 75 20 67 65 74 0a 20 20 20 20 20 20 20 20 20 the.attributes.you.get..........
bb6c0 64 65 73 63 72 69 62 65 20 74 68 65 20 66 69 6c 65 20 74 68 61 74 20 74 68 65 20 6c 69 6e 6b 20 describe.the.file.that.the.link.
bb6e0 70 6f 69 6e 74 73 20 74 6f 2e 20 20 49 66 20 74 68 65 20 6c 69 6e 6b 20 70 6f 69 6e 74 73 20 74 points.to...If.the.link.points.t
bb700 6f 20 61 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 65 78 69 73 74 65 6e 74 20 66 69 6c 65 20 6e 61 o.a..........nonexistent.file.na
bb720 6d 65 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 3e 20 66 61 69 6c 73 me,.then.<CODE>stat</CODE>.fails
bb740 20 72 65 70 6f 72 74 69 6e 67 20 61 20 6e 6f 6e 65 78 69 73 74 65 6e 74 0a 20 20 20 20 20 20 20 .reporting.a.nonexistent........
bb760 20 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 ..file...........<br><br>.The.re
bb780 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 turn.value.is.<CODE>0</CODE>.if.
bb7a0 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 2c 20 6f 72 0a the.operation.is.successful,.or.
bb7c0 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 6e 20 66 61 69 6c .........<CODE>-1</CODE>.on.fail
bb7e0 75 72 65 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 75 61 6c 20 66 ure...In.addition.to.the.usual.f
bb800 69 6c 65 20 6e 61 6d 65 20 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 28 2c 20 74 68 65 20 ile.name.errors..........(,.the.
bb820 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 following.<CODE>errno</CODE>.err
bb840 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 64 65 66 69 6e or.conditions..........are.defin
bb860 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c ed.for.this.function:..........<
bb880 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 br><br>.<DL>...........<DT><CODE
bb8a0 3e 45 4e 4f 45 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 >ENOENT</CODE>.<DD>..........The
bb8c0 20 66 69 6c 65 20 6e 61 6d 65 64 20 62 79 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 .file.named.by.<VAR>filename</VA
bb8e0 52 3e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e R>.doesn't.exist...........</DL>
bb900 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 ..........<br><br>.When.the.sour
bb920 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c ces.are.compiled.with.<CODE>_FIL
bb940 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a E_OFFSET_BITS.==.64</CODE>.this.
bb960 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f .........function.is.in.fact.<CO
bb980 44 45 3e 73 74 61 74 36 34 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 74 68 65 20 4c 46 53 20 69 DE>stat64</CODE>.since.the.LFS.i
bb9a0 6e 74 65 72 66 61 63 65 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 nterface.transparently..........
bb9c0 72 65 70 6c 61 63 65 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 replaces.the.normal.implementati
bb9e0 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 0a 73 on..........sq.~......w.....t..s
bba00 79 73 2f 73 74 61 74 2e 68 74 00 0b 73 79 73 2f 74 79 70 65 73 2e 68 78 71 00 7e 1a db 74 00 26 ys/stat.ht..sys/types.hxq.~..t.&
bba20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 73 74 61 const.char.*filename,.struct.sta
bba40 74 20 2a 62 75 66 74 00 03 69 6e 74 74 00 06 73 74 61 74 36 34 73 71 00 7e 00 0a 70 74 02 22 0a t.*buft..intt..stat64sq.~..pt.".
bba60 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 ........This.function.is.similar
bba80 20 74 6f 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 74 20 69 73 20 .to.<CODE>stat</CODE>.but.it.is.
bbaa0 61 6c 73 6f 20 61 62 6c 65 20 74 6f 20 77 6f 72 6b 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 66 69 also.able.to.work.on..........fi
bbac0 6c 65 73 20 6c 61 72 67 65 72 20 74 68 65 6e 20 32 5e 33 31 20 62 79 74 65 73 20 6f 6e 20 33 32 les.larger.then.2^31.bytes.on.32
bbae0 2d 62 69 74 20 73 79 73 74 65 6d 73 2e 20 20 54 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 64 6f 0a -bit.systems...To.be.able.to.do.
bbb00 20 20 20 20 20 20 20 20 20 74 68 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 73 74 6f 72 .........this.the.result.is.stor
bbb20 65 64 20 69 6e 20 61 20 76 61 72 69 61 62 6c 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 73 ed.in.a.variable.of.type.<CODE>s
bbb40 74 72 75 63 74 20 73 74 61 74 36 34 3c 2f 43 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 truct.stat64</CODE>.to..........
bbb60 77 68 69 63 68 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 6d 75 73 74 20 70 6f 69 6e 74 2e which.<VAR>buf</VAR>.must.point.
bbb80 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 ..........<br><br>.When.the.sour
bbba0 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c ces.are.compiled.with.<CODE>_FIL
bbbc0 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 69 73 0a E_OFFSET_BITS.==.64</CODE>.this.
bbbe0 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 .........function.is.available.u
bbc00 6e 64 65 72 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 73 74 61 74 3c 2f 43 4f 44 45 3e 20 nder.the.name.<CODE>stat</CODE>.
bbc20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 72 65 and.so.transparently..........re
bbc40 70 6c 61 63 65 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 73 6d 61 6c 6c 20 66 places.the.interface.for.small.f
bbc60 69 6c 65 73 20 6f 6e 20 33 32 2d 62 69 74 20 6d 61 63 68 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 iles.on.32-bit.machines.........
bbc80 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 73 74 61 74 2e 68 78 71 .sq.~......w.....t..sys/stat.hxq
bbca0 00 7e 1a e3 74 00 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 73 74 72 .~..t.(const.char.*filename,.str
bbcc0 75 63 74 20 73 74 61 74 36 34 20 2a 62 75 66 74 00 03 69 6e 74 74 00 05 73 74 69 6d 65 73 71 00 uct.stat64.*buft..intt..stimesq.
bbce0 7e 00 0a 70 74 03 39 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 69 6d 65 3c 2f 43 4f 44 ~..pt.9.........<CODE>stime</COD
bbd00 45 3e 20 73 65 74 73 20 74 68 65 20 73 79 73 74 65 6d 20 63 6c 6f 63 6b 2c 20 69 2e 65 2e 2c 20 E>.sets.the.system.clock,.i.e.,.
bbd20 69 74 20 74 65 6c 6c 73 20 74 68 65 20 73 79 73 74 65 6d 20 74 68 61 74 20 74 68 65 0a 20 20 20 it.tells.the.system.that.the....
bbd40 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 63 61 6c 65 6e 64 61 72 20 74 69 6d 65 20 69 73 20 3c ......current.calendar.time.is.<
bbd60 56 41 52 3e 6e 65 77 74 69 6d 65 3c 2f 56 41 52 3e 2c 20 77 68 65 72 65 20 3c 43 4f 44 45 3e 6e VAR>newtime</VAR>,.where.<CODE>n
bbd80 65 77 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 70 ewtime</CODE>.is..........interp
bbda0 72 65 74 65 64 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 reted.as.described.in.the.above.
bbdc0 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 74 69 6d 65 5f 74 3c 2f 43 4f 44 45 definition.of.<CODE>time_t</CODE
bbde0 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 65 74 74 69 >...........<br><br>.<CODE>setti
bbe00 6d 65 6f 66 64 61 79 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 6e 65 77 65 72 20 66 75 6e 63 74 69 meofday</CODE>.is.a.newer.functi
bbe20 6f 6e 20 77 68 69 63 68 20 73 65 74 73 20 74 68 65 20 73 79 73 74 65 6d 20 63 6c 6f 63 6b 20 74 on.which.sets.the.system.clock.t
bbe40 6f 0a 20 20 20 20 20 20 20 20 20 62 65 74 74 65 72 20 74 68 61 6e 20 6f 6e 65 20 73 65 63 6f 6e o..........better.than.one.secon
bbe60 64 20 70 72 65 63 69 73 69 6f 6e 2e 20 20 3c 43 4f 44 45 3e 73 65 74 74 69 6d 65 6f 66 64 61 79 d.precision...<CODE>settimeofday
bbe80 3c 2f 43 4f 44 45 3e 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 61 0a 20 20 20 20 20 20 20 20 20 </CODE>.is.generally.a..........
bbea0 62 65 74 74 65 72 20 63 68 6f 69 63 65 20 74 68 61 6e 20 3c 43 4f 44 45 3e 73 74 69 6d 65 3c 2f better.choice.than.<CODE>stime</
bbec0 43 4f 44 45 3e 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 6c 79 CODE>..............<br><br>.Only
bbee0 20 74 68 65 20 73 75 70 65 72 75 73 65 72 20 63 61 6e 20 73 65 74 20 74 68 65 20 73 79 73 74 65 .the.superuser.can.set.the.syste
bbf00 6d 20 63 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 m.clock...........<br><br>.If.th
bbf20 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 73 2c 20 74 68 65 20 72 65 74 75 72 6e 20 e.function.succeeds,.the.return.
bbf40 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 value.is.zero...Otherwise,.it.is
bbf60 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 ..........<CODE>-1</CODE>.and.<C
bbf80 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e ODE>errno</CODE>.is.set.accordin
bbfa0 67 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 gly:..........<br><br>.<DL>.....
bbfc0 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 ......<DT><CODE>EPERM</CODE>.<DD
bbfe0 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 73 75 >..........The.process.is.not.su
bc000 70 65 72 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 peruser...........</DL>.........
bc020 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 1a ea 74 sq.~......w.....t..time.hxq.~..t
bc040 00 0f 74 69 6d 65 5f 74 20 2a 6e 65 77 74 69 6d 65 74 00 03 69 6e 74 74 00 06 73 74 70 63 70 79 ..time_t.*newtimet..intt..stpcpy
bc060 73 71 00 7e 00 0a 70 74 04 96 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e sq.~..pt...........This.function
bc080 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 72 63 70 79 3c 2f 43 4f 44 45 3e 2c 20 65 78 .is.like.<CODE>strcpy</CODE>,.ex
bc0a0 63 65 70 74 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 cept.that.it.returns.a.pointer.t
bc0c0 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 o..........the.end.of.the.string
bc0e0 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 20 28 74 68 61 74 20 69 73 2c 20 74 68 65 20 61 64 64 .<VAR>to</VAR>.(that.is,.the.add
bc100 72 65 73 73 20 6f 66 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 ress.of.the.terminating.........
bc120 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 3c 43 4f 44 45 3e 74 6f 20 2b 20 73 74 72 6c 65 .null.character.<CODE>to.+.strle
bc140 6e 20 28 66 72 6f 6d 29 3c 2f 43 4f 44 45 3e 29 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 n.(from)</CODE>).rather.than.the
bc160 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f .beginning...........<br><br>.Fo
bc180 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 69 73 20 70 72 6f 67 72 61 6d 20 75 73 65 73 20 3c 43 4f r.example,.this.program.uses.<CO
bc1a0 44 45 3e 73 74 70 63 70 79 3c 2f 43 4f 44 45 3e 20 74 6f 20 63 6f 6e 63 61 74 65 6e 61 74 65 20 DE>stpcpy</CODE>.to.concatenate.
bc1c0 3c 73 61 6d 70 3e 66 6f 6f 3c 2f 73 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 73 <samp>foo</samp>..........and.<s
bc1e0 61 6d 70 3e 62 61 72 3c 2f 73 61 6d 70 3e 20 74 6f 20 70 72 6f 64 75 63 65 20 3c 73 61 6d 70 3e amp>bar</samp>.to.produce.<samp>
bc200 66 6f 6f 62 61 72 3c 2f 73 61 6d 70 3e 2c 20 77 68 69 63 68 20 69 74 20 74 68 65 6e 20 70 72 69 foobar</samp>,.which.it.then.pri
bc220 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e nts...........<br><br>.<pre><br>
bc240 0a 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 72 69 6e 67 2e 68 26 ..........#include.&lt;string.h&
bc260 67 74 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 gt;<br>..........#include.&lt;st
bc280 64 69 6f 2e 68 26 67 74 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 dio.h&gt;<br>..........<br><br>.
bc2a0 69 6e 74 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6d 61 69 6e 20 28 76 6f 69 64 29 3c 62 72 3e int<br>..........main.(void)<br>
bc2c0 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 ..........{<br>............char.
bc2e0 62 75 66 66 65 72 5b 31 30 5d 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 63 68 61 72 20 buffer[10];<br>............char.
bc300 2a 74 6f 20 3d 20 62 75 66 66 65 72 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 *to.=.buffer;<br>............to.
bc320 3d 20 73 74 70 63 70 79 20 28 74 6f 2c 20 22 66 6f 6f 22 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 =.stpcpy.(to,."foo");<br>.......
bc340 20 20 20 20 20 74 6f 20 3d 20 73 74 70 63 70 79 20 28 74 6f 2c 20 22 62 61 72 22 29 3b 3c 62 72 .....to.=.stpcpy.(to,."bar");<br
bc360 3e 0a 20 20 20 20 20 20 20 20 20 20 20 70 75 74 73 20 28 62 75 66 66 65 72 29 3b 3c 62 72 3e 0a >............puts.(buffer);<br>.
bc380 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 ...........return.0;<br>........
bc3a0 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 ..}<br>..........</pre>.........
bc3c0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 70 .<br><br>.This.function.is.not.p
bc3e0 61 72 74 20 6f 66 20 74 68 65 20 49 53 4f 20 6f 72 20 50 4f 53 49 58 20 73 74 61 6e 64 61 72 64 art.of.the.ISO.or.POSIX.standard
bc400 73 2c 20 61 6e 64 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 63 75 73 74 6f 6d 61 72 79 s,.and.is.not..........customary
bc420 20 6f 6e 20 55 6e 69 78 20 73 79 73 74 65 6d 73 2c 20 62 75 74 20 77 65 20 64 69 64 20 6e 6f 74 .on.Unix.systems,.but.we.did.not
bc440 20 69 6e 76 65 6e 74 20 69 74 20 65 69 74 68 65 72 2e 20 20 50 65 72 68 61 70 73 20 69 74 0a 20 .invent.it.either...Perhaps.it..
bc460 20 20 20 20 20 20 20 20 63 6f 6d 65 73 20 66 72 6f 6d 20 4d 53 2d 44 4f 47 2e 0a 20 20 20 20 20 ........comes.from.MS-DOG.......
bc480 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 73 20 62 65 68 61 76 69 6f 72 20 69 73 20 75 6e 64 ....<br><br>.Its.behavior.is.und
bc4a0 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 6f 76 65 72 6c 61 70 2e 20 20 efined.if.the.strings.overlap...
bc4c0 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 65 The.function.is..........declare
bc4e0 64 20 69 6e 20 3c 54 54 3e 73 74 72 69 6e 67 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 d.in.<TT>string.h</TT>..........
bc500 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1a sq.~......w.....t..string.hxq.~.
bc520 f1 74 00 2c 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 74 6f 2c 20 63 6f 6e 73 74 20 63 68 61 .t.,char.*restrict.to,.const.cha
bc540 72 20 2a 72 65 73 74 72 69 63 74 20 66 72 6f 6d 74 00 06 63 68 61 72 20 2a 74 00 07 73 74 70 6e r.*restrict.fromt..char.*t..stpn
bc560 63 70 79 73 71 00 7e 00 0a 70 74 04 de 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 cpysq.~..pt...........This.funct
bc580 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 74 70 63 70 79 3c 2f ion.is.similar.to.<CODE>stpcpy</
bc5a0 43 4f 44 45 3e 20 62 75 74 20 63 6f 70 69 65 73 20 61 6c 77 61 79 73 20 65 78 61 63 74 6c 79 0a CODE>.but.copies.always.exactly.
bc5c0 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 .........<VAR>size</VAR>.charact
bc5e0 65 72 73 20 69 6e 74 6f 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 ers.into.<VAR>to</VAR>..........
bc600 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e .<br><br>.If.the.length.of.<VAR>
bc620 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 73 20 6d 6f 72 65 20 74 68 65 6e 20 3c 56 41 52 3e 73 69 7a from</VAR>.is.more.then.<VAR>siz
bc640 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 73 74 70 6e 63 70 79 3c 2f 43 4f 44 e</VAR>,.then.<CODE>stpncpy</COD
bc660 45 3e 0a 20 20 20 20 20 20 20 20 20 63 6f 70 69 65 73 20 6a 75 73 74 20 74 68 65 20 66 69 72 73 E>..........copies.just.the.firs
bc680 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 t.<VAR>size</VAR>.characters.and
bc6a0 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 .returns.a.pointer.to.the.......
bc6c0 20 20 20 63 68 61 72 61 63 74 65 72 20 64 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 ...character.directly.following.
bc6e0 74 68 65 20 6f 6e 65 20 77 68 69 63 68 20 77 61 73 20 63 6f 70 69 65 64 20 6c 61 73 74 2e 20 20 the.one.which.was.copied.last...
bc700 4e 6f 74 65 20 74 68 61 74 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 63 61 73 65 20 Note.that.in..........this.case.
bc720 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 6f 72 20 77 72 69 74 there.is.no.null.terminator.writ
bc740 74 65 6e 20 69 6e 74 6f 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 ten.into.<VAR>to</VAR>..........
bc760 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e .<br><br>.If.the.length.of.<VAR>
bc780 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a from</VAR>.is.less.than.<VAR>siz
bc7a0 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 73 74 70 6e 63 70 79 3c 2f 43 4f 44 e</VAR>,.then.<CODE>stpncpy</COD
bc7c0 45 3e 0a 20 20 20 20 20 20 20 20 20 63 6f 70 69 65 73 20 61 6c 6c 20 6f 66 20 3c 56 41 52 3e 66 E>..........copies.all.of.<VAR>f
bc7e0 72 6f 6d 3c 2f 56 41 52 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 65 6e 6f 75 67 68 20 6e 75 rom</VAR>,.followed.by.enough.nu
bc800 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 61 64 64 20 75 70 0a 20 20 20 20 20 20 20 20 ll.characters.to.add.up.........
bc820 20 74 6f 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 69 .to.<VAR>size</VAR>.characters.i
bc840 6e 20 61 6c 6c 2e 20 20 54 68 69 73 20 62 65 68 61 76 69 6f 72 20 69 73 20 72 61 72 65 6c 79 20 n.all...This.behavior.is.rarely.
bc860 75 73 65 66 75 6c 2c 20 62 75 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 69 6d 70 6c 65 useful,.but.it..........is.imple
bc880 6d 65 6e 74 65 64 20 74 6f 20 62 65 20 75 73 65 66 75 6c 20 69 6e 20 63 6f 6e 74 65 78 74 73 20 mented.to.be.useful.in.contexts.
bc8a0 77 68 65 72 65 20 74 68 69 73 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 65 0a 20 20 20 20 20 where.this.behavior.of.the......
bc8c0 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 65 64 ....<CODE>strncpy</CODE>.is.used
bc8e0 2e 20 20 3c 43 4f 44 45 3e 73 74 70 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 ...<CODE>stpncpy</CODE>.returns.
bc900 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 45 4d 3e 66 69 a.pointer.to.the..........<EM>fi
bc920 72 73 74 3c 2f 45 4d 3e 20 77 72 69 74 74 65 6e 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 2e rst</EM>.written.null.character.
bc940 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e ..........<br><br>.This.function
bc960 20 69 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 49 53 4f 20 6f 72 20 50 4f 53 49 58 20 62 75 74 .is.not.part.of.ISO.or.POSIX.but
bc980 20 77 61 73 20 66 6f 75 6e 64 20 75 73 65 66 75 6c 20 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 .was.found.useful.while.........
bc9a0 20 64 65 76 65 6c 6f 70 69 6e 67 20 74 68 65 20 47 4e 55 20 43 20 4c 69 62 72 61 72 79 20 69 74 .developing.the.GNU.C.Library.it
bc9c0 73 65 6c 66 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 73 20 62 65 68 61 self...........<br><br>.Its.beha
bc9e0 76 69 6f 72 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 73 vior.is.undefined.if.the.strings
bca00 20 6f 76 65 72 6c 61 70 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 .overlap...The.function.is......
bca20 20 20 20 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 72 69 6e 67 2e 68 3c 2f 54 54 ....declared.in.<TT>string.h</TT
bca40 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 >..........sq.~......w.....t..st
bca60 72 69 6e 67 2e 68 78 71 00 7e 1a f8 74 00 39 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 74 6f ring.hxq.~..t.9char.*restrict.to
bca80 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 66 72 6f 6d 2c 20 73 69 7a ,.const.char.*restrict.from,.siz
bcaa0 65 5f 74 20 73 69 7a 65 74 00 06 63 68 61 72 20 2a 74 00 0a 73 74 72 63 61 73 65 63 6d 70 73 71 e_t.sizet..char.*t..strcasecmpsq
bcac0 00 7e 00 0a 70 74 01 e0 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 .~..pt...........This.function.i
bcae0 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 72 63 6d 70 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 s.like.<CODE>strcmp</CODE>,.exce
bcb00 70 74 20 74 68 61 74 20 64 69 66 66 65 72 65 6e 63 65 73 20 69 6e 20 63 61 73 65 20 61 72 65 0a pt.that.differences.in.case.are.
bcb20 20 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65 64 2e 20 20 48 6f 77 20 75 70 70 65 72 63 61 73 65 .........ignored...How.uppercase
bcb40 20 61 6e 64 20 6c 6f 77 65 72 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 72 65 .and.lowercase.characters.are.re
bcb60 6c 61 74 65 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 lated.is..........determined.by.
bcb80 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 6c 6f 63 61 6c 65 2e 20 20 the.currently.selected.locale...
bcba0 49 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 3c 43 4f 44 45 3e 22 43 22 3c 2f 43 4f 44 45 3e In.the.standard.<CODE>"C"</CODE>
bcbc0 0a 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 65 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 ..........locale.the.characters.
bcbe0 22 41 20 61 6e 64 20 22 61 20 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 62 75 74 20 69 6e 20 61 20 "A.and."a.do.not.match.but.in.a.
bcc00 6c 6f 63 61 6c 65 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 72 65 67 61 72 64 73 20 74 68 locale.which..........regards.th
bcc20 65 73 65 20 63 68 61 72 61 63 74 65 72 73 20 61 73 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 61 ese.characters.as.parts.of.the.a
bcc40 6c 70 68 61 62 65 74 20 74 68 65 79 20 64 6f 20 6d 61 74 63 68 2e 0a 20 20 20 20 20 20 20 20 20 lphabet.they.do.match...........
bcc60 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 63 61 73 65 <br><br>...........<CODE>strcase
bcc80 63 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 42 53 44 2e 0a cmp</CODE>.is.derived.from.BSD..
bcca0 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e ........sq.~......w.....t..strin
bccc0 67 2e 68 78 71 00 7e 1a ff 74 00 1e 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 31 2c 20 63 6f 6e 73 g.hxq.~..t..const.char.*s1,.cons
bcce0 74 20 63 68 61 72 20 2a 73 32 74 00 03 69 6e 74 74 00 0a 73 74 72 63 61 73 65 73 74 72 73 71 00 t.char.*s2t..intt..strcasestrsq.
bcd00 7e 00 0a 70 74 01 cd 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 3c 43 4f ~..pt...........This.is.like.<CO
bcd20 44 45 3e 73 74 72 73 74 72 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 DE>strstr</CODE>,.except.that.it
bcd40 20 69 67 6e 6f 72 65 73 20 63 61 73 65 20 69 6e 20 73 65 61 72 63 68 69 6e 67 20 66 6f 72 0a 20 .ignores.case.in.searching.for..
bcd60 20 20 20 20 20 20 20 20 74 68 65 20 73 75 62 73 74 72 69 6e 67 2e 20 20 20 4c 69 6b 65 20 3c 43 ........the.substring....Like.<C
bcd80 4f 44 45 3e 73 74 72 63 61 73 65 63 6d 70 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 69 73 20 6c 6f 63 ODE>strcasecmp</CODE>,.it.is.loc
bcda0 61 6c 65 20 64 65 70 65 6e 64 65 6e 74 20 68 6f 77 0a 20 20 20 20 20 20 20 20 20 75 70 70 65 72 ale.dependent.how..........upper
bcdc0 63 61 73 65 20 61 6e 64 20 6c 6f 77 65 72 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 case.and.lowercase.characters.ar
bcde0 65 20 72 65 6c 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 e.related...........<br><br>.<br
bce00 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 ><br>.For.example,..........<pre
bce20 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 63 61 73 65 73 74 72 20 28 22 68 65 6c 6c ><br>..........strcasestr.("hell
bce40 6f 2c 20 77 6f 72 6c 64 22 2c 20 22 4c 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 o,.world",."L")<br>.............
bce60 20 20 22 6c 6c 6f 2c 20 77 6f 72 6c 64 22 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 63 .."llo,.world"<br>..........strc
bce80 61 73 65 73 74 72 20 28 22 68 65 6c 6c 6f 2c 20 57 6f 72 6c 64 22 2c 20 22 77 6f 22 29 3c 62 72 asestr.("hello,.World",."wo")<br
bcea0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 57 6f 72 6c 64 22 3c 62 72 3e 0a 20 20 20 20 >..............."World"<br>.....
bcec0 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 .....</pre>.........sq.~......w.
bcee0 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 06 74 00 28 63 6f 6e 73 74 20 63 68 ....t..string.hxq.~..t.(const.ch
bcf00 61 72 20 2a 68 61 79 73 74 61 63 6b 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 65 65 64 6c 65 ar.*haystack,.const.char.*needle
bcf20 74 00 06 63 68 61 72 20 2a 74 00 06 73 74 72 63 61 74 73 71 00 7e 00 0a 70 74 02 ee 0a 20 20 20 t..char.*t..strcatsq.~..pt......
bcf40 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 63 61 74 3c 2f 43 4f 44 45 3e 20 66 75 6e .....The.<CODE>strcat</CODE>.fun
bcf60 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 63 70 79 ction.is.similar.to.<CODE>strcpy
bcf80 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 </CODE>,.except.that.the........
bcfa0 20 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 ..characters.from.<VAR>from</VAR
bcfc0 3e 20 61 72 65 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 20 6f 72 20 61 70 70 65 6e 64 65 64 20 74 >.are.concatenated.or.appended.t
bcfe0 6f 20 74 68 65 20 65 6e 64 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 6f 3c 2f 56 o.the.end.of..........<VAR>to</V
bd000 41 52 3e 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 76 65 72 77 72 69 74 69 6e 67 20 69 74 2e 20 AR>,.instead.of.overwriting.it..
bd020 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 66 72 .That.is,.the.first.character.fr
bd040 6f 6d 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 3e 20 6f 76 65 72 om..........<VAR>from</VAR>.over
bd060 77 72 69 74 65 73 20 74 68 65 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 6d 61 72 6b 69 6e writes.the.null.character.markin
bd080 67 20 74 68 65 20 65 6e 64 20 6f 66 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 g.the.end.of.<VAR>to</VAR>......
bd0a0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 20 65 71 75 69 76 61 6c 65 6e 74 20 64 65 66 69 .....<br><br>.An.equivalent.defi
bd0c0 6e 69 74 69 6f 6e 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 63 61 74 3c 2f 43 4f 44 45 3e 20 77 nition.for.<CODE>strcat</CODE>.w
bd0e0 6f 75 6c 64 20 62 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e ould.be:..........<br><br>.<pre>
bd100 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 3c 62 72 3e 0a 20 20 20 20 20 20 20 <br>..........char.*<br>........
bd120 20 20 73 74 72 63 61 74 20 28 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 74 6f 2c 20 63 6f 6e ..strcat.(char.*restrict.to,.con
bd140 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 66 72 6f 6d 29 3c 62 72 3e 0a 20 20 20 20 st.char.*restrict.from)<br>.....
bd160 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 73 74 72 63 70 79 20 28 74 6f .....{<br>............strcpy.(to
bd180 20 2b 20 73 74 72 6c 65 6e 20 28 74 6f 29 2c 20 66 72 6f 6d 29 3b 3c 62 72 3e 0a 20 20 20 20 20 .+.strlen.(to),.from);<br>......
bd1a0 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 6f 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c ......return.to;<br>..........}<
bd1c0 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 br>..........</pre>..........<br
bd1e0 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 75 6e 64 65 66 69 6e 65 ><br>.This.function.has.undefine
bd200 64 20 72 65 73 75 6c 74 73 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 6f 76 65 72 6c 61 70 d.results.if.the.strings.overlap
bd220 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 ..........sq.~......w.....t..str
bd240 69 6e 67 2e 68 78 71 00 7e 1b 0d 74 00 2c 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 74 6f 2c ing.hxq.~..t.,char.*restrict.to,
bd260 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 66 72 6f 6d 74 00 06 63 68 61 .const.char.*restrict.fromt..cha
bd280 72 20 2a 74 00 06 73 74 72 63 68 72 73 71 00 7e 00 0a 70 74 03 7a 0a 20 20 20 20 20 20 20 20 54 r.*t..strchrsq.~..pt.z.........T
bd2a0 68 65 20 3c 43 4f 44 45 3e 73 74 72 63 68 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 he.<CODE>strchr</CODE>.function.
bd2c0 66 69 6e 64 73 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 74 68 finds.the.first.occurrence.of.th
bd2e0 65 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 63 3c 2f 56 41 52 e.character..........<VAR>c</VAR
bd300 3e 20 28 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 61 20 3c 43 4f 44 45 3e 63 68 61 72 3c 2f 43 4f >.(converted.to.a.<CODE>char</CO
bd320 44 45 3e 29 20 69 6e 20 74 68 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 74 72 69 DE>).in.the.null-terminated.stri
bd340 6e 67 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 73 74 ng..........beginning.at.<VAR>st
bd360 72 69 6e 67 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 ring</VAR>...The.return.value.is
bd380 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 .a.pointer.to.the.located.......
bd3a0 20 20 20 63 68 61 72 61 63 74 65 72 2c 20 6f 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 ...character,.or.a.null.pointer.
bd3c0 69 66 20 6e 6f 20 6d 61 74 63 68 20 77 61 73 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 if.no.match.was.found...........
bd3e0 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 3c <br><br>.For.example,..........<
bd400 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 63 68 72 20 28 22 68 65 6c 6c 6f pre><br>..........strchr.("hello
bd420 2c 20 77 6f 72 6c 64 22 2c 20 27 6c 27 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ,.world",.'l')<br>..............
bd440 20 22 6c 6c 6f 2c 20 77 6f 72 6c 64 22 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 63 68 ."llo,.world"<br>..........strch
bd460 72 20 28 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 2c 20 27 3f 27 29 3c 62 72 3e 0a 20 20 20 20 r.("hello,.world",.'?')<br>.....
bd480 20 20 20 20 20 20 20 20 20 20 4e 55 4c 4c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 ..........NULL<br>..........</pr
bd4a0 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 74 65 72 6d 69 6e 61 e>..........<br><br>.The.termina
bd4c0 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 20 63 6f 6e 73 69 64 65 72 65 ting.null.character.is.considere
bd4e0 64 20 74 6f 20 62 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 d.to.be.part.of.the.string,.....
bd500 20 20 20 20 20 73 6f 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f .....so.you.can.use.this.functio
bd520 6e 20 67 65 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 61 20 n.get.a.pointer.to.the.end.of.a.
bd540 73 74 72 69 6e 67 20 62 79 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 79 69 6e 67 20 61 20 string.by..........specifying.a.
bd560 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 null.character.as.the.value.of.t
bd580 68 65 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 74 0a 20 20 he.<VAR>c</VAR>.argument...It...
bd5a0 20 20 20 20 20 20 20 77 6f 75 6c 64 20 62 65 20 62 65 74 74 65 72 20 28 62 75 74 20 6c 65 73 73 .......would.be.better.(but.less
bd5c0 20 70 6f 72 74 61 62 6c 65 29 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 73 74 72 63 68 72 6e 75 .portable).to.use.<CODE>strchrnu
bd5e0 6c 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 2c 20 l</CODE>.in.this..........case,.
bd600 74 68 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a though..........sq.~......w.....
bd620 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 14 74 00 19 63 6f 6e 73 74 20 63 68 61 72 20 2a t..string.hxq.~..t..const.char.*
bd640 73 74 72 69 6e 67 2c 20 69 6e 74 20 63 74 00 06 63 68 61 72 20 2a 74 00 09 73 74 72 63 68 72 6e string,.int.ct..char.*t..strchrn
bd660 75 6c 73 71 00 7e 00 0a 70 74 01 18 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 63 68 ulsq.~..pt...........<CODE>strch
bd680 72 6e 75 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 rnul</CODE>.is.the.same.as.<CODE
bd6a0 3e 73 74 72 63 68 72 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 66 20 69 74 >strchr</CODE>.except.that.if.it
bd6c0 20 64 6f 65 73 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 20 66 69 6e 64 20 74 68 65 20 63 68 61 72 .does..........not.find.the.char
bd6e0 61 63 74 65 72 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 73 acter,.it.returns.a.pointer.to.s
bd700 74 72 69 6e 67 27 73 20 74 65 72 6d 69 6e 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6e 75 6c tring's.terminating..........nul
bd720 6c 20 63 68 61 72 61 63 74 65 72 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 6e 75 6c 6c 20 70 l.character.rather.than.a.null.p
bd740 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 ointer...........<br><br>.This.f
bd760 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 unction.is.a.GNU.extension......
bd780 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 ....sq.~......w.....t..string.hx
bd7a0 71 00 7e 1b 1b 74 00 19 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20 q.~..t..const.char.*string,.int.
bd7c0 63 74 00 06 63 68 61 72 20 2a 74 00 06 73 74 72 63 6d 70 73 71 00 7e 00 0a 70 74 03 4e 0a 20 20 ct..char.*t..strcmpsq.~..pt.N...
bd7e0 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 63 6d 70 3c 2f 43 4f 44 45 3e 20 66 75 ......The.<CODE>strcmp</CODE>.fu
bd800 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 73 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e nction.compares.the.string.<VAR>
bd820 73 31 3c 2f 56 41 52 3e 20 61 67 61 69 6e 73 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 s1</VAR>.against..........<VAR>s
bd840 32 3c 2f 56 41 52 3e 2c 20 72 65 74 75 72 6e 69 6e 67 20 61 20 76 61 6c 75 65 20 74 68 61 74 20 2</VAR>,.returning.a.value.that.
bd860 68 61 73 20 74 68 65 20 73 61 6d 65 20 73 69 67 6e 20 61 73 20 74 68 65 20 64 69 66 66 65 72 65 has.the.same.sign.as.the.differe
bd880 6e 63 65 0a 20 20 20 20 20 20 20 20 20 62 65 74 77 65 65 6e 20 74 68 65 20 66 69 72 73 74 20 64 nce..........between.the.first.d
bd8a0 69 66 66 65 72 69 6e 67 20 70 61 69 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 28 69 6e 74 iffering.pair.of.characters.(int
bd8c0 65 72 70 72 65 74 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 75 6e 73 69 67 erpreted.as..........<CODE>unsig
bd8e0 6e 65 64 20 63 68 61 72 3c 2f 43 4f 44 45 3e 20 6f 62 6a 65 63 74 73 2c 20 74 68 65 6e 20 70 72 ned.char</CODE>.objects,.then.pr
bd900 6f 6d 6f 74 65 64 20 74 6f 20 3c 43 4f 44 45 3e 69 6e 74 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 omoted.to.<CODE>int</CODE>).....
bd920 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 74 77 6f 20 73 74 72 69 6e 67 ......<br><br>.If.the.two.string
bd940 73 20 61 72 65 20 65 71 75 61 6c 2c 20 3c 43 4f 44 45 3e 73 74 72 63 6d 70 3c 2f 43 4f 44 45 3e s.are.equal,.<CODE>strcmp</CODE>
bd960 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 .returns.<CODE>0</CODE>.........
bd980 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 ..<br><br>.A.consequence.of.the.
bd9a0 6f 72 64 65 72 69 6e 67 20 75 73 65 64 20 62 79 20 3c 43 4f 44 45 3e 73 74 72 63 6d 70 3c 2f 43 ordering.used.by.<CODE>strcmp</C
bd9c0 4f 44 45 3e 20 69 73 20 74 68 61 74 20 69 66 20 3c 56 41 52 3e 73 31 3c 2f 56 41 52 3e 0a 20 20 ODE>.is.that.if.<VAR>s1</VAR>...
bd9e0 20 20 20 20 20 20 20 69 73 20 61 6e 20 69 6e 69 74 69 61 6c 20 73 75 62 73 74 72 69 6e 67 20 6f .......is.an.initial.substring.o
bda00 66 20 3c 56 41 52 3e 73 32 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 20 3c 56 41 52 3e 73 31 3c 2f 56 f.<VAR>s2</VAR>,.then.<VAR>s1</V
bda20 41 52 3e 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 AR>.is.considered.to.be.........
bda40 20 60 60 6c 65 73 73 20 74 68 61 6e 27 27 20 3c 56 41 52 3e 73 32 3c 2f 56 41 52 3e 2e 0a 20 20 .``less.than''.<VAR>s2</VAR>....
bda60 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 74 72 63 6d 70 3c 2f 43 4f .......<br><br>.<CODE>strcmp</CO
bda80 44 45 3e 20 64 6f 65 73 20 6e 6f 74 20 74 61 6b 65 20 73 6f 72 74 69 6e 67 20 63 6f 6e 76 65 6e DE>.does.not.take.sorting.conven
bdaa0 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 74 68 65 0a 20 20 20 20 20 20 tions.of.the.language.the.......
bdac0 20 20 20 73 74 72 69 6e 67 73 20 61 72 65 20 77 72 69 74 74 65 6e 20 69 6e 20 69 6e 74 6f 20 61 ...strings.are.written.in.into.a
bdae0 63 63 6f 75 6e 74 2e 20 20 54 6f 20 67 65 74 20 74 68 61 74 20 6f 6e 65 20 68 61 73 20 74 6f 20 ccount...To.get.that.one.has.to.
bdb00 75 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 63 6f 6c 6c 3c 2f 43 4f 44 45 use..........<CODE>strcoll</CODE
bdb20 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 >..........sq.~......w.....t..st
bdb40 72 69 6e 67 2e 68 78 71 00 7e 1b 22 74 00 1e 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 31 2c 20 63 ring.hxq.~."t..const.char.*s1,.c
bdb60 6f 6e 73 74 20 63 68 61 72 20 2a 73 32 74 00 03 69 6e 74 74 00 07 73 74 72 63 6f 6c 6c 73 71 00 onst.char.*s2t..intt..strcollsq.
bdb80 7e 00 0a 70 74 00 d1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 63 6f 6c ~..pt...........The.<CODE>strcol
bdba0 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 l</CODE>.function.is.similar.to.
bdbc0 3c 43 4f 44 45 3e 73 74 72 63 6d 70 3c 2f 43 4f 44 45 3e 20 62 75 74 20 75 73 65 73 20 74 68 65 <CODE>strcmp</CODE>.but.uses.the
bdbe0 0a 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71 75 65 6e 63 65 20 6f 66 20 ..........collating.sequence.of.
bdc00 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 20 66 6f 72 20 63 6f 6c 6c 61 74 69 6f 6e the.current.locale.for.collation
bdc20 20 28 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 43 5f 43 4f 4c 4c 41 54 45 3c .(the..........<CODE>LC_COLLATE<
bdc40 2f 43 4f 44 45 3e 20 6c 6f 63 61 6c 65 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 /CODE>.locale)..........sq.~....
bdc60 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 29 74 00 1e 63 6f 6e 73 ..w.....t..string.hxq.~.)t..cons
bdc80 74 20 63 68 61 72 20 2a 73 31 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 32 74 00 03 69 6e 74 t.char.*s1,.const.char.*s2t..int
bdca0 74 00 06 73 74 72 63 70 79 73 71 00 7e 00 0a 70 74 01 3f 0a 20 20 20 20 20 20 20 20 54 68 69 73 t..strcpysq.~..pt.?.........This
bdcc0 20 63 6f 70 69 65 73 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 73 74 72 69 .copies.characters.from.the.stri
bdce0 6e 67 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 3e 20 28 75 70 20 74 6f 20 61 6e 64 20 69 6e ng.<VAR>from</VAR>.(up.to.and.in
bdd00 63 6c 75 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 cluding..........the.terminating
bdd20 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 29 20 69 6e 74 6f 20 74 68 65 20 73 74 72 69 6e 67 .null.character).into.the.string
bdd40 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 20 20 4c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c .<VAR>to</VAR>...Like..........<
bdd60 43 4f 44 45 3e 6d 65 6d 63 70 79 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f CODE>memcpy</CODE>,.this.functio
bdd80 6e 20 68 61 73 20 75 6e 64 65 66 69 6e 65 64 20 72 65 73 75 6c 74 73 20 69 66 20 74 68 65 20 73 n.has.undefined.results.if.the.s
bdda0 74 72 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 6c 61 70 2e 20 20 54 68 65 20 72 65 trings..........overlap...The.re
bddc0 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e turn.value.is.the.value.of.<VAR>
bdde0 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 to</VAR>..........sq.~......w...
bde00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 30 74 00 2c 63 68 61 72 20 2a 72 65 73 74 ..t..string.hxq.~.0t.,char.*rest
bde20 72 69 63 74 20 74 6f 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 66 72 rict.to,.const.char.*restrict.fr
bde40 6f 6d 74 00 06 63 68 61 72 20 2a 74 00 07 73 74 72 63 73 70 6e 73 71 00 7e 00 0a 70 74 03 74 0a omt..char.*t..strcspnsq.~..pt.t.
bde60 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 63 73 70 6e 3c 2f 43 4f 44 45 3e ........The.<CODE>strcspn</CODE>
bde80 20 28 60 60 73 74 72 69 6e 67 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 73 70 61 6e 27 27 29 20 66 75 .(``string.complement.span'').fu
bdea0 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 nction.returns.the.length.......
bdec0 20 20 20 6f 66 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 3c ...of.the.initial.substring.of.<
bdee0 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 74 68 61 74 20 63 6f 6e 73 69 73 74 73 20 65 VAR>string</VAR>.that.consists.e
bdf00 6e 74 69 72 65 6c 79 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 74 ntirely.of.characters..........t
bdf20 68 61 74 20 61 72 65 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 6d 65 6d 62 65 72 73 20 6f 66 20 hat.are.<EM>not</EM>.members.of.
bdf40 74 68 65 20 73 65 74 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 73 74 72 69 6e 67 20 the.set.specified.by.the.string.
bdf60 3c 56 41 52 3e 73 74 6f 70 73 65 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 28 49 6e <VAR>stopset</VAR>...........(In
bdf80 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6f 66 66 .other.words,.it.returns.the.off
bdfa0 73 65 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 3c 56 set.of.the.first.character.in.<V
bdfc0 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 69 73 AR>string</VAR>..........that.is
bdfe0 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 73 65 74 20 3c 56 41 52 3e 73 74 6f 70 73 65 .a.member.of.the.set.<VAR>stopse
be000 74 3c 2f 56 41 52 3e 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 t</VAR>.)..........<br><br>.For.
be020 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 example,..........<pre><br>.....
be040 20 20 20 20 20 73 74 72 63 73 70 6e 20 28 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 2c 20 22 20 .....strcspn.("hello,.world",.".
be060 5c 74 5c 6e 2c 2e 3b 21 3f 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 35 3c \t\n,.;!?")<br>...............5<
be080 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 br>..........</pre>..........<br
be0a0 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 60 60 63 68 61 72 61 63 74 65 72 27 27 20 69 73 ><br>.Note.that.``character''.is
be0c0 20 68 65 72 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 73 65 6e 73 65 20 6f 66 20 62 79 74 65 2e .here.used.in.the.sense.of.byte.
be0e0 20 20 49 6e 20 61 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 61 20 6d ..In.a.string..........using.a.m
be100 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 65 6e 63 6f 64 69 6e 67 20 28 61 62 73 ultibyte.character.encoding.(abs
be120 74 72 61 63 74 29 20 63 68 61 72 61 63 74 65 72 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 0a 20 tract).character.consisting.of..
be140 20 20 20 20 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 62 79 74 65 20 61 72 65 20 6e ........more.than.one.byte.are.n
be160 6f 74 20 74 72 65 61 74 65 64 20 61 73 20 61 6e 20 65 6e 74 69 74 79 2e 20 20 45 61 63 68 20 62 ot.treated.as.an.entity...Each.b
be180 79 74 65 20 69 73 20 74 72 65 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 65 yte.is.treated..........separate
be1a0 6c 79 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 6c 6f 63 61 6c 65 2d ly...The.function.is.not.locale-
be1c0 64 65 70 65 6e 64 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 dependent..........sq.~......w..
be1e0 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 37 74 00 27 63 6f 6e 73 74 20 63 68 61 ...t..string.hxq.~.7t.'const.cha
be200 72 20 2a 73 74 72 69 6e 67 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 6f 70 73 65 74 74 00 r.*string,.const.char.*stopsett.
be220 06 73 69 7a 65 5f 74 74 00 06 73 74 72 64 75 70 73 71 00 7e 00 0a 70 74 01 84 0a 20 20 20 20 20 .size_tt..strdupsq.~..pt........
be240 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 74 68 65 20 6e 75 6c 6c ...This.function.copies.the.null
be260 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 -terminated.string.<VAR>s</VAR>.
be280 69 6e 74 6f 20 61 20 6e 65 77 6c 79 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 into.a.newly..........allocated.
be2a0 73 74 72 69 6e 67 2e 20 20 54 68 65 20 73 74 72 69 6e 67 20 69 73 20 61 6c 6c 6f 63 61 74 65 64 string...The.string.is.allocated
be2c0 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 3b 20 73 65 65 0a .using.<CODE>malloc</CODE>;.see.
be2e0 20 20 20 20 20 20 20 20 20 55 6e 63 6f 6e 73 74 72 61 69 6e 65 64 20 41 6c 6c 6f 63 61 74 69 6f .........Unconstrained.Allocatio
be300 6e 2e 20 20 49 66 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 20 63 61 6e 6e 6f n...If.<CODE>malloc</CODE>.canno
be320 74 20 61 6c 6c 6f 63 61 74 65 20 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 t.allocate.space..........for.th
be340 65 20 6e 65 77 20 73 74 72 69 6e 67 2c 20 3c 43 4f 44 45 3e 73 74 72 64 75 70 3c 2f 43 4f 44 45 e.new.string,.<CODE>strdup</CODE
be360 3e 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 20 20 4f 74 68 65 72 >.returns.a.null.pointer...Other
be380 77 69 73 65 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 wise.it..........returns.a.point
be3a0 65 72 20 74 6f 20 74 68 65 20 6e 65 77 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 73 71 er.to.the.new.string..........sq
be3c0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 3e 74 .~......w.....t..string.hxq.~.>t
be3e0 00 0d 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 00 06 63 68 61 72 20 2a 74 00 08 73 74 72 65 72 ..const.char.*st..char.*t..strer
be400 72 6f 72 73 71 00 7e 00 0a 70 74 02 c1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e rorsq.~..pt...........The.<CODE>
be420 73 74 72 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6d 61 70 73 20 74 68 strerror</CODE>.function.maps.th
be440 65 20 65 72 72 6f 72 20 63 6f 64 65 20 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 3c e.error.code..specified.by.the.<
be460 56 41 52 3e 65 72 72 6e 75 6d 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 61 20 64 VAR>errnum</VAR>.argument.to.a.d
be480 65 73 63 72 69 70 74 69 76 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 escriptive.error..........messag
be4a0 65 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 e.string...The.return.value.is.a
be4c0 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 69 73 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 .pointer.to.this.string.........
be4e0 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 76 61 6c 75 65 20 3c 56 41 52 3e 65 72 72 6e 75 6d ..<br><br>.The.value.<VAR>errnum
be500 3c 2f 56 41 52 3e 20 6e 6f 72 6d 61 6c 6c 79 20 63 6f 6d 65 73 20 66 72 6f 6d 20 74 68 65 20 76 </VAR>.normally.comes.from.the.v
be520 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 ariable.<CODE>errno</CODE>......
be540 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6d 6f 64 .....<br><br>.You.should.not.mod
be560 69 66 79 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 ify.the.string.returned.by.<CODE
be580 3e 73 74 72 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 2e 20 20 41 6c 73 6f 2c 20 69 66 0a 20 20 20 20 >strerror</CODE>...Also,.if.....
be5a0 20 20 20 20 20 79 6f 75 20 6d 61 6b 65 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 .....you.make.subsequent.calls.t
be5c0 6f 20 3c 43 4f 44 45 3e 73 74 72 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 73 74 72 o.<CODE>strerror</CODE>,.the.str
be5e0 69 6e 67 20 6d 69 67 68 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 77 72 69 74 74 65 ing.might.be..........overwritte
be600 6e 2e 20 20 28 42 75 74 20 69 74 27 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 68 61 74 20 6e 6f n...(But.it's.guaranteed.that.no
be620 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 65 76 65 72 20 63 61 6c 6c 73 0a 20 20 20 .library.function.ever.calls....
be640 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 62 65 68 69 ......<CODE>strerror</CODE>.behi
be660 6e 64 20 79 6f 75 72 20 62 61 63 6b 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e nd.your.back.)..........<br><br>
be680 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 73 74 72 65 72 72 6f 72 3c 2f 43 4f .The.function.<CODE>strerror</CO
be6a0 44 45 3e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 72 69 6e 67 2e 68 3c DE>.is.declared.in.<TT>string.h<
be6c0 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 03 77 04 00 00 00 0a 74 00 /TT>..........sq.~......w.....t.
be6e0 08 6d 61 6c 6c 6f 63 2e 68 74 00 07 65 72 72 6e 6f 2e 68 74 00 08 73 74 72 69 6e 67 2e 68 78 71 .malloc.ht..errno.ht..string.hxq
be700 00 7e 1b 45 74 00 0a 69 6e 74 20 65 72 72 6e 75 6d 74 00 06 63 68 61 72 20 2a 74 00 0a 73 74 72 .~.Et..int.errnumt..char.*t..str
be720 65 72 72 6f 72 5f 72 73 71 00 7e 00 0a 70 74 03 c4 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 error_rsq.~..pt...........The.<C
be740 4f 44 45 3e 73 74 72 65 72 72 6f 72 5f 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 ODE>strerror_r</CODE>.function.w
be760 6f 72 6b 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 72 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 orks.like.<CODE>strerror</CODE>.
be780 62 75 74 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 69 6e but.instead.of..........returnin
be7a0 67 20 74 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 6e 20 61 20 73 74 61 74 69 63 61 g.the.error.message.in.a.statica
be7c0 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 62 75 66 66 65 72 20 73 68 61 72 65 64 20 62 79 0a 20 lly.allocated.buffer.shared.by..
be7e0 20 20 20 20 20 20 20 20 61 6c 6c 20 74 68 72 65 61 64 73 20 69 6e 20 74 68 65 20 70 72 6f 63 65 ........all.threads.in.the.proce
be800 73 73 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 70 72 69 76 61 74 65 20 63 6f 70 79 20 66 6f ss,.it.returns.a.private.copy.fo
be820 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 68 72 65 61 64 2e 20 54 68 69 73 20 6d 69 67 68 r.the..........thread..This.migh
be840 74 20 62 65 20 65 69 74 68 65 72 20 73 6f 6d 65 20 70 65 72 6d 61 6e 65 6e 74 20 67 6c 6f 62 61 t.be.either.some.permanent.globa
be860 6c 20 64 61 74 61 20 6f 72 20 61 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 l.data.or.a.message..........str
be880 69 6e 67 20 69 6e 20 74 68 65 20 75 73 65 72 20 73 75 70 70 6c 69 65 64 20 62 75 66 66 65 72 20 ing.in.the.user.supplied.buffer.
be8a0 73 74 61 72 74 69 6e 67 20 61 74 20 3c 56 41 52 3e 62 75 66 3c 2f 56 41 52 3e 20 77 69 74 68 20 starting.at.<VAR>buf</VAR>.with.
be8c0 74 68 65 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e 6e 3c 2f 56 the..........length.of.<VAR>n</V
be8e0 41 52 3e 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 74 20 AR>.bytes...........<br><br>.At.
be900 6d 6f 73 74 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 most.<VAR>n</VAR>.characters.are
be920 20 77 72 69 74 74 65 6e 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 4e 55 4c 20 62 79 74 65 .written.(including.the.NUL.byte
be940 29 20 73 6f 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 75 70 20 74 6f 20 74 68 65 20 75 73 ).so.it.is..........up.to.the.us
be960 65 72 20 74 6f 20 73 65 6c 65 63 74 20 74 68 65 20 62 75 66 66 65 72 20 6c 61 72 67 65 20 65 6e er.to.select.the.buffer.large.en
be980 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e ough...........<br><br>.This.fun
be9a0 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 75 73 65 64 20 69 6e 20 6d ction.should.always.be.used.in.m
be9c0 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d 73 20 73 69 6e 63 65 0a 20 20 20 ulti-threaded.programs.since....
be9e0 20 20 20 20 20 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 79 20 74 6f 20 67 75 61 72 61 6e 74 ......there.is.no.way.to.guarant
bea00 65 65 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e ee.the.string.returned.by.<CODE>
bea20 73 74 72 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 61 6c 6c 79 20 strerror</CODE>..........really.
bea40 62 65 6c 6f 6e 67 73 20 74 6f 20 74 68 65 20 6c 61 73 74 20 63 61 6c 6c 20 6f 66 20 74 68 65 20 belongs.to.the.last.call.of.the.
bea60 63 75 72 72 65 6e 74 20 74 68 72 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 current.thread...........<br><br
bea80 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 73 74 72 65 72 72 6f 72 5f 72 >.This.function.<CODE>strerror_r
beaa0 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 69 </CODE>.is.a.GNU.extension.and.i
beac0 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 54 54 3e 73 74 t.is.declared.in..........<TT>st
beae0 72 69 6e 67 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 ring.h</TT>..........sq.~......w
beb00 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 4e 74 00 1f 69 6e 74 20 65 72 72 .....t..string.hxq.~.Nt..int.err
beb20 6e 75 6d 2c 20 63 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 6e 74 00 06 63 68 61 72 20 num,.char.*buf,.size_t.nt..char.
beb40 2a 74 00 07 73 74 72 66 6d 6f 6e 73 71 00 7e 00 0a 70 74 18 c8 0a 20 20 20 20 20 20 20 20 54 68 *t..strfmonsq.~..pt...........Th
beb60 65 20 3c 43 4f 44 45 3e 73 74 72 66 6d 6f 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 e.<CODE>strfmon</CODE>.function.
beb80 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 is.similar.to.the.<CODE>strftime
beba0 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 61 </CODE>.function..........in.tha
bebc0 74 20 69 74 20 74 61 6b 65 73 20 61 20 62 75 66 66 65 72 2c 20 69 74 73 20 73 69 7a 65 2c 20 61 t.it.takes.a.buffer,.its.size,.a
bebe0 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 76 61 6c .format.string,..........and.val
bec00 75 65 73 20 74 6f 20 77 72 69 74 65 20 69 6e 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 61 73 20 ues.to.write.into.the.buffer.as.
bec20 74 65 78 74 20 69 6e 20 61 20 66 6f 72 6d 20 73 70 65 63 69 66 69 65 64 0a 20 20 20 20 20 20 20 text.in.a.form.specified........
bec40 20 20 62 79 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 2e 20 20 4c 69 6b 65 20 3c 43 ..by.the.format.string...Like.<C
bec60 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 66 75 6e 63 74 69 6f ODE>strftime</CODE>,.the.functio
bec80 6e 0a 20 20 20 20 20 20 20 20 20 61 6c 73 6f 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 n..........also.returns.the.numb
beca0 65 72 20 6f 66 20 62 79 74 65 73 20 77 72 69 74 74 65 6e 20 69 6e 74 6f 20 74 68 65 20 62 75 66 er.of.bytes.written.into.the.buf
becc0 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 72 65 20 61 72 65 fer...........<br><br>.There.are
bece0 20 74 77 6f 20 64 69 66 66 65 72 65 6e 63 65 73 3a 20 3c 43 4f 44 45 3e 73 74 72 66 6d 6f 6e 3c .two.differences:.<CODE>strfmon<
bed00 2f 43 4f 44 45 3e 20 63 61 6e 20 74 61 6b 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 0a 20 20 /CODE>.can.take.more.than.one...
bed20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 2c 20 61 6e 64 2c 20 6f 66 20 63 6f 75 72 73 65 2c .......argument,.and,.of.course,
bed40 20 74 68 65 20 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 69 73 20 64 69 66 .the.format.specification.is.dif
bed60 66 65 72 65 6e 74 2e 20 20 4c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 ferent...Like..........<CODE>str
bed80 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 ftime</CODE>,.the.format.string.
beda0 63 6f 6e 73 69 73 74 73 20 6f 66 20 6e 6f 72 6d 61 6c 20 74 65 78 74 2c 20 77 68 69 63 68 20 69 consists.of.normal.text,.which.i
bedc0 73 0a 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 20 61 73 20 69 73 2c 20 61 6e 64 20 66 6f 72 s..........output.as.is,.and.for
bede0 6d 61 74 20 73 70 65 63 69 66 69 65 72 73 2c 20 77 68 69 63 68 20 61 72 65 20 69 6e 64 69 63 61 mat.specifiers,.which.are.indica
bee00 74 65 64 20 62 79 20 61 20 3c 73 61 6d 70 3e 25 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 ted.by.a.<samp>%</samp>.........
bee20 20 20 49 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 74 68 65 20 3c 73 61 6d 70 3e 25 3c ..Immediately.after.the.<samp>%<
bee40 2f 73 61 6d 70 3e 2c 20 79 6f 75 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 73 70 65 63 69 /samp>,.you.can.optionally.speci
bee60 66 79 20 76 61 72 69 6f 75 73 20 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 66 6f fy.various.flags..........and.fo
bee80 72 6d 61 74 74 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 62 65 66 6f 72 65 20 74 68 65 20 rmatting.information.before.the.
beea0 6d 61 69 6e 20 66 6f 72 6d 61 74 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 2c 20 69 6e 20 61 0a main.formatting.character,.in.a.
beec0 20 20 20 20 20 20 20 20 20 73 69 6d 69 6c 61 72 20 77 61 79 20 74 6f 20 3c 43 4f 44 45 3e 70 72 .........similar.way.to.<CODE>pr
beee0 69 6e 74 66 3c 2f 43 4f 44 45 3e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c intf</CODE>:..........<br><br>.<
bef00 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 49 6d 6d 65 64 OL>..........<LI>..........Immed
bef20 69 61 74 65 6c 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 3c 73 61 6d 70 3e 25 3c 2f 73 61 iately.following.the.<samp>%</sa
bef40 6d 70 3e 20 74 68 65 72 65 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6f 66 20 mp>.there.can.be.one.or.more.of.
bef60 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6c 61 67 73 3a 0a 20 20 the..........following.flags:...
bef80 20 20 20 20 20 20 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 20 3c 73 61 6d 70 .......<DL>...........<LI>.<samp
befa0 3e 3d 3c 56 41 52 3e 66 3c 2f 56 41 52 3e 3c 2f 73 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 20 54 >=<VAR>f</VAR></samp>..........T
befc0 68 65 20 73 69 6e 67 6c 65 20 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e 66 3c he.single.byte.character.<VAR>f<
befe0 2f 56 41 52 3e 20 69 73 20 75 73 65 64 20 66 6f 72 20 74 68 69 73 20 66 69 65 6c 64 20 61 73 20 /VAR>.is.used.for.this.field.as.
bf000 74 68 65 20 6e 75 6d 65 72 69 63 0a 20 20 20 20 20 20 20 20 20 66 69 6c 6c 20 63 68 61 72 61 63 the.numeric..........fill.charac
bf020 74 65 72 2e 20 20 42 79 20 64 65 66 61 75 6c 74 20 74 68 69 73 20 63 68 61 72 61 63 74 65 72 20 ter...By.default.this.character.
bf040 69 73 20 61 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 46 is.a.space.character...........F
bf060 69 6c 6c 69 6e 67 20 77 69 74 68 20 74 68 69 73 20 63 68 61 72 61 63 74 65 72 20 69 73 20 6f 6e illing.with.this.character.is.on
bf080 6c 79 20 70 65 72 66 6f 72 6d 65 64 20 69 66 20 61 20 6c 65 66 74 20 70 72 65 63 69 73 69 6f 6e ly.performed.if.a.left.precision
bf0a0 0a 20 20 20 20 20 20 20 20 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 20 20 49 74 20 69 73 20 6e ..........is.specified...It.is.n
bf0c0 6f 74 20 6a 75 73 74 20 74 6f 20 66 69 6c 6c 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 66 69 65 ot.just.to.fill.to.the.given.fie
bf0e0 6c 64 20 77 69 64 74 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 20 3c 73 61 6d 70 3e 5e 3c ld.width...........<LI>.<samp>^<
bf100 2f 73 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6e 75 6d 62 65 72 20 69 73 20 70 72 /samp>..........The.number.is.pr
bf120 69 6e 74 65 64 20 77 69 74 68 6f 75 74 20 67 72 6f 75 70 69 6e 67 20 74 68 65 20 64 69 67 69 74 inted.without.grouping.the.digit
bf140 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 0a 20 20 20 20 20 20 20 s.according.to.the.rules........
bf160 20 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 20 20 42 79 20 64 65 66 ..of.the.current.locale...By.def
bf180 61 75 6c 74 20 67 72 6f 75 70 69 6e 67 20 69 73 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 ault.grouping.is.enabled........
bf1a0 20 20 20 3c 4c 49 3e 20 3c 73 61 6d 70 3e 2b 3c 2f 73 61 6d 70 3e 2c 20 3c 73 61 6d 70 3e 28 3c ...<LI>.<samp>+</samp>,.<samp>(<
bf1c0 2f 73 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 20 41 74 20 6d 6f 73 74 20 6f 6e 65 20 6f 66 20 74 /samp>..........At.most.one.of.t
bf1e0 68 65 73 65 20 66 6c 61 67 73 20 63 61 6e 20 62 65 20 75 73 65 64 2e 20 20 54 68 65 79 20 73 65 hese.flags.can.be.used...They.se
bf200 6c 65 63 74 20 77 68 69 63 68 20 66 6f 72 6d 61 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 72 65 lect.which.format.to..........re
bf220 70 72 65 73 65 6e 74 20 74 68 65 20 73 69 67 6e 20 6f 66 20 61 20 63 75 72 72 65 6e 63 79 20 61 present.the.sign.of.a.currency.a
bf240 6d 6f 75 6e 74 2e 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 61 6e 64 20 69 66 0a 20 20 20 20 20 mount...By.default,.and.if......
bf260 20 20 20 20 3c 73 61 6d 70 3e 2b 3c 2f 73 61 6d 70 3e 20 69 73 20 67 69 76 65 6e 2c 20 74 68 65 ....<samp>+</samp>.is.given,.the
bf280 20 6c 6f 63 61 6c 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 2b 2f 2d 20 69 73 20 75 73 65 .locale.equivalent.of.+/-.is.use
bf2a0 64 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 28 3c 2f 73 61 6d 70 3e 20 69 d...If..........<samp>(</samp>.i
bf2c0 73 20 67 69 76 65 6e 2c 20 6e 65 67 61 74 69 76 65 20 61 6d 6f 75 6e 74 73 20 61 72 65 20 65 6e s.given,.negative.amounts.are.en
bf2e0 63 6c 6f 73 65 64 20 69 6e 20 70 61 72 65 6e 74 68 65 73 65 73 2e 20 20 54 68 65 0a 20 20 20 20 closed.in.parentheses...The.....
bf300 20 20 20 20 20 65 78 61 63 74 20 66 6f 72 6d 61 74 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 .....exact.format.is.determined.
bf320 62 79 20 74 68 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 4c 43 5f 4d 4f by.the.values.of.the.<CODE>LC_MO
bf340 4e 45 54 41 52 59 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 61 74 65 67 6f 72 79 20 NETARY</CODE>..........category.
bf360 6f 66 20 74 68 65 20 6c 6f 63 61 6c 65 20 73 65 6c 65 63 74 65 64 20 61 74 20 70 72 6f 67 72 61 of.the.locale.selected.at.progra
bf380 6d 20 72 75 6e 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 20 3c 73 61 6d 70 3e 21 m.runtime...........<LI>.<samp>!
bf3a0 3c 2f 73 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 75 74 70 75 74 20 77 69 6c 6c </samp>..........The.output.will
bf3c0 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 63 75 72 72 65 6e 63 79 20 73 79 6d 62 6f 6c .not.contain.the.currency.symbol
bf3e0 2e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 20 3c 73 61 6d 70 3e 2d 3c 2f 73 61 6d 70 3e 0a 20 ...........<LI>.<samp>-</samp>..
bf400 20 20 20 20 20 20 20 20 54 68 65 20 6f 75 74 70 75 74 20 77 69 6c 6c 20 62 65 20 66 6f 72 6d 61 ........The.output.will.be.forma
bf420 74 74 65 64 20 6c 65 66 74 2d 6a 75 73 74 69 66 69 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 72 tted.left-justified.instead.of.r
bf440 69 67 68 74 2d 6a 75 73 74 69 66 69 65 64 20 69 66 0a 20 20 20 20 20 20 20 20 20 69 74 20 64 6f ight-justified.if..........it.do
bf460 65 73 20 6e 6f 74 20 66 69 6c 6c 20 74 68 65 20 65 6e 74 69 72 65 20 66 69 65 6c 64 20 77 69 64 es.not.fill.the.entire.field.wid
bf480 74 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c th...........</DL>..........</OL
bf4a0 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 65 78 74 20 70 61 72 >..........<br><br>.The.next.par
bf4c0 74 20 6f 66 20 61 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 69 73 20 61 6e 20 6f 70 74 69 6f t.of.a.specification.is.an.optio
bf4e0 6e 61 6c 20 66 69 65 6c 64 20 77 69 64 74 68 2e 20 20 49 66 20 6e 6f 0a 20 20 20 20 20 20 20 20 nal.field.width...If.no.........
bf500 20 77 69 64 74 68 20 69 73 20 73 70 65 63 69 66 69 65 64 20 30 20 69 73 20 74 61 6b 65 6e 2e 20 .width.is.specified.0.is.taken..
bf520 20 44 75 72 69 6e 67 20 6f 75 74 70 75 74 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 72 .During.output,.the.function.fir
bf540 73 74 0a 20 20 20 20 20 20 20 20 20 64 65 74 65 72 6d 69 6e 65 73 20 68 6f 77 20 6d 75 63 68 20 st..........determines.how.much.
bf560 73 70 61 63 65 20 69 73 20 72 65 71 75 69 72 65 64 2e 20 20 49 66 20 69 74 20 72 65 71 75 69 72 space.is.required...If.it.requir
bf580 65 73 20 61 74 20 6c 65 61 73 74 20 61 73 20 6d 61 6e 79 0a 20 20 20 20 20 20 20 20 20 63 68 61 es.at.least.as.many..........cha
bf5a0 72 61 63 74 65 72 73 20 61 73 20 67 69 76 65 6e 20 62 79 20 74 68 65 20 66 69 65 6c 64 20 77 69 racters.as.given.by.the.field.wi
bf5c0 64 74 68 2c 20 69 74 20 69 73 20 6f 75 74 70 75 74 20 75 73 69 6e 67 20 61 73 20 6d 75 63 68 20 dth,.it.is.output.using.as.much.
bf5e0 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 61 73 20 6e 65 63 65 73 73 61 72 79 2e 20 20 4f 74 space..........as.necessary...Ot
bf600 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20 65 78 74 65 6e 64 65 64 20 74 6f 20 75 73 65 20 74 herwise,.it.is.extended.to.use.t
bf620 68 65 20 66 75 6c 6c 20 77 69 64 74 68 20 62 79 0a 20 20 20 20 20 20 20 20 20 66 69 6c 6c 69 6e he.full.width.by..........fillin
bf640 67 20 77 69 74 68 20 74 68 65 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 65 g.with.the.space.character...The
bf660 20 70 72 65 73 65 6e 63 65 20 6f 72 20 61 62 73 65 6e 63 65 20 6f 66 20 74 68 65 0a 20 20 20 20 .presence.or.absence.of.the.....
bf680 20 20 20 20 20 3c 73 61 6d 70 3e 2d 3c 2f 73 61 6d 70 3e 20 66 6c 61 67 20 64 65 74 65 72 6d 69 .....<samp>-</samp>.flag.determi
bf6a0 6e 65 73 20 74 68 65 20 73 69 64 65 20 61 74 20 77 68 69 63 68 20 73 75 63 68 20 70 61 64 64 69 nes.the.side.at.which.such.paddi
bf6c0 6e 67 20 6f 63 63 75 72 73 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 70 72 65 73 65 6e 74 2c ng.occurs...If..........present,
bf6e0 20 74 68 65 20 73 70 61 63 65 73 20 61 72 65 20 61 64 64 65 64 20 61 74 20 74 68 65 20 72 69 67 .the.spaces.are.added.at.the.rig
bf700 68 74 20 6d 61 6b 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 6c 65 ht.making.the.output..........le
bf720 66 74 2d 6a 75 73 74 69 66 69 65 64 2c 20 61 6e 64 20 76 69 63 65 20 76 65 72 73 61 2e 0a 20 20 ft-justified,.and.vice.versa....
bf740 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 6f 20 66 61 72 20 74 68 65 20 66 6f 72 6d 61 .......<br><br>.So.far.the.forma
bf760 74 20 6c 6f 6f 6b 73 20 66 61 6d 69 6c 69 61 72 2c 20 62 65 69 6e 67 20 73 69 6d 69 6c 61 72 20 t.looks.familiar,.being.similar.
bf780 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 to.the.<CODE>printf</CODE>.and..
bf7a0 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 6f ........<CODE>strftime</CODE>.fo
bf7c0 72 6d 61 74 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 6e 65 78 74 20 74 77 6f 20 6f 70 rmats...However,.the.next.two.op
bf7e0 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 0a 20 20 20 20 20 20 20 20 20 69 6e 74 72 6f 64 75 63 65 tional.fields..........introduce
bf800 20 73 6f 6d 65 74 68 69 6e 67 20 6e 65 77 2e 20 20 54 68 65 20 66 69 72 73 74 20 6f 6e 65 20 69 .something.new...The.first.one.i
bf820 73 20 61 20 3c 73 61 6d 70 3e 23 3c 2f 73 61 6d 70 3e 20 63 68 61 72 61 63 74 65 72 20 66 6f 6c s.a.<samp>#</samp>.character.fol
bf840 6c 6f 77 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 61 20 64 65 63 69 6d 61 6c 20 64 69 67 69 lowed..........by.a.decimal.digi
bf860 74 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 64 69 67 69 t.string...The.value.of.the.digi
bf880 74 20 73 74 72 69 6e 67 20 73 70 65 63 69 66 69 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 t.string.specifies.the..........
bf8a0 6e 75 6d 62 65 72 20 6f 66 20 3c 45 4d 3e 64 69 67 69 74 3c 2f 45 4d 3e 20 70 6f 73 69 74 69 6f number.of.<EM>digit</EM>.positio
bf8c0 6e 73 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 64 65 63 69 6d 61 6c 20 70 6f ns.to.the.left.of.the.decimal.po
bf8e0 69 6e 74 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 29 2e 20 20 54 int.(or..........equivalent)...T
bf900 68 69 73 20 64 6f 65 73 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 69 6e 63 6c 75 64 65 20 74 68 his.does.<EM>not</EM>.include.th
bf920 65 20 67 72 6f 75 70 69 6e 67 20 63 68 61 72 61 63 74 65 72 20 77 68 65 6e 0a 20 20 20 20 20 20 e.grouping.character.when.......
bf940 20 20 20 74 68 65 20 3c 73 61 6d 70 3e 5e 3c 2f 73 61 6d 70 3e 20 66 6c 61 67 20 69 73 20 6e 6f ...the.<samp>^</samp>.flag.is.no
bf960 74 20 67 69 76 65 6e 2e 20 20 49 66 20 74 68 65 20 73 70 61 63 65 20 6e 65 65 64 65 64 20 74 6f t.given...If.the.space.needed.to
bf980 20 70 72 69 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 20 .print.the.number..........does.
bf9a0 6e 6f 74 20 66 69 6c 6c 20 74 68 65 20 77 68 6f 6c 65 20 77 69 64 74 68 2c 20 74 68 65 20 66 69 not.fill.the.whole.width,.the.fi
bf9c0 65 6c 64 20 69 73 20 70 61 64 64 65 64 20 61 74 20 74 68 65 20 6c 65 66 74 20 73 69 64 65 20 77 eld.is.padded.at.the.left.side.w
bf9e0 69 74 68 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 6c 20 63 68 61 72 61 63 74 65 72 2c ith..........the.fill.character,
bfa00 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 73 65 6c 65 63 74 65 64 20 75 73 69 6e 67 20 74 68 65 .which.can.be.selected.using.the
bfa20 20 3c 73 61 6d 70 3e 3d 3c 2f 73 61 6d 70 3e 20 66 6c 61 67 20 61 6e 64 20 62 79 0a 20 20 20 20 .<samp>=</samp>.flag.and.by.....
bfa40 20 20 20 20 20 64 65 66 61 75 6c 74 20 69 73 20 61 20 73 70 61 63 65 2e 20 20 46 6f 72 20 65 78 .....default.is.a.space...For.ex
bfa60 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 66 69 65 6c 64 20 77 69 64 74 68 20 69 73 20 73 65 6c ample,.if.the.field.width.is.sel
bfa80 65 63 74 65 64 20 61 73 20 36 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 6e 75 6d 62 ected.as.6..........and.the.numb
bfaa0 65 72 20 69 73 20 31 32 33 2c 20 74 68 65 20 66 69 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 er.is.123,.the.fill.character.is
bfac0 20 3c 73 61 6d 70 3e 2a 3c 2f 73 61 6d 70 3e 20 74 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 .<samp>*</samp>.the.result......
bfae0 20 20 20 20 77 69 6c 6c 20 62 65 20 3c 73 61 6d 70 3e 2a 2a 2a 31 32 33 3c 2f 73 61 6d 70 3e 2e ....will.be.<samp>***123</samp>.
bfb00 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 65 63 6f 6e 64 20 6f 70 ..........<br><br>.The.second.op
bfb20 74 69 6f 6e 61 6c 20 66 69 65 6c 64 20 73 74 61 72 74 73 20 77 69 74 68 20 61 20 3c 73 61 6d 70 tional.field.starts.with.a.<samp
bfb40 3e 2e 3c 2f 73 61 6d 70 3e 20 28 70 65 72 69 6f 64 29 20 61 6e 64 20 63 6f 6e 73 69 73 74 73 0a >.</samp>.(period).and.consists.
bfb60 20 20 20 20 20 20 20 20 20 6f 66 20 61 6e 6f 74 68 65 72 20 64 65 63 69 6d 61 6c 20 64 69 67 69 .........of.another.decimal.digi
bfb80 74 20 73 74 72 69 6e 67 2e 20 20 49 74 73 20 76 61 6c 75 65 20 64 65 73 63 72 69 62 65 73 20 74 t.string...Its.value.describes.t
bfba0 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 he.number.of..........characters
bfbc0 20 70 72 69 6e 74 65 64 20 61 66 74 65 72 20 74 68 65 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e 74 .printed.after.the.decimal.point
bfbe0 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 73 65 6c 65 63 74 65 64 0a 20 20 20 20 20 ...The.default.is.selected......
bfc00 20 20 20 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 20 28 3c 43 4f ....from.the.current.locale.(<CO
bfc20 44 45 3e 66 72 61 63 5f 64 69 67 69 74 73 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 69 6e 74 DE>frac_digits</CODE>,.<CODE>int
bfc40 5f 66 72 61 63 5f 64 69 67 69 74 73 3c 2f 43 4f 44 45 3e 2c 20 73 65 65 0a 20 20 20 20 20 20 20 _frac_digits</CODE>,.see........
bfc60 20 20 29 2e 20 20 49 66 20 74 68 65 20 65 78 61 63 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f ..)...If.the.exact.representatio
bfc80 6e 20 6e 65 65 64 73 20 6d 6f 72 65 20 64 69 67 69 74 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 n.needs.more.digits..........tha
bfca0 6e 20 67 69 76 65 6e 20 62 79 20 74 68 65 20 66 69 65 6c 64 20 77 69 64 74 68 2c 20 74 68 65 20 n.given.by.the.field.width,.the.
bfcc0 64 69 73 70 6c 61 79 65 64 20 76 61 6c 75 65 20 69 73 20 72 6f 75 6e 64 65 64 2e 20 20 49 66 20 displayed.value.is.rounded...If.
bfce0 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 66 72 61 63 74 69 6f 6e 61 the..........number.of.fractiona
bfd00 6c 20 64 69 67 69 74 73 20 69 73 20 73 65 6c 65 63 74 65 64 20 74 6f 20 62 65 20 7a 65 72 6f 2c l.digits.is.selected.to.be.zero,
bfd20 20 6e 6f 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 72 .no.decimal.point.is..........pr
bfd40 69 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 73 20 61 20 47 4e inted...........<br><br>.As.a.GN
bfd60 55 20 65 78 74 65 6e 73 69 6f 6e 2c 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 66 6d 6f 6e 3c 2f U.extension,.the.<CODE>strfmon</
bfd80 43 4f 44 45 3e 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 47 4e 55 20 CODE>.implementation.in.the.GNU.
bfda0 6c 69 62 63 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c libc..........allows.an.optional
bfdc0 20 3c 73 61 6d 70 3e 4c 3c 2f 73 61 6d 70 3e 20 6e 65 78 74 20 61 73 20 61 20 66 6f 72 6d 61 74 .<samp>L</samp>.next.as.a.format
bfde0 20 6d 6f 64 69 66 69 65 72 2e 20 20 49 66 20 74 68 69 73 20 6d 6f 64 69 66 69 65 72 0a 20 20 20 .modifier...If.this.modifier....
bfe00 20 20 20 20 20 20 69 73 20 67 69 76 65 6e 2c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 ......is.given,.the.argument.is.
bfe20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 expected.to.be.a.<CODE>long.doub
bfe40 6c 65 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 20 20 20 20 20 20 20 61 20 le</CODE>.instead.of..........a.
bfe60 3c 43 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 <CODE>double</CODE>.value.......
bfe80 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 69 6e 61 6c 6c 79 2c 20 74 68 65 20 6c 61 73 74 20 63 ....<br><br>.Finally,.the.last.c
bfea0 6f 6d 70 6f 6e 65 6e 74 20 69 73 20 61 20 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 65 72 2e 20 omponent.is.a.format.specifier..
bfec0 20 54 68 65 72 65 20 61 72 65 20 74 68 72 65 65 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 .There.are.three..........specif
bfee0 69 65 72 73 20 64 65 66 69 6e 65 64 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 iers.defined:..........<br><br>.
bff00 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 20 3c 73 61 6d 70 3e 69 3c 2f 73 61 6d <DL>...........<LI>.<samp>i</sam
bff20 70 3e 0a 20 20 20 20 20 20 20 20 20 55 73 65 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 72 75 6c p>..........Use.the.locale's.rul
bff40 65 73 20 66 6f 72 20 66 6f 72 6d 61 74 74 69 6e 67 20 61 6e 20 69 6e 74 65 72 6e 61 74 69 6f 6e es.for.formatting.an.internation
bff60 61 6c 20 63 75 72 72 65 6e 63 79 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e al.currency.value...........<LI>
bff80 20 3c 73 61 6d 70 3e 6e 3c 2f 73 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 20 55 73 65 20 74 68 65 .<samp>n</samp>..........Use.the
bffa0 20 6c 6f 63 61 6c 65 27 73 20 72 75 6c 65 73 20 66 6f 72 20 66 6f 72 6d 61 74 74 69 6e 67 20 61 .locale's.rules.for.formatting.a
bffc0 20 6e 61 74 69 6f 6e 61 6c 20 63 75 72 72 65 6e 63 79 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 .national.currency.value........
bffe0 20 20 20 3c 4c 49 3e 20 3c 73 61 6d 70 3e 25 3c 2f 73 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 20 ...<LI>.<samp>%</samp>..........
c0000 50 6c 61 63 65 20 61 20 3c 73 61 6d 70 3e 25 3c 2f 73 61 6d 70 3e 20 69 6e 20 74 68 65 20 6f 75 Place.a.<samp>%</samp>.in.the.ou
c0020 74 70 75 74 2e 20 20 54 68 65 72 65 20 6d 75 73 74 20 62 65 20 6e 6f 20 66 6c 61 67 2c 20 77 69 tput...There.must.be.no.flag,.wi
c0040 64 74 68 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 72 20 6f 72 20 6d 6f 64 69 66 69 dth..........specifier.or.modifi
c0060 65 72 20 67 69 76 65 6e 2c 20 6f 6e 6c 79 20 3c 73 61 6d 70 3e 25 25 3c 2f 73 61 6d 70 3e 20 69 er.given,.only.<samp>%%</samp>.i
c0080 73 20 61 6c 6c 6f 77 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 s.allowed...........</DL>.......
c00a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 73 20 66 6f 72 20 3c 43 4f 44 45 3e 70 72 69 6e 74 66 3c ...<br><br>.As.for.<CODE>printf<
c00c0 2f 43 4f 44 45 3e 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 74 68 65 20 66 /CODE>,.the.function.reads.the.f
c00e0 6f 72 6d 61 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 6c 65 66 74 20 ormat.string..........from.left.
c0100 74 6f 20 72 69 67 68 74 20 61 6e 64 20 75 73 65 73 20 74 68 65 20 76 61 6c 75 65 73 20 70 61 73 to.right.and.uses.the.values.pas
c0120 73 65 64 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 sed.to.the.function.following...
c0140 20 20 20 20 20 20 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 76 .......the.format.string...The.v
c0160 61 6c 75 65 73 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 65 69 74 68 65 72 20 alues.are.expected.to.be.either.
c0180 6f 66 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 of.type..........<CODE>double</C
c01a0 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e ODE>.or.<CODE>long.double</CODE>
c01c0 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 74 ,.depending.on.the.presence.of.t
c01e0 68 65 0a 20 20 20 20 20 20 20 20 20 6d 6f 64 69 66 69 65 72 20 3c 73 61 6d 70 3e 4c 3c 2f 73 61 he..........modifier.<samp>L</sa
c0200 6d 70 3e 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 mp>...The.result.is.stored.in.th
c0220 65 20 62 75 66 66 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 e.buffer.pointed.to.by..........
c0240 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2e 20 20 41 74 20 6d 6f 73 74 20 3c 56 41 52 3e 6d 61 78 73 <VAR>s</VAR>...At.most.<VAR>maxs
c0260 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 73 74 6f 72 65 64 2e ize</VAR>.characters.are.stored.
c0280 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 ..........<br><br>.The.return.va
c02a0 6c 75 65 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 6e 75 6d 62 65 lue.of.the.function.is.the.numbe
c02c0 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 20 20 20 20 r.of.characters.stored.in.......
c02e0 20 20 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 74 ...<VAR>s</VAR>,.including.the.t
c0300 65 72 6d 69 6e 61 74 69 6e 67 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 62 79 74 erminating.<CODE>NULL</CODE>.byt
c0320 65 2e 20 20 49 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 63 68 e...If.the.number.of..........ch
c0340 61 72 61 63 74 65 72 73 20 73 74 6f 72 65 64 20 77 6f 75 6c 64 20 65 78 63 65 65 64 20 3c 56 41 aracters.stored.would.exceed.<VA
c0360 52 3e 6d 61 78 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 R>maxsize</VAR>,.the.function.re
c0380 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 2d 31 20 61 6e 64 20 74 68 65 20 63 6f 6e 74 65 6e turns..........-1.and.the.conten
c03a0 74 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 69 73 20 t.of.the.buffer.<VAR>s</VAR>.is.
c03c0 75 6e 73 70 65 63 69 66 69 65 64 2e 20 20 49 6e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 63 unspecified...In.this..........c
c03e0 61 73 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 74 6f ase.<CODE>errno</CODE>.is.set.to
c0400 20 3c 43 4f 44 45 3e 45 32 42 49 47 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 .<CODE>E2BIG</CODE>..........sq.
c0420 7e 00 0f 00 00 00 00 77 04 00 00 00 0a 78 71 00 7e 1b 55 74 00 30 63 68 61 72 20 2a 73 2c 20 73 ~......w.....xq.~.Ut.0char.*s,.s
c0440 69 7a 65 5f 74 20 6d 61 78 73 69 7a 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f 72 6d 61 ize_t.maxsize,.const.char.*forma
c0460 74 2c 20 2e 2e 2e 74 00 07 73 73 69 7a 65 5f 74 74 00 06 73 74 72 66 72 79 73 71 00 7e 00 0a 70 t,....t..ssize_tt..strfrysq.~..p
c0480 74 02 13 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 74 72 66 72 t...........<br><br>.<CODE>strfr
c04a0 79 3c 2f 43 4f 44 45 3e 20 63 72 65 61 74 65 73 20 61 20 70 73 65 75 64 6f 72 61 6e 64 6f 6d 20 y</CODE>.creates.a.pseudorandom.
c04c0 61 6e 61 67 72 61 6d 20 6f 66 20 61 20 73 74 72 69 6e 67 2c 20 72 65 70 6c 61 63 69 6e 67 20 74 anagram.of.a.string,.replacing.t
c04e0 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 20 77 69 74 68 20 74 68 65 20 61 6e 61 67 72 he..........input.with.the.anagr
c0500 61 6d 20 69 6e 20 70 6c 61 63 65 2e 20 20 46 6f 72 20 65 61 63 68 20 70 6f 73 69 74 69 6f 6e 20 am.in.place...For.each.position.
c0520 69 6e 20 74 68 65 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 in.the.string,..........<CODE>st
c0540 72 66 72 79 3c 2f 43 4f 44 45 3e 20 73 77 61 70 73 20 69 74 20 77 69 74 68 20 61 20 70 6f 73 69 rfry</CODE>.swaps.it.with.a.posi
c0560 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 73 65 6c 65 63 74 65 64 20 61 74 20 72 tion.in.the.string.selected.at.r
c0580 61 6e 64 6f 6d 0a 20 20 20 20 20 20 20 20 20 28 66 72 6f 6d 20 61 20 75 6e 69 66 6f 72 6d 20 64 andom..........(from.a.uniform.d
c05a0 69 73 74 72 69 62 75 74 69 6f 6e 29 2e 20 20 54 68 65 20 74 77 6f 20 70 6f 73 69 74 69 6f 6e 73 istribution)...The.two.positions
c05c0 20 6d 61 79 20 62 65 20 74 68 65 20 73 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .may.be.the.same...........<br><
c05e0 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 73 74 br>.The.return.value.of.<CODE>st
c0600 72 66 72 79 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6c 77 61 79 73 20 3c 56 41 52 3e 73 74 72 69 6e rfry</CODE>.is.always.<VAR>strin
c0620 67 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 72 74 61 g</VAR>...........<br><br>.Porta
c0640 62 69 6c 69 74 79 20 4e 6f 74 65 3a 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 bility.Note:..This.function.is.u
c0660 6e 69 71 75 65 20 74 6f 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 20 nique.to.the.GNU.C.library......
c0680 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .....<br><br>.........sq.~......
c06a0 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 5b 74 00 0c 63 68 61 72 20 2a w.....t..string.hxq.~.[t..char.*
c06c0 73 74 72 69 6e 67 74 00 06 63 68 61 72 20 2a 74 00 08 73 74 72 66 74 69 6d 65 73 71 00 7e 00 0a stringt..char.*t..strftimesq.~..
c06e0 70 74 3a e7 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 pt:..........This.function.is.si
c0700 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 milar.to.the.<CODE>sprintf</CODE
c0720 3e 20 66 75 6e 63 74 69 6f 6e 20 2c 20 62 75 74 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 >.function.,.but.the.conversion.
c0740 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 74 68 61 74 20 63 61 6e 20 61 70 70 65 61 72 20 69 specifications.that.can.appear.i
c0760 6e 20 74 68 65 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 74 65 6d 70 6c 61 74 65 20 3c n.the.format..........template.<
c0780 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 20 61 72 65 20 73 70 65 63 69 61 6c 69 7a VAR>template</VAR>.are.specializ
c07a0 65 64 20 66 6f 72 20 70 72 69 6e 74 69 6e 67 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 74 68 ed.for.printing.components.of.th
c07c0 65 20 64 61 74 65 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 69 6d 65 20 3c 56 41 52 3e 62 72 e.date..........and.time.<VAR>br
c07e0 6f 6b 65 6e 74 69 6d 65 3c 2f 56 41 52 3e 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 okentime</VAR>.according.to.the.
c0800 6c 6f 63 61 6c 65 20 63 75 72 72 65 6e 74 6c 79 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 0a 20 locale.currently.specified.for..
c0820 20 20 20 20 20 20 20 20 74 69 6d 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 2e 0a 20 20 20 20 20 20 ........time.conversion.........
c0840 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 72 64 69 6e 61 72 79 20 63 68 61 72 61 63 74 65 72 73 20 ...<br><br>.Ordinary.characters.
c0860 61 70 70 65 61 72 69 6e 67 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f appearing.in.the.<VAR>template</
c0880 56 41 52 3e 20 61 72 65 20 63 6f 70 69 65 64 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 VAR>.are.copied.to.the..........
c08a0 6f 75 74 70 75 74 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 3b 20 74 68 69 73 output.string.<VAR>s</VAR>;.this
c08c0 20 63 61 6e 20 69 6e 63 6c 75 64 65 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 .can.include.multibyte.character
c08e0 20 73 65 71 75 65 6e 63 65 73 2e 0a 20 20 20 20 20 20 20 20 20 43 6f 6e 76 65 72 73 69 6f 6e 20 .sequences...........Conversion.
c0900 73 70 65 63 69 66 69 65 72 73 20 61 72 65 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 61 20 3c specifiers.are.introduced.by.a.<
c0920 73 61 6d 70 3e 25 3c 2f 73 61 6d 70 3e 20 63 68 61 72 61 63 74 65 72 2c 20 66 6f 6c 6c 6f 77 65 samp>%</samp>.character,.followe
c0940 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 66 6c 61 67 20 77 d..........by.an.optional.flag.w
c0960 68 69 63 68 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 hich.can.be.one.of.the.following
c0980 2e 20 20 54 68 65 73 65 20 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 61 6c 6c 20 ...These.flags..........are.all.
c09a0 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20 54 68 65 20 66 69 72 73 74 20 74 68 72 65 65 20 GNU.extensions..The.first.three.
c09c0 61 66 66 65 63 74 20 6f 6e 6c 79 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 0a 20 20 20 20 20 20 affect.only.the.output.of.......
c09e0 20 20 20 6e 75 6d 62 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 ...numbers:..........<br><br>.<D
c0a00 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 5f 3c 2f 43 4f 44 45 3e 0a L>...........<DT><CODE>_</CODE>.
c0a20 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6e 75 6d 62 65 72 20 69 73 20 70 61 64 64 <DD>..........The.number.is.padd
c0a40 65 64 20 77 69 74 68 20 73 70 61 63 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ed.with.spaces...........<br><br
c0a60 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 2d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 >.<DT><CODE>-</CODE>.<DD>.......
c0a80 20 20 20 54 68 65 20 6e 75 6d 62 65 72 20 69 73 20 6e 6f 74 20 70 61 64 64 65 64 20 61 74 20 61 ...The.number.is.not.padded.at.a
c0aa0 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e ll...........<br><br>.<DT><CODE>
c0ac0 30 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6e 75 6d 62 65 72 20 69 73 20 70 61 64 64 65 64 20 0..........The.number.is.padded.
c0ae0 77 69 74 68 20 7a 65 72 6f 73 20 65 76 65 6e 20 69 66 20 74 68 65 20 66 6f 72 6d 61 74 20 73 70 with.zeros.even.if.the.format.sp
c0b00 65 63 69 66 69 65 73 20 70 61 64 64 69 6e 67 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 ecifies.padding</CODE>.<DD>.....
c0b20 20 20 20 20 20 77 69 74 68 20 73 70 61 63 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .....with.spaces...........<br><
c0b40 62 72 3e 20 3c 4c 49 3e 20 5e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 75 74 70 75 74 20 75 br>.<LI>.^..........The.output.u
c0b60 73 65 73 20 75 70 70 65 72 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 2c 20 62 75 74 20 6f 6e ses.uppercase.characters,.but.on
c0b80 6c 79 20 69 66 20 74 68 69 73 20 69 73 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 20 ly.if.this.is.possible..........
c0ba0 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ...........</DL>..........<br><b
c0bc0 72 3e 20 54 68 65 20 64 65 66 61 75 6c 74 20 61 63 74 69 6f 6e 20 69 73 20 74 6f 20 70 61 64 20 r>.The.default.action.is.to.pad.
c0be0 74 68 65 20 6e 75 6d 62 65 72 20 77 69 74 68 20 7a 65 72 6f 73 20 74 6f 20 6b 65 65 70 20 69 74 the.number.with.zeros.to.keep.it
c0c00 20 61 20 63 6f 6e 73 74 61 6e 74 0a 20 20 20 20 20 20 20 20 20 77 69 64 74 68 2e 20 20 4e 75 6d .a.constant..........width...Num
c0c20 62 65 72 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 20 72 61 6e 67 65 20 69 6e bers.that.do.not.have.a.range.in
c0c40 64 69 63 61 74 65 64 20 62 65 6c 6f 77 20 61 72 65 20 6e 65 76 65 72 0a 20 20 20 20 20 20 20 20 dicated.below.are.never.........
c0c60 20 70 61 64 64 65 64 2c 20 73 69 6e 63 65 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 61 74 75 72 .padded,.since.there.is.no.natur
c0c80 61 6c 20 77 69 64 74 68 20 66 6f 72 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e al.width.for.them...........<br>
c0ca0 3c 62 72 3e 20 46 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 66 6c 61 67 20 61 6e 20 6f 70 74 69 6f <br>.Following.the.flag.an.optio
c0cc0 6e 61 6c 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 69 64 74 68 20 69 nal.specification.of.the.width.i
c0ce0 73 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 73 70 65 s.possible...........This.is.spe
c0d00 63 69 66 69 65 64 20 69 6e 20 64 65 63 69 6d 61 6c 20 6e 6f 74 61 74 69 6f 6e 2e 20 20 49 66 20 cified.in.decimal.notation...If.
c0d20 74 68 65 20 6e 61 74 75 72 61 6c 20 73 69 7a 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 the.natural.size.of.the.........
c0d40 20 6f 75 74 70 75 74 20 69 73 20 6f 66 20 74 68 65 20 66 69 65 6c 64 20 68 61 73 20 6c 65 73 73 .output.is.of.the.field.has.less
c0d60 20 74 68 61 6e 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 .than.the.specified.number.of.ch
c0d80 61 72 61 63 74 65 72 73 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 aracters,..........the.result.is
c0da0 20 77 72 69 74 74 65 6e 20 72 69 67 68 74 20 61 64 6a 75 73 74 65 64 20 61 6e 64 20 73 70 61 63 .written.right.adjusted.and.spac
c0dc0 65 20 70 61 64 64 65 64 20 74 6f 20 74 68 65 20 67 69 76 65 6e 0a 20 20 20 20 20 20 20 20 20 73 e.padded.to.the.given..........s
c0de0 69 7a 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 20 6f 70 74 69 6f 6e ize...........<br><br>.An.option
c0e00 61 6c 20 6d 6f 64 69 66 69 65 72 20 63 61 6e 20 66 6f 6c 6c 6f 77 20 74 68 65 20 6f 70 74 69 6f al.modifier.can.follow.the.optio
c0e20 6e 61 6c 20 66 6c 61 67 20 61 6e 64 20 77 69 64 74 68 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 nal.flag.and.width..........spec
c0e40 69 66 69 63 61 74 69 6f 6e 2e 20 20 54 68 65 20 6d 6f 64 69 66 69 65 72 73 2c 20 77 68 69 63 68 ification...The.modifiers,.which
c0e60 20 77 65 72 65 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 62 79 0a 20 20 20 20 .were.first.standardized.by.....
c0e80 20 20 20 20 20 50 4f 53 49 58 2e 32 2d 31 39 39 32 20 61 6e 64 20 62 79 20 49 53 4f 20 43 39 39 .....POSIX.2-1992.and.by.ISO.C99
c0ea0 2c 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 ,.are:..........<br><br>.<DL>...
c0ec0 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ........<DT><CODE>E</CODE>.<DD>.
c0ee0 20 20 20 20 20 20 20 20 20 55 73 65 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 6e .........Use.the.locale's.altern
c0f00 61 74 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 61 74 65 20 61 6e 64 20 ate.representation.for.date.and.
c0f20 74 69 6d 65 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 6d 6f 64 69 66 69 65 72 20 61 70 time...This..........modifier.ap
c0f40 70 6c 69 65 73 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 25 63 3c 2f 43 4f 44 45 3e 2c 20 3c 43 plies.to.the.<CODE>%c</CODE>,.<C
c0f60 4f 44 45 3e 25 43 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 25 78 3c 2f 43 4f 44 45 3e 2c 20 ODE>%C</CODE>,.<CODE>%x</CODE>,.
c0f80 3c 43 4f 44 45 3e 25 58 3c 2f 43 4f 44 45 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e <CODE>%X</CODE>,..........<CODE>
c0fa0 25 79 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 25 59 3c 2f 43 4f 44 45 3e 20 66 6f %y</CODE>.and.<CODE>%Y</CODE>.fo
c0fc0 72 6d 61 74 20 73 70 65 63 69 66 69 65 72 73 2e 20 20 49 6e 20 61 20 4a 61 70 61 6e 65 73 65 20 rmat.specifiers...In.a.Japanese.
c0fe0 6c 6f 63 61 6c 65 2c 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 65 78 61 6d 70 6c 65 2c 20 3c 43 locale,.for..........example,.<C
c1000 4f 44 45 3e 25 45 78 3c 2f 43 4f 44 45 3e 20 6d 69 67 68 74 20 79 69 65 6c 64 20 61 20 64 61 74 ODE>%Ex</CODE>.might.yield.a.dat
c1020 65 20 66 6f 72 6d 61 74 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 4a 61 70 61 6e 65 73 65 0a 20 e.format.based.on.the.Japanese..
c1040 20 20 20 20 20 20 20 20 45 6d 70 65 72 6f 72 73 27 20 72 65 69 67 6e 73 2e 0a 20 20 20 20 20 20 ........Emperors'.reigns........
c1060 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 4f 3c 2f 43 4f 44 45 3e 0a 3c ...<br><br>.<DT><CODE>O</CODE>.<
c1080 44 44 3e 0a 20 20 20 20 20 20 20 20 20 55 73 65 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c DD>..........Use.the.locale's.al
c10a0 74 65 72 6e 61 74 65 20 6e 75 6d 65 72 69 63 20 73 79 6d 62 6f 6c 73 20 66 6f 72 20 6e 75 6d 62 ternate.numeric.symbols.for.numb
c10c0 65 72 73 2e 20 20 54 68 69 73 20 6d 6f 64 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 61 70 70 ers...This.modifier..........app
c10e0 6c 69 65 73 20 6f 6e 6c 79 20 74 6f 20 6e 75 6d 65 72 69 63 20 66 6f 72 6d 61 74 20 73 70 65 63 lies.only.to.numeric.format.spec
c1100 69 66 69 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 ifiers...........</DL>..........
c1120 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 66 6f 72 6d 61 74 20 73 75 70 70 6f 72 74 73 20 <br><br>.If.the.format.supports.
c1140 74 68 65 20 6d 6f 64 69 66 69 65 72 20 62 75 74 20 6e 6f 20 61 6c 74 65 72 6e 61 74 65 20 72 65 the.modifier.but.no.alternate.re
c1160 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 73 20 61 76 61 69 6c 61 62 presentation..........is.availab
c1180 6c 65 2c 20 69 74 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e le,.it.is.ignored...........<br>
c11a0 3c 62 72 3e 20 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 70 65 63 69 66 69 65 72 20 65 6e <br>.The.conversion.specifier.en
c11c0 64 73 20 77 69 74 68 20 61 20 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 65 72 20 74 61 6b 65 6e ds.with.a.format.specifier.taken
c11e0 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 6c 69 73 .from.the..........following.lis
c1200 74 2e 20 20 54 68 65 20 77 68 6f 6c 65 20 3c 73 61 6d 70 3e 25 3c 2f 73 61 6d 70 3e 20 73 65 71 t...The.whole.<samp>%</samp>.seq
c1220 75 65 6e 63 65 20 69 73 20 72 65 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 0a uence.is.replaced.in.the.output.
c1240 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 20 20 20 20 .........string.as.follows:.....
c1260 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 .....<br><br>.<DL>...........<DT
c1280 3e 3c 43 4f 44 45 3e 25 61 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 ><CODE>%a</CODE>.<DD>..........T
c12a0 68 65 20 61 62 62 72 65 76 69 61 74 65 64 20 77 65 65 6b 64 61 79 20 6e 61 6d 65 20 61 63 63 6f he.abbreviated.weekday.name.acco
c12c0 72 64 69 6e 67 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 rding.to.the.current.locale.....
c12e0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 41 3c 2f 43 4f 44 ......<br><br>.<DT><CODE>%A</COD
c1300 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6c 6c 20 77 65 65 6b 64 61 E>.<DD>..........The.full.weekda
c1320 79 20 6e 61 6d 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 y.name.according.to.the.current.
c1340 6c 6f 63 61 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 locale...........<br><br>.<DT><C
c1360 4f 44 45 3e 25 62 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 ODE>%b</CODE>.<DD>..........The.
c1380 61 62 62 72 65 76 69 61 74 65 64 20 6d 6f 6e 74 68 20 6e 61 6d 65 20 61 63 63 6f 72 64 69 6e 67 abbreviated.month.name.according
c13a0 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 20 20 20 20 20 .to.the.current.locale..........
c13c0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 42 3c 2f 43 4f 44 45 3e 0a 3c 44 .<br><br>.<DT><CODE>%B</CODE>.<D
c13e0 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6c 6c 20 6d 6f 6e 74 68 20 6e 61 6d 65 20 D>..........The.full.month.name.
c1400 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e according.to.the.current.locale.
c1420 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 73 69 6e 67 20 3c 43 4f 44 45 3e 25 ..........<br><br>.Using.<CODE>%
c1440 42 3c 2f 43 4f 44 45 3e 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 3c 43 4f 44 45 3e 25 64 3c B</CODE>.together.with.<CODE>%d<
c1460 2f 43 4f 44 45 3e 20 70 72 6f 64 75 63 65 73 20 67 72 61 6d 6d 61 74 69 63 61 6c 6c 79 0a 20 20 /CODE>.produces.grammatically...
c1480 20 20 20 20 20 20 20 69 6e 63 6f 72 72 65 63 74 20 72 65 73 75 6c 74 73 20 66 6f 72 20 73 6f 6d .......incorrect.results.for.som
c14a0 65 20 6c 6f 63 61 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 e.locales...........<br><br>.<DT
c14c0 3e 3c 43 4f 44 45 3e 25 63 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 ><CODE>%c</CODE>.<DD>..........T
c14e0 68 65 20 70 72 65 66 65 72 72 65 64 20 63 61 6c 65 6e 64 61 72 20 74 69 6d 65 20 72 65 70 72 65 he.preferred.calendar.time.repre
c1500 73 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 sentation.for.the.current.locale
c1520 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 43 ...........<br><br>.<DT><CODE>%C
c1540 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 65 6e 74 75 72 </CODE>.<DD>..........The.centur
c1560 79 20 6f 66 20 74 68 65 20 79 65 61 72 2e 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 y.of.the.year...This.is.equivale
c1580 6e 74 20 74 6f 20 74 68 65 20 67 72 65 61 74 65 73 74 20 69 6e 74 65 67 65 72 20 6e 6f 74 0a 20 nt.to.the.greatest.integer.not..
c15a0 20 20 20 20 20 20 20 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 79 65 61 72 20 64 69 ........greater.than.the.year.di
c15c0 76 69 64 65 64 20 62 79 20 31 30 30 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 vided.by.100...........<br><br>.
c15e0 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 7a This.format.was.first.standardiz
c1600 65 64 20 62 79 20 50 4f 53 49 58 2e 32 2d 31 39 39 32 20 61 6e 64 20 62 79 20 49 53 4f 20 43 39 ed.by.POSIX.2-1992.and.by.ISO.C9
c1620 39 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 9...........<br><br>.<DT><CODE>%
c1640 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 61 79 20 6f d</CODE>.<DD>..........The.day.o
c1660 66 20 74 68 65 20 6d 6f 6e 74 68 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 f.the.month.as.a.decimal.number.
c1680 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 31 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c (range.<CODE>01</CODE>.through.<
c16a0 43 4f 44 45 3e 33 31 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 CODE>31</CODE>)...........<br><b
c16c0 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 r>.<DT><CODE>%D</CODE>.<DD>.....
c16e0 20 20 20 20 20 54 68 65 20 64 61 74 65 20 75 73 69 6e 67 20 74 68 65 20 66 6f 72 6d 61 74 20 3c .....The.date.using.the.format.<
c1700 43 4f 44 45 3e 25 6d 2f 25 64 2f 25 79 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c CODE>%m/%d/%y</CODE>...........<
c1720 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 br><br>.This.format.was.first.st
c1740 61 6e 64 61 72 64 69 7a 65 64 20 62 79 20 50 4f 53 49 58 2e 32 2d 31 39 39 32 20 61 6e 64 20 62 andardized.by.POSIX.2-1992.and.b
c1760 79 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 y.ISO.C99...........<br><br>.<DT
c1780 3e 3c 43 4f 44 45 3e 25 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 ><CODE>%e</CODE>.<DD>..........T
c17a0 68 65 20 64 61 79 20 6f 66 20 74 68 65 20 6d 6f 6e 74 68 20 6c 69 6b 65 20 77 69 74 68 20 3c 43 he.day.of.the.month.like.with.<C
c17c0 4f 44 45 3e 25 64 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 70 61 64 64 65 64 20 77 69 74 68 20 62 ODE>%d</CODE>,.but.padded.with.b
c17e0 6c 61 6e 6b 20 28 72 61 6e 67 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 20 31 3c 2f 43 lank.(range..........<CODE>.1</C
c1800 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 33 31 3c 2f 43 4f 44 45 3e 29 2e 0a 20 ODE>.through.<CODE>31</CODE>)...
c1820 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 ........<br><br>.This.format.was
c1840 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 62 79 20 50 4f 53 49 58 2e 32 2d 31 .first.standardized.by.POSIX.2-1
c1860 39 39 32 20 61 6e 64 20 62 79 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 992.and.by.ISO.C99...........<br
c1880 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ><br>.<DT><CODE>%F</CODE>.<DD>..
c18a0 20 20 20 20 20 20 20 20 54 68 65 20 64 61 74 65 20 75 73 69 6e 67 20 74 68 65 20 66 6f 72 6d 61 ........The.date.using.the.forma
c18c0 74 20 3c 43 4f 44 45 3e 25 59 2d 25 6d 2d 25 64 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 69 t.<CODE>%Y-%m-%d</CODE>...This.i
c18e0 73 20 74 68 65 20 66 6f 72 6d 20 73 70 65 63 69 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e s.the.form.specified..........in
c1900 20 74 68 65 20 49 53 4f 20 38 36 30 31 20 73 74 61 6e 64 61 72 64 20 61 6e 64 20 69 73 20 74 68 .the.ISO.8601.standard.and.is.th
c1920 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d 20 66 6f 72 20 61 6c 6c 20 75 73 65 73 2e 0a 20 e.preferred.form.for.all.uses...
c1940 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 ........<br><br>.This.format.was
c1960 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 62 79 20 49 53 4f 20 43 39 39 20 61 .first.standardized.by.ISO.C99.a
c1980 6e 64 20 62 79 20 50 4f 53 49 58 2e 31 2d 32 30 30 31 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 nd.by.POSIX.1-2001...........<br
c19a0 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 67 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ><br>.<DT><CODE>%g</CODE>.<DD>..
c19c0 20 20 20 20 20 20 20 20 54 68 65 20 79 65 61 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 ........The.year.corresponding.t
c19e0 6f 20 74 68 65 20 49 53 4f 20 77 65 65 6b 20 6e 75 6d 62 65 72 2c 20 62 75 74 20 77 69 74 68 6f o.the.ISO.week.number,.but.witho
c1a00 75 74 20 74 68 65 20 63 65 6e 74 75 72 79 0a 20 20 20 20 20 20 20 20 20 28 72 61 6e 67 65 20 3c ut.the.century..........(range.<
c1a20 43 4f 44 45 3e 30 30 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 39 39 3c CODE>00</CODE>.through.<CODE>99<
c1a40 2f 43 4f 44 45 3e 29 2e 20 20 54 68 69 73 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d /CODE>)...This.has.the.same.form
c1a60 61 74 20 61 6e 64 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 61 73 20 3c 43 4f 44 45 3e 25 at.and.value..........as.<CODE>%
c1a80 79 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 66 20 74 68 65 20 49 53 4f y</CODE>,.except.that.if.the.ISO
c1aa0 20 77 65 65 6b 20 6e 75 6d 62 65 72 20 28 73 65 65 20 3c 43 4f 44 45 3e 25 56 3c 2f 43 4f 44 45 .week.number.(see.<CODE>%V</CODE
c1ac0 3e 29 20 62 65 6c 6f 6e 67 73 0a 20 20 20 20 20 20 20 20 20 74 6f 20 74 68 65 20 70 72 65 76 69 >).belongs..........to.the.previ
c1ae0 6f 75 73 20 6f 72 20 6e 65 78 74 20 79 65 61 72 2c 20 74 68 61 74 20 79 65 61 72 20 69 73 20 75 ous.or.next.year,.that.year.is.u
c1b00 73 65 64 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 sed.instead...........<br><br>.T
c1b20 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 7a 65 his.format.was.first.standardize
c1b40 64 20 62 79 20 49 53 4f 20 43 39 39 20 61 6e 64 20 62 79 20 50 4f 53 49 58 2e 31 2d 32 30 30 31 d.by.ISO.C99.and.by.POSIX.1-2001
c1b60 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 47 ...........<br><br>.<DT><CODE>%G
c1b80 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 79 65 61 72 20 63 </CODE>.<DD>..........The.year.c
c1ba0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 49 53 4f 20 77 65 65 6b 20 6e 75 6d orresponding.to.the.ISO.week.num
c1bc0 62 65 72 2e 20 20 54 68 69 73 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 0a 20 ber...This.has.the.same.format..
c1be0 20 20 20 20 20 20 20 20 61 6e 64 20 76 61 6c 75 65 20 61 73 20 3c 43 4f 44 45 3e 25 59 3c 2f 43 ........and.value.as.<CODE>%Y</C
c1c00 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 66 20 74 68 65 20 49 53 4f 20 77 65 65 ODE>,.except.that.if.the.ISO.wee
c1c20 6b 20 6e 75 6d 62 65 72 20 28 73 65 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 25 56 3c k.number.(see..........<CODE>%V<
c1c40 2f 43 4f 44 45 3e 29 20 62 65 6c 6f 6e 67 73 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 /CODE>).belongs.to.the.previous.
c1c60 6f 72 20 6e 65 78 74 20 79 65 61 72 2c 20 74 68 61 74 20 79 65 61 72 20 69 73 20 75 73 65 64 0a or.next.year,.that.year.is.used.
c1c80 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .........instead...........<br><
c1ca0 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 61 6e 64 61 br>.This.format.was.first.standa
c1cc0 72 64 69 7a 65 64 20 62 79 20 49 53 4f 20 43 39 39 20 61 6e 64 20 62 79 20 50 4f 53 49 58 2e 31 rdized.by.ISO.C99.and.by.POSIX.1
c1ce0 2d 32 30 30 31 0a 20 20 20 20 20 20 20 20 20 62 75 74 20 77 61 73 20 70 72 65 76 69 6f 75 73 6c -2001..........but.was.previousl
c1d00 79 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a y.available.as.a.GNU.extension..
c1d20 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 68 3c 2f .........<br><br>.<DT><CODE>%h</
c1d40 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 61 62 62 72 65 76 69 61 CODE>.<DD>..........The.abbrevia
c1d60 74 65 64 20 6d 6f 6e 74 68 20 6e 61 6d 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 ted.month.name.according.to.the.
c1d80 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 20 20 54 68 65 20 61 63 74 69 6f 6e 0a 20 20 20 20 current.locale...The.action.....
c1da0 20 20 20 20 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 25 62 .....is.the.same.as.for.<CODE>%b
c1dc0 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 </CODE>...........<br><br>.This.
c1de0 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 62 79 format.was.first.standardized.by
c1e00 20 50 4f 53 49 58 2e 32 2d 31 39 39 32 20 61 6e 64 20 62 79 20 49 53 4f 20 43 39 39 2e 0a 20 20 .POSIX.2-1992.and.by.ISO.C99....
c1e20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 48 3c 2f 43 4f .......<br><br>.<DT><CODE>%H</CO
c1e40 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 68 6f 75 72 20 61 73 20 61 20 DE>.<DD>..........The.hour.as.a.
c1e60 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 2c 20 75 73 69 6e 67 20 61 20 32 34 2d 68 6f 75 72 20 decimal.number,.using.a.24-hour.
c1e80 63 6c 6f 63 6b 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 30 3c 2f 43 4f 44 45 3e 20 74 68 72 clock.(range.<CODE>00</CODE>.thr
c1ea0 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 32 33 3c 2f 43 4f 44 45 3e 29 2e 0a ough..........<CODE>23</CODE>)..
c1ec0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 49 3c 2f .........<br><br>.<DT><CODE>%I</
c1ee0 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 68 6f 75 72 20 61 73 20 CODE>.<DD>..........The.hour.as.
c1f00 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 2c 20 75 73 69 6e 67 20 61 20 31 32 2d 68 6f 75 a.decimal.number,.using.a.12-hou
c1f20 72 20 63 6c 6f 63 6b 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 31 3c 2f 43 4f 44 45 3e 20 74 r.clock.(range.<CODE>01</CODE>.t
c1f40 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 32 3c 2f 43 4f 44 45 3e 29 hrough..........<CODE>12</CODE>)
c1f60 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 6a ...........<br><br>.<DT><CODE>%j
c1f80 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 61 79 20 6f 66 </CODE>.<DD>..........The.day.of
c1fa0 20 74 68 65 20 79 65 61 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 .the.year.as.a.decimal.number.(r
c1fc0 61 6e 67 65 20 3c 43 4f 44 45 3e 30 30 31 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 ange.<CODE>001</CODE>.through.<C
c1fe0 4f 44 45 3e 33 36 36 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ODE>366</CODE>)...........<br><b
c2000 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 6b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 r>.<DT><CODE>%k</CODE>.<DD>.....
c2020 20 20 20 20 20 54 68 65 20 68 6f 75 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 .....The.hour.as.a.decimal.numbe
c2040 72 2c 20 75 73 69 6e 67 20 61 20 32 34 2d 68 6f 75 72 20 63 6c 6f 63 6b 20 6c 69 6b 65 20 3c 43 r,.using.a.24-hour.clock.like.<C
c2060 4f 44 45 3e 25 48 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 70 61 64 64 ODE>%H</CODE>,.but..........padd
c2080 65 64 20 77 69 74 68 20 62 6c 61 6e 6b 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 20 30 3c 2f 43 ed.with.blank.(range.<CODE>.0</C
c20a0 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 32 33 3c 2f 43 4f 44 45 3e 29 2e 0a 20 ODE>.through.<CODE>23</CODE>)...
c20c0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 69 73 20 ........<br><br>.This.format.is.
c20e0 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 a.GNU.extension...........<br><b
c2100 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 6c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 r>.<DT><CODE>%l</CODE>.<DD>.....
c2120 20 20 20 20 20 54 68 65 20 68 6f 75 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 .....The.hour.as.a.decimal.numbe
c2140 72 2c 20 75 73 69 6e 67 20 61 20 31 32 2d 68 6f 75 72 20 63 6c 6f 63 6b 20 6c 69 6b 65 20 3c 43 r,.using.a.12-hour.clock.like.<C
c2160 4f 44 45 3e 25 49 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 70 61 64 64 ODE>%I</CODE>,.but..........padd
c2180 65 64 20 77 69 74 68 20 62 6c 61 6e 6b 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 20 31 3c 2f 43 ed.with.blank.(range.<CODE>.1</C
c21a0 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 31 32 3c 2f 43 4f 44 45 3e 29 2e 0a 20 ODE>.through.<CODE>12</CODE>)...
c21c0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 69 73 20 ........<br><br>.This.format.is.
c21e0 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 a.GNU.extension...........<br><b
c2200 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 6d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 r>.<DT><CODE>%m</CODE>.<DD>.....
c2220 20 20 20 20 20 54 68 65 20 6d 6f 6e 74 68 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 .....The.month.as.a.decimal.numb
c2240 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 31 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 er.(range.<CODE>01</CODE>.throug
c2260 68 20 3c 43 4f 44 45 3e 31 32 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 h.<CODE>12</CODE>)...........<br
c2280 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ><br>.<DT><CODE>%M</CODE>.<DD>..
c22a0 20 20 20 20 20 20 20 20 54 68 65 20 6d 69 6e 75 74 65 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 ........The.minute.as.a.decimal.
c22c0 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 30 3c 2f 43 4f 44 45 3e 20 74 68 number.(range.<CODE>00</CODE>.th
c22e0 72 6f 75 67 68 20 3c 43 4f 44 45 3e 35 39 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 rough.<CODE>59</CODE>)..........
c2300 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 6e 3c 2f 43 4f 44 45 3e 0a 3c 44 .<br><br>.<DT><CODE>%n</CODE>.<D
c2320 44 3e 0a 20 20 20 20 20 20 20 20 20 41 20 73 69 6e 67 6c 65 20 3c 73 61 6d 70 3e 5c 6e 3c 2f 73 D>..........A.single.<samp>\n</s
c2340 61 6d 70 3e 20 28 6e 65 77 6c 69 6e 65 29 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 amp>.(newline).character........
c2360 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 ...<br><br>.This.format.was.firs
c2380 74 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 62 79 20 50 4f 53 49 58 2e 32 2d 31 39 39 32 20 61 t.standardized.by.POSIX.2-1992.a
c23a0 6e 64 20 62 79 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e nd.by.ISO.C99...........<br><br>
c23c0 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 70 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 .<DT><CODE>%p</CODE>.<DD>.......
c23e0 20 20 20 45 69 74 68 65 72 20 3c 73 61 6d 70 3e 41 4d 3c 2f 73 61 6d 70 3e 20 6f 72 20 3c 73 61 ...Either.<samp>AM</samp>.or.<sa
c2400 6d 70 3e 50 4d 3c 2f 73 61 6d 70 3e 2c 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 67 mp>PM</samp>,.according.to.the.g
c2420 69 76 65 6e 20 74 69 6d 65 20 76 61 6c 75 65 3b 20 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 iven.time.value;.or.the.........
c2440 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 74 72 69 6e 67 73 20 66 6f 72 20 74 68 65 20 63 .corresponding.strings.for.the.c
c2460 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 20 20 4e 6f 6f 6e 20 69 73 20 74 72 65 61 74 65 64 20 urrent.locale...Noon.is.treated.
c2480 61 73 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 50 4d 3c 2f 73 61 6d 70 3e 20 61 6e 64 20 as..........<samp>PM</samp>.and.
c24a0 6d 69 64 6e 69 67 68 74 20 61 73 20 3c 73 61 6d 70 3e 41 4d 3c 2f 73 61 6d 70 3e 2e 20 20 49 6e midnight.as.<samp>AM</samp>...In
c24c0 20 6d 6f 73 74 20 6c 6f 63 61 6c 65 73 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 41 4d 3c .most.locales..........<samp>AM<
c24e0 2f 73 61 6d 70 3e 2f 3c 73 61 6d 70 3e 50 4d 3c 2f 73 61 6d 70 3e 20 66 6f 72 6d 61 74 20 69 73 /samp>/<samp>PM</samp>.format.is
c2500 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2c 20 69 6e 20 73 75 63 68 20 63 61 73 65 73 20 3c 43 .not.supported,.in.such.cases.<C
c2520 4f 44 45 3e 22 25 70 22 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 79 69 65 6c 64 73 20 ODE>"%p"</CODE>..........yields.
c2540 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 an.empty.string...........<br><b
c2560 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 50 3c 2f 43 4f 44 45 3e r>...........<DT><CODE>%P</CODE>
c2580 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 45 69 74 68 65 72 20 3c 73 61 6d 70 3e 61 6d 3c 2f .<DD>..........Either.<samp>am</
c25a0 73 61 6d 70 3e 20 6f 72 20 3c 73 61 6d 70 3e 70 6d 3c 2f 73 61 6d 70 3e 2c 20 61 63 63 6f 72 64 samp>.or.<samp>pm</samp>,.accord
c25c0 69 6e 67 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 74 69 6d 65 20 76 61 6c 75 65 3b 20 6f 72 20 ing.to.the.given.time.value;.or.
c25e0 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 74 72 69 6e the..........corresponding.strin
c2600 67 73 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2c 20 70 72 69 6e 74 gs.for.the.current.locale,.print
c2620 65 64 20 69 6e 20 6c 6f 77 65 72 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 ed.in.lowercase..........charact
c2640 65 72 73 2e 20 20 4e 6f 6f 6e 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 3c 73 61 6d 70 3e 70 ers...Noon.is.treated.as.<samp>p
c2660 6d 3c 2f 73 61 6d 70 3e 20 61 6e 64 20 6d 69 64 6e 69 67 68 74 20 61 73 20 3c 73 61 6d 70 3e 61 m</samp>.and.midnight.as.<samp>a
c2680 6d 3c 2f 73 61 6d 70 3e 2e 20 20 49 6e 0a 20 20 20 20 20 20 20 20 20 6d 6f 73 74 20 6c 6f 63 61 m</samp>...In..........most.loca
c26a0 6c 65 73 20 3c 73 61 6d 70 3e 41 4d 3c 2f 73 61 6d 70 3e 2f 3c 73 61 6d 70 3e 50 4d 3c 2f 73 61 les.<samp>AM</samp>/<samp>PM</sa
c26c0 6d 70 3e 20 66 6f 72 6d 61 74 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2c 20 69 6e 20 mp>.format.is.not.supported,.in.
c26e0 73 75 63 68 20 63 61 73 65 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 22 25 50 22 3c 2f such.cases..........<CODE>"%P"</
c2700 43 4f 44 45 3e 20 79 69 65 6c 64 73 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0a 20 20 CODE>.yields.an.empty.string....
c2720 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 69 73 20 61 .......<br><br>.This.format.is.a
c2740 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .GNU.extension...........<br><br
c2760 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 72 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 >.<DT><CODE>%r</CODE>.<DD>......
c2780 20 20 20 20 54 68 65 20 63 6f 6d 70 6c 65 74 65 20 63 61 6c 65 6e 64 61 72 20 74 69 6d 65 20 75 ....The.complete.calendar.time.u
c27a0 73 69 6e 67 20 74 68 65 20 41 4d 2f 50 4d 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 63 75 72 sing.the.AM/PM.format.of.the.cur
c27c0 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 rent.locale...........<br><br>.T
c27e0 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 7a 65 his.format.was.first.standardize
c2800 64 20 62 79 20 50 4f 53 49 58 2e 32 2d 31 39 39 32 20 61 6e 64 20 62 79 20 49 53 4f 20 43 39 39 d.by.POSIX.2-1992.and.by.ISO.C99
c2820 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 50 4f 53 49 58 20 6c 6f 63 61 6c 65 2c 20 ...........In.the.POSIX.locale,.
c2840 74 68 69 73 20 66 6f 72 6d 61 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f this.format.is.equivalent.to.<CO
c2860 44 45 3e 25 49 3a 25 4d 3a 25 53 20 25 70 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 DE>%I:%M:%S.%p</CODE>...........
c2880 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 <br><br>.<DT><CODE>%R</CODE>.<DD
c28a0 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 68 6f 75 72 20 61 6e 64 20 6d 69 6e 75 74 65 20 69 >..........The.hour.and.minute.i
c28c0 6e 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 73 20 75 73 69 6e 67 20 74 68 65 20 66 6f 72 6d n.decimal.numbers.using.the.form
c28e0 61 74 20 3c 43 4f 44 45 3e 25 48 3a 25 4d 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 at.<CODE>%H:%M</CODE>...........
c2900 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 <br><br>.This.format.was.first.s
c2920 74 61 6e 64 61 72 64 69 7a 65 64 20 62 79 20 49 53 4f 20 43 39 39 20 61 6e 64 20 62 79 20 50 4f tandardized.by.ISO.C99.and.by.PO
c2940 53 49 58 2e 31 2d 32 30 30 31 0a 20 20 20 20 20 20 20 20 20 62 75 74 20 77 61 73 20 70 72 65 76 SIX.1-2001..........but.was.prev
c2960 69 6f 75 73 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 iously.available.as.a.GNU.extens
c2980 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 ion...........<br><br>.<DT><CODE
c29a0 3e 25 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6e 75 6d >%s</CODE>.<DD>..........The.num
c29c0 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 74 68 65 20 65 70 6f 63 68 2c 20 ber.of.seconds.since.the.epoch,.
c29e0 69 2e 65 2e 2c 20 73 69 6e 63 65 20 31 39 37 30 2d 30 31 2d 30 31 20 30 30 3a 30 30 3a 30 30 20 i.e.,.since.1970-01-01.00:00:00.
c2a00 55 54 43 2e 0a 20 20 20 20 20 20 20 20 20 4c 65 61 70 20 73 65 63 6f 6e 64 73 20 61 72 65 20 6e UTC...........Leap.seconds.are.n
c2a20 6f 74 20 63 6f 75 6e 74 65 64 20 75 6e 6c 65 73 73 20 6c 65 61 70 20 73 65 63 6f 6e 64 20 73 75 ot.counted.unless.leap.second.su
c2a40 70 70 6f 72 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 pport.is.available...........<br
c2a60 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e ><br>.This.format.is.a.GNU.exten
c2a80 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 sion...........<br><br>.<DT><COD
c2aa0 45 3e 25 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 65 E>%S</CODE>.<DD>..........The.se
c2ac0 63 6f 6e 64 73 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 conds.as.a.decimal.number.(range
c2ae0 20 3c 43 4f 44 45 3e 30 30 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 36 .<CODE>00</CODE>.through.<CODE>6
c2b00 30 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 0</CODE>)...........<br><br>.<DT
c2b20 3e 3c 43 4f 44 45 3e 25 74 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 ><CODE>%t</CODE>.<DD>..........A
c2b40 20 73 69 6e 67 6c 65 20 3c 73 61 6d 70 3e 5c 74 3c 2f 73 61 6d 70 3e 20 28 74 61 62 75 6c 61 74 .single.<samp>\t</samp>.(tabulat
c2b60 6f 72 29 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e or).character...........<br><br>
c2b80 20 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 .This.format.was.first.standardi
c2ba0 7a 65 64 20 62 79 20 50 4f 53 49 58 2e 32 2d 31 39 39 32 20 61 6e 64 20 62 79 20 49 53 4f 20 43 zed.by.POSIX.2-1992.and.by.ISO.C
c2bc0 39 39 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 99...........<br><br>.<DT><CODE>
c2be0 25 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 74 69 6d 65 %T</CODE>.<DD>..........The.time
c2c00 20 6f 66 20 64 61 79 20 75 73 69 6e 67 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 73 20 75 73 .of.day.using.decimal.numbers.us
c2c20 69 6e 67 20 74 68 65 20 66 6f 72 6d 61 74 20 3c 43 4f 44 45 3e 25 48 3a 25 4d 3a 25 53 3c 2f 43 ing.the.format.<CODE>%H:%M:%S</C
c2c40 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 ODE>...........<br><br>.This.for
c2c60 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 62 79 20 50 4f mat.was.first.standardized.by.PO
c2c80 53 49 58 2e 32 2d 31 39 39 32 20 61 6e 64 20 62 79 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 SIX.2-1992.and.by.ISO.C99.......
c2ca0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 75 3c 2f 43 4f 44 45 3e ....<br><br>.<DT><CODE>%u</CODE>
c2cc0 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 61 79 20 6f 66 20 74 68 65 20 77 65 .<DD>..........The.day.of.the.we
c2ce0 65 6b 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 ek.as.a.decimal.number.(range.<C
c2d00 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 43 ODE>1</CODE>.through..........<C
c2d20 4f 44 45 3e 37 3c 2f 43 4f 44 45 3e 29 2c 20 4d 6f 6e 64 61 79 20 62 65 69 6e 67 20 3c 43 4f 44 ODE>7</CODE>),.Monday.being.<COD
c2d40 45 3e 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 E>1</CODE>...........<br><br>.Th
c2d60 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 69 7a 65 64 is.format.was.first.standardized
c2d80 20 62 79 20 50 4f 53 49 58 2e 32 2d 31 39 39 32 20 61 6e 64 20 62 79 20 49 53 4f 20 43 39 39 2e .by.POSIX.2-1992.and.by.ISO.C99.
c2da0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 55 3c ..........<br><br>.<DT><CODE>%U<
c2dc0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 77 65 65 6b 20 6e 75 /CODE>.<DD>..........The.week.nu
c2de0 6d 62 65 72 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 79 65 61 72 20 61 73 20 61 20 64 65 mber.of.the.current.year.as.a.de
c2e00 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 30 3c 2f 43 4f cimal.number.(range.<CODE>00</CO
c2e20 44 45 3e 0a 20 20 20 20 20 20 20 20 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 35 33 3c 2f 43 DE>..........through.<CODE>53</C
c2e40 4f 44 45 3e 29 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 74 68 65 20 66 69 72 73 74 20 53 ODE>),.starting.with.the.first.S
c2e60 75 6e 64 61 79 20 61 73 20 74 68 65 20 66 69 72 73 74 20 64 61 79 20 6f 66 0a 20 20 20 20 20 20 unday.as.the.first.day.of.......
c2e80 20 20 20 74 68 65 20 66 69 72 73 74 20 77 65 65 6b 2e 20 20 44 61 79 73 20 70 72 65 63 65 64 69 ...the.first.week...Days.precedi
c2ea0 6e 67 20 74 68 65 20 66 69 72 73 74 20 53 75 6e 64 61 79 20 69 6e 20 74 68 65 20 79 65 61 72 20 ng.the.first.Sunday.in.the.year.
c2ec0 61 72 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 69 6e are..........considered.to.be.in
c2ee0 20 77 65 65 6b 20 3c 43 4f 44 45 3e 30 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 .week.<CODE>00</CODE>...........
c2f00 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 56 3c 2f 43 4f 44 45 3e 0a 3c 44 44 <br><br>.<DT><CODE>%V</CODE>.<DD
c2f20 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 49 53 4f 20 38 36 30 31 3a 31 39 38 38 20 77 65 65 >..........The.ISO.8601:1988.wee
c2f40 6b 20 6e 75 6d 62 65 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 k.number.as.a.decimal.number.(ra
c2f60 6e 67 65 20 3c 43 4f 44 45 3e 30 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 74 68 72 nge.<CODE>01</CODE>..........thr
c2f80 6f 75 67 68 20 3c 43 4f 44 45 3e 35 33 3c 2f 43 4f 44 45 3e 29 2e 20 20 49 53 4f 20 77 65 65 6b ough.<CODE>53</CODE>)...ISO.week
c2fa0 73 20 73 74 61 72 74 20 77 69 74 68 20 4d 6f 6e 64 61 79 20 61 6e 64 20 65 6e 64 20 77 69 74 68 s.start.with.Monday.and.end.with
c2fc0 20 53 75 6e 64 61 79 2e 0a 20 20 20 20 20 20 20 20 20 57 65 65 6b 20 3c 43 4f 44 45 3e 30 31 3c .Sunday...........Week.<CODE>01<
c2fe0 2f 43 4f 44 45 3e 20 6f 66 20 61 20 79 65 61 72 20 69 73 20 74 68 65 20 66 69 72 73 74 20 77 65 /CODE>.of.a.year.is.the.first.we
c3000 65 6b 20 77 68 69 63 68 20 68 61 73 20 74 68 65 20 6d 61 6a 6f 72 69 74 79 20 6f 66 20 69 74 73 ek.which.has.the.majority.of.its
c3020 0a 20 20 20 20 20 20 20 20 20 64 61 79 73 20 69 6e 20 74 68 61 74 20 79 65 61 72 3b 20 74 68 69 ..........days.in.that.year;.thi
c3040 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 77 65 65 6b 20 63 6f 6e 74 s.is.equivalent.to.the.week.cont
c3060 61 69 6e 69 6e 67 20 74 68 65 20 79 65 61 72 27 73 0a 20 20 20 20 20 20 20 20 20 66 69 72 73 74 aining.the.year's..........first
c3080 20 54 68 75 72 73 64 61 79 2c 20 61 6e 64 20 69 74 20 69 73 20 61 6c 73 6f 20 65 71 75 69 76 61 .Thursday,.and.it.is.also.equiva
c30a0 6c 65 6e 74 20 74 6f 20 74 68 65 20 77 65 65 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 4a 61 6e 75 lent.to.the.week.containing.Janu
c30c0 61 72 79 0a 20 20 20 20 20 20 20 20 20 34 2e 20 20 57 65 65 6b 20 3c 43 4f 44 45 3e 30 31 3c 2f ary..........4...Week.<CODE>01</
c30e0 43 4f 44 45 3e 20 6f 66 20 61 20 79 65 61 72 20 63 61 6e 20 63 6f 6e 74 61 69 6e 20 64 61 79 73 CODE>.of.a.year.can.contain.days
c3100 20 66 72 6f 6d 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 79 65 61 72 2e 0a 20 20 20 20 20 20 20 .from.the.previous.year.........
c3120 20 20 54 68 65 20 77 65 65 6b 20 62 65 66 6f 72 65 20 77 65 65 6b 20 3c 43 4f 44 45 3e 30 31 3c ..The.week.before.week.<CODE>01<
c3140 2f 43 4f 44 45 3e 20 6f 66 20 61 20 79 65 61 72 20 69 73 20 74 68 65 20 6c 61 73 74 20 77 65 65 /CODE>.of.a.year.is.the.last.wee
c3160 6b 20 28 3c 43 4f 44 45 3e 35 32 3c 2f 43 4f 44 45 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c k.(<CODE>52</CODE>.or..........<
c3180 43 4f 44 45 3e 35 33 3c 2f 43 4f 44 45 3e 29 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 CODE>53</CODE>).of.the.previous.
c31a0 79 65 61 72 20 65 76 65 6e 20 69 66 20 69 74 20 63 6f 6e 74 61 69 6e 73 20 64 61 79 73 20 66 72 year.even.if.it.contains.days.fr
c31c0 6f 6d 20 74 68 65 20 6e 65 77 0a 20 20 20 20 20 20 20 20 20 79 65 61 72 2e 0a 20 20 20 20 20 20 om.the.new..........year........
c31e0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 ...<br><br>.This.format.was.firs
c3200 74 20 73 74 61 6e 64 61 72 64 69 7a 65 64 20 62 79 20 50 4f 53 49 58 2e 32 2d 31 39 39 32 20 61 t.standardized.by.POSIX.2-1992.a
c3220 6e 64 20 62 79 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e nd.by.ISO.C99...........<br><br>
c3240 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 77 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 .<DT><CODE>%w</CODE>.<DD>.......
c3260 20 20 20 54 68 65 20 64 61 79 20 6f 66 20 74 68 65 20 77 65 65 6b 20 61 73 20 61 20 64 65 63 69 ...The.day.of.the.week.as.a.deci
c3280 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e mal.number.(range.<CODE>0</CODE>
c32a0 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 36 3c 2f 43 4f 44 45 3e .through..........<CODE>6</CODE>
c32c0 29 2c 20 53 75 6e 64 61 79 20 62 65 69 6e 67 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 0a ),.Sunday.being.<CODE>0</CODE>..
c32e0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 57 3c 2f .........<br><br>.<DT><CODE>%W</
c3300 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 77 65 65 6b 20 6e 75 6d CODE>.<DD>..........The.week.num
c3320 62 65 72 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 79 65 61 72 20 61 73 20 61 20 64 65 63 ber.of.the.current.year.as.a.dec
c3340 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 30 3c 2f 43 4f 44 imal.number.(range.<CODE>00</COD
c3360 45 3e 0a 20 20 20 20 20 20 20 20 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 35 33 3c 2f 43 4f E>..........through.<CODE>53</CO
c3380 44 45 3e 29 2c 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 74 68 65 20 66 69 72 73 74 20 4d 6f DE>),.starting.with.the.first.Mo
c33a0 6e 64 61 79 20 61 73 20 74 68 65 20 66 69 72 73 74 20 64 61 79 20 6f 66 0a 20 20 20 20 20 20 20 nday.as.the.first.day.of........
c33c0 20 20 74 68 65 20 66 69 72 73 74 20 77 65 65 6b 2e 20 20 41 6c 6c 20 64 61 79 73 20 70 72 65 63 ..the.first.week...All.days.prec
c33e0 65 64 69 6e 67 20 74 68 65 20 66 69 72 73 74 20 4d 6f 6e 64 61 79 20 69 6e 20 74 68 65 20 79 65 eding.the.first.Monday.in.the.ye
c3400 61 72 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 ar.are..........considered.to.be
c3420 20 69 6e 20 77 65 65 6b 20 3c 43 4f 44 45 3e 30 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 .in.week.<CODE>00</CODE>........
c3440 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 78 3c 2f 43 4f 44 45 3e 0a ...<br><br>.<DT><CODE>%x</CODE>.
c3460 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 65 66 65 72 72 65 64 20 64 61 74 65 <DD>..........The.preferred.date
c3480 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 .representation.for.the.current.
c34a0 6c 6f 63 61 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 locale...........<br><br>.<DT><C
c34c0 4f 44 45 3e 25 58 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 ODE>%X</CODE>.<DD>..........The.
c34e0 70 72 65 66 65 72 72 65 64 20 74 69 6d 65 20 6f 66 20 64 61 79 20 72 65 70 72 65 73 65 6e 74 61 preferred.time.of.day.representa
c3500 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 tion.for.the.current.locale.....
c3520 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 79 3c 2f 43 4f 44 ......<br><br>.<DT><CODE>%y</COD
c3540 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 79 65 61 72 20 77 69 74 68 6f 75 E>.<DD>..........The.year.withou
c3560 74 20 61 20 63 65 6e 74 75 72 79 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 t.a.century.as.a.decimal.number.
c3580 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 30 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 0a 20 (range.<CODE>00</CODE>.through..
c35a0 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 39 39 3c 2f 43 4f 44 45 3e 29 2e 20 20 54 68 69 73 20 ........<CODE>99</CODE>)...This.
c35c0 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 79 65 61 72 20 6d 6f 64 75 6c 6f is.equivalent.to.the.year.modulo
c35e0 20 31 30 30 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 .100...........<br><br>.<DT><COD
c3600 45 3e 25 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 79 65 E>%Y</CODE>.<DD>..........The.ye
c3620 61 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 2c 20 75 73 69 6e 67 20 74 68 ar.as.a.decimal.number,.using.th
c3640 65 20 47 72 65 67 6f 72 69 61 6e 20 63 61 6c 65 6e 64 61 72 2e 20 20 59 65 61 72 73 0a 20 20 20 e.Gregorian.calendar...Years....
c3660 20 20 20 20 20 20 62 65 66 6f 72 65 20 74 68 65 20 79 65 61 72 20 3c 43 4f 44 45 3e 31 3c 2f 43 ......before.the.year.<CODE>1</C
c3680 4f 44 45 3e 20 61 72 65 20 6e 75 6d 62 65 72 65 64 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e ODE>.are.numbered.<CODE>0</CODE>
c36a0 2c 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 73 6f 20 6f 6e 2e 0a 20 20 ,.<CODE>-1</CODE>,.and.so.on....
c36c0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 7a 3c 2f 43 4f .......<br><br>.<DT><CODE>%z</CO
c36e0 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 52 46 43 20 38 32 32 2f 49 53 4f 20 38 36 DE>.<DD>..........RFC.822/ISO.86
c3700 30 31 3a 31 39 38 38 20 73 74 79 6c 65 20 6e 75 6d 65 72 69 63 20 74 69 6d 65 20 7a 6f 6e 65 20 01:1988.style.numeric.time.zone.
c3720 28 65 2e 67 2e 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 30 36 30 30 3c 2f 43 4f 44 (e.g.,..........<CODE>-0600</COD
c3740 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 2b 30 31 30 30 3c 2f 43 4f 44 45 3e 29 2c 20 6f 72 20 6e 6f E>.or.<CODE>+0100</CODE>),.or.no
c3760 74 68 69 6e 67 20 69 66 20 6e 6f 20 74 69 6d 65 20 7a 6f 6e 65 20 69 73 0a 20 20 20 20 20 20 20 thing.if.no.time.zone.is........
c3780 20 20 64 65 74 65 72 6d 69 6e 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ..determinable...........<br><br
c37a0 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 77 61 73 20 66 69 72 73 74 20 73 74 61 6e 64 61 72 64 >.This.format.was.first.standard
c37c0 69 7a 65 64 20 62 79 20 49 53 4f 20 43 39 39 20 61 6e 64 20 62 79 20 50 4f 53 49 58 2e 31 2d 32 ized.by.ISO.C99.and.by.POSIX.1-2
c37e0 30 30 31 0a 20 20 20 20 20 20 20 20 20 62 75 74 20 77 61 73 20 70 72 65 76 69 6f 75 73 6c 79 20 001..........but.was.previously.
c3800 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 available.as.a.GNU.extension....
c3820 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 74 68 65 20 50 4f 53 49 58 20 6c 6f 63 .......<br><br>.In.the.POSIX.loc
c3840 61 6c 65 2c 20 61 20 66 75 6c 6c 20 52 46 43 20 38 32 32 20 74 69 6d 65 73 74 61 6d 70 20 69 73 ale,.a.full.RFC.822.timestamp.is
c3860 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 74 68 65 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 .generated.by.the.format........
c3880 20 20 3c 73 61 6d 70 3e 22 25 61 2c 20 25 64 20 25 62 20 25 59 20 25 48 3a 25 4d 3a 25 53 20 25 ..<samp>"%a,.%d.%b.%Y.%H:%M:%S.%
c38a0 7a 22 3c 2f 73 61 6d 70 3e 20 28 6f 72 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 0a 20 20 20 z"</samp>.(or.the.equivalent....
c38c0 20 20 20 20 20 20 3c 73 61 6d 70 3e 22 25 61 2c 20 25 64 20 25 62 20 25 59 20 25 54 20 25 7a 22 ......<samp>"%a,.%d.%b.%Y.%T.%z"
c38e0 3c 2f 73 61 6d 70 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e </samp>)...........<br><br>.<DT>
c3900 3c 43 4f 44 45 3e 25 5a 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 <CODE>%Z</CODE>.<DD>..........Th
c3920 65 20 74 69 6d 65 20 7a 6f 6e 65 20 61 62 62 72 65 76 69 61 74 69 6f 6e 20 28 65 6d 70 74 79 20 e.time.zone.abbreviation.(empty.
c3940 69 66 20 74 68 65 20 74 69 6d 65 20 7a 6f 6e 65 20 63 61 6e 27 74 20 62 65 20 64 65 74 65 72 6d if.the.time.zone.can't.be.determ
c3960 69 6e 65 64 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f ined)...........<br><br>.<DT><CO
c3980 44 45 3e 25 25 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 20 6c 69 74 DE>%%</CODE>.<DD>..........A.lit
c39a0 65 72 61 6c 20 3c 73 61 6d 70 3e 25 3c 2f 73 61 6d 70 3e 20 63 68 61 72 61 63 74 65 72 2e 0a 20 eral.<samp>%</samp>.character...
c39c0 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ........</DL>..........<br><br>.
c39e0 54 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 63 61 The.<VAR>size</VAR>.parameter.ca
c3a00 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 6d 61 78 69 6d 75 6d n.be.used.to.specify.the.maximum
c3a20 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 74 .number.of..........characters.t
c3a40 6f 20 62 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e 73 3c o.be.stored.in.the.array.<VAR>s<
c3a60 2f 56 41 52 3e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 /VAR>,.including.the.terminating
c3a80 0a 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 2e 20 20 49 66 20 74 68 ..........null.character...If.th
c3aa0 65 20 66 6f 72 6d 61 74 74 65 64 20 74 69 6d 65 20 72 65 71 75 69 72 65 73 20 6d 6f 72 65 20 74 e.formatted.time.requires.more.t
c3ac0 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 63 68 61 han.<VAR>size</VAR>..........cha
c3ae0 72 61 63 74 65 72 73 2c 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 72 racters,.<CODE>strftime</CODE>.r
c3b00 65 74 75 72 6e 73 20 7a 65 72 6f 20 61 6e 64 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 eturns.zero.and.the.contents.of.
c3b20 74 68 65 20 61 72 72 61 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 the.array..........<VAR>s</VAR>.
c3b40 61 72 65 20 75 6e 64 65 66 69 6e 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 are.undefined...Otherwise.the.re
c3b60 74 75 72 6e 20 76 61 6c 75 65 20 69 6e 64 69 63 61 74 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 turn.value.indicates.the........
c3b80 20 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 70 6c 61 63 65 64 20 69 6e ..number.of.characters.placed.in
c3ba0 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2c 20 6e 6f 74 20 69 6e 63 .the.array.<VAR>s</VAR>,.not.inc
c3bc0 6c 75 64 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 luding.the..........terminating.
c3be0 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 null.character...........<br><br
c3c00 3e 20 3c 45 4d 3e 57 61 72 6e 69 6e 67 3a 3c 2f 45 4d 3e 20 54 68 69 73 20 63 6f 6e 76 65 6e 74 >.<EM>Warning:</EM>.This.convent
c3c20 69 6f 6e 20 66 6f 72 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 68 69 63 68 20 69 ion.for.the.return.value.which.i
c3c40 73 20 70 72 65 73 63 72 69 62 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 49 53 4f 20 43 20 63 s.prescribed..........in.ISO.C.c
c3c60 61 6e 20 6c 65 61 64 20 74 6f 20 70 72 6f 62 6c 65 6d 73 20 69 6e 20 73 6f 6d 65 20 73 69 74 75 an.lead.to.problems.in.some.situ
c3c80 61 74 69 6f 6e 73 2e 20 20 46 6f 72 20 63 65 72 74 61 69 6e 0a 20 20 20 20 20 20 20 20 20 66 6f ations...For.certain..........fo
c3ca0 72 6d 61 74 20 73 74 72 69 6e 67 73 20 61 6e 64 20 63 65 72 74 61 69 6e 20 6c 6f 63 61 6c 65 73 rmat.strings.and.certain.locales
c3cc0 20 74 68 65 20 6f 75 74 70 75 74 20 72 65 61 6c 6c 79 20 63 61 6e 20 62 65 20 74 68 65 20 65 6d .the.output.really.can.be.the.em
c3ce0 70 74 79 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 61 6e 64 20 74 68 69 73 20 63 61 6e pty..........string.and.this.can
c3d00 6e 6f 74 20 62 65 20 64 69 73 63 6f 76 65 72 65 64 20 62 79 20 74 65 73 74 69 6e 67 20 74 68 65 not.be.discovered.by.testing.the
c3d20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 6e 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 45 2e 67 .return.value.only...........E.g
c3d40 2e 2c 20 69 6e 20 6d 6f 73 74 20 6c 6f 63 61 6c 65 73 20 74 68 65 20 41 4d 2f 50 4d 20 74 69 6d .,.in.most.locales.the.AM/PM.tim
c3d60 65 20 66 6f 72 6d 61 74 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 28 6d 6f 73 74 20 e.format.is.not.supported.(most.
c3d80 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 77 6f 72 6c 64 20 75 73 65 73 20 74 68 65 20 32 of..........the.world.uses.the.2
c3da0 34 20 68 6f 75 72 20 74 69 6d 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 29 2e 20 20 49 6e 4.hour.time.representation)...In
c3dc0 20 73 75 63 68 20 6c 6f 63 61 6c 65 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 22 25 70 .such.locales..........<CODE>"%p
c3de0 22 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 20 65 6d 70 74 79 20 73 "</CODE>.will.return.the.empty.s
c3e00 74 72 69 6e 67 2c 20 69 2e 65 2e 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 tring,.i.e.,.the.return.value.is
c3e20 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f 2e 20 20 54 6f 20 64 65 74 65 63 74 20 73 69 74 75 61 ..........zero...To.detect.situa
c3e40 74 69 6f 6e 73 20 6c 69 6b 65 20 74 68 69 73 20 73 6f 6d 65 74 68 69 6e 67 20 73 69 6d 69 6c 61 tions.like.this.something.simila
c3e60 72 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 63 6f 64 65 r.to.the.following..........code
c3e80 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .should.be.used:..........<br><b
c3ea0 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 62 75 66 5b 30 5d 20 3d 20 27 r>.<pre><br>..........buf[0].=.'
c3ec0 5c 31 27 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 20 3d 20 73 74 72 66 74 69 6d 65 \1';<br>..........len.=.strftime
c3ee0 20 28 62 75 66 2c 20 62 75 66 73 69 7a 65 2c 20 66 6f 72 6d 61 74 2c 20 74 70 29 3b 3c 62 72 3e .(buf,.bufsize,.format,.tp);<br>
c3f00 0a 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 65 6e 20 3d 3d 20 30 20 26 26 20 62 75 66 5b 30 5d ..........if.(len.==.0.&&.buf[0]
c3f20 20 21 3d 20 27 5c 30 27 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 .!=.'\0')<br>............{<br>..
c3f40 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 53 6f 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 ............/*.Something.went.wr
c3f60 6f 6e 67 20 69 6e 20 74 68 65 20 73 74 72 66 74 69 6d 65 20 63 61 6c 6c 2e 20 20 2a 2f 3c 62 72 ong.in.the.strftime.call...*/<br
c3f80 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 6d 61 6c 6c 3e 2e 2e 2e 3c 2f 73 6d 61 6c 6c >..............<small>...</small
c3fa0 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 ><br>............}<br>..........
c3fc0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 </pre>..........<br><br>.If.<VAR
c3fe0 3e 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 3c 43 4f 44 >s</VAR>.is.a.null.pointer,.<COD
c4000 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 6e 6f 74 20 61 63 74 75 61 E>strftime</CODE>.does.not.actua
c4020 6c 6c 79 20 77 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 61 6e 79 74 68 69 6e 67 2c 20 62 75 74 lly.write..........anything,.but
c4040 20 69 6e 73 74 65 61 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 .instead.returns.the.number.of.c
c4060 68 61 72 61 63 74 65 72 73 20 69 74 20 77 6f 75 6c 64 20 68 61 76 65 20 77 72 69 74 74 65 6e 2e haracters.it.would.have.written.
c4080 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 63 63 6f 72 64 69 6e 67 20 74 6f 20 ..........<br><br>.According.to.
c40a0 50 4f 53 49 58 2e 31 20 65 76 65 72 79 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 66 POSIX.1.every.call.to.<CODE>strf
c40c0 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 69 6d 70 6c 69 65 73 20 61 20 63 61 6c 6c 20 74 6f 0a 20 20 time</CODE>.implies.a.call.to...
c40e0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 7a 73 65 74 3c 2f 43 4f 44 45 3e 2e 20 20 53 6f 20 74 .......<CODE>tzset</CODE>...So.t
c4100 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 he.contents.of.the.environment.v
c4120 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 54 5a 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 ariable.<CODE>TZ</CODE>.........
c4140 20 69 73 20 65 78 61 6d 69 6e 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20 6f 75 74 70 75 74 20 69 .is.examined.before.any.output.i
c4160 73 20 70 72 6f 64 75 63 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f s.produced...........<br><br>.Fo
c4180 72 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f r.an.example.of.<CODE>strftime</
c41a0 43 4f 44 45 3e 2c 20 73 65 65 20 54 69 6d 65 20 46 75 6e 63 74 69 6f 6e 73 20 45 78 61 6d 70 6c CODE>,.see.Time.Functions.Exampl
c41c0 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 74 69 e..........sq.~......w.....t..ti
c41e0 6d 65 2e 68 78 71 00 7e 1b 62 74 00 47 63 68 61 72 20 2a 73 2c 20 73 69 7a 65 5f 74 20 73 69 7a me.hxq.~.bt.Gchar.*s,.size_t.siz
c4200 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 63 6f 6e 73 74 20 73 e,.const.char.*template,.const.s
c4220 74 72 75 63 74 20 74 6d 20 2a 62 72 6f 6b 65 6e 74 69 6d 65 74 00 06 73 69 7a 65 5f 74 74 00 06 truct.tm.*brokentimet..size_tt..
c4240 73 74 72 6c 65 6e 73 71 00 7e 00 0a 70 74 09 a5 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f strlensq.~..pt...........The.<CO
c4260 44 45 3e 73 74 72 6c 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e DE>strlen</CODE>.function.return
c4280 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 s.the.length.of.the.null-termina
c42a0 74 65 64 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e ted..........string.<VAR>s</VAR>
c42c0 20 69 6e 20 62 79 74 65 73 2e 20 20 28 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 .in.bytes...(In.other.words,.it.
c42e0 72 65 74 75 72 6e 73 20 74 68 65 20 6f 66 66 73 65 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 returns.the.offset.of.the.......
c4300 20 20 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 77 69 ...terminating.null.character.wi
c4320 74 68 69 6e 20 74 68 65 20 61 72 72 61 79 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 thin.the.array.)..........<br><b
c4340 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 r>.For.example,..........<pre><b
c4360 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 6c 65 6e 20 28 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c r>..........strlen.("hello,.worl
c4380 64 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 32 3c 62 72 3e 0a 20 20 20 d")<br>...............12<br>....
c43a0 20 20 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ......</pre><br>..........<br><b
c43c0 72 3e 20 57 68 65 6e 20 61 70 70 6c 69 65 64 20 74 6f 20 61 20 63 68 61 72 61 63 74 65 72 20 61 r>.When.applied.to.a.character.a
c43e0 72 72 61 79 2c 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 6c 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 rray,.the.<CODE>strlen</CODE>.fu
c4400 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 nction.returns<br>..........the.
c4420 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 73 74 6f 72 65 64 20 74 68 65 72 length.of.the.string.stored.ther
c4440 65 2c 20 6e 6f 74 20 69 74 73 20 61 6c 6c 6f 63 61 74 65 64 20 73 69 7a 65 2e 20 20 59 6f 75 20 e,.not.its.allocated.size...You.
c4460 63 61 6e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 67 65 74 20 74 68 65 20 61 6c 6c 6f 63 61 74 can<br>..........get.the.allocat
c4480 65 64 20 73 69 7a 65 20 6f 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 61 72 72 61 79 20 74 ed.size.of.the.character.array.t
c44a0 68 61 74 20 68 6f 6c 64 73 20 61 20 73 74 72 69 6e 67 20 75 73 69 6e 67 3c 62 72 3e 0a 20 20 20 hat.holds.a.string.using<br>....
c44c0 20 20 20 20 20 20 74 68 65 20 3c 43 4f 44 45 3e 73 69 7a 65 6f 66 3c 2f 43 4f 44 45 3e 20 6f 70 ......the.<CODE>sizeof</CODE>.op
c44e0 65 72 61 74 6f 72 3a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 erator:<br>..........<br><br>.<p
c4500 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 20 73 74 72 69 6e 67 5b 33 32 5d re><br>..........char.string[32]
c4520 20 3d 20 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 .=."hello,.world";<br>..........
c4540 73 69 7a 65 6f 66 20 28 73 74 72 69 6e 67 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 sizeof.(string)<br>.............
c4560 20 20 33 32 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 6c 65 6e 20 28 73 74 72 69 6e 67 ..32<br>..........strlen.(string
c4580 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 32 3c 62 72 3e 0a 20 20 20 20 20 )<br>...............12<br>......
c45a0 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ....</pre><br>..........<br><br>
c45c0 20 42 75 74 20 62 65 77 61 72 65 2c 20 74 68 69 73 20 77 69 6c 6c 20 6e 6f 74 20 77 6f 72 6b 20 .But.beware,.this.will.not.work.
c45e0 75 6e 6c 65 73 73 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 73 20 74 68 65 20 unless.<VAR>string</VAR>.is.the.
c4600 63 68 61 72 61 63 74 65 72 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 61 72 72 61 79 20 69 74 73 character<br>..........array.its
c4620 65 6c 66 2c 20 6e 6f 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 69 74 2e 20 20 46 6f 72 20 65 elf,.not.a.pointer.to.it...For.e
c4640 78 61 6d 70 6c 65 3a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 xample:<br>..........<br><br>.<p
c4660 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 20 73 74 72 69 6e 67 5b 33 32 5d re><br>..........char.string[32]
c4680 20 3d 20 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 .=."hello,.world";<br>..........
c46a0 63 68 61 72 20 2a 70 74 72 20 3d 20 73 74 72 69 6e 67 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 char.*ptr.=.string;<br>.........
c46c0 20 73 69 7a 65 6f 66 20 28 73 74 72 69 6e 67 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 .sizeof.(string)<br>............
c46e0 20 20 20 33 32 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 69 7a 65 6f 66 20 28 70 74 72 29 3c ...32<br>..........sizeof.(ptr)<
c4700 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 34 20 20 2f 2a 20 28 6f 6e 20 61 20 6d 61 br>...............4../*.(on.a.ma
c4720 63 68 69 6e 65 20 77 69 74 68 20 34 20 62 79 74 65 20 70 6f 69 6e 74 65 72 73 29 20 2a 2f 3c 62 chine.with.4.byte.pointers).*/<b
c4740 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 r>..........</pre><br>..........
c4760 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 69 73 20 61 6e 20 65 61 73 79 20 6d 69 73 74 61 6b 65 <br><br>.This.is.an.easy.mistake
c4780 20 74 6f 20 6d 61 6b 65 20 77 68 65 6e 20 79 6f 75 20 61 72 65 20 77 6f 72 6b 69 6e 67 20 77 69 .to.make.when.you.are.working.wi
c47a0 74 68 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 74 th.functions.that<br>..........t
c47c0 61 6b 65 20 73 74 72 69 6e 67 20 61 72 67 75 6d 65 6e 74 73 3b 20 74 68 6f 73 65 20 61 72 67 75 ake.string.arguments;.those.argu
c47e0 6d 65 6e 74 73 20 61 72 65 20 61 6c 77 61 79 73 20 70 6f 69 6e 74 65 72 73 2c 20 6e 6f 74 20 61 ments.are.always.pointers,.not.a
c4800 72 72 61 79 73 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 20 rrays.<br>..........<br><br>.It.
c4820 6d 75 73 74 20 61 6c 73 6f 20 62 65 20 6e 6f 74 65 64 20 74 68 61 74 20 66 6f 72 20 6d 75 6c 74 must.also.be.noted.that.for.mult
c4840 69 62 79 74 65 20 65 6e 63 6f 64 65 64 20 73 74 72 69 6e 67 73 20 74 68 65 20 72 65 74 75 72 6e ibyte.encoded.strings.the.return
c4860 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 <br>..........value.does.not.hav
c4880 65 20 74 6f 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 e.to.correspond.to.the.number.of
c48a0 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 .characters.in.the<br>..........
c48c0 73 74 72 69 6e 67 2e 20 20 54 6f 20 67 65 74 20 74 68 69 73 20 76 61 6c 75 65 20 74 68 65 20 73 string...To.get.this.value.the.s
c48e0 74 72 69 6e 67 20 63 61 6e 20 62 65 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 77 69 64 65 3c 62 tring.can.be.converted.to.wide<b
c4900 72 3e 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 3c 43 4f 44 45 r>..........characters.and.<CODE
c4920 3e 77 63 73 6c 65 6e 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 6f 72 20 73 6f >wcslen</CODE>.can.be.used.or.so
c4940 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3c 62 72 3e 0a 20 mething.like.the.following<br>..
c4960 20 20 20 20 20 20 20 20 63 6f 64 65 20 63 61 6e 20 62 65 20 75 73 65 64 3a 3c 62 72 3e 0a 20 20 ........code.can.be.used:<br>...
c4980 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 .......<br><br>.<pre><br>.......
c49a0 20 20 20 2f 2a 20 54 68 65 20 69 6e 70 75 74 20 69 73 20 69 6e 20 3c 43 4f 44 45 3e 73 74 72 69 .../*.The.input.is.in.<CODE>stri
c49c0 6e 67 3c 2f 43 4f 44 45 3e 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6c ng</CODE>.<br>.............The.l
c49e0 65 6e 67 74 68 20 69 73 20 65 78 70 65 63 74 65 64 20 69 6e 20 3c 43 4f 44 45 3e 6e 3c 2f 43 4f ength.is.expected.in.<CODE>n</CO
c4a00 44 45 3e 2e 20 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 DE>...*/<br>..........{<br>.....
c4a20 20 20 20 20 20 20 20 6d 62 73 74 61 74 65 5f 74 20 74 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 .......mbstate_t.t;<br>.........
c4a40 20 20 20 63 68 61 72 20 2a 73 63 6f 70 79 20 3d 20 73 74 72 69 6e 67 3b 3c 62 72 3e 0a 20 20 20 ...char.*scopy.=.string;<br>....
c4a60 20 20 20 20 20 20 20 20 2f 2a 20 49 6e 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 2e 20 20 2a 2f ......../*.In.initial.state...*/
c4a80 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 73 65 74 20 28 26 74 2c 20 27 5c 30 27 <br>............memset.(&t,.'\0'
c4aa0 2c 20 73 69 7a 65 6f 66 20 28 74 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 2f 2a ,.sizeof.(t));<br>............/*
c4ac0 20 44 65 74 65 72 6d 69 6e 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e .Determine.number.of.characters.
c4ae0 20 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 6e 20 3d 20 6d 62 73 72 74 6f 77 63 ..*/<br>............n.=.mbsrtowc
c4b00 73 20 28 4e 55 4c 4c 2c 20 26 73 63 6f 70 79 2c 20 73 74 72 6c 65 6e 20 28 73 63 6f 70 79 29 2c s.(NULL,.&scopy,.strlen.(scopy),
c4b20 20 26 74 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 .&t);<br>..........}<br>........
c4b40 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 ..</pre>..........<br><br>.This.
c4b60 69 73 20 63 75 6d 62 65 72 73 6f 6d 65 20 74 6f 20 64 6f 20 73 6f 20 69 66 20 74 68 65 20 6e 75 is.cumbersome.to.do.so.if.the.nu
c4b80 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74 mber.of.characters.(as.opposed.t
c4ba0 6f 0a 20 20 20 20 20 20 20 20 20 62 79 74 65 73 29 20 69 73 20 6e 65 65 64 65 64 20 6f 66 74 65 o..........bytes).is.needed.ofte
c4bc0 6e 20 69 74 20 69 73 20 62 65 74 74 65 72 20 74 6f 20 77 6f 72 6b 20 77 69 74 68 20 77 69 64 65 n.it.is.better.to.work.with.wide
c4be0 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 .characters..........sq.~......w
c4c00 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 69 74 00 0d 63 6f 6e 73 74 20 63 .....t..string.hxq.~.it..const.c
c4c20 68 61 72 20 2a 73 74 00 06 73 69 7a 65 5f 74 74 00 0b 73 74 72 6e 63 61 73 65 63 6d 70 73 71 00 har.*st..size_tt..strncasecmpsq.
c4c40 7e 00 0a 70 74 01 2f 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 ~..pt./.........This.function.is
c4c60 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 72 6e 63 6d 70 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 .like.<CODE>strncmp</CODE>,.exce
c4c80 70 74 20 74 68 61 74 20 64 69 66 66 65 72 65 6e 63 65 73 20 69 6e 20 63 61 73 65 0a 20 20 20 20 pt.that.differences.in.case.....
c4ca0 20 20 20 20 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 20 20 4c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 .....are.ignored...Like.<CODE>st
c4cc0 72 63 61 73 65 63 6d 70 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 69 73 20 6c 6f 63 61 6c 65 20 64 65 rcasecmp</CODE>,.it.is.locale.de
c4ce0 70 65 6e 64 65 6e 74 20 68 6f 77 0a 20 20 20 20 20 20 20 20 20 75 70 70 65 72 63 61 73 65 20 61 pendent.how..........uppercase.a
c4d00 6e 64 20 6c 6f 77 65 72 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 72 65 6c 61 nd.lowercase.characters.are.rela
c4d20 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 ted...........<br><br>..........
c4d40 20 3c 43 4f 44 45 3e 73 74 72 6e 63 61 73 65 63 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 .<CODE>strncasecmp</CODE>.is.a.G
c4d60 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 NU.extension..........sq.~......
c4d80 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 70 74 00 28 63 6f 6e 73 74 20 w.....t..string.hxq.~.pt.(const.
c4da0 63 68 61 72 20 2a 73 31 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 32 2c 20 73 69 7a 65 5f 74 char.*s1,.const.char.*s2,.size_t
c4dc0 20 6e 74 00 03 69 6e 74 74 00 07 73 74 72 6e 63 61 74 73 71 00 7e 00 0a 70 74 03 83 0a 20 20 20 .nt..intt..strncatsq.~..pt......
c4de0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 .....This.function.is.like.<CODE
c4e00 3e 73 74 72 63 61 74 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 6e 6f 74 20 6d >strcat</CODE>.except.that.not.m
c4e20 6f 72 65 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 ore.than.<VAR>size</VAR>........
c4e40 20 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 ..characters.from.<VAR>from</VAR
c4e60 3e 20 61 72 65 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 3c 56 41 >.are.appended.to.the.end.of.<VA
c4e80 52 3e 74 6f 3c 2f 56 41 52 3e 2e 20 20 41 0a 20 20 20 20 20 20 20 20 20 73 69 6e 67 6c 65 20 6e R>to</VAR>...A..........single.n
c4ea0 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61 6c 73 6f 20 61 6c 77 61 79 73 20 61 70 70 ull.character.is.also.always.app
c4ec0 65 6e 64 65 64 20 74 6f 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2c 20 73 6f 20 74 68 65 20 74 ended.to.<VAR>to</VAR>,.so.the.t
c4ee0 6f 74 61 6c 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 73 69 7a 65 20 6f 66 20 otal..........allocated.size.of.
c4f00 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 20 61 74 20 6c 65 61 73 74 20 3c <VAR>to</VAR>.must.be.at.least.<
c4f20 43 4f 44 45 3e 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 2b 20 31 3c 2f 43 4f 44 45 3e 20 CODE><VAR>size</VAR>.+.1</CODE>.
c4f40 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 69 74 73 20 69 bytes..........longer.than.its.i
c4f60 6e 69 74 69 61 6c 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e nitial.length...........<br><br>
c4f80 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 6e 63 61 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 .The.<CODE>strncat</CODE>.functi
c4fa0 6f 6e 20 63 6f 75 6c 64 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 6c 69 6b 65 20 74 68 69 on.could.be.implemented.like.thi
c4fc0 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 s:..........<br><br>.<pre><br>..
c4fe0 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 20 2a 3c 62 72 3e ........<br>..........char.*<br>
c5000 0a 20 20 20 20 20 20 20 20 20 73 74 72 6e 63 61 74 20 28 63 68 61 72 20 2a 74 6f 2c 20 63 6f 6e ..........strncat.(char.*to,.con
c5020 73 74 20 63 68 61 72 20 2a 66 72 6f 6d 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 29 3c 62 72 3e 0a st.char.*from,.size_t.size)<br>.
c5040 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 74 6f 5b 73 74 72 .........{<br>............to[str
c5060 6c 65 6e 20 28 74 6f 29 20 2b 20 73 69 7a 65 5d 20 3d 20 27 5c 30 27 3b 3c 62 72 3e 0a 20 20 20 len.(to).+.size].=.'\0';<br>....
c5080 20 20 20 20 20 20 20 20 73 74 72 6e 63 70 79 20 28 74 6f 20 2b 20 73 74 72 6c 65 6e 20 28 74 6f ........strncpy.(to.+.strlen.(to
c50a0 29 2c 20 66 72 6f 6d 2c 20 73 69 7a 65 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 ),.from,.size);<br>............r
c50c0 65 74 75 72 6e 20 74 6f 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 eturn.to;<br>..........}<br>....
c50e0 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 ......<br>..........</pre>......
c5100 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 3c 43 4f ....<br><br>.The.behavior.of.<CO
c5120 44 45 3e 73 74 72 6e 63 61 74 3c 2f 43 4f 44 45 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 DE>strncat</CODE>.is.undefined.i
c5140 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 6f 76 65 72 6c 61 70 2e 0a 20 20 20 20 20 20 20 20 73 f.the.strings.overlap..........s
c5160 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 77 q.~......w.....t..string.hxq.~.w
c5180 74 00 39 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 74 6f 2c 20 63 6f 6e 73 74 20 63 68 61 72 t.9char.*restrict.to,.const.char
c51a0 20 2a 72 65 73 74 72 69 63 74 20 66 72 6f 6d 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 06 63 .*restrict.from,.size_t.sizet..c
c51c0 68 61 72 20 2a 74 00 07 73 74 72 6e 63 6d 70 73 71 00 7e 00 0a 70 74 01 19 0a 20 20 20 20 20 20 har.*t..strncmpsq.~..pt.........
c51e0 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 73 69 6d 69 6c 61 72 20 74 ..This.function.is.the.similar.t
c5200 6f 20 3c 43 4f 44 45 3e 73 74 72 63 6d 70 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 o.<CODE>strcmp</CODE>,.except.th
c5220 61 74 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 at.no.more.than..........<VAR>si
c5240 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 ze</VAR>.characters.are.compared
c5260 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 66 20 74 68 65 20 74 77 6f 0a 20 20 ...In.other.words,.if.the.two...
c5280 20 20 20 20 20 20 20 73 74 72 69 6e 67 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 69 6e 20 74 .......strings.are.the.same.in.t
c52a0 68 65 69 72 20 66 69 72 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 heir.first.<VAR>size</VAR>.chara
c52c0 63 74 65 72 73 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 cters,.the..........return.value
c52e0 20 69 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 .is.zero..........sq.~......w...
c5300 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 7e 74 00 2b 63 6f 6e 73 74 20 63 68 61 72 ..t..string.hxq.~.~t.+const.char
c5320 20 2a 73 31 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 32 2c 20 73 69 7a 65 5f 74 20 73 69 7a .*s1,.const.char.*s2,.size_t.siz
c5340 65 74 00 03 69 6e 74 74 00 07 73 74 72 6e 63 70 79 73 71 00 7e 00 0a 70 74 05 34 0a 20 20 20 20 et..intt..strncpysq.~..pt.4.....
c5360 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 ....This.function.is.similar.to.
c5380 3c 43 4f 44 45 3e 73 74 72 63 70 79 3c 2f 43 4f 44 45 3e 20 62 75 74 20 61 6c 77 61 79 73 20 63 <CODE>strcpy</CODE>.but.always.c
c53a0 6f 70 69 65 73 20 65 78 61 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 opies.exactly..........<VAR>size
c53c0 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 3c 56 41 52 3e 74 6f 3c 2f </VAR>.characters.into.<VAR>to</
c53e0 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6c VAR>...........<br><br>.If.the.l
c5400 65 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 73 20 6d 6f 72 65 ength.of.<VAR>from</VAR>.is.more
c5420 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 20 3c 43 4f 44 .than.<VAR>size</VAR>,.then.<COD
c5440 45 3e 73 74 72 6e 63 70 79 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 6f 70 69 65 73 E>strncpy</CODE>..........copies
c5460 20 6a 75 73 74 20 74 68 65 20 66 69 72 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 .just.the.first.<VAR>size</VAR>.
c5480 63 68 61 72 61 63 74 65 72 73 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 74 68 69 73 20 63 characters...Note.that.in.this.c
c54a0 61 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 75 6c 6c 20 74 65 ase..........there.is.no.null.te
c54c0 72 6d 69 6e 61 74 6f 72 20 77 72 69 74 74 65 6e 20 69 6e 74 6f 20 3c 56 41 52 3e 74 6f 3c 2f 56 rminator.written.into.<VAR>to</V
c54e0 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6c 65 AR>...........<br><br>.If.the.le
c5500 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 73 20 6c 65 73 73 20 ngth.of.<VAR>from</VAR>.is.less.
c5520 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 20 3c 43 4f 44 45 than.<VAR>size</VAR>,.then.<CODE
c5540 3e 73 74 72 6e 63 70 79 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 6f 70 69 65 73 20 >strncpy</CODE>..........copies.
c5560 61 6c 6c 20 6f 66 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 3e 2c 20 66 6f 6c 6c 6f 77 65 64 all.of.<VAR>from</VAR>,.followed
c5580 20 62 79 20 65 6e 6f 75 67 68 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 61 64 .by.enough.null.characters.to.ad
c55a0 64 20 75 70 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e d.up..........to.<VAR>size</VAR>
c55c0 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 61 6c 6c 2e 20 20 54 68 69 73 20 62 65 68 61 76 69 .characters.in.all...This.behavi
c55e0 6f 72 20 69 73 20 72 61 72 65 6c 79 20 75 73 65 66 75 6c 2c 20 62 75 74 20 69 74 0a 20 20 20 20 or.is.rarely.useful,.but.it.....
c5600 20 20 20 20 20 69 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 49 53 4f 20 43 20 73 .....is.specified.by.the.ISO.C.s
c5620 74 61 6e 64 61 72 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 62 tandard...........<br><br>.The.b
c5640 65 68 61 76 69 6f 72 20 6f 66 20 3c 43 4f 44 45 3e 73 74 72 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 ehavior.of.<CODE>strncpy</CODE>.
c5660 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 6f 76 65 72 is.undefined.if.the.strings.over
c5680 6c 61 70 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 73 69 6e 67 20 3c 43 4f lap...........<br><br>.Using.<CO
c56a0 44 45 3e 73 74 72 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 DE>strncpy</CODE>.as.opposed.to.
c56c0 3c 43 4f 44 45 3e 73 74 72 63 70 79 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 77 61 79 20 74 6f 20 <CODE>strcpy</CODE>.is.a.way.to.
c56e0 61 76 6f 69 64 20 62 75 67 73 0a 20 20 20 20 20 20 20 20 20 72 65 6c 61 74 69 6e 67 20 74 6f 20 avoid.bugs..........relating.to.
c5700 77 72 69 74 69 6e 67 20 70 61 73 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 61 6c 6c 6f writing.past.the.end.of.the.allo
c5720 63 61 74 65 64 20 73 70 61 63 65 20 66 6f 72 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 0a 20 cated.space.for.<VAR>to</VAR>...
c5740 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 63 61 6e 20 61 6c 73 6f 20 6d 61 6b ........However,.it.can.also.mak
c5760 65 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 6d 75 63 68 20 73 6c 6f 77 65 72 20 69 6e 20 6f 6e e.your.program.much.slower.in.on
c5780 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 3a 0a 20 20 20 20 20 20 20 20 20 63 6f 70 79 69 6e 67 20 e.common.case:..........copying.
c57a0 61 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 69 73 20 70 72 6f 62 61 62 6c 79 20 73 6d 61 6c 6c a.string.which.is.probably.small
c57c0 20 69 6e 74 6f 20 61 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 6c 61 72 67 65 20 62 75 66 66 65 72 .into.a.potentially.large.buffer
c57e0 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 56 41 52 3e 73 69 ...........In.this.case,.<VAR>si
c5800 7a 65 3c 2f 56 41 52 3e 20 6d 61 79 20 62 65 20 6c 61 72 67 65 2c 20 61 6e 64 20 77 68 65 6e 20 ze</VAR>.may.be.large,.and.when.
c5820 69 74 20 69 73 2c 20 3c 43 4f 44 45 3e 73 74 72 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c it.is,.<CODE>strncpy</CODE>.will
c5840 0a 20 20 20 20 20 20 20 20 20 77 61 73 74 65 20 61 20 63 6f 6e 73 69 64 65 72 61 62 6c 65 20 61 ..........waste.a.considerable.a
c5860 6d 6f 75 6e 74 20 6f 66 20 74 69 6d 65 20 63 6f 70 79 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 mount.of.time.copying.null.chara
c5880 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 cters..........sq.~......w.....t
c58a0 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 85 74 00 39 63 68 61 72 20 2a 72 65 73 74 72 69 63 ..string.hxq.~..t.9char.*restric
c58c0 74 20 74 6f 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 66 72 6f 6d 2c t.to,.const.char.*restrict.from,
c58e0 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 06 63 68 61 72 20 2a 74 00 07 73 74 72 6e 64 75 70 73 .size_t.sizet..char.*t..strndups
c5900 71 00 7e 00 0a 70 74 02 79 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 q.~..pt.y.........This.function.
c5920 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 64 75 70 3c 2f 43 4f 44 45 is.similar.to.<CODE>strdup</CODE
c5940 3e 20 62 75 74 20 61 6c 77 61 79 73 20 63 6f 70 69 65 73 20 61 74 20 6d 6f 73 74 0a 20 20 20 20 >.but.always.copies.at.most.....
c5960 20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 .....<VAR>size</VAR>.characters.
c5980 69 6e 74 6f 20 74 68 65 20 6e 65 77 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 73 74 72 69 6e 67 2e into.the.newly.allocated.string.
c59a0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6c 65 6e 67 74 68 ..........<br><br>.If.the.length
c59c0 20 6f 66 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 69 73 20 6d 6f 72 65 20 74 68 61 6e 20 3c 56 .of.<VAR>s</VAR>.is.more.than.<V
c59e0 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 73 74 72 6e 64 75 AR>size</VAR>,.then.<CODE>strndu
c5a00 70 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 6f 70 69 65 73 20 6a 75 73 74 20 74 68 p</CODE>..........copies.just.th
c5a20 65 20 66 69 72 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 e.first.<VAR>size</VAR>.characte
c5a40 72 73 20 61 6e 64 20 61 64 64 73 20 61 20 63 6c 6f 73 69 6e 67 20 6e 75 6c 6c 0a 20 20 20 20 20 rs.and.adds.a.closing.null......
c5a60 20 20 20 20 74 65 72 6d 69 6e 61 74 6f 72 2e 20 20 4f 74 68 65 72 77 69 73 65 20 61 6c 6c 20 63 ....terminator...Otherwise.all.c
c5a80 68 61 72 61 63 74 65 72 73 20 61 72 65 20 63 6f 70 69 65 64 20 61 6e 64 20 74 68 65 20 73 74 72 haracters.are.copied.and.the.str
c5aa0 69 6e 67 20 69 73 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 74 65 64 2e 0a 20 20 20 20 ing.is..........terminated......
c5ac0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 .....<br><br>.This.function.is.d
c5ae0 69 66 66 65 72 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 6e 63 70 79 3c 2f 43 4f 44 45 3e ifferent.to.<CODE>strncpy</CODE>
c5b00 20 69 6e 20 74 68 61 74 20 69 74 20 61 6c 77 61 79 73 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d .in.that.it.always..........term
c5b20 69 6e 61 74 65 73 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 73 74 72 69 6e 67 2e 0a 20 inates.the.destination.string...
c5b40 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 74 72 6e 64 75 70 3c 2f ........<br><br>.<CODE>strndup</
c5b60 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 CODE>.is.a.GNU.extension........
c5b80 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 ..sq.~......w.....t..string.hxq.
c5ba0 7e 1b 8c 74 00 1a 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 ~..t..const.char.*s,.size_t.size
c5bc0 74 00 06 63 68 61 72 20 2a 74 00 07 73 74 72 6e 6c 65 6e 73 71 00 7e 00 0a 70 74 02 f2 0a 20 20 t..char.*t..strnlensq.~..pt.....
c5be0 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 6e 6c 65 6e 3c 2f 43 4f 44 45 3e 20 66 ......The.<CODE>strnlen</CODE>.f
c5c00 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 unction.returns.the.length.of.th
c5c20 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 20 69 6e 0a 20 20 20 20 20 20 20 e.string.<VAR>s</VAR>.in........
c5c40 20 20 62 79 74 65 73 20 69 66 20 74 68 69 73 20 6c 65 6e 67 74 68 20 69 73 20 73 6d 61 6c 6c 65 ..bytes.if.this.length.is.smalle
c5c60 72 20 74 68 61 6e 20 3c 56 41 52 3e 6d 61 78 6c 65 6e 3c 2f 56 41 52 3e 20 62 79 74 65 73 2e 20 r.than.<VAR>maxlen</VAR>.bytes..
c5c80 20 4f 74 68 65 72 77 69 73 65 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c .Otherwise.it..........returns.<
c5ca0 56 41 52 3e 6d 61 78 6c 65 6e 3c 2f 56 41 52 3e 2e 20 20 54 68 65 72 65 66 6f 72 65 20 74 68 69 VAR>maxlen</VAR>...Therefore.thi
c5cc0 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 s.function.is.equivalent.to.....
c5ce0 20 20 20 20 20 3c 43 4f 44 45 3e 28 73 74 72 6c 65 6e 20 28 3c 56 41 52 3e 73 3c 2f 56 41 52 3e .....<CODE>(strlen.(<VAR>s</VAR>
c5d00 29 20 3c 20 6e 20 3f 20 73 74 72 6c 65 6e 20 28 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 29 20 3a 20 ).<.n.?.strlen.(<VAR>s</VAR>).:.
c5d20 3c 56 41 52 3e 6d 61 78 6c 65 6e 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 20 62 75 74 20 69 74 <VAR>maxlen</VAR>)</CODE>.but.it
c5d40 0a 20 20 20 20 20 20 20 20 20 69 73 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 20 61 6e 64 20 ..........is.more.efficient.and.
c5d60 77 6f 72 6b 73 20 65 76 65 6e 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c works.even.if.the.string.<VAR>s<
c5d80 2f 56 41 52 3e 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2d 74 65 72 6d 69 /VAR>.is.not..........null-termi
c5da0 6e 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 nated...........<br><br>.<pre><b
c5dc0 72 3e 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 20 73 74 72 69 6e 67 5b 33 32 5d 20 3d 20 22 68 r>..........char.string[32].=."h
c5de0 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 6e 6c ello,.world";<br>..........strnl
c5e00 65 6e 20 28 73 74 72 69 6e 67 2c 20 33 32 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 en.(string,.32)<br>.............
c5e20 20 20 31 32 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 6e 6c 65 6e 20 28 73 74 72 69 6e ..12<br>..........strnlen.(strin
c5e40 67 2c 20 35 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 35 3c 62 72 3e 0a 20 20 g,.5)<br>...............5<br>...
c5e60 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 .......</pre>..........<br><br>.
c5e80 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e This.function.is.a.GNU.extension
c5ea0 20 61 6e 64 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 73 74 72 69 6e 67 2e 68 .and.is.declared.in.<TT>string.h
c5ec0 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 </TT>..........sq.~......w.....t
c5ee0 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 93 74 00 1c 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 ..string.hxq.~..t..const.char.*s
c5f00 2c 20 73 69 7a 65 5f 74 20 6d 61 78 6c 65 6e 74 00 06 73 69 7a 65 5f 74 74 00 07 73 74 72 70 62 ,.size_t.maxlent..size_tt..strpb
c5f20 72 6b 73 71 00 7e 00 0a 70 74 03 66 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 rksq.~..pt.f.........The.<CODE>s
c5f40 74 72 70 62 72 6b 3c 2f 43 4f 44 45 3e 20 28 60 60 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 20 trpbrk</CODE>.(``string.pointer.
c5f60 62 72 65 61 6b 27 27 29 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 65 6c 61 74 65 64 20 74 6f 0a break'').function.is.related.to.
c5f80 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 63 73 70 6e 3c 2f 43 4f 44 45 3e 2c 20 65 .........<CODE>strcspn</CODE>,.e
c5fa0 78 63 65 70 74 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 xcept.that.it.returns.a.pointer.
c5fc0 74 6f 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 to.the.first.character..........
c5fe0 69 6e 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 74 68 61 74 20 69 73 20 61 20 6d in.<VAR>string</VAR>.that.is.a.m
c6000 65 6d 62 65 72 20 6f 66 20 74 68 65 20 73 65 74 20 3c 56 41 52 3e 73 74 6f 70 73 65 74 3c 2f 56 ember.of.the.set.<VAR>stopset</V
c6020 41 52 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 67 AR>.instead.of.the..........leng
c6040 74 68 20 6f 66 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 75 62 73 74 72 69 6e 67 2e 20 20 49 74 th.of.the.initial.substring...It
c6060 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 6e 6f 20 73 75 .returns.a.null.pointer.if.no.su
c6080 63 68 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 3c 56 41 52 3e ch..........character.from.<VAR>
c60a0 73 74 6f 70 73 65 74 3c 2f 56 41 52 3e 20 69 73 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 stopset</VAR>.is.found..........
c60c0 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 .<br><br>.For.example,..........
c60e0 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 70 <br><br>.<pre><br>..........strp
c6100 62 72 6b 20 28 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 2c 20 22 20 5c 74 5c 6e 2c 2e 3b 21 3f brk.("hello,.world",.".\t\n,.;!?
c6120 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2c 20 77 6f 72 6c 64 22 3c 62 ")<br>...............",.world"<b
c6140 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e r>..........</pre>..........<br>
c6160 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 60 60 63 68 61 72 61 63 74 65 72 27 27 20 69 73 20 <br>.Note.that.``character''.is.
c6180 68 65 72 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 73 65 6e 73 65 20 6f 66 20 62 79 74 65 2e 20 here.used.in.the.sense.of.byte..
c61a0 20 49 6e 20 61 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 61 20 6d 75 .In.a.string..........using.a.mu
c61c0 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 65 6e 63 6f 64 69 6e 67 20 28 61 62 73 74 ltibyte.character.encoding.(abst
c61e0 72 61 63 74 29 20 63 68 61 72 61 63 74 65 72 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 0a 20 20 ract).character.consisting.of...
c6200 20 20 20 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 62 79 74 65 20 61 72 65 20 6e 6f .......more.than.one.byte.are.no
c6220 74 20 74 72 65 61 74 65 64 20 61 73 20 61 6e 20 65 6e 74 69 74 79 2e 20 20 45 61 63 68 20 62 79 t.treated.as.an.entity...Each.by
c6240 74 65 20 69 73 20 74 72 65 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 65 6c te.is.treated..........separatel
c6260 79 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 6c 6f 63 61 6c 65 2d 64 y...The.function.is.not.locale-d
c6280 65 70 65 6e 64 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 ependent..........sq.~......w...
c62a0 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b 9a 74 00 27 63 6f 6e 73 74 20 63 68 61 72 ..t..string.hxq.~..t.'const.char
c62c0 20 2a 73 74 72 69 6e 67 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 6f 70 73 65 74 74 00 06 .*string,.const.char.*stopsett..
c62e0 63 68 61 72 20 2a 74 00 08 73 74 72 70 74 69 6d 65 73 71 00 7e 00 0a 70 74 36 f7 0a 20 20 20 20 char.*t..strptimesq.~..pt6......
c6300 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 70 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 ....The.<CODE>strptime</CODE>.fu
c6320 6e 63 74 69 6f 6e 20 70 61 72 73 65 73 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 3c nction.parses.the.input.string.<
c6340 56 41 52 3e 73 3c 2f 56 41 52 3e 20 61 63 63 6f 72 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 74 VAR>s</VAR>.according..........t
c6360 6f 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 66 6d 74 3c 2f 56 41 o.the.format.string.<VAR>fmt</VA
c6380 52 3e 20 61 6e 64 20 73 74 6f 72 65 73 20 69 74 73 20 72 65 73 75 6c 74 73 20 69 6e 20 74 68 65 R>.and.stores.its.results.in.the
c63a0 0a 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 3c 56 41 52 3e 74 70 3c 2f 56 41 52 ..........structure.<VAR>tp</VAR
c63c0 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 69 6e 70 75 74 20 73 >...........<br><br>.The.input.s
c63e0 74 72 69 6e 67 20 63 6f 75 6c 64 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 61 20 3c 43 tring.could.be.generated.by.a.<C
c6400 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 20 6f 72 0a 20 20 20 20 ODE>strftime</CODE>.call.or.....
c6420 20 20 20 20 20 6f 62 74 61 69 6e 65 64 20 61 6e 79 20 6f 74 68 65 72 20 77 61 79 2e 20 20 49 74 .....obtained.any.other.way...It
c6440 20 64 6f 65 73 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 62 65 20 69 6e 20 61 20 68 75 6d 61 6e 2d .does.not.need.to.be.in.a.human-
c6460 72 65 63 6f 67 6e 69 7a 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 3b 20 65 2e recognizable..........format;.e.
c6480 67 2e 20 61 20 64 61 74 65 20 70 61 73 73 65 64 20 61 73 20 3c 43 4f 44 45 3e 22 30 32 3a 31 39 g..a.date.passed.as.<CODE>"02:19
c64a0 39 39 3a 39 22 3c 2f 43 4f 44 45 3e 20 69 73 20 61 63 63 65 70 74 61 62 6c 65 2c 20 65 76 65 6e 99:9"</CODE>.is.acceptable,.even
c64c0 0a 20 20 20 20 20 20 20 20 20 74 68 6f 75 67 68 20 69 74 20 69 73 20 61 6d 62 69 67 75 6f 75 73 ..........though.it.is.ambiguous
c64e0 20 77 69 74 68 6f 75 74 20 63 6f 6e 74 65 78 74 2e 20 20 41 73 20 6c 6f 6e 67 20 61 73 20 74 68 .without.context...As.long.as.th
c6500 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 6d e.format.string..........<VAR>fm
c6520 74 3c 2f 56 41 52 3e 20 6d 61 74 63 68 65 73 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 t</VAR>.matches.the.input.string
c6540 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 73 75 63 63 65 65 64 2e 0a 20 20 20 20 .the.function.will.succeed......
c6560 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 75 73 65 72 20 68 61 73 20 74 6f 20 6d 61 .....<br><br>.The.user.has.to.ma
c6580 6b 65 20 73 75 72 65 2c 20 74 68 6f 75 67 68 2c 20 74 68 61 74 20 74 68 65 20 69 6e 70 75 74 20 ke.sure,.though,.that.the.input.
c65a0 63 61 6e 20 62 65 20 70 61 72 73 65 64 20 69 6e 20 61 0a 20 20 20 20 20 20 20 20 20 75 6e 61 6d can.be.parsed.in.a..........unam
c65c0 62 69 67 75 6f 75 73 20 77 61 79 2e 20 20 54 68 65 20 73 74 72 69 6e 67 20 3c 43 4f 44 45 3e 22 biguous.way...The.string.<CODE>"
c65e0 31 39 39 39 31 31 32 22 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 70 61 72 73 65 64 20 75 73 1999112"</CODE>.can.be.parsed.us
c6600 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 20 3c 43 4f 44 45 3e 22 25 ing.the..........format.<CODE>"%
c6620 59 25 6d 25 64 22 3c 2f 43 4f 44 45 3e 20 61 73 20 31 39 39 39 2d 31 2d 31 32 2c 20 31 39 39 39 Y%m%d"</CODE>.as.1999-1-12,.1999
c6640 2d 31 31 2d 32 2c 20 6f 72 20 65 76 65 6e 20 31 39 39 39 31 2d 31 2d 32 2e 20 20 49 74 0a 20 20 -11-2,.or.even.19991-1-2...It...
c6660 20 20 20 20 20 20 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 61 64 64 20 61 70 70 72 6f .......is.necessary.to.add.appro
c6680 70 72 69 61 74 65 20 73 65 70 61 72 61 74 6f 72 73 20 74 6f 20 72 65 6c 69 61 62 6c 79 20 67 65 priate.separators.to.reliably.ge
c66a0 74 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 t.results...........<br><br>.The
c66c0 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 74 68 65 20 73 .format.string.consists.of.the.s
c66e0 61 6d 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 61 73 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 ame.components.as.the.format.str
c6700 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 ing..........of.the.<CODE>strfti
c6720 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 20 6f 6e 6c 79 20 64 69 me</CODE>.function...The.only.di
c6740 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 66 6c 61 67 73 0a 20 20 20 20 20 fference.is.that.the.flags......
c6760 20 20 20 20 3c 43 4f 44 45 3e 5f 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 2d 3c 2f 43 4f 44 ....<CODE>_</CODE>,.<CODE>-</COD
c6780 45 3e 2c 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 5e 3c E>,.<CODE>0</CODE>,.and.<CODE>^<
c67a0 2f 43 4f 44 45 3e 20 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 20 20 20 20 20 20 20 20 /CODE>.are.not.allowed..........
c67c0 20 53 65 76 65 72 61 6c 20 6f 66 20 74 68 65 20 64 69 73 74 69 6e 63 74 20 66 6f 72 6d 61 74 73 .Several.of.the.distinct.formats
c67e0 20 6f 66 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 64 6f 20 74 68 65 .of.<CODE>strftime</CODE>.do.the
c6800 20 73 61 6d 65 20 77 6f 72 6b 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 .same.work.in..........<CODE>str
c6820 70 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 73 69 6e 63 65 20 64 69 66 66 65 72 65 6e 63 65 73 20 6c ptime</CODE>.since.differences.l
c6840 69 6b 65 20 63 61 73 65 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 64 6f 20 6e 6f 74 20 6d 61 74 ike.case.of.the.input.do.not.mat
c6860 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 46 6f 72 20 72 65 61 73 6f 6e 73 20 6f 66 20 73 79 6d ter...........For.reasons.of.sym
c6880 6d 65 74 72 79 20 61 6c 6c 20 66 6f 72 6d 61 74 73 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2c metry.all.formats.are.supported,
c68a0 20 74 68 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6d .though...........<br><br>.The.m
c68c0 6f 64 69 66 69 65 72 73 20 3c 43 4f 44 45 3e 45 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 odifiers.<CODE>E</CODE>.and.<COD
c68e0 45 3e 4f 3c 2f 43 4f 44 45 3e 20 61 72 65 20 61 6c 73 6f 20 61 6c 6c 6f 77 65 64 20 65 76 65 72 E>O</CODE>.are.also.allowed.ever
c6900 79 77 68 65 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 ywhere.the..........<CODE>strfti
c6920 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 74 68 65 6d 2e 0a me</CODE>.function.allows.them..
c6940 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 72 6d 61 74 73 20 61 72 .........<br><br>.The.formats.ar
c6960 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 e:..........<br><br>.<DL>.......
c6980 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 61 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 ....<DT><CODE>%a</CODE>.<DD>....
c69a0 20 20 20 20 20 20 3c 4c 49 3e 78 20 25 41 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 77 65 65 6b ......<LI>x.%A..........The.week
c69c0 64 61 79 20 6e 61 6d 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e day.name.according.to.the.curren
c69e0 74 20 6c 6f 63 61 6c 65 2c 20 69 6e 20 61 62 62 72 65 76 69 61 74 65 64 20 66 6f 72 6d 20 6f 72 t.locale,.in.abbreviated.form.or
c6a00 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 75 6c 6c 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 ..........the.full.name.........
c6a20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 62 3c 2f 43 4f 44 45 3e 0a 3c ..<br><br>.<DT><CODE>%b</CODE>.<
c6a40 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 25 42 0a 20 20 20 20 20 20 20 20 20 3c DD>..........<LI>x.%B..........<
c6a60 4c 49 3e 78 20 25 68 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 6f 6e 74 68 20 6e 61 6d 65 20 LI>x.%h..........The.month.name.
c6a80 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2c according.to.the.current.locale,
c6aa0 20 69 6e 20 61 62 62 72 65 76 69 61 74 65 64 20 66 6f 72 6d 20 6f 72 0a 20 20 20 20 20 20 20 20 .in.abbreviated.form.or.........
c6ac0 20 74 68 65 20 66 75 6c 6c 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .the.full.name...........<br><br
c6ae0 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 63 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 >.<DT><CODE>%c</CODE>.<DD>......
c6b00 20 20 20 20 54 68 65 20 64 61 74 65 20 61 6e 64 20 74 69 6d 65 20 72 65 70 72 65 73 65 6e 74 61 ....The.date.and.time.representa
c6b20 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 tion.for.the.current.locale.....
c6b40 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 45 63 3c 2f 43 4f ......<br><br>.<DT><CODE>%Ec</CO
c6b60 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4c 69 6b 65 20 3c 43 4f 44 45 3e 25 63 3c DE>.<DD>..........Like.<CODE>%c<
c6b80 2f 43 4f 44 45 3e 20 62 75 74 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 6e 61 74 /CODE>.but.the.locale's.alternat
c6ba0 69 76 65 20 64 61 74 65 20 61 6e 64 20 74 69 6d 65 20 66 6f 72 6d 61 74 20 69 73 20 75 73 65 64 ive.date.and.time.format.is.used
c6bc0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 43 ...........<br><br>.<DT><CODE>%C
c6be0 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 65 6e 74 75 72 </CODE>.<DD>..........The.centur
c6c00 79 20 6f 66 20 74 68 65 20 79 65 61 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e y.of.the.year...........<br><br>
c6c20 20 49 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 20 74 6f 20 75 73 65 20 74 68 69 73 20 66 6f 72 6d .It.makes.sense.to.use.this.form
c6c40 61 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 61 6c 73 at.only.if.the.format.string.als
c6c60 6f 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 3c 43 4f 44 45 3e 25 79 o..........contains.the.<CODE>%y
c6c80 3c 2f 43 4f 44 45 3e 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 </CODE>.format...........<br><br
c6ca0 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 45 43 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 >.<DT><CODE>%EC</CODE>.<DD>.....
c6cc0 20 20 20 20 20 54 68 65 20 6c 6f 63 61 6c 65 27 73 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e .....The.locale's.representation
c6ce0 20 6f 66 20 74 68 65 20 70 65 72 69 6f 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .of.the.period...........<br><br
c6d00 3e 20 55 6e 6c 69 6b 65 20 3c 43 4f 44 45 3e 25 43 3c 2f 43 4f 44 45 3e 20 69 74 20 73 6f 6d 65 >.Unlike.<CODE>%C</CODE>.it.some
c6d20 74 69 6d 65 73 20 6d 61 6b 65 73 20 73 65 6e 73 65 20 74 6f 20 75 73 65 20 74 68 69 73 20 66 6f times.makes.sense.to.use.this.fo
c6d40 72 6d 61 74 20 73 69 6e 63 65 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 63 75 6c 74 75 72 65 rmat.since.some..........culture
c6d60 73 20 72 65 70 72 65 73 65 6e 74 20 79 65 61 72 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 s.represent.years.relative.to.th
c6d80 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 65 72 61 73 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 e.beginning.of.eras.instead.of..
c6da0 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 74 68 65 20 47 72 65 67 6f 72 69 61 6e 20 79 65 61 72 ........using.the.Gregorian.year
c6dc0 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 s...........<br><br>.<DT><CODE>%
c6de0 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 d</CODE>.<DD>..........<DT><CODE
c6e00 3e 25 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 61 79 >%e</CODE>.<DD>..........The.day
c6e20 20 6f 66 20 74 68 65 20 6d 6f 6e 74 68 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 .of.the.month.as.a.decimal.numbe
c6e40 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 r.(range.<CODE>1</CODE>.through.
c6e60 3c 43 4f 44 45 3e 33 31 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 4c 65 61 64 69 <CODE>31</CODE>)...........Leadi
c6e80 6e 67 20 7a 65 72 6f 65 73 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 62 75 74 20 6e 6f 74 20 ng.zeroes.are.permitted.but.not.
c6ea0 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e required...........<br><br>.<DT>
c6ec0 3c 43 4f 44 45 3e 25 4f 64 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c <CODE>%Od</CODE>.<DD>..........<
c6ee0 4c 49 3e 78 20 25 4f 65 0a 20 20 20 20 20 20 20 20 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e LI>x.%Oe..........Same.as.<CODE>
c6f00 25 64 3c 2f 43 4f 44 45 3e 20 62 75 74 20 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 %d</CODE>.but.using.the.locale's
c6f20 20 61 6c 74 65 72 6e 61 74 69 76 65 20 6e 75 6d 65 72 69 63 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 .alternative.numeric.symbols....
c6f40 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 65 61 64 69 6e 67 20 7a 65 72 6f 65 73 20 61 .......<br><br>.Leading.zeroes.a
c6f60 72 65 20 70 65 72 6d 69 74 74 65 64 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2e 0a 20 re.permitted.but.not.required...
c6f80 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 44 3c 2f 43 ........<br><br>.<DT><CODE>%D</C
c6fa0 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f ODE>.<DD>..........Equivalent.to
c6fc0 20 3c 43 4f 44 45 3e 25 6d 2f 25 64 2f 25 79 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 .<CODE>%m/%d/%y</CODE>..........
c6fe0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 46 3c 2f 43 4f 44 45 3e 0a 3c 44 .<br><br>.<DT><CODE>%F</CODE>.<D
c7000 44 3e 0a 20 20 20 20 20 20 20 20 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e D>..........Equivalent.to.<CODE>
c7020 25 59 2d 25 6d 2d 25 64 3c 2f 43 4f 44 45 3e 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 20 49 53 %Y-%m-%d</CODE>,.which.is.the.IS
c7040 4f 20 38 36 30 31 20 64 61 74 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 2e 0a 20 20 20 O.8601.date..........format.....
c7060 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 69 73 20 61 20 47 4e 55 20 65 78 74 ......<br><br>.This.is.a.GNU.ext
c7080 65 6e 73 69 6f 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 6e 20 49 53 4f 20 43 39 39 20 65 78 74 65 ension.following.an.ISO.C99.exte
c70a0 6e 73 69 6f 6e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 nsion.to..........<CODE>strftime
c70c0 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c </CODE>...........<br><br>.<DT><
c70e0 43 4f 44 45 3e 25 67 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 CODE>%g</CODE>.<DD>..........The
c7100 20 79 65 61 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 49 53 4f 20 77 .year.corresponding.to.the.ISO.w
c7120 65 65 6b 20 6e 75 6d 62 65 72 2c 20 62 75 74 20 77 69 74 68 6f 75 74 20 74 68 65 20 63 65 6e 74 eek.number,.but.without.the.cent
c7140 75 72 79 0a 20 20 20 20 20 20 20 20 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 30 3c 2f 43 4f ury..........(range.<CODE>00</CO
c7160 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 39 39 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 DE>.through.<CODE>99</CODE>)....
c7180 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 45 4d 3e 4e 6f 74 65 3a 3c 2f 45 4d 3e 20 43 .......<br><br>.<EM>Note:</EM>.C
c71a0 75 72 72 65 6e 74 6c 79 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 66 75 6c 6c 79 20 69 6d 70 6c urrently,.this.is.not.fully.impl
c71c0 65 6d 65 6e 74 65 64 2e 20 20 54 68 65 20 66 6f 72 6d 61 74 20 69 73 0a 20 20 20 20 20 20 20 20 emented...The.format.is.........
c71e0 20 72 65 63 6f 67 6e 69 7a 65 64 2c 20 69 6e 70 75 74 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 62 .recognized,.input.is.consumed.b
c7200 75 74 20 6e 6f 20 66 69 65 6c 64 20 69 6e 20 3c 56 41 52 3e 74 6d 3c 2f 56 41 52 3e 20 69 73 20 ut.no.field.in.<VAR>tm</VAR>.is.
c7220 73 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d set...........<br><br>.This.form
c7240 61 74 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 at.is.a.GNU.extension.following.
c7260 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d a.GNU.extension.of.<CODE>strftim
c7280 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e e</CODE>...........<br><br>.<DT>
c72a0 3c 43 4f 44 45 3e 25 47 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 <CODE>%G</CODE>.<DD>..........Th
c72c0 65 20 79 65 61 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 49 53 4f 20 e.year.corresponding.to.the.ISO.
c72e0 77 65 65 6b 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c week.number...........<br><br>.<
c7300 45 4d 3e 4e 6f 74 65 3a 3c 2f 45 4d 3e 20 43 75 72 72 65 6e 74 6c 79 2c 20 74 68 69 73 20 69 73 EM>Note:</EM>.Currently,.this.is
c7320 20 6e 6f 74 20 66 75 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 20 54 68 65 20 66 6f 72 .not.fully.implemented...The.for
c7340 6d 61 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 63 6f 67 6e 69 7a 65 64 2c 20 69 6e 70 75 mat.is..........recognized,.inpu
c7360 74 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 62 75 74 20 6e 6f 20 66 69 65 6c 64 20 69 6e 20 3c 56 t.is.consumed.but.no.field.in.<V
c7380 41 52 3e 74 6d 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 AR>tm</VAR>.is.set...........<br
c73a0 3e 3c 62 72 3e 20 54 68 69 73 20 66 6f 72 6d 61 74 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e ><br>.This.format.is.a.GNU.exten
c73c0 73 69 6f 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 6f sion.following.a.GNU.extension.o
c73e0 66 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 f.<CODE>strftime</CODE>.........
c7400 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 48 3c 2f 43 4f 44 45 3e 0a 3c ..<br><br>.<DT><CODE>%H</CODE>.<
c7420 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 25 6b 0a 20 20 20 20 20 20 20 20 20 54 DD>..........<LI>x.%k..........T
c7440 68 65 20 68 6f 75 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 2c 20 75 73 69 he.hour.as.a.decimal.number,.usi
c7460 6e 67 20 61 20 32 34 2d 68 6f 75 72 20 63 6c 6f 63 6b 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e ng.a.24-hour.clock.(range.<CODE>
c7480 30 30 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 00</CODE>.through..........<CODE
c74a0 3e 32 33 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c >23</CODE>)...........<br><br>.<
c74c0 43 4f 44 45 3e 25 6b 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f CODE>%k</CODE>.is.a.GNU.extensio
c74e0 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66 20 3c n.following.a.GNU.extension.of.<
c7500 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c CODE>strftime</CODE>...........<
c7520 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4f 48 3c 2f 43 4f 44 45 3e 0a 3c 44 44 br><br>.<DT><CODE>%OH</CODE>.<DD
c7540 3e 0a 20 20 20 20 20 20 20 20 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 25 48 3c 2f 43 4f 44 >..........Same.as.<CODE>%H</COD
c7560 45 3e 20 62 75 74 20 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 6e E>.but.using.the.locale's.altern
c7580 61 74 69 76 65 20 6e 75 6d 65 72 69 63 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 ative.numeric.symbols...........
c75a0 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 49 3c 2f 43 4f 44 45 3e 0a 3c 44 44 <br><br>.<DT><CODE>%I</CODE>.<DD
c75c0 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 78 20 25 6c 0a 20 20 20 20 20 20 20 20 20 54 68 65 >..........<LI>x.%l..........The
c75e0 20 68 6f 75 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 2c 20 75 73 69 6e 67 .hour.as.a.decimal.number,.using
c7600 20 61 20 31 32 2d 68 6f 75 72 20 63 6c 6f 63 6b 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 31 .a.12-hour.clock.(range.<CODE>01
c7620 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 31 </CODE>.through..........<CODE>1
c7640 32 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 2</CODE>)...........<br><br>.<CO
c7660 44 45 3e 25 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 DE>%l</CODE>.is.a.GNU.extension.
c7680 66 6f 6c 6c 6f 77 69 6e 67 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66 20 3c 43 4f following.a.GNU.extension.of.<CO
c76a0 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 DE>strftime</CODE>...........<br
c76c0 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4f 49 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ><br>.<DT><CODE>%OI</CODE>.<DD>.
c76e0 20 20 20 20 20 20 20 20 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 25 49 3c 2f 43 4f 44 45 3e .........Same.as.<CODE>%I</CODE>
c7700 20 62 75 74 20 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 6e 61 74 .but.using.the.locale's.alternat
c7720 69 76 65 20 6e 75 6d 65 72 69 63 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ive.numeric.symbols...........<b
c7740 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 6a 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a r><br>.<DT><CODE>%j</CODE>.<DD>.
c7760 20 20 20 20 20 20 20 20 20 54 68 65 20 64 61 79 20 6f 66 20 74 68 65 20 79 65 61 72 20 61 73 20 .........The.day.of.the.year.as.
c7780 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 31 3c a.decimal.number.(range.<CODE>1<
c77a0 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 33 36 36 3c 2f 43 4f 44 45 3e 29 /CODE>.through.<CODE>366</CODE>)
c77c0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 65 61 64 69 6e 67 20 7a 65 72 6f ...........<br><br>.Leading.zero
c77e0 65 73 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 es.are.permitted.but.not.require
c7800 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 d...........<br><br>.<DT><CODE>%
c7820 6d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 6f 6e 74 68 m</CODE>.<DD>..........The.month
c7840 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 .as.a.decimal.number.(range.<COD
c7860 45 3e 31 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 31 32 3c 2f 43 4f 44 E>1</CODE>.through.<CODE>12</COD
c7880 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 65 61 64 69 6e 67 20 7a E>)...........<br><br>.Leading.z
c78a0 65 72 6f 65 73 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 62 75 74 20 6e 6f 74 20 72 65 71 75 eroes.are.permitted.but.not.requ
c78c0 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 ired...........<br><br>.<DT><COD
c78e0 45 3e 25 4f 6d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 61 6d 65 20 E>%Om</CODE>.<DD>..........Same.
c7900 61 73 20 3c 43 4f 44 45 3e 25 6d 3c 2f 43 4f 44 45 3e 20 62 75 74 20 75 73 69 6e 67 20 74 68 65 as.<CODE>%m</CODE>.but.using.the
c7920 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 6e 75 6d 65 72 69 63 20 73 79 .locale's.alternative.numeric.sy
c7940 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f mbols...........<br><br>.<DT><CO
c7960 44 45 3e 25 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d DE>%M</CODE>.<DD>..........The.m
c7980 69 6e 75 74 65 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 inute.as.a.decimal.number.(range
c79a0 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 35 39 .<CODE>0</CODE>.through.<CODE>59
c79c0 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 65 61 64 </CODE>)...........<br><br>.Lead
c79e0 69 6e 67 20 7a 65 72 6f 65 73 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 62 75 74 20 6e 6f 74 ing.zeroes.are.permitted.but.not
c7a00 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 .required...........<br><br>.<DT
c7a20 3e 3c 43 4f 44 45 3e 25 4f 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 ><CODE>%OM</CODE>.<DD>..........
c7a40 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 25 4d 3c 2f 43 4f 44 45 3e 20 62 75 74 20 75 73 69 6e Same.as.<CODE>%M</CODE>.but.usin
c7a60 67 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 6e 75 6d 65 72 g.the.locale's.alternative.numer
c7a80 69 63 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 ic.symbols...........<br><br>.<D
c7aa0 54 3e 3c 43 4f 44 45 3e 25 6e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 T><CODE>%n</CODE>.<DD>..........
c7ac0 3c 4c 49 3e 78 20 25 74 0a 20 20 20 20 20 20 20 20 20 4d 61 74 63 68 65 73 20 61 6e 79 20 77 68 <LI>x.%t..........Matches.any.wh
c7ae0 69 74 65 20 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 ite.space...........<br><br>.<DT
c7b00 3e 3c 43 4f 44 45 3e 25 70 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c ><CODE>%p</CODE>.<DD>..........<
c7b20 44 54 3e 3c 43 4f 44 45 3e 25 50 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 DT><CODE>%P</CODE>.<DD>.........
c7b40 20 54 68 65 20 6c 6f 63 61 6c 65 2d 64 65 70 65 6e 64 65 6e 74 20 65 71 75 69 76 61 6c 65 6e 74 .The.locale-dependent.equivalent
c7b60 20 74 6f 20 3c 73 61 6d 70 3e 41 4d 3c 2f 73 61 6d 70 3e 20 6f 72 20 3c 73 61 6d 70 3e 50 4d 3c .to.<samp>AM</samp>.or.<samp>PM<
c7b80 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 /samp>...........<br><br>.This.f
c7ba0 6f 72 6d 61 74 20 69 73 20 6e 6f 74 20 75 73 65 66 75 6c 20 75 6e 6c 65 73 73 20 3c 43 4f 44 45 ormat.is.not.useful.unless.<CODE
c7bc0 3e 25 49 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 25 6c 3c 2f 43 4f 44 45 3e 20 69 73 >%I</CODE>.or.<CODE>%l</CODE>.is
c7be0 20 61 6c 73 6f 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 41 6e 6f 74 68 65 72 20 63 6f 6d .also.used...........Another.com
c7c00 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 74 68 61 74 20 74 68 65 20 6c 6f 63 61 6c 65 20 6d 69 67 plication.is.that.the.locale.mig
c7c20 68 74 20 6e 6f 74 20 64 65 66 69 6e 65 20 74 68 65 73 65 20 76 61 6c 75 65 73 20 61 74 0a 20 20 ht.not.define.these.values.at...
c7c40 20 20 20 20 20 20 20 61 6c 6c 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 74 68 65 20 63 6f 6e .......all.and.therefore.the.con
c7c60 76 65 72 73 69 6f 6e 20 66 61 69 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e version.fails...........<br><br>
c7c80 20 3c 43 4f 44 45 3e 25 50 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 .<CODE>%P</CODE>.is.a.GNU.extens
c7ca0 69 6f 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f ion.following.a.GNU.extension.to
c7cc0 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 .<CODE>strftime</CODE>..........
c7ce0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 72 3c 2f 43 4f 44 45 3e 0a 3c 44 .<br><br>.<DT><CODE>%r</CODE>.<D
c7d00 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 6c 65 74 65 20 74 69 6d 65 20 75 73 D>..........The.complete.time.us
c7d20 69 6e 67 20 74 68 65 20 41 4d 2f 50 4d 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 63 75 72 72 ing.the.AM/PM.format.of.the.curr
c7d40 65 6e 74 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 ent.locale...........<br><br>.A.
c7d60 63 6f 6d 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 74 68 61 74 20 74 68 65 20 6c 6f 63 61 6c 65 20 complication.is.that.the.locale.
c7d80 6d 69 67 68 74 20 6e 6f 74 20 64 65 66 69 6e 65 20 74 68 69 73 20 66 6f 72 6d 61 74 20 61 74 20 might.not.define.this.format.at.
c7da0 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 74 68 65 20 63 all..........and.therefore.the.c
c7dc0 6f 6e 76 65 72 73 69 6f 6e 20 66 61 69 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 onversion.fails...........<br><b
c7de0 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 r>.<DT><CODE>%R</CODE>.<DD>.....
c7e00 20 20 20 20 20 54 68 65 20 68 6f 75 72 20 61 6e 64 20 6d 69 6e 75 74 65 20 69 6e 20 64 65 63 69 .....The.hour.and.minute.in.deci
c7e20 6d 61 6c 20 6e 75 6d 62 65 72 73 20 75 73 69 6e 67 20 74 68 65 20 66 6f 72 6d 61 74 20 3c 43 4f mal.numbers.using.the.format.<CO
c7e40 44 45 3e 25 48 3a 25 4d 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 DE>%H:%M</CODE>...........<br><b
c7e60 72 3e 20 3c 43 4f 44 45 3e 25 52 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 r>.<CODE>%R</CODE>.is.a.GNU.exte
c7e80 6e 73 69 6f 6e 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 nsion.following.a.GNU.extension.
c7ea0 74 6f 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 to.<CODE>strftime</CODE>........
c7ec0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 73 3c 2f 43 4f 44 45 3e 0a ...<br><br>.<DT><CODE>%s</CODE>.
c7ee0 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 6f <DD>..........The.number.of.seco
c7f00 6e 64 73 20 73 69 6e 63 65 20 74 68 65 20 65 70 6f 63 68 2c 20 69 2e 65 2e 2c 20 73 69 6e 63 65 nds.since.the.epoch,.i.e.,.since
c7f20 20 31 39 37 30 2d 30 31 2d 30 31 20 30 30 3a 30 30 3a 30 30 20 55 54 43 2e 0a 20 20 20 20 20 20 .1970-01-01.00:00:00.UTC........
c7f40 20 20 20 4c 65 61 70 20 73 65 63 6f 6e 64 73 20 61 72 65 20 6e 6f 74 20 63 6f 75 6e 74 65 64 20 ...Leap.seconds.are.not.counted.
c7f60 75 6e 6c 65 73 73 20 6c 65 61 70 20 73 65 63 6f 6e 64 20 73 75 70 70 6f 72 74 20 69 73 20 61 76 unless.leap.second.support.is.av
c7f80 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 ailable...........<br><br>.<CODE
c7fa0 3e 25 73 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 66 6f >%s</CODE>.is.a.GNU.extension.fo
c7fc0 6c 6c 6f 77 69 6e 67 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 3c 43 4f 44 45 llowing.a.GNU.extension.to.<CODE
c7fe0 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c >strftime</CODE>...........<br><
c8000 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 br>.<DT><CODE>%S</CODE>.<DD>....
c8020 20 20 20 20 20 20 54 68 65 20 73 65 63 6f 6e 64 73 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e ......The.seconds.as.a.decimal.n
c8040 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 74 68 72 6f umber.(range.<CODE>0</CODE>.thro
c8060 75 67 68 20 3c 43 4f 44 45 3e 36 30 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c ugh.<CODE>60</CODE>)...........<
c8080 62 72 3e 3c 62 72 3e 20 4c 65 61 64 69 6e 67 20 7a 65 72 6f 65 73 20 61 72 65 20 70 65 72 6d 69 br><br>.Leading.zeroes.are.permi
c80a0 74 74 65 64 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 tted.but.not.required...........
c80c0 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 3a 20 54 68 65 20 55 6e 69 78 20 73 70 65 63 69 66 69 63 <br><br>.Note:.The.Unix.specific
c80e0 61 74 69 6f 6e 20 73 61 79 73 20 74 68 65 20 75 70 70 65 72 20 62 6f 75 6e 64 20 6f 6e 20 74 68 ation.says.the.upper.bound.on.th
c8100 69 73 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f 44 45 3e 36 31 3c 2f 43 is.value..........is.<CODE>61</C
c8120 4f 44 45 3e 2c 20 61 20 72 65 73 75 6c 74 20 6f 66 20 61 20 64 65 63 69 73 69 6f 6e 20 74 6f 20 ODE>,.a.result.of.a.decision.to.
c8140 61 6c 6c 6f 77 20 64 6f 75 62 6c 65 20 6c 65 61 70 20 73 65 63 6f 6e 64 73 2e 20 20 59 6f 75 0a allow.double.leap.seconds...You.
c8160 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 6e 6f 74 20 73 65 65 20 74 68 65 20 76 61 6c 75 65 20 .........will.not.see.the.value.
c8180 3c 43 4f 44 45 3e 36 31 3c 2f 43 4f 44 45 3e 20 62 65 63 61 75 73 65 20 6e 6f 20 6d 69 6e 75 74 <CODE>61</CODE>.because.no.minut
c81a0 65 20 68 61 73 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 6c 65 61 e.has.more.than.one..........lea
c81c0 70 20 73 65 63 6f 6e 64 2c 20 62 75 74 20 74 68 65 20 6d 79 74 68 20 70 65 72 73 69 73 74 73 2e p.second,.but.the.myth.persists.
c81e0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4f 53 ..........<br><br>.<DT><CODE>%OS
c8200 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 61 6d 65 20 61 73 20 3c 43 </CODE>.<DD>..........Same.as.<C
c8220 4f 44 45 3e 25 53 3c 2f 43 4f 44 45 3e 20 62 75 74 20 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 61 ODE>%S</CODE>.but.using.the.loca
c8240 6c 65 27 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 6e 75 6d 65 72 69 63 20 73 79 6d 62 6f 6c 73 le's.alternative.numeric.symbols
c8260 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 54 ...........<br><br>.<DT><CODE>%T
c8280 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 45 71 75 69 76 61 6c 65 6e 74 </CODE>.<DD>..........Equivalent
c82a0 20 74 6f 20 74 68 65 20 75 73 65 20 6f 66 20 3c 43 4f 44 45 3e 25 48 3a 25 4d 3a 25 53 3c 2f 43 .to.the.use.of.<CODE>%H:%M:%S</C
c82c0 4f 44 45 3e 20 69 6e 20 74 68 69 73 20 70 6c 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ODE>.in.this.place...........<br
c82e0 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 75 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ><br>.<DT><CODE>%u</CODE>.<DD>..
c8300 20 20 20 20 20 20 20 20 54 68 65 20 64 61 79 20 6f 66 20 74 68 65 20 77 65 65 6b 20 61 73 20 61 ........The.day.of.the.week.as.a
c8320 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 31 3c 2f .decimal.number.(range.<CODE>1</
c8340 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 37 3c 2f CODE>.through..........<CODE>7</
c8360 43 4f 44 45 3e 29 2c 20 4d 6f 6e 64 61 79 20 62 65 69 6e 67 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f CODE>),.Monday.being.<CODE>1</CO
c8380 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 65 61 64 69 6e 67 20 7a DE>...........<br><br>.Leading.z
c83a0 65 72 6f 65 73 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 62 75 74 20 6e 6f 74 20 72 65 71 75 eroes.are.permitted.but.not.requ
c83c0 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 45 4d 3e 4e 6f 74 65 ired...........<br><br>.<EM>Note
c83e0 3a 3c 2f 45 4d 3e 20 43 75 72 72 65 6e 74 6c 79 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 66 75 :</EM>.Currently,.this.is.not.fu
c8400 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 20 54 68 65 20 66 6f 72 6d 61 74 20 69 73 0a lly.implemented...The.format.is.
c8420 20 20 20 20 20 20 20 20 20 72 65 63 6f 67 6e 69 7a 65 64 2c 20 69 6e 70 75 74 20 69 73 20 63 6f .........recognized,.input.is.co
c8440 6e 73 75 6d 65 64 20 62 75 74 20 6e 6f 20 66 69 65 6c 64 20 69 6e 20 3c 56 41 52 3e 74 6d 3c 2f nsumed.but.no.field.in.<VAR>tm</
c8460 56 41 52 3e 20 69 73 20 73 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c VAR>.is.set...........<br><br>.<
c8480 44 54 3e 3c 43 4f 44 45 3e 25 55 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 DT><CODE>%U</CODE>.<DD>.........
c84a0 20 54 68 65 20 77 65 65 6b 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 .The.week.number.of.the.current.
c84c0 79 65 61 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 year.as.a.decimal.number.(range.
c84e0 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 74 68 72 6f 75 67 68 20 <CODE>0</CODE>..........through.
c8500 3c 43 4f 44 45 3e 35 33 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c <CODE>53</CODE>)...........<br><
c8520 62 72 3e 20 4c 65 61 64 69 6e 67 20 7a 65 72 6f 65 73 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 br>.Leading.zeroes.are.permitted
c8540 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .but.not.required...........<br>
c8560 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4f 55 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 <br>.<DT><CODE>%OU</CODE>.<DD>..
c8580 20 20 20 20 20 20 20 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 25 55 3c 2f 43 4f 44 45 3e 20 ........Same.as.<CODE>%U</CODE>.
c85a0 62 75 74 20 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 6e 61 74 69 but.using.the.locale's.alternati
c85c0 76 65 20 6e 75 6d 65 72 69 63 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ve.numeric.symbols...........<br
c85e0 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 56 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ><br>.<DT><CODE>%V</CODE>.<DD>..
c8600 20 20 20 20 20 20 20 20 54 68 65 20 49 53 4f 20 38 36 30 31 3a 31 39 38 38 20 77 65 65 6b 20 6e ........The.ISO.8601:1988.week.n
c8620 75 6d 62 65 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 umber.as.a.decimal.number.(range
c8640 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 74 68 72 6f 75 67 68 .<CODE>1</CODE>..........through
c8660 20 3c 43 4f 44 45 3e 35 33 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .<CODE>53</CODE>)...........<br>
c8680 3c 62 72 3e 20 4c 65 61 64 69 6e 67 20 7a 65 72 6f 65 73 20 61 72 65 20 70 65 72 6d 69 74 74 65 <br>.Leading.zeroes.are.permitte
c86a0 64 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 d.but.not.required...........<br
c86c0 3e 3c 62 72 3e 20 3c 45 4d 3e 4e 6f 74 65 3a 3c 2f 45 4d 3e 20 43 75 72 72 65 6e 74 6c 79 2c 20 ><br>.<EM>Note:</EM>.Currently,.
c86e0 74 68 69 73 20 69 73 20 6e 6f 74 20 66 75 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 20 this.is.not.fully.implemented...
c8700 54 68 65 20 66 6f 72 6d 61 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 63 6f 67 6e 69 7a 65 The.format.is..........recognize
c8720 64 2c 20 69 6e 70 75 74 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 62 75 74 20 6e 6f 20 66 69 65 6c d,.input.is.consumed.but.no.fiel
c8740 64 20 69 6e 20 3c 56 41 52 3e 74 6d 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 2e 0a 20 20 20 20 20 d.in.<VAR>tm</VAR>.is.set.......
c8760 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 77 3c 2f 43 4f 44 45 3e ....<br><br>.<DT><CODE>%w</CODE>
c8780 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 61 79 20 6f 66 20 74 68 65 20 77 65 .<DD>..........The.day.of.the.we
c87a0 65 6b 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 ek.as.a.decimal.number.(range.<C
c87c0 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 74 68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 43 ODE>0</CODE>.through..........<C
c87e0 4f 44 45 3e 36 3c 2f 43 4f 44 45 3e 29 2c 20 53 75 6e 64 61 79 20 62 65 69 6e 67 20 3c 43 4f 44 ODE>6</CODE>),.Sunday.being.<COD
c8800 45 3e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 65 E>0</CODE>...........<br><br>.Le
c8820 61 64 69 6e 67 20 7a 65 72 6f 65 73 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 62 75 74 20 6e ading.zeroes.are.permitted.but.n
c8840 6f 74 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c ot.required...........<br><br>.<
c8860 45 4d 3e 4e 6f 74 65 3a 3c 2f 45 4d 3e 20 43 75 72 72 65 6e 74 6c 79 2c 20 74 68 69 73 20 69 73 EM>Note:</EM>.Currently,.this.is
c8880 20 6e 6f 74 20 66 75 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 20 54 68 65 20 66 6f 72 .not.fully.implemented...The.for
c88a0 6d 61 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 63 6f 67 6e 69 7a 65 64 2c 20 69 6e 70 75 mat.is..........recognized,.inpu
c88c0 74 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 62 75 74 20 6e 6f 20 66 69 65 6c 64 20 69 6e 20 3c 56 t.is.consumed.but.no.field.in.<V
c88e0 41 52 3e 74 6d 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 AR>tm</VAR>.is.set...........<br
c8900 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4f 77 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ><br>.<DT><CODE>%Ow</CODE>.<DD>.
c8920 20 20 20 20 20 20 20 20 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 25 77 3c 2f 43 4f 44 45 3e .........Same.as.<CODE>%w</CODE>
c8940 20 62 75 74 20 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 6e 61 74 .but.using.the.locale's.alternat
c8960 69 76 65 20 6e 75 6d 65 72 69 63 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ive.numeric.symbols...........<b
c8980 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 57 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a r><br>.<DT><CODE>%W</CODE>.<DD>.
c89a0 20 20 20 20 20 20 20 20 20 54 68 65 20 77 65 65 6b 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 .........The.week.number.of.the.
c89c0 63 75 72 72 65 6e 74 20 79 65 61 72 20 61 73 20 61 20 64 65 63 69 6d 61 6c 20 6e 75 6d 62 65 72 current.year.as.a.decimal.number
c89e0 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 .(range.<CODE>0</CODE>..........
c8a00 74 68 72 6f 75 67 68 20 3c 43 4f 44 45 3e 35 33 3c 2f 43 4f 44 45 3e 29 2e 0a 20 20 20 20 20 20 through.<CODE>53</CODE>)........
c8a20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 65 61 64 69 6e 67 20 7a 65 72 6f 65 73 20 61 72 65 20 70 ...<br><br>.Leading.zeroes.are.p
c8a40 65 72 6d 69 74 74 65 64 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 ermitted.but.not.required.......
c8a60 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 45 4d 3e 4e 6f 74 65 3a 3c 2f 45 4d 3e 20 43 75 72 72 ....<br><br>.<EM>Note:</EM>.Curr
c8a80 65 6e 74 6c 79 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 66 75 6c 6c 79 20 69 6d 70 6c 65 6d 65 ently,.this.is.not.fully.impleme
c8aa0 6e 74 65 64 2e 20 20 54 68 65 20 66 6f 72 6d 61 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 nted...The.format.is..........re
c8ac0 63 6f 67 6e 69 7a 65 64 2c 20 69 6e 70 75 74 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 62 75 74 20 cognized,.input.is.consumed.but.
c8ae0 6e 6f 20 66 69 65 6c 64 20 69 6e 20 3c 56 41 52 3e 74 6d 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 no.field.in.<VAR>tm</VAR>.is.set
c8b00 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4f ...........<br><br>.<DT><CODE>%O
c8b20 57 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 61 6d 65 20 61 73 20 3c W</CODE>.<DD>..........Same.as.<
c8b40 43 4f 44 45 3e 25 57 3c 2f 43 4f 44 45 3e 20 62 75 74 20 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 CODE>%W</CODE>.but.using.the.loc
c8b60 61 6c 65 27 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 6e 75 6d 65 72 69 63 20 73 79 6d 62 6f 6c ale's.alternative.numeric.symbol
c8b80 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 s...........<br><br>.<DT><CODE>%
c8ba0 78 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 61 74 65 20 x</CODE>.<DD>..........The.date.
c8bc0 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 64 61 74 65 20 66 6f 72 6d 61 74 2e 0a using.the.locale's.date.format..
c8be0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 45 78 3c .........<br><br>.<DT><CODE>%Ex<
c8c00 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4c 69 6b 65 20 3c 43 4f 44 45 3e /CODE>.<DD>..........Like.<CODE>
c8c20 25 78 3c 2f 43 4f 44 45 3e 20 62 75 74 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 %x</CODE>.but.the.locale's.alter
c8c40 6e 61 74 69 76 65 20 64 61 74 61 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 73 20 75 73 native.data.representation.is.us
c8c60 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e ed...........<br><br>.<DT><CODE>
c8c80 25 58 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 74 69 6d 65 %X</CODE>.<DD>..........The.time
c8ca0 20 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 74 69 6d 65 20 66 6f 72 6d 61 74 2e .using.the.locale's.time.format.
c8cc0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 45 58 ..........<br><br>.<DT><CODE>%EX
c8ce0 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4c 69 6b 65 20 3c 43 4f 44 45 </CODE>.<DD>..........Like.<CODE
c8d00 3e 25 58 3c 2f 43 4f 44 45 3e 20 62 75 74 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 >%X</CODE>.but.the.locale's.alte
c8d20 72 6e 61 74 69 76 65 20 74 69 6d 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 73 20 75 rnative.time.representation.is.u
c8d40 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 sed...........<br><br>.<DT><CODE
c8d60 3e 25 79 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 79 65 61 >%y</CODE>.<DD>..........The.yea
c8d80 72 20 77 69 74 68 6f 75 74 20 61 20 63 65 6e 74 75 72 79 20 61 73 20 61 20 64 65 63 69 6d 61 6c r.without.a.century.as.a.decimal
c8da0 20 6e 75 6d 62 65 72 20 28 72 61 6e 67 65 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 74 68 .number.(range.<CODE>0</CODE>.th
c8dc0 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 39 39 3c 2f 43 4f 44 45 3e 29 2e rough..........<CODE>99</CODE>).
c8de0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 65 61 64 69 6e 67 20 7a 65 72 6f 65 ..........<br><br>.Leading.zeroe
c8e00 73 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 62 75 74 20 6e 6f 74 20 72 65 71 75 69 72 65 64 s.are.permitted.but.not.required
c8e20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 69 74 ...........<br><br>.Note.that.it
c8e40 20 69 73 20 71 75 65 73 74 69 6f 6e 61 62 6c 65 20 74 6f 20 75 73 65 20 74 68 69 73 20 66 6f 72 .is.questionable.to.use.this.for
c8e60 6d 61 74 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 43 4f 44 45 3e 25 mat.without..........the.<CODE>%
c8e80 43 3c 2f 43 4f 44 45 3e 20 66 6f 72 6d 61 74 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 70 C</CODE>.format...The.<CODE>strp
c8ea0 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 72 65 67 61 72 64 time</CODE>.function.does.regard
c8ec0 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 72 61 .input..........values.in.the.ra
c8ee0 6e 67 65 20 36 38 20 74 6f 20 39 39 20 61 73 20 74 68 65 20 79 65 61 72 73 20 31 39 36 39 20 74 nge.68.to.99.as.the.years.1969.t
c8f00 6f 0a 20 20 20 20 20 20 20 20 20 31 39 39 39 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 73 20 30 o..........1999.and.the.values.0
c8f20 20 74 6f 20 36 38 20 61 73 20 74 68 65 20 79 65 61 72 73 0a 20 20 20 20 20 20 20 20 20 32 30 30 .to.68.as.the.years..........200
c8f40 30 20 74 6f 20 32 30 36 38 2e 20 20 42 75 74 20 6d 61 79 62 65 20 74 68 69 73 20 68 65 75 72 69 0.to.2068...But.maybe.this.heuri
c8f60 73 74 69 63 20 66 61 69 6c 73 20 66 6f 72 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 69 6e 70 stic.fails.for.some..........inp
c8f80 75 74 20 64 61 74 61 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 72 65 ut.data...........<br><br>.There
c8fa0 66 6f 72 65 20 69 74 20 69 73 20 62 65 73 74 20 74 6f 20 61 76 6f 69 64 20 3c 43 4f 44 45 3e 25 fore.it.is.best.to.avoid.<CODE>%
c8fc0 79 3c 2f 43 4f 44 45 3e 20 63 6f 6d 70 6c 65 74 65 6c 79 20 61 6e 64 20 75 73 65 20 3c 43 4f 44 y</CODE>.completely.and.use.<COD
c8fe0 45 3e 25 59 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 2e 0a 20 20 E>%Y</CODE>..........instead....
c9000 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 45 79 3c 2f 43 .......<br><br>.<DT><CODE>%Ey</C
c9020 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 66 66 73 65 74 20 66 72 ODE>.<DD>..........The.offset.fr
c9040 6f 6d 20 3c 43 4f 44 45 3e 25 45 43 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 68 65 20 6c 6f 63 61 6c om.<CODE>%EC</CODE>.in.the.local
c9060 65 27 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 0a e's.alternative.representation..
c9080 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 4f 79 3c .........<br><br>.<DT><CODE>%Oy<
c90a0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 66 66 73 65 74 20 /CODE>.<DD>..........The.offset.
c90c0 6f 66 20 74 68 65 20 79 65 61 72 20 28 66 72 6f 6d 20 3c 43 4f 44 45 3e 25 43 3c 2f 43 4f 44 45 of.the.year.(from.<CODE>%C</CODE
c90e0 3e 29 20 75 73 69 6e 67 20 74 68 65 20 6c 6f 63 61 6c 65 27 73 20 61 6c 74 65 72 6e 61 74 69 76 >).using.the.locale's.alternativ
c9100 65 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 65 72 69 63 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 20 20 e..........numeric.symbols......
c9120 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 59 3c 2f 43 4f 44 45 .....<br><br>.<DT><CODE>%Y</CODE
c9140 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 79 65 61 72 20 61 73 20 61 20 64 65 >.<DD>..........The.year.as.a.de
c9160 63 69 6d 61 6c 20 6e 75 6d 62 65 72 2c 20 75 73 69 6e 67 20 74 68 65 20 47 72 65 67 6f 72 69 61 cimal.number,.using.the.Gregoria
c9180 6e 20 63 61 6c 65 6e 64 61 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 n.calendar...........<br><br>.<D
c91a0 54 3e 3c 43 4f 44 45 3e 25 45 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 T><CODE>%EY</CODE>.<DD>.........
c91c0 20 54 68 65 20 66 75 6c 6c 20 61 6c 74 65 72 6e 61 74 69 76 65 20 79 65 61 72 20 72 65 70 72 65 .The.full.alternative.year.repre
c91e0 73 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 sentation...........<br><br>.<DT
c9200 3e 3c 43 4f 44 45 3e 25 7a 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 ><CODE>%z</CODE>.<DD>..........T
c9220 68 65 20 6f 66 66 73 65 74 20 66 72 6f 6d 20 47 4d 54 20 69 6e 20 49 53 4f 20 38 36 30 31 2f 52 he.offset.from.GMT.in.ISO.8601/R
c9240 46 43 38 32 32 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 FC822.format...........<br><br>.
c9260 3c 44 54 3e 3c 43 4f 44 45 3e 25 5a 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 <DT><CODE>%Z</CODE>.<DD>........
c9280 20 20 54 68 65 20 74 69 6d 65 7a 6f 6e 65 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ..The.timezone.name...........<b
c92a0 72 3e 3c 62 72 3e 20 3c 45 4d 3e 4e 6f 74 65 3a 3c 2f 45 4d 3e 20 43 75 72 72 65 6e 74 6c 79 2c r><br>.<EM>Note:</EM>.Currently,
c92c0 20 74 68 69 73 20 69 73 20 6e 6f 74 20 66 75 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 20 .this.is.not.fully.implemented..
c92e0 20 54 68 65 20 66 6f 72 6d 61 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 63 6f 67 6e 69 7a .The.format.is..........recogniz
c9300 65 64 2c 20 69 6e 70 75 74 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 62 75 74 20 6e 6f 20 66 69 65 ed,.input.is.consumed.but.no.fie
c9320 6c 64 20 69 6e 20 3c 56 41 52 3e 74 6d 3c 2f 56 41 52 3e 20 69 73 20 73 65 74 2e 0a 20 20 20 20 ld.in.<VAR>tm</VAR>.is.set......
c9340 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 25 25 3c 2f 43 4f 44 45 .....<br><br>.<DT><CODE>%%</CODE
c9360 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 20 6c 69 74 65 72 61 6c 20 3c 73 61 6d 70 3e >.<DD>..........A.literal.<samp>
c9380 25 3c 2f 73 61 6d 70 3e 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 %</samp>.character...........</D
c93a0 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6c 6c 20 6f 74 68 65 72 20 63 L>..........<br><br>.All.other.c
c93c0 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 6d haracters.in.the.format.string.m
c93e0 75 73 74 20 68 61 76 65 20 61 20 6d 61 74 63 68 69 6e 67 20 63 68 61 72 61 63 74 65 72 0a 20 20 ust.have.a.matching.character...
c9400 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 2e 20 20 45 78 63 .......in.the.input.string...Exc
c9420 65 70 74 69 6f 6e 73 20 61 72 65 20 77 68 69 74 65 20 73 70 61 63 65 73 20 69 6e 20 74 68 65 20 eptions.are.white.spaces.in.the.
c9440 69 6e 70 75 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 63 61 6e 20 input.string..........which.can.
c9460 6d 61 74 63 68 20 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 20 77 68 69 74 65 73 70 61 63 65 20 63 68 match.zero.or.more.whitespace.ch
c9480 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 2e 0a 20 aracters.in.the.format.string...
c94a0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 72 74 61 62 69 6c 69 74 79 20 4e 6f 74 ........<br><br>.Portability.Not
c94c0 65 3a 20 54 68 65 20 58 50 47 20 73 74 61 6e 64 61 72 64 20 61 64 76 69 73 65 73 20 61 70 70 6c e:.The.XPG.standard.advises.appl
c94e0 69 63 61 74 69 6f 6e 73 20 74 6f 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 61 74 20 6c 65 61 73 ications.to.use..........at.leas
c9500 74 20 6f 6e 65 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 20 28 61 73 20 73 t.one.whitespace.character.(as.s
c9520 70 65 63 69 66 69 65 64 20 62 79 20 3c 43 4f 44 45 3e 69 73 73 70 61 63 65 3c 2f 43 4f 44 45 3e pecified.by.<CODE>isspace</CODE>
c9540 29 20 6f 72 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 6e 6f 6e 2d 61 6c 70 68 61 6e 75 6d ).or..........other.non-alphanum
c9560 65 72 69 63 20 63 68 61 72 61 63 74 65 72 73 20 62 65 74 77 65 65 6e 20 61 6e 79 20 74 77 6f 20 eric.characters.between.any.two.
c9580 63 6f 6e 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 63 61 74 69 6f conversion..........specificatio
c95a0 6e 73 2e 20 20 54 68 65 20 47 4e 55 20 43 20 4c 69 62 72 61 72 79 20 64 6f 65 73 20 6e 6f 74 20 ns...The.GNU.C.Library.does.not.
c95c0 68 61 76 65 20 74 68 69 73 20 6c 69 6d 69 74 61 74 69 6f 6e 20 62 75 74 0a 20 20 20 20 20 20 20 have.this.limitation.but........
c95e0 20 20 6f 74 68 65 72 20 6c 69 62 72 61 72 69 65 73 20 6d 69 67 68 74 20 68 61 76 65 20 74 72 6f ..other.libraries.might.have.tro
c9600 75 62 6c 65 20 70 61 72 73 69 6e 67 20 66 6f 72 6d 61 74 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 uble.parsing.formats.like.......
c9620 20 20 20 3c 43 4f 44 45 3e 22 25 64 25 6d 25 59 25 48 25 4d 25 53 22 3c 2f 43 4f 44 45 3e 2e 0a ...<CODE>"%d%m%Y%H%M%S"</CODE>..
c9640 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 70 .........<br><br>.The.<CODE>strp
c9660 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 65 73 20 74 time</CODE>.function.processes.t
c9680 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 72 69 67 68 74 20 74 6f 0a 20 20 he.input.string.from.right.to...
c96a0 20 20 20 20 20 20 20 6c 65 66 74 2e 20 20 45 61 63 68 20 6f 66 20 74 68 65 20 74 68 72 65 65 20 .......left...Each.of.the.three.
c96c0 70 6f 73 73 69 62 6c 65 20 69 6e 70 75 74 20 65 6c 65 6d 65 6e 74 73 20 28 77 68 69 74 65 20 73 possible.input.elements.(white.s
c96e0 70 61 63 65 2c 20 6c 69 74 65 72 61 6c 2c 0a 20 20 20 20 20 20 20 20 20 6f 72 20 66 6f 72 6d 61 pace,.literal,..........or.forma
c9700 74 29 20 61 72 65 20 68 61 6e 64 6c 65 64 20 6f 6e 65 20 61 66 74 65 72 20 74 68 65 20 6f 74 68 t).are.handled.one.after.the.oth
c9720 65 72 2e 20 20 49 66 20 74 68 65 20 69 6e 70 75 74 20 63 61 6e 6e 6f 74 20 62 65 0a 20 20 20 20 er...If.the.input.cannot.be.....
c9740 20 20 20 20 20 6d 61 74 63 68 65 64 20 74 6f 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e .....matched.to.the.format.strin
c9760 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 73 2e 20 20 54 68 65 20 72 65 6d 61 69 g.the.function.stops...The.remai
c9780 6e 64 65 72 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 20 61 6e 64 20 nder.of.the..........format.and.
c97a0 69 6e 70 75 74 20 73 74 72 69 6e 67 73 20 61 72 65 20 6e 6f 74 20 70 72 6f 63 65 73 73 65 64 2e input.strings.are.not.processed.
c97c0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 ..........<br><br>.The.function.
c97e0 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 63 returns.a.pointer.to.the.first.c
c9800 68 61 72 61 63 74 65 72 20 69 74 20 77 61 73 20 75 6e 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 20 haracter.it.was.unable.to.......
c9820 20 20 20 70 72 6f 63 65 73 73 2e 20 20 49 66 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 ...process...If.the.input.string
c9840 20 63 6f 6e 74 61 69 6e 73 20 6d 6f 72 65 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 6e 20 72 .contains.more.characters.than.r
c9860 65 71 75 69 72 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 6f 72 6d 61 74 20 73 equired.by..........the.format.s
c9880 74 72 69 6e 67 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 70 6f 69 6e 74 73 20 72 69 tring.the.return.value.points.ri
c98a0 67 68 74 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 20 63 6f 6e 73 75 6d 65 64 0a 20 20 20 20 ght.after.the.last.consumed.....
c98c0 20 20 20 20 20 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 2e 20 20 49 66 20 74 68 65 20 77 68 .....input.character...If.the.wh
c98e0 6f 6c 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 74 68 65 ole.input.string.is.consumed.the
c9900 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 73 20 74 6f .return.value..........points.to
c9920 20 74 68 65 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 62 79 74 65 20 61 74 20 74 .the.<CODE>NULL</CODE>.byte.at.t
c9940 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 20 20 49 66 20 61 6e 20 65 72 72 he.end.of.the.string...If.an.err
c9960 6f 72 0a 20 20 20 20 20 20 20 20 20 6f 63 63 75 72 73 2c 20 69 2e 65 2e 2c 20 3c 43 4f 44 45 3e or..........occurs,.i.e.,.<CODE>
c9980 73 74 72 70 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 61 69 6c 73 20 74 6f 20 6d 61 74 63 68 20 61 strptime</CODE>.fails.to.match.a
c99a0 6c 6c 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 20 20 20 ll.of.the.format.string,........
c99c0 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 4e 55 4c ..the.function.returns.<CODE>NUL
c99e0 4c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 L</CODE>..........sq.~......w...
c9a00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 1b a1 74 00 2d 63 6f 6e 73 74 20 63 68 61 72 20 2a ..t..time.hxq.~..t.-const.char.*
c9a20 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6d 74 2c 20 73 74 72 75 63 74 20 74 6d 20 2a 74 s,.const.char.*fmt,.struct.tm.*t
c9a40 70 74 00 06 63 68 61 72 20 2a 74 00 07 73 74 72 72 63 68 72 73 71 00 7e 00 0a 70 74 01 5b 0a 20 pt..char.*t..strrchrsq.~..pt.[..
c9a60 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 73 74 72 72 63 68 .......The.function.<CODE>strrch
c9a80 72 3c 2f 43 4f 44 45 3e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 72 63 68 72 3c 2f 43 r</CODE>.is.like.<CODE>strchr</C
c9aa0 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 73 65 61 72 63 68 65 73 0a 20 20 ODE>,.except.that.it.searches...
c9ac0 20 20 20 20 20 20 20 62 61 63 6b 77 61 72 64 73 20 66 72 6f 6d 20 74 68 65 20 65 6e 64 20 6f 66 .......backwards.from.the.end.of
c9ae0 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 28 69 .the.string.<VAR>string</VAR>.(i
c9b00 6e 73 74 65 61 64 20 6f 66 20 66 6f 72 77 61 72 64 73 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d nstead.of.forwards..........from
c9b20 20 74 68 65 20 66 72 6f 6e 74 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 .the.front)...........<br><br>.F
c9b40 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 or.example,..........<pre><br>..
c9b60 20 20 20 20 20 20 20 20 73 74 72 72 63 68 72 20 28 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 2c ........strrchr.("hello,.world",
c9b80 20 27 6c 27 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 64 22 3c 62 72 3e .'l')<br>..............."ld"<br>
c9ba0 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ..........</pre>.........sq.~...
c9bc0 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b a8 74 00 19 63 6f 6e ...w.....t..string.hxq.~..t..con
c9be0 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20 63 74 00 06 63 68 61 72 20 2a 74 st.char.*string,.int.ct..char.*t
c9c00 00 06 73 74 72 73 65 70 73 71 00 7e 00 0a 70 74 04 1c 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 ..strsepsq.~..pt...........This.
c9c20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 61 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 61 function.has.a.similar.functiona
c9c40 6c 69 74 79 20 61 73 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6b 5f 72 3c 2f 43 4f 44 45 3e 20 77 69 lity.as.<CODE>strtok_r</CODE>.wi
c9c60 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c 2f th.the..........<VAR>newstring</
c9c80 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 72 65 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 3c 56 VAR>.argument.replaced.by.the.<V
c9ca0 41 52 3e 73 61 76 65 5f 70 74 72 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 20 54 68 65 AR>save_ptr</VAR>.argument...The
c9cc0 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 ..........initialization.of.the.
c9ce0 6d 6f 76 69 6e 67 20 70 6f 69 6e 74 65 72 20 68 61 73 20 74 6f 20 62 65 20 64 6f 6e 65 20 62 79 moving.pointer.has.to.be.done.by
c9d00 20 74 68 65 20 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 53 75 63 63 65 73 73 69 76 65 20 63 .the.user...........Successive.c
c9d20 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 73 65 70 3c 2f 43 4f 44 45 3e 20 6d 6f 76 65 alls.to.<CODE>strsep</CODE>.move
c9d40 20 74 68 65 20 70 6f 69 6e 74 65 72 20 61 6c 6f 6e 67 20 74 68 65 20 74 6f 6b 65 6e 73 0a 20 20 .the.pointer.along.the.tokens...
c9d60 20 20 20 20 20 20 20 73 65 70 61 72 61 74 65 64 20 62 79 20 3c 56 41 52 3e 64 65 6c 69 6d 69 74 .......separated.by.<VAR>delimit
c9d80 65 72 3c 2f 56 41 52 3e 2c 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 61 64 64 72 65 73 73 20 er</VAR>,.returning.the.address.
c9da0 6f 66 20 74 68 65 20 6e 65 78 74 20 74 6f 6b 65 6e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 75 of.the.next.token..........and.u
c9dc0 70 64 61 74 69 6e 67 20 3c 56 41 52 3e 73 74 72 69 6e 67 5f 70 74 72 3c 2f 56 41 52 3e 20 74 6f pdating.<VAR>string_ptr</VAR>.to
c9de0 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6e .point.to.the.beginning.of.the.n
c9e00 65 78 74 0a 20 20 20 20 20 20 20 20 20 74 6f 6b 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ext..........token...........<br
c9e20 3e 3c 62 72 3e 20 4f 6e 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 3c 43 4f ><br>.One.difference.between.<CO
c9e40 44 45 3e 73 74 72 73 65 70 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 73 74 72 74 6f DE>strsep</CODE>.and.<CODE>strto
c9e60 6b 5f 72 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 61 74 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 k_r</CODE>.is.that.if.the.......
c9e80 20 20 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 73 20 6d 6f 72 65 20 74 68 ...input.string.contains.more.th
c9ea0 61 6e 20 6f 6e 65 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 3c 56 41 52 3e 64 65 6c 69 6d an.one.character.from.<VAR>delim
c9ec0 69 74 65 72 3c 2f 56 41 52 3e 20 69 6e 20 61 0a 20 20 20 20 20 20 20 20 20 72 6f 77 20 3c 43 4f iter</VAR>.in.a..........row.<CO
c9ee0 44 45 3e 73 74 72 73 65 70 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 6e 20 65 6d 70 74 DE>strsep</CODE>.returns.an.empt
c9f00 79 20 73 74 72 69 6e 67 20 66 6f 72 20 65 61 63 68 20 70 61 69 72 20 6f 66 20 63 68 61 72 61 63 y.string.for.each.pair.of.charac
c9f20 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 3c 56 41 52 3e 64 65 6c 69 6d 69 74 65 ters..........from.<VAR>delimite
c9f40 72 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 20 70 72 6f 67 r</VAR>...This.means.that.a.prog
c9f60 72 61 6d 20 6e 6f 72 6d 61 6c 6c 79 20 73 68 6f 75 6c 64 20 74 65 73 74 0a 20 20 20 20 20 20 20 ram.normally.should.test........
c9f80 20 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 73 65 70 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e ..for.<CODE>strsep</CODE>.return
c9fa0 69 6e 67 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 62 65 66 6f 72 65 20 70 72 6f 63 65 ing.an.empty.string.before.proce
c9fc0 73 73 69 6e 67 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 ssing.it...........<br><br>.This
c9fe0 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 34 2e 33 42 .function.was.introduced.in.4.3B
ca000 53 44 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 69 73 20 77 69 64 65 6c 79 20 61 76 61 69 6c SD.and.therefore.is.widely.avail
ca020 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 able..........sq.~......w.....t.
ca040 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b af 74 00 28 63 68 61 72 20 2a 2a 73 74 72 69 6e 67 5f .string.hxq.~..t.(char.**string_
ca060 70 74 72 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 65 6c 69 6d 69 74 65 72 74 00 06 63 68 61 ptr,.const.char.*delimitert..cha
ca080 72 20 2a 74 00 09 73 74 72 73 69 67 6e 61 6c 73 71 00 7e 00 0a 70 74 01 c8 0a 20 20 20 20 20 20 r.*t..strsignalsq.~..pt.........
ca0a0 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 ..This.function.returns.a.pointe
ca0c0 72 20 74 6f 20 61 20 73 74 61 74 69 63 61 6c 6c 79 2d 61 6c 6c 6f 63 61 74 65 64 20 73 74 72 69 r.to.a.statically-allocated.stri
ca0e0 6e 67 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 6d 65 73 73 61 67 65 ng..........containing.a.message
ca100 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 73 69 67 6e 61 6c 20 3c 56 41 52 3e 73 69 67 6e .describing.the.signal.<VAR>sign
ca120 75 6d 3c 2f 56 41 52 3e 2e 20 20 59 6f 75 0a 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 6e um</VAR>...You..........should.n
ca140 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 69 73 20 73 ot.modify.the.contents.of.this.s
ca160 74 72 69 6e 67 3b 20 61 6e 64 2c 20 73 69 6e 63 65 20 69 74 20 63 61 6e 20 62 65 0a 20 20 20 20 tring;.and,.since.it.can.be.....
ca180 20 20 20 20 20 72 65 77 72 69 74 74 65 6e 20 6f 6e 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c .....rewritten.on.subsequent.cal
ca1a0 6c 73 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 73 61 76 65 20 61 20 63 6f 70 79 20 6f 66 20 69 74 ls,.you.should.save.a.copy.of.it
ca1c0 20 69 66 20 79 6f 75 20 6e 65 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 72 65 66 65 72 65 6e .if.you.need..........to.referen
ca1e0 63 65 20 69 74 20 6c 61 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 ce.it.later...........<br><br>.T
ca200 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2c his.function.is.a.GNU.extension,
ca220 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 66 69 6c 65 0a 20 20 20 .declared.in.the.header.file....
ca240 20 20 20 20 20 20 3c 54 54 3e 73 74 72 69 6e 67 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 ......<TT>string.h</TT>.........
ca260 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 74 00 08 73 .sq.~......w.....t..signal.ht..s
ca280 74 72 69 6e 67 2e 68 78 71 00 7e 1b b6 74 00 0a 69 6e 74 20 73 69 67 6e 75 6d 74 00 06 63 68 61 tring.hxq.~..t..int.signumt..cha
ca2a0 72 20 2a 74 00 06 73 74 72 73 70 6e 73 71 00 7e 00 0a 70 74 03 22 0a 20 20 20 20 20 20 20 20 54 r.*t..strspnsq.~..pt.".........T
ca2c0 68 65 20 3c 43 4f 44 45 3e 73 74 72 73 70 6e 3c 2f 43 4f 44 45 3e 20 28 60 60 73 74 72 69 6e 67 he.<CODE>strspn</CODE>.(``string
ca2e0 20 73 70 61 6e 27 27 29 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 .span'').function.returns.the.le
ca300 6e 67 74 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 20 73 75 62 ngth.of.the..........initial.sub
ca320 73 74 72 69 6e 67 20 6f 66 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 74 68 61 74 string.of.<VAR>string</VAR>.that
ca340 20 63 6f 6e 73 69 73 74 73 20 65 6e 74 69 72 65 6c 79 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 .consists.entirely.of.characters
ca360 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 .that..........are.members.of.th
ca380 65 20 73 65 74 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 e.set.specified.by.the.string.<V
ca3a0 41 52 3e 73 6b 69 70 73 65 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 6f 72 64 65 72 0a 20 20 20 AR>skipset</VAR>...The.order....
ca3c0 20 20 20 20 20 20 6f 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 3c 56 41 52 3e ......of.the.characters.in.<VAR>
ca3e0 73 6b 69 70 73 65 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 69 6d 70 6f 72 74 61 6e 74 2e 0a skipset</VAR>.is.not.important..
ca400 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 .........<br><br>.For.example,..
ca420 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 73 70 ........<pre><br>..........strsp
ca440 6e 20 28 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 2c 20 22 61 62 63 64 65 66 67 68 69 6a 6b 6c n.("hello,.world",."abcdefghijkl
ca460 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 mnopqrstuvwxyz")<br>............
ca480 20 20 20 35 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 ...5<br>..........</pre>........
ca4a0 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 60 60 63 68 61 72 61 63 74 65 72 ..<br><br>.Note.that.``character
ca4c0 27 27 20 69 73 20 68 65 72 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 73 65 6e 73 65 20 6f 66 20 ''.is.here.used.in.the.sense.of.
ca4e0 62 79 74 65 2e 20 20 49 6e 20 61 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 75 73 69 6e byte...In.a.string..........usin
ca500 67 20 61 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 65 6e 63 6f 64 69 6e 67 g.a.multibyte.character.encoding
ca520 20 28 61 62 73 74 72 61 63 74 29 20 63 68 61 72 61 63 74 65 72 20 63 6f 6e 73 69 73 74 69 6e 67 .(abstract).character.consisting
ca540 20 6f 66 0a 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 62 79 74 65 20 .of..........more.than.one.byte.
ca560 61 72 65 20 6e 6f 74 20 74 72 65 61 74 65 64 20 61 73 20 61 6e 20 65 6e 74 69 74 79 2e 20 20 45 are.not.treated.as.an.entity...E
ca580 61 63 68 20 62 79 74 65 20 69 73 20 74 72 65 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 73 65 70 ach.byte.is.treated..........sep
ca5a0 61 72 61 74 65 6c 79 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 6c 6f arately...The.function.is.not.lo
ca5c0 63 61 6c 65 2d 64 65 70 65 6e 64 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 cale-dependent..........sq.~....
ca5e0 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b be 74 00 27 63 6f 6e 73 ..w.....t..string.hxq.~..t.'cons
ca600 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 6b 69 70 t.char.*string,.const.char.*skip
ca620 73 65 74 74 00 06 73 69 7a 65 5f 74 74 00 06 73 74 72 73 74 72 73 71 00 7e 00 0a 70 74 02 7f 0a sett..size_tt..strstrsq.~..pt...
ca640 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 72 63 68 ........This.is.like.<CODE>strch
ca660 72 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 73 65 61 72 63 68 65 r</CODE>,.except.that.it.searche
ca680 73 20 3c 56 41 52 3e 68 61 79 73 74 61 63 6b 3c 2f 56 41 52 3e 20 66 6f 72 20 61 0a 20 20 20 20 s.<VAR>haystack</VAR>.for.a.....
ca6a0 20 20 20 20 20 73 75 62 73 74 72 69 6e 67 20 3c 56 41 52 3e 6e 65 65 64 6c 65 3c 2f 56 41 52 3e .....substring.<VAR>needle</VAR>
ca6c0 20 72 61 74 68 65 72 20 74 68 61 6e 20 6a 75 73 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 .rather.than.just.a.single.chara
ca6e0 63 74 65 72 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 cter...It..........returns.a.poi
ca700 6e 74 65 72 20 69 6e 74 6f 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 68 61 79 73 74 61 nter.into.the.string.<VAR>haysta
ca720 63 6b 3c 2f 56 41 52 3e 20 74 68 61 74 20 69 73 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 ck</VAR>.that.is.the.first......
ca740 20 20 20 20 63 68 61 72 61 63 74 65 72 20 6f 66 20 74 68 65 20 73 75 62 73 74 72 69 6e 67 2c 20 ....character.of.the.substring,.
ca760 6f 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 6e 6f 20 6d 61 74 63 68 20 77 61 or.a.null.pointer.if.no.match.wa
ca780 73 20 66 6f 75 6e 64 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 65 65 64 6c s.found...If..........<VAR>needl
ca7a0 65 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 74 68 65 20 e</VAR>.is.an.empty.string,.the.
ca7c0 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 56 41 52 3e 68 61 79 73 74 61 63 6b 3c 2f function.returns.<VAR>haystack</
ca7e0 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d VAR>...........<br><br>.For.exam
ca800 70 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 ple,..........<pre><br>.........
ca820 20 73 74 72 73 74 72 20 28 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 2c 20 22 6c 22 29 3c 62 72 .strstr.("hello,.world",."l")<br
ca840 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 6c 6f 2c 20 77 6f 72 6c 64 22 3c 62 72 3e >..............."llo,.world"<br>
ca860 0a 20 20 20 20 20 20 20 20 20 73 74 72 73 74 72 20 28 22 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 ..........strstr.("hello,.world"
ca880 2c 20 22 77 6f 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 77 6f 72 6c 64 ,."wo")<br>..............."world
ca8a0 22 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 73 71 "<br>..........</pre>.........sq
ca8c0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1b c5 74 .~......w.....t..string.hxq.~..t
ca8e0 00 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 68 61 79 73 74 61 63 6b 2c 20 63 6f 6e 73 74 20 63 68 .(const.char.*haystack,.const.ch
ca900 61 72 20 2a 6e 65 65 64 6c 65 74 00 06 63 68 61 72 20 2a 74 00 06 73 74 72 74 6f 64 73 71 00 7e ar.*needlet..char.*t..strtodsq.~
ca920 00 0a 70 74 0e 3a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c ..pt.:.........The.<CODE>strtod<
ca940 2f 43 4f 44 45 3e 20 28 60 60 73 74 72 69 6e 67 2d 74 6f 2d 64 6f 75 62 6c 65 27 27 29 20 66 75 /CODE>.(``string-to-double'').fu
ca960 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 69 6e 69 74 69 61 6c 0a 20 20 20 20 nction.converts.the.initial.....
ca980 20 20 20 20 20 70 61 72 74 20 6f 66 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 74 .....part.of.<VAR>string</VAR>.t
ca9a0 6f 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2c 20 77 68 69 63 68 o.a.floating-point.number,.which
ca9c0 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 .is.returned.as.a..........value
ca9e0 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 .of.type.<CODE>double</CODE>....
caa00 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 74 .......<br><br>.This.function.at
caa20 74 65 6d 70 74 73 20 74 6f 20 64 65 63 6f 6d 70 6f 73 65 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c tempts.to.decompose.<VAR>string<
caa40 2f 56 41 52 3e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c /VAR>.as.follows:..........<br><
caa60 62 72 3e 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 br>.<OL>..........<LI>..........
caa80 41 20 28 70 6f 73 73 69 62 6c 79 20 65 6d 70 74 79 29 20 73 65 71 75 65 6e 63 65 20 6f 66 20 77 A.(possibly.empty).sequence.of.w
caaa0 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 57 68 69 63 68 20 63 68 61 hitespace.characters...Which.cha
caac0 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 77 68 69 74 65 73 70 61 63 65 20 racters..........are.whitespace.
caae0 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 69 73 73 70 61 is.determined.by.the.<CODE>isspa
cab00 63 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 2e 20 20 54 ce</CODE>.function.............T
cab20 68 65 73 65 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 hese.are.discarded...........<br
cab40 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 ><br>.<LI>..........An.optional.
cab60 70 6c 75 73 20 6f 72 20 6d 69 6e 75 73 20 73 69 67 6e 20 28 3c 73 61 6d 70 3e 2b 3c 2f 73 61 6d plus.or.minus.sign.(<samp>+</sam
cab80 70 3e 20 6f 72 20 3c 73 61 6d 70 3e 2d 3c 2f 73 61 6d 70 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 p>.or.<samp>-</samp>)...........
caba0 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 20 41 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e <br><br>.<LI>.A.floating.point.n
cabc0 75 6d 62 65 72 20 69 6e 20 64 65 63 69 6d 61 6c 20 6f 72 20 68 65 78 61 64 65 63 69 6d 61 6c 20 umber.in.decimal.or.hexadecimal.
cabe0 66 6f 72 6d 61 74 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 64 65 63 69 6d 61 6c 20 66 6f format...The..........decimal.fo
cac00 72 6d 61 74 20 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 20 20 20 20 rmat.is:..........<UL>..........
cac20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 20 6e 6f 6e 65 6d 70 74 <br><br>.<LI>..........A.nonempt
cac40 79 20 73 65 71 75 65 6e 63 65 20 6f 66 20 64 69 67 69 74 73 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 y.sequence.of.digits.optionally.
cac60 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 64 65 63 69 6d 61 6c 2d 70 6f 69 6e 74 0a 20 20 20 20 20 containing.a.decimal-point......
cac80 20 20 20 20 63 68 61 72 61 63 74 65 72 2d 2d 2d 6e 6f 72 6d 61 6c 6c 79 20 3c 73 61 6d 70 3e 2e ....character---normally.<samp>.
caca0 3c 2f 73 61 6d 70 3e 2c 20 62 75 74 20 69 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 6c </samp>,.but.it.depends.on.the.l
cacc0 6f 63 61 6c 65 0a 20 20 20 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ocale.....................<br><b
cace0 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 65 78 70 r>.<LI>..........An.optional.exp
cad00 6f 6e 65 6e 74 20 70 61 72 74 2c 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 61 20 63 68 61 72 onent.part,.consisting.of.a.char
cad20 61 63 74 65 72 20 3c 73 61 6d 70 3e 65 3c 2f 73 61 6d 70 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 acter.<samp>e</samp>.or.........
cad40 20 3c 73 61 6d 70 3e 45 3c 2f 73 61 6d 70 3e 2c 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 73 69 67 .<samp>E</samp>,.an.optional.sig
cad60 6e 2c 20 61 6e 64 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 64 69 67 69 74 73 2e 0a 20 20 20 n,.and.a.sequence.of.digits.....
cad80 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 55 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 ......<br><br>.</UL>..........<b
cada0 72 3e 3c 62 72 3e 20 54 68 65 20 68 65 78 61 64 65 63 69 6d 61 6c 20 66 6f 72 6d 61 74 20 69 73 r><br>.The.hexadecimal.format.is
cadc0 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 55 4c 3e 0a 20 20 20 20 20 .as.follows:..........<UL>......
cade0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 20 30 78 20 ....<br><br>.<LI>..........A.0x.
cae00 6f 72 20 30 58 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6e 6f 6e 65 6d 70 74 79 20 73 65 71 or.0X.followed.by.a.nonempty.seq
cae20 75 65 6e 63 65 20 6f 66 20 68 65 78 61 64 65 63 69 6d 61 6c 20 64 69 67 69 74 73 0a 20 20 20 20 uence.of.hexadecimal.digits.....
cae40 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 64 65 63 .....optionally.containing.a.dec
cae60 69 6d 61 6c 2d 70 6f 69 6e 74 20 63 68 61 72 61 63 74 65 72 2d 2d 2d 6e 6f 72 6d 61 6c 6c 79 20 imal-point.character---normally.
cae80 3c 73 61 6d 70 3e 2e 3c 2f 73 61 6d 70 3e 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 69 74 20 <samp>.</samp>,.but..........it.
caea0 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 6c 6f 63 61 6c 65 20 2e 0a 20 20 20 20 20 20 20 20 depends.on.the.locale...........
caec0 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 41 6e 20 6f 70 74 69 6f .<br><br>.<LI>..........An.optio
caee0 6e 61 6c 20 62 69 6e 61 72 79 2d 65 78 70 6f 6e 65 6e 74 20 70 61 72 74 2c 20 63 6f 6e 73 69 73 nal.binary-exponent.part,.consis
caf00 74 69 6e 67 20 6f 66 20 61 20 63 68 61 72 61 63 74 65 72 20 3c 73 61 6d 70 3e 70 3c 2f 73 61 6d ting.of.a.character.<samp>p</sam
caf20 70 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 50 3c 2f 73 61 6d 70 3e 2c 20 61 p>.or..........<samp>P</samp>,.a
caf40 6e 20 6f 70 74 69 6f 6e 61 6c 20 73 69 67 6e 2c 20 61 6e 64 20 61 20 73 65 71 75 65 6e 63 65 20 n.optional.sign,.and.a.sequence.
caf60 6f 66 20 64 69 67 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 55 of.digits...........<br><br>.</U
caf80 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 L>..........<br><br>.<LI>.......
cafa0 20 20 20 41 6e 79 20 72 65 6d 61 69 6e 69 6e 67 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 ...Any.remaining.characters.in.t
cafc0 68 65 20 73 74 72 69 6e 67 2e 20 20 49 66 20 3c 56 41 52 3e 74 61 69 6c 70 74 72 3c 2f 56 41 52 he.string...If.<VAR>tailptr</VAR
cafe0 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 >.is.not.a.null..........pointer
cb000 2c 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 69 73 20 74 61 69 6c 20 6f 66 20 74 68 65 20 ,.a.pointer.to.this.tail.of.the.
cb020 73 74 72 69 6e 67 20 69 73 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f string.is.stored.in..........<CO
cb040 44 45 3e 2a 3c 56 41 52 3e 74 61 69 6c 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 DE>*<VAR>tailptr</VAR></CODE>...
cb060 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ........</OL>..........<br><br>.
cb080 49 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 65 6d 70 74 79 2c 20 63 6f 6e 74 61 69 6e 73 If.the.string.is.empty,.contains
cb0a0 20 6f 6e 6c 79 20 77 68 69 74 65 73 70 61 63 65 2c 20 6f 72 20 64 6f 65 73 20 6e 6f 74 20 63 6f .only.whitespace,.or.does.not.co
cb0c0 6e 74 61 69 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 20 73 75 62 73 74 72 ntain.an..........initial.substr
cb0e0 69 6e 67 20 74 68 61 74 20 68 61 73 20 74 68 65 20 65 78 70 65 63 74 65 64 20 73 79 6e 74 61 78 ing.that.has.the.expected.syntax
cb100 20 66 6f 72 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 6e .for.a.floating-point..........n
cb120 75 6d 62 65 72 2c 20 6e 6f 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 umber,.no.conversion.is.performe
cb140 64 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c 2f d...In.this.case,.<CODE>strtod</
cb160 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 61 20 76 61 6c 75 65 20 6f CODE>.returns..........a.value.o
cb180 66 20 7a 65 72 6f 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 69 6e f.zero.and.the.value.returned.in
cb1a0 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 74 61 69 6c 70 74 72 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 .<CODE>*<VAR>tailptr</VAR></CODE
cb1c0 3e 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e >.is.the..........value.of.<VAR>
cb1e0 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 string</VAR>...........<br><br>.
cb200 49 6e 20 61 20 6c 6f 63 61 6c 65 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 73 74 61 6e 64 In.a.locale.other.than.the.stand
cb220 61 72 64 20 3c 43 4f 44 45 3e 22 43 22 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 22 50 ard.<CODE>"C"</CODE>.or.<CODE>"P
cb240 4f 53 49 58 22 3c 2f 43 4f 44 45 3e 20 6c 6f 63 61 6c 65 73 2c 0a 20 20 20 20 20 20 20 20 20 74 OSIX"</CODE>.locales,..........t
cb260 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 72 65 63 6f 67 6e 69 7a 65 20 61 64 64 69 74 his.function.may.recognize.addit
cb280 69 6f 6e 61 6c 20 6c 6f 63 61 6c 65 2d 64 65 70 65 6e 64 65 6e 74 20 73 79 6e 74 61 78 2e 0a 20 ional.locale-dependent.syntax...
cb2a0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 74 72 69 6e 67 20 68 ........<br><br>.If.the.string.h
cb2c0 61 73 20 76 61 6c 69 64 20 73 79 6e 74 61 78 20 66 6f 72 20 61 20 66 6c 6f 61 74 69 6e 67 2d 70 as.valid.syntax.for.a.floating-p
cb2e0 6f 69 6e 74 20 6e 75 6d 62 65 72 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 oint.number.but.the.value.......
cb300 20 20 20 69 73 20 6f 75 74 73 69 64 65 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 61 20 3c 43 4f ...is.outside.the.range.of.a.<CO
cb320 44 45 3e 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c 2f DE>double</CODE>,.<CODE>strtod</
cb340 43 4f 44 45 3e 20 77 69 6c 6c 20 73 69 67 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 66 CODE>.will.signal..........overf
cb360 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 6e low.or.underflow.as.described.in
cb380 20 4d 61 74 68 20 45 72 72 6f 72 20 52 65 70 6f 72 74 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 .Math.Error.Reporting...........
cb3a0 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e 20 72 65 63 <br><br>.<CODE>strtod</CODE>.rec
cb3c0 6f 67 6e 69 7a 65 73 20 66 6f 75 72 20 73 70 65 63 69 61 6c 20 69 6e 70 75 74 20 73 74 72 69 6e ognizes.four.special.input.strin
cb3e0 67 73 2e 20 20 54 68 65 20 73 74 72 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e gs...The.strings..........<CODE>
cb400 22 69 6e 66 22 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 22 69 6e 66 69 6e 69 74 79 "inf"</CODE>.and.<CODE>"infinity
cb420 22 3c 2f 43 4f 44 45 3e 20 61 72 65 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 69 6e 66 69 6e 69 "</CODE>.are.converted.to.infini
cb440 74 79 7b 7d 2c 0a 20 20 20 20 20 20 20 20 20 6f 72 20 74 6f 20 74 68 65 20 6c 61 72 67 65 73 74 ty{},..........or.to.the.largest
cb460 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 76 61 6c 75 65 20 69 66 20 74 68 65 20 66 6c 6f 61 .representable.value.if.the.floa
cb480 74 69 6e 67 2d 70 6f 69 6e 74 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 6e ting-point.format..........doesn
cb4a0 27 74 20 73 75 70 70 6f 72 74 20 69 6e 66 69 6e 69 74 69 65 73 2e 20 20 59 6f 75 20 63 61 6e 20 't.support.infinities...You.can.
cb4c0 70 72 65 70 65 6e 64 20 61 20 3c 43 4f 44 45 3e 22 2b 22 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 prepend.a.<CODE>"+"</CODE>.or.<C
cb4e0 4f 44 45 3e 22 2d 22 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 20 73 70 65 63 69 ODE>"-"</CODE>..........to.speci
cb500 66 79 20 74 68 65 20 73 69 67 6e 2e 20 20 43 61 73 65 20 69 73 20 69 67 6e 6f 72 65 64 20 77 68 fy.the.sign...Case.is.ignored.wh
cb520 65 6e 20 73 63 61 6e 6e 69 6e 67 20 74 68 65 73 65 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 en.scanning.these.strings.......
cb540 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 74 72 69 6e 67 73 20 3c 43 4f 44 45 3e 22 ....<br><br>.The.strings.<CODE>"
cb560 6e 61 6e 22 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 22 6e 61 6e 28 3c 56 41 52 3e nan"</CODE>.and.<CODE>"nan(<VAR>
cb580 63 68 61 72 73 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 29 22 20 61 72 65 20 63 6f 6e 76 65 72 74 chars</VAR></CODE>)".are.convert
cb5a0 65 64 0a 20 20 20 20 20 20 20 20 20 74 6f 20 4e 61 4e 2e 20 20 41 67 61 69 6e 2c 20 63 61 73 65 ed..........to.NaN...Again,.case
cb5c0 20 69 73 20 69 67 6e 6f 72 65 64 2e 20 20 49 66 20 3c 56 41 52 3e 63 68 61 72 73 3c 2f 56 41 52 .is.ignored...If.<VAR>chars</VAR
cb5e0 3e 20 61 72 65 20 70 72 6f 76 69 64 65 64 2c 20 74 68 65 79 0a 20 20 20 20 20 20 20 20 20 61 72 >.are.provided,.they..........ar
cb600 65 20 75 73 65 64 20 69 6e 20 73 6f 6d 65 20 75 6e 73 70 65 63 69 66 69 65 64 20 66 61 73 68 69 e.used.in.some.unspecified.fashi
cb620 6f 6e 20 74 6f 20 73 65 6c 65 63 74 20 61 20 70 61 72 74 69 63 75 6c 61 72 0a 20 20 20 20 20 20 on.to.select.a.particular.......
cb640 20 20 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 4e 61 4e 20 28 74 68 65 72 65 20 ...representation.of.NaN.(there.
cb660 63 61 6e 20 62 65 20 73 65 76 65 72 61 6c 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 can.be.several)...........<br><b
cb680 72 3e 20 53 69 6e 63 65 20 7a 65 72 6f 20 69 73 20 61 20 76 61 6c 69 64 20 72 65 73 75 6c 74 20 r>.Since.zero.is.a.valid.result.
cb6a0 61 73 20 77 65 6c 6c 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 6f 6e as.well.as.the.value.returned.on
cb6c0 20 65 72 72 6f 72 2c 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 73 68 6f 75 6c 64 20 63 68 65 63 .error,.you..........should.chec
cb6e0 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 61 73 20 k.for.errors.in.the.same.way.as.
cb700 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 2c 20 62 79 0a 20 20 20 20 for.<CODE>strtol</CODE>,.by.....
cb720 20 20 20 20 20 65 78 61 6d 69 6e 69 6e 67 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 .....examining.<VAR>errno</VAR>.
cb740 61 6e 64 20 3c 56 41 52 3e 74 61 69 6c 70 74 72 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 and.<VAR>tailptr</VAR>..........
cb760 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1b sq.~......w.....t..stdlib.hxq.~.
cb780 cc 74 00 34 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c .t.4const.char.*restrict.string,
cb7a0 20 63 68 61 72 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 74 00 06 64 6f 75 62 6c .char.**restrict.tailptrt..doubl
cb7c0 65 74 00 06 73 74 72 74 6f 66 73 71 00 7e 00 0a 70 74 02 41 0a 20 20 20 20 20 20 20 20 54 68 65 et..strtofsq.~..pt.A.........The
cb7e0 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 3c 43 se.functions.are.analogous.to.<C
cb800 4f 44 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 72 65 74 75 72 6e 20 3c 43 ODE>strtod</CODE>,.but.return.<C
cb820 4f 44 45 3e 66 6c 6f 61 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 ODE>float</CODE>..........and.<C
cb840 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 20 72 65 ODE>long.double</CODE>.values.re
cb860 73 70 65 63 74 69 76 65 6c 79 2e 20 20 54 68 65 79 20 72 65 70 6f 72 74 20 65 72 72 6f 72 73 20 spectively...They.report.errors.
cb880 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 61 6d 65 20 77 61 79 20 61 73 20 3c 43 4f 44 in.the..........same.way.as.<COD
cb8a0 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e 2e 20 20 3c 43 4f 44 45 3e 73 74 72 74 6f 66 3c 2f E>strtod</CODE>...<CODE>strtof</
cb8c0 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 66 61 73 74 65 CODE>.can.be.substantially.faste
cb8e0 72 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c 2f 43 4f r..........than.<CODE>strtod</CO
cb900 44 45 3e 2c 20 62 75 74 20 68 61 73 20 6c 65 73 73 20 70 72 65 63 69 73 69 6f 6e 3b 20 63 6f 6e DE>,.but.has.less.precision;.con
cb920 76 65 72 73 65 6c 79 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 64 3c 2f 43 4f 44 45 3e 0a 20 20 versely,.<CODE>strtold</CODE>...
cb940 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 6d 75 63 68 20 73 6c 6f 77 65 72 20 62 75 74 20 68 61 .......can.be.much.slower.but.ha
cb960 73 20 6d 6f 72 65 20 70 72 65 63 69 73 69 6f 6e 20 28 6f 6e 20 73 79 73 74 65 6d 73 20 77 68 65 s.more.precision.(on.systems.whe
cb980 72 65 20 3c 43 4f 44 45 3e 6c 6f 6e 67 0a 20 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 3c 2f 43 re.<CODE>long..........double</C
cb9a0 4f 44 45 3e 20 69 73 20 61 20 73 65 70 61 72 61 74 65 20 74 79 70 65 29 2e 0a 20 20 20 20 20 20 ODE>.is.a.separate.type)........
cb9c0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 68 61 76 65 ...<br><br>.These.functions.have
cb9e0 20 62 65 65 6e 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 73 20 61 6e 64 20 61 72 65 20 6e 65 77 .been.GNU.extensions.and.are.new
cba00 20 74 6f 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 .to.ISO.C99..........sq.~......w
cba20 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1b d3 74 00 22 63 6f 6e 73 74 20 63 .....t..stdlib.hxq.~..t."const.c
cba40 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 63 68 61 72 20 2a 2a 74 61 69 6c 70 74 72 74 00 05 66 6c har.*string,.char.**tailptrt..fl
cba60 6f 61 74 74 00 09 73 74 72 74 6f 69 6d 61 78 73 71 00 7e 00 0a 70 74 02 d4 0a 20 20 20 20 20 20 oatt..strtoimaxsq.~..pt.........
cba80 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 69 6d 61 78 3c 2f 43 4f 44 45 3e 20 66 75 6e ..The.<CODE>strtoimax</CODE>.fun
cbaa0 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 ction.is.like.<CODE>strtol</CODE
cbac0 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 >.except.that.it.returns........
cbae0 20 20 61 20 3c 43 4f 44 45 3e 69 6e 74 6d 61 78 5f 74 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 2c ..a.<CODE>intmax_t</CODE>.value,
cbb00 20 61 6e 64 20 61 63 63 65 70 74 73 20 6e 75 6d 62 65 72 73 20 6f 66 20 61 20 63 6f 72 72 65 73 .and.accepts.numbers.of.a.corres
cbb20 70 6f 6e 64 69 6e 67 20 72 61 6e 67 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ponding.range...........<br><br>
cbb40 20 49 66 20 74 68 65 20 73 74 72 69 6e 67 20 68 61 73 20 76 61 6c 69 64 20 73 79 6e 74 61 78 20 .If.the.string.has.valid.syntax.
cbb60 66 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 for.an.integer.but.the.value.is.
cbb80 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 62 65 63 61 75 not..........representable.becau
cbba0 73 65 20 6f 66 20 6f 76 65 72 66 6c 6f 77 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 69 6d 61 78 3c se.of.overflow,.<CODE>strtoimax<
cbbc0 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3c /CODE>.returns.either..........<
cbbe0 43 4f 44 45 3e 49 4e 54 4d 41 58 5f 4d 41 58 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e CODE>INTMAX_MAX</CODE>.or.<CODE>
cbc00 49 4e 54 4d 41 58 5f 4d 49 4e 3c 2f 43 4f 44 45 3e 20 2c 20 61 73 0a 20 20 20 20 20 20 20 20 20 INTMAX_MIN</CODE>.,.as..........
cbc20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 74 68 65 20 73 69 67 6e 20 6f 66 20 74 68 65 20 appropriate.for.the.sign.of.the.
cbc40 76 61 6c 75 65 2e 20 20 49 74 20 61 6c 73 6f 20 73 65 74 73 20 3c 43 4f 44 45 3e 65 72 72 6e 6f value...It.also.sets.<CODE>errno
cbc60 3c 2f 43 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 52 41 4e 47 45 </CODE>.to..........<CODE>ERANGE
cbc80 3c 2f 43 4f 44 45 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 65 72 65 20 77 61 73 20 6f 76 </CODE>.to.indicate.there.was.ov
cbca0 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 65 65 20 49 6e erflow...........<br><br>.See.In
cbcc0 74 65 67 65 72 73 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 tegers.for.a.description.of.the.
cbce0 3c 43 4f 44 45 3e 69 6e 74 6d 61 78 5f 74 3c 2f 43 4f 44 45 3e 20 74 79 70 65 2e 20 20 54 68 65 <CODE>intmax_t</CODE>.type...The
cbd00 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 74 6f 69 6d 61 78 3c 2f 43 4f 44 45 3e ..........<CODE>strtoimax</CODE>
cbd20 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 49 53 4f 20 .function.was.introduced.in.ISO.
cbd40 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a C99..........sq.~......w.....t..
cbd60 69 6e 74 74 79 70 65 73 2e 68 78 71 00 7e 1b da 74 00 3e 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 inttypes.hxq.~..t.>const.char.*r
cbd80 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 63 68 61 72 20 2a 2a 72 65 73 74 72 69 63 74 20 estrict.string,.char.**restrict.
cbda0 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 00 08 69 6e 74 6d 61 78 5f 74 74 00 06 73 tailptr,.int.baset..intmax_tt..s
cbdc0 74 72 74 6f 6b 73 71 00 7e 00 0a 70 74 09 15 0a 20 20 20 20 20 20 20 20 41 20 73 74 72 69 6e 67 trtoksq.~..pt...........A.string
cbde0 20 63 61 6e 20 62 65 20 73 70 6c 69 74 20 69 6e 74 6f 20 74 6f 6b 65 6e 73 20 62 79 20 6d 61 6b .can.be.split.into.tokens.by.mak
cbe00 69 6e 67 20 61 20 73 65 72 69 65 73 20 6f 66 20 63 61 6c 6c 73 20 74 6f 20 74 68 65 0a 20 20 20 ing.a.series.of.calls.to.the....
cbe20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6b 3c 2f 43 4f 44 ......function.<CODE>strtok</COD
cbe40 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 74 72 69 6e 67 E>...........<br><br>.The.string
cbe60 20 74 6f 20 62 65 20 73 70 6c 69 74 20 75 70 20 69 73 20 70 61 73 73 65 64 20 61 73 20 74 68 65 .to.be.split.up.is.passed.as.the
cbe80 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6f .<VAR>newstring</VAR>.argument.o
cbea0 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 72 73 74 20 63 61 6c 6c 20 6f 6e 6c 79 2e 20 n..........the.first.call.only..
cbec0 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f .The.<CODE>strtok</CODE>.functio
cbee0 6e 20 75 73 65 73 20 74 68 69 73 20 74 6f 20 73 65 74 20 75 70 0a 20 20 20 20 20 20 20 20 20 73 n.uses.this.to.set.up..........s
cbf00 6f 6d 65 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 ome.internal.state.information..
cbf20 20 53 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 67 65 74 20 61 64 64 69 74 69 6f .Subsequent.calls.to.get.additio
cbf40 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 74 6f 6b 65 6e 73 20 66 72 6f 6d 20 74 68 65 20 73 61 6d nal..........tokens.from.the.sam
cbf60 65 20 73 74 72 69 6e 67 20 61 72 65 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 70 61 73 73 69 6e e.string.are.indicated.by.passin
cbf80 67 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 61 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 g.a.null.pointer.as..........the
cbfa0 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 .<VAR>newstring</VAR>.argument..
cbfc0 20 43 61 6c 6c 69 6e 67 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6b 3c 2f 43 4f 44 45 3e 20 77 69 74 .Calling.<CODE>strtok</CODE>.wit
cbfe0 68 20 61 6e 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 2d 6e 75 6c 6c 20 3c 56 41 52 h.another..........non-null.<VAR
cc000 3e 6e 65 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 72 65 69 6e 69 74 >newstring</VAR>.argument.reinit
cc020 69 61 6c 69 7a 65 73 20 74 68 65 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 ializes.the.state.information...
cc040 20 20 20 20 20 20 20 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 68 61 74 20 6e 6f ........It.is.guaranteed.that.no
cc060 20 6f 74 68 65 72 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 65 76 65 72 20 63 61 6c .other.library.function.ever.cal
cc080 6c 73 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6b 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 ls.<CODE>strtok</CODE>..........
cc0a0 62 65 68 69 6e 64 20 79 6f 75 72 20 62 61 63 6b 20 28 77 68 69 63 68 20 77 6f 75 6c 64 20 6d 65 behind.your.back.(which.would.me
cc0c0 73 73 20 75 70 20 74 68 69 73 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 65 20 69 6e 66 6f 72 6d ss.up.this.internal.state.inform
cc0e0 61 74 69 6f 6e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 ation)...........<br><br>.The.<V
cc100 41 52 3e 64 65 6c 69 6d 69 74 65 72 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 AR>delimiters</VAR>.argument.is.
cc120 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 73 70 65 63 69 66 69 65 73 20 61 20 73 65 74 20 6f 66 a.string.that.specifies.a.set.of
cc140 20 64 65 6c 69 6d 69 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 6d 61 79 20 73 75 .delimiters..........that.may.su
cc160 72 72 6f 75 6e 64 20 74 68 65 20 74 6f 6b 65 6e 20 62 65 69 6e 67 20 65 78 74 72 61 63 74 65 64 rround.the.token.being.extracted
cc180 2e 20 20 41 6c 6c 20 74 68 65 20 69 6e 69 74 69 61 6c 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 ...All.the.initial.characters...
cc1a0 20 20 20 20 20 20 20 74 68 61 74 20 61 72 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 69 73 20 .......that.are.members.of.this.
cc1c0 73 65 74 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 20 20 54 68 65 20 66 69 72 73 74 20 63 68 set.are.discarded...The.first.ch
cc1e0 61 72 61 63 74 65 72 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 45 4d 3e 6e 6f 74 aracter.that.is..........<EM>not
cc200 3c 2f 45 4d 3e 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 69 73 20 73 65 74 20 6f 66 20 64 65 </EM>.a.member.of.this.set.of.de
cc220 6c 69 6d 69 74 65 72 73 20 6d 61 72 6b 73 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 limiters.marks.the.beginning.of.
cc240 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 65 78 74 20 74 6f 6b 65 6e 2e 20 20 54 68 65 20 65 6e the..........next.token...The.en
cc260 64 20 6f 66 20 74 68 65 20 74 6f 6b 65 6e 20 69 73 20 66 6f 75 6e 64 20 62 79 20 6c 6f 6f 6b 69 d.of.the.token.is.found.by.looki
cc280 6e 67 20 66 6f 72 20 74 68 65 20 6e 65 78 74 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 ng.for.the.next..........charact
cc2a0 65 72 20 74 68 61 74 20 69 73 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 64 65 6c 69 6d er.that.is.a.member.of.the.delim
cc2c0 69 74 65 72 20 73 65 74 2e 20 20 54 68 69 73 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 iter.set...This.character.in.the
cc2e0 0a 20 20 20 20 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 6e ..........original.string.<VAR>n
cc300 65 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 73 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 ewstring</VAR>.is.overwritten.by
cc320 20 61 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 2c 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 .a.null.character,.and.the......
cc340 20 20 20 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 ....pointer.to.the.beginning.of.
cc360 74 68 65 20 74 6f 6b 65 6e 20 69 6e 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c 2f 56 41 52 the.token.in.<VAR>newstring</VAR
cc380 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e >.is.returned...........<br><br>
cc3a0 20 4f 6e 20 74 68 65 20 6e 65 78 74 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 74 6f .On.the.next.call.to.<CODE>strto
cc3c0 6b 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 73 65 61 72 63 68 69 6e 67 20 62 65 67 69 6e 73 20 61 k</CODE>,.the.searching.begins.a
cc3e0 74 20 74 68 65 20 6e 65 78 74 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 62 65 t.the.next..........character.be
cc400 79 6f 6e 64 20 74 68 65 20 6f 6e 65 20 74 68 61 74 20 6d 61 72 6b 65 64 20 74 68 65 20 65 6e 64 yond.the.one.that.marked.the.end
cc420 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 74 6f 6b 65 6e 2e 0a 20 20 20 20 20 20 20 20 .of.the.previous.token..........
cc440 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 73 65 74 20 6f 66 20 64 65 6c 69 6d 69 74 65 72 73 .Note.that.the.set.of.delimiters
cc460 20 3c 56 41 52 3e 64 65 6c 69 6d 69 74 65 72 73 3c 2f 56 41 52 3e 20 64 6f 20 6e 6f 74 20 68 61 .<VAR>delimiters</VAR>.do.not.ha
cc480 76 65 20 74 6f 20 62 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 61 6d 65 20 6f 6e 20 65 76 ve.to.be.the..........same.on.ev
cc4a0 65 72 79 20 63 61 6c 6c 20 69 6e 20 61 20 73 65 72 69 65 73 20 6f 66 20 63 61 6c 6c 73 20 74 6f ery.call.in.a.series.of.calls.to
cc4c0 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6b 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c .<CODE>strtok</CODE>...........<
cc4e0 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 br><br>.If.the.end.of.the.string
cc500 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 73 20 72 65 61 63 68 65 64 .<VAR>newstring</VAR>.is.reached
cc520 2c 20 6f 72 20 69 66 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20 6f 66 0a 20 20 20 20 20 20 20 ,.or.if.the.remainder.of........
cc540 20 20 73 74 72 69 6e 67 20 63 6f 6e 73 69 73 74 73 20 6f 6e 6c 79 20 6f 66 20 64 65 6c 69 6d 69 ..string.consists.only.of.delimi
cc560 74 65 72 20 63 68 61 72 61 63 74 65 72 73 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6b 3c 2f 43 4f ter.characters,.<CODE>strtok</CO
cc580 44 45 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 61 20 6e 75 6c 6c 20 70 6f 69 6e DE>.returns..........a.null.poin
cc5a0 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 ter...........<br><br>.Note.that
cc5c0 20 60 60 63 68 61 72 61 63 74 65 72 27 27 20 69 73 20 68 65 72 65 20 75 73 65 64 20 69 6e 20 74 .``character''.is.here.used.in.t
cc5e0 68 65 20 73 65 6e 73 65 20 6f 66 20 62 79 74 65 2e 20 20 49 6e 20 61 20 73 74 72 69 6e 67 0a 20 he.sense.of.byte...In.a.string..
cc600 20 20 20 20 20 20 20 20 75 73 69 6e 67 20 61 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 ........using.a.multibyte.charac
cc620 74 65 72 20 65 6e 63 6f 64 69 6e 67 20 28 61 62 73 74 72 61 63 74 29 20 63 68 61 72 61 63 74 65 ter.encoding.(abstract).characte
cc640 72 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 0a 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 74 68 r.consisting.of..........more.th
cc660 61 6e 20 6f 6e 65 20 62 79 74 65 20 61 72 65 20 6e 6f 74 20 74 72 65 61 74 65 64 20 61 73 20 61 an.one.byte.are.not.treated.as.a
cc680 6e 20 65 6e 74 69 74 79 2e 20 20 45 61 63 68 20 62 79 74 65 20 69 73 20 74 72 65 61 74 65 64 0a n.entity...Each.byte.is.treated.
cc6a0 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 65 6c 79 2e 20 20 54 68 65 20 66 75 6e 63 74 69 .........separately...The.functi
cc6c0 6f 6e 20 69 73 20 6e 6f 74 20 6c 6f 63 61 6c 65 2d 64 65 70 65 6e 64 65 6e 74 2e 0a 20 20 20 20 on.is.not.locale-dependent......
cc6e0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 ....sq.~......w.....t..string.hx
cc700 71 00 7e 1b e1 74 00 39 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 6e 65 77 73 74 72 69 6e 67 q.~..t.9char.*restrict.newstring
cc720 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 64 65 6c 69 6d 69 74 65 72 ,.const.char.*restrict.delimiter
cc740 73 74 00 06 63 68 61 72 20 2a 74 00 08 73 74 72 74 6f 6b 5f 72 73 71 00 7e 00 0a 70 74 02 c2 0a st..char.*t..strtok_rsq.~..pt...
cc760 20 20 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6b 3c 2f ........Just.like.<CODE>strtok</
cc780 43 4f 44 45 3e 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 70 6c 69 74 73 20 74 68 65 20 CODE>,.this.function.splits.the.
cc7a0 73 74 72 69 6e 67 20 69 6e 74 6f 20 73 65 76 65 72 61 6c 0a 20 20 20 20 20 20 20 20 20 74 6f 6b string.into.several..........tok
cc7c0 65 6e 73 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 62 79 20 73 75 63 ens.which.can.be.accessed.by.suc
cc7e0 63 65 73 73 69 76 65 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6b 5f 72 3c cessive.calls.to.<CODE>strtok_r<
cc800 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 /CODE>...........The.difference.
cc820 69 73 20 74 68 61 74 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 is.that.the.information.about.th
cc840 65 20 6e 65 78 74 20 74 6f 6b 65 6e 20 69 73 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 20 20 20 20 e.next.token.is.stored.in.......
cc860 20 20 20 74 68 65 20 73 70 61 63 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 74 68 65 20 74 ...the.space.pointed.to.by.the.t
cc880 68 69 72 64 20 61 72 67 75 6d 65 6e 74 2c 20 3c 56 41 52 3e 73 61 76 65 5f 70 74 72 3c 2f 56 41 hird.argument,.<VAR>save_ptr</VA
cc8a0 52 3e 2c 20 77 68 69 63 68 20 69 73 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 R>,.which.is.a..........pointer.
cc8c0 74 6f 20 61 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 2e 20 20 43 61 6c 6c 69 6e 67 20 3c 43 to.a.string.pointer...Calling.<C
cc8e0 4f 44 45 3e 73 74 72 74 6f 6b 5f 72 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 20 6e 75 6c 6c 0a ODE>strtok_r</CODE>.with.a.null.
cc900 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 66 6f 72 20 3c 56 41 52 3e 6e 65 77 73 74 72 .........pointer.for.<VAR>newstr
cc920 69 6e 67 3c 2f 56 41 52 3e 20 61 6e 64 20 6c 65 61 76 69 6e 67 20 3c 56 41 52 3e 73 61 76 65 5f ing</VAR>.and.leaving.<VAR>save_
cc940 70 74 72 3c 2f 56 41 52 3e 20 62 65 74 77 65 65 6e 20 74 68 65 20 63 61 6c 6c 73 0a 20 20 20 20 ptr</VAR>.between.the.calls.....
cc960 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 20 64 6f 65 73 20 74 68 65 20 6a 6f 62 20 77 69 74 68 .....unchanged.does.the.job.with
cc980 6f 75 74 20 68 69 6e 64 65 72 69 6e 67 20 72 65 65 6e 74 72 61 6e 63 79 2e 0a 20 20 20 20 20 20 out.hindering.reentrancy........
cc9a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 ...<br><br>.This.function.is.def
cc9c0 69 6e 65 64 20 69 6e 20 50 4f 53 49 58 2e 31 20 61 6e 64 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 ined.in.POSIX.1.and.can.be.found
cc9e0 20 6f 6e 20 6d 61 6e 79 20 73 79 73 74 65 6d 73 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 .on.many.systems..........which.
cca00 73 75 70 70 6f 72 74 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 69 6e 67 2e 0a 20 20 20 20 20 20 20 support.multi-threading.........
cca20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e .sq.~......w.....t..string.hxq.~
cca40 1b e8 74 00 38 63 68 61 72 20 2a 6e 65 77 73 74 72 69 6e 67 2c 20 63 6f 6e 73 74 20 63 68 61 72 ..t.8char.*newstring,.const.char
cca60 20 2a 64 65 6c 69 6d 69 74 65 72 73 2c 20 63 68 61 72 20 2a 2a 73 61 76 65 5f 70 74 72 74 00 06 .*delimiters,.char.**save_ptrt..
cca80 63 68 61 72 20 2a 74 00 06 73 74 72 74 6f 6c 73 71 00 7e 00 0a 70 74 0c 8b 0a 20 20 20 20 20 20 char.*t..strtolsq.~..pt.........
ccaa0 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 20 28 60 60 73 74 72 ..The.<CODE>strtol</CODE>.(``str
ccac0 69 6e 67 2d 74 6f 2d 6c 6f 6e 67 27 27 29 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 ing-to-long'').function.converts
ccae0 20 74 68 65 20 69 6e 69 74 69 61 6c 0a 20 20 20 20 20 20 20 20 20 70 61 72 74 20 6f 66 20 3c 56 .the.initial..........part.of.<V
ccb00 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 74 6f 20 61 20 73 69 67 6e 65 64 20 69 6e 74 65 AR>string</VAR>.to.a.signed.inte
ccb20 67 65 72 2c 20 77 68 69 63 68 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 76 61 6c 75 ger,.which.is.returned.as.a.valu
ccb40 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 6e e..........of.type.<CODE>long.in
ccb60 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 t</CODE>...........<br><br>.This
ccb80 20 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 65 63 6f 6d 70 6f 73 65 20 .function.attempts.to.decompose.
ccba0 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 20 20 <VAR>string</VAR>.as.follows:...
ccbc0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c .......<br><br>.<OL>..........<L
ccbe0 49 3e 0a 20 20 20 20 20 20 20 20 20 41 20 28 70 6f 73 73 69 62 6c 79 20 65 6d 70 74 79 29 20 73 I>..........A.(possibly.empty).s
ccc00 65 71 75 65 6e 63 65 20 6f 66 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 equence.of.whitespace.characters
ccc20 2e 20 20 57 68 69 63 68 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 ...Which.characters..........are
ccc40 20 77 68 69 74 65 73 70 61 63 65 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 .whitespace.is.determined.by.the
ccc60 20 3c 43 4f 44 45 3e 69 73 73 70 61 63 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 .<CODE>isspace</CODE>.function..
ccc80 20 20 20 20 20 20 20 20 2e 20 20 54 68 65 73 65 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a ...........These.are.discarded..
ccca0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 .........<br><br>.<LI>..........
cccc0 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6c 75 73 20 6f 72 20 6d 69 6e 75 73 20 73 69 67 6e 20 28 An.optional.plus.or.minus.sign.(
ccce0 3c 73 61 6d 70 3e 2b 3c 2f 73 61 6d 70 3e 20 6f 72 20 3c 73 61 6d 70 3e 2d 3c 2f 73 61 6d 70 3e <samp>+</samp>.or.<samp>-</samp>
ccd00 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 )...........<br><br>.<LI>.......
ccd20 20 20 20 41 20 6e 6f 6e 65 6d 70 74 79 20 73 65 71 75 65 6e 63 65 20 6f 66 20 64 69 67 69 74 73 ...A.nonempty.sequence.of.digits
ccd40 20 69 6e 20 74 68 65 20 72 61 64 69 78 20 73 70 65 63 69 66 69 65 64 20 62 79 20 3c 56 41 52 3e .in.the.radix.specified.by.<VAR>
ccd60 62 61 73 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 base</VAR>...........<br><br>.If
ccd80 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 20 64 65 63 69 6d 61 .<VAR>base</VAR>.is.zero,.decima
ccda0 6c 20 72 61 64 69 78 20 69 73 20 61 73 73 75 6d 65 64 20 75 6e 6c 65 73 73 20 74 68 65 20 73 65 l.radix.is.assumed.unless.the.se
ccdc0 72 69 65 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 64 69 67 69 74 73 20 62 65 67 69 6e 73 20 77 ries.of..........digits.begins.w
ccde0 69 74 68 20 3c 73 61 6d 70 3e 30 3c 2f 73 61 6d 70 3e 20 28 73 70 65 63 69 66 79 69 6e 67 20 6f ith.<samp>0</samp>.(specifying.o
cce00 63 74 61 6c 20 72 61 64 69 78 29 2c 20 6f 72 20 3c 73 61 6d 70 3e 30 78 3c 2f 73 61 6d 70 3e 20 ctal.radix),.or.<samp>0x</samp>.
cce20 6f 72 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 30 58 3c 2f 73 61 6d 70 3e 20 28 73 70 65 or..........<samp>0X</samp>.(spe
cce40 63 69 66 79 69 6e 67 20 68 65 78 61 64 65 63 69 6d 61 6c 20 72 61 64 69 78 29 3b 20 69 6e 20 6f cifying.hexadecimal.radix);.in.o
cce60 74 68 65 72 20 77 6f 72 64 73 2c 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 73 79 ther.words,.the.same..........sy
cce80 6e 74 61 78 20 75 73 65 64 20 66 6f 72 20 69 6e 74 65 67 65 72 20 63 6f 6e 73 74 61 6e 74 73 20 ntax.used.for.integer.constants.
ccea0 69 6e 20 43 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 74 68 65 72 77 69 73 in.C...........<br><br>.Otherwis
ccec0 65 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 20 6d 75 73 74 20 68 61 76 65 20 61 20 76 61 e.<VAR>base</VAR>.must.have.a.va
ccee0 6c 75 65 20 62 65 74 77 65 65 6e 20 3c 43 4f 44 45 3e 32 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c lue.between.<CODE>2</CODE>.and.<
ccf00 43 4f 44 45 3e 33 36 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 3c 56 41 52 CODE>36</CODE>...........If.<VAR
ccf20 3e 62 61 73 65 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 31 36 3c 2f 43 4f 44 45 3e 2c 20 >base</VAR>.is.<CODE>16</CODE>,.
ccf40 74 68 65 20 64 69 67 69 74 73 20 6d 61 79 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 65 20 70 72 65 the.digits.may.optionally.be.pre
ccf60 63 65 64 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 73 61 6d 70 3e 30 78 3c 2f 73 61 6d 70 ceded.by..........<samp>0x</samp
ccf80 3e 20 6f 72 20 3c 73 61 6d 70 3e 30 58 3c 2f 73 61 6d 70 3e 2e 20 20 49 66 20 62 61 73 65 20 68 >.or.<samp>0X</samp>...If.base.h
ccfa0 61 73 20 6e 6f 20 6c 65 67 61 6c 20 76 61 6c 75 65 20 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 as.no.legal.value.the.value.retu
ccfc0 72 6e 65 64 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f 44 45 3e 30 6c 3c 2f 43 4f 44 45 3e rned..........is.<CODE>0l</CODE>
ccfe0 20 61 6e 64 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 .and.the.global.variable.<CODE>e
cd000 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 74 6f 20 3c 43 4f 44 45 3e 45 49 4e 56 rrno</CODE>.is.set.to.<CODE>EINV
cd020 41 4c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 AL</CODE>...........<br><br>.<LI
cd040 3e 0a 20 20 20 20 20 20 20 20 20 41 6e 79 20 72 65 6d 61 69 6e 69 6e 67 20 63 68 61 72 61 63 74 >..........Any.remaining.charact
cd060 65 72 73 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 2e 20 20 49 66 20 3c 56 41 52 3e 74 61 69 6c ers.in.the.string...If.<VAR>tail
cd080 70 74 72 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 ptr</VAR>.is.not.a.null.........
cd0a0 20 70 6f 69 6e 74 65 72 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 20 73 74 .pointer,.<CODE>strtol</CODE>.st
cd0c0 6f 72 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 69 73 20 74 61 69 6c 20 69 6e 0a 20 ores.a.pointer.to.this.tail.in..
cd0e0 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 74 61 69 6c 70 74 72 3c 2f 56 41 52 ........<CODE>*<VAR>tailptr</VAR
cd100 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 ></CODE>...........</OL>........
cd120 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 65 6d 70 74 ..<br><br>.If.the.string.is.empt
cd140 79 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 6c 79 20 77 68 69 74 65 73 70 61 63 65 2c 20 6f 72 20 y,.contains.only.whitespace,.or.
cd160 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 69 does.not.contain.an..........ini
cd180 74 69 61 6c 20 73 75 62 73 74 72 69 6e 67 20 74 68 61 74 20 68 61 73 20 74 68 65 20 65 78 70 65 tial.substring.that.has.the.expe
cd1a0 63 74 65 64 20 73 79 6e 74 61 78 20 66 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 69 6e 20 74 68 cted.syntax.for.an.integer.in.th
cd1c0 65 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 3c 56 41 52 3e 62 61 73 65 3c 2f e..........specified.<VAR>base</
cd1e0 56 41 52 3e 2c 20 6e 6f 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 VAR>,.no.conversion.is.performed
cd200 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e ...In.this.case,..........<CODE>
cd220 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 66 strtol</CODE>.returns.a.value.of
cd240 20 7a 65 72 6f 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 .zero.and.the.value.stored.in...
cd260 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 74 61 69 6c 70 74 72 3c 2f 56 41 52 3e .......<CODE>*<VAR>tailptr</VAR>
cd280 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 73 74 72 </CODE>.is.the.value.of.<VAR>str
cd2a0 69 6e 67 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 ing</VAR>...........<br><br>.In.
cd2c0 61 20 6c 6f 63 61 6c 65 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 a.locale.other.than.the.standard
cd2e0 20 3c 43 4f 44 45 3e 22 43 22 3c 2f 43 4f 44 45 3e 20 6c 6f 63 61 6c 65 2c 20 74 68 69 73 20 66 .<CODE>"C"</CODE>.locale,.this.f
cd300 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 6d 61 79 20 72 65 63 6f 67 6e 69 7a 65 20 61 unction..........may.recognize.a
cd320 64 64 69 74 69 6f 6e 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 64 65 70 65 6e 64 65 dditional.implementation-depende
cd340 6e 74 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 nt.syntax...........<br><br>.If.
cd360 74 68 65 20 73 74 72 69 6e 67 20 68 61 73 20 76 61 6c 69 64 20 73 79 6e 74 61 78 20 66 6f 72 20 the.string.has.valid.syntax.for.
cd380 61 6e 20 69 6e 74 65 67 65 72 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 0a an.integer.but.the.value.is.not.
cd3a0 20 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 62 65 63 61 75 73 65 20 6f .........representable.because.o
cd3c0 66 20 6f 76 65 72 66 6c 6f 77 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 20 f.overflow,.<CODE>strtol</CODE>.
cd3e0 72 65 74 75 72 6e 73 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 4f returns.either..........<CODE>LO
cd400 4e 47 5f 4d 41 58 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 4c 4f 4e 47 5f 4d 49 4e 3c NG_MAX</CODE>.or.<CODE>LONG_MIN<
cd420 2f 43 4f 44 45 3e 20 2c 20 61 73 0a 20 20 20 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 /CODE>.,.as..........appropriate
cd440 20 66 6f 72 20 74 68 65 20 73 69 67 6e 20 6f 66 20 74 68 65 20 76 61 6c 75 65 2e 20 20 49 74 20 .for.the.sign.of.the.value...It.
cd460 61 6c 73 6f 20 73 65 74 73 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 0a 20 20 20 also.sets.<CODE>errno</CODE>....
cd480 20 20 20 20 20 20 74 6f 20 3c 43 4f 44 45 3e 45 52 41 4e 47 45 3c 2f 43 4f 44 45 3e 20 74 6f 20 ......to.<CODE>ERANGE</CODE>.to.
cd4a0 69 6e 64 69 63 61 74 65 20 74 68 65 72 65 20 77 61 73 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 indicate.there.was.overflow.....
cd4c0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 63 68 ......<br><br>.You.should.not.ch
cd4e0 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 62 79 20 65 78 61 6d 69 6e 69 6e 67 20 74 68 65 20 eck.for.errors.by.examining.the.
cd500 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 return.value.of..........<CODE>s
cd520 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 73 74 72 69 6e 67 trtol</CODE>,.because.the.string
cd540 20 6d 69 67 68 74 20 62 65 20 61 20 76 61 6c 69 64 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e .might.be.a.valid.representation
cd560 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 30 6c 3c 2f 43 4f 44 45 3e 2c 20 3c 43 .of..........<CODE>0l</CODE>,.<C
cd580 4f 44 45 3e 4c 4f 4e 47 5f 4d 41 58 3c 2f 43 4f 44 45 3e 2c 20 6f 72 20 3c 43 4f 44 45 3e 4c 4f ODE>LONG_MAX</CODE>,.or.<CODE>LO
cd5a0 4e 47 5f 4d 49 4e 3c 2f 43 4f 44 45 3e 2e 20 20 49 6e 73 74 65 61 64 2c 20 63 68 65 63 6b 20 77 NG_MIN</CODE>...Instead,.check.w
cd5c0 68 65 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 74 61 69 6c 70 74 72 3c 2f 56 41 hether..........<VAR>tailptr</VA
cd5e0 52 3e 20 70 6f 69 6e 74 73 20 74 6f 20 77 68 61 74 20 79 6f 75 20 65 78 70 65 63 74 20 61 66 74 R>.points.to.what.you.expect.aft
cd600 65 72 20 74 68 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 28 65 2e 67 2e 20 3c 43 4f er.the.number..........(e.g..<CO
cd620 44 45 3e 27 5c 30 27 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 20 73 68 6f DE>'\0'</CODE>.if.the.string.sho
cd640 75 6c 64 20 65 6e 64 20 61 66 74 65 72 20 74 68 65 20 6e 75 6d 62 65 72 29 2e 20 20 59 6f 75 20 uld.end.after.the.number)...You.
cd660 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 6e 65 65 64 20 74 6f 20 63 6c 65 61 72 20 3c 56 41 52 also..........need.to.clear.<VAR
cd680 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 62 65 66 6f 72 65 20 74 68 65 20 63 61 6c 6c 20 61 6e 64 >errno</VAR>.before.the.call.and
cd6a0 20 63 68 65 63 6b 20 69 74 20 61 66 74 65 72 77 61 72 64 2c 20 69 6e 0a 20 20 20 20 20 20 20 20 .check.it.afterward,.in.........
cd6c0 20 63 61 73 65 20 74 68 65 72 65 20 77 61 73 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 20 .case.there.was.overflow........
cd6e0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 ...<br><br>.There.is.an.example.
cd700 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 at.the.end.of.this.section......
cd720 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 ....sq.~......w.....t..stdlib.hx
cd740 71 00 7e 1b ef 74 00 3e 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 q.~..t.>const.char.*restrict.str
cd760 69 6e 67 2c 20 63 68 61 72 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 2c 20 69 6e ing,.char.**restrict.tailptr,.in
cd780 74 20 62 61 73 65 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 07 73 74 72 74 6f 6c 64 73 71 00 7e 00 t.baset..long.intt..strtoldsq.~.
cd7a0 0a 70 74 02 41 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 .pt.A.........These.functions.ar
cd7c0 65 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 e.analogous.to.<CODE>strtod</COD
cd7e0 45 3e 2c 20 62 75 74 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 66 6c 6f 61 74 3c 2f 43 4f 44 45 E>,.but.return.<CODE>float</CODE
cd800 3e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 >..........and.<CODE>long.double
cd820 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 73 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 20 20 54 68 </CODE>.values.respectively...Th
cd840 65 79 20 72 65 70 6f 72 74 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 ey.report.errors.in.the.........
cd860 20 73 61 6d 65 20 77 61 79 20 61 73 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e .same.way.as.<CODE>strtod</CODE>
cd880 2e 20 20 3c 43 4f 44 45 3e 73 74 72 74 6f 66 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 73 75 ...<CODE>strtof</CODE>.can.be.su
cd8a0 62 73 74 61 6e 74 69 61 6c 6c 79 20 66 61 73 74 65 72 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e bstantially.faster..........than
cd8c0 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 68 61 73 20 6c 65 .<CODE>strtod</CODE>,.but.has.le
cd8e0 73 73 20 70 72 65 63 69 73 69 6f 6e 3b 20 63 6f 6e 76 65 72 73 65 6c 79 2c 20 3c 43 4f 44 45 3e ss.precision;.conversely,.<CODE>
cd900 73 74 72 74 6f 6c 64 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 6d strtold</CODE>..........can.be.m
cd920 75 63 68 20 73 6c 6f 77 65 72 20 62 75 74 20 68 61 73 20 6d 6f 72 65 20 70 72 65 63 69 73 69 6f uch.slower.but.has.more.precisio
cd940 6e 20 28 6f 6e 20 73 79 73 74 65 6d 73 20 77 68 65 72 65 20 3c 43 4f 44 45 3e 6c 6f 6e 67 0a 20 n.(on.systems.where.<CODE>long..
cd960 20 20 20 20 20 20 20 20 64 6f 75 62 6c 65 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 73 65 70 61 72 ........double</CODE>.is.a.separ
cd980 61 74 65 20 74 79 70 65 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 ate.type)...........<br><br>.The
cd9a0 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 68 61 76 65 20 62 65 65 6e 20 47 4e 55 20 65 78 74 65 6e se.functions.have.been.GNU.exten
cd9c0 73 69 6f 6e 73 20 61 6e 64 20 61 72 65 20 6e 65 77 20 74 6f 20 49 53 4f 20 43 39 39 2e 0a 20 20 sions.and.are.new.to.ISO.C99....
cd9e0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e ......sq.~......w.....t..stdlib.
cda00 68 78 71 00 7e 1b f6 74 00 22 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 63 68 hxq.~..t."const.char.*string,.ch
cda20 61 72 20 2a 2a 74 61 69 6c 70 74 72 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 07 73 74 72 ar.**tailptrt..long.doublet..str
cda40 74 6f 6c 6c 73 71 00 7e 00 0a 70 74 02 a1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 tollsq.~..pt...........The.<CODE
cda60 3e 73 74 72 74 6f 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 >strtoll</CODE>.function.is.like
cda80 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 .<CODE>strtol</CODE>.except.that
cdaa0 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 61 20 3c 43 4f 44 45 3e 6c 6f 6e .it.returns..........a.<CODE>lon
cdac0 67 20 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 2c 20 61 6e 64 20 61 63 63 g.long.int</CODE>.value,.and.acc
cdae0 65 70 74 73 20 6e 75 6d 62 65 72 73 20 77 69 74 68 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e epts.numbers.with.a.correspondin
cdb00 67 6c 79 0a 20 20 20 20 20 20 20 20 20 6c 61 72 67 65 72 20 72 61 6e 67 65 2e 0a 20 20 20 20 20 gly..........larger.range.......
cdb20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 74 72 69 6e 67 20 68 61 73 20 76 ....<br><br>.If.the.string.has.v
cdb40 61 6c 69 64 20 73 79 6e 74 61 78 20 66 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 62 75 74 20 74 alid.syntax.for.an.integer.but.t
cdb60 68 65 20 76 61 6c 75 65 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 72 65 70 72 65 73 65 he.value.is.not..........represe
cdb80 6e 74 61 62 6c 65 20 62 65 63 61 75 73 65 20 6f 66 20 6f 76 65 72 66 6c 6f 77 2c 20 3c 43 4f 44 ntable.because.of.overflow,.<COD
cdba0 45 3e 73 74 72 74 6f 6c 6c 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 65 69 74 68 65 72 0a E>strtoll</CODE>.returns.either.
cdbc0 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 4f 4e 47 5f 4c 4f 4e 47 5f 4d 41 58 3c 2f 43 4f .........<CODE>LONG_LONG_MAX</CO
cdbe0 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 4c 4f 4e 47 5f 4c 4f 4e 47 5f 4d 49 4e 3c 2f 43 4f 44 45 DE>.or.<CODE>LONG_LONG_MIN</CODE
cdc00 3e 20 2c 20 61 73 0a 20 20 20 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 >.,.as..........appropriate.for.
cdc20 74 68 65 20 73 69 67 6e 20 6f 66 20 74 68 65 20 76 61 6c 75 65 2e 20 20 49 74 20 61 6c 73 6f 20 the.sign.of.the.value...It.also.
cdc40 73 65 74 73 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 74 6f 0a 20 20 20 20 20 sets.<CODE>errno</CODE>.to......
cdc60 20 20 20 20 3c 43 4f 44 45 3e 45 52 41 4e 47 45 3c 2f 43 4f 44 45 3e 20 74 6f 20 69 6e 64 69 63 ....<CODE>ERANGE</CODE>.to.indic
cdc80 61 74 65 20 74 68 65 72 65 20 77 61 73 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 ate.there.was.overflow..........
cdca0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 6c 3c 2f 43 4f 44 .<br><br>.The.<CODE>strtoll</COD
cdcc0 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 49 53 E>.function.was.introduced.in.IS
cdce0 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 O.C99..........sq.~......w.....t
cdd00 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1b fd 74 00 3e 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 ..stdlib.hxq.~..t.>const.char.*r
cdd20 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 63 68 61 72 20 2a 2a 72 65 73 74 72 69 63 74 20 estrict.string,.char.**restrict.
cdd40 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e tailptr,.int.baset..long.long.in
cdd60 74 74 00 06 73 74 72 74 6f 71 73 71 00 7e 00 0a 70 74 00 69 0a 20 20 20 20 20 20 20 20 3c 43 4f tt..strtoqsq.~..pt.i.........<CO
cdd80 44 45 3e 73 74 72 74 6f 71 3c 2f 43 4f 44 45 3e 20 28 60 60 73 74 72 69 6e 67 2d 74 6f 2d 71 75 DE>strtoq</CODE>.(``string-to-qu
cdda0 61 64 2d 77 6f 72 64 27 27 29 20 69 73 20 74 68 65 20 42 53 44 20 6e 61 6d 65 20 66 6f 72 20 3c ad-word'').is.the.BSD.name.for.<
cddc0 43 4f 44 45 3e 73 74 72 74 6f 6c 6c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 CODE>strtoll</CODE>..........sq.
cdde0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1c 04 74 00 ~......w.....t..stdlib.hxq.~..t.
cde00 3e 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 63 68 >const.char.*restrict.string,.ch
cde20 61 72 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 ar.**restrict.tailptr,.int.baset
cde40 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 07 73 74 72 74 6f 75 6c 73 71 00 7e 00 0a 70 ..long.long.intt..strtoulsq.~..p
cde60 74 03 7c 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 75 6c 3c 2f 43 t.|.........The.<CODE>strtoul</C
cde80 4f 44 45 3e 20 28 60 60 73 74 72 69 6e 67 2d 74 6f 2d 75 6e 73 69 67 6e 65 64 2d 6c 6f 6e 67 27 ODE>.(``string-to-unsigned-long'
cdea0 27 29 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f ').function.is.like..........<CO
cdec0 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 69 74 20 63 6f 6e 76 65 DE>strtol</CODE>.except.it.conve
cdee0 72 74 73 20 74 6f 20 61 6e 20 3c 43 4f 44 45 3e 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 6e rts.to.an.<CODE>unsigned.long.in
cdf00 74 3c 2f 43 4f 44 45 3e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 79 6e t</CODE>.value...........The.syn
cdf20 74 61 78 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 64 65 73 63 72 69 62 65 64 20 61 62 6f tax.is.the.same.as.described.abo
cdf40 76 65 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 ve.for.<CODE>strtol</CODE>...The
cdf60 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 6f 6e 20 6f 76 65 72 .value..........returned.on.over
cdf80 66 6c 6f 77 20 69 73 20 3c 43 4f 44 45 3e 55 4c 4f 4e 47 5f 4d 41 58 3c 2f 43 4f 44 45 3e 20 2e flow.is.<CODE>ULONG_MAX</CODE>..
cdfa0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 73 74 72 69 6e ..........<br><br>.If.<VAR>strin
cdfc0 67 3c 2f 56 41 52 3e 20 64 65 70 69 63 74 73 20 61 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 g</VAR>.depicts.a.negative.numbe
cdfe0 72 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 75 6c 3c 2f 43 4f 44 45 3e 20 61 63 74 73 20 74 68 65 r,.<CODE>strtoul</CODE>.acts.the
ce000 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 61 73 20 3c 56 41 52 3e 73 74 72 74 6f 6c 3c 2f 56 .same..........as.<VAR>strtol</V
ce020 41 52 3e 20 62 75 74 20 63 61 73 74 73 20 74 68 65 20 72 65 73 75 6c 74 20 74 6f 20 61 6e 20 75 AR>.but.casts.the.result.to.an.u
ce040 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2e 20 20 54 68 61 74 20 6d 65 61 6e 73 0a 20 20 20 nsigned.integer...That.means....
ce060 20 20 20 20 20 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 74 68 61 74 20 3c 43 4f 44 45 3e 73 74 72 ......for.example.that.<CODE>str
ce080 74 6f 75 6c 3c 2f 43 4f 44 45 3e 20 6f 6e 20 3c 43 4f 44 45 3e 22 2d 31 22 3c 2f 43 4f 44 45 3e toul</CODE>.on.<CODE>"-1"</CODE>
ce0a0 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 55 4c 4f 4e 47 5f 4d 41 58 3c 2f 43 4f 44 45 3e 0a .returns.<CODE>ULONG_MAX</CODE>.
ce0c0 20 20 20 20 20 20 20 20 20 61 6e 64 20 61 6e 20 69 6e 70 75 74 20 6d 6f 72 65 20 6e 65 67 61 74 .........and.an.input.more.negat
ce0e0 69 76 65 20 74 68 61 6e 20 3c 43 4f 44 45 3e 4c 4f 4e 47 5f 4d 49 4e 3c 2f 43 4f 44 45 3e 20 72 ive.than.<CODE>LONG_MIN</CODE>.r
ce100 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 28 3c 43 4f 44 45 3e 55 4c 4f 4e 47 5f 4d 41 58 eturns..........(<CODE>ULONG_MAX
ce120 3c 2f 43 4f 44 45 3e 20 2b 20 31 29 20 2f 20 32 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c </CODE>.+.1)./.2...........<br><
ce140 62 72 3e 20 3c 43 4f 44 45 3e 73 74 72 74 6f 75 6c 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 3c 56 br>.<CODE>strtoul</CODE>.sets.<V
ce160 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 74 6f 20 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f AR>errno</VAR>.to.<CODE>EINVAL</
ce180 43 4f 44 45 3e 20 69 66 20 3c 56 41 52 3e 62 61 73 65 3c 2f 56 41 52 3e 20 69 73 20 6f 75 74 20 CODE>.if.<VAR>base</VAR>.is.out.
ce1a0 6f 66 0a 20 20 20 20 20 20 20 20 20 72 61 6e 67 65 2c 20 6f 72 20 3c 43 4f 44 45 3e 45 52 41 4e of..........range,.or.<CODE>ERAN
ce1c0 47 45 3c 2f 43 4f 44 45 3e 20 6f 6e 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 73 GE</CODE>.on.overflow..........s
ce1e0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1c 0b q.~......w.....t..stdlib.hxq.~..
ce200 74 00 3d 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 63 t.=const.char.*retrict.string,.c
ce220 68 61 72 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 har.**restrict.tailptr,.int.base
ce240 74 00 11 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 6e 74 74 00 08 73 74 72 74 6f 75 6c 6c 73 t..unsigned.long.intt..strtoulls
ce260 71 00 7e 00 0a 70 74 00 f5 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 q.~..pt...........The.<CODE>strt
ce280 6f 75 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 65 6c 61 74 65 64 20 oull</CODE>.function.is.related.
ce2a0 74 6f 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 6c 3c 2f 43 4f 44 45 3e 20 74 68 65 20 73 61 6d 65 to.<CODE>strtoll</CODE>.the.same
ce2c0 20 77 61 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 74 6f 75 6c 3c 2f 43 4f 44 .way..........<CODE>strtoul</COD
ce2e0 45 3e 20 69 73 20 72 65 6c 61 74 65 64 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 E>.is.related.to.<CODE>strtol</C
ce300 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 ODE>...........<br><br>.The.<COD
ce320 45 3e 73 74 72 74 6f 75 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 E>strtoull</CODE>.function.was.i
ce340 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 ntroduced.in.ISO.C99..........sq
ce360 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1c 12 74 .~......w.....t..stdlib.hxq.~..t
ce380 00 3e 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 63 .>const.char.*restrict.string,.c
ce3a0 68 61 72 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 har.**restrict.tailptr,.int.base
ce3c0 74 00 16 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 09 73 74 72 74 t..unsigned.long.long.intt..strt
ce3e0 6f 75 6d 61 78 73 71 00 7e 00 0a 70 74 01 4a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 oumaxsq.~..pt.J.........The.<COD
ce400 45 3e 73 74 72 74 6f 75 6d 61 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 E>strtoumax</CODE>.function.is.r
ce420 65 6c 61 74 65 64 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 74 6f 69 6d 61 78 3c 2f 43 4f 44 45 3e elated.to.<CODE>strtoimax</CODE>
ce440 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 3c 43 4f 44 ..........the.same.way.that.<COD
ce460 45 3e 73 74 72 74 6f 75 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 6c 61 74 65 64 20 74 6f 20 3c E>strtoul</CODE>.is.related.to.<
ce480 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 CODE>strtol</CODE>...........<br
ce4a0 3e 3c 62 72 3e 20 53 65 65 20 49 6e 74 65 67 65 72 73 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 ><br>.See.Integers.for.a.descrip
ce4c0 74 69 6f 6e 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 69 6e 74 6d 61 78 5f 74 3c 2f 43 4f 44 45 tion.of.the.<CODE>intmax_t</CODE
ce4e0 3e 20 74 79 70 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 74 >.type...The..........<CODE>strt
ce500 6f 75 6d 61 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 oumax</CODE>.function.was.introd
ce520 75 63 65 64 20 69 6e 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 uced.in.ISO.C99..........sq.~...
ce540 00 00 01 77 04 00 00 00 0a 74 00 0a 69 6e 74 74 79 70 65 73 2e 68 78 71 00 7e 1c 19 74 00 3e 63 ...w.....t..inttypes.hxq.~..t.>c
ce560 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 63 68 61 72 onst.char.*restrict.string,.char
ce580 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 00 09 .**restrict.tailptr,.int.baset..
ce5a0 75 69 6e 74 6d 61 78 5f 74 74 00 07 73 74 72 74 6f 75 71 73 71 00 7e 00 0a 70 74 00 51 0a 20 20 uintmax_tt..strtouqsq.~..pt.Q...
ce5c0 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 74 6f 75 71 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 ......<CODE>strtouq</CODE>.is.th
ce5e0 65 20 42 53 44 20 6e 61 6d 65 20 66 6f 72 20 3c 43 4f 44 45 3e 73 74 72 74 6f 75 6c 6c 3c 2f 43 e.BSD.name.for.<CODE>strtoull</C
ce600 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 ODE>..........sq.~......w.....t.
ce620 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1c 20 74 00 3e 63 6f 6e 73 74 20 63 68 61 72 20 2a 72 65 .stdlib.hxq.~..t.>const.char.*re
ce640 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 63 68 61 72 20 2a 2a 72 65 73 74 72 69 63 74 20 74 strict.string,.char.**restrict.t
ce660 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 00 16 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 ailptr,.int.baset..unsigned.long
ce680 20 6c 6f 6e 67 20 69 6e 74 74 00 0a 73 74 72 76 65 72 73 63 6d 70 73 71 00 7e 00 0a 70 74 08 c9 .long.intt..strverscmpsq.~..pt..
ce6a0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 74 72 76 65 72 73 63 6d 70 3c 2f 43 .........The.<CODE>strverscmp</C
ce6c0 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 73 20 74 68 65 20 73 74 72 69 6e ODE>.function.compares.the.strin
ce6e0 67 20 3c 56 41 52 3e 73 31 3c 2f 56 41 52 3e 20 61 67 61 69 6e 73 74 0a 20 20 20 20 20 20 20 20 g.<VAR>s1</VAR>.against.........
ce700 20 3c 56 41 52 3e 73 32 3c 2f 56 41 52 3e 2c 20 63 6f 6e 73 69 64 65 72 69 6e 67 20 74 68 65 6d .<VAR>s2</VAR>,.considering.them
ce720 20 61 73 20 68 6f 6c 64 69 6e 67 20 69 6e 64 69 63 65 73 2f 76 65 72 73 69 6f 6e 20 6e 75 6d 62 .as.holding.indices/version.numb
ce740 65 72 73 2e 20 20 52 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 66 6f 6c 6c ers...Return..........value.foll
ce760 6f 77 73 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 61 73 20 66 6f 75 6e ows.the.same.conventions.as.foun
ce780 64 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 76 65 72 73 63 6d 70 3c 2f 43 4f 44 45 3e d.in.the.<CODE>strverscmp</CODE>
ce7a0 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 6e 20 66 61 63 74 2c 20 69 66 ..........function...In.fact,.if
ce7c0 20 3c 56 41 52 3e 73 31 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 73 32 3c 2f 56 41 52 3e .<VAR>s1</VAR>.and.<VAR>s2</VAR>
ce7e0 20 63 6f 6e 74 61 69 6e 20 6e 6f 20 64 69 67 69 74 73 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f .contain.no.digits,..........<CO
ce800 44 45 3e 73 74 72 76 65 72 73 63 6d 70 3c 2f 43 4f 44 45 3e 20 62 65 68 61 76 65 73 20 6c 69 6b DE>strverscmp</CODE>.behaves.lik
ce820 65 20 3c 43 4f 44 45 3e 73 74 72 63 6d 70 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 e.<CODE>strcmp</CODE>...........
ce840 3c 62 72 3e 3c 62 72 3e 20 42 61 73 69 63 61 6c 6c 79 2c 20 77 65 20 63 6f 6d 70 61 72 65 20 73 <br><br>.Basically,.we.compare.s
ce860 74 72 69 6e 67 73 20 6e 6f 72 6d 61 6c 6c 79 20 28 63 68 61 72 61 63 74 65 72 20 62 79 20 63 68 trings.normally.(character.by.ch
ce880 61 72 61 63 74 65 72 29 2c 20 75 6e 74 69 6c 0a 20 20 20 20 20 20 20 20 20 77 65 20 66 69 6e 64 aracter),.until..........we.find
ce8a0 20 61 20 64 69 67 69 74 20 69 6e 20 65 61 63 68 20 73 74 72 69 6e 67 20 2d 20 74 68 65 6e 20 77 .a.digit.in.each.string.-.then.w
ce8c0 65 20 65 6e 74 65 72 20 61 20 73 70 65 63 69 61 6c 20 63 6f 6d 70 61 72 69 73 6f 6e 0a 20 20 20 e.enter.a.special.comparison....
ce8e0 20 20 20 20 20 20 6d 6f 64 65 2c 20 77 68 65 72 65 20 65 61 63 68 20 73 65 71 75 65 6e 63 65 20 ......mode,.where.each.sequence.
ce900 6f 66 20 64 69 67 69 74 73 20 69 73 20 74 61 6b 65 6e 20 61 73 20 61 20 77 68 6f 6c 65 2e 20 20 of.digits.is.taken.as.a.whole...
ce920 49 66 20 77 65 20 72 65 61 63 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 6e 64 20 6f 66 20 If.we.reach.the..........end.of.
ce940 74 68 65 73 65 20 74 77 6f 20 70 61 72 74 73 20 77 69 74 68 6f 75 74 20 6e 6f 74 69 63 69 6e 67 these.two.parts.without.noticing
ce960 20 61 20 64 69 66 66 65 72 65 6e 63 65 2c 20 77 65 20 72 65 74 75 72 6e 20 74 6f 20 74 68 65 0a .a.difference,.we.return.to.the.
ce980 20 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6d 6f 64 .........standard.comparison.mod
ce9a0 65 2e 20 20 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 74 79 70 65 73 20 6f 66 20 6e 75 6d 65 72 e...There.are.two.types.of.numer
ce9c0 69 63 20 70 61 72 74 73 3a 0a 20 20 20 20 20 20 20 20 20 22 69 6e 74 65 67 72 61 6c 22 20 61 6e ic.parts:.........."integral".an
ce9e0 64 20 22 66 72 61 63 74 69 6f 6e 61 6c 22 20 28 74 68 6f 73 65 20 20 62 65 67 69 6e 20 77 69 74 d."fractional".(those..begin.wit
cea00 68 20 61 20 27 30 27 29 2e 20 54 68 65 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 h.a.'0')..The.types..........of.
cea20 74 68 65 20 6e 75 6d 65 72 69 63 20 70 61 72 74 73 20 61 66 66 65 63 74 20 74 68 65 20 77 61 79 the.numeric.parts.affect.the.way
cea40 20 77 65 20 73 6f 72 74 20 74 68 65 6d 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e .we.sort.them:..........<br><br>
cea60 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 .<OL>..........<LI>..........int
cea80 65 67 72 61 6c 2f 69 6e 74 65 67 72 61 6c 3a 20 77 65 20 63 6f 6d 70 61 72 65 20 76 61 6c 75 65 egral/integral:.we.compare.value
ceaa0 73 20 61 73 20 79 6f 75 20 77 6f 75 6c 64 20 65 78 70 65 63 74 2e 0a 20 20 20 20 20 20 20 20 20 s.as.you.would.expect...........
ceac0 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 66 72 61 63 74 69 6f 6e 61 <br><br>.<LI>..........fractiona
ceae0 6c 2f 69 6e 74 65 67 72 61 6c 3a 20 74 68 65 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 61 72 74 20 l/integral:.the.fractional.part.
ceb00 69 73 20 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 69 6e 74 65 67 72 61 6c 20 6f 6e 65 2e 0a 20 is.less.than.the.integral.one...
ceb20 20 20 20 20 20 20 20 20 41 67 61 69 6e 2c 20 6e 6f 20 73 75 72 70 72 69 73 65 2e 0a 20 20 20 20 ........Again,.no.surprise......
ceb40 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 66 72 61 63 .....<br><br>.<LI>..........frac
ceb60 74 69 6f 6e 61 6c 2f 66 72 61 63 74 69 6f 6e 61 6c 3a 20 74 68 65 20 74 68 69 6e 67 73 20 62 65 tional/fractional:.the.things.be
ceb80 63 6f 6d 65 20 61 20 62 69 74 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 78 2e 0a 20 20 20 20 20 20 20 come.a.bit.more.complex.........
ceba0 20 20 49 66 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 70 72 65 66 69 78 20 63 6f 6e 74 61 69 6e 73 20 ..If.the.common.prefix.contains.
cebc0 6f 6e 6c 79 20 6c 65 61 64 69 6e 67 20 7a 65 72 6f 65 73 2c 20 74 68 65 20 6c 6f 6e 67 65 73 74 only.leading.zeroes,.the.longest
cebe0 20 70 61 72 74 20 69 73 20 6c 65 73 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 74 68 65 20 .part.is.less..........than.the.
cec00 6f 74 68 65 72 20 6f 6e 65 3b 20 65 6c 73 65 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 62 other.one;.else.the.comparison.b
cec20 65 68 61 76 65 73 20 6e 6f 72 6d 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a ehaves.normally...........</OL>.
cec40 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 .........<br><br>.<pre><br>.....
cec60 20 20 20 20 20 73 74 72 76 65 72 73 63 6d 70 20 28 22 6e 6f 20 64 69 67 69 74 22 2c 20 22 6e 6f .....strverscmp.("no.digit",."no
cec80 20 64 69 67 69 74 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 20 20 20 20 .digit")<br>...............0....
ceca0 2f 2a 20 73 61 6d 65 20 62 65 68 61 76 69 6f 72 20 61 73 20 73 74 72 63 6d 70 2e 20 2a 2f 3c 62 /*.same.behavior.as.strcmp..*/<b
cecc0 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 76 65 72 73 63 6d 70 20 28 22 69 74 65 6d 23 39 39 r>..........strverscmp.("item#99
cece0 22 2c 20 22 69 74 65 6d 23 31 30 30 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ",."item#100")<br>..............
ced00 20 3c 30 20 20 20 2f 2a 20 73 61 6d 65 20 70 72 65 66 69 78 2c 20 62 75 74 20 39 39 20 3c 20 31 .<0.../*.same.prefix,.but.99.<.1
ced20 30 30 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 76 65 72 73 63 6d 70 20 28 00..*/<br>..........strverscmp.(
ced40 22 61 6c 70 68 61 31 22 2c 20 22 61 6c 70 68 61 30 30 31 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 "alpha1",."alpha001")<br>.......
ced60 20 20 20 20 20 20 20 20 3e 30 20 20 20 2f 2a 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 61 72 74 20 ........>0.../*.fractional.part.
ced80 69 6e 66 65 72 69 6f 72 20 74 6f 20 69 6e 74 65 67 72 61 6c 20 6f 6e 65 2e 20 2a 2f 3c 62 72 3e inferior.to.integral.one..*/<br>
ceda0 0a 20 20 20 20 20 20 20 20 20 73 74 72 76 65 72 73 63 6d 70 20 28 22 70 61 72 74 31 5f 66 30 31 ..........strverscmp.("part1_f01
cedc0 32 22 2c 20 22 70 61 72 74 31 5f 66 30 31 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 2",."part1_f01")<br>............
cede0 20 20 20 3e 30 20 20 20 2f 2a 20 74 77 6f 20 66 72 61 63 74 69 6f 6e 61 6c 20 70 61 72 74 73 2e ...>0.../*.two.fractional.parts.
cee00 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 74 72 76 65 72 73 63 6d 70 20 28 22 66 6f .*/<br>..........strverscmp.("fo
cee20 6f 2e 30 30 39 22 2c 20 22 66 6f 6f 2e 30 22 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 o.009",."foo.0")<br>............
cee40 20 20 20 3c 30 20 20 20 2f 2a 20 69 64 65 6d 2c 20 62 75 74 20 77 69 74 68 20 6c 65 61 64 69 6e ...<0.../*.idem,.but.with.leadin
cee60 67 20 7a 65 72 6f 65 73 20 6f 6e 6c 79 2e 20 2a 2f 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c g.zeroes.only..*/<br>..........<
cee80 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e /pre>..........<br><br>.This.fun
ceea0 63 74 69 6f 6e 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 77 68 65 6e 20 ction.is.especially.useful.when.
ceec0 64 65 61 6c 69 6e 67 20 77 69 74 68 20 66 69 6c 65 6e 61 6d 65 20 73 6f 72 74 69 6e 67 2c 0a 20 dealing.with.filename.sorting,..
ceee0 20 20 20 20 20 20 20 20 62 65 63 61 75 73 65 20 66 69 6c 65 6e 61 6d 65 73 20 66 72 65 71 75 65 ........because.filenames.freque
cef00 6e 74 6c 79 20 68 6f 6c 64 20 69 6e 64 69 63 65 73 2f 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 ntly.hold.indices/version.number
cef20 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 74 72 76 65 s...........<br><br>.<CODE>strve
cef40 72 73 63 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e rscmp</CODE>.is.a.GNU.extension.
cef60 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 .........sq.~......w.....t..stri
cef80 6e 67 2e 68 78 71 00 7e 1c 27 74 00 1e 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 31 2c 20 63 6f 6e ng.hxq.~.'t..const.char.*s1,.con
cefa0 73 74 20 63 68 61 72 20 2a 73 32 74 00 03 69 6e 74 74 00 07 73 74 72 78 66 72 6d 73 71 00 7e 00 st.char.*s2t..intt..strxfrmsq.~.
cefc0 0a 70 74 06 1a 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 .pt...........The.function.<CODE
cefe0 3e 73 74 72 78 66 72 6d 3c 2f 43 4f 44 45 3e 20 74 72 61 6e 73 66 6f 72 6d 73 20 74 68 65 20 73 >strxfrm</CODE>.transforms.the.s
cf000 74 72 69 6e 67 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 3e 20 75 73 69 6e 67 20 74 68 65 0a tring.<VAR>from</VAR>.using.the.
cf020 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 61 74 69 6f 6e 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f .........collation.transformatio
cf040 6e 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 6c 6f 63 61 6c 65 20 63 75 72 72 65 n.determined.by.the.locale.curre
cf060 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 61 ntly.selected.for..........colla
cf080 74 69 6f 6e 2c 20 61 6e 64 20 73 74 6f 72 65 73 20 74 68 65 20 74 72 61 6e 73 66 6f 72 6d 65 64 tion,.and.stores.the.transformed
cf0a0 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 .string.in.the.array.<VAR>to</VA
cf0c0 52 3e 2e 20 20 55 70 0a 20 20 20 20 20 20 20 20 20 74 6f 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 R>...Up..........to.<VAR>size</V
cf0e0 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 20 74 65 72 6d AR>.characters.(including.a.term
cf100 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 29 20 61 72 65 0a 20 20 20 20 inating.null.character).are.....
cf120 20 20 20 20 20 73 74 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 .....stored...........<br><br>.T
cf140 68 65 20 62 65 68 61 76 69 6f 72 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 he.behavior.is.undefined.if.the.
cf160 73 74 72 69 6e 67 73 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 66 strings.<VAR>to</VAR>.and.<VAR>f
cf180 72 6f 6d 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 6f 76 65 72 6c 61 70 3b 20 73 65 65 20 rom</VAR>..........overlap;.see.
cf1a0 43 6f 70 79 69 6e 67 20 61 6e 64 20 43 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 2e 0a 20 20 20 20 20 Copying.and.Concatenation.......
cf1c0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 ....<br><br>.The.return.value.is
cf1e0 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 65 6e 74 69 72 65 20 74 72 61 6e 73 66 .the.length.of.the.entire.transf
cf200 6f 72 6d 65 64 20 73 74 72 69 6e 67 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 76 61 6c ormed.string...This..........val
cf220 75 65 20 69 73 20 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 76 61 6c 75 65 20 ue.is.not.affected.by.the.value.
cf240 6f 66 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 62 75 74 20 69 66 20 69 74 20 69 73 of.<VAR>size</VAR>,.but.if.it.is
cf260 20 67 72 65 61 74 65 72 0a 20 20 20 20 20 20 20 20 20 6f 72 20 65 71 75 61 6c 20 74 68 61 6e 20 .greater..........or.equal.than.
cf280 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 74 <VAR>size</VAR>,.it.means.that.t
cf2a0 68 65 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 74 72 69 6e 67 20 64 69 64 20 6e 6f 74 0a 20 20 he.transformed.string.did.not...
cf2c0 20 20 20 20 20 20 20 65 6e 74 69 72 65 6c 79 20 66 69 74 20 69 6e 20 74 68 65 20 61 72 72 61 79 .......entirely.fit.in.the.array
cf2e0 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 6f .<VAR>to</VAR>...In.this.case,.o
cf300 6e 6c 79 20 61 73 20 6d 75 63 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 nly.as.much.of.the..........stri
cf320 6e 67 20 61 73 20 61 63 74 75 61 6c 6c 79 20 66 69 74 73 20 77 61 73 20 73 74 6f 72 65 64 2e 20 ng.as.actually.fits.was.stored..
cf340 20 54 6f 20 67 65 74 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61 6e 73 66 6f 72 6d 65 64 0a 20 20 .To.get.the.whole.transformed...
cf360 20 20 20 20 20 20 20 73 74 72 69 6e 67 2c 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 73 74 72 78 66 72 .......string,.call.<CODE>strxfr
cf380 6d 3c 2f 43 4f 44 45 3e 20 61 67 61 69 6e 20 77 69 74 68 20 61 20 62 69 67 67 65 72 20 6f 75 74 m</CODE>.again.with.a.bigger.out
cf3a0 70 75 74 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 put.array...........<br><br>.The
cf3c0 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 74 72 69 6e 67 20 6d 61 79 20 62 65 20 6c 6f 6e 67 65 .transformed.string.may.be.longe
cf3e0 72 20 74 68 61 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 73 74 72 69 6e 67 2c 20 61 6e 64 20 r.than.the.original.string,.and.
cf400 69 74 0a 20 20 20 20 20 20 20 20 20 6d 61 79 20 61 6c 73 6f 20 62 65 20 73 68 6f 72 74 65 72 2e it..........may.also.be.shorter.
cf420 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 73 69 7a 65 3c ..........<br><br>.If.<VAR>size<
cf440 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 2c 20 6e 6f 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 /VAR>.is.zero,.no.characters.are
cf460 20 73 74 6f 72 65 64 20 69 6e 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 20 20 49 6e 20 74 68 .stored.in.<VAR>to</VAR>...In.th
cf480 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 2c 20 3c 43 4f 44 45 3e 73 74 72 78 66 72 6d 3c is..........case,.<CODE>strxfrm<
cf4a0 2f 43 4f 44 45 3e 20 73 69 6d 70 6c 79 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 /CODE>.simply.returns.the.number
cf4c0 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 77 6f 75 6c 64 0a 20 20 20 20 20 20 .of.characters.that.would.......
cf4e0 20 20 20 62 65 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 74 72 61 6e 73 66 6f 72 ...be.the.length.of.the.transfor
cf500 6d 65 64 20 73 74 72 69 6e 67 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 66 6f 72 20 med.string...This.is.useful.for.
cf520 64 65 74 65 72 6d 69 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 77 68 61 74 20 73 69 7a 65 20 74 determining..........what.size.t
cf540 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 61 72 72 61 79 20 73 68 6f 75 6c 64 20 62 65 2e 20 20 49 he.allocated.array.should.be...I
cf560 74 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 20 77 68 61 74 0a 20 20 20 20 20 20 20 20 20 t.does.not.matter.what..........
cf580 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 20 69 73 20 69 66 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 <VAR>to</VAR>.is.if.<VAR>size</V
cf5a0 41 52 3e 20 69 73 20 7a 65 72 6f 3b 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 20 6d 61 79 20 65 AR>.is.zero;.<VAR>to</VAR>.may.e
cf5c0 76 65 6e 20 62 65 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 ven.be.a.null.pointer..........s
cf5e0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 72 69 6e 67 2e 68 78 71 00 7e 1c 2e q.~......w.....t..string.hxq.~..
cf600 74 00 39 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 74 6f 2c 20 63 6f 6e 73 74 20 63 68 61 72 t.9char.*restrict.to,.const.char
cf620 20 2a 72 65 73 74 72 69 63 74 20 66 72 6f 6d 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 06 73 .*restrict.from,.size_t.sizet..s
cf640 69 7a 65 5f 74 74 00 04 73 74 74 79 73 71 00 7e 00 0a 70 74 01 06 0a 20 20 20 20 20 20 20 20 3c ize_tt..sttysq.~..pt...........<
cf660 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 61 br><br>.This.function.sets.the.a
cf680 74 74 72 69 62 75 74 65 73 20 6f 66 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 20 20 20 20 20 20 20 ttributes.of.a.terminal.........
cf6a0 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 74 74 79 3c 2f 43 4f 44 45 3e 20 73 65 74 ..<br><br>.<CODE>stty</CODE>.set
cf6c0 73 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 74 68 65 s.the.terminal.attributes.of.the
cf6e0 20 74 65 72 6d 69 6e 61 6c 20 77 68 69 63 68 20 69 73 20 6f 70 65 6e 20 77 69 74 68 0a 20 20 20 .terminal.which.is.open.with....
cf700 20 20 20 20 20 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 65 64 ......file.descriptor.<VAR>filed
cf720 65 73 3c 2f 56 41 52 3e 20 74 6f 20 74 68 6f 73 65 20 64 65 73 63 72 69 62 65 64 20 62 79 20 2a es</VAR>.to.those.described.by.*
cf740 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e <VAR>filedes</VAR>..........sq.~
cf760 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 67 74 74 79 2e 68 78 71 00 7e 1c 35 74 00 27 69 ......w.....t..sgtty.hxq.~.5t.'i
cf780 6e 74 20 66 69 6c 65 64 65 73 2c 20 73 74 72 75 63 74 20 73 67 74 74 79 62 20 2a 20 61 74 74 72 nt.filedes,.struct.sgttyb.*.attr
cf7a0 69 62 75 74 65 73 74 00 03 69 6e 74 74 00 0b 73 77 61 70 63 6f 6e 74 65 78 74 73 71 00 7e 00 0a ibutest..intt..swapcontextsq.~..
cf7c0 70 74 03 84 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e pt...........<br><br>.The.<CODE>
cf7e0 73 77 61 70 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 swapcontext</CODE>.function.is.s
cf800 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 65 74 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 imilar.to.<CODE>setcontext</CODE
cf820 3e 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 72 >.but..........instead.of.just.r
cf840 65 70 6c 61 63 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 74 65 78 74 20 74 68 65 eplacing.the.current.context.the
cf860 20 6c 61 74 74 65 72 20 69 73 20 66 69 72 73 74 20 73 61 76 65 64 0a 20 20 20 20 20 20 20 20 20 .latter.is.first.saved..........
cf880 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 in.the.object.pointed.to.by.<VAR
cf8a0 3e 6f 75 63 70 3c 2f 56 41 52 3e 20 61 73 20 69 66 20 74 68 69 73 20 77 61 73 20 61 20 63 61 6c >oucp</VAR>.as.if.this.was.a.cal
cf8c0 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 67 65 74 63 6f 6e 74 65 78 74 3c 2f l.to..........<CODE>getcontext</
cf8e0 43 4f 44 45 3e 2e 20 20 54 68 65 20 73 61 76 65 64 20 63 6f 6e 74 65 78 74 20 77 6f 75 6c 64 20 CODE>...The.saved.context.would.
cf900 72 65 73 75 6d 65 20 61 66 74 65 72 20 74 68 65 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 resume.after.the.call.to........
cf920 20 20 3c 43 4f 44 45 3e 73 77 61 70 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 ..<CODE>swapcontext</CODE>......
cf940 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 63 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 .....<br><br>.Once.the.current.c
cf960 6f 6e 74 65 78 74 20 69 73 20 73 61 76 65 64 20 74 68 65 20 63 6f 6e 74 65 78 74 20 64 65 73 63 ontext.is.saved.the.context.desc
cf980 72 69 62 65 64 20 69 6e 20 3c 56 41 52 3e 75 63 70 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 ribed.in.<VAR>ucp</VAR>.is......
cf9a0 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 65 78 65 63 75 74 69 6f 6e 20 63 6f 6e 74 ....installed.and.execution.cont
cf9c0 69 6e 75 65 73 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 65 inues.as.described.in.this.conte
cf9e0 78 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 45 3e 73 xt...........<br><br>.If.<CODE>s
cfa00 77 61 70 63 6f 6e 74 65 78 74 3c 2f 43 4f 44 45 3e 20 73 75 63 63 65 65 64 73 20 74 68 65 20 66 wapcontext</CODE>.succeeds.the.f
cfa20 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 72 65 74 75 72 6e 20 75 6e 6c 65 73 73 20 74 unction.does.not.return.unless.t
cfa40 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3c 56 41 52 3e 6f 75 63 70 3c 2f 56 he..........context.<VAR>oucp</V
cfa60 41 52 3e 20 69 73 20 75 73 65 64 20 77 69 74 68 6f 75 74 20 70 72 69 6f 72 20 6d 6f 64 69 66 69 AR>.is.used.without.prior.modifi
cfa80 63 61 74 69 6f 6e 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 61 6b 65 63 6f 6e cation.by..........<CODE>makecon
cfaa0 74 65 78 74 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 text</CODE>...The.return.value.i
cfac0 6e 20 74 68 69 73 20 63 61 73 65 20 69 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 20 20 n.this.case.is.<CODE>0</CODE>...
cfae0 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 73 20 69 If.the..........function.fails.i
cfb00 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 65 t.returns.<CODE>-1</CODE>.and.se
cfb20 74 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0a t.<VAR>errno</VAR>.accordingly..
cfb40 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 75 63 6f 6e 74 ........sq.~......w.....t..ucont
cfb60 65 78 74 2e 68 78 71 00 7e 1c 3c 74 00 39 75 63 6f 6e 74 65 78 74 5f 74 20 2a 72 65 73 74 72 69 ext.hxq.~.<t.9ucontext_t.*restri
cfb80 63 74 20 6f 75 63 70 2c 20 63 6f 6e 73 74 20 75 63 6f 6e 74 65 78 74 5f 74 20 2a 72 65 73 74 72 ct.oucp,.const.ucontext_t.*restr
cfba0 69 63 74 20 75 63 70 74 00 03 69 6e 74 74 00 08 73 77 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 ict.ucpt..intt..swprintfsq.~..pt
cfbc0 05 32 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 77 70 .2.........This.is.like.<CODE>wp
cfbe0 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 6f 75 rintf</CODE>,.except.that.the.ou
cfc00 74 70 75 74 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 77 tput.is.stored.in.the..........w
cfc20 69 64 65 20 63 68 61 72 61 63 74 65 72 20 61 72 72 61 79 20 3c 56 41 52 3e 77 73 3c 2f 56 41 52 ide.character.array.<VAR>ws</VAR
cfc40 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 77 72 69 74 74 65 6e 20 74 6f 20 61 20 73 74 72 65 61 6d >.instead.of.written.to.a.stream
cfc60 2e 20 20 41 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 77 69 64 65 20 63 68 61 72 61 63 74 65 ...A.null..........wide.characte
cfc80 72 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 65 6e 64 20 6f 66 20 r.is.written.to.mark.the.end.of.
cfca0 74 68 65 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e the.string...The.<VAR>size</VAR>
cfcc0 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 73 70 65 63 69 66 69 65 73 20 74 68 65 ..........argument.specifies.the
cfce0 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 74 6f .maximum.number.of.characters.to
cfd00 20 70 72 6f 64 75 63 65 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 74 72 61 69 6c 69 6e 67 .produce...The..........trailing
cfd20 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 20 63 6f 75 6e 74 65 64 20 74 6f 77 61 72 .null.character.is.counted.towar
cfd40 64 73 20 74 68 69 73 20 6c 69 6d 69 74 2c 20 73 6f 20 79 6f 75 20 73 68 6f 75 6c 64 0a 20 20 20 ds.this.limit,.so.you.should....
cfd60 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 20 61 74 20 6c 65 61 73 74 20 3c 56 41 52 3e 73 69 7a ......allocate.at.least.<VAR>siz
cfd80 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 66 6f 72 20 74 68 65 20 e</VAR>.wide.characters.for.the.
cfda0 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c string.<VAR>ws</VAR>...........<
cfdc0 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 br><br>.The.return.value.is.the.
cfde0 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 67 65 6e 65 72 61 74 65 64 20 66 number.of.characters.generated.f
cfe00 6f 72 20 74 68 65 20 67 69 76 65 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 2c 20 65 78 63 or.the.given..........input,.exc
cfe20 6c 75 64 69 6e 67 20 74 68 65 20 74 72 61 69 6c 69 6e 67 20 6e 75 6c 6c 2e 20 20 49 66 20 6e 6f luding.the.trailing.null...If.no
cfe40 74 20 61 6c 6c 20 6f 75 74 70 75 74 20 66 69 74 73 20 69 6e 74 6f 20 74 68 65 0a 20 20 20 20 20 t.all.output.fits.into.the......
cfe60 20 20 20 20 70 72 6f 76 69 64 65 64 20 62 75 66 66 65 72 20 61 20 6e 65 67 61 74 69 76 65 20 76 ....provided.buffer.a.negative.v
cfe80 61 6c 75 65 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 74 72 alue.is.returned...You.should.tr
cfea0 79 20 61 67 61 69 6e 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 61 20 62 69 67 67 65 72 20 6f y.again.with..........a.bigger.o
cfec0 75 74 70 75 74 20 73 74 72 69 6e 67 2e 20 20 3c 45 4d 3e 4e 6f 74 65 3a 3c 2f 45 4d 3e 20 74 68 utput.string...<EM>Note:</EM>.th
cfee0 69 73 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 68 6f 77 0a 20 20 20 20 20 20 20 is.is.different.from.how........
cff00 20 20 3c 43 4f 44 45 3e 73 6e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 68 61 6e 64 6c 65 73 20 ..<CODE>snprintf</CODE>.handles.
cff20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 this.situation...........<br><br
cff40 3e 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 6e 61 >.Note.that.the.corresponding.na
cff60 72 72 6f 77 20 73 74 72 65 61 6d 20 66 75 6e 63 74 69 6f 6e 20 74 61 6b 65 73 20 66 65 77 65 72 rrow.stream.function.takes.fewer
cff80 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 2e 20 20 3c 43 4f 44 45 3e 73 77 70 ..........parameters...<CODE>swp
cffa0 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 69 6e 20 66 61 63 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 rintf</CODE>.in.fact.corresponds
cffc0 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 6e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 0a 20 20 .to.the.<CODE>snprintf</CODE>...
cffe0 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 20 20 53 69 6e 63 65 20 74 68 65 20 3c 43 4f 44 .......function...Since.the.<COD
d0000 45 3e 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 E>sprintf</CODE>.function.can.be
d0020 20 64 61 6e 67 65 72 6f 75 73 20 61 6e 64 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 62 .dangerous.and.should..........b
d0040 65 20 61 76 6f 69 64 65 64 20 74 68 65 20 49 53 4f 20 43 20 63 6f 6d 6d 69 74 74 65 65 20 72 65 e.avoided.the.ISO.C.committee.re
d0060 66 75 73 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 73 61 6d 65 20 6d 69 73 74 61 6b 65 0a 20 fused.to.make.the.same.mistake..
d0080 20 20 20 20 20 20 20 20 61 67 61 69 6e 20 61 6e 64 20 64 65 63 69 64 65 64 20 74 6f 20 6e 6f 74 ........again.and.decided.to.not
d00a0 20 64 65 66 69 6e 65 20 61 6e 20 66 75 6e 63 74 69 6f 6e 20 65 78 61 63 74 6c 79 20 63 6f 72 72 .define.an.function.exactly.corr
d00c0 65 73 70 6f 6e 64 69 6e 67 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 70 72 69 esponding.to..........<CODE>spri
d00e0 6e 74 66 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 ntf</CODE>..........sq.~......w.
d0100 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1c 43 74 00 35 77 63 68 61 72 5f 74 20 2a ....t..wchar.hxq.~.Ct.5wchar_t.*
d0120 73 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 74 s,.size_t.size,.const.wchar_t.*t
d0140 65 6d 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 07 73 77 73 63 61 6e 66 73 71 00 7e emplate,....t..intt..swscanfsq.~
d0160 00 0a 70 74 02 32 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 ..pt.2.........This.is.like.<COD
d0180 45 3e 77 73 63 61 6e 66 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 E>wscanf</CODE>,.except.that.the
d01a0 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 74 61 6b 65 6e 20 66 72 6f 6d 20 74 68 65 0a 20 .characters.are.taken.from.the..
d01c0 20 20 20 20 20 20 20 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 74 72 69 6e 67 20 3c ........null-terminated.string.<
d01e0 56 41 52 3e 77 73 3c 2f 56 41 52 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 66 72 6f 6d 20 61 20 73 VAR>ws</VAR>.instead.of.from.a.s
d0200 74 72 65 61 6d 2e 20 20 52 65 61 63 68 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 6e tream...Reaching.the..........en
d0220 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 61 6e d.of.the.string.is.treated.as.an
d0240 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 20 63 6f 6e 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 .end-of-file.condition..........
d0260 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 69 73 20 66 .<br><br>.The.behavior.of.this.f
d0280 75 6e 63 74 69 6f 6e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 66 20 63 6f 70 79 69 6e 67 20 unction.is.undefined.if.copying.
d02a0 74 61 6b 65 73 20 70 6c 61 63 65 0a 20 20 20 20 20 20 20 20 20 62 65 74 77 65 65 6e 20 6f 62 6a takes.place..........between.obj
d02c0 65 63 74 73 20 74 68 61 74 20 6f 76 65 72 6c 61 70 2d 2d 2d 66 6f 72 20 65 78 61 6d 70 6c 65 2c ects.that.overlap---for.example,
d02e0 20 69 66 20 3c 56 41 52 3e 77 73 3c 2f 56 41 52 3e 20 69 73 20 61 6c 73 6f 20 67 69 76 65 6e 20 .if.<VAR>ws</VAR>.is.also.given.
d0300 61 73 0a 20 20 20 20 20 20 20 20 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 72 65 63 65 69 as..........an.argument.to.recei
d0320 76 65 20 61 20 73 74 72 69 6e 67 20 72 65 61 64 20 75 6e 64 65 72 20 63 6f 6e 74 72 6f 6c 20 6f ve.a.string.read.under.control.o
d0340 66 20 74 68 65 20 3c 73 61 6d 70 3e 25 73 3c 2f 73 61 6d 70 3e 2c 0a 20 20 20 20 20 20 20 20 20 f.the.<samp>%s</samp>,..........
d0360 3c 73 61 6d 70 3e 25 53 3c 2f 73 61 6d 70 3e 2c 20 6f 72 20 3c 73 61 6d 70 3e 25 5b 3c 2f 73 61 <samp>%S</samp>,.or.<samp>%[</sa
d0380 6d 70 3e 20 63 6f 6e 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 mp>.conversion..........sq.~....
d03a0 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1c 4a 74 00 2c 63 6f 6e 73 74 ..w.....t..wchar.hxq.~.Jt.,const
d03c0 20 77 63 68 61 72 5f 74 20 2a 77 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 .wchar_t.*ws,.const.char.*templa
d03e0 74 65 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 07 73 79 6d 6c 69 6e 6b 73 71 00 7e 00 0a 70 74 03 te,....t..intt..symlinksq.~..pt.
d0400 c8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 79 6d 6c 69 6e 6b 3c 2f 43 4f 44 ..........The.<CODE>symlink</COD
d0420 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 73 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e E>.function.makes.a.symbolic.lin
d0440 6b 20 74 6f 20 3c 56 41 52 3e 6f 6c 64 6e 61 6d 65 3c 2f 56 41 52 3e 20 6e 61 6d 65 64 0a 20 20 k.to.<VAR>oldname</VAR>.named...
d0460 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 .......<VAR>newname</VAR>.......
d0480 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 ....<br><br>.The.normal.return.v
d04a0 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 73 79 6d 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 69 alue.from.<CODE>symlink</CODE>.i
d04c0 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 20 20 41 20 72 65 74 75 72 6e 20 76 61 6c 75 s.<CODE>0</CODE>...A.return.valu
d04e0 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 6e e..........of.<CODE>-1</CODE>.in
d0500 64 69 63 61 74 65 73 20 61 6e 20 65 72 72 6f 72 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 dicates.an.error...In.addition.t
d0520 6f 20 74 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 73 o.the.usual.file.name..........s
d0540 79 6e 74 61 78 20 65 72 72 6f 72 73 20 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f yntax.errors.,.the.following.<CO
d0560 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 DE>errno</CODE>..........error.c
d0580 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 onditions.are.defined.for.this.f
d05a0 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a unction:..........<br><br>.<DL>.
d05c0 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 45 58 49 53 54 3c 2f 43 4f 44 45 ..........<DT><CODE>EEXIST</CODE
d05e0 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 6c 72 65 61 64 79 >.<DD>..........There.is.already
d0600 20 61 6e 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 20 6e 61 6d 65 64 20 3c 56 41 52 3e 6e 65 77 .an.existing.file.named.<VAR>new
d0620 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 name</VAR>...........<br><br>.<D
d0640 54 3e 3c 43 4f 44 45 3e 45 52 4f 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 T><CODE>EROFS</CODE>.<DD>.......
d0660 20 20 20 54 68 65 20 66 69 6c 65 20 3c 56 41 52 3e 6e 65 77 6e 61 6d 65 3c 2f 56 41 52 3e 20 77 ...The.file.<VAR>newname</VAR>.w
d0680 6f 75 6c 64 20 65 78 69 73 74 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 69 6c 65 20 73 ould.exist.on.a.read-only.file.s
d06a0 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f ystem...........<br><br>.<DT><CO
d06c0 44 45 3e 45 4e 4f 53 50 43 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 DE>ENOSPC</CODE>.<DD>..........T
d06e0 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 66 69 6c 65 20 73 79 73 74 65 6d 20 63 61 6e 6e he.directory.or.file.system.cann
d0700 6f 74 20 62 65 20 65 78 74 65 6e 64 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 6e 65 77 20 6c ot.be.extended.to.make.the.new.l
d0720 69 6e 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 ink...........<br><br>.<DT><CODE
d0740 3e 45 49 4f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 20 68 61 72 64 >EIO</CODE>.<DD>..........A.hard
d0760 77 61 72 65 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 77 68 69 6c 65 20 72 65 61 64 69 6e ware.error.occurred.while.readin
d0780 67 20 6f 72 20 77 72 69 74 69 6e 67 20 64 61 74 61 20 6f 6e 20 74 68 65 20 64 69 73 6b 2e 0a 20 g.or.writing.data.on.the.disk...
d07a0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e ........<br><br>...........</DL>
d07c0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 0b 73 79 73 2f .........sq.~......w.....t..sys/
d07e0 70 61 72 61 6d 2e 68 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1c 51 74 00 28 63 6f 6e 73 74 param.ht..unistd.hxq.~.Qt.(const
d0800 20 63 68 61 72 20 2a 6f 6c 64 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 65 77 6e .char.*oldname,.const.char.*newn
d0820 61 6d 65 74 00 03 69 6e 74 74 00 04 73 79 6e 63 73 71 00 7e 00 0a 70 74 01 c3 0a 20 20 20 20 20 amet..intt..syncsq.~..pt........
d0840 20 20 20 41 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 ...A.call.to.this.function.will.
d0860 6e 6f 74 20 72 65 74 75 72 6e 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 72 65 20 69 73 20 64 not.return.as.long.as.there.is.d
d0880 61 74 61 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 ata.which..........has.not.been.
d08a0 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 64 65 76 69 63 65 2e 20 20 41 6c 6c 20 64 69 72 74 written.to.the.device...All.dirt
d08c0 79 20 62 75 66 66 65 72 73 20 69 6e 20 74 68 65 20 6b 65 72 6e 65 6c 20 77 69 6c 6c 0a 20 20 20 y.buffers.in.the.kernel.will....
d08e0 20 20 20 20 20 20 62 65 20 77 72 69 74 74 65 6e 20 61 6e 64 20 73 6f 20 61 6e 20 6f 76 65 72 61 ......be.written.and.so.an.overa
d0900 6c 6c 20 63 6f 6e 73 69 73 74 65 6e 74 20 73 79 73 74 65 6d 20 63 61 6e 20 62 65 20 61 63 68 69 ll.consistent.system.can.be.achi
d0920 65 76 65 64 20 28 69 66 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 70 72 6f 63 65 eved.(if.no..........other.proce
d0940 73 73 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 77 72 69 74 65 73 20 64 61 74 61 29 2e 0a 20 20 20 ss.in.parallel.writes.data).....
d0960 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 70 72 6f 74 6f 74 79 70 65 20 66 6f 72 20 3c ......<br><br>.A.prototype.for.<
d0980 43 4f 44 45 3e 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e CODE>sync</CODE>.can.be.found.in
d09a0 20 3c 54 54 3e 75 6e 69 73 74 64 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .<TT>unistd.h</TT>...........<br
d09c0 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 74 ><br>.The.return.value.is.zero.t
d09e0 6f 20 69 6e 64 69 63 61 74 65 20 6e 6f 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 o.indicate.no.error..........sq.
d0a00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1c 59 74 00 ~......w.....t..unistd.hxq.~.Yt.
d0a20 04 76 6f 69 64 74 00 03 69 6e 74 74 00 07 73 79 73 63 61 6c 6c 73 71 00 7e 00 0a 70 74 08 80 0a .voidt..intt..syscallsq.~..pt...
d0a40 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 79 73 63 61 6c 6c 3c 2f ........<br><br>.<CODE>syscall</
d0a60 43 4f 44 45 3e 20 70 65 72 66 6f 72 6d 73 20 61 20 67 65 6e 65 72 69 63 20 73 79 73 74 65 6d 20 CODE>.performs.a.generic.system.
d0a80 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 20 63 61 6c 6c 20 6e 75 call...........<br><br>..call.nu
d0aa0 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 79 73 6e 6f 3c 2f 56 41 52 3e 20 69 mber..........<VAR>sysno</VAR>.i
d0ac0 73 20 74 68 65 20 73 79 73 74 65 6d 20 63 61 6c 6c 20 6e 75 6d 62 65 72 2e 20 20 45 61 63 68 20 s.the.system.call.number...Each.
d0ae0 6b 69 6e 64 20 6f 66 20 73 79 73 74 65 6d 20 63 61 6c 6c 20 69 73 0a 20 20 20 20 20 20 20 20 20 kind.of.system.call.is..........
d0b00 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 61 20 6e 75 6d 62 65 72 2e 20 20 4d 61 63 72 6f 73 20 identified.by.a.number...Macros.
d0b20 66 6f 72 20 61 6c 6c 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 73 79 73 74 65 6d 20 63 61 6c 6c for.all.the.possible.system.call
d0b40 20 6e 75 6d 62 65 72 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e .numbers..........are.defined.in
d0b60 20 3c 54 54 3e 73 79 73 2f 73 79 73 63 61 6c 6c 2e 68 3c 2f 54 54 3e 0a 20 20 20 20 20 20 20 20 .<TT>sys/syscall.h</TT>.........
d0b80 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 61 72 67 75 6d 65 6e 74 .<br><br>.The.remaining.argument
d0ba0 73 20 61 72 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 74 68 65 20 73 79 73 74 s.are.the.arguments.for.the.syst
d0bc0 65 6d 20 63 61 6c 6c 2c 20 69 6e 0a 20 20 20 20 20 20 20 20 20 6f 72 64 65 72 2c 20 61 6e 64 20 em.call,.in..........order,.and.
d0be0 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 73 20 64 65 70 65 6e 64 20 6f 6e 20 74 68 65 20 6b 69 6e their.meanings.depend.on.the.kin
d0c00 64 20 6f 66 20 73 79 73 74 65 6d 20 63 61 6c 6c 2e 20 20 45 61 63 68 20 6b 69 6e 64 0a 20 20 20 d.of.system.call...Each.kind....
d0c20 20 20 20 20 20 20 6f 66 20 73 79 73 74 65 6d 20 63 61 6c 6c 20 68 61 73 20 61 20 64 65 66 69 6e ......of.system.call.has.a.defin
d0c40 69 74 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 66 72 6f 6d 20 7a 65 ite.number.of.arguments,.from.ze
d0c60 72 6f 20 74 6f 20 66 69 76 65 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 79 6f 75 20 63 6f 64 65 ro.to.five...........If.you.code
d0c80 20 6d 6f 72 65 20 61 72 67 75 6d 65 6e 74 73 20 74 68 61 6e 20 74 68 65 20 73 79 73 74 65 6d 20 .more.arguments.than.the.system.
d0ca0 63 61 6c 6c 20 74 61 6b 65 73 2c 20 74 68 65 20 65 78 74 72 61 20 6f 6e 65 73 20 74 6f 0a 20 20 call.takes,.the.extra.ones.to...
d0cc0 20 20 20 20 20 20 20 74 68 65 20 72 69 67 68 74 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 20 20 .......the.right.are.ignored....
d0ce0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 .......<br><br>.The.return.value
d0d00 20 69 73 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 73 79 .is.the.return.value.from.the.sy
d0d20 73 74 65 6d 20 63 61 6c 6c 2c 20 75 6e 6c 65 73 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 stem.call,.unless.the..........s
d0d40 79 73 74 65 6d 20 63 61 6c 6c 20 66 61 69 6c 65 64 2e 20 20 49 6e 20 74 68 61 74 20 63 61 73 65 ystem.call.failed...In.that.case
d0d60 2c 20 3c 43 4f 44 45 3e 73 79 73 63 61 6c 6c 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c ,.<CODE>syscall</CODE>.returns.<
d0d80 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 73 65 74 73 CODE>-1</CODE>.and..........sets
d0da0 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 74 6f 20 61 6e 20 65 72 72 6f 72 20 .<CODE>errno</CODE>.to.an.error.
d0dc0 63 6f 64 65 20 74 68 61 74 20 74 68 65 20 73 79 73 74 65 6d 20 63 61 6c 6c 20 72 65 74 75 72 6e code.that.the.system.call.return
d0de0 65 64 2e 20 20 4e 6f 74 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 73 79 73 74 65 6d 20 63 ed...Note..........that.system.c
d0e00 61 6c 6c 73 20 64 6f 20 6e 6f 74 20 72 65 74 75 72 6e 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 alls.do.not.return.<CODE>-1</COD
d0e20 45 3e 20 77 68 65 6e 20 74 68 65 79 20 73 75 63 63 65 65 64 2e 0a 20 20 20 20 20 20 20 20 20 0a E>.when.they.succeed............
d0e40 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 73 70 65 63 69 66 79 .........<br><br>.If.you.specify
d0e60 20 61 6e 20 69 6e 76 61 6c 69 64 20 3c 56 41 52 3e 73 79 73 6e 6f 3c 2f 56 41 52 3e 2c 20 3c 43 .an.invalid.<VAR>sysno</VAR>,.<C
d0e80 4f 44 45 3e 73 79 73 63 61 6c 6c 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 ODE>syscall</CODE>.returns.<CODE
d0ea0 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 20 3c 43 4f 44 45 3e 65 >-1</CODE>..........with.<CODE>e
d0ec0 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 3d 20 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 rrno</CODE>.=.<CODE>ENOSYS</CODE
d0ee0 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 45 78 61 6d 70 6c 65 3a 0a 20 20 >...........<br><br>.Example:...
d0f00 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 .......<br><br>.<pre><br>.......
d0f20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 3c ...<br><br>.#include.<unistd.h><
d0f40 62 72 3e 0a 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 73 79 73 63 61 br>..........#include.<sys/sysca
d0f60 6c 6c 2e 68 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 ll.h><br>..........#include.<err
d0f80 6e 6f 2e 68 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 73 6d 61 no.h><br>..........<br><br>.<sma
d0fa0 6c 6c 3e 2e 2e 2e 3c 2f 73 6d 61 6c 6c 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e ll>...</small><br>..........<br>
d0fc0 3c 62 72 3e 20 69 6e 74 20 72 63 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 <br>.int.rc;<br>..........<br><b
d0fe0 72 3e 20 72 63 20 3d 20 73 79 73 63 61 6c 6c 28 53 59 53 5f 63 68 6d 6f 64 2c 20 22 2f 65 74 63 r>.rc.=.syscall(SYS_chmod,."/etc
d1000 2f 70 61 73 73 77 64 22 2c 20 30 34 34 34 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 /passwd",.0444);<br>..........<b
d1020 72 3e 3c 62 72 3e 20 69 66 20 28 72 63 20 3d 3d 20 2d 31 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 r><br>.if.(rc.==.-1)<br>........
d1040 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 63 68 6d 6f 64 20 66 61 69 6c .....fprintf(stderr,."chmod.fail
d1060 65 64 2c 20 65 72 72 6e 6f 20 3d 20 25 64 5c 6e 22 2c 20 65 72 72 6e 6f 29 3b 3c 62 72 3e 0a 20 ed,.errno.=.%d\n",.errno);<br>..
d1080 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 ........<br><br>.</pre><br>.....
d10a0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 2c 20 69 66 20 61 6c 6c 20 74 68 65 20 63 .....<br><br>.This,.if.all.the.c
d10c0 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 73 74 61 72 73 20 61 72 65 20 61 6c 69 67 6e 65 64 2c 20 ompatibility.stars.are.aligned,.
d10e0 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 is.equivalent.to.the<br>........
d1100 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 72 65 66 65 72 61 62 6c 65 20 63 6f 64 65 3a 3c 62 72 3e ..following.preferable.code:<br>
d1120 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 ..........<br><br>.<pre><br>....
d1140 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 79 70 ......<br><br>.#include.<sys/typ
d1160 65 73 2e 68 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 es.h><br>..........#include.<sys
d1180 2f 73 74 61 74 2e 68 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c /stat.h><br>..........#include.<
d11a0 65 72 72 6e 6f 2e 68 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c errno.h><br>..........<br><br>.<
d11c0 73 6d 61 6c 6c 3e 2e 2e 2e 3c 2f 73 6d 61 6c 6c 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c small>...</small><br>..........<
d11e0 62 72 3e 3c 62 72 3e 20 69 6e 74 20 72 63 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 br><br>.int.rc;<br>..........<br
d1200 3e 3c 62 72 3e 20 72 63 20 3d 20 63 68 6d 6f 64 28 22 2f 65 74 63 2f 70 61 73 73 77 64 22 2c 20 ><br>.rc.=.chmod("/etc/passwd",.
d1220 30 34 34 34 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 66 20 28 72 63 20 3d 3d 20 2d 31 0444);<br>..........if.(rc.==.-1
d1240 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 )<br>.............fprintf(stderr
d1260 2c 20 22 63 68 6d 6f 64 20 66 61 69 6c 65 64 2c 20 65 72 72 6e 6f 20 3d 20 25 64 5c 6e 22 2c 20 ,."chmod.failed,.errno.=.%d\n",.
d1280 65 72 72 6e 6f 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f errno);<br>..........<br><br>.</
d12a0 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 pre>..........<br><br>.........s
d12c0 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1c 60 q.~......w.....t..unistd.hxq.~.`
d12e0 74 00 13 6c 6f 6e 67 20 69 6e 74 20 73 79 73 6e 6f 2c 20 2e 2e 2e 74 00 08 6c 6f 6e 67 20 69 6e t..long.int.sysno,....t..long.in
d1300 74 74 00 07 73 79 73 63 6f 6e 66 73 71 00 7e 00 0a 70 74 02 96 0a 20 20 20 20 20 20 20 20 54 68 tt..sysconfsq.~..pt...........Th
d1320 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 69 6e 71 75 69 72 65 20 61 is.function.is.used.to.inquire.a
d1340 62 6f 75 74 20 72 75 6e 74 69 6d 65 20 73 79 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 73 2e 20 bout.runtime.system.parameters..
d1360 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 61 72 61 6d 65 74 65 72 3c 2f 56 41 .The..........<VAR>parameter</VA
d1380 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 68 6f 75 6c 64 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 R>.argument.should.be.one.of.the
d13a0 20 3c 73 61 6d 70 3e 5f 53 43 5f 3c 2f 73 61 6d 70 3e 20 73 79 6d 62 6f 6c 73 20 6c 69 73 74 65 .<samp>_SC_</samp>.symbols.liste
d13c0 64 0a 20 20 20 20 20 20 20 20 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c d..........below...........<br><
d13e0 62 72 3e 20 54 68 65 20 6e 6f 72 6d 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d br>.The.normal.return.value.from
d1400 20 3c 43 4f 44 45 3e 73 79 73 63 6f 6e 66 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 76 61 6c .<CODE>sysconf</CODE>.is.the.val
d1420 75 65 20 79 6f 75 20 72 65 71 75 65 73 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 41 20 76 61 6c ue.you.requested...........A.val
d1440 75 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 ue.of.<CODE>-1</CODE>.is.returne
d1460 64 20 62 6f 74 68 20 69 66 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 6f 65 d.both.if.the.implementation.doe
d1480 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 69 6d 70 6f 73 65 20 61 20 6c 69 6d 69 74 2c 20 61 s.not..........impose.a.limit,.a
d14a0 6e 64 20 69 6e 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 nd.in.case.of.an.error..........
d14c0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 .<br><br>.The.following.<CODE>er
d14e0 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 rno</CODE>.error.conditions.are.
d1500 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 defined.for.this.function:......
d1520 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e ....<br><br>.<DL>...........<DT>
d1540 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 <CODE>EINVAL</CODE>.<DD>........
d1560 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 70 61 72 61 6d 65 74 65 ..The.value.of.the.<VAR>paramete
d1580 72 3c 2f 56 41 52 3e 20 69 73 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 r</VAR>.is.invalid...........</D
d15a0 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 08 6c 69 L>.........sq.~......w.....t..li
d15c0 6d 69 74 73 2e 68 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1c 67 74 00 0d 69 6e 74 20 70 61 mits.ht..unistd.hxq.~.gt..int.pa
d15e0 72 61 6d 65 74 65 72 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 06 73 79 73 63 74 6c 73 71 00 7e 00 rametert..long.intt..sysctlsq.~.
d1600 0a 70 74 14 86 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 79 73 .pt...........<br><br>.<CODE>sys
d1620 63 74 6c 3c 2f 43 4f 44 45 3e 20 67 65 74 73 20 6f 72 20 73 65 74 73 20 61 20 73 70 65 63 69 66 ctl</CODE>.gets.or.sets.a.specif
d1640 69 65 64 20 73 79 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 2e 20 20 54 68 65 72 65 20 61 72 65 ied.system.parameter...There.are
d1660 20 73 6f 0a 20 20 20 20 20 20 20 20 20 6d 61 6e 79 20 6f 66 20 74 68 65 73 65 20 70 61 72 61 6d .so..........many.of.these.param
d1680 65 74 65 72 73 20 74 68 61 74 20 69 74 20 69 73 20 6e 6f 74 20 70 72 61 63 74 69 63 61 6c 20 74 eters.that.it.is.not.practical.t
d16a0 6f 20 6c 69 73 74 20 74 68 65 6d 20 61 6c 6c 20 68 65 72 65 2c 0a 20 20 20 20 20 20 20 20 20 62 o.list.them.all.here,..........b
d16c0 75 74 20 68 65 72 65 20 61 72 65 20 73 6f 6d 65 20 65 78 61 6d 70 6c 65 73 3a 0a 20 20 20 20 20 ut.here.are.some.examples:......
d16e0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 20 ....<br><br>.<OL>..........<LI>.
d1700 6e 65 74 77 6f 72 6b 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 network.domain.name..........<LI
d1720 3e 20 70 61 67 69 6e 67 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 >.paging.parameters..........<LI
d1740 3e 20 6e 65 74 77 6f 72 6b 20 41 64 64 72 65 73 73 20 52 65 73 6f 6c 75 74 69 6f 6e 20 50 72 6f >.network.Address.Resolution.Pro
d1760 74 6f 63 6f 6c 20 74 69 6d 65 6f 75 74 20 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e tocol.timeout.time..........<LI>
d1780 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 66 69 6c 65 73 20 74 68 61 74 20 6d 61 .maximum.number.of.files.that.ma
d17a0 79 20 62 65 20 6f 70 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 20 72 6f 6f 74 20 66 69 6c y.be.open..........<LI>.root.fil
d17c0 65 73 79 73 74 65 6d 20 64 65 76 69 63 65 0a 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 20 77 68 65 esystem.device..........<LI>.whe
d17e0 6e 20 6b 65 72 6e 65 6c 20 77 61 73 20 62 75 69 6c 74 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c n.kernel.was.built..........</OL
d1800 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 65 74 20 6f 66 20 61 >..........<br><br>.The.set.of.a
d1820 76 61 69 6c 61 62 6c 65 20 70 61 72 61 6d 65 74 65 72 73 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 vailable.parameters.depends.on.t
d1840 68 65 20 6b 65 72 6e 65 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 he.kernel.configuration.and.....
d1860 20 20 20 20 20 63 61 6e 20 63 68 61 6e 67 65 20 77 68 69 6c 65 20 74 68 65 20 73 79 73 74 65 6d .....can.change.while.the.system
d1880 20 69 73 20 72 75 6e 6e 69 6e 67 2c 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 77 68 65 6e 20 79 .is.running,.particularly.when.y
d18a0 6f 75 20 6c 6f 61 64 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 75 6e 6c 6f 61 64 20 6c 6f 61 64 ou.load.and..........unload.load
d18c0 61 62 6c 65 20 6b 65 72 6e 65 6c 20 6d 6f 64 75 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 able.kernel.modules...........<b
d18e0 72 3e 3c 62 72 3e 20 54 68 65 20 73 79 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 73 20 77 69 74 r><br>.The.system.parameters.wit
d1900 68 20 77 68 69 63 68 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 69 73 20 63 h.which.<CODE>syslog</CODE>.is.c
d1920 6f 6e 63 65 72 6e 65 64 20 61 72 65 20 61 72 72 61 6e 67 65 64 0a 20 20 20 20 20 20 20 20 20 69 oncerned.are.arranged..........i
d1940 6e 20 61 20 68 69 65 72 61 72 63 68 69 63 61 6c 20 73 74 72 75 63 74 75 72 65 20 6c 69 6b 65 20 n.a.hierarchical.structure.like.
d1960 61 20 68 69 65 72 61 72 63 68 69 63 61 6c 20 66 69 6c 65 73 79 73 74 65 6d 2e 20 20 54 6f 20 69 a.hierarchical.filesystem...To.i
d1980 64 65 6e 74 69 66 79 0a 20 20 20 20 20 20 20 20 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 70 61 dentify..........a.particular.pa
d19a0 72 61 6d 65 74 65 72 2c 20 79 6f 75 20 73 70 65 63 69 66 79 20 61 20 70 61 74 68 20 74 68 72 6f rameter,.you.specify.a.path.thro
d19c0 75 67 68 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 69 6e 20 61 0a 20 20 20 20 20 20 20 20 20 ugh.the.structure.in.a..........
d19e0 77 61 79 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 way.analogous.to.specifying.the.
d1a00 70 61 74 68 6e 61 6d 65 20 6f 66 20 61 20 66 69 6c 65 2e 20 20 45 61 63 68 20 63 6f 6d 70 6f 6e pathname.of.a.file...Each.compon
d1a20 65 6e 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 70 61 74 68 20 69 73 20 73 70 65 63 ent.of..........the.path.is.spec
d1a40 69 66 69 65 64 20 62 79 20 61 6e 20 69 6e 74 65 67 65 72 20 61 6e 64 20 65 61 63 68 20 6f 66 20 ified.by.an.integer.and.each.of.
d1a60 74 68 65 73 65 20 69 6e 74 65 67 65 72 73 20 68 61 73 20 61 0a 20 20 20 20 20 20 20 20 20 6d 61 these.integers.has.a..........ma
d1a80 63 72 6f 20 64 65 66 69 6e 65 64 20 66 6f 72 20 69 74 20 62 79 20 3c 54 54 3e 73 79 73 63 74 6c cro.defined.for.it.by.<TT>sysctl
d1aa0 2e 68 3c 2f 54 54 3e 2e 20 20 3c 56 41 52 3e 6e 61 6d 65 73 3c 2f 56 41 52 3e 20 69 73 20 74 68 .h</TT>...<VAR>names</VAR>.is.th
d1ac0 65 20 70 61 74 68 2c 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 e.path,.in..........the.form.of.
d1ae0 61 6e 20 61 72 72 61 79 20 6f 66 20 69 6e 74 65 67 65 72 73 2e 20 20 45 61 63 68 20 63 6f 6d 70 an.array.of.integers...Each.comp
d1b00 6f 6e 65 6e 74 20 6f 66 20 74 68 65 20 70 61 74 68 20 69 73 20 6f 6e 65 0a 20 20 20 20 20 20 20 onent.of.the.path.is.one........
d1b20 20 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 61 72 72 61 79 2c 20 69 6e 20 6f 72 64 65 72 ..element.of.the.array,.in.order
d1b40 2e 20 20 3c 56 41 52 3e 6e 6c 65 6e 3c 2f 56 41 52 3e 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 ...<VAR>nlen</VAR>.is.the.number
d1b60 20 6f 66 20 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 68 65 20 70 .of.components..........in.the.p
d1b80 61 74 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 6f 72 20 65 78 61 6d 70 ath...........<br><br>.For.examp
d1ba0 6c 65 2c 20 74 68 65 20 66 69 72 73 74 20 63 6f 6d 70 6f 6e 65 6e 74 20 6f 66 20 74 68 65 20 70 le,.the.first.component.of.the.p
d1bc0 61 74 68 20 66 6f 72 20 61 6c 6c 20 74 68 65 20 70 61 67 69 6e 67 0a 20 20 20 20 20 20 20 20 20 ath.for.all.the.paging..........
d1be0 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 3c 43 4f 44 45 3e 43 54 parameters.is.the.value.<CODE>CT
d1c00 4c 5f 56 4d 3c 2f 43 4f 44 45 3e 2e 20 20 46 6f 72 20 74 68 65 20 66 72 65 65 20 70 61 67 65 20 L_VM</CODE>...For.the.free.page.
d1c20 74 68 72 65 73 68 6f 6c 64 73 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 65 63 6f 6e 64 20 thresholds,.the..........second.
d1c40 63 6f 6d 70 6f 6e 65 6e 74 20 6f 66 20 74 68 65 20 70 61 74 68 20 69 73 20 3c 43 4f 44 45 3e 56 component.of.the.path.is.<CODE>V
d1c60 4d 5f 46 52 45 45 50 47 3c 2f 43 4f 44 45 3e 2e 20 20 53 6f 20 74 6f 20 67 65 74 20 74 68 65 20 M_FREEPG</CODE>...So.to.get.the.
d1c80 66 72 65 65 0a 20 20 20 20 20 20 20 20 20 70 61 67 65 20 74 68 72 65 73 68 6f 6c 64 20 76 61 6c free..........page.threshold.val
d1ca0 75 65 73 2c 20 6d 61 6b 65 20 3c 56 41 52 3e 6e 61 6d 65 73 3c 2f 56 41 52 3e 20 61 6e 20 61 72 ues,.make.<VAR>names</VAR>.an.ar
d1cc0 72 61 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 74 77 6f 0a 20 20 20 20 20 20 20 20 20 ray.containing.the.two..........
d1ce0 65 6c 65 6d 65 6e 74 73 20 3c 43 4f 44 45 3e 43 54 4c 5f 56 4d 3c 2f 43 4f 44 45 3e 20 61 6e 64 elements.<CODE>CTL_VM</CODE>.and
d1d00 20 3c 43 4f 44 45 3e 56 4d 5f 46 52 45 45 50 47 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 6d 61 6b 65 .<CODE>VM_FREEPG</CODE>.and.make
d1d20 20 3c 56 41 52 3e 6e 6c 65 6e 3c 2f 56 41 52 3e 20 3d 20 32 2e 0a 20 20 20 20 20 20 20 20 20 3c .<VAR>nlen</VAR>.=.2...........<
d1d40 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 br><br>.<br><br>.The.format.of.t
d1d60 68 65 20 76 61 6c 75 65 20 6f 66 20 61 20 70 61 72 61 6d 65 74 65 72 20 64 65 70 65 6e 64 73 20 he.value.of.a.parameter.depends.
d1d80 6f 6e 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 53 6f 6d 65 74 on.the.parameter...........Somet
d1da0 69 6d 65 73 20 69 74 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 3b 20 73 6f 6d 65 74 69 6d 65 73 imes.it.is.an.integer;.sometimes
d1dc0 20 69 74 20 69 73 20 61 6e 20 41 53 43 49 49 20 73 74 72 69 6e 67 3b 20 73 6f 6d 65 74 69 6d 65 .it.is.an.ASCII.string;.sometime
d1de0 73 0a 20 20 20 20 20 20 20 20 20 69 74 20 69 73 20 61 6e 20 65 6c 61 62 6f 72 61 74 65 20 73 74 s..........it.is.an.elaborate.st
d1e00 72 75 63 74 75 72 65 2e 20 20 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 74 68 65 20 66 72 65 ructure...In.the.case.of.the.fre
d1e20 65 20 70 61 67 65 20 74 68 72 65 73 68 6f 6c 64 73 0a 20 20 20 20 20 20 20 20 20 75 73 65 64 20 e.page.thresholds..........used.
d1e40 69 6e 20 74 68 65 20 65 78 61 6d 70 6c 65 20 61 62 6f 76 65 2c 20 74 68 65 20 70 61 72 61 6d 65 in.the.example.above,.the.parame
d1e60 74 65 72 20 76 61 6c 75 65 20 69 73 20 61 20 73 74 72 75 63 74 75 72 65 20 63 6f 6e 74 61 69 6e ter.value.is.a.structure.contain
d1e80 69 6e 67 0a 20 20 20 20 20 20 20 20 20 73 65 76 65 72 61 6c 20 69 6e 74 65 67 65 72 73 2e 0a 20 ing..........several.integers...
d1ea0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 61 6e 79 20 63 61 73 65 2c 20 79 6f ........<br><br>.In.any.case,.yo
d1ec0 75 20 69 64 65 6e 74 69 66 79 20 61 20 70 6c 61 63 65 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 u.identify.a.place.to.return.the
d1ee0 20 70 61 72 61 6d 65 74 65 72 27 73 20 76 61 6c 75 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 .parameter's.value.with.........
d1f00 20 3c 56 41 52 3e 6f 6c 64 76 61 6c 3c 2f 56 41 52 3e 20 61 6e 64 20 73 70 65 63 69 66 79 20 74 .<VAR>oldval</VAR>.and.specify.t
d1f20 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 73 74 6f 72 61 67 65 20 61 76 61 69 6c 61 62 6c 65 20 61 he.amount.of.storage.available.a
d1f40 74 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 6c 6f 63 61 74 69 6f 6e 20 61 73 20 2a 3c 56 41 t.that..........location.as.*<VA
d1f60 52 3e 6f 6c 64 6c 65 6e 70 3c 2f 56 41 52 3e 2e 20 20 2a 3c 56 41 52 3e 6f 6c 64 6c 65 6e 70 3c R>oldlenp</VAR>...*<VAR>oldlenp<
d1f80 2f 56 41 52 3e 20 64 6f 65 73 20 64 6f 75 62 6c 65 20 64 75 74 79 20 62 65 63 61 75 73 65 20 69 /VAR>.does.double.duty.because.i
d1fa0 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 61 6c 73 6f 20 74 68 65 20 6f 75 74 70 75 74 20 6c 6f t..........is.also.the.output.lo
d1fc0 63 61 74 69 6f 6e 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 61 63 74 75 61 6c 20 cation.that.contains.the.actual.
d1fe0 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 length.of.the..........returned.
d2000 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 value...........<br><br>.If.you.
d2020 64 6f 6e 27 74 20 77 61 6e 74 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 76 61 6c 75 65 20 72 don't.want.the.parameter.value.r
d2040 65 74 75 72 6e 65 64 2c 20 73 70 65 63 69 66 79 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 0a eturned,.specify.a.null.pointer.
d2060 20 20 20 20 20 20 20 20 20 66 6f 72 20 3c 56 41 52 3e 6f 6c 64 76 61 6c 3c 2f 56 41 52 3e 2e 0a .........for.<VAR>oldval</VAR>..
d2080 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 73 65 74 20 74 68 65 20 70 61 72 .........<br><br>.To.set.the.par
d20a0 61 6d 65 74 65 72 2c 20 73 70 65 63 69 66 79 20 74 68 65 20 61 64 64 72 65 73 73 20 61 6e 64 20 ameter,.specify.the.address.and.
d20c0 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 length.of.the.new.value.........
d20e0 20 61 73 20 3c 56 41 52 3e 6e 65 77 76 61 6c 3c 2f 56 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 6e .as.<VAR>newval</VAR>.and.<VAR>n
d2100 65 77 6c 65 6e 3c 2f 56 41 52 3e 2e 20 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 77 61 6e 74 20 ewlen</VAR>...If.you.don't.want.
d2120 74 6f 20 73 65 74 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 73 to.set.the.parameter,..........s
d2140 70 65 63 69 66 79 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 61 73 20 3c 56 41 52 3e 6e 65 pecify.a.null.pointer.as.<VAR>ne
d2160 77 76 61 6c 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 wval</VAR>...........<br><br>.If
d2180 20 79 6f 75 20 67 65 74 20 61 6e 64 20 73 65 74 20 61 20 70 61 72 61 6d 65 74 65 72 20 69 6e 20 .you.get.and.set.a.parameter.in.
d21a0 74 68 65 20 73 61 6d 65 20 3c 43 4f 44 45 3e 73 79 73 63 74 6c 3c 2f 43 4f 44 45 3e 20 63 61 6c the.same.<CODE>sysctl</CODE>.cal
d21c0 6c 2c 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 69 l,.the.value..........returned.i
d21e0 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 62 65 66 s.the.value.of.the.parameter.bef
d2200 6f 72 65 20 69 74 20 77 61 73 20 73 65 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ore.it.was.set...........<br><br
d2220 3e 20 45 61 63 68 20 73 79 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 20 68 61 73 20 61 20 73 65 >.Each.system.parameter.has.a.se
d2240 74 20 6f 66 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 0a t.of.permissions.similar.to.the.
d2260 20 20 20 20 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 6f 72 20 61 20 66 69 6c 65 20 .........permissions.for.a.file.
d2280 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e 20 64 69 (including.the.permissions.on.di
d22a0 72 65 63 74 6f 72 69 65 73 20 69 6e 20 69 74 73 0a 20 20 20 20 20 20 20 20 20 70 61 74 68 29 20 rectories.in.its..........path).
d22c0 74 68 61 74 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 79 6f 75 20 6d 61 79 20 67 that.determine.whether.you.may.g
d22e0 65 74 20 6f 72 20 73 65 74 20 69 74 2e 20 20 46 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 et.or.set.it...For.the.purposes.
d2300 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 73 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 65 of..........these.permissions,.e
d2320 76 65 72 79 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 very.parameter.is.considered.to.
d2340 62 65 20 6f 77 6e 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 75 70 65 72 75 73 be.owned.by.the..........superus
d2360 65 72 20 61 6e 64 20 47 72 6f 75 70 20 30 20 73 6f 20 70 72 6f 63 65 73 73 65 73 20 77 69 74 68 er.and.Group.0.so.processes.with
d2380 20 74 68 61 74 20 65 66 66 65 63 74 69 76 65 20 75 69 64 20 6f 72 20 67 69 64 20 6d 61 79 0a 20 .that.effective.uid.or.gid.may..
d23a0 20 20 20 20 20 20 20 20 68 61 76 65 20 6d 6f 72 65 20 61 63 63 65 73 73 20 74 6f 20 73 79 73 74 ........have.more.access.to.syst
d23c0 65 6d 20 70 61 72 61 6d 65 74 65 72 73 2e 20 20 55 6e 6c 69 6b 65 20 77 69 74 68 20 66 69 6c 65 em.parameters...Unlike.with.file
d23e0 73 2c 20 74 68 65 20 73 75 70 65 72 75 73 65 72 0a 20 20 20 20 20 20 20 20 20 64 6f 65 73 20 6e s,.the.superuser..........does.n
d2400 6f 74 20 69 6e 76 61 72 69 61 62 6c 79 20 68 61 76 65 20 66 75 6c 6c 20 70 65 72 6d 69 73 73 69 ot.invariably.have.full.permissi
d2420 6f 6e 20 74 6f 20 61 6c 6c 20 73 79 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 73 2c 20 62 65 63 on.to.all.system.parameters,.bec
d2440 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 73 6f 6d 65 20 6f 66 20 74 68 65 6d 20 61 72 65 20 64 ause..........some.of.them.are.d
d2460 65 73 69 67 6e 65 64 20 6e 6f 74 20 74 6f 20 62 65 20 63 68 61 6e 67 65 64 20 65 76 65 72 2e 0a esigned.not.to.be.changed.ever..
d2480 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 .........<br><br>.<br><br>.<CODE
d24a0 3e 73 79 73 63 74 6c 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 61 20 7a 65 72 6f 20 72 65 >sysctl</CODE>.returns.a.zero.re
d24c0 74 75 72 6e 20 76 61 6c 75 65 20 69 66 20 69 74 20 73 75 63 63 65 65 64 73 2e 20 20 4f 74 68 65 turn.value.if.it.succeeds...Othe
d24e0 72 77 69 73 65 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 rwise,.it..........returns.<CODE
d2500 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 73 65 74 73 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c >-1</CODE>.and.sets.<CODE>errno<
d2520 2f 43 4f 44 45 3e 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e 20 20 42 65 73 69 64 65 73 20 74 /CODE>.appropriately...Besides.t
d2540 68 65 0a 20 20 20 20 20 20 20 20 20 66 61 69 6c 75 72 65 73 20 74 68 61 74 20 61 70 70 6c 79 20 he..........failures.that.apply.
d2560 74 6f 20 61 6c 6c 20 73 79 73 74 65 6d 20 63 61 6c 6c 73 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 to.all.system.calls,.the.followi
d2580 6e 67 20 61 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c ng.are.the..........<CODE>errno<
d25a0 2f 43 4f 44 45 3e 20 63 6f 64 65 73 20 66 6f 72 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 66 61 /CODE>.codes.for.all.possible.fa
d25c0 69 6c 75 72 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a ilures:..........<br><br>.<DL>..
d25e0 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 0a 20 20 20 20 20 20 20 .........<DT><CODE>EPERM........
d2600 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 6e 6f 74 20 70 65 72 6d 69 74 74 65 64 20 74 ..The.process.is.not.permitted.t
d2620 6f 20 61 63 63 65 73 73 20 6f 6e 65 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f o.access.one.of.the.components.o
d2640 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 61 74 68 20 6f 66 20 74 68 65 20 73 79 73 74 65 f.the..........path.of.the.syste
d2660 6d 20 70 61 72 61 6d 65 74 65 72 20 6f 72 20 69 73 20 6e 6f 74 20 70 65 72 6d 69 74 74 65 64 20 m.parameter.or.is.not.permitted.
d2680 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 73 79 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 3c 2f to.access.the.system.parameter</
d26a0 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 69 74 73 65 6c 66 20 69 6e 20 74 68 CODE>.<DD>..........itself.in.th
d26c0 65 20 77 61 79 20 28 72 65 61 64 20 6f 72 20 77 72 69 74 65 29 20 74 68 61 74 20 69 74 20 72 65 e.way.(read.or.write).that.it.re
d26e0 71 75 65 73 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 quested...........<DT><CODE>ENOT
d2700 44 49 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 69 DIR</CODE>.<DD>..........There.i
d2720 73 20 6e 6f 20 73 79 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 20 63 6f 72 72 65 73 70 6f 6e 64 s.no.system.parameter.correspond
d2740 69 6e 67 20 74 6f 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 ing.to.<VAR>name</VAR>..........
d2760 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 46 41 55 4c 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 .<DT><CODE>EFAULT</CODE>.<DD>...
d2780 20 20 20 20 20 20 20 3c 56 41 52 3e 6f 6c 64 76 61 6c 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 .......<VAR>oldval</VAR>.is.not.
d27a0 6e 75 6c 6c 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 77 61 null,.which.means.the.process.wa
d27c0 6e 74 65 64 20 74 6f 20 72 65 61 64 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 2c 0a 20 20 20 20 nted.to.read.the.parameter,.....
d27e0 20 20 20 20 20 62 75 74 20 2a 3c 56 41 52 3e 6f 6c 64 6c 65 6e 70 3c 2f 56 41 52 3e 20 69 73 20 .....but.*<VAR>oldlenp</VAR>.is.
d2800 7a 65 72 6f 2c 20 73 6f 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 6c 61 63 65 20 74 6f 20 72 65 zero,.so.there.is.no.place.to.re
d2820 74 75 72 6e 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 turn.it...........<DT><CODE>EINV
d2840 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 4f 4c 3e 0a 20 20 20 AL</CODE>.<DD>..........<OL>....
d2860 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 63 65 73 73 20 ......<LI>..........The.process.
d2880 61 74 74 65 6d 70 74 65 64 20 74 6f 20 73 65 74 20 61 20 73 79 73 74 65 6d 20 70 61 72 61 6d 65 attempted.to.set.a.system.parame
d28a0 74 65 72 20 74 6f 20 61 20 76 61 6c 75 65 20 74 68 61 74 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 ter.to.a.value.that.is.not.valid
d28c0 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 61 74 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 ..........for.that.parameter....
d28e0 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 70 61 63 65 20 70 .......<LI>..........The.space.p
d2900 72 6f 76 69 64 65 64 20 66 6f 72 20 74 68 65 20 72 65 74 75 72 6e 20 6f 66 20 74 68 65 20 73 79 rovided.for.the.return.of.the.sy
d2920 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 6e 6f 74 20 74 68 65 20 72 69 67 68 74 0a stem.parameter.is.not.the.right.
d2940 20 20 20 20 20 20 20 20 20 73 69 7a 65 20 66 6f 72 20 74 68 61 74 20 70 61 72 61 6d 65 74 65 72 .........size.for.that.parameter
d2960 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 ...........</OL>..........<DT><C
d2980 4f 44 45 3e 45 4e 4f 4d 45 4d 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 76 61 6c 75 65 20 6d ODE>ENOMEM..........This.value.m
d29a0 61 79 20 62 65 20 72 65 74 75 72 6e 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 6d 6f ay.be.returned.instead.of.the.mo
d29c0 72 65 20 63 6f 72 72 65 63 74 20 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 20 69 re.correct.<CODE>EINVAL</CODE>.i
d29e0 6e 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 63 61 73 65 73 20 77 68 65 72 65 20 74 68 65 20 n.some..........cases.where.the.
d2a00 73 70 61 63 65 20 70 72 6f 76 69 64 65 64 20 66 6f 72 20 74 68 65 20 72 65 74 75 72 6e 20 6f 66 space.provided.for.the.return.of
d2a20 20 74 68 65 20 73 79 73 74 65 6d 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 74 6f 6f 3c 2f 43 4f .the.system.parameter.is.too</CO
d2a40 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 73 6d 61 6c 6c 2e 0a 20 20 20 20 20 20 20 DE>.<DD>..........small.........
d2a60 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ..<br><br>.</DL>..........<br><b
d2a80 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 79 r>.........sq.~......w.....t..sy
d2aa0 73 63 74 6c 2e 68 78 71 00 7e 1c 6f 74 00 57 69 6e 74 20 2a 6e 61 6d 65 73 2c 20 69 6e 74 20 6e sctl.hxq.~.ot.Wint.*names,.int.n
d2ac0 6c 65 6e 2c 20 76 6f 69 64 20 2a 6f 6c 64 76 61 6c 2c 20 20 20 20 20 20 20 20 73 69 7a 65 5f 74 len,.void.*oldval,........size_t
d2ae0 20 2a 6f 6c 64 6c 65 6e 70 2c 20 76 6f 69 64 20 2a 6e 65 77 76 61 6c 2c 20 73 69 7a 65 5f 74 20 .*oldlenp,.void.*newval,.size_t.
d2b00 6e 65 77 6c 65 6e 74 00 03 69 6e 74 74 00 06 73 79 73 6c 6f 67 73 71 00 7e 00 0a 70 74 14 f3 0a newlent..intt..syslogsq.~..pt...
d2b20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 ........<br><br>.<CODE>syslog</C
d2b40 4f 44 45 3e 20 73 75 62 6d 69 74 73 20 61 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 53 79 ODE>.submits.a.message.to.the.Sy
d2b60 73 6c 6f 67 20 66 61 63 69 6c 69 74 79 2e 20 20 49 74 20 64 6f 65 73 20 74 68 69 73 20 62 79 0a slog.facility...It.does.this.by.
d2b80 20 20 20 20 20 20 20 20 20 77 72 69 74 69 6e 67 20 74 6f 20 74 68 65 20 55 6e 69 78 20 64 6f 6d .........writing.to.the.Unix.dom
d2ba0 61 69 6e 20 73 6f 63 6b 65 74 20 3c 43 4f 44 45 3e 2f 64 65 76 2f 6c 6f 67 3c 2f 43 4f 44 45 3e ain.socket.<CODE>/dev/log</CODE>
d2bc0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 ...........<br><br>.<CODE>syslog
d2be0 3c 2f 43 4f 44 45 3e 20 73 75 62 6d 69 74 73 20 74 68 65 20 6d 65 73 73 61 67 65 20 77 69 74 68 </CODE>.submits.the.message.with
d2c00 20 74 68 65 20 66 61 63 69 6c 69 74 79 20 61 6e 64 20 70 72 69 6f 72 69 74 79 20 69 6e 64 69 63 .the.facility.and.priority.indic
d2c20 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 62 79 20 3c 56 41 52 3e 66 61 63 69 6c 69 74 79 5f 70 ated..........by.<VAR>facility_p
d2c40 72 69 6f 72 69 74 79 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 6d 61 63 72 6f 20 3c 43 4f 44 45 3e riority</VAR>...The.macro.<CODE>
d2c60 4c 4f 47 5f 4d 41 4b 45 50 52 49 3c 2f 43 4f 44 45 3e 20 67 65 6e 65 72 61 74 65 73 20 61 0a 20 LOG_MAKEPRI</CODE>.generates.a..
d2c80 20 20 20 20 20 20 20 20 66 61 63 69 6c 69 74 79 2f 70 72 69 6f 72 69 74 79 20 66 72 6f 6d 20 61 ........facility/priority.from.a
d2ca0 20 66 61 63 69 6c 69 74 79 20 61 6e 64 20 61 20 70 72 69 6f 72 69 74 79 2c 20 61 73 20 69 6e 20 .facility.and.a.priority,.as.in.
d2cc0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 65 78 61 6d 70 6c 65 3a 0a the.following..........example:.
d2ce0 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 .........<br><br>.<pre><br>.....
d2d00 20 20 20 20 20 4c 4f 47 5f 4d 41 4b 45 50 52 49 28 4c 4f 47 5f 55 53 45 52 2c 20 4c 4f 47 5f 57 .....LOG_MAKEPRI(LOG_USER,.LOG_W
d2d20 41 52 4e 49 4e 47 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a ARNING)<br>..........</pre><br>.
d2d40 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 70 6f 73 73 69 62 6c 65 20 76 .........<br><br>.The.possible.v
d2d60 61 6c 75 65 73 20 66 6f 72 20 74 68 65 20 66 61 63 69 6c 69 74 79 20 63 6f 64 65 20 61 72 65 20 alues.for.the.facility.code.are.
d2d80 28 6d 61 63 72 6f 73 29 3a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 (macros):<br>..........<br><br>.
d2da0 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e <br><br>.<DL>.<br>..........<DT>
d2dc0 3c 43 4f 44 45 3e 4c 4f 47 5f 55 53 45 52 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 41 20 6d 69 <CODE>LOG_USER<br>..........A.mi
d2de0 73 63 65 6c 6c 61 6e 65 6f 75 73 20 75 73 65 72 20 70 72 6f 63 65 73 73 3c 62 72 3e 3c 2f 43 4f scellaneous.user.process<br></CO
d2e00 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f DE>.<DD>..........<DT><CODE>LOG_
d2e20 4d 41 49 4c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 4d 61 69 6c 3c 62 72 3e 3c 2f 43 4f 44 45 MAIL<br>..........Mail<br></CODE
d2e40 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 44 41 >.<DD>..........<DT><CODE>LOG_DA
d2e60 45 4d 4f 4e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 41 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 EMON<br>..........A.miscellaneou
d2e80 73 20 73 79 73 74 65 6d 20 64 61 65 6d 6f 6e 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a s.system.daemon<br></CODE>.<DD>.
d2ea0 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 41 55 54 48 3c 62 72 3e 3c .........<DT><CODE>LOG_AUTH<br><
d2ec0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 65 63 75 72 69 74 79 20 28 61 /CODE>.<DD>..........Security.(a
d2ee0 75 74 68 6f 72 69 7a 61 74 69 6f 6e 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c uthorization)<br>..........<DT><
d2f00 43 4f 44 45 3e 4c 4f 47 5f 53 59 53 4c 4f 47 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 53 79 73 CODE>LOG_SYSLOG<br>..........Sys
d2f20 6c 6f 67 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 log<br></CODE>.<DD>..........<DT
d2f40 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4c 50 52 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 43 65 6e 74 ><CODE>LOG_LPR<br>..........Cent
d2f60 72 61 6c 20 70 72 69 6e 74 65 72 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 ral.printer<br></CODE>.<DD>.....
d2f80 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4e 45 57 53 3c 62 72 3e 3c 2f 43 4f 44 .....<DT><CODE>LOG_NEWS<br></COD
d2fa0 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4e 65 74 77 6f 72 6b 20 6e 65 77 73 20 28 65 E>.<DD>..........Network.news.(e
d2fc0 2e 67 2e 20 55 73 65 6e 65 74 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f .g..Usenet)<br>..........<DT><CO
d2fe0 44 45 3e 4c 4f 47 5f 55 55 43 50 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 55 55 43 50 3c 62 72 DE>LOG_UUCP<br>..........UUCP<br
d3000 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 ></CODE>.<DD>..........<DT><CODE
d3020 3e 4c 4f 47 5f 43 52 4f 4e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 43 72 6f 6e 20 61 6e 64 20 >LOG_CRON<br>..........Cron.and.
d3040 41 74 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e At<br></CODE>.<DD>..........<DT>
d3060 3c 43 4f 44 45 3e 4c 4f 47 5f 41 55 54 48 50 52 49 56 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 <CODE>LOG_AUTHPRIV<br></CODE>.<D
d3080 44 3e 0a 20 20 20 20 20 20 20 20 20 50 72 69 76 61 74 65 20 73 65 63 75 72 69 74 79 20 28 61 75 D>..........Private.security.(au
d30a0 74 68 6f 72 69 7a 61 74 69 6f 6e 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 thorization)<br>..........<DT><C
d30c0 4f 44 45 3e 4c 4f 47 5f 46 54 50 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 46 74 70 20 73 65 72 ODE>LOG_FTP<br>..........Ftp.ser
d30e0 76 65 72 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 ver<br></CODE>.<DD>..........<DT
d3100 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4c 4f 43 41 4c 30 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 4c ><CODE>LOG_LOCAL0<br>..........L
d3120 6f 63 61 6c 6c 79 20 64 65 66 69 6e 65 64 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 ocally.defined<br></CODE>.<DD>..
d3140 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4c 4f 43 41 4c 31 3c 62 72 3e ........<DT><CODE>LOG_LOCAL1<br>
d3160 0a 20 20 20 20 20 20 20 20 20 4c 6f 63 61 6c 6c 79 20 64 65 66 69 6e 65 64 3c 62 72 3e 3c 2f 43 ..........Locally.defined<br></C
d3180 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 ODE>.<DD>..........<DT><CODE>LOG
d31a0 5f 4c 4f 43 41 4c 32 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 4c 6f 63 61 6c 6c 79 20 64 65 66 _LOCAL2<br>..........Locally.def
d31c0 69 6e 65 64 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 ined<br></CODE>.<DD>..........<D
d31e0 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4c 4f 43 41 4c 33 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 T><CODE>LOG_LOCAL3<br>..........
d3200 4c 6f 63 61 6c 6c 79 20 64 65 66 69 6e 65 64 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a Locally.defined<br></CODE>.<DD>.
d3220 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4c 4f 43 41 4c 34 3c 62 72 .........<DT><CODE>LOG_LOCAL4<br
d3240 3e 0a 20 20 20 20 20 20 20 20 20 4c 6f 63 61 6c 6c 79 20 64 65 66 69 6e 65 64 3c 62 72 3e 3c 2f >..........Locally.defined<br></
d3260 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f CODE>.<DD>..........<DT><CODE>LO
d3280 47 5f 4c 4f 43 41 4c 35 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 4c 6f 63 61 6c 6c 79 20 64 65 G_LOCAL5<br>..........Locally.de
d32a0 66 69 6e 65 64 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c fined<br></CODE>.<DD>..........<
d32c0 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4c 4f 43 41 4c 36 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 DT><CODE>LOG_LOCAL6<br>.........
d32e0 20 4c 6f 63 61 6c 6c 79 20 64 65 66 69 6e 65 64 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e .Locally.defined<br></CODE>.<DD>
d3300 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4c 4f 43 41 4c 37 3c 62 ..........<DT><CODE>LOG_LOCAL7<b
d3320 72 3e 0a 20 20 20 20 20 20 20 20 20 4c 6f 63 61 6c 6c 79 20 64 65 66 69 6e 65 64 3c 62 72 3e 3c r>..........Locally.defined<br><
d3340 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 3c 62 72 3e 0a 20 /CODE>.<DD>..........</DL><br>..
d3360 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 52 65 73 75 6c 74 73 20 61 72 65 20 75 6e 64 ........<br><br>.Results.are.und
d3380 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 66 61 63 69 6c 69 74 79 20 63 6f 64 65 20 69 73 20 61 efined.if.the.facility.code.is.a
d33a0 6e 79 74 68 69 6e 67 20 65 6c 73 65 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c nything.else.<br>..........<br><
d33c0 62 72 3e 20 6e 6f 74 65 3a 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 72 65 br>.note:.<CODE>syslog</CODE>.re
d33e0 63 6f 67 6e 69 7a 65 73 20 6f 6e 65 20 6f 74 68 65 72 20 66 61 63 69 6c 69 74 79 20 63 6f 64 65 cognizes.one.other.facility.code
d3400 3a 20 74 68 61 74 20 6f 66 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6b 65 72 6e 65 :.that.of<br>..........the.kerne
d3420 6c 2e 20 20 42 75 74 20 79 6f 75 20 63 61 6e 27 74 20 73 70 65 63 69 66 79 20 74 68 61 74 20 66 l...But.you.can't.specify.that.f
d3440 61 63 69 6c 69 74 79 20 63 6f 64 65 20 77 69 74 68 20 74 68 65 73 65 3c 62 72 3e 0a 20 20 20 20 acility.code.with.these<br>.....
d3460 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 49 66 20 79 6f 75 20 74 72 79 2c 20 69 74 20 .....functions...If.you.try,.it.
d3480 6c 6f 6f 6b 73 20 74 68 65 20 73 61 6d 65 20 74 6f 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f looks.the.same.to.<CODE>syslog</
d34a0 43 4f 44 45 3e 20 61 73 20 69 66 20 79 6f 75 20 61 72 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 CODE>.as.if.you.are<br>.........
d34c0 20 72 65 71 75 65 73 74 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 61 63 69 6c 69 74 79 .requesting.the.default.facility
d34e0 2e 20 20 42 75 74 20 79 6f 75 20 77 6f 75 6c 64 6e 27 74 20 77 61 6e 74 20 74 6f 20 61 6e 79 77 ...But.you.wouldn't.want.to.anyw
d3500 61 79 2c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 62 65 63 61 75 73 65 20 61 6e 79 20 70 72 6f ay,<br>..........because.any.pro
d3520 67 72 61 6d 20 74 68 61 74 20 75 73 65 73 20 74 68 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 gram.that.uses.the.GNU.C.library
d3540 20 69 73 20 6e 6f 74 20 74 68 65 20 6b 65 72 6e 65 6c 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 .is.not.the.kernel.<br>.........
d3560 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 6a 75 73 74 20 61 20 70 72 69 .<br><br>.You.can.use.just.a.pri
d3580 6f 72 69 74 79 20 63 6f 64 65 20 61 73 20 3c 56 41 52 3e 66 61 63 69 6c 69 74 79 5f 70 72 69 6f ority.code.as.<VAR>facility_prio
d35a0 72 69 74 79 3c 2f 56 41 52 3e 2e 20 20 49 6e 20 74 68 61 74 3c 62 72 3e 0a 20 20 20 20 20 20 20 rity</VAR>...In.that<br>........
d35c0 20 20 63 61 73 65 2c 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 61 73 73 75 ..case,.<CODE>syslog</CODE>.assu
d35e0 6d 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 61 63 69 6c 69 74 79 20 65 73 74 61 62 6c 69 mes.the.default.facility.establi
d3600 73 68 65 64 20 77 68 65 6e 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 53 79 73 6c 6f shed.when.the<br>..........Syslo
d3620 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 61 73 20 6f 70 65 6e 65 64 2e 20 20 2e 3c 62 72 3e 0a g.connection.was.opened....<br>.
d3640 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 70 6f 73 73 69 62 6c 65 20 76 .........<br><br>.The.possible.v
d3660 61 6c 75 65 73 20 66 6f 72 20 74 68 65 20 70 72 69 6f 72 69 74 79 20 63 6f 64 65 20 61 72 65 20 alues.for.the.priority.code.are.
d3680 28 6d 61 63 72 6f 73 29 3a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 (macros):<br>..........<br><br>.
d36a0 3c 44 4c 3e 0a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 <DL>.<br>..........<DT><CODE>LOG
d36c0 5f 45 4d 45 52 47 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 _EMERG<br></CODE>.<DD>..........
d36e0 54 68 65 20 6d 65 73 73 61 67 65 20 73 61 79 73 20 74 68 65 20 73 79 73 74 65 6d 20 69 73 20 75 The.message.says.the.system.is.u
d3700 6e 75 73 61 62 6c 65 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e nusable.<br>..........<DT><CODE>
d3720 4c 4f 47 5f 41 4c 45 52 54 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 LOG_ALERT<br></CODE>.<DD>.......
d3740 20 20 20 41 63 74 69 6f 6e 20 6f 6e 20 74 68 65 20 6d 65 73 73 61 67 65 20 6d 75 73 74 20 62 65 ...Action.on.the.message.must.be
d3760 20 74 61 6b 65 6e 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 .taken.immediately.<br>.........
d3780 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 43 52 49 54 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c .<DT><CODE>LOG_CRIT<br></CODE>.<
d37a0 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 65 73 73 61 67 65 20 73 74 61 74 65 73 20 DD>..........The.message.states.
d37c0 61 20 63 72 69 74 69 63 61 6c 20 63 6f 6e 64 69 74 69 6f 6e 2e 3c 62 72 3e 0a 20 20 20 20 20 20 a.critical.condition.<br>.......
d37e0 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 45 52 52 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a ...<DT><CODE>LOG_ERR<br></CODE>.
d3800 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 65 73 73 61 67 65 20 64 65 73 63 72 69 <DD>..........The.message.descri
d3820 62 65 73 20 61 6e 20 65 72 72 6f 72 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c bes.an.error.<br>..........<DT><
d3840 43 4f 44 45 3e 4c 4f 47 5f 57 41 52 4e 49 4e 47 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e CODE>LOG_WARNING<br></CODE>.<DD>
d3860 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 61 20 77 61 72 6e 69 ..........The.message.is.a.warni
d3880 6e 67 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 4e ng.<br>..........<DT><CODE>LOG_N
d38a0 4f 54 49 43 45 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 OTICE<br></CODE>.<DD>..........T
d38c0 68 65 20 6d 65 73 73 61 67 65 20 64 65 73 63 72 69 62 65 73 20 61 20 6e 6f 72 6d 61 6c 20 62 75 he.message.describes.a.normal.bu
d38e0 74 20 69 6d 70 6f 72 74 61 6e 74 20 65 76 65 6e 74 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 t.important.event.<br>..........
d3900 3c 44 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 49 4e 46 4f 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 <DT><CODE>LOG_INFO<br></CODE>.<D
d3920 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 70 75 72 65 6c D>..........The.message.is.purel
d3940 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 61 6c 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 y.informational.<br>..........<D
d3960 54 3e 3c 43 4f 44 45 3e 4c 4f 47 5f 44 45 42 55 47 3c 62 72 3e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 T><CODE>LOG_DEBUG<br></CODE>.<DD
d3980 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 6f 6e 6c 79 20 66 >..........The.message.is.only.f
d39a0 6f 72 20 64 65 62 75 67 67 69 6e 67 20 70 75 72 70 6f 73 65 73 2e 3c 62 72 3e 0a 20 20 20 20 20 or.debugging.purposes.<br>......
d39c0 20 20 20 20 3c 2f 44 4c 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ....</DL><br>..........<br><br>.
d39e0 52 65 73 75 6c 74 73 20 61 72 65 20 75 6e 64 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 70 72 69 Results.are.undefined.if.the.pri
d3a00 6f 72 69 74 79 20 63 6f 64 65 20 69 73 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 2e 3c 62 72 3e ority.code.is.anything.else.<br>
d3a20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 70 72 6f 63 65 73 ..........<br><br>.If.the.proces
d3a40 73 20 64 6f 65 73 20 6e 6f 74 20 70 72 65 73 65 6e 74 6c 79 20 68 61 76 65 20 61 20 53 79 73 6c s.does.not.presently.have.a.Sysl
d3a60 6f 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 70 65 6e 20 28 69 2e 65 2e 2c 3c 62 72 3e 0a 20 20 og.connection.open.(i.e.,<br>...
d3a80 20 20 20 20 20 20 20 69 74 20 64 69 64 20 6e 6f 74 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 6f 70 65 .......it.did.not.call.<CODE>ope
d3aa0 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 29 2c 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 nlog</CODE>),.<CODE>syslog</CODE
d3ac0 3e 20 69 6d 70 6c 69 63 69 74 6c 79 20 6f 70 65 6e 73 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 >.implicitly.opens.the<br>......
d3ae0 20 20 20 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 ....connection.the.same.as.<CODE
d3b00 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 2c 20 77 69 74 68 20 74 68 65 20 >openlog</CODE>.would,.with.the.
d3b20 66 6f 6c 6c 6f 77 69 6e 67 20 64 65 66 61 75 6c 74 73 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 following.defaults<br>..........
d3b40 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 77 6f 75 6c 64 20 6f 74 68 65 72 for.information.that.would.other
d3b60 77 69 73 65 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6e 20 3c 43 4f 44 45 3e 6f 70 65 wise.be.included.in.an.<CODE>ope
d3b80 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 3a 20 54 nlog</CODE><br>..........call:.T
d3ba0 68 65 20 64 65 66 61 75 6c 74 20 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 20 73 74 72 69 6e 67 he.default.identification.string
d3bc0 20 69 73 20 74 68 65 20 70 72 6f 67 72 61 6d 20 6e 61 6d 65 2e 20 20 54 68 65 3c 62 72 3e 0a 20 .is.the.program.name...The<br>..
d3be0 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 64 65 66 61 75 6c 74 20 66 61 63 69 6c 69 74 79 ........default.default.facility
d3c00 20 69 73 20 3c 43 4f 44 45 3e 4c 4f 47 5f 55 53 45 52 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 .is.<CODE>LOG_USER</CODE>...The.
d3c20 64 65 66 61 75 6c 74 20 66 6f 72 20 61 6c 6c 20 74 68 65 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 default.for.all.the<br>.........
d3c40 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 69 6e 20 3c 56 41 52 3e 6f 70 74 69 .connection.options.in.<VAR>opti
d3c60 6f 6e 73 3c 2f 56 41 52 3e 20 69 73 20 61 73 20 69 66 20 74 68 6f 73 65 20 62 69 74 73 20 77 65 ons</VAR>.is.as.if.those.bits.we
d3c80 72 65 20 6f 66 66 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 79 73 6c 6f re.off.<br>..........<CODE>syslo
d3ca0 67 3c 2f 43 4f 44 45 3e 20 6c 65 61 76 65 73 20 74 68 65 20 53 79 73 6c 6f 67 20 63 6f 6e 6e 65 g</CODE>.leaves.the.Syslog.conne
d3cc0 63 74 69 6f 6e 20 6f 70 65 6e 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ction.open.<br>..........<br><br
d3ce0 3e 20 49 66 20 74 68 65 20 3c 54 54 3e 64 65 76 2f 6c 6f 67 3c 2f 54 54 3e 20 73 6f 63 6b 65 74 >.If.the.<TT>dev/log</TT>.socket
d3d00 20 69 73 20 6e 6f 74 20 6f 70 65 6e 20 61 6e 64 20 63 6f 6e 6e 65 63 74 65 64 2c 20 3c 43 4f 44 .is.not.open.and.connected,.<COD
d3d20 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6f 70 65 E>syslog</CODE><br>..........ope
d3d40 6e 73 20 61 6e 64 20 63 6f 6e 6e 65 63 74 73 20 69 74 2c 20 74 68 65 20 73 61 6d 65 20 61 73 20 ns.and.connects.it,.the.same.as.
d3d60 3c 43 4f 44 45 3e 6f 70 65 6e 6c 6f 67 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 3c 62 72 <CODE>openlog</CODE>.with.the<br
d3d80 3e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 4f 47 5f 4e 44 45 4c 41 59 3c 2f 43 4f 44 >..........<CODE>LOG_NDELAY</COD
d3da0 45 3e 20 6f 70 74 69 6f 6e 20 77 6f 75 6c 64 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 E>.option.would.<br>..........<b
d3dc0 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 4f 44 45 3e 20 6c 65 61 76 65 r><br>.<CODE>syslog</CODE>.leave
d3de0 73 20 3c 54 54 3e 2f 64 65 76 2f 6c 6f 67 3c 2f 54 54 3e 20 6f 70 65 6e 20 61 6e 64 20 63 6f 6e s.<TT>/dev/log</TT>.open.and.con
d3e00 6e 65 63 74 65 64 20 75 6e 6c 65 73 73 20 69 74 73 20 61 74 74 65 6d 70 74 3c 62 72 3e 0a 20 20 nected.unless.its.attempt<br>...
d3e20 20 20 20 20 20 20 20 74 6f 20 73 65 6e 64 20 74 68 65 20 6d 65 73 73 61 67 65 20 66 61 69 6c 65 .......to.send.the.message.faile
d3e40 64 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 d,.in.which.case.<CODE>syslog</C
d3e60 4f 44 45 3e 20 63 6c 6f 73 65 73 20 69 74 20 28 77 69 74 68 20 74 68 65 3c 62 72 3e 0a 20 20 20 ODE>.closes.it.(with.the<br>....
d3e80 20 20 20 20 20 20 68 6f 70 65 20 74 68 61 74 20 61 20 66 75 74 75 72 65 20 69 6d 70 6c 69 63 69 ......hope.that.a.future.implici
d3ea0 74 20 6f 70 65 6e 20 77 69 6c 6c 20 72 65 73 74 6f 72 65 20 74 68 65 20 53 79 73 6c 6f 67 20 63 t.open.will.restore.the.Syslog.c
d3ec0 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 61 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 75 73 61 62 onnection.to.a<br>..........usab
d3ee0 6c 65 20 73 74 61 74 65 29 2e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e le.state).<br>..........<br><br>
d3f00 20 45 78 61 6d 70 6c 65 3a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 .Example:<br>..........<br><br>.
d3f20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 23 69 6e 63 <pre><br>..........<br><br>.#inc
d3f40 6c 75 64 65 20 3c 73 79 73 6c 6f 67 2e 68 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 73 79 73 lude.<syslog.h><br>..........sys
d3f60 6c 6f 67 20 28 4c 4f 47 5f 4d 41 4b 45 50 52 49 28 4c 4f 47 5f 4c 4f 43 41 4c 31 2c 20 4c 4f 47 log.(LOG_MAKEPRI(LOG_LOCAL1,.LOG
d3f80 5f 45 52 52 4f 52 29 2c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 55 _ERROR),<br>.................."U
d3fa0 6e 61 62 6c 65 20 74 6f 20 6d 61 6b 65 20 6e 65 74 77 6f 72 6b 20 63 6f 6e 6e 65 63 74 69 6f 6e nable.to.make.network.connection
d3fc0 20 74 6f 20 25 73 2e 20 20 45 72 72 6f 72 3d 25 6d 22 2c 20 68 6f 73 74 29 3b 3c 62 72 3e 0a 20 .to.%s...Error=%m",.host);<br>..
d3fe0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 ........<br><br>.</pre>.........
d4000 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 .<br><br>.........sq.~......w...
d4020 00 0a 74 00 08 73 79 73 6c 6f 67 2e 68 78 71 00 7e 1c 76 74 00 28 69 6e 74 20 66 61 63 69 6c 69 ..t..syslog.hxq.~.vt.(int.facili
d4040 74 79 5f 70 72 69 6f 72 69 74 79 2c 20 63 68 61 72 20 2a 66 6f 72 6d 61 74 2c 20 2e 2e 2e 74 00 ty_priority,.char.*format,....t.
d4060 04 76 6f 69 64 74 00 06 73 79 73 74 65 6d 73 71 00 7e 00 0a 70 74 04 da 0a 20 20 20 20 20 20 20 .voidt..systemsq.~..pt..........
d4080 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 73 20 3c 56 41 52 3e 63 6f 6d .This.function.executes.<VAR>com
d40a0 6d 61 6e 64 3c 2f 56 41 52 3e 20 61 73 20 61 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 2e 20 20 mand</VAR>.as.a.shell.command...
d40c0 49 6e 20 74 68 65 20 47 4e 55 20 43 0a 20 20 20 20 20 20 20 20 20 6c 69 62 72 61 72 79 2c 20 69 In.the.GNU.C..........library,.i
d40e0 74 20 61 6c 77 61 79 73 20 75 73 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 68 65 6c 6c 20 t.always.uses.the.default.shell.
d4100 3c 43 4f 44 45 3e 73 68 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 75 6e 20 74 68 65 20 63 6f 6d 6d 61 <CODE>sh</CODE>.to.run.the.comma
d4120 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 69 74 20 73 nd...........In.particular,.it.s
d4140 65 61 72 63 68 65 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 69 6e 20 3c 43 4f 44 45 earches.the.directories.in.<CODE
d4160 3e 50 41 54 48 3c 2f 43 4f 44 45 3e 20 74 6f 20 66 69 6e 64 0a 20 20 20 20 20 20 20 20 20 70 72 >PATH</CODE>.to.find..........pr
d4180 6f 67 72 61 6d 73 20 74 6f 20 65 78 65 63 75 74 65 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 ograms.to.execute...The.return.v
d41a0 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 66 20 69 74 20 77 61 alue.is.<CODE>-1</CODE>.if.it.wa
d41c0 73 6e 27 74 0a 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 63 72 65 61 74 65 sn't..........possible.to.create
d41e0 20 74 68 65 20 73 68 65 6c 6c 20 70 72 6f 63 65 73 73 2c 20 61 6e 64 20 6f 74 68 65 72 77 69 73 .the.shell.process,.and.otherwis
d4200 65 20 69 73 20 74 68 65 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 e.is.the.status.of.the..........
d4220 73 68 65 6c 6c 20 70 72 6f 63 65 73 73 2e 20 20 2c 20 66 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e shell.process...,.for.details.on
d4240 20 68 6f 77 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 73 74 61 74 75 73 20 63 6f 64 65 20 63 .how.this..........status.code.c
d4260 61 6e 20 62 65 20 69 6e 74 65 72 70 72 65 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e an.be.interpreted...........<br>
d4280 3c 62 72 3e 20 49 66 20 74 68 65 20 3c 56 41 52 3e 63 6f 6d 6d 61 6e 64 3c 2f 56 41 52 3e 20 61 <br>.If.the.<VAR>command</VAR>.a
d42a0 72 67 75 6d 65 6e 74 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 61 20 72 65 74 rgument.is.a.null.pointer,.a.ret
d42c0 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 urn.value.of.zero..........indic
d42e0 61 74 65 73 20 74 68 61 74 20 6e 6f 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 65 73 73 6f 72 20 69 ates.that.no.command.processor.i
d4300 73 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 s.available...........<br><br>.T
d4320 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 his.function.is.a.cancellation.p
d4340 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d 73 2e oint.in.multi-threaded.programs.
d4360 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 69 66 20 ..This..........is.a.problem.if.
d4380 74 68 65 20 74 68 72 65 61 64 20 61 6c 6c 6f 63 61 74 65 73 20 73 6f 6d 65 20 72 65 73 6f 75 72 the.thread.allocates.some.resour
d43a0 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 ces.(like.memory,.file..........
d43c0 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 20 77 68 61 74 65 descriptors,.semaphores.or.whate
d43e0 76 65 72 29 20 61 74 20 74 68 65 20 74 69 6d 65 20 3c 43 4f 44 45 3e 73 79 73 74 65 6d 3c 2f 43 ver).at.the.time.<CODE>system</C
d4400 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 74 68 65 ODE>.is..........called...If.the
d4420 20 74 68 72 65 61 64 20 67 65 74 73 20 63 61 6e 63 65 6c 65 64 20 74 68 65 73 65 20 72 65 73 6f .thread.gets.canceled.these.reso
d4440 75 72 63 65 73 20 73 74 61 79 20 61 6c 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 75 6e urces.stay.allocated..........un
d4460 74 69 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 6e 64 73 2e 20 20 54 6f 20 61 76 6f 69 64 20 til.the.program.ends...To.avoid.
d4480 74 68 69 73 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 73 79 73 74 65 6d 3c 2f 43 4f 44 45 this.calls.to.<CODE>system</CODE
d44a0 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 75 >.should.be..........protected.u
d44c0 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 sing.cancellation.handlers......
d44e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 73 79 73 74 65 6d 3c 2f .....<br><br>.The.<CODE>system</
d4500 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 CODE>.function.is.declared.in.th
d4520 65 20 68 65 61 64 65 72 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 3c 54 54 3e 73 74 64 6c 69 e.header.file..........<TT>stdli
d4540 62 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 b.h</TT>..........sq.~......w...
d4560 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1c 7d 74 00 13 63 6f 6e 73 74 20 63 68 61 72 ..t..stdlib.hxq.~.}t..const.char
d4580 20 2a 63 6f 6d 6d 61 6e 64 74 00 03 69 6e 74 74 00 0b 73 79 73 76 5f 73 69 67 6e 61 6c 73 71 00 .*commandt..intt..sysv_signalsq.
d45a0 7e 00 0a 70 74 01 be 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 73 79 73 76 5f 73 ~..pt...........The.<CODE>sysv_s
d45c0 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 62 65 68 61 ignal</CODE>.implements.the.beha
d45e0 76 69 6f 72 20 6f 66 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 20 20 20 20 3c 43 vior.of.the.standard..........<C
d4600 4f 44 45 3e 73 69 67 6e 61 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 73 20 66 6f ODE>signal</CODE>.function.as.fo
d4620 75 6e 64 20 6f 6e 20 53 56 49 44 20 73 79 73 74 65 6d 73 2e 20 20 54 68 65 20 64 69 66 66 65 72 und.on.SVID.systems...The.differ
d4640 65 6e 63 65 20 74 6f 20 42 53 44 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d 73 20 69 73 20 ence.to.BSD..........systems.is.
d4660 74 68 61 74 20 74 68 65 20 68 61 6e 64 6c 65 72 20 69 73 20 64 65 69 6e 73 74 61 6c 6c 65 64 20 that.the.handler.is.deinstalled.
d4680 61 66 74 65 72 20 61 20 64 65 6c 69 76 65 72 79 20 6f 66 20 61 20 73 69 67 6e 61 6c 2e 0a 20 20 after.a.delivery.of.a.signal....
d46a0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 4e 6f .......<br><br>.Compatibility.No
d46c0 74 65 3a 20 41 73 20 73 61 69 64 20 61 62 6f 76 65 20 66 6f 72 20 3c 43 4f 44 45 3e 73 69 67 6e te:.As.said.above.for.<CODE>sign
d46e0 61 6c 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f al</CODE>,.this..........functio
d4700 6e 20 73 68 6f 75 6c 64 20 62 65 20 61 76 6f 69 64 65 64 20 77 68 65 6e 20 70 6f 73 73 69 62 6c n.should.be.avoided.when.possibl
d4720 65 2e 20 20 3c 43 4f 44 45 3e 73 69 67 61 63 74 69 6f 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 e...<CODE>sigaction</CODE>.is.th
d4740 65 0a 20 20 20 20 20 20 20 20 20 70 72 65 66 65 72 72 65 64 20 6d 65 74 68 6f 64 2e 0a 20 20 20 e..........preferred.method.....
d4760 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 69 67 6e 61 6c 2e 68 .....sq.~......w.....t..signal.h
d4780 78 71 00 7e 1c 84 74 00 1f 69 6e 74 20 73 69 67 6e 75 6d 2c 20 73 69 67 68 61 6e 64 6c 65 72 5f xq.~..t..int.signum,.sighandler_
d47a0 74 20 61 63 74 69 6f 6e 74 00 0c 73 69 67 68 61 6e 64 6c 65 72 5f 74 74 00 03 74 61 6e 73 71 00 t.actiont..sighandler_tt..tansq.
d47c0 7e 00 0a 70 74 01 5c 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 ~..pt.\.........These.functions.
d47e0 72 65 74 75 72 6e 20 74 68 65 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 return.the.tangent.of.<VAR>x</VA
d4800 52 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 67 69 76 65 6e 20 R>,.where.<VAR>x</VAR>.is.given.
d4820 69 6e 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 in..........radians...........<b
d4840 72 3e 3c 62 72 3e 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 65 20 74 61 6e 67 65 r><br>.Mathematically,.the.tange
d4860 6e 74 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 73 69 6e 67 75 6c 61 72 69 74 69 65 73 20 61 74 nt.function.has.singularities.at
d4880 20 6f 64 64 20 6d 75 6c 74 69 70 6c 65 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 70 69 2f 32 2e .odd.multiples..........of.pi/2.
d48a0 20 20 49 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 ..If.the.argument.<VAR>x</VAR>.i
d48c0 73 20 74 6f 6f 20 63 6c 6f 73 65 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 0a 20 20 20 20 s.too.close.to.one.of.these.....
d48e0 20 20 20 20 20 73 69 6e 67 75 6c 61 72 69 74 69 65 73 2c 20 3c 43 4f 44 45 3e 74 61 6e 3c 2f 43 .....singularities,.<CODE>tan</C
d4900 4f 44 45 3e 20 77 69 6c 6c 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 ODE>.will.signal.overflow.......
d4920 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
d4940 1c 8b 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 04 74 61 6e 66 73 71 00 ..t..double.xt..doublet..tanfsq.
d4960 7e 00 0a 70 74 01 5c 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 ~..pt.\.........These.functions.
d4980 72 65 74 75 72 6e 20 74 68 65 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 return.the.tangent.of.<VAR>x</VA
d49a0 52 3e 2c 20 77 68 65 72 65 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 67 69 76 65 6e 20 R>,.where.<VAR>x</VAR>.is.given.
d49c0 69 6e 0a 20 20 20 20 20 20 20 20 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 in..........radians...........<b
d49e0 72 3e 3c 62 72 3e 20 4d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 65 20 74 61 6e 67 65 r><br>.Mathematically,.the.tange
d4a00 6e 74 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 73 69 6e 67 75 6c 61 72 69 74 69 65 73 20 61 74 nt.function.has.singularities.at
d4a20 20 6f 64 64 20 6d 75 6c 74 69 70 6c 65 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 70 69 2f 32 2e .odd.multiples..........of.pi/2.
d4a40 20 20 49 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 ..If.the.argument.<VAR>x</VAR>.i
d4a60 73 20 74 6f 6f 20 63 6c 6f 73 65 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 0a 20 20 20 20 s.too.close.to.one.of.these.....
d4a80 20 20 20 20 20 73 69 6e 67 75 6c 61 72 69 74 69 65 73 2c 20 3c 43 4f 44 45 3e 74 61 6e 3c 2f 43 .....singularities,.<CODE>tan</C
d4aa0 4f 44 45 3e 20 77 69 6c 6c 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 ODE>.will.signal.overflow.......
d4ac0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
d4ae0 1c 92 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 04 74 61 6e 68 73 71 00 7e 00 ..t..float.xt..floatt..tanhsq.~.
d4b00 0a 70 74 00 eb 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 .pt...........These.functions.re
d4b20 74 75 72 6e 20 74 68 65 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c turn.the.hyperbolic.tangent.of.<
d4b40 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 6d 61 VAR>x</VAR>,..........defined.ma
d4b60 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 73 69 6e 68 20 28 3c 56 41 52 thematically.as.<CODE>sinh.(<VAR
d4b80 3e 78 3c 2f 56 41 52 3e 29 20 2f 20 63 6f 73 68 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c >x</VAR>)./.cosh.(<VAR>x</VAR>)<
d4ba0 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 79 20 6d 61 79 20 73 69 67 6e 61 6c /CODE>...........They.may.signal
d4bc0 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f .overflow.if.<VAR>x</VAR>.is.too
d4be0 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a .large..........sq.~......w.....
d4c00 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1c 99 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 t..math.hxq.~..t..double.xt..dou
d4c20 62 6c 65 74 00 05 74 61 6e 68 66 73 71 00 7e 00 0a 70 74 00 eb 0a 20 20 20 20 20 20 20 20 54 68 blet..tanhfsq.~..pt...........Th
d4c40 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 68 79 70 65 72 62 6f ese.functions.return.the.hyperbo
d4c60 6c 69 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 0a 20 20 20 lic.tangent.of.<VAR>x</VAR>,....
d4c80 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 6d 61 74 68 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 ......defined.mathematically.as.
d4ca0 3c 43 4f 44 45 3e 73 69 6e 68 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 20 2f 20 63 6f 73 68 <CODE>sinh.(<VAR>x</VAR>)./.cosh
d4cc0 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 .(<VAR>x</VAR>)</CODE>..........
d4ce0 20 54 68 65 79 20 6d 61 79 20 73 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 .They.may.signal.overflow.if.<VA
d4d00 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 R>x</VAR>.is.too.large..........
d4d20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1c a0 74 sq.~......w.....t..math.hxq.~..t
d4d40 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 05 74 61 6e 68 6c 73 71 00 7e 00 0a 70 ..float.xt..floatt..tanhlsq.~..p
d4d60 74 00 eb 0a 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 t...........These.functions.retu
d4d80 72 6e 20 74 68 65 20 68 79 70 65 72 62 6f 6c 69 63 20 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 rn.the.hyperbolic.tangent.of.<VA
d4da0 52 3e 78 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 6d 61 74 68 R>x</VAR>,..........defined.math
d4dc0 65 6d 61 74 69 63 61 6c 6c 79 20 61 73 20 3c 43 4f 44 45 3e 73 69 6e 68 20 28 3c 56 41 52 3e 78 ematically.as.<CODE>sinh.(<VAR>x
d4de0 3c 2f 56 41 52 3e 29 20 2f 20 63 6f 73 68 20 28 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 29 3c 2f 43 </VAR>)./.cosh.(<VAR>x</VAR>)</C
d4e00 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 79 20 6d 61 79 20 73 69 67 6e 61 6c 20 6f ODE>...........They.may.signal.o
d4e20 76 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c verflow.if.<VAR>x</VAR>.is.too.l
d4e40 61 72 67 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 arge..........sq.~......w.....t.
d4e60 06 6d 61 74 68 2e 68 78 71 00 7e 1c a7 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b .math.hxq.~..t..long.double.xt..
d4e80 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 04 74 61 6e 6c 73 71 00 7e 00 0a 70 74 01 5c 0a 20 20 20 long.doublet..tanlsq.~..pt.\....
d4ea0 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 20 74 68 65 20 .....These.functions.return.the.
d4ec0 74 61 6e 67 65 6e 74 20 6f 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2c 20 77 68 65 72 65 20 3c tangent.of.<VAR>x</VAR>,.where.<
d4ee0 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 67 69 76 65 6e 20 69 6e 0a 20 20 20 20 20 20 20 20 VAR>x</VAR>.is.given.in.........
d4f00 20 72 61 64 69 61 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4d 61 74 68 .radians...........<br><br>.Math
d4f20 65 6d 61 74 69 63 61 6c 6c 79 2c 20 74 68 65 20 74 61 6e 67 65 6e 74 20 66 75 6e 63 74 69 6f 6e ematically,.the.tangent.function
d4f40 20 68 61 73 20 73 69 6e 67 75 6c 61 72 69 74 69 65 73 20 61 74 20 6f 64 64 20 6d 75 6c 74 69 70 .has.singularities.at.odd.multip
d4f60 6c 65 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 70 69 2f 32 2e 20 20 49 66 20 74 68 65 20 61 72 les..........of.pi/2...If.the.ar
d4f80 67 75 6d 65 6e 74 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 63 6c 6f 73 65 gument.<VAR>x</VAR>.is.too.close
d4fa0 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 0a 20 20 20 20 20 20 20 20 20 73 69 6e 67 75 6c .to.one.of.these..........singul
d4fc0 61 72 69 74 69 65 73 2c 20 3c 43 4f 44 45 3e 74 61 6e 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 73 arities,.<CODE>tan</CODE>.will.s
d4fe0 69 67 6e 61 6c 20 6f 76 65 72 66 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 ignal.overflow..........sq.~....
d5000 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1c ae 74 00 0d 6c 6f 6e 67 20 64 ..w.....t..math.hxq.~..t..long.d
d5020 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 07 74 63 64 72 61 69 6e 73 ouble.xt..long.doublet..tcdrains
d5040 71 00 7e 00 0a 70 74 04 b1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 63 64 72 q.~..pt...........The.<CODE>tcdr
d5060 61 69 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 69 74 73 20 75 6e 74 69 6c 20 ain</CODE>.function.waits.until.
d5080 61 6c 6c 20 71 75 65 75 65 64 0a 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 20 74 6f 20 74 68 all.queued..........output.to.th
d50a0 65 20 74 65 72 6d 69 6e 61 6c 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 68 61 e.terminal.<VAR>filedes</VAR>.ha
d50c0 73 20 62 65 65 6e 20 74 72 61 6e 73 6d 69 74 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 s.been.transmitted...........<br
d50e0 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 63 61 6e 63 65 6c 6c ><br>.This.function.is.a.cancell
d5100 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 ation.point.in.multi-threaded.pr
d5120 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 69 73 20 61 20 70 72 6f 62 ograms...This..........is.a.prob
d5140 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 61 6c 6c 6f 63 61 74 65 73 20 73 6f 6d 65 lem.if.the.thread.allocates.some
d5160 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 0a 20 20 .resources.(like.memory,.file...
d5180 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f .......descriptors,.semaphores.o
d51a0 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 68 65 20 74 69 6d 65 20 3c 43 4f 44 45 3e 74 63 r.whatever).at.the.time.<CODE>tc
d51c0 64 72 61 69 6e 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 2e drain</CODE>.is..........called.
d51e0 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 74 73 20 63 61 6e 63 65 6c 65 64 20 74 68 ..If.the.thread.gets.canceled.th
d5200 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 20 61 6c 6c 6f 63 61 74 65 64 0a 20 20 20 ese.resources.stay.allocated....
d5220 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 6e 64 73 2e 20 20 54 ......until.the.program.ends...T
d5240 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 74 63 64 72 o.avoid.this.calls.to.<CODE>tcdr
d5260 61 69 6e 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 70 72 ain</CODE>.should.be..........pr
d5280 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 68 61 6e 64 6c otected.using.cancellation.handl
d52a0 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 ers...........<br><br>.The.retur
d52c0 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 7a 65 72 6f 2e 20 20 49 6e 20 74 68 n.value.is.normally.zero...In.th
d52e0 65 20 65 76 65 6e 74 20 6f 66 20 61 6e 20 65 72 72 6f 72 2c 20 61 20 76 61 6c 75 65 0a 20 20 20 e.event.of.an.error,.a.value....
d5300 20 20 20 20 20 20 6f 66 20 2d 31 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 65 20 66 6f ......of.-1.is.returned...The.fo
d5320 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 llowing.<CODE>errno</CODE>.error
d5340 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 64 65 66 69 6e 65 64 .conditions..........are.defined
d5360 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .for.this.function:..........<br
d5380 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 ><br>.<DL>...........<DT><CODE>E
d53a0 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 BADF</CODE>.<DD>..........The.<V
d53c0 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 AR>filedes</VAR>.is.not.a.valid.
d53e0 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 file.descriptor...........<br><b
d5400 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 54 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a r>.<DT><CODE>ENOTTY</CODE>.<DD>.
d5420 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 .........The.<VAR>filedes</VAR>.
d5440 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 74 65 72 6d 69 6e 61 is.not.associated.with.a.termina
d5460 6c 20 64 65 76 69 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e l.device...........<br><br>.<DT>
d5480 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 <CODE>EINTR</CODE>.<DD>.........
d54a0 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 .The.operation.was.interrupted.b
d54c0 79 20 64 65 6c 69 76 65 72 79 20 6f 66 20 61 20 73 69 67 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 y.delivery.of.a.signal..........
d54e0 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f ............</DL>.........sq.~..
d5500 00 00 00 01 77 04 00 00 00 0a 74 00 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e 1c b5 74 00 0b 69 ....w.....t..termios.hxq.~..t..i
d5520 6e 74 20 66 69 6c 65 64 65 73 74 00 03 69 6e 74 74 00 06 74 63 66 6c 6f 77 73 71 00 7e 00 0a 70 nt.filedest..intt..tcflowsq.~..p
d5540 74 05 a6 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 63 66 6c 6f 77 3c 2f 43 4f t...........The.<CODE>tcflow</CO
d5560 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 70 65 72 66 6f 72 6d 20 DE>.function.is.used.to.perform.
d5580 6f 70 65 72 61 74 69 6f 6e 73 20 72 65 6c 61 74 69 6e 67 20 74 6f 0a 20 20 20 20 20 20 20 20 20 operations.relating.to..........
d55a0 58 4f 4e 2f 58 4f 46 46 20 66 6c 6f 77 20 63 6f 6e 74 72 6f 6c 20 6f 6e 20 74 68 65 20 74 65 72 XON/XOFF.flow.control.on.the.ter
d55c0 6d 69 6e 61 6c 20 66 69 6c 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 3c 56 41 52 3e 66 69 6c minal.file.specified.by.<VAR>fil
d55e0 65 64 65 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 edes</VAR>...........<br><br>.Th
d5600 65 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 70 65 e.<VAR>action</VAR>.argument.spe
d5620 63 69 66 69 65 73 20 77 68 61 74 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 6d cifies.what.operation.to.perform
d5640 2c 20 61 6e 64 20 63 61 6e 0a 20 20 20 20 20 20 20 20 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 ,.and.can..........be.one.of.the
d5660 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .following.values:..........<br>
d5680 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 44 <br>.<DL>.....................<D
d56a0 54 3e 3c 43 4f 44 45 3e 54 43 4f 4f 46 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 T><CODE>TCOOFF</CODE>.<DD>......
d56c0 20 20 20 20 53 75 73 70 65 6e 64 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 20 6f 66 20 6f 75 74 70 ....Suspend.transmission.of.outp
d56e0 75 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 ut...........<br><br>...........
d5700 3c 44 54 3e 3c 43 4f 44 45 3e 54 43 4f 4f 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 <DT><CODE>TCOON</CODE>.<DD>.....
d5720 20 20 20 20 20 52 65 73 74 61 72 74 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 20 6f 66 20 6f 75 74 .....Restart.transmission.of.out
d5740 70 75 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 put...........<br><br>..........
d5760 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 43 49 4f 46 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 .<DT><CODE>TCIOFF</CODE>.<DD>...
d5780 20 20 20 20 20 20 20 54 72 61 6e 73 6d 69 74 20 61 20 53 54 4f 50 20 63 68 61 72 61 63 74 65 72 .......Transmit.a.STOP.character
d57a0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 44 ...........<br><br>...........<D
d57c0 54 3e 3c 43 4f 44 45 3e 54 43 49 4f 4e 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 T><CODE>TCION</CODE>.<DD>.......
d57e0 20 20 20 54 72 61 6e 73 6d 69 74 20 61 20 53 54 41 52 54 20 63 68 61 72 61 63 74 65 72 2e 0a 20 ...Transmit.a.START.character...
d5800 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ........</DL>..........<br><br>.
d5820 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 53 For.more.information.about.the.S
d5840 54 4f 50 20 61 6e 64 20 53 54 41 52 54 20 63 68 61 72 61 63 74 65 72 73 2c 20 73 65 65 20 53 70 TOP.and.START.characters,.see.Sp
d5860 65 63 69 61 6c 0a 20 20 20 20 20 20 20 20 20 43 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 ecial..........Characters.......
d5880 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 ....<br><br>.The.return.value.is
d58a0 20 6e 6f 72 6d 61 6c 6c 79 20 7a 65 72 6f 2e 20 20 49 6e 20 74 68 65 20 65 76 65 6e 74 20 6f 66 .normally.zero...In.the.event.of
d58c0 20 61 6e 20 65 72 72 6f 72 2c 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 2d .an.error,.a.value..........of.-
d58e0 31 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 1.is.returned...The.following.<C
d5900 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e ODE>errno</CODE>.error.condition
d5920 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 s..........are.defined.for.this.
d5940 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e function:..........<br><br>.<DL>
d5960 0a 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 .....................<DT><CODE>E
d5980 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 BADF</CODE>.<DD>..........The.<V
d59a0 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 AR>filedes</VAR>.is.not.a.valid.
d59c0 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 file.descriptor...........<br><b
d59e0 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 54 59 3c 2f 43 r>...........<DT><CODE>ENOTTY</C
d5a00 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 ODE>.<DD>..........The.<VAR>file
d5a20 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 des</VAR>.is.not.associated.with
d5a40 20 61 20 74 65 72 6d 69 6e 61 6c 20 64 65 76 69 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .a.terminal.device...........<br
d5a60 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c ><br>...........<DT><CODE>EINVAL
d5a80 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 20 62 61 64 20 76 61 6c 75 </CODE>.<DD>..........A.bad.valu
d5aa0 65 20 77 61 73 20 73 75 70 70 6c 69 65 64 20 61 73 20 74 68 65 20 3c 56 41 52 3e 61 63 74 69 6f e.was.supplied.as.the.<VAR>actio
d5ac0 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e n</VAR>.argument...........</DL>
d5ae0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 74 65 72 6d .........sq.~......w.....t..term
d5b00 69 6f 73 2e 68 78 71 00 7e 1c bc 74 00 17 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 69 6e 74 20 61 ios.hxq.~..t..int.filedes,.int.a
d5b20 63 74 69 6f 6e 74 00 03 69 6e 74 74 00 07 74 63 66 6c 75 73 68 73 71 00 7e 00 0a 70 74 06 7e 0a ctiont..intt..tcflushsq.~..pt.~.
d5b40 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 63 66 6c 75 73 68 3c 2f 43 4f 44 45 3e ........The.<CODE>tcflush</CODE>
d5b60 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 63 6c 65 61 72 20 74 68 65 20 69 .function.is.used.to.clear.the.i
d5b80 6e 70 75 74 20 61 6e 64 2f 6f 72 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 71 75 65 75 nput.and/or.output..........queu
d5ba0 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 es.associated.with.the.terminal.
d5bc0 66 69 6c 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 3c 56 file.<VAR>filedes</VAR>...The.<V
d5be0 41 52 3e 71 75 65 75 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 61 72 67 75 6d 65 6e 74 AR>queue</VAR>..........argument
d5c00 20 73 70 65 63 69 66 69 65 73 20 77 68 69 63 68 20 71 75 65 75 65 28 73 29 20 74 6f 20 63 6c 65 .specifies.which.queue(s).to.cle
d5c20 61 72 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 ar,.and.can.be.one.of.the.......
d5c40 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 ...following.values:..........<b
d5c60 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 r><br>.<DL>.....................
d5c80 3c 44 54 3e 3c 43 4f 44 45 3e 54 43 49 46 4c 55 53 48 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 <DT><CODE>TCIFLUSH</CODE>.<DD>..
d5ca0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 43 6c 65 61 72 20 61 6e 79 20 69 6e 70 75 74 ........<br><br>.Clear.any.input
d5cc0 20 64 61 74 61 20 72 65 63 65 69 76 65 64 2c 20 62 75 74 20 6e 6f 74 20 79 65 74 20 72 65 61 64 .data.received,.but.not.yet.read
d5ce0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 44 ...........<br><br>...........<D
d5d00 54 3e 3c 43 4f 44 45 3e 54 43 4f 46 4c 55 53 48 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 T><CODE>TCOFLUSH</CODE>.<DD>....
d5d20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 43 6c 65 61 72 20 61 6e 79 20 6f 75 74 70 75 74 20 ......<br><br>.Clear.any.output.
d5d40 64 61 74 61 20 77 72 69 74 74 65 6e 2c 20 62 75 74 20 6e 6f 74 20 79 65 74 20 74 72 61 6e 73 6d data.written,.but.not.yet.transm
d5d60 69 74 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 itted...........<br><br>........
d5d80 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 43 49 4f 46 4c 55 53 48 3c 2f 43 4f 44 45 3e 0a 3c 44 ...<DT><CODE>TCIOFLUSH</CODE>.<D
d5da0 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 43 6c 65 61 72 20 62 6f 74 68 20 D>..........<br><br>.Clear.both.
d5dc0 71 75 65 75 65 64 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 20 queued.input.and.output.........
d5de0 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 ..</DL>..........<br><br>.The.re
d5e00 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 7a 65 72 6f 2e 20 20 49 6e turn.value.is.normally.zero...In
d5e20 20 74 68 65 20 65 76 65 6e 74 20 6f 66 20 61 6e 20 65 72 72 6f 72 2c 20 61 20 76 61 6c 75 65 0a .the.event.of.an.error,.a.value.
d5e40 20 20 20 20 20 20 20 20 20 6f 66 20 2d 31 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 65 .........of.-1.is.returned...The
d5e60 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 .following.<CODE>errno</CODE>.er
d5e80 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 64 65 66 69 ror.conditions..........are.defi
d5ea0 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 ned.for.this.function:..........
d5ec0 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 <br><br>.<DL>...........<DT><COD
d5ee0 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 E>EBADF</CODE>.<DD>..........The
d5f00 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 76 61 6c .<VAR>filedes</VAR>.is.not.a.val
d5f20 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 id.file.descriptor...........<br
d5f40 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 54 59 3c 2f 43 4f 44 45 3e 0a 3c 44 ><br>.<DT><CODE>ENOTTY</CODE>.<D
d5f60 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 D>..........The.<VAR>filedes</VA
d5f80 52 3e 20 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 74 65 72 6d R>.is.not.associated.with.a.term
d5fa0 69 6e 61 6c 20 64 65 76 69 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c inal.device...........<br><br>.<
d5fc0 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>EINVAL</CODE>.<DD>.....
d5fe0 20 20 20 20 20 41 20 62 61 64 20 76 61 6c 75 65 20 77 61 73 20 73 75 70 70 6c 69 65 64 20 61 73 .....A.bad.value.was.supplied.as
d6000 20 74 68 65 20 3c 56 41 52 3e 71 75 65 75 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 0a .the.<VAR>queue</VAR>.argument..
d6020 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e .........</DL>..........<br><br>
d6040 20 49 74 20 69 73 20 75 6e 66 6f 72 74 75 6e 61 74 65 20 74 68 61 74 20 74 68 69 73 20 66 75 6e .It.is.unfortunate.that.this.fun
d6060 63 74 69 6f 6e 20 69 73 20 6e 61 6d 65 64 20 3c 43 4f 44 45 3e 74 63 66 6c 75 73 68 3c 2f 43 4f ction.is.named.<CODE>tcflush</CO
d6080 44 45 3e 2c 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 20 60 DE>,.because..........the.term.`
d60a0 60 66 6c 75 73 68 27 27 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 75 73 65 64 20 66 6f 72 20 71 75 `flush''.is.normally.used.for.qu
d60c0 69 74 65 20 61 6e 6f 74 68 65 72 20 6f 70 65 72 61 74 69 6f 6e 2d 2d 2d 77 61 69 74 69 6e 67 0a ite.another.operation---waiting.
d60e0 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 61 6c 6c 20 6f 75 74 70 75 74 20 69 73 20 74 72 61 .........until.all.output.is.tra
d6100 6e 73 6d 69 74 74 65 64 2d 2d 2d 61 6e 64 20 75 73 69 6e 67 20 69 74 20 66 6f 72 20 64 69 73 63 nsmitted---and.using.it.for.disc
d6120 61 72 64 69 6e 67 20 69 6e 70 75 74 20 6f 72 0a 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 20 arding.input.or..........output.
d6140 77 6f 75 6c 64 20 62 65 20 63 6f 6e 66 75 73 69 6e 67 2e 20 20 55 6e 66 6f 72 74 75 6e 61 74 65 would.be.confusing...Unfortunate
d6160 6c 79 2c 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e 74 63 66 6c 75 73 68 3c 2f 43 4f 44 45 ly,.the.name.<CODE>tcflush</CODE
d6180 3e 20 63 6f 6d 65 73 0a 20 20 20 20 20 20 20 20 20 66 72 6f 6d 20 50 4f 53 49 58 20 61 6e 64 20 >.comes..........from.POSIX.and.
d61a0 77 65 20 63 61 6e 6e 6f 74 20 63 68 61 6e 67 65 20 69 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 we.cannot.change.it..........sq.
d61c0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e 1c c3 74 ~......w.....t..termios.hxq.~..t
d61e0 00 16 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 69 6e 74 20 71 75 65 75 65 74 00 03 69 6e 74 74 00 ..int.filedes,.int.queuet..intt.
d6200 09 74 63 67 65 74 61 74 74 72 73 71 00 7e 00 0a 70 74 02 be 0a 20 20 20 20 20 20 20 20 54 68 69 .tcgetattrsq.~..pt...........Thi
d6220 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 65 78 61 6d 69 6e 65 20 74 68 s.function.is.used.to.examine.th
d6240 65 20 61 74 74 72 69 62 75 74 65 73 20 6f 66 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 0a 20 20 20 e.attributes.of.the.terminal....
d6260 20 20 20 20 20 20 64 65 76 69 63 65 20 77 69 74 68 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f ......device.with.file.descripto
d6280 72 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 61 74 74 72 69 r.<VAR>filedes</VAR>...The.attri
d62a0 62 75 74 65 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 74 butes.are.returned..........in.t
d62c0 68 65 20 73 74 72 75 63 74 75 72 65 20 74 68 61 74 20 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 he.structure.that.<VAR>termios-p
d62e0 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c </VAR>.points.to...........<br><
d6300 62 72 3e 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 3c 43 4f 44 45 3e 74 63 67 65 74 61 74 br>.If.successful,.<CODE>tcgetat
d6320 74 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 30 2e 20 20 41 20 72 65 74 75 72 6e 20 76 tr</CODE>.returns.0...A.return.v
d6340 61 6c 75 65 20 6f 66 20 2d 31 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 73 20 61 6e alue.of.-1..........indicates.an
d6360 20 65 72 72 6f 72 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 .error...The.following.<CODE>err
d6380 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 0a 20 no</CODE>.error.conditions.are..
d63a0 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f ........defined.for.this.functio
d63c0 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 n:..........<br><br>.<DL>.......
d63e0 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a ....<DT><CODE>EBADF</CODE>.<DD>.
d6400 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 .........The.<VAR>filedes</VAR>.
d6420 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 argument.is.not.a.valid.file.des
d6440 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c criptor...........<br><br>.<DT><
d6460 43 4f 44 45 3e 45 4e 4f 54 54 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 CODE>ENOTTY</CODE>.<DD>.........
d6480 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 .The.<VAR>filedes</VAR>.is.not.a
d64a0 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 20 20 20 20 20 ssociated.with.a.terminal.......
d64c0 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 ....</DL>.........sq.~......w...
d64e0 00 0a 74 00 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e 1c ca 74 00 26 69 6e 74 20 66 69 6c 65 64 ..t..termios.hxq.~..t.&int.filed
d6500 65 73 2c 20 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 2a 74 65 72 6d 69 6f 73 2d 70 74 00 03 es,.struct.termios.*termios-pt..
d6520 69 6e 74 74 00 09 74 63 67 65 74 70 67 72 70 73 71 00 7e 00 0a 70 74 04 85 0a 20 20 20 20 20 20 intt..tcgetpgrpsq.~..pt.........
d6540 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 6f 63 ..This.function.returns.the.proc
d6560 65 73 73 20 67 72 6f 75 70 20 49 44 20 6f 66 20 74 68 65 20 66 6f 72 65 67 72 6f 75 6e 64 20 70 ess.group.ID.of.the.foreground.p
d6580 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 67 72 6f 75 70 20 61 73 73 6f 63 69 61 74 65 64 rocess..........group.associated
d65a0 20 77 69 74 68 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 6f 70 65 6e 20 6f 6e 20 64 65 73 63 72 .with.the.terminal.open.on.descr
d65c0 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 iptor.<VAR>filedes</VAR>........
d65e0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 66 6f 72 65 67 ...<br><br>.If.there.is.no.foreg
d6600 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 2c 20 74 68 65 20 72 65 74 75 72 6e 20 round.process.group,.the.return.
d6620 76 61 6c 75 65 20 69 73 20 61 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 67 72 65 61 74 value.is.a.number..........great
d6640 65 72 20 74 68 61 6e 20 3c 43 4f 44 45 3e 31 3c 2f 43 4f 44 45 3e 20 74 68 61 74 20 64 6f 65 73 er.than.<CODE>1</CODE>.that.does
d6660 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 20 .not.match.the.process.group.ID.
d6680 6f 66 20 61 6e 79 0a 20 20 20 20 20 20 20 20 20 65 78 69 73 74 69 6e 67 20 70 72 6f 63 65 73 73 of.any..........existing.process
d66a0 20 67 72 6f 75 70 2e 20 20 54 68 69 73 20 63 61 6e 20 68 61 70 70 65 6e 20 69 66 20 61 6c 6c 20 .group...This.can.happen.if.all.
d66c0 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 65 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 of.the.processes.in.the.........
d66e0 20 6a 6f 62 20 74 68 61 74 20 77 61 73 20 66 6f 72 6d 65 72 6c 79 20 74 68 65 20 66 6f 72 65 67 .job.that.was.formerly.the.foreg
d6700 72 6f 75 6e 64 20 6a 6f 62 20 68 61 76 65 20 74 65 72 6d 69 6e 61 74 65 64 2c 20 61 6e 64 20 6e round.job.have.terminated,.and.n
d6720 6f 20 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 6a 6f 62 20 68 61 73 20 79 65 74 20 62 65 65 o.other..........job.has.yet.bee
d6740 6e 20 6d 6f 76 65 64 20 69 6e 74 6f 20 74 68 65 20 66 6f 72 65 67 72 6f 75 6e 64 2e 0a 20 20 20 n.moved.into.the.foreground.....
d6760 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 63 61 73 65 20 6f 66 20 61 6e 20 65 72 72 ......<br><br>.In.case.of.an.err
d6780 6f 72 2c 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 or,.a.value.of.<CODE>-1</CODE>.i
d67a0 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 66 6f 6c 6c 6f 77 s.returned...The..........follow
d67c0 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e ing.<CODE>errno</CODE>.error.con
d67e0 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e ditions.are.defined.for.this.fun
d6800 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 ction:..........<br><br>.<DL>...
d6820 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c ........<DT><CODE>EBADF</CODE>.<
d6840 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 DD>..........The.<VAR>filedes</V
d6860 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 AR>.argument.is.not.a.valid.file
d6880 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c .descriptor...........<br><br>.<
d68a0 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>ENOSYS</CODE>.<DD>.....
d68c0 20 20 20 20 20 54 68 65 20 73 79 73 74 65 6d 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 .....The.system.doesn't.support.
d68e0 6a 6f 62 20 63 6f 6e 74 72 6f 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c job.control...........<br><br>.<
d6900 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 54 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>ENOTTY</CODE>.<DD>.....
d6920 20 20 20 20 20 54 68 65 20 74 65 72 6d 69 6e 61 6c 20 66 69 6c 65 20 61 73 73 6f 63 69 61 74 65 .....The.terminal.file.associate
d6940 64 20 77 69 74 68 20 74 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 d.with.the.<VAR>filedes</VAR>.ar
d6960 67 75 6d 65 6e 74 20 69 73 6e 27 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f gument.isn't.the..........contro
d6980 6c 6c 69 6e 67 20 74 65 72 6d 69 6e 61 6c 20 6f 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 lling.terminal.of.the.calling.pr
d69a0 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 ocess...........</DL>.........sq
d69c0 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1c d1 74 .~......w.....t..unistd.hxq.~..t
d69e0 00 0b 69 6e 74 20 66 69 6c 65 64 65 73 74 00 05 70 69 64 5f 74 74 00 08 74 63 67 65 74 73 69 64 ..int.filedest..pid_tt..tcgetsid
d6a00 73 71 00 7e 00 0a 70 74 02 b3 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e sq.~..pt...........This.function
d6a20 20 69 73 20 75 73 65 64 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 70 72 6f 63 65 73 73 20 67 .is.used.to.obtain.the.process.g
d6a40 72 6f 75 70 20 49 44 20 6f 66 20 74 68 65 20 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 roup.ID.of.the.session..........
d6a60 66 6f 72 20 77 68 69 63 68 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 73 70 65 63 69 66 69 65 64 for.which.the.terminal.specified
d6a80 20 62 79 20 3c 56 41 52 3e 66 69 6c 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 74 68 65 20 63 6f 6e .by.<VAR>fildes</VAR>.is.the.con
d6aa0 74 72 6f 6c 6c 69 6e 67 20 74 65 72 6d 69 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 trolling.terminal...........If.t
d6ac0 68 65 20 63 61 6c 6c 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 20 74 68 65 20 67 72 6f 75 70 20 he.call.is.successful.the.group.
d6ae0 49 44 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 0a 20 ID.is.returned...Otherwise.the..
d6b00 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 3e 28 70 ........return.value.is.<CODE>(p
d6b20 69 64 5f 74 29 20 2d 31 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 id_t).-1</CODE>.and.the.global.v
d6b40 61 72 69 61 62 6c 65 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 ariable.<VAR>errno</VAR>........
d6b60 20 20 69 73 20 73 65 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 6c 75 65 3a ..is.set.to.the.following.value:
d6b80 0a 20 20 20 20 20 20 20 20 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f ..........<DL>...........<DT><CO
d6ba0 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 DE>EBADF</CODE>.<DD>..........Th
d6bc0 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 e.<VAR>filedes</VAR>.argument.is
d6be0 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 .not.a.valid.file.descriptor....
d6c00 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 54 59 .......<br><br>.<DT><CODE>ENOTTY
d6c20 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 63 61 6c 6c 69 6e </CODE>.<DD>..........The.callin
d6c40 67 20 70 72 6f 63 65 73 73 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 20 63 6f 6e 74 72 6f g.process.does.not.have.a.contro
d6c60 6c 6c 69 6e 67 20 74 65 72 6d 69 6e 61 6c 2c 20 6f 72 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 lling.terminal,.or.the.file.....
d6c80 20 20 20 20 20 69 73 20 6e 6f 74 20 74 68 65 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 74 65 72 6d .....is.not.the.controlling.term
d6ca0 69 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 inal...........</DL>.........sq.
d6cc0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e 1c d8 74 ~......w.....t..termios.hxq.~..t
d6ce0 00 0a 69 6e 74 20 66 69 6c 64 65 73 74 00 05 70 69 64 5f 74 74 00 0b 74 63 73 65 6e 64 62 72 65 ..int.fildest..pid_tt..tcsendbre
d6d00 61 6b 73 71 00 7e 00 0a 70 74 03 d7 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 aksq.~..pt...........This.functi
d6d20 6f 6e 20 67 65 6e 65 72 61 74 65 73 20 61 20 62 72 65 61 6b 20 63 6f 6e 64 69 74 69 6f 6e 20 62 on.generates.a.break.condition.b
d6d40 79 20 74 72 61 6e 73 6d 69 74 74 69 6e 67 20 61 20 73 74 72 65 61 6d 20 6f 66 0a 20 20 20 20 20 y.transmitting.a.stream.of......
d6d60 20 20 20 20 7a 65 72 6f 20 62 69 74 73 20 6f 6e 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 61 73 ....zero.bits.on.the.terminal.as
d6d80 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f sociated.with.the.file.descripto
d6da0 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 20 20 r..........<VAR>filedes</VAR>...
d6dc0 54 68 65 20 64 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 72 65 61 6b 20 69 73 20 63 6f 6e The.duration.of.the.break.is.con
d6de0 74 72 6f 6c 6c 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 64 75 72 trolled.by.the..........<VAR>dur
d6e00 61 74 69 6f 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 66 20 7a 65 72 6f 2c 20 ation</VAR>.argument...If.zero,.
d6e20 74 68 65 20 64 75 72 61 74 69 6f 6e 20 69 73 20 62 65 74 77 65 65 6e 20 30 2e 32 35 20 61 6e 64 the.duration.is.between.0.25.and
d6e40 20 30 2e 35 0a 20 20 20 20 20 20 20 20 20 73 65 63 6f 6e 64 73 2e 20 20 54 68 65 20 6d 65 61 6e .0.5..........seconds...The.mean
d6e60 69 6e 67 20 6f 66 20 61 20 6e 6f 6e 7a 65 72 6f 20 76 61 6c 75 65 20 64 65 70 65 6e 64 73 20 6f ing.of.a.nonzero.value.depends.o
d6e80 6e 20 74 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 n.the.operating.system..........
d6ea0 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 .<br><br>.This.function.does.not
d6ec0 68 69 6e 67 20 69 66 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 69 73 20 6e 6f 74 20 61 6e 20 61 hing.if.the.terminal.is.not.an.a
d6ee0 73 79 6e 63 68 72 6f 6e 6f 75 73 20 73 65 72 69 61 6c 0a 20 20 20 20 20 20 20 20 20 64 61 74 61 synchronous.serial..........data
d6f00 20 70 6f 72 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 .port...........<br><br>.The.ret
d6f20 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 7a 65 72 6f 2e 20 20 49 6e 20 urn.value.is.normally.zero...In.
d6f40 74 68 65 20 65 76 65 6e 74 20 6f 66 20 61 6e 20 65 72 72 6f 72 2c 20 61 20 76 61 6c 75 65 0a 20 the.event.of.an.error,.a.value..
d6f60 20 20 20 20 20 20 20 20 6f 66 20 2d 31 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 20 54 68 65 20 ........of.-1.is.returned...The.
d6f80 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 following.<CODE>errno</CODE>.err
d6fa0 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 64 65 66 69 6e or.conditions..........are.defin
d6fc0 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c ed.for.this.function:..........<
d6fe0 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 br><br>.<DL>...........<DT><CODE
d7000 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 >EBADF</CODE>.<DD>..........The.
d7020 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 <VAR>filedes</VAR>.is.not.a.vali
d7040 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e d.file.descriptor...........<br>
d7060 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 54 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 <br>.<DT><CODE>ENOTTY</CODE>.<DD
d7080 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 >..........The.<VAR>filedes</VAR
d70a0 3e 20 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 74 65 72 6d 69 >.is.not.associated.with.a.termi
d70c0 6e 61 6c 20 64 65 76 69 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 nal.device...........</DL>......
d70e0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 74 65 72 6d 69 6f 73 2e 68 78 ...sq.~......w.....t..termios.hx
d7100 71 00 7e 1c df 74 00 19 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 69 6e 74 20 64 75 72 61 74 69 6f q.~..t..int.filedes,.int.duratio
d7120 6e 74 00 03 69 6e 74 74 00 09 74 63 73 65 74 61 74 74 72 73 71 00 7e 00 0a 70 74 0a 31 0a 20 20 nt..intt..tcsetattrsq.~..pt.1...
d7140 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 61 74 74 ......This.function.sets.the.att
d7160 72 69 62 75 74 65 73 20 6f 66 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 64 65 76 69 63 65 20 77 ributes.of.the.terminal.device.w
d7180 69 74 68 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 ith.file..........descriptor.<VA
d71a0 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 6e 65 77 20 61 74 74 72 69 62 R>filedes</VAR>...The.new.attrib
d71c0 75 74 65 73 20 61 72 65 20 74 61 6b 65 6e 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 utes.are.taken.from.the.........
d71e0 20 73 74 72 75 63 74 75 72 65 20 74 68 61 74 20 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 3c 2f .structure.that.<VAR>termios-p</
d7200 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 VAR>.points.to...........<br><br
d7220 3e 20 54 68 65 20 3c 56 41 52 3e 77 68 65 6e 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 >.The.<VAR>when</VAR>.argument.s
d7240 70 65 63 69 66 69 65 73 20 68 6f 77 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 69 6e 70 75 74 20 pecifies.how.to.deal.with.input.
d7260 61 6e 64 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 61 6c 72 65 61 64 79 20 71 75 65 75 and.output..........already.queu
d7280 65 64 2e 20 20 49 74 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 ed...It.can.be.one.of.the.follow
d72a0 69 6e 67 20 76 61 6c 75 65 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 ing.values:..........<br><br>.<D
d72c0 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 43 53 41 4e 4f 57 0a 20 L>...........<DT><CODE>TCSANOW..
d72e0 20 20 20 20 20 20 20 20 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4d 61 ........</CODE>.<DD>..........Ma
d7300 6b 65 20 74 68 65 20 63 68 61 6e 67 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 0a 20 20 20 20 20 ke.the.change.immediately.......
d7320 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 43 53 41 44 52 41 49 4e ....<br><br>.<DT><CODE>TCSADRAIN
d7340 0a 20 20 20 20 20 20 20 20 20 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 ..........</CODE>.<DD>..........
d7360 4d 61 6b 65 20 74 68 65 20 63 68 61 6e 67 65 20 61 66 74 65 72 20 77 61 69 74 69 6e 67 20 75 6e Make.the.change.after.waiting.un
d7380 74 69 6c 20 61 6c 6c 20 71 75 65 75 65 64 20 6f 75 74 70 75 74 20 68 61 73 20 62 65 65 6e 20 77 til.all.queued.output.has.been.w
d73a0 72 69 74 74 65 6e 2e 0a 20 20 20 20 20 20 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 75 73 75 61 ritten...........You.should.usua
d73c0 6c 6c 79 20 75 73 65 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 77 68 65 6e 20 63 68 61 6e 67 69 6e lly.use.this.option.when.changin
d73e0 67 20 70 61 72 61 6d 65 74 65 72 73 20 74 68 61 74 20 61 66 66 65 63 74 0a 20 20 20 20 20 20 20 g.parameters.that.affect........
d7400 20 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e ..output...........<br><br>.<DT>
d7420 3c 43 4f 44 45 3e 54 43 53 41 46 4c 55 53 48 0a 20 20 20 20 20 20 20 20 20 3c 2f 43 4f 44 45 3e <CODE>TCSAFLUSH..........</CODE>
d7440 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 .<DD>..........This.is.like.<COD
d7460 45 3e 54 43 53 41 44 52 41 49 4e 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 61 6c 73 6f 20 64 69 73 E>TCSADRAIN</CODE>,.but.also.dis
d7480 63 61 72 64 73 20 61 6e 79 20 71 75 65 75 65 64 20 69 6e 70 75 74 2e 0a 20 20 20 20 20 20 20 20 cards.any.queued.input..........
d74a0 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 54 43 53 41 53 4f 46 54 0a 20 20 20 .<br><br>.<DT><CODE>TCSASOFT....
d74c0 20 20 20 20 20 20 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 ......</CODE>.<DD>..........This
d74e0 20 69 73 20 61 20 66 6c 61 67 20 62 69 74 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 61 64 64 20 .is.a.flag.bit.that.you.can.add.
d7500 74 6f 20 61 6e 79 20 6f 66 20 74 68 65 20 61 62 6f 76 65 20 61 6c 74 65 72 6e 61 74 69 76 65 73 to.any.of.the.above.alternatives
d7520 2e 0a 20 20 20 20 20 20 20 20 20 49 74 73 20 6d 65 61 6e 69 6e 67 20 69 73 20 74 6f 20 69 6e 68 ...........Its.meaning.is.to.inh
d7540 69 62 69 74 20 61 6c 74 65 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 ibit.alteration.of.the.state.of.
d7560 74 68 65 20 74 65 72 6d 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 68 61 72 64 77 61 72 65 2e 20 the.terminal..........hardware..
d7580 20 49 74 20 69 73 20 61 20 42 53 44 20 65 78 74 65 6e 73 69 6f 6e 3b 20 69 74 20 69 73 20 6f 6e .It.is.a.BSD.extension;.it.is.on
d75a0 6c 79 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 42 53 44 20 73 79 73 74 65 6d 73 0a 20 20 20 20 ly.supported.on.BSD.systems.....
d75c0 20 20 20 20 20 61 6e 64 20 74 68 65 20 47 4e 55 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 .....and.the.GNU.system.........
d75e0 20 20 3c 62 72 3e 3c 62 72 3e 20 55 73 69 6e 67 20 3c 43 4f 44 45 3e 54 43 53 41 53 4f 46 54 3c ..<br><br>.Using.<CODE>TCSASOFT<
d7600 2f 43 4f 44 45 3e 20 69 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 6d 65 20 61 73 20 73 65 /CODE>.is.exactly.the.same.as.se
d7620 74 74 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e 43 49 47 4e 4f 52 45 3c 2f 43 4f 44 45 3e 0a 20 tting.the.<CODE>CIGNORE</CODE>..
d7640 20 20 20 20 20 20 20 20 62 69 74 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 63 5f 63 66 6c 61 67 ........bit.in.the.<CODE>c_cflag
d7660 3c 2f 43 4f 44 45 3e 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 </CODE>.member.of.the.structure.
d7680 3c 56 41 52 3e 74 65 72 6d 69 6f 73 2d 70 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 0a 20 20 20 20 <VAR>termios-p</VAR>.points.....
d76a0 20 20 20 20 20 74 6f 2e 20 20 2c 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 .....to...,.for.a.description.of
d76c0 20 3c 43 4f 44 45 3e 43 49 47 4e 4f 52 45 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 .<CODE>CIGNORE</CODE>...........
d76e0 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 69 73 20 </DL>..........<br><br>.If.this.
d7700 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 62 61 63 6b 67 72 function.is.called.from.a.backgr
d7720 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 6f 6e 20 69 74 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 0a ound.process.on.its.controlling.
d7740 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 6c 2c 20 6e 6f 72 6d 61 6c 6c 79 20 61 6c 6c 20 .........terminal,.normally.all.
d7760 70 72 6f 63 65 73 73 65 73 20 69 6e 20 74 68 65 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 61 processes.in.the.process.group.a
d7780 72 65 20 73 65 6e 74 20 61 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 53 49 47 54 54 4f 55 re.sent.a..........<CODE>SIGTTOU
d77a0 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 </CODE>.signal,.in.the.same.way.
d77c0 61 73 20 69 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 77 65 72 65 20 74 72 79 69 6e 67 20 74 6f as.if.the.process.were.trying.to
d77e0 0a 20 20 20 20 20 20 20 20 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2e ..........write.to.the.terminal.
d7800 20 20 54 68 65 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 69 66 20 74 68 65 20 63 61 6c 6c 69 6e ..The.exception.is.if.the.callin
d7820 67 20 70 72 6f 63 65 73 73 20 69 74 73 65 6c 66 0a 20 20 20 20 20 20 20 20 20 69 73 20 69 67 6e g.process.itself..........is.ign
d7840 6f 72 69 6e 67 20 6f 72 20 62 6c 6f 63 6b 69 6e 67 20 3c 43 4f 44 45 3e 53 49 47 54 54 4f 55 3c oring.or.blocking.<CODE>SIGTTOU<
d7860 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 74 68 /CODE>.signals,.in.which.case.th
d7880 65 0a 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 e..........operation.is.performe
d78a0 64 20 61 6e 64 20 6e 6f 20 73 69 67 6e 61 6c 20 69 73 20 73 65 6e 74 2e 20 20 2e 0a 20 20 20 20 d.and.no.signal.is.sent.........
d78c0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 3c 43 4f .....<br><br>.If.successful,.<CO
d78e0 44 45 3e 74 63 73 65 74 61 74 74 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 30 2e 20 20 DE>tcsetattr</CODE>.returns.0...
d7900 41 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 2d 31 20 69 6e A.return.value.of..........-1.in
d7920 64 69 63 61 74 65 73 20 61 6e 20 65 72 72 6f 72 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 dicates.an.error...The.following
d7940 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 .<CODE>errno</CODE>.error.......
d7960 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 ...conditions.are.defined.for.th
d7980 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c is.function:..........<br><br>.<
d79a0 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 DL>...........<DT><CODE>EBADF</C
d79c0 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 ODE>.<DD>..........The.<VAR>file
d79e0 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 des</VAR>.argument.is.not.a.vali
d7a00 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e d.file.descriptor...........<br>
d7a20 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 54 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 <br>.<DT><CODE>ENOTTY</CODE>.<DD
d7a40 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 >..........The.<VAR>filedes</VAR
d7a60 3e 20 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 74 65 72 6d 69 >.is.not.associated.with.a.termi
d7a80 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 nal...........<br><br>.<DT><CODE
d7aa0 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 45 69 74 >EINVAL</CODE>.<DD>..........Eit
d7ac0 68 65 72 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 77 68 65 6e 3c her.the.value.of.the.<CODE>when<
d7ae0 2f 43 4f 44 45 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2c 20 6f 72 /CODE>.argument.is.not.valid,.or
d7b00 20 74 68 65 72 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 77 72 6f .there.is..........something.wro
d7b20 6e 67 20 77 69 74 68 20 74 68 65 20 64 61 74 61 20 69 6e 20 74 68 65 20 3c 56 41 52 3e 74 65 72 ng.with.the.data.in.the.<VAR>ter
d7b40 6d 69 6f 73 2d 70 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 mios-p</VAR>.argument...........
d7b60 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 </DL>.........sq.~......w.....t.
d7b80 09 74 65 72 6d 69 6f 73 2e 68 78 71 00 7e 1c e6 74 00 36 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 .termios.hxq.~..t.6int.filedes,.
d7ba0 69 6e 74 20 77 68 65 6e 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 74 65 72 6d 69 6f 73 20 2a int.when,.const.struct.termios.*
d7bc0 74 65 72 6d 69 6f 73 2d 70 74 00 03 69 6e 74 74 00 09 74 63 73 65 74 70 67 72 70 73 71 00 7e 00 termios-pt..intt..tcsetpgrpsq.~.
d7be0 0a 70 74 06 93 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 .pt...........This.function.is.u
d7c00 73 65 64 20 74 6f 20 73 65 74 20 61 20 74 65 72 6d 69 6e 61 6c 27 73 20 66 6f 72 65 67 72 6f 75 sed.to.set.a.terminal's.foregrou
d7c20 6e 64 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 2e 0a 20 20 20 20 20 20 20 20 20 54 68 nd.process.group.ID...........Th
d7c40 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 e.argument.<VAR>filedes</VAR>.is
d7c60 20 61 20 64 65 73 63 72 69 70 74 6f 72 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 74 68 .a.descriptor.which.specifies.th
d7c80 65 20 74 65 72 6d 69 6e 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 70 67 69 64 3c 2f e.terminal;..........<VAR>pgid</
d7ca0 56 41 52 3e 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 VAR>.specifies.the.process.group
d7cc0 2e 20 20 54 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 6d 75 73 74 20 62 65 20 61 ...The.calling.process.must.be.a
d7ce0 0a 20 20 20 20 20 20 20 20 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 73 61 6d 65 20 73 65 73 ..........member.of.the.same.ses
d7d00 73 69 6f 6e 20 61 73 20 3c 56 41 52 3e 70 67 69 64 3c 2f 56 41 52 3e 20 61 6e 64 20 6d 75 73 74 sion.as.<VAR>pgid</VAR>.and.must
d7d20 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 74 72 6f 6c 6c .have.the.same..........controll
d7d40 69 6e 67 20 74 65 72 6d 69 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ing.terminal...........<br><br>.
d7d60 46 6f 72 20 74 65 72 6d 69 6e 61 6c 20 61 63 63 65 73 73 20 70 75 72 70 6f 73 65 73 2c 20 74 68 For.terminal.access.purposes,.th
d7d80 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 6f 75 74 70 75 74 is.function.is.treated.as.output
d7da0 2e 20 20 49 66 20 69 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 63 61 6c 6c 65 64 20 66 72 6f 6d ...If.it..........is.called.from
d7dc0 20 61 20 62 61 63 6b 67 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 6f 6e 20 69 74 73 20 63 6f 6e .a.background.process.on.its.con
d7de0 74 72 6f 6c 6c 69 6e 67 20 74 65 72 6d 69 6e 61 6c 2c 0a 20 20 20 20 20 20 20 20 20 6e 6f 72 6d trolling.terminal,..........norm
d7e00 61 6c 6c 79 20 61 6c 6c 20 70 72 6f 63 65 73 73 65 73 20 69 6e 20 74 68 65 20 70 72 6f 63 65 73 ally.all.processes.in.the.proces
d7e20 73 20 67 72 6f 75 70 20 61 72 65 20 73 65 6e 74 20 61 20 3c 43 4f 44 45 3e 53 49 47 54 54 4f 55 s.group.are.sent.a.<CODE>SIGTTOU
d7e40 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 61 6c 2e 20 20 54 68 65 20 65 78 </CODE>..........signal...The.ex
d7e60 63 65 70 74 69 6f 6e 20 69 73 20 69 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 ception.is.if.the.calling.proces
d7e80 73 20 69 74 73 65 6c 66 20 69 73 20 69 67 6e 6f 72 69 6e 67 20 6f 72 0a 20 20 20 20 20 20 20 20 s.itself.is.ignoring.or.........
d7ea0 20 62 6c 6f 63 6b 69 6e 67 20 3c 43 4f 44 45 3e 53 49 47 54 54 4f 55 3c 2f 43 4f 44 45 3e 20 73 .blocking.<CODE>SIGTTOU</CODE>.s
d7ec0 69 67 6e 61 6c 73 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 74 68 65 20 6f 70 65 72 61 74 ignals,.in.which.case.the.operat
d7ee0 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 70 65 72 66 6f 72 6d 65 64 20 61 6e 64 20 6e 6f ion.is..........performed.and.no
d7f00 20 73 69 67 6e 61 6c 20 69 73 20 73 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .signal.is.sent...........<br><b
d7f20 72 3e 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 3c 43 4f 44 45 3e 74 63 73 65 74 70 67 72 r>.If.successful,.<CODE>tcsetpgr
d7f40 70 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e p</CODE>.returns.<CODE>0</CODE>.
d7f60 20 20 41 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f ..A.return.value.of..........<CO
d7f80 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 6e 64 69 63 61 74 65 73 20 61 6e 20 65 72 72 6f 72 2e DE>-1</CODE>.indicates.an.error.
d7fa0 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 ..The.following.<CODE>errno</COD
d7fc0 45 3e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 E>.error..........conditions.are
d7fe0 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 .defined.for.this.function:.....
d8000 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 .....<br><br>.<DL>...........<DT
d8020 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 ><CODE>EBADF</CODE>.<DD>........
d8040 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e ..The.<VAR>filedes</VAR>.argumen
d8060 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 t.is.not.a.valid.file.descriptor
d8080 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 ...........<br><br>.<DT><CODE>EI
d80a0 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 NVAL</CODE>.<DD>..........The.<V
d80c0 41 52 3e 70 67 69 64 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 76 61 AR>pgid</VAR>.argument.is.not.va
d80e0 6c 69 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 lid...........<br><br>.<DT><CODE
d8100 3e 45 4e 4f 53 59 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 >ENOSYS</CODE>.<DD>..........The
d8120 20 73 79 73 74 65 6d 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 6a 6f 62 20 63 6f 6e 74 .system.doesn't.support.job.cont
d8140 72 6f 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 rol...........<br><br>.<DT><CODE
d8160 3e 45 4e 4f 54 54 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 >ENOTTY</CODE>.<DD>..........The
d8180 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 6e 27 74 20 74 68 65 20 63 6f .<VAR>filedes</VAR>.isn't.the.co
d81a0 6e 74 72 6f 6c 6c 69 6e 67 20 74 65 72 6d 69 6e 61 6c 20 6f 66 20 74 68 65 20 63 61 6c 6c 69 6e ntrolling.terminal.of.the.callin
d81c0 67 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 g.process...........<br><br>.<DT
d81e0 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 ><CODE>EPERM</CODE>.<DD>........
d8200 20 20 54 68 65 20 3c 56 41 52 3e 70 67 69 64 3c 2f 56 41 52 3e 20 69 73 6e 27 74 20 61 20 70 72 ..The.<VAR>pgid</VAR>.isn't.a.pr
d8220 6f 63 65 73 73 20 67 72 6f 75 70 20 69 6e 20 74 68 65 20 73 61 6d 65 20 73 65 73 73 69 6f 6e 20 ocess.group.in.the.same.session.
d8240 61 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2e as.the.calling..........process.
d8260 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 ..........</DL>.........sq.~....
d8280 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1c ed 74 00 17 69 6e 74 20 ..w.....t..unistd.hxq.~..t..int.
d82a0 66 69 6c 65 64 65 73 2c 20 70 69 64 5f 74 20 70 67 69 64 74 00 03 69 6e 74 74 00 07 74 64 65 6c filedes,.pid_t.pgidt..intt..tdel
d82c0 65 74 65 73 71 00 7e 00 0a 70 74 02 61 0a 20 20 20 20 20 20 20 20 54 6f 20 72 65 6d 6f 76 65 20 etesq.~..pt.a.........To.remove.
d82e0 61 20 73 70 65 63 69 66 69 63 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 3c 56 41 52 a.specific.element.matching.<VAR
d8300 3e 6b 65 79 3c 2f 56 41 52 3e 20 66 72 6f 6d 20 74 68 65 20 74 72 65 65 0a 20 20 20 20 20 20 20 >key</VAR>.from.the.tree........
d8320 20 20 3c 43 4f 44 45 3e 74 64 65 6c 65 74 65 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 75 73 ..<CODE>tdelete</CODE>.can.be.us
d8340 65 64 2e 20 20 49 74 20 6c 6f 63 61 74 65 73 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 65 6c 65 ed...It.locates.the.matching.ele
d8360 6d 65 6e 74 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 61 6d 65 20 6d 65 74 ment.using.the..........same.met
d8380 68 6f 64 20 61 73 20 3c 43 4f 44 45 3e 74 66 69 6e 64 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 hod.as.<CODE>tfind</CODE>...The.
d83a0 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 6e 20 72 65 corresponding.element.is.then.re
d83c0 6d 6f 76 65 64 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 moved..........and.a.pointer.to.
d83e0 74 68 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 64 65 6c 65 74 65 64 20 6e 6f 64 65 20 69 the.parent.of.the.deleted.node.i
d8400 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 s.returned.by.the..........funct
d8420 69 6f 6e 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 65 6e ion...If.there.is.no.matching.en
d8440 74 72 79 20 69 6e 20 74 68 65 20 74 72 65 65 20 6e 6f 74 68 69 6e 67 20 63 61 6e 20 62 65 0a 20 try.in.the.tree.nothing.can.be..
d8460 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 64 20 61 6e 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e ........deleted.and.the.function
d8480 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 .returns.<CODE>NULL</CODE>...If.
d84a0 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68 65 20 74 72 65 65 0a 20 20 20 20 20 20 20 20 20 69 73 the.root.of.the.tree..........is
d84c0 20 64 65 6c 65 74 65 64 20 3c 43 4f 44 45 3e 74 64 65 6c 65 74 65 3c 2f 43 4f 44 45 3e 20 72 65 .deleted.<CODE>tdelete</CODE>.re
d84e0 74 75 72 6e 73 20 73 6f 6d 65 20 75 6e 73 70 65 63 69 66 69 65 64 20 76 61 6c 75 65 20 6e 6f 74 turns.some.unspecified.value.not
d8500 20 65 71 75 61 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 .equal.to..........<CODE>NULL</C
d8520 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 ODE>..........sq.~......w.....t.
d8540 08 73 65 61 72 63 68 2e 68 78 71 00 7e 1c f4 74 00 35 63 6f 6e 73 74 20 76 6f 69 64 20 2a 6b 65 .search.hxq.~..t.5const.void.*ke
d8560 79 2c 20 76 6f 69 64 20 2a 2a 72 6f 6f 74 70 2c 20 63 6f 6d 70 61 72 69 73 6f 6e 5f 66 6e 5f 74 y,.void.**rootp,.comparison_fn_t
d8580 20 63 6f 6d 70 61 72 74 00 06 76 6f 69 64 20 2a 74 00 08 74 64 65 73 74 72 6f 79 73 71 00 7e 00 .compart..void.*t..tdestroysq.~.
d85a0 0a 70 74 02 94 0a 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 73 65 .pt...........If.the.complete.se
d85c0 61 72 63 68 20 74 72 65 65 20 68 61 73 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 20 6f 6e 65 20 arch.tree.has.to.be.removed.one.
d85e0 63 61 6e 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 64 65 73 74 72 6f 79 3c can.use..........<CODE>tdestroy<
d8600 2f 43 4f 44 45 3e 2e 20 20 49 74 20 66 72 65 65 73 20 61 6c 6c 20 72 65 73 6f 75 72 63 65 73 20 /CODE>...It.frees.all.resources.
d8620 61 6c 6c 6f 63 61 74 65 64 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 74 73 65 61 72 63 68 3c 2f allocated.by.the.<CODE>tsearch</
d8640 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 67 65 6e 65 72 CODE>..........function.to.gener
d8660 61 74 65 20 74 68 65 20 74 72 65 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e ate.the.tree.pointed.to.by.<VAR>
d8680 76 72 6f 6f 74 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 46 vroot</VAR>...........<br><br>.F
d86a0 6f 72 20 74 68 65 20 64 61 74 61 20 69 6e 20 65 61 63 68 20 74 72 65 65 20 6e 6f 64 65 20 74 68 or.the.data.in.each.tree.node.th
d86c0 65 20 66 75 6e 63 74 69 6f 6e 20 3c 56 41 52 3e 66 72 65 65 66 63 74 3c 2f 56 41 52 3e 20 69 73 e.function.<VAR>freefct</VAR>.is
d86e0 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 6f 69 6e 74 65 72 20 74 6f .called...........The.pointer.to
d8700 20 74 68 65 20 64 61 74 61 20 69 73 20 70 61 73 73 65 64 20 61 73 20 74 68 65 20 61 72 67 75 6d .the.data.is.passed.as.the.argum
d8720 65 6e 74 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 66 0a 20 20 20 20 20 20 20 ent.to.the.function...If........
d8740 20 20 6e 6f 20 73 75 63 68 20 77 6f 72 6b 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 3c 56 41 52 ..no.such.work.is.necessary.<VAR
d8760 3e 66 72 65 65 66 63 74 3c 2f 56 41 52 3e 20 6d 75 73 74 20 70 6f 69 6e 74 20 74 6f 20 61 20 66 >freefct</VAR>.must.point.to.a.f
d8780 75 6e 63 74 69 6f 6e 20 64 6f 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6e 6f 74 68 69 6e 67 2e 20 unction.doing..........nothing..
d87a0 20 49 74 20 69 73 20 63 61 6c 6c 65 64 20 69 6e 20 61 6e 79 20 63 61 73 65 2e 0a 20 20 20 20 20 .It.is.called.in.any.case.......
d87c0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 ....<br><br>.This.function.is.a.
d87e0 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 6e 6f 74 20 63 6f 76 65 72 65 64 20 62 79 GNU.extension.and.not.covered.by
d8800 20 74 68 65 20 53 79 73 74 65 6d 20 56 20 6f 72 0a 20 20 20 20 20 20 20 20 20 58 2f 4f 70 65 6e .the.System.V.or..........X/Open
d8820 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 .specifications..........sq.~...
d8840 00 00 01 77 04 00 00 00 0a 74 00 08 73 65 61 72 63 68 2e 68 78 71 00 7e 1c fb 74 00 20 76 6f 69 ...w.....t..search.hxq.~..t..voi
d8860 64 20 2a 76 72 6f 6f 74 2c 20 5f 5f 66 72 65 65 5f 66 6e 5f 74 20 66 72 65 65 66 63 74 74 00 04 d.*vroot,.__free_fn_t.freefctt..
d8880 76 6f 69 64 74 00 07 74 65 6d 70 6e 61 6d 73 71 00 7e 00 0a 70 74 06 89 0a 20 20 20 20 20 20 20 voidt..tempnamsq.~..pt..........
d88a0 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 73 20 61 20 75 6e 69 71 75 .This.function.generates.a.uniqu
d88c0 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 6e 61 6d 65 2e 20 20 49 66 20 3c 56 41 52 3e e.temporary.file.name...If.<VAR>
d88e0 70 72 65 66 69 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 61 20 6e prefix</VAR>..........is.not.a.n
d8900 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 75 70 20 74 6f 20 66 69 76 65 20 63 68 61 72 61 63 74 65 ull.pointer,.up.to.five.characte
d8920 72 73 20 6f 66 20 74 68 69 73 20 73 74 72 69 6e 67 20 61 72 65 20 75 73 65 64 20 61 73 0a 20 20 rs.of.this.string.are.used.as...
d8940 20 20 20 20 20 20 20 61 20 70 72 65 66 69 78 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 6e 61 6d .......a.prefix.for.the.file.nam
d8960 65 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 73 74 72 69 6e 67 e...The.return.value.is.a.string
d8980 20 6e 65 77 6c 79 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 77 69 74 68 20 3c .newly..........allocated.with.<
d89a0 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 2c 20 73 6f 20 79 6f 75 20 73 68 6f 75 6c CODE>malloc</CODE>,.so.you.shoul
d89c0 64 20 72 65 6c 65 61 73 65 20 69 74 73 20 73 74 6f 72 61 67 65 20 77 69 74 68 0a 20 20 20 20 20 d.release.its.storage.with......
d89e0 20 20 20 20 3c 43 4f 44 45 3e 66 72 65 65 3c 2f 43 4f 44 45 3e 20 77 68 65 6e 20 69 74 20 69 73 ....<CODE>free</CODE>.when.it.is
d8a00 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .no.longer.needed...........<br>
d8a20 3c 62 72 3e 20 42 65 63 61 75 73 65 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 64 79 6e 61 6d <br>.Because.the.string.is.dynam
d8a40 69 63 61 6c 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ically.allocated.this.function.i
d8a60 73 20 72 65 65 6e 74 72 61 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 s.reentrant...........<br><br>.T
d8a80 68 65 20 64 69 72 65 63 74 6f 72 79 20 70 72 65 66 69 78 20 66 6f 72 20 74 68 65 20 74 65 6d 70 he.directory.prefix.for.the.temp
d8aa0 6f 72 61 72 79 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 orary.file.name.is.determined.by
d8ac0 0a 20 20 20 20 20 20 20 20 20 74 65 73 74 69 6e 67 20 65 61 63 68 20 6f 66 20 74 68 65 20 66 6f ..........testing.each.of.the.fo
d8ae0 6c 6c 6f 77 69 6e 67 20 69 6e 20 73 65 71 75 65 6e 63 65 2e 20 20 54 68 65 20 64 69 72 65 63 74 llowing.in.sequence...The.direct
d8b00 6f 72 79 20 6d 75 73 74 20 65 78 69 73 74 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 62 65 20 77 ory.must.exist.and..........be.w
d8b20 72 69 74 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4f 4c 3e 0a ritable...........<br><br>.<OL>.
d8b40 20 20 20 20 20 20 20 20 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 65 6e 76 69 72 .........<LI>..........The.envir
d8b60 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 54 4d 50 44 49 52 3c 2f 43 4f onment.variable.<CODE>TMPDIR</CO
d8b80 44 45 3e 2c 20 69 66 20 69 74 20 69 73 20 64 65 66 69 6e 65 64 2e 20 20 46 6f 72 20 73 65 63 75 DE>,.if.it.is.defined...For.secu
d8ba0 72 69 74 79 0a 20 20 20 20 20 20 20 20 20 72 65 61 73 6f 6e 73 20 74 68 69 73 20 6f 6e 6c 79 20 rity..........reasons.this.only.
d8bc0 68 61 70 70 65 6e 73 20 69 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 53 55 happens.if.the.program.is.not.SU
d8be0 49 44 20 6f 72 20 53 47 49 44 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ID.or.SGID.enabled...........<br
d8c00 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 64 69 72 ><br>.<LI>..........The.<VAR>dir
d8c20 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2c 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 20 </VAR>.argument,.if.it.is.not.a.
d8c40 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 null.pointer...........<br><br>.
d8c60 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c <LI>..........The.value.of.the.<
d8c80 43 4f 44 45 3e 50 5f 74 6d 70 64 69 72 3c 2f 43 4f 44 45 3e 20 6d 61 63 72 6f 2e 0a 20 20 20 20 CODE>P_tmpdir</CODE>.macro......
d8ca0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 4c 49 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 .....<br><br>.<LI>..........The.
d8cc0 64 69 72 65 63 74 6f 72 79 20 3c 54 54 3e 2f 74 6d 70 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 directory.<TT>/tmp</TT>.........
d8ce0 20 20 3c 2f 4f 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 ..</OL>..........<br><br>.This.f
d8d00 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 53 56 49 44 20 63 6f 6d 70 unction.is.defined.for.SVID.comp
d8d20 61 74 69 62 69 6c 69 74 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 61 72 atibility...........<br><br>.War
d8d40 6e 69 6e 67 3a 20 42 65 74 77 65 65 6e 20 74 68 65 20 74 69 6d 65 20 74 68 65 20 70 61 74 68 6e ning:.Between.the.time.the.pathn
d8d60 61 6d 65 20 69 73 20 63 6f 6e 73 74 72 75 63 74 65 64 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 ame.is.constructed.and.the......
d8d80 20 20 20 20 66 69 6c 65 20 69 73 20 63 72 65 61 74 65 64 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 ....file.is.created.another.proc
d8da0 65 73 73 20 6d 69 67 68 74 20 68 61 76 65 20 63 72 65 61 74 65 64 20 61 20 66 69 6c 65 20 77 69 ess.might.have.created.a.file.wi
d8dc0 74 68 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 75 73 69 6e 67 20 th.the.same..........name.using.
d8de0 3c 43 4f 44 45 3e 74 65 6d 70 6e 61 6d 3c 2f 43 4f 44 45 3e 2c 20 6c 65 61 64 69 6e 67 20 74 6f <CODE>tempnam</CODE>,.leading.to
d8e00 20 61 20 70 6f 73 73 69 62 6c 65 20 73 65 63 75 72 69 74 79 20 68 6f 6c 65 2e 20 20 54 68 65 0a .a.possible.security.hole...The.
d8e20 20 20 20 20 20 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 .........implementation.generate
d8e40 73 20 6e 61 6d 65 73 20 77 68 69 63 68 20 63 61 6e 20 68 61 72 64 6c 79 20 62 65 20 70 72 65 64 s.names.which.can.hardly.be.pred
d8e60 69 63 74 65 64 2c 20 62 75 74 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 6f 70 65 6e 69 6e 67 icted,.but.when..........opening
d8e80 20 74 68 65 20 66 69 6c 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 20 74 68 65 20 3c 43 4f .the.file.you.should.use.the.<CO
d8ea0 44 45 3e 4f 5f 45 58 43 4c 3c 2f 43 4f 44 45 3e 20 66 6c 61 67 2e 20 20 55 73 69 6e 67 0a 20 20 DE>O_EXCL</CODE>.flag...Using...
d8ec0 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 6d 70 66 69 6c 65 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c .......<CODE>tmpfile</CODE>.or.<
d8ee0 43 4f 44 45 3e 6d 6b 73 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 73 61 66 65 20 77 61 CODE>mkstemp</CODE>.is.a.safe.wa
d8f00 79 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 70 72 6f 62 6c 65 6d 2e 0a 20 20 20 20 20 20 20 y.to.avoid.this.problem.........
d8f20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1d .sq.~......w.....t..stdio.hxq.~.
d8f40 02 74 00 23 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 69 72 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 .t.#const.char.*dir,.const.char.
d8f60 2a 70 72 65 66 69 78 74 00 06 63 68 61 72 20 2a 74 00 0a 74 65 78 74 64 6f 6d 61 69 6e 73 71 00 *prefixt..char.*t..textdomainsq.
d8f80 7e 00 0a 70 74 06 90 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 65 78 74 64 6f ~..pt...........The.<CODE>textdo
d8fa0 6d 61 69 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 64 65 main</CODE>.function.sets.the.de
d8fc0 66 61 75 6c 74 20 64 6f 6d 61 69 6e 2c 20 77 68 69 63 68 20 69 73 20 75 73 65 64 20 69 6e 0a 20 fault.domain,.which.is.used.in..
d8fe0 20 20 20 20 20 20 20 20 61 6c 6c 20 66 75 74 75 72 65 20 3c 43 4f 44 45 3e 67 65 74 74 65 78 74 ........all.future.<CODE>gettext
d9000 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 73 2c 20 74 6f 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 6e 61 6d </CODE>.calls,.to.<VAR>domainnam
d9020 65 3c 2f 56 41 52 3e 2e 20 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 0a 20 20 20 20 20 e</VAR>...Please.note.that......
d9040 20 20 20 20 3c 43 4f 44 45 3e 64 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 ....<CODE>dgettext</CODE>.and.<C
d9060 4f 44 45 3e 64 63 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 63 61 6c 6c 73 20 61 72 65 20 6e ODE>dcgettext</CODE>.calls.are.n
d9080 6f 74 20 69 6e 66 6c 75 65 6e 63 65 64 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 ot.influenced.if.the..........<V
d90a0 41 52 3e 64 6f 6d 61 69 6e 6e 61 6d 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 6f 66 AR>domainname</VAR>.parameter.of
d90c0 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 69 73 20 6e 6f 74 20 74 68 65 20 6e 75 6c 6c .these.functions.is.not.the.null
d90e0 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 65 66 6f .pointer...........<br><br>.Befo
d9100 72 65 20 74 68 65 20 66 69 72 73 74 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 74 65 78 74 64 re.the.first.call.to.<CODE>textd
d9120 6f 6d 61 69 6e 3c 2f 43 4f 44 45 3e 20 74 68 65 20 64 65 66 61 75 6c 74 20 64 6f 6d 61 69 6e 20 omain</CODE>.the.default.domain.
d9140 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 65 73 73 61 67 65 73 3c 2f 43 4f 44 45 is..........<CODE>messages</CODE
d9160 3e 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 61 6d 65 20 73 70 65 63 69 66 69 65 64 20 69 >...This.is.the.name.specified.i
d9180 6e 20 74 68 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 6f 66 0a 20 20 20 20 20 20 20 20 20 n.the.specification.of..........
d91a0 74 68 65 20 3c 43 4f 44 45 3e 67 65 74 74 65 78 74 3c 2f 43 4f 44 45 3e 20 41 50 49 2e 20 20 54 the.<CODE>gettext</CODE>.API...T
d91c0 68 69 73 20 6e 61 6d 65 20 69 73 20 61 73 20 67 6f 6f 64 20 61 73 20 61 6e 79 20 6f 74 68 65 72 his.name.is.as.good.as.any.other
d91e0 20 6e 61 6d 65 2e 20 20 4e 6f 0a 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 20 73 68 6f 75 .name...No..........program.shou
d9200 6c 64 20 65 76 65 72 20 72 65 61 6c 6c 79 20 75 73 65 20 61 20 64 6f 6d 61 69 6e 20 77 69 74 68 ld.ever.really.use.a.domain.with
d9220 20 74 68 69 73 20 6e 61 6d 65 20 73 69 6e 63 65 20 74 68 69 73 20 63 61 6e 0a 20 20 20 20 20 20 .this.name.since.this.can.......
d9240 20 20 20 6f 6e 6c 79 20 6c 65 61 64 20 74 6f 20 70 72 6f 62 6c 65 6d 73 2e 0a 20 20 20 20 20 20 ...only.lead.to.problems........
d9260 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 ...<br><br>.The.function.returns
d9280 20 74 68 65 20 76 61 6c 75 65 20 77 68 69 63 68 20 69 73 20 66 72 6f 6d 20 6e 6f 77 20 6f 6e 20 .the.value.which.is.from.now.on.
d92a0 74 61 6b 65 6e 20 61 73 20 74 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 64 6f taken.as.the.default..........do
d92c0 6d 61 69 6e 2e 20 20 49 66 20 74 68 65 20 73 79 73 74 65 6d 20 77 65 6e 74 20 6f 75 74 20 6f 66 main...If.the.system.went.out.of
d92e0 20 6d 65 6d 6f 72 79 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 69 73 0a 20 20 .memory.the.returned.value.is...
d9300 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 .......<CODE>NULL</CODE>.and.the
d9320 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 3c 56 41 52 3e 65 72 72 6e 6f 3c 2f 56 41 52 .global.variable.<VAR>errno</VAR
d9340 3e 20 69 73 20 73 65 74 20 74 6f 20 3c 43 4f 44 45 3e 45 4e 4f 4d 45 4d 3c 2f 43 4f 44 45 3e 2e >.is.set.to.<CODE>ENOMEM</CODE>.
d9360 0a 20 20 20 20 20 20 20 20 20 44 65 73 70 69 74 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c ..........Despite.the.return.val
d9380 75 65 20 74 79 70 65 20 62 65 69 6e 67 20 3c 43 4f 44 45 3e 63 68 61 72 20 2a 3c 2f 43 4f 44 45 ue.type.being.<CODE>char.*</CODE
d93a0 3e 20 74 68 65 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 6d 75 73 74 0a 20 20 20 20 20 20 20 >.the.return.string.must........
d93c0 20 20 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2e 20 20 49 74 20 69 73 20 61 6c 6c 6f 63 61 74 ..not.be.changed...It.is.allocat
d93e0 65 64 20 69 6e 74 65 72 6e 61 6c 6c 79 20 62 79 20 74 68 65 20 3c 43 4f 44 45 3e 74 65 78 74 64 ed.internally.by.the.<CODE>textd
d9400 6f 6d 61 69 6e 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 0a omain</CODE>..........function..
d9420 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 3c 56 41 52 3e 64 6f .........<br><br>.If.the.<VAR>do
d9440 6d 61 69 6e 6e 61 6d 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 74 68 65 20 mainname</VAR>.parameter.is.the.
d9460 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 6e 6f 20 6e 65 77 20 64 65 66 61 75 6c 74 0a 20 20 20 20 null.pointer.no.new.default.....
d9480 20 20 20 20 20 64 6f 6d 61 69 6e 20 69 73 20 73 65 74 2e 20 20 49 6e 73 74 65 61 64 20 74 68 65 .....domain.is.set...Instead.the
d94a0 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 64 65 66 61 75 6c 74 20 64 6f 6d 61 .currently.selected.default.doma
d94c0 69 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 in.is..........returned.........
d94e0 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 3c 56 41 52 3e 64 6f 6d 61 69 6e 6e 61 6d ..<br><br>.If.the.<VAR>domainnam
d9500 65 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 69 73 20 74 68 65 20 65 6d 70 74 79 20 73 e</VAR>.parameter.is.the.empty.s
d9520 74 72 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 64 6f 6d 61 69 6e 0a 20 20 20 20 20 20 20 tring.the.default.domain........
d9540 20 20 69 73 20 72 65 73 65 74 20 74 6f 20 69 74 73 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 2c ..is.reset.to.its.initial.value,
d9560 20 74 68 65 20 64 6f 6d 61 69 6e 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 3c 43 4f 44 45 3e .the.domain.with.the.name.<CODE>
d9580 6d 65 73 73 61 67 65 73 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 70 messages</CODE>...........This.p
d95a0 6f 73 73 69 62 69 6c 69 74 79 20 69 73 20 71 75 65 73 74 69 6f 6e 61 62 6c 65 20 74 6f 20 75 73 ossibility.is.questionable.to.us
d95c0 65 20 73 69 6e 63 65 20 74 68 65 20 64 6f 6d 61 69 6e 20 3c 43 4f 44 45 3e 6d 65 73 73 61 67 65 e.since.the.domain.<CODE>message
d95e0 73 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 72 65 61 6c 6c 79 20 6e 65 76 65 72 20 73 s</CODE>..........really.never.s
d9600 68 6f 75 6c 64 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 hould.be.used..........sq.~.....
d9620 01 77 04 00 00 00 0a 74 00 09 6c 69 62 69 6e 74 6c 2e 68 78 71 00 7e 1d 09 74 00 16 63 6f 6e 73 .w.....t..libintl.hxq.~..t..cons
d9640 74 20 63 68 61 72 20 2a 64 6f 6d 61 69 6e 6e 61 6d 65 74 00 06 63 68 61 72 20 2a 74 00 05 74 66 t.char.*domainnamet..char.*t..tf
d9660 69 6e 64 73 71 00 7e 00 0a 70 74 01 af 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e indsq.~..pt...........The.<CODE>
d9680 74 66 69 6e 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 tfind</CODE>.function.is.similar
d96a0 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 74 73 65 61 72 63 68 3c 2f 43 4f 44 45 3e 20 66 75 6e .to.the.<CODE>tsearch</CODE>.fun
d96c0 63 74 69 6f 6e 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 6c 6f 63 61 74 65 73 20 61 6e 20 65 ction...It..........locates.an.e
d96e0 6c 65 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 74 68 65 20 6f 6e 65 20 70 6f 69 6e 74 65 64 20 lement.matching.the.one.pointed.
d9700 74 6f 20 62 79 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 to.by.<VAR>key</VAR>.and.returns
d9720 0a 20 20 20 20 20 20 20 20 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 69 73 20 65 6c 65 6d ..........a.pointer.to.this.elem
d9740 65 6e 74 2e 20 20 42 75 74 20 69 66 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 65 6c 65 6d 65 6e 74 ent...But.if.no.matching.element
d9760 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 6e 65 77 20 65 6c .is.available.no..........new.el
d9780 65 6d 65 6e 74 20 69 73 20 65 6e 74 65 72 65 64 20 28 6e 6f 74 65 20 74 68 61 74 20 74 68 65 20 ement.is.entered.(note.that.the.
d97a0 3c 56 41 52 3e 72 6f 6f 74 70 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 70 6f 69 6e 74 <VAR>rootp</VAR>.parameter.point
d97c0 73 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 61 6e 74 20 70 6f 69 6e 74 65 72 s.to.a..........constant.pointer
d97e0 29 2e 20 20 49 6e 73 74 65 61 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 )...Instead.the.function.returns
d9800 20 3c 43 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e .<CODE>NULL</CODE>..........sq.~
d9820 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 65 61 72 63 68 2e 68 78 71 00 7e 1d 10 74 00 3b ......w.....t..search.hxq.~..t.;
d9840 63 6f 6e 73 74 20 76 6f 69 64 20 2a 6b 65 79 2c 20 76 6f 69 64 20 2a 63 6f 6e 73 74 20 2a 72 6f const.void.*key,.void.*const.*ro
d9860 6f 74 70 2c 20 63 6f 6d 70 61 72 69 73 6f 6e 5f 66 6e 5f 74 20 63 6f 6d 70 61 72 74 00 06 76 6f otp,.comparison_fn_t.compart..vo
d9880 69 64 20 2a 74 00 06 74 67 61 6d 6d 61 73 71 00 7e 00 0a 70 74 01 42 0a 20 20 20 20 20 20 20 20 id.*t..tgammasq.~..pt.B.........
d98a0 3c 43 4f 44 45 3e 74 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 61 70 70 6c 69 65 73 20 74 68 65 20 <CODE>tgamma</CODE>.applies.the.
d98c0 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 gamma.function.to.<VAR>x</VAR>..
d98e0 20 54 68 65 20 67 61 6d 6d 61 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 .The.gamma..........function.is.
d9900 64 65 66 69 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 defined.as......................
d9920 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 67 61 6d 6d 61 ........<pre><br>..........gamma
d9940 20 28 78 29 20 3d 20 69 6e 74 65 67 72 61 6c 20 66 72 6f 6d 20 30 20 74 6f 20 69 6e 66 69 6e 69 .(x).=.integral.from.0.to.infini
d9960 74 79 7b 7d 20 6f 66 20 74 5e 28 78 2d 31 29 20 65 5e 2d 74 20 64 74 3c 62 72 3e 0a 20 20 20 20 ty{}.of.t^(x-1).e^-t.dt<br>.....
d9980 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c .....</pre>....................<
d99a0 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 br><br>.This.function.was.introd
d99c0 75 63 65 64 20 69 6e 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 uced.in.ISO.C99..........sq.~...
d99e0 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1d 17 74 00 08 64 6f 75 62 6c ...w.....t..math.hxq.~..t..doubl
d9a00 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 07 74 67 61 6d 6d 61 66 73 71 00 7e 00 0a 70 74 01 42 e.xt..doublet..tgammafsq.~..pt.B
d9a20 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 67 61 6d 6d 61 3c 2f 43 4f 44 45 3e 20 61 70 70 .........<CODE>tgamma</CODE>.app
d9a40 6c 69 65 73 20 74 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 3c 56 41 52 3e lies.the.gamma.function.to.<VAR>
d9a60 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 67 61 6d 6d 61 0a 20 20 20 20 20 20 20 20 20 66 75 6e x</VAR>...The.gamma..........fun
d9a80 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 0a 20 20 20 20 20 20 20 20 20 0a 20 20 ction.is.defined.as.............
d9aa0 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 .................<pre><br>......
d9ac0 20 20 20 20 67 61 6d 6d 61 20 28 78 29 20 3d 20 69 6e 74 65 67 72 61 6c 20 66 72 6f 6d 20 30 20 ....gamma.(x).=.integral.from.0.
d9ae0 74 6f 20 69 6e 66 69 6e 69 74 79 7b 7d 20 6f 66 20 74 5e 28 78 2d 31 29 20 65 5e 2d 74 20 64 74 to.infinity{}.of.t^(x-1).e^-t.dt
d9b00 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 0a 20 <br>..........</pre>............
d9b20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 ........<br><br>.This.function.w
d9b40 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 as.introduced.in.ISO.C99........
d9b60 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1d ..sq.~......w.....t..math.hxq.~.
d9b80 1e 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 07 74 67 61 6d 6d 61 6c 73 71 00 .t..float.xt..floatt..tgammalsq.
d9ba0 7e 00 0a 70 74 01 42 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 67 61 6d 6d 61 3c 2f 43 4f ~..pt.B.........<CODE>tgamma</CO
d9bc0 44 45 3e 20 61 70 70 6c 69 65 73 20 74 68 65 20 67 61 6d 6d 61 20 66 75 6e 63 74 69 6f 6e 20 74 DE>.applies.the.gamma.function.t
d9be0 6f 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 67 61 6d 6d 61 0a 20 20 20 20 20 o.<VAR>x</VAR>...The.gamma......
d9c00 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 0a 20 20 20 20 20 ....function.is.defined.as......
d9c20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 ........................<pre><br
d9c40 3e 0a 20 20 20 20 20 20 20 20 20 67 61 6d 6d 61 20 28 78 29 20 3d 20 69 6e 74 65 67 72 61 6c 20 >..........gamma.(x).=.integral.
d9c60 66 72 6f 6d 20 30 20 74 6f 20 69 6e 66 69 6e 69 74 79 7b 7d 20 6f 66 20 74 5e 28 78 2d 31 29 20 from.0.to.infinity{}.of.t^(x-1).
d9c80 65 5e 2d 74 20 64 74 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 e^-t.dt<br>..........</pre>.....
d9ca0 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e ...............<br><br>.This.fun
d9cc0 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 49 53 4f 20 43 39 39 2e ction.was.introduced.in.ISO.C99.
d9ce0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 .........sq.~......w.....t..math
d9d00 2e 68 78 71 00 7e 1d 25 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 .hxq.~.%t..long.double.xt..long.
d9d20 64 6f 75 62 6c 65 74 00 04 74 69 6d 65 73 71 00 7e 00 0a 70 74 01 84 0a 20 20 20 20 20 20 20 20 doublet..timesq.~..pt...........
d9d40 54 68 65 20 3c 43 4f 44 45 3e 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 The.<CODE>time</CODE>.function.r
d9d60 65 74 75 72 6e 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 61 6c 65 6e 64 61 72 20 74 69 6d 65 eturns.the.current.calendar.time
d9d80 20 61 73 20 61 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 79 70 65 20 3c 43 4f .as.a.value.of..........type.<CO
d9da0 44 45 3e 74 69 6d 65 5f 74 3c 2f 43 4f 44 45 3e 2e 20 20 49 66 20 74 68 65 20 61 72 67 75 6d 65 DE>time_t</CODE>...If.the.argume
d9dc0 6e 74 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 nt.<VAR>result</VAR>.is.not.a.nu
d9de0 6c 6c 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 63 61 6c 65 6e 64 61 ll.pointer,..........the.calenda
d9e00 72 20 74 69 6d 65 20 76 61 6c 75 65 20 69 73 20 61 6c 73 6f 20 73 74 6f 72 65 64 20 69 6e 20 3c r.time.value.is.also.stored.in.<
d9e20 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 20 CODE>*<VAR>result</VAR></CODE>..
d9e40 20 49 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 63 61 6c 65 6e 64 61 .If.the..........current.calenda
d9e60 72 20 74 69 6d 65 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2c 20 74 68 65 20 76 61 6c r.time.is.not.available,.the.val
d9e80 75 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 28 74 69 6d 65 5f 74 29 28 2d 31 29 3c 2f ue..........<CODE>(time_t)(-1)</
d9ea0 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 CODE>.is.returned..........sq.~.
d9ec0 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 1d 2c 74 00 0e 74 69 6d .....w.....t..time.hxq.~.,t..tim
d9ee0 65 5f 74 20 2a 72 65 73 75 6c 74 74 00 06 74 69 6d 65 5f 74 74 00 06 74 69 6d 65 67 6d 73 71 00 e_t.*resultt..time_tt..timegmsq.
d9f00 7e 00 0a 70 74 02 ba 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 74 ~..pt...........<br><br>.<CODE>t
d9f20 69 6d 65 67 6d 3c 2f 43 4f 44 45 3e 20 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 6c 79 20 69 64 65 imegm</CODE>.is.functionally.ide
d9f40 6e 74 69 63 61 6c 20 74 6f 20 3c 43 4f 44 45 3e 6d 6b 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 65 78 ntical.to.<CODE>mktime</CODE>.ex
d9f60 63 65 70 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 61 6c 77 61 79 73 20 74 61 6b 65 73 20 74 68 cept.it..........always.takes.th
d9f80 65 20 69 6e 70 75 74 20 76 61 6c 75 65 73 20 74 6f 20 62 65 20 43 6f 6f 72 64 69 6e 61 74 65 64 e.input.values.to.be.Coordinated
d9fa0 20 55 6e 69 76 65 72 73 61 6c 20 54 69 6d 65 20 28 55 54 43 29 0a 20 20 20 20 20 20 20 20 20 72 .Universal.Time.(UTC)..........r
d9fc0 65 67 61 72 64 6c 65 73 73 20 6f 66 20 61 6e 79 20 6c 6f 63 61 6c 20 74 69 6d 65 20 7a 6f 6e 65 egardless.of.any.local.time.zone
d9fe0 20 73 65 74 74 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 .setting...........<br><br>.Note
da000 20 74 68 61 74 20 3c 43 4f 44 45 3e 74 69 6d 65 67 6d 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 .that.<CODE>timegm</CODE>.is.the
da020 20 69 6e 76 65 72 73 65 20 6f 66 20 3c 43 4f 44 45 3e 67 6d 74 69 6d 65 3c 2f 43 4f 44 45 3e 2e .inverse.of.<CODE>gmtime</CODE>.
da040 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 72 74 61 62 69 6c 69 74 79 20 6e ..........<br><br>.Portability.n
da060 6f 74 65 3a 20 20 3c 43 4f 44 45 3e 6d 6b 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 69 73 20 65 73 73 ote:..<CODE>mktime</CODE>.is.ess
da080 65 6e 74 69 61 6c 6c 79 20 75 6e 69 76 65 72 73 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 61 76 entially.universally..........av
da0a0 61 69 6c 61 62 6c 65 2e 20 20 3c 43 4f 44 45 3e 74 69 6d 65 67 6d 3c 2f 43 4f 44 45 3e 20 69 73 ailable...<CODE>timegm</CODE>.is
da0c0 20 72 61 74 68 65 72 20 72 61 72 65 2e 20 20 46 6f 72 20 74 68 65 20 6d 6f 73 74 20 70 6f 72 74 .rather.rare...For.the.most.port
da0e0 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 61 20 able..........conversion.from.a.
da100 55 54 43 20 62 72 6f 6b 65 6e 2d 64 6f 77 6e 20 74 69 6d 65 20 74 6f 20 61 20 73 69 6d 70 6c 65 UTC.broken-down.time.to.a.simple
da120 20 74 69 6d 65 2c 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 43 4f 44 45 3e 54 5a .time,.set..........the.<CODE>TZ
da140 3c 2f 43 4f 44 45 3e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 74 6f 20 </CODE>.environment.variable.to.
da160 55 54 43 2c 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 6d 6b 74 69 6d 65 3c 2f 43 4f 44 45 3e 2c 20 74 UTC,.call.<CODE>mktime</CODE>,.t
da180 68 65 6e 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 54 5a 3c 2f 43 4f 44 45 3e hen.set..........<CODE>TZ</CODE>
da1a0 20 62 61 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 .back...........<br><br>........
da1c0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 1d 33 .sq.~......w.....t..time.hxq.~.3
da1e0 74 00 15 73 74 72 75 63 74 20 74 6d 20 2a 62 72 6f 6b 65 6e 74 69 6d 65 74 00 06 74 69 6d 65 5f t..struct.tm.*brokentimet..time_
da200 74 74 00 09 74 69 6d 65 6c 6f 63 61 6c 73 71 00 7e 00 0a 70 74 01 79 0a 20 20 20 20 20 20 20 20 tt..timelocalsq.~..pt.y.........
da220 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 74 69 6d 65 6c 6f 63 61 6c 3c 2f 43 4f 44 45 3e 20 <br><br>.<CODE>timelocal</CODE>.
da240 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 6c 79 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 3c 43 4f is.functionally.identical.to.<CO
da260 44 45 3e 6d 6b 74 69 6d 65 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 6d 6f 72 65 0a 20 20 20 20 20 DE>mktime</CODE>,.but.more......
da280 20 20 20 20 6d 6e 65 6d 6f 6e 69 63 61 6c 6c 79 20 6e 61 6d 65 64 2e 20 20 4e 6f 74 65 20 74 68 ....mnemonically.named...Note.th
da2a0 61 74 20 69 74 20 69 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 74 68 65 20 3c 43 4f 44 at.it.is.the.inverse.of.the.<COD
da2c0 45 3e 6c 6f 63 61 6c 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 E>localtime</CODE>..........func
da2e0 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6f 72 74 61 62 69 6c tion...........<br><br>.Portabil
da300 69 74 79 20 6e 6f 74 65 3a 20 20 3c 43 4f 44 45 3e 6d 6b 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 69 ity.note:..<CODE>mktime</CODE>.i
da320 73 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 75 6e 69 76 65 72 73 61 6c 6c 79 0a 20 20 20 20 20 20 s.essentially.universally.......
da340 20 20 20 61 76 61 69 6c 61 62 6c 65 2e 20 20 3c 43 4f 44 45 3e 74 69 6d 65 6c 6f 63 61 6c 3c 2f ...available...<CODE>timelocal</
da360 43 4f 44 45 3e 20 69 73 20 72 61 74 68 65 72 20 72 61 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c CODE>.is.rather.rare...........<
da380 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a br><br>.........sq.~......w.....
da3a0 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 1d 3a 74 00 15 73 74 72 75 63 74 20 74 6d 20 2a 62 72 6f t..time.hxq.~.:t..struct.tm.*bro
da3c0 6b 65 6e 74 69 6d 65 74 00 06 74 69 6d 65 5f 74 74 00 05 74 69 6d 65 73 73 71 00 7e 00 0a 70 74 kentimet..time_tt..timessq.~..pt
da3e0 01 63 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 69 6d 65 73 3c 2f 43 4f 44 45 .c.........The.<CODE>times</CODE
da400 3e 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 73 20 74 68 65 20 70 72 6f 63 65 73 73 6f 72 20 >.function.stores.the.processor.
da420 74 69 6d 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 time.information.for..........th
da440 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 69 6e 20 3c 56 41 52 3e 62 75 66 66 65 72 e.calling.process.in.<VAR>buffer
da460 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 </VAR>...........<br><br>.The.re
da480 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 turn.value.is.the.calling.proces
da4a0 73 27 20 43 50 55 20 74 69 6d 65 20 28 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 79 6f 75 0a s'.CPU.time.(the.same.value.you.
da4c0 20 20 20 20 20 20 20 20 20 67 65 74 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 63 6c 6f 63 6b 28 29 3c .........get.from.<CODE>clock()<
da4e0 2f 43 4f 44 45 3e 2e 20 20 3c 43 4f 44 45 3e 74 69 6d 65 73 3c 2f 43 4f 44 45 3e 20 72 65 74 75 /CODE>...<CODE>times</CODE>.retu
da500 72 6e 73 20 3c 43 4f 44 45 3e 28 63 6c 6f 63 6b 5f 74 29 28 2d 31 29 3c 2f 43 4f 44 45 3e 20 74 rns.<CODE>(clock_t)(-1)</CODE>.t
da520 6f 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 20 66 61 69 6c 75 72 65 2e 0a 20 20 20 o..........indicate.failure.....
da540 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 79 73 2f 74 69 6d 65 .....sq.~......w.....t..sys/time
da560 73 2e 68 78 71 00 7e 1d 41 74 00 12 73 74 72 75 63 74 20 74 6d 73 20 2a 62 75 66 66 65 72 74 00 s.hxq.~.At..struct.tms.*buffert.
da580 07 63 6c 6f 63 6b 5f 74 74 00 07 74 6d 70 66 69 6c 65 73 71 00 7e 00 0a 70 74 02 90 0a 20 20 20 .clock_tt..tmpfilesq.~..pt......
da5a0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 74 65 6d .....This.function.creates.a.tem
da5c0 70 6f 72 61 72 79 20 62 69 6e 61 72 79 20 66 69 6c 65 20 66 6f 72 20 75 70 64 61 74 65 20 6d 6f porary.binary.file.for.update.mo
da5e0 64 65 2c 20 61 73 20 69 66 20 62 79 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 69 6e 67 20 3c 43 de,.as.if.by..........calling.<C
da600 4f 44 45 3e 66 6f 70 65 6e 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 6d 6f 64 65 20 3c 43 4f 44 45 ODE>fopen</CODE>.with.mode.<CODE
da620 3e 22 77 62 2b 22 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 66 69 6c 65 20 69 73 20 64 65 6c 65 >"wb+"</CODE>...The.file.is.dele
da640 74 65 64 0a 20 20 20 20 20 20 20 20 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 ted..........automatically.when.
da660 69 74 20 69 73 20 63 6c 6f 73 65 64 20 6f 72 20 77 68 65 6e 20 74 68 65 20 70 72 6f 67 72 61 6d it.is.closed.or.when.the.program
da680 20 74 65 72 6d 69 6e 61 74 65 73 2e 20 20 28 4f 6e 0a 20 20 20 20 20 20 20 20 20 73 6f 6d 65 20 .terminates...(On..........some.
da6a0 6f 74 68 65 72 20 49 53 4f 20 43 20 73 79 73 74 65 6d 73 20 74 68 65 20 66 69 6c 65 20 6d 61 79 other.ISO.C.systems.the.file.may
da6c0 20 66 61 69 6c 20 74 6f 20 62 65 20 64 65 6c 65 74 65 64 20 69 66 20 74 68 65 20 70 72 6f 67 72 .fail.to.be.deleted.if.the.progr
da6e0 61 6d 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 74 65 73 20 61 62 6e 6f 72 6d 61 6c 6c am..........terminates.abnormall
da700 79 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 y)...........<br><br>.This.funct
da720 69 6f 6e 20 69 73 20 72 65 65 6e 74 72 61 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c ion.is.reentrant...........<br><
da740 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 br>.When.the.sources.are.compile
da760 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d d.with.<CODE>_FILE_OFFSET_BITS.=
da780 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 32 2d 62 69 74 =.64</CODE>.on.a..........32-bit
da7a0 20 73 79 73 74 65 6d 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 .system.this.function.is.in.fact
da7c0 20 3c 43 4f 44 45 3e 74 6d 70 66 69 6c 65 36 34 3c 2f 43 4f 44 45 3e 2c 20 69 2e 65 2e 2c 20 74 .<CODE>tmpfile64</CODE>,.i.e.,.t
da7e0 68 65 20 4c 46 53 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 20 74 72 61 6e 73 70 he.LFS..........interface.transp
da800 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 arently.replaces.the.old.interfa
da820 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 ce..........sq.~......w.....t..s
da840 74 64 69 6f 2e 68 78 71 00 7e 1d 48 74 00 04 76 6f 69 64 74 00 06 46 49 4c 45 20 2a 74 00 09 74 tdio.hxq.~.Ht..voidt..FILE.*t..t
da860 6d 70 66 69 6c 65 36 34 73 71 00 7e 00 0a 70 74 02 89 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 mpfile64sq.~..pt...........This.
da880 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 74 6d 70 function.is.similar.to.<CODE>tmp
da8a0 66 69 6c 65 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 74 68 65 20 73 74 72 65 61 6d 20 69 74 20 72 file</CODE>,.but.the.stream.it.r
da8c0 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 74 6f 20 77 61 73 eturns.a..........pointer.to.was
da8e0 20 6f 70 65 6e 65 64 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 74 6d 70 66 69 6c 65 36 34 3c 2f 43 .opened.using.<CODE>tmpfile64</C
da900 4f 44 45 3e 2e 20 20 54 68 65 72 65 66 6f 72 65 20 74 68 69 73 20 73 74 72 65 61 6d 20 63 61 6e ODE>...Therefore.this.stream.can
da920 0a 20 20 20 20 20 20 20 20 20 62 65 20 75 73 65 64 20 66 6f 72 20 66 69 6c 65 73 20 6c 61 72 67 ..........be.used.for.files.larg
da940 65 72 20 74 68 65 6e 20 32 5e 33 31 20 62 79 74 65 73 20 6f 6e 20 33 32 2d 62 69 74 20 6d 61 63 er.then.2^31.bytes.on.32-bit.mac
da960 68 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 6c 65 61 73 65 20 hines...........<br><br>.Please.
da980 6e 6f 74 65 20 74 68 61 74 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 73 74 69 note.that.the.return.type.is.sti
da9a0 6c 6c 20 3c 43 4f 44 45 3e 46 49 4c 45 20 2a 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 72 65 20 69 ll.<CODE>FILE.*</CODE>...There.i
da9c0 73 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 61 6c 20 3c 43 4f 44 45 3e 46 49 4c 45 s.no..........special.<CODE>FILE
da9e0 3c 2f 43 4f 44 45 3e 20 74 79 70 65 20 66 6f 72 20 74 68 65 20 4c 46 53 20 69 6e 74 65 72 66 61 </CODE>.type.for.the.LFS.interfa
daa00 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 73 6f 75 ce...........<br><br>.If.the.sou
daa20 72 63 65 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 rces.are.compiled.with.<CODE>_FI
daa40 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 LE_OFFSET_BITS.==.64</CODE>.on.a
daa60 20 33 32 0a 20 20 20 20 20 20 20 20 20 62 69 74 73 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 .32..........bits.machine.this.f
daa80 75 6e 63 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e unction.is.available.under.the.n
daaa0 61 6d 65 20 3c 43 4f 44 45 3e 74 6d 70 66 69 6c 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 ame.<CODE>tmpfile</CODE>........
daac0 20 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 ..and.so.transparently.replaces.
daae0 74 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 the.old.interface..........sq.~.
dab00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1d 4f 74 00 04 76 6f .....w.....t..stdio.hxq.~.Ot..vo
dab20 69 64 74 00 06 46 49 4c 45 20 2a 74 00 06 74 6d 70 6e 61 6d 73 71 00 7e 00 0a 70 74 05 5e 0a 20 idt..FILE.*t..tmpnamsq.~..pt.^..
dab40 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 73 74 72 75 63 74 73 20 .......This.function.constructs.
dab60 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 6e 61 6d 65 20 74 68 and.returns.a.valid.file.name.th
dab80 61 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 72 65 66 65 72 20 74 6f 20 61 6e at.does.not..........refer.to.an
daba0 79 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 2e 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 72 65 y.existing.file...If.the.<VAR>re
dabc0 73 75 6c 74 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 6e 75 6c 6c 0a 20 20 sult</VAR>.argument.is.a.null...
dabe0 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 .......pointer,.the.return.value
dac00 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 .is.a.pointer.to.an.internal.sta
dac20 74 69 63 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 6d 69 67 68 74 tic.string,..........which.might
dac40 20 62 65 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 .be.modified.by.subsequent.calls
dac60 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 6d 61 6b 65 73 20 74 68 69 73 0a 20 20 20 20 20 20 .and.therefore.makes.this.......
dac80 20 20 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 6e 2d 72 65 65 6e 74 72 61 6e 74 2e 20 20 4f 74 68 65 ...function.non-reentrant...Othe
daca0 72 77 69 73 65 2c 20 74 68 65 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 52 3e 20 61 72 67 rwise,.the.<VAR>result</VAR>.arg
dacc0 75 6d 65 6e 74 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 20 61 20 70 6f 69 6e 74 ument.should.be..........a.point
dace0 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 20 6f 66 20 61 74 20 6c 65 61 73 74 20 3c 43 4f 44 45 er.to.an.array.of.at.least.<CODE
dad00 3e 4c 5f 74 6d 70 6e 61 6d 3c 2f 43 4f 44 45 3e 20 63 68 61 72 61 63 74 65 72 73 2c 20 61 6e 64 >L_tmpnam</CODE>.characters,.and
dad20 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 73 20 77 72 69 74 74 65 6e 20 .the..........result.is.written.
dad40 69 6e 74 6f 20 74 68 61 74 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 into.that.array...........<br><b
dad60 72 3e 20 49 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 66 6f 72 20 3c 43 4f 44 45 3e 74 6d 70 6e r>.It.is.possible.for.<CODE>tmpn
dad80 61 6d 3c 2f 43 4f 44 45 3e 20 74 6f 20 66 61 69 6c 20 69 66 20 79 6f 75 20 63 61 6c 6c 20 69 74 am</CODE>.to.fail.if.you.call.it
dada0 20 74 6f 6f 20 6d 61 6e 79 20 74 69 6d 65 73 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 .too.many.times..........without
dadc0 20 72 65 6d 6f 76 69 6e 67 20 70 72 65 76 69 6f 75 73 6c 79 2d 63 72 65 61 74 65 64 20 66 69 6c .removing.previously-created.fil
dade0 65 73 2e 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 74 68 65 20 6c 69 6d 69 74 65 64 es...This.is.because.the.limited
dae00 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 74 65 6d 70 6f 72 61 72 ..........length.of.the.temporar
dae20 79 20 66 69 6c 65 20 6e 61 6d 65 73 20 67 69 76 65 73 20 72 6f 6f 6d 20 66 6f 72 20 6f 6e 6c 79 y.file.names.gives.room.for.only
dae40 20 61 20 66 69 6e 69 74 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 6f 66 20 64 69 66 .a.finite.number..........of.dif
dae60 66 65 72 65 6e 74 20 6e 61 6d 65 73 2e 20 20 49 66 20 3c 43 4f 44 45 3e 74 6d 70 6e 61 6d 3c 2f ferent.names...If.<CODE>tmpnam</
dae80 43 4f 44 45 3e 20 66 61 69 6c 73 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f CODE>.fails.it.returns.a.null.po
daea0 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 61 72 6e 69 6e 67 inter...........<br><br>.Warning
daec0 3a 20 42 65 74 77 65 65 6e 20 74 68 65 20 74 69 6d 65 20 74 68 65 20 70 61 74 68 6e 61 6d 65 20 :.Between.the.time.the.pathname.
daee0 69 73 20 63 6f 6e 73 74 72 75 63 74 65 64 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 is.constructed.and.the..........
daf00 66 69 6c 65 20 69 73 20 63 72 65 61 74 65 64 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 65 73 73 20 file.is.created.another.process.
daf20 6d 69 67 68 74 20 68 61 76 65 20 63 72 65 61 74 65 64 20 61 20 66 69 6c 65 20 77 69 74 68 20 74 might.have.created.a.file.with.t
daf40 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 75 73 69 6e 67 20 3c 43 4f 44 he.same..........name.using.<COD
daf60 45 3e 74 6d 70 6e 61 6d 3c 2f 43 4f 44 45 3e 2c 20 6c 65 61 64 69 6e 67 20 74 6f 20 61 20 70 6f E>tmpnam</CODE>,.leading.to.a.po
daf80 73 73 69 62 6c 65 20 73 65 63 75 72 69 74 79 20 68 6f 6c 65 2e 20 20 54 68 65 0a 20 20 20 20 20 ssible.security.hole...The......
dafa0 20 20 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 73 20 6e 61 6d ....implementation.generates.nam
dafc0 65 73 20 77 68 69 63 68 20 63 61 6e 20 68 61 72 64 6c 79 20 62 65 20 70 72 65 64 69 63 74 65 64 es.which.can.hardly.be.predicted
dafe0 2c 20 62 75 74 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 6f 70 65 6e 69 6e 67 20 74 68 65 20 ,.but.when..........opening.the.
db000 66 69 6c 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 20 74 68 65 20 3c 43 4f 44 45 3e 4f 5f file.you.should.use.the.<CODE>O_
db020 45 58 43 4c 3c 2f 43 4f 44 45 3e 20 66 6c 61 67 2e 20 20 55 73 69 6e 67 0a 20 20 20 20 20 20 20 EXCL</CODE>.flag...Using........
db040 20 20 3c 43 4f 44 45 3e 74 6d 70 66 69 6c 65 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e ..<CODE>tmpfile</CODE>.or.<CODE>
db060 6d 6b 73 74 65 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 73 61 66 65 20 77 61 79 20 74 6f 20 mkstemp</CODE>.is.a.safe.way.to.
db080 61 76 6f 69 64 20 74 68 69 73 20 70 72 6f 62 6c 65 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e avoid.this.problem..........sq.~
db0a0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1d 56 74 00 0c 63 ......w.....t..stdio.hxq.~.Vt..c
db0c0 68 61 72 20 2a 72 65 73 75 6c 74 74 00 06 63 68 61 72 20 2a 74 00 08 74 6d 70 6e 61 6d 5f 72 73 har.*resultt..char.*t..tmpnam_rs
db0e0 71 00 7e 00 0a 70 74 01 9d 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 q.~..pt...........This.function.
db100 69 73 20 6e 65 61 72 6c 79 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 is.nearly.identical.to.the.<CODE
db120 3e 74 6d 70 6e 61 6d 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 65 78 63 65 70 74 0a >tmpnam</CODE>.function,.except.
db140 20 20 20 20 20 20 20 20 20 74 68 61 74 20 69 66 20 3c 56 41 52 3e 72 65 73 75 6c 74 3c 2f 56 41 .........that.if.<VAR>result</VA
db160 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 74 20 72 65 74 75 72 6e 73 20 R>.is.a.null.pointer.it.returns.
db180 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 a.null.pointer...........<br><br
db1a0 3e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 72 65 65 6e 74 72 61 6e 63 79 20 62 65 63 >.This.guarantees.reentrancy.bec
db1c0 61 75 73 65 20 74 68 65 20 6e 6f 6e 2d 72 65 65 6e 74 72 61 6e 74 20 73 69 74 75 61 74 69 6f 6e ause.the.non-reentrant.situation
db1e0 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 6d 70 6e 61 6d 3c 2f 43 4f 44 45 3e .of..........<CODE>tmpnam</CODE>
db200 20 63 61 6e 6e 6f 74 20 68 61 70 70 65 6e 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 .cannot.happen.here...........<b
db220 72 3e 3c 62 72 3e 20 57 61 72 6e 69 6e 67 3a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 61 r><br>.Warning:.This.function.ha
db240 73 20 74 68 65 20 73 61 6d 65 20 73 65 63 75 72 69 74 79 20 70 72 6f 62 6c 65 6d 73 20 61 73 0a s.the.same.security.problems.as.
db260 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 6d 70 6e 61 6d 3c 2f 43 4f 44 45 3e 2e 0a 20 20 .........<CODE>tmpnam</CODE>....
db280 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 ......sq.~......w.....t..stdio.h
db2a0 78 71 00 7e 1d 5d 74 00 0c 63 68 61 72 20 2a 72 65 73 75 6c 74 74 00 06 63 68 61 72 20 2a 74 00 xq.~.]t..char.*resultt..char.*t.
db2c0 07 74 6f 61 73 63 69 69 73 71 00 7e 00 0a 70 74 01 03 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 .toasciisq.~..pt...........This.
db2e0 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 74 function.converts.<VAR>c</VAR>.t
db300 6f 20 61 20 37 2d 62 69 74 20 3c 43 4f 44 45 3e 75 6e 73 69 67 6e 65 64 20 63 68 61 72 3c 2f 43 o.a.7-bit.<CODE>unsigned.char</C
db320 4f 44 45 3e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 66 69 74 73 20 69 6e ODE>.value..........that.fits.in
db340 74 6f 20 74 68 65 20 55 53 2f 55 4b 20 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 20 73 65 74 to.the.US/UK.ASCII.character.set
db360 2c 20 62 79 20 63 6c 65 61 72 69 6e 67 20 74 68 65 20 68 69 67 68 2d 6f 72 64 65 72 0a 20 20 20 ,.by.clearing.the.high-order....
db380 20 20 20 20 20 20 62 69 74 73 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 ......bits...This.function.is.a.
db3a0 42 53 44 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 69 73 20 61 6c 73 6f 20 61 6e 20 53 56 49 BSD.extension.and.is.also.an.SVI
db3c0 44 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 D.extension..........sq.~......w
db3e0 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 1d 64 74 00 05 69 6e 74 20 63 74 00 03 .....t..ctype.hxq.~.dt..int.ct..
db400 69 6e 74 74 00 07 74 6f 6c 6f 77 65 72 73 71 00 7e 00 0a 70 74 00 e0 0a 20 20 20 20 20 20 20 20 intt..tolowersq.~..pt...........
db420 49 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 75 70 70 65 72 2d 63 61 73 65 If.<VAR>c</VAR>.is.an.upper-case
db440 20 6c 65 74 74 65 72 2c 20 3c 43 4f 44 45 3e 74 6f 6c 6f 77 65 72 3c 2f 43 4f 44 45 3e 20 72 65 .letter,.<CODE>tolower</CODE>.re
db460 74 75 72 6e 73 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 turns.the.corresponding.........
db480 20 6c 6f 77 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 2e 20 20 49 66 20 3c 56 41 52 3e 63 3c 2f .lower-case.letter...If.<VAR>c</
db4a0 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 6e 20 75 70 70 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 VAR>.is.not.an.upper-case.letter
db4c0 2c 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 72 65 74 75 72 ,..........<VAR>c</VAR>.is.retur
db4e0 6e 65 64 20 75 6e 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 ned.unchanged..........sq.~.....
db500 01 77 04 00 00 00 0a 74 00 07 63 74 79 70 65 2e 68 78 71 00 7e 1d 6b 74 00 05 69 6e 74 20 63 74 .w.....t..ctype.hxq.~.kt..int.ct
db520 00 03 69 6e 74 74 00 07 74 6f 75 70 70 65 72 73 71 00 7e 00 0a 70 74 00 b3 0a 20 20 20 20 20 20 ..intt..touppersq.~..pt.........
db540 20 20 49 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 6c 6f 77 65 72 2d 63 61 73 ..If.<VAR>c</VAR>.is.a.lower-cas
db560 65 20 6c 65 74 74 65 72 2c 20 3c 43 4f 44 45 3e 74 6f 75 70 70 65 72 3c 2f 43 4f 44 45 3e 20 72 e.letter,.<CODE>toupper</CODE>.r
db580 65 74 75 72 6e 73 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 eturns.the.corresponding........
db5a0 20 20 75 70 70 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 2e 20 20 4f 74 68 65 72 77 69 73 65 20 ..upper-case.letter...Otherwise.
db5c0 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 75 6e 63 68 61 6e 67 <VAR>c</VAR>.is.returned.unchang
db5e0 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 63 ed..........sq.~......w.....t..c
db600 74 79 70 65 2e 68 78 71 00 7e 1d 72 74 00 05 69 6e 74 20 63 74 00 03 69 6e 74 74 00 09 74 6f 77 type.hxq.~.rt..int.ct..intt..tow
db620 63 74 72 61 6e 73 73 71 00 7e 00 0a 70 74 01 77 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 ctranssq.~..pt.w.........<CODE>t
db640 6f 77 63 74 72 61 6e 73 3c 2f 43 4f 44 45 3e 20 6d 61 70 73 20 74 68 65 20 69 6e 70 75 74 20 63 owctrans</CODE>.maps.the.input.c
db660 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 haracter.<VAR>wc</VAR>..........
db680 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 72 75 6c 65 73 20 6f 66 20 74 68 65 20 6d 61 according.to.the.rules.of.the.ma
db6a0 70 70 69 6e 67 20 66 6f 72 20 77 68 69 63 68 20 3c 56 41 52 3e 64 65 73 63 3c 2f 56 41 52 3e 20 pping.for.which.<VAR>desc</VAR>.
db6c0 69 73 20 61 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 2c 20 61 6e 64 20 72 65 is.a..........descriptor,.and.re
db6e0 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 69 74 20 66 69 6e 64 73 2e 20 20 3c 56 41 52 3e turns.the.value.it.finds...<VAR>
db700 64 65 73 63 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 6f 62 74 61 desc</VAR>.must.be..........obta
db720 69 6e 65 64 20 62 79 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 63 61 6c 6c 20 74 6f 20 3c 43 4f ined.by.a.successful.call.to.<CO
db740 44 45 3e 77 63 74 72 61 6e 73 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e DE>wctrans</CODE>...........<br>
db760 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 <br>...........This.function.is.
db780 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 declared.in.<TT>wctype.h</TT>...
db7a0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 70 65 .......sq.~......w.....t..wctype
db7c0 2e 68 78 71 00 7e 1d 79 74 00 19 77 69 6e 74 5f 74 20 77 63 2c 20 77 63 74 72 61 6e 73 5f 74 20 .hxq.~.yt..wint_t.wc,.wctrans_t.
db7e0 64 65 73 63 74 00 06 77 69 6e 74 5f 74 74 00 08 74 6f 77 6c 6f 77 65 72 73 71 00 7e 00 0a 70 74 desct..wint_tt..towlowersq.~..pt
db800 01 d8 0a 20 20 20 20 20 20 20 20 49 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 61 ...........If.<VAR>wc</VAR>.is.a
db820 6e 20 75 70 70 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 2c 20 3c 43 4f 44 45 3e 74 6f 77 6c 6f n.upper-case.letter,.<CODE>towlo
db840 77 65 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e wer</CODE>.returns.the.correspon
db860 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6c 6f 77 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 2e ding..........lower-case.letter.
db880 20 20 49 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 6e 20 75 70 70 ..If.<VAR>wc</VAR>.is.not.an.upp
db8a0 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 77 63 er-case.letter,..........<VAR>wc
db8c0 3c 2f 56 41 52 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 75 6e 63 68 61 6e 67 65 64 2e 0a 20 20 </VAR>.is.returned.unchanged....
db8e0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e .......<br><br>...........<CODE>
db900 74 6f 77 6c 6f 77 65 72 3c 2f 43 4f 44 45 3e 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 towlower</CODE>.can.be.implement
db920 65 64 20 75 73 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e ed.using..........<br><br>.<pre>
db940 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 74 6f 77 63 74 72 61 6e 73 20 28 77 63 2c 20 77 63 74 <br>..........towctrans.(wc,.wct
db960 72 61 6e 73 20 28 22 74 6f 6c 6f 77 65 72 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c rans.("tolower"))<br>..........<
db980 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 /pre>..........<br><br>.........
db9a0 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c ..This.function.is.declared.in.<
db9c0 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f TT>wctype.h</TT>..........sq.~..
db9e0 00 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 70 65 2e 68 78 71 00 7e 1d 80 74 00 09 77 69 ....w.....t..wctype.hxq.~..t..wi
dba00 6e 74 5f 74 20 77 63 74 00 06 77 69 6e 74 5f 74 74 00 08 74 6f 77 75 70 70 65 72 73 71 00 7e 00 nt_t.wct..wint_tt..towuppersq.~.
dba20 0a 70 74 01 aa 0a 20 20 20 20 20 20 20 20 49 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 .pt...........If.<VAR>wc</VAR>.i
dba40 73 20 61 20 6c 6f 77 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 2c 20 3c 43 4f 44 45 3e 74 6f 77 s.a.lower-case.letter,.<CODE>tow
dba60 75 70 70 65 72 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 63 6f 72 72 65 73 70 upper</CODE>.returns.the.corresp
dba80 6f 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 75 70 70 65 72 2d 63 61 73 65 20 6c 65 74 74 65 onding..........upper-case.lette
dbaa0 72 2e 20 20 4f 74 68 65 72 77 69 73 65 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 72 r...Otherwise.<VAR>wc</VAR>.is.r
dbac0 65 74 75 72 6e 65 64 20 75 6e 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e eturned.unchanged...........<br>
dbae0 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 6f 77 75 70 70 65 72 3c 2f 43 <br>...........<CODE>towupper</C
dbb00 4f 44 45 3e 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 75 73 69 6e 67 0a 20 20 ODE>.can.be.implemented.using...
dbb20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 .......<br><br>.<pre><br>.......
dbb40 20 20 20 74 6f 77 63 74 72 61 6e 73 20 28 77 63 2c 20 77 63 74 72 61 6e 73 20 28 22 74 6f 75 70 ...towctrans.(wc,.wctrans.("toup
dbb60 70 65 72 22 29 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 per"))<br>..........</pre>......
dbb80 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 ....<br><br>...........This.func
dbba0 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 tion.is.declared.in.<TT>wctype.h
dbbc0 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 </TT>..........sq.~......w.....t
dbbe0 00 08 77 63 74 79 70 65 2e 68 78 71 00 7e 1d 87 74 00 09 77 69 6e 74 5f 74 20 77 63 74 00 06 77 ..wctype.hxq.~..t..wint_t.wct..w
dbc00 69 6e 74 5f 74 74 00 05 74 72 75 6e 63 73 71 00 7e 00 0a 70 74 01 08 0a 20 20 20 20 20 20 20 20 int_tt..truncsq.~..pt...........
dbc20 54 68 65 20 3c 43 4f 44 45 3e 74 72 75 6e 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 The.<CODE>trunc</CODE>.functions
dbc40 20 72 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 74 6f 77 61 72 64 73 20 7a 65 72 6f .round.<VAR>x</VAR>.towards.zero
dbc60 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 67 65 72 .to.the.nearest..........integer
dbc80 20 28 72 65 74 75 72 6e 65 64 20 69 6e 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 66 6f 72 .(returned.in.floating-point.for
dbca0 6d 61 74 29 2e 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 3e 74 72 75 6e 63 20 28 31 2e 35 29 3c 2f mat)...Thus,.<CODE>trunc.(1.5)</
dbcc0 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f 44 45 3e 31 2e 30 3c 2f 43 4f 44 CODE>..........is.<CODE>1.0</COD
dbce0 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 74 72 75 6e 63 20 28 2d 31 2e 35 29 3c 2f 43 4f 44 45 3e E>.and.<CODE>trunc.(-1.5)</CODE>
dbd00 20 69 73 20 3c 43 4f 44 45 3e 2d 31 2e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 .is.<CODE>-1.0</CODE>..........s
dbd20 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 1d 8e 74 00 q.~......w.....t..math.hxq.~..t.
dbd40 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 08 74 72 75 6e 63 61 74 65 73 71 00 .double.xt..doublet..truncatesq.
dbd60 7e 00 0a 70 74 06 45 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f ~..pt.E.........<br><br>.The.<CO
dbd80 44 45 3e 74 72 75 6e 63 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 68 61 6e DE>truncate</CODE>.function.chan
dbda0 67 65 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 ges.the.size.of.<VAR>filename</V
dbdc0 41 52 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 AR>.to..........<VAR>length</VAR
dbde0 3e 2e 20 20 49 66 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 69 73 20 73 68 6f 72 >...If.<VAR>length</VAR>.is.shor
dbe00 74 65 72 20 74 68 61 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6c 65 6e 67 74 68 2c 20 64 61 ter.than.the.previous.length,.da
dbe20 74 61 0a 20 20 20 20 20 20 20 20 20 61 74 20 74 68 65 20 65 6e 64 20 77 69 6c 6c 20 62 65 20 6c ta..........at.the.end.will.be.l
dbe40 6f 73 74 2e 20 20 54 68 65 20 66 69 6c 65 20 6d 75 73 74 20 62 65 20 77 72 69 74 61 62 6c 65 20 ost...The.file.must.be.writable.
dbe60 62 79 20 74 68 65 20 75 73 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 20 70 65 72 66 6f 72 6d 20 by.the.user.to..........perform.
dbe80 74 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 this.operation...........<br><br
dbea0 3e 20 49 66 20 3c 56 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 69 73 20 6c 6f 6e 67 65 72 >.If.<VAR>length</VAR>.is.longer
dbec0 2c 20 68 6f 6c 65 73 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 65 6e 64 ,.holes.will.be.added.to.the.end
dbee0 2e 20 20 48 6f 77 65 76 65 72 2c 20 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 73 79 73 74 65 6d ...However,.some..........system
dbf00 73 20 64 6f 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 6e s.do.not.support.this.feature.an
dbf20 64 20 77 69 6c 6c 20 6c 65 61 76 65 20 74 68 65 20 66 69 6c 65 20 75 6e 63 68 61 6e 67 65 64 2e d.will.leave.the.file.unchanged.
dbf40 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 ..........<br><br>.When.the.sour
dbf60 63 65 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f ce.file.is.compiled.with.<CODE>_
dbf80 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 74 68 FILE_OFFSET_BITS.==.64</CODE>.th
dbfa0 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 72 75 6e 63 61 74 65 3c 2f 43 4f 44 45 3e e..........<CODE>truncate</CODE>
dbfc0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 66 61 63 74 20 3c 43 4f 44 45 3e 74 72 75 6e 63 .function.is.in.fact.<CODE>trunc
dbfe0 61 74 65 36 34 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 74 68 65 20 74 79 70 65 0a 20 20 20 20 20 20 ate64</CODE>.and.the.type.......
dc000 20 20 20 3c 43 4f 44 45 3e 6f 66 66 5f 74 3c 2f 43 4f 44 45 3e 20 68 61 73 20 36 34 20 62 69 74 ...<CODE>off_t</CODE>.has.64.bit
dc020 73 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 68 61 6e s.which.makes.it.possible.to.han
dc040 64 6c 65 20 66 69 6c 65 73 20 75 70 20 74 6f 0a 20 20 20 20 20 20 20 20 20 32 5e 36 33 20 62 79 dle.files.up.to..........2^63.by
dc060 74 65 73 20 69 6e 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e tes.in.length...........<br><br>
dc080 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 30 20 66 6f 72 20 73 75 63 63 65 .The.return.value.is.0.for.succe
dc0a0 73 73 2c 20 6f 72 20 2d 31 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 2e 20 20 49 6e 0a 20 20 20 20 ss,.or.-1.for.an.error...In.....
dc0c0 20 20 20 20 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 .....addition.to.the.usual.file.
dc0e0 6e 61 6d 65 20 65 72 72 6f 72 73 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 72 72 6f 72 name.errors,.the.following.error
dc100 73 20 6d 61 79 20 6f 63 63 75 72 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c s.may.occur:..........<br><br>.<
dc120 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 DL>...........<br><br>.<DT><CODE
dc140 3e 45 41 43 43 45 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 >EACCES</CODE>.<DD>..........The
dc160 20 66 69 6c 65 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 6e 6f 74 20 77 72 69 74 .file.is.a.directory.or.not.writ
dc180 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 able...........<br><br>.<DT><COD
dc1a0 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 3c 56 E>EINVAL</CODE>.<DD>..........<V
dc1c0 41 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 69 73 20 6e 65 67 61 74 69 76 65 2e 0a 20 20 20 AR>length</VAR>.is.negative.....
dc1e0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 46 42 49 47 3c 2f ......<br><br>.<DT><CODE>EFBIG</
dc200 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 69 6f CODE>.<DD>..........The.operatio
dc220 6e 20 77 6f 75 6c 64 20 65 78 74 65 6e 64 20 74 68 65 20 66 69 6c 65 20 62 65 79 6f 6e 64 20 74 n.would.extend.the.file.beyond.t
dc240 68 65 20 6c 69 6d 69 74 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 he.limits.of.the.operating.syste
dc260 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 m...........<br><br>.<DT><CODE>E
dc280 49 4f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 20 68 61 72 64 77 61 IO</CODE>.<DD>..........A.hardwa
dc2a0 72 65 20 49 2f 4f 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 re.I/O.error.occurred...........
dc2c0 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a <br><br>.<DT><CODE>EPERM</CODE>.
dc2e0 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 69 73 20 22 61 70 70 65 6e <DD>..........The.file.is."appen
dc300 64 2d 6f 6e 6c 79 22 20 6f 72 20 22 69 6d 6d 75 74 61 62 6c 65 22 2e 0a 20 20 20 20 20 20 20 20 d-only".or."immutable"..........
dc320 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e .<br><br>.<DT><CODE>EINTR</CODE>
dc340 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 .<DD>..........The.operation.was
dc360 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 20 61 20 73 69 67 6e 61 6c 2e 0a 20 20 20 20 20 20 .interrupted.by.a.signal........
dc380 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c ...<br><br>.</DL>..........<br><
dc3a0 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 br>.........sq.~......w.....t..u
dc3c0 6e 69 73 74 64 2e 68 78 71 00 7e 1d 95 74 00 22 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 nistd.hxq.~..t."const.char.*file
dc3e0 6e 61 6d 65 2c 20 6f 66 66 5f 74 20 6c 65 6e 67 74 68 74 00 03 69 6e 74 74 00 0a 74 72 75 6e 63 name,.off_t.lengtht..intt..trunc
dc400 61 74 65 36 34 73 71 00 7e 00 0a 70 74 02 0f 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e ate64sq.~..pt...........This.fun
dc420 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 74 72 ction.is.similar.to.the.<CODE>tr
dc440 75 6e 63 61 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 65 0a 20 20 20 uncate</CODE>.function...The....
dc460 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 3c 56 41 ......difference.is.that.the.<VA
dc480 52 3e 6c 65 6e 67 74 68 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 36 34 20 62 69 R>length</VAR>.argument.is.64.bi
dc4a0 74 73 20 77 69 64 65 20 65 76 65 6e 20 6f 6e 20 33 32 0a 20 20 20 20 20 20 20 20 20 62 69 74 73 ts.wide.even.on.32..........bits
dc4c0 20 6d 61 63 68 69 6e 65 73 2c 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 74 68 65 20 68 61 6e 64 .machines,.which.allows.the.hand
dc4e0 6c 69 6e 67 20 6f 66 20 66 69 6c 65 73 20 77 69 74 68 20 73 69 7a 65 73 20 75 70 20 74 6f 0a 20 ling.of.files.with.sizes.up.to..
dc500 20 20 20 20 20 20 20 20 32 5e 36 33 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ........2^63.bytes...........<br
dc520 3e 3c 62 72 3e 20 57 68 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 63 6f ><br>.When.the.source.file.is.co
dc540 6d 70 69 6c 65 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 mpiled.with.<CODE>_FILE_OFFSET_B
dc560 49 54 53 20 3d 3d 20 36 34 3c 2f 43 4f 44 45 3e 20 6f 6e 20 61 0a 20 20 20 20 20 20 20 20 20 33 ITS.==.64</CODE>.on.a..........3
dc580 32 20 62 69 74 73 20 6d 61 63 68 69 6e 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 2.bits.machine.this.function.is.
dc5a0 61 63 74 75 61 6c 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 6e 61 6d actually.available.under.the.nam
dc5c0 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 72 75 6e 63 61 74 65 3c 2f 43 4f 44 45 3e e..........<CODE>truncate</CODE>
dc5e0 20 61 6e 64 20 73 6f 20 74 72 61 6e 73 70 61 72 65 6e 74 6c 79 20 72 65 70 6c 61 63 65 73 20 74 .and.so.transparently.replaces.t
dc600 68 65 20 33 32 20 62 69 74 73 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 20 20 73 71 he.32.bits.interface..........sq
dc620 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1d 9c 74 .~......w.....t..unistd.hxq.~..t
dc640 00 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 2c 20 6f 66 66 36 34 5f 74 20 6c 65 6e 67 ..const.char.*name,.off64_t.leng
dc660 74 68 74 00 03 69 6e 74 74 00 06 74 72 75 6e 63 66 73 71 00 7e 00 0a 70 74 01 08 0a 20 20 20 20 tht..intt..truncfsq.~..pt.......
dc680 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 72 75 6e 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 ....The.<CODE>trunc</CODE>.funct
dc6a0 69 6f 6e 73 20 72 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 74 6f 77 61 72 64 73 20 ions.round.<VAR>x</VAR>.towards.
dc6c0 7a 65 72 6f 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 0a 20 20 20 20 20 20 20 20 20 69 6e 74 zero.to.the.nearest..........int
dc6e0 65 67 65 72 20 28 72 65 74 75 72 6e 65 64 20 69 6e 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 eger.(returned.in.floating-point
dc700 20 66 6f 72 6d 61 74 29 2e 20 20 54 68 75 73 2c 20 3c 43 4f 44 45 3e 74 72 75 6e 63 20 28 31 2e .format)...Thus,.<CODE>trunc.(1.
dc720 35 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f 44 45 3e 31 2e 30 3c 5)</CODE>..........is.<CODE>1.0<
dc740 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 74 72 75 6e 63 20 28 2d 31 2e 35 29 3c 2f 43 /CODE>.and.<CODE>trunc.(-1.5)</C
dc760 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 2d 31 2e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 ODE>.is.<CODE>-1.0</CODE>.......
dc780 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
dc7a0 1d a3 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 06 74 72 75 6e 63 6c 73 71 00 ..t..float.xt..floatt..trunclsq.
dc7c0 7e 00 0a 70 74 01 08 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 72 75 6e 63 3c ~..pt...........The.<CODE>trunc<
dc7e0 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 72 6f 75 6e 64 20 3c 56 41 52 3e 78 3c 2f 56 /CODE>.functions.round.<VAR>x</V
dc800 41 52 3e 20 74 6f 77 61 72 64 73 20 7a 65 72 6f 20 74 6f 20 74 68 65 20 6e 65 61 72 65 73 74 0a AR>.towards.zero.to.the.nearest.
dc820 20 20 20 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 28 72 65 74 75 72 6e 65 64 20 69 6e 20 66 6c .........integer.(returned.in.fl
dc840 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 66 6f 72 6d 61 74 29 2e 20 20 54 68 75 73 2c 20 3c 43 4f oating-point.format)...Thus,.<CO
dc860 44 45 3e 74 72 75 6e 63 20 28 31 2e 35 29 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 69 DE>trunc.(1.5)</CODE>..........i
dc880 73 20 3c 43 4f 44 45 3e 31 2e 30 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 74 72 75 s.<CODE>1.0</CODE>.and.<CODE>tru
dc8a0 6e 63 20 28 2d 31 2e 35 29 3c 2f 43 4f 44 45 3e 20 69 73 20 3c 43 4f 44 45 3e 2d 31 2e 30 3c 2f nc.(-1.5)</CODE>.is.<CODE>-1.0</
dc8c0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
dc8e0 00 06 6d 61 74 68 2e 68 78 71 00 7e 1d aa 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 ..math.hxq.~..t..long.double.xt.
dc900 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 07 74 73 65 61 72 63 68 73 71 00 7e 00 0a 70 74 06 45 .long.doublet..tsearchsq.~..pt.E
dc920 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 73 65 61 72 63 68 3c 2f 43 4f 44 45 .........The.<CODE>tsearch</CODE
dc940 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 65 73 20 69 6e 20 74 68 65 20 74 72 65 65 20 >.function.searches.in.the.tree.
dc960 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 pointed.to.by..........<CODE>*<V
dc980 41 52 3e 72 6f 6f 74 70 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 61 6e 20 65 6c 65 AR>rootp</VAR></CODE>.for.an.ele
dc9a0 6d 65 6e 74 20 6d 61 74 63 68 69 6e 67 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 2e 20 20 54 ment.matching.<VAR>key</VAR>...T
dc9c0 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f 20 he.function..........pointed.to.
dc9e0 62 79 20 3c 56 41 52 3e 63 6f 6d 70 61 72 3c 2f 56 41 52 3e 20 69 73 20 75 73 65 64 20 74 6f 20 by.<VAR>compar</VAR>.is.used.to.
dca00 64 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 0a 20 determine.whether.two.elements..
dca20 20 20 20 20 20 20 20 20 6d 61 74 63 68 2e 20 20 2c 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 ........match...,.for.a.specific
dca40 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 ation.of.the.functions..........
dca60 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 3c 56 41 52 3e 63 which.can.be.used.for.the.<VAR>c
dca80 6f 6d 70 61 72 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 ompar</VAR>.parameter...........
dcaa0 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 74 72 65 65 20 64 6f 65 73 20 6e 6f 74 20 63 6f <br><br>.If.the.tree.does.not.co
dcac0 6e 74 61 69 6e 20 61 20 6d 61 74 63 68 69 6e 67 20 65 6e 74 72 79 20 74 68 65 20 3c 56 41 52 3e ntain.a.matching.entry.the.<VAR>
dcae0 6b 65 79 3c 2f 56 41 52 3e 20 76 61 6c 75 65 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 62 65 key</VAR>.value.will..........be
dcb00 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 74 72 65 65 2e 20 20 3c 43 4f 44 45 3e 74 73 65 61 72 .added.to.the.tree...<CODE>tsear
dcb20 63 68 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 6e 6f 74 20 6d 61 6b 65 20 61 20 63 6f 70 79 20 6f ch</CODE>.does.not.make.a.copy.o
dcb40 66 20 74 68 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 64 20 74 6f f.the.object..........pointed.to
dcb60 20 62 79 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 20 28 68 6f 77 20 63 6f 75 6c 64 20 69 74 .by.<VAR>key</VAR>.(how.could.it
dcb80 20 73 69 6e 63 65 20 74 68 65 20 73 69 7a 65 20 69 73 20 75 6e 6b 6e 6f 77 6e 29 2e 0a 20 20 20 .since.the.size.is.unknown).....
dcba0 20 20 20 20 20 20 49 6e 73 74 65 61 64 20 69 74 20 61 64 64 73 20 61 20 72 65 66 65 72 65 6e 63 ......Instead.it.adds.a.referenc
dcbc0 65 20 74 6f 20 74 68 69 73 20 6f 62 6a 65 63 74 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 65 e.to.this.object.which.means.the
dcbe0 20 6f 62 6a 65 63 74 20 6d 75 73 74 0a 20 20 20 20 20 20 20 20 20 62 65 20 61 76 61 69 6c 61 62 .object.must..........be.availab
dcc00 6c 65 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 74 72 65 65 20 64 61 74 61 20 73 74 72 75 le.as.long.as.the.tree.data.stru
dcc20 63 74 75 72 65 20 69 73 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e cture.is.used...........<br><br>
dcc40 20 54 68 65 20 74 72 65 65 20 69 73 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 61 20 70 6f .The.tree.is.represented.by.a.po
dcc60 69 6e 74 65 72 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 73 69 6e 63 65 20 69 74 20 69 73 20 73 inter.to.a.pointer.since.it.is.s
dcc80 6f 6d 65 74 69 6d 65 73 0a 20 20 20 20 20 20 20 20 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 63 ometimes..........necessary.to.c
dcca0 68 61 6e 67 65 20 74 68 65 20 72 6f 6f 74 20 6e 6f 64 65 20 6f 66 20 74 68 65 20 74 72 65 65 2e hange.the.root.node.of.the.tree.
dccc0 20 20 53 6f 20 69 74 20 6d 75 73 74 20 6e 6f 74 20 62 65 0a 20 20 20 20 20 20 20 20 20 61 73 73 ..So.it.must.not.be..........ass
dcce0 75 6d 65 64 20 74 68 61 74 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 70 6f 69 6e 74 65 64 20 74 umed.that.the.variable.pointed.t
dcd00 6f 20 62 79 20 3c 56 41 52 3e 72 6f 6f 74 70 3c 2f 56 41 52 3e 20 68 61 73 20 74 68 65 20 73 61 o.by.<VAR>rootp</VAR>.has.the.sa
dcd20 6d 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 74 68 65 20 63 61 6c 6c me.value..........after.the.call
dcd40 2e 20 20 54 68 69 73 20 61 6c 73 6f 20 73 68 6f 77 73 20 74 68 61 74 20 69 74 20 69 73 20 6e 6f ...This.also.shows.that.it.is.no
dcd60 74 20 73 61 66 65 20 74 6f 20 63 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 t.safe.to.call.the..........<COD
dcd80 45 3e 74 73 65 61 72 63 68 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 72 65 20 74 E>tsearch</CODE>.function.more.t
dcda0 68 61 6e 20 6f 6e 63 65 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 20 75 73 69 6e 67 20 han.once.at.the.same.time.using.
dcdc0 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 20 20 20 74 72 65 65 2e 20 20 49 74 20 69 73 20 6e the.same..........tree...It.is.n
dcde0 6f 20 70 72 6f 62 6c 65 6d 20 74 6f 20 72 75 6e 20 69 74 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e o.problem.to.run.it.more.than.on
dce00 63 65 20 61 74 20 61 20 74 69 6d 65 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 ce.at.a.time.on.different.......
dce20 20 20 20 74 72 65 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 ...trees...........<br><br>.The.
dce40 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 return.value.is.a.pointer.to.the
dce60 20 6d 61 74 63 68 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 74 72 65 65 2e 20 20 .matching.element.in.the.tree...
dce80 49 66 20 61 0a 20 20 20 20 20 20 20 20 20 6e 65 77 20 65 6c 65 6d 65 6e 74 20 77 61 73 20 63 72 If.a..........new.element.was.cr
dcea0 65 61 74 65 64 20 74 68 65 20 70 6f 69 6e 74 65 72 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 eated.the.pointer.points.to.the.
dcec0 6e 65 77 20 64 61 74 61 20 28 77 68 69 63 68 20 69 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 66 new.data.(which.is.in..........f
dcee0 61 63 74 20 3c 56 41 52 3e 6b 65 79 3c 2f 56 41 52 3e 29 2e 20 20 49 66 20 61 6e 20 65 6e 74 72 act.<VAR>key</VAR>)...If.an.entr
dcf00 79 20 68 61 64 20 74 6f 20 62 65 20 63 72 65 61 74 65 64 20 61 6e 64 20 74 68 65 20 70 72 6f 67 y.had.to.be.created.and.the.prog
dcf20 72 61 6d 20 72 61 6e 20 6f 75 74 0a 20 20 20 20 20 20 20 20 20 6f 66 20 73 70 61 63 65 20 3c 43 ram.ran.out..........of.space.<C
dcf40 4f 44 45 3e 4e 55 4c 4c 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 ODE>NULL</CODE>.is.returned.....
dcf60 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 65 61 72 63 68 2e 68 .....sq.~......w.....t..search.h
dcf80 78 71 00 7e 1d b1 74 00 35 63 6f 6e 73 74 20 76 6f 69 64 20 2a 6b 65 79 2c 20 76 6f 69 64 20 2a xq.~..t.5const.void.*key,.void.*
dcfa0 2a 72 6f 6f 74 70 2c 20 63 6f 6d 70 61 72 69 73 6f 6e 5f 66 6e 5f 74 20 63 6f 6d 70 61 72 74 00 *rootp,.comparison_fn_t.compart.
dcfc0 06 76 6f 69 64 20 2a 74 00 07 74 74 79 6e 61 6d 65 73 71 00 7e 00 0a 70 74 01 97 0a 20 20 20 20 .void.*t..ttynamesq.~..pt.......
dcfe0 20 20 20 20 49 66 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e ....If.the.file.descriptor.<VAR>
dd000 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 69 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 filedes</VAR>.is.associated.with
dd020 20 61 20 74 65 72 6d 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 2c 20 74 68 65 .a.terminal..........device,.the
dd040 20 3c 43 4f 44 45 3e 74 74 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 .<CODE>ttyname</CODE>.function.r
dd060 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 73 eturns.a.pointer.to.a..........s
dd080 74 61 74 69 63 61 6c 6c 79 2d 61 6c 6c 6f 63 61 74 65 64 2c 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e tatically-allocated,.null-termin
dd0a0 61 74 65 64 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 ated.string.containing.the.file.
dd0c0 6e 61 6d 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 66 69 name.of..........the.terminal.fi
dd0e0 6c 65 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 le...The.value.is.a.null.pointer
dd100 20 69 66 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 20 20 20 .if.the.file.descriptor.........
dd120 20 69 73 6e 27 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 61 20 74 65 72 6d 69 6e 61 .isn't.associated.with.a.termina
dd140 6c 2c 20 6f 72 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 63 61 6e 6e 6f 74 20 62 65 20 64 65 l,.or.the.file.name.cannot.be.de
dd160 74 65 72 6d 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 termined..........sq.~......w...
dd180 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1d b8 74 00 0b 69 6e 74 20 66 69 6c 65 64 65 ..t..unistd.hxq.~..t..int.filede
dd1a0 73 74 00 06 63 68 61 72 20 2a 74 00 09 74 74 79 6e 61 6d 65 5f 72 73 71 00 7e 00 0a 70 74 03 76 st..char.*t..ttyname_rsq.~..pt.v
dd1c0 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 74 79 6e 61 6d 65 5f 72 3c 2f 43 4f .........The.<CODE>ttyname_r</CO
dd1e0 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 3c DE>.function.is.similar.to.the.<
dd200 43 4f 44 45 3e 74 74 79 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 CODE>ttyname</CODE>.function....
dd220 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 70 6c 61 63 65 73 20 69 74 73 20 ......except.that.it.places.its.
dd240 72 65 73 75 6c 74 20 69 6e 74 6f 20 74 68 65 20 75 73 65 72 2d 73 70 65 63 69 66 69 65 64 20 62 result.into.the.user-specified.b
dd260 75 66 66 65 72 20 73 74 61 72 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 61 74 20 3c 56 41 52 3e uffer.starting..........at.<VAR>
dd280 62 75 66 3c 2f 56 41 52 3e 20 77 69 74 68 20 6c 65 6e 67 74 68 20 3c 56 41 52 3e 6c 65 6e 3c 2f buf</VAR>.with.length.<VAR>len</
dd2a0 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d VAR>...........<br><br>.The.norm
dd2c0 61 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 74 74 79 6e 61 al.return.value.from.<CODE>ttyna
dd2e0 6d 65 5f 72 3c 2f 43 4f 44 45 3e 20 69 73 20 30 2e 20 20 4f 74 68 65 72 77 69 73 65 20 61 6e 0a me_r</CODE>.is.0...Otherwise.an.
dd300 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6e 75 6d 62 65 72 20 69 73 20 72 65 74 75 72 6e 65 .........error.number.is.returne
dd320 64 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 65 20 65 72 72 6f 72 2e 20 20 54 68 65 20 66 6f d.to.indicate.the.error...The.fo
dd340 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f llowing..........<CODE>errno</CO
dd360 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 DE>.error.conditions.are.defined
dd380 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .for.this.function:..........<br
dd3a0 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 ><br>.<DL>...........<DT><CODE>E
dd3c0 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 BADF</CODE>.<DD>..........The.<V
dd3e0 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 AR>filedes</VAR>.argument.is.not
dd400 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 .a.valid.file.descriptor........
dd420 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 54 54 59 3c 2f 43 4f ...<br><br>.<DT><CODE>ENOTTY</CO
dd440 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 DE>.<DD>..........The.<VAR>filed
dd460 65 73 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 es</VAR>.is.not.associated.with.
dd480 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 a.terminal...........<br><br>.<D
dd4a0 54 3e 3c 43 4f 44 45 3e 45 52 41 4e 47 45 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 62 75 66 66 T><CODE>ERANGE..........The.buff
dd4c0 65 72 20 6c 65 6e 67 74 68 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 er.length.<VAR>len</VAR>.is.too.
dd4e0 73 6d 61 6c 6c 20 74 6f 20 73 74 6f 72 65 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f 20 62 65 3c small.to.store.the.string.to.be<
dd500 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 65 64 2e 0a 20 /CODE>.<DD>..........returned...
dd520 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ........</DL>.........sq.~......
dd540 77 04 00 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1d bf 74 00 22 69 6e 74 20 66 69 w.....t..unistd.hxq.~..t."int.fi
dd560 6c 65 64 65 73 2c 20 63 68 61 72 20 2a 62 75 66 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 74 00 03 69 ledes,.char.*buf,.size_t.lent..i
dd580 6e 74 74 00 05 74 77 61 6c 6b 73 71 00 7e 00 0a 70 74 04 64 0a 20 20 20 20 20 20 20 20 46 6f 72 ntt..twalksq.~..pt.d.........For
dd5a0 20 65 61 63 68 20 6e 6f 64 65 20 69 6e 20 74 68 65 20 74 72 65 65 20 77 69 74 68 20 61 20 6e 6f .each.node.in.the.tree.with.a.no
dd5c0 64 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 72 6f 6f 74 3c 2f 56 41 52 3e de.pointed.to.by.<VAR>root</VAR>
dd5e0 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 74 77 61 6c 6b 3c 2f 43 4f 44 45 ,.the..........<CODE>twalk</CODE
dd600 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 >.function.calls.the.function.pr
dd620 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 ovided.by.the.parameter.........
dd640 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 2e 20 20 46 6f 72 20 6c 65 61 66 20 6e 6f .<VAR>action</VAR>...For.leaf.no
dd660 64 65 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 65 78 61 63 74 des.the.function.is.called.exact
dd680 6c 79 20 6f 6e 63 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 76 61 6c 75 65 ly.once.with..........<VAR>value
dd6a0 3c 2f 56 41 52 3e 20 73 65 74 20 74 6f 20 3c 43 4f 44 45 3e 6c 65 61 66 3c 2f 43 4f 44 45 3e 2e </VAR>.set.to.<CODE>leaf</CODE>.
dd6c0 20 20 46 6f 72 20 69 6e 74 65 72 6e 61 6c 20 6e 6f 64 65 73 20 74 68 65 20 66 75 6e 63 74 69 6f ..For.internal.nodes.the.functio
dd6e0 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 20 74 68 72 65 65 20 74 69 6d 65 73 n.is..........called.three.times
dd700 2c 20 73 65 74 74 69 6e 67 20 74 68 65 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 70 ,.setting.the.<VAR>value</VAR>.p
dd720 61 72 61 6d 65 74 65 72 20 6f 72 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 74 6f arameter.or.<VAR>action</VAR>.to
dd740 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 61 6c 75 65 2e ..........the.appropriate.value.
dd760 20 20 54 68 65 20 3c 56 41 52 3e 6c 65 76 65 6c 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 ..The.<VAR>level</VAR>.argument.
dd780 66 6f 72 20 74 68 65 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 for.the.<VAR>action</VAR>.......
dd7a0 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 6f 6d 70 75 74 65 64 20 77 68 69 6c 65 20 64 65 ...function.is.computed.while.de
dd7c0 73 63 65 6e 64 69 6e 67 20 74 68 65 20 74 72 65 65 20 77 69 74 68 20 69 6e 63 72 65 61 73 69 6e scending.the.tree.with.increasin
dd7e0 67 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 62 79 20 6f 6e 65 20 66 6f 72 20 g.the.value..........by.one.for.
dd800 74 68 65 20 64 65 73 63 65 6e 64 20 74 6f 20 61 20 63 68 69 6c 64 2c 20 73 74 61 72 74 69 6e 67 the.descend.to.a.child,.starting
dd820 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 30 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 .with.the.value.0.for..........t
dd840 68 65 20 72 6f 6f 74 20 6e 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 he.root.node...........<br><br>.
dd860 53 69 6e 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 Since.the.functions.used.for.the
dd880 20 3c 56 41 52 3e 61 63 74 69 6f 6e 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 .<VAR>action</VAR>.parameter.to.
dd8a0 3c 43 4f 44 45 3e 74 77 61 6c 6b 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6d 75 73 74 <CODE>twalk</CODE>..........must
dd8c0 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 74 72 65 65 20 64 61 74 61 2c 20 69 74 20 69 73 .not.modify.the.tree.data,.it.is
dd8e0 20 73 61 66 65 20 74 6f 20 72 75 6e 20 3c 43 4f 44 45 3e 74 77 61 6c 6b 3c 2f 43 4f 44 45 3e 20 .safe.to.run.<CODE>twalk</CODE>.
dd900 69 6e 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 6e 20 6f 6e 65 20 74 68 72 65 61 64 in.more..........than.one.thread
dd920 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 2c 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 74 68 .at.the.same.time,.working.on.th
dd940 65 20 73 61 6d 65 20 74 72 65 65 2e 20 20 49 74 20 69 73 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 e.same.tree...It.is.also........
dd960 20 20 73 61 66 65 20 74 6f 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 74 66 69 6e 64 3c 2f 43 4f 44 45 ..safe.to.call.<CODE>tfind</CODE
dd980 3e 20 69 6e 20 70 61 72 61 6c 6c 65 6c 2e 20 20 46 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 >.in.parallel...Functions.which.
dd9a0 6d 6f 64 69 66 79 20 74 68 65 20 74 72 65 65 0a 20 20 20 20 20 20 20 20 20 6d 75 73 74 20 6e 6f modify.the.tree..........must.no
dd9c0 74 20 62 65 20 75 73 65 64 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 62 65 68 61 76 69 6f t.be.used,.otherwise.the.behavio
dd9e0 72 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 r.is.undefined..........sq.~....
dda00 00 01 77 04 00 00 00 0a 74 00 08 73 65 61 72 63 68 2e 68 78 71 00 7e 1d c6 74 00 26 63 6f 6e 73 ..w.....t..search.hxq.~..t.&cons
dda20 74 20 76 6f 69 64 20 2a 72 6f 6f 74 2c 20 5f 5f 61 63 74 69 6f 6e 5f 66 6e 5f 74 20 61 63 74 69 t.void.*root,.__action_fn_t.acti
dda40 6f 6e 74 00 04 76 6f 69 64 74 00 05 74 7a 73 65 74 73 71 00 7e 00 0a 70 74 01 75 0a 20 20 20 20 ont..voidt..tzsetsq.~..pt.u.....
dda60 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 74 7a 73 65 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 ....The.<CODE>tzset</CODE>.funct
dda80 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 3c 43 4f 44 45 3e 74 7a 6e 61 6d 65 ion.initializes.the.<CODE>tzname
ddaa0 3c 2f 43 4f 44 45 3e 20 76 61 72 69 61 62 6c 65 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 74 </CODE>.variable.from..........t
ddac0 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 54 5a 3c 2f 43 4f 44 45 3e 20 he.value.of.the.<CODE>TZ</CODE>.
ddae0 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2e 20 20 49 74 20 69 73 20 6e 6f 74 environment.variable...It.is.not
ddb00 20 75 73 75 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 20 .usually..........necessary.for.
ddb20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 74 6f 20 63 61 6c 6c 20 74 68 69 73 20 66 75 6e 63 74 69 your.program.to.call.this.functi
ddb40 6f 6e 2c 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 20 on,.because.it.is.called........
ddb60 20 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 79 6f 75 20 75 73 65 20 74 68 65 ..automatically.when.you.use.the
ddb80 20 6f 74 68 65 72 20 74 69 6d 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 .other.time.conversion.functions
ddba0 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 64 65 70 65 6e 64 20 6f 6e 20 74 68 65 20 74 69 6d .that..........depend.on.the.tim
ddbc0 65 20 7a 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a e.zone..........sq.~......w.....
ddbe0 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 1d cd 74 00 04 76 6f 69 64 74 00 04 76 6f 69 64 74 00 06 t..time.hxq.~..t..voidt..voidt..
ddc00 75 6c 69 6d 69 74 73 71 00 7e 00 0a 70 74 06 49 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ulimitsq.~..pt.I.........<br><br
ddc20 3e 20 3c 43 4f 44 45 3e 75 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 20 67 65 74 73 20 74 68 65 20 63 >.<CODE>ulimit</CODE>.gets.the.c
ddc40 75 72 72 65 6e 74 20 6c 69 6d 69 74 20 6f 72 20 73 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 urrent.limit.or.sets.the.current
ddc60 20 61 6e 64 20 6d 61 78 69 6d 75 6d 0a 20 20 20 20 20 20 20 20 20 6c 69 6d 69 74 20 66 6f 72 20 .and.maximum..........limit.for.
ddc80 61 20 70 61 72 74 69 63 75 6c 61 72 20 72 65 73 6f 75 72 63 65 20 66 6f 72 20 74 68 65 20 63 61 a.particular.resource.for.the.ca
ddca0 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 lling.process.according.to.the..
ddcc0 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 3c 56 41 52 3e 63 6d 64 3c 2f 56 41 52 3e 2e 61 ........command.<VAR>cmd</VAR>.a
ddce0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 79 6f 75 20 61 72 65 20 67 65 ..........<br><br>.If.you.are.ge
ddd00 74 74 69 6e 67 20 61 20 6c 69 6d 69 74 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 72 67 75 6d tting.a.limit,.the.command.argum
ddd20 65 6e 74 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 ent.is.the.only.argument........
ddd40 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 73 65 74 74 69 6e 67 20 61 20 6c 69 6d 69 74 2c 20 74 ...If.you.are.setting.a.limit,.t
ddd60 68 65 72 65 20 69 73 20 61 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 3a 0a 20 20 20 20 20 here.is.a.second.argument:......
ddd80 20 20 20 20 3c 43 4f 44 45 3e 6c 6f 6e 67 20 69 6e 74 3c 2f 43 4f 44 45 3e 20 3c 56 41 52 3e 6c ....<CODE>long.int</CODE>.<VAR>l
ddda0 69 6d 69 74 3c 2f 56 41 52 3e 20 77 68 69 63 68 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 74 6f imit</VAR>.which.is.the.value.to
dddc0 20 77 68 69 63 68 20 79 6f 75 20 61 72 65 20 73 65 74 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 .which.you.are.setting..........
ddde0 74 68 65 20 6c 69 6d 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 the.limit...........<br><br>.The
dde00 20 3c 56 41 52 3e 63 6d 64 3c 2f 56 41 52 3e 20 76 61 6c 75 65 73 20 61 6e 64 20 74 68 65 20 6f .<VAR>cmd</VAR>.values.and.the.o
dde20 70 65 72 61 74 69 6f 6e 73 20 74 68 65 79 20 73 70 65 63 69 66 79 20 61 72 65 3a 0a 20 20 20 20 perations.they.specify.are:.....
dde40 20 20 20 20 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 .....<DL>...........<br><br>.<DT
dde60 3e 3c 43 4f 44 45 3e 47 45 54 46 53 49 5a 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 ><CODE>GETFSIZE</CODE>.<DD>.....
dde80 20 20 20 20 20 47 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6d 69 74 20 6f 6e 20 74 68 .....Get.the.current.limit.on.th
ddea0 65 20 73 69 7a 65 20 6f 66 20 61 20 66 69 6c 65 2c 20 69 6e 20 75 6e 69 74 73 20 6f 66 20 35 31 e.size.of.a.file,.in.units.of.51
ddec0 32 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 2.bytes...........<br><br>.<DT><
ddee0 43 4f 44 45 3e 53 45 54 46 53 49 5a 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 CODE>SETFSIZE</CODE>.<DD>.......
ddf00 20 20 20 53 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 61 6e 64 20 6d 61 78 69 6d 75 6d 20 6c ...Set.the.current.and.maximum.l
ddf20 69 6d 69 74 20 6f 6e 20 74 68 65 20 73 69 7a 65 20 6f 66 20 61 20 66 69 6c 65 20 74 6f 20 3c 56 imit.on.the.size.of.a.file.to.<V
ddf40 41 52 3e 6c 69 6d 69 74 3c 2f 56 41 52 3e 20 2a 0a 20 20 20 20 20 20 20 20 20 35 31 32 20 62 79 AR>limit</VAR>.*..........512.by
ddf60 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 tes...........<br><br>.</DL>....
ddf80 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 72 65 20 61 72 65 20 61 6c 73 6f 20 73 6f ......<br><br>.There.are.also.so
ddfa0 6d 65 20 6f 74 68 65 72 20 3c 56 41 52 3e 63 6d 64 3c 2f 56 41 52 3e 20 76 61 6c 75 65 73 20 74 me.other.<VAR>cmd</VAR>.values.t
ddfc0 68 61 74 20 6d 61 79 20 64 6f 20 74 68 69 6e 67 73 20 6f 6e 20 73 6f 6d 65 0a 20 20 20 20 20 20 hat.may.do.things.on.some.......
ddfe0 20 20 20 73 79 73 74 65 6d 73 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20 6e 6f 74 20 73 75 70 ...systems,.but.they.are.not.sup
de000 70 6f 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 6c 79 20 74 ported...........<br><br>.Only.t
de020 68 65 20 73 75 70 65 72 75 73 65 72 20 6d 61 79 20 69 6e 63 72 65 61 73 65 20 61 20 6d 61 78 69 he.superuser.may.increase.a.maxi
de040 6d 75 6d 20 6c 69 6d 69 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 57 68 65 mum.limit...........<br><br>.Whe
de060 6e 20 79 6f 75 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 67 65 74 20 61 20 6c 69 6d 69 74 2c 20 n.you.successfully.get.a.limit,.
de080 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 75 6c 69 6d 69 74 the.return.value.of.<CODE>ulimit
de0a0 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 6c 69 6d 69 74 2c 20 </CODE>.is..........that.limit,.
de0c0 77 68 69 63 68 20 69 73 20 6e 65 76 65 72 20 6e 65 67 61 74 69 76 65 2e 20 20 57 68 65 6e 20 79 which.is.never.negative...When.y
de0e0 6f 75 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 73 65 74 20 61 20 6c 69 6d 69 74 2c 0a 20 20 20 ou.successfully.set.a.limit,....
de100 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 2e 20 ......the.return.value.is.zero..
de120 20 57 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 73 2c 20 74 68 65 20 72 65 .When.the.function.fails,.the.re
de140 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2d 31 3c turn.value.is..........<CODE>-1<
de160 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 /CODE>.and.<CODE>errno</CODE>.is
de180 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 72 65 61 73 6f 6e 3a 0a 20 20 .set.according.to.the.reason:...
de1a0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c .......<br><br>.<DL>...........<
de1c0 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 DT><CODE>EPERM</CODE>.<DD>......
de1e0 20 20 20 20 41 20 70 72 6f 63 65 73 73 20 74 72 69 65 64 20 74 6f 20 69 6e 63 72 65 61 73 65 20 ....A.process.tried.to.increase.
de200 61 20 6d 61 78 69 6d 75 6d 20 6c 69 6d 69 74 2c 20 62 75 74 20 69 73 20 6e 6f 74 20 73 75 70 65 a.maximum.limit,.but.is.not.supe
de220 72 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c ruser...........</DL>..........<
de240 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 br><br>.<br><br>.........sq.~...
de260 00 00 02 77 04 00 00 00 0a 74 00 0e 73 79 73 2f 72 65 73 6f 75 72 63 65 2e 68 74 00 08 75 6c 69 ...w.....t..sys/resource.ht..uli
de280 6d 69 74 2e 68 78 71 00 7e 1d d4 74 00 0c 69 6e 74 20 63 6d 64 2c 20 2e 2e 2e 74 00 03 69 6e 74 mit.hxq.~..t..int.cmd,....t..int
de2a0 74 00 05 75 6d 61 73 6b 73 71 00 7e 00 0a 70 74 02 f8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c t..umasksq.~..pt...........The.<
de2c0 43 4f 44 45 3e 75 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 CODE>umask</CODE>.function.sets.
de2e0 74 68 65 20 66 69 6c 65 20 63 72 65 61 74 69 6f 6e 20 6d 61 73 6b 20 6f 66 20 74 68 65 20 63 75 the.file.creation.mask.of.the.cu
de300 72 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 74 6f 20 3c 56 41 52 3e 6d rrent..........process.to.<VAR>m
de320 61 73 6b 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 65 76 69 ask</VAR>,.and.returns.the.previ
de340 6f 75 73 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 63 ous.value.of.the.file..........c
de360 72 65 61 74 69 6f 6e 20 6d 61 73 6b 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 reation.mask...........<br><br>.
de380 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 73 68 6f 77 69 6e 67 20 68 6f 77 20 74 Here.is.an.example.showing.how.t
de3a0 6f 20 72 65 61 64 20 74 68 65 20 6d 61 73 6b 20 77 69 74 68 20 3c 43 4f 44 45 3e 75 6d 61 73 6b o.read.the.mask.with.<CODE>umask
de3c0 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 63 68 61 6e 67 69 6e </CODE>..........without.changin
de3e0 67 20 69 74 20 70 65 72 6d 61 6e 65 6e 74 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c g.it.permanently:..........<br><
de400 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 6d 6f 64 65 5f 74 3c 62 72 br>.<pre><br>..........mode_t<br
de420 3e 0a 20 20 20 20 20 20 20 20 20 72 65 61 64 5f 75 6d 61 73 6b 20 28 76 6f 69 64 29 3c 62 72 3e >..........read_umask.(void)<br>
de440 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 6d 6f 64 65 5f ..........{<br>............mode_
de460 74 20 6d 61 73 6b 20 3d 20 75 6d 61 73 6b 20 28 30 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 t.mask.=.umask.(0);<br>.........
de480 20 20 20 75 6d 61 73 6b 20 28 6d 61 73 6b 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ...umask.(mask);<br>............
de4a0 72 65 74 75 72 6e 20 6d 61 73 6b 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a return.mask;<br>..........}<br>.
de4c0 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 .........</pre>..........<br><br
de4e0 3e 20 0a 20 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 62 65 74 74 65 >...........However,.it.is.bette
de500 72 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 67 65 74 75 6d 61 73 6b 3c 2f 43 4f 44 45 3e 20 69 r.to.use.<CODE>getumask</CODE>.i
de520 66 20 79 6f 75 20 6a 75 73 74 20 77 61 6e 74 20 74 6f 20 72 65 61 64 0a 20 20 20 20 20 20 20 20 f.you.just.want.to.read.........
de540 20 74 68 65 20 6d 61 73 6b 20 76 61 6c 75 65 2c 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 72 .the.mask.value,.because.it.is.r
de560 65 65 6e 74 72 61 6e 74 20 28 61 74 20 6c 65 61 73 74 20 69 66 20 79 6f 75 20 75 73 65 20 74 68 eentrant.(at.least.if.you.use.th
de580 65 20 47 4e 55 0a 20 20 20 20 20 20 20 20 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 29 e.GNU..........operating.system)
de5a0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 ..........sq.~......w.....t..sys
de5c0 2f 73 74 61 74 2e 68 78 71 00 7e 1d dc 74 00 0b 6d 6f 64 65 5f 74 20 6d 61 73 6b 74 00 06 6d 6f /stat.hxq.~..t..mode_t.maskt..mo
de5e0 64 65 5f 74 74 00 06 75 6d 6f 75 6e 74 73 71 00 7e 00 0a 70 74 01 52 0a 20 20 20 20 20 20 20 20 de_tt..umountsq.~..pt.R.........
de600 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 75 6d 6f 75 6e 74 3c 2f 43 4f 44 45 3e 20 64 6f 65 <br><br>.<CODE>umount</CODE>.doe
de620 73 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 61 73 20 3c 43 4f 44 45 3e 75 6d 6f 75 6e 74 s.the.same.thing.as.<CODE>umount
de640 32 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 73 2</CODE>.with.<VAR>flags</VAR>.s
de660 65 74 0a 20 20 20 20 20 20 20 20 20 74 6f 20 7a 65 72 6f 65 73 2e 20 20 49 74 20 69 73 20 6d 6f et..........to.zeroes...It.is.mo
de680 72 65 20 77 69 64 65 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 74 68 61 6e 20 3c 43 4f 44 45 3e 75 re.widely.available.than.<CODE>u
de6a0 6d 6f 75 6e 74 32 3c 2f 43 4f 44 45 3e 20 62 75 74 20 73 69 6e 63 65 20 69 74 0a 20 20 20 20 20 mount2</CODE>.but.since.it......
de6c0 20 20 20 20 6c 61 63 6b 73 20 74 68 65 20 70 6f 73 73 69 62 69 6c 69 74 79 20 74 6f 20 66 6f 72 ....lacks.the.possibility.to.for
de6e0 63 65 66 75 6c 6c 79 20 75 6e 6d 6f 75 6e 74 20 61 20 66 69 6c 65 73 79 73 74 65 6d 20 69 73 20 cefully.unmount.a.filesystem.is.
de700 64 65 70 72 65 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 3c 43 4f 44 45 3e 75 deprecated..........when.<CODE>u
de720 6d 6f 75 6e 74 32 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6c 73 6f 20 61 76 61 69 6c 61 62 6c 65 2e mount2</CODE>.is.also.available.
de740 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 79 73 2f .........sq.~......w.....t..sys/
de760 6d 6f 75 6e 74 2e 68 78 71 00 7e 1d e3 74 00 10 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 mount.hxq.~..t..const.char.*file
de780 74 00 03 69 6e 74 74 00 07 75 6d 6f 75 6e 74 32 73 71 00 7e 00 0a 70 74 09 23 0a 20 20 20 20 20 t..intt..umount2sq.~..pt.#......
de7a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 75 6d 6f 75 6e 74 32 3c 2f 43 4f 44 45 3e ...<br><br>.<CODE>umount2</CODE>
de7c0 20 75 6e 6d 6f 75 6e 74 73 20 61 20 66 69 6c 65 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 .unmounts.a.filesystem..........
de7e0 20 3c 62 72 3e 3c 62 72 3e 20 59 6f 75 20 63 61 6e 20 69 64 65 6e 74 69 66 79 20 74 68 65 20 66 .<br><br>.You.can.identify.the.f
de800 69 6c 65 73 79 73 74 65 6d 20 74 6f 20 75 6e 6d 6f 75 6e 74 20 65 69 74 68 65 72 20 62 79 20 74 ilesystem.to.unmount.either.by.t
de820 68 65 20 64 65 76 69 63 65 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 he.device.special..........file.
de840 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 6f 72 20 that.contains.the.filesystem.or.
de860 62 79 20 74 68 65 20 6d 6f 75 6e 74 20 70 6f 69 6e 74 2e 20 20 54 68 65 20 65 66 66 65 63 74 20 by.the.mount.point...The.effect.
de880 69 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 2e 20 20 53 70 65 63 69 66 79 20 65 is..........the.same...Specify.e
de8a0 69 74 68 65 72 20 61 73 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 66 69 6c 65 3c 2f 56 ither.as.the.string.<VAR>file</V
de8c0 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 52 3e 66 6c 61 67 AR>...........<br><br>.<VAR>flag
de8e0 73 3c 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 6f 6e 65 2d 62 69 74 20 66 69 65 s</VAR>.contains.the.one-bit.fie
de900 6c 64 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 ld.identified.by.the.following..
de920 20 20 20 20 20 20 20 20 6d 61 73 6b 20 6d 61 63 72 6f 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ........mask.macro:..........<br
de940 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 ><br>.<DL>...........<br><br>.<D
de960 54 3e 3c 43 4f 44 45 3e 4d 4e 54 5f 46 4f 52 43 45 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 T><CODE>MNT_FORCE..........This.
de980 62 69 74 20 6f 6e 20 6d 65 61 6e 73 20 74 6f 20 66 6f 72 63 65 20 74 68 65 20 75 6e 6d 6f 75 6e bit.on.means.to.force.the.unmoun
de9a0 74 69 6e 67 20 65 76 65 6e 20 69 66 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 69 73 3c 2f ting.even.if.the.filesystem.is</
de9c0 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 62 75 73 79 2c 20 62 79 20 6d 61 6b CODE>.<DD>..........busy,.by.mak
de9e0 69 6e 67 20 69 74 20 75 6e 62 75 73 79 20 66 69 72 73 74 2e 20 20 49 66 20 74 68 65 20 62 69 74 ing.it.unbusy.first...If.the.bit
dea00 20 69 73 20 6f 66 66 20 61 6e 64 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 69 73 0a 20 20 .is.off.and.the.filesystem.is...
dea20 20 20 20 20 20 20 20 62 75 73 79 2c 20 3c 43 4f 44 45 3e 75 6d 6f 75 6e 74 32 3c 2f 43 4f 44 45 .......busy,.<CODE>umount2</CODE
dea40 3e 20 66 61 69 6c 73 20 77 69 74 68 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 >.fails.with.<CODE>errno</CODE>.
dea60 3d 20 3c 43 4f 44 45 3e 45 42 55 53 59 3c 2f 43 4f 44 45 3e 2e 20 20 44 65 70 65 6e 64 69 6e 67 =.<CODE>EBUSY</CODE>...Depending
dea80 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 2c 20 74 68 69 ..........on.the.filesystem,.thi
deaa0 73 20 6d 61 79 20 6f 76 65 72 72 69 64 65 20 61 6c 6c 2c 20 73 6f 6d 65 2c 20 6f 72 20 6e 6f 20 s.may.override.all,.some,.or.no.
deac0 62 75 73 79 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 busy.conditions...........<br><b
deae0 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6c 6c 20 6f r>.</DL>..........<br><br>.All.o
deb00 74 68 65 72 20 62 69 74 73 20 69 6e 20 3c 56 41 52 3e 66 6c 61 67 73 3c 2f 56 41 52 3e 20 73 68 ther.bits.in.<VAR>flags</VAR>.sh
deb20 6f 75 6c 64 20 62 65 20 73 65 74 20 74 6f 20 7a 65 72 6f 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 ould.be.set.to.zero;.otherwise,.
deb40 74 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 75 6e 64 65 66 69 6e 65 64 the.result..........is.undefined
deb60 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 ...........<br><br>.Example:....
deb80 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 ......<br><br>.<pre><br>........
deba0 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6f ..<br>..........#include.<sys/mo
debc0 75 6e 74 2e 68 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 75 6d 6f unt.h><br>..........<br><br>.umo
debe0 75 6e 74 32 28 22 2f 6d 6e 74 22 2c 20 4d 4e 54 5f 46 4f 52 43 45 29 3b 3c 62 72 3e 0a 20 20 20 unt2("/mnt",.MNT_FORCE);<br>....
dec00 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 75 6d 6f 75 6e 74 32 28 22 2f 64 65 76 2f 68 64 64 ......<br><br>.umount2("/dev/hdd
dec20 31 22 2c 20 30 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 1",.0);<br>..........<br><br>.<b
dec40 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e r>..........</pre>..........<br>
dec60 3c 62 72 3e 20 41 66 74 65 72 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 69 73 20 75 6e 6d <br>.After.the.filesystem.is.unm
dec80 6f 75 6e 74 65 64 2c 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 77 61 73 20 74 ounted,.the.directory.that.was.t
deca0 68 65 20 6d 6f 75 6e 74 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 76 69 73 69 62 he.mount.point..........is.visib
decc0 6c 65 2c 20 61 73 20 61 72 65 20 61 6e 79 20 66 69 6c 65 73 20 69 6e 20 69 74 2e 0a 20 20 20 20 le,.as.are.any.files.in.it......
dece0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 73 20 70 61 72 74 20 6f 66 20 75 6e 6d 6f 75 6e 74 .....<br><br>.As.part.of.unmount
ded00 69 6e 67 2c 20 3c 43 4f 44 45 3e 75 6d 6f 75 6e 74 32 3c 2f 43 4f 44 45 3e 20 73 79 6e 63 73 20 ing,.<CODE>umount2</CODE>.syncs.
ded20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 the.filesystem...........<br><br
ded40 3e 20 49 66 20 74 68 65 20 75 6e 6d 6f 75 6e 74 69 6e 67 20 69 73 20 73 75 63 63 65 73 73 66 75 >.If.the.unmounting.is.successfu
ded60 6c 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 2e 20 20 4f 74 l,.the.return.value.is.zero...Ot
ded80 68 65 72 77 69 73 65 2c 20 69 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 3c 43 4f 44 45 3e 2d 31 herwise,.it..........is.<CODE>-1
deda0 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 </CODE>.and.<CODE>errno</CODE>.i
dedc0 73 20 73 65 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e s.set.accordingly:..........<br>
dede0 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 <br>.<DL>...........<DT><CODE>EP
dee00 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f ERM</CODE>.<DD>..........The.pro
dee20 63 65 73 73 20 69 73 20 6e 6f 74 20 73 75 70 65 72 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 cess.is.not.superuser...........
dee40 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 55 53 59 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 <DT><CODE>EBUSY</CODE>.<DD>.....
dee60 20 20 20 20 20 54 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 63 61 6e 6e 6f 74 20 62 65 20 75 6e .....The.filesystem.cannot.be.un
dee80 6d 6f 75 6e 74 65 64 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 62 75 73 79 2e 20 20 45 2e 67 mounted.because.it.is.busy...E.g
deea0 2e 20 69 74 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 20 20 20 61 20 64 69 72 65 63 74 6f ..it.contains..........a.directo
deec0 72 79 20 74 68 61 74 20 69 73 20 73 6f 6d 65 20 70 72 6f 63 65 73 73 27 73 20 77 6f 72 6b 69 6e ry.that.is.some.process's.workin
deee0 67 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 61 20 66 69 6c 65 20 74 68 61 74 20 73 6f 6d 65 0a g.directory.or.a.file.that.some.
def00 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 68 61 73 20 6f 70 65 6e 2e 20 20 57 69 74 68 .........process.has.open...With
def20 20 73 6f 6d 65 20 66 69 6c 65 73 79 73 74 65 6d 73 20 69 6e 20 73 6f 6d 65 20 63 61 73 65 73 2c .some.filesystems.in.some.cases,
def40 20 79 6f 75 20 63 61 6e 20 61 76 6f 69 64 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 66 61 69 .you.can.avoid..........this.fai
def60 6c 75 72 65 20 77 69 74 68 20 74 68 65 20 3c 43 4f 44 45 3e 4d 4e 54 5f 46 4f 52 43 45 3c 2f 43 lure.with.the.<CODE>MNT_FORCE</C
def80 4f 44 45 3e 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c ODE>.option...........<br><br>.<
defa0 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 DT><CODE>EINVAL</CODE>.<DD>.....
defc0 20 20 20 20 20 3c 56 41 52 3e 66 69 6c 65 3c 2f 56 41 52 3e 20 76 61 6c 69 64 6c 79 20 72 65 66 .....<VAR>file</VAR>.validly.ref
defe0 65 72 73 20 74 6f 20 61 20 66 69 6c 65 2c 20 62 75 74 20 74 68 61 74 20 66 69 6c 65 20 69 73 20 ers.to.a.file,.but.that.file.is.
df000 6e 65 69 74 68 65 72 20 61 20 6d 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 20 6e neither.a.mount..........point.n
df020 6f 72 20 61 20 64 65 76 69 63 65 20 73 70 65 63 69 61 6c 20 66 69 6c 65 20 6f 66 20 61 20 63 75 or.a.device.special.file.of.a.cu
df040 72 72 65 6e 74 6c 79 20 6d 6f 75 6e 74 65 64 20 66 69 6c 65 73 79 73 74 65 6d 2e 0a 20 20 20 20 rrently.mounted.filesystem......
df060 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .....<br><br>.</DL>..........<br
df080 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c ><br>.This.function.is.not.avail
df0a0 61 62 6c 65 20 6f 6e 20 61 6c 6c 20 73 79 73 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 able.on.all.systems..........sq.
df0c0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0b 73 79 73 2f 6d 6f 75 6e 74 2e 68 78 71 00 7e 1d ~......w.....t..sys/mount.hxq.~.
df0e0 ea 74 00 1b 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 2c 20 69 6e 74 20 66 6c 61 67 73 74 .t..const.char.*file,.int.flagst
df100 00 03 69 6e 74 74 00 05 75 6e 61 6d 65 73 71 00 7e 00 0a 70 74 01 c1 0a 20 20 20 20 20 20 20 20 ..intt..unamesq.~..pt...........
df120 54 68 65 20 3c 43 4f 44 45 3e 75 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 The.<CODE>uname</CODE>.function.
df140 66 69 6c 6c 73 20 69 6e 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 70 6f 69 6e 74 65 64 20 74 fills.in.the.structure.pointed.t
df160 6f 20 62 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 69 6e 66 6f 3c 2f 56 41 52 3e 20 77 69 o.by..........<VAR>info</VAR>.wi
df180 74 68 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 6f 70 65 72 61 74 69 th.information.about.the.operati
df1a0 6e 67 20 73 79 73 74 65 6d 20 61 6e 64 20 68 6f 73 74 20 6d 61 63 68 69 6e 65 2e 0a 20 20 20 20 ng.system.and.host.machine......
df1c0 20 20 20 20 20 41 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 20 69 6e 64 69 63 61 .....A.non-negative.value.indica
df1e0 74 65 73 20 74 68 61 74 20 74 68 65 20 64 61 74 61 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c tes.that.the.data.was.successful
df200 6c 79 20 73 74 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f ly.stored...........<br><br>.<CO
df220 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 69 6e 64 69 63 61 DE>-1</CODE>.as.the.value.indica
df240 74 65 73 20 61 6e 20 65 72 72 6f 72 2e 20 20 54 68 65 20 6f 6e 6c 79 20 65 72 72 6f 72 20 70 6f tes.an.error...The.only.error.po
df260 73 73 69 62 6c 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 46 41 55 4c 54 3c ssible.is..........<CODE>EFAULT<
df280 2f 43 4f 44 45 3e 2c 20 77 68 69 63 68 20 77 65 20 6e 6f 72 6d 61 6c 6c 79 20 64 6f 6e 27 74 20 /CODE>,.which.we.normally.don't.
df2a0 6d 65 6e 74 69 6f 6e 20 61 73 20 69 74 20 69 73 20 61 6c 77 61 79 73 20 61 0a 20 20 20 20 20 20 mention.as.it.is.always.a.......
df2c0 20 20 20 70 6f 73 73 69 62 69 6c 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 ...possibility..........sq.~....
df2e0 00 01 77 04 00 00 00 0a 74 00 0d 73 79 73 2f 75 74 73 6e 61 6d 65 2e 68 78 71 00 7e 1d f1 74 00 ..w.....t..sys/utsname.hxq.~..t.
df300 14 73 74 72 75 63 74 20 75 74 73 6e 61 6d 65 20 2a 69 6e 66 6f 74 00 03 69 6e 74 74 00 06 75 6e .struct.utsname.*infot..intt..un
df320 67 65 74 63 73 71 00 7e 00 0a 70 74 08 0e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 getcsq.~..pt...........The.<CODE
df340 3e 75 6e 67 65 74 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 75 73 68 65 73 20 62 >ungetc</CODE>.function.pushes.b
df360 61 63 6b 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 6f ack.the.character.<VAR>c</VAR>.o
df380 6e 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 20 73 74 72 65 61 6d 20 3c 56 nto.the..........input.stream.<V
df3a0 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 2e 20 20 53 6f 20 74 68 65 20 6e 65 78 74 20 69 6e AR>stream</VAR>...So.the.next.in
df3c0 70 75 74 20 66 72 6f 6d 20 3c 56 41 52 3e 73 74 72 65 61 6d 3c 2f 56 41 52 3e 20 77 69 6c 6c 0a put.from.<VAR>stream</VAR>.will.
df3e0 20 20 20 20 20 20 20 20 20 72 65 61 64 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 62 65 66 6f 72 .........read.<VAR>c</VAR>.befor
df400 65 20 61 6e 79 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 e.anything.else...........<br><b
df420 72 3e 20 49 66 20 3c 56 41 52 3e 63 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 45 4f 46 3c r>.If.<VAR>c</VAR>.is.<CODE>EOF<
df440 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 75 6e 67 65 74 63 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 /CODE>,.<CODE>ungetc</CODE>.does
df460 20 6e 6f 74 68 69 6e 67 20 61 6e 64 20 6a 75 73 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 .nothing.and.just.returns.......
df480 20 20 20 3c 43 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 6c 65 74 73 20 ...<CODE>EOF</CODE>...This.lets.
df4a0 79 6f 75 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 75 6e 67 65 74 63 3c 2f 43 4f 44 45 3e 20 77 69 74 you.call.<CODE>ungetc</CODE>.wit
df4c0 68 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c h.the.return.value.of..........<
df4e0 43 4f 44 45 3e 67 65 74 63 3c 2f 43 4f 44 45 3e 20 77 69 74 68 6f 75 74 20 6e 65 65 64 69 6e 67 CODE>getc</CODE>.without.needing
df500 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 3c 43 4f 44 .to.check.for.an.error.from.<COD
df520 45 3e 67 65 74 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e E>getc</CODE>...........<br><br>
df540 20 54 68 65 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 79 6f 75 20 70 75 73 68 20 62 61 63 .The.character.that.you.push.bac
df560 6b 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 74 6f 20 62 65 20 74 68 65 20 73 61 6d 65 20 61 73 k.doesn't.have.to.be.the.same.as
df580 20 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 74 68 61 .the.last..........character.tha
df5a0 74 20 77 61 73 20 61 63 74 75 61 6c 6c 79 20 72 65 61 64 20 66 72 6f 6d 20 74 68 65 20 73 74 72 t.was.actually.read.from.the.str
df5c0 65 61 6d 2e 20 20 49 6e 20 66 61 63 74 2c 20 69 74 20 69 73 6e 27 74 0a 20 20 20 20 20 20 20 20 eam...In.fact,.it.isn't.........
df5e0 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 72 65 61 64 20 61 6e 79 20 .necessary.to.actually.read.any.
df600 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 20 62 65 66 6f 72 characters.from.the.stream.befor
df620 65 0a 20 20 20 20 20 20 20 20 20 75 6e 72 65 61 64 69 6e 67 20 74 68 65 6d 20 77 69 74 68 20 3c e..........unreading.them.with.<
df640 43 4f 44 45 3e 75 6e 67 65 74 63 3c 2f 43 4f 44 45 3e 21 20 20 42 75 74 20 74 68 61 74 20 69 73 CODE>ungetc</CODE>!..But.that.is
df660 20 61 20 73 74 72 61 6e 67 65 20 77 61 79 20 74 6f 20 77 72 69 74 65 20 61 0a 20 20 20 20 20 20 .a.strange.way.to.write.a.......
df680 20 20 20 70 72 6f 67 72 61 6d 3b 20 75 73 75 61 6c 6c 79 20 3c 43 4f 44 45 3e 75 6e 67 65 74 63 ...program;.usually.<CODE>ungetc
df6a0 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 65 64 20 6f 6e 6c 79 20 74 6f 20 75 6e 72 65 61 64 20 61 </CODE>.is.used.only.to.unread.a
df6c0 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 77 61 73 20 6a 75 73 .character.that..........was.jus
df6e0 74 20 72 65 61 64 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 20 73 74 72 65 61 6d 2e 20 20 54 68 t.read.from.the.same.stream...Th
df700 65 20 47 4e 55 20 43 20 6c 69 62 72 61 72 79 20 73 75 70 70 6f 72 74 73 20 74 68 69 73 0a 20 20 e.GNU.C.library.supports.this...
df720 20 20 20 20 20 20 20 65 76 65 6e 20 6f 6e 20 66 69 6c 65 73 20 6f 70 65 6e 65 64 20 69 6e 20 62 .......even.on.files.opened.in.b
df740 69 6e 61 72 79 20 6d 6f 64 65 2c 20 62 75 74 20 6f 74 68 65 72 20 73 79 73 74 65 6d 73 20 6d 69 inary.mode,.but.other.systems.mi
df760 67 68 74 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 47 ght.not...........<br><br>.The.G
df780 4e 55 20 43 20 6c 69 62 72 61 72 79 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 73 20 6f 6e 65 20 63 NU.C.library.only.supports.one.c
df7a0 68 61 72 61 63 74 65 72 20 6f 66 20 70 75 73 68 62 61 63 6b 2d 2d 2d 69 6e 20 6f 74 68 65 72 0a haracter.of.pushback---in.other.
df7c0 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b .........words,.it.does.not.work
df7e0 20 74 6f 20 63 61 6c 6c 20 3c 43 4f 44 45 3e 75 6e 67 65 74 63 3c 2f 43 4f 44 45 3e 20 74 77 69 .to.call.<CODE>ungetc</CODE>.twi
df800 63 65 20 77 69 74 68 6f 75 74 20 64 6f 69 6e 67 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 ce.without.doing.input..........
df820 69 6e 20 62 65 74 77 65 65 6e 2e 20 20 4f 74 68 65 72 20 73 79 73 74 65 6d 73 20 6d 69 67 68 74 in.between...Other.systems.might
df840 20 6c 65 74 20 79 6f 75 20 70 75 73 68 20 62 61 63 6b 20 6d 75 6c 74 69 70 6c 65 20 63 68 61 72 .let.you.push.back.multiple.char
df860 61 63 74 65 72 73 3b 0a 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 acters;..........then.reading.fr
df880 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 20 72 65 74 72 69 65 76 65 73 20 74 68 65 20 63 68 61 72 om.the.stream.retrieves.the.char
df8a0 61 63 74 65 72 73 20 69 6e 20 74 68 65 20 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 20 20 20 6f acters.in.the.reverse..........o
df8c0 72 64 65 72 20 74 68 61 74 20 74 68 65 79 20 77 65 72 65 20 70 75 73 68 65 64 2e 0a 20 20 20 20 rder.that.they.were.pushed......
df8e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 50 75 73 68 69 6e 67 20 62 61 63 6b 20 63 68 61 72 61 .....<br><br>.Pushing.back.chara
df900 63 74 65 72 73 20 64 6f 65 73 6e 27 74 20 61 6c 74 65 72 20 74 68 65 20 66 69 6c 65 3b 20 6f 6e cters.doesn't.alter.the.file;.on
df920 6c 79 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 69 ly.the.internal..........bufferi
df940 6e 67 20 66 6f 72 20 74 68 65 20 73 74 72 65 61 6d 20 69 73 20 61 66 66 65 63 74 65 64 2e 20 20 ng.for.the.stream.is.affected...
df960 49 66 20 61 20 66 69 6c 65 20 70 6f 73 69 74 69 6f 6e 69 6e 67 20 66 75 6e 63 74 69 6f 6e 0a 20 If.a.file.positioning.function..
df980 20 20 20 20 20 20 20 20 28 73 75 63 68 20 61 73 20 3c 43 4f 44 45 3e 66 73 65 65 6b 3c 2f 43 4f ........(such.as.<CODE>fseek</CO
df9a0 44 45 3e 2c 20 3c 43 4f 44 45 3e 66 73 65 65 6b 6f 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 DE>,.<CODE>fseeko</CODE>.or.<COD
df9c0 45 3e 72 65 77 69 6e 64 3c 2f 43 4f 44 45 3e 3b 20 29 20 69 73 20 63 61 6c 6c 65 64 2c 20 61 6e E>rewind</CODE>;.).is.called,.an
df9e0 79 20 70 65 6e 64 69 6e 67 20 70 75 73 68 65 64 2d 62 61 63 6b 20 63 68 61 72 61 63 74 65 72 73 y.pending.pushed-back.characters
dfa00 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 64 69 73 63 61 72 64 65 64 2e 0a 20 20 20 20 20 20 20 .are..........discarded.........
dfa20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 6e 72 65 61 64 69 6e 67 20 61 20 63 68 61 72 61 63 74 65 72 ..<br><br>.Unreading.a.character
dfa40 20 6f 6e 20 61 20 73 74 72 65 61 6d 20 74 68 61 74 20 69 73 20 61 74 20 65 6e 64 20 6f 66 20 66 .on.a.stream.that.is.at.end.of.f
dfa60 69 6c 65 20 63 6c 65 61 72 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 6e 64 2d 6f 66 2d 66 ile.clears.the..........end-of-f
dfa80 69 6c 65 20 69 6e 64 69 63 61 74 6f 72 20 66 6f 72 20 74 68 65 20 73 74 72 65 61 6d 2c 20 62 65 ile.indicator.for.the.stream,.be
dfaa0 63 61 75 73 65 20 69 74 20 6d 61 6b 65 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6f 66 0a cause.it.makes.the.character.of.
dfac0 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 20 61 76 61 69 6c 61 62 6c 65 2e 20 20 41 66 74 65 72 .........input.available...After
dfae0 20 79 6f 75 20 72 65 61 64 20 74 68 61 74 20 63 68 61 72 61 63 74 65 72 2c 20 74 72 79 69 6e 67 .you.read.that.character,.trying
dfb00 20 74 6f 20 72 65 61 64 20 61 67 61 69 6e 0a 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 65 6e 63 .to.read.again..........will.enc
dfb20 6f 75 6e 74 65 72 20 65 6e 64 20 6f 66 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e ounter.end.of.file..........sq.~
dfb40 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1d f8 74 00 13 69 ......w.....t..stdio.hxq.~..t..i
dfb60 6e 74 20 63 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 03 69 6e 74 74 00 07 75 6e 67 65 74 nt.c,.FILE.*streamt..intt..unget
dfb80 77 63 73 71 00 7e 00 0a 70 74 00 8d 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 75 wcsq.~..pt...........The.<CODE>u
dfba0 6e 67 65 74 77 63 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 62 65 68 61 76 65 73 20 6a ngetwc</CODE>.function.behaves.j
dfbc0 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 75 6e 67 65 74 63 3c 2f 43 4f 44 45 3e 20 6a 75 73 ust.like.<CODE>ungetc</CODE>.jus
dfbe0 74 20 74 68 61 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 70 75 73 68 65 73 20 62 61 63 6b 20 61 t.that.it..........pushes.back.a
dfc00 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 .wide.character..........sq.~...
dfc20 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1d ff 74 00 17 77 69 6e 74 ...w.....t..wchar.hxq.~..t..wint
dfc40 5f 74 20 77 63 2c 20 46 49 4c 45 20 2a 73 74 72 65 61 6d 74 00 06 77 69 6e 74 5f 74 74 00 06 75 _t.wc,.FILE.*streamt..wint_tt..u
dfc60 6e 6c 69 6e 6b 73 71 00 7e 00 0a 70 74 07 5b 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 nlinksq.~..pt.[.........The.<COD
dfc80 45 3e 75 6e 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 64 65 6c 65 74 65 73 E>unlink</CODE>.function.deletes
dfca0 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c 2f 56 41 .the.file.name.<VAR>filename</VA
dfcc0 52 3e 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 69 73 20 61 20 66 69 6c 65 27 R>...If..........this.is.a.file'
dfce0 73 20 73 6f 6c 65 20 6e 61 6d 65 2c 20 74 68 65 20 66 69 6c 65 20 69 74 73 65 6c 66 20 69 73 20 s.sole.name,.the.file.itself.is.
dfd00 61 6c 73 6f 20 64 65 6c 65 74 65 64 2e 20 20 28 41 63 74 75 61 6c 6c 79 2c 0a 20 20 20 20 20 20 also.deleted...(Actually,.......
dfd20 20 20 20 69 66 20 61 6e 79 20 70 72 6f 63 65 73 73 20 68 61 73 20 74 68 65 20 66 69 6c 65 20 6f ...if.any.process.has.the.file.o
dfd40 70 65 6e 20 77 68 65 6e 20 74 68 69 73 20 68 61 70 70 65 6e 73 2c 20 64 65 6c 65 74 69 6f 6e 20 pen.when.this.happens,.deletion.
dfd60 69 73 0a 20 20 20 20 20 20 20 20 20 70 6f 73 74 70 6f 6e 65 64 20 75 6e 74 69 6c 20 61 6c 6c 20 is..........postponed.until.all.
dfd80 70 72 6f 63 65 73 73 65 73 20 68 61 76 65 20 63 6c 6f 73 65 64 20 74 68 65 20 66 69 6c 65 2e 29 processes.have.closed.the.file.)
dfda0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 ..........<br><br>.The.function.
dfdc0 3c 43 4f 44 45 3e 75 6e 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 69 73 20 64 65 63 6c 61 72 65 64 20 <CODE>unlink</CODE>.is.declared.
dfde0 69 6e 20 74 68 65 20 68 65 61 64 65 72 20 66 69 6c 65 20 3c 54 54 3e 75 6e 69 73 74 64 2e 68 3c in.the.header.file.<TT>unistd.h<
dfe00 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e /TT>...........<br><br>.This.fun
dfe20 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 6e 20 ction.returns.<CODE>0</CODE>.on.
dfe40 73 75 63 63 65 73 73 66 75 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 2c 20 61 6e 64 20 3c 43 4f 44 45 successful.completion,.and.<CODE
dfe60 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 6f 6e 20 65 72 72 6f 72 2e 20 20 49 >-1</CODE>..........on.error...I
dfe80 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 6e 61 6d n.addition.to.the.usual.file.nam
dfea0 65 20 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e e.errors..........,.the.followin
dfec0 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 g.<CODE>errno</CODE>.error.condi
dfee0 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 tions.are..........defined.for.t
dff00 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 his.function:..........<br><br>.
dff20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 0a <DL>...........<DT><CODE>EACCES.
dff40 20 20 20 20 20 20 20 20 20 57 72 69 74 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 64 65 6e .........Write.permission.is.den
dff60 69 65 64 20 66 6f 72 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 20 77 68 69 63 68 ied.for.the.directory.from.which
dff80 20 74 68 65 20 66 69 6c 65 20 69 73 20 74 6f 20 62 65 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 .the.file.is.to.be</CODE>.<DD>..
dffa0 20 20 20 20 20 20 20 20 72 65 6d 6f 76 65 64 2c 20 6f 72 20 74 68 65 20 64 69 72 65 63 74 6f 72 ........removed,.or.the.director
dffc0 79 20 68 61 73 20 74 68 65 20 73 74 69 63 6b 79 20 62 69 74 20 73 65 74 20 61 6e 64 20 79 6f 75 y.has.the.sticky.bit.set.and.you
dffe0 20 64 6f 20 6e 6f 74 20 6f 77 6e 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c .do.not.own.the.file...........<
e0000 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 55 53 59 0a 20 20 20 20 20 20 20 20 br><br>.<DT><CODE>EBUSY.........
e0020 20 54 68 69 73 20 65 72 72 6f 72 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20 74 68 65 20 66 .This.error.indicates.that.the.f
e0040 69 6c 65 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 20 62 79 20 74 68 65 20 73 79 73 74 65 6d 20 ile.is.being.used.by.the.system.
e0060 69 6e 20 73 75 63 68 20 61 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 77 in.such.a</CODE>.<DD>..........w
e0080 61 79 20 74 68 61 74 20 69 74 20 63 61 6e 27 74 20 62 65 20 75 6e 6c 69 6e 6b 65 64 2e 20 20 46 ay.that.it.can't.be.unlinked...F
e00a0 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 6d 69 67 68 74 20 73 65 65 20 74 68 69 73 20 65 or.example,.you.might.see.this.e
e00c0 72 72 6f 72 20 69 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 73 rror.if..........the.file.name.s
e00e0 70 65 63 69 66 69 65 73 20 74 68 65 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 61 pecifies.the.root.directory.or.a
e0100 20 6d 6f 75 6e 74 20 70 6f 69 6e 74 20 66 6f 72 20 61 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 .mount.point.for.a.file.........
e0120 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c .system...........<br><br>.<DT><
e0140 43 4f 44 45 3e 45 4e 4f 45 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 CODE>ENOENT</CODE>.<DD>.........
e0160 20 54 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 62 65 20 64 65 6c 65 74 65 64 20 64 6f 65 .The.file.name.to.be.deleted.doe
e0180 73 6e 27 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 sn't.exist...........<br><br>.<D
e01a0 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 0a 20 20 20 20 20 20 20 20 20 4f 6e 20 73 6f 6d 65 20 73 T><CODE>EPERM..........On.some.s
e01c0 79 73 74 65 6d 73 20 3c 43 4f 44 45 3e 75 6e 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 63 61 6e 6e 6f ystems.<CODE>unlink</CODE>.canno
e01e0 74 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 6c 65 74 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 t.be.used.to.delete.the.name.of.
e0200 61 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 a</CODE>.<DD>..........directory
e0220 2c 20 6f 72 20 61 74 20 6c 65 61 73 74 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 74 ,.or.at.least.can.only.be.used.t
e0240 68 69 73 20 77 61 79 20 62 79 20 61 20 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 2e 0a 20 20 his.way.by.a.privileged.user....
e0260 20 20 20 20 20 20 20 54 6f 20 61 76 6f 69 64 20 73 75 63 68 20 70 72 6f 62 6c 65 6d 73 2c 20 75 .......To.avoid.such.problems,.u
e0280 73 65 20 3c 43 4f 44 45 3e 72 6d 64 69 72 3c 2f 43 4f 44 45 3e 20 74 6f 20 64 65 6c 65 74 65 20 se.<CODE>rmdir</CODE>.to.delete.
e02a0 64 69 72 65 63 74 6f 72 69 65 73 2e 20 20 28 49 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 47 directories...(In.the..........G
e02c0 4e 55 20 73 79 73 74 65 6d 20 3c 43 4f 44 45 3e 75 6e 6c 69 6e 6b 3c 2f 43 4f 44 45 3e 20 63 61 NU.system.<CODE>unlink</CODE>.ca
e02e0 6e 20 6e 65 76 65 72 20 64 65 6c 65 74 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 64 69 72 n.never.delete.the.name.of.a.dir
e0300 65 63 74 6f 72 79 2e 29 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c ectory.)..........<br><br>.<DT><
e0320 43 4f 44 45 3e 45 52 4f 46 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 69 72 65 63 74 6f 72 CODE>EROFS..........The.director
e0340 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 62 65 y.containing.the.file.name.to.be
e0360 20 64 65 6c 65 74 65 64 20 69 73 20 6f 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 3c 2f 43 4f 44 45 .deleted.is.on.a.read-only</CODE
e0380 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 73 79 73 74 65 6d 20 61 6e 64 20 >.<DD>..........file.system.and.
e03a0 63 61 6e 27 74 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c can't.be.modified...........</DL
e03c0 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 75 6e 69 >.........sq.~......w.....t..uni
e03e0 73 74 64 2e 68 78 71 00 7e 1e 06 74 00 14 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 69 6c 65 6e 61 std.hxq.~..t..const.char.*filena
e0400 6d 65 74 00 03 69 6e 74 74 00 08 75 6e 6c 6f 63 6b 70 74 73 71 00 7e 00 0a 70 74 03 9a 0a 20 20 met..intt..unlockptsq.~..pt.....
e0420 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 75 6e 6c 6f 63 6b 70 74 3c 2f 43 4f 44 45 3e 20 ......The.<CODE>unlockpt</CODE>.
e0440 66 75 6e 63 74 69 6f 6e 20 75 6e 6c 6f 63 6b 73 20 74 68 65 20 73 6c 61 76 65 20 70 73 65 75 64 function.unlocks.the.slave.pseud
e0460 6f 2d 74 65 72 6d 69 6e 61 6c 20 64 65 76 69 63 65 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 o-terminal.device..........corre
e0480 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6d 61 73 74 65 72 20 70 73 65 75 64 6f 2d 74 65 sponding.to.the.master.pseudo-te
e04a0 72 6d 69 6e 61 6c 20 64 65 76 69 63 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 rminal.device.associated.with.th
e04c0 65 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e e..........file.descriptor.<VAR>
e04e0 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 2e 20 20 4f 6e 20 6d 61 6e 79 20 73 79 73 74 65 6d 73 2c filedes</VAR>...On.many.systems,
e0500 20 74 68 65 20 73 6c 61 76 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 0a 20 20 20 20 20 20 20 20 20 .the.slave.can.only.be..........
e0520 6f 70 65 6e 65 64 20 61 66 74 65 72 20 75 6e 6c 6f 63 6b 69 6e 67 2c 20 73 6f 20 70 6f 72 74 61 opened.after.unlocking,.so.porta
e0540 62 6c 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 63 ble.applications.should.always.c
e0560 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 75 6e 6c 6f 63 6b 70 74 3c 2f 43 4f 44 all..........<CODE>unlockpt</COD
e0580 45 3e 20 62 65 66 6f 72 65 20 74 72 79 69 6e 67 20 74 6f 20 6f 70 65 6e 20 74 68 65 20 73 6c 61 E>.before.trying.to.open.the.sla
e05a0 76 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 6e 6f 72 6d 61 6c ve...........<br><br>.The.normal
e05c0 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f 6d 20 3c 43 4f 44 45 3e 75 6e 6c 6f 63 6b 70 .return.value.from.<CODE>unlockp
e05e0 74 3c 2f 43 4f 44 45 3e 20 69 73 20 30 3b 20 61 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 t</CODE>.is.0;.a.value.of.......
e0600 20 20 20 2d 31 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 63 61 73 65 20 6f 66 20 66 61 69 ...-1.is.returned.in.case.of.fai
e0620 6c 75 72 65 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e 6f lure...The.following.<CODE>errno
e0640 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e </CODE>..........error.condition
e0660 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a s.are.defined.for.this.function:
e0680 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 ..........<br><br>.<DL>.........
e06a0 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 ..<DT><CODE>EBADF</CODE>.<DD>...
e06c0 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 .......The.<VAR>filedes</VAR>.ar
e06e0 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 gument.is.not.a.valid.file.descr
e0700 69 70 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f iptor...........<br><br>.<DT><CO
e0720 44 45 3e 45 49 4e 56 41 4c 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 56 41 52 3e 66 69 6c 65 DE>EINVAL..........The.<VAR>file
e0740 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 des</VAR>.argument.is.not.associ
e0760 61 74 65 64 20 77 69 74 68 20 61 20 6d 61 73 74 65 72 20 70 73 65 75 64 6f 2d 74 65 72 6d 69 6e ated.with.a.master.pseudo-termin
e0780 61 6c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 2e 0a al</CODE>.<DD>..........device..
e07a0 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 .........</DL>.........sq.~.....
e07c0 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1e 0d 74 00 0b 69 6e 74 20 66 .w.....t..stdlib.hxq.~..t..int.f
e07e0 69 6c 65 64 65 73 74 00 03 69 6e 74 74 00 08 75 6e 73 65 74 65 6e 76 73 71 00 7e 00 0a 70 74 02 iledest..intt..unsetenvsq.~..pt.
e0800 fc 0a 20 20 20 20 20 20 20 20 55 73 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 6e ..........Using.this.function.on
e0820 65 20 63 61 6e 20 72 65 6d 6f 76 65 20 61 6e 20 65 6e 74 72 79 20 63 6f 6d 70 6c 65 74 65 6c 79 e.can.remove.an.entry.completely
e0840 20 66 72 6f 6d 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 20 .from.the..........environment..
e0860 20 49 66 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 .If.the.environment.contains.an.
e0880 65 6e 74 72 79 20 77 69 74 68 20 74 68 65 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 entry.with.the.key..........<VAR
e08a0 3e 6e 61 6d 65 3c 2f 56 41 52 3e 20 74 68 69 73 20 77 68 6f 6c 65 20 65 6e 74 72 79 20 69 73 20 >name</VAR>.this.whole.entry.is.
e08c0 72 65 6d 6f 76 65 64 2e 20 20 41 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f removed...A.call.to.this.functio
e08e0 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 63 61 n.is..........equivalent.to.a.ca
e0900 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 70 75 74 65 6e 76 3c 2f 43 4f 44 45 3e 20 77 68 65 6e 20 74 ll.to.<CODE>putenv</CODE>.when.t
e0920 68 65 20 3c 56 41 52 3e 76 61 6c 75 65 3c 2f 56 41 52 3e 20 70 61 72 74 20 6f 66 20 74 68 65 0a he.<VAR>value</VAR>.part.of.the.
e0940 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 69 73 20 65 6d 70 74 79 2e 0a 20 20 20 20 20 20 .........string.is.empty........
e0960 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 20 ...<br><br>.The.function.return.
e0980 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 66 20 3c 56 41 52 3e 6e 61 6d 65 3c 2f 56 41 <CODE>-1</CODE>.if.<VAR>name</VA
e09a0 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 70 6f 69 6e 74 73 20 74 6f 0a R>.is.a.null.pointer,.points.to.
e09c0 20 20 20 20 20 20 20 20 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 6f 72 20 70 6f 69 .........an.empty.string,.or.poi
e09e0 6e 74 73 20 74 6f 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 3c 43 4f nts.to.a.string.containing.a.<CO
e0a00 44 45 3e 3d 3c 2f 43 4f 44 45 3e 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 DE>=</CODE>.character...........
e0a20 49 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 It.returns.<CODE>0</CODE>.if.the
e0a40 20 63 61 6c 6c 20 73 75 63 63 65 65 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .call.succeeded...........<br><b
e0a60 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 6f 72 69 67 69 6e 61 6c 6c 79 20 r>.This.function.was.originally.
e0a80 70 61 72 74 20 6f 66 20 74 68 65 20 42 53 44 20 6c 69 62 72 61 72 79 20 62 75 74 20 69 73 20 6e part.of.the.BSD.library.but.is.n
e0aa0 6f 77 20 70 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 55 6e 69 78 20 73 74 61 ow.part.of..........the.Unix.sta
e0ac0 6e 64 61 72 64 2e 20 20 54 68 65 20 42 53 44 20 76 65 72 73 69 6f 6e 20 68 61 64 20 6e 6f 20 72 ndard...The.BSD.version.had.no.r
e0ae0 65 74 75 72 6e 20 76 61 6c 75 65 2c 20 74 68 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 73 71 00 eturn.value,.though..........sq.
e0b00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1e 14 74 00 ~......w.....t..stdlib.hxq.~..t.
e0b20 10 63 6f 6e 73 74 20 63 68 61 72 20 2a 6e 61 6d 65 74 00 03 69 6e 74 74 00 07 75 70 64 77 74 6d .const.char.*namet..intt..updwtm
e0b40 70 73 71 00 7e 00 0a 70 74 00 fe 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 75 70 psq.~..pt...........The.<CODE>up
e0b60 64 77 74 6d 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 73 20 74 68 dwtmp</CODE>.function.appends.th
e0b80 65 20 65 6e 74 72 79 20 2a 3c 56 41 52 3e 75 74 6d 70 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 0a e.entry.*<VAR>utmp</VAR>.to.the.
e0ba0 20 20 20 20 20 20 20 20 20 64 61 74 61 62 61 73 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 3c .........database.specified.by.<
e0bc0 56 41 52 3e 77 74 6d 70 5f 66 69 6c 65 3c 2f 56 41 52 3e 2e 20 20 46 6f 72 20 70 6f 73 73 69 62 VAR>wtmp_file</VAR>...For.possib
e0be0 6c 65 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e le.values.for.the..........<VAR>
e0c00 77 74 6d 70 5f 66 69 6c 65 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 73 65 65 20 74 68 65 wtmp_file</VAR>.argument.see.the
e0c20 20 3c 43 4f 44 45 3e 75 74 6d 70 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 2e .<CODE>utmpname</CODE>.function.
e0c40 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 75 74 6d 70 .........sq.~......w.....t..utmp
e0c60 2e 68 78 71 00 7e 1e 1b 74 00 2e 63 6f 6e 73 74 20 63 68 61 72 20 2a 77 74 6d 70 5f 66 69 6c 65 .hxq.~..t..const.char.*wtmp_file
e0c80 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 6d 70 20 2a 75 74 6d 70 74 00 04 76 6f 69 64 ,.const.struct.utmp.*utmpt..void
e0ca0 74 00 05 75 74 69 6d 65 73 71 00 7e 00 0a 70 74 06 98 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 t..utimesq.~..pt...........This.
e0cc0 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 66 function.is.used.to.modify.the.f
e0ce0 69 6c 65 20 74 69 6d 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 66 69 ile.times.associated.with.the.fi
e0d00 6c 65 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 64 20 3c 56 41 52 3e 66 69 6c 65 6e 61 6d 65 3c le..........named.<VAR>filename<
e0d20 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 /VAR>...........<br><br>.If.<VAR
e0d40 3e 74 69 6d 65 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 >times</VAR>.is.a.null.pointer,.
e0d60 74 68 65 6e 20 74 68 65 20 61 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e then.the.access.and.modification
e0d80 20 74 69 6d 65 73 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 66 69 6c 65 20 61 72 65 20 .times..........of.the.file.are.
e0da0 73 65 74 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 69 6d 65 2e 20 20 4f 74 68 65 72 77 set.to.the.current.time...Otherw
e0dc0 69 73 65 2c 20 74 68 65 79 20 61 72 65 20 73 65 74 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 ise,.they.are.set.to.the........
e0de0 20 20 76 61 6c 75 65 73 20 66 72 6f 6d 20 74 68 65 20 3c 43 4f 44 45 3e 61 63 74 69 6d 65 3c 2f ..values.from.the.<CODE>actime</
e0e00 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 6d 6f 64 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 6d CODE>.and.<CODE>modtime</CODE>.m
e0e20 65 6d 62 65 72 73 20 28 72 65 73 70 65 63 74 69 76 65 6c 79 29 0a 20 20 20 20 20 20 20 20 20 6f embers.(respectively)..........o
e0e40 66 20 74 68 65 20 3c 43 4f 44 45 3e 75 74 69 6d 62 75 66 3c 2f 43 4f 44 45 3e 20 73 74 72 75 63 f.the.<CODE>utimbuf</CODE>.struc
e0e60 74 75 72 65 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 74 69 6d 65 73 3c 2f 56 ture.pointed.to.by.<VAR>times</V
e0e80 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 61 74 74 72 69 AR>...........<br><br>.The.attri
e0ea0 62 75 74 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 66 6f 72 20 74 68 65 20 66 bute.modification.time.for.the.f
e0ec0 69 6c 65 20 69 73 20 73 65 74 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 69 6d 65 0a 20 ile.is.set.to.the.current.time..
e0ee0 20 20 20 20 20 20 20 20 69 6e 20 65 69 74 68 65 72 20 63 61 73 65 20 28 73 69 6e 63 65 20 63 68 ........in.either.case.(since.ch
e0f00 61 6e 67 69 6e 67 20 74 68 65 20 74 69 6d 65 20 73 74 61 6d 70 73 20 69 73 20 69 74 73 65 6c 66 anging.the.time.stamps.is.itself
e0f20 20 61 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 .a.modification..........of.the.
e0f40 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 73 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c file.attributes)...........<br><
e0f60 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 75 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 br>.The.<CODE>utime</CODE>.funct
e0f80 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 73 75 ion.returns.<CODE>0</CODE>.if.su
e0fa0 63 63 65 73 73 66 75 6c 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 0a 20 20 20 ccessful.and.<CODE>-1</CODE>....
e0fc0 20 20 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 ......on.failure...In.addition.t
e0fe0 6f 20 74 68 65 20 75 73 75 61 6c 20 66 69 6c 65 20 6e 61 6d 65 20 65 72 72 6f 72 73 0a 20 20 20 o.the.usual.file.name.errors....
e1000 20 20 20 20 20 20 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 3c 43 4f 44 45 3e 65 72 72 6e ......,.the.following.<CODE>errn
e1020 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 o</CODE>.error.conditions.......
e1040 20 20 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e ...are.defined.for.this.function
e1060 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 :..........<br><br>.<DL>........
e1080 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 43 43 45 53 0a 20 20 20 20 20 20 20 20 20 54 68 65 ...<DT><CODE>EACCES..........The
e10a0 72 65 20 69 73 20 61 20 70 65 72 6d 69 73 73 69 6f 6e 20 70 72 6f 62 6c 65 6d 20 69 6e 20 74 68 re.is.a.permission.problem.in.th
e10c0 65 20 63 61 73 65 20 77 68 65 72 65 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 77 61 73 3c e.case.where.a.null.pointer.was<
e10e0 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 70 61 73 73 65 64 20 61 73 20 74 /CODE>.<DD>..........passed.as.t
e1100 68 65 20 3c 56 41 52 3e 74 69 6d 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 he.<VAR>times</VAR>.argument...I
e1120 6e 20 6f 72 64 65 72 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 20 74 69 6d 65 20 73 74 61 6d 70 n.order.to.update.the.time.stamp
e1140 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 6c 65 2c 20 79 6f 75 20 6d 75 73 74 20 .on..........the.file,.you.must.
e1160 65 69 74 68 65 72 20 62 65 20 74 68 65 20 6f 77 6e 65 72 20 6f 66 20 74 68 65 20 66 69 6c 65 2c either.be.the.owner.of.the.file,
e1180 20 68 61 76 65 20 77 72 69 74 65 0a 20 20 20 20 20 20 20 20 20 70 65 72 6d 69 73 73 69 6f 6e 20 .have.write..........permission.
e11a0 66 6f 72 20 74 68 65 20 66 69 6c 65 2c 20 6f 72 20 62 65 20 61 20 70 72 69 76 69 6c 65 67 65 64 for.the.file,.or.be.a.privileged
e11c0 20 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f .user...........<br><br>.<DT><CO
e11e0 44 45 3e 45 4e 4f 45 4e 54 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 DE>ENOENT</CODE>.<DD>..........T
e1200 68 65 20 66 69 6c 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 he.file.doesn't.exist...........
e1220 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a <br><br>.<DT><CODE>EPERM</CODE>.
e1240 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 56 41 52 3e 74 69 6d 65 73 3c <DD>..........If.the.<VAR>times<
e1260 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 /VAR>.argument.is.not.a.null.poi
e1280 6e 74 65 72 2c 20 79 6f 75 20 6d 75 73 74 20 65 69 74 68 65 72 20 62 65 0a 20 20 20 20 20 20 20 nter,.you.must.either.be........
e12a0 20 20 74 68 65 20 6f 77 6e 65 72 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6f 72 20 62 65 20 61 20 ..the.owner.of.the.file.or.be.a.
e12c0 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 privileged.user...........<br><b
e12e0 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 52 4f 46 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 r>.<DT><CODE>EROFS</CODE>.<DD>..
e1300 20 20 20 20 20 20 20 20 54 68 65 20 66 69 6c 65 20 6c 69 76 65 73 20 6f 6e 20 61 20 72 65 61 64 ........The.file.lives.on.a.read
e1320 2d 6f 6e 6c 79 20 66 69 6c 65 20 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c -only.file.system...........</DL
e1340 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 08 75 6e 69 >.........sq.~......w.....t..uni
e1360 73 74 64 2e 68 74 00 06 74 69 6d 65 2e 68 78 71 00 7e 1e 22 74 00 31 63 6f 6e 73 74 20 63 68 61 std.ht..time.hxq.~."t.1const.cha
e1380 72 20 2a 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 75 74 69 6d 62 75 r.*filename,.const.struct.utimbu
e13a0 66 20 2a 74 69 6d 65 73 74 00 03 69 6e 74 74 00 06 75 74 69 6d 65 73 73 71 00 7e 00 0a 70 74 02 f.*timest..intt..utimessq.~..pt.
e13c0 4e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 N.........This.function.sets.the
e13e0 20 66 69 6c 65 20 61 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 .file.access.and.modification.ti
e1400 6d 65 73 20 6f 66 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 66 69 mes.of.the.file..........<VAR>fi
e1420 6c 65 6e 61 6d 65 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 6e 65 77 20 66 69 6c 65 20 61 63 63 65 lename</VAR>...The.new.file.acce
e1440 73 73 20 74 69 6d 65 20 69 73 20 73 70 65 63 69 66 69 65 64 20 62 79 0a 20 20 20 20 20 20 20 20 ss.time.is.specified.by.........
e1460 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 74 76 70 3c 2f 56 41 52 3e 5b 30 5d 3c 2f 43 4f 44 45 3e 2c .<CODE><VAR>tvp</VAR>[0]</CODE>,
e1480 20 61 6e 64 20 74 68 65 20 6e 65 77 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 62 .and.the.new.modification.time.b
e14a0 79 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 3c 56 41 52 3e 74 76 70 3c 2f 56 41 52 3e 5b y..........<CODE><VAR>tvp</VAR>[
e14c0 31 5d 3c 2f 43 4f 44 45 3e 2e 20 20 53 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 75 74 69 1]</CODE>...Similar.to.<CODE>uti
e14e0 6d 65 3c 2f 43 4f 44 45 3e 2c 20 69 66 20 3c 56 41 52 3e 74 76 70 3c 2f 56 41 52 3e 20 69 73 20 me</CODE>,.if.<VAR>tvp</VAR>.is.
e1500 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 74 68 65 6e 20 74 68 65 a.null..........pointer.then.the
e1520 20 61 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 73 20 6f .access.and.modification.times.o
e1540 66 20 74 68 65 20 66 69 6c 65 20 61 72 65 20 73 65 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 f.the.file.are.set.to..........t
e1560 68 65 20 63 75 72 72 65 6e 74 20 74 69 6d 65 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 he.current.time...This.function.
e1580 63 6f 6d 65 73 20 66 72 6f 6d 20 42 53 44 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 comes.from.BSD...........<br><br
e15a0 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 61 6e 64 20 65 72 72 6f 72 20 63 6f >.The.return.values.and.error.co
e15c0 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 66 6f 72 20 74 68 65 nditions.are.the.same.as.for.the
e15e0 20 3c 43 4f 44 45 3e 75 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e .<CODE>utime</CODE>..........fun
e1600 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 ction..........sq.~......w.....t
e1620 00 0a 73 79 73 2f 74 69 6d 65 2e 68 78 71 00 7e 1e 2a 74 00 2b 63 6f 6e 73 74 20 63 68 61 72 20 ..sys/time.hxq.~.*t.+const.char.
e1640 2a 66 69 6c 65 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 74 69 6d 65 76 61 6c 20 74 76 70 5b 32 5d *filename,.struct.timeval.tvp[2]
e1660 74 00 03 69 6e 74 74 00 08 75 74 6d 70 6e 61 6d 65 73 71 00 7e 00 0a 70 74 04 3d 0a 20 20 20 20 t..intt..utmpnamesq.~..pt.=.....
e1680 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 75 74 6d 70 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 ....The.<CODE>utmpname</CODE>.fu
e16a0 6e 63 74 69 6f 6e 20 63 68 61 6e 67 65 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 64 nction.changes.the.name.of.the.d
e16c0 61 74 61 62 61 73 65 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 65 78 61 6d 69 6e 65 64 20 atabase.to.be..........examined.
e16e0 74 6f 20 3c 56 41 52 3e 66 69 6c 65 3c 2f 56 41 52 3e 2c 20 61 6e 64 20 63 6c 6f 73 65 73 20 61 to.<VAR>file</VAR>,.and.closes.a
e1700 6e 79 20 70 72 65 76 69 6f 75 73 6c 79 20 6f 70 65 6e 65 64 20 64 61 74 61 62 61 73 65 2e 20 20 ny.previously.opened.database...
e1720 42 79 0a 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 3c 43 4f 44 45 3e 67 65 74 75 74 65 By..........default.<CODE>getute
e1740 6e 74 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 67 65 74 75 74 69 64 3c 2f 43 4f 44 45 3e 2c nt</CODE>,.<CODE>getutid</CODE>,
e1760 20 3c 43 4f 44 45 3e 67 65 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 61 6e 64 0a 20 20 20 20 .<CODE>getutline</CODE>.and.....
e1780 20 20 20 20 20 3c 43 4f 44 45 3e 70 75 74 75 74 6c 69 6e 65 3c 2f 43 4f 44 45 3e 20 72 65 61 64 .....<CODE>pututline</CODE>.read
e17a0 20 66 72 6f 6d 20 61 6e 64 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 75 73 65 72 20 61 63 63 6f .from.and.write.to.the.user.acco
e17c0 75 6e 74 69 6e 67 20 64 61 74 61 62 61 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 unting.database...........<br><b
e17e0 72 3e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 61 63 72 6f 73 20 61 72 65 20 64 65 66 69 r>.The.following.macros.are.defi
e1800 6e 65 64 20 66 6f 72 20 75 73 65 20 61 73 20 74 68 65 20 3c 56 41 52 3e 66 69 6c 65 3c 2f 56 41 ned.for.use.as.the.<VAR>file</VA
e1820 52 3e 20 61 72 67 75 6d 65 6e 74 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4d R>.argument:..........<br><br>.M
e1840 61 63 72 6f 20 7b 63 68 61 72 20 2a 7d 20 5f 50 41 54 48 5f 55 54 4d 50 0a 20 20 20 20 20 20 20 acro.{char.*}._PATH_UTMP........
e1860 20 20 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 ..This.macro.is.used.to.specify.
e1880 74 68 65 20 75 73 65 72 20 61 63 63 6f 75 6e 74 69 6e 67 20 64 61 74 61 62 61 73 65 2e 0a 20 20 the.user.accounting.database....
e18a0 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4d 61 63 72 6f 20 .................<br><br>.Macro.
e18c0 7b 63 68 61 72 20 2a 7d 20 5f 50 41 54 48 5f 57 54 4d 50 0a 20 20 20 20 20 20 20 20 20 54 68 69 {char.*}._PATH_WTMP..........Thi
e18e0 73 20 6d 61 63 72 6f 20 69 73 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 75 s.macro.is.used.to.specify.the.u
e1900 73 65 72 20 61 63 63 6f 75 6e 74 69 6e 67 20 6c 6f 67 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 ser.accounting.log.file.........
e1920 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 75 ............<br><br>.The.<CODE>u
e1940 74 6d 70 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 tmpname</CODE>.function.returns.
e1960 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 a.value.of.<CODE>0</CODE>.if.the
e1980 20 6e 65 77 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 77 61 73 20 73 75 63 63 65 73 73 66 75 .new.name..........was.successfu
e19a0 6c 6c 79 20 73 74 6f 72 65 64 2c 20 61 6e 64 20 61 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 lly.stored,.and.a.value.of.<CODE
e19c0 3e 2d 31 3c 2f 43 4f 44 45 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 6e 20 65 72 72 6f 72 2e >-1</CODE>.to.indicate.an.error.
e19e0 0a 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 43 4f 44 45 3e 75 74 6d 70 6e 61 ..........Note.that.<CODE>utmpna
e1a00 6d 65 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 20 6e 6f 74 20 74 72 79 20 74 6f 20 6f 70 65 6e 20 74 me</CODE>.does.not.try.to.open.t
e1a20 68 65 20 64 61 74 61 62 61 73 65 2c 20 61 6e 64 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 74 he.database,.and.that..........t
e1a40 68 65 72 65 66 6f 72 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 64 6f 65 73 20 6e herefore.the.return.value.does.n
e1a60 6f 74 20 73 61 79 20 61 6e 79 74 68 69 6e 67 20 61 62 6f 75 74 20 77 68 65 74 68 65 72 20 74 68 ot.say.anything.about.whether.th
e1a80 65 0a 20 20 20 20 20 20 20 20 20 64 61 74 61 62 61 73 65 20 63 61 6e 20 62 65 20 73 75 63 63 65 e..........database.can.be.succe
e1aa0 73 73 66 75 6c 6c 79 20 6f 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 ssfully.opened..........sq.~....
e1ac0 00 01 77 04 00 00 00 0a 74 00 06 75 74 6d 70 2e 68 78 71 00 7e 1e 31 74 00 10 63 6f 6e 73 74 20 ..w.....t..utmp.hxq.~.1t..const.
e1ae0 63 68 61 72 20 2a 66 69 6c 65 74 00 03 69 6e 74 74 00 09 75 74 6d 70 78 6e 61 6d 65 73 71 00 7e char.*filet..intt..utmpxnamesq.~
e1b00 00 0a 70 74 00 d4 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 75 74 6d 70 78 6e 61 ..pt...........The.<CODE>utmpxna
e1b20 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c me</CODE>.function.is.functional
e1b40 6c 79 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 75 ly.identical.to..........<CODE>u
e1b60 74 6d 70 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2e 20 20 4f 6e 20 74 68 65 20 47 4e 55 20 73 79 73 74 tmpname</CODE>...On.the.GNU.syst
e1b80 65 6d 2c 20 3c 43 4f 44 45 3e 75 74 6d 70 78 6e 61 6d 65 3c 2f 43 4f 44 45 3e 20 69 73 20 73 69 em,.<CODE>utmpxname</CODE>.is.si
e1ba0 6d 70 6c 79 20 61 6e 0a 20 20 20 20 20 20 20 20 20 61 6c 69 61 73 20 66 6f 72 20 3c 43 4f 44 45 mply.an..........alias.for.<CODE
e1bc0 3e 75 74 6d 70 6e 61 6d 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f >utmpname</CODE>..........sq.~..
e1be0 00 00 00 01 77 04 00 00 00 0a 74 00 07 75 74 6d 70 78 2e 68 78 71 00 7e 1e 38 74 00 10 63 6f 6e ....w.....t..utmpx.hxq.~.8t..con
e1c00 73 74 20 63 68 61 72 20 2a 66 69 6c 65 74 00 03 69 6e 74 74 00 06 76 61 6c 6c 6f 63 73 71 00 7e st.char.*filet..intt..vallocsq.~
e1c20 00 0a 70 74 01 d0 0a 20 20 20 20 20 20 20 20 55 73 69 6e 67 20 3c 43 4f 44 45 3e 76 61 6c 6c 6f ..pt...........Using.<CODE>vallo
e1c40 63 3c 2f 43 4f 44 45 3e 20 69 73 20 6c 69 6b 65 20 75 73 69 6e 67 20 3c 43 4f 44 45 3e 6d 65 6d c</CODE>.is.like.using.<CODE>mem
e1c60 61 6c 69 67 6e 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 70 61 73 73 69 6e 67 20 74 68 65 20 70 61 67 align</CODE>.and.passing.the.pag
e1c80 65 20 73 69 7a 65 0a 20 20 20 20 20 20 20 20 20 61 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 e.size..........as.the.value.of.
e1ca0 74 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 74 20 69 73 20 69 6d 70 6c the.second.argument...It.is.impl
e1cc0 65 6d 65 6e 74 65 64 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e emented.like.this:..........<br>
e1ce0 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 76 6f 69 64 20 2a 3c 62 <br>.<pre><br>..........void.*<b
e1d00 72 3e 0a 20 20 20 20 20 20 20 20 20 76 61 6c 6c 6f 63 20 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 r>..........valloc.(size_t.size)
e1d20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 <br>..........{<br>............r
e1d40 65 74 75 72 6e 20 6d 65 6d 61 6c 69 67 6e 20 28 67 65 74 70 61 67 65 73 69 7a 65 20 28 29 2c 20 eturn.memalign.(getpagesize.(),.
e1d60 73 69 7a 65 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 size);<br>..........}<br>.......
e1d80 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 51 75 65 72 ...</pre>..........<br><br>.Quer
e1da0 79 20 4d 65 6d 6f 72 79 20 50 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 y.Memory.Parameters.for.more.inf
e1dc0 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 6d 65 6d 6f 72 79 0a 20 20 20 20 20 20 ormation.about.the.memory.......
e1de0 20 20 20 73 75 62 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 ...subsystem..........sq.~......
e1e00 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e 1e 3f 74 00 0b 73 69 7a 65 5f 74 w.....t..stdlib.hxq.~.?t..size_t
e1e20 20 73 69 7a 65 74 00 06 76 6f 69 64 20 2a 74 00 09 76 61 73 70 72 69 6e 74 66 73 71 00 7e 00 0a .sizet..void.*t..vasprintfsq.~..
e1e40 70 74 00 b9 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 76 61 73 70 72 69 6e 74 66 pt...........The.<CODE>vasprintf
e1e60 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 </CODE>.function.is.the.equivale
e1e80 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 61 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 nt.of.<CODE>asprintf</CODE>.with
e1ea0 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 61 72 67 75 6d 65 6e 74 20 .the..........variable.argument.
e1ec0 6c 69 73 74 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6c 79 20 61 73 20 66 6f 72 20 3c list.specified.directly.as.for.<
e1ee0 43 4f 44 45 3e 76 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 CODE>vprintf</CODE>..........sq.
e1f00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1e 46 74 00 2c ~......w.....t..stdio.hxq.~.Ft.,
e1f20 63 68 61 72 20 2a 2a 70 74 72 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 char.**ptr,.const.char.*template
e1f40 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 03 69 6e 74 74 00 04 76 65 72 72 73 71 00 7e 00 0a 70 ,.va_list.apt..intt..verrsq.~..p
e1f60 74 00 eb 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 76 65 72 72 3c 2f 43 4f 44 45 t...........The.<CODE>verr</CODE
e1f80 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 65 72 >.function.is.just.like.<CODE>er
e1fa0 72 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 r</CODE>.except.that.the........
e1fc0 20 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 74 68 65 20 68 61 6e 64 6c 69 6e 67 20 6f 66 ..parameters.for.the.handling.of
e1fe0 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 66 6f 72 6d 61 74 3c 2f .the.format.string.<VAR>format</
e2000 56 41 52 3e 20 61 72 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 61 73 20 61 VAR>.are.passed..........in.as.a
e2020 6e 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 76 61 5f 6c 69 73 74 3c 2f 43 n.value.of.type.<CODE>va_list</C
e2040 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 ODE>..........sq.~......w.....t.
e2060 05 65 72 72 2e 68 78 71 00 7e 1e 4d 74 00 27 69 6e 74 20 73 74 61 74 75 73 2c 20 63 6f 6e 73 74 .err.hxq.~.Mt.'int.status,.const
e2080 20 63 68 61 72 20 2a 66 6f 72 6d 61 74 2c 20 76 61 5f 6c 69 73 74 74 00 04 76 6f 69 64 74 00 05 .char.*format,.va_listt..voidt..
e20a0 76 65 72 72 78 73 71 00 7e 00 0a 70 74 00 ed 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 verrxsq.~..pt...........The.<COD
e20c0 45 3e 76 65 72 72 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6a 75 73 74 20 E>verrx</CODE>.function.is.just.
e20e0 6c 69 6b 65 20 3c 43 4f 44 45 3e 65 72 72 78 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 like.<CODE>errx</CODE>.except.th
e2100 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 74 at.the..........parameters.for.t
e2120 68 65 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 he.handling.of.the.format.string
e2140 20 3c 56 41 52 3e 66 6f 72 6d 61 74 3c 2f 56 41 52 3e 20 61 72 65 20 70 61 73 73 65 64 0a 20 20 .<VAR>format</VAR>.are.passed...
e2160 20 20 20 20 20 20 20 69 6e 20 61 73 20 61 6e 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 43 .......in.as.an.value.of.type.<C
e2180 4f 44 45 3e 76 61 5f 6c 69 73 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e ODE>va_list</CODE>..........sq.~
e21a0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 65 72 72 2e 68 78 71 00 7e 1e 54 74 00 27 69 6e 74 ......w.....t..err.hxq.~.Tt.'int
e21c0 20 73 74 61 74 75 73 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f 72 6d 61 74 2c 20 76 61 5f .status,.const.char.*format,.va_
e21e0 6c 69 73 74 74 00 04 76 6f 69 64 74 00 0b 76 65 72 73 69 6f 6e 73 6f 72 74 73 71 00 7e 00 0a 70 listt..voidt..versionsortsq.~..p
e2200 74 00 a4 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 76 65 72 73 69 6f 6e 73 6f 72 t...........The.<CODE>versionsor
e2220 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e t</CODE>.function.is.like.<CODE>
e2240 61 6c 70 68 61 73 6f 72 74 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 0a alphasort</CODE>.except.that.it.
e2260 20 20 20 20 20 20 20 20 20 75 73 65 73 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 76 65 72 73 63 .........uses.the.<CODE>strversc
e2280 6d 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 6e 61 6c 6c 79 2e 0a 20 mp</CODE>.function.internally...
e22a0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 64 69 72 65 6e 74 .......sq.~......w.....t..dirent
e22c0 2e 68 78 71 00 7e 1e 5b 74 00 1c 63 6f 6e 73 74 20 76 6f 69 64 20 2a 61 2c 20 63 6f 6e 73 74 20 .hxq.~.[t..const.void.*a,.const.
e22e0 76 6f 69 64 20 2a 62 74 00 03 69 6e 74 74 00 0d 76 65 72 73 69 6f 6e 73 6f 72 74 36 34 73 71 00 void.*bt..intt..versionsort64sq.
e2300 7e 00 0a 70 74 00 ab 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 76 65 72 73 69 6f ~..pt...........The.<CODE>versio
e2320 6e 73 6f 72 74 36 34 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 nsort64</CODE>.function.is.like.
e2340 3c 43 4f 44 45 3e 61 6c 70 68 61 73 6f 72 74 36 34 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 <CODE>alphasort64</CODE>,.except
e2360 65 64 20 74 68 61 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 75 73 65 73 20 74 68 65 20 3c 43 4f ed.that.it..........uses.the.<CO
e2380 44 45 3e 73 74 72 76 65 72 73 63 6d 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6e DE>strverscmp</CODE>.function.in
e23a0 74 65 72 6e 61 6c 6c 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 ternally..........sq.~......w...
e23c0 00 0a 74 00 08 64 69 72 65 6e 74 2e 68 78 71 00 7e 1e 62 74 00 1c 63 6f 6e 73 74 20 76 6f 69 64 ..t..dirent.hxq.~.bt..const.void
e23e0 20 2a 61 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 62 74 00 03 69 6e 74 74 00 05 76 66 6f 72 6b .*a,.const.void.*bt..intt..vfork
e2400 73 71 00 7e 00 0a 70 74 06 29 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 76 66 6f sq.~..pt.).........The.<CODE>vfo
e2420 72 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f rk</CODE>.function.is.similar.to
e2440 20 3c 43 4f 44 45 3e 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 62 75 74 20 6f 6e 20 73 6f 6d 65 20 73 .<CODE>fork</CODE>.but.on.some.s
e2460 79 73 74 65 6d 73 0a 20 20 20 20 20 20 20 20 20 69 74 20 69 73 20 6d 6f 72 65 20 65 66 66 69 63 ystems..........it.is.more.effic
e2480 69 65 6e 74 3b 20 68 6f 77 65 76 65 72 2c 20 74 68 65 72 65 20 61 72 65 20 72 65 73 74 72 69 63 ient;.however,.there.are.restric
e24a0 74 69 6f 6e 73 20 79 6f 75 20 6d 75 73 74 20 66 6f 6c 6c 6f 77 20 74 6f 0a 20 20 20 20 20 20 20 tions.you.must.follow.to........
e24c0 20 20 75 73 65 20 69 74 20 73 61 66 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 ..use.it.safely...........<br><b
e24e0 72 3e 20 57 68 69 6c 65 20 3c 43 4f 44 45 3e 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 6d 61 6b 65 73 r>.While.<CODE>fork</CODE>.makes
e2500 20 61 20 63 6f 6d 70 6c 65 74 65 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 .a.complete.copy.of.the.calling.
e2520 70 72 6f 63 65 73 73 27 73 20 61 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 73 70 61 63 65 process's.address..........space
e2540 20 61 6e 64 20 61 6c 6c 6f 77 73 20 62 6f 74 68 20 74 68 65 20 70 61 72 65 6e 74 20 61 6e 64 20 .and.allows.both.the.parent.and.
e2560 63 68 69 6c 64 20 74 6f 20 65 78 65 63 75 74 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 2c 0a child.to.execute.independently,.
e2580 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 76 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 64 6f 65 73 .........<CODE>vfork</CODE>.does
e25a0 20 6e 6f 74 20 6d 61 6b 65 20 74 68 69 73 20 63 6f 70 79 2e 20 20 49 6e 73 74 65 61 64 2c 20 74 .not.make.this.copy...Instead,.t
e25c0 68 65 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 63 72 65 61 74 65 he.child.process..........create
e25e0 64 20 77 69 74 68 20 3c 43 4f 44 45 3e 76 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 73 68 61 72 65 73 d.with.<CODE>vfork</CODE>.shares
e2600 20 69 74 73 20 70 61 72 65 6e 74 27 73 20 61 64 64 72 65 73 73 20 73 70 61 63 65 20 75 6e 74 69 .its.parent's.address.space.unti
e2620 6c 20 69 74 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 73 20 3c 43 4f 44 45 3e 5f 65 78 69 74 3c l.it..........calls.<CODE>_exit<
e2640 2f 43 4f 44 45 3e 20 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 65 78 65 63 3c /CODE>.or.one.of.the.<CODE>exec<
e2660 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 20 20 49 6e 20 74 68 65 0a 20 20 20 20 20 20 /CODE>.functions...In.the.......
e2680 20 20 20 6d 65 61 6e 74 69 6d 65 2c 20 74 68 65 20 70 61 72 65 6e 74 20 70 72 6f 63 65 73 73 20 ...meantime,.the.parent.process.
e26a0 73 75 73 70 65 6e 64 73 20 65 78 65 63 75 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 suspends.execution...........<br
e26c0 3e 3c 62 72 3e 20 59 6f 75 20 6d 75 73 74 20 62 65 20 76 65 72 79 20 63 61 72 65 66 75 6c 20 6e ><br>.You.must.be.very.careful.n
e26e0 6f 74 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 63 72 ot.to.allow.the.child.process.cr
e2700 65 61 74 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 76 66 6f 72 6b 3c eated.with..........<CODE>vfork<
e2720 2f 43 4f 44 45 3e 20 74 6f 20 6d 6f 64 69 66 79 20 61 6e 79 20 67 6c 6f 62 61 6c 20 64 61 74 61 /CODE>.to.modify.any.global.data
e2740 20 6f 72 20 65 76 65 6e 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 73 68 61 72 65 64 0a .or.even.local.variables.shared.
e2760 20 20 20 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 70 61 72 65 6e 74 2e 20 20 46 75 72 74 68 .........with.the.parent...Furth
e2780 65 72 6d 6f 72 65 2c 20 74 68 65 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 63 61 6e 6e 6f 74 ermore,.the.child.process.cannot
e27a0 20 72 65 74 75 72 6e 20 66 72 6f 6d 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 64 6f 20 61 20 6c .return.from.(or..........do.a.l
e27c0 6f 6e 67 20 6a 75 6d 70 20 6f 75 74 20 6f 66 29 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 68 ong.jump.out.of).the.function.th
e27e0 61 74 20 63 61 6c 6c 65 64 20 3c 43 4f 44 45 3e 76 66 6f 72 6b 3c 2f 43 4f 44 45 3e 21 20 20 54 at.called.<CODE>vfork</CODE>!..T
e2800 68 69 73 0a 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20 6c 65 61 76 65 20 74 68 65 20 70 61 72 his..........would.leave.the.par
e2820 65 6e 74 20 70 72 6f 63 65 73 73 27 73 20 63 6f 6e 74 72 6f 6c 20 69 6e 66 6f 72 6d 61 74 69 6f ent.process's.control.informatio
e2840 6e 20 76 65 72 79 20 63 6f 6e 66 75 73 65 64 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 69 6e n.very.confused...If..........in
e2860 20 64 6f 75 62 74 2c 20 75 73 65 20 3c 43 4f 44 45 3e 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 69 6e .doubt,.use.<CODE>fork</CODE>.in
e2880 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 6f 6d 65 20 6f 70 stead...........<br><br>.Some.op
e28a0 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 64 6f 6e 27 74 20 72 65 61 6c 6c 79 20 69 6d 70 erating.systems.don't.really.imp
e28c0 6c 65 6d 65 6e 74 20 3c 43 4f 44 45 3e 76 66 6f 72 6b 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 lement.<CODE>vfork</CODE>...The.
e28e0 47 4e 55 20 43 0a 20 20 20 20 20 20 20 20 20 6c 69 62 72 61 72 79 20 70 65 72 6d 69 74 73 20 79 GNU.C..........library.permits.y
e2900 6f 75 20 74 6f 20 75 73 65 20 3c 43 4f 44 45 3e 76 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 6f 6e 20 ou.to.use.<CODE>vfork</CODE>.on.
e2920 61 6c 6c 20 73 79 73 74 65 6d 73 2c 20 62 75 74 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 all.systems,.but.actually.......
e2940 20 20 20 65 78 65 63 75 74 65 73 20 3c 43 4f 44 45 3e 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 69 66 ...executes.<CODE>fork</CODE>.if
e2960 20 3c 43 4f 44 45 3e 76 66 6f 72 6b 3c 2f 43 4f 44 45 3e 20 69 73 6e 27 74 20 61 76 61 69 6c 61 .<CODE>vfork</CODE>.isn't.availa
e2980 62 6c 65 2e 20 20 49 66 20 79 6f 75 20 66 6f 6c 6c 6f 77 0a 20 20 20 20 20 20 20 20 20 74 68 65 ble...If.you.follow..........the
e29a0 20 70 72 6f 70 65 72 20 70 72 65 63 61 75 74 69 6f 6e 73 20 66 6f 72 20 75 73 69 6e 67 20 3c 43 .proper.precautions.for.using.<C
e29c0 4f 44 45 3e 76 66 6f 72 6b 3c 2f 43 4f 44 45 3e 2c 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 77 ODE>vfork</CODE>,.your.program.w
e29e0 69 6c 6c 20 73 74 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 77 6f 72 6b 20 65 76 65 6e 20 69 66 20 ill.still..........work.even.if.
e2a00 74 68 65 20 73 79 73 74 65 6d 20 75 73 65 73 20 3c 43 4f 44 45 3e 66 6f 72 6b 3c 2f 43 4f 44 45 the.system.uses.<CODE>fork</CODE
e2a20 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 >.instead..........sq.~......w..
e2a40 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 1e 69 74 00 04 76 6f 69 64 74 00 05 70 69 ...t..unistd.hxq.~.it..voidt..pi
e2a60 64 5f 74 74 00 08 76 66 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 00 99 0a 20 20 20 20 20 20 20 d_tt..vfprintfsq.~..pt..........
e2a80 20 54 68 69 73 20 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 3c 43 4f 44 45 .This.is.the.equivalent.of.<CODE
e2aa0 3e 66 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 76 61 72 69 61 62 6c >fprintf</CODE>.with.the.variabl
e2ac0 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 e.argument.list..........specifi
e2ae0 65 64 20 64 69 72 65 63 74 6c 79 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 76 70 72 69 6e 74 66 ed.directly.as.for.<CODE>vprintf
e2b00 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 </CODE>..........sq.~......w....
e2b20 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1e 70 74 00 2e 46 49 4c 45 20 2a 73 74 72 65 61 6d .t..stdio.hxq.~.pt..FILE.*stream
e2b40 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 ,.const.char.*template,.va_list.
e2b60 61 70 74 00 03 69 6e 74 74 00 07 76 66 73 63 61 6e 66 73 71 00 7e 00 0a 70 74 00 97 0a 20 20 20 apt..intt..vfscanfsq.~..pt......
e2b80 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 3c .....This.is.the.equivalent.of.<
e2ba0 43 4f 44 45 3e 66 73 63 61 6e 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 76 61 72 69 CODE>fscanf</CODE>.with.the.vari
e2bc0 61 62 6c 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 able.argument.list..........spec
e2be0 69 66 69 65 64 20 64 69 72 65 63 74 6c 79 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 76 73 63 61 ified.directly.as.for.<CODE>vsca
e2c00 6e 66 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 nf</CODE>..........sq.~......w..
e2c20 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1e 77 74 00 2e 46 49 4c 45 20 2a 73 74 72 65 ...t..stdio.hxq.~.wt..FILE.*stre
e2c40 61 6d 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 am,.const.char.*template,.va_lis
e2c60 74 20 61 70 74 00 03 69 6e 74 74 00 09 76 66 77 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 00 9b t.apt..intt..vfwprintfsq.~..pt..
e2c80 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 .........This.is.the.equivalent.
e2ca0 6f 66 20 3c 43 4f 44 45 3e 66 77 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 of.<CODE>fwprintf</CODE>.with.th
e2cc0 65 20 76 61 72 69 61 62 6c 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 e.variable.argument.list........
e2ce0 20 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6c 79 20 61 73 20 66 6f 72 20 3c 43 4f 44 ..specified.directly.as.for.<COD
e2d00 45 3e 76 77 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 E>vwprintf</CODE>..........sq.~.
e2d20 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1e 7e 74 00 31 46 49 .....w.....t..wchar.hxq.~.~t.1FI
e2d40 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 74 65 6d 70 6c LE.*stream,.const.wchar_t.*templ
e2d60 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 03 69 6e 74 74 00 08 76 66 77 73 63 61 6e 66 ate,.va_list.apt..intt..vfwscanf
e2d80 73 71 00 7e 00 0a 70 74 00 99 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 65 sq.~..pt...........This.is.the.e
e2da0 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 66 77 73 63 61 6e 66 3c 2f 43 4f 44 45 quivalent.of.<CODE>fwscanf</CODE
e2dc0 3e 20 77 69 74 68 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 >.with.the.variable.argument.lis
e2de0 74 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6c 79 20 61 73 t..........specified.directly.as
e2e00 20 66 6f 72 20 3c 43 4f 44 45 3e 76 77 73 63 61 6e 66 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 .for.<CODE>vwscanf</CODE>.......
e2e20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 ...sq.~......w.....t..wchar.hxq.
e2e40 7e 1e 85 74 00 31 46 49 4c 45 20 2a 73 74 72 65 61 6d 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f ~..t.1FILE.*stream,.const.wchar_
e2e60 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 03 69 6e 74 74 00 06 t.*template,.va_list.apt..intt..
e2e80 76 6c 69 6d 69 74 73 71 00 7e 00 0a 70 74 05 1a 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 vlimitsq.~..pt...........<br><br
e2ea0 3e 20 3c 43 4f 44 45 3e 76 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 20 73 65 74 73 20 74 68 65 20 63 >.<CODE>vlimit</CODE>.sets.the.c
e2ec0 75 72 72 65 6e 74 20 6c 69 6d 69 74 20 66 6f 72 20 61 20 72 65 73 6f 75 72 63 65 20 66 6f 72 20 urrent.limit.for.a.resource.for.
e2ee0 61 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 56 41 a.process...........<br><br>.<VA
e2f00 52 3e 72 65 73 6f 75 72 63 65 3c 2f 56 41 52 3e 20 69 64 65 6e 74 69 66 69 65 73 20 74 68 65 20 R>resource</VAR>.identifies.the.
e2f20 72 65 73 6f 75 72 63 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e resource:..........<br><br>.<DL>
e2f40 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 49 4d 5f 43 50 55 3c 2f 43 4f ...........<DT><CODE>LIM_CPU</CO
e2f60 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4d 61 78 69 6d 75 6d 20 43 50 55 20 74 69 DE>.<DD>..........Maximum.CPU.ti
e2f80 6d 65 2e 20 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 52 4c 49 4d 49 54 5f 43 50 55 3c 2f 43 me...Same.as.<CODE>RLIMIT_CPU</C
e2fa0 4f 44 45 3e 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 72 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 2e ODE>.for.<CODE>setrlimit</CODE>.
e2fc0 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 49 4d 5f 46 53 49 5a 45 3c 2f 43 ..........<DT><CODE>LIM_FSIZE</C
e2fe0 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4d 61 78 69 6d 75 6d 20 66 69 6c 65 20 ODE>.<DD>..........Maximum.file.
e3000 73 69 7a 65 2e 20 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 52 4c 49 4d 49 54 5f 46 53 49 5a size...Same.as.<CODE>RLIMIT_FSIZ
e3020 45 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 72 6c 69 6d 69 74 3c 2f 43 4f E</CODE>.for.<CODE>setrlimit</CO
e3040 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 49 4d 5f 44 41 54 41 DE>...........<DT><CODE>LIM_DATA
e3060 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4d 61 78 69 6d 75 6d 20 64 61 </CODE>.<DD>..........Maximum.da
e3080 74 61 20 6d 65 6d 6f 72 79 2e 20 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 52 4c 49 4d 49 54 ta.memory...Same.as.<CODE>RLIMIT
e30a0 5f 44 41 54 41 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 72 6c 69 6d 69 74 _DATA</CODE>.for.<CODE>setrlimit
e30c0 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 4c 49 4d 5f </CODE>...........<DT><CODE>LIM_
e30e0 53 54 41 43 4b 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4d 61 78 69 6d STACK</CODE>.<DD>..........Maxim
e3100 75 6d 20 73 74 61 63 6b 20 73 69 7a 65 2e 20 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 52 4c um.stack.size...Same.as.<CODE>RL
e3120 49 4d 49 54 5f 53 54 41 43 4b 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 72 IMIT_STACK</CODE>.for.<CODE>setr
e3140 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 limit</CODE>...........<DT><CODE
e3160 3e 4c 49 4d 5f 43 4f 52 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4d >LIM_CORE</CODE>.<DD>..........M
e3180 61 78 69 6d 75 6d 20 63 6f 72 65 20 66 69 6c 65 20 73 69 7a 65 2e 20 20 53 61 6d 65 20 61 73 20 aximum.core.file.size...Same.as.
e31a0 3c 43 4f 44 45 3e 52 4c 49 4d 49 54 5f 43 4f 52 3c 2f 43 4f 44 45 3e 20 66 6f 72 20 3c 43 4f 44 <CODE>RLIMIT_COR</CODE>.for.<COD
e31c0 45 3e 73 65 74 72 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 E>setrlimit</CODE>...........<DT
e31e0 3e 3c 43 4f 44 45 3e 4c 49 4d 5f 4d 41 58 52 53 53 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 ><CODE>LIM_MAXRSS</CODE>.<DD>...
e3200 20 20 20 20 20 20 20 4d 61 78 69 6d 75 6d 20 70 68 79 73 69 63 61 6c 20 6d 65 6d 6f 72 79 2e 20 .......Maximum.physical.memory..
e3220 20 53 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 52 4c 49 4d 49 54 5f 52 53 53 3c 2f 43 4f 44 45 3e .Same.as.<CODE>RLIMIT_RSS</CODE>
e3240 20 66 6f 72 20 3c 43 4f 44 45 3e 73 65 74 72 6c 69 6d 69 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 .for.<CODE>setrlimit</CODE>.....
e3260 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 ......</DL>..........<br><br>.Th
e3280 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 20 66 6f 72 20 73 75 63 63 65 e.return.value.is.zero.for.succe
e32a0 73 73 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 3c 43 4f ss,.and.<CODE>-1</CODE>.with.<CO
e32c0 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 61 63 63 DE>errno</CODE>.set..........acc
e32e0 6f 72 64 69 6e 67 6c 79 20 66 6f 72 20 66 61 69 6c 75 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c ordingly.for.failure:..........<
e3300 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 br><br>.<DL>...........<DT><CODE
e3320 3e 45 50 45 52 4d 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 >EPERM</CODE>.<DD>..........The.
e3340 70 72 6f 63 65 73 73 20 74 72 69 65 64 20 74 6f 20 73 65 74 20 69 74 73 20 63 75 72 72 65 6e 74 process.tried.to.set.its.current
e3360 20 6c 69 6d 69 74 20 62 65 79 6f 6e 64 20 69 74 73 20 6d 61 78 69 6d 75 6d 20 6c 69 6d 69 74 2e .limit.beyond.its.maximum.limit.
e3380 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ..........</DL>..........<br><br
e33a0 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0c 73 79 73 >.........sq.~......w.....t..sys
e33c0 2f 76 6c 69 6d 69 74 2e 68 78 71 00 7e 1e 8c 74 00 17 69 6e 74 20 72 65 73 6f 75 72 63 65 2c 20 /vlimit.hxq.~..t..int.resource,.
e33e0 69 6e 74 20 6c 69 6d 69 74 74 00 03 69 6e 74 74 00 07 76 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 int.limitt..intt..vprintfsq.~..p
e3400 74 00 cc 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d t...........This.function.is.sim
e3420 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 65 78 63 65 ilar.to.<CODE>printf</CODE>.exce
e3440 70 74 20 74 68 61 74 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 74 61 6b 69 6e 67 0a 20 20 20 20 20 pt.that,.instead.of.taking......
e3460 20 20 20 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e ....a.variable.number.of.argumen
e3480 74 73 20 64 69 72 65 63 74 6c 79 2c 20 69 74 20 74 61 6b 65 73 20 61 6e 20 61 72 67 75 6d 65 6e ts.directly,.it.takes.an.argumen
e34a0 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 3c 56 41 52 3e 61 70 3c t.list..........pointer.<VAR>ap<
e34c0 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 /VAR>..........sq.~......w.....t
e34e0 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1e 93 74 00 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 ..stdio.hxq.~..t..const.char.*te
e3500 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 03 69 6e 74 74 00 06 76 73 63 61 6e mplate,.va_list.apt..intt..vscan
e3520 66 73 71 00 7e 00 0a 70 74 00 e1 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f fsq.~..pt...........This.functio
e3540 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 73 63 61 6e 66 3c 2f 43 4f 44 n.is.similar.to.<CODE>scanf</COD
e3560 45 3e 2c 20 62 75 74 20 69 6e 73 74 65 61 64 20 6f 66 20 74 61 6b 69 6e 67 0a 20 20 20 20 20 20 E>,.but.instead.of.taking.......
e3580 20 20 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 ...a.variable.number.of.argument
e35a0 73 20 64 69 72 65 63 74 6c 79 2c 20 69 74 20 74 61 6b 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 s.directly,.it.takes.an.argument
e35c0 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 3c 56 41 52 3e 61 70 3c 2f .list..........pointer.<VAR>ap</
e35e0 56 41 52 3e 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 76 61 5f 6c 69 73 74 3c 2f 43 4f 44 45 VAR>.of.type.<CODE>va_list</CODE
e3600 3e 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 >...........sq.~......w.....t..s
e3620 74 64 69 6f 2e 68 78 71 00 7e 1e 9a 74 00 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c tdio.hxq.~..t..const.char.*templ
e3640 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 03 69 6e 74 74 00 09 76 73 6e 70 72 69 6e 74 ate,.va_list.apt..intt..vsnprint
e3660 66 73 71 00 7e 00 0a 70 74 00 9a 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 fsq.~..pt...........This.is.the.
e3680 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 73 6e 70 72 69 6e 74 66 3c 2f 43 4f equivalent.of.<CODE>snprintf</CO
e36a0 44 45 3e 20 77 69 74 68 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 72 67 75 6d 65 6e 74 20 6c DE>.with.the.variable.argument.l
e36c0 69 73 74 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6c 79 20 ist..........specified.directly.
e36e0 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 76 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 as.for.<CODE>vprintf</CODE>.....
e3700 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 .....sq.~......w.....t..stdio.hx
e3720 71 00 7e 1e a1 74 00 36 63 68 61 72 20 2a 73 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 63 6f q.~..t.6char.*s,.size_t.size,.co
e3740 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 nst.char.*template,.va_list.apt.
e3760 03 69 6e 74 74 00 08 76 73 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 00 99 0a 20 20 20 20 20 20 .intt..vsprintfsq.~..pt.........
e3780 20 20 54 68 69 73 20 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 3c 43 4f 44 ..This.is.the.equivalent.of.<COD
e37a0 45 3e 73 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 76 61 72 69 61 62 E>sprintf</CODE>.with.the.variab
e37c0 6c 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 le.argument.list..........specif
e37e0 69 65 64 20 64 69 72 65 63 74 6c 79 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 76 70 72 69 6e 74 ied.directly.as.for.<CODE>vprint
e3800 66 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 f</CODE>..........sq.~......w...
e3820 00 0a 74 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1e a8 74 00 29 63 68 61 72 20 2a 73 2c 20 63 6f ..t..stdio.hxq.~..t.)char.*s,.co
e3840 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 nst.char.*template,.va_list.apt.
e3860 03 69 6e 74 74 00 07 76 73 73 63 61 6e 66 73 71 00 7e 00 0a 70 74 00 97 0a 20 20 20 20 20 20 20 .intt..vsscanfsq.~..pt..........
e3880 20 54 68 69 73 20 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 3c 43 4f 44 45 .This.is.the.equivalent.of.<CODE
e38a0 3e 73 73 63 61 6e 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 76 61 72 69 61 62 6c 65 >sscanf</CODE>.with.the.variable
e38c0 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 .argument.list..........specifie
e38e0 64 20 64 69 72 65 63 74 6c 79 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 76 73 63 61 6e 66 3c 2f d.directly.as.for.<CODE>vscanf</
e3900 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 CODE>..........sq.~......w.....t
e3920 00 07 73 74 64 69 6f 2e 68 78 71 00 7e 1e af 74 00 2f 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c ..stdio.hxq.~..t./const.char.*s,
e3940 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 .const.char.*template,.va_list.a
e3960 70 74 00 03 69 6e 74 74 00 09 76 73 77 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 74 00 9b 0a 20 20 pt..intt..vswprintfsq.~..pt.....
e3980 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 ......This.is.the.equivalent.of.
e39a0 3c 43 4f 44 45 3e 73 77 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 76 <CODE>swprintf</CODE>.with.the.v
e39c0 61 72 69 61 62 6c 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 73 ariable.argument.list..........s
e39e0 70 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6c 79 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 76 pecified.directly.as.for.<CODE>v
e3a00 77 70 72 69 6e 74 66 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 wprintf</CODE>..........sq.~....
e3a20 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1e b6 74 00 3c 77 63 68 61 72 ..w.....t..wchar.hxq.~..t.<wchar
e3a40 5f 74 20 2a 73 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f _t.*s,.size_t.size,.const.wchar_
e3a60 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 03 69 6e 74 74 00 08 t.*template,.va_list.apt..intt..
e3a80 76 73 77 73 63 61 6e 66 73 71 00 7e 00 0a 70 74 00 99 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 vswscanfsq.~..pt...........This.
e3aa0 69 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 3c 43 4f 44 45 3e 73 77 73 63 61 is.the.equivalent.of.<CODE>swsca
e3ac0 6e 66 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 72 67 75 nf</CODE>.with.the.variable.argu
e3ae0 6d 65 6e 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 64 20 64 69 72 ment.list..........specified.dir
e3b00 65 63 74 6c 79 20 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 76 77 73 63 61 6e 66 3c 2f 43 4f 44 45 ectly.as.for.<CODE>vwscanf</CODE
e3b20 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 >..........sq.~......w.....t..wc
e3b40 68 61 72 2e 68 78 71 00 7e 1e bd 74 00 35 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 73 2c 20 har.hxq.~..t.5const.wchar_t.*s,.
e3b60 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 const.wchar_t.*template,.va_list
e3b80 20 61 70 74 00 03 69 6e 74 74 00 07 76 73 79 73 6c 6f 67 73 71 00 7e 00 0a 70 74 00 99 0a 20 20 .apt..intt..vsyslogsq.~..pt.....
e3ba0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 69 73 20 66 75 6e 63 74 69 6f 6e 61 ......<br><br>.This.is.functiona
e3bc0 6c 6c 79 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 3c 43 4f 44 45 3e 73 79 73 6c 6f 67 3c 2f 43 lly.identical.to.<CODE>syslog</C
e3be0 4f 44 45 3e 2c 20 77 69 74 68 20 74 68 65 20 42 53 44 20 73 74 79 6c 65 20 76 61 72 69 61 62 6c ODE>,.with.the.BSD.style.variabl
e3c00 65 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 e..........length.argument......
e3c20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 .....<br><br>.........sq.~......
e3c40 77 04 00 00 00 0a 74 00 08 73 79 73 6c 6f 67 2e 68 78 71 00 7e 1e c4 74 00 34 69 6e 74 20 66 61 w.....t..syslog.hxq.~..t.4int.fa
e3c60 63 69 6c 69 74 79 5f 70 72 69 6f 72 69 74 79 2c 20 63 68 61 72 20 2a 66 6f 72 6d 61 74 2c 20 76 cility_priority,.char.*format,.v
e3c80 61 5f 6c 69 73 74 20 61 72 67 6c 69 73 74 74 00 04 76 6f 69 64 74 00 06 76 74 69 6d 65 73 73 71 a_list.arglistt..voidt..vtimessq
e3ca0 00 7e 00 0a 70 74 09 22 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e .~..pt.".........<br><br>.<CODE>
e3cc0 76 74 69 6d 65 73 3c 2f 43 4f 44 45 3e 20 72 65 70 6f 72 74 73 20 72 65 73 6f 75 72 63 65 20 75 vtimes</CODE>.reports.resource.u
e3ce0 73 61 67 65 20 74 6f 74 61 6c 73 20 66 6f 72 20 61 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 sage.totals.for.a.process.......
e3d00 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 63 75 72 72 65 6e 74 3c 2f 56 41 ....<br><br>.If.<VAR>current</VA
e3d20 52 3e 20 69 73 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 3c 43 4f 44 45 3e 76 74 69 6d 65 73 3c 2f 43 4f R>.is.non-null,.<CODE>vtimes</CO
e3d40 44 45 3e 20 73 74 6f 72 65 73 20 72 65 73 6f 75 72 63 65 20 75 73 61 67 65 20 74 6f 74 61 6c 73 DE>.stores.resource.usage.totals
e3d60 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 69 6e 76 6f 6b 69 6e 67 20 70 72 6f 63 65 .for..........the.invoking.proce
e3d80 73 73 20 61 6c 6f 6e 65 20 69 6e 20 74 68 65 20 73 74 72 75 63 74 75 72 65 20 74 6f 20 77 68 69 ss.alone.in.the.structure.to.whi
e3da0 63 68 20 69 74 20 70 6f 69 6e 74 73 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e ch.it.points...If..........<VAR>
e3dc0 63 68 69 6c 64 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 3c 43 4f 44 45 3e 76 child</VAR>.is.non-null,.<CODE>v
e3de0 74 69 6d 65 73 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 73 20 72 65 73 6f 75 72 63 65 20 75 73 61 times</CODE>.stores.resource.usa
e3e00 67 65 20 74 6f 74 61 6c 73 20 66 6f 72 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 61 73 74 20 ge.totals.for.all..........past.
e3e20 63 68 69 6c 64 72 65 6e 20 28 77 68 69 63 68 20 68 61 76 65 20 74 65 72 6d 69 6e 61 74 65 64 29 children.(which.have.terminated)
e3e40 20 6f 66 20 74 68 65 20 69 6e 76 6f 6b 69 6e 67 20 70 72 6f 63 65 73 73 20 69 6e 20 74 68 65 20 .of.the.invoking.process.in.the.
e3e60 73 74 72 75 63 74 75 72 65 0a 20 20 20 20 20 20 20 20 20 74 6f 20 77 68 69 63 68 20 69 74 20 70 structure..........to.which.it.p
e3e80 6f 69 6e 74 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 68 34 3e 44 61 74 oints...........<br><br>.<h4>Dat
e3ea0 61 20 54 79 70 65 20 2d 20 73 74 72 75 63 74 20 76 74 69 6d 65 73 3c 2f 68 34 3e 0a 20 20 20 20 a.Type.-.struct.vtimes</h4>.....
e3ec0 20 20 20 20 20 54 68 69 73 20 64 61 74 61 20 74 79 70 65 20 63 6f 6e 74 61 69 6e 73 20 69 6e 66 .....This.data.type.contains.inf
e3ee0 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 72 65 73 6f 75 72 63 65 20 75 73 61 67 ormation.about.the.resource.usag
e3f00 65 20 6f 66 20 61 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 20 45 61 63 68 20 6d 65 e.of.a.process...........Each.me
e3f20 6d 62 65 72 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 mber.corresponds.to.a.member.of.
e3f40 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 20 64 the.<CODE>struct.rusage</CODE>.d
e3f60 61 74 61 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 ata.type..........described.abov
e3f80 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 e...........<br><br>.<DL>.......
e3fa0 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 76 6d 5f 75 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a 3c 44 ....<DT><CODE>vm_utime</CODE>.<D
e3fc0 44 3e 0a 20 20 20 20 20 20 20 20 20 55 73 65 72 20 43 50 55 20 74 69 6d 65 2e 20 20 41 6e 61 6c D>..........User.CPU.time...Anal
e3fe0 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 72 75 5f 75 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 69 ogous.to.<CODE>ru_utime</CODE>.i
e4000 6e 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 n.<CODE>struct.rusage</CODE>....
e4020 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 76 6d 5f 73 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a ......<DT><CODE>vm_stime</CODE>.
e4040 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 20 43 50 55 20 74 69 6d 65 2e 20 20 <DD>..........System.CPU.time...
e4060 41 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 72 75 5f 73 74 69 6d 65 3c 2f 43 4f 44 Analogous.to.<CODE>ru_stime</COD
e4080 45 3e 20 69 6e 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e E>.in.<CODE>struct.rusage</CODE>
e40a0 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 76 6d 5f 69 64 73 72 73 73 3c 2f 43 ..........<DT><CODE>vm_idsrss</C
e40c0 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 44 61 74 61 20 61 6e 64 20 73 74 61 63 ODE>.<DD>..........Data.and.stac
e40e0 6b 20 6d 65 6d 6f 72 79 2e 20 20 54 68 65 20 73 75 6d 20 6f 66 20 74 68 65 20 76 61 6c 75 65 73 k.memory...The.sum.of.the.values
e4100 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 72 65 70 6f 72 74 65 64 20 61 73 0a 20 20 20 20 20 .that.would.be.reported.as......
e4120 20 20 20 20 3c 43 4f 44 45 3e 72 75 5f 69 64 72 73 73 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 ....<CODE>ru_idrss</CODE>.and.<C
e4140 4f 44 45 3e 72 75 5f 69 73 72 73 73 3c 2f 43 4f 44 45 3e 20 69 6e 20 3c 43 4f 44 45 3e 73 74 72 ODE>ru_isrss</CODE>.in.<CODE>str
e4160 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c uct.rusage</CODE>..........<DT><
e4180 43 4f 44 45 3e 76 6d 5f 69 78 72 73 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 CODE>vm_ixrss</CODE>.<DD>.......
e41a0 20 20 20 53 68 61 72 65 64 20 6d 65 6d 6f 72 79 2e 20 20 41 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 ...Shared.memory...Analogous.to.
e41c0 3c 43 4f 44 45 3e 72 75 5f 69 78 72 73 73 3c 2f 43 4f 44 45 3e 20 69 6e 20 3c 43 4f 44 45 3e 73 <CODE>ru_ixrss</CODE>.in.<CODE>s
e41e0 74 72 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 truct.rusage</CODE>..........<DT
e4200 3e 3c 43 4f 44 45 3e 76 6d 5f 6d 61 78 72 73 73 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 ><CODE>vm_maxrss</CODE>.<DD>....
e4220 20 20 20 20 20 20 4d 61 78 69 6d 65 6e 74 20 72 65 73 69 64 65 6e 74 20 73 65 74 20 73 69 7a 65 ......Maximent.resident.set.size
e4240 2e 20 20 41 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 72 75 5f 6d 61 78 72 73 73 3c ...Analogous.to.<CODE>ru_maxrss<
e4260 2f 43 4f 44 45 3e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 /CODE>.in..........<CODE>struct.
e4280 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 rusage</CODE>..........<DT><CODE
e42a0 3e 76 6d 5f 6d 61 6a 66 6c 74 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 >vm_majflt</CODE>.<DD>..........
e42c0 4d 61 6a 6f 72 20 70 61 67 65 20 66 61 75 6c 74 73 2e 20 20 41 6e 61 6c 6f 67 6f 75 73 20 74 6f Major.page.faults...Analogous.to
e42e0 20 3c 43 4f 44 45 3e 72 75 5f 6d 61 6a 66 6c 74 3c 2f 43 4f 44 45 3e 20 69 6e 20 3c 43 4f 44 45 .<CODE>ru_majflt</CODE>.in.<CODE
e4300 3e 73 74 72 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 3c >struct.rusage</CODE>..........<
e4320 44 54 3e 3c 43 4f 44 45 3e 76 6d 5f 6d 69 6e 66 6c 74 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 DT><CODE>vm_minflt</CODE>.<DD>..
e4340 20 20 20 20 20 20 20 20 4d 69 6e 6f 72 20 70 61 67 65 20 66 61 75 6c 74 73 2e 20 20 41 6e 61 6c ........Minor.page.faults...Anal
e4360 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 72 75 5f 6d 69 6e 66 6c 74 3c 2f 43 4f 44 45 3e 20 ogous.to.<CODE>ru_minflt</CODE>.
e4380 69 6e 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 0a 20 20 in.<CODE>struct.rusage</CODE>...
e43a0 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 76 6d 5f 6e 73 77 61 70 3c 2f 43 4f 44 45 3e .......<DT><CODE>vm_nswap</CODE>
e43c0 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 53 77 61 70 20 63 6f 75 6e 74 2e 20 20 41 6e 61 6c .<DD>..........Swap.count...Anal
e43e0 6f 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 72 75 5f 6e 73 77 61 70 3c 2f 43 4f 44 45 3e 20 69 ogous.to.<CODE>ru_nswap</CODE>.i
e4400 6e 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 n.<CODE>struct.rusage</CODE>....
e4420 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 76 6d 5f 69 6e 62 6c 6b 3c 2f 43 4f 44 45 3e 0a ......<DT><CODE>vm_inblk</CODE>.
e4440 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 44 69 73 6b 20 72 65 61 64 73 2e 20 20 41 6e 61 6c 6f <DD>..........Disk.reads...Analo
e4460 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 72 75 5f 69 6e 62 6c 6b 3c 2f 43 4f 44 45 3e 20 69 6e gous.to.<CODE>ru_inblk</CODE>.in
e4480 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 .<CODE>struct.rusage</CODE>.....
e44a0 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 76 6d 5f 6f 75 62 6c 6b 3c 2f 43 4f 44 45 3e 0a 3c .....<DT><CODE>vm_oublk</CODE>.<
e44c0 44 44 3e 0a 20 20 20 20 20 20 20 20 20 44 69 73 6b 20 77 72 69 74 65 73 2e 20 20 41 6e 61 6c 6f DD>..........Disk.writes...Analo
e44e0 67 6f 75 73 20 74 6f 20 3c 43 4f 44 45 3e 72 75 5f 6f 75 62 6c 6b 3c 2f 43 4f 44 45 3e 20 69 6e gous.to.<CODE>ru_oublk</CODE>.in
e4500 20 3c 43 4f 44 45 3e 73 74 72 75 63 74 20 72 75 73 61 67 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 .<CODE>struct.rusage</CODE>.....
e4520 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 3c 62 .....</DL>....................<b
e4540 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 r><br>.<br><br>.The.return.value
e4560 20 69 73 20 7a 65 72 6f 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 .is.zero.if.the.function.succeed
e4580 73 3b 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 s;.<CODE>-1</CODE>.otherwise....
e45a0 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 3e 20 3c 62 72 3e 3c 62 72 .......<br><br>.<br><br>.<br><br
e45c0 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 00 00 00 0a 74 00 0e 73 79 73 >.........sq.~......w.....t..sys
e45e0 2f 72 65 73 6f 75 72 63 65 2e 68 74 00 08 76 74 69 6d 65 73 2e 68 78 71 00 7e 1e cb 74 00 2a 73 /resource.ht..vtimes.hxq.~..t.*s
e4600 74 72 75 63 74 20 76 74 69 6d 65 73 20 63 75 72 72 65 6e 74 2c 20 73 74 72 75 63 74 20 76 74 69 truct.vtimes.current,.struct.vti
e4620 6d 65 73 20 63 68 69 6c 64 74 00 03 69 6e 74 74 00 05 76 77 61 72 6e 73 71 00 7e 00 0a 70 74 00 mes.childt..intt..vwarnsq.~..pt.
e4640 ed 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 76 77 61 72 6e 3c 2f 43 4f 44 45 3e ..........The.<CODE>vwarn</CODE>
e4660 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 77 61 72 .function.is.just.like.<CODE>war
e4680 6e 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 n</CODE>.except.that.the........
e46a0 20 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 74 68 65 20 68 61 6e 64 6c 69 6e 67 20 6f 66 ..parameters.for.the.handling.of
e46c0 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 66 6f 72 6d 61 74 3c 2f .the.format.string.<VAR>format</
e46e0 56 41 52 3e 20 61 72 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e 20 61 73 20 61 VAR>.are.passed..........in.as.a
e4700 6e 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 76 61 5f 6c 69 73 74 3c 2f 43 n.value.of.type.<CODE>va_list</C
e4720 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 ODE>..........sq.~......w.....t.
e4740 05 65 72 72 2e 68 78 71 00 7e 1e d3 74 00 1b 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f 72 6d 61 .err.hxq.~..t..const.char.*forma
e4760 74 2c 20 76 61 5f 6c 69 73 74 74 00 04 76 6f 69 64 74 00 06 76 77 61 72 6e 78 73 71 00 7e 00 0a t,.va_listt..voidt..vwarnxsq.~..
e4780 70 74 00 ef 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 76 77 61 72 6e 78 3c 2f 43 pt...........The.<CODE>vwarnx</C
e47a0 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 ODE>.function.is.just.like.<CODE
e47c0 3e 77 61 72 6e 78 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 0a 20 20 >warnx</CODE>.except.that.the...
e47e0 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 73 20 66 6f 72 20 74 68 65 20 68 61 6e 64 6c 69 .......parameters.for.the.handli
e4800 6e 67 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 66 6f 72 ng.of.the.format.string.<VAR>for
e4820 6d 61 74 3c 2f 56 41 52 3e 20 61 72 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 20 20 20 69 6e mat</VAR>.are.passed..........in
e4840 20 61 73 20 61 6e 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 76 61 5f 6c 69 .as.an.value.of.type.<CODE>va_li
e4860 73 74 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 st</CODE>..........sq.~......w..
e4880 00 00 0a 74 00 05 65 72 72 2e 68 78 71 00 7e 1e da 74 00 1b 63 6f 6e 73 74 20 63 68 61 72 20 2a ...t..err.hxq.~..t..const.char.*
e48a0 66 6f 72 6d 61 74 2c 20 76 61 5f 6c 69 73 74 74 00 04 76 6f 69 64 74 00 08 76 77 70 72 69 6e 74 format,.va_listt..voidt..vwprint
e48c0 66 73 71 00 7e 00 0a 70 74 00 cd 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f fsq.~..pt...........This.functio
e48e0 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 77 70 72 69 6e 74 66 3c 2f 43 n.is.similar.to.<CODE>wprintf</C
e4900 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 74 61 6b ODE>.except.that,.instead.of.tak
e4920 69 6e 67 0a 20 20 20 20 20 20 20 20 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f ing..........a.variable.number.o
e4940 66 20 61 72 67 75 6d 65 6e 74 73 20 64 69 72 65 63 74 6c 79 2c 20 69 74 20 74 61 6b 65 73 20 61 f.arguments.directly,.it.takes.a
e4960 6e 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 n.argument.list..........pointer
e4980 20 3c 56 41 52 3e 61 70 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 .<VAR>ap</VAR>..........sq.~....
e49a0 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1e e1 74 00 23 63 6f 6e 73 74 ..w.....t..wchar.hxq.~..t.#const
e49c0 20 77 63 68 61 72 5f 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 74 00 .wchar_t.*template,.va_list.apt.
e49e0 03 69 6e 74 74 00 07 76 77 73 63 61 6e 66 73 71 00 7e 00 0a 70 74 00 e2 0a 20 20 20 20 20 20 20 .intt..vwscanfsq.~..pt..........
e4a00 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f .This.function.is.similar.to.<CO
e4a20 44 45 3e 77 73 63 61 6e 66 3c 2f 43 4f 44 45 3e 2c 20 62 75 74 20 69 6e 73 74 65 61 64 20 6f 66 DE>wscanf</CODE>,.but.instead.of
e4a40 20 74 61 6b 69 6e 67 0a 20 20 20 20 20 20 20 20 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 .taking..........a.variable.numb
e4a60 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 64 69 72 65 63 74 6c 79 2c 20 69 74 20 74 61 6b er.of.arguments.directly,.it.tak
e4a80 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 70 6f 69 es.an.argument.list..........poi
e4aa0 6e 74 65 72 20 3c 56 41 52 3e 61 70 3c 2f 56 41 52 3e 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 nter.<VAR>ap</VAR>.of.type.<CODE
e4ac0 3e 76 61 5f 6c 69 73 74 3c 2f 43 4f 44 45 3e 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f >va_list</CODE>...........sq.~..
e4ae0 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1e e8 74 00 23 63 6f 6e ....w.....t..wchar.hxq.~..t.#con
e4b00 73 74 20 77 63 68 61 72 5f 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 76 61 5f 6c 69 73 74 20 61 70 st.wchar_t.*template,.va_list.ap
e4b20 74 00 03 69 6e 74 74 00 04 77 61 69 74 73 71 00 7e 00 0a 70 74 03 3e 0a 20 20 20 20 20 20 20 20 t..intt..waitsq.~..pt.>.........
e4b40 54 68 69 73 20 69 73 20 61 20 73 69 6d 70 6c 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 This.is.a.simplified.version.of.
e4b60 3c 43 4f 44 45 3e 77 61 69 74 70 69 64 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 69 73 20 75 73 65 <CODE>waitpid</CODE>,.and.is.use
e4b80 64 20 74 6f 20 77 61 69 74 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 61 6e 79 20 6f 6e 65 d.to.wait..........until.any.one
e4ba0 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 73 2e 20 20 54 68 65 20 .child.process.terminates...The.
e4bc0 63 61 6c 6c 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 call:..........<br><br>.<pre><br
e4be0 3e 0a 20 20 20 20 20 20 20 20 20 77 61 69 74 20 28 26 73 74 61 74 75 73 29 3c 62 72 3e 0a 20 20 >..........wait.(&status)<br>...
e4c00 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c .......</pre><br>..........<br><
e4c20 62 72 3e 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 65 78 61 63 74 6c 79 20 65 71 75 br>.<br>..........is.exactly.equ
e4c40 69 76 61 6c 65 6e 74 20 74 6f 3a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ivalent.to:<br>..........<br><br
e4c60 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 77 61 69 74 70 69 64 20 28 2d 31 >.<pre><br>..........waitpid.(-1
e4c80 2c 20 26 73 74 61 74 75 73 2c 20 30 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 ,.&status,.0)<br>..........</pre
e4ca0 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f >..........<br><br>.This.functio
e4cc0 6e 20 69 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c n.is.a.cancellation.point.in.mul
e4ce0 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 20 20 ti-threaded.programs...This.....
e4d00 20 20 20 20 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 .....is.a.problem.if.the.thread.
e4d20 61 6c 6c 6f 63 61 74 65 73 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d allocates.some.resources.(like.m
e4d40 65 6d 6f 72 79 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 emory,.file..........descriptors
e4d60 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 68 65 ,.semaphores.or.whatever).at.the
e4d80 20 74 69 6d 65 20 3c 43 4f 44 45 3e 77 61 69 74 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 .time.<CODE>wait</CODE>.is......
e4da0 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 74 73 20 ....called...If.the.thread.gets.
e4dc0 63 61 6e 63 65 6c 65 64 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 20 61 6c canceled.these.resources.stay.al
e4de0 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 6f 67 72 located..........until.the.progr
e4e00 61 6d 20 65 6e 64 73 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 61 6c 6c 73 20 74 6f am.ends...To.avoid.this.calls.to
e4e20 20 3c 43 4f 44 45 3e 77 61 69 74 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 .<CODE>wait</CODE>.should.be....
e4e40 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 74 69 ......protected.using.cancellati
e4e60 6f 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 on.handlers..........sq.~......w
e4e80 04 00 00 00 0a 74 00 0a 73 79 73 2f 77 61 69 74 2e 68 78 71 00 7e 1e ef 74 00 0f 69 6e 74 20 2a .....t..sys/wait.hxq.~..t..int.*
e4ea0 73 74 61 74 75 73 2d 70 74 72 74 00 05 70 69 64 5f 74 74 00 05 77 61 69 74 33 73 71 00 7e 00 0a status-ptrt..pid_tt..wait3sq.~..
e4ec0 70 74 01 93 0a 20 20 20 20 20 20 20 20 49 66 20 3c 56 41 52 3e 75 73 61 67 65 3c 2f 56 41 52 3e pt...........If.<VAR>usage</VAR>
e4ee0 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 3c 43 4f 44 45 3e 77 61 69 74 33 3c .is.a.null.pointer,.<CODE>wait3<
e4f00 2f 43 4f 44 45 3e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 /CODE>.is.equivalent.to.........
e4f20 20 3c 43 4f 44 45 3e 77 61 69 74 70 69 64 20 28 2d 31 2c 20 3c 56 41 52 3e 73 74 61 74 75 73 2d .<CODE>waitpid.(-1,.<VAR>status-
e4f40 70 74 72 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 3e 29 3c 2f ptr</VAR>,.<VAR>options</VAR>)</
e4f60 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 CODE>...........<br><br>.If.<VAR
e4f80 3e 75 73 61 67 65 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 6e 75 6c 6c 2c 20 3c 43 4f 44 45 3e >usage</VAR>.is.not.null,.<CODE>
e4fa0 77 61 69 74 33 3c 2f 43 4f 44 45 3e 20 73 74 6f 72 65 73 20 75 73 61 67 65 20 66 69 67 75 72 65 wait3</CODE>.stores.usage.figure
e4fc0 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 s.for.the..........child.process
e4fe0 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 72 75 73 61 67 65 3c 2f 56 41 52 3e 3c 2f 43 4f .in.<CODE>*<VAR>rusage</VAR></CO
e5000 44 45 3e 20 28 62 75 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 63 68 69 6c 64 20 68 61 73 0a 20 DE>.(but.only.if.the.child.has..
e5020 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 69 66 20 69 74 20 68 61 ........terminated,.not.if.it.ha
e5040 73 20 73 74 6f 70 70 65 64 29 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 s.stopped).............sq.~.....
e5060 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 77 61 69 74 2e 68 78 71 00 7e 1e f6 74 00 39 75 6e 69 .w.....t..sys/wait.hxq.~..t.9uni
e5080 6f 6e 20 77 61 69 74 20 2a 73 74 61 74 75 73 2d 70 74 72 2c 20 69 6e 74 20 6f 70 74 69 6f 6e 73 on.wait.*status-ptr,.int.options
e50a0 2c 20 73 74 72 75 63 74 20 72 75 73 61 67 65 20 2a 75 73 61 67 65 74 00 05 70 69 64 5f 74 74 00 ,.struct.rusage.*usaget..pid_tt.
e50c0 05 77 61 69 74 34 73 71 00 7e 00 0a 70 74 01 d3 0a 20 20 20 20 20 20 20 20 49 66 20 3c 56 41 52 .wait4sq.~..pt...........If.<VAR
e50e0 3e 75 73 61 67 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 >usage</VAR>.is.a.null.pointer,.
e5100 3c 43 4f 44 45 3e 77 61 69 74 34 3c 2f 43 4f 44 45 3e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 <CODE>wait4</CODE>.is.equivalent
e5120 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 61 69 74 70 69 64 20 28 3c 56 41 52 .to..........<CODE>waitpid.(<VAR
e5140 3e 70 69 64 3c 2f 56 41 52 3e 2c 20 3c 56 41 52 3e 73 74 61 74 75 73 2d 70 74 72 3c 2f 56 41 52 >pid</VAR>,.<VAR>status-ptr</VAR
e5160 3e 2c 20 3c 56 41 52 3e 6f 70 74 69 6f 6e 73 3c 2f 56 41 52 3e 29 3c 2f 43 4f 44 45 3e 2e 0a 20 >,.<VAR>options</VAR>)</CODE>...
e5180 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 75 73 61 67 65 3c 2f ........<br><br>.If.<VAR>usage</
e51a0 56 41 52 3e 20 69 73 20 6e 6f 74 20 6e 75 6c 6c 2c 20 3c 43 4f 44 45 3e 77 61 69 74 34 3c 2f 43 VAR>.is.not.null,.<CODE>wait4</C
e51c0 4f 44 45 3e 20 73 74 6f 72 65 73 20 75 73 61 67 65 20 66 69 67 75 72 65 73 20 66 6f 72 20 74 68 ODE>.stores.usage.figures.for.th
e51e0 65 0a 20 20 20 20 20 20 20 20 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 69 6e 20 3c 43 4f 44 e..........child.process.in.<COD
e5200 45 3e 2a 3c 56 41 52 3e 72 75 73 61 67 65 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 28 62 75 74 E>*<VAR>rusage</VAR></CODE>.(but
e5220 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 63 68 69 6c 64 20 68 61 73 0a 20 20 20 20 20 20 20 20 20 .only.if.the.child.has..........
e5240 74 65 72 6d 69 6e 61 74 65 64 2c 20 6e 6f 74 20 69 66 20 69 74 20 68 61 73 20 73 74 6f 70 70 65 terminated,.not.if.it.has.stoppe
e5260 64 29 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 d)..............<br><br>.This.fu
e5280 6e 63 74 69 6f 6e 20 69 73 20 61 20 42 53 44 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 nction.is.a.BSD.extension.......
e52a0 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 2f 77 61 69 74 2e 68 ...sq.~......w.....t..sys/wait.h
e52c0 78 71 00 7e 1e fd 74 00 3d 70 69 64 5f 74 20 70 69 64 2c 20 69 6e 74 20 2a 73 74 61 74 75 73 2d xq.~..t.=pid_t.pid,.int.*status-
e52e0 70 74 72 2c 20 69 6e 74 20 6f 70 74 69 6f 6e 73 2c 20 73 74 72 75 63 74 20 72 75 73 61 67 65 20 ptr,.int.options,.struct.rusage.
e5300 2a 75 73 61 67 65 74 00 05 70 69 64 5f 74 74 00 07 77 61 69 74 70 69 64 73 71 00 7e 00 0a 70 74 *usaget..pid_tt..waitpidsq.~..pt
e5320 0e a8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 61 69 74 70 69 64 3c 2f 43 4f ...........The.<CODE>waitpid</CO
e5340 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 71 75 65 73 74 20 DE>.function.is.used.to.request.
e5360 73 74 61 74 75 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 61 0a 20 20 20 20 20 20 status.information.from.a.......
e5380 20 20 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 77 68 6f 73 65 20 70 72 6f 63 65 73 73 20 49 ...child.process.whose.process.I
e53a0 44 20 69 73 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 2e 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 D.is.<VAR>pid</VAR>...Normally,.
e53c0 74 68 65 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 69 73 20 the.calling..........process.is.
e53e0 73 75 73 70 65 6e 64 65 64 20 75 6e 74 69 6c 20 74 68 65 20 63 68 69 6c 64 20 70 72 6f 63 65 73 suspended.until.the.child.proces
e5400 73 20 6d 61 6b 65 73 20 73 74 61 74 75 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 s.makes.status.information......
e5420 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 62 79 20 74 65 72 6d 69 6e 61 74 69 6e 67 2e 0a 20 20 ....available.by.terminating....
e5440 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 74 68 65 72 20 76 61 6c 75 65 73 20 66 6f 72 .......<br><br>.Other.values.for
e5460 20 74 68 65 20 3c 56 41 52 3e 70 69 64 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 68 61 76 .the.<VAR>pid</VAR>.argument.hav
e5480 65 20 73 70 65 63 69 61 6c 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 73 2e 20 20 41 0a 20 20 e.special.interpretations...A...
e54a0 20 20 20 20 20 20 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 .......value.of.<CODE>-1</CODE>.
e54c0 6f 72 20 3c 43 4f 44 45 3e 57 41 49 54 5f 41 4e 59 3c 2f 43 4f 44 45 3e 20 72 65 71 75 65 73 74 or.<CODE>WAIT_ANY</CODE>.request
e54e0 73 20 73 74 61 74 75 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 0a 20 20 20 20 20 20 20 s.status.information.for........
e5500 20 20 61 6e 79 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 3b 20 61 20 76 61 6c 75 65 20 6f 66 20 ..any.child.process;.a.value.of.
e5520 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 20 6f 72 20 3c 43 4f 44 45 3e 57 41 49 54 5f 4d 59 50 <CODE>0</CODE>.or.<CODE>WAIT_MYP
e5540 47 52 50 3c 2f 43 4f 44 45 3e 20 72 65 71 75 65 73 74 73 0a 20 20 20 20 20 20 20 20 20 69 6e 66 GRP</CODE>.requests..........inf
e5560 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 61 6e 79 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 69 ormation.for.any.child.process.i
e5580 6e 20 74 68 65 20 73 61 6d 65 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 61 73 20 74 68 65 0a n.the.same.process.group.as.the.
e55a0 20 20 20 20 20 20 20 20 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 3b 20 61 6e 64 20 61 6e .........calling.process;.and.an
e55c0 79 20 6f 74 68 65 72 20 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 20 20 3c 56 41 52 3e 70 67 69 y.other.negative.value..<VAR>pgi
e55e0 64 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 73 20 69 6e 66 6f 72 6d d</VAR>..........requests.inform
e5600 61 74 69 6f 6e 20 66 6f 72 20 61 6e 79 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 77 68 6f 73 ation.for.any.child.process.whos
e5620 65 20 70 72 6f 63 65 73 73 20 67 72 6f 75 70 20 49 44 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c e.process.group.ID.is..........<
e5640 56 41 52 3e 70 67 69 64 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 VAR>pgid</VAR>...........<br><br
e5660 3e 20 49 66 20 73 74 61 74 75 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 61 20 63 68 >.If.status.information.for.a.ch
e5680 69 6c 64 20 70 72 6f 63 65 73 73 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6d 6d 65 64 69 61 ild.process.is.available.immedia
e56a0 74 65 6c 79 2c 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 tely,.this..........function.ret
e56c0 75 72 6e 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 69 74 68 6f 75 74 20 77 61 69 74 69 6e 67 urns.immediately.without.waiting
e56e0 2e 20 20 49 66 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 65 6c 69 67 69 62 6c 65 0a 20 20 20 ...If.more.than.one.eligible....
e5700 20 20 20 20 20 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 68 61 73 20 73 74 61 74 75 73 20 69 ......child.process.has.status.i
e5720 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 2c 20 6f 6e 65 20 6f 66 20 74 68 65 nformation.available,.one.of.the
e5740 6d 20 69 73 20 63 68 6f 73 65 6e 0a 20 20 20 20 20 20 20 20 20 72 61 6e 64 6f 6d 6c 79 2c 20 61 m.is.chosen..........randomly,.a
e5760 6e 64 20 69 74 73 20 73 74 61 74 75 73 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6d 6d 65 64 69 nd.its.status.is.returned.immedi
e5780 61 74 65 6c 79 2e 20 20 54 6f 20 67 65 74 20 74 68 65 20 73 74 61 74 75 73 0a 20 20 20 20 20 20 ately...To.get.the.status.......
e57a0 20 20 20 66 72 6f 6d 20 74 68 65 20 6f 74 68 65 72 20 65 6c 69 67 69 62 6c 65 20 63 68 69 6c 64 ...from.the.other.eligible.child
e57c0 20 70 72 6f 63 65 73 73 65 73 2c 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 63 61 6c 6c 20 3c 43 4f .processes,.you.need.to.call.<CO
e57e0 44 45 3e 77 61 69 74 70 69 64 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 61 67 61 69 6e DE>waitpid</CODE>..........again
e5800 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e 6f 70 74 ...........<br><br>.The.<VAR>opt
e5820 69 6f 6e 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 62 69 74 20 6d 61 73 ions</VAR>.argument.is.a.bit.mas
e5840 6b 2e 20 20 49 74 73 20 76 61 6c 75 65 20 73 68 6f 75 6c 64 20 62 65 20 74 68 65 0a 20 20 20 20 k...Its.value.should.be.the.....
e5860 20 20 20 20 20 62 69 74 77 69 73 65 20 4f 52 20 28 74 68 61 74 20 69 73 2c 20 74 68 65 20 3c 73 .....bitwise.OR.(that.is,.the.<s
e5880 61 6d 70 3e 7c 3c 2f 73 61 6d 70 3e 20 6f 70 65 72 61 74 6f 72 29 20 6f 66 20 7a 65 72 6f 20 6f amp>|</samp>.operator).of.zero.o
e58a0 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 57 4e 4f r.more.of.the..........<CODE>WNO
e58c0 48 41 4e 47 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 57 55 4e 54 52 41 43 45 44 3c HANG</CODE>.and.<CODE>WUNTRACED<
e58e0 2f 43 4f 44 45 3e 20 66 6c 61 67 73 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 0a 20 /CODE>.flags...You.can.use.the..
e5900 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 57 4e 4f 48 41 4e 47 3c 2f 43 4f 44 45 3e 20 66 6c 61 ........<CODE>WNOHANG</CODE>.fla
e5920 67 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 74 68 65 20 70 61 72 65 6e 74 20 70 72 g.to.indicate.that.the.parent.pr
e5940 6f 63 65 73 73 20 73 68 6f 75 6c 64 6e 27 74 20 77 61 69 74 3b 0a 20 20 20 20 20 20 20 20 20 61 ocess.shouldn't.wait;..........a
e5960 6e 64 20 74 68 65 20 3c 43 4f 44 45 3e 57 55 4e 54 52 41 43 45 44 3c 2f 43 4f 44 45 3e 20 66 6c nd.the.<CODE>WUNTRACED</CODE>.fl
e5980 61 67 20 74 6f 20 72 65 71 75 65 73 74 20 73 74 61 74 75 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e ag.to.request.status.information
e59a0 20 66 72 6f 6d 20 73 74 6f 70 70 65 64 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 73 .from.stopped..........processes
e59c0 20 61 73 20 77 65 6c 6c 20 61 73 20 70 72 6f 63 65 73 73 65 73 20 74 68 61 74 20 68 61 76 65 20 .as.well.as.processes.that.have.
e59e0 74 65 72 6d 69 6e 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 terminated...........<br><br>.Th
e5a00 65 20 73 74 61 74 75 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 63 68 e.status.information.from.the.ch
e5a20 69 6c 64 20 70 72 6f 63 65 73 73 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 6f 62 6a ild.process.is.stored.in.the.obj
e5a40 65 63 74 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 3c 56 41 52 3e 73 74 61 74 75 73 2d 70 74 ect..........that.<VAR>status-pt
e5a60 72 3c 2f 56 41 52 3e 20 70 6f 69 6e 74 73 20 74 6f 2c 20 75 6e 6c 65 73 73 20 3c 56 41 52 3e 73 r</VAR>.points.to,.unless.<VAR>s
e5a80 74 61 74 75 73 2d 70 74 72 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 tatus-ptr</VAR>.is.a.null.pointe
e5aa0 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 r...........<br><br>.This.functi
e5ac0 6f 6e 20 69 73 20 61 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 on.is.a.cancellation.point.in.mu
e5ae0 6c 74 69 2d 74 68 72 65 61 64 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 20 lti-threaded.programs...This....
e5b00 20 20 20 20 20 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 64 ......is.a.problem.if.the.thread
e5b20 20 61 6c 6c 6f 63 61 74 65 73 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 .allocates.some.resources.(like.
e5b40 6d 65 6d 6f 72 79 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 memory,.file..........descriptor
e5b60 73 2c 20 73 65 6d 61 70 68 6f 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 68 s,.semaphores.or.whatever).at.th
e5b80 65 20 74 69 6d 65 20 3c 43 4f 44 45 3e 77 61 69 74 70 69 64 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 e.time.<CODE>waitpid</CODE>.is..
e5ba0 20 20 20 20 20 20 20 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 ........called...If.the.thread.g
e5bc0 65 74 73 20 63 61 6e 63 65 6c 65 64 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 ets.canceled.these.resources.sta
e5be0 79 20 61 6c 6c 6f 63 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 y.allocated..........until.the.p
e5c00 72 6f 67 72 61 6d 20 65 6e 64 73 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 61 6c 6c rogram.ends...To.avoid.this.call
e5c20 73 20 74 6f 20 3c 43 4f 44 45 3e 77 61 69 74 70 69 64 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 s.to.<CODE>waitpid</CODE>.should
e5c40 20 62 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e .be..........protected.using.can
e5c60 63 65 6c 6c 61 74 69 6f 6e 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 cellation.handlers...........<br
e5c80 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 72 6d 61 6c ><br>.The.return.value.is.normal
e5ca0 6c 79 20 74 68 65 20 70 72 6f 63 65 73 73 20 49 44 20 6f 66 20 74 68 65 20 63 68 69 6c 64 20 70 ly.the.process.ID.of.the.child.p
e5cc0 72 6f 63 65 73 73 20 77 68 6f 73 65 0a 20 20 20 20 20 20 20 20 20 73 74 61 74 75 73 20 69 73 20 rocess.whose..........status.is.
e5ce0 72 65 70 6f 72 74 65 64 2e 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 63 68 69 6c 64 20 70 72 reported...If.there.are.child.pr
e5d00 6f 63 65 73 73 65 73 20 62 75 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 6d 20 69 73 0a 20 20 20 20 ocesses.but.none.of.them.is.....
e5d20 20 20 20 20 20 77 61 69 74 69 6e 67 20 74 6f 20 62 65 20 6e 6f 74 69 63 65 64 2c 20 3c 43 4f 44 .....waiting.to.be.noticed,.<COD
e5d40 45 3e 77 61 69 74 70 69 64 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 62 6c 6f 63 6b 20 75 6e 74 69 E>waitpid</CODE>.will.block.unti
e5d60 6c 20 6f 6e 65 20 69 73 2e 20 20 48 6f 77 65 76 65 72 2c 0a 20 20 20 20 20 20 20 20 20 69 66 20 l.one.is...However,..........if.
e5d80 74 68 65 20 3c 43 4f 44 45 3e 57 4e 4f 48 41 4e 47 3c 2f 43 4f 44 45 3e 20 6f 70 74 69 6f 6e 20 the.<CODE>WNOHANG</CODE>.option.
e5da0 77 61 73 20 73 70 65 63 69 66 69 65 64 2c 20 3c 43 4f 44 45 3e 77 61 69 74 70 69 64 3c 2f 43 4f was.specified,.<CODE>waitpid</CO
e5dc0 44 45 3e 20 77 69 6c 6c 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 7a 65 72 6f 20 69 6e DE>.will.return..........zero.in
e5de0 73 74 65 61 64 20 6f 66 20 62 6c 6f 63 6b 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e stead.of.blocking...........<br>
e5e00 3c 62 72 3e 20 49 66 20 61 20 73 70 65 63 69 66 69 63 20 50 49 44 20 74 6f 20 77 61 69 74 20 66 <br>.If.a.specific.PID.to.wait.f
e5e20 6f 72 20 77 61 73 20 67 69 76 65 6e 20 74 6f 20 3c 43 4f 44 45 3e 77 61 69 74 70 69 64 3c 2f 43 or.was.given.to.<CODE>waitpid</C
e5e40 4f 44 45 3e 2c 20 69 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65 20 61 6c ODE>,.it.will..........ignore.al
e5e60 6c 20 6f 74 68 65 72 20 63 68 69 6c 64 72 65 6e 20 28 69 66 20 61 6e 79 29 2e 20 20 54 68 65 72 l.other.children.(if.any)...Ther
e5e80 65 66 6f 72 65 20 69 66 20 74 68 65 72 65 20 61 72 65 20 63 68 69 6c 64 72 65 6e 0a 20 20 20 20 efore.if.there.are.children.....
e5ea0 20 20 20 20 20 77 61 69 74 69 6e 67 20 74 6f 20 62 65 20 6e 6f 74 69 63 65 64 20 62 75 74 20 74 .....waiting.to.be.noticed.but.t
e5ec0 68 65 20 63 68 69 6c 64 20 77 68 6f 73 65 20 50 49 44 20 77 61 73 20 73 70 65 63 69 66 69 65 64 he.child.whose.PID.was.specified
e5ee0 20 69 73 20 6e 6f 74 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 6d 2c 20 3c 43 .is.not.one..........of.them,.<C
e5f00 4f 44 45 3e 77 61 69 74 70 69 64 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 20 62 6c 6f 63 6b 20 6f 72 ODE>waitpid</CODE>.will.block.or
e5f20 20 72 65 74 75 72 6e 20 7a 65 72 6f 20 61 73 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 2e .return.zero.as.described.above.
e5f40 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 20 76 61 6c 75 65 20 6f 66 20 3c 43 ..........<br><br>.A.value.of.<C
e5f60 4f 44 45 3e 2d 31 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 63 61 73 ODE>-1</CODE>.is.returned.in.cas
e5f80 65 20 6f 66 20 65 72 72 6f 72 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 e.of.error...The.following......
e5fa0 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f 6e ....<CODE>errno</CODE>.error.con
e5fc0 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 6e ditions.are.defined.for.this.fun
e5fe0 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 ction:..........<br><br>.<DL>...
e6000 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 54 52 0a 20 20 20 20 20 20 20 20 ........<DT><CODE>EINTR.........
e6020 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 .The.function.was.interrupted.by
e6040 20 64 65 6c 69 76 65 72 79 20 6f 66 20 61 20 73 69 67 6e 61 6c 20 74 6f 20 74 68 65 20 63 61 6c .delivery.of.a.signal.to.the.cal
e6060 6c 69 6e 67 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 ling</CODE>.<DD>..........proces
e6080 73 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 s..............<br><br>.<DT><COD
e60a0 45 3e 45 43 48 49 4c 44 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 E>ECHILD</CODE>.<DD>..........Th
e60c0 65 72 65 20 61 72 65 20 6e 6f 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 20 74 6f 20 77 61 ere.are.no.child.processes.to.wa
e60e0 69 74 20 66 6f 72 2c 20 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 3c 56 41 52 3e 70 69 it.for,.or.the.specified.<VAR>pi
e6100 64 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 61 20 63 68 69 6c 64 20 d</VAR>..........is.not.a.child.
e6120 6f 66 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 20 20 20 of.the.calling.process..........
e6140 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 .<br><br>.<DT><CODE>EINVAL</CODE
e6160 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 41 6e 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 >.<DD>..........An.invalid.value
e6180 20 77 61 73 20 70 72 6f 76 69 64 65 64 20 66 6f 72 20 74 68 65 20 3c 56 41 52 3e 6f 70 74 69 6f .was.provided.for.the.<VAR>optio
e61a0 6e 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c ns</VAR>.argument...........</DL
e61c0 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 0a 73 79 73 >.........sq.~......w.....t..sys
e61e0 2f 77 61 69 74 2e 68 78 71 00 7e 1f 04 74 00 27 70 69 64 5f 74 20 70 69 64 2c 20 69 6e 74 20 2a /wait.hxq.~..t.'pid_t.pid,.int.*
e6200 73 74 61 74 75 73 2d 70 74 72 2c 20 69 6e 74 20 6f 70 74 69 6f 6e 73 74 00 05 70 69 64 5f 74 74 status-ptr,.int.optionst..pid_tt
e6220 00 04 77 61 72 6e 73 71 00 7e 00 0a 70 74 01 24 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f ..warnsq.~..pt.$.........The.<CO
e6240 44 45 3e 77 61 72 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 6f 75 67 68 DE>warn</CODE>.function.is.rough
e6260 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 63 61 6c 6c 20 6c 69 6b 65 0a 20 20 20 ly.equivalent.to.a.call.like....
e6280 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 ......<pre><br>............error
e62a0 20 28 30 2c 20 65 72 72 6e 6f 2c 20 66 6f 72 6d 61 74 2c 20 74 68 65 20 70 61 72 61 6d 65 74 65 .(0,.errno,.format,.the.paramete
e62c0 72 73 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 rs)<br>..........</pre>.........
e62e0 20 0a 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 67 6c 6f 62 61 ...........except.that.the.globa
e6300 6c 20 76 61 72 69 61 62 6c 65 73 20 3c 43 4f 44 45 3e 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 72 l.variables.<CODE>error</CODE>.r
e6320 65 73 70 65 63 74 73 20 61 6e 64 20 6d 6f 64 69 66 69 65 73 0a 20 20 20 20 20 20 20 20 20 61 72 espects.and.modifies..........ar
e6340 65 20 6e 6f 74 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 02 77 04 e.not.used..........sq.~......w.
e6360 00 00 00 0a 74 00 07 65 72 72 6f 72 2e 68 74 00 05 65 72 72 2e 68 78 71 00 7e 1f 0b 74 00 17 63 ....t..error.ht..err.hxq.~..t..c
e6380 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f 72 6d 61 74 2c 20 2e 2e 2e 74 00 04 76 6f 69 64 74 00 05 onst.char.*format,....t..voidt..
e63a0 77 61 72 6e 78 73 71 00 7e 00 0a 70 74 01 7a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 warnxsq.~..pt.z.........The.<COD
e63c0 45 3e 77 61 72 6e 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 6f 75 67 68 E>warnx</CODE>.function.is.rough
e63e0 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 63 61 6c 6c 20 6c 69 6b 65 0a 20 20 20 ly.equivalent.to.a.call.like....
e6400 20 20 20 20 20 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 ......<pre><br>............error
e6420 20 28 30 2c 20 30 2c 20 66 6f 72 6d 61 74 2c 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 29 3c .(0,.0,.format,.the.parameters)<
e6440 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 0a 20 20 br>..........</pre>.............
e6460 20 20 20 20 20 20 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 .......except.that.the.global.va
e6480 72 69 61 62 6c 65 73 20 3c 43 4f 44 45 3e 65 72 72 6f 72 3c 2f 43 4f 44 45 3e 20 72 65 73 70 65 riables.<CODE>error</CODE>.respe
e64a0 63 74 73 20 61 6e 64 20 6d 6f 64 69 66 69 65 73 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 6e 6f cts.and.modifies..........are.no
e64c0 74 20 75 73 65 64 2e 20 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 74 6f 20 3c 43 4f 44 45 t.used...The.difference.to.<CODE
e64e0 3e 77 61 72 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 61 74 20 6e 6f 20 65 72 72 6f 72 20 6e 75 >warn</CODE>.is.that.no.error.nu
e6500 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 69 73 20 70 72 69 6e 74 65 64 2e mber..........string.is.printed.
e6520 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 05 65 72 72 2e .........sq.~......w.....t..err.
e6540 68 78 71 00 7e 1f 13 74 00 17 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f 72 6d 61 74 2c 20 2e 2e hxq.~..t..const.char.*format,...
e6560 2e 74 00 04 76 6f 69 64 74 00 06 77 63 70 63 70 79 73 71 00 7e 00 0a 70 74 02 4b 0a 20 20 20 20 .t..voidt..wcpcpysq.~..pt.K.....
e6580 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e ....This.function.is.like.<CODE>
e65a0 77 63 73 63 70 79 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 72 65 wcscpy</CODE>,.except.that.it.re
e65c0 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 turns.a.pointer.to..........the.
e65e0 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e end.of.the.string.<VAR>wto</VAR>
e6600 20 28 74 68 61 74 20 69 73 2c 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 74 65 .(that.is,.the.address.of.the.te
e6620 72 6d 69 6e 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 rminating..........null.characte
e6640 72 20 3c 43 4f 44 45 3e 77 74 6f 20 2b 20 73 74 72 6c 65 6e 20 28 77 66 72 6f 6d 29 3c 2f 43 4f r.<CODE>wto.+.strlen.(wfrom)</CO
e6660 44 45 3e 29 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a DE>).rather.than.the.beginning..
e6680 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 .........<br><br>.This.function.
e66a0 69 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 49 53 4f 20 6f 72 20 50 4f 53 49 58 20 62 75 74 20 is.not.part.of.ISO.or.POSIX.but.
e66c0 77 61 73 20 66 6f 75 6e 64 20 75 73 65 66 75 6c 20 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 20 was.found.useful.while..........
e66e0 64 65 76 65 6c 6f 70 69 6e 67 20 74 68 65 20 47 4e 55 20 43 20 4c 69 62 72 61 72 79 20 69 74 73 developing.the.GNU.C.Library.its
e6700 65 6c 66 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 62 65 68 61 76 elf...........<br><br>.The.behav
e6720 69 6f 72 20 6f 66 20 3c 43 4f 44 45 3e 77 63 70 63 70 79 3c 2f 43 4f 44 45 3e 20 69 73 20 75 6e ior.of.<CODE>wcpcpy</CODE>.is.un
e6740 64 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 6f 76 65 72 6c 61 70 2e 0a defined.if.the.strings.overlap..
e6760 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 77 63 70 63 70 79 3c 2f .........<br><br>.<CODE>wcpcpy</
e6780 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 69 73 20 CODE>.is.a.GNU.extension.and.is.
e67a0 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 declared.in.<TT>wchar.h</TT>....
e67c0 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 ......sq.~......w.....t..wchar.h
e67e0 78 71 00 7e 1f 1a 74 00 34 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 74 6f 2c 20 xq.~..t.4wchar_t.*restrict.wto,.
e6800 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 66 72 6f 6d 74 00 09 const.wchar_t.*restrict.wfromt..
e6820 77 63 68 61 72 5f 74 20 2a 74 00 07 77 63 70 6e 63 70 79 73 71 00 7e 00 0a 70 74 05 36 0a 20 20 wchar_t.*t..wcpncpysq.~..pt.6...
e6840 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 ......This.function.is.similar.t
e6860 6f 20 3c 43 4f 44 45 3e 77 63 70 63 70 79 3c 2f 43 4f 44 45 3e 20 62 75 74 20 63 6f 70 69 65 73 o.<CODE>wcpcpy</CODE>.but.copies
e6880 20 61 6c 77 61 79 73 20 65 78 61 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 77 73 .always.exactly..........<VAR>ws
e68a0 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 3c 56 41 52 3e 77 ize</VAR>.characters.into.<VAR>w
e68c0 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 to</VAR>...........<br><br>.If.t
e68e0 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e 77 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 73 he.length.of.<VAR>wfrom</VAR>.is
e6900 20 6d 6f 72 65 20 74 68 65 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e .more.then.<VAR>size</VAR>,.then
e6920 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 70 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 63 ..........<CODE>wcpncpy</CODE>.c
e6940 6f 70 69 65 73 20 6a 75 73 74 20 74 68 65 20 66 69 72 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f opies.just.the.first.<VAR>size</
e6960 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 0a 20 20 20 20 20 20 20 VAR>.wide.characters.and........
e6980 20 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 77 69 64 65 20 ..returns.a.pointer.to.the.wide.
e69a0 63 68 61 72 61 63 74 65 72 20 64 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 character.directly.following.the
e69c0 20 6c 61 73 74 0a 20 20 20 20 20 20 20 20 20 6e 6f 6e 2d 6e 75 6c 6c 20 77 69 64 65 20 63 68 61 .last..........non-null.wide.cha
e69e0 72 61 63 74 65 72 20 77 68 69 63 68 20 77 61 73 20 63 6f 70 69 65 64 20 6c 61 73 74 2e 20 20 4e racter.which.was.copied.last...N
e6a00 6f 74 65 20 74 68 61 74 20 69 6e 20 74 68 69 73 20 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 74 ote.that.in.this.case..........t
e6a20 68 65 72 65 20 69 73 20 6e 6f 20 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 6f 72 20 77 72 69 74 74 here.is.no.null.terminator.writt
e6a40 65 6e 20 69 6e 74 6f 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 en.into.<VAR>wto</VAR>..........
e6a60 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e .<br><br>.If.the.length.of.<VAR>
e6a80 77 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 wfrom</VAR>.is.less.than.<VAR>si
e6aa0 7a 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 20 3c 43 4f 44 45 3e 77 63 70 6e 63 70 79 3c 2f 43 4f ze</VAR>,.then.<CODE>wcpncpy</CO
e6ac0 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 6f 70 69 65 73 20 61 6c 6c 20 6f 66 20 3c 56 41 52 3e DE>..........copies.all.of.<VAR>
e6ae0 77 66 72 6f 6d 3c 2f 56 41 52 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 65 6e 6f 75 67 68 20 wfrom</VAR>,.followed.by.enough.
e6b00 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 61 64 64 20 75 70 0a 20 20 20 20 20 20 null.characters.to.add.up.......
e6b20 20 20 20 74 6f 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 63 68 61 72 61 63 74 65 72 73 ...to.<VAR>size</VAR>.characters
e6b40 20 69 6e 20 61 6c 6c 2e 20 20 54 68 69 73 20 62 65 68 61 76 69 6f 72 20 69 73 20 72 61 72 65 6c .in.all...This.behavior.is.rarel
e6b60 79 20 75 73 65 66 75 6c 2c 20 62 75 74 20 69 74 0a 20 20 20 20 20 20 20 20 20 69 73 20 69 6d 70 y.useful,.but.it..........is.imp
e6b80 6c 65 6d 65 6e 74 65 64 20 74 6f 20 62 65 20 75 73 65 66 75 6c 20 69 6e 20 63 6f 6e 74 65 78 74 lemented.to.be.useful.in.context
e6ba0 73 20 77 68 65 72 65 20 74 68 69 73 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 65 0a 20 20 20 s.where.this.behavior.of.the....
e6bc0 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 73 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 69 73 20 75 73 ......<CODE>wcsncpy</CODE>.is.us
e6be0 65 64 2e 20 20 3c 43 4f 44 45 3e 77 63 70 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e ed...<CODE>wcpncpy</CODE>.return
e6c00 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 45 4d 3e s.a.pointer.to.the..........<EM>
e6c20 66 69 72 73 74 3c 2f 45 4d 3e 20 77 72 69 74 74 65 6e 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 first</EM>.written.null.characte
e6c40 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 r...........<br><br>.This.functi
e6c60 6f 6e 20 69 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 49 53 4f 20 6f 72 20 50 4f 53 49 58 20 62 on.is.not.part.of.ISO.or.POSIX.b
e6c80 75 74 20 77 61 73 20 66 6f 75 6e 64 20 75 73 65 66 75 6c 20 77 68 69 6c 65 0a 20 20 20 20 20 20 ut.was.found.useful.while.......
e6ca0 20 20 20 64 65 76 65 6c 6f 70 69 6e 67 20 74 68 65 20 47 4e 55 20 43 20 4c 69 62 72 61 72 79 20 ...developing.the.GNU.C.Library.
e6cc0 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 74 73 20 62 65 itself...........<br><br>.Its.be
e6ce0 68 61 76 69 6f 72 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 73 74 72 69 6e havior.is.undefined.if.the.strin
e6d00 67 73 20 6f 76 65 72 6c 61 70 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 gs.overlap...........<br><br>.<C
e6d20 4f 44 45 3e 77 63 70 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 ODE>wcpncpy</CODE>.is.a.GNU.exte
e6d40 6e 73 69 6f 6e 20 61 6e 64 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 nsion.and.is.declared.in.<TT>wch
e6d60 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ar.h</TT>..........sq.~......w..
e6d80 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 21 74 00 41 77 63 68 61 72 5f 74 20 2a 72 ...t..wchar.hxq.~.!t.Awchar_t.*r
e6da0 65 73 74 72 69 63 74 20 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 estrict.wto,.const.wchar_t.*rest
e6dc0 72 69 63 74 20 77 66 72 6f 6d 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 09 77 63 68 61 72 5f rict.wfrom,.size_t.sizet..wchar_
e6de0 74 20 2a 74 00 07 77 63 72 74 6f 6d 62 73 71 00 7e 00 0a 70 74 09 7c 0a 20 20 20 20 20 20 20 20 t.*t..wcrtombsq.~..pt.|.........
e6e00 54 68 65 20 3c 43 4f 44 45 3e 77 63 72 74 6f 6d 62 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f The.<CODE>wcrtomb</CODE>.functio
e6e20 6e 20 28 60 60 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 72 65 73 74 61 72 74 61 62 6c 65 20 n.(``wide.character.restartable.
e6e40 74 6f 0a 20 20 20 20 20 20 20 20 20 6d 75 6c 74 69 62 79 74 65 27 27 29 20 63 6f 6e 76 65 72 74 to..........multibyte'').convert
e6e60 73 20 61 20 73 69 6e 67 6c 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 74 6f 20 61 s.a.single.wide.character.into.a
e6e80 20 6d 75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 63 6f 72 72 65 .multibyte.string..........corre
e6ea0 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 61 74 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 2e sponding.to.that.wide.character.
e6ec0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 73 3c 2f 56 41 ..........<br><br>.If.<VAR>s</VA
e6ee0 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 66 75 6e 63 74 69 R>.is.a.null.pointer,.the.functi
e6f00 6f 6e 20 72 65 73 65 74 73 20 74 68 65 20 73 74 61 74 65 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 on.resets.the.state.stored.in...
e6f20 20 20 20 20 20 20 20 74 68 65 20 6f 62 6a 65 63 74 73 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 .......the.objects.pointed.to.by
e6f40 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e 20 28 6f 72 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 .<VAR>ps</VAR>.(or.the.internal.
e6f60 3c 43 4f 44 45 3e 6d 62 73 74 61 74 65 5f 74 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 <CODE>mbstate_t</CODE>..........
e6f80 6f 62 6a 65 63 74 29 20 74 6f 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 2e 20 20 54 object).to.the.initial.state...T
e6fa0 68 69 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 61 63 68 69 65 76 65 64 20 62 79 20 61 20 63 61 his.can.also.be.achieved.by.a.ca
e6fc0 6c 6c 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 3a 0a 20 20 20 20 20 20 20 20 20 ll.like..........this:..........
e6fe0 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 77 63 72 74 <br><br>.<pre><br>..........wcrt
e7000 6f 6d 62 73 20 28 74 65 6d 70 5f 62 75 66 2c 20 4c 27 5c 30 27 2c 20 70 73 29 3c 62 72 3e 0a 20 ombs.(temp_buf,.L'\0',.ps)<br>..
e7020 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e ........</pre>..........<br><br>
e7040 20 0a 20 20 20 20 20 20 20 20 20 73 69 6e 63 65 2c 20 69 66 20 3c 56 41 52 3e 73 3c 2f 56 41 52 ...........since,.if.<VAR>s</VAR
e7060 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 3c 43 4f 44 45 3e 77 63 72 74 6f >.is.a.null.pointer,.<CODE>wcrto
e7080 6d 62 3c 2f 43 4f 44 45 3e 20 70 65 72 66 6f 72 6d 73 20 61 73 20 69 66 20 69 74 0a 20 20 20 20 mb</CODE>.performs.as.if.it.....
e70a0 20 20 20 20 20 77 72 69 74 65 73 20 69 6e 74 6f 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 62 75 66 .....writes.into.an.internal.buf
e70c0 66 65 72 2c 20 77 68 69 63 68 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 6c fer,.which.is.guaranteed.to.be.l
e70e0 61 72 67 65 20 65 6e 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 arge.enough...........<br><br>.I
e7100 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 73 20 74 68 65 20 4e 55 4c 20 77 69 64 65 20 f.<VAR>wc</VAR>.is.the.NUL.wide.
e7120 63 68 61 72 61 63 74 65 72 2c 20 3c 43 4f 44 45 3e 77 63 72 74 6f 6d 62 3c 2f 43 4f 44 45 3e 20 character,.<CODE>wcrtomb</CODE>.
e7140 65 6d 69 74 73 2c 20 69 66 0a 20 20 20 20 20 20 20 20 20 6e 65 63 65 73 73 61 72 79 2c 20 61 20 emits,.if..........necessary,.a.
e7160 73 68 69 66 74 20 73 65 71 75 65 6e 63 65 20 74 6f 20 67 65 74 20 74 68 65 20 73 74 61 74 65 20 shift.sequence.to.get.the.state.
e7180 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 74 68 65 20 69 6e 69 74 69 61 6c 0a 20 <VAR>ps</VAR>.into.the.initial..
e71a0 20 20 20 20 20 20 20 20 73 74 61 74 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 73 69 6e 67 ........state.followed.by.a.sing
e71c0 6c 65 20 4e 55 4c 20 62 79 74 65 2c 20 77 68 69 63 68 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 le.NUL.byte,.which.is.stored.in.
e71e0 74 68 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e the.string..........<VAR>s</VAR>
e7200 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 74 68 65 72 77 69 73 65 20 61 20 ...........<br><br>.Otherwise.a.
e7220 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 28 70 6f 73 73 69 62 6c 79 20 69 6e 63 6c 75 64 69 6e byte.sequence.(possibly.includin
e7240 67 20 73 68 69 66 74 20 73 65 71 75 65 6e 63 65 73 29 20 69 73 20 77 72 69 74 74 65 6e 0a 20 20 g.shift.sequences).is.written...
e7260 20 20 20 20 20 20 20 69 6e 74 6f 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 .......into.the.string.<VAR>s</V
e7280 41 52 3e 2e 20 20 54 68 69 73 20 6f 6e 6c 79 20 68 61 70 70 65 6e 73 20 69 66 20 3c 56 41 52 3e AR>...This.only.happens.if.<VAR>
e72a0 77 63 3c 2f 56 41 52 3e 20 69 73 20 61 20 76 61 6c 69 64 20 77 69 64 65 0a 20 20 20 20 20 20 20 wc</VAR>.is.a.valid.wide........
e72c0 20 20 63 68 61 72 61 63 74 65 72 20 28 69 2e 65 2e 2c 20 69 74 20 68 61 73 20 61 20 6d 75 6c 74 ..character.(i.e.,.it.has.a.mult
e72e0 69 62 79 74 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 63 68 61 72 ibyte.representation.in.the.char
e7300 61 63 74 65 72 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 65 64 20 62 79 20 6c acter.set..........selected.by.l
e7320 6f 63 61 6c 65 20 6f 66 20 74 68 65 20 3c 43 4f 44 45 3e 4c 43 5f 43 54 59 50 45 3c 2f 43 4f 44 ocale.of.the.<CODE>LC_CTYPE</COD
e7340 45 3e 20 63 61 74 65 67 6f 72 79 29 2e 20 20 49 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 E>.category)...If.<VAR>wc</VAR>.
e7360 69 73 20 6e 6f 0a 20 20 20 20 20 20 20 20 20 76 61 6c 69 64 20 77 69 64 65 20 63 68 61 72 61 63 is.no..........valid.wide.charac
e7380 74 65 72 2c 20 6e 6f 74 68 69 6e 67 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 73 74 ter,.nothing.is.stored.in.the.st
e73a0 72 69 6e 67 73 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f rings.<VAR>s</VAR>,..........<CO
e73c0 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 69 73 20 73 65 74 20 74 6f 20 3c 43 4f 44 45 3e DE>errno</CODE>.is.set.to.<CODE>
e73e0 45 49 4c 53 45 51 3c 2f 43 4f 44 45 3e 2c 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 EILSEQ</CODE>,.the.conversion.st
e7400 61 74 65 20 69 6e 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 ate.in.<VAR>ps</VAR>..........is
e7420 20 75 6e 64 65 66 69 6e 65 64 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 .undefined.and.the.return.value.
e7440 69 73 20 3c 43 4f 44 45 3e 28 73 69 7a 65 5f 74 29 20 2d 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 is.<CODE>(size_t).-1</CODE>.....
e7460 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 6e 6f 20 65 72 72 6f 72 20 6f 63 63 75 72 ......<br><br>.If.no.error.occur
e7480 72 65 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d red.the.function.returns.the.num
e74a0 62 65 72 20 6f 66 20 62 79 74 65 73 20 73 74 6f 72 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 ber.of.bytes.stored.in..........
e74c0 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 73 3c 2f 56 41 52 3e 2e 20 20 54 68 69 73 20 69 the.string.<VAR>s</VAR>...This.i
e74e0 6e 63 6c 75 64 65 73 20 61 6c 6c 20 62 79 74 65 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 73 ncludes.all.bytes.representing.s
e7500 68 69 66 74 0a 20 20 20 20 20 20 20 20 20 73 65 71 75 65 6e 63 65 73 2e 0a 20 20 20 20 20 20 20 hift..........sequences.........
e7520 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 65 20 77 6f 72 64 20 61 62 6f 75 74 20 74 68 65 20 69 6e ..<br><br>.One.word.about.the.in
e7540 74 65 72 66 61 63 65 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 3a 20 74 68 65 72 65 20 69 terface.of.the.function:.there.i
e7560 73 20 6e 6f 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 79 69 s.no.parameter..........specifyi
e7580 6e 67 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e ng.the.length.of.the.array.<VAR>
e75a0 73 3c 2f 56 41 52 3e 2e 20 20 49 6e 73 74 65 61 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 s</VAR>...Instead.the.function..
e75c0 20 20 20 20 20 20 20 20 61 73 73 75 6d 65 73 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 61 ........assumes.that.there.are.a
e75e0 74 20 6c 65 61 73 74 20 3c 43 4f 44 45 3e 4d 42 5f 43 55 52 5f 4d 41 58 3c 2f 43 4f 44 45 3e 20 t.least.<CODE>MB_CUR_MAX</CODE>.
e7600 62 79 74 65 73 20 61 76 61 69 6c 61 62 6c 65 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 20 74 bytes.available.since..........t
e7620 68 69 73 20 69 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6c 65 6e 67 74 68 20 6f 66 20 61 6e 79 his.is.the.maximum.length.of.any
e7640 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 61 20 73 69 .byte.sequence.representing.a.si
e7660 6e 67 6c 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 2e 20 20 53 6f 20 74 68 65 ngle..........character...So.the
e7680 20 63 61 6c 6c 65 72 20 68 61 73 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 .caller.has.to.make.sure.that.th
e76a0 65 72 65 20 69 73 20 65 6e 6f 75 67 68 20 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 61 76 61 ere.is.enough.space..........ava
e76c0 69 6c 61 62 6c 65 2c 20 6f 74 68 65 72 77 69 73 65 20 62 75 66 66 65 72 20 6f 76 65 72 72 75 6e ilable,.otherwise.buffer.overrun
e76e0 73 20 63 61 6e 20 6f 63 63 75 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c s.can.occur...........<br><br>.<
e7700 43 4f 44 45 3e 77 63 72 74 6f 6d 62 3c 2f 43 4f 44 45 3e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 CODE>wcrtomb</CODE>.was.introduc
e7720 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 74 6f 20 49 53 4f 20 43 39 30 20 61 6e 64 ed.in.Amendment.1.to.ISO.C90.and
e7740 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 .is..........declared.in.<TT>wch
e7760 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 ar.h</TT>..........sq.~......w..
e7780 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 28 74 00 34 63 68 61 72 20 2a 72 65 73 74 ...t..wchar.hxq.~.(t.4char.*rest
e77a0 72 69 63 74 20 73 2c 20 77 63 68 61 72 5f 74 20 77 63 2c 20 6d 62 73 74 61 74 65 5f 74 20 2a 72 rict.s,.wchar_t.wc,.mbstate_t.*r
e77c0 65 73 74 72 69 63 74 20 70 73 74 00 06 73 69 7a 65 5f 74 74 00 0a 77 63 73 63 61 73 65 63 6d 70 estrict.pst..size_tt..wcscasecmp
e77e0 73 71 00 7e 00 0a 70 74 01 df 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e sq.~..pt...........This.function
e7800 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 77 63 73 63 6d 70 3c 2f 43 4f 44 45 3e 2c 20 65 78 .is.like.<CODE>wcscmp</CODE>,.ex
e7820 63 65 70 74 20 74 68 61 74 20 64 69 66 66 65 72 65 6e 63 65 73 20 69 6e 20 63 61 73 65 20 61 72 cept.that.differences.in.case.ar
e7840 65 0a 20 20 20 20 20 20 20 20 20 69 67 6e 6f 72 65 64 2e 20 20 48 6f 77 20 75 70 70 65 72 63 61 e..........ignored...How.upperca
e7860 73 65 20 61 6e 64 20 6c 6f 77 65 72 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 se.and.lowercase.characters.are.
e7880 72 65 6c 61 74 65 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 64 65 74 65 72 6d 69 6e 65 64 20 62 related.is..........determined.b
e78a0 79 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 6c 6f 63 61 6c 65 2e y.the.currently.selected.locale.
e78c0 20 20 49 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 3c 43 4f 44 45 3e 22 43 22 3c 2f 43 4f 44 ..In.the.standard.<CODE>"C"</COD
e78e0 45 3e 0a 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 65 20 74 68 65 20 63 68 61 72 61 63 74 65 72 E>..........locale.the.character
e7900 73 20 22 41 20 61 6e 64 20 22 61 20 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 62 75 74 20 69 6e 20 s."A.and."a.do.not.match.but.in.
e7920 61 20 6c 6f 63 61 6c 65 20 77 68 69 63 68 0a 20 20 20 20 20 20 20 20 20 72 65 67 61 72 64 73 20 a.locale.which..........regards.
e7940 74 68 65 73 65 20 63 68 61 72 61 63 74 65 72 73 20 61 73 20 70 61 72 74 73 20 6f 66 20 74 68 65 these.characters.as.parts.of.the
e7960 20 61 6c 70 68 61 62 65 74 20 74 68 65 79 20 64 6f 20 6d 61 74 63 68 2e 0a 20 20 20 20 20 20 20 .alphabet.they.do.match.........
e7980 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 73 63 61 ..<br><br>...........<CODE>wcsca
e79a0 73 65 63 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e secmp</CODE>.is.a.GNU.extension.
e79c0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 .........sq.~......w.....t..wcha
e79e0 72 2e 68 78 71 00 7e 1f 2f 74 00 26 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 31 2c 20 r.hxq.~./t.&const.wchar_t.*ws1,.
e7a00 63 6f 6e 73 74 20 77 63 68 61 72 5f 54 20 2a 77 73 32 74 00 03 69 6e 74 74 00 06 77 63 73 63 61 const.wchar_T.*ws2t..intt..wcsca
e7a20 74 73 71 00 7e 00 0a 70 74 02 ef 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 tsq.~..pt...........The.<CODE>wc
e7a40 73 63 61 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 scat</CODE>.function.is.similar.
e7a60 74 6f 20 3c 43 4f 44 45 3e 77 63 73 63 70 79 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 to.<CODE>wcscpy</CODE>,.except.t
e7a80 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d hat.the..........characters.from
e7aa0 20 3c 56 41 52 3e 77 66 72 6f 6d 3c 2f 56 41 52 3e 20 61 72 65 20 63 6f 6e 63 61 74 65 6e 61 74 .<VAR>wfrom</VAR>.are.concatenat
e7ac0 65 64 20 6f 72 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 0a 20 20 20 ed.or.appended.to.the.end.of....
e7ae0 20 20 20 20 20 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2c 20 69 6e 73 74 65 61 64 20 6f 66 ......<VAR>wto</VAR>,.instead.of
e7b00 20 6f 76 65 72 77 72 69 74 69 6e 67 20 69 74 2e 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 66 .overwriting.it...That.is,.the.f
e7b20 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 3c 56 41 irst.character.from..........<VA
e7b40 52 3e 77 66 72 6f 6d 3c 2f 56 41 52 3e 20 6f 76 65 72 77 72 69 74 65 73 20 74 68 65 20 6e 75 6c R>wfrom</VAR>.overwrites.the.nul
e7b60 6c 20 63 68 61 72 61 63 74 65 72 20 6d 61 72 6b 69 6e 67 20 74 68 65 20 65 6e 64 20 6f 66 20 3c l.character.marking.the.end.of.<
e7b80 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e VAR>wto</VAR>...........<br><br>
e7ba0 20 41 6e 20 65 71 75 69 76 61 6c 65 6e 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 3c 43 .An.equivalent.definition.for.<C
e7bc0 4f 44 45 3e 77 63 73 63 61 74 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 20 62 65 3a 0a 20 20 20 20 ODE>wcscat</CODE>.would.be:.....
e7be0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 .....<br><br>.<pre><br>.........
e7c00 20 77 63 68 61 72 5f 74 20 2a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 77 63 73 63 61 74 20 28 .wchar_t.*<br>..........wcscat.(
e7c20 77 63 68 61 72 5f 74 20 2a 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 66 72 wchar_t.*wto,.const.wchar_t.*wfr
e7c40 6f 6d 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 om)<br>..........{<br>..........
e7c60 20 20 77 63 73 63 70 79 20 28 77 74 6f 20 2b 20 77 63 73 6c 65 6e 20 28 77 74 6f 29 2c 20 77 66 ..wcscpy.(wto.+.wcslen.(wto),.wf
e7c80 72 6f 6d 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 77 74 6f 3b rom);<br>............return.wto;
e7ca0 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 <br>..........}<br>..........</p
e7cc0 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 re>..........<br><br>.This.funct
e7ce0 69 6f 6e 20 68 61 73 20 75 6e 64 65 66 69 6e 65 64 20 72 65 73 75 6c 74 73 20 69 66 20 74 68 65 ion.has.undefined.results.if.the
e7d00 20 73 74 72 69 6e 67 73 20 6f 76 65 72 6c 61 70 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f .strings.overlap..........sq.~..
e7d20 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 36 74 00 34 77 63 68 ....w.....t..wchar.hxq.~.6t.4wch
e7d40 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f ar_t.*restrict.wto,.const.wchar_
e7d60 74 20 2a 72 65 73 74 72 69 63 74 20 77 66 72 6f 6d 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 06 t.*restrict.wfromt..wchar_t.*t..
e7d80 77 63 73 63 68 72 73 71 00 7e 00 0a 70 74 02 ca 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f wcschrsq.~..pt...........The.<CO
e7da0 44 45 3e 77 63 73 63 68 72 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 73 20 DE>wcschr</CODE>.function.finds.
e7dc0 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 74 68 65 20 77 69 64 65 the.first.occurrence.of.the.wide
e7de0 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 ..........character.<VAR>wc</VAR
e7e00 3e 20 69 6e 20 74 68 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 77 69 64 65 20 63 68 >.in.the.null-terminated.wide.ch
e7e20 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 6e 69 6e aracter.string..........beginnin
e7e40 67 20 61 74 20 3c 56 41 52 3e 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 72 65 g.at.<VAR>wstring</VAR>...The.re
e7e60 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 turn.value.is.a.pointer.to.the..
e7e80 20 20 20 20 20 20 20 20 6c 6f 63 61 74 65 64 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 2c 20 ........located.wide.character,.
e7ea0 6f 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 6e 6f 20 6d 61 74 63 68 20 77 61 or.a.null.pointer.if.no.match.wa
e7ec0 73 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 74 s.found...........<br><br>.The.t
e7ee0 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 20 63 6f 6e erminating.null.character.is.con
e7f00 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 77 69 64 65 0a 20 sidered.to.be.part.of.the.wide..
e7f20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 2c 20 73 6f 20 79 6f 75 ........character.string,.so.you
e7f40 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 20 61 20 70 6f 69 .can.use.this.function.get.a.poi
e7f60 6e 74 65 72 20 74 6f 20 74 68 65 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 6f 66 20 61 20 77 69 nter.to.the.end..........of.a.wi
e7f80 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 62 79 20 73 70 65 63 69 66 79 69 6e de.character.string.by.specifyin
e7fa0 67 20 61 20 6e 75 6c 6c 20 77 75 64 65 20 63 68 61 72 61 63 74 65 72 20 61 73 20 74 68 65 0a 20 g.a.null.wude.character.as.the..
e7fc0 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 3c 56 41 52 3e 77 63 3c 2f 56 41 ........value.of.the.<VAR>wc</VA
e7fe0 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 74 20 77 6f 75 6c 64 20 62 65 20 62 65 74 74 65 72 R>.argument...It.would.be.better
e8000 20 28 62 75 74 20 6c 65 73 73 20 70 6f 72 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 74 6f .(but.less.portable)..........to
e8020 20 75 73 65 20 3c 43 4f 44 45 3e 77 63 73 63 68 72 6e 75 6c 3c 2f 43 4f 44 45 3e 20 69 6e 20 74 .use.<CODE>wcschrnul</CODE>.in.t
e8040 68 69 73 20 63 61 73 65 2c 20 74 68 6f 75 67 68 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f his.case,.though..........sq.~..
e8060 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 3d 74 00 1e 63 6f 6e ....w.....t..wchar.hxq.~.=t..con
e8080 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 74 72 69 6e 67 2c 20 69 6e 74 20 77 63 74 00 09 77 63 st.wchar_t.*wstring,.int.wct..wc
e80a0 68 61 72 5f 74 20 2a 74 00 09 77 63 73 63 68 72 6e 75 6c 73 71 00 7e 00 0a 70 74 01 31 0a 20 20 har_t.*t..wcschrnulsq.~..pt.1...
e80c0 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 73 63 68 72 6e 75 6c 3c 2f 43 4f 44 45 3e 20 69 73 20 ......<CODE>wcschrnul</CODE>.is.
e80e0 74 68 65 20 73 61 6d 65 20 61 73 20 3c 43 4f 44 45 3e 77 63 73 63 68 72 3c 2f 43 4f 44 45 3e 20 the.same.as.<CODE>wcschr</CODE>.
e8100 65 78 63 65 70 74 20 74 68 61 74 20 69 66 20 69 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 except.that.if.it.does.not......
e8120 20 20 20 20 66 69 6e 64 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 2c 20 69 74 20 ....find.the.wide.character,.it.
e8140 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 77 69 64 65 20 63 68 61 72 61 63 returns.a.pointer.to.wide.charac
e8160 74 65 72 20 73 74 72 69 6e 67 27 73 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 74 69 6e ter.string's..........terminatin
e8180 67 20 6e 75 6c 6c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 72 61 74 68 65 72 20 74 68 61 g.null.wide.character.rather.tha
e81a0 6e 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c n.a.null.pointer...........<br><
e81c0 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e br>.This.function.is.a.GNU.exten
e81e0 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 sion..........sq.~......w.....t.
e8200 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 44 74 00 22 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a .wchar.hxq.~.Dt."const.wchar_t.*
e8220 77 73 74 72 69 6e 67 2c 20 77 63 68 61 72 5f 74 20 77 63 74 00 09 77 63 68 61 72 5f 74 20 2a 74 wstring,.wchar_t.wct..wchar_t.*t
e8240 00 06 77 63 73 63 6d 70 73 71 00 7e 00 0a 70 74 03 75 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c ..wcscmpsq.~..pt.u.........<br><
e8260 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 63 6d 70 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 br>.The.<CODE>wcscmp</CODE>.func
e8280 74 69 6f 6e 20 63 6f 6d 70 61 72 65 73 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 tion.compares.the.wide.character
e82a0 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 73 31 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 .string.<VAR>ws1</VAR>..........
e82c0 61 67 61 69 6e 73 74 20 3c 56 41 52 3e 77 73 32 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c against.<VAR>ws2</VAR>...The.val
e82e0 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 6f 72 20 6c ue.returned.is.smaller.than.or.l
e8300 61 72 67 65 72 20 74 68 61 6e 20 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 64 65 70 65 6e 64 69 arger.than.zero..........dependi
e8320 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 20 66 69 72 73 74 20 64 69 66 66 65 72 69 6e ng.on.whether.the.first.differin
e8340 67 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 3c 56 41 52 3e 77 73 31 3c 2f 56 41 g.wide.character.is.<VAR>ws1</VA
e8360 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 6d 61 6c 6c 65 72 20 6f 72 20 6c 61 72 67 65 72 R>.is..........smaller.or.larger
e8380 20 74 68 61 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 63 68 61 72 61 63 74 65 .than.the.corresponding.characte
e83a0 72 20 69 6e 20 3c 56 41 52 3e 77 73 32 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 r.in.<VAR>ws2</VAR>...........<b
e83c0 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 74 77 6f 20 73 74 72 69 6e 67 73 20 61 72 65 20 65 71 r><br>.If.the.two.strings.are.eq
e83e0 75 61 6c 2c 20 3c 43 4f 44 45 3e 77 63 73 63 6d 70 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 ual,.<CODE>wcscmp</CODE>.returns
e8400 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .<CODE>0</CODE>...........<br><b
e8420 72 3e 20 41 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6f 72 64 65 72 69 6e 67 r>.A.consequence.of.the.ordering
e8440 20 75 73 65 64 20 62 79 20 3c 43 4f 44 45 3e 77 63 73 63 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 .used.by.<CODE>wcscmp</CODE>.is.
e8460 74 68 61 74 20 69 66 20 3c 56 41 52 3e 77 73 31 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 that.if.<VAR>ws1</VAR>..........
e8480 69 73 20 61 6e 20 69 6e 69 74 69 61 6c 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 3c 56 41 52 3e is.an.initial.substring.of.<VAR>
e84a0 77 73 32 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 20 3c 56 41 52 3e 77 73 31 3c 2f 56 41 52 3e 20 69 ws2</VAR>,.then.<VAR>ws1</VAR>.i
e84c0 73 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20 20 60 60 6c 65 s.considered.to.be..........``le
e84e0 73 73 20 74 68 61 6e 27 27 20 3c 56 41 52 3e 77 73 32 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 ss.than''.<VAR>ws2</VAR>........
e8500 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 77 63 73 63 6d 70 3c 2f 43 4f 44 45 3e 20 ...<br><br>.<CODE>wcscmp</CODE>.
e8520 64 6f 65 73 20 6e 6f 74 20 74 61 6b 65 20 73 6f 72 74 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e does.not.take.sorting.convention
e8540 73 20 6f 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 s.of.the.language.the..........s
e8560 74 72 69 6e 67 73 20 61 72 65 20 77 72 69 74 74 65 6e 20 69 6e 20 69 6e 74 6f 20 61 63 63 6f 75 trings.are.written.in.into.accou
e8580 6e 74 2e 20 20 54 6f 20 67 65 74 20 74 68 61 74 20 6f 6e 65 20 68 61 73 20 74 6f 20 75 73 65 0a nt...To.get.that.one.has.to.use.
e85a0 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 73 63 6f 6c 6c 3c 2f 43 4f 44 45 3e 2e 0a 20 .........<CODE>wcscoll</CODE>...
e85c0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e .......sq.~......w.....t..wchar.
e85e0 68 78 71 00 7e 1f 4b 74 00 26 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 31 2c 20 63 6f hxq.~.Kt.&const.wchar_t.*ws1,.co
e8600 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 32 74 00 03 69 6e 74 74 00 07 77 63 73 63 6f 6c 6c nst.wchar_t.*ws2t..intt..wcscoll
e8620 73 71 00 7e 00 0a 70 74 00 d1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 sq.~..pt...........The.<CODE>wcs
e8640 63 6f 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 coll</CODE>.function.is.similar.
e8660 74 6f 20 3c 43 4f 44 45 3e 77 63 73 63 6d 70 3c 2f 43 4f 44 45 3e 20 62 75 74 20 75 73 65 73 20 to.<CODE>wcscmp</CODE>.but.uses.
e8680 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 61 74 69 6e 67 20 73 65 71 75 65 6e 63 65 20 the..........collating.sequence.
e86a0 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 20 66 6f 72 20 63 6f 6c 6c 61 74 of.the.current.locale.for.collat
e86c0 69 6f 6e 20 28 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 43 5f 43 4f 4c 4c 41 ion.(the..........<CODE>LC_COLLA
e86e0 54 45 3c 2f 43 4f 44 45 3e 20 6c 6f 63 61 6c 65 29 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 TE</CODE>.locale)..........sq.~.
e8700 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 52 74 00 26 63 6f .....w.....t..wchar.hxq.~.Rt.&co
e8720 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 31 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 nst.wchar_t.*ws1,.const.wchar_t.
e8740 2a 77 73 32 74 00 03 69 6e 74 74 00 06 77 63 73 63 70 79 73 71 00 7e 00 0a 70 74 01 4d 0a 20 20 *ws2t..intt..wcscpysq.~..pt.M...
e8760 20 20 20 20 20 20 54 68 69 73 20 63 6f 70 69 65 73 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 ......This.copies.wide.character
e8780 73 20 66 72 6f 6d 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 66 72 6f 6d 3c 2f 56 41 s.from.the.string.<VAR>wfrom</VA
e87a0 52 3e 20 28 75 70 20 74 6f 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 R>.(up.to.and..........including
e87c0 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 77 69 64 65 20 63 68 61 72 61 .the.terminating.null.wide.chara
e87e0 63 74 65 72 29 20 69 6e 74 6f 20 74 68 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c cter).into.the.string..........<
e8800 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 20 20 4c 69 6b 65 20 3c 43 4f 44 45 3e 77 6d 65 6d 63 VAR>wto</VAR>...Like.<CODE>wmemc
e8820 70 79 3c 2f 43 4f 44 45 3e 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 75 6e 64 py</CODE>,.this.function.has.und
e8840 65 66 69 6e 65 64 20 72 65 73 75 6c 74 73 20 69 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 efined.results.if..........the.s
e8860 74 72 69 6e 67 73 20 6f 76 65 72 6c 61 70 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 trings.overlap...The.return.valu
e8880 65 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e e.is.the.value.of.<VAR>wto</VAR>
e88a0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 ..........sq.~......w.....t..wch
e88c0 61 72 2e 68 78 71 00 7e 1f 59 74 00 34 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 ar.hxq.~.Yt.4wchar_t.*restrict.w
e88e0 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 66 72 6f to,.const.wchar_t.*restrict.wfro
e8900 6d 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 07 77 63 73 63 73 70 6e 73 71 00 7e 00 0a 70 74 01 mt..wchar_t.*t..wcscspnsq.~..pt.
e8920 d2 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 63 73 70 6e 3c 2f 43 4f 44 ..........The.<CODE>wcscspn</COD
e8940 45 3e 20 28 60 60 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 63 6f 6d 70 E>.(``wide.character.string.comp
e8960 6c 65 6d 65 6e 74 20 73 70 61 6e 27 27 29 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 lement.span'').function.........
e8980 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 69 6e 69 74 69 .returns.the.length.of.the.initi
e89a0 61 6c 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 3c 56 41 52 3e 77 73 74 72 69 6e 67 3c 2f 56 41 al.substring.of.<VAR>wstring</VA
e89c0 52 3e 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 69 73 74 73 20 65 6e 74 69 72 65 R>.that..........consists.entire
e89e0 6c 79 20 6f 66 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 61 72 65 20 3c ly.of.wide.characters.that.are.<
e8a00 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 EM>not</EM>.members.of.the......
e8a20 20 20 20 20 73 65 74 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 73 74 72 69 6e 67 20 ....set.specified.by.the.string.
e8a40 3c 56 41 52 3e 73 74 6f 70 73 65 74 3c 2f 56 41 52 3e 2e 20 20 28 49 6e 20 6f 74 68 65 72 20 77 <VAR>stopset</VAR>...(In.other.w
e8a60 6f 72 64 73 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 66 ords,.it.returns..........the.of
e8a80 66 73 65 74 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 3c fset.of.the.first.character.in.<
e8aa0 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 74 68 61 74 20 69 73 20 61 20 6d 65 6d 62 65 VAR>string</VAR>.that.is.a.membe
e8ac0 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 73 65 74 20 3c 56 41 52 3e 73 74 6f 70 73 r.of..........the.set.<VAR>stops
e8ae0 65 74 3c 2f 56 41 52 3e 2e 29 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 et</VAR>.).........sq.~......w..
e8b00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 60 74 00 2e 63 6f 6e 73 74 20 77 63 68 61 ...t..wchar.hxq.~.`t..const.wcha
e8b20 72 5f 74 20 2a 77 73 74 72 69 6e 67 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 73 74 6f r_t.*wstring,.const.wchar_t.*sto
e8b40 70 73 65 74 74 00 06 73 69 7a 65 5f 74 74 00 06 77 63 73 64 75 70 73 71 00 7e 00 0a 70 74 01 e0 psett..size_tt..wcsdupsq.~..pt..
e8b60 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 74 68 .........This.function.copies.th
e8b80 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 e.null-terminated.wide.character
e8ba0 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 73 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 .string.<VAR>ws</VAR>..........i
e8bc0 6e 74 6f 20 61 20 6e 65 77 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 73 74 72 69 6e 67 2e 20 20 54 nto.a.newly.allocated.string...T
e8be0 68 65 20 73 74 72 69 6e 67 20 69 73 20 61 6c 6c 6f 63 61 74 65 64 20 75 73 69 6e 67 0a 20 20 20 he.string.is.allocated.using....
e8c00 20 20 20 20 20 20 3c 43 4f 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 3b 20 73 65 65 20 55 ......<CODE>malloc</CODE>;.see.U
e8c20 6e 63 6f 6e 73 74 72 61 69 6e 65 64 20 41 6c 6c 6f 63 61 74 69 6f 6e 2e 20 20 49 66 20 3c 43 4f nconstrained.Allocation...If.<CO
e8c40 44 45 3e 6d 61 6c 6c 6f 63 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 63 61 6e 6e 6f 74 DE>malloc</CODE>..........cannot
e8c60 20 61 6c 6c 6f 63 61 74 65 20 73 70 61 63 65 20 66 6f 72 20 74 68 65 20 6e 65 77 20 73 74 72 69 .allocate.space.for.the.new.stri
e8c80 6e 67 2c 20 3c 43 4f 44 45 3e 77 63 73 64 75 70 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 ng,.<CODE>wcsdup</CODE>.returns.
e8ca0 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 2e 20 20 4f 74 68 65 72 77 a.null..........pointer...Otherw
e8cc0 69 73 65 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 ise.it.returns.a.pointer.to.the.
e8ce0 6e 65 77 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 new.wide.character..........stri
e8d00 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 ng...........<br><br>.This.funct
e8d20 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 ion.is.a.GNU.extension..........
e8d40 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 67 sq.~......w.....t..wchar.hxq.~.g
e8d60 74 00 11 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 74 00 09 77 63 68 61 72 5f 74 20 2a t..const.wchar_t.*wst..wchar_t.*
e8d80 74 00 08 77 63 73 66 74 69 6d 65 73 71 00 7e 00 0a 70 74 05 6f 0a 20 20 20 20 20 20 20 20 54 68 t..wcsftimesq.~..pt.o.........Th
e8da0 65 20 3c 43 4f 44 45 3e 77 63 73 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e e.<CODE>wcsftime</CODE>.function
e8dc0 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 66 .is.equivalent.to.the.<CODE>strf
e8de0 74 69 6d 65 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 77 69 time</CODE>..........function.wi
e8e00 74 68 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 74 68 61 74 20 69 74 20 6f 70 65 72 61 74 th.the.difference.that.it.operat
e8e20 65 73 20 6f 6e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 73 74 es.on.wide.character..........st
e8e40 72 69 6e 67 73 2e 20 20 54 68 65 20 62 75 66 66 65 72 20 77 68 65 72 65 20 74 68 65 20 72 65 73 rings...The.buffer.where.the.res
e8e60 75 6c 74 20 69 73 20 73 74 6f 72 65 64 2c 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 ult.is.stored,.pointed.to.by.<VA
e8e80 52 3e 73 3c 2f 56 41 52 3e 2c 0a 20 20 20 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 61 6e 20 61 R>s</VAR>,..........must.be.an.a
e8ea0 72 72 61 79 20 6f 66 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 54 68 65 20 70 61 rray.of.wide.characters...The.pa
e8ec0 72 61 6d 65 74 65 72 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 77 68 69 63 68 0a 20 20 rameter.<VAR>size</VAR>.which...
e8ee0 20 20 20 20 20 20 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 .......specifies.the.size.of.the
e8f00 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 20 67 69 76 65 73 20 74 68 65 20 6e 75 6d 62 65 72 20 .output.buffer.gives.the.number.
e8f20 6f 66 20 77 69 64 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 2c 20 6e 6f 74 20 of.wide..........character,.not.
e8f40 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 the.number.of.bytes...........<b
e8f60 72 3e 3c 62 72 3e 20 41 6c 73 6f 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 3c 56 r><br>.Also.the.format.string.<V
e8f80 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 20 69 73 20 61 20 77 69 64 65 20 63 68 61 72 AR>template</VAR>.is.a.wide.char
e8fa0 61 63 74 65 72 20 73 74 72 69 6e 67 2e 20 20 53 69 6e 63 65 0a 20 20 20 20 20 20 20 20 20 61 6c acter.string...Since..........al
e8fc0 6c 20 63 68 61 72 61 63 74 65 72 73 20 6e 65 65 64 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 l.characters.needed.to.specify.t
e8fe0 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 61 72 65 20 69 6e 20 74 68 65 20 62 61 73 69 he.format.string.are.in.the.basi
e9000 63 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 73 65 74 20 69 74 20 69 73 20 70 c..........character.set.it.is.p
e9020 6f 72 74 61 62 6c 79 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 77 72 69 74 65 20 66 6f 72 6d 61 74 ortably.possible.to.write.format
e9040 20 73 74 72 69 6e 67 73 20 69 6e 20 74 68 65 20 43 0a 20 20 20 20 20 20 20 20 20 73 6f 75 72 63 .strings.in.the.C..........sourc
e9060 65 20 63 6f 64 65 20 75 73 69 6e 67 20 74 68 65 20 3c 43 4f 44 45 3e 4c 22 3c 73 6d 61 6c 6c 3e e.code.using.the.<CODE>L"<small>
e9080 2e 2e 2e 3c 2f 73 6d 61 6c 6c 3e 22 3c 2f 43 4f 44 45 3e 20 6e 6f 74 61 74 69 6f 6e 2e 20 20 54 ...</small>"</CODE>.notation...T
e90a0 68 65 20 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 72 6f 6b 65 he.parameter..........<VAR>broke
e90c0 6e 74 69 6d 65 3c 2f 56 41 52 3e 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6d 65 61 6e 69 6e 67 ntime</VAR>.has.the.same.meaning
e90e0 20 61 73 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e .as.in.the.<CODE>strftime</CODE>
e9100 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f .call...........<br><br>.The.<CO
e9120 44 45 3e 77 63 73 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 DE>wcsftime</CODE>.function.supp
e9140 6f 72 74 73 20 74 68 65 20 73 61 6d 65 20 66 6c 61 67 73 2c 20 6d 6f 64 69 66 69 65 72 73 2c 20 orts.the.same.flags,.modifiers,.
e9160 61 6e 64 0a 20 20 20 20 20 20 20 20 20 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 65 72 73 20 61 and..........format.specifiers.a
e9180 73 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 s.the.<CODE>strftime</CODE>.func
e91a0 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 tion...........<br><br>.The.retu
e91c0 72 6e 20 76 61 6c 75 65 20 6f 66 20 3c 43 4f 44 45 3e 77 63 73 66 74 69 6d 65 3c 2f 43 4f 44 45 rn.value.of.<CODE>wcsftime</CODE
e91e0 3e 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 77 69 64 65 20 63 68 61 72 61 63 74 65 >.is.the.number.of.wide.characte
e9200 72 73 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 64 20 69 6e 20 3c 43 4f 44 45 3e 73 3c 2f 43 rs..........stored.in.<CODE>s</C
e9220 4f 44 45 3e 2e 20 20 57 68 65 6e 20 6d 6f 72 65 20 63 68 61 72 61 63 74 65 72 73 20 77 6f 75 6c ODE>...When.more.characters.woul
e9240 64 20 68 61 76 65 20 74 6f 20 62 65 20 77 72 69 74 74 65 6e 20 74 68 61 6e 0a 20 20 20 20 20 20 d.have.to.be.written.than.......
e9260 20 20 20 63 61 6e 20 62 65 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 3c ...can.be.placed.in.the.buffer.<
e9280 56 41 52 3e 73 3c 2f 56 41 52 3e 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 VAR>s</VAR>.the.return.value.is.
e92a0 7a 65 72 6f 2c 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 61 6d 65 20 70 72 6f zero,.with.the..........same.pro
e92c0 62 6c 65 6d 73 20 69 6e 64 69 63 61 74 65 64 20 69 6e 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 blems.indicated.in.the.<CODE>str
e92e0 66 74 69 6d 65 3c 2f 43 4f 44 45 3e 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 ftime</CODE>.documentation......
e9300 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 74 69 6d 65 2e 68 78 71 00 ....sq.~......w.....t..time.hxq.
e9320 7e 1f 6e 74 00 4d 77 63 68 61 72 5f 74 20 2a 73 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 2c 20 63 ~.nt.Mwchar_t.*s,.size_t.size,.c
e9340 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 63 6f 6e 73 74 20 73 74 onst.wchar_t.*template,.const.st
e9360 72 75 63 74 20 74 6d 20 2a 62 72 6f 6b 65 6e 74 69 6d 65 74 00 06 73 69 7a 65 5f 74 74 00 06 77 ruct.tm.*brokentimet..size_tt..w
e9380 63 73 6c 65 6e 73 71 00 7e 00 0a 70 74 02 5d 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 cslensq.~..pt.].........The.<COD
e93a0 45 3e 77 63 73 6c 65 6e 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 E>wcslen</CODE>.function.is.the.
e93c0 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 wide.character.equivalent.to....
e93e0 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 6c 65 6e 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 ......<CODE>strlen</CODE>...The.
e9400 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 77 69 return.value.is.the.number.of.wi
e9420 64 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 77 69 de.characters.in.the..........wi
e9440 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 de.character.string.pointed.to.b
e9460 79 20 3c 56 41 52 3e 77 73 3c 2f 56 41 52 3e 20 28 74 68 69 73 20 69 73 20 61 6c 73 6f 20 74 68 y.<VAR>ws</VAR>.(this.is.also.th
e9480 65 20 6f 66 66 73 65 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 74 65 72 6d 69 6e 61 e.offset.of..........the.termina
e94a0 74 69 6e 67 20 6e 75 6c 6c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 6f 66 20 3c 56 41 52 ting.null.wide.character.of.<VAR
e94c0 3e 77 73 3c 2f 56 41 52 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 53 69 >ws</VAR>)...........<br><br>.Si
e94e0 6e 63 65 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 75 6c 74 69 20 77 69 64 65 20 63 68 61 72 nce.there.are.no.multi.wide.char
e9500 61 63 74 65 72 20 73 65 71 75 65 6e 63 65 73 20 6d 61 6b 69 6e 67 20 75 70 20 6f 6e 65 0a 20 20 acter.sequences.making.up.one...
e9520 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 .......character.the.return.valu
e9540 65 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 65 20 6f 66 66 73 65 74 20 69 6e 20 74 68 65 20 e.is.not.only.the.offset.in.the.
e9560 61 72 72 61 79 2c 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 6c 73 6f 20 74 68 65 20 6e array,.it.is..........also.the.n
e9580 75 6d 62 65 72 20 6f 66 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 umber.of.wide.characters........
e95a0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e ...<br><br>.This.function.was.in
e95c0 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 74 6f 20 49 53 4f 20 43 troduced.in.Amendment.1.to.ISO.C
e95e0 39 30 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 90..........sq.~......w.....t..w
e9600 63 68 61 72 2e 68 78 71 00 7e 1f 75 74 00 11 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 char.hxq.~.ut..const.wchar_t.*ws
e9620 74 00 06 73 69 7a 65 5f 74 74 00 0b 77 63 73 6e 63 61 73 65 63 6d 70 73 71 00 7e 00 0a 70 74 01 t..size_tt..wcsncasecmpsq.~..pt.
e9640 2f 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 /.........This.function.is.like.
e9660 3c 43 4f 44 45 3e 77 63 73 6e 63 6d 70 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 <CODE>wcsncmp</CODE>,.except.tha
e9680 74 20 64 69 66 66 65 72 65 6e 63 65 73 20 69 6e 20 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 61 t.differences.in.case..........a
e96a0 72 65 20 69 67 6e 6f 72 65 64 2e 20 20 4c 69 6b 65 20 3c 43 4f 44 45 3e 77 63 73 63 61 73 65 63 re.ignored...Like.<CODE>wcscasec
e96c0 6d 70 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 69 73 20 6c 6f 63 61 6c 65 20 64 65 70 65 6e 64 65 6e mp</CODE>,.it.is.locale.dependen
e96e0 74 20 68 6f 77 0a 20 20 20 20 20 20 20 20 20 75 70 70 65 72 63 61 73 65 20 61 6e 64 20 6c 6f 77 t.how..........uppercase.and.low
e9700 65 72 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 72 65 6c 61 74 65 64 2e 0a 20 ercase.characters.are.related...
e9720 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 ........<br><br>...........<CODE
e9740 3e 77 63 73 6e 63 61 73 65 63 6d 70 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 47 4e 55 20 65 78 74 >wcsncasecmp</CODE>.is.a.GNU.ext
e9760 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a ension..........sq.~......w.....
e9780 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 7c 74 00 2f 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 t..wchar.hxq.~.|t./const.wchar_t
e97a0 20 2a 77 73 31 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 73 32 2c 20 73 69 7a 65 5f 74 .*ws1,.const.wchar_t.*s2,.size_t
e97c0 20 6e 74 00 03 69 6e 74 74 00 07 77 63 73 6e 63 61 74 73 71 00 7e 00 0a 70 74 03 bc 0a 20 20 20 .nt..intt..wcsncatsq.~..pt......
e97e0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 .....This.function.is.like.<CODE
e9800 3e 77 63 73 63 61 74 3c 2f 43 4f 44 45 3e 20 65 78 63 65 70 74 20 74 68 61 74 20 6e 6f 74 20 6d >wcscat</CODE>.except.that.not.m
e9820 6f 72 65 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 ore.than.<VAR>size</VAR>........
e9840 20 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 3c 56 41 52 3e 66 72 6f 6d 3c 2f 56 41 52 ..characters.from.<VAR>from</VAR
e9860 3e 20 61 72 65 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 3c 56 41 >.are.appended.to.the.end.of.<VA
e9880 52 3e 74 6f 3c 2f 56 41 52 3e 2e 20 20 41 0a 20 20 20 20 20 20 20 20 20 73 69 6e 67 6c 65 20 6e R>to</VAR>...A..........single.n
e98a0 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61 6c 73 6f 20 61 6c 77 61 79 73 20 61 70 70 ull.character.is.also.always.app
e98c0 65 6e 64 65 64 20 74 6f 20 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 2c 20 73 6f 20 74 68 65 20 74 ended.to.<VAR>to</VAR>,.so.the.t
e98e0 6f 74 61 6c 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 20 73 69 7a 65 20 6f 66 20 otal..........allocated.size.of.
e9900 3c 56 41 52 3e 74 6f 3c 2f 56 41 52 3e 20 6d 75 73 74 20 62 65 20 61 74 20 6c 65 61 73 74 20 3c <VAR>to</VAR>.must.be.at.least.<
e9920 43 4f 44 45 3e 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 2b 20 31 3c 2f 43 4f 44 45 3e 20 CODE><VAR>size</VAR>.+.1</CODE>.
e9940 62 79 74 65 73 0a 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 69 74 73 20 69 bytes..........longer.than.its.i
e9960 6e 69 74 69 61 6c 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e nitial.length...........<br><br>
e9980 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 6e 63 61 74 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 .The.<CODE>wcsncat</CODE>.functi
e99a0 6f 6e 20 63 6f 75 6c 64 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 6c 69 6b 65 20 74 68 69 on.could.be.implemented.like.thi
e99c0 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 s:..........<br><br>.<pre><br>..
e99e0 20 20 20 20 20 20 20 20 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 77 63 68 61 72 5f 74 20 2a 3c ........<br>..........wchar_t.*<
e9a00 62 72 3e 0a 20 20 20 20 20 20 20 20 20 77 63 73 6e 63 61 74 20 28 77 63 68 61 72 5f 74 20 2a 72 br>..........wcsncat.(wchar_t.*r
e9a20 65 73 74 72 69 63 74 20 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 estrict.wto,.const.wchar_t.*rest
e9a40 72 69 63 74 20 77 66 72 6f 6d 2c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rict.wfrom,<br>.................
e9a60 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 ..size_t.size)<br>..........{<br
e9a80 3e 0a 20 20 20 20 20 20 20 20 20 20 20 77 74 6f 5b 77 63 73 6c 65 6e 20 28 74 6f 29 20 2b 20 73 >............wto[wcslen.(to).+.s
e9aa0 69 7a 65 5d 20 3d 20 4c 27 5c 30 27 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 77 63 73 ize].=.L'\0';<br>............wcs
e9ac0 6e 63 70 79 20 28 77 74 6f 20 2b 20 77 63 73 6c 65 6e 20 28 77 74 6f 29 2c 20 77 66 72 6f 6d 2c ncpy.(wto.+.wcslen.(wto),.wfrom,
e9ae0 20 73 69 7a 65 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 77 74 .size);<br>............return.wt
e9b00 6f 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c o;<br>..........}<br>..........<
e9b20 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 br>..........</pre>..........<br
e9b40 3e 3c 62 72 3e 20 54 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 3c 43 4f 44 45 3e 77 63 73 6e ><br>.The.behavior.of.<CODE>wcsn
e9b60 63 61 74 3c 2f 43 4f 44 45 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 73 cat</CODE>.is.undefined.if.the.s
e9b80 74 72 69 6e 67 73 20 6f 76 65 72 6c 61 70 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 trings.overlap..........sq.~....
e9ba0 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 83 74 00 41 77 63 68 61 72 ..w.....t..wchar.hxq.~..t.Awchar
e9bc0 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 _t.*restrict.wto,.const.wchar_t.
e9be0 2a 72 65 73 74 72 69 63 74 20 77 66 72 6f 6d 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 09 77 *restrict.wfrom,.size_t.sizet..w
e9c00 63 68 61 72 5f 74 20 2a 74 00 07 77 63 73 6e 63 6d 70 73 71 00 7e 00 0a 70 74 01 23 0a 20 20 20 char_t.*t..wcsncmpsq.~..pt.#....
e9c20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 20 73 69 6d 69 6c 61 .....This.function.is.the.simila
e9c40 72 20 74 6f 20 3c 43 4f 44 45 3e 77 63 73 63 6d 70 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 r.to.<CODE>wcscmp</CODE>,.except
e9c60 20 74 68 61 74 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 .that.no.more.than..........<VAR
e9c80 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 >size</VAR>.wide.characters.are.
e9ca0 63 6f 6d 70 61 72 65 64 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 66 20 74 68 compared...In.other.words,.if.th
e9cc0 65 20 74 77 6f 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 73 20 61 72 65 20 74 68 65 20 73 e.two..........strings.are.the.s
e9ce0 61 6d 65 20 69 6e 20 74 68 65 69 72 20 66 69 72 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 ame.in.their.first.<VAR>size</VA
e9d00 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 0a 20 20 20 20 20 20 20 20 R>.wide.characters,.the.........
e9d20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 73 .return.value.is.zero..........s
e9d40 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 8a 74 q.~......w.....t..wchar.hxq.~..t
e9d60 00 33 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 31 2c 20 63 6f 6e 73 74 20 77 63 68 61 .3const.wchar_t.*ws1,.const.wcha
e9d80 72 5f 74 20 2a 77 73 32 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 03 69 6e 74 74 00 07 77 63 r_t.*ws2,.size_t.sizet..intt..wc
e9da0 73 6e 63 70 79 73 71 00 7e 00 0a 70 74 05 5c 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e sncpysq.~..pt.\.........This.fun
e9dc0 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 43 4f 44 45 3e 77 63 73 63 70 79 ction.is.similar.to.<CODE>wcscpy
e9de0 3c 2f 43 4f 44 45 3e 20 62 75 74 20 61 6c 77 61 79 73 20 63 6f 70 69 65 73 20 65 78 61 63 74 6c </CODE>.but.always.copies.exactl
e9e00 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 y..........<VAR>size</VAR>.wide.
e9e20 63 68 61 72 61 63 74 65 72 73 20 69 6e 74 6f 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 0a characters.into.<VAR>wto</VAR>..
e9e40 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6c 65 6e 67 74 68 20 .........<br><br>.If.the.length.
e9e60 6f 66 20 3c 56 41 52 3e 77 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 73 20 6d 6f 72 65 20 74 68 61 6e of.<VAR>wfrom</VAR>.is.more.than
e9e80 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 .<VAR>size</VAR>,.then..........
e9ea0 3c 43 4f 44 45 3e 77 63 73 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 63 6f 70 69 65 73 20 6a 75 73 74 <CODE>wcsncpy</CODE>.copies.just
e9ec0 20 74 68 65 20 66 69 72 73 74 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 .the.first.<VAR>size</VAR>.wide.
e9ee0 63 68 61 72 61 63 74 65 72 73 2e 20 20 4e 6f 74 65 0a 20 20 20 20 20 20 20 20 20 74 68 61 74 20 characters...Note..........that.
e9f00 69 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 75 6c 6c 20 74 65 in.this.case.there.is.no.null.te
e9f20 72 6d 69 6e 61 74 6f 72 20 77 72 69 74 74 65 6e 20 69 6e 74 6f 20 3c 56 41 52 3e 77 74 6f 3c 2f rminator.written.into.<VAR>wto</
e9f40 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 6c VAR>...........<br><br>.If.the.l
e9f60 65 6e 67 74 68 20 6f 66 20 3c 56 41 52 3e 77 66 72 6f 6d 3c 2f 56 41 52 3e 20 69 73 20 6c 65 73 ength.of.<VAR>wfrom</VAR>.is.les
e9f80 73 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 74 68 65 6e 0a 20 20 20 s.than.<VAR>size</VAR>,.then....
e9fa0 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 73 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 63 6f 70 69 65 ......<CODE>wcsncpy</CODE>.copie
e9fc0 73 20 61 6c 6c 20 6f 66 20 3c 56 41 52 3e 77 66 72 6f 6d 3c 2f 56 41 52 3e 2c 20 66 6f 6c 6c 6f s.all.of.<VAR>wfrom</VAR>,.follo
e9fe0 77 65 64 20 62 79 20 65 6e 6f 75 67 68 20 6e 75 6c 6c 20 77 69 64 65 0a 20 20 20 20 20 20 20 20 wed.by.enough.null.wide.........
ea000 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 61 64 64 20 75 70 20 74 6f 20 3c 56 41 52 3e 73 69 .characters.to.add.up.to.<VAR>si
ea020 7a 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 61 6c 6c 2e ze</VAR>.wide.characters.in.all.
ea040 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 62 65 68 61 76 69 6f 72 20 69 73 20 72 61 72 65 ..This..........behavior.is.rare
ea060 6c 79 20 75 73 65 66 75 6c 2c 20 62 75 74 20 69 74 20 69 73 20 73 70 65 63 69 66 69 65 64 20 62 ly.useful,.but.it.is.specified.b
ea080 79 20 74 68 65 20 49 53 4f 20 43 0a 20 20 20 20 20 20 20 20 20 73 74 61 6e 64 61 72 64 2e 0a 20 y.the.ISO.C..........standard...
ea0a0 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 ........<br><br>.The.behavior.of
ea0c0 20 3c 43 4f 44 45 3e 77 63 73 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 69 73 20 75 6e 64 65 66 69 6e .<CODE>wcsncpy</CODE>.is.undefin
ea0e0 65 64 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 6f 76 65 72 6c 61 70 2e 0a 20 20 20 20 20 ed.if.the.strings.overlap.......
ea100 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 55 73 69 6e 67 20 3c 43 4f 44 45 3e 77 63 73 6e 63 70 79 ....<br><br>.Using.<CODE>wcsncpy
ea120 3c 2f 43 4f 44 45 3e 20 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 3c 43 4f 44 45 3e 77 63 73 63 </CODE>.as.opposed.to.<CODE>wcsc
ea140 70 79 3c 2f 43 4f 44 45 3e 20 69 73 20 61 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 62 75 67 73 py</CODE>.is.a.way.to.avoid.bugs
ea160 0a 20 20 20 20 20 20 20 20 20 72 65 6c 61 74 69 6e 67 20 74 6f 20 77 72 69 74 69 6e 67 20 70 61 ..........relating.to.writing.pa
ea180 73 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 73 70 61 63 st.the.end.of.the.allocated.spac
ea1a0 65 20 66 6f 72 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 48 e.for.<VAR>wto</VAR>...........H
ea1c0 6f 77 65 76 65 72 2c 20 69 74 20 63 61 6e 20 61 6c 73 6f 20 6d 61 6b 65 20 79 6f 75 72 20 70 72 owever,.it.can.also.make.your.pr
ea1e0 6f 67 72 61 6d 20 6d 75 63 68 20 73 6c 6f 77 65 72 20 69 6e 20 6f 6e 65 20 63 6f 6d 6d 6f 6e 20 ogram.much.slower.in.one.common.
ea200 63 61 73 65 3a 0a 20 20 20 20 20 20 20 20 20 63 6f 70 79 69 6e 67 20 61 20 73 74 72 69 6e 67 20 case:..........copying.a.string.
ea220 77 68 69 63 68 20 69 73 20 70 72 6f 62 61 62 6c 79 20 73 6d 61 6c 6c 20 69 6e 74 6f 20 61 20 70 which.is.probably.small.into.a.p
ea240 6f 74 65 6e 74 69 61 6c 6c 79 20 6c 61 72 67 65 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 otentially.large.buffer.........
ea260 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 ..In.this.case,.<VAR>size</VAR>.
ea280 6d 61 79 20 62 65 20 6c 61 72 67 65 2c 20 61 6e 64 20 77 68 65 6e 20 69 74 20 69 73 2c 20 3c 43 may.be.large,.and.when.it.is,.<C
ea2a0 4f 44 45 3e 77 63 73 6e 63 70 79 3c 2f 43 4f 44 45 3e 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 ODE>wcsncpy</CODE>.will.........
ea2c0 20 77 61 73 74 65 20 61 20 63 6f 6e 73 69 64 65 72 61 62 6c 65 20 61 6d 6f 75 6e 74 20 6f 66 20 .waste.a.considerable.amount.of.
ea2e0 74 69 6d 65 20 63 6f 70 79 69 6e 67 20 6e 75 6c 6c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 time.copying.null.wide.character
ea300 73 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 s..........sq.~......w.....t..wc
ea320 68 61 72 2e 68 78 71 00 7e 1f 91 74 00 41 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 har.hxq.~..t.Awchar_t.*restrict.
ea340 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 66 72 wto,.const.wchar_t.*restrict.wfr
ea360 6f 6d 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 07 77 63 om,.size_t.sizet..wchar_t.*t..wc
ea380 73 6e 6c 65 6e 73 71 00 7e 00 0a 70 74 01 13 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 snlensq.~..pt...........<CODE>wc
ea3a0 73 6e 6c 65 6e 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 snlen</CODE>.is.the.wide.charact
ea3c0 65 72 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 43 4f 44 45 3e 73 74 72 6e 6c 65 6e 3c 2f er.equivalent.to.<CODE>strnlen</
ea3e0 43 4f 44 45 3e 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6d 61 78 6c 65 6e CODE>...The..........<VAR>maxlen
ea400 3c 2f 56 41 52 3e 20 70 61 72 61 6d 65 74 65 72 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6d </VAR>.parameter.specifies.the.m
ea420 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 aximum.number.of.wide.characters
ea440 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f ...........<br><br>.This.functio
ea460 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 69 73 20 64 65 63 6c n.is.a.GNU.extension.and.is.decl
ea480 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 ared.in.<TT>wchar.h</TT>........
ea4a0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e ..sq.~......w.....t..wchar.hxq.~
ea4c0 1f 98 74 00 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 2c 20 73 69 7a 65 5f 74 20 6d ..t..const.wchar_t.*ws,.size_t.m
ea4e0 61 78 6c 65 6e 74 00 06 73 69 7a 65 5f 74 74 00 0a 77 63 73 6e 72 74 6f 6d 62 73 73 71 00 7e 00 axlent..size_tt..wcsnrtombssq.~.
ea500 0a 70 74 03 2a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 6e 72 74 6f 6d .pt.*.........The.<CODE>wcsnrtom
ea520 62 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 bs</CODE>.function.implements.th
ea540 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 77 69 64 65 0a 20 20 20 20 20 20 20 20 20 e.conversion.from.wide..........
ea560 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 73 20 74 6f 20 6d 75 6c 74 69 62 79 74 65 20 63 character.strings.to.multibyte.c
ea580 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 73 2e 20 20 49 74 20 69 73 20 73 69 6d 69 6c 61 72 haracter.strings...It.is.similar
ea5a0 20 74 6f 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 73 72 74 6f 6d 62 73 3c 2f 43 4f .to..........<CODE>wcsrtombs</CO
ea5c0 44 45 3e 20 62 75 74 2c 20 6a 75 73 74 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 6d 62 73 6e 72 74 6f DE>.but,.just.like.<CODE>mbsnrto
ea5e0 77 63 73 3c 2f 43 4f 44 45 3e 2c 20 69 74 20 74 61 6b 65 73 20 61 6e 20 65 78 74 72 61 0a 20 20 wcs</CODE>,.it.takes.an.extra...
ea600 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 2c 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 .......parameter,.which.specifie
ea620 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 s.the.length.of.the.input.string
ea640 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 20 6d 6f 72 65 20 74 68 61 6e ...........<br><br>.No.more.than
ea660 20 3c 56 41 52 3e 6e 77 63 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 .<VAR>nwc</VAR>.wide.characters.
ea680 66 72 6f 6d 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c from.the.input.string..........<
ea6a0 43 4f 44 45 3e 2a 3c 56 41 52 3e 73 72 63 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 61 72 65 20 CODE>*<VAR>src</VAR></CODE>.are.
ea6c0 63 6f 6e 76 65 72 74 65 64 2e 20 20 49 66 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 converted...If.the.input.string.
ea6e0 63 6f 6e 74 61 69 6e 73 20 61 20 4e 55 4c 0a 20 20 20 20 20 20 20 20 20 77 69 64 65 20 63 68 61 contains.a.NUL..........wide.cha
ea700 72 61 63 74 65 72 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 3c 56 41 52 3e 6e 77 63 3c 2f 56 41 racter.in.the.first.<VAR>nwc</VA
ea720 52 3e 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 R>.characters,.the.conversion.st
ea740 6f 70 73 20 61 74 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 70 6c 61 63 65 2e 0a 20 20 20 20 ops.at..........this.place......
ea760 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 6e 72 74 6f 6d .....<br><br>.The.<CODE>wcsnrtom
ea780 62 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 bs</CODE>.function.is.a.GNU.exte
ea7a0 6e 73 69 6f 6e 20 61 6e 64 20 6a 75 73 74 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f nsion.and.just.like..........<CO
ea7c0 44 45 3e 6d 62 73 6e 72 74 6f 77 63 73 3c 2f 43 4f 44 45 3e 20 68 65 6c 70 73 20 69 6e 20 73 69 DE>mbsnrtowcs</CODE>.helps.in.si
ea7e0 74 75 61 74 69 6f 6e 73 20 77 68 65 72 65 20 6e 6f 20 4e 55 4c 2d 74 65 72 6d 69 6e 61 74 65 64 tuations.where.no.NUL-terminated
ea800 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 73 20 61 72 65 20 61 76 61 69 .input..........strings.are.avai
ea820 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 lable..........sq.~......w.....t
ea840 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f 9f 74 00 60 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 ..wchar.hxq.~..t.`char.*restrict
ea860 20 64 73 74 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 2a 72 65 73 74 72 69 63 74 20 73 .dst,.const.wchar_t.**restrict.s
ea880 72 63 2c 20 73 69 7a 65 5f 74 20 6e 77 63 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 2c 20 6d 62 73 74 rc,.size_t.nwc,.size_t.len,.mbst
ea8a0 61 74 65 5f 74 20 2a 72 65 73 74 72 69 63 74 20 70 73 74 00 06 73 69 7a 65 5f 74 74 00 07 77 63 ate_t.*restrict.pst..size_tt..wc
ea8c0 73 70 62 72 6b 73 71 00 7e 00 0a 70 74 01 a9 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 spbrksq.~..pt...........The.<COD
ea8e0 45 3e 77 63 73 70 62 72 6b 3c 2f 43 4f 44 45 3e 20 28 60 60 77 69 64 65 20 63 68 61 72 61 63 74 E>wcspbrk</CODE>.(``wide.charact
ea900 65 72 20 73 74 72 69 6e 67 20 70 6f 69 6e 74 65 72 20 62 72 65 61 6b 27 27 29 20 66 75 6e 63 74 er.string.pointer.break'').funct
ea920 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 20 20 20 72 65 6c 61 74 65 64 20 74 6f 20 3c 43 4f 44 45 ion.is..........related.to.<CODE
ea940 3e 77 63 73 63 73 70 6e 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 >wcscspn</CODE>,.except.that.it.
ea960 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 66 69 72 73 74 0a 20 returns.a.pointer.to.the.first..
ea980 20 20 20 20 20 20 20 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 3c 56 41 52 3e 77 ........wide.character.in.<VAR>w
ea9a0 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 74 68 61 74 20 69 73 20 61 20 6d 65 6d 62 65 72 20 6f 66 string</VAR>.that.is.a.member.of
ea9c0 20 74 68 65 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 6f 70 73 65 74 3c 2f .the.set..........<VAR>stopset</
ea9e0 56 41 52 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 VAR>.instead.of.the.length.of.th
eaa00 65 20 69 6e 69 74 69 61 6c 20 73 75 62 73 74 72 69 6e 67 2e 20 20 49 74 0a 20 20 20 20 20 20 20 e.initial.substring...It........
eaa20 20 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 6e 6f 20 73 ..returns.a.null.pointer.if.no.s
eaa40 75 63 68 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 20 3c 56 41 52 3e 73 74 6f 70 73 65 74 3c uch.character.from.<VAR>stopset<
eaa60 2f 56 41 52 3e 20 69 73 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 /VAR>.is.found..........sq.~....
eaa80 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f a6 74 00 2e 63 6f 6e 73 74 ..w.....t..wchar.hxq.~..t..const
eaaa0 20 77 63 68 61 72 5f 74 20 2a 77 73 74 72 69 6e 67 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 .wchar_t.*wstring,.const.wchar_t
eaac0 20 2a 73 74 6f 70 73 65 74 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 07 77 63 73 72 63 68 72 73 .*stopsett..wchar_t.*t..wcsrchrs
eaae0 71 00 7e 00 0a 70 74 00 d8 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c q.~..pt...........The.function.<
eab00 43 4f 44 45 3e 77 63 73 72 63 68 72 3c 2f 43 4f 44 45 3e 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 CODE>wcsrchr</CODE>.is.like.<COD
eab20 45 3e 77 63 73 63 68 72 3c 2f 43 4f 44 45 3e 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 E>wcschr</CODE>,.except.that.it.
eab40 73 65 61 72 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 62 61 63 6b 77 61 72 64 73 20 66 72 6f 6d searches..........backwards.from
eab60 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 73 74 72 .the.end.of.the.string.<VAR>wstr
eab80 69 6e 67 3c 2f 56 41 52 3e 20 28 69 6e 73 74 65 61 64 20 6f 66 20 66 6f 72 77 61 72 64 73 0a 20 ing</VAR>.(instead.of.forwards..
eaba0 20 20 20 20 20 20 20 20 66 72 6f 6d 20 74 68 65 20 66 72 6f 6e 74 29 2e 0a 20 20 20 20 20 20 20 ........from.the.front).........
eabc0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f .sq.~......w.....t..wchar.hxq.~.
eabe0 ad 74 00 21 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 74 72 69 6e 67 2c 20 77 63 68 61 .t.!const.wchar_t.*wstring,.wcha
eac00 72 5f 74 20 63 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 09 77 63 73 72 74 6f 6d 62 73 73 71 00 r_t.ct..wchar_t.*t..wcsrtombssq.
eac20 7e 00 0a 70 74 09 18 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 72 74 6f ~..pt...........The.<CODE>wcsrto
eac40 6d 62 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 28 60 60 77 69 64 65 20 63 68 61 72 mbs</CODE>.function.(``wide.char
eac60 61 63 74 65 72 20 73 74 72 69 6e 67 20 72 65 73 74 61 72 74 61 62 6c 65 20 74 6f 0a 20 20 20 20 acter.string.restartable.to.....
eac80 20 20 20 20 20 6d 75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 27 27 29 20 63 6f 6e 76 65 72 74 .....multibyte.string'').convert
eaca0 73 20 74 68 65 20 4e 55 4c 2d 74 65 72 6d 69 6e 61 74 65 64 20 77 69 64 65 20 63 68 61 72 61 63 s.the.NUL-terminated.wide.charac
eacc0 74 65 72 20 73 74 72 69 6e 67 20 61 74 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 ter.string.at..........<CODE>*<V
eace0 41 52 3e 73 72 63 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 69 6e 74 6f 20 61 6e 20 65 71 75 69 AR>src</VAR></CODE>.into.an.equi
ead00 76 61 6c 65 6e 74 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e valent.multibyte.character.strin
ead20 67 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 65 20 72 65 73 75 6c 74 g.and..........stores.the.result
ead40 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 .in.the.array.pointed.to.by.<VAR
ead60 3e 64 73 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 4e 55 4c 20 77 69 64 65 0a 20 20 20 20 20 20 >dst</VAR>...The.NUL.wide.......
ead80 20 20 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61 6c 73 6f 20 63 6f 6e 76 65 72 74 65 64 2e 20 ...character.is.also.converted..
eada0 20 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 61 72 74 73 20 69 6e 20 74 68 65 20 73 74 .The.conversion.starts.in.the.st
eadc0 61 74 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 20 6f 62 ate..........described.in.the.ob
eade0 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e ject.pointed.to.by.<VAR>ps</VAR>
eae00 20 6f 72 20 62 79 20 61 20 73 74 61 74 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 6c .or.by.a.state.object..........l
eae20 6f 63 61 6c 6c 79 20 74 6f 20 3c 43 4f 44 45 3e 77 63 73 72 74 6f 6d 62 73 3c 2f 43 4f 44 45 3e ocally.to.<CODE>wcsrtombs</CODE>
eae40 20 69 6e 20 63 61 73 65 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c .in.case.<VAR>ps</VAR>.is.a.null
eae60 20 70 6f 69 6e 74 65 72 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 64 73 74 3c .pointer...If..........<VAR>dst<
eae80 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 63 6f 6e /VAR>.is.a.null.pointer,.the.con
eaea0 76 65 72 73 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 73 20 75 73 75 61 6c 20 62 75 version.is.performed.as.usual.bu
eaec0 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 74 20 61 76 61 t.the..........result.is.not.ava
eaee0 69 6c 61 62 6c 65 2e 20 20 49 66 20 61 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 74 68 ilable...If.all.characters.of.th
eaf00 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 77 65 72 65 0a 20 20 20 20 20 20 20 20 20 73 75 63 e.input.string.were..........suc
eaf20 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 76 65 72 74 65 64 20 61 6e 64 20 69 66 20 3c 56 41 52 3e cessfully.converted.and.if.<VAR>
eaf40 64 73 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c dst</VAR>.is.not.a.null.pointer,
eaf60 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 70 6f 69 6e 74 65 64 20 74 6f .the..........pointer.pointed.to
eaf80 20 62 79 20 3c 56 41 52 3e 73 72 63 3c 2f 56 41 52 3e 20 67 65 74 73 20 61 73 73 69 67 6e 65 64 .by.<VAR>src</VAR>.gets.assigned
eafa0 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 .a.null.pointer...........<br><b
eafc0 72 3e 20 49 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 r>.If.one.of.the.wide.characters
eafe0 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 68 61 73 20 6e 6f 20 76 61 6c 69 .in.the.input.string.has.no.vali
eb000 64 20 6d 75 6c 74 69 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 65 d.multibyte..........character.e
eb020 71 75 69 76 61 6c 65 6e 74 2c 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 74 6f 70 73 20 quivalent,.the.conversion.stops.
eb040 65 61 72 6c 79 2c 20 73 65 74 73 20 74 68 65 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 20 20 20 20 early,.sets.the.global..........
eb060 76 61 72 69 61 62 6c 65 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 74 6f 20 3c variable.<CODE>errno</CODE>.to.<
eb080 43 4f 44 45 3e 45 49 4c 53 45 51 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 CODE>EILSEQ</CODE>,.and.returns.
eb0a0 3c 43 4f 44 45 3e 28 73 69 7a 65 5f 74 29 20 2d 31 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 <CODE>(size_t).-1</CODE>........
eb0c0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 41 6e 6f 74 68 65 72 20 72 65 61 73 6f 6e 20 66 6f 72 20 61 ...<br><br>.Another.reason.for.a
eb0e0 20 70 72 65 6d 61 74 75 72 65 20 73 74 6f 70 20 69 73 20 69 66 20 3c 56 41 52 3e 64 73 74 3c 2f .premature.stop.is.if.<VAR>dst</
eb100 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 70 6f 69 6e VAR>.is.not.a.null..........poin
eb120 74 65 72 20 61 6e 64 20 74 68 65 20 6e 65 78 74 20 63 6f 6e 76 65 72 74 65 64 20 63 68 61 72 61 ter.and.the.next.converted.chara
eb140 63 74 65 72 20 77 6f 75 6c 64 20 72 65 71 75 69 72 65 20 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 cter.would.require.more.than....
eb160 20 20 20 20 20 20 3c 56 41 52 3e 6c 65 6e 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 69 6e 20 74 6f ......<VAR>len</VAR>.bytes.in.to
eb180 74 61 6c 20 74 6f 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e 64 73 74 3c 2f 56 41 52 3e 2e tal.to.the.array.<VAR>dst</VAR>.
eb1a0 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 28 61 6e 64 20 69 66 0a 20 20 20 20 20 20 20 20 20 ..In.this.case.(and.if..........
eb1c0 3c 56 41 52 3e 64 65 73 74 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f <VAR>dest</VAR>.is.not.a.null.po
eb1e0 69 6e 74 65 72 29 20 74 68 65 20 70 6f 69 6e 74 65 72 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 inter).the.pointer.pointed.to.by
eb200 20 3c 56 41 52 3e 73 72 63 3c 2f 56 41 52 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 61 73 73 69 .<VAR>src</VAR>.is..........assi
eb220 67 6e 65 64 20 61 20 76 61 6c 75 65 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 74 68 65 20 77 69 64 gned.a.value.pointing.to.the.wid
eb240 65 20 63 68 61 72 61 63 74 65 72 20 72 69 67 68 74 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 74 e.character.right.after.the.last
eb260 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 63 6f 6e 76 65 .one..........successfully.conve
eb280 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 45 78 63 65 70 74 20 69 rted...........<br><br>.Except.i
eb2a0 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 61 6e 20 65 6e 63 6f 64 69 6e 67 20 65 72 72 6f 72 20 n.the.case.of.an.encoding.error.
eb2c0 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 the.return.value.of.the.........
eb2e0 20 3c 43 4f 44 45 3e 77 63 73 72 74 6f 6d 62 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e .<CODE>wcsrtombs</CODE>.function
eb300 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 69 6e 20 61 6c 6c 20 74 .is.the.number.of.bytes.in.all.t
eb320 68 65 20 6d 75 6c 74 69 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 he.multibyte..........character.
eb340 73 65 71 75 65 6e 63 65 73 20 73 74 6f 72 65 64 20 69 6e 20 3c 56 41 52 3e 64 73 74 3c 2f 56 41 sequences.stored.in.<VAR>dst</VA
eb360 52 3e 2e 20 20 42 65 66 6f 72 65 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 73 74 61 74 65 20 R>...Before.returning.the.state.
eb380 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 in..........the.object.pointed.t
eb3a0 6f 20 62 79 20 3c 56 41 52 3e 70 73 3c 2f 56 41 52 3e 20 28 6f 72 20 74 68 65 20 69 6e 74 65 72 o.by.<VAR>ps</VAR>.(or.the.inter
eb3c0 6e 61 6c 20 6f 62 6a 65 63 74 20 69 6e 20 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 nal.object.in.case..........<VAR
eb3e0 3e 70 73 3c 2f 56 41 52 3e 20 69 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 29 20 69 73 20 >ps</VAR>.is.a.null.pointer).is.
eb400 75 70 64 61 74 65 64 20 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 73 74 61 74 65 20 61 66 74 updated.to.reflect.the.state.aft
eb420 65 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6c 61 73 74 20 63 6f 6e 76 65 72 73 69 6f 6e 2e er.the..........last.conversion.
eb440 20 20 54 68 65 20 73 74 61 74 65 20 69 73 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 68 69 66 74 ..The.state.is.the.initial.shift
eb460 20 73 74 61 74 65 20 69 6e 20 63 61 73 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d .state.in.case.the..........term
eb480 69 6e 61 74 69 6e 67 20 4e 55 4c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 77 61 73 20 63 inating.NUL.wide.character.was.c
eb4a0 6f 6e 76 65 72 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 onverted...........<br><br>.The.
eb4c0 3c 43 4f 44 45 3e 77 63 73 72 74 6f 6d 62 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 <CODE>wcsrtombs</CODE>.function.
eb4e0 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 74 6f was.introduced.in.Amendment.1.to
eb500 0a 20 20 20 20 20 20 20 20 20 49 53 4f 20 43 39 30 20 61 6e 64 20 69 73 20 64 65 63 6c 61 72 65 ..........ISO.C90.and.is.declare
eb520 64 20 69 6e 20 3c 54 54 3e 77 63 68 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 20 20 20 20 20 20 20 73 d.in.<TT>wchar.h</TT>..........s
eb540 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f b4 74 q.~......w.....t..wchar.hxq.~..t
eb560 00 54 63 68 61 72 20 2a 72 65 73 74 72 69 63 74 20 64 73 74 2c 20 63 6f 6e 73 74 20 77 63 68 61 .Tchar.*restrict.dst,.const.wcha
eb580 72 5f 74 20 2a 2a 72 65 73 74 72 69 63 74 20 73 72 63 2c 20 73 69 7a 65 5f 74 20 6c 65 6e 2c 20 r_t.**restrict.src,.size_t.len,.
eb5a0 6d 62 73 74 61 74 65 5f 74 20 2a 72 65 73 74 72 69 63 74 20 70 73 74 00 06 73 69 7a 65 5f 74 74 mbstate_t.*restrict.pst..size_tt
eb5c0 00 06 77 63 73 73 70 6e 73 71 00 7e 00 0a 70 74 01 75 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c ..wcsspnsq.~..pt.u.........The.<
eb5e0 43 4f 44 45 3e 77 63 73 73 70 6e 3c 2f 43 4f 44 45 3e 20 28 60 60 77 69 64 65 20 63 68 61 72 61 CODE>wcsspn</CODE>.(``wide.chara
eb600 63 74 65 72 20 73 74 72 69 6e 67 20 73 70 61 6e 27 27 29 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 cter.string.span'').function.ret
eb620 75 72 6e 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 urns.the..........length.of.the.
eb640 69 6e 69 74 69 61 6c 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 3c 56 41 52 3e 77 73 74 72 69 6e initial.substring.of.<VAR>wstrin
eb660 67 3c 2f 56 41 52 3e 20 74 68 61 74 20 63 6f 6e 73 69 73 74 73 20 65 6e 74 69 72 65 6c 79 0a 20 g</VAR>.that.consists.entirely..
eb680 20 20 20 20 20 20 20 20 6f 66 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 ........of.wide.characters.that.
eb6a0 61 72 65 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 65 20 73 65 74 20 73 70 65 63 69 66 69 65 64 are.members.of.the.set.specified
eb6c0 20 62 79 20 74 68 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 6b 69 .by.the.string..........<VAR>ski
eb6e0 70 73 65 74 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 77 69 pset</VAR>...The.order.of.the.wi
eb700 64 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 3c 56 41 52 3e 73 6b 69 70 73 65 74 3c 2f 56 de.characters.in.<VAR>skipset</V
eb720 41 52 3e 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 61 6e 74 2e 0a 20 AR>.is.not..........important...
eb740 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e .......sq.~......w.....t..wchar.
eb760 68 78 71 00 7e 1f bb 74 00 2e 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 74 72 69 6e 67 hxq.~..t..const.wchar_t.*wstring
eb780 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 73 6b 69 70 73 65 74 74 00 06 73 69 7a 65 5f ,.const.wchar_t.*skipsett..size_
eb7a0 74 74 00 06 77 63 73 73 74 72 73 71 00 7e 00 0a 70 74 01 b9 0a 20 20 20 20 20 20 20 20 54 68 69 tt..wcsstrsq.~..pt...........Thi
eb7c0 73 20 69 73 20 6c 69 6b 65 20 3c 43 4f 44 45 3e 77 63 73 63 68 72 3c 2f 43 4f 44 45 3e 2c 20 65 s.is.like.<CODE>wcschr</CODE>,.e
eb7e0 78 63 65 70 74 20 74 68 61 74 20 69 74 20 73 65 61 72 63 68 65 73 20 3c 56 41 52 3e 68 61 79 73 xcept.that.it.searches.<VAR>hays
eb800 74 61 63 6b 3c 2f 56 41 52 3e 20 66 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 73 75 62 73 74 72 tack</VAR>.for.a..........substr
eb820 69 6e 67 20 3c 56 41 52 3e 6e 65 65 64 6c 65 3c 2f 56 41 52 3e 20 72 61 74 68 65 72 20 74 68 61 ing.<VAR>needle</VAR>.rather.tha
eb840 6e 20 6a 75 73 74 20 61 20 73 69 6e 67 6c 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 2e 20 n.just.a.single.wide.character..
eb860 20 49 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 69 .It..........returns.a.pointer.i
eb880 6e 74 6f 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 68 61 79 73 74 61 63 6b 3c 2f 56 41 nto.the.string.<VAR>haystack</VA
eb8a0 52 3e 20 74 68 61 74 20 69 73 20 74 68 65 20 66 69 72 73 74 20 77 69 64 65 0a 20 20 20 20 20 20 R>.that.is.the.first.wide.......
eb8c0 20 20 20 63 68 61 72 61 63 74 65 72 20 6f 66 20 74 68 65 20 73 75 62 73 74 72 69 6e 67 2c 20 6f ...character.of.the.substring,.o
eb8e0 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 6e 6f 20 6d 61 74 63 68 20 77 61 73 r.a.null.pointer.if.no.match.was
eb900 20 66 6f 75 6e 64 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 6e 65 65 64 6c 65 .found...If..........<VAR>needle
eb920 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 74 68 65 20 66 </VAR>.is.an.empty.string,.the.f
eb940 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 3c 56 41 52 3e 68 61 79 73 74 61 63 6b 3c 2f 56 unction.returns.<VAR>haystack</V
eb960 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 AR>..........sq.~......w.....t..
eb980 77 63 68 61 72 2e 68 78 71 00 7e 1f c2 74 00 2e 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 68 wchar.hxq.~..t..const.wchar_t.*h
eb9a0 61 79 73 74 61 63 6b 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 6e 65 65 64 6c 65 74 00 aystack,.const.wchar_t.*needlet.
eb9c0 09 77 63 68 61 72 5f 74 20 2a 74 00 06 77 63 73 74 6f 64 73 71 00 7e 00 0a 70 74 01 d8 0a 20 20 .wchar_t.*t..wcstodsq.~..pt.....
eb9e0 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 64 3c 2f 43 4f 44 45 3e 2c 20 3c ......The.<CODE>wcstod</CODE>,.<
eba00 43 4f 44 45 3e 77 63 73 74 6f 66 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 77 63 CODE>wcstof</CODE>,.and.<CODE>wc
eba20 73 74 6f 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 stol</CODE>.functions.are.......
eba40 20 20 20 65 71 75 69 76 61 6c 65 6e 74 20 69 6e 20 6e 65 61 72 6c 79 20 61 6c 6c 20 61 73 70 65 ...equivalent.in.nearly.all.aspe
eba60 63 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e 2c 20 3c ct.to.the.<CODE>strtod</CODE>,.<
eba80 43 4f 44 45 3e 73 74 72 74 6f 66 3c 2f 43 4f 44 45 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 CODE>strtof</CODE>,.and.........
ebaa0 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 .<CODE>strtold</CODE>.functions.
ebac0 62 75 74 20 69 74 20 68 61 6e 64 6c 65 73 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 but.it.handles.wide.character.st
ebae0 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 ring...........<br><br>.The.<COD
ebb00 45 3e 77 63 73 74 6f 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 E>wcstod</CODE>.function.was.int
ebb20 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 6f 66 20 49 53 4f 0a 20 20 roduced.in.Amendment.1.of.ISO...
ebb40 20 20 20 20 20 20 20 43 39 30 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 66 3c 2f 43 .......C90...The.<CODE>wcstof</C
ebb60 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6c 64 3c 2f 43 4f 44 45 3e 20 66 75 ODE>.and.<CODE>wcstold</CODE>.fu
ebb80 6e 63 74 69 6f 6e 73 20 77 65 72 65 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 0a 20 20 20 20 20 nctions.were.introduced.in......
ebba0 20 20 20 20 49 53 4f 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 ....ISO.C99..........sq.~......w
ebbc0 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f c9 74 00 3a 63 6f 6e 73 74 20 77 63 .....t..wchar.hxq.~..t.:const.wc
ebbe0 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 77 63 68 61 72 5f 74 20 har_t.*restrict.string,.wchar_t.
ebc00 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 74 00 06 64 6f 75 62 6c 65 74 00 06 77 63 **restrict.tailptrt..doublet..wc
ebc20 73 74 6f 66 73 71 00 7e 00 0a 70 74 01 d8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 stofsq.~..pt...........The.<CODE
ebc40 3e 77 63 73 74 6f 64 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 77 63 73 74 6f 66 3c 2f 43 4f >wcstod</CODE>,.<CODE>wcstof</CO
ebc60 44 45 3e 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e DE>,.and.<CODE>wcstol</CODE>.fun
ebc80 63 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 20 69 ctions.are..........equivalent.i
ebca0 6e 20 6e 65 61 72 6c 79 20 61 6c 6c 20 61 73 70 65 63 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 n.nearly.all.aspect.to.the.<CODE
ebcc0 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 66 3c 2f 43 4f >strtod</CODE>,.<CODE>strtof</CO
ebce0 44 45 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 64 3c DE>,.and..........<CODE>strtold<
ebd00 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 62 75 74 20 69 74 20 68 61 6e 64 6c 65 73 20 /CODE>.functions.but.it.handles.
ebd20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 wide.character.string...........
ebd40 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 64 3c 2f 43 4f 44 45 3e <br><br>.The.<CODE>wcstod</CODE>
ebd60 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e .function.was.introduced.in.Amen
ebd80 64 6d 65 6e 74 20 31 20 6f 66 20 49 53 4f 0a 20 20 20 20 20 20 20 20 20 43 39 30 2e 20 20 54 68 dment.1.of.ISO..........C90...Th
ebda0 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 66 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 3e e.<CODE>wcstof</CODE>.and.<CODE>
ebdc0 77 63 73 74 6f 6c 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 77 65 72 65 20 69 6e wcstold</CODE>.functions.were.in
ebde0 74 72 6f 64 75 63 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 49 53 4f 20 43 39 39 2e 0a 20 20 troduced.in..........ISO.C99....
ebe00 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e ......sq.~......w.....t..stdlib.
ebe20 68 78 71 00 7e 1f d0 74 00 28 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 73 74 72 69 6e 67 2c hxq.~..t.(const.wchar_t.*string,
ebe40 20 77 63 68 61 72 5f 74 20 2a 2a 74 61 69 6c 70 74 72 74 00 05 66 6c 6f 61 74 74 00 09 77 63 73 .wchar_t.**tailptrt..floatt..wcs
ebe60 74 6f 69 6d 61 78 73 71 00 7e 00 0a 70 74 00 fe 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f toimaxsq.~..pt...........The.<CO
ebe80 44 45 3e 77 63 73 74 6f 69 6d 61 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 DE>wcstoimax</CODE>.function.is.
ebea0 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 69 6d 61 equivalent.to.the.<CODE>strtoima
ebec0 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 6e 65 x</CODE>.function..........in.ne
ebee0 61 72 6c 79 20 61 6c 6c 20 61 73 70 65 63 74 73 20 62 75 74 20 68 61 6e 64 6c 65 73 20 77 69 64 arly.all.aspects.but.handles.wid
ebf00 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 e.character.strings...........<b
ebf20 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 69 6d 61 78 3c 2f 43 4f 44 45 r><br>.The.<CODE>wcstoimax</CODE
ebf40 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 49 53 4f >.function.was.introduced.in.ISO
ebf60 20 43 39 39 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 .C99..........sq.~......w.....t.
ebf80 07 77 63 68 61 72 2e 68 78 71 00 7e 1f d7 74 00 44 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a .wchar.hxq.~..t.Dconst.wchar_t.*
ebfa0 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 77 63 68 61 72 5f 74 20 2a 2a 72 65 73 74 72 restrict.string,.wchar_t.**restr
ebfc0 69 63 74 20 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 00 08 69 6e 74 6d 61 78 5f 74 ict.tailptr,.int.baset..intmax_t
ebfe0 74 00 06 77 63 73 74 6f 6b 73 71 00 7e 00 0a 70 74 09 86 0a 20 20 20 20 20 20 20 20 41 20 73 74 t..wcstoksq.~..pt...........A.st
ec000 72 69 6e 67 20 63 61 6e 20 62 65 20 73 70 6c 69 74 20 69 6e 74 6f 20 74 6f 6b 65 6e 73 20 62 79 ring.can.be.split.into.tokens.by
ec020 20 6d 61 6b 69 6e 67 20 61 20 73 65 72 69 65 73 20 6f 66 20 63 61 6c 6c 73 20 74 6f 20 74 68 65 .making.a.series.of.calls.to.the
ec040 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6b 3c ..........function.<CODE>wcstok<
ec060 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 73 74 /CODE>...........<br><br>.The.st
ec080 72 69 6e 67 20 74 6f 20 62 65 20 73 70 6c 69 74 20 75 70 20 69 73 20 70 61 73 73 65 64 20 61 73 ring.to.be.split.up.is.passed.as
ec0a0 20 74 68 65 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 .the.<VAR>newstring</VAR>.argume
ec0c0 6e 74 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 66 69 72 73 74 20 63 61 6c 6c 20 6f 6e nt.on..........the.first.call.on
ec0e0 6c 79 2e 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6b 3c 2f 43 4f 44 45 3e 20 66 75 6e ly...The.<CODE>wcstok</CODE>.fun
ec100 63 74 69 6f 6e 20 75 73 65 73 20 74 68 69 73 20 74 6f 20 73 65 74 20 75 70 0a 20 20 20 20 20 20 ction.uses.this.to.set.up.......
ec120 20 20 20 73 6f 6d 65 20 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 65 20 69 6e 66 6f 72 6d 61 74 69 ...some.internal.state.informati
ec140 6f 6e 2e 20 20 53 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 20 74 6f 20 67 65 74 20 61 64 64 on...Subsequent.calls.to.get.add
ec160 69 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 74 6f 6b 65 6e 73 20 66 72 6f 6d 20 74 68 65 itional..........tokens.from.the
ec180 20 73 61 6d 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 61 72 65 20 .same.wide.character.string.are.
ec1a0 69 6e 64 69 63 61 74 65 64 20 62 79 20 70 61 73 73 69 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 indicated.by.passing.a..........
ec1c0 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 61 73 20 74 68 65 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 null.pointer.as.the.<VAR>newstri
ec1e0 6e 67 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 2e 20 20 43 61 6c 6c 69 6e 67 20 3c 43 4f 44 ng</VAR>.argument...Calling.<COD
ec200 45 3e 77 63 73 74 6f 6b 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 20 61 6e E>wcstok</CODE>..........with.an
ec220 6f 74 68 65 72 20 6e 6f 6e 2d 6e 75 6c 6c 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c 2f 56 other.non-null.<VAR>newstring</V
ec240 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 72 65 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 73 AR>.argument.reinitializes.the.s
ec260 74 61 74 65 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 49 74 20 69 tate..........information...It.i
ec280 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 68 61 74 20 6e 6f 20 6f 74 68 65 72 20 6c 69 62 72 61 s.guaranteed.that.no.other.libra
ec2a0 72 79 20 66 75 6e 63 74 69 6f 6e 20 65 76 65 72 20 63 61 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 ry.function.ever.calls..........
ec2c0 3c 43 4f 44 45 3e 77 63 73 74 6f 6b 3c 2f 43 4f 44 45 3e 20 62 65 68 69 6e 64 20 79 6f 75 72 20 <CODE>wcstok</CODE>.behind.your.
ec2e0 62 61 63 6b 20 28 77 68 69 63 68 20 77 6f 75 6c 64 20 6d 65 73 73 20 75 70 20 74 68 69 73 20 69 back.(which.would.mess.up.this.i
ec300 6e 74 65 72 6e 61 6c 20 73 74 61 74 65 0a 20 20 20 20 20 20 20 20 20 69 6e 66 6f 72 6d 61 74 69 nternal.state..........informati
ec320 6f 6e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 56 41 52 3e on)...........<br><br>.The.<VAR>
ec340 64 65 6c 69 6d 69 74 65 72 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 77 delimiters</VAR>.argument.is.a.w
ec360 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 74 68 61 74 20 73 70 65 63 69 66 ide.character.string.that.specif
ec380 69 65 73 0a 20 20 20 20 20 20 20 20 20 61 20 73 65 74 20 6f 66 20 64 65 6c 69 6d 69 74 65 72 73 ies..........a.set.of.delimiters
ec3a0 20 74 68 61 74 20 6d 61 79 20 73 75 72 72 6f 75 6e 64 20 74 68 65 20 74 6f 6b 65 6e 20 62 65 69 .that.may.surround.the.token.bei
ec3c0 6e 67 20 65 78 74 72 61 63 74 65 64 2e 20 20 41 6c 6c 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 ng.extracted...All..........the.
ec3e0 69 6e 69 74 69 61 6c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 61 72 65 initial.wide.characters.that.are
ec400 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 69 73 20 73 65 74 20 61 72 65 20 64 69 73 63 61 72 64 .members.of.this.set.are.discard
ec420 65 64 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 66 69 72 73 74 20 77 69 64 65 20 63 68 61 72 ed...........The.first.wide.char
ec440 61 63 74 65 72 20 74 68 61 74 20 69 73 20 3c 45 4d 3e 6e 6f 74 3c 2f 45 4d 3e 20 61 20 6d 65 6d acter.that.is.<EM>not</EM>.a.mem
ec460 62 65 72 20 6f 66 20 74 68 69 73 20 73 65 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 64 65 6c 69 ber.of.this.set.of..........deli
ec480 6d 69 74 65 72 73 20 6d 61 72 6b 73 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 miters.marks.the.beginning.of.th
ec4a0 65 20 6e 65 78 74 20 74 6f 6b 65 6e 2e 20 20 54 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 74 6f e.next.token...The.end.of.the.to
ec4c0 6b 65 6e 0a 20 20 20 20 20 20 20 20 20 69 73 20 66 6f 75 6e 64 20 62 79 20 6c 6f 6f 6b 69 6e 67 ken..........is.found.by.looking
ec4e0 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 74 68 61 .for.the.next.wide.character.tha
ec500 74 20 69 73 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 64 65 t.is.a.member.of.the..........de
ec520 6c 69 6d 69 74 65 72 20 73 65 74 2e 20 20 54 68 69 73 20 77 69 64 65 20 63 68 61 72 61 63 74 65 limiter.set...This.wide.characte
ec540 72 20 69 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 r.in.the.original.wide.character
ec560 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c ..........string.<VAR>newstring<
ec580 2f 56 41 52 3e 20 69 73 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 79 20 61 20 6e 75 6c 6c 20 77 /VAR>.is.overwritten.by.a.null.w
ec5a0 69 64 65 20 63 68 61 72 61 63 74 65 72 2c 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 ide.character,.and.the..........
ec5c0 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 pointer.to.the.beginning.of.the.
ec5e0 74 6f 6b 65 6e 20 69 6e 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 69 73 token.in.<VAR>newstring</VAR>.is
ec600 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 .returned...........<br><br>.On.
ec620 74 68 65 20 6e 65 78 74 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6b 3c 2f 43 the.next.call.to.<CODE>wcstok</C
ec640 4f 44 45 3e 2c 20 74 68 65 20 73 65 61 72 63 68 69 6e 67 20 62 65 67 69 6e 73 20 61 74 20 74 68 ODE>,.the.searching.begins.at.th
ec660 65 20 6e 65 78 74 0a 20 20 20 20 20 20 20 20 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 62 e.next..........wide.character.b
ec680 65 79 6f 6e 64 20 74 68 65 20 6f 6e 65 20 74 68 61 74 20 6d 61 72 6b 65 64 20 74 68 65 20 65 6e eyond.the.one.that.marked.the.en
ec6a0 64 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 74 6f 6b 65 6e 2e 0a 20 20 20 20 20 20 20 d.of.the.previous.token.........
ec6c0 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 73 65 74 20 6f 66 20 64 65 6c 69 6d 69 74 65 72 ..Note.that.the.set.of.delimiter
ec6e0 73 20 3c 56 41 52 3e 64 65 6c 69 6d 69 74 65 72 73 3c 2f 56 41 52 3e 20 64 6f 20 6e 6f 74 20 68 s.<VAR>delimiters</VAR>.do.not.h
ec700 61 76 65 20 74 6f 20 62 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 61 6d 65 20 6f 6e 20 65 ave.to.be.the..........same.on.e
ec720 76 65 72 79 20 63 61 6c 6c 20 69 6e 20 61 20 73 65 72 69 65 73 20 6f 66 20 63 61 6c 6c 73 20 74 very.call.in.a.series.of.calls.t
ec740 6f 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6b 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 o.<CODE>wcstok</CODE>...........
ec760 3c 62 72 3e 3c 62 72 3e 20 49 66 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 77 69 64 65 20 <br><br>.If.the.end.of.the.wide.
ec780 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 6e 65 77 73 74 72 69 6e 67 3c character.string.<VAR>newstring<
ec7a0 2f 56 41 52 3e 20 69 73 20 72 65 61 63 68 65 64 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 69 66 /VAR>.is.reached,.or..........if
ec7c0 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20 6f 66 20 73 74 72 69 6e 67 20 63 6f 6e 73 69 73 74 .the.remainder.of.string.consist
ec7e0 73 20 6f 6e 6c 79 20 6f 66 20 64 65 6c 69 6d 69 74 65 72 20 77 69 64 65 20 63 68 61 72 61 63 74 s.only.of.delimiter.wide.charact
ec800 65 72 73 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6b 3c 2f 43 4f 44 45 ers,..........<CODE>wcstok</CODE
ec820 3e 20 72 65 74 75 72 6e 73 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 >.returns.a.null.pointer........
ec840 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4e 6f 74 65 20 74 68 61 74 20 60 60 63 68 61 72 61 63 74 65 ...<br><br>.Note.that.``characte
ec860 72 27 27 20 69 73 20 68 65 72 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 73 65 6e 73 65 20 6f 66 r''.is.here.used.in.the.sense.of
ec880 20 62 79 74 65 2e 20 20 49 6e 20 61 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 75 73 69 .byte...In.a.string..........usi
ec8a0 6e 67 20 61 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 65 6e 63 6f 64 69 6e ng.a.multibyte.character.encodin
ec8c0 67 20 28 61 62 73 74 72 61 63 74 29 20 63 68 61 72 61 63 74 65 72 20 63 6f 6e 73 69 73 74 69 6e g.(abstract).character.consistin
ec8e0 67 20 6f 66 0a 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 62 79 74 65 g.of..........more.than.one.byte
ec900 20 61 72 65 20 6e 6f 74 20 74 72 65 61 74 65 64 20 61 73 20 61 6e 20 65 6e 74 69 74 79 2e 20 20 .are.not.treated.as.an.entity...
ec920 45 61 63 68 20 62 79 74 65 20 69 73 20 74 72 65 61 74 65 64 0a 20 20 20 20 20 20 20 20 20 73 65 Each.byte.is.treated..........se
ec940 70 61 72 61 74 65 6c 79 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 6c parately...The.function.is.not.l
ec960 6f 63 61 6c 65 2d 64 65 70 65 6e 64 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 ocale-dependent..........sq.~...
ec980 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f de 74 00 2a 77 63 68 61 ...w.....t..wchar.hxq.~..t.*wcha
ec9a0 72 5f 74 20 2a 6e 65 77 73 74 72 69 6e 67 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 64 65 6c 69 r_t.*newstring,.const.char.*deli
ec9c0 6d 69 74 65 72 73 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 06 77 63 73 74 6f 6c 73 71 00 7e 00 miterst..wchar_t.*t..wcstolsq.~.
ec9e0 0a 70 74 01 04 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6c 3c 2f .pt...........The.<CODE>wcstol</
eca00 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 CODE>.function.is.equivalent.to.
eca20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e the.<CODE>strtol</CODE>.function
eca40 0a 20 20 20 20 20 20 20 20 20 69 6e 20 6e 65 61 72 6c 79 20 61 6c 6c 20 61 73 70 65 63 74 73 20 ..........in.nearly.all.aspects.
eca60 62 75 74 20 68 61 6e 64 6c 65 73 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e but.handles.wide.character.strin
eca80 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e gs...........<br><br>.The.<CODE>
ecaa0 77 63 73 74 6f 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f wcstol</CODE>.function.was.intro
ecac0 64 75 63 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 6f 66 20 49 53 4f 20 43 39 30 2e duced.in.Amendment.1.of.ISO.C90.
ecae0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 .........sq.~......w.....t..wcha
ecb00 72 2e 68 78 71 00 7e 1f e5 74 00 44 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 r.hxq.~..t.Dconst.wchar_t.*restr
ecb20 69 63 74 20 73 74 72 69 6e 67 2c 20 77 63 68 61 72 5f 74 20 2a 2a 72 65 73 74 72 69 63 74 20 74 ict.string,.wchar_t.**restrict.t
ecb40 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 00 08 6c 6f 6e 67 20 69 6e 74 74 00 07 77 63 ailptr,.int.baset..long.intt..wc
ecb60 73 74 6f 6c 64 73 71 00 7e 00 0a 70 74 01 d8 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 stoldsq.~..pt...........The.<COD
ecb80 45 3e 77 63 73 74 6f 64 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 77 63 73 74 6f 66 3c 2f 43 E>wcstod</CODE>,.<CODE>wcstof</C
ecba0 4f 44 45 3e 2c 20 61 6e 64 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6c 3c 2f 43 4f 44 45 3e 20 66 75 ODE>,.and.<CODE>wcstol</CODE>.fu
ecbc0 6e 63 74 69 6f 6e 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 20 nctions.are..........equivalent.
ecbe0 69 6e 20 6e 65 61 72 6c 79 20 61 6c 6c 20 61 73 70 65 63 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 in.nearly.all.aspect.to.the.<COD
ecc00 45 3e 73 74 72 74 6f 64 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 73 74 72 74 6f 66 3c 2f 43 E>strtod</CODE>,.<CODE>strtof</C
ecc20 4f 44 45 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 72 74 6f 6c 64 ODE>,.and..........<CODE>strtold
ecc40 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 62 75 74 20 69 74 20 68 61 6e 64 6c 65 73 </CODE>.functions.but.it.handles
ecc60 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 .wide.character.string..........
ecc80 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 64 3c 2f 43 4f 44 45 .<br><br>.The.<CODE>wcstod</CODE
ecca0 3e 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 >.function.was.introduced.in.Ame
eccc0 6e 64 6d 65 6e 74 20 31 20 6f 66 20 49 53 4f 0a 20 20 20 20 20 20 20 20 20 43 39 30 2e 20 20 54 ndment.1.of.ISO..........C90...T
ecce0 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 66 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 3c 43 4f 44 45 he.<CODE>wcstof</CODE>.and.<CODE
ecd00 3e 77 63 73 74 6f 6c 64 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 73 20 77 65 72 65 20 69 >wcstold</CODE>.functions.were.i
ecd20 6e 74 72 6f 64 75 63 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 49 53 4f 20 43 39 39 2e 0a 20 ntroduced.in..........ISO.C99...
ecd40 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 .......sq.~......w.....t..stdlib
ecd60 2e 68 78 71 00 7e 1f ec 74 00 28 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 73 74 72 69 6e 67 .hxq.~..t.(const.wchar_t.*string
ecd80 2c 20 77 63 68 61 72 5f 74 20 2a 2a 74 61 69 6c 70 74 72 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c ,.wchar_t.**tailptrt..long.doubl
ecda0 65 74 00 07 77 63 73 74 6f 6c 6c 73 71 00 7e 00 0a 70 74 01 07 0a 20 20 20 20 20 20 20 20 54 68 et..wcstollsq.~..pt...........Th
ecdc0 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 e.<CODE>wcstoll</CODE>.function.
ecde0 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f is.equivalent.to.the.<CODE>strto
ece00 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 6e ll</CODE>.function..........in.n
ece20 65 61 72 6c 79 20 61 6c 6c 20 61 73 70 65 63 74 73 20 62 75 74 20 68 61 6e 64 6c 65 73 20 77 69 early.all.aspects.but.handles.wi
ece40 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c de.character.strings...........<
ece60 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 6c 6c 3c 2f 43 4f 44 45 3e br><br>.The.<CODE>wcstoll</CODE>
ece80 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e .function.was.introduced.in.Amen
ecea0 64 6d 65 6e 74 20 31 20 6f 66 20 49 53 4f 20 43 39 30 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e dment.1.of.ISO.C90..........sq.~
ecec0 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 1f f3 74 00 44 63 ......w.....t..wchar.hxq.~..t.Dc
ecee0 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 77 onst.wchar_t.*restrict.string,.w
ecf00 63 68 61 72 5f 74 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 char_t.**restrict.tailptr,.int.b
ecf20 61 73 65 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 08 77 63 73 74 6f 6d 62 73 73 71 aset..long.long.intt..wcstombssq
ecf40 00 7e 00 0a 70 74 04 43 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f .~..pt.C.........The.<CODE>wcsto
ecf60 6d 62 73 3c 2f 43 4f 44 45 3e 20 28 60 60 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 mbs</CODE>.(``wide.character.str
ecf80 69 6e 67 20 74 6f 20 6d 75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 27 27 29 0a 20 20 20 20 20 ing.to.multibyte.string'')......
ecfa0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 6e 75 6c 6c 2d 74 ....function.converts.the.null-t
ecfc0 65 72 6d 69 6e 61 74 65 64 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 61 72 72 61 79 20 3c erminated.wide.character.array.<
ecfe0 56 41 52 3e 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 6f 20 VAR>wstring</VAR>..........into.
ed000 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6d 75 6c 74 69 62 79 74 65 20 63 68 a.string.containing.multibyte.ch
ed020 61 72 61 63 74 65 72 73 2c 20 73 74 6f 72 69 6e 67 20 6e 6f 74 20 6d 6f 72 65 20 74 68 61 6e 0a aracters,.storing.not.more.than.
ed040 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 73 .........<VAR>size</VAR>.bytes.s
ed060 74 61 72 74 69 6e 67 20 61 74 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2c 20 66 6f tarting.at.<VAR>string</VAR>,.fo
ed080 6c 6c 6f 77 65 64 20 62 79 20 61 20 74 65 72 6d 69 6e 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 llowed.by.a.terminating.........
ed0a0 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 66 20 74 68 65 72 65 20 69 73 20 72 6f 6f 6d .null.character.if.there.is.room
ed0c0 2e 20 20 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 ...The.conversion.of.characters.
ed0e0 62 65 67 69 6e 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 74 68 65 20 69 6e 69 74 69 61 6c 20 73 begins.in..........the.initial.s
ed100 68 69 66 74 20 73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 hift.state...........<br><br>.Th
ed120 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 63 6f 75 e.terminating.null.character.cou
ed140 6e 74 73 20 74 6f 77 61 72 64 73 20 74 68 65 20 73 69 7a 65 2c 20 73 6f 20 69 66 20 3c 56 41 52 nts.towards.the.size,.so.if.<VAR
ed160 3e 73 69 7a 65 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 6c 65 73 73 20 74 68 61 >size</VAR>..........is.less.tha
ed180 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 n.or.equal.to.the.number.of.byte
ed1a0 73 20 6e 65 65 64 65 64 20 69 6e 20 3c 56 41 52 3e 77 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2c 20 s.needed.in.<VAR>wstring</VAR>,.
ed1c0 6e 6f 0a 20 20 20 20 20 20 20 20 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 no..........terminating.null.cha
ed1e0 72 61 63 74 65 72 20 69 73 20 73 74 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c racter.is.stored...........<br><
ed200 62 72 3e 20 49 66 20 61 20 63 6f 64 65 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 63 6f 72 72 br>.If.a.code.that.does.not.corr
ed220 65 73 70 6f 6e 64 20 74 6f 20 61 20 76 61 6c 69 64 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 espond.to.a.valid.multibyte.char
ed240 61 63 74 65 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 2c 20 74 68 65 20 3c 43 4f acter.is..........found,.the.<CO
ed260 44 45 3e 77 63 73 74 6f 6d 62 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 DE>wcstombs</CODE>.function.retu
ed280 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 66 20 2d 31 2e 0a 20 20 20 20 20 20 20 20 20 4f 74 68 65 rns.a.value.of.-1...........Othe
ed2a0 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 6e rwise,.the.return.value.is.the.n
ed2c0 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 61 72 72 umber.of.bytes.stored.in.the.arr
ed2e0 61 79 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2e 20 20 ay..........<VAR>string</VAR>...
ed300 54 68 69 73 20 6e 75 6d 62 65 72 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 This.number.does.not.include.the
ed320 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 2c 0a 20 20 20 .terminating.null.character,....
ed340 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 70 72 65 73 65 6e 74 20 69 66 20 74 68 65 20 6e 75 ......which.is.present.if.the.nu
ed360 6d 62 65 72 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 mber.is.less.than.<VAR>size</VAR
ed380 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 >..........sq.~......w.....t..st
ed3a0 64 6c 69 62 2e 68 78 71 00 7e 1f fa 74 00 31 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 63 6f 6e dlib.hxq.~..t.1char.*string,.con
ed3c0 73 74 20 77 63 68 61 72 5f 74 20 2a 77 73 74 72 69 6e 67 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 st.wchar_t.*wstring,.size_t.size
ed3e0 74 00 06 73 69 7a 65 5f 74 74 00 06 77 63 73 74 6f 71 73 71 00 7e 00 0a 70 74 00 ee 0a 20 20 20 t..size_tt..wcstoqsq.~..pt......
ed400 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 71 3c 2f 43 4f 44 45 3e 20 66 75 6e .....The.<CODE>wcstoq</CODE>.fun
ed420 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 ction.is.equivalent.to.the.<CODE
ed440 3e 73 74 72 74 6f 71 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 >strtoq</CODE>.function.........
ed460 20 69 6e 20 6e 65 61 72 6c 79 20 61 6c 6c 20 61 73 70 65 63 74 73 20 62 75 74 20 68 61 6e 64 6c .in.nearly.all.aspects.but.handl
ed480 65 73 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 es.wide.character.strings.......
ed4a0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 71 3c 2f 43 ....<br><br>.The.<CODE>wcstoq</C
ed4c0 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e ODE>.function.is.a.GNU.extension
ed4e0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 ..........sq.~......w.....t..wch
ed500 61 72 2e 68 78 71 00 7e 20 01 74 00 44 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 ar.hxq.~..t.Dconst.wchar_t.*rest
ed520 72 69 63 74 20 73 74 72 69 6e 67 2c 20 77 63 68 61 72 5f 74 20 2a 2a 72 65 73 74 72 69 63 74 20 rict.string,.wchar_t.**restrict.
ed540 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 00 0d 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e tailptr,.int.baset..long.long.in
ed560 74 74 00 07 77 63 73 74 6f 75 6c 73 71 00 7e 00 0a 70 74 01 07 0a 20 20 20 20 20 20 20 20 54 68 tt..wcstoulsq.~..pt...........Th
ed580 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 75 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 e.<CODE>wcstoul</CODE>.function.
ed5a0 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f is.equivalent.to.the.<CODE>strto
ed5c0 75 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 6e ul</CODE>.function..........in.n
ed5e0 65 61 72 6c 79 20 61 6c 6c 20 61 73 70 65 63 74 73 20 62 75 74 20 68 61 6e 64 6c 65 73 20 77 69 early.all.aspects.but.handles.wi
ed600 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c de.character.strings...........<
ed620 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 75 6c 3c 2f 43 4f 44 45 3e br><br>.The.<CODE>wcstoul</CODE>
ed640 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e .function.was.introduced.in.Amen
ed660 64 6d 65 6e 74 20 31 20 6f 66 20 49 53 4f 20 43 39 30 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e dment.1.of.ISO.C90..........sq.~
ed680 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 20 08 74 00 44 63 ......w.....t..wchar.hxq.~..t.Dc
ed6a0 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 77 onst.wchar_t.*restrict.string,.w
ed6c0 63 68 61 72 5f 74 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 char_t.**restrict.tailptr,.int.b
ed6e0 61 73 65 74 00 11 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 6e 74 74 00 08 77 63 73 74 6f 75 aset..unsigned.long.intt..wcstou
ed700 6c 6c 73 71 00 7e 00 0a 70 74 01 0a 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 llsq.~..pt...........The.<CODE>w
ed720 63 73 74 6f 75 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 76 cstoull</CODE>.function.is.equiv
ed740 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 75 6c 6c 3c 2f 43 4f 44 alent.to.the.<CODE>strtoull</COD
ed760 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 6e 65 61 72 6c 79 20 61 E>.function..........in.nearly.a
ed780 6c 6c 20 61 73 70 65 63 74 73 20 62 75 74 20 68 61 6e 64 6c 65 73 20 77 69 64 65 20 63 68 61 72 ll.aspects.but.handles.wide.char
ed7a0 61 63 74 65 72 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e acter.strings...........<br><br>
ed7c0 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 75 6c 6c 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 .The.<CODE>wcstoull</CODE>.funct
ed7e0 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 ion.was.introduced.in.Amendment.
ed800 31 20 6f 66 20 49 53 4f 20 43 39 30 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 1.of.ISO.C90..........sq.~......
ed820 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 20 0f 74 00 44 63 6f 6e 73 74 20 77 w.....t..wchar.hxq.~..t.Dconst.w
ed840 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 69 6e 67 2c 20 77 63 68 61 72 5f 74 char_t.*restrict.string,.wchar_t
ed860 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 00 16 .**restrict.tailptr,.int.baset..
ed880 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 74 74 00 09 77 63 73 74 6f 75 6d unsigned.long.long.intt..wcstoum
ed8a0 61 78 73 71 00 7e 00 0a 70 74 00 fe 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 axsq.~..pt...........The.<CODE>w
ed8c0 63 73 74 6f 75 6d 61 78 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 71 75 69 cstoumax</CODE>.function.is.equi
ed8e0 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 75 6d 61 78 3c 2f 43 valent.to.the.<CODE>strtoumax</C
ed900 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 6e 65 61 72 6c 79 ODE>.function..........in.nearly
ed920 20 61 6c 6c 20 61 73 70 65 63 74 73 20 62 75 74 20 68 61 6e 64 6c 65 73 20 77 69 64 65 20 63 68 .all.aspects.but.handles.wide.ch
ed940 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 aracter.strings...........<br><b
ed960 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 75 6d 61 78 3c 2f 43 4f 44 45 3e 20 66 75 r>.The.<CODE>wcstoumax</CODE>.fu
ed980 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 49 53 4f 20 43 39 39 nction.was.introduced.in.ISO.C99
ed9a0 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 ..........sq.~......w.....t..wch
ed9c0 61 72 2e 68 78 71 00 7e 20 16 74 00 44 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 ar.hxq.~..t.Dconst.wchar_t.*rest
ed9e0 72 69 63 74 20 73 74 72 69 6e 67 2c 20 77 63 68 61 72 5f 74 20 2a 2a 72 65 73 74 72 69 63 74 20 rict.string,.wchar_t.**restrict.
eda00 74 61 69 6c 70 74 72 2c 20 69 6e 74 20 62 61 73 65 74 00 09 75 69 6e 74 6d 61 78 5f 74 74 00 07 tailptr,.int.baset..uintmax_tt..
eda20 77 63 73 74 6f 75 71 73 71 00 7e 00 0a 70 74 00 f1 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 wcstouqsq.~..pt...........The.<C
eda40 4f 44 45 3e 77 63 73 74 6f 75 71 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 65 ODE>wcstouq</CODE>.function.is.e
eda60 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 43 4f 44 45 3e 73 74 72 74 6f 75 71 3c 2f quivalent.to.the.<CODE>strtouq</
eda80 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 69 6e 20 6e 65 61 72 6c CODE>.function..........in.nearl
edaa0 79 20 61 6c 6c 20 61 73 70 65 63 74 73 20 62 75 74 20 68 61 6e 64 6c 65 73 20 77 69 64 65 20 63 y.all.aspects.but.handles.wide.c
edac0 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c haracter.strings...........<br><
edae0 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 73 74 6f 75 71 3c 2f 43 4f 44 45 3e 20 66 75 6e br>.The.<CODE>wcstouq</CODE>.fun
edb00 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 ction.is.a.GNU.extension........
edb20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e ..sq.~......w.....t..wchar.hxq.~
edb40 20 1d 74 00 44 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 73 74 72 ..t.Dconst.wchar_t.*restrict.str
edb60 69 6e 67 2c 20 77 63 68 61 72 5f 74 20 2a 2a 72 65 73 74 72 69 63 74 20 74 61 69 6c 70 74 72 2c ing,.wchar_t.**restrict.tailptr,
edb80 20 69 6e 74 20 62 61 73 65 74 00 16 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 .int.baset..unsigned.long.long.i
edba0 6e 74 74 00 06 77 63 73 77 63 73 73 71 00 7e 00 0a 70 74 00 da 0a 20 20 20 20 20 20 20 20 3c 43 ntt..wcswcssq.~..pt...........<C
edbc0 4f 44 45 3e 77 63 73 77 63 73 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6e 20 64 65 70 72 65 63 61 74 ODE>wcswcs</CODE>.is.an.deprecat
edbe0 65 64 20 61 6c 69 61 73 20 66 6f 72 20 3c 43 4f 44 45 3e 77 63 73 73 74 72 3c 2f 43 4f 44 45 3e ed.alias.for.<CODE>wcsstr</CODE>
edc00 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 6f 72 69 ...This.is.the..........name.ori
edc20 67 69 6e 61 6c 6c 79 20 75 73 65 64 20 69 6e 20 74 68 65 20 58 2f 4f 70 65 6e 20 50 6f 72 74 61 ginally.used.in.the.X/Open.Porta
edc40 62 69 6c 69 74 79 20 47 75 69 64 65 20 62 65 66 6f 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 bility.Guide.before.the.........
edc60 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 74 6f 20 49 53 4f 20 43 39 30 20 77 61 73 20 70 75 62 6c .Amendment.1.to.ISO.C90.was.publ
edc80 69 73 68 65 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 ished..........sq.~......w.....t
edca0 00 07 77 63 68 61 72 2e 68 78 71 00 7e 20 24 74 00 2e 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 ..wchar.hxq.~.$t..const.wchar_t.
edcc0 2a 68 61 79 73 74 61 63 6b 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 6e 65 65 64 6c 65 *haystack,.const.wchar_t.*needle
edce0 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 07 77 63 73 78 66 72 6d 73 71 00 7e 00 0a 70 74 06 eb t..wchar_t.*t..wcsxfrmsq.~..pt..
edd00 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 43 4f 44 45 3e 77 63 73 78 .........The.function.<CODE>wcsx
edd20 66 72 6d 3c 2f 43 4f 44 45 3e 20 74 72 61 6e 73 66 6f 72 6d 73 20 77 69 64 65 20 63 68 61 72 61 frm</CODE>.transforms.wide.chara
edd40 63 74 65 72 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 66 72 6f 6d 3c 2f 56 41 52 3e 0a 20 20 20 cter.string.<VAR>wfrom</VAR>....
edd60 20 20 20 20 20 20 75 73 69 6e 67 20 74 68 65 20 63 6f 6c 6c 61 74 69 6f 6e 20 74 72 61 6e 73 66 ......using.the.collation.transf
edd80 6f 72 6d 61 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 6c 6f 63 61 6c ormation.determined.by.the.local
edda0 65 20 63 75 72 72 65 6e 74 6c 79 0a 20 20 20 20 20 20 20 20 20 73 65 6c 65 63 74 65 64 20 66 6f e.currently..........selected.fo
eddc0 72 20 63 6f 6c 6c 61 74 69 6f 6e 2c 20 61 6e 64 20 73 74 6f 72 65 73 20 74 68 65 20 74 72 61 6e r.collation,.and.stores.the.tran
edde0 73 66 6f 72 6d 65 64 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 61 72 72 61 79 0a 20 20 20 20 sformed.string.in.the.array.....
ede00 20 20 20 20 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 20 20 55 70 20 74 6f 20 3c 56 41 52 .....<VAR>wto</VAR>...Up.to.<VAR
ede20 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 28 69 6e 63 >size</VAR>.wide.characters.(inc
ede40 6c 75 64 69 6e 67 20 61 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6e 75 6c 6c 0a 20 20 20 20 20 20 luding.a.terminating.null.......
ede60 20 20 20 63 68 61 72 61 63 74 65 72 29 20 61 72 65 20 73 74 6f 72 65 64 2e 0a 20 20 20 20 20 20 ...character).are.stored........
ede80 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 62 65 68 61 76 69 6f 72 20 69 73 20 75 6e 64 65 ...<br><br>.The.behavior.is.unde
edea0 66 69 6e 65 64 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 fined.if.the.strings.<VAR>wto</V
edec0 41 52 3e 20 61 6e 64 20 3c 56 41 52 3e 77 66 72 6f 6d 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 AR>.and.<VAR>wfrom</VAR>........
edee0 20 20 6f 76 65 72 6c 61 70 3b 20 73 65 65 20 43 6f 70 79 69 6e 67 20 61 6e 64 20 43 6f 6e 63 61 ..overlap;.see.Copying.and.Conca
edf00 74 65 6e 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 tenation...........<br><br>.The.
edf20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 return.value.is.the.length.of.th
edf40 65 20 65 6e 74 69 72 65 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 77 69 64 65 20 63 68 61 72 61 63 e.entire.transformed.wide.charac
edf60 74 65 72 0a 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 2e 20 20 54 68 69 73 20 76 61 6c 75 65 ter..........string...This.value
edf80 20 69 73 20 6e 6f 74 20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 65 20 76 61 6c 75 65 20 6f 66 .is.not.affected.by.the.value.of
edfa0 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 62 75 74 20 69 66 0a 20 20 20 20 20 20 20 .<VAR>size</VAR>,.but.if........
edfc0 20 20 69 74 20 69 73 20 67 72 65 61 74 65 72 20 6f 72 20 65 71 75 61 6c 20 74 68 61 6e 20 3c 56 ..it.is.greater.or.equal.than.<V
edfe0 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 AR>size</VAR>,.it.means.that.the
ee000 20 74 72 61 6e 73 66 6f 72 6d 65 64 0a 20 20 20 20 20 20 20 20 20 77 69 64 65 20 63 68 61 72 61 .transformed..........wide.chara
ee020 63 74 65 72 20 73 74 72 69 6e 67 20 64 69 64 20 6e 6f 74 20 65 6e 74 69 72 65 6c 79 20 66 69 74 cter.string.did.not.entirely.fit
ee040 20 69 6e 20 74 68 65 20 61 72 72 61 79 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 20 20 49 .in.the.array.<VAR>wto</VAR>...I
ee060 6e 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 63 61 73 65 2c 20 6f 6e 6c 79 20 61 73 20 6d 75 n..........this.case,.only.as.mu
ee080 63 68 20 6f 66 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 ch.of.the.wide.character.string.
ee0a0 61 73 20 61 63 74 75 61 6c 6c 79 20 66 69 74 73 0a 20 20 20 20 20 20 20 20 20 77 61 73 20 73 74 as.actually.fits..........was.st
ee0c0 6f 72 65 64 2e 20 20 54 6f 20 67 65 74 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61 6e 73 66 6f 72 ored...To.get.the.whole.transfor
ee0e0 6d 65 64 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 2c 20 63 61 6c 6c 0a med.wide.character.string,.call.
ee100 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 63 73 78 66 72 6d 3c 2f 43 4f 44 45 3e 20 61 67 .........<CODE>wcsxfrm</CODE>.ag
ee120 61 69 6e 20 77 69 74 68 20 61 20 62 69 67 67 65 72 20 6f 75 74 70 75 74 20 61 72 72 61 79 2e 0a ain.with.a.bigger.output.array..
ee140 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 74 72 61 6e 73 66 6f 72 6d 65 .........<br><br>.The.transforme
ee160 64 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 6d 61 79 20 62 65 20 6c d.wide.character.string.may.be.l
ee180 6f 6e 67 65 72 20 74 68 61 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 20 20 20 onger.than.the.original.........
ee1a0 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 2c 20 61 6e 64 20 69 74 20 6d .wide.character.string,.and.it.m
ee1c0 61 79 20 61 6c 73 6f 20 62 65 20 73 68 6f 72 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 ay.also.be.shorter...........<br
ee1e0 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f ><br>.If.<VAR>size</VAR>.is.zero
ee200 2c 20 6e 6f 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 3c 56 ,.no.characters.are.stored.in.<V
ee220 41 52 3e 74 6f 3c 2f 56 41 52 3e 2e 20 20 49 6e 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 63 AR>to</VAR>...In.this..........c
ee240 61 73 65 2c 20 3c 43 4f 44 45 3e 77 63 73 78 66 72 6d 3c 2f 43 4f 44 45 3e 20 73 69 6d 70 6c 79 ase,.<CODE>wcsxfrm</CODE>.simply
ee260 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 77 69 64 65 20 63 68 61 72 .returns.the.number.of.wide.char
ee280 61 63 74 65 72 73 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 77 6f 75 6c 64 20 62 65 20 74 68 acters.that..........would.be.th
ee2a0 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 77 69 64 65 e.length.of.the.transformed.wide
ee2c0 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 2e 20 20 54 68 69 73 20 69 73 0a 20 20 20 20 .character.string...This.is.....
ee2e0 20 20 20 20 20 75 73 65 66 75 6c 20 66 6f 72 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 61 74 .....useful.for.determining.what
ee300 20 73 69 7a 65 20 74 68 65 20 61 6c 6c 6f 63 61 74 65 64 20 61 72 72 61 79 20 73 68 6f 75 6c 64 .size.the.allocated.array.should
ee320 20 62 65 20 28 72 65 6d 65 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 74 6f 20 6d 75 6c 74 69 70 .be.(remember..........to.multip
ee340 6c 79 20 77 69 74 68 20 3c 43 4f 44 45 3e 73 69 7a 65 6f 66 20 28 77 63 68 61 72 5f 74 29 3c 2f ly.with.<CODE>sizeof.(wchar_t)</
ee360 43 4f 44 45 3e 29 2e 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 65 72 20 77 68 61 74 CODE>)...It.does.not.matter.what
ee380 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 20 69 73 20 69 66 20 3c ..........<VAR>wto</VAR>.is.if.<
ee3a0 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 69 73 20 7a 65 72 6f 3b 20 3c 56 41 52 3e 77 74 6f VAR>size</VAR>.is.zero;.<VAR>wto
ee3c0 3c 2f 56 41 52 3e 20 6d 61 79 20 65 76 65 6e 20 62 65 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 </VAR>.may.even.be.a.null.pointe
ee3e0 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 r..........sq.~......w.....t..wc
ee400 68 61 72 2e 68 78 71 00 7e 20 2b 74 00 38 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 har.hxq.~.+t.8wchar_t.*restrict.
ee420 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 77 66 72 6f 6d 2c 20 73 69 7a 65 5f wto,.const.wchar_t.*wfrom,.size_
ee440 74 20 73 69 7a 65 74 00 06 73 69 7a 65 5f 74 74 00 05 77 63 74 6f 62 73 71 00 7e 00 0a 70 74 01 t.sizet..size_tt..wctobsq.~..pt.
ee460 e6 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 74 6f 62 3c 2f 43 4f 44 45 3e ..........The.<CODE>wctob</CODE>
ee480 20 66 75 6e 63 74 69 6f 6e 20 28 60 60 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 62 .function.(``wide.character.to.b
ee4a0 79 74 65 27 27 29 20 74 61 6b 65 73 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 70 61 72 yte'').takes.as.the..........par
ee4c0 61 6d 65 74 65 72 20 61 20 76 61 6c 69 64 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 2e 20 20 ameter.a.valid.wide.character...
ee4e0 49 66 20 74 68 65 20 6d 75 6c 74 69 62 79 74 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 If.the.multibyte.representation.
ee500 66 6f 72 0a 20 20 20 20 20 20 20 20 20 74 68 69 73 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 for..........this.character.in.t
ee520 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 74 65 20 69 73 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 he.initial.state.is.exactly.one.
ee540 62 79 74 65 20 6c 6f 6e 67 2c 20 74 68 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 76 byte.long,.the.return..........v
ee560 61 6c 75 65 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 69 73 20 63 68 alue.of.this.function.is.this.ch
ee580 61 72 61 63 74 65 72 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 aracter...Otherwise.the.return.v
ee5a0 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 45 4f 46 3c 2f 43 4f 44 45 alue.is..........<CODE>EOF</CODE
ee5c0 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 43 4f 44 45 3e 77 63 74 6f 62 >...........<br><br>.<CODE>wctob
ee5e0 3c 2f 43 4f 44 45 3e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 41 6d 65 6e 64 6d </CODE>.was.introduced.in.Amendm
ee600 65 6e 74 20 31 20 74 6f 20 49 53 4f 20 43 39 30 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 69 73 ent.1.to.ISO.C90.and..........is
ee620 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 68 61 72 2e 68 3c 2f 54 54 3e 2e 0a 20 .declared.in.<TT>wchar.h</TT>...
ee640 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e .......sq.~......w.....t..wchar.
ee660 68 78 71 00 7e 20 32 74 00 08 77 69 6e 74 5f 74 20 63 74 00 03 69 6e 74 74 00 06 77 63 74 6f 6d hxq.~.2t..wint_t.ct..intt..wctom
ee680 62 73 71 00 7e 00 0a 70 74 07 56 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 bsq.~..pt.V.........The.<CODE>wc
ee6a0 74 6f 6d 62 3c 2f 43 4f 44 45 3e 20 28 60 60 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 74 6f tomb</CODE>.(``wide.character.to
ee6c0 20 6d 75 6c 74 69 62 79 74 65 27 27 29 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 0a .multibyte'').function.converts.
ee6e0 20 20 20 20 20 20 20 20 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 .........the.wide.character.code
ee700 20 3c 56 41 52 3e 77 63 68 61 72 3c 2f 56 41 52 3e 20 74 6f 20 69 74 73 20 63 6f 72 72 65 73 70 .<VAR>wchar</VAR>.to.its.corresp
ee720 6f 6e 64 69 6e 67 20 6d 75 6c 74 69 62 79 74 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 onding.multibyte..........charac
ee740 74 65 72 20 73 65 71 75 65 6e 63 65 2c 20 61 6e 64 20 73 74 6f 72 65 73 20 74 68 65 20 72 65 73 ter.sequence,.and.stores.the.res
ee760 75 6c 74 20 69 6e 20 62 79 74 65 73 20 73 74 61 72 74 69 6e 67 20 61 74 0a 20 20 20 20 20 20 20 ult.in.bytes.starting.at........
ee780 20 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2e 20 20 41 74 20 6d 6f 73 74 20 3c 43 ..<VAR>string</VAR>...At.most.<C
ee7a0 4f 44 45 3e 4d 42 5f 43 55 52 5f 4d 41 58 3c 2f 43 4f 44 45 3e 20 63 68 61 72 61 63 74 65 72 73 ODE>MB_CUR_MAX</CODE>.characters
ee7c0 20 61 72 65 20 73 74 6f 72 65 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c .are.stored...........<br><br>.<
ee7e0 43 4f 44 45 3e 77 63 74 6f 6d 62 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 6e 6f 6e 2d 6e 75 6c 6c CODE>wctomb</CODE>.with.non-null
ee800 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 20 64 69 73 74 69 6e 67 75 69 73 68 65 73 .<VAR>string</VAR>.distinguishes
ee820 20 74 68 72 65 65 0a 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 69 6c 69 74 69 65 73 20 66 6f .three..........possibilities.fo
ee840 72 20 3c 56 41 52 3e 77 63 68 61 72 3c 2f 56 41 52 3e 3a 20 61 20 76 61 6c 69 64 20 77 69 64 65 r.<VAR>wchar</VAR>:.a.valid.wide
ee860 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 20 28 6f 6e 65 20 74 68 61 74 20 63 61 6e 0a 20 20 .character.code.(one.that.can...
ee880 20 20 20 20 20 20 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 61 20 6d 75 6c 74 69 62 .......be.translated.to.a.multib
ee8a0 79 74 65 20 63 68 61 72 61 63 74 65 72 29 2c 20 61 6e 20 69 6e 76 61 6c 69 64 20 63 6f 64 65 2c yte.character),.an.invalid.code,
ee8c0 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 4c 27 5c 30 27 3c 2f 43 4f 44 45 3e .and..........<CODE>L'\0'</CODE>
ee8e0 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 47 69 76 65 6e 20 61 20 76 61 6c 69 ...........<br><br>.Given.a.vali
ee900 64 20 63 6f 64 65 2c 20 3c 43 4f 44 45 3e 77 63 74 6f 6d 62 3c 2f 43 4f 44 45 3e 20 63 6f 6e 76 d.code,.<CODE>wctomb</CODE>.conv
ee920 65 72 74 73 20 69 74 20 74 6f 20 61 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 erts.it.to.a.multibyte.character
ee940 2c 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 69 6e 67 20 74 68 65 20 62 79 74 65 73 20 73 74 61 ,..........storing.the.bytes.sta
ee960 72 74 69 6e 67 20 61 74 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2e 20 20 54 68 65 rting.at.<VAR>string</VAR>...The
ee980 6e 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 n.it.returns.the.number.........
ee9a0 20 6f 66 20 62 79 74 65 73 20 69 6e 20 74 68 61 74 20 63 68 61 72 61 63 74 65 72 20 28 61 6c 77 .of.bytes.in.that.character.(alw
ee9c0 61 79 73 20 61 74 20 6c 65 61 73 74 20 31 20 61 6e 64 20 6e 65 76 65 72 20 6d 6f 72 65 0a 20 20 ays.at.least.1.and.never.more...
ee9e0 20 20 20 20 20 20 20 74 68 61 6e 20 3c 43 4f 44 45 3e 4d 42 5f 43 55 52 5f 4d 41 58 3c 2f 43 4f .......than.<CODE>MB_CUR_MAX</CO
eea00 44 45 3e 29 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 56 41 52 3e DE>)...........<br><br>.If.<VAR>
eea20 77 63 68 61 72 3c 2f 56 41 52 3e 20 69 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 77 69 64 65 20 63 wchar</VAR>.is.an.invalid.wide.c
eea40 68 61 72 61 63 74 65 72 20 63 6f 64 65 2c 20 3c 43 4f 44 45 3e 77 63 74 6f 6d 62 3c 2f 43 4f 44 haracter.code,.<CODE>wctomb</COD
eea60 45 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 2d 31 2e 20 20 49 66 20 3c 56 41 52 E>.returns..........-1...If.<VAR
eea80 3e 77 63 68 61 72 3c 2f 56 41 52 3e 20 69 73 20 3c 43 4f 44 45 3e 4c 27 5c 30 27 3c 2f 43 4f 44 >wchar</VAR>.is.<CODE>L'\0'</COD
eeaa0 45 3e 2c 20 69 74 20 72 65 74 75 72 6e 73 20 3c 43 4f 44 45 3e 30 3c 2f 43 4f 44 45 3e 2c 20 61 E>,.it.returns.<CODE>0</CODE>,.a
eeac0 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 69 6e 67 20 3c 43 4f 44 45 3e 27 5c 30 27 3c lso..........storing.<CODE>'\0'<
eeae0 2f 43 4f 44 45 3e 20 69 6e 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 /CODE>.in.<CODE>*<VAR>string</VA
eeb00 52 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 R></CODE>...........<br><br>.If.
eeb20 74 68 65 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 20 75 73 65 the.multibyte.character.code.use
eeb40 73 20 73 68 69 66 74 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 s.shift.characters,.then........
eeb60 20 20 3c 43 4f 44 45 3e 77 63 74 6f 6d 62 3c 2f 43 4f 44 45 3e 20 6d 61 69 6e 74 61 69 6e 73 20 ..<CODE>wctomb</CODE>.maintains.
eeb80 61 6e 64 20 75 70 64 61 74 65 73 20 61 20 73 68 69 66 74 20 73 74 61 74 65 20 61 73 20 69 74 20 and.updates.a.shift.state.as.it.
eeba0 73 63 61 6e 73 2e 20 20 49 66 20 79 6f 75 0a 20 20 20 20 20 20 20 20 20 63 61 6c 6c 20 3c 43 4f scans...If.you..........call.<CO
eebc0 44 45 3e 77 63 74 6f 6d 62 3c 2f 43 4f 44 45 3e 20 77 69 74 68 20 61 20 6e 75 6c 6c 20 70 6f 69 DE>wctomb</CODE>.with.a.null.poi
eebe0 6e 74 65 72 20 66 6f 72 20 3c 56 41 52 3e 73 74 72 69 6e 67 3c 2f 56 41 52 3e 2c 20 74 68 61 74 nter.for.<VAR>string</VAR>,.that
eec00 0a 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 73 68 69 66 74 20 ..........initializes.the.shift.
eec20 73 74 61 74 65 20 74 6f 20 69 74 73 20 73 74 61 6e 64 61 72 64 20 69 6e 69 74 69 61 6c 20 76 61 state.to.its.standard.initial.va
eec40 6c 75 65 2e 20 20 49 74 20 61 6c 73 6f 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 6e lue...It.also..........returns.n
eec60 6f 6e 7a 65 72 6f 20 69 66 20 74 68 65 20 6d 75 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 onzero.if.the.multibyte.characte
eec80 72 20 63 6f 64 65 20 69 6e 20 75 73 65 20 61 63 74 75 61 6c 6c 79 20 68 61 73 20 61 0a 20 20 20 r.code.in.use.actually.has.a....
eeca0 20 20 20 20 20 20 73 68 69 66 74 20 73 74 61 74 65 2e 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c ......shift.state..............<
eecc0 62 72 3e 3c 62 72 3e 20 43 61 6c 6c 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 br><br>.Calling.this.function.wi
eece0 74 68 20 61 20 3c 56 41 52 3e 77 63 68 61 72 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 6f th.a.<VAR>wchar</VAR>.argument.o
eed00 66 20 7a 65 72 6f 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 73 74 72 69 6e 67 f.zero.when..........<VAR>string
eed20 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 6e 75 6c 6c 20 68 61 73 20 74 68 65 20 73 69 64 65 2d </VAR>.is.not.null.has.the.side-
eed40 65 66 66 65 63 74 20 6f 66 20 72 65 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 74 68 65 0a 20 20 20 effect.of.reinitializing.the....
eed60 20 20 20 20 20 20 73 74 6f 72 65 64 20 73 68 69 66 74 20 73 74 61 74 65 20 3c 45 4d 3e 61 73 20 ......stored.shift.state.<EM>as.
eed80 77 65 6c 6c 20 61 73 3c 2f 45 4d 3e 20 73 74 6f 72 69 6e 67 20 74 68 65 20 6d 75 6c 74 69 62 79 well.as</EM>.storing.the.multiby
eeda0 74 65 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 27 5c 30 27 te.character..........<CODE>'\0'
eedc0 3c 2f 43 4f 44 45 3e 20 61 6e 64 20 72 65 74 75 72 6e 69 6e 67 20 30 2e 0a 20 20 20 20 20 20 20 </CODE>.and.returning.0.........
eede0 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 73 74 64 6c 69 62 2e 68 78 71 00 7e .sq.~......w.....t..stdlib.hxq.~
eee00 20 39 74 00 1b 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 77 63 68 61 72 5f 74 20 77 63 68 61 72 .9t..char.*string,.wchar_t.wchar
eee20 74 00 03 69 6e 74 74 00 07 77 63 74 72 61 6e 73 73 71 00 7e 00 0a 70 74 02 8d 0a 20 20 20 20 20 t..intt..wctranssq.~..pt........
eee40 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 74 72 61 6e 73 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 ...The.<CODE>wctrans</CODE>.func
eee60 74 69 6f 6e 20 68 61 73 20 74 6f 20 62 65 20 75 73 65 64 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 tion.has.to.be.used.to.find.out.
eee80 77 68 65 74 68 65 72 20 61 20 6e 61 6d 65 64 0a 20 20 20 20 20 20 20 20 20 6d 61 70 70 69 6e 67 whether.a.named..........mapping
eeea0 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c .is.defined.in.the.current.local
eeec0 65 20 73 65 6c 65 63 74 65 64 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 e.selected.for.the..........<COD
eeee0 45 3e 4c 43 5f 43 54 59 50 45 3c 2f 43 4f 44 45 3e 20 63 61 74 65 67 6f 72 79 2e 20 20 49 66 20 E>LC_CTYPE</CODE>.category...If.
eef00 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d 7a 65 72 6f 2c 20 the.returned.value.is.non-zero,.
eef20 79 6f 75 20 63 61 6e 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 69 74 20 61 66 74 65 72 77 61 72 you.can.use..........it.afterwar
eef40 64 73 20 69 6e 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 3e 74 6f 77 63 74 72 61 6e 73 3c 2f ds.in.calls.to.<CODE>towctrans</
eef60 43 4f 44 45 3e 2e 20 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 0a 20 CODE>...If.the.return.value.is..
eef80 20 20 20 20 20 20 20 20 7a 65 72 6f 20 6e 6f 20 73 75 63 68 20 6d 61 70 70 69 6e 67 20 69 73 20 ........zero.no.such.mapping.is.
eefa0 6b 6e 6f 77 6e 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 2e 0a 20 20 20 known.in.the.current.locale.....
eefc0 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 42 65 73 69 64 65 20 6c 6f 63 61 6c 65 2d 73 70 65 ......<br><br>.Beside.locale-spe
eefe0 63 69 66 69 63 20 6d 61 70 70 69 6e 67 73 20 74 68 65 72 65 20 61 72 65 20 74 77 6f 20 6d 61 70 cific.mappings.there.are.two.map
ef000 70 69 6e 67 73 20 77 68 69 63 68 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 67 75 61 72 61 6e 74 pings.which.are..........guarant
ef020 65 65 64 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 65 76 65 72 79 20 6c 6f 63 eed.to.be.available.in.every.loc
ef040 61 6c 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e ale:..........<br><br>.<DT><pre>
ef060 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 </pre>.<DD><br>..........<br><br
ef080 3e 20 0a 20 20 20 20 20 20 20 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 >...........These.functions.are.
ef0a0 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a 20 declared.in.<TT>wctype.h</TT>...
ef0c0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 70 65 .......sq.~......w.....t..wctype
ef0e0 2e 68 78 71 00 7e 20 40 74 00 14 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 72 6f 70 65 72 74 79 74 .hxq.~.@t..const.char.*propertyt
ef100 00 09 77 63 74 72 61 6e 73 5f 74 74 00 06 77 63 74 79 70 65 73 71 00 7e 00 0a 70 74 02 4a 0a 20 ..wctrans_tt..wctypesq.~..pt.J..
ef120 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 63 74 79 70 65 3c 2f 43 4f 44 45 3e 20 72 .......The.<CODE>wctype</CODE>.r
ef140 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 61 20 63 6c eturns.a.value.representing.a.cl
ef160 61 73 73 20 6f 66 20 77 69 64 65 0a 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 ass.of.wide..........characters.
ef180 77 68 69 63 68 20 69 73 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 74 68 65 20 73 74 72 69 6e which.is.identified.by.the.strin
ef1a0 67 20 3c 56 41 52 3e 70 72 6f 70 65 72 74 79 3c 2f 56 41 52 3e 2e 20 20 42 65 73 69 64 65 0a 20 g.<VAR>property</VAR>...Beside..
ef1c0 20 20 20 20 20 20 20 20 73 6f 6d 65 20 73 74 61 6e 64 61 72 64 20 70 72 6f 70 65 72 74 69 65 73 ........some.standard.properties
ef1e0 20 65 61 63 68 20 6c 6f 63 61 6c 65 20 63 61 6e 20 64 65 66 69 6e 65 20 69 74 73 20 6f 77 6e 20 .each.locale.can.define.its.own.
ef200 6f 6e 65 73 2e 20 20 49 6e 20 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 6e 6f 20 70 72 6f 70 65 ones...In.case..........no.prope
ef220 72 74 79 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 6e 61 6d 65 20 69 73 20 6b 6e 6f 77 6e rty.with.the.given.name.is.known
ef240 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 65 0a 20 20 20 20 20 20 20 20 .for.the.current.locale.........
ef260 20 73 65 6c 65 63 74 65 64 20 66 6f 72 20 74 68 65 20 3c 43 4f 44 45 3e 4c 43 5f 43 54 59 50 45 .selected.for.the.<CODE>LC_CTYPE
ef280 3c 2f 43 4f 44 45 3e 20 63 61 74 65 67 6f 72 79 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 </CODE>.category,.the.function.r
ef2a0 65 74 75 72 6e 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 0a eturns.zero...........<br><br>..
ef2c0 20 20 20 20 20 20 20 20 20 54 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 6b 6e 6f 77 6e 20 69 6e .........The.properties.known.in
ef2e0 20 65 76 65 72 79 20 6c 6f 63 61 6c 65 20 61 72 65 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .every.locale.are:..........<br>
ef300 3c 62 72 3e 20 3c 44 54 3e 3c 70 72 65 3e 3c 2f 70 72 65 3e 0a 3c 44 44 3e 3c 62 72 3e 0a 20 20 <br>.<DT><pre></pre>.<DD><br>...
ef320 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 .......<br><br>.This.function.is
ef340 20 64 65 63 6c 61 72 65 64 20 69 6e 20 3c 54 54 3e 77 63 74 79 70 65 2e 68 3c 2f 54 54 3e 2e 0a .declared.in.<TT>wctype.h</TT>..
ef360 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 08 77 63 74 79 70 ........sq.~......w.....t..wctyp
ef380 65 2e 68 78 71 00 7e 20 47 74 00 14 63 6f 6e 73 74 20 63 68 61 72 20 2a 70 72 6f 70 65 72 74 79 e.hxq.~.Gt..const.char.*property
ef3a0 74 00 08 77 63 74 79 70 65 5f 74 74 00 07 77 6d 65 6d 63 68 72 73 71 00 7e 00 0a 70 74 01 3c 0a t..wctype_tt..wmemchrsq.~..pt.<.
ef3c0 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 73 20 74 68 65 20 ........This.function.finds.the.
ef3e0 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 74 68 65 20 77 69 64 65 20 63 68 61 first.occurrence.of.the.wide.cha
ef400 72 61 63 74 65 72 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 6e racter.<VAR>wc</VAR>..........in
ef420 20 74 68 65 20 69 6e 69 74 69 61 6c 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 77 69 64 .the.initial.<VAR>size</VAR>.wid
ef440 65 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 74 68 65 20 6f 62 6a 65 63 74 20 62 65 67 69 6e e.characters.of.the.object.begin
ef460 6e 69 6e 67 20 61 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 ning.at..........<VAR>block</VAR
ef480 3e 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 6e 74 65 >...The.return.value.is.a.pointe
ef4a0 72 20 74 6f 20 74 68 65 20 6c 6f 63 61 74 65 64 20 77 69 64 65 0a 20 20 20 20 20 20 20 20 20 63 r.to.the.located.wide..........c
ef4c0 68 61 72 61 63 74 65 72 2c 20 6f 72 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 69 66 20 6e haracter,.or.a.null.pointer.if.n
ef4e0 6f 20 6d 61 74 63 68 20 77 61 73 20 66 6f 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 o.match.was.found..........sq.~.
ef500 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 20 4e 74 00 2d 63 6f .....w.....t..wchar.hxq.~.Nt.-co
ef520 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 62 6c 6f 63 6b 2c 20 77 63 68 61 72 5f 74 20 77 63 2c 20 nst.wchar_t.*block,.wchar_t.wc,.
ef540 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 07 77 6d 65 6d 63 6d size_t.sizet..wchar_t.*t..wmemcm
ef560 70 73 71 00 7e 00 0a 70 74 02 25 0a 20 20 20 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e psq.~..pt.%.........The.function
ef580 20 3c 43 4f 44 45 3e 77 6d 65 6d 63 6d 70 3c 2f 43 4f 44 45 3e 20 63 6f 6d 70 61 72 65 73 20 74 .<CODE>wmemcmp</CODE>.compares.t
ef5a0 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 he.<VAR>size</VAR>.wide.characte
ef5c0 72 73 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 61 31 rs..........beginning.at.<VAR>a1
ef5e0 3c 2f 56 41 52 3e 20 61 67 61 69 6e 73 74 20 74 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 </VAR>.against.the.<VAR>size</VA
ef600 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 62 65 67 69 6e 6e 69 6e 67 0a 20 20 20 R>.wide.characters.beginning....
ef620 20 20 20 20 20 20 61 74 20 3c 56 41 52 3e 61 32 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 76 61 6c ......at.<VAR>a2</VAR>...The.val
ef640 75 65 20 72 65 74 75 72 6e 65 64 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 6f 72 20 6c ue.returned.is.smaller.than.or.l
ef660 61 72 67 65 72 20 74 68 61 6e 20 7a 65 72 6f 0a 20 20 20 20 20 20 20 20 20 64 65 70 65 6e 64 69 arger.than.zero..........dependi
ef680 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 74 68 65 20 66 69 72 73 74 20 64 69 66 66 65 72 69 6e ng.on.whether.the.first.differin
ef6a0 67 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 3c 56 41 52 3e 61 31 3c 2f 56 41 52 g.wide.character.is.<VAR>a1</VAR
ef6c0 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 73 6d 61 6c 6c 65 72 20 6f 72 20 6c 61 72 67 65 72 20 >.is..........smaller.or.larger.
ef6e0 74 68 61 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 63 68 61 72 61 63 74 65 72 than.the.corresponding.character
ef700 20 69 6e 20 3c 56 41 52 3e 61 32 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e .in.<VAR>a2</VAR>...........<br>
ef720 3c 62 72 3e 20 49 66 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 74 77 6f 20 <br>.If.the.contents.of.the.two.
ef740 62 6c 6f 63 6b 73 20 61 72 65 20 65 71 75 61 6c 2c 20 3c 43 4f 44 45 3e 77 6d 65 6d 63 6d 70 3c blocks.are.equal,.<CODE>wmemcmp<
ef760 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 30 3c /CODE>.returns..........<CODE>0<
ef780 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a /CODE>..........sq.~......w.....
ef7a0 74 00 07 77 63 6a 61 72 2e 68 78 71 00 7e 20 55 74 00 31 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 t..wcjar.hxq.~.Ut.1const.wchar_t
ef7c0 20 2a 61 31 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 61 32 2c 20 73 69 7a 65 5f 74 20 .*a1,.const.wchar_t.*a2,.size_t.
ef7e0 73 69 7a 65 74 00 03 69 6e 74 74 00 07 77 6d 65 6d 63 70 79 73 71 00 7e 00 0a 70 74 03 c9 0a 20 sizet..intt..wmemcpysq.~..pt....
ef800 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 6d 65 6d 63 70 79 3c 2f 43 4f 44 45 3e 20 .......The.<CODE>wmemcpy</CODE>.
ef820 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 function.copies.<VAR>size</VAR>.
ef840 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 6f 62 6a 65 63 74 0a wide.characters.from.the.object.
ef860 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 77 66 72 6f 6d .........beginning.at.<VAR>wfrom
ef880 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 62 65 67 69 6e 6e 69 6e 67 </VAR>.into.the.object.beginning
ef8a0 20 61 74 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 20 20 54 68 65 0a 20 20 20 20 20 20 20 .at.<VAR>wto</VAR>...The........
ef8c0 20 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 ..behavior.of.this.function.is.u
ef8e0 6e 64 65 66 69 6e 65 64 20 69 66 20 74 68 65 20 74 77 6f 20 61 72 72 61 79 73 20 3c 56 41 52 3e ndefined.if.the.two.arrays.<VAR>
ef900 77 74 6f 3c 2f 56 41 52 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 77 66 72 6f wto</VAR>.and..........<VAR>wfro
ef920 6d 3c 2f 56 41 52 3e 20 6f 76 65 72 6c 61 70 3b 20 75 73 65 20 3c 43 4f 44 45 3e 77 6d 65 6d 6d m</VAR>.overlap;.use.<CODE>wmemm
ef940 6f 76 65 3c 2f 43 4f 44 45 3e 20 69 6e 73 74 65 61 64 20 69 66 20 6f 76 65 72 6c 61 70 70 69 6e ove</CODE>.instead.if.overlappin
ef960 67 20 69 73 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e g.is.possible...........<br><br>
ef980 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 61 20 70 6f 73 73 69 62 6c 65 20 69 6d 70 .The.following.is.a.possible.imp
ef9a0 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 77 6d 65 6d 63 70 79 3c 2f 43 4f lementation.of.<CODE>wmemcpy</CO
ef9c0 44 45 3e 20 62 75 74 20 74 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 61 72 65 20 6d 6f 72 65 20 DE>.but.there..........are.more.
ef9e0 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 optimizations.possible..........
efa00 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 77 63 68 .<br><br>.<pre><br>..........wch
efa20 61 72 5f 74 20 2a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 77 6d 65 6d 63 70 79 20 28 77 63 68 ar_t.*<br>..........wmemcpy.(wch
efa40 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f ar_t.*restrict.wto,.const.wchar_
efa60 74 20 2a 72 65 73 74 72 69 63 74 20 77 66 72 6f 6d 2c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 t.*restrict.wfrom,<br>..........
efa80 20 20 20 20 20 20 20 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 29 3c 62 72 3e 0a 20 20 20 20 20 20 .........size_t.size)<br>.......
efaa0 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 77 63 68 61 ...{<br>............return.(wcha
efac0 72 5f 74 20 2a 29 20 6d 65 6d 63 70 79 20 28 77 74 6f 2c 20 77 66 72 6f 6d 2c 20 73 69 7a 65 20 r_t.*).memcpy.(wto,.wfrom,.size.
efae0 2a 20 73 69 7a 65 6f 66 20 28 77 63 68 61 72 5f 74 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 *.sizeof.(wchar_t));<br>........
efb00 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 ..}<br>..........</pre>.........
efb20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 .<br><br>.The.value.returned.by.
efb40 3c 43 4f 44 45 3e 77 6d 65 6d 63 70 79 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 76 61 6c 75 <CODE>wmemcpy</CODE>.is.the.valu
efb60 65 20 6f 66 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 e.of.<VAR>wto</VAR>...........<b
efb80 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 r><br>.This.function.was.introdu
efba0 63 65 64 20 69 6e 20 41 6d 65 6e 64 6d 65 6e 74 20 31 20 74 6f 20 49 53 4f 20 43 39 30 2e 0a 20 ced.in.Amendment.1.to.ISO.C90...
efbc0 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e .......sq.~......w.....t..wchar.
efbe0 68 78 71 00 7e 20 5c 74 00 41 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 74 6f 2c hxq.~.\t.Awchar_t.*restrict.wto,
efc00 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 66 72 6f 6d 2c 20 .const.wchar_t.*restrict.wfrom,.
efc20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 08 77 6d 65 6d 6d 6f size_t.sizet..wchar_t.*t..wmemmo
efc40 76 65 73 71 00 7e 00 0a 70 74 04 18 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 6d 65 6d 6d vesq.~..pt...........<CODE>wmemm
efc60 6f 76 65 3c 2f 43 4f 44 45 3e 20 63 6f 70 69 65 73 20 74 68 65 20 3c 56 41 52 3e 73 69 7a 65 3c ove</CODE>.copies.the.<VAR>size<
efc80 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 61 74 20 3c 56 41 52 3e 77 66 /VAR>.wide.characters.at.<VAR>wf
efca0 72 6f 6d 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 6e 74 6f 20 74 68 65 20 3c 56 41 52 rom</VAR>..........into.the.<VAR
efcc0 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 61 74 20 3c >size</VAR>.wide.characters.at.<
efce0 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2c 20 65 76 65 6e 20 69 66 20 74 68 6f 73 65 20 74 77 6f VAR>wto</VAR>,.even.if.those.two
efd00 0a 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 73 20 6f 66 20 73 70 61 63 65 20 6f 76 65 72 6c 61 ..........blocks.of.space.overla
efd20 70 2e 20 20 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 6f 76 65 72 6c 61 70 2c 20 3c 43 4f 44 p...In.the.case.of.overlap,.<COD
efd40 45 3e 6d 65 6d 6d 6f 76 65 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 72 E>memmove</CODE>.is..........car
efd60 65 66 75 6c 20 74 6f 20 63 6f 70 79 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 61 6c 75 65 73 eful.to.copy.the.original.values
efd80 20 6f 66 20 74 68 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 20 62 .of.the.wide.characters.in.the.b
efda0 6c 6f 63 6b 0a 20 20 20 20 20 20 20 20 20 61 74 20 3c 56 41 52 3e 77 66 72 6f 6d 3c 2f 56 41 52 lock..........at.<VAR>wfrom</VAR
efdc0 3e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 6f 73 65 20 77 69 64 65 20 63 68 61 72 61 63 74 65 >,.including.those.wide.characte
efde0 72 73 20 77 68 69 63 68 20 61 6c 73 6f 20 62 65 6c 6f 6e 67 20 74 6f 20 74 68 65 0a 20 20 20 20 rs.which.also.belong.to.the.....
efe00 20 20 20 20 20 62 6c 6f 63 6b 20 61 74 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 0a 20 20 .....block.at.<VAR>wto</VAR>....
efe20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 73 .......<br><br>.The.following.is
efe40 20 61 20 70 6f 73 73 69 62 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 3c 43 .a.possible.implementation.of.<C
efe60 4f 44 45 3e 77 6d 65 6d 63 70 79 3c 2f 43 4f 44 45 3e 20 62 75 74 20 74 68 65 72 65 0a 20 20 20 ODE>wmemcpy</CODE>.but.there....
efe80 20 20 20 20 20 20 61 72 65 20 6d 6f 72 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 70 6f 73 ......are.more.optimizations.pos
efea0 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 sible...........<br><br>.<pre><b
efec0 72 3e 0a 20 20 20 20 20 20 20 20 20 77 63 68 61 72 5f 74 20 2a 3c 62 72 3e 0a 20 20 20 20 20 20 r>..........wchar_t.*<br>.......
efee0 20 20 20 77 6d 65 6d 70 63 70 79 20 28 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 ...wmempcpy.(wchar_t.*restrict.w
eff00 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 66 72 6f to,.const.wchar_t.*restrict.wfro
eff20 6d 2c 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 5f 74 m,<br>....................size_t
eff40 20 73 69 7a 65 29 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 .size)<br>..........{<br>.......
eff60 20 20 20 20 20 72 65 74 75 72 6e 20 28 77 63 68 61 72 5f 74 20 2a 29 20 6d 65 6d 70 63 70 79 20 .....return.(wchar_t.*).mempcpy.
eff80 28 77 74 6f 2c 20 77 66 72 6f 6d 2c 20 73 69 7a 65 20 2a 20 73 69 7a 65 6f 66 20 28 77 63 68 61 (wto,.wfrom,.size.*.sizeof.(wcha
effa0 72 5f 74 29 29 3b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 r_t));<br>..........}<br>.......
effc0 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 ...</pre>..........<br><br>.The.
effe0 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 3c 43 4f 44 45 3e 77 6d 65 6d 6d 6f 76 65 value.returned.by.<CODE>wmemmove
f0000 3c 2f 43 4f 44 45 3e 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 77 74 6f </CODE>.is.the.value.of.<VAR>wto
f0020 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 </VAR>...........<br><br>.This.f
f0040 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 unction.is.a.GNU.extension......
f0060 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 ....sq.~......w.....t..wchar.hxq
f0080 00 7e 20 63 74 00 2d 77 63 68 61 72 20 2a 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 .~.ct.-wchar.*wto,.const.wchar_t
f00a0 20 2a 77 66 72 6f 6d 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 09 77 63 68 61 72 5f 74 20 2a .*wfrom,.size_t.sizet..wchar_t.*
f00c0 74 00 08 77 6d 65 6d 70 63 70 79 73 71 00 7e 00 0a 70 74 04 89 0a 20 20 20 20 20 20 20 20 54 68 t..wmempcpysq.~..pt...........Th
f00e0 65 20 3c 43 4f 44 45 3e 77 6d 65 6d 70 63 70 79 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e e.<CODE>wmempcpy</CODE>.function
f0100 20 69 73 20 6e 65 61 72 6c 79 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 3c 43 4f 44 .is.nearly.identical.to.the.<COD
f0120 45 3e 77 6d 65 6d 63 70 79 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 E>wmemcpy</CODE>..........functi
f0140 6f 6e 2e 20 20 49 74 20 63 6f 70 69 65 73 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 77 on...It.copies.<VAR>size</VAR>.w
f0160 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 6f 62 6a 65 63 74 0a 20 ide.characters.from.the.object..
f0180 20 20 20 20 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 43 4f 44 45 3e 77 66 72 6f 6d ........beginning.at.<CODE>wfrom
f01a0 3c 2f 43 4f 44 45 3e 20 69 6e 74 6f 20 74 68 65 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 </CODE>.into.the.object.pointed.
f01c0 74 6f 20 62 79 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 2e 20 20 42 75 74 0a 20 20 20 20 20 to.by.<VAR>wto</VAR>...But......
f01e0 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 76 61 6c ....instead.of.returning.the.val
f0200 75 65 20 6f 66 20 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 20 69 74 20 72 65 74 75 72 6e 73 20 ue.of.<VAR>wto</VAR>.it.returns.
f0220 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 77 69 64 65 20 63 a.pointer.to.the..........wide.c
f0240 68 61 72 61 63 74 65 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 6c 61 73 74 20 77 72 69 74 haracter.following.the.last.writ
f0260 74 65 6e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 20 6f 62 6a 65 63 74 ten.wide.character.in.the.object
f0280 0a 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 77 74 6f 3c ..........beginning.at.<VAR>wto<
f02a0 2f 56 41 52 3e 2e 20 20 49 2e 65 2e 2c 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 3c 43 4f 44 45 /VAR>...I.e.,.the.value.is.<CODE
f02c0 3e 3c 56 41 52 3e 77 74 6f 3c 2f 56 41 52 3e 20 2b 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 ><VAR>wto</VAR>.+.<VAR>size</VAR
f02e0 3e 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 ></CODE>...........<br><br>.This
f0300 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 66 75 6c 20 69 6e 20 73 69 74 75 61 74 69 6f 6e .function.is.useful.in.situation
f0320 73 20 77 68 65 72 65 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 6f 62 6a 65 63 74 73 20 73 68 61 6c s.where.a.number.of.objects.shal
f0340 6c 20 62 65 0a 20 20 20 20 20 20 20 20 20 63 6f 70 69 65 64 20 74 6f 20 63 6f 6e 73 65 63 75 74 l.be..........copied.to.consecut
f0360 69 76 65 20 6d 65 6d 6f 72 79 20 70 6f 73 69 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 3c ive.memory.positions...........<
f0380 62 72 3e 3c 62 72 3e 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 61 20 70 6f 73 73 69 br><br>.The.following.is.a.possi
f03a0 62 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 3c 43 4f 44 45 3e 77 6d 65 6d ble.implementation.of.<CODE>wmem
f03c0 63 70 79 3c 2f 43 4f 44 45 3e 20 62 75 74 20 74 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 61 72 cpy</CODE>.but.there..........ar
f03e0 65 20 6d 6f 72 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 70 6f 73 73 69 62 6c 65 2e 0a 20 e.more.optimizations.possible...
f0400 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 ........<br><br>.<pre><br>......
f0420 20 20 20 20 77 63 68 61 72 5f 74 20 2a 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 77 6d 65 6d 70 ....wchar_t.*<br>..........wmemp
f0440 63 70 79 20 28 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 74 6f 2c 20 63 6f 6e 73 cpy.(wchar_t.*restrict.wto,.cons
f0460 74 20 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 66 72 6f 6d 2c 3c 62 72 3e 0a 20 t.wchar_t.*restrict.wfrom,<br>..
f0480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 7a 65 5f 74 20 73 69 7a 65 29 3c 62 ..................size_t.size)<b
f04a0 72 3e 0a 20 20 20 20 20 20 20 20 20 7b 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 r>..........{<br>............ret
f04c0 75 72 6e 20 28 77 63 68 61 72 5f 74 20 2a 29 20 6d 65 6d 70 63 70 79 20 28 77 74 6f 2c 20 77 66 urn.(wchar_t.*).mempcpy.(wto,.wf
f04e0 72 6f 6d 2c 20 73 69 7a 65 20 2a 20 73 69 7a 65 6f 66 20 28 77 63 68 61 72 5f 74 29 29 3b 3c 62 rom,.size.*.sizeof.(wchar_t));<b
f0500 72 3e 0a 20 20 20 20 20 20 20 20 20 7d 3c 62 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 r>..........}<br>..........</pre
f0520 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f >..........<br><br>.This.functio
f0540 6e 20 69 73 20 61 20 47 4e 55 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 73 71 n.is.a.GNU.extension..........sq
f0560 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 20 6a 74 00 .~......w.....t..wchar.hxq.~.jt.
f0580 41 77 63 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 74 6f 2c 20 63 6f 6e 73 74 20 77 63 Awchar_t.*restrict.wto,.const.wc
f05a0 68 61 72 5f 74 20 2a 72 65 73 74 72 69 63 74 20 77 66 72 6f 6d 2c 20 73 69 7a 65 5f 74 20 73 69 har_t.*restrict.wfrom,.size_t.si
f05c0 7a 65 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 07 77 6d 65 6d 73 65 74 73 71 00 7e 00 0a 70 74 zet..wchar_t.*t..wmemsetsq.~..pt
f05e0 00 e2 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 ...........This.function.copies.
f0600 74 68 65 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 77 63 3c 2f 56 41 52 3e 20 69 6e 74 6f 20 the.value.of.<VAR>wc</VAR>.into.
f0620 65 61 63 68 20 6f 66 20 74 68 65 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e each.of.the.first..........<VAR>
f0640 73 69 7a 65 3c 2f 56 41 52 3e 20 77 69 64 65 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 74 68 size</VAR>.wide.characters.of.th
f0660 65 20 6f 62 6a 65 63 74 20 62 65 67 69 6e 6e 69 6e 67 20 61 74 20 3c 56 41 52 3e 62 6c 6f 63 6b e.object.beginning.at.<VAR>block
f0680 3c 2f 56 41 52 3e 2e 20 20 49 74 0a 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 65 </VAR>...It..........returns.the
f06a0 20 76 61 6c 75 65 20 6f 66 20 3c 56 41 52 3e 62 6c 6f 63 6b 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 .value.of.<VAR>block</VAR>......
f06c0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 ....sq.~......w.....t..wchar.hxq
f06e0 00 7e 20 71 74 00 27 77 63 68 61 72 5f 74 20 2a 62 6c 6f 63 6b 2c 20 77 63 68 61 72 5f 74 20 77 .~.qt.'wchar_t.*block,.wchar_t.w
f0700 63 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 74 00 09 77 63 68 61 72 5f 74 20 2a 74 00 07 77 6f 72 c,.size_t.sizet..wchar_t.*t..wor
f0720 64 65 78 70 73 71 00 7e 00 0a 70 74 0a 12 0a 20 20 20 20 20 20 20 20 50 65 72 66 6f 72 6d 20 77 dexpsq.~..pt...........Perform.w
f0740 6f 72 64 20 65 78 70 61 6e 73 69 6f 6e 20 6f 6e 20 74 68 65 20 73 74 72 69 6e 67 20 3c 56 41 52 ord.expansion.on.the.string.<VAR
f0760 3e 77 6f 72 64 73 3c 2f 56 41 52 3e 2c 20 70 75 74 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 >words</VAR>,.putting.the.result
f0780 20 69 6e 0a 20 20 20 20 20 20 20 20 20 61 20 6e 65 77 6c 79 20 61 6c 6c 6f 63 61 74 65 64 20 76 .in..........a.newly.allocated.v
f07a0 65 63 74 6f 72 2c 20 61 6e 64 20 73 74 6f 72 65 20 74 68 65 20 73 69 7a 65 20 61 6e 64 20 61 64 ector,.and.store.the.size.and.ad
f07c0 64 72 65 73 73 20 6f 66 20 74 68 69 73 20 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 69 6e dress.of.this.vector..........in
f07e0 74 6f 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 77 6f 72 64 2d 76 65 63 74 6f 72 2d 70 74 72 3c 2f to.<CODE>*<VAR>word-vector-ptr</
f0800 56 41 52 3e 3c 2f 43 4f 44 45 3e 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 3c 56 41 52 3e VAR></CODE>...The.argument.<VAR>
f0820 66 6c 61 67 73 3c 2f 56 41 52 3e 20 69 73 20 61 0a 20 20 20 20 20 20 20 20 20 63 6f 6d 62 69 6e flags</VAR>.is.a..........combin
f0840 61 74 69 6f 6e 20 6f 66 20 62 69 74 20 66 6c 61 67 73 3b 20 73 65 65 20 46 6c 61 67 73 20 66 6f ation.of.bit.flags;.see.Flags.fo
f0860 72 20 57 6f 72 64 65 78 70 2c 20 66 6f 72 20 64 65 74 61 69 6c 73 20 6f 66 0a 20 20 20 20 20 20 r.Wordexp,.for.details.of.......
f0880 20 20 20 74 68 65 20 66 6c 61 67 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 ...the.flags...........<br><br>.
f08a0 59 6f 75 20 73 68 6f 75 6c 64 6e 27 74 20 75 73 65 20 61 6e 79 20 6f 66 20 74 68 65 20 63 68 61 You.shouldn't.use.any.of.the.cha
f08c0 72 61 63 74 65 72 73 20 3c 73 61 6d 70 3e 7c 26 3b 3c 3e 3c 2f 73 61 6d 70 3e 20 69 6e 20 74 68 racters.<samp>|&;<></samp>.in.th
f08e0 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 77 6f 72 64 73 3c 2f 56 41 e.string..........<VAR>words</VA
f0900 52 3e 20 75 6e 6c 65 73 73 20 74 68 65 79 20 61 72 65 20 71 75 6f 74 65 64 3b 20 6c 69 6b 65 77 R>.unless.they.are.quoted;.likew
f0920 69 73 65 20 66 6f 72 20 6e 65 77 6c 69 6e 65 2e 20 20 49 66 20 79 6f 75 20 75 73 65 0a 20 20 20 ise.for.newline...If.you.use....
f0940 20 20 20 20 20 20 74 68 65 73 65 20 63 68 61 72 61 63 74 65 72 73 20 75 6e 71 75 6f 74 65 64 2c ......these.characters.unquoted,
f0960 20 79 6f 75 20 77 69 6c 6c 20 67 65 74 20 74 68 65 20 3c 43 4f 44 45 3e 57 52 44 45 5f 42 41 44 .you.will.get.the.<CODE>WRDE_BAD
f0980 43 48 41 52 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 63 6f 64 65 2e CHAR</CODE>.error..........code.
f09a0 20 20 44 6f 6e 27 74 20 75 73 65 20 70 61 72 65 6e 74 68 65 73 65 73 20 6f 72 20 62 72 61 63 65 ..Don't.use.parentheses.or.brace
f09c0 73 20 75 6e 6c 65 73 73 20 74 68 65 79 20 61 72 65 20 71 75 6f 74 65 64 20 6f 72 20 70 61 72 74 s.unless.they.are.quoted.or.part
f09e0 20 6f 66 0a 20 20 20 20 20 20 20 20 20 61 20 77 6f 72 64 20 65 78 70 61 6e 73 69 6f 6e 20 63 6f .of..........a.word.expansion.co
f0a00 6e 73 74 72 75 63 74 2e 20 20 49 66 20 79 6f 75 20 75 73 65 20 71 75 6f 74 61 74 69 6f 6e 20 63 nstruct...If.you.use.quotation.c
f0a20 68 61 72 61 63 74 65 72 73 20 3c 73 61 6d 70 3e 27 22 60 3c 2f 73 61 6d 70 3e 2c 0a 20 20 20 20 haracters.<samp>'"`</samp>,.....
f0a40 20 20 20 20 20 74 68 65 79 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 69 6e 20 70 61 69 72 73 20 74 .....they.should.come.in.pairs.t
f0a60 68 61 74 20 62 61 6c 61 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 hat.balance...........<br><br>.T
f0a80 68 65 20 72 65 73 75 6c 74 73 20 6f 66 20 77 6f 72 64 20 65 78 70 61 6e 73 69 6f 6e 20 61 72 65 he.results.of.word.expansion.are
f0aa0 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 77 6f 72 64 73 2e 20 20 54 68 65 20 66 75 6e 63 74 .a.sequence.of.words...The.funct
f0ac0 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 6f 72 64 65 78 70 3c 2f 43 4f 44 45 ion..........<CODE>wordexp</CODE
f0ae0 3e 20 61 6c 6c 6f 63 61 74 65 73 20 61 20 73 74 72 69 6e 67 20 66 6f 72 20 65 61 63 68 20 72 65 >.allocates.a.string.for.each.re
f0b00 73 75 6c 74 69 6e 67 20 77 6f 72 64 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 61 6c 6c 6f sulting.word,.then..........allo
f0b20 63 61 74 65 73 20 61 20 76 65 63 74 6f 72 20 6f 66 20 74 79 70 65 20 3c 43 4f 44 45 3e 63 68 61 cates.a.vector.of.type.<CODE>cha
f0b40 72 20 2a 2a 3c 2f 43 4f 44 45 3e 20 74 6f 20 73 74 6f 72 65 20 74 68 65 20 61 64 64 72 65 73 73 r.**</CODE>.to.store.the.address
f0b60 65 73 20 6f 66 0a 20 20 20 20 20 20 20 20 20 74 68 65 73 65 20 73 74 72 69 6e 67 73 2e 20 20 54 es.of..........these.strings...T
f0b80 68 65 20 6c 61 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 76 65 63 74 6f 72 20 69 73 he.last.element.of.the.vector.is
f0ba0 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 54 68 69 73 20 76 .a.null.pointer...........This.v
f0bc0 65 63 74 6f 72 20 69 73 20 63 61 6c 6c 65 64 20 74 68 65 20 77 6f 72 64 20 76 65 63 74 6f 72 2e ector.is.called.the.word.vector.
f0be0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 6f 20 72 65 74 75 72 6e 20 74 68 69 ..........<br><br>.To.return.thi
f0c00 73 20 76 65 63 74 6f 72 2c 20 3c 43 4f 44 45 3e 77 6f 72 64 65 78 70 3c 2f 43 4f 44 45 3e 20 73 s.vector,.<CODE>wordexp</CODE>.s
f0c20 74 6f 72 65 73 20 62 6f 74 68 20 69 74 73 20 61 64 64 72 65 73 73 20 61 6e 64 20 69 74 73 0a 20 tores.both.its.address.and.its..
f0c40 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 28 6e 75 6d 62 65 72 20 6f 66 20 65 6c 65 6d 65 6e ........length.(number.of.elemen
f0c60 74 73 2c 20 6e 6f 74 20 63 6f 75 6e 74 69 6e 67 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 ts,.not.counting.the.terminating
f0c80 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 69 6e 74 6f 20 3c 43 4f .null.pointer)..........into.<CO
f0ca0 44 45 3e 2a 3c 56 41 52 3e 77 6f 72 64 2d 76 65 63 74 6f 72 2d 70 74 72 3c 2f 56 41 52 3e 3c 2f DE>*<VAR>word-vector-ptr</VAR></
f0cc0 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 66 20 3c 43 4f 44 CODE>...........<br><br>.If.<COD
f0ce0 45 3e 77 6f 72 64 65 78 70 3c 2f 43 4f 44 45 3e 20 73 75 63 63 65 65 64 73 2c 20 69 74 20 72 65 E>wordexp</CODE>.succeeds,.it.re
f0d00 74 75 72 6e 73 20 30 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 turns.0...Otherwise,.it.returns.
f0d20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 73 65 20 65 72 72 6f 72 20 63 6f 64 65 one..........of.these.error.code
f0d40 73 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a 20 20 20 20 20 s:..........<br><br>.<DL>.......
f0d60 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 57 52 44 45 5f 42 41 44 43 48 41 52 0a 20 20 20 20 20 ....<DT><CODE>WRDE_BADCHAR......
f0d80 20 20 20 20 54 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 77 6f 72 64 73 3c ....The.input.string.<VAR>words<
f0da0 2f 56 41 52 3e 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 75 6e 71 75 6f 74 65 64 20 69 6e 76 61 6c /VAR>.contains.an.unquoted.inval
f0dc0 69 64 20 63 68 61 72 61 63 74 65 72 20 73 75 63 68 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 id.character.such</CODE>.<DD>...
f0de0 20 20 20 20 20 20 20 61 73 20 3c 73 61 6d 70 3e 7c 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 .......as.<samp>|</samp>........
f0e00 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 57 52 44 45 5f 42 41 44 56 41 ...<br><br>.<DT><CODE>WRDE_BADVA
f0e20 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 69 6e 70 75 74 L</CODE>.<DD>..........The.input
f0e40 20 73 74 72 69 6e 67 20 72 65 66 65 72 73 20 74 6f 20 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 73 .string.refers.to.an.undefined.s
f0e60 68 65 6c 6c 20 76 61 72 69 61 62 6c 65 2c 20 61 6e 64 20 79 6f 75 20 75 73 65 64 20 74 68 65 20 hell.variable,.and.you.used.the.
f0e80 66 6c 61 67 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 57 52 44 45 5f 55 4e 44 45 46 3c 2f flag..........<CODE>WRDE_UNDEF</
f0ea0 43 4f 44 45 3e 20 74 6f 20 66 6f 72 62 69 64 20 73 75 63 68 20 72 65 66 65 72 65 6e 63 65 73 2e CODE>.to.forbid.such.references.
f0ec0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 57 52 44 ..........<br><br>.<DT><CODE>WRD
f0ee0 45 5f 43 4d 44 53 55 42 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 E_CMDSUB</CODE>.<DD>..........Th
f0f00 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 20 75 73 65 73 20 63 6f 6d 6d 61 6e 64 20 73 75 62 73 e.input.string.uses.command.subs
f0f20 74 69 74 75 74 69 6f 6e 2c 20 61 6e 64 20 79 6f 75 20 75 73 65 64 20 74 68 65 20 66 6c 61 67 0a titution,.and.you.used.the.flag.
f0f40 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 57 52 44 45 5f 4e 4f 43 4d 44 3c 2f 43 4f 44 45 3e .........<CODE>WRDE_NOCMD</CODE>
f0f60 20 74 6f 20 66 6f 72 62 69 64 20 63 6f 6d 6d 61 6e 64 20 73 75 62 73 74 69 74 75 74 69 6f 6e 2e .to.forbid.command.substitution.
f0f80 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 57 52 44 ..........<br><br>.<DT><CODE>WRD
f0fa0 45 5f 4e 4f 53 50 41 43 45 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 49 E_NOSPACE</CODE>.<DD>..........I
f0fc0 74 20 77 61 73 20 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 61 6c 6c 6f 63 61 74 65 20 6d 65 6d t.was.impossible.to.allocate.mem
f0fe0 6f 72 79 20 74 6f 20 68 6f 6c 64 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 49 6e 20 74 68 69 73 ory.to.hold.the.result...In.this
f1000 20 63 61 73 65 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 6f 72 64 65 78 70 3c 2f 43 .case,..........<CODE>wordexp</C
f1020 4f 44 45 3e 20 63 61 6e 20 73 74 6f 72 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 72 65 73 75 6c ODE>.can.store.part.of.the.resul
f1040 74 73 2d 2d 2d 61 73 20 6d 75 63 68 20 61 73 20 69 74 20 63 6f 75 6c 64 0a 20 20 20 20 20 20 20 ts---as.much.as.it.could........
f1060 20 20 61 6c 6c 6f 63 61 74 65 20 72 6f 6f 6d 20 66 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 ..allocate.room.for...........<b
f1080 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 57 52 44 45 5f 53 59 4e 54 41 58 3c 2f 43 4f r><br>.<DT><CODE>WRDE_SYNTAX</CO
f10a0 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 72 65 20 77 61 73 20 61 20 73 79 DE>.<DD>..........There.was.a.sy
f10c0 6e 74 61 78 20 65 72 72 6f 72 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 2e 20 ntax.error.in.the.input.string..
f10e0 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 6e 20 75 6e 6d 61 74 63 68 65 64 0a 20 20 20 20 20 .For.example,.an.unmatched......
f1100 20 20 20 20 71 75 6f 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 20 69 73 20 61 20 73 79 6e 74 61 ....quoting.character.is.a.synta
f1120 78 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 x.error...........</DL>.........
f1140 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 77 6f 72 64 65 78 70 2e 68 78 71 00 7e sq.~......w.....t..wordexp.hxq.~
f1160 20 78 74 00 38 63 6f 6e 73 74 20 63 68 61 72 20 2a 77 6f 72 64 73 2c 20 77 6f 72 64 65 78 70 5f .xt.8const.char.*words,.wordexp_
f1180 74 20 2a 77 6f 72 64 2d 76 65 63 74 6f 72 2d 70 74 72 2c 20 69 6e 74 20 66 6c 61 67 73 74 00 03 t.*word-vector-ptr,.int.flagst..
f11a0 69 6e 74 74 00 08 77 6f 72 64 66 72 65 65 73 71 00 7e 00 0a 70 74 01 11 0a 20 20 20 20 20 20 20 intt..wordfreesq.~..pt..........
f11c0 20 46 72 65 65 20 74 68 65 20 73 74 6f 72 61 67 65 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 77 .Free.the.storage.used.for.the.w
f11e0 6f 72 64 2d 73 74 72 69 6e 67 73 20 61 6e 64 20 76 65 63 74 6f 72 20 74 68 61 74 0a 20 20 20 20 ord-strings.and.vector.that.....
f1200 20 20 20 20 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 77 6f 72 64 2d 76 65 63 74 6f 72 2d 70 74 72 .....<CODE>*<VAR>word-vector-ptr
f1220 3c 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 70 6f 69 6e 74 73 20 74 6f 2e 20 20 54 68 69 73 20 64 </VAR></CODE>.points.to...This.d
f1240 6f 65 73 20 6e 6f 74 20 66 72 65 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 73 74 72 75 63 74 oes.not.free.the..........struct
f1260 75 72 65 20 3c 43 4f 44 45 3e 2a 3c 56 41 52 3e 77 6f 72 64 2d 76 65 63 74 6f 72 2d 70 74 72 3c ure.<CODE>*<VAR>word-vector-ptr<
f1280 2f 56 41 52 3e 3c 2f 43 4f 44 45 3e 20 69 74 73 65 6c 66 2d 2d 2d 6f 6e 6c 79 20 74 68 65 20 6f /VAR></CODE>.itself---only.the.o
f12a0 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 64 61 74 61 20 69 74 20 70 6f 69 6e 74 73 20 74 6f 2e ther..........data.it.points.to.
f12c0 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 77 6f 72 64 .........sq.~......w.....t..word
f12e0 65 78 70 2e 68 78 71 00 7e 20 7f 74 00 1a 77 6f 72 64 65 78 70 5f 74 20 2a 77 6f 72 64 2d 76 65 exp.hxq.~..t..wordexp_t.*word-ve
f1300 63 74 6f 72 2d 70 74 72 74 00 04 76 6f 69 64 74 00 07 77 70 72 69 6e 74 66 73 71 00 7e 00 0a 70 ctor-ptrt..voidt..wprintfsq.~..p
f1320 74 01 36 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 70 72 69 6e 74 66 3c 2f 43 t.6.........The.<CODE>wprintf</C
f1340 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 ODE>.function.prints.the.optiona
f1360 6c 20 61 72 67 75 6d 65 6e 74 73 20 75 6e 64 65 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 63 l.arguments.under.the..........c
f1380 6f 6e 74 72 6f 6c 20 6f 66 20 74 68 65 20 77 69 64 65 20 74 65 6d 70 6c 61 74 65 20 73 74 72 69 ontrol.of.the.wide.template.stri
f13a0 6e 67 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 3c 2f 56 41 52 3e 20 74 6f 20 74 68 65 20 73 74 ng.<VAR>template</VAR>.to.the.st
f13c0 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 64 6f 75 74 3c 2f 43 4f 44 45 ream..........<CODE>stdout</CODE
f13e0 3e 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 77 69 64 >...It.returns.the.number.of.wid
f1400 65 20 63 68 61 72 61 63 74 65 72 73 20 70 72 69 6e 74 65 64 2c 20 6f 72 20 61 0a 20 20 20 20 20 e.characters.printed,.or.a......
f1420 20 20 20 20 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 20 69 66 20 74 68 65 72 65 20 77 61 73 20 ....negative.value.if.there.was.
f1440 61 6e 20 6f 75 74 70 75 74 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 an.output.error..........sq.~...
f1460 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 00 7e 20 86 74 00 1c 63 6f 6e 73 ...w.....t..wchar.hxq.~..t..cons
f1480 74 20 77 63 68 61 72 5f 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 2e 2e 2e 74 00 03 69 6e 74 74 00 t.wchar_t.*template,....t..intt.
f14a0 05 77 72 69 74 65 73 71 00 7e 00 0a 70 74 16 a3 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f .writesq.~..pt...........The.<CO
f14c0 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 73 20 DE>write</CODE>.function.writes.
f14e0 75 70 20 74 6f 20 3c 56 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 20 62 79 74 65 73 20 66 72 6f 6d up.to.<VAR>size</VAR>.bytes.from
f1500 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 74 6f 20 74 ..........<VAR>buffer</VAR>.to.t
f1520 68 65 20 66 69 6c 65 20 77 69 74 68 20 64 65 73 63 72 69 70 74 6f 72 20 3c 56 41 52 3e 66 69 6c he.file.with.descriptor.<VAR>fil
f1540 65 64 65 73 3c 2f 56 41 52 3e 2e 20 20 54 68 65 20 64 61 74 61 20 69 6e 0a 20 20 20 20 20 20 20 edes</VAR>...The.data.in........
f1560 20 20 3c 56 41 52 3e 62 75 66 66 65 72 3c 2f 56 41 52 3e 20 69 73 20 6e 6f 74 20 6e 65 63 65 73 ..<VAR>buffer</VAR>.is.not.neces
f1580 73 61 72 69 6c 79 20 61 20 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 20 61 6e 64 20 61 20 sarily.a.character.string.and.a.
f15a0 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 null.character.is..........outpu
f15c0 74 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 t.like.any.other.character......
f15e0 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 .....<br><br>.The.return.value.i
f1600 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 61 63 74 75 61 6c 6c 79 20 77 s.the.number.of.bytes.actually.w
f1620 72 69 74 74 65 6e 2e 20 20 54 68 69 73 20 6d 61 79 20 62 65 0a 20 20 20 20 20 20 20 20 20 3c 56 ritten...This.may.be..........<V
f1640 41 52 3e 73 69 7a 65 3c 2f 56 41 52 3e 2c 20 62 75 74 20 63 61 6e 20 61 6c 77 61 79 73 20 62 65 AR>size</VAR>,.but.can.always.be
f1660 20 73 6d 61 6c 6c 65 72 2e 20 20 59 6f 75 72 20 70 72 6f 67 72 61 6d 20 73 68 6f 75 6c 64 20 61 .smaller...Your.program.should.a
f1680 6c 77 61 79 73 20 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c lways.call..........<CODE>write<
f16a0 2f 43 4f 44 45 3e 20 69 6e 20 61 20 6c 6f 6f 70 2c 20 69 74 65 72 61 74 69 6e 67 20 75 6e 74 69 /CODE>.in.a.loop,.iterating.unti
f16c0 6c 20 61 6c 6c 20 74 68 65 20 64 61 74 61 20 69 73 20 77 72 69 74 74 65 6e 2e 0a 20 20 20 20 20 l.all.the.data.is.written.......
f16e0 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 63 65 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 ....<br><br>.Once.<CODE>write</C
f1700 4f 44 45 3e 20 72 65 74 75 72 6e 73 2c 20 74 68 65 20 64 61 74 61 20 69 73 20 65 6e 71 75 65 75 ODE>.returns,.the.data.is.enqueu
f1720 65 64 20 74 6f 20 62 65 20 77 72 69 74 74 65 6e 20 61 6e 64 20 63 61 6e 20 62 65 0a 20 20 20 20 ed.to.be.written.and.can.be.....
f1740 20 20 20 20 20 72 65 61 64 20 62 61 63 6b 20 72 69 67 68 74 20 61 77 61 79 2c 20 62 75 74 20 69 .....read.back.right.away,.but.i
f1760 74 20 69 73 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 77 72 69 74 74 65 6e 20 6f 75 74 t.is.not.necessarily.written.out
f1780 20 74 6f 20 70 65 72 6d 61 6e 65 6e 74 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 61 67 65 20 69 .to.permanent..........storage.i
f17a0 6d 6d 65 64 69 61 74 65 6c 79 2e 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 3c 43 4f 44 45 3e 66 mmediately...You.can.use.<CODE>f
f17c0 73 79 6e 63 3c 2f 43 4f 44 45 3e 20 77 68 65 6e 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 62 65 20 sync</CODE>.when.you.need.to.be.
f17e0 73 75 72 65 0a 20 20 20 20 20 20 20 20 20 79 6f 75 72 20 64 61 74 61 20 68 61 73 20 62 65 65 6e sure..........your.data.has.been
f1800 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 73 74 6f 72 65 64 20 62 65 66 6f 72 65 20 63 6f 6e 74 69 .permanently.stored.before.conti
f1820 6e 75 69 6e 67 2e 20 20 28 49 74 20 69 73 20 6d 6f 72 65 0a 20 20 20 20 20 20 20 20 20 65 66 66 nuing...(It.is.more..........eff
f1840 69 63 69 65 6e 74 20 66 6f 72 20 74 68 65 20 73 79 73 74 65 6d 20 74 6f 20 62 61 74 63 68 20 75 icient.for.the.system.to.batch.u
f1860 70 20 63 6f 6e 73 65 63 75 74 69 76 65 20 77 72 69 74 65 73 20 61 6e 64 20 64 6f 20 74 68 65 6d p.consecutive.writes.and.do.them
f1880 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 61 74 20 6f 6e 63 65 20 77 68 65 6e 20 63 6f 6e 76 65 .all..........at.once.when.conve
f18a0 6e 69 65 6e 74 2e 20 20 4e 6f 72 6d 61 6c 6c 79 20 74 68 65 79 20 77 69 6c 6c 20 61 6c 77 61 79 nient...Normally.they.will.alway
f18c0 73 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 64 69 73 6b 0a 20 20 20 20 20 20 20 20 20 77 69 s.be.written.to.disk..........wi
f18e0 74 68 69 6e 20 61 20 6d 69 6e 75 74 65 20 6f 72 20 6c 65 73 73 2e 29 20 20 4d 6f 64 65 72 6e 20 thin.a.minute.or.less.)..Modern.
f1900 73 79 73 74 65 6d 73 20 70 72 6f 76 69 64 65 20 61 6e 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e systems.provide.another.function
f1920 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 66 64 61 74 61 73 79 6e 63 3c 2f 43 4f 44 45 3e ..........<CODE>fdatasync</CODE>
f1940 20 77 68 69 63 68 20 67 75 61 72 61 6e 74 65 65 73 20 69 6e 74 65 67 72 69 74 79 20 6f 6e 6c 79 .which.guarantees.integrity.only
f1960 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 64 61 74 61 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 .for.the.file.data.and..........
f1980 69 73 20 74 68 65 72 65 66 6f 72 65 20 66 61 73 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 59 6f is.therefore.faster...........Yo
f19a0 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 3c 43 4f 44 45 3e 4f 5f 46 53 59 4e 43 3c 2f 43 4f 44 u.can.use.the.<CODE>O_FSYNC</COD
f19c0 45 3e 20 6f 70 65 6e 20 6d 6f 64 65 20 74 6f 20 6d 61 6b 65 20 3c 43 4f 44 45 3e 77 72 69 74 65 E>.open.mode.to.make.<CODE>write
f19e0 3c 2f 43 4f 44 45 3e 20 61 6c 77 61 79 73 0a 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 20 74 68 </CODE>.always..........store.th
f1a00 65 20 64 61 74 61 20 74 6f 20 64 69 73 6b 20 62 65 66 6f 72 65 20 72 65 74 75 72 6e 69 6e 67 3b e.data.to.disk.before.returning;
f1a20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 49 6e 20 74 68 65 20 63 61 73 65 ............<br><br>.In.the.case
f1a40 20 6f 66 20 61 6e 20 65 72 72 6f 72 2c 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e .of.an.error,.<CODE>write</CODE>
f1a60 20 72 65 74 75 72 6e 73 20 2d 31 2e 20 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 .returns.-1...The.following.....
f1a80 20 20 20 20 20 3c 43 4f 44 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 65 72 72 6f 72 20 63 6f .....<CODE>errno</CODE>.error.co
f1aa0 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 74 68 69 73 20 66 75 nditions.are.defined.for.this.fu
f1ac0 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 4c 3e 0a 0a nction:..........<br><br>.<DL>..
f1ae0 20 20 20 20 20 20 20 20 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 41 47 41 49 4e 3c 2f 43 4f 44 45 3e .........<DT><CODE>EAGAIN</CODE>
f1b00 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 3c 43 4f 44 45 3e 77 .<DD>..........Normally,.<CODE>w
f1b20 72 69 74 65 3c 2f 43 4f 44 45 3e 20 62 6c 6f 63 6b 73 20 75 6e 74 69 6c 20 74 68 65 20 77 72 69 rite</CODE>.blocks.until.the.wri
f1b40 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 63 6f 6d 70 6c 65 74 65 2e 0a 20 20 20 20 20 20 te.operation.is.complete........
f1b60 20 20 20 42 75 74 20 69 66 20 74 68 65 20 3c 43 4f 44 45 3e 4f 5f 4e 4f 4e 42 4c 4f 43 4b 3c 2f ...But.if.the.<CODE>O_NONBLOCK</
f1b80 43 4f 44 45 3e 20 66 6c 61 67 20 69 73 20 73 65 74 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 2c CODE>.flag.is.set.for.the.file.,
f1ba0 20 69 74 20 72 65 74 75 72 6e 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 69 74 68 6f 75 74 20 .it.returns.immediately.without.
f1bc0 77 72 69 74 69 6e 67 20 61 6e 79 20 64 61 74 61 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 72 65 writing.any.data.and..........re
f1be0 70 6f 72 74 73 20 74 68 69 73 20 65 72 72 6f 72 2e 20 20 41 6e 20 65 78 61 6d 70 6c 65 20 6f 66 ports.this.error...An.example.of
f1c00 20 61 20 73 69 74 75 61 74 69 6f 6e 20 74 68 61 74 20 6d 69 67 68 74 20 63 61 75 73 65 20 74 68 .a.situation.that.might.cause.th
f1c20 65 0a 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 20 74 6f 20 62 6c 6f 63 6b 20 6f 6e 20 6f e..........process.to.block.on.o
f1c40 75 74 70 75 74 20 69 73 20 77 72 69 74 69 6e 67 20 74 6f 20 61 20 74 65 72 6d 69 6e 61 6c 20 64 utput.is.writing.to.a.terminal.d
f1c60 65 76 69 63 65 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 0a 20 20 20 20 20 20 20 20 20 66 6c 6f evice.that.supports..........flo
f1c80 77 20 63 6f 6e 74 72 6f 6c 2c 20 77 68 65 72 65 20 6f 75 74 70 75 74 20 68 61 73 20 62 65 65 6e w.control,.where.output.has.been
f1ca0 20 73 75 73 70 65 6e 64 65 64 20 62 79 20 72 65 63 65 69 70 74 20 6f 66 20 61 20 53 54 4f 50 0a .suspended.by.receipt.of.a.STOP.
f1cc0 20 20 20 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 .........character...........<br
f1ce0 3e 3c 62 72 3e 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 4e 6f 74 65 3a 20 4d 6f 73 74 20 76 ><br>.Compatibility.Note:.Most.v
f1d00 65 72 73 69 6f 6e 73 20 6f 66 20 42 53 44 20 55 6e 69 78 20 75 73 65 20 61 20 64 69 66 66 65 72 ersions.of.BSD.Unix.use.a.differ
f1d20 65 6e 74 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 63 6f 64 65 20 66 6f 72 20 74 68 69 73 ent..........error.code.for.this
f1d40 3a 20 3c 43 4f 44 45 3e 45 57 4f 55 4c 44 42 4c 4f 43 4b 3c 2f 43 4f 44 45 3e 2e 20 20 49 6e 20 :.<CODE>EWOULDBLOCK</CODE>...In.
f1d60 74 68 65 20 47 4e 55 20 6c 69 62 72 61 72 79 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e the.GNU.library,..........<CODE>
f1d80 45 57 4f 55 4c 44 42 4c 4f 43 4b 3c 2f 43 4f 44 45 3e 20 69 73 20 61 6e 20 61 6c 69 61 73 20 66 EWOULDBLOCK</CODE>.is.an.alias.f
f1da0 6f 72 20 3c 43 4f 44 45 3e 45 41 47 41 49 4e 3c 2f 43 4f 44 45 3e 2c 20 73 6f 20 69 74 20 64 6f or.<CODE>EAGAIN</CODE>,.so.it.do
f1dc0 65 73 6e 27 74 20 6d 61 74 74 65 72 0a 20 20 20 20 20 20 20 20 20 77 68 69 63 68 20 6e 61 6d 65 esn't.matter..........which.name
f1de0 20 79 6f 75 20 75 73 65 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4f 6e 20 73 .you.use...........<br><br>.On.s
f1e00 6f 6d 65 20 73 79 73 74 65 6d 73 2c 20 77 72 69 74 69 6e 67 20 61 20 6c 61 72 67 65 20 61 6d 6f ome.systems,.writing.a.large.amo
f1e20 75 6e 74 20 6f 66 20 64 61 74 61 20 66 72 6f 6d 20 61 20 63 68 61 72 61 63 74 65 72 20 73 70 65 unt.of.data.from.a.character.spe
f1e40 63 69 61 6c 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 20 63 61 6e 20 61 6c 73 6f 20 66 61 69 6c cial..........file.can.also.fail
f1e60 20 77 69 74 68 20 3c 43 4f 44 45 3e 45 41 47 41 49 4e 3c 2f 43 4f 44 45 3e 20 69 66 20 74 68 65 .with.<CODE>EAGAIN</CODE>.if.the
f1e80 20 6b 65 72 6e 65 6c 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20 65 6e 6f 75 67 68 0a 20 20 20 20 20 .kernel.cannot.find.enough......
f1ea0 20 20 20 20 70 68 79 73 69 63 61 6c 20 6d 65 6d 6f 72 79 20 74 6f 20 6c 6f 63 6b 20 64 6f 77 6e ....physical.memory.to.lock.down
f1ec0 20 74 68 65 20 75 73 65 72 27 73 20 70 61 67 65 73 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6d 69 .the.user's.pages...This.is.limi
f1ee0 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 73 20 74 68 61 74 20 74 72 61 ted.to..........devices.that.tra
f1f00 6e 73 66 65 72 20 77 69 74 68 20 64 69 72 65 63 74 20 6d 65 6d 6f 72 79 20 61 63 63 65 73 73 20 nsfer.with.direct.memory.access.
f1f20 69 6e 74 6f 20 74 68 65 20 75 73 65 72 27 73 20 6d 65 6d 6f 72 79 2c 0a 20 20 20 20 20 20 20 20 into.the.user's.memory,.........
f1f40 20 77 68 69 63 68 20 6d 65 61 6e 73 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 .which.means.it.does.not.include
f1f60 20 74 65 72 6d 69 6e 61 6c 73 2c 20 73 69 6e 63 65 20 74 68 65 79 20 61 6c 77 61 79 73 20 75 73 .terminals,.since.they.always.us
f1f80 65 0a 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 65 20 62 75 66 66 65 72 73 20 69 6e 73 69 e..........separate.buffers.insi
f1fa0 64 65 20 74 68 65 20 6b 65 72 6e 65 6c 2e 20 20 54 68 69 73 20 70 72 6f 62 6c 65 6d 20 64 6f 65 de.the.kernel...This.problem.doe
f1fc0 73 20 6e 6f 74 20 61 72 69 73 65 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 47 4e 55 20 s.not.arise.in.the..........GNU.
f1fe0 73 79 73 74 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 system...........<br><br>.<DT><C
f2000 4f 44 45 3e 45 42 41 44 46 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 ODE>EBADF</CODE>.<DD>..........T
f2020 68 65 20 3c 56 41 52 3e 66 69 6c 65 64 65 73 3c 2f 56 41 52 3e 20 61 72 67 75 6d 65 6e 74 20 69 he.<VAR>filedes</VAR>.argument.i
f2040 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 2c 0a 20 s.not.a.valid.file.descriptor,..
f2060 20 20 20 20 20 20 20 20 6f 72 20 69 73 20 6e 6f 74 20 6f 70 65 6e 20 66 6f 72 20 77 72 69 74 69 ........or.is.not.open.for.writi
f2080 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e ng...........<br><br>.<DT><CODE>
f20a0 45 46 42 49 47 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 73 EFBIG</CODE>.<DD>..........The.s
f20c0 69 7a 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 77 6f 75 6c 64 20 62 65 63 6f 6d 65 20 6c 61 72 ize.of.the.file.would.become.lar
f20e0 67 65 72 20 74 68 61 6e 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 63 61 6e 20 ger.than.the.implementation.can.
f2100 73 75 70 70 6f 72 74 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c support...........<br><br>.<DT><
f2120 43 4f 44 45 3e 45 49 4e 54 52 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 72 CODE>EINTR..........The.<CODE>wr
f2140 69 74 65 3c 2f 43 4f 44 45 3e 20 6f 70 65 72 61 74 69 6f 6e 20 77 61 73 20 69 6e 74 65 72 72 75 ite</CODE>.operation.was.interru
f2160 70 74 65 64 20 62 79 20 61 20 73 69 67 6e 61 6c 20 77 68 69 6c 65 20 69 74 20 77 61 73 3c 2f 43 pted.by.a.signal.while.it.was</C
f2180 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 62 6c 6f 63 6b 65 64 20 77 61 69 74 69 ODE>.<DD>..........blocked.waiti
f21a0 6e 67 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 20 41 20 73 69 67 6e 61 6c 20 77 69 6c ng.for.completion...A.signal.wil
f21c0 6c 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 l.not.necessarily.cause.........
f21e0 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 74 6f 20 72 65 74 75 72 6e 20 3c 43 .<CODE>write</CODE>.to.return.<C
f2200 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 3b 20 69 74 20 6d 61 79 20 69 6e 73 74 65 61 64 ODE>EINTR</CODE>;.it.may.instead
f2220 20 72 65 73 75 6c 74 20 69 6e 20 61 0a 20 20 20 20 20 20 20 20 20 73 75 63 63 65 73 73 66 75 6c .result.in.a..........successful
f2240 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 77 68 69 63 68 20 77 72 69 74 65 73 .<CODE>write</CODE>.which.writes
f2260 20 66 65 77 65 72 20 62 79 74 65 73 20 74 68 61 6e 20 72 65 71 75 65 73 74 65 64 2e 0a 20 20 20 .fewer.bytes.than.requested.....
f2280 20 20 20 20 20 20 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 .................<br><br>.<DT><C
f22a0 4f 44 45 3e 45 49 4f 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 46 6f 72 ODE>EIO</CODE>.<DD>..........For
f22c0 20 6d 61 6e 79 20 64 65 76 69 63 65 73 2c 20 61 6e 64 20 66 6f 72 20 64 69 73 6b 20 66 69 6c 65 .many.devices,.and.for.disk.file
f22e0 73 2c 20 74 68 69 73 20 65 72 72 6f 72 20 63 6f 64 65 20 69 6e 64 69 63 61 74 65 73 0a 20 20 20 s,.this.error.code.indicates....
f2300 20 20 20 20 20 20 61 20 68 61 72 64 77 61 72 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 ......a.hardware.error..........
f2320 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 4e 4f 53 50 43 3c 2f 43 4f 44 45 .<br><br>.<DT><CODE>ENOSPC</CODE
f2340 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 76 69 63 65 20 63 6f 6e 74 61 >.<DD>..........The.device.conta
f2360 69 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 69 73 20 66 75 6c 6c 2e 0a 20 20 20 20 20 20 20 20 ining.the.file.is.full..........
f2380 20 3c 62 72 3e 3c 62 72 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 50 49 50 45 0a 20 20 20 20 20 20 .<br><br>.<DT><CODE>EPIPE.......
f23a0 20 20 20 54 68 69 73 20 65 72 72 6f 72 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 68 65 6e 20 79 ...This.error.is.returned.when.y
f23c0 6f 75 20 74 72 79 20 74 6f 20 77 72 69 74 65 20 74 6f 20 61 20 70 69 70 65 20 6f 72 20 46 49 46 ou.try.to.write.to.a.pipe.or.FIF
f23e0 4f 20 74 68 61 74 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 20 20 20 20 20 20 20 20 69 73 6e 27 O.that</CODE>.<DD>..........isn'
f2400 74 20 6f 70 65 6e 20 66 6f 72 20 72 65 61 64 69 6e 67 20 62 79 20 61 6e 79 20 70 72 6f 63 65 73 t.open.for.reading.by.any.proces
f2420 73 2e 20 20 57 68 65 6e 20 74 68 69 73 20 68 61 70 70 65 6e 73 2c 20 61 20 3c 43 4f 44 45 3e 53 s...When.this.happens,.a.<CODE>S
f2440 49 47 50 49 50 45 3c 2f 43 4f 44 45 3e 0a 20 20 20 20 20 20 20 20 20 73 69 67 6e 61 6c 20 69 73 IGPIPE</CODE>..........signal.is
f2460 20 61 6c 73 6f 20 73 65 6e 74 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 3b 20 73 65 65 20 53 .also.sent.to.the.process;.see.S
f2480 69 67 6e 61 6c 20 48 61 6e 64 6c 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 ignal.Handling...........<br><br
f24a0 3e 20 3c 44 54 3e 3c 43 4f 44 45 3e 45 49 4e 56 41 4c 3c 2f 43 4f 44 45 3e 0a 3c 44 44 3e 0a 20 >.<DT><CODE>EINVAL</CODE>.<DD>..
f24c0 20 20 20 20 20 20 20 20 49 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 2c 20 77 68 65 6e 20 77 72 ........In.some.systems,.when.wr
f24e0 69 74 69 6e 67 20 74 6f 20 61 20 63 68 61 72 61 63 74 65 72 20 6f 72 20 62 6c 6f 63 6b 20 64 65 iting.to.a.character.or.block.de
f2500 76 69 63 65 2c 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 73 69 7a 65 vice,.position..........and.size
f2520 20 6f 66 66 73 65 74 73 20 6d 75 73 74 20 62 65 20 61 6c 69 67 6e 65 64 20 74 6f 20 61 20 70 61 .offsets.must.be.aligned.to.a.pa
f2540 72 74 69 63 75 6c 61 72 20 62 6c 6f 63 6b 20 73 69 7a 65 2e 20 20 54 68 69 73 20 65 72 72 6f 72 rticular.block.size...This.error
f2560 0a 20 20 20 20 20 20 20 20 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20 74 68 65 20 6f 66 66 ..........indicates.that.the.off
f2580 73 65 74 73 20 77 65 72 65 20 6e 6f 74 20 70 72 6f 70 65 72 6c 79 20 61 6c 69 67 6e 65 64 2e 0a sets.were.not.properly.aligned..
f25a0 20 20 20 20 20 20 20 20 20 3c 2f 44 4c 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e .........</DL>..........<br><br>
f25c0 20 55 6e 6c 65 73 73 20 79 6f 75 20 68 61 76 65 20 61 72 72 61 6e 67 65 64 20 74 6f 20 70 72 65 .Unless.you.have.arranged.to.pre
f25e0 76 65 6e 74 20 3c 43 4f 44 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 20 66 61 69 6c 75 72 65 73 vent.<CODE>EINTR</CODE>.failures
f2600 2c 20 79 6f 75 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 20 3c 43 4f 44 ,.you.should..........check.<COD
f2620 45 3e 65 72 72 6e 6f 3c 2f 43 4f 44 45 3e 20 61 66 74 65 72 20 65 61 63 68 20 66 61 69 6c 69 6e E>errno</CODE>.after.each.failin
f2640 67 20 63 61 6c 6c 20 74 6f 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 2c 20 61 6e g.call.to.<CODE>write</CODE>,.an
f2660 64 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 77 61 73 20 3c 43 4f 44 d.if.the..........error.was.<COD
f2680 45 3e 45 49 4e 54 52 3c 2f 43 4f 44 45 3e 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 73 69 6d 70 6c E>EINTR</CODE>,.you.should.simpl
f26a0 79 20 72 65 70 65 61 74 20 74 68 65 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 2e 20 20 54 y.repeat.the.call..............T
f26c0 68 65 20 65 61 73 79 20 77 61 79 20 74 6f 20 64 6f 20 74 68 69 73 20 69 73 20 77 69 74 68 20 74 he.easy.way.to.do.this.is.with.t
f26e0 68 65 0a 20 20 20 20 20 20 20 20 20 6d 61 63 72 6f 20 3c 43 4f 44 45 3e 54 45 4d 50 5f 46 41 49 he..........macro.<CODE>TEMP_FAI
f2700 4c 55 52 45 5f 52 45 54 52 59 3c 2f 43 4f 44 45 3e 2c 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 20 LURE_RETRY</CODE>,.as.follows:..
f2720 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 3c 70 72 65 3e 3c 62 72 3e 0a 20 20 20 20 20 ........<br><br>.<pre><br>......
f2740 20 20 20 20 6e 62 79 74 65 73 20 3d 20 54 45 4d 50 5f 46 41 49 4c 55 52 45 5f 52 45 54 52 59 20 ....nbytes.=.TEMP_FAILURE_RETRY.
f2760 28 77 72 69 74 65 20 28 64 65 73 63 2c 20 62 75 66 66 65 72 2c 20 63 6f 75 6e 74 29 29 3b 3c 62 (write.(desc,.buffer,.count));<b
f2780 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e r>..........</pre>..........<br>
f27a0 3c 62 72 3e 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e <br>.Please.note.that.there.is.n
f27c0 6f 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 64 20 3c 43 4f 44 45 3e 77 72 69 74 65 36 34 3c 2f o.function.named.<CODE>write64</
f27e0 43 4f 44 45 3e 2e 20 20 54 68 69 73 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 6e 65 63 CODE>...This.is.not..........nec
f2800 65 73 73 61 72 79 20 73 69 6e 63 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 essary.since.this.function.does.
f2820 6e 6f 74 20 64 69 72 65 63 74 6c 79 20 6d 6f 64 69 66 79 20 6f 72 20 68 61 6e 64 6c 65 20 74 68 not.directly.modify.or.handle.th
f2840 65 0a 20 20 20 20 20 20 20 20 20 70 6f 73 73 69 62 6c 79 20 77 69 64 65 20 66 69 6c 65 20 6f 66 e..........possibly.wide.file.of
f2860 66 73 65 74 2e 20 20 53 69 6e 63 65 20 74 68 65 20 6b 65 72 6e 65 6c 20 68 61 6e 64 6c 65 73 20 fset...Since.the.kernel.handles.
f2880 74 68 69 73 20 73 74 61 74 65 0a 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 6c 79 20 74 this.state..........internally.t
f28a0 68 65 20 3c 43 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 63 he.<CODE>write</CODE>.function.c
f28c0 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 61 6c 6c 20 63 61 73 65 73 2e 0a 20 20 20 20 20 20 an.be.used.for.all.cases........
f28e0 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 63 ...<br><br>.This.function.is.a.c
f2900 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 70 6f 69 6e 74 20 69 6e 20 6d 75 6c 74 69 2d 74 68 72 65 61 ancellation.point.in.multi-threa
f2920 64 65 64 20 70 72 6f 67 72 61 6d 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 20 20 20 20 69 73 20 ded.programs...This..........is.
f2940 61 20 70 72 6f 62 6c 65 6d 20 69 66 20 74 68 65 20 74 68 72 65 61 64 20 61 6c 6c 6f 63 61 74 65 a.problem.if.the.thread.allocate
f2960 73 20 73 6f 6d 65 20 72 65 73 6f 75 72 63 65 73 20 28 6c 69 6b 65 20 6d 65 6d 6f 72 79 2c 20 66 s.some.resources.(like.memory,.f
f2980 69 6c 65 0a 20 20 20 20 20 20 20 20 20 64 65 73 63 72 69 70 74 6f 72 73 2c 20 73 65 6d 61 70 68 ile..........descriptors,.semaph
f29a0 6f 72 65 73 20 6f 72 20 77 68 61 74 65 76 65 72 29 20 61 74 20 74 68 65 20 74 69 6d 65 20 3c 43 ores.or.whatever).at.the.time.<C
f29c0 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 69 73 0a 20 20 20 20 20 20 20 20 20 63 61 6c ODE>write</CODE>.is..........cal
f29e0 6c 65 64 2e 20 20 49 66 20 74 68 65 20 74 68 72 65 61 64 20 67 65 74 73 20 63 61 6e 63 65 6c 65 led...If.the.thread.gets.cancele
f2a00 64 20 74 68 65 73 65 20 72 65 73 6f 75 72 63 65 73 20 73 74 61 79 20 61 6c 6c 6f 63 61 74 65 64 d.these.resources.stay.allocated
f2a20 0a 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 6e 64 73 ..........until.the.program.ends
f2a40 2e 20 20 54 6f 20 61 76 6f 69 64 20 74 68 69 73 2c 20 63 61 6c 6c 73 20 74 6f 20 3c 43 4f 44 45 ...To.avoid.this,.calls.to.<CODE
f2a60 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 20 20 >write</CODE>.should.be.........
f2a80 20 70 72 6f 74 65 63 74 65 64 20 75 73 69 6e 67 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 68 61 .protected.using.cancellation.ha
f2aa0 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 ndlers...........<br><br>.The.<C
f2ac0 4f 44 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 68 65 ODE>write</CODE>.function.is.the
f2ae0 20 75 6e 64 65 72 6c 79 69 6e 67 20 70 72 69 6d 69 74 69 76 65 20 66 6f 72 20 61 6c 6c 20 6f 66 .underlying.primitive.for.all.of
f2b00 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 77 72 69 .the..........functions.that.wri
f2b20 74 65 20 74 6f 20 73 74 72 65 61 6d 73 2c 20 73 75 63 68 20 61 73 20 3c 43 4f 44 45 3e 66 70 75 te.to.streams,.such.as.<CODE>fpu
f2b40 74 63 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 tc</CODE>..........sq.~......w..
f2b60 00 00 0a 74 00 08 75 6e 69 73 74 64 2e 68 78 71 00 7e 20 8d 74 00 2c 69 6e 74 20 66 69 6c 65 64 ...t..unistd.hxq.~..t.,int.filed
f2b80 65 73 2c 20 63 6f 6e 73 74 20 76 6f 69 64 20 2a 62 75 66 66 65 72 2c 20 73 69 7a 65 5f 74 20 73 es,.const.void.*buffer,.size_t.s
f2ba0 69 7a 65 74 00 07 73 73 69 7a 65 5f 74 74 00 06 77 72 69 74 65 76 73 71 00 7e 00 0a 70 74 02 6a izet..ssize_tt..writevsq.~..pt.j
f2bc0 0a 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 54 68 65 20 3c 43 4f 44 45 3e 77 72 69 74 .........<br><br>.The.<CODE>writ
f2be0 65 76 3c 2f 43 4f 44 45 3e 20 66 75 6e 63 74 69 6f 6e 20 67 61 74 68 65 72 73 20 64 61 74 61 20 ev</CODE>.function.gathers.data.
f2c00 66 72 6f 6d 20 74 68 65 20 62 75 66 66 65 72 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 0a 20 20 from.the.buffers.described.in...
f2c20 20 20 20 20 20 20 20 3c 56 41 52 3e 76 65 63 74 6f 72 3c 2f 56 41 52 3e 2c 20 77 68 69 63 68 20 .......<VAR>vector</VAR>,.which.
f2c40 69 73 20 74 61 6b 65 6e 20 74 6f 20 62 65 20 3c 56 41 52 3e 63 6f 75 6e 74 3c 2f 56 41 52 3e 20 is.taken.to.be.<VAR>count</VAR>.
f2c60 73 74 72 75 63 74 75 72 65 73 20 6c 6f 6e 67 2c 20 61 6e 64 20 77 72 69 74 65 73 0a 20 20 20 20 structures.long,.and.writes.....
f2c80 20 20 20 20 20 74 68 65 6d 20 74 6f 20 3c 43 4f 44 45 3e 66 69 6c 65 64 65 73 3c 2f 43 4f 44 45 .....them.to.<CODE>filedes</CODE
f2ca0 3e 2e 20 20 41 73 20 65 61 63 68 20 62 75 66 66 65 72 20 69 73 20 77 72 69 74 74 65 6e 2c 20 69 >...As.each.buffer.is.written,.i
f2cc0 74 20 6d 6f 76 65 73 20 6f 6e 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 6e 65 78 74 2e t.moves.on.to.the..........next.
f2ce0 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 3e 20 4c 69 6b 65 20 3c 43 4f 44 45 3e 72 65 ..........<br><br>.Like.<CODE>re
f2d00 61 64 76 3c 2f 43 4f 44 45 3e 2c 20 3c 43 4f 44 45 3e 77 72 69 74 65 76 3c 2f 43 4f 44 45 3e 20 adv</CODE>,.<CODE>writev</CODE>.
f2d20 6d 61 79 20 73 74 6f 70 20 6d 69 64 73 74 72 65 61 6d 20 75 6e 64 65 72 20 74 68 65 20 73 61 6d may.stop.midstream.under.the.sam
f2d40 65 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 73 20 3c 43 4f 44 45 3e 77 72 69 74 e..........conditions.<CODE>writ
f2d60 65 3c 2f 43 4f 44 45 3e 20 77 6f 75 6c 64 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 e</CODE>.would...........<br><br
f2d80 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 63 6f 75 6e 74 20 6f 66 >.The.return.value.is.a.count.of
f2da0 20 62 79 74 65 73 20 77 72 69 74 74 65 6e 2c 20 6f 72 20 2d 31 20 69 6e 64 69 63 61 74 69 6e 67 .bytes.written,.or.-1.indicating
f2dc0 20 61 6e 0a 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 2e 20 20 54 68 65 20 70 6f 73 73 69 62 6c .an..........error...The.possibl
f2de0 65 20 65 72 72 6f 72 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6e 20 3c 43 4f 44 e.errors.are.the.same.as.in.<COD
f2e00 45 3e 77 72 69 74 65 3c 2f 43 4f 44 45 3e 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 E>write</CODE>...........<br><br
f2e20 3e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 09 73 79 73 >.........sq.~......w.....t..sys
f2e40 2f 75 69 6f 2e 68 78 71 00 7e 20 94 74 00 32 69 6e 74 20 66 69 6c 65 64 65 73 2c 20 63 6f 6e 73 /uio.hxq.~..t.2int.filedes,.cons
f2e60 74 20 73 74 72 75 63 74 20 69 6f 76 65 63 20 2a 76 65 63 74 6f 72 2c 20 69 6e 74 20 63 6f 75 6e t.struct.iovec.*vector,.int.coun
f2e80 74 74 00 07 73 73 69 7a 65 5f 74 74 00 06 77 73 63 61 6e 66 73 71 00 7e 00 0a 70 74 02 46 0a 20 tt..ssize_tt..wscanfsq.~..pt.F..
f2ea0 20 20 20 20 20 20 20 54 68 65 20 3c 43 4f 44 45 3e 77 73 63 61 6e 66 3c 2f 43 4f 44 45 3e 20 66 .......The.<CODE>wscanf</CODE>.f
f2ec0 75 6e 63 74 69 6f 6e 20 72 65 61 64 73 20 66 6f 72 6d 61 74 74 65 64 20 69 6e 70 75 74 20 66 72 unction.reads.formatted.input.fr
f2ee0 6f 6d 20 74 68 65 20 73 74 72 65 61 6d 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 73 74 64 om.the.stream..........<CODE>std
f2f00 69 6e 3c 2f 43 4f 44 45 3e 20 75 6e 64 65 72 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 6f 66 20 74 in</CODE>.under.the.control.of.t
f2f20 68 65 20 74 65 6d 70 6c 61 74 65 20 73 74 72 69 6e 67 20 3c 56 41 52 3e 74 65 6d 70 6c 61 74 65 he.template.string.<VAR>template
f2f40 3c 2f 56 41 52 3e 2e 0a 20 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 </VAR>...........The.optional.ar
f2f60 67 75 6d 65 6e 74 73 20 61 72 65 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 68 65 20 70 6c 61 63 guments.are.pointers.to.the.plac
f2f80 65 73 20 77 68 69 63 68 20 72 65 63 65 69 76 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 72 65 es.which.receive.the..........re
f2fa0 73 75 6c 74 69 6e 67 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3c 62 72 3e 3c 62 72 sulting.values...........<br><br
f2fc0 3e 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 74 >.The.return.value.is.normally.t
f2fe0 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 75 63 63 65 73 73 66 75 6c 20 61 73 73 69 67 6e 6d 65 he.number.of.successful.assignme
f3000 6e 74 73 2e 20 20 49 66 0a 20 20 20 20 20 20 20 20 20 61 6e 20 65 6e 64 2d 6f 66 2d 66 69 6c 65 nts...If..........an.end-of-file
f3020 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 64 65 74 65 63 74 65 64 20 62 65 66 6f 72 65 20 61 6e .condition.is.detected.before.an
f3040 79 20 6d 61 74 63 68 65 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 2c 0a 20 20 20 20 20 20 20 y.matches.are.performed,........
f3060 20 20 69 6e 63 6c 75 64 69 6e 67 20 6d 61 74 63 68 65 73 20 61 67 61 69 6e 73 74 20 77 68 69 74 ..including.matches.against.whit
f3080 65 73 70 61 63 65 20 61 6e 64 20 6c 69 74 65 72 61 6c 20 63 68 61 72 61 63 74 65 72 73 20 69 6e espace.and.literal.characters.in
f30a0 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 74 65 6d 70 6c 61 74 65 2c 20 74 68 65 6e 20 3c 43 4f .the..........template,.then.<CO
f30c0 44 45 3e 57 45 4f 46 3c 2f 43 4f 44 45 3e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 20 20 DE>WEOF</CODE>.is.returned......
f30e0 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 07 77 63 68 61 72 2e 68 78 71 ....sq.~......w.....t..wchar.hxq
f3100 00 7e 20 9b 74 00 1c 63 6f 6e 73 74 20 77 63 68 61 72 5f 74 20 2a 74 65 6d 70 6c 61 74 65 2c 20 .~..t..const.wchar_t.*template,.
f3120 2e 2e 2e 74 00 03 69 6e 74 74 00 02 79 30 73 71 00 7e 00 0a 70 74 01 4b 0a 20 20 20 20 20 20 20 ...t..intt..y0sq.~..pt.K........
f3140 20 3c 43 4f 44 45 3e 79 30 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 .<CODE>y0</CODE>.returns.the.Bes
f3160 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 65 63 6f 6e 64 20 6b 69 6e 64 20 sel.function.of.the.second.kind.
f3180 6f 66 20 6f 72 64 65 72 20 30 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 of.order.0.of..........<VAR>x</V
f31a0 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 AR>...It.may.signal.underflow.if
f31c0 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 20 20 49 66 20 .<VAR>x</VAR>.is.too.large...If.
f31e0 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 <VAR>x</VAR>..........is.negativ
f3200 65 2c 20 3c 43 4f 44 45 3e 79 30 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d e,.<CODE>y0</CODE>.signals.a.dom
f3220 61 69 6e 20 65 72 72 6f 72 3b 20 69 66 20 69 74 20 69 73 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 ain.error;.if.it.is.zero,.......
f3240 20 20 20 3c 43 4f 44 45 3e 79 30 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 6f 76 65 72 66 ...<CODE>y0</CODE>.signals.overf
f3260 6c 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 73 20 2d 69 6e 66 69 6e 69 74 79 2e 0a 20 20 20 20 20 low.and.returns.-infinity.......
f3280 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e ...sq.~......w.....t..math.hxq.~
f32a0 20 a2 74 00 08 64 6f 75 62 6c 65 20 78 74 00 06 64 6f 75 62 6c 65 74 00 03 79 30 66 73 71 00 7e ..t..double.xt..doublet..y0fsq.~
f32c0 00 0a 70 74 01 4b 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 79 30 3c 2f 43 4f 44 45 3e 20 72 ..pt.K.........<CODE>y0</CODE>.r
f32e0 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 eturns.the.Bessel.function.of.th
f3300 65 20 73 65 63 6f 6e 64 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 20 30 20 6f 66 0a 20 20 20 20 e.second.kind.of.order.0.of.....
f3320 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 .....<VAR>x</VAR>...It.may.signa
f3340 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 l.underflow.if.<VAR>x</VAR>.is.t
f3360 6f 6f 20 6c 61 72 67 65 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 oo.large...If.<VAR>x</VAR>......
f3380 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 79 30 3c 2f 43 4f 44 45 3e ....is.negative,.<CODE>y0</CODE>
f33a0 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 3b 20 69 66 20 69 74 20 69 .signals.a.domain.error;.if.it.i
f33c0 73 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 79 30 3c 2f 43 4f 44 45 3e s.zero,..........<CODE>y0</CODE>
f33e0 20 73 69 67 6e 61 6c 73 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 73 20 2d 69 .signals.overflow.and.returns.-i
f3400 6e 66 69 6e 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 nfinity..........sq.~......w....
f3420 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 20 a9 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f .t..math.hxq.~..t..float.xt..flo
f3440 61 74 74 00 03 79 30 6c 73 71 00 7e 00 0a 70 74 01 4b 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 att..y0lsq.~..pt.K.........<CODE
f3460 3e 79 30 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 >y0</CODE>.returns.the.Bessel.fu
f3480 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 65 63 6f 6e 64 20 6b 69 6e 64 20 6f 66 20 6f 72 64 nction.of.the.second.kind.of.ord
f34a0 65 72 20 30 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 er.0.of..........<VAR>x</VAR>...
f34c0 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e It.may.signal.underflow.if.<VAR>
f34e0 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 20 20 49 66 20 3c 56 41 52 3e 78 x</VAR>.is.too.large...If.<VAR>x
f3500 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f </VAR>..........is.negative,.<CO
f3520 44 45 3e 79 30 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 DE>y0</CODE>.signals.a.domain.er
f3540 72 6f 72 3b 20 69 66 20 69 74 20 69 73 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f ror;.if.it.is.zero,..........<CO
f3560 44 45 3e 79 30 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 6f 76 65 72 66 6c 6f 77 20 61 6e DE>y0</CODE>.signals.overflow.an
f3580 64 20 72 65 74 75 72 6e 73 20 2d 69 6e 66 69 6e 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 d.returns.-infinity..........sq.
f35a0 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 20 b0 74 00 0d 6c ~......w.....t..math.hxq.~..t..l
f35c0 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 02 79 31 73 ong.double.xt..long.doublet..y1s
f35e0 71 00 7e 00 0a 70 74 01 4b 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 79 31 3c 2f 43 4f 44 45 q.~..pt.K.........<CODE>y1</CODE
f3600 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 >.returns.the.Bessel.function.of
f3620 20 74 68 65 20 73 65 63 6f 6e 64 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 20 31 20 6f 66 0a 20 .the.second.kind.of.order.1.of..
f3640 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 ........<VAR>x</VAR>...It.may.si
f3660 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 gnal.underflow.if.<VAR>x</VAR>.i
f3680 73 20 74 6f 6f 20 6c 61 72 67 65 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 s.too.large...If.<VAR>x</VAR>...
f36a0 20 20 20 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 79 31 3c 2f 43 4f .......is.negative,.<CODE>y1</CO
f36c0 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 3b 20 69 66 20 69 DE>.signals.a.domain.error;.if.i
f36e0 74 20 69 73 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 79 31 3c 2f 43 4f t.is.zero,..........<CODE>y1</CO
f3700 44 45 3e 20 73 69 67 6e 61 6c 73 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 73 DE>.signals.overflow.and.returns
f3720 20 2d 69 6e 66 69 6e 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 .-infinity..........sq.~......w.
f3740 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 20 b7 74 00 08 64 6f 75 62 6c 65 20 78 74 00 ....t..math.hxq.~..t..double.xt.
f3760 06 64 6f 75 62 6c 65 74 00 03 79 31 66 73 71 00 7e 00 0a 70 74 01 4b 0a 20 20 20 20 20 20 20 20 .doublet..y1fsq.~..pt.K.........
f3780 3c 43 4f 44 45 3e 79 31 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 73 <CODE>y1</CODE>.returns.the.Bess
f37a0 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 65 63 6f 6e 64 20 6b 69 6e 64 20 6f el.function.of.the.second.kind.o
f37c0 66 20 6f 72 64 65 72 20 31 20 6f 66 0a 20 20 20 20 20 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 f.order.1.of..........<VAR>x</VA
f37e0 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 R>...It.may.signal.underflow.if.
f3800 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 2e 20 20 49 66 20 3c <VAR>x</VAR>.is.too.large...If.<
f3820 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 VAR>x</VAR>..........is.negative
f3840 2c 20 3c 43 4f 44 45 3e 79 31 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 ,.<CODE>y1</CODE>.signals.a.doma
f3860 69 6e 20 65 72 72 6f 72 3b 20 69 66 20 69 74 20 69 73 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 in.error;.if.it.is.zero,........
f3880 20 20 3c 43 4f 44 45 3e 79 31 3c 2f 43 4f 44 45 3e 20 73 69 67 6e 61 6c 73 20 6f 76 65 72 66 6c ..<CODE>y1</CODE>.signals.overfl
f38a0 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 73 20 2d 69 6e 66 69 6e 69 74 79 2e 0a 20 20 20 20 20 20 ow.and.returns.-infinity........
f38c0 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 20 ..sq.~......w.....t..math.hxq.~.
f38e0 be 74 00 07 66 6c 6f 61 74 20 78 74 00 05 66 6c 6f 61 74 74 00 03 79 31 6c 73 71 00 7e 00 0a 70 .t..float.xt..floatt..y1lsq.~..p
f3900 74 01 4b 0a 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 79 31 3c 2f 43 4f 44 45 3e 20 72 65 74 75 t.K.........<CODE>y1</CODE>.retu
f3920 72 6e 73 20 74 68 65 20 42 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 rns.the.Bessel.function.of.the.s
f3940 65 63 6f 6e 64 20 6b 69 6e 64 20 6f 66 20 6f 72 64 65 72 20 31 20 6f 66 0a 20 20 20 20 20 20 20 econd.kind.of.order.1.of........
f3960 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 ..<VAR>x</VAR>...It.may.signal.u
f3980 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 nderflow.if.<VAR>x</VAR>.is.too.
f39a0 6c 61 72 67 65 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 large...If.<VAR>x</VAR>.........
f39c0 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 79 31 3c 2f 43 4f 44 45 3e 20 73 69 .is.negative,.<CODE>y1</CODE>.si
f39e0 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 3b 20 69 66 20 69 74 20 69 73 20 7a gnals.a.domain.error;.if.it.is.z
f3a00 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 79 31 3c 2f 43 4f 44 45 3e 20 73 69 ero,..........<CODE>y1</CODE>.si
f3a20 67 6e 61 6c 73 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 73 20 2d 69 6e 66 69 gnals.overflow.and.returns.-infi
f3a40 6e 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 nity..........sq.~......w.....t.
f3a60 06 6d 61 74 68 2e 68 78 71 00 7e 20 c5 74 00 0d 6c 6f 6e 67 20 64 6f 75 62 6c 65 20 78 74 00 0b .math.hxq.~..t..long.double.xt..
f3a80 6c 6f 6e 67 20 64 6f 75 62 6c 65 74 00 02 79 6e 73 71 00 7e 00 0a 70 74 01 56 0a 20 20 20 20 20 long.doublet..ynsq.~..pt.V......
f3aa0 20 20 20 3c 43 4f 44 45 3e 79 6e 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 ...<CODE>yn</CODE>.returns.the.B
f3ac0 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 65 63 6f 6e 64 20 6b 69 6e essel.function.of.the.second.kin
f3ae0 64 20 6f 66 20 6f 72 64 65 72 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 6f 66 0a 20 20 20 20 20 d.of.order.<VAR>n</VAR>.of......
f3b00 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c ....<VAR>x</VAR>...It.may.signal
f3b20 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f .underflow.if.<VAR>x</VAR>.is.to
f3b40 6f 20 6c 61 72 67 65 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 o.large...If.<VAR>x</VAR>.......
f3b60 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 79 6e 3c 2f 43 4f 44 45 3e 20 ...is.negative,.<CODE>yn</CODE>.
f3b80 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 3b 20 69 66 20 69 74 20 69 73 signals.a.domain.error;.if.it.is
f3ba0 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 79 6e 3c 2f 43 4f 44 45 3e 20 .zero,..........<CODE>yn</CODE>.
f3bc0 73 69 67 6e 61 6c 73 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 73 20 2d 69 6e signals.overflow.and.returns.-in
f3be0 66 69 6e 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a finity..........sq.~......w.....
f3c00 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 20 cc 74 00 0f 69 6e 74 20 6e 2c 20 64 6f 75 62 6c 65 20 t..math.hxq.~..t..int.n,.double.
f3c20 78 74 00 06 64 6f 75 62 6c 65 74 00 03 79 6e 66 73 71 00 7e 00 0a 70 74 01 56 0a 20 20 20 20 20 xt..doublet..ynfsq.~..pt.V......
f3c40 20 20 20 3c 43 4f 44 45 3e 79 6e 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 ...<CODE>yn</CODE>.returns.the.B
f3c60 65 73 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 65 63 6f 6e 64 20 6b 69 6e essel.function.of.the.second.kin
f3c80 64 20 6f 66 20 6f 72 64 65 72 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 6f 66 0a 20 20 20 20 20 d.of.order.<VAR>n</VAR>.of......
f3ca0 20 20 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c ....<VAR>x</VAR>...It.may.signal
f3cc0 20 75 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f .underflow.if.<VAR>x</VAR>.is.to
f3ce0 6f 20 6c 61 72 67 65 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 o.large...If.<VAR>x</VAR>.......
f3d00 20 20 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 79 6e 3c 2f 43 4f 44 45 3e 20 ...is.negative,.<CODE>yn</CODE>.
f3d20 73 69 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 3b 20 69 66 20 69 74 20 69 73 signals.a.domain.error;.if.it.is
f3d40 20 7a 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 79 6e 3c 2f 43 4f 44 45 3e 20 .zero,..........<CODE>yn</CODE>.
f3d60 73 69 67 6e 61 6c 73 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 73 20 2d 69 6e signals.overflow.and.returns.-in
f3d80 66 69 6e 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a finity..........sq.~......w.....
f3da0 74 00 06 6d 61 74 68 2e 68 78 71 00 7e 20 d3 74 00 0e 69 6e 74 20 6e 2c 20 66 6c 6f 61 74 20 78 t..math.hxq.~..t..int.n,.float.x
f3dc0 74 00 05 66 6c 6f 61 74 74 00 03 79 6e 6c 73 71 00 7e 00 0a 70 74 01 56 0a 20 20 20 20 20 20 20 t..floatt..ynlsq.~..pt.V........
f3de0 20 3c 43 4f 44 45 3e 79 6e 3c 2f 43 4f 44 45 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 42 65 73 .<CODE>yn</CODE>.returns.the.Bes
f3e00 73 65 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 65 63 6f 6e 64 20 6b 69 6e 64 20 sel.function.of.the.second.kind.
f3e20 6f 66 20 6f 72 64 65 72 20 3c 56 41 52 3e 6e 3c 2f 56 41 52 3e 20 6f 66 0a 20 20 20 20 20 20 20 of.order.<VAR>n</VAR>.of........
f3e40 20 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 2e 20 20 49 74 20 6d 61 79 20 73 69 67 6e 61 6c 20 75 ..<VAR>x</VAR>...It.may.signal.u
f3e60 6e 64 65 72 66 6c 6f 77 20 69 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 20 69 73 20 74 6f 6f 20 nderflow.if.<VAR>x</VAR>.is.too.
f3e80 6c 61 72 67 65 2e 20 20 49 66 20 3c 56 41 52 3e 78 3c 2f 56 41 52 3e 0a 20 20 20 20 20 20 20 20 large...If.<VAR>x</VAR>.........
f3ea0 20 69 73 20 6e 65 67 61 74 69 76 65 2c 20 3c 43 4f 44 45 3e 79 6e 3c 2f 43 4f 44 45 3e 20 73 69 .is.negative,.<CODE>yn</CODE>.si
f3ec0 67 6e 61 6c 73 20 61 20 64 6f 6d 61 69 6e 20 65 72 72 6f 72 3b 20 69 66 20 69 74 20 69 73 20 7a gnals.a.domain.error;.if.it.is.z
f3ee0 65 72 6f 2c 0a 20 20 20 20 20 20 20 20 20 3c 43 4f 44 45 3e 79 6e 3c 2f 43 4f 44 45 3e 20 73 69 ero,..........<CODE>yn</CODE>.si
f3f00 67 6e 61 6c 73 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 72 65 74 75 72 6e 73 20 2d 69 6e 66 69 gnals.overflow.and.returns.-infi
f3f20 6e 69 74 79 2e 0a 20 20 20 20 20 20 20 20 73 71 00 7e 00 0f 00 00 00 01 77 04 00 00 00 0a 74 00 nity..........sq.~......w.....t.
f3f40 06 6d 61 74 68 2e 68 78 71 00 7e 20 da 74 00 14 69 6e 74 20 6e 2c 20 6c 6f 6e 67 20 64 6f 75 62 .math.hxq.~..t..int.n,.long.doub
f3f60 6c 65 20 78 74 00 0b 6c 6f 6e 67 20 64 6f 75 62 6c 65 78 73 71 00 7e 00 04 3f 40 00 00 00 00 00 le.xt..long.doublexsq.~..?@.....
f3f80 0c 77 08 00 00 00 10 00 00 00 00 78 .w.........x

Back to the top