home *** CD-ROM | disk | FTP | other *** search
Unknown | 1994-06-26 | 463.0 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| DOSIMG Disk Image (archive/dosimg)
| magic
| Supported |
66%
| dexvert
| Alias PIX Image (image/aliasPIX)
| ext
| Supported |
66%
| dexvert
| GEM Raster Bitmap (image/gem)
| ext
| Supported |
66%
| dexvert
| DaVinci (image/daVinci)
| ext
| Supported |
46%
| dexvert
| Disk Image (archive/diskImage)
| ext
| Supported |
1%
| dexvert
| AIX/BFF backup/restore (archive/aixBackupRestore)
| ext
| Unsupported |
1%
| dexvert
| The Duplicator Toolkit disk image (archive/duplicatorToolkitDiskImage)
| ext
| Unsupported |
1%
| dexvert
| PTS-DOS disk image (archive/ptsDOSDiskImage)
| ext
| Unsupported |
1%
| dexvert
| QNX volume disk image (archive/qnxVolumeDiskImage)
| ext
| Unsupported |
1%
| dexvert
| SNATCH-IT Disk Image (archive/snatchItDiskImage)
| ext
| Unsupported |
1%
| dexvert
| Android boot image (archive/androidBootImage)
| ext
| Unsupported |
1%
| dexvert
| Paragon DOS disk image (archive/paragonDOSDiskImage)
| ext
| Unsupported |
1%
| dexvert
| QEMU QCOW Image (archive/qemuQCOWImage)
| ext
| Unsupported |
1%
| dexvert
| Davilex Games game data format (other/davilexGamesGameDataFormat)
| ext
| Unsupported |
1%
| dexvert
| Eclipse Image (other/eclipseImage)
| ext
| Unsupported |
1%
| dexvert
| InfoComics game data (other/infoComicsGameData)
| ext
| Unsupported |
1%
| dexvert
| Garmin map (other/garminMap)
| ext
| Unsupported |
1%
| dexvert
| Piklib/BlooMoo graphic data (other/piklibGraphicData)
| ext
| Unsupported |
100%
| file
| data
| default
| |
100%
| TrID
| DOSIMG disk image (80t/18s)
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 4f 12 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |O.......|........|
|00000010| 01 01 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |........|........|
|00000020| 01 01 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |........|........|
|00000030| 01 01 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |........|........|
|00000040| 01 01 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |........|........|
|00000050| 01 01 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |........|........|
|00000060| 01 01 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |........|........|
|00000070| 01 01 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |........|........|
|00000080| 01 01 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |........|........|
|00000090| 01 01 01 01 01 01 01 01 | 01 01 01 01 01 01 01 01 |........|........|
|000000a0| 01 01 01 01 01 01 fe 22 | ff 30 37 30 37 30 31 ff |......."|.070701.|
|000000b0| 30 04 31 62 31 61 ff 30 | 04 38 31 61 34 ff 30 0f |0.1b1a.0|.81a4.0.|
|000000c0| 33 ff 30 07 31 32 63 31 | 30 62 34 37 38 ff 30 06 |3.0.12c1|0b478.0.|
|000000d0| 39 64 ff 30 06 32 66 ff | 30 07 31 ff 30 17 38 ff |9d.0.2f.|0.1.0.8.|
|000000e0| 30 08 70 6b 67 69 6e 66 | 6f ff 00 03 50 53 54 41 |0.pkginf|o...PSTA|
|000000f0| 4d 50 3d 53 56 52 34 2e | 32 20 31 32 2f 30 39 2f |MP=SVR4.|2 12/09/|
|00000100| 39 32 0a 41 52 43 48 3d | 33 38 36 0a 50 4b 47 3d |92.ARCH=|386.PKG=|
|00000110| 6d 61 6e 0a 56 45 52 53 | 49 4f 4e 3d 31 0a 52 45 |man.VERS|ION=1.RE|
|00000120| 4c 45 41 53 45 3d 34 2e | 32 0a 4e 41 4d 45 3d 4f |LEASE=4.|2.NAME=O|
|00000130| 6e 6c 69 6e 65 20 4d 61 | 6e 75 61 6c 20 0a 43 41 |nline Ma|nual .CA|
|00000140| 54 45 47 4f 52 59 3d 73 | 79 73 74 65 6d 0a 56 45 |TEGORY=s|ystem.VE|
|00000150| 4e 44 4f 52 3d 55 4e 49 | 58 20 53 79 73 74 65 6d |NDOR=UNI|X System|
|00000160| 20 4c 61 62 6f 72 61 74 | 6f 72 69 65 73 0a 43 4c | Laborat|ories.CL|
|00000170| 41 53 53 45 53 3d 6e 6f | 6e 65 0a 50 52 45 44 45 |ASSES=no|ne.PREDE|
|00000180| 50 45 4e 44 3d 6d 61 6e | 0a ff 00 03 30 37 30 37 |PEND=man|....0707|
|00000190| 30 31 ff 30 04 31 38 31 | 66 ff 30 04 38 31 61 34 |01.0.181|f.0.81a4|
|000001a0| ff 30 0f 33 ff 30 07 31 | 32 61 38 61 38 30 65 65 |.0.3.0.1|2a8a80ee|
|000001b0| ff 30 05 61 64 36 ff 30 | 06 32 66 ff 30 07 31 ff |.0.ad6.0|.2f.0.1.|
|000001c0| 30 16 32 61 ff 30 08 72 | 6f 6f 74 2e 31 31 2f 75 |0.2a.0.r|oot.11/u|
|000001d0| 73 72 2f 73 68 61 72 65 | 2f 6d 61 6e 2f 6d 61 6e |sr/share|/man/man|
|000001e0| 33 2f 63 75 72 73 5f 74 | 65 72 6d 61 74 74 2e 33 |3/curs_t|ermatt.3|
|000001f0| 00 2e 69 66 20 6e 20 2e | 70 48 20 33 63 75 72 73 |..if n .|pH 3curs|
|00000200| 65 73 2f 67 65 6e 2f 63 | 75 72 73 5f 74 65 72 6d |es/gen/c|urs_term|
|00000210| 61 74 74 20 40 28 23 29 | 63 75 72 73 5f 74 65 72 |att @(#)|curs_ter|
|00000220| 6d 61 74 74 09 34 33 2e | 38 20 6f 66 20 38 2f 34 |matt.43.|8 of 8/4|
|00000230| 2f 39 32 0a 2e 5c 22 20 | 43 6f 70 79 72 69 67 68 |/92..\" |Copyrigh|
|00000240| 74 20 31 39 39 32 2c 20 | 31 39 39 31 20 55 4e 49 |t 1992, |1991 UNI|
|00000250| 58 20 53 79 73 74 65 6d | 20 4c 61 62 6f 72 61 74 |X System| Laborat|
|00000260| 6f 72 69 65 73 2c 20 49 | 6e 63 2e 0a 2e 5c 22 20 |ories, I|nc...\" |
|00000270| 43 6f 70 79 72 69 67 68 | 74 20 31 39 39 30 2c 20 |Copyrigh|t 1990, |
|00000280| 31 39 38 39 20 41 54 26 | 54 0a 2e 54 48 20 63 75 |1989 AT&|T..TH cu|
|00000290| 72 73 5f 74 65 72 6d 61 | 74 74 72 73 20 33 63 75 |rs_terma|ttrs 3cu|
|000002a0| 72 73 65 73 0a 2e 53 48 | 20 4e 41 4d 45 0a 5c 66 |rses..SH| NAME.\f|
|000002b0| 34 63 75 72 73 5f 74 65 | 72 6d 61 74 74 72 73 5c |4curs_te|rmattrs\|
|000002c0| 66 50 3a 20 5c 66 34 62 | 61 75 64 72 61 74 65 5c |fP: \f4b|audrate\|
|000002d0| 66 50 2c 20 5c 66 34 65 | 72 61 73 65 63 68 61 72 |fP, \f4e|rasechar|
|000002e0| 5c 66 50 2c 20 5c 66 34 | 68 61 73 5f 69 63 5c 66 |\fP, \f4|has_ic\f|
|000002f0| 50 2c 20 5c 66 34 68 61 | 73 5f 69 6c 5c 66 50 2c |P, \f4ha|s_il\fP,|
|00000300| 20 5c 66 34 6b 69 6c 6c | 63 68 61 72 5c 66 50 2c | \f4kill|char\fP,|
|00000310| 20 5c 66 34 6c 6f 6e 67 | 6e 61 6d 65 5c 66 50 2c | \f4long|name\fP,|
|00000320| 20 5c 66 34 74 65 72 6d | 61 74 74 72 73 5c 66 50 | \f4term|attrs\fP|
|00000330| 2c 20 5c 66 34 74 65 72 | 6d 6e 61 6d 65 5c 66 50 |, \f4ter|mname\fP|
|00000340| 20 5c 2d 20 5c 66 34 63 | 75 72 73 65 73 5c 66 50 | \- \f4c|urses\fP|
|00000350| 20 65 6e 76 69 72 6f 6e | 6d 65 6e 74 20 71 75 65 | environ|ment que|
|00000360| 72 79 20 72 6f 75 74 69 | 6e 65 73 0a 2e 53 48 20 |ry routi|nes..SH |
|00000370| 53 59 4e 4f 50 53 49 53 | 0a 2e 6e 66 0a 2e 66 74 |SYNOPSIS|..nf..ft|
|00000380| 20 34 0a 23 69 6e 63 6c | 75 64 65 20 3c 63 75 72 | 4.#incl|ude <cur|
|00000390| 73 65 73 2e 68 3e 0a 2e | 73 70 20 30 2e 34 0a 69 |ses.h>..|sp 0.4.i|
|000003a0| 6e 74 20 62 61 75 64 72 | 61 74 65 28 76 6f 69 64 |nt baudr|ate(void|
|000003b0| 29 3b 0a 63 68 61 72 20 | 65 72 61 73 65 63 68 61 |);.char |erasecha|
|000003c0| 72 28 76 6f 69 64 29 3b | 0a 69 6e 74 20 68 61 73 |r(void);|.int has|
|000003d0| 5f 69 63 28 76 6f 69 64 | 29 3b 0a 69 6e 74 20 68 |_ic(void|);.int h|
|000003e0| 61 73 5f 69 6c 28 76 6f | 69 64 29 3b 0a 63 68 61 |as_il(vo|id);.cha|
|000003f0| 72 20 6b 69 6c 6c 63 68 | 61 72 28 76 6f 69 64 29 |r killch|ar(void)|
|00000400| 3b 0a 63 68 61 72 20 5c | 28 2a 2a 6c 6f 6e 67 6e |;.char \|(**longn|
|00000410| 61 6d 65 28 76 6f 69 64 | 29 3b 0a 63 68 74 79 70 |ame(void|);.chtyp|
|00000420| 65 20 74 65 72 6d 61 74 | 74 72 73 28 76 6f 69 64 |e termat|trs(void|
|00000430| 29 3b 0a 63 68 61 72 20 | 5c 28 2a 2a 74 65 72 6d |);.char |\(**term|
|00000440| 6e 61 6d 65 28 76 6f 69 | 64 29 3b 0a 2e 66 74 20 |name(voi|d);..ft |
|00000450| 31 0a 2e 66 69 0a 2e 53 | 48 20 44 45 53 43 52 49 |1..fi..S|H DESCRI|
|00000460| 50 54 49 4f 4e 0a 54 68 | 65 20 5c 66 34 62 61 75 |PTION.Th|e \f4bau|
|00000470| 64 72 61 74 65 5c 66 50 | 20 72 6f 75 74 69 6e 65 |drate\fP| routine|
|00000480| 20 72 65 74 75 72 6e 73 | 20 74 68 65 20 6f 75 74 | returns| the out|
|00000490| 70 75 74 20 73 70 65 65 | 64 20 6f 66 20 74 68 65 |put spee|d of the|
|000004a0| 20 74 65 72 6d 69 6e 61 | 6c 2e 0a 54 68 65 20 6e | termina|l..The n|
|000004b0| 75 6d 62 65 72 20 72 65 | 74 75 72 6e 65 64 20 69 |umber re|turned i|
|000004c0| 73 20 69 6e 20 62 69 74 | 73 20 70 65 72 20 73 65 |s in bit|s per se|
|000004d0| 63 6f 6e 64 2c 20 66 6f | 72 20 65 78 61 6d 70 6c |cond, fo|r exampl|
|000004e0| 65 20 5c 66 34 39 36 30 | 30 5c 66 50 2c 0a 61 6e |e \f4960|0\fP,.an|
|000004f0| 64 20 69 73 20 61 6e 20 | 69 6e 74 65 67 65 72 2e |d is an |integer.|
|00000500| 0a 2e 50 0a 57 69 74 68 | 20 74 68 65 20 5c 66 34 |..P.With| the \f4|
|00000510| 65 72 61 73 65 63 68 61 | 72 5c 66 50 20 72 6f 75 |erasecha|r\fP rou|
|00000520| 74 69 6e 65 2c 20 74 68 | 65 20 75 73 65 72 27 73 |tine, th|e user's|
|00000530| 20 63 75 72 72 65 6e 74 | 20 65 72 61 73 65 20 63 | current| erase c|
|00000540| 68 61 72 61 63 74 65 72 | 0a 69 73 20 72 65 74 75 |haracter|.is retu|
|00000550| 72 6e 65 64 2e 0a 2e 50 | 0a 54 68 65 20 5c 66 34 |rned...P|.The \f4|
|00000560| 68 61 73 5f 69 63 5c 66 | 50 20 72 6f 75 74 69 6e |has_ic\f|P routin|
|00000570| 65 20 69 73 20 74 72 75 | 65 20 69 66 20 74 68 65 |e is tru|e if the|
|00000580| 20 74 65 72 6d 69 6e 61 | 6c 20 68 61 73 20 69 6e | termina|l has in|
|00000590| 73 65 72 74 2d 20 61 6e | 64 0a 64 65 6c 65 74 65 |sert- an|d.delete|
|000005a0| 2d 63 68 61 72 61 63 74 | 65 72 20 63 61 70 61 62 |-charact|er capab|
|000005b0| 69 6c 69 74 69 65 73 2e | 0a 2e 50 0a 54 68 65 20 |ilities.|..P.The |
|000005c0| 5c 66 34 68 61 73 5f 69 | 6c 5c 66 50 20 72 6f 75 |\f4has_i|l\fP rou|
|000005d0| 74 69 6e 65 20 69 73 20 | 74 72 75 65 20 69 66 20 |tine is |true if |
|000005e0| 74 68 65 20 74 65 72 6d | 69 6e 61 6c 20 68 61 73 |the term|inal has|
|000005f0| 20 69 6e 73 65 72 74 2d | 20 61 6e 64 0a 64 65 6c | insert-| and.del|
|00000600| 65 74 65 2d 6c 69 6e 65 | 20 63 61 70 61 62 69 6c |ete-line| capabil|
|00000610| 69 74 69 65 73 2c 20 6f | 72 20 63 61 6e 20 73 69 |ities, o|r can si|
|00000620| 6d 75 6c 61 74 65 20 74 | 68 65 6d 20 75 73 69 6e |mulate t|hem usin|
|00000630| 67 20 73 63 72 6f 6c 6c | 69 6e 67 20 72 65 67 69 |g scroll|ing regi|
|00000640| 6f 6e 73 2e 0a 54 68 69 | 73 20 6d 69 67 68 74 20 |ons..Thi|s might |
|00000650| 62 65 20 75 73 65 64 20 | 74 6f 20 64 65 74 65 72 |be used |to deter|
|00000660| 6d 69 6e 65 20 69 66 20 | 69 74 20 77 6f 75 6c 64 |mine if |it would|
|00000670| 20 62 65 20 61 70 70 72 | 6f 70 72 69 61 74 65 20 | be appr|opriate |
|00000680| 74 6f 20 74 75 72 6e 20 | 6f 6e 0a 70 68 79 73 69 |to turn |on.physi|
|00000690| 63 61 6c 20 73 63 72 6f | 6c 6c 69 6e 67 20 75 73 |cal scro|lling us|
|000006a0| 69 6e 67 20 5c 66 34 73 | 63 72 6f 6c 6c 6f 6b 5c |ing \f4s|crollok\|
|000006b0| 66 50 2e 0a 2e 50 0a 57 | 69 74 68 20 74 68 65 20 |fP...P.W|ith the |
|000006c0| 5c 66 34 6b 69 6c 6c 63 | 68 61 72 5c 66 50 20 72 |\f4killc|har\fP r|
|000006d0| 6f 75 74 69 6e 65 2c 0a | 74 68 65 20 75 73 65 72 |outine,.|the user|
|000006e0| 27 73 20 63 75 72 72 65 | 6e 74 20 6c 69 6e 65 20 |'s curre|nt line |
|000006f0| 6b 69 6c 6c 20 63 68 61 | 72 61 63 74 65 72 20 69 |kill cha|racter i|
|00000700| 73 20 72 65 74 75 72 6e | 65 64 2e 0a 2e 50 0a 54 |s return|ed...P.T|
|00000710| 68 65 20 5c 66 34 6c 6f | 6e 67 6e 61 6d 65 5c 66 |he \f4lo|ngname\f|
|00000720| 50 20 72 6f 75 74 69 6e | 65 20 72 65 74 75 72 6e |P routin|e return|
|00000730| 73 20 61 20 70 6f 69 6e | 74 65 72 20 74 6f 20 61 |s a poin|ter to a|
|00000740| 20 73 74 61 74 69 63 20 | 61 72 65 61 20 63 6f 6e | static |area con|
|00000750| 74 61 69 6e 69 6e 67 0a | 61 20 76 65 72 62 6f 73 |taining.|a verbos|
|00000760| 65 20 64 65 73 63 72 69 | 70 74 69 6f 6e 20 6f 66 |e descri|ption of|
|00000770| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 74 65 72 | the cur|rent ter|
|00000780| 6d 69 6e 61 6c 2e 0a 54 | 68 65 20 6d 61 78 69 6d |minal..T|he maxim|
|00000790| 75 6d 20 6c 65 6e 67 74 | 68 20 6f 66 20 61 20 76 |um lengt|h of a v|
|000007a0| 65 72 62 6f 73 65 20 64 | 65 73 63 72 69 70 74 69 |erbose d|escripti|
|000007b0| 6f 6e 20 69 73 20 31 32 | 38 20 63 68 61 72 61 63 |on is 12|8 charac|
|000007c0| 74 65 72 73 2e 0a 49 74 | 20 69 73 20 64 65 66 69 |ters..It| is defi|
|000007d0| 6e 65 64 20 6f 6e 6c 79 | 20 61 66 74 65 72 20 74 |ned only| after t|
|000007e0| 68 65 20 63 61 6c 6c 20 | 74 6f 20 5c 66 34 69 6e |he call |to \f4in|
|000007f0| 69 74 73 63 72 5c 66 50 | 20 6f 72 20 5c 66 34 6e |itscr\fP| or \f4n|
|00000800| 65 77 74 65 72 6d 5c 66 | 50 2e 0a 54 68 65 20 61 |ewterm\f|P..The a|
|00000810| 72 65 61 20 69 73 20 6f | 76 65 72 77 72 69 74 74 |rea is o|verwritt|
|00000820| 65 6e 20 62 79 20 65 61 | 63 68 20 63 61 6c 6c 20 |en by ea|ch call |
|00000830| 74 6f 20 5c 66 34 6e 65 | 77 74 65 72 6d 5c 66 50 |to \f4ne|wterm\fP|
|00000840| 0a 61 6e 64 20 69 73 20 | 6e 6f 74 20 72 65 73 74 |.and is |not rest|
|00000850| 6f 72 65 64 20 62 79 20 | 5c 66 34 73 65 74 5f 74 |ored by |\f4set_t|
|00000860| 65 72 6d 5c 66 50 2c 0a | 73 6f 20 74 68 65 20 76 |erm\fP,.|so the v|
|00000870| 61 6c 75 65 20 73 68 6f | 75 6c 64 20 62 65 20 73 |alue sho|uld be s|
|00000880| 61 76 65 64 20 62 65 74 | 77 65 65 6e 20 63 61 6c |aved bet|ween cal|
|00000890| 6c 73 20 74 6f 20 5c 66 | 34 6e 65 77 74 65 72 6d |ls to \f|4newterm|
|000008a0| 5c 66 50 0a 69 66 20 5c | 66 34 6c 6f 6e 67 6e 61 |\fP.if \|f4longna|
|000008b0| 6d 65 5c 66 50 20 69 73 | 20 67 6f 69 6e 67 20 74 |me\fP is| going t|
|000008c0| 6f 20 62 65 20 75 73 65 | 64 20 77 69 74 68 20 6d |o be use|d with m|
|000008d0| 75 6c 74 69 70 6c 65 20 | 74 65 72 6d 69 6e 61 6c |ultiple |terminal|
|000008e0| 73 2e 0a 2e 50 0a 49 66 | 20 61 20 67 69 76 65 6e |s...P.If| a given|
|000008f0| 20 74 65 72 6d 69 6e 61 | 6c 20 64 6f 65 73 6e 27 | termina|l doesn'|
|00000900| 74 20 73 75 70 70 6f 72 | 74 20 61 20 76 69 64 65 |t suppor|t a vide|
|00000910| 6f 20 61 74 74 72 69 62 | 75 74 65 20 74 68 61 74 |o attrib|ute that|
|00000920| 20 61 6e 20 61 70 70 6c | 69 63 61 74 69 6f 6e 0a | an appl|ication.|
|00000930| 70 72 6f 67 72 61 6d 20 | 69 73 20 74 72 79 69 6e |program |is tryin|
|00000940| 67 20 74 6f 20 75 73 65 | 2c 20 5c 66 34 63 75 72 |g to use|, \f4cur|
|00000950| 73 65 73 5c 66 50 0a 6d | 61 79 20 73 75 62 73 74 |ses\fP.m|ay subst|
|00000960| 69 74 75 74 65 20 61 20 | 64 69 66 66 65 72 65 6e |itute a |differen|
|00000970| 74 20 76 69 64 65 6f 20 | 61 74 74 72 69 62 75 74 |t video |attribut|
|00000980| 65 0a 66 6f 72 20 69 74 | 2e 0a 54 68 65 20 5c 25 |e.for it|..The \%|
|00000990| 5c 66 34 74 65 72 6d 61 | 74 74 72 73 5c 66 50 0a |\f4terma|ttrs\fP.|
|000009a0| 66 75 6e 63 74 69 6f 6e | 20 72 65 74 75 72 6e 73 |function| returns|
|000009b0| 20 61 20 6c 6f 67 69 63 | 61 6c 20 5c 66 34 4f 52 | a logic|al \f4OR|
|000009c0| 5c 66 50 20 6f 66 20 61 | 6c 6c 20 76 69 64 65 6f |\fP of a|ll video|
|000009d0| 20 61 74 74 72 69 62 75 | 74 65 73 0a 73 75 70 70 | attribu|tes.supp|
|000009e0| 6f 72 74 65 64 20 62 79 | 20 74 68 65 20 74 65 72 |orted by| the ter|
|000009f0| 6d 69 6e 61 6c 2e 0a 54 | 68 69 73 20 69 6e 66 6f |minal..T|his info|
|00000a00| 72 6d 61 74 69 6f 6e 20 | 69 73 20 75 73 65 66 75 |rmation |is usefu|
|00000a10| 6c 20 77 68 65 6e 20 61 | 0a 5c 66 34 63 75 72 73 |l when a|.\f4curs|
|00000a20| 65 73 5c 66 50 20 70 72 | 6f 67 72 61 6d 20 6e 65 |es\fP pr|ogram ne|
|00000a30| 65 64 73 0a 63 6f 6d 70 | 6c 65 74 65 20 63 6f 6e |eds.comp|lete con|
|00000a40| 74 72 6f 6c 20 6f 76 65 | 72 20 74 68 65 20 61 70 |trol ove|r the ap|
|00000a50| 70 65 61 72 61 6e 63 65 | 20 6f 66 20 74 68 65 20 |pearance| of the |
|00000a60| 73 63 72 65 65 6e 2e 0a | 2e 50 0a 54 68 65 20 5c |screen..|.P.The \|
|00000a70| 66 34 74 65 72 6d 6e 61 | 6d 65 5c 66 50 20 72 6f |f4termna|me\fP ro|
|00000a80| 75 74 69 6e 65 0a 72 65 | 74 75 72 6e 73 20 74 68 |utine.re|turns th|
|00000a90| 65 20 76 61 6c 75 65 20 | 6f 66 20 74 68 65 20 65 |e value |of the e|
|00000aa0| 6e 76 69 72 6f 6e 6d 65 | 6e 74 61 6c 20 76 61 72 |nvironme|ntal var|
|00000ab0| 69 61 62 6c 65 20 5c 66 | 34 54 45 52 4d 5c 66 50 |iable \f|4TERM\fP|
|00000ac0| 20 28 74 72 75 6e 63 61 | 74 65 64 20 74 6f 0a 31 | (trunca|ted to.1|
|00000ad0| 34 20 63 68 61 72 61 63 | 74 65 72 73 29 2e 0a 2e |4 charac|ters)...|
|00000ae0| 62 72 0a 2e 6e 65 36 0a | 2e 53 48 20 52 45 54 55 |br..ne6.|.SH RETU|
|00000af0| 52 4e 20 56 41 4c 55 45 | 0a 5c 66 34 6c 6f 6e 67 |RN VALUE|.\f4long|
|00000b00| 6e 61 6d 65 5c 66 50 20 | 61 6e 64 20 5c 66 34 74 |name\fP |and \f4t|
|00000b10| 65 72 6d 6e 61 6d 65 5c | 66 50 20 72 65 74 75 72 |ermname\|fP retur|
|00000b20| 6e 20 5c 66 34 4e 55 4c | 4c 5c 66 50 20 6f 6e 20 |n \f4NUL|L\fP on |
|00000b30| 65 72 72 6f 72 2e 0a 2e | 50 0a 52 6f 75 74 69 6e |error...|P.Routin|
|00000b40| 65 73 20 74 68 61 74 20 | 72 65 74 75 72 6e 20 61 |es that |return a|
|00000b50| 6e 20 69 6e 74 65 67 65 | 72 20 72 65 74 75 72 6e |n intege|r return|
|00000b60| 20 5c 66 34 45 52 52 5c | 66 50 20 75 70 6f 6e 0a | \f4ERR\|fP upon.|
|00000b70| 66 61 69 6c 75 72 65 20 | 61 6e 64 20 61 6e 20 69 |failure |and an i|
|00000b80| 6e 74 65 67 65 72 20 76 | 61 6c 75 65 20 6f 74 68 |nteger v|alue oth|
|00000b90| 65 72 20 74 68 61 6e 20 | 5c 66 34 45 52 52 5c 66 |er than |\f4ERR\f|
|00000ba0| 50 0a 75 70 6f 6e 20 73 | 75 63 63 65 73 73 66 75 |P.upon s|uccessfu|
|00000bb0| 6c 20 63 6f 6d 70 6c 65 | 74 69 6f 6e 2e 0a 2e 53 |l comple|tion...S|
|00000bc0| 48 20 4e 4f 54 45 53 0a | 54 68 65 20 68 65 61 64 |H NOTES.|The head|
|00000bd0| 65 72 20 66 69 6c 65 20 | 5c 66 34 63 75 72 73 65 |er file |\f4curse|
|00000be0| 73 2e 68 5c 66 50 20 61 | 75 74 6f 6d 61 74 69 63 |s.h\fP a|utomatic|
|00000bf0| 61 6c 6c 79 20 69 6e 63 | 6c 75 64 65 73 20 74 68 |ally inc|ludes th|
|00000c00| 65 20 68 65 61 64 65 72 | 20 66 69 6c 65 73 0a 5c |e header| files.\|
|00000c10| 66 34 73 74 64 69 6f 2e | 68 5c 66 50 20 61 6e 64 |f4stdio.|h\fP and|
|00000c20| 20 5c 66 34 75 6e 63 74 | 72 6c 2e 68 5c 66 50 2e | \f4unct|rl.h\fP.|
|00000c30| 0a 2e 73 70 20 2e 34 0a | 4e 6f 74 65 20 74 68 61 |..sp .4.|Note tha|
|00000c40| 74 20 5c 66 34 74 65 72 | 6d 61 74 74 72 73 5c 66 |t \f4ter|mattrs\f|
|00000c50| 50 20 6d 61 79 20 62 65 | 20 61 20 6d 61 63 72 6f |P may be| a macro|
|00000c60| 2e 0a 2e 53 48 20 53 45 | 45 20 41 4c 53 4f 0a 2e |...SH SE|E ALSO..|
|00000c70| 6e 61 0a 5c 66 34 63 75 | 72 73 65 73 5c 66 50 28 |na.\f4cu|rses\fP(|
|00000c80| 33 63 75 72 73 65 73 29 | 2c 0a 5c 66 34 63 75 72 |3curses)|,.\f4cur|
|00000c90| 73 5f 69 6e 69 74 73 63 | 72 5c 66 50 28 33 63 75 |s_initsc|r\fP(3cu|
|00000ca0| 72 73 65 73 29 2c 0a 5c | 66 34 63 75 72 73 5f 6f |rses),.\|f4curs_o|
|00000cb0| 75 74 6f 70 74 73 5c 66 | 50 28 33 63 75 72 73 65 |utopts\f|P(3curse|
|00000cc0| 73 29 0a 2e 61 64 0a 00 | 00 30 37 30 37 30 31 ff |s)..ad..|.070701.|
|00000cd0| 30 04 31 38 32 ff 30 05 | 38 31 61 34 ff 30 0f 33 |0.182.0.|81a4.0.3|
|00000ce0| ff 30 07 31 32 61 38 61 | 38 30 65 66 ff 30 05 38 |.0.12a8a|80ef.0.8|
|00000cf0| 30 62 ff 30 06 32 66 ff | 30 07 31 ff 30 16 32 61 |0b.0.2f.|0.1.0.2a|
|00000d00| ff 30 08 72 6f 6f 74 2e | 31 31 2f 75 73 72 2f 73 |.0.root.|11/usr/s|
|00000d10| 68 61 72 65 2f 6d 61 6e | 2f 6d 61 6e 33 2f 63 75 |hare/man|/man3/cu|
|00000d20| 72 73 5f 74 65 72 6d 63 | 61 70 2e 33 00 2e 69 66 |rs_termc|ap.3..if|
|00000d30| 20 6e 20 2e 70 48 20 33 | 63 75 72 73 65 73 2f 67 | n .pH 3|curses/g|
|00000d40| 65 6e 2f 63 75 72 73 5f | 74 65 72 6d 63 61 70 20 |en/curs_|termcap |
|00000d50| 40 28 23 29 63 75 72 73 | 5f 74 65 72 6d 63 61 70 |@(#)curs|_termcap|
|00000d60| 09 34 33 2e 38 20 6f 66 | 20 37 2f 33 30 2f 39 32 |.43.8 of| 7/30/92|
|00000d70| 0a 2e 5c 22 20 43 6f 70 | 79 72 69 67 68 74 20 31 |..\" Cop|yright 1|
|00000d80| 39 39 32 2c 20 31 39 39 | 31 20 55 4e 49 58 20 53 |992, 199|1 UNIX S|
|00000d90| 79 73 74 65 6d 20 4c 61 | 62 6f 72 61 74 6f 72 69 |ystem La|boratori|
|00000da0| 65 73 2c 20 49 6e 63 2e | 0a 2e 5c 22 20 43 6f 70 |es, Inc.|..\" Cop|
|00000db0| 79 72 69 67 68 74 20 31 | 39 39 30 2c 20 31 39 38 |yright 1|990, 198|
|00000dc0| 39 20 41 54 26 54 0a 2e | 54 48 20 63 75 72 73 5f |9 AT&T..|TH curs_|
|00000dd0| 74 65 72 6d 63 61 70 20 | 33 63 75 72 73 65 73 0a |termcap |3curses.|
|00000de0| 2e 53 48 20 4e 41 4d 45 | 0a 5c 66 34 63 75 72 73 |.SH NAME|.\f4curs|
|00000df0| 5f 74 65 72 6d 63 61 70 | 5c 66 50 3a 20 5c 66 34 |_termcap|\fP: \f4|
|00000e00| 74 67 65 74 65 6e 74 5c | 66 50 2c 20 5c 66 34 74 |tgetent\|fP, \f4t|
|00000e10| 67 65 74 66 6c 61 67 5c | 66 50 2c 20 5c 66 34 74 |getflag\|fP, \f4t|
|00000e20| 67 65 74 6e 75 6d 5c 66 | 50 2c 20 5c 66 34 74 67 |getnum\f|P, \f4tg|
|00000e30| 65 74 73 74 72 5c 66 50 | 2c 20 5c 66 34 74 67 6f |etstr\fP|, \f4tgo|
|00000e40| 74 6f 5c 66 50 2c 20 5c | 66 34 74 70 75 74 73 5c |to\fP, \|f4tputs\|
|00000e50| 66 50 20 5c 2d 20 5c 66 | 34 63 75 72 73 65 73 5c |fP \- \f|4curses\|
|00000e60| 66 50 20 69 6e 74 65 72 | 66 61 63 65 73 20 28 65 |fP inter|faces (e|
|00000e70| 6d 75 6c 61 74 65 64 29 | 20 74 6f 20 74 68 65 20 |mulated)| to the |
|00000e80| 74 65 72 6d 63 61 70 20 | 6c 69 62 72 61 72 79 0a |termcap |library.|
|00000e90| 2e 53 48 20 53 59 4e 4f | 50 53 49 53 0a 2e 6e 66 |.SH SYNO|PSIS..nf|
|00000ea0| 0a 2e 66 74 20 34 0a 23 | 69 6e 63 6c 75 64 65 20 |..ft 4.#|include |
|00000eb0| 3c 63 75 72 73 65 73 2e | 68 3e 0a 23 69 6e 63 6c |<curses.|h>.#incl|
|00000ec0| 75 64 65 20 3c 74 65 72 | 6d 2e 68 3e 0a 2e 73 70 |ude <ter|m.h>..sp|
|00000ed0| 20 30 2e 34 0a 69 6e 74 | 20 74 67 65 74 65 6e 74 | 0.4.int| tgetent|
|00000ee0| 28 63 68 61 72 20 5c 28 | 2a 2a 5c 66 32 62 70 5c |(char \(|**\f2bp\|
|00000ef0| 66 50 2c 20 63 68 61 72 | 20 5c 28 2a 2a 5c 66 32 |fP, char| \(**\f2|
|00000f00| 6e 61 6d 65 5c 66 50 29 | 3b 0a 69 6e 74 20 74 67 |name\fP)|;.int tg|
|00000f10| 65 74 66 6c 61 67 28 63 | 68 61 72 20 5c 66 32 69 |etflag(c|har \f2i|
|00000f20| 64 5c 66 50 5b 32 5d 29 | 3b 0a 69 6e 74 20 74 67 |d\fP[2])|;.int tg|
|00000f30| 65 74 6e 75 6d 28 63 68 | 61 72 20 5c 66 32 69 64 |etnum(ch|ar \f2id|
|00000f40| 5c 66 50 5b 32 5d 29 3b | 0a 63 68 61 72 20 5c 28 |\fP[2]);|.char \(|
|00000f50| 2a 2a 74 67 65 74 73 74 | 72 28 63 68 61 72 20 5c |**tgetst|r(char \|
|00000f60| 66 32 69 64 5c 66 50 5b | 32 5d 2c 20 63 68 61 72 |f2id\fP[|2], char|
|00000f70| 20 5c 28 2a 2a 5c 28 2a | 2a 5c 66 32 61 72 65 61 | \(**\(*|*\f2area|
|00000f80| 5c 66 50 29 3b 0a 63 68 | 61 72 20 5c 28 2a 2a 74 |\fP);.ch|ar \(**t|
|00000f90| 67 6f 74 6f 28 63 68 61 | 72 20 5c 28 2a 2a 5c 66 |goto(cha|r \(**\f|
|00000fa0| 32 63 61 70 5c 66 50 2c | 20 69 6e 74 20 5c 66 32 |2cap\fP,| int \f2|
|00000fb0| 63 6f 6c 5c 66 50 2c 20 | 69 6e 74 20 5c 66 32 72 |col\fP, |int \f2r|
|00000fc0| 6f 77 5c 66 50 29 3b 0a | 69 6e 74 20 74 70 75 74 |ow\fP);.|int tput|
|00000fd0| 73 28 63 68 61 72 20 5c | 28 2a 2a 5c 66 32 73 74 |s(char \|(**\f2st|
|00000fe0| 72 5c 66 50 2c 20 69 6e | 74 20 5c 66 32 61 66 66 |r\fP, in|t \f2aff|
|00000ff0| 63 6e 74 5c 66 50 2c 20 | 69 6e 74 20 28 5c 28 2a |cnt\fP, |int (\(*|
|00001000| 2a 70 75 74 63 29 28 76 | 6f 69 64 29 29 3b 0a 2e |*putc)(v|oid));..|
|00001010| 66 74 20 31 0a 2e 66 69 | 0a 2e 53 48 20 44 45 53 |ft 1..fi|..SH DES|
|00001020| 43 52 49 50 54 49 4f 4e | 0a 54 68 65 73 65 20 72 |CRIPTION|.These r|
|00001030| 6f 75 74 69 6e 65 73 20 | 61 72 65 20 69 6e 63 6c |outines |are incl|
|00001040| 75 64 65 64 20 61 73 20 | 61 20 63 6f 6e 76 65 72 |uded as |a conver|
|00001050| 73 69 6f 6e 20 61 69 64 | 20 66 6f 72 0a 70 72 6f |sion aid| for.pro|
|00001060| 67 72 61 6d 73 20 74 68 | 61 74 20 75 73 65 20 74 |grams th|at use t|
|00001070| 68 65 20 5c 66 32 74 65 | 72 6d 63 61 70 5c 66 50 |he \f2te|rmcap\fP|
|00001080| 20 6c 69 62 72 61 72 79 | 2e 0a 54 68 65 69 72 20 | library|..Their |
|00001090| 70 61 72 61 6d 65 74 65 | 72 73 20 61 72 65 20 74 |paramete|rs are t|
|000010a0| 68 65 20 73 61 6d 65 20 | 61 6e 64 20 74 68 65 20 |he same |and the |
|000010b0| 72 6f 75 74 69 6e 65 73 | 20 61 72 65 20 65 6d 75 |routines| are emu|
|000010c0| 6c 61 74 65 64 0a 75 73 | 69 6e 67 20 74 68 65 20 |lated.us|ing the |
|000010d0| 5c 25 5c 66 34 74 65 72 | 6d 69 6e 66 6f 5c 66 50 |\%\f4ter|minfo\fP|
|000010e0| 20 64 61 74 61 62 61 73 | 65 2e 0a 54 68 65 73 65 | databas|e..These|
|000010f0| 20 72 6f 75 74 69 6e 65 | 73 20 61 72 65 20 73 75 | routine|s are su|
|00001100| 70 70 6f 72 74 65 64 20 | 61 74 20 4c 65 76 65 6c |pported |at Level|
|00001110| 20 32 20 61 6e 64 20 73 | 68 6f 75 6c 64 20 6e 6f | 2 and s|hould no|
|00001120| 74 20 62 65 20 75 73 65 | 64 20 69 6e 20 6e 65 77 |t be use|d in new|
|00001130| 0a 61 70 70 6c 69 63 61 | 74 69 6f 6e 73 2e 0a 2e |.applica|tions...|
|00001140| 50 0a 54 68 65 20 5c 66 | 34 74 67 65 74 65 6e 74 |P.The \f|4tgetent|
|00001150| 5c 66 50 20 72 6f 75 74 | 69 6e 65 20 6c 6f 6f 6b |\fP rout|ine look|
|00001160| 73 20 75 70 20 74 68 65 | 20 74 65 72 6d 63 61 70 |s up the| termcap|
|00001170| 20 65 6e 74 72 79 20 66 | 6f 72 20 5c 66 32 6e 61 | entry f|or \f2na|
|00001180| 6d 65 5c 66 50 2e 0a 54 | 68 65 20 65 6d 75 6c 61 |me\fP..T|he emula|
|00001190| 74 69 6f 6e 20 69 67 6e | 6f 72 65 73 20 74 68 65 |tion ign|ores the|
|000011a0| 20 62 75 66 66 65 72 20 | 70 6f 69 6e 74 65 72 20 | buffer |pointer |
|000011b0| 5c 66 32 62 70 5c 66 50 | 2e 0a 2e 50 0a 54 68 65 |\f2bp\fP|...P.The|
|000011c0| 20 5c 66 34 74 67 65 74 | 66 6c 61 67 5c 66 50 20 | \f4tget|flag\fP |
|000011d0| 72 6f 75 74 69 6e 65 20 | 67 65 74 73 20 74 68 65 |routine |gets the|
|000011e0| 20 62 6f 6f 6c 65 61 6e | 20 65 6e 74 72 79 20 66 | boolean| entry f|
|000011f0| 6f 72 20 5c 66 32 69 64 | 5c 66 50 2e 0a 2e 50 0a |or \f2id|\fP...P.|
|00001200| 54 68 65 20 5c 66 34 74 | 67 65 74 6e 75 6d 5c 66 |The \f4t|getnum\f|
|00001210| 50 20 72 6f 75 74 69 6e | 65 20 67 65 74 73 20 74 |P routin|e gets t|
|00001220| 68 65 20 6e 75 6d 65 72 | 69 63 20 65 6e 74 72 79 |he numer|ic entry|
|00001230| 20 66 6f 72 20 5c 66 32 | 69 64 5c 66 50 2e 0a 2e | for \f2|id\fP...|
|00001240| 50 0a 54 68 65 20 5c 66 | 34 74 67 65 74 73 74 72 |P.The \f|4tgetstr|
|00001250| 5c 66 50 20 72 6f 75 74 | 69 6e 65 20 72 65 74 75 |\fP rout|ine retu|
|00001260| 72 6e 73 20 74 68 65 20 | 73 74 72 69 6e 67 20 65 |rns the |string e|
|00001270| 6e 74 72 79 20 66 6f 72 | 20 5c 66 32 69 64 5c 66 |ntry for| \f2id\f|
|00001280| 50 2e 0a 55 73 65 20 5c | 66 34 74 70 75 74 73 5c |P..Use \|f4tputs\|
|00001290| 66 50 20 74 6f 20 6f 75 | 74 70 75 74 20 74 68 65 |fP to ou|tput the|
|000012a0| 20 72 65 74 75 72 6e 65 | 64 20 73 74 72 69 6e 67 | returne|d string|
|000012b0| 2e 0a 2e 50 0a 54 68 65 | 20 5c 66 34 74 67 6f 74 |...P.The| \f4tgot|
|000012c0| 6f 5c 66 50 20 72 6f 75 | 74 69 6e 65 20 69 6e 73 |o\fP rou|tine ins|
|000012d0| 74 61 6e 74 69 61 74 65 | 73 20 74 68 65 20 70 61 |tantiate|s the pa|
|000012e0| 72 61 6d 65 74 65 72 73 | 20 69 6e 74 6f 20 74 68 |rameters| into th|
|000012f0| 65 0a 67 69 76 65 6e 20 | 63 61 70 61 62 69 6c 69 |e.given |capabili|
|00001300| 74 79 2e 0a 54 68 65 20 | 6f 75 74 70 75 74 20 66 |ty..The |output f|
|00001310| 72 6f 6d 20 74 68 69 73 | 20 72 6f 75 74 69 6e 65 |rom this| routine|
|00001320| 20 69 73 20 74 6f 20 62 | 65 20 70 61 73 73 65 64 | is to b|e passed|
|00001330| 20 74 6f 0a 5c 66 34 74 | 70 75 74 73 5c 66 50 2e | to.\f4t|puts\fP.|
|00001340| 0a 2e 50 0a 54 68 65 20 | 5c 66 34 74 70 75 74 73 |..P.The |\f4tputs|
|00001350| 5c 66 50 20 72 6f 75 74 | 69 6e 65 20 69 73 20 64 |\fP rout|ine is d|
|00001360| 65 73 63 72 69 62 65 64 | 20 69 6e 20 74 68 65 20 |escribed| in the |
|00001370| 5c 66 34 63 75 72 73 5f | 74 65 72 6d 69 6e 66 6f |\f4curs_|terminfo|
|00001380| 5c 66 50 28 33 63 75 72 | 73 65 73 29 0a 6d 61 6e |\fP(3cur|ses).man|
|00001390| 75 61 6c 20 70 61 67 65 | 2e 0a 2e 53 48 20 52 45 |ual page|...SH RE|
|000013a0| 54 55 52 4e 20 56 41 4c | 55 45 0a 52 6f 75 74 69 |TURN VAL|UE.Routi|
|000013b0| 6e 65 73 20 74 68 61 74 | 20 72 65 74 75 72 6e 20 |nes that| return |
|000013c0| 61 6e 20 69 6e 74 65 67 | 65 72 20 72 65 74 75 72 |an integ|er retur|
|000013d0| 6e 20 5c 66 34 45 52 52 | 5c 66 50 20 75 70 6f 6e |n \f4ERR|\fP upon|
|000013e0| 0a 66 61 69 6c 75 72 65 | 20 61 6e 64 20 61 6e 20 |.failure| and an |
|000013f0| 69 6e 74 65 67 65 72 20 | 76 61 6c 75 65 20 6f 74 |integer |value ot|
|00001400| 68 65 72 20 74 68 61 6e | 20 5c 66 34 45 52 52 5c |her than| \f4ERR\|
|00001410| 66 50 0a 75 70 6f 6e 20 | 73 75 63 63 65 73 73 66 |fP.upon |successf|
|00001420| 75 6c 20 63 6f 6d 70 6c | 65 74 69 6f 6e 2e 0a 2e |ul compl|etion...|
|00001430| 50 0a 52 6f 75 74 69 6e | 65 73 20 74 68 61 74 20 |P.Routin|es that |
|00001440| 72 65 74 75 72 6e 20 70 | 6f 69 6e 74 65 72 73 20 |return p|ointers |
|00001450| 72 65 74 75 72 6e 20 5c | 66 34 4e 55 4c 4c 5c 66 |return \|f4NULL\f|
|00001460| 50 20 6f 6e 20 65 72 72 | 6f 72 2e 0a 2e 53 48 20 |P on err|or...SH |
|00001470| 4e 4f 54 45 53 0a 54 68 | 65 20 68 65 61 64 65 72 |NOTES.Th|e header|
|00001480| 20 66 69 6c 65 20 5c 66 | 34 63 75 72 73 65 73 2e | file \f|4curses.|
|00001490| 68 5c 66 50 20 61 75 74 | 6f 6d 61 74 69 63 61 6c |h\fP aut|omatical|
|000014a0| 6c 79 20 69 6e 63 6c 75 | 64 65 73 20 74 68 65 20 |ly inclu|des the |
|000014b0| 68 65 61 64 65 72 20 66 | 69 6c 65 73 0a 5c 66 34 |header f|iles.\f4|
|000014c0| 73 74 64 69 6f 2e 68 5c | 66 50 20 61 6e 64 20 5c |stdio.h\|fP and \|
|000014d0| 66 34 75 6e 63 74 72 6c | 2e 68 5c 66 50 2e 0a 2e |f4unctrl|.h\fP...|
|000014e0| 53 48 20 53 45 45 20 41 | 4c 53 4f 0a 2e 6e 61 0a |SH SEE A|LSO..na.|
|000014f0| 5c 66 34 63 75 72 73 65 | 73 5c 66 50 28 33 63 75 |\f4curse|s\fP(3cu|
|00001500| 72 73 65 73 29 2c 0a 5c | 66 34 63 75 72 73 5f 74 |rses),.\|f4curs_t|
|00001510| 65 72 6d 69 6e 66 6f 5c | 66 50 28 33 63 75 72 73 |erminfo\|fP(3curs|
|00001520| 65 73 29 2c 0a 5c 66 34 | 70 75 74 63 5c 66 50 28 |es),.\f4|putc\fP(|
|00001530| 33 53 29 0a 2e 61 64 0a | 00 30 37 30 37 30 31 ff |3S)..ad.|.070701.|
|00001540| 30 04 31 38 32 31 ff 30 | 04 38 31 61 34 ff 30 0f |0.1821.0|.81a4.0.|
|00001550| 33 ff 30 07 31 32 61 38 | 61 38 30 66 31 ff 30 05 |3.0.12a8|a80f1.0.|
|00001560| 61 31 36 ff 30 06 32 66 | ff 30 07 31 ff 30 16 32 |a16.0.2f|.0.1.0.2|
|00001570| 38 ff 30 08 72 6f 6f 74 | 2e 31 31 2f 75 73 72 2f |8.0.root|.11/usr/|
|00001580| 73 68 61 72 65 2f 6d 61 | 6e 2f 6d 61 6e 33 2f 63 |share/ma|n/man3/c|
|00001590| 75 72 73 5f 74 6f 75 63 | 68 2e 33 ff 00 03 2e 69 |urs_touc|h.3....i|
|000015a0| 66 20 6e 20 2e 70 48 20 | 33 63 75 72 73 65 73 2f |f n .pH |3curses/|
|000015b0| 67 65 6e 2f 63 75 72 73 | 5f 74 6f 75 63 68 20 40 |gen/curs|_touch @|
|000015c0| 28 23 29 63 75 72 73 5f | 74 6f 75 63 68 09 34 33 |(#)curs_|touch.43|
|000015d0| 2e 37 20 6f 66 20 37 2f | 33 30 2f 39 32 0a 2e 5c |.7 of 7/|30/92..\|
|000015e0| 22 20 43 6f 70 79 72 69 | 67 68 74 20 31 39 39 32 |" Copyri|ght 1992|
|000015f0| 2c 20 31 39 39 31 20 55 | 4e 49 58 20 53 79 73 74 |, 1991 U|NIX Syst|
|00001600| 65 6d 20 4c 61 62 6f 72 | 61 74 6f 72 69 65 73 2c |em Labor|atories,|
|00001610| 20 49 6e 63 2e 0a 2e 5c | 22 20 43 6f 70 79 72 69 | Inc...\|" Copyri|
|00001620| 67 68 74 20 31 39 39 30 | 2c 20 31 39 38 39 20 41 |ght 1990|, 1989 A|
|00001630| 54 26 54 0a 2e 54 48 20 | 63 75 72 73 5f 74 6f 75 |T&T..TH |curs_tou|
|00001640| 63 68 20 33 63 75 72 73 | 65 73 0a 2e 53 48 20 4e |ch 3curs|es..SH N|
|00001650| 41 4d 45 0a 5c 66 34 63 | 75 72 73 5f 74 6f 75 63 |AME.\f4c|urs_touc|
|00001660| 68 5c 66 50 3a 20 5c 66 | 34 74 6f 75 63 68 77 69 |h\fP: \f|4touchwi|
|00001670| 6e 5c 66 50 2c 20 5c 66 | 34 74 6f 75 63 68 6c 69 |n\fP, \f|4touchli|
|00001680| 6e 65 5c 66 50 2c 20 5c | 66 34 75 6e 74 6f 75 63 |ne\fP, \|f4untouc|
|00001690| 68 77 69 6e 5c 66 50 2c | 20 5c 66 34 77 74 6f 75 |hwin\fP,| \f4wtou|
|000016a0| 63 68 6c 6e 5c 66 50 2c | 20 5c 66 34 69 73 5f 6c |chln\fP,| \f4is_l|
|000016b0| 69 6e 65 74 6f 75 63 68 | 65 64 5c 66 50 2c 20 5c |inetouch|ed\fP, \|
|000016c0| 66 34 69 73 5f 77 69 6e | 74 6f 75 63 68 65 64 5c |f4is_win|touched\|
|000016d0| 66 50 20 5c 2d 20 5c 66 | 34 63 75 72 73 65 73 5c |fP \- \f|4curses\|
|000016e0| 66 50 20 72 65 66 72 65 | 73 68 20 63 6f 6e 74 72 |fP refre|sh contr|
|000016f0| 6f 6c 20 72 6f 75 74 69 | 6e 65 73 0a 2e 53 48 20 |ol routi|nes..SH |
|00001700| 53 59 4e 4f 50 53 49 53 | 0a 2e 6e 66 0a 2e 66 74 |SYNOPSIS|..nf..ft|
|00001710| 20 34 0a 23 69 6e 63 6c | 75 64 65 20 3c 63 75 72 | 4.#incl|ude <cur|
|00001720| 73 65 73 2e 68 3e 0a 2e | 73 70 20 30 2e 34 0a 69 |ses.h>..|sp 0.4.i|
|00001730| 6e 74 20 74 6f 75 63 68 | 77 69 6e 28 57 49 4e 44 |nt touch|win(WIND|
|00001740| 4f 57 20 5c 28 2a 2a 5c | 66 32 77 69 6e 5c 66 50 |OW \(**\|f2win\fP|
|00001750| 29 3b 0a 69 6e 74 20 74 | 6f 75 63 68 6c 69 6e 65 |);.int t|ouchline|
|00001760| 28 57 49 4e 44 4f 57 20 | 5c 28 2a 2a 5c 66 32 77 |(WINDOW |\(**\f2w|
|00001770| 69 6e 5c 66 50 2c 20 69 | 6e 74 20 5c 66 32 73 74 |in\fP, i|nt \f2st|
|00001780| 61 72 74 5c 66 50 2c 20 | 69 6e 74 20 5c 66 32 63 |art\fP, |int \f2c|
|00001790| 6f 75 6e 74 5c 66 50 29 | 3b 0a 69 6e 74 20 75 6e |ount\fP)|;.int un|
|000017a0| 74 6f 75 63 68 77 69 6e | 28 57 49 4e 44 4f 57 20 |touchwin|(WINDOW |
|000017b0| 5c 28 2a 2a 5c 66 32 77 | 69 6e 5c 66 50 29 3b 0a |\(**\f2w|in\fP);.|
|000017c0| 2e 69 67 0a 2e 5c 22 20 | 6e 6f 74 20 69 6e 20 63 |.ig..\" |not in c|
|000017d0| 75 72 73 65 73 2e 68 20 | 31 2e 34 35 3b 20 6e 6f |urses.h |1.45; no|
|000017e0| 74 69 66 69 65 64 20 73 | 73 20 32 2f 32 32 2f 38 |tified s|s 2/22/8|
|000017f0| 39 0a 74 6f 75 63 68 6c | 6e 28 69 6e 74 20 5c 66 |9.touchl|n(int \f|
|00001800| 32 79 5c 66 50 2c 20 69 | 6e 74 20 5c 66 32 6e 5c |2y\fP, i|nt \f2n\|
|00001810| 66 50 2c 20 69 6e 74 20 | 5c 66 32 63 68 61 6e 67 |fP, int |\f2chang|
|00001820| 65 64 5c 66 50 29 3b 0a | 2e 2e 0a 69 6e 74 20 77 |ed\fP);.|...int w|
|00001830| 74 6f 75 63 68 6c 6e 28 | 57 49 4e 44 4f 57 20 5c |touchln(|WINDOW \|
|00001840| 28 2a 2a 5c 66 32 77 69 | 6e 5c 66 50 2c 20 69 6e |(**\f2wi|n\fP, in|
|00001850| 74 20 5c 66 32 79 5c 66 | 50 2c 20 69 6e 74 20 5c |t \f2y\f|P, int \|
|00001860| 66 32 6e 5c 66 50 2c 20 | 69 6e 74 20 5c 66 32 63 |f2n\fP, |int \f2c|
|00001870| 68 61 6e 67 65 64 5c 66 | 50 29 3b 0a 69 6e 74 20 |hanged\f|P);.int |
|00001880| 69 73 5f 6c 69 6e 65 74 | 6f 75 63 68 65 64 28 57 |is_linet|ouched(W|
|00001890| 49 4e 44 4f 57 20 5c 28 | 2a 2a 5c 66 32 77 69 6e |INDOW \(|**\f2win|
|000018a0| 5c 66 50 2c 20 69 6e 74 | 20 5c 66 32 6c 69 6e 65 |\fP, int| \f2line|
|000018b0| 5c 66 50 29 3b 0a 69 6e | 74 20 69 73 5f 77 69 6e |\fP);.in|t is_win|
|000018c0| 74 6f 75 63 68 65 64 28 | 57 49 4e 44 4f 57 20 5c |touched(|WINDOW \|
|000018d0| 28 2a 2a 5c 66 32 77 69 | 6e 5c 66 50 29 3b 0a 2e |(**\f2wi|n\fP);..|
|000018e0| 66 74 20 31 0a 2e 66 69 | 0a 2e 53 48 20 44 45 53 |ft 1..fi|..SH DES|
|000018f0| 43 52 49 50 54 49 4f 4e | 0a 54 68 65 20 5c 66 34 |CRIPTION|.The \f4|
|00001900| 74 6f 75 63 68 77 69 6e | 5c 66 50 20 61 6e 64 20 |touchwin|\fP and |
|00001910| 5c 66 34 74 6f 75 63 68 | 6c 69 6e 65 5c 66 50 20 |\f4touch|line\fP |
|00001920| 72 6f 75 74 69 6e 65 73 | 0a 74 68 72 6f 77 20 61 |routines|.throw a|
|00001930| 77 61 79 20 61 6c 6c 20 | 6f 70 74 69 6d 69 7a 61 |way all |optimiza|
|00001940| 74 69 6f 6e 20 69 6e 66 | 6f 72 6d 61 74 69 6f 6e |tion inf|ormation|
|00001950| 20 61 62 6f 75 74 20 77 | 68 69 63 68 20 70 61 72 | about w|hich par|
|00001960| 74 73 20 6f 66 20 74 68 | 65 20 77 69 6e 64 6f 77 |ts of th|e window|
|00001970| 20 68 61 76 65 0a 62 65 | 65 6e 20 74 6f 75 63 68 | have.be|en touch|
|00001980| 65 64 2c 0a 62 79 20 70 | 72 65 74 65 6e 64 69 6e |ed,.by p|retendin|
|00001990| 67 20 74 68 61 74 20 74 | 68 65 20 65 6e 74 69 72 |g that t|he entir|
|000019a0| 65 20 77 69 6e 64 6f 77 | 20 68 61 73 20 62 65 65 |e window| has bee|
|000019b0| 6e 20 64 72 61 77 6e 20 | 6f 6e 2e 0a 54 68 69 73 |n drawn |on..This|
|000019c0| 20 69 73 20 73 6f 6d 65 | 74 69 6d 65 73 20 6e 65 | is some|times ne|
|000019d0| 63 65 73 73 61 72 79 20 | 77 68 65 6e 20 75 73 69 |cessary |when usi|
|000019e0| 6e 67 20 6f 76 65 72 6c | 61 70 70 69 6e 67 20 77 |ng overl|apping w|
|000019f0| 69 6e 64 6f 77 73 2c 0a | 73 69 6e 63 65 20 61 20 |indows,.|since a |
|00001a00| 63 68 61 6e 67 65 20 74 | 6f 0a 6f 6e 65 20 77 69 |change t|o.one wi|
|00001a10| 6e 64 6f 77 20 61 66 66 | 65 63 74 73 20 74 68 65 |ndow aff|ects the|
|00001a20| 20 6f 74 68 65 72 20 77 | 69 6e 64 6f 77 2c 0a 62 | other w|indow,.b|
|00001a30| 75 74 20 74 68 65 20 72 | 65 63 6f 72 64 73 20 6f |ut the r|ecords o|
|00001a40| 66 20 77 68 69 63 68 20 | 6c 69 6e 65 73 20 68 61 |f which |lines ha|
|00001a50| 76 65 20 62 65 65 6e 20 | 63 68 61 6e 67 65 64 20 |ve been |changed |
|00001a60| 69 6e 0a 74 68 65 20 6f | 74 68 65 72 20 77 69 6e |in.the o|ther win|
|00001a70| 64 6f 77 20 64 6f 20 6e | 6f 74 20 72 65 66 6c 65 |dow do n|ot refle|
|00001a80| 63 74 20 74 68 65 20 63 | 68 61 6e 67 65 2e 0a 54 |ct the c|hange..T|
|00001a90| 68 65 20 72 6f 75 74 69 | 6e 65 0a 5c 66 34 74 6f |he routi|ne.\f4to|
|00001aa0| 75 63 68 6c 69 6e 65 5c | 66 50 20 6f 6e 6c 79 20 |uchline\|fP only |
|00001ab0| 70 72 65 74 65 6e 64 73 | 20 74 68 61 74 20 5c 66 |pretends| that \f|
|00001ac0| 32 63 6f 75 6e 74 5c 66 | 50 0a 6c 69 6e 65 73 20 |2count\f|P.lines |
|00001ad0| 68 61 76 65 20 62 65 65 | 6e 20 63 68 61 6e 67 65 |have bee|n change|
|00001ae0| 64 2c 0a 62 65 67 69 6e | 6e 69 6e 67 20 77 69 74 |d,.begin|ning wit|
|00001af0| 68 20 6c 69 6e 65 20 5c | 66 32 73 74 61 72 74 5c |h line \|f2start\|
|00001b00| 66 50 2e 0a 2e 50 0a 54 | 68 65 20 5c 66 34 75 6e |fP...P.T|he \f4un|
|00001b10| 74 6f 75 63 68 77 69 6e | 5c 66 50 20 72 6f 75 74 |touchwin|\fP rout|
|00001b20| 69 6e 65 20 6d 61 72 6b | 73 20 61 6c 6c 20 6c 69 |ine mark|s all li|
|00001b30| 6e 65 73 20 69 6e 20 74 | 68 65 0a 77 69 6e 64 6f |nes in t|he.windo|
|00001b40| 77 20 61 73 20 75 6e 63 | 68 61 6e 67 65 64 20 73 |w as unc|hanged s|
|00001b50| 69 6e 63 65 20 74 68 65 | 20 6c 61 73 74 20 63 61 |ince the| last ca|
|00001b60| 6c 6c 20 74 6f 0a 5c 66 | 34 77 72 65 66 72 65 73 |ll to.\f|4wrefres|
|00001b70| 68 5c 66 50 2e 0a 2e 50 | 0a 2e 69 67 0a 2e 5c 22 |h\fP...P|..ig..\"|
|00001b80| 20 74 6f 75 63 68 6e 6c | 20 6e 6f 74 20 69 6e 20 | touchnl| not in |
|00001b90| 63 75 72 73 65 73 2e 68 | 3b 20 73 73 20 6e 6f 74 |curses.h|; ss not|
|00001ba0| 69 66 69 65 64 20 32 2f | 32 32 2f 38 39 0a 54 68 |ified 2/|22/89.Th|
|00001bb0| 65 20 5c 66 34 74 6f 75 | 63 68 6c 6e 5c 66 50 20 |e \f4tou|chln\fP |
|00001bc0| 61 6e 64 20 5c 66 34 77 | 74 6f 75 63 68 6c 6e 5c |and \f4w|touchln\|
|00001bd0| 66 50 20 72 6f 75 74 69 | 6e 65 73 20 6d 61 6b 65 |fP routi|nes make|
|00001be0| 20 5c 66 32 6e 5c 66 50 | 0a 2e 2e 0a 54 68 65 20 | \f2n\fP|....The |
|00001bf0| 5c 66 34 77 74 6f 75 63 | 68 6c 6e 5c 66 50 20 72 |\f4wtouc|hln\fP r|
|00001c00| 6f 75 74 69 6e 65 20 6d | 61 6b 65 73 20 5c 66 32 |outine m|akes \f2|
|00001c10| 6e 5c 66 50 0a 6c 69 6e | 65 73 20 69 6e 20 74 68 |n\fP.lin|es in th|
|00001c20| 65 20 77 69 6e 64 6f 77 | 2c 0a 73 74 61 72 74 69 |e window|,.starti|
|00001c30| 6e 67 20 61 74 20 6c 69 | 6e 65 20 5c 66 32 79 5c |ng at li|ne \f2y\|
|00001c40| 66 50 2c 20 6c 6f 6f 6b | 20 61 73 20 69 66 20 74 |fP, look| as if t|
|00001c50| 68 65 79 20 68 61 76 65 | 20 28 5c 66 32 63 68 61 |hey have| (\f2cha|
|00001c60| 6e 67 65 64 5c 66 34 3d | 31 5c 66 31 29 0a 6f 72 |nged\f4=|1\f1).or|
|00001c70| 20 68 61 76 65 20 6e 6f | 74 20 28 5c 66 32 63 68 | have no|t (\f2ch|
|00001c80| 61 6e 67 65 64 5c 66 34 | 3d 30 5c 66 31 29 0a 62 |anged\f4|=0\f1).b|
|00001c90| 65 65 6e 20 63 68 61 6e | 67 65 64 20 73 69 6e 63 |een chan|ged sinc|
|00001ca0| 65 20 74 68 65 20 6c 61 | 73 74 20 63 61 6c 6c 20 |e the la|st call |
|00001cb0| 74 6f 20 5c 66 34 77 72 | 65 66 72 65 73 68 5c 66 |to \f4wr|efresh\f|
|00001cc0| 50 2e 0a 2e 50 0a 54 68 | 65 20 5c 66 34 69 73 5f |P...P.Th|e \f4is_|
|00001cd0| 6c 69 6e 65 74 6f 75 63 | 68 65 64 5c 66 50 20 61 |linetouc|hed\fP a|
|00001ce0| 6e 64 20 5c 66 34 69 73 | 5f 77 69 6e 74 6f 75 63 |nd \f4is|_wintouc|
|00001cf0| 68 65 64 5c 66 50 20 72 | 6f 75 74 69 6e 65 73 0a |hed\fP r|outines.|
|00001d00| 72 65 74 75 72 6e 20 5c | 66 34 54 52 55 45 5c 66 |return \|f4TRUE\f|
|00001d10| 50 20 69 66 20 74 68 65 | 20 73 70 65 63 69 66 69 |P if the| specifi|
|00001d20| 65 64 20 6c 69 6e 65 2f | 77 69 6e 64 6f 77 20 77 |ed line/|window w|
|00001d30| 61 73 20 6d 6f 64 69 66 | 69 65 64 0a 73 69 6e 63 |as modif|ied.sinc|
|00001d40| 65 20 74 68 65 20 6c 61 | 73 74 20 63 61 6c 6c 20 |e the la|st call |
|00001d50| 74 6f 20 5c 66 34 77 72 | 65 66 72 65 73 68 5c 66 |to \f4wr|efresh\f|
|00001d60| 50 3b 0a 6f 74 68 65 72 | 77 69 73 65 20 74 68 65 |P;.other|wise the|
|00001d70| 79 20 72 65 74 75 72 6e | 20 5c 66 34 46 41 4c 53 |y return| \f4FALS|
|00001d80| 45 5c 66 50 2e 0a 49 6e | 20 61 64 64 69 74 69 6f |E\fP..In| additio|
|00001d90| 6e 2c 0a 5c 66 34 69 73 | 5f 6c 69 6e 65 74 6f 75 |n,.\f4is|_linetou|
|00001da0| 63 68 65 64 5c 66 50 20 | 72 65 74 75 72 6e 73 20 |ched\fP |returns |
|00001db0| 5c 66 34 45 52 52 5c 66 | 50 20 69 66 20 5c 66 32 |\f4ERR\f|P if \f2|
|00001dc0| 6c 69 6e 65 5c 66 50 20 | 69 73 20 6e 6f 74 20 76 |line\fP |is not v|
|00001dd0| 61 6c 69 64 20 66 6f 72 | 0a 74 68 65 20 67 69 76 |alid for|.the giv|
|00001de0| 65 6e 20 77 69 6e 64 6f | 77 2e 0a 2e 53 48 20 52 |en windo|w...SH R|
|00001df0| 45 54 55 52 4e 20 56 41 | 4c 55 45 0a 41 6c 6c 20 |ETURN VA|LUE.All |
|00001e00| 72 6f 75 74 69 6e 65 73 | 20 72 65 74 75 72 6e 20 |routines| return |
|00001e10| 74 68 65 20 69 6e 74 65 | 67 65 72 20 5c 66 34 45 |the inte|ger \f4E|
|00001e20| 52 52 5c 66 50 20 75 70 | 6f 6e 0a 66 61 69 6c 75 |RR\fP up|on.failu|
|00001e30| 72 65 20 61 6e 64 20 61 | 6e 20 69 6e 74 65 67 65 |re and a|n intege|
|00001e40| 72 20 76 61 6c 75 65 20 | 6f 74 68 65 72 20 74 68 |r value |other th|
|00001e50| 61 6e 20 5c 66 34 45 52 | 52 5c 66 50 0a 75 70 6f |an \f4ER|R\fP.upo|
|00001e60| 6e 20 73 75 63 63 65 73 | 73 66 75 6c 20 63 6f 6d |n succes|sful com|
|00001e70| 70 6c 65 74 69 6f 6e 2c | 0a 75 6e 6c 65 73 73 20 |pletion,|.unless |
|00001e80| 6f 74 68 65 72 77 69 73 | 65 20 6e 6f 74 65 64 20 |otherwis|e noted |
|00001e90| 69 6e 20 74 68 65 20 70 | 72 65 63 65 64 69 6e 67 |in the p|receding|
|00001ea0| 20 72 6f 75 74 69 6e 65 | 20 64 65 73 63 72 69 70 | routine| descrip|
|00001eb0| 74 69 6f 6e 73 2e 0a 2e | 53 48 20 4e 4f 54 45 53 |tions...|SH NOTES|
|00001ec0| 0a 2e 50 0a 54 68 65 20 | 68 65 61 64 65 72 20 66 |..P.The |header f|
|00001ed0| 69 6c 65 20 5c 66 34 63 | 75 72 73 65 73 2e 68 5c |ile \f4c|urses.h\|
|00001ee0| 66 50 20 61 75 74 6f 6d | 61 74 69 63 61 6c 6c 79 |fP autom|atically|
|00001ef0| 20 69 6e 63 6c 75 64 65 | 73 20 74 68 65 20 68 65 | include|s the he|
|00001f00| 61 64 65 72 20 66 69 6c | 65 73 0a 5c 66 34 73 74 |ader fil|es.\f4st|
|00001f10| 64 69 6f 2e 68 5c 66 50 | 20 61 6e 64 20 5c 66 34 |dio.h\fP| and \f4|
|00001f20| 75 6e 63 74 72 6c 2e 68 | 5c 66 50 2e 0a 2e 50 0a |unctrl.h|\fP...P.|
|00001f30| 4e 6f 74 65 20 74 68 61 | 74 20 61 6c 6c 20 72 6f |Note tha|t all ro|
|00001f40| 75 74 69 6e 65 73 20 65 | 78 63 65 70 74 20 5c 66 |utines e|xcept \f|
|00001f50| 34 77 74 6f 75 63 68 6c | 6e 5c 66 50 20 6d 61 79 |4wtouchl|n\fP may|
|00001f60| 20 62 65 20 6d 61 63 72 | 6f 73 2e 0a 2e 53 48 20 | be macr|os...SH |
|00001f70| 53 45 45 20 41 4c 53 4f | 0a 2e 6e 61 0a 5c 66 34 |SEE ALSO|..na.\f4|
|00001f80| 63 75 72 73 65 73 5c 66 | 50 28 33 63 75 72 73 65 |curses\f|P(3curse|
|00001f90| 73 29 2c 0a 5c 66 34 63 | 75 72 73 5f 72 65 66 72 |s),.\f4c|urs_refr|
|00001fa0| 65 73 68 5c 66 50 28 33 | 63 75 72 73 65 73 29 0a |esh\fP(3|curses).|
|00001fb0| 2e 61 64 0a 00 00 30 37 | 30 37 30 31 ff 30 04 31 |.ad...07|0701.0.1|
|00001fc0| 38 32 32 ff 30 04 38 31 | 61 34 ff 30 0f 33 ff 30 |822.0.81|a4.0.3.0|
|00001fd0| 07 31 32 61 38 61 38 30 | 66 32 ff 30 05 63 62 66 |.12a8a80|f2.0.cbf|
|00001fe0| ff 30 06 32 66 ff 30 07 | 31 ff 30 16 32 37 ff 30 |.0.2f.0.|1.0.27.0|
|00001ff0| 08 72 6f 6f 74 2e 31 31 | 2f 75 73 72 2f 73 68 61 |.root.11|/usr/sha|
|00002000| 72 65 2f 6d 61 6e 2f 6d | 61 6e 33 2f 63 75 72 73 |re/man/m|an3/curs|
|00002010| 5f 75 74 69 6c 2e 33 ff | 00 04 2e 69 66 20 6e 20 |_util.3.|...if n |
|00002020| 2e 70 48 20 33 63 75 72 | 73 65 73 2f 67 65 6e 2f |.pH 3cur|ses/gen/|
|00002030| 63 75 72 73 5f 75 74 69 | 6c 20 40 28 23 29 63 75 |curs_uti|l @(#)cu|
|00002040| 72 73 5f 75 74 69 6c 09 | 34 33 2e 38 20 6f 66 20 |rs_util.|43.8 of |
|00002050| 37 2f 33 30 2f 39 32 0a | 2e 5c 22 20 43 6f 70 79 |7/30/92.|.\" Copy|
|00002060| 72 69 67 68 74 20 31 39 | 39 32 2c 20 31 39 39 31 |right 19|92, 1991|
|00002070| 20 55 4e 49 58 20 53 79 | 73 74 65 6d 20 4c 61 62 | UNIX Sy|stem Lab|
|00002080| 6f 72 61 74 6f 72 69 65 | 73 2c 20 49 6e 63 2e 0a |oratorie|s, Inc..|
|00002090| 2e 5c 22 20 43 6f 70 79 | 72 69 67 68 74 20 31 39 |.\" Copy|right 19|
|000020a0| 39 30 2c 20 31 39 38 39 | 20 41 54 26 54 0a 2e 54 |90, 1989| AT&T..T|
|000020b0| 48 20 63 75 72 73 5f 75 | 74 69 6c 20 33 63 75 72 |H curs_u|til 3cur|
|000020c0| 73 65 73 0a 2e 53 48 20 | 4e 41 4d 45 0a 5c 66 34 |ses..SH |NAME.\f4|
|000020d0| 63 75 72 73 5f 75 74 69 | 6c 5c 66 50 3a 20 5c 66 |curs_uti|l\fP: \f|
|000020e0| 34 75 6e 63 74 72 6c 5c | 66 50 2c 20 5c 66 34 6b |4unctrl\|fP, \f4k|
|000020f0| 65 79 6e 61 6d 65 5c 66 | 50 2c 20 5c 66 34 66 69 |eyname\f|P, \f4fi|
|00002100| 6c 74 65 72 5c 66 50 2c | 20 5c 66 34 75 73 65 5f |lter\fP,| \f4use_|
|00002110| 65 6e 76 5c 66 50 2c 20 | 5c 66 34 70 75 74 77 69 |env\fP, |\f4putwi|
|00002120| 6e 5c 66 50 2c 20 5c 66 | 34 67 65 74 77 69 6e 5c |n\fP, \f|4getwin\|
|00002130| 66 50 2c 20 5c 66 34 64 | 65 6c 61 79 5f 6f 75 74 |fP, \f4d|elay_out|
|00002140| 70 75 74 5c 66 50 2c 20 | 5c 66 34 64 72 61 69 6e |put\fP, |\f4drain|
|00002150| 6f 5c 66 50 2c 20 5c 66 | 34 66 6c 75 73 68 69 6e |o\fP, \f|4flushin|
|00002160| 70 5c 66 50 20 5c 2d 20 | 6d 69 73 63 65 6c 6c 61 |p\fP \- |miscella|
|00002170| 6e 65 6f 75 73 20 5c 66 | 34 63 75 72 73 65 73 5c |neous \f|4curses\|
|00002180| 66 50 20 75 74 69 6c 69 | 74 79 20 72 6f 75 74 69 |fP utili|ty routi|
|00002190| 6e 65 73 0a 2e 53 48 20 | 53 59 4e 4f 50 53 49 53 |nes..SH |SYNOPSIS|
|000021a0| 0a 2e 6e 66 0a 2e 66 74 | 20 34 0a 23 69 6e 63 6c |..nf..ft| 4.#incl|
|000021b0| 75 64 65 20 3c 63 75 72 | 73 65 73 2e 68 3e 0a 2e |ude <cur|ses.h>..|
|000021c0| 73 70 20 30 2e 34 0a 63 | 68 61 72 20 5c 28 2a 2a |sp 0.4.c|har \(**|
|000021d0| 75 6e 63 74 72 6c 28 63 | 68 74 79 70 65 20 5c 66 |unctrl(c|htype \f|
|000021e0| 32 63 5c 66 50 29 3b 0a | 63 68 61 72 20 5c 28 2a |2c\fP);.|char \(*|
|000021f0| 2a 6b 65 79 6e 61 6d 65 | 28 69 6e 74 20 5c 66 32 |*keyname|(int \f2|
|00002200| 63 5c 66 50 29 3b 0a 76 | 6f 69 64 20 66 69 6c 74 |c\fP);.v|oid filt|
|00002210| 65 72 28 76 6f 69 64 29 | 3b 0a 76 6f 69 64 20 75 |er(void)|;.void u|
|00002220| 73 65 5f 65 6e 76 28 63 | 68 61 72 20 5c 66 32 62 |se_env(c|har \f2b|
|00002230| 6f 6f 6c 5c 66 50 29 3b | 0a 69 6e 74 20 70 75 74 |ool\fP);|.int put|
|00002240| 77 69 6e 28 57 49 4e 44 | 4f 57 20 5c 28 2a 2a 5c |win(WIND|OW \(**\|
|00002250| 66 32 77 69 6e 5c 66 50 | 2c 20 46 49 4c 45 20 5c |f2win\fP|, FILE \|
|00002260| 28 2a 2a 5c 66 32 66 69 | 6c 65 70 5c 66 50 29 3b |(**\f2fi|lep\fP);|
|00002270| 0a 57 49 4e 44 4f 57 20 | 5c 28 2a 2a 67 65 74 77 |.WINDOW |\(**getw|
|00002280| 69 6e 28 46 49 4c 45 20 | 5c 28 2a 2a 5c 66 32 66 |in(FILE |\(**\f2f|
|00002290| 69 6c 65 70 5c 66 50 29 | 3b 0a 69 6e 74 20 64 65 |ilep\fP)|;.int de|
|000022a0| 6c 61 79 5f 6f 75 74 70 | 75 74 28 69 6e 74 20 5c |lay_outp|ut(int \|
|000022b0| 66 32 6d 73 5c 66 50 29 | 3b 0a 69 6e 74 20 64 72 |f2ms\fP)|;.int dr|
|000022c0| 61 69 6e 6f 28 69 6e 74 | 20 5c 66 32 6d 73 5c 66 |aino(int| \f2ms\f|
|000022d0| 50 29 3b 0a 69 6e 74 20 | 66 6c 75 73 68 69 6e 70 |P);.int |flushinp|
|000022e0| 28 76 6f 69 64 29 3b 0a | 2e 66 74 20 31 0a 2e 66 |(void);.|.ft 1..f|
|000022f0| 69 0a 2e 53 48 20 44 45 | 53 43 52 49 50 54 49 4f |i..SH DE|SCRIPTIO|
|00002300| 4e 0a 54 68 65 20 5c 66 | 34 75 6e 63 74 72 6c 5c |N.The \f|4unctrl\|
|00002310| 66 50 20 6d 61 63 72 6f | 20 65 78 70 61 6e 64 73 |fP macro| expands|
|00002320| 20 74 6f 20 61 20 63 68 | 61 72 61 63 74 65 72 20 | to a ch|aracter |
|00002330| 73 74 72 69 6e 67 20 77 | 68 69 63 68 20 69 73 20 |string w|hich is |
|00002340| 61 20 70 72 69 6e 74 61 | 62 6c 65 0a 72 65 70 72 |a printa|ble.repr|
|00002350| 65 73 65 6e 74 61 74 69 | 6f 6e 20 6f 66 20 74 68 |esentati|on of th|
|00002360| 65 20 63 68 61 72 61 63 | 74 65 72 20 5c 66 32 63 |e charac|ter \f2c|
|00002370| 5c 66 50 2e 0a 43 6f 6e | 74 72 6f 6c 20 63 68 61 |\fP..Con|trol cha|
|00002380| 72 61 63 74 65 72 73 20 | 61 72 65 20 64 69 73 70 |racters |are disp|
|00002390| 6c 61 79 65 64 20 69 6e | 20 74 68 65 20 5c 66 34 |layed in| the \f4|
|000023a0| 5e 5c 66 32 58 5c 69 23 | ff 66 31 20 6e 6f 74 61 |^\f2X\i#|.f1 nota|
|000023b0| 74 69 6f 6e 2e 0a 50 72 | 69 6e 74 69 6e 67 20 63 |tion..Pr|inting c|
|000023c0| 68 61 72 61 63 74 65 72 | 73 20 61 72 65 20 64 69 |haracter|s are di|
|000023d0| 73 70 6c 61 79 65 64 20 | 61 73 20 69 73 2e 0a 2e |splayed |as is...|
|000023e0| 50 0a 57 69 74 68 20 74 | 68 65 20 5c 66 34 6b 65 |P.With t|he \f4ke|
|000023f0| 79 6e 61 6d 65 5c 66 50 | 20 72 6f 75 74 69 6e 65 |yname\fP| routine|
|00002400| 2c 0a 61 20 63 68 61 72 | 61 63 74 65 72 20 73 74 |,.a char|acter st|
|00002410| 72 69 6e 67 20 63 6f 72 | 72 65 73 70 6f 6e 64 69 |ring cor|respondi|
|00002420| 6e 67 20 74 6f 20 74 68 | 65 20 6b 65 79 20 5c 66 |ng to th|e key \f|
|00002430| 32 63 5c 66 50 20 69 73 | 20 72 65 74 75 72 6e 65 |2c\fP is| returne|
|00002440| 64 2e 0a 2e 50 0a 54 68 | 65 20 5c 66 34 66 69 6c |d...P.Th|e \f4fil|
|00002450| 74 65 72 5c 66 50 20 72 | 6f 75 74 69 6e 65 2c 20 |ter\fP r|outine, |
|00002460| 69 66 20 75 73 65 64 2c | 20 69 73 20 63 61 6c 6c |if used,| is call|
|00002470| 65 64 0a 62 65 66 6f 72 | 65 20 5c 66 34 69 6e 69 |ed.befor|e \f4ini|
|00002480| 74 73 63 72 5c 66 50 20 | 6f 72 20 5c 66 34 6e 65 |tscr\fP |or \f4ne|
|00002490| 77 74 65 72 6d 5c 66 50 | 20 61 72 65 20 63 61 6c |wterm\fP| are cal|
|000024a0| 6c 65 64 2e 0a 49 74 20 | 6d 61 6b 65 73 20 5c 66 |led..It |makes \f|
|000024b0| 34 63 75 72 73 65 73 5c | 66 50 20 74 68 69 6e 6b |4curses\|fP think|
|000024c0| 20 74 68 61 74 20 74 68 | 65 72 65 20 69 73 20 61 | that th|ere is a|
|000024d0| 20 6f 6e 65 2d 6c 69 6e | 65 20 73 63 72 65 65 6e | one-lin|e screen|
|000024e0| 2e 0a 5c 66 34 63 75 72 | 73 65 73 5c 66 50 20 64 |..\f4cur|ses\fP d|
|000024f0| 6f 65 73 20 6e 6f 74 20 | 75 73 65 20 61 6e 79 20 |oes not |use any |
|00002500| 74 65 72 6d 69 6e 61 6c | 20 63 61 70 61 62 69 6c |terminal| capabil|
|00002510| 69 74 69 65 73 20 74 68 | 61 74 20 61 73 73 75 6d |ities th|at assum|
|00002520| 65 20 74 68 61 74 20 74 | 68 65 79 20 6b 6e 6f 77 |e that t|hey know|
|00002530| 0a 6f 6e 20 77 68 61 74 | 20 6c 69 6e 65 20 6f 66 |.on what| line of|
|00002540| 20 74 68 65 20 73 63 72 | 65 65 6e 20 74 68 65 20 | the scr|een the |
|00002550| 63 75 72 73 6f 72 20 69 | 73 20 70 6f 73 69 74 69 |cursor i|s positi|
|00002560| 6f 6e 65 64 2e 0a 2e 50 | 0a 54 68 65 20 5c 66 34 |oned...P|.The \f4|
|00002570| 75 73 65 5f 65 6e 76 5c | 66 50 20 72 6f 75 74 69 |use_env\|fP routi|
|00002580| 6e 65 2c 20 69 66 20 75 | 73 65 64 2c 20 69 73 20 |ne, if u|sed, is |
|00002590| 63 61 6c 6c 65 64 20 62 | 65 66 6f 72 65 0a 5c 66 |called b|efore.\f|
|000025a0| 34 69 6e 69 74 73 63 72 | 5c 66 50 20 6f 72 20 5c |4initscr|\fP or \|
|000025b0| 66 34 6e 65 77 74 65 72 | 6d 5c 66 50 20 61 72 65 |f4newter|m\fP are|
|000025c0| 20 63 61 6c 6c 65 64 2e | 0a 57 68 65 6e 20 63 61 | called.|.When ca|
|000025d0| 6c 6c 65 64 20 77 69 74 | 68 20 5c 66 34 46 41 4c |lled wit|h \f4FAL|
|000025e0| 53 45 5c 66 50 20 61 73 | 20 61 6e 20 61 72 67 75 |SE\fP as| an argu|
|000025f0| 6d 65 6e 74 2c 20 74 68 | 65 20 76 61 6c 75 65 73 |ment, th|e values|
|00002600| 20 6f 66 0a 5c 66 34 6c | 69 6e 65 73 5c 66 50 20 | of.\f4l|ines\fP |
|00002610| 61 6e 64 20 5c 66 34 63 | 6f 6c 75 6d 6e 73 5c 66 |and \f4c|olumns\f|
|00002620| 50 20 73 70 65 63 69 66 | 69 65 64 20 69 6e 20 74 |P specif|ied in t|
|00002630| 68 65 20 5c 66 34 74 65 | 72 6d 69 6e 66 6f 5c 66 |he \f4te|rminfo\f|
|00002640| 50 20 64 61 74 61 62 61 | 73 65 0a 77 69 6c 6c 20 |P databa|se.will |
|00002650| 62 65 20 75 73 65 64 2c | 20 65 76 65 6e 20 69 66 |be used,| even if|
|00002660| 20 65 6e 76 69 72 6f 6e | 6d 65 6e 74 20 76 61 72 | environ|ment var|
|00002670| 69 61 62 6c 65 73 20 5c | 66 34 4c 49 4e 45 53 5c |iables \|f4LINES\|
|00002680| 66 50 20 61 6e 64 0a 5c | 66 34 43 4f 4c 55 4d 4e |fP and.\|f4COLUMN|
|00002690| 53 5c 66 50 20 28 75 73 | 65 64 20 62 79 20 64 65 |S\fP (us|ed by de|
|000026a0| 66 61 75 6c 74 29 20 61 | 72 65 20 73 65 74 2c 20 |fault) a|re set, |
|000026b0| 6f 72 20 69 66 20 5c 66 | 34 63 75 72 73 65 73 5c |or if \f|4curses\|
|000026c0| 66 50 20 69 73 20 72 75 | 6e 6e 69 6e 67 20 69 6e |fP is ru|nning in|
|000026d0| 20 61 0a 77 69 6e 64 6f | 77 20 28 69 6e 20 77 68 | a.windo|w (in wh|
|000026e0| 69 63 68 20 63 61 73 65 | 20 64 65 66 61 75 6c 74 |ich case| default|
|000026f0| 20 62 65 68 61 76 69 6f | 72 20 77 6f 75 6c 64 20 | behavio|r would |
|00002700| 62 65 20 74 6f 20 75 73 | 65 20 74 68 65 20 77 69 |be to us|e the wi|
|00002710| 6e 64 6f 77 20 73 69 7a | 65 20 69 66 0a 5c 66 34 |ndow siz|e if.\f4|
|00002720| 4c 49 4e 45 53 5c 66 50 | 20 61 6e 64 20 5c 66 34 |LINES\fP| and \f4|
|00002730| 43 4f 4c 55 4d 4e 53 5c | 66 50 20 61 72 65 20 6e |COLUMNS\|fP are n|
|00002740| 6f 74 20 73 65 74 29 2e | 0a 2e 50 0a 57 69 74 68 |ot set).|..P.With|
|00002750| 20 74 68 65 20 5c 66 34 | 70 75 74 77 69 6e 5c 66 | the \f4|putwin\f|
|00002760| 50 20 72 6f 75 74 69 6e | 65 2c 0a 61 6c 6c 20 64 |P routin|e,.all d|
|00002770| 61 74 61 20 61 73 73 6f | 63 69 61 74 65 64 20 77 |ata asso|ciated w|
|00002780| 69 74 68 20 77 69 6e 64 | 6f 77 20 5c 66 32 77 69 |ith wind|ow \f2wi|
|00002790| 6e 5c 66 50 20 69 73 20 | 77 72 69 74 74 65 6e 20 |n\fP is |written |
|000027a0| 69 6e 74 6f 20 74 68 65 | 20 66 69 6c 65 0a 74 6f |into the| file.to|
|000027b0| 20 77 68 69 63 68 20 5c | 66 32 66 69 6c 65 70 5c | which \|f2filep\|
|000027c0| 66 50 20 70 6f 69 6e 74 | 73 2e 0a 54 68 69 73 20 |fP point|s..This |
|000027d0| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 63 61 6e 20 |informat|ion can |
|000027e0| 62 65 20 6c 61 74 65 72 | 20 72 65 74 72 69 65 76 |be later| retriev|
|000027f0| 65 64 20 75 73 69 6e 67 | 20 0a 74 68 65 20 5c 66 |ed using| .the \f|
|00002800| 34 67 65 74 77 69 6e 5c | 66 50 20 66 75 6e 63 74 |4getwin\|fP funct|
|00002810| 69 6f 6e 2e 0a 2e 50 0a | 54 68 65 20 5c 66 34 67 |ion...P.|The \f4g|
|00002820| 65 74 77 69 6e 5c 66 50 | 20 72 6f 75 74 69 6e 65 |etwin\fP| routine|
|00002830| 0a 72 65 61 64 73 20 77 | 69 6e 64 6f 77 20 72 65 |.reads w|indow re|
|00002840| 6c 61 74 65 64 20 64 61 | 74 61 20 73 74 6f 72 65 |lated da|ta store|
|00002850| 64 20 69 6e 20 74 68 65 | 20 66 69 6c 65 20 62 79 |d in the| file by|
|00002860| 20 5c 66 34 70 75 74 77 | 69 6e 5c 66 50 2e 0a 54 | \f4putw|in\fP..T|
|00002870| 68 65 20 72 6f 75 74 69 | 6e 65 20 74 68 65 6e 20 |he routi|ne then |
|00002880| 63 72 65 61 74 65 73 20 | 61 6e 64 20 69 6e 69 74 |creates |and init|
|00002890| 69 61 6c 69 7a 65 73 20 | 61 20 6e 65 77 20 77 69 |ializes |a new wi|
|000028a0| 6e 64 6f 77 20 75 73 69 | 6e 67 20 74 68 61 74 20 |ndow usi|ng that |
|000028b0| 64 61 74 61 2e 0a 49 74 | 20 72 65 74 75 72 6e 73 |data..It| returns|
|000028c0| 20 61 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 74 68 | a point|er to th|
|000028d0| 65 20 6e 65 77 20 77 69 | 6e 64 6f 77 2e 0a 2e 50 |e new wi|ndow...P|
|000028e0| 0a 54 68 65 20 5c 66 34 | 64 65 6c 61 79 5f 6f 75 |.The \f4|delay_ou|
|000028f0| 74 70 75 74 5c 66 50 20 | 72 6f 75 74 69 6e 65 20 |tput\fP |routine |
|00002900| 69 6e 73 65 72 74 73 20 | 61 6e 20 5c 66 32 6d 73 |inserts |an \f2ms|
|00002910| 5c 66 50 0a 6d 69 6c 6c | 69 73 65 63 6f 6e 64 20 |\fP.mill|isecond |
|00002920| 70 61 75 73 65 20 69 6e | 20 6f 75 74 70 75 74 2e |pause in| output.|
|00002930| 0a 54 68 69 73 20 72 6f | 75 74 69 6e 65 20 73 68 |.This ro|utine sh|
|00002940| 6f 75 6c 64 20 6e 6f 74 | 20 62 65 20 75 73 65 64 |ould not| be used|
|00002950| 20 65 78 74 65 6e 73 69 | 76 65 6c 79 0a 62 65 63 | extensi|vely.bec|
|00002960| 61 75 73 65 20 70 61 64 | 64 69 6e 67 20 63 68 61 |ause pad|ding cha|
|00002970| 72 61 63 74 65 72 73 20 | 61 72 65 20 75 73 65 64 |racters |are used|
|00002980| 20 72 61 74 68 65 72 20 | 74 68 61 6e 20 61 20 43 | rather |than a C|
|00002990| 50 55 20 70 61 75 73 65 | 2e 0a 2e 50 0a 54 68 65 |PU pause|...P.The|
|000029a0| 20 5c 66 34 64 72 61 69 | 6e 6f 5c 66 50 20 72 6f | \f4drai|no\fP ro|
|000029b0| 75 74 69 6e 65 20 72 65 | 74 75 72 6e 73 20 77 68 |utine re|turns wh|
|000029c0| 65 6e 20 0a 5c 66 32 6d | 73 5c 66 50 20 61 72 65 |en .\f2m|s\fP are|
|000029d0| 20 6e 65 65 64 65 64 20 | 74 6f 20 63 6c 65 61 72 | needed |to clear|
|000029e0| 20 74 68 65 20 6f 75 74 | 70 75 74 20 63 6f 6d 70 | the out|put comp|
|000029f0| 6c 65 74 65 6c 79 2e 0a | 43 75 72 72 65 6e 74 20 |letely..|Current |
|00002a00| 76 61 6c 69 64 20 76 61 | 6c 75 65 20 66 6f 72 20 |valid va|lue for |
|00002a10| 5c 66 32 6d 73 5c 66 50 | 20 69 73 20 30 2e 0a 2e |\f2ms\fP| is 0...|
|00002a20| 50 0a 54 68 65 20 5c 66 | 34 66 6c 75 73 68 69 6e |P.The \f|4flushin|
|00002a30| 70 5c 66 50 20 72 6f 75 | 74 69 6e 65 0a 74 68 72 |p\fP rou|tine.thr|
|00002a40| 6f 77 73 20 61 77 61 79 | 20 61 6e 79 20 74 79 70 |ows away| any typ|
|00002a50| 65 61 68 65 61 64 20 74 | 68 61 74 20 68 61 73 20 |eahead t|hat has |
|00002a60| 62 65 65 6e 20 74 79 70 | 65 64 20 62 79 20 74 68 |been typ|ed by th|
|00002a70| 65 0a 75 73 65 72 20 61 | 6e 64 20 68 61 73 20 6e |e.user a|nd has n|
|00002a80| 6f 74 20 79 65 74 20 62 | 65 65 6e 20 72 65 61 64 |ot yet b|een read|
|00002a90| 20 62 79 20 74 68 65 20 | 70 72 6f 67 72 61 6d 2e | by the |program.|
|00002aa0| 0a 2e 53 48 20 52 45 54 | 55 52 4e 20 56 41 4c 55 |..SH RET|URN VALU|
|00002ab0| 45 0a 45 78 63 65 70 74 | 20 66 6f 72 20 5c 66 34 |E.Except| for \f4|
|00002ac0| 66 6c 75 73 68 69 6e 70 | 5c 66 50 2c 0a 72 6f 75 |flushinp|\fP,.rou|
|00002ad0| 74 69 6e 65 73 20 74 68 | 61 74 20 72 65 74 75 72 |tines th|at retur|
|00002ae0| 6e 20 61 6e 20 69 6e 74 | 65 67 65 72 20 72 65 74 |n an int|eger ret|
|00002af0| 75 72 6e 20 5c 66 34 45 | 52 52 5c 66 50 20 75 70 |urn \f4E|RR\fP up|
|00002b00| 6f 6e 0a 66 61 69 6c 75 | 72 65 20 61 6e 64 20 61 |on.failu|re and a|
|00002b10| 6e 20 69 6e 74 65 67 65 | 72 20 76 61 6c 75 65 20 |n intege|r value |
|00002b20| 6f 74 68 65 72 20 74 68 | 61 6e 20 5c 66 34 45 52 |other th|an \f4ER|
|00002b30| 52 5c 66 50 0a 75 70 6f | 6e 20 73 75 63 63 65 73 |R\fP.upo|n succes|
|00002b40| 73 66 75 6c 20 63 6f 6d | 70 6c 65 74 69 6f 6e 2e |sful com|pletion.|
|00002b50| 0a 2e 50 0a 5c 66 34 66 | 6c 75 73 68 69 6e 70 5c |..P.\f4f|lushinp\|
|00002b60| 66 50 20 61 6c 77 61 79 | 73 20 72 65 74 75 72 6e |fP alway|s return|
|00002b70| 73 20 5c 66 34 4f 4b 5c | 66 50 2e 0a 2e 50 0a 52 |s \f4OK\|fP...P.R|
|00002b80| 6f 75 74 69 6e 65 73 20 | 74 68 61 74 20 72 65 74 |outines |that ret|
|00002b90| 75 72 6e 20 70 6f 69 6e | 74 65 72 73 20 72 65 74 |urn poin|ters ret|
|00002ba0| 75 72 6e 20 5c 66 34 4e | 55 4c 4c 5c 66 50 20 6f |urn \f4N|ULL\fP o|
|00002bb0| 6e 20 65 72 72 6f 72 2e | 0a 2e 53 48 20 4e 4f 54 |n error.|..SH NOT|
|00002bc0| 45 53 0a 54 68 65 20 68 | 65 61 64 65 72 20 66 69 |ES.The h|eader fi|
|00002bd0| 6c 65 20 5c 66 34 63 75 | 72 73 65 73 2e 68 5c 66 |le \f4cu|rses.h\f|
|00002be0| 50 20 61 75 74 6f 6d 61 | 74 69 63 61 6c 6c 79 20 |P automa|tically |
|00002bf0| 69 6e 63 6c 75 64 65 73 | 20 74 68 65 20 68 65 61 |includes| the hea|
|00002c00| 64 65 72 20 66 69 6c 65 | 73 0a 5c 66 34 73 74 64 |der file|s.\f4std|
|00002c10| 69 6f 2e 68 5c 66 50 20 | 61 6e 64 20 5c 66 34 75 |io.h\fP |and \f4u|
|00002c20| 6e 63 74 72 6c 2e 68 5c | 66 50 2e 0a 2e 50 0a 4e |nctrl.h\|fP...P.N|
|00002c30| 6f 74 65 20 74 68 61 74 | 20 5c 66 34 75 6e 63 74 |ote that| \f4unct|
|00002c40| 72 6c 5c 66 50 20 69 73 | 20 61 20 6d 61 63 72 6f |rl\fP is| a macro|
|00002c50| 2c 0a 77 68 69 63 68 20 | 69 73 20 64 65 66 69 6e |,.which |is defin|
|00002c60| 65 64 20 69 6e 20 5c 66 | 34 75 6e 63 74 72 6c 2e |ed in \f|4unctrl.|
|00002c70| 68 5c 66 50 2e 0a 2e 53 | 48 20 53 45 45 20 41 4c |h\fP...S|H SEE AL|
|00002c80| 53 4f 0a 2e 6e 61 0a 5c | 66 34 63 75 72 73 65 73 |SO..na.\|f4curses|
|00002c90| 5c 66 50 28 33 63 75 72 | 73 65 73 29 2c 0a 5c 66 |\fP(3cur|ses),.\f|
|00002ca0| 34 63 75 72 73 5f 69 6e | 69 74 73 63 72 5c 66 50 |4curs_in|itscr\fP|
|00002cb0| 28 33 63 75 72 73 65 73 | 29 2c 0a 5c 66 34 63 75 |(3curses|),.\f4cu|
|00002cc0| 72 73 5f 73 63 72 5f 64 | 75 6d 70 5c 66 50 28 33 |rs_scr_d|ump\fP(3|
|00002cd0| 63 75 72 73 65 73 29 0a | 2e 61 64 0a 00 30 37 30 |curses).|.ad..070|
|00002ce0| 37 30 31 ff 30 04 31 38 | 32 33 ff 30 04 38 31 61 |701.0.18|23.0.81a|
|00002cf0| 34 ff 30 0f 33 ff 30 07 | 31 32 61 38 61 38 30 66 |4.0.3.0.|12a8a80f|
|00002d00| 33 ff 30 04 31 34 32 66 | ff 30 06 32 66 ff 30 07 |3.0.142f|.0.2f.0.|
|00002d10| 31 ff 30 16 32 39 ff 30 | 08 72 6f 6f 74 2e 31 31 |1.0.29.0|.root.11|
|00002d20| 2f 75 73 72 2f 73 68 61 | 72 65 2f 6d 61 6e 2f 6d |/usr/sha|re/man/m|
|00002d30| 61 6e 33 2f 63 75 72 73 | 5f 77 69 6e 64 6f 77 2e |an3/curs|_window.|
|00002d40| 33 00 00 2e 69 66 20 6e | 20 2e 70 48 20 33 63 75 |3...if n| .pH 3cu|
|00002d50| 72 73 65 73 2f 67 65 6e | 2f 63 75 72 73 5f 77 69 |rses/gen|/curs_wi|
|00002d60| 6e 64 6f 77 20 40 28 23 | 29 63 75 72 73 5f 77 69 |ndow @(#|)curs_wi|
|00002d70| 6e 64 6f 77 09 34 33 2e | 38 20 6f 66 20 37 2f 33 |ndow.43.|8 of 7/3|
|00002d80| 30 2f 39 32 0a 2e 5c 22 | 20 43 6f 70 79 72 69 67 |0/92..\"| Copyrig|
|00002d90| 68 74 20 31 39 39 32 2c | 20 31 39 39 31 20 55 4e |ht 1992,| 1991 UN|
|00002da0| 49 58 20 53 79 73 74 65 | 6d 20 4c 61 62 6f 72 61 |IX Syste|m Labora|
|00002db0| 74 6f 72 69 65 73 2c 20 | 49 6e 63 2e 0a 2e 5c 22 |tories, |Inc...\"|
|00002dc0| 20 43 6f 70 79 72 69 67 | 68 74 20 31 39 39 30 2c | Copyrig|ht 1990,|
|00002dd0| 20 31 39 38 39 20 41 54 | 26 54 0a 2e 54 48 20 63 | 1989 AT|&T..TH c|
|00002de0| 75 72 73 5f 77 69 6e 64 | 6f 77 20 33 63 75 72 73 |urs_wind|ow 3curs|
|00002df0| 65 73 0a 2e 53 48 20 4e | 41 4d 45 0a 5c 66 34 63 |es..SH N|AME.\f4c|
|00002e00| 75 72 73 5f 77 69 6e 64 | 6f 77 5c 66 50 3a 20 5c |urs_wind|ow\fP: \|
|00002e10| 66 34 6e 65 77 77 69 6e | 5c 66 50 2c 20 5c 66 34 |f4newwin|\fP, \f4|
|00002e20| 64 65 6c 77 69 6e 5c 66 | 50 2c 20 5c 66 34 6d 76 |delwin\f|P, \f4mv|
|00002e30| 77 69 6e 5c 66 50 2c 20 | 5c 66 34 73 75 62 77 69 |win\fP, |\f4subwi|
|00002e40| 6e 5c 66 50 2c 20 5c 66 | 34 64 65 72 77 69 6e 5c |n\fP, \f|4derwin\|
|00002e50| 66 50 2c 20 5c 66 34 6d | 76 64 65 72 77 69 6e 5c |fP, \f4m|vderwin\|
|00002e60| 66 50 2c 20 5c 66 34 64 | 75 70 77 69 6e 5c 66 50 |fP, \f4d|upwin\fP|
|00002e70| 2c 20 5c 66 34 77 73 79 | 6e 63 75 70 5c 66 50 2c |, \f4wsy|ncup\fP,|
|00002e80| 20 5c 66 34 73 79 6e 63 | 6f 6b 5c 66 50 2c 20 5c | \f4sync|ok\fP, \|
|00002e90| 66 34 77 63 75 72 73 79 | 6e 63 75 70 5c 66 50 2c |f4wcursy|ncup\fP,|
|00002ea0| 20 5c 66 34 77 73 79 6e | 63 64 6f 77 6e 5c 66 50 | \f4wsyn|cdown\fP|
|00002eb0| 20 5c 2d 20 63 72 65 61 | 74 65 20 5c 66 34 63 75 | \- crea|te \f4cu|
|00002ec0| 72 73 65 73 5c 66 50 20 | 77 69 6e 64 6f 77 73 0a |rses\fP |windows.|
|00002ed0| 2e 53 48 20 53 59 4e 4f | 50 53 49 53 0a 2e 6e 66 |.SH SYNO|PSIS..nf|
|00002ee0| 0a 2e 66 74 20 34 0a 23 | 69 6e 63 6c 75 64 65 20 |..ft 4.#|include |
|00002ef0| 3c 63 75 72 73 65 73 2e | 68 3e 0a 2e 73 70 20 30 |<curses.|h>..sp 0|
|00002f00| 2e 34 0a 57 49 4e 44 4f | 57 20 5c 28 2a 2a 6e 65 |.4.WINDO|W \(**ne|
|00002f10| 77 77 69 6e 28 69 6e 74 | 20 5c 66 32 6e 6c 69 6e |wwin(int| \f2nlin|
|00002f20| 65 73 5c 66 50 2c 20 69 | 6e 74 20 5c 66 32 6e 63 |es\fP, i|nt \f2nc|
|00002f30| 6f 6c 73 5c 66 50 2c 20 | 69 6e 74 20 5c 66 32 62 |ols\fP, |int \f2b|
|00002f40| 65 67 69 6e 5f 79 5c 66 | 50 2c 20 69 6e 74 20 5c |egin_y\f|P, int \|
|00002f50| 66 32 62 65 67 69 6e 5f | 78 5c 66 50 29 3b 0a 69 |f2begin_|x\fP);.i|
|00002f60| 6e 74 20 64 65 6c 77 69 | 6e 28 57 49 4e 44 4f 57 |nt delwi|n(WINDOW|
|00002f70| 20 5c 28 2a 2a 5c 66 32 | 77 69 6e 5c 66 50 29 3b | \(**\f2|win\fP);|
|00002f80| 0a 69 6e 74 20 6d 76 77 | 69 6e 28 57 49 4e 44 4f |.int mvw|in(WINDO|
|00002f90| 57 20 5c 28 2a 2a 5c 66 | 32 77 69 6e 5c 66 50 2c |W \(**\f|2win\fP,|
|00002fa0| 20 69 6e 74 20 5c 66 32 | 79 5c 66 50 2c 20 69 6e | int \f2|y\fP, in|
|00002fb0| 74 20 5c 66 32 78 5c 66 | 50 29 3b 0a 57 49 4e 44 |t \f2x\f|P);.WIND|
|00002fc0| 4f 57 20 5c 28 2a 2a 73 | 75 62 77 69 6e 28 57 49 |OW \(**s|ubwin(WI|
|00002fd0| 4e 44 4f 57 20 5c 28 2a | 2a 5c 66 32 6f 72 69 67 |NDOW \(*|*\f2orig|
|00002fe0| 5c 66 50 2c 20 69 6e 74 | 20 5c 66 32 6e 6c 69 6e |\fP, int| \f2nlin|
|00002ff0| 65 73 5c 66 50 2c 20 69 | 6e 74 20 5c 66 32 6e 63 |es\fP, i|nt \f2nc|
|00003000| 6f 6c 73 5c 66 50 2c 20 | 69 6e 74 20 5c 66 32 62 |ols\fP, |int \f2b|
|00003010| 65 67 69 6e 5f 79 5c 66 | 50 2c 0a 09 69 6e 74 20 |egin_y\f|P,..int |
|00003020| 5c 66 32 62 65 67 69 6e | 5f 78 5c 66 50 29 3b 0a |\f2begin|_x\fP);.|
|00003030| 57 49 4e 44 4f 57 20 5c | 28 2a 2a 64 65 72 77 69 |WINDOW \|(**derwi|
|00003040| 6e 28 57 49 4e 44 4f 57 | 20 5c 28 2a 2a 5c 66 32 |n(WINDOW| \(**\f2|
|00003050| 6f 72 69 67 5c 66 50 2c | 20 69 6e 74 20 5c 66 32 |orig\fP,| int \f2|
|00003060| 6e 6c 69 6e 65 73 5c 66 | 50 2c 20 69 6e 74 20 5c |nlines\f|P, int \|
|00003070| 66 32 6e 63 6f 6c 73 5c | 66 50 2c 20 69 6e 74 20 |f2ncols\|fP, int |
|00003080| 5c 66 32 62 65 67 69 6e | 5f 79 5c 66 50 2c 0a 09 |\f2begin|_y\fP,..|
|00003090| 69 6e 74 20 5c 66 32 62 | 65 67 69 6e 5f 78 5c 66 |int \f2b|egin_x\f|
|000030a0| 50 29 3b 0a 69 6e 74 20 | 6d 76 64 65 72 77 69 6e |P);.int |mvderwin|
|000030b0| 28 57 49 4e 44 4f 57 20 | 5c 28 2a 2a 5c 66 32 77 |(WINDOW |\(**\f2w|
|000030c0| 69 6e 5c 66 50 2c 20 69 | 6e 74 20 5c 66 32 70 61 |in\fP, i|nt \f2pa|
|000030d0| 72 5f 79 5c 66 50 2c 20 | 69 6e 74 20 5c 66 32 70 |r_y\fP, |int \f2p|
|000030e0| 61 72 5f 78 5c 66 50 29 | 3b 0a 57 49 4e 44 4f 57 |ar_x\fP)|;.WINDOW|
|000030f0| 20 5c 28 2a 2a 64 75 70 | 77 69 6e 28 57 49 4e 44 | \(**dup|win(WIND|
|00003100| 4f 57 20 5c 28 2a 2a 5c | 66 32 77 69 6e 5c 66 50 |OW \(**\|f2win\fP|
|00003110| 29 3b 0a 76 6f 69 64 20 | 77 73 79 6e 63 75 70 28 |);.void |wsyncup(|
|00003120| 57 49 4e 44 4f 57 20 5c | 28 2a 2a 5c 66 32 77 69 |WINDOW \|(**\f2wi|
|00003130| 6e 5c 66 50 29 3b 0a 69 | 6e 74 20 73 79 6e 63 6f |n\fP);.i|nt synco|
|00003140| 6b 28 57 49 4e 44 4f 57 | 20 5c 28 2a 2a 5c 66 32 |k(WINDOW| \(**\f2|
|00003150| 77 69 6e 5c 66 50 2c 20 | 62 6f 6f 6c 20 5c 66 32 |win\fP, |bool \f2|
|00003160| 62 66 5c 66 50 29 3b 0a | 76 6f 69 64 20 77 63 75 |bf\fP);.|void wcu|
|00003170| 72 73 79 6e 63 75 70 28 | 57 49 4e 44 4f 57 20 5c |rsyncup(|WINDOW \|
|00003180| 28 2a 2a 5c 66 32 77 69 | 6e 5c 66 50 29 3b 0a 76 |(**\f2wi|n\fP);.v|
|00003190| 6f 69 64 20 77 73 79 6e | 63 64 6f 77 6e 28 57 49 |oid wsyn|cdown(WI|
|000031a0| 4e 44 4f 57 20 5c 28 2a | 2a 5c 66 32 77 69 6e 5c |NDOW \(*|*\f2win\|
|000031b0| 66 50 29 3b 0a 2e 66 74 | 20 31 0a 2e 66 69 0a 2e |fP);..ft| 1..fi..|
|000031c0| 53 48 20 44 45 53 43 52 | 49 50 54 49 4f 4e 0a 54 |SH DESCR|IPTION.T|
|000031d0| 68 65 20 5c 66 34 6e 65 | 77 77 69 6e 5c 66 50 20 |he \f4ne|wwin\fP |
|000031e0| 72 6f 75 74 69 6e 65 20 | 63 72 65 61 74 65 73 20 |routine |creates |
|000031f0| 61 6e 64 20 72 65 74 75 | 72 6e 73 20 61 20 70 6f |and retu|rns a po|
|00003200| 69 6e 74 65 72 20 74 6f | 20 61 20 6e 65 77 0a 77 |inter to| a new.w|
|00003210| 69 6e 64 6f 77 20 77 69 | 74 68 20 74 68 65 20 67 |indow wi|th the g|
|00003220| 69 76 65 6e 20 6e 75 6d | 62 65 72 20 6f 66 20 6c |iven num|ber of l|
|00003230| 69 6e 65 73 2c 20 5c 66 | 32 6e 6c 69 6e 65 73 5c |ines, \f|2nlines\|
|00003240| 66 50 2c 0a 61 6e 64 20 | 63 6f 6c 75 6d 6e 73 2c |fP,.and |columns,|
|00003250| 20 5c 66 32 6e 63 6f 6c | 73 5c 66 50 2e 0a 54 68 | \f2ncol|s\fP..Th|
|00003260| 65 20 75 70 70 65 72 20 | 6c 65 66 74 2d 68 61 6e |e upper |left-han|
|00003270| 64 20 63 6f 72 6e 65 72 | 20 6f 66 20 74 68 65 20 |d corner| of the |
|00003280| 77 69 6e 64 6f 77 20 69 | 73 20 61 74 20 6c 69 6e |window i|s at lin|
|00003290| 65 20 5c 66 32 62 65 67 | 69 6e 5f 79 5c 66 50 2c |e \f2beg|in_y\fP,|
|000032a0| 0a 63 6f 6c 75 6d 6e 20 | 5c 66 32 62 65 67 69 6e |.column |\f2begin|
|000032b0| 5f 78 5c 66 50 2e 0a 49 | 66 20 65 69 74 68 65 72 |_x\fP..I|f either|
|000032c0| 20 5c 66 32 6e 6c 69 6e | 65 73 5c 66 50 20 6f 72 | \f2nlin|es\fP or|
|000032d0| 20 5c 66 32 6e 63 6f 6c | 73 5c 66 50 20 69 73 20 | \f2ncol|s\fP is |
|000032e0| 7a 65 72 6f 2c 0a 74 68 | 65 79 20 64 65 66 61 75 |zero,.th|ey defau|
|000032f0| 6c 74 20 74 6f 20 5c 66 | 34 4c 49 4e 45 53 20 5c |lt to \f|4LINES \|
|00003300| 28 65 6d 20 5c 66 32 62 | 65 67 69 6e 5f 79 5c 66 |(em \f2b|egin_y\f|
|00003310| 50 20 61 6e 64 20 5c 66 | 34 43 4f 4c 53 20 5c 28 |P and \f|4COLS \(|
|00003320| 65 6d 20 5c 66 32 62 65 | 67 69 6e 5f 78 5c 66 50 |em \f2be|gin_x\fP|
|00003330| 2e 0a 41 20 6e 65 77 20 | 66 75 6c 6c 2d 73 63 72 |..A new |full-scr|
|00003340| 65 65 6e 20 77 69 6e 64 | 6f 77 20 69 73 20 63 72 |een wind|ow is cr|
|00003350| 65 61 74 65 64 20 62 79 | 20 63 61 6c 6c 69 6e 67 |eated by| calling|
|00003360| 20 5c 66 34 6e 65 77 77 | 69 6e 28 30 2c 30 2c 30 | \f4neww|in(0,0,0|
|00003370| 2c 30 29 5c 66 50 2e 0a | 2e 50 0a 54 68 65 20 5c |,0)\fP..|.P.The \|
|00003380| 66 34 64 65 6c 77 69 6e | 5c 66 50 20 72 6f 75 74 |f4delwin|\fP rout|
|00003390| 69 6e 65 0a 64 65 6c 65 | 74 65 73 20 74 68 65 20 |ine.dele|tes the |
|000033a0| 6e 61 6d 65 64 20 77 69 | 6e 64 6f 77 2c 20 66 72 |named wi|ndow, fr|
|000033b0| 65 65 69 6e 67 20 61 6c | 6c 20 6d 65 6d 6f 72 79 |eeing al|l memory|
|000033c0| 20 61 73 73 6f 63 69 61 | 74 65 64 20 77 69 74 68 | associa|ted with|
|000033d0| 20 69 74 2e 0a 53 75 62 | 77 69 6e 64 6f 77 73 20 | it..Sub|windows |
|000033e0| 6d 75 73 74 20 62 65 20 | 64 65 6c 65 74 65 64 20 |must be |deleted |
|000033f0| 62 65 66 6f 72 65 20 74 | 68 65 20 6d 61 69 6e 20 |before t|he main |
|00003400| 77 69 6e 64 6f 77 20 63 | 61 6e 20 62 65 20 64 65 |window c|an be de|
|00003410| 6c 65 74 65 64 2e 0a 2e | 50 0a 54 68 65 20 5c 66 |leted...|P.The \f|
|00003420| 34 6d 76 77 69 6e 5c 66 | 50 20 72 6f 75 74 69 6e |4mvwin\f|P routin|
|00003430| 65 20 6d 6f 76 65 73 20 | 74 68 65 20 77 69 6e 64 |e moves |the wind|
|00003440| 6f 77 20 73 6f 20 74 68 | 61 74 20 74 68 65 20 75 |ow so th|at the u|
|00003450| 70 70 65 72 20 6c 65 66 | 74 2d 68 61 6e 64 0a 63 |pper lef|t-hand.c|
|00003460| 6f 72 6e 65 72 20 69 73 | 20 61 74 20 70 6f 73 69 |orner is| at posi|
|00003470| 74 69 6f 6e 20 28 5c 66 | 32 78 5c 66 50 2c 20 5c |tion (\f|2x\fP, \|
|00003480| 66 32 79 5c 66 50 29 2e | 0a 49 66 20 74 68 65 20 |f2y\fP).|.If the |
|00003490| 6d 6f 76 65 20 77 6f 75 | 6c 64 20 63 61 75 73 65 |move wou|ld cause|
|000034a0| 20 74 68 65 20 77 69 6e | 64 6f 77 20 74 6f 20 62 | the win|dow to b|
|000034b0| 65 20 6f 66 66 20 74 68 | 65 20 73 63 72 65 65 6e |e off th|e screen|
|000034c0| 2c 0a 69 74 20 69 73 20 | 61 6e 20 65 72 72 6f 72 |,.it is |an error|
|000034d0| 20 61 6e 64 20 74 68 65 | 20 77 69 6e 64 6f 77 20 | and the| window |
|000034e0| 69 73 20 6e 6f 74 20 6d | 6f 76 65 64 2e 0a 4d 6f |is not m|oved..Mo|
|000034f0| 76 69 6e 67 20 73 75 62 | 77 69 6e 64 6f 77 73 20 |ving sub|windows |
|00003500| 69 73 20 61 6c 6c 6f 77 | 65 64 2c 20 62 75 74 20 |is allow|ed, but |
|00003510| 73 68 6f 75 6c 64 20 62 | 65 20 61 76 6f 69 64 65 |should b|e avoide|
|00003520| 64 2e 0a 2e 50 0a 54 68 | 65 20 5c 66 34 73 75 62 |d...P.Th|e \f4sub|
|00003530| 77 69 6e 5c 66 50 20 72 | 6f 75 74 69 6e 65 20 63 |win\fP r|outine c|
|00003540| 72 65 61 74 65 73 20 61 | 6e 64 20 72 65 74 75 72 |reates a|nd retur|
|00003550| 6e 73 20 61 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |ns a poi|nter to |
|00003560| 61 0a 6e 65 77 20 77 69 | 6e 64 6f 77 20 77 69 74 |a.new wi|ndow wit|
|00003570| 68 20 74 68 65 20 67 69 | 76 65 6e 20 6e 75 6d 62 |h the gi|ven numb|
|00003580| 65 72 20 6f 66 20 6c 69 | 6e 65 73 2c 20 5c 66 32 |er of li|nes, \f2|
|00003590| 6e 6c 69 6e 65 73 5c 66 | 50 2c 20 61 6e 64 20 63 |nlines\f|P, and c|
|000035a0| 6f 6c 75 6d 6e 73 2c 0a | 5c 66 32 6e 63 6f 6c 73 |olumns,.|\f2ncols|
|000035b0| 5c 66 50 2e 0a 54 68 65 | 20 77 69 6e 64 6f 77 20 |\fP..The| window |
|000035c0| 69 73 20 61 74 20 70 6f | 73 69 74 69 6f 6e 20 28 |is at po|sition (|
|000035d0| 5c 66 32 62 65 67 69 6e | 5f 79 5c 66 50 2c 20 5c |\f2begin|_y\fP, \|
|000035e0| 66 32 62 65 67 69 6e 5f | 78 5c 66 50 29 20 6f 6e |f2begin_|x\fP) on|
|000035f0| 20 74 68 65 20 73 63 72 | 65 65 6e 2e 0a 28 54 68 | the scr|een..(Th|
|00003600| 69 73 20 70 6f 73 69 74 | 69 6f 6e 20 69 73 20 72 |is posit|ion is r|
|00003610| 65 6c 61 74 69 76 65 20 | 74 6f 20 74 68 65 20 73 |elative |to the s|
|00003620| 63 72 65 65 6e 2c 0a 61 | 6e 64 20 6e 6f 74 20 74 |creen,.a|nd not t|
|00003630| 6f 20 74 68 65 20 77 69 | 6e 64 6f 77 20 5c 66 32 |o the wi|ndow \f2|
|00003640| 6f 72 69 67 5c 66 50 2e | 29 0a 54 68 65 20 77 69 |orig\fP.|).The wi|
|00003650| 6e 64 6f 77 20 69 73 20 | 6d 61 64 65 20 69 6e 20 |ndow is |made in |
|00003660| 74 68 65 20 6d 69 64 64 | 6c 65 20 6f 66 20 74 68 |the midd|le of th|
|00003670| 65 20 77 69 6e 64 6f 77 | 20 5c 66 32 6f 72 69 67 |e window| \f2orig|
|00003680| 5c 66 50 2c 0a 73 6f 20 | 74 68 61 74 20 63 68 61 |\fP,.so |that cha|
|00003690| 6e 67 65 73 20 6d 61 64 | 65 20 74 6f 20 6f 6e 65 |nges mad|e to one|
|000036a0| 20 77 69 6e 64 6f 77 20 | 77 69 6c 6c 20 61 66 66 | window |will aff|
|000036b0| 65 63 74 20 62 6f 74 68 | 20 77 69 6e 64 6f 77 73 |ect both| windows|
|000036c0| 2e 0a 54 68 65 20 73 75 | 62 77 69 6e 64 6f 77 20 |..The su|bwindow |
|000036d0| 73 68 61 72 65 73 20 6d | 65 6d 6f 72 79 20 77 69 |shares m|emory wi|
|000036e0| 74 68 20 74 68 65 20 77 | 69 6e 64 6f 77 20 5c 66 |th the w|indow \f|
|000036f0| 32 6f 72 69 67 5c 66 50 | 2e 0a 57 68 65 6e 20 75 |2orig\fP|..When u|
|00003700| 73 69 6e 67 20 74 68 69 | 73 20 72 6f 75 74 69 6e |sing thi|s routin|
|00003710| 65 2c 0a 69 74 20 69 73 | 20 6e 65 63 65 73 73 61 |e,.it is| necessa|
|00003720| 72 79 20 74 6f 20 63 61 | 6c 6c 20 5c 66 34 74 6f |ry to ca|ll \f4to|
|00003730| 75 63 68 77 69 6e 5c 66 | 50 20 6f 72 20 5c 66 34 |uchwin\f|P or \f4|
|00003740| 74 6f 75 63 68 6c 69 6e | 65 5c 66 50 0a 6f 6e 20 |touchlin|e\fP.on |
|00003750| 5c 66 32 6f 72 69 67 5c | 66 50 20 62 65 66 6f 72 |\f2orig\|fP befor|
|00003760| 65 20 63 61 6c 6c 69 6e | 67 20 5c 66 34 77 72 65 |e callin|g \f4wre|
|00003770| 66 72 65 73 68 5c 66 50 | 20 6f 6e 20 74 68 65 20 |fresh\fP| on the |
|00003780| 73 75 62 77 69 6e 64 6f | 77 2e 0a 2e 50 0a 54 68 |subwindo|w...P.Th|
|00003790| 65 20 5c 66 34 64 65 72 | 77 69 6e 5c 66 50 20 72 |e \f4der|win\fP r|
|000037a0| 6f 75 74 69 6e 65 20 69 | 73 20 74 68 65 0a 73 61 |outine i|s the.sa|
|000037b0| 6d 65 20 61 73 20 5c 66 | 34 73 75 62 77 69 6e 2c |me as \f|4subwin,|
|000037c0| 5c 66 50 20 65 78 63 65 | 70 74 20 74 68 61 74 20 |\fP exce|pt that |
|000037d0| 5c 66 32 62 65 67 69 6e | 5f 79 5c 66 50 20 61 6e |\f2begin|_y\fP an|
|000037e0| 64 20 5c 66 32 62 65 67 | 69 6e 5f 78 5c 66 50 0a |d \f2beg|in_x\fP.|
|000037f0| 61 72 65 20 72 65 6c 61 | 74 69 76 65 20 74 6f 20 |are rela|tive to |
|00003800| 74 68 65 20 6f 72 69 67 | 69 6e 20 6f 66 20 74 68 |the orig|in of th|
|00003810| 65 20 77 69 6e 64 6f 77 | 20 5c 66 32 6f 72 69 67 |e window| \f2orig|
|00003820| 5c 66 50 20 72 61 74 68 | 65 72 20 74 68 61 6e 20 |\fP rath|er than |
|00003830| 74 68 65 0a 73 63 72 65 | 65 6e 2e 0a 54 68 65 72 |the.scre|en..Ther|
|00003840| 65 20 69 73 20 6e 6f 20 | 64 69 66 66 65 72 65 6e |e is no |differen|
|00003850| 63 65 20 62 65 74 77 65 | 65 6e 20 74 68 65 20 73 |ce betwe|en the s|
|00003860| 75 62 77 69 6e 64 6f 77 | 73 20 61 6e 64 20 74 68 |ubwindow|s and th|
|00003870| 65 20 64 65 72 69 76 65 | 64 0a 77 69 6e 64 6f 77 |e derive|d.window|
|00003880| 73 2e 0a 2e 50 0a 54 68 | 65 20 5c 66 34 6d 76 64 |s...P.Th|e \f4mvd|
|00003890| 65 72 77 69 6e 5c 66 50 | 20 72 6f 75 74 69 6e 65 |erwin\fP| routine|
|000038a0| 20 6d 6f 76 65 73 20 61 | 20 64 65 72 69 76 65 64 | moves a| derived|
|000038b0| 20 77 69 6e 64 6f 77 20 | 28 6f 72 20 73 75 62 77 | window |(or subw|
|000038c0| 69 6e 64 6f 77 29 0a 69 | 6e 73 69 64 65 20 69 74 |indow).i|nside it|
|000038d0| 73 20 70 61 72 65 6e 74 | 20 77 69 6e 64 6f 77 2e |s parent| window.|
|000038e0| 0a 54 68 65 20 73 63 72 | 65 65 6e 2d 72 65 6c 61 |.The scr|een-rela|
|000038f0| 74 69 76 65 20 70 61 72 | 61 6d 65 74 65 72 73 20 |tive par|ameters |
|00003900| 6f 66 20 74 68 65 20 77 | 69 6e 64 6f 77 20 61 72 |of the w|indow ar|
|00003910| 65 20 6e 6f 74 20 63 68 | 61 6e 67 65 64 2e 0a 54 |e not ch|anged..T|
|00003920| 68 69 73 20 72 6f 75 74 | 69 6e 65 20 69 73 20 75 |his rout|ine is u|
|00003930| 73 65 64 20 74 6f 20 64 | 69 73 70 6c 61 79 20 64 |sed to d|isplay d|
|00003940| 69 66 66 65 72 65 6e 74 | 20 70 61 72 74 73 20 6f |ifferent| parts o|
|00003950| 66 20 74 68 65 20 70 61 | 72 65 6e 74 0a 77 69 6e |f the pa|rent.win|
|00003960| 64 6f 77 20 61 74 20 74 | 68 65 20 73 61 6d 65 20 |dow at t|he same |
|00003970| 70 68 79 73 69 63 61 6c | 20 70 6f 73 69 74 69 6f |physical| positio|
|00003980| 6e 20 6f 6e 20 74 68 65 | 20 73 63 72 65 65 6e 2e |n on the| screen.|
|00003990| 0a 2e 50 0a 54 68 65 20 | 5c 66 34 64 75 70 77 69 |..P.The |\f4dupwi|
|000039a0| 6e 5c 66 50 20 72 6f 75 | 74 69 6e 65 20 63 72 65 |n\fP rou|tine cre|
|000039b0| 61 74 65 73 20 61 6e 20 | 65 78 61 63 74 20 64 75 |ates an |exact du|
|000039c0| 70 6c 69 63 61 74 65 20 | 6f 66 20 74 68 65 0a 77 |plicate |of the.w|
|000039d0| 69 6e 64 6f 77 20 5c 66 | 32 77 69 6e 5c 66 50 2e |indow \f|2win\fP.|
|000039e0| 0a 2e 50 0a 45 61 63 68 | 20 5c 66 34 63 75 72 73 |..P.Each| \f4curs|
|000039f0| 65 73 5c 66 50 20 77 69 | 6e 64 6f 77 20 6d 61 69 |es\fP wi|ndow mai|
|00003a00| 6e 74 61 69 6e 73 20 74 | 77 6f 20 64 61 74 61 20 |ntains t|wo data |
|00003a10| 73 74 72 75 63 74 75 72 | 65 73 3a 20 74 68 65 0a |structur|es: the.|
|00003a20| 63 68 61 72 61 63 74 65 | 72 20 69 6d 61 67 65 20 |characte|r image |
|00003a30| 73 74 72 75 63 74 75 72 | 65 20 61 6e 64 20 74 68 |structur|e and th|
|00003a40| 65 20 73 74 61 74 75 73 | 20 73 74 72 75 63 74 75 |e status| structu|
|00003a50| 72 65 2e 0a 54 68 65 20 | 63 68 61 72 61 63 74 65 |re..The |characte|
|00003a60| 72 0a 69 6d 61 67 65 20 | 73 74 72 75 63 74 75 72 |r.image |structur|
|00003a70| 65 20 69 73 20 73 68 61 | 72 65 64 20 61 6d 6f 6e |e is sha|red amon|
|00003a80| 67 20 61 6c 6c 20 77 69 | 6e 64 6f 77 73 20 69 6e |g all wi|ndows in|
|00003a90| 20 74 68 65 20 77 69 6e | 64 6f 77 20 68 69 65 72 | the win|dow hier|
|00003aa0| 61 72 63 68 79 0a 28 74 | 68 61 74 20 69 73 2c 20 |archy.(t|hat is, |
|00003ab0| 74 68 65 20 77 69 6e 64 | 6f 77 20 77 69 74 68 20 |the wind|ow with |
|00003ac0| 61 6c 6c 20 73 75 62 77 | 69 6e 64 6f 77 73 29 2e |all subw|indows).|
|00003ad0| 0a 54 68 65 20 73 74 61 | 74 75 73 20 73 74 72 75 |.The sta|tus stru|
|00003ae0| 63 74 75 72 65 2c 20 77 | 68 69 63 68 20 63 6f 6e |cture, w|hich con|
|00003af0| 74 61 69 6e 73 0a 69 6e | 66 6f 72 6d 61 74 69 6f |tains.in|formatio|
|00003b00| 6e 20 61 62 6f 75 74 20 | 69 6e 64 69 76 69 64 75 |n about |individu|
|00003b10| 61 6c 20 6c 69 6e 65 20 | 63 68 61 6e 67 65 73 20 |al line |changes |
|00003b20| 69 6e 20 74 68 65 20 77 | 69 6e 64 6f 77 2c 20 69 |in the w|indow, i|
|00003b30| 73 20 70 72 69 76 61 74 | 65 0a 74 6f 20 65 61 63 |s privat|e.to eac|
|00003b40| 68 20 77 69 6e 64 6f 77 | 2e 0a 54 68 65 20 72 6f |h window|..The ro|
|00003b50| 75 74 69 6e 65 0a 5c 66 | 34 77 72 65 66 72 65 73 |utine.\f|4wrefres|
|00003b60| 68 5c 66 50 20 75 73 65 | 73 20 74 68 65 20 73 74 |h\fP use|s the st|
|00003b70| 61 74 75 73 20 64 61 74 | 61 20 73 74 72 75 63 74 |atus dat|a struct|
|00003b80| 75 72 65 0a 77 68 65 6e | 20 70 65 72 66 6f 72 6d |ure.when| perform|
|00003b90| 69 6e 67 20 73 63 72 65 | 65 6e 20 75 70 64 61 74 |ing scre|en updat|
|00003ba0| 69 6e 67 2e 0a 53 69 6e | 63 65 20 73 74 61 74 75 |ing..Sin|ce statu|
|00003bb0| 73 20 73 74 72 75 63 74 | 75 72 65 73 20 61 72 65 |s struct|ures are|
|00003bc0| 20 6e 6f 74 0a 73 68 61 | 72 65 64 2c 20 63 68 61 | not.sha|red, cha|
|00003bd0| 6e 67 65 73 20 6d 61 64 | 65 20 74 6f 20 6f 6e 65 |nges mad|e to one|
|00003be0| 20 77 69 6e 64 6f 77 20 | 69 6e 20 74 68 65 20 68 | window |in the h|
|00003bf0| 69 65 72 61 72 63 68 79 | 20 6d 61 79 20 6e 6f 74 |ierarchy| may not|
|00003c00| 20 62 65 0a 70 72 6f 70 | 65 72 6c 79 20 72 65 66 | be.prop|erly ref|
|00003c10| 6c 65 63 74 65 64 20 6f | 6e 20 74 68 65 20 73 63 |lected o|n the sc|
|00003c20| 72 65 65 6e 2e 0a 2e 50 | 0a 54 68 65 20 72 6f 75 |reen...P|.The rou|
|00003c30| 74 69 6e 65 0a 5c 66 34 | 77 73 79 6e 63 75 70 5c |tine.\f4|wsyncup\|
|00003c40| 66 50 20 63 61 75 73 65 | 73 20 74 68 65 20 63 68 |fP cause|s the ch|
|00003c50| 61 6e 67 65 73 20 69 6e | 20 74 68 65 20 73 74 61 |anges in| the sta|
|00003c60| 74 75 73 20 73 74 72 75 | 63 74 75 72 65 20 6f 66 |tus stru|cture of|
|00003c70| 20 61 0a 77 69 6e 64 6f | 77 20 74 6f 20 62 65 20 | a.windo|w to be |
|00003c80| 72 65 66 6c 65 63 74 65 | 64 20 69 6e 20 74 68 65 |reflecte|d in the|
|00003c90| 20 73 74 61 74 75 73 20 | 73 74 72 75 63 74 75 72 | status |structur|
|00003ca0| 65 73 20 6f 66 20 69 74 | 73 20 61 6e 63 65 73 74 |es of it|s ancest|
|00003cb0| 6f 72 73 2e 0a 49 66 20 | 5c 66 34 73 79 6e 63 6f |ors..If |\f4synco|
|00003cc0| 6b 5c 66 50 20 69 73 20 | 63 61 6c 6c 65 64 20 77 |k\fP is |called w|
|00003cd0| 69 74 68 20 73 65 63 6f | 6e 64 20 61 72 67 75 6d |ith seco|nd argum|
|00003ce0| 65 6e 74 20 5c 66 34 54 | 52 55 45 5c 66 50 0a 74 |ent \f4T|RUE\fP.t|
|00003cf0| 68 65 6e 20 5c 66 34 77 | 73 79 6e 63 75 70 5c 66 |hen \f4w|syncup\f|
|00003d00| 50 20 69 73 20 63 61 6c | 6c 65 64 20 61 75 74 6f |P is cal|led auto|
|00003d10| 6d 61 74 69 63 61 6c 6c | 79 20 77 68 65 6e 65 76 |maticall|y whenev|
|00003d20| 65 72 0a 74 68 65 72 65 | 20 69 73 20 61 20 63 68 |er.there| is a ch|
|00003d30| 61 6e 67 65 20 69 6e 20 | 74 68 65 20 77 69 6e 64 |ange in |the wind|
|00003d40| 6f 77 2e 0a 2e 50 0a 54 | 68 65 20 72 6f 75 74 69 |ow...P.T|he routi|
|00003d50| 6e 65 0a 5c 66 34 77 63 | 75 72 73 79 6e 63 75 70 |ne.\f4wc|ursyncup|
|00003d60| 5c 66 50 20 75 70 64 61 | 74 65 73 20 74 68 65 20 |\fP upda|tes the |
|00003d70| 63 75 72 72 65 6e 74 20 | 63 75 72 73 6f 72 20 70 |current |cursor p|
|00003d80| 6f 73 69 74 69 6f 6e 20 | 6f 66 20 61 6c 6c 20 74 |osition |of all t|
|00003d90| 68 65 0a 61 6e 63 65 73 | 74 6f 72 73 20 6f 66 20 |he.ances|tors of |
|00003da0| 74 68 65 20 77 69 6e 64 | 6f 77 20 74 6f 20 72 65 |the wind|ow to re|
|00003db0| 66 6c 65 63 74 20 74 68 | 65 20 63 75 72 72 65 6e |flect th|e curren|
|00003dc0| 74 20 63 75 72 73 6f 72 | 20 70 6f 73 69 74 69 6f |t cursor| positio|
|00003dd0| 6e 20 6f 66 20 74 68 65 | 20 77 69 6e 64 6f 77 2e |n of the| window.|
|00003de0| 0a 2e 50 0a 54 68 65 20 | 72 6f 75 74 69 6e 65 0a |..P.The |routine.|
|00003df0| 5c 66 34 77 73 79 6e 63 | 64 6f 77 6e 5c 66 50 20 |\f4wsync|down\fP |
|00003e00| 75 70 64 61 74 65 73 20 | 74 68 65 20 73 74 61 74 |updates |the stat|
|00003e10| 75 73 20 73 74 72 75 63 | 74 75 72 65 20 6f 66 20 |us struc|ture of |
|00003e20| 74 68 65 20 77 69 6e 64 | 6f 77 20 74 6f 0a 72 65 |the wind|ow to.re|
|00003e30| 66 6c 65 63 74 20 74 68 | 65 20 63 68 61 6e 67 65 |flect th|e change|
|00003e40| 73 20 69 6e 20 74 68 65 | 20 73 74 61 74 75 73 20 |s in the| status |
|00003e50| 73 74 72 75 63 74 75 72 | 65 73 20 6f 66 20 69 74 |structur|es of it|
|00003e60| 73 20 61 6e 63 65 73 74 | 6f 72 73 2e 0a 41 70 70 |s ancest|ors..App|
|00003e70| 6c 69 63 61 74 69 6f 6e | 73 20 73 65 6c 64 6f 6d |lication|s seldom|
|00003e80| 20 63 61 6c 6c 20 74 68 | 69 73 20 5c 25 72 6f 75 | call th|is \%rou|
|00003e90| 74 69 6e 65 20 62 65 63 | 61 75 73 65 20 69 74 20 |tine bec|ause it |
|00003ea0| 69 73 20 63 61 6c 6c 65 | 64 0a 61 75 74 6f 6d 61 |is calle|d.automa|
|00003eb0| 74 69 63 61 6c 6c 79 20 | 62 79 20 5c 66 34 77 72 |tically |by \f4wr|
|00003ec0| 65 66 72 65 73 68 5c 66 | 50 2e 0a 2e 53 48 20 52 |efresh\f|P...SH R|
|00003ed0| 45 54 55 52 4e 20 56 41 | 4c 55 45 0a 52 6f 75 74 |ETURN VA|LUE.Rout|
|00003ee0| 69 6e 65 73 20 74 68 61 | 74 20 72 65 74 75 72 6e |ines tha|t return|
|00003ef0| 20 61 6e 20 69 6e 74 65 | 67 65 72 20 72 65 74 75 | an inte|ger retu|
|00003f00| 72 6e 20 74 68 65 20 69 | 6e 74 65 67 65 72 20 5c |rn the i|nteger \|
|00003f10| 66 34 45 52 52 5c 66 50 | 20 75 70 6f 6e 0a 66 61 |f4ERR\fP| upon.fa|
|00003f20| 69 6c 75 72 65 20 61 6e | 64 20 61 6e 20 69 6e 74 |ilure an|d an int|
|00003f30| 65 67 65 72 20 76 61 6c | 75 65 20 6f 74 68 65 72 |eger val|ue other|
|00003f40| 20 74 68 61 6e 20 5c 66 | 34 45 52 52 5c 66 50 0a | than \f|4ERR\fP.|
|00003f50| 75 70 6f 6e 20 73 75 63 | 63 65 73 73 66 75 6c 20 |upon suc|cessful |
|00003f60| 63 6f 6d 70 6c 65 74 69 | 6f 6e 2e 0a 2e 50 0a 5c |completi|on...P.\|
|00003f70| 66 34 64 65 6c 77 69 6e | 5c 66 50 20 72 65 74 75 |f4delwin|\fP retu|
|00003f80| 72 6e 73 20 74 68 65 20 | 69 6e 74 65 67 65 72 20 |rns the |integer |
|00003f90| 5c 66 34 45 52 52 5c 66 | 50 20 75 70 6f 6e 0a 66 |\f4ERR\f|P upon.f|
|00003fa0| 61 69 6c 75 72 65 20 61 | 6e 64 20 5c 66 34 4f 4b |ailure a|nd \f4OK|
|00003fb0| 5c 66 50 20 75 70 6f 6e | 20 73 75 63 63 65 73 73 |\fP upon| success|
|00003fc0| 66 75 6c 20 63 6f 6d 70 | 6c 65 74 69 6f 6e 2e 0a |ful comp|letion..|
|00003fd0| 2e 50 0a 52 6f 75 74 69 | 6e 65 73 20 74 68 61 74 |.P.Routi|nes that|
|00003fe0| 20 72 65 74 75 72 6e 20 | 70 6f 69 6e 74 65 72 73 | return |pointers|
|00003ff0| 20 72 65 74 75 72 6e 20 | 5c 66 34 4e 55 4c 4c 5c | return |\f4NULL\|
|00004000| 66 50 20 6f 6e 20 65 72 | 72 6f 72 2e 0a 2e 53 48 |fP on er|ror...SH|
|00004010| 20 4e 4f 54 45 53 0a 54 | 68 65 20 68 65 61 64 65 | NOTES.T|he heade|
|00004020| 72 20 66 69 6c 65 20 5c | 66 34 63 75 72 73 65 73 |r file \|f4curses|
|00004030| 2e 68 5c 66 50 20 61 75 | 74 6f 6d 61 74 69 63 61 |.h\fP au|tomatica|
|00004040| 6c 6c 79 20 69 6e 63 6c | 75 64 65 73 20 74 68 65 |lly incl|udes the|
|00004050| 20 68 65 61 64 65 72 20 | 66 69 6c 65 73 0a 5c 66 | header |files.\f|
|00004060| 34 73 74 64 69 6f 2e 68 | 5c 66 50 20 61 6e 64 20 |4stdio.h|\fP and |
|00004070| 5c 66 34 75 6e 63 74 72 | 6c 2e 68 5c 66 50 2e 0a |\f4unctr|l.h\fP..|
|00004080| 2e 50 0a 49 66 20 6d 61 | 6e 79 20 73 6d 61 6c 6c |.P.If ma|ny small|
|00004090| 20 63 68 61 6e 67 65 73 | 20 61 72 65 20 6d 61 64 | changes| are mad|
|000040a0| 65 20 74 6f 20 74 68 65 | 20 77 69 6e 64 6f 77 2c |e to the| window,|
|000040b0| 0a 74 68 65 20 5c 66 34 | 77 73 79 6e 63 75 70 5c |.the \f4|wsyncup\|
|000040c0| 66 50 20 6f 70 74 69 6f | 6e 20 63 6f 75 6c 64 20 |fP optio|n could |
|000040d0| 64 65 67 72 61 64 65 20 | 70 65 72 66 6f 72 6d 61 |degrade |performa|
|000040e0| 6e 63 65 2e 0a 2e 50 0a | 4e 6f 74 65 20 74 68 61 |nce...P.|Note tha|
|000040f0| 74 20 5c 66 34 73 79 6e | 63 6f 6b 5c 66 50 20 6d |t \f4syn|cok\fP m|
|00004100| 61 79 20 62 65 20 61 20 | 6d 61 63 72 6f 2e 0a 2e |ay be a |macro...|
|00004110| 53 48 20 53 45 45 20 41 | 4c 53 4f 0a 2e 6e 61 0a |SH SEE A|LSO..na.|
|00004120| 5c 66 34 63 75 72 73 65 | 73 5c 66 50 28 33 63 75 |\f4curse|s\fP(3cu|
|00004130| 72 73 65 73 29 2c 0a 5c | 66 34 63 75 72 73 5f 72 |rses),.\|f4curs_r|
|00004140| 65 66 72 65 73 68 5c 66 | 50 28 33 63 75 72 73 65 |efresh\f|P(3curse|
|00004150| 73 29 2c 0a 5c 66 34 63 | 75 72 73 5f 74 6f 75 63 |s),.\f4c|urs_touc|
|00004160| 68 5c 66 50 28 33 63 75 | 72 73 65 73 29 0a 2e 61 |h\fP(3cu|rses)..a|
|00004170| 64 0a 00 30 37 30 37 30 | 31 ff 30 04 31 38 32 34 |d..07070|1.0.1824|
|00004180| ff 30 04 38 31 61 34 ff | 30 0f 33 ff 30 07 31 32 |.0.81a4.|0.3.0.12|
|00004190| 61 38 61 37 62 64 34 ff | 30 05 34 30 64 ff 30 06 |a8a7bd4.|0.40d.0.|
|000041a0| 32 66 ff 30 07 31 ff 30 | 16 32 35 ff 30 08 72 6f |2f.0.1.0|.25.0.ro|
|000041b0| 6f 74 2e 31 31 2f 75 73 | 72 2f 73 68 61 72 65 2f |ot.11/us|r/share/|
|000041c0| 6d 61 6e 2f 6d 61 6e 33 | 2f 63 75 73 65 72 69 64 |man/man3|/cuserid|
|000041d0| 2e 33 00 00 2e 69 66 20 | 6e 20 2e 70 48 20 33 73 |.3...if |n .pH 3s|
|000041e0| 2f 67 65 6e 2f 63 75 73 | 65 72 69 64 20 40 28 23 |/gen/cus|erid @(#|
|000041f0| 29 63 75 73 65 72 69 64 | 09 34 33 2e 34 20 6f 66 |)cuserid|.43.4 of|
|00004200| 20 38 2f 33 2f 39 32 0a | 2e 5c 22 20 43 6f 70 79 | 8/3/92.|.\" Copy|
|00004210| 72 69 67 68 74 20 31 39 | 39 32 2c 20 31 39 39 31 |right 19|92, 1991|
|00004220| 20 55 4e 49 58 20 53 79 | 73 74 65 6d 20 4c 61 62 | UNIX Sy|stem Lab|
|00004230| 6f 72 61 74 6f 72 69 65 | 73 2c 20 49 6e 63 2e 0a |oratorie|s, Inc..|
|00004240| 2e 5c 22 20 43 6f 70 79 | 72 69 67 68 74 20 31 39 |.\" Copy|right 19|
|00004250| 39 30 2c 20 31 39 38 39 | 20 41 54 26 54 0a 2e 54 |90, 1989| AT&T..T|
|00004260| 48 20 63 75 73 65 72 69 | 64 20 33 53 0a 2e 53 48 |H cuseri|d 3S..SH|
|00004270| 20 4e 41 4d 45 0a 5c 66 | 34 63 75 73 65 72 69 64 | NAME.\f|4cuserid|
|00004280| 5c 66 31 20 5c 2d 20 67 | 65 74 20 63 68 61 72 61 |\f1 \- g|et chara|
|00004290| 63 74 65 72 20 6c 6f 67 | 69 6e 20 6e 61 6d 65 20 |cter log|in name |
|000042a0| 6f 66 20 74 68 65 20 75 | 73 65 72 0a 2e 53 48 20 |of the u|ser..SH |
|000042b0| 53 59 4e 4f 50 53 49 53 | 0a 5c 66 34 23 69 6e 63 |SYNOPSIS|.\f4#inc|
|000042c0| 6c 75 64 65 20 3c 73 74 | 64 69 6f 2e 68 3e 5c 66 |lude <st|dio.h>\f|
|000042d0| 31 0a 2e 50 50 0a 5c 66 | 34 63 68 61 72 20 5c 28 |1..PP.\f|4char \(|
|000042e0| 2a 2a 63 75 73 65 72 69 | 64 20 28 63 68 61 72 20 |**cuseri|d (char |
|000042f0| 5c 28 2a 2a 5c 66 32 73 | 5c 66 50 29 3b 5c 66 31 |\(**\f2s|\fP);\f1|
|00004300| 0a 2e 53 48 20 44 45 53 | 43 52 49 50 54 49 4f 4e |..SH DES|CRIPTION|
|00004310| 0a 5c 66 34 63 75 73 65 | 72 69 64 5c 66 50 0a 67 |.\f4cuse|rid\fP.g|
|00004320| 65 6e 65 72 61 74 65 73 | 20 61 20 63 68 61 72 61 |enerates| a chara|
|00004330| 63 74 65 72 2d 73 74 72 | 69 6e 67 20 72 65 70 72 |cter-str|ing repr|
|00004340| 65 73 65 6e 74 61 74 69 | 6f 6e 20 6f 66 20 74 68 |esentati|on of th|
|00004350| 65 20 6c 6f 67 69 6e 0a | 6e 61 6d 65 20 74 68 61 |e login.|name tha|
|00004360| 74 20 74 68 65 20 6f 77 | 6e 65 72 20 6f 66 20 74 |t the ow|ner of t|
|00004370| 68 65 20 63 75 72 72 65 | 6e 74 20 70 72 6f 63 65 |he curre|nt proce|
|00004380| 73 73 20 69 73 20 6c 6f | 67 67 65 64 20 69 6e 20 |ss is lo|gged in |
|00004390| 75 6e 64 65 72 2e 0a 49 | 66 0a 2e 49 20 73 5c 5e |under..I|f..I s\^|
|000043a0| 0a 69 73 20 61 0a 5c 66 | 34 4e 55 4c 4c 5c 66 50 |.is a.\f|4NULL\fP|
|000043b0| 0a 70 6f 69 6e 74 65 72 | 2c 20 74 68 69 73 20 72 |.pointer|, this r|
|000043c0| 65 70 72 65 73 65 6e 74 | 61 74 69 6f 6e 20 69 73 |epresent|ation is|
|000043d0| 20 67 65 6e 65 72 61 74 | 65 64 20 69 6e 20 61 6e | generat|ed in an|
|000043e0| 0a 69 6e 74 65 72 6e 61 | 6c 20 73 74 61 74 69 63 |.interna|l static|
|000043f0| 20 61 72 65 61 2c 20 74 | 68 65 20 61 64 64 72 65 | area, t|he addre|
|00004400| 73 73 20 6f 66 20 77 68 | 69 63 68 20 69 73 20 72 |ss of wh|ich is r|
|00004410| 65 74 75 72 6e 65 64 2e | 0a 4f 74 68 65 72 77 69 |eturned.|.Otherwi|
|00004420| 73 65 2c 0a 2e 49 20 73 | 5c 5e 0a 69 73 20 61 73 |se,..I s|\^.is as|
|00004430| 73 75 6d 65 64 20 74 6f | 20 70 6f 69 6e 74 20 74 |sumed to| point t|
|00004440| 6f 20 61 6e 20 61 72 72 | 61 79 20 6f 66 20 61 74 |o an arr|ay of at|
|00004450| 20 6c 65 61 73 74 0a 5c | 66 34 4c 5f 63 75 73 65 | least.\|f4L_cuse|
|00004460| 72 69 64 5c 66 31 0a 63 | 68 61 72 61 63 74 65 72 |rid\f1.c|haracter|
|00004470| 73 3b 20 74 68 65 20 72 | 65 70 72 65 73 65 6e 74 |s; the r|epresent|
|00004480| 61 74 69 6f 6e 20 69 73 | 20 6c 65 66 74 20 69 6e |ation is| left in|
|00004490| 20 74 68 69 73 20 61 72 | 72 61 79 2e 0a 54 68 65 | this ar|ray..The|
|000044a0| 20 63 6f 6e 73 74 61 6e | 74 0a 5c 66 34 4c 5f 63 | constan|t.\f4L_c|
|000044b0| 75 73 65 72 69 64 5c 66 | 31 0a 69 73 20 64 65 66 |userid\f|1.is def|
|000044c0| 69 6e 65 64 20 69 6e 20 | 74 68 65 0a 5c 66 34 73 |ined in |the.\f4s|
|000044d0| 74 64 69 6f 2e 68 5c 66 | 31 0a 68 65 61 64 65 72 |tdio.h\f|1.header|
|000044e0| 20 66 69 6c 65 2e 0a 2e | 53 48 20 53 45 45 20 41 | file...|SH SEE A|
|000044f0| 4c 53 4f 0a 5c 66 34 67 | 65 74 6c 6f 67 69 6e 5c |LSO.\f4g|etlogin\|
|00004500| 66 50 28 33 43 29 2c 0a | 5c 66 34 67 65 74 70 77 |fP(3C),.|\f4getpw|
|00004510| 65 6e 74 5c 66 50 28 33 | 43 29 0a 2e 53 48 20 44 |ent\fP(3|C)..SH D|
|00004520| 49 41 47 4e 4f 53 54 49 | 43 53 0a 49 66 20 74 68 |IAGNOSTI|CS.If th|
|00004530| 65 20 6c 6f 67 69 6e 0a | 6e 61 6d 65 0a 63 61 6e |e login.|name.can|
|00004540| 6e 6f 74 20 62 65 20 66 | 6f 75 6e 64 2c 0a 5c 66 |not be f|ound,.\f|
|00004550| 34 63 75 73 65 72 69 64 | 5c 66 50 0a 72 65 74 75 |4cuserid|\fP.retu|
|00004560| 72 6e 73 20 61 0a 5c 66 | 34 4e 55 4c 4c 5c 66 50 |rns a.\f|4NULL\fP|
|00004570| 0a 70 6f 69 6e 74 65 72 | 3b 20 69 66 0a 2e 49 20 |.pointer|; if..I |
|00004580| 73 5c 5e 0a 69 73 20 6e | 6f 74 20 61 0a 5c 66 34 |s\^.is n|ot a.\f4|
|00004590| 4e 55 4c 4c 5c 66 50 0a | 70 6f 69 6e 74 65 72 2c |NULL\fP.|pointer,|
|000045a0| 20 61 20 6e 75 6c 6c 20 | 63 68 61 72 61 63 74 65 | a null |characte|
|000045b0| 72 0a 5c 66 34 5c 60 5c | 65 30 5c 27 5c 66 31 0a |r.\f4\`\|e0\'\f1.|
|000045c0| 77 69 6c 6c 20 62 65 20 | 70 6c 61 63 65 64 20 61 |will be |placed a|
|000045d0| 74 0a 5c 66 32 73 5c 66 | 34 5b 30 5d 5c 66 50 2e |t.\f2s\f|4[0]\fP.|
|000045e0| 0a ff 00 03 30 37 30 37 | 30 31 ff 30 04 31 38 32 |....0707|01.0.182|
|000045f0| 61 ff 30 04 38 31 61 34 | ff 30 0f 33 ff 30 07 31 |a.0.81a4|.0.3.0.1|
|00004600| 32 61 38 61 37 62 64 38 | ff 30 05 66 61 31 ff 30 |2a8a7bd8|.0.fa1.0|
|00004610| 06 32 66 ff 30 07 31 ff | 30 16 32 31 ff 30 08 72 |.2f.0.1.|0.21.0.r|
|00004620| 6f 6f 74 2e 31 31 2f 75 | 73 72 2f 73 68 61 72 65 |oot.11/u|sr/share|
|00004630| 2f 6d 61 6e 2f 6d 61 6e | 33 2f 64 62 6d 2e 33 00 |/man/man|3/dbm.3.|
|00004640| 00 2e 69 66 20 6e 20 2e | 70 48 20 33 2f 67 65 6e |..if n .|pH 3/gen|
|00004650| 2f 64 62 6d 20 40 28 23 | 29 64 62 6d 09 34 33 2e |/dbm @(#|)dbm.43.|
|00004660| 34 20 6f 66 20 38 2f 31 | 32 2f 39 32 0a 2e 5c 22 |4 of 8/1|2/92..\"|
|00004670| 20 43 6f 70 79 72 69 67 | 68 74 20 31 39 39 32 2c | Copyrig|ht 1992,|
|00004680| 20 31 39 39 31 20 55 4e | 49 58 20 53 79 73 74 65 | 1991 UN|IX Syste|
|00004690| 6d 20 4c 61 62 6f 72 61 | 74 6f 72 69 65 73 2c 20 |m Labora|tories, |
|000046a0| 49 6e 63 2e 0a 2e 5c 22 | 20 43 6f 70 79 72 69 67 |Inc...\"| Copyrig|
|000046b0| 68 74 20 31 39 39 30 2c | 20 31 39 38 39 20 41 54 |ht 1990,| 1989 AT|
|000046c0| 26 54 0a 2e 5c 22 20 50 | 6f 72 74 69 6f 6e 73 20 |&T..\" P|ortions |
|000046d0| 6f 66 20 74 68 69 73 20 | 70 61 67 65 20 77 65 72 |of this |page wer|
|000046e0| 65 20 64 65 72 69 76 65 | 64 20 66 72 6f 6d 20 6d |e derive|d from m|
|000046f0| 61 74 65 72 69 61 6c 20 | 63 6f 70 79 72 69 67 68 |aterial |copyrigh|
|00004700| 74 20 28 63 29 20 31 39 | 38 38 20 53 75 6e 20 4d |t (c) 19|88 Sun M|
|00004710| 69 98 23 ff 63 72 6f 73 | 79 73 74 65 6d 73 2c 20 |i.#.cros|ystems, |
|00004720| 49 6e 63 2e 20 2d 20 41 | 6c 6c 20 52 69 67 68 74 |Inc. - A|ll Right|
|00004730| 73 20 52 65 73 65 72 76 | 65 64 2e 0a 2e 5c 22 20 |s Reserv|ed...\" |
|00004740| 50 6f 72 74 69 6f 6e 73 | 20 6f 66 20 74 68 69 73 |Portions| of this|
|00004750| 20 70 61 67 65 20 77 65 | 72 65 20 64 65 72 69 76 | page we|re deriv|
|00004760| 65 64 20 66 72 6f 6d 20 | 6d 61 74 65 72 69 61 6c |ed from |material|
|00004770| 20 63 6f 70 79 72 69 67 | 68 74 20 28 63 29 20 31 | copyrig|ht (c) 1|
|00004780| 39 38 30 20 52 65 67 65 | 6e 74 73 20 6f 66 20 74 |980 Rege|nts of t|
|00004790| 68 65 20 55 6e 69 76 65 | 72 73 69 74 79 20 6f 66 |he Unive|rsity of|
|000047a0| 20 43 61 6c 69 66 6f 72 | 6e 69 61 2e 0a 2e 5c 22 | Califor|nia...\"|
|000047b0| 20 41 6c 6c 20 72 69 67 | 68 74 73 20 72 65 73 65 | All rig|hts rese|
|000047c0| 72 76 65 64 2e 20 20 54 | 68 65 20 42 65 72 6b 65 |rved. T|he Berke|
|000047d0| 6c 65 79 20 73 6f 66 74 | 77 61 72 65 20 4c 69 63 |ley soft|ware Lic|
|000047e0| 65 6e 73 65 20 41 67 72 | 65 65 6d 65 6e 74 0a 2e |ense Agr|eement..|
|000047f0| 5c 22 20 73 70 65 63 69 | 66 69 65 73 20 74 68 65 |\" speci|fies the|
|00004800| 20 74 65 72 6d 73 20 61 | 6e 64 20 63 6f 6e 64 69 | terms a|nd condi|
|00004810| 74 69 6f 6e 73 20 66 6f | 72 20 72 65 64 69 73 74 |tions fo|r redist|
|00004820| 72 69 62 75 74 69 6f 6e | 2e 0a 2e 54 48 20 64 62 |ribution|...TH db|
|00004830| 6d 20 33 4e 0a 2e 53 48 | 20 4e 41 4d 45 0a 5c 66 |m 3N..SH| NAME.\f|
|00004840| 34 64 62 6d 2c 20 64 62 | 6d 69 6e 69 74 2c 20 64 |4dbm, db|minit, d|
|00004850| 62 6d 63 6c 6f 73 65 2c | 20 66 65 74 63 68 2c 20 |bmclose,| fetch, |
|00004860| 73 74 6f 72 65 2c 20 64 | 65 6c 65 74 65 2c 20 66 |store, d|elete, f|
|00004870| 69 72 73 74 6b 65 79 2c | 20 6e 65 78 74 6b 65 79 |irstkey,| nextkey|
|00004880| 5c 66 50 20 5c 2d 20 64 | 61 74 61 62 61 73 65 20 |\fP \- d|atabase |
|00004890| 73 75 62 72 6f 75 74 69 | 6e 65 73 0a 2e 53 48 20 |subrouti|nes..SH |
|000048a0| 53 59 4e 4f 50 53 49 53 | 0a 2e 73 70 20 2e 32 35 |SYNOPSIS|..sp .25|
|000048b0| 0a 2e 66 74 20 34 0a 23 | 69 6e 63 6c 75 64 65 20 |..ft 4.#|include |
|000048c0| 3c 64 62 6d 2e 68 3e 0a | 2e 73 70 20 2e 32 35 0a |<dbm.h>.|.sp .25.|
|000048d0| 2e 66 74 20 34 0a 2e 6e | 66 0a 74 79 70 65 64 65 |.ft 4..n|f.typede|
|000048e0| 66 20 73 74 72 75 63 74 | 20 7b 0a ff 20 04 63 68 |f struct| {.. .ch|
|000048f0| 61 72 20 2a 64 70 74 72 | 3b 0a ff 20 04 69 6e 74 |ar *dptr|;.. .int|
|00004900| 20 64 73 69 7a 65 3b 0a | 7d 20 64 61 74 75 6d 3b | dsize;.|} datum;|
|00004910| 0a 2e 73 70 20 2e 32 35 | 0a 69 6e 74 20 64 62 6d |..sp .25|.int dbm|
|00004920| 69 6e 69 74 28 63 68 61 | 72 20 5c 28 2a 2a 5c 66 |init(cha|r \(**\f|
|00004930| 32 66 69 6c 65 5c 66 50 | 29 3b 0a 2e 73 70 20 2e |2file\fP|);..sp .|
|00004940| 32 35 0a 69 6e 74 20 64 | 62 6d 63 6c 6f 73 65 28 |25.int d|bmclose(|
|00004950| 76 6f 69 64 29 3b 0a 2e | 73 70 20 2e 32 35 0a 64 |void);..|sp .25.d|
|00004960| 61 74 75 6d 20 66 65 74 | 63 68 28 64 61 74 75 6d |atum fet|ch(datum|
|00004970| 20 5c 66 32 6b 65 79 5c | 66 50 29 3b 0a 2e 73 70 | \f2key\|fP);..sp|
|00004980| 20 2e 32 35 0a 69 6e 74 | 20 73 74 6f 72 65 28 64 | .25.int| store(d|
|00004990| 61 74 75 6d 20 5c 66 32 | 6b 65 79 5c 66 50 2c 20 |atum \f2|key\fP, |
|000049a0| 64 61 74 75 6d 20 5c 66 | 32 63 6f 6e 74 65 6e 74 |datum \f|2content|
|000049b0| 5c 66 50 29 3b 0a 2e 73 | 70 20 2e 32 35 0a 69 6e |\fP);..s|p .25.in|
|000049c0| 74 20 64 65 6c 65 74 65 | 28 64 61 74 75 6d 20 5c |t delete|(datum \|
|000049d0| 66 32 6b 65 79 5c 66 50 | 29 3b 0a 2e 73 70 20 2e |f2key\fP|);..sp .|
|000049e0| 32 35 0a 64 61 74 75 6d | 20 66 69 72 73 74 6b 65 |25.datum| firstke|
|000049f0| 79 28 76 6f 69 64 29 3b | 0a 2e 73 70 20 2e 32 35 |y(void);|..sp .25|
|00004a00| 0a 64 61 74 75 6d 20 6e | 65 78 74 6b 65 79 28 64 |.datum n|extkey(d|
|00004a10| 61 74 75 6d 20 5c 66 32 | 6b 65 79 5c 66 50 29 3b |atum \f2|key\fP);|
|00004a20| 0a 2e 66 69 0a 2e 66 74 | 20 31 0a 2e 53 48 20 44 |..fi..ft| 1..SH D|
|00004a30| 45 53 43 52 49 50 54 49 | 4f 4e 0a 2e 50 0a 54 68 |ESCRIPTI|ON..P.Th|
|00004a40| 65 73 65 20 66 75 6e 63 | 74 69 6f 6e 73 20 6d 61 |ese func|tions ma|
|00004a50| 69 6e 74 61 69 6e 20 6b | 65 79 2f 63 6f 6e 74 65 |intain k|ey/conte|
|00004a60| 6e 74 20 70 61 69 72 73 | 20 69 6e 20 61 20 64 61 |nt pairs| in a da|
|00004a70| 74 61 62 61 73 65 2e 0a | 54 68 65 20 66 75 6e 63 |tabase..|The func|
|00004a80| 74 69 6f 6e 73 20 77 69 | 6c 6c 20 68 61 6e 64 6c |tions wi|ll handl|
|00004a90| 65 20 76 65 72 79 20 6c | 61 72 67 65 20 28 61 20 |e very l|arge (a |
|00004aa0| 62 69 6c 6c 69 6f 6e 20 | 62 6c 6f 63 6b 73 29 0a |billion |blocks).|
|00004ab0| 64 61 74 61 62 61 73 65 | 73 20 61 6e 64 20 77 69 |database|s and wi|
|00004ac0| 6c 6c 20 61 63 63 65 73 | 73 20 61 20 6b 65 79 65 |ll acces|s a keye|
|00004ad0| 64 20 69 74 65 6d 20 69 | 6e 20 6f 6e 65 20 6f 72 |d item i|n one or|
|00004ae0| 20 74 77 6f 20 66 69 6c | 65 20 73 79 73 74 65 6d | two fil|e system|
|00004af0| 20 61 63 63 65 73 73 65 | 73 2e 0a 54 68 65 20 66 | accesse|s..The f|
|00004b00| 75 6e 63 74 69 6f 6e 73 | 20 61 72 65 20 6f 62 74 |unctions| are obt|
|00004b10| 61 69 6e 65 64 20 77 69 | 74 68 20 74 68 65 20 6c |ained wi|th the l|
|00004b20| 6f 61 64 65 72 20 6f 70 | 74 69 6f 6e 0a 5c 66 34 |oader op|tion.\f4|
|00004b30| 5c 2d 6c 6e 73 6c 5c 66 | 31 2e 0a 2e 50 0a 5c 66 |\-lnsl\f|1...P.\f|
|00004b40| 32 6b 65 79 5c 66 31 73 | 0a 61 6e 64 0a 5c 66 32 |2key\f1s|.and.\f2|
|00004b50| 63 6f 6e 74 65 6e 74 5c | 66 31 73 0a 61 72 65 20 |content\|f1s.are |
|00004b60| 64 65 73 63 72 69 62 65 | 64 20 62 79 20 74 68 65 |describe|d by the|
|00004b70| 0a 5c 66 34 64 61 74 75 | 6d 5c 66 31 0a 74 79 70 |.\f4datu|m\f1.typ|
|00004b80| 65 64 65 66 2e 0a 41 20 | 5c 66 34 64 61 74 75 6d |edef..A |\f4datum|
|00004b90| 5c 66 31 20 73 70 65 63 | 69 66 69 65 73 20 61 20 |\f1 spec|ifies a |
|00004ba0| 73 74 72 69 6e 67 20 6f | 66 0a 5c 66 32 64 73 69 |string o|f.\f2dsi|
|00004bb0| 7a 65 5c 66 31 20 62 79 | 74 65 73 20 70 6f 69 6e |ze\f1 by|tes poin|
|00004bc0| 74 65 64 20 74 6f 20 62 | 79 20 5c 66 32 64 70 74 |ted to b|y \f2dpt|
|00004bd0| 72 5c 66 31 2e 0a 41 72 | 62 69 74 72 61 72 79 20 |r\f1..Ar|bitrary |
|00004be0| 62 69 6e 61 72 79 20 64 | 61 74 61 2c 20 61 73 20 |binary d|ata, as |
|00004bf0| 77 65 6c 6c 20 61 73 20 | 6e 6f 72 6d 61 6c 0a 5c |well as |normal.\|
|00004c00| 73 2d 31 41 53 43 49 49 | 5c 73 30 0a 73 74 72 69 |s-1ASCII|\s0.stri|
|00004c10| 6e 67 73 2c 20 61 72 65 | 20 61 6c 6c 6f 77 65 64 |ngs, are| allowed|
|00004c20| 2e 0a 54 68 65 20 64 61 | 74 61 62 61 73 65 20 69 |..The da|tabase i|
|00004c30| 73 20 73 74 6f 72 65 64 | 20 69 6e 20 74 77 6f 20 |s stored| in two |
|00004c40| 66 69 6c 65 73 2e 0a 4f | 6e 65 20 66 69 6c 65 20 |files..O|ne file |
|00004c50| 69 73 20 61 20 64 69 72 | 65 63 74 6f 72 79 20 63 |is a dir|ectory c|
|00004c60| 6f 6e 74 61 69 6e 69 6e | 67 20 61 20 62 69 74 20 |ontainin|g a bit |
|00004c70| 6d 61 70 20 61 6e 64 20 | 68 61 73 0a 5c 66 34 5c |map and |has.\f4\|
|00004c80| 26 2e 64 69 72 5c 66 31 | 0a 61 73 20 69 74 73 20 |&.dir\f1|.as its |
|00004c90| 73 75 66 66 69 78 2e 0a | 54 68 65 20 73 65 63 6f |suffix..|The seco|
|00004ca0| 6e 64 20 66 69 6c 65 20 | 63 6f 6e 74 61 69 6e 73 |nd file |contains|
|00004cb0| 20 61 6c 6c 20 64 61 74 | 61 20 61 6e 64 20 68 61 | all dat|a and ha|
|00004cc0| 73 0a 5c 66 34 5c 26 2e | 70 61 67 5c 66 31 0a 61 |s.\f4\&.|pag\f1.a|
|00004cd0| 73 20 69 74 73 20 73 75 | 66 66 69 78 2e 0a 2e 50 |s its su|ffix...P|
|00004ce0| 0a 42 65 66 6f 72 65 20 | 61 20 64 61 74 61 62 61 |.Before |a databa|
|00004cf0| 73 65 20 63 61 6e 20 62 | 65 20 61 63 63 65 73 73 |se can b|e access|
|00004d00| 65 64 2c 20 69 74 20 6d | 75 73 74 20 62 65 20 6f |ed, it m|ust be o|
|00004d10| 70 65 6e 65 64 20 62 79 | 0a 5c 66 34 64 62 6d 69 |pened by|.\f4dbmi|
|00004d20| 6e 69 74 5c 66 31 2e 0a | 41 74 20 74 68 65 20 74 |nit\f1..|At the t|
|00004d30| 69 6d 65 20 6f 66 20 74 | 68 69 73 20 63 61 6c 6c |ime of t|his call|
|00004d40| 2c 20 74 68 65 20 66 69 | 6c 65 73 0a 5c 66 32 66 |, the fi|les.\f2f|
|00004d50| 69 6c 65 5c 66 34 5c 26 | 2e 64 69 72 5c 66 31 0a |ile\f4\&|.dir\f1.|
|00004d60| 61 6e 64 0a 5c 66 32 66 | 69 6c 65 5c 66 34 5c 26 |and.\f2f|ile\f4\&|
|00004d70| 2e 70 61 67 5c 66 31 0a | 6d 75 73 74 20 65 78 69 |.pag\f1.|must exi|
|00004d80| 73 74 2e 0a 41 6e 20 65 | 6d 70 74 79 20 64 61 74 |st..An e|mpty dat|
|00004d90| 61 62 61 73 65 20 69 73 | 20 63 72 65 61 74 65 64 |abase is| created|
|00004da0| 20 62 79 20 63 72 65 61 | 74 69 6e 67 20 7a 65 72 | by crea|ting zer|
|00004db0| 6f 2d 6c 65 6e 67 74 68 | 0a 5c 66 34 5c 26 2e 64 |o-length|.\f4\&.d|
|00004dc0| 69 72 5c 66 31 0a 61 6e | 64 0a 5c 66 34 5c 26 2e |ir\f1.an|d.\f4\&.|
|00004dd0| 70 61 67 5c 66 31 0a 66 | 69 6c 65 73 2e 0a 2e 50 |pag\f1.f|iles...P|
|00004de0| 0a 41 20 64 61 74 61 62 | 61 73 65 20 6d 61 79 20 |.A datab|ase may |
|00004df0| 62 65 20 63 6c 6f 73 65 | 64 20 62 79 20 63 61 6c |be close|d by cal|
|00004e00| 6c 69 6e 67 0a 5c 66 34 | 64 62 6d 63 6c 6f 73 65 |ling.\f4|dbmclose|
|00004e10| 5c 66 31 2e 0a 59 6f 75 | 20 6d 75 73 74 20 63 6c |\f1..You| must cl|
|00004e20| 6f 73 65 20 61 20 64 61 | 74 61 62 61 73 65 20 62 |ose a da|tabase b|
|00004e30| 65 66 6f 72 65 20 6f 70 | 65 6e 69 6e 67 20 61 20 |efore op|ening a |
|00004e40| 6e 65 77 20 6f 6e 65 2e | 0a 2e 50 0a 4f 6e 63 65 |new one.|..P.Once|
|00004e50| 20 6f 70 65 6e 2c 20 74 | 68 65 20 64 61 74 61 20 | open, t|he data |
|00004e60| 73 74 6f 72 65 64 20 75 | 6e 64 65 72 20 61 20 6b |stored u|nder a k|
|00004e70| 65 79 20 69 73 20 61 63 | 63 65 73 73 65 64 20 62 |ey is ac|cessed b|
|00004e80| 79 0a 5c 66 34 66 65 74 | 63 68 5c 66 31 0a 61 6e |y.\f4fet|ch\f1.an|
|00004e90| 64 20 64 61 74 61 20 69 | 73 20 70 6c 61 63 65 64 |d data i|s placed|
|00004ea0| 20 75 6e 64 65 72 20 61 | 20 6b 65 79 20 62 79 0a | under a| key by.|
|00004eb0| 5c 66 34 73 74 6f 72 65 | 5c 66 31 2e 0a 41 20 6b |\f4store|\f1..A k|
|00004ec0| 65 79 20 28 61 6e 64 20 | 69 74 73 20 61 73 73 6f |ey (and |its asso|
|00004ed0| 63 69 61 74 65 64 20 63 | 6f 6e 74 65 6e 74 73 29 |ciated c|ontents)|
|00004ee0| 20 69 73 20 64 65 6c 65 | 74 65 64 20 62 79 0a 5c | is dele|ted by.\|
|00004ef0| 66 34 64 65 6c 65 74 65 | 5c 66 31 2e 0a 41 20 6c |f4delete|\f1..A l|
|00004f00| 69 6e 65 61 72 20 70 61 | 73 73 20 74 68 72 6f 75 |inear pa|ss throu|
|00004f10| 67 68 20 61 6c 6c 20 6b | 65 79 73 20 69 6e 20 61 |gh all k|eys in a|
|00004f20| 20 64 61 74 61 62 61 73 | 65 20 6d 61 79 20 62 65 | databas|e may be|
|00004f30| 20 6d 61 64 65 2c 0a 69 | 6e 20 61 6e 20 28 61 70 | made,.i|n an (ap|
|00004f40| 70 61 72 65 6e 74 6c 79 | 29 20 72 61 6e 64 6f 6d |parently|) random|
|00004f50| 20 6f 72 64 65 72 2c 20 | 62 79 20 75 73 65 20 6f | order, |by use o|
|00004f60| 66 0a 5c 66 34 66 69 72 | 73 74 6b 65 79 5c 66 31 |f.\f4fir|stkey\f1|
|00004f70| 0a 61 6e 64 0a 5c 66 34 | 6e 65 78 74 6b 65 79 5c |.and.\f4|nextkey\|
|00004f80| 66 31 2e 0a 5c 66 34 66 | 69 72 73 74 6b 65 79 5c |f1..\f4f|irstkey\|
|00004f90| 66 31 0a 77 69 6c 6c 20 | 72 65 74 75 72 6e 20 74 |f1.will |return t|
|00004fa0| 68 65 20 66 69 72 73 74 | 20 6b 65 79 20 69 6e 20 |he first| key in |
|00004fb0| 74 68 65 20 64 61 74 61 | 62 61 73 65 2e 0a 57 69 |the data|base..Wi|
|00004fc0| 74 68 20 61 6e 79 20 6b | 65 79 0a 5c 66 34 6e 65 |th any k|ey.\f4ne|
|00004fd0| 78 74 6b 65 79 5c 66 31 | 0a 77 69 6c 6c 20 72 65 |xtkey\f1|.will re|
|00004fe0| 74 75 72 6e 20 74 68 65 | 20 6e 65 78 74 20 6b 65 |turn the| next ke|
|00004ff0| 79 20 69 6e 20 74 68 65 | 20 64 61 74 61 62 61 73 |y in the| databas|
|00005000| 65 2e 0a 54 68 69 73 20 | 63 6f 64 65 20 77 69 6c |e..This |code wil|
|00005010| 6c 20 74 72 61 76 65 72 | 73 65 20 74 68 65 20 64 |l traver|se the d|
|00005020| 61 74 61 62 61 73 65 3a | 0a 2e 73 70 20 2e 32 35 |atabase:|..sp .25|
|00005030| 0a 2e 52 53 0a 5c 66 34 | 66 6f 72 20 28 6b 65 79 |..RS.\f4|for (key|
|00005040| 20 3d 20 66 69 72 73 74 | 6b 65 79 28 5c 7c 29 3b | = first|key(\|);|
|00005050| 20 6b 65 79 2e 64 70 74 | 72 20 21 3d 20 5c 73 2d | key.dpt|r != \s-|
|00005060| 31 4e 55 4c 4c 5c 73 30 | 3b 20 6b 65 79 20 3d 20 |1NULL\s0|; key = |
|00005070| 6e 65 78 74 6b 65 79 28 | 6b 65 79 29 29 5c 66 31 |nextkey(|key))\f1|
|00005080| 0a 2e 52 45 0a 2e 53 48 | 20 52 45 54 55 52 4e 20 |..RE..SH| RETURN |
|00005090| 56 41 4c 55 45 0a 41 6c | 6c 20 66 75 6e 63 74 69 |VALUE.Al|l functi|
|000050a0| 6f 6e 73 20 74 68 61 74 | 20 72 65 74 75 72 6e 20 |ons that| return |
|000050b0| 61 6e 0a 5c 66 34 69 6e | 74 5c 66 31 0a 69 6e 64 |an.\f4in|t\f1.ind|
|000050c0| 69 63 61 74 65 20 65 72 | 72 6f 72 73 20 77 69 74 |icate er|rors wit|
|000050d0| 68 20 6e 65 67 61 74 69 | 76 65 20 76 61 6c 75 65 |h negati|ve value|
|000050e0| 73 2e 0a 41 20 7a 65 72 | 6f 20 72 65 74 75 72 6e |s..A zer|o return|
|000050f0| 20 69 6e 64 69 63 61 74 | 65 73 20 6e 6f 20 65 72 | indicat|es no er|
|00005100| 72 6f 72 2e 0a 52 6f 75 | 74 69 6e 65 73 20 74 68 |ror..Rou|tines th|
|00005110| 61 74 20 72 65 74 75 72 | 6e 20 61 0a 5c 66 34 64 |at retur|n a.\f4d|
|00005120| 61 74 75 6d 5c 66 31 0a | 69 6e 64 69 63 61 74 65 |atum\f1.|indicate|
|00005130| 20 65 72 72 6f 72 73 20 | 77 69 74 68 20 61 0a 5c | errors |with a.\|
|00005140| 66 34 4e 55 4c 4c 5c 66 | 31 0a 28 30 29 0a 5c 66 |f4NULL\f|1.(0).\f|
|00005150| 32 64 70 74 72 5c 66 31 | 2e 0a 2e 62 72 0a 2e 6e |2dptr\f1|...br..n|
|00005160| 65 20 35 0a 2e 53 48 20 | 4e 4f 54 45 53 0a 2e 50 |e 5..SH |NOTES..P|
|00005170| 0a 54 68 65 0a 5c 66 34 | 5c 26 2e 70 61 67 5c 66 |.The.\f4|\&.pag\f|
|00005180| 31 0a 66 69 6c 65 20 77 | 69 6c 6c 20 63 6f 6e 74 |1.file w|ill cont|
|00005190| 61 69 6e 20 68 6f 6c 65 | 73 20 73 6f 20 74 68 61 |ain hole|s so tha|
|000051a0| 74 20 69 74 73 20 61 70 | 70 61 72 65 6e 74 20 73 |t its ap|parent s|
|000051b0| 69 7a 65 20 69 73 20 61 | 62 6f 75 74 0a 66 6f 75 |ize is a|bout.fou|
|000051c0| 72 20 74 69 6d 65 73 20 | 69 74 73 20 61 63 74 75 |r times |its actu|
|000051d0| 61 6c 20 63 6f 6e 74 65 | 6e 74 2e 0a 4f 6c 64 65 |al conte|nt..Olde|
|000051e0| 72 20 76 65 72 73 69 6f | 6e 73 20 6f 66 20 74 68 |r versio|ns of th|
|000051f0| 65 0a 5c 73 2d 31 55 4e | 49 58 5c 73 30 0a 6f 70 |e.\s-1UN|IX\s0.op|
|00005200| 65 72 61 74 69 6e 67 20 | 73 79 73 74 65 6d 20 6d |erating |system m|
|00005210| 61 79 20 63 72 65 61 74 | 65 20 72 65 61 6c 0a 66 |ay creat|e real.f|
|00005220| 69 6c 65 20 62 6c 6f 63 | 6b 73 20 66 6f 72 20 74 |ile bloc|ks for t|
|00005230| 68 65 73 65 20 68 6f 6c | 65 73 20 77 68 65 6e 20 |hese hol|es when |
|00005240| 74 6f 75 63 68 65 64 2e | 0a 54 68 65 73 65 20 66 |touched.|.These f|
|00005250| 69 6c 65 73 20 63 61 6e | 6e 6f 74 20 62 65 20 63 |iles can|not be c|
|00005260| 6f 70 69 65 64 0a 62 79 | 20 6e 6f 72 6d 61 6c 20 |opied.by| normal |
|00005270| 6d 65 61 6e 73 0a 5b 74 | 68 61 74 20 69 73 2c 20 |means.[t|hat is, |
|00005280| 5c 66 34 63 70 5c 66 31 | 28 31 29 2c 0a 5c 66 34 |\f4cp\f1|(1),.\f4|
|00005290| 63 61 74 5c 66 31 28 31 | 29 2c 0a 5c 66 34 74 61 |cat\f1(1|),.\f4ta|
|000052a0| 72 5c 66 31 28 31 29 2c | 0a 5c 66 34 61 72 5c 66 |r\f1(1),|.\f4ar\f|
|000052b0| 31 28 31 29 5d 0a 77 69 | 74 68 6f 75 74 20 66 69 |1(1)].wi|thout fi|
|000052c0| 6c 6c 69 6e 67 20 69 6e | 20 74 68 65 20 68 6f 6c |lling in| the hol|
|000052d0| 65 73 2e 0a 2e 50 0a 5c | 66 32 64 70 74 72 5c 66 |es...P.\|f2dptr\f|
|000052e0| 31 0a 70 6f 69 6e 74 65 | 72 73 20 72 65 74 75 72 |1.pointe|rs retur|
|000052f0| 6e 65 64 20 62 79 20 74 | 68 65 73 65 20 73 75 62 |ned by t|hese sub|
|00005300| 72 6f 75 74 69 6e 65 73 | 20 70 6f 69 6e 74 20 69 |routines| point i|
|00005310| 6e 74 6f 0a 73 74 61 74 | 69 63 20 73 74 6f 72 61 |nto.stat|ic stora|
|00005320| 67 65 20 74 68 61 74 20 | 69 73 20 63 68 61 6e 67 |ge that |is chang|
|00005330| 65 64 20 62 79 20 73 75 | 62 73 65 71 75 65 6e 74 |ed by su|bsequent|
|00005340| 20 63 61 6c 6c 73 2e 0a | 2e 50 0a 54 68 65 20 73 | calls..|.P.The s|
|00005350| 75 6d 20 6f 66 20 74 68 | 65 20 73 69 7a 65 73 20 |um of th|e sizes |
|00005360| 6f 66 20 61 20 6b 65 79 | 2f 63 6f 6e 74 65 6e 74 |of a key|/content|
|00005370| 20 70 61 69 72 20 6d 75 | 73 74 20 6e 6f 74 20 65 | pair mu|st not e|
|00005380| 78 63 65 65 64 0a 74 68 | 65 20 69 6e 74 65 72 6e |xceed.th|e intern|
|00005390| 61 6c 20 62 6c 6f 63 6b | 20 73 69 7a 65 20 28 63 |al block| size (c|
|000053a0| 75 72 72 65 6e 74 6c 79 | 20 31 30 32 34 20 62 79 |urrently| 1024 by|
|000053b0| 74 65 73 29 2e 0a 4d 6f | 72 65 6f 76 65 72 20 61 |tes)..Mo|reover a|
|000053c0| 6c 6c 20 6b 65 79 2f 63 | 6f 6e 74 65 6e 74 20 70 |ll key/c|ontent p|
|000053d0| 61 69 72 73 20 74 68 61 | 74 20 68 61 73 68 0a 74 |airs tha|t hash.t|
|000053e0| 6f 67 65 74 68 65 72 20 | 6d 75 73 74 20 66 69 74 |ogether |must fit|
|000053f0| 20 6f 6e 20 61 20 73 69 | 6e 67 6c 65 20 62 6c 6f | on a si|ngle blo|
|00005400| 63 6b 2e 0a 5c 66 34 73 | 74 6f 72 65 5c 66 31 0a |ck..\f4s|tore\f1.|
|00005410| 77 69 6c 6c 20 72 65 74 | 75 72 6e 20 61 6e 20 65 |will ret|urn an e|
|00005420| 72 72 6f 72 20 69 6e 20 | 74 68 65 20 65 76 65 6e |rror in |the even|
|00005430| 74 20 74 68 61 74 20 61 | 0a 64 69 73 6b 20 62 6c |t that a|.disk bl|
|00005440| 6f 63 6b 20 66 69 6c 6c | 73 20 77 69 74 68 20 69 |ock fill|s with i|
|00005450| 6e 73 65 70 61 72 61 62 | 6c 65 20 64 61 74 61 2e |nseparab|le data.|
|00005460| 0a 2e 50 0a 5c 66 34 64 | 65 6c 65 74 65 5c 66 31 |..P.\f4d|elete\f1|
|00005470| 0a 64 6f 65 73 20 6e 6f | 74 20 70 68 79 73 69 63 |.does no|t physic|
|00005480| 61 6c 6c 79 20 72 65 63 | 6c 61 69 6d 20 66 69 6c |ally rec|laim fil|
|00005490| 65 20 73 70 61 63 65 2c | 0a 61 6c 74 68 6f 75 67 |e space,|.althoug|
|000054a0| 68 20 69 74 20 64 6f 65 | 73 20 6d 61 6b 65 20 69 |h it doe|s make i|
|000054b0| 74 20 61 76 61 69 6c 61 | 62 6c 65 20 66 6f 72 20 |t availa|ble for |
|000054c0| 72 65 75 73 65 2e 0a 2e | 50 0a 54 68 65 20 6f 72 |reuse...|P.The or|
|000054d0| 64 65 72 20 6f 66 20 6b | 65 79 73 20 70 72 65 73 |der of k|eys pres|
|000054e0| 65 6e 74 65 64 20 62 79 | 0a 5c 66 34 66 69 72 73 |ented by|.\f4firs|
|000054f0| 74 6b 65 79 5c 66 31 0a | 61 6e 64 0a 5c 66 34 6e |tkey\f1.|and.\f4n|
|00005500| 65 78 74 6b 65 79 5c 66 | 31 0a 64 65 70 65 6e 64 |extkey\f|1.depend|
|00005510| 73 20 6f 6e 20 61 20 68 | 61 73 68 69 6e 67 20 66 |s on a h|ashing f|
|00005520| 75 6e 63 74 69 6f 6e 2c | 0a 6e 6f 74 20 6f 6e 20 |unction,|.not on |
|00005530| 61 6e 79 74 68 69 6e 67 | 20 69 6e 74 65 72 65 73 |anything| interes|
|00005540| 74 69 6e 67 2e 0a 2e 50 | 0a 54 68 65 72 65 20 61 |ting...P|.There a|
|00005550| 72 65 20 6e 6f 20 69 6e | 74 65 72 6c 6f 63 6b 73 |re no in|terlocks|
|00005560| 20 61 6e 64 20 6e 6f 20 | 72 65 6c 69 61 62 6c 65 | and no |reliable|
|00005570| 20 63 61 63 68 65 20 66 | 6c 75 73 68 69 6e 67 3b | cache f|lushing;|
|00005580| 0a 74 68 75 73 20 63 6f | 6e 63 75 72 72 65 6e 74 |.thus co|ncurrent|
|00005590| 20 75 70 64 61 74 69 6e | 67 20 61 6e 64 20 72 65 | updatin|g and re|
|000055a0| 61 64 69 6e 67 20 69 73 | 20 72 69 73 6b 79 2e 0a |ading is| risky..|
|000055b0| 2e 53 48 20 46 49 4c 45 | 53 0a 2e 50 44 20 30 0a |.SH FILE|S..PD 0.|
|000055c0| 2e 54 50 20 32 30 0a 5c | 66 34 2f 75 73 72 2f 6c |.TP 20.\|f4/usr/l|
|000055d0| 69 62 2f 6c 69 62 6e 73 | 6c 2e 61 5c 66 31 0a 2e |ib/libns|l.a\f1..|
|000055e0| 50 44 0a ff 00 03 30 37 | 30 37 30 31 ff 30 04 31 |PD....07|0701.0.1|
|000055f0| 38 32 63 ff 30 04 38 31 | 61 34 ff 30 0f 33 ff 30 |82c.0.81|a4.0.3.0|
|00005600| 07 31 32 61 38 61 37 62 | 64 63 ff 30 04 31 30 38 |.12a8a7b|dc.0.108|
|00005610| 61 ff 30 06 32 66 ff 30 | 07 31 ff 30 16 32 35 ff |a.0.2f.0|.1.0.25.|
|00005620| 30 08 72 6f 6f 74 2e 31 | 31 2f 75 73 72 2f 73 68 |0.root.1|1/usr/sh|
|00005630| 61 72 65 2f 6d 61 6e 2f | 6d 61 6e 33 2f 64 62 6d |are/man/|man3/dbm|
|00005640| 2e 62 73 64 2e 33 00 00 | 2e 69 66 20 6e 20 2e 70 |.bsd.3..|.if n .p|
|00005650| 48 20 33 2f 62 73 64 2f | 64 62 6d 20 40 28 23 29 |H 3/bsd/|dbm @(#)|
|00005660| 64 62 6d 09 34 33 2e 39 | 20 6f 66 20 38 2f 31 32 |dbm.43.9| of 8/12|
|00005670| 2f 39 32 0a 2e 5c 22 20 | 43 6f 70 79 72 69 67 68 |/92..\" |Copyrigh|
|00005680| 74 20 31 39 39 32 2c 20 | 31 39 39 31 20 55 4e 49 |t 1992, |1991 UNI|
|00005690| 58 20 53 79 73 74 65 6d | 20 4c 61 62 6f 72 61 74 |X System| Laborat|
|000056a0| 6f 72 69 65 73 2c 20 49 | 6e 63 2e 0a 2e 5c 22 20 |ories, I|nc...\" |
|000056b0| 43 6f 70 79 72 69 67 68 | 74 20 31 39 39 30 2c 20 |Copyrigh|t 1990, |
|000056c0| 31 39 38 39 20 41 54 26 | 54 0a 2e 5c 22 20 50 6f |1989 AT&|T..\" Po|
|000056d0| 72 74 69 6f 6e 73 20 6f | 66 20 74 68 69 73 20 70 |rtions o|f this p|
|000056e0| 61 67 65 20 77 65 72 65 | 20 64 65 72 69 76 65 64 |age were| derived|
|000056f0| 20 66 72 6f 6d 20 6d 61 | 74 65 72 69 61 6c 20 63 | from ma|terial c|
|00005700| 6f 70 79 72 69 67 68 74 | 20 28 63 29 20 31 39 38 |opyright| (c) 198|
|00005710| 38 20 53 75 6e 20 4d 69 | 63 72 6f 73 79 73 74 65 |8 Sun Mi|crosyste|
|00005720| 6d 73 2c 20 49 6e 63 2e | 20 2d 20 41 6c 6c 20 52 |ms, Inc.| - All R|
|00005730| 69 67 68 74 73 20 52 65 | 73 65 72 76 65 64 2e 0a |ights Re|served..|
|00005740| 2e 5c 22 0a 2e 5c 22 20 | 50 6f 72 74 69 6f 6e 73 |.\"..\" |Portions|
|00005750| 20 6f 66 20 74 68 69 73 | 20 70 61 67 65 20 77 65 | of this| page we|
|00005760| 72 65 20 64 65 72 69 76 | 65 64 20 66 72 6f 6d 20 |re deriv|ed from |
|00005770| 6d 61 74 65 72 69 61 6c | 20 63 6f 70 79 72 69 67 |material| copyrig|
|00005780| 68 74 20 28 63 29 20 31 | 39 38 30 20 52 65 67 65 |ht (c) 1|980 Rege|
|00005790| 6e 74 73 20 6f 66 20 74 | 68 65 20 55 6e 69 76 65 |nts of t|he Unive|
|000057a0| 72 73 69 74 79 20 6f 66 | 20 43 61 6c 69 66 6f 72 |rsity of| Califor|
|000057b0| 6e 69 61 2e 0a 2e 5c 22 | 20 41 6c 6c 20 72 69 67 |nia...\"| All rig|
|000057c0| 68 74 73 20 72 65 73 65 | 72 76 65 64 2e 20 20 54 |hts rese|rved. T|
|000057d0| 68 65 20 42 65 72 6b 65 | 6c 65 79 20 73 6f 66 74 |he Berke|ley soft|
|000057e0| 77 61 72 65 20 4c 69 63 | 65 6e 73 65 20 41 67 72 |ware Lic|ense Agr|
|000057f0| 65 65 6d 65 6e 74 0a 2e | 5c 22 20 73 70 65 63 69 |eement..|\" speci|
|00005800| 66 69 65 73 20 74 68 65 | 20 74 65 72 6d 73 20 61 |fies the| terms a|
|00005810| 6e 64 20 63 6f 6e 64 69 | 74 69 6f 6e 73 20 66 6f |nd condi|tions fo|
|00005820| 72 20 72 65 64 69 73 74 | 72 69 62 75 74 69 6f 6e |r redist|ribution|
|00005830| 2e 0a 2e 5c 22 0a 2e 54 | 48 20 64 62 6d 20 33 20 |...\"..T|H dbm 3 |
|00005840| 22 42 53 44 20 53 79 73 | 74 65 6d 20 43 6f 6d 70 |"BSD Sys|tem Comp|
|00005850| 61 74 69 62 69 6c 69 74 | 79 22 0a 2e 53 48 20 4e |atibilit|y"..SH N|
|00005860| 41 4d 45 0a 5c 66 34 64 | 62 6d 5c 66 31 3a 20 20 |AME.\f4d|bm\f1: |
|00005870| 5c 66 34 64 62 6d 69 6e | 69 74 5c 66 31 2c 20 5c |\f4dbmin|it\f1, \|
|00005880| 66 34 64 62 6d 63 6c 6f | 73 65 5c 66 31 2c 20 5c |f4dbmclo|se\f1, \|
|00005890| 66 34 66 65 74 63 68 5c | 66 31 2c 20 5c 66 34 73 |f4fetch\|f1, \f4s|
|000058a0| 74 6f 72 65 5c 66 31 2c | 20 5c 66 34 64 65 6c 65 |tore\f1,| \f4dele|
|000058b0| 74 65 5c 66 31 2c 20 5c | 66 34 66 69 72 73 74 6b |te\f1, \|f4firstk|
|000058c0| 65 79 5c 66 31 2c 20 5c | 66 34 6e 65 78 74 6b 65 |ey\f1, \|f4nextke|
|000058d0| 79 5c 66 31 20 5c 2d 20 | 28 5c 73 2d 31 42 53 44 |y\f1 \- |(\s-1BSD|
|000058e0| 5c 73 2b 31 29 20 64 61 | 74 61 20 62 61 73 65 20 |\s+1) da|ta base |
|000058f0| 73 75 62 72 6f 75 74 69 | 6e 65 73 0a 2e 53 48 20 |subrouti|nes..SH |
|00005900| 53 59 4e 4f 50 53 49 53 | 0a 5c 66 34 2f 75 73 72 |SYNOPSIS|.\f4/usr|
|00005910| 2f 75 63 62 2f 63 63 20 | 5c 66 31 5b 20 5c 66 32 |/ucb/cc |\f1[ \f2|
|00005920| 66 6c 61 67 5c 66 31 5c | 2e 20 5c 2e 20 5c 2e 20 |flag\f1\|. \. \. |
|00005930| 5d 20 5c 66 32 66 69 6c | 65 5c 66 31 20 5c 2e 20 |] \f2fil|e\f1 \. |
|00005940| 5c 2e 20 5c 2e 20 5c 66 | 34 5c 2d 6c 64 62 6d 5c |\. \. \f|4\-ldbm\|
|00005950| 66 31 0a 2e 50 0a 5c 66 | 34 23 69 6e 63 6c 75 64 |f1..P.\f|4#includ|
|00005960| 65 20 3c 64 62 6d 2e 68 | 3e 5c 66 31 0a 2e 50 0a |e <dbm.h|>\f1..P.|
|00005970| 2e 6e 66 0a 5c 66 34 74 | 79 70 65 64 65 66 20 73 |.nf.\f4t|ypedef s|
|00005980| 74 72 75 63 74 20 7b 0a | ff 20 04 63 68 61 72 20 |truct {.|. .char |
|00005990| 5c 28 2a 2a 64 70 74 72 | 3b 0a ff 20 04 69 6e 74 |\(**dptr|;.. .int|
|000059a0| 20 64 73 69 7a 65 3b 0a | 7d 20 64 61 74 75 6d 3b | dsize;.|} datum;|
|000059b0| 0a 2e 73 70 20 2e 32 35 | 0a 64 62 6d 69 6e 69 74 |..sp .25|.dbminit|
|000059c0| 28 63 68 61 72 20 5c 28 | 2a 2a 5c 66 32 66 69 6c |(char \(|**\f2fil|
|000059d0| 65 5c 66 50 29 3b 0a 2e | 66 69 0a 2e 73 70 20 2e |e\fP);..|fi..sp .|
|000059e0| 32 35 0a 64 62 6d 63 6c | 6f 73 65 28 76 6f 69 64 |25.dbmcl|ose(void|
|000059f0| 29 3b 0a 2e 73 70 20 2e | 32 35 0a 64 61 74 75 6d |);..sp .|25.datum|
|00005a00| 20 66 65 74 63 68 28 64 | 61 74 75 6d 20 5c 66 32 | fetch(d|atum \f2|
|00005a10| 6b 65 79 5c 66 50 29 3b | 0a 2e 73 70 20 2e 32 35 |key\fP);|..sp .25|
|00005a20| 0a 73 74 6f 72 65 28 64 | 61 74 75 6d 20 5c 66 32 |.store(d|atum \f2|
|00005a30| 6b 65 79 5c 66 50 2c 20 | 64 61 74 75 6d 20 5c 66 |key\fP, |datum \f|
|00005a40| 32 63 6f 6e 74 65 6e 74 | 5c 66 50 29 3b 0a 2e 73 |2content|\fP);..s|
|00005a50| 70 20 2e 32 35 0a 64 65 | 6c 65 74 65 28 64 61 74 |p .25.de|lete(dat|
|00005a60| 75 6d 20 5c 66 32 6b 65 | 79 5c 66 50 29 3b 0a 2e |um \f2ke|y\fP);..|
|00005a70| 73 70 20 2e 32 35 0a 64 | 61 74 75 6d 20 66 69 72 |sp .25.d|atum fir|
|00005a80| 73 74 6b 65 79 28 76 6f | 69 64 29 3b 0a 2e 73 70 |stkey(vo|id);..sp|
|00005a90| 20 2e 32 35 0a 64 61 74 | 75 6d 20 6e 65 78 74 6b | .25.dat|um nextk|
|00005aa0| 65 79 28 64 61 74 75 6d | 20 5c 66 32 6b 65 79 5c |ey(datum| \f2key\|
|00005ab0| 66 50 29 3b 5c 66 31 0a | 2e 66 69 0a 2e 53 48 20 |fP);\f1.|.fi..SH |
|00005ac0| 44 45 53 43 52 49 50 54 | 49 4f 4e 0a 4e 6f 74 65 |DESCRIPT|ION.Note|
|00005ad0| 3a 20 74 68 65 0a 5c 66 | 34 64 62 6d 5c 66 31 0a |: the.\f|4dbm\f1.|
|00005ae0| 6c 69 62 72 61 72 79 20 | 68 61 73 20 62 65 65 6e |library |has been|
|00005af0| 20 73 75 70 65 72 63 65 | 64 65 64 20 62 79 0a 5c | superce|ded by.\|
|00005b00| 66 34 6e 64 62 6d 5c 66 | 31 28 33 29 2c 0a 61 6e |f4ndbm\f|1(3),.an|
|00005b10| 64 20 69 73 20 6e 6f 77 | 20 69 6d 70 6c 65 6d 65 |d is now| impleme|
|00005b20| 6e 74 65 64 20 75 73 69 | 6e 67 0a 5c 66 34 6e 64 |nted usi|ng.\f4nd|
|00005b30| 62 6d 5c 66 31 2e 0a 2e | 50 0a 54 68 65 73 65 20 |bm\f1...|P.These |
|00005b40| 66 75 6e 63 74 69 6f 6e | 73 20 6d 61 69 6e 74 61 |function|s mainta|
|00005b50| 69 6e 20 6b 65 79 2f 63 | 6f 6e 74 65 6e 74 20 70 |in key/c|ontent p|
|00005b60| 61 69 72 73 20 69 6e 20 | 61 20 64 61 74 61 20 62 |airs in |a data b|
|00005b70| 61 73 65 2e 0a 54 68 65 | 20 66 75 6e 63 74 69 6f |ase..The| functio|
|00005b80| 6e 73 20 77 69 6c 6c 20 | 68 61 6e 64 6c 65 20 76 |ns will |handle v|
|00005b90| 65 72 79 20 6c 61 72 67 | 65 20 28 61 20 62 69 6c |ery larg|e (a bil|
|00005ba0| 6c 69 6f 6e 20 62 6c 6f | 63 6b 73 29 0a 64 61 74 |lion blo|cks).dat|
|00005bb0| 61 62 61 73 65 73 20 61 | 6e 64 20 77 69 6c 6c 20 |abases a|nd will |
|00005bc0| 61 63 63 65 73 73 20 61 | 20 6b 65 79 65 64 20 69 |access a| keyed i|
|00005bd0| 74 65 6d 20 69 6e 20 6f | 6e 65 20 6f 72 20 74 77 |tem in o|ne or tw|
|00005be0| 6f 20 66 69 6c 65 20 73 | 79 73 74 65 6d 20 61 63 |o file s|ystem ac|
|00005bf0| 63 65 73 73 65 73 2e 0a | 54 68 65 20 66 75 6e 63 |cesses..|The func|
|00005c00| 74 69 6f 6e 73 20 61 72 | 65 20 6f 62 74 61 69 6e |tions ar|e obtain|
|00005c10| 65 64 20 77 69 74 68 20 | 74 68 65 20 6c 6f 61 64 |ed with |the load|
|00005c20| 65 72 20 6f 70 74 69 6f | 6e 0a 5c 66 34 5c 2d 6c |er optio|n.\f4\-l|
|00005c30| 64 62 6d 5c 66 31 2e 0a | 2e 50 0a 5c 66 32 6b 65 |dbm\f1..|.P.\f2ke|
|00005c40| 79 5c 66 31 73 0a 61 6e | 64 0a 5c 66 32 63 6f 6e |y\f1s.an|d.\f2con|
|00005c50| 74 65 6e 74 5c 66 31 73 | 0a 61 72 65 20 64 65 73 |tent\f1s|.are des|
|00005c60| 63 72 69 62 65 64 20 62 | 79 20 74 68 65 0a 5c 66 |cribed b|y the.\f|
|00005c70| 34 64 61 74 75 6d 5c 66 | 31 0a 74 79 70 65 64 65 |4datum\f|1.typede|
|00005c80| 66 2e 0a 41 0a 5c 66 34 | 64 61 74 75 6d 5c 66 31 |f..A.\f4|datum\f1|
|00005c90| 0a 73 70 65 63 69 66 69 | 65 73 20 61 20 73 74 72 |.specifi|es a str|
|00005ca0| 69 6e 67 20 6f 66 0a 5c | 66 32 64 73 69 7a 65 5c |ing of.\|f2dsize\|
|00005cb0| 66 31 0a 62 79 74 65 73 | 20 70 6f 69 6e 74 65 64 |f1.bytes| pointed|
|00005cc0| 20 74 6f 20 62 79 0a 5c | 66 32 64 70 74 72 5c 66 | to by.\|f2dptr\f|
|00005cd0| 31 2e 0a 41 72 62 69 74 | 72 61 72 79 20 62 69 6e |1..Arbit|rary bin|
|00005ce0| 61 72 79 20 64 61 74 61 | 2c 20 61 73 20 77 65 6c |ary data|, as wel|
|00005cf0| 6c 20 61 73 20 6e 6f 72 | 6d 61 6c 0a 5c 73 2d 31 |l as nor|mal.\s-1|
|00005d00| 41 53 43 49 49 5c 73 30 | 0a 73 74 72 69 6e 67 73 |ASCII\s0|.strings|
|00005d10| 2c 20 61 72 65 20 61 6c | 6c 6f 77 65 64 2e 0a 54 |, are al|lowed..T|
|00005d20| 68 65 20 64 61 74 61 20 | 62 61 73 65 20 69 73 20 |he data |base is |
|00005d30| 73 74 6f 72 65 64 20 69 | 6e 20 74 77 6f 20 66 69 |stored i|n two fi|
|00005d40| 6c 65 73 2e 0a 4f 6e 65 | 20 66 69 6c 65 20 69 73 |les..One| file is|
|00005d50| 20 61 20 64 69 72 65 63 | 74 6f 72 79 20 63 6f 6e | a direc|tory con|
|00005d60| 74 61 69 6e 69 6e 67 20 | 61 20 62 69 74 20 6d 61 |taining |a bit ma|
|00005d70| 70 20 61 6e 64 20 68 61 | 73 0a 5c 66 34 5c 26 2e |p and ha|s.\f4\&.|
|00005d80| 64 69 72 5c 66 31 0a 61 | 73 20 69 74 73 20 73 75 |dir\f1.a|s its su|
|00005d90| 66 66 69 78 2e 0a 54 68 | 65 20 73 65 63 6f 6e 64 |ffix..Th|e second|
|00005da0| 20 66 69 6c 65 20 63 6f | 6e 74 61 69 6e 73 20 61 | file co|ntains a|
|00005db0| 6c 6c 20 64 61 74 61 20 | 61 6e 64 20 68 61 73 0a |ll data |and has.|
|00005dc0| 5c 66 34 5c 26 2e 70 61 | 67 5c 66 31 0a 61 73 20 |\f4\&.pa|g\f1.as |
|00005dd0| 69 74 73 20 73 75 66 66 | 69 78 2e 0a 2e 50 0a 42 |its suff|ix...P.B|
|00005de0| 65 66 6f 72 65 20 61 20 | 64 61 74 61 62 61 73 65 |efore a |database|
|00005df0| 20 63 61 6e 20 62 65 20 | 61 63 63 65 73 73 65 64 | can be |accessed|
|00005e00| 2c 20 69 74 20 6d 75 73 | 74 20 62 65 20 6f 70 65 |, it mus|t be ope|
|00005e10| 6e 65 64 20 62 79 0a 5c | 66 34 64 62 6d 69 6e 69 |ned by.\|f4dbmini|
|00005e20| 74 5c 66 31 2e 0a 41 74 | 20 74 68 65 20 74 69 6d |t\f1..At| the tim|
|00005e30| 65 20 6f 66 20 74 68 69 | 73 20 63 61 6c 6c 2c 20 |e of thi|s call, |
|00005e40| 74 68 65 20 66 69 6c 65 | 73 0a 5c 66 32 66 69 6c |the file|s.\f2fil|
|00005e50| 65 5c 66 34 5c 26 2e 64 | 69 72 5c 66 31 0a 61 6e |e\f4\&.d|ir\f1.an|
|00005e60| 64 0a 5c 66 32 66 69 6c | 65 5c 66 34 5c 26 2e 70 |d.\f2fil|e\f4\&.p|
|00005e70| 61 67 5c 66 31 0a 6d 75 | 73 74 20 65 78 69 73 74 |ag\f1.mu|st exist|
|00005e80| 2e 0a 41 6e 20 65 6d 70 | 74 79 20 64 61 74 61 62 |..An emp|ty datab|
|00005e90| 61 73 65 20 69 73 20 63 | 72 65 61 74 65 64 20 62 |ase is c|reated b|
|00005ea0| 79 20 63 72 65 61 74 69 | 6e 67 20 7a 65 72 6f 2d |y creati|ng zero-|
|00005eb0| 6c 65 6e 67 74 68 0a 5c | 66 34 5c 26 2e 64 69 72 |length.\|f4\&.dir|
|00005ec0| 5c 66 31 0a 61 6e 64 0a | 5c 66 34 5c 26 2e 70 61 |\f1.and.|\f4\&.pa|
|00005ed0| 67 5c 66 31 0a 66 69 6c | 65 73 2e 0a 2e 50 0a 41 |g\f1.fil|es...P.A|
|00005ee0| 20 64 61 74 61 62 61 73 | 65 20 6d 61 79 20 62 65 | databas|e may be|
|00005ef0| 20 63 6c 6f 73 65 64 20 | 62 79 20 63 61 6c 6c 69 | closed |by calli|
|00005f00| 6e 67 0a 5c 66 34 64 62 | 6d 63 6c 6f 73 65 5c 66 |ng.\f4db|mclose\f|
|00005f10| 31 2e 0a 59 6f 75 20 6d | 75 73 74 20 63 6c 6f 73 |1..You m|ust clos|
|00005f20| 65 20 61 20 64 61 74 61 | 62 61 73 65 20 62 65 66 |e a data|base bef|
|00005f30| 6f 72 65 20 6f 70 65 6e | 69 6e 67 20 61 20 6e 65 |ore open|ing a ne|
|00005f40| 77 20 6f 6e 65 2e 0a 2e | 50 0a 4f 6e 63 65 20 6f |w one...|P.Once o|
|00005f50| 70 65 6e 2c 20 74 68 65 | 20 64 61 74 61 20 73 74 |pen, the| data st|
|00005f60| 6f 72 65 64 20 75 6e 64 | 65 72 20 61 20 6b 65 79 |ored und|er a key|
|00005f70| 20 69 73 20 61 63 63 65 | 73 73 65 64 20 62 79 0a | is acce|ssed by.|
|00005f80| 5c 66 34 66 65 74 63 68 | 5c 66 31 0a 61 6e 64 20 |\f4fetch|\f1.and |
|00005f90| 64 61 74 61 20 69 73 20 | 70 6c 61 63 65 64 20 75 |data is |placed u|
|00005fa0| 6e 64 65 72 20 61 20 6b | 65 79 20 62 79 0a 5c 66 |nder a k|ey by.\f|
|00005fb0| 34 73 74 6f 72 65 5c 66 | 31 2e 0a 41 20 6b 65 79 |4store\f|1..A key|
|00005fc0| 20 28 61 6e 64 20 69 74 | 73 20 61 73 73 6f 63 69 | (and it|s associ|
|00005fd0| 61 74 65 64 20 63 6f 6e | 74 65 6e 74 73 29 20 69 |ated con|tents) i|
|00005fe0| 73 20 64 65 6c 65 74 65 | 64 20 62 79 0a 5c 66 34 |s delete|d by.\f4|
|00005ff0| 64 65 6c 65 74 65 5c 66 | 31 2e 0a 41 20 6c 69 6e |delete\f|1..A lin|
|00006000| 65 61 72 20 70 61 73 73 | 20 74 68 72 6f 75 67 68 |ear pass| through|
|00006010| 20 61 6c 6c 20 6b 65 79 | 73 20 69 6e 20 61 20 64 | all key|s in a d|
|00006020| 61 74 61 62 61 73 65 20 | 6d 61 79 20 62 65 20 6d |atabase |may be m|
|00006030| 61 64 65 2c 0a 69 6e 20 | 61 6e 20 28 61 70 70 61 |ade,.in |an (appa|
|00006040| 72 65 6e 74 6c 79 29 20 | 72 61 6e 64 6f 6d 20 6f |rently) |random o|
|00006050| 72 64 65 72 2c 20 62 79 | 20 75 73 65 20 6f 66 0a |rder, by| use of.|
|00006060| 5c 66 34 66 69 72 73 74 | 6b 65 79 5c 66 31 0a 61 |\f4first|key\f1.a|
|00006070| 6e 64 0a 5c 66 34 6e 65 | 78 74 6b 65 79 5c 66 31 |nd.\f4ne|xtkey\f1|
|00006080| 2e 0a 5c 66 34 66 69 72 | 73 74 6b 65 79 5c 66 31 |..\f4fir|stkey\f1|
|00006090| 0a 77 69 6c 6c 20 72 65 | 74 75 72 6e 20 74 68 65 |.will re|turn the|
|000060a0| 20 66 69 72 73 74 20 6b | 65 79 20 69 6e 20 74 68 | first k|ey in th|
|000060b0| 65 20 64 61 74 61 62 61 | 73 65 2e 0a 57 69 74 68 |e databa|se..With|
|000060c0| 20 61 6e 79 20 6b 65 79 | 0a 5c 66 34 6e 65 78 74 | any key|.\f4next|
|000060d0| 6b 65 79 5c 66 31 0a 77 | 69 6c 6c 20 72 65 74 75 |key\f1.w|ill retu|
|000060e0| 72 6e 20 74 68 65 20 6e | 65 78 74 20 6b 65 79 20 |rn the n|ext key |
|000060f0| 69 6e 20 74 68 65 20 64 | 61 74 61 62 61 73 65 2e |in the d|atabase.|
|00006100| 0a 54 68 69 73 20 63 6f | 64 65 20 77 69 6c 6c 20 |.This co|de will |
|00006110| 74 72 61 76 65 72 73 65 | 20 74 68 65 20 64 61 74 |traverse| the dat|
|00006120| 61 20 62 61 73 65 3a 0a | 2e 49 50 0a 2e 66 74 20 |a base:.|.IP..ft |
|00006130| 34 0a 66 6f 72 0a 28 6b | 65 79 20 3d 20 66 69 72 |4.for.(k|ey = fir|
|00006140| 73 74 6b 65 79 3b 20 6b | 65 79 2e 64 70 74 72 20 |stkey; k|ey.dptr |
|00006150| 21 3d 20 5c 73 2d 31 4e | 55 4c 4c 5c 73 30 3b 20 |!= \s-1N|ULL\s0; |
|00006160| 6b 65 79 20 3d 20 6e 65 | 78 74 6b 65 79 28 6b 65 |key = ne|xtkey(ke|
|00006170| 79 29 29 0a 2e 66 74 20 | 31 0a 2e 53 48 20 53 45 |y))..ft |1..SH SE|
|00006180| 45 20 41 4c 53 4f 0a 5c | 66 34 6e 64 62 6d 5c 66 |E ALSO.\|f4ndbm\f|
|00006190| 50 28 33 29 0a 2e 53 48 | 20 22 52 45 54 55 52 4e |P(3)..SH| "RETURN|
|000061a0| 20 56 41 4c 55 45 22 0a | 41 6c 6c 20 66 75 6e 63 | VALUE".|All func|
|000061b0| 74 69 6f 6e 73 20 74 68 | 61 74 20 72 65 74 75 72 |tions th|at retur|
|000061c0| 6e 20 61 6e 0a 5c 66 34 | 69 6e 74 5c 66 31 0a 69 |n an.\f4|int\f1.i|
|000061d0| 6e 64 69 63 61 74 65 20 | 65 72 72 6f 72 73 20 77 |ndicate |errors w|
|000061e0| 69 74 68 20 6e 65 67 61 | 74 69 76 65 20 76 61 6c |ith nega|tive val|
|000061f0| 75 65 73 2e 0a 41 20 7a | 65 72 6f 20 72 65 74 75 |ues..A z|ero retu|
|00006200| 72 6e 20 69 6e 64 69 63 | 61 74 65 73 20 6e 6f 20 |rn indic|ates no |
|00006210| 65 72 72 6f 72 2e 0a 52 | 6f 75 74 69 6e 65 73 20 |error..R|outines |
|00006220| 74 68 61 74 20 72 65 74 | 75 72 6e 20 61 0a 5c 66 |that ret|urn a.\f|
|00006230| 34 64 61 74 75 6d 5c 66 | 31 0a 69 6e 64 69 63 61 |4datum\f|1.indica|
|00006240| 74 65 20 65 72 72 6f 72 | 73 20 77 69 74 68 20 61 |te error|s with a|
|00006250| 0a 5c 73 2d 31 4e 55 4c | 4c 5c 73 30 0a 5c 66 34 |.\s-1NUL|L\s0.\f4|
|00006260| 5c 66 31 28 30 29 0a 5c | 66 32 64 70 74 72 5c 66 |\f1(0).\|f2dptr\f|
|00006270| 31 2e 0a 2e 62 72 0a 2e | 6e 65 20 38 0a 2e 53 48 |1...br..|ne 8..SH|
|00006280| 20 4e 4f 54 45 53 0a 54 | 68 65 0a 5c 66 34 5c 26 | NOTES.T|he.\f4\&|
|00006290| 2e 70 61 67 5c 66 31 0a | 66 69 6c 65 20 77 69 6c |.pag\f1.|file wil|
|000062a0| 6c 20 63 6f 6e 74 61 69 | 6e 20 68 6f 6c 65 73 20 |l contai|n holes |
|000062b0| 73 6f 20 74 68 61 74 20 | 69 74 73 20 61 70 70 61 |so that |its appa|
|000062c0| 72 65 6e 74 20 73 69 7a | 65 20 69 73 20 61 62 6f |rent siz|e is abo|
|000062d0| 75 74 0a 66 6f 75 72 20 | 74 69 6d 65 73 20 69 74 |ut.four |times it|
|000062e0| 73 20 61 63 74 75 61 6c | 20 63 6f 6e 74 65 6e 74 |s actual| content|
|000062f0| 2e 0a 4f 6c 64 65 72 0a | 76 65 72 73 69 6f 6e 73 |..Older.|versions|
|00006300| 20 6f 66 20 74 68 65 0a | 5c 73 2d 31 55 4e 49 58 | of the.|\s-1UNIX|
|00006310| 5c 73 30 0a 6f 70 65 72 | 61 74 69 6e 67 20 73 79 |\s0.oper|ating sy|
|00006320| 73 74 65 6d 20 6d 61 79 | 20 63 72 65 61 74 65 20 |stem may| create |
|00006330| 72 65 61 6c 0a 66 69 6c | 65 20 62 6c 6f 63 6b 73 |real.fil|e blocks|
|00006340| 20 66 6f 72 20 74 68 65 | 73 65 20 68 6f 6c 65 73 | for the|se holes|
|00006350| 20 77 68 65 6e 20 74 6f | 75 63 68 65 64 2e 0a 54 | when to|uched..T|
|00006360| 68 65 73 65 20 66 69 6c | 65 73 20 63 61 6e 6e 6f |hese fil|es canno|
|00006370| 74 20 62 65 20 63 6f 70 | 69 65 64 0a 62 79 20 6e |t be cop|ied.by n|
|00006380| 6f 72 6d 61 6c 20 6d 65 | 61 6e 73 0a 5b 74 68 61 |ormal me|ans.[tha|
|00006390| 74 20 69 73 2c 20 5c 66 | 34 63 70 5c 66 31 28 31 |t is, \f|4cp\f1(1|
|000063a0| 29 2c 0a 5c 66 34 63 61 | 74 5c 66 31 28 31 29 2c |),.\f4ca|t\f1(1),|
|000063b0| 0a 5c 66 34 74 61 72 5c | 66 31 28 31 29 2c 0a 5c |.\f4tar\|f1(1),.\|
|000063c0| 66 34 61 72 5c 66 31 28 | 31 29 5d 0a 77 69 74 68 |f4ar\f1(|1)].with|
|000063d0| 6f 75 74 20 66 69 6c 6c | 69 6e 67 20 69 6e 20 74 |out fill|ing in t|
|000063e0| 68 65 20 68 6f 6c 65 73 | 2e 0a 2e 50 0a 5c 66 32 |he holes|...P.\f2|
|000063f0| 64 70 74 72 5c 66 31 0a | 70 6f 69 6e 74 65 72 73 |dptr\f1.|pointers|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.