home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 202.img / SCO386N2.TD0 < prev    next >
Teledisk Disk Image  |  1990-06-07  |  1.0 MB

view JSON data     |     view as text     |     open on a Mac     |     open on a PC

This file was processed as: Teledisk Disk Image (archive/teledisk).

You can browse this item here: SCO386N2.TD0
File Comment
TD 1.4 5.25-96 HD MFM S-step, 2 sides


ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Teledisk Disk Image (archive/teledisk) magic Supported
100% file floppy image data (TeleDisk) default
99% file data default
100% TrID Teledisk Disk compressed image (normal mode) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 54 44 00 68 14 02 02 00 | 00 02 93 9e 0f 00 00 4c |TD.h....|.......L|
|00000010| 00 00 01 02 00 3b 71 00 | 02 00 2f 2e 2f 74 6d 70 |.....;q.|.././tmp|
|00000020| 2f 5f 6c 62 6c 2f 70 72 | 64 3d 78 6f 73 2f 74 79 |/_lbl/pr|d=xos/ty|
|00000030| 70 3d 33 38 36 41 54 2f | 72 65 6c 3d 32 2e 33 2e |p=386AT/|rel=2.3.|
|00000040| 32 64 2f 76 6f 6c 3d 4e | 30 32 01 1a 00 00 00 19 |2d/vol=N|02......|
|00000050| 00 20 20 20 34 34 34 20 | 00 20 20 20 20 20 30 20 |. 444 |. 0 |
|00000060| 00 20 20 20 20 20 30 20 | 00 01 05 20 20 00 16 30 |. 0 |... ..0|
|00000070| 20 20 34 33 36 32 37 37 | 36 31 31 31 20 20 31 33 | 436277|6111 13|
|00000080| 33 30 36 00 20 01 b2 00 | 00 00 00 02 02 00 f8 5d |306. ...|.......]|
|00000090| 00 02 00 18 2e 2f 75 73 | 72 2f 69 6e 63 6c 75 64 |...../us|r/includ|
|000000a0| 65 2f 73 79 73 2f 78 6d | 61 70 2e 68 01 26 00 00 |e/sys/xm|ap.h.&..|
|000000b0| 00 38 20 20 20 34 34 34 | 20 00 20 20 20 20 20 30 |.8 444| . 0|
|000000c0| 20 00 20 20 20 20 20 30 | 20 00 20 20 20 20 20 20 | . 0| . |
|000000d0| 20 32 37 34 32 20 20 34 | 32 34 34 33 34 30 31 34 | 2742 4|24434014|
|000000e0| 35 20 20 31 30 33 33 35 | 00 20 01 b2 00 00 00 00 |5 10335|. ......|
|000000f0| 03 02 00 7a 01 02 00 2f | 2a 0a 20 2a 09 40 28 23 |...z.../|*. *.@(#|
|00000100| 29 20 78 6d 61 70 2e 68 | 20 31 2e 31 20 38 38 2f |) xmap.h| 1.1 88/|
|00000110| 30 35 2f 31 38 20 0a 20 | 2a 0a 20 2a 09 43 6f 70 |05/18 . |*. *.Cop|
|00000120| 79 72 69 67 68 74 20 28 | 43 29 20 54 68 65 20 53 |yright (|C) The S|
|00000130| 61 6e 74 61 20 43 72 75 | 7a 20 4f 70 65 72 61 74 |anta Cru|z Operat|
|00000140| 69 6f 6e 2c 20 31 39 38 | 38 2e 0a 20 2a 09 43 6f |ion, 198|8.. *.Co|
|00000150| 70 79 72 69 67 68 74 20 | 28 43 29 20 4d 69 63 72 |pyright |(C) Micr|
|00000160| 6f 73 6f 66 74 20 43 6f | 72 70 6f 72 61 74 69 6f |osoft Co|rporatio|
|00000170| 6e 2c 20 31 39 38 38 2e | 0a 20 2a 09 54 68 69 73 |n, 1988.|. *.This|
|00000180| 20 4d 6f 64 75 6c 65 20 | 63 6f 6e 74 61 69 6e 73 | Module |contains|
|00000190| 20 50 72 6f 70 72 69 65 | 74 61 72 79 20 49 6e 66 | Proprie|tary Inf|
|000001a0| 6f 72 6d 61 74 69 6f 6e | 20 6f 66 0a 20 2a 09 54 |ormation| of. *.T|
|000001b0| 68 65 20 53 61 6e 74 61 | 20 43 72 75 7a 20 4f 70 |he Santa| Cruz Op|
|000001c0| 65 72 61 74 69 6f 6e 2c | 20 4d 69 63 72 6f 73 6f |eration,| Microso|
|000001d0| 66 74 20 43 6f 72 70 6f | 72 61 74 69 6f 6e 0a 20 |ft Corpo|ration. |
|000001e0| 2a 09 61 6e 64 20 41 54 | 26 54 2c 20 61 6e 64 20 |*.and AT|&T, and |
|000001f0| 73 68 6f 75 6c 64 20 62 | 65 20 74 72 65 61 74 65 |should b|e treate|
|00000200| 64 20 61 73 20 43 6f 6e | 66 69 64 65 6e 74 69 61 |d as Con|fidentia|
|00000210| 6c 2e 0a 20 2a 2f 0a 0a | 2f 2a 0a 20 2a 09 78 6d |l.. */..|/*. *.xm|
|00000220| 61 70 20 73 74 72 75 63 | 74 75 72 65 20 2d 20 70 |ap struc|ture - p|
|00000230| 72 6f 76 69 64 65 73 20 | 61 20 70 65 72 2d 74 74 |rovides |a per-tt|
|00000240| 79 20 73 74 72 75 63 74 | 75 72 65 20 66 6f 72 20 |y struct|ure for |
|00000250| 72 65 63 6f 72 64 69 6e | 67 0a 20 2a 09 73 74 61 |recordin|g. *.sta|
|00000260| 74 65 20 69 6e 66 6f 72 | 6d 61 74 69 6f 6e 20 62 |te infor|mation b|
|00000270| 79 20 65 6d 61 70 20 61 | 6e 64 20 6e 6d 61 70 20 |y emap a|nd nmap |
|00000280| 72 6f 75 74 69 6e 65 73 | 2e 20 20 41 6c 73 6f 20 |routines|. Also |
|00000290| 75 73 65 64 20 62 79 0a | 20 2a 09 73 65 6c 65 63 |used by.| *.selec|
|000002a0| 74 20 74 6f 20 61 76 6f | 69 64 20 63 6c 75 74 74 |t to avo|id clutt|
|000002b0| 65 72 69 6e 67 20 75 70 | 20 74 74 79 20 73 74 72 |ering up| tty str|
|000002c0| 75 63 74 75 72 65 2e 0a | 20 2a 2f 0a 0a 73 74 72 |ucture..| */..str|
|000002d0| 75 63 74 20 78 6d 61 70 | 20 7b 0a 09 2f 2a 0a 09 |uct xmap| {../*..|
|000002e0| 20 2a 09 73 65 6c 65 63 | 74 20 66 69 65 6c 64 73 | *.selec|t fields|
|000002f0| 0a 09 20 2a 2f 0a 09 00 | 00 04 02 00 35 01 02 00 |.. */...|....5...|
|00000300| 73 74 72 75 63 74 20 70 | 72 6f 63 20 2a 09 78 6d |struct p|roc *.xm|
|00000310| 5f 73 65 6c 72 64 3b 09 | 2f 2a 20 50 72 6f 63 65 |_selrd;.|/* Proce|
|00000320| 73 73 20 77 61 69 74 69 | 6e 67 20 6f 6e 20 73 65 |ss waiti|ng on se|
|00000330| 6c 77 61 69 74 20 28 72 | 65 61 64 29 20 2a 2f 0a |lwait (r|ead) */.|
|00000340| 09 73 74 72 75 63 74 20 | 70 72 6f 63 20 2a 09 78 |.struct |proc *.x|
|00000350| 6d 5f 73 65 6c 77 72 3b | 09 2f 2a 20 50 72 6f 63 |m_selwr;|./* Proc|
|00000360| 65 73 73 20 77 61 69 74 | 69 6e 67 20 6f 6e 20 73 |ess wait|ing on s|
|00000370| 65 6c 77 61 69 74 20 28 | 77 72 69 74 65 29 2a 2f |elwait (|write)*/|
|00000380| 0a 09 2f 2a 0a 20 09 20 | 2a 09 65 6d 61 70 20 66 |../*. . |*.emap f|
|00000390| 69 65 6c 64 73 20 28 75 | 73 65 64 20 74 6f 20 62 |ields (u|sed to b|
|000003a0| 65 20 69 6e 20 74 74 79 | 20 73 74 72 75 63 74 75 |e in tty| structu|
|000003b0| 72 65 29 0a 09 20 2a 2f | 0a 09 73 74 72 75 63 74 |re).. */|..struct|
|000003c0| 20 65 6d 61 70 20 2a 09 | 78 6d 5f 65 6d 70 3b 09 | emap *.|xm_emp;.|
|000003d0| 09 2f 2a 20 65 6d 61 70 | 70 69 6e 67 20 74 61 62 |./* emap|ping tab|
|000003e0| 6c 65 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |le */..u|nsigned |
|000003f0| 63 68 61 72 09 78 6d 5f | 65 6d 63 68 61 72 3b 09 |char.xm_|emchar;.|
|00000400| 2f 2a 20 73 61 76 65 64 | 20 65 6d 61 70 70 69 6e |/* saved| emappin|
|00000410| 67 20 63 68 61 72 20 2a | 2f 0a 09 75 6e 73 69 67 |g char *|/..unsig|
|00000420| 6e 65 64 20 63 68 61 72 | 09 78 6d 5f 65 6d 6f 6e |ned char|.xm_emon|
|00000430| 6d 61 70 3b 09 2f 2a 20 | 54 72 75 65 20 69 66 20 |map;./* |True if |
|00000440| 73 68 6f 75 6c 64 20 63 | 61 6c 6c 20 6e 6d 6d 61 |should c|all nmma|
|00000450| 70 6f 75 74 20 2a 2f 0a | 09 2f 2a 0a 09 20 2a 09 |pout */.|./*.. *.|
|00000460| 6e 6d 61 70 20 66 69 65 | 6c 64 73 0a 09 20 2a 2f |nmap fie|lds.. */|
|00000470| 0a 09 73 74 72 75 63 74 | 20 6e 6d 61 70 20 2a 09 |..struct| nmap *.|
|00000480| 78 6d 5f 6e 6d 70 3b 09 | 09 2f 2a 20 6e 6d 61 70 |xm_nmp;.|./* nmap|
|00000490| 70 69 6e 67 20 74 61 62 | 6c 65 20 2a 2f 0a 23 69 |ping tab|le */.#i|
|000004a0| 66 09 64 65 66 69 6e 65 | 64 28 4d 5f 49 30 38 36 |f.define|d(M_I086|
|000004b0| 29 20 7c 7c 20 64 65 66 | 69 6e 65 64 28 4d 5f 49 |) || def|ined(M_I|
|000004c0| 31 38 36 29 20 7c 7c 20 | 64 65 66 69 6e 65 64 28 |186) || |defined(|
|000004d0| 4d 5f 49 32 38 36 29 0a | 09 63 68 61 72 20 66 61 |M_I286).|.char fa|
|000004e0| 72 20 2a 09 78 6d 5f 6e | 6d 69 73 65 71 70 3b 09 |r *.xm_n|miseqp;.|
|000004f0| 2f 2a 20 43 75 72 72 65 | 6e 74 20 70 6f 73 20 69 |/* Curre|nt pos i|
|00000500| 00 00 05 02 00 b2 01 02 | 00 6e 20 6c 65 61 64 2d |........|.n lead-|
|00000510| 69 6e 20 28 69 6e 70 75 | 74 29 20 2a 2f 0a 09 63 |in (inpu|t) */..c|
|00000520| 68 61 72 20 66 61 72 20 | 2a 09 78 6d 5f 6e 6d 6f |har far |*.xm_nmo|
|00000530| 73 65 71 70 3b 09 2f 2a | 20 43 75 72 72 65 6e 74 |seqp;./*| Current|
|00000540| 20 70 6f 73 20 69 6e 20 | 6c 65 61 64 2d 69 6e 20 | pos in |lead-in |
|00000550| 28 6f 75 74 70 75 74 29 | 20 2a 2f 0a 23 65 6c 73 |(output)| */.#els|
|00000560| 65 0a 09 63 68 61 72 20 | 2a 09 09 78 6d 5f 6e 6d |e..char |*..xm_nm|
|00000570| 69 73 65 71 70 3b 09 2f | 2a 20 43 75 72 72 65 6e |iseqp;./|* Curren|
|00000580| 74 20 70 6f 73 20 69 6e | 20 6c 65 61 64 2d 69 6e |t pos in| lead-in|
|00000590| 20 28 69 6e 70 75 74 29 | 20 2a 2f 0a 09 63 68 61 | (input)| */..cha|
|000005a0| 72 20 2a 09 09 78 6d 5f | 6e 6d 6f 73 65 71 70 3b |r *..xm_|nmoseqp;|
|000005b0| 09 2f 2a 20 43 75 72 72 | 65 6e 74 20 70 6f 73 20 |./* Curr|ent pos |
|000005c0| 69 6e 20 6c 65 61 64 2d | 69 6e 20 28 6f 75 74 70 |in lead-|in (outp|
|000005d0| 75 74 29 20 2a 2f 0a 23 | 65 6e 64 69 66 0a 09 75 |ut) */.#|endif..u|
|000005e0| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 09 78 6d |nsigned |short.xm|
|000005f0| 5f 6e 6d 69 6e 63 6e 74 | 3b 09 2f 2a 20 23 20 63 |_nmincnt|;./* # c|
|00000600| 68 61 72 73 20 6c 65 66 | 74 20 69 6e 20 74 72 61 |hars lef|t in tra|
|00000610| 69 6c 65 72 20 28 69 6e | 70 75 74 29 20 2a 2f 0a |iler (in|put) */.|
|00000620| 09 75 6e 73 69 67 6e 65 | 64 20 73 68 6f 72 74 09 |.unsigne|d short.|
|00000630| 78 6d 5f 6e 6d 6f 6e 63 | 6e 74 3b 09 2f 2a 20 23 |xm_nmonc|nt;./* #|
|00000640| 20 63 68 61 72 73 20 6c | 65 66 74 20 69 6e 20 74 | chars l|eft in t|
|00000650| 72 61 69 6c 65 72 20 28 | 6f 75 74 70 75 74 29 20 |railer (|output) |
|00000660| 2a 2f 0a 09 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |*/..unsi|gned cha|
|00000670| 72 09 78 6d 5f 6e 6d 69 | 73 65 71 6e 3b 09 2f 2a |r.xm_nmi|seqn;./*|
|00000680| 20 49 6e 64 65 78 20 6f | 66 20 63 75 72 72 65 6e | Index o|f curren|
|00000690| 74 20 6c 65 61 64 2d 69 | 6e 20 28 69 6e 70 75 74 |t lead-i|n (input|
|000006a0| 29 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 63 |) */..un|signed c|
|000006b0| 68 61 72 09 78 6d 5f 6e | 6d 6f 73 65 71 6e 3b 09 |har.xm_n|moseqn;.|
|000006c0| 2f 2a 20 49 6e 64 65 78 | 20 6f 66 20 63 75 72 72 |/* Index| of curr|
|000006d0| 65 6e 74 20 6c 65 61 64 | 2d 69 6e 20 28 6f 75 74 |ent lead|-in (out|
|000006e0| 70 75 74 29 20 2a 2f 0a | 7d 3b 0a 2a 09 78 6d 5f |put) */.|};.*.xm_|
|000006f0| 6e 6d 69 73 65 71 70 3b | 09 2f 2a 20 43 75 72 72 |nmiseqp;|./* Curr|
|00000700| 65 6e 74 20 70 6f 73 20 | 69 00 00 06 02 00 8c 5d |ent pos |i......]|
|00000710| 00 02 00 18 2e 2f 75 73 | 72 2f 69 6e 63 6c 75 64 |...../us|r/includ|
|00000720| 65 2f 73 79 73 2f 76 74 | 6b 64 2e 68 01 26 00 00 |e/sys/vt|kd.h.&..|
|00000730| 00 38 20 20 20 34 34 34 | 20 00 20 20 20 20 20 30 |.8 444| . 0|
|00000740| 20 00 20 20 20 20 20 30 | 20 00 20 20 20 20 20 20 | . 0| . |
|00000750| 31 31 33 30 34 20 20 34 | 32 35 37 35 36 33 33 30 |11304 4|25756330|
|00000760| 36 20 20 31 30 33 36 34 | 00 20 01 b2 00 00 00 00 |6 10364|. ......|
|00000770| 07 02 00 98 01 02 00 2f | 2a 0a 20 2a 09 40 28 23 |......./|*. *.@(#|
|00000780| 29 20 76 74 6b 64 2e 68 | 20 31 2e 33 20 38 38 2f |) vtkd.h| 1.3 88/|
|00000790| 30 36 2f 32 31 20 0a 20 | 2a 0a 20 2a 09 43 6f 70 |06/21 . |*. *.Cop|
|000007a0| 79 72 69 67 68 74 20 28 | 43 29 20 54 68 65 20 53 |yright (|C) The S|
|000007b0| 61 6e 74 61 20 43 72 75 | 7a 20 4f 70 65 72 61 74 |anta Cru|z Operat|
|000007c0| 69 6f 6e 2c 20 31 39 38 | 34 2c 20 31 39 38 35 2c |ion, 198|4, 1985,|
|000007d0| 20 31 39 38 36 2c 20 31 | 39 38 37 2c 20 31 39 38 | 1986, 1|987, 198|
|000007e0| 38 2e 0a 20 2a 09 43 6f | 70 79 72 69 67 68 74 20 |8.. *.Co|pyright |
|000007f0| 28 43 29 20 4d 69 63 72 | 6f 73 6f 66 74 20 43 6f |(C) Micr|osoft Co|
|00000800| 72 70 6f 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |rporatio|n, 1984,|
|00000810| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|00000820| 37 2c 20 31 39 38 38 2e | 0a 20 2a 09 54 68 69 73 |7, 1988.|. *.This|
|00000830| 20 4d 6f 64 75 6c 65 20 | 63 6f 6e 74 61 69 6e 73 | Module |contains|
|00000840| 20 50 72 6f 70 72 69 65 | 74 61 72 79 20 49 6e 66 | Proprie|tary Inf|
|00000850| 6f 72 6d 61 74 69 6f 6e | 20 6f 66 0a 20 2a 09 54 |ormation| of. *.T|
|00000860| 68 65 20 53 61 6e 74 61 | 20 43 72 75 7a 20 4f 70 |he Santa| Cruz Op|
|00000870| 65 72 61 74 69 6f 6e 2c | 20 4d 69 63 72 6f 73 6f |eration,| Microso|
|00000880| 66 74 20 43 6f 72 70 6f | 72 61 74 69 6f 6e 0a 20 |ft Corpo|ration. |
|00000890| 2a 09 61 6e 64 20 41 54 | 26 54 2c 20 61 6e 64 20 |*.and AT|&T, and |
|000008a0| 73 68 6f 75 6c 64 20 62 | 65 20 74 72 65 61 74 65 |should b|e treate|
|000008b0| 64 20 61 73 20 43 6f 6e | 66 69 64 65 6e 74 69 61 |d as Con|fidentia|
|000008c0| 6c 2e 0a 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 |l.. */..|#define |
|000008d0| 4d 4f 4e 4f 5f 42 41 53 | 45 09 30 78 62 30 30 30 |MONO_BAS|E.0xb000|
|000008e0| 30 09 2f 2a 20 6c 6f 63 | 61 74 69 6f 6e 20 6f 66 |0./* loc|ation of|
|000008f0| 20 6d 6f 6e 6f 20 64 69 | 73 70 6c 61 79 20 6d 65 | mono di|splay me|
|00000900| 6d 6f 72 79 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |mory */.|#define |
|00000910| 43 4f 4c 4f 52 5f 42 41 | 53 45 09 30 78 62 38 30 |COLOR_BA|SE.0xb80|
|00000920| 30 30 09 2f 2a 20 6c 6f | 63 61 74 69 6f 6e 20 6f |00./* lo|cation o|
|00000930| 66 20 63 6f 6c 6f 72 20 | 64 69 73 70 6c 61 79 20 |f color |display |
|00000940| 6d 65 6d 6f 72 79 20 2a | 2f 0a 23 64 65 66 69 6e |memory *|/.#defin|
|00000950| 65 20 45 47 41 5f 42 41 | 53 45 09 30 78 61 30 30 |e EGA_BA|SE.0xa00|
|00000960| 30 30 09 2f 2a 20 6c 6f | 63 61 74 69 6f 6e 20 6f |00./* lo|cation o|
|00000970| 66 20 65 67 61 20 64 00 | 00 08 02 00 c1 01 02 00 |f ega d.|........|
|00000980| 69 73 70 6c 61 79 20 6d | 65 6d 6f 72 79 20 2a 2f |isplay m|emory */|
|00000990| 0a 0a 2f 2a 20 6b 65 79 | 62 6f 61 72 64 20 74 79 |../* key|board ty|
|000009a0| 70 65 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 4b |pes */.#|define.K|
|000009b0| 42 5f 38 34 09 09 31 09 | 2f 2a 20 38 34 20 6b 65 |B_84..1.|/* 84 ke|
|000009c0| 79 20 6b 65 79 62 6f 61 | 72 64 20 2a 2f 0a 23 64 |y keyboa|rd */.#d|
|000009d0| 65 66 69 6e 65 20 4b 42 | 5f 31 30 31 09 09 32 09 |efine KB|_101..2.|
|000009e0| 2f 2a 20 31 30 31 2f 31 | 30 32 20 6b 65 79 20 6b |/* 101/1|02 key k|
|000009f0| 65 79 62 6f 61 72 64 20 | 2a 2f 0a 23 64 65 66 69 |eyboard |*/.#defi|
|00000a00| 6e 65 20 4b 42 5f 4f 54 | 48 45 52 09 33 09 2f 2a |ne KB_OT|HER.3./*|
|00000a10| 20 6f 74 68 65 72 20 28 | 75 6e 6b 6e 6f 77 6e 29 | other (|unknown)|
|00000a20| 20 6b 65 79 62 6f 61 72 | 64 20 2a 2f 0a 0a 2f 2a | keyboar|d */../*|
|00000a30| 0a 20 2a 20 69 6f 63 74 | 6c 73 20 73 75 70 70 6f |. * ioct|ls suppo|
|00000a40| 72 74 65 64 20 62 79 20 | 74 68 65 20 56 54 0a 20 |rted by |the VT. |
|00000a50| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 56 54 49 4f 43 |*/.#defi|ne VTIOC|
|00000a60| 09 09 28 27 76 27 20 3c | 3c 20 38 29 0a 23 64 65 |..('v' <|< 8).#de|
|00000a70| 66 69 6e 65 20 56 54 5f | 4f 50 45 4e 51 52 59 09 |fine VT_|OPENQRY.|
|00000a80| 28 56 54 49 4f 43 20 7c | 20 31 29 09 2f 2a 20 69 |(VTIOC || 1)./* i|
|00000a90| 6e 71 75 69 72 65 73 20 | 69 66 20 74 68 69 73 20 |nquires |if this |
|00000aa0| 76 74 20 61 6c 72 65 61 | 64 79 20 6f 70 65 6e 20 |vt alrea|dy open |
|00000ab0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 56 54 5f 53 45 |*/.#defi|ne VT_SE|
|00000ac0| 54 4d 4f 44 45 09 28 56 | 54 49 4f 43 20 7c 20 32 |TMODE.(V|TIOC | 2|
|00000ad0| 29 09 2f 2a 20 73 65 74 | 20 76 74 20 69 6e 74 6f |)./* set| vt into|
|00000ae0| 20 61 75 74 6f 20 6f 72 | 20 70 72 6f 63 65 73 73 | auto or| process|
|00000af0| 20 6d 6f 64 65 20 2a 2f | 0a 23 64 65 66 69 6e 65 | mode */|.#define|
|00000b00| 20 56 54 5f 47 45 54 4d | 4f 44 45 09 28 56 54 49 | VT_GETM|ODE.(VTI|
|00000b10| 4f 43 20 7c 20 33 29 09 | 2f 2a 20 72 65 74 75 72 |OC | 3).|/* retur|
|00000b20| 6e 73 20 6d 6f 64 65 20 | 76 74 20 69 73 20 63 75 |ns mode |vt is cu|
|00000b30| 72 72 65 6e 74 6c 79 20 | 69 6e 20 20 2a 2f 0a 23 |rrently |in */.#|
|00000b40| 64 65 66 69 6e 65 20 56 | 54 5f 52 45 4c 44 49 53 |define V|T_RELDIS|
|00000b50| 50 09 28 56 54 49 4f 43 | 20 7c 20 34 29 09 2f 2a |P.(VTIOC| | 4)./*|
|00000b60| 20 74 65 6c 6c 73 20 76 | 74 20 77 68 65 6e 20 64 | tells v|t when d|
|00000b70| 69 73 70 6c 61 79 20 72 | 65 6c 65 61 73 65 64 20 |isplay r|eleased |
|00000b80| 00 00 09 02 00 bf 01 02 | 00 20 20 2a 2f 0a 23 64 |........|. */.#d|
|00000b90| 65 66 69 6e 65 20 56 54 | 5f 41 43 54 49 56 41 54 |efine VT|_ACTIVAT|
|00000ba0| 45 09 28 56 54 49 4f 43 | 20 7c 20 35 29 09 2f 2a |E.(VTIOC| | 5)./*|
|00000bb0| 20 61 63 74 69 76 61 74 | 65 73 20 73 70 65 63 69 | activat|es speci|
|00000bc0| 66 69 65 64 20 76 74 20 | 09 20 20 20 20 2a 2f 0a |fied vt |. */.|
|00000bd0| 0a 2f 2a 0a 20 2a 20 6d | 6f 64 65 73 20 6f 66 20 |./*. * m|odes of |
|00000be0| 56 54 5f 52 45 4c 44 49 | 53 50 0a 20 2a 2f 0a 23 |VT_RELDI|SP. */.#|
|00000bf0| 64 65 66 69 6e 65 20 56 | 54 5f 46 41 4c 53 45 09 |define V|T_FALSE.|
|00000c00| 30 09 2f 2a 20 75 73 65 | 72 20 77 69 6c 6c 20 6e |0./* use|r will n|
|00000c10| 6f 74 20 72 65 6c 65 61 | 73 65 20 64 69 73 70 6c |ot relea|se displ|
|00000c20| 61 79 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 56 54 |ay.*/.#d|efine VT|
|00000c30| 5f 54 52 55 45 09 09 31 | 09 2f 2a 20 75 73 65 72 |_TRUE..1|./* user|
|00000c40| 20 72 65 6c 65 61 73 65 | 73 20 64 69 73 70 6c 61 | release|s displa|
|00000c50| 79 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 56 54 |y..*/.#d|efine VT|
|00000c60| 5f 41 43 4b 41 43 51 09 | 32 09 2f 2a 20 75 73 65 |_ACKACQ.|2./* use|
|00000c70| 72 20 61 63 6b 6e 6f 77 | 6c 65 67 65 73 20 74 68 |r acknow|leges th|
|00000c80| 65 20 61 63 71 75 69 72 | 65 20 73 69 67 6e 61 6c |e acquir|e signal|
|00000c90| 09 2a 2f 0a 0a 73 74 72 | 75 63 74 20 76 74 5f 6d |.*/..str|uct vt_m|
|00000ca0| 6f 64 65 20 7b 0a 09 63 | 68 61 72 09 6d 6f 64 65 |ode {..c|har.mode|
|00000cb0| 3b 09 2f 2a 20 6d 6f 64 | 65 20 74 6f 20 73 65 74 |;./* mod|e to set|
|00000cc0| 20 76 74 20 69 6e 74 6f | 09 09 09 09 2a 2f 0a 09 | vt into|....*/..|
|00000cd0| 63 68 61 72 09 77 61 69 | 74 76 3b 09 2f 2a 20 69 |char.wai|tv;./* i|
|00000ce0| 66 20 21 3d 20 30 2c 20 | 76 74 20 68 61 6e 67 73 |f != 0, |vt hangs|
|00000cf0| 20 6f 6e 20 77 72 69 74 | 65 73 20 77 68 65 6e 20 | on writ|es when |
|00000d00| 6e 6f 74 20 61 63 74 69 | 76 65 09 2a 2f 0a 09 73 |not acti|ve.*/..s|
|00000d10| 68 6f 72 74 09 72 65 6c | 73 69 67 3b 09 2f 2a 20 |hort.rel|sig;./* |
|00000d20| 73 69 67 6e 61 6c 20 74 | 6f 20 75 73 65 20 66 6f |signal t|o use fo|
|00000d30| 72 20 72 65 6c 65 61 73 | 65 20 72 65 71 75 65 73 |r releas|e reques|
|00000d40| 74 09 09 2a 2f 0a 09 73 | 68 6f 72 74 09 61 63 71 |t..*/..s|hort.acq|
|00000d50| 73 69 67 3b 09 2f 2a 20 | 73 69 67 6e 61 6c 20 74 |sig;./* |signal t|
|00000d60| 6f 20 75 73 65 20 66 6f | 72 20 72 65 6c 65 61 73 |o use fo|r releas|
|00000d70| 65 20 72 65 71 75 65 73 | 74 09 09 2a 2f 0a 09 73 |e reques|t..*/..s|
|00000d80| 68 6f 72 74 09 66 72 73 | 69 00 00 0a 02 00 66 01 |hort.frs|i.....f.|
|00000d90| 02 00 67 3b 09 2f 2a 20 | 73 69 67 6e 61 6c 20 74 |..g;./* |signal t|
|00000da0| 6f 20 75 73 65 20 66 6f | 72 20 66 6f 72 63 65 64 |o use fo|r forced|
|00000db0| 20 72 65 6c 65 61 73 65 | 09 09 2a 2f 0a 7d 3b 0a | release|..*/.};.|
|00000dc0| 0a 23 64 65 66 69 6e 65 | 20 56 54 5f 41 55 54 4f |.#define| VT_AUTO|
|00000dd0| 09 09 30 09 2f 2a 20 74 | 68 69 73 20 76 74 73 20 |..0./* t|his vts |
|00000de0| 73 77 69 74 63 68 69 6e | 67 20 69 73 20 61 75 74 |switchin|g is aut|
|00000df0| 6f 6d 61 74 69 63 09 20 | 20 20 20 2a 2f 0a 23 64 |omatic. | */.#d|
|00000e00| 65 66 69 6e 65 20 56 54 | 5f 50 52 4f 43 45 53 53 |efine VT|_PROCESS|
|00000e10| 09 31 09 2f 2a 20 74 68 | 69 73 20 76 74 73 20 73 |.1./* th|is vts s|
|00000e20| 77 69 74 63 68 69 6e 67 | 20 63 6f 6e 74 72 6f 6c |witching| control|
|00000e30| 6c 65 64 20 62 79 20 70 | 72 6f 63 65 73 73 20 2a |led by p|rocess *|
|00000e40| 2f 0a 0a 23 64 65 66 69 | 6e 65 09 4b 49 4f 43 09 |/..#defi|ne.KIOC.|
|00000e50| 09 28 27 4b 27 20 3c 3c | 20 38 29 0a 23 64 65 66 |.('K' <<| 8).#def|
|00000e60| 69 6e 65 09 4b 44 44 49 | 53 50 54 59 50 45 09 28 |ine.KDDI|SPTYPE.(|
|00000e70| 4b 49 4f 43 20 7c 20 31 | 29 09 2f 2a 20 72 65 74 |KIOC | 1|)./* ret|
|00000e80| 75 72 6e 20 64 69 73 70 | 6c 61 79 20 74 79 70 65 |urn disp|lay type|
|00000e90| 20 74 6f 20 75 73 65 72 | 09 20 20 20 20 2a 2f 0a | to user|. */.|
|00000ea0| 23 64 65 66 69 6e 65 20 | 4b 44 4d 41 50 44 49 53 |#define |KDMAPDIS|
|00000eb0| 50 09 28 4b 49 4f 43 20 | 7c 20 32 29 09 2f 2a 20 |P.(KIOC || 2)./* |
|00000ec0| 6d 61 70 20 64 69 73 70 | 6c 61 79 20 69 6e 74 6f |map disp|lay into|
|00000ed0| 20 75 73 65 72 20 73 70 | 61 63 65 20 20 20 20 20 | user sp|ace |
|00000ee0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4b 44 55 4e | */.#def|ine KDUN|
|00000ef0| 4d 41 50 44 49 53 50 09 | 28 4b 49 4f 43 20 7c 20 |MAPDISP.|(KIOC | |
|00000f00| 33 29 09 2f 2a 20 75 6e | 6d 61 70 20 64 69 73 70 |3)./* un|map disp|
|00000f10| 6c 61 79 20 66 72 6f 6d | 20 75 73 65 72 20 73 70 |lay from| user sp|
|00000f20| 61 63 65 20 20 20 20 2a | 2f 0a 23 64 65 66 69 6e |ace *|/.#defin|
|00000f30| 65 20 4b 44 47 4b 42 4d | 4f 44 45 09 28 4b 49 4f |e KDGKBM|ODE.(KIO|
|00000f40| 43 20 7c 20 36 29 09 2f | 2a 20 67 65 74 20 6b 65 |C | 6)./|* get ke|
|00000f50| 79 62 6f 61 72 64 20 74 | 72 61 6e 73 6c 61 74 69 |yboard t|ranslati|
|00000f60| 6f 6e 20 6d 6f 64 65 20 | 20 20 20 2a 2f 0a 23 64 |on mode | */.#d|
|00000f70| 65 66 69 6e 65 20 4b 44 | 53 4b 42 4d 4f 44 45 09 |efine KD|SKBMODE.|
|00000f80| 28 4b 49 4f 43 20 7c 20 | 37 29 09 2f 2a 20 73 65 |(KIOC | |7)./* se|
|00000f90| 74 20 00 00 0b 02 00 65 | 01 02 00 6b 65 79 62 6f |t .....e|...keybo|
|00000fa0| 61 72 64 20 74 72 61 6e | 73 6c 61 74 69 6f 6e 20 |ard tran|slation |
|00000fb0| 6d 6f 64 65 20 20 20 20 | 2a 2f 0a 23 64 65 66 69 |mode |*/.#defi|
|00000fc0| 6e 65 20 4b 44 4d 4b 54 | 4f 4e 45 09 28 4b 49 4f |ne KDMKT|ONE.(KIO|
|00000fd0| 43 20 7c 20 38 29 09 2f | 2a 20 76 70 69 78 20 65 |C | 8)./|* vpix e|
|00000fe0| 72 72 6f 72 20 73 6f 75 | 6e 64 20 67 65 6e 65 72 |rror sou|nd gener|
|00000ff0| 61 74 69 6f 6e 20 20 20 | 20 20 20 2a 2f 0a 23 64 |ation | */.#d|
|00001000| 65 66 69 6e 65 20 4b 44 | 47 45 54 4d 4f 44 45 09 |efine KD|GETMODE.|
|00001010| 28 4b 49 4f 43 20 7c 20 | 39 29 09 2f 2a 20 67 65 |(KIOC | |9)./* ge|
|00001020| 74 20 74 65 78 74 2f 67 | 72 61 70 68 69 63 73 20 |t text/g|raphics |
|00001030| 6d 6f 64 65 20 20 09 20 | 20 20 20 2a 2f 0a 23 64 |mode . | */.#d|
|00001040| 65 66 69 6e 65 20 4b 44 | 53 45 54 4d 4f 44 45 09 |efine KD|SETMODE.|
|00001050| 28 4b 49 4f 43 20 7c 20 | 31 30 29 09 2f 2a 20 73 |(KIOC | |10)./* s|
|00001060| 65 74 20 74 65 78 74 2f | 67 72 61 70 68 69 63 73 |et text/|graphics|
|00001070| 20 6d 6f 64 65 09 20 20 | 20 20 2a 2f 0a 23 64 65 | mode. | */.#de|
|00001080| 66 69 6e 65 20 4b 44 41 | 44 44 49 4f 09 09 28 4b |fine KDA|DDIO..(K|
|00001090| 49 4f 43 20 7c 20 31 31 | 29 09 2f 2a 20 61 64 64 |IOC | 11|)./* add|
|000010a0| 20 49 2f 4f 20 61 64 64 | 72 65 73 73 20 74 6f 20 | I/O add|ress to |
|000010b0| 6c 69 73 74 09 20 20 20 | 20 2a 2f 0a 23 64 65 66 |list. | */.#def|
|000010c0| 69 6e 65 20 4b 44 44 45 | 4c 49 4f 09 09 28 4b 49 |ine KDDE|LIO..(KI|
|000010d0| 4f 43 20 7c 20 31 32 29 | 09 2f 2a 20 64 65 6c 65 |OC | 12)|./* dele|
|000010e0| 74 65 20 49 2f 4f 20 61 | 64 64 72 65 73 73 20 66 |te I/O a|ddress f|
|000010f0| 72 6f 6d 20 6c 69 73 74 | 20 20 20 20 20 2a 2f 0a |rom list| */.|
|00001100| 23 64 65 66 69 6e 65 20 | 4b 49 4f 43 44 4f 53 4d |#define |KIOCDOSM|
|00001110| 4f 44 45 20 20 20 20 20 | 28 4b 49 4f 43 20 7c 20 |ODE |(KIOC | |
|00001120| 31 36 29 20 20 20 20 20 | 2f 2a 20 73 65 74 20 44 |16) |/* set D|
|00001130| 4f 53 4d 4f 44 45 09 09 | 09 20 20 20 20 2a 2f 0a |OSMODE..|. */.|
|00001140| 23 64 65 66 69 6e 65 20 | 4b 49 4f 43 4e 4f 4e 44 |#define |KIOCNOND|
|00001150| 4f 53 4d 4f 44 45 20 20 | 28 4b 49 4f 43 20 7c 20 |OSMODE |(KIOC | |
|00001160| 31 37 29 20 20 20 20 20 | 2f 2a 20 63 6c 65 61 72 |17) |/* clear|
|00001170| 20 44 4f 53 4d 4f 44 45 | 09 09 20 20 20 20 2a 2f | DOSMODE|.. */|
|00001180| 0a 23 64 65 66 69 6e 65 | 20 4b 44 44 49 53 50 49 |.#define| KDDISPI|
|00001190| 4e 46 4f 09 28 4b 49 4f | 43 20 7c 00 00 0c 02 00 |NFO.(KIO|C |.....|
|000011a0| 63 01 02 00 20 31 38 29 | 09 2f 2a 20 67 65 74 20 |c... 18)|./* get |
|000011b0| 64 69 73 70 6c 61 79 20 | 73 74 61 72 74 20 61 6e |display |start an|
|000011c0| 64 20 73 69 7a 65 09 20 | 20 20 20 2a 2f 0a 23 64 |d size. | */.#d|
|000011d0| 65 66 69 6e 65 20 4b 44 | 47 4b 42 53 54 41 54 45 |efine KD|GKBSTATE|
|000011e0| 09 28 4b 49 4f 43 20 7c | 20 31 39 29 09 2f 2a 20 |.(KIOC || 19)./* |
|000011f0| 67 65 74 20 73 74 61 74 | 65 20 6f 66 20 6b 65 79 |get stat|e of key|
|00001200| 62 6f 61 72 64 20 73 68 | 69 66 74 20 6b 65 79 73 |board sh|ift keys|
|00001210| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 20 4b 44 45 | */..#de|fine KDE|
|00001220| 4e 41 42 49 4f 09 28 4b | 49 4f 43 20 7c 20 36 30 |NABIO.(K|IOC | 60|
|00001230| 29 20 09 2f 2a 20 65 6e | 61 62 6c 65 20 49 4f 50 |) ./* en|able IOP|
|00001240| 4c 20 09 09 09 20 20 20 | 20 2a 2f 0a 23 64 65 66 |L ... | */.#def|
|00001250| 69 6e 65 20 4b 44 44 49 | 53 41 42 49 4f 09 28 4b |ine KDDI|SABIO.(K|
|00001260| 49 4f 43 20 7c 20 36 31 | 29 09 2f 2a 20 64 69 73 |IOC | 61|)./* dis|
|00001270| 61 62 6c 65 20 49 4f 50 | 4c 09 09 09 20 20 20 20 |able IOP|L... |
|00001280| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4b 49 4f 43 49 |*/.#defi|ne KIOCI|
|00001290| 4e 46 4f 09 28 4b 49 4f | 43 20 7c 20 36 32 29 09 |NFO.(KIO|C | 62).|
|000012a0| 2f 2a 20 74 65 6c 6c 20 | 75 73 65 72 20 77 68 61 |/* tell |user wha|
|000012b0| 74 20 64 65 76 69 63 65 | 20 77 65 20 61 72 65 20 |t device| we are |
|000012c0| 20 20 20 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 4b | */.#|define K|
|000012d0| 49 4f 43 53 4f 55 4e 44 | 09 28 4b 49 4f 43 20 7c |IOCSOUND|.(KIOC ||
|000012e0| 20 36 33 29 09 2f 2a 20 | 73 74 61 72 74 20 73 6f | 63)./* |start so|
|000012f0| 75 6e 64 20 67 65 6e 65 | 72 61 74 69 6f 6e 09 20 |und gene|ration. |
|00001300| 20 20 20 2a 2f 20 0a 23 | 64 65 66 69 6e 65 20 4b | */ .#|define K|
|00001310| 44 47 4b 42 54 59 50 45 | 09 28 4b 49 4f 43 20 7c |DGKBTYPE|.(KIOC ||
|00001320| 20 36 34 29 09 2f 2a 20 | 67 65 74 20 6b 65 79 62 | 64)./* |get keyb|
|00001330| 6f 61 72 64 20 74 79 70 | 65 09 09 20 20 20 20 2a |oard typ|e.. *|
|00001340| 2f 0a 23 64 65 66 69 6e | 65 20 4b 44 47 45 54 4c |/.#defin|e KDGETL|
|00001350| 45 44 09 28 4b 49 4f 43 | 20 7c 20 36 35 29 09 2f |ED.(KIOC| | 65)./|
|00001360| 2a 20 67 65 74 20 63 75 | 72 72 65 6e 74 20 6c 65 |* get cu|rrent le|
|00001370| 64 20 73 74 61 74 65 73 | 09 20 20 20 20 2a 2f 0a |d states|. */.|
|00001380| 23 64 65 66 69 6e 65 20 | 4b 44 53 45 54 4c 45 44 |#define |KDSETLED|
|00001390| 09 28 4b 49 4f 43 20 7c | 20 36 36 29 09 2f 2a 20 |.(KIOC || 66)./* |
|000013a0| 73 65 74 20 00 00 0d 02 | 00 8c 01 02 00 63 75 72 |set ....|.....cur|
|000013b0| 72 65 6e 74 20 6c 65 64 | 20 73 74 61 74 65 73 09 |rent led| states.|
|000013c0| 20 20 20 20 2a 2f 0a 0a | 2f 2a 0a 20 2a 20 72 65 | */..|/*. * re|
|000013d0| 74 75 72 6e 20 76 61 6c | 75 65 73 20 66 6f 72 20 |turn val|ues for |
|000013e0| 6b 64 64 69 73 70 74 79 | 70 65 0a 20 2a 2f 0a 23 |kddispty|pe. */.#|
|000013f0| 64 65 66 69 6e 65 20 4b | 44 5f 4d 4f 4e 4f 09 09 |define K|D_MONO..|
|00001400| 30 31 09 2f 2a 20 6d 6f | 6e 6f 63 68 72 6f 6d 65 |01./* mo|nochrome|
|00001410| 20 64 69 73 70 6c 61 79 | 20 61 64 61 70 74 65 72 | display| adapter|
|00001420| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4b 44 5f 48 | */.#def|ine KD_H|
|00001430| 45 52 43 55 4c 45 53 09 | 30 32 09 2f 2a 20 48 65 |ERCULES.|02./* He|
|00001440| 72 63 75 6c 65 73 20 6d | 6f 6e 6f 63 68 72 6f 6d |rcules m|onochrom|
|00001450| 65 20 67 72 61 70 68 69 | 63 73 20 61 64 61 70 74 |e graphi|cs adapt|
|00001460| 65 72 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 4b 44 |er */.#d|efine KD|
|00001470| 5f 43 47 41 09 09 30 33 | 09 2f 2a 20 43 6f 6c 6f |_CGA..03|./* Colo|
|00001480| 72 20 20 20 20 67 72 61 | 70 68 69 63 73 20 61 64 |r gra|phics ad|
|00001490| 61 70 74 65 72 09 2a 2f | 0a 23 64 65 66 69 6e 65 |apter.*/|.#define|
|000014a0| 20 4b 44 5f 45 47 41 09 | 09 30 34 09 2f 2a 20 45 | KD_EGA.|.04./* E|
|000014b0| 6e 68 61 6e 63 65 64 20 | 67 72 61 70 68 69 63 73 |nhanced |graphics|
|000014c0| 20 61 64 61 70 74 65 72 | 09 2a 2f 0a 23 64 65 66 | adapter|.*/.#def|
|000014d0| 69 6e 65 20 4b 44 5f 56 | 47 41 09 09 30 35 09 2f |ine KD_V|GA..05./|
|000014e0| 2a 20 56 69 64 65 6f 20 | 20 20 20 67 72 61 70 68 |* Video | graph|
|000014f0| 69 63 73 20 61 64 61 70 | 74 65 72 09 2a 2f 0a 0a |ics adap|ter.*/..|
|00001500| 2f 2a 0a 20 2a 20 61 72 | 67 75 6d 65 6e 74 73 20 |/*. * ar|guments |
|00001510| 74 6f 20 4b 44 53 45 54 | 4d 4f 44 45 2f 4b 44 47 |to KDSET|MODE/KDG|
|00001520| 45 54 4d 4f 44 45 0a 20 | 2a 2f 0a 23 64 65 66 69 |ETMODE. |*/.#defi|
|00001530| 6e 65 20 4b 44 5f 54 45 | 58 54 09 09 30 09 2f 2a |ne KD_TE|XT..0./*|
|00001540| 20 61 6e 73 69 20 78 33 | 2e 36 34 20 65 6d 75 6c | ansi x3|.64 emul|
|00001550| 61 74 69 6f 6e 20 6d 6f | 64 65 09 09 20 20 20 20 |ation mo|de.. |
|00001560| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4b 44 5f 54 45 |*/.#defi|ne KD_TE|
|00001570| 58 54 30 09 30 09 2f 2a | 20 6d 6f 72 65 20 6f 66 |XT0.0./*| more of|
|00001580| 20 74 68 65 20 73 61 6d | 65 09 09 09 20 20 20 20 | the sam|e... |
|00001590| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4b 44 5f 47 52 |*/.#defi|ne KD_GR|
|000015a0| 41 50 48 49 43 53 09 31 | 09 2f 2a 20 67 00 00 0e |APHICS.1|./* g...|
|000015b0| 02 00 b7 01 02 00 72 61 | 70 68 69 63 73 20 6d 6f |......ra|phics mo|
|000015c0| 64 65 09 09 09 20 20 20 | 20 2a 2f 0a 23 64 65 66 |de... | */.#def|
|000015d0| 69 6e 65 20 4b 44 5f 54 | 45 58 54 31 09 32 09 2f |ine KD_T|EXT1.2./|
|000015e0| 2a 20 65 6e 74 65 72 20 | 58 65 6e 69 78 20 74 65 |* enter |Xenix te|
|000015f0| 78 74 6d 6f 64 65 20 66 | 72 6f 6d 20 44 4f 53 20 |xtmode f|rom DOS |
|00001600| 74 65 78 74 6d 6f 64 65 | 20 20 20 2a 2f 0a 0a 2f |textmode| */../|
|00001610| 2a 0a 20 2a 20 61 72 67 | 75 6d 65 6e 74 73 20 74 |*. * arg|uments t|
|00001620| 6f 20 4b 44 53 4b 42 4d | 4f 44 45 0a 20 2a 2f 0a |o KDSKBM|ODE. */.|
|00001630| 23 64 65 66 69 6e 65 20 | 4b 5f 52 41 57 09 09 30 |#define |K_RAW..0|
|00001640| 78 30 30 09 2f 2a 20 6b | 65 79 62 6f 61 72 64 20 |x00./* k|eyboard |
|00001650| 73 65 6e 64 20 72 61 77 | 20 75 70 2f 64 6f 77 6e |send raw| up/down|
|00001660| 20 73 63 61 6e 20 63 6f | 64 65 20 20 20 20 20 20 | scan co|de |
|00001670| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4b 5f 58 4c 41 |*/.#defi|ne K_XLA|
|00001680| 54 45 09 09 30 78 30 31 | 09 2f 2a 20 6b 65 79 62 |TE..0x01|./* keyb|
|00001690| 6f 61 72 64 20 74 72 61 | 6e 73 6c 61 74 65 73 20 |oard tra|nslates |
|000016a0| 73 63 61 6e 20 63 6f 64 | 65 73 20 74 6f 20 61 73 |scan cod|es to as|
|000016b0| 63 69 69 20 20 2a 2f 0a | 0a 73 74 72 75 63 74 20 |cii */.|.struct |
|000016c0| 6b 64 79 74 69 6e 66 6f | 20 7b 09 2f 2a 20 64 65 |kdytinfo| {./* de|
|000016d0| 76 69 63 65 20 73 70 65 | 63 69 66 69 63 20 69 6e |vice spe|cific in|
|000016e0| 66 6f 20 66 6f 72 20 6b | 64 20 76 74 20 64 72 69 |fo for k|d vt dri|
|000016f0| 76 65 72 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |ver */..|unsigned|
|00001700| 20 63 68 61 72 09 09 6b | 62 6d 6f 64 65 3b 09 09 | char..k|bmode;..|
|00001710| 2f 2a 20 6b 65 79 62 6f | 61 72 64 20 6d 6f 64 65 |/* keybo|ard mode|
|00001720| 20 2a 2f 0a 09 75 6e 73 | 69 67 6e 65 64 20 63 68 | */..uns|igned ch|
|00001730| 61 72 09 09 64 6d 6f 64 | 65 3b 09 09 2f 2a 20 64 |ar..dmod|e;../* d|
|00001740| 69 73 70 6c 61 79 20 6d | 6f 64 65 20 2a 2f 0a 09 |isplay m|ode */..|
|00001750| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 09 66 |unsigned| char..f|
|00001760| 6c 61 67 73 3b 09 09 2f | 2a 20 66 6c 61 67 73 20 |lags;../|* flags |
|00001770| 2a 2f 0a 2f 2a 09 73 74 | 72 75 63 74 20 61 6e 73 |*/./*.st|ruct ans|
|00001780| 69 73 74 61 74 65 09 61 | 73 3b 09 09 2f 2a 20 61 |istate.a|s;../* a|
|00001790| 6e 73 69 20 74 65 72 6d | 69 6e 61 6c 20 73 74 61 |nsi term|inal sta|
|000017a0| 74 65 20 2a 2f 0a 7d 3b | 0a 0a 73 74 72 75 63 74 |te */.};|..struct|
|000017b0| 20 6b 62 65 6e 74 00 00 | 0f 02 00 36 01 02 00 72 | kbent..|...6...r|
|000017c0| 79 20 7b 0a 09 75 6e 73 | 69 67 6e 65 64 20 63 68 |y {..uns|igned ch|
|000017d0| 61 72 09 6b 62 5f 74 61 | 62 6c 65 3b 09 2f 2a 20 |ar.kb_ta|ble;./* |
|000017e0| 77 68 69 63 68 20 74 61 | 62 6c 65 20 74 6f 20 75 |which ta|ble to u|
|000017f0| 73 65 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |se */..u|nsigned |
|00001800| 63 68 61 72 09 6b 62 5f | 69 6e 64 65 78 3b 09 2f |char.kb_|index;./|
|00001810| 2a 20 77 68 69 63 68 20 | 65 6e 74 72 79 20 69 6e |* which |entry in|
|00001820| 20 74 61 62 6c 65 20 2a | 2f 0a 09 75 6e 73 69 67 | table *|/..unsig|
|00001830| 6e 65 64 20 63 68 61 72 | 09 6b 62 5f 76 61 6c 75 |ned char|.kb_valu|
|00001840| 65 3b 09 2f 2a 20 76 61 | 6c 75 65 20 74 6f 20 67 |e;./* va|lue to g|
|00001850| 65 74 2f 73 65 74 20 69 | 6e 20 74 61 62 6c 65 20 |et/set i|n table |
|00001860| 2a 2f 0a 7d 3b 0a 0a 23 | 64 65 66 69 6e 65 20 4d |*/.};..#|define M|
|00001870| 4b 44 49 4f 41 44 44 52 | 09 36 34 09 2f 2a 20 6d |KDIOADDR|.64./* m|
|00001880| 61 78 20 6e 6f 2e 20 6f | 66 20 49 2f 4f 20 61 64 |ax no. o|f I/O ad|
|00001890| 64 72 65 73 73 65 73 20 | 73 75 70 70 6f 72 74 65 |dresses |supporte|
|000018a0| 64 20 2a 2f 0a 0a 73 74 | 72 75 63 74 20 6b 64 5f |d */..st|ruct kd_|
|000018b0| 64 69 73 70 69 6e 66 6f | 20 7b 0a 09 63 68 61 72 |dispinfo| {..char|
|000018c0| 20 20 20 20 2a 76 61 64 | 64 72 3b 09 09 2f 2a 20 | *vad|dr;../* |
|000018d0| 64 69 73 70 6c 61 79 20 | 6d 65 6d 6f 72 79 20 61 |display |memory a|
|000018e0| 64 64 72 65 73 73 20 2a | 2f 0a 09 70 61 64 64 72 |ddress *|/..paddr|
|000018f0| 5f 74 09 70 68 79 73 61 | 64 64 72 3b 09 2f 2a 20 |_t.physa|ddr;./* |
|00001900| 64 69 73 70 6c 61 79 20 | 6d 65 6d 6f 72 79 20 61 |display |memory a|
|00001910| 64 64 72 65 73 73 20 2a | 2f 0a 09 75 6c 6f 6e 67 |ddress *|/..ulong|
|00001920| 5f 74 09 73 69 7a 65 3b | 09 09 2f 2a 20 64 69 73 |_t.size;|../* dis|
|00001930| 70 6c 61 79 20 6d 65 6d | 6f 72 79 20 73 69 7a 65 |play mem|ory size|
|00001940| 20 2a 2f 0a 7d 3b 0a 0a | 73 74 72 75 63 74 20 6b | */.};..|struct k|
|00001950| 64 5f 64 69 73 70 61 72 | 61 6d 20 7b 0a 09 6c 6f |d_dispar|am {..lo|
|00001960| 6e 67 09 74 79 70 65 3b | 20 09 09 2f 2a 20 64 69 |ng.type;| ../* di|
|00001970| 73 70 6c 61 79 20 74 79 | 70 65 20 2a 2f 0a 09 63 |splay ty|pe */..c|
|00001980| 68 61 72 09 2a 61 64 64 | 72 3b 09 09 2f 2a 20 64 |har.*add|r;../* d|
|00001990| 69 73 70 6c 61 79 20 6d | 65 6d 6f 72 79 20 61 64 |isplay m|emory ad|
|000019a0| 64 72 65 73 73 20 2a 2f | 0a 7d 3b 0a 0a 73 74 72 |dress */|.};..str|
|000019b0| 75 63 74 20 6b 64 5f 6d | 65 6d 6c 6f 63 20 7b 0f |uct kd_m|emloc {.|
|000019c0| 00 01 db 00 01 01 02 00 | a7 01 02 00 0a 09 63 68 |........|......ch|
|000019d0| 61 72 09 2a 76 61 64 64 | 72 3b 09 09 2f 2a 20 76 |ar.*vadd|r;../* v|
|000019e0| 69 72 74 75 61 6c 20 61 | 64 64 72 65 73 73 20 74 |irtual a|ddress t|
|000019f0| 6f 20 6d 61 70 20 74 6f | 20 2a 2f 0a 09 63 68 61 |o map to| */..cha|
|00001a00| 72 09 2a 70 68 79 73 61 | 64 64 72 3b 09 2f 2a 20 |r.*physa|ddr;./* |
|00001a10| 70 68 79 73 69 63 61 6c | 20 61 64 64 72 65 73 73 |physical| address|
|00001a20| 20 74 6f 20 6d 61 70 20 | 74 6f 20 2a 2f 0a 09 6c | to map |to */..l|
|00001a30| 6f 6e 67 09 6c 65 6e 67 | 74 68 3b 09 09 2f 2a 20 |ong.leng|th;../* |
|00001a40| 73 69 7a 65 20 69 6e 20 | 62 79 74 65 73 20 74 6f |size in |bytes to|
|00001a50| 20 6d 61 70 20 2a 2f 0a | 09 6c 6f 6e 67 09 69 6f | map */.|.long.io|
|00001a60| 66 6c 67 3b 09 09 2f 2a | 20 65 6e 61 62 6c 65 20 |flg;../*| enable |
|00001a70| 49 2f 4f 20 61 64 64 72 | 65 73 73 65 73 20 69 66 |I/O addr|esses if|
|00001a80| 20 6e 6f 6e 2d 7a 65 72 | 6f 20 2a 2f 0a 7d 3b 0a | non-zer|o */.};.|
|00001a90| 6e 6f 2e 20 6f 66 20 49 | 2f 4f 20 61 64 64 72 65 |no. of I|/O addre|
|00001aa0| 73 73 65 73 20 73 75 70 | 70 6f 72 74 65 64 20 2a |sses sup|ported *|
|00001ab0| 2f 0a 0a 73 74 72 75 63 | 74 20 6b 64 5f 64 69 73 |/..struc|t kd_dis|
|00001ac0| 70 69 6e 66 6f 20 7b 0a | 09 63 68 61 72 20 20 20 |pinfo {.|.char |
|00001ad0| 20 2a 76 61 64 64 72 3b | 09 09 2f 2a 20 64 69 73 | *vaddr;|../* dis|
|00001ae0| 70 6c 61 79 20 6d 65 6d | 6f 72 79 20 61 64 64 72 |play mem|ory addr|
|00001af0| 65 73 73 20 2a 2f 0a 09 | 70 61 64 64 72 5f 74 09 |ess */..|paddr_t.|
|00001b00| 70 68 79 73 61 64 64 72 | 3b 09 2f 2a 20 64 69 73 |physaddr|;./* dis|
|00001b10| 70 6c 61 79 20 6d 65 6d | 6f 72 79 20 61 64 64 72 |play mem|ory addr|
|00001b20| 65 73 73 20 2a 2f 0a 09 | 75 6c 6f 6e 67 5f 74 09 |ess */..|ulong_t.|
|00001b30| 73 69 7a 65 3b 09 09 2f | 2a 20 64 69 73 70 6c 61 |size;../|* displa|
|00001b40| 79 20 6d 65 6d 6f 72 79 | 20 73 69 7a 65 20 2a 2f |y memory| size */|
|00001b50| 0a 7d 3b 0a 0a 73 74 72 | 75 63 74 20 6b 64 5f 64 |.};..str|uct kd_d|
|00001b60| 69 73 70 61 72 61 6d 20 | 7b 0a 09 6c 6f 6e 67 09 |isparam |{..long.|
|00001b70| 74 79 70 65 3b 20 09 09 | 2f 2a 20 64 69 73 70 6c |type; ..|/* displ|
|00001b80| 61 79 20 74 79 70 65 20 | 2a 2f 0a 09 63 68 61 72 |ay type |*/..char|
|00001b90| 09 2a 61 64 64 72 3b 09 | 09 2f 2a 20 64 69 73 70 |.*addr;.|./* disp|
|00001ba0| 6c 61 79 20 6d 65 6d 6f | 72 79 20 61 64 64 72 65 |lay memo|ry addre|
|00001bb0| 73 73 20 2a 2f 0a 7d 3b | 0a 0a 73 74 72 75 63 74 |ss */.};|..struct|
|00001bc0| 20 6b 64 5f 6d 65 6d 6c | 6f 63 20 7b 00 01 02 02 | kd_meml|oc {....|
|00001bd0| 00 19 5d 00 02 00 17 2e | 2f 75 73 72 2f 69 6e 63 |..].....|/usr/inc|
|00001be0| 6c 75 64 65 2f 73 79 73 | 2f 76 69 64 2e 68 01 26 |lude/sys|/vid.h.&|
|00001bf0| 00 00 00 39 00 20 20 20 | 34 34 34 20 00 20 20 20 |...9. |444 . |
|00001c00| 20 20 30 20 00 20 20 20 | 20 20 30 20 00 20 20 20 | 0 . | 0 . |
|00001c10| 20 20 20 32 37 33 35 30 | 20 20 34 33 33 34 31 35 | 27350| 433415|
|00001c20| 33 36 36 30 20 20 31 30 | 32 30 30 00 20 01 b2 00 |3660 10|200. ...|
|00001c30| 00 00 01 03 02 00 57 01 | 02 00 2f 2a 20 0a 20 2a |......W.|../* . *|
|00001c40| 20 20 20 20 20 20 40 28 | 23 29 20 76 69 64 2e 68 | @(|#) vid.h|
|00001c50| 20 31 2e 31 20 38 38 2f | 31 31 2f 30 33 20 0a 20 | 1.1 88/|11/03 . |
|00001c60| 2a 0a 20 2a 20 20 20 20 | 20 20 43 6f 70 79 72 69 |*. * | Copyri|
|00001c70| 67 68 74 20 28 43 29 20 | 54 68 65 20 53 61 6e 74 |ght (C) |The Sant|
|00001c80| 61 20 43 72 75 7a 20 4f | 70 65 72 61 74 69 6f 6e |a Cruz O|peration|
|00001c90| 2c 20 31 39 38 35 2c 20 | 31 39 38 36 2c 20 31 39 |, 1985, |1986, 19|
|00001ca0| 38 37 2c 20 31 39 38 38 | 2e 0a 20 2a 20 0a 20 2a |87, 1988|.. * . *|
|00001cb0| 20 20 20 20 20 20 54 68 | 69 73 20 4d 6f 64 75 6c | Th|is Modul|
|00001cc0| 65 20 63 6f 6e 74 61 69 | 6e 73 20 50 72 6f 70 72 |e contai|ns Propr|
|00001cd0| 69 65 74 61 72 79 20 49 | 6e 66 6f 72 6d 61 74 69 |ietary I|nformati|
|00001ce0| 6f 6e 20 6f 66 20 74 68 | 65 20 53 61 6e 74 61 0a |on of th|e Santa.|
|00001cf0| 20 2a 20 20 20 20 20 20 | 43 72 75 7a 20 4f 70 65 | * |Cruz Ope|
|00001d00| 72 61 74 69 6f 6e 2c 20 | 61 6e 64 20 73 68 6f 75 |ration, |and shou|
|00001d10| 6c 64 20 62 65 20 74 72 | 65 61 74 65 64 20 61 73 |ld be tr|eated as|
|00001d20| 20 63 6f 6e 66 69 64 65 | 6e 74 69 61 6c 2e 20 0a | confide|ntial. .|
|00001d30| 20 2a 0a 20 2a 2f 0a 0a | 23 69 66 6e 64 65 66 20 | *. */..|#ifndef |
|00001d40| 4d 41 58 46 4b 0a 23 69 | 6e 63 6c 75 64 65 20 22 |MAXFK.#i|nclude "|
|00001d50| 2e 2e 2f 68 2f 63 6f 6d | 63 72 74 2e 68 22 0a 23 |../h/com|crt.h".#|
|00001d60| 65 6e 64 69 66 0a 0a 23 | 64 65 66 69 6e 65 20 54 |endif..#|define T|
|00001d70| 52 55 45 09 31 0a 23 64 | 65 66 69 6e 65 20 46 41 |RUE.1.#d|efine FA|
|00001d80| 4c 53 45 09 30 0a 0a 2f | 2a 0a 20 2a 20 4d 61 78 |LSE.0../|*. * Max|
|00001d90| 69 6d 75 6d 20 6e 75 6e | 6d 62 65 72 20 6f 66 20 |imum nun|mber of |
|00001da0| 6d 75 6c 74 69 73 63 72 | 65 65 6e 73 2e 0a 20 2a |multiscr|eens.. *|
|00001db0| 2f 0a 23 64 65 66 69 6e | 65 09 4d 41 58 53 43 52 |/.#defin|e.MAXSCR|
|00001dc0| 4e 09 09 31 32 09 2f 2a | 20 6d 61 78 20 6e 75 6d |N..12./*| max num|
|00001dd0| 62 65 72 20 6f 66 20 73 | 63 72 65 65 6e 73 20 2a |ber of s|creens *|
|00001de0| 2f 0a 0a 2f 2a 0a 20 2a | 20 6d 61 78 69 6d 75 6d |/../*. *| maximum|
|00001df0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 61 6c 6c 6f 77 | number |of allow|
|00001e00| 65 64 2e 0a 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ed.. */.|#define |
|00001e10| 4d 41 58 41 44 41 50 54 | 45 52 53 09 31 36 0a 0a |MAXADAPT|ERS.16..|
|00001e20| 2f 2a 0a 20 2a 20 4d 61 | 78 69 6d 75 6d 20 6e 75 |/*. * Ma|ximum nu|
|00001e30| 6d 62 65 72 20 6f 66 20 | 63 6f 00 01 04 02 00 17 |mber of |co......|
|00001e40| 01 02 00 6e 74 72 6f 6c | 20 73 65 71 75 65 6e 63 |...ntrol| sequenc|
|00001e50| 65 20 70 61 72 61 6d 65 | 74 65 72 73 20 69 6e 0a |e parame|ters in.|
|00001e60| 20 2a 20 61 6e 20 65 73 | 63 61 70 65 20 73 65 71 | * an es|cape seq|
|00001e70| 75 65 6e 63 65 2e 0a 20 | 2a 2f 0a 23 64 65 66 69 |uence.. |*/.#defi|
|00001e80| 6e 65 20 4e 43 53 50 41 | 52 41 4d 53 09 33 0a 0a |ne NCSPA|RAMS.3..|
|00001e90| 2f 2a 0a 20 2a 20 4d 61 | 78 69 6d 75 6d 20 6e 75 |/*. * Ma|ximum nu|
|00001ea0| 6d 62 65 72 20 6f 66 20 | 6b 65 79 62 6f 61 72 64 |mber of |keyboard|
|00001eb0| 20 73 63 61 6e 20 63 6f | 64 65 73 20 74 68 61 74 | scan co|des that|
|00001ec0| 20 63 61 6e 0a 20 2a 20 | 62 65 20 73 61 76 65 64 | can. * |be saved|
|00001ed0| 20 69 6e 20 74 68 65 20 | 72 65 61 64 20 61 68 65 | in the |read ahe|
|00001ee0| 61 64 20 62 75 66 66 65 | 72 2e 0a 20 2a 2f 0a 23 |ad buffe|r.. */.#|
|00001ef0| 64 65 66 69 6e 65 09 4d | 41 58 52 41 09 38 0a 0a |define.M|AXRA.8..|
|00001f00| 2f 2a 0a 20 2a 20 43 6f | 6d 6d 61 6e 64 73 20 74 |/*. * Co|mmands t|
|00001f10| 6f 20 74 68 65 20 28 2a | 76 5f 73 67 72 29 28 29 |o the (*|v_sgr)()|
|00001f20| 20 72 6f 75 74 69 6e 65 | 2e 0a 20 2a 20 44 65 66 | routine|.. * Def|
|00001f30| 69 6e 65 64 20 62 79 20 | 41 4e 53 49 0a 20 2a 2f |ined by |ANSI. */|
|00001f40| 0a 23 64 65 66 69 6e 65 | 20 53 47 52 5f 4e 4f 52 |.#define| SGR_NOR|
|00001f50| 4d 41 4c 09 30 09 2f 2a | 20 72 65 74 75 72 6e 20 |MAL.0./*| return |
|00001f60| 61 74 74 72 69 62 75 74 | 65 73 20 74 6f 20 6e 6f |attribut|es to no|
|00001f70| 72 6d 61 6c 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 |rmal.*/.|#define |
|00001f80| 53 47 52 5f 42 4f 4c 44 | 09 31 09 2f 2a 20 63 61 |SGR_BOLD|.1./* ca|
|00001f90| 6c 6c 65 64 20 49 4e 54 | 45 4e 53 45 20 69 6e 20 |lled INT|ENSE in |
|00001fa0| 76 69 64 65 6f 27 65 73 | 65 09 2a 2f 0a 23 64 65 |video'es|e.*/.#de|
|00001fb0| 66 69 6e 65 20 53 47 52 | 5f 46 41 49 4e 54 09 32 |fine SGR|_FAINT.2|
|00001fc0| 09 2f 2a 20 4e 4f 54 2d | 73 75 70 70 6f 72 74 65 |./* NOT-|supporte|
|00001fd0| 64 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 53 47 |d..*/.#d|efine SG|
|00001fe0| 52 5f 50 52 43 4f 4c 4f | 52 53 09 32 09 2f 2a 20 |R_PRCOLO|RS.2./* |
|00001ff0| 50 52 27 73 20 73 65 74 | 20 74 68 65 20 6e 6f 72 |PR's set| the nor|
|00002000| 6d 61 6c 20 63 6f 6c 6f | 72 73 09 2a 2f 0a 23 64 |mal colo|rs.*/.#d|
|00002010| 65 66 69 6e 65 20 53 47 | 52 5f 49 54 41 4c 49 43 |efine SG|R_ITALIC|
|00002020| 09 33 09 2f 2a 20 4e 4f | 54 2d 73 75 70 70 6f 72 |.3./* NO|T-suppor|
|00002030| 74 65 64 09 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ted..*/.|#define |
|00002040| 53 47 52 00 01 05 02 00 | 71 01 02 00 5f 50 52 42 |SGR.....|q..._PRB|
|00002050| 4c 4b 43 54 4c 09 33 09 | 2f 2a 20 50 52 27 73 20 |LKCTL.3.|/* PR's |
|00002060| 62 6c 69 6e 6b 20 62 69 | 74 20 63 6f 6e 74 72 6f |blink bi|t contro|
|00002070| 6c 09 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 47 52 |l.*/.#de|fine SGR|
|00002080| 5f 55 4e 44 45 52 4c 09 | 34 09 2f 2a 20 75 6e 64 |_UNDERL.|4./* und|
|00002090| 65 72 6c 69 6e 65 09 09 | 09 2a 2f 0a 23 64 65 66 |erline..|.*/.#def|
|000020a0| 69 6e 65 20 53 47 52 5f | 42 4c 49 4e 4b 09 35 09 |ine SGR_|BLINK.5.|
|000020b0| 2f 2a 20 62 6c 69 6e 6b | 09 09 09 2a 2f 0a 23 64 |/* blink|...*/.#d|
|000020c0| 65 66 69 6e 65 20 53 47 | 52 5f 46 42 4c 49 4e 4b |efine SG|R_FBLINK|
|000020d0| 09 36 09 2f 2a 20 4e 4f | 54 2d 73 75 70 70 6f 72 |.6./* NO|T-suppor|
|000020e0| 74 65 64 09 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ted..*/.|#define |
|000020f0| 53 47 52 5f 52 45 56 45 | 52 53 45 09 37 09 2f 2a |SGR_REVE|RSE.7./*|
|00002100| 20 72 65 76 65 72 73 65 | 20 76 69 64 65 6f 20 77 | reverse| video w|
|00002110| 2f 20 73 65 74 63 6f 6c | 6f 72 09 2a 2f 0a 23 64 |/ setcol|or.*/.#d|
|00002120| 65 66 69 6e 65 20 53 47 | 52 5f 43 4f 4e 43 45 41 |efine SG|R_CONCEA|
|00002130| 4c 45 44 09 38 09 2f 2a | 20 68 69 64 65 20 63 68 |LED.8./*| hide ch|
|00002140| 61 72 61 63 74 65 72 73 | 09 09 2a 2f 0a 23 64 65 |aracters|..*/.#de|
|00002150| 66 69 6e 65 20 53 47 52 | 5f 43 52 4f 53 53 45 44 |fine SGR|_CROSSED|
|00002160| 09 39 09 2f 2a 20 4e 4f | 54 2d 73 75 70 70 6f 72 |.9./* NO|T-suppor|
|00002170| 74 65 64 09 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ted..*/.|#define |
|00002180| 53 47 52 5f 46 4f 4e 54 | 09 31 30 09 2f 2a 20 66 |SGR_FONT|.10./* f|
|00002190| 6f 6e 74 73 20 30 20 74 | 68 72 6f 75 67 68 20 39 |onts 0 t|hrough 9|
|000021a0| 20 77 2f 20 31 30 2d 31 | 39 09 2a 2f 0a 23 64 65 | w/ 10-1|9.*/.#de|
|000021b0| 66 69 6e 65 20 53 47 52 | 5f 47 4f 54 48 49 43 09 |fine SGR|_GOTHIC.|
|000021c0| 32 30 09 2f 2a 20 4e 4f | 54 2d 73 75 70 70 6f 72 |20./* NO|T-suppor|
|000021d0| 74 65 64 09 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ted..*/.|#define |
|000021e0| 53 47 52 5f 44 4c 42 55 | 4e 44 45 52 4c 09 32 31 |SGR_DLBU|NDERL.21|
|000021f0| 09 2f 2a 20 4e 4f 54 2d | 73 75 70 70 6f 72 74 65 |./* NOT-|supporte|
|00002200| 64 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 53 47 |d..*/.#d|efine SG|
|00002210| 52 5f 4e 4f 52 4d 43 49 | 09 32 32 09 2f 2a 20 4e |R_NORMCI|.22./* N|
|00002220| 4f 54 2d 73 75 70 70 6f | 72 74 65 64 09 09 2a 2f |OT-suppo|rted..*/|
|00002230| 0a 23 64 65 66 69 6e 65 | 20 53 47 52 5f 30 49 54 |.#define| SGR_0IT|
|00002240| 41 4c 49 43 09 32 33 09 | 2f 2a 20 4e 00 01 06 02 |ALIC.23.|/* N....|
|00002250| 00 4f 01 02 00 4f 54 2d | 73 75 70 70 6f 72 74 65 |.O...OT-|supporte|
|00002260| 64 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 53 47 |d..*/.#d|efine SG|
|00002270| 52 5f 30 55 4e 44 45 52 | 4c 09 32 34 09 2f 2a 20 |R_0UNDER|L.24./* |
|00002280| 4e 4f 54 2d 73 75 70 70 | 6f 72 74 65 64 09 09 2a |NOT-supp|orted..*|
|00002290| 2f 0a 23 64 65 66 69 6e | 65 20 53 47 52 5f 30 42 |/.#defin|e SGR_0B|
|000022a0| 4c 49 4e 4b 09 32 35 09 | 2f 2a 20 4e 4f 54 2d 73 |LINK.25.|/* NOT-s|
|000022b0| 75 70 70 6f 72 74 65 64 | 09 09 2a 2f 0a 23 64 65 |upported|..*/.#de|
|000022c0| 66 69 6e 65 20 53 47 52 | 5f 52 45 53 31 09 32 36 |fine SGR|_RES1.26|
|000022d0| 09 2f 2a 20 52 45 53 45 | 52 56 45 44 20 62 79 20 |./* RESE|RVED by |
|000022e0| 41 4e 53 49 09 09 2a 2f | 0a 23 64 65 66 69 6e 65 |ANSI..*/|.#define|
|000022f0| 20 53 47 52 5f 30 52 45 | 56 45 52 53 45 09 32 37 | SGR_0RE|VERSE.27|
|00002300| 09 2f 2a 20 4e 4f 54 2d | 73 75 70 70 6f 72 74 65 |./* NOT-|supporte|
|00002310| 64 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 53 47 |d..*/.#d|efine SG|
|00002320| 52 5f 30 43 4f 4e 43 45 | 41 4c 45 44 09 32 38 09 |R_0CONCE|ALED.28.|
|00002330| 2f 2a 20 4e 4f 54 2d 73 | 75 70 70 6f 72 74 65 64 |/* NOT-s|upported|
|00002340| 09 09 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 47 52 |..*/.#de|fine SGR|
|00002350| 5f 30 43 52 4f 53 53 45 | 44 09 32 39 09 2f 2a 20 |_0CROSSE|D.29./* |
|00002360| 4e 4f 54 2d 73 75 70 70 | 6f 72 74 65 64 09 09 2a |NOT-supp|orted..*|
|00002370| 2f 0a 23 64 65 66 69 6e | 65 20 53 47 52 5f 46 4f |/.#defin|e SGR_FO|
|00002380| 52 45 43 4f 4c 4f 52 09 | 33 30 09 2f 2a 20 41 4e |RECOLOR.|30./* AN|
|00002390| 53 49 20 66 6f 72 67 72 | 6f 75 6e 64 20 63 6f 6c |SI forgr|ound col|
|000023a0| 6f 72 73 20 33 30 2d 33 | 37 09 2a 2f 0a 23 64 65 |ors 30-3|7.*/.#de|
|000023b0| 66 69 6e 65 20 53 47 52 | 5f 52 45 53 32 09 33 38 |fine SGR|_RES2.38|
|000023c0| 09 2f 2a 20 52 45 53 45 | 52 56 45 44 20 62 79 20 |./* RESE|RVED by |
|000023d0| 41 4e 53 49 20 09 09 2a | 2f 0a 23 64 65 66 69 6e |ANSI ..*|/.#defin|
|000023e0| 65 20 53 47 52 5f 44 45 | 46 46 4f 52 45 46 4f 4c |e SGR_DE|FFOREFOL|
|000023f0| 09 33 39 09 2f 2a 20 4e | 4f 54 2d 73 75 70 70 6f |.39./* N|OT-suppo|
|00002400| 72 74 65 64 09 09 2a 2f | 0a 23 64 65 66 69 6e 65 |rted..*/|.#define|
|00002410| 20 53 47 52 5f 42 41 43 | 4b 43 4f 4c 4f 52 09 34 | SGR_BAC|KCOLOR.4|
|00002420| 30 09 2f 2a 20 41 4e 53 | 49 20 62 61 63 6b 67 72 |0./* ANS|I backgr|
|00002430| 6f 75 6e 64 20 63 6f 6c | 6f 72 73 20 34 30 2d 34 |ound col|ors 40-4|
|00002440| 37 09 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 47 52 |7.*/.#de|fine SGR|
|00002450| 5f 52 45 53 33 00 01 07 | 02 00 5d 01 02 00 09 34 |_RES3...|..]....4|
|00002460| 38 09 2f 2a 20 52 45 53 | 45 52 56 45 44 20 62 79 |8./* RES|ERVED by|
|00002470| 20 41 4e 53 49 09 09 2a | 2f 0a 23 64 65 66 69 6e | ANSI..*|/.#defin|
|00002480| 65 20 53 47 52 5f 44 45 | 46 42 41 43 4b 43 4f 4c |e SGR_DE|FBACKCOL|
|00002490| 09 34 39 09 2f 2a 20 4e | 4f 54 2d 73 75 70 70 6f |.49./* N|OT-suppo|
|000024a0| 72 74 65 64 09 09 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |rted..*/|../*. * |
|000024b0| 43 6f 6d 6d 61 6e 64 73 | 20 74 6f 20 74 68 65 20 |Commands| to the |
|000024c0| 28 2a 76 5f 61 64 61 70 | 63 74 6c 29 28 29 20 72 |(*v_adap|ctl)() r|
|000024d0| 6f 75 74 69 6e 65 2e 0a | 20 2a 20 44 65 66 69 6e |outine..| * Defin|
|000024e0| 65 64 20 62 79 20 53 43 | 4f 0a 20 2a 2f 0a 23 64 |ed by SC|O. */.#d|
|000024f0| 65 66 69 6e 65 09 41 43 | 5f 42 4c 49 4e 4b 42 09 |efine.AC|_BLINKB.|
|00002500| 30 09 2f 2a 20 43 6c 65 | 61 72 20 6f 72 20 53 65 |0./* Cle|ar or Se|
|00002510| 74 20 74 68 65 20 62 6c | 69 6e 6b 20 62 69 74 09 |t the bl|ink bit.|
|00002520| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 41 43 5f 46 4f |*/.#defi|ne.AC_FO|
|00002530| 4e 54 43 48 41 52 09 31 | 09 2f 2a 20 64 69 73 70 |NTCHAR.1|./* disp|
|00002540| 6c 61 79 20 66 6f 6e 74 | 20 63 68 61 72 61 63 74 |lay font| charact|
|00002550| 65 72 09 2a 2f 0a 23 64 | 65 66 69 6e 65 09 41 43 |er.*/.#d|efine.AC|
|00002560| 5f 44 45 46 43 53 52 09 | 32 09 2f 2a 20 64 65 66 |_DEFCSR.|2./* def|
|00002570| 69 6e 65 20 43 75 72 73 | 6f 72 20 74 79 70 65 09 |ine Curs|or type.|
|00002580| 09 2a 2f 0a 23 64 65 66 | 69 6e 65 20 41 43 5f 42 |.*/.#def|ine AC_B|
|00002590| 4f 4c 44 42 4b 47 09 33 | 09 2f 2a 20 74 75 72 6e |OLDBKG.3|./* turn|
|000025a0| 20 6f 6e 20 69 6e 74 65 | 6e 73 65 20 62 67 20 63 | on inte|nse bg c|
|000025b0| 6f 6c 6f 72 09 2a 2f 0a | 23 64 65 66 69 6e 65 09 |olor.*/.|#define.|
|000025c0| 41 43 5f 44 45 46 4e 46 | 09 31 30 09 2f 2a 20 64 |AC_DEFNF|.10./* d|
|000025d0| 65 66 69 6e 65 20 6e 6f | 72 6d 61 6c 20 66 6f 72 |efine no|rmal for|
|000025e0| 67 72 6f 75 6e 64 09 2a | 2f 0a 23 64 65 66 69 6e |ground.*|/.#defin|
|000025f0| 65 09 41 43 5f 44 45 46 | 4e 42 09 31 31 09 2f 2a |e.AC_DEF|NB.11./*|
|00002600| 20 64 65 66 69 6e 65 20 | 6e 6f 72 6d 61 6c 20 62 | define |normal b|
|00002610| 61 63 6b 67 72 6f 75 6e | 64 09 2a 2f 0a 23 64 65 |ackgroun|d.*/.#de|
|00002620| 66 69 6e 65 09 41 43 5f | 4f 4e 4e 09 09 31 32 09 |fine.AC_|ONN..12.|
|00002630| 2f 2a 20 62 65 67 69 6e | 20 75 73 69 6e 67 20 6e |/* begin| using n|
|00002640| 6f 72 6d 61 6c 20 63 6f | 6c 6f 72 73 09 2a 2f 0a |ormal co|lors.*/.|
|00002650| 23 64 65 66 69 6e 65 09 | 41 43 5f 44 45 46 00 01 |#define.|AC_DEF..|
|00002660| 08 02 00 36 01 02 00 52 | 46 09 31 33 09 2f 2a 20 |...6...R|F.13./* |
|00002670| 64 65 66 69 6e 65 20 72 | 65 76 65 72 73 65 20 66 |define r|everse f|
|00002680| 6f 72 67 72 6f 75 6e 64 | 09 2a 2f 0a 23 64 65 66 |orground|.*/.#def|
|00002690| 69 6e 65 09 41 43 5f 44 | 45 46 52 42 09 31 34 09 |ine.AC_D|EFRB.14.|
|000026a0| 2f 2a 20 64 65 66 69 6e | 65 20 72 65 76 65 72 73 |/* defin|e revers|
|000026b0| 65 20 62 61 63 6b 67 72 | 6f 75 6e 64 09 2a 2f 0a |e backgr|ound.*/.|
|000026c0| 23 64 65 66 69 6e 65 09 | 41 43 5f 4f 4e 52 09 09 |#define.|AC_ONR..|
|000026d0| 31 35 09 2f 2a 20 74 75 | 72 6e 20 6f 6e 20 72 65 |15./* tu|rn on re|
|000026e0| 76 65 72 73 65 20 63 6f | 6c 6f 72 73 09 2a 2f 0a |verse co|lors.*/.|
|000026f0| 23 64 65 66 69 6e 65 09 | 41 43 5f 44 45 46 47 46 |#define.|AC_DEFGF|
|00002700| 09 31 36 09 2f 2a 20 64 | 65 66 69 6e 65 20 67 72 |.16./* d|efine gr|
|00002710| 61 70 68 69 63 20 66 6f | 72 67 72 6f 75 6e 64 09 |aphic fo|rground.|
|00002720| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 41 43 5f 44 45 |*/.#defi|ne.AC_DE|
|00002730| 46 47 42 09 31 37 09 2f | 2a 20 64 65 66 69 6e 65 |FGB.17./|* define|
|00002740| 20 67 72 61 70 68 69 63 | 20 62 61 63 6b 67 72 6f | graphic| backgro|
|00002750| 75 6e 64 09 2a 2f 0a 23 | 64 65 66 69 6e 65 09 41 |und.*/.#|define.A|
|00002760| 43 5f 4f 4e 47 09 09 31 | 38 09 2f 2a 20 74 75 72 |C_ONG..1|8./* tur|
|00002770| 6e 20 6f 6e 20 67 72 61 | 70 68 69 63 20 63 6f 6c |n on gra|phic col|
|00002780| 6f 72 73 09 2a 2f 0a 23 | 64 65 66 69 6e 65 09 41 |ors.*/.#|define.A|
|00002790| 43 5f 53 45 54 4f 53 09 | 33 30 09 2f 2a 20 73 65 |C_SETOS.|30./* se|
|000027a0| 74 20 6f 76 65 72 73 63 | 61 6e 20 63 6f 6c 6f 72 |t oversc|an color|
|000027b0| 73 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 41 43 |s..*/.#d|efine AC|
|000027c0| 5f 50 52 49 4d 4f 44 45 | 09 31 30 30 09 2f 2a 20 |_PRIMODE|.100./* |
|000027d0| 72 65 74 75 72 6e 20 70 | 72 69 6d 61 72 79 20 74 |return p|rimary t|
|000027e0| 65 78 74 20 6d 6f 64 65 | 09 2a 2f 0a 23 64 65 66 |ext mode|.*/.#def|
|000027f0| 69 6e 65 20 41 43 5f 53 | 41 56 53 5a 51 52 59 09 |ine AC_S|AVSZQRY.|
|00002800| 31 30 31 09 2f 2a 20 72 | 65 74 75 72 6e 20 73 69 |101./* r|eturn si|
|00002810| 7a 65 20 28 62 79 74 65 | 73 29 20 6f 66 20 73 74 |ze (byte|s) of st|
|00002820| 61 74 65 09 2a 2f 0a 23 | 64 65 66 69 6e 65 20 41 |ate.*/.#|define A|
|00002830| 43 5f 53 41 56 53 43 52 | 4e 09 31 30 32 09 2f 2a |C_SAVSCR|N.102./*|
|00002840| 20 73 61 76 65 20 73 63 | 72 65 65 6e 09 09 09 2a | save sc|reen...*|
|00002850| 2f 0a 23 64 65 66 69 6e | 65 20 41 43 5f 52 45 53 |/.#defin|e AC_RES|
|00002860| 53 43 52 4e 09 31 30 00 | 01 09 02 00 b4 01 02 00 |SCRN.10.|........|
|00002870| 33 09 2f 2a 20 72 65 73 | 74 6f 72 65 20 73 63 72 |3./* res|tore scr|
|00002880| 65 65 6e 09 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 |een..*/.|#define |
|00002890| 41 43 5f 43 53 52 43 54 | 4c 09 31 30 34 09 2f 2a |AC_CSRCT|L.104./*|
|000028a0| 20 61 72 67 3d 30 20 68 | 69 64 65 20 63 75 72 73 | arg=0 h|ide curs|
|000028b0| 6f 72 2c 20 61 72 67 3d | 31 20 73 68 6f 77 20 63 |or, arg=|1 show c|
|000028c0| 75 72 73 6f 72 09 2a 2f | 0a 23 64 65 66 69 6e 65 |ursor.*/|.#define|
|000028d0| 20 41 43 5f 55 53 45 52 | 46 4f 4e 54 09 31 30 35 | AC_USER|FONT.105|
|000028e0| 09 2f 2a 20 6c 6f 61 64 | 20 6f 72 20 64 75 6d 70 |./* load| or dump|
|000028f0| 20 74 68 65 20 73 6f 66 | 74 20 66 6f 6e 74 09 2a | the sof|t font.*|
|00002900| 2f 0a 23 64 65 66 69 6e | 65 20 41 43 5f 49 4f 50 |/.#defin|e AC_IOP|
|00002910| 52 49 56 4c 09 31 30 36 | 09 2f 2a 20 67 72 61 6e |RIVL.106|./* gran|
|00002920| 74 20 6f 72 20 72 65 76 | 6f 6b 65 20 49 4f 20 70 |t or rev|oke IO p|
|00002930| 72 69 76 6c 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 |rivl.*/.|#define |
|00002940| 41 43 5f 53 4f 46 54 52 | 45 53 45 54 09 31 30 37 |AC_SOFTR|ESET.107|
|00002950| 09 2f 2a 20 72 65 73 65 | 74 20 74 65 78 74 20 6d |./* rese|t text m|
|00002960| 6f 64 65 20 28 6b 65 65 | 70 20 63 6f 6c 6f 72 73 |ode (kee|p colors|
|00002970| 29 2a 2f 0a 23 64 65 66 | 69 6e 65 20 41 43 5f 53 |)*/.#def|ine AC_S|
|00002980| 45 4e 44 53 43 52 4e 09 | 31 30 38 09 2f 2a 20 77 |ENDSCRN.|108./* w|
|00002990| 72 69 74 65 20 73 63 72 | 65 65 6e 20 63 68 61 72 |rite scr|een char|
|000029a0| 73 20 74 6f 20 73 74 64 | 69 6e 09 2a 2f 0a 0a 23 |s to std|in.*/..#|
|000029b0| 69 66 64 65 66 20 56 50 | 49 58 0a 23 64 65 66 69 |ifdef VP|IX.#defi|
|000029c0| 6e 65 20 41 43 5f 56 54 | 4b 44 50 41 52 41 4d 09 |ne AC_VT|KDPARAM.|
|000029d0| 32 30 30 09 2f 2a 20 67 | 65 74 20 56 50 49 58 20 |200./* g|et VPIX |
|000029e0| 64 69 73 70 6c 61 79 20 | 70 61 72 61 6d 65 74 65 |display |paramete|
|000029f0| 72 73 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 41 43 |rs.*/.#d|efine AC|
|00002a00| 5f 54 58 54 52 45 43 56 | 52 09 32 30 31 09 2f 2a |_TXTRECV|R.201./*|
|00002a10| 20 72 65 63 6f 76 65 72 | 20 74 65 78 74 20 6d 6f | recover| text mo|
|00002a20| 64 65 20 66 72 6f 6d 20 | 44 4f 53 09 2a 2f 0a 23 |de from |DOS.*/.#|
|00002a30| 64 65 66 69 6e 65 20 41 | 43 5f 54 58 54 52 45 4c |define A|C_TXTREL|
|00002a40| 53 45 09 32 30 32 09 2f | 2a 20 72 65 6c 65 61 73 |SE.202./|* releas|
|00002a50| 65 20 74 65 78 74 20 6d | 6f 64 65 20 74 6f 20 44 |e text m|ode to D|
|00002a60| 4f 53 09 2a 2f 0a 23 65 | 6e 64 69 66 0a 0a 74 79 |OS.*/.#e|ndif..ty|
|00002a70| 00 01 0a 02 00 c7 01 02 | 00 70 65 64 65 66 20 73 |........|.pedef s|
|00002a80| 74 72 75 63 74 20 7b 0a | 09 69 6e 74 20 63 6d 64 |truct {.|.int cmd|
|00002a90| 2c 20 66 6c 67 3b 09 09 | 2f 2a 20 77 65 69 72 64 |, flg;..|/* weird|
|00002aa0| 20 64 61 74 61 20 73 74 | 72 75 63 74 75 72 65 20 | data st|ructure |
|00002ab0| 74 6f 20 6d 61 6b 65 20 | 6c 6f 61 64 61 62 6c 65 |to make |loadable|
|00002ac0| 20 2a 2f 0a 09 66 61 64 | 64 72 5f 74 20 66 61 64 | */..fad|dr_t fad|
|00002ad0| 64 72 3b 09 09 2f 2a 20 | 66 6f 6e 74 73 20 65 61 |dr;../* |fonts ea|
|00002ae0| 73 69 65 72 20 74 6f 20 | 69 6d 70 6c 65 6d 65 6e |sier to |implemen|
|00002af0| 74 09 2a 2f 0a 7d 20 70 | 67 69 6f 66 6f 6e 74 61 |t.*/.} p|giofonta|
|00002b00| 72 67 5f 74 3b 0a 0a 23 | 69 66 64 65 66 20 4d 5f |rg_t;..#|ifdef M_|
|00002b10| 49 33 38 36 0a 74 79 70 | 65 64 65 66 20 73 68 6f |I386.typ|edef sho|
|00002b20| 72 74 20 2a 73 74 72 69 | 78 70 5f 74 3b 09 2f 2a |rt *stri|xp_t;./*|
|00002b30| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 66 75 6e 63 | pointer| to func|
|00002b40| 74 69 6f 6e 20 6b 65 79 | 20 74 65 78 74 20 69 6e |tion key| text in|
|00002b50| 64 65 78 27 73 09 2a 2f | 0a 74 79 70 65 64 65 66 |dex's.*/|.typedef|
|00002b60| 20 75 63 68 61 72 5f 74 | 20 2a 73 74 72 74 61 62 | uchar_t| *strtab|
|00002b70| 70 5f 74 3b 09 2f 2a 20 | 70 6f 69 6e 74 65 72 20 |p_t;./* |pointer |
|00002b80| 74 6f 20 66 75 6e 63 74 | 69 6f 6e 20 6b 65 79 20 |to funct|ion key |
|00002b90| 74 65 78 74 20 74 61 62 | 6c 65 09 2a 2f 0a 74 79 |text tab|le.*/.ty|
|00002ba0| 70 65 64 65 66 20 73 68 | 6f 72 74 20 2a 76 73 65 |pedef sh|ort *vse|
|00002bb0| 67 5f 74 3b 09 09 2f 2a | 20 70 6f 69 6e 74 65 72 |g_t;../*| pointer|
|00002bc0| 20 74 6f 20 61 20 76 69 | 64 65 6f 20 73 65 67 6d | to a vi|deo segm|
|00002bd0| 65 6e 74 20 6f 66 20 27 | 73 68 6f 72 74 27 73 20 |ent of '|short's |
|00002be0| 2a 2f 0a 74 79 70 65 64 | 65 66 20 6c 6f 6e 67 20 |*/.typed|ef long |
|00002bf0| 2a 76 65 63 70 5f 74 3b | 0a 23 65 6c 73 65 0a 74 |*vecp_t;|.#else.t|
|00002c00| 79 70 65 64 65 66 20 73 | 68 6f 72 74 20 66 61 72 |ypedef s|hort far|
|00002c10| 20 2a 73 74 72 69 78 70 | 5f 74 3b 09 2f 2a 20 70 | *strixp|_t;./* p|
|00002c20| 6f 69 6e 74 65 72 20 74 | 6f 20 6b 65 79 2f 73 63 |ointer t|o key/sc|
|00002c30| 72 6e 20 74 61 62 6c 65 | 20 6f 66 20 63 68 61 72 |rn table| of char|
|00002c40| 73 09 2a 2f 0a 74 79 70 | 65 64 65 66 20 75 63 68 |s.*/.typ|edef uch|
|00002c50| 61 72 5f 74 20 66 61 72 | 20 2a 73 74 72 74 61 62 |ar_t far| *strtab|
|00002c60| 70 5f 74 3b 09 2f 2a 20 | 70 6f 69 6e 74 65 72 20 |p_t;./* |pointer |
|00002c70| 74 6f 20 66 75 6e 63 74 | 69 00 01 0b 02 00 f5 01 |to funct|i.......|
|00002c80| 02 00 6f 6e 20 6b 65 79 | 20 74 65 78 74 20 74 61 |..on key| text ta|
|00002c90| 62 6c 65 09 2a 2f 0a 74 | 79 70 65 64 65 66 20 73 |ble.*/.t|ypedef s|
|00002ca0| 68 6f 72 74 20 66 61 72 | 20 2a 76 73 65 67 5f 74 |hort far| *vseg_t|
|00002cb0| 3b 09 2f 2a 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |;./* poi|nter to |
|00002cc0| 61 20 76 69 64 65 6f 20 | 73 65 67 6d 65 6e 74 20 |a video |segment |
|00002cd0| 6f 66 20 27 73 68 6f 72 | 74 27 73 20 2a 2f 0a 74 |of 'shor|t's */.t|
|00002ce0| 79 70 65 64 65 66 20 6c | 6f 6e 67 20 66 61 72 20 |ypedef l|ong far |
|00002cf0| 2a 76 65 63 70 5f 74 3b | 0a 23 65 6e 64 69 66 0a |*vecp_t;|.#endif.|
|00002d00| 0a 65 78 74 65 72 6e 20 | 63 68 61 72 09 61 6e 73 |.extern |char.ans|
|00002d10| 69 63 6f 6c 6f 72 6d 61 | 70 5b 5d 3b 0a 0a 73 74 |icolorma|p[];..st|
|00002d20| 72 75 63 74 20 63 6f 6c | 6f 72 73 20 7b 0a 09 63 |ruct col|ors {..c|
|00002d30| 68 61 72 20 66 6f 72 65 | 3b 09 09 09 2f 2a 20 66 |har fore|;.../* f|
|00002d40| 6f 72 65 67 72 6f 75 6e | 64 20 63 6f 6c 6f 72 73 |oregroun|d colors|
|00002d50| 09 2a 2f 0a 09 63 68 61 | 72 20 62 61 63 6b 3b 09 |.*/..cha|r back;.|
|00002d60| 09 09 2f 2a 20 62 61 63 | 6b 67 72 6f 75 6e 64 20 |../* bac|kground |
|00002d70| 63 6f 6c 6f 72 73 09 2a | 2f 0a 7d 3b 0a 0a 2f 2a |colors.*|/.};../*|
|00002d80| 0a 20 2a 20 53 74 72 75 | 63 74 75 72 65 20 66 6f |. * Stru|cture fo|
|00002d90| 72 20 6c 69 73 74 69 6e | 67 20 76 61 6c 69 64 0a |r listin|g valid.|
|00002da0| 20 2a 20 61 64 61 70 74 | 65 72 20 49 4f 20 61 64 | * adapt|er IO ad|
|00002db0| 64 72 65 73 73 65 73 0a | 20 2a 2f 0a 73 74 72 75 |dresses.| */.stru|
|00002dc0| 63 74 20 70 6f 72 74 72 | 61 6e 67 65 20 7b 0a 09 |ct portr|ange {..|
|00002dd0| 75 73 68 6f 72 74 20 66 | 69 72 73 74 3b 09 09 2f |ushort f|irst;../|
|00002de0| 2a 20 66 69 72 73 74 20 | 70 6f 72 74 20 2a 2f 0a |* first |port */.|
|00002df0| 09 75 73 68 6f 72 74 20 | 63 6f 75 6e 74 3b 09 09 |.ushort |count;..|
|00002e00| 2f 2a 20 6e 75 6d 62 65 | 72 20 6f 66 20 76 61 6c |/* numbe|r of val|
|00002e10| 69 64 20 72 69 67 68 74 | 20 61 66 74 65 72 20 27 |id right| after '|
|00002e20| 66 69 72 73 74 27 20 2a | 2f 0a 7d 3b 0a 0a 2f 2a |first' *|/.};../*|
|00002e30| 0a 20 2a 20 53 74 72 75 | 63 74 75 72 65 20 66 6f |. * Stru|cture fo|
|00002e40| 72 20 61 20 75 73 65 72 | 20 76 69 72 74 75 61 6c |r a user| virtual|
|00002e50| 20 61 64 64 72 65 73 73 | 2e 0a 20 2a 2f 0a 73 74 | address|.. */.st|
|00002e60| 72 75 63 74 20 75 73 65 | 72 76 61 20 7b 0a 09 66 |ruct use|rva {..f|
|00002e70| 61 64 64 72 5f 74 20 61 | 64 64 72 3b 0a 09 75 6e |addr_t a|ddr;..un|
|00002e80| 73 69 00 01 0c 02 00 37 | 01 02 00 67 6e 65 64 20 |si.....7|...gned |
|00002e90| 73 69 7a 65 3b 0a 7d 3b | 0a 0a 23 64 65 66 69 6e |size;.};|..#defin|
|00002ea0| 65 09 42 4c 41 43 4b 09 | 09 30 78 30 0a 23 64 65 |e.BLACK.|.0x0.#de|
|00002eb0| 66 69 6e 65 09 42 4c 55 | 45 09 09 30 78 31 0a 23 |fine.BLU|E..0x1.#|
|00002ec0| 64 65 66 69 6e 65 09 47 | 52 45 45 4e 09 09 30 78 |define.G|REEN..0x|
|00002ed0| 32 0a 23 64 65 66 69 6e | 65 09 43 59 41 4e 09 09 |2.#defin|e.CYAN..|
|00002ee0| 30 78 33 0a 23 64 65 66 | 69 6e 65 09 52 45 44 09 |0x3.#def|ine.RED.|
|00002ef0| 09 30 78 34 0a 23 64 65 | 66 69 6e 65 09 4d 41 47 |.0x4.#de|fine.MAG|
|00002f00| 45 4e 54 41 09 09 30 78 | 35 0a 23 64 65 66 69 6e |ENTA..0x|5.#defin|
|00002f10| 65 09 42 52 4f 57 4e 09 | 09 30 78 36 0a 23 64 65 |e.BROWN.|.0x6.#de|
|00002f20| 66 69 6e 65 09 57 48 49 | 54 45 09 09 30 78 37 0a |fine.WHI|TE..0x7.|
|00002f30| 23 64 65 66 69 6e 65 09 | 47 52 41 59 09 09 30 78 |#define.|GRAY..0x|
|00002f40| 38 0a 23 64 65 66 69 6e | 65 09 4c 54 5f 42 4c 55 |8.#defin|e.LT_BLU|
|00002f50| 45 09 09 30 78 39 0a 23 | 64 65 66 69 6e 65 09 4c |E..0x9.#|define.L|
|00002f60| 54 5f 47 52 45 45 4e 09 | 30 78 41 0a 23 64 65 66 |T_GREEN.|0xA.#def|
|00002f70| 69 6e 65 09 4c 54 5f 43 | 59 41 4e 09 09 30 78 42 |ine.LT_C|YAN..0xB|
|00002f80| 0a 23 64 65 66 69 6e 65 | 09 4c 54 5f 52 45 44 09 |.#define|.LT_RED.|
|00002f90| 09 30 78 43 0a 23 64 65 | 66 69 6e 65 09 4c 54 5f |.0xC.#de|fine.LT_|
|00002fa0| 4d 41 47 45 4e 54 41 09 | 30 78 44 0a 23 64 65 66 |MAGENTA.|0xD.#def|
|00002fb0| 69 6e 65 09 59 45 4c 4c | 4f 57 09 09 30 78 45 0a |ine.YELL|OW..0xE.|
|00002fc0| 23 64 65 66 69 6e 65 09 | 48 49 5f 57 48 49 54 45 |#define.|HI_WHITE|
|00002fd0| 09 30 78 46 0a 0a 2f 2a | 0a 20 2a 20 41 20 6b 65 |.0xF../*|. * A ke|
|00002fe0| 79 62 6f 61 72 64 20 67 | 72 6f 75 70 20 69 73 20 |yboard g|roup is |
|00002ff0| 61 20 73 65 74 20 6f 66 | 20 4d 75 6c 74 69 73 63 |a set of| Multisc|
|00003000| 72 65 65 6e 73 2c 0a 20 | 2a 20 61 20 73 65 74 20 |reens,. |* a set |
|00003010| 6f 66 20 76 69 64 65 6f | 20 61 64 61 70 74 65 72 |of video| adapter|
|00003020| 20 64 72 69 76 65 72 73 | 20 61 6e 64 20 74 68 65 | drivers| and the|
|00003030| 20 67 6c 6f 62 61 6c 0a | 20 2a 20 73 74 61 74 65 | global.| * state|
|00003040| 20 6f 66 20 6f 6e 65 20 | 6b 65 79 62 6f 61 72 64 | of one |keyboard|
|00003050| 2e 0a 20 2a 2f 0a 73 74 | 72 75 63 74 20 6b 62 67 |.. */.st|ruct kbg|
|00003060| 72 70 20 7b 0a 09 73 74 | 72 75 63 74 20 6d 73 63 |rp {..st|ruct msc|
|00003070| 72 6e 20 2a 6b 67 5f 6d | 30 3b 09 2f 2a 20 6d 75 |rn *kg_m|0;./* mu|
|00003080| 6c 74 69 2d 73 63 72 65 | 65 6e 73 00 01 0d 02 00 |lti-scre|ens.....|
|00003090| 0d 01 02 00 5b 5d 20 66 | 6f 72 20 74 68 65 20 6b |....[] f|or the k|
|000030a0| 65 79 62 6f 61 72 64 20 | 67 72 70 09 2a 2f 0a 09 |eyboard |grp.*/..|
|000030b0| 73 74 72 75 63 74 20 61 | 64 61 70 74 65 72 20 2a |struct a|dapter *|
|000030c0| 6b 67 5f 61 30 3b 09 2f | 2a 20 61 64 61 70 74 73 |kg_a0;./|* adapts|
|000030d0| 77 5b 5d 20 66 6f 72 20 | 74 68 65 20 6b 65 79 62 |w[] for |the keyb|
|000030e0| 6f 61 72 64 20 67 72 70 | 09 2a 2f 0a 09 69 6e 74 |oard grp|.*/..int|
|000030f0| 20 28 2a 6b 67 5f 69 6e | 29 28 29 3b 09 09 2f 2a | (*kg_in|)();../*|
|00003100| 20 6b 65 79 62 64 20 67 | 72 70 20 6c 69 6e 65 20 | keybd g|rp line |
|00003110| 64 69 73 70 6c 6e 20 69 | 6e 28 29 20 72 6f 75 74 |displn i|n() rout|
|00003120| 69 6e 65 09 2a 2f 0a 09 | 73 74 72 75 63 74 20 6d |ine.*/..|struct m|
|00003130| 61 70 20 2a 6b 67 5f 6d | 65 6d 6d 61 70 3b 09 2f |ap *kg_m|emmap;./|
|00003140| 2a 20 6b 65 79 62 64 20 | 67 72 70 20 6d 75 6c 74 |* keybd |grp mult|
|00003150| 69 73 63 72 65 65 6e 20 | 73 61 76 65 20 61 72 65 |iscreen |save are|
|00003160| 61 20 6d 61 70 09 2a 2f | 0a 09 73 68 6f 72 74 20 |a map.*/|..short |
|00003170| 6b 67 5f 64 74 6f 61 5b | 4d 41 58 41 44 41 50 54 |kg_dtoa[|MAXADAPT|
|00003180| 45 52 53 5d 3b 2f 2a 20 | 64 65 76 69 63 65 20 23 |ERS];/* |device #|
|00003190| 20 74 6f 20 61 64 61 70 | 74 65 72 20 69 6e 64 65 | to adap|ter inde|
|000031a0| 78 20 74 61 62 6c 65 09 | 2a 2f 0a 09 73 68 6f 72 |x table.|*/..shor|
|000031b0| 74 20 6b 67 5f 63 75 72 | 73 63 72 6e 3b 09 2f 2a |t kg_cur|scrn;./*|
|000031c0| 20 43 75 72 72 65 6e 74 | 20 73 63 72 65 65 6e 09 | Current| screen.|
|000031d0| 09 09 2a 2f 0a 09 73 68 | 6f 72 74 20 6b 67 5f 6d |..*/..sh|ort kg_m|
|000031e0| 61 78 73 63 72 6e 3b 09 | 2f 2a 20 4d 61 78 69 6d |axscrn;.|/* Maxim|
|000031f0| 75 6d 20 76 61 6c 69 64 | 20 73 63 72 65 65 6e 20 |um valid| screen |
|00003200| 69 6e 20 6b 65 79 62 6f | 61 72 64 20 67 72 70 09 |in keybo|ard grp.|
|00003210| 2a 2f 0a 09 73 74 72 75 | 63 74 20 6b 65 79 6d 61 |*/..stru|ct keyma|
|00003220| 70 20 2a 6b 67 5f 6b 65 | 79 6d 61 70 3b 09 2f 2a |p *kg_ke|ymap;./*|
|00003230| 20 53 63 61 6e 43 6f 64 | 65 20 74 72 61 6e 73 6c | ScanCod|e transl|
|00003240| 61 74 69 6f 6e 20 6d 61 | 70 09 2a 2f 0a 09 63 68 |ation ma|p.*/..ch|
|00003250| 61 72 20 6b 67 5f 72 61 | 62 75 66 5b 4d 41 58 52 |ar kg_ra|buf[MAXR|
|00003260| 41 5d 3b 09 2f 2a 20 6b | 65 79 62 6f 61 72 64 20 |A];./* k|eyboard |
|00003270| 73 63 61 6e 20 63 6f 64 | 65 20 72 65 61 64 20 61 |scan cod|e read a|
|00003280| 68 65 61 64 20 62 75 66 | 66 65 72 09 2a 2f 0a 09 |head buf|fer.*/..|
|00003290| 75 63 68 61 00 01 0e 02 | 00 30 01 02 00 72 5f 74 |ucha....|.0...r_t|
|000032a0| 20 2a 6b 67 5f 72 61 66 | 70 3b 09 2f 2a 20 72 65 | *kg_raf|p;./* re|
|000032b0| 61 64 20 61 68 65 61 64 | 20 62 75 66 20 66 72 6f |ad ahead| buf fro|
|000032c0| 6e 74 20 70 6f 69 6e 74 | 65 72 09 09 2a 2f 0a 09 |nt point|er..*/..|
|000032d0| 75 63 68 61 72 5f 74 20 | 2a 6b 67 5f 72 61 62 70 |uchar_t |*kg_rabp|
|000032e0| 3b 09 2f 2a 20 72 65 61 | 64 20 61 68 65 61 64 20 |;./* rea|d ahead |
|000032f0| 62 75 66 20 62 61 63 6b | 20 70 6f 69 6e 74 65 72 |buf back| pointer|
|00003300| 09 09 2a 2f 0a 09 75 63 | 68 61 72 5f 74 20 6b 67 |..*/..uc|har_t kg|
|00003310| 5f 62 72 65 61 6b 3b 09 | 2f 2a 20 77 61 73 20 6c |_break;.|/* was l|
|00003320| 61 73 74 20 53 63 61 6e | 20 43 6f 64 65 20 61 20 |ast Scan| Code a |
|00003330| 62 72 65 61 6b 3f 09 09 | 2a 2f 0a 09 73 68 6f 72 |break?..|*/..shor|
|00003340| 74 09 6b 67 5f 64 6f 77 | 6e 3b 09 2f 2a 20 57 68 |t.kg_dow|n;./* Wh|
|00003350| 69 63 68 20 73 74 61 74 | 65 20 6b 65 79 73 20 61 |ich stat|e keys a|
|00003360| 72 65 20 64 6f 77 6e 09 | 09 2a 2f 0a 09 75 63 68 |re down.|.*/..uch|
|00003370| 61 72 5f 74 20 6b 67 5f | 73 74 61 74 65 3b 09 2f |ar_t kg_|state;./|
|00003380| 2a 20 4c 6f 63 61 6c 20 | 6b 65 79 62 6f 61 72 64 |* Local |keyboard|
|00003390| 20 73 74 61 74 65 09 09 | 09 2a 2f 0a 09 75 63 68 | state..|.*/..uch|
|000033a0| 61 72 5f 74 20 6b 67 5f | 67 62 6c 6b 6c 6b 3b 09 |ar_t kg_|gblklk;.|
|000033b0| 2f 2a 20 47 6c 6f 62 61 | 6c 20 6b 65 79 20 6c 6f |/* Globa|l key lo|
|000033c0| 63 6b 20 6b 65 79 62 6f | 61 72 64 20 73 74 61 74 |ck keybo|ard stat|
|000033d0| 65 09 2a 2f 0a 09 75 63 | 68 61 72 5f 74 09 6b 67 |e.*/..uc|har_t.kg|
|000033e0| 5f 6b 62 6d 6f 64 65 3b | 09 2f 2a 20 6b 65 79 62 |_kbmode;|./* keyb|
|000033f0| 6f 61 72 64 20 6d 6f 64 | 65 20 41 54 20 76 73 2e |oard mod|e AT vs.|
|00003400| 20 58 54 09 09 2a 2f 0a | 09 69 6e 74 20 28 2a 6b | XT..*/.|.int (*k|
|00003410| 67 5f 73 63 72 73 65 6e | 64 29 28 29 3b 09 2f 2a |g_scrsen|d)();./*|
|00003420| 20 6b 62 20 63 6f 6d 6d | 61 6e 64 20 73 65 6e 64 | kb comm|and send|
|00003430| 65 72 20 28 6c 65 64 73 | 29 20 53 30 30 31 09 2a |er (leds|) S001.*|
|00003440| 2f 0a 09 69 6e 74 20 28 | 2a 6b 67 5f 73 63 72 64 |/..int (|*kg_scrd|
|00003450| 72 61 69 6e 29 28 29 3b | 09 2f 2a 20 63 6c 65 61 |rain)();|./* clea|
|00003460| 72 20 61 6e 79 20 6b 65 | 79 62 6f 61 72 64 20 64 |r any ke|yboard d|
|00003470| 61 74 61 20 20 53 30 30 | 31 09 2a 2f 0a 09 69 6e |ata S00|1.*/..in|
|00003480| 74 20 28 2a 6b 67 5f 73 | 63 72 67 65 74 6b 65 79 |t (*kg_s|crgetkey|
|00003490| 29 28 29 3b 09 2f 2a 20 | 66 65 74 63 68 00 01 0f |)();./* |fetch...|
|000034a0| 02 00 ac 01 02 00 20 6b | 65 79 20 66 72 6f 6d 20 |...... k|ey from |
|000034b0| 6b 65 79 62 6f 61 72 64 | 20 20 53 30 30 31 09 2a |keyboard| S001.*|
|000034c0| 2f 0a 09 69 6e 74 20 28 | 2a 6b 67 5f 73 63 72 6d |/..int (|*kg_scrm|
|000034d0| 6f 64 65 29 28 29 3b 09 | 2f 2a 20 70 75 74 20 6b |ode)();.|/* put k|
|000034e0| 62 20 69 6e 20 41 54 20 | 6f 72 20 58 54 20 6d 6f |b in AT |or XT mo|
|000034f0| 64 65 20 20 53 30 30 31 | 09 2a 2f 0a 09 69 6e 74 |de S001|.*/..int|
|00003500| 20 28 2a 6b 67 5f 62 65 | 6c 6c 29 28 29 3b 09 2f | (*kg_be|ll)();./|
|00003510| 2a 20 61 63 74 69 76 61 | 74 65 20 62 65 6c 6c 09 |* activa|te bell.|
|00003520| 20 20 20 20 53 30 30 33 | 09 2a 2f 20 0a 09 69 6e | S003|.*/ ..in|
|00003530| 74 20 6b 67 5f 65 78 74 | 6d 6f 64 65 3b 09 09 2f |t kg_ext|mode;../|
|00003540| 2a 20 45 78 74 65 6e 64 | 65 64 20 6d 6f 64 65 20 |* Extend|ed mode |
|00003550| 66 6c 61 67 20 09 20 20 | 20 20 53 30 30 35 09 2a |flag . | S005.*|
|00003560| 2f 0a 09 69 6e 74 20 6b | 67 5f 61 6c 74 73 65 71 |/..int k|g_altseq|
|00003570| 3b 09 09 2f 2a 20 41 4c | 54 20 6b 65 79 20 73 65 |;../* AL|T key se|
|00003580| 71 75 65 6e 63 65 09 20 | 20 20 20 53 30 30 35 09 |quence. | S005.|
|00003590| 2a 2f 0a 23 69 66 64 65 | 66 20 56 50 49 58 0a 09 |*/.#ifde|f VPIX..|
|000035a0| 69 6e 74 20 28 2a 6b 67 | 5f 73 6f 75 6e 64 29 28 |int (*kg|_sound)(|
|000035b0| 29 3b 09 2f 2a 20 56 50 | 2f 69 78 20 73 6f 75 6e |);./* VP|/ix soun|
|000035c0| 64 20 67 65 6e 65 72 61 | 74 6f 72 20 20 20 20 53 |d genera|tor S|
|000035d0| 30 30 34 09 2a 2f 0a 09 | 75 63 68 61 72 5f 74 20 |004.*/..|uchar_t |
|000035e0| 6b 67 5f 6e 75 6d 3b 09 | 09 2f 2a 20 6b 65 79 62 |kg_num;.|./* keyb|
|000035f0| 6f 61 72 64 20 67 72 6f | 75 70 20 6e 75 6d 62 65 |oard gro|up numbe|
|00003600| 72 09 09 2a 2f 0a 09 75 | 63 68 61 72 5f 74 20 6b |r..*/..u|char_t k|
|00003610| 67 5f 76 74 6c 6f 63 6b | 3b 09 2f 2a 20 56 54 20 |g_vtlock|;./* VT |
|00003620| 69 6e 74 65 72 6c 6f 63 | 6b 20 74 6f 6b 65 6e 09 |interloc|k token.|
|00003630| 09 09 2a 2f 0a 09 75 63 | 68 61 72 5f 74 20 6b 67 |..*/..uc|har_t kg|
|00003640| 5f 76 74 73 77 5f 69 64 | 3b 09 2f 2a 20 73 65 72 |_vtsw_id|;./* ser|
|00003650| 69 61 6c 69 7a 65 64 20 | 56 54 20 73 63 72 65 65 |ialized |VT scree|
|00003660| 6e 20 73 77 69 74 63 68 | 20 6e 75 6d 62 65 72 09 |n switch| number.|
|00003670| 2a 2f 0a 09 73 74 72 75 | 63 74 20 6d 73 63 72 6e |*/..stru|ct mscrn|
|00003680| 20 2a 6b 67 5f 76 74 73 | 77 74 63 68 74 6f 3b 09 | *kg_vts|wtchto;.|
|00003690| 2f 2a 20 6e 65 78 74 20 | 73 63 72 65 65 6e 20 69 |/* next |screen i|
|000036a0| 6e 20 61 20 56 54 0f 01 | 00 c5 01 00 01 02 00 76 |n a VT..|.......v|
|000036b0| 01 02 00 20 73 77 69 74 | 63 68 09 2a 2f 0a 23 65 |... swit|ch.*/.#e|
|000036c0| 6e 64 69 66 0a 7d 3b 0a | 0a 2f 2a 0a 20 2a 20 41 |ndif.};.|./*. * A|
|000036d0| 6c 6c 20 61 63 74 69 76 | 69 74 79 20 63 65 6e 74 |ll activ|ity cent|
|000036e0| 65 72 20 61 72 6f 75 6e | 64 20 61 20 6d 75 6c 74 |er aroun|d a mult|
|000036f0| 69 2d 73 63 72 65 65 6e | 2e 0a 20 2a 2f 0a 73 74 |i-screen|.. */.st|
|00003700| 72 75 63 74 20 6d 73 63 | 72 6e 20 7b 0a 09 73 74 |ruct msc|rn {..st|
|00003710| 72 75 63 74 20 6b 62 67 | 72 70 09 2a 6d 5f 67 72 |ruct kbg|rp.*m_gr|
|00003720| 70 3b 09 09 2f 2a 20 6d | 75 6c 74 69 73 63 72 65 |p;../* m|ultiscre|
|00003730| 65 6e 20 67 72 6f 75 70 | 20 68 65 61 64 65 72 09 |en group| header.|
|00003740| 2a 2f 0a 09 69 6e 74 09 | 09 6d 5f 6e 75 6d 3b 09 |*/..int.|.m_num;.|
|00003750| 09 2f 2a 20 73 63 72 65 | 65 6e 20 6e 75 6d 62 65 |./* scre|en numbe|
|00003760| 72 09 09 2a 2f 0a 09 73 | 74 72 75 63 74 20 74 74 |r..*/..s|truct tt|
|00003770| 79 09 2a 6d 5f 74 74 79 | 3b 09 09 2f 2a 20 74 74 |y.*m_tty|;../* tt|
|00003780| 79 20 73 74 72 75 63 74 | 75 72 65 09 09 2a 2f 0a |y struct|ure..*/.|
|00003790| 09 2f 2a 0a 09 20 2a 20 | 76 69 64 65 6f 20 70 61 |./*.. * |video pa|
|000037a0| 72 74 0a 09 20 2a 2f 0a | 09 73 74 72 75 63 74 20 |rt.. */.|.struct |
|000037b0| 61 64 61 70 74 65 72 20 | 2a 6d 76 5f 61 64 61 70 |adapter |*mv_adap|
|000037c0| 74 65 72 3b 09 2f 2a 20 | 70 74 72 20 74 6f 20 74 |ter;./* |ptr to t|
|000037d0| 68 65 20 73 63 72 65 65 | 6e 27 73 20 61 64 61 70 |he scree|n's adap|
|000037e0| 74 65 72 09 2a 2f 0a 09 | 76 73 65 67 5f 74 20 6d |ter.*/..|vseg_t m|
|000037f0| 76 5f 73 61 76 73 63 72 | 6e 3b 09 09 2f 2a 20 73 |v_savscr|n;../* s|
|00003800| 61 76 65 20 73 63 72 65 | 65 6e 20 52 41 4d 09 09 |ave scre|en RAM..|
|00003810| 2a 2f 0a 09 75 6e 73 69 | 67 6e 65 64 20 6d 76 5f |*/..unsi|gned mv_|
|00003820| 73 61 76 73 7a 3b 09 09 | 2f 2a 20 73 69 7a 65 20 |savsz;..|/* size |
|00003830| 6f 66 20 73 61 76 65 20 | 73 63 72 65 65 6e 20 75 |of save |screen u|
|00003840| 73 65 64 09 2a 2f 0a 09 | 66 61 64 64 72 5f 74 20 |sed.*/..|faddr_t |
|00003850| 6d 76 5f 73 6d 61 70 3b | 09 09 2f 2a 20 66 6f 6e |mv_smap;|../* fon|
|00003860| 74 20 76 61 6c 75 65 20 | 74 72 61 6e 73 6c 61 74 |t value |translat|
|00003870| 69 6f 6e 20 74 61 62 6c | 65 09 2a 2f 0a 09 75 63 |ion tabl|e.*/..uc|
|00003880| 68 61 72 5f 74 20 6d 76 | 5f 66 6f 6e 74 3b 09 09 |har_t mv|_font;..|
|00003890| 2f 2a 20 41 4e 53 49 20 | 66 6f 6e 74 2c 20 6f 6e |/* ANSI |font, on|
|000038a0| 65 20 6f 66 20 30 2c 20 | 31 2c 20 6f 72 20 32 09 |e of 0, |1, or 2.|
|000038b0| 2a 2f 0a 01 00 02 02 00 | ec 01 02 00 09 75 73 68 |*/......|.....ush|
|000038c0| 6f 72 74 20 6d 76 5f 74 | 6d 70 63 6f 6c 3b 09 09 |ort mv_t|mpcol;..|
|000038d0| 2f 2a 20 75 73 65 64 20 | 62 79 20 41 4e 53 49 09 |/* used |by ANSI.|
|000038e0| 09 09 2a 2f 0a 09 75 73 | 68 6f 72 74 20 6d 76 5f |..*/..us|hort mv_|
|000038f0| 72 6f 77 2c 20 6d 76 5f | 63 6f 6c 3b 09 09 2f 2a |row, mv_|col;../*|
|00003900| 20 63 75 72 73 6f 72 20 | 70 6f 73 69 74 69 6f 6e | cursor |position|
|00003910| 09 09 2a 2f 0a 09 75 73 | 68 6f 72 74 20 6d 76 5f |..*/..us|hort mv_|
|00003920| 72 73 7a 2c 20 6d 76 5f | 63 73 7a 3b 09 09 2f 2a |rsz, mv_|csz;../*|
|00003930| 20 74 65 78 74 20 73 63 | 72 65 65 6e 20 73 69 7a | text sc|reen siz|
|00003940| 65 09 09 2a 2f 0a 09 75 | 73 68 6f 72 74 20 6d 76 |e..*/..u|short mv|
|00003950| 5f 63 73 73 74 61 74 65 | 3b 09 09 2f 2a 20 43 74 |_csstate|;../* Ct|
|00003960| 6c 20 53 65 71 75 20 73 | 74 61 74 65 09 09 2a 2f |l Sequ s|tate..*/|
|00003970| 0a 09 75 73 68 6f 72 74 | 20 6d 76 5f 63 73 70 61 |..ushort| mv_cspa|
|00003980| 72 61 6d 5b 4e 43 53 50 | 41 52 41 4d 53 5d 3b 09 |ram[NCSP|ARAMS];.|
|00003990| 2f 2a 20 43 74 6c 20 53 | 65 71 75 20 70 61 72 61 |/* Ctl S|equ para|
|000039a0| 6d 65 74 65 72 73 09 09 | 2a 2f 0a 09 75 63 68 61 |meters..|*/..ucha|
|000039b0| 72 5f 74 20 6d 76 5f 63 | 73 69 6e 64 65 78 3b 09 |r_t mv_c|sindex;.|
|000039c0| 09 2f 2a 20 43 74 6c 20 | 53 65 71 75 20 70 61 72 |./* Ctl |Sequ par|
|000039d0| 61 6d 65 74 65 72 20 69 | 6e 64 65 78 09 2a 2f 0a |ameter i|ndex.*/.|
|000039e0| 09 75 63 68 61 72 5f 74 | 20 6d 76 5f 63 73 74 79 |.uchar_t| mv_csty|
|000039f0| 70 3b 09 09 2f 2a 20 63 | 75 72 73 6f 72 20 74 79 |p;../* c|ursor ty|
|00003a00| 70 65 09 09 09 2a 2f 0a | 09 73 74 72 75 63 74 20 |pe...*/.|.struct |
|00003a10| 63 6f 6c 6f 72 73 09 6d | 76 5f 6e 6f 72 6d 2c 09 |colors.m|v_norm,.|
|00003a20| 2f 2a 20 6e 6f 72 6d 61 | 6c 20 61 74 74 72 69 62 |/* norma|l attrib|
|00003a30| 75 74 65 73 09 09 2a 2f | 0a 09 09 09 6d 76 5f 72 |utes..*/|....mv_r|
|00003a40| 65 76 2c 09 09 2f 2a 20 | 72 65 76 65 72 73 65 20 |ev,../* |reverse |
|00003a50| 76 69 64 65 6f 20 61 74 | 74 72 69 62 75 74 65 73 |video at|tributes|
|00003a60| 09 2a 2f 0a 09 09 09 6d | 76 5f 67 72 66 63 3b 09 |.*/....m|v_grfc;.|
|00003a70| 2f 2a 20 67 72 61 70 68 | 69 63 20 63 68 61 72 61 |/* graph|ic chara|
|00003a80| 63 74 65 72 20 61 74 74 | 72 69 62 75 74 65 73 09 |cter att|ributes.|
|00003a90| 2a 2f 0a 09 75 63 68 61 | 72 5f 74 20 6d 76 5f 6f |*/..ucha|r_t mv_o|
|00003aa0| 76 73 63 61 6e 3b 09 09 | 2f 2a 20 62 6f 72 64 65 |vscan;..|/* borde|
|00003ab0| 72 20 63 6f 6c 6f 72 09 | 09 09 2a 2f 01 00 03 02 |r color.|..*/....|
|00003ac0| 00 32 01 02 00 0a 23 69 | 66 64 65 66 20 56 50 49 |.2....#i|fdef VPI|
|00003ad0| 58 0a 2f 2a 0a 20 2a 20 | 56 50 2f 69 78 20 76 69 |X./*. * |VP/ix vi|
|00003ae0| 72 74 75 61 6c 20 74 65 | 72 6d 69 6e 61 6c 73 2e |rtual te|rminals.|
|00003af0| 0a 20 2a 2f 0a 09 73 74 | 72 75 63 74 20 70 72 6f |. */..st|ruct pro|
|00003b00| 63 20 2a 76 74 5f 70 72 | 6f 63 70 3b 0a 09 73 74 |c *vt_pr|ocp;..st|
|00003b10| 72 75 63 74 20 76 38 36 | 64 61 74 20 2a 76 74 5f |ruct v86|dat *vt_|
|00003b20| 76 38 36 70 3b 0a 09 75 | 73 68 6f 72 74 20 76 74 |v86p;..u|short vt|
|00003b30| 5f 70 69 64 3b 0a 09 75 | 63 68 61 72 5f 74 20 76 |_pid;..u|char_t v|
|00003b40| 74 5f 72 65 6c 73 69 67 | 3b 0a 09 75 63 68 61 72 |t_relsig|;..uchar|
|00003b50| 5f 74 20 76 74 5f 61 63 | 71 73 69 67 3b 0a 09 75 |_t vt_ac|qsig;..u|
|00003b60| 63 68 61 72 5f 74 20 76 | 74 5f 66 72 73 69 67 3b |char_t v|t_frsig;|
|00003b70| 0a 09 75 63 68 61 72 5f | 74 20 76 74 5f 6b 62 6d |..uchar_|t vt_kbm|
|00003b80| 6f 64 65 3b 0a 09 75 63 | 68 61 72 5f 74 20 76 74 |ode;..uc|har_t vt|
|00003b90| 5f 73 63 72 6e 6d 6f 64 | 65 3b 0a 23 65 6e 64 69 |_scrnmod|e;.#endi|
|00003ba0| 66 0a 2f 2a 0a 20 2a 20 | 4b 65 79 62 6f 61 72 64 |f./*. * |Keyboard|
|00003bb0| 20 70 61 72 74 0a 20 2a | 2f 0a 09 63 68 61 72 20 | part. *|/..char |
|00003bc0| 6d 6b 5f 71 73 74 72 5b | 4d 41 58 46 4b 5d 3b 09 |mk_qstr[|MAXFK];.|
|00003bd0| 2f 2a 20 77 6f 72 6b 20 | 73 70 61 63 65 20 66 6f |/* work |space fo|
|00003be0| 72 20 66 75 6e 63 2e 20 | 6b 65 79 20 63 6f 6e 66 |r func. |key conf|
|00003bf0| 09 2a 2f 0a 09 73 74 72 | 69 78 70 5f 74 20 6d 6b |.*/..str|ixp_t mk|
|00003c00| 5f 73 74 72 69 78 3b 09 | 2f 2a 20 66 75 6e 63 74 |_strix;.|/* funct|
|00003c10| 69 6f 6e 20 6b 65 79 20 | 73 74 72 69 6e 67 20 74 |ion key |string t|
|00003c20| 61 62 6c 65 20 70 6f 69 | 6e 74 65 72 09 2a 2f 0a |able poi|nter.*/.|
|00003c30| 09 73 74 72 74 61 62 70 | 5f 74 20 6d 6b 5f 73 74 |.strtabp|_t mk_st|
|00003c40| 72 74 61 62 3b 09 2f 2a | 20 66 75 6e 63 74 69 6f |rtab;./*| functio|
|00003c50| 6e 20 6b 65 79 20 73 74 | 72 69 6e 67 20 74 65 78 |n key st|ring tex|
|00003c60| 74 20 74 61 62 6c 65 09 | 2a 2f 0a 09 75 63 68 61 |t table.|*/..ucha|
|00003c70| 72 5f 74 20 6d 6b 5f 6b | 65 79 6c 6f 63 6b 3b 09 |r_t mk_k|eylock;.|
|00003c80| 2f 2a 20 63 61 70 73 2f | 6e 75 6d 2f 73 63 72 6f |/* caps/|num/scro|
|00003c90| 6c 6c 20 6c 6f 63 6b 09 | 09 09 2a 2f 0a 2f 2a 0a |ll lock.|..*/./*.|
|00003ca0| 20 2a 20 66 6c 61 67 20 | 64 65 66 69 6e 69 74 69 | * flag |definiti|
|00003cb0| 6f 6e 73 20 66 6f 72 20 | 6d 6b 5f 6b 65 79 6c 6f |ons for |mk_keylo|
|00003cc0| 63 6b 0a 20 2a 01 00 04 | 02 00 c9 01 02 00 2f 0a |ck. *...|....../.|
|00003cd0| 23 64 65 66 69 6e 65 09 | 43 4c 4b 45 44 09 30 78 |#define.|CLKED.0x|
|00003ce0| 30 31 09 09 2f 2a 20 63 | 61 70 73 20 20 20 6c 6f |01../* c|aps lo|
|00003cf0| 63 6b 65 64 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |cked */.|#define.|
|00003d00| 4e 4c 4b 45 44 09 30 78 | 30 32 09 09 2f 2a 20 6e |NLKED.0x|02../* n|
|00003d10| 75 6d 20 20 20 20 6c 6f | 63 6b 65 64 20 2a 2f 0a |um lo|cked */.|
|00003d20| 23 64 65 66 69 6e 65 09 | 53 4c 4b 45 44 09 30 78 |#define.|SLKED.0x|
|00003d30| 30 34 09 09 2f 2a 20 73 | 63 72 6f 6c 6c 20 6c 6f |04../* s|croll lo|
|00003d40| 63 6b 65 64 20 2a 2f 0a | 2f 2a 0a 20 2a 20 42 65 |cked */.|/*. * Be|
|00003d50| 6c 6c 20 70 61 72 74 0a | 20 2a 2f 0a 09 75 73 68 |ll part.| */..ush|
|00003d60| 6f 72 74 20 6d 62 5f 74 | 69 6d 65 3b 09 09 2f 2a |ort mb_t|ime;../*|
|00003d70| 20 62 65 6c 6c 20 64 75 | 72 61 74 69 6f 6e 20 31 | bell du|ration 1|
|00003d80| 2f 31 30 20 73 65 63 73 | 20 2a 2f 0a 09 75 73 68 |/10 secs| */..ush|
|00003d90| 6f 72 74 20 6d 62 5f 66 | 72 65 71 3b 09 09 2f 2a |ort mb_f|req;../*|
|00003da0| 20 62 65 6c 6c 20 66 72 | 65 71 75 65 6e 63 79 20 | bell fr|equency |
|00003db0| 28 70 69 74 63 68 29 20 | 2a 2f 0a 2f 2a 0a 20 2a |(pitch) |*/./*. *|
|00003dc0| 20 4d 69 73 63 2e 20 46 | 65 61 74 75 72 65 73 0a | Misc. F|eatures.|
|00003dd0| 20 2a 2f 0a 09 75 73 68 | 6f 72 74 20 6d 66 5f 73 | */..ush|ort mf_s|
|00003de0| 61 76 72 6f 77 3b 09 2f | 2a 20 5e 5b 5b 37 20 73 |avrow;./|* ^[[7 s|
|00003df0| 61 76 65 20 63 75 72 72 | 65 6e 74 20 72 6f 77 20 |ave curr|ent row |
|00003e00| 26 20 63 6f 6c 09 2a 2f | 0a 09 75 73 68 6f 72 74 |& col.*/|..ushort|
|00003e10| 20 6d 66 5f 73 61 76 63 | 6f 6c 3b 09 2f 2a 20 5e | mf_savc|ol;./* ^|
|00003e20| 5b 5b 38 20 72 65 73 74 | 6f 72 65 20 72 6f 77 20 |[[8 rest|ore row |
|00003e30| 26 20 63 6f 6c 09 2a 2f | 0a 09 75 73 68 6f 72 74 |& col.*/|..ushort|
|00003e40| 20 6d 66 5f 73 6e 64 5f | 72 6f 77 3b 09 2f 2a 20 | mf_snd_|row;./* |
|00003e50| 72 6f 77 20 61 6e 64 20 | 63 6f 6c 20 66 6f 72 20 |row and |col for |
|00003e60| 73 65 6e 64 73 63 72 65 | 65 6e 09 2a 2f 0a 09 75 |sendscre|en.*/..u|
|00003e70| 73 68 6f 72 74 20 6d 66 | 5f 73 6e 64 5f 63 6f 6c |short mf|_snd_col|
|00003e80| 3b 0a 09 75 73 68 6f 72 | 74 20 6d 66 5f 73 74 61 |;..ushor|t mf_sta|
|00003e90| 74 75 73 3b 09 2f 2a 20 | 74 65 72 6d 69 6e 61 6c |tus;./* |terminal|
|00003ea0| 20 73 74 61 74 75 73 20 | 62 69 74 20 66 69 65 6c | status |bit fiel|
|00003eb0| 64 09 2a 2f 0a 09 75 73 | 68 6f 72 74 20 6d 66 5f |d.*/..us|hort mf_|
|00003ec0| 78 74 72 61 6f 70 65 6e | 66 3b 09 2f 2a 20 01 00 |xtraopen|f;./* ..|
|00003ed0| 05 02 00 f5 01 02 00 66 | 6c 61 67 73 20 66 6f 72 |.......f|lags for|
|00003ee0| 20 73 79 73 74 74 79 20 | 73 75 70 70 6f 72 74 09 | systty |support.|
|00003ef0| 2a 2f 0a 2f 2a 0a 20 2a | 20 44 65 66 69 6e 65 73 |*/./*. *| Defines|
|00003f00| 20 66 6f 72 20 6d 66 5f | 73 74 61 74 75 73 2e 0a | for mf_|status..|
|00003f10| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4d 46 53 5f | */.#def|ine MFS_|
|00003f20| 53 4e 44 5f 53 43 52 4e | 09 30 78 30 30 30 31 09 |SND_SCRN|.0x0001.|
|00003f30| 09 2f 2a 20 63 75 72 72 | 65 6e 74 6c 79 20 73 65 |./* curr|ently se|
|00003f40| 6e 64 20 73 63 72 65 65 | 6e 69 6e 67 09 2a 2f 0a |nd scree|ning.*/.|
|00003f50| 23 64 65 66 69 6e 65 20 | 4d 46 53 5f 4b 42 44 5f |#define |MFS_KBD_|
|00003f60| 4c 4f 43 4b 09 30 78 30 | 30 30 32 09 09 2f 2a 20 |LOCK.0x0|002../* |
|00003f70| 6b 65 79 62 6f 61 72 64 | 20 69 73 20 6c 6f 63 6b |keyboard| is lock|
|00003f80| 65 64 09 09 2a 2f 0a 23 | 64 65 66 69 6e 65 20 4d |ed..*/.#|define M|
|00003f90| 46 53 5f 54 45 58 54 4d | 4f 44 45 09 30 78 30 30 |FS_TEXTM|ODE.0x00|
|00003fa0| 30 34 09 09 2f 2a 20 74 | 65 78 74 6d 6f 64 65 20 |04../* t|extmode |
|00003fb0| 28 6e 6f 74 20 67 72 61 | 70 68 69 63 73 20 6d 6f |(not gra|phics mo|
|00003fc0| 64 65 29 09 2a 2f 0a 23 | 64 65 66 69 6e 65 20 4d |de).*/.#|define M|
|00003fd0| 46 53 5f 4c 4f 53 54 50 | 55 54 43 09 30 78 30 30 |FS_LOSTP|UTC.0x00|
|00003fe0| 30 38 09 09 2f 2a 20 6b | 65 72 6e 6c 20 70 75 74 |08../* k|ernl put|
|00003ff0| 63 27 73 20 6c 6f 73 74 | 20 69 6e 20 67 72 61 66 |c's lost| in graf|
|00004000| 69 78 73 09 2a 2f 0a 23 | 64 65 66 69 6e 65 20 4d |ixs.*/.#|define M|
|00004010| 46 53 5f 4e 4f 4d 41 52 | 47 49 4e 09 30 78 30 30 |FS_NOMAR|GIN.0x00|
|00004020| 31 30 09 09 2f 2a 20 6e | 6f 20 61 75 74 6f 6d 61 |10../* n|o automa|
|00004030| 72 67 69 6e 20 6d 6f 64 | 65 09 09 2a 2f 0a 23 69 |rgin mod|e..*/.#i|
|00004040| 66 64 65 66 20 56 50 49 | 58 0a 23 64 65 66 69 6e |fdef VPI|X.#defin|
|00004050| 65 20 4d 46 53 5f 50 52 | 4f 43 4d 4f 44 45 09 30 |e MFS_PR|OCMODE.0|
|00004060| 78 30 30 32 30 09 09 2f | 2a 20 73 63 72 65 65 6e |x0020../|* screen|
|00004070| 20 68 61 73 20 56 50 69 | 78 20 68 61 6e 64 6c 65 | has VPi|x handle|
|00004080| 72 20 70 72 6f 63 09 2a | 2f 0a 23 64 65 66 69 6e |r proc.*|/.#defin|
|00004090| 65 20 4d 46 53 5f 56 54 | 57 41 49 54 09 30 78 30 |e MFS_VT|WAIT.0x0|
|000040a0| 30 34 30 09 09 2f 2a 20 | 77 72 69 74 65 73 20 74 |040../* |writes t|
|000040b0| 6f 20 6e 6f 6e 63 75 72 | 20 73 63 72 73 2c 20 62 |o noncur| scrs, b|
|000040c0| 6c 6f 63 6b 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |lock */.|#define |
|000040d0| 4d 46 53 5f 56 54 4d 01 | 00 06 02 00 7e 01 02 00 |MFS_VTM.|....~...|
|000040e0| 41 50 50 45 44 09 30 78 | 30 30 38 30 09 09 2f 2a |APPED.0x|0080../*|
|000040f0| 20 64 69 73 70 6c 61 79 | 20 69 73 20 6d 61 70 70 | display| is mapp|
|00004100| 65 64 20 56 50 69 78 20 | 73 74 79 6c 65 09 2a 2f |ed VPix |style.*/|
|00004110| 0a 23 65 6e 64 69 66 0a | 2f 2a 0a 20 2a 20 44 65 |.#endif.|/*. * De|
|00004120| 66 69 6e 65 73 20 66 6f | 72 20 6d 66 5f 78 74 72 |fines fo|r mf_xtr|
|00004130| 61 6f 70 65 6e 66 2e 0a | 20 2a 2f 0a 23 64 65 66 |aopenf..| */.#def|
|00004140| 69 6e 65 20 4d 46 58 4f | 46 5f 43 4f 4e 53 09 30 |ine MFXO|F_CONS.0|
|00004150| 78 30 30 30 31 0a 23 64 | 65 66 69 6e 65 20 4d 46 |x0001.#d|efine MF|
|00004160| 58 4f 46 5f 43 44 45 56 | 09 30 78 30 30 30 32 0a |XOF_CDEV|.0x0002.|
|00004170| 2f 2a 0a 20 2a 20 50 65 | 72 20 53 63 72 65 65 6e |/*. * Pe|r Screen|
|00004180| 20 68 61 72 64 77 61 72 | 65 20 66 69 65 6c 64 73 | hardwar|e fields|
|00004190| 20 66 6f 72 20 75 73 65 | 20 62 79 20 74 68 65 20 | for use| by the |
|000041a0| 61 64 61 70 74 65 72 20 | 64 72 69 76 65 72 73 2e |adapter |drivers.|
|000041b0| 0a 20 2a 20 45 61 63 68 | 20 61 64 61 70 74 65 72 |. * Each| adapter|
|000041c0| 20 64 72 69 76 65 72 20 | 75 73 65 73 20 74 68 69 | driver |uses thi|
|000041d0| 73 20 61 72 65 61 20 69 | 6e 20 61 6e 79 20 6d 61 |s area i|n any ma|
|000041e0| 6e 6e 65 72 20 69 74 20 | 63 68 6f 73 65 73 2e 0a |nner it |choses..|
|000041f0| 20 2a 20 49 66 20 74 68 | 65 20 61 64 61 70 74 65 | * If th|e adapte|
|00004200| 72 20 64 72 69 76 65 72 | 20 77 69 73 68 65 64 20 |r driver| wished |
|00004210| 74 6f 20 6d 61 6b 65 20 | 75 73 65 20 6f 66 20 6d |to make |use of m|
|00004220| 36 38 34 35 2e 63 20 74 | 68 65 6e 0a 20 2a 20 74 |6845.c t|hen. * t|
|00004230| 68 65 20 66 69 72 73 74 | 20 38 20 62 79 74 65 73 |he first| 8 bytes|
|00004240| 20 6f 66 20 74 68 65 20 | 61 64 61 70 74 65 72 20 | of the |adapter |
|00004250| 61 72 65 61 20 6d 75 73 | 74 20 6d 61 74 63 68 20 |area mus|t match |
|00004260| 6d 36 38 34 35 5f 61 2e | 0a 20 2a 2f 0a 09 75 63 |m6845_a.|. */..uc|
|00004270| 68 61 72 5f 74 20 61 64 | 70 5f 61 72 65 61 5b 33 |har_t ad|p_area[3|
|00004280| 32 5d 3b 0a 7d 3b 0a 0a | 2f 2a 0a 20 2a 20 41 6c |2];.};..|/*. * Al|
|00004290| 6c 20 61 64 61 70 74 65 | 72 20 6d 75 6c 74 69 73 |l adapte|r multis|
|000042a0| 63 72 65 65 6e 20 66 69 | 65 6c 64 20 64 65 66 69 |creen fi|eld defi|
|000042b0| 6e 69 74 69 6f 6e 73 20 | 6d 75 73 74 20 68 61 76 |nitions |must hav|
|000042c0| 65 0a 20 2a 20 74 68 65 | 73 65 20 66 69 65 6c 64 |e. * the|se field|
|000042d0| 73 20 61 74 20 74 68 65 | 20 74 6f 70 20 69 66 20 |s at the| top if |
|000042e0| 01 00 07 02 00 25 01 02 | 00 74 68 65 20 61 64 61 |.....%..|.the ada|
|000042f0| 70 74 65 72 20 64 72 69 | 76 65 72 20 69 73 0a 20 |pter dri|ver is. |
|00004300| 2a 20 69 6e 74 65 6e 64 | 65 64 20 74 6f 20 77 6f |* intend|ed to wo|
|00004310| 72 6b 20 77 69 74 68 20 | 6d 36 38 34 35 2e 63 0a |rk with |m6845.c.|
|00004320| 20 2a 2f 0a 73 74 72 75 | 63 74 20 6d 36 38 34 35 | */.stru|ct m6845|
|00004330| 5f 61 20 7b 0a 09 75 63 | 68 61 72 5f 74 09 61 5f |_a {..uc|har_t.a_|
|00004340| 62 61 74 74 72 3b 09 2f | 2a 20 42 6f 6c 64 20 26 |battr;./|* Bold &|
|00004350| 20 42 6c 69 6e 6b 20 61 | 74 74 72 69 62 75 74 65 | Blink a|ttribute|
|00004360| 73 09 2a 2f 0a 09 75 63 | 68 61 72 5f 74 09 61 5f |s.*/..uc|har_t.a_|
|00004370| 63 61 74 74 72 3b 09 2f | 2a 20 43 6f 6c 6f 72 2f |cattr;./|* Color/|
|00004380| 52 65 76 65 72 73 65 20 | 61 74 74 72 69 62 75 74 |Reverse |attribut|
|00004390| 65 73 09 2a 2f 0a 09 75 | 63 68 61 72 5f 74 09 61 |es.*/..u|char_t.a|
|000043a0| 5f 61 74 74 72 73 3b 09 | 2f 2a 20 4f 52 20 62 61 |_attrs;.|/* OR ba|
|000043b0| 74 74 72 20 77 69 74 68 | 20 63 61 74 74 72 09 09 |ttr with| cattr..|
|000043c0| 2a 2f 0a 09 75 63 68 61 | 72 5f 74 09 61 5f 6d 6f |*/..ucha|r_t.a_mo|
|000043d0| 64 65 72 65 67 3b 09 2f | 2a 20 63 6f 6e 74 65 6e |dereg;./|* conten|
|000043e0| 74 73 20 6f 66 20 36 38 | 34 35 20 6d 6f 64 65 20 |ts of 68|45 mode |
|000043f0| 72 65 67 09 2a 2f 0a 09 | 75 73 68 6f 72 74 09 61 |reg.*/..|ushort.a|
|00004400| 5f 63 73 72 3b 09 09 2f | 2a 20 63 75 72 73 6f 72 |_csr;../|* cursor|
|00004410| 20 73 68 61 70 65 09 09 | 09 2a 2f 0a 09 75 73 68 | shape..|.*/..ush|
|00004420| 6f 72 74 09 61 5f 73 63 | 72 6f 66 66 3b 09 2f 2a |ort.a_sc|roff;./*|
|00004430| 20 6f 66 66 73 65 74 20 | 6f 66 20 73 63 72 65 65 | offset |of scree|
|00004440| 6e 20 69 6e 20 76 69 64 | 65 6f 09 2a 2f 0a 7d 3b |n in vid|eo.*/.};|
|00004450| 0a 0a 2f 2a 0a 20 2a 20 | 20 44 61 74 61 20 66 6f |../*. * | Data fo|
|00004460| 72 20 61 63 63 65 73 73 | 69 6e 67 20 61 6e 20 61 |r access|ing an a|
|00004470| 64 61 70 74 65 72 20 64 | 72 69 76 65 72 2e 0a 20 |dapter d|river.. |
|00004480| 2a 2f 0a 73 74 72 75 63 | 74 20 61 64 61 70 74 65 |*/.struc|t adapte|
|00004490| 72 20 7b 0a 09 63 68 61 | 72 09 2a 76 5f 6e 61 6d |r {..cha|r.*v_nam|
|000044a0| 65 3b 09 09 2f 2a 20 6e | 61 6d 65 20 6f 66 20 74 |e;../* n|ame of t|
|000044b0| 68 65 20 61 64 61 70 74 | 65 72 20 69 65 20 22 43 |he adapt|er ie "C|
|000044c0| 47 41 22 09 2a 2f 0a 0a | 09 75 73 68 6f 72 74 09 |GA".*/..|.ushort.|
|000044d0| 76 5f 74 79 70 65 3b 09 | 09 09 2f 2a 20 62 61 73 |v_type;.|../* bas|
|000044e0| 69 63 20 74 79 70 65 20 | 65 01 00 08 02 00 65 01 |ic type |e.....e.|
|000044f0| 02 00 67 2e 20 4d 4f 4e | 4f 2c 20 43 47 41 2c 2e |..g. MON|O, CGA,.|
|00004500| 2e 2e 20 2a 2f 0a 09 75 | 73 68 6f 72 74 09 76 5f |.. */..u|short.v_|
|00004510| 6f 65 6d 3b 09 09 09 2f | 2a 20 6e 6f 6e 73 74 61 |oem;.../|* nonsta|
|00004520| 6e 64 61 72 64 20 76 65 | 6e 64 6f 72 20 6e 61 6d |ndard ve|ndor nam|
|00004530| 65 20 09 2a 2f 0a 09 73 | 74 72 75 63 74 20 6d 73 |e .*/..s|truct ms|
|00004540| 63 72 6e 20 2a 76 5f 63 | 75 72 73 63 72 6e 3b 09 |crn *v_c|urscrn;.|
|00004550| 2f 2a 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 74 68 |/* point|er to th|
|00004560| 65 20 63 75 72 72 65 6e | 74 20 73 63 72 65 65 6e |e curren|t screen|
|00004570| 2a 2f 0a 0a 09 75 73 68 | 6f 72 74 09 76 5f 69 6e |*/...ush|ort.v_in|
|00004580| 69 74 72 63 3b 09 09 2f | 2a 20 73 61 76 65 64 20 |itrc;../|* saved |
|00004590| 72 65 74 75 72 6e 20 76 | 61 6c 75 65 20 6f 66 20 |return v|alue of |
|000045a0| 76 5f 69 6e 69 74 20 2a | 2f 0a 09 2f 2a 0a 09 20 |v_init *|/../*.. |
|000045b0| 2a 20 41 64 61 70 74 65 | 72 20 72 6f 75 74 69 6e |* Adapte|r routin|
|000045c0| 65 73 0a 09 20 2a 20 54 | 68 65 73 65 20 72 6f 75 |es.. * T|hese rou|
|000045d0| 74 69 6e 65 73 20 6d 61 | 6e 69 70 75 6c 61 74 65 |tines ma|nipulate|
|000045e0| 20 74 68 65 0a 09 20 2a | 20 6f 6e 20 76 69 64 65 | the.. *| on vide|
|000045f0| 6f 20 61 6e 64 20 73 61 | 76 65 20 69 6d 61 67 65 |o and sa|ve image|
|00004600| 20 73 63 72 65 65 6e 73 | 2e 0a 09 20 2a 2f 0a 09 | screens|... */..|
|00004610| 69 6e 74 20 28 2a 76 5f | 69 6e 69 74 29 28 29 3b |int (*v_|init)();|
|00004620| 09 2f 2a 20 69 6e 69 74 | 20 74 68 65 20 61 64 61 |./* init| the ada|
|00004630| 70 74 65 72 20 64 72 69 | 76 65 72 09 09 2a 2f 0a |pter dri|ver..*/.|
|00004640| 09 69 6e 74 20 28 2a 76 | 5f 63 6d 6f 73 29 28 29 |.int (*v|_cmos)()|
|00004650| 3b 09 2f 2a 20 45 78 74 | 72 61 20 63 6d 6f 73 20 |;./* Ext|ra cmos |
|00004660| 74 79 70 65 20 63 68 65 | 63 6b 69 6e 67 09 09 2a |type che|cking..*|
|00004670| 2f 0a 09 69 6e 74 20 28 | 2a 76 5f 69 6e 69 74 73 |/..int (|*v_inits|
|00004680| 63 72 65 65 6e 29 28 29 | 3b 09 2f 2a 20 69 6e 69 |creen)()|;./* ini|
|00004690| 74 20 61 20 6d 75 6c 74 | 69 73 63 72 65 65 6e 20 |t a mult|iscreen |
|000046a0| 6f 6e 20 74 68 65 20 61 | 64 61 70 74 65 72 09 2a |on the a|dapter.*|
|000046b0| 2f 0a 09 76 6f 69 64 20 | 28 2a 76 5f 73 63 72 6f |/..void |(*v_scro|
|000046c0| 6c 6c 29 28 29 3b 0a 09 | 76 6f 69 64 20 28 2a 76 |ll)();..|void (*v|
|000046d0| 5f 63 6f 70 79 29 28 29 | 3b 0a 09 76 6f 69 64 20 |_copy)()|;..void |
|000046e0| 28 2a 76 5f 63 6c 65 61 | 72 29 28 29 3b 0a 09 76 |(*v_clea|r)();..v|
|000046f0| 6f 69 01 00 09 02 00 a4 | 01 02 00 64 20 28 2a 76 |oi......|...d (*v|
|00004700| 5f 70 63 68 61 72 29 28 | 29 3b 09 2f 2a 20 70 75 |_pchar)(|);./* pu|
|00004710| 74 20 61 20 73 74 72 69 | 6e 67 20 6f 66 20 63 68 |t a stri|ng of ch|
|00004720| 61 72 61 63 74 65 72 73 | 09 09 2a 2f 0a 09 76 6f |aracters|..*/..vo|
|00004730| 69 64 20 28 2a 76 5f 73 | 63 75 72 73 29 28 29 3b |id (*v_s|curs)();|
|00004740| 09 2f 2a 20 73 65 74 20 | 74 68 65 20 61 63 74 69 |./* set |the acti|
|00004750| 76 65 20 61 6e 64 20 63 | 75 72 73 6f 72 20 70 6f |ve and c|ursor po|
|00004760| 73 69 74 69 6f 6e 09 2a | 2f 0a 09 76 6f 69 64 20 |sition.*|/..void |
|00004770| 28 2a 76 5f 73 67 72 29 | 28 29 3b 09 2f 2a 20 73 |(*v_sgr)|();./* s|
|00004780| 65 74 20 67 72 61 70 68 | 69 63 20 72 65 6e 64 69 |et graph|ic rendi|
|00004790| 74 69 6f 6e 3b 20 73 65 | 65 20 41 6e 73 69 20 58 |tion; se|e Ansi X|
|000047a0| 2e 36 34 09 2a 2f 0a 09 | 69 6e 74 20 28 2a 76 5f |.64.*/..|int (*v_|
|000047b0| 69 6f 63 74 6c 29 28 29 | 3b 09 2f 2a 20 41 64 61 |ioctl)()|;./* Ada|
|000047c0| 70 74 65 72 20 73 70 65 | 63 69 66 69 63 20 69 6f |pter spe|cific io|
|000047d0| 63 74 6c 20 68 61 6e 64 | 6c 65 72 09 2a 2f 0a 09 |ctl hand|ler.*/..|
|000047e0| 69 6e 74 20 28 2a 76 5f | 61 64 61 70 63 74 6c 29 |int (*v_|adapctl)|
|000047f0| 28 29 3b 09 2f 2a 20 41 | 64 61 70 74 65 72 20 73 |();./* A|dapter s|
|00004800| 70 65 63 69 66 69 63 20 | 6d 69 73 63 20 6f 74 68 |pecific |misc oth|
|00004810| 65 72 20 73 74 75 66 66 | 09 2a 2f 0a 0a 09 76 73 |er stuff|.*/...vs|
|00004820| 65 67 5f 74 09 76 5f 76 | 69 64 65 6f 72 61 6d 3b |eg_t.v_v|ideoram;|
|00004830| 09 2f 2a 20 4b 65 72 6e | 65 6c 20 70 6f 69 6e 74 |./* Kern|el point|
|00004840| 65 72 20 74 6f 20 76 69 | 64 65 6f 20 72 61 6d 09 |er to vi|deo ram.|
|00004850| 09 2a 2f 0a 09 70 61 64 | 64 72 5f 74 09 76 5f 70 |.*/..pad|dr_t.v_p|
|00004860| 61 64 64 72 3b 09 2f 2a | 20 50 68 79 73 69 63 61 |addr;./*| Physica|
|00004870| 6c 20 61 64 64 72 65 73 | 73 20 6f 66 20 76 69 64 |l addres|s of vid|
|00004880| 65 6f 20 72 61 6d 09 2a | 2f 0a 09 75 6c 6f 6e 67 |eo ram.*|/..ulong|
|00004890| 5f 74 09 76 5f 73 69 7a | 65 3b 09 09 2f 2a 20 53 |_t.v_siz|e;../* S|
|000048a0| 69 7a 65 20 6f 66 20 6f | 66 20 76 69 64 65 6f 20 |ize of o|f video |
|000048b0| 72 61 6d 20 69 6e 20 62 | 79 74 65 73 09 2a 2f 0a |ram in b|ytes.*/.|
|000048c0| 23 69 66 64 65 66 20 56 | 50 49 58 0a 09 75 6c 6f |#ifdef V|PIX..ulo|
|000048d0| 6e 67 5f 74 09 76 5f 76 | 38 36 61 64 64 72 3b 09 |ng_t.v_v|86addr;.|
|000048e0| 2f 2a 20 57 68 65 72 65 | 20 56 50 2f 69 78 20 6e |/* Where| VP/ix n|
|000048f0| 65 65 64 73 20 74 68 69 | 73 20 63 01 00 0a 02 00 |eeds thi|s c.....|
|00004900| 40 01 02 00 61 72 64 09 | 09 2a 2f 0a 23 65 6e 64 |@...ard.|.*/.#end|
|00004910| 69 66 0a 7d 3b 0a 0a 2f | 2a 20 62 69 74 73 20 66 |if.};../|* bits f|
|00004920| 69 65 6c 64 73 20 6f 66 | 20 76 5f 69 6e 69 74 72 |ields of| v_initr|
|00004930| 63 20 28 41 64 61 70 74 | 65 72 20 49 6e 69 74 20 |c (Adapt|er Init |
|00004940| 72 65 74 75 72 6e 20 76 | 61 6c 75 65 73 20 2a 2f |return v|alues */|
|00004950| 0a 23 64 65 66 69 6e 65 | 20 41 49 5f 50 52 45 53 |.#define| AI_PRES|
|00004960| 45 4e 54 09 30 78 30 30 | 30 31 0a 23 64 65 66 69 |ENT.0x00|01.#defi|
|00004970| 6e 65 20 41 49 5f 43 4f | 4c 4f 52 09 30 78 30 30 |ne AI_CO|LOR.0x00|
|00004980| 30 32 0a 23 64 65 66 69 | 6e 65 20 41 44 41 50 5f |02.#defi|ne ADAP_|
|00004990| 4e 50 09 09 30 0a 0a 2f | 2a 20 6d 69 73 63 2e 20 |NP..0../|* misc. |
|000049a0| 6d 61 63 72 6f 73 20 2a | 2f 0a 23 64 65 66 69 6e |macros *|/.#defin|
|000049b0| 65 20 44 49 53 50 4c 41 | 59 45 44 28 6d 73 70 29 |e DISPLA|YED(msp)|
|000049c0| 09 28 28 6d 73 70 29 2d | 3e 6d 76 5f 61 64 61 70 |.((msp)-|>mv_adap|
|000049d0| 74 65 72 2d 3e 76 5f 63 | 75 72 73 63 72 6e 20 3d |ter->v_c|urscrn =|
|000049e0| 3d 20 28 6d 73 70 29 29 | 0a 23 64 65 66 69 6e 65 |= (msp))|.#define|
|000049f0| 20 54 45 58 54 4d 4f 44 | 45 28 6d 73 70 29 09 28 | TEXTMOD|E(msp).(|
|00004a00| 4d 46 53 5f 54 45 58 54 | 4d 4f 44 45 20 26 20 28 |MFS_TEXT|MODE & (|
|00004a10| 6d 73 70 29 2d 3e 6d 66 | 5f 73 74 61 74 75 73 29 |msp)->mf|_status)|
|00004a20| 0a 23 64 65 66 69 6e 65 | 20 53 43 52 45 45 4e 53 |.#define| SCREENS|
|00004a30| 5a 28 6d 73 70 29 09 28 | 28 6d 73 70 29 2d 3e 6d |Z(msp).(|(msp)->m|
|00004a40| 76 5f 72 73 7a 20 2a 20 | 28 6d 73 70 29 2d 3e 6d |v_rsz * |(msp)->m|
|00004a50| 76 5f 63 73 7a 29 0a 23 | 64 65 66 69 6e 65 20 43 |v_csz).#|define C|
|00004a60| 55 52 53 4f 52 28 6d 73 | 70 29 09 28 28 6d 73 70 |URSOR(ms|p).((msp|
|00004a70| 29 2d 3e 6d 76 5f 72 6f | 77 20 2a 20 28 6d 73 70 |)->mv_ro|w * (msp|
|00004a80| 29 2d 3e 6d 76 5f 63 73 | 7a 20 2b 20 28 6d 73 70 |)->mv_cs|z + (msp|
|00004a90| 29 2d 3e 6d 76 5f 63 6f | 6c 29 0a 0a 23 69 66 64 |)->mv_co|l)..#ifd|
|00004aa0| 65 66 20 4d 5f 49 33 38 | 36 0a 23 64 65 66 69 6e |ef M_I38|6.#defin|
|00004ab0| 65 09 56 49 44 4d 45 4d | 47 45 54 28 70 61 67 65 |e.VIDMEM|GET(page|
|00004ac0| 73 29 09 28 20 28 70 66 | 6e 5f 74 29 20 6d 65 6d |s).( (pf|n_t) mem|
|00004ad0| 67 65 74 28 70 61 67 65 | 73 29 20 29 0a 23 65 6c |get(page|s) ).#el|
|00004ae0| 73 65 09 2f 2a 20 4d 5f | 49 32 38 36 20 2a 2f 0a |se./* M_|I286 */.|
|00004af0| 23 64 65 66 69 6e 65 09 | 56 49 44 4d 45 4d 47 45 |#define.|VIDMEMGE|
|00004b00| 54 28 70 61 01 00 0b 02 | 00 16 01 02 00 67 65 73 |T(pa....|.....ges|
|00004b10| 29 09 28 20 28 6d 6c 6f | 63 5f 74 29 20 6d 6d 75 |).( (mlo|c_t) mmu|
|00004b20| 67 65 74 28 70 61 67 65 | 73 29 20 29 0a 23 65 6e |get(page|s) ).#en|
|00004b30| 64 69 66 0a 0a 66 61 64 | 64 72 5f 74 20 76 69 64 |dif..fad|dr_t vid|
|00004b40| 6d 61 70 28 29 3b 0a 66 | 61 64 64 72 5f 74 20 76 |map();.f|addr_t v|
|00004b50| 69 64 75 6d 61 70 69 6e | 69 74 28 29 3b 0a 0a 23 |idumapin|it();..#|
|00004b60| 69 66 64 65 66 20 56 50 | 49 58 0a 73 74 72 75 63 |ifdef VP|IX.struc|
|00004b70| 74 20 6b 62 67 72 70 20 | 2a 76 69 64 67 65 74 67 |t kbgrp |*vidgetg|
|00004b80| 72 70 70 28 29 3b 09 2f | 2a 20 67 65 74 20 61 20 |rpp();./|* get a |
|00004b90| 6b 62 20 67 72 70 20 70 | 74 72 20 66 72 6f 6d 20 |kb grp p|tr from |
|00004ba0| 61 20 6b 62 20 67 72 70 | 20 6e 75 6d 09 2a 2f 0a |a kb grp| num.*/.|
|00004bb0| 69 6e 74 20 76 69 64 67 | 65 74 67 72 70 6e 75 6d |int vidg|etgrpnum|
|00004bc0| 28 29 3b 09 09 2f 2a 20 | 67 65 74 20 61 20 6b 62 |();../* |get a kb|
|00004bd0| 20 67 72 70 20 6e 75 6d | 20 66 72 6f 6d 20 61 20 | grp num| from a |
|00004be0| 6b 62 20 67 72 70 20 70 | 74 72 09 2a 2f 0a 23 65 |kb grp p|tr.*/.#e|
|00004bf0| 6e 64 69 66 0a 66 69 6e | 65 20 54 45 58 54 4d 4f |ndif.fin|e TEXTMO|
|00004c00| 44 45 28 6d 73 70 29 09 | 28 4d 46 53 5f 54 45 58 |DE(msp).|(MFS_TEX|
|00004c10| 54 4d 4f 44 45 20 26 20 | 28 6d 73 70 29 2d 3e 6d |TMODE & |(msp)->m|
|00004c20| 66 5f 73 74 61 74 75 73 | 29 0a 23 64 65 66 69 6e |f_status|).#defin|
|00004c30| 65 20 53 43 52 45 45 4e | 53 5a 28 6d 73 70 29 09 |e SCREEN|SZ(msp).|
|00004c40| 28 28 6d 73 70 29 2d 3e | 6d 76 5f 72 73 7a 20 2a |((msp)->|mv_rsz *|
|00004c50| 20 28 6d 73 70 29 2d 3e | 6d 76 5f 63 73 7a 29 0a | (msp)->|mv_csz).|
|00004c60| 23 64 65 66 69 6e 65 20 | 43 55 52 53 4f 52 28 6d |#define |CURSOR(m|
|00004c70| 73 70 29 09 28 28 6d 73 | 70 29 2d 3e 6d 76 5f 72 |sp).((ms|p)->mv_r|
|00004c80| 6f 77 20 2a 20 28 6d 73 | 70 29 2d 3e 6d 76 5f 63 |ow * (ms|p)->mv_c|
|00004c90| 73 7a 20 2b 20 28 6d 73 | 70 29 2d 3e 6d 76 5f 63 |sz + (ms|p)->mv_c|
|00004ca0| 6f 6c 29 0a 0a 23 69 66 | 64 65 66 20 4d 5f 49 33 |ol)..#if|def M_I3|
|00004cb0| 38 36 0a 23 64 65 66 69 | 6e 65 09 56 49 44 4d 45 |86.#defi|ne.VIDME|
|00004cc0| 4d 47 45 54 28 70 61 67 | 65 73 29 09 28 20 28 70 |MGET(pag|es).( (p|
|00004cd0| 66 6e 5f 74 29 20 6d 65 | 6d 67 65 74 28 70 61 67 |fn_t) me|mget(pag|
|00004ce0| 65 73 29 20 29 0a 23 65 | 6c 73 65 09 2f 2a 20 4d |es) ).#e|lse./* M|
|00004cf0| 5f 49 32 38 36 20 2a 2f | 0a 23 64 65 66 69 6e 65 |_I286 */|.#define|
|00004d00| 09 56 49 44 4d 45 4d 47 | 45 54 28 70 61 01 00 0c |.VIDMEMG|ET(pa...|
|00004d10| 02 00 6a 5d 00 02 00 17 | 2e 2f 75 73 72 2f 69 6e |..j]....|./usr/in|
|00004d20| 63 6c 75 64 65 2f 73 79 | 73 2f 76 61 72 2e 68 01 |clude/sy|s/var.h.|
|00004d30| 26 00 00 00 39 00 20 20 | 20 34 34 34 20 00 20 20 |&...9. | 444 . |
|00004d40| 20 20 20 30 20 00 20 20 | 20 20 20 30 20 00 20 20 | 0 . | 0 . |
|00004d50| 20 20 20 20 20 36 34 37 | 37 20 20 34 32 36 36 36 | 647|7 42666|
|00004d60| 31 35 37 31 30 20 20 31 | 30 32 30 30 00 20 01 b2 |15710 1|0200. ..|
|00004d70| 00 00 01 00 0d 02 00 82 | 01 02 00 2f 2a 0a 20 2a |........|.../*. *|
|00004d80| 09 40 28 23 29 20 76 61 | 72 2e 68 20 32 2e 34 20 |.@(#) va|r.h 2.4 |
|00004d90| 38 38 2f 30 37 2f 31 33 | 20 0a 20 2a 0a 20 2a 09 |88/07/13| . *. *.|
|00004da0| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 54 68 |Copyrigh|t (C) Th|
|00004db0| 65 20 53 61 6e 74 61 20 | 43 72 75 7a 20 4f 70 65 |e Santa |Cruz Ope|
|00004dc0| 72 61 74 69 6f 6e 2c 20 | 31 39 38 34 2c 20 31 39 |ration, |1984, 19|
|00004dd0| 38 35 2c 20 31 39 38 36 | 2c 20 31 39 38 37 2c 20 |85, 1986|, 1987, |
|00004de0| 31 39 38 38 2e 0a 20 2a | 09 43 6f 70 79 72 69 67 |1988.. *|.Copyrig|
|00004df0| 68 74 20 28 43 29 20 4d | 69 63 72 6f 73 6f 66 74 |ht (C) M|icrosoft|
|00004e00| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 2c 20 31 39 | Corpora|tion, 19|
|00004e10| 38 34 2c 20 31 39 38 35 | 2c 20 31 39 38 36 2c 20 |84, 1985|, 1986, |
|00004e20| 31 39 38 37 2c 20 31 39 | 38 38 2e 0a 20 2a 09 54 |1987, 19|88.. *.T|
|00004e30| 68 69 73 20 4d 6f 64 75 | 6c 65 20 63 6f 6e 74 61 |his Modu|le conta|
|00004e40| 69 6e 73 20 50 72 6f 70 | 72 69 65 74 61 72 79 20 |ins Prop|rietary |
|00004e50| 49 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 6f 66 0a 20 |Informat|ion of. |
|00004e60| 2a 09 54 68 65 20 53 61 | 6e 74 61 20 43 72 75 7a |*.The Sa|nta Cruz|
|00004e70| 20 4f 70 65 72 61 74 69 | 6f 6e 2c 20 4d 69 63 72 | Operati|on, Micr|
|00004e80| 6f 73 6f 66 74 20 43 6f | 72 70 6f 72 61 74 69 6f |osoft Co|rporatio|
|00004e90| 6e 0a 20 2a 09 61 6e 64 | 20 41 54 26 54 2c 20 61 |n. *.and| AT&T, a|
|00004ea0| 6e 64 20 73 68 6f 75 6c | 64 20 62 65 20 74 72 65 |nd shoul|d be tre|
|00004eb0| 61 74 65 64 20 61 73 20 | 43 6f 6e 66 69 64 65 6e |ated as |Confiden|
|00004ec0| 74 69 61 6c 2e 0a 20 2a | 2f 0a 0a 2f 2a 0a 20 2a |tial.. *|/../*. *|
|00004ed0| 20 54 48 49 53 20 46 49 | 4c 45 20 43 4f 4e 54 41 | THIS FI|LE CONTA|
|00004ee0| 49 4e 53 20 43 4f 44 45 | 20 57 48 49 43 48 20 49 |INS CODE| WHICH I|
|00004ef0| 53 20 44 45 53 49 47 4e | 45 44 20 54 4f 20 42 45 |S DESIGN|ED TO BE|
|00004f00| 0a 20 2a 20 50 4f 52 54 | 41 42 4c 45 20 42 45 54 |. * PORT|ABLE BET|
|00004f10| 57 45 45 4e 20 44 49 46 | 46 45 52 45 4e 54 20 4d |WEEN DIF|FERENT M|
|00004f20| 41 43 48 49 4e 45 20 41 | 52 43 48 49 54 45 43 54 |ACHINE A|RCHITECT|
|00004f30| 55 52 45 53 0a 20 2a 20 | 41 4e 44 20 43 4f 4e 46 |URES. * |AND CONF|
|00004f40| 49 47 55 52 41 54 49 4f | 4e 53 2e 20 49 54 20 53 |IGURATIO|NS. IT S|
|00004f50| 48 4f 55 4c 44 20 4e 4f | 54 20 52 45 51 55 49 52 |HOULD NO|T REQUIR|
|00004f60| 45 20 41 4e 59 0a 20 2a | 20 4d 4f 44 49 46 49 43 |E ANY. *| MODIFIC|
|00004f70| 41 54 49 4f 4e 53 20 57 | 48 45 4e 01 00 0e 02 00 |ATIONS W|HEN.....|
|00004f80| 06 b7 01 02 00 3e 20 41 | 44 41 50 54 49 4e 47 20 |.....> A|DAPTING |
|00004f90| 58 45 4e 49 58 20 54 4f | 20 4e 45 57 20 48 41 52 |XENIX TO| NEW HAR|
|00004fa0| 44 57 41 52 45 2e 0a 20 | 2a 2f 0a 0a 73 74 72 75 |DWARE.. |*/..stru|
|00004fb0| 63 74 20 76 61 72 20 7b | 0a 09 69 6e 74 20 76 5f |ct var {|..int v_|
|00004fc0| 62 75 66 3b 01 07 20 20 | 00 1a 2f 2a 20 4e 42 55 |buf;.. |../* NBU|
|00004fd0| 46 09 09 09 2a 2f 0a 09 | 69 6e 74 20 76 5f 73 61 |F...*/..|int v_sa|
|00004fe0| 62 75 66 3b 01 06 20 20 | 00 09 2f 2a 20 4e 53 41 |buf;.. |../* NSA|
|00004ff0| 42 55 46 01 07 20 20 00 | 10 20 2a 2f 0a 09 69 6e |BUF.. .|. */..in|
|00005000| 74 20 76 5f 68 62 75 66 | 3b 01 06 20 20 00 09 20 |t v_hbuf|;.. .. |
|00005010| 2f 2a 20 4e 48 42 55 46 | 01 08 20 20 00 10 2a 2f |/* NHBUF|.. ..*/|
|00005020| 0a 09 69 6e 74 20 76 5f | 68 6d 61 73 6b 3b 01 06 |..int v_|hmask;..|
|00005030| 20 20 00 0a 2f 2a 20 4e | 48 42 55 46 2d 31 01 07 | ../* N|HBUF-1..|
|00005040| 20 20 00 2d 2a 2f 0a 09 | 69 6e 74 20 76 5f 6d 61 | .-*/..|int v_ma|
|00005050| 78 62 75 66 3b 09 09 2f | 2a 20 4d 41 58 42 55 46 |xbuf;../|* MAXBUF|
|00005060| 09 09 2a 2f 0a 09 69 6e | 74 20 76 5f 63 61 6c 6c |..*/..in|t v_call|
|00005070| 3b 01 06 20 20 00 1b 20 | 2f 2a 20 4e 43 41 4c 4c |;.. .. |/* NCALL|
|00005080| 09 09 2a 2f 0a 09 69 6e | 74 20 76 5f 69 6e 6f 64 |..*/..in|t v_inod|
|00005090| 65 3b 01 06 20 20 00 45 | 2f 2a 20 4e 49 4e 4f 44 |e;.. .E|/* NINOD|
|000050a0| 45 09 09 2a 2f 0a 09 69 | 6e 6f 64 65 70 5f 74 20 |E..*/..i|nodep_t |
|000050b0| 76 65 5f 69 6e 6f 64 65 | 3b 09 2f 2a 20 20 20 26 |ve_inode|;./* &|
|000050c0| 69 6e 6f 64 65 5b 4e 49 | 4e 4f 44 45 5d 09 2a 2f |inode[NI|NODE].*/|
|000050d0| 0a 09 69 6e 74 20 76 5f | 66 69 6c 65 3b 01 06 20 |..int v_|file;.. |
|000050e0| 20 00 44 20 2f 2a 20 4e | 46 49 4c 45 09 09 2a 2f | .D /* N|FILE..*/|
|000050f0| 0a 09 66 69 6c 65 70 5f | 74 20 76 65 5f 66 69 6c |..filep_|t ve_fil|
|00005100| 65 3b 09 2f 2a 20 20 20 | 26 66 69 6c 65 5b 4e 46 |e;./* |&file[NF|
|00005110| 49 4c 45 5d 20 20 09 2a | 2f 0a 09 69 6e 74 20 76 |ILE] .*|/..int v|
|00005120| 5f 6d 6f 75 6e 74 3b 01 | 06 20 20 00 0d 2f 2a 20 |_mount;.|. ../* |
|00005130| 4e 4d 4f 55 4e 54 09 09 | 2a 2f 01 00 0f 02 00 4a |NMOUNT..|*/.....J|
|00005140| db 01 02 00 3d 0a 09 73 | 74 72 75 63 74 20 6d 6f |....=..s|truct mo|
|00005150| 75 6e 74 20 2a 76 65 5f | 6d 6f 75 6e 74 3b 20 2f |unt *ve_|mount; /|
|00005160| 2a 20 20 20 26 6d 6f 75 | 6e 74 5b 4e 4d 4f 55 4e |* &mou|nt[NMOUN|
|00005170| 54 5d 09 2a 2f 0a 09 69 | 6e 74 20 76 5f 70 72 6f |T].*/..i|nt v_pro|
|00005180| 63 3b 01 06 20 20 00 57 | 20 2f 2a 20 4e 50 52 4f |c;.. .W| /* NPRO|
|00005190| 43 09 09 2a 2f 0a 09 73 | 74 72 75 63 74 20 70 72 |C..*/..s|truct pr|
|000051a0| 6f 63 20 2a 76 65 5f 70 | 72 6f 63 3b 20 20 20 2f |oc *ve_p|roc; /|
|000051b0| 2a 20 20 20 26 70 72 6f | 63 5b 4e 50 52 4f 43 5d |* &pro|c[NPROC]|
|000051c0| 09 2a 2f 0a 23 69 66 6e | 64 65 66 20 4d 5f 49 33 |.*/.#ifn|def M_I3|
|000051d0| 38 36 0a 09 69 6e 74 20 | 76 5f 74 65 78 74 3b 01 |86..int |v_text;.|
|000051e0| 06 20 20 00 50 20 2f 2a | 20 4e 54 45 58 54 09 09 |. .P /*| NTEXT..|
|000051f0| 2a 2f 0a 09 73 74 72 75 | 63 74 20 74 65 78 74 20 |*/..stru|ct text |
|00005200| 2a 76 65 5f 74 65 78 74 | 3b 20 20 20 2f 2a 20 20 |*ve_text|; /* |
|00005210| 20 26 74 65 78 74 5b 4e | 54 45 58 54 5d 09 2a 2f | &text[N|TEXT].*/|
|00005220| 0a 23 65 6e 64 69 66 0a | 09 69 6e 74 20 76 5f 63 |.#endif.|.int v_c|
|00005230| 6c 69 73 74 3b 01 06 20 | 20 00 1b 2f 2a 20 4e 43 |list;.. | ../* NC|
|00005240| 4c 49 53 54 09 09 2a 2f | 0a 09 69 6e 74 20 76 5f |LIST..*/|..int v_|
|00005250| 6d 61 78 75 70 3b 01 06 | 20 20 00 1d 2f 2a 20 4d |maxup;..| ../* M|
|00005260| 41 58 55 50 52 43 09 09 | 2a 2f 0a 09 69 6e 74 20 |AXUPRC..|*/..int |
|00005270| 76 5f 6d 61 78 6d 65 6d | 3b 01 05 20 20 00 1b 20 |v_maxmem|;.. .. |
|00005280| 2f 2a 20 4d 41 58 4d 45 | 4d 09 09 2a 2f 0a 09 69 |/* MAXME|M..*/..i|
|00005290| 6e 74 20 76 5f 6c 6f 63 | 6b 3b 01 06 20 20 00 1d |nt v_loc|k;.. ..|
|000052a0| 20 2f 2a 20 4e 46 4c 4f | 43 4b 53 09 09 2a 2f 0a | /* NFLO|CKS..*/.|
|000052b0| 09 69 6e 74 20 76 5f 73 | 64 61 74 61 3b 01 06 20 |.int v_s|data;.. |
|000052c0| 20 00 5a 2f 2a 20 4e 53 | 44 53 45 47 53 09 09 2a | .Z/* NS|DSEGS..*|
|000052d0| 2f 0a 09 69 6e 74 20 76 | 5f 73 64 73 6c 6f 74 73 |/..int v|_sdslots|
|000052e0| 3b 09 09 2f 2a 20 4e 53 | 44 53 4c 4f 54 53 09 09 |;../* NS|DSLOTS..|
|000052f0| 2a 2f 0a 09 69 6e 74 20 | 76 5f 6d 73 67 6d 61 70 |*/..int |v_msgmap|
|00005300| 3b 09 09 2f 2a 20 4d 53 | 47 4d 41 50 09 09 2a 2f |;../* MS|GMAP..*/|
|00005310| 0a 09 69 6e 74 20 76 5f | 6d 73 67 6d 61 0f 01 01 |..int v_|msgma...|
|00005320| 52 01 01 01 02 00 70 01 | 02 00 78 3b 09 09 2f 2a |R.....p.|..x;../*|
|00005330| 20 4d 53 47 4d 41 58 09 | 09 2a 2f 0a 09 69 6e 74 | MSGMAX.|.*/..int|
|00005340| 20 76 5f 6d 73 67 6d 6e | 62 3b 09 09 2f 2a 20 4d | v_msgmn|b;../* M|
|00005350| 53 47 4d 4e 42 20 20 09 | 09 2a 2f 0a 09 69 6e 74 |SGMNB .|.*/..int|
|00005360| 20 76 5f 6d 73 67 6d 6e | 69 3b 09 09 2f 2a 20 4d | v_msgmn|i;../* M|
|00005370| 53 47 4d 4e 49 09 09 2a | 2f 0a 09 69 6e 74 20 76 |SGMNI..*|/..int v|
|00005380| 5f 6d 73 67 74 71 6c 3b | 09 09 2f 2a 20 4d 53 47 |_msgtql;|../* MSG|
|00005390| 54 51 4c 09 09 2a 2f 0a | 09 69 6e 74 20 76 5f 6d |TQL..*/.|.int v_m|
|000053a0| 73 67 73 73 7a 3b 09 09 | 2f 2a 20 4d 53 47 53 53 |sgssz;..|/* MSGSS|
|000053b0| 5a 09 09 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |Z..*/..u|nsigned |
|000053c0| 73 68 6f 72 74 20 76 5f | 6d 73 67 73 65 67 3b 2f |short v_|msgseg;/|
|000053d0| 2a 20 4d 53 47 53 45 47 | 09 09 2a 2f 0a 09 69 6e |* MSGSEG|..*/..in|
|000053e0| 74 20 76 5f 73 65 6d 6d | 61 70 3b 09 09 2f 2a 20 |t v_semm|ap;../* |
|000053f0| 53 45 4d 4d 41 50 09 09 | 2a 2f 0a 09 69 6e 74 20 |SEMMAP..|*/..int |
|00005400| 76 5f 73 65 6d 6d 6e 69 | 3b 09 09 2f 2a 20 53 45 |v_semmni|;../* SE|
|00005410| 4d 4d 4e 49 09 09 2a 2f | 0a 09 69 6e 74 20 76 5f |MMNI..*/|..int v_|
|00005420| 73 65 6d 6d 6e 75 3b 09 | 09 2f 2a 20 53 45 4d 4d |semmnu;.|./* SEMM|
|00005430| 4e 55 09 09 2a 2f 0a 09 | 69 6e 74 20 76 5f 73 65 |NU..*/..|int v_se|
|00005440| 6d 6d 73 6c 3b 09 09 2f | 2a 20 53 45 4d 4d 53 4c |mmsl;../|* SEMMSL|
|00005450| 09 09 2a 2f 0a 09 69 6e | 74 20 76 5f 73 65 6d 6f |..*/..in|t v_semo|
|00005460| 70 6d 3b 09 09 2f 2a 20 | 53 45 4d 4f 50 4d 09 09 |pm;../* |SEMOPM..|
|00005470| 2a 2f 0a 09 69 6e 74 20 | 76 5f 73 65 6d 75 6d 65 |*/..int |v_semume|
|00005480| 3b 09 09 2f 2a 20 53 45 | 4d 55 4d 45 09 09 2a 2f |;../* SE|MUME..*/|
|00005490| 0a 09 69 6e 74 20 76 5f | 73 65 6d 76 6d 78 3b 09 |..int v_|semvmx;.|
|000054a0| 09 2f 2a 20 53 45 4d 56 | 4d 58 09 09 2a 2f 0a 09 |./* SEMV|MX..*/..|
|000054b0| 69 6e 74 20 76 5f 73 65 | 6d 61 65 6d 3b 09 09 2f |int v_se|maem;../|
|000054c0| 2a 20 53 45 4d 41 45 4d | 09 09 2a 2f 0a 09 69 6e |* SEMAEM|..*/..in|
|000054d0| 74 20 76 5f 73 65 6d 6d | 6e 73 3b 09 09 2f 2a 20 |t v_semm|ns;../* |
|000054e0| 53 45 4d 4d 4e 53 09 09 | 2a 2f 0a 09 69 6e 74 20 |SEMMNS..|*/..int |
|000054f0| 76 5f 73 65 6d 75 73 7a | 3b 09 09 2f 2a 20 53 45 |v_semusz|;../* SE|
|00005500| 4d 55 53 5a 09 09 2a 2f | 0a 09 69 6e 74 20 76 5f |MUSZ..*/|..int v_|
|00005510| 73 63 72 6e 3b 09 09 2f | 2a 20 4e 53 43 52 4e 09 |scrn;../|* NSCRN.|
|00005520| 09 2a 2f 0a 09 69 6e 74 | 20 76 01 01 02 02 00 a7 |.*/..int| v......|
|00005530| 01 02 00 5f 70 62 75 66 | 3b 09 09 2f 2a 20 4e 50 |..._pbuf|;../* NP|
|00005540| 42 55 46 09 09 2a 2f 0a | 09 69 6e 74 20 76 5f 65 |BUF..*/.|.int v_e|
|00005550| 6d 61 70 3b 09 09 2f 2a | 20 4e 45 4d 41 50 09 09 |map;../*| NEMAP..|
|00005560| 2a 2f 0a 09 69 6e 74 20 | 76 5f 73 78 74 3b 09 09 |*/..int |v_sxt;..|
|00005570| 2f 2a 20 4e 53 58 54 09 | 09 09 2a 2f 0a 0a 09 69 |/* NSXT.|..*/...i|
|00005580| 6e 74 20 76 5f 73 68 6d | 6d 61 78 3b 09 09 2f 2a |nt v_shm|max;../*|
|00005590| 20 53 48 4d 4d 41 58 09 | 09 2a 2f 0a 09 69 6e 74 | SHMMAX.|.*/..int|
|000055a0| 20 76 5f 73 68 6d 6d 69 | 6e 3b 09 09 2f 2a 20 53 | v_shmmi|n;../* S|
|000055b0| 48 4d 4d 49 4e 09 09 2a | 2f 0a 09 69 6e 74 20 76 |HMMIN..*|/..int v|
|000055c0| 5f 73 68 6d 6d 6e 69 3b | 09 09 2f 2a 20 53 48 4d |_shmmni;|../* SHM|
|000055d0| 4d 4e 49 09 09 2a 2f 0a | 09 69 6e 74 20 76 5f 73 |MNI..*/.|.int v_s|
|000055e0| 68 6d 73 65 67 3b 09 09 | 2f 2a 20 53 48 4d 53 45 |hmseg;..|/* SHMSE|
|000055f0| 47 09 09 2a 2f 0a 09 69 | 6e 74 20 76 5f 73 68 6d |G..*/..i|nt v_shm|
|00005600| 62 72 6b 3b 09 09 2f 2a | 20 53 48 4d 42 52 4b 09 |brk;../*| SHMBRK.|
|00005610| 09 2a 2f 0a 09 69 6e 74 | 20 76 5f 73 68 6d 61 6c |.*/..int| v_shmal|
|00005620| 6c 3b 09 09 2f 2a 20 53 | 48 4d 41 4c 4c 09 09 2a |l;../* S|HMALL..*|
|00005630| 2f 0a 09 69 6e 74 20 76 | 5f 6e 73 64 74 61 62 3b |/..int v|_nsdtab;|
|00005640| 09 09 2f 2a 20 23 20 65 | 6e 74 72 69 65 73 20 69 |../* # e|ntries i|
|00005650| 6e 20 73 64 74 61 62 5b | 5d 20 2a 2f 0a 0a 09 69 |n sdtab[|] */...i|
|00005660| 6e 74 20 76 5f 6e 71 75 | 65 75 65 3b 09 09 2f 2a |nt v_nqu|eue;../*|
|00005670| 20 4e 62 72 20 6f 66 20 | 73 74 72 65 61 6d 73 20 | Nbr of |streams |
|00005680| 71 75 65 75 65 73 2e 09 | 09 2a 2f 0a 09 69 6e 74 |queues..|.*/..int|
|00005690| 20 76 5f 6e 73 74 72 65 | 61 6d 3b 09 09 2f 2a 20 | v_nstre|am;../* |
|000056a0| 4e 75 6d 62 65 72 20 6f | 66 20 73 74 72 65 61 6d |Number o|f stream|
|000056b0| 20 68 65 61 64 20 73 74 | 72 75 63 74 75 72 65 73 | head st|ructures|
|000056c0| 2e 09 2a 2f 0a 09 69 6e | 74 20 76 5f 6e 62 6c 6b |..*/..in|t v_nblk|
|000056d0| 38 31 39 32 3b 09 09 2f | 2a 20 4e 75 6d 62 65 72 |8192;../|* Number|
|000056e0| 20 6f 66 20 38 31 39 32 | 20 62 79 74 65 20 73 74 | of 8192| byte st|
|000056f0| 72 65 61 6d 20 62 75 66 | 66 65 72 73 2e 09 2a 2f |ream buf|fers..*/|
|00005700| 0a 09 69 6e 74 20 76 5f | 6e 62 6c 6b 34 30 39 36 |..int v_|nblk4096|
|00005710| 3b 09 09 2f 2a 20 4e 75 | 6d 62 65 72 20 6f 66 20 |;../* Nu|mber of |
|00005720| 34 30 39 36 20 62 79 74 | 65 20 73 74 72 65 61 6d |4096 byt|e stream|
|00005730| 20 62 75 01 01 03 02 00 | 73 01 02 00 66 66 65 72 | bu.....|s...ffer|
|00005740| 73 2e 09 2a 2f 0a 09 69 | 6e 74 20 76 5f 6e 62 6c |s..*/..i|nt v_nbl|
|00005750| 6b 32 30 34 38 3b 09 09 | 2f 2a 20 4e 75 6d 62 65 |k2048;..|/* Numbe|
|00005760| 72 20 6f 66 20 32 30 34 | 38 20 62 79 74 65 20 73 |r of 204|8 byte s|
|00005770| 74 72 65 61 6d 20 62 75 | 66 66 65 72 73 2e 09 2a |tream bu|ffers..*|
|00005780| 2f 0a 09 69 6e 74 20 76 | 5f 6e 62 6c 6b 31 30 32 |/..int v|_nblk102|
|00005790| 34 3b 09 09 2f 2a 20 4e | 75 6d 62 65 72 20 6f 66 |4;../* N|umber of|
|000057a0| 20 31 30 32 34 20 62 79 | 74 65 20 73 74 72 65 61 | 1024 by|te strea|
|000057b0| 6d 20 62 75 66 66 65 72 | 73 2e 09 2a 2f 0a 09 69 |m buffer|s..*/..i|
|000057c0| 6e 74 20 76 5f 6e 62 6c | 6b 35 31 32 3b 09 09 2f |nt v_nbl|k512;../|
|000057d0| 2a 20 4e 75 6d 62 65 72 | 20 6f 66 20 35 31 32 20 |* Number| of 512 |
|000057e0| 62 79 74 65 20 73 74 72 | 65 61 6d 20 62 75 66 66 |byte str|eam buff|
|000057f0| 65 72 73 2e 09 2a 2f 0a | 09 69 6e 74 20 76 5f 6e |ers..*/.|.int v_n|
|00005800| 62 6c 6b 32 35 36 3b 09 | 09 2f 2a 20 4e 75 6d 62 |blk256;.|./* Numb|
|00005810| 65 72 20 6f 66 20 32 35 | 36 20 62 79 74 65 20 73 |er of 25|6 byte s|
|00005820| 74 72 65 61 6d 20 62 75 | 66 66 65 72 73 2e 09 2a |tream bu|ffers..*|
|00005830| 2f 0a 09 69 6e 74 20 76 | 5f 6e 62 6c 6b 31 32 38 |/..int v|_nblk128|
|00005840| 3b 09 09 2f 2a 20 4e 75 | 6d 62 65 72 20 6f 66 20 |;../* Nu|mber of |
|00005850| 31 32 38 20 62 79 74 65 | 20 73 74 72 65 61 6d 20 |128 byte| stream |
|00005860| 62 75 66 66 65 72 73 2e | 09 2a 2f 0a 09 69 6e 74 |buffers.|.*/..int|
|00005870| 20 76 5f 6e 62 6c 6b 36 | 34 3b 09 09 2f 2a 20 4e | v_nblk6|4;../* N|
|00005880| 75 6d 62 65 72 20 6f 66 | 20 36 34 20 62 79 74 65 |umber of| 64 byte|
|00005890| 20 73 74 72 65 61 6d 20 | 62 75 66 66 65 72 73 2e | stream |buffers.|
|000058a0| 09 2a 2f 0a 09 69 6e 74 | 20 76 5f 6e 62 6c 6b 33 |.*/..int| v_nblk3|
|000058b0| 32 3b 09 09 2f 2a 20 4e | 75 6d 62 65 72 20 6f 66 |2;../* N|umber of|
|000058c0| 20 33 32 20 62 79 74 65 | 20 73 74 72 65 61 6d 20 | 32 byte| stream |
|000058d0| 62 75 66 66 65 72 73 2e | 09 2a 2f 0a 09 69 6e 74 |buffers.|.*/..int|
|000058e0| 20 76 5f 6e 62 6c 6b 31 | 36 3b 09 09 2f 2a 20 4e | v_nblk1|6;../* N|
|000058f0| 75 6d 62 65 72 20 6f 66 | 20 31 36 20 62 79 74 65 |umber of| 16 byte|
|00005900| 20 73 74 72 65 61 6d 20 | 62 75 66 66 65 72 73 2e | stream |buffers.|
|00005910| 09 2a 2f 0a 09 69 6e 74 | 20 76 5f 6e 62 6c 6b 34 |.*/..int| v_nblk4|
|00005920| 3b 09 09 2f 2a 20 4e 75 | 6d 62 65 72 20 6f 66 20 |;../* Nu|mber of |
|00005930| 34 20 62 79 74 65 20 73 | 74 72 65 61 01 01 04 02 |4 byte s|trea....|
|00005940| 00 af 01 02 00 6d 20 62 | 75 66 66 65 72 73 2e 09 |.....m b|uffers..|
|00005950| 2a 2f 0a 0a 09 69 6e 74 | 20 76 5f 64 69 73 6b 3b |*/...int| v_disk;|
|00005960| 09 09 2f 2a 20 4e 44 49 | 53 4b 09 09 09 09 2a 2f |../* NDI|SK....*/|
|00005970| 0a 0a 09 69 6e 74 20 76 | 5f 65 76 71 75 65 75 65 |...int v|_evqueue|
|00005980| 73 3b 09 09 2f 2a 20 4e | 75 6d 62 65 72 20 6f 66 |s;../* N|umber of|
|00005990| 20 65 76 65 6e 74 20 71 | 75 65 75 65 73 20 09 09 | event q|ueues ..|
|000059a0| 2a 2f 0a 09 69 6e 74 20 | 76 5f 65 76 64 65 76 73 |*/..int |v_evdevs|
|000059b0| 3b 09 09 2f 2a 20 4e 75 | 6d 62 65 72 20 6f 66 20 |;../* Nu|mber of |
|000059c0| 65 76 65 6e 74 20 64 65 | 76 73 20 09 09 2a 2f 0a |event de|vs ..*/.|
|000059d0| 09 69 6e 74 20 76 5f 65 | 76 64 65 76 73 70 65 72 |.int v_e|vdevsper|
|000059e0| 71 3b 09 2f 2a 20 4d 61 | 78 20 65 76 65 6e 74 20 |q;./* Ma|x event |
|000059f0| 64 65 76 69 63 65 73 20 | 70 65 72 20 65 76 65 6e |devices |per even|
|00005a00| 74 20 71 75 65 75 65 20 | 20 20 20 2a 2f 0a 0a 09 |t queue | */...|
|00005a10| 69 6e 74 20 76 5f 73 63 | 72 6e 6d 65 6d 3b 09 09 |int v_sc|rnmem;..|
|00005a20| 2f 2a 20 53 43 52 4e 4d | 45 4d 09 09 09 09 2a 2f |/* SCRNM|EM....*/|
|00005a30| 0a 09 69 6e 74 20 76 5f | 6b 62 74 79 70 65 3b 09 |..int v_|kbtype;.|
|00005a40| 09 2f 2a 20 4b 65 79 62 | 6f 61 72 64 20 74 79 70 |./* Keyb|oard typ|
|00005a50| 65 20 77 68 65 72 65 20 | 58 54 3d 3d 30 20 61 6e |e where |XT==0 an|
|00005a60| 64 20 41 54 3d 3d 31 20 | 20 2a 2f 0a 7d 3b 0a 65 |d AT==1 | */.};.e|
|00005a70| 78 74 65 72 6e 20 73 74 | 72 75 63 74 20 76 61 72 |xtern st|ruct var|
|00005a80| 20 76 3b 0a 09 2f 2a 20 | 4e 75 6d 62 65 72 20 6f | v;../* |Number o|
|00005a90| 66 20 36 34 20 62 79 74 | 65 20 73 74 72 65 61 6d |f 64 byt|e stream|
|00005aa0| 20 62 75 66 66 65 72 73 | 2e 09 2a 2f 0a 09 69 6e | buffers|..*/..in|
|00005ab0| 74 20 76 5f 6e 62 6c 6b | 33 32 3b 09 09 2f 2a 20 |t v_nblk|32;../* |
|00005ac0| 4e 75 6d 62 65 72 20 6f | 66 20 33 32 20 62 79 74 |Number o|f 32 byt|
|00005ad0| 65 20 73 74 72 65 61 6d | 20 62 75 66 66 65 72 73 |e stream| buffers|
|00005ae0| 2e 09 2a 2f 0a 09 69 6e | 74 20 76 5f 6e 62 6c 6b |..*/..in|t v_nblk|
|00005af0| 31 36 3b 09 09 2f 2a 20 | 4e 75 6d 62 65 72 20 6f |16;../* |Number o|
|00005b00| 66 20 31 36 20 62 79 74 | 65 20 73 74 72 65 61 6d |f 16 byt|e stream|
|00005b10| 20 62 75 66 66 65 72 73 | 2e 09 2a 2f 0a 09 69 6e | buffers|..*/..in|
|00005b20| 74 20 76 5f 6e 62 6c 6b | 34 3b 09 09 2f 2a 20 4e |t v_nblk|4;../* N|
|00005b30| 75 6d 62 65 72 20 6f 66 | 20 34 20 62 79 74 65 20 |umber of| 4 byte |
|00005b40| 73 74 72 65 61 01 01 05 | 02 00 1a 5d 00 02 00 17 |strea...|...]....|
|00005b50| 2e 2f 75 73 72 2f 69 6e | 63 6c 75 64 65 2f 73 79 |./usr/in|clude/sy|
|00005b60| 73 2f 76 38 36 2e 68 01 | 26 00 00 00 39 00 20 20 |s/v86.h.|&...9. |
|00005b70| 20 34 34 34 20 00 20 20 | 20 20 20 30 20 00 20 20 | 444 . | 0 . |
|00005b80| 20 20 20 30 20 00 20 20 | 20 20 20 20 32 34 34 32 | 0 . | 2442|
|00005b90| 33 20 20 34 32 36 30 34 | 31 35 37 35 32 20 20 31 |3 42604|15752 1|
|00005ba0| 30 30 34 30 00 20 01 b2 | 00 00 01 01 06 02 00 d2 |0040. ..|........|
|00005bb0| fd 01 02 00 ff 2f 2a 0a | 20 2a 09 40 28 23 29 20 |...../*.| *.@(#) |
|00005bc0| 76 38 36 2e 68 20 31 2e | 33 20 38 38 2f 30 36 2f |v86.h 1.|3 88/06/|
|00005bd0| 32 34 20 0a 20 2a 0a 20 | 2a 09 43 6f 70 79 72 69 |24 . *. |*.Copyri|
|00005be0| 67 68 74 20 28 43 29 20 | 54 68 65 20 53 61 6e 74 |ght (C) |The Sant|
|00005bf0| 61 20 43 72 75 7a 20 4f | 70 65 72 61 74 69 6f 6e |a Cruz O|peration|
|00005c00| 2c 20 31 39 38 34 2c 20 | 31 39 38 35 2c 20 31 39 |, 1984, |1985, 19|
|00005c10| 38 36 2c 20 31 39 38 37 | 2c 20 31 39 38 38 2e 0a |86, 1987|, 1988..|
|00005c20| 20 2a 09 43 6f 70 79 72 | 69 67 68 74 20 28 43 29 | *.Copyr|ight (C)|
|00005c30| 20 4d 69 63 72 6f 73 6f | 66 74 20 43 6f 72 70 6f | Microso|ft Corpo|
|00005c40| 72 61 74 69 6f 6e 2c 20 | 31 39 38 34 2c 20 31 39 |ration, |1984, 19|
|00005c50| 38 35 2c 20 31 39 38 36 | 2c 20 31 39 38 37 2c 20 |85, 1986|, 1987, |
|00005c60| 31 39 38 38 2e 0a 20 2a | 09 54 68 69 73 20 4d 6f |1988.. *|.This Mo|
|00005c70| 64 75 6c 65 20 63 6f 6e | 74 61 69 6e 73 20 50 72 |dule con|tains Pr|
|00005c80| 6f 70 72 69 65 74 61 72 | 79 20 49 6e 66 6f 72 6d |oprietar|y Inform|
|00005c90| 61 74 69 6f 6e 20 6f 66 | 0a 20 2a 09 54 68 65 20 |ation of|. *.The |
|00005ca0| 53 61 6e 74 61 20 43 72 | 75 7a 20 4f 70 65 72 61 |Santa Cr|uz Opera|
|00005cb0| 74 69 6f 6e 00 e0 2c 20 | 4d 69 63 72 6f 73 6f 66 |tion.., |Microsof|
|00005cc0| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 0a 20 2a |t Corpor|ation. *|
|00005cd0| 09 61 6e 64 20 41 54 26 | 54 2c 20 61 6e 64 20 73 |.and AT&|T, and s|
|00005ce0| 68 6f 75 6c 64 20 62 65 | 20 74 72 65 61 74 65 64 |hould be| treated|
|00005cf0| 20 61 73 20 43 6f 6e 66 | 69 64 65 6e 74 69 61 6c | as Conf|idential|
|00005d00| 2e 0a 20 2a 0a 20 2a 20 | 09 4e 4f 54 45 3a 20 54 |.. *. * |.NOTE: T|
|00005d10| 68 69 73 20 66 69 6c 65 | 20 69 73 20 70 61 72 74 |his file| is part|
|00005d20| 20 6f 66 20 74 68 65 20 | 45 43 54 2e 0a 20 2a 2f | of the |ECT.. */|
|00005d30| 0a 0a 2f 2a 0a 20 2a 20 | 20 4d 6f 76 65 20 74 68 |../*. * | Move th|
|00005d40| 65 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 64 65 66 69 |e follow|ing defi|
|00005d50| 6e 69 74 69 6f 6e 20 74 | 6f 20 70 72 6f 63 2e 68 |nition t|o proc.h|
|00005d60| 20 73 74 61 74 20 63 6f | 64 65 20 64 65 66 69 6e | stat co|de defin|
|00005d70| 69 74 69 6f 6e 73 0a 20 | 2a 2f 0a 0a 23 64 65 66 |itions. |*/..#def|
|00005d80| 69 6e 65 20 4e 56 38 36 | 54 41 53 4b 53 20 20 20 |ine NV86|TASKS |
|00005d90| 20 20 20 20 32 30 01 07 | 20 20 00 13 2f 2a 20 4d | 20..| ../* M|
|00005da0| 61 78 69 6d 75 6d 20 6e | 75 6d 62 65 72 20 6f 01 |aximum n|umber o.|
|00005db0| 01 07 02 00 46 f7 01 02 | 00 e7 66 20 56 38 36 20 |....F...|..f V86 |
|00005dc0| 74 61 73 6b 73 20 20 2a | 2f 0a 0a 23 64 65 66 69 |tasks *|/..#defi|
|00005dd0| 6e 65 20 56 38 36 56 49 | 52 54 53 49 5a 45 20 20 |ne V86VI|RTSIZE |
|00005de0| 20 20 20 30 78 30 31 30 | 30 20 20 2f 2a 20 53 69 | 0x010|0 /* Si|
|00005df0| 7a 65 20 6f 66 20 76 69 | 72 74 75 61 6c 20 38 30 |ze of vi|rtual 80|
|00005e00| 38 36 20 69 6e 20 70 61 | 67 65 73 20 28 20 31 4d |86 in pa|ges ( 1M|
|00005e10| 20 62 79 74 65 73 29 2a | 2f 0a 23 64 65 66 69 6e | bytes)*|/.#defin|
|00005e20| 65 20 56 38 36 57 52 41 | 50 53 49 5a 45 20 20 20 |e V86WRA|PSIZE |
|00005e30| 20 20 30 78 30 30 31 30 | 20 20 2f 2a 20 53 69 7a | 0x0010| /* Siz|
|00005e40| 65 20 6f 66 20 63 6f 70 | 79 2f 77 72 61 70 20 69 |e of cop|y/wrap i|
|00005e50| 6e 20 70 61 67 65 73 20 | 20 20 20 28 36 34 4b 20 |n pages | (64K |
|00005e60| 62 79 74 65 73 29 2a 2f | 0a 23 64 65 66 69 6e 65 |bytes)*/|.#define|
|00005e70| 20 56 38 36 58 54 53 53 | 53 49 5a 45 20 20 20 20 | V86XTSS|SIZE |
|00005e80| 20 30 78 30 30 31 30 20 | 20 2f 2a 20 53 69 7a 65 | 0x0010 | /* Size|
|00005e90| 20 6f 66 20 58 74 73 73 | 20 69 6e 20 70 61 67 65 | of Xtss| in page|
|00005ea0| 73 01 04 20 20 00 1e 20 | 28 36 34 4b 20 62 79 74 |s.. .. |(64K byt|
|00005eb0| 65 73 29 2a 2f 0a 23 64 | 65 66 69 6e 65 20 56 38 |es)*/.#d|efine V8|
|00005ec0| 36 53 49 5a 45 01 04 20 | 20 00 1e 20 30 78 30 34 |6SIZE.. | .. 0x04|
|00005ed0| 30 30 20 20 2f 2a 20 53 | 69 7a 65 20 6f 66 20 76 |00 /* S|ize of v|
|00005ee0| 38 36 20 72 65 67 69 6f | 6e 01 06 20 20 00 9d 28 |86 regio|n.. ..(|
|00005ef0| 20 34 4d 20 62 79 74 65 | 73 29 2a 2f 0a 0a 2f 2a | 4M byte|s)*/../*|
|00005f00| 0a 20 2a 20 44 65 66 69 | 6e 69 74 69 6f 6e 73 20 |. * Defi|nitions |
|00005f10| 66 6f 72 20 4c 6f 74 75 | 73 2f 49 6e 74 65 6c 2f |for Lotu|s/Intel/|
|00005f20| 4d 69 63 72 6f 73 6f 66 | 74 20 45 78 70 61 6e 64 |Microsof|t Expand|
|00005f30| 65 64 20 4d 65 6d 6f 72 | 79 20 45 6d 75 6c 61 74 |ed Memor|y Emulat|
|00005f40| 69 6f 6e 0a 20 2a 2f 0a | 0a 23 64 65 66 69 6e 65 |ion. */.|.#define|
|00005f50| 20 56 38 36 45 4d 4d 5f | 50 47 53 49 5a 45 20 20 | V86EMM_|PGSIZE |
|00005f60| 20 20 20 20 20 30 78 34 | 30 30 30 20 20 2f 2a 20 | 0x4|000 /* |
|00005f70| 53 69 7a 65 20 6f 66 20 | 45 78 70 61 6e 64 65 64 |Size of |Expanded|
|00005f80| 20 6d 65 6d 6f 72 79 20 | 70 61 67 65 01 04 20 20 | memory |page.. |
|00005f90| 00 1c 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 56 38 |.. */.#d|efine V8|
|00005fa0| 36 45 4d 4d 5f 4c 42 41 | 53 45 20 20 20 20 01 01 |6EMM_LBA|SE ..|
|00005fb0| 08 02 00 d4 eb 01 02 00 | c6 30 78 30 30 32 30 30 |........|.0x00200|
|00005fc0| 30 30 30 20 20 2f 2a 20 | 45 78 70 65 63 74 65 64 |000 /* |Expected|
|00005fd0| 20 6c 6f 77 65 73 74 20 | 45 4d 4d 20 6c 6f 67 69 | lowest |EMM logi|
|00005fe0| 63 61 6c 20 70 61 67 65 | 20 61 64 64 72 2a 2f 0a |cal page| addr*/.|
|00005ff0| 23 64 65 66 69 6e 65 20 | 56 38 36 45 4d 4d 5f 4c |#define |V86EMM_L|
|00006000| 45 4e 47 54 48 20 20 20 | 30 78 30 30 32 30 30 30 |ENGTH |0x002000|
|00006010| 30 30 20 20 2f 2a 20 45 | 78 70 65 63 74 65 64 20 |00 /* E|xpected |
|00006020| 73 69 7a 65 20 45 4d 4d | 20 6c 6f 67 69 63 61 6c |size EMM| logical|
|00006030| 20 70 61 67 65 73 20 20 | 20 20 20 20 2a 2f 0a 23 | pages | */.#|
|00006040| 64 65 66 69 6e 65 20 56 | 38 36 45 4d 4d 5f 50 42 |define V|86EMM_PB|
|00006050| 41 53 45 20 20 20 20 30 | 78 30 30 30 44 30 30 30 |ASE 0|x000D000|
|00006060| 30 20 20 2f 2a 20 45 4d | 4d 20 70 68 79 73 69 63 |0 /* EM|M physic|
|00006070| 61 6c 20 70 61 67 65 20 | 61 64 64 72 65 73 73 01 |al page |address.|
|00006080| 06 20 20 00 43 2a 2f 0a | 23 64 65 66 69 6e 65 20 |. .C*/.|#define |
|00006090| 56 38 36 45 4d 4d 5f 50 | 42 41 53 45 30 20 20 20 |V86EMM_P|BASE0 |
|000060a0| 30 78 30 30 30 44 30 30 | 30 30 20 20 2f 2a 20 45 |0x000D00|00 /* E|
|000060b0| 4d 4d 20 70 68 79 73 69 | 63 61 6c 20 70 61 67 65 |MM physi|cal page|
|000060c0| 20 61 64 64 72 65 73 73 | 01 06 20 20 00 43 2a 2f | address|.. .C*/|
|000060d0| 0a 23 64 65 66 69 6e 65 | 20 56 38 36 45 4d 4d 5f |.#define| V86EMM_|
|000060e0| 50 42 41 53 45 31 20 20 | 20 30 78 30 30 30 44 34 |PBASE1 | 0x000D4|
|000060f0| 30 30 30 20 20 2f 2a 20 | 45 4d 4d 20 70 68 79 73 |000 /* |EMM phys|
|00006100| 69 63 61 6c 20 70 61 67 | 65 20 61 64 64 72 65 73 |ical pag|e addres|
|00006110| 73 01 06 20 20 00 43 2a | 2f 0a 23 64 65 66 69 6e |s.. .C*|/.#defin|
|00006120| 65 20 56 38 36 45 4d 4d | 5f 50 42 41 53 45 32 20 |e V86EMM|_PBASE2 |
|00006130| 20 20 30 78 30 30 30 44 | 38 30 30 30 20 20 2f 2a | 0x000D|8000 /*|
|00006140| 20 45 4d 4d 20 70 68 79 | 73 69 63 61 6c 20 70 61 | EMM phy|sical pa|
|00006150| 67 65 20 61 64 64 72 65 | 73 73 01 06 20 20 00 41 |ge addre|ss.. .A|
|00006160| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 56 38 36 45 4d |*/.#defi|ne V86EM|
|00006170| 4d 5f 50 42 41 53 45 33 | 20 20 20 30 78 30 30 30 |M_PBASE3| 0x000|
|00006180| 44 43 30 30 30 20 20 2f | 2a 20 45 4d 4d 20 70 68 |DC000 /|* EMM ph|
|00006190| 79 73 69 63 61 6c 20 70 | 61 67 65 20 61 64 64 72 |ysical p|age addr|
|000061a0| 65 01 01 09 02 00 12 cf | 01 02 00 02 73 73 01 06 |e.......|....ss..|
|000061b0| 20 20 00 18 2a 2f 0a 23 | 64 65 66 69 6e 65 20 56 | ..*/.#|define V|
|000061c0| 38 36 45 4d 4d 5f 4e 55 | 4d 50 47 53 01 06 20 20 |86EMM_NU|MPGS.. |
|000061d0| 00 22 34 20 20 2f 2a 20 | 4e 75 6d 62 65 72 20 6f |."4 /* |Number o|
|000061e0| 66 20 45 4d 4d 20 70 68 | 79 73 69 63 61 6c 20 70 |f EMM ph|ysical p|
|000061f0| 61 67 65 73 01 04 20 20 | 00 4e 20 2a 2f 0a 0a 2f |ages.. |.N */../|
|00006200| 2a 20 20 0a 20 2a 20 47 | 65 6e 65 72 61 6c 20 64 |* . * G|eneral d|
|00006210| 65 66 69 6e 69 74 69 6f | 6e 73 20 66 6f 72 20 61 |efinitio|ns for a|
|00006220| 20 64 75 61 6c 20 6d 6f | 64 65 20 70 72 6f 63 65 | dual mo|de proce|
|00006230| 73 73 0a 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 |ss. */..|#define |
|00006240| 58 54 53 53 41 44 44 52 | 01 04 20 20 00 3f 28 28 |XTSSADDR|.. .?((|
|00006250| 63 61 64 64 72 5f 74 29 | 30 78 31 31 30 30 30 30 |caddr_t)|0x110000|
|00006260| 4c 29 20 20 20 20 2f 2a | 20 58 54 53 53 20 61 64 |L) /*| XTSS ad|
|00006270| 64 72 20 69 6e 20 75 73 | 65 72 20 6d 65 6d 2a 2f |dr in us|er mem*/|
|00006280| 0a 23 64 65 66 69 6e 65 | 20 41 52 50 4c 01 06 20 |.#define| ARPL.. |
|00006290| 20 00 04 30 78 36 33 01 | 06 20 20 00 32 2f 2a 20 | ..0x63.|. .2/* |
|000062a0| 41 52 50 4c 20 69 6e 73 | 74 2c 20 56 38 36 20 69 |ARPL ins|t, V86 i|
|000062b0| 6e 76 61 6c 69 64 20 6f | 70 63 6f 64 65 2a 2f 0a |nvalid o|pcode*/.|
|000062c0| 23 64 65 66 69 6e 65 20 | 56 38 36 5f 52 43 53 01 |#define |V86_RCS.|
|000062d0| 04 20 20 00 07 20 30 78 | 46 30 30 30 01 05 20 20 |. .. 0x|F000.. |
|000062e0| 00 18 2f 2a 20 52 65 73 | 65 74 20 43 53 20 66 6f |../* Res|et CS fo|
|000062f0| 72 20 56 38 36 20 6d 6f | 64 65 01 04 20 20 00 12 |r V86 mo|de.. ..|
|00006300| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 56 38 36 5f 52 |*/.#defi|ne V86_R|
|00006310| 49 50 01 04 20 20 00 07 | 20 30 78 46 46 46 30 01 |IP.. ..| 0xFFF0.|
|00006320| 05 20 20 00 18 2f 2a 20 | 52 65 73 65 74 20 49 50 |. ../* |Reset IP|
|00006330| 20 66 6f 72 20 56 38 36 | 20 6d 6f 64 65 01 04 20 | for V86| mode.. |
|00006340| 20 00 1d 2a 2f 0a 23 64 | 65 66 69 6e 65 20 56 38 | ..*/.#d|efine V8|
|00006350| 36 5f 53 4c 49 43 45 20 | 20 20 20 20 20 20 32 30 |6_SLICE | 20|
|00006360| 01 07 20 20 00 12 2f 2a | 20 44 65 66 61 75 6c 74 |.. ../*| Default|
|00006370| 20 74 69 6d 65 20 73 6c | 01 01 0a 02 00 fb e1 01 | time sl|........|
|00006380| 02 00 03 69 63 65 01 05 | 20 20 00 1d 20 2a 2f 0a |...ice..| .. */.|
|00006390| 23 64 65 66 69 6e 65 20 | 56 38 36 5f 53 4c 49 43 |#define |V86_SLIC|
|000063a0| 45 5f 53 48 49 46 54 20 | 34 01 07 20 20 00 40 20 |E_SHIFT |4.. .@ |
|000063b0| 2f 2a 20 4d 61 78 20 73 | 68 69 66 74 20 66 6f 72 |/* Max s|hift for|
|000063c0| 20 74 69 6d 65 20 73 6c | 69 63 65 20 20 20 20 20 | time sl|ice |
|000063d0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 56 38 36 5f 53 |*/.#defi|ne V86_S|
|000063e0| 48 49 46 54 5f 50 41 54 | 20 20 20 30 78 37 38 01 |HIFT_PAT| 0x78.|
|000063f0| 06 20 20 00 3d 2f 2a 20 | 50 61 74 74 65 72 6e 20 |. .=/* |Pattern |
|00006400| 66 6f 72 20 76 38 36 20 | 73 6c 69 63 65 20 73 68 |for v86 |slice sh|
|00006410| 69 66 74 20 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ift */.|#define |
|00006420| 56 38 36 5f 44 45 4c 54 | 41 5f 4e 49 43 45 20 20 |V86_DELT|A_NICE |
|00006430| 31 30 01 07 20 20 00 3d | 2f 2a 20 50 72 65 66 65 |10.. .=|/* Prefe|
|00006440| 72 65 6e 74 69 61 6c 20 | 6e 69 63 65 20 66 6f 72 |rential |nice for|
|00006450| 20 76 38 36 20 20 20 20 | 2a 2f 0a 23 64 65 66 69 | v86 |*/.#defi|
|00006460| 6e 65 20 56 38 36 5f 54 | 49 4d 45 52 5f 42 4f 55 |ne V86_T|IMER_BOU|
|00006470| 4e 44 20 31 30 01 07 20 | 20 00 e6 2f 2a 20 50 65 |ND 10.. | ../* Pe|
|00006480| 6e 64 69 6e 67 20 74 69 | 63 6b 73 20 6c 69 6d 69 |nding ti|cks limi|
|00006490| 74 20 66 6f 72 20 45 43 | 54 20 20 2a 2f 0a 0a 2f |t for EC|T */../|
|000064a0| 2a 20 20 0a 20 2a 20 20 | 54 68 65 20 6d 61 78 69 |* . * |The maxi|
|000064b0| 6d 75 6d 20 6e 75 6d 62 | 65 72 20 6f 66 20 61 72 |mum numb|er of ar|
|000064c0| 67 75 6d 65 6e 74 73 20 | 74 68 61 74 20 63 61 6e |guments |that can|
|000064d0| 20 62 65 20 75 73 65 64 | 20 66 6f 72 20 76 38 36 | be used| for v86|
|000064e0| 28 29 20 73 79 73 74 65 | 6d 0a 20 2a 20 20 63 61 |() syste|m. * ca|
|000064f0| 6c 6c 20 69 73 20 64 65 | 70 65 6e 64 65 6e 74 20 |ll is de|pendent |
|00006500| 6f 6e 20 74 68 65 20 6d | 61 78 69 6d 75 6d 20 6e |on the m|aximum n|
|00006510| 75 6d 62 65 72 20 6f 66 | 20 61 72 67 75 6d 65 6e |umber of| argumen|
|00006520| 74 73 20 61 6c 6c 6f 77 | 65 64 20 66 6f 72 0a 20 |ts allow|ed for. |
|00006530| 2a 20 20 74 68 65 20 73 | 79 73 69 38 36 20 63 61 |* the s|ysi86 ca|
|00006540| 6c 6c 20 69 6e 20 73 79 | 73 65 6e 74 2e 63 2e 20 |ll in sy|sent.c. |
|00006550| 53 69 6e 63 65 20 74 68 | 65 20 76 38 36 28 29 20 |Since th|e v86() |
|00006560| 73 01 01 0b 02 00 bc fd | 01 02 00 ff 79 73 74 65 |s.......|....yste|
|00006570| 6d 20 63 61 6c 6c 20 69 | 73 20 61 20 73 75 62 2d |m call i|s a sub-|
|00006580| 0a 20 2a 20 20 66 75 6e | 63 74 69 6f 6e 20 28 53 |. * fun|ction (S|
|00006590| 49 38 36 56 38 36 29 20 | 6f 66 20 74 68 65 20 73 |I86V86) |of the s|
|000065a0| 79 73 69 38 36 20 63 61 | 6c 6c 20 61 6e 64 20 76 |ysi86 ca|ll and v|
|000065b0| 38 36 28 29 20 69 74 73 | 65 6c 66 20 68 61 73 20 |86() its|elf has |
|000065c0| 73 75 62 2d 0a 20 2a 20 | 20 66 75 6e 63 74 69 6f |sub-. * | functio|
|000065d0| 6e 73 2c 20 74 68 65 20 | 6d 61 78 69 6d 75 6d 20 |ns, the |maximum |
|000065e0| 61 72 67 75 6d 65 6e 74 | 73 20 66 6f 72 20 65 61 |argument|s for ea|
|000065f0| 63 68 20 73 75 62 2d 66 | 75 6e 63 74 69 6f 6e 20 |ch sub-f|unction |
|00006600| 6f 66 20 74 68 65 20 76 | 38 36 28 29 0a 20 2a 20 |of the v|86(). * |
|00006610| 20 73 79 73 74 65 6d 20 | 63 61 6c 6c 20 69 73 20 | system |call is |
|00006620| 74 77 6f 20 6c 65 73 73 | 20 74 68 61 6e 20 74 68 |two less| than th|
|00006630| 65 20 6d 61 78 69 6d 75 | 6d 20 61 6c 6c 6f 77 65 |e maximu|m allowe|
|00006640| 64 20 66 6f 72 20 74 68 | 65 20 73 79 73 69 38 36 |d for th|e sysi86|
|00006650| 0a 20 2a 20 20 73 79 73 | 74 65 6d 20 63 61 6c 6c |. * sys|tem call|
|00006660| 2e 20 54 68 65 20 76 61 | 6c 75 65 00 47 20 64 65 |. The va|lue.G de|
|00006670| 66 69 6e 65 64 20 68 65 | 72 65 20 69 73 20 61 73 |fined he|re is as|
|00006680| 73 75 6d 65 64 20 69 6e | 20 74 68 65 20 6c 69 62 |sumed in| the lib|
|00006690| 72 61 72 79 2e 0a 20 2a | 2f 0a 0a 23 64 65 66 69 |rary.. *|/..#defi|
|000066a0| 6e 65 20 56 38 36 53 43 | 5f 4d 41 58 41 52 47 53 |ne V86SC|_MAXARGS|
|000066b0| 20 20 20 33 01 07 20 20 | 00 ac 20 2f 2a 20 49 6e | 3.. |.. /* In|
|000066c0| 63 6c 75 64 65 73 20 73 | 75 62 2d 66 75 6e 63 20 |cludes s|ub-func |
|000066d0| 23 20 6f 66 20 76 38 36 | 28 29 20 2a 2f 0a 0a 2f |# of v86|() */../|
|000066e0| 2a 20 20 0a 20 2a 20 20 | 53 49 38 36 56 38 36 20 |* . * |SI86V86 |
|000066f0| 69 73 20 61 20 73 75 62 | 20 73 79 73 74 65 6d 20 |is a sub| system |
|00006700| 63 61 6c 6c 20 6f 66 20 | 74 68 65 20 73 79 73 74 |call of |the syst|
|00006710| 65 6d 20 63 61 6c 6c 20 | 22 73 79 73 69 38 36 22 |em call |"sysi86"|
|00006720| 2e 20 54 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 0a |. The fo|llowing.|
|00006730| 20 2a 20 20 64 65 66 69 | 6e 69 74 69 6f 6e 73 20 | * defi|nitions |
|00006740| 61 72 65 20 73 75 62 20 | 73 79 73 74 65 6d 20 63 |are sub |system c|
|00006750| 61 6c 6c 73 20 66 6f 72 | 20 53 49 38 36 56 38 36 |alls for| SI86V86|
|00006760| 20 61 6e 64 20 61 01 01 | 0c 02 00 ca e1 01 02 00 | and a..|........|
|00006770| 34 72 65 20 70 72 6f 63 | 65 73 73 65 64 20 69 6e |4re proc|essed in|
|00006780| 20 76 38 36 2e 63 0a 20 | 2a 2f 0a 0a 23 64 65 66 | v86.c. |*/..#def|
|00006790| 69 6e 65 20 56 38 36 53 | 43 5f 49 4e 49 54 20 20 |ine V86S|C_INIT |
|000067a0| 20 20 20 20 31 01 07 20 | 20 00 19 20 2f 2a 20 76 | 1.. | .. /* v|
|000067b0| 38 36 69 6e 69 74 28 29 | 20 73 79 73 74 65 6d 20 |86init()| system |
|000067c0| 63 61 6c 6c 01 04 20 20 | 00 1c 2a 2f 0a 23 64 65 |call.. |..*/.#de|
|000067d0| 66 69 6e 65 20 56 38 36 | 53 43 5f 53 4c 45 45 50 |fine V86|SC_SLEEP|
|000067e0| 20 20 20 20 20 32 01 07 | 20 20 00 3d 20 2f 2a 20 | 2..| .= /* |
|000067f0| 76 38 36 73 6c 65 65 70 | 28 29 20 73 79 73 74 65 |v86sleep|() syste|
|00006800| 6d 20 63 61 6c 6c 20 20 | 20 20 20 20 20 2a 2f 0a |m call | */.|
|00006810| 23 64 65 66 69 6e 65 20 | 56 38 36 53 43 5f 4d 45 |#define |V86SC_ME|
|00006820| 4d 46 55 4e 43 20 20 20 | 33 01 07 20 20 00 3d 20 |MFUNC |3.. .= |
|00006830| 2f 2a 20 76 38 36 6d 65 | 6d 66 75 6e 63 28 29 20 |/* v86me|mfunc() |
|00006840| 73 79 73 74 65 6d 20 63 | 61 6c 6c 20 20 20 20 20 |system c|all |
|00006850| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 56 38 36 53 43 |*/.#defi|ne V86SC|
|00006860| 5f 49 4f 50 4c 20 20 20 | 20 20 20 34 01 07 20 20 |_IOPL | 4.. |
|00006870| 00 dd 20 2f 2a 20 76 38 | 36 69 6f 70 72 69 76 20 |.. /* v8|6iopriv |
|00006880| 28 29 20 73 79 73 74 65 | 6d 20 63 61 6c 6c 20 20 |() syste|m call |
|00006890| 20 20 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 20 54 68 | */../|*. * Th|
|000068a0| 65 20 56 38 36 20 74 69 | 6d 65 72 20 68 61 73 20 |e V86 ti|mer has |
|000068b0| 61 20 66 72 65 71 75 65 | 6e 63 79 20 6f 66 20 31 |a freque|ncy of 1|
|000068c0| 38 2e 32 20 74 69 6d 65 | 73 20 61 20 73 65 63 6f |8.2 time|s a seco|
|000068d0| 6e 64 2e 20 54 68 65 20 | 58 45 4e 49 58 0a 20 2a |nd. The |XENIX. *|
|000068e0| 20 20 74 69 6d 65 72 20 | 68 61 73 20 61 20 66 72 | timer |has a fr|
|000068f0| 65 71 75 65 6e 63 79 20 | 6f 66 20 35 30 20 74 69 |equency |of 50 ti|
|00006900| 6d 65 73 20 61 20 73 65 | 63 6f 6e 64 2e 20 53 6f |mes a se|cond. So|
|00006910| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 0a 20 | the fol|lowing. |
|00006920| 2a 20 20 76 61 6c 75 65 | 20 65 6e 73 75 72 65 73 |* value| ensures|
|00006930| 20 74 68 61 74 20 74 68 | 65 20 45 43 54 20 67 65 | that th|e ECT ge|
|00006940| 74 73 20 61 6e 20 69 6e | 74 65 72 72 75 70 74 01 |ts an in|terrupt.|
|00006950| 01 0d 02 00 51 f5 01 02 | 00 3d 20 61 74 20 6c 65 |....Q...|.= at le|
|00006960| 61 73 74 20 61 73 20 6f | 66 74 65 6e 0a 20 2a 20 |ast as o|ften. * |
|00006970| 20 61 73 20 69 74 20 6e | 65 65 64 73 20 6f 6e 65 | as it n|eeds one|
|00006980| 2e 0a 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 56 |.. */..#|define V|
|00006990| 38 36 54 49 4d 45 52 01 | 04 20 20 00 01 32 01 07 |86TIMER.|. ..2..|
|000069a0| 20 20 00 7e 20 2f 2a 20 | 45 76 65 72 79 20 34 30 | .~ /* |Every 40|
|000069b0| 20 6d 73 20 28 32 35 20 | 74 69 6d 65 73 20 61 20 | ms (25 |times a |
|000069c0| 73 65 63 6f 6e 64 29 20 | 2a 2f 0a 0a 2f 2a 20 20 |second) |*/../* |
|000069d0| 0a 20 2a 20 53 6f 66 74 | 77 61 72 65 20 49 6e 74 |. * Soft|ware Int|
|000069e0| 65 72 72 75 70 74 20 6d | 61 73 6b 20 62 69 74 20 |errupt m|ask bit |
|000069f0| 61 72 72 61 79 20 64 65 | 66 69 6e 69 74 69 6f 6e |array de|finition|
|00006a00| 73 0a 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 56 |s. */..#|define V|
|00006a10| 38 36 5f 49 4d 41 53 4b | 53 49 5a 45 20 20 20 32 |86_IMASK|SIZE 2|
|00006a20| 35 36 01 06 20 20 00 ff | 20 2f 2a 20 4d 61 78 20 |56.. ..| /* Max |
|00006a30| 6e 75 6d 62 65 72 20 6f | 66 20 73 6f 66 74 77 61 |number o|f softwa|
|00006a40| 72 65 20 49 4e 54 73 20 | 20 2a 2f 0a 23 64 65 66 |re INTs | */.#def|
|00006a50| 69 6e 65 20 56 38 36 5f | 49 4d 41 53 4b 42 49 54 |ine V86_|IMASKBIT|
|00006a60| 53 20 20 20 28 28 56 38 | 36 5f 49 4d 41 53 4b 53 |S ((V8|6_IMASKS|
|00006a70| 49 5a 45 20 2b 20 33 31 | 29 20 2f 20 33 32 29 0a |IZE + 31|) / 32).|
|00006a80| 09 09 09 09 09 2f 2a 20 | 23 20 6f 66 20 62 69 74 |...../* |# of bit|
|00006a90| 73 20 66 6f 72 20 73 6f | 66 74 77 61 72 65 20 49 |s for so|ftware I|
|00006aa0| 4e 54 73 20 20 2a 2f 0a | 0a 2f 2a 20 20 0a 20 2a |NTs */.|./* . *|
|00006ab0| 20 20 54 68 65 20 6f 66 | 66 73 65 74 73 20 6f 66 | The of|fsets of|
|00006ac0| 20 6d 65 6d 62 65 72 73 | 20 22 78 74 5f 76 69 66 | members| "xt_vif|
|00006ad0| 6c 61 67 22 2c 20 22 78 | 74 5f 73 69 67 6e 6f 22 |lag", "x|t_signo"|
|00006ae0| 20 61 6e 64 20 22 78 74 | 5f 68 64 6c 72 22 20 61 | and "xt|_hdlr" a|
|00006af0| 72 65 0a 20 2a 20 20 68 | 61 72 64 20 63 6f 64 65 |re. * h|ard code|
|00006b00| 64 20 69 6e 20 74 68 65 | 20 66 69 6c 65 20 22 76 |d in the| file "v|
|00006b10| 38 36 65 6e 74 65 72 2e | 73 22 2e 20 53 6f 20 61 |86enter.|s". So a|
|00006b20| 6e 79 20 63 68 61 6e 00 | 23 67 65 73 20 74 6f 20 |ny chan.|#ges to |
|00006b30| 74 68 65 20 0a 20 2a 20 | 20 73 74 72 75 63 74 75 |the . * | structu|
|00006b40| 72 65 20 74 68 61 74 20 | 63 68 61 6e 01 01 0e 02 |re that |chan....|
|00006b50| 00 59 ef 01 02 00 ab 67 | 65 73 20 74 68 65 73 65 |.Y.....g|es these|
|00006b60| 20 6f 66 66 73 65 74 73 | 20 68 61 76 65 20 74 6f | offsets| have to|
|00006b70| 20 62 65 20 72 65 66 6c | 65 63 74 65 64 20 0a 20 | be refl|ected . |
|00006b80| 2a 20 20 69 6e 20 74 68 | 69 73 20 66 69 6c 65 2e |* in th|is file.|
|00006b90| 20 20 0a 20 2a 0a 20 2a | 20 20 4e 4f 54 45 3a 20 | . *. *| NOTE: |
|00006ba0| 54 68 65 20 76 61 6c 75 | 65 20 6f 66 20 22 78 74 |The valu|e of "xt|
|00006bb0| 5f 69 6e 74 72 5f 70 69 | 6e 22 20 73 68 6f 75 6c |_intr_pi|n" shoul|
|00006bc0| 64 20 62 65 20 30 78 46 | 46 20 6f 72 20 30 2e 0a |d be 0xF|F or 0..|
|00006bd0| 20 2a 2f 0a 0a 74 79 70 | 65 64 65 66 20 73 74 72 | */..typ|edef str|
|00006be0| 75 63 74 20 76 38 36 78 | 74 73 73 0a 7b 20 20 20 |uct v86x|tss.{ |
|00006bf0| 73 74 72 75 63 74 20 74 | 73 73 20 78 74 5f 74 73 |struct t|ss xt_ts|
|00006c00| 73 3b 01 09 20 20 00 17 | 2f 2a 20 4e 6f 72 6d 61 |s;.. ..|/* Norma|
|00006c10| 6c 20 54 53 53 20 73 74 | 72 75 63 74 75 72 65 01 |l TSS st|ructure.|
|00006c20| 04 20 20 00 61 20 2a 2f | 0a 20 20 20 20 75 6e 73 |. .a */|. uns|
|00006c30| 69 67 6e 65 64 20 69 6e | 74 20 2a 78 74 5f 76 66 |igned in|t *xt_vf|
|00006c40| 6c 70 74 72 3b 09 09 2f | 2a 20 50 74 72 20 74 6f |lptr;../|* Ptr to|
|00006c50| 20 38 30 38 36 20 76 69 | 72 74 75 61 6c 20 66 6c | 8086 vi|rtual fl|
|00006c60| 61 67 73 09 2a 2f 0a 20 | 20 20 20 75 6e 73 69 67 |ags.*/. | unsig|
|00006c70| 6e 65 64 20 63 68 61 72 | 20 78 74 5f 6d 61 67 69 |ned char| xt_magi|
|00006c80| 63 74 72 61 70 3b 01 04 | 20 20 00 43 20 2f 2a 20 |ctrap;..| .C /* |
|00006c90| 53 61 76 65 64 20 62 79 | 74 65 20 6f 66 20 76 69 |Saved by|te of vi|
|00006ca0| 72 74 20 69 6e 74 72 20 | 20 20 20 20 20 2a 2f 0a |rt intr | */.|
|00006cb0| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 63 68 61 | unsi|gned cha|
|00006cc0| 72 20 78 74 5f 6d 61 67 | 69 63 73 74 61 74 3b 01 |r xt_mag|icstat;.|
|00006cd0| 04 20 20 00 18 20 2f 2a | 20 53 74 61 74 75 73 20 |. .. /*| Status |
|00006ce0| 6f 66 20 6d 61 67 69 63 | 20 62 79 74 65 01 04 20 |of magic| byte.. |
|00006cf0| 20 00 50 20 2a 2f 0a 20 | 20 20 20 75 6e 73 69 67 | .P */. | unsig|
|00006d00| 6e 65 64 20 63 68 61 72 | 20 78 74 5f 74 73 6c 69 |ned char| xt_tsli|
|00006d10| 63 65 5f 73 68 66 74 3b | 20 20 20 20 20 20 20 2f |ce_shft;| /|
|00006d20| 2a 20 54 69 6d 65 20 73 | 6c 69 63 65 20 73 68 69 |* Time s|lice shi|
|00006d30| 66 74 20 72 65 71 75 65 | 73 74 65 64 20 20 20 2a |ft reque|sted *|
|00006d40| 2f 0a 20 01 01 0f 02 00 | f8 cd 01 02 00 1d 20 20 |/. .....|...... |
|00006d50| 20 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 20 78 | unsigne|d char x|
|00006d60| 74 5f 69 6e 74 72 5f 70 | 69 6e 3b 01 05 20 20 00 |t_intr_p|in;.. .|
|00006d70| 37 2f 2a 20 49 6e 74 65 | 72 72 75 70 74 20 74 6f |7/* Inte|rrupt to|
|00006d80| 20 76 69 72 74 75 61 6c | 20 6d 61 63 68 69 6e 65 | virtual| machine|
|00006d90| 20 2a 2f 0a 20 20 20 20 | 74 69 6d 65 5f 74 20 78 | */. |time_t x|
|00006da0| 74 5f 6c 62 6f 6c 74 3b | 01 0a 20 20 00 18 2f 2a |t_lbolt;|.. ../*|
|00006db0| 20 4c 69 67 74 68 65 6e | 69 6e 67 20 62 6f 6c 74 | Ligthen|ing bolt|
|00006dc0| 20 76 61 6c 75 65 01 04 | 20 20 00 1e 2a 2f 0a 20 | value..| ..*/. |
|00006dd0| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 69 6e 74 20 | unsig|ned int |
|00006de0| 78 74 5f 76 69 66 6c 61 | 67 3b 01 06 20 20 00 3f |xt_vifla|g;.. .?|
|00006df0| 20 2f 2a 20 56 69 72 74 | 75 61 6c 20 69 6e 74 65 | /* Virt|ual inte|
|00006e00| 72 72 75 70 74 20 66 6c | 61 67 20 20 20 20 20 20 |rrupt fl|ag |
|00006e10| 20 2a 2f 0a 20 20 20 20 | 75 6e 73 69 67 6e 65 64 | */. |unsigned|
|00006e20| 20 69 6e 74 20 78 74 5f | 76 69 6d 61 73 6b 3b 01 | int xt_|vimask;.|
|00006e30| 06 20 20 00 3e 20 2f 2a | 20 4d 61 73 6b 20 66 6f |. .> /*| Mask fo|
|00006e40| 72 20 76 69 72 74 75 61 | 6c 20 69 6e 74 65 72 72 |r virtua|l interr|
|00006e50| 75 70 74 73 20 20 2a 2f | 0a 20 20 20 20 75 6e 73 |upts */|. uns|
|00006e60| 69 67 6e 65 64 20 69 6e | 74 20 78 74 5f 73 69 67 |igned in|t xt_sig|
|00006e70| 6e 6f 3b 01 07 20 20 00 | 39 2f 2a 20 53 69 67 20 |no;.. .|9/* Sig |
|00006e80| 6e 75 6d 62 65 72 20 6f | 6e 20 56 38 36 56 49 5f |number o|n V86VI_|
|00006e90| 53 49 47 48 44 4c 20 20 | 20 2a 2f 0a 20 20 20 20 |SIGHDL | */. |
|00006ea0| 69 6e 74 20 28 2a 20 78 | 74 5f 68 64 6c 72 29 28 |int (* x|t_hdlr)(|
|00006eb0| 29 3b 01 09 20 20 00 43 | 2f 2a 20 53 69 67 20 68 |);.. .C|/* Sig h|
|00006ec0| 61 6e 64 6c 65 72 20 66 | 6f 72 20 56 38 36 56 49 |andler f|or V86VI|
|00006ed0| 5f 53 49 47 48 44 4c 20 | 2a 2f 0a 20 20 20 20 75 |_SIGHDL |*/. u|
|00006ee0| 6e 73 69 67 6e 65 64 20 | 69 6e 74 20 78 74 5f 74 |nsigned |int xt_t|
|00006ef0| 69 6d 65 72 5f 63 6f 75 | 6e 74 3b 01 04 20 20 00 |imer_cou|nt;.. .|
|00006f00| 17 2f 2a 20 4e 75 6d 62 | 65 72 20 6f 66 20 70 65 |./* Numb|er of pe|
|00006f10| 6e 64 69 6e 67 20 74 69 | 0f 02 00 5e 02 00 01 02 |nding ti|...^....|
|00006f20| 00 97 ff 01 02 00 2c 6d | 65 72 20 74 69 63 6b 73 |......,m|er ticks|
|00006f30| 2a 2f 0a 20 20 20 20 75 | 6e 73 69 67 6e 65 64 20 |*/. u|nsigned |
|00006f40| 69 6e 74 20 78 74 5f 74 | 69 6d 65 72 5f 62 6f 75 |int xt_t|imer_bou|
|00006f50| 6e 64 3b 01 04 20 20 00 | ff 2f 2a 20 54 69 63 6b |nd;.. .|./* Tick|
|00006f60| 73 20 62 65 66 6f 72 65 | 20 66 6f 72 63 69 6e 67 |s before| forcing|
|00006f70| 20 45 43 54 20 69 6e 20 | 20 2a 2f 0a 20 20 20 20 | ECT in | */. |
|00006f80| 75 6e 73 69 67 6e 65 64 | 20 69 6e 74 20 78 74 5f |unsigned| int xt_|
|00006f90| 69 6d 61 73 6b 62 69 74 | 73 5b 56 38 36 5f 49 4d |imaskbit|s[V86_IM|
|00006fa0| 41 53 4b 42 49 54 53 5d | 3b 20 2f 2a 20 42 69 74 |ASKBITS]|; /* Bit|
|00006fb0| 20 6d 61 70 20 66 6f 72 | 20 73 6f 66 74 77 61 72 | map for| softwar|
|00006fc0| 65 20 49 4e 54 73 20 20 | 20 20 2a 2f 0a 7d 20 20 |e INTs | */.} |
|00006fd0| 20 78 74 73 73 5f 74 3b | 0a 0a 2f 2a 20 20 0a 20 | xtss_t;|../* . |
|00006fe0| 2a 20 20 44 65 66 69 6e | 69 74 69 6f 6e 73 20 66 |* Defin|itions f|
|00006ff0| 6f 72 20 74 68 65 20 66 | 69 65 6c 64 20 22 78 74 |or the f|ield "xt|
|00007000| 5f 6d 61 67 69 63 73 74 | 61 74 22 2e 20 54 68 65 |_magicst|at". The|
|00007010| 20 6c 6f 63 61 74 69 6f | 6e 20 22 78 74 5f 6d 61 | locatio|n "xt_ma|
|00007020| 67 69 63 74 72 61 70 22 | 0a 20 2a 20 20 69 73 20 |gictrap"|. * is |
|00007030| 76 61 6c 69 64 20 6f 6e | 6c 79 20 77 68 65 6e 20 |valid on|ly when |
|00007040| 22 78 74 5f 6d 61 67 69 | 63 73 74 61 74 22 20 66 |"xt_magi|cstat" f|
|00007050| 69 65 6c 64 20 69 73 20 | 00 81 73 65 74 20 74 6f |ield is |..set to|
|00007060| 20 58 54 5f 4d 53 54 41 | 54 5f 4f 50 53 41 56 45 | XT_MSTA|T_OPSAVE|
|00007070| 44 2e 0a 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 |D.. */..|#define |
|00007080| 58 54 5f 4d 53 54 41 54 | 5f 4e 4f 50 52 4f 43 45 |XT_MSTAT|_NOPROCE|
|00007090| 53 53 20 20 20 20 20 20 | 30 20 20 20 20 20 20 20 |SS |0 |
|000070a0| 2f 2a 20 44 6f 20 6e 6f | 74 20 70 72 6f 63 65 73 |/* Do no|t proces|
|000070b0| 73 20 76 69 72 74 75 61 | 6c 20 69 6e 74 72 20 20 |s virtua|l intr |
|000070c0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 58 54 5f 4d 53 |*/.#defi|ne XT_MS|
|000070d0| 54 41 54 5f 50 52 4f 43 | 45 53 53 01 04 20 20 00 |TAT_PROC|ESS.. .|
|000070e0| 1f 31 20 20 20 20 20 20 | 20 2f 2a 20 50 72 6f 63 |.1 | /* Proc|
|000070f0| 65 73 73 20 76 69 72 74 | 75 61 6c 20 69 6e 74 72 |ess virt|ual intr|
|00007100| 01 04 20 20 00 1d 20 2a | 2f 0a 23 64 65 66 69 6e |.. .. *|/.#defin|
|00007110| 65 20 58 54 5f 4d 53 54 | 41 54 5f 4f 50 53 41 56 |e XT_MST|AT_OPSAV|
|00007120| 45 44 20 02 00 02 02 00 | 79 d1 01 02 00 4a 20 20 |ED .....|y....J |
|00007130| 20 20 20 20 20 32 20 20 | 20 20 20 20 20 2f 2a 20 | 2 | /* |
|00007140| 76 38 36 20 70 72 6f 67 | 72 61 6d 20 6f 70 63 6f |v86 prog|ram opco|
|00007150| 64 65 20 73 61 76 65 64 | 20 20 20 20 20 2a 2f 0a |de saved| */.|
|00007160| 23 64 65 66 69 6e 65 20 | 58 54 5f 4d 53 54 41 54 |#define |XT_MSTAT|
|00007170| 5f 50 4f 53 54 49 4e 47 | 01 04 20 20 00 1a 33 20 |_POSTING|.. ..3 |
|00007180| 20 20 20 20 20 20 2f 2a | 20 50 68 6f 65 6e 69 78 | /*| Phoenix|
|00007190| 20 64 65 66 69 6e 65 64 | 01 07 20 20 00 27 2a 2f | defined|.. .'*/|
|000071a0| 0a 0a 73 74 72 75 63 74 | 20 76 38 36 70 61 72 6d |..struct| v86parm|
|000071b0| 0a 7b 20 20 20 78 74 73 | 73 5f 74 20 20 20 2a 78 |.{ xts|s_t *x|
|000071c0| 74 73 73 70 3b 01 0a 20 | 20 00 3c 2f 2a 20 50 74 |tssp;.. | .</* Pt|
|000071d0| 72 20 74 6f 20 58 54 53 | 53 20 69 6e 20 75 73 65 |r to XTS|S in use|
|000071e0| 72 20 64 61 74 61 20 20 | 20 20 20 2a 2f 0a 20 20 |r data | */. |
|000071f0| 20 20 75 6e 73 69 67 6e | 65 64 20 6c 6f 6e 67 20 | unsign|ed long |
|00007200| 73 7a 78 74 73 73 3b 01 | 07 20 20 00 8c 20 2f 2a |szxtss;.|. .. /*|
|00007210| 20 4c 65 6e 67 74 68 20 | 69 6e 20 62 79 74 65 73 | Length |in bytes|
|00007220| 20 6f 66 20 58 54 53 53 | 20 20 20 20 20 20 2a 2f | of XTSS| */|
|00007230| 0a 20 20 20 20 69 6e 74 | 20 78 74 73 73 5f 6f 66 |. int| xtss_of|
|00007240| 66 3b 0a 7d 3b 0a 0a 74 | 79 70 65 64 65 66 09 64 |f;.};..t|ypedef.d|
|00007250| 65 76 5f 74 20 28 2a 64 | 65 76 5f 74 5f 66 75 6e |ev_t (*d|ev_t_fun|
|00007260| 63 70 5f 74 29 28 29 3b | 0a 0a 74 79 70 65 64 65 |cp_t)();|..typede|
|00007270| 66 20 73 74 72 75 63 74 | 20 76 38 36 6d 65 6d 6f |f struct| v86memo|
|00007280| 72 79 0a 7b 20 20 20 69 | 6e 74 20 20 20 20 20 20 |ry.{ i|nt |
|00007290| 76 6d 65 6d 5f 63 6d 64 | 3b 01 09 20 20 00 3e 2f |vmem_cmd|;.. .>/|
|000072a0| 2a 20 53 75 62 20 63 6f | 6d 6d 61 6e 64 20 66 6f |* Sub co|mmand fo|
|000072b0| 72 20 73 63 72 65 65 6e | 20 66 75 6e 63 20 20 2a |r screen| func *|
|000072c0| 2f 0a 20 20 20 20 70 61 | 64 64 72 5f 74 20 20 76 |/. pa|ddr_t v|
|000072d0| 6d 65 6d 5f 70 68 79 73 | 61 64 64 72 3b 01 06 20 |mem_phys|addr;.. |
|000072e0| 20 00 19 20 2f 2a 20 50 | 68 79 73 69 63 61 6c 20 | .. /* P|hysical |
|000072f0| 6d 65 6d 6f 72 79 20 62 | 61 73 65 20 02 00 03 02 |memory b|ase ....|
|00007300| 00 96 cf 01 02 00 25 66 | 6f 72 20 6d 61 70 20 2a |......%f|or map *|
|00007310| 2f 0a 20 20 20 20 63 61 | 64 64 72 5f 74 20 20 76 |/. ca|ddr_t v|
|00007320| 6d 65 6d 5f 6d 65 6d 62 | 61 73 65 3b 01 07 20 20 |mem_memb|ase;.. |
|00007330| 00 15 2f 2a 20 53 63 72 | 65 65 6e 20 6d 65 6d 6f |../* Scr|een memo|
|00007340| 72 79 20 62 61 73 65 01 | 05 20 20 00 1d 20 2a 2f |ry base.|. .. */|
|00007350| 0a 20 20 20 20 69 6e 74 | 20 20 20 20 20 20 76 6d |. int| vm|
|00007360| 65 6d 5f 6d 65 6d 6c 65 | 6e 3b 01 07 20 20 00 80 |em_memle|n;.. ..|
|00007370| 20 2f 2a 20 4c 65 6e 67 | 74 68 20 6f 66 20 73 63 | /* Leng|th of sc|
|00007380| 72 65 65 6e 20 6d 65 6d | 6f 72 79 20 20 20 20 20 |reen mem|ory |
|00007390| 20 2a 2f 0a 7d 20 76 38 | 36 6d 65 6d 6f 72 79 5f | */.} v8|6memory_|
|000073a0| 74 3b 0a 0a 2f 2a 20 20 | 0a 20 2a 20 44 65 66 69 |t;../* |. * Defi|
|000073b0| 6e 69 74 69 6f 6e 73 20 | 66 6f 72 20 74 68 65 20 |nitions |for the |
|000073c0| 66 69 65 6c 64 20 22 76 | 6d 65 6d 5f 63 6d 64 22 |field "v|mem_cmd"|
|000073d0| 2e 0a 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 56 |.. */..#|define V|
|000073e0| 38 36 4d 45 4d 5f 4d 41 | 50 20 20 20 20 20 20 31 |86MEM_MA|P 1|
|000073f0| 01 07 20 20 00 3d 20 2f | 2a 20 4d 61 70 20 76 69 |.. .= /|* Map vi|
|00007400| 72 74 20 61 64 64 72 20 | 74 6f 20 70 68 79 73 69 |rt addr |to physi|
|00007410| 63 61 6c 20 20 20 20 2a | 2f 0a 23 64 65 66 69 6e |cal *|/.#defin|
|00007420| 65 20 56 38 36 4d 45 4d | 5f 54 52 41 43 4b 20 20 |e V86MEM|_TRACK |
|00007430| 20 20 32 01 07 20 20 00 | 3d 20 2f 2a 20 54 72 61 | 2.. .|= /* Tra|
|00007440| 63 6b 20 6d 65 6d 6f 72 | 79 20 6d 6f 64 69 66 69 |ck memor|y modifi|
|00007450| 63 61 74 69 6f 6e 73 20 | 20 20 2a 2f 0a 23 64 65 |cations | */.#de|
|00007460| 66 69 6e 65 20 56 38 36 | 4d 45 4d 5f 55 4e 54 52 |fine V86|MEM_UNTR|
|00007470| 41 43 4b 20 20 33 01 07 | 20 20 00 3d 20 2f 2a 20 |ACK 3..| .= /* |
|00007480| 55 6e 74 72 61 63 6b 20 | 6d 65 6d 6f 72 79 20 6d |Untrack |memory m|
|00007490| 6f 64 69 66 69 63 61 74 | 69 6f 6e 73 20 2a 2f 0a |odificat|ions */.|
|000074a0| 23 64 65 66 69 6e 65 20 | 56 38 36 4d 45 4d 5f 55 |#define |V86MEM_U|
|000074b0| 4e 4d 41 50 20 20 20 20 | 34 01 07 20 20 00 14 20 |NMAP |4.. .. |
|000074c0| 2f 2a 20 55 6e 6d 61 70 | 20 76 69 72 74 20 61 64 |/* Unmap| virt ad|
|000074d0| 64 72 20 02 00 04 02 00 | d4 c7 01 02 01 06 20 20 |dr .....|...... |
|000074e0| 00 1d 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 56 38 |.. */.#d|efine V8|
|000074f0| 36 4d 45 4d 5f 45 4d 4d | 20 20 20 20 20 20 35 01 |6MEM_EMM| 5.|
|00007500| 07 20 20 00 3d 20 2f 2a | 20 4c 49 4d 20 65 78 70 |. .= /*| LIM exp|
|00007510| 61 6e 64 65 64 20 6d 65 | 6d 6f 72 79 20 65 6d 75 |anded me|mory emu|
|00007520| 6c 61 74 69 6f 6e 2a 2f | 0a 23 64 65 66 69 6e 65 |lation*/|.#define|
|00007530| 20 56 38 36 4d 45 4d 5f | 47 52 4f 57 20 20 20 20 | V86MEM_|GROW |
|00007540| 20 36 01 07 20 20 00 55 | 20 2f 2a 20 47 72 6f 77 | 6.. .U| /* Grow|
|00007550| 20 4c 69 6d 20 65 78 70 | 61 6e 64 65 64 20 6d 65 | Lim exp|anded me|
|00007560| 6d 6f 72 79 20 20 20 20 | 20 2a 2f 0a 0a 74 79 70 |mory | */..typ|
|00007570| 65 64 65 66 20 73 74 72 | 75 63 74 20 76 38 36 64 |edef str|uct v86d|
|00007580| 61 74 0a 7b 20 20 20 73 | 74 72 75 63 74 20 70 72 |at.{ s|truct pr|
|00007590| 6f 63 20 2a 76 70 5f 70 | 72 6f 63 70 3b 01 07 20 |oc *vp_p|rocp;.. |
|000075a0| 20 00 39 2f 2a 20 50 74 | 72 20 74 6f 20 70 72 6f | .9/* Pt|r to pro|
|000075b0| 63 65 73 73 27 73 20 70 | 72 6f 63 20 73 74 72 75 |cess's p|roc stru|
|000075c0| 63 20 20 2a 2f 0a 20 20 | 20 20 75 73 68 6f 72 74 |c */. | ushort|
|000075d0| 20 20 20 76 70 5f 6f 6c | 64 74 72 3b 01 09 20 20 | vp_ol|dtr;.. |
|000075e0| 00 14 2f 2a 20 4f 6c 64 | 20 74 61 73 6b 20 72 65 |../* Old| task re|
|000075f0| 67 69 73 74 65 72 01 06 | 20 20 00 20 2a 2f 0a 20 |gister..| . */. |
|00007600| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 | unsig|ned shor|
|00007610| 74 20 76 70 5f 73 7a 78 | 74 73 73 3b 01 05 20 20 |t vp_szx|tss;.. |
|00007620| 00 3f 20 2f 2a 20 53 69 | 7a 65 20 6f 66 20 58 54 |.? /* Si|ze of XT|
|00007630| 53 53 20 69 6e 20 75 73 | 65 72 20 73 70 61 63 65 |SS in us|er space|
|00007640| 20 20 20 2a 2f 0a 20 20 | 20 20 75 6e 73 69 67 6e | */. | unsign|
|00007650| 65 64 20 69 6e 74 20 76 | 70 5f 76 69 66 6c 61 67 |ed int v|p_viflag|
|00007660| 3b 01 06 20 20 00 3b 20 | 2f 2a 20 56 69 72 74 75 |;.. .; |/* Virtu|
|00007670| 61 6c 20 69 6e 74 65 72 | 72 75 70 74 20 66 6c 61 |al inter|rupt fla|
|00007680| 67 20 20 20 20 20 20 20 | 2a 2f 0a 20 20 20 20 76 |g |*/. v|
|00007690| 38 36 6d 65 6d 6f 72 79 | 5f 74 20 76 70 5f 6d 65 |86memory|_t vp_me|
|000076a0| 6d 3b 02 00 05 02 00 6a | cb 01 02 01 08 20 20 00 |m;.....j|..... .|
|000076b0| 8a 20 2f 2a 20 4d 65 6d | 6f 72 79 20 6d 61 70 2f |. /* Mem|ory map/|
|000076c0| 74 72 61 63 6b 20 64 65 | 66 69 6e 69 74 69 6f 6e |track de|finition|
|000076d0| 73 20 2a 2f 0a 20 20 20 | 20 6c 6f 6e 67 20 20 20 |s */. | long |
|000076e0| 20 20 76 70 5f 65 6d 6d | 5b 56 38 36 45 4d 4d 5f | vp_emm|[V86EMM_|
|000076f0| 4e 55 4d 50 47 53 5d 3b | 20 20 20 20 20 2f 2a 20 |NUMPGS];| /* |
|00007700| 43 75 72 72 65 6e 74 20 | 45 4d 4d 20 72 65 67 73 |Current |EMM regs|
|00007710| 20 65 6d 75 6c 61 74 69 | 6f 6e 20 20 20 2a 2f 0a | emulati|on */.|
|00007720| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 69 6e 74 | unsi|gned int|
|00007730| 20 76 70 5f 76 69 6d 61 | 73 6b 3b 01 06 20 20 00 | vp_vima|sk;.. .|
|00007740| 3b 20 2f 2a 20 4d 61 73 | 6b 20 6f 66 20 76 69 72 |; /* Mas|k of vir|
|00007750| 74 20 69 6e 74 73 20 66 | 6f 72 20 77 61 6b 65 75 |t ints f|or wakeu|
|00007760| 70 20 2a 2f 0a 20 20 20 | 20 63 68 61 72 20 20 20 |p */. | char |
|00007770| 20 20 76 70 5f 77 61 6b | 65 75 70 3b 01 08 20 20 | vp_wak|eup;.. |
|00007780| 00 3f 20 2f 2a 20 57 61 | 6b 65 75 70 20 70 72 6f |.? /* Wa|keup pro|
|00007790| 63 65 73 73 20 6f 6e 20 | 76 69 72 74 20 69 6e 74 |cess on |virt int|
|000077a0| 72 20 20 2a 2f 0a 20 20 | 20 20 63 68 61 72 20 20 |r */. | char |
|000077b0| 20 20 20 76 70 5f 73 6c | 69 63 65 5f 73 68 66 74 | vp_sl|ice_shft|
|000077c0| 3b 01 06 20 20 00 39 20 | 2f 2a 20 53 61 76 65 64 |;.. .9 |/* Saved|
|000077d0| 20 74 69 6d 65 20 73 6c | 69 63 65 20 73 68 69 66 | time sl|ice shif|
|000077e0| 74 20 20 20 20 20 20 20 | 2a 2f 0a 20 20 20 20 63 |t |*/. c|
|000077f0| 68 61 72 20 20 20 20 20 | 76 70 5f 6e 69 63 65 3b |har |vp_nice;|
|00007800| 01 09 20 20 00 3b 20 2f | 2a 20 52 65 71 75 65 73 |.. .; /|* Reques|
|00007810| 74 65 64 20 6e 69 63 65 | 20 66 72 6f 6d 20 73 79 |ted nice| from sy|
|00007820| 73 20 63 61 6c 6c 20 2a | 2f 0a 20 20 20 20 63 68 |s call *|/. ch|
|00007830| 61 72 20 20 20 20 20 76 | 70 5f 66 69 6c 6c 65 72 |ar v|p_filler|
|00007840| 3b 01 08 20 20 00 2e 20 | 2f 2a 20 55 73 65 20 74 |;.. .. |/* Use t|
|00007850| 68 65 73 65 20 77 68 65 | 6e 20 63 68 61 72 73 20 |hese whe|n chars |
|00007860| 6e 65 65 64 65 64 20 20 | 2a 2f 0a 20 20 20 20 64 |needed |*/. d|
|00007870| 65 76 5f 74 20 02 00 06 | 02 00 29 ff 01 02 00 27 |ev_t ...|..)....'|
|00007880| 20 20 20 76 70 5f 64 65 | 76 5f 69 64 3b 0a 20 20 | vp_de|v_id;. |
|00007890| 20 20 78 74 73 73 5f 74 | 20 20 20 2a 76 70 5f 78 | xtss_t| *vp_x|
|000078a0| 74 73 73 70 74 72 3b 01 | 05 20 20 00 ff 09 2f 2a |tssptr;.|. .../*|
|000078b0| 20 6b 65 72 6e 65 6c 20 | 70 74 72 20 74 6f 20 78 | kernel |ptr to x|
|000078c0| 54 53 53 20 73 74 72 75 | 63 74 75 72 65 20 2a 2f |TSS stru|cture */|
|000078d0| 0a 7d 20 20 20 76 38 36 | 5f 74 3b 0a 0a 2f 2a 20 |.} v86|_t;../* |
|000078e0| 20 0a 20 2a 20 20 56 69 | 72 74 75 61 6c 20 69 6e | . * Vi|rtual in|
|000078f0| 74 65 72 72 75 70 74 20 | 62 69 74 20 64 65 66 69 |terrupt |bit defi|
|00007900| 6e 69 74 69 6f 6e 73 20 | 66 6f 72 20 74 68 65 20 |nitions |for the |
|00007910| 66 69 65 6c 64 20 22 76 | 70 5f 76 69 66 6c 61 67 |field "v|p_viflag|
|00007920| 22 2e 0a 20 2a 20 20 54 | 68 65 20 6c 6f 77 20 6f |".. * T|he low o|
|00007930| 72 64 65 72 20 31 36 20 | 62 69 74 73 20 72 65 66 |rder 16 |bits ref|
|00007940| 6c 65 63 74 20 74 68 65 | 20 73 65 74 74 69 6e 67 |lect the| setting|
|00007950| 20 6f 66 20 74 68 65 20 | 41 54 20 68 61 72 64 77 | of the |AT hardw|
|00007960| 61 72 65 0a 20 2a 20 20 | 69 6e 74 65 72 72 75 70 |are. * |interrup|
|00007970| 74 73 2e 20 54 68 65 20 | 68 69 67 68 20 6f 72 64 |ts. The |high ord|
|00007980| 65 72 20 31 36 20 62 69 | 74 73 20 61 72 65 20 75 |er 16 bi|ts are u|
|00007990| 73 65 64 20 66 6f 72 20 | 6f 74 68 65 72 20 0a 20 |sed for |other . |
|000079a0| 2a 20 20 69 6e 74 65 72 | 72 75 70 74 00 b2 73 2e |* inter|rupt..s.|
|000079b0| 0a 20 2a 0a 20 2a 20 20 | 4e 4f 54 45 3a 20 54 68 |. *. * |NOTE: Th|
|000079c0| 65 20 76 61 6c 75 65 20 | 6f 66 20 56 38 36 56 49 |e value |of V86VI|
|000079d0| 5f 53 49 47 48 44 4c 20 | 69 73 20 68 61 72 64 20 |_SIGHDL |is hard |
|000079e0| 63 6f 64 65 64 20 69 6e | 20 74 68 65 20 66 69 6c |coded in| the fil|
|000079f0| 65 0a 20 2a 20 20 22 76 | 38 36 65 6e 74 65 72 2e |e. * "v|86enter.|
|00007a00| 73 22 2e 20 41 6e 79 20 | 63 68 61 6e 67 65 20 74 |s". Any |change t|
|00007a10| 6f 20 74 68 69 73 20 76 | 61 6c 75 65 20 68 61 73 |o this v|alue has|
|00007a20| 20 74 6f 20 72 65 66 6c | 65 63 74 65 64 20 69 6e | to refl|ected in|
|00007a30| 0a 20 2a 20 20 74 68 69 | 73 20 66 69 6c 65 2e 20 |. * thi|s file. |
|00007a40| 0a 20 2a 2f 0a 0a 23 64 | 65 66 69 6e 65 20 56 38 |. */..#d|efine V8|
|00007a50| 36 56 49 5f 4e 4f 4e 45 | 20 20 20 20 20 20 30 78 |6VI_NONE| 0x|
|00007a60| 01 04 30 30 00 16 20 20 | 20 20 20 20 2f 2a 20 4e |..00.. | /* N|
|00007a70| 6f 20 69 6e 74 65 72 72 | 75 70 74 73 02 00 07 02 |o interr|upts....|
|00007a80| 00 cb f9 01 02 01 08 20 | 20 00 ff 2a 2f 0a 23 64 |....... | ..*/.#d|
|00007a90| 65 66 69 6e 65 20 56 38 | 36 56 49 5f 54 49 4d 45 |efine V8|6VI_TIME|
|00007aa0| 52 20 20 20 20 20 30 78 | 30 30 30 30 30 30 30 31 |R 0x|00000001|
|00007ab0| 20 20 20 20 20 20 2f 2a | 20 56 69 72 74 75 61 6c | /*| Virtual|
|00007ac0| 20 74 69 6d 65 72 20 69 | 6e 74 65 72 72 75 70 74 | timer i|nterrupt|
|00007ad0| 20 20 20 20 20 20 2a 2f | 0a 23 64 65 66 69 6e 65 | */|.#define|
|00007ae0| 20 56 38 36 56 49 5f 4b | 42 44 20 20 20 20 20 20 | V86VI_K|BD |
|00007af0| 20 30 78 30 30 30 30 30 | 30 30 32 20 20 20 20 20 | 0x00000|002 |
|00007b00| 20 2f 2a 20 53 63 61 6e | 63 6f 64 65 20 72 63 76 | /* Scan|code rcv|
|00007b10| 64 20 77 68 65 6e 20 62 | 75 66 20 65 6d 70 74 79 |d when b|uf empty|
|00007b20| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 56 38 36 56 | */.#def|ine V86V|
|00007b30| 49 5f 53 4c 41 56 45 20 | 20 20 20 20 30 78 30 30 |I_SLAVE | 0x00|
|00007b40| 30 30 30 30 30 34 20 20 | 20 20 20 20 2f 2a 20 43 |000004 | /* C|
|00007b50| 61 6e 20 62 65 20 72 65 | 75 73 65 64 20 77 68 65 |an be re|used whe|
|00007b60| 6e 20 6e 65 65 64 65 64 | 20 20 20 20 2a 2f 0a 23 |n needed| */.#|
|00007b70| 64 65 66 69 6e 65 20 56 | 38 36 56 49 5f 53 45 52 |define V|86VI_SER|
|00007b80| 49 41 4c 31 20 20 20 30 | 78 30 00 f1 30 30 30 30 |IAL1 0|x0..0000|
|00007b90| 30 30 38 20 20 20 20 20 | 20 2f 2a 20 53 65 72 69 |008 | /* Seri|
|00007ba0| 61 6c 20 70 6f 72 74 20 | 31 20 73 74 61 74 65 20 |al port |1 state |
|00007bb0| 63 68 61 6e 67 65 20 20 | 20 2a 2f 0a 23 64 65 66 |change | */.#def|
|00007bc0| 69 6e 65 20 56 38 36 56 | 49 5f 53 45 52 49 41 4c |ine V86V|I_SERIAL|
|00007bd0| 30 20 20 20 30 78 30 30 | 30 30 30 30 31 30 20 20 |0 0x00|000010 |
|00007be0| 20 20 20 20 2f 2a 20 53 | 65 72 69 61 6c 20 70 6f | /* S|erial po|
|00007bf0| 72 74 20 30 20 73 74 61 | 74 65 20 63 68 61 6e 67 |rt 0 sta|te chang|
|00007c00| 65 20 20 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 56 |e */.#|define V|
|00007c10| 38 36 56 49 5f 50 52 4c | 31 20 20 20 20 20 20 30 |86VI_PRL|1 0|
|00007c20| 78 30 30 30 30 30 30 32 | 30 20 20 20 20 20 20 2f |x0000002|0 /|
|00007c30| 2a 20 50 61 72 61 6c 6c | 65 6c 20 70 6f 72 74 20 |* Parall|el port |
|00007c40| 31 20 73 74 61 74 65 20 | 63 68 61 6e 67 65 20 2a |1 state |change *|
|00007c50| 2f 0a 23 64 65 66 69 6e | 65 20 56 38 36 56 49 5f |/.#defin|e V86VI_|
|00007c60| 4d 4f 55 53 45 20 20 20 | 20 20 30 78 30 30 30 30 |MOUSE | 0x0000|
|00007c70| 30 30 32 30 20 20 20 20 | 20 20 2f 2a 20 02 00 08 |0020 | /* ...|
|00007c80| 02 00 7b dd 01 02 00 0f | 4d 69 63 72 6f 73 6f 66 |..{.....|Microsof|
|00007c90| 74 20 6d 6f 75 73 65 01 | 07 20 20 00 43 2a 2f 0a |t mouse.|. .C*/.|
|00007ca0| 23 64 65 66 69 6e 65 20 | 56 38 36 56 49 5f 44 49 |#define |V86VI_DI|
|00007cb0| 53 4b 20 20 20 20 20 20 | 30 78 30 30 30 30 30 30 |SK |0x000000|
|00007cc0| 34 30 20 20 20 20 20 20 | 2f 2a 20 46 69 78 65 64 |40 |/* Fixed|
|00007cd0| 20 61 6e 64 20 66 6c 6f | 70 70 79 20 64 69 73 6b | and flo|ppy disk|
|00007ce0| 01 04 20 20 00 d7 2a 2f | 0a 23 64 65 66 69 6e 65 |.. ..*/|.#define|
|00007cf0| 20 56 38 36 56 49 5f 50 | 52 4c 30 20 20 20 20 20 | V86VI_P|RL0 |
|00007d00| 20 30 78 30 30 30 30 30 | 30 38 30 20 20 20 20 20 | 0x00000|080 |
|00007d10| 20 2f 2a 20 50 61 72 61 | 6c 6c 65 6c 20 70 6f 72 | /* Para|llel por|
|00007d20| 74 20 30 20 73 74 61 74 | 65 20 63 68 61 6e 67 65 |t 0 stat|e change|
|00007d30| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 20 56 38 36 | */..#de|fine V86|
|00007d40| 56 49 5f 52 43 4c 4f 43 | 4b 20 20 20 20 30 78 30 |VI_RCLOC|K 0x0|
|00007d50| 30 30 30 30 31 30 30 20 | 20 20 20 20 20 2f 2a 20 |0000100 | /* |
|00007d60| 52 65 61 6c 74 69 6d 65 | 20 43 6c 6f 63 6b 20 69 |Realtime| Clock i|
|00007d70| 6e 74 65 72 72 75 70 74 | 20 20 20 20 20 2a 2f 0a |nterrupt| */.|
|00007d80| 23 64 65 66 69 6e 65 20 | 56 38 36 56 49 5f 4e 45 |#define |V86VI_NE|
|00007d90| 54 20 20 20 20 20 20 20 | 30 78 30 30 30 30 30 32 |T |0x000002|
|00007da0| 30 30 20 20 20 20 20 20 | 2f 2a 20 4e 65 74 77 6f |00 |/* Netwo|
|00007db0| 72 6b 20 69 6e 74 65 72 | 72 75 70 74 73 01 05 20 |rk inter|rupts.. |
|00007dc0| 20 00 39 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 56 | .9 */.#|define V|
|00007dd0| 38 36 56 49 5f 52 53 56 | 44 5f 31 20 20 20 20 30 |86VI_RSV|D_1 0|
|00007de0| 78 30 30 30 30 30 34 30 | 30 20 20 20 20 20 20 2f |x0000040|0 /|
|00007df0| 2a 20 52 65 73 65 72 76 | 65 64 20 31 01 09 20 20 |* Reserv|ed 1.. |
|00007e00| 00 39 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 56 38 |.9 */.#d|efine V8|
|00007e10| 36 56 49 5f 52 53 56 44 | 5f 32 20 20 20 20 30 78 |6VI_RSVD|_2 0x|
|00007e20| 30 30 30 30 30 38 30 30 | 20 20 20 20 20 20 2f 2a |00000800| /*|
|00007e30| 20 52 65 73 65 72 76 65 | 64 20 32 01 09 20 20 00 | Reserve|d 2.. .|
|00007e40| 21 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 56 38 36 |! */.#de|fine V86|
|00007e50| 56 49 5f 52 53 56 44 5f | 33 20 20 20 20 30 78 30 |VI_RSVD_|3 0x0|
|00007e60| 30 30 02 00 09 02 00 63 | e7 01 02 00 18 30 31 30 |00.....c|.....010|
|00007e70| 30 30 20 20 20 20 20 20 | 2f 2a 20 52 65 73 65 72 |00 |/* Reser|
|00007e80| 76 65 64 20 33 01 09 20 | 20 00 44 20 2a 2f 0a 23 |ved 3.. | .D */.#|
|00007e90| 64 65 66 69 6e 65 20 56 | 38 36 56 49 5f 43 4f 50 |define V|86VI_COP|
|00007ea0| 52 4f 43 20 20 20 20 30 | 78 30 30 30 30 32 30 30 |ROC 0|x0000200|
|00007eb0| 30 20 20 20 20 20 20 2f | 2a 20 43 6f 70 72 6f 63 |0 /|* Coproc|
|00007ec0| 65 73 73 6f 72 20 69 6e | 74 65 72 72 75 70 74 01 |essor in|terrupt.|
|00007ed0| 04 20 20 00 43 2a 2f 0a | 23 64 65 66 69 6e 65 20 |. .C*/.|#define |
|00007ee0| 56 38 36 56 49 5f 46 44 | 49 53 4b 20 20 20 20 20 |V86VI_FD|ISK |
|00007ef0| 30 78 30 30 30 30 34 30 | 30 30 20 20 20 20 20 20 |0x000040|00 |
|00007f00| 2f 2a 20 46 69 78 65 64 | 20 64 69 73 6b 20 63 6f |/* Fixed| disk co|
|00007f10| 6e 74 72 6f 6c 6c 65 72 | 01 04 20 20 00 38 2a 2f |ntroller|.. .8*/|
|00007f20| 0a 23 64 65 66 69 6e 65 | 20 56 38 36 56 49 5f 52 |.#define| V86VI_R|
|00007f30| 53 56 44 5f 34 20 20 20 | 20 30 78 30 30 30 30 38 |SVD_4 | 0x00008|
|00007f40| 30 30 30 20 20 20 20 20 | 20 2f 2a 20 52 65 73 65 |000 | /* Rese|
|00007f50| 72 76 65 64 20 34 01 09 | 20 20 00 f5 20 2a 2f 0a |rved 4..| .. */.|
|00007f60| 0a 23 64 65 66 69 6e 65 | 20 56 38 36 56 49 5f 44 |.#define| V86VI_D|
|00007f70| 49 56 30 20 20 20 20 20 | 20 30 78 30 30 30 31 30 |IV0 | 0x00010|
|00007f80| 30 30 30 20 20 20 20 20 | 20 2f 2a 20 44 69 76 69 |000 | /* Divi|
|00007f90| 64 65 20 62 79 20 30 20 | 28 76 65 63 74 6f 72 20 |de by 0 |(vector |
|00007fa0| 30 29 20 20 20 20 20 20 | 20 2a 2f 0a 23 64 65 66 |0) | */.#def|
|00007fb0| 69 6e 65 20 56 38 36 56 | 49 5f 53 47 4c 53 54 50 |ine V86V|I_SGLSTP|
|00007fc0| 20 20 20 20 30 78 30 30 | 30 32 30 30 30 30 20 20 | 0x00|020000 |
|00007fd0| 20 20 20 20 2f 2a 20 53 | 69 6e 67 6c 65 20 73 74 | /* S|ingle st|
|00007fe0| 65 70 20 69 6e 74 72 20 | 28 76 65 63 74 6f 72 20 |ep intr |(vector |
|00007ff0| 31 29 20 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 56 |1) */.#|define V|
|00008000| 38 36 56 49 5f 42 52 4b | 50 54 20 20 20 20 20 30 |86VI_BRK|PT 0|
|00008010| 78 30 30 30 34 30 30 30 | 30 20 20 20 20 20 20 2f |x0004000|0 /|
|00008020| 2a 20 42 72 65 61 6b 20 | 70 6f 69 6e 74 20 69 6e |* Break |point in|
|00008030| 74 72 20 28 76 65 63 74 | 6f 72 20 33 29 20 20 2a |tr (vect|or 3) *|
|00008040| 2f 0a 23 64 65 66 69 6e | 65 20 56 38 36 56 49 5f |/.#defin|e V86VI_|
|00008050| 4f 02 00 0a 02 00 1b 01 | 02 00 56 45 52 46 4c 4f |O.......|..VERFLO|
|00008060| 57 20 20 30 78 30 30 30 | 38 30 30 30 30 20 20 20 |W 0x000|80000 |
|00008070| 20 20 20 2f 2a 20 4f 76 | 65 72 66 6c 6f 77 20 66 | /* Ov|erflow f|
|00008080| 61 75 6c 74 20 28 76 65 | 63 74 6f 72 20 34 29 20 |ault (ve|ctor 4) |
|00008090| 20 20 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 56 38 | */.#d|efine V8|
|000080a0| 36 56 49 5f 42 4f 55 4e | 44 20 20 20 20 20 30 78 |6VI_BOUN|D 0x|
|000080b0| 30 30 31 30 30 30 30 30 | 20 20 20 20 20 20 2f 2a |00100000| /*|
|000080c0| 20 42 6f 75 6e 64 20 65 | 78 63 65 70 74 69 6f 6e | Bound e|xception|
|000080d0| 20 28 76 65 63 74 6f 72 | 20 35 29 20 20 20 2a 2f | (vector| 5) */|
|000080e0| 0a 23 64 65 66 69 6e 65 | 20 56 38 36 56 49 5f 49 |.#define| V86VI_I|
|000080f0| 4e 56 4f 50 20 20 20 20 | 20 30 78 30 30 32 30 30 |NVOP | 0x00200|
|00008100| 30 30 30 20 20 20 20 20 | 20 2f 2a 20 49 6e 76 61 |000 | /* Inva|
|00008110| 6c 69 64 20 6f 70 63 6f | 64 65 20 28 76 65 63 74 |lid opco|de (vect|
|00008120| 6f 72 20 36 29 20 20 20 | 20 2a 2f 0a 23 64 65 66 |or 6) | */.#def|
|00008130| 69 6e 65 20 56 38 36 56 | 49 5f 53 49 47 48 44 4c |ine V86V|I_SIGHDL|
|00008140| 20 20 20 20 30 78 30 30 | 34 30 30 30 30 30 20 20 | 0x00|400000 |
|00008150| 20 20 20 20 2f 2a 20 56 | 69 72 74 75 61 6c 20 73 | /* V|irtual s|
|00008160| 69 67 6e 61 6c 20 68 64 | 6c 72 20 69 6e 74 65 72 |ignal hd|lr inter|
|00008170| 72 75 70 74 2a 2f 0a 23 | 64 65 66 69 6e 65 20 56 |rupt*/.#|define V|
|00008180| 38 36 56 49 5f 4d 45 4d | 4f 52 59 20 20 20 20 30 |86VI_MEM|ORY 0|
|00008190| 78 30 30 38 30 30 30 30 | 30 20 20 20 20 20 20 2f |x0080000|0 /|
|000081a0| 2a 20 54 72 61 63 6b 69 | 6e 67 20 6d 65 6d 6f 72 |* Tracki|ng memor|
|000081b0| 79 20 68 61 73 20 63 68 | 61 6e 67 65 64 20 20 2a |y has ch|anged *|
|000081c0| 2f 0a 23 64 65 66 69 6e | 65 20 56 38 36 56 49 5f |/.#defin|e V86VI_|
|000081d0| 4c 42 4f 4c 54 09 30 78 | 30 31 30 30 30 30 30 30 |LBOLT.0x|01000000|
|000081e0| 09 2f 2a 20 66 61 6b 65 | 20 76 69 72 74 75 61 6c |./* fake| virtual|
|000081f0| 20 69 6e 74 65 72 72 75 | 70 74 09 2a 2f 0a 0a 2f | interru|pt.*/../|
|00008200| 2a 20 0a 20 2a 20 56 69 | 72 74 75 61 6c 20 69 6e |* . * Vi|rtual in|
|00008210| 74 65 72 72 75 70 74 20 | 73 75 62 63 6f 64 65 73 |terrupt |subcodes|
|00008220| 20 66 6f 72 20 56 38 36 | 56 49 5f 53 45 52 49 41 | for V86|VI_SERIA|
|00008230| 4c 5b 30 31 5d 20 69 6e | 74 65 72 72 75 70 74 73 |L[01] in|terrupts|
|00008240| 2e 20 20 0a 20 2a 20 54 | 68 65 73 65 20 76 61 6c |. . * T|hese val|
|00008250| 75 65 73 20 61 70 70 65 | 61 72 02 00 0b 02 00 88 |ues appe|ar......|
|00008260| 01 02 00 20 69 6e 20 20 | 74 68 65 20 66 69 65 6c |... in |the fiel|
|00008270| 64 73 20 22 78 74 5f 73 | 5b 30 31 5d 66 6c 61 67 |ds "xt_s|[01]flag|
|00008280| 22 2e 0a 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 56 |".. */.#|define V|
|00008290| 38 36 53 49 5f 44 41 54 | 41 20 20 20 20 20 20 30 |86SI_DAT|A 0|
|000082a0| 78 30 30 30 30 30 30 30 | 31 20 20 20 20 20 20 2f |x0000000|1 /|
|000082b0| 2a 20 4e 65 77 20 64 61 | 74 61 20 61 76 61 69 6c |* New da|ta avail|
|000082c0| 61 62 6c 65 20 66 72 6f | 6d 20 6b 62 64 20 20 2a |able fro|m kbd *|
|000082d0| 2f 0a 23 64 65 66 69 6e | 65 20 56 38 36 53 49 5f |/.#defin|e V86SI_|
|000082e0| 4d 4f 44 45 4d 20 20 20 | 20 20 30 78 30 30 30 30 |MODEM | 0x0000|
|000082f0| 30 30 30 32 20 20 20 20 | 20 20 2f 2a 20 4d 6f 64 |0002 | /* Mod|
|00008300| 65 6d 20 73 74 61 74 75 | 73 20 6c 69 6e 65 5b 73 |em statu|s line[s|
|00008310| 5d 20 63 68 61 6e 67 65 | 64 20 2a 2f 0a 0a 2f 2a |] change|d */../*|
|00008320| 20 0a 20 2a 20 20 41 72 | 65 20 77 65 20 61 20 76 | . * Ar|e we a v|
|00008330| 38 36 20 70 72 6f 63 3f | 20 2d 20 6c 6f 6f 6b 20 |86 proc?| - look |
|00008340| 61 74 20 70 72 6f 63 20 | 73 74 72 75 63 74 75 72 |at proc |structur|
|00008350| 65 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 56 38 |e. */.#d|efine.V8|
|00008360| 36 50 52 4f 43 28 70 29 | 09 28 28 70 29 2d 3e 70 |6PROC(p)|.((p)->p|
|00008370| 5f 76 38 36 29 0a 74 65 | 72 72 75 70 74 2a 2f 0a |_v86).te|rrupt*/.|
|00008380| 23 64 65 66 69 6e 65 20 | 56 38 36 56 49 5f 4d 45 |#define |V86VI_ME|
|00008390| 4d 4f 52 59 20 20 20 20 | 30 78 30 30 38 30 30 30 |MORY |0x008000|
|000083a0| 30 30 20 20 20 20 20 20 | 2f 2a 20 54 72 61 63 6b |00 |/* Track|
|000083b0| 69 6e 67 20 6d 65 6d 6f | 72 79 20 68 61 73 20 63 |ing memo|ry has c|
|000083c0| 68 61 6e 67 65 64 20 20 | 2a 2f 0a 23 64 65 66 69 |hanged |*/.#defi|
|000083d0| 6e 65 20 56 38 36 56 49 | 5f 4c 42 4f 4c 54 09 30 |ne V86VI|_LBOLT.0|
|000083e0| 78 30 31 30 30 30 30 30 | 30 09 2f 2a 20 66 61 6b |x0100000|0./* fak|
|000083f0| 65 20 76 69 72 74 75 61 | 6c 20 69 6e 74 65 72 72 |e virtua|l interr|
|00008400| 75 70 74 09 2a 2f 0a 0a | 2f 2a 20 0a 20 2a 20 56 |upt.*/..|/* . * V|
|00008410| 69 72 74 75 61 6c 20 69 | 6e 74 65 72 72 75 70 74 |irtual i|nterrupt|
|00008420| 20 73 75 62 63 6f 64 65 | 73 20 66 6f 72 20 56 38 | subcode|s for V8|
|00008430| 36 56 49 5f 53 45 52 49 | 41 4c 5b 30 31 5d 20 69 |6VI_SERI|AL[01] i|
|00008440| 6e 74 65 72 72 75 70 74 | 73 2e 20 20 0a 20 2a 20 |nterrupt|s. . * |
|00008450| 54 68 65 73 65 20 76 61 | 6c 75 65 73 20 61 70 70 |These va|lues app|
|00008460| 65 61 72 02 00 0c 02 00 | 0a 61 00 02 00 1b 2e 2f |ear.....|.a...../|
|00008470| 75 73 72 2f 69 6e 63 6c | 75 64 65 2f 73 79 73 2f |usr/incl|ude/sys/|
|00008480| 75 74 73 6e 61 6d 65 2e | 68 01 24 00 00 00 39 00 |utsname.|h.$...9.|
|00008490| 20 20 20 34 34 34 20 00 | 20 20 20 20 20 30 20 00 | 444 .| 0 .|
|000084a0| 20 20 20 20 20 30 20 00 | 20 20 20 20 20 20 20 32 | 0 .| 2|
|000084b0| 35 34 33 20 20 34 32 36 | 37 34 35 34 32 37 35 20 |543 426|7454275 |
|000084c0| 20 31 31 30 36 32 00 20 | 01 b2 00 00 02 00 0d 02 | 11062. |........|
|000084d0| 00 3e 01 02 00 2f 2a 0a | 20 2a 09 40 28 23 29 20 |.>.../*.| *.@(#) |
|000084e0| 75 74 73 6e 61 6d 65 2e | 68 20 32 2e 32 20 38 38 |utsname.|h 2.2 88|
|000084f0| 2f 30 37 2f 31 35 20 0a | 20 2a 0a 20 2a 09 43 6f |/07/15 .| *. *.Co|
|00008500| 70 79 72 69 67 68 74 20 | 28 43 29 20 54 68 65 20 |pyright |(C) The |
|00008510| 53 61 6e 74 61 20 43 72 | 75 7a 20 4f 70 65 72 61 |Santa Cr|uz Opera|
|00008520| 74 69 6f 6e 2c 20 31 39 | 38 34 2c 20 31 39 38 35 |tion, 19|84, 1985|
|00008530| 2c 20 31 39 38 36 2c 20 | 31 39 38 37 2e 0a 20 2a |, 1986, |1987.. *|
|00008540| 09 43 6f 70 79 72 69 67 | 68 74 20 28 43 29 20 4d |.Copyrig|ht (C) M|
|00008550| 69 63 72 6f 73 6f 66 74 | 20 43 6f 72 70 6f 72 61 |icrosoft| Corpora|
|00008560| 74 69 6f 6e 2c 20 31 39 | 38 34 2c 20 31 39 38 35 |tion, 19|84, 1985|
|00008570| 2c 20 31 39 38 36 2c 20 | 31 39 38 37 2e 0a 20 2a |, 1986, |1987.. *|
|00008580| 09 54 68 69 73 20 4d 6f | 64 75 6c 65 20 63 6f 6e |.This Mo|dule con|
|00008590| 74 61 69 6e 73 20 50 72 | 6f 70 72 69 65 74 61 72 |tains Pr|oprietar|
|000085a0| 79 20 49 6e 66 6f 72 6d | 61 74 69 6f 6e 20 6f 66 |y Inform|ation of|
|000085b0| 0a 20 2a 09 54 68 65 20 | 53 61 6e 74 61 20 43 72 |. *.The |Santa Cr|
|000085c0| 75 7a 20 4f 70 65 72 61 | 74 69 6f 6e 2c 20 4d 69 |uz Opera|tion, Mi|
|000085d0| 63 72 6f 73 6f 66 74 20 | 43 6f 72 70 6f 72 61 74 |crosoft |Corporat|
|000085e0| 69 6f 6e 0a 20 2a 09 61 | 6e 64 20 41 54 26 54 2c |ion. *.a|nd AT&T,|
|000085f0| 20 61 6e 64 20 73 68 6f | 75 6c 64 20 62 65 20 74 | and sho|uld be t|
|00008600| 72 65 61 74 65 64 20 61 | 73 20 43 6f 6e 66 69 64 |reated a|s Confid|
|00008610| 65 6e 74 69 61 6c 2e 0a | 20 2a 2f 0a 0a 2f 2a 0a |ential..| */../*.|
|00008620| 20 2a 20 54 48 49 53 20 | 46 49 4c 45 20 43 4f 4e | * THIS |FILE CON|
|00008630| 54 41 49 4e 53 20 43 4f | 44 45 20 57 48 49 43 48 |TAINS CO|DE WHICH|
|00008640| 20 49 53 20 44 45 53 49 | 47 4e 45 44 20 54 4f 20 | IS DESI|GNED TO |
|00008650| 42 45 0a 20 2a 20 50 4f | 52 54 41 42 4c 45 20 42 |BE. * PO|RTABLE B|
|00008660| 45 54 57 45 45 4e 20 44 | 49 46 46 45 52 45 4e 54 |ETWEEN D|IFFERENT|
|00008670| 20 4d 41 43 48 49 4e 45 | 20 41 52 43 48 49 54 45 | MACHINE| ARCHITE|
|00008680| 43 54 55 52 45 53 0a 20 | 2a 20 41 4e 44 20 43 4f |CTURES. |* AND CO|
|00008690| 4e 46 49 47 55 52 41 54 | 49 4f 4e 53 2e 20 49 54 |NFIGURAT|IONS. IT|
|000086a0| 20 53 48 4f 55 4c 44 20 | 4e 4f 54 20 52 45 51 55 | SHOULD |NOT REQU|
|000086b0| 49 52 45 20 41 4e 59 0a | 20 2a 20 4d 4f 44 49 46 |IRE ANY.| * MODIF|
|000086c0| 49 43 41 54 49 4f 4e 53 | 20 57 48 45 4e 20 41 44 |ICATIONS| WHEN AD|
|000086d0| 41 50 54 49 4e 02 00 0e | 02 00 e3 01 02 00 47 20 |APTIN...|......G |
|000086e0| 58 45 4e 49 58 20 54 4f | 20 4e 45 57 20 48 41 52 |XENIX TO| NEW HAR|
|000086f0| 44 57 41 52 45 2e 0a 20 | 2a 2f 0a 0a 23 64 65 66 |DWARE.. |*/..#def|
|00008700| 69 6e 65 09 53 59 53 5f | 4e 4d 4c 4e 09 39 0a 0a |ine.SYS_|NMLN.9..|
|00008710| 73 74 72 75 63 74 20 75 | 74 73 6e 61 6d 65 20 7b |struct u|tsname {|
|00008720| 0a 09 63 68 61 72 09 73 | 79 73 6e 61 6d 65 5b 53 |..char.s|ysname[S|
|00008730| 59 53 5f 4e 4d 4c 4e 5d | 3b 0a 09 63 68 61 72 09 |YS_NMLN]|;..char.|
|00008740| 6e 6f 64 65 6e 61 6d 65 | 5b 53 59 53 5f 4e 4d 4c |nodename|[SYS_NML|
|00008750| 4e 5d 3b 0a 09 63 68 61 | 72 09 72 65 6c 65 61 73 |N];..cha|r.releas|
|00008760| 65 5b 53 59 53 5f 4e 4d | 4c 4e 5d 3b 0a 09 63 68 |e[SYS_NM|LN];..ch|
|00008770| 61 72 09 76 65 72 73 69 | 6f 6e 5b 53 59 53 5f 4e |ar.versi|on[SYS_N|
|00008780| 4d 4c 4e 5d 3b 0a 09 63 | 68 61 72 09 6d 61 63 68 |MLN];..c|har.mach|
|00008790| 69 6e 65 5b 53 59 53 5f | 4e 4d 4c 4e 5d 3b 0a 09 |ine[SYS_|NMLN];..|
|000087a0| 63 68 61 72 09 72 65 73 | 65 72 76 65 64 5b 31 35 |char.res|erved[15|
|000087b0| 5d 3b 0a 09 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |];..unsi|gned sho|
|000087c0| 72 74 09 73 79 73 6f 72 | 69 67 69 6e 3b 09 2f 2a |rt.sysor|igin;./*|
|000087d0| 20 6f 72 69 67 69 6e 61 | 6c 20 73 75 70 70 6c 69 | origina|l suppli|
|000087e0| 65 72 20 6f 66 20 58 65 | 6e 69 78 20 73 79 73 74 |er of Xe|nix syst|
|000087f0| 65 6d 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |em */..u|nsigned |
|00008800| 73 68 6f 72 74 09 73 79 | 73 6f 65 6d 3b 09 09 2f |short.sy|soem;../|
|00008810| 2a 20 4f 45 4d 20 66 6f | 72 20 74 68 69 73 20 73 |* OEM fo|r this s|
|00008820| 79 73 74 65 6d 20 2a 2f | 0a 09 6c 6f 6e 67 09 09 |ystem */|..long..|
|00008830| 73 79 73 73 65 72 69 61 | 6c 3b 09 2f 2a 20 73 65 |sysseria|l;./* se|
|00008840| 72 69 61 6c 20 6e 75 6d | 62 65 72 20 66 6f 72 20 |rial num|ber for |
|00008850| 74 68 69 73 20 73 79 73 | 74 65 6d 20 2a 2f 0a 7d |this sys|tem */.}|
|00008860| 3b 0a 65 78 74 65 72 6e | 20 73 74 72 75 63 74 20 |;.extern| struct |
|00008870| 75 74 73 6e 61 6d 65 20 | 75 74 73 6e 61 6d 65 3b |utsname |utsname;|
|00008880| 0a 0a 73 74 72 75 63 74 | 20 75 74 73 33 6e 61 6d |..struct| uts3nam|
|00008890| 65 20 7b 0a 09 63 68 61 | 72 09 09 73 79 73 6e 61 |e {..cha|r..sysna|
|000088a0| 6d 65 5b 53 59 53 5f 4e | 4d 4c 4e 5d 3b 0a 09 63 |me[SYS_N|MLN];..c|
|000088b0| 68 61 72 09 09 6e 6f 64 | 65 6e 61 6d 65 5b 53 59 |har..nod|ename[SY|
|000088c0| 53 5f 4e 4d 4c 4e 5d 3b | 0a 09 63 68 61 72 09 09 |S_NMLN];|..char..|
|000088d0| 72 65 6c 65 61 73 65 5b | 53 59 53 5f 4e 4d 02 00 |release[|SYS_NM..|
|000088e0| 0f 02 00 a1 01 02 00 4c | 4e 5d 3b 0a 09 63 68 61 |.......L|N];..cha|
|000088f0| 72 09 09 76 65 72 73 69 | 6f 6e 5b 53 59 53 5f 4e |r..versi|on[SYS_N|
|00008900| 4d 4c 4e 5d 3b 0a 09 75 | 6e 73 69 67 6e 65 64 20 |MLN];..u|nsigned |
|00008910| 73 68 6f 72 74 09 73 79 | 73 6f 72 69 67 69 6e 3b |short.sy|sorigin;|
|00008920| 09 2f 2a 20 6f 72 69 67 | 69 6e 61 6c 20 73 75 70 |./* orig|inal sup|
|00008930| 70 6c 69 65 72 20 6f 66 | 20 58 65 6e 69 78 20 73 |plier of| Xenix s|
|00008940| 79 73 74 65 6d 20 2a 2f | 0a 09 75 6e 73 69 67 6e |ystem */|..unsign|
|00008950| 65 64 20 73 68 6f 72 74 | 09 73 79 73 6f 65 6d 3b |ed short|.sysoem;|
|00008960| 09 09 2f 2a 20 4f 45 4d | 20 66 6f 72 20 74 68 69 |../* OEM| for thi|
|00008970| 73 20 73 79 73 74 65 6d | 20 2a 2f 0a 09 6c 6f 6e |s system| */..lon|
|00008980| 67 09 09 73 79 73 73 65 | 72 69 61 6c 3b 09 2f 2a |g..sysse|rial;./*|
|00008990| 20 73 65 72 69 61 6c 20 | 6e 75 6d 62 65 72 20 66 | serial |number f|
|000089a0| 6f 72 20 74 68 69 73 20 | 73 79 73 74 65 6d 20 2a |or this |system *|
|000089b0| 2f 0a 7d 3b 0a 0a 73 74 | 72 75 63 74 20 75 74 73 |/.};..st|ruct uts|
|000089c0| 56 33 6e 61 6d 65 20 7b | 0a 09 63 68 61 72 09 73 |V3name {|..char.s|
|000089d0| 79 73 6e 61 6d 65 5b 53 | 59 53 5f 4e 4d 4c 4e 5d |ysname[S|YS_NMLN]|
|000089e0| 3b 0a 09 63 68 61 72 09 | 6e 6f 64 65 6e 61 6d 65 |;..char.|nodename|
|000089f0| 5b 53 59 53 5f 4e 4d 4c | 4e 5d 3b 0a 09 63 68 61 |[SYS_NML|N];..cha|
|00008a00| 72 09 72 65 6c 65 61 73 | 65 5b 53 59 53 5f 4e 4d |r.releas|e[SYS_NM|
|00008a10| 4c 4e 5d 3b 0a 09 63 68 | 61 72 09 76 65 72 73 69 |LN];..ch|ar.versi|
|00008a20| 6f 6e 5b 53 59 53 5f 4e | 4d 4c 4e 5d 3b 0a 09 63 |on[SYS_N|MLN];..c|
|00008a30| 68 61 72 09 6d 61 63 68 | 69 6e 65 5b 53 59 53 5f |har.mach|ine[SYS_|
|00008a40| 4e 4d 4c 4e 5d 3b 0a 7d | 3b 0a 69 61 6c 20 6e 75 |NMLN];.}|;.ial nu|
|00008a50| 6d 62 65 72 20 66 6f 72 | 20 74 68 69 73 20 73 79 |mber for| this sy|
|00008a60| 73 74 65 6d 20 2a 2f 0a | 7d 3b 0a 65 78 74 65 72 |stem */.|};.exter|
|00008a70| 6e 20 73 74 72 75 63 74 | 20 75 74 73 6e 61 6d 65 |n struct| utsname|
|00008a80| 20 75 74 73 6e 61 6d 65 | 3b 0a 0a 73 74 72 75 63 | utsname|;..struc|
|00008a90| 74 20 75 74 73 33 6e 61 | 6d 65 20 7b 0a 09 63 68 |t uts3na|me {..ch|
|00008aa0| 61 72 09 09 73 79 73 6e | 61 6d 65 5b 53 59 53 5f |ar..sysn|ame[SYS_|
|00008ab0| 4e 4d 4c 4e 5d 3b 0a 09 | 63 68 61 72 09 09 6e 6f |NMLN];..|char..no|
|00008ac0| 64 65 6e 61 6d 65 5b 53 | 59 53 5f 4e 4d 4c 4e 5d |dename[S|YS_NMLN]|
|00008ad0| 3b 0a 09 63 68 61 72 09 | 09 72 65 6c 65 61 73 65 |;..char.|.release|
|00008ae0| 5b 53 59 53 5f 4e 4d 0f | 02 01 c9 02 01 01 02 00 |[SYS_NM.|........|
|00008af0| 80 5d 00 02 00 18 2e 2f | 75 73 72 2f 69 6e 63 6c |.]...../|usr/incl|
|00008b00| 75 64 65 2f 73 79 73 2f | 75 73 65 72 2e 68 01 26 |ude/sys/|user.h.&|
|00008b10| 00 00 00 38 20 20 20 34 | 34 34 20 00 20 20 20 20 |...8 4|44 . |
|00008b20| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|00008b30| 20 20 32 34 34 36 35 20 | 20 34 32 36 36 36 31 35 | 24465 | 4266615|
|00008b40| 37 30 37 20 20 31 30 34 | 31 31 00 20 01 b2 00 00 |707 104|11. ....|
|00008b50| 02 01 02 02 00 b6 01 02 | 00 0a 2f 2a 0a 20 2a 09 |........|../*. *.|
|00008b60| 40 28 23 29 20 75 73 65 | 72 2e 68 20 32 2e 36 20 |@(#) use|r.h 2.6 |
|00008b70| 38 38 2f 30 37 2f 31 33 | 20 0a 20 2a 0a 20 2a 09 |88/07/13| . *. *.|
|00008b80| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 54 68 |Copyrigh|t (C) Th|
|00008b90| 65 20 53 61 6e 74 61 20 | 43 72 75 7a 20 4f 70 65 |e Santa |Cruz Ope|
|00008ba0| 72 61 74 69 6f 6e 2c 20 | 31 39 38 34 2c 20 31 39 |ration, |1984, 19|
|00008bb0| 38 35 2c 20 31 39 38 36 | 2c 20 31 39 38 37 2c 20 |85, 1986|, 1987, |
|00008bc0| 31 39 38 38 2e 0a 20 2a | 09 43 6f 70 79 72 69 67 |1988.. *|.Copyrig|
|00008bd0| 68 74 20 28 43 29 20 4d | 69 63 72 6f 73 6f 66 74 |ht (C) M|icrosoft|
|00008be0| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 2c 20 31 39 | Corpora|tion, 19|
|00008bf0| 38 34 2c 20 31 39 38 35 | 2c 20 31 39 38 36 2c 20 |84, 1985|, 1986, |
|00008c00| 31 39 38 37 2c 20 31 39 | 38 38 2e 0a 20 2a 09 54 |1987, 19|88.. *.T|
|00008c10| 68 69 73 20 4d 6f 64 75 | 6c 65 20 63 6f 6e 74 61 |his Modu|le conta|
|00008c20| 69 6e 73 20 50 72 6f 70 | 72 69 65 74 61 72 79 20 |ins Prop|rietary |
|00008c30| 49 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 6f 66 0a 20 |Informat|ion of. |
|00008c40| 2a 09 54 68 65 20 53 61 | 6e 74 61 20 43 72 75 7a |*.The Sa|nta Cruz|
|00008c50| 20 4f 70 65 72 61 74 69 | 6f 6e 2c 20 4d 69 63 72 | Operati|on, Micr|
|00008c60| 6f 73 6f 66 74 20 43 6f | 72 70 6f 72 61 74 69 6f |osoft Co|rporatio|
|00008c70| 6e 0a 20 2a 09 61 6e 64 | 20 41 54 26 54 2c 20 61 |n. *.and| AT&T, a|
|00008c80| 6e 64 20 73 68 6f 75 6c | 64 20 62 65 20 74 72 65 |nd shoul|d be tre|
|00008c90| 61 74 65 64 20 61 73 20 | 43 6f 6e 66 69 64 65 6e |ated as |Confiden|
|00008ca0| 74 69 61 6c 2e 0a 20 2a | 2f 0a 0a 23 69 66 6e 64 |tial.. *|/..#ifnd|
|00008cb0| 65 66 20 58 5f 4d 41 47 | 49 43 0a 23 69 6e 63 6c |ef X_MAG|IC.#incl|
|00008cc0| 75 64 65 20 22 61 2e 6f | 75 74 2e 68 22 0a 23 65 |ude "a.o|ut.h".#e|
|00008cd0| 6e 64 69 66 0a 0a 2f 2a | 0a 20 2a 20 54 68 65 20 |ndif../*|. * The |
|00008ce0| 75 73 65 72 20 73 74 72 | 75 63 74 75 72 65 2e 0a |user str|ucture..|
|00008cf0| 20 2a 20 4f 6e 65 20 61 | 6c 6c 6f 63 61 74 65 64 | * One a|llocated|
|00008d00| 20 70 65 72 20 70 72 6f | 63 65 73 73 2e 0a 20 2a | per pro|cess.. *|
|00008d10| 20 43 6f 6e 74 61 69 6e | 73 20 61 6c 6c 20 70 65 | Contain|s all pe|
|00008d20| 72 20 70 72 6f 63 65 73 | 73 20 64 61 74 61 20 74 |r proces|s data t|
|00008d30| 68 61 74 20 64 6f 65 73 | 6e 27 74 20 6e 65 65 64 |hat does|n't need|
|00008d40| 20 74 6f 20 62 65 20 72 | 65 66 65 72 65 6e 63 65 | to be r|eference|
|00008d50| 64 0a 20 2a 20 77 68 69 | 6c 02 01 03 02 00 d5 01 |d. * whi|l.......|
|00008d60| 02 00 65 20 74 68 65 20 | 70 72 6f 63 65 73 73 20 |..e the |process |
|00008d70| 69 73 20 73 77 61 70 70 | 65 64 2e 0a 20 2a 20 54 |is swapp|ed.. * T|
|00008d80| 68 65 20 75 73 65 72 20 | 62 6c 6f 63 6b 20 69 73 |he user |block is|
|00008d90| 20 55 53 49 5a 45 2a 63 | 6c 69 63 6b 20 62 79 74 | USIZE*c|lick byt|
|00008da0| 65 73 20 6c 6f 6e 67 3b | 20 72 65 73 69 64 65 73 |es long;| resides|
|00008db0| 20 61 74 20 76 69 72 74 | 75 61 6c 20 6b 65 72 6e | at virt|ual kern|
|00008dc0| 65 6c 0a 20 2a 20 53 50 | 54 41 44 44 52 2c 20 63 |el. * SP|TADDR, c|
|00008dd0| 6f 6e 74 61 69 6e 73 20 | 74 68 65 20 73 79 73 74 |ontains |the syst|
|00008de0| 65 6d 20 73 74 61 63 6b | 20 70 65 72 20 75 73 65 |em stack| per use|
|00008df0| 72 3b 20 69 73 20 63 72 | 6f 73 73 20 72 65 66 65 |r; is cr|oss refe|
|00008e00| 72 65 6e 63 65 64 0a 20 | 2a 20 77 69 74 68 20 74 |renced. |* with t|
|00008e10| 68 65 20 70 72 6f 63 20 | 73 74 72 75 63 74 75 72 |he proc |structur|
|00008e20| 65 20 66 6f 72 20 74 68 | 65 20 73 61 6d 65 20 70 |e for th|e same p|
|00008e30| 72 6f 63 65 73 73 2e 0a | 20 2a 2f 0a 20 0a 23 64 |rocess..| */. .#d|
|00008e40| 65 66 69 6e 65 20 50 53 | 41 52 47 53 5a 09 34 30 |efine PS|ARGSZ.40|
|00008e50| 09 2f 2a 20 53 70 61 63 | 65 20 69 6e 20 75 2d 62 |./* Spac|e in u-b|
|00008e60| 6c 6f 63 6b 20 66 6f 72 | 20 65 78 65 63 20 61 72 |lock for| exec ar|
|00008e70| 67 75 6d 65 6e 74 73 20 | 2a 2f 0a 09 09 09 2f 2a |guments |*/..../*|
|00008e80| 20 55 73 65 64 20 62 79 | 20 70 73 20 63 6f 6d 6d | Used by| ps comm|
|00008e90| 61 6e 64 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 53 |and */.#|define S|
|00008ea0| 48 4c 42 4d 41 58 20 20 | 32 20 20 20 20 20 20 2f |HLBMAX |2 /|
|00008eb0| 2a 20 6d 61 78 69 6d 75 | 6d 20 23 20 6f 66 20 73 |* maximu|m # of s|
|00008ec0| 68 61 72 65 64 20 6c 69 | 62 72 61 72 69 65 73 20 |hared li|braries |
|00008ed0| 70 65 72 20 70 72 6f 63 | 65 73 73 20 2a 2f 0a 23 |per proc|ess */.#|
|00008ee0| 64 65 66 69 6e 65 20 53 | 48 4c 42 50 44 45 53 20 |define S|HLBPDES |
|00008ef0| 32 20 20 20 20 20 20 2f | 2a 20 6d 61 78 69 6d 75 |2 /|* maximu|
|00008f00| 6d 20 23 20 6f 66 20 70 | 61 67 65 20 64 69 72 65 |m # of p|age dire|
|00008f10| 63 74 6f 72 79 20 65 6e | 74 72 69 65 73 20 70 65 |ctory en|tries pe|
|00008f20| 72 20 73 68 6c 69 62 20 | 2a 2f 0a 0a 23 69 66 64 |r shlib |*/..#ifd|
|00008f30| 65 66 20 4d 5f 49 33 38 | 36 0a 74 79 70 65 64 65 |ef M_I38|6.typede|
|00008f40| 66 09 63 68 61 72 09 2a | 66 61 64 64 72 5f 75 3b |f.char.*|faddr_u;|
|00008f50| 0a 23 65 6c 73 65 20 2f | 2a 20 4d 5f 49 38 30 38 |.#else /|* M_I808|
|00008f60| 36 20 02 01 04 02 00 43 | 01 02 00 6f 72 20 4d 5f |6 .....C|...or M_|
|00008f70| 49 32 38 36 20 2a 2f 0a | 74 79 70 65 64 65 66 20 |I286 */.|typedef |
|00008f80| 75 6e 69 6f 6e 20 7b 0a | 09 09 63 68 61 72 20 66 |union {.|..char f|
|00008f90| 61 72 20 2a 66 75 5f 66 | 61 72 3b 0a 09 09 63 68 |ar *fu_f|ar;...ch|
|00008fa0| 61 72 20 20 20 20 20 2a | 66 75 5f 6e 65 61 72 3b |ar *|fu_near;|
|00008fb0| 0a 7d 20 66 61 64 64 72 | 5f 75 3b 0a 23 65 6e 64 |.} faddr|_u;.#end|
|00008fc0| 69 66 20 0a 0a 73 74 72 | 75 63 74 09 75 73 65 72 |if ..str|uct.user|
|00008fd0| 0a 7b 0a 09 63 68 61 72 | 20 75 5f 6b 73 74 61 63 |.{..char| u_kstac|
|00008fe0| 6b 5b 4b 53 53 49 5a 45 | 5d 3b 09 09 2f 2a 20 6b |k[KSSIZE|];../* k|
|00008ff0| 65 72 6e 65 6c 20 73 74 | 61 63 6b 2c 20 70 65 72 |ernel st|ack, per|
|00009000| 20 70 72 6f 63 65 73 73 | 20 2a 2f 0a 09 6c 61 62 | process| */..lab|
|00009010| 65 6c 5f 74 09 75 5f 72 | 73 61 76 3b 09 09 09 2f |el_t.u_r|sav;.../|
|00009020| 2a 20 73 61 76 65 20 69 | 6e 66 6f 20 77 68 65 6e |* save i|nfo when|
|00009030| 20 65 78 63 68 61 6e 67 | 69 6e 67 20 73 74 61 63 | exchang|ing stac|
|00009040| 6b 73 20 2a 2f 0a 09 6c | 61 62 65 6c 5f 74 09 75 |ks */..l|abel_t.u|
|00009050| 5f 71 73 61 76 3b 09 09 | 09 2f 2a 20 6c 61 62 65 |_qsav;..|./* labe|
|00009060| 6c 20 76 61 72 69 61 62 | 6c 65 20 66 6f 72 20 71 |l variab|le for q|
|00009070| 75 69 74 73 20 61 6e 64 | 20 69 6e 74 65 72 72 75 |uits and| interru|
|00009080| 70 74 73 20 2a 2f 0a 09 | 6c 61 62 65 6c 5f 74 09 |pts */..|label_t.|
|00009090| 75 5f 73 73 61 76 3b 09 | 09 09 2f 2a 20 6c 61 62 |u_ssav;.|../* lab|
|000090a0| 65 6c 20 76 61 72 69 61 | 62 6c 65 20 66 6f 72 20 |el varia|ble for |
|000090b0| 73 77 61 70 70 69 6e 67 | 20 2a 2f 0a 09 63 68 61 |swapping| */..cha|
|000090c0| 72 09 75 5f 73 65 67 66 | 6c 67 3b 09 09 2f 2a 20 |r.u_segf|lg;../* |
|000090d0| 49 4f 20 66 6c 61 67 3a | 20 30 3a 75 73 65 72 20 |IO flag:| 0:user |
|000090e0| 44 3b 20 31 3a 73 79 73 | 74 65 6d 3b 20 32 3a 75 |D; 1:sys|tem; 2:u|
|000090f0| 73 65 72 20 49 20 2a 2f | 0a 09 75 63 68 61 72 5f |ser I */|..uchar_|
|00009100| 74 09 75 5f 65 72 72 6f | 72 3b 09 09 2f 2a 20 72 |t.u_erro|r;../* r|
|00009110| 65 74 75 72 6e 20 65 72 | 72 6f 72 20 63 6f 64 65 |eturn er|ror code|
|00009120| 20 2a 2f 0a 09 75 73 68 | 6f 72 74 09 75 5f 75 69 | */..ush|ort.u_ui|
|00009130| 64 3b 09 09 09 2f 2a 20 | 65 66 66 65 63 74 69 76 |d;.../* |effectiv|
|00009140| 65 20 75 73 65 72 20 69 | 64 20 2a 2f 0a 09 75 73 |e user i|d */..us|
|00009150| 68 6f 72 74 09 75 5f 67 | 69 64 3b 09 09 09 2f 2a |hort.u_g|id;.../*|
|00009160| 20 65 66 66 65 63 74 69 | 76 65 20 02 01 05 02 00 | effecti|ve .....|
|00009170| f8 01 02 00 67 72 6f 75 | 70 20 69 64 20 2a 2f 0a |....grou|p id */.|
|00009180| 09 75 73 68 6f 72 74 09 | 75 5f 72 75 69 64 3b 09 |.ushort.|u_ruid;.|
|00009190| 09 09 2f 2a 20 72 65 61 | 6c 20 75 73 65 72 20 69 |../* rea|l user i|
|000091a0| 64 20 2a 2f 0a 09 75 73 | 68 6f 72 74 09 75 5f 72 |d */..us|hort.u_r|
|000091b0| 67 69 64 3b 09 09 09 2f | 2a 20 72 65 61 6c 20 67 |gid;.../|* real g|
|000091c0| 72 6f 75 70 20 69 64 20 | 2a 2f 0a 09 73 74 72 75 |roup id |*/..stru|
|000091d0| 63 74 20 70 72 6f 63 20 | 2a 75 5f 70 72 6f 63 70 |ct proc |*u_procp|
|000091e0| 3b 09 09 2f 2a 20 70 6f | 69 6e 74 65 72 20 74 6f |;../* po|inter to|
|000091f0| 20 70 72 6f 63 20 73 74 | 72 75 63 74 75 72 65 20 | proc st|ructure |
|00009200| 2a 2f 0a 09 69 6e 74 09 | 2a 75 5f 61 70 3b 09 09 |*/..int.|*u_ap;..|
|00009210| 09 2f 2a 20 70 6f 69 6e | 74 65 72 20 74 6f 20 61 |./* poin|ter to a|
|00009220| 72 67 6c 69 73 74 20 2a | 2f 0a 09 75 6e 69 6f 6e |rglist *|/..union|
|00009230| 20 7b 09 09 09 09 2f 2a | 20 73 79 73 63 61 6c 6c | {..../*| syscall|
|00009240| 20 72 65 74 75 72 6e 20 | 76 61 6c 75 65 73 20 2a | return |values *|
|00009250| 2f 0a 09 09 73 74 72 75 | 63 74 09 7b 0a 09 09 09 |/...stru|ct.{....|
|00009260| 69 6e 74 09 72 5f 76 61 | 6c 31 3b 0a 09 09 09 69 |int.r_va|l1;....i|
|00009270| 6e 74 09 72 5f 76 61 6c | 32 3b 0a 09 09 7d 72 5f |nt.r_val|2;...}r_|
|00009280| 72 65 67 3b 0a 09 09 6f | 66 66 5f 74 09 72 5f 6f |reg;...o|ff_t.r_o|
|00009290| 66 66 3b 0a 09 09 74 69 | 6d 65 5f 74 09 72 5f 74 |ff;...ti|me_t.r_t|
|000092a0| 69 6d 65 3b 0a 09 09 6c | 6f 6e 67 09 72 5f 6c 6f |ime;...l|ong.r_lo|
|000092b0| 6e 67 3b 0a 09 09 66 61 | 64 64 72 5f 74 09 72 5f |ng;...fa|ddr_t.r_|
|000092c0| 66 61 64 64 72 3b 0a 23 | 69 66 6e 64 65 66 20 4d |faddr;.#|ifndef M|
|000092d0| 5f 49 33 38 36 0a 09 09 | 63 68 61 72 20 66 61 72 |_I386...|char far|
|000092e0| 20 2a 72 5f 66 61 72 3b | 0a 23 65 6e 64 69 66 0a | *r_far;|.#endif.|
|000092f0| 09 7d 20 75 5f 72 3b 0a | 09 66 61 64 64 72 5f 75 |.} u_r;.|.faddr_u|
|00009300| 09 75 5f 62 61 73 65 75 | 3b 09 09 2f 2a 20 62 61 |.u_baseu|;../* ba|
|00009310| 73 65 20 61 64 64 72 65 | 73 73 20 66 6f 72 20 49 |se addre|ss for I|
|00009320| 4f 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 75 |O */..un|signed u|
|00009330| 5f 63 6f 75 6e 74 3b 09 | 09 2f 2a 20 62 79 74 65 |_count;.|./* byte|
|00009340| 73 20 72 65 6d 61 69 6e | 69 6e 67 20 66 6f 72 20 |s remain|ing for |
|00009350| 49 4f 20 2a 2f 0a 09 6f | 66 66 5f 74 09 75 5f 6f |IO */..o|ff_t.u_o|
|00009360| 66 66 73 65 74 3b 09 09 | 2f 2a 20 6f 66 66 73 65 |ffset;..|/* offse|
|00009370| 74 20 69 6e 02 01 06 02 | 00 e8 01 02 00 20 66 69 |t in....|..... fi|
|00009380| 6c 65 20 66 6f 72 20 49 | 4f 20 2a 2f 0a 09 73 68 |le for I|O */..sh|
|00009390| 6f 72 74 09 75 5f 66 6d | 6f 64 65 3b 09 09 2f 2a |ort.u_fm|ode;../*|
|000093a0| 20 66 69 6c 65 20 6d 6f | 64 65 20 66 6f 72 20 49 | file mo|de for I|
|000093b0| 4f 20 2a 2f 0a 09 64 61 | 64 64 72 5f 74 09 75 5f |O */..da|ddr_t.u_|
|000093c0| 72 61 62 6c 6f 63 6b 3b | 09 09 2f 2a 20 72 65 61 |rablock;|../* rea|
|000093d0| 64 20 61 68 65 61 64 20 | 62 6c 6f 63 6b 20 61 64 |d ahead |block ad|
|000093e0| 64 72 20 2a 2f 0a 09 73 | 68 6f 72 74 09 75 5f 65 |dr */..s|hort.u_e|
|000093f0| 72 72 63 6e 74 3b 09 09 | 2f 2a 20 73 79 73 63 61 |rrcnt;..|/* sysca|
|00009400| 6c 6c 20 65 72 72 6f 72 | 20 63 6f 75 6e 74 20 2a |ll error| count *|
|00009410| 2f 0a 09 69 6e 6f 64 65 | 70 5f 74 20 75 5f 63 64 |/..inode|p_t u_cd|
|00009420| 69 72 3b 09 09 2f 2a 20 | 63 75 72 72 65 6e 74 20 |ir;../* |current |
|00009430| 64 69 72 65 63 74 6f 72 | 79 20 6f 66 20 70 72 6f |director|y of pro|
|00009440| 63 65 73 73 20 2a 2f 0a | 09 69 6e 6f 64 65 70 5f |cess */.|.inodep_|
|00009450| 74 20 75 5f 72 64 69 72 | 3b 09 09 2f 2a 20 72 6f |t u_rdir|;../* ro|
|00009460| 6f 74 20 64 69 72 65 63 | 74 6f 72 79 20 6f 66 20 |ot direc|tory of |
|00009470| 70 72 6f 63 65 73 73 20 | 2a 2f 0a 09 66 61 64 64 |process |*/..fadd|
|00009480| 72 5f 75 09 75 5f 64 69 | 72 70 75 3b 09 09 2f 2a |r_u.u_di|rpu;../*|
|00009490| 20 70 61 74 68 6e 61 6d | 65 20 70 6f 69 6e 74 65 | pathnam|e pointe|
|000094a0| 72 20 2a 2f 0a 09 73 74 | 72 75 63 74 20 64 69 72 |r */..st|ruct dir|
|000094b0| 65 63 74 20 75 5f 64 65 | 6e 74 3b 09 09 2f 2a 20 |ect u_de|nt;../* |
|000094c0| 63 75 72 72 65 6e 74 20 | 64 69 72 65 63 74 6f 72 |current |director|
|000094d0| 79 20 65 6e 74 72 79 20 | 2a 2f 0a 09 69 6e 6f 64 |y entry |*/..inod|
|000094e0| 65 70 5f 74 20 75 5f 70 | 64 69 72 3b 09 09 2f 2a |ep_t u_p|dir;../*|
|000094f0| 20 69 6e 6f 64 65 20 6f | 66 20 70 61 72 65 6e 74 | inode o|f parent|
|00009500| 20 64 69 72 65 63 74 6f | 72 79 20 6f 66 20 64 69 | directo|ry of di|
|00009510| 72 70 20 2a 2f 0a 09 66 | 69 6c 65 70 5f 74 20 75 |rp */..f|ilep_t u|
|00009520| 5f 6f 66 69 6c 65 5b 4e | 4f 46 49 4c 45 5d 3b 09 |_ofile[N|OFILE];.|
|00009530| 2f 2a 20 70 6f 69 6e 74 | 65 72 73 20 74 6f 20 6f |/* point|ers to o|
|00009540| 70 65 6e 20 66 69 6c 65 | 20 73 74 72 75 63 74 75 |pen file| structu|
|00009550| 72 65 73 20 2a 2f 0a 09 | 63 68 61 72 09 75 5f 70 |res */..|char.u_p|
|00009560| 6f 66 69 6c 65 5b 4e 4f | 46 49 4c 45 5d 3b 09 2f |ofile[NO|FILE];./|
|00009570| 2a 20 70 65 72 2d 70 72 | 6f 63 65 73 73 02 01 07 |* per-pr|ocess...|
|00009580| 02 00 7e 01 02 00 20 66 | 6c 61 67 73 20 6f 66 20 |..~... f|lags of |
|00009590| 6f 70 65 6e 20 66 69 6c | 65 73 20 2a 2f 0a 09 69 |open fil|es */..i|
|000095a0| 6e 74 09 75 5f 61 72 67 | 5b 31 30 5d 3b 09 09 2f |nt.u_arg|[10];../|
|000095b0| 2a 20 61 72 67 75 6d 65 | 6e 74 73 20 74 6f 20 63 |* argume|nts to c|
|000095c0| 75 72 72 65 6e 74 20 73 | 79 73 74 65 6d 20 63 61 |urrent s|ystem ca|
|000095d0| 6c 6c 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |ll */..u|nsigned |
|000095e0| 75 5f 74 73 69 7a 65 3b | 09 09 2f 2a 20 74 65 78 |u_tsize;|../* tex|
|000095f0| 74 20 73 69 7a 65 20 2a | 2f 0a 09 75 6e 73 69 67 |t size *|/..unsig|
|00009600| 6e 65 64 20 75 5f 64 73 | 69 7a 65 3b 09 09 2f 2a |ned u_ds|ize;../*|
|00009610| 20 64 61 74 61 20 73 69 | 7a 65 20 2a 2f 0a 09 75 | data si|ze */..u|
|00009620| 6e 73 69 67 6e 65 64 20 | 75 5f 73 73 69 7a 65 3b |nsigned |u_ssize;|
|00009630| 09 09 2f 2a 20 73 74 61 | 63 6b 20 73 69 7a 65 20 |../* sta|ck size |
|00009640| 2a 2f 0a 23 69 66 64 65 | 66 20 4d 5f 49 33 38 36 |*/.#ifde|f M_I386|
|00009650| 0a 09 69 6e 74 09 28 2a | 75 5f 73 69 67 6e 61 6c |..int.(*|u_signal|
|00009660| 5b 4d 41 58 53 49 47 5d | 29 28 29 3b 09 2f 2a 20 |[MAXSIG]|)();./* |
|00009670| 64 69 73 70 6f 73 69 74 | 69 6f 6e 20 6f 66 20 73 |disposit|ion of s|
|00009680| 69 67 6e 61 6c 73 20 2a | 2f 0a 09 69 6e 74 09 28 |ignals *|/..int.(|
|00009690| 2a 75 5f 73 69 67 72 65 | 74 75 72 6e 29 28 29 3b |*u_sigre|turn)();|
|000096a0| 09 2f 2a 20 66 6f 72 20 | 63 6c 65 61 6e 75 70 20 |./* for |cleanup |
|000096b0| 2a 2f 0a 23 65 6c 73 65 | 0a 09 69 6e 74 20 28 66 |*/.#else|..int (f|
|000096c0| 61 72 20 2a 75 5f 73 69 | 67 6e 61 6c 5b 4e 53 49 |ar *u_si|gnal[NSI|
|000096d0| 47 5d 29 28 29 3b 09 2f | 2a 20 64 69 73 70 6f 73 |G])();./|* dispos|
|000096e0| 69 74 69 6f 6e 20 6f 66 | 20 73 69 67 6e 61 6c 73 |ition of| signals|
|000096f0| 20 2a 2f 0a 23 65 6e 64 | 69 66 0a 09 74 69 6d 65 | */.#end|if..time|
|00009700| 5f 74 09 75 5f 75 74 69 | 6d 65 3b 09 09 2f 2a 20 |_t.u_uti|me;../* |
|00009710| 74 68 69 73 20 70 72 6f | 63 65 73 73 20 75 73 65 |this pro|cess use|
|00009720| 72 20 74 69 6d 65 20 2a | 2f 0a 09 74 69 6d 65 5f |r time *|/..time_|
|00009730| 74 09 75 5f 73 74 69 6d | 65 3b 09 09 2f 2a 20 74 |t.u_stim|e;../* t|
|00009740| 68 69 73 20 70 72 6f 63 | 65 73 73 20 73 79 73 74 |his proc|ess syst|
|00009750| 65 6d 20 74 69 6d 65 20 | 2a 2f 0a 09 74 69 6d 65 |em time |*/..time|
|00009760| 5f 74 09 75 5f 63 75 74 | 69 6d 65 3b 09 09 2f 2a |_t.u_cut|ime;../*|
|00009770| 20 73 75 6d 20 6f 66 20 | 63 68 69 6c 64 73 27 20 | sum of |childs' |
|00009780| 75 74 69 6d 65 73 02 01 | 08 02 00 86 eb 01 02 00 |utimes..|........|
|00009790| a5 20 2a 2f 0a 09 74 69 | 6d 65 5f 74 09 75 5f 63 |. */..ti|me_t.u_c|
|000097a0| 73 74 69 6d 65 3b 09 09 | 2f 2a 20 73 75 6d 20 6f |stime;..|/* sum o|
|000097b0| 66 20 63 68 69 6c 64 73 | 27 20 73 74 69 6d 65 73 |f childs|' stimes|
|000097c0| 20 2a 2f 0a 09 69 6e 74 | 09 2a 75 5f 61 72 30 3b | */..int|.*u_ar0;|
|000097d0| 09 09 09 2f 2a 20 61 64 | 64 72 65 73 73 20 6f 66 |.../* ad|dress of|
|000097e0| 20 75 73 65 72 73 20 73 | 61 76 65 64 20 52 30 20 | users s|aved R0 |
|000097f0| 2a 2f 0a 09 63 68 61 72 | 09 75 5f 70 73 61 72 67 |*/..char|.u_psarg|
|00009800| 73 5b 50 53 41 52 47 53 | 5a 5d 3b 09 2f 2a 20 61 |s[PSARGS|Z];./* a|
|00009810| 72 67 73 20 66 72 6f 6d | 20 65 78 65 63 20 73 79 |rgs from| exec sy|
|00009820| 73 74 65 6d 20 63 61 6c | 6c 20 2a 2f 0a 09 73 74 |stem cal|l */..st|
|00009830| 72 75 63 74 20 7b 01 0c | 20 20 00 82 2f 2a 20 70 |ruct {..| ../* p|
|00009840| 72 6f 66 69 6c 65 20 61 | 72 67 75 6d 65 6e 74 73 |rofile a|rguments|
|00009850| 20 2a 2f 0a 09 09 66 61 | 64 64 72 5f 75 20 20 70 | */...fa|ddr_u p|
|00009860| 72 5f 62 61 73 65 75 3b | 20 20 20 20 20 20 2f 2a |r_baseu;| /*|
|00009870| 20 62 75 66 66 65 72 20 | 62 61 73 65 20 2a 2f 0a | buffer |base */.|
|00009880| 09 09 75 6e 73 69 67 6e | 65 64 20 70 72 5f 73 69 |..unsign|ed pr_si|
|00009890| 7a 65 3b 20 20 20 20 20 | 20 20 2f 2a 20 62 75 66 |ze; | /* buf|
|000098a0| 66 65 72 20 73 69 7a 65 | 20 2a 2f 0a 09 09 6c 6f |fer size| */...lo|
|000098b0| 6e 67 20 20 20 20 20 70 | 72 5f 6f 66 66 3b 01 04 |ng p|r_off;..|
|000098c0| 20 20 00 9a 2f 2a 20 70 | 63 20 6f 66 66 73 65 74 | ../* p|c offset|
|000098d0| 20 2a 2f 0a 09 09 75 6e | 73 69 67 6e 65 64 20 70 | */...un|signed p|
|000098e0| 72 5f 73 63 61 6c 65 3b | 20 20 20 20 20 20 2f 2a |r_scale;| /*|
|000098f0| 20 70 63 20 73 63 61 6c | 69 6e 67 20 2a 2f 0a 09 | pc scal|ing */..|
|00009900| 09 66 61 64 64 72 5f 75 | 20 20 70 72 5f 73 79 73 |.faddr_u| pr_sys|
|00009910| 70 63 75 3b 20 20 20 20 | 20 2f 2a 20 61 64 64 72 |pcu; | /* addr|
|00009920| 65 73 73 20 6f 66 20 75 | 73 65 72 20 70 63 20 64 |ess of u|ser pc d|
|00009930| 75 72 69 6e 67 20 73 79 | 73 63 61 6c 6c 20 2a 2f |uring sy|scall */|
|00009940| 0a 09 7d 20 75 5f 70 72 | 6f 66 3b 0a 09 63 68 61 |..} u_pr|of;..cha|
|00009950| 72 20 20 20 20 75 5f 69 | 6e 74 66 6c 67 3b 01 05 |r u_i|ntflg;..|
|00009960| 20 20 00 15 20 2f 2a 20 | 63 61 74 63 68 20 69 6e | .. /* |catch in|
|00009970| 74 72 20 66 72 6f 6d 20 | 73 02 01 09 02 00 fb f7 |tr from |s.......|
|00009980| 01 02 00 15 79 73 20 2a | 2f 0a 09 63 68 61 72 20 |....ys *|/..char |
|00009990| 20 20 20 75 5f 73 65 70 | 3b 01 07 20 20 00 ff 2f | u_sep|;.. ../|
|000099a0| 2a 20 66 6c 61 67 20 66 | 6f 72 20 49 20 61 6e 64 |* flag f|or I and|
|000099b0| 20 44 20 73 65 70 61 72 | 61 74 69 6f 6e 20 2a 2f | D separ|ation */|
|000099c0| 0a 09 63 68 61 72 09 75 | 5f 6f 73 76 65 72 73 3b |..char.u|_osvers;|
|000099d0| 09 20 20 20 20 2f 2a 20 | 76 65 72 73 69 6f 6e 20 |. /* |version |
|000099e0| 6f 66 20 62 69 6e 61 72 | 79 20 28 53 59 53 32 2c |of binar|y (SYS2,|
|000099f0| 20 33 2c 20 35 2c 20 65 | 74 63 29 20 2a 2f 0a 09 | 3, 5, e|tc) */..|
|00009a00| 63 68 61 72 09 75 5f 68 | 75 67 65 78 3b 09 20 20 |char.u_h|ugex;. |
|00009a10| 20 20 2f 2a 20 61 6c 6c | 6f 77 73 20 65 78 65 63 | /* all|ows exec|
|00009a20| 20 6f 66 20 70 72 6f 63 | 20 3e 20 73 77 61 70 70 | of proc| > swapp|
|00009a30| 65 72 20 77 68 65 6e 20 | 73 65 74 20 2a 2f 0a 09 |er when |set */..|
|00009a40| 63 68 61 72 09 75 5f 6c | 6f 63 6b 3b 09 09 20 20 |char.u_l|ock;.. |
|00009a50| 20 20 2f 2a 20 66 6f 72 | 20 70 6c 6f 63 6b 28 29 | /* for| plock()|
|00009a60| 20 73 79 73 74 65 6d 20 | 63 61 6c 6c 20 2a 2f 0a | system |call */.|
|00009a70| 09 63 68 61 72 09 75 5f | 63 70 75 3b 09 09 20 20 |.char.u_|cpu;.. |
|00009a80| 20 20 2f 2a 20 63 70 75 | 20 74 79 70 65 20 66 6f | /* cpu| type fo|
|00009a90| 72 20 74 68 69 73 20 70 | 72 6f 67 72 61 6d 00 8f |r this p|rogram..|
|00009aa0| 20 2a 2f 0a 09 75 6e 73 | 69 67 6e 65 64 20 73 68 | */..uns|igned sh|
|00009ab0| 6f 72 74 09 75 5f 72 65 | 6e 76 3b 09 20 20 20 20 |ort.u_re|nv;. |
|00009ac0| 2f 2a 20 72 75 6e 74 69 | 6d 65 20 65 6e 76 69 72 |/* runti|me envir|
|00009ad0| 6f 6e 6d 65 6e 74 20 2a | 2f 20 0a 09 73 74 72 75 |onment *|/ ..stru|
|00009ae0| 63 74 20 74 74 79 20 2a | 75 5f 74 74 79 70 3b 20 |ct tty *|u_ttyp; |
|00009af0| 20 20 20 09 20 20 20 20 | 2f 2a 20 70 6f 69 6e 74 | . |/* point|
|00009b00| 65 72 20 74 6f 20 70 67 | 72 70 20 69 6e 20 74 74 |er to pg|rp in tt|
|00009b10| 79 20 73 74 72 75 63 74 | 75 72 65 20 2a 2f 0a 09 |y struct|ure */..|
|00009b20| 64 65 76 5f 74 20 20 20 | 75 5f 74 74 79 64 3b 01 |dev_t |u_ttyd;.|
|00009b30| 06 20 20 00 43 20 2f 2a | 20 63 6f 6e 74 72 6f 6c |. .C /*| control|
|00009b40| 6c 69 6e 67 20 74 74 79 | 20 64 65 76 20 2a 2f 0a |ling tty| dev */.|
|00009b50| 09 73 74 72 75 63 74 20 | 75 5f 65 78 64 61 74 61 |.struct |u_exdata|
|00009b60| 20 7b 09 20 20 20 20 2f | 2a 20 68 65 61 64 65 72 | {. /|* header|
|00009b70| 20 69 6e 66 6f 72 6d 61 | 02 01 0a 02 00 99 01 02 | informa|........|
|00009b80| 00 74 69 6f 6e 20 2a 2f | 0a 09 09 6c 6f 6e 67 09 |.tion */|...long.|
|00009b90| 78 5f 74 65 78 74 3b 09 | 20 20 20 20 2f 2a 20 73 |x_text;.| /* s|
|00009ba0| 69 7a 65 20 6f 66 20 74 | 65 78 74 20 73 65 67 6d |ize of t|ext segm|
|00009bb0| 65 6e 74 28 73 29 20 2a | 2f 0a 09 09 6c 6f 6e 67 |ent(s) *|/...long|
|00009bc0| 09 78 5f 64 61 74 61 3b | 09 20 20 20 20 2f 2a 20 |.x_data;|. /* |
|00009bd0| 73 69 7a 65 20 6f 66 20 | 69 6e 69 74 69 61 6c 69 |size of |initiali|
|00009be0| 7a 65 64 20 64 61 74 61 | 20 73 65 67 6d 65 6e 74 |zed data| segment|
|00009bf0| 28 73 29 20 2a 2f 0a 09 | 09 6c 6f 6e 67 09 78 5f |(s) */..|.long.x_|
|00009c00| 62 73 73 3b 09 20 20 20 | 20 2f 2a 20 73 69 7a 65 |bss;. | /* size|
|00009c10| 20 6f 66 20 75 6e 69 6e | 69 74 69 61 6c 69 7a 65 | of unin|itialize|
|00009c20| 64 20 64 61 74 61 20 73 | 65 67 6d 65 6e 74 28 73 |d data s|egment(s|
|00009c30| 29 20 2a 2f 0a 09 09 6c | 6f 6e 67 09 78 5f 73 74 |) */...l|ong.x_st|
|00009c40| 61 63 6b 3b 20 20 20 20 | 2f 2a 20 73 69 7a 65 20 |ack; |/* size |
|00009c50| 6f 66 20 73 74 61 63 6b | 20 28 69 66 20 58 45 5f |of stack| (if XE_|
|00009c60| 46 53 20 73 65 74 29 20 | 2a 2f 0a 09 09 6c 6f 6e |FS set) |*/...lon|
|00009c70| 67 09 78 5f 65 6e 74 72 | 79 3b 20 20 20 20 2f 2a |g.x_entr|y; /*|
|00009c80| 20 65 6e 74 72 79 20 6f | 66 66 73 65 74 20 2a 2f | entry o|ffset */|
|00009c90| 0a 09 09 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 |...unsig|ned shor|
|00009ca0| 74 20 78 5f 65 73 65 67 | 3b 09 2f 2a 20 65 6e 74 |t x_eseg|;./* ent|
|00009cb0| 72 79 20 73 65 67 6d 65 | 6e 74 20 2a 2f 0a 09 09 |ry segme|nt */...|
|00009cc0| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 20 78 |unsigned| short x|
|00009cd0| 5f 72 65 6e 76 3b 09 2f | 2a 20 72 75 6e 2d 74 69 |_renv;./|* run-ti|
|00009ce0| 6d 65 20 65 6e 76 69 72 | 6f 6e 6d 65 6e 74 20 2a |me envir|onment *|
|00009cf0| 2f 0a 09 09 63 68 61 72 | 09 78 5f 6f 73 76 65 72 |/...char|.x_osver|
|00009d00| 73 3b 0a 09 09 63 68 61 | 72 09 78 5f 63 70 75 3b |s;...cha|r.x_cpu;|
|00009d10| 09 09 2f 2a 20 63 70 75 | 20 74 79 70 65 20 2a 2f |../* cpu| type */|
|00009d20| 0a 23 69 66 64 65 66 20 | 4d 5f 49 33 38 36 0a 09 |.#ifdef |M_I386..|
|00009d30| 09 63 68 61 72 09 78 5f | 65 78 63 6f 66 66 3b 09 |.char.x_|excoff;.|
|00009d40| 2f 2a 20 66 6c 61 67 73 | 20 66 6f 72 20 65 78 65 |/* flags| for exe|
|00009d50| 63 27 69 6e 67 20 63 6f | 66 66 20 62 69 6e 61 72 |c'ing co|ff binar|
|00009d60| 79 20 2a 2f 0a 09 09 63 | 68 61 72 09 78 5f 63 6f |y */...c|har.x_co|
|00009d70| 66 66 3b 09 09 2f 2a 20 | 66 6c 61 67 20 66 6f 72 |ff;../* |flag for|
|00009d80| 20 02 01 0b 02 00 9d dd | 01 02 00 ab 63 6f 66 66 | .......|....coff|
|00009d90| 20 62 69 6e 61 72 79 20 | 2a 2f 0a 23 65 6e 64 69 | binary |*/.#endi|
|00009da0| 66 0a 09 09 6c 6f 6e 67 | 09 78 5f 73 65 67 73 69 |f...long|.x_segsi|
|00009db0| 7a 65 3b 09 2f 2a 20 73 | 65 67 6d 65 6e 74 20 74 |ze;./* s|egment t|
|00009dc0| 61 62 6c 65 20 73 69 7a | 65 20 2a 2f 0a 09 09 6c |able siz|e */...l|
|00009dd0| 6f 6e 67 09 78 5f 73 65 | 67 70 6f 73 3b 09 2f 2a |ong.x_se|gpos;./*|
|00009de0| 20 73 65 67 6d 65 6e 74 | 20 74 61 62 6c 65 20 70 | segment| table p|
|00009df0| 6f 73 69 74 69 6f 6e 20 | 2a 2f 0a 09 7d 20 75 5f |osition |*/..} u_|
|00009e00| 65 78 64 61 74 61 3b 0a | 09 63 68 61 72 20 20 20 |exdata;.|.char |
|00009e10| 20 75 5f 63 6f 6d 6d 5b | 44 49 52 53 49 5a 5d 3b | u_comm[|DIRSIZ];|
|00009e20| 20 20 20 20 20 0a 09 74 | 69 6d 65 5f 74 20 20 75 | ..t|ime_t u|
|00009e30| 5f 73 74 61 72 74 3b 01 | 06 20 20 00 12 0a 09 74 |_start;.|. ....t|
|00009e40| 69 6d 65 5f 74 20 20 75 | 5f 74 69 63 6b 73 3b 01 |ime_t u|_ticks;.|
|00009e50| 05 20 20 00 11 20 0a 09 | 6c 6f 6e 67 20 20 20 20 |. .. ..|long |
|00009e60| 75 5f 6d 65 6d 3b 01 06 | 20 20 00 10 0a 09 6c 6f |u_mem;..| ....lo|
|00009e70| 6e 67 20 20 20 20 75 5f | 69 6f 72 3b 01 05 20 20 |ng u_|ior;.. |
|00009e80| 00 11 20 0a 09 6c 6f 6e | 67 20 20 20 20 75 5f 69 |.. ..lon|g u_i|
|00009e90| 6f 77 3b 01 05 20 20 00 | 11 0a 09 6c 6f 6e 67 20 |ow;.. .|...long |
|00009ea0| 20 20 20 75 5f 69 6f 73 | 77 3b 01 04 20 20 00 78 | u_ios|w;.. .x|
|00009eb0| 0a 09 6c 6f 6e 67 20 20 | 20 20 75 5f 69 6f 63 68 |..long | u_ioch|
|00009ec0| 3b 20 20 20 20 20 20 20 | 0a 09 63 68 61 72 20 20 |; |..char |
|00009ed0| 20 20 75 5f 61 63 66 6c | 61 67 3b 20 20 20 20 0a | u_acfl|ag; .|
|00009ee0| 09 63 68 61 72 09 75 5f | 6e 66 73 66 6c 67 73 3b |.char.u_|nfsflgs;|
|00009ef0| 20 20 20 20 09 20 20 20 | 20 2f 2a 20 72 65 73 65 | . | /* rese|
|00009f00| 72 76 65 64 20 66 6f 72 | 20 66 75 74 75 72 65 20 |rved for| future |
|00009f10| 75 73 65 20 2a 2f 0a 09 | 73 68 6f 72 74 20 20 20 |use */..|short |
|00009f20| 75 5f 63 6d 61 73 6b 3b | 01 06 20 20 00 2e 2f 2a |u_cmask;|.. ../*|
|00009f30| 20 6d 61 73 6b 20 66 6f | 72 20 66 69 6c 65 20 63 | mask fo|r file c|
|00009f40| 72 65 61 74 69 6f 6e 20 | 2a 2f 0a 09 64 61 64 64 |reation |*/..dadd|
|00009f50| 72 5f 74 20 75 5f 6c 69 | 6d 69 74 3b 01 06 20 20 |r_t u_li|mit;.. |
|00009f60| 00 04 2f 2a 20 6d 02 01 | 0c 02 00 d8 01 02 00 61 |../* m..|.......a|
|00009f70| 78 69 6d 75 6d 20 77 72 | 69 74 65 20 61 64 64 72 |ximum wr|ite addr|
|00009f80| 65 73 73 20 2a 2f 0a 09 | 73 68 6f 72 74 09 75 5f |ess */..|short.u_|
|00009f90| 74 5b 33 32 5d 3b 09 20 | 20 20 20 2f 2a 20 75 73 |t[32];. | /* us|
|00009fa0| 65 64 20 74 6f 20 62 65 | 20 69 6e 74 20 75 5f 74 |ed to be| int u_t|
|00009fb0| 5b 33 32 5d 20 2a 2f 0a | 23 69 66 64 65 66 20 4d |[32] */.|#ifdef M|
|00009fc0| 5f 49 33 38 36 0a 09 75 | 6e 73 69 67 6e 65 64 20 |_I386..u|nsigned |
|00009fd0| 75 5f 6c 73 69 7a 65 3b | 09 20 20 20 20 2f 2a 20 |u_lsize;|. /* |
|00009fe0| 6c 69 62 72 61 72 79 20 | 73 69 7a 65 20 69 6e 20 |library |size in |
|00009ff0| 62 79 74 65 73 20 2a 2f | 0a 09 69 6e 6f 64 65 70 |bytes */|..inodep|
|0000a000| 5f 74 20 75 5f 69 70 5b | 53 48 4c 42 4d 41 58 2b |_t u_ip[|SHLBMAX+|
|0000a010| 31 5d 3b 0a 09 69 6e 6f | 64 65 70 5f 74 20 75 5f |1];..ino|dep_t u_|
|0000a020| 65 78 69 70 5b 53 48 4c | 42 4d 41 58 2b 31 5d 3b |exip[SHL|BMAX+1];|
|0000a030| 0a 09 63 68 61 72 20 20 | 20 20 75 5f 6e 73 68 6c |..char | u_nshl|
|0000a040| 69 62 73 3b 0a 09 63 68 | 61 72 20 20 20 20 75 5f |ibs;..ch|ar u_|
|0000a050| 65 78 6e 73 68 6c 69 62 | 73 3b 0a 09 73 68 6f 72 |exnshlib|s;..shor|
|0000a060| 74 20 20 20 75 5f 73 70 | 61 72 65 3b 20 09 20 20 |t u_sp|are; . |
|0000a070| 20 20 0a 09 73 68 6f 72 | 74 20 20 20 75 5f 73 68 | ..shor|t u_sh|
|0000a080| 6c 70 64 69 6e 64 65 78 | 5b 53 48 4c 42 4d 41 58 |lpdindex|[SHLBMAX|
|0000a090| 2a 53 48 4c 42 50 44 45 | 53 5d 3b 0a 09 73 74 72 |*SHLBPDE|S];..str|
|0000a0a0| 75 63 74 20 74 61 62 65 | 6e 74 20 0a 09 09 75 5f |uct tabe|nt ...u_|
|0000a0b0| 73 68 6c 70 64 65 6e 74 | 5b 53 48 4c 42 4d 41 58 |shlpdent|[SHLBMAX|
|0000a0c0| 2a 53 48 4c 42 50 44 45 | 53 5d 3b 0a 09 73 74 72 |*SHLBPDE|S];..str|
|0000a0d0| 75 63 74 20 6c 64 74 69 | 6e 66 6f 20 2a 75 5f 73 |uct ldti|nfo *u_s|
|0000a0e0| 68 6c 69 6e 66 6f 3b 0a | 23 65 6e 64 69 66 0a 09 |hlinfo;.|#endif..|
|0000a0f0| 69 6e 6f 64 65 70 5f 74 | 20 75 5f 74 74 79 69 70 |inodep_t| u_ttyip|
|0000a100| 3b 09 20 20 20 20 2f 2a | 20 73 74 72 65 61 6d 20 |;. /*| stream |
|0000a110| 63 6f 6e 74 72 6f 6c 6c | 69 6e 67 20 74 74 79 20 |controll|ing tty |
|0000a120| 2a 2f 0a 09 69 6e 74 20 | 20 20 20 20 75 5f 73 64 |*/..int | u_sd|
|0000a130| 73 61 76 65 64 3b 20 20 | 20 20 20 20 20 20 20 20 |saved; | |
|0000a140| 2f 2a 20 77 65 20 68 61 | 76 65 20 73 61 76 65 64 |/* we ha|ve saved|
|0000a150| 20 74 68 65 20 73 68 61 | 72 65 64 20 64 61 74 61 | the sha|red data|
|0000a160| 20 2a 2f 0a 2f 2a 20 6d | 61 63 68 69 6e 65 20 02 | */./* m|achine .|
|0000a170| 01 0d 02 00 a4 e9 01 02 | 00 24 64 65 70 65 6e 64 |........|.$depend|
|0000a180| 65 6e 74 20 66 69 65 6c | 64 73 20 2a 2f 0a 09 69 |ent fiel|ds */..i|
|0000a190| 6e 74 20 20 20 20 20 75 | 5f 66 70 65 72 3b 01 06 |nt u|_fper;..|
|0000a1a0| 20 20 00 2c 20 2f 2a 20 | 46 50 20 65 72 72 6f 72 | ., /* |FP error|
|0000a1b0| 20 72 65 67 69 73 74 65 | 72 20 2a 2f 0a 09 63 68 | registe|r */..ch|
|0000a1c0| 61 72 20 20 20 20 75 5f | 66 70 73 61 76 65 64 3b |ar u_|fpsaved;|
|0000a1d0| 01 05 20 20 00 34 2f 2a | 20 46 50 20 72 65 67 73 |.. .4/*| FP regs|
|0000a1e0| 20 73 61 76 65 64 20 66 | 6f 72 20 74 68 69 73 20 | saved f|or this |
|0000a1f0| 70 72 6f 63 20 2a 2f 0a | 09 63 68 61 72 20 20 20 |proc */.|.char |
|0000a200| 20 75 5f 66 70 75 73 65 | 64 3b 01 05 20 20 00 51 | u_fpuse|d;.. .Q|
|0000a210| 20 2f 2a 20 46 50 20 75 | 73 65 64 20 66 6f 72 20 | /* FP u|sed for |
|0000a220| 74 68 69 73 20 70 72 6f | 63 65 73 73 20 20 20 20 |this pro|cess |
|0000a230| 2a 2f 0a 23 69 66 64 65 | 66 20 4d 5f 49 33 38 36 |*/.#ifde|f M_I386|
|0000a240| 0a 09 63 68 61 72 09 75 | 5f 66 70 61 64 5b 32 5d |..char.u|_fpad[2]|
|0000a250| 3b 0a 09 73 74 72 75 63 | 74 20 75 5f 66 70 73 20 |;..struc|t u_fps |
|0000a260| 7b 01 09 20 20 00 f9 2f | 2a 20 38 30 32 38 37 20 |{.. ../|* 80287 |
|0000a270| 73 61 76 65 20 73 74 61 | 74 75 73 20 2a 2f 0a 09 |save sta|tus */..|
|0000a280| 09 73 74 72 75 63 74 20 | 66 70 5f 68 61 72 64 77 |.struct |fp_hardw|
|0000a290| 61 72 65 20 7b 0a 09 09 | 09 75 6e 73 69 67 6e 65 |are {...|.unsigne|
|0000a2a0| 64 20 69 6e 74 09 66 70 | 5f 63 6e 74 72 6c 3b 09 |d int.fp|_cntrl;.|
|0000a2b0| 2f 2a 20 63 6f 6e 74 72 | 6f 6c 20 77 6f 72 64 09 |/* contr|ol word.|
|0000a2c0| 2a 2f 0a 09 09 09 75 6e | 73 69 67 6e 65 64 20 69 |*/....un|signed i|
|0000a2d0| 6e 74 09 66 70 5f 73 74 | 61 74 3b 09 2f 2a 20 73 |nt.fp_st|at;./* s|
|0000a2e0| 74 61 74 75 73 20 77 6f | 72 64 09 2a 2f 0a 09 09 |tatus wo|rd.*/...|
|0000a2f0| 09 75 6e 73 69 67 6e 65 | 64 20 69 6e 74 09 66 70 |.unsigne|d int.fp|
|0000a300| 5f 74 61 67 3b 09 09 2f | 2a 20 74 61 67 20 77 6f |_tag;../|* tag wo|
|0000a310| 72 64 09 2a 2f 0a 09 09 | 09 75 6e 73 69 67 6e 65 |rd.*/...|.unsigne|
|0000a320| 64 20 6c 6f 6e 67 09 66 | 70 5f 69 70 3b 09 09 2f |d long.f|p_ip;../|
|0000a330| 2a 20 69 6e 73 74 72 75 | 63 74 69 6f 6e 20 70 6f |* instru|ction po|
|0000a340| 69 6e 74 65 72 2a 2f 0a | 09 09 09 75 6e 73 69 67 |inter*/.|...unsig|
|0000a350| 6e 65 64 20 73 68 6f 72 | 74 09 66 70 5f 63 73 3b |ned shor|t.fp_cs;|
|0000a360| 02 01 0e 02 00 d5 f7 01 | 02 00 ff 09 09 2f 2a 20 |........|...../* |
|0000a370| 63 6f 64 65 20 73 65 6c | 65 63 74 6f 72 20 2a 2f |code sel|ector */|
|0000a380| 0a 09 09 09 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |....unsi|gned sho|
|0000a390| 72 74 09 66 70 5f 64 73 | 3b 09 09 2f 2a 20 64 61 |rt.fp_ds|;../* da|
|0000a3a0| 74 61 20 73 65 6c 65 63 | 74 6f 72 20 2a 2f 0a 09 |ta selec|tor */..|
|0000a3b0| 09 09 75 6e 73 69 67 6e | 65 64 20 6c 6f 6e 67 09 |..unsign|ed long.|
|0000a3c0| 66 70 5f 6f 70 3b 09 09 | 2f 2a 20 6f 70 65 72 61 |fp_op;..|/* opera|
|0000a3d0| 6e 64 20 6f 66 66 73 65 | 74 20 2a 2f 0a 09 09 09 |nd offse|t */....|
|0000a3e0| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 09 66 70 |unsigned| long.fp|
|0000a3f0| 5f 72 73 76 64 3b 0a 09 | 09 09 75 6e 73 69 67 6e |_rsvd;..|..unsign|
|0000a400| 65 64 20 63 68 61 72 20 | 20 20 66 70 5f 72 65 67 |ed char | fp_reg|
|0000a410| 73 5b 38 30 5d 3b 09 2f | 2a 20 72 65 67 69 73 74 |s[80];./|* regist|
|0000a420| 65 72 20 73 74 61 63 6b | 20 2a 2f 0a 09 09 09 75 |er stack| */....u|
|0000a430| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 09 66 70 |nsigned |short.fp|
|0000a440| 5f 6e 65 77 5f 73 74 61 | 74 75 73 3b 0a 09 09 09 |_new_sta|tus;....|
|0000a450| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 66 70 |unsigned| char.fp|
|0000a460| 5f 70 61 64 5b 36 5d 3b | 0a 09 00 96 09 7d 20 66 |_pad[6];|.....} f|
|0000a470| 70 5f 68 61 72 64 77 61 | 72 65 3b 0a 09 09 73 74 |p_hardwa|re;...st|
|0000a480| 72 75 63 74 20 66 70 5f | 65 6d 75 6c 20 7b 0a 09 |ruct fp_|emul {..|
|0000a490| 09 09 63 68 61 72 20 20 | 20 20 66 70 5f 65 6d 75 |..char | fp_emu|
|0000a4a0| 6c 5b 32 31 34 5d 3b 20 | 20 2f 2a 20 20 20 28 65 |l[214]; | /* (e|
|0000a4b0| 78 74 72 61 73 20 66 6f | 72 20 65 6d 75 6c 61 74 |xtras fo|r emulat|
|0000a4c0| 6f 72 29 20 20 2a 2f 0a | 09 09 09 63 68 61 72 09 |or) */.|...char.|
|0000a4d0| 66 70 5f 65 70 61 64 5b | 32 5d 3b 0a 09 09 7d 20 |fp_epad[|2];...} |
|0000a4e0| 66 70 5f 65 6d 75 6c 3b | 0a 09 7d 20 75 5f 66 70 |fp_emul;|..} u_fp|
|0000a4f0| 73 3b 0a 23 65 6c 73 65 | 0a 09 73 74 72 75 63 74 |s;.#else|..struct|
|0000a500| 20 7b 01 0a 20 20 00 57 | 2f 2a 20 38 30 32 38 37 | {.. .W|/* 80287|
|0000a510| 20 73 61 76 65 20 73 74 | 61 74 75 73 20 2a 2f 0a | save st|atus */.|
|0000a520| 09 09 69 6e 74 09 66 70 | 5f 63 6e 74 72 6c 3b 09 |..int.fp|_cntrl;.|
|0000a530| 2f 2a 20 63 6f 6e 74 72 | 6f 6c 20 77 6f 72 64 20 |/* contr|ol word |
|0000a540| 2a 2f 0a 09 09 69 6e 74 | 09 66 70 5f 73 74 61 74 |*/...int|.fp_stat|
|0000a550| 3b 09 2f 2a 20 73 74 61 | 74 75 73 20 77 6f 72 02 |;./* sta|tus wor.|
|0000a560| 01 0f 02 00 bb 01 02 00 | 64 20 2a 2f 0a 09 09 69 |........|d */...i|
|0000a570| 6e 74 09 66 70 5f 74 61 | 67 3b 09 09 2f 2a 20 74 |nt.fp_ta|g;../* t|
|0000a580| 61 67 20 77 6f 72 64 20 | 2a 2f 0a 09 09 69 6e 74 |ag word |*/...int|
|0000a590| 09 66 70 5f 69 70 5b 32 | 5d 3b 09 2f 2a 20 69 6e |.fp_ip[2|];./* in|
|0000a5a0| 73 74 72 75 63 74 69 6f | 6e 20 70 6f 69 6e 74 65 |structio|n pointe|
|0000a5b0| 72 20 2a 2f 0a 09 09 69 | 6e 74 09 66 70 5f 6f 70 |r */...i|nt.fp_op|
|0000a5c0| 5b 32 5d 3b 09 2f 2a 20 | 6f 70 65 72 61 6e 64 20 |[2];./* |operand |
|0000a5d0| 70 6f 69 6e 74 65 72 20 | 2a 2f 0a 09 09 63 68 61 |pointer |*/...cha|
|0000a5e0| 72 20 20 20 20 66 70 5f | 72 65 67 73 5b 31 30 30 |r fp_|regs[100|
|0000a5f0| 5d 3b 20 20 20 2f 2a 20 | 74 65 6d 70 6f 72 61 72 |]; /* |temporar|
|0000a600| 79 20 72 65 67 69 73 74 | 65 72 73 20 2a 2f 0a 09 |y regist|ers */..|
|0000a610| 09 69 6e 74 20 20 20 20 | 20 66 70 5f 73 70 61 72 |.int | fp_spar|
|0000a620| 65 3b 20 20 20 20 20 20 | 20 2f 2a 20 20 20 28 32 |e; | /* (2|
|0000a630| 20 78 74 72 61 20 66 6f | 72 20 65 6d 75 6c 61 74 | xtra fo|r emulat|
|0000a640| 6f 72 29 20 20 20 20 20 | 20 2a 2f 0a 09 7d 20 75 |or) | */..} u|
|0000a650| 5f 66 70 73 3b 0a 23 65 | 6e 64 69 66 0a 09 75 6e |_fps;.#e|ndif..un|
|0000a660| 73 69 67 6e 65 64 20 73 | 68 6f 72 74 20 20 75 5f |signed s|hort u_|
|0000a670| 6c 78 72 77 3b 20 20 20 | 20 20 2f 2a 20 52 2f 57 |lxrw; | /* R/W|
|0000a680| 20 61 63 63 65 73 73 20 | 6f 66 20 74 65 78 74 20 | access |of text |
|0000a690| 73 65 67 6d 65 6e 74 73 | 20 2a 2f 20 0a 09 66 61 |segments| */ ..fa|
|0000a6a0| 64 64 72 5f 75 09 20 75 | 5f 73 74 6b 62 6f 74 75 |ddr_u. u|_stkbotu|
|0000a6b0| 3b 09 20 20 20 20 2f 2a | 20 73 74 61 72 74 20 6f |;. /*| start o|
|0000a6c0| 72 20 62 6f 74 74 6f 6d | 20 6f 66 20 75 73 65 72 |r bottom| of user|
|0000a6d0| 20 73 74 61 63 6b 20 2a | 2f 0a 23 69 66 64 65 66 | stack *|/.#ifdef|
|0000a6e0| 20 4d 5f 49 33 38 36 0a | 09 63 61 64 64 72 5f 74 | M_I386.|.caddr_t|
|0000a6f0| 09 75 5f 73 74 6b 74 6f | 70 3b 09 20 20 20 20 2f |.u_stkto|p;. /|
|0000a700| 2a 20 65 6e 64 20 6f 72 | 20 74 6f 70 20 6f 66 20 |* end or| top of |
|0000a710| 75 73 65 72 20 73 74 61 | 63 6b 20 2a 2f 0a 23 65 |user sta|ck */.#e|
|0000a720| 6e 64 69 66 0a 09 66 61 | 64 64 72 5f 75 09 20 75 |ndif..fa|ddr_u. u|
|0000a730| 5f 65 64 61 74 61 75 3b | 09 20 20 20 20 2f 2a 20 |_edatau;|. /* |
|0000a740| 65 6e 64 20 6f 66 20 75 | 73 65 72 20 64 61 74 61 |end of u|ser data|
|0000a750| 20 62 65 66 6f 72 65 20 | 62 72 6b 73 0a 09 09 09 | before |brks....|
|0000a760| 09 20 20 20 20 20 20 20 | 0f 03 00 d7 03 00 01 02 |. |........|
|0000a770| 00 15 01 02 00 73 65 67 | 3a 6f 66 66 20 66 6f 72 |.....seg|:off for|
|0000a780| 20 32 38 36 2c 20 33 32 | 20 62 69 74 20 61 64 64 | 286, 32| bit add|
|0000a790| 72 20 66 6f 72 20 33 38 | 36 20 2a 2f 0a 09 63 61 |r for 38|6 */..ca|
|0000a7a0| 64 64 72 5f 74 09 20 75 | 5f 73 64 61 74 61 3b 09 |ddr_t. u|_sdata;.|
|0000a7b0| 20 20 20 20 2f 2a 20 73 | 74 61 72 74 20 6f 66 20 | /* s|tart of |
|0000a7c0| 75 73 65 72 20 64 61 74 | 61 20 2a 2f 09 0a 23 69 |user dat|a */..#i|
|0000a7d0| 66 6e 64 65 66 20 4d 5f | 49 33 38 36 0a 09 73 74 |fndef M_|I386..st|
|0000a7e0| 72 75 63 74 20 73 65 67 | 74 6d 70 20 66 61 72 20 |ruct seg|tmp far |
|0000a7f0| 2a 75 5f 73 65 67 6f 66 | 66 3b 20 20 20 20 2f 2a |*u_segof|f; /*|
|0000a800| 20 70 74 72 20 74 6f 20 | 73 65 67 6f 66 66 20 61 | ptr to |segoff a|
|0000a810| 72 72 61 79 20 75 73 65 | 64 20 62 79 20 65 78 65 |rray use|d by exe|
|0000a820| 63 20 2a 2f 0a 23 65 6e | 64 69 66 0a 23 69 66 64 |c */.#en|dif.#ifd|
|0000a830| 65 66 20 4d 5f 49 38 30 | 38 36 0a 09 2f 2a 20 66 |ef M_I80|86../* f|
|0000a840| 6f 6c 6c 6f 77 69 6e 67 | 20 61 72 65 20 38 30 38 |ollowing| are 808|
|0000a850| 36 20 6f 6e 6c 79 20 66 | 69 65 6c 64 73 20 2a 2f |6 only f|ields */|
|0000a860| 0a 09 73 68 6f 72 74 09 | 75 5f 75 73 65 67 73 5b |..short.|u_usegs[|
|0000a870| 4e 53 45 47 5d 3b 09 20 | 20 20 20 2f 2a 20 73 65 |NSEG];. | /* se|
|0000a880| 67 6d 65 6e 74 73 20 74 | 61 62 6c 65 20 66 6f 72 |gments t|able for|
|0000a890| 20 6d 65 6d 20 6d 61 6e | 61 67 65 6d 65 6e 74 2a | mem man|agement*|
|0000a8a0| 2f 0a 09 63 61 64 64 72 | 5f 74 09 75 5f 74 6f 70 |/..caddr|_t.u_top|
|0000a8b0| 73 74 6b 3b 09 09 2f 2a | 20 75 73 65 72 20 64 61 |stk;../*| user da|
|0000a8c0| 74 61 20 61 64 64 72 65 | 73 73 20 6f 66 20 73 74 |ta addre|ss of st|
|0000a8d0| 61 63 6b 20 74 6f 70 2a | 2f 0a 09 63 61 64 64 72 |ack top*|/..caddr|
|0000a8e0| 5f 74 20 75 5f 62 6f 74 | 73 74 6b 3b 09 09 2f 2a |_t u_bot|stk;../*|
|0000a8f0| 20 20 20 22 20 20 20 22 | 20 20 20 20 20 22 20 20 | " "| " |
|0000a900| 20 20 20 20 22 20 20 20 | 62 6f 74 74 6f 6d 2a 2f | " |bottom*/|
|0000a910| 0a 09 75 6e 73 69 67 6e | 65 64 20 75 5f 66 6c 61 |..unsign|ed u_fla|
|0000a920| 67 73 3b 09 09 2f 2a 20 | 6d 69 73 63 20 66 6c 61 |gs;../* |misc fla|
|0000a930| 67 73 20 2a 2f 0a 09 63 | 61 64 64 72 5f 74 20 75 |gs */..c|addr_t u|
|0000a940| 5f 73 65 67 69 6e 66 6f | 3b 09 09 2f 2a 20 73 65 |_seginfo|;../* se|
|0000a950| 67 69 6e 66 6f 20 74 61 | 62 6c 65 20 70 6f 69 6e |ginfo ta|ble poin|
|0000a960| 74 65 72 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |ter */..|unsigned|
|0000a970| 20 75 5f 63 75 03 00 02 | 02 00 db 01 02 00 72 62 | u_cu...|......rb|
|0000a980| 72 6b 3b 09 09 2f 2a 20 | 63 75 72 72 65 6e 74 20 |rk;../* |current |
|0000a990| 62 72 65 61 6b 20 76 61 | 6c 3a 20 62 72 6b 63 74 |break va|l: brkct|
|0000a9a0| 6c 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 75 |l */..un|signed u|
|0000a9b0| 5f 68 64 72 73 69 7a 3b | 09 09 2f 2a 20 38 30 38 |_hdrsiz;|../* 808|
|0000a9c0| 36 20 6f 6e 6c 79 20 78 | 2e 6f 75 74 20 68 64 72 |6 only x|.out hdr|
|0000a9d0| 20 73 69 7a 65 20 2a 2f | 0a 09 73 74 72 75 63 74 | size */|..struct|
|0000a9e0| 20 20 20 65 78 38 36 20 | 7b 09 0a 09 09 6c 6f 6e | ex86 |{....lon|
|0000a9f0| 67 09 78 5f 72 65 6c 6f | 63 3b 0a 09 09 6c 6f 6e |g.x_relo|c;...lon|
|0000aa00| 67 09 78 5f 73 79 6d 73 | 3b 0a 09 09 75 6e 73 69 |g.x_syms|;...unsi|
|0000aa10| 67 6e 65 64 20 73 68 6f | 72 74 20 78 5f 65 78 74 |gned sho|rt x_ext|
|0000aa20| 3b 0a 09 09 63 68 61 72 | 09 78 5f 72 65 6c 73 79 |;...char|.x_relsy|
|0000aa30| 6d 3b 0a 09 09 63 68 61 | 72 09 78 5f 72 65 73 3b |m;...cha|r.x_res;|
|0000aa40| 0a 09 7d 20 75 5f 65 78 | 38 36 3b 0a 23 65 6e 64 |..} u_ex|86;.#end|
|0000aa50| 69 66 0a 23 69 66 64 65 | 66 20 4d 5f 49 33 38 36 |if.#ifde|f M_I386|
|0000aa60| 0a 23 69 66 64 65 66 20 | 56 50 49 58 0a 09 73 74 |.#ifdef |VPIX..st|
|0000aa70| 72 75 63 74 09 74 73 73 | 20 2a 75 5f 74 73 73 3b |ruct.tss| *u_tss;|
|0000aa80| 09 09 2f 2a 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |../* poi|nter to |
|0000aa90| 74 73 73 20 66 6f 72 20 | 70 72 6f 63 20 28 69 66 |tss for |proc (if|
|0000aaa0| 20 61 6e 79 29 20 2a 2f | 0a 09 73 68 6f 72 74 09 | any) */|..short.|
|0000aab0| 75 5f 74 73 73 6c 69 6d | 69 74 3b 09 09 2f 2a 20 |u_tsslim|it;../* |
|0000aac0| 74 73 73 20 73 69 7a 65 | 20 2a 2f 0a 09 73 68 6f |tss size| */..sho|
|0000aad0| 72 74 09 75 5f 77 65 69 | 74 65 6b 3b 09 09 2f 2a |rt.u_wei|tek;../*|
|0000aae0| 20 77 61 73 2c 20 72 65 | 73 65 72 76 65 64 20 31 | was, re|served 1|
|0000aaf0| 20 2a 2f 0a 23 65 6c 73 | 65 0a 09 69 6e 74 20 09 | */.#els|e..int .|
|0000ab00| 75 5f 72 65 73 30 3b 09 | 09 09 2f 2a 20 72 65 73 |u_res0;.|../* res|
|0000ab10| 65 72 76 65 64 20 30 20 | 2a 2f 0a 09 73 68 6f 72 |erved 0 |*/..shor|
|0000ab20| 74 09 75 5f 72 65 73 31 | 3b 09 09 09 2f 2a 20 72 |t.u_res1|;.../* r|
|0000ab30| 65 73 65 72 76 65 64 20 | 31 20 2a 2f 0a 09 73 68 |eserved |1 */..sh|
|0000ab40| 6f 72 74 09 75 5f 77 65 | 69 74 65 6b 3b 09 09 2f |ort.u_we|itek;../|
|0000ab50| 2a 20 77 61 73 2c 20 72 | 65 73 65 72 76 65 64 20 |* was, r|eserved |
|0000ab60| 31 20 2a 2f 0a 23 65 6e | 64 69 66 0a 09 73 74 72 |1 */.#en|dif..str|
|0000ab70| 75 63 74 20 74 61 62 65 | 6e 74 20 75 5f 74 03 00 |uct tabe|nt u_t..|
|0000ab80| 03 02 00 69 01 02 00 70 | 64 65 6e 74 5b 54 58 54 |...i...p|dent[TXT|
|0000ab90| 50 44 45 4e 54 5d 3b 20 | 2f 2a 20 74 65 78 74 20 |PDENT]; |/* text |
|0000aba0| 70 61 67 65 20 64 69 72 | 65 63 74 6f 72 79 20 65 |page dir|ectory e|
|0000abb0| 6e 74 72 69 65 73 20 2a | 2f 0a 09 73 74 72 75 63 |ntries *|/..struc|
|0000abc0| 74 20 74 61 62 65 6e 74 | 20 75 5f 64 70 64 65 6e |t tabent| u_dpden|
|0000abd0| 74 5b 44 41 54 41 50 44 | 45 4e 54 5d 3b 20 2f 2a |t[DATAPD|ENT]; /*|
|0000abe0| 20 64 61 74 61 20 70 61 | 67 65 20 64 69 72 65 63 | data pa|ge direc|
|0000abf0| 74 6f 72 79 20 65 6e 74 | 72 69 65 73 20 2a 2f 0a |tory ent|ries */.|
|0000ac00| 09 73 74 72 75 63 74 20 | 74 61 62 65 6e 74 20 75 |.struct |tabent u|
|0000ac10| 5f 73 68 6d 70 64 65 6e | 74 5b 53 48 4d 50 44 45 |_shmpden|t[SHMPDE|
|0000ac20| 4e 54 5d 3b 20 2f 2a 20 | 73 68 61 72 65 64 20 64 |NT]; /* |shared d|
|0000ac30| 61 74 61 20 70 61 67 65 | 20 64 69 72 20 65 6e 74 |ata page| dir ent|
|0000ac40| 72 69 65 73 20 2a 2f 0a | 09 69 6e 74 20 75 5f 64 |ries */.|.int u_d|
|0000ac50| 74 69 6d 65 3b 09 09 09 | 2f 2a 20 74 69 6d 65 20 |time;...|/* time |
|0000ac60| 73 70 65 6e 74 20 6f 6e | 20 74 68 69 73 20 64 61 |spent on| this da|
|0000ac70| 74 61 20 73 65 67 6d 65 | 6e 74 20 2a 2f 0a 09 73 |ta segme|nt */..s|
|0000ac80| 74 72 75 63 74 20 6c 64 | 74 69 6e 66 6f 20 2a 75 |truct ld|tinfo *u|
|0000ac90| 5f 6c 64 74 69 6e 66 6f | 3b 09 2f 2a 20 70 6f 69 |_ldtinfo|;./* poi|
|0000aca0| 6e 74 65 72 20 74 6f 20 | 6c 64 74 69 6e 66 6f 20 |nter to |ldtinfo |
|0000acb0| 61 72 72 61 79 20 66 6f | 72 20 65 78 65 63 20 2a |array fo|r exec *|
|0000acc0| 2f 0a 09 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 |/..unsig|ned shor|
|0000acd0| 74 20 75 5f 6c 64 74 6c | 69 6d 69 74 3b 09 2f 2a |t u_ldtl|imit;./*|
|0000ace0| 20 63 75 72 72 65 6e 74 | 20 73 69 7a 65 28 69 6e | current| size(in|
|0000acf0| 64 65 78 29 20 6f 66 20 | 6c 64 74 20 2a 2f 0a 09 |dex) of |ldt */..|
|0000ad00| 73 68 6f 72 74 20 75 5f | 70 68 79 73 6d 61 70 3b |short u_|physmap;|
|0000ad10| 09 09 2f 2a 20 77 61 73 | 3a 20 63 68 61 72 20 75 |../* was|: char u|
|0000ad20| 5f 6c 70 61 64 5b 32 5d | 20 2a 2f 0a 09 73 74 72 |_lpad[2]| */..str|
|0000ad30| 75 63 74 20 64 65 73 63 | 72 69 70 74 6f 72 20 75 |uct desc|riptor u|
|0000ad40| 5f 6c 64 74 5b 31 5d 3b | 09 2f 2a 20 6c 64 74 20 |_ldt[1];|./* ldt |
|0000ad50| 67 72 6f 77 73 20 75 70 | 20 66 72 6f 6d 20 68 65 |grows up| from he|
|0000ad60| 72 65 20 2a 2f 0a 23 65 | 6e 64 69 66 0a 7d 3b 0a |re */.#e|ndif.};.|
|0000ad70| 65 78 74 65 72 6e 20 73 | 74 72 75 63 74 20 75 73 |extern s|truct us|
|0000ad80| 65 72 20 75 3b 0a 0a 03 | 00 04 02 00 ec 01 02 00 |er u;...|........|
|0000ad90| 23 64 65 66 69 6e 65 09 | 75 5f 72 76 61 6c 31 09 |#define.|u_rval1.|
|0000ada0| 75 5f 72 2e 72 5f 72 65 | 67 2e 72 5f 76 61 6c 31 |u_r.r_re|g.r_val1|
|0000adb0| 0a 23 64 65 66 69 6e 65 | 09 75 5f 72 76 61 6c 32 |.#define|.u_rval2|
|0000adc0| 09 75 5f 72 2e 72 5f 72 | 65 67 2e 72 5f 76 61 6c |.u_r.r_r|eg.r_val|
|0000add0| 32 0a 23 64 65 66 69 6e | 65 09 75 5f 72 6f 66 66 |2.#defin|e.u_roff|
|0000ade0| 09 75 5f 72 2e 72 5f 6f | 66 66 0a 23 64 65 66 69 |.u_r.r_o|ff.#defi|
|0000adf0| 6e 65 09 75 5f 72 74 69 | 6d 65 09 75 5f 72 2e 72 |ne.u_rti|me.u_r.r|
|0000ae00| 5f 74 69 6d 65 0a 23 64 | 65 66 69 6e 65 09 75 5f |_time.#d|efine.u_|
|0000ae10| 72 6c 6f 6e 67 09 75 5f | 72 2e 72 5f 6c 6f 6e 67 |rlong.u_|r.r_long|
|0000ae20| 0a 23 64 65 66 69 6e 65 | 09 75 5f 72 66 61 64 64 |.#define|.u_rfadd|
|0000ae30| 72 20 75 5f 72 2e 72 5f | 66 61 64 64 72 0a 23 64 |r u_r.r_|faddr.#d|
|0000ae40| 65 66 69 6e 65 09 75 5f | 72 66 61 72 20 20 20 75 |efine.u_|rfar u|
|0000ae50| 5f 72 2e 72 5f 66 61 72 | 0a 0a 23 64 65 66 69 6e |_r.r_far|..#defin|
|0000ae60| 65 09 49 53 33 38 36 28 | 29 20 28 28 75 2e 75 5f |e.IS386(|) ((u.u_|
|0000ae70| 63 70 75 20 26 20 58 43 | 5f 33 38 36 29 20 3d 3d |cpu & XC|_386) ==|
|0000ae80| 20 58 43 5f 33 38 36 29 | 0a 23 64 65 66 69 6e 65 | XC_386)|.#define|
|0000ae90| 09 49 53 43 4f 46 46 28 | 29 20 28 28 75 2e 75 5f |.ISCOFF(|) ((u.u_|
|0000aea0| 65 78 64 61 74 61 2e 78 | 5f 63 6f 66 66 20 26 20 |exdata.x|_coff & |
|0000aeb0| 58 43 42 5f 43 4f 46 46 | 29 20 3d 3d 20 58 43 42 |XCB_COFF|) == XCB|
|0000aec0| 5f 43 4f 46 46 29 0a 23 | 64 65 66 69 6e 65 09 49 |_COFF).#|define.I|
|0000aed0| 53 43 4f 46 46 45 58 45 | 43 28 29 20 28 28 75 2e |SCOFFEXE|C() ((u.|
|0000aee0| 75 5f 65 78 64 61 74 61 | 2e 78 5f 65 78 63 6f 66 |u_exdata|.x_excof|
|0000aef0| 66 20 26 20 58 43 42 5f | 43 4f 46 46 29 20 3d 3d |f & XCB_|COFF) ==|
|0000af00| 20 58 43 42 5f 43 4f 46 | 46 29 0a 23 64 65 66 69 | XCB_COF|F).#defi|
|0000af10| 6e 65 20 49 53 5f 35 5f | 33 28 29 20 28 28 75 2e |ne IS_5_|3() ((u.|
|0000af20| 75 5f 72 65 6e 76 20 26 | 20 58 45 5f 35 5f 33 20 |u_renv &| XE_5_3 |
|0000af30| 29 20 3d 3d 20 58 45 5f | 35 5f 33 20 29 0a 0a 23 |) == XE_|5_3 )..#|
|0000af40| 69 66 64 65 66 20 4d 5f | 49 32 38 36 20 0a 23 20 |ifdef M_|I286 .# |
|0000af50| 20 64 65 66 69 6e 65 20 | 09 75 5f 62 61 73 65 20 | define |.u_base |
|0000af60| 09 09 75 5f 62 61 73 65 | 75 2e 66 75 5f 66 61 72 |..u_base|u.fu_far|
|0000af70| 0a 23 20 20 64 65 66 69 | 6e 65 20 09 75 5f 64 69 |.# defi|ne .u_di|
|0000af80| 72 70 20 09 09 75 5f 64 | 69 72 70 75 2e 66 75 5f |rp ..u_d|irpu.fu_|
|0000af90| 03 00 05 02 00 ff 01 02 | 00 66 61 72 0a 23 20 20 |........|.far.# |
|0000afa0| 64 65 66 69 6e 65 20 09 | 75 5f 73 74 6b 62 6f 74 |define .|u_stkbot|
|0000afb0| 09 75 5f 73 74 6b 62 6f | 74 75 2e 66 75 5f 66 61 |.u_stkbo|tu.fu_fa|
|0000afc0| 72 0a 23 20 20 64 65 66 | 69 6e 65 20 09 75 5f 65 |r.# def|ine .u_e|
|0000afd0| 64 61 74 61 20 09 75 5f | 65 64 61 74 61 75 2e 66 |data .u_|edatau.f|
|0000afe0| 75 5f 66 61 72 0a 23 65 | 6e 64 69 66 20 2f 2a 20 |u_far.#e|ndif /* |
|0000aff0| 4d 5f 49 32 38 36 20 2a | 2f 0a 0a 23 69 66 64 65 |M_I286 *|/..#ifde|
|0000b000| 66 20 4d 5f 49 38 30 38 | 36 0a 23 20 20 64 65 66 |f M_I808|6.# def|
|0000b010| 69 6e 65 20 09 75 5f 62 | 61 73 65 20 09 09 75 5f |ine .u_b|ase ..u_|
|0000b020| 62 61 73 65 75 2e 66 75 | 5f 6e 65 61 72 0a 23 20 |baseu.fu|_near.# |
|0000b030| 20 64 65 66 69 6e 65 20 | 09 75 5f 64 69 72 70 20 | define |.u_dirp |
|0000b040| 09 09 75 5f 64 69 72 70 | 75 2e 66 75 5f 6e 65 61 |..u_dirp|u.fu_nea|
|0000b050| 72 0a 23 20 20 64 65 66 | 69 6e 65 20 09 75 5f 73 |r.# def|ine .u_s|
|0000b060| 74 6b 62 6f 74 09 75 5f | 73 74 6b 62 6f 74 75 2e |tkbot.u_|stkbotu.|
|0000b070| 66 75 5f 6e 65 61 72 0a | 23 20 20 64 65 66 69 6e |fu_near.|# defin|
|0000b080| 65 20 09 75 5f 65 64 61 | 74 61 20 09 75 5f 65 64 |e .u_eda|ta .u_ed|
|0000b090| 61 74 61 75 2e 66 75 5f | 6e 65 61 72 0a 23 65 6e |atau.fu_|near.#en|
|0000b0a0| 64 69 66 20 2f 2a 20 4d | 5f 49 38 30 38 36 20 2a |dif /* M|_I8086 *|
|0000b0b0| 2f 0a 0a 23 69 66 64 65 | 66 20 4d 5f 49 33 38 36 |/..#ifde|f M_I386|
|0000b0c0| 0a 23 20 20 64 65 66 69 | 6e 65 20 09 75 5f 62 61 |.# defi|ne .u_ba|
|0000b0d0| 73 65 20 09 09 75 5f 62 | 61 73 65 75 0a 23 20 20 |se ..u_b|aseu.# |
|0000b0e0| 64 65 66 69 6e 65 20 09 | 75 5f 64 69 72 70 20 09 |define .|u_dirp .|
|0000b0f0| 09 75 5f 64 69 72 70 75 | 0a 23 20 20 64 65 66 69 |.u_dirpu|.# defi|
|0000b100| 6e 65 20 09 75 5f 73 74 | 6b 62 6f 74 09 75 5f 73 |ne .u_st|kbot.u_s|
|0000b110| 74 6b 62 6f 74 75 0a 23 | 20 20 64 65 66 69 6e 65 |tkbotu.#| define|
|0000b120| 20 09 75 5f 65 64 61 74 | 61 20 09 75 5f 65 64 61 | .u_edat|a .u_eda|
|0000b130| 74 61 75 0a 23 65 6e 64 | 69 66 20 2f 2a 20 4d 5f |tau.#end|if /* M_|
|0000b140| 49 33 38 36 20 2a 2f 0a | 0a 23 69 66 64 65 66 20 |I386 */.|.#ifdef |
|0000b150| 4d 5f 49 33 38 36 0a 23 | 64 65 66 69 6e 65 09 09 |M_I386.#|define..|
|0000b160| 70 72 5f 62 61 73 65 09 | 09 70 72 5f 62 61 73 65 |pr_base.|.pr_base|
|0000b170| 75 0a 23 64 65 66 69 6e | 65 09 09 70 72 5f 73 79 |u.#defin|e..pr_sy|
|0000b180| 73 70 63 09 70 72 5f 73 | 79 73 70 63 75 0a 23 65 |spc.pr_s|yspcu.#e|
|0000b190| 6c 73 65 0a 23 64 65 66 | 69 03 00 06 02 00 26 01 |lse.#def|i.....&.|
|0000b1a0| 02 00 6e 65 09 09 70 72 | 5f 62 61 73 65 09 09 70 |..ne..pr|_base..p|
|0000b1b0| 72 5f 62 61 73 65 75 2e | 66 75 5f 66 61 72 0a 23 |r_baseu.|fu_far.#|
|0000b1c0| 64 65 66 69 6e 65 09 09 | 70 72 5f 73 79 73 70 63 |define..|pr_syspc|
|0000b1d0| 09 70 72 5f 73 79 73 70 | 63 75 2e 66 75 5f 66 61 |.pr_sysp|cu.fu_fa|
|0000b1e0| 72 0a 23 65 6e 64 69 66 | 0a 0a 23 64 65 66 69 6e |r.#endif|..#defin|
|0000b1f0| 65 20 55 5f 57 52 49 54 | 45 09 30 0a 23 64 65 66 |e U_WRIT|E.0.#def|
|0000b200| 69 6e 65 20 55 5f 52 45 | 41 44 09 31 0a 0a 2f 2a |ine U_RE|AD.1../*|
|0000b210| 20 73 65 67 66 6c 67 20 | 76 61 6c 75 65 73 20 2a | segflg |values *|
|0000b220| 2f 0a 23 64 65 66 69 6e | 65 20 55 5f 55 44 09 30 |/.#defin|e U_UD.0|
|0000b230| 09 2f 2a 20 75 73 65 72 | 20 64 61 74 61 20 2a 2f |./* user| data */|
|0000b240| 0a 23 64 65 66 69 6e 65 | 20 55 5f 4b 44 09 31 09 |.#define| U_KD.1.|
|0000b250| 2f 2a 20 6b 65 72 6e 65 | 6c 20 64 61 74 61 20 2a |/* kerne|l data *|
|0000b260| 2f 0a 23 64 65 66 69 6e | 65 20 55 5f 55 49 09 32 |/.#defin|e U_UI.2|
|0000b270| 09 2f 2a 20 75 73 65 72 | 20 63 6f 64 65 20 2a 2f |./* user| code */|
|0000b280| 0a 0a 2f 2a 20 69 6f 66 | 6c 61 67 20 76 61 6c 75 |../* iof|lag valu|
|0000b290| 65 73 3a 20 52 65 61 64 | 2f 57 72 69 74 65 2c 20 |es: Read|/Write, |
|0000b2a0| 55 73 65 72 2f 4b 65 72 | 6e 65 6c 2c 20 49 6e 73 |User/Ker|nel, Ins|
|0000b2b0| 2f 44 61 74 61 20 2a 2f | 0a 23 64 65 66 69 6e 65 |/Data */|.#define|
|0000b2c0| 09 55 5f 57 55 44 09 30 | 0a 23 64 65 66 69 6e 65 |.U_WUD.0|.#define|
|0000b2d0| 09 55 5f 52 55 44 09 31 | 0a 23 64 65 66 69 6e 65 |.U_RUD.1|.#define|
|0000b2e0| 09 55 5f 57 4b 44 09 32 | 0a 23 64 65 66 69 6e 65 |.U_WKD.2|.#define|
|0000b2f0| 09 55 5f 52 4b 44 09 33 | 0a 23 64 65 66 69 6e 65 |.U_RKD.3|.#define|
|0000b300| 09 55 5f 57 55 49 09 34 | 0a 23 64 65 66 69 6e 65 |.U_WUI.4|.#define|
|0000b310| 09 55 5f 52 55 49 09 35 | 0a 0a 23 64 65 66 69 6e |.U_RUI.5|..#defin|
|0000b320| 65 09 45 58 43 4c 4f 53 | 45 09 30 31 0a 0a 2f 2a |e.EXCLOS|E.01../*|
|0000b330| 20 76 61 6c 75 65 73 20 | 66 6f 72 20 75 5f 6e 66 | values |for u_nf|
|0000b340| 73 66 6c 67 73 20 28 61 | 6c 6c 20 62 69 74 73 20 |sflgs (a|ll bits |
|0000b350| 72 65 73 65 72 76 65 64 | 20 66 6f 72 20 4e 46 53 |reserved| for NFS|
|0000b360| 29 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 4e 46 53 |) */.#de|fine NFS|
|0000b370| 4e 45 47 4f 20 20 20 30 | 78 30 31 09 09 2f 2a 20 |NEGO 0|x01../* |
|0000b380| 63 6f 72 65 20 6e 65 67 | 6f 74 69 61 74 65 20 77 |core neg|otiate w|
|0000b390| 61 6e 74 65 64 20 6f 72 | 20 6e 6f 74 20 2a 2f 0a |anted or| not */.|
|0000b3a0| 23 64 03 00 07 02 00 28 | 01 02 00 65 66 69 6e 65 |#d.....(|...efine|
|0000b3b0| 20 4e 46 53 4e 4f 43 41 | 53 45 20 30 78 38 30 09 | NFSNOCA|SE 0x80.|
|0000b3c0| 09 2f 2a 20 63 61 73 65 | 6c 65 73 73 20 63 6f 6d |./* case|less com|
|0000b3d0| 70 61 72 65 20 6e 65 65 | 64 65 64 20 28 63 6f 72 |pare nee|ded (cor|
|0000b3e0| 65 20 73 65 72 76 65 72 | 20 70 72 6f 63 29 2a 2f |e server| proc)*/|
|0000b3f0| 0a 0a 2f 2a 20 75 5f 66 | 6c 61 67 73 20 2a 2f 0a |../* u_f|lags */.|
|0000b400| 23 64 65 66 69 6e 65 20 | 55 46 5f 57 53 57 41 50 |#define |UF_WSWAP|
|0000b410| 09 30 78 31 09 2f 2a 20 | 57 6f 72 64 73 20 69 6e |.0x1./* |Words in|
|0000b420| 20 6c 6f 6e 67 73 20 73 | 77 61 70 70 65 64 20 72 | longs s|wapped r|
|0000b430| 65 6c 61 74 69 76 65 20 | 74 6f 20 6b 65 72 6e 65 |elative |to kerne|
|0000b440| 6c 20 2a 2f 0a 0a 2f 2a | 20 76 61 6c 75 65 73 20 |l */../*| values |
|0000b450| 66 6f 72 20 75 5f 68 75 | 67 65 78 20 66 6c 61 67 |for u_hu|gex flag|
|0000b460| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 48 58 5f 53 | */.#def|ine HX_S|
|0000b470| 4d 41 4c 4c 20 20 30 78 | 30 31 09 09 2f 2a 20 6e |MALL 0x|01../* n|
|0000b480| 6f 74 20 63 75 72 72 65 | 6e 74 6c 79 20 62 69 67 |ot curre|ntly big|
|0000b490| 67 65 72 20 74 68 61 6e | 20 73 77 61 70 20 61 72 |ger than| swap ar|
|0000b4a0| 65 61 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 48 58 |ea */.#d|efine HX|
|0000b4b0| 5f 42 49 47 09 20 20 30 | 78 30 32 09 09 2f 2a 20 |_BIG. 0|x02../* |
|0000b4c0| 70 72 6f 63 20 69 73 20 | 62 69 67 67 65 72 20 74 |proc is |bigger t|
|0000b4d0| 68 61 6e 20 73 77 61 70 | 20 61 72 65 61 2a 2f 0a |han swap| area*/.|
|0000b4e0| 31 0a 23 64 65 66 69 6e | 65 09 55 5f 57 4b 44 09 |1.#defin|e.U_WKD.|
|0000b4f0| 32 0a 23 64 65 66 69 6e | 65 09 55 5f 52 4b 44 09 |2.#defin|e.U_RKD.|
|0000b500| 33 0a 23 64 65 66 69 6e | 65 09 55 5f 57 55 49 09 |3.#defin|e.U_WUI.|
|0000b510| 34 0a 23 64 65 66 69 6e | 65 09 55 5f 52 55 49 09 |4.#defin|e.U_RUI.|
|0000b520| 35 0a 0a 23 64 65 66 69 | 6e 65 09 45 58 43 4c 4f |5..#defi|ne.EXCLO|
|0000b530| 53 45 09 30 31 0a 0a 2f | 2a 20 76 61 6c 75 65 73 |SE.01../|* values|
|0000b540| 20 66 6f 72 20 75 5f 6e | 66 73 66 6c 67 73 20 28 | for u_n|fsflgs (|
|0000b550| 61 6c 6c 20 62 69 74 73 | 20 72 65 73 65 72 76 65 |all bits| reserve|
|0000b560| 64 20 66 6f 72 20 4e 46 | 53 29 20 2a 2f 0a 23 64 |d for NF|S) */.#d|
|0000b570| 65 66 69 6e 65 20 4e 46 | 53 4e 45 47 4f 20 20 20 |efine NF|SNEGO |
|0000b580| 30 78 30 31 09 09 2f 2a | 20 63 6f 72 65 20 6e 65 |0x01../*| core ne|
|0000b590| 67 6f 74 69 61 74 65 20 | 77 61 6e 74 65 64 20 6f |gotiate |wanted o|
|0000b5a0| 72 20 6e 6f 74 20 2a 2f | 0a 23 64 03 00 08 02 00 |r not */|.#d.....|
|0000b5b0| 13 5f 00 02 00 1a 2e 2f | 75 73 72 2f 69 6e 63 6c |._...../|usr/incl|
|0000b5c0| 75 64 65 2f 73 79 73 2f | 75 6c 69 6d 69 74 2e 68 |ude/sys/|ulimit.h|
|0000b5d0| 01 25 00 00 00 38 20 20 | 20 34 34 34 20 00 20 20 |.%...8 | 444 . |
|0000b5e0| 20 20 20 30 20 00 20 20 | 20 20 20 30 20 00 20 20 | 0 . | 0 . |
|0000b5f0| 20 20 20 20 20 31 35 34 | 34 20 20 34 32 34 36 30 | 154|4 42460|
|0000b600| 35 31 35 33 31 20 20 31 | 30 36 37 32 00 20 01 b2 |51531 1|0672. ..|
|0000b610| 00 00 03 00 09 02 00 0f | 01 02 00 2f 2a 0a 20 2a |........|.../*. *|
|0000b620| 09 40 28 23 29 20 75 6c | 69 6d 69 74 2e 68 20 32 |.@(#) ul|imit.h 2|
|0000b630| 2e 32 20 38 38 2f 30 35 | 2f 32 33 20 0a 20 2a 0a |.2 88/05|/23 . *.|
|0000b640| 20 2a 09 43 6f 70 79 72 | 69 67 68 74 20 28 43 29 | *.Copyr|ight (C)|
|0000b650| 20 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 | The San|ta Cruz |
|0000b660| 4f 70 65 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |Operatio|n, 1984,|
|0000b670| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|0000b680| 37 2e 0a 20 2a 09 43 6f | 70 79 72 69 67 68 74 20 |7.. *.Co|pyright |
|0000b690| 28 43 29 20 4d 69 63 72 | 6f 73 6f 66 74 20 43 6f |(C) Micr|osoft Co|
|0000b6a0| 72 70 6f 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |rporatio|n, 1984,|
|0000b6b0| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|0000b6c0| 37 2e 0a 20 2a 09 54 68 | 69 73 20 4d 6f 64 75 6c |7.. *.Th|is Modul|
|0000b6d0| 65 20 63 6f 6e 74 61 69 | 6e 73 20 50 72 6f 70 72 |e contai|ns Propr|
|0000b6e0| 69 65 74 61 72 79 20 49 | 6e 66 6f 72 6d 61 74 69 |ietary I|nformati|
|0000b6f0| 6f 6e 20 6f 66 0a 20 2a | 09 54 68 65 20 53 61 6e |on of. *|.The San|
|0000b700| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|0000b710| 6e 2c 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |n, Micro|soft Cor|
|0000b720| 70 6f 72 61 74 69 6f 6e | 0a 20 2a 09 61 6e 64 20 |poration|. *.and |
|0000b730| 41 54 26 54 2c 20 61 6e | 64 20 73 68 6f 75 6c 64 |AT&T, an|d should|
|0000b740| 20 62 65 20 74 72 65 61 | 74 65 64 20 61 73 20 43 | be trea|ted as C|
|0000b750| 6f 6e 66 69 64 65 6e 74 | 69 61 6c 2e 0a 20 2a 2f |onfident|ial.. */|
|0000b760| 0a 0a 2f 2a 0a 20 2a 20 | 54 48 49 53 20 46 49 4c |../*. * |THIS FIL|
|0000b770| 45 20 43 4f 4e 54 41 49 | 4e 53 20 43 4f 44 45 20 |E CONTAI|NS CODE |
|0000b780| 57 48 49 43 48 20 49 53 | 20 44 45 53 49 47 4e 45 |WHICH IS| DESIGNE|
|0000b790| 44 20 54 4f 20 42 45 0a | 20 2a 20 50 4f 52 54 41 |D TO BE.| * PORTA|
|0000b7a0| 42 4c 45 20 42 45 54 57 | 45 45 4e 20 44 49 46 46 |BLE BETW|EEN DIFF|
|0000b7b0| 45 52 45 4e 54 20 4d 41 | 43 48 49 4e 45 20 41 52 |ERENT MA|CHINE AR|
|0000b7c0| 43 48 49 54 45 43 54 55 | 52 45 53 0a 20 2a 20 41 |CHITECTU|RES. * A|
|0000b7d0| 4e 44 20 43 4f 4e 46 49 | 47 55 52 41 54 49 4f 4e |ND CONFI|GURATION|
|0000b7e0| 53 2e 20 49 54 20 53 48 | 4f 55 4c 44 20 4e 4f 54 |S. IT SH|OULD NOT|
|0000b7f0| 20 52 45 51 55 49 52 45 | 20 41 4e 59 0a 20 2a 20 | REQUIRE| ANY. * |
|0000b800| 4d 4f 44 49 46 49 43 41 | 54 49 4f 4e 53 20 57 48 |MODIFICA|TIONS WH|
|0000b810| 45 4e 20 41 44 41 50 54 | 49 4e 47 03 00 0a 02 00 |EN ADAPT|ING.....|
|0000b820| 30 01 02 00 20 58 45 4e | 49 58 20 54 4f 20 4e 45 |0... XEN|IX TO NE|
|0000b830| 57 20 48 41 52 44 57 41 | 52 45 2e 0a 20 2a 2f 0a |W HARDWA|RE.. */.|
|0000b840| 0a 2f 2a 0a 20 2a 20 54 | 68 65 20 66 6f 6c 6c 6f |./*. * T|he follo|
|0000b850| 77 69 6e 67 20 61 72 65 | 20 63 6f 64 65 73 20 77 |wing are| codes w|
|0000b860| 68 69 63 68 20 63 61 6e | 20 62 65 0a 20 2a 20 70 |hich can| be. * p|
|0000b870| 61 73 73 65 64 20 74 6f | 20 74 68 65 20 75 6c 69 |assed to| the uli|
|0000b880| 6d 69 74 20 73 79 73 74 | 65 6d 20 63 61 6c 6c 2e |mit syst|em call.|
|0000b890| 0a 20 2a 2f 0a 0a 23 64 | 65 66 69 6e 65 20 55 4c |. */..#d|efine UL|
|0000b8a0| 5f 47 46 49 4c 4c 49 4d | 09 31 09 2f 2a 20 67 65 |_GFILLIM|.1./* ge|
|0000b8b0| 74 20 66 69 6c 65 20 6c | 69 6d 69 74 20 2a 2f 0a |t file l|imit */.|
|0000b8c0| 23 64 65 66 69 6e 65 20 | 55 4c 5f 53 46 49 4c 4c |#define |UL_SFILL|
|0000b8d0| 49 4d 09 32 09 2f 2a 20 | 73 65 74 20 66 69 6c 65 |IM.2./* |set file|
|0000b8e0| 20 6c 69 6d 69 74 20 2a | 2f 0a 23 64 65 66 69 6e | limit *|/.#defin|
|0000b8f0| 65 20 55 4c 5f 47 4d 45 | 4d 4c 49 4d 09 33 09 2f |e UL_GME|MLIM.3./|
|0000b900| 2a 20 67 65 74 20 70 72 | 6f 63 65 73 73 20 73 69 |* get pr|ocess si|
|0000b910| 7a 65 20 6c 69 6d 69 74 | 20 2a 2f 0a 23 64 65 66 |ze limit| */.#def|
|0000b920| 69 6e 65 20 55 4c 5f 4e | 4f 46 49 4c 45 53 09 34 |ine UL_N|OFILES.4|
|0000b930| 09 2f 2a 20 67 65 74 20 | 6e 75 6d 62 65 72 20 6f |./* get |number o|
|0000b940| 66 20 6f 70 65 6e 20 66 | 69 6c 65 73 20 70 65 72 |f open f|iles per|
|0000b950| 20 70 72 6f 63 65 73 73 | 20 2a 2f 0a 23 64 65 66 | process| */.#def|
|0000b960| 69 6e 65 20 55 4c 5f 47 | 54 58 54 4f 46 46 09 36 |ine UL_G|TXTOFF.6|
|0000b970| 34 09 2f 2a 20 67 65 74 | 20 74 65 78 74 20 6f 66 |4./* get| text of|
|0000b980| 66 73 65 74 20 2a 2f 0a | 20 57 48 49 43 48 20 49 |fset */.| WHICH I|
|0000b990| 53 20 44 45 53 49 47 4e | 45 44 20 54 4f 20 42 45 |S DESIGN|ED TO BE|
|0000b9a0| 0a 20 2a 20 50 4f 52 54 | 41 42 4c 45 20 42 45 54 |. * PORT|ABLE BET|
|0000b9b0| 57 45 45 4e 20 44 49 46 | 46 45 52 45 4e 54 20 4d |WEEN DIF|FERENT M|
|0000b9c0| 41 43 48 49 4e 45 20 41 | 52 43 48 49 54 45 43 54 |ACHINE A|RCHITECT|
|0000b9d0| 55 52 45 53 0a 20 2a 20 | 41 4e 44 20 43 4f 4e 46 |URES. * |AND CONF|
|0000b9e0| 49 47 55 52 41 54 49 4f | 4e 53 2e 20 49 54 20 53 |IGURATIO|NS. IT S|
|0000b9f0| 48 4f 55 4c 44 20 4e 4f | 54 20 52 45 51 55 49 52 |HOULD NO|T REQUIR|
|0000ba00| 45 20 41 4e 59 0a 20 2a | 20 4d 4f 44 49 46 49 43 |E ANY. *| MODIFIC|
|0000ba10| 41 54 49 4f 4e 53 20 57 | 48 45 4e 20 41 44 41 50 |ATIONS W|HEN ADAP|
|0000ba20| 54 49 4e 47 03 00 0b 02 | 00 1d 5f 00 02 00 1a 2e |TING....|.._.....|
|0000ba30| 2f 75 73 72 2f 69 6e 63 | 6c 75 64 65 2f 73 79 73 |/usr/inc|lude/sys|
|0000ba40| 2f 75 61 64 6d 69 6e 2e | 68 01 25 00 00 00 38 20 |/uadmin.|h.%...8 |
|0000ba50| 20 20 34 34 34 20 00 20 | 20 20 20 20 30 20 00 20 | 444 . | 0 . |
|0000ba60| 20 20 20 20 30 20 00 20 | 20 20 20 20 20 20 31 32 | 0 . | 12|
|0000ba70| 36 36 20 20 34 32 34 34 | 33 34 30 31 36 36 20 20 |66 4244|340166 |
|0000ba80| 31 30 36 35 30 00 20 01 | b2 00 00 03 00 0c 02 00 |10650. .|........|
|0000ba90| 6f 01 02 00 2f 2a 0a 20 | 2a 09 40 28 23 29 20 75 |o.../*. |*.@(#) u|
|0000baa0| 61 64 6d 69 6e 2e 68 20 | 32 2e 32 20 38 38 2f 30 |admin.h |2.2 88/0|
|0000bab0| 35 2f 31 38 20 0a 20 2a | 0a 20 2a 09 43 6f 70 79 |5/18 . *|. *.Copy|
|0000bac0| 72 69 67 68 74 20 28 43 | 29 20 54 68 65 20 53 61 |right (C|) The Sa|
|0000bad0| 6e 74 61 20 43 72 75 7a | 20 4f 70 65 72 61 74 69 |nta Cruz| Operati|
|0000bae0| 6f 6e 2c 20 31 39 38 34 | 2c 20 31 39 38 35 2c 20 |on, 1984|, 1985, |
|0000baf0| 31 39 38 36 2c 20 31 39 | 38 37 2c 20 31 39 38 38 |1986, 19|87, 1988|
|0000bb00| 2e 0a 20 2a 09 43 6f 70 | 79 72 69 67 68 74 20 28 |.. *.Cop|yright (|
|0000bb10| 43 29 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |C) Micro|soft Cor|
|0000bb20| 70 6f 72 61 74 69 6f 6e | 2c 20 31 39 38 34 2c 20 |poration|, 1984, |
|0000bb30| 31 39 38 35 2c 20 31 39 | 38 36 2c 20 31 39 38 37 |1985, 19|86, 1987|
|0000bb40| 2c 20 31 39 38 38 2e 0a | 20 2a 09 54 68 69 73 20 |, 1988..| *.This |
|0000bb50| 4d 6f 64 75 6c 65 20 63 | 6f 6e 74 61 69 6e 73 20 |Module c|ontains |
|0000bb60| 50 72 6f 70 72 69 65 74 | 61 72 79 20 49 6e 66 6f |Propriet|ary Info|
|0000bb70| 72 6d 61 74 69 6f 6e 20 | 6f 66 0a 20 2a 09 54 68 |rmation |of. *.Th|
|0000bb80| 65 20 53 61 6e 74 61 20 | 43 72 75 7a 20 4f 70 65 |e Santa |Cruz Ope|
|0000bb90| 72 61 74 69 6f 6e 2c 20 | 4d 69 63 72 6f 73 6f 66 |ration, |Microsof|
|0000bba0| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 0a 20 2a |t Corpor|ation. *|
|0000bbb0| 09 61 6e 64 20 41 54 26 | 54 2c 20 61 6e 64 20 73 |.and AT&|T, and s|
|0000bbc0| 68 6f 75 6c 64 20 62 65 | 20 74 72 65 61 74 65 64 |hould be| treated|
|0000bbd0| 20 61 73 20 43 6f 6e 66 | 69 64 65 6e 74 69 61 6c | as Conf|idential|
|0000bbe0| 2e 0a 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 41 |.. */..#|define A|
|0000bbf0| 5f 52 45 42 4f 4f 54 09 | 31 0a 23 64 65 66 69 6e |_REBOOT.|1.#defin|
|0000bc00| 65 20 41 5f 53 48 55 54 | 44 4f 57 4e 09 32 0a 23 |e A_SHUT|DOWN.2.#|
|0000bc10| 64 65 66 69 6e 65 20 41 | 5f 52 45 4d 4f 55 4e 54 |define A|_REMOUNT|
|0000bc20| 09 34 0a 23 64 65 66 69 | 6e 65 20 41 5f 53 45 54 |.4.#defi|ne A_SET|
|0000bc30| 43 4f 4e 46 49 47 09 31 | 32 38 0a 23 64 65 66 69 |CONFIG.1|28.#defi|
|0000bc40| 6e 65 20 41 5f 47 45 54 | 44 45 56 09 31 33 30 0a |ne A_GET|DEV.130.|
|0000bc50| 0a 2f 2a 0a 20 2a 20 66 | 6e 63 27 73 20 66 6f 72 |./*. * f|nc's for|
|0000bc60| 20 41 5f 52 45 42 4f 4f | 54 20 26 20 41 5f 53 48 | A_REBOO|T & A_SH|
|0000bc70| 55 54 44 4f 57 4e 0a 20 | 2a 2f 0a 23 64 65 66 69 |UTDOWN. |*/.#defi|
|0000bc80| 6e 65 20 41 44 5f 48 41 | 4c 54 09 09 30 0a 23 64 |ne AD_HA|LT..0.#d|
|0000bc90| 65 66 69 6e 03 00 0d 02 | 00 89 01 02 00 65 20 41 |efin....|.....e A|
|0000bca0| 44 5f 42 4f 4f 54 09 09 | 31 0a 23 64 65 66 69 6e |D_BOOT..|1.#defin|
|0000bcb0| 65 20 41 44 5f 49 42 4f | 4f 54 09 32 0a 23 64 65 |e AD_IBO|OT.2.#de|
|0000bcc0| 66 69 6e 65 20 41 44 5f | 50 57 52 44 4f 57 4e 09 |fine AD_|PWRDOWN.|
|0000bcd0| 33 0a 0a 2f 2a 0a 20 2a | 20 66 6e 63 27 73 20 66 |3../*. *| fnc's f|
|0000bce0| 6f 72 20 41 5f 53 45 54 | 43 4f 4e 46 49 47 0a 20 |or A_SET|CONFIG. |
|0000bcf0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 41 44 5f 50 41 |*/.#defi|ne AD_PA|
|0000bd00| 4e 49 43 42 4f 4f 54 09 | 31 0a 0a 2f 2a 0a 20 2a |NICBOOT.|1../*. *|
|0000bd10| 20 66 6e 63 27 73 20 66 | 6f 72 20 41 5f 47 45 54 | fnc's f|or A_GET|
|0000bd20| 44 45 56 0a 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |DEV. */.|#define |
|0000bd30| 41 44 5f 47 45 54 42 4d | 41 4a 09 30 0a 23 64 65 |AD_GETBM|AJ.0.#de|
|0000bd40| 66 69 6e 65 20 41 44 5f | 47 45 54 43 4d 41 4a 09 |fine AD_|GETCMAJ.|
|0000bd50| 31 0a 0a 09 54 68 69 73 | 20 4d 6f 64 75 6c 65 20 |1...This| Module |
|0000bd60| 63 6f 6e 74 61 69 6e 73 | 20 50 72 6f 70 72 69 65 |contains| Proprie|
|0000bd70| 74 61 72 79 20 49 6e 66 | 6f 72 6d 61 74 69 6f 6e |tary Inf|ormation|
|0000bd80| 20 6f 66 0a 20 2a 09 54 | 68 65 20 53 61 6e 74 61 | of. *.T|he Santa|
|0000bd90| 20 43 72 75 7a 20 4f 70 | 65 72 61 74 69 6f 6e 2c | Cruz Op|eration,|
|0000bda0| 20 4d 69 63 72 6f 73 6f | 66 74 20 43 6f 72 70 6f | Microso|ft Corpo|
|0000bdb0| 72 61 74 69 6f 6e 0a 20 | 2a 09 61 6e 64 20 41 54 |ration. |*.and AT|
|0000bdc0| 26 54 2c 20 61 6e 64 20 | 73 68 6f 75 6c 64 20 62 |&T, and |should b|
|0000bdd0| 65 20 74 72 65 61 74 65 | 64 20 61 73 20 43 6f 6e |e treate|d as Con|
|0000bde0| 66 69 64 65 6e 74 69 61 | 6c 2e 0a 20 2a 2f 0a 0a |fidentia|l.. */..|
|0000bdf0| 23 64 65 66 69 6e 65 20 | 41 5f 52 45 42 4f 4f 54 |#define |A_REBOOT|
|0000be00| 09 31 0a 23 64 65 66 69 | 6e 65 20 41 5f 53 48 55 |.1.#defi|ne A_SHU|
|0000be10| 54 44 4f 57 4e 09 32 0a | 23 64 65 66 69 6e 65 20 |TDOWN.2.|#define |
|0000be20| 41 5f 52 45 4d 4f 55 4e | 54 09 34 0a 23 64 65 66 |A_REMOUN|T.4.#def|
|0000be30| 69 6e 65 20 41 5f 53 45 | 54 43 4f 4e 46 49 47 09 |ine A_SE|TCONFIG.|
|0000be40| 31 32 38 0a 23 64 65 66 | 69 6e 65 20 41 5f 47 45 |128.#def|ine A_GE|
|0000be50| 54 44 45 56 09 31 33 30 | 0a 0a 2f 2a 0a 20 2a 20 |TDEV.130|../*. * |
|0000be60| 66 6e 63 27 73 20 66 6f | 72 20 41 5f 52 45 42 4f |fnc's fo|r A_REBO|
|0000be70| 4f 54 20 26 20 41 5f 53 | 48 55 54 44 4f 57 4e 0a |OT & A_S|HUTDOWN.|
|0000be80| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 41 44 5f 48 | */.#def|ine AD_H|
|0000be90| 41 4c 54 09 09 30 0a 23 | 64 65 66 69 6e 03 00 0e |ALT..0.#|defin...|
|0000bea0| 02 00 f8 5f 00 02 00 19 | 2e 2f 75 73 72 2f 69 6e |..._....|./usr/in|
|0000beb0| 63 6c 75 64 65 2f 73 79 | 73 2f 74 79 70 65 73 2e |clude/sy|s/types.|
|0000bec0| 68 01 25 00 00 00 39 00 | 20 20 20 34 34 34 20 00 |h.%...9.| 444 .|
|0000bed0| 20 20 20 20 20 30 20 00 | 20 20 20 20 20 30 20 00 | 0 .| 0 .|
|0000bee0| 20 20 20 20 20 20 20 35 | 35 37 36 20 20 34 32 35 | 5|576 425|
|0000bef0| 37 35 36 33 33 30 34 20 | 20 31 30 35 35 34 00 20 |7563304 | 10554. |
|0000bf00| 01 b2 00 00 03 00 0f 02 | 00 a5 01 02 00 2f 2a 0a |........|...../*.|
|0000bf10| 20 2a 09 40 28 23 29 20 | 74 79 70 65 73 2e 68 20 | *.@(#) |types.h |
|0000bf20| 32 2e 33 20 38 38 2f 30 | 36 2f 32 31 20 0a 20 2a |2.3 88/0|6/21 . *|
|0000bf30| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|0000bf40| 29 20 54 68 65 20 53 61 | 6e 74 61 20 43 72 75 7a |) The Sa|nta Cruz|
|0000bf50| 20 4f 70 65 72 61 74 69 | 6f 6e 2c 20 31 39 38 34 | Operati|on, 1984|
|0000bf60| 2c 20 31 39 38 35 2c 20 | 31 39 38 36 2c 20 31 39 |, 1985, |1986, 19|
|0000bf70| 38 37 2c 20 31 39 38 38 | 2e 0a 20 2a 09 43 6f 70 |87, 1988|.. *.Cop|
|0000bf80| 79 72 69 67 68 74 20 28 | 43 29 20 4d 69 63 72 6f |yright (|C) Micro|
|0000bf90| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|0000bfa0| 2c 20 31 39 38 34 2c 20 | 31 39 38 35 2c 20 31 39 |, 1984, |1985, 19|
|0000bfb0| 38 36 2c 20 31 39 38 37 | 2c 20 31 39 38 38 2e 0a |86, 1987|, 1988..|
|0000bfc0| 20 2a 09 54 68 69 73 20 | 4d 6f 64 75 6c 65 20 63 | *.This |Module c|
|0000bfd0| 6f 6e 74 61 69 6e 73 20 | 50 72 6f 70 72 69 65 74 |ontains |Propriet|
|0000bfe0| 61 72 79 20 49 6e 66 6f | 72 6d 61 74 69 6f 6e 20 |ary Info|rmation |
|0000bff0| 6f 66 0a 20 2a 09 54 68 | 65 20 53 61 6e 74 61 20 |of. *.Th|e Santa |
|0000c000| 43 72 75 7a 20 4f 70 65 | 72 61 74 69 6f 6e 2c 20 |Cruz Ope|ration, |
|0000c010| 4d 69 63 72 6f 73 6f 66 | 74 20 43 6f 72 70 6f 72 |Microsof|t Corpor|
|0000c020| 61 74 69 6f 6e 0a 20 2a | 09 61 6e 64 20 41 54 26 |ation. *|.and AT&|
|0000c030| 54 2c 20 61 6e 64 20 73 | 68 6f 75 6c 64 20 62 65 |T, and s|hould be|
|0000c040| 20 74 72 65 61 74 65 64 | 20 61 73 20 43 6f 6e 66 | treated| as Conf|
|0000c050| 69 64 65 6e 74 69 61 6c | 2e 0a 20 2a 2f 0a 0a 2f |idential|.. */../|
|0000c060| 2a 0a 20 2a 20 54 48 49 | 53 20 46 49 4c 45 20 43 |*. * THI|S FILE C|
|0000c070| 4f 4e 54 41 49 4e 53 20 | 43 4f 44 45 20 57 48 49 |ONTAINS |CODE WHI|
|0000c080| 43 48 20 49 53 20 53 50 | 45 43 49 46 49 43 20 54 |CH IS SP|ECIFIC T|
|0000c090| 4f 20 54 48 45 0a 20 2a | 20 49 4e 54 45 4c 20 38 |O THE. *| INTEL 8|
|0000c0a0| 30 32 38 36 20 43 50 55 | 20 41 4e 44 20 4d 41 59 |0286 CPU| AND MAY|
|0000c0b0| 20 52 45 51 55 49 52 45 | 20 4d 4f 44 49 46 49 43 | REQUIRE| MODIFIC|
|0000c0c0| 41 54 49 4f 4e 0a 20 2a | 20 57 48 45 4e 20 41 44 |ATION. *| WHEN AD|
|0000c0d0| 41 50 54 49 4e 47 20 58 | 45 4e 49 58 20 54 4f 20 |APTING X|ENIX TO |
|0000c0e0| 4e 45 57 20 48 41 52 44 | 57 41 52 45 2e 0a 20 2a |NEW HARD|WARE.. *|
|0000c0f0| 2f 0a 0a 74 79 70 65 64 | 65 66 09 73 74 72 75 63 |/..typed|ef.struc|
|0000c100| 74 20 7b 20 69 6e 74 20 | 72 5b 31 5d 3b 0f 03 01 |t { int |r[1];...|
|0000c110| 40 03 01 01 02 00 b5 01 | 02 00 20 7d 09 2a 70 68 |@.......|.. }.*ph|
|0000c120| 79 73 61 64 72 3b 0a 74 | 79 70 65 64 65 66 09 6c |ysadr;.t|ypedef.l|
|0000c130| 6f 6e 67 09 09 64 61 64 | 64 72 5f 74 3b 0a 74 79 |ong..dad|dr_t;.ty|
|0000c140| 70 65 64 65 66 09 63 68 | 61 72 09 09 2a 63 61 64 |pedef.ch|ar..*cad|
|0000c150| 64 72 5f 74 3b 0a 74 79 | 70 65 64 65 66 09 75 6e |dr_t;.ty|pedef.un|
|0000c160| 73 69 67 6e 65 64 20 73 | 68 6f 72 74 09 75 73 68 |signed s|hort.ush|
|0000c170| 6f 72 74 3b 0a 74 79 70 | 65 64 65 66 09 75 6e 73 |ort;.typ|edef.uns|
|0000c180| 69 67 6e 65 64 20 73 68 | 6f 72 74 09 69 6e 6f 5f |igned sh|ort.ino_|
|0000c190| 74 3b 0a 74 79 70 65 64 | 65 66 09 63 68 61 72 09 |t;.typed|ef.char.|
|0000c1a0| 09 63 6e 74 5f 74 3b 0a | 74 79 70 65 64 65 66 09 |.cnt_t;.|typedef.|
|0000c1b0| 6c 6f 6e 67 09 09 74 69 | 6d 65 5f 74 3b 0a 23 69 |long..ti|me_t;.#i|
|0000c1c0| 66 64 65 66 20 4d 5f 49 | 33 38 36 0a 74 79 70 65 |fdef M_I|386.type|
|0000c1d0| 64 65 66 09 69 6e 74 09 | 09 6c 61 62 65 6c 5f 74 |def.int.|.label_t|
|0000c1e0| 5b 36 5d 3b 09 2f 2a 20 | 72 65 74 75 72 6e 2c 20 |[6];./* |return, |
|0000c1f0| 73 70 2c 20 73 69 2c 20 | 64 69 2c 20 62 70 20 2a |sp, si, |di, bp *|
|0000c200| 2f 0a 23 65 6c 73 65 0a | 74 79 70 65 64 65 66 09 |/.#else.|typedef.|
|0000c210| 69 6e 74 09 09 6c 61 62 | 65 6c 5f 74 5b 36 5d 3b |int..lab|el_t[6];|
|0000c220| 09 2f 2a 20 72 65 74 75 | 72 6e 2c 20 73 70 2c 20 |./* retu|rn, sp, |
|0000c230| 73 69 2c 20 64 69 2c 20 | 62 70 20 2a 2f 0a 23 65 |si, di, |bp */.#e|
|0000c240| 6e 64 69 66 0a 74 79 70 | 65 64 65 66 09 73 68 6f |ndif.typ|edef.sho|
|0000c250| 72 74 09 09 64 65 76 5f | 74 3b 0a 74 79 70 65 64 |rt..dev_|t;.typed|
|0000c260| 65 66 09 6c 6f 6e 67 09 | 09 6f 66 66 5f 74 3b 0a |ef.long.|.off_t;.|
|0000c270| 74 79 70 65 64 65 66 09 | 75 6e 73 69 67 6e 65 64 |typedef.|unsigned|
|0000c280| 20 6c 6f 6e 67 09 70 61 | 64 64 72 5f 74 3b 0a 74 | long.pa|ddr_t;.t|
|0000c290| 79 70 65 64 65 66 09 75 | 6e 73 69 67 6e 65 64 20 |ypedef.u|nsigned |
|0000c2a0| 73 68 6f 72 74 09 6d 6c | 6f 63 5f 74 3b 09 09 2f |short.ml|oc_t;../|
|0000c2b0| 2a 20 6d 65 6d 6f 72 79 | 20 72 65 67 69 6f 6e 20 |* memory| region |
|0000c2c0| 6c 6f 63 61 74 69 6f 6e | 20 2a 2f 0a 74 79 70 65 |location| */.type|
|0000c2d0| 64 65 66 09 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |def.unsi|gned sho|
|0000c2e0| 72 74 09 6d 73 69 7a 65 | 5f 74 3b 09 2f 2a 20 6d |rt.msize|_t;./* m|
|0000c2f0| 65 6d 6f 72 79 20 72 65 | 67 69 6f 6e 20 73 69 7a |emory re|gion siz|
|0000c300| 65 20 2a 2f 0a 74 79 70 | 65 64 65 66 20 6c 6f 6e |e */.typ|edef lon|
|0000c310| 67 09 09 6b 65 79 5f 74 | 3b 09 03 01 02 02 00 19 |g..key_t|;.......|
|0000c320| 01 02 00 09 2f 2a 20 49 | 50 43 20 6b 65 79 09 20 |..../* I|PC key. |
|0000c330| 20 20 20 20 20 2a 2f 0a | 74 79 70 65 64 65 66 20 | */.|typedef |
|0000c340| 69 6e 74 20 09 09 70 66 | 6e 5f 74 3b 0a 74 79 70 |int ..pf|n_t;.typ|
|0000c350| 65 64 65 66 20 75 6e 73 | 69 67 6e 65 64 20 69 6e |edef uns|igned in|
|0000c360| 74 09 75 69 6e 74 3b 0a | 0a 23 69 66 64 65 66 20 |t.uint;.|.#ifdef |
|0000c370| 4d 5f 49 33 38 36 0a 23 | 64 65 66 69 6e 65 09 69 |M_I386.#|define.i|
|0000c380| 6e 6f 64 65 70 5f 74 09 | 73 74 72 75 63 74 20 69 |nodep_t.|struct i|
|0000c390| 6e 6f 64 65 20 2a 0a 23 | 64 65 66 69 6e 65 09 69 |node *.#|define.i|
|0000c3a0| 6e 6f 64 65 70 70 5f 74 | 09 73 74 72 75 63 74 20 |nodepp_t|.struct |
|0000c3b0| 69 6e 6f 64 65 20 2a 2a | 0a 23 64 65 66 69 6e 65 |inode **|.#define|
|0000c3c0| 09 66 69 6c 65 70 5f 74 | 09 09 73 74 72 75 63 74 |.filep_t|..struct|
|0000c3d0| 20 66 69 6c 65 20 2a 0a | 23 65 6c 73 65 0a 23 64 | file *.|#else.#d|
|0000c3e0| 65 66 69 6e 65 09 69 6e | 6f 64 65 70 5f 74 09 73 |efine.in|odep_t.s|
|0000c3f0| 74 72 75 63 74 20 69 6e | 6f 64 65 20 66 61 72 20 |truct in|ode far |
|0000c400| 2a 0a 23 64 65 66 69 6e | 65 09 69 6e 6f 64 65 70 |*.#defin|e.inodep|
|0000c410| 70 5f 74 09 73 74 72 75 | 63 74 20 69 6e 6f 64 65 |p_t.stru|ct inode|
|0000c420| 20 66 61 72 20 2a 20 66 | 61 72 20 2a 0a 23 64 65 | far * f|ar *.#de|
|0000c430| 66 69 6e 65 09 66 69 6c | 65 70 5f 74 09 09 73 74 |fine.fil|ep_t..st|
|0000c440| 72 75 63 74 20 66 69 6c | 65 20 66 61 72 20 2a 0a |ruct fil|e far *.|
|0000c450| 23 65 6e 64 69 66 0a 0a | 0a 2f 2a 20 38 30 32 38 |#endif..|./* 8028|
|0000c460| 36 20 73 70 65 63 69 61 | 6c 20 74 79 70 65 73 20 |6 specia|l types |
|0000c470| 2a 2f 0a 0a 23 69 66 64 | 65 66 20 4d 5f 49 32 38 |*/..#ifd|ef M_I28|
|0000c480| 36 0a 23 64 65 66 69 6e | 65 09 66 61 64 64 72 5f |6.#defin|e.faddr_|
|0000c490| 74 09 09 63 68 61 72 20 | 66 61 72 20 2a 0a 23 64 |t..char |far *.#d|
|0000c4a0| 65 66 69 6e 65 09 66 64 | 65 73 63 5f 74 09 09 73 |efine.fd|esc_t..s|
|0000c4b0| 74 72 75 63 74 20 64 65 | 73 63 74 61 62 20 66 61 |truct de|sctab fa|
|0000c4c0| 72 09 2f 2a 20 66 61 72 | 20 6c 64 74 20 65 6e 74 |r./* far| ldt ent|
|0000c4d0| 72 79 20 2a 2f 0a 23 65 | 6c 73 65 0a 23 64 65 66 |ry */.#e|lse.#def|
|0000c4e0| 69 6e 65 09 66 61 64 64 | 72 5f 74 09 09 63 68 61 |ine.fadd|r_t..cha|
|0000c4f0| 72 20 2a 09 09 2f 2a 20 | 73 61 6d 65 20 61 73 20 |r *../* |same as |
|0000c500| 63 61 64 64 72 5f 74 20 | 66 6f 72 20 38 30 38 36 |caddr_t |for 8086|
|0000c510| 2f 33 38 36 20 2a 2f 0a | 23 65 6e 64 69 66 0a 0a |/386 */.|#endif..|
|0000c520| 0a 2f 2a 03 01 03 02 00 | 62 01 02 00 20 27 76 6f |./*.....|b... 'vo|
|0000c530| 69 64 27 20 74 79 70 65 | 20 63 6f 6d 70 61 74 69 |id' type| compati|
|0000c540| 62 69 6c 69 74 79 20 2a | 2f 0a 23 69 66 64 65 66 |bility *|/.#ifdef|
|0000c550| 09 4d 5f 4f 4c 44 56 4f | 49 44 0a 74 79 70 65 64 |.M_OLDVO|ID.typed|
|0000c560| 65 66 09 69 6e 74 09 76 | 6f 69 64 3b 0a 23 65 6e |ef.int.v|oid;.#en|
|0000c570| 64 69 66 0a 0a 2f 2a 20 | 27 75 6e 73 69 67 6e 65 |dif../* |'unsigne|
|0000c580| 64 27 20 74 79 70 65 20 | 63 6f 6d 70 61 74 69 62 |d' type |compatib|
|0000c590| 69 6c 69 74 79 20 2a 2f | 0a 23 69 66 64 65 66 09 |ility */|.#ifdef.|
|0000c5a0| 4d 5f 4f 4c 44 53 49 47 | 4e 09 2f 2a 20 7b 20 2a |M_OLDSIG|N./* { *|
|0000c5b0| 2f 0a 0a 74 79 70 65 64 | 65 66 09 63 68 61 72 09 |/..typed|ef.char.|
|0000c5c0| 75 63 68 61 72 5f 74 3b | 0a 74 79 70 65 64 65 66 |uchar_t;|.typedef|
|0000c5d0| 09 6c 6f 6e 67 09 75 6c | 6f 6e 67 5f 74 3b 0a 0a |.long.ul|ong_t;..|
|0000c5e0| 23 64 65 66 69 6e 65 09 | 47 45 54 55 43 48 41 52 |#define.|GETUCHAR|
|0000c5f0| 28 75 63 29 09 28 30 78 | 66 66 20 26 20 28 75 63 |(uc).(0x|ff & (uc|
|0000c600| 29 29 09 09 2f 2a 20 65 | 78 74 72 61 63 74 20 76 |))../* e|xtract v|
|0000c610| 61 6c 75 65 20 2a 2f 0a | 2f 2a 20 57 41 52 4e 49 |alue */.|/* WARNI|
|0000c620| 4e 47 3a 20 79 6f 75 20 | 77 69 6c 6c 20 6c 6f 73 |NG: you |will los|
|0000c630| 65 20 74 68 65 20 68 69 | 67 68 20 62 69 74 20 2a |e the hi|gh bit *|
|0000c640| 2f 0a 23 64 65 66 69 6e | 65 09 47 45 54 55 4c 4f |/.#defin|e.GETULO|
|0000c650| 4e 47 28 75 6c 29 09 28 | 30 78 37 66 66 66 66 66 |NG(ul).(|0x7fffff|
|0000c660| 66 66 4c 20 26 20 28 75 | 6c 29 29 09 2f 2a 20 65 |ffL & (u|l))./* e|
|0000c670| 78 74 72 61 63 74 20 76 | 61 6c 75 65 20 2a 2f 0a |xtract v|alue */.|
|0000c680| 0a 23 65 6c 73 65 09 09 | 09 2f 2a 20 7d 7b 20 2a |.#else..|./* }{ *|
|0000c690| 2f 0a 0a 74 79 70 65 64 | 65 66 20 75 6e 73 69 67 |/..typed|ef unsig|
|0000c6a0| 6e 65 64 20 63 68 61 72 | 20 75 63 68 61 72 5f 74 |ned char| uchar_t|
|0000c6b0| 3b 0a 74 79 70 65 64 65 | 66 20 75 6e 73 69 67 6e |;.typede|f unsign|
|0000c6c0| 65 64 20 6c 6f 6e 67 20 | 75 6c 6f 6e 67 5f 74 3b |ed long |ulong_t;|
|0000c6d0| 0a 23 64 65 66 69 6e 65 | 09 47 45 54 55 43 48 41 |.#define|.GETUCHA|
|0000c6e0| 52 28 75 63 29 09 28 75 | 63 29 0a 23 64 65 66 69 |R(uc).(u|c).#defi|
|0000c6f0| 6e 65 09 47 45 54 55 4c | 4f 4e 47 28 75 6c 29 09 |ne.GETUL|ONG(ul).|
|0000c700| 28 75 6c 29 0a 0a 23 65 | 6e 64 69 66 09 09 09 2f |(ul)..#e|ndif.../|
|0000c710| 2a 20 7d 20 2a 2f 0a 0a | 73 74 72 75 63 74 20 73 |* } */..|struct s|
|0000c720| 61 64 64 72 20 7b 09 09 | 09 0a 09 75 03 01 04 02 |addr {..|...u....|
|0000c730| 00 5d 01 02 00 6e 73 69 | 67 6e 65 64 20 73 68 6f |.]...nsi|gned sho|
|0000c740| 72 74 09 73 61 5f 73 65 | 67 3b 0a 09 6c 6f 6e 67 |rt.sa_se|g;..long|
|0000c750| 09 09 73 61 5f 6f 66 66 | 3b 0a 7d 3b 0a 0a 23 64 |..sa_off|;.};..#d|
|0000c760| 65 66 69 6e 65 09 4e 42 | 42 59 09 38 09 09 2f 2a |efine.NB|BY.8../*|
|0000c770| 20 6e 75 6d 62 65 72 20 | 6f 66 20 62 69 74 73 20 | number |of bits |
|0000c780| 69 6e 20 61 20 62 79 74 | 65 20 2a 2f 0a 0a 2f 2a |in a byt|e */../*|
|0000c790| 0a 20 2a 20 53 65 6c 65 | 63 74 20 75 73 65 73 20 |. * Sele|ct uses |
|0000c7a0| 62 69 74 20 6d 61 73 6b | 73 20 6f 66 20 66 69 6c |bit mask|s of fil|
|0000c7b0| 65 20 64 65 73 63 72 69 | 70 74 6f 72 73 20 69 6e |e descri|ptors in|
|0000c7c0| 20 6c 6f 6e 67 73 2e 0a | 20 2a 20 54 68 65 73 65 | longs..| * These|
|0000c7d0| 20 6d 61 63 72 6f 73 20 | 6d 61 6e 69 70 75 6c 61 | macros |manipula|
|0000c7e0| 74 65 20 73 75 63 68 20 | 62 69 74 20 66 69 65 6c |te such |bit fiel|
|0000c7f0| 64 73 20 28 74 68 65 20 | 66 69 6c 65 73 79 73 74 |ds (the |filesyst|
|0000c800| 65 6d 20 6d 61 63 72 6f | 73 20 75 73 65 20 63 68 |em macro|s use ch|
|0000c810| 61 72 73 29 2e 0a 20 2a | 20 46 44 5f 53 45 54 53 |ars).. *| FD_SETS|
|0000c820| 49 5a 45 20 6d 61 79 20 | 62 65 20 64 65 66 69 6e |IZE may |be defin|
|0000c830| 65 64 20 62 79 20 74 68 | 65 20 75 73 65 72 2c 20 |ed by th|e user, |
|0000c840| 62 75 74 20 74 68 65 20 | 64 65 66 61 75 6c 74 20 |but the |default |
|0000c850| 68 65 72 65 0a 20 2a 20 | 73 68 6f 75 6c 64 20 62 |here. * |should b|
|0000c860| 65 20 3e 3d 20 4e 4f 46 | 49 4c 45 20 28 70 61 72 |e >= NOF|ILE (par|
|0000c870| 61 6d 2e 68 29 2e 0a 20 | 2a 2f 0a 23 69 66 6e 64 |am.h).. |*/.#ifnd|
|0000c880| 65 66 09 46 44 5f 53 45 | 54 53 49 5a 45 0a 23 64 |ef.FD_SE|TSIZE.#d|
|0000c890| 65 66 69 6e 65 09 46 44 | 5f 53 45 54 53 49 5a 45 |efine.FD|_SETSIZE|
|0000c8a0| 09 36 30 0a 23 65 6e 64 | 69 66 0a 0a 74 79 70 65 |.60.#end|if..type|
|0000c8b0| 64 65 66 20 6c 6f 6e 67 | 09 66 64 5f 6d 61 73 6b |def long|.fd_mask|
|0000c8c0| 3b 0a 23 64 65 66 69 6e | 65 20 4e 46 44 42 49 54 |;.#defin|e NFDBIT|
|0000c8d0| 53 09 28 73 69 7a 65 6f | 66 28 66 64 5f 6d 61 73 |S.(sizeo|f(fd_mas|
|0000c8e0| 6b 29 20 2a 20 4e 42 42 | 59 29 09 2f 2a 20 62 69 |k) * NBB|Y)./* bi|
|0000c8f0| 74 73 20 70 65 72 20 6d | 61 73 6b 20 2a 2f 0a 23 |ts per m|ask */.#|
|0000c900| 69 66 6e 64 65 66 20 68 | 6f 77 6d 61 6e 79 0a 23 |ifndef h|owmany.#|
|0000c910| 64 65 66 69 6e 65 09 68 | 6f 77 6d 61 6e 79 28 78 |define.h|owmany(x|
|0000c920| 2c 20 79 29 09 28 28 28 | 78 29 2b 28 28 79 29 2d |, y).(((|x)+((y)-|
|0000c930| 31 29 29 2f 28 03 01 05 | 02 00 67 01 02 00 79 29 |1))/(...|..g...y)|
|0000c940| 29 0a 23 65 6e 64 69 66 | 0a 0a 74 79 70 65 64 65 |).#endif|..typede|
|0000c950| 66 09 73 74 72 75 63 74 | 20 66 64 5f 73 65 74 20 |f.struct| fd_set |
|0000c960| 7b 0a 09 66 64 5f 6d 61 | 73 6b 09 66 64 73 5f 62 |{..fd_ma|sk.fds_b|
|0000c970| 69 74 73 5b 68 6f 77 6d | 61 6e 79 28 46 44 5f 53 |its[howm|any(FD_S|
|0000c980| 45 54 53 49 5a 45 2c 20 | 4e 46 44 42 49 54 53 29 |ETSIZE, |NFDBITS)|
|0000c990| 5d 3b 0a 7d 20 66 64 5f | 73 65 74 3b 0a 0a 23 64 |];.} fd_|set;..#d|
|0000c9a0| 65 66 69 6e 65 09 46 44 | 5f 53 45 54 28 6e 2c 20 |efine.FD|_SET(n, |
|0000c9b0| 70 29 09 28 28 70 29 2d | 3e 66 64 73 5f 62 69 74 |p).((p)-|>fds_bit|
|0000c9c0| 73 5b 28 6e 29 2f 4e 46 | 44 42 49 54 53 5d 20 7c |s[(n)/NF|DBITS] ||
|0000c9d0| 3d 20 28 31 4c 20 3c 3c | 20 28 28 6e 29 20 25 20 |= (1L <<| ((n) % |
|0000c9e0| 4e 46 44 42 49 54 53 29 | 29 29 0a 23 64 65 66 69 |NFDBITS)|)).#defi|
|0000c9f0| 6e 65 09 46 44 5f 43 4c | 52 28 6e 2c 20 70 29 09 |ne.FD_CL|R(n, p).|
|0000ca00| 28 28 70 29 2d 3e 66 64 | 73 5f 62 69 74 73 5b 28 |((p)->fd|s_bits[(|
|0000ca10| 6e 29 2f 4e 46 44 42 49 | 54 53 5d 20 26 3d 20 7e |n)/NFDBI|TS] &= ~|
|0000ca20| 28 31 4c 20 3c 3c 20 28 | 28 6e 29 20 25 20 4e 46 |(1L << (|(n) % NF|
|0000ca30| 44 42 49 54 53 29 29 29 | 0a 23 64 65 66 69 6e 65 |DBITS)))|.#define|
|0000ca40| 09 46 44 5f 49 53 53 45 | 54 28 6e 2c 20 70 29 09 |.FD_ISSE|T(n, p).|
|0000ca50| 28 28 70 29 2d 3e 66 64 | 73 5f 62 69 74 73 5b 28 |((p)->fd|s_bits[(|
|0000ca60| 6e 29 2f 4e 46 44 42 49 | 54 53 5d 20 26 20 28 31 |n)/NFDBI|TS] & (1|
|0000ca70| 4c 20 3c 3c 20 28 28 6e | 29 20 25 20 4e 46 44 42 |L << ((n|) % NFDB|
|0000ca80| 49 54 53 29 29 29 0a 23 | 64 65 66 69 6e 65 20 46 |ITS))).#|define F|
|0000ca90| 44 5f 5a 45 52 4f 28 70 | 29 09 62 7a 65 72 6f 28 |D_ZERO(p|).bzero(|
|0000caa0| 28 63 61 64 64 72 5f 74 | 29 28 70 29 2c 20 73 69 |(caddr_t|)(p), si|
|0000cab0| 7a 65 6f 66 28 2a 28 70 | 29 29 29 0a 20 6c 6f 6e |zeof(*(p|))). lon|
|0000cac0| 67 09 66 64 5f 6d 61 73 | 6b 3b 0a 23 64 65 66 69 |g.fd_mas|k;.#defi|
|0000cad0| 6e 65 20 4e 46 44 42 49 | 54 53 09 28 73 69 7a 65 |ne NFDBI|TS.(size|
|0000cae0| 6f 66 28 66 64 5f 6d 61 | 73 6b 29 20 2a 20 4e 42 |of(fd_ma|sk) * NB|
|0000caf0| 42 59 29 09 2f 2a 20 62 | 69 74 73 20 70 65 72 20 |BY)./* b|its per |
|0000cb00| 6d 61 73 6b 20 2a 2f 0a | 23 69 66 6e 64 65 66 20 |mask */.|#ifndef |
|0000cb10| 68 6f 77 6d 61 6e 79 0a | 23 64 65 66 69 6e 65 09 |howmany.|#define.|
|0000cb20| 68 6f 77 6d 61 6e 79 28 | 78 2c 20 79 29 09 28 28 |howmany(|x, y).((|
|0000cb30| 28 78 29 2b 28 28 79 29 | 2d 31 29 29 2f 28 03 01 |(x)+((y)|-1))/(..|
|0000cb40| 06 02 00 78 5d 00 02 00 | 17 2e 2f 75 73 72 2f 69 |...x]...|../usr/i|
|0000cb50| 6e 63 6c 75 64 65 2f 73 | 79 73 2f 74 74 79 2e 68 |nclude/s|ys/tty.h|
|0000cb60| 01 26 00 00 00 39 00 20 | 20 20 34 34 34 20 00 20 |.&...9. | 444 . |
|0000cb70| 20 20 20 20 30 20 00 20 | 20 20 20 20 30 20 00 20 | 0 . | 0 . |
|0000cb80| 20 20 20 20 20 31 31 31 | 32 30 20 20 34 32 34 34 | 111|20 4244|
|0000cb90| 33 34 30 31 36 32 20 20 | 31 30 32 31 35 00 20 01 |340162 |10215. .|
|0000cba0| b2 00 00 03 01 07 02 00 | 95 01 02 00 2f 2a 0a 20 |........|..../*. |
|0000cbb0| 2a 09 40 28 23 29 20 74 | 74 79 2e 68 20 32 2e 33 |*.@(#) t|ty.h 2.3|
|0000cbc0| 20 38 38 2f 30 35 2f 31 | 38 20 0a 20 2a 0a 20 2a | 88/05/1|8 . *. *|
|0000cbd0| 09 43 6f 70 79 72 69 67 | 68 74 20 28 43 29 20 54 |.Copyrig|ht (C) T|
|0000cbe0| 68 65 20 53 61 6e 74 61 | 20 43 72 75 7a 20 4f 70 |he Santa| Cruz Op|
|0000cbf0| 65 72 61 74 69 6f 6e 2c | 20 31 39 38 34 2c 20 31 |eration,| 1984, 1|
|0000cc00| 39 38 35 2c 20 31 39 38 | 36 2c 20 31 39 38 37 2c |985, 198|6, 1987,|
|0000cc10| 20 31 39 38 38 2e 0a 20 | 2a 09 43 6f 70 79 72 69 | 1988.. |*.Copyri|
|0000cc20| 67 68 74 20 28 43 29 20 | 4d 69 63 72 6f 73 6f 66 |ght (C) |Microsof|
|0000cc30| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 2c 20 31 |t Corpor|ation, 1|
|0000cc40| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|0000cc50| 20 31 39 38 37 2c 20 31 | 39 38 38 2e 0a 20 2a 09 | 1987, 1|988.. *.|
|0000cc60| 54 68 69 73 20 4d 6f 64 | 75 6c 65 20 63 6f 6e 74 |This Mod|ule cont|
|0000cc70| 61 69 6e 73 20 50 72 6f | 70 72 69 65 74 61 72 79 |ains Pro|prietary|
|0000cc80| 20 49 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 6f 66 0a | Informa|tion of.|
|0000cc90| 20 2a 09 54 68 65 20 53 | 61 6e 74 61 20 43 72 75 | *.The S|anta Cru|
|0000cca0| 7a 20 4f 70 65 72 61 74 | 69 6f 6e 2c 20 4d 69 63 |z Operat|ion, Mic|
|0000ccb0| 72 6f 73 6f 66 74 20 43 | 6f 72 70 6f 72 61 74 69 |rosoft C|orporati|
|0000ccc0| 6f 6e 0a 20 2a 09 61 6e | 64 20 41 54 26 54 2c 20 |on. *.an|d AT&T, |
|0000ccd0| 61 6e 64 20 73 68 6f 75 | 6c 64 20 62 65 20 74 72 |and shou|ld be tr|
|0000cce0| 65 61 74 65 64 20 61 73 | 20 43 6f 6e 66 69 64 65 |eated as| Confide|
|0000ccf0| 6e 74 69 61 6c 2e 0a 20 | 2a 2f 0a 0a 2f 2a 0a 20 |ntial.. |*/../*. |
|0000cd00| 2a 20 41 20 63 6c 69 73 | 74 20 73 74 72 75 63 74 |* A clis|t struct|
|0000cd10| 75 72 65 20 69 73 20 74 | 68 65 20 68 65 61 64 20 |ure is t|he head |
|0000cd20| 6f 66 20 61 20 6c 69 6e | 6b 65 64 20 6c 69 73 74 |of a lin|ked list|
|0000cd30| 20 71 75 65 75 65 20 6f | 66 20 63 68 61 72 61 63 | queue o|f charac|
|0000cd40| 74 65 72 73 2e 0a 20 2a | 20 54 68 65 20 72 6f 75 |ters.. *| The rou|
|0000cd50| 74 69 6e 65 73 20 67 65 | 74 63 2a 20 61 6e 64 20 |tines ge|tc* and |
|0000cd60| 70 75 74 63 2a 20 6d 61 | 6e 69 70 75 6c 61 74 65 |putc* ma|nipulate|
|0000cd70| 20 74 68 65 73 65 20 73 | 74 72 75 63 74 75 72 65 | these s|tructure|
|0000cd80| 73 2e 0a 20 2a 2f 0a 0a | 23 69 6e 63 6c 75 64 65 |s.. */..|#include|
|0000cd90| 20 22 74 65 72 6d 69 6f | 2e 68 22 0a 0a 73 74 72 | "termio|.h"..str|
|0000cda0| 75 63 74 20 63 6c 69 73 | 74 20 7b 0a 03 01 08 02 |uct clis|t {.....|
|0000cdb0| 00 54 01 02 00 09 69 6e | 74 09 63 5f 63 63 3b 09 |.T....in|t.c_cc;.|
|0000cdc0| 09 2f 2a 20 63 68 61 72 | 61 63 74 65 72 20 63 6f |./* char|acter co|
|0000cdd0| 75 6e 74 20 2a 2f 0a 09 | 73 74 72 75 63 74 20 63 |unt */..|struct c|
|0000cde0| 62 6c 6f 63 6b 20 2a 63 | 5f 63 66 3b 09 2f 2a 20 |block *c|_cf;./* |
|0000cdf0| 70 6f 69 6e 74 65 72 20 | 74 6f 20 66 69 72 73 74 |pointer |to first|
|0000ce00| 20 2a 2f 0a 09 73 74 72 | 75 63 74 20 63 62 6c 6f | */..str|uct cblo|
|0000ce10| 63 6b 20 2a 63 5f 63 6c | 3b 09 2f 2a 20 70 6f 69 |ck *c_cl|;./* poi|
|0000ce20| 6e 74 65 72 20 74 6f 20 | 6c 61 73 74 20 2a 2f 0a |nter to |last */.|
|0000ce30| 7d 3b 0a 0a 2f 2a 20 4d | 61 63 72 6f 20 74 6f 20 |};../* M|acro to |
|0000ce40| 66 69 6e 64 20 63 62 6c | 6f 63 6b 20 73 74 72 75 |find cbl|ock stru|
|0000ce50| 63 74 75 72 65 20 67 69 | 76 65 6e 20 70 6f 69 6e |cture gi|ven poin|
|0000ce60| 74 65 72 20 69 6e 74 6f | 20 69 74 09 2a 2f 0a 23 |ter into| it.*/.#|
|0000ce70| 64 65 66 69 6e 65 20 43 | 4d 41 54 43 48 28 70 6f |define C|MATCH(po|
|0000ce80| 69 6e 74 65 72 29 09 09 | 28 63 66 72 65 65 20 2b |inter)..|(cfree +|
|0000ce90| 20 28 70 6f 69 6e 74 65 | 72 20 2d 20 63 66 72 65 | (pointe|r - cfre|
|0000cea0| 65 29 29 0a 0a 2f 2a 20 | 43 68 61 72 61 63 74 65 |e))../* |Characte|
|0000ceb0| 72 20 63 6f 6e 74 72 6f | 6c 20 62 6c 6f 63 6b 20 |r contro|l block |
|0000cec0| 66 6f 72 20 69 6e 74 65 | 72 72 75 70 74 20 6c 65 |for inte|rrupt le|
|0000ced0| 76 65 6c 20 63 6f 6e 74 | 72 6f 6c 09 2a 2f 0a 0a |vel cont|rol.*/..|
|0000cee0| 73 74 72 75 63 74 20 63 | 63 62 6c 6f 63 6b 20 7b |struct c|cblock {|
|0000cef0| 0a 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 20 |..unsign|ed char |
|0000cf00| 2a 63 5f 70 74 72 3b 09 | 2f 2a 20 62 75 66 66 65 |*c_ptr;.|/* buffe|
|0000cf10| 72 20 61 64 64 72 65 73 | 73 09 2a 2f 0a 09 75 73 |r addres|s.*/..us|
|0000cf20| 68 6f 72 74 09 63 5f 63 | 6f 75 6e 74 3b 09 2f 2a |hort.c_c|ount;./*|
|0000cf30| 20 63 68 61 72 61 63 74 | 65 72 20 63 6f 75 6e 74 | charact|er count|
|0000cf40| 09 2a 2f 0a 09 75 73 68 | 6f 72 74 09 63 5f 73 69 |.*/..ush|ort.c_si|
|0000cf50| 7a 65 3b 09 09 2f 2a 20 | 62 75 66 66 65 72 20 73 |ze;../* |buffer s|
|0000cf60| 69 7a 65 09 09 2a 2f 0a | 7d 3b 0a 0a 2f 2a 0a 20 |ize..*/.|};../*. |
|0000cf70| 2a 20 41 20 74 74 79 20 | 73 74 72 75 63 74 75 72 |* A tty |structur|
|0000cf80| 65 20 69 73 20 6e 65 65 | 64 65 64 20 66 6f 72 20 |e is nee|ded for |
|0000cf90| 65 61 63 68 20 55 4e 49 | 58 20 63 68 61 72 61 63 |each UNI|X charac|
|0000cfa0| 74 65 72 20 64 65 76 69 | 63 65 20 74 68 61 74 0a |ter devi|ce that.|
|0000cfb0| 20 2a 20 69 73 03 01 09 | 02 00 f7 01 02 00 20 75 | * is...|...... u|
|0000cfc0| 73 65 64 20 66 6f 72 20 | 6e 6f 72 6d 61 6c 20 74 |sed for |normal t|
|0000cfd0| 65 72 6d 69 6e 61 6c 20 | 49 4f 2e 0a 20 2a 2f 0a |erminal |IO.. */.|
|0000cfe0| 23 64 65 66 69 6e 65 09 | 4e 43 43 09 38 0a 73 74 |#define.|NCC.8.st|
|0000cff0| 72 75 63 74 20 74 74 79 | 20 7b 0a 09 73 74 72 75 |ruct tty| {..stru|
|0000d000| 63 74 09 63 6c 69 73 74 | 20 74 5f 72 61 77 71 3b |ct.clist| t_rawq;|
|0000d010| 09 2f 2a 20 72 61 77 20 | 69 6e 70 75 74 20 71 75 |./* raw |input qu|
|0000d020| 65 75 65 20 2a 2f 0a 09 | 73 74 72 75 63 74 09 63 |eue */..|struct.c|
|0000d030| 6c 69 73 74 20 74 5f 63 | 61 6e 71 3b 09 2f 2a 20 |list t_c|anq;./* |
|0000d040| 63 61 6e 6f 6e 69 63 61 | 6c 20 71 75 65 75 65 20 |canonica|l queue |
|0000d050| 2a 2f 0a 09 73 74 72 75 | 63 74 09 63 6c 69 73 74 |*/..stru|ct.clist|
|0000d060| 20 74 5f 6f 75 74 71 3b | 09 2f 2a 20 6f 75 74 70 | t_outq;|./* outp|
|0000d070| 75 74 20 71 75 65 75 65 | 20 2a 2f 0a 09 73 74 72 |ut queue| */..str|
|0000d080| 75 63 74 09 63 63 62 6c | 6f 63 6b 09 74 5f 74 62 |uct.ccbl|ock.t_tb|
|0000d090| 75 66 3b 09 2f 2a 20 74 | 78 20 63 6f 6e 74 72 6f |uf;./* t|x contro|
|0000d0a0| 6c 20 62 6c 6f 63 6b 20 | 2a 2f 0a 09 73 74 72 75 |l block |*/..stru|
|0000d0b0| 63 74 09 63 63 62 6c 6f | 63 6b 20 74 5f 72 62 75 |ct.ccblo|ck t_rbu|
|0000d0c0| 66 3b 09 2f 2a 20 72 78 | 20 63 6f 6e 74 72 6f 6c |f;./* rx| control|
|0000d0d0| 20 62 6c 6f 63 6b 20 2a | 2f 0a 23 69 66 64 65 66 | block *|/.#ifdef|
|0000d0e0| 20 4d 5f 49 33 38 36 0a | 09 69 6e 74 09 28 2a 74 | M_I386.|.int.(*t|
|0000d0f0| 5f 70 72 6f 63 29 28 29 | 3b 2f 2a 20 72 6f 75 74 |_proc)()|;/* rout|
|0000d100| 69 6e 65 20 66 6f 72 20 | 64 65 76 69 63 65 20 66 |ine for |device f|
|0000d110| 75 6e 63 74 69 6f 6e 73 | 20 2a 2f 0a 23 65 6c 73 |unctions| */.#els|
|0000d120| 65 0a 09 69 6e 74 09 28 | 66 61 72 20 2a 74 5f 70 |e..int.(|far *t_p|
|0000d130| 72 6f 63 29 28 29 3b 2f | 2a 20 72 6f 75 74 69 6e |roc)();/|* routin|
|0000d140| 65 20 66 6f 72 20 64 65 | 76 69 63 65 20 66 75 6e |e for de|vice fun|
|0000d150| 63 74 69 6f 6e 73 20 2a | 2f 0a 23 65 6e 64 69 66 |ctions *|/.#endif|
|0000d160| 0a 09 75 73 68 6f 72 74 | 09 74 5f 69 66 6c 61 67 |..ushort|.t_iflag|
|0000d170| 3b 09 2f 2a 20 69 6e 70 | 75 74 20 6d 6f 64 65 73 |;./* inp|ut modes|
|0000d180| 20 2a 2f 0a 09 75 73 68 | 6f 72 74 09 74 5f 6f 66 | */..ush|ort.t_of|
|0000d190| 6c 61 67 3b 09 2f 2a 20 | 6f 75 74 70 75 74 20 6d |lag;./* |output m|
|0000d1a0| 6f 64 65 73 20 2a 2f 0a | 09 75 73 68 6f 72 74 09 |odes */.|.ushort.|
|0000d1b0| 74 5f 63 66 6c 61 67 3b | 09 2f 2a 20 63 6f 03 01 |t_cflag;|./* co..|
|0000d1c0| 0a 02 00 49 01 02 00 6e | 74 72 6f 6c 20 6d 6f 64 |...I...n|trol mod|
|0000d1d0| 65 73 20 2a 2f 0a 09 75 | 73 68 6f 72 74 09 74 5f |es */..u|short.t_|
|0000d1e0| 6c 66 6c 61 67 3b 09 2f | 2a 20 6c 69 6e 65 20 64 |lflag;./|* line d|
|0000d1f0| 69 73 63 69 70 6c 69 6e | 65 20 6d 6f 64 65 73 20 |isciplin|e modes |
|0000d200| 2a 2f 0a 09 73 68 6f 72 | 74 09 74 5f 73 74 61 74 |*/..shor|t.t_stat|
|0000d210| 65 3b 09 2f 2a 20 69 6e | 74 65 72 6e 61 6c 20 73 |e;./* in|ternal s|
|0000d220| 74 61 74 65 20 2a 2f 0a | 09 73 68 6f 72 74 09 74 |tate */.|.short.t|
|0000d230| 5f 70 67 72 70 3b 09 09 | 2f 2a 20 70 72 6f 63 65 |_pgrp;..|/* proce|
|0000d240| 73 73 20 67 72 6f 75 70 | 20 6e 61 6d 65 20 2a 2f |ss group| name */|
|0000d250| 0a 09 63 68 61 72 09 74 | 5f 6c 69 6e 65 3b 09 09 |..char.t|_line;..|
|0000d260| 2f 2a 20 6c 69 6e 65 20 | 64 69 73 63 69 70 6c 69 |/* line |discipli|
|0000d270| 6e 65 20 2a 2f 0a 09 63 | 68 61 72 09 74 5f 64 65 |ne */..c|har.t_de|
|0000d280| 6c 63 74 3b 09 2f 2a 20 | 64 65 6c 69 6d 69 74 65 |lct;./* |delimite|
|0000d290| 72 20 63 6f 75 6e 74 20 | 2a 2f 0a 09 63 68 61 72 |r count |*/..char|
|0000d2a0| 09 74 5f 6d 73 74 61 74 | 65 3b 09 2f 2a 20 65 6d |.t_mstat|e;./* em|
|0000d2b0| 61 70 70 69 6e 67 20 73 | 74 61 74 65 20 28 74 5f |apping s|tate (t_|
|0000d2c0| 78 6d 70 20 76 61 6c 69 | 64 20 69 66 20 6e 6f 6e |xmp vali|d if non|
|0000d2d0| 2d 6e 75 6c 6c 29 20 2a | 2f 0a 09 63 68 61 72 09 |-null) *|/..char.|
|0000d2e0| 74 5f 79 79 79 3b 09 09 | 2f 2a 20 72 65 73 65 72 |t_yyy;..|/* reser|
|0000d2f0| 76 65 64 20 28 77 61 73 | 20 74 5f 6d 63 68 61 72 |ved (was| t_mchar|
|0000d300| 3a 73 61 76 65 64 20 65 | 6d 61 70 70 69 6e 67 20 |:saved e|mapping |
|0000d310| 63 68 61 72 29 20 2a 2f | 0a 09 63 68 61 72 09 74 |char) */|..char.t|
|0000d320| 5f 63 6f 6c 3b 09 09 2f | 2a 20 63 75 72 72 65 6e |_col;../|* curren|
|0000d330| 74 20 63 6f 6c 75 6d 6e | 20 2a 2f 0a 09 63 68 61 |t column| */..cha|
|0000d340| 72 09 74 5f 6d 65 72 72 | 3b 09 09 2f 2a 20 65 6d |r.t_merr|;../* em|
|0000d350| 61 70 70 69 6e 67 20 65 | 72 72 6f 72 20 66 6c 61 |apping e|rror fla|
|0000d360| 67 20 2a 2f 0a 09 73 74 | 72 75 63 74 09 78 6d 61 |g */..st|ruct.xma|
|0000d370| 70 20 2a 74 5f 78 6d 70 | 3b 09 2f 2a 20 70 74 72 |p *t_xmp|;./* ptr|
|0000d380| 20 74 6f 20 73 74 72 75 | 63 74 20 66 6f 72 20 65 | to stru|ct for e|
|0000d390| 6d 61 70 20 61 6e 64 20 | 6e 6d 61 70 20 72 6f 75 |map and |nmap rou|
|0000d3a0| 74 69 6e 65 73 20 2a 2f | 0a 09 63 68 61 72 09 74 |tines */|..char.t|
|0000d3b0| 5f 78 73 74 61 74 65 3b | 09 2f 2a 20 65 78 74 65 |_xstate;|./* exte|
|0000d3c0| 6e 64 65 64 20 73 74 03 | 01 0b 02 00 34 01 02 00 |nded st.|....4...|
|0000d3d0| 61 74 65 20 2a 2f 09 0a | 09 63 68 61 72 09 74 5f |ate */..|.char.t_|
|0000d3e0| 64 73 74 61 74 3b 09 2f | 2a 20 75 73 65 64 20 62 |dstat;./|* used b|
|0000d3f0| 79 20 6c 69 6e 65 20 64 | 69 73 63 69 70 6c 69 6e |y line d|isciplin|
|0000d400| 65 73 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |es */..u|nsigned |
|0000d410| 63 68 61 72 09 74 5f 73 | 63 68 61 72 3b 2f 2a 20 |char.t_s|char;/* |
|0000d420| 73 61 76 65 20 74 69 6d | 65 6f 75 74 20 63 68 61 |save tim|eout cha|
|0000d430| 72 20 69 6e 73 74 65 61 | 64 20 6f 66 20 75 73 69 |r instea|d of usi|
|0000d440| 6e 67 20 6c 66 6c 61 67 | 20 2a 2f 0a 09 63 68 61 |ng lflag| */..cha|
|0000d450| 72 09 74 5f 78 78 78 3b | 09 09 2f 2a 20 72 65 73 |r.t_xxx;|../* res|
|0000d460| 65 72 76 65 64 20 2a 2f | 0a 09 75 6e 73 69 67 6e |erved */|..unsign|
|0000d470| 65 64 20 63 68 61 72 09 | 74 5f 63 63 5b 4e 43 43 |ed char.|t_cc[NCC|
|0000d480| 2b 32 5d 3b 09 2f 2a 20 | 73 65 74 74 61 62 6c 65 |+2];./* |settable|
|0000d490| 20 63 6f 6e 74 72 6f 6c | 20 63 68 61 72 73 20 2a | control| chars *|
|0000d4a0| 2f 0a 7d 3b 0a 0a 2f 2a | 0a 20 2a 20 54 68 65 20 |/.};../*|. * The |
|0000d4b0| 73 74 72 75 63 74 75 72 | 65 20 6f 66 20 61 20 63 |structur|e of a c|
|0000d4c0| 6c 69 73 74 20 62 6c 6f | 63 6b 0a 20 2a 2f 0a 23 |list blo|ck. */.#|
|0000d4d0| 64 65 66 69 6e 65 09 43 | 4c 53 49 5a 45 09 09 33 |define.C|LSIZE..3|
|0000d4e0| 32 0a 23 64 65 66 69 6e | 65 09 43 4c 46 53 49 5a |2.#defin|e.CLFSIZ|
|0000d4f0| 45 09 09 28 28 43 4c 53 | 49 5a 45 20 2b 20 37 29 |E..((CLS|IZE + 7)|
|0000d500| 20 2f 20 38 29 0a 73 74 | 72 75 63 74 20 63 62 6c | / 8).st|ruct cbl|
|0000d510| 6f 63 6b 20 7b 0a 09 73 | 74 72 75 63 74 20 63 62 |ock {..s|truct cb|
|0000d520| 6c 6f 63 6b 20 20 2a 63 | 5f 6e 65 78 74 3b 0a 09 |lock *c|_next;..|
|0000d530| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 63 5f |unsigned| char.c_|
|0000d540| 66 69 72 73 74 3b 0a 09 | 75 6e 73 69 67 6e 65 64 |first;..|unsigned|
|0000d550| 20 63 68 61 72 09 63 5f | 6c 61 73 74 3b 0a 09 75 | char.c_|last;..u|
|0000d560| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 09 63 5f 64 |nsigned |char.c_d|
|0000d570| 61 74 61 5b 43 4c 53 49 | 5a 45 5d 3b 0a 09 75 6e |ata[CLSI|ZE];..un|
|0000d580| 73 69 67 6e 65 64 20 63 | 68 61 72 20 09 63 5f 64 |signed c|har .c_d|
|0000d590| 66 6c 61 67 73 5b 43 4c | 46 53 49 5a 45 5d 3b 0a |flags[CL|FSIZE];.|
|0000d5a0| 7d 3b 0a 0a 65 78 74 65 | 72 6e 20 73 74 72 75 63 |};..exte|rn struc|
|0000d5b0| 74 20 63 62 6c 6f 63 6b | 20 63 66 72 65 65 5b 5d |t cblock| cfree[]|
|0000d5c0| 3b 0a 65 78 74 65 72 6e | 20 73 74 72 75 63 74 20 |;.extern| struct |
|0000d5d0| 03 01 0c 02 00 da 01 02 | 00 63 62 6c 6f 63 6b 20 |........|.cblock |
|0000d5e0| 2a 20 67 65 74 63 62 28 | 29 3b 0a 65 78 74 65 72 |* getcb(|);.exter|
|0000d5f0| 6e 20 73 74 72 75 63 74 | 20 63 62 6c 6f 63 6b 20 |n struct| cblock |
|0000d600| 2a 20 67 65 74 63 66 28 | 29 3b 0a 65 78 74 65 72 |* getcf(|);.exter|
|0000d610| 6e 20 73 74 72 75 63 74 | 20 63 6c 69 73 74 20 74 |n struct| clist t|
|0000d620| 74 6e 75 6c 71 3b 0a 0a | 73 74 72 75 63 74 20 63 |tnulq;..|struct c|
|0000d630| 68 65 61 64 20 7b 0a 09 | 73 74 72 75 63 74 20 63 |head {..|struct c|
|0000d640| 62 6c 6f 63 6b 20 2a 63 | 5f 6e 65 78 74 3b 0a 09 |block *c|_next;..|
|0000d650| 69 6e 74 09 63 5f 73 69 | 7a 65 3b 0a 09 69 6e 74 |int.c_si|ze;..int|
|0000d660| 09 63 5f 66 6c 61 67 3b | 0a 7d 3b 0a 65 78 74 65 |.c_flag;|.};.exte|
|0000d670| 72 6e 20 73 74 72 75 63 | 74 20 63 68 65 61 64 20 |rn struc|t chead |
|0000d680| 63 66 72 65 65 6c 69 73 | 74 3b 0a 0a 73 74 72 75 |cfreelis|t;..stru|
|0000d690| 63 74 20 69 6e 74 65 72 | 20 7b 0a 09 69 6e 74 09 |ct inter| {..int.|
|0000d6a0| 63 6e 74 3b 0a 7d 3b 0a | 0a 23 64 65 66 69 6e 65 |cnt;.};.|.#define|
|0000d6b0| 09 51 45 53 43 09 30 34 | 30 30 09 2f 2a 20 71 75 |.QESC.04|00./* qu|
|0000d6c0| 65 75 65 20 65 73 63 61 | 70 65 20 2a 2f 09 0a 23 |eue esca|pe */..#|
|0000d6d0| 64 65 66 69 6e 65 20 51 | 44 45 4c 41 59 09 30 34 |define Q|DELAY.04|
|0000d6e0| 30 30 09 2f 2a 20 64 65 | 6c 61 79 20 6f 75 74 70 |00./* de|lay outp|
|0000d6f0| 75 74 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 09 54 |ut */..#|define.T|
|0000d700| 54 49 50 52 49 09 32 38 | 0a 23 64 65 66 69 6e 65 |TIPRI.28|.#define|
|0000d710| 09 54 54 4f 50 52 49 09 | 32 39 0a 0a 2f 2a 20 6c |.TTOPRI.|29../* l|
|0000d720| 69 6d 69 74 73 20 2a 2f | 0a 65 78 74 65 72 6e 20 |imits */|.extern |
|0000d730| 69 6e 74 20 74 74 6c 6f | 77 61 74 5b 5d 2c 20 74 |int ttlo|wat[], t|
|0000d740| 74 68 69 77 61 74 5b 5d | 2c 20 74 74 79 68 6f 67 |thiwat[]|, ttyhog|
|0000d750| 3b 0a 23 64 65 66 69 6e | 65 09 54 54 59 48 4f 47 |;.#defin|e.TTYHOG|
|0000d760| 09 32 35 36 0a 23 64 65 | 66 69 6e 65 09 54 54 58 |.256.#de|fine.TTX|
|0000d770| 4f 4c 4f 09 36 30 0a 23 | 64 65 66 69 6e 65 09 54 |OLO.60.#|define.T|
|0000d780| 54 58 4f 48 49 09 31 38 | 30 0a 23 64 65 66 69 6e |TXOHI.18|0.#defin|
|0000d790| 65 09 54 54 45 43 48 49 | 09 38 30 0a 0a 23 64 65 |e.TTECHI|.80..#de|
|0000d7a0| 66 69 6e 65 09 54 54 48 | 49 57 41 54 28 74 70 29 |fine.TTH|IWAT(tp)|
|0000d7b0| 09 74 74 68 69 77 61 74 | 5b 28 74 70 29 2d 3e 74 |.tthiwat|[(tp)->t|
|0000d7c0| 5f 63 66 6c 61 67 20 26 | 20 43 42 41 55 44 5d 0a |_cflag &| CBAUD].|
|0000d7d0| 23 64 65 66 69 6e 65 09 | 54 03 01 0d 02 00 67 01 |#define.|T.....g.|
|0000d7e0| 02 00 54 4c 4f 57 41 54 | 28 74 70 29 09 74 74 6c |..TLOWAT|(tp).ttl|
|0000d7f0| 6f 77 61 74 5b 28 74 70 | 29 2d 3e 74 5f 63 66 6c |owat[(tp|)->t_cfl|
|0000d800| 61 67 20 26 20 43 42 41 | 55 44 5d 0a 0a 2f 2a 20 |ag & CBA|UD]../* |
|0000d810| 48 61 72 64 77 61 72 65 | 20 62 69 74 73 20 2a 2f |Hardware| bits */|
|0000d820| 0a 23 64 65 66 69 6e 65 | 09 44 4f 4e 45 09 30 32 |.#define|.DONE.02|
|0000d830| 30 30 0a 23 64 65 66 69 | 6e 65 09 49 45 4e 41 42 |00.#defi|ne.IENAB|
|0000d840| 4c 45 09 30 31 30 30 0a | 23 64 65 66 69 6e 65 09 |LE.0100.|#define.|
|0000d850| 4f 56 45 52 52 55 4e 09 | 30 34 30 30 30 30 0a 23 |OVERRUN.|040000.#|
|0000d860| 64 65 66 69 6e 65 09 46 | 52 45 52 52 4f 52 09 30 |define.F|RERROR.0|
|0000d870| 32 30 30 30 30 0a 23 64 | 65 66 69 6e 65 09 50 45 |20000.#d|efine.PE|
|0000d880| 52 52 4f 52 09 30 31 30 | 30 30 30 0a 0a 2f 2a 20 |RROR.010|000../* |
|0000d890| 49 6e 74 65 72 6e 61 6c | 20 73 74 61 74 65 20 2a |Internal| state *|
|0000d8a0| 2f 0a 23 64 65 66 69 6e | 65 09 54 49 4d 45 4f 55 |/.#defin|e.TIMEOU|
|0000d8b0| 54 09 30 31 09 09 2f 2a | 20 44 65 6c 61 79 20 74 |T.01../*| Delay t|
|0000d8c0| 69 6d 65 6f 75 74 20 69 | 6e 20 70 72 6f 67 72 65 |imeout i|n progre|
|0000d8d0| 73 73 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 57 4f |ss */.#d|efine.WO|
|0000d8e0| 50 45 4e 09 30 32 09 09 | 2f 2a 20 57 61 69 74 69 |PEN.02..|/* Waiti|
|0000d8f0| 6e 67 20 66 6f 72 20 6f | 70 65 6e 20 74 6f 20 63 |ng for o|pen to c|
|0000d900| 6f 6d 70 6c 65 74 65 20 | 2a 2f 0a 23 64 65 66 69 |omplete |*/.#defi|
|0000d910| 6e 65 09 49 53 4f 50 45 | 4e 09 30 34 09 09 2f 2a |ne.ISOPE|N.04../*|
|0000d920| 20 44 65 76 69 63 65 20 | 69 73 20 6f 70 65 6e 20 | Device |is open |
|0000d930| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 54 42 4c 4f 43 |*/.#defi|ne.TBLOC|
|0000d940| 4b 09 30 31 30 0a 23 64 | 65 66 69 6e 65 09 43 41 |K.010.#d|efine.CA|
|0000d950| 52 52 5f 4f 4e 09 30 32 | 30 09 09 2f 2a 20 53 6f |RR_ON.02|0../* So|
|0000d960| 66 74 77 61 72 65 20 63 | 6f 70 79 20 6f 66 20 63 |ftware c|opy of c|
|0000d970| 61 72 72 69 65 72 2d 70 | 72 65 73 65 6e 74 20 2a |arrier-p|resent *|
|0000d980| 2f 0a 23 64 65 66 69 6e | 65 09 42 55 53 59 09 30 |/.#defin|e.BUSY.0|
|0000d990| 34 30 09 09 2f 2a 20 4f | 75 74 70 75 74 20 69 6e |40../* O|utput in|
|0000d9a0| 20 70 72 6f 67 72 65 73 | 73 20 2a 2f 0a 23 64 65 | progres|s */.#de|
|0000d9b0| 66 69 6e 65 09 4f 41 53 | 4c 50 09 30 31 30 30 09 |fine.OAS|LP.0100.|
|0000d9c0| 09 2f 2a 20 57 61 6b 65 | 75 70 20 77 68 65 6e 20 |./* Wake|up when |
|0000d9d0| 6f 75 74 70 75 74 20 64 | 6f 6e 65 20 2a 2f 0a 23 |output d|one */.#|
|0000d9e0| 64 65 03 01 0e 02 00 86 | 01 02 00 66 69 6e 65 09 |de......|...fine.|
|0000d9f0| 49 41 53 4c 50 09 30 32 | 30 30 09 09 2f 2a 20 57 |IASLP.02|00../* W|
|0000da00| 61 6b 65 75 70 20 77 68 | 65 6e 20 69 6e 70 75 74 |akeup wh|en input|
|0000da10| 20 64 6f 6e 65 20 2a 2f | 0a 23 64 65 66 69 6e 65 | done */|.#define|
|0000da20| 09 54 54 53 54 4f 50 09 | 30 34 30 30 09 09 2f 2a |.TTSTOP.|0400../*|
|0000da30| 20 4f 75 74 70 75 74 20 | 73 74 6f 70 70 65 64 20 | Output |stopped |
|0000da40| 62 79 20 63 74 6c 2d 73 | 20 2a 2f 0a 23 64 65 66 |by ctl-s| */.#def|
|0000da50| 69 6e 65 09 45 58 54 50 | 52 4f 43 09 30 31 30 30 |ine.EXTP|ROC.0100|
|0000da60| 30 09 09 2f 2a 20 45 78 | 74 65 72 6e 61 6c 20 70 |0../* Ex|ternal p|
|0000da70| 72 6f 63 65 73 73 69 6e | 67 20 2a 2f 0a 23 64 65 |rocessin|g */.#de|
|0000da80| 66 69 6e 65 09 54 41 43 | 54 09 30 32 30 30 30 0a |fine.TAC|T.02000.|
|0000da90| 23 64 65 66 69 6e 65 09 | 43 4c 45 53 43 09 30 34 |#define.|CLESC.04|
|0000daa0| 30 30 30 09 09 2f 2a 20 | 4c 61 73 74 20 63 68 61 |000../* |Last cha|
|0000dab0| 72 20 65 73 63 61 70 65 | 20 2a 2f 0a 23 64 65 66 |r escape| */.#def|
|0000dac0| 69 6e 65 09 52 54 4f 09 | 30 31 30 30 30 30 09 09 |ine.RTO.|010000..|
|0000dad0| 2f 2a 20 52 61 77 20 54 | 69 6d 65 6f 75 74 20 2a |/* Raw T|imeout *|
|0000dae0| 2f 0a 23 64 65 66 69 6e | 65 09 54 54 49 4f 57 09 |/.#defin|e.TTIOW.|
|0000daf0| 30 32 30 30 30 30 0a 23 | 64 65 66 69 6e 65 09 54 |020000.#|define.T|
|0000db00| 54 58 4f 4e 09 30 34 30 | 30 30 30 0a 23 64 65 66 |TXON.040|000.#def|
|0000db10| 69 6e 65 09 54 54 58 4f | 46 46 09 30 31 30 30 30 |ine.TTXO|FF.01000|
|0000db20| 30 30 0a 0a 2f 2a 20 45 | 78 74 65 6e 64 65 64 20 |00../* E|xtended |
|0000db30| 69 6e 74 65 72 6e 61 6c | 20 73 74 61 74 65 20 2a |internal| state *|
|0000db40| 2f 0a 23 64 65 66 69 6e | 65 09 45 58 54 44 4c 59 |/.#defin|e.EXTDLY|
|0000db50| 09 30 31 09 09 2f 2a 20 | 45 78 74 65 72 6e 61 6c |.01../* |External|
|0000db60| 20 64 65 6c 61 79 20 70 | 72 6f 63 65 73 73 69 6e | delay p|rocessin|
|0000db70| 67 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 54 52 43 |g */.#de|fine TRC|
|0000db80| 4f 4c 4c 09 30 32 09 09 | 2f 2a 20 43 6f 6c 6c 69 |OLL.02..|/* Colli|
|0000db90| 73 69 6f 6e 20 69 6e 20 | 73 65 6c 65 63 74 20 28 |sion in |select (|
|0000dba0| 72 65 61 64 20 66 64 29 | 20 2a 2f 0a 23 64 65 66 |read fd)| */.#def|
|0000dbb0| 69 6e 65 20 54 57 43 4f | 4c 4c 09 30 34 09 09 2f |ine TWCO|LL.04../|
|0000dbc0| 2a 20 43 6f 6c 6c 69 73 | 69 6f 6e 20 69 6e 20 73 |* Collis|ion in s|
|0000dbd0| 65 6c 65 63 74 20 28 77 | 72 69 74 65 20 66 64 29 |elect (w|rite fd)|
|0000dbe0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 03 01 0f 02 00 | */.#def|ine.....|
|0000dbf0| 44 01 02 00 20 54 45 43 | 4f 4c 4c 09 30 31 30 09 |D... TEC|OLL.010.|
|0000dc00| 09 2f 2a 20 43 6f 6c 6c | 69 73 69 6f 6e 20 69 6e |./* Coll|ision in|
|0000dc10| 20 73 65 6c 65 63 74 20 | 28 65 78 63 65 70 74 69 | select |(excepti|
|0000dc20| 6f 6e 20 66 64 29 20 2a | 2f 0a 0a 2f 2a 20 6c 5f |on fd) *|/../* l_|
|0000dc30| 6f 75 74 70 75 74 20 73 | 74 61 74 75 73 20 2a 2f |output s|tatus */|
|0000dc40| 0a 23 64 65 66 69 6e 65 | 09 43 50 52 45 53 09 30 |.#define|.CPRES.0|
|0000dc50| 31 30 30 30 30 30 0a 0a | 2f 2a 20 64 65 76 69 63 |100000..|/* devic|
|0000dc60| 65 20 63 6f 6d 6d 61 6e | 64 73 20 2a 2f 0a 23 64 |e comman|ds */.#d|
|0000dc70| 65 66 69 6e 65 09 54 5f | 4f 55 54 50 55 54 09 30 |efine.T_|OUTPUT.0|
|0000dc80| 0a 23 64 65 66 69 6e 65 | 09 54 5f 54 49 4d 45 09 |.#define|.T_TIME.|
|0000dc90| 09 31 0a 23 64 65 66 69 | 6e 65 09 54 5f 53 55 53 |.1.#defi|ne.T_SUS|
|0000dca0| 50 45 4e 44 09 32 0a 23 | 64 65 66 69 6e 65 09 54 |PEND.2.#|define.T|
|0000dcb0| 5f 52 45 53 55 4d 45 09 | 33 0a 23 64 65 66 69 6e |_RESUME.|3.#defin|
|0000dcc0| 65 09 54 5f 42 4c 4f 43 | 4b 09 09 34 0a 23 64 65 |e.T_BLOC|K..4.#de|
|0000dcd0| 66 69 6e 65 09 54 5f 55 | 4e 42 4c 4f 43 4b 09 35 |fine.T_U|NBLOCK.5|
|0000dce0| 0a 23 64 65 66 69 6e 65 | 09 54 5f 52 46 4c 55 53 |.#define|.T_RFLUS|
|0000dcf0| 48 09 36 0a 23 64 65 66 | 69 6e 65 09 54 5f 57 46 |H.6.#def|ine.T_WF|
|0000dd00| 4c 55 53 48 09 37 0a 23 | 64 65 66 69 6e 65 09 54 |LUSH.7.#|define.T|
|0000dd10| 5f 42 52 45 41 4b 09 09 | 38 0a 23 64 65 66 69 6e |_BREAK..|8.#defin|
|0000dd20| 65 09 54 5f 49 4e 50 55 | 54 09 09 39 0a 23 64 65 |e.T_INPU|T..9.#de|
|0000dd30| 66 69 6e 65 09 54 5f 50 | 41 52 4d 09 09 31 31 0a |fine.T_P|ARM..11.|
|0000dd40| 23 64 65 66 69 6e 65 09 | 54 5f 53 57 54 43 48 09 |#define.|T_SWTCH.|
|0000dd50| 09 31 32 0a 0a 2f 2a 0a | 20 2a 09 64 65 76 69 63 |.12../*.| *.devic|
|0000dd60| 65 20 72 65 70 6f 72 74 | 0a 20 2a 2f 0a 23 64 65 |e report|. */.#de|
|0000dd70| 66 69 6e 65 09 4c 5f 42 | 55 46 09 30 0a 23 64 65 |fine.L_B|UF.0.#de|
|0000dd80| 66 69 6e 65 09 4c 5f 42 | 52 45 41 4b 09 33 0a 0a |fine.L_B|REAK.3..|
|0000dd90| 2f 2a 20 45 78 74 72 61 | 63 74 20 6d 69 6e 6f 72 |/* Extra|ct minor|
|0000dda0| 20 64 65 76 69 63 65 20 | 62 69 74 73 20 6e 6f 74 | device |bits not|
|0000ddb0| 20 61 73 73 6f 63 69 61 | 74 65 64 20 77 69 74 68 | associa|ted with|
|0000ddc0| 20 6d 6f 64 65 6d 20 63 | 6f 6e 74 72 6f 6c 20 2a | modem c|ontrol *|
|0000ddd0| 2f 0a 23 64 65 66 69 6e | 65 20 55 4e 4d 4f 44 45 |/.#defin|e UNMODE|
|0000dde0| 4d 28 64 65 76 29 09 28 | 64 65 76 20 26 20 30 78 |M(dev).(|dev & 0x|
|0000ddf0| 37 66 29 0a 0f 04 00 68 | 04 00 01 02 00 9a 01 02 |7f)....h|........|
|0000de00| 00 2f 2a 20 64 6f 65 73 | 20 74 68 69 73 20 64 65 |./* does| this de|
|0000de10| 76 20 68 61 76 65 20 6d | 6f 64 65 6d 20 73 75 70 |v have m|odem sup|
|0000de20| 70 6f 72 74 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |port */.|#define |
|0000de30| 49 53 4d 4f 44 45 4d 28 | 64 65 76 29 09 28 28 64 |ISMODEM(|dev).((d|
|0000de40| 65 76 20 26 20 30 78 38 | 30 29 20 3d 3d 20 30 29 |ev & 0x8|0) == 0)|
|0000de50| 0a 66 69 6e 65 09 43 50 | 52 45 53 09 30 31 30 30 |.fine.CP|RES.0100|
|0000de60| 30 30 30 0a 0a 2f 2a 20 | 64 65 76 69 63 65 20 63 |000../* |device c|
|0000de70| 6f 6d 6d 61 6e 64 73 20 | 2a 2f 0a 23 64 65 66 69 |ommands |*/.#defi|
|0000de80| 6e 65 09 54 5f 4f 55 54 | 50 55 54 09 30 0a 23 64 |ne.T_OUT|PUT.0.#d|
|0000de90| 65 66 69 6e 65 09 54 5f | 54 49 4d 45 09 09 31 0a |efine.T_|TIME..1.|
|0000dea0| 23 64 65 66 69 6e 65 09 | 54 5f 53 55 53 50 45 4e |#define.|T_SUSPEN|
|0000deb0| 44 09 32 0a 23 64 65 66 | 69 6e 65 09 54 5f 52 45 |D.2.#def|ine.T_RE|
|0000dec0| 53 55 4d 45 09 33 0a 23 | 64 65 66 69 6e 65 09 54 |SUME.3.#|define.T|
|0000ded0| 5f 42 4c 4f 43 4b 09 09 | 34 0a 23 64 65 66 69 6e |_BLOCK..|4.#defin|
|0000dee0| 65 09 54 5f 55 4e 42 4c | 4f 43 4b 09 35 0a 23 64 |e.T_UNBL|OCK.5.#d|
|0000def0| 65 66 69 6e 65 09 54 5f | 52 46 4c 55 53 48 09 36 |efine.T_|RFLUSH.6|
|0000df00| 0a 23 64 65 66 69 6e 65 | 09 54 5f 57 46 4c 55 53 |.#define|.T_WFLUS|
|0000df10| 48 09 37 0a 23 64 65 66 | 69 6e 65 09 54 5f 42 52 |H.7.#def|ine.T_BR|
|0000df20| 45 41 4b 09 09 38 0a 23 | 64 65 66 69 6e 65 09 54 |EAK..8.#|define.T|
|0000df30| 5f 49 4e 50 55 54 09 09 | 39 0a 23 64 65 66 69 6e |_INPUT..|9.#defin|
|0000df40| 65 09 54 5f 50 41 52 4d | 09 09 31 31 0a 23 64 65 |e.T_PARM|..11.#de|
|0000df50| 66 69 6e 65 09 54 5f 53 | 57 54 43 48 09 09 31 32 |fine.T_S|WTCH..12|
|0000df60| 0a 0a 2f 2a 0a 20 2a 09 | 64 65 76 69 63 65 20 72 |../*. *.|device r|
|0000df70| 65 70 6f 72 74 0a 20 2a | 2f 0a 23 64 65 66 69 6e |eport. *|/.#defin|
|0000df80| 65 09 4c 5f 42 55 46 09 | 30 0a 23 64 65 66 69 6e |e.L_BUF.|0.#defin|
|0000df90| 65 09 4c 5f 42 52 45 41 | 4b 09 33 0a 0a 2f 2a 20 |e.L_BREA|K.3../* |
|0000dfa0| 45 78 74 72 61 63 74 20 | 6d 69 6e 6f 72 20 64 65 |Extract |minor de|
|0000dfb0| 76 69 63 65 20 62 69 74 | 73 20 6e 6f 74 20 61 73 |vice bit|s not as|
|0000dfc0| 73 6f 63 69 61 74 65 64 | 20 77 69 74 68 20 6d 6f |sociated| with mo|
|0000dfd0| 64 65 6d 20 63 6f 6e 74 | 72 6f 6c 20 2a 2f 0a 23 |dem cont|rol */.#|
|0000dfe0| 64 65 66 69 6e 65 20 55 | 4e 4d 4f 44 45 4d 28 64 |define U|NMODEM(d|
|0000dff0| 65 76 29 09 28 64 65 76 | 20 26 20 30 78 37 66 29 |ev).(dev| & 0x7f)|
|0000e000| 0a 04 00 02 02 00 a6 5f | 00 02 00 19 2e 2f 75 73 |......._|...../us|
|0000e010| 72 2f 69 6e 63 6c 75 64 | 65 2f 73 79 73 2f 74 74 |r/includ|e/sys/tt|
|0000e020| 6f 6c 64 2e 68 01 25 00 | 00 00 39 00 20 20 20 34 |old.h.%.|..9. 4|
|0000e030| 34 34 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 |44 . | 0 . |
|0000e040| 20 30 20 00 20 20 20 20 | 20 20 20 32 35 37 31 20 | 0 . | 2571 |
|0000e050| 20 34 32 34 34 33 34 30 | 32 32 36 20 20 31 30 35 | 4244340|226 105|
|0000e060| 31 36 00 20 01 b2 00 00 | 04 00 03 02 00 ac 01 02 |16. ....|........|
|0000e070| 00 2f 2a 0a 20 2a 09 40 | 28 23 29 20 74 74 6f 6c |./*. *.@|(#) ttol|
|0000e080| 64 2e 68 20 32 2e 31 20 | 38 38 2f 30 35 2f 31 38 |d.h 2.1 |88/05/18|
|0000e090| 20 0a 20 2a 0a 20 2a 09 | 43 6f 70 79 72 69 67 68 | . *. *.|Copyrigh|
|0000e0a0| 74 20 28 43 29 20 54 68 | 65 20 53 61 6e 74 61 20 |t (C) Th|e Santa |
|0000e0b0| 43 72 75 7a 20 4f 70 65 | 72 61 74 69 6f 6e 2c 20 |Cruz Ope|ration, |
|0000e0c0| 31 39 38 34 2c 20 31 39 | 38 35 2c 20 31 39 38 36 |1984, 19|85, 1986|
|0000e0d0| 2c 20 31 39 38 37 2e 0a | 20 2a 09 43 6f 70 79 72 |, 1987..| *.Copyr|
|0000e0e0| 69 67 68 74 20 28 43 29 | 20 4d 69 63 72 6f 73 6f |ight (C)| Microso|
|0000e0f0| 66 74 20 43 6f 72 70 6f | 72 61 74 69 6f 6e 2c 20 |ft Corpo|ration, |
|0000e100| 31 39 38 34 2c 20 31 39 | 38 35 2c 20 31 39 38 36 |1984, 19|85, 1986|
|0000e110| 2c 20 31 39 38 37 2e 0a | 20 2a 09 54 68 69 73 20 |, 1987..| *.This |
|0000e120| 4d 6f 64 75 6c 65 20 63 | 6f 6e 74 61 69 6e 73 20 |Module c|ontains |
|0000e130| 50 72 6f 70 72 69 65 74 | 61 72 79 20 49 6e 66 6f |Propriet|ary Info|
|0000e140| 72 6d 61 74 69 6f 6e 20 | 6f 66 0a 20 2a 09 54 68 |rmation |of. *.Th|
|0000e150| 65 20 53 61 6e 74 61 20 | 43 72 75 7a 20 4f 70 65 |e Santa |Cruz Ope|
|0000e160| 72 61 74 69 6f 6e 2c 20 | 4d 69 63 72 6f 73 6f 66 |ration, |Microsof|
|0000e170| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 0a 20 2a |t Corpor|ation. *|
|0000e180| 09 61 6e 64 20 41 54 26 | 54 2c 20 61 6e 64 20 73 |.and AT&|T, and s|
|0000e190| 68 6f 75 6c 64 20 62 65 | 20 74 72 65 61 74 65 64 |hould be| treated|
|0000e1a0| 20 61 73 20 43 6f 6e 66 | 69 64 65 6e 74 69 61 6c | as Conf|idential|
|0000e1b0| 2e 0a 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 54 48 49 |.. */../|*. * THI|
|0000e1c0| 53 20 46 49 4c 45 20 43 | 4f 4e 54 41 49 4e 53 20 |S FILE C|ONTAINS |
|0000e1d0| 43 4f 44 45 20 57 48 49 | 43 48 20 49 53 20 44 45 |CODE WHI|CH IS DE|
|0000e1e0| 53 49 47 4e 45 44 20 54 | 4f 20 42 45 0a 20 2a 20 |SIGNED T|O BE. * |
|0000e1f0| 50 4f 52 54 41 42 4c 45 | 20 42 45 54 57 45 45 4e |PORTABLE| BETWEEN|
|0000e200| 20 44 49 46 46 45 52 45 | 4e 54 20 4d 41 43 48 49 | DIFFERE|NT MACHI|
|0000e210| 4e 45 20 41 52 43 48 49 | 54 45 43 54 55 52 45 53 |NE ARCHI|TECTURES|
|0000e220| 0a 20 2a 20 41 4e 44 20 | 43 4f 4e 46 49 47 55 52 |. * AND |CONFIGUR|
|0000e230| 41 54 49 4f 4e 53 2e 20 | 49 54 20 53 48 4f 55 4c |ATIONS. |IT SHOUL|
|0000e240| 44 20 4e 4f 54 20 52 45 | 51 55 49 52 45 20 41 4e |D NOT RE|QUIRE AN|
|0000e250| 59 0a 20 2a 20 4d 4f 44 | 49 46 49 43 41 54 49 4f |Y. * MOD|IFICATIO|
|0000e260| 4e 53 20 57 48 45 4e 20 | 41 44 41 50 54 49 4e 47 |NS WHEN |ADAPTING|
|0000e270| 20 04 00 04 02 00 30 01 | 02 00 58 45 4e 49 58 20 | .....0.|..XENIX |
|0000e280| 54 4f 20 4e 45 57 20 48 | 41 52 44 57 41 52 45 2e |TO NEW H|ARDWARE.|
|0000e290| 0a 20 2a 2f 0a 0a 0a 23 | 69 66 64 65 66 09 4d 5f |. */...#|ifdef.M_|
|0000e2a0| 49 33 38 36 0a 23 70 72 | 61 67 6d 61 09 70 61 63 |I386.#pr|agma.pac|
|0000e2b0| 6b 28 32 29 0a 23 65 6e | 64 69 66 0a 0a 2f 2a 0a |k(2).#en|dif../*.|
|0000e2c0| 20 2a 20 53 74 72 75 63 | 74 75 72 65 20 66 6f 72 | * Struc|ture for|
|0000e2d0| 20 73 74 74 79 20 61 6e | 64 20 67 74 74 79 20 73 | stty an|d gtty s|
|0000e2e0| 79 73 74 65 6d 20 63 61 | 6c 6c 73 2e 0a 20 2a 2f |ystem ca|lls.. */|
|0000e2f0| 0a 73 74 72 75 63 74 20 | 73 67 74 74 79 62 09 7b |.struct |sgttyb.{|
|0000e300| 0a 09 63 68 61 72 09 73 | 67 5f 69 73 70 65 65 64 |..char.s|g_ispeed|
|0000e310| 3b 0a 09 63 68 61 72 09 | 73 67 5f 6f 73 70 65 65 |;..char.|sg_ospee|
|0000e320| 64 3b 0a 09 63 68 61 72 | 09 73 67 5f 65 72 61 73 |d;..char|.sg_eras|
|0000e330| 65 3b 0a 09 63 68 61 72 | 09 73 67 5f 6b 69 6c 6c |e;..char|.sg_kill|
|0000e340| 3b 0a 09 73 68 6f 72 74 | 09 73 67 5f 66 6c 61 67 |;..short|.sg_flag|
|0000e350| 73 3b 0a 7d 3b 0a 0a 2f | 2a 0a 20 2a 20 4c 69 73 |s;.};../|*. * Lis|
|0000e360| 74 20 6f 66 20 73 70 65 | 63 69 61 6c 20 63 68 61 |t of spe|cial cha|
|0000e370| 72 61 63 74 65 72 73 0a | 20 2a 2f 0a 73 74 72 75 |racters.| */.stru|
|0000e380| 63 74 20 74 63 09 7b 0a | 09 63 68 61 72 09 74 5f |ct tc.{.|.char.t_|
|0000e390| 69 6e 74 72 63 3b 0a 09 | 63 68 61 72 09 74 5f 71 |intrc;..|char.t_q|
|0000e3a0| 75 69 74 63 3b 0a 09 63 | 68 61 72 09 74 5f 73 74 |uitc;..c|har.t_st|
|0000e3b0| 61 72 74 63 3b 0a 09 63 | 68 61 72 09 74 5f 73 74 |artc;..c|har.t_st|
|0000e3c0| 6f 70 63 3b 0a 09 63 68 | 61 72 09 74 5f 65 6f 66 |opc;..ch|ar.t_eof|
|0000e3d0| 63 3b 0a 09 63 68 61 72 | 09 74 5f 62 72 6b 63 3b |c;..char|.t_brkc;|
|0000e3e0| 0a 7d 3b 0a 0a 23 69 66 | 64 65 66 09 4d 5f 49 33 |.};..#if|def.M_I3|
|0000e3f0| 38 36 0a 23 70 72 61 67 | 6d 61 09 70 61 63 6b 28 |86.#prag|ma.pack(|
|0000e400| 29 0a 23 65 6e 64 69 66 | 0a 0a 2f 2a 20 6d 6f 64 |).#endif|../* mod|
|0000e410| 65 73 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 4f 5f |es */.#d|efine.O_|
|0000e420| 54 41 4e 44 45 4d 09 30 | 31 0a 23 64 65 66 69 6e |TANDEM.0|1.#defin|
|0000e430| 65 09 4f 5f 43 42 52 45 | 41 4b 09 30 32 0a 23 64 |e.O_CBRE|AK.02.#d|
|0000e440| 65 66 69 6e 65 09 4f 5f | 4c 43 41 53 45 09 09 30 |efine.O_|LCASE..0|
|0000e450| 34 0a 23 64 65 66 69 6e | 65 09 4f 5f 45 43 48 4f |4.#defin|e.O_ECHO|
|0000e460| 09 09 30 31 30 0a 23 64 | 65 66 69 6e 65 09 4f 5f |..010.#d|efine.O_|
|0000e470| 43 52 4d 4f 44 09 09 30 | 32 30 04 00 05 02 00 82 |CRMOD..0|20......|
|0000e480| 01 02 00 0a 23 64 65 66 | 69 6e 65 09 4f 5f 52 41 |....#def|ine.O_RA|
|0000e490| 57 09 09 30 34 30 0a 23 | 64 65 66 69 6e 65 09 4f |W..040.#|define.O|
|0000e4a0| 5f 4f 44 44 50 09 09 30 | 31 30 30 0a 23 64 65 66 |_ODDP..0|100.#def|
|0000e4b0| 69 6e 65 09 4f 5f 45 56 | 45 4e 50 09 09 30 32 30 |ine.O_EV|ENP..020|
|0000e4c0| 30 0a 23 64 65 66 69 6e | 65 09 4f 5f 4e 4c 44 45 |0.#defin|e.O_NLDE|
|0000e4d0| 4c 41 59 09 30 30 31 34 | 30 30 0a 23 64 65 66 69 |LAY.0014|00.#defi|
|0000e4e0| 6e 65 09 4f 5f 4e 4c 31 | 09 09 30 30 30 34 30 30 |ne.O_NL1|..000400|
|0000e4f0| 0a 23 64 65 66 69 6e 65 | 09 4f 5f 4e 4c 32 09 09 |.#define|.O_NL2..|
|0000e500| 30 30 31 30 30 30 0a 23 | 64 65 66 69 6e 65 09 4f |001000.#|define.O|
|0000e510| 5f 54 42 44 45 4c 41 59 | 09 30 30 35 30 30 30 0a |_TBDELAY|.005000.|
|0000e520| 23 64 65 66 69 6e 65 09 | 4f 5f 54 41 42 31 09 09 |#define.|O_TAB1..|
|0000e530| 30 30 31 30 30 30 0a 23 | 64 65 66 69 6e 65 09 4f |001000.#|define.O|
|0000e540| 5f 54 41 42 32 09 09 30 | 30 34 30 30 30 0a 23 64 |_TAB2..0|04000.#d|
|0000e550| 65 66 69 6e 65 09 4f 5f | 58 54 41 42 53 09 09 30 |efine.O_|XTABS..0|
|0000e560| 30 36 30 30 30 0a 2f 2a | 2a 2a 23 64 65 66 69 6e |06000./*|**#defin|
|0000e570| 65 09 4f 5f 4e 4f 41 4c | 09 30 30 34 30 30 30 2a |e.O_NOAL|.004000*|
|0000e580| 2a 2a 2f 0a 23 64 65 66 | 69 6e 65 09 4f 5f 43 52 |**/.#def|ine.O_CR|
|0000e590| 44 45 4c 41 59 09 30 33 | 30 30 30 30 0a 23 64 65 |DELAY.03|0000.#de|
|0000e5a0| 66 69 6e 65 09 4f 5f 43 | 52 31 09 09 30 31 30 30 |fine.O_C|R1..0100|
|0000e5b0| 30 30 0a 23 64 65 66 69 | 6e 65 09 4f 5f 43 52 32 |00.#defi|ne.O_CR2|
|0000e5c0| 09 09 30 32 30 30 30 30 | 0a 23 64 65 66 69 6e 65 |..020000|.#define|
|0000e5d0| 09 4f 5f 56 54 44 45 4c | 41 59 09 30 34 30 30 30 |.O_VTDEL|AY.04000|
|0000e5e0| 30 0a 23 64 65 66 69 6e | 65 09 4f 5f 42 53 44 45 |0.#defin|e.O_BSDE|
|0000e5f0| 4c 41 59 09 30 31 30 30 | 30 30 30 0a 23 70 72 61 |LAY.0100|000.#pra|
|0000e600| 67 6d 61 09 70 61 63 6b | 28 29 0a 23 65 6e 64 69 |gma.pack|().#endi|
|0000e610| 66 0a 0a 2f 2a 20 6d 6f | 64 65 73 20 2a 2f 0a 23 |f../* mo|des */.#|
|0000e620| 64 65 66 69 6e 65 09 4f | 5f 54 41 4e 44 45 4d 09 |define.O|_TANDEM.|
|0000e630| 30 31 0a 23 64 65 66 69 | 6e 65 09 4f 5f 43 42 52 |01.#defi|ne.O_CBR|
|0000e640| 45 41 4b 09 30 32 0a 23 | 64 65 66 69 6e 65 09 4f |EAK.02.#|define.O|
|0000e650| 5f 4c 43 41 53 45 09 09 | 30 34 0a 23 64 65 66 69 |_LCASE..|04.#defi|
|0000e660| 6e 65 09 4f 5f 45 43 48 | 4f 09 09 30 31 30 0a 23 |ne.O_ECH|O..010.#|
|0000e670| 64 65 66 69 6e 65 09 4f | 5f 43 52 4d 4f 44 09 09 |define.O|_CRMOD..|
|0000e680| 30 32 30 04 00 06 02 00 | 68 5d 00 02 00 18 2e 2f |020.....|h]...../|
|0000e690| 75 73 72 2f 69 6e 63 6c | 75 64 65 2f 73 79 73 2f |usr/incl|ude/sys/|
|0000e6a0| 74 72 61 70 2e 68 01 26 | 00 00 00 38 20 20 20 34 |trap.h.&|...8 4|
|0000e6b0| 34 34 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 |44 . | 0 . |
|0000e6c0| 20 30 20 00 20 20 20 20 | 20 20 20 32 37 34 30 20 | 0 . | 2740 |
|0000e6d0| 20 34 32 34 34 33 34 30 | 32 32 34 20 20 31 30 33 | 4244340|224 103|
|0000e6e0| 33 32 00 20 01 b2 00 00 | 04 00 07 02 00 10 01 02 |32. ....|........|
|0000e6f0| 00 2f 2a 0a 20 2a 09 40 | 28 23 29 20 74 72 61 70 |./*. *.@|(#) trap|
|0000e700| 2e 68 20 32 2e 31 20 38 | 38 2f 30 35 2f 31 38 20 |.h 2.1 8|8/05/18 |
|0000e710| 0a 20 2a 0a 20 2a 09 43 | 6f 70 79 72 69 67 68 74 |. *. *.C|opyright|
|0000e720| 20 28 43 29 20 54 68 65 | 20 53 61 6e 74 61 20 43 | (C) The| Santa C|
|0000e730| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 31 |ruz Oper|ation, 1|
|0000e740| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|0000e750| 20 31 39 38 37 2e 0a 20 | 2a 09 43 6f 70 79 72 69 | 1987.. |*.Copyri|
|0000e760| 67 68 74 20 28 43 29 20 | 4d 69 63 72 6f 73 6f 66 |ght (C) |Microsof|
|0000e770| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 2c 20 31 |t Corpor|ation, 1|
|0000e780| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|0000e790| 20 31 39 38 37 2e 0a 20 | 2a 09 54 68 69 73 20 4d | 1987.. |*.This M|
|0000e7a0| 6f 64 75 6c 65 20 63 6f | 6e 74 61 69 6e 73 20 50 |odule co|ntains P|
|0000e7b0| 72 6f 70 72 69 65 74 61 | 72 79 20 49 6e 66 6f 72 |roprieta|ry Infor|
|0000e7c0| 6d 61 74 69 6f 6e 20 6f | 66 0a 20 2a 09 54 68 65 |mation o|f. *.The|
|0000e7d0| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|0000e7e0| 61 74 69 6f 6e 2c 20 4d | 69 63 72 6f 73 6f 66 74 |ation, M|icrosoft|
|0000e7f0| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 0a 20 2a 09 | Corpora|tion. *.|
|0000e800| 61 6e 64 20 41 54 26 54 | 2c 20 61 6e 64 20 73 68 |and AT&T|, and sh|
|0000e810| 6f 75 6c 64 20 62 65 20 | 74 72 65 61 74 65 64 20 |ould be |treated |
|0000e820| 61 73 20 43 6f 6e 66 69 | 64 65 6e 74 69 61 6c 2e |as Confi|dential.|
|0000e830| 0a 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 33 38 36 20 |. */../*|. * 386 |
|0000e840| 74 72 61 70 20 74 79 70 | 65 73 0a 20 2a 2f 0a 23 |trap typ|es. */.#|
|0000e850| 64 65 66 69 6e 65 20 54 | 52 5f 44 49 56 45 52 52 |define T|R_DIVERR|
|0000e860| 09 30 09 2f 2a 20 64 69 | 76 69 64 65 20 65 72 72 |.0./* di|vide err|
|0000e870| 6f 72 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 52 |or */.#d|efine TR|
|0000e880| 5f 53 49 4e 47 4c 45 09 | 31 09 2f 2a 20 73 69 6e |_SINGLE.|1./* sin|
|0000e890| 67 6c 65 20 73 74 65 70 | 20 2a 2f 0a 23 64 65 66 |gle step| */.#def|
|0000e8a0| 69 6e 65 20 54 52 5f 4e | 4d 49 09 09 32 09 2f 2a |ine TR_N|MI..2./*|
|0000e8b0| 20 6e 6f 6e 2d 6d 61 73 | 6b 61 62 6c 65 20 69 6e | non-mas|kable in|
|0000e8c0| 74 65 72 72 75 70 74 20 | 2a 2f 0a 23 64 65 66 69 |terrupt |*/.#defi|
|0000e8d0| 6e 65 20 54 52 5f 42 52 | 4b 50 4e 54 09 33 09 2f |ne TR_BR|KPNT.3./|
|0000e8e0| 2a 20 62 72 65 61 6b 70 | 6f 69 6e 74 20 2a 2f 0a |* breakp|oint */.|
|0000e8f0| 23 04 00 08 02 00 d7 01 | 02 00 64 65 66 69 6e 65 |#.......|..define|
|0000e900| 20 54 52 5f 49 4e 54 4f | 09 09 34 09 2f 2a 20 49 | TR_INTO|..4./* I|
|0000e910| 4e 54 4f 20 69 6e 73 74 | 72 75 63 74 69 6f 6e 20 |NTO inst|ruction |
|0000e920| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 54 52 5f 42 4f |*/.#defi|ne TR_BO|
|0000e930| 55 4e 44 09 35 09 2f 2a | 20 42 4f 55 4e 44 20 69 |UND.5./*| BOUND i|
|0000e940| 6e 73 74 72 75 63 74 69 | 6f 6e 20 2a 2f 0a 23 64 |nstructi|on */.#d|
|0000e950| 65 66 69 6e 65 20 54 52 | 5f 49 4c 4c 49 4e 53 54 |efine TR|_ILLINST|
|0000e960| 09 36 09 2f 2a 20 69 6c | 6c 65 67 61 6c 20 69 6e |.6./* il|legal in|
|0000e970| 73 74 72 75 63 74 69 6f | 6e 20 2a 2f 0a 23 64 65 |structio|n */.#de|
|0000e980| 66 69 6e 65 20 54 52 5f | 44 4e 41 09 09 37 09 2f |fine TR_|DNA..7./|
|0000e990| 2a 20 64 65 76 69 63 65 | 20 6e 6f 74 20 61 76 61 |* device| not ava|
|0000e9a0| 69 6c 61 62 6c 65 20 2a | 2f 0a 23 64 65 66 69 6e |ilable *|/.#defin|
|0000e9b0| 65 20 54 52 5f 44 42 4c | 46 4c 54 09 38 09 2f 2a |e TR_DBL|FLT.8./*|
|0000e9c0| 20 64 6f 75 62 6c 65 20 | 66 61 75 6c 74 20 2a 2f | double |fault */|
|0000e9d0| 0a 23 64 65 66 69 6e 65 | 20 54 52 5f 4f 56 45 52 |.#define| TR_OVER|
|0000e9e0| 52 55 4e 09 39 09 2f 2a | 20 63 6f 70 72 6f 63 65 |RUN.9./*| coproce|
|0000e9f0| 73 73 6f 72 20 6f 76 65 | 72 72 75 6e 20 2a 2f 0a |ssor ove|rrun */.|
|0000ea00| 23 64 65 66 69 6e 65 20 | 54 52 5f 49 4e 56 54 53 |#define |TR_INVTS|
|0000ea10| 53 09 31 30 09 2f 2a 20 | 69 6e 76 61 6c 69 64 20 |S.10./* |invalid |
|0000ea20| 74 73 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |tss */.#|define T|
|0000ea30| 52 5f 53 45 47 4e 50 09 | 31 31 09 2f 2a 20 73 65 |R_SEGNP.|11./* se|
|0000ea40| 67 6d 65 6e 74 20 6e 6f | 74 20 70 72 65 73 65 6e |gment no|t presen|
|0000ea50| 74 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 54 52 5f |t */.#de|fine TR_|
|0000ea60| 53 54 41 43 4b 09 31 32 | 09 2f 2a 20 73 74 61 63 |STACK.12|./* stac|
|0000ea70| 6b 20 66 61 75 6c 74 20 | 2a 2f 0a 23 64 65 66 69 |k fault |*/.#defi|
|0000ea80| 6e 65 20 54 52 5f 47 50 | 09 09 31 33 09 2f 2a 20 |ne TR_GP|..13./* |
|0000ea90| 67 65 6e 65 72 61 6c 20 | 70 72 6f 74 65 63 74 69 |general |protecti|
|0000eaa0| 6f 6e 20 66 61 75 6c 74 | 20 2a 2f 0a 23 64 65 66 |on fault| */.#def|
|0000eab0| 69 6e 65 20 54 52 5f 50 | 41 47 45 09 09 31 34 09 |ine TR_P|AGE..14.|
|0000eac0| 2f 2a 20 70 61 67 65 20 | 66 61 75 6c 74 20 2a 2f |/* page |fault */|
|0000ead0| 0a 23 64 65 66 69 6e 65 | 20 54 52 5f 43 4f 50 52 |.#define| TR_COPR|
|0000eae0| 4f 43 09 31 36 09 2f 2a | 20 63 6f 70 72 6f 63 65 |OC.16./*| coproce|
|0000eaf0| 73 73 6f 72 20 65 72 72 | 6f 72 04 00 09 02 00 99 |ssor err|or......|
|0000eb00| 01 02 00 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 52 |... */.#|define R|
|0000eb10| 45 53 43 48 45 44 09 09 | 31 37 09 2f 2a 20 73 6f |ESCHED..|17./* so|
|0000eb20| 66 74 77 61 72 65 20 67 | 65 6e 65 72 61 74 65 64 |ftware g|enerated|
|0000eb30| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 53 59 53 43 | */.#def|ine SYSC|
|0000eb40| 41 4c 4c 09 09 31 38 09 | 2f 2a 20 73 6f 66 74 77 |ALL..18.|/* softw|
|0000eb50| 61 72 65 20 67 65 6e 65 | 72 61 74 65 64 20 2a 2f |are gene|rated */|
|0000eb60| 0a 23 64 65 66 69 6e 65 | 20 55 53 45 52 09 09 35 |.#define| USER..5|
|0000eb70| 31 32 0a 0a 2f 2a 0a 20 | 2a 20 66 6c 6f 61 74 69 |12../*. |* floati|
|0000eb80| 6e 67 20 70 6f 69 6e 74 | 20 74 72 61 70 73 0a 20 |ng point| traps. |
|0000eb90| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 54 52 5f 53 57 |*/.#defi|ne TR_SW|
|0000eba0| 32 34 30 09 32 34 30 0a | 23 64 65 66 69 6e 65 20 |240.240.|#define |
|0000ebb0| 54 52 5f 53 57 32 34 31 | 09 32 34 31 0a 23 64 65 |TR_SW241|.241.#de|
|0000ebc0| 66 69 6e 65 20 54 52 5f | 53 57 32 34 32 09 32 34 |fine TR_|SW242.24|
|0000ebd0| 32 0a 23 64 65 66 69 6e | 65 20 54 52 5f 53 57 32 |2.#defin|e TR_SW2|
|0000ebe0| 34 33 09 32 34 33 0a 23 | 64 65 66 69 6e 65 20 54 |43.243.#|define T|
|0000ebf0| 52 5f 53 57 32 34 34 09 | 32 34 34 0a 23 64 65 66 |R_SW244.|244.#def|
|0000ec00| 69 6e 65 20 54 52 5f 53 | 57 32 34 35 09 32 34 35 |ine TR_S|W245.245|
|0000ec10| 0a 23 64 65 66 69 6e 65 | 20 54 52 5f 53 57 32 34 |.#define| TR_SW24|
|0000ec20| 36 09 32 34 36 0a 23 64 | 65 66 69 6e 65 20 54 52 |6.246.#d|efine TR|
|0000ec30| 5f 53 57 32 34 37 09 32 | 34 37 0a 23 64 65 66 69 |_SW247.2|47.#defi|
|0000ec40| 6e 65 20 54 52 5f 53 57 | 32 34 38 09 32 34 38 0a |ne TR_SW|248.248.|
|0000ec50| 23 64 65 66 69 6e 65 20 | 54 52 5f 53 57 32 34 39 |#define |TR_SW249|
|0000ec60| 09 32 34 39 0a 23 64 65 | 66 69 6e 65 20 54 52 5f |.249.#de|fine TR_|
|0000ec70| 53 57 32 35 30 09 32 35 | 30 0a 23 64 65 66 69 6e |SW250.25|0.#defin|
|0000ec80| 65 20 54 52 5f 53 57 32 | 35 31 09 32 35 31 0a 23 |e TR_SW2|51.251.#|
|0000ec90| 64 65 66 69 6e 65 20 54 | 52 5f 53 57 32 35 32 09 |define T|R_SW252.|
|0000eca0| 32 35 32 0a 23 64 65 66 | 69 6e 65 20 54 52 5f 53 |252.#def|ine TR_S|
|0000ecb0| 57 32 35 33 09 32 35 33 | 0a 23 64 65 66 69 6e 65 |W253.253|.#define|
|0000ecc0| 20 54 52 5f 53 57 32 35 | 34 09 32 35 34 0a 23 64 | TR_SW25|4.254.#d|
|0000ecd0| 65 66 69 6e 65 20 54 52 | 5f 53 57 32 35 35 09 32 |efine TR|_SW255.2|
|0000ece0| 35 35 0a 52 5f 43 4f 50 | 52 4f 43 09 31 36 09 2f |55.R_COP|ROC.16./|
|0000ecf0| 2a 20 63 6f 70 72 6f 63 | 65 73 73 6f 72 20 65 72 |* coproc|essor er|
|0000ed00| 72 6f 72 04 00 0a 02 00 | fb 5f 00 02 00 1a 2e 2f |ror.....|._...../|
|0000ed10| 75 73 72 2f 69 6e 63 6c | 75 64 65 2f 73 79 73 2f |usr/incl|ude/sys/|
|0000ed20| 74 69 75 73 65 72 2e 68 | 01 25 00 00 00 38 20 20 |tiuser.h|.%...8 |
|0000ed30| 20 34 34 34 20 00 20 20 | 20 20 20 30 20 00 20 20 | 444 . | 0 . |
|0000ed40| 20 20 20 30 20 00 20 20 | 20 20 20 20 31 35 34 33 | 0 . | 1543|
|0000ed50| 30 20 20 34 32 34 34 33 | 34 30 31 34 33 20 20 31 |0 42443|40143 1|
|0000ed60| 30 37 31 37 00 20 01 b2 | 00 00 04 00 0b 02 00 05 |0717. ..|........|
|0000ed70| 01 02 00 2f 2a 0a 20 2a | 09 40 28 23 29 20 74 69 |.../*. *|.@(#) ti|
|0000ed80| 75 73 65 72 2e 68 20 31 | 2e 31 20 38 38 2f 30 35 |user.h 1|.1 88/05|
|0000ed90| 2f 31 38 20 0a 20 2a 0a | 20 2a 09 43 6f 70 79 72 |/18 . *.| *.Copyr|
|0000eda0| 69 67 68 74 20 28 43 29 | 20 54 68 65 20 53 61 6e |ight (C)| The San|
|0000edb0| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|0000edc0| 6e 2c 20 31 39 38 34 2c | 20 31 39 38 35 2c 20 31 |n, 1984,| 1985, 1|
|0000edd0| 39 38 36 2c 20 31 39 38 | 37 2c 20 31 39 38 38 2e |986, 198|7, 1988.|
|0000ede0| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|0000edf0| 29 20 4d 69 63 72 6f 73 | 6f 66 74 20 43 6f 72 70 |) Micros|oft Corp|
|0000ee00| 6f 72 61 74 69 6f 6e 2c | 20 31 39 38 34 2c 20 31 |oration,| 1984, 1|
|0000ee10| 39 38 35 2c 20 31 39 38 | 36 2c 20 31 39 38 37 2c |985, 198|6, 1987,|
|0000ee20| 20 31 39 38 38 2e 0a 20 | 2a 09 54 68 69 73 20 4d | 1988.. |*.This M|
|0000ee30| 6f 64 75 6c 65 20 63 6f | 6e 74 61 69 6e 73 20 50 |odule co|ntains P|
|0000ee40| 72 6f 70 72 69 65 74 61 | 72 79 20 49 6e 66 6f 72 |roprieta|ry Infor|
|0000ee50| 6d 61 74 69 6f 6e 20 6f | 66 0a 20 2a 09 54 68 65 |mation o|f. *.The|
|0000ee60| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|0000ee70| 61 74 69 6f 6e 2c 20 4d | 69 63 72 6f 73 6f 66 74 |ation, M|icrosoft|
|0000ee80| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 0a 20 2a 09 | Corpora|tion. *.|
|0000ee90| 61 6e 64 20 41 54 26 54 | 2c 20 61 6e 64 20 73 68 |and AT&T|, and sh|
|0000eea0| 6f 75 6c 64 20 62 65 20 | 74 72 65 61 74 65 64 20 |ould be |treated |
|0000eeb0| 61 73 20 43 6f 6e 66 69 | 64 65 6e 74 69 61 6c 2e |as Confi|dential.|
|0000eec0| 0a 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 54 48 49 53 |. */../*|. * THIS|
|0000eed0| 20 46 49 4c 45 20 43 4f | 4e 54 41 49 4e 53 20 43 | FILE CO|NTAINS C|
|0000eee0| 4f 44 45 20 57 48 49 43 | 48 20 49 53 20 44 45 53 |ODE WHIC|H IS DES|
|0000eef0| 49 47 4e 45 44 20 54 4f | 20 42 45 0a 20 2a 20 50 |IGNED TO| BE. * P|
|0000ef00| 4f 52 54 41 42 4c 45 20 | 42 45 54 57 45 45 4e 20 |ORTABLE |BETWEEN |
|0000ef10| 44 49 46 46 45 52 45 4e | 54 20 4d 41 43 48 49 4e |DIFFEREN|T MACHIN|
|0000ef20| 45 20 41 52 43 48 49 54 | 45 43 54 55 52 45 53 0a |E ARCHIT|ECTURES.|
|0000ef30| 20 2a 20 41 4e 44 20 43 | 4f 4e 46 49 47 55 52 41 | * AND C|ONFIGURA|
|0000ef40| 54 49 4f 4e 53 2e 20 49 | 54 20 53 48 4f 55 4c 44 |TIONS. I|T SHOULD|
|0000ef50| 20 4e 4f 54 20 52 45 51 | 55 49 52 45 20 41 4e 59 | NOT REQ|UIRE ANY|
|0000ef60| 0a 20 2a 20 4d 4f 44 49 | 46 49 43 41 54 49 4f 4e |. * MODI|FICATION|
|0000ef70| 53 20 57 04 00 0c 02 00 | c3 ed 01 02 00 d5 48 45 |S W.....|......HE|
|0000ef80| 4e 20 41 44 41 50 54 49 | 4e 47 20 58 45 4e 49 58 |N ADAPTI|NG XENIX|
|0000ef90| 20 54 4f 20 4e 45 57 20 | 48 41 52 44 57 41 52 45 | TO NEW |HARDWARE|
|0000efa0| 2e 0a 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 54 68 65 |.. */../|*. * The|
|0000efb0| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 61 72 65 20 74 | followi|ng are t|
|0000efc0| 68 65 20 65 72 72 6f 72 | 20 63 6f 64 65 73 20 6e |he error| codes n|
|0000efd0| 65 65 64 65 64 20 62 79 | 20 62 6f 74 68 20 74 68 |eeded by| both th|
|0000efe0| 65 20 6b 65 72 6e 65 6c | 0a 20 2a 20 6c 65 76 65 |e kernel|. * leve|
|0000eff0| 6c 20 74 72 61 6e 73 70 | 6f 72 74 20 70 72 6f 76 |l transp|ort prov|
|0000f000| 69 64 65 72 73 20 61 6e | 64 20 74 68 65 20 75 73 |iders an|d the us|
|0000f010| 65 72 20 6c 65 76 65 6c | 20 6c 69 62 72 61 72 79 |er level| library|
|0000f020| 2e 0a 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 09 54 |.. */..#|define.T|
|0000f030| 42 41 44 41 44 44 52 09 | 09 31 09 2f 2a 20 69 6e |BADADDR.|.1./* in|
|0000f040| 63 6f 72 72 65 63 74 20 | 61 64 64 72 20 66 6f 72 |correct |addr for|
|0000f050| 6d 61 74 01 04 20 20 00 | 67 20 2a 2f 0a 23 64 65 |mat.. .|g */.#de|
|0000f060| 66 69 6e 65 09 54 42 41 | 44 4f 50 54 09 09 09 32 |fine.TBA|DOPT...2|
|0000f070| 09 2f 2a 20 69 6e 63 6f | 72 72 65 63 74 20 6f 70 |./* inco|rrect op|
|0000f080| 74 69 6f 6e 20 66 6f 72 | 6d 61 74 20 20 20 20 20 |tion for|mat |
|0000f090| 20 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 54 41 43 | */.#de|fine.TAC|
|0000f0a0| 43 45 53 09 09 09 33 09 | 2f 2a 20 69 6e 63 6f 72 |CES...3.|/* incor|
|0000f0b0| 72 65 63 74 20 70 65 72 | 6d 69 73 73 69 6f 6e 73 |rect per|missions|
|0000f0c0| 01 04 20 20 00 2e 20 2a | 2f 0a 23 64 65 66 69 6e |.. .. *|/.#defin|
|0000f0d0| 65 20 54 42 41 44 46 09 | 09 09 34 09 2f 2a 20 69 |e TBADF.|..4./* i|
|0000f0e0| 6c 6c 65 67 61 6c 20 74 | 72 61 6e 73 70 6f 72 74 |llegal t|ransport|
|0000f0f0| 20 66 64 09 01 04 20 20 | 00 31 20 2a 2f 0a 23 64 | fd... |.1 */.#d|
|0000f100| 65 66 69 6e 65 20 54 4e | 4f 41 44 44 52 09 09 09 |efine TN|OADDR...|
|0000f110| 35 09 2f 2a 20 63 6f 75 | 6c 64 6e 27 74 20 61 6c |5./* cou|ldn't al|
|0000f120| 6c 6f 63 61 74 65 20 61 | 64 64 72 01 04 20 20 00 |locate a|ddr.. .|
|0000f130| 15 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 4f 55 54 |.*/.#def|ine TOUT|
|0000f140| 53 54 41 54 45 09 01 04 | 20 20 00 11 36 09 2f 2a |STATE...| ..6./*|
|0000f150| 20 6f 75 74 20 6f 66 20 | 73 74 61 74 65 01 09 20 | out of |state.. |
|0000f160| 20 00 05 2a 2f 0a 23 64 | 04 00 0d 02 00 27 f9 01 | ..*/.#d|.....'..|
|0000f170| 02 00 0f 65 66 69 6e 65 | 20 54 42 41 44 53 45 51 |...efine| TBADSEQ|
|0000f180| 09 09 01 04 20 20 00 4f | 37 20 20 20 20 20 20 20 |.... .O|7 |
|0000f190| 2f 2a 20 62 61 64 20 63 | 61 6c 6c 20 73 65 71 75 |/* bad c|all sequ|
|0000f1a0| 6e 63 65 20 6e 75 6d 62 | 65 72 20 20 20 20 20 20 |nce numb|er |
|0000f1b0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 53 59 53 | */.#def|ine TSYS|
|0000f1c0| 45 52 52 09 09 09 38 09 | 2f 2a 20 73 79 73 74 65 |ERR...8.|/* syste|
|0000f1d0| 6d 20 65 72 72 6f 72 01 | 07 20 20 00 12 2a 2f 0a |m error.|. ..*/.|
|0000f1e0| 23 64 65 66 69 6e 65 20 | 54 4c 4f 4f 4b 09 09 01 |#define |TLOOK...|
|0000f1f0| 04 20 20 00 ff 39 09 2f | 2a 20 65 76 65 6e 74 20 |. ..9./|* event |
|0000f200| 72 65 71 75 69 72 65 73 | 20 61 74 74 65 6e 74 69 |requires| attenti|
|0000f210| 6f 6e 20 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |on */.#|define T|
|0000f220| 42 41 44 44 41 54 41 09 | 20 20 20 20 20 20 20 31 |BADDATA.| 1|
|0000f230| 30 09 2f 2a 20 69 6c 6c | 65 67 61 6c 20 61 6d 6f |0./* ill|egal amo|
|0000f240| 75 6e 74 20 6f 66 20 64 | 61 74 61 20 20 20 20 2a |unt of d|ata *|
|0000f250| 2f 0a 23 64 65 66 69 6e | 65 20 54 42 55 46 4f 56 |/.#defin|e TBUFOV|
|0000f260| 46 4c 57 09 20 20 20 20 | 20 20 20 31 31 20 20 20 |FLW. | 11 |
|0000f270| 20 20 20 20 2f 2a 20 62 | 75 66 66 65 72 20 6e 6f | /* b|uffer no|
|0000f280| 74 20 6c 61 72 67 65 20 | 65 6e 6f 75 67 68 20 20 |t large |enough |
|0000f290| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 46 4c 4f | */.#def|ine TFLO|
|0000f2a0| 57 09 09 20 20 20 20 20 | 20 20 31 32 20 09 2f 2a |W.. | 12 ./*|
|0000f2b0| 20 66 6c 6f 77 20 63 6f | 6e 74 72 6f 6c 09 09 20 | flow co|ntrol.. |
|0000f2c0| 20 20 20 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 54 | */.#|define.T|
|0000f2d0| 4e 4f 44 41 54 41 09 09 | 20 20 20 20 20 20 20 31 |NODATA..| 1|
|0000f2e0| 33 09 2f 2a 20 6e 6f 20 | 64 61 74 61 09 09 20 20 |3./* no |data.. |
|0000f2f0| 20 20 20 2a 00 73 2f 0a | 23 64 65 66 69 6e 65 20 | *.s/.|#define |
|0000f300| 54 4e 4f 44 49 53 09 09 | 20 20 20 20 20 20 20 31 |TNODIS..| 1|
|0000f310| 34 09 2f 2a 20 64 69 73 | 63 6f 6e 5f 69 6e 64 20 |4./* dis|con_ind |
|0000f320| 6e 6f 74 20 66 6f 75 6e | 64 20 6f 6e 20 71 20 2a |not foun|d on q *|
|0000f330| 2f 0a 23 64 65 66 69 6e | 65 20 54 4e 4f 55 44 45 |/.#defin|e TNOUDE|
|0000f340| 52 52 09 20 20 20 20 20 | 20 20 31 35 09 2f 2a 20 |RR. | 15./* |
|0000f350| 75 6e 69 74 64 61 74 61 | 20 65 72 72 6f 72 20 6e |unitdata| error n|
|0000f360| 6f 74 20 66 6f 75 6e 64 | 20 04 00 0e 02 00 73 f7 |ot found| .....s.|
|0000f370| 01 02 00 31 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |...1 */.|#define |
|0000f380| 54 42 41 44 46 4c 41 47 | 09 20 20 20 20 20 20 20 |TBADFLAG|. |
|0000f390| 31 36 20 20 20 20 20 20 | 20 2f 2a 20 62 61 64 20 |16 | /* bad |
|0000f3a0| 66 6c 61 67 73 01 08 20 | 20 00 ff 20 2a 2f 0a 23 |flags.. | .. */.#|
|0000f3b0| 64 65 66 69 6e 65 20 54 | 4e 4f 52 45 4c 09 09 20 |define T|NOREL.. |
|0000f3c0| 20 20 20 20 20 20 31 37 | 20 20 20 20 20 20 20 2f | 17| /|
|0000f3d0| 2a 20 6e 6f 20 6f 72 64 | 20 72 65 6c 20 66 6f 75 |* no ord| rel fou|
|0000f3e0| 6e 64 20 6f 6e 20 71 20 | 20 20 20 20 2a 2f 0a 23 |nd on q | */.#|
|0000f3f0| 64 65 66 69 6e 65 20 54 | 4e 4f 54 53 55 50 50 4f |define T|NOTSUPPO|
|0000f400| 52 54 09 20 20 20 20 20 | 20 20 31 38 20 20 20 20 |RT. | 18 |
|0000f410| 20 20 20 2f 2a 20 70 72 | 69 6d 69 74 69 76 65 20 | /* pr|imitive |
|0000f420| 6e 6f 74 20 73 75 70 70 | 6f 72 74 65 64 20 20 20 |not supp|orted |
|0000f430| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 54 53 54 41 54 |*/.#defi|ne TSTAT|
|0000f440| 45 43 48 4e 47 09 20 20 | 20 20 20 20 20 31 39 09 |ECHNG. | 19.|
|0000f450| 2f 2a 20 73 74 61 74 65 | 20 69 73 20 69 6e 20 70 |/* state| is in p|
|0000f460| 72 6f 63 65 73 73 20 6f | 66 20 63 68 61 6e 67 69 |rocess o|f changi|
|0000f470| 6e 67 20 2a 2f 0a 0a 2f | 2a 20 0a 20 2a 20 54 68 |ng */../|* . * Th|
|0000f480| 65 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 61 72 65 20 |e follow|ing are |
|0000f490| 74 68 65 20 65 76 65 6e | 74 73 20 72 65 74 75 72 |the even|ts retur|
|0000f4a0| 6e 65 64 20 62 79 20 74 | 5f 6c 00 b2 6f 6f 6b 0a |ned by t|_l..ook.|
|0000f4b0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 5f 4c 49 | */.#def|ine T_LI|
|0000f4c0| 53 54 45 4e 09 30 78 30 | 30 30 31 20 09 2f 2a 20 |STEN.0x0|001 ./* |
|0000f4d0| 63 6f 6e 6e 65 63 74 69 | 6f 6e 20 69 6e 64 69 63 |connecti|on indic|
|0000f4e0| 61 74 69 6f 6e 20 72 65 | 63 65 69 76 65 64 20 2a |ation re|ceived *|
|0000f4f0| 2f 0a 23 64 65 66 69 6e | 65 20 54 5f 43 4f 4e 4e |/.#defin|e T_CONN|
|0000f500| 45 43 54 09 30 78 30 30 | 30 32 09 2f 2a 20 63 6f |ECT.0x00|02./* co|
|0000f510| 6e 6e 65 63 74 20 63 6f | 6e 66 69 72 6d 61 74 69 |nnect co|nfirmati|
|0000f520| 6f 6e 20 72 65 63 65 69 | 76 65 64 20 20 2a 2f 0a |on recei|ved */.|
|0000f530| 23 64 65 66 69 6e 65 20 | 54 5f 44 41 54 41 09 09 |#define |T_DATA..|
|0000f540| 30 78 30 30 30 34 09 2f | 2a 20 6e 6f 72 6d 61 6c |0x0004./|* normal|
|0000f550| 20 64 61 74 61 20 72 65 | 63 65 69 76 65 64 01 05 | data re|ceived..|
|0000f560| 20 20 00 04 20 2a 2f 0a | 04 00 0f 02 00 7b ed 01 | .. */.|.....{..|
|0000f570| 02 00 32 23 64 65 66 69 | 6e 65 09 54 5f 45 58 44 |..2#defi|ne.T_EXD|
|0000f580| 41 54 41 09 30 78 30 30 | 30 38 09 2f 2a 20 65 78 |ATA.0x00|08./* ex|
|0000f590| 70 65 64 69 74 65 64 20 | 64 61 74 61 20 72 65 63 |pedited |data rec|
|0000f5a0| 65 69 76 65 64 01 04 20 | 20 00 35 2a 2f 0a 23 64 |eived.. | .5*/.#d|
|0000f5b0| 65 66 69 6e 65 20 54 5f | 44 49 53 43 4f 4e 4e 45 |efine T_|DISCONNE|
|0000f5c0| 43 54 09 30 78 30 30 31 | 30 09 2f 2a 20 64 69 73 |CT.0x001|0./* dis|
|0000f5d0| 63 6f 6e 6e 65 63 74 20 | 72 65 63 65 69 76 65 64 |connect |received|
|0000f5e0| 01 06 20 20 00 da 2a 2f | 0a 23 64 65 66 69 6e 65 |.. ..*/|.#define|
|0000f5f0| 20 54 5f 45 52 52 4f 52 | 09 09 30 78 30 30 32 30 | T_ERROR|..0x0020|
|0000f600| 09 2f 2a 20 66 61 74 61 | 6c 20 65 72 72 6f 72 20 |./* fata|l error |
|0000f610| 6f 63 63 75 72 72 65 64 | 09 09 20 20 2a 2f 0a 23 |occurred|.. */.#|
|0000f620| 64 65 66 69 6e 65 20 54 | 5f 55 44 45 52 52 09 20 |define T|_UDERR. |
|0000f630| 09 30 78 30 30 34 30 09 | 2f 2a 20 64 61 74 61 20 |.0x0040.|/* data |
|0000f640| 67 72 61 6d 20 65 72 72 | 6f 72 20 69 6e 64 69 63 |gram err|or indic|
|0000f650| 61 74 69 6f 6e 20 20 20 | 20 20 2a 2f 0a 23 64 65 |ation | */.#de|
|0000f660| 66 69 6e 65 20 54 5f 4f | 52 44 52 45 4c 09 30 78 |fine T_O|RDREL.0x|
|0000f670| 30 30 38 30 09 2f 2a 20 | 6f 72 64 65 72 6c 79 20 |0080./* |orderly |
|0000f680| 72 65 6c 65 61 73 65 20 | 69 6e 64 69 63 61 74 69 |release |indicati|
|0000f690| 6f 6e 20 20 20 20 20 2a | 2f 0a 23 64 65 66 69 6e |on *|/.#defin|
|0000f6a0| 65 20 54 5f 45 56 45 4e | 54 53 09 30 78 30 30 66 |e T_EVEN|TS.0x00f|
|0000f6b0| 66 09 2f 2a 20 65 76 65 | 6e 74 20 6d 61 73 6b 09 |f./* eve|nt mask.|
|0000f6c0| 01 09 20 20 00 87 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |.. ..*/|../*. * |
|0000f6d0| 54 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 61 72 |The foll|owing ar|
|0000f6e0| 65 20 74 68 65 20 66 6c | 61 67 20 64 65 66 69 6e |e the fl|ag defin|
|0000f6f0| 69 74 69 6f 6e 73 20 6e | 65 65 64 65 64 20 62 79 |itions n|eeded by|
|0000f700| 20 74 68 65 0a 20 2a 20 | 75 73 65 72 20 6c 65 76 | the. * |user lev|
|0000f710| 65 6c 20 6c 69 62 72 61 | 72 79 20 72 6f 75 74 69 |el libra|ry routi|
|0000f720| 6e 65 73 2e 0a 20 2a 2f | 0a 0a 23 64 65 66 69 6e |nes.. */|..#defin|
|0000f730| 65 20 54 5f 4d 4f 52 45 | 09 09 30 78 30 30 31 09 |e T_MORE|..0x001.|
|0000f740| 09 2f 2a 20 6d 6f 72 65 | 20 64 61 74 61 01 04 20 |./* more| data.. |
|0000f750| 20 00 0a 2a 2f 0a 23 64 | 65 66 69 6e 65 0f 04 01 | ..*/.#d|efine...|
|0000f760| ff 04 01 01 02 00 98 e9 | 01 02 00 51 20 54 5f 45 |........|...Q T_E|
|0000f770| 58 50 45 44 49 54 45 44 | 09 30 78 30 30 32 09 09 |XPEDITED|.0x002..|
|0000f780| 2f 2a 20 65 78 70 65 64 | 69 74 65 64 20 64 61 74 |/* exped|ited dat|
|0000f790| 61 20 20 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |a */.#|define T|
|0000f7a0| 5f 4e 45 47 4f 54 49 41 | 54 45 09 30 78 30 30 34 |_NEGOTIA|TE.0x004|
|0000f7b0| 09 09 2f 2a 20 73 65 74 | 20 6f 70 74 73 01 04 20 |../* set| opts.. |
|0000f7c0| 20 00 b6 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 | .. */.#|define T|
|0000f7d0| 5f 43 48 45 43 4b 09 09 | 30 78 30 30 38 09 09 2f |_CHECK..|0x008../|
|0000f7e0| 2a 20 63 68 65 63 6b 20 | 6f 70 74 73 20 20 20 20 |* check |opts |
|0000f7f0| 20 20 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 5f | */.#d|efine T_|
|0000f800| 44 45 46 41 55 4c 54 09 | 30 78 30 31 30 09 09 2f |DEFAULT.|0x010../|
|0000f810| 2a 20 67 65 74 20 64 65 | 66 61 75 6c 74 20 6f 70 |* get de|fault op|
|0000f820| 74 73 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 5f |ts */.#d|efine T_|
|0000f830| 53 55 43 43 45 53 53 09 | 30 78 30 32 30 09 09 2f |SUCCESS.|0x020../|
|0000f840| 2a 20 73 75 63 63 65 73 | 73 66 75 6c 20 20 20 20 |* succes|sful |
|0000f850| 20 20 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 5f | */.#d|efine T_|
|0000f860| 46 41 49 4c 55 52 45 09 | 30 78 30 34 30 09 09 2f |FAILURE.|0x040../|
|0000f870| 2a 20 66 61 69 6c 75 72 | 65 01 05 20 20 00 67 2a |* failur|e.. .g*|
|0000f880| 2f 0a 0a 2f 2a 0a 20 2a | 20 70 72 6f 74 6f 63 6f |/../*. *| protoco|
|0000f890| 6c 20 73 70 65 63 69 66 | 69 63 20 73 65 72 76 69 |l specif|ic servi|
|0000f8a0| 63 65 20 6c 69 6d 69 74 | 73 0a 20 2a 2f 0a 0a 73 |ce limit|s. */..s|
|0000f8b0| 74 72 75 63 74 20 74 5f | 69 6e 66 6f 20 7b 0a 09 |truct t_|info {..|
|0000f8c0| 6c 6f 6e 67 20 61 64 64 | 72 3b 09 2f 2a 20 73 69 |long add|r;./* si|
|0000f8d0| 7a 65 20 6f 66 20 70 72 | 6f 74 6f 63 6f 6c 20 61 |ze of pr|otocol a|
|0000f8e0| 64 64 72 65 73 73 01 08 | 20 20 00 2d 2a 2f 0a 09 |ddress..| .-*/..|
|0000f8f0| 6c 6f 6e 67 20 6f 70 74 | 69 6f 6e 73 3b 09 2f 2a |long opt|ions;./*|
|0000f900| 20 73 69 7a 65 20 6f 66 | 20 70 72 6f 74 6f 63 6f | size of| protoco|
|0000f910| 6c 20 6f 70 74 69 6f 6e | 73 01 08 20 20 00 33 2a |l option|s.. .3*|
|0000f920| 2f 0a 09 6c 6f 6e 67 20 | 74 73 64 75 3b 09 2f 2a |/..long |tsdu;./*|
|0000f930| 20 73 69 7a 65 20 6f 66 | 20 6d 61 78 20 74 72 61 | size of| max tra|
|0000f940| 6e 73 70 6f 72 74 20 73 | 65 72 76 69 63 65 20 64 |nsport s|ervice d|
|0000f950| 61 74 04 01 02 02 00 0f | fd 01 02 00 34 61 20 75 |at......|....4a u|
|0000f960| 6e 69 74 20 2a 2f 0a 09 | 6c 6f 6e 67 20 65 74 73 |nit */..|long ets|
|0000f970| 64 75 3b 09 2f 2a 20 73 | 69 7a 65 20 6f 66 20 6d |du;./* s|ize of m|
|0000f980| 61 78 20 65 78 70 65 64 | 69 74 65 64 20 74 73 64 |ax exped|ited tsd|
|0000f990| 75 01 07 20 20 00 ff 2a | 2f 0a 09 6c 6f 6e 67 20 |u.. ..*|/..long |
|0000f9a0| 63 6f 6e 6e 65 63 74 3b | 09 2f 2a 20 6d 61 78 20 |connect;|./* max |
|0000f9b0| 64 61 74 61 20 66 6f 72 | 20 63 6f 6e 6e 65 63 74 |data for| connect|
|0000f9c0| 69 6f 6e 20 70 72 69 6d | 69 74 69 76 65 73 20 20 |ion prim|itives |
|0000f9d0| 20 20 20 20 2a 2f 0a 09 | 6c 6f 6e 67 20 64 69 73 | */..|long dis|
|0000f9e0| 63 6f 6e 3b 09 2f 2a 20 | 6d 61 78 20 64 61 74 61 |con;./* |max data|
|0000f9f0| 20 66 6f 72 20 64 69 73 | 63 6f 6e 6e 65 63 74 20 | for dis|connect |
|0000fa00| 70 72 69 6d 69 74 69 76 | 65 73 20 20 20 20 20 20 |primitiv|es |
|0000fa10| 2a 2f 0a 09 6c 6f 6e 67 | 20 73 65 72 76 74 79 70 |*/..long| servtyp|
|0000fa20| 65 3b 09 2f 2a 20 70 72 | 6f 76 69 64 65 72 20 73 |e;./* pr|ovider s|
|0000fa30| 65 72 76 69 63 65 20 74 | 79 70 65 09 09 20 20 20 |ervice t|ype.. |
|0000fa40| 2a 2f 0a 7d 3b 0a 0a 2f | 2a 20 0a 20 2a 20 53 65 |*/.};../|* . * Se|
|0000fa50| 72 76 69 63 65 20 74 79 | 70 65 20 64 65 66 69 6e |rvice ty|pe defin|
|0000fa60| 65 73 0a 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |es. */.#|define T|
|0000fa70| 5f 43 4f 54 53 09 20 20 | 20 30 31 09 2f 2a 20 63 |_COTS. | 01./* c|
|0000fa80| 6f 6e 6e 65 63 74 69 6f | 6e 20 6f 72 69 65 6e 74 |onnectio|n orient|
|0000fa90| 65 64 20 74 72 61 00 bf | 6e 73 70 6f 72 74 20 73 |ed tra..|nsport s|
|0000faa0| 65 72 76 69 63 65 20 20 | 2a 2f 0a 23 64 65 66 69 |ervice |*/.#defi|
|0000fab0| 6e 65 20 54 5f 43 4f 54 | 53 5f 4f 52 44 20 30 32 |ne T_COT|S_ORD 02|
|0000fac0| 09 2f 2a 20 63 6f 6e 6e | 65 63 74 69 6f 6e 20 6f |./* conn|ection o|
|0000fad0| 72 69 65 6e 74 65 64 20 | 77 2f 20 6f 72 64 65 72 |riented |w/ order|
|0000fae0| 6c 79 20 72 65 6c 65 61 | 73 65 20 2a 2f 0a 23 64 |ly relea|se */.#d|
|0000faf0| 65 66 69 6e 65 20 54 5f | 43 4c 54 53 09 20 20 20 |efine T_|CLTS. |
|0000fb00| 30 33 09 2f 2a 20 63 6f | 6e 6e 65 63 74 69 6f 6e |03./* co|nnection|
|0000fb10| 6c 65 73 73 20 74 72 61 | 6e 73 70 6f 72 74 20 73 |less tra|nsport s|
|0000fb20| 65 72 76 69 63 65 20 20 | 20 20 20 20 20 2a 2f 0a |ervice | */.|
|0000fb30| 0a 2f 2a 0a 20 2a 20 6e | 65 74 62 75 66 20 73 74 |./*. * n|etbuf st|
|0000fb40| 72 75 63 74 75 72 65 0a | 20 2a 2f 0a 0a 73 74 72 |ructure.| */..str|
|0000fb50| 75 63 74 20 6e 65 74 04 | 01 03 02 00 ff ff 01 02 |uct net.|........|
|0000fb60| 00 ff 62 75 66 20 7b 0a | 09 75 6e 73 69 67 6e 65 |..buf {.|.unsigne|
|0000fb70| 64 20 69 6e 74 20 6d 61 | 78 6c 65 6e 3b 0a 09 75 |d int ma|xlen;..u|
|0000fb80| 6e 73 69 67 6e 65 64 20 | 69 6e 74 20 6c 65 6e 3b |nsigned |int len;|
|0000fb90| 0a 09 63 68 61 72 20 2a | 62 75 66 3b 0a 7d 3b 0a |..char *|buf;.};.|
|0000fba0| 0a 2f 2a 0a 20 2a 20 74 | 5f 62 69 6e 64 20 2d 20 |./*. * t|_bind - |
|0000fbb0| 66 6f 72 6d 61 74 20 6f | 66 20 74 68 65 20 61 64 |format o|f the ad|
|0000fbc0| 64 72 65 73 20 61 6e 64 | 20 6f 70 74 69 6f 6e 73 |dres and| options|
|0000fbd0| 20 61 72 67 75 6d 65 6e | 74 73 20 6f 66 20 62 69 | argumen|ts of bi|
|0000fbe0| 6e 64 20 0a 20 2a 2f 0a | 0a 73 74 72 75 63 74 20 |nd . */.|.struct |
|0000fbf0| 74 5f 62 69 6e 64 20 7b | 0a 09 73 74 72 75 63 74 |t_bind {|..struct|
|0000fc00| 20 6e 65 74 62 75 66 09 | 61 64 64 72 3b 0a 09 75 | netbuf.|addr;..u|
|0000fc10| 6e 73 69 67 6e 65 64 09 | 71 6c 65 6e 3b 0a 7d 3b |nsigned.|qlen;.};|
|0000fc20| 0a 0a 2f 2a 20 0a 20 2a | 20 6f 70 74 69 6f 6e 73 |../* . *| options|
|0000fc30| 20 6d 61 6e 61 67 65 6d | 65 6e 74 0a 20 2a 2f 0a | managem|ent. */.|
|0000fc40| 73 74 72 75 63 74 20 74 | 5f 6f 70 74 6d 67 6d 74 |struct t|_optmgmt|
|0000fc50| 20 7b 0a 09 73 74 72 75 | 63 74 20 6e 65 74 62 75 | {..stru|ct netbu|
|0000fc60| 66 00 6c 09 6f 70 74 3b | 0a 09 6c 6f 6e 67 09 09 |f.l.opt;|..long..|
|0000fc70| 66 6c 61 67 73 3b 0a 7d | 3b 0a 0a 2f 2a 0a 20 2a |flags;.}|;../*. *|
|0000fc80| 20 64 69 73 63 6f 6e 6e | 65 63 74 20 73 74 72 75 | disconn|ect stru|
|0000fc90| 63 74 75 72 65 0a 20 2a | 2f 0a 73 74 72 75 63 74 |cture. *|/.struct|
|0000fca0| 20 74 5f 64 69 73 63 6f | 6e 20 7b 0a 09 73 74 72 | t_disco|n {..str|
|0000fcb0| 75 63 74 20 6e 65 74 62 | 75 66 20 75 64 61 74 61 |uct netb|uf udata|
|0000fcc0| 3b 09 09 2f 2a 20 75 73 | 65 72 20 64 61 74 61 01 |;../* us|er data.|
|0000fcd0| 05 20 20 00 20 2a 2f 0a | 09 69 6e 74 20 72 65 61 |. . */.|.int rea|
|0000fce0| 73 6f 6e 3b 09 09 09 2f | 2a 20 72 65 61 73 6f 6e |son;.../|* reason|
|0000fcf0| 20 63 6f 64 65 01 04 20 | 20 00 63 2a 2f 0a 09 69 | code.. | .c*/..i|
|0000fd00| 6e 74 20 73 65 71 75 65 | 6e 63 65 3b 09 09 09 2f |nt seque|nce;.../|
|0000fd10| 2a 20 73 65 71 75 65 6e | 63 65 20 6e 75 6d 62 65 |* sequen|ce numbe|
|0000fd20| 72 20 20 20 20 2a 2f 0a | 7d 3b 0a 0a 2f 2a 0a 20 |r */.|};../*. |
|0000fd30| 2a 20 63 61 6c 6c 20 73 | 74 72 75 63 74 75 72 65 |* call s|tructure|
|0000fd40| 0a 20 2a 2f 0a 73 74 72 | 75 63 74 20 74 5f 63 61 |. */.str|uct t_ca|
|0000fd50| 6c 6c 20 7b 0a 09 73 74 | 72 75 63 74 20 6e 04 01 |ll {..st|ruct n..|
|0000fd60| 04 02 00 5a f3 01 02 00 | 18 65 74 62 75 66 20 61 |...Z....|.etbuf a|
|0000fd70| 64 64 72 3b 09 09 2f 2a | 20 20 61 64 64 72 65 73 |ddr;../*| addres|
|0000fd80| 73 01 05 20 20 00 50 20 | 2a 2f 0a 09 73 74 72 75 |s.. .P |*/..stru|
|0000fd90| 63 74 20 6e 65 74 62 75 | 66 20 6f 70 74 3b 09 09 |ct netbu|f opt;..|
|0000fda0| 2f 2a 20 6f 70 74 69 6f | 6e 73 09 20 20 20 20 20 |/* optio|ns. |
|0000fdb0| 20 2a 2f 0a 09 73 74 72 | 75 63 74 20 6e 65 74 62 | */..str|uct netb|
|0000fdc0| 75 66 20 75 64 61 74 61 | 3b 09 09 2f 2a 20 75 73 |uf udata|;../* us|
|0000fdd0| 65 72 20 64 61 74 61 01 | 05 20 20 00 84 2a 2f 0a |er data.|. ..*/.|
|0000fde0| 09 69 6e 74 20 73 65 71 | 75 65 6e 63 65 3b 09 09 |.int seq|uence;..|
|0000fdf0| 09 2f 2a 20 73 65 71 75 | 65 6e 63 65 20 6e 75 6d |./* sequ|ence num|
|0000fe00| 62 65 72 20 20 20 20 2a | 2f 0a 7d 3b 0a 0a 2f 2a |ber *|/.};../*|
|0000fe10| 0a 20 2a 20 64 61 74 61 | 20 67 72 61 6d 20 73 74 |. * data| gram st|
|0000fe20| 72 75 63 74 75 72 65 0a | 20 2a 2f 0a 73 74 72 75 |ructure.| */.stru|
|0000fe30| 63 74 20 74 5f 75 6e 69 | 74 64 61 74 61 20 7b 0a |ct t_uni|tdata {.|
|0000fe40| 09 73 74 72 75 63 74 20 | 6e 65 74 62 75 66 20 61 |.struct |netbuf a|
|0000fe50| 64 64 72 3b 09 09 2f 2a | 20 20 61 64 64 72 65 73 |ddr;../*| addres|
|0000fe60| 73 01 05 20 20 00 50 20 | 2a 2f 0a 09 73 74 72 75 |s.. .P |*/..stru|
|0000fe70| 63 74 20 6e 65 74 62 75 | 66 20 6f 70 74 3b 09 09 |ct netbu|f opt;..|
|0000fe80| 2f 2a 20 6f 70 74 69 6f | 6e 73 09 20 20 20 20 20 |/* optio|ns. |
|0000fe90| 20 2a 2f 0a 09 73 74 72 | 75 63 74 20 6e 65 74 62 | */..str|uct netb|
|0000fea0| 75 66 20 75 64 61 74 61 | 3b 09 09 2f 2a 20 75 73 |uf udata|;../* us|
|0000feb0| 65 72 20 64 61 74 61 01 | 05 20 20 00 9c 2a 2f 0a |er data.|. ..*/.|
|0000fec0| 7d 3b 0a 0a 2f 2a 0a 20 | 2a 20 75 6e 69 74 64 61 |};../*. |* unitda|
|0000fed0| 74 61 20 65 72 72 6f 72 | 0a 20 2a 2f 0a 73 74 72 |ta error|. */.str|
|0000fee0| 75 63 74 20 74 5f 75 64 | 65 72 72 20 7b 0a 09 73 |uct t_ud|err {..s|
|0000fef0| 74 72 75 63 74 20 6e 65 | 74 62 75 66 20 61 64 64 |truct ne|tbuf add|
|0000ff00| 72 3b 09 09 2f 2a 20 61 | 64 64 72 65 73 73 09 09 |r;../* a|ddress..|
|0000ff10| 2a 2f 0a 09 73 74 72 75 | 63 74 20 6e 65 74 62 75 |*/..stru|ct netbu|
|0000ff20| 66 20 6f 70 74 3b 09 09 | 2f 2a 20 6f 70 74 69 6f |f opt;..|/* optio|
|0000ff30| 6e 73 20 09 09 2a 2f 0a | 09 6c 6f 6e 67 09 20 20 |ns ..*/.|.long. |
|0000ff40| 20 20 20 20 65 72 72 6f | 72 3b 09 09 2f 2a 20 65 | erro|r;../* e|
|0000ff50| 72 72 6f 72 20 63 6f 64 | 65 04 01 05 02 00 b9 01 |rror cod|e.......|
|0000ff60| 02 00 09 09 2a 2f 0a 7d | 3b 0a 0a 2f 2a 0a 20 2a |....*/.}|;../*. *|
|0000ff70| 20 54 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 20 61 | The fol|lowing a|
|0000ff80| 72 65 20 73 74 72 75 63 | 74 75 72 65 20 74 79 70 |re struc|ture typ|
|0000ff90| 65 73 20 75 73 65 64 20 | 77 68 65 6e 20 64 79 6e |es used |when dyn|
|0000ffa0| 61 6d 69 63 61 6c 6c 79 | 0a 20 2a 20 61 6c 6c 6f |amically|. * allo|
|0000ffb0| 63 61 74 69 6e 67 20 74 | 68 65 20 61 62 6f 76 65 |cating t|he above|
|0000ffc0| 20 73 74 72 75 63 74 75 | 72 65 73 20 76 69 61 20 | structu|res via |
|0000ffd0| 74 5f 73 74 72 75 63 74 | 61 6c 6c 6f 63 28 29 2e |t_struct|alloc().|
|0000ffe0| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 54 5f 42 |. */.#de|fine T_B|
|0000fff0| 49 4e 44 09 09 31 09 09 | 2f 2a 20 73 74 72 75 63 |IND..1..|/* struc|
|00010000| 74 20 74 5f 62 69 6e 64 | 09 2a 2f 0a 23 64 65 66 |t t_bind|.*/.#def|
|00010010| 69 6e 65 20 54 5f 4f 50 | 54 4d 47 4d 54 09 32 09 |ine T_OP|TMGMT.2.|
|00010020| 09 2f 2a 20 73 74 72 75 | 63 74 20 74 5f 6f 70 74 |./* stru|ct t_opt|
|00010030| 6d 67 6d 74 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 |mgmt.*/.|#define |
|00010040| 54 5f 43 41 4c 4c 09 09 | 33 09 09 2f 2a 20 73 74 |T_CALL..|3../* st|
|00010050| 72 75 63 74 20 74 5f 63 | 61 6c 6c 09 2a 2f 0a 23 |ruct t_c|all.*/.#|
|00010060| 64 65 66 69 6e 65 20 54 | 5f 44 49 53 09 09 34 09 |define T|_DIS..4.|
|00010070| 09 2f 2a 20 73 74 72 75 | 63 74 20 74 5f 64 69 73 |./* stru|ct t_dis|
|00010080| 63 6f 6e 09 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |con.*/.#|define T|
|00010090| 5f 55 4e 49 54 44 41 54 | 41 09 35 09 09 2f 2a 20 |_UNITDAT|A.5../* |
|000100a0| 73 74 72 75 63 74 20 74 | 5f 75 6e 69 74 64 61 74 |struct t|_unitdat|
|000100b0| 61 09 2a 2f 0a 23 64 65 | 66 69 6e 65 20 54 5f 55 |a.*/.#de|fine T_U|
|000100c0| 44 45 52 52 4f 52 09 36 | 09 09 2f 2a 20 73 74 72 |DERROR.6|../* str|
|000100d0| 75 63 74 20 74 5f 75 64 | 65 72 72 09 2a 2f 0a 23 |uct t_ud|err.*/.#|
|000100e0| 64 65 66 69 6e 65 20 54 | 5f 49 4e 46 4f 09 09 37 |define T|_INFO..7|
|000100f0| 09 09 2f 2a 20 73 74 72 | 75 63 74 20 74 5f 69 6e |../* str|uct t_in|
|00010100| 66 6f 09 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 54 68 65 |fo.*/../|*. * The|
|00010110| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 62 69 74 73 20 | followi|ng bits |
|00010120| 73 70 65 63 69 66 79 20 | 77 68 69 63 68 20 66 69 |specify |which fi|
|00010130| 65 6c 64 73 20 6f 66 20 | 74 68 65 20 61 62 6f 76 |elds of |the abov|
|00010140| 65 0a 20 2a 20 73 74 72 | 75 63 74 75 72 65 73 20 |e. * str|uctures |
|00010150| 73 68 6f 75 6c 64 20 62 | 65 20 61 6c 6c 6f 63 61 |should b|e alloca|
|00010160| 74 65 04 01 06 02 00 bc | 01 02 00 64 20 62 79 20 |te......|...d by |
|00010170| 74 5f 73 74 72 75 63 74 | 61 6c 6c 6f 63 28 29 2e |t_struct|alloc().|
|00010180| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 54 5f 41 |. */.#de|fine T_A|
|00010190| 44 44 52 09 30 78 30 31 | 09 09 09 2f 2a 20 61 64 |DDR.0x01|.../* ad|
|000101a0| 64 72 65 73 73 20 20 20 | 2a 2f 0a 23 64 65 66 69 |dress |*/.#defi|
|000101b0| 6e 65 20 54 5f 4f 50 54 | 09 30 78 30 32 09 09 09 |ne T_OPT|.0x02...|
|000101c0| 2f 2a 20 6f 70 74 69 6f | 6e 73 20 20 20 2a 2f 0a |/* optio|ns */.|
|000101d0| 23 64 65 66 69 6e 65 20 | 54 5f 55 44 41 54 41 09 |#define |T_UDATA.|
|000101e0| 30 78 30 34 09 09 09 2f | 2a 20 75 73 65 72 20 64 |0x04.../|* user d|
|000101f0| 61 74 61 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |ata */.#|define T|
|00010200| 5f 41 4c 4c 09 30 78 30 | 37 09 09 09 2f 2a 20 61 |_ALL.0x0|7.../* a|
|00010210| 6c 6c 20 74 68 65 20 61 | 62 6f 76 65 20 2a 2f 0a |ll the a|bove */.|
|00010220| 0a 0a 2f 2a 20 0a 20 2a | 20 74 68 65 20 66 6f 6c |../* . *| the fol|
|00010230| 6c 6f 77 69 6e 67 20 61 | 72 65 20 74 68 65 20 73 |lowing a|re the s|
|00010240| 74 61 74 65 73 20 66 6f | 72 20 74 68 65 20 75 73 |tates fo|r the us|
|00010250| 65 72 0a 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 |er. */..|#define |
|00010260| 54 5f 55 4e 49 4e 49 54 | 09 30 09 09 2f 2a 20 75 |T_UNINIT|.0../* u|
|00010270| 6e 69 6e 69 74 69 61 6c | 69 7a 65 64 20 20 09 09 |ninitial|ized ..|
|00010280| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 54 5f 55 4e 42 |*/.#defi|ne T_UNB|
|00010290| 4e 44 09 09 31 09 09 2f | 2a 20 75 6e 62 6f 75 6e |ND..1../|* unboun|
|000102a0| 64 20 09 20 20 20 20 20 | 20 09 09 2a 2f 0a 23 64 |d . | ..*/.#d|
|000102b0| 65 66 69 6e 65 20 54 5f | 49 44 4c 45 09 09 32 09 |efine T_|IDLE..2.|
|000102c0| 09 2f 2a 20 69 64 6c 65 | 09 09 09 09 2a 2f 0a 23 |./* idle|....*/.#|
|000102d0| 64 65 66 69 6e 65 09 54 | 5f 4f 55 54 43 4f 4e 09 |define.T|_OUTCON.|
|000102e0| 33 09 09 2f 2a 20 6f 75 | 74 67 6f 69 6e 67 20 63 |3../* ou|tgoing c|
|000102f0| 6f 6e 6e 65 63 74 69 6f | 6e 20 70 65 6e 64 69 6e |onnectio|n pendin|
|00010300| 67 20 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 5f |g .*/.#d|efine T_|
|00010310| 49 4e 43 4f 4e 09 09 34 | 09 09 2f 2a 20 69 6e 63 |INCON..4|../* inc|
|00010320| 6f 6d 69 6e 67 20 63 6f | 6e 6e 65 63 74 69 6f 6e |oming co|nnection|
|00010330| 20 70 65 6e 64 69 6e 67 | 20 20 2a 2f 0a 23 64 65 | pending| */.#de|
|00010340| 66 69 6e 65 20 54 5f 44 | 41 54 41 58 46 45 52 09 |fine T_D|ATAXFER.|
|00010350| 35 09 09 2f 2a 20 64 61 | 74 61 20 74 72 61 6e 73 |5../* da|ta trans|
|00010360| 66 65 72 09 09 2a 2f 0a | 23 64 65 04 01 07 02 00 |fer..*/.|#de.....|
|00010370| 1f fb 01 02 00 0d 66 69 | 6e 65 20 54 5f 4f 55 54 |......fi|ne T_OUT|
|00010380| 52 45 4c 01 04 20 20 00 | 01 36 01 07 20 20 00 ff |REL.. .|.6.. ..|
|00010390| 20 2f 2a 20 6f 75 74 67 | 6f 69 6e 67 20 72 65 6c | /* outg|oing rel|
|000103a0| 65 61 73 65 20 70 65 6e | 64 69 6e 67 20 20 20 20 |ease pen|ding |
|000103b0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 5f 49 4e | */.#def|ine T_IN|
|000103c0| 52 45 4c 09 09 37 09 09 | 2f 2a 20 69 6e 63 6f 6d |REL..7..|/* incom|
|000103d0| 69 6e 67 20 72 65 6c 65 | 61 73 65 20 70 65 6e 64 |ing rele|ase pend|
|000103e0| 69 6e 67 20 20 20 20 20 | 2a 2f 0a 23 64 65 66 69 |ing |*/.#defi|
|000103f0| 6e 65 20 54 5f 46 41 4b | 45 09 09 38 09 09 2f 2a |ne T_FAK|E..8../*|
|00010400| 20 66 61 6b 65 20 73 74 | 61 74 65 20 75 73 65 64 | fake st|ate used|
|00010410| 20 77 68 65 6e 20 73 74 | 61 74 65 20 20 20 2a 2f | when st|ate */|
|00010420| 0a 09 09 09 09 09 2f 2a | 20 63 61 6e 6e 6f 74 20 |....../*| cannot |
|00010430| 62 65 20 64 65 74 65 72 | 6d 69 6e 65 64 09 09 2a |be deter|mined..*|
|00010440| 2f 0a 23 64 65 66 69 6e | 65 20 54 5f 48 41 43 4b |/.#defin|e T_HACK|
|00010450| 09 09 31 32 09 09 2f 2a | 20 6e 65 65 64 65 64 20 |..12../*| needed |
|00010460| 74 6f 20 6d 61 69 6e 74 | 61 69 6e 20 63 6f 6d 70 |to maint|ain comp|
|00010470| 61 74 69 62 69 6c 69 74 | 79 20 21 21 21 0a 09 09 |atibilit|y !!!...|
|00010480| 09 09 09 20 2a 20 28 75 | 73 65 64 20 62 79 20 00 |... * (u|sed by .|
|00010490| dd 73 77 69 74 63 68 20 | 73 74 61 74 65 6d 65 6e |.switch |statemen|
|000104a0| 74 20 69 6e 20 0a 09 09 | 09 09 09 20 2a 20 74 5f |t in ...|... * t_|
|000104b0| 67 65 74 73 74 61 74 65 | 2e 63 29 0a 09 09 09 09 |getstate|.c).....|
|000104c0| 09 20 2a 20 44 4f 20 4e | 4f 54 20 52 45 4d 4f 56 |. * DO N|OT REMOV|
|000104d0| 45 20 55 4e 54 49 4c 20 | 5f 73 70 65 63 20 46 49 |E UNTIL |_spec FI|
|000104e0| 4c 45 0a 09 09 09 09 09 | 20 2a 20 52 45 4f 52 44 |LE......| * REORD|
|000104f0| 45 52 45 44 21 21 21 21 | 0a 09 09 09 09 09 20 2a |ERED!!!!|...... *|
|00010500| 2f 0a 0a 23 64 65 66 69 | 6e 65 20 54 5f 4e 4f 53 |/..#defi|ne T_NOS|
|00010510| 54 41 54 45 53 20 09 39 | 0a 0a 0a 23 64 65 66 69 |TATES .9|...#defi|
|00010520| 6e 65 20 52 4f 55 4e 44 | 55 50 28 58 29 09 28 28 |ne ROUND|UP(X).((|
|00010530| 58 20 2b 20 30 78 30 33 | 29 26 7e 30 78 30 33 29 |X + 0x03|)&~0x03)|
|00010540| 0a 0a 2f 2a 0a 20 2a 20 | 54 68 65 20 66 6f 6c 6c |../*. * |The foll|
|00010550| 6f 77 69 6e 67 20 61 72 | 65 20 54 4c 49 20 75 73 |owing ar|e TLI us|
|00010560| 65 72 20 6c 65 76 65 6c | 20 65 76 65 6e 74 04 01 |er level| event..|
|00010570| 08 02 00 35 01 02 00 73 | 20 77 68 69 63 68 20 63 |...5...s| which c|
|00010580| 61 75 73 65 0a 20 2a 20 | 73 74 61 74 65 20 63 68 |ause. * |state ch|
|00010590| 61 6e 67 65 73 2e 0a 20 | 2a 2f 0a 0a 23 64 65 66 |anges.. |*/..#def|
|000105a0| 69 6e 65 20 54 5f 4f 50 | 45 4e 20 09 09 30 0a 23 |ine T_OP|EN ..0.#|
|000105b0| 64 65 66 69 6e 65 20 54 | 5f 42 49 4e 44 09 09 31 |define T|_BIND..1|
|000105c0| 0a 23 64 65 66 69 6e 65 | 20 54 5f 4f 50 54 4d 47 |.#define| T_OPTMG|
|000105d0| 4d 54 09 32 0a 23 64 65 | 66 69 6e 65 20 54 5f 55 |MT.2.#de|fine T_U|
|000105e0| 4e 42 49 4e 44 09 33 0a | 23 64 65 66 69 6e 65 20 |NBIND.3.|#define |
|000105f0| 54 5f 43 4c 4f 53 45 09 | 09 34 0a 23 64 65 66 69 |T_CLOSE.|.4.#defi|
|00010600| 6e 65 20 54 5f 53 4e 44 | 55 44 41 54 41 09 35 0a |ne T_SND|UDATA.5.|
|00010610| 23 64 65 66 69 6e 65 20 | 54 5f 52 43 56 55 44 41 |#define |T_RCVUDA|
|00010620| 54 41 09 36 0a 23 64 65 | 66 69 6e 65 20 54 5f 52 |TA.6.#de|fine T_R|
|00010630| 43 56 55 44 45 52 52 09 | 37 0a 23 64 65 66 69 6e |CVUDERR.|7.#defin|
|00010640| 65 20 54 5f 43 4f 4e 4e | 45 43 54 31 09 38 0a 23 |e T_CONN|ECT1.8.#|
|00010650| 64 65 66 69 6e 65 20 54 | 5f 43 4f 4e 4e 45 43 54 |define T|_CONNECT|
|00010660| 32 09 39 0a 23 64 65 66 | 69 6e 65 20 54 5f 52 43 |2.9.#def|ine T_RC|
|00010670| 56 43 4f 4e 4e 45 43 54 | 09 31 30 0a 23 64 65 66 |VCONNECT|.10.#def|
|00010680| 69 6e 65 20 54 5f 4c 49 | 53 54 4e 09 09 31 31 0a |ine T_LI|STN..11.|
|00010690| 23 64 65 66 69 6e 65 20 | 54 5f 41 43 43 45 50 54 |#define |T_ACCEPT|
|000106a0| 31 09 31 32 0a 23 64 65 | 66 69 6e 65 20 54 5f 41 |1.12.#de|fine T_A|
|000106b0| 43 43 45 50 54 32 09 31 | 33 0a 23 64 65 66 69 6e |CCEPT2.1|3.#defin|
|000106c0| 65 09 54 5f 41 43 43 45 | 50 54 33 09 31 34 0a 23 |e.T_ACCE|PT3.14.#|
|000106d0| 64 65 66 69 6e 65 20 54 | 5f 53 4e 44 09 09 31 35 |define T|_SND..15|
|000106e0| 0a 23 64 65 66 69 6e 65 | 20 54 5f 52 43 56 09 09 |.#define| T_RCV..|
|000106f0| 31 36 0a 23 64 65 66 69 | 6e 65 20 54 5f 53 4e 44 |16.#defi|ne T_SND|
|00010700| 44 49 53 31 09 31 37 0a | 23 64 65 66 69 6e 65 20 |DIS1.17.|#define |
|00010710| 54 5f 53 4e 44 44 49 53 | 32 09 31 38 0a 23 64 65 |T_SNDDIS|2.18.#de|
|00010720| 66 69 6e 65 20 54 5f 52 | 43 56 44 49 53 31 09 31 |fine T_R|CVDIS1.1|
|00010730| 39 0a 23 64 65 66 69 6e | 65 20 54 5f 52 43 56 44 |9.#defin|e T_RCVD|
|00010740| 49 53 32 09 32 30 0a 23 | 64 65 66 69 6e 65 20 54 |IS2.20.#|define T|
|00010750| 5f 52 43 56 44 49 53 33 | 09 32 31 0a 23 64 65 66 |_RCVDIS3|.21.#def|
|00010760| 69 6e 65 20 54 5f 53 4e | 44 52 45 4c 09 32 32 0a |ine T_SN|DREL.22.|
|00010770| 23 64 65 66 69 6e 65 04 | 01 09 02 00 58 01 02 00 |#define.|....X...|
|00010780| 20 54 5f 52 43 56 52 45 | 4c 09 32 33 0a 23 64 65 | T_RCVRE|L.23.#de|
|00010790| 66 69 6e 65 20 54 5f 50 | 41 53 53 43 4f 4e 09 32 |fine T_P|ASSCON.2|
|000107a0| 34 0a 0a 23 64 65 66 69 | 6e 65 20 54 5f 4e 4f 45 |4..#defi|ne T_NOE|
|000107b0| 56 45 4e 54 53 09 32 35 | 0a 0a 23 64 65 66 69 6e |VENTS.25|..#defin|
|000107c0| 65 20 6e 76 73 20 09 31 | 32 37 20 09 2f 2a 20 6e |e nvs .1|27 ./* n|
|000107d0| 6f 74 20 61 20 76 61 6c | 69 64 20 73 74 61 74 65 |ot a val|id state|
|000107e0| 20 63 68 61 6e 67 65 20 | 2a 2f 0a 0a 65 78 74 65 | change |*/..exte|
|000107f0| 72 6e 20 63 68 61 72 20 | 74 69 75 73 72 5f 73 74 |rn char |tiusr_st|
|00010800| 61 74 65 74 62 6c 5b 54 | 5f 4e 4f 45 56 45 4e 54 |atetbl[T|_NOEVENT|
|00010810| 53 5d 5b 54 5f 4e 4f 53 | 54 41 54 45 53 5d 3b 0a |S][T_NOS|TATES];.|
|00010820| 0a 2f 2a 20 6d 61 63 72 | 6f 20 74 6f 20 63 68 61 |./* macr|o to cha|
|00010830| 6e 67 65 20 73 74 61 74 | 65 20 2a 2f 0a 2f 2a 20 |nge stat|e */./* |
|00010840| 54 4c 49 5f 4e 45 58 54 | 53 54 41 54 45 28 65 76 |TLI_NEXT|STATE(ev|
|00010850| 65 6e 74 2c 20 63 75 72 | 72 65 6e 74 20 73 74 61 |ent, cur|rent sta|
|00010860| 74 65 29 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |te) */.#|define T|
|00010870| 4c 49 5f 4e 45 58 54 53 | 54 41 54 45 28 58 2c 59 |LI_NEXTS|TATE(X,Y|
|00010880| 29 09 74 69 75 73 72 5f | 73 74 61 74 65 74 62 6c |).tiusr_|statetbl|
|00010890| 5b 58 5d 5b 59 5d 0a 0a | 0a 23 64 65 66 69 6e 65 |[X][Y]..|.#define|
|000108a0| 20 54 5f 41 43 43 45 50 | 54 31 09 31 32 0a 23 64 | T_ACCEP|T1.12.#d|
|000108b0| 65 66 69 6e 65 20 54 5f | 41 43 43 45 50 54 32 09 |efine T_|ACCEPT2.|
|000108c0| 31 33 0a 23 64 65 66 69 | 6e 65 09 54 5f 41 43 43 |13.#defi|ne.T_ACC|
|000108d0| 45 50 54 33 09 31 34 0a | 23 64 65 66 69 6e 65 20 |EPT3.14.|#define |
|000108e0| 54 5f 53 4e 44 09 09 31 | 35 0a 23 64 65 66 69 6e |T_SND..1|5.#defin|
|000108f0| 65 20 54 5f 52 43 56 09 | 09 31 36 0a 23 64 65 66 |e T_RCV.|.16.#def|
|00010900| 69 6e 65 20 54 5f 53 4e | 44 44 49 53 31 09 31 37 |ine T_SN|DDIS1.17|
|00010910| 0a 23 64 65 66 69 6e 65 | 20 54 5f 53 4e 44 44 49 |.#define| T_SNDDI|
|00010920| 53 32 09 31 38 0a 23 64 | 65 66 69 6e 65 20 54 5f |S2.18.#d|efine T_|
|00010930| 52 43 56 44 49 53 31 09 | 31 39 0a 23 64 65 66 69 |RCVDIS1.|19.#defi|
|00010940| 6e 65 20 54 5f 52 43 56 | 44 49 53 32 09 32 30 0a |ne T_RCV|DIS2.20.|
|00010950| 23 64 65 66 69 6e 65 20 | 54 5f 52 43 56 44 49 53 |#define |T_RCVDIS|
|00010960| 33 09 32 31 0a 23 64 65 | 66 69 6e 65 20 54 5f 53 |3.21.#de|fine T_S|
|00010970| 4e 44 52 45 4c 09 32 32 | 0a 23 64 65 66 69 6e 65 |NDREL.22|.#define|
|00010980| 04 01 0a 02 00 d2 5f 00 | 02 00 19 2e 2f 75 73 72 |......_.|..../usr|
|00010990| 2f 69 6e 63 6c 75 64 65 | 2f 73 79 73 2f 74 69 6d |/include|/sys/tim|
|000109a0| 6f 64 2e 68 01 25 00 00 | 00 39 00 20 20 20 34 34 |od.h.%..|.9. 44|
|000109b0| 34 20 00 20 20 20 20 20 | 30 20 00 20 20 20 20 20 |4 . |0 . |
|000109c0| 30 20 00 20 20 20 20 20 | 20 20 35 30 31 32 20 20 |0 . | 5012 |
|000109d0| 34 32 34 34 33 34 30 31 | 34 32 20 20 31 30 34 37 |42443401|42 1047|
|000109e0| 32 00 20 01 b2 00 00 04 | 01 0b 02 00 ec 01 02 00 |2. .....|........|
|000109f0| 2f 2a 0a 20 2a 09 40 28 | 23 29 20 74 69 6d 6f 64 |/*. *.@(|#) timod|
|00010a00| 2e 68 20 31 2e 31 20 38 | 38 2f 30 35 2f 31 38 20 |.h 1.1 8|8/05/18 |
|00010a10| 0a 20 2a 0a 20 2a 09 43 | 6f 70 79 72 69 67 68 74 |. *. *.C|opyright|
|00010a20| 20 28 43 29 20 54 68 65 | 20 53 61 6e 74 61 20 43 | (C) The| Santa C|
|00010a30| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 31 |ruz Oper|ation, 1|
|00010a40| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|00010a50| 20 31 39 38 37 2c 20 31 | 39 38 38 2e 0a 20 2a 09 | 1987, 1|988.. *.|
|00010a60| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 4d 69 |Copyrigh|t (C) Mi|
|00010a70| 63 72 6f 73 6f 66 74 20 | 43 6f 72 70 6f 72 61 74 |crosoft |Corporat|
|00010a80| 69 6f 6e 2c 20 31 39 38 | 34 2c 20 31 39 38 35 2c |ion, 198|4, 1985,|
|00010a90| 20 31 39 38 36 2c 20 31 | 39 38 37 2c 20 31 39 38 | 1986, 1|987, 198|
|00010aa0| 38 2e 0a 20 2a 09 54 68 | 69 73 20 4d 6f 64 75 6c |8.. *.Th|is Modul|
|00010ab0| 65 20 63 6f 6e 74 61 69 | 6e 73 20 50 72 6f 70 72 |e contai|ns Propr|
|00010ac0| 69 65 74 61 72 79 20 49 | 6e 66 6f 72 6d 61 74 69 |ietary I|nformati|
|00010ad0| 6f 6e 20 6f 66 0a 20 2a | 09 54 68 65 20 53 61 6e |on of. *|.The San|
|00010ae0| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|00010af0| 6e 2c 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |n, Micro|soft Cor|
|00010b00| 70 6f 72 61 74 69 6f 6e | 0a 20 2a 09 61 6e 64 20 |poration|. *.and |
|00010b10| 41 54 26 54 2c 20 61 6e | 64 20 73 68 6f 75 6c 64 |AT&T, an|d should|
|00010b20| 20 62 65 20 74 72 65 61 | 74 65 64 20 61 73 20 43 | be trea|ted as C|
|00010b30| 6f 6e 66 69 64 65 6e 74 | 69 61 6c 2e 0a 20 2a 2f |onfident|ial.. */|
|00010b40| 0a 0a 2f 2a 0a 20 2a 20 | 54 48 49 53 20 46 49 4c |../*. * |THIS FIL|
|00010b50| 45 20 43 4f 4e 54 41 49 | 4e 53 20 43 4f 44 45 20 |E CONTAI|NS CODE |
|00010b60| 57 48 49 43 48 20 49 53 | 20 44 45 53 49 47 4e 45 |WHICH IS| DESIGNE|
|00010b70| 44 20 54 4f 20 42 45 0a | 20 2a 20 50 4f 52 54 41 |D TO BE.| * PORTA|
|00010b80| 42 4c 45 20 42 45 54 57 | 45 45 4e 20 44 49 46 46 |BLE BETW|EEN DIFF|
|00010b90| 45 52 45 4e 54 20 4d 41 | 43 48 49 4e 45 20 41 52 |ERENT MA|CHINE AR|
|00010ba0| 43 48 49 54 45 43 54 55 | 52 45 53 0a 20 2a 20 41 |CHITECTU|RES. * A|
|00010bb0| 4e 44 20 43 4f 4e 46 49 | 47 55 52 41 54 49 4f 4e |ND CONFI|GURATION|
|00010bc0| 53 2e 20 49 54 20 53 48 | 4f 55 4c 44 20 4e 4f 54 |S. IT SH|OULD NOT|
|00010bd0| 20 52 45 51 55 49 52 45 | 20 41 4e 59 0a 20 2a 20 | REQUIRE| ANY. * |
|00010be0| 4d 4f 44 49 46 49 43 41 | 54 49 4f 4e 53 20 57 48 |MODIFICA|TIONS WH|
|00010bf0| 04 01 0c 02 00 2a ff 01 | 02 00 68 45 4e 20 41 44 |.....*..|..hEN AD|
|00010c00| 41 50 54 49 4e 47 20 58 | 45 4e 49 58 20 54 4f 20 |APTING X|ENIX TO |
|00010c10| 4e 45 57 20 48 41 52 44 | 57 41 52 45 2e 0a 20 2a |NEW HARD|WARE.. *|
|00010c20| 2f 0a 0a 2f 2a 20 69 6e | 74 65 72 6e 61 6c 20 66 |/../* in|ternal f|
|00010c30| 6c 61 67 73 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |lags */.|#define |
|00010c40| 55 53 45 44 09 09 30 78 | 30 31 09 2f 2a 20 64 61 |USED..0x|01./* da|
|00010c50| 74 61 20 73 74 72 75 63 | 74 75 72 65 20 69 6e 20 |ta struc|ture in |
|00010c60| 75 73 65 01 05 20 20 00 | 86 2a 2f 0a 23 64 65 66 |use.. .|.*/.#def|
|00010c70| 69 6e 65 20 46 41 54 41 | 4c 09 09 30 78 30 32 09 |ine FATA|L..0x02.|
|00010c80| 2f 2a 20 66 61 74 61 6c | 20 65 72 72 6f 72 20 4d |/* fatal| error M|
|00010c90| 5f 45 52 52 4f 52 20 6f | 63 63 75 72 72 65 64 20 |_ERROR o|ccurred |
|00010ca0| 20 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 57 41 49 | */.#de|fine WAI|
|00010cb0| 54 49 4f 43 41 43 4b 09 | 30 78 30 34 09 2f 2a 20 |TIOCACK.|0x04./* |
|00010cc0| 77 61 69 74 69 6e 67 20 | 66 6f 72 20 69 6e 66 6f |waiting |for info|
|00010cd0| 20 66 6f 72 20 69 6f 63 | 74 6c 20 61 63 74 20 2a | for ioc|tl act *|
|00010ce0| 2f 0a 23 64 65 66 69 6e | 65 20 4d 4f 52 45 09 01 |/.#defin|e MORE..|
|00010cf0| 04 20 20 00 ff 30 78 30 | 38 09 2f 2a 20 6d 6f 72 |. ..0x0|8./* mor|
|00010d00| 65 20 64 61 74 61 20 2a | 2f 0a 23 64 65 66 69 6e |e data *|/.#defin|
|00010d10| 65 20 45 58 50 45 44 49 | 54 45 44 09 30 78 31 30 |e EXPEDI|TED.0x10|
|00010d20| 09 2f 2a 20 70 72 6f 63 | 65 73 73 69 6e 67 20 65 |./* proc|essing e|
|00010d30| 78 70 65 64 69 74 65 64 | 20 54 53 44 55 20 2a 2f |xpedited| TSDU */|
|00010d40| 0a 0a 0a 0a 2f 2a 20 74 | 69 6d 6f 64 20 69 6f 63 |..../* t|imod ioc|
|00010d50| 74 6c 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 09 |tls */.#|define..|
|00010d60| 54 49 4d 4f 44 20 09 09 | 28 27 54 27 3c 3c 38 29 |TIMOD ..|('T'<<8)|
|00010d70| 0a 23 64 65 66 69 6e 65 | 09 09 54 49 5f 47 45 54 |.#define|..TI_GET|
|00010d80| 49 4e 46 4f 09 28 54 49 | 4d 4f 44 7c 31 30 30 29 |INFO.(TI|MOD|100)|
|00010d90| 0a 23 64 65 66 69 6e 65 | 09 09 54 49 5f 4f 50 54 |.#define|..TI_OPT|
|00010da0| 4d 47 4d 54 09 28 54 49 | 4d 4f 44 7c 31 30 31 29 |MGMT.(TI|MOD|101)|
|00010db0| 0a 23 64 65 66 69 6e 65 | 09 09 54 49 5f 42 49 4e |.#define|..TI_BIN|
|00010dc0| 44 09 09 28 54 49 4d 4f | 44 7c 31 30 32 29 0a 23 |D..(TIMO|D|102).#|
|00010dd0| 64 65 66 69 6e 65 09 09 | 54 49 5f 55 4e 42 49 4e |define..|TI_UNBIN|
|00010de0| 44 09 28 54 49 4d 4f 44 | 7c 31 30 33 29 0a 0a 23 |D.(TIMOD||103)..#|
|00010df0| 69 66 64 65 00 01 66 04 | 01 0d 02 00 74 f7 01 02 |ifde..f.|....t...|
|00010e00| 00 89 20 4d 5f 49 33 38 | 36 0a 23 70 72 61 67 6d |.. M_I38|6.#pragm|
|00010e10| 61 20 70 61 63 6b 28 34 | 29 0a 23 65 6e 64 69 66 |a pack(4|).#endif|
|00010e20| 0a 0a 2f 2a 20 54 49 20 | 69 6e 74 65 72 66 61 63 |../* TI |interfac|
|00010e30| 65 20 75 73 65 72 20 6c | 65 76 65 6c 20 73 74 72 |e user l|evel str|
|00010e40| 75 63 74 75 72 65 20 2d | 20 6f 6e 65 20 70 65 72 |ucture -| one per|
|00010e50| 20 6f 70 65 6e 20 66 69 | 6c 65 20 2a 2f 0a 0a 73 | open fi|le */..s|
|00010e60| 74 72 75 63 74 20 5f 74 | 69 5f 75 73 65 72 20 7b |truct _t|i_user {|
|00010e70| 0a 09 75 73 68 6f 72 74 | 09 74 69 5f 66 6c 61 67 |..ushort|.ti_flag|
|00010e80| 73 3b 09 2f 2a 20 66 6c | 61 67 73 01 07 20 20 00 |s;./* fl|ags.. .|
|00010e90| 4e 2a 2f 0a 09 69 6e 74 | 09 74 69 5f 72 63 76 73 |N*/..int|.ti_rcvs|
|00010ea0| 69 7a 65 3b 09 2f 2a 20 | 72 63 76 20 62 75 66 66 |ize;./* |rcv buff|
|00010eb0| 65 72 20 73 69 7a 65 20 | 20 20 20 2a 2f 0a 09 63 |er size | */..c|
|00010ec0| 68 61 72 20 20 20 2a 74 | 69 5f 72 63 76 62 75 66 |har *t|i_rcvbuf|
|00010ed0| 3b 09 2f 2a 20 72 63 76 | 20 62 75 66 66 65 72 01 |;./* rcv| buffer.|
|00010ee0| 04 20 20 00 4f 20 2a 2f | 0a 09 69 6e 74 09 74 69 |. .O */|..int.ti|
|00010ef0| 5f 63 74 6c 73 69 7a 65 | 3b 09 2f 2a 20 63 74 6c |_ctlsize|;./* ctl|
|00010f00| 20 62 75 66 66 65 72 20 | 73 69 7a 65 20 20 20 20 | buffer |size |
|00010f10| 2a 2f 0a 09 63 68 61 72 | 20 20 20 2a 74 69 5f 63 |*/..char| *ti_c|
|00010f20| 74 6c 62 75 66 3b 09 2f | 2a 20 63 74 6c 20 62 75 |tlbuf;./|* ctl bu|
|00010f30| 66 66 65 72 01 04 20 20 | 00 bc 20 2a 2f 0a 09 63 |ffer.. |.. */..c|
|00010f40| 68 61 72 20 20 20 2a 74 | 69 5f 6c 6f 6f 6b 64 62 |har *t|i_lookdb|
|00010f50| 75 66 3b 09 2f 2a 20 6c | 6f 6f 6b 20 64 61 74 61 |uf;./* l|ook data|
|00010f60| 20 62 75 66 66 65 72 20 | 20 20 2a 2f 0a 09 63 68 | buffer | */..ch|
|00010f70| 61 72 20 20 20 2a 74 69 | 5f 6c 6f 6f 6b 63 62 75 |ar *ti|_lookcbu|
|00010f80| 66 3b 09 2f 2a 20 6c 6f | 6f 6b 20 63 74 6c 20 62 |f;./* lo|ok ctl b|
|00010f90| 75 66 66 65 72 20 20 20 | 20 2a 2f 0a 09 69 6e 74 |uffer | */..int|
|00010fa0| 09 74 69 5f 6c 6f 6f 6b | 64 73 69 7a 65 3b 20 20 |.ti_look|dsize; |
|00010fb0| 2f 2a 20 6c 6f 6f 6b 20 | 64 61 74 61 20 62 75 66 |/* look |data buf|
|00010fc0| 20 73 69 7a 65 20 2a 2f | 0a 09 69 6e 74 09 74 69 | size */|..int.ti|
|00010fd0| 5f 6c 6f 6f 6b 63 73 69 | 7a 65 3b 20 20 2f 2a 20 |_lookcsi|ze; /* |
|00010fe0| 6c 6f 6f 6b 20 63 74 6c | 20 62 75 66 20 73 69 7a |look ctl| buf siz|
|00010ff0| 65 20 20 2a 2f 0a 04 01 | 0e 02 00 6b f7 01 02 00 |e */...|...k....|
|00011000| 1c 09 69 6e 74 09 74 69 | 5f 6d 61 78 70 73 7a 3b |..int.ti|_maxpsz;|
|00011010| 09 2f 2a 20 54 49 44 55 | 20 73 69 7a 65 01 05 20 |./* TIDU| size.. |
|00011020| 20 00 ff 2a 2f 0a 09 6c | 6f 6e 67 09 74 69 5f 73 | ..*/..l|ong.ti_s|
|00011030| 65 72 76 74 79 70 65 3b | 09 2f 2a 20 73 65 72 76 |ervtype;|./* serv|
|00011040| 69 63 65 20 74 79 70 65 | 20 20 20 20 20 20 20 2a |ice type| *|
|00011050| 2f 0a 09 69 6e 74 20 20 | 20 20 20 74 69 5f 6c 6f |/..int | ti_lo|
|00011060| 6f 6b 66 6c 67 3b 09 2f | 2a 20 62 75 66 66 65 72 |okflg;./|* buffer|
|00011070| 65 64 20 6c 6f 6f 6b 20 | 66 6c 61 67 20 2a 2f 0a |ed look |flag */.|
|00011080| 09 69 6e 74 09 74 69 5f | 73 74 61 74 65 3b 09 2f |.int.ti_|state;./|
|00011090| 2a 20 75 73 65 72 20 6c | 65 76 65 6c 20 73 74 61 |* user l|evel sta|
|000110a0| 74 65 20 20 20 2a 2f 0a | 09 69 6e 74 09 74 69 5f |te */.|.int.ti_|
|000110b0| 6f 63 6e 74 3b 09 2f 2a | 20 23 20 6f 75 74 73 74 |ocnt;./*| # outst|
|000110c0| 61 6e 64 69 6e 67 20 63 | 6f 6e 6e 65 63 74 20 69 |anding c|onnect i|
|000110d0| 6e 64 69 63 61 74 69 6f | 6e 73 20 2a 2f 0a 7d 3b |ndicatio|ns */.};|
|000110e0| 0a 0a 2f 2a 20 6f 6c 64 | 20 54 49 20 69 6e 74 65 |../* old| TI inte|
|000110f0| 72 66 61 63 65 20 75 73 | 65 72 20 6c 65 76 65 6c |rface us|er level|
|00011100| 20 73 74 72 75 63 74 75 | 72 65 20 2d 20 6e 65 65 | structu|re - nee|
|00011110| 64 65 64 20 66 6f 72 20 | 63 6f 6d 70 61 74 69 62 |ded for |compatib|
|00011120| 69 6c 00 37 69 74 79 20 | 2a 2f 0a 0a 73 74 72 75 |il.7ity |*/..stru|
|00011130| 63 74 20 5f 6f 6c 64 74 | 69 5f 75 73 65 72 20 7b |ct _oldt|i_user {|
|00011140| 0a 09 75 73 68 6f 72 74 | 09 74 69 5f 66 6c 61 67 |..ushort|.ti_flag|
|00011150| 73 3b 09 2f 2a 20 66 6c | 61 67 73 01 07 20 20 00 |s;./* fl|ags.. .|
|00011160| 4e 2a 2f 0a 09 69 6e 74 | 09 74 69 5f 72 63 76 73 |N*/..int|.ti_rcvs|
|00011170| 69 7a 65 3b 09 2f 2a 20 | 72 63 76 20 62 75 66 66 |ize;./* |rcv buff|
|00011180| 65 72 20 73 69 7a 65 20 | 20 20 20 2a 2f 0a 09 63 |er size | */..c|
|00011190| 68 61 72 20 20 20 2a 74 | 69 5f 72 63 76 62 75 66 |har *t|i_rcvbuf|
|000111a0| 3b 09 2f 2a 20 72 63 76 | 20 62 75 66 66 65 72 01 |;./* rcv| buffer.|
|000111b0| 04 20 20 00 40 20 2a 2f | 0a 09 69 6e 74 09 74 69 |. .@ */|..int.ti|
|000111c0| 5f 63 74 6c 73 69 7a 65 | 3b 09 2f 2a 20 63 74 6c |_ctlsize|;./* ctl|
|000111d0| 20 62 75 66 66 65 72 20 | 73 69 7a 65 20 20 20 20 | buffer |size |
|000111e0| 2a 2f 0a 09 63 68 61 72 | 20 20 20 2a 74 69 5f 63 |*/..char| *ti_c|
|000111f0| 74 6c 62 75 66 04 01 0f | 02 00 7e ff 01 02 00 0f |tlbuf...|..~.....|
|00011200| 3b 09 2f 2a 20 63 74 6c | 20 62 75 66 66 65 72 01 |;./* ctl| buffer.|
|00011210| 04 20 20 00 d8 20 2a 2f | 0a 09 63 68 61 72 20 20 |. .. */|..char |
|00011220| 20 2a 74 69 5f 6c 6f 6f | 6b 64 62 75 66 3b 09 2f | *ti_loo|kdbuf;./|
|00011230| 2a 20 6c 6f 6f 6b 20 64 | 61 74 61 20 62 75 66 66 |* look d|ata buff|
|00011240| 65 72 20 20 20 2a 2f 0a | 09 63 68 61 72 20 20 20 |er */.|.char |
|00011250| 2a 74 69 5f 6c 6f 6f 6b | 63 62 75 66 3b 09 2f 2a |*ti_look|cbuf;./*|
|00011260| 20 6c 6f 6f 6b 20 63 74 | 6c 20 62 75 66 66 65 72 | look ct|l buffer|
|00011270| 20 20 20 20 2a 2f 0a 09 | 69 6e 74 09 74 69 5f 6c | */..|int.ti_l|
|00011280| 6f 6f 6b 64 73 69 7a 65 | 3b 20 20 2f 2a 20 6c 6f |ookdsize|; /* lo|
|00011290| 6f 6b 20 64 61 74 61 20 | 62 75 66 20 73 69 7a 65 |ok data |buf size|
|000112a0| 20 2a 2f 0a 09 69 6e 74 | 09 74 69 5f 6c 6f 6f 6b | */..int|.ti_look|
|000112b0| 63 73 69 7a 65 3b 20 20 | 2f 2a 20 6c 6f 6f 6b 20 |csize; |/* look |
|000112c0| 63 74 6c 20 62 75 66 20 | 73 69 7a 65 20 20 2a 2f |ctl buf |size */|
|000112d0| 0a 09 69 6e 74 09 74 69 | 5f 6d 61 78 70 73 7a 3b |..int.ti|_maxpsz;|
|000112e0| 09 2f 2a 20 54 49 44 55 | 20 73 69 7a 65 01 05 20 |./* TIDU| size.. |
|000112f0| 20 00 ff 2a 2f 0a 09 6c | 6f 6e 67 09 74 69 5f 73 | ..*/..l|ong.ti_s|
|00011300| 65 72 76 74 79 70 65 3b | 09 2f 2a 20 73 65 72 76 |ervtype;|./* serv|
|00011310| 69 63 65 20 74 79 70 65 | 20 20 20 20 20 20 20 2a |ice type| *|
|00011320| 2f 0a 09 69 6e 74 20 20 | 20 20 20 74 69 5f 6c 6f |/..int | ti_lo|
|00011330| 6f 6b 66 6c 67 3b 09 2f | 2a 20 62 75 66 66 65 72 |okflg;./|* buffer|
|00011340| 65 64 20 6c 6f 6f 6b 20 | 66 6c 61 67 20 2a 2f 0a |ed look |flag */.|
|00011350| 7d 3b 0a 0a 23 69 66 64 | 65 66 20 4d 5f 49 33 38 |};..#ifd|ef M_I38|
|00011360| 36 0a 23 70 72 61 67 6d | 61 20 70 61 63 6b 28 29 |6.#pragm|a pack()|
|00011370| 0a 23 65 6e 64 69 66 0a | 0a 0a 23 69 66 64 65 66 |.#endif.|..#ifdef|
|00011380| 20 4d 5f 49 38 36 0a 23 | 64 65 66 69 6e 65 20 4f | M_I86.#|define O|
|00011390| 50 45 4e 46 49 4c 45 53 | 20 4e 4f 46 49 4c 45 0a |PENFILES| NOFILE.|
|000113a0| 23 65 6c 73 65 0a 2f 2a | 20 54 68 69 73 20 73 68 |#else./*| This sh|
|000113b0| 6f 75 6c 64 20 62 65 20 | 72 65 70 6c 61 63 65 64 |ould be |replaced|
|000113c0| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 6c 6f 6e 67 20 | */.exte|rn long |
|000113d0| 75 6c 69 6d 69 74 28 29 | 3b 0a 23 64 65 66 69 6e |ulimit()|;.#defin|
|000113e0| 65 20 4f 50 45 4e 46 49 | 4c 45 53 20 20 20 20 20 |e OPENFI|LES |
|000113f0| 75 6c 00 08 69 6d 69 74 | 28 34 2c 20 0f 05 00 e1 |ul..imit|(4, ....|
|00011400| 05 00 01 02 00 08 ff 01 | 02 00 0f 30 29 0a 23 65 |........|...0).#e|
|00011410| 6e 64 69 66 0a 75 66 66 | 65 72 01 04 20 20 00 d8 |ndif.uff|er.. ..|
|00011420| 20 2a 2f 0a 09 63 68 61 | 72 20 20 20 2a 74 69 5f | */..cha|r *ti_|
|00011430| 6c 6f 6f 6b 64 62 75 66 | 3b 09 2f 2a 20 6c 6f 6f |lookdbuf|;./* loo|
|00011440| 6b 20 64 61 74 61 20 62 | 75 66 66 65 72 20 20 20 |k data b|uffer |
|00011450| 2a 2f 0a 09 63 68 61 72 | 20 20 20 2a 74 69 5f 6c |*/..char| *ti_l|
|00011460| 6f 6f 6b 63 62 75 66 3b | 09 2f 2a 20 6c 6f 6f 6b |ookcbuf;|./* look|
|00011470| 20 63 74 6c 20 62 75 66 | 66 65 72 20 20 20 20 2a | ctl buf|fer *|
|00011480| 2f 0a 09 69 6e 74 09 74 | 69 5f 6c 6f 6f 6b 64 73 |/..int.t|i_lookds|
|00011490| 69 7a 65 3b 20 20 2f 2a | 20 6c 6f 6f 6b 20 64 61 |ize; /*| look da|
|000114a0| 74 61 20 62 75 66 20 73 | 69 7a 65 20 2a 2f 0a 09 |ta buf s|ize */..|
|000114b0| 69 6e 74 09 74 69 5f 6c | 6f 6f 6b 63 73 69 7a 65 |int.ti_l|ookcsize|
|000114c0| 3b 20 20 2f 2a 20 6c 6f | 6f 6b 20 63 74 6c 20 62 |; /* lo|ok ctl b|
|000114d0| 75 66 20 73 69 7a 65 20 | 20 2a 2f 0a 09 69 6e 74 |uf size | */..int|
|000114e0| 09 74 69 5f 6d 61 78 70 | 73 7a 3b 09 2f 2a 20 54 |.ti_maxp|sz;./* T|
|000114f0| 49 44 55 20 73 69 7a 65 | 01 05 20 20 00 ff 2a 2f |IDU size|.. ..*/|
|00011500| 0a 09 6c 6f 6e 67 09 74 | 69 5f 73 65 72 76 74 79 |..long.t|i_servty|
|00011510| 70 65 3b 09 2f 2a 20 73 | 65 72 76 69 63 65 20 74 |pe;./* s|ervice t|
|00011520| 79 70 65 20 20 20 20 20 | 20 20 2a 2f 0a 09 69 6e |ype | */..in|
|00011530| 74 20 20 20 20 20 74 69 | 5f 6c 6f 6f 6b 66 6c 67 |t ti|_lookflg|
|00011540| 3b 09 2f 2a 20 62 75 66 | 66 65 72 65 64 20 6c 6f |;./* buf|fered lo|
|00011550| 6f 6b 20 66 6c 61 67 20 | 2a 2f 0a 7d 3b 0a 0a 23 |ok flag |*/.};..#|
|00011560| 69 66 64 65 66 20 4d 5f | 49 33 38 36 0a 23 70 72 |ifdef M_|I386.#pr|
|00011570| 61 67 6d 61 20 70 61 63 | 6b 28 29 0a 23 65 6e 64 |agma pac|k().#end|
|00011580| 69 66 0a 0a 0a 23 69 66 | 64 65 66 20 4d 5f 49 38 |if...#if|def M_I8|
|00011590| 36 0a 23 64 65 66 69 6e | 65 20 4f 50 45 4e 46 49 |6.#defin|e OPENFI|
|000115a0| 4c 45 53 20 4e 4f 46 49 | 4c 45 0a 23 65 6c 73 65 |LES NOFI|LE.#else|
|000115b0| 0a 2f 2a 20 54 68 69 73 | 20 73 68 6f 75 6c 64 20 |./* This| should |
|000115c0| 62 65 20 72 65 70 6c 61 | 63 65 64 20 2a 2f 0a 65 |be repla|ced */.e|
|000115d0| 78 74 65 72 6e 20 6c 6f | 6e 67 20 75 6c 69 6d 69 |xtern lo|ng ulimi|
|000115e0| 74 28 29 3b 0a 23 64 65 | 66 69 6e 65 20 4f 50 45 |t();.#de|fine OPE|
|000115f0| 4e 46 49 4c 45 53 20 20 | 20 20 20 75 6c 00 08 69 |NFILES | ul..i|
|00011600| 6d 69 74 28 34 2c 20 05 | 00 02 02 00 64 5f 00 02 |mit(4, .|....d_..|
|00011610| 00 19 2e 2f 75 73 72 2f | 69 6e 63 6c 75 64 65 2f |.../usr/|include/|
|00011620| 73 79 73 2f 74 69 6d 65 | 73 2e 68 01 25 00 00 00 |sys/time|s.h.%...|
|00011630| 39 00 20 20 20 34 34 34 | 20 00 20 20 20 20 20 30 |9. 444| . 0|
|00011640| 20 00 20 20 20 20 20 30 | 20 00 20 20 20 20 20 20 | . 0| . |
|00011650| 20 31 33 37 36 20 20 34 | 32 34 34 33 34 30 32 32 | 1376 4|24434022|
|00011660| 33 20 20 31 30 35 31 30 | 00 20 01 b2 00 00 05 00 |3 10510|. ......|
|00011670| 03 02 00 20 01 02 00 2f | 2a 0a 20 2a 09 40 28 23 |... .../|*. *.@(#|
|00011680| 29 20 74 69 6d 65 73 2e | 68 20 32 2e 31 20 38 38 |) times.|h 2.1 88|
|00011690| 2f 30 35 2f 31 38 20 0a | 20 2a 0a 20 2a 09 43 6f |/05/18 .| *. *.Co|
|000116a0| 70 79 72 69 67 68 74 20 | 28 43 29 20 54 68 65 20 |pyright |(C) The |
|000116b0| 53 61 6e 74 61 20 43 72 | 75 7a 20 4f 70 65 72 61 |Santa Cr|uz Opera|
|000116c0| 74 69 6f 6e 2c 20 31 39 | 38 34 2c 20 31 39 38 35 |tion, 19|84, 1985|
|000116d0| 2c 20 31 39 38 36 2c 20 | 31 39 38 37 2e 0a 20 2a |, 1986, |1987.. *|
|000116e0| 09 43 6f 70 79 72 69 67 | 68 74 20 28 43 29 20 4d |.Copyrig|ht (C) M|
|000116f0| 69 63 72 6f 73 6f 66 74 | 20 43 6f 72 70 6f 72 61 |icrosoft| Corpora|
|00011700| 74 69 6f 6e 2c 20 31 39 | 38 34 2c 20 31 39 38 35 |tion, 19|84, 1985|
|00011710| 2c 20 31 39 38 36 2c 20 | 31 39 38 37 2e 0a 20 2a |, 1986, |1987.. *|
|00011720| 09 54 68 69 73 20 4d 6f | 64 75 6c 65 20 63 6f 6e |.This Mo|dule con|
|00011730| 74 61 69 6e 73 20 50 72 | 6f 70 72 69 65 74 61 72 |tains Pr|oprietar|
|00011740| 79 20 49 6e 66 6f 72 6d | 61 74 69 6f 6e 20 6f 66 |y Inform|ation of|
|00011750| 0a 20 2a 09 54 68 65 20 | 53 61 6e 74 61 20 43 72 |. *.The |Santa Cr|
|00011760| 75 7a 20 4f 70 65 72 61 | 74 69 6f 6e 2c 20 4d 69 |uz Opera|tion, Mi|
|00011770| 63 72 6f 73 6f 66 74 20 | 43 6f 72 70 6f 72 61 74 |crosoft |Corporat|
|00011780| 69 6f 6e 0a 20 2a 09 61 | 6e 64 20 41 54 26 54 2c |ion. *.a|nd AT&T,|
|00011790| 20 61 6e 64 20 73 68 6f | 75 6c 64 20 62 65 20 74 | and sho|uld be t|
|000117a0| 72 65 61 74 65 64 20 61 | 73 20 43 6f 6e 66 69 64 |reated a|s Confid|
|000117b0| 65 6e 74 69 61 6c 2e 0a | 20 2a 2f 0a 0a 2f 2a 0a |ential..| */../*.|
|000117c0| 20 2a 20 54 48 49 53 20 | 46 49 4c 45 20 43 4f 4e | * THIS |FILE CON|
|000117d0| 54 41 49 4e 53 20 43 4f | 44 45 20 57 48 49 43 48 |TAINS CO|DE WHICH|
|000117e0| 20 49 53 20 44 45 53 49 | 47 4e 45 44 20 54 4f 20 | IS DESI|GNED TO |
|000117f0| 42 45 0a 20 2a 20 50 4f | 52 54 41 42 4c 45 20 42 |BE. * PO|RTABLE B|
|00011800| 45 54 57 45 45 4e 20 44 | 49 46 46 45 52 45 4e 54 |ETWEEN D|IFFERENT|
|00011810| 20 4d 41 43 48 49 4e 45 | 20 41 52 43 48 49 54 45 | MACHINE| ARCHITE|
|00011820| 43 54 55 52 45 53 0a 20 | 2a 20 41 4e 44 20 43 4f |CTURES. |* AND CO|
|00011830| 4e 46 49 47 55 52 41 54 | 49 4f 4e 53 2e 20 49 54 |NFIGURAT|IONS. IT|
|00011840| 20 53 48 4f 55 4c 44 20 | 4e 4f 54 20 52 45 51 55 | SHOULD |NOT REQU|
|00011850| 49 52 45 20 41 4e 59 0a | 20 2a 20 4d 4f 44 49 46 |IRE ANY.| * MODIF|
|00011860| 49 43 41 54 49 4f 4e 53 | 20 57 48 45 4e 20 41 44 |ICATIONS| WHEN AD|
|00011870| 41 50 54 49 4e 47 20 05 | 00 04 02 00 19 01 02 00 |APTING .|........|
|00011880| 58 45 4e 49 58 20 54 4f | 20 4e 45 57 20 48 41 52 |XENIX TO| NEW HAR|
|00011890| 44 57 41 52 45 2e 0a 20 | 2a 2f 0a 0a 2f 2a 0a 20 |DWARE.. |*/../*. |
|000118a0| 2a 20 53 74 72 75 63 74 | 75 72 65 20 72 65 74 75 |* Struct|ure retu|
|000118b0| 72 6e 65 64 20 62 79 20 | 74 69 6d 65 73 28 29 0a |rned by |times().|
|000118c0| 20 2a 2f 0a 73 74 72 75 | 63 74 20 74 6d 73 20 7b | */.stru|ct tms {|
|000118d0| 0a 09 74 69 6d 65 5f 74 | 09 74 6d 73 5f 75 74 69 |..time_t|.tms_uti|
|000118e0| 6d 65 3b 09 09 2f 2a 20 | 75 73 65 72 20 74 69 6d |me;../* |user tim|
|000118f0| 65 20 2a 2f 0a 09 74 69 | 6d 65 5f 74 09 74 6d 73 |e */..ti|me_t.tms|
|00011900| 5f 73 74 69 6d 65 3b 09 | 09 2f 2a 20 73 79 73 74 |_stime;.|./* syst|
|00011910| 65 6d 20 74 69 6d 65 20 | 2a 2f 0a 09 74 69 6d 65 |em time |*/..time|
|00011920| 5f 74 09 74 6d 73 5f 63 | 75 74 69 6d 65 3b 09 09 |_t.tms_c|utime;..|
|00011930| 2f 2a 20 75 73 65 72 20 | 74 69 6d 65 2c 20 63 68 |/* user |time, ch|
|00011940| 69 6c 64 72 65 6e 20 2a | 2f 0a 09 74 69 6d 65 5f |ildren *|/..time_|
|00011950| 74 09 74 6d 73 5f 63 73 | 74 69 6d 65 3b 09 09 2f |t.tms_cs|time;../|
|00011960| 2a 20 73 79 73 74 65 6d | 20 74 69 6d 65 2c 20 63 |* system| time, c|
|00011970| 68 69 6c 64 72 65 6e 20 | 2a 2f 0a 7d 3b 0a 66 74 |hildren |*/.};.ft|
|00011980| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 0a 20 2a 09 | Corpora|tion. *.|
|00011990| 61 6e 64 20 41 54 26 54 | 2c 20 61 6e 64 20 73 68 |and AT&T|, and sh|
|000119a0| 6f 75 6c 64 20 62 65 20 | 74 72 65 61 74 65 64 20 |ould be |treated |
|000119b0| 61 73 20 43 6f 6e 66 69 | 64 65 6e 74 69 61 6c 2e |as Confi|dential.|
|000119c0| 0a 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 54 48 49 53 |. */../*|. * THIS|
|000119d0| 20 46 49 4c 45 20 43 4f | 4e 54 41 49 4e 53 20 43 | FILE CO|NTAINS C|
|000119e0| 4f 44 45 20 57 48 49 43 | 48 20 49 53 20 44 45 53 |ODE WHIC|H IS DES|
|000119f0| 49 47 4e 45 44 20 54 4f | 20 42 45 0a 20 2a 20 50 |IGNED TO| BE. * P|
|00011a00| 4f 52 54 41 42 4c 45 20 | 42 45 54 57 45 45 4e 20 |ORTABLE |BETWEEN |
|00011a10| 44 49 46 46 45 52 45 4e | 54 20 4d 41 43 48 49 4e |DIFFEREN|T MACHIN|
|00011a20| 45 20 41 52 43 48 49 54 | 45 43 54 55 52 45 53 0a |E ARCHIT|ECTURES.|
|00011a30| 20 2a 20 41 4e 44 20 43 | 4f 4e 46 49 47 55 52 41 | * AND C|ONFIGURA|
|00011a40| 54 49 4f 4e 53 2e 20 49 | 54 20 53 48 4f 55 4c 44 |TIONS. I|T SHOULD|
|00011a50| 20 4e 4f 54 20 52 45 51 | 55 49 52 45 20 41 4e 59 | NOT REQ|UIRE ANY|
|00011a60| 0a 20 2a 20 4d 4f 44 49 | 46 49 43 41 54 49 4f 4e |. * MODI|FICATION|
|00011a70| 53 20 57 48 45 4e 20 41 | 44 41 50 54 49 4e 47 20 |S WHEN A|DAPTING |
|00011a80| 05 00 05 02 00 6d 5f 00 | 02 00 19 2e 2f 75 73 72 |.....m_.|..../usr|
|00011a90| 2f 69 6e 63 6c 75 64 65 | 2f 73 79 73 2f 74 69 6d |/include|/sys/tim|
|00011aa0| 65 62 2e 68 01 25 00 00 | 00 39 00 20 20 20 34 34 |eb.h.%..|.9. 44|
|00011ab0| 34 20 00 20 20 20 20 20 | 30 20 00 20 20 20 20 20 |4 . |0 . |
|00011ac0| 30 20 00 20 20 20 20 20 | 20 20 31 36 31 36 20 20 |0 . | 1616 |
|00011ad0| 34 32 34 34 33 34 30 32 | 32 33 20 20 31 30 34 36 |42443402|23 1046|
|00011ae0| 34 00 20 01 b2 00 00 05 | 00 06 02 00 d1 01 02 00 |4. .....|........|
|00011af0| 2f 2a 0a 20 2a 09 40 28 | 23 29 20 74 69 6d 65 62 |/*. *.@(|#) timeb|
|00011b00| 2e 68 20 32 2e 31 20 38 | 38 2f 30 35 2f 31 38 20 |.h 2.1 8|8/05/18 |
|00011b10| 0a 20 2a 0a 20 2a 09 43 | 6f 70 79 72 69 67 68 74 |. *. *.C|opyright|
|00011b20| 20 28 43 29 20 54 68 65 | 20 53 61 6e 74 61 20 43 | (C) The| Santa C|
|00011b30| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 31 |ruz Oper|ation, 1|
|00011b40| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|00011b50| 20 31 39 38 37 2e 0a 20 | 2a 09 43 6f 70 79 72 69 | 1987.. |*.Copyri|
|00011b60| 67 68 74 20 28 43 29 20 | 4d 69 63 72 6f 73 6f 66 |ght (C) |Microsof|
|00011b70| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 2c 20 31 |t Corpor|ation, 1|
|00011b80| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|00011b90| 20 31 39 38 37 2e 0a 20 | 2a 09 54 68 69 73 20 4d | 1987.. |*.This M|
|00011ba0| 6f 64 75 6c 65 20 63 6f | 6e 74 61 69 6e 73 20 50 |odule co|ntains P|
|00011bb0| 72 6f 70 72 69 65 74 61 | 72 79 20 49 6e 66 6f 72 |roprieta|ry Infor|
|00011bc0| 6d 61 74 69 6f 6e 20 6f | 66 0a 20 2a 09 54 68 65 |mation o|f. *.The|
|00011bd0| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|00011be0| 61 74 69 6f 6e 2c 20 4d | 69 63 72 6f 73 6f 66 74 |ation, M|icrosoft|
|00011bf0| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 0a 20 2a 09 | Corpora|tion. *.|
|00011c00| 61 6e 64 20 41 54 26 54 | 2c 20 61 6e 64 20 73 68 |and AT&T|, and sh|
|00011c10| 6f 75 6c 64 20 62 65 20 | 74 72 65 61 74 65 64 20 |ould be |treated |
|00011c20| 61 73 20 43 6f 6e 66 69 | 64 65 6e 74 69 61 6c 2e |as Confi|dential.|
|00011c30| 0a 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 54 48 49 53 |. */../*|. * THIS|
|00011c40| 20 46 49 4c 45 20 43 4f | 4e 54 41 49 4e 53 20 43 | FILE CO|NTAINS C|
|00011c50| 4f 44 45 20 57 48 49 43 | 48 20 49 53 20 44 45 53 |ODE WHIC|H IS DES|
|00011c60| 49 47 4e 45 44 20 54 4f | 20 42 45 0a 20 2a 20 50 |IGNED TO| BE. * P|
|00011c70| 4f 52 54 41 42 4c 45 20 | 42 45 54 57 45 45 4e 20 |ORTABLE |BETWEEN |
|00011c80| 44 49 46 46 45 52 45 4e | 54 20 4d 41 43 48 49 4e |DIFFEREN|T MACHIN|
|00011c90| 45 20 41 52 43 48 49 54 | 45 43 54 55 52 45 53 0a |E ARCHIT|ECTURES.|
|00011ca0| 20 2a 20 41 4e 44 20 43 | 4f 4e 46 49 47 55 52 41 | * AND C|ONFIGURA|
|00011cb0| 54 49 4f 4e 53 2e 20 49 | 54 20 53 48 4f 55 4c 44 |TIONS. I|T SHOULD|
|00011cc0| 20 4e 4f 54 20 52 45 51 | 55 49 52 45 20 41 4e 59 | NOT REQ|UIRE ANY|
|00011cd0| 0a 20 2a 20 4d 4f 44 49 | 46 49 43 41 54 49 4f 4e |. * MODI|FICATION|
|00011ce0| 53 20 57 48 45 4e 20 41 | 44 41 50 54 49 4e 47 20 |S WHEN A|DAPTING |
|00011cf0| 05 00 07 02 00 95 01 02 | 00 58 45 4e 49 58 20 54 |........|.XENIX T|
|00011d00| 4f 20 4e 45 57 20 48 41 | 52 44 57 41 52 45 2e 0a |O NEW HA|RDWARE..|
|00011d10| 20 2a 2f 0a 0a 0a 0a 2f | 2a 0a 20 2a 20 53 74 72 | */..../|*. * Str|
|00011d20| 75 63 74 75 72 65 20 72 | 65 74 75 72 6e 65 64 20 |ucture r|eturned |
|00011d30| 62 79 20 66 74 69 6d 65 | 20 73 79 73 74 65 6d 20 |by ftime| system |
|00011d40| 63 61 6c 6c 0a 20 2a 2f | 0a 0a 23 69 66 64 65 66 |call. */|..#ifdef|
|00011d50| 09 4d 5f 49 33 38 36 0a | 23 70 72 61 67 6d 61 09 |.M_I386.|#pragma.|
|00011d60| 70 61 63 6b 28 32 29 0a | 23 65 6e 64 69 66 0a 0a |pack(2).|#endif..|
|00011d70| 73 74 72 75 63 74 20 74 | 69 6d 65 62 20 7b 0a 09 |struct t|imeb {..|
|00011d80| 74 69 6d 65 5f 74 09 74 | 69 6d 65 3b 09 09 2f 2a |time_t.t|ime;../*|
|00011d90| 20 74 69 6d 65 2c 20 73 | 65 63 6f 6e 64 73 20 73 | time, s|econds s|
|00011da0| 69 6e 63 65 20 74 68 65 | 20 65 70 6f 63 68 20 2a |ince the| epoch *|
|00011db0| 2f 0a 09 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 |/..unsig|ned shor|
|00011dc0| 74 09 6d 69 6c 6c 69 74 | 6d 3b 2f 2a 20 31 30 30 |t.millit|m;/* 100|
|00011dd0| 30 20 6d 73 65 63 20 6f | 66 20 61 64 64 69 74 69 |0 msec o|f additi|
|00011de0| 6f 6e 61 6c 20 61 63 63 | 75 72 61 63 79 20 2a 2f |onal acc|uracy */|
|00011df0| 0a 09 73 68 6f 72 74 09 | 74 69 6d 65 7a 6f 6e 65 |..short.|timezone|
|00011e00| 3b 09 2f 2a 20 74 69 6d | 65 7a 6f 6e 65 2c 20 6d |;./* tim|ezone, m|
|00011e10| 69 6e 75 74 65 73 20 77 | 65 73 74 20 6f 66 20 47 |inutes w|est of G|
|00011e20| 4d 54 20 2a 2f 0a 09 73 | 68 6f 72 74 09 64 73 74 |MT */..s|hort.dst|
|00011e30| 66 6c 61 67 3b 09 2f 2a | 20 64 61 79 6c 69 67 68 |flag;./*| dayligh|
|00011e40| 74 20 73 61 76 69 6e 67 | 73 20 77 68 65 6e 20 61 |t saving|s when a|
|00011e50| 70 70 72 6f 70 72 69 61 | 74 65 3f 20 2a 2f 0a 7d |ppropria|te? */.}|
|00011e60| 3b 0a 0a 23 69 66 64 65 | 66 09 4d 5f 49 33 38 36 |;..#ifde|f.M_I386|
|00011e70| 0a 23 70 72 61 67 6d 61 | 09 70 61 63 6b 28 29 0a |.#pragma|.pack().|
|00011e80| 23 65 6e 64 69 66 0a 4e | 20 44 49 46 46 45 52 45 |#endif.N| DIFFERE|
|00011e90| 4e 54 20 4d 41 43 48 49 | 4e 45 20 41 52 43 48 49 |NT MACHI|NE ARCHI|
|00011ea0| 54 45 43 54 55 52 45 53 | 0a 20 2a 20 41 4e 44 20 |TECTURES|. * AND |
|00011eb0| 43 4f 4e 46 49 47 55 52 | 41 54 49 4f 4e 53 2e 20 |CONFIGUR|ATIONS. |
|00011ec0| 49 54 20 53 48 4f 55 4c | 44 20 4e 4f 54 20 52 45 |IT SHOUL|D NOT RE|
|00011ed0| 51 55 49 52 45 20 41 4e | 59 0a 20 2a 20 4d 4f 44 |QUIRE AN|Y. * MOD|
|00011ee0| 49 46 49 43 41 54 49 4f | 4e 53 20 57 48 45 4e 20 |IFICATIO|NS WHEN |
|00011ef0| 41 44 41 50 54 49 4e 47 | 20 05 00 08 02 00 0f 5f |ADAPTING| ......_|
|00011f00| 00 02 00 19 2e 2f 75 73 | 72 2f 69 6e 63 6c 75 64 |...../us|r/includ|
|00011f10| 65 2f 73 79 73 2f 74 69 | 68 64 72 2e 68 01 25 00 |e/sys/ti|hdr.h.%.|
|00011f20| 00 00 39 00 20 20 20 34 | 34 34 20 00 20 20 20 20 |..9. 4|44 . |
|00011f30| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|00011f40| 20 20 32 37 35 31 35 20 | 20 34 32 34 34 33 34 30 | 27515 | 4244340|
|00011f50| 31 33 35 20 20 31 30 35 | 32 36 00 20 01 b2 00 00 |135 105|26. ....|
|00011f60| 05 00 09 02 00 6c 01 02 | 00 2f 2a 0a 20 2a 09 40 |.....l..|./*. *.@|
|00011f70| 28 23 29 20 74 69 68 64 | 72 2e 68 20 31 2e 31 20 |(#) tihd|r.h 1.1 |
|00011f80| 38 38 2f 30 35 2f 31 38 | 20 0a 20 2a 0a 20 2a 09 |88/05/18| . *. *.|
|00011f90| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 54 68 |Copyrigh|t (C) Th|
|00011fa0| 65 20 53 61 6e 74 61 20 | 43 72 75 7a 20 4f 70 65 |e Santa |Cruz Ope|
|00011fb0| 72 61 74 69 6f 6e 2c 20 | 31 39 38 34 2c 20 31 39 |ration, |1984, 19|
|00011fc0| 38 35 2c 20 31 39 38 36 | 2c 20 31 39 38 37 2c 20 |85, 1986|, 1987, |
|00011fd0| 31 39 38 38 2e 0a 20 2a | 09 43 6f 70 79 72 69 67 |1988.. *|.Copyrig|
|00011fe0| 68 74 20 28 43 29 20 4d | 69 63 72 6f 73 6f 66 74 |ht (C) M|icrosoft|
|00011ff0| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 2c 20 31 39 | Corpora|tion, 19|
|00012000| 38 34 2c 20 31 39 38 35 | 2c 20 31 39 38 36 2c 20 |84, 1985|, 1986, |
|00012010| 31 39 38 37 2c 20 31 39 | 38 38 2e 0a 20 2a 09 54 |1987, 19|88.. *.T|
|00012020| 68 69 73 20 4d 6f 64 75 | 6c 65 20 63 6f 6e 74 61 |his Modu|le conta|
|00012030| 69 6e 73 20 50 72 6f 70 | 72 69 65 74 61 72 79 20 |ins Prop|rietary |
|00012040| 49 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 6f 66 0a 20 |Informat|ion of. |
|00012050| 2a 09 54 68 65 20 53 61 | 6e 74 61 20 43 72 75 7a |*.The Sa|nta Cruz|
|00012060| 20 4f 70 65 72 61 74 69 | 6f 6e 2c 20 4d 69 63 72 | Operati|on, Micr|
|00012070| 6f 73 6f 66 74 20 43 6f | 72 70 6f 72 61 74 69 6f |osoft Co|rporatio|
|00012080| 6e 0a 20 2a 09 61 6e 64 | 20 41 54 26 54 2c 20 61 |n. *.and| AT&T, a|
|00012090| 6e 64 20 73 68 6f 75 6c | 64 20 62 65 20 74 72 65 |nd shoul|d be tre|
|000120a0| 61 74 65 64 20 61 73 20 | 43 6f 6e 66 69 64 65 6e |ated as |Confiden|
|000120b0| 74 69 61 6c 2e 0a 20 2a | 2f 0a 0a 2f 2a 0a 20 2a |tial.. *|/../*. *|
|000120c0| 20 54 48 49 53 20 46 49 | 4c 45 20 43 4f 4e 54 41 | THIS FI|LE CONTA|
|000120d0| 49 4e 53 20 43 4f 44 45 | 20 57 48 49 43 48 20 49 |INS CODE| WHICH I|
|000120e0| 53 20 44 45 53 49 47 4e | 45 44 20 54 4f 20 42 45 |S DESIGN|ED TO BE|
|000120f0| 0a 20 2a 20 50 4f 52 54 | 41 42 4c 45 20 42 45 54 |. * PORT|ABLE BET|
|00012100| 57 45 45 4e 20 44 49 46 | 46 45 52 45 4e 54 20 4d |WEEN DIF|FERENT M|
|00012110| 41 43 48 49 4e 45 20 41 | 52 43 48 49 54 45 43 54 |ACHINE A|RCHITECT|
|00012120| 55 52 45 53 0a 20 2a 20 | 41 4e 44 20 43 4f 4e 46 |URES. * |AND CONF|
|00012130| 49 47 55 52 41 54 49 4f | 4e 53 2e 20 49 54 20 53 |IGURATIO|NS. IT S|
|00012140| 48 4f 55 4c 44 20 4e 4f | 54 20 52 45 51 55 49 52 |HOULD NO|T REQUIR|
|00012150| 45 20 41 4e 59 0a 20 2a | 20 4d 4f 44 49 46 49 43 |E ANY. *| MODIFIC|
|00012160| 41 54 49 4f 4e 53 20 57 | 48 05 00 0a 02 00 28 01 |ATIONS W|H.....(.|
|00012170| 02 00 45 4e 20 41 44 41 | 50 54 49 4e 47 20 58 45 |..EN ADA|PTING XE|
|00012180| 4e 49 58 20 54 4f 20 4e | 45 57 20 48 41 52 44 57 |NIX TO N|EW HARDW|
|00012190| 41 52 45 2e 0a 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |ARE.. */|../*. * |
|000121a0| 54 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 69 73 |The foll|owing is|
|000121b0| 20 61 6c 6c 20 74 68 65 | 20 69 6e 66 6f 72 6d 61 | all the| informa|
|000121c0| 74 69 6f 6e 0a 20 2a 20 | 6e 65 65 64 65 64 20 62 |tion. * |needed b|
|000121d0| 79 20 74 68 65 20 54 72 | 61 6e 73 70 6f 72 74 20 |y the Tr|ansport |
|000121e0| 53 65 72 76 69 63 65 20 | 49 6e 74 65 72 66 61 63 |Service |Interfac|
|000121f0| 65 2e 0a 20 2a 2f 0a 0a | 0a 2f 2a 20 4e 75 6d 62 |e.. */..|./* Numb|
|00012200| 65 72 20 6f 66 20 54 4c | 49 20 73 65 72 76 69 63 |er of TL|I servic|
|00012210| 65 20 65 6e 64 20 70 6f | 69 6e 74 73 2e 20 20 4e |e end po|ints. N|
|00012220| 4f 54 45 3a 20 54 68 69 | 73 20 6e 65 65 64 73 20 |OTE: Thi|s needs |
|00012230| 74 6f 0a 20 20 20 62 65 | 20 6d 61 64 65 20 63 6f |to. be| made co|
|00012240| 6e 66 69 67 75 72 61 62 | 6c 65 20 61 73 61 70 2e |nfigurab|le asap.|
|00012250| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 4e 54 4c |. */.#de|fine NTL|
|00012260| 49 53 50 09 09 36 34 0a | 0a 0a 2f 2a 20 0a 20 2a |ISP..64.|../* . *|
|00012270| 20 54 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 20 61 | The fol|lowing a|
|00012280| 72 65 20 74 68 65 20 64 | 65 66 69 6e 69 74 69 6f |re the d|efinitio|
|00012290| 6e 73 20 6f 66 20 74 68 | 65 20 54 72 61 6e 73 70 |ns of th|e Transp|
|000122a0| 6f 72 74 0a 20 2a 20 53 | 65 72 76 69 63 65 20 49 |ort. * S|ervice I|
|000122b0| 6e 74 65 72 66 61 63 65 | 20 70 72 69 6d 69 74 69 |nterface| primiti|
|000122c0| 76 65 73 2e 0a 20 2a 2f | 0a 0a 2f 2a 20 0a 20 2a |ves.. */|../* . *|
|000122d0| 20 50 72 69 6d 69 74 69 | 76 65 73 20 74 68 61 74 | Primiti|ves that|
|000122e0| 20 61 72 65 20 69 6e 69 | 74 69 61 74 65 64 20 62 | are ini|tiated b|
|000122f0| 79 20 74 68 65 20 74 72 | 61 6e 73 70 6f 72 74 20 |y the tr|ansport |
|00012300| 75 73 65 72 2e 0a 20 2a | 2f 0a 0a 23 64 65 66 69 |user.. *|/..#defi|
|00012310| 6e 65 09 54 5f 43 4f 4e | 4e 5f 52 45 51 09 30 09 |ne.T_CON|N_REQ.0.|
|00012320| 2f 2a 20 63 6f 6e 6e 65 | 63 74 69 6f 6e 20 72 65 |/* conne|ction re|
|00012330| 71 75 65 73 74 20 20 20 | 20 20 2a 2f 0a 23 64 65 |quest | */.#de|
|00012340| 66 69 6e 65 20 54 5f 43 | 4f 4e 4e 5f 52 45 53 09 |fine T_C|ONN_RES.|
|00012350| 31 09 2f 2a 20 63 6f 6e | 6e 65 63 74 69 6f 6e 20 |1./* con|nection |
|00012360| 72 65 73 70 6f 6e 73 65 | 20 20 20 20 2a 2f 0a 23 |response| */.#|
|00012370| 64 65 05 00 0b 02 00 3f | 01 02 00 66 69 6e 65 20 |de.....?|...fine |
|00012380| 54 5f 44 49 53 43 4f 4e | 5f 52 45 51 09 32 09 2f |T_DISCON|_REQ.2./|
|00012390| 2a 20 64 69 73 63 6f 6e | 6e 65 63 74 20 72 65 71 |* discon|nect req|
|000123a0| 75 65 73 74 20 20 20 20 | 20 2a 2f 0a 23 64 65 66 |uest | */.#def|
|000123b0| 69 6e 65 20 54 5f 44 41 | 54 41 5f 52 45 51 09 33 |ine T_DA|TA_REQ.3|
|000123c0| 09 2f 2a 20 64 61 74 61 | 20 72 65 71 75 65 73 74 |./* data| request|
|000123d0| 09 20 20 20 20 20 20 20 | 20 20 20 2a 2f 0a 23 64 |. | */.#d|
|000123e0| 65 66 69 6e 65 20 54 5f | 45 58 44 41 54 41 5f 52 |efine T_|EXDATA_R|
|000123f0| 45 51 09 34 09 2f 2a 20 | 65 78 70 65 64 69 74 65 |EQ.4./* |expedite|
|00012400| 64 20 64 61 74 61 20 72 | 65 71 75 65 73 74 20 2a |d data r|equest *|
|00012410| 2f 0a 23 64 65 66 69 6e | 65 20 54 5f 49 4e 46 4f |/.#defin|e T_INFO|
|00012420| 5f 52 45 51 09 35 09 2f | 2a 20 69 6e 66 6f 72 6d |_REQ.5./|* inform|
|00012430| 61 74 69 6f 6e 20 72 65 | 71 75 65 73 74 20 20 20 |ation re|quest |
|00012440| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 5f 42 49 | */.#def|ine T_BI|
|00012450| 4e 44 5f 52 45 51 09 36 | 09 2f 2a 20 62 69 6e 64 |ND_REQ.6|./* bind|
|00012460| 20 72 65 71 75 65 73 74 | 09 09 20 20 2a 2f 0a 23 | request|.. */.#|
|00012470| 64 65 66 69 6e 65 20 54 | 5f 55 4e 42 49 4e 44 5f |define T|_UNBIND_|
|00012480| 52 45 51 09 37 09 2f 2a | 20 75 6e 62 69 6e 64 20 |REQ.7./*| unbind |
|00012490| 72 65 71 75 65 73 74 09 | 20 20 2a 2f 0a 23 64 65 |request.| */.#de|
|000124a0| 66 69 6e 65 20 54 5f 55 | 4e 49 54 44 41 54 41 5f |fine T_U|NITDATA_|
|000124b0| 52 45 51 09 38 09 2f 2a | 20 75 6e 69 74 64 61 74 |REQ.8./*| unitdat|
|000124c0| 61 20 72 65 71 75 65 73 | 74 20 20 20 20 20 20 20 |a reques|t |
|000124d0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 54 5f 4f 50 54 |*/.#defi|ne T_OPT|
|000124e0| 4d 47 4d 54 5f 52 45 51 | 20 20 20 39 09 2f 2a 20 |MGMT_REQ| 9./* |
|000124f0| 6d 61 6e 61 67 65 20 6f | 70 74 69 6f 6e 73 20 72 |manage o|ptions r|
|00012500| 65 71 20 20 20 20 20 2a | 2f 0a 23 64 65 66 69 6e |eq *|/.#defin|
|00012510| 65 20 54 5f 4f 52 44 52 | 45 4c 5f 52 45 51 20 20 |e T_ORDR|EL_REQ |
|00012520| 20 31 30 20 20 20 20 20 | 20 20 2f 2a 20 6f 72 64 | 10 | /* ord|
|00012530| 65 72 6c 79 20 72 65 6c | 65 61 73 65 20 72 65 71 |erly rel|ease req|
|00012540| 20 20 20 20 2a 2f 0a 0a | 2f 2a 20 0a 20 2a 20 50 | */..|/* . * P|
|00012550| 72 69 6d 69 74 69 76 65 | 73 20 74 68 61 74 20 61 |rimitive|s that a|
|00012560| 72 65 20 69 6e 69 74 69 | 61 74 65 64 20 62 79 20 |re initi|ated by |
|00012570| 74 68 65 20 74 72 61 6e | 73 70 6f 05 00 0c 02 00 |the tran|spo.....|
|00012580| 54 01 02 00 72 74 20 70 | 72 6f 76 69 64 65 72 2e |T...rt p|rovider.|
|00012590| 0a 20 2a 2f 0a 0a 23 64 | 65 66 69 6e 65 20 54 5f |. */..#d|efine T_|
|000125a0| 43 4f 4e 4e 5f 49 4e 44 | 09 31 31 09 2f 2a 20 63 |CONN_IND|.11./* c|
|000125b0| 6f 6e 6e 65 63 74 69 6f | 6e 20 69 6e 64 69 63 61 |onnectio|n indica|
|000125c0| 74 69 6f 6e 20 20 20 20 | 20 20 2a 2f 0a 23 64 65 |tion | */.#de|
|000125d0| 66 69 6e 65 20 54 5f 43 | 4f 4e 4e 5f 43 4f 4e 09 |fine T_C|ONN_CON.|
|000125e0| 31 32 09 2f 2a 20 63 6f | 6e 6e 65 63 74 69 6f 6e |12./* co|nnection|
|000125f0| 20 63 6f 6e 66 69 72 6d | 61 74 69 6f 6e 20 20 20 | confirm|ation |
|00012600| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 5f 44 49 | */.#def|ine T_DI|
|00012610| 53 43 4f 4e 5f 49 4e 44 | 09 31 33 09 2f 2a 20 64 |SCON_IND|.13./* d|
|00012620| 69 73 63 6f 6e 6e 65 63 | 74 20 69 6e 64 69 63 61 |isconnec|t indica|
|00012630| 74 69 6f 6e 20 20 20 20 | 20 20 2a 2f 0a 23 64 65 |tion | */.#de|
|00012640| 66 69 6e 65 20 54 5f 44 | 41 54 41 5f 49 4e 44 09 |fine T_D|ATA_IND.|
|00012650| 31 34 09 2f 2a 20 64 61 | 74 61 20 69 6e 64 69 63 |14./* da|ta indic|
|00012660| 61 74 69 6f 6e 09 20 20 | 20 20 20 20 2a 2f 0a 23 |ation. | */.#|
|00012670| 64 65 66 69 6e 65 20 54 | 5f 45 58 44 41 54 41 5f |define T|_EXDATA_|
|00012680| 49 4e 44 09 31 35 09 2f | 2a 20 65 78 70 65 64 69 |IND.15./|* expedi|
|00012690| 74 69 65 64 20 64 61 74 | 61 20 69 6e 64 69 63 61 |tied dat|a indica|
|000126a0| 74 69 6f 6e 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |tion */.|#define |
|000126b0| 54 5f 49 4e 46 4f 5f 41 | 43 4b 09 31 36 09 2f 2a |T_INFO_A|CK.16./*|
|000126c0| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 61 63 6b | informa|tion ack|
|000126d0| 6e 6f 77 6c 65 64 67 6d | 65 6e 74 20 2a 2f 0a 23 |nowledgm|ent */.#|
|000126e0| 64 65 66 69 6e 65 20 54 | 5f 42 49 4e 44 5f 41 43 |define T|_BIND_AC|
|000126f0| 4b 09 31 37 09 2f 2a 20 | 62 69 6e 64 20 61 63 6b |K.17./* |bind ack|
|00012700| 6e 6f 77 6c 65 64 6d 65 | 6e 74 09 20 20 20 20 20 |nowledme|nt. |
|00012710| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 5f 45 52 | */.#def|ine T_ER|
|00012720| 52 4f 52 5f 41 43 4b 09 | 31 38 09 2f 2a 20 65 72 |ROR_ACK.|18./* er|
|00012730| 72 6f 72 20 61 63 6b 6e | 6f 77 6c 65 64 67 6d 65 |ror ackn|owledgme|
|00012740| 6e 74 20 20 20 20 20 20 | 20 2a 2f 0a 23 64 65 66 |nt | */.#def|
|00012750| 69 6e 65 20 54 5f 4f 4b | 5f 41 43 4b 09 31 39 09 |ine T_OK|_ACK.19.|
|00012760| 2f 2a 20 6f 6b 20 61 63 | 6b 6e 6f 77 6c 65 64 67 |/* ok ac|knowledg|
|00012770| 6d 65 6e 74 20 20 20 20 | 20 20 20 20 20 20 2a 2f |ment | */|
|00012780| 0a 23 64 65 05 00 0d 02 | 00 c0 01 02 00 66 69 6e |.#de....|.....fin|
|00012790| 65 20 54 5f 55 4e 49 54 | 44 41 54 41 5f 49 4e 44 |e T_UNIT|DATA_IND|
|000127a0| 09 32 30 09 2f 2a 20 75 | 6e 69 74 64 61 74 61 20 |.20./* u|nitdata |
|000127b0| 69 6e 64 69 63 61 74 69 | 6f 6e 09 20 20 20 20 20 |indicati|on. |
|000127c0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 5f 55 44 | */.#def|ine T_UD|
|000127d0| 45 52 52 4f 52 5f 49 4e | 44 09 32 31 09 2f 2a 20 |ERROR_IN|D.21./* |
|000127e0| 75 6e 69 74 64 61 74 61 | 20 65 72 72 6f 72 20 69 |unitdata| error i|
|000127f0| 6e 64 69 63 61 74 69 6f | 6e 20 20 2a 2f 0a 23 64 |ndicatio|n */.#d|
|00012800| 65 66 69 6e 65 20 54 5f | 4f 50 54 4d 47 4d 54 5f |efine T_|OPTMGMT_|
|00012810| 41 43 4b 20 20 20 32 32 | 20 20 20 20 20 20 2f 2a |ACK 22| /*|
|00012820| 20 6d 61 6e 61 67 65 20 | 6f 70 74 69 6f 6e 73 20 | manage |options |
|00012830| 61 63 6b 20 20 20 20 20 | 20 20 20 20 2a 2f 0a 23 |ack | */.#|
|00012840| 64 65 66 69 6e 65 20 54 | 5f 4f 52 44 52 45 4c 5f |define T|_ORDREL_|
|00012850| 49 4e 44 20 20 20 20 32 | 33 20 20 20 20 20 20 2f |IND 2|3 /|
|00012860| 2a 20 6f 72 64 65 72 6c | 79 20 72 65 6c 65 61 73 |* orderl|y releas|
|00012870| 65 20 69 6e 64 20 09 20 | 20 20 20 20 20 2a 2f 0a |e ind . | */.|
|00012880| 0a 2f 2a 0a 20 2a 20 54 | 68 65 20 66 6f 6c 6c 6f |./*. * T|he follo|
|00012890| 77 69 6e 67 20 61 72 65 | 20 74 68 65 20 65 76 65 |wing are| the eve|
|000128a0| 6e 74 73 20 74 68 61 74 | 20 64 72 69 76 65 20 74 |nts that| drive t|
|000128b0| 68 65 20 73 74 61 74 65 | 20 6d 61 63 68 69 6e 65 |he state| machine|
|000128c0| 0a 20 2a 2f 0a 2f 2a 20 | 49 6e 69 74 69 61 6c 69 |. */./* |Initiali|
|000128d0| 7a 61 74 69 6f 6e 20 65 | 76 65 6e 74 73 20 2a 2f |zation e|vents */|
|000128e0| 0a 23 64 65 66 69 6e 65 | 20 54 45 5f 42 49 4e 44 |.#define| TE_BIND|
|000128f0| 5f 52 45 51 09 30 09 2f | 2a 20 62 69 6e 64 20 72 |_REQ.0./|* bind r|
|00012900| 65 71 75 65 73 74 09 09 | 20 20 09 09 2a 2f 0a 23 |equest..| ..*/.#|
|00012910| 64 65 66 69 6e 65 20 54 | 45 5f 55 4e 42 49 4e 44 |define T|E_UNBIND|
|00012920| 5f 52 45 51 09 31 09 2f | 2a 20 75 6e 62 69 6e 64 |_REQ.1./|* unbind|
|00012930| 20 72 65 71 75 65 73 74 | 09 20 20 09 09 2a 2f 0a | request|. ..*/.|
|00012940| 23 64 65 66 69 6e 65 20 | 54 45 5f 4f 50 54 4d 47 |#define |TE_OPTMG|
|00012950| 4d 54 5f 52 45 51 20 20 | 32 09 2f 2a 20 6d 61 6e |MT_REQ |2./* man|
|00012960| 61 67 65 20 6f 70 74 69 | 6f 6e 73 20 72 65 71 20 |age opti|ons req |
|00012970| 20 20 20 20 09 09 2a 2f | 0a 23 64 65 66 69 6e 65 | ..*/|.#define|
|00012980| 20 54 45 5f 42 49 4e 44 | 5f 41 43 4b 09 05 00 0e | TE_BIND|_ACK....|
|00012990| 02 00 2b 01 02 00 33 09 | 2f 2a 20 62 69 6e 64 20 |..+...3.|/* bind |
|000129a0| 61 63 6b 6e 6f 77 6c 65 | 64 6d 65 6e 74 09 20 20 |acknowle|dment. |
|000129b0| 20 20 20 20 09 09 2a 2f | 0a 23 64 65 66 69 6e 65 | ..*/|.#define|
|000129c0| 20 54 45 5f 4f 50 54 4d | 47 4d 54 5f 41 43 4b 20 | TE_OPTM|GMT_ACK |
|000129d0| 20 34 20 20 20 20 20 20 | 20 2f 2a 20 6d 61 6e 61 | 4 | /* mana|
|000129e0| 67 65 20 6f 70 74 69 6f | 6e 73 20 61 63 6b 20 20 |ge optio|ns ack |
|000129f0| 20 20 20 20 20 20 20 09 | 09 2a 2f 0a 23 64 65 66 | .|.*/.#def|
|00012a00| 69 6e 65 20 54 45 5f 45 | 52 52 4f 52 5f 41 43 4b |ine TE_E|RROR_ACK|
|00012a10| 09 35 09 2f 2a 20 65 72 | 72 6f 72 20 61 63 6b 6e |.5./* er|ror ackn|
|00012a20| 6f 77 6c 65 64 67 6d 65 | 6e 74 20 20 20 20 20 20 |owledgme|nt |
|00012a30| 20 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 45 | ..*/.#d|efine TE|
|00012a40| 5f 4f 4b 5f 41 43 4b 31 | 09 36 09 2f 2a 20 6f 6b |_OK_ACK1|.6./* ok|
|00012a50| 20 61 63 6b 20 20 73 65 | 71 63 6e 74 20 3d 3d 20 | ack se|qcnt == |
|00012a60| 30 20 09 09 20 20 09 2a | 2f 0a 23 64 65 66 69 6e |0 .. .*|/.#defin|
|00012a70| 65 20 54 45 5f 4f 4b 5f | 41 43 4b 32 09 37 09 2f |e TE_OK_|ACK2.7./|
|00012a80| 2a 20 6f 6b 20 61 63 6b | 20 20 73 65 71 63 6e 74 |* ok ack| seqcnt|
|00012a90| 20 3d 3d 20 31 2c 20 71 | 20 3d 3d 20 72 65 73 71 | == 1, q| == resq|
|00012aa0| 20 20 20 20 20 20 09 2a | 2f 0a 23 64 65 66 69 6e | .*|/.#defin|
|00012ab0| 65 20 54 45 5f 4f 4b 5f | 41 43 4b 33 09 38 09 2f |e TE_OK_|ACK3.8./|
|00012ac0| 2a 20 6f 6b 20 61 63 6b | 20 20 73 65 71 63 6e 74 |* ok ack| seqcnt|
|00012ad0| 20 3d 3d 20 31 2c 20 71 | 20 21 3d 20 72 65 73 71 | == 1, q| != resq|
|00012ae0| 20 20 20 20 20 20 20 2a | 2f 0a 23 64 65 66 69 6e | *|/.#defin|
|00012af0| 65 20 54 45 5f 4f 4b 5f | 41 43 4b 34 09 39 09 2f |e TE_OK_|ACK4.9./|
|00012b00| 2a 20 6f 6b 20 61 63 6b | 20 20 73 65 71 63 6e 74 |* ok ack| seqcnt|
|00012b10| 20 3e 20 31 20 20 20 20 | 20 20 20 20 09 09 2a 2f | > 1 | ..*/|
|00012b20| 0a 0a 2f 2a 20 43 6f 6e | 6e 65 63 74 69 6f 6e 20 |../* Con|nection |
|00012b30| 6f 72 69 65 6e 74 65 64 | 20 65 76 65 6e 74 73 20 |oriented| events |
|00012b40| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 54 45 5f 43 4f |*/.#defi|ne.TE_CO|
|00012b50| 4e 4e 5f 52 45 51 09 31 | 30 09 2f 2a 20 63 6f 6e |NN_REQ.1|0./* con|
|00012b60| 6e 65 63 74 69 6f 6e 20 | 72 65 71 75 65 73 74 20 |nection |request |
|00012b70| 20 20 20 20 09 09 2a 2f | 0a 23 64 65 66 69 6e 65 | ..*/|.#define|
|00012b80| 20 54 45 5f 43 4f 4e 4e | 5f 52 45 53 09 31 31 09 | TE_CONN|_RES.11.|
|00012b90| 2f 2a 20 63 6f 6e 05 00 | 0f 02 00 c5 01 02 00 6e |/* con..|.......n|
|00012ba0| 65 63 74 69 6f 6e 20 72 | 65 73 70 6f 6e 73 65 20 |ection r|esponse |
|00012bb0| 20 20 20 09 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 | ..*/.|#define |
|00012bc0| 54 45 5f 44 49 53 43 4f | 4e 5f 52 45 51 09 31 32 |TE_DISCO|N_REQ.12|
|00012bd0| 09 2f 2a 20 64 69 73 63 | 6f 6e 6e 65 63 74 20 72 |./* disc|onnect r|
|00012be0| 65 71 75 65 73 74 20 20 | 20 20 20 09 09 2a 2f 0a |equest | ..*/.|
|00012bf0| 23 64 65 66 69 6e 65 20 | 54 45 5f 44 41 54 41 5f |#define |TE_DATA_|
|00012c00| 52 45 51 09 31 33 09 2f | 2a 20 64 61 74 61 20 72 |REQ.13./|* data r|
|00012c10| 65 71 75 65 73 74 09 20 | 20 20 20 20 20 20 20 20 |equest. | |
|00012c20| 20 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 45 | ..*/.#d|efine TE|
|00012c30| 5f 45 58 44 41 54 41 5f | 52 45 51 09 31 34 09 2f |_EXDATA_|REQ.14./|
|00012c40| 2a 20 65 78 70 65 64 69 | 74 65 64 20 64 61 74 61 |* expedi|ted data|
|00012c50| 20 72 65 71 75 65 73 74 | 20 09 09 2a 2f 0a 23 64 | request| ..*/.#d|
|00012c60| 65 66 69 6e 65 20 54 45 | 5f 4f 52 44 52 45 4c 5f |efine TE|_ORDREL_|
|00012c70| 52 45 51 20 20 20 31 35 | 20 20 20 20 20 20 2f 2a |REQ 15| /*|
|00012c80| 20 6f 72 64 65 72 6c 79 | 20 72 65 6c 65 61 73 65 | orderly| release|
|00012c90| 20 72 65 71 20 20 20 20 | 09 09 2a 2f 0a 23 64 65 | req |..*/.#de|
|00012ca0| 66 69 6e 65 20 54 45 5f | 43 4f 4e 4e 5f 49 4e 44 |fine TE_|CONN_IND|
|00012cb0| 09 31 36 09 2f 2a 20 63 | 6f 6e 6e 65 63 74 69 6f |.16./* c|onnectio|
|00012cc0| 6e 20 69 6e 64 69 63 61 | 74 69 6f 6e 20 20 20 20 |n indica|tion |
|00012cd0| 20 20 09 09 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 | ..*/.#|define T|
|00012ce0| 45 5f 43 4f 4e 4e 5f 43 | 4f 4e 09 31 37 09 2f 2a |E_CONN_C|ON.17./*|
|00012cf0| 20 63 6f 6e 6e 65 63 74 | 69 6f 6e 20 63 6f 6e 66 | connect|ion conf|
|00012d00| 69 72 6d 61 74 69 6f 6e | 20 20 20 20 09 09 2a 2f |irmation| ..*/|
|00012d10| 0a 23 64 65 66 69 6e 65 | 20 54 45 5f 44 41 54 41 |.#define| TE_DATA|
|00012d20| 5f 49 4e 44 09 31 38 09 | 2f 2a 20 64 61 74 61 20 |_IND.18.|/* data |
|00012d30| 69 6e 64 69 63 61 74 69 | 6f 6e 09 20 20 20 20 20 |indicati|on. |
|00012d40| 20 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 45 | ..*/.#d|efine TE|
|00012d50| 5f 45 58 44 41 54 41 5f | 49 4e 44 09 31 39 09 2f |_EXDATA_|IND.19./|
|00012d60| 2a 20 65 78 70 65 64 69 | 74 65 64 20 64 61 74 61 |* expedi|ted data|
|00012d70| 20 69 6e 64 69 63 61 74 | 69 6f 6e 20 09 09 2a 2f | indicat|ion ..*/|
|00012d80| 0a 23 64 65 66 69 6e 65 | 20 54 45 5f 4f 52 44 52 |.#define| TE_ORDR|
|00012d90| 45 4c 5f 49 4e 44 20 20 | 20 32 30 20 20 20 20 0f |EL_IND | 20 .|
|00012da0| 05 01 76 05 01 01 02 00 | 6f 01 02 00 20 20 2f 2a |..v.....|o... /*|
|00012db0| 20 6f 72 64 65 72 6c 79 | 20 72 65 6c 65 61 73 65 | orderly| release|
|00012dc0| 20 69 6e 64 20 09 20 20 | 20 20 20 20 09 09 2a 2f | ind . | ..*/|
|00012dd0| 0a 23 64 65 66 69 6e 65 | 20 54 45 5f 44 49 53 43 |.#define| TE_DISC|
|00012de0| 4f 4e 5f 49 4e 44 31 09 | 32 31 09 2f 2a 20 64 69 |ON_IND1.|21./* di|
|00012df0| 73 63 6f 6e 6e 65 63 74 | 20 69 6e 64 69 63 61 74 |sconnect| indicat|
|00012e00| 69 6f 6e 20 73 65 71 20 | 3d 3d 20 30 20 20 20 20 |ion seq |== 0 |
|00012e10| 20 20 09 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 45 | .*/.#d|efine TE|
|00012e20| 5f 44 49 53 43 4f 4e 5f | 49 4e 44 32 09 32 32 09 |_DISCON_|IND2.22.|
|00012e30| 2f 2a 20 64 69 73 63 6f | 6e 6e 65 63 74 20 69 6e |/* disco|nnect in|
|00012e40| 64 69 63 61 74 69 6f 6e | 20 73 65 71 20 3d 3d 20 |dication| seq == |
|00012e50| 31 20 20 20 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 |1 .*/.|#define |
|00012e60| 54 45 5f 44 49 53 43 4f | 4e 5f 49 4e 44 33 09 32 |TE_DISCO|N_IND3.2|
|00012e70| 33 09 2f 2a 20 64 69 73 | 63 6f 6e 6e 65 63 74 20 |3./* dis|connect |
|00012e80| 69 6e 64 69 63 61 74 69 | 6f 6e 20 73 65 71 20 3e |indicati|on seq >|
|00012e90| 20 31 20 20 09 2a 2f 0a | 23 64 65 66 69 6e 65 20 | 1 .*/.|#define |
|00012ea0| 54 45 5f 50 41 53 53 5f | 43 4f 4e 4e 09 32 34 09 |TE_PASS_|CONN.24.|
|00012eb0| 2f 2a 20 70 61 73 73 20 | 63 6f 6e 6e 65 63 74 69 |/* pass |connecti|
|00012ec0| 6f 6e 20 09 20 20 20 20 | 20 20 09 09 2a 2f 0a 0a |on . | ..*/..|
|00012ed0| 2f 2a 20 55 6e 69 74 20 | 64 61 74 61 20 65 76 65 |/* Unit |data eve|
|00012ee0| 6e 74 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 |nts */.#|define T|
|00012ef0| 45 5f 55 4e 49 54 44 41 | 54 41 5f 52 45 51 09 32 |E_UNITDA|TA_REQ.2|
|00012f00| 35 09 2f 2a 20 75 6e 69 | 74 64 61 74 61 20 72 65 |5./* uni|tdata re|
|00012f10| 71 75 65 73 74 20 20 20 | 20 20 20 20 09 09 2a 2f |quest | ..*/|
|00012f20| 0a 23 64 65 66 69 6e 65 | 20 54 45 5f 55 4e 49 54 |.#define| TE_UNIT|
|00012f30| 44 41 54 41 5f 49 4e 44 | 09 32 36 09 2f 2a 20 75 |DATA_IND|.26./* u|
|00012f40| 6e 69 74 64 61 74 61 20 | 69 6e 64 69 63 61 74 69 |nitdata |indicati|
|00012f50| 6f 6e 09 20 20 20 20 20 | 20 09 09 2a 2f 0a 23 64 |on. | ..*/.#d|
|00012f60| 65 66 69 6e 65 20 54 45 | 5f 55 44 45 52 52 4f 52 |efine TE|_UDERROR|
|00012f70| 5f 49 4e 44 09 32 37 09 | 2f 2a 20 75 6e 69 74 64 |_IND.27.|/* unitd|
|00012f80| 61 74 61 20 65 72 72 6f | 72 20 69 6e 64 69 63 61 |ata erro|r indica|
|00012f90| 74 69 6f 6e 20 20 09 09 | 2a 2f 0a 0a 23 64 65 66 |tion ..|*/..#def|
|00012fa0| 69 6e 65 20 54 45 5f 4e | 4f 45 56 45 05 01 02 02 |ine TE_N|OEVE....|
|00012fb0| 00 96 f7 01 02 00 7d 4e | 54 53 09 32 38 0a 2f 2a |......}N|TS.28./*|
|00012fc0| 0a 20 2a 20 54 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |. * The |followin|
|00012fd0| 67 20 61 72 65 20 74 68 | 65 20 70 6f 73 73 69 62 |g are th|e possib|
|00012fe0| 6c 65 20 73 74 61 74 65 | 73 20 6f 66 20 74 68 65 |le state|s of the|
|00012ff0| 20 54 72 61 6e 73 70 6f | 72 74 0a 20 2a 20 53 65 | Transpo|rt. * Se|
|00013000| 72 76 69 63 65 20 49 6e | 74 65 72 66 61 63 65 0a |rvice In|terface.|
|00013010| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 20 54 53 5f | */..#de|fine TS_|
|00013020| 55 4e 42 4e 44 09 09 30 | 09 2f 2a 20 75 6e 62 6f |UNBND..0|./* unbo|
|00013030| 75 6e 64 09 01 08 20 20 | 00 97 2a 2f 0a 23 64 65 |und... |..*/.#de|
|00013040| 66 69 6e 65 09 54 53 5f | 57 41 43 4b 5f 42 52 45 |fine.TS_|WACK_BRE|
|00013050| 51 09 09 31 09 2f 2a 20 | 77 61 69 74 69 6e 67 20 |Q..1./* |waiting |
|00013060| 61 63 6b 20 6f 66 20 42 | 49 4e 44 5f 52 45 51 20 |ack of B|IND_REQ |
|00013070| 20 20 20 20 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 | */.|#define |
|00013080| 54 53 5f 57 41 43 4b 5f | 55 52 45 51 09 09 32 09 |TS_WACK_|UREQ..2.|
|00013090| 2f 2a 20 77 61 69 74 69 | 6e 67 20 61 63 6b 20 6f |/* waiti|ng ack o|
|000130a0| 66 20 55 4e 42 49 4e 44 | 5f 52 45 51 20 20 20 20 |f UNBIND|_REQ |
|000130b0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 54 53 5f 49 44 |*/.#defi|ne TS_ID|
|000130c0| 4c 45 09 09 09 33 09 2f | 2a 20 69 64 6c 65 20 09 |LE...3./|* idle .|
|000130d0| 09 01 04 20 20 00 d4 2a | 2f 0a 23 64 65 66 69 6e |... ..*|/.#defin|
|000130e0| 65 20 54 53 5f 57 41 43 | 4b 5f 4f 50 54 52 45 51 |e TS_WAC|K_OPTREQ|
|000130f0| 09 09 34 09 2f 2a 20 77 | 61 69 74 20 61 63 6b 20 |..4./* w|ait ack |
|00013100| 6f 70 74 69 6f 6e 73 20 | 72 65 71 75 65 73 74 20 |options |request |
|00013110| 20 20 20 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 54 | */.#|define T|
|00013120| 53 5f 57 41 43 4b 5f 43 | 52 45 51 09 09 35 09 2f |S_WACK_C|REQ..5./|
|00013130| 2a 20 77 61 69 74 69 6e | 67 20 61 63 6b 20 6f 66 |* waitin|g ack of|
|00013140| 20 43 4f 4e 4e 5f 52 45 | 51 20 20 20 20 20 20 2a | CONN_RE|Q *|
|00013150| 2f 0a 23 64 65 66 69 6e | 65 20 54 53 5f 57 43 4f |/.#defin|e TS_WCO|
|00013160| 4e 5f 43 52 45 51 09 09 | 36 09 2f 2a 20 77 61 69 |N_CREQ..|6./* wai|
|00013170| 74 69 6e 67 20 63 6f 6e | 66 69 72 6d 20 6f 66 20 |ting con|firm of |
|00013180| 43 4f 4e 4e 5f 52 45 51 | 20 20 2a 2f 0a 23 64 65 |CONN_REQ| */.#de|
|00013190| 66 69 6e 65 09 54 53 5f | 57 52 45 53 5f 43 49 4e |fine.TS_|WRES_CIN|
|000131a0| 44 09 09 37 09 2f 2a 20 | 77 61 69 05 01 03 02 00 |D..7./* |wai.....|
|000131b0| 28 01 02 00 74 69 6e 67 | 20 72 65 73 70 6f 6e 73 |(...ting| respons|
|000131c0| 65 20 6f 66 20 43 4f 4e | 4e 5f 49 4e 44 20 2a 2f |e of CON|N_IND */|
|000131d0| 0a 23 64 65 66 69 6e 65 | 20 54 53 5f 57 41 43 4b |.#define| TS_WACK|
|000131e0| 5f 43 52 45 53 09 09 38 | 09 2f 2a 20 77 61 69 74 |_CRES..8|./* wait|
|000131f0| 69 6e 67 20 61 63 6b 20 | 6f 66 20 43 4f 4e 4e 5f |ing ack |of CONN_|
|00013200| 52 45 53 20 20 20 20 20 | 20 2a 2f 0a 23 64 65 66 |RES | */.#def|
|00013210| 69 6e 65 20 54 53 5f 44 | 41 54 41 5f 58 46 45 52 |ine TS_D|ATA_XFER|
|00013220| 09 09 39 09 2f 2a 20 64 | 61 74 61 20 74 72 61 6e |..9./* d|ata tran|
|00013230| 73 66 65 72 09 09 2a 2f | 0a 23 64 65 66 69 6e 65 |sfer..*/|.#define|
|00013240| 20 54 53 5f 57 49 4e 44 | 5f 4f 52 44 52 45 4c 09 | TS_WIND|_ORDREL.|
|00013250| 20 09 31 30 09 2f 2a 20 | 72 65 6c 65 61 73 69 6e | .10./* |releasin|
|00013260| 67 20 72 64 20 62 75 74 | 20 6e 6f 74 20 77 72 20 |g rd but| not wr |
|00013270| 20 20 20 20 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 | */.|#define |
|00013280| 54 53 5f 57 52 45 51 5f | 4f 52 44 52 45 4c 09 09 |TS_WREQ_|ORDREL..|
|00013290| 31 31 20 20 20 20 20 20 | 2f 2a 20 77 61 69 74 20 |11 |/* wait |
|000132a0| 74 6f 20 72 65 6c 65 61 | 73 65 20 77 72 20 62 75 |to relea|se wr bu|
|000132b0| 74 20 6e 6f 74 20 72 64 | 2a 2f 0a 23 64 65 66 69 |t not rd|*/.#defi|
|000132c0| 6e 65 20 54 53 5f 57 41 | 43 4b 5f 44 52 45 51 36 |ne TS_WA|CK_DREQ6|
|000132d0| 09 09 31 32 09 2f 2a 20 | 77 61 69 74 69 6e 67 20 |..12./* |waiting |
|000132e0| 61 63 6b 20 6f 66 20 44 | 49 53 43 4f 4e 5f 52 45 |ack of D|ISCON_RE|
|000132f0| 51 20 20 20 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |Q */.|#define |
|00013300| 54 53 5f 57 41 43 4b 5f | 44 52 45 51 37 09 09 31 |TS_WACK_|DREQ7..1|
|00013310| 33 09 2f 2a 20 77 61 69 | 74 69 6e 67 20 61 63 6b |3./* wai|ting ack|
|00013320| 20 6f 66 20 44 49 53 43 | 4f 4e 5f 52 45 51 20 20 | of DISC|ON_REQ |
|00013330| 20 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 54 53 5f | */.#de|fine TS_|
|00013340| 57 41 43 4b 5f 44 52 45 | 51 39 09 09 31 34 09 2f |WACK_DRE|Q9..14./|
|00013350| 2a 20 77 61 69 74 69 6e | 67 20 61 63 6b 20 6f 66 |* waitin|g ack of|
|00013360| 20 44 49 53 43 4f 4e 5f | 52 45 51 20 20 20 20 2a | DISCON_|REQ *|
|00013370| 2f 0a 23 64 65 66 69 6e | 65 20 54 53 5f 57 41 43 |/.#defin|e TS_WAC|
|00013380| 4b 5f 44 52 45 51 31 30 | 09 09 31 35 09 2f 2a 20 |K_DREQ10|..15./* |
|00013390| 77 61 69 74 69 6e 67 20 | 61 63 6b 20 6f 66 20 44 |waiting |ack of D|
|000133a0| 49 53 43 4f 4e 5f 52 45 | 51 20 20 20 20 2a 2f 0a |ISCON_RE|Q */.|
|000133b0| 23 64 65 66 05 01 04 02 | 00 44 01 02 00 69 6e 65 |#def....|.D...ine|
|000133c0| 20 54 53 5f 57 41 43 4b | 5f 44 52 45 51 31 31 09 | TS_WACK|_DREQ11.|
|000133d0| 09 31 36 09 2f 2a 20 77 | 61 69 74 69 6e 67 20 61 |.16./* w|aiting a|
|000133e0| 63 6b 20 6f 66 20 44 49 | 53 43 4f 4e 5f 52 45 51 |ck of DI|SCON_REQ|
|000133f0| 20 20 20 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 | */..|#define |
|00013400| 54 53 5f 4e 4f 53 54 41 | 54 45 53 09 09 31 37 0a |TS_NOSTA|TES..17.|
|00013410| 0a 0a 2f 2a 20 0a 20 2a | 20 54 68 65 20 66 6f 6c |../* . *| The fol|
|00013420| 6c 6f 77 69 6e 67 20 73 | 74 72 75 63 74 75 72 65 |lowing s|tructure|
|00013430| 20 64 65 66 69 6e 69 74 | 69 6f 6e 73 20 64 65 66 | definit|ions def|
|00013440| 69 6e 65 20 74 68 65 20 | 66 6f 72 6d 61 74 20 6f |ine the |format o|
|00013450| 66 20 74 68 65 0a 20 2a | 20 73 74 72 65 61 6d 20 |f the. *| stream |
|00013460| 6d 65 73 73 61 67 65 20 | 62 6c 6f 63 6b 20 6f 66 |message |block of|
|00013470| 20 74 68 65 20 61 62 6f | 76 65 20 70 72 69 6d 69 | the abo|ve primi|
|00013480| 74 69 76 65 73 2e 0a 20 | 2a 20 28 65 76 65 72 79 |tives.. |* (every|
|00013490| 74 68 69 6e 67 20 69 73 | 20 64 65 63 6c 61 72 65 |thing is| declare|
|000134a0| 64 20 6c 6f 6e 67 20 74 | 6f 20 65 6e 73 75 72 65 |d long t|o ensure|
|000134b0| 20 70 72 6f 70 65 72 20 | 61 6c 69 67 6e 6d 65 6e | proper |alignmen|
|000134c0| 74 0a 20 2a 20 20 61 63 | 72 6f 73 73 20 64 69 66 |t. * ac|ross dif|
|000134d0| 66 65 72 65 6e 74 20 6d | 61 63 68 69 6e 65 73 29 |ferent m|achines)|
|000134e0| 0a 20 2a 2f 0a 0a 2f 2a | 20 63 6f 6e 6e 65 63 74 |. */../*| connect|
|000134f0| 69 6f 6e 20 72 65 71 75 | 65 73 74 20 2a 2f 0a 0a |ion requ|est */..|
|00013500| 73 74 72 75 63 74 20 54 | 5f 63 6f 6e 6e 5f 72 65 |struct T|_conn_re|
|00013510| 71 20 7b 0a 09 6c 6f 6e | 67 09 50 52 49 4d 5f 74 |q {..lon|g.PRIM_t|
|00013520| 79 70 65 3b 09 2f 2a 20 | 61 6c 77 61 79 73 20 54 |ype;./* |always T|
|00013530| 5f 43 4f 4e 4e 5f 52 45 | 51 20 20 2a 2f 0a 09 6c |_CONN_RE|Q */..l|
|00013540| 6f 6e 67 09 44 45 53 54 | 5f 6c 65 6e 67 74 68 3b |ong.DEST|_length;|
|00013550| 09 2f 2a 20 64 65 73 74 | 20 61 64 64 72 20 6c 65 |./* dest| addr le|
|00013560| 6e 67 74 68 20 20 20 2a | 2f 0a 09 6c 6f 6e 67 09 |ngth *|/..long.|
|00013570| 44 45 53 54 5f 6f 66 66 | 73 65 74 3b 09 2f 2a 20 |DEST_off|set;./* |
|00013580| 64 65 73 74 20 61 64 64 | 72 20 6f 66 66 73 65 74 |dest add|r offset|
|00013590| 20 20 20 2a 2f 0a 09 6c | 6f 6e 67 09 4f 50 54 5f | */..l|ong.OPT_|
|000135a0| 6c 65 6e 67 74 68 3b 09 | 2f 2a 20 6f 70 74 69 6f |length;.|/* optio|
|000135b0| 6e 73 20 6c 65 6e 67 74 | 68 20 20 20 20 05 01 05 |ns lengt|h ...|
|000135c0| 02 00 fa f7 01 02 00 ea | 20 2a 2f 0a 09 6c 6f 6e |........| */..lon|
|000135d0| 67 09 4f 50 54 5f 6f 66 | 66 73 65 74 3b 09 2f 2a |g.OPT_of|fset;./*|
|000135e0| 20 6f 70 74 69 6f 6e 73 | 20 6f 66 66 73 65 74 20 | options| offset |
|000135f0| 20 20 20 20 2a 2f 0a 7d | 3b 0a 0a 2f 2a 20 63 6f | */.}|;../* co|
|00013600| 6e 6e 65 63 74 20 72 65 | 73 70 6f 6e 73 65 20 2a |nnect re|sponse *|
|00013610| 2f 0a 0a 73 74 72 75 63 | 74 20 54 5f 63 6f 6e 6e |/..struc|t T_conn|
|00013620| 5f 72 65 73 20 7b 0a 09 | 6c 6f 6e 67 20 20 20 20 |_res {..|long |
|00013630| 50 52 49 4d 5f 74 79 70 | 65 3b 09 2f 2a 20 61 6c |PRIM_typ|e;./* al|
|00013640| 77 61 79 73 20 54 5f 43 | 4f 4e 4e 5f 52 45 53 20 |ways T_C|ONN_RES |
|00013650| 20 20 20 20 20 20 2a 2f | 0a 09 71 75 65 75 65 5f | */|..queue_|
|00013660| 74 20 2a 51 55 45 55 45 | 5f 70 74 72 3b 09 2f 2a |t *QUEUE|_ptr;./*|
|00013670| 20 72 65 73 70 6f 6e 64 | 69 6e 67 20 71 75 65 75 | respond|ing queu|
|00013680| 65 20 70 74 72 20 20 20 | 20 2a 2f 0a 09 6c 6f 6e |e ptr | */..lon|
|00013690| 67 20 20 20 20 4f 50 54 | 5f 6c 65 6e 67 74 68 3b |g OPT|_length;|
|000136a0| 09 2f 2a 20 6f 70 74 69 | 6f 6e 73 20 6c 65 6e 67 |./* opti|ons leng|
|000136b0| 74 68 01 05 20 20 00 26 | 2a 2f 0a 09 6c 6f 6e 67 |th.. .&|*/..long|
|000136c0| 09 4f 50 54 5f 6f 66 66 | 73 65 74 3b 09 2f 2a 20 |.OPT_off|set;./* |
|000136d0| 6f 70 74 69 6f 6e 73 20 | 6f 66 66 73 65 74 01 05 |options |offset..|
|000136e0| 20 20 00 2a 2a 2f 0a 09 | 6c 6f 6e 67 20 20 20 20 | .**/..|long |
|000136f0| 53 45 51 5f 6e 75 6d 62 | 65 72 3b 09 2f 2a 20 73 |SEQ_numb|er;./* s|
|00013700| 65 71 75 65 6e 63 65 20 | 6e 75 6d 62 65 72 01 05 |equence |number..|
|00013710| 20 20 00 a8 2a 2f 0a 7d | 3b 0a 0a 2f 2a 20 64 69 | ..*/.}|;../* di|
|00013720| 73 63 6f 6e 6e 65 63 74 | 20 72 65 71 75 65 73 74 |sconnect| request|
|00013730| 20 2a 2f 0a 0a 73 74 72 | 75 63 74 20 54 5f 64 69 | */..str|uct T_di|
|00013740| 73 63 6f 6e 5f 72 65 71 | 20 7b 0a 09 6c 6f 6e 67 |scon_req| {..long|
|00013750| 20 20 20 20 50 52 49 4d | 5f 74 79 70 65 3b 09 2f | PRIM|_type;./|
|00013760| 2a 20 61 6c 77 61 79 73 | 20 54 5f 44 49 53 43 4f |* always| T_DISCO|
|00013770| 4e 5f 52 45 51 20 2a 2f | 0a 09 6c 6f 6e 67 20 20 |N_REQ */|..long |
|00013780| 20 20 53 45 51 5f 6e 75 | 6d 62 65 72 3b 09 2f 2a | SEQ_nu|mber;./*|
|00013790| 20 73 65 71 75 6e 63 65 | 20 6e 75 6d 62 65 72 20 | sequnce| number |
|000137a0| 20 20 20 20 20 2a 2f 0a | 7d 3b 0a 0a 2f 2a 20 64 | */.|};../* d|
|000137b0| 61 74 61 20 72 65 71 75 | 65 73 74 20 05 01 06 02 |ata requ|est ....|
|000137c0| 00 4e f5 01 02 00 ff 2a | 2f 0a 0a 73 74 72 75 63 |.N.....*|/..struc|
|000137d0| 74 20 54 5f 64 61 74 61 | 5f 72 65 71 20 7b 0a 09 |t T_data|_req {..|
|000137e0| 6c 6f 6e 67 09 50 52 49 | 4d 5f 74 79 70 65 3b 09 |long.PRI|M_type;.|
|000137f0| 2f 2a 20 61 6c 77 61 79 | 73 20 54 5f 44 41 54 41 |/* alway|s T_DATA|
|00013800| 5f 52 45 51 20 2a 2f 0a | 09 6c 6f 6e 67 09 4d 4f |_REQ */.|.long.MO|
|00013810| 52 45 5f 66 6c 61 67 3b | 09 2f 2a 20 6d 6f 72 65 |RE_flag;|./* more|
|00013820| 20 64 61 74 61 09 20 20 | 20 20 20 2a 2f 0a 7d 3b | data. | */.};|
|00013830| 0a 0a 2f 2a 20 65 78 70 | 65 64 69 74 65 64 20 64 |../* exp|edited d|
|00013840| 61 74 61 20 72 65 71 75 | 65 73 74 20 2a 2f 0a 0a |ata requ|est */..|
|00013850| 73 74 72 75 63 74 20 54 | 5f 65 78 64 61 74 61 5f |struct T|_exdata_|
|00013860| 72 65 71 20 7b 0a 09 6c | 6f 6e 67 09 50 52 49 4d |req {..l|ong.PRIM|
|00013870| 5f 74 79 70 65 3b 09 2f | 2a 20 61 6c 77 61 79 73 |_type;./|* always|
|00013880| 20 54 5f 45 58 44 41 54 | 41 5f 52 45 51 20 2a 2f | T_EXDAT|A_REQ */|
|00013890| 0a 09 6c 6f 6e 67 09 4d | 4f 52 45 5f 66 6c 61 67 |..long.M|ORE_flag|
|000138a0| 3b 09 2f 2a 20 6d 6f 72 | 65 20 64 61 74 61 09 20 |;./* mor|e data. |
|000138b0| 20 20 20 20 20 20 2a 2f | 0a 7d 3b 0a 0a 2f 2a 20 | */|.};../* |
|000138c0| 69 6e 66 6f 72 6d 00 a1 | 61 74 69 6f 6e 20 72 65 |inform..|ation re|
|000138d0| 71 75 65 73 74 20 2a 2f | 0a 0a 73 74 72 75 63 74 |quest */|..struct|
|000138e0| 20 54 5f 69 6e 66 6f 5f | 72 65 71 20 7b 0a 09 6c | T_info_|req {..l|
|000138f0| 6f 6e 67 09 50 52 49 4d | 5f 74 79 70 65 3b 09 2f |ong.PRIM|_type;./|
|00013900| 2a 20 61 6c 77 61 79 73 | 20 54 5f 49 4e 46 4f 5f |* always| T_INFO_|
|00013910| 52 45 51 20 2a 2f 0a 7d | 3b 0a 0a 2f 2a 20 62 69 |REQ */.}|;../* bi|
|00013920| 6e 64 20 72 65 71 75 65 | 73 74 20 2a 2f 0a 0a 73 |nd reque|st */..s|
|00013930| 74 72 75 63 74 20 54 5f | 62 69 6e 64 5f 72 65 71 |truct T_|bind_req|
|00013940| 20 7b 0a 09 6c 6f 6e 67 | 09 09 50 52 49 4d 5f 74 | {..long|..PRIM_t|
|00013950| 79 70 65 3b 09 2f 2a 20 | 61 6c 77 61 79 73 20 54 |ype;./* |always T|
|00013960| 5f 42 49 4e 44 5f 52 45 | 51 01 06 20 20 00 26 2a |_BIND_RE|Q.. .&*|
|00013970| 2f 0a 09 6c 6f 6e 67 09 | 09 41 44 44 52 5f 6c 65 |/..long.|.ADDR_le|
|00013980| 6e 67 74 68 3b 09 2f 2a | 20 61 64 64 72 20 6c 65 |ngth;./*| addr le|
|00013990| 6e 67 74 68 09 01 08 20 | 20 00 1e 2a 2f 0a 09 6c |ngth... | ..*/..l|
|000139a0| 6f 6e 67 09 09 41 44 44 | 52 5f 6f 66 66 73 65 74 |ong..ADD|R_offset|
|000139b0| 3b 09 2f 2a 20 61 64 64 | 72 05 01 07 02 00 fd f7 |;./* add|r.......|
|000139c0| 01 02 00 08 20 6f 66 66 | 73 65 74 09 01 08 20 20 |.... off|set... |
|000139d0| 00 ff 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 6c |..*/..un|signed l|
|000139e0| 6f 6e 67 09 43 4f 4e 49 | 4e 44 5f 6e 75 6d 62 65 |ong.CONI|ND_numbe|
|000139f0| 72 3b 09 2f 2a 63 6f 6e | 6e 65 63 74 20 69 6e 64 |r;./*con|nect ind|
|00013a00| 69 63 61 74 69 6f 6e 73 | 20 72 65 71 75 65 73 74 |ications| request|
|00013a10| 65 64 20 2a 2f 0a 7d 3b | 0a 0a 2f 2a 20 75 6e 62 |ed */.};|../* unb|
|00013a20| 69 6e 64 20 72 65 71 75 | 65 73 74 20 2a 2f 0a 0a |ind requ|est */..|
|00013a30| 73 74 72 75 63 74 20 54 | 5f 75 6e 62 69 6e 64 5f |struct T|_unbind_|
|00013a40| 72 65 71 20 7b 0a 09 6c | 6f 6e 67 09 50 52 49 4d |req {..l|ong.PRIM|
|00013a50| 5f 74 79 70 65 3b 09 2f | 2a 20 61 6c 77 61 79 73 |_type;./|* always|
|00013a60| 20 54 5f 55 4e 42 49 4e | 44 5f 52 45 51 20 2a 2f | T_UNBIN|D_REQ */|
|00013a70| 0a 7d 3b 0a 0a 2f 2a 20 | 75 6e 69 74 64 61 74 61 |.};../* |unitdata|
|00013a80| 20 72 65 71 75 65 73 74 | 20 2a 2f 0a 0a 73 74 72 | request| */..str|
|00013a90| 75 63 74 20 54 5f 75 6e | 69 74 64 61 74 61 5f 72 |uct T_un|itdata_r|
|00013aa0| 65 71 20 7b 0a 09 6c 6f | 6e 67 09 50 52 49 4d 5f |eq {..lo|ng.PRIM_|
|00013ab0| 74 79 70 65 3b 09 2f 2a | 20 61 6c 77 61 79 73 20 |type;./*| always |
|00013ac0| 54 5f 55 4e 49 54 44 41 | 54 41 5f 52 45 51 20 20 |T_UNITDA|TA_REQ |
|00013ad0| 2a 00 85 2f 0a 09 6c 6f | 6e 67 09 44 45 53 54 5f |*../..lo|ng.DEST_|
|00013ae0| 6c 65 6e 67 74 68 3b 09 | 2f 2a 20 64 65 73 74 20 |length;.|/* dest |
|00013af0| 61 64 64 72 20 6c 65 6e | 67 74 68 20 20 20 20 20 |addr len|gth |
|00013b00| 20 20 2a 2f 0a 09 6c 6f | 6e 67 09 44 45 53 54 5f | */..lo|ng.DEST_|
|00013b10| 6f 66 66 73 65 74 3b 09 | 2f 2a 20 64 65 73 74 20 |offset;.|/* dest |
|00013b20| 61 64 64 72 20 6f 66 66 | 73 65 74 20 20 20 20 20 |addr off|set |
|00013b30| 20 20 2a 2f 0a 09 6c 6f | 6e 67 09 4f 50 54 5f 6c | */..lo|ng.OPT_l|
|00013b40| 65 6e 67 74 68 3b 09 2f | 2a 20 6f 70 74 69 6f 6e |ength;./|* option|
|00013b50| 73 20 6c 65 6e 67 74 68 | 01 04 20 20 00 27 20 2a |s length|.. .' *|
|00013b60| 2f 0a 09 6c 6f 6e 67 09 | 4f 50 54 5f 6f 66 66 73 |/..long.|OPT_offs|
|00013b70| 65 74 3b 09 2f 2a 20 6f | 70 74 69 6f 6e 73 20 6f |et;./* o|ptions o|
|00013b80| 66 66 73 65 74 01 04 20 | 20 00 2d 20 2a 2f 0a 7d |ffset.. | .- */.}|
|00013b90| 3b 0a 0a 2f 2a 20 6d 61 | 6e 61 67 65 20 6f 70 74 |;../* ma|nage opt|
|00013ba0| 69 6f 6e 73 20 72 65 71 | 75 65 73 74 20 2a 2f 0a |ions req|uest */.|
|00013bb0| 0a 73 74 72 75 63 74 20 | 05 01 08 02 00 c9 fd 01 |.struct |........|
|00013bc0| 02 00 61 54 5f 6f 70 74 | 6d 67 6d 74 5f 72 65 71 |..aT_opt|mgmt_req|
|00013bd0| 20 7b 0a 09 6c 6f 6e 67 | 09 50 52 49 4d 5f 74 79 | {..long|.PRIM_ty|
|00013be0| 70 65 3b 09 2f 2a 20 61 | 6c 77 61 79 73 20 54 5f |pe;./* a|lways T_|
|00013bf0| 4f 50 54 4d 47 4d 54 5f | 52 45 51 20 20 20 2a 2f |OPTMGMT_|REQ */|
|00013c00| 0a 09 6c 6f 6e 67 09 4f | 50 54 5f 6c 65 6e 67 74 |..long.O|PT_lengt|
|00013c10| 68 3b 09 2f 2a 20 6f 70 | 74 69 6f 6e 73 20 6c 65 |h;./* op|tions le|
|00013c20| 6e 67 74 68 01 04 20 20 | 00 27 20 2a 2f 0a 09 6c |ngth.. |.' */..l|
|00013c30| 6f 6e 67 09 4f 50 54 5f | 6f 66 66 73 65 74 3b 09 |ong.OPT_|offset;.|
|00013c40| 2f 2a 20 6f 70 74 69 6f | 6e 73 20 6f 66 66 73 65 |/* optio|ns offse|
|00013c50| 74 01 04 20 20 00 29 20 | 2a 2f 0a 09 6c 6f 6e 67 |t.. .) |*/..long|
|00013c60| 20 20 20 20 4d 47 4d 54 | 5f 66 6c 61 67 73 3b 09 | MGMT|_flags;.|
|00013c70| 2f 2a 20 6f 70 74 69 6f | 6e 73 20 66 6c 61 67 73 |/* optio|ns flags|
|00013c80| 01 05 20 20 00 ff 2a 2f | 0a 7d 3b 0a 0a 2f 2a 20 |.. ..*/|.};../* |
|00013c90| 6f 72 64 65 72 6c 79 20 | 72 65 6c 65 61 73 65 20 |orderly |release |
|00013ca0| 72 65 71 75 65 73 74 20 | 2a 2f 0a 0a 73 74 72 75 |request |*/..stru|
|00013cb0| 63 74 20 54 5f 6f 72 64 | 72 65 6c 5f 72 65 71 20 |ct T_ord|rel_req |
|00013cc0| 7b 0a 09 6c 6f 6e 67 09 | 50 52 49 4d 5f 74 79 70 |{..long.|PRIM_typ|
|00013cd0| 65 3b 09 2f 2a 20 61 6c | 77 61 79 73 20 54 5f 4f |e;./* al|ways T_O|
|00013ce0| 52 44 52 45 4c 5f 52 45 | 51 20 2a 2f 0a 7d 3b 0a |RDREL_RE|Q */.};.|
|00013cf0| 0a 2f 2a 20 63 6f 6e 6e | 65 63 74 20 69 6e 64 69 |./* conn|ect indi|
|00013d00| 63 61 74 69 6f 6e 20 2a | 2f 0a 0a 73 74 72 75 63 |cation *|/..struc|
|00013d10| 74 20 54 5f 63 6f 6e 6e | 5f 69 6e 64 20 7b 0a 09 |t T_conn|_ind {..|
|00013d20| 6c 6f 6e 67 09 50 52 49 | 4d 5f 74 79 70 65 3b 09 |long.PRI|M_type;.|
|00013d30| 2f 2a 20 61 6c 77 61 79 | 73 20 54 5f 43 4f 4e 4e |/* alway|s T_CONN|
|00013d40| 5f 49 4e 44 20 2a 2f 0a | 09 6c 6f 6e 67 09 53 52 |_IND */.|.long.SR|
|00013d50| 43 5f 6c 65 6e 67 74 68 | 3b 09 2f 2a 20 73 72 63 |C_length|;./* src|
|00013d60| 20 61 64 64 72 20 6c 65 | 6e 67 74 68 20 20 20 2a | addr le|ngth *|
|00013d70| 2f 0a 09 6c 6f 6e 67 09 | 53 52 43 5f 6f 66 66 73 |/..long.|SRC_offs|
|00013d80| 65 74 3b 09 2f 00 36 2a | 20 73 72 63 20 61 64 64 |et;./.6*| src add|
|00013d90| 72 20 6f 66 66 73 65 74 | 20 20 20 2a 2f 0a 09 6c |r offset| */..l|
|00013da0| 6f 6e 67 09 4f 50 54 5f | 6c 65 6e 67 74 68 3b 09 |ong.OPT_|length;.|
|00013db0| 2f 2a 20 6f 70 74 69 6f | 6e 20 6c 65 6e 05 01 09 |/* optio|n len...|
|00013dc0| 02 00 bd fd 01 02 00 ff | 67 74 68 20 20 20 20 20 |........|gth |
|00013dd0| 2a 2f 0a 09 6c 6f 6e 67 | 20 20 20 20 4f 50 54 5f |*/..long| OPT_|
|00013de0| 6f 66 66 73 65 74 3b 09 | 2f 2a 20 6f 70 74 69 6f |offset;.|/* optio|
|00013df0| 6e 20 6f 66 66 73 65 74 | 20 20 20 20 20 2a 2f 0a |n offset| */.|
|00013e00| 09 6c 6f 6e 67 20 20 20 | 20 53 45 51 5f 6e 75 6d |.long | SEQ_num|
|00013e10| 62 65 72 3b 09 2f 2a 20 | 73 65 71 75 6e 63 65 20 |ber;./* |sequnce |
|00013e20| 6e 75 6d 62 65 72 20 20 | 20 20 2a 2f 0a 7d 3b 0a |number | */.};.|
|00013e30| 0a 2f 2a 20 63 6f 6e 6e | 65 63 74 20 63 6f 6e 66 |./* conn|ect conf|
|00013e40| 69 72 6d 61 74 69 6f 6e | 20 2a 2f 0a 0a 73 74 72 |irmation| */..str|
|00013e50| 75 63 74 20 54 5f 63 6f | 6e 6e 5f 63 6f 6e 20 7b |uct T_co|nn_con {|
|00013e60| 0a 09 6c 6f 6e 67 09 50 | 52 49 4d 5f 74 79 70 65 |..long.P|RIM_type|
|00013e70| 3b 09 2f 2a 20 61 6c 77 | 61 79 73 20 54 5f 43 4f |;./* alw|ays T_CO|
|00013e80| 4e 4e 5f 43 4f 4e 20 20 | 20 20 20 20 2a 2f 0a 09 |NN_CON | */..|
|00013e90| 6c 6f 6e 67 09 52 45 53 | 5f 6c 65 6e 67 74 68 3b |long.RES|_length;|
|00013ea0| 09 2f 2a 20 72 65 73 70 | 6f 6e 64 69 6e 67 20 61 |./* resp|onding a|
|00013eb0| 64 64 72 20 6c 65 6e 67 | 74 68 20 2a 2f 0a 09 6c |ddr leng|th */..l|
|00013ec0| 6f 6e 67 09 52 45 53 00 | 48 5f 6f 66 66 73 65 74 |ong.RES.|H_offset|
|00013ed0| 3b 09 2f 2a 20 72 65 73 | 70 6f 6e 64 69 6e 67 20 |;./* res|ponding |
|00013ee0| 61 64 64 72 20 6f 66 66 | 73 65 74 20 2a 2f 0a 09 |addr off|set */..|
|00013ef0| 6c 6f 6e 67 09 4f 50 54 | 5f 6c 65 6e 67 74 68 3b |long.OPT|_length;|
|00013f00| 09 2f 2a 20 6f 70 74 69 | 6f 6e 20 6c 65 6e 67 74 |./* opti|on lengt|
|00013f10| 68 01 05 20 20 00 28 2a | 2f 0a 09 6c 6f 6e 67 20 |h.. .(*|/..long |
|00013f20| 20 20 20 4f 50 54 5f 6f | 66 66 73 65 74 3b 09 2f | OPT_o|ffset;./|
|00013f30| 2a 20 6f 70 74 69 6f 6e | 20 6f 66 66 73 65 74 01 |* option| offset.|
|00013f40| 05 20 20 00 7d 2a 2f 0a | 7d 3b 0a 0a 2f 2a 20 64 |. .}*/.|};../* d|
|00013f50| 69 73 63 6f 6e 6e 65 63 | 74 20 69 6e 64 69 63 61 |isconnec|t indica|
|00013f60| 74 69 6f 6e 20 2a 2f 0a | 0a 73 74 72 75 63 74 20 |tion */.|.struct |
|00013f70| 54 5f 64 69 73 63 6f 6e | 5f 69 6e 64 20 7b 0a 09 |T_discon|_ind {..|
|00013f80| 6c 6f 6e 67 09 50 52 49 | 4d 5f 74 79 70 65 3b 09 |long.PRI|M_type;.|
|00013f90| 2f 2a 20 61 6c 77 61 79 | 73 20 54 5f 44 49 53 43 |/* alway|s T_DISC|
|00013fa0| 4f 4e 5f 49 4e 44 20 09 | 2a 2f 0a 09 6c 6f 6e 67 |ON_IND .|*/..long|
|00013fb0| 09 44 49 53 43 4f 4e 5f | 72 65 61 73 6f 6e 3b 09 |.DISCON_|reason;.|
|00013fc0| 2f 2a 05 01 0a 02 00 cd | ff 01 02 00 ff 20 64 69 |/*......|..... di|
|00013fd0| 73 63 6f 6e 6e 65 63 74 | 20 72 65 61 73 6f 6e 09 |sconnect| reason.|
|00013fe0| 2a 2f 0a 09 6c 6f 6e 67 | 20 20 20 20 53 45 51 5f |*/..long| SEQ_|
|00013ff0| 6e 75 6d 62 65 72 3b 09 | 2f 2a 20 73 65 71 75 6e |number;.|/* sequn|
|00014000| 63 65 20 6e 75 6d 62 65 | 72 20 20 20 20 20 20 20 |ce numbe|r |
|00014010| 2a 2f 0a 7d 3b 0a 0a 2f | 2a 20 64 61 74 61 20 69 |*/.};../|* data i|
|00014020| 6e 64 69 63 61 74 69 6f | 6e 20 2a 2f 0a 0a 73 74 |ndicatio|n */..st|
|00014030| 72 75 63 74 20 54 5f 64 | 61 74 61 5f 69 6e 64 20 |ruct T_d|ata_ind |
|00014040| 7b 0a 09 6c 6f 6e 67 20 | 09 50 52 49 4d 5f 74 79 |{..long |.PRIM_ty|
|00014050| 70 65 3b 09 2f 2a 20 61 | 6c 77 61 79 73 20 54 5f |pe;./* a|lways T_|
|00014060| 44 41 54 41 5f 49 4e 44 | 20 2a 2f 0a 09 6c 6f 6e |DATA_IND| */..lon|
|00014070| 67 09 4d 4f 52 45 5f 66 | 6c 61 67 3b 09 2f 2a 20 |g.MORE_f|lag;./* |
|00014080| 6d 6f 72 65 20 64 61 74 | 61 20 09 20 20 20 20 20 |more dat|a . |
|00014090| 2a 2f 0a 7d 3b 0a 0a 2f | 2a 20 65 78 70 65 64 69 |*/.};../|* expedi|
|000140a0| 74 65 64 20 64 61 74 61 | 20 69 6e 64 69 63 61 74 |ted data| indicat|
|000140b0| 69 6f 6e 20 2a 2f 0a 0a | 73 74 72 75 63 74 20 54 |ion */..|struct T|
|000140c0| 5f 65 78 64 61 74 61 5f | 69 6e 64 20 00 4a 7b 0a |_exdata_|ind .J{.|
|000140d0| 09 6c 6f 6e 67 09 50 52 | 49 4d 5f 74 79 70 65 3b |.long.PR|IM_type;|
|000140e0| 09 2f 2a 20 61 6c 77 61 | 79 73 20 54 5f 45 58 44 |./* alwa|ys T_EXD|
|000140f0| 41 54 41 5f 49 4e 44 20 | 2a 2f 0a 09 6c 6f 6e 67 |ATA_IND |*/..long|
|00014100| 09 4d 4f 52 45 5f 74 79 | 70 65 3b 09 2f 2a 20 6d |.MORE_ty|pe;./* m|
|00014110| 6f 72 65 20 64 61 74 61 | 01 05 20 20 00 8c 20 2a |ore data|.. .. *|
|00014120| 2f 0a 7d 3b 0a 0a 2f 2a | 20 69 6e 66 6f 72 6d 61 |/.};../*| informa|
|00014130| 74 69 6f 6e 20 61 63 6b | 6e 6f 77 6c 65 64 67 6d |tion ack|nowledgm|
|00014140| 65 6e 74 20 2a 2f 0a 0a | 73 74 72 75 63 74 20 54 |ent */..|struct T|
|00014150| 5f 69 6e 66 6f 5f 61 63 | 6b 20 7b 0a 09 6c 6f 6e |_info_ac|k {..lon|
|00014160| 67 09 50 52 49 4d 5f 74 | 79 70 65 3b 09 2f 2a 20 |g.PRIM_t|ype;./* |
|00014170| 61 6c 77 61 79 73 20 54 | 5f 49 4e 46 4f 5f 41 43 |always T|_INFO_AC|
|00014180| 4b 20 20 20 20 20 2a 2f | 0a 09 6c 6f 6e 67 09 54 |K */|..long.T|
|00014190| 53 44 55 5f 73 69 7a 65 | 3b 09 2f 2a 20 6d 61 78 |SDU_size|;./* max|
|000141a0| 20 54 53 44 55 20 73 69 | 7a 65 01 04 20 20 00 19 | TSDU si|ze.. ..|
|000141b0| 20 2a 2f 0a 09 6c 6f 6e | 67 09 45 54 53 44 55 5f | */..lon|g.ETSDU_|
|000141c0| 73 69 7a 65 3b 09 2f 2a | 20 05 01 0b 02 00 cf f3 |size;./*| .......|
|000141d0| 01 02 00 0e 6d 61 78 20 | 45 54 53 44 55 20 73 69 |....max |ETSDU si|
|000141e0| 7a 65 01 04 20 20 00 ce | 2a 2f 0a 09 6c 6f 6e 67 |ze.. ..|*/..long|
|000141f0| 09 43 44 41 54 41 5f 73 | 69 7a 65 3b 09 2f 2a 20 |.CDATA_s|ize;./* |
|00014200| 6d 61 78 20 63 6f 6e 6e | 65 63 74 20 64 61 74 61 |max conn|ect data|
|00014210| 20 73 69 7a 65 20 2a 2f | 0a 09 6c 6f 6e 67 09 44 | size */|..long.D|
|00014220| 44 41 54 41 5f 73 69 7a | 65 3b 09 2f 2a 20 6d 61 |DATA_siz|e;./* ma|
|00014230| 78 20 64 69 73 63 6f 6e | 20 64 61 74 61 20 73 69 |x discon| data si|
|00014240| 7a 65 20 20 2a 2f 0a 09 | 6c 6f 6e 67 09 41 44 44 |ze */..|long.ADD|
|00014250| 52 5f 73 69 7a 65 3b 09 | 2f 2a 20 61 64 64 72 65 |R_size;.|/* addre|
|00014260| 73 73 20 73 69 7a 65 09 | 09 20 2a 2f 0a 09 6c 6f |ss size.|. */..lo|
|00014270| 6e 67 09 4f 50 54 5f 73 | 69 7a 65 3b 09 2f 2a 20 |ng.OPT_s|ize;./* |
|00014280| 6f 70 74 69 6f 6e 73 20 | 73 69 7a 65 09 09 20 2a |options |size.. *|
|00014290| 2f 0a 09 6c 6f 6e 67 20 | 20 20 20 54 49 44 55 5f |/..long | TIDU_|
|000142a0| 73 69 7a 65 3b 09 2f 2a | 20 6d 61 78 20 54 49 44 |size;./*| max TID|
|000142b0| 55 20 73 69 7a 65 01 04 | 20 20 00 5d 20 2a 2f 0a |U size..| .] */.|
|000142c0| 09 6c 6f 6e 67 20 20 20 | 20 53 45 52 56 5f 74 79 |.long | SERV_ty|
|000142d0| 70 65 3b 09 2f 2a 20 70 | 72 6f 76 69 64 65 72 20 |pe;./* p|rovider |
|000142e0| 73 65 72 76 69 63 65 20 | 74 79 70 65 20 2a 2f 0a |service |type */.|
|000142f0| 09 6c 6f 6e 67 20 20 20 | 20 43 55 52 52 45 4e 54 |.long | CURRENT|
|00014300| 5f 73 74 61 74 65 3b 20 | 20 2f 2a 20 63 75 72 72 |_state; | /* curr|
|00014310| 65 6e 74 20 73 74 61 74 | 65 01 04 20 20 00 5d 20 |ent stat|e.. .] |
|00014320| 2a 2f 0a 7d 3b 0a 0a 2f | 2a 20 62 69 6e 64 20 61 |*/.};../|* bind a|
|00014330| 63 6b 6e 6f 77 6c 65 64 | 67 6d 65 6e 74 20 2a 2f |cknowled|gment */|
|00014340| 0a 0a 73 74 72 75 63 74 | 20 54 5f 62 69 6e 64 5f |..struct| T_bind_|
|00014350| 61 63 6b 20 7b 0a 09 6c | 6f 6e 67 09 09 50 52 49 |ack {..l|ong..PRI|
|00014360| 4d 5f 74 79 70 65 3b 09 | 2f 2a 20 61 6c 77 61 79 |M_type;.|/* alway|
|00014370| 73 20 54 5f 42 49 4e 44 | 5f 41 43 4b 01 04 20 20 |s T_BIND|_ACK.. |
|00014380| 00 25 2a 2f 0a 09 6c 6f | 6e 67 09 09 41 44 44 52 |.%*/..lo|ng..ADDR|
|00014390| 5f 6c 65 6e 67 74 68 3b | 09 2f 2a 20 61 64 64 72 |_length;|./* addr|
|000143a0| 20 6c 65 6e 67 74 68 01 | 07 20 20 00 17 2a 2f 0a | length.|. ..*/.|
|000143b0| 09 6c 6f 6e 67 09 09 41 | 44 44 52 5f 6f 66 66 73 |.long..A|DDR_offs|
|000143c0| 65 74 3b 09 05 01 0c 02 | 00 c6 fd 01 02 00 0e 2f |et;.....|......./|
|000143d0| 2a 20 61 64 64 72 20 6f | 66 66 73 65 74 01 07 20 |* addr o|ffset.. |
|000143e0| 20 00 ff 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 | ..*/..u|nsigned |
|000143f0| 6c 6f 6e 67 09 43 4f 4e | 49 4e 44 5f 6e 75 6d 62 |long.CON|IND_numb|
|00014400| 65 72 3b 09 2f 2a 20 63 | 6f 6e 6e 65 63 74 20 69 |er;./* c|onnect i|
|00014410| 6e 64 20 74 6f 20 62 65 | 20 71 75 65 75 65 64 20 |nd to be| queued |
|00014420| 2a 2f 0a 7d 3b 0a 0a 2f | 2a 20 65 72 72 6f 72 20 |*/.};../|* error |
|00014430| 61 63 6b 6e 6f 77 6c 65 | 64 67 6d 65 6e 74 20 2a |acknowle|dgment *|
|00014440| 2f 0a 0a 73 74 72 75 63 | 74 20 54 5f 65 72 72 6f |/..struc|t T_erro|
|00014450| 72 5f 61 63 6b 20 7b 20 | 0a 09 6c 6f 6e 67 20 09 |r_ack { |..long .|
|00014460| 50 52 49 4d 5f 74 79 70 | 65 3b 09 2f 2a 20 61 6c |PRIM_typ|e;./* al|
|00014470| 77 61 79 73 20 54 5f 45 | 52 52 4f 52 5f 41 43 4b |ways T_E|RROR_ACK|
|00014480| 20 20 2a 2f 0a 09 6c 6f | 6e 67 09 45 52 52 4f 52 | */..lo|ng.ERROR|
|00014490| 5f 70 72 69 6d 3b 09 2f | 2a 20 70 72 69 6d 69 74 |_prim;./|* primit|
|000144a0| 69 76 65 20 69 6e 20 65 | 72 72 6f 72 20 20 2a 2f |ive in e|rror */|
|000144b0| 0a 09 6c 6f 6e 67 09 54 | 4c 49 5f 65 72 72 6f 72 |..long.T|LI_error|
|000144c0| 3b 09 2f 2a 20 54 4c 49 | 20 65 72 72 6f 72 20 63 |;./* TLI| error c|
|000144d0| 6f 64 65 20 20 20 20 20 | 20 2a 2f 0a 09 6c 6f 6e |ode | */..lon|
|000144e0| 67 09 00 e5 55 4e 49 58 | 5f 65 72 72 6f 72 3b 09 |g...UNIX|_error;.|
|000144f0| 2f 2a 20 55 4e 49 58 20 | 65 72 72 6f 72 20 63 6f |/* UNIX |error co|
|00014500| 64 65 20 20 20 20 20 2a | 2f 0a 7d 3b 0a 0a 2f 2a |de *|/.};../*|
|00014510| 20 6f 6b 20 61 63 6b 6e | 6f 77 6c 65 64 67 6d 65 | ok ackn|owledgme|
|00014520| 6e 74 20 2a 2f 0a 0a 73 | 74 72 75 63 74 20 54 5f |nt */..s|truct T_|
|00014530| 6f 6b 5f 61 63 6b 20 7b | 0a 09 6c 6f 6e 67 20 09 |ok_ack {|..long .|
|00014540| 50 52 49 4d 5f 74 79 70 | 65 3b 09 2f 2a 20 61 6c |PRIM_typ|e;./* al|
|00014550| 77 61 79 73 20 54 5f 4f | 4b 5f 41 43 4b 20 20 20 |ways T_O|K_ACK |
|00014560| 2a 2f 0a 09 6c 6f 6e 67 | 09 43 4f 52 52 45 43 54 |*/..long|.CORRECT|
|00014570| 5f 70 72 69 6d 3b 09 2f | 2a 20 63 6f 72 72 65 63 |_prim;./|* correc|
|00014580| 74 20 70 72 69 6d 69 74 | 69 76 65 20 2a 2f 0a 7d |t primit|ive */.}|
|00014590| 3b 0a 0a 2f 2a 20 75 6e | 69 74 64 61 74 61 20 69 |;../* un|itdata i|
|000145a0| 6e 64 69 63 61 74 69 6f | 6e 20 2a 2f 0a 0a 73 74 |ndicatio|n */..st|
|000145b0| 72 75 63 74 20 54 5f 75 | 6e 69 74 64 61 74 61 5f |ruct T_u|nitdata_|
|000145c0| 69 6e 64 20 7b 0a 09 6c | 6f 05 01 0d 02 00 1b fd |ind {..l|o.......|
|000145d0| 01 02 00 ac 6e 67 09 50 | 52 49 4d 5f 74 79 70 65 |....ng.P|RIM_type|
|000145e0| 3b 09 2f 2a 20 61 6c 77 | 61 79 73 20 54 5f 55 4e |;./* alw|ays T_UN|
|000145f0| 49 54 44 41 54 41 5f 49 | 4e 44 20 20 2a 2f 0a 09 |ITDATA_I|ND */..|
|00014600| 6c 6f 6e 67 09 53 52 43 | 5f 6c 65 6e 67 74 68 3b |long.SRC|_length;|
|00014610| 09 2f 2a 20 73 6f 75 72 | 63 65 20 61 64 64 72 20 |./* sour|ce addr |
|00014620| 6c 65 6e 67 74 68 20 20 | 20 20 20 2a 2f 0a 09 6c |length | */..l|
|00014630| 6f 6e 67 09 53 52 43 5f | 6f 66 66 73 65 74 3b 09 |ong.SRC_|offset;.|
|00014640| 2f 2a 20 73 6f 75 72 63 | 65 20 61 64 64 72 20 6f |/* sourc|e addr o|
|00014650| 66 66 73 65 74 20 20 20 | 20 20 2a 2f 0a 09 6c 6f |ffset | */..lo|
|00014660| 6e 67 09 4f 50 54 5f 6c | 65 6e 67 74 68 3b 09 2f |ng.OPT_l|ength;./|
|00014670| 2a 20 6f 70 74 69 6f 6e | 73 20 6c 65 6e 67 74 68 |* option|s length|
|00014680| 01 04 20 20 00 27 20 2a | 2f 0a 09 6c 6f 6e 67 09 |.. .' *|/..long.|
|00014690| 4f 50 54 5f 6f 66 66 73 | 65 74 3b 09 2f 2a 20 6f |OPT_offs|et;./* o|
|000146a0| 70 74 69 6f 6e 73 20 6f | 66 66 73 65 74 01 04 20 |ptions o|ffset.. |
|000146b0| 20 00 f1 20 2a 2f 0a 7d | 3b 0a 0a 2f 2a 20 75 6e | .. */.}|;../* un|
|000146c0| 69 74 64 61 74 61 20 65 | 72 72 6f 72 20 69 6e 64 |itdata e|rror ind|
|000146d0| 69 63 61 74 69 6f 6e 20 | 2a 2f 0a 0a 73 74 72 75 |ication |*/..stru|
|000146e0| 63 74 20 54 5f 75 64 65 | 72 72 6f 72 5f 69 6e 64 |ct T_ude|rror_ind|
|000146f0| 20 7b 0a 09 6c 6f 6e 67 | 09 50 52 49 4d 5f 74 79 | {..long|.PRIM_ty|
|00014700| 70 65 3b 09 2f 2a 20 61 | 6c 77 61 79 73 20 54 5f |pe;./* a|lways T_|
|00014710| 55 44 45 52 52 4f 52 5f | 49 4e 44 20 20 20 2a 2f |UDERROR_|IND */|
|00014720| 0a 09 6c 6f 6e 67 09 44 | 45 53 54 5f 6c 65 6e 67 |..long.D|EST_leng|
|00014730| 74 68 3b 09 2f 2a 20 64 | 65 73 74 20 61 64 64 72 |th;./* d|est addr|
|00014740| 20 6c 65 6e 67 74 68 20 | 20 20 20 20 20 20 2a 2f | length | */|
|00014750| 0a 09 6c 6f 6e 67 09 44 | 45 53 54 5f 6f 66 66 73 |..long.D|EST_offs|
|00014760| 65 74 3b 09 2f 2a 20 64 | 65 73 74 20 61 64 64 72 |et;./* d|est addr|
|00014770| 20 6f 66 66 73 65 74 20 | 20 20 20 20 20 20 2a 2f | offset | */|
|00014780| 0a 09 6c 6f 6e 67 09 4f | 50 54 5f 6c 65 6e 67 74 |..long.O|PT_lengt|
|00014790| 68 3b 09 2f 2a 20 6f 70 | 74 69 6f 6e 73 20 6c 65 |h;./* op|tions le|
|000147a0| 6e 67 74 68 01 04 20 20 | 00 24 20 2a 2f 0a 09 6c |ngth.. |.$ */..l|
|000147b0| 6f 6e 67 09 4f 50 54 5f | 6f 66 66 73 65 74 3b 09 |ong.OPT_|offset;.|
|000147c0| 2f 2a 20 6f 70 74 69 6f | 6e 73 20 6f 66 66 05 01 |/* optio|ns off..|
|000147d0| 0e 02 00 72 f7 01 02 00 | 03 73 65 74 01 04 20 20 |...r....|.set.. |
|000147e0| 00 24 20 2a 2f 0a 09 6c | 6f 6e 67 09 45 52 52 4f |.$ */..l|ong.ERRO|
|000147f0| 52 5f 74 79 70 65 3b 09 | 2f 2a 20 65 72 72 6f 72 |R_type;.|/* error|
|00014800| 20 74 79 70 65 09 01 05 | 20 20 00 89 2a 2f 0a 7d | type...| ..*/.}|
|00014810| 3b 0a 0a 2f 2a 20 6d 61 | 6e 61 67 65 20 6f 70 74 |;../* ma|nage opt|
|00014820| 69 6f 6e 73 20 61 63 6b | 20 2a 2f 0a 0a 73 74 72 |ions ack| */..str|
|00014830| 75 63 74 20 54 5f 6f 70 | 74 6d 67 6d 74 5f 61 63 |uct T_op|tmgmt_ac|
|00014840| 6b 20 7b 0a 09 6c 6f 6e | 67 09 50 52 49 4d 5f 74 |k {..lon|g.PRIM_t|
|00014850| 79 70 65 3b 09 2f 2a 20 | 61 6c 77 61 79 73 20 54 |ype;./* |always T|
|00014860| 5f 4f 50 54 4d 47 4d 54 | 5f 41 43 4b 20 20 20 2a |_OPTMGMT|_ACK *|
|00014870| 2f 0a 09 6c 6f 6e 67 09 | 4f 50 54 5f 6c 65 6e 67 |/..long.|OPT_leng|
|00014880| 74 68 3b 09 2f 2a 20 6f | 70 74 69 6f 6e 73 20 6c |th;./* o|ptions l|
|00014890| 65 6e 67 74 68 01 04 20 | 20 00 27 20 2a 2f 0a 09 |ength.. | .' */..|
|000148a0| 6c 6f 6e 67 09 4f 50 54 | 5f 6f 66 66 73 65 74 3b |long.OPT|_offset;|
|000148b0| 09 2f 2a 20 6f 70 74 69 | 6f 6e 73 20 6f 66 66 73 |./* opti|ons offs|
|000148c0| 65 74 01 04 20 20 00 2b | 20 2a 2f 0a 09 6c 6f 6e |et.. .+| */..lon|
|000148d0| 67 20 20 20 20 4d 47 4d | 54 5f 66 6c 61 67 73 3b |g MGM|T_flags;|
|000148e0| 09 2f 2a 20 6d 61 6e 61 | 67 6d 65 6e 74 20 66 6c |./* mana|gment fl|
|000148f0| 61 67 73 01 04 20 20 00 | d4 2a 2f 0a 7d 3b 0a 0a |ags.. .|.*/.};..|
|00014900| 2f 2a 20 6f 72 64 65 72 | 6c 79 20 72 65 6c 65 61 |/* order|ly relea|
|00014910| 73 65 20 69 6e 64 69 63 | 61 74 69 6f 6e 20 2a 2f |se indic|ation */|
|00014920| 0a 0a 73 74 72 75 63 74 | 20 54 5f 6f 72 64 72 65 |..struct| T_ordre|
|00014930| 6c 5f 69 6e 64 20 7b 0a | 09 6c 6f 6e 67 09 50 52 |l_ind {.|.long.PR|
|00014940| 49 4d 5f 74 79 70 65 3b | 09 2f 2a 20 61 6c 77 61 |IM_type;|./* alwa|
|00014950| 79 73 20 54 5f 4f 52 44 | 52 45 4c 5f 49 4e 44 20 |ys T_ORD|REL_IND |
|00014960| 2a 2f 0a 7d 3b 0a 0a 2f | 2a 0a 20 2a 20 54 68 65 |*/.};../|*. * The|
|00014970| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 69 73 20 61 20 | followi|ng is a |
|00014980| 75 6e 69 6f 6e 20 6f 66 | 20 74 68 65 20 70 72 69 |union of| the pri|
|00014990| 6d 69 74 69 76 65 73 0a | 20 2a 2f 0a 75 6e 69 6f |mitives.| */.unio|
|000149a0| 6e 20 54 5f 70 72 69 6d | 69 74 69 76 65 73 20 7b |n T_prim|itives {|
|000149b0| 0a 09 6c 6f 6e 67 09 09 | 09 74 79 70 65 3b 09 09 |..long..|.type;..|
|000149c0| 2f 2a 20 70 72 69 6d 69 | 74 69 76 65 20 05 01 0f |/* primi|tive ...|
|000149d0| 02 00 e0 01 02 00 74 79 | 70 65 20 20 20 20 20 2a |......ty|pe *|
|000149e0| 2f 0a 09 73 74 72 75 63 | 74 20 54 5f 63 6f 6e 6e |/..struc|t T_conn|
|000149f0| 5f 72 65 71 09 63 6f 6e | 6e 5f 72 65 71 3b 09 2f |_req.con|n_req;./|
|00014a00| 2a 20 63 6f 6e 6e 65 63 | 74 20 72 65 71 75 65 73 |* connec|t reques|
|00014a10| 74 20 20 20 20 2a 2f 0a | 09 73 74 72 75 63 74 20 |t */.|.struct |
|00014a20| 54 5f 63 6f 6e 6e 5f 72 | 65 73 09 63 6f 6e 6e 5f |T_conn_r|es.conn_|
|00014a30| 72 65 73 3b 09 2f 2a 20 | 63 6f 6e 6e 65 63 74 20 |res;./* |connect |
|00014a40| 72 65 73 70 6f 6e 73 65 | 20 20 20 2a 2f 0a 09 73 |response| */..s|
|00014a50| 74 72 75 63 74 20 54 5f | 64 69 73 63 6f 6e 5f 72 |truct T_|discon_r|
|00014a60| 65 71 09 64 69 73 63 6f | 6e 5f 72 65 71 3b 09 2f |eq.disco|n_req;./|
|00014a70| 2a 20 64 69 73 63 6f 6e | 6e 65 63 74 20 72 65 71 |* discon|nect req|
|00014a80| 75 65 73 74 20 2a 2f 0a | 09 73 74 72 75 63 74 20 |uest */.|.struct |
|00014a90| 54 5f 64 61 74 61 5f 72 | 65 71 09 64 61 74 61 5f |T_data_r|eq.data_|
|00014aa0| 72 65 71 3b 09 2f 2a 20 | 64 61 74 61 20 72 65 71 |req;./* |data req|
|00014ab0| 75 65 73 74 20 20 20 20 | 20 20 20 2a 2f 0a 09 73 |uest | */..s|
|00014ac0| 74 72 75 63 74 20 54 5f | 65 78 64 61 74 61 5f 72 |truct T_|exdata_r|
|00014ad0| 65 71 09 65 78 64 61 74 | 61 5f 72 65 71 3b 09 2f |eq.exdat|a_req;./|
|00014ae0| 2a 20 65 78 70 65 64 69 | 74 65 64 20 64 61 74 61 |* expedi|ted data|
|00014af0| 20 72 65 71 20 2a 2f 0a | 09 73 74 72 75 63 74 20 | req */.|.struct |
|00014b00| 54 5f 69 6e 66 6f 5f 72 | 65 71 09 69 6e 66 6f 5f |T_info_r|eq.info_|
|00014b10| 72 65 71 3b 09 2f 2a 20 | 69 6e 66 6f 72 6d 61 74 |req;./* |informat|
|00014b20| 69 6f 6e 20 72 65 71 20 | 20 20 20 2a 2f 0a 09 73 |ion req | */..s|
|00014b30| 74 72 75 63 74 20 54 5f | 62 69 6e 64 5f 72 65 71 |truct T_|bind_req|
|00014b40| 09 62 69 6e 64 5f 72 65 | 71 3b 09 2f 2a 20 62 69 |.bind_re|q;./* bi|
|00014b50| 6e 64 20 72 65 71 75 65 | 73 74 20 20 20 20 20 20 |nd reque|st |
|00014b60| 20 2a 2f 0a 09 73 74 72 | 75 63 74 20 54 5f 75 6e | */..str|uct T_un|
|00014b70| 62 69 6e 64 5f 72 65 71 | 09 75 6e 62 69 6e 64 5f |bind_req|.unbind_|
|00014b80| 72 65 71 3b 09 2f 2a 20 | 75 6e 62 69 6e 64 20 72 |req;./* |unbind r|
|00014b90| 65 71 75 65 73 74 20 20 | 20 20 20 2a 2f 0a 09 73 |equest | */..s|
|00014ba0| 74 72 75 63 74 20 54 5f | 75 6e 69 74 64 61 74 61 |truct T_|unitdata|
|00014bb0| 5f 72 65 71 09 75 6e 69 | 74 64 61 74 61 5f 72 65 |_req.uni|tdata_re|
|00014bc0| 71 3b 09 2f 2a 20 75 6e | 69 74 64 61 74 61 20 72 |q;./* un|itdata r|
|00014bd0| 65 71 75 73 65 74 0f 06 | 00 7a 06 00 01 02 00 e4 |equset..|.z......|
|00014be0| 01 02 00 20 20 20 2a 2f | 0a 09 73 74 72 75 63 74 |... */|..struct|
|00014bf0| 20 54 5f 6f 70 74 6d 67 | 6d 74 5f 72 65 71 09 6f | T_optmg|mt_req.o|
|00014c00| 70 74 6d 67 6d 74 5f 72 | 65 71 3b 09 2f 2a 20 6d |ptmgmt_r|eq;./* m|
|00014c10| 61 6e 61 67 65 20 6f 70 | 74 20 72 65 71 20 20 20 |anage op|t req |
|00014c20| 20 20 2a 2f 0a 09 73 74 | 72 75 63 74 20 54 5f 6f | */..st|ruct T_o|
|00014c30| 72 64 72 65 6c 5f 72 65 | 71 09 6f 72 64 72 65 6c |rdrel_re|q.ordrel|
|00014c40| 5f 72 65 71 3b 09 2f 2a | 20 6f 72 64 65 72 6c 79 |_req;./*| orderly|
|00014c50| 20 72 65 6c 20 72 65 71 | 20 20 20 20 2a 2f 0a 09 | rel req| */..|
|00014c60| 73 74 72 75 63 74 20 54 | 5f 63 6f 6e 6e 5f 69 6e |struct T|_conn_in|
|00014c70| 64 09 63 6f 6e 6e 5f 69 | 6e 64 3b 09 2f 2a 20 63 |d.conn_i|nd;./* c|
|00014c80| 6f 6e 6e 65 63 74 20 69 | 6e 64 69 63 61 74 69 6f |onnect i|ndicatio|
|00014c90| 6e 20 2a 2f 0a 09 73 74 | 72 75 63 74 20 54 5f 63 |n */..st|ruct T_c|
|00014ca0| 6f 6e 6e 5f 63 6f 6e 09 | 63 6f 6e 6e 5f 63 6f 6e |onn_con.|conn_con|
|00014cb0| 3b 09 2f 2a 20 63 6f 6e | 6e 65 63 74 20 63 6f 72 |;./* con|nect cor|
|00014cc0| 66 69 72 6d 20 20 20 20 | 2a 2f 0a 09 73 74 72 75 |firm |*/..stru|
|00014cd0| 63 74 20 54 5f 64 69 73 | 63 6f 6e 5f 69 6e 64 09 |ct T_dis|con_ind.|
|00014ce0| 64 69 73 63 6f 6e 5f 69 | 6e 64 3b 09 2f 2a 20 64 |discon_i|nd;./* d|
|00014cf0| 69 73 63 6f 6e 20 69 6e | 64 69 63 61 74 69 6f 6e |iscon in|dication|
|00014d00| 20 20 2a 2f 0a 09 73 74 | 72 75 63 74 20 54 5f 64 | */..st|ruct T_d|
|00014d10| 61 74 61 5f 69 6e 64 09 | 64 61 74 61 5f 69 6e 64 |ata_ind.|data_ind|
|00014d20| 3b 09 2f 2a 20 64 61 74 | 61 20 69 6e 64 69 63 61 |;./* dat|a indica|
|00014d30| 74 69 6f 6e 20 20 20 20 | 2a 2f 0a 09 73 74 72 75 |tion |*/..stru|
|00014d40| 63 74 20 54 5f 65 78 64 | 61 74 61 5f 69 6e 64 09 |ct T_exd|ata_ind.|
|00014d50| 65 78 64 61 74 61 5f 69 | 6e 64 3b 09 2f 2a 20 65 |exdata_i|nd;./* e|
|00014d60| 78 70 65 64 69 74 65 64 | 20 64 61 74 61 20 69 6e |xpedited| data in|
|00014d70| 64 20 2a 2f 0a 09 73 74 | 72 75 63 74 20 54 5f 69 |d */..st|ruct T_i|
|00014d80| 6e 66 6f 5f 61 63 6b 09 | 69 6e 66 6f 5f 61 63 6b |nfo_ack.|info_ack|
|00014d90| 3b 09 2f 2a 20 69 6e 66 | 6f 20 61 63 6b 09 20 20 |;./* inf|o ack. |
|00014da0| 20 20 20 20 2a 2f 0a 09 | 73 74 72 75 63 74 20 54 | */..|struct T|
|00014db0| 5f 62 69 6e 64 5f 61 63 | 6b 09 62 69 6e 64 5f 61 |_bind_ac|k.bind_a|
|00014dc0| 63 6b 3b 09 2f 2a 20 62 | 69 6e 64 20 61 63 6b 09 |ck;./* b|ind ack.|
|00014dd0| 20 20 20 20 20 20 2a 2f | 0a 09 73 74 72 75 63 74 | */|..struct|
|00014de0| 20 54 5f 06 00 02 02 00 | fa 01 02 00 65 72 72 6f | T_.....|....erro|
|00014df0| 72 5f 61 63 6b 09 65 72 | 72 6f 72 5f 61 63 6b 3b |r_ack.er|ror_ack;|
|00014e00| 09 2f 2a 20 65 72 72 6f | 72 20 61 63 6b 09 20 20 |./* erro|r ack. |
|00014e10| 20 20 20 20 2a 2f 0a 09 | 73 74 72 75 63 74 20 54 | */..|struct T|
|00014e20| 5f 6f 6b 5f 61 63 6b 09 | 09 6f 6b 5f 61 63 6b 3b |_ok_ack.|.ok_ack;|
|00014e30| 09 09 2f 2a 20 6f 6b 20 | 61 63 6b 09 20 20 20 20 |../* ok |ack. |
|00014e40| 20 20 2a 2f 0a 09 73 74 | 72 75 63 74 20 54 5f 75 | */..st|ruct T_u|
|00014e50| 6e 69 74 64 61 74 61 5f | 69 6e 64 09 75 6e 69 74 |nitdata_|ind.unit|
|00014e60| 64 61 74 61 5f 69 6e 64 | 3b 09 2f 2a 20 75 6e 69 |data_ind|;./* uni|
|00014e70| 74 64 61 74 61 20 69 6e | 64 20 20 20 20 20 20 20 |tdata in|d |
|00014e80| 2a 2f 0a 09 73 74 72 75 | 63 74 20 54 5f 75 64 65 |*/..stru|ct T_ude|
|00014e90| 72 72 6f 72 5f 69 6e 64 | 09 75 64 65 72 72 6f 72 |rror_ind|.uderror|
|00014ea0| 5f 69 6e 64 3b 09 2f 2a | 20 75 6e 69 74 64 61 74 |_ind;./*| unitdat|
|00014eb0| 61 20 65 72 72 6f 72 20 | 69 6e 64 20 2a 2f 0a 09 |a error |ind */..|
|00014ec0| 73 74 72 75 63 74 20 54 | 5f 6f 70 74 6d 67 6d 74 |struct T|_optmgmt|
|00014ed0| 5f 61 63 6b 09 6f 70 74 | 6d 67 6d 74 5f 61 63 6b |_ack.opt|mgmt_ack|
|00014ee0| 3b 09 2f 2a 20 6d 61 6e | 61 67 65 20 6f 70 74 20 |;./* man|age opt |
|00014ef0| 61 63 6b 20 20 20 20 20 | 2a 2f 0a 09 73 74 72 75 |ack |*/..stru|
|00014f00| 63 74 20 54 5f 6f 72 64 | 72 65 6c 5f 69 6e 64 09 |ct T_ord|rel_ind.|
|00014f10| 6f 72 64 72 65 6c 5f 69 | 6e 64 3b 09 2f 2a 20 6f |ordrel_i|nd;./* o|
|00014f20| 72 64 65 72 6c 79 20 72 | 65 6c 20 69 6e 64 20 20 |rderly r|el ind |
|00014f30| 20 20 2a 2f 0a 7d 3b 0a | 0a 74 69 6f 6e 20 20 20 | */.};.|.tion |
|00014f40| 20 2a 2f 0a 09 73 74 72 | 75 63 74 20 54 5f 65 78 | */..str|uct T_ex|
|00014f50| 64 61 74 61 5f 69 6e 64 | 09 65 78 64 61 74 61 5f |data_ind|.exdata_|
|00014f60| 69 6e 64 3b 09 2f 2a 20 | 65 78 70 65 64 69 74 65 |ind;./* |expedite|
|00014f70| 64 20 64 61 74 61 20 69 | 6e 64 20 2a 2f 0a 09 73 |d data i|nd */..s|
|00014f80| 74 72 75 63 74 20 54 5f | 69 6e 66 6f 5f 61 63 6b |truct T_|info_ack|
|00014f90| 09 69 6e 66 6f 5f 61 63 | 6b 3b 09 2f 2a 20 69 6e |.info_ac|k;./* in|
|00014fa0| 66 6f 20 61 63 6b 09 20 | 20 20 20 20 20 2a 2f 0a |fo ack. | */.|
|00014fb0| 09 73 74 72 75 63 74 20 | 54 5f 62 69 6e 64 5f 61 |.struct |T_bind_a|
|00014fc0| 63 6b 09 62 69 6e 64 5f | 61 63 6b 3b 09 2f 2a 20 |ck.bind_|ack;./* |
|00014fd0| 62 69 6e 64 20 61 63 6b | 09 20 20 20 20 20 20 2a |bind ack|. *|
|00014fe0| 2f 0a 09 73 74 72 75 63 | 74 20 54 5f 06 00 03 02 |/..struc|t T_....|
|00014ff0| 00 ba 5d 00 02 00 18 2e | 2f 75 73 72 2f 69 6e 63 |..].....|/usr/inc|
|00015000| 6c 75 64 65 2f 73 79 73 | 2f 74 65 78 74 2e 68 01 |lude/sys|/text.h.|
|00015010| 26 00 00 00 38 20 20 20 | 34 34 34 20 00 20 20 20 |&...8 |444 . |
|00015020| 20 20 30 20 00 20 20 20 | 20 20 30 20 00 20 20 20 | 0 . | 0 . |
|00015030| 20 20 20 20 32 36 37 31 | 20 20 34 32 36 36 36 31 | 2671| 426661|
|00015040| 35 37 30 37 20 20 31 30 | 33 37 32 00 20 01 b2 00 |5707 10|372. ...|
|00015050| 00 06 00 04 02 00 29 01 | 02 00 23 69 66 6e 64 65 |......).|..#ifnde|
|00015060| 66 20 4d 5f 49 33 38 36 | 0a 2f 2a 0a 20 2a 09 40 |f M_I386|./*. *.@|
|00015070| 28 23 29 20 74 65 78 74 | 2e 68 20 32 2e 32 20 38 |(#) text|.h 2.2 8|
|00015080| 38 2f 30 37 2f 31 33 20 | 0a 20 2a 0a 20 2a 09 43 |8/07/13 |. *. *.C|
|00015090| 6f 70 79 72 69 67 68 74 | 20 28 43 29 20 54 68 65 |opyright| (C) The|
|000150a0| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|000150b0| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|000150c0| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2c 20 31 |5, 1986,| 1987, 1|
|000150d0| 39 38 38 2e 0a 20 2a 09 | 43 6f 70 79 72 69 67 68 |988.. *.|Copyrigh|
|000150e0| 74 20 28 43 29 20 4d 69 | 63 72 6f 73 6f 66 74 20 |t (C) Mi|crosoft |
|000150f0| 43 6f 72 70 6f 72 61 74 | 69 6f 6e 2c 20 31 39 38 |Corporat|ion, 198|
|00015100| 34 2c 20 31 39 38 35 2c | 20 31 39 38 36 2c 20 31 |4, 1985,| 1986, 1|
|00015110| 39 38 37 2c 20 31 39 38 | 38 2e 0a 20 2a 09 54 68 |987, 198|8.. *.Th|
|00015120| 69 73 20 4d 6f 64 75 6c | 65 20 63 6f 6e 74 61 69 |is Modul|e contai|
|00015130| 6e 73 20 50 72 6f 70 72 | 69 65 74 61 72 79 20 49 |ns Propr|ietary I|
|00015140| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 6f 66 0a 20 2a |nformati|on of. *|
|00015150| 09 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 |.The San|ta Cruz |
|00015160| 4f 70 65 72 61 74 69 6f | 6e 2c 20 4d 69 63 72 6f |Operatio|n, Micro|
|00015170| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|00015180| 0a 20 2a 09 61 6e 64 20 | 41 54 26 54 2c 20 61 6e |. *.and |AT&T, an|
|00015190| 64 20 73 68 6f 75 6c 64 | 20 62 65 20 74 72 65 61 |d should| be trea|
|000151a0| 74 65 64 20 61 73 20 43 | 6f 6e 66 69 64 65 6e 74 |ted as C|onfident|
|000151b0| 69 61 6c 2e 0a 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |ial.. */|../*. * |
|000151c0| 54 65 78 74 20 73 74 72 | 75 63 74 75 72 65 2e 0a |Text str|ucture..|
|000151d0| 20 2a 20 4f 6e 65 20 61 | 6c 6c 6f 63 61 74 65 64 | * One a|llocated|
|000151e0| 20 70 65 72 20 70 75 72 | 65 20 70 72 6f 63 65 64 | per pur|e proced|
|000151f0| 75 72 65 20 6f 6e 20 73 | 77 61 70 20 64 65 76 69 |ure on s|wap devi|
|00015200| 63 65 2e 0a 20 2a 20 4d | 61 6e 69 70 75 6c 61 74 |ce.. * M|anipulat|
|00015210| 65 64 20 62 79 20 74 65 | 78 74 2e 63 0a 20 2a 2f |ed by te|xt.c. */|
|00015220| 0a 73 74 72 75 63 74 20 | 74 65 78 74 0a 7b 0a 09 |.struct |text.{..|
|00015230| 73 68 6f 72 74 09 78 5f | 64 61 64 64 72 3b 20 20 |short.x_|daddr; |
|00015240| 20 20 20 2f 2a 20 64 69 | 73 6b 20 61 64 64 72 65 | /* di|sk addre|
|00015250| 73 73 20 6f 66 20 73 65 | 67 6d 06 00 05 02 00 66 |ss of se|gm.....f|
|00015260| 01 02 00 65 6e 74 20 28 | 72 65 6c 61 74 69 76 65 |...ent (|relative|
|00015270| 20 74 6f 20 73 77 70 6c | 6f 29 20 2a 2f 0a 09 73 | to swpl|o) */..s|
|00015280| 68 6f 72 74 09 78 5f 73 | 69 7a 65 3b 09 09 2f 2a |hort.x_s|ize;../*|
|00015290| 20 73 69 7a 65 20 28 63 | 6c 69 63 6b 73 29 20 2a | size (c|licks) *|
|000152a0| 2f 0a 23 69 66 64 65 66 | 20 4d 5f 49 33 38 36 0a |/.#ifdef| M_I386.|
|000152b0| 09 73 74 72 75 63 74 20 | 70 72 6f 63 20 2a 78 5f |.struct |proc *x_|
|000152c0| 63 61 64 64 72 3b 09 2f | 2a 20 70 74 72 20 74 6f |caddr;./|* ptr to|
|000152d0| 20 6c 69 6e 6b 65 64 20 | 70 72 6f 63 2c 20 69 66 | linked |proc, if|
|000152e0| 20 6c 6f 61 64 65 64 20 | 2a 2f 0a 23 65 6c 73 65 | loaded |*/.#else|
|000152f0| 0a 09 6d 6c 6f 63 5f 74 | 09 78 5f 63 61 64 64 72 |..mloc_t|.x_caddr|
|00015300| 3b 09 2f 2a 20 70 74 72 | 20 74 6f 20 6c 69 6e 6b |;./* ptr| to link|
|00015310| 65 64 20 70 72 6f 63 2c | 20 69 66 20 6c 6f 61 64 |ed proc,| if load|
|00015320| 65 64 20 2a 2f 0a 23 65 | 6e 64 69 66 0a 09 69 6e |ed */.#e|ndif..in|
|00015330| 6f 64 65 70 5f 74 20 78 | 5f 69 70 74 72 3b 09 2f |odep_t x|_iptr;./|
|00015340| 2a 20 69 6e 6f 64 65 20 | 6f 66 20 70 72 6f 74 6f |* inode |of proto|
|00015350| 74 79 70 65 20 2a 2f 0a | 09 63 68 61 72 09 78 5f |type */.|.char.x_|
|00015360| 63 6f 75 6e 74 3b 09 2f | 2a 20 72 65 66 65 72 65 |count;./|* refere|
|00015370| 6e 63 65 20 63 6f 75 6e | 74 20 2a 2f 0a 09 63 68 |nce coun|t */..ch|
|00015380| 61 72 09 78 5f 63 63 6f | 75 6e 74 3b 09 2f 2a 20 |ar.x_cco|unt;./* |
|00015390| 6e 75 6d 62 65 72 20 6f | 66 20 6c 6f 61 64 65 64 |number o|f loaded|
|000153a0| 20 72 65 66 65 72 65 6e | 63 65 73 20 2a 2f 0a 09 | referen|ces */..|
|000153b0| 63 68 61 72 09 78 5f 66 | 6c 61 67 3b 09 09 2f 2a |char.x_f|lag;../*|
|000153c0| 20 74 72 61 63 65 64 2c | 20 77 72 69 74 74 65 6e | traced,| written|
|000153d0| 20 66 6c 61 67 73 20 2a | 2f 0a 09 63 68 61 72 09 | flags *|/..char.|
|000153e0| 78 5f 6c 63 6f 75 6e 74 | 3b 09 2f 2a 20 6c 6f 63 |x_lcount|;./* loc|
|000153f0| 6b 20 63 6f 75 6e 74 20 | 2a 2f 0a 09 75 6e 73 69 |k count |*/..unsi|
|00015400| 67 6e 65 64 20 73 68 6f | 72 74 09 78 5f 66 63 73 |gned sho|rt.x_fcs|
|00015410| 65 6c 3b 2f 2a 20 66 69 | 72 73 74 20 63 6f 64 65 |el;/* fi|rst code|
|00015420| 20 73 65 6c 65 63 74 6f | 72 20 2a 2f 0a 09 75 6e | selecto|r */..un|
|00015430| 73 69 67 6e 65 64 20 73 | 68 6f 72 74 09 78 5f 6c |signed s|hort.x_l|
|00015440| 73 69 7a 65 3b 2f 2a 20 | 73 69 7a 65 20 6f 66 20 |size;/* |size of |
|00015450| 74 68 65 20 74 65 78 74 | 20 6c 64 74 20 69 6e 20 |the text| ldt in |
|00015460| 62 79 74 06 00 06 02 00 | bf ff 01 02 00 ff 65 73 |byt.....|......es|
|00015470| 20 2a 2f 0a 7d 3b 0a 0a | 65 78 74 65 72 6e 20 73 | */.};..|extern s|
|00015480| 74 72 75 63 74 20 74 65 | 78 74 20 74 65 78 74 5b |truct te|xt text[|
|00015490| 5d 3b 0a 0a 23 64 65 66 | 69 6e 65 09 58 54 52 43 |];..#def|ine.XTRC|
|000154a0| 09 30 31 09 09 2f 2a 20 | 54 65 78 74 20 6d 61 79 |.01../* |Text may|
|000154b0| 20 62 65 20 77 72 69 74 | 74 65 6e 2c 20 65 78 63 | be writ|ten, exc|
|000154c0| 6c 75 73 69 76 65 20 75 | 73 65 20 2a 2f 0a 23 64 |lusive u|se */.#d|
|000154d0| 65 66 69 6e 65 09 58 57 | 52 49 54 09 30 32 09 09 |efine.XW|RIT.02..|
|000154e0| 2f 2a 20 54 65 78 74 20 | 77 72 69 74 74 65 6e 20 |/* Text |written |
|000154f0| 69 6e 74 6f 2c 20 6d 75 | 73 74 20 73 77 61 70 20 |into, mu|st swap |
|00015500| 6f 75 74 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 58 |out */.#|define.X|
|00015510| 4c 4f 41 44 09 30 34 09 | 09 2f 2a 20 43 75 72 72 |LOAD.04.|./* Curr|
|00015520| 65 6e 74 6c 79 20 62 65 | 69 6e 67 20 72 65 61 64 |ently be|ing read|
|00015530| 20 66 72 6f 6d 20 66 69 | 6c 65 20 2a 2f 0a 23 64 | from fi|le */.#d|
|00015540| 65 66 69 6e 65 09 58 4c | 4f 43 4b 09 30 31 30 09 |efine.XL|OCK.010.|
|00015550| 09 2f 2a 20 42 65 69 6e | 67 20 73 77 61 70 70 65 |./* Bein|g swappe|
|00015560| 64 20 69 6e 20 6f 72 20 | 6f 75 74 20 2a 00 87 2f |d in or |out *../|
|00015570| 0a 23 64 65 66 69 6e 65 | 09 58 57 41 4e 54 09 30 |.#define|.XWANT.0|
|00015580| 32 30 09 09 2f 2a 20 57 | 61 6e 74 65 64 20 66 6f |20../* W|anted fo|
|00015590| 72 20 73 77 61 70 70 69 | 6e 67 20 2a 2f 0a 23 64 |r swappi|ng */.#d|
|000155a0| 65 66 69 6e 65 20 58 4c | 41 52 47 45 20 20 30 34 |efine XL|ARGE 04|
|000155b0| 30 09 09 2f 2a 20 6c 61 | 72 67 65 20 74 65 78 74 |0../* la|rge text|
|000155c0| 20 73 65 67 6d 65 6e 74 | 20 32 38 36 2f 38 36 20 | segment| 286/86 |
|000155d0| 75 73 65 73 20 74 68 69 | 73 20 66 6c 61 67 20 2a |uses thi|s flag *|
|000155e0| 2f 0a 23 64 65 66 69 6e | 65 20 58 46 50 55 20 20 |/.#defin|e XFPU |
|000155f0| 20 20 30 31 30 30 01 06 | 20 20 00 6e 2f 2a 20 74 | 0100..| .n/* t|
|00015600| 65 78 74 20 75 73 65 73 | 20 66 6c 6f 61 74 69 6e |ext uses| floatin|
|00015610| 67 20 70 6f 69 6e 74 20 | 2a 2f 0a 0a 23 65 6e 64 |g point |*/..#end|
|00015620| 69 66 0a 63 6f 64 65 20 | 73 65 6c 65 63 74 6f 72 |if.code |selector|
|00015630| 20 2a 2f 0a 09 75 6e 73 | 69 67 6e 65 64 20 73 68 | */..uns|igned sh|
|00015640| 6f 72 74 09 78 5f 6c 73 | 69 7a 65 3b 2f 2a 20 73 |ort.x_ls|ize;/* s|
|00015650| 69 7a 65 20 6f 66 20 74 | 68 65 20 74 65 78 74 20 |ize of t|he text |
|00015660| 6c 64 74 20 69 6e 20 62 | 79 74 06 00 07 02 00 49 |ldt in b|yt.....I|
|00015670| 5f 00 02 00 1a 2e 2f 75 | 73 72 2f 69 6e 63 6c 75 |_...../u|sr/inclu|
|00015680| 64 65 2f 73 79 73 2f 74 | 65 72 6d 69 6f 2e 68 01 |de/sys/t|ermio.h.|
|00015690| 25 00 00 00 38 20 20 20 | 34 34 34 20 00 20 20 20 |%...8 |444 . |
|000156a0| 20 20 30 20 00 20 20 20 | 20 20 30 20 00 20 20 20 | 0 . | 0 . |
|000156b0| 20 20 20 31 33 32 31 33 | 20 20 34 32 34 34 33 34 | 13213| 424434|
|000156c0| 30 31 36 30 20 20 31 30 | 36 37 37 00 20 01 b2 00 |0160 10|677. ...|
|000156d0| 00 06 00 08 02 00 05 01 | 02 00 2f 2a 0a 20 2a 09 |........|../*. *.|
|000156e0| 40 28 23 29 20 74 65 72 | 6d 69 6f 2e 68 20 32 2e |@(#) ter|mio.h 2.|
|000156f0| 32 20 38 38 2f 30 35 2f | 31 38 20 0a 20 2a 0a 20 |2 88/05/|18 . *. |
|00015700| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 28 43 29 20 |*.Copyri|ght (C) |
|00015710| 54 68 65 20 53 61 6e 74 | 61 20 43 72 75 7a 20 4f |The Sant|a Cruz O|
|00015720| 70 65 72 61 74 69 6f 6e | 2c 20 31 39 38 34 2c 20 |peration|, 1984, |
|00015730| 31 39 38 35 2c 20 31 39 | 38 36 2c 20 31 39 38 37 |1985, 19|86, 1987|
|00015740| 2c 20 31 39 38 38 2e 0a | 20 2a 09 43 6f 70 79 72 |, 1988..| *.Copyr|
|00015750| 69 67 68 74 20 28 43 29 | 20 4d 69 63 72 6f 73 6f |ight (C)| Microso|
|00015760| 66 74 20 43 6f 72 70 6f | 72 61 74 69 6f 6e 2c 20 |ft Corpo|ration, |
|00015770| 31 39 38 34 2c 20 31 39 | 38 35 2c 20 31 39 38 36 |1984, 19|85, 1986|
|00015780| 2c 20 31 39 38 37 2c 20 | 31 39 38 38 2e 0a 20 2a |, 1987, |1988.. *|
|00015790| 09 54 68 69 73 20 4d 6f | 64 75 6c 65 20 63 6f 6e |.This Mo|dule con|
|000157a0| 74 61 69 6e 73 20 50 72 | 6f 70 72 69 65 74 61 72 |tains Pr|oprietar|
|000157b0| 79 20 49 6e 66 6f 72 6d | 61 74 69 6f 6e 20 6f 66 |y Inform|ation of|
|000157c0| 0a 20 2a 09 54 68 65 20 | 53 61 6e 74 61 20 43 72 |. *.The |Santa Cr|
|000157d0| 75 7a 20 4f 70 65 72 61 | 74 69 6f 6e 2c 20 4d 69 |uz Opera|tion, Mi|
|000157e0| 63 72 6f 73 6f 66 74 20 | 43 6f 72 70 6f 72 61 74 |crosoft |Corporat|
|000157f0| 69 6f 6e 0a 20 2a 09 61 | 6e 64 20 41 54 26 54 2c |ion. *.a|nd AT&T,|
|00015800| 20 61 6e 64 20 73 68 6f | 75 6c 64 20 62 65 20 74 | and sho|uld be t|
|00015810| 72 65 61 74 65 64 20 61 | 73 20 43 6f 6e 66 69 64 |reated a|s Confid|
|00015820| 65 6e 74 69 61 6c 2e 0a | 20 2a 2f 0a 0a 2f 2a 0a |ential..| */../*.|
|00015830| 20 2a 20 54 48 49 53 20 | 46 49 4c 45 20 43 4f 4e | * THIS |FILE CON|
|00015840| 54 41 49 4e 53 20 43 4f | 44 45 20 57 48 49 43 48 |TAINS CO|DE WHICH|
|00015850| 20 49 53 20 44 45 53 49 | 47 4e 45 44 20 54 4f 20 | IS DESI|GNED TO |
|00015860| 42 45 0a 20 2a 20 50 4f | 52 54 41 42 4c 45 20 42 |BE. * PO|RTABLE B|
|00015870| 45 54 57 45 45 4e 20 44 | 49 46 46 45 52 45 4e 54 |ETWEEN D|IFFERENT|
|00015880| 20 4d 41 43 48 49 4e 45 | 20 41 52 43 48 49 54 45 | MACHINE| ARCHITE|
|00015890| 43 54 55 52 45 53 0a 20 | 2a 20 41 4e 44 20 43 4f |CTURES. |* AND CO|
|000158a0| 4e 46 49 47 55 52 41 54 | 49 4f 4e 53 2e 20 49 54 |NFIGURAT|IONS. IT|
|000158b0| 20 53 48 4f 55 4c 44 20 | 4e 4f 54 20 52 45 51 55 | SHOULD |NOT REQU|
|000158c0| 49 52 45 20 41 4e 59 0a | 20 2a 20 4d 4f 44 49 46 |IRE ANY.| * MODIF|
|000158d0| 49 43 41 54 49 4f 4e 53 | 20 57 06 00 09 02 00 6d |ICATIONS| W.....m|
|000158e0| 01 02 00 48 45 4e 20 41 | 44 41 50 54 49 4e 47 20 |...HEN A|DAPTING |
|000158f0| 58 45 4e 49 58 20 54 4f | 20 4e 45 57 20 48 41 52 |XENIX TO| NEW HAR|
|00015900| 44 57 41 52 45 2e 0a 20 | 2a 2f 0a 0a 23 64 65 66 |DWARE.. |*/..#def|
|00015910| 69 6e 65 09 49 4f 43 54 | 59 50 45 09 30 78 66 66 |ine.IOCT|YPE.0xff|
|00015920| 30 30 0a 0a 23 64 65 66 | 69 6e 65 09 54 49 4f 43 |00..#def|ine.TIOC|
|00015930| 09 28 27 54 27 3c 3c 38 | 29 0a 23 64 65 66 69 6e |.('T'<<8|).#defin|
|00015940| 65 09 54 43 47 45 54 41 | 09 28 54 49 4f 43 7c 31 |e.TCGETA|.(TIOC|1|
|00015950| 29 0a 23 64 65 66 69 6e | 65 09 54 43 53 45 54 41 |).#defin|e.TCSETA|
|00015960| 09 28 54 49 4f 43 7c 32 | 29 0a 23 64 65 66 69 6e |.(TIOC|2|).#defin|
|00015970| 65 09 54 43 53 45 54 41 | 57 09 28 54 49 4f 43 7c |e.TCSETA|W.(TIOC||
|00015980| 33 29 0a 23 64 65 66 69 | 6e 65 09 54 43 53 45 54 |3).#defi|ne.TCSET|
|00015990| 41 46 09 28 54 49 4f 43 | 7c 34 29 0a 23 64 65 66 |AF.(TIOC||4).#def|
|000159a0| 69 6e 65 09 54 43 53 42 | 52 4b 09 28 54 49 4f 43 |ine.TCSB|RK.(TIOC|
|000159b0| 7c 35 29 0a 23 64 65 66 | 69 6e 65 09 54 43 58 4f ||5).#def|ine.TCXO|
|000159c0| 4e 43 09 28 54 49 4f 43 | 7c 36 29 0a 23 64 65 66 |NC.(TIOC||6).#def|
|000159d0| 69 6e 65 09 54 43 46 4c | 53 48 09 28 54 49 4f 43 |ine.TCFL|SH.(TIOC|
|000159e0| 7c 37 29 0a 0a 23 64 65 | 66 69 6e 65 09 54 43 44 ||7)..#de|fine.TCD|
|000159f0| 53 45 54 09 28 54 49 4f | 43 7c 33 32 29 0a 0a 23 |SET.(TIO|C|32)..#|
|00015a00| 69 6e 63 6c 75 64 65 20 | 22 6d 61 63 68 64 65 70 |include |"machdep|
|00015a10| 2e 68 22 0a 0a 23 64 65 | 66 69 6e 65 09 4c 44 49 |.h"..#de|fine.LDI|
|00015a20| 4f 43 09 28 27 44 27 3c | 3c 38 29 0a 23 64 65 66 |OC.('D'<|<8).#def|
|00015a30| 69 6e 65 09 4c 44 4f 50 | 45 4e 09 28 4c 44 49 4f |ine.LDOP|EN.(LDIO|
|00015a40| 43 7c 30 29 0a 23 64 65 | 66 69 6e 65 09 4c 44 43 |C|0).#de|fine.LDC|
|00015a50| 4c 4f 53 45 09 28 4c 44 | 49 4f 43 7c 31 29 0a 23 |LOSE.(LD|IOC|1).#|
|00015a60| 64 65 66 69 6e 65 09 4c | 44 43 48 47 09 28 4c 44 |define.L|DCHG.(LD|
|00015a70| 49 4f 43 7c 32 29 0a 23 | 64 65 66 69 6e 65 09 4c |IOC|2).#|define.L|
|00015a80| 44 47 45 54 54 09 28 4c | 44 49 4f 43 7c 38 29 0a |DGETT.(L|DIOC|8).|
|00015a90| 23 64 65 66 69 6e 65 09 | 4c 44 53 45 54 54 09 28 |#define.|LDSETT.(|
|00015aa0| 4c 44 49 4f 43 7c 39 29 | 0a 0a 23 64 65 66 69 6e |LDIOC|9)|..#defin|
|00015ab0| 65 09 74 49 4f 43 09 28 | 27 74 27 3c 3c 38 29 0a |e.tIOC.(|'t'<<8).|
|00015ac0| 23 64 65 66 69 6e 65 20 | 54 49 4f 43 47 45 54 44 |#define |TIOCGETD|
|00015ad0| 20 20 20 20 20 20 20 20 | 28 74 49 4f 43 7c 30 29 | |(tIOC|0)|
|00015ae0| 20 20 20 06 00 0a 02 00 | 80 ad 01 02 01 06 20 20 | .....|...... |
|00015af0| 00 1a 20 2f 2a 20 56 37 | 20 2a 2f 0a 23 64 65 66 |.. /* V7| */.#def|
|00015b00| 69 6e 65 20 54 49 4f 43 | 53 45 54 44 01 04 20 20 |ine TIOC|SETD.. |
|00015b10| 00 08 28 74 49 4f 43 7c | 31 29 01 08 20 20 00 19 |..(tIOC||1).. ..|
|00015b20| 2f 2a 20 56 37 20 2a 2f | 0a 23 64 65 66 69 6e 65 |/* V7 */|.#define|
|00015b30| 20 54 49 4f 43 48 50 43 | 4c 01 04 20 20 00 08 28 | TIOCHPC|L.. ..(|
|00015b40| 74 49 4f 43 7c 32 29 01 | 08 20 20 00 19 2f 2a 20 |tIOC|2).|. ../* |
|00015b50| 56 37 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 49 |V7 */.#d|efine TI|
|00015b60| 4f 43 47 45 54 50 01 04 | 20 20 00 19 28 74 49 4f |OCGETP..| ..(tIO|
|00015b70| 43 7c 38 29 0a 23 64 65 | 66 69 6e 65 20 54 49 4f |C|8).#de|fine TIO|
|00015b80| 43 53 45 54 50 01 04 20 | 20 00 19 28 74 49 4f 43 |CSETP.. | ..(tIOC|
|00015b90| 7c 39 29 0a 23 64 65 66 | 69 6e 65 20 54 49 4f 43 ||9).#def|ine TIOC|
|00015ba0| 53 45 54 4e 01 04 20 20 | 00 09 28 74 49 4f 43 7c |SETN.. |..(tIOC||
|00015bb0| 31 30 29 01 07 20 20 00 | 1a 20 2f 2a 20 56 37 20 |10).. .|. /* V7 |
|00015bc0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 54 49 4f 43 45 |*/.#defi|ne TIOCE|
|00015bd0| 58 43 4c 01 04 20 20 00 | 09 28 74 49 4f 43 7c 31 |XCL.. .|.(tIOC|1|
|00015be0| 33 29 01 07 20 20 00 1a | 20 2f 2a 20 56 37 20 2a |3).. ..| /* V7 *|
|00015bf0| 2f 0a 23 64 65 66 69 6e | 65 20 54 49 4f 43 4e 58 |/.#defin|e TIOCNX|
|00015c00| 43 4c 01 04 20 20 00 09 | 28 74 49 4f 43 7c 31 34 |CL.. ..|(tIOC|14|
|00015c10| 29 01 07 20 20 00 2b 20 | 2f 2a 20 56 37 20 2a 2f |).. .+ |/* V7 */|
|00015c20| 0a 23 64 65 66 69 6e 65 | 20 54 49 4f 43 46 4c 55 |.#define| TIOCFLU|
|00015c30| 53 48 20 20 20 20 20 20 | 20 28 74 49 4f 43 7c 31 |SH | (tIOC|1|
|00015c40| 36 29 01 07 20 20 00 1a | 20 2f 2a 20 56 37 20 2a |6).. ..| /* V7 *|
|00015c50| 2f 0a 23 64 65 66 69 6e | 65 20 54 49 4f 43 53 45 |/.#defin|e TIOCSE|
|00015c60| 54 43 01 04 20 20 00 09 | 28 74 49 4f 43 7c 31 37 |TC.. ..|(tIOC|17|
|00015c70| 29 01 07 20 20 00 1a 20 | 2f 2a 20 56 37 20 2a 2f |).. .. |/* V7 */|
|00015c80| 0a 23 64 65 66 69 6e 65 | 20 54 49 4f 43 47 45 54 |.#define| TIOCGET|
|00015c90| 43 01 04 20 20 00 01 28 | 06 00 0b 02 00 85 e3 01 |C.. ..(|........|
|00015ca0| 02 00 08 74 49 4f 43 7c | 31 38 29 01 07 20 20 00 |...tIOC||18).. .|
|00015cb0| fe 20 2f 2a 20 56 37 20 | 2a 2f 0a 0a 23 64 65 66 |. /* V7 |*/..#def|
|00015cc0| 69 6e 65 09 4c 49 4f 43 | 09 28 27 6c 27 3c 3c 38 |ine.LIOC|.('l'<<8|
|00015cd0| 29 0a 23 64 65 66 69 6e | 65 09 4c 49 4f 43 47 45 |).#defin|e.LIOCGE|
|00015ce0| 54 50 09 28 4c 49 4f 43 | 7c 31 29 0a 23 64 65 66 |TP.(LIOC||1).#def|
|00015cf0| 69 6e 65 09 4c 49 4f 43 | 53 45 54 50 09 28 4c 49 |ine.LIOC|SETP.(LI|
|00015d00| 4f 43 7c 32 29 0a 23 64 | 65 66 69 6e 65 09 4c 49 |OC|2).#d|efine.LI|
|00015d10| 4f 43 47 45 54 53 09 28 | 4c 49 4f 43 7c 35 29 0a |OCGETS.(|LIOC|5).|
|00015d20| 23 64 65 66 69 6e 65 09 | 4c 49 4f 43 53 45 54 53 |#define.|LIOCSETS|
|00015d30| 09 28 4c 49 4f 43 7c 36 | 29 0a 0a 23 64 65 66 69 |.(LIOC|6|)..#defi|
|00015d40| 6e 65 09 44 49 4f 43 09 | 28 27 64 27 3c 3c 38 29 |ne.DIOC.|('d'<<8)|
|00015d50| 0a 23 64 65 66 69 6e 65 | 09 44 49 4f 43 47 45 54 |.#define|.DIOCGET|
|00015d60| 43 09 28 44 49 4f 43 7c | 31 29 0a 23 64 65 66 69 |C.(DIOC||1).#defi|
|00015d70| 6e 65 09 44 49 4f 43 47 | 45 54 42 09 28 44 49 4f |ne.DIOCG|ETB.(DIO|
|00015d80| 43 7c 32 29 0a 23 64 65 | 66 69 6e 65 09 44 49 4f |C|2).#de|fine.DIO|
|00015d90| 43 53 45 54 45 09 28 44 | 49 4f 43 7c 33 29 0a 23 |CSETE.(D|IOC|3).#|
|00015da0| 64 65 66 69 6e 65 20 44 | 49 4f 43 47 45 54 50 01 |define D|IOCGETP.|
|00015db0| 04 20 20 00 08 28 44 49 | 4f 43 7c 38 29 01 08 20 |. ..(DI|OC|8).. |
|00015dc0| 20 00 19 2f 2a 20 56 37 | 20 2a 2f 0a 23 64 65 66 | ../* V7| */.#def|
|00015dd0| 69 6e 65 20 44 49 4f 43 | 53 45 54 50 01 04 20 20 |ine DIOC|SETP.. |
|00015de0| 00 08 28 44 49 4f 43 7c | 39 29 01 08 20 20 00 93 |..(DIOC||9).. ..|
|00015df0| 2f 2a 20 56 37 20 2a 2f | 0a 0a 23 64 65 66 69 6e |/* V7 */|..#defin|
|00015e00| 65 09 56 50 4d 09 28 27 | 56 27 3c 3c 38 29 0a 23 |e.VPM.('|V'<<8).#|
|00015e10| 64 65 66 69 6e 65 09 56 | 50 4d 43 4d 44 09 28 56 |define.V|PMCMD.(V|
|00015e20| 50 4d 7c 38 29 0a 23 64 | 65 66 69 6e 65 09 56 50 |PM|8).#d|efine.VP|
|00015e30| 4d 45 52 52 53 09 28 56 | 50 4d 7c 39 29 0a 23 64 |MERRS.(V|PM|9).#d|
|00015e40| 65 66 69 6e 65 09 56 50 | 4d 52 50 54 09 28 56 50 |efine.VP|MRPT.(VP|
|00015e50| 4d 7c 31 30 29 0a 23 64 | 65 66 69 6e 65 09 56 50 |M|10).#d|efine.VP|
|00015e60| 4d 54 52 43 4f 09 28 56 | 50 4d 7c 31 36 29 0a 0a |MTRCO.(V|PM|16)..|
|00015e70| 23 64 65 66 69 6e 65 20 | 46 49 4f 43 4c 45 58 20 |#define |FIOCLEX |
|00015e80| 20 20 20 06 00 0c 02 00 | 2e ef 01 02 00 11 20 20 | .....|...... |
|00015e90| 20 20 20 28 28 27 66 27 | 3c 3c 38 29 7c 31 29 01 | (('f'|<<8)|1).|
|00015ea0| 06 20 20 00 19 2f 2a 20 | 56 37 20 2a 2f 0a 23 64 |. ../* |V7 */.#d|
|00015eb0| 65 66 69 6e 65 20 46 49 | 4f 4e 43 4c 45 58 01 04 |efine FI|ONCLEX..|
|00015ec0| 20 20 00 0c 28 28 27 66 | 27 3c 3c 38 29 7c 32 29 | ..(('f|'<<8)|2)|
|00015ed0| 01 06 20 20 00 19 2f 2a | 20 56 37 20 2a 2f 0a 23 |.. ../*| V7 */.#|
|00015ee0| 64 65 66 69 6e 65 20 46 | 49 4f 52 44 43 48 4b 01 |define F|IORDCHK.|
|00015ef0| 04 20 20 00 0c 28 28 27 | 66 27 3c 3c 38 29 7c 33 |. ..(('|f'<<8)|3|
|00015f00| 29 01 06 20 20 00 ff 2f | 2a 20 56 37 20 2a 2f 0a |).. ../|* V7 */.|
|00015f10| 0a 23 64 65 66 69 6e 65 | 09 4e 43 43 09 38 0a 0a |.#define|.NCC.8..|
|00015f20| 2f 2a 20 63 6f 6e 74 72 | 6f 6c 20 63 68 61 72 61 |/* contr|ol chara|
|00015f30| 63 74 65 72 73 20 2a 2f | 0a 23 64 65 66 69 6e 65 |cters */|.#define|
|00015f40| 09 56 49 4e 54 52 09 30 | 0a 23 64 65 66 69 6e 65 |.VINTR.0|.#define|
|00015f50| 09 56 51 55 49 54 09 31 | 0a 23 64 65 66 69 6e 65 |.VQUIT.1|.#define|
|00015f60| 09 56 45 52 41 53 45 09 | 32 0a 23 64 65 66 69 6e |.VERASE.|2.#defin|
|00015f70| 65 09 56 4b 49 4c 4c 09 | 33 0a 23 64 65 66 69 6e |e.VKILL.|3.#defin|
|00015f80| 65 09 56 45 4f 46 09 34 | 0a 23 64 65 66 69 6e 65 |e.VEOF.4|.#define|
|00015f90| 09 56 45 4f 4c 09 35 0a | 23 64 65 66 69 6e 65 09 |.VEOL.5.|#define.|
|00015fa0| 56 45 4f 4c 32 09 36 0a | 23 64 65 66 69 6e 65 09 |VEOL2.6.|#define.|
|00015fb0| 56 4d 49 4e 09 34 0a 23 | 64 65 66 69 6e 65 09 56 |VMIN.4.#|define.V|
|00015fc0| 54 49 4d 45 09 35 0a 23 | 64 65 66 69 6e 65 09 56 |TIME.5.#|define.V|
|00015fd0| 53 57 54 43 48 09 37 0a | 23 64 65 66 69 6e 65 09 |SWTCH.7.|#define.|
|00015fe0| 56 43 45 4f 46 09 4e 43 | 43 09 09 2f 2a 20 52 45 |VCEOF.NC|C../* RE|
|00015ff0| 53 45 52 56 45 44 20 74 | 72 75 65 20 45 4f 46 20 |SERVED t|rue EOF |
|00016000| 63 68 61 72 20 28 00 72 | 56 37 20 63 6f 6d 70 61 |char (.r|V7 compa|
|00016010| 74 61 62 69 6c 69 74 79 | 29 20 2a 2f 0a 23 64 65 |tability|) */.#de|
|00016020| 66 69 6e 65 09 56 43 45 | 4f 4c 09 28 4e 43 43 20 |fine.VCE|OL.(NCC |
|00016030| 2b 20 31 29 09 2f 2a 20 | 52 45 53 45 52 56 45 44 |+ 1)./* |RESERVED|
|00016040| 20 74 72 75 65 20 45 4f | 4c 20 63 68 61 72 20 2a | true EO|L char *|
|00016050| 2f 0a 0a 23 64 65 66 69 | 6e 65 09 43 4e 55 4c 09 |/..#defi|ne.CNUL.|
|00016060| 30 0a 23 64 65 66 69 6e | 65 09 43 44 45 4c 09 30 |0.#defin|e.CDEL.0|
|00016070| 33 37 37 0a 2f 2a 20 64 | 65 66 06 00 0d 02 00 1e |377./* d|ef......|
|00016080| 01 02 00 61 75 6c 74 20 | 63 6f 6e 74 72 6f 6c 20 |...ault |control |
|00016090| 63 68 61 72 73 20 2a 2f | 0a 23 64 65 66 69 6e 65 |chars */|.#define|
|000160a0| 09 43 45 53 43 09 27 5c | 5c 27 0a 23 64 65 66 69 |.CESC.'\|\'.#defi|
|000160b0| 6e 65 09 43 49 4e 54 52 | 09 30 31 37 37 09 2f 2a |ne.CINTR|.0177./*|
|000160c0| 20 44 45 4c 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 | DEL */.|#define.|
|000160d0| 43 51 55 49 54 09 30 33 | 34 09 2f 2a 20 46 53 2c |CQUIT.03|4./* FS,|
|000160e0| 20 63 6e 74 6c 20 7c 20 | 2a 2f 0a 23 64 65 66 69 | cntl | |*/.#defi|
|000160f0| 6e 65 20 43 45 52 41 53 | 45 20 20 27 5c 30 31 30 |ne CERAS|E '\010|
|00016100| 27 20 20 2f 2a 20 62 61 | 63 6b 73 70 20 2a 2f 0a |' /* ba|cksp */.|
|00016110| 23 64 65 66 69 6e 65 20 | 43 4b 49 4c 4c 20 20 20 |#define |CKILL |
|00016120| 27 5c 30 32 35 27 20 20 | 2f 2a 20 63 6e 74 6c 20 |'\025' |/* cntl |
|00016130| 75 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 43 45 4f |u */.#de|fine.CEO|
|00016140| 46 09 30 34 09 2f 2a 20 | 63 6e 74 6c 20 64 20 2a |F.04./* |cntl d *|
|00016150| 2f 0a 23 64 65 66 69 6e | 65 09 43 53 54 41 52 54 |/.#defin|e.CSTART|
|00016160| 09 30 32 31 09 2f 2a 20 | 63 6e 74 6c 20 71 20 2a |.021./* |cntl q *|
|00016170| 2f 0a 23 64 65 66 69 6e | 65 09 43 53 54 4f 50 09 |/.#defin|e.CSTOP.|
|00016180| 30 32 33 09 2f 2a 20 63 | 6e 74 6c 20 73 20 2a 2f |023./* c|ntl s */|
|00016190| 0a 23 64 65 66 69 6e 65 | 09 43 53 57 54 43 48 09 |.#define|.CSWTCH.|
|000161a0| 30 33 32 09 2f 2a 20 63 | 6e 74 6c 20 7a 20 2a 2f |032./* c|ntl z */|
|000161b0| 0a 23 64 65 66 69 6e 65 | 09 43 4e 53 57 54 43 48 |.#define|.CNSWTCH|
|000161c0| 09 30 0a 0a 0a 2f 2a 20 | 69 6e 70 75 74 20 6d 6f |.0.../* |input mo|
|000161d0| 64 65 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 49 |des */.#|define.I|
|000161e0| 47 4e 42 52 4b 09 30 30 | 30 30 30 30 31 0a 23 64 |GNBRK.00|00001.#d|
|000161f0| 65 66 69 6e 65 09 42 52 | 4b 49 4e 54 09 30 30 30 |efine.BR|KINT.000|
|00016200| 30 30 30 32 0a 23 64 65 | 66 69 6e 65 09 49 47 4e |0002.#de|fine.IGN|
|00016210| 50 41 52 09 30 30 30 30 | 30 30 34 0a 23 64 65 66 |PAR.0000|004.#def|
|00016220| 69 6e 65 09 50 41 52 4d | 52 4b 09 30 30 30 30 30 |ine.PARM|RK.00000|
|00016230| 31 30 0a 23 64 65 66 69 | 6e 65 09 49 4e 50 43 4b |10.#defi|ne.INPCK|
|00016240| 09 30 30 30 30 30 32 30 | 0a 23 64 65 66 69 6e 65 |.0000020|.#define|
|00016250| 09 49 53 54 52 49 50 09 | 30 30 30 30 30 34 30 0a |.ISTRIP.|0000040.|
|00016260| 23 64 65 66 69 6e 65 09 | 49 4e 4c 43 52 09 30 30 |#define.|INLCR.00|
|00016270| 30 30 31 30 30 0a 23 64 | 65 66 69 6e 65 09 49 47 |00100.#d|efine.IG|
|00016280| 4e 43 52 06 00 0e 02 00 | 9f 01 02 00 09 30 30 30 |NCR.....|.....000|
|00016290| 30 32 30 30 0a 23 64 65 | 66 69 6e 65 09 49 43 52 |0200.#de|fine.ICR|
|000162a0| 4e 4c 09 30 30 30 30 34 | 30 30 0a 23 64 65 66 69 |NL.00004|00.#defi|
|000162b0| 6e 65 09 49 55 43 4c 43 | 09 30 30 30 31 30 30 30 |ne.IUCLC|.0001000|
|000162c0| 0a 23 64 65 66 69 6e 65 | 09 49 58 4f 4e 09 30 30 |.#define|.IXON.00|
|000162d0| 30 32 30 30 30 0a 23 64 | 65 66 69 6e 65 09 49 58 |02000.#d|efine.IX|
|000162e0| 41 4e 59 09 30 30 30 34 | 30 30 30 0a 23 64 65 66 |ANY.0004|000.#def|
|000162f0| 69 6e 65 09 49 58 4f 46 | 46 09 30 30 31 30 30 30 |ine.IXOF|F.001000|
|00016300| 30 0a 23 69 66 64 65 66 | 20 56 50 49 58 0a 23 64 |0.#ifdef| VPIX.#d|
|00016310| 65 66 69 6e 65 20 44 4f | 53 4d 4f 44 45 20 30 31 |efine DO|SMODE 01|
|00016320| 30 30 30 30 30 0a 23 65 | 6e 64 69 66 20 2f 2a 20 |00000.#e|ndif /* |
|00016330| 56 50 49 58 20 2a 2f 0a | 0a 0a 2f 2a 20 6f 75 74 |VPIX */.|../* out|
|00016340| 70 75 74 20 6d 6f 64 65 | 73 20 2a 2f 0a 23 64 65 |put mode|s */.#de|
|00016350| 66 69 6e 65 09 4f 50 4f | 53 54 09 30 30 30 30 30 |fine.OPO|ST.00000|
|00016360| 30 31 0a 23 64 65 66 69 | 6e 65 09 4f 4c 43 55 43 |01.#defi|ne.OLCUC|
|00016370| 09 30 30 30 30 30 30 32 | 0a 23 64 65 66 69 6e 65 |.0000002|.#define|
|00016380| 09 4f 4e 4c 43 52 09 30 | 30 30 30 30 30 34 0a 23 |.ONLCR.0|000004.#|
|00016390| 64 65 66 69 6e 65 09 4f | 43 52 4e 4c 09 30 30 30 |define.O|CRNL.000|
|000163a0| 30 30 31 30 0a 23 64 65 | 66 69 6e 65 09 4f 4e 4f |0010.#de|fine.ONO|
|000163b0| 43 52 09 30 30 30 30 30 | 32 30 0a 23 64 65 66 69 |CR.00000|20.#defi|
|000163c0| 6e 65 09 4f 4e 4c 52 45 | 54 09 30 30 30 30 30 34 |ne.ONLRE|T.000004|
|000163d0| 30 0a 23 64 65 66 69 6e | 65 09 4f 46 49 4c 4c 09 |0.#defin|e.OFILL.|
|000163e0| 30 30 30 30 31 30 30 0a | 23 64 65 66 69 6e 65 09 |0000100.|#define.|
|000163f0| 4f 46 44 45 4c 09 30 30 | 30 30 32 30 30 0a 23 64 |OFDEL.00|00200.#d|
|00016400| 65 66 69 6e 65 09 4e 4c | 44 4c 59 09 30 30 30 30 |efine.NL|DLY.0000|
|00016410| 34 30 30 0a 23 64 65 66 | 69 6e 65 09 4e 4c 30 09 |400.#def|ine.NL0.|
|00016420| 30 0a 23 64 65 66 69 6e | 65 09 4e 4c 31 09 30 30 |0.#defin|e.NL1.00|
|00016430| 30 30 34 30 30 0a 23 64 | 65 66 69 6e 65 09 43 52 |00400.#d|efine.CR|
|00016440| 44 4c 59 09 30 30 30 33 | 30 30 30 0a 23 64 65 66 |DLY.0003|000.#def|
|00016450| 69 6e 65 09 43 52 30 09 | 30 0a 23 64 65 66 69 6e |ine.CR0.|0.#defin|
|00016460| 65 09 43 52 31 09 30 30 | 30 31 30 30 30 0a 23 64 |e.CR1.00|01000.#d|
|00016470| 65 66 69 6e 65 09 43 52 | 32 09 30 30 30 32 30 30 |efine.CR|2.000200|
|00016480| 30 0a 23 64 65 66 69 6e | 65 09 43 52 06 00 0f 02 |0.#defin|e.CR....|
|00016490| 00 6c 01 02 00 33 09 30 | 30 30 33 30 30 30 0a 23 |.l...3.0|003000.#|
|000164a0| 64 65 66 69 6e 65 09 54 | 41 42 44 4c 59 09 30 30 |define.T|ABDLY.00|
|000164b0| 31 34 30 30 30 0a 23 64 | 65 66 69 6e 65 09 54 41 |14000.#d|efine.TA|
|000164c0| 42 30 09 30 0a 23 64 65 | 66 69 6e 65 09 54 41 42 |B0.0.#de|fine.TAB|
|000164d0| 31 09 30 30 30 34 30 30 | 30 0a 23 64 65 66 69 6e |1.000400|0.#defin|
|000164e0| 65 09 54 41 42 32 09 30 | 30 31 30 30 30 30 0a 23 |e.TAB2.0|010000.#|
|000164f0| 64 65 66 69 6e 65 09 54 | 41 42 33 09 30 30 31 34 |define.T|AB3.0014|
|00016500| 30 30 30 0a 23 64 65 66 | 69 6e 65 09 42 53 44 4c |000.#def|ine.BSDL|
|00016510| 59 09 30 30 32 30 30 30 | 30 0a 23 64 65 66 69 6e |Y.002000|0.#defin|
|00016520| 65 09 42 53 30 09 30 0a | 23 64 65 66 69 6e 65 09 |e.BS0.0.|#define.|
|00016530| 42 53 31 09 30 30 32 30 | 30 30 30 0a 23 64 65 66 |BS1.0020|000.#def|
|00016540| 69 6e 65 09 56 54 44 4c | 59 09 30 30 34 30 30 30 |ine.VTDL|Y.004000|
|00016550| 30 0a 23 64 65 66 69 6e | 65 09 56 54 30 09 30 0a |0.#defin|e.VT0.0.|
|00016560| 23 64 65 66 69 6e 65 09 | 56 54 31 09 30 30 34 30 |#define.|VT1.0040|
|00016570| 30 30 30 0a 23 64 65 66 | 69 6e 65 09 46 46 44 4c |000.#def|ine.FFDL|
|00016580| 59 09 30 31 30 30 30 30 | 30 0a 23 64 65 66 69 6e |Y.010000|0.#defin|
|00016590| 65 09 46 46 30 09 30 0a | 23 64 65 66 69 6e 65 09 |e.FF0.0.|#define.|
|000165a0| 46 46 31 09 30 31 30 30 | 30 30 30 0a 0a 2f 2a 20 |FF1.0100|000../* |
|000165b0| 63 6f 6e 74 72 6f 6c 20 | 6d 6f 64 65 73 20 2a 2f |control |modes */|
|000165c0| 0a 23 64 65 66 69 6e 65 | 09 43 42 41 55 44 09 30 |.#define|.CBAUD.0|
|000165d0| 30 30 30 30 31 37 0a 23 | 64 65 66 69 6e 65 09 42 |000017.#|define.B|
|000165e0| 30 09 30 0a 23 64 65 66 | 69 6e 65 09 42 35 30 09 |0.0.#def|ine.B50.|
|000165f0| 30 30 30 30 30 30 31 0a | 23 64 65 66 69 6e 65 09 |0000001.|#define.|
|00016600| 42 37 35 09 30 30 30 30 | 30 30 32 0a 23 64 65 66 |B75.0000|002.#def|
|00016610| 69 6e 65 09 42 31 31 30 | 09 30 30 30 30 30 30 33 |ine.B110|.0000003|
|00016620| 0a 23 64 65 66 69 6e 65 | 09 42 31 33 34 09 30 30 |.#define|.B134.00|
|00016630| 30 30 30 30 34 0a 23 64 | 65 66 69 6e 65 09 42 31 |00004.#d|efine.B1|
|00016640| 35 30 09 30 30 30 30 30 | 30 35 0a 23 64 65 66 69 |50.00000|05.#defi|
|00016650| 6e 65 09 42 32 30 30 09 | 30 30 30 30 30 30 36 0a |ne.B200.|0000006.|
|00016660| 23 64 65 66 69 6e 65 09 | 42 33 30 30 09 30 30 30 |#define.|B300.000|
|00016670| 30 30 30 37 0a 23 64 65 | 66 69 6e 65 09 42 36 30 |0007.#de|fine.B60|
|00016680| 30 09 30 30 30 30 30 31 | 30 0a 23 64 65 66 69 6e |0.000001|0.#defin|
|00016690| 65 09 42 31 32 0f 06 01 | ed 06 01 01 02 00 32 01 |e.B12...|......2.|
|000166a0| 02 00 30 30 09 30 30 30 | 30 30 31 31 0a 23 64 65 |..00.000|0011.#de|
|000166b0| 66 69 6e 65 09 42 31 38 | 30 30 09 30 30 30 30 30 |fine.B18|00.00000|
|000166c0| 31 32 0a 23 64 65 66 69 | 6e 65 09 42 32 34 30 30 |12.#defi|ne.B2400|
|000166d0| 09 30 30 30 30 30 31 33 | 0a 23 64 65 66 69 6e 65 |.0000013|.#define|
|000166e0| 09 42 34 38 30 30 09 30 | 30 30 30 30 31 34 0a 23 |.B4800.0|000014.#|
|000166f0| 64 65 66 69 6e 65 09 42 | 39 36 30 30 09 30 30 30 |define.B|9600.000|
|00016700| 30 30 31 35 0a 23 64 65 | 66 69 6e 65 09 45 58 54 |0015.#de|fine.EXT|
|00016710| 41 09 30 30 30 30 30 31 | 36 0a 23 64 65 66 69 6e |A.000001|6.#defin|
|00016720| 65 09 42 31 39 32 30 30 | 09 30 30 30 30 30 31 36 |e.B19200|.0000016|
|00016730| 0a 23 64 65 66 69 6e 65 | 09 45 58 54 42 09 30 30 |.#define|.EXTB.00|
|00016740| 30 30 30 31 37 0a 23 64 | 65 66 69 6e 65 09 42 33 |00017.#d|efine.B3|
|00016750| 38 34 30 30 09 30 30 30 | 30 30 31 37 0a 23 64 65 |8400.000|0017.#de|
|00016760| 66 69 6e 65 09 43 53 49 | 5a 45 09 30 30 30 30 30 |fine.CSI|ZE.00000|
|00016770| 36 30 0a 23 64 65 66 69 | 6e 65 09 43 53 35 09 30 |60.#defi|ne.CS5.0|
|00016780| 0a 23 64 65 66 69 6e 65 | 09 43 53 36 09 30 30 30 |.#define|.CS6.000|
|00016790| 30 30 32 30 0a 23 64 65 | 66 69 6e 65 09 43 53 37 |0020.#de|fine.CS7|
|000167a0| 09 30 30 30 30 30 34 30 | 0a 23 64 65 66 69 6e 65 |.0000040|.#define|
|000167b0| 09 43 53 38 09 30 30 30 | 30 30 36 30 0a 23 64 65 |.CS8.000|0060.#de|
|000167c0| 66 69 6e 65 09 43 53 54 | 4f 50 42 09 30 30 30 30 |fine.CST|OPB.0000|
|000167d0| 31 30 30 0a 23 64 65 66 | 69 6e 65 09 43 52 45 41 |100.#def|ine.CREA|
|000167e0| 44 09 30 30 30 30 32 30 | 30 0a 23 64 65 66 69 6e |D.000020|0.#defin|
|000167f0| 65 09 50 41 52 45 4e 42 | 09 30 30 30 30 34 30 30 |e.PARENB|.0000400|
|00016800| 0a 23 64 65 66 69 6e 65 | 09 50 41 52 4f 44 44 09 |.#define|.PARODD.|
|00016810| 30 30 30 31 30 30 30 0a | 23 64 65 66 69 6e 65 09 |0001000.|#define.|
|00016820| 48 55 50 43 4c 09 30 30 | 30 32 30 30 30 0a 23 64 |HUPCL.00|02000.#d|
|00016830| 65 66 69 6e 65 09 43 4c | 4f 43 41 4c 09 30 30 30 |efine.CL|OCAL.000|
|00016840| 34 30 30 30 0a 23 64 65 | 66 69 6e 65 09 4c 4f 42 |4000.#de|fine.LOB|
|00016850| 4c 4b 09 30 30 31 30 30 | 30 30 0a 23 64 65 66 69 |LK.00100|00.#defi|
|00016860| 6e 65 09 43 54 53 46 4c | 4f 57 09 30 30 32 30 30 |ne.CTSFL|OW.00200|
|00016870| 30 30 0a 23 64 65 66 69 | 6e 65 09 52 54 53 46 4c |00.#defi|ne.RTSFL|
|00016880| 4f 57 09 30 30 34 30 30 | 30 30 0a 0a 2f 2a 20 6c |OW.00400|00../* l|
|00016890| 69 6e 65 20 64 69 73 63 | 69 70 6c 69 6e 65 20 30 |ine disc|ipline 0|
|000168a0| 20 6d 06 01 02 02 00 dd | fb 01 02 00 fd 6f 64 65 | m......|.....ode|
|000168b0| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 49 53 49 |s */.#de|fine.ISI|
|000168c0| 47 09 30 30 30 30 30 30 | 31 0a 23 64 65 66 69 6e |G.000000|1.#defin|
|000168d0| 65 09 49 43 41 4e 4f 4e | 09 30 30 30 30 30 30 32 |e.ICANON|.0000002|
|000168e0| 0a 23 64 65 66 69 6e 65 | 09 58 43 41 53 45 09 30 |.#define|.XCASE.0|
|000168f0| 30 30 30 30 30 34 0a 23 | 64 65 66 69 6e 65 09 45 |000004.#|define.E|
|00016900| 43 48 4f 09 30 30 30 30 | 30 31 30 0a 23 64 65 66 |CHO.0000|010.#def|
|00016910| 69 6e 65 09 45 43 48 4f | 45 09 30 30 30 30 30 32 |ine.ECHO|E.000002|
|00016920| 30 0a 23 64 65 66 69 6e | 65 09 45 43 48 4f 4b 09 |0.#defin|e.ECHOK.|
|00016930| 30 30 30 30 30 34 30 0a | 23 64 65 66 69 6e 65 09 |0000040.|#define.|
|00016940| 45 43 48 4f 4e 4c 09 30 | 30 30 30 31 30 30 0a 23 |ECHONL.0|000100.#|
|00016950| 64 65 66 69 6e 65 09 4e | 4f 46 4c 53 48 09 30 30 |define.N|OFLSH.00|
|00016960| 30 30 32 30 30 0a 23 64 | 65 66 69 6e 65 09 58 43 |00200.#d|efine.XC|
|00016970| 4c 55 44 45 09 30 31 30 | 30 30 30 30 09 09 2f 2a |LUDE.010|0000../*|
|00016980| 20 2a 56 37 2a 20 65 78 | 63 6c 75 73 69 76 65 20 | *V7* ex|clusive |
|00016990| 75 73 65 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 |use */..|#define |
|000169a0| 53 53 50 45 45 44 20 20 | 31 33 01 07 20 20 00 f5 |SSPEED |13.. ..|
|000169b0| 2f 2a 20 64 65 66 61 75 | 6c 74 20 73 70 65 65 64 |/* defau|lt speed|
|000169c0| 3a 20 37 3d 33 30 30 2c | 20 31 33 3d 39 36 30 30 |: 7=300,| 13=9600|
|000169d0| 20 62 61 75 64 20 2a 2f | 0a 0a 23 69 66 64 65 66 | baud */|..#ifdef|
|000169e0| 20 4d 5f 49 33 38 36 0a | 23 70 72 61 67 6d 61 09 | M_I386.|#pragma.|
|000169f0| 70 61 63 6b 28 32 29 0a | 23 65 6e 64 69 66 0a 0a |pack(2).|#endif..|
|00016a00| 2f 2a 0a 20 2a 20 49 6f | 63 74 6c 20 63 6f 6e 74 |/*. * Io|ctl cont|
|00016a10| 72 6f 6c 20 70 61 63 6b | 65 74 0a 20 2a 2f 0a 73 |rol pack|et. */.s|
|00016a20| 74 72 75 63 74 20 74 65 | 72 6d 69 6f 20 7b 0a 09 |truct te|rmio {..|
|00016a30| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 09 63 |unsigned| short.c|
|00016a40| 5f 69 66 6c 61 67 3b 09 | 2f 2a 20 69 6e 70 75 74 |_iflag;.|/* input|
|00016a50| 20 6d 6f 64 65 73 20 2a | 2f 0a 09 75 6e 73 69 67 | modes *|/..unsig|
|00016a60| 6e 65 64 20 73 68 6f 72 | 74 09 63 5f 6f 66 6c 61 |ned shor|t.c_ofla|
|00016a70| 67 3b 09 2f 2a 20 6f 75 | 74 70 75 74 20 6d 6f 64 |g;./* ou|tput mod|
|00016a80| 65 73 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |es */..u|nsigned |
|00016a90| 73 68 6f 72 74 09 63 5f | 63 66 6c 61 67 3b 09 2f |short.c_|cflag;./|
|00016aa0| 2a 20 63 6f 6e 06 01 03 | 02 00 91 01 02 00 74 72 |* con...|......tr|
|00016ab0| 6f 6c 20 6d 6f 64 65 73 | 20 2a 2f 0a 09 75 6e 73 |ol modes| */..uns|
|00016ac0| 69 67 6e 65 64 20 73 68 | 6f 72 74 09 63 5f 6c 66 |igned sh|ort.c_lf|
|00016ad0| 6c 61 67 3b 09 2f 2a 20 | 6c 69 6e 65 20 64 69 73 |lag;./* |line dis|
|00016ae0| 63 69 70 6c 69 6e 65 20 | 6d 6f 64 65 73 20 2a 2f |cipline |modes */|
|00016af0| 0a 09 63 68 61 72 09 09 | 63 5f 6c 69 6e 65 3b 09 |..char..|c_line;.|
|00016b00| 09 2f 2a 20 6c 69 6e 65 | 20 64 69 73 63 69 70 6c |./* line| discipl|
|00016b10| 69 6e 65 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |ine */..|unsigned|
|00016b20| 20 63 68 61 72 09 63 5f | 63 63 5b 4e 43 43 5d 3b | char.c_|cc[NCC];|
|00016b30| 09 2f 2a 20 63 6f 6e 74 | 72 6f 6c 20 63 68 61 72 |./* cont|rol char|
|00016b40| 73 20 2a 2f 0a 7d 3b 0a | 0a 2f 2a 0a 20 2a 20 73 |s */.};.|./*. * s|
|00016b50| 74 72 75 63 74 75 72 65 | 20 6f 66 20 69 6f 63 74 |tructure| of ioct|
|00016b60| 6c 20 61 72 67 20 66 6f | 72 20 4c 44 47 45 54 54 |l arg fo|r LDGETT|
|00016b70| 20 61 6e 64 20 4c 44 53 | 45 54 54 0a 20 2a 2f 0a | and LDS|ETT. */.|
|00016b80| 73 74 72 75 63 74 09 74 | 65 72 6d 63 62 09 7b 0a |struct.t|ermcb.{.|
|00016b90| 09 63 68 61 72 09 73 74 | 5f 66 6c 67 73 3b 09 2f |.char.st|_flgs;./|
|00016ba0| 2a 20 74 65 72 6d 20 66 | 6c 61 67 73 20 2a 2f 0a |* term f|lags */.|
|00016bb0| 09 63 68 61 72 09 73 74 | 5f 74 65 72 6d 74 3b 09 |.char.st|_termt;.|
|00016bc0| 2f 2a 20 74 65 72 6d 20 | 74 79 70 65 20 2a 2f 0a |/* term |type */.|
|00016bd0| 09 63 68 61 72 09 73 74 | 5f 63 72 6f 77 3b 09 2f |.char.st|_crow;./|
|00016be0| 2a 20 67 74 74 79 20 6f | 6e 6c 79 20 2d 20 63 75 |* gtty o|nly - cu|
|00016bf0| 72 72 65 6e 74 20 72 6f | 77 20 2a 2f 0a 09 63 68 |rrent ro|w */..ch|
|00016c00| 61 72 09 73 74 5f 63 63 | 6f 6c 3b 09 2f 2a 20 67 |ar.st_cc|ol;./* g|
|00016c10| 74 74 79 20 6f 6e 6c 79 | 20 2d 20 63 75 72 72 65 |tty only| - curre|
|00016c20| 6e 74 20 63 6f 6c 20 2a | 2f 0a 09 63 68 61 72 09 |nt col *|/..char.|
|00016c30| 73 74 5f 76 72 6f 77 3b | 09 2f 2a 20 76 61 72 69 |st_vrow;|./* vari|
|00016c40| 61 62 6c 65 20 72 6f 77 | 20 2a 2f 0a 09 63 68 61 |able row| */..cha|
|00016c50| 72 09 73 74 5f 6c 72 6f | 77 3b 09 2f 2a 20 6c 61 |r.st_lro|w;./* la|
|00016c60| 73 74 20 72 6f 77 20 2a | 2f 0a 7d 3b 0a 0a 23 69 |st row *|/.};..#i|
|00016c70| 66 64 65 66 20 56 50 49 | 58 0a 0a 2f 2a 0a 20 2a |fdef VPI|X../*. *|
|00016c80| 20 73 74 72 75 63 74 75 | 72 65 20 6f 66 20 69 6f | structu|re of io|
|00016c90| 63 74 6c 20 61 72 67 20 | 66 6f 72 20 41 49 4f 43 |ctl arg |for AIOC|
|00016ca0| 53 45 54 53 53 0a 20 2a | 2f 0a 0a 73 74 72 06 01 |SETSS. *|/..str..|
|00016cb0| 04 02 00 82 01 02 00 75 | 63 74 09 74 65 72 6d 73 |.......u|ct.terms|
|00016cc0| 73 09 7b 0a 09 63 68 61 | 72 09 73 73 5f 73 74 61 |s.{..cha|r.ss_sta|
|00016cd0| 72 74 3b 09 2f 2a 20 6f | 75 74 70 75 74 20 73 74 |rt;./* o|utput st|
|00016ce0| 61 72 74 20 63 68 61 72 | 20 2a 2f 0a 09 63 68 61 |art char| */..cha|
|00016cf0| 72 09 73 73 5f 73 74 6f | 70 3b 09 2f 2a 20 6f 75 |r.ss_sto|p;./* ou|
|00016d00| 74 70 75 74 20 73 74 6f | 70 20 63 68 61 72 20 2a |tput sto|p char *|
|00016d10| 2f 0a 7d 3b 0a 0a 23 65 | 6e 64 69 66 0a 0a 23 69 |/.};..#e|ndif..#i|
|00016d20| 66 64 65 66 20 4d 5f 49 | 33 38 36 0a 23 70 72 61 |fdef M_I|386.#pra|
|00016d30| 67 6d 61 09 70 61 63 6b | 28 29 0a 23 65 6e 64 69 |gma.pack|().#endi|
|00016d40| 66 0a 6f 6c 20 63 68 61 | 72 73 20 2a 2f 0a 7d 3b |f.ol cha|rs */.};|
|00016d50| 0a 0a 2f 2a 0a 20 2a 20 | 73 74 72 75 63 74 75 72 |../*. * |structur|
|00016d60| 65 20 6f 66 20 69 6f 63 | 74 6c 20 61 72 67 20 66 |e of ioc|tl arg f|
|00016d70| 6f 72 20 4c 44 47 45 54 | 54 20 61 6e 64 20 4c 44 |or LDGET|T and LD|
|00016d80| 53 45 54 54 0a 20 2a 2f | 0a 73 74 72 75 63 74 09 |SETT. */|.struct.|
|00016d90| 74 65 72 6d 63 62 09 7b | 0a 09 63 68 61 72 09 73 |termcb.{|..char.s|
|00016da0| 74 5f 66 6c 67 73 3b 09 | 2f 2a 20 74 65 72 6d 20 |t_flgs;.|/* term |
|00016db0| 66 6c 61 67 73 20 2a 2f | 0a 09 63 68 61 72 09 73 |flags */|..char.s|
|00016dc0| 74 5f 74 65 72 6d 74 3b | 09 2f 2a 20 74 65 72 6d |t_termt;|./* term|
|00016dd0| 20 74 79 70 65 20 2a 2f | 0a 09 63 68 61 72 09 73 | type */|..char.s|
|00016de0| 74 5f 63 72 6f 77 3b 09 | 2f 2a 20 67 74 74 79 20 |t_crow;.|/* gtty |
|00016df0| 6f 6e 6c 79 20 2d 20 63 | 75 72 72 65 6e 74 20 72 |only - c|urrent r|
|00016e00| 6f 77 20 2a 2f 0a 09 63 | 68 61 72 09 73 74 5f 63 |ow */..c|har.st_c|
|00016e10| 63 6f 6c 3b 09 2f 2a 20 | 67 74 74 79 20 6f 6e 6c |col;./* |gtty onl|
|00016e20| 79 20 2d 20 63 75 72 72 | 65 6e 74 20 63 6f 6c 20 |y - curr|ent col |
|00016e30| 2a 2f 0a 09 63 68 61 72 | 09 73 74 5f 76 72 6f 77 |*/..char|.st_vrow|
|00016e40| 3b 09 2f 2a 20 76 61 72 | 69 61 62 6c 65 20 72 6f |;./* var|iable ro|
|00016e50| 77 20 2a 2f 0a 09 63 68 | 61 72 09 73 74 5f 6c 72 |w */..ch|ar.st_lr|
|00016e60| 6f 77 3b 09 2f 2a 20 6c | 61 73 74 20 72 6f 77 20 |ow;./* l|ast row |
|00016e70| 2a 2f 0a 7d 3b 0a 0a 23 | 69 66 64 65 66 20 56 50 |*/.};..#|ifdef VP|
|00016e80| 49 58 0a 0a 2f 2a 0a 20 | 2a 20 73 74 72 75 63 74 |IX../*. |* struct|
|00016e90| 75 72 65 20 6f 66 20 69 | 6f 63 74 6c 20 61 72 67 |ure of i|octl arg|
|00016ea0| 20 66 6f 72 20 41 49 4f | 43 53 45 54 53 53 0a 20 | for AIO|CSETSS. |
|00016eb0| 2a 2f 0a 0a 73 74 72 06 | 01 05 02 00 f5 5f 00 02 |*/..str.|....._..|
|00016ec0| 00 19 2e 2f 75 73 72 2f | 69 6e 63 6c 75 64 65 2f |.../usr/|include/|
|00016ed0| 73 79 73 2f 73 79 73 74 | 6d 2e 68 01 25 00 00 00 |sys/syst|m.h.%...|
|00016ee0| 39 00 20 20 20 34 34 34 | 20 00 20 20 20 20 20 30 |9. 444| . 0|
|00016ef0| 20 00 20 20 20 20 20 30 | 20 00 20 20 20 20 20 20 | . 0| . |
|00016f00| 31 31 35 37 31 20 20 34 | 32 36 36 36 31 35 37 30 |11571 4|26661570|
|00016f10| 36 20 20 31 30 36 30 33 | 00 20 01 b2 00 00 06 01 |6 10603|. ......|
|00016f20| 06 02 00 3a 01 02 00 2f | 2a 0a 20 2a 09 40 28 23 |...:.../|*. *.@(#|
|00016f30| 29 20 73 79 73 74 6d 2e | 68 20 32 2e 36 20 38 38 |) systm.|h 2.6 88|
|00016f40| 2f 30 37 2f 31 33 20 0a | 20 2a 0a 20 2a 09 43 6f |/07/13 .| *. *.Co|
|00016f50| 70 79 72 69 67 68 74 20 | 28 43 29 20 54 68 65 20 |pyright |(C) The |
|00016f60| 53 61 6e 74 61 20 43 72 | 75 7a 20 4f 70 65 72 61 |Santa Cr|uz Opera|
|00016f70| 74 69 6f 6e 2c 20 31 39 | 38 34 2c 20 31 39 38 35 |tion, 19|84, 1985|
|00016f80| 2c 20 31 39 38 36 2c 20 | 31 39 38 37 2c 20 31 39 |, 1986, |1987, 19|
|00016f90| 38 38 2e 0a 20 2a 09 43 | 6f 70 79 72 69 67 68 74 |88.. *.C|opyright|
|00016fa0| 20 28 43 29 20 4d 69 63 | 72 6f 73 6f 66 74 20 43 | (C) Mic|rosoft C|
|00016fb0| 6f 72 70 6f 72 61 74 69 | 6f 6e 2c 20 31 39 38 34 |orporati|on, 1984|
|00016fc0| 2c 20 31 39 38 35 2c 20 | 31 39 38 36 2c 20 31 39 |, 1985, |1986, 19|
|00016fd0| 38 37 2c 20 31 39 38 38 | 2e 0a 20 2a 09 54 68 69 |87, 1988|.. *.Thi|
|00016fe0| 73 20 4d 6f 64 75 6c 65 | 20 63 6f 6e 74 61 69 6e |s Module| contain|
|00016ff0| 73 20 50 72 6f 70 72 69 | 65 74 61 72 79 20 49 6e |s Propri|etary In|
|00017000| 66 6f 72 6d 61 74 69 6f | 6e 20 6f 66 0a 20 2a 09 |formatio|n of. *.|
|00017010| 54 68 65 20 53 61 6e 74 | 61 20 43 72 75 7a 20 4f |The Sant|a Cruz O|
|00017020| 70 65 72 61 74 69 6f 6e | 2c 20 4d 69 63 72 6f 73 |peration|, Micros|
|00017030| 6f 66 74 20 43 6f 72 70 | 6f 72 61 74 69 6f 6e 0a |oft Corp|oration.|
|00017040| 20 2a 09 61 6e 64 20 41 | 54 26 54 2c 20 61 6e 64 | *.and A|T&T, and|
|00017050| 20 73 68 6f 75 6c 64 20 | 62 65 20 74 72 65 61 74 | should |be treat|
|00017060| 65 64 20 61 73 20 43 6f | 6e 66 69 64 65 6e 74 69 |ed as Co|nfidenti|
|00017070| 61 6c 2e 0a 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 20 54 |al.. */.|./*. * T|
|00017080| 48 49 53 20 46 49 4c 45 | 20 43 4f 4e 54 41 49 4e |HIS FILE| CONTAIN|
|00017090| 53 20 43 4f 44 45 20 57 | 48 49 43 48 20 49 53 20 |S CODE W|HICH IS |
|000170a0| 44 45 53 49 47 4e 45 44 | 20 54 4f 20 42 45 0a 20 |DESIGNED| TO BE. |
|000170b0| 2a 20 50 4f 52 54 41 42 | 4c 45 20 42 45 54 57 45 |* PORTAB|LE BETWE|
|000170c0| 45 4e 20 44 49 46 46 45 | 52 45 4e 54 20 4d 41 43 |EN DIFFE|RENT MAC|
|000170d0| 48 49 4e 45 20 41 52 43 | 48 49 54 45 43 54 55 52 |HINE ARC|HITECTUR|
|000170e0| 45 53 0a 20 2a 20 41 4e | 44 20 43 4f 4e 46 49 47 |ES. * AN|D CONFIG|
|000170f0| 55 52 41 54 49 4f 4e 53 | 2e 20 49 54 20 53 48 4f |URATIONS|. IT SHO|
|00017100| 55 4c 44 20 4e 4f 54 20 | 52 45 51 55 49 52 45 20 |ULD NOT |REQUIRE |
|00017110| 41 4e 59 0a 20 2a 20 4d | 4f 44 49 46 49 43 41 54 |ANY. * M|ODIFICAT|
|00017120| 49 4f 4e 53 20 57 48 06 | 01 07 02 00 7d f7 01 02 |IONS WH.|....}...|
|00017130| 00 ff 45 4e 20 41 44 41 | 50 54 49 4e 47 20 58 45 |..EN ADA|PTING XE|
|00017140| 4e 49 58 20 54 4f 20 4e | 45 57 20 48 41 52 44 57 |NIX TO N|EW HARDW|
|00017150| 41 52 45 2e 0a 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |ARE.. */|../*. * |
|00017160| 52 61 6e 64 6f 6d 20 73 | 65 74 20 6f 66 20 76 61 |Random s|et of va|
|00017170| 72 69 61 62 6c 65 73 20 | 75 73 65 64 20 62 79 20 |riables |used by |
|00017180| 6d 6f 72 65 20 74 68 61 | 6e 20 6f 6e 65 20 72 6f |more tha|n one ro|
|00017190| 75 74 69 6e 65 2e 0a 20 | 2a 2f 0a 69 6e 6f 64 65 |utine.. |*/.inode|
|000171a0| 70 5f 74 20 72 6f 6f 74 | 64 69 72 3b 09 09 2f 2a |p_t root|dir;../*|
|000171b0| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 69 6e 6f 64 | pointer| to inod|
|000171c0| 65 20 6f 66 20 72 6f 6f | 74 20 64 69 72 65 63 74 |e of roo|t direct|
|000171d0| 6f 72 79 20 2a 2f 0a 73 | 74 72 75 63 74 20 70 72 |ory */.s|truct pr|
|000171e0| 6f 63 20 2a 72 75 6e 71 | 3b 09 09 2f 2a 20 68 65 |oc *runq|;../* he|
|000171f0| 61 64 20 6f 66 20 6c 69 | 6e 6b 65 64 20 6c 69 73 |ad of li|nked lis|
|00017200| 74 20 6f 66 20 72 75 6e | 6e 69 6e 67 20 70 72 6f |t of run|ning pro|
|00017210| 63 65 73 73 65 73 20 2a | 2f 0a 65 78 74 65 72 6e |cesses *|/.extern|
|00017220| 20 73 74 72 75 63 74 20 | 70 72 6f 63 20 2a 63 75 | struct |proc *cu|
|00017230| 72 00 2e 70 72 6f 63 3b | 09 2f 2a 20 63 75 72 72 |r..proc;|./* curr|
|00017240| 65 6e 74 20 70 72 6f 63 | 20 2a 2f 0a 73 74 72 75 |ent proc| */.stru|
|00017250| 63 74 20 70 72 6f 63 20 | 2a 48 6f 67 70 72 6f 63 |ct proc |*Hogproc|
|00017260| 3b 01 05 20 20 00 3f 20 | 2f 2a 20 69 66 20 6e 6f |;.. .? |/* if no|
|00017270| 6e 2d 4e 55 4c 4c 2c 20 | 73 63 68 65 64 75 6c 65 |n-NULL, |schedule|
|00017280| 20 6f 6e 6c 79 20 74 68 | 69 73 20 70 72 6f 63 65 | only th|is proce|
|00017290| 73 73 20 2a 2f 0a 73 68 | 6f 72 74 20 20 20 63 70 |ss */.sh|ort cp|
|000172a0| 75 74 79 70 65 3b 01 08 | 20 20 00 7a 2f 2a 20 74 |utype;..| .z/* t|
|000172b0| 79 70 65 20 6f 66 20 63 | 70 75 20 2a 2f 0a 74 69 |ype of c|pu */.ti|
|000172c0| 6d 65 5f 74 09 6c 62 6f | 6c 74 3b 09 09 09 2f 2a |me_t.lbo|lt;.../*|
|000172d0| 20 74 69 6d 65 20 69 6e | 20 48 5a 20 73 69 6e 63 | time in| HZ sinc|
|000172e0| 65 20 6c 61 73 74 20 62 | 6f 6f 74 20 2a 2f 0a 74 |e last b|oot */.t|
|000172f0| 69 6d 65 5f 74 09 74 69 | 6d 65 3b 09 09 09 2f 2a |ime_t.ti|me;.../*|
|00017300| 20 74 69 6d 65 20 69 6e | 20 73 65 63 20 66 72 6f | time in| sec fro|
|00017310| 6d 20 31 39 37 30 20 2a | 2f 0a 69 6e 74 20 20 20 |m 1970 *|/.int |
|00017320| 20 20 48 7a 3b 20 06 01 | 08 02 00 73 d7 01 02 01 | Hz; ..|...s....|
|00017330| 0a 20 20 00 30 2f 2a 20 | 63 6f 6e 66 69 67 75 72 |. .0/* |configur|
|00017340| 61 62 6c 65 20 63 6c 6f | 63 6b 20 73 70 65 65 64 |able clo|ck speed|
|00017350| 20 2a 2f 0a 69 6e 74 20 | 20 20 20 20 54 69 6d 65 | */.int | Time|
|00017360| 7a 6f 6e 65 3b 01 07 20 | 20 00 2d 20 2f 2a 20 63 |zone;.. | .- /* c|
|00017370| 6f 6e 66 69 67 75 72 61 | 62 6c 65 20 74 69 6d 65 |onfigura|ble time|
|00017380| 7a 6f 6e 65 20 2a 2f 0a | 69 6e 74 20 20 20 20 20 |zone */.|int |
|00017390| 44 73 74 66 6c 61 67 3b | 01 08 20 20 00 ce 2f 2a |Dstflag;|.. ../*|
|000173a0| 20 63 6f 6e 66 69 67 75 | 72 61 62 6c 65 20 44 53 | configu|rable DS|
|000173b0| 54 20 66 6c 61 67 20 20 | 2a 2f 0a 0a 69 6e 74 09 |T flag |*/..int.|
|000173c0| 6d 70 69 64 3b 09 09 09 | 2f 2a 20 67 65 6e 65 72 |mpid;...|/* gener|
|000173d0| 69 63 20 66 6f 72 20 75 | 6e 69 71 75 65 20 70 72 |ic for u|nique pr|
|000173e0| 6f 63 65 73 73 20 69 64 | 27 73 20 2a 2f 0a 63 68 |ocess id|'s */.ch|
|000173f0| 61 72 09 72 75 6e 69 6e | 3b 09 09 09 2f 2a 20 73 |ar.runin|;.../* s|
|00017400| 63 68 65 64 75 6c 69 6e | 67 20 66 6c 61 67 20 2a |chedulin|g flag *|
|00017410| 2f 0a 73 68 6f 72 74 09 | 72 75 6e 6f 75 74 3b 09 |/.short.|runout;.|
|00017420| 09 09 2f 2a 20 73 63 68 | 65 64 75 6c 69 6e 67 20 |../* sch|eduling |
|00017430| 66 6c 61 67 20 2a 2f 0a | 63 68 61 72 09 72 75 6e |flag */.|char.run|
|00017440| 72 75 6e 3b 09 09 09 2f | 2a 20 73 63 68 65 64 75 |run;.../|* schedu|
|00017450| 6c 69 6e 67 20 66 6c 61 | 67 20 2a 2f 0a 63 68 61 |ling fla|g */.cha|
|00017460| 72 20 20 20 20 72 75 6e | 74 78 74 3b 01 08 20 20 |r run|txt;.. |
|00017470| 00 93 20 2f 2a 20 73 63 | 68 65 64 75 6c 69 6e 67 |.. /* sc|heduling|
|00017480| 20 66 6c 61 67 20 2a 2f | 0a 63 68 61 72 09 63 75 | flag */|.char.cu|
|00017490| 72 70 72 69 3b 09 09 09 | 2f 2a 20 6d 6f 72 65 20 |rpri;...|/* more |
|000174a0| 73 63 68 65 64 75 6c 69 | 6e 67 20 2a 2f 0a 75 6e |scheduli|ng */.un|
|000174b0| 73 69 67 6e 65 64 20 6d | 61 78 6d 65 6d 3b 09 09 |signed m|axmem;..|
|000174c0| 2f 2a 20 61 63 74 75 61 | 6c 20 6d 61 78 20 6d 65 |/* actua|l max me|
|000174d0| 6d 6f 72 79 20 70 65 72 | 20 70 72 6f 63 65 73 73 |mory per| process|
|000174e0| 20 2a 2f 0a 23 69 66 64 | 65 66 20 4d 5f 49 33 38 | */.#ifd|ef M_I38|
|000174f0| 36 0a 6c 6f 6e 67 09 70 | 68 79 73 6d 65 6d 3b 09 |6.long.p|hysmem;.|
|00017500| 09 2f 2a 20 70 06 01 09 | 02 00 50 f9 01 02 00 ff |./* p...|..P.....|
|00017510| 68 79 73 69 63 61 6c 20 | 6d 65 6d 6f 72 79 20 69 |hysical |memory i|
|00017520| 6e 20 63 6c 69 63 6b 73 | 20 2a 2f 0a 23 65 6c 73 |n clicks| */.#els|
|00017530| 65 0a 70 61 64 64 72 5f | 74 09 70 68 79 73 6d 65 |e.paddr_|t.physme|
|00017540| 6d 3b 09 09 2f 2a 20 70 | 68 79 73 69 63 61 6c 20 |m;../* p|hysical |
|00017550| 6d 65 6d 6f 72 79 20 6f | 6e 20 74 68 69 73 20 43 |memory o|n this C|
|00017560| 50 55 20 2a 2f 0a 23 65 | 6e 64 69 66 0a 64 61 64 |PU */.#e|ndif.dad|
|00017570| 64 72 5f 74 09 73 77 70 | 6c 6f 3b 09 09 09 2f 2a |dr_t.swp|lo;.../*|
|00017580| 20 62 6c 6f 63 6b 20 6e | 75 6d 62 65 72 20 6f 66 | block n|umber of|
|00017590| 20 73 77 61 70 20 73 70 | 61 63 65 20 2a 2f 0a 69 | swap sp|ace */.i|
|000175a0| 6e 74 09 6e 73 77 61 70 | 3b 09 09 09 2f 2a 20 73 |nt.nswap|;.../* s|
|000175b0| 69 7a 65 20 6f 66 20 73 | 77 61 70 20 73 70 61 63 |ize of s|wap spac|
|000175c0| 65 20 2a 2f 0a 69 6e 74 | 09 75 70 64 6c 6f 63 6b |e */.int|.updlock|
|000175d0| 3b 09 09 2f 2a 20 6c 6f | 63 6b 20 66 6f 72 20 73 |;../* lo|ck for s|
|000175e0| 79 6e 63 20 2a 2f 0a 64 | 61 64 64 72 5f 74 09 72 |ync */.d|addr_t.r|
|000175f0| 61 62 6c 6f 63 6b 3b 09 | 09 2f 2a 20 62 6c 6f 63 |ablock;.|./* bloc|
|00017600| 6b 20 74 6f 20 62 65 20 | 72 65 61 64 20 61 68 00 |k to be |read ah.|
|00017610| 15 65 61 64 20 2a 2f 0a | 69 6e 74 20 20 20 20 20 |.ead */.|int |
|00017620| 43 6d 61 73 6b 3b 01 09 | 20 20 00 da 2f 2a 20 64 |Cmask;..| ../* d|
|00017630| 65 66 61 75 6c 74 20 63 | 72 65 61 74 69 6f 6e 20 |efault c|reation |
|00017640| 6d 61 73 6b 20 2a 2f 0a | 65 78 74 65 72 6e 09 63 |mask */.|extern.c|
|00017650| 68 61 72 09 72 65 67 6c | 6f 63 5b 5d 3b 09 2f 2a |har.regl|oc[];./*|
|00017660| 20 6c 6f 63 73 20 6f 66 | 20 73 61 76 65 64 20 75 | locs of| saved u|
|00017670| 73 65 72 20 72 65 67 69 | 73 74 65 72 73 20 28 74 |ser regi|sters (t|
|00017680| 72 61 70 2e 63 29 20 2a | 2f 0a 65 78 74 65 72 6e |rap.c) *|/.extern|
|00017690| 20 73 68 6f 72 74 09 72 | 65 67 6c 6f 63 63 3b 09 | short.r|eglocc;.|
|000176a0| 2f 2a 20 73 69 7a 65 20 | 6f 66 20 72 65 67 6c 6f |/* size |of reglo|
|000176b0| 63 20 61 72 72 61 79 20 | 2a 2f 0a 64 65 76 5f 74 |c array |*/.dev_t|
|000176c0| 09 72 6f 6f 74 64 65 76 | 3b 09 09 2f 2a 20 64 65 |.rootdev|;../* de|
|000176d0| 76 69 63 65 20 6f 66 20 | 74 68 65 20 72 6f 6f 74 |vice of |the root|
|000176e0| 20 2a 2f 0a 64 65 76 5f | 74 09 73 77 61 70 64 65 | */.dev_|t.swapde|
|000176f0| 76 3b 09 09 2f 2a 20 73 | 77 61 70 70 69 6e 67 20 |v;../* s|wapping |
|00017700| 64 65 76 69 63 65 06 01 | 0a 02 00 6b 01 02 00 20 |device..|...k... |
|00017710| 2a 2f 0a 64 65 76 5f 74 | 09 70 69 70 65 64 65 76 |*/.dev_t|.pipedev|
|00017720| 3b 09 09 2f 2a 20 70 69 | 70 65 20 64 65 76 69 63 |;../* pi|pe devic|
|00017730| 65 20 2a 2f 0a 69 6e 74 | 09 62 6c 6b 61 63 74 79 |e */.int|.blkacty|
|00017740| 3b 09 09 2f 2a 20 61 63 | 74 69 76 65 20 62 6c 6f |;../* ac|tive blo|
|00017750| 63 6b 20 64 65 76 69 63 | 65 73 20 2a 2f 0a 69 6e |ck devic|es */.in|
|00017760| 74 09 73 65 6c 77 61 69 | 74 3b 09 09 2f 2a 20 73 |t.selwai|t;../* s|
|00017770| 65 6c 65 63 74 69 6e 67 | 20 70 72 6f 63 65 73 73 |electing| process|
|00017780| 65 73 20 77 61 69 74 20 | 6f 6e 20 74 68 69 73 20 |es wait |on this |
|00017790| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 70 6f 6c 6c 77 |*/.#defi|ne pollw|
|000177a0| 61 69 74 20 73 65 6c 77 | 61 69 74 09 2f 2a 20 6c |ait selw|ait./* l|
|000177b0| 69 6e 6b 20 70 6f 6c 6c | 20 61 6e 64 20 73 65 6c |ink poll| and sel|
|000177c0| 65 63 74 20 77 69 74 68 | 20 63 6f 6d 6d 6f 6e 20 |ect with| common |
|000177d0| 61 64 64 72 65 73 73 20 | 2a 2f 0a 0a 2f 2a 20 6d |address |*/../* m|
|000177e0| 61 63 68 69 6e 65 20 64 | 65 70 65 6e 64 65 6e 74 |achine d|ependent|
|000177f0| 20 70 61 72 74 20 2a 2f | 0a 0a 2f 2a 20 66 75 6e | part */|../* fun|
|00017800| 63 74 69 6f 6e 20 64 65 | 66 73 20 2a 2f 0a 64 65 |ction de|fs */.de|
|00017810| 76 5f 74 20 67 65 74 6d | 64 65 76 28 29 3b 0a 64 |v_t getm|dev();.d|
|00017820| 61 64 64 72 5f 74 09 62 | 6d 61 70 28 29 3b 0a 69 |addr_t.b|map();.i|
|00017830| 6e 6f 64 65 70 5f 74 20 | 69 61 6c 6c 6f 63 28 29 |nodep_t |ialloc()|
|00017840| 3b 0a 69 6e 6f 64 65 70 | 5f 74 20 69 67 65 74 28 |;.inodep|_t iget(|
|00017850| 29 3b 0a 69 6e 6f 64 65 | 70 5f 74 20 6f 77 6e 65 |);.inode|p_t owne|
|00017860| 72 28 29 3b 0a 69 6e 6f | 64 65 70 5f 74 20 6d 61 |r();.ino|dep_t ma|
|00017870| 6b 6e 6f 64 65 28 29 3b | 0a 69 6e 6f 64 65 70 5f |knode();|.inodep_|
|00017880| 74 20 6e 61 6d 65 69 28 | 29 3b 0a 73 74 72 75 63 |t namei(|);.struc|
|00017890| 74 20 62 75 66 20 2a 61 | 6c 6c 6f 63 28 29 3b 0a |t buf *a|lloc();.|
|000178a0| 73 74 72 75 63 74 20 62 | 75 66 20 2a 67 65 74 62 |struct b|uf *getb|
|000178b0| 6c 6b 28 29 3b 0a 73 74 | 72 75 63 74 20 62 75 66 |lk();.st|ruct buf|
|000178c0| 20 2a 67 65 74 61 62 6c | 6b 28 29 3b 0a 73 74 72 | *getabl|k();.str|
|000178d0| 75 63 74 20 62 75 66 20 | 2a 62 72 65 61 64 28 29 |uct buf |*bread()|
|000178e0| 3b 0a 73 74 72 75 63 74 | 20 62 75 66 20 2a 62 72 |;.struct| buf *br|
|000178f0| 65 61 64 61 28 29 3b 0a | 66 69 6c 65 70 5f 74 20 |eada();.|filep_t |
|00017900| 67 65 74 66 28 29 3b 0a | 66 69 6c 65 70 5f 74 06 |getf();.|filep_t.|
|00017910| 01 0b 02 00 be 01 02 00 | 20 66 61 6c 6c 6f 63 28 |........| falloc(|
|00017920| 29 3b 0a 69 6e 74 09 75 | 63 68 61 72 28 29 3b 0a |);.int.u|char();.|
|00017930| 0a 65 78 74 65 72 6e 09 | 63 68 61 72 09 6d 61 78 |.extern.|char.max|
|00017940| 6d 61 73 6b 5b 5d 3b 20 | 09 2f 2a 20 38 32 35 39 |mask[]; |./* 8259|
|00017950| 20 64 65 70 65 6e 64 65 | 6e 74 20 66 6c 61 67 20 | depende|nt flag |
|00017960| 73 65 74 20 69 6e 20 69 | 6e 69 74 38 32 35 39 2e |set in i|nit8259.|
|00017970| 63 2a 2f 0a 65 78 74 65 | 72 6e 20 70 61 64 64 72 |c*/.exte|rn paddr|
|00017980| 5f 74 20 6b 6d 65 6d 73 | 74 61 72 74 3b 0a 0a 0a |_t kmems|tart;...|
|00017990| 23 69 66 64 65 66 20 4d | 5f 49 33 38 36 0a 0a 23 |#ifdef M|_I386..#|
|000179a0| 64 65 66 69 6e 65 09 44 | 41 54 41 50 09 30 78 30 |define.D|ATAP.0x0|
|000179b0| 31 09 09 2f 2a 20 61 72 | 67 75 6d 65 6e 74 20 69 |1../* ar|gument i|
|000179c0| 73 20 61 20 44 41 54 41 | 20 70 6f 69 6e 74 65 72 |s a DATA| pointer|
|000179d0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 54 45 58 54 | */.#def|ine TEXT|
|000179e0| 50 09 30 78 30 32 09 09 | 2f 2a 20 61 72 67 75 6d |P.0x02..|/* argum|
|000179f0| 65 6e 74 20 69 73 20 61 | 20 54 45 58 54 20 70 6f |ent is a| TEXT po|
|00017a00| 69 6e 74 65 72 20 2a 2f | 0a 23 64 65 66 69 6e 65 |inter */|.#define|
|00017a10| 09 43 4f 4e 53 54 09 30 | 78 30 33 09 09 2f 2a 20 |.CONST.0|x03../* |
|00017a20| 61 72 67 75 6d 65 6e 74 | 20 69 73 20 61 6e 20 69 |argument| is an i|
|00017a30| 6e 74 2d 73 69 7a 65 64 | 20 63 6f 6e 73 74 61 6e |nt-sized| constan|
|00017a40| 74 20 2a 2f 0a 09 09 09 | 09 2f 2a 20 20 20 20 28 |t */....|./* (|
|00017a50| 31 36 2d 62 69 74 20 66 | 6f 72 20 32 38 36 2c 20 |16-bit f|or 286, |
|00017a60| 33 32 2d 62 69 74 20 66 | 6f 72 20 33 38 36 29 20 |32-bit f|or 386) |
|00017a70| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 55 43 4f 4e 53 |*/.#defi|ne UCONS|
|00017a80| 54 09 30 78 30 34 09 09 | 2f 2a 20 61 72 67 75 6d |T.0x04..|/* argum|
|00017a90| 65 6e 74 20 69 73 20 75 | 6e 73 69 67 6e 65 64 20 |ent is u|nsigned |
|00017aa0| 69 6e 74 2d 73 69 7a 65 | 64 20 63 6f 6e 73 74 61 |int-size|d consta|
|00017ab0| 6e 74 20 2a 2f 0a 09 09 | 09 09 2f 2a 20 20 20 20 |nt */...|../* |
|00017ac0| 28 31 36 2d 62 69 74 20 | 66 6f 72 20 32 38 36 2c |(16-bit |for 286,|
|00017ad0| 20 33 32 2d 62 69 74 20 | 66 6f 72 20 33 38 36 29 | 32-bit |for 386)|
|00017ae0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4c 43 4f 4e | */.#def|ine LCON|
|00017af0| 53 54 09 30 78 30 35 09 | 09 2f 2a 20 61 72 67 75 |ST.0x05.|./* argu|
|00017b00| 6d 65 6e 74 20 69 73 20 | 61 20 6c 6f 6e 67 2d 73 |ment is |a long-s|
|00017b10| 69 7a 65 64 20 63 6f 6e | 06 01 0c 02 00 af 01 02 |ized con|........|
|00017b20| 00 73 74 61 6e 74 20 2a | 2f 0a 09 09 09 09 2f 2a |.stant *|/...../*|
|00017b30| 20 20 20 20 28 33 32 2d | 62 69 74 20 66 6f 72 20 | (32-|bit for |
|00017b40| 62 6f 74 68 20 32 38 36 | 20 61 6e 64 20 33 38 36 |both 286| and 386|
|00017b50| 29 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 46 44 41 |) */.#de|fine FDA|
|00017b60| 54 41 50 09 30 78 30 36 | 09 09 2f 2a 20 61 72 67 |TAP.0x06|../* arg|
|00017b70| 75 6d 65 6e 74 20 69 73 | 20 46 41 52 20 64 61 74 |ument is| FAR dat|
|00017b80| 61 20 70 6f 69 6e 74 65 | 72 2c 20 72 65 67 61 72 |a pointe|r, regar|
|00017b90| 64 6c 65 73 73 20 2a 2f | 0a 09 09 09 09 2f 2a 20 |dless */|...../* |
|00017ba0| 20 20 20 6f 66 20 6d 65 | 6d 6f 72 79 20 6d 6f 64 | of me|mory mod|
|00017bb0| 65 6c 2e 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 53 |el. */.#|define S|
|00017bc0| 4f 44 41 54 41 50 20 30 | 78 30 37 09 09 2f 2a 20 |ODATAP 0|x07../* |
|00017bd0| 32 38 36 20 6f 6e 6c 79 | 3a 20 20 6c 6f 77 20 77 |286 only|: low w|
|00017be0| 6f 72 64 20 69 73 20 31 | 36 20 62 69 74 20 64 61 |ord is 1|6 bit da|
|00017bf0| 74 61 20 70 6f 69 6e 74 | 65 72 20 2a 2f 0a 09 09 |ta point|er */...|
|00017c00| 09 09 2f 2a 20 20 20 20 | 6f 66 66 73 65 74 2c 20 |../* |offset, |
|00017c10| 68 69 67 68 20 77 6f 72 | 64 20 69 73 20 31 36 20 |high wor|d is 16 |
|00017c20| 62 69 74 20 73 65 6c 65 | 63 74 6f 72 20 2a 2f 0a |bit sele|ctor */.|
|00017c30| 09 09 09 09 2f 2a 20 33 | 38 36 3a 20 20 33 32 2d |..../* 3|86: 32-|
|00017c40| 62 69 74 20 6f 66 66 73 | 65 74 20 2a 2f 0a 23 64 |bit offs|et */.#d|
|00017c50| 65 66 69 6e 65 20 53 4f | 54 45 58 54 50 20 30 78 |efine SO|TEXTP 0x|
|00017c60| 30 38 09 09 2f 2a 20 32 | 38 36 20 6f 6e 6c 79 3a |08../* 2|86 only:|
|00017c70| 20 20 6c 6f 77 20 77 6f | 72 64 20 69 73 20 31 36 | low wo|rd is 16|
|00017c80| 20 62 69 74 20 74 65 78 | 74 20 70 6f 69 6e 74 65 | bit tex|t pointe|
|00017c90| 72 2c 2a 2f 0a 09 09 09 | 09 2f 2a 20 09 6f 66 66 |r,*/....|./* .off|
|00017ca0| 73 65 74 2c 20 68 69 67 | 68 20 77 6f 72 64 20 69 |set, hig|h word i|
|00017cb0| 73 20 31 36 20 62 69 74 | 20 73 65 6c 65 63 74 6f |s 16 bit| selecto|
|00017cc0| 72 20 2a 2f 0a 09 09 09 | 09 2f 2a 20 33 38 36 3a |r */....|./* 386:|
|00017cd0| 20 20 33 32 2d 62 69 74 | 20 6f 66 66 73 65 74 20 | 32-bit| offset |
|00017ce0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4d 41 53 4b 53 |*/.#defi|ne MASKS|
|00017cf0| 5a 09 34 0a 23 64 65 66 | 69 6e 65 20 4d 41 53 4b |Z.4.#def|ine MASK|
|00017d00| 4f 4e 20 20 30 78 66 0a | 0a 23 64 65 66 69 6e 65 |ON 0xf.|.#define|
|00017d10| 20 4d 41 53 4b 28 61 72 | 67 31 2c 61 72 67 32 2c | MASK(ar|g1,arg2,|
|00017d20| 61 06 01 0d 02 00 c1 01 | 02 00 72 67 33 2c 61 72 |a.......|..rg3,ar|
|00017d30| 67 34 2c 61 72 67 35 2c | 61 72 67 36 29 09 5c 0a |g4,arg5,|arg6).\.|
|00017d40| 09 28 28 28 28 28 28 28 | 28 28 28 28 61 72 67 36 |.(((((((|((((arg6|
|00017d50| 29 20 3c 3c 20 4d 41 53 | 4b 53 5a 29 20 7c 20 61 |) << MAS|KSZ) | a|
|00017d60| 72 67 35 29 20 3c 3c 20 | 4d 41 53 4b 53 5a 29 20 |rg5) << |MASKSZ) |
|00017d70| 7c 20 61 72 67 34 29 20 | 3c 3c 20 4d 41 53 4b 53 || arg4) |<< MASKS|
|00017d80| 5a 29 20 7c 20 61 72 67 | 33 29 20 3c 3c 20 4d 41 |Z) | arg|3) << MA|
|00017d90| 53 4b 53 5a 29 20 7c 20 | 61 72 67 32 20 29 20 3c |SKSZ) | |arg2 ) <|
|00017da0| 3c 20 4d 41 53 4b 53 5a | 29 20 7c 20 61 72 67 31 |< MASKSZ|) | arg1|
|00017db0| 29 0a 0a 23 64 65 66 69 | 6e 65 20 4e 55 4c 4c 50 |)..#defi|ne NULLP|
|00017dc0| 20 28 28 69 6e 74 20 28 | 2a 29 28 29 29 30 29 0a | ((int (|*)())0).|
|00017dd0| 0a 2f 2a 20 72 65 74 75 | 72 6e 20 74 79 70 65 73 |./* retu|rn types|
|00017de0| 2c 20 74 6f 20 66 6f 72 | 63 65 20 73 65 61 72 63 |, to for|ce searc|
|00017df0| 68 20 6f 66 20 6f 74 68 | 65 72 20 74 61 62 6c 65 |h of oth|er table|
|00017e00| 73 20 2a 2f 0a 0a 23 64 | 65 66 69 6e 65 20 58 4e |s */..#d|efine XN|
|00017e10| 58 54 59 50 09 30 78 30 | 38 09 09 2f 2a 20 63 78 |XTYP.0x0|8../* cx|
|00017e20| 65 6e 69 78 20 74 79 70 | 65 20 2a 2f 0a 23 64 65 |enix typ|e */.#de|
|00017e30| 66 69 6e 65 20 55 54 53 | 54 59 50 09 30 78 30 39 |fine UTS|TYP.0x09|
|00017e40| 09 09 2f 2a 20 75 74 73 | 73 79 73 20 74 79 70 65 |../* uts|sys type|
|00017e50| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4c 43 4c 54 | */.#def|ine LCLT|
|00017e60| 59 50 09 30 78 30 41 09 | 09 2f 2a 20 63 6c 6f 63 |YP.0x0A.|./* cloc|
|00017e70| 61 6c 20 74 79 70 65 20 | 2a 2f 0a 0a 2f 2a 0a 20 |al type |*/../*. |
|00017e80| 2a 20 53 74 72 75 63 74 | 75 72 65 20 6f 66 20 74 |* Struct|ure of t|
|00017e90| 68 65 20 73 79 73 74 65 | 6d 2d 65 6e 74 72 79 20 |he syste|m-entry |
|00017ea0| 74 61 62 6c 65 0a 20 2a | 2f 0a 65 78 74 65 72 6e |table. *|/.extern|
|00017eb0| 20 73 74 72 75 63 74 20 | 73 79 73 65 6e 74 20 7b | struct |sysent {|
|00017ec0| 0a 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 09 |..unsign|ed char.|
|00017ed0| 73 79 5f 72 65 74 3b 09 | 09 2f 2a 20 54 79 70 65 |sy_ret;.|./* Type|
|00017ee0| 20 6f 66 20 72 65 74 75 | 72 6e 20 76 61 6c 75 65 | of retu|rn value|
|00017ef0| 20 28 69 6e 74 2c 20 6c | 6f 6e 67 2c 0a 09 09 09 | (int, l|ong,....|
|00017f00| 09 09 09 70 6f 69 6e 74 | 65 72 29 20 2a 2f 0a 09 |...point|er) */..|
|00017f10| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 73 79 |unsigned| char.sy|
|00017f20| 5f 61 72 67 33 38 36 3b | 09 2f 06 01 0e 02 00 83 |_arg386;|./......|
|00017f30| 01 02 00 2a 20 6e 75 6d | 62 65 72 20 6f 66 20 33 |...* num|ber of 3|
|00017f40| 38 36 20 61 72 67 73 20 | 6f 6e 20 75 73 65 72 20 |86 args |on user |
|00017f50| 73 74 61 63 6b 0a 09 09 | 09 09 09 20 2a 2f 0a 09 |stack...|... */..|
|00017f60| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 73 79 |unsigned| char.sy|
|00017f70| 5f 6e 6c 61 72 67 32 38 | 36 3b 09 2f 2a 20 4c 61 |_nlarg28|6;./* La|
|00017f80| 72 67 65 20 6d 6f 64 65 | 6c 20 32 38 36 3a 20 6e |rge mode|l 286: n|
|00017f90| 75 6d 62 65 72 20 6f 66 | 20 77 6f 72 64 20 61 72 |umber of| word ar|
|00017fa0| 67 73 0a 09 09 09 09 09 | 20 20 20 28 61 72 67 73 |gs......| (args|
|00017fb0| 20 61 72 65 20 6f 6e 20 | 75 73 65 72 20 73 74 61 | are on |user sta|
|00017fc0| 63 6b 29 20 2a 2f 20 0a | 09 75 6e 73 69 67 6e 65 |ck) */ .|.unsigne|
|00017fd0| 64 20 63 68 61 72 09 73 | 79 5f 6e 6d 61 72 67 32 |d char.s|y_nmarg2|
|00017fe0| 38 36 3b 09 2f 2a 20 53 | 6d 61 6c 6c 2f 4d 69 64 |86;./* S|mall/Mid|
|00017ff0| 64 6c 65 20 6d 6f 64 65 | 6c 20 32 38 36 3a 20 6d |dle mode|l 286: m|
|00018000| 61 78 20 6e 75 6d 62 65 | 72 20 0a 09 09 09 09 09 |ax numbe|r ......|
|00018010| 20 20 20 6f 66 20 77 6f | 72 64 20 61 72 67 73 20 | of wo|rd args |
|00018020| 70 61 73 73 65 64 20 6f | 6e 20 75 73 65 72 20 73 |passed o|n user s|
|00018030| 74 61 63 6b 2c 20 0a 09 | 09 09 09 09 20 20 20 69 |tack, ..|.... i|
|00018040| 6e 73 74 65 61 64 20 6f | 66 20 69 6e 20 72 65 67 |nstead o|f in reg|
|00018050| 69 73 74 65 72 73 20 2a | 2f 0a 09 75 6e 73 69 67 |isters *|/..unsig|
|00018060| 6e 65 64 09 73 79 5f 61 | 72 67 6d 61 73 6b 3b 09 |ned.sy_a|rgmask;.|
|00018070| 2f 2a 20 6d 61 73 6b 20 | 66 6f 72 20 61 72 67 73 |/* mask |for args|
|00018080| 20 2a 2f 0a 09 69 6e 74 | 09 09 28 2a 73 79 5f 63 | */..int|..(*sy_c|
|00018090| 61 6c 6c 29 28 29 3b 09 | 2f 2a 20 68 61 6e 64 6c |all)();.|/* handl|
|000180a0| 65 72 20 2a 2f 0a 7d 20 | 73 79 73 65 6e 74 5b 5d |er */.} |sysent[]|
|000180b0| 3b 0a 0a 23 65 6c 73 65 | 0a 0a 73 74 72 75 63 74 |;..#else|..struct|
|000180c0| 20 73 79 73 65 6e 74 20 | 7b 0a 09 63 68 61 72 09 | sysent |{..char.|
|000180d0| 20 73 79 5f 6e 6c 61 72 | 67 3b 09 2f 2a 20 6c 61 | sy_nlar|g;./* la|
|000180e0| 72 67 65 20 6d 6f 64 65 | 6c 20 61 72 67 20 77 6f |rge mode|l arg wo|
|000180f0| 72 64 20 63 6f 75 6e 74 | 20 2a 2f 0a 09 63 68 61 |rd count| */..cha|
|00018100| 72 09 20 73 79 5f 6e 6d | 61 72 67 3b 09 2f 2a 20 |r. sy_nm|arg;./* |
|00018110| 6d 69 64 64 6c 65 20 6d | 6f 64 65 6c 20 61 72 67 |middle m|odel arg|
|00018120| 20 77 6f 72 64 73 20 28 | 69 66 20 72 65 67 20 6f | words (|if reg o|
|00018130| 76 65 72 06 01 0f 02 00 | d0 01 02 00 66 6c 6f 77 |ver.....|....flow|
|00018140| 29 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 73 |) */..un|signed s|
|00018150| 79 5f 61 72 67 6d 61 73 | 6b 3b 09 2f 2a 20 6d 61 |y_argmas|k;./* ma|
|00018160| 73 6b 20 74 6f 20 73 68 | 6f 77 20 74 79 70 65 20 |sk to sh|ow type |
|00018170| 6f 66 20 61 72 67 75 6d | 65 6e 74 28 73 29 20 2a |of argum|ent(s) *|
|00018180| 2f 0a 09 69 6e 74 09 20 | 28 2a 73 79 5f 63 61 6c |/..int. |(*sy_cal|
|00018190| 6c 29 28 29 3b 09 2f 2a | 20 68 61 6e 64 6c 65 72 |l)();./*| handler|
|000181a0| 20 2a 2f 0a 7d 3b 0a 0a | 2f 2a 09 69 64 74 20 74 | */.};..|/*.idt t|
|000181b0| 61 62 6c 65 20 65 6e 74 | 72 79 20 66 6f 72 6d 61 |able ent|ry forma|
|000181c0| 74 20 2a 2f 0a 0a 23 69 | 66 64 65 66 20 4d 5f 49 |t */..#i|fdef M_I|
|000181d0| 32 38 36 0a 73 74 72 75 | 63 74 20 69 64 74 20 7b |286.stru|ct idt {|
|000181e0| 0a 09 69 6e 74 09 28 66 | 61 72 20 2a 69 5f 66 75 |..int.(f|ar *i_fu|
|000181f0| 6e 63 29 28 29 3b 0a 09 | 63 68 61 72 09 69 5f 68 |nc)();..|char.i_h|
|00018200| 62 61 73 65 3b 0a 09 63 | 68 61 72 09 69 5f 74 79 |base;..c|har.i_ty|
|00018210| 70 65 3b 0a 09 73 68 6f | 72 74 09 69 5f 70 61 64 |pe;..sho|rt.i_pad|
|00018220| 3b 0a 7d 3b 0a 23 65 6e | 64 69 66 0a 0a 65 78 74 |;.};.#en|dif..ext|
|00018230| 65 72 6e 20 73 68 6f 72 | 74 20 69 63 6f 64 65 5b |ern shor|t icode[|
|00018240| 5d 3b 0a 75 73 68 6f 72 | 74 20 73 7a 69 63 6f 64 |];.ushor|t szicod|
|00018250| 65 3b 0a 0a 23 65 6e 64 | 69 66 0a 0a 23 64 65 66 |e;..#end|if..#def|
|00018260| 69 6e 65 09 69 6e 73 71 | 75 65 28 71 2c 70 29 09 |ine.insq|ue(q,p).|
|00018270| 5f 69 6e 73 71 75 65 28 | 28 66 61 64 64 72 5f 74 |_insque(|(faddr_t|
|00018280| 29 71 2c 28 66 61 64 64 | 72 5f 74 29 70 29 0a 23 |)q,(fadd|r_t)p).#|
|00018290| 64 65 66 69 6e 65 09 72 | 65 6d 71 75 65 28 71 29 |define.r|emque(q)|
|000182a0| 09 5f 72 65 6d 71 75 65 | 28 28 66 61 64 64 72 5f |._remque|((faddr_|
|000182b0| 74 29 71 29 0a 6e 74 5b | 5d 3b 0a 0a 23 65 6c 73 |t)q).nt[|];..#els|
|000182c0| 65 0a 0a 73 74 72 75 63 | 74 20 73 79 73 65 6e 74 |e..struc|t sysent|
|000182d0| 20 7b 0a 09 63 68 61 72 | 09 20 73 79 5f 6e 6c 61 | {..char|. sy_nla|
|000182e0| 72 67 3b 09 2f 2a 20 6c | 61 72 67 65 20 6d 6f 64 |rg;./* l|arge mod|
|000182f0| 65 6c 20 61 72 67 20 77 | 6f 72 64 20 63 6f 75 6e |el arg w|ord coun|
|00018300| 74 20 2a 2f 0a 09 63 68 | 61 72 09 20 73 79 5f 6e |t */..ch|ar. sy_n|
|00018310| 6d 61 72 67 3b 09 2f 2a | 20 6d 69 64 64 6c 65 20 |marg;./*| middle |
|00018320| 6d 6f 64 65 6c 20 61 72 | 67 20 77 6f 72 64 73 20 |model ar|g words |
|00018330| 28 69 66 20 72 65 67 20 | 6f 76 65 72 0f 07 00 f3 |(if reg |over....|
|00018340| 07 00 01 02 00 7d 63 00 | 02 00 1d 2e 2f 75 73 72 |.....}c.|..../usr|
|00018350| 2f 69 6e 63 6c 75 64 65 | 2f 73 79 73 2f 73 79 73 |/include|/sys/sys|
|00018360| 6d 61 63 72 6f 73 2e 68 | 01 23 00 00 00 39 00 20 |macros.h|.#...9. |
|00018370| 20 20 34 34 34 20 00 20 | 20 20 20 20 30 20 00 20 | 444 . | 0 . |
|00018380| 20 20 20 20 30 20 00 20 | 20 20 20 20 20 20 37 33 | 0 . | 73|
|00018390| 32 37 20 20 34 32 34 34 | 33 34 30 31 35 37 20 20 |27 4244|340157 |
|000183a0| 31 31 34 32 32 00 20 01 | b2 00 00 07 00 02 02 00 |11422. .|........|
|000183b0| 4e 01 02 00 2f 2a 0a 20 | 2a 09 40 28 23 29 20 73 |N.../*. |*.@(#) s|
|000183c0| 79 73 6d 61 63 72 6f 73 | 2e 68 20 32 2e 32 20 38 |ysmacros|.h 2.2 8|
|000183d0| 38 2f 30 35 2f 31 38 20 | 0a 20 2a 0a 20 2a 09 43 |8/05/18 |. *. *.C|
|000183e0| 6f 70 79 72 69 67 68 74 | 20 28 43 29 20 54 68 65 |opyright| (C) The|
|000183f0| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|00018400| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|00018410| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2c 20 31 |5, 1986,| 1987, 1|
|00018420| 39 38 38 2e 0a 20 2a 09 | 43 6f 70 79 72 69 67 68 |988.. *.|Copyrigh|
|00018430| 74 20 28 43 29 20 4d 69 | 63 72 6f 73 6f 66 74 20 |t (C) Mi|crosoft |
|00018440| 43 6f 72 70 6f 72 61 74 | 69 6f 6e 2c 20 31 39 38 |Corporat|ion, 198|
|00018450| 34 2c 20 31 39 38 35 2c | 20 31 39 38 36 2c 20 31 |4, 1985,| 1986, 1|
|00018460| 39 38 37 2c 20 31 39 38 | 38 2e 0a 20 2a 09 54 68 |987, 198|8.. *.Th|
|00018470| 69 73 20 4d 6f 64 75 6c | 65 20 63 6f 6e 74 61 69 |is Modul|e contai|
|00018480| 6e 73 20 50 72 6f 70 72 | 69 65 74 61 72 79 20 49 |ns Propr|ietary I|
|00018490| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 6f 66 0a 20 2a |nformati|on of. *|
|000184a0| 09 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 |.The San|ta Cruz |
|000184b0| 4f 70 65 72 61 74 69 6f | 6e 2c 20 4d 69 63 72 6f |Operatio|n, Micro|
|000184c0| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|000184d0| 0a 20 2a 09 61 6e 64 20 | 41 54 26 54 2c 20 61 6e |. *.and |AT&T, an|
|000184e0| 64 20 73 68 6f 75 6c 64 | 20 62 65 20 74 72 65 61 |d should| be trea|
|000184f0| 74 65 64 20 61 73 20 43 | 6f 6e 66 69 64 65 6e 74 |ted as C|onfident|
|00018500| 69 61 6c 2e 0a 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |ial.. */|../*. * |
|00018510| 53 6f 6d 65 20 6d 61 63 | 72 6f 73 20 66 6f 72 20 |Some mac|ros for |
|00018520| 75 6e 69 74 73 20 63 6f | 6e 76 65 72 73 69 6f 6e |units co|nversion|
|00018530| 0a 20 2a 2f 0a 2f 2a 20 | 43 6f 72 65 20 63 6c 69 |. */./* |Core cli|
|00018540| 63 6b 73 20 74 6f 20 73 | 65 67 6d 65 6e 74 73 20 |cks to s|egments |
|00018550| 61 6e 64 20 76 69 63 65 | 20 76 65 72 73 61 20 2a |and vice| versa *|
|00018560| 2f 0a 23 64 65 66 69 6e | 65 20 63 74 6f 73 28 78 |/.#defin|e ctos(x|
|00018570| 29 20 28 28 78 2b 28 4e | 43 50 53 2d 31 29 29 2f |) ((x+(N|CPS-1))/|
|00018580| 4e 43 50 53 29 0a 23 64 | 65 66 69 6e 65 09 73 74 |NCPS).#d|efine.st|
|00018590| 6f 63 28 78 29 20 28 28 | 78 29 2a 4e 43 50 53 29 |oc(x) ((|x)*NCPS)|
|000185a0| 0a 0a 2f 2a 20 43 6f 72 | 65 20 63 6c 69 63 6b 73 |../* Cor|e clicks|
|000185b0| 20 74 6f 20 07 00 03 02 | 00 db 01 02 00 64 69 73 | to ....|.....dis|
|000185c0| 6b 20 62 6c 6f 63 6b 73 | 20 2a 2f 0a 23 69 66 64 |k blocks| */.#ifd|
|000185d0| 65 66 09 4e 43 50 44 0a | 23 64 65 66 69 6e 65 09 |ef.NCPD.|#define.|
|000185e0| 63 74 6f 64 28 78 29 20 | 28 28 78 2b 28 4e 43 50 |ctod(x) |((x+(NCP|
|000185f0| 44 2d 31 29 29 2f 4e 43 | 50 44 29 0a 23 65 6c 73 |D-1))/NC|PD).#els|
|00018600| 65 0a 23 64 65 66 69 6e | 65 20 63 74 6f 64 28 78 |e.#defin|e ctod(x|
|00018610| 29 09 28 28 78 29 20 2a | 20 4e 44 50 43 29 0a 23 |).((x) *| NDPC).#|
|00018620| 65 6e 64 69 66 0a 0a 2f | 2a 20 69 6e 75 6d 62 65 |endif../|* inumbe|
|00018630| 72 20 74 6f 20 64 69 73 | 6b 20 61 64 64 72 65 73 |r to dis|k addres|
|00018640| 73 20 2a 2f 0a 23 69 66 | 64 65 66 20 49 4e 4f 53 |s */.#if|def INOS|
|00018650| 48 49 46 54 0a 23 64 65 | 66 69 6e 65 09 69 74 6f |HIFT.#de|fine.ito|
|00018660| 64 28 78 29 09 28 64 61 | 64 64 72 5f 74 29 28 28 |d(x).(da|ddr_t)((|
|00018670| 28 75 6e 73 69 67 6e 65 | 64 29 78 2b 28 32 2a 49 |(unsigne|d)x+(2*I|
|00018680| 4e 4f 50 42 2d 31 29 29 | 3e 3e 49 4e 4f 53 48 49 |NOPB-1))|>>INOSHI|
|00018690| 46 54 29 0a 23 65 6c 73 | 65 0a 23 64 65 66 69 6e |FT).#els|e.#defin|
|000186a0| 65 09 69 74 6f 64 28 78 | 29 09 28 64 61 64 64 72 |e.itod(x|).(daddr|
|000186b0| 5f 74 29 28 28 28 75 6e | 73 69 67 6e 65 64 29 78 |_t)(((un|signed)x|
|000186c0| 2b 28 32 2a 49 4e 4f 50 | 42 2d 31 29 29 2f 49 4e |+(2*INOP|B-1))/IN|
|000186d0| 4f 50 42 29 0a 23 65 6e | 64 69 66 0a 0a 2f 2a 20 |OPB).#en|dif../* |
|000186e0| 69 6e 75 6d 62 65 72 20 | 74 6f 20 64 69 73 6b 20 |inumber |to disk |
|000186f0| 6f 66 66 73 65 74 20 2a | 2f 0a 23 69 66 64 65 66 |offset *|/.#ifdef|
|00018700| 20 49 4e 4f 53 48 49 46 | 54 0a 23 64 65 66 69 6e | INOSHIF|T.#defin|
|00018710| 65 09 69 74 6f 6f 28 78 | 29 09 28 69 6e 74 29 28 |e.itoo(x|).(int)(|
|00018720| 28 28 75 6e 73 69 67 6e | 65 64 29 78 2b 28 32 2a |((unsign|ed)x+(2*|
|00018730| 49 4e 4f 50 42 2d 31 29 | 29 26 28 49 4e 4f 50 42 |INOPB-1)|)&(INOPB|
|00018740| 2d 31 29 29 0a 23 65 6c | 73 65 0a 23 64 65 66 69 |-1)).#el|se.#defi|
|00018750| 6e 65 09 69 74 6f 6f 28 | 78 29 09 28 69 6e 74 29 |ne.itoo(|x).(int)|
|00018760| 28 28 28 75 6e 73 69 67 | 6e 65 64 29 78 2b 28 32 |(((unsig|ned)x+(2|
|00018770| 2a 49 4e 4f 50 42 2d 31 | 29 29 25 49 4e 4f 50 42 |*INOPB-1|))%INOPB|
|00018780| 29 0a 23 65 6e 64 69 66 | 0a 0a 2f 2a 20 63 6c 69 |).#endif|../* cli|
|00018790| 63 6b 73 20 74 6f 20 62 | 79 74 65 73 20 2a 2f 0a |cks to b|ytes */.|
|000187a0| 23 69 66 64 65 66 20 42 | 50 43 53 48 49 46 54 0a |#ifdef B|PCSHIFT.|
|000187b0| 23 64 65 66 69 6e 65 09 | 63 74 6f 62 28 07 00 04 |#define.|ctob(...|
|000187c0| 02 00 de 01 02 00 78 29 | 09 28 28 28 6c 6f 6e 67 |......x)|.(((long|
|000187d0| 29 20 78 29 20 3c 3c 20 | 42 50 43 53 48 49 46 54 |) x) << |BPCSHIFT|
|000187e0| 29 0a 23 65 6c 73 65 0a | 23 64 65 66 69 6e 65 09 |).#else.|#define.|
|000187f0| 63 74 6f 62 28 78 29 09 | 28 28 28 6c 6f 6e 67 29 |ctob(x).|(((long)|
|00018800| 20 78 29 20 2a 20 4e 42 | 50 43 29 0a 23 65 6e 64 | x) * NB|PC).#end|
|00018810| 69 66 0a 0a 2f 2a 20 62 | 79 74 65 73 20 74 6f 20 |if../* b|ytes to |
|00018820| 63 6c 69 63 6b 73 20 2a | 2f 0a 23 69 66 64 65 66 |clicks *|/.#ifdef|
|00018830| 20 42 50 43 53 48 49 46 | 54 0a 23 64 65 66 69 6e | BPCSHIF|T.#defin|
|00018840| 65 09 62 74 6f 63 28 78 | 29 09 28 28 28 75 6e 73 |e.btoc(x|).(((uns|
|00018850| 69 67 6e 65 64 29 28 78 | 29 2b 28 4e 42 50 43 2d |igned)(x|)+(NBPC-|
|00018860| 31 29 29 3e 3e 42 50 43 | 53 48 49 46 54 29 0a 23 |1))>>BPC|SHIFT).#|
|00018870| 64 65 66 69 6e 65 09 62 | 74 6f 63 74 28 78 29 09 |define.b|toct(x).|
|00018880| 28 28 75 6e 73 69 67 6e | 65 64 29 28 78 29 3e 3e |((unsign|ed)(x)>>|
|00018890| 42 50 43 53 48 49 46 54 | 29 0a 23 65 6c 73 65 0a |BPCSHIFT|).#else.|
|000188a0| 23 64 65 66 69 6e 65 09 | 62 74 6f 63 28 78 29 09 |#define.|btoc(x).|
|000188b0| 28 28 28 75 6e 73 69 67 | 6e 65 64 29 28 78 29 2b |(((unsig|ned)(x)+|
|000188c0| 28 4e 42 50 43 2d 31 29 | 29 2f 4e 42 50 43 29 0a |(NBPC-1)|)/NBPC).|
|000188d0| 23 64 65 66 69 6e 65 09 | 62 74 6f 63 74 28 78 29 |#define.|btoct(x)|
|000188e0| 09 28 28 75 6e 73 69 67 | 6e 65 64 29 28 78 29 2f |.((unsig|ned)(x)/|
|000188f0| 4e 42 50 43 29 0a 23 65 | 6e 64 69 66 0a 0a 2f 2a |NBPC).#e|ndif../*|
|00018900| 20 6d 61 6a 6f 72 20 70 | 61 72 74 20 6f 66 20 61 | major p|art of a|
|00018910| 20 64 65 76 69 63 65 20 | 2a 2f 0a 23 64 65 66 69 | device |*/.#defi|
|00018920| 6e 65 09 6d 61 6a 6f 72 | 28 78 29 09 28 69 6e 74 |ne.major|(x).(int|
|00018930| 29 28 28 75 6e 73 69 67 | 6e 65 64 29 78 3e 3e 38 |)((unsig|ned)x>>8|
|00018940| 29 0a 23 64 65 66 69 6e | 65 09 62 6d 61 6a 6f 72 |).#defin|e.bmajor|
|00018950| 28 78 29 09 28 69 6e 74 | 29 28 28 28 75 6e 73 69 |(x).(int|)(((unsi|
|00018960| 67 6e 65 64 29 78 3e 3e | 38 29 26 30 33 37 29 0a |gned)x>>|8)&037).|
|00018970| 23 64 65 66 69 6e 65 09 | 62 72 64 65 76 28 78 29 |#define.|brdev(x)|
|00018980| 09 28 78 26 30 78 31 66 | 66 66 29 0a 0a 2f 2a 20 |.(x&0x1f|ff)../* |
|00018990| 6d 69 6e 6f 72 20 70 61 | 72 74 20 6f 66 20 61 20 |minor pa|rt of a |
|000189a0| 64 65 76 69 63 65 20 2a | 2f 0a 23 64 65 66 69 6e |device *|/.#defin|
|000189b0| 65 09 6d 69 6e 6f 72 28 | 78 29 09 28 69 6e 74 29 |e.minor(|x).(int)|
|000189c0| 28 78 26 30 33 37 07 00 | 05 02 00 d0 01 02 00 37 |(x&037..|.......7|
|000189d0| 29 0a 0a 2f 2a 20 6d 61 | 6b 65 20 61 20 64 65 76 |)../* ma|ke a dev|
|000189e0| 69 63 65 20 6e 75 6d 62 | 65 72 20 2a 2f 0a 23 64 |ice numb|er */.#d|
|000189f0| 65 66 69 6e 65 09 6d 61 | 6b 65 64 65 76 28 78 2c |efine.ma|kedev(x,|
|00018a00| 79 29 09 28 64 65 76 5f | 74 29 28 28 28 78 29 3c |y).(dev_|t)(((x)<|
|00018a10| 3c 38 29 20 7c 20 28 79 | 29 29 0a 0a 0a 0a 23 69 |<8) | (y|))....#i|
|00018a20| 66 6e 64 65 66 20 4d 5f | 49 33 38 36 0a 2f 2a 20 |fndef M_|I386./* |
|00018a30| 66 61 72 20 70 6f 69 6e | 74 65 72 20 28 66 61 64 |far poin|ter (fad|
|00018a40| 64 72 5f 74 29 20 74 6f | 20 73 65 67 6d 65 6e 74 |dr_t) to| segment|
|00018a50| 20 28 69 6e 74 29 20 28 | 67 65 74 20 68 69 67 68 | (int) (|get high|
|00018a60| 20 31 36 20 62 69 74 73 | 20 6f 66 20 66 61 64 64 | 16 bits| of fadd|
|00018a70| 72 5f 74 29 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |r_t) */.|#define.|
|00018a80| 66 74 6f 73 65 67 28 78 | 29 09 09 28 28 75 6e 73 |ftoseg(x|)..((uns|
|00018a90| 69 67 6e 65 64 29 28 28 | 6c 6f 6e 67 29 28 78 29 |igned)((|long)(x)|
|00018aa0| 20 3e 3e 20 31 36 29 29 | 0a 0a 2f 2a 20 66 61 72 | >> 16))|../* far|
|00018ab0| 20 70 6f 69 6e 74 65 72 | 20 28 66 61 64 64 72 5f | pointer| (faddr_|
|00018ac0| 74 29 20 74 6f 20 6f 66 | 66 73 65 74 20 28 69 6e |t) to of|fset (in|
|00018ad0| 74 29 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 66 74 |t) */.#d|efine.ft|
|00018ae0| 6f 6f 66 66 28 78 29 09 | 09 28 28 75 6e 73 69 67 |ooff(x).|.((unsig|
|00018af0| 6e 65 64 29 28 28 6c 6f | 6e 67 29 28 78 29 29 29 |ned)((lo|ng)(x)))|
|00018b00| 0a 0a 2f 2a 20 72 65 61 | 6c 20 6d 6f 64 65 20 66 |../* rea|l mode f|
|00018b10| 61 72 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 70 68 |ar point|er to ph|
|00018b20| 79 73 69 63 61 6c 20 61 | 64 64 72 65 73 73 20 2a |ysical a|ddress *|
|00018b30| 2f 0a 23 64 65 66 69 6e | 65 20 66 74 6f 70 28 78 |/.#defin|e ftop(x|
|00018b40| 29 20 5c 0a 09 28 28 70 | 61 64 64 72 5f 74 29 28 |) \..((p|addr_t)(|
|00018b50| 28 28 28 6c 6f 6e 67 29 | 28 78 29 20 3e 3e 20 31 |(((long)|(x) >> 1|
|00018b60| 32 29 20 26 20 30 78 30 | 30 30 66 66 66 66 30 4c |2) & 0x0|00ffff0L|
|00018b70| 29 20 2b 20 28 75 73 68 | 6f 72 74 29 28 78 29 29 |) + (ush|ort)(x))|
|00018b80| 29 0a 0a 2f 2a 20 73 65 | 67 20 6f 66 66 20 74 6f |)../* se|g off to|
|00018b90| 20 66 61 72 20 70 6f 69 | 6e 74 65 72 20 28 66 61 | far poi|nter (fa|
|00018ba0| 64 64 72 5f 74 29 20 2a | 2f 0a 23 64 65 66 69 6e |ddr_t) *|/.#defin|
|00018bb0| 65 20 73 6f 74 6f 66 61 | 72 28 73 65 67 2c 20 6f |e sotofa|r(seg, o|
|00018bc0| 66 66 29 20 5c 0a 09 28 | 28 28 63 68 61 72 20 07 |ff) \..(|((char .|
|00018bd0| 00 06 02 00 90 01 02 00 | 66 61 72 20 2a 29 20 28 |........|far *) (|
|00018be0| 28 28 6c 6f 6e 67 29 28 | 75 6e 73 69 67 6e 65 64 |((long)(|unsigned|
|00018bf0| 29 20 28 73 65 67 29 29 | 20 3c 3c 20 31 36 29 29 |) (seg))| << 16))|
|00018c00| 20 2b 20 28 75 6e 73 69 | 67 6e 65 64 29 20 28 6f | + (unsi|gned) (o|
|00018c10| 66 66 29 29 0a 0a 2f 2a | 20 72 65 61 6c 20 6d 6f |ff))../*| real mo|
|00018c20| 64 65 20 73 65 67 2c 20 | 6f 66 66 20 74 6f 20 70 |de seg, |off to p|
|00018c30| 68 79 73 69 63 61 6c 20 | 61 64 64 72 65 73 73 20 |hysical |address |
|00018c40| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 73 6f 74 6f 70 |*/.#defi|ne sotop|
|00018c50| 28 73 65 67 2c 20 6f 66 | 66 29 20 5c 0a 09 28 28 |(seg, of|f) \..((|
|00018c60| 28 28 70 61 64 64 72 5f | 74 29 20 28 75 73 68 6f |((paddr_|t) (usho|
|00018c70| 72 74 29 20 28 73 65 67 | 29 29 20 3c 3c 20 34 29 |rt) (seg|)) << 4)|
|00018c80| 20 2b 20 28 75 73 68 6f | 72 74 29 20 28 6f 66 66 | + (usho|rt) (off|
|00018c90| 29 29 0a 0a 2f 2a 20 70 | 68 79 73 69 63 61 6c 20 |))../* p|hysical |
|00018ca0| 61 64 64 72 65 73 73 20 | 74 6f 20 72 65 61 6c 20 |address |to real |
|00018cb0| 6d 6f 64 65 20 66 61 72 | 20 70 6f 69 6e 74 65 72 |mode far| pointer|
|00018cc0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 70 74 6f 66 | */.#def|ine ptof|
|00018cd0| 61 72 28 70 29 20 5c 0a | 09 28 28 63 68 61 72 20 |ar(p) \.|.((char |
|00018ce0| 66 61 72 20 2a 29 20 28 | 28 28 28 70 29 20 3c 3c |far *) (|(((p) <<|
|00018cf0| 20 31 32 29 20 26 20 30 | 78 66 66 66 66 30 30 30 | 12) & 0|xffff000|
|00018d00| 30 29 20 2b 20 28 28 70 | 29 20 26 20 30 78 30 30 |0) + ((p|) & 0x00|
|00018d10| 30 30 30 30 30 66 29 29 | 29 0a 0a 2f 2a 20 70 68 |00000f))|)../* ph|
|00018d20| 79 73 69 63 61 6c 20 61 | 64 64 72 65 73 73 20 74 |ysical a|ddress t|
|00018d30| 6f 20 72 65 61 6c 20 6d | 6f 64 65 20 73 65 67 2c |o real m|ode seg,|
|00018d40| 20 6f 66 66 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 | off */.|#define |
|00018d50| 70 74 6f 73 65 67 28 70 | 29 09 28 28 75 73 68 6f |ptoseg(p|).((usho|
|00018d60| 72 74 29 20 28 28 70 29 | 20 3e 3e 20 34 29 29 0a |rt) ((p)| >> 4)).|
|00018d70| 23 64 65 66 69 6e 65 20 | 70 74 6f 6f 66 66 28 70 |#define |ptooff(p|
|00018d80| 29 09 28 28 75 73 68 6f | 72 74 29 20 28 70 29 20 |).((usho|rt) (p) |
|00018d90| 26 20 30 78 30 30 30 66 | 29 0a 0a 23 64 65 66 69 |& 0x000f|)..#defi|
|00018da0| 6e 65 20 46 41 44 44 52 | 28 73 65 67 2c 20 6f 66 |ne FADDR|(seg, of|
|00018db0| 66 29 09 09 6f 66 66 2c | 20 73 65 67 0a 0a 2f 2a |f)..off,| seg../*|
|00018dc0| 20 4d 65 6d 6f 72 79 20 | 6c 6f 63 61 74 69 6f 6e | Memory |location|
|00018dd0| 20 74 6f 20 72 65 61 6c | 07 00 07 02 00 07 01 02 | to real|........|
|00018de0| 00 20 6d 6f 64 65 20 66 | 61 72 20 70 6f 69 6e 74 |. mode f|ar point|
|00018df0| 65 72 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 6d 6c |er */.#d|efine ml|
|00018e00| 74 6f 66 61 72 28 78 29 | 09 28 28 63 68 61 72 20 |tofar(x)|.((char |
|00018e10| 66 61 72 20 2a 29 20 28 | 28 6c 6f 6e 67 29 28 78 |far *) (|(long)(x|
|00018e20| 29 20 3c 3c 20 31 36 20 | 29 29 0a 0a 2f 2a 20 4d |) << 16 |))../* M|
|00018e30| 65 6d 6f 72 79 20 6c 6f | 63 61 74 69 6f 6e 20 74 |emory lo|cation t|
|00018e40| 6f 20 6c 6f 67 69 63 61 | 6c 20 61 64 64 72 65 73 |o logica|l addres|
|00018e50| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 6d 6c 74 |s */.#de|fine mlt|
|00018e60| 6f 61 28 78 29 20 28 28 | 70 61 64 64 72 5f 74 29 |oa(x) ((|paddr_t)|
|00018e70| 20 28 78 29 20 3c 3c 20 | 4c 4d 4d 50 47 53 5a 29 | (x) << |LMMPGSZ)|
|00018e80| 0a 0a 2f 2a 20 61 64 64 | 72 65 73 73 20 28 6c 6f |../* add|ress (lo|
|00018e90| 6e 67 20 28 33 32 20 62 | 69 74 29 29 20 74 6f 20 |ng (32 b|it)) to |
|00018ea0| 70 61 67 65 20 63 6f 75 | 6e 74 20 28 69 6e 74 29 |page cou|nt (int)|
|00018eb0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 61 74 6f 6d 6c |*/.#defi|ne.atoml|
|00018ec0| 28 78 29 09 28 28 69 6e | 74 29 28 28 28 70 61 64 |(x).((in|t)(((pad|
|00018ed0| 64 72 5f 74 29 28 78 29 | 2b 28 4d 4d 50 47 53 5a |dr_t)(x)|+(MMPGSZ|
|00018ee0| 2d 31 29 29 3e 3e 4c 4d | 4d 50 47 53 5a 29 29 0a |-1))>>LM|MPGSZ)).|
|00018ef0| 0a 2f 2a 20 61 64 64 72 | 65 73 73 20 28 6c 6f 6e |./* addr|ess (lon|
|00018f00| 67 20 28 33 32 20 62 69 | 74 29 29 20 74 6f 20 70 |g (32 bi|t)) to p|
|00018f10| 61 67 65 20 6e 75 6d 62 | 65 72 20 28 69 6e 74 29 |age numb|er (int)|
|00018f20| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 61 74 6f 6d 6c |*/.#defi|ne.atoml|
|00018f30| 74 28 78 29 09 28 28 69 | 6e 74 29 28 28 28 70 61 |t(x).((i|nt)(((pa|
|00018f40| 64 64 72 5f 74 29 28 78 | 29 29 3e 3e 4c 4d 4d 50 |ddr_t)(x|))>>LMMP|
|00018f50| 47 53 5a 29 29 0a 0a 23 | 64 65 66 69 6e 65 20 44 |GSZ))..#|define D|
|00018f60| 53 48 46 54 09 20 20 28 | 42 53 48 49 46 54 2d 4c |SHFT. (|BSHIFT-L|
|00018f70| 4d 4d 50 47 53 5a 29 0a | 0a 23 64 65 66 69 6e 65 |MMPGSZ).|.#define|
|00018f80| 09 6d 73 74 6f 64 28 78 | 29 20 20 28 28 75 6e 73 |.mstod(x|) ((uns|
|00018f90| 69 67 6e 65 64 29 28 28 | 78 29 20 2b 20 42 53 49 |igned)((|x) + BSI|
|00018fa0| 5a 45 2f 4d 4d 50 47 53 | 5a 20 2d 20 31 29 20 3e |ZE/MMPGS|Z - 1) >|
|00018fb0| 3e 20 44 53 48 46 54 29 | 0a 23 64 65 66 69 6e 65 |> DSHFT)|.#define|
|00018fc0| 09 64 74 6f 6d 73 28 78 | 29 20 20 28 28 78 29 20 |.dtoms(x|) ((x) |
|00018fd0| 3c 3c 20 44 53 48 46 54 | 29 0a 0a 23 64 65 66 69 |<< DSHFT|)..#defi|
|00018fe0| 6e 07 00 08 02 00 c5 01 | 02 00 65 09 6d 73 74 6f |n.......|..e.msto|
|00018ff0| 62 28 78 29 09 28 28 78 | 29 3c 3c 4c 4d 4d 50 47 |b(x).((x|)<<LMMPG|
|00019000| 53 5a 29 0a 0a 0a 0a 23 | 69 66 64 65 66 20 4d 5f |SZ)....#|ifdef M_|
|00019010| 49 38 30 38 36 0a 2f 2a | 20 62 79 74 65 73 20 74 |I8086./*| bytes t|
|00019020| 6f 20 6d 65 6d 20 73 69 | 7a 65 20 2d 20 74 68 69 |o mem si|ze - thi|
|00019030| 73 20 6d 61 63 72 6f 20 | 72 6f 75 6e 64 73 20 75 |s macro |rounds u|
|00019040| 70 20 74 6f 20 61 20 64 | 69 73 6b 20 62 6c 6f 63 |p to a d|isk bloc|
|00019050| 6b 20 62 6f 75 6e 64 61 | 72 79 20 2a 2f 0a 2f 2a |k bounda|ry */./*|
|00019060| 20 70 72 6f 63 65 73 73 | 20 6d 65 6d 6f 72 79 20 | process| memory |
|00019070| 69 73 20 61 6c 6c 6f 63 | 61 74 65 64 20 6f 6e 6c |is alloc|ated onl|
|00019080| 79 20 69 6e 20 42 53 49 | 5a 45 20 63 68 75 6e 6b |y in BSI|ZE chunk|
|00019090| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 62 74 6f |s */.#de|fine bto|
|000190a0| 6d 73 28 78 29 20 20 28 | 6d 73 69 7a 65 5f 74 29 |ms(x) (|msize_t)|
|000190b0| 28 28 78 29 20 3f 20 28 | 28 28 28 28 78 29 2d 31 |((x) ? (|((((x)-1|
|000190c0| 29 20 7c 20 42 4d 41 53 | 4b 29 20 3e 3e 20 4c 4d |) | BMAS|K) >> LM|
|000190d0| 4d 50 47 53 5a 29 20 2b | 20 31 29 20 3a 20 30 29 |MPGSZ) +| 1) : 0)|
|000190e0| 0a 0a 2f 2a 20 62 79 74 | 65 73 20 74 6f 20 70 61 |../* byt|es to pa|
|000190f0| 67 65 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 62 |ges */.#|define b|
|00019100| 74 6f 70 28 78 29 09 28 | 28 28 28 28 75 6e 73 69 |top(x).(|((((unsi|
|00019110| 67 6e 65 64 29 28 78 29 | 20 2d 20 31 29 20 7c 20 |gned)(x)| - 1) | |
|00019120| 4d 4d 50 47 4d 41 53 4b | 29 20 2b 20 31 29 20 3e |MMPGMASK|) + 1) >|
|00019130| 3e 20 4c 4d 4d 50 47 53 | 5a 29 0a 0a 2f 2a 20 70 |> LMMPGS|Z)../* p|
|00019140| 61 67 65 73 20 74 6f 20 | 62 79 74 65 73 20 2a 2f |ages to |bytes */|
|00019150| 0a 23 64 65 66 69 6e 65 | 20 70 74 6f 62 28 78 29 |.#define| ptob(x)|
|00019160| 09 28 28 78 29 20 3c 3c | 20 4c 4d 4d 50 47 53 5a |.((x) <<| LMMPGSZ|
|00019170| 29 0a 23 65 6e 64 69 66 | 0a 0a 23 69 66 64 65 66 |).#endif|..#ifdef|
|00019180| 20 4d 5f 49 32 38 36 0a | 2f 2a 20 62 79 74 65 73 | M_I286.|/* bytes|
|00019190| 20 74 6f 20 6d 65 6d 20 | 73 69 7a 65 20 2a 2f 0a | to mem |size */.|
|000191a0| 23 64 65 66 69 6e 65 09 | 62 74 6f 6d 73 28 78 29 |#define.|btoms(x)|
|000191b0| 20 20 20 20 20 20 28 28 | 75 6e 73 69 67 6e 65 64 | ((|unsigned|
|000191c0| 29 20 28 28 28 6c 6f 6e | 67 29 28 78 29 20 2b 20 |) (((lon|g)(x) + |
|000191d0| 28 4d 4d 50 47 53 5a 2d | 31 29 29 20 3e 3e 20 4c |(MMPGSZ-|1)) >> L|
|000191e0| 4d 4d 50 47 53 5a 29 29 | 0a 0a 07 00 09 02 00 08 |MMPGSZ))|........|
|000191f0| 01 02 00 2f 2a 20 73 65 | 6c 65 63 74 6f 72 20 6e |.../* se|lector n|
|00019200| 75 6d 62 65 72 20 74 6f | 20 74 61 62 6c 65 20 69 |umber to| table i|
|00019210| 6e 64 65 78 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ndex */.|#define |
|00019220| 73 74 6f 69 28 73 65 6c | 29 09 09 28 28 73 65 6c |stoi(sel|)..((sel|
|00019230| 29 2f 53 45 4c 53 5a 29 | 0a 23 65 6e 64 69 66 0a |)/SELSZ)|.#endif.|
|00019240| 0a 23 65 6e 64 69 66 0a | 0a 2f 2a 09 43 61 6c 63 |.#endif.|./*.Calc|
|00019250| 75 6c 61 74 65 20 75 73 | 65 72 20 70 72 6f 63 65 |ulate us|er proce|
|00019260| 73 73 20 70 72 69 6f 72 | 69 74 79 2e 20 20 2a 2f |ss prior|ity. */|
|00019270| 0a 0a 23 69 66 64 65 66 | 20 56 50 49 58 0a 23 64 |..#ifdef| VPIX.#d|
|00019280| 65 66 69 6e 65 20 63 61 | 6c 63 70 70 72 69 28 70 |efine ca|lcppri(p|
|00019290| 29 09 28 28 70 2d 3e 70 | 5f 63 70 75 29 20 3e 3e |).((p->p|_cpu) >>|
|000192a0| 20 31 29 20 2b 20 20 70 | 2d 3e 70 5f 6e 69 63 65 | 1) + p|->p_nice|
|000192b0| 20 2b 20 28 50 55 53 45 | 52 20 2d 20 4e 5a 45 52 | + (PUSE|R - NZER|
|000192c0| 4f 29 0a 23 65 6e 64 69 | 66 0a 20 7c 20 42 4d 41 |O).#endi|f. | BMA|
|000192d0| 53 4b 29 20 3e 3e 20 4c | 4d 4d 50 47 53 5a 29 20 |SK) >> L|MMPGSZ) |
|000192e0| 2b 20 31 29 20 3a 20 30 | 29 0a 0a 2f 2a 20 62 79 |+ 1) : 0|)../* by|
|000192f0| 74 65 73 20 74 6f 20 70 | 61 67 65 73 20 2a 2f 0a |tes to p|ages */.|
|00019300| 23 64 65 66 69 6e 65 20 | 62 74 6f 70 28 78 29 09 |#define |btop(x).|
|00019310| 28 28 28 28 28 75 6e 73 | 69 67 6e 65 64 29 28 78 |(((((uns|igned)(x|
|00019320| 29 20 2d 20 31 29 20 7c | 20 4d 4d 50 47 4d 41 53 |) - 1) || MMPGMAS|
|00019330| 4b 29 20 2b 20 31 29 20 | 3e 3e 20 4c 4d 4d 50 47 |K) + 1) |>> LMMPG|
|00019340| 53 5a 29 0a 0a 2f 2a 20 | 70 61 67 65 73 20 74 6f |SZ)../* |pages to|
|00019350| 20 62 79 74 65 73 20 2a | 2f 0a 23 64 65 66 69 6e | bytes *|/.#defin|
|00019360| 65 20 70 74 6f 62 28 78 | 29 09 28 28 78 29 20 3c |e ptob(x|).((x) <|
|00019370| 3c 20 4c 4d 4d 50 47 53 | 5a 29 0a 23 65 6e 64 69 |< LMMPGS|Z).#endi|
|00019380| 66 0a 0a 23 69 66 64 65 | 66 20 4d 5f 49 32 38 36 |f..#ifde|f M_I286|
|00019390| 0a 2f 2a 20 62 79 74 65 | 73 20 74 6f 20 6d 65 6d |./* byte|s to mem|
|000193a0| 20 73 69 7a 65 20 2a 2f | 0a 23 64 65 66 69 6e 65 | size */|.#define|
|000193b0| 09 62 74 6f 6d 73 28 78 | 29 20 20 20 20 20 20 28 |.btoms(x|) (|
|000193c0| 28 75 6e 73 69 67 6e 65 | 64 29 20 28 28 28 6c 6f |(unsigne|d) (((lo|
|000193d0| 6e 67 29 28 78 29 20 2b | 20 28 4d 4d 50 47 53 5a |ng)(x) +| (MMPGSZ|
|000193e0| 2d 31 29 29 20 3e 3e 20 | 4c 4d 4d 50 47 53 5a 29 |-1)) >> |LMMPGSZ)|
|000193f0| 29 0a 0a 07 00 0a 02 00 | ec 61 00 02 00 1b 2e 2f |).......|.a...../|
|00019400| 75 73 72 2f 69 6e 63 6c | 75 64 65 2f 73 79 73 2f |usr/incl|ude/sys/|
|00019410| 73 79 73 69 6e 66 6f 2e | 68 01 24 00 00 00 39 00 |sysinfo.|h.$...9.|
|00019420| 20 20 20 34 34 34 20 00 | 20 20 20 20 20 30 20 00 | 444 .| 0 .|
|00019430| 20 20 20 20 20 30 20 00 | 20 20 20 20 20 20 20 32 | 0 .| 2|
|00019440| 36 31 36 20 20 34 32 34 | 34 33 34 30 31 35 37 20 |616 424|4340157 |
|00019450| 20 31 31 30 36 35 00 20 | 01 b2 00 00 07 00 0b 02 | 11065. |........|
|00019460| 00 67 01 02 00 2f 2a 0a | 20 2a 09 40 28 23 29 20 |.g.../*.| *.@(#) |
|00019470| 73 79 73 69 6e 66 6f 2e | 68 20 32 2e 33 20 38 38 |sysinfo.|h 2.3 88|
|00019480| 2f 30 35 2f 31 38 20 0a | 20 2a 0a 20 2a 09 43 6f |/05/18 .| *. *.Co|
|00019490| 70 79 72 69 67 68 74 20 | 28 43 29 20 54 68 65 20 |pyright |(C) The |
|000194a0| 53 61 6e 74 61 20 43 72 | 75 7a 20 4f 70 65 72 61 |Santa Cr|uz Opera|
|000194b0| 74 69 6f 6e 2c 20 31 39 | 38 34 2c 20 31 39 38 35 |tion, 19|84, 1985|
|000194c0| 2c 20 31 39 38 36 2c 20 | 31 39 38 37 2c 20 31 39 |, 1986, |1987, 19|
|000194d0| 38 38 2e 0a 20 2a 09 43 | 6f 70 79 72 69 67 68 74 |88.. *.C|opyright|
|000194e0| 20 28 43 29 20 4d 69 63 | 72 6f 73 6f 66 74 20 43 | (C) Mic|rosoft C|
|000194f0| 6f 72 70 6f 72 61 74 69 | 6f 6e 2c 20 31 39 38 34 |orporati|on, 1984|
|00019500| 2c 20 31 39 38 35 2c 20 | 31 39 38 36 2c 20 31 39 |, 1985, |1986, 19|
|00019510| 38 37 2c 20 31 39 38 38 | 2e 0a 20 2a 09 54 68 69 |87, 1988|.. *.Thi|
|00019520| 73 20 4d 6f 64 75 6c 65 | 20 63 6f 6e 74 61 69 6e |s Module| contain|
|00019530| 73 20 50 72 6f 70 72 69 | 65 74 61 72 79 20 49 6e |s Propri|etary In|
|00019540| 66 6f 72 6d 61 74 69 6f | 6e 20 6f 66 0a 20 2a 09 |formatio|n of. *.|
|00019550| 54 68 65 20 53 61 6e 74 | 61 20 43 72 75 7a 20 4f |The Sant|a Cruz O|
|00019560| 70 65 72 61 74 69 6f 6e | 2c 20 4d 69 63 72 6f 73 |peration|, Micros|
|00019570| 6f 66 74 20 43 6f 72 70 | 6f 72 61 74 69 6f 6e 0a |oft Corp|oration.|
|00019580| 20 2a 09 61 6e 64 20 41 | 54 26 54 2c 20 61 6e 64 | *.and A|T&T, and|
|00019590| 20 73 68 6f 75 6c 64 20 | 62 65 20 74 72 65 61 74 | should |be treat|
|000195a0| 65 64 20 61 73 20 43 6f | 6e 66 69 64 65 6e 74 69 |ed as Co|nfidenti|
|000195b0| 61 6c 2e 0a 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 20 54 |al.. */.|./*. * T|
|000195c0| 48 49 53 20 46 49 4c 45 | 20 43 4f 4e 54 41 49 4e |HIS FILE| CONTAIN|
|000195d0| 53 20 43 4f 44 45 20 57 | 48 49 43 48 20 49 53 20 |S CODE W|HICH IS |
|000195e0| 44 45 53 49 47 4e 45 44 | 20 54 4f 20 42 45 0a 20 |DESIGNED| TO BE. |
|000195f0| 2a 20 50 4f 52 54 41 42 | 4c 45 20 42 45 54 57 45 |* PORTAB|LE BETWE|
|00019600| 45 4e 20 44 49 46 46 45 | 52 45 4e 54 20 4d 41 43 |EN DIFFE|RENT MAC|
|00019610| 48 49 4e 45 20 41 52 43 | 48 49 54 45 43 54 55 52 |HINE ARC|HITECTUR|
|00019620| 45 53 0a 20 2a 20 41 4e | 44 20 43 4f 4e 46 49 47 |ES. * AN|D CONFIG|
|00019630| 55 52 41 54 49 4f 4e 53 | 2e 20 49 54 20 53 48 4f |URATIONS|. IT SHO|
|00019640| 55 4c 44 20 4e 4f 54 20 | 52 45 51 55 49 52 45 20 |ULD NOT |REQUIRE |
|00019650| 41 4e 59 0a 20 2a 20 4d | 4f 44 49 46 49 43 41 54 |ANY. * M|ODIFICAT|
|00019660| 49 4f 4e 53 20 07 00 0c | 02 00 5a 01 02 00 57 48 |IONS ...|..Z...WH|
|00019670| 45 4e 20 41 44 41 50 54 | 49 4e 47 20 58 45 4e 49 |EN ADAPT|ING XENI|
|00019680| 58 20 54 4f 20 4e 45 57 | 20 48 41 52 44 57 41 52 |X TO NEW| HARDWAR|
|00019690| 45 2e 0a 20 2a 2f 0a 0a | 0a 0a 73 74 72 75 63 74 |E.. */..|..struct|
|000196a0| 20 73 79 73 69 6e 66 6f | 20 7b 0a 09 74 69 6d 65 | sysinfo| {..time|
|000196b0| 5f 74 09 63 70 75 5b 33 | 5d 3b 0a 23 64 65 66 69 |_t.cpu[3|];.#defi|
|000196c0| 6e 65 09 43 50 55 5f 49 | 44 4c 45 09 30 0a 23 64 |ne.CPU_I|DLE.0.#d|
|000196d0| 65 66 69 6e 65 09 43 50 | 55 5f 55 53 45 52 09 31 |efine.CP|U_USER.1|
|000196e0| 0a 23 64 65 66 69 6e 65 | 09 43 50 55 5f 4b 45 52 |.#define|.CPU_KER|
|000196f0| 4e 45 4c 09 32 0a 09 74 | 69 6d 65 5f 74 09 77 61 |NEL.2..t|ime_t.wa|
|00019700| 69 74 5b 33 5d 3b 0a 23 | 64 65 66 69 6e 65 09 57 |it[3];.#|define.W|
|00019710| 5f 49 4f 09 30 0a 23 64 | 65 66 69 6e 65 09 57 5f |_IO.0.#d|efine.W_|
|00019720| 53 57 41 50 09 31 0a 23 | 64 65 66 69 6e 65 09 57 |SWAP.1.#|define.W|
|00019730| 5f 50 49 4f 09 32 0a 09 | 6c 6f 6e 67 09 62 72 65 |_PIO.2..|long.bre|
|00019740| 61 64 3b 0a 09 6c 6f 6e | 67 09 62 77 72 69 74 65 |ad;..lon|g.bwrite|
|00019750| 3b 0a 09 6c 6f 6e 67 09 | 6c 72 65 61 64 3b 0a 09 |;..long.|lread;..|
|00019760| 6c 6f 6e 67 09 6c 77 72 | 69 74 65 3b 0a 09 6c 6f |long.lwr|ite;..lo|
|00019770| 6e 67 09 73 77 61 70 69 | 6e 3b 0a 09 6c 6f 6e 67 |ng.swapi|n;..long|
|00019780| 09 73 77 61 70 6f 75 74 | 3b 0a 09 6c 6f 6e 67 09 |.swapout|;..long.|
|00019790| 70 73 77 69 74 63 68 3b | 0a 09 6c 6f 6e 67 09 71 |pswitch;|..long.q|
|000197a0| 73 77 69 74 63 68 3b 0a | 09 6c 6f 6e 67 09 69 64 |switch;.|.long.id|
|000197b0| 6c 65 3b 0a 09 6c 6f 6e | 67 09 70 72 65 65 6d 70 |le;..lon|g.preemp|
|000197c0| 74 3b 0a 09 6c 6f 6e 67 | 09 73 79 73 63 61 6c 6c |t;..long|.syscall|
|000197d0| 3b 0a 09 6c 6f 6e 67 09 | 69 67 65 74 3b 0a 09 6c |;..long.|iget;..l|
|000197e0| 6f 6e 67 09 6e 61 6d 65 | 69 3b 0a 09 6c 6f 6e 67 |ong.name|i;..long|
|000197f0| 09 64 69 72 62 6c 6b 3b | 0a 09 6c 6f 6e 67 09 72 |.dirblk;|..long.r|
|00019800| 65 61 64 63 68 3b 0a 09 | 6c 6f 6e 67 09 77 72 69 |eadch;..|long.wri|
|00019810| 74 65 63 68 3b 0a 09 6c | 6f 6e 67 09 72 63 76 69 |tech;..l|ong.rcvi|
|00019820| 6e 74 3b 0a 09 6c 6f 6e | 67 09 78 6d 74 69 6e 74 |nt;..lon|g.xmtint|
|00019830| 3b 0a 09 6c 6f 6e 67 09 | 6d 64 6d 69 6e 74 3b 0a |;..long.|mdmint;.|
|00019840| 09 6c 6f 6e 67 09 72 61 | 77 63 68 3b 0a 09 6c 6f |.long.ra|wch;..lo|
|00019850| 6e 67 09 63 61 6e 63 68 | 3b 0a 09 6c 6f 6e 67 09 |ng.canch|;..long.|
|00019860| 6f 75 74 63 68 3b 0a 09 | 6c 6f 6e 67 09 73 07 00 |outch;..|long.s..|
|00019870| 0d 02 00 21 01 02 00 79 | 73 66 6f 72 6b 3b 0a 09 |...!...y|sfork;..|
|00019880| 6c 6f 6e 67 09 73 79 73 | 74 72 61 70 3b 0a 09 6c |long.sys|trap;..l|
|00019890| 6f 6e 67 09 64 65 76 69 | 6e 74 3b 0a 2f 2a 0a 20 |ong.devi|nt;./*. |
|000198a0| 2a 20 53 74 61 74 73 20 | 6f 6e 20 75 73 65 66 75 |* Stats |on usefu|
|000198b0| 6c 6e 65 73 73 20 6f 66 | 20 6e 61 6d 65 69 20 6e |lness of| namei n|
|000198c0| 61 6d 65 20 63 61 63 68 | 65 2e 0a 20 2a 2f 0a 09 |ame cach|e.. */..|
|000198d0| 6c 6f 6e 67 09 6e 63 73 | 5f 67 6f 6f 64 68 69 74 |long.ncs|_goodhit|
|000198e0| 73 3b 09 09 2f 2a 20 68 | 69 74 73 20 74 68 61 74 |s;../* h|its that|
|000198f0| 20 77 65 20 63 61 6e 20 | 72 65 61 6c 6c 79 20 75 | we can |really u|
|00019900| 73 65 20 2a 2f 0a 09 6c | 6f 6e 67 09 6e 63 73 5f |se */..l|ong.ncs_|
|00019910| 62 61 64 68 69 74 73 3b | 09 09 2f 2a 20 68 69 74 |badhits;|../* hit|
|00019920| 73 20 77 65 20 6d 75 73 | 74 20 64 72 6f 70 20 2a |s we mus|t drop *|
|00019930| 2f 0a 09 6c 6f 6e 67 09 | 6e 63 73 5f 66 61 6c 73 |/..long.|ncs_fals|
|00019940| 65 68 69 74 73 3b 09 09 | 2f 2a 20 68 69 74 73 20 |ehits;..|/* hits |
|00019950| 77 69 74 68 20 69 64 20 | 6d 69 73 6d 61 74 63 68 |with id |mismatch|
|00019960| 20 2a 2f 0a 09 6c 6f 6e | 67 09 6e 63 73 5f 6d 69 | */..lon|g.ncs_mi|
|00019970| 73 73 3b 09 09 2f 2a 20 | 6d 69 73 73 65 73 20 2a |ss;../* |misses *|
|00019980| 2f 0a 7d 3b 0a 0a 65 78 | 74 65 72 6e 20 73 74 72 |/.};..ex|tern str|
|00019990| 75 63 74 20 73 79 73 69 | 6e 66 6f 20 73 79 73 69 |uct sysi|nfo sysi|
|000199a0| 6e 66 6f 3b 0a 0a 73 74 | 72 75 63 74 20 73 79 73 |nfo;..st|ruct sys|
|000199b0| 77 61 69 74 20 7b 0a 09 | 73 68 6f 72 74 09 69 6f |wait {..|short.io|
|000199c0| 77 61 69 74 3b 0a 09 73 | 68 6f 72 74 09 73 77 61 |wait;..s|hort.swa|
|000199d0| 70 3b 0a 09 73 68 6f 72 | 74 09 70 68 79 73 69 6f |p;..shor|t.physio|
|000199e0| 3b 0a 7d 3b 0a 0a 65 78 | 74 65 72 6e 20 73 74 72 |;.};..ex|tern str|
|000199f0| 75 63 74 20 73 79 73 77 | 61 69 74 20 73 79 73 77 |uct sysw|ait sysw|
|00019a00| 61 69 74 3b 0a 6e 67 09 | 72 65 61 64 63 68 3b 0a |ait;.ng.|readch;.|
|00019a10| 09 6c 6f 6e 67 09 77 72 | 69 74 65 63 68 3b 0a 09 |.long.wr|itech;..|
|00019a20| 6c 6f 6e 67 09 72 63 76 | 69 6e 74 3b 0a 09 6c 6f |long.rcv|int;..lo|
|00019a30| 6e 67 09 78 6d 74 69 6e | 74 3b 0a 09 6c 6f 6e 67 |ng.xmtin|t;..long|
|00019a40| 09 6d 64 6d 69 6e 74 3b | 0a 09 6c 6f 6e 67 09 72 |.mdmint;|..long.r|
|00019a50| 61 77 63 68 3b 0a 09 6c | 6f 6e 67 09 63 61 6e 63 |awch;..l|ong.canc|
|00019a60| 68 3b 0a 09 6c 6f 6e 67 | 09 6f 75 74 63 68 3b 0a |h;..long|.outch;.|
|00019a70| 09 6c 6f 6e 67 09 73 07 | 00 0e 02 00 66 5f 00 02 |.long.s.|....f_..|
|00019a80| 00 1a 2e 2f 75 73 72 2f | 69 6e 63 6c 75 64 65 2f |.../usr/|include/|
|00019a90| 73 79 73 2f 73 79 73 69 | 38 36 2e 68 01 25 00 00 |sys/sysi|86.h.%..|
|00019aa0| 00 38 20 20 20 34 34 34 | 20 00 20 20 20 20 20 30 |.8 444| . 0|
|00019ab0| 20 00 20 20 20 20 20 30 | 20 00 20 20 20 20 20 20 | . 0| . |
|00019ac0| 20 31 31 30 30 20 20 34 | 32 34 34 33 34 30 31 34 | 1100 4|24434014|
|00019ad0| 30 20 20 31 30 35 31 33 | 00 20 01 b2 00 00 07 00 |0 10513|. ......|
|00019ae0| 0f 02 00 80 01 02 00 2f | 2a 0a 20 2a 09 40 28 23 |......./|*. *.@(#|
|00019af0| 29 20 73 79 73 69 38 36 | 2e 68 20 31 2e 32 20 38 |) sysi86|.h 1.2 8|
|00019b00| 38 2f 30 35 2f 31 38 20 | 0a 20 2a 0a 20 2a 09 43 |8/05/18 |. *. *.C|
|00019b10| 6f 70 79 72 69 67 68 74 | 20 28 43 29 20 54 68 65 |opyright| (C) The|
|00019b20| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|00019b30| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|00019b40| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2c 20 31 |5, 1986,| 1987, 1|
|00019b50| 39 38 38 2e 0a 20 2a 09 | 43 6f 70 79 72 69 67 68 |988.. *.|Copyrigh|
|00019b60| 74 20 28 43 29 20 4d 69 | 63 72 6f 73 6f 66 74 20 |t (C) Mi|crosoft |
|00019b70| 43 6f 72 70 6f 72 61 74 | 69 6f 6e 2c 20 31 39 38 |Corporat|ion, 198|
|00019b80| 34 2c 20 31 39 38 35 2c | 20 31 39 38 36 2c 20 31 |4, 1985,| 1986, 1|
|00019b90| 39 38 37 2c 20 31 39 38 | 38 2e 0a 20 2a 09 54 68 |987, 198|8.. *.Th|
|00019ba0| 69 73 20 4d 6f 64 75 6c | 65 20 63 6f 6e 74 61 69 |is Modul|e contai|
|00019bb0| 6e 73 20 50 72 6f 70 72 | 69 65 74 61 72 79 20 49 |ns Propr|ietary I|
|00019bc0| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 6f 66 0a 20 2a |nformati|on of. *|
|00019bd0| 09 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 |.The San|ta Cruz |
|00019be0| 4f 70 65 72 61 74 69 6f | 6e 2c 20 4d 69 63 72 6f |Operatio|n, Micro|
|00019bf0| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|00019c00| 0a 20 2a 09 61 6e 64 20 | 41 54 26 54 2c 20 61 6e |. *.and |AT&T, an|
|00019c10| 64 20 73 68 6f 75 6c 64 | 20 62 65 20 74 72 65 61 |d should| be trea|
|00019c20| 74 65 64 20 61 73 20 43 | 6f 6e 66 69 64 65 6e 74 |ted as C|onfident|
|00019c30| 69 61 6c 2e 0a 20 2a 2f | 0a 0a 23 64 65 66 69 6e |ial.. */|..#defin|
|00019c40| 65 20 53 45 54 4e 41 4d | 45 20 09 34 09 2f 2a 20 |e SETNAM|E .4./* |
|00019c50| 72 65 6e 61 6d 65 20 74 | 68 65 20 73 79 73 74 65 |rename t|he syste|
|00019c60| 6d 20 2a 2f 0a 0a 23 64 | 65 66 69 6e 65 20 53 49 |m */..#d|efine SI|
|00019c70| 38 36 46 50 48 57 20 20 | 20 20 20 20 20 20 34 30 |86FPHW | 40|
|00019c80| 20 20 20 20 20 20 2f 2a | 20 74 79 70 65 20 6f 66 | /*| type of|
|00019c90| 20 66 6c 6f 61 74 69 6e | 67 2d 70 6f 69 6e 74 20 | floatin|g-point |
|00019ca0| 68 61 72 64 77 61 72 65 | 20 70 72 65 73 65 6e 74 |hardware| present|
|00019cb0| 20 2a 2f 0a 0a 2f 2a 20 | 37 31 20 74 68 72 6f 75 | */../* |71 throu|
|00019cc0| 67 68 20 37 34 20 72 65 | 73 65 72 76 65 64 20 66 |gh 74 re|served f|
|00019cd0| 6f 72 20 56 50 49 58 20 | 2a 2f 0a 0a 23 64 65 66 |or VPIX |*/..#def|
|00019ce0| 69 6e 65 20 53 49 38 0f | 07 01 64 07 01 01 02 00 |ine SI8.|..d.....|
|00019cf0| e1 ff 01 02 00 04 36 56 | 38 36 01 04 20 20 00 28 |......6V|86.. .(|
|00019d00| 20 37 31 20 20 20 20 20 | 20 2f 2a 20 56 38 36 20 | 71 | /* V86 |
|00019d10| 73 79 73 74 65 6d 20 63 | 61 6c 6c 73 20 28 73 65 |system c|alls (se|
|00019d20| 65 20 76 38 36 2e 68 29 | 01 04 20 20 00 ff 20 2a |e v86.h)|.. .. *|
|00019d30| 2f 0a 43 72 75 7a 20 4f | 70 65 72 61 74 69 6f 6e |/.Cruz O|peration|
|00019d40| 2c 20 31 39 38 34 2c 20 | 31 39 38 35 2c 20 31 39 |, 1984, |1985, 19|
|00019d50| 38 36 2c 20 31 39 38 37 | 2c 20 31 39 38 38 2e 0a |86, 1987|, 1988..|
|00019d60| 20 2a 09 43 6f 70 79 72 | 69 67 68 74 20 28 43 29 | *.Copyr|ight (C)|
|00019d70| 20 4d 69 63 72 6f 73 6f | 66 74 20 43 6f 72 70 6f | Microso|ft Corpo|
|00019d80| 72 61 74 69 6f 6e 2c 20 | 31 39 38 34 2c 20 31 39 |ration, |1984, 19|
|00019d90| 38 35 2c 20 31 39 38 36 | 2c 20 31 39 38 37 2c 20 |85, 1986|, 1987, |
|00019da0| 31 39 38 38 2e 0a 20 2a | 09 54 68 69 73 20 4d 6f |1988.. *|.This Mo|
|00019db0| 64 75 6c 65 20 63 6f 6e | 74 61 69 6e 73 20 50 72 |dule con|tains Pr|
|00019dc0| 6f 70 72 69 65 74 61 72 | 79 20 49 6e 66 6f 72 6d |oprietar|y Inform|
|00019dd0| 61 74 69 6f 6e 20 6f 66 | 0a 20 2a 09 54 68 65 20 |ation of|. *.The |
|00019de0| 53 61 6e 74 61 20 43 72 | 75 7a 20 4f 70 65 72 61 |Santa Cr|uz Opera|
|00019df0| 74 69 6f 6e 2c 20 4d 69 | 63 72 6f 73 6f 66 74 20 |tion, Mi|crosoft |
|00019e00| 43 6f 72 70 6f 72 61 74 | 69 6f 6e 0a 20 2a 09 61 |Corporat|ion. *.a|
|00019e10| 6e 64 20 41 54 26 54 2c | 20 61 6e 64 20 73 68 6f |nd AT&T,| and sho|
|00019e20| 75 6c 64 20 62 65 20 74 | 72 65 61 74 65 00 54 64 |uld be t|reate.Td|
|00019e30| 20 61 73 20 43 6f 6e 66 | 69 64 65 6e 74 69 61 6c | as Conf|idential|
|00019e40| 2e 0a 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 53 |.. */..#|define S|
|00019e50| 45 54 4e 41 4d 45 20 09 | 34 09 2f 2a 20 72 65 6e |ETNAME .|4./* ren|
|00019e60| 61 6d 65 20 74 68 65 20 | 73 79 73 74 65 6d 20 2a |ame the |system *|
|00019e70| 2f 0a 0a 23 64 65 66 69 | 6e 65 20 53 49 38 36 46 |/..#defi|ne SI86F|
|00019e80| 50 48 57 01 04 20 20 00 | 69 34 30 20 20 20 20 20 |PHW.. .|i40 |
|00019e90| 20 2f 2a 20 74 79 70 65 | 20 6f 66 20 66 6c 6f 61 | /* type| of floa|
|00019ea0| 74 69 6e 67 2d 70 6f 69 | 6e 74 20 68 61 72 64 77 |ting-poi|nt hardw|
|00019eb0| 61 72 65 20 70 72 65 73 | 65 6e 74 20 2a 2f 0a 0a |are pres|ent */..|
|00019ec0| 2f 2a 20 37 31 20 74 68 | 72 6f 75 67 68 20 37 34 |/* 71 th|rough 74|
|00019ed0| 20 72 65 73 65 72 76 65 | 64 20 66 6f 72 20 56 50 | reserve|d for VP|
|00019ee0| 49 58 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 53 |IX */..#|define S|
|00019ef0| 49 38 07 01 02 02 00 ec | 5d 00 02 00 17 2e 2f 75 |I8......|]...../u|
|00019f00| 73 72 2f 69 6e 63 6c 75 | 64 65 2f 73 79 73 2f 73 |sr/inclu|de/sys/s|
|00019f10| 78 74 2e 68 01 26 00 00 | 00 39 00 20 20 20 34 34 |xt.h.&..|.9. 44|
|00019f20| 34 20 00 20 20 20 20 20 | 30 20 00 20 20 20 20 20 |4 . |0 . |
|00019f30| 30 20 00 20 20 20 20 20 | 20 20 34 34 31 33 20 20 |0 . | 4413 |
|00019f40| 34 32 34 34 33 34 30 32 | 32 31 20 20 31 30 31 37 |42443402|21 1017|
|00019f50| 36 00 20 01 b2 00 00 07 | 01 03 02 00 f2 01 02 00 |6. .....|........|
|00019f60| 2f 2a 0a 20 2a 09 40 28 | 23 29 20 73 78 74 2e 68 |/*. *.@(|#) sxt.h|
|00019f70| 20 32 2e 31 20 38 38 2f | 30 35 2f 31 38 20 0a 20 | 2.1 88/|05/18 . |
|00019f80| 2a 0a 20 2a 09 43 6f 70 | 79 72 69 67 68 74 20 28 |*. *.Cop|yright (|
|00019f90| 43 29 20 54 68 65 20 53 | 61 6e 74 61 20 43 72 75 |C) The S|anta Cru|
|00019fa0| 7a 20 4f 70 65 72 61 74 | 69 6f 6e 2c 20 31 39 38 |z Operat|ion, 198|
|00019fb0| 34 2c 20 31 39 38 35 2c | 20 31 39 38 36 2c 20 31 |4, 1985,| 1986, 1|
|00019fc0| 39 38 37 2e 0a 20 2a 09 | 43 6f 70 79 72 69 67 68 |987.. *.|Copyrigh|
|00019fd0| 74 20 28 43 29 20 4d 69 | 63 72 6f 73 6f 66 74 20 |t (C) Mi|crosoft |
|00019fe0| 43 6f 72 70 6f 72 61 74 | 69 6f 6e 2c 20 31 39 38 |Corporat|ion, 198|
|00019ff0| 34 2c 20 31 39 38 35 2c | 20 31 39 38 36 2c 20 31 |4, 1985,| 1986, 1|
|0001a000| 39 38 37 2e 0a 20 2a 09 | 54 68 69 73 20 4d 6f 64 |987.. *.|This Mod|
|0001a010| 75 6c 65 20 63 6f 6e 74 | 61 69 6e 73 20 50 72 6f |ule cont|ains Pro|
|0001a020| 70 72 69 65 74 61 72 79 | 20 49 6e 66 6f 72 6d 61 |prietary| Informa|
|0001a030| 74 69 6f 6e 20 6f 66 0a | 20 2a 09 54 68 65 20 53 |tion of.| *.The S|
|0001a040| 61 6e 74 61 20 43 72 75 | 7a 20 4f 70 65 72 61 74 |anta Cru|z Operat|
|0001a050| 69 6f 6e 2c 20 4d 69 63 | 72 6f 73 6f 66 74 20 43 |ion, Mic|rosoft C|
|0001a060| 6f 72 70 6f 72 61 74 69 | 6f 6e 0a 20 2a 09 61 6e |orporati|on. *.an|
|0001a070| 64 20 41 54 26 54 2c 20 | 61 6e 64 20 73 68 6f 75 |d AT&T, |and shou|
|0001a080| 6c 64 20 62 65 20 74 72 | 65 61 74 65 64 20 61 73 |ld be tr|eated as|
|0001a090| 20 43 6f 6e 66 69 64 65 | 6e 74 69 61 6c 2e 0a 20 | Confide|ntial.. |
|0001a0a0| 2a 2f 0a 0a 2f 2a 0a 20 | 2a 2a 09 4d 75 6c 74 69 |*/../*. |**.Multi|
|0001a0b0| 70 6c 65 78 65 64 20 63 | 68 61 6e 6e 65 6c 73 20 |plexed c|hannels |
|0001a0c0| 64 72 69 76 65 72 20 68 | 65 61 64 65 72 0a 20 2a |driver h|eader. *|
|0001a0d0| 2f 0a 0a 23 64 65 66 69 | 6e 65 09 4d 41 58 4c 49 |/..#defi|ne.MAXLI|
|0001a0e0| 4e 4b 53 09 31 36 0a 23 | 64 65 66 69 6e 65 09 4d |NKS.16.#|define.M|
|0001a0f0| 41 58 50 43 48 41 4e 09 | 38 09 09 2f 2a 20 4d 61 |AXPCHAN.|8../* Ma|
|0001a100| 78 69 6d 75 6d 20 63 68 | 61 6e 6e 65 6c 20 6e 75 |ximum ch|annel nu|
|0001a110| 6d 62 65 72 20 2a 2f 0a | 0a 23 64 65 66 69 6e 65 |mber */.|.#define|
|0001a120| 09 43 48 41 4e 42 49 54 | 53 09 33 09 09 2f 2a 20 |.CHANBIT|S.3../* |
|0001a130| 42 69 74 73 20 66 6f 72 | 20 63 68 61 6e 6e 65 6c |Bits for| channel|
|0001a140| 20 6e 75 6d 62 65 72 20 | 2a 2f 0a 23 64 65 66 69 | number |*/.#defi|
|0001a150| 6e 65 09 43 48 41 4e 4d | 41 53 4b 09 30 37 09 09 |ne.CHANM|ASK.07..|
|0001a160| 07 01 04 02 00 c1 01 02 | 00 2f 2a 20 32 2a 2a 43 |........|./* 2**C|
|0001a170| 48 41 4e 42 49 54 53 20 | 2d 20 31 20 2a 2f 0a 0a |HANBITS |- 1 */..|
|0001a180| 23 64 65 66 69 6e 65 09 | 43 48 41 4e 28 64 65 76 |#define.|CHAN(dev|
|0001a190| 29 09 28 64 65 76 26 43 | 48 41 4e 4d 41 53 4b 29 |).(dev&C|HANMASK)|
|0001a1a0| 0a 23 64 65 66 69 6e 65 | 09 4c 49 4e 4b 28 64 65 |.#define|.LINK(de|
|0001a1b0| 76 29 09 28 28 64 65 76 | 3e 3e 43 48 41 4e 42 49 |v).((dev|>>CHANBI|
|0001a1c0| 54 53 29 26 28 30 78 66 | 66 3e 3e 43 48 41 4e 42 |TS)&(0xf|f>>CHANB|
|0001a1d0| 49 54 53 29 29 0a 0a 23 | 64 65 66 69 6e 65 09 53 |ITS))..#|define.S|
|0001a1e0| 58 54 48 4f 47 09 09 32 | 09 09 2f 2a 20 43 68 61 |XTHOG..2|../* Cha|
|0001a1f0| 6e 6e 65 6c 20 63 6f 6e | 73 65 63 75 74 69 76 65 |nnel con|secutive|
|0001a200| 20 77 72 69 74 65 20 6c | 69 6d 69 74 20 2a 2f 0a | write l|imit */.|
|0001a210| 23 64 65 66 69 6e 65 09 | 53 58 54 52 41 43 45 09 |#define.|SXTRACE.|
|0001a220| 09 30 09 09 2f 2a 20 31 | 20 74 6f 20 69 6e 63 6c |.0../* 1| to incl|
|0001a230| 75 64 65 20 74 72 61 63 | 69 6e 67 20 2a 2f 0a 0a |ude trac|ing */..|
|0001a240| 23 69 66 09 28 4d 41 58 | 50 43 48 41 4e 2a 4d 41 |#if.(MAX|PCHAN*MA|
|0001a250| 58 4c 49 4e 4b 53 29 20 | 3e 20 32 35 36 0a 09 45 |XLINKS) |> 256..E|
|0001a260| 52 52 4f 52 20 2d 2d 20 | 70 72 6f 64 75 63 74 20 |RROR -- |product |
|0001a270| 63 61 6e 6e 6f 74 20 62 | 65 20 67 72 65 61 74 65 |cannot b|e greate|
|0001a280| 72 20 74 68 61 6e 20 6d | 69 6e 6f 72 28 64 65 76 |r than m|inor(dev|
|0001a290| 29 0a 23 65 6e 64 69 66 | 0a 0a 0a 73 74 72 75 63 |).#endif|...struc|
|0001a2a0| 74 20 43 68 61 6e 6e 65 | 6c 0a 7b 0a 09 73 74 72 |t Channe|l.{..str|
|0001a2b0| 75 63 74 20 74 74 79 09 | 74 74 79 3b 09 09 2f 2a |uct tty.|tty;../*|
|0001a2c0| 20 56 69 72 74 75 61 6c | 20 74 74 79 20 66 6f 72 | Virtual| tty for|
|0001a2d0| 20 74 68 69 73 20 63 68 | 61 6e 6e 65 6c 20 2a 2f | this ch|annel */|
|0001a2e0| 0a 7d 3b 0a 0a 74 79 70 | 65 64 65 66 20 73 74 72 |.};..typ|edef str|
|0001a2f0| 75 63 74 20 43 68 61 6e | 6e 65 6c 20 2a 43 68 5f |uct Chan|nel *Ch_|
|0001a300| 70 3b 0a 0a 73 74 72 75 | 63 74 20 4c 69 6e 6b 0a |p;..stru|ct Link.|
|0001a310| 7b 0a 09 73 74 72 75 63 | 74 20 74 74 79 20 2a 09 |{..struc|t tty *.|
|0001a320| 6c 69 6e 65 3b 09 09 2f | 2a 20 52 65 61 6c 20 74 |line;../|* Real t|
|0001a330| 74 79 20 66 6f 72 20 74 | 68 69 73 20 6c 69 6e 6b |ty for t|his link|
|0001a340| 20 2a 2f 0a 09 63 68 61 | 72 09 09 63 6f 6e 74 72 | */..cha|r..contr|
|0001a350| 6f 6c 6c 69 6e 67 74 74 | 79 3b 09 2f 2a 20 74 68 |ollingtt|y;./* th|
|0001a360| 65 20 63 75 72 72 65 6e | 74 07 01 05 02 00 22 01 |e curren|t.....".|
|0001a370| 02 00 20 74 6f 70 20 64 | 6f 67 20 2a 2f 0a 09 63 |.. top d|og */..c|
|0001a380| 68 61 72 09 09 6f 6c 64 | 3b 09 09 2f 2a 20 4f 6c |har..old|;../* Ol|
|0001a390| 64 20 6c 69 6e 65 20 64 | 69 73 63 69 70 6c 69 6e |d line d|isciplin|
|0001a3a0| 65 20 66 6f 72 20 6c 69 | 6e 65 20 2a 2f 0a 09 63 |e for li|ne */..c|
|0001a3b0| 68 61 72 09 09 6e 63 68 | 61 6e 73 3b 09 09 2f 2a |har..nch|ans;../*|
|0001a3c0| 20 4e 75 6d 62 65 72 20 | 6f 66 20 63 68 61 6e 6e | Number |of chann|
|0001a3d0| 65 6c 73 20 61 6c 6c 6f | 77 65 64 20 2a 2f 0a 09 |els allo|wed */..|
|0001a3e0| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 63 68 |unsigned| char.ch|
|0001a3f0| 61 6e 6d 61 73 6b 3b 09 | 2f 2a 20 41 6c 6c 6f 77 |anmask;.|/* Allow|
|0001a400| 61 62 6c 65 20 63 68 61 | 6e 6e 65 6c 20 62 69 74 |able cha|nnel bit|
|0001a410| 73 20 2a 2f 0a 09 63 68 | 61 72 09 09 6f 70 65 6e |s */..ch|ar..open|
|0001a420| 3b 09 09 2f 2a 20 43 68 | 61 6e 6e 65 6c 20 6f 70 |;../* Ch|annel op|
|0001a430| 65 6e 20 62 69 74 73 20 | 2a 2f 0a 09 63 68 61 72 |en bits |*/..char|
|0001a440| 09 09 78 6f 70 65 6e 3b | 09 09 2f 2a 20 45 78 63 |..xopen;|../* Exc|
|0001a450| 6c 75 73 69 76 65 20 6f | 70 65 6e 20 62 69 74 73 |lusive o|pen bits|
|0001a460| 20 2a 2f 0a 09 63 68 61 | 72 09 09 77 70 65 6e 64 | */..cha|r..wpend|
|0001a470| 69 6e 67 3b 09 2f 2a 20 | 70 65 6e 64 69 6e 67 20 |ing;./* |pending |
|0001a480| 77 72 69 74 65 73 2f 63 | 68 61 6e 6e 65 6c 20 2a |writes/c|hannel *|
|0001a490| 2f 0a 09 63 68 61 72 09 | 09 69 62 6c 6f 63 6b 65 |/..char.|.iblocke|
|0001a4a0| 64 3b 09 2f 2a 20 63 68 | 61 6e 6e 65 6c 73 20 62 |d;./* ch|annels b|
|0001a4b0| 6c 6f 63 6b 65 64 20 66 | 6f 72 20 69 6e 70 75 74 |locked f|or input|
|0001a4c0| 20 2a 2f 0a 09 63 68 61 | 72 09 09 6f 62 6c 6f 63 | */..cha|r..obloc|
|0001a4d0| 6b 65 64 3b 09 2f 2a 20 | 63 68 61 6e 6e 65 6c 73 |ked;./* |channels|
|0001a4e0| 20 62 6c 6f 63 6b 65 64 | 20 66 6f 72 20 6f 75 74 | blocked| for out|
|0001a4f0| 70 75 74 2a 2f 0a 09 63 | 68 61 72 09 09 6c 77 63 |put*/..c|har..lwc|
|0001a500| 68 61 6e 3b 09 09 2f 2a | 20 4c 61 73 74 20 63 68 |han;../*| Last ch|
|0001a510| 61 6e 6e 65 6c 20 77 72 | 69 74 74 65 6e 20 62 69 |annel wr|itten bi|
|0001a520| 74 20 2a 2f 0a 09 63 68 | 61 72 09 09 77 72 63 6e |t */..ch|ar..wrcn|
|0001a530| 74 3b 09 09 2f 2a 20 23 | 20 6f 66 20 77 72 69 74 |t;../* #| of writ|
|0001a540| 65 73 20 6f 6e 20 6c 61 | 73 74 20 63 68 61 6e 20 |es on la|st chan |
|0001a550| 77 72 69 74 74 65 6e 20 | 2a 2f 0a 09 64 65 76 5f |written |*/..dev_|
|0001a560| 74 09 09 64 65 76 3b 09 | 09 2f 2a 20 6d 61 6a 6f |t..dev;.|./* majo|
|0001a570| 72 20 07 01 06 02 00 fc | 01 02 00 61 6e 64 20 6d |r ......|...and m|
|0001a580| 69 6e 6f 72 20 64 65 76 | 69 63 65 20 23 20 2a 2f |inor dev|ice # */|
|0001a590| 0a 09 73 74 72 75 63 74 | 20 43 68 61 6e 6e 65 6c |..struct| Channel|
|0001a5a0| 09 63 68 61 6e 73 5b 4d | 41 58 50 43 48 41 4e 5d |.chans[M|AXPCHAN]|
|0001a5b0| 3b 20 2f 2a 20 41 72 72 | 61 79 20 6f 66 20 63 68 |; /* Arr|ay of ch|
|0001a5c0| 61 6e 6e 65 6c 73 20 66 | 6f 72 20 74 68 69 73 20 |annels f|or this |
|0001a5d0| 6c 69 6e 6b 20 2a 2f 0a | 7d 3b 0a 0a 74 79 70 65 |link */.|};..type|
|0001a5e0| 64 65 66 09 73 74 72 75 | 63 74 20 4c 69 6e 6b 20 |def.stru|ct Link |
|0001a5f0| 2a 09 4c 69 6e 6b 5f 70 | 3b 0a 0a 65 78 74 65 72 |*.Link_p|;..exter|
|0001a600| 6e 09 73 74 72 75 63 74 | 20 4c 69 6e 6b 20 73 78 |n.struct| Link sx|
|0001a610| 74 6c 69 6e 6b 5b 5d 3b | 0a 0a 0a 2f 2a 0a 2a 2a |tlink[];|.../*.**|
|0001a620| 09 49 6f 63 74 6c 20 61 | 72 67 73 0a 2a 2f 0a 0a |.Ioctl a|rgs.*/..|
|0001a630| 23 64 65 66 69 6e 65 09 | 53 58 54 49 4f 43 4c 49 |#define.|SXTIOCLI|
|0001a640| 4e 4b 09 28 27 62 27 3c | 3c 38 29 0a 23 64 65 66 |NK.('b'<|<8).#def|
|0001a650| 69 6e 65 09 53 58 54 49 | 4f 43 54 52 41 43 45 09 |ine.SXTI|OCTRACE.|
|0001a660| 28 53 58 54 49 4f 43 4c | 49 4e 4b 7c 31 29 0a 23 |(SXTIOCL|INK|1).#|
|0001a670| 64 65 66 69 6e 65 09 53 | 58 54 49 4f 43 4e 4f 54 |define.S|XTIOCNOT|
|0001a680| 52 41 43 45 09 28 53 58 | 54 49 4f 43 4c 49 4e 4b |RACE.(SX|TIOCLINK|
|0001a690| 7c 32 29 0a 23 64 65 66 | 69 6e 65 20 53 58 54 49 ||2).#def|ine SXTI|
|0001a6a0| 4f 43 53 57 54 43 48 09 | 28 53 58 54 49 4f 43 4c |OCSWTCH.|(SXTIOCL|
|0001a6b0| 49 4e 4b 7c 33 29 0a 23 | 64 65 66 69 6e 65 09 53 |INK|3).#|define.S|
|0001a6c0| 58 54 49 4f 43 57 46 09 | 28 53 58 54 49 4f 43 4c |XTIOCWF.|(SXTIOCL|
|0001a6d0| 49 4e 4b 7c 34 29 0a 23 | 64 65 66 69 6e 65 20 53 |INK|4).#|define S|
|0001a6e0| 58 54 49 4f 43 42 4c 4b | 09 28 53 58 54 49 4f 43 |XTIOCBLK|.(SXTIOC|
|0001a6f0| 4c 49 4e 4b 7c 35 29 0a | 23 64 65 66 69 6e 65 20 |LINK|5).|#define |
|0001a700| 53 58 54 49 4f 43 55 42 | 4c 4b 09 28 53 58 54 49 |SXTIOCUB|LK.(SXTI|
|0001a710| 4f 43 4c 49 4e 4b 7c 36 | 29 0a 23 64 65 66 69 6e |OCLINK|6|).#defin|
|0001a720| 65 20 53 58 54 49 4f 43 | 53 54 41 54 09 28 53 58 |e SXTIOC|STAT.(SX|
|0001a730| 54 49 4f 43 4c 49 4e 4b | 7c 37 29 0a 0a 2f 2a 20 |TIOCLINK||7)../* |
|0001a740| 74 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 73 74 |the foll|owing st|
|0001a750| 72 75 63 74 75 72 65 20 | 69 73 20 75 73 65 64 20 |ructure |is used |
|0001a760| 66 6f 72 20 74 68 65 20 | 53 58 54 49 4f 43 53 54 |for the |SXTIOCST|
|0001a770| 41 54 20 69 6f 63 74 6c | 20 63 61 07 01 07 02 00 |AT ioctl| ca.....|
|0001a780| 2b 01 02 00 6c 6c 20 2a | 2f 0a 23 69 66 64 65 66 |+...ll *|/.#ifdef|
|0001a790| 09 4d 5f 49 33 38 36 0a | 23 70 72 61 67 6d 61 09 |.M_I386.|#pragma.|
|0001a7a0| 70 61 63 6b 28 32 29 0a | 23 65 6e 64 69 66 0a 0a |pack(2).|#endif..|
|0001a7b0| 73 74 72 75 63 74 20 73 | 78 74 62 6c 6f 63 6b 0a |struct s|xtblock.|
|0001a7c0| 7b 0a 09 63 68 61 72 09 | 69 6e 70 75 74 3b 09 09 |{..char.|input;..|
|0001a7d0| 2f 2a 20 63 68 61 6e 6e | 65 6c 73 20 62 6c 6f 63 |/* chann|els bloc|
|0001a7e0| 6b 65 64 20 6f 6e 20 69 | 6e 70 75 74 20 20 2a 2f |ked on i|nput */|
|0001a7f0| 0a 09 63 68 61 72 09 6f | 75 74 70 75 74 3b 09 09 |..char.o|utput;..|
|0001a800| 2f 2a 20 63 68 61 6e 6e | 65 6c 73 20 62 6c 6f 63 |/* chann|els bloc|
|0001a810| 6b 65 64 20 6f 6e 20 6f | 75 74 70 75 74 20 2a 2f |ked on o|utput */|
|0001a820| 0a 7d 3b 0a 0a 23 69 66 | 64 65 66 09 4d 5f 49 33 |.};..#if|def.M_I3|
|0001a830| 38 36 0a 23 70 72 61 67 | 6d 61 09 70 61 63 6b 28 |86.#prag|ma.pack(|
|0001a840| 29 0a 23 65 6e 64 69 66 | 0a 0a 0a 23 64 65 66 69 |).#endif|...#defi|
|0001a850| 6e 65 09 74 5f 6c 69 6e | 6b 09 74 5f 64 73 74 61 |ne.t_lin|k.t_dsta|
|0001a860| 74 09 09 2f 2a 20 55 73 | 65 20 64 73 74 61 74 20 |t../* Us|e dstat |
|0001a870| 69 6e 20 72 65 61 6c 20 | 74 74 79 20 66 6f 72 20 |in real |tty for |
|0001a880| 6c 69 6e 6b 6e 75 6d 62 | 65 72 20 2a 2f 0a 0a 53 |linknumb|er */..S|
|0001a890| 58 54 49 4f 43 4c 49 4e | 4b 7c 32 29 0a 23 64 65 |XTIOCLIN|K|2).#de|
|0001a8a0| 66 69 6e 65 20 53 58 54 | 49 4f 43 53 57 54 43 48 |fine SXT|IOCSWTCH|
|0001a8b0| 09 28 53 58 54 49 4f 43 | 4c 49 4e 4b 7c 33 29 0a |.(SXTIOC|LINK|3).|
|0001a8c0| 23 64 65 66 69 6e 65 09 | 53 58 54 49 4f 43 57 46 |#define.|SXTIOCWF|
|0001a8d0| 09 28 53 58 54 49 4f 43 | 4c 49 4e 4b 7c 34 29 0a |.(SXTIOC|LINK|4).|
|0001a8e0| 23 64 65 66 69 6e 65 20 | 53 58 54 49 4f 43 42 4c |#define |SXTIOCBL|
|0001a8f0| 4b 09 28 53 58 54 49 4f | 43 4c 49 4e 4b 7c 35 29 |K.(SXTIO|CLINK|5)|
|0001a900| 0a 23 64 65 66 69 6e 65 | 20 53 58 54 49 4f 43 55 |.#define| SXTIOCU|
|0001a910| 42 4c 4b 09 28 53 58 54 | 49 4f 43 4c 49 4e 4b 7c |BLK.(SXT|IOCLINK||
|0001a920| 36 29 0a 23 64 65 66 69 | 6e 65 20 53 58 54 49 4f |6).#defi|ne SXTIO|
|0001a930| 43 53 54 41 54 09 28 53 | 58 54 49 4f 43 4c 49 4e |CSTAT.(S|XTIOCLIN|
|0001a940| 4b 7c 37 29 0a 0a 2f 2a | 20 74 68 65 20 66 6f 6c |K|7)../*| the fol|
|0001a950| 6c 6f 77 69 6e 67 20 73 | 74 72 75 63 74 75 72 65 |lowing s|tructure|
|0001a960| 20 69 73 20 75 73 65 64 | 20 66 6f 72 20 74 68 65 | is used| for the|
|0001a970| 20 53 58 54 49 4f 43 53 | 54 41 54 20 69 6f 63 74 | SXTIOCS|TAT ioct|
|0001a980| 6c 20 63 61 07 01 08 02 | 00 fb 5f 00 02 00 1a 2e |l ca....|.._.....|
|0001a990| 2f 75 73 72 2f 69 6e 63 | 6c 75 64 65 2f 73 79 73 |/usr/inc|lude/sys|
|0001a9a0| 2f 73 74 72 65 61 6d 2e | 68 01 25 00 00 00 38 20 |/stream.|h.%...8 |
|0001a9b0| 20 20 34 34 34 20 00 20 | 20 20 20 20 30 20 00 20 | 444 . | 0 . |
|0001a9c0| 20 20 20 20 30 20 00 20 | 20 20 20 20 20 33 33 35 | 0 . | 335|
|0001a9d0| 31 36 20 20 34 33 30 36 | 36 31 33 32 31 35 20 20 |16 4306|613215 |
|0001a9e0| 31 30 37 30 36 00 20 01 | b2 00 00 07 01 09 02 00 |10706. .|........|
|0001a9f0| 5a 01 02 00 2f 2a 0a 20 | 2a 09 40 28 23 29 20 73 |Z.../*. |*.@(#) s|
|0001aa00| 74 72 65 61 6d 2e 68 20 | 31 2e 33 20 38 38 2f 30 |tream.h |1.3 88/0|
|0001aa10| 38 2f 33 30 20 0a 20 2a | 0a 20 2a 09 43 6f 70 79 |8/30 . *|. *.Copy|
|0001aa20| 72 69 67 68 74 20 28 43 | 29 20 54 68 65 20 53 61 |right (C|) The Sa|
|0001aa30| 6e 74 61 20 43 72 75 7a | 20 4f 70 65 72 61 74 69 |nta Cruz| Operati|
|0001aa40| 6f 6e 2c 20 31 39 38 34 | 2c 20 31 39 38 35 2c 20 |on, 1984|, 1985, |
|0001aa50| 31 39 38 36 2c 20 31 39 | 38 37 2c 20 31 39 38 38 |1986, 19|87, 1988|
|0001aa60| 2e 0a 20 2a 09 43 6f 70 | 79 72 69 67 68 74 20 28 |.. *.Cop|yright (|
|0001aa70| 43 29 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |C) Micro|soft Cor|
|0001aa80| 70 6f 72 61 74 69 6f 6e | 2c 20 31 39 38 34 2c 20 |poration|, 1984, |
|0001aa90| 31 39 38 35 2c 20 31 39 | 38 36 2c 20 31 39 38 37 |1985, 19|86, 1987|
|0001aaa0| 2c 20 31 39 38 38 2e 0a | 20 2a 09 54 68 69 73 20 |, 1988..| *.This |
|0001aab0| 4d 6f 64 75 6c 65 20 63 | 6f 6e 74 61 69 6e 73 20 |Module c|ontains |
|0001aac0| 50 72 6f 70 72 69 65 74 | 61 72 79 20 49 6e 66 6f |Propriet|ary Info|
|0001aad0| 72 6d 61 74 69 6f 6e 20 | 6f 66 0a 20 2a 09 54 68 |rmation |of. *.Th|
|0001aae0| 65 20 53 61 6e 74 61 20 | 43 72 75 7a 20 4f 70 65 |e Santa |Cruz Ope|
|0001aaf0| 72 61 74 69 6f 6e 2c 20 | 4d 69 63 72 6f 73 6f 66 |ration, |Microsof|
|0001ab00| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 0a 20 2a |t Corpor|ation. *|
|0001ab10| 09 61 6e 64 20 41 54 26 | 54 2c 20 61 6e 64 20 73 |.and AT&|T, and s|
|0001ab20| 68 6f 75 6c 64 20 62 65 | 20 74 72 65 61 74 65 64 |hould be| treated|
|0001ab30| 20 61 73 20 43 6f 6e 66 | 69 64 65 6e 74 69 61 6c | as Conf|idential|
|0001ab40| 2e 0a 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 54 48 49 |.. */../|*. * THI|
|0001ab50| 53 20 46 49 4c 45 20 43 | 4f 4e 54 41 49 4e 53 20 |S FILE C|ONTAINS |
|0001ab60| 43 4f 44 45 20 57 48 49 | 43 48 20 49 53 20 44 45 |CODE WHI|CH IS DE|
|0001ab70| 53 49 47 4e 45 44 20 54 | 4f 20 42 45 0a 20 2a 20 |SIGNED T|O BE. * |
|0001ab80| 50 4f 52 54 41 42 4c 45 | 20 42 45 54 57 45 45 4e |PORTABLE| BETWEEN|
|0001ab90| 20 44 49 46 46 45 52 45 | 4e 54 20 4d 41 43 48 49 | DIFFERE|NT MACHI|
|0001aba0| 4e 45 20 41 52 43 48 49 | 54 45 43 54 55 52 45 53 |NE ARCHI|TECTURES|
|0001abb0| 0a 20 2a 20 41 4e 44 20 | 43 4f 4e 46 49 47 55 52 |. * AND |CONFIGUR|
|0001abc0| 41 54 49 4f 4e 53 2e 20 | 49 54 20 53 48 4f 55 4c |ATIONS. |IT SHOUL|
|0001abd0| 44 20 4e 4f 54 20 52 45 | 51 55 49 52 45 20 41 4e |D NOT RE|QUIRE AN|
|0001abe0| 59 0a 20 2a 20 4d 4f 44 | 49 46 49 43 41 54 49 4f |Y. * MOD|IFICATIO|
|0001abf0| 4e 53 20 57 07 01 0a 02 | 00 a7 01 02 00 48 45 4e |NS W....|.....HEN|
|0001ac00| 20 41 44 41 50 54 49 4e | 47 20 58 45 4e 49 58 20 | ADAPTIN|G XENIX |
|0001ac10| 54 4f 20 4e 45 57 20 48 | 41 52 44 57 41 52 45 2e |TO NEW H|ARDWARE.|
|0001ac20| 0a 20 2a 2f 0a 0a 0a 23 | 69 66 64 65 66 20 4d 5f |. */...#|ifdef M_|
|0001ac30| 49 33 38 36 0a 23 70 72 | 61 67 6d 61 20 70 61 63 |I386.#pr|agma pac|
|0001ac40| 6b 28 34 29 0a 23 65 6e | 64 69 66 0a 0a 2f 2a 0a |k(4).#en|dif../*.|
|0001ac50| 20 2a 20 64 61 74 61 20 | 71 75 65 75 65 0a 20 2a | * data |queue. *|
|0001ac60| 2f 0a 73 74 72 75 63 74 | 09 71 75 65 75 65 20 7b |/.struct|.queue {|
|0001ac70| 0a 09 73 74 72 75 63 74 | 09 71 69 6e 69 74 09 2a |..struct|.qinit.*|
|0001ac80| 71 5f 71 69 6e 66 6f 3b | 09 2f 2a 20 70 72 6f 63 |q_qinfo;|./* proc|
|0001ac90| 73 20 61 6e 64 20 6c 69 | 6d 69 74 73 20 66 6f 72 |s and li|mits for|
|0001aca0| 20 71 75 65 75 65 20 2a | 2f 0a 09 73 74 72 75 63 | queue *|/..struc|
|0001acb0| 74 09 6d 73 67 62 09 2a | 71 5f 66 69 72 73 74 3b |t.msgb.*|q_first;|
|0001acc0| 09 2f 2a 20 66 69 72 73 | 74 20 64 61 74 61 20 62 |./* firs|t data b|
|0001acd0| 6c 6f 63 6b 20 2a 2f 0a | 09 73 74 72 75 63 74 09 |lock */.|.struct.|
|0001ace0| 6d 73 67 62 09 2a 71 5f | 6c 61 73 74 3b 09 2f 2a |msgb.*q_|last;./*|
|0001acf0| 20 6c 61 73 74 20 64 61 | 74 61 20 62 6c 6f 63 6b | last da|ta block|
|0001ad00| 20 2a 2f 0a 09 73 74 72 | 75 63 74 09 71 75 65 75 | */..str|uct.queu|
|0001ad10| 65 09 2a 71 5f 6e 65 78 | 74 3b 09 2f 2a 20 51 20 |e.*q_nex|t;./* Q |
|0001ad20| 6f 66 20 6e 65 78 74 20 | 73 74 72 65 61 6d 20 2a |of next |stream *|
|0001ad30| 2f 0a 09 73 74 72 75 63 | 74 09 71 75 65 75 65 09 |/..struc|t.queue.|
|0001ad40| 2a 71 5f 6c 69 6e 6b 3b | 09 2f 2a 20 74 6f 20 6e |*q_link;|./* to n|
|0001ad50| 65 78 74 20 51 20 66 6f | 72 20 73 63 68 65 64 75 |ext Q fo|r schedu|
|0001ad60| 6c 69 6e 67 20 2a 2f 0a | 09 63 61 64 64 72 5f 74 |ling */.|.caddr_t|
|0001ad70| 09 71 5f 70 74 72 3b 09 | 09 09 2f 2a 20 74 6f 20 |.q_ptr;.|../* to |
|0001ad80| 70 72 69 76 61 74 65 20 | 64 61 74 61 20 73 74 72 |private |data str|
|0001ad90| 75 63 74 75 72 65 20 2a | 2f 0a 09 75 73 68 6f 72 |ucture *|/..ushor|
|0001ada0| 74 09 71 5f 63 6f 75 6e | 74 3b 09 09 2f 2a 20 6e |t.q_coun|t;../* n|
|0001adb0| 75 6d 62 65 72 20 6f 66 | 20 62 6c 6f 63 6b 73 20 |umber of| blocks |
|0001adc0| 6f 6e 20 51 20 2a 2f 0a | 09 75 73 68 6f 72 74 09 |on Q */.|.ushort.|
|0001add0| 71 5f 66 6c 61 67 3b 09 | 09 09 2f 2a 20 71 75 65 |q_flag;.|../* que|
|0001ade0| 75 65 20 73 74 61 74 65 | 20 2a 2f 0a 09 73 68 6f |ue state| */..sho|
|0001adf0| 72 74 20 71 5f 6d 69 6e | 70 73 7a 3b 09 07 01 0b |rt q_min|psz;....|
|0001ae00| 02 00 0b 01 02 00 09 09 | 2f 2a 20 6d 69 6e 20 70 |........|/* min p|
|0001ae10| 61 63 6b 65 74 20 73 69 | 7a 65 20 61 63 63 65 70 |acket si|ze accep|
|0001ae20| 74 65 64 20 62 79 20 74 | 68 69 73 20 6d 6f 64 75 |ted by t|his modu|
|0001ae30| 6c 65 20 2a 2f 0a 09 73 | 68 6f 72 74 20 71 5f 6d |le */..s|hort q_m|
|0001ae40| 61 78 70 73 7a 3b 09 09 | 09 2f 2a 20 6d 61 78 20 |axpsz;..|./* max |
|0001ae50| 70 61 63 6b 65 74 20 73 | 69 7a 65 20 61 63 63 65 |packet s|ize acce|
|0001ae60| 70 74 65 64 20 62 79 20 | 74 68 69 73 20 6d 6f 64 |pted by |this mod|
|0001ae70| 75 6c 65 20 2a 2f 0a 09 | 75 73 68 6f 72 74 20 71 |ule */..|ushort q|
|0001ae80| 5f 68 69 77 61 74 3b 09 | 09 09 2f 2a 20 71 75 65 |_hiwat;.|../* que|
|0001ae90| 75 65 20 68 69 67 68 20 | 77 61 74 65 72 20 6d 61 |ue high |water ma|
|0001aea0| 72 6b 20 2a 2f 0a 09 75 | 73 68 6f 72 74 20 71 5f |rk */..u|short q_|
|0001aeb0| 6c 6f 77 61 74 3b 09 09 | 09 2f 2a 20 71 75 65 75 |lowat;..|./* queu|
|0001aec0| 65 20 6c 6f 77 20 77 61 | 74 65 72 20 6d 61 72 6b |e low wa|ter mark|
|0001aed0| 20 2a 2f 0a 7d 3b 0a 0a | 74 79 70 65 64 65 66 20 | */.};..|typedef |
|0001aee0| 73 74 72 75 63 74 20 71 | 75 65 75 65 20 71 75 65 |struct q|ueue que|
|0001aef0| 75 65 5f 74 3b 0a 0a 2f | 2a 0a 20 2a 20 51 75 65 |ue_t;../|*. * Que|
|0001af00| 75 65 20 66 6c 61 67 73 | 0a 20 2a 2f 0a 23 64 65 |ue flags|. */.#de|
|0001af10| 66 69 6e 65 09 51 45 4e | 41 42 09 30 31 09 09 09 |fine.QEN|AB.01...|
|0001af20| 2f 2a 20 51 75 65 75 65 | 20 69 73 20 61 6c 72 65 |/* Queue| is alre|
|0001af30| 61 64 79 20 65 6e 61 62 | 6c 65 64 20 74 6f 20 72 |ady enab|led to r|
|0001af40| 75 6e 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 51 57 |un */.#d|efine.QW|
|0001af50| 41 4e 54 52 09 30 32 09 | 09 09 2f 2a 20 53 6f 6d |ANTR.02.|../* Som|
|0001af60| 65 6f 6e 65 20 77 61 6e | 74 73 20 74 6f 20 72 65 |eone wan|ts to re|
|0001af70| 61 64 20 51 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |ad Q */.|#define.|
|0001af80| 51 57 41 4e 54 57 09 30 | 34 09 09 09 2f 2a 20 53 |QWANTW.0|4.../* S|
|0001af90| 6f 6d 65 6f 6e 65 20 77 | 61 6e 74 73 20 74 6f 20 |omeone w|ants to |
|0001afa0| 77 72 69 74 65 20 51 20 | 2a 2f 0a 23 64 65 66 69 |write Q |*/.#defi|
|0001afb0| 6e 65 09 51 46 55 4c 4c | 09 30 31 30 09 09 09 2f |ne.QFULL|.010.../|
|0001afc0| 2a 20 51 20 69 73 20 63 | 6f 6e 73 69 64 65 72 65 |* Q is c|onsidere|
|0001afd0| 64 20 66 75 6c 6c 20 2a | 2f 0a 23 64 65 66 69 6e |d full *|/.#defin|
|0001afe0| 65 09 51 52 45 41 44 52 | 09 30 32 30 09 09 09 2f |e.QREADR|.020.../|
|0001aff0| 2a 20 54 68 69 73 20 69 | 73 20 74 68 65 20 72 65 |* This i|s the re|
|0001b000| 61 64 65 72 20 28 07 01 | 0c 02 00 1e 01 02 00 66 |ader (..|.......f|
|0001b010| 69 72 73 74 29 20 51 20 | 2a 2f 0a 23 64 65 66 69 |irst) Q |*/.#defi|
|0001b020| 6e 65 09 51 55 53 45 09 | 30 34 30 09 09 09 2f 2a |ne.QUSE.|040.../*|
|0001b030| 20 54 68 69 73 20 71 75 | 65 75 65 20 69 6e 20 75 | This qu|eue in u|
|0001b040| 73 65 20 28 61 6c 6c 6f | 63 61 74 69 6f 6e 29 20 |se (allo|cation) |
|0001b050| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 51 4e 4f 45 4e |*/.#defi|ne.QNOEN|
|0001b060| 42 09 30 31 30 30 09 09 | 09 2f 2a 20 44 6f 6e 27 |B.0100..|./* Don'|
|0001b070| 74 20 65 6e 61 62 6c 65 | 20 51 20 76 69 61 20 70 |t enable| Q via p|
|0001b080| 75 74 71 20 2a 2f 0a 0a | 0a 0a 2f 2a 0a 20 2a 20 |utq */..|../*. * |
|0001b090| 6d 6f 64 75 6c 65 20 69 | 6e 66 6f 72 6d 61 74 69 |module i|nformati|
|0001b0a0| 6f 6e 20 73 74 72 75 63 | 74 75 72 65 0a 20 2a 2f |on struc|ture. */|
|0001b0b0| 0a 73 74 72 75 63 74 20 | 6d 6f 64 75 6c 65 5f 69 |.struct |module_i|
|0001b0c0| 6e 66 6f 20 7b 0a 09 75 | 73 68 6f 72 74 09 6d 69 |nfo {..u|short.mi|
|0001b0d0| 5f 69 64 6e 75 6d 3b 09 | 09 2f 2a 20 6d 6f 64 75 |_idnum;.|./* modu|
|0001b0e0| 6c 65 20 69 64 20 6e 75 | 6d 62 65 72 20 2a 2f 0a |le id nu|mber */.|
|0001b0f0| 09 63 68 61 72 20 09 2a | 6d 69 5f 69 64 6e 61 6d |.char .*|mi_idnam|
|0001b100| 65 3b 09 09 2f 2a 20 6d | 6f 64 75 6c 65 20 6e 61 |e;../* m|odule na|
|0001b110| 6d 65 20 2a 2f 0a 09 73 | 68 6f 72 74 20 20 20 6d |me */..s|hort m|
|0001b120| 69 5f 6d 69 6e 70 73 7a | 3b 09 09 2f 2a 20 6d 69 |i_minpsz|;../* mi|
|0001b130| 6e 20 70 61 63 6b 65 74 | 20 73 69 7a 65 20 61 63 |n packet| size ac|
|0001b140| 63 65 70 74 65 64 20 2a | 2f 0a 09 73 68 6f 72 74 |cepted *|/..short|
|0001b150| 20 20 20 6d 69 5f 6d 61 | 78 70 73 7a 3b 09 09 2f | mi_ma|xpsz;../|
|0001b160| 2a 20 6d 61 78 20 70 61 | 63 6b 65 74 20 73 69 7a |* max pa|cket siz|
|0001b170| 65 20 61 63 63 65 70 74 | 65 64 20 2a 2f 0a 09 75 |e accept|ed */..u|
|0001b180| 73 68 6f 72 74 09 6d 69 | 5f 68 69 77 61 74 3b 09 |short.mi|_hiwat;.|
|0001b190| 09 2f 2a 20 68 69 2d 77 | 61 74 65 72 20 6d 61 72 |./* hi-w|ater mar|
|0001b1a0| 6b 20 2a 2f 0a 09 75 73 | 68 6f 72 74 20 09 6d 69 |k */..us|hort .mi|
|0001b1b0| 5f 6c 6f 77 61 74 3b 09 | 09 2f 2a 20 6c 6f 2d 77 |_lowat;.|./* lo-w|
|0001b1c0| 61 74 65 72 20 6d 61 72 | 6b 20 2a 2f 0a 7d 3b 0a |ater mar|k */.};.|
|0001b1d0| 0a 0a 2f 2a 0a 20 2a 20 | 71 75 65 75 65 20 69 6e |../*. * |queue in|
|0001b1e0| 66 6f 72 6d 61 74 69 6f | 6e 20 73 74 72 75 63 74 |formatio|n struct|
|0001b1f0| 75 72 65 0a 20 2a 2f 0a | 73 74 72 75 63 74 09 71 |ure. */.|struct.q|
|0001b200| 69 6e 69 74 20 7b 0a 09 | 69 6e 74 09 28 2a 71 07 |init {..|int.(*q.|
|0001b210| 01 0d 02 00 9a 01 02 00 | 69 5f 70 75 74 70 29 28 |........|i_putp)(|
|0001b220| 29 3b 09 09 2f 2a 20 70 | 75 74 20 70 72 6f 63 65 |);../* p|ut proce|
|0001b230| 64 75 72 65 20 2a 2f 0a | 09 69 6e 74 09 28 2a 71 |dure */.|.int.(*q|
|0001b240| 69 5f 73 72 76 70 29 28 | 29 3b 09 09 2f 2a 20 73 |i_srvp)(|);../* s|
|0001b250| 65 72 76 69 63 65 20 70 | 72 6f 63 65 64 75 72 65 |ervice p|rocedure|
|0001b260| 20 2a 2f 0a 09 69 6e 74 | 09 28 2a 71 69 5f 71 6f | */..int|.(*qi_qo|
|0001b270| 70 65 6e 29 28 29 3b 09 | 09 2f 2a 20 63 61 6c 6c |pen)();.|./* call|
|0001b280| 65 64 20 6f 6e 20 73 74 | 61 72 74 75 70 20 2a 2f |ed on st|artup */|
|0001b290| 0a 09 69 6e 74 09 28 2a | 71 69 5f 71 63 6c 6f 73 |..int.(*|qi_qclos|
|0001b2a0| 65 29 28 29 3b 09 09 2f | 2a 20 63 61 6c 6c 65 64 |e)();../|* called|
|0001b2b0| 20 6f 6e 20 66 69 6e 69 | 73 68 20 2a 2f 0a 09 69 | on fini|sh */..i|
|0001b2c0| 6e 74 09 28 2a 71 69 5f | 71 61 64 6d 69 6e 29 28 |nt.(*qi_|qadmin)(|
|0001b2d0| 29 3b 09 09 2f 2a 20 66 | 6f 72 20 33 62 6e 65 74 |);../* f|or 3bnet|
|0001b2e0| 20 6f 6e 6c 79 20 2a 2f | 0a 09 73 74 72 75 63 74 | only */|..struct|
|0001b2f0| 20 6d 6f 64 75 6c 65 5f | 69 6e 66 6f 20 2a 71 69 | module_|info *qi|
|0001b300| 5f 6d 69 6e 66 6f 3b 09 | 2f 2a 20 6d 6f 64 75 6c |_minfo;.|/* modul|
|0001b310| 65 20 69 6e 66 6f 72 6d | 61 74 69 6f 6e 20 73 74 |e inform|ation st|
|0001b320| 72 75 63 74 75 72 65 20 | 2a 2f 0a 09 73 74 72 75 |ructure |*/..stru|
|0001b330| 63 74 20 6d 6f 64 75 6c | 65 5f 73 74 61 74 20 2a |ct modul|e_stat *|
|0001b340| 71 69 5f 6d 73 74 61 74 | 3b 09 2f 2a 20 6d 6f 64 |qi_mstat|;./* mod|
|0001b350| 75 6c 65 20 73 74 61 74 | 69 73 74 69 63 73 20 73 |ule stat|istics s|
|0001b360| 74 72 75 63 74 75 72 65 | 20 2a 2f 0a 7d 3b 0a 0a |tructure| */.};..|
|0001b370| 0a 0a 0a 2f 2a 0a 20 2a | 20 53 74 72 65 61 6d 74 |.../*. *| Streamt|
|0001b380| 61 62 20 28 75 73 65 64 | 20 69 6e 20 63 64 65 76 |ab (used| in cdev|
|0001b390| 73 77 20 61 6e 64 20 66 | 6d 6f 64 73 77 20 74 6f |sw and f|modsw to|
|0001b3a0| 20 70 6f 69 6e 74 20 74 | 6f 20 6d 6f 64 75 6c 65 | point t|o module|
|0001b3b0| 20 6f 72 20 64 72 69 76 | 65 72 29 0a 20 2a 2f 0a | or driv|er). */.|
|0001b3c0| 0a 73 74 72 75 63 74 20 | 73 74 72 65 61 6d 74 61 |.struct |streamta|
|0001b3d0| 62 20 7b 0a 09 73 74 72 | 75 63 74 20 71 69 6e 69 |b {..str|uct qini|
|0001b3e0| 74 20 2a 73 74 5f 72 64 | 69 6e 69 74 3b 0a 09 73 |t *st_rd|init;..s|
|0001b3f0| 74 72 75 63 74 20 71 69 | 6e 69 74 20 2a 73 74 5f |truct qi|nit *st_|
|0001b400| 77 72 69 6e 69 74 3b 0a | 09 73 74 72 75 63 74 20 |wrinit;.|.struct |
|0001b410| 71 69 6e 69 74 20 2a 73 | 07 01 0e 02 00 da 01 02 |qinit *s|........|
|0001b420| 00 74 5f 6d 75 78 72 69 | 6e 69 74 3b 0a 09 73 74 |.t_muxri|nit;..st|
|0001b430| 72 75 63 74 20 71 69 6e | 69 74 20 2a 73 74 5f 6d |ruct qin|it *st_m|
|0001b440| 75 78 77 69 6e 69 74 3b | 0a 7d 3b 0a 0a 0a 0a 2f |uxwinit;|.};..../|
|0001b450| 2a 0a 20 2a 20 48 65 61 | 64 65 72 20 66 6f 72 20 |*. * Hea|der for |
|0001b460| 61 20 73 74 72 65 61 6d | 3a 20 69 6e 74 65 72 66 |a stream|: interf|
|0001b470| 61 63 65 20 74 6f 20 72 | 65 73 74 20 6f 66 20 73 |ace to r|est of s|
|0001b480| 79 73 74 65 6d 0a 20 2a | 2f 0a 0a 73 74 72 75 63 |ystem. *|/..struc|
|0001b490| 74 20 73 74 64 61 74 61 | 20 7b 0a 09 73 74 72 75 |t stdata| {..stru|
|0001b4a0| 63 74 09 71 75 65 75 65 | 20 2a 73 64 5f 77 72 71 |ct.queue| *sd_wrq|
|0001b4b0| 3b 09 09 2f 2a 20 77 72 | 69 74 65 20 71 75 65 75 |;../* wr|ite queu|
|0001b4c0| 65 20 2a 2f 0a 09 73 74 | 72 75 63 74 09 6d 73 67 |e */..st|ruct.msg|
|0001b4d0| 62 20 2a 73 64 5f 69 6f | 63 62 6c 6b 3b 09 2f 2a |b *sd_io|cblk;./*|
|0001b4e0| 20 72 65 74 75 72 6e 20 | 62 6c 6f 63 6b 20 66 6f | return |block fo|
|0001b4f0| 72 20 69 6f 63 74 6c 20 | 2a 2f 0a 09 73 74 72 75 |r ioctl |*/..stru|
|0001b500| 63 74 09 69 6e 6f 64 65 | 20 2a 73 64 5f 69 6e 6f |ct.inode| *sd_ino|
|0001b510| 64 65 3b 09 2f 2a 20 62 | 61 63 6b 70 74 72 2c 20 |de;./* b|ackptr, |
|0001b520| 66 6f 72 20 68 61 6e 67 | 75 70 73 20 2a 2f 0a 09 |for hang|ups */..|
|0001b530| 73 74 72 75 63 74 20 09 | 73 74 72 65 61 6d 74 61 |struct .|streamta|
|0001b540| 62 20 2a 73 64 5f 73 74 | 72 74 61 62 3b 09 2f 2a |b *sd_st|rtab;./*|
|0001b550| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 73 74 72 65 | pointer| to stre|
|0001b560| 61 6d 74 61 62 20 66 6f | 72 20 73 74 72 65 61 6d |amtab fo|r stream|
|0001b570| 20 2a 2f 0a 09 6c 6f 6e | 67 09 73 64 5f 66 6c 61 | */..lon|g.sd_fla|
|0001b580| 67 3b 09 09 2f 2a 20 73 | 74 61 74 65 2f 66 6c 61 |g;../* s|tate/fla|
|0001b590| 67 73 20 2a 2f 0a 09 6c | 6f 6e 67 09 73 64 5f 69 |gs */..l|ong.sd_i|
|0001b5a0| 6f 63 69 64 3b 09 09 2f | 2a 20 69 6f 63 74 6c 20 |ocid;../|* ioctl |
|0001b5b0| 69 64 20 2a 2f 0a 09 75 | 73 68 6f 72 74 09 73 64 |id */..u|short.sd|
|0001b5c0| 5f 69 6f 63 77 61 69 74 | 3b 09 09 2f 2a 20 63 6f |_iocwait|;../* co|
|0001b5d0| 75 6e 74 20 6f 66 20 70 | 72 6f 63 73 20 77 61 69 |unt of p|rocs wai|
|0001b5e0| 74 69 6e 67 20 74 6f 20 | 64 6f 20 69 6f 63 74 6c |ting to |do ioctl|
|0001b5f0| 20 2a 2f 0a 09 73 68 6f | 72 74 09 73 64 5f 70 67 | */..sho|rt.sd_pg|
|0001b600| 72 70 3b 09 09 2f 2a 20 | 70 72 6f 63 65 73 73 20 |rp;../* |process |
|0001b610| 67 72 6f 75 70 2c 20 66 | 6f 72 20 73 69 67 6e 61 |group, f|or signa|
|0001b620| 6c 07 01 0f 02 00 bd 01 | 02 00 73 20 2a 2f 0a 09 |l.......|..s */..|
|0001b630| 75 73 68 6f 72 74 09 73 | 64 5f 77 72 6f 66 66 3b |ushort.s|d_wroff;|
|0001b640| 09 09 2f 2a 20 77 72 69 | 74 65 20 6f 66 66 73 65 |../* wri|te offse|
|0001b650| 74 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 63 |t */..un|signed c|
|0001b660| 68 61 72 20 20 73 64 5f | 65 72 72 6f 72 3b 09 2f |har sd_|error;./|
|0001b670| 2a 20 68 61 6e 67 75 70 | 20 6f 72 20 65 72 72 6f |* hangup| or erro|
|0001b680| 72 20 74 6f 20 73 65 74 | 20 75 2e 75 5f 65 72 72 |r to set| u.u_err|
|0001b690| 6f 72 20 2a 2f 0a 09 69 | 6e 74 09 73 64 5f 70 75 |or */..i|nt.sd_pu|
|0001b6a0| 73 68 63 6e 74 3b 09 09 | 2f 2a 20 6e 75 6d 62 65 |shcnt;..|/* numbe|
|0001b6b0| 72 20 6f 66 20 70 75 73 | 68 65 73 20 64 6f 6e 65 |r of pus|hes done|
|0001b6c0| 20 6f 6e 20 73 74 72 65 | 61 6d 20 2a 2f 0a 09 73 | on stre|am */..s|
|0001b6d0| 74 72 75 63 74 20 20 73 | 74 72 65 76 65 6e 74 20 |truct s|trevent |
|0001b6e0| 2a 73 64 5f 73 69 67 6c | 69 73 74 3b 09 2f 2a 20 |*sd_sigl|ist;./* |
|0001b6f0| 70 69 64 20 6c 69 6e 6b | 65 64 20 6c 69 73 74 20 |pid link|ed list |
|0001b700| 74 6f 20 72 63 76 20 53 | 49 47 50 4f 4c 4c 20 73 |to rcv S|IGPOLL s|
|0001b710| 69 67 20 2a 2f 0a 09 73 | 74 72 75 63 74 09 73 74 |ig */..s|truct.st|
|0001b720| 72 65 76 65 6e 74 20 2a | 73 64 5f 70 6f 6c 6c 69 |revent *|sd_polli|
|0001b730| 73 74 3b 09 2f 2a 20 70 | 69 64 20 6c 69 6e 6b 65 |st;./* p|id linke|
|0001b740| 64 20 6c 69 73 74 20 74 | 6f 20 77 61 6b 65 75 70 |d list t|o wakeup|
|0001b750| 20 70 6f 6c 6c 28 29 20 | 2a 2f 0a 09 69 6e 74 09 | poll() |*/..int.|
|0001b760| 73 64 5f 73 69 67 66 6c | 61 67 73 3b 09 09 2f 2a |sd_sigfl|ags;../*|
|0001b770| 20 6c 6f 67 69 63 61 6c | 20 4f 52 20 6f 66 20 61 | logical| OR of a|
|0001b780| 6c 6c 20 73 69 67 6c 69 | 73 74 20 65 76 65 6e 74 |ll sigli|st event|
|0001b790| 73 20 2a 2f 0a 09 69 6e | 74 09 73 64 5f 70 6f 6c |s */..in|t.sd_pol|
|0001b7a0| 6c 66 6c 61 67 73 3b 09 | 09 2f 2a 20 6c 6f 67 69 |lflags;.|./* logi|
|0001b7b0| 63 61 6c 20 4f 52 20 6f | 66 20 61 6c 6c 20 73 65 |cal OR o|f all se|
|0001b7c0| 6c 6c 69 73 74 20 65 76 | 65 6e 74 73 20 2a 2f 0a |llist ev|ents */.|
|0001b7d0| 7d 3b 0a 0a 0a 0a 2f 2a | 0a 20 2a 20 73 74 64 61 |};..../*|. * stda|
|0001b7e0| 74 61 20 66 6c 61 67 20 | 66 69 65 6c 64 20 64 65 |ta flag |field de|
|0001b7f0| 66 69 6e 65 73 0a 20 2a | 2f 0a 23 64 65 66 69 6e |fines. *|/.#defin|
|0001b800| 65 09 49 4f 43 57 41 49 | 54 09 09 30 31 09 09 2f |e.IOCWAI|T..01../|
|0001b810| 2a 20 53 6f 6d 65 6f 6e | 65 20 77 61 6e 74 73 20 |* Someon|e wants |
|0001b820| 74 6f 20 64 6f 20 69 6f | 63 74 0f 08 00 04 08 00 |to do io|ct......|
|0001b830| 01 02 00 6c 01 02 00 6c | 20 2a 2f 0a 23 64 65 66 |...l...l| */.#def|
|0001b840| 69 6e 65 20 52 53 4c 45 | 45 50 09 09 30 32 09 09 |ine RSLE|EP..02..|
|0001b850| 2f 2a 20 53 6f 6d 65 6f | 6e 65 20 77 61 6e 74 73 |/* Someo|ne wants|
|0001b860| 20 74 6f 20 72 65 61 64 | 2f 72 65 63 76 20 6d 73 | to read|/recv ms|
|0001b870| 67 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 57 53 4c |g */.#de|fine.WSL|
|0001b880| 45 45 50 09 09 30 34 09 | 09 2f 2a 20 53 6f 6d 65 |EEP..04.|./* Some|
|0001b890| 6f 6e 65 20 77 61 6e 74 | 73 20 74 6f 20 77 72 69 |one want|s to wri|
|0001b8a0| 74 65 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 53 54 |te */.#d|efine ST|
|0001b8b0| 52 50 52 49 09 20 20 20 | 20 20 20 20 30 31 30 09 |RPRI. | 010.|
|0001b8c0| 09 2f 2a 20 41 6e 20 4d | 5f 50 43 50 52 4f 54 4f |./* An M|_PCPROTO|
|0001b8d0| 20 69 73 20 61 74 20 73 | 74 72 65 61 6d 20 68 65 | is at s|tream he|
|0001b8e0| 61 64 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 53 54 |ad */.#d|efine.ST|
|0001b8f0| 52 48 55 50 09 20 20 20 | 20 20 20 20 30 32 30 09 |RHUP. | 020.|
|0001b900| 09 2f 2a 20 44 65 76 69 | 63 65 20 68 61 73 20 76 |./* Devi|ce has v|
|0001b910| 61 6e 69 73 68 65 64 20 | 2a 2f 0a 23 64 65 66 69 |anished |*/.#defi|
|0001b920| 6e 65 09 53 54 57 4f 50 | 45 4e 09 20 20 20 20 20 |ne.STWOP|EN. |
|0001b930| 20 20 30 34 30 09 09 2f | 2a 20 77 61 69 74 69 6e | 040../|* waitin|
|0001b940| 67 20 66 6f 72 20 31 73 | 74 20 6f 70 65 6e 20 2a |g for 1s|t open *|
|0001b950| 2f 0a 23 64 65 66 69 6e | 65 20 53 54 50 4c 45 58 |/.#defin|e STPLEX|
|0001b960| 09 20 20 20 20 20 20 30 | 31 30 30 09 09 2f 2a 20 |. 0|100../* |
|0001b970| 73 74 72 65 61 6d 20 69 | 73 20 62 65 69 6e 67 20 |stream i|s being |
|0001b980| 6d 75 6c 74 69 70 6c 65 | 78 65 64 20 2a 2f 0a 23 |multiple|xed */.#|
|0001b990| 64 65 66 69 6e 65 20 43 | 54 54 59 46 4c 47 09 20 |define C|TTYFLG. |
|0001b9a0| 20 20 20 20 20 30 32 30 | 30 09 09 2f 2a 20 75 73 | 020|0../* us|
|0001b9b0| 65 64 20 6f 66 20 66 69 | 6e 64 69 6e 67 20 63 6f |ed of fi|nding co|
|0001b9c0| 6e 74 72 6f 6c 20 74 74 | 79 20 2a 2f 0a 23 64 65 |ntrol tt|y */.#de|
|0001b9d0| 66 69 6e 65 20 52 4d 53 | 47 44 49 53 09 20 20 20 |fine RMS|GDIS. |
|0001b9e0| 20 20 20 30 34 30 30 09 | 09 2f 2a 20 72 65 61 64 | 0400.|./* read|
|0001b9f0| 20 6d 73 67 20 64 69 73 | 63 61 72 64 20 2a 2f 0a | msg dis|card */.|
|0001ba00| 23 64 65 66 69 6e 65 20 | 52 4d 53 47 4e 4f 44 49 |#define |RMSGNODI|
|0001ba10| 53 20 20 20 20 30 31 30 | 30 30 09 09 2f 2a 20 72 |S 010|00../* r|
|0001ba20| 65 61 64 20 6d 73 67 20 | 6e 6f 20 64 69 73 63 61 |ead msg |no disca|
|0001ba30| 72 64 20 2a 2f 0a 23 08 | 00 02 02 00 ec 01 02 00 |rd */.#.|........|
|0001ba40| 64 65 66 69 6e 65 20 53 | 54 52 45 52 52 09 20 20 |define S|TRERR. |
|0001ba50| 20 20 20 30 32 30 30 30 | 09 09 2f 2a 20 66 61 74 | 02000|../* fat|
|0001ba60| 61 6c 20 65 72 72 6f 72 | 20 66 72 6f 6d 20 4d 5f |al error| from M_|
|0001ba70| 45 52 52 4f 52 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ERROR */|.#define|
|0001ba80| 20 53 54 52 54 49 4d 45 | 20 20 20 20 20 20 30 34 | STRTIME| 04|
|0001ba90| 30 30 30 09 09 2f 2a 20 | 75 73 65 64 20 77 69 74 |000../* |used wit|
|0001baa0| 68 20 74 69 6d 65 6f 75 | 74 20 73 74 72 74 69 6d |h timeou|t strtim|
|0001bab0| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 54 52 |e */.#de|fine STR|
|0001bac0| 32 54 49 4d 45 20 20 20 | 20 30 31 30 30 30 30 09 |2TIME | 010000.|
|0001bad0| 09 2f 2a 20 75 73 65 64 | 20 77 69 74 68 20 74 69 |./* used| with ti|
|0001bae0| 6d 65 6f 75 74 20 73 74 | 72 32 74 69 6d 65 20 2a |meout st|r2time *|
|0001baf0| 2f 0a 23 64 65 66 69 6e | 65 20 53 54 52 33 54 49 |/.#defin|e STR3TI|
|0001bb00| 4d 45 20 20 20 20 30 32 | 30 30 30 30 09 09 2f 2a |ME 02|0000../*|
|0001bb10| 20 75 73 65 64 20 77 69 | 74 68 20 74 69 6d 65 6f | used wi|th timeo|
|0001bb20| 75 74 20 73 74 72 33 74 | 69 6d 65 20 2a 2f 0a 0a |ut str3t|ime */..|
|0001bb30| 0a 2f 2a 20 0a 20 2a 20 | 73 74 72 75 63 74 75 72 |./* . * |structur|
|0001bb40| 65 20 66 6f 72 20 73 74 | 6f 72 69 6e 67 20 74 72 |e for st|oring tr|
|0001bb50| 69 70 6c 65 73 20 6f 66 | 20 6d 75 78 27 65 64 20 |iples of| mux'ed |
|0001bb60| 73 74 72 65 61 6d 73 20 | 0a 20 2a 2f 0a 73 74 72 |streams |. */.str|
|0001bb70| 75 63 74 20 6c 69 6e 6b | 62 6c 6b 20 7b 0a 09 71 |uct link|blk {..q|
|0001bb80| 75 65 75 65 5f 74 20 2a | 6c 5f 71 74 6f 70 3b 09 |ueue_t *|l_qtop;.|
|0001bb90| 2f 2a 20 6c 6f 77 65 73 | 74 20 6c 65 76 65 6c 20 |/* lowes|t level |
|0001bba0| 77 72 69 74 65 20 71 75 | 65 75 65 20 6f 66 20 75 |write qu|eue of u|
|0001bbb0| 70 70 65 72 20 73 74 72 | 65 61 6d 20 2a 2f 0a 09 |pper str|eam */..|
|0001bbc0| 71 75 65 75 65 5f 74 20 | 2a 6c 5f 71 62 6f 74 3b |queue_t |*l_qbot;|
|0001bbd0| 09 2f 2a 20 68 69 67 68 | 65 73 74 20 6c 65 76 65 |./* high|est leve|
|0001bbe0| 6c 20 77 72 69 74 65 20 | 71 75 65 75 65 20 6f 66 |l write |queue of|
|0001bbf0| 20 6c 6f 77 65 72 20 73 | 74 72 65 61 6d 20 2a 2f | lower s|tream */|
|0001bc00| 0a 09 69 6e 74 20 20 20 | 20 20 20 6c 5f 69 6e 64 |..int | l_ind|
|0001bc10| 65 78 3b 09 2f 2a 20 66 | 69 6c 65 5b 5d 20 69 6e |ex;./* f|ile[] in|
|0001bc20| 64 65 78 20 66 6f 72 20 | 6c 6f 77 65 72 20 73 74 |dex for |lower st|
|0001bc30| 72 65 61 6d 2e 20 2a 2f | 0a 7d 3b 0a 0a 0a 2f 2a |ream. */|.};.../*|
|0001bc40| 08 00 03 02 00 eb 01 02 | 00 0a 20 2a 20 53 74 72 |........|.. * Str|
|0001bc50| 75 63 74 75 72 65 20 6f | 66 20 6c 69 73 74 20 6f |ucture o|f list o|
|0001bc60| 66 20 70 72 6f 63 65 73 | 73 65 73 20 74 6f 20 62 |f proces|ses to b|
|0001bc70| 65 20 73 65 6e 74 20 53 | 49 47 53 45 4c 20 73 69 |e sent S|IGSEL si|
|0001bc80| 67 6e 61 6c 0a 20 2a 20 | 6f 6e 20 72 65 71 75 65 |gnal. * |on reque|
|0001bc90| 73 74 2c 20 6f 72 20 66 | 6f 72 20 70 72 6f 63 65 |st, or f|or proce|
|0001bca0| 73 73 65 73 20 73 6c 65 | 65 70 69 6e 67 20 6f 6e |sses sle|eping on|
|0001bcb0| 20 73 65 6c 65 63 74 28 | 29 2e 20 20 54 68 65 20 | select(|). The |
|0001bcc0| 76 61 6c 69 64 20 0a 20 | 2a 20 53 49 47 53 45 4c |valid . |* SIGSEL|
|0001bcd0| 20 65 76 65 6e 74 73 20 | 61 72 65 20 64 65 66 69 | events |are defi|
|0001bce0| 6e 65 64 20 69 6e 20 73 | 74 72 6f 70 74 73 2e 68 |ned in s|tropts.h|
|0001bcf0| 2c 20 61 6e 64 20 74 68 | 65 20 76 61 6c 69 64 20 |, and th|e valid |
|0001bd00| 73 65 6c 65 63 74 28 29 | 0a 20 2a 20 65 76 65 6e |select()|. * even|
|0001bd10| 74 73 20 61 72 65 20 64 | 65 66 69 6e 65 64 20 69 |ts are d|efined i|
|0001bd20| 6e 20 73 65 6c 65 63 74 | 2e 68 2e 0a 20 2a 2f 0a |n select|.h.. */.|
|0001bd30| 73 74 72 75 63 74 20 73 | 74 72 65 76 65 6e 74 20 |struct s|trevent |
|0001bd40| 7b 0a 09 75 6e 69 6f 6e | 20 7b 0a 09 09 73 74 72 |{..union| {...str|
|0001bd50| 75 63 74 20 7b 0a 09 09 | 09 73 74 72 75 63 74 20 |uct {...|.struct |
|0001bd60| 70 72 6f 63 20 09 2a 70 | 72 6f 63 70 3b 0a 09 09 |proc .*p|rocp;...|
|0001bd70| 09 6c 6f 6e 67 20 09 09 | 65 76 65 6e 74 73 3b 0a |.long ..|events;.|
|0001bd80| 09 09 09 7d 20 65 3b 0a | 09 09 73 74 72 75 63 74 |...} e;.|..struct|
|0001bd90| 20 7b 0a 09 09 09 69 6e | 74 20 28 2a 66 75 6e 63 | {....in|t (*func|
|0001bda0| 29 28 29 3b 0a 09 09 09 | 6c 6f 6e 67 20 61 72 67 |)();....|long arg|
|0001bdb0| 3b 0a 09 09 09 7d 20 62 | 3b 0a 09 7d 20 78 3b 0a |;....} b|;..} x;.|
|0001bdc0| 09 73 74 72 75 63 74 20 | 73 74 72 65 76 65 6e 74 |.struct |strevent|
|0001bdd0| 20 2a 73 65 5f 6e 65 78 | 74 3b 0a 7d 3b 0a 0a 23 | *se_nex|t;.};..#|
|0001bde0| 64 65 66 69 6e 65 20 73 | 65 5f 70 72 6f 63 70 20 |define s|e_procp |
|0001bdf0| 78 2e 65 2e 70 72 6f 63 | 70 0a 23 64 65 66 69 6e |x.e.proc|p.#defin|
|0001be00| 65 20 73 65 5f 65 76 65 | 6e 74 73 20 78 2e 65 2e |e se_eve|nts x.e.|
|0001be10| 65 76 65 6e 74 73 0a 23 | 64 65 66 69 6e 65 20 73 |events.#|define s|
|0001be20| 65 5f 66 75 6e 63 20 78 | 2e 62 2e 66 75 6e 63 0a |e_func x|.b.func.|
|0001be30| 23 64 65 66 69 6e 65 20 | 73 65 5f 61 72 67 20 78 |#define |se_arg x|
|0001be40| 2e 62 2e 61 72 67 0a 0a | 23 08 00 04 02 00 eb 01 |.b.arg..|#.......|
|0001be50| 02 00 64 65 66 69 6e 65 | 20 53 45 5f 53 4c 45 45 |..define| SE_SLEE|
|0001be60| 50 09 30 09 2f 2a 20 6f | 6b 20 74 6f 20 73 6c 65 |P.0./* o|k to sle|
|0001be70| 65 70 20 69 6e 20 61 6c | 6c 6f 63 61 74 69 6f 6e |ep in al|location|
|0001be80| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 53 45 5f 4e | */.#def|ine SE_N|
|0001be90| 4f 53 4c 50 09 31 09 2f | 2a 20 64 6f 6e 27 74 20 |OSLP.1./|* don't |
|0001bea0| 73 6c 65 65 70 20 69 6e | 20 61 6c 6c 6f 63 61 74 |sleep in| allocat|
|0001beb0| 69 6f 6e 20 2a 2f 0a 0a | 0a 2f 2a 0a 20 2a 20 20 |ion */..|./*. * |
|0001bec0| 44 61 74 61 20 62 6c 6f | 63 6b 20 64 65 73 63 72 |Data blo|ck descr|
|0001bed0| 69 70 74 6f 72 0a 20 2a | 2f 0a 73 74 72 75 63 74 |iptor. *|/.struct|
|0001bee0| 20 64 61 74 61 62 20 7b | 0a 09 73 74 72 75 63 74 | datab {|..struct|
|0001bef0| 20 64 61 74 61 62 09 2a | 64 62 5f 66 72 65 65 70 | datab.*|db_freep|
|0001bf00| 3b 0a 09 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |;..unsig|ned char|
|0001bf10| 09 2a 64 62 5f 62 61 73 | 65 3b 0a 09 75 6e 73 69 |.*db_bas|e;..unsi|
|0001bf20| 67 6e 65 64 20 63 68 61 | 72 09 2a 64 62 5f 6c 69 |gned cha|r.*db_li|
|0001bf30| 6d 3b 0a 09 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |m;..unsi|gned cha|
|0001bf40| 72 09 64 62 5f 72 65 66 | 3b 0a 09 75 6e 73 69 67 |r.db_ref|;..unsig|
|0001bf50| 6e 65 64 20 63 68 61 72 | 09 64 62 5f 74 79 70 65 |ned char|.db_type|
|0001bf60| 3b 0a 09 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |;..unsig|ned char|
|0001bf70| 09 64 62 5f 63 6c 61 73 | 73 3b 0a 7d 3b 0a 0a 0a |.db_clas|s;.};...|
|0001bf80| 2f 2a 0a 20 2a 20 4d 65 | 73 73 61 67 65 20 62 6c |/*. * Me|ssage bl|
|0001bf90| 6f 63 6b 20 64 65 73 63 | 72 69 70 74 6f 72 0a 20 |ock desc|riptor. |
|0001bfa0| 2a 2f 0a 73 74 72 75 63 | 74 09 6d 73 67 62 20 7b |*/.struc|t.msgb {|
|0001bfb0| 0a 09 73 74 72 75 63 74 | 09 6d 73 67 62 09 2a 62 |..struct|.msgb.*b|
|0001bfc0| 5f 6e 65 78 74 3b 0a 09 | 73 74 72 75 63 74 20 20 |_next;..|struct |
|0001bfd0| 6d 73 67 62 09 2a 62 5f | 70 72 65 76 3b 0a 09 73 |msgb.*b_|prev;..s|
|0001bfe0| 74 72 75 63 74 09 6d 73 | 67 62 09 2a 62 5f 63 6f |truct.ms|gb.*b_co|
|0001bff0| 6e 74 3b 0a 09 75 6e 73 | 69 67 6e 65 64 20 63 68 |nt;..uns|igned ch|
|0001c000| 61 72 09 2a 62 5f 72 70 | 74 72 3b 0a 09 75 6e 73 |ar.*b_rp|tr;..uns|
|0001c010| 69 67 6e 65 64 20 63 68 | 61 72 09 2a 62 5f 77 70 |igned ch|ar.*b_wp|
|0001c020| 74 72 3b 0a 09 73 74 72 | 75 63 74 20 64 61 74 61 |tr;..str|uct data|
|0001c030| 62 20 09 2a 62 5f 64 61 | 74 61 70 3b 0a 7d 3b 0a |b .*b_da|tap;.};.|
|0001c040| 0a 74 79 70 65 64 65 66 | 20 73 74 72 75 63 74 20 |.typedef| struct |
|0001c050| 6d 73 08 00 05 02 00 ef | 71 01 02 00 ff 67 62 20 |ms......|q....gb |
|0001c060| 6d 62 6c 6b 5f 74 3b 0a | 74 79 70 65 64 65 66 20 |mblk_t;.|typedef |
|0001c070| 73 74 72 75 63 74 20 64 | 61 74 61 62 20 64 62 6c |struct d|atab dbl|
|0001c080| 6b 5f 74 3b 0a 0a 0a 0a | 0a 2f 2a 0a 20 2a 20 44 |k_t;....|./*. * D|
|0001c090| 61 74 61 20 62 6c 6f 63 | 6b 20 61 6c 6c 6f 63 61 |ata bloc|k alloca|
|0001c0a0| 74 69 6f 6e 20 69 6e 66 | 6f 72 6d 61 74 69 6f 6e |tion inf|ormation|
|0001c0b0| 2e 20 20 44 65 66 69 6e | 65 73 20 63 75 74 6f 66 |. Defin|es cutof|
|0001c0c0| 66 73 20 66 6f 72 20 61 | 6c 6c 6f 63 61 74 69 6f |fs for a|llocatio|
|0001c0d0| 6e 20 0a 20 2a 20 70 72 | 69 6f 72 69 74 69 65 73 |n . * pr|iorities|
|0001c0e0| 3b 20 62 75 66 63 61 6c | 6c 20 6c 69 73 74 73 2e |; bufcal|l lists.|
|0001c0f0| 20 0a 20 2a 2f 0a 0a 73 | 74 72 75 63 74 20 64 62 | . */..s|truct db|
|0001c100| 61 6c 63 73 74 20 7b 0a | 09 69 6e 74 20 64 62 61 |alcst {.|.int dba|
|0001c110| 5f 63 6e 74 3b 0a 09 69 | 6e 74 20 64 62 61 5f 6c |_cnt;..i|nt dba_l|
|0001c120| 6f 3b 0a 09 69 6e 74 20 | 64 62 61 5f 6d 65 64 3b |o;..int |dba_med;|
|0001c130| 0a 09 73 74 72 75 63 74 | 20 73 74 72 65 76 65 6e |..struct| streven|
|0001c140| 74 20 2a 64 62 61 5f 6c | 6f 70 3b 0a 09 73 74 72 |t *dba_l|op;..str|
|0001c150| 75 63 74 20 73 74 72 65 | 76 65 6e 74 00 2e 20 2a |uct stre|vent.. *|
|0001c160| 64 62 61 5f 6d 65 64 70 | 3b 0a 09 73 74 72 75 63 |dba_medp|;..struc|
|0001c170| 74 20 73 74 72 65 76 65 | 6e 74 20 2a 64 62 61 5f |t streve|nt *dba_|
|0001c180| 68 69 70 3b 0a 7d 3b 0a | 0a 0a 0a 2f 01 28 2a 2a |hip;.};.|.../.(**|
|0001c190| 00 26 2f 0a 2f 2a 20 09 | 09 09 53 74 72 65 61 6d |.&/./* .|..Stream|
|0001c1a0| 73 20 6d 65 73 73 61 67 | 65 20 74 79 70 65 73 09 |s messag|e types.|
|0001c1b0| 09 09 09 09 2a 2f 0a 2f | 01 28 2a 2a 00 0d 2f 0a |....*/./|.(**../.|
|0001c1c0| 0a 0a 2f 2a 0a 20 2a 20 | 44 61 74 08 00 06 02 00 |../*. * |Dat.....|
|0001c1d0| e8 01 02 00 61 20 61 6e | 64 20 70 72 6f 74 6f 63 |....a an|d protoc|
|0001c1e0| 6f 6c 20 6d 65 73 73 61 | 67 65 73 20 28 72 65 67 |ol messa|ges (reg|
|0001c1f0| 75 6c 61 72 20 70 72 69 | 6f 72 69 74 79 29 0a 20 |ular pri|ority). |
|0001c200| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4d 5f 44 41 54 |*/.#defi|ne.M_DAT|
|0001c210| 41 09 09 30 30 09 09 2f | 2a 20 72 65 67 75 6c 61 |A..00../|* regula|
|0001c220| 72 20 64 61 74 61 20 2a | 2f 0a 23 64 65 66 69 6e |r data *|/.#defin|
|0001c230| 65 20 4d 5f 50 52 4f 54 | 4f 09 09 30 31 09 09 2f |e M_PROT|O..01../|
|0001c240| 2a 20 70 72 6f 74 6f 63 | 6f 6c 20 63 6f 6e 74 72 |* protoc|ol contr|
|0001c250| 6f 6c 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 43 6f 6e |ol */../|*. * Con|
|0001c260| 74 72 6f 6c 20 6d 65 73 | 73 61 67 65 73 20 28 72 |trol mes|sages (r|
|0001c270| 65 67 75 6c 61 72 20 70 | 72 69 6f 72 69 74 79 29 |egular p|riority)|
|0001c280| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4d 5f 42 |. */.#de|fine.M_B|
|0001c290| 52 45 41 4b 09 09 30 31 | 30 09 09 2f 2a 20 6c 69 |REAK..01|0../* li|
|0001c2a0| 6e 65 20 62 72 65 61 6b | 20 2a 2f 0a 23 64 65 66 |ne break| */.#def|
|0001c2b0| 69 6e 65 20 4d 5f 50 41 | 53 53 46 50 09 30 31 31 |ine M_PA|SSFP.011|
|0001c2c0| 09 09 2f 2a 20 70 61 73 | 73 20 66 69 6c 65 20 70 |../* pas|s file p|
|0001c2d0| 6f 69 6e 74 65 72 20 2a | 2f 0a 23 64 65 66 69 6e |ointer *|/.#defin|
|0001c2e0| 65 09 4d 5f 53 49 47 09 | 09 30 31 33 09 09 2f 2a |e.M_SIG.|.013../*|
|0001c2f0| 20 67 65 6e 65 72 61 74 | 65 20 70 72 6f 63 65 73 | generat|e proces|
|0001c300| 73 20 73 69 67 6e 61 6c | 20 2a 2f 0a 23 64 65 66 |s signal| */.#def|
|0001c310| 69 6e 65 09 4d 5f 44 45 | 4c 41 59 09 09 30 31 34 |ine.M_DE|LAY..014|
|0001c320| 09 09 2f 2a 20 72 65 61 | 6c 2d 74 69 6d 65 20 78 |../* rea|l-time x|
|0001c330| 6d 69 74 20 64 65 6c 61 | 79 20 28 31 20 70 61 72 |mit dela|y (1 par|
|0001c340| 61 6d 29 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 4d |am) */.#|define M|
|0001c350| 5f 43 54 4c 09 09 30 31 | 35 09 09 2f 2a 20 64 65 |_CTL..01|5../* de|
|0001c360| 76 69 63 65 2d 73 70 65 | 63 69 66 69 63 20 63 6f |vice-spe|cific co|
|0001c370| 6e 74 72 6f 6c 20 6d 65 | 73 73 61 67 65 20 2a 2f |ntrol me|ssage */|
|0001c380| 0a 23 64 65 66 69 6e 65 | 09 4d 5f 49 4f 43 54 4c |.#define|.M_IOCTL|
|0001c390| 09 09 30 31 36 09 09 2f | 2a 20 69 6f 63 74 6c 3b |..016../|* ioctl;|
|0001c3a0| 20 73 65 74 2f 67 65 74 | 20 70 61 72 61 6d 73 20 | set/get| params |
|0001c3b0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4d 5f 53 45 54 |*/.#defi|ne M_SET|
|0001c3c0| 4f 50 54 53 09 30 32 30 | 09 09 2f 2a 20 73 65 74 |OPTS.020|../* set|
|0001c3d0| 20 76 61 72 08 00 07 02 | 00 aa 01 02 00 69 6f 75 | var....|.....iou|
|0001c3e0| 73 20 73 74 72 65 61 6d | 20 68 65 61 64 20 6f 70 |s stream| head op|
|0001c3f0| 74 69 6f 6e 73 20 2a 2f | 0a 0a 0a 2f 2a 0a 20 2a |tions */|.../*. *|
|0001c400| 20 43 6f 6e 74 72 6f 6c | 20 6d 65 73 73 61 67 65 | Control| message|
|0001c410| 73 20 28 68 69 67 68 20 | 70 72 69 6f 72 69 74 79 |s (high |priority|
|0001c420| 3b 20 67 6f 20 74 6f 20 | 68 65 61 64 20 6f 66 20 |; go to |head of |
|0001c430| 71 75 65 75 65 29 0a 20 | 2a 2f 0a 23 64 65 66 69 |queue). |*/.#defi|
|0001c440| 6e 65 09 4d 5f 49 4f 43 | 41 43 4b 09 30 32 30 31 |ne.M_IOC|ACK.0201|
|0001c450| 09 09 2f 2a 20 61 63 6b | 6e 6f 77 6c 65 64 67 65 |../* ack|nowledge|
|0001c460| 20 69 6f 63 74 6c 20 2a | 2f 0a 23 64 65 66 69 6e | ioctl *|/.#defin|
|0001c470| 65 09 4d 5f 49 4f 43 4e | 41 4b 09 30 32 30 32 09 |e.M_IOCN|AK.0202.|
|0001c480| 09 2f 2a 20 6e 65 67 61 | 74 69 76 65 20 69 6f 63 |./* nega|tive ioc|
|0001c490| 74 6c 20 61 63 6b 6e 6f | 77 6c 65 64 67 65 20 2a |tl ackno|wledge *|
|0001c4a0| 2f 0a 23 64 65 66 69 6e | 65 20 4d 5f 50 43 50 52 |/.#defin|e M_PCPR|
|0001c4b0| 4f 54 4f 09 30 32 30 33 | 09 09 2f 2a 20 70 72 69 |OTO.0203|../* pri|
|0001c4c0| 6f 72 69 74 79 20 70 72 | 6f 74 6f 20 6d 65 73 73 |ority pr|oto mess|
|0001c4d0| 61 67 65 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 4d |age */.#|define.M|
|0001c4e0| 5f 50 43 53 49 47 09 09 | 30 32 30 34 09 09 2f 2a |_PCSIG..|0204../*|
|0001c4f0| 20 67 65 6e 65 72 61 74 | 65 20 70 72 6f 63 65 73 | generat|e proces|
|0001c500| 73 20 73 69 67 6e 61 6c | 20 2a 2f 0a 23 64 65 66 |s signal| */.#def|
|0001c510| 69 6e 65 09 4d 5f 46 4c | 55 53 48 09 09 30 32 30 |ine.M_FL|USH..020|
|0001c520| 36 09 09 2f 2a 20 66 6c | 75 73 68 20 79 6f 75 72 |6../* fl|ush your|
|0001c530| 20 71 75 65 75 65 73 20 | 2a 2f 0a 23 64 65 66 69 | queues |*/.#defi|
|0001c540| 6e 65 09 4d 5f 53 54 4f | 50 09 09 30 32 30 37 09 |ne.M_STO|P..0207.|
|0001c550| 09 2f 2a 20 73 74 6f 70 | 20 74 72 61 6e 73 6d 69 |./* stop| transmi|
|0001c560| 73 73 69 6f 6e 20 69 6d | 6d 65 64 69 61 74 65 6c |ssion im|mediatel|
|0001c570| 79 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4d 5f 53 |y */.#de|fine.M_S|
|0001c580| 54 41 52 54 09 09 30 32 | 31 30 09 09 2f 2a 20 72 |TART..02|10../* r|
|0001c590| 65 73 74 61 72 74 20 74 | 72 61 6e 73 6d 69 73 73 |estart t|ransmiss|
|0001c5a0| 69 6f 6e 20 61 66 74 65 | 72 20 73 74 6f 70 20 2a |ion afte|r stop *|
|0001c5b0| 2f 0a 23 64 65 66 69 6e | 65 09 4d 5f 48 41 4e 47 |/.#defin|e.M_HANG|
|0001c5c0| 55 50 09 30 32 31 31 09 | 09 2f 2a 20 6c 69 6e 65 |UP.0211.|./* line|
|0001c5d0| 20 64 69 73 63 6f 6e 6e | 65 63 74 20 2a 08 00 08 | disconn|ect *...|
|0001c5e0| 02 00 3f 01 02 00 2f 0a | 23 64 65 66 69 6e 65 20 |..?.../.|#define |
|0001c5f0| 4d 5f 45 52 52 4f 52 09 | 09 30 32 31 32 09 09 2f |M_ERROR.|.0212../|
|0001c600| 2a 20 66 61 74 61 6c 20 | 65 72 72 6f 72 20 75 73 |* fatal |error us|
|0001c610| 65 64 20 74 6f 20 73 65 | 74 20 75 2e 75 5f 65 72 |ed to se|t u.u_er|
|0001c620| 72 6f 72 20 2a 2f 0a 0a | 0a 2f 2a 0a 20 2a 20 51 |ror */..|./*. * Q|
|0001c630| 75 65 75 65 20 6d 65 73 | 73 61 67 65 20 63 6c 61 |ueue mes|sage cla|
|0001c640| 73 73 20 64 65 66 69 6e | 69 74 69 6f 6e 73 2e 20 |ss defin|itions. |
|0001c650| 20 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 51 4e | . */.#d|efine QN|
|0001c660| 4f 52 4d 20 20 20 20 30 | 09 09 09 2f 2a 20 6e 6f |ORM 0|.../* no|
|0001c670| 72 6d 61 6c 20 6d 65 73 | 73 61 67 65 73 20 2a 2f |rmal mes|sages */|
|0001c680| 0a 23 64 65 66 69 6e 65 | 20 51 50 43 54 4c 20 30 |.#define| QPCTL 0|
|0001c690| 32 30 30 09 09 09 2f 2a | 20 70 72 69 6f 72 69 74 |200.../*| priorit|
|0001c6a0| 79 20 63 6e 74 72 6c 20 | 6d 65 73 73 61 67 65 73 |y cntrl |messages|
|0001c6b0| 20 2a 2f 0a 0a 0a 0a 2f | 2a 0a 20 2a 20 20 49 4f | */..../|*. * IO|
|0001c6c0| 43 54 4c 20 73 74 72 75 | 63 74 75 72 65 20 2d 20 |CTL stru|cture - |
|0001c6d0| 74 68 69 73 20 73 74 72 | 75 63 74 75 72 65 20 69 |this str|ucture i|
|0001c6e0| 73 20 74 68 65 20 66 6f | 72 6d 61 74 20 6f 66 20 |s the fo|rmat of |
|0001c6f0| 74 68 65 20 4d 5f 49 4f | 43 54 4c 20 6d 65 73 73 |the M_IO|CTL mess|
|0001c700| 61 67 65 20 74 79 70 65 | 2e 0a 20 2a 2f 0a 73 74 |age type|.. */.st|
|0001c710| 72 75 63 74 20 69 6f 63 | 62 6c 6b 20 7b 0a 09 69 |ruct ioc|blk {..i|
|0001c720| 6e 74 20 09 69 6f 63 5f | 63 6d 64 3b 09 09 2f 2a |nt .ioc_|cmd;../*|
|0001c730| 20 69 6f 63 74 6c 20 63 | 6f 6d 6d 61 6e 64 20 74 | ioctl c|ommand t|
|0001c740| 79 70 65 20 2a 2f 0a 09 | 75 73 68 6f 72 74 09 69 |ype */..|ushort.i|
|0001c750| 6f 63 5f 75 69 64 3b 09 | 09 2f 2a 20 65 66 66 65 |oc_uid;.|./* effe|
|0001c760| 63 74 69 76 65 20 75 69 | 64 20 6f 66 20 75 73 65 |ctive ui|d of use|
|0001c770| 72 20 2a 2f 0a 09 75 73 | 68 6f 72 74 09 69 6f 63 |r */..us|hort.ioc|
|0001c780| 5f 67 69 64 3b 09 09 2f | 2a 20 65 66 66 65 63 74 |_gid;../|* effect|
|0001c790| 69 76 65 20 67 69 64 20 | 6f 66 20 75 73 65 72 20 |ive gid |of user |
|0001c7a0| 2a 2f 0a 09 75 69 6e 74 | 09 69 6f 63 5f 69 64 3b |*/..uint|.ioc_id;|
|0001c7b0| 09 09 09 2f 2a 20 69 6f | 63 74 6c 20 69 64 20 2a |.../* io|ctl id *|
|0001c7c0| 2f 0a 09 75 69 6e 74 09 | 69 6f 63 5f 63 6f 75 6e |/..uint.|ioc_coun|
|0001c7d0| 74 3b 09 09 2f 2a 20 63 | 6f 75 6e 74 20 6f 66 20 |t;../* c|ount of |
|0001c7e0| 62 79 74 65 73 20 08 00 | 09 02 00 28 01 02 00 69 |bytes ..|...(...i|
|0001c7f0| 6e 20 64 61 74 61 20 66 | 69 65 6c 64 20 2a 2f 0a |n data f|ield */.|
|0001c800| 09 69 6e 74 09 69 6f 63 | 5f 65 72 72 6f 72 3b 09 |.int.ioc|_error;.|
|0001c810| 09 2f 2a 20 65 72 72 6f | 72 20 63 6f 64 65 20 2a |./* erro|r code *|
|0001c820| 2f 0a 09 69 6e 74 09 69 | 6f 63 5f 72 76 61 6c 3b |/..int.i|oc_rval;|
|0001c830| 09 09 2f 2a 20 72 65 74 | 75 72 6e 20 76 61 6c 75 |../* ret|urn valu|
|0001c840| 65 20 20 2a 2f 0a 7d 3b | 0a 0a 0a 2f 2a 0a 20 2a |e */.};|.../*. *|
|0001c850| 20 4f 70 74 69 6f 6e 73 | 20 73 74 72 75 63 74 75 | Options| structu|
|0001c860| 72 65 20 66 6f 72 20 4d | 5f 53 45 54 4f 50 54 53 |re for M|_SETOPTS|
|0001c870| 20 6d 65 73 73 61 67 65 | 2e 20 20 54 68 69 73 20 | message|. This |
|0001c880| 69 73 20 73 65 6e 74 20 | 75 70 73 74 72 65 61 6d |is sent |upstream|
|0001c890| 0a 20 2a 20 62 79 20 64 | 72 69 76 65 72 20 74 6f |. * by d|river to|
|0001c8a0| 20 73 65 74 20 73 74 72 | 65 61 6d 20 68 65 61 64 | set str|eam head|
|0001c8b0| 20 6f 70 74 69 6f 6e 73 | 2e 0a 20 2a 2f 0a 73 74 | options|.. */.st|
|0001c8c0| 72 75 63 74 20 73 74 72 | 6f 70 74 69 6f 6e 73 20 |ruct str|options |
|0001c8d0| 7b 0a 09 73 68 6f 72 74 | 20 73 6f 5f 66 6c 61 67 |{..short| so_flag|
|0001c8e0| 73 3b 09 09 2f 2a 20 6f | 70 74 69 6f 6e 73 20 74 |s;../* o|ptions t|
|0001c8f0| 6f 20 73 65 74 20 2a 2f | 0a 09 73 68 6f 72 74 20 |o set */|..short |
|0001c900| 73 6f 5f 72 65 61 64 6f | 70 74 3b 09 2f 2a 20 72 |so_reado|pt;./* r|
|0001c910| 65 61 64 20 6f 70 74 69 | 6f 6e 20 2a 2f 0a 09 75 |ead opti|on */..u|
|0001c920| 73 68 6f 72 74 20 73 6f | 5f 77 72 6f 66 66 3b 09 |short so|_wroff;.|
|0001c930| 2f 2a 20 77 72 69 74 65 | 20 6f 66 66 73 65 74 20 |/* write| offset |
|0001c940| 2a 2f 0a 09 73 68 6f 72 | 74 20 73 6f 5f 6d 69 6e |*/..shor|t so_min|
|0001c950| 70 73 7a 3b 09 2f 2a 20 | 6d 69 6e 69 6d 75 6d 20 |psz;./* |minimum |
|0001c960| 72 65 61 64 20 70 61 63 | 6b 65 74 20 73 69 7a 65 |read pac|ket size|
|0001c970| 20 2a 2f 0a 09 73 68 6f | 72 74 20 73 6f 5f 6d 61 | */..sho|rt so_ma|
|0001c980| 78 70 73 7a 3b 09 2f 2a | 20 6d 61 78 69 6d 75 6d |xpsz;./*| maximum|
|0001c990| 20 72 65 61 64 20 70 61 | 63 6b 65 74 20 73 69 7a | read pa|cket siz|
|0001c9a0| 65 20 2a 2f 0a 09 75 73 | 68 6f 72 74 20 73 6f 5f |e */..us|hort so_|
|0001c9b0| 68 69 77 61 74 3b 09 2f | 2a 20 72 65 61 64 20 71 |hiwat;./|* read q|
|0001c9c0| 75 65 75 65 20 68 69 67 | 68 20 77 61 74 65 72 20 |ueue hig|h water |
|0001c9d0| 6d 61 72 6b 20 2a 2f 0a | 09 75 73 68 6f 72 74 20 |mark */.|.ushort |
|0001c9e0| 73 6f 5f 6c 6f 77 61 74 | 3b 09 2f 2a 20 72 65 08 |so_lowat|;./* re.|
|0001c9f0| 00 0a 02 00 c0 bb 01 02 | 00 ff 61 64 20 71 75 65 |........|..ad que|
|0001ca00| 75 65 20 6c 6f 77 20 77 | 61 74 65 72 20 6d 61 72 |ue low w|ater mar|
|0001ca10| 6b 20 2a 2f 0a 7d 3b 0a | 0a 2f 2a 20 66 6c 61 67 |k */.};.|./* flag|
|0001ca20| 73 20 66 6f 72 20 73 74 | 72 65 61 6d 20 6f 70 74 |s for st|ream opt|
|0001ca30| 69 6f 6e 73 20 73 65 74 | 20 6d 65 73 73 61 67 65 |ions set| message|
|0001ca40| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 20 53 4f 5f | */..#de|fine SO_|
|0001ca50| 41 4c 4c 09 09 30 37 37 | 09 2f 2a 20 73 65 74 20 |ALL..077|./* set |
|0001ca60| 61 6c 6c 20 6f 70 74 69 | 6f 6e 73 20 2a 2f 0a 23 |all opti|ons */.#|
|0001ca70| 64 65 66 69 6e 65 20 53 | 4f 5f 52 45 41 44 4f 50 |define S|O_READOP|
|0001ca80| 54 09 20 30 31 09 2f 2a | 20 73 65 74 20 72 65 61 |T. 01./*| set rea|
|0001ca90| 64 20 6f 70 74 74 69 6f | 6e 20 2a 2f 0a 23 64 65 |d opttio|n */.#de|
|0001caa0| 66 69 6e 65 20 53 4f 5f | 57 52 4f 46 46 09 20 30 |fine SO_|WROFF. 0|
|0001cab0| 32 09 2f 2a 20 73 65 74 | 20 77 72 69 74 65 20 6f |2./* set| write o|
|0001cac0| 66 66 73 65 74 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ffset */|.#define|
|0001cad0| 20 53 4f 5f 4d 49 4e 50 | 53 5a 09 20 30 34 09 2f | SO_MINP|SZ. 04./|
|0001cae0| 2a 20 73 65 74 20 6d 69 | 6e 20 70 61 63 6b 65 74 |* set mi|n packet|
|0001caf0| 20 73 69 7a 65 20 2a 2f | 0a 00 92 23 64 65 66 69 | size */|...#defi|
|0001cb00| 6e 65 20 53 4f 5f 4d 41 | 58 50 53 5a 09 30 31 30 |ne SO_MA|XPSZ.010|
|0001cb10| 09 2f 2a 20 73 65 74 20 | 6d 61 78 20 70 61 63 6b |./* set |max pack|
|0001cb20| 65 74 20 73 69 7a 65 20 | 2a 2f 0a 23 64 65 66 69 |et size |*/.#defi|
|0001cb30| 6e 65 20 53 4f 5f 48 49 | 57 41 54 09 30 32 30 09 |ne SO_HI|WAT.020.|
|0001cb40| 2f 2a 20 73 65 74 20 68 | 69 67 68 20 77 61 74 65 |/* set h|igh wate|
|0001cb50| 72 20 6d 61 72 6b 20 2a | 2f 0a 23 64 65 66 69 6e |r mark *|/.#defin|
|0001cb60| 65 20 53 4f 5f 4c 4f 57 | 41 54 09 30 34 30 09 2f |e SO_LOW|AT.040./|
|0001cb70| 2a 20 73 65 74 20 6c 6f | 77 20 77 61 74 65 72 20 |* set lo|w water |
|0001cb80| 6d 61 72 6b 20 2a 2f 0a | 0a 0a 0a 0a 2f 01 28 2a |mark */.|..../.(*|
|0001cb90| 2a 00 1f 2f 0a 2f 2a 09 | 09 4d 69 73 63 65 6c 6c |*.././*.|.Miscell|
|0001cba0| 61 6e 65 6f 75 73 20 70 | 61 72 61 6d 65 74 65 72 |aneous p|arameter|
|0001cbb0| 73 20 08 00 0b 02 00 e5 | bb 01 02 00 11 61 6e 64 |s ......|.....and|
|0001cbc0| 20 66 6c 61 67 73 09 09 | 09 09 2a 2f 0a 2f 01 28 | flags..|..*/./.(|
|0001cbd0| 2a 2a 00 ff 2f 0a 0a 2f | 2a 0a 20 2a 20 44 65 66 |**../../|*. * Def|
|0001cbe0| 61 75 6c 74 20 74 69 6d | 65 6f 75 74 20 69 6e 20 |ault tim|eout in |
|0001cbf0| 73 65 63 6f 6e 64 73 20 | 66 6f 72 20 69 6f 63 74 |seconds |for ioct|
|0001cc00| 6c 73 20 61 6e 64 20 63 | 6c 6f 73 65 0a 20 2a 2f |ls and c|lose. */|
|0001cc10| 0a 23 64 65 66 69 6e 65 | 20 53 54 52 54 49 4d 4f |.#define| STRTIMO|
|0001cc20| 55 54 20 31 35 0a 0a 2f | 2a 0a 20 2a 20 53 74 72 |UT 15../|*. * Str|
|0001cc30| 65 61 6d 20 68 65 61 64 | 20 64 65 66 61 75 6c 74 |eam head| default|
|0001cc40| 20 68 69 67 68 2f 6c 6f | 77 20 77 61 74 65 72 20 | high/lo|w water |
|0001cc50| 6d 61 72 6b 73 20 0a 20 | 2a 2f 0a 23 64 65 66 69 |marks . |*/.#defi|
|0001cc60| 6e 65 20 53 54 52 48 49 | 47 48 20 35 31 32 30 0a |ne STRHI|GH 5120.|
|0001cc70| 23 64 65 66 69 6e 65 20 | 53 54 52 4c 4f 57 09 31 |#define |STRLOW.1|
|0001cc80| 30 32 34 0a 0a 2f 2a 0a | 20 2a 20 66 6c 61 67 20 |024../*.| * flag |
|0001cc90| 76 61 6c 75 65 73 20 66 | 6f 72 20 73 74 72 65 61 |values f|or strea|
|0001cca0| 6d 20 69 6f 20 77 61 69 | 74 69 6e 67 20 70 72 6f |m io wai|ting pro|
|0001ccb0| 63 65 64 75 72 65 20 28 | 73 74 72 77 61 69 74 71 |cedure (|strwaitq|
|0001ccc0| 29 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 57 52 |). */.#d|efine WR|
|0001ccd0| 49 54 45 00 a0 57 41 49 | 54 09 30 78 31 09 2f 2a |ITE..WAI|T.0x1./*|
|0001cce0| 20 77 61 69 74 69 6e 67 | 20 66 6f 72 20 77 72 69 | waiting| for wri|
|0001ccf0| 74 65 20 65 76 65 6e 74 | 20 2a 2f 0a 23 64 65 66 |te event| */.#def|
|0001cd00| 69 6e 65 20 52 45 41 44 | 57 41 49 54 09 30 78 32 |ine READ|WAIT.0x2|
|0001cd10| 09 2f 2a 20 77 61 69 74 | 69 6e 67 20 66 6f 72 20 |./* wait|ing for |
|0001cd20| 72 65 61 64 20 65 76 65 | 6e 74 20 2a 2f 0a 23 64 |read eve|nt */.#d|
|0001cd30| 65 66 69 6e 65 20 4e 4f | 49 4e 54 52 09 09 30 78 |efine NO|INTR..0x|
|0001cd40| 34 09 2f 2a 20 65 72 72 | 6f 72 20 69 73 20 6e 6f |4./* err|or is no|
|0001cd50| 74 20 74 6f 20 62 65 20 | 73 65 74 20 66 6f 72 20 |t to be |set for |
|0001cd60| 73 69 67 6e 61 6c 20 2a | 2f 0a 0a 2f 2a 0a 20 2a |signal *|/../*. *|
|0001cd70| 20 73 6c 65 65 08 00 0c | 02 00 9c 01 02 00 70 20 | slee...|......p |
|0001cd80| 70 72 69 6f 72 69 74 69 | 65 73 20 66 6f 72 20 73 |prioriti|es for s|
|0001cd90| 74 72 65 61 6d 20 69 6f | 0a 20 2a 2f 0a 23 64 65 |tream io|. */.#de|
|0001cda0| 66 69 6e 65 09 53 54 49 | 50 52 49 09 50 5a 45 52 |fine.STI|PRI.PZER|
|0001cdb0| 4f 2b 33 0a 23 64 65 66 | 69 6e 65 09 53 54 4f 50 |O+3.#def|ine.STOP|
|0001cdc0| 52 49 09 50 5a 45 52 4f | 2b 33 0a 0a 2f 2a 0a 20 |RI.PZERO|+3../*. |
|0001cdd0| 2a 20 42 6c 6f 63 6b 20 | 61 6c 6c 6f 63 61 74 69 |* Block |allocati|
|0001cde0| 6f 6e 20 70 61 72 61 6d | 65 74 65 72 73 0a 20 2a |on param|eters. *|
|0001cdf0| 2f 0a 23 64 65 66 69 6e | 65 20 4e 43 4c 41 53 53 |/.#defin|e NCLASS|
|0001ce00| 09 09 31 31 09 09 2f 2a | 20 6e 75 6d 62 65 72 20 |..11../*| number |
|0001ce10| 6f 66 20 62 6c 6f 63 6b | 20 63 6c 61 73 73 65 73 |of block| classes|
|0001ce20| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 51 42 53 49 | */.#def|ine QBSI|
|0001ce30| 5a 45 09 09 36 35 09 09 | 2f 2a 20 6d 69 6e 20 73 |ZE..65..|/* min s|
|0001ce40| 69 7a 65 20 66 6f 72 20 | 62 6c 6f 63 6b 20 61 6c |ize for |block al|
|0001ce50| 6c 6f 63 61 74 69 6f 6e | 20 72 65 74 72 69 65 73 |location| retries|
|0001ce60| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4d 41 58 42 | */.#def|ine MAXB|
|0001ce70| 53 49 5a 45 09 34 30 39 | 36 09 09 2f 2a 20 6d 61 |SIZE.409|6../* ma|
|0001ce80| 78 20 62 6c 6f 63 6b 20 | 73 69 7a 65 20 2a 2f 0a |x block |size */.|
|0001ce90| 23 64 65 66 69 6e 65 20 | 4d 41 58 49 4f 43 42 53 |#define |MAXIOCBS|
|0001cea0| 5a 09 31 30 32 34 09 09 | 2f 2a 20 6d 61 78 20 69 |Z.1024..|/* max i|
|0001ceb0| 6f 63 74 6c 20 64 61 74 | 61 20 62 6c 6f 63 6b 20 |octl dat|a block |
|0001cec0| 73 69 7a 65 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 20 43 |size */.|./*. * C|
|0001ced0| 6f 70 79 20 6d 6f 64 65 | 73 20 66 6f 72 20 74 74 |opy mode|s for tt|
|0001cee0| 79 20 61 6e 64 20 49 5f | 53 54 52 20 69 6f 63 74 |y and I_|STR ioct|
|0001cef0| 6c 73 0a 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 55 |ls. */.#|define.U|
|0001cf00| 5f 54 4f 5f 4b 20 09 30 | 31 09 09 09 2f 2a 20 55 |_TO_K .0|1.../* U|
|0001cf10| 73 65 72 20 74 6f 20 4b | 65 72 6e 65 6c 20 2a 2f |ser to K|ernel */|
|0001cf20| 0a 23 64 65 66 69 6e 65 | 09 4b 5f 54 4f 5f 4b 20 |.#define|.K_TO_K |
|0001cf30| 20 30 32 09 09 09 2f 2a | 20 4b 65 72 6e 65 6c 20 | 02.../*| Kernel |
|0001cf40| 74 6f 20 4b 65 72 6e 65 | 6c 20 2a 2f 0a 0a 2f 2a |to Kerne|l */../*|
|0001cf50| 0a 20 2a 20 56 61 6c 75 | 65 73 20 66 6f 72 20 73 |. * Valu|es for s|
|0001cf60| 74 72 65 61 6d 20 66 6c | 61 67 20 69 6e 20 6f 70 |tream fl|ag in op|
|0001cf70| 65 6e 20 74 6f 20 69 6e | 64 69 63 61 74 65 08 00 |en to in|dicate..|
|0001cf80| 0d 02 00 60 01 02 00 20 | 6d 6f 64 75 6c 65 20 6f |...`... |module o|
|0001cf90| 70 65 6e 2c 20 63 6c 6f | 6e 65 20 6f 70 65 6e 3b |pen, clo|ne open;|
|0001cfa0| 0a 20 2a 20 72 65 74 75 | 72 6e 20 76 61 6c 75 65 |. * retu|rn value|
|0001cfb0| 20 66 6f 72 20 66 61 69 | 6c 75 72 65 2e 0a 20 2a | for fai|lure.. *|
|0001cfc0| 2f 0a 23 64 65 66 69 6e | 65 20 4d 4f 44 4f 50 45 |/.#defin|e MODOPE|
|0001cfd0| 4e 20 09 30 78 31 09 09 | 2f 2a 20 6f 70 65 6e 20 |N .0x1..|/* open |
|0001cfe0| 61 73 20 61 20 6d 6f 64 | 75 6c 65 20 2a 2f 0a 23 |as a mod|ule */.#|
|0001cff0| 64 65 66 69 6e 65 20 43 | 4c 4f 4e 45 4f 50 45 4e |define C|LONEOPEN|
|0001d000| 09 30 78 32 09 09 2f 2a | 20 6f 70 65 6e 20 66 6f |.0x2../*| open fo|
|0001d010| 72 20 63 6c 6f 6e 65 2c | 20 70 69 63 6b 20 6f 77 |r clone,| pick ow|
|0001d020| 6e 20 6d 69 6e 6f 72 20 | 64 65 76 69 63 65 20 2a |n minor |device *|
|0001d030| 2f 0a 23 64 65 66 69 6e | 65 20 4f 50 45 4e 46 41 |/.#defin|e OPENFA|
|0001d040| 49 4c 09 2d 31 09 09 2f | 2a 20 72 65 74 75 72 6e |IL.-1../|* return|
|0001d050| 65 64 20 66 6f 72 20 6f | 70 65 6e 20 66 61 69 6c |ed for o|pen fail|
|0001d060| 75 72 65 20 2a 2f 0a 0a | 2f 2a 0a 20 2a 20 50 72 |ure */..|/*. * Pr|
|0001d070| 69 6f 72 69 74 79 20 64 | 65 66 69 6e 69 74 69 6f |iority d|efinitio|
|0001d080| 6e 73 20 66 6f 72 20 62 | 6c 6f 63 6b 20 61 6c 6c |ns for b|lock all|
|0001d090| 6f 63 61 74 69 6f 6e 2e | 0a 20 2a 2f 0a 23 64 65 |ocation.|. */.#de|
|0001d0a0| 66 69 6e 65 20 42 50 52 | 49 5f 4c 4f 09 09 31 0a |fine BPR|I_LO..1.|
|0001d0b0| 23 64 65 66 69 6e 65 20 | 42 50 52 49 5f 4d 45 44 |#define |BPRI_MED|
|0001d0c0| 09 32 0a 23 64 65 66 69 | 6e 65 20 42 50 52 49 5f |.2.#defi|ne BPRI_|
|0001d0d0| 48 49 09 09 33 0a 0a 2f | 2a 0a 20 2a 20 56 61 6c |HI..3../|*. * Val|
|0001d0e0| 75 65 20 66 6f 72 20 70 | 61 63 6b 65 74 20 73 69 |ue for p|acket si|
|0001d0f0| 7a 65 20 74 68 61 74 20 | 64 65 6e 6f 74 65 73 20 |ze that |denotes |
|0001d100| 69 6e 66 69 6e 69 74 79 | 0a 20 2a 2f 0a 23 64 65 |infinity|. */.#de|
|0001d110| 66 69 6e 65 20 49 4e 46 | 50 53 5a 09 09 2d 31 0a |fine INF|PSZ..-1.|
|0001d120| 0a 2f 2a 0a 20 2a 20 46 | 6c 61 67 73 20 66 6f 72 |./*. * F|lags for|
|0001d130| 20 66 6c 75 73 68 71 28 | 29 0a 20 2a 2f 0a 23 64 | flushq(|). */.#d|
|0001d140| 65 66 69 6e 65 20 46 4c | 55 53 48 41 4c 4c 09 31 |efine FL|USHALL.1|
|0001d150| 09 2f 2a 20 66 6c 75 73 | 68 20 61 6c 6c 20 6d 65 |./* flus|h all me|
|0001d160| 73 73 61 67 65 73 20 2a | 2f 0a 23 64 65 66 69 6e |ssages *|/.#defin|
|0001d170| 65 20 46 4c 55 53 48 44 | 41 54 41 09 30 09 2f 2a |e FLUSHD|ATA.0./*|
|0001d180| 20 64 6f 6e 27 74 20 08 | 00 0e 02 00 f4 81 01 02 | don't .|........|
|0001d190| 00 1d 66 6c 75 73 68 20 | 63 6f 6e 74 72 6f 6c 20 |..flush |control |
|0001d1a0| 6d 65 73 73 61 67 65 73 | 20 2a 2f 0a 0a 0a 2f 01 |messages| */.../.|
|0001d1b0| 24 2a 2a 00 40 2f 0a 2f | 2a 09 44 65 66 69 6e 74 |$**.@/./|*.Defint|
|0001d1c0| 69 6f 6e 73 20 6f 66 20 | 53 74 72 65 61 6d 73 20 |ions of |Streams |
|0001d1d0| 6d 61 63 72 6f 73 20 61 | 6e 64 20 66 75 6e 63 74 |macros a|nd funct|
|0001d1e0| 69 6f 6e 20 69 6e 74 65 | 72 66 61 63 65 73 2e 09 |ion inte|rfaces..|
|0001d1f0| 09 2a 2f 0a 2f 01 24 2a | 2a 00 ff 2f 0a 0a 2f 2a |.*/./.$*|*../../*|
|0001d200| 0a 20 2a 20 64 65 74 65 | 72 6d 69 6e 65 20 62 6c |. * dete|rmine bl|
|0001d210| 6f 63 6b 20 61 6c 6c 6f | 63 61 74 69 6f 6e 20 63 |ock allo|cation c|
|0001d220| 75 74 6f 66 66 20 66 6f | 72 20 67 69 76 65 6e 20 |utoff fo|r given |
|0001d230| 63 6c 61 73 73 20 61 6e | 64 20 70 72 69 6f 72 69 |class an|d priori|
|0001d240| 74 79 2e 0a 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ty.. */.|#define |
|0001d250| 62 63 6d 61 78 28 63 6c | 61 73 73 2c 20 70 72 69 |bcmax(cl|ass, pri|
|0001d260| 29 20 28 20 28 70 72 69 | 29 20 3d 3d 20 42 50 52 |) ( (pri|) == BPR|
|0001d270| 49 5f 4c 4f 20 3f 20 64 | 62 61 6c 6c 6f 63 5b 63 |I_LO ? d|balloc[c|
|0001d280| 6c 61 73 73 5d 2e 64 62 | 61 5f 6c 6f 20 3a 20 5c |lass].db|a_lo : \|
|0001d290| 0a 09 09 09 20 20 20 28 | 28 70 72 69 29 20 3d 3d |.... (|(pri) ==|
|0001d2a0| 20 42 50 52 49 5f 48 49 | 20 3f 20 6e 6d 62 6c 6f | BPRI_HI| ? nmblo|
|0001d2b0| 63 6b 20 3a 20 64 62 61 | 6c 6c 6f 63 5b 63 6c 61 |ck : dba|lloc[cla|
|0001d2c0| 73 73 5d 2e 64 62 61 5f | 6d 65 64 29 29 0a 0a 2f |ss].dba_|med))../|
|0001d2d0| 2a 0a 20 2a 20 20 51 75 | 65 75 65 20 73 63 68 65 |*. * Qu|eue sche|
|0001d2e0| 64 75 6c 69 6e 67 20 6d | 61 63 72 6f 73 0a 20 2a |duling m|acros. *|
|0001d2f0| 2f 0a 23 64 65 66 69 6e | 65 20 00 14 73 65 74 71 |/.#defin|e ..setq|
|0001d300| 73 63 68 65 64 28 29 20 | 20 20 20 20 71 72 75 6e |sched() | qrun|
|0001d310| 08 00 0f 02 00 07 01 02 | 00 66 6c 61 67 20 3d 20 |........|.flag = |
|0001d320| 31 09 2f 2a 20 73 65 74 | 20 75 70 20 71 75 65 75 |1./* set| up queu|
|0001d330| 65 20 73 63 68 65 64 75 | 6c 65 72 20 2a 2f 0a 23 |e schedu|ler */.#|
|0001d340| 64 65 66 69 6e 65 20 71 | 72 65 61 64 79 28 29 09 |define q|ready().|
|0001d350| 71 72 75 6e 66 6c 61 67 | 09 2f 2a 20 74 65 73 74 |qrunflag|./* test|
|0001d360| 20 69 66 20 71 75 65 75 | 65 73 20 61 72 65 20 72 | if queu|es are r|
|0001d370| 65 61 64 79 20 74 6f 20 | 72 75 6e 20 2a 2f 0a 0a |eady to |run */..|
|0001d380| 2f 2a 0a 20 2a 20 44 65 | 66 69 6e 69 74 69 6f 6e |/*. * De|finition|
|0001d390| 20 6f 66 20 73 70 6c 20 | 66 75 6e 63 74 69 6f 6e | of spl |function|
|0001d3a0| 20 6e 65 65 64 65 64 20 | 74 6f 20 70 72 6f 76 69 | needed |to provi|
|0001d3b0| 64 65 20 63 72 69 74 69 | 63 61 6c 20 72 65 67 69 |de criti|cal regi|
|0001d3c0| 6f 6e 20 70 72 6f 74 65 | 63 74 69 6f 6e 0a 20 2a |on prote|ction. *|
|0001d3d0| 20 66 6f 72 20 73 74 72 | 65 61 6d 73 20 64 72 69 | for str|eams dri|
|0001d3e0| 76 65 72 73 20 61 6e 64 | 20 6d 6f 64 75 6c 65 73 |vers and| modules|
|0001d3f0| 2e 0a 20 2a 2f 0a 23 69 | 66 64 65 66 20 75 33 62 |.. */.#i|fdef u3b|
|0001d400| 32 0a 23 64 65 66 69 6e | 65 20 73 70 6c 73 74 72 |2.#defin|e splstr|
|0001d410| 28 29 20 73 70 6c 74 74 | 79 28 29 0a 23 65 6c 73 |() spltt|y().#els|
|0001d420| 65 0a 23 64 65 66 69 6e | 65 20 73 70 6c 73 74 72 |e.#defin|e splstr|
|0001d430| 28 29 20 73 70 6c 35 28 | 29 0a 23 64 65 66 69 6e |() spl5(|).#defin|
|0001d440| 65 20 73 70 6c 68 69 28 | 29 20 20 73 70 6c 37 28 |e splhi(|) spl7(|
|0001d450| 29 0a 23 65 6e 64 69 66 | 0a 0a 0a 2f 2a 0a 20 2a |).#endif|.../*. *|
|0001d460| 20 6e 6f 65 6e 61 62 6c | 65 20 2d 20 73 65 74 20 | noenabl|e - set |
|0001d470| 71 75 65 75 65 20 73 6f | 20 74 68 61 74 20 70 75 |queue so| that pu|
|0001d480| 74 71 28 29 20 77 69 6c | 6c 20 6e 6f 74 20 65 6e |tq() wil|l not en|
|0001d490| 61 62 6c 65 20 69 74 2e | 0a 20 2a 20 65 6e 61 62 |able it.|. * enab|
|0001d4a0| 6c 65 6f 6b 20 2d 20 73 | 65 74 20 71 75 65 75 65 |leok - s|et queue|
|0001d4b0| 20 73 6f 20 74 68 61 74 | 20 70 75 74 71 28 29 20 | so that| putq() |
|0001d4c0| 63 61 6e 20 65 6e 61 62 | 6c 65 20 69 74 2e 0a 20 |can enab|le it.. |
|0001d4d0| 2a 20 63 61 6e 65 6e 61 | 62 6c 65 20 2d 20 63 68 |* canena|ble - ch|
|0001d4e0| 65 63 6b 20 69 66 20 71 | 75 65 75 65 20 63 61 6e |eck if q|ueue can|
|0001d4f0| 20 62 65 20 65 6e 61 62 | 6c 65 64 20 62 79 20 70 | be enab|led by p|
|0001d500| 75 74 71 28 29 2e 0a 20 | 2a 2f 0a 23 64 65 66 69 |utq().. |*/.#defi|
|0001d510| 6e 65 20 6e 6f 65 6e 61 | 62 0f 08 01 93 08 01 01 |ne noena|b.......|
|0001d520| 02 00 e2 01 02 00 6c 65 | 28 71 29 09 28 71 29 2d |......le|(q).(q)-|
|0001d530| 3e 71 5f 66 6c 61 67 20 | 7c 3d 20 51 4e 4f 45 4e |>q_flag ||= QNOEN|
|0001d540| 42 0a 23 64 65 66 69 6e | 65 20 65 6e 61 62 6c 65 |B.#defin|e enable|
|0001d550| 6f 6b 28 71 29 09 28 71 | 29 2d 3e 71 5f 66 6c 61 |ok(q).(q|)->q_fla|
|0001d560| 67 20 26 3d 20 7e 51 4e | 4f 45 4e 42 0a 23 64 65 |g &= ~QN|OENB.#de|
|0001d570| 66 69 6e 65 20 63 61 6e | 65 6e 61 62 6c 65 28 71 |fine can|enable(q|
|0001d580| 29 09 21 28 28 71 29 2d | 3e 71 5f 66 6c 61 67 20 |).!((q)-|>q_flag |
|0001d590| 26 20 51 4e 4f 45 4e 42 | 29 0a 0a 2f 2a 0a 20 2a |& QNOENB|)../*. *|
|0001d5a0| 20 46 69 6e 64 69 6e 67 | 20 72 65 6c 61 74 65 64 | Finding| related|
|0001d5b0| 20 71 75 65 75 65 73 0a | 20 2a 2f 0a 23 64 65 66 | queues.| */.#def|
|0001d5c0| 69 6e 65 09 4f 54 48 45 | 52 51 28 71 29 09 28 28 |ine.OTHE|RQ(q).((|
|0001d5d0| 71 29 2d 3e 71 5f 66 6c | 61 67 26 51 52 45 41 44 |q)->q_fl|ag&QREAD|
|0001d5e0| 52 3f 20 28 71 29 2b 31 | 3a 20 28 71 29 2d 31 29 |R? (q)+1|: (q)-1)|
|0001d5f0| 0a 23 64 65 66 69 6e 65 | 09 57 52 28 71 29 09 09 |.#define|.WR(q)..|
|0001d600| 28 71 2b 31 29 0a 23 64 | 65 66 69 6e 65 09 52 44 |(q+1).#d|efine.RD|
|0001d610| 28 71 29 09 09 28 71 2d | 31 29 0a 0a 2f 2a 0a 20 |(q)..(q-|1)../*. |
|0001d620| 2a 20 70 75 74 20 61 20 | 6d 65 73 73 61 67 65 20 |* put a |message |
|0001d630| 6f 66 20 74 68 65 20 6e | 65 78 74 20 71 75 65 75 |of the n|ext queu|
|0001d640| 65 20 6f 66 20 74 68 65 | 20 67 69 76 65 6e 20 71 |e of the| given q|
|0001d650| 75 65 75 65 0a 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ueue. */|.#define|
|0001d660| 20 70 75 74 6e 65 78 74 | 28 71 2c 20 6d 70 29 09 | putnext|(q, mp).|
|0001d670| 28 28 2a 71 2d 3e 71 5f | 6e 65 78 74 2d 3e 71 5f |((*q->q_|next->q_|
|0001d680| 71 69 6e 66 6f 2d 3e 71 | 69 5f 70 75 74 70 29 28 |qinfo->q|i_putp)(|
|0001d690| 71 2d 3e 71 5f 6e 65 78 | 74 2c 20 6d 70 29 29 0a |q->q_nex|t, mp)).|
|0001d6a0| 0a 2f 2a 0a 20 2a 20 66 | 72 65 65 20 61 20 71 75 |./*. * f|ree a qu|
|0001d6b0| 65 75 65 20 70 61 69 72 | 0a 20 2a 2f 0a 23 64 65 |eue pair|. */.#de|
|0001d6c0| 66 69 6e 65 20 66 72 65 | 65 71 28 71 29 09 7b 20 |fine fre|eq(q).{ |
|0001d6d0| 28 71 29 2d 3e 71 5f 66 | 6c 61 67 20 3d 20 57 52 |(q)->q_f|lag = WR|
|0001d6e0| 28 71 29 2d 3e 71 5f 66 | 6c 61 67 20 3d 20 30 3b |(q)->q_f|lag = 0;|
|0001d6f0| 20 73 74 72 73 74 2e 71 | 75 65 75 65 2e 75 73 65 | strst.q|ueue.use|
|0001d700| 2d 2d 3b 20 7d 0a 0a 2f | 2a 0a 20 2a 20 54 65 73 |--; }../|*. * Tes|
|0001d710| 74 20 69 66 20 64 61 74 | 61 20 62 6c 6f 63 6b 20 |t if dat|a block |
|0001d720| 74 79 70 65 20 69 08 01 | 02 02 00 1c 01 02 00 73 |type i..|.......s|
|0001d730| 20 6f 6e 65 20 6f 66 20 | 74 68 65 20 64 61 74 61 | one of |the data|
|0001d740| 20 6d 65 73 73 61 67 65 | 73 20 28 69 2e 65 2e 20 | message|s (i.e. |
|0001d750| 6e 6f 74 20 61 20 63 6f | 6e 74 72 6f 6c 0a 20 2a |not a co|ntrol. *|
|0001d760| 20 6d 65 73 73 61 67 65 | 29 2e 0a 20 2a 2f 0a 23 | message|).. */.#|
|0001d770| 64 65 66 69 6e 65 20 64 | 61 74 61 6d 73 67 28 74 |define d|atamsg(t|
|0001d780| 79 70 65 29 20 28 74 79 | 70 65 20 3d 3d 20 4d 5f |ype) (ty|pe == M_|
|0001d790| 44 41 54 41 20 7c 7c 20 | 74 79 70 65 20 3d 3d 20 |DATA || |type == |
|0001d7a0| 4d 5f 50 52 4f 54 4f 20 | 7c 7c 20 74 79 70 65 20 |M_PROTO ||| type |
|0001d7b0| 3d 3d 20 4d 5f 50 43 50 | 52 4f 54 4f 29 0a 0a 2f |== M_PCP|ROTO)../|
|0001d7c0| 2a 0a 20 2a 20 65 78 74 | 72 61 63 74 20 71 75 65 |*. * ext|ract que|
|0001d7d0| 75 65 20 63 6c 61 73 73 | 20 6f 66 20 6d 65 73 73 |ue class| of mess|
|0001d7e0| 61 67 65 20 62 6c 6f 63 | 6b 0a 20 2a 2f 0a 23 64 |age bloc|k. */.#d|
|0001d7f0| 65 66 69 6e 65 20 71 75 | 65 63 6c 61 73 73 28 62 |efine qu|eclass(b|
|0001d800| 70 29 20 28 62 70 2d 3e | 62 5f 64 61 74 61 70 2d |p) (bp->|b_datap-|
|0001d810| 3e 64 62 5f 74 79 70 65 | 20 26 20 51 50 43 54 4c |>db_type| & QPCTL|
|0001d820| 29 0a 0a 2f 2a 0a 20 2a | 20 41 6c 69 67 6e 20 61 |)../*. *| Align a|
|0001d830| 64 64 72 65 73 73 20 6f | 6e 20 6e 65 78 74 20 6c |ddress o|n next l|
|0001d840| 6f 77 65 72 20 77 6f 72 | 64 20 62 6f 75 6e 64 61 |ower wor|d bounda|
|0001d850| 72 79 0a 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 73 |ry. */.#|define s|
|0001d860| 74 72 61 6c 6e 28 61 29 | 09 28 63 61 64 64 72 5f |traln(a)|.(caddr_|
|0001d870| 74 29 28 28 6c 6f 6e 67 | 29 28 61 29 20 26 20 7e |t)((long|)(a) & ~|
|0001d880| 28 73 69 7a 65 6f 66 28 | 69 6e 74 29 2d 31 29 29 |(sizeof(|int)-1))|
|0001d890| 0a 0a 2f 2a 0a 20 2a 20 | 43 6f 70 79 20 64 61 74 |../*. * |Copy dat|
|0001d8a0| 61 20 66 72 6f 6d 20 6f | 6e 65 20 64 61 74 61 20 |a from o|ne data |
|0001d8b0| 62 75 66 66 65 72 20 74 | 6f 20 61 6e 6f 74 68 65 |buffer t|o anothe|
|0001d8c0| 72 2e 0a 20 2a 20 54 68 | 65 20 61 64 64 72 65 73 |r.. * Th|e addres|
|0001d8d0| 73 65 73 20 6d 75 73 74 | 20 62 65 20 77 6f 72 64 |ses must| be word|
|0001d8e0| 20 61 6c 69 67 6e 65 64 | 20 2d 20 69 66 20 6e 6f | aligned| - if no|
|0001d8f0| 74 2c 20 75 73 65 20 62 | 63 6f 70 79 21 0a 20 2a |t, use b|copy!. *|
|0001d900| 2f 0a 23 69 66 64 65 66 | 20 75 33 62 32 0a 2f 2a |/.#ifdef| u3b2./*|
|0001d910| 0a 20 2a 20 55 73 65 20 | 74 68 65 20 4d 4f 56 42 |. * Use |the MOVB|
|0001d920| 4c 57 20 69 6e 73 74 72 | 75 63 74 69 6f 6e 20 08 |LW instr|uction .|
|0001d930| 01 03 02 00 ec 01 02 00 | 6f 6e 20 74 68 65 20 33 |........|on the 3|
|0001d940| 62 32 2e 20 20 0a 20 2a | 2f 0a 61 73 6d 09 76 6f |b2. . *|/.asm.vo|
|0001d950| 69 64 0a 73 74 72 62 63 | 70 79 28 73 2c 20 64 2c |id.strbc|py(s, d,|
|0001d960| 20 63 29 0a 7b 0a 25 6d | 65 6d 09 73 2c 64 2c 63 | c).{.%m|em.s,d,c|
|0001d970| 3b 0a 09 0a 09 4d 4f 56 | 57 09 73 2c 25 72 30 0a |;....MOV|W.s,%r0.|
|0001d980| 09 4d 4f 56 57 09 64 2c | 25 72 31 0a 09 4d 4f 56 |.MOVW.d,|%r1..MOV|
|0001d990| 57 09 63 2c 25 72 32 0a | 09 41 44 44 57 32 09 26 |W.c,%r2.|.ADDW2.&|
|0001d9a0| 33 2c 25 72 32 0a 09 4c | 52 53 57 33 09 26 32 2c |3,%r2..L|RSW3.&2,|
|0001d9b0| 25 72 32 2c 25 72 32 0a | 09 4d 4f 56 42 4c 57 0a |%r2,%r2.|.MOVBLW.|
|0001d9c0| 7d 0a 0a 23 65 6c 73 65 | 0a 23 64 65 66 69 6e 65 |}..#else|.#define|
|0001d9d0| 09 73 74 72 62 63 70 79 | 28 73 2c 20 64 2c 20 63 |.strbcpy|(s, d, c|
|0001d9e0| 29 09 62 63 6f 70 79 28 | 73 2c 20 64 2c 20 63 29 |).bcopy(|s, d, c)|
|0001d9f0| 0a 23 65 6e 64 69 66 0a | 0a 2f 2a 0a 20 2a 20 64 |.#endif.|./*. * d|
|0001da00| 65 63 6c 61 72 61 74 69 | 6f 6e 73 20 6f 66 20 63 |eclarati|ons of c|
|0001da10| 6f 6d 6d 6f 6e 20 72 6f | 75 74 69 6e 65 73 0a 20 |ommon ro|utines. |
|0001da20| 2a 2f 0a 65 78 74 65 72 | 6e 20 6d 62 6c 6b 5f 74 |*/.exter|n mblk_t|
|0001da30| 20 2a 72 6d 76 62 28 29 | 3b 0a 65 78 74 65 72 6e | *rmvb()|;.extern|
|0001da40| 20 6d 62 6c 6b 5f 74 20 | 2a 64 75 70 6d 73 67 28 | mblk_t |*dupmsg(|
|0001da50| 29 3b 0a 65 78 74 65 72 | 6e 20 6d 62 6c 6b 5f 74 |);.exter|n mblk_t|
|0001da60| 20 2a 63 6f 70 79 6d 73 | 67 28 29 3b 0a 65 78 74 | *copyms|g();.ext|
|0001da70| 65 72 6e 20 6d 62 6c 6b | 5f 74 20 2a 61 6c 6c 6f |ern mblk|_t *allo|
|0001da80| 63 62 28 29 3b 0a 65 78 | 74 65 72 6e 20 6d 62 6c |cb();.ex|tern mbl|
|0001da90| 6b 5f 74 20 2a 75 6e 6c | 69 6e 6b 62 28 29 3b 0a |k_t *unl|inkb();.|
|0001daa0| 65 78 74 65 72 6e 20 6d | 62 6c 6b 5f 74 20 2a 64 |extern m|blk_t *d|
|0001dab0| 75 70 62 28 29 3b 0a 65 | 78 74 65 72 6e 20 6d 62 |upb();.e|xtern mb|
|0001dac0| 6c 6b 5f 74 20 2a 63 6f | 70 79 62 28 29 3b 0a 65 |lk_t *co|pyb();.e|
|0001dad0| 78 74 65 72 6e 20 6d 62 | 6c 6b 5f 74 20 2a 67 65 |xtern mb|lk_t *ge|
|0001dae0| 74 71 28 29 3b 0a 65 78 | 74 65 72 6e 20 69 6e 74 |tq();.ex|tern int|
|0001daf0| 20 20 20 20 70 75 74 71 | 28 29 3b 0a 65 78 74 65 | putq|();.exte|
|0001db00| 72 6e 20 71 75 65 75 65 | 5f 74 20 2a 62 61 63 6b |rn queue|_t *back|
|0001db10| 71 28 29 3b 0a 65 78 74 | 65 72 6e 20 71 75 65 75 |q();.ext|ern queu|
|0001db20| 65 5f 74 20 2a 61 6c 6c | 6f 63 71 28 29 3b 0a 65 |e_t *all|ocq();.e|
|0001db30| 78 74 65 72 6e 20 69 6e | 08 01 04 02 00 bf 01 02 |xtern in|........|
|0001db40| 00 74 20 20 20 20 71 65 | 6e 61 62 6c 65 28 29 3b |.t qe|nable();|
|0001db50| 0a 65 78 74 65 72 6e 20 | 6d 62 6c 6b 5f 74 20 2a |.extern |mblk_t *|
|0001db60| 75 6e 6c 69 6e 6b 62 28 | 29 3b 0a 65 78 74 65 72 |unlinkb(|);.exter|
|0001db70| 6e 20 6d 62 6c 6b 5f 74 | 20 2a 75 6e 6c 69 6e 6b |n mblk_t| *unlink|
|0001db80| 6d 73 67 28 29 3b 0a 65 | 78 74 65 72 6e 20 69 6e |msg();.e|xtern in|
|0001db90| 74 20 20 20 20 70 75 6c | 6c 75 70 6d 73 67 28 29 |t pul|lupmsg()|
|0001dba0| 3b 0a 65 78 74 65 72 6e | 20 69 6e 74 20 20 20 20 |;.extern| int |
|0001dbb0| 61 64 6a 6d 73 67 28 29 | 3b 0a 65 78 74 65 72 6e |adjmsg()|;.extern|
|0001dbc0| 20 73 74 72 75 63 74 20 | 71 75 65 75 65 20 2a 67 | struct |queue *g|
|0001dbd0| 65 74 65 6e 64 71 28 29 | 3b 0a 65 78 74 65 72 6e |etendq()|;.extern|
|0001dbe0| 20 73 74 72 75 63 74 20 | 6c 69 6e 6b 62 6c 6b 20 | struct |linkblk |
|0001dbf0| 2a 66 69 6e 64 6c 69 6e | 6b 73 28 29 3b 0a 65 78 |*findlin|ks();.ex|
|0001dc00| 74 65 72 6e 20 73 74 72 | 75 63 74 20 73 74 72 65 |tern str|uct stre|
|0001dc10| 76 65 6e 74 20 2a 73 65 | 61 6c 6c 6f 63 28 29 3b |vent *se|alloc();|
|0001dc20| 0a 65 78 74 65 72 6e 20 | 69 6e 74 20 20 20 73 65 |.extern |int se|
|0001dc30| 66 72 65 65 28 29 3b 0a | 0a 2f 2a 0a 20 2a 20 73 |free();.|./*. * s|
|0001dc40| 68 61 72 65 64 20 6f 72 | 20 65 78 74 65 72 6e 61 |hared or| externa|
|0001dc50| 6c 6c 79 20 63 6f 6e 66 | 69 67 75 72 65 64 20 64 |lly conf|igured d|
|0001dc60| 61 74 61 20 73 74 72 75 | 63 74 75 72 65 73 0a 20 |ata stru|ctures. |
|0001dc70| 2a 2f 0a 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |*/.exter|n struct|
|0001dc80| 20 73 74 64 61 74 61 20 | 73 74 72 65 61 6d 73 5b | stdata |streams[|
|0001dc90| 5d 3b 09 09 2f 2a 20 74 | 61 62 6c 65 20 6f 66 20 |];../* t|able of |
|0001dca0| 73 74 72 65 61 6d 73 20 | 2a 2f 0a 65 78 74 65 72 |streams |*/.exter|
|0001dcb0| 6e 20 71 75 65 75 65 5f | 74 09 71 75 65 75 65 5b |n queue_|t.queue[|
|0001dcc0| 5d 3b 09 09 2f 2a 20 74 | 61 62 6c 65 20 6f 66 20 |];../* t|able of |
|0001dcd0| 71 75 65 75 65 73 20 2a | 2f 0a 65 78 74 65 72 6e |queues *|/.extern|
|0001dce0| 20 6d 62 6c 6b 5f 74 20 | 09 6d 62 6c 6f 63 6b 5b | mblk_t |.mblock[|
|0001dcf0| 5d 3b 20 09 09 2f 2a 20 | 74 61 62 6c 65 20 6f 66 |]; ../* |table of|
|0001dd00| 20 6d 73 67 20 62 6c 6b | 20 64 65 73 63 20 2a 2f | msg blk| desc */|
|0001dd10| 0a 65 78 74 65 72 6e 20 | 64 62 6c 6b 5f 74 20 09 |.extern |dblk_t .|
|0001dd20| 64 62 6c 6f 63 6b 5b 5d | 3b 09 20 09 2f 2a 20 74 |dblock[]|;. ./* t|
|0001dd30| 61 62 6c 65 20 6f 66 20 | 64 61 74 61 20 62 6c 6b |able of |data blk|
|0001dd40| 20 08 01 05 02 00 d7 01 | 02 00 64 65 73 63 20 2a | .......|..desc *|
|0001dd50| 2f 0a 65 78 74 65 72 6e | 20 75 73 68 6f 72 74 09 |/.extern| ushort.|
|0001dd60| 72 62 73 69 7a 65 5b 5d | 3b 09 09 2f 2a 20 6d 61 |rbsize[]|;../* ma|
|0001dd70| 70 20 6f 66 20 63 6c 61 | 73 73 20 74 6f 20 72 65 |p of cla|ss to re|
|0001dd80| 61 6c 20 62 6c 6f 63 6b | 20 73 69 7a 65 20 2a 2f |al block| size */|
|0001dd90| 0a 65 78 74 65 72 6e 20 | 73 74 72 75 63 74 20 6c |.extern |struct l|
|0001dda0| 69 6e 6b 62 6c 6b 20 6c | 69 6e 6b 62 6c 6b 5b 5d |inkblk l|inkblk[]|
|0001ddb0| 3b 09 2f 2a 20 6d 75 6c | 74 69 70 6c 65 78 6f 72 |;./* mul|tiplexor|
|0001ddc0| 20 6c 69 6e 6b 20 74 61 | 62 6c 65 20 2a 2f 0a 65 | link ta|ble */.e|
|0001ddd0| 78 74 65 72 6e 20 73 74 | 72 75 63 74 20 73 74 72 |xtern st|ruct str|
|0001dde0| 65 76 65 6e 74 20 73 74 | 72 65 76 65 6e 74 5b 5d |event st|revent[]|
|0001ddf0| 3b 09 2f 2a 20 74 61 62 | 6c 65 20 6f 66 20 73 74 |;./* tab|le of st|
|0001de00| 72 65 61 6d 20 65 76 65 | 6e 74 20 63 65 6c 6c 73 |ream eve|nt cells|
|0001de10| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 71 75 65 75 65 | */.exte|rn queue|
|0001de20| 5f 74 09 2a 71 68 65 61 | 64 3b 09 09 09 2f 2a 20 |_t.*qhea|d;.../* |
|0001de30| 68 65 61 64 20 6f 66 20 | 72 75 6e 6e 61 62 6c 65 |head of |runnable|
|0001de40| 20 71 75 65 75 65 20 6c | 69 73 74 20 2a 2f 0a 65 | queue l|ist */.e|
|0001de50| 78 74 65 72 6e 20 71 75 | 65 75 65 5f 74 09 2a 71 |xtern qu|eue_t.*q|
|0001de60| 74 61 69 6c 3b 09 09 09 | 2f 2a 20 74 61 69 6c 20 |tail;...|/* tail |
|0001de70| 6f 66 20 72 75 6e 6e 61 | 62 6c 65 20 71 75 65 75 |of runna|ble queu|
|0001de80| 65 20 6c 69 73 74 20 2a | 2f 0a 65 78 74 65 72 6e |e list *|/.extern|
|0001de90| 20 69 6e 74 20 73 74 72 | 6d 73 67 73 7a 3b 09 09 | int str|msgsz;..|
|0001dea0| 09 2f 2a 20 6d 61 78 69 | 6d 75 6d 20 73 74 72 65 |./* maxi|mum stre|
|0001deb0| 61 6d 20 6d 65 73 73 61 | 67 65 20 73 69 7a 65 20 |am messa|ge size |
|0001dec0| 2a 2f 0a 65 78 74 65 72 | 6e 20 69 6e 74 20 73 74 |*/.exter|n int st|
|0001ded0| 72 63 74 6c 73 7a 3b 09 | 09 09 2f 2a 20 6d 61 78 |rctlsz;.|../* max|
|0001dee0| 69 6d 75 6d 20 73 69 7a | 65 20 6f 66 20 63 74 6c |imum siz|e of ctl|
|0001def0| 20 70 61 72 74 20 6f 66 | 20 6d 65 73 73 61 67 65 | part of| message|
|0001df00| 20 2a 2f 0a 65 78 74 65 | 72 6e 20 69 6e 74 20 6e | */.exte|rn int n|
|0001df10| 6d 62 6c 6f 63 6b 3b 09 | 09 09 2f 2a 20 6e 75 6d |mblock;.|../* num|
|0001df20| 62 65 72 20 6f 66 20 6d | 73 67 20 62 6c 6b 20 64 |ber of m|sg blk d|
|0001df30| 65 73 63 20 2a 2f 0a 65 | 78 74 65 72 6e 20 69 6e |esc */.e|xtern in|
|0001df40| 74 20 6e 6d 75 78 6c 69 | 6e 6b 08 01 06 02 00 da |t nmuxli|nk......|
|0001df50| 01 02 00 3b 09 09 09 2f | 2a 20 6e 75 6d 62 65 72 |...;.../|* number|
|0001df60| 20 6f 66 20 6d 75 6c 74 | 69 70 6c 65 78 6f 72 20 | of mult|iplexor |
|0001df70| 6c 69 6e 6b 73 20 2a 2f | 0a 65 78 74 65 72 6e 20 |links */|.extern |
|0001df80| 69 6e 74 20 6e 73 74 72 | 70 75 73 68 3b 09 09 09 |int nstr|push;...|
|0001df90| 2f 2a 20 6d 61 78 6d 69 | 6d 75 6d 20 6e 75 6d 62 |/* maxmi|mum numb|
|0001dfa0| 65 72 20 6f 66 20 70 75 | 73 68 65 73 20 61 6c 6c |er of pu|shes all|
|0001dfb0| 6f 77 65 64 20 2a 2f 0a | 65 78 74 65 72 6e 20 69 |owed */.|extern i|
|0001dfc0| 6e 74 20 6e 73 74 72 65 | 76 65 6e 74 3b 09 09 09 |nt nstre|vent;...|
|0001dfd0| 2f 2a 20 69 6e 69 74 69 | 61 6c 20 6e 75 6d 62 65 |/* initi|al numbe|
|0001dfe0| 72 20 6f 66 20 73 74 72 | 65 61 6d 20 65 76 65 6e |r of str|eam even|
|0001dff0| 74 20 63 65 6c 6c 73 20 | 2a 2f 0a 65 78 74 65 72 |t cells |*/.exter|
|0001e000| 6e 20 69 6e 74 20 6d 61 | 78 73 65 70 67 63 6e 74 |n int ma|xsepgcnt|
|0001e010| 3b 09 09 09 2f 2a 20 70 | 61 67 65 20 6c 69 6d 69 |;.../* p|age limi|
|0001e020| 74 20 66 6f 72 20 65 76 | 65 6e 74 20 63 65 6c 6c |t for ev|ent cell|
|0001e030| 20 61 6c 6c 6f 63 61 74 | 69 6f 6e 20 2a 2f 0a 65 | allocat|ion */.e|
|0001e040| 78 74 65 72 6e 20 63 68 | 61 72 20 71 72 75 6e 66 |xtern ch|ar qrunf|
|0001e050| 6c 61 67 3b 09 09 09 2f | 2a 20 73 65 74 20 69 66 |lag;.../|* set if|
|0001e060| 20 74 68 65 72 65 20 61 | 72 65 20 71 75 65 75 65 | there a|re queue|
|0001e070| 73 20 74 6f 20 72 75 6e | 20 2a 2f 0a 0a 23 69 66 |s to run| */..#if|
|0001e080| 64 65 66 20 4d 5f 49 33 | 38 36 0a 23 70 72 61 67 |def M_I3|86.#prag|
|0001e090| 6d 61 20 70 61 63 6b 28 | 29 0a 23 65 6e 64 69 66 |ma pack(|).#endif|
|0001e0a0| 0a 6d 73 67 73 7a 3b 09 | 09 09 2f 2a 20 6d 61 78 |.msgsz;.|../* max|
|0001e0b0| 69 6d 75 6d 20 73 74 72 | 65 61 6d 20 6d 65 73 73 |imum str|eam mess|
|0001e0c0| 61 67 65 20 73 69 7a 65 | 20 2a 2f 0a 65 78 74 65 |age size| */.exte|
|0001e0d0| 72 6e 20 69 6e 74 20 73 | 74 72 63 74 6c 73 7a 3b |rn int s|trctlsz;|
|0001e0e0| 09 09 09 2f 2a 20 6d 61 | 78 69 6d 75 6d 20 73 69 |.../* ma|ximum si|
|0001e0f0| 7a 65 20 6f 66 20 63 74 | 6c 20 70 61 72 74 20 6f |ze of ct|l part o|
|0001e100| 66 20 6d 65 73 73 61 67 | 65 20 2a 2f 0a 65 78 74 |f messag|e */.ext|
|0001e110| 65 72 6e 20 69 6e 74 20 | 6e 6d 62 6c 6f 63 6b 3b |ern int |nmblock;|
|0001e120| 09 09 09 2f 2a 20 6e 75 | 6d 62 65 72 20 6f 66 20 |.../* nu|mber of |
|0001e130| 6d 73 67 20 62 6c 6b 20 | 64 65 73 63 20 2a 2f 0a |msg blk |desc */.|
|0001e140| 65 78 74 65 72 6e 20 69 | 6e 74 20 6e 6d 75 78 6c |extern i|nt nmuxl|
|0001e150| 69 6e 6b 08 01 07 02 00 | e7 5f 00 02 00 1a 2e 2f |ink.....|._...../|
|0001e160| 75 73 72 2f 69 6e 63 6c | 75 64 65 2f 73 79 73 2f |usr/incl|ude/sys/|
|0001e170| 73 74 61 74 66 73 2e 68 | 01 25 00 00 00 38 20 20 |statfs.h|.%...8 |
|0001e180| 20 34 34 34 20 00 20 20 | 20 20 20 30 20 00 20 20 | 444 . | 0 . |
|0001e190| 20 20 20 30 20 00 20 20 | 20 20 20 20 20 32 30 32 | 0 . | 202|
|0001e1a0| 33 20 20 34 32 34 34 33 | 34 30 31 34 36 20 20 31 |3 42443|40146 1|
|0001e1b0| 30 36 36 35 00 20 01 b2 | 00 00 08 01 08 02 00 29 |0665. ..|.......)|
|0001e1c0| 01 02 00 2f 2a 0a 20 2a | 09 40 28 23 29 20 73 74 |.../*. *|.@(#) st|
|0001e1d0| 61 74 66 73 2e 68 20 31 | 2e 31 20 38 38 2f 30 35 |atfs.h 1|.1 88/05|
|0001e1e0| 2f 31 38 20 0a 20 2a 0a | 20 2a 09 43 6f 70 79 72 |/18 . *.| *.Copyr|
|0001e1f0| 69 67 68 74 20 28 43 29 | 20 54 68 65 20 53 61 6e |ight (C)| The San|
|0001e200| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|0001e210| 6e 2c 20 31 39 38 34 2c | 20 31 39 38 35 2c 20 31 |n, 1984,| 1985, 1|
|0001e220| 39 38 36 2c 20 31 39 38 | 37 2c 20 31 39 38 38 2e |986, 198|7, 1988.|
|0001e230| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|0001e240| 29 20 4d 69 63 72 6f 73 | 6f 66 74 20 43 6f 72 70 |) Micros|oft Corp|
|0001e250| 6f 72 61 74 69 6f 6e 2c | 20 31 39 38 34 2c 20 31 |oration,| 1984, 1|
|0001e260| 39 38 35 2c 20 31 39 38 | 36 2c 20 31 39 38 37 2c |985, 198|6, 1987,|
|0001e270| 20 31 39 38 38 2e 0a 20 | 2a 09 54 68 69 73 20 4d | 1988.. |*.This M|
|0001e280| 6f 64 75 6c 65 20 63 6f | 6e 74 61 69 6e 73 20 50 |odule co|ntains P|
|0001e290| 72 6f 70 72 69 65 74 61 | 72 79 20 49 6e 66 6f 72 |roprieta|ry Infor|
|0001e2a0| 6d 61 74 69 6f 6e 20 6f | 66 0a 20 2a 09 54 68 65 |mation o|f. *.The|
|0001e2b0| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|0001e2c0| 61 74 69 6f 6e 2c 20 4d | 69 63 72 6f 73 6f 66 74 |ation, M|icrosoft|
|0001e2d0| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 0a 20 2a 09 | Corpora|tion. *.|
|0001e2e0| 61 6e 64 20 41 54 26 54 | 2c 20 61 6e 64 20 73 68 |and AT&T|, and sh|
|0001e2f0| 6f 75 6c 64 20 62 65 20 | 74 72 65 61 74 65 64 20 |ould be |treated |
|0001e300| 61 73 20 43 6f 6e 66 69 | 64 65 6e 74 69 61 6c 2e |as Confi|dential.|
|0001e310| 0a 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 54 48 49 53 |. */../*|. * THIS|
|0001e320| 20 46 49 4c 45 20 43 4f | 4e 54 41 49 4e 53 20 43 | FILE CO|NTAINS C|
|0001e330| 4f 44 45 20 57 48 49 43 | 48 20 49 53 20 44 45 53 |ODE WHIC|H IS DES|
|0001e340| 49 47 4e 45 44 20 54 4f | 20 42 45 0a 20 2a 20 50 |IGNED TO| BE. * P|
|0001e350| 4f 52 54 41 42 4c 45 20 | 42 45 54 57 45 45 4e 20 |ORTABLE |BETWEEN |
|0001e360| 44 49 46 46 45 52 45 4e | 54 20 4d 41 43 48 49 4e |DIFFEREN|T MACHIN|
|0001e370| 45 20 41 52 43 48 49 54 | 45 43 54 55 52 45 53 0a |E ARCHIT|ECTURES.|
|0001e380| 20 2a 20 41 4e 44 20 43 | 4f 4e 46 49 47 55 52 41 | * AND C|ONFIGURA|
|0001e390| 54 49 4f 4e 53 2e 20 49 | 54 20 53 48 4f 55 4c 44 |TIONS. I|T SHOULD|
|0001e3a0| 20 4e 4f 54 20 52 45 51 | 55 49 52 45 20 41 4e 59 | NOT REQ|UIRE ANY|
|0001e3b0| 0a 20 2a 20 4d 4f 44 49 | 46 49 43 41 54 49 4f 4e |. * MODI|FICATION|
|0001e3c0| 53 20 57 08 01 09 02 00 | fe 01 02 00 48 45 4e 20 |S W.....|....HEN |
|0001e3d0| 41 44 41 50 54 49 4e 47 | 20 58 45 4e 49 58 20 54 |ADAPTING| XENIX T|
|0001e3e0| 4f 20 4e 45 57 20 48 41 | 52 44 57 41 52 45 2e 0a |O NEW HA|RDWARE..|
|0001e3f0| 20 2a 2f 0a 0a 0a 2f 2a | 0a 20 2a 20 53 74 72 75 | */.../*|. * Stru|
|0001e400| 63 74 75 72 65 20 72 65 | 74 75 72 6e 65 64 20 62 |cture re|turned b|
|0001e410| 79 20 74 68 65 20 73 74 | 61 74 66 73 28 29 20 73 |y the st|atfs() s|
|0001e420| 79 73 74 65 6d 20 63 61 | 6c 6c 2e 0a 20 2a 2f 0a |ystem ca|ll.. */.|
|0001e430| 0a 73 74 72 75 63 74 09 | 73 74 61 74 66 73 20 7b |.struct.|statfs {|
|0001e440| 0a 09 73 68 6f 72 74 09 | 66 5f 66 73 74 79 70 3b |..short.|f_fstyp;|
|0001e450| 09 2f 2a 20 46 69 6c 65 | 20 73 79 73 74 65 6d 20 |./* File| system |
|0001e460| 74 79 70 65 20 2a 2f 0a | 09 6c 6f 6e 67 09 66 5f |type */.|.long.f_|
|0001e470| 62 73 69 7a 65 3b 09 2f | 2a 20 42 6c 6f 63 6b 20 |bsize;./|* Block |
|0001e480| 73 69 7a 65 20 2a 2f 0a | 09 6c 6f 6e 67 09 66 5f |size */.|.long.f_|
|0001e490| 66 72 73 69 7a 65 3b 09 | 2f 2a 20 46 72 61 67 6d |frsize;.|/* Fragm|
|0001e4a0| 65 6e 74 20 73 69 7a 65 | 20 28 69 66 20 73 75 70 |ent size| (if sup|
|0001e4b0| 70 6f 72 74 65 64 29 20 | 2a 2f 0a 09 6c 6f 6e 67 |ported) |*/..long|
|0001e4c0| 09 66 5f 62 6c 6f 63 6b | 73 3b 09 2f 2a 20 54 6f |.f_block|s;./* To|
|0001e4d0| 74 61 6c 20 6e 75 6d 62 | 65 72 20 6f 66 20 62 6c |tal numb|er of bl|
|0001e4e0| 6f 63 6b 73 20 6f 6e 20 | 66 69 6c 65 20 73 79 73 |ocks on |file sys|
|0001e4f0| 74 65 6d 20 2a 2f 0a 09 | 6c 6f 6e 67 09 66 5f 62 |tem */..|long.f_b|
|0001e500| 66 72 65 65 3b 09 2f 2a | 20 54 6f 74 61 6c 20 6e |free;./*| Total n|
|0001e510| 75 6d 62 65 72 20 6f 66 | 20 66 72 65 65 20 62 6c |umber of| free bl|
|0001e520| 6f 63 6b 73 20 2a 2f 0a | 09 6c 6f 6e 67 09 66 5f |ocks */.|.long.f_|
|0001e530| 66 69 6c 65 73 3b 09 2f | 2a 20 54 6f 74 61 6c 20 |files;./|* Total |
|0001e540| 6e 75 6d 62 65 72 20 6f | 66 20 66 69 6c 65 20 6e |number o|f file n|
|0001e550| 6f 64 65 73 20 28 69 6e | 6f 64 65 73 29 20 2a 2f |odes (in|odes) */|
|0001e560| 0a 09 6c 6f 6e 67 09 66 | 5f 66 66 72 65 65 3b 09 |..long.f|_ffree;.|
|0001e570| 2f 2a 20 54 6f 74 61 6c | 20 6e 75 6d 62 65 72 20 |/* Total| number |
|0001e580| 6f 66 20 66 72 65 65 20 | 66 69 6c 65 20 6e 6f 64 |of free |file nod|
|0001e590| 65 73 20 2a 2f 0a 09 63 | 68 61 72 09 66 5f 66 6e |es */..c|har.f_fn|
|0001e5a0| 61 6d 65 5b 36 5d 3b 09 | 2f 2a 20 56 6f 6c 75 6d |ame[6];.|/* Volum|
|0001e5b0| 65 20 6e 61 6d 65 20 2a | 2f 0a 09 63 68 61 72 09 |e name *|/..char.|
|0001e5c0| 66 5f 66 70 61 63 6b 5b | 36 5d 3b 09 08 01 0a 02 |f_fpack[|6];.....|
|0001e5d0| 00 fe 01 02 00 2f 2a 20 | 50 61 63 6b 20 6e 61 6d |...../* |Pack nam|
|0001e5e0| 65 20 2a 2f 0a 7d 3b 0a | 54 4f 20 4e 45 57 20 48 |e */.};.|TO NEW H|
|0001e5f0| 41 52 44 57 41 52 45 2e | 0a 20 2a 2f 0a 0a 0a 2f |ARDWARE.|. */.../|
|0001e600| 2a 0a 20 2a 20 53 74 72 | 75 63 74 75 72 65 20 72 |*. * Str|ucture r|
|0001e610| 65 74 75 72 6e 65 64 20 | 62 79 20 74 68 65 20 73 |eturned |by the s|
|0001e620| 74 61 74 66 73 28 29 20 | 73 79 73 74 65 6d 20 63 |tatfs() |system c|
|0001e630| 61 6c 6c 2e 0a 20 2a 2f | 0a 0a 73 74 72 75 63 74 |all.. */|..struct|
|0001e640| 09 73 74 61 74 66 73 20 | 7b 0a 09 73 68 6f 72 74 |.statfs |{..short|
|0001e650| 09 66 5f 66 73 74 79 70 | 3b 09 2f 2a 20 46 69 6c |.f_fstyp|;./* Fil|
|0001e660| 65 20 73 79 73 74 65 6d | 20 74 79 70 65 20 2a 2f |e system| type */|
|0001e670| 0a 09 6c 6f 6e 67 09 66 | 5f 62 73 69 7a 65 3b 09 |..long.f|_bsize;.|
|0001e680| 2f 2a 20 42 6c 6f 63 6b | 20 73 69 7a 65 20 2a 2f |/* Block| size */|
|0001e690| 0a 09 6c 6f 6e 67 09 66 | 5f 66 72 73 69 7a 65 3b |..long.f|_frsize;|
|0001e6a0| 09 2f 2a 20 46 72 61 67 | 6d 65 6e 74 20 73 69 7a |./* Frag|ment siz|
|0001e6b0| 65 20 28 69 66 20 73 75 | 70 70 6f 72 74 65 64 29 |e (if su|pported)|
|0001e6c0| 20 2a 2f 0a 09 6c 6f 6e | 67 09 66 5f 62 6c 6f 63 | */..lon|g.f_bloc|
|0001e6d0| 6b 73 3b 09 2f 2a 20 54 | 6f 74 61 6c 20 6e 75 6d |ks;./* T|otal num|
|0001e6e0| 62 65 72 20 6f 66 20 62 | 6c 6f 63 6b 73 20 6f 6e |ber of b|locks on|
|0001e6f0| 20 66 69 6c 65 20 73 79 | 73 74 65 6d 20 2a 2f 0a | file sy|stem */.|
|0001e700| 09 6c 6f 6e 67 09 66 5f | 62 66 72 65 65 3b 09 2f |.long.f_|bfree;./|
|0001e710| 2a 20 54 6f 74 61 6c 20 | 6e 75 6d 62 65 72 20 6f |* Total |number o|
|0001e720| 66 20 66 72 65 65 20 62 | 6c 6f 63 6b 73 20 2a 2f |f free b|locks */|
|0001e730| 0a 09 6c 6f 6e 67 09 66 | 5f 66 69 6c 65 73 3b 09 |..long.f|_files;.|
|0001e740| 2f 2a 20 54 6f 74 61 6c | 20 6e 75 6d 62 65 72 20 |/* Total| number |
|0001e750| 6f 66 20 66 69 6c 65 20 | 6e 6f 64 65 73 20 28 69 |of file |nodes (i|
|0001e760| 6e 6f 64 65 73 29 20 2a | 2f 0a 09 6c 6f 6e 67 09 |nodes) *|/..long.|
|0001e770| 66 5f 66 66 72 65 65 3b | 09 2f 2a 20 54 6f 74 61 |f_ffree;|./* Tota|
|0001e780| 6c 20 6e 75 6d 62 65 72 | 20 6f 66 20 66 72 65 65 |l number| of free|
|0001e790| 20 66 69 6c 65 20 6e 6f | 64 65 73 20 2a 2f 0a 09 | file no|des */..|
|0001e7a0| 63 68 61 72 09 66 5f 66 | 6e 61 6d 65 5b 36 5d 3b |char.f_f|name[6];|
|0001e7b0| 09 2f 2a 20 56 6f 6c 75 | 6d 65 20 6e 61 6d 65 20 |./* Volu|me name |
|0001e7c0| 2a 2f 0a 09 63 68 61 72 | 09 66 5f 66 70 61 63 6b |*/..char|.f_fpack|
|0001e7d0| 5b 36 5d 3b 09 08 01 0b | 02 00 49 5d 00 02 00 18 |[6];....|..I]....|
|0001e7e0| 2e 2f 75 73 72 2f 69 6e | 63 6c 75 64 65 2f 73 79 |./usr/in|clude/sy|
|0001e7f0| 73 2f 73 74 61 74 2e 68 | 01 26 00 00 00 38 20 20 |s/stat.h|.&...8 |
|0001e800| 20 34 34 34 20 00 20 20 | 20 20 20 30 20 00 20 20 | 444 . | 0 . |
|0001e810| 20 20 20 30 20 00 20 20 | 20 20 20 20 20 35 31 36 | 0 . | 516|
|0001e820| 31 20 20 34 32 34 34 33 | 34 30 31 35 36 20 20 31 |1 42443|40156 1|
|0001e830| 30 33 34 33 00 20 01 b2 | 00 00 08 01 0c 02 00 eb |0343. ..|........|
|0001e840| 01 02 00 0a 2f 2a 0a 20 | 2a 09 40 28 23 29 20 73 |..../*. |*.@(#) s|
|0001e850| 74 61 74 2e 68 20 32 2e | 32 20 38 38 2f 30 35 2f |tat.h 2.|2 88/05/|
|0001e860| 31 38 20 0a 20 2a 0a 20 | 2a 09 43 6f 70 79 72 69 |18 . *. |*.Copyri|
|0001e870| 67 68 74 20 28 43 29 20 | 54 68 65 20 53 61 6e 74 |ght (C) |The Sant|
|0001e880| 61 20 43 72 75 7a 20 4f | 70 65 72 61 74 69 6f 6e |a Cruz O|peration|
|0001e890| 2c 20 31 39 38 34 2c 20 | 31 39 38 35 2c 20 31 39 |, 1984, |1985, 19|
|0001e8a0| 38 36 2c 20 31 39 38 37 | 2e 0a 20 2a 09 43 6f 70 |86, 1987|.. *.Cop|
|0001e8b0| 79 72 69 67 68 74 20 28 | 43 29 20 4d 69 63 72 6f |yright (|C) Micro|
|0001e8c0| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|0001e8d0| 2c 20 31 39 38 34 2c 20 | 31 39 38 35 2c 20 31 39 |, 1984, |1985, 19|
|0001e8e0| 38 36 2c 20 31 39 38 37 | 2e 0a 20 2a 09 54 68 69 |86, 1987|.. *.Thi|
|0001e8f0| 73 20 4d 6f 64 75 6c 65 | 20 63 6f 6e 74 61 69 6e |s Module| contain|
|0001e900| 73 20 50 72 6f 70 72 69 | 65 74 61 72 79 20 49 6e |s Propri|etary In|
|0001e910| 66 6f 72 6d 61 74 69 6f | 6e 20 6f 66 0a 20 2a 09 |formatio|n of. *.|
|0001e920| 54 68 65 20 53 61 6e 74 | 61 20 43 72 75 7a 20 4f |The Sant|a Cruz O|
|0001e930| 70 65 72 61 74 69 6f 6e | 2c 20 4d 69 63 72 6f 73 |peration|, Micros|
|0001e940| 6f 66 74 20 43 6f 72 70 | 6f 72 61 74 69 6f 6e 0a |oft Corp|oration.|
|0001e950| 20 2a 09 61 6e 64 20 41 | 54 26 54 2c 20 61 6e 64 | *.and A|T&T, and|
|0001e960| 20 73 68 6f 75 6c 64 20 | 62 65 20 74 72 65 61 74 | should |be treat|
|0001e970| 65 64 20 61 73 20 43 6f | 6e 66 69 64 65 6e 74 69 |ed as Co|nfidenti|
|0001e980| 61 6c 2e 0a 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 20 54 |al.. */.|./*. * T|
|0001e990| 48 49 53 20 46 49 4c 45 | 20 43 4f 4e 54 41 49 4e |HIS FILE| CONTAIN|
|0001e9a0| 53 20 43 4f 44 45 20 57 | 48 49 43 48 20 49 53 20 |S CODE W|HICH IS |
|0001e9b0| 44 45 53 49 47 4e 45 44 | 20 54 4f 20 42 45 0a 20 |DESIGNED| TO BE. |
|0001e9c0| 2a 20 50 4f 52 54 41 42 | 4c 45 20 42 45 54 57 45 |* PORTAB|LE BETWE|
|0001e9d0| 45 4e 20 44 49 46 46 45 | 52 45 4e 54 20 4d 41 43 |EN DIFFE|RENT MAC|
|0001e9e0| 48 49 4e 45 20 41 52 43 | 48 49 54 45 43 54 55 52 |HINE ARC|HITECTUR|
|0001e9f0| 45 53 0a 20 2a 20 41 4e | 44 20 43 4f 4e 46 49 47 |ES. * AN|D CONFIG|
|0001ea00| 55 52 41 54 49 4f 4e 53 | 2e 20 49 54 20 53 48 4f |URATIONS|. IT SHO|
|0001ea10| 55 4c 44 20 4e 4f 54 20 | 52 45 51 55 49 52 45 20 |ULD NOT |REQUIRE |
|0001ea20| 41 4e 59 0a 20 2a 20 4d | 4f 44 49 46 49 43 41 54 |ANY. * M|ODIFICAT|
|0001ea30| 49 4f 4e 53 20 57 48 45 | 4e 20 41 44 41 50 54 49 |IONS WHE|N ADAPTI|
|0001ea40| 4e 47 20 08 01 0d 02 00 | 95 01 02 00 58 45 4e 49 |NG .....|....XENI|
|0001ea50| 58 20 54 4f 20 4e 45 57 | 20 48 41 52 44 57 41 52 |X TO NEW| HARDWAR|
|0001ea60| 45 2e 0a 20 2a 2f 0a 0a | 2f 2a 2a 2a 09 73 74 61 |E.. */..|/***.sta|
|0001ea70| 74 20 2d 2d 20 73 74 72 | 75 63 74 75 72 65 20 72 |t -- str|ucture r|
|0001ea80| 65 74 75 72 6e 65 64 20 | 62 79 20 73 74 61 74 2c |eturned |by stat,|
|0001ea90| 20 66 73 74 61 74 20 73 | 79 73 74 65 6d 20 63 61 | fstat s|ystem ca|
|0001eaa0| 6c 6c 73 2e 0a 20 2a 0a | 20 2a 2f 0a 0a 73 74 72 |lls.. *.| */..str|
|0001eab0| 75 63 74 20 73 74 61 74 | 20 7b 09 2f 2a 20 73 65 |uct stat| {./* se|
|0001eac0| 65 20 73 74 61 74 28 32 | 29 20 2a 2f 0a 09 64 65 |e stat(2|) */..de|
|0001ead0| 76 5f 74 09 73 74 5f 64 | 65 76 3b 09 09 2f 2a 20 |v_t.st_d|ev;../* |
|0001eae0| 69 64 20 6f 66 20 64 65 | 76 69 63 65 20 63 6f 6e |id of de|vice con|
|0001eaf0| 74 61 69 6e 69 6e 67 20 | 64 69 72 65 63 74 6f 72 |taining |director|
|0001eb00| 79 20 65 6e 74 72 79 20 | 2a 2f 0a 09 69 6e 6f 5f |y entry |*/..ino_|
|0001eb10| 74 09 73 74 5f 69 6e 6f | 3b 09 09 2f 2a 20 69 6e |t.st_ino|;../* in|
|0001eb20| 6f 64 65 20 6e 75 6d 62 | 65 72 20 2a 2f 0a 09 75 |ode numb|er */..u|
|0001eb30| 73 68 6f 72 74 09 73 74 | 5f 6d 6f 64 65 3b 09 2f |short.st|_mode;./|
|0001eb40| 2a 20 66 69 6c 65 20 6d | 6f 64 65 2c 20 73 65 65 |* file m|ode, see|
|0001eb50| 20 6d 6b 6e 6f 64 28 32 | 29 20 2a 2f 0a 09 73 68 | mknod(2|) */..sh|
|0001eb60| 6f 72 74 09 73 74 5f 6e | 6c 69 6e 6b 3b 09 2f 2a |ort.st_n|link;./*|
|0001eb70| 20 23 20 6f 66 20 6c 69 | 6e 6b 73 20 2a 2f 0a 09 | # of li|nks */..|
|0001eb80| 75 73 68 6f 72 74 09 73 | 74 5f 75 69 64 3b 09 09 |ushort.s|t_uid;..|
|0001eb90| 2f 2a 20 6f 77 6e 65 72 | 20 75 69 64 20 2a 2f 0a |/* owner| uid */.|
|0001eba0| 09 75 73 68 6f 72 74 09 | 73 74 5f 67 69 64 3b 09 |.ushort.|st_gid;.|
|0001ebb0| 09 2f 2a 20 6f 77 6e 65 | 72 20 67 69 64 20 2a 2f |./* owne|r gid */|
|0001ebc0| 0a 09 64 65 76 5f 74 09 | 73 74 5f 72 64 65 76 3b |..dev_t.|st_rdev;|
|0001ebd0| 09 2f 2a 20 69 64 20 6f | 66 20 64 65 76 69 63 65 |./* id o|f device|
|0001ebe0| 2e 20 20 4f 6e 6c 79 20 | 64 65 66 69 6e 65 64 20 |. Only |defined |
|0001ebf0| 66 6f 72 20 63 68 61 72 | 61 63 74 65 72 0a 09 09 |for char|acter...|
|0001ec00| 09 09 20 2a 20 61 6e 64 | 20 62 6c 6f 63 6b 20 73 |.. * and| block s|
|0001ec10| 70 65 63 69 61 6c 20 66 | 69 6c 65 73 2e 0a 09 09 |pecial f|iles....|
|0001ec20| 09 09 20 2a 2f 0a 09 6f | 66 66 5f 74 09 73 74 5f |.. */..o|ff_t.st_|
|0001ec30| 73 69 7a 65 3b 09 2f 2a | 20 66 69 6c 65 20 73 69 |size;./*| file si|
|0001ec40| 7a 65 20 69 6e 20 62 79 | 74 65 73 20 08 01 0e 02 |ze in by|tes ....|
|0001ec50| 00 ec 01 02 00 2a 2f 0a | 09 09 2f 2a 20 61 6c 6c |.....*/.|../* all|
|0001ec60| 20 74 69 6d 65 73 20 6d | 65 61 73 75 72 65 64 20 | times m|easured |
|0001ec70| 69 6e 20 73 65 63 6f 6e | 64 73 20 73 69 6e 63 65 |in secon|ds since|
|0001ec80| 20 27 74 68 65 20 65 70 | 6f 63 68 27 20 2a 2f 0a | 'the ep|och' */.|
|0001ec90| 09 74 69 6d 65 5f 74 09 | 73 74 5f 61 74 69 6d 65 |.time_t.|st_atime|
|0001eca0| 3b 09 2f 2a 20 74 69 6d | 65 20 6f 66 20 6c 61 73 |;./* tim|e of las|
|0001ecb0| 74 20 61 63 63 65 73 73 | 20 2a 2f 0a 09 74 69 6d |t access| */..tim|
|0001ecc0| 65 5f 74 09 73 74 5f 6d | 74 69 6d 65 3b 09 2f 2a |e_t.st_m|time;./*|
|0001ecd0| 20 74 69 6d 65 20 6f 66 | 20 6c 61 73 74 20 64 61 | time of| last da|
|0001ece0| 74 61 20 6d 6f 64 69 66 | 69 63 61 74 69 6f 6e 20 |ta modif|ication |
|0001ecf0| 2a 2f 0a 09 74 69 6d 65 | 5f 74 09 73 74 5f 63 74 |*/..time|_t.st_ct|
|0001ed00| 69 6d 65 3b 09 2f 2a 20 | 74 69 6d 65 20 6f 66 20 |ime;./* |time of |
|0001ed10| 6c 61 73 74 20 66 69 6c | 65 20 73 74 61 74 75 73 |last fil|e status|
|0001ed20| 20 27 63 68 61 6e 67 65 | 27 20 2a 2f 0a 7d 3b 0a | 'change|' */.};.|
|0001ed30| 0a 23 64 65 66 69 6e 65 | 09 53 5f 49 46 4d 54 09 |.#define|.S_IFMT.|
|0001ed40| 30 31 37 30 30 30 30 09 | 09 2f 2a 20 74 79 70 65 |0170000.|./* type|
|0001ed50| 20 6f 66 20 66 69 6c 65 | 20 2a 2f 0a 23 64 65 66 | of file| */.#def|
|0001ed60| 69 6e 65 09 09 53 5f 49 | 46 44 49 52 09 30 30 34 |ine..S_I|FDIR.004|
|0001ed70| 30 30 30 30 09 2f 2a 20 | 64 69 72 65 63 74 6f 72 |0000./* |director|
|0001ed80| 79 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 09 53 5f |y */.#de|fine..S_|
|0001ed90| 49 46 43 48 52 09 30 30 | 32 30 30 30 30 09 2f 2a |IFCHR.00|20000./*|
|0001eda0| 20 63 68 61 72 61 63 74 | 65 72 20 73 70 65 63 69 | charact|er speci|
|0001edb0| 61 6c 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 09 53 |al */.#d|efine..S|
|0001edc0| 5f 49 46 42 4c 4b 09 30 | 30 36 30 30 30 30 09 2f |_IFBLK.0|060000./|
|0001edd0| 2a 20 62 6c 6f 63 6b 20 | 73 70 65 63 69 61 6c 20 |* block |special |
|0001ede0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 09 53 5f 49 46 |*/.#defi|ne..S_IF|
|0001edf0| 52 45 47 09 30 31 30 30 | 30 30 30 09 2f 2a 20 72 |REG.0100|000./* r|
|0001ee00| 65 67 75 6c 61 72 20 2a | 2f 0a 23 64 65 66 69 6e |egular *|/.#defin|
|0001ee10| 65 09 09 53 5f 49 46 49 | 46 4f 09 30 30 31 30 30 |e..S_IFI|FO.00100|
|0001ee20| 30 30 09 2f 2a 20 66 69 | 66 6f 20 2a 2f 0a 23 64 |00./* fi|fo */.#d|
|0001ee30| 65 66 69 6e 65 09 09 53 | 5f 49 46 4e 41 4d 09 30 |efine..S|_IFNAM.0|
|0001ee40| 30 35 30 30 30 30 09 2f | 2a 20 6e 61 6d 65 20 73 |050000./|* name s|
|0001ee50| 70 61 63 65 20 08 01 0f | 02 00 70 01 02 00 65 6e |pace ...|..p...en|
|0001ee60| 74 72 79 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 53 |try */.#|define.S|
|0001ee70| 5f 49 4e 53 45 4d 09 09 | 30 31 09 2f 2a 20 73 65 |_INSEM..|01./* se|
|0001ee80| 6d 61 70 68 6f 72 65 20 | 2a 2f 0a 23 64 65 66 69 |maphore |*/.#defi|
|0001ee90| 6e 65 09 53 5f 49 4e 53 | 48 44 09 09 30 32 09 2f |ne.S_INS|HD..02./|
|0001eea0| 2a 20 73 68 61 72 65 64 | 20 6d 65 6d 6f 72 79 20 |* shared| memory |
|0001eeb0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 53 5f 49 53 55 |*/.#defi|ne.S_ISU|
|0001eec0| 49 44 09 30 34 30 30 30 | 09 09 2f 2a 20 73 65 74 |ID.04000|../* set|
|0001eed0| 20 75 73 65 72 20 69 64 | 20 6f 6e 20 65 78 65 63 | user id| on exec|
|0001eee0| 75 74 69 6f 6e 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ution */|.#define|
|0001eef0| 09 53 5f 49 53 47 49 44 | 09 30 32 30 30 30 09 09 |.S_ISGID|.02000..|
|0001ef00| 2f 2a 20 73 65 74 20 67 | 72 6f 75 70 20 69 64 20 |/* set g|roup id |
|0001ef10| 6f 6e 20 65 78 65 63 75 | 74 69 6f 6e 20 2a 2f 0a |on execu|tion */.|
|0001ef20| 23 64 65 66 69 6e 65 09 | 53 5f 49 53 56 54 58 09 |#define.|S_ISVTX.|
|0001ef30| 30 31 30 30 30 09 09 2f | 2a 20 73 61 76 65 20 73 |01000../|* save s|
|0001ef40| 77 61 70 70 65 64 20 74 | 65 78 74 20 65 76 65 6e |wapped t|ext even|
|0001ef50| 20 61 66 74 65 72 20 75 | 73 65 20 2a 2f 0a 23 64 | after u|se */.#d|
|0001ef60| 65 66 69 6e 65 09 53 5f | 49 52 45 41 44 09 30 30 |efine.S_|IREAD.00|
|0001ef70| 34 30 30 09 09 2f 2a 20 | 72 65 61 64 20 70 65 72 |400../* |read per|
|0001ef80| 6d 69 73 73 69 6f 6e 2c | 20 6f 77 6e 65 72 20 2a |mission,| owner *|
|0001ef90| 2f 0a 23 64 65 66 69 6e | 65 09 53 5f 49 57 52 49 |/.#defin|e.S_IWRI|
|0001efa0| 54 45 09 30 30 32 30 30 | 09 2f 2a 20 77 72 69 74 |TE.00200|./* writ|
|0001efb0| 65 20 70 65 72 6d 69 73 | 73 69 6f 6e 2c 20 6f 77 |e permis|sion, ow|
|0001efc0| 6e 65 72 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 53 |ner */.#|define.S|
|0001efd0| 5f 49 45 58 45 43 09 30 | 30 31 30 30 09 09 2f 2a |_IEXEC.0|0100../*|
|0001efe0| 20 65 78 65 63 75 74 65 | 2f 73 65 61 72 63 68 20 | execute|/search |
|0001eff0| 70 65 72 6d 69 73 73 69 | 6f 6e 2c 20 6f 77 6e 65 |permissi|on, owne|
|0001f000| 72 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 53 5f 45 |r */.#de|fine.S_E|
|0001f010| 4e 46 4d 54 09 53 5f 49 | 53 47 49 44 09 09 2f 2a |NFMT.S_I|SGID../*|
|0001f020| 20 72 65 63 6f 72 64 20 | 6c 6f 63 6b 69 6e 67 20 | record |locking |
|0001f030| 65 6e 66 6f 72 63 65 6d | 65 6e 74 20 66 6c 61 67 |enforcem|ent flag|
|0001f040| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 09 53 5f 49 52 | */.#def|ine.S_IR|
|0001f050| 57 58 55 09 30 30 37 30 | 30 09 09 2f 2a 20 0f 09 |WXU.0070|0../* ..|
|0001f060| 00 8d 09 00 01 02 00 d3 | 01 02 00 72 65 61 64 2c |........|...read,|
|0001f070| 20 77 72 69 74 65 2c 20 | 65 78 65 63 75 74 65 3a | write, |execute:|
|0001f080| 20 6f 77 6e 65 72 20 2a | 2f 0a 23 64 65 66 69 6e | owner *|/.#defin|
|0001f090| 65 09 53 5f 49 52 55 53 | 52 09 30 30 34 30 30 09 |e.S_IRUS|R.00400.|
|0001f0a0| 09 2f 2a 20 72 65 61 64 | 20 70 65 72 6d 69 73 73 |./* read| permiss|
|0001f0b0| 69 6f 6e 3a 20 6f 77 6e | 65 72 20 2a 2f 0a 23 64 |ion: own|er */.#d|
|0001f0c0| 65 66 69 6e 65 09 53 5f | 49 57 55 53 52 09 30 30 |efine.S_|IWUSR.00|
|0001f0d0| 32 30 30 09 09 2f 2a 20 | 77 72 69 74 65 20 70 65 |200../* |write pe|
|0001f0e0| 72 6d 69 73 73 69 6f 6e | 3a 20 6f 77 6e 65 72 20 |rmission|: owner |
|0001f0f0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 53 5f 49 58 55 |*/.#defi|ne.S_IXU|
|0001f100| 53 52 09 30 30 31 30 30 | 09 09 2f 2a 20 65 78 65 |SR.00100|../* exe|
|0001f110| 63 75 74 65 20 70 65 72 | 6d 69 73 73 69 6f 6e 3a |cute per|mission:|
|0001f120| 20 6f 77 6e 65 72 20 2a | 2f 0a 23 64 65 66 69 6e | owner *|/.#defin|
|0001f130| 65 09 53 5f 49 52 57 58 | 47 09 30 30 30 37 30 09 |e.S_IRWX|G.00070.|
|0001f140| 09 2f 2a 20 72 65 61 64 | 2c 20 77 72 69 74 65 2c |./* read|, write,|
|0001f150| 20 65 78 65 63 75 74 65 | 3a 20 67 72 6f 75 70 20 | execute|: group |
|0001f160| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 53 5f 49 52 47 |*/.#defi|ne.S_IRG|
|0001f170| 52 50 09 30 30 30 34 30 | 09 09 2f 2a 20 72 65 61 |RP.00040|../* rea|
|0001f180| 64 20 70 65 72 6d 69 73 | 73 69 6f 6e 3a 20 67 72 |d permis|sion: gr|
|0001f190| 6f 75 70 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 53 |oup */.#|define.S|
|0001f1a0| 5f 49 57 47 52 50 09 30 | 30 30 32 30 09 09 2f 2a |_IWGRP.0|0020../*|
|0001f1b0| 20 77 72 69 74 65 20 70 | 65 72 6d 69 73 73 69 6f | write p|ermissio|
|0001f1c0| 6e 3a 20 67 72 6f 75 70 | 20 2a 2f 0a 23 64 65 66 |n: group| */.#def|
|0001f1d0| 69 6e 65 09 53 5f 49 58 | 47 52 50 09 30 30 30 31 |ine.S_IX|GRP.0001|
|0001f1e0| 30 09 09 2f 2a 20 65 78 | 65 63 75 74 65 20 70 65 |0../* ex|ecute pe|
|0001f1f0| 72 6d 69 73 73 69 6f 6e | 3a 20 67 72 6f 75 70 20 |rmission|: group |
|0001f200| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 53 5f 49 52 57 |*/.#defi|ne.S_IRW|
|0001f210| 58 4f 09 30 30 30 30 37 | 09 09 2f 2a 20 72 65 61 |XO.00007|../* rea|
|0001f220| 64 2c 20 77 72 69 74 65 | 2c 20 65 78 65 63 75 74 |d, write|, execut|
|0001f230| 65 3a 20 6f 74 68 65 72 | 20 2a 2f 0a 23 64 65 66 |e: other| */.#def|
|0001f240| 69 6e 65 09 53 5f 49 52 | 4f 54 48 09 30 30 30 30 |ine.S_IR|OTH.0000|
|0001f250| 34 09 09 2f 2a 20 72 65 | 61 64 20 70 65 72 6d 69 |4../* re|ad permi|
|0001f260| 73 73 69 6f 6e 3a 20 6f | 74 68 65 09 00 02 02 00 |ssion: o|the.....|
|0001f270| 77 01 02 00 72 20 2a 2f | 0a 23 64 65 66 69 6e 65 |w...r */|.#define|
|0001f280| 09 53 5f 49 57 4f 54 48 | 09 30 30 30 30 32 09 09 |.S_IWOTH|.00002..|
|0001f290| 2f 2a 20 77 72 69 74 65 | 20 70 65 72 6d 69 73 73 |/* write| permiss|
|0001f2a0| 69 6f 6e 3a 20 6f 74 68 | 65 72 20 2a 2f 0a 23 64 |ion: oth|er */.#d|
|0001f2b0| 65 66 69 6e 65 09 53 5f | 49 58 4f 54 48 09 30 30 |efine.S_|IXOTH.00|
|0001f2c0| 30 30 31 09 09 2f 2a 20 | 65 78 65 63 75 74 65 20 |001../* |execute |
|0001f2d0| 70 65 72 6d 69 73 73 69 | 6f 6e 3a 20 6f 74 68 65 |permissi|on: othe|
|0001f2e0| 72 20 2a 2f 0a 65 20 70 | 65 72 6d 69 73 73 69 6f |r */.e p|ermissio|
|0001f2f0| 6e 3a 20 6f 77 6e 65 72 | 20 2a 2f 0a 23 64 65 66 |n: owner| */.#def|
|0001f300| 69 6e 65 09 53 5f 49 58 | 55 53 52 09 30 30 31 30 |ine.S_IX|USR.0010|
|0001f310| 30 09 09 2f 2a 20 65 78 | 65 63 75 74 65 20 70 65 |0../* ex|ecute pe|
|0001f320| 72 6d 69 73 73 69 6f 6e | 3a 20 6f 77 6e 65 72 20 |rmission|: owner |
|0001f330| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 53 5f 49 52 57 |*/.#defi|ne.S_IRW|
|0001f340| 58 47 09 30 30 30 37 30 | 09 09 2f 2a 20 72 65 61 |XG.00070|../* rea|
|0001f350| 64 2c 20 77 72 69 74 65 | 2c 20 65 78 65 63 75 74 |d, write|, execut|
|0001f360| 65 3a 20 67 72 6f 75 70 | 20 2a 2f 0a 23 64 65 66 |e: group| */.#def|
|0001f370| 69 6e 65 09 53 5f 49 52 | 47 52 50 09 30 30 30 34 |ine.S_IR|GRP.0004|
|0001f380| 30 09 09 2f 2a 20 72 65 | 61 64 20 70 65 72 6d 69 |0../* re|ad permi|
|0001f390| 73 73 69 6f 6e 3a 20 67 | 72 6f 75 70 20 2a 2f 0a |ssion: g|roup */.|
|0001f3a0| 23 64 65 66 69 6e 65 09 | 53 5f 49 57 47 52 50 09 |#define.|S_IWGRP.|
|0001f3b0| 30 30 30 32 30 09 09 2f | 2a 20 77 72 69 74 65 20 |00020../|* write |
|0001f3c0| 70 65 72 6d 69 73 73 69 | 6f 6e 3a 20 67 72 6f 75 |permissi|on: grou|
|0001f3d0| 70 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 53 5f 49 |p */.#de|fine.S_I|
|0001f3e0| 58 47 52 50 09 30 30 30 | 31 30 09 09 2f 2a 20 65 |XGRP.000|10../* e|
|0001f3f0| 78 65 63 75 74 65 20 70 | 65 72 6d 69 73 73 69 6f |xecute p|ermissio|
|0001f400| 6e 3a 20 67 72 6f 75 70 | 20 2a 2f 0a 23 64 65 66 |n: group| */.#def|
|0001f410| 69 6e 65 09 53 5f 49 52 | 57 58 4f 09 30 30 30 30 |ine.S_IR|WXO.0000|
|0001f420| 37 09 09 2f 2a 20 72 65 | 61 64 2c 20 77 72 69 74 |7../* re|ad, writ|
|0001f430| 65 2c 20 65 78 65 63 75 | 74 65 3a 20 6f 74 68 65 |e, execu|te: othe|
|0001f440| 72 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 53 5f 49 |r */.#de|fine.S_I|
|0001f450| 52 4f 54 48 09 30 30 30 | 30 34 09 09 2f 2a 20 72 |ROTH.000|04../* r|
|0001f460| 65 61 64 20 70 65 72 6d | 69 73 73 69 6f 6e 3a 20 |ead perm|ission: |
|0001f470| 6f 74 68 65 09 00 03 02 | 00 59 5f 00 02 00 19 2e |othe....|.Y_.....|
|0001f480| 2f 75 73 72 2f 69 6e 63 | 6c 75 64 65 2f 73 79 73 |/usr/inc|lude/sys|
|0001f490| 2f 73 70 61 63 65 2e 68 | 01 25 00 00 00 39 00 20 |/space.h|.%...9. |
|0001f4a0| 20 20 34 34 34 20 00 20 | 20 20 20 20 30 20 00 20 | 444 . | 0 . |
|0001f4b0| 20 20 20 20 30 20 00 20 | 20 20 20 20 20 31 31 36 | 0 . | 116|
|0001f4c0| 37 30 20 20 34 32 36 36 | 36 31 35 37 30 35 20 20 |70 4266|615705 |
|0001f4d0| 31 30 35 31 36 00 20 01 | b2 00 00 09 00 04 02 00 |10516. .|........|
|0001f4e0| e7 01 02 00 2f 2a 0a 20 | 2a 09 40 28 23 29 20 73 |..../*. |*.@(#) s|
|0001f4f0| 70 61 63 65 2e 68 20 32 | 2e 36 20 38 38 2f 30 37 |pace.h 2|.6 88/07|
|0001f500| 2f 31 33 20 0a 20 2a 0a | 20 2a 09 43 6f 70 79 72 |/13 . *.| *.Copyr|
|0001f510| 69 67 68 74 20 28 43 29 | 20 54 68 65 20 53 61 6e |ight (C)| The San|
|0001f520| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|0001f530| 6e 2c 20 31 39 38 34 2c | 20 31 39 38 35 2c 20 31 |n, 1984,| 1985, 1|
|0001f540| 39 38 36 2c 20 31 39 38 | 37 2c 20 31 39 38 38 2e |986, 198|7, 1988.|
|0001f550| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|0001f560| 29 20 4d 69 63 72 6f 73 | 6f 66 74 20 43 6f 72 70 |) Micros|oft Corp|
|0001f570| 6f 72 61 74 69 6f 6e 2c | 20 31 39 38 34 2c 20 31 |oration,| 1984, 1|
|0001f580| 39 38 35 2c 20 31 39 38 | 36 2c 20 31 39 38 37 2c |985, 198|6, 1987,|
|0001f590| 20 31 39 38 38 2e 0a 20 | 2a 09 54 68 69 73 20 4d | 1988.. |*.This M|
|0001f5a0| 6f 64 75 6c 65 20 63 6f | 6e 74 61 69 6e 73 20 50 |odule co|ntains P|
|0001f5b0| 72 6f 70 72 69 65 74 61 | 72 79 20 49 6e 66 6f 72 |roprieta|ry Infor|
|0001f5c0| 6d 61 74 69 6f 6e 20 6f | 66 0a 20 2a 09 54 68 65 |mation o|f. *.The|
|0001f5d0| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|0001f5e0| 61 74 69 6f 6e 2c 20 4d | 69 63 72 6f 73 6f 66 74 |ation, M|icrosoft|
|0001f5f0| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 0a 20 2a 09 | Corpora|tion. *.|
|0001f600| 61 6e 64 20 41 54 26 54 | 2c 20 61 6e 64 20 73 68 |and AT&T|, and sh|
|0001f610| 6f 75 6c 64 20 62 65 20 | 74 72 65 61 74 65 64 20 |ould be |treated |
|0001f620| 61 73 20 43 6f 6e 66 69 | 64 65 6e 74 69 61 6c 2e |as Confi|dential.|
|0001f630| 0a 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 54 48 49 53 |. */../*|. * THIS|
|0001f640| 20 46 49 4c 45 20 43 4f | 4e 54 41 49 4e 53 20 43 | FILE CO|NTAINS C|
|0001f650| 4f 44 45 20 57 48 49 43 | 48 20 49 53 20 53 50 45 |ODE WHIC|H IS SPE|
|0001f660| 43 49 46 49 43 20 54 4f | 20 54 48 45 0a 20 2a 20 |CIFIC TO| THE. * |
|0001f670| 49 4e 54 45 4c 20 43 50 | 55 27 53 20 41 4e 44 20 |INTEL CP|U'S AND |
|0001f680| 4d 41 59 20 52 45 51 55 | 49 52 45 20 4d 4f 44 49 |MAY REQU|IRE MODI|
|0001f690| 46 49 43 41 54 49 4f 4e | 0a 20 2a 20 57 48 45 4e |FICATION|. * WHEN|
|0001f6a0| 20 41 44 41 50 54 49 4e | 47 20 58 45 4e 49 58 20 | ADAPTIN|G XENIX |
|0001f6b0| 54 4f 20 4e 45 57 20 48 | 41 52 44 57 41 52 45 2e |TO NEW H|ARDWARE.|
|0001f6c0| 0a 20 2a 2f 0a 0a 23 69 | 66 64 65 66 20 4d 5f 49 |. */..#i|fdef M_I|
|0001f6d0| 33 38 36 0a 23 69 6e 63 | 6c 75 64 65 20 20 22 70 |386.#inc|lude "p|
|0001f6e0| 61 67 65 2e 09 00 05 02 | 00 81 01 02 00 68 22 0a |age.....|.....h".|
|0001f6f0| 23 69 6e 63 6c 75 64 65 | 20 20 22 69 6e 69 74 2e |#include| "init.|
|0001f700| 68 22 0a 23 65 6e 64 69 | 66 0a 0a 23 69 6e 63 6c |h".#endi|f..#incl|
|0001f710| 75 64 65 20 20 22 73 65 | 67 2e 68 22 0a 23 69 6e |ude "se|g.h".#in|
|0001f720| 63 6c 75 64 65 20 20 22 | 62 75 66 2e 68 22 0a 23 |clude "|buf.h".#|
|0001f730| 69 6e 63 6c 75 64 65 20 | 20 22 70 72 6f 63 2e 68 |include | "proc.h|
|0001f740| 22 0a 23 69 66 6e 64 65 | 66 20 4d 5f 49 33 38 36 |".#ifnde|f M_I386|
|0001f750| 0a 23 69 6e 63 6c 75 64 | 65 20 20 22 74 65 78 74 |.#includ|e "text|
|0001f760| 2e 68 22 0a 23 65 6e 64 | 69 66 0a 23 69 6e 63 6c |.h".#end|if.#incl|
|0001f770| 75 64 65 20 20 22 73 69 | 67 6e 61 6c 2e 68 22 0a |ude "si|gnal.h".|
|0001f780| 23 69 6e 63 6c 75 64 65 | 20 20 22 6d 6d 75 2e 68 |#include| "mmu.h|
|0001f790| 22 0a 23 69 6e 63 6c 75 | 64 65 20 20 22 66 69 6c |".#inclu|de "fil|
|0001f7a0| 65 2e 68 22 0a 23 69 6e | 63 6c 75 64 65 20 20 22 |e.h".#in|clude "|
|0001f7b0| 69 6e 6f 64 65 2e 68 22 | 0a 23 69 6e 63 6c 75 64 |inode.h"|.#includ|
|0001f7c0| 65 20 20 22 6e 61 6d 65 | 69 2e 68 22 0a 23 69 6e |e "name|i.h".#in|
|0001f7d0| 63 6c 75 64 65 20 20 22 | 6d 61 70 2e 68 22 0a 23 |clude "|map.h".#|
|0001f7e0| 69 6e 63 6c 75 64 65 20 | 20 22 63 61 6c 6c 6f 2e |include | "callo.|
|0001f7f0| 68 22 0a 23 69 6e 63 6c | 75 64 65 20 20 22 6d 6f |h".#incl|ude "mo|
|0001f800| 75 6e 74 2e 68 22 0a 23 | 69 6e 63 6c 75 64 65 20 |unt.h".#|include |
|0001f810| 20 22 76 61 72 2e 68 22 | 0a 23 69 6e 63 6c 75 64 | "var.h"|.#includ|
|0001f820| 65 20 20 22 73 79 73 74 | 6d 2e 68 22 0a 23 69 6e |e "syst|m.h".#in|
|0001f830| 63 6c 75 64 65 20 20 22 | 75 74 73 6e 61 6d 65 2e |clude "|utsname.|
|0001f840| 68 22 0a 0a 23 69 6e 63 | 6c 75 64 65 20 20 22 6c |h"..#inc|lude "l|
|0001f850| 6f 63 6b 69 6e 67 2e 68 | 22 0a 23 69 6e 63 6c 75 |ocking.h|".#inclu|
|0001f860| 64 65 20 20 22 69 70 63 | 2e 68 22 0a 23 69 6e 63 |de "ipc|.h".#inc|
|0001f870| 6c 75 64 65 20 20 22 73 | 64 2e 68 22 0a 23 69 6e |lude "s|d.h".#in|
|0001f880| 63 6c 75 64 65 20 20 22 | 6d 73 67 2e 68 22 0a 23 |clude "|msg.h".#|
|0001f890| 69 6e 63 6c 75 64 65 20 | 20 22 73 65 6d 2e 68 22 |include | "sem.h"|
|0001f8a0| 0a 23 69 6e 63 6c 75 64 | 65 20 20 22 65 6d 61 70 |.#includ|e "emap|
|0001f8b0| 2e 68 22 0a 23 69 6e 63 | 6c 75 64 65 20 20 22 6e |.h".#inc|lude "n|
|0001f8c0| 6d 61 70 2e 68 22 0a 23 | 69 6e 63 6c 75 64 65 20 |map.h".#|include |
|0001f8d0| 20 22 73 78 74 2e 68 22 | 0a 23 69 6e 63 6c 75 64 | "sxt.h"|.#includ|
|0001f8e0| 65 20 20 22 64 69 6f 2e | 68 22 0a 23 69 09 00 06 |e "dio.|h".#i...|
|0001f8f0| 02 00 05 01 02 00 6e 63 | 6c 75 64 65 20 20 22 64 |......nc|lude "d|
|0001f900| 69 73 6b 2e 68 22 0a 0a | 23 69 66 64 65 66 20 4d |isk.h"..|#ifdef M|
|0001f910| 5f 49 33 38 36 0a 23 69 | 6e 63 6c 75 64 65 20 20 |_I386.#i|nclude |
|0001f920| 22 73 74 72 65 61 6d 2e | 68 22 0a 23 69 6e 63 6c |"stream.|h".#incl|
|0001f930| 75 64 65 20 20 22 65 76 | 65 6e 74 2e 68 22 0a 23 |ude "ev|ent.h".#|
|0001f940| 65 6e 64 69 66 0a 0a 69 | 6e 74 20 54 69 6d 65 7a |endif..i|nt Timez|
|0001f950| 6f 6e 65 3d 54 49 4d 45 | 5a 4f 4e 45 3b 0a 69 6e |one=TIME|ZONE;.in|
|0001f960| 74 20 44 73 74 66 6c 61 | 67 3d 44 53 54 46 4c 41 |t Dstfla|g=DSTFLA|
|0001f970| 47 3b 0a 69 6e 74 20 43 | 6d 61 73 6b 3d 43 4d 41 |G;.int C|mask=CMA|
|0001f980| 53 4b 3b 0a 69 6e 74 20 | 64 6d 61 5f 73 69 6e 67 |SK;.int |dma_sing|
|0001f990| 6c 65 3d 44 4d 41 45 58 | 43 4c 3b 0a 0a 23 69 66 |le=DMAEX|CL;..#if|
|0001f9a0| 64 65 66 20 4d 5f 49 33 | 38 36 0a 69 6e 74 20 6d |def M_I3|86.int m|
|0001f9b0| 65 6d 6c 69 6d 3d 4d 45 | 4d 4c 49 4d 3b 0a 69 6e |emlim=ME|MLIM;.in|
|0001f9c0| 74 20 73 77 70 6c 69 6d | 3d 53 57 50 4c 49 4d 3b |t swplim|=SWPLIM;|
|0001f9d0| 0a 23 65 6e 64 69 66 0a | 0a 23 69 66 6e 64 65 66 |.#endif.|.#ifndef|
|0001f9e0| 20 4d 5f 49 33 38 36 0a | 0a 63 68 61 72 20 73 61 | M_I386.|.char sa|
|0001f9f0| 62 75 66 5b 4e 53 41 42 | 55 46 5d 5b 42 53 49 5a |buf[NSAB|UF][BSIZ|
|0001fa00| 45 5d 3b 0a 0a 23 69 66 | 20 4e 42 55 46 3d 3d 30 |E];..#if| NBUF==0|
|0001fa10| 0a 73 74 72 75 63 74 20 | 62 75 66 20 62 75 66 5b |.struct |buf buf[|
|0001fa20| 4d 41 58 42 55 46 5d 3b | 0a 23 65 6c 73 65 0a 73 |MAXBUF];|.#else.s|
|0001fa30| 74 72 75 63 74 20 62 75 | 66 20 62 75 66 5b 4e 42 |truct bu|f buf[NB|
|0001fa40| 55 46 2b 4e 53 41 42 55 | 46 5d 3b 0a 23 65 6e 64 |UF+NSABU|F];.#end|
|0001fa50| 69 66 0a 0a 23 65 6e 64 | 69 66 0a 0a 23 69 66 64 |if..#end|if..#ifd|
|0001fa60| 65 66 20 4d 5f 49 33 38 | 36 0a 73 74 72 75 63 74 |ef M_I38|6.struct|
|0001fa70| 09 70 66 72 65 65 09 70 | 66 72 65 65 6c 69 73 74 |.pfree.p|freelist|
|0001fa80| 3b 09 2f 2a 20 48 65 61 | 64 20 6f 66 20 70 68 79 |;./* Hea|d of phy|
|0001fa90| 73 69 6f 20 68 65 61 64 | 65 72 20 70 6f 6f 6c 20 |sio head|er pool |
|0001faa0| 2a 2f 0a 73 74 72 75 63 | 74 09 62 75 66 09 70 62 |*/.struc|t.buf.pb|
|0001fab0| 75 66 5b 4e 50 42 55 46 | 5d 3b 09 2f 2a 20 50 68 |uf[NPBUF|];./* Ph|
|0001fac0| 79 73 69 63 61 6c 20 69 | 6f 20 68 65 61 64 65 72 |ysical i|o header|
|0001fad0| 20 70 6f 6f 6c 20 2a 2f | 0a 73 74 72 75 63 74 20 | pool */|.struct |
|0001fae0| 20 70 67 73 74 61 74 20 | 20 70 67 73 74 61 74 3b | pgstat | pgstat;|
|0001faf0| 0a 23 65 6e 64 69 09 00 | 07 02 00 90 01 02 00 66 |.#endi..|.......f|
|0001fb00| 0a 0a 73 74 72 75 63 74 | 20 68 62 75 66 20 68 62 |..struct| hbuf hb|
|0001fb10| 75 66 5b 4e 48 42 55 46 | 5d 3b 09 2f 2a 20 62 75 |uf[NHBUF|];./* bu|
|0001fb20| 66 66 65 72 20 68 61 73 | 68 20 74 61 62 6c 65 20 |ffer has|h table |
|0001fb30| 2a 2f 0a 0a 23 69 66 64 | 65 66 20 4d 5f 49 33 38 |*/..#ifd|ef M_I38|
|0001fb40| 36 0a 73 74 72 75 63 74 | 20 66 69 6c 65 20 66 69 |6.struct| file fi|
|0001fb50| 6c 65 5b 4e 46 49 4c 45 | 5d 3b 0a 73 74 72 75 63 |le[NFILE|];.struc|
|0001fb60| 74 20 69 6e 6f 64 65 20 | 69 6e 6f 64 65 5b 4e 49 |t inode |inode[NI|
|0001fb70| 4e 4f 44 45 5d 3b 0a 73 | 74 72 75 63 74 20 6e 61 |NODE];.s|truct na|
|0001fb80| 6d 65 63 61 63 68 65 20 | 6e 61 6d 65 63 61 63 68 |mecache |namecach|
|0001fb90| 65 5b 4e 49 4e 4f 44 45 | 5d 3b 0a 73 68 6f 72 74 |e[NINODE|];.short|
|0001fba0| 20 69 5f 74 78 74 63 6e | 74 5b 4e 49 4e 4f 44 45 | i_txtcn|t[NINODE|
|0001fbb0| 5d 3b 0a 23 65 6c 73 65 | 0a 73 74 72 75 63 74 20 |];.#else|.struct |
|0001fbc0| 66 69 6c 65 20 20 66 61 | 72 20 66 69 6c 65 5b 4e |file fa|r file[N|
|0001fbd0| 46 49 4c 45 5d 3b 0a 73 | 74 72 75 63 74 20 69 6e |FILE];.s|truct in|
|0001fbe0| 6f 64 65 20 66 61 72 20 | 69 6e 6f 64 65 5b 4e 49 |ode far |inode[NI|
|0001fbf0| 4e 4f 44 45 5d 3b 0a 73 | 74 72 75 63 74 20 6e 61 |NODE];.s|truct na|
|0001fc00| 6d 65 63 61 63 68 65 20 | 66 61 72 20 6e 61 6d 65 |mecache |far name|
|0001fc10| 63 61 63 68 65 5b 4e 49 | 4e 4f 44 45 5d 3b 0a 23 |cache[NI|NODE];.#|
|0001fc20| 65 6e 64 69 66 0a 0a 73 | 74 72 75 63 74 20 6c 6f |endif..s|truct lo|
|0001fc30| 63 6b 6c 69 73 74 20 6c | 6f 63 6b 6c 69 73 74 5b |cklist l|ocklist[|
|0001fc40| 4e 46 4c 4f 43 4b 53 5d | 3b 0a 0a 73 74 72 75 63 |NFLOCKS]|;..struc|
|0001fc50| 74 20 73 64 20 73 64 74 | 61 62 5b 4e 53 44 53 45 |t sd sdt|ab[NSDSE|
|0001fc60| 47 53 20 2a 20 4e 53 44 | 53 4c 4f 54 53 5d 3b 0a |GS * NSD|SLOTS];.|
|0001fc70| 73 74 72 75 63 74 20 73 | 68 6d 69 64 5f 65 6e 74 |struct s|hmid_ent|
|0001fc80| 20 73 68 6d 69 64 5f 74 | 61 62 5b 4e 53 44 53 45 | shmid_t|ab[NSDSE|
|0001fc90| 47 53 5d 3b 0a 69 6e 74 | 20 20 20 20 73 68 6d 69 |GS];.int| shmi|
|0001fca0| 64 5f 70 6f 73 3b 0a 73 | 74 72 75 63 74 20 70 72 |d_pos;.s|truct pr|
|0001fcb0| 6f 63 20 70 72 6f 63 5b | 4e 50 52 4f 43 5d 3b 0a |oc proc[|NPROC];.|
|0001fcc0| 23 69 66 6e 64 65 66 20 | 4d 5f 49 33 38 36 0a 73 |#ifndef |M_I386.s|
|0001fcd0| 74 72 75 63 74 20 74 65 | 78 74 20 74 65 78 74 5b |truct te|xt text[|
|0001fce0| 4e 54 45 58 54 5d 3b 0a | 23 65 6e 64 69 66 0a 0a |NTEXT];.|#endif..|
|0001fcf0| 23 69 66 64 65 66 20 4d | 5f 49 33 38 36 0a 73 09 |#ifdef M|_I386.s.|
|0001fd00| 00 08 02 00 c3 01 02 00 | 74 72 75 63 74 20 6d 61 |........|truct ma|
|0001fd10| 70 65 6e 74 20 73 70 74 | 65 6e 74 5b 31 30 30 5d |pent spt|ent[100]|
|0001fd20| 3b 0a 73 74 72 75 63 74 | 20 6d 61 70 20 20 20 20 |;.struct| map |
|0001fd30| 73 70 74 6d 61 70 20 3d | 20 7b 30 2c 20 31 30 30 |sptmap =| {0, 100|
|0001fd40| 2c 20 73 70 74 65 6e 74 | 7d 3b 0a 23 65 6c 73 65 |, sptent|};.#else|
|0001fd50| 0a 73 74 72 75 63 74 20 | 6d 61 70 65 6e 74 20 63 |.struct |mapent c|
|0001fd60| 6f 72 65 65 6e 74 5b 43 | 4d 41 50 53 49 5a 5d 3b |oreent[C|MAPSIZ];|
|0001fd70| 0a 73 74 72 75 63 74 20 | 6d 61 70 20 20 20 20 63 |.struct |map c|
|0001fd80| 6f 72 65 6d 61 70 20 3d | 20 7b 30 2c 20 43 4d 41 |oremap =| {0, CMA|
|0001fd90| 50 53 49 5a 2c 20 63 6f | 72 65 65 6e 74 7d 3b 0a |PSIZ, co|reent};.|
|0001fda0| 73 74 72 75 63 74 20 6d | 61 70 65 6e 74 20 73 77 |struct m|apent sw|
|0001fdb0| 61 70 65 6e 74 5b 53 4d | 41 50 53 49 5a 5d 3b 0a |apent[SM|APSIZ];.|
|0001fdc0| 73 74 72 75 63 74 20 6d | 61 70 20 20 20 20 73 77 |struct m|ap sw|
|0001fdd0| 61 70 6d 61 70 20 3d 20 | 7b 30 2c 20 53 4d 41 50 |apmap = |{0, SMAP|
|0001fde0| 53 49 5a 2c 20 73 77 61 | 70 65 6e 74 7d 3b 0a 23 |SIZ, swa|pent};.#|
|0001fdf0| 65 6e 64 69 66 0a 0a 73 | 74 72 75 63 74 20 63 61 |endif..s|truct ca|
|0001fe00| 6c 6c 6f 20 63 61 6c 6c | 6f 75 74 5b 4e 43 41 4c |llo call|out[NCAL|
|0001fe10| 4c 5d 3b 0a 73 74 72 75 | 63 74 20 63 62 6c 6f 63 |L];.stru|ct cbloc|
|0001fe20| 6b 20 63 66 72 65 65 5b | 4e 43 4c 49 53 54 5d 3b |k cfree[|NCLIST];|
|0001fe30| 0a 73 74 72 75 63 74 20 | 6d 6f 75 6e 74 20 6d 6f |.struct |mount mo|
|0001fe40| 75 6e 74 5b 4e 4d 4f 55 | 4e 54 5d 3b 0a 73 74 72 |unt[NMOU|NT];.str|
|0001fe50| 75 63 74 20 65 6d 61 70 | 20 65 6d 61 70 5b 4e 45 |uct emap| emap[NE|
|0001fe60| 4d 41 50 5d 3b 0a 73 74 | 72 75 63 74 20 6e 6d 61 |MAP];.st|ruct nma|
|0001fe70| 70 20 6e 6d 61 70 5b 4e | 45 4d 41 50 5d 3b 0a 73 |p nmap[N|EMAP];.s|
|0001fe80| 74 72 75 63 74 20 4c 69 | 6e 6b 20 73 78 74 6c 69 |truct Li|nk sxtli|
|0001fe90| 6e 6b 5b 4e 53 58 54 5d | 3b 0a 73 74 72 75 63 74 |nk[NSXT]|;.struct|
|0001fea0| 20 64 69 73 6b 69 6e 66 | 6f 20 64 69 73 6b 69 6e | diskinf|o diskin|
|0001feb0| 66 6f 5b 4e 44 49 53 4b | 5d 3b 0a 0a 69 6e 74 20 |fo[NDISK|];..int |
|0001fec0| 48 7a 3d 48 5a 3b 0a 0a | 2f 2a 20 75 74 73 20 6e |Hz=HZ;..|/* uts n|
|0001fed0| 6f 64 65 20 6e 61 6d 65 | 20 2a 2f 0a 63 68 61 72 |ode name| */.char|
|0001fee0| 20 6e 6f 64 65 5b 53 59 | 53 5f 4e 4d 4c 4e 5d 20 | node[SY|S_NMLN] |
|0001fef0| 3d 20 4e 4f 44 45 3b 0a | 0a 2f 2a 20 6d 65 73 73 |= NODE;.|./* mess|
|0001ff00| 61 67 65 20 66 61 63 69 | 09 00 09 02 00 de 01 02 |age faci|........|
|0001ff10| 00 6c 69 74 79 20 2a 2f | 0a 73 74 72 75 63 74 09 |.lity */|.struct.|
|0001ff20| 6d 61 70 65 6e 74 09 09 | 6d 73 67 65 6e 74 5b 4d |mapent..|msgent[M|
|0001ff30| 53 47 4d 41 50 5d 3b 0a | 73 74 72 75 63 74 09 6d |SGMAP];.|struct.m|
|0001ff40| 61 70 09 09 6d 73 67 6d | 61 70 20 3d 20 7b 30 2c |ap..msgm|ap = {0,|
|0001ff50| 20 4d 53 47 4d 41 50 2c | 20 6d 73 67 65 6e 74 7d | MSGMAP,| msgent}|
|0001ff60| 3b 0a 73 74 72 75 63 74 | 20 20 6d 73 71 69 64 5f |;.struct| msqid_|
|0001ff70| 64 73 09 6d 73 67 71 75 | 65 5b 4d 53 47 4d 4e 49 |ds.msgqu|e[MSGMNI|
|0001ff80| 5d 3b 0a 73 74 72 75 63 | 74 09 6d 73 67 09 09 6d |];.struc|t.msg..m|
|0001ff90| 73 67 68 5b 4d 53 47 54 | 51 4c 5d 3b 0a 73 74 72 |sgh[MSGT|QL];.str|
|0001ffa0| 75 63 74 09 6d 73 67 69 | 6e 66 6f 09 09 6d 73 67 |uct.msgi|nfo..msg|
|0001ffb0| 69 6e 66 6f 20 3d 20 0a | 7b 0a 09 4d 53 47 4d 41 |info = .|{..MSGMA|
|0001ffc0| 50 2c 0a 09 4d 53 47 4d | 41 58 2c 0a 09 4d 53 47 |P,..MSGM|AX,..MSG|
|0001ffd0| 4d 4e 42 2c 0a 09 4d 53 | 47 4d 4e 49 2c 0a 09 4d |MNB,..MS|GMNI,..M|
|0001ffe0| 53 47 53 53 5a 2c 0a 09 | 4d 53 47 54 51 4c 2c 0a |SGSSZ,..|MSGTQL,.|
|0001fff0| 09 4d 53 47 53 45 47 0a | 7d 3b 0a 0a 2f 2a 20 53 |.MSGSEG.|};../* S|
|00020000| 79 73 74 65 6d 20 56 20 | 73 65 6d 61 70 68 6f 72 |ystem V |semaphor|
|00020010| 65 20 66 61 63 69 6c 69 | 74 79 20 2a 2f 0a 73 74 |e facili|ty */.st|
|00020020| 72 75 63 74 09 73 65 6d | 69 64 5f 64 73 09 73 65 |ruct.sem|id_ds.se|
|00020030| 6d 61 5b 53 45 4d 4d 4e | 49 5d 3b 0a 73 74 72 75 |ma[SEMMN|I];.stru|
|00020040| 63 74 09 73 65 6d 09 09 | 73 65 6d 5b 53 45 4d 4d |ct.sem..|sem[SEMM|
|00020050| 4e 53 5d 3b 0a 73 74 72 | 75 63 74 09 6d 61 70 65 |NS];.str|uct.mape|
|00020060| 6e 74 09 09 73 65 6d 65 | 6e 74 5b 53 45 4d 4d 41 |nt..seme|nt[SEMMA|
|00020070| 50 5d 3b 0a 73 74 72 75 | 63 74 09 6d 61 70 09 09 |P];.stru|ct.map..|
|00020080| 73 65 6d 6d 61 70 20 3d | 20 7b 30 2c 20 53 45 4d |semmap =| {0, SEM|
|00020090| 4d 41 50 2c 20 73 65 6d | 65 6e 74 7d 3b 0a 73 74 |MAP, sem|ent};.st|
|000200a0| 72 75 63 74 09 73 65 6d | 5f 75 6e 64 6f 09 2a 73 |ruct.sem|_undo.*s|
|000200b0| 65 6d 5f 75 6e 64 6f 5b | 4e 50 52 4f 43 5d 3b 0a |em_undo[|NPROC];.|
|000200c0| 23 64 65 66 69 6e 65 20 | 53 45 4d 55 53 5a 09 28 |#define |SEMUSZ.(|
|000200d0| 73 69 7a 65 6f 66 28 73 | 74 72 75 63 74 20 73 65 |sizeof(s|truct se|
|000200e0| 6d 5f 75 6e 64 6f 29 20 | 2b 20 73 69 7a 65 6f 66 |m_undo) |+ sizeof|
|000200f0| 28 73 74 72 75 63 74 20 | 75 6e 64 6f 29 20 2a 20 |(struct |undo) * |
|00020100| 53 45 4d 55 4d 45 29 0a | 69 6e 74 09 73 65 6d 75 |SEMUME).|int.semu|
|00020110| 5b 09 00 0a 02 00 56 01 | 02 00 28 28 53 45 4d 55 |[.....V.|..((SEMU|
|00020120| 53 5a 20 2a 20 53 45 4d | 4d 4e 55 29 20 2b 20 4e |SZ * SEM|MNU) + N|
|00020130| 42 50 57 20 2d 20 31 29 | 20 2f 20 4e 42 50 57 5d |BPW - 1)| / NBPW]|
|00020140| 3b 0a 75 6e 69 6f 6e 09 | 0a 7b 0a 09 75 73 68 6f |;.union.|.{..usho|
|00020150| 72 74 09 09 73 65 6d 76 | 61 6c 73 5b 53 45 4d 4d |rt..semv|als[SEMM|
|00020160| 53 4c 5d 3b 0a 09 73 74 | 72 75 63 74 09 09 73 65 |SL];..st|ruct..se|
|00020170| 6d 69 64 5f 64 73 09 64 | 73 3b 0a 09 73 74 72 75 |mid_ds.d|s;..stru|
|00020180| 63 74 09 09 73 65 6d 62 | 75 66 09 09 73 65 6d 6f |ct..semb|uf..semo|
|00020190| 70 73 5b 53 45 4d 4f 50 | 4d 5d 3b 0a 7d 09 73 65 |ps[SEMOP|M];.}.se|
|000201a0| 6d 74 6d 70 3b 0a 73 74 | 72 75 63 74 09 73 65 6d |mtmp;.st|ruct.sem|
|000201b0| 69 6e 66 6f 09 09 73 65 | 6d 69 6e 66 6f 20 3d 0a |info..se|minfo =.|
|000201c0| 7b 0a 09 53 45 4d 4d 41 | 50 2c 0a 09 53 45 4d 4d |{..SEMMA|P,..SEMM|
|000201d0| 4e 49 2c 0a 09 53 45 4d | 4d 4e 53 2c 0a 09 53 45 |NI,..SEM|MNS,..SE|
|000201e0| 4d 4d 4e 55 2c 0a 09 53 | 45 4d 4d 53 4c 2c 0a 09 |MMNU,..S|EMMSL,..|
|000201f0| 53 45 4d 4f 50 4d 2c 0a | 09 53 45 4d 55 4d 45 2c |SEMOPM,.|.SEMUME,|
|00020200| 0a 09 53 45 4d 55 53 5a | 2c 0a 09 53 45 4d 56 4d |..SEMUSZ|,..SEMVM|
|00020210| 58 2c 0a 09 53 45 4d 41 | 45 4d 2c 0a 7d 3b 0a 0a |X,..SEMA|EM,.};..|
|00020220| 23 69 66 64 65 66 20 4d | 5f 49 33 38 36 0a 73 74 |#ifdef M|_I386.st|
|00020230| 72 75 63 74 20 20 73 68 | 6d 69 6e 66 6f 09 09 73 |ruct sh|minfo..s|
|00020240| 68 6d 69 6e 66 6f 33 38 | 36 20 3d 0a 7b 0a 09 53 |hminfo38|6 =.{..S|
|00020250| 48 4d 4d 41 58 2c 0a 09 | 53 48 4d 4d 49 4e 2c 0a |HMMAX,..|SHMMIN,.|
|00020260| 09 53 48 4d 4d 4e 49 2c | 0a 09 53 48 4d 53 45 47 |.SHMMNI,|..SHMSEG|
|00020270| 2c 0a 09 53 48 4d 42 52 | 4b 2c 0a 09 53 48 4d 41 |,..SHMBR|K,..SHMA|
|00020280| 4c 4c 0a 7d 3b 0a 0a 73 | 74 72 75 63 74 20 20 73 |LL.};..s|truct s|
|00020290| 68 6d 69 6e 66 6f 09 09 | 73 68 6d 69 6e 66 6f 32 |hminfo..|shminfo2|
|000202a0| 38 36 20 3d 0a 7b 0a 09 | 30 78 31 30 30 30 30 2c |86 =.{..|0x10000,|
|000202b0| 0a 09 31 2c 0a 09 53 48 | 4d 4d 4e 49 2c 0a 09 53 |..1,..SH|MMNI,..S|
|000202c0| 48 4d 53 45 47 2c 0a 09 | 53 48 4d 42 52 4b 2c 0a |HMSEG,..|SHMBRK,.|
|000202d0| 09 53 48 4d 41 4c 4c 0a | 7d 3b 0a 23 65 6e 64 69 |.SHMALL.|};.#endi|
|000202e0| 66 0a 0a 73 74 72 75 63 | 74 20 76 61 72 20 76 3d |f..struc|t var v=|
|000202f0| 0a 7b 0a 09 4e 42 55 46 | 2c 0a 09 4e 53 41 42 55 |.{..NBUF|,..NSABU|
|00020300| 46 2c 0a 09 4e 48 42 55 | 46 2c 0a 09 4e 48 42 55 |F,..NHBU|F,..NHBU|
|00020310| 46 2d 31 2c 0a 09 4d 41 | 58 42 09 00 0b 02 00 dd |F-1,..MA|XB......|
|00020320| 01 02 00 55 46 2c 0a 09 | 4e 43 41 4c 4c 2c 0a 09 |...UF,..|NCALL,..|
|00020330| 4e 49 4e 4f 44 45 2c 0a | 09 26 69 6e 6f 64 65 5b |NINODE,.|.&inode[|
|00020340| 4e 49 4e 4f 44 45 5d 2c | 0a 09 4e 46 49 4c 45 2c |NINODE],|..NFILE,|
|00020350| 0a 09 26 66 69 6c 65 5b | 4e 46 49 4c 45 5d 2c 0a |..&file[|NFILE],.|
|00020360| 09 4e 4d 4f 55 4e 54 2c | 0a 09 26 6d 6f 75 6e 74 |.NMOUNT,|..&mount|
|00020370| 5b 4e 4d 4f 55 4e 54 5d | 2c 0a 09 4e 50 52 4f 43 |[NMOUNT]|,..NPROC|
|00020380| 2c 0a 09 26 70 72 6f 63 | 5b 4e 50 52 4f 43 5d 2c |,..&proc|[NPROC],|
|00020390| 0a 23 69 66 6e 64 65 66 | 20 4d 5f 49 33 38 36 0a |.#ifndef| M_I386.|
|000203a0| 09 4e 54 45 58 54 2c 0a | 09 26 74 65 78 74 5b 4e |.NTEXT,.|.&text[N|
|000203b0| 54 45 58 54 5d 2c 0a 23 | 65 6e 64 69 66 0a 09 4e |TEXT],.#|endif..N|
|000203c0| 43 4c 49 53 54 2c 0a 09 | 4d 41 58 55 50 52 43 2c |CLIST,..|MAXUPRC,|
|000203d0| 0a 09 4d 41 58 4d 45 4d | 2c 0a 09 4e 46 4c 4f 43 |..MAXMEM|,..NFLOC|
|000203e0| 4b 53 2c 0a 09 4e 53 44 | 53 45 47 53 2c 0a 09 4e |KS,..NSD|SEGS,..N|
|000203f0| 53 44 53 4c 4f 54 53 2c | 0a 09 4d 53 47 4d 41 50 |SDSLOTS,|..MSGMAP|
|00020400| 2c 0a 09 4d 53 47 4d 41 | 58 2c 0a 09 4d 53 47 4d |,..MSGMA|X,..MSGM|
|00020410| 4e 42 2c 0a 09 4d 53 47 | 4d 4e 49 2c 0a 09 4d 53 |NB,..MSG|MNI,..MS|
|00020420| 47 54 51 4c 2c 0a 09 4d | 53 47 53 53 5a 2c 0a 09 |GTQL,..M|SGSSZ,..|
|00020430| 4d 53 47 53 45 47 2c 0a | 09 53 45 4d 4d 41 50 2c |MSGSEG,.|.SEMMAP,|
|00020440| 0a 09 53 45 4d 4d 4e 49 | 2c 0a 09 53 45 4d 4d 4e |..SEMMNI|,..SEMMN|
|00020450| 55 2c 0a 09 53 45 4d 4d | 53 4c 2c 0a 09 53 45 4d |U,..SEMM|SL,..SEM|
|00020460| 4f 50 4d 2c 0a 09 53 45 | 4d 55 4d 45 2c 0a 09 53 |OPM,..SE|MUME,..S|
|00020470| 45 4d 56 4d 58 2c 0a 09 | 53 45 4d 41 45 4d 2c 0a |EMVMX,..|SEMAEM,.|
|00020480| 09 53 45 4d 4d 4e 53 2c | 0a 09 53 45 4d 55 53 5a |.SEMMNS,|..SEMUSZ|
|00020490| 2c 0a 09 4e 53 43 52 4e | 2c 0a 09 4e 50 42 55 46 |,..NSCRN|,..NPBUF|
|000204a0| 2c 0a 09 4e 45 4d 41 50 | 2c 0a 09 4e 53 58 54 2c |,..NEMAP|,..NSXT,|
|000204b0| 0a 23 69 66 64 65 66 20 | 20 4d 5f 49 33 38 36 0a |.#ifdef | M_I386.|
|000204c0| 09 53 48 4d 4d 41 58 2c | 0a 09 53 48 4d 4d 49 4e |.SHMMAX,|..SHMMIN|
|000204d0| 2c 0a 09 53 48 4d 4d 4e | 49 2c 0a 09 53 48 4d 53 |,..SHMMN|I,..SHMS|
|000204e0| 45 47 2c 0a 09 53 48 4d | 42 52 4b 2c 0a 09 53 48 |EG,..SHM|BRK,..SH|
|000204f0| 4d 41 4c 4c 2c 0a 09 4e | 53 44 53 45 47 53 2a 4e |MALL,..N|SDSEGS*N|
|00020500| 53 44 53 4c 4f 54 53 2c | 0a 23 65 6c 73 65 09 2f |SDSLOTS,|.#else./|
|00020510| 2a 20 6e 6f 74 20 79 65 | 74 20 66 6f 72 20 32 38 |* not ye|t for 28|
|00020520| 36 20 2a 09 00 0c 02 00 | e6 01 02 00 2f 0a 09 30 |6 *.....|..../..0|
|00020530| 2c 0a 09 30 2c 0a 09 30 | 2c 0a 09 30 2c 0a 09 30 |,..0,..0|,..0,..0|
|00020540| 2c 0a 09 30 2c 0a 09 30 | 2c 0a 23 65 6e 64 69 66 |,..0,..0|,.#endif|
|00020550| 0a 09 4e 51 55 45 55 45 | 2c 0a 09 4e 53 54 52 45 |..NQUEUE|,..NSTRE|
|00020560| 41 4d 2c 0a 09 4e 42 4c | 4b 38 31 39 32 2c 0a 09 |AM,..NBL|K8192,..|
|00020570| 4e 42 4c 4b 34 30 39 36 | 2c 0a 09 4e 42 4c 4b 32 |NBLK4096|,..NBLK2|
|00020580| 30 34 38 2c 0a 09 4e 42 | 4c 4b 31 30 32 34 2c 0a |048,..NB|LK1024,.|
|00020590| 09 4e 42 4c 4b 35 31 32 | 2c 0a 09 4e 42 4c 4b 32 |.NBLK512|,..NBLK2|
|000205a0| 35 36 2c 0a 09 4e 42 4c | 4b 31 32 38 2c 0a 09 4e |56,..NBL|K128,..N|
|000205b0| 42 4c 4b 36 34 2c 0a 09 | 4e 42 4c 4b 33 32 2c 0a |BLK64,..|NBLK32,.|
|000205c0| 09 4e 42 4c 4b 31 36 2c | 0a 09 4e 42 4c 4b 34 2c |.NBLK16,|..NBLK4,|
|000205d0| 0a 09 4e 44 49 53 4b 2c | 0a 09 45 56 51 55 45 55 |..NDISK,|..EVQUEU|
|000205e0| 45 53 2c 0a 09 45 56 44 | 45 56 53 2c 0a 09 45 56 |ES,..EVD|EVS,..EV|
|000205f0| 44 45 56 53 50 45 52 51 | 2c 0a 09 53 43 52 4e 4d |DEVSPERQ|,..SCRNM|
|00020600| 45 4d 2c 0a 09 4b 42 54 | 59 50 45 2c 0a 7d 3b 0a |EM,..KBT|YPE,.};.|
|00020610| 0a 23 69 66 64 65 66 20 | 4d 5f 49 33 38 36 0a 2f |.#ifdef |M_I386./|
|00020620| 2a 20 53 74 72 65 61 6d | 73 20 44 61 74 61 20 53 |* Stream|s Data S|
|00020630| 74 72 75 63 74 75 72 65 | 73 20 61 6e 64 20 74 75 |tructure|s and tu|
|00020640| 6e 65 61 62 6c 65 20 76 | 61 72 69 61 62 6c 65 73 |neable v|ariables|
|00020650| 20 2a 2f 0a 73 74 72 75 | 63 74 20 71 75 65 75 65 | */.stru|ct queue|
|00020660| 20 71 75 65 75 65 5b 4e | 51 55 45 55 45 5d 3b 0a | queue[N|QUEUE];.|
|00020670| 73 74 72 75 63 74 20 73 | 74 64 61 74 61 20 73 74 |struct s|tdata st|
|00020680| 72 65 61 6d 73 5b 4e 53 | 54 52 45 41 4d 5d 3b 0a |reams[NS|TREAM];.|
|00020690| 6d 62 6c 6b 5f 74 20 6d | 62 6c 6f 63 6b 5b 4e 4d |mblk_t m|block[NM|
|000206a0| 42 4c 4f 43 4b 5d 3b 0a | 64 62 6c 6b 5f 74 20 64 |BLOCK];.|dblk_t d|
|000206b0| 62 6c 6f 63 6b 5b 4e 44 | 42 4c 4f 43 4b 5d 3b 0a |block[ND|BLOCK];.|
|000206c0| 73 74 72 75 63 74 20 6c | 69 6e 6b 62 6c 6b 20 6c |struct l|inkblk l|
|000206d0| 69 6e 6b 62 6c 6b 5b 4e | 4d 55 58 4c 49 4e 4b 5d |inkblk[N|MUXLINK]|
|000206e0| 3b 0a 73 74 72 75 63 74 | 20 73 74 72 65 76 65 6e |;.struct| streven|
|000206f0| 74 20 73 74 72 65 76 65 | 6e 74 5b 4e 53 54 52 45 |t streve|nt[NSTRE|
|00020700| 56 45 4e 54 5d 3b 0a 69 | 6e 74 20 6e 6d 62 6c 6f |VENT];.i|nt nmblo|
|00020710| 63 6b 20 3d 20 4e 4d 42 | 4c 4f 43 4b 3b 0a 69 6e |ck = NMB|LOCK;.in|
|00020720| 74 20 6e 6d 75 78 6c 69 | 6e 6b 20 3d 09 00 0d 02 |t nmuxli|nk =....|
|00020730| 00 e3 01 02 00 20 4e 4d | 55 58 4c 49 4e 4b 3b 0a |..... NM|UXLINK;.|
|00020740| 69 6e 74 20 6e 73 74 72 | 70 75 73 68 20 3d 20 4e |int nstr|push = N|
|00020750| 53 54 52 50 55 53 48 3b | 0a 69 6e 74 20 6e 73 74 |STRPUSH;|.int nst|
|00020760| 72 65 76 65 6e 74 20 3d | 20 4e 53 54 52 45 56 45 |revent =| NSTREVE|
|00020770| 4e 54 3b 0a 69 6e 74 20 | 6d 61 78 73 65 70 67 63 |NT;.int |maxsepgc|
|00020780| 6e 74 20 3d 20 4d 41 58 | 53 45 50 47 43 4e 54 3b |nt = MAX|SEPGCNT;|
|00020790| 0a 69 6e 74 20 73 74 72 | 6d 73 67 73 7a 20 3d 20 |.int str|msgsz = |
|000207a0| 53 54 52 4d 53 47 53 5a | 3b 0a 69 6e 74 20 73 74 |STRMSGSZ|;.int st|
|000207b0| 72 63 74 6c 73 7a 20 3d | 20 53 54 52 43 54 4c 53 |rctlsz =| STRCTLS|
|000207c0| 5a 3b 0a 63 68 61 72 20 | 73 74 72 6c 6f 66 72 61 |Z;.char |strlofra|
|000207d0| 63 20 3d 20 53 54 52 4c | 4f 46 52 41 43 3b 0a 63 |c = STRL|OFRAC;.c|
|000207e0| 68 61 72 20 73 74 72 6d | 65 64 66 72 61 63 20 3d |har strm|edfrac =|
|000207f0| 20 53 54 52 4d 45 44 46 | 52 41 43 3b 0a 23 65 6e | STRMEDF|RAC;.#en|
|00020800| 64 69 66 20 2f 2a 20 4d | 5f 49 33 38 36 20 2a 2f |dif /* M|_I386 */|
|00020810| 0a 0a 2f 2a 20 45 76 65 | 6e 74 20 64 72 69 76 65 |../* Eve|nt drive|
|00020820| 72 2f 6c 69 6e 65 20 64 | 69 73 63 69 70 6c 69 6e |r/line d|isciplin|
|00020830| 65 20 64 61 74 61 20 73 | 74 72 75 63 74 75 72 65 |e data s|tructure|
|00020840| 73 20 2a 2f 0a 73 74 72 | 75 63 74 20 65 76 6c 64 |s */.str|uct evld|
|00020850| 63 68 61 6e 20 65 76 6c | 64 63 68 61 6e 5b 45 56 |chan evl|dchan[EV|
|00020860| 44 45 56 53 5d 3b 0a 73 | 74 72 75 63 74 20 65 76 |DEVS];.s|truct ev|
|00020870| 64 65 76 09 65 76 64 65 | 76 69 63 65 5b 45 56 44 |dev.evde|vice[EVD|
|00020880| 45 56 53 5d 3b 0a 73 74 | 72 75 63 74 20 65 76 63 |EVS];.st|ruct evc|
|00020890| 68 61 6e 09 65 76 63 68 | 61 6e 6e 65 6c 5b 45 56 |han.evch|annel[EV|
|000208a0| 51 55 45 55 45 53 5d 3b | 0a 0a 63 68 61 72 09 65 |QUEUES];|..char.e|
|000208b0| 76 64 69 6e 64 65 78 74 | 61 62 5b 45 56 51 55 45 |vdindext|ab[EVQUE|
|000208c0| 55 45 53 20 2a 20 45 56 | 44 45 56 53 50 45 52 51 |UES * EV|DEVSPERQ|
|000208d0| 5d 3b 0a 63 68 61 72 09 | 2a 65 76 64 69 6e 64 65 |];.char.|*evdinde|
|000208e0| 78 5b 45 56 51 55 45 55 | 45 53 5d 3b 0a 72 75 63 |x[EVQUEU|ES];.ruc|
|000208f0| 74 20 73 74 72 65 76 65 | 6e 74 20 73 74 72 65 76 |t streve|nt strev|
|00020900| 65 6e 74 5b 4e 53 54 52 | 45 56 45 4e 54 5d 3b 0a |ent[NSTR|EVENT];.|
|00020910| 69 6e 74 20 6e 6d 62 6c | 6f 63 6b 20 3d 20 4e 4d |int nmbl|ock = NM|
|00020920| 42 4c 4f 43 4b 3b 0a 69 | 6e 74 20 6e 6d 75 78 6c |BLOCK;.i|nt nmuxl|
|00020930| 69 6e 6b 20 3d 09 00 0e | 02 00 4d 5f 00 02 00 1a |ink =...|..M_....|
|00020940| 2e 2f 75 73 72 2f 69 6e | 63 6c 75 64 65 2f 73 79 |./usr/in|clude/sy|
|00020950| 73 2f 73 69 67 6e 61 6c | 2e 68 01 25 00 00 00 38 |s/signal|.h.%...8|
|00020960| 20 20 20 34 34 34 20 00 | 20 20 20 20 20 30 20 00 | 444 .| 0 .|
|00020970| 20 20 20 20 20 30 20 00 | 20 20 20 20 20 20 20 34 | 0 .| 4|
|00020980| 31 37 33 20 20 34 32 37 | 37 36 31 35 36 36 37 20 |173 427|7615667 |
|00020990| 20 31 30 36 37 31 00 20 | 01 b2 00 00 09 00 0f 02 | 10671. |........|
|000209a0| 00 a5 01 02 00 2f 2a 0a | 20 2a 09 40 28 23 29 20 |...../*.| *.@(#) |
|000209b0| 73 69 67 6e 61 6c 2e 68 | 20 32 2e 34 20 38 38 2f |signal.h| 2.4 88/|
|000209c0| 30 38 2f 30 39 20 0a 20 | 2a 0a 20 2a 09 43 6f 70 |08/09 . |*. *.Cop|
|000209d0| 79 72 69 67 68 74 20 28 | 43 29 20 54 68 65 20 53 |yright (|C) The S|
|000209e0| 61 6e 74 61 20 43 72 75 | 7a 20 4f 70 65 72 61 74 |anta Cru|z Operat|
|000209f0| 69 6f 6e 2c 20 31 39 38 | 34 2c 20 31 39 38 35 2c |ion, 198|4, 1985,|
|00020a00| 20 31 39 38 36 2c 20 31 | 39 38 37 2c 20 31 39 38 | 1986, 1|987, 198|
|00020a10| 38 2e 0a 20 2a 09 43 6f | 70 79 72 69 67 68 74 20 |8.. *.Co|pyright |
|00020a20| 28 43 29 20 4d 69 63 72 | 6f 73 6f 66 74 20 43 6f |(C) Micr|osoft Co|
|00020a30| 72 70 6f 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |rporatio|n, 1984,|
|00020a40| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|00020a50| 37 2c 20 31 39 38 38 2e | 0a 20 2a 09 54 68 69 73 |7, 1988.|. *.This|
|00020a60| 20 4d 6f 64 75 6c 65 20 | 63 6f 6e 74 61 69 6e 73 | Module |contains|
|00020a70| 20 50 72 6f 70 72 69 65 | 74 61 72 79 20 49 6e 66 | Proprie|tary Inf|
|00020a80| 6f 72 6d 61 74 69 6f 6e | 20 6f 66 0a 20 2a 09 54 |ormation| of. *.T|
|00020a90| 68 65 20 53 61 6e 74 61 | 20 43 72 75 7a 20 4f 70 |he Santa| Cruz Op|
|00020aa0| 65 72 61 74 69 6f 6e 2c | 20 4d 69 63 72 6f 73 6f |eration,| Microso|
|00020ab0| 66 74 20 43 6f 72 70 6f | 72 61 74 69 6f 6e 0a 20 |ft Corpo|ration. |
|00020ac0| 2a 09 61 6e 64 20 41 54 | 26 54 2c 20 61 6e 64 20 |*.and AT|&T, and |
|00020ad0| 73 68 6f 75 6c 64 20 62 | 65 20 74 72 65 61 74 65 |should b|e treate|
|00020ae0| 64 20 61 73 20 43 6f 6e | 66 69 64 65 6e 74 69 61 |d as Con|fidentia|
|00020af0| 6c 2e 0a 20 2a 2f 0a 0a | 2f 2a 2a 2a 09 73 69 67 |l.. */..|/***.sig|
|00020b00| 6e 61 6c 2e 68 0a 20 2a | 2f 0a 0a 2f 2a 0a 20 2a |nal.h. *|/../*. *|
|00020b10| 20 4e 6f 20 6d 6f 72 65 | 20 74 68 61 6e 20 33 32 | No more| than 32|
|00020b20| 20 73 69 67 6e 61 6c 73 | 20 28 31 2d 33 32 29 20 | signals| (1-32) |
|00020b30| 62 65 63 61 75 73 65 20 | 74 68 65 79 20 61 72 65 |because |they are|
|00020b40| 0a 20 2a 20 73 74 6f 72 | 65 64 20 69 6e 20 62 69 |. * stor|ed in bi|
|00020b50| 74 73 20 69 6e 20 61 20 | 6c 6f 6e 67 2e 0a 20 2a |ts in a |long.. *|
|00020b60| 2f 0a 0a 23 64 65 66 69 | 6e 65 09 53 49 47 48 55 |/..#defi|ne.SIGHU|
|00020b70| 50 09 31 09 2f 2a 20 68 | 61 6e 67 75 70 20 2a 2f |P.1./* h|angup */|
|00020b80| 0a 23 64 65 66 69 6e 65 | 09 53 49 47 49 4e 54 09 |.#define|.SIGINT.|
|00020b90| 32 09 2f 2a 20 69 6e 74 | 65 72 72 75 70 74 20 28 |2./* int|errupt (|
|00020ba0| 72 75 62 6f 75 0f 09 01 | 1a 09 01 01 02 00 64 01 |rubou...|......d.|
|00020bb0| 02 00 74 29 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |..t) */.|#define.|
|00020bc0| 53 49 47 51 55 49 54 09 | 33 09 2f 2a 20 71 75 69 |SIGQUIT.|3./* qui|
|00020bd0| 74 20 28 41 53 43 49 49 | 20 46 53 29 20 2a 2f 0a |t (ASCII| FS) */.|
|00020be0| 23 64 65 66 69 6e 65 09 | 53 49 47 49 4c 4c 09 34 |#define.|SIGILL.4|
|00020bf0| 09 2f 2a 20 69 6c 6c 65 | 67 61 6c 20 69 6e 73 74 |./* ille|gal inst|
|00020c00| 72 75 63 74 69 6f 6e 20 | 28 6e 6f 74 20 72 65 73 |ruction |(not res|
|00020c10| 65 74 20 77 68 65 6e 20 | 63 61 75 67 68 74 29 20 |et when |caught) |
|00020c20| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 53 49 47 54 52 |*/.#defi|ne.SIGTR|
|00020c30| 41 50 09 35 09 2f 2a 20 | 74 72 61 63 65 20 74 72 |AP.5./* |trace tr|
|00020c40| 61 70 20 28 6e 6f 74 20 | 72 65 73 65 74 20 77 68 |ap (not |reset wh|
|00020c50| 65 6e 20 63 61 75 67 68 | 74 29 20 2a 2f 0a 23 64 |en caugh|t) */.#d|
|00020c60| 65 66 69 6e 65 09 53 49 | 47 49 4f 54 09 36 09 2f |efine.SI|GIOT.6./|
|00020c70| 2a 20 49 4f 54 20 69 6e | 73 74 72 75 63 74 69 6f |* IOT in|structio|
|00020c80| 6e 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 53 49 47 |n */.#de|fine.SIG|
|00020c90| 41 42 52 54 09 53 49 47 | 49 4f 54 0a 23 64 65 66 |ABRT.SIG|IOT.#def|
|00020ca0| 69 6e 65 09 53 49 47 45 | 4d 54 09 37 09 2f 2a 20 |ine.SIGE|MT.7./* |
|00020cb0| 45 4d 54 20 69 6e 73 74 | 72 75 63 74 69 6f 6e 20 |EMT inst|ruction |
|00020cc0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 53 49 47 46 50 |*/.#defi|ne.SIGFP|
|00020cd0| 45 09 38 09 2f 2a 20 66 | 6c 6f 61 74 69 6e 67 20 |E.8./* f|loating |
|00020ce0| 70 6f 69 6e 74 20 65 78 | 63 65 70 74 69 6f 6e 20 |point ex|ception |
|00020cf0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 53 49 47 4b 49 |*/.#defi|ne.SIGKI|
|00020d00| 4c 4c 09 39 09 2f 2a 20 | 6b 69 6c 6c 20 28 63 61 |LL.9./* |kill (ca|
|00020d10| 6e 6e 6f 74 20 62 65 20 | 63 61 75 67 68 74 20 6f |nnot be |caught o|
|00020d20| 72 20 69 67 6e 6f 72 65 | 64 29 20 2a 2f 0a 23 64 |r ignore|d) */.#d|
|00020d30| 65 66 69 6e 65 09 53 49 | 47 42 55 53 09 31 30 09 |efine.SI|GBUS.10.|
|00020d40| 2f 2a 20 62 75 73 20 65 | 72 72 6f 72 20 2a 2f 0a |/* bus e|rror */.|
|00020d50| 23 64 65 66 69 6e 65 09 | 53 49 47 53 45 47 56 09 |#define.|SIGSEGV.|
|00020d60| 31 31 09 2f 2a 20 73 65 | 67 6d 65 6e 74 61 74 69 |11./* se|gmentati|
|00020d70| 6f 6e 20 76 69 6f 6c 61 | 74 69 6f 6e 20 2a 2f 0a |on viola|tion */.|
|00020d80| 23 64 65 66 69 6e 65 09 | 53 49 47 53 59 53 09 31 |#define.|SIGSYS.1|
|00020d90| 32 09 2f 2a 20 62 61 64 | 20 61 72 67 75 6d 65 6e |2./* bad| argumen|
|00020da0| 74 20 74 6f 20 73 79 73 | 74 65 6d 20 63 61 6c 6c |t to sys|tem call|
|00020db0| 20 2a 09 01 02 02 00 66 | 01 02 00 2f 0a 23 64 65 | *.....f|.../.#de|
|00020dc0| 66 69 6e 65 09 53 49 47 | 50 49 50 45 09 31 33 09 |fine.SIG|PIPE.13.|
|00020dd0| 2f 2a 20 77 72 69 74 65 | 20 6f 6e 20 61 20 70 69 |/* write| on a pi|
|00020de0| 70 65 20 77 69 74 68 20 | 6e 6f 20 6f 6e 65 20 74 |pe with |no one t|
|00020df0| 6f 20 72 65 61 64 20 69 | 74 20 2a 2f 0a 23 64 65 |o read i|t */.#de|
|00020e00| 66 69 6e 65 09 53 49 47 | 41 4c 52 4d 09 31 34 09 |fine.SIG|ALRM.14.|
|00020e10| 2f 2a 20 61 6c 61 72 6d | 20 63 6c 6f 63 6b 20 2a |/* alarm| clock *|
|00020e20| 2f 0a 23 64 65 66 69 6e | 65 09 53 49 47 54 45 52 |/.#defin|e.SIGTER|
|00020e30| 4d 09 31 35 09 2f 2a 20 | 73 6f 66 74 77 61 72 65 |M.15./* |software|
|00020e40| 20 74 65 72 6d 69 6e 61 | 74 69 6f 6e 20 73 69 67 | termina|tion sig|
|00020e50| 6e 61 6c 20 66 72 6f 6d | 20 6b 69 6c 6c 20 2a 2f |nal from| kill */|
|00020e60| 0a 23 64 65 66 69 6e 65 | 09 53 49 47 55 53 52 31 |.#define|.SIGUSR1|
|00020e70| 09 31 36 09 2f 2a 20 75 | 73 65 72 20 64 65 66 69 |.16./* u|ser defi|
|00020e80| 6e 65 64 20 73 69 67 6e | 61 6c 20 31 20 2a 2f 0a |ned sign|al 1 */.|
|00020e90| 23 64 65 66 69 6e 65 09 | 53 49 47 55 53 52 32 09 |#define.|SIGUSR2.|
|00020ea0| 31 37 09 2f 2a 20 75 73 | 65 72 20 64 65 66 69 6e |17./* us|er defin|
|00020eb0| 65 64 20 73 69 67 6e 61 | 6c 20 32 20 2a 2f 0a 23 |ed signa|l 2 */.#|
|00020ec0| 64 65 66 69 6e 65 09 53 | 49 47 43 4c 44 09 31 38 |define.S|IGCLD.18|
|00020ed0| 09 2f 2a 20 64 65 61 74 | 68 20 6f 66 20 61 20 63 |./* deat|h of a c|
|00020ee0| 68 69 6c 64 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |hild */.|#define.|
|00020ef0| 53 49 47 50 57 52 09 31 | 39 09 2f 2a 20 70 6f 77 |SIGPWR.1|9./* pow|
|00020f00| 65 72 2d 66 61 69 6c 20 | 72 65 73 74 61 72 74 20 |er-fail |restart |
|00020f10| 2a 2f 0a 0a 23 69 66 6e | 64 65 66 20 4d 5f 49 33 |*/..#ifn|def M_I3|
|00020f20| 38 36 0a 23 64 65 66 69 | 6e 65 09 4e 53 49 47 09 |86.#defi|ne.NSIG.|
|00020f30| 32 30 0a 23 65 6c 73 65 | 0a 23 64 65 66 69 6e 65 |20.#else|.#define|
|00020f40| 20 53 49 47 50 4f 4c 4c | 20 32 30 09 2f 2a 20 41 | SIGPOLL| 20./* A|
|00020f50| 20 70 6f 6c 6c 65 64 20 | 65 76 65 6e 74 20 6f 63 | polled |event oc|
|00020f60| 75 72 72 65 64 20 2a 2f | 0a 23 64 65 66 69 6e 65 |urred */|.#define|
|00020f70| 09 4e 53 49 47 09 32 31 | 0a 23 65 6e 64 69 66 0a |.NSIG.21|.#endif.|
|00020f80| 0a 23 64 65 66 69 6e 65 | 20 4d 41 58 53 49 47 09 |.#define| MAXSIG.|
|00020f90| 33 32 09 2f 2a 20 73 69 | 7a 65 20 6f 66 20 75 5f |32./* si|ze of u_|
|00020fa0| 73 69 67 6e 61 6c 5b 5d | 2c 20 4e 53 49 47 2d 31 |signal[]|, NSIG-1|
|00020fb0| 20 3c 3d 20 4d 41 58 53 | 49 47 2a 09 01 03 02 00 | <= MAXS|IG*.....|
|00020fc0| ef 01 02 00 2f 0a 09 09 | 09 2f 2a 20 4d 41 58 53 |..../...|./* MAXS|
|00020fd0| 49 47 20 69 73 20 6c 61 | 72 67 65 72 20 74 68 61 |IG is la|rger tha|
|00020fe0| 6e 20 77 65 20 6e 65 65 | 64 20 6e 6f 77 2e 20 2a |n we nee|d now. *|
|00020ff0| 2f 0a 09 09 09 2f 2a 20 | 49 6e 20 74 68 65 20 66 |/..../* |In the f|
|00021000| 75 74 75 72 65 2c 20 77 | 65 20 63 61 6e 20 61 64 |uture, w|e can ad|
|00021010| 64 20 6d 6f 72 65 20 73 | 69 67 6e 61 6c 20 2a 2f |d more s|ignal */|
|00021020| 0a 09 09 09 2f 2a 20 6e | 75 6d 62 65 72 20 77 69 |..../* n|umber wi|
|00021030| 74 68 6f 75 74 20 63 68 | 61 6e 67 69 6e 67 20 75 |thout ch|anging u|
|00021040| 73 65 72 2e 68 20 2a 2f | 0a 0a 23 69 66 64 65 66 |ser.h */|..#ifdef|
|00021050| 20 6c 69 6e 74 0a 23 64 | 65 66 69 6e 65 20 53 49 | lint.#d|efine SI|
|00021060| 47 5f 45 52 52 20 28 76 | 6f 69 64 28 2a 29 28 29 |G_ERR (v|oid(*)()|
|00021070| 29 30 0a 23 65 6c 73 65 | 0a 23 64 65 66 69 6e 65 |)0.#else|.#define|
|00021080| 20 53 49 47 5f 45 52 52 | 09 28 76 6f 69 64 28 2a | SIG_ERR|.(void(*|
|00021090| 29 28 29 29 2d 31 0a 23 | 65 6e 64 69 66 0a 0a 23 |)())-1.#|endif..#|
|000210a0| 64 65 66 69 6e 65 09 53 | 49 47 5f 44 46 4c 09 28 |define.S|IG_DFL.(|
|000210b0| 69 6e 74 20 28 2a 29 28 | 29 29 30 0a 0a 23 69 66 |int (*)(|))0..#if|
|000210c0| 64 65 66 09 6c 69 6e 74 | 0a 23 64 65 66 69 6e 65 |def.lint|.#define|
|000210d0| 09 53 49 47 5f 49 47 4e | 09 28 69 6e 74 20 28 2a |.SIG_IGN|.(int (*|
|000210e0| 29 28 29 29 30 0a 23 65 | 6c 73 65 0a 23 64 65 66 |)())0.#e|lse.#def|
|000210f0| 69 6e 65 09 53 49 47 5f | 49 47 4e 09 28 69 6e 74 |ine.SIG_|IGN.(int|
|00021100| 20 28 2a 29 28 29 29 31 | 0a 23 65 6e 64 69 66 0a | (*)())1|.#endif.|
|00021110| 23 69 66 20 6c 69 6e 74 | 0a 23 64 65 66 69 6e 65 |#if lint|.#define|
|00021120| 20 53 49 47 5f 48 4f 4c | 44 20 28 76 6f 69 64 28 | SIG_HOL|D (void(|
|00021130| 2a 29 28 29 29 30 0a 23 | 65 6c 73 65 0a 23 64 65 |*)())0.#|else.#de|
|00021140| 66 69 6e 65 20 53 49 47 | 5f 48 4f 4c 44 20 28 76 |fine SIG|_HOLD (v|
|00021150| 6f 69 64 28 2a 29 28 29 | 29 32 0a 23 65 6e 64 69 |oid(*)()|)2.#endi|
|00021160| 66 0a 0a 2f 2a 20 54 68 | 65 20 66 6f 6c 6c 6f 77 |f../* Th|e follow|
|00021170| 69 6e 67 20 64 65 66 69 | 6e 69 74 69 6f 6e 73 20 |ing defi|nitions |
|00021180| 61 72 65 20 6f 6e 6c 79 | 20 75 73 65 64 20 62 79 |are only| used by|
|00021190| 20 6b 65 72 6e 65 6c 20 | 2a 2f 0a 23 69 66 64 65 | kernel |*/.#ifde|
|000211a0| 66 20 4d 5f 4b 45 52 4e | 45 4c 0a 23 64 65 66 69 |f M_KERN|EL.#defi|
|000211b0| 6e 65 20 53 49 47 4e 4f | 5f 4d 41 53 4b 09 30 78 |ne SIGNO|_MASK.0x|
|000211c0| 66 66 0a 23 09 01 04 02 | 00 63 01 02 00 64 65 66 |ff.#....|.c...def|
|000211d0| 69 6e 65 20 53 49 47 44 | 45 46 45 52 09 30 78 31 |ine SIGD|EFER.0x1|
|000211e0| 30 30 0a 23 64 65 66 69 | 6e 65 20 53 49 47 48 4f |00.#defi|ne SIGHO|
|000211f0| 4c 44 09 09 30 78 32 30 | 30 0a 23 64 65 66 69 6e |LD..0x20|0.#defin|
|00021200| 65 20 53 49 47 52 45 4c | 53 45 09 30 78 34 30 30 |e SIGREL|SE.0x400|
|00021210| 0a 23 64 65 66 69 6e 65 | 20 53 49 47 49 47 4e 4f |.#define| SIGIGNO|
|00021220| 52 45 09 30 78 38 30 30 | 0a 23 64 65 66 69 6e 65 |RE.0x800|.#define|
|00021230| 20 53 49 47 50 41 55 53 | 45 09 30 78 31 30 30 30 | SIGPAUS|E.0x1000|
|00021240| 0a 23 65 6e 64 69 66 0a | 75 73 65 72 2e 68 20 2a |.#endif.|user.h *|
|00021250| 2f 0a 0a 23 69 66 64 65 | 66 20 6c 69 6e 74 0a 23 |/..#ifde|f lint.#|
|00021260| 64 65 66 69 6e 65 20 53 | 49 47 5f 45 52 52 20 28 |define S|IG_ERR (|
|00021270| 76 6f 69 64 28 2a 29 28 | 29 29 30 0a 23 65 6c 73 |void(*)(|))0.#els|
|00021280| 65 0a 23 64 65 66 69 6e | 65 20 53 49 47 5f 45 52 |e.#defin|e SIG_ER|
|00021290| 52 09 28 76 6f 69 64 28 | 2a 29 28 29 29 2d 31 0a |R.(void(|*)())-1.|
|000212a0| 23 65 6e 64 69 66 0a 0a | 23 64 65 66 69 6e 65 09 |#endif..|#define.|
|000212b0| 53 49 47 5f 44 46 4c 09 | 28 69 6e 74 20 28 2a 29 |SIG_DFL.|(int (*)|
|000212c0| 28 29 29 30 0a 0a 23 69 | 66 64 65 66 09 6c 69 6e |())0..#i|fdef.lin|
|000212d0| 74 0a 23 64 65 66 69 6e | 65 09 53 49 47 5f 49 47 |t.#defin|e.SIG_IG|
|000212e0| 4e 09 28 69 6e 74 20 28 | 2a 29 28 29 29 30 0a 23 |N.(int (|*)())0.#|
|000212f0| 65 6c 73 65 0a 23 64 65 | 66 69 6e 65 09 53 49 47 |else.#de|fine.SIG|
|00021300| 5f 49 47 4e 09 28 69 6e | 74 20 28 2a 29 28 29 29 |_IGN.(in|t (*)())|
|00021310| 31 0a 23 65 6e 64 69 66 | 0a 23 69 66 20 6c 69 6e |1.#endif|.#if lin|
|00021320| 74 0a 23 64 65 66 69 6e | 65 20 53 49 47 5f 48 4f |t.#defin|e SIG_HO|
|00021330| 4c 44 20 28 76 6f 69 64 | 28 2a 29 28 29 29 30 0a |LD (void|(*)())0.|
|00021340| 23 65 6c 73 65 0a 23 64 | 65 66 69 6e 65 20 53 49 |#else.#d|efine SI|
|00021350| 47 5f 48 4f 4c 44 20 28 | 76 6f 69 64 28 2a 29 28 |G_HOLD (|void(*)(|
|00021360| 29 29 32 0a 23 65 6e 64 | 69 66 0a 0a 2f 2a 20 54 |))2.#end|if../* T|
|00021370| 68 65 20 66 6f 6c 6c 6f | 77 69 6e 67 20 64 65 66 |he follo|wing def|
|00021380| 69 6e 69 74 69 6f 6e 73 | 20 61 72 65 20 6f 6e 6c |initions| are onl|
|00021390| 79 20 75 73 65 64 20 62 | 79 20 6b 65 72 6e 65 6c |y used b|y kernel|
|000213a0| 20 2a 2f 0a 23 69 66 64 | 65 66 20 4d 5f 4b 45 52 | */.#ifd|ef M_KER|
|000213b0| 4e 45 4c 0a 23 64 65 66 | 69 6e 65 20 53 49 47 4e |NEL.#def|ine SIGN|
|000213c0| 4f 5f 4d 41 53 4b 09 30 | 78 66 66 0a 23 09 01 05 |O_MASK.0|xff.#...|
|000213d0| 02 00 93 5d 00 02 00 17 | 2e 2f 75 73 72 2f 69 6e |...]....|./usr/in|
|000213e0| 63 6c 75 64 65 2f 73 79 | 73 2f 73 68 6d 2e 68 01 |clude/sy|s/shm.h.|
|000213f0| 26 00 00 00 39 00 20 20 | 20 34 34 34 20 00 20 20 |&...9. | 444 . |
|00021400| 20 20 20 30 20 00 20 20 | 20 20 20 30 20 00 20 20 | 0 . | 0 . |
|00021410| 20 20 20 20 20 32 36 35 | 37 20 20 34 32 34 34 33 | 265|7 42443|
|00021420| 34 30 31 35 34 20 20 31 | 30 31 36 34 00 20 01 b2 |40154 1|0164. ..|
|00021430| 00 00 09 01 06 02 00 99 | 01 02 00 2f 2a 0a 20 2a |........|.../*. *|
|00021440| 09 40 28 23 29 20 73 68 | 6d 2e 68 20 32 2e 32 20 |.@(#) sh|m.h 2.2 |
|00021450| 38 38 2f 30 35 2f 31 38 | 20 0a 20 2a 0a 20 2a 09 |88/05/18| . *. *.|
|00021460| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 54 68 |Copyrigh|t (C) Th|
|00021470| 65 20 53 61 6e 74 61 20 | 43 72 75 7a 20 4f 70 65 |e Santa |Cruz Ope|
|00021480| 72 61 74 69 6f 6e 2c 20 | 31 39 38 34 2c 20 31 39 |ration, |1984, 19|
|00021490| 38 35 2c 20 31 39 38 36 | 2c 20 31 39 38 37 2c 20 |85, 1986|, 1987, |
|000214a0| 31 39 38 38 2e 0a 20 2a | 09 43 6f 70 79 72 69 67 |1988.. *|.Copyrig|
|000214b0| 68 74 20 28 43 29 20 4d | 69 63 72 6f 73 6f 66 74 |ht (C) M|icrosoft|
|000214c0| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 2c 20 31 39 | Corpora|tion, 19|
|000214d0| 38 34 2c 20 31 39 38 35 | 2c 20 31 39 38 36 2c 20 |84, 1985|, 1986, |
|000214e0| 31 39 38 37 2c 20 31 39 | 38 38 2e 0a 20 2a 09 54 |1987, 19|88.. *.T|
|000214f0| 68 69 73 20 4d 6f 64 75 | 6c 65 20 63 6f 6e 74 61 |his Modu|le conta|
|00021500| 69 6e 73 20 50 72 6f 70 | 72 69 65 74 61 72 79 20 |ins Prop|rietary |
|00021510| 49 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 6f 66 0a 20 |Informat|ion of. |
|00021520| 2a 09 54 68 65 20 53 61 | 6e 74 61 20 43 72 75 7a |*.The Sa|nta Cruz|
|00021530| 20 4f 70 65 72 61 74 69 | 6f 6e 2c 20 4d 69 63 72 | Operati|on, Micr|
|00021540| 6f 73 6f 66 74 20 43 6f | 72 70 6f 72 61 74 69 6f |osoft Co|rporatio|
|00021550| 6e 0a 20 2a 09 61 6e 64 | 20 41 54 26 54 2c 20 61 |n. *.and| AT&T, a|
|00021560| 6e 64 20 73 68 6f 75 6c | 64 20 62 65 20 74 72 65 |nd shoul|d be tre|
|00021570| 61 74 65 64 20 61 73 20 | 43 6f 6e 66 69 64 65 6e |ated as |Confiden|
|00021580| 74 69 61 6c 2e 0a 20 2a | 2f 0a 0a 2f 2a 0a 20 2a |tial.. *|/../*. *|
|00021590| 20 54 48 49 53 20 46 49 | 4c 45 20 43 4f 4e 54 41 | THIS FI|LE CONTA|
|000215a0| 49 4e 53 20 43 4f 44 45 | 20 57 48 49 43 48 20 49 |INS CODE| WHICH I|
|000215b0| 53 20 44 45 53 49 47 4e | 45 44 20 54 4f 20 42 45 |S DESIGN|ED TO BE|
|000215c0| 0a 20 2a 20 50 4f 52 54 | 41 42 4c 45 20 42 45 54 |. * PORT|ABLE BET|
|000215d0| 57 45 45 4e 20 44 49 46 | 46 45 52 45 4e 54 20 4d |WEEN DIF|FERENT M|
|000215e0| 41 43 48 49 4e 45 20 41 | 52 43 48 49 54 45 43 54 |ACHINE A|RCHITECT|
|000215f0| 55 52 45 53 0a 20 2a 20 | 41 4e 44 20 43 4f 4e 46 |URES. * |AND CONF|
|00021600| 49 47 55 52 41 54 49 4f | 4e 53 2e 20 49 54 20 53 |IGURATIO|NS. IT S|
|00021610| 48 4f 55 4c 44 20 4e 4f | 54 20 52 45 51 55 49 52 |HOULD NO|T REQUIR|
|00021620| 45 20 41 4e 59 0a 20 2a | 20 4d 4f 44 49 46 49 43 |E ANY. *| MODIFIC|
|00021630| 41 54 49 4f 4e 53 20 57 | 48 45 4e 09 01 07 02 00 |ATIONS W|HEN.....|
|00021640| e6 01 02 00 20 41 44 41 | 50 54 49 4e 47 20 58 45 |.... ADA|PTING XE|
|00021650| 4e 49 58 20 54 4f 20 4e | 45 57 20 48 41 52 44 57 |NIX TO N|EW HARDW|
|00021660| 41 52 45 2e 0a 20 2a 2f | 0a 0a 0a 2f 2a 20 53 79 |ARE.. */|.../* Sy|
|00021670| 73 74 65 6d 20 56 20 64 | 65 66 69 6e 65 73 20 2a |stem V d|efines *|
|00021680| 2f 0a 23 64 65 66 69 6e | 65 20 53 48 4d 5f 52 44 |/.#defin|e SHM_RD|
|00021690| 4f 4e 4c 59 09 30 31 30 | 30 30 30 09 20 2f 2a 20 |ONLY.010|000. /* |
|000216a0| 61 74 74 61 63 68 20 72 | 65 61 64 2d 6f 6e 6c 79 |attach r|ead-only|
|000216b0| 2c 20 65 6c 73 65 20 72 | 65 61 64 2d 77 72 69 74 |, else r|ead-writ|
|000216c0| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 48 4d |e */.#de|fine SHM|
|000216d0| 5f 52 4e 44 09 09 30 32 | 30 30 30 30 0a 0a 2f 2a |_RND..02|0000../*|
|000216e0| 20 73 68 6d 20 73 65 67 | 73 20 73 74 61 72 74 20 | shm seg|s start |
|000216f0| 61 74 20 61 64 64 72 20 | 67 69 76 65 6e 20 62 79 |at addr |given by|
|00021700| 20 28 61 64 64 72 20 2d | 20 28 61 64 64 72 20 25 | (addr -| (addr %|
|00021710| 20 53 48 4d 4c 42 41 29 | 29 20 2a 2f 0a 23 69 66 | SHMLBA)|) */.#if|
|00021720| 64 65 66 20 4d 5f 49 33 | 38 36 0a 23 64 65 66 69 |def M_I3|86.#defi|
|00021730| 6e 65 20 53 48 4d 4c 42 | 41 09 09 30 78 34 30 30 |ne SHMLB|A..0x400|
|00021740| 30 30 30 0a 23 65 6c 73 | 65 0a 23 64 65 66 69 6e |000.#els|e.#defin|
|00021750| 65 20 53 48 4d 4c 42 41 | 09 09 30 78 31 30 30 30 |e SHMLBA|..0x1000|
|00021760| 30 0a 23 65 6e 64 69 66 | 0a 0a 2f 2a 20 73 68 6d |0.#endif|../* shm|
|00021770| 63 74 6c 20 63 6d 64 73 | 3a 20 20 4e 4f 54 20 59 |ctl cmds|: NOT Y|
|00021780| 45 54 20 49 4d 50 4c 45 | 4d 45 4e 54 45 44 20 2d |ET IMPLE|MENTED -|
|00021790| 2d 20 45 49 4e 56 41 4c | 20 49 46 20 55 53 45 44 |- EINVAL| IF USED|
|000217a0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 53 48 4d 5f | */.#def|ine SHM_|
|000217b0| 4c 4f 43 4b 09 33 0a 23 | 64 65 66 69 6e 65 20 53 |LOCK.3.#|define S|
|000217c0| 48 4d 5f 55 4e 4c 4f 43 | 4b 09 34 0a 0a 73 74 72 |HM_UNLOC|K.4..str|
|000217d0| 75 63 74 09 73 68 6d 69 | 64 5f 64 73 20 7b 0a 09 |uct.shmi|d_ds {..|
|000217e0| 73 74 72 75 63 74 09 69 | 70 63 5f 70 65 72 6d 20 |struct.i|pc_perm |
|000217f0| 73 68 6d 5f 70 65 72 6d | 3b 09 2f 2a 20 6f 70 65 |shm_perm|;./* ope|
|00021800| 72 61 74 69 6f 6e 20 70 | 65 72 6d 69 73 73 69 6f |ration p|ermissio|
|00021810| 6e 20 73 74 72 75 63 74 | 20 2a 2f 0a 09 69 6e 74 |n struct| */..int|
|00021820| 09 73 68 6d 5f 73 65 67 | 73 7a 3b 09 09 2f 2a 20 |.shm_seg|sz;../* |
|00021830| 73 65 67 6d 65 6e 74 20 | 73 69 7a 65 20 2a 2f 0a |segment |size */.|
|00021840| 09 75 73 68 09 01 08 02 | 00 9d 01 02 00 6f 72 74 |.ush....|.....ort|
|00021850| 09 73 68 6d 5f 70 74 62 | 6c 3b 09 09 2f 2a 20 61 |.shm_ptb|l;../* a|
|00021860| 64 64 72 20 6f 66 20 73 | 64 20 73 65 67 6d 65 6e |ddr of s|d segmen|
|00021870| 74 20 2a 2f 0a 09 75 73 | 68 6f 72 74 09 73 68 6d |t */..us|hort.shm|
|00021880| 5f 6c 70 69 64 3b 09 09 | 2f 2a 20 70 69 64 20 6f |_lpid;..|/* pid o|
|00021890| 66 20 6c 61 73 74 20 73 | 68 61 72 65 64 20 6d 65 |f last s|hared me|
|000218a0| 6d 20 6f 70 20 2a 2f 0a | 09 75 73 68 6f 72 74 09 |m op */.|.ushort.|
|000218b0| 73 68 6d 5f 63 70 69 64 | 3b 09 09 2f 2a 20 63 72 |shm_cpid|;../* cr|
|000218c0| 65 61 74 6f 72 20 70 69 | 64 20 2a 2f 0a 09 75 73 |eator pi|d */..us|
|000218d0| 68 6f 72 74 09 73 68 6d | 5f 6e 61 74 74 63 68 3b |hort.shm|_nattch;|
|000218e0| 09 09 2f 2a 20 63 75 72 | 72 65 6e 74 20 23 20 61 |../* cur|rent # a|
|000218f0| 74 74 61 63 68 65 64 20 | 2a 2f 0a 09 75 73 68 6f |ttached |*/..usho|
|00021900| 72 74 09 73 68 6d 5f 63 | 6e 61 74 74 63 68 3b 09 |rt.shm_c|nattch;.|
|00021910| 09 2f 2a 20 69 6e 2d 63 | 6f 72 65 20 23 20 61 74 |./* in-c|ore # at|
|00021920| 74 61 63 68 65 64 20 2a | 2f 0a 09 74 69 6d 65 5f |tached *|/..time_|
|00021930| 74 09 73 68 6d 5f 61 74 | 69 6d 65 3b 09 09 2f 2a |t.shm_at|ime;../*|
|00021940| 20 6c 61 73 74 20 61 74 | 74 61 63 68 20 74 69 6d | last at|tach tim|
|00021950| 65 20 2a 2f 0a 09 74 69 | 6d 65 5f 74 09 73 68 6d |e */..ti|me_t.shm|
|00021960| 5f 64 74 69 6d 65 3b 09 | 09 2f 2a 20 6c 61 73 74 |_dtime;.|./* last|
|00021970| 20 64 65 74 61 63 68 20 | 74 69 6d 65 20 2a 2f 0a | detach |time */.|
|00021980| 09 74 69 6d 65 5f 74 09 | 73 68 6d 5f 63 74 69 6d |.time_t.|shm_ctim|
|00021990| 65 3b 09 09 2f 2a 20 6c | 61 73 74 20 63 68 61 6e |e;../* l|ast chan|
|000219a0| 67 65 20 74 69 6d 65 20 | 2a 2f 0a 7d 3b 09 09 0a |ge time |*/.};...|
|000219b0| 0a 23 69 66 64 65 66 20 | 4d 5f 49 33 38 36 0a 65 |.#ifdef |M_I386.e|
|000219c0| 78 74 65 72 6e 09 63 68 | 61 72 09 2a 73 68 6d 61 |xtern.ch|ar.*shma|
|000219d0| 74 28 29 3b 0a 23 65 6c | 73 65 0a 65 78 74 65 72 |t();.#el|se.exter|
|000219e0| 6e 09 63 68 61 72 20 66 | 61 72 20 2a 73 68 6d 61 |n.char f|ar *shma|
|000219f0| 74 28 29 3b 0a 23 65 6e | 64 69 66 0a 5f 70 65 72 |t();.#en|dif._per|
|00021a00| 6d 3b 09 2f 2a 20 6f 70 | 65 72 61 74 69 6f 6e 20 |m;./* op|eration |
|00021a10| 70 65 72 6d 69 73 73 69 | 6f 6e 20 73 74 72 75 63 |permissi|on struc|
|00021a20| 74 20 2a 2f 0a 09 69 6e | 74 09 73 68 6d 5f 73 65 |t */..in|t.shm_se|
|00021a30| 67 73 7a 3b 09 09 2f 2a | 20 73 65 67 6d 65 6e 74 |gsz;../*| segment|
|00021a40| 20 73 69 7a 65 20 2a 2f | 0a 09 75 73 68 09 01 09 | size */|..ush...|
|00021a50| 02 00 25 5d 00 02 00 18 | 2e 2f 75 73 72 2f 69 6e |..%]....|./usr/in|
|00021a60| 63 6c 75 64 65 2f 73 79 | 73 2f 73 65 73 73 2e 68 |clude/sy|s/sess.h|
|00021a70| 01 26 00 00 00 38 20 20 | 20 34 34 34 20 00 20 20 |.&...8 | 444 . |
|00021a80| 20 20 20 30 20 00 20 20 | 20 20 20 30 20 00 20 20 | 0 . | 0 . |
|00021a90| 20 20 20 20 31 36 32 30 | 37 20 20 34 32 34 34 33 | 1620|7 42443|
|00021aa0| 34 30 32 32 30 20 20 31 | 30 33 36 30 00 20 01 b2 |40220 1|0360. ..|
|00021ab0| 00 00 09 01 0a 02 00 40 | 01 02 00 2f 2a 0a 20 2a |.......@|.../*. *|
|00021ac0| 09 40 28 23 29 20 73 65 | 73 73 2e 68 20 32 2e 31 |.@(#) se|ss.h 2.1|
|00021ad0| 20 38 38 2f 30 35 2f 31 | 38 20 0a 20 2a 0a 20 2a | 88/05/1|8 . *. *|
|00021ae0| 09 43 6f 70 79 72 69 67 | 68 74 20 28 43 29 20 54 |.Copyrig|ht (C) T|
|00021af0| 68 65 20 53 61 6e 74 61 | 20 43 72 75 7a 20 4f 70 |he Santa| Cruz Op|
|00021b00| 65 72 61 74 69 6f 6e 2c | 20 31 39 38 34 2c 20 31 |eration,| 1984, 1|
|00021b10| 39 38 35 2c 20 31 39 38 | 36 2c 20 31 39 38 37 2e |985, 198|6, 1987.|
|00021b20| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|00021b30| 29 20 4d 69 63 72 6f 73 | 6f 66 74 20 43 6f 72 70 |) Micros|oft Corp|
|00021b40| 6f 72 61 74 69 6f 6e 2c | 20 31 39 38 34 2c 20 31 |oration,| 1984, 1|
|00021b50| 39 38 35 2c 20 31 39 38 | 36 2c 20 31 39 38 37 2e |985, 198|6, 1987.|
|00021b60| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|00021b70| 29 20 49 6e 74 65 6c 20 | 43 6f 72 70 6f 72 61 74 |) Intel |Corporat|
|00021b80| 69 6f 6e 2c 20 31 39 38 | 34 2e 0a 20 2a 09 54 68 |ion, 198|4.. *.Th|
|00021b90| 69 73 20 4d 6f 64 75 6c | 65 20 63 6f 6e 74 61 69 |is Modul|e contai|
|00021ba0| 6e 73 20 50 72 6f 70 72 | 69 65 74 61 72 79 20 49 |ns Propr|ietary I|
|00021bb0| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 6f 66 0a 20 2a |nformati|on of. *|
|00021bc0| 09 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 |.The San|ta Cruz |
|00021bd0| 4f 70 65 72 61 74 69 6f | 6e 2c 20 4d 69 63 72 6f |Operatio|n, Micro|
|00021be0| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|00021bf0| 2c 20 49 6e 74 65 6c 20 | 43 6f 72 70 6f 72 61 74 |, Intel |Corporat|
|00021c00| 69 6f 6e 2c 0a 20 2a 09 | 61 6e 64 20 41 54 26 54 |ion,. *.|and AT&T|
|00021c10| 2c 20 61 6e 64 20 73 68 | 6f 75 6c 64 20 62 65 20 |, and sh|ould be |
|00021c20| 74 72 65 61 74 65 64 20 | 61 73 20 43 6f 6e 66 69 |treated |as Confi|
|00021c30| 64 65 6e 74 69 61 6c 2e | 0a 20 2a 2f 0a 2f 2a 2a |dential.|. */./**|
|00021c40| 2a 0a 2a 2a 0a 2a 2a 0a | 2a 2a 20 20 41 55 54 48 |*.**.**.|** AUTH|
|00021c50| 4f 52 3a 20 52 61 6a 69 | 76 20 43 68 75 67 68 20 |OR: Raji|v Chugh |
|00021c60| 0a 2a 2a 0a 2a 2a 20 20 | 49 6e 74 65 6c 20 43 6f |.**.** |Intel Co|
|00021c70| 72 70 6f 72 61 74 69 6f | 6e 0a 2a 2a 20 20 49 53 |rporatio|n.** IS|
|00021c80| 4f 2d 53 0a 2a 2a 20 20 | 32 34 30 32 20 57 2e 20 |O-S.** |2402 W. |
|00021c90| 42 65 61 72 64 73 6c 65 | 79 20 52 6f 61 64 0a 2a |Beardsle|y Road.*|
|00021ca0| 2a 20 20 50 68 6f 65 6e | 69 78 2c 20 41 72 69 7a |* Phoen|ix, Ariz|
|00021cb0| 6f 6e 61 20 20 38 35 30 | 32 37 0a 09 01 0b 02 00 |ona 850|27......|
|00021cc0| 5e 01 02 00 2a 2a 0a 2a | 2f 0a 2f 2a 0a 2a 20 54 |^...**.*|/./*.* T|
|00021cd0| 49 54 4c 45 3a 20 20 44 | 61 74 61 20 73 74 72 75 |ITLE: D|ata stru|
|00021ce0| 63 74 75 72 65 20 64 65 | 63 6c 61 72 61 74 69 6f |cture de|claratio|
|00021cf0| 6e 73 20 66 6f 72 20 74 | 68 65 20 4f 70 65 6e 4e |ns for t|he OpenN|
|00021d00| 45 54 20 53 65 73 73 69 | 6f 6e 20 64 72 69 76 65 |ET Sessi|on drive|
|00021d10| 72 2e 0a 2a 20 44 41 54 | 45 3a 09 20 20 44 65 63 |r..* DAT|E:. Dec|
|00021d20| 65 6d 62 65 72 20 34 2c | 20 31 39 38 34 0a 2a 2f |ember 4,| 1984.*/|
|00021d30| 0a 0a 2f 2a 0a 2a 20 53 | 65 73 73 69 6f 6e 20 72 |../*.* S|ession r|
|00021d40| 65 71 75 65 73 74 20 63 | 6f 64 65 73 0a 2a 2f 0a |equest c|odes.*/.|
|00021d50| 0a 23 20 64 65 66 69 6e | 65 20 20 50 41 53 53 4f |.# defin|e PASSO|
|00021d60| 50 20 20 20 20 20 20 20 | 30 78 32 30 0a 23 20 64 |P |0x20.# d|
|00021d70| 65 66 69 6e 65 20 20 41 | 43 54 4f 50 09 20 20 20 |efine A|CTOP. |
|00021d80| 20 20 20 20 30 78 32 31 | 0a 23 20 64 65 66 69 6e | 0x21|.# defin|
|00021d90| 65 20 20 53 57 52 49 54 | 45 20 20 20 20 20 20 20 |e SWRIT|E |
|00021da0| 30 78 32 34 0a 23 20 64 | 65 66 69 6e 65 20 20 53 |0x24.# d|efine S|
|00021db0| 52 45 41 44 09 20 20 20 | 20 20 20 20 30 78 32 32 |READ. | 0x22|
|00021dc0| 0a 23 20 64 65 66 69 6e | 65 20 20 53 45 4f 4d 57 |.# defin|e SEOMW|
|00021dd0| 52 49 54 45 20 20 20 20 | 30 78 33 32 0a 23 20 64 |RITE |0x32.# d|
|00021de0| 65 66 69 6e 65 20 20 47 | 53 54 41 54 09 20 20 20 |efine G|STAT. |
|00021df0| 20 20 20 20 30 78 31 32 | 0a 23 20 64 65 66 69 6e | 0x12|.# defin|
|00021e00| 65 20 20 53 53 54 41 54 | 09 20 20 20 20 20 20 20 |e SSTAT|. |
|00021e10| 30 78 32 36 0a 23 20 64 | 65 66 69 6e 65 20 20 43 |0x26.# d|efine C|
|00021e20| 4c 4f 53 45 56 43 20 20 | 20 20 20 20 30 78 32 37 |LOSEVC | 0x27|
|00021e30| 0a 23 20 64 65 66 69 6e | 65 20 20 41 42 4f 52 54 |.# defin|e ABORT|
|00021e40| 56 43 20 20 20 20 20 20 | 30 78 32 35 0a 23 20 64 |VC |0x25.# d|
|00021e50| 65 66 69 6e 65 20 20 53 | 52 45 41 44 49 20 20 20 |efine S|READI |
|00021e60| 20 20 20 20 30 78 61 32 | 20 20 20 2f 2a 20 4e 6f | 0xa2| /* No|
|00021e70| 74 20 61 76 61 69 6c 61 | 62 6c 65 20 74 6f 20 41 |t availa|ble to A|
|00021e80| 70 70 6c 69 63 61 74 69 | 6f 6e 2d 6c 65 76 65 6c |pplicati|on-level|
|00021e90| 20 75 73 65 72 20 2a 2f | 0a 23 20 64 65 66 69 6e | user */|.# defin|
|00021ea0| 65 20 20 50 41 53 53 4f | 50 49 20 20 20 20 20 20 |e PASSO|PI |
|00021eb0| 30 78 61 30 20 20 20 2f | 2a 20 4e 6f 74 20 61 76 |0xa0 /|* Not av|
|00021ec0| 61 69 6c 61 09 01 0c 02 | 00 46 01 02 00 62 6c 65 |aila....|.F...ble|
|00021ed0| 20 74 6f 20 41 70 70 6c | 69 63 61 74 69 6f 6e 2d | to Appl|ication-|
|00021ee0| 6c 65 76 65 6c 20 75 73 | 65 72 20 2a 2f 0a 23 20 |level us|er */.# |
|00021ef0| 64 65 66 69 6e 65 20 20 | 54 45 53 54 53 45 4e 44 |define |TESTSEND|
|00021f00| 20 20 20 20 20 30 78 33 | 30 20 20 20 2f 2a 20 4e | 0x3|0 /* N|
|00021f10| 6f 74 20 61 76 61 69 6c | 61 62 6c 65 20 74 6f 20 |ot avail|able to |
|00021f20| 41 70 70 6c 69 63 61 74 | 69 6f 6e 2d 6c 65 76 65 |Applicat|ion-leve|
|00021f30| 6c 20 75 73 65 72 20 2a | 2f 0a 23 20 64 65 66 69 |l user *|/.# defi|
|00021f40| 6e 65 20 20 54 45 53 54 | 52 45 43 45 49 56 45 20 |ne TEST|RECEIVE |
|00021f50| 20 30 78 33 31 20 20 20 | 2f 2a 20 4e 6f 74 20 61 | 0x31 |/* Not a|
|00021f60| 76 61 69 6c 61 62 6c 65 | 20 74 6f 20 41 70 70 6c |vailable| to Appl|
|00021f70| 69 63 61 74 69 6f 6e 2d | 6c 65 76 65 6c 20 75 73 |ication-|level us|
|00021f80| 65 72 20 2a 2f 0a 0a 0a | 2f 2a 0a 2a 20 64 65 66 |er */...|/*.* def|
|00021f90| 69 6e 65 73 20 66 6f 72 | 20 4e 61 6d 65 73 65 72 |ines for| Nameser|
|00021fa0| 76 65 72 20 69 6e 74 65 | 72 66 61 63 65 0a 2a 2f |ver inte|rface.*/|
|00021fb0| 0a 0a 23 20 64 65 66 69 | 6e 65 20 45 41 44 44 52 |..# defi|ne EADDR|
|00021fc0| 53 49 5a 45 20 20 20 20 | 20 33 35 20 20 20 2f 2a |SIZE | 35 /*|
|00021fd0| 09 4d 61 78 20 6c 65 6e | 67 74 68 20 6f 66 20 45 |.Max len|gth of E|
|00021fe0| 74 68 65 72 6e 65 74 20 | 41 64 64 72 65 73 73 20 |thernet |Address |
|00021ff0| 2a 2f 0a 23 20 64 65 66 | 69 6e 65 20 4d 41 58 4e |*/.# def|ine MAXN|
|00022000| 41 4d 53 49 5a 45 20 20 | 20 20 31 37 20 20 20 2f |AMSIZE | 17 /|
|00022010| 2a 09 4d 61 78 69 6d 75 | 6d 20 70 72 6f 63 65 73 |*.Maximu|m proces|
|00022020| 73 20 6e 61 6d 65 20 73 | 69 7a 65 20 2a 2f 0a 0a |s name s|ize */..|
|00022030| 2f 2a 0a 2a 20 20 53 74 | 72 75 63 74 75 72 65 73 |/*.* St|ructures|
|00022040| 20 74 6f 20 65 78 74 72 | 61 63 74 20 70 61 72 61 | to extr|act para|
|00022050| 6d 65 74 65 72 73 20 70 | 61 73 73 65 64 20 74 6f |meters p|assed to|
|00022060| 20 53 65 73 73 69 6f 6e | 20 61 6e 64 20 72 65 74 | Session| and ret|
|00022070| 75 72 6e 20 72 65 73 75 | 6c 74 73 0a 2a 2f 0a 0a |urn resu|lts.*/..|
|00022080| 2f 2a 0a 2a 20 20 53 74 | 72 75 63 74 75 72 65 20 |/*.* St|ructure |
|00022090| 74 6f 20 65 78 74 72 61 | 63 74 20 70 61 72 61 6d |to extra|ct param|
|000220a0| 65 74 65 72 73 20 70 61 | 73 73 65 64 20 66 6f 72 |eters pa|ssed for|
|000220b0| 20 41 43 54 49 56 45 20 | 4f 50 45 4e 2f 0a 2a 20 | ACTIVE |OPEN/.* |
|000220c0| 20 50 41 53 53 49 56 45 | 20 4f 50 45 4e 09 01 0d | PASSIVE| OPEN...|
|000220d0| 02 00 6e 01 02 00 20 61 | 6e 64 20 72 65 74 75 72 |..n... a|nd retur|
|000220e0| 6e 20 72 65 73 75 6c 74 | 73 0a 2a 2f 0a 0a 73 74 |n result|s.*/..st|
|000220f0| 72 75 63 74 09 20 20 73 | 5f 6f 70 65 6e 20 20 0a |ruct. s|_open .|
|00022100| 20 20 7b 0a 20 20 20 20 | 69 6e 74 09 20 20 20 20 | {. |int. |
|00022110| 20 20 20 73 6f 5f 72 73 | 76 64 31 5b 32 5d 3b 20 | so_rs|vd1[2]; |
|00022120| 20 2f 2a 20 52 65 73 65 | 72 76 65 64 20 2a 2f 0a | /* Rese|rved */.|
|00022130| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 20 20 73 | unsi|gned s|
|00022140| 6f 5f 61 74 6f 3b 0a 20 | 20 20 20 75 6e 73 69 67 |o_ato;. | unsig|
|00022150| 6e 65 64 20 20 20 73 6f | 5f 70 63 3b 09 20 20 20 |ned so|_pc;. |
|00022160| 20 20 2f 2a 20 55 73 65 | 64 20 6f 6e 6c 79 20 66 | /* Use|d only f|
|00022170| 6f 72 20 41 43 54 49 56 | 45 20 4f 50 45 4e 20 2a |or ACTIV|E OPEN *|
|00022180| 2f 0a 20 20 20 20 75 6e | 73 69 67 6e 65 64 20 20 |/. un|signed |
|00022190| 20 73 6f 5f 65 72 72 3b | 0a 20 20 20 20 69 6e 74 | so_err;|. int|
|000221a0| 09 20 20 20 20 20 28 2a | 73 6f 5f 61 6e 72 29 28 |. (*|so_anr)(|
|000221b0| 29 3b 20 20 20 20 2f 2a | 20 55 73 65 64 20 6f 6e |); /*| Used on|
|000221c0| 6c 79 20 62 79 20 74 68 | 65 20 6b 65 72 6e 65 6c |ly by th|e kernel|
|000221d0| 20 69 6e 74 65 72 66 61 | 63 65 20 2a 2f 0a 20 20 | interfa|ce */. |
|000221e0| 20 20 63 68 61 72 20 20 | 20 20 20 20 20 73 6f 5f | char | so_|
|000221f0| 70 6e 61 6d 65 73 5b 4d | 41 58 4e 41 4d 53 49 5a |pnames[M|AXNAMSIZ|
|00022200| 45 20 2a 20 32 5d 3b 0a | 20 20 7d 3b 0a 0a 2f 2a |E * 2];.| };../*|
|00022210| 0a 2a 20 20 53 74 72 75 | 63 74 75 72 65 20 74 6f |.* Stru|cture to|
|00022220| 20 65 78 74 72 61 63 74 | 20 70 61 72 61 6d 65 74 | extract| paramet|
|00022230| 65 72 73 20 70 61 73 73 | 65 64 20 66 6f 72 20 53 |ers pass|ed for S|
|00022240| 45 4e 44 20 4d 45 53 53 | 41 47 45 2f 0a 2a 20 20 |END MESS|AGE/.* |
|00022250| 52 45 43 45 49 56 45 20 | 4d 45 53 53 41 47 45 20 |RECEIVE |MESSAGE |
|00022260| 61 6e 64 20 72 65 74 75 | 72 6e 20 72 65 73 75 6c |and retu|rn resul|
|00022270| 74 73 0a 2a 2f 0a 0a 73 | 74 72 75 63 74 20 73 5f |ts.*/..s|truct s_|
|00022280| 73 72 20 0a 20 20 7b 0a | 20 20 20 20 69 6e 74 09 |sr . {.| int.|
|00022290| 20 20 20 20 20 28 2a 73 | 73 72 5f 61 6e 72 29 28 | (*s|sr_anr)(|
|000222a0| 29 3b 0a 20 20 20 20 63 | 61 64 64 72 5f 74 20 20 |);. c|addr_t |
|000222b0| 20 20 73 73 72 5f 73 6c | 65 65 70 3b 09 20 20 2f | ssr_sl|eep;. /|
|000222c0| 2a 20 55 73 65 64 20 62 | 79 20 74 68 65 20 6b 65 |* Used b|y the ke|
|000222d0| 72 6e 65 6c 20 52 09 01 | 0e 02 00 08 01 02 00 45 |rnel R..|.......E|
|000222e0| 43 45 49 56 45 20 69 6e | 74 65 72 66 61 63 65 20 |CEIVE in|terface |
|000222f0| 2a 2f 0a 20 20 20 20 75 | 6e 73 69 67 6e 65 64 20 |*/. u|nsigned |
|00022300| 20 20 73 73 72 5f 65 72 | 72 3b 0a 20 20 20 20 75 | ssr_er|r;. u|
|00022310| 6e 73 69 67 6e 65 64 20 | 20 20 73 73 72 5f 63 6f |nsigned | ssr_co|
|00022320| 75 6e 74 3b 0a 20 20 20 | 20 75 6e 73 69 67 6e 65 |unt;. | unsigne|
|00022330| 64 20 20 20 73 73 72 5f | 62 6b 6c 65 6e 3b 0a 20 |d ssr_|bklen;. |
|00022340| 20 20 20 66 61 64 64 72 | 5f 74 20 20 20 20 73 73 | faddr|_t ss|
|00022350| 72 5f 62 6b 70 74 72 3b | 0a 20 20 20 20 75 6e 73 |r_bkptr;|. uns|
|00022360| 69 67 6e 65 64 20 20 20 | 73 73 72 5f 65 6f 6d 66 |igned |ssr_eomf|
|00022370| 6c 61 67 3b 09 20 20 2f | 2a 20 20 4d 65 61 6e 69 |lag;. /|* Meani|
|00022380| 6e 67 66 75 6c 20 6f 6e | 6c 79 20 66 6f 72 20 61 |ngful on|ly for a|
|00022390| 20 52 65 63 65 69 76 65 | 20 2a 2f 0a 20 20 20 20 | Receive| */. |
|000223a0| 75 6e 73 69 67 6e 65 64 | 20 20 20 74 73 72 5f 63 |unsigned| tsr_c|
|000223b0| 69 64 3b 09 09 20 20 2f | 2a 20 20 52 65 73 65 72 |id;.. /|* Reser|
|000223c0| 76 65 64 20 66 6f 72 20 | 75 73 65 20 62 79 20 58 |ved for |use by X|
|000223d0| 65 6e 69 78 63 6f 6d 6d | 20 2a 2f 0a 20 20 20 20 |enixcomm| */. |
|000223e0| 75 6e 73 69 67 6e 65 64 | 20 20 20 74 73 72 5f 65 |unsigned| tsr_e|
|000223f0| 72 72 3b 09 09 20 20 2f | 2a 20 20 52 65 73 65 72 |rr;.. /|* Reser|
|00022400| 76 65 64 20 66 6f 72 20 | 75 73 65 20 62 79 20 58 |ved for |use by X|
|00022410| 65 6e 69 78 63 6f 6d 6d | 20 2a 2f 0a 20 20 20 20 |enixcomm| */. |
|00022420| 75 6e 73 69 67 6e 65 64 | 20 20 20 74 73 72 5f 6e |unsigned| tsr_n|
|00022430| 62 6b 73 3b 09 20 20 2f | 2a 20 20 52 65 73 65 72 |bks;. /|* Reser|
|00022440| 76 65 64 20 66 6f 72 20 | 75 73 65 20 62 79 20 58 |ved for |use by X|
|00022450| 65 6e 69 78 63 6f 6d 6d | 20 2a 2f 0a 20 20 20 20 |enixcomm| */. |
|00022460| 75 6e 73 69 67 6e 65 64 | 20 20 20 74 73 72 5f 62 |unsigned| tsr_b|
|00022470| 79 74 65 63 6f 75 6e 74 | 3b 09 20 20 2f 2a 20 20 |ytecount|;. /* |
|00022480| 52 65 73 65 72 76 65 64 | 20 66 6f 72 20 75 73 65 |Reserved| for use|
|00022490| 20 62 79 20 58 65 6e 69 | 78 63 6f 6d 6d 20 2a 2f | by Xeni|xcomm */|
|000224a0| 0a 20 20 20 20 66 61 64 | 64 72 5f 74 20 20 20 20 |. fad|dr_t |
|000224b0| 74 73 72 5f 62 6b 70 74 | 72 3b 09 20 20 2f 2a 20 |tsr_bkpt|r;. /* |
|000224c0| 20 52 65 73 65 72 76 65 | 64 20 66 6f 72 20 75 73 | Reserve|d for us|
|000224d0| 65 20 62 79 20 58 65 6e | 69 78 63 6f 6d 6d 20 09 |e by Xen|ixcomm .|
|000224e0| 01 0f 02 00 77 01 02 00 | 2a 2f 0a 20 20 20 20 75 |....w...|*/. u|
|000224f0| 6e 73 69 67 6e 65 64 20 | 20 20 74 73 72 5f 62 6b |nsigned | tsr_bk|
|00022500| 6c 65 6e 3b 09 20 20 2f | 2a 20 20 52 65 73 65 72 |len;. /|* Reser|
|00022510| 76 65 64 20 66 6f 72 20 | 75 73 65 20 62 79 20 58 |ved for |use by X|
|00022520| 65 6e 69 78 63 6f 6d 6d | 20 2a 2f 0a 20 20 20 20 |enixcomm| */. |
|00022530| 75 6e 73 69 67 6e 65 64 | 20 20 20 74 73 72 5f 65 |unsigned| tsr_e|
|00022540| 6f 6d 66 6c 61 67 3b 09 | 20 20 2f 2a 20 20 52 65 |omflag;.| /* Re|
|00022550| 73 65 72 76 65 64 20 66 | 6f 72 20 75 73 65 20 62 |served f|or use b|
|00022560| 79 20 58 65 6e 69 78 63 | 6f 6d 6d 20 2a 2f 0a 20 |y Xenixc|omm */. |
|00022570| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 20 20 74 73 | unsig|ned ts|
|00022580| 72 5f 66 69 64 3b 09 09 | 20 20 2f 2a 20 20 52 65 |r_fid;..| /* Re|
|00022590| 73 65 72 76 65 64 20 66 | 6f 72 20 75 73 65 20 62 |served f|or use b|
|000225a0| 79 20 58 65 6e 69 78 63 | 6f 6d 6d 20 2a 2f 0a 20 |y Xenixc|omm */. |
|000225b0| 20 7d 3b 20 20 0a 0a 2f | 2a 0a 2a 20 20 53 74 72 | }; ../|*.* Str|
|000225c0| 75 63 74 75 72 65 20 74 | 6f 20 72 65 74 75 72 6e |ucture t|o return|
|000225d0| 20 72 65 73 75 6c 74 73 | 20 66 6f 72 20 47 45 54 | results| for GET|
|000225e0| 20 53 54 41 54 55 53 0a | 2a 2f 0a 0a 73 74 72 75 | STATUS.|*/..stru|
|000225f0| 63 74 20 73 5f 67 73 74 | 61 74 20 0a 20 20 7b 0a |ct s_gst|at . {.|
|00022600| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 20 20 73 | unsi|gned s|
|00022610| 67 5f 65 72 72 3b 0a 20 | 20 20 20 75 6e 73 69 67 |g_err;. | unsig|
|00022620| 6e 65 64 20 20 20 73 67 | 5f 73 74 61 74 65 3b 0a |ned sg|_state;.|
|00022630| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 20 20 73 | unsi|gned s|
|00022640| 67 5f 6c 6e 65 74 3b 0a | 20 20 20 20 75 6e 73 69 |g_lnet;.| unsi|
|00022650| 67 6e 65 64 20 20 20 73 | 67 5f 6c 68 6f 73 74 5b |gned s|g_lhost[|
|00022660| 33 5d 3b 0a 20 20 20 20 | 75 6e 73 69 67 6e 65 64 |3];. |unsigned|
|00022670| 20 20 20 73 67 5f 6c 70 | 6f 72 74 3b 0a 20 20 20 | sg_lp|ort;. |
|00022680| 20 75 6e 73 69 67 6e 65 | 64 20 20 20 73 67 5f 72 | unsigne|d sg_r|
|00022690| 6e 65 74 3b 0a 20 20 20 | 20 75 6e 73 69 67 6e 65 |net;. | unsigne|
|000226a0| 64 20 20 20 73 67 5f 72 | 68 6f 73 74 5b 33 5d 3b |d sg_r|host[3];|
|000226b0| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 20 20 |. uns|igned |
|000226c0| 73 67 5f 72 70 6f 72 74 | 3b 0a 20 20 20 20 75 6e |sg_rport|;. un|
|000226d0| 73 69 67 6e 65 64 20 20 | 20 73 67 5f 70 63 3b 0a |signed | sg_pc;.|
|000226e0| 20 20 20 20 75 6e 73 69 | 0f 0a 00 16 0a 00 01 02 | unsi|........|
|000226f0| 00 92 f5 01 02 00 ff 67 | 6e 65 64 20 20 20 73 67 |.......g|ned sg|
|00022700| 5f 61 74 6f 3b 0a 20 20 | 20 20 75 6e 73 69 67 6e |_ato;. | unsign|
|00022710| 65 64 20 20 20 73 67 5f | 6e 73 65 6e 74 3b 0a 20 |ed sg_|nsent;. |
|00022720| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 20 20 73 67 | unsig|ned sg|
|00022730| 5f 6e 72 65 63 3b 0a 20 | 20 20 20 69 6e 74 09 20 |_nrec;. | int. |
|00022740| 20 20 20 20 20 20 28 2a | 73 67 5f 61 6e 72 29 28 | (*|sg_anr)(|
|00022750| 29 3b 09 20 20 2f 2a 20 | 55 73 65 64 20 6f 6e 6c |);. /* |Used onl|
|00022760| 79 20 62 79 20 74 68 65 | 20 6b 65 72 6e 65 6c 20 |y by the| kernel |
|00022770| 69 6e 74 65 72 66 61 63 | 65 20 2a 2f 0a 20 20 20 |interfac|e */. |
|00022780| 20 63 68 61 72 20 20 20 | 20 20 20 20 73 67 5f 70 | char | sg_p|
|00022790| 6e 61 6d 65 73 5b 4d 41 | 58 4e 41 4d 53 49 5a 45 |names[MA|XNAMSIZE|
|000227a0| 20 2a 20 32 5d 3b 0a 20 | 20 7d 3b 0a 0a 2f 2a 0a | * 2];. | };../*.|
|000227b0| 2a 20 20 53 74 72 75 63 | 74 75 72 65 20 74 6f 20 |* Struc|ture to |
|000227c0| 65 78 74 72 61 63 74 20 | 70 61 72 61 6d 65 74 65 |extract |paramete|
|000227d0| 72 73 20 66 6f 72 20 53 | 45 54 20 53 54 41 54 55 |rs for S|ET STATU|
|000227e0| 53 0a 2a 2f 0a 0a 73 74 | 72 75 63 74 20 73 5f 73 |S.*/..st|ruct s_s|
|000227f0| 73 74 61 74 20 0a 00 ed | 20 20 7b 0a 20 20 20 20 |stat ...| {. |
|00022800| 69 6e 74 09 20 20 20 20 | 20 20 20 73 73 5f 72 73 |int. | ss_rs|
|00022810| 76 64 5b 32 5d 3b 0a 20 | 20 20 20 69 6e 74 09 20 |vd[2];. | int. |
|00022820| 20 20 20 20 20 20 28 2a | 73 73 5f 61 6e 72 29 28 | (*|ss_anr)(|
|00022830| 29 3b 09 20 20 2f 2a 20 | 55 73 65 64 20 6f 6e 6c |);. /* |Used onl|
|00022840| 79 20 62 79 20 74 68 65 | 20 6b 65 72 6e 65 6c 20 |y by the| kernel |
|00022850| 69 6e 74 65 72 66 61 63 | 65 20 2a 2f 0a 20 20 20 |interfac|e */. |
|00022860| 20 75 6e 73 69 67 6e 65 | 64 20 20 20 73 73 5f 6e | unsigne|d ss_n|
|00022870| 73 65 6e 74 3b 0a 20 20 | 20 20 75 6e 73 69 67 6e |sent;. | unsign|
|00022880| 65 64 20 20 20 73 73 5f | 6e 72 65 63 3b 0a 20 20 |ed ss_|nrec;. |
|00022890| 7d 3b 0a 0a 73 74 72 75 | 63 74 20 73 5f 61 63 76 |};..stru|ct s_acv|
|000228a0| 63 20 0a 20 20 7b 0a 20 | 20 20 20 69 6e 74 09 20 |c . {. | int. |
|000228b0| 20 20 20 20 20 20 73 61 | 5f 72 73 76 64 5b 32 5d | sa|_rsvd[2]|
|000228c0| 3b 0a 20 20 20 20 75 6e | 73 69 67 6e 65 64 20 20 |;. un|signed |
|000228d0| 20 73 61 5f 65 72 72 3b | 0a 20 20 7d 3b 20 20 0a | sa_err;|. }; .|
|000228e0| 0a 2f 2a 0a 2a 01 0a 2d | 2d 0a 00 02 02 00 16 d3 |./*.*..-|-.......|
|000228f0| 01 02 01 1b 2d 2d 00 ff | 2d 0a 2a 20 0a 2a 20 20 |....--..|-.* .* |
|00022900| 54 68 65 20 73 74 72 75 | 63 74 75 72 65 73 20 62 |The stru|ctures b|
|00022910| 65 6c 6f 77 20 74 68 69 | 73 20 6c 69 6e 65 20 6e |elow thi|s line n|
|00022920| 65 65 64 20 6e 6f 74 20 | 63 6f 6e 63 65 72 6e 20 |eed not |concern |
|00022930| 61 6e 20 41 70 70 6c 69 | 63 61 74 69 6f 6e 2d 6c |an Appli|cation-l|
|00022940| 65 76 65 6c 0a 2a 20 20 | 75 73 65 72 2e 0a 2a 2f |evel.* |user..*/|
|00022950| 0a 0a 2f 2a 0a 2a 20 4d | 69 73 63 20 43 6f 6e 73 |../*.* M|isc Cons|
|00022960| 74 61 6e 74 73 2e 0a 2a | 2f 0a 0a 23 20 64 65 66 |tants..*|/..# def|
|00022970| 69 6e 65 20 50 53 45 53 | 53 09 20 20 20 20 50 52 |ine PSES|S. PR|
|00022980| 49 42 49 4f 09 20 20 20 | 20 20 20 20 2f 2a 20 50 |IBIO. | /* P|
|00022990| 52 49 42 49 4f 20 69 73 | 20 64 65 63 6c 61 72 65 |RIBIO is| declare|
|000229a0| 64 20 69 6e 20 70 61 72 | 61 6d 2e 68 20 2a 2f 0a |d in par|am.h */.|
|000229b0| 23 20 64 65 66 69 6e 65 | 20 54 52 55 45 09 20 20 |# define| TRUE. |
|000229c0| 20 20 31 0a 23 20 64 65 | 66 69 6e 65 20 46 41 4c | 1.# de|fine FAL|
|000229d0| 53 45 09 20 20 20 20 30 | 0a 23 20 64 65 66 69 6e |SE. 0|.# defin|
|000229e0| 65 20 4e 56 43 09 20 20 | 20 20 32 31 09 20 20 2f |e NVC. | 21. /|
|000229f0| 2a 20 4d 61 78 69 6d 00 | cb 75 6d 20 6e 75 6d 62 |* Maxim.|.um numb|
|00022a00| 65 72 20 6f 66 20 56 43 | 73 20 2b 20 31 20 2a 2f |er of VC|s + 1 */|
|00022a10| 0a 23 20 64 65 66 69 6e | 65 20 53 5f 4b 45 52 4e |.# defin|e S_KERN|
|00022a20| 09 20 20 20 20 30 78 34 | 30 0a 23 20 64 65 66 69 |. 0x4|0.# defi|
|00022a30| 6e 65 20 44 5f 4b 45 52 | 4e 09 20 20 20 20 30 0a |ne D_KER|N. 0.|
|00022a40| 23 20 64 65 66 69 6e 65 | 20 44 5f 55 53 45 52 09 |# define| D_USER.|
|00022a50| 20 20 20 20 31 0a 23 20 | 64 65 66 69 6e 65 20 53 | 1.# |define S|
|00022a60| 50 4c 09 20 20 20 20 73 | 70 6c 35 0a 23 20 64 65 |PL. s|pl5.# de|
|00022a70| 66 69 6e 65 20 44 5f 42 | 4f 4f 54 45 44 20 20 20 |fine D_B|OOTED |
|00022a80| 28 32 29 0a 23 20 64 65 | 66 69 6e 65 20 44 53 5f |(2).# de|fine DS_|
|00022a90| 44 45 4c 41 59 20 20 20 | 32 30 30 09 20 20 2f 2a |DELAY |200. /*|
|00022aa0| 20 52 6f 75 67 68 6c 79 | 20 30 2e 35 20 73 65 63 | Roughly| 0.5 sec|
|00022ab0| 73 2e 20 4b 6c 75 64 67 | 65 20 66 6f 72 20 69 4e |s. Kludg|e for iN|
|00022ac0| 41 20 70 72 0a 00 03 02 | 00 ff 01 02 00 6f 62 6c |A pr....|.....obl|
|00022ad0| 65 6d 20 2a 2f 0a 0a 2f | 2a 0a 2a 20 43 6f 6e 6e |em */../|*.* Conn|
|00022ae0| 65 63 74 69 6f 6e 20 53 | 74 61 74 65 20 45 6e 75 |ection S|tate Enu|
|00022af0| 6d 65 72 61 74 65 64 20 | 54 79 70 65 73 20 0a 2a |merated |Types .*|
|00022b00| 2f 0a 0a 23 20 64 65 66 | 69 6e 65 20 4e 4f 52 4d |/..# def|ine NORM|
|00022b10| 09 09 31 0a 23 20 64 65 | 66 69 6e 65 20 4f 50 45 |..1.# de|fine OPE|
|00022b20| 4e 09 09 32 0a 23 20 64 | 65 66 69 6e 65 20 4f 50 |N..2.# d|efine OP|
|00022b30| 45 4e 44 09 09 33 0a 23 | 20 64 65 66 69 6e 65 20 |END..3.#| define |
|00022b40| 43 50 45 4e 44 09 09 34 | 0a 23 20 64 65 66 69 6e |CPEND..4|.# defin|
|00022b50| 65 20 43 4c 4f 53 45 44 | 09 09 35 20 0a 23 20 64 |e CLOSED|..5 .# d|
|00022b60| 65 66 69 6e 65 20 41 42 | 4f 52 54 09 09 36 0a 0a |efine AB|ORT..6..|
|00022b70| 2f 2a 0a 2a 20 53 75 6e | 64 72 79 20 43 6f 6e 73 |/*.* Sun|dry Cons|
|00022b80| 74 61 6e 74 73 0a 2a 2f | 0a 0a 23 20 64 65 66 69 |tants.*/|..# defi|
|00022b90| 6e 65 20 52 45 4d 41 42 | 4f 52 54 09 20 20 20 20 |ne REMAB|ORT. |
|00022ba0| 20 30 78 30 45 0a 23 20 | 64 65 66 69 6e 65 20 54 | 0x0E.# |define T|
|00022bb0| 4f 55 54 09 09 20 20 20 | 20 20 30 78 31 30 0a 0a |OUT.. | 0x10..|
|00022bc0| 2f 2a 0a 2a 20 54 43 4c | 20 64 72 69 76 65 72 20 |/*.* TCL| driver |
|00022bd0| 72 65 71 75 65 73 74 20 | 74 79 70 65 20 63 6f 64 |request |type cod|
|00022be0| 65 73 0a 2a 2f 0a 0a 23 | 20 64 65 66 69 6e 65 20 |es.*/..#| define |
|00022bf0| 54 52 51 5f 41 4f 50 45 | 4e 09 28 27 63 27 20 3c |TRQ_AOPE|N.('c' <|
|00022c00| 3c 20 38 20 7c 20 31 29 | 0a 23 20 64 65 66 69 6e |< 8 | 1)|.# defin|
|00022c10| 65 20 54 52 51 5f 50 4f | 50 45 4e 09 28 27 63 27 |e TRQ_PO|PEN.('c'|
|00022c20| 20 3c 3c 20 38 20 7c 20 | 32 29 0a 23 20 64 65 66 | << 8 | |2).# def|
|00022c30| 69 6e 65 20 54 52 51 5f | 53 54 41 54 09 28 27 63 |ine TRQ_|STAT.('c|
|00022c40| 27 20 3c 3c 20 38 20 7c | 20 33 29 0a 23 20 64 65 |' << 8 || 3).# de|
|00022c50| 66 69 6e 65 20 54 52 51 | 5f 44 45 46 53 54 41 54 |fine TRQ|_DEFSTAT|
|00022c60| 09 28 27 63 27 20 3c 3c | 20 38 20 7c 20 34 29 0a |.('c' <<| 8 | 4).|
|00022c70| 23 20 64 65 66 69 6e 65 | 20 54 52 51 5f 53 45 4e |# define| TRQ_SEN|
|00022c80| 44 09 28 27 63 27 20 3c | 3c 20 38 20 7c 20 35 29 |D.('c' <|< 8 | 5)|
|00022c90| 0a 23 20 64 65 66 69 6e | 65 20 54 52 51 5f 45 4f |.# defin|e TRQ_EO|
|00022ca0| 4d 53 45 4e 44 09 28 27 | 63 27 20 3c 3c 20 38 20 |MSEND.('|c' << 8 |
|00022cb0| 7c 20 36 29 0a 23 20 64 | 65 66 69 6e 65 20 54 52 || 6).# d|efine TR|
|00022cc0| 51 5f 52 45 43 45 49 56 | 45 09 28 27 63 0a 00 04 |Q_RECEIV|E.('c...|
|00022cd0| 02 00 f8 01 02 00 27 20 | 3c 3c 20 38 20 7c 20 37 |......' |<< 8 | 7|
|00022ce0| 29 0a 23 20 64 65 66 69 | 6e 65 20 54 52 51 5f 43 |).# defi|ne TRQ_C|
|00022cf0| 4c 4f 53 45 09 28 27 63 | 27 20 3c 3c 20 38 20 7c |LOSE.('c|' << 8 ||
|00022d00| 20 38 29 0a 23 20 64 65 | 66 69 6e 65 20 54 52 51 | 8).# de|fine TRQ|
|00022d10| 5f 41 42 4f 52 54 09 28 | 27 63 27 20 3c 3c 20 38 |_ABORT.(|'c' << 8|
|00022d20| 20 7c 20 39 29 0a 23 20 | 64 65 66 69 6e 65 20 54 | | 9).# |define T|
|00022d30| 52 51 5f 4e 4f 52 4d 09 | 28 27 63 27 20 3c 3c 20 |RQ_NORM.|('c' << |
|00022d40| 38 20 7c 20 31 30 29 0a | 0a 73 74 72 75 63 74 20 |8 | 10).|.struct |
|00022d50| 64 63 62 20 0a 20 20 7b | 0a 20 20 20 20 75 6e 73 |dcb . {|. uns|
|00022d60| 69 67 6e 65 64 20 20 20 | 64 5f 73 74 61 74 65 3b |igned |d_state;|
|00022d70| 0a 20 20 20 20 63 68 61 | 72 20 20 20 20 20 20 20 |. cha|r |
|00022d80| 64 5f 6c 6e 61 6d 65 5b | 4d 41 58 4e 41 4d 53 49 |d_lname[|MAXNAMSI|
|00022d90| 5a 45 5d 3b 09 2f 2a 20 | 4c 6f 63 61 6c 20 50 72 |ZE];./* |Local Pr|
|00022da0| 6f 63 65 73 73 20 6e 61 | 6d 65 20 2a 2f 0a 20 20 |ocess na|me */. |
|00022db0| 20 20 63 68 61 72 20 20 | 20 20 20 20 20 64 5f 72 | char | d_r|
|00022dc0| 6e 61 6d 65 5b 4d 41 58 | 4e 41 4d 53 49 5a 45 5d |name[MAX|NAMSIZE]|
|00022dd0| 3b 09 09 2f 2a 20 52 65 | 6d 6f 74 65 20 50 72 6f |;../* Re|mote Pro|
|00022de0| 63 65 73 73 20 6e 61 6d | 65 20 2a 2f 0a 20 20 20 |cess nam|e */. |
|00022df0| 20 75 6e 73 69 67 6e 65 | 64 20 20 20 64 5f 6c 6e | unsigne|d d_ln|
|00022e00| 65 74 3b 0a 20 20 20 20 | 75 6e 73 69 67 6e 65 64 |et;. |unsigned|
|00022e10| 20 20 20 64 5f 6c 68 6f | 73 74 5b 33 5d 3b 0a 20 | d_lho|st[3];. |
|00022e20| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 20 20 64 5f | unsig|ned d_|
|00022e30| 6c 70 6f 72 74 3b 09 09 | 20 20 2f 2a 20 4c 6f 63 |lport;..| /* Loc|
|00022e40| 61 6c 20 70 6f 72 74 20 | 6e 75 6d 62 65 72 20 66 |al port |number f|
|00022e50| 6f 72 20 74 68 65 20 56 | 43 20 2a 2f 0a 20 20 20 |or the V|C */. |
|00022e60| 20 75 6e 73 69 67 6e 65 | 64 20 20 20 64 5f 72 6e | unsigne|d d_rn|
|00022e70| 65 74 3b 09 09 20 20 2f | 2a 20 52 65 6d 6f 74 65 |et;.. /|* Remote|
|00022e80| 20 6e 65 74 20 49 44 20 | 2a 2f 0a 20 20 20 20 75 | net ID |*/. u|
|00022e90| 6e 73 69 67 6e 65 64 20 | 20 20 64 5f 72 68 6f 73 |nsigned | d_rhos|
|00022ea0| 74 5b 33 5d 3b 09 20 20 | 2f 2a 20 52 65 6d 6f 74 |t[3];. |/* Remot|
|00022eb0| 65 20 68 6f 73 74 20 49 | 44 20 2a 2f 0a 20 20 20 |e host I|D */. |
|00022ec0| 20 75 6e 73 69 67 6e 65 | 64 20 20 20 64 5f 72 70 | unsigne|d d_rp|
|00022ed0| 6f 72 74 3b 09 09 0a 00 | 05 02 00 3b 01 02 00 20 |ort;....|...;... |
|00022ee0| 20 2f 2a 20 52 65 6d 6f | 74 65 20 70 6f 72 74 20 | /* Remo|te port |
|00022ef0| 6e 75 6d 62 65 72 20 66 | 6f 72 20 74 68 65 20 56 |number f|or the V|
|00022f00| 43 20 2a 2f 0a 20 20 20 | 20 75 6e 73 69 67 6e 65 |C */. | unsigne|
|00022f10| 64 20 20 20 64 5f 63 69 | 64 3b 0a 20 20 20 20 75 |d d_ci|d;. u|
|00022f20| 6e 73 69 67 6e 65 64 20 | 20 20 64 5f 70 63 3b 0a |nsigned | d_pc;.|
|00022f30| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 20 20 64 | unsi|gned d|
|00022f40| 5f 61 74 6f 3b 0a 20 20 | 20 20 69 6e 74 09 20 20 |_ato;. | int. |
|00022f50| 20 20 20 20 20 28 2a 64 | 5f 61 6e 72 29 28 29 3b | (*d|_anr)();|
|00022f60| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 20 20 |. uns|igned |
|00022f70| 64 5f 6e 73 65 6e 74 3b | 0a 20 20 20 20 75 6e 73 |d_nsent;|. uns|
|00022f80| 69 67 6e 65 64 20 20 20 | 64 5f 6e 72 65 63 3b 0a |igned |d_nrec;.|
|00022f90| 20 20 7d 3b 0a 0a 2f 2a | 20 20 53 74 72 75 63 74 | };../*| Struct|
|00022fa0| 75 72 65 73 20 6e 65 63 | 65 73 73 61 72 79 20 74 |ures nec|essary t|
|00022fb0| 6f 20 69 6e 74 65 72 66 | 61 63 65 20 77 69 74 68 |o interf|ace with|
|00022fc0| 20 74 68 65 20 69 4e 41 | 20 39 35 31 20 64 72 69 | the iNA| 951 dri|
|00022fd0| 76 65 72 20 2a 2f 0a 0a | 2f 2a 20 53 74 72 75 63 |ver */..|/* Struc|
|00022fe0| 74 75 72 65 20 6f 66 20 | 41 43 54 49 56 45 20 4f |ture of |ACTIVE O|
|00022ff0| 50 45 4e 20 61 6e 64 20 | 50 41 53 53 49 56 45 20 |PEN and |PASSIVE |
|00023000| 4f 50 45 4e 20 2a 2f 20 | 0a 0a 73 74 72 75 63 74 |OPEN */ |..struct|
|00023010| 09 74 63 6c 6f 70 65 6e | 20 0a 20 20 7b 0a 20 20 |.tclopen| . {. |
|00023020| 20 20 75 6e 73 69 67 6e | 65 64 20 20 74 6f 5f 6c | unsign|ed to_l|
|00023030| 70 6f 72 74 3b 0a 20 20 | 20 20 75 6e 73 69 67 6e |port;. | unsign|
|00023040| 65 64 20 20 74 6f 5f 72 | 68 6f 73 74 5b 33 5d 3b |ed to_r|host[3];|
|00023050| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 20 74 |. uns|igned t|
|00023060| 6f 5f 72 6e 65 74 3b 0a | 20 20 20 20 75 6e 73 69 |o_rnet;.| unsi|
|00023070| 67 6e 65 64 20 20 74 6f | 5f 72 70 6f 72 74 3b 0a |gned to|_rport;.|
|00023080| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 20 74 6f | unsi|gned to|
|00023090| 5f 70 63 3b 0a 20 20 20 | 20 75 6e 73 69 67 6e 65 |_pc;. | unsigne|
|000230a0| 64 20 20 74 6f 5f 61 74 | 6f 3b 0a 20 20 20 20 75 |d to_at|o;. u|
|000230b0| 6e 73 69 67 6e 65 64 20 | 20 74 6f 5f 65 72 72 3b |nsigned | to_err;|
|000230c0| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 20 74 |. uns|igned t|
|000230d0| 6f 5f 63 69 64 3b 0a 20 | 20 20 20 69 6e 74 09 0a |o_cid;. | int..|
|000230e0| 00 06 02 00 0b 01 02 00 | 20 20 20 20 20 20 28 2a |........| (*|
|000230f0| 74 6f 5f 61 6e 72 29 28 | 29 3b 0a 20 20 7d 3b 0a |to_anr)(|);. };.|
|00023100| 0a 2f 2a 20 53 74 72 75 | 63 74 75 72 65 20 66 6f |./* Stru|cture fo|
|00023110| 72 20 53 54 41 54 55 53 | 20 61 6e 64 20 44 45 46 |r STATUS| and DEF|
|00023120| 45 52 52 45 44 20 53 54 | 41 54 55 53 20 2a 2f 0a |ERRED ST|ATUS */.|
|00023130| 0a 73 74 72 75 63 74 09 | 74 63 6c 73 74 61 74 20 |.struct.|tclstat |
|00023140| 0a 20 20 7b 0a 20 20 20 | 20 75 6e 73 69 67 6e 65 |. {. | unsigne|
|00023150| 64 20 20 20 74 73 74 5f | 63 69 64 3b 0a 20 20 20 |d tst_|cid;. |
|00023160| 20 66 61 64 64 72 5f 74 | 20 20 20 20 74 73 74 5f | faddr_t| tst_|
|00023170| 62 6b 70 74 72 3b 0a 20 | 20 20 20 75 6e 73 69 67 |bkptr;. | unsig|
|00023180| 6e 65 64 20 20 20 74 73 | 74 5f 62 6b 6c 65 6e 3b |ned ts|t_bklen;|
|00023190| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 20 20 |. uns|igned |
|000231a0| 74 73 74 5f 65 72 72 3b | 0a 20 20 7d 3b 0a 0a 2f |tst_err;|. };../|
|000231b0| 2a 20 73 74 72 75 63 74 | 75 72 65 73 20 66 6f 72 |* struct|ures for|
|000231c0| 20 53 45 4e 44 20 61 6e | 64 20 52 45 43 45 49 56 | SEND an|d RECEIV|
|000231d0| 45 20 2a 2f 0a 0a 73 74 | 72 75 63 74 20 74 63 6c |E */..st|ruct tcl|
|000231e0| 73 65 6e 20 0a 20 20 7b | 0a 20 20 20 20 75 6e 73 |sen . {|. uns|
|000231f0| 69 67 6e 65 64 20 20 20 | 74 73 5f 63 69 64 3b 0a |igned |ts_cid;.|
|00023200| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 20 20 74 | unsi|gned t|
|00023210| 73 5f 65 72 72 3b 0a 20 | 20 20 20 75 6e 73 69 67 |s_err;. | unsig|
|00023220| 6e 65 64 20 20 20 74 73 | 5f 6e 62 6b 73 3b 0a 20 |ned ts|_nbks;. |
|00023230| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 20 20 74 73 | unsig|ned ts|
|00023240| 5f 63 6f 75 6e 74 3b 0a | 20 20 20 20 66 61 64 64 |_count;.| fadd|
|00023250| 72 5f 74 20 20 20 20 74 | 73 5f 62 6b 70 74 72 3b |r_t t|s_bkptr;|
|00023260| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 20 20 |. uns|igned |
|00023270| 74 73 5f 62 6b 6c 65 6e | 3b 0a 20 20 7d 3b 0a 0a |ts_bklen|;. };..|
|00023280| 73 74 72 75 63 74 20 74 | 63 6c 72 65 63 20 0a 20 |struct t|clrec . |
|00023290| 20 7b 0a 20 20 20 20 75 | 6e 73 69 67 6e 65 64 20 | {. u|nsigned |
|000232a0| 20 20 74 72 5f 63 69 64 | 3b 0a 20 20 20 20 75 6e | tr_cid|;. un|
|000232b0| 73 69 67 6e 65 64 20 20 | 20 74 72 5f 65 72 72 3b |signed | tr_err;|
|000232c0| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 20 20 |. uns|igned |
|000232d0| 74 72 5f 6e 62 6b 73 3b | 0a 20 20 20 20 75 6e 73 |tr_nbks;|. uns|
|000232e0| 69 67 6e 65 64 20 20 20 | 0a 00 07 02 00 0b 01 02 |igned |........|
|000232f0| 00 74 72 5f 63 6f 75 6e | 74 3b 0a 20 20 20 20 66 |.tr_coun|t;. f|
|00023300| 61 64 64 72 5f 74 20 20 | 20 20 74 72 5f 62 6b 70 |addr_t | tr_bkp|
|00023310| 74 72 3b 0a 20 20 20 20 | 75 6e 73 69 67 6e 65 64 |tr;. |unsigned|
|00023320| 20 20 20 74 72 5f 62 6b | 6c 65 6e 3b 0a 20 20 20 | tr_bk|len;. |
|00023330| 20 75 6e 73 69 67 6e 65 | 64 20 20 20 74 72 5f 65 | unsigne|d tr_e|
|00023340| 6f 6d 66 6c 61 67 3b 0a | 20 20 20 20 75 6e 73 69 |omflag;.| unsi|
|00023350| 67 6e 65 64 20 20 20 74 | 72 5f 66 69 64 3b 0a 20 |gned t|r_fid;. |
|00023360| 20 7d 3b 0a 0a 2f 2a 20 | 73 74 72 75 63 74 75 72 | };../* |structur|
|00023370| 65 20 74 6f 20 64 6f 20 | 41 42 4f 52 54 2f 43 4c |e to do |ABORT/CL|
|00023380| 4f 53 45 20 2a 2f 0a 0a | 73 74 72 75 63 74 20 74 |OSE */..|struct t|
|00023390| 63 6c 61 63 20 20 0a 20 | 20 7b 0a 20 20 20 20 75 |clac . | {. u|
|000233a0| 6e 73 69 67 6e 65 64 20 | 74 61 63 5f 63 69 64 3b |nsigned |tac_cid;|
|000233b0| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 20 74 61 |. uns|igned ta|
|000233c0| 63 5f 65 72 72 3b 0a 20 | 20 7d 3b 0a 0a 2f 2a 0a |c_err;. | };../*.|
|000233d0| 2a 20 20 53 74 72 75 63 | 74 75 72 65 20 6f 66 20 |* Struc|ture of |
|000233e0| 74 68 65 20 72 65 71 75 | 65 73 74 20 62 6c 6f 63 |the requ|est bloc|
|000233f0| 6b 20 70 61 73 73 65 64 | 20 62 79 20 53 65 73 73 |k passed| by Sess|
|00023400| 69 6f 6e 20 74 6f 20 61 | 6e 20 61 73 79 6e 63 68 |ion to a|n asynch|
|00023410| 72 6f 6e 6f 75 73 0a 2a | 20 20 6e 6f 74 69 66 69 |ronous.*| notifi|
|00023420| 63 61 74 69 6f 6e 20 72 | 6f 75 74 69 6e 65 0a 2a |cation r|outine.*|
|00023430| 2f 0a 0a 73 74 72 75 63 | 74 20 73 5f 61 6e 72 61 |/..struc|t s_anra|
|00023440| 72 67 73 20 20 0a 20 20 | 7b 0a 20 20 20 20 75 6e |rgs . |{. un|
|00023450| 73 69 67 6e 65 64 09 73 | 61 6e 5f 66 69 64 3b 0a |signed.s|an_fid;.|
|00023460| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 09 73 61 6e | unsi|gned.san|
|00023470| 5f 65 72 72 3b 0a 20 20 | 20 20 75 6e 73 69 67 6e |_err;. | unsign|
|00023480| 65 64 09 73 61 6e 5f 63 | 6d 64 3b 0a 20 20 20 20 |ed.san_c|md;. |
|00023490| 75 6e 73 69 67 6e 65 64 | 09 73 61 6e 5f 63 6f 75 |unsigned|.san_cou|
|000234a0| 6e 74 3b 0a 20 20 20 20 | 75 6e 73 69 67 6e 65 64 |nt;. |unsigned|
|000234b0| 09 73 61 6e 5f 62 6b 6c | 65 6e 3b 0a 20 20 20 20 |.san_bkl|en;. |
|000234c0| 66 61 64 64 72 5f 74 09 | 73 61 6e 5f 62 6b 70 74 |faddr_t.|san_bkpt|
|000234d0| 72 3b 0a 20 20 20 20 75 | 6e 73 69 67 6e 65 64 09 |r;. u|nsigned.|
|000234e0| 73 61 6e 5f 65 6f 6d 66 | 6c 61 67 3b 0a 20 20 7d |san_eomf|lag;. }|
|000234f0| 3b 0a 00 08 02 00 da 01 | 02 00 0a 0a 2f 2a 0a 2a |;.......|..../*.*|
|00023500| 20 20 53 74 72 75 63 74 | 75 72 65 20 74 6f 20 65 | Struct|ure to e|
|00023510| 78 74 72 61 63 74 20 69 | 6e 66 6f 72 6d 61 74 69 |xtract i|nformati|
|00023520| 6f 6e 20 72 65 74 75 72 | 6e 65 64 20 62 79 20 74 |on retur|ned by t|
|00023530| 68 65 20 64 72 69 76 65 | 72 20 44 45 46 45 52 52 |he drive|r DEFERR|
|00023540| 45 44 20 53 54 41 54 55 | 53 0a 2a 20 20 43 61 6c |ED STATU|S.* Cal|
|00023550| 6c 20 0a 2a 2f 0a 0a 73 | 74 72 75 63 74 20 74 5f |l .*/..s|truct t_|
|00023560| 72 65 74 73 74 61 74 20 | 0a 20 20 7b 0a 20 20 20 |retstat |. {. |
|00023570| 20 63 68 61 72 09 74 65 | 5f 74 63 6c 5f 73 74 61 | char.te|_tcl_sta|
|00023580| 74 65 3b 0a 20 20 20 20 | 75 6e 73 69 67 6e 65 64 |te;. |unsigned|
|00023590| 09 74 65 5f 64 65 66 5f | 61 74 6f 3b 0a 20 20 20 |.te_def_|ato;. |
|000235a0| 20 6c 6f 6e 67 09 74 65 | 5f 64 65 66 5f 72 74 3b | long.te|_def_rt;|
|000235b0| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 09 74 65 |. uns|igned.te|
|000235c0| 5f 64 65 66 5f 70 63 3b | 0a 20 20 20 20 63 68 61 |_def_pc;|. cha|
|000235d0| 72 09 74 65 5f 6d 61 78 | 5f 63 64 62 3b 0a 20 20 |r.te_max|_cdb;. |
|000235e0| 20 20 63 68 61 72 09 74 | 65 5f 6e 75 6d 5f 63 64 | char.t|e_num_cd|
|000235f0| 62 3b 0a 20 20 20 20 75 | 6e 73 69 67 6e 65 64 09 |b;. u|nsigned.|
|00023600| 74 65 5f 6c 6e 65 74 3b | 0a 20 20 20 20 75 6e 73 |te_lnet;|. uns|
|00023610| 69 67 6e 65 64 09 74 65 | 5f 6c 68 6f 73 74 5b 33 |igned.te|_lhost[3|
|00023620| 5d 3b 0a 20 20 20 20 75 | 6e 73 69 67 6e 65 64 09 |];. u|nsigned.|
|00023630| 74 65 5f 72 73 76 64 31 | 5b 35 5d 3b 0a 20 20 20 |te_rsvd1|[5];. |
|00023640| 20 63 68 61 72 09 74 65 | 5f 63 6f 6e 6e 5f 73 74 | char.te|_conn_st|
|00023650| 61 74 65 3b 0a 20 20 20 | 20 75 6e 73 69 67 6e 65 |ate;. | unsigne|
|00023660| 64 09 74 65 5f 6c 72 65 | 66 3b 0a 20 20 20 20 75 |d.te_lre|f;. u|
|00023670| 6e 73 69 67 6e 65 64 09 | 74 65 5f 6c 70 6f 72 74 |nsigned.|te_lport|
|00023680| 3b 0a 20 20 20 20 75 6e | 73 69 67 6e 65 64 09 74 |;. un|signed.t|
|00023690| 65 5f 72 6e 65 74 3b 0a | 20 20 20 20 75 6e 73 69 |e_rnet;.| unsi|
|000236a0| 67 6e 65 64 09 74 65 5f | 72 68 6f 73 74 5b 33 5d |gned.te_|rhost[3]|
|000236b0| 3b 0a 20 20 20 20 75 6e | 73 69 67 6e 65 64 09 74 |;. un|signed.t|
|000236c0| 65 5f 72 70 6f 72 74 3b | 0a 20 20 20 20 75 6e 73 |e_rport;|. uns|
|000236d0| 69 67 6e 65 64 09 74 65 | 5f 70 63 3b 0a 20 20 20 |igned.te|_pc;. |
|000236e0| 20 75 6e 73 69 67 6e 65 | 64 09 74 65 5f 61 74 6f | unsigne|d.te_ato|
|000236f0| 3b 0a 20 20 20 20 75 6e | 73 69 0a 00 09 02 00 a6 |;. un|si......|
|00023700| 01 02 00 67 6e 65 64 09 | 74 65 5f 72 72 65 66 3b |...gned.|te_rref;|
|00023710| 0a 20 20 20 20 6c 6f 6e | 67 09 74 65 5f 72 74 3b |. lon|g.te_rt;|
|00023720| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 09 74 65 |. uns|igned.te|
|00023730| 5f 72 73 76 64 32 5b 31 | 31 5d 3b 0a 20 20 20 20 |_rsvd2[1|1];. |
|00023740| 63 68 61 72 09 74 65 5f | 6f 70 74 69 6f 6e 73 3b |char.te_|options;|
|00023750| 0a 20 20 20 20 63 68 61 | 72 09 74 65 5f 6d 61 78 |. cha|r.te_max|
|00023760| 5f 74 70 64 75 3b 0a 20 | 20 20 20 75 6e 73 69 67 |_tpdu;. | unsig|
|00023770| 6e 65 64 09 74 65 5f 6d | 61 78 5f 74 70 64 75 5f |ned.te_m|ax_tpdu_|
|00023780| 6c 65 6e 3b 0a 20 20 7d | 3b 0a 65 3b 0a 20 20 20 |len;. }|;.e;. |
|00023790| 20 75 6e 73 69 67 6e 65 | 64 09 74 65 5f 64 65 66 | unsigne|d.te_def|
|000237a0| 5f 61 74 6f 3b 0a 20 20 | 20 20 6c 6f 6e 67 09 74 |_ato;. | long.t|
|000237b0| 65 5f 64 65 66 5f 72 74 | 3b 0a 20 20 20 20 75 6e |e_def_rt|;. un|
|000237c0| 73 69 67 6e 65 64 09 74 | 65 5f 64 65 66 5f 70 63 |signed.t|e_def_pc|
|000237d0| 3b 0a 20 20 20 20 63 68 | 61 72 09 74 65 5f 6d 61 |;. ch|ar.te_ma|
|000237e0| 78 5f 63 64 62 3b 0a 20 | 20 20 20 63 68 61 72 09 |x_cdb;. | char.|
|000237f0| 74 65 5f 6e 75 6d 5f 63 | 64 62 3b 0a 20 20 20 20 |te_num_c|db;. |
|00023800| 75 6e 73 69 67 6e 65 64 | 09 74 65 5f 6c 6e 65 74 |unsigned|.te_lnet|
|00023810| 3b 0a 20 20 20 20 75 6e | 73 69 67 6e 65 64 09 74 |;. un|signed.t|
|00023820| 65 5f 6c 68 6f 73 74 5b | 33 5d 3b 0a 20 20 20 20 |e_lhost[|3];. |
|00023830| 75 6e 73 69 67 6e 65 64 | 09 74 65 5f 72 73 76 64 |unsigned|.te_rsvd|
|00023840| 31 5b 35 5d 3b 0a 20 20 | 20 20 63 68 61 72 09 74 |1[5];. | char.t|
|00023850| 65 5f 63 6f 6e 6e 5f 73 | 74 61 74 65 3b 0a 20 20 |e_conn_s|tate;. |
|00023860| 20 20 75 6e 73 69 67 6e | 65 64 09 74 65 5f 6c 72 | unsign|ed.te_lr|
|00023870| 65 66 3b 0a 20 20 20 20 | 75 6e 73 69 67 6e 65 64 |ef;. |unsigned|
|00023880| 09 74 65 5f 6c 70 6f 72 | 74 3b 0a 20 20 20 20 75 |.te_lpor|t;. u|
|00023890| 6e 73 69 67 6e 65 64 09 | 74 65 5f 72 6e 65 74 3b |nsigned.|te_rnet;|
|000238a0| 0a 20 20 20 20 75 6e 73 | 69 67 6e 65 64 09 74 65 |. uns|igned.te|
|000238b0| 5f 72 68 6f 73 74 5b 33 | 5d 3b 0a 20 20 20 20 75 |_rhost[3|];. u|
|000238c0| 6e 73 69 67 6e 65 64 09 | 74 65 5f 72 70 6f 72 74 |nsigned.|te_rport|
|000238d0| 3b 0a 20 20 20 20 75 6e | 73 69 67 6e 65 64 09 74 |;. un|signed.t|
|000238e0| 65 5f 70 63 3b 0a 20 20 | 20 20 75 6e 73 69 67 6e |e_pc;. | unsign|
|000238f0| 65 64 09 74 65 5f 61 74 | 6f 3b 0a 20 20 20 20 75 |ed.te_at|o;. u|
|00023900| 6e 73 69 0a 00 0a 02 00 | c9 5d 00 02 00 17 2e 2f |nsi.....|.]...../|
|00023910| 75 73 72 2f 69 6e 63 6c | 75 64 65 2f 73 79 73 2f |usr/incl|ude/sys/|
|00023920| 73 65 6d 2e 68 01 26 00 | 00 00 39 00 20 20 20 34 |sem.h.&.|..9. 4|
|00023930| 34 34 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 |44 . | 0 . |
|00023940| 20 30 20 00 20 20 20 20 | 20 20 20 36 30 35 34 20 | 0 . | 6054 |
|00023950| 20 34 32 34 34 33 34 30 | 32 31 36 20 20 31 30 31 | 4244340|216 101|
|00023960| 35 33 00 20 01 b2 00 00 | 0a 00 0b 02 00 46 01 02 |53. ....|.....F..|
|00023970| 00 2f 2a 0a 20 2a 09 40 | 28 23 29 20 73 65 6d 2e |./*. *.@|(#) sem.|
|00023980| 68 20 32 2e 31 20 38 38 | 2f 30 35 2f 31 38 20 0a |h 2.1 88|/05/18 .|
|00023990| 20 2a 0a 20 2a 09 43 6f | 70 79 72 69 67 68 74 20 | *. *.Co|pyright |
|000239a0| 28 43 29 20 54 68 65 20 | 53 61 6e 74 61 20 43 72 |(C) The |Santa Cr|
|000239b0| 75 7a 20 4f 70 65 72 61 | 74 69 6f 6e 2c 20 31 39 |uz Opera|tion, 19|
|000239c0| 38 34 2c 20 31 39 38 35 | 2c 20 31 39 38 36 2c 20 |84, 1985|, 1986, |
|000239d0| 31 39 38 37 2e 0a 20 2a | 09 43 6f 70 79 72 69 67 |1987.. *|.Copyrig|
|000239e0| 68 74 20 28 43 29 20 4d | 69 63 72 6f 73 6f 66 74 |ht (C) M|icrosoft|
|000239f0| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 2c 20 31 39 | Corpora|tion, 19|
|00023a00| 38 34 2c 20 31 39 38 35 | 2c 20 31 39 38 36 2c 20 |84, 1985|, 1986, |
|00023a10| 31 39 38 37 2e 0a 20 2a | 09 54 68 69 73 20 4d 6f |1987.. *|.This Mo|
|00023a20| 64 75 6c 65 20 63 6f 6e | 74 61 69 6e 73 20 50 72 |dule con|tains Pr|
|00023a30| 6f 70 72 69 65 74 61 72 | 79 20 49 6e 66 6f 72 6d |oprietar|y Inform|
|00023a40| 61 74 69 6f 6e 20 6f 66 | 0a 20 2a 09 54 68 65 20 |ation of|. *.The |
|00023a50| 53 61 6e 74 61 20 43 72 | 75 7a 20 4f 70 65 72 61 |Santa Cr|uz Opera|
|00023a60| 74 69 6f 6e 2c 20 4d 69 | 63 72 6f 73 6f 66 74 20 |tion, Mi|crosoft |
|00023a70| 43 6f 72 70 6f 72 61 74 | 69 6f 6e 0a 20 2a 09 61 |Corporat|ion. *.a|
|00023a80| 6e 64 20 41 54 26 54 2c | 20 61 6e 64 20 73 68 6f |nd AT&T,| and sho|
|00023a90| 75 6c 64 20 62 65 20 74 | 72 65 61 74 65 64 20 61 |uld be t|reated a|
|00023aa0| 73 20 43 6f 6e 66 69 64 | 65 6e 74 69 61 6c 2e 0a |s Confid|ential..|
|00023ab0| 20 2a 2f 0a 0a 2f 2a 0a | 20 2a 20 54 48 49 53 20 | */../*.| * THIS |
|00023ac0| 46 49 4c 45 20 43 4f 4e | 54 41 49 4e 53 20 43 4f |FILE CON|TAINS CO|
|00023ad0| 44 45 20 57 48 49 43 48 | 20 49 53 20 53 50 45 43 |DE WHICH| IS SPEC|
|00023ae0| 49 46 49 43 20 54 4f 20 | 54 48 45 0a 20 2a 20 49 |IFIC TO |THE. * I|
|00023af0| 4e 54 45 4c 20 38 30 32 | 38 36 20 43 50 55 20 41 |NTEL 802|86 CPU A|
|00023b00| 4e 44 20 4d 41 59 20 52 | 45 51 55 49 52 45 20 4d |ND MAY R|EQUIRE M|
|00023b10| 4f 44 49 46 49 43 41 54 | 49 4f 4e 0a 20 2a 20 57 |ODIFICAT|ION. * W|
|00023b20| 48 45 4e 20 41 44 41 50 | 54 49 4e 47 20 58 45 4e |HEN ADAP|TING XEN|
|00023b30| 49 58 20 54 4f 20 4e 45 | 57 20 48 41 52 44 57 41 |IX TO NE|W HARDWA|
|00023b40| 52 45 2e 0a 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 09 49 |RE.. */.|./*. *.I|
|00023b50| 6d 70 6c 65 6d 65 6e 74 | 61 74 69 6f 6e 20 43 6f |mplement|ation Co|
|00023b60| 6e 73 74 61 6e 74 73 2e | 0a 20 2a 2f 0a 0a 23 64 |nstants.|. */..#d|
|00023b70| 65 0a 00 0c 02 00 33 01 | 02 00 66 69 6e 65 09 50 |e.....3.|..fine.P|
|00023b80| 53 45 4d 4e 09 28 50 5a | 45 52 4f 20 2b 20 33 29 |SEMN.(PZ|ERO + 3)|
|00023b90| 09 2f 2a 20 73 6c 65 65 | 70 20 70 72 69 6f 72 69 |./* slee|p priori|
|00023ba0| 74 79 20 77 61 69 74 69 | 6e 67 20 66 6f 72 20 67 |ty waiti|ng for g|
|00023bb0| 72 65 61 74 65 72 20 76 | 61 6c 75 65 20 2a 2f 0a |reater v|alue */.|
|00023bc0| 23 64 65 66 69 6e 65 09 | 50 53 45 4d 5a 09 28 50 |#define.|PSEMZ.(P|
|00023bd0| 5a 45 52 4f 20 2b 20 32 | 29 09 2f 2a 20 73 6c 65 |ZERO + 2|)./* sle|
|00023be0| 65 70 20 70 72 69 6f 72 | 69 74 79 20 77 61 69 74 |ep prior|ity wait|
|00023bf0| 69 6e 67 20 66 6f 72 20 | 7a 65 72 6f 20 2a 2f 0a |ing for |zero */.|
|00023c00| 0a 2f 2a 0a 20 2a 09 50 | 65 72 6d 69 73 73 69 6f |./*. *.P|ermissio|
|00023c10| 6e 20 44 65 66 69 6e 69 | 74 69 6f 6e 73 2e 0a 20 |n Defini|tions.. |
|00023c20| 2a 2f 0a 0a 23 64 65 66 | 69 6e 65 09 53 45 4d 5f |*/..#def|ine.SEM_|
|00023c30| 41 09 30 32 30 30 09 2f | 2a 20 61 6c 74 65 72 20 |A.0200./|* alter |
|00023c40| 70 65 72 6d 69 73 73 69 | 6f 6e 20 2a 2f 0a 23 64 |permissi|on */.#d|
|00023c50| 65 66 69 6e 65 09 53 45 | 4d 5f 52 09 30 34 30 30 |efine.SE|M_R.0400|
|00023c60| 09 2f 2a 20 72 65 61 64 | 20 70 65 72 6d 69 73 73 |./* read| permiss|
|00023c70| 69 6f 6e 20 2a 2f 0a 0a | 2f 2a 0a 20 2a 09 53 65 |ion */..|/*. *.Se|
|00023c80| 6d 61 70 68 6f 72 65 20 | 4f 70 65 72 61 74 69 6f |maphore |Operatio|
|00023c90| 6e 20 46 6c 61 67 73 2e | 0a 20 2a 2f 0a 0a 23 64 |n Flags.|. */..#d|
|00023ca0| 65 66 69 6e 65 09 53 45 | 4d 5f 55 4e 44 4f 09 30 |efine.SE|M_UNDO.0|
|00023cb0| 31 30 30 30 30 09 2f 2a | 20 73 65 74 20 75 70 20 |10000./*| set up |
|00023cc0| 61 64 6a 75 73 74 20 6f | 6e 20 65 78 69 74 20 65 |adjust o|n exit e|
|00023cd0| 6e 74 72 79 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 09 53 |ntry */.|./*. *.S|
|00023ce0| 65 6d 63 74 6c 20 43 6f | 6d 6d 61 6e 64 20 44 65 |emctl Co|mmand De|
|00023cf0| 66 69 6e 69 74 69 6f 6e | 73 2e 0a 20 2a 2f 0a 0a |finition|s.. */..|
|00023d00| 23 64 65 66 69 6e 65 09 | 47 45 54 4e 43 4e 54 09 |#define.|GETNCNT.|
|00023d10| 33 09 2f 2a 20 67 65 74 | 20 73 65 6d 6e 63 6e 74 |3./* get| semncnt|
|00023d20| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 09 47 45 54 50 | */.#def|ine.GETP|
|00023d30| 49 44 09 34 09 2f 2a 20 | 67 65 74 20 73 65 6d 70 |ID.4./* |get semp|
|00023d40| 69 64 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 47 45 |id */.#d|efine.GE|
|00023d50| 54 56 41 4c 09 35 09 2f | 2a 20 67 65 74 20 73 65 |TVAL.5./|* get se|
|00023d60| 6d 76 61 6c 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |mval */.|#define.|
|00023d70| 47 45 54 41 4c 4c 09 36 | 09 2f 0a 00 0d 02 00 fa |GETALL.6|./......|
|00023d80| 01 02 00 2a 20 67 65 74 | 20 61 6c 6c 20 73 65 6d |...* get| all sem|
|00023d90| 76 61 6c 27 73 20 2a 2f | 0a 23 64 65 66 69 6e 65 |val's */|.#define|
|00023da0| 09 47 45 54 5a 43 4e 54 | 09 37 09 2f 2a 20 67 65 |.GETZCNT|.7./* ge|
|00023db0| 74 20 73 65 6d 7a 63 6e | 74 20 2a 2f 0a 23 64 65 |t semzcn|t */.#de|
|00023dc0| 66 69 6e 65 09 53 45 54 | 56 41 4c 09 38 09 2f 2a |fine.SET|VAL.8./*|
|00023dd0| 20 73 65 74 20 73 65 6d | 76 61 6c 20 2a 2f 0a 23 | set sem|val */.#|
|00023de0| 64 65 66 69 6e 65 09 53 | 45 54 41 4c 4c 09 39 09 |define.S|ETALL.9.|
|00023df0| 2f 2a 20 73 65 74 20 61 | 6c 6c 20 73 65 6d 76 61 |/* set a|ll semva|
|00023e00| 6c 27 73 20 2a 2f 0a 0a | 2f 2a 0a 20 2a 09 53 74 |l's */..|/*. *.St|
|00023e10| 72 75 63 74 75 72 65 20 | 44 65 66 69 6e 69 74 69 |ructure |Definiti|
|00023e20| 6f 6e 73 2e 0a 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 09 |ons.. */|../*. *.|
|00023e30| 54 68 65 72 65 20 69 73 | 20 6f 6e 65 20 73 65 6d |There is| one sem|
|00023e40| 61 70 68 6f 72 65 20 69 | 64 20 64 61 74 61 20 73 |aphore i|d data s|
|00023e50| 74 72 75 63 74 75 72 65 | 20 66 6f 72 20 65 61 63 |tructure| for eac|
|00023e60| 68 20 73 65 74 20 6f 66 | 20 73 65 6d 61 70 68 6f |h set of| semapho|
|00023e70| 72 65 73 0a 20 2a 09 09 | 69 6e 20 74 68 65 20 73 |res. *..|in the s|
|00023e80| 79 73 74 65 6d 2e 0a 20 | 2a 2f 0a 0a 73 74 72 75 |ystem.. |*/..stru|
|00023e90| 63 74 20 73 65 6d 69 64 | 5f 64 73 20 7b 0a 09 73 |ct semid|_ds {..s|
|00023ea0| 74 72 75 63 74 20 69 70 | 63 5f 70 65 72 6d 09 73 |truct ip|c_perm.s|
|00023eb0| 65 6d 5f 70 65 72 6d 3b | 09 2f 2a 20 6f 70 65 72 |em_perm;|./* oper|
|00023ec0| 61 74 69 6f 6e 20 70 65 | 72 6d 69 73 73 69 6f 6e |ation pe|rmission|
|00023ed0| 20 73 74 72 75 63 74 20 | 2a 2f 0a 23 69 66 64 65 | struct |*/.#ifde|
|00023ee0| 66 20 4d 5f 49 33 38 36 | 0a 09 73 74 72 75 63 74 |f M_I386|..struct|
|00023ef0| 20 73 65 6d 20 2a 73 65 | 6d 5f 62 61 73 65 3b 09 | sem *se|m_base;.|
|00023f00| 2f 2a 20 70 74 72 20 74 | 6f 20 66 69 72 73 74 20 |/* ptr t|o first |
|00023f10| 73 65 6d 61 70 68 6f 72 | 65 20 69 6e 20 73 65 74 |semaphor|e in set|
|00023f20| 20 2a 2f 0a 23 65 6c 73 | 65 0a 09 73 74 72 75 63 | */.#els|e..struc|
|00023f30| 74 20 73 65 6d 20 6e 65 | 61 72 20 2a 73 65 6d 5f |t sem ne|ar *sem_|
|00023f40| 62 61 73 65 3b 09 2f 2a | 20 70 74 72 20 74 6f 20 |base;./*| ptr to |
|00023f50| 66 69 72 73 74 20 73 65 | 6d 61 70 68 6f 72 65 20 |first se|maphore |
|00023f60| 69 6e 20 73 65 74 20 2a | 2f 0a 23 65 6e 64 69 66 |in set *|/.#endif|
|00023f70| 0a 09 75 73 68 6f 72 74 | 09 09 73 65 6d 5f 6e 73 |..ushort|..sem_ns|
|00023f80| 65 6d 73 0a 00 0e 02 00 | ea 01 02 00 3b 09 2f 2a |ems.....|....;./*|
|00023f90| 20 23 20 6f 66 20 73 65 | 6d 61 70 68 6f 72 65 73 | # of se|maphores|
|00023fa0| 20 69 6e 20 73 65 74 20 | 2a 2f 0a 09 74 69 6d 65 | in set |*/..time|
|00023fb0| 5f 74 09 09 73 65 6d 5f | 6f 74 69 6d 65 3b 09 2f |_t..sem_|otime;./|
|00023fc0| 2a 20 6c 61 73 74 20 73 | 65 6d 6f 70 20 74 69 6d |* last s|emop tim|
|00023fd0| 65 20 2a 2f 0a 09 74 69 | 6d 65 5f 74 09 09 73 65 |e */..ti|me_t..se|
|00023fe0| 6d 5f 63 74 69 6d 65 3b | 09 2f 2a 20 6c 61 73 74 |m_ctime;|./* last|
|00023ff0| 20 63 68 61 6e 67 65 20 | 74 69 6d 65 20 2a 2f 0a | change |time */.|
|00024000| 7d 3b 0a 0a 2f 2a 0a 20 | 2a 09 54 68 65 72 65 20 |};../*. |*.There |
|00024010| 69 73 20 6f 6e 65 20 73 | 65 6d 61 70 68 6f 72 65 |is one s|emaphore|
|00024020| 20 73 74 72 75 63 74 75 | 72 65 20 66 6f 72 20 65 | structu|re for e|
|00024030| 61 63 68 20 73 65 6d 61 | 70 68 6f 72 65 20 69 6e |ach sema|phore in|
|00024040| 20 74 68 65 20 73 79 73 | 74 65 6d 2e 0a 20 2a 2f | the sys|tem.. */|
|00024050| 0a 0a 73 74 72 75 63 74 | 20 73 65 6d 20 7b 0a 09 |..struct| sem {..|
|00024060| 75 73 68 6f 72 74 09 73 | 65 6d 76 61 6c 3b 09 09 |ushort.s|emval;..|
|00024070| 2f 2a 20 73 65 6d 61 70 | 68 6f 72 65 20 74 65 78 |/* semap|hore tex|
|00024080| 74 20 6d 61 70 20 61 64 | 64 72 65 73 73 20 2a 2f |t map ad|dress */|
|00024090| 0a 09 73 68 6f 72 74 09 | 73 65 6d 70 69 64 3b 09 |..short.|sempid;.|
|000240a0| 09 2f 2a 20 70 69 64 20 | 6f 66 20 6c 61 73 74 20 |./* pid |of last |
|000240b0| 6f 70 65 72 61 74 69 6f | 6e 20 2a 2f 0a 09 75 73 |operatio|n */..us|
|000240c0| 68 6f 72 74 09 73 65 6d | 6e 63 6e 74 3b 09 2f 2a |hort.sem|ncnt;./*|
|000240d0| 20 23 20 61 77 61 69 74 | 69 6e 67 20 73 65 6d 76 | # await|ing semv|
|000240e0| 61 6c 20 3e 20 63 76 61 | 6c 20 2a 2f 0a 09 75 73 |al > cva|l */..us|
|000240f0| 68 6f 72 74 09 73 65 6d | 7a 63 6e 74 3b 09 2f 2a |hort.sem|zcnt;./*|
|00024100| 20 23 20 61 77 61 69 74 | 69 6e 67 20 73 65 6d 76 | # await|ing semv|
|00024110| 61 6c 20 3d 20 30 20 2a | 2f 0a 7d 3b 0a 0a 2f 2a |al = 0 *|/.};../*|
|00024120| 0a 2a 2a 09 54 68 65 72 | 65 20 69 73 20 6f 6e 65 |.**.Ther|e is one|
|00024130| 20 75 6e 64 6f 20 73 74 | 72 75 63 74 75 72 65 20 | undo st|ructure |
|00024140| 70 65 72 20 70 72 6f 63 | 65 73 73 20 69 6e 20 74 |per proc|ess in t|
|00024150| 68 65 20 73 79 73 74 65 | 6d 2e 0a 2a 2f 0a 0a 73 |he syste|m..*/..s|
|00024160| 74 72 75 63 74 20 73 65 | 6d 5f 75 6e 64 6f 20 7b |truct se|m_undo {|
|00024170| 0a 23 69 66 64 65 66 20 | 4d 5f 49 33 38 36 0a 09 |.#ifdef |M_I386..|
|00024180| 73 74 72 75 63 74 20 73 | 65 6d 5f 75 0a 00 0f 02 |struct s|em_u....|
|00024190| 00 1c 01 02 00 6e 64 6f | 09 20 2a 75 6e 5f 6e 70 |.....ndo|. *un_np|
|000241a0| 3b 09 2f 2a 20 70 74 72 | 20 74 6f 20 6e 65 78 74 |;./* ptr| to next|
|000241b0| 20 61 63 74 69 76 65 20 | 75 6e 64 6f 20 73 74 72 | active |undo str|
|000241c0| 75 63 74 75 72 65 20 2a | 2f 0a 23 65 6c 73 65 0a |ucture *|/.#else.|
|000241d0| 09 73 74 72 75 63 74 20 | 73 65 6d 5f 75 6e 64 6f |.struct |sem_undo|
|000241e0| 09 20 6e 65 61 72 20 2a | 75 6e 5f 6e 70 3b 09 2f |. near *|un_np;./|
|000241f0| 2a 20 70 74 72 20 74 6f | 20 6e 65 78 74 20 61 63 |* ptr to| next ac|
|00024200| 74 69 76 65 20 75 6e 64 | 6f 20 73 74 72 75 63 74 |tive und|o struct|
|00024210| 75 72 65 20 2a 2f 0a 23 | 65 6e 64 69 66 0a 09 73 |ure */.#|endif..s|
|00024220| 68 6f 72 74 09 09 75 6e | 5f 63 6e 74 3b 09 2f 2a |hort..un|_cnt;./*|
|00024230| 20 23 20 6f 66 20 61 63 | 74 69 76 65 20 65 6e 74 | # of ac|tive ent|
|00024240| 72 69 65 73 20 2a 2f 0a | 09 73 74 72 75 63 74 20 |ries */.|.struct |
|00024250| 75 6e 64 6f 20 7b 0a 09 | 09 73 68 6f 72 74 09 75 |undo {..|.short.u|
|00024260| 6e 5f 61 6f 65 3b 09 2f | 2a 20 61 64 6a 75 73 74 |n_aoe;./|* adjust|
|00024270| 20 6f 6e 20 65 78 69 74 | 20 76 61 6c 75 65 73 20 | on exit| values |
|00024280| 2a 2f 0a 09 09 73 68 6f | 72 74 09 75 6e 5f 6e 75 |*/...sho|rt.un_nu|
|00024290| 6d 3b 09 2f 2a 20 73 65 | 6d 61 70 68 6f 72 65 20 |m;./* se|maphore |
|000242a0| 23 20 2a 2f 0a 09 09 69 | 6e 74 09 75 6e 5f 69 64 |# */...i|nt.un_id|
|000242b0| 3b 09 2f 2a 20 73 65 6d | 69 64 20 2a 2f 0a 09 7d |;./* sem|id */..}|
|000242c0| 09 75 6e 5f 65 6e 74 5b | 31 5d 3b 09 2f 2a 20 75 |.un_ent[|1];./* u|
|000242d0| 6e 64 6f 20 65 6e 74 72 | 69 65 73 20 28 6f 6e 65 |ndo entr|ies (one|
|000242e0| 20 6d 69 6e 69 6d 75 6d | 29 20 2a 2f 0a 7d 3b 0a | minimum|) */.};.|
|000242f0| 0a 2f 2a 0a 2a 2a 20 73 | 65 6d 61 70 68 6f 72 65 |./*.** s|emaphore|
|00024300| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 73 74 72 | informa|tion str|
|00024310| 75 63 74 75 72 65 0a 2a | 2f 0a 73 74 72 75 63 74 |ucture.*|/.struct|
|00024320| 09 73 65 6d 69 6e 66 6f | 09 7b 0a 09 69 6e 74 09 |.seminfo|.{..int.|
|00024330| 73 65 6d 6d 61 70 2c 09 | 09 2f 2a 20 23 20 6f 66 |semmap,.|./* # of|
|00024340| 20 65 6e 74 72 69 65 73 | 20 69 6e 20 73 65 6d 61 | entries| in sema|
|00024350| 70 68 6f 72 65 20 6d 61 | 70 20 2a 2f 0a 09 09 73 |phore ma|p */...s|
|00024360| 65 6d 6d 6e 69 2c 09 09 | 2f 2a 20 23 20 6f 66 20 |emmni,..|/* # of |
|00024370| 73 65 6d 61 70 68 6f 72 | 65 20 69 64 65 6e 74 69 |semaphor|e identi|
|00024380| 66 69 65 72 73 20 2a 2f | 0a 09 09 73 65 6d 6d 6e |fiers */|...semmn|
|00024390| 73 2c 09 09 2f 0f 0a 01 | 81 0a 01 01 02 00 94 01 |s,../...|........|
|000243a0| 02 00 2a 20 23 20 6f 66 | 20 73 65 6d 61 70 68 6f |..* # of| semapho|
|000243b0| 72 65 73 20 69 6e 20 73 | 79 73 74 65 6d 20 2a 2f |res in s|ystem */|
|000243c0| 0a 09 09 73 65 6d 6d 6e | 75 2c 09 09 2f 2a 20 23 |...semmn|u,../* #|
|000243d0| 20 6f 66 20 75 6e 64 6f | 20 73 74 72 75 63 74 75 | of undo| structu|
|000243e0| 72 65 73 20 69 6e 20 73 | 79 73 74 65 6d 20 2a 2f |res in s|ystem */|
|000243f0| 0a 09 09 73 65 6d 6d 73 | 6c 2c 09 09 2f 2a 20 6d |...semms|l,../* m|
|00024400| 61 78 20 23 20 6f 66 20 | 73 65 6d 61 70 68 6f 72 |ax # of |semaphor|
|00024410| 65 73 20 70 65 72 20 69 | 64 20 2a 2f 0a 09 09 73 |es per i|d */...s|
|00024420| 65 6d 6f 70 6d 2c 09 09 | 2f 2a 20 6d 61 78 20 23 |emopm,..|/* max #|
|00024430| 20 6f 66 20 6f 70 65 72 | 61 74 69 6f 6e 73 20 70 | of oper|ations p|
|00024440| 65 72 20 73 65 6d 6f 70 | 20 63 61 6c 6c 20 2a 2f |er semop| call */|
|00024450| 0a 09 09 73 65 6d 75 6d | 65 2c 09 09 2f 2a 20 6d |...semum|e,../* m|
|00024460| 61 78 20 23 20 6f 66 20 | 75 6e 64 6f 20 65 6e 74 |ax # of |undo ent|
|00024470| 72 69 65 73 20 70 65 72 | 20 70 72 6f 63 65 73 73 |ries per| process|
|00024480| 20 2a 2f 0a 09 09 73 65 | 6d 75 73 7a 2c 09 09 2f | */...se|musz,../|
|00024490| 2a 20 73 69 7a 65 20 69 | 6e 20 62 79 74 65 73 20 |* size i|n bytes |
|000244a0| 6f 66 20 75 6e 64 6f 20 | 73 74 72 75 63 74 75 72 |of undo |structur|
|000244b0| 65 20 2a 2f 0a 09 09 73 | 65 6d 76 6d 78 2c 09 09 |e */...s|emvmx,..|
|000244c0| 2f 2a 20 73 65 6d 61 70 | 68 6f 72 65 20 6d 61 78 |/* semap|hore max|
|000244d0| 69 6d 75 6d 20 76 61 6c | 75 65 20 2a 2f 0a 09 09 |imum val|ue */...|
|000244e0| 73 65 6d 61 65 6d 3b 09 | 09 2f 2a 20 61 64 6a 75 |semaem;.|./* adju|
|000244f0| 73 74 20 6f 6e 20 65 78 | 69 74 20 6d 61 78 20 76 |st on ex|it max v|
|00024500| 61 6c 75 65 20 2a 2f 0a | 7d 3b 0a 0a 2f 2a 0a 20 |alue */.|};../*. |
|00024510| 2a 09 55 73 65 72 20 73 | 65 6d 61 70 68 6f 72 65 |*.User s|emaphore|
|00024520| 20 74 65 6d 70 6c 61 74 | 65 20 66 6f 72 20 73 65 | templat|e for se|
|00024530| 6d 6f 70 20 73 79 73 74 | 65 6d 20 63 61 6c 6c 73 |mop syst|em calls|
|00024540| 2e 0a 20 2a 2f 0a 0a 73 | 74 72 75 63 74 20 73 65 |.. */..s|truct se|
|00024550| 6d 62 75 66 20 7b 0a 09 | 75 73 68 6f 72 74 09 73 |mbuf {..|ushort.s|
|00024560| 65 6d 5f 6e 75 6d 3b 09 | 2f 2a 20 73 65 6d 61 70 |em_num;.|/* semap|
|00024570| 68 6f 72 65 20 23 20 2a | 2f 0a 09 73 68 6f 72 74 |hore # *|/..short|
|00024580| 09 73 65 6d 5f 6f 70 3b | 09 09 2f 2a 20 73 65 6d |.sem_op;|../* sem|
|00024590| 61 70 68 6f 72 65 20 6f | 70 65 72 61 74 69 6f 6e |aphore o|peration|
|000245a0| 20 2a 0a 01 02 02 00 63 | 01 02 00 2f 0a 09 73 68 | *.....c|.../..sh|
|000245b0| 6f 72 74 09 73 65 6d 5f | 66 6c 67 3b 09 2f 2a 20 |ort.sem_|flg;./* |
|000245c0| 6f 70 65 72 61 74 69 6f | 6e 20 66 6c 61 67 73 20 |operatio|n flags |
|000245d0| 2a 2f 0a 7d 3b 0a 0a 20 | 23 20 6f 66 20 75 6e 64 |*/.};.. |# of und|
|000245e0| 6f 20 73 74 72 75 63 74 | 75 72 65 73 20 69 6e 20 |o struct|ures in |
|000245f0| 73 79 73 74 65 6d 20 2a | 2f 0a 09 09 73 65 6d 6d |system *|/...semm|
|00024600| 73 6c 2c 09 09 2f 2a 20 | 6d 61 78 20 23 20 6f 66 |sl,../* |max # of|
|00024610| 20 73 65 6d 61 70 68 6f | 72 65 73 20 70 65 72 20 | semapho|res per |
|00024620| 69 64 20 2a 2f 0a 09 09 | 73 65 6d 6f 70 6d 2c 09 |id */...|semopm,.|
|00024630| 09 2f 2a 20 6d 61 78 20 | 23 20 6f 66 20 6f 70 65 |./* max |# of ope|
|00024640| 72 61 74 69 6f 6e 73 20 | 70 65 72 20 73 65 6d 6f |rations |per semo|
|00024650| 70 20 63 61 6c 6c 20 2a | 2f 0a 09 09 73 65 6d 75 |p call *|/...semu|
|00024660| 6d 65 2c 09 09 2f 2a 20 | 6d 61 78 20 23 20 6f 66 |me,../* |max # of|
|00024670| 20 75 6e 64 6f 20 65 6e | 74 72 69 65 73 20 70 65 | undo en|tries pe|
|00024680| 72 20 70 72 6f 63 65 73 | 73 20 2a 2f 0a 09 09 73 |r proces|s */...s|
|00024690| 65 6d 75 73 7a 2c 09 09 | 2f 2a 20 73 69 7a 65 20 |emusz,..|/* size |
|000246a0| 69 6e 20 62 79 74 65 73 | 20 6f 66 20 75 6e 64 6f |in bytes| of undo|
|000246b0| 20 73 74 72 75 63 74 75 | 72 65 20 2a 2f 0a 09 09 | structu|re */...|
|000246c0| 73 65 6d 76 6d 78 2c 09 | 09 2f 2a 20 73 65 6d 61 |semvmx,.|./* sema|
|000246d0| 70 68 6f 72 65 20 6d 61 | 78 69 6d 75 6d 20 76 61 |phore ma|ximum va|
|000246e0| 6c 75 65 20 2a 2f 0a 09 | 09 73 65 6d 61 65 6d 3b |lue */..|.semaem;|
|000246f0| 09 09 2f 2a 20 61 64 6a | 75 73 74 20 6f 6e 20 65 |../* adj|ust on e|
|00024700| 78 69 74 20 6d 61 78 20 | 76 61 6c 75 65 20 2a 2f |xit max |value */|
|00024710| 0a 7d 3b 0a 0a 2f 2a 0a | 20 2a 09 55 73 65 72 20 |.};../*.| *.User |
|00024720| 73 65 6d 61 70 68 6f 72 | 65 20 74 65 6d 70 6c 61 |semaphor|e templa|
|00024730| 74 65 20 66 6f 72 20 73 | 65 6d 6f 70 20 73 79 73 |te for s|emop sys|
|00024740| 74 65 6d 20 63 61 6c 6c | 73 2e 0a 20 2a 2f 0a 0a |tem call|s.. */..|
|00024750| 73 74 72 75 63 74 20 73 | 65 6d 62 75 66 20 7b 0a |struct s|embuf {.|
|00024760| 09 75 73 68 6f 72 74 09 | 73 65 6d 5f 6e 75 6d 3b |.ushort.|sem_num;|
|00024770| 09 2f 2a 20 73 65 6d 61 | 70 68 6f 72 65 20 23 20 |./* sema|phore # |
|00024780| 2a 2f 0a 09 73 68 6f 72 | 74 09 73 65 6d 5f 6f 70 |*/..shor|t.sem_op|
|00024790| 3b 09 09 2f 2a 20 73 65 | 6d 61 70 68 6f 72 65 20 |;../* se|maphore |
|000247a0| 6f 70 65 72 61 74 69 6f | 6e 20 2a 0a 01 03 02 00 |operatio|n *.....|
|000247b0| da 5f 00 02 00 1a 2e 2f | 75 73 72 2f 69 6e 63 6c |._...../|usr/incl|
|000247c0| 75 64 65 2f 73 79 73 2f | 73 65 6c 65 63 74 2e 68 |ude/sys/|select.h|
|000247d0| 01 25 00 00 00 38 20 20 | 20 34 34 34 20 00 20 20 |.%...8 | 444 . |
|000247e0| 20 20 20 30 20 00 20 20 | 20 20 20 30 20 00 20 20 | 0 . | 0 . |
|000247f0| 20 20 20 20 20 31 35 34 | 30 20 20 34 32 34 34 33 | 154|0 42443|
|00024800| 34 30 31 34 31 20 20 31 | 30 36 33 36 00 20 01 b2 |40141 1|0636. ..|
|00024810| 00 00 0a 01 04 02 00 61 | 01 02 00 2f 2a 0a 20 2a |.......a|.../*. *|
|00024820| 09 40 28 23 29 20 73 65 | 6c 65 63 74 2e 68 20 31 |.@(#) se|lect.h 1|
|00024830| 2e 31 20 38 38 2f 30 35 | 2f 31 38 20 0a 20 2a 0a |.1 88/05|/18 . *.|
|00024840| 20 2a 09 43 6f 70 79 72 | 69 67 68 74 20 28 43 29 | *.Copyr|ight (C)|
|00024850| 20 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 | The San|ta Cruz |
|00024860| 4f 70 65 72 61 74 69 6f | 6e 2c 20 31 39 38 38 2e |Operatio|n, 1988.|
|00024870| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|00024880| 29 20 4d 69 63 72 6f 73 | 6f 66 74 20 43 6f 72 70 |) Micros|oft Corp|
|00024890| 6f 72 61 74 69 6f 6e 2c | 20 31 39 38 38 2e 0a 20 |oration,| 1988.. |
|000248a0| 2a 09 54 68 69 73 20 4d | 6f 64 75 6c 65 20 63 6f |*.This M|odule co|
|000248b0| 6e 74 61 69 6e 73 20 50 | 72 6f 70 72 69 65 74 61 |ntains P|roprieta|
|000248c0| 72 79 20 49 6e 66 6f 72 | 6d 61 74 69 6f 6e 20 6f |ry Infor|mation o|
|000248d0| 66 0a 20 2a 09 54 68 65 | 20 53 61 6e 74 61 20 43 |f. *.The| Santa C|
|000248e0| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 4d |ruz Oper|ation, M|
|000248f0| 69 63 72 6f 73 6f 66 74 | 20 43 6f 72 70 6f 72 61 |icrosoft| Corpora|
|00024900| 74 69 6f 6e 0a 20 2a 09 | 61 6e 64 20 41 54 26 54 |tion. *.|and AT&T|
|00024910| 2c 20 61 6e 64 20 73 68 | 6f 75 6c 64 20 62 65 20 |, and sh|ould be |
|00024920| 74 72 65 61 74 65 64 20 | 61 73 20 43 6f 6e 66 69 |treated |as Confi|
|00024930| 64 65 6e 74 69 61 6c 2e | 0a 20 2a 2f 0a 0a 2f 2a |dential.|. */../*|
|00024940| 0a 20 2a 20 54 48 49 53 | 20 46 49 4c 45 20 43 4f |. * THIS| FILE CO|
|00024950| 4e 54 41 49 4e 53 20 43 | 4f 44 45 20 57 48 49 43 |NTAINS C|ODE WHIC|
|00024960| 48 20 49 53 20 44 45 53 | 49 47 4e 45 44 20 54 4f |H IS DES|IGNED TO|
|00024970| 20 42 45 0a 20 2a 20 50 | 4f 52 54 41 42 4c 45 20 | BE. * P|ORTABLE |
|00024980| 42 45 54 57 45 45 4e 20 | 44 49 46 46 45 52 45 4e |BETWEEN |DIFFEREN|
|00024990| 54 20 4d 41 43 48 49 4e | 45 20 41 52 43 48 49 54 |T MACHIN|E ARCHIT|
|000249a0| 45 43 54 55 52 45 53 0a | 20 2a 20 41 4e 44 20 43 |ECTURES.| * AND C|
|000249b0| 4f 4e 46 49 47 55 52 41 | 54 49 4f 4e 53 2e 20 49 |ONFIGURA|TIONS. I|
|000249c0| 54 20 53 48 4f 55 4c 44 | 20 4e 4f 54 20 52 45 51 |T SHOULD| NOT REQ|
|000249d0| 55 49 52 45 20 41 4e 59 | 0a 20 2a 20 4d 4f 44 49 |UIRE ANY|. * MODI|
|000249e0| 46 49 43 41 54 49 4f 4e | 53 20 57 48 45 4e 20 41 |FICATION|S WHEN A|
|000249f0| 44 41 50 54 49 4e 47 20 | 58 45 4e 49 58 20 54 4f |DAPTING |XENIX TO|
|00024a00| 20 4e 45 57 20 48 41 52 | 44 57 41 52 45 2e 0a 20 | NEW HAR|DWARE.. |
|00024a10| 2a 2f 0a 0a 2f 2a 0a 20 | 2a 20 43 0a 01 05 02 00 |*/../*. |* C.....|
|00024a20| 5b 01 02 00 6f 64 65 20 | 75 73 65 64 20 69 6e 74 |[...ode |used int|
|00024a30| 65 72 6e 61 6c 6c 79 20 | 66 6f 72 20 73 65 6c 65 |ernally |for sele|
|00024a40| 63 74 20 73 79 73 74 65 | 6d 20 63 61 6c 6c 2e 0a |ct syste|m call..|
|00024a50| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 49 4f 43 5f | */.#def|ine IOC_|
|00024a60| 53 45 4c 45 43 54 09 30 | 78 66 66 66 66 0a 0a 2f |SELECT.0|xffff../|
|00024a70| 2a 0a 20 2a 20 53 65 6c | 65 63 74 61 62 6c 65 20 |*. * Sel|ectable |
|00024a80| 63 6f 6e 64 69 74 69 6f | 6e 73 20 66 6f 72 20 73 |conditio|ns for s|
|00024a90| 65 6c 65 63 74 20 73 79 | 73 74 65 6d 20 63 61 6c |elect sy|stem cal|
|00024aa0| 6c 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 53 45 |l. */.#d|efine.SE|
|00024ab0| 4c 52 45 41 44 09 09 30 | 78 31 0a 23 64 65 66 69 |LREAD..0|x1.#defi|
|00024ac0| 6e 65 09 53 45 4c 57 52 | 49 54 45 09 30 78 32 0a |ne.SELWR|ITE.0x2.|
|00024ad0| 23 64 65 66 69 6e 65 09 | 53 45 4c 45 58 43 45 50 |#define.|SELEXCEP|
|00024ae0| 54 09 30 78 34 0a 0a 2f | 2a 0a 20 2a 20 53 74 72 |T.0x4../|*. * Str|
|00024af0| 75 63 74 75 72 65 20 75 | 73 65 64 20 74 6f 20 73 |ucture u|sed to s|
|00024b00| 70 65 63 69 66 79 20 74 | 69 6d 65 6f 75 74 20 69 |pecify t|imeout i|
|00024b10| 6e 20 73 65 6c 65 63 74 | 28 32 29 20 73 79 73 74 |n select|(2) syst|
|00024b20| 65 6d 20 63 61 6c 6c 2e | 0a 20 2a 2f 0a 73 74 72 |em call.|. */.str|
|00024b30| 75 63 74 20 74 69 6d 65 | 76 61 6c 20 7b 0a 09 6c |uct time|val {..l|
|00024b40| 6f 6e 67 09 74 76 5f 73 | 65 63 3b 09 09 2f 2a 20 |ong.tv_s|ec;../* |
|00024b50| 73 65 63 6f 6e 64 73 20 | 2a 2f 0a 09 6c 6f 6e 67 |seconds |*/..long|
|00024b60| 09 74 76 5f 75 73 65 63 | 3b 09 2f 2a 20 61 6e 64 |.tv_usec|;./* and|
|00024b70| 20 6d 69 63 72 6f 73 65 | 63 6f 6e 64 73 20 2a 2f | microse|conds */|
|00024b80| 0a 7d 3b 0a 41 42 4c 45 | 20 42 45 54 57 45 45 4e |.};.ABLE| BETWEEN|
|00024b90| 20 44 49 46 46 45 52 45 | 4e 54 20 4d 41 43 48 49 | DIFFERE|NT MACHI|
|00024ba0| 4e 45 20 41 52 43 48 49 | 54 45 43 54 55 52 45 53 |NE ARCHI|TECTURES|
|00024bb0| 0a 20 2a 20 41 4e 44 20 | 43 4f 4e 46 49 47 55 52 |. * AND |CONFIGUR|
|00024bc0| 41 54 49 4f 4e 53 2e 20 | 49 54 20 53 48 4f 55 4c |ATIONS. |IT SHOUL|
|00024bd0| 44 20 4e 4f 54 20 52 45 | 51 55 49 52 45 20 41 4e |D NOT RE|QUIRE AN|
|00024be0| 59 0a 20 2a 20 4d 4f 44 | 49 46 49 43 41 54 49 4f |Y. * MOD|IFICATIO|
|00024bf0| 4e 53 20 57 48 45 4e 20 | 41 44 41 50 54 49 4e 47 |NS WHEN |ADAPTING|
|00024c00| 20 58 45 4e 49 58 20 54 | 4f 20 4e 45 57 20 48 41 | XENIX T|O NEW HA|
|00024c10| 52 44 57 41 52 45 2e 0a | 20 2a 2f 0a 0a 2f 2a 0a |RDWARE..| */../*.|
|00024c20| 20 2a 20 43 0a 01 06 02 | 00 6d 5d 00 02 00 17 2e | * C....|.m].....|
|00024c30| 2f 75 73 72 2f 69 6e 63 | 6c 75 64 65 2f 73 79 73 |/usr/inc|lude/sys|
|00024c40| 2f 73 65 67 2e 68 01 26 | 00 00 00 39 00 20 20 20 |/seg.h.&|...9. |
|00024c50| 34 34 34 20 00 20 20 20 | 20 20 30 20 00 20 20 20 |444 . | 0 . |
|00024c60| 20 20 30 20 00 20 20 20 | 20 20 20 31 36 36 35 36 | 0 . | 16656|
|00024c70| 20 20 34 33 35 30 30 32 | 35 33 35 35 20 20 31 30 | 435002|5355 10|
|00024c80| 32 30 30 00 20 01 b2 00 | 00 0a 01 07 02 00 fd 01 |200. ...|........|
|00024c90| 02 00 2f 2a 0a 20 2a 09 | 40 28 23 29 20 73 65 67 |../*. *.|@(#) seg|
|00024ca0| 2e 68 20 32 2e 33 20 38 | 38 2f 31 32 2f 30 39 20 |.h 2.3 8|8/12/09 |
|00024cb0| 0a 20 2a 0a 20 2a 09 43 | 6f 70 79 72 69 67 68 74 |. *. *.C|opyright|
|00024cc0| 20 28 43 29 20 54 68 65 | 20 53 61 6e 74 61 20 43 | (C) The| Santa C|
|00024cd0| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 31 |ruz Oper|ation, 1|
|00024ce0| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|00024cf0| 20 31 39 38 37 2c 20 31 | 39 38 38 2e 0a 20 2a 09 | 1987, 1|988.. *.|
|00024d00| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 4d 69 |Copyrigh|t (C) Mi|
|00024d10| 63 72 6f 73 6f 66 74 20 | 43 6f 72 70 6f 72 61 74 |crosoft |Corporat|
|00024d20| 69 6f 6e 2c 20 31 39 38 | 34 2c 20 31 39 38 35 2c |ion, 198|4, 1985,|
|00024d30| 20 31 39 38 36 2c 20 31 | 39 38 37 2c 20 31 39 38 | 1986, 1|987, 198|
|00024d40| 38 2e 0a 20 2a 09 54 68 | 69 73 20 4d 6f 64 75 6c |8.. *.Th|is Modul|
|00024d50| 65 20 63 6f 6e 74 61 69 | 6e 73 20 50 72 6f 70 72 |e contai|ns Propr|
|00024d60| 69 65 74 61 72 79 20 49 | 6e 66 6f 72 6d 61 74 69 |ietary I|nformati|
|00024d70| 6f 6e 20 6f 66 0a 20 2a | 09 54 68 65 20 53 61 6e |on of. *|.The San|
|00024d80| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|00024d90| 6e 2c 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |n, Micro|soft Cor|
|00024da0| 70 6f 72 61 74 69 6f 6e | 0a 20 2a 09 61 6e 64 20 |poration|. *.and |
|00024db0| 41 54 26 54 2c 20 61 6e | 64 20 73 68 6f 75 6c 64 |AT&T, an|d should|
|00024dc0| 20 62 65 20 74 72 65 61 | 74 65 64 20 61 73 20 43 | be trea|ted as C|
|00024dd0| 6f 6e 66 69 64 65 6e 74 | 69 61 6c 2e 0a 20 2a 2f |onfident|ial.. */|
|00024de0| 0a 0a 23 69 66 64 65 66 | 20 4d 5f 49 33 38 36 0a |..#ifdef| M_I386.|
|00024df0| 0a 2f 2a 20 0a 20 2a 20 | 66 6f 72 6d 61 74 20 6f |./* . * |format o|
|00024e00| 66 20 61 20 64 65 73 63 | 72 69 70 74 6f 72 0a 20 |f a desc|riptor. |
|00024e10| 2a 0a 20 2a 09 4e 2e 42 | 2e 20 2d 20 74 68 65 20 |*. *.N.B|. - the |
|00024e20| 76 61 6c 75 65 20 6f 66 | 20 64 5f 74 79 70 65 20 |value of| d_type |
|00024e30| 68 61 73 20 64 69 66 66 | 65 72 65 6e 74 20 6d 65 |has diff|erent me|
|00024e40| 61 6e 69 6e 67 73 0a 20 | 2a 09 09 64 65 70 65 6e |anings. |*..depen|
|00024e50| 64 69 6e 67 20 6f 6e 20 | 74 68 65 20 76 61 6c 75 |ding on |the valu|
|00024e60| 65 20 6f 66 20 64 5f 73 | 65 67 6d 65 6e 74 2e 0a |e of d_s|egment..|
|00024e70| 20 2a 2f 0a 73 74 72 75 | 63 74 20 64 65 73 63 72 | */.stru|ct descr|
|00024e80| 69 70 74 6f 72 20 7b 0a | 09 75 6e 73 69 67 6e 65 |iptor {.|.unsigne|
|00024e90| 64 20 0a 01 08 02 00 f6 | 01 02 00 73 68 6f 72 74 |d ......|...short|
|00024ea0| 09 64 5f 6c 69 6d 69 74 | 6c 6f 3b 09 2f 2a 20 6c |.d_limit|lo;./* l|
|00024eb0| 6f 77 20 31 36 20 62 69 | 74 73 20 6f 66 20 6c 69 |ow 16 bi|ts of li|
|00024ec0| 6d 69 74 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |mit */..|unsigned|
|00024ed0| 20 73 68 6f 72 74 09 64 | 5f 62 61 73 65 6c 6f 3a | short.d|_baselo:|
|00024ee0| 31 36 3b 09 2f 2a 20 6c | 6f 77 20 31 36 20 62 69 |16;./* l|ow 16 bi|
|00024ef0| 74 73 20 6f 66 20 62 61 | 73 65 20 2a 2f 0a 09 75 |ts of ba|se */..u|
|00024f00| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 09 64 5f 62 |nsigned |char.d_b|
|00024f10| 61 73 65 6d 69 64 3a 38 | 3b 09 2f 2a 20 6d 69 64 |asemid:8|;./* mid|
|00024f20| 20 38 20 62 69 74 73 20 | 6f 66 20 62 61 73 65 20 | 8 bits |of base |
|00024f30| 2a 2f 0a 09 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |*/..unsi|gned cha|
|00024f40| 72 09 64 5f 74 79 70 65 | 3a 34 3b 09 2f 2a 20 74 |r.d_type|:4;./* t|
|00024f50| 79 70 65 20 6f 66 20 63 | 6f 6e 74 72 6f 6c 20 64 |ype of c|ontrol d|
|00024f60| 65 73 63 72 20 2a 2f 0a | 09 75 6e 73 69 67 6e 65 |escr */.|.unsigne|
|00024f70| 64 20 63 68 61 72 20 09 | 64 5f 73 65 67 6d 65 6e |d char .|d_segmen|
|00024f80| 74 3a 31 3b 09 2f 2a 20 | 31 20 3d 20 73 65 67 20 |t:1;./* |1 = seg |
|00024f90| 64 65 73 63 72 2c 20 30 | 20 3d 20 63 6f 6e 74 72 |descr, 0| = contr|
|00024fa0| 6f 6c 20 64 65 73 63 72 | 20 2a 2f 0a 09 75 6e 73 |ol descr| */..uns|
|00024fb0| 69 67 6e 65 64 20 63 68 | 61 72 09 64 5f 64 70 6c |igned ch|ar.d_dpl|
|00024fc0| 3a 32 3b 09 2f 2a 20 64 | 65 73 63 72 69 70 74 6f |:2;./* d|escripto|
|00024fd0| 72 20 70 72 69 76 20 6c | 65 76 65 6c 20 2a 2f 0a |r priv l|evel */.|
|00024fe0| 09 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 09 64 |.unsigne|d char.d|
|00024ff0| 5f 70 72 65 73 65 6e 74 | 3a 31 3b 09 2f 2a 20 30 |_present|:1;./* 0|
|00025000| 20 3d 20 6e 6f 74 20 70 | 72 65 73 65 6e 74 2c 20 | = not p|resent, |
|00025010| 31 20 3d 20 70 72 65 73 | 65 6e 74 20 2a 2f 0a 09 |1 = pres|ent */..|
|00025020| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 64 5f |unsigned| char.d_|
|00025030| 6c 69 6d 69 74 68 69 3a | 34 3b 09 2f 2a 20 68 69 |limithi:|4;./* hi|
|00025040| 67 68 20 34 20 62 69 74 | 73 20 6f 66 20 6c 69 6d |gh 4 bit|s of lim|
|00025050| 69 74 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |it */..u|nsigned |
|00025060| 63 68 61 72 09 64 5f 61 | 76 61 69 6c 3a 31 3b 09 |char.d_a|vail:1;.|
|00025070| 2f 2a 20 6e 6f 74 20 75 | 73 65 64 20 2a 2f 0a 09 |/* not u|sed */..|
|00025080| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 64 5f |unsigned| char.d_|
|00025090| 7a 65 72 6f 3a 31 3b 09 | 2f 2a 20 0a 01 09 02 00 |zero:1;.|/* .....|
|000250a0| 5c 01 02 00 6d 75 73 74 | 20 62 65 20 7a 65 72 6f |\...must| be zero|
|000250b0| 20 2a 2f 0a 09 75 6e 73 | 69 67 6e 65 64 20 63 68 | */..uns|igned ch|
|000250c0| 61 72 09 64 5f 73 69 7a | 65 3a 31 3b 09 2f 2a 20 |ar.d_siz|e:1;./* |
|000250d0| 64 65 66 61 75 6c 74 20 | 6f 70 2f 61 64 64 72 20 |default |op/addr |
|000250e0| 73 69 7a 65 20 2a 2f 0a | 09 75 6e 73 69 67 6e 65 |size */.|.unsigne|
|000250f0| 64 20 63 68 61 72 09 64 | 5f 67 72 61 6e 3a 31 3b |d char.d|_gran:1;|
|00025100| 09 2f 2a 20 67 72 61 6e | 75 6c 61 72 69 74 79 20 |./* gran|ularity |
|00025110| 6f 66 20 6c 69 6d 69 74 | 20 2a 2f 0a 09 75 6e 73 |of limit| */..uns|
|00025120| 69 67 6e 65 64 20 63 68 | 61 72 09 64 5f 62 61 73 |igned ch|ar.d_bas|
|00025130| 65 68 69 3a 38 3b 09 2f | 2a 20 68 69 67 68 20 38 |ehi:8;./|* high 8|
|00025140| 20 62 69 74 73 20 6f 66 | 20 62 61 73 65 20 2a 2f | bits of| base */|
|00025150| 0a 7d 3b 0a 0a 2f 2a 20 | 0a 20 2a 20 76 61 6c 75 |.};../* |. * valu|
|00025160| 65 73 20 6f 66 20 64 5f | 74 79 70 65 20 77 68 65 |es of d_|type whe|
|00025170| 6e 20 64 5f 73 65 67 6d | 65 6e 74 20 69 73 20 7a |n d_segm|ent is z|
|00025180| 65 72 6f 0a 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ero. */.|#define |
|00025190| 44 54 5f 55 4e 44 45 46 | 30 09 30 09 2f 2a 20 75 |DT_UNDEF|0.0./* u|
|000251a0| 6e 64 65 66 69 6e 65 64 | 20 2a 2f 0a 23 64 65 66 |ndefined| */.#def|
|000251b0| 69 6e 65 20 44 54 5f 41 | 54 53 53 32 38 36 09 31 |ine DT_A|TSS286.1|
|000251c0| 09 2f 2a 20 61 76 61 69 | 6c 61 62 6c 65 20 32 38 |./* avai|lable 28|
|000251d0| 36 20 74 73 73 20 2a 2f | 0a 23 64 65 66 69 6e 65 |6 tss */|.#define|
|000251e0| 20 44 54 5f 4c 44 54 09 | 09 32 09 2f 2a 20 6c 6f | DT_LDT.|.2./* lo|
|000251f0| 63 61 6c 20 64 65 73 63 | 72 69 70 74 6f 72 20 74 |cal desc|riptor t|
|00025200| 61 62 6c 65 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |able */.|#define |
|00025210| 44 54 5f 42 54 53 53 32 | 38 36 09 33 09 2f 2a 20 |DT_BTSS2|86.3./* |
|00025220| 62 75 73 79 20 32 38 36 | 20 74 73 73 20 2a 2f 0a |busy 286| tss */.|
|00025230| 23 64 65 66 69 6e 65 20 | 44 54 5f 43 41 4c 4c 47 |#define |DT_CALLG|
|00025240| 54 32 38 36 09 34 09 2f | 2a 20 32 38 36 20 63 61 |T286.4./|* 286 ca|
|00025250| 6c 6c 20 67 61 74 65 20 | 2a 2f 0a 23 64 65 66 69 |ll gate |*/.#defi|
|00025260| 6e 65 20 44 54 5f 54 41 | 53 4b 47 54 09 35 09 2f |ne DT_TA|SKGT.5./|
|00025270| 2a 20 74 61 73 6b 20 67 | 61 74 65 20 2a 2f 0a 23 |* task g|ate */.#|
|00025280| 64 65 66 69 6e 65 20 44 | 54 5f 49 4e 54 52 47 54 |define D|T_INTRGT|
|00025290| 32 38 36 09 36 09 2f 2a | 20 32 38 36 20 69 6e 74 |286.6./*| 286 int|
|000252a0| 65 72 72 75 0a 01 0a 02 | 00 0e 01 02 00 70 74 20 |erru....|.....pt |
|000252b0| 67 61 74 65 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |gate */.|#define |
|000252c0| 44 54 5f 54 52 41 50 47 | 54 32 38 36 09 37 09 2f |DT_TRAPG|T286.7./|
|000252d0| 2a 20 32 38 36 20 74 72 | 61 70 20 67 61 74 65 20 |* 286 tr|ap gate |
|000252e0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 44 54 5f 55 4e |*/.#defi|ne DT_UN|
|000252f0| 44 45 46 38 09 38 09 2f | 2a 20 75 6e 64 65 66 69 |DEF8.8./|* undefi|
|00025300| 6e 65 64 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 44 |ned */.#|define D|
|00025310| 54 5f 41 54 53 53 09 09 | 39 09 2f 2a 20 61 76 61 |T_ATSS..|9./* ava|
|00025320| 69 6c 61 62 6c 65 20 33 | 38 36 20 74 73 73 20 2a |ilable 3|86 tss *|
|00025330| 2f 0a 23 64 65 66 69 6e | 65 20 44 54 5f 55 4e 44 |/.#defin|e DT_UND|
|00025340| 45 46 31 30 09 31 30 09 | 2f 2a 20 75 6e 64 65 66 |EF10.10.|/* undef|
|00025350| 69 6e 65 64 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ined */.|#define |
|00025360| 44 54 5f 42 54 53 53 09 | 09 31 31 09 2f 2a 20 62 |DT_BTSS.|.11./* b|
|00025370| 75 73 79 20 33 38 36 20 | 74 73 73 20 2a 2f 0a 23 |usy 386 |tss */.#|
|00025380| 64 65 66 69 6e 65 20 44 | 54 5f 43 41 4c 4c 47 54 |define D|T_CALLGT|
|00025390| 09 31 32 09 2f 2a 20 33 | 38 36 20 63 61 6c 6c 20 |.12./* 3|86 call |
|000253a0| 67 61 74 65 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |gate */.|#define |
|000253b0| 44 54 5f 55 4e 44 45 46 | 31 33 09 31 33 09 2f 2a |DT_UNDEF|13.13./*|
|000253c0| 20 75 6e 64 65 66 69 6e | 65 64 20 2a 2f 0a 23 64 | undefin|ed */.#d|
|000253d0| 65 66 69 6e 65 20 44 54 | 5f 49 4e 54 52 47 54 09 |efine DT|_INTRGT.|
|000253e0| 31 34 09 2f 2a 20 33 38 | 36 20 69 6e 74 65 72 72 |14./* 38|6 interr|
|000253f0| 75 70 74 20 67 61 74 65 | 20 2a 2f 0a 23 64 65 66 |upt gate| */.#def|
|00025400| 69 6e 65 20 44 54 5f 54 | 52 41 50 47 54 09 31 35 |ine DT_T|RAPGT.15|
|00025410| 09 2f 2a 20 33 38 36 20 | 74 72 61 70 20 67 61 74 |./* 386 |trap gat|
|00025420| 65 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 76 61 6c 75 |e */../*|. * valu|
|00025430| 65 73 20 6f 66 20 64 5f | 74 79 70 65 20 77 68 65 |es of d_|type whe|
|00025440| 6e 20 64 5f 73 65 67 20 | 69 73 20 6f 6e 65 0a 20 |n d_seg |is one. |
|00025450| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 44 54 5f 41 43 |*/.#defi|ne DT_AC|
|00025460| 43 45 53 53 45 44 09 31 | 09 2f 2a 20 73 65 67 6d |CESSED.1|./* segm|
|00025470| 65 6e 74 20 68 61 73 20 | 62 65 65 6e 20 61 63 63 |ent has |been acc|
|00025480| 65 73 73 65 64 20 2a 2f | 0a 23 64 65 66 69 6e 65 |essed */|.#define|
|00025490| 20 44 54 5f 57 52 49 54 | 45 09 32 09 2f 2a 20 64 | DT_WRIT|E.2./* d|
|000254a0| 61 74 61 20 73 65 67 6d | 65 6e 74 20 69 0a 01 0b |ata segm|ent i...|
|000254b0| 02 00 d5 01 02 00 73 20 | 77 72 69 74 61 62 6c 65 |......s |writable|
|000254c0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 44 54 5f 52 | */.#def|ine DT_R|
|000254d0| 45 41 44 09 09 32 09 2f | 2a 20 63 6f 64 65 20 73 |EAD..2./|* code s|
|000254e0| 65 67 6d 65 6e 74 20 69 | 73 20 72 65 61 64 61 62 |egment i|s readab|
|000254f0| 6c 65 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 44 54 |le */.#d|efine DT|
|00025500| 5f 45 58 44 4f 57 4e 09 | 34 09 2f 2a 20 73 65 67 |_EXDOWN.|4./* seg|
|00025510| 6d 65 6e 74 20 65 78 70 | 61 6e 64 73 20 64 6f 77 |ment exp|ands dow|
|00025520| 6e 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 44 54 5f |n */.#de|fine DT_|
|00025530| 43 4f 4e 46 4f 52 4d 09 | 34 09 2f 2a 20 63 6f 64 |CONFORM.|4./* cod|
|00025540| 65 20 73 65 67 6d 65 6e | 74 20 69 73 20 63 6f 6e |e segmen|t is con|
|00025550| 66 6f 72 6d 69 6e 67 20 | 2a 2f 0a 23 64 65 66 69 |forming |*/.#defi|
|00025560| 6e 65 20 44 54 5f 49 53 | 43 4f 44 45 09 38 09 2f |ne DT_IS|CODE.8./|
|00025570| 2a 20 73 65 67 6d 65 6e | 74 20 69 73 20 63 6f 64 |* segmen|t is cod|
|00025580| 65 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 64 5f 74 79 |e */../*|. * d_ty|
|00025590| 70 65 20 76 61 6c 75 65 | 73 20 66 6f 72 20 73 74 |pe value|s for st|
|000255a0| 61 6e 64 61 72 64 20 63 | 6f 64 65 20 6f 72 20 64 |andard c|ode or d|
|000255b0| 61 74 61 20 73 65 67 6d | 65 6e 74 73 0a 20 2a 2f |ata segm|ents. */|
|000255c0| 0a 23 64 65 66 69 6e 65 | 20 44 54 5f 43 4f 44 45 |.#define| DT_CODE|
|000255d0| 09 09 28 44 54 5f 49 53 | 43 4f 44 45 7c 44 54 5f |..(DT_IS|CODE|DT_|
|000255e0| 52 45 41 44 29 0a 23 64 | 65 66 69 6e 65 20 44 54 |READ).#d|efine DT|
|000255f0| 5f 44 41 54 41 09 09 28 | 44 54 5f 57 52 49 54 45 |_DATA..(|DT_WRITE|
|00025600| 29 0a 0a 0a 2f 2a 0a 20 | 2a 20 76 61 6c 75 65 73 |).../*. |* values|
|00025610| 20 6f 66 20 64 5f 73 65 | 67 6d 65 6e 74 0a 20 2a | of d_se|gment. *|
|00025620| 2f 0a 23 64 65 66 69 6e | 65 20 44 53 5f 43 54 52 |/.#defin|e DS_CTR|
|00025630| 4c 09 09 30 0a 23 64 65 | 66 69 6e 65 20 44 53 5f |L..0.#de|fine DS_|
|00025640| 53 45 47 09 09 31 0a 0a | 2f 2a 0a 20 2a 20 76 61 |SEG..1..|/*. * va|
|00025650| 6c 75 65 73 20 6f 66 20 | 64 5f 64 70 6c 0a 20 2a |lues of |d_dpl. *|
|00025660| 2f 0a 23 64 65 66 69 6e | 65 20 44 50 4c 5f 4b 45 |/.#defin|e DPL_KE|
|00025670| 52 4e 45 4c 09 30 09 0a | 23 64 65 66 69 6e 65 20 |RNEL.0..|#define |
|00025680| 44 50 4c 5f 55 53 45 52 | 09 33 0a 0a 2f 2a 0a 20 |DPL_USER|.3../*. |
|00025690| 2a 20 76 61 6c 75 65 73 | 20 6f 66 20 64 5f 70 72 |* values| of d_pr|
|000256a0| 65 73 65 6e 74 0a 20 2a | 2f 0a 23 64 65 66 69 6e |esent. *|/.#defin|
|000256b0| 65 20 44 50 5f 41 0a 01 | 0c 02 00 ae 01 02 00 42 |e DP_A..|.......B|
|000256c0| 53 45 4e 54 09 30 0a 23 | 64 65 66 69 6e 65 20 44 |SENT.0.#|define D|
|000256d0| 50 5f 50 52 45 53 45 4e | 54 09 31 0a 0a 0a 2f 2a |P_PRESEN|T.1.../*|
|000256e0| 0a 20 2a 20 76 61 6c 75 | 65 73 20 6f 66 20 64 5f |. * valu|es of d_|
|000256f0| 73 69 7a 65 0a 20 2a 2f | 0a 23 64 65 66 69 6e 65 |size. */|.#define|
|00025700| 20 44 53 5a 5f 31 36 42 | 49 54 09 30 0a 23 64 65 | DSZ_16B|IT.0.#de|
|00025710| 66 69 6e 65 20 44 53 5a | 5f 33 32 42 49 54 09 31 |fine DSZ|_32BIT.1|
|00025720| 0a 0a 2f 2a 0a 20 2a 20 | 76 61 6c 75 65 73 20 6f |../*. * |values o|
|00025730| 66 20 64 5f 67 72 61 6e | 0a 20 2a 2f 0a 23 64 65 |f d_gran|. */.#de|
|00025740| 66 69 6e 65 20 44 47 5f | 42 59 54 45 09 09 30 0a |fine DG_|BYTE..0.|
|00025750| 23 64 65 66 69 6e 65 20 | 44 47 5f 50 41 47 45 09 |#define |DG_PAGE.|
|00025760| 09 31 0a 0a 2f 2a 0a 20 | 2a 20 6d 61 63 72 6f 73 |.1../*. |* macros|
|00025770| 20 74 6f 20 73 74 72 69 | 70 20 6f 75 74 20 70 72 | to stri|p out pr|
|00025780| 6f 70 65 72 20 70 61 72 | 74 73 20 0a 20 2a 20 6f |oper par|ts . * o|
|00025790| 66 20 62 61 73 65 20 61 | 6e 64 20 6c 69 6d 69 74 |f base a|nd limit|
|000257a0| 20 74 6f 20 6d 61 74 63 | 68 20 73 74 72 75 63 74 | to matc|h struct|
|000257b0| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 62 61 73 |. */.#de|fine bas|
|000257c0| 65 6c 6f 28 61 29 09 28 | 28 28 69 6e 74 29 28 61 |elo(a).(|((int)(a|
|000257d0| 29 29 20 26 20 30 78 66 | 66 66 66 29 09 09 2f 2a |)) & 0xf|fff)../*|
|000257e0| 20 62 69 74 73 20 30 20 | 2d 20 31 35 20 2a 2f 0a | bits 0 |- 15 */.|
|000257f0| 23 64 65 66 69 6e 65 20 | 62 61 73 65 6d 69 64 28 |#define |basemid(|
|00025800| 61 29 09 28 28 28 28 69 | 6e 74 29 28 61 29 29 20 |a).((((i|nt)(a)) |
|00025810| 3e 3e 20 31 36 29 20 26 | 20 28 30 78 66 66 29 29 |>> 16) &| (0xff))|
|00025820| 09 2f 2a 20 62 69 74 73 | 20 31 36 20 2d 20 32 33 |./* bits| 16 - 23|
|00025830| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 62 61 73 65 | */.#def|ine base|
|00025840| 68 69 28 61 29 09 28 28 | 28 69 6e 74 29 28 61 29 |hi(a).((|(int)(a)|
|00025850| 29 20 3e 3e 20 32 34 29 | 09 09 2f 2a 20 62 69 74 |) >> 24)|../* bit|
|00025860| 73 20 32 34 20 2d 20 33 | 31 20 2a 2f 0a 23 64 65 |s 24 - 3|1 */.#de|
|00025870| 66 69 6e 65 20 6c 69 6d | 69 74 6c 6f 28 6c 29 09 |fine lim|itlo(l).|
|00025880| 28 28 28 69 6e 74 29 28 | 6c 29 29 20 26 20 28 30 |(((int)(|l)) & (0|
|00025890| 78 66 66 66 66 29 29 09 | 09 2f 2a 20 62 69 74 73 |xffff)).|./* bits|
|000258a0| 20 30 20 2d 20 31 35 20 | 2a 2f 0a 23 64 65 66 69 | 0 - 15 |*/.#defi|
|000258b0| 6e 65 20 6c 69 6d 69 74 | 68 69 28 6c 29 09 28 0a |ne limit|hi(l).(.|
|000258c0| 01 0d 02 00 0b 01 02 00 | 28 28 28 69 6e 74 29 28 |........|(((int)(|
|000258d0| 6c 29 29 20 3e 3e 20 31 | 36 29 20 26 20 28 30 78 |l)) >> 1|6) & (0x|
|000258e0| 66 29 29 20 09 2f 2a 20 | 62 69 74 73 20 31 36 20 |f)) ./* |bits 16 |
|000258f0| 2d 20 31 39 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 20 6d |- 19 */.|./*. * m|
|00025900| 61 63 72 6f 73 20 74 6f | 20 67 65 74 20 62 61 73 |acros to| get bas|
|00025910| 65 20 61 6e 64 20 6c 69 | 6d 69 74 20 76 61 6c 75 |e and li|mit valu|
|00025920| 65 73 20 6f 75 74 20 6f | 66 20 64 65 73 63 72 69 |es out o|f descri|
|00025930| 70 74 6f 72 20 73 74 72 | 75 63 74 75 72 65 0a 20 |ptor str|ucture. |
|00025940| 2a 20 69 6e 74 6f 20 61 | 20 6c 6f 6e 67 2e 0a 20 |* into a| long.. |
|00025950| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 64 65 73 63 5f |*/.#defi|ne desc_|
|00025960| 6c 69 6d 69 74 28 61 29 | 09 28 28 28 6c 6f 6e 67 |limit(a)|.(((long|
|00025970| 29 20 28 61 29 2e 64 5f | 6c 69 6d 69 74 68 69 20 |) (a).d_|limithi |
|00025980| 3c 3c 20 31 36 29 20 7c | 09 28 61 29 2e 64 5f 6c |<< 16) ||.(a).d_l|
|00025990| 69 6d 69 74 6c 6f 29 0a | 23 64 65 66 69 6e 65 20 |imitlo).|#define |
|000259a0| 64 65 73 63 5f 62 61 73 | 65 28 61 29 09 28 28 28 |desc_bas|e(a).(((|
|000259b0| 6c 6f 6e 67 29 20 28 61 | 29 2e 64 5f 62 61 73 65 |long) (a|).d_base|
|000259c0| 68 69 20 3c 3c 20 32 34 | 29 20 7c 09 09 5c 0a 09 |hi << 24|) |..\..|
|000259d0| 09 09 28 28 6c 6f 6e 67 | 29 20 28 61 29 2e 64 5f |..((long|) (a).d_|
|000259e0| 62 61 73 65 6d 69 64 20 | 3c 3c 20 31 36 29 20 7c |basemid |<< 16) ||
|000259f0| 09 09 5c 0a 09 09 09 09 | 28 61 29 2e 64 5f 62 61 |..\.....|(a).d_ba|
|00025a00| 73 65 6c 6f 29 0a 0a 2f | 2a 0a 20 2a 20 66 6f 72 |selo)../|*. * for|
|00025a10| 6d 61 74 20 6f 66 20 61 | 20 73 65 6c 65 63 74 6f |mat of a| selecto|
|00025a20| 72 0a 20 2a 2f 0a 73 74 | 72 75 63 74 20 73 65 6c |r. */.st|ruct sel|
|00025a30| 65 63 74 6f 72 20 7b 0a | 09 75 6e 73 69 67 6e 65 |ector {.|.unsigne|
|00025a40| 64 20 73 5f 72 70 6c 3a | 32 3b 09 2f 2a 20 73 65 |d s_rpl:|2;./* se|
|00025a50| 6c 65 63 74 6f 72 20 72 | 69 6e 67 20 70 72 69 76 |lector r|ing priv|
|00025a60| 20 6c 65 76 65 6c 20 2a | 2f 0a 09 75 6e 73 69 67 | level *|/..unsig|
|00025a70| 6e 65 64 20 73 5f 74 69 | 3a 31 3b 09 2f 2a 20 74 |ned s_ti|:1;./* t|
|00025a80| 61 62 6c 65 20 69 6e 64 | 65 78 2c 20 30 20 3d 20 |able ind|ex, 0 = |
|00025a90| 67 64 74 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |gdt */..|unsigned|
|00025aa0| 20 73 5f 69 6e 64 65 78 | 3a 31 33 3b 09 2f 2a 20 | s_index|:13;./* |
|00025ab0| 69 6e 64 65 78 20 69 6e | 74 6f 20 74 61 62 6c 65 |index in|to table|
|00025ac0| 20 2a 2f 0a 7d 3b 0a 0a | 0a 01 0e 02 00 94 01 02 | */.};..|........|
|00025ad0| 00 0a 2f 2a 0a 20 2a 20 | 66 6f 72 6d 61 74 20 6f |../*. * |format o|
|00025ae0| 66 20 61 20 67 61 74 65 | 20 64 65 73 63 72 69 70 |f a gate| descrip|
|00025af0| 74 6f 72 0a 20 2a 2f 0a | 73 74 72 75 63 74 20 67 |tor. */.|struct g|
|00025b00| 61 74 65 20 7b 0a 09 75 | 6e 73 69 67 6e 65 64 20 |ate {..u|nsigned |
|00025b10| 73 68 6f 72 74 09 67 5f | 6f 66 66 73 65 74 6c 6f |short.g_|offsetlo|
|00025b20| 3b 09 2f 2a 20 6c 6f 77 | 20 31 36 20 62 69 74 73 |;./* low| 16 bits|
|00025b30| 20 6f 66 20 6f 66 66 73 | 65 74 20 2a 2f 0a 09 75 | of offs|et */..u|
|00025b40| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 09 67 5f |nsigned |short.g_|
|00025b50| 73 65 6c 3b 20 20 09 2f | 2a 20 73 65 6c 65 63 74 |sel; ./|* select|
|00025b60| 6f 72 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |or */..u|nsigned |
|00025b70| 63 68 61 72 09 67 5f 77 | 63 6e 74 3a 35 3b 09 2f |char.g_w|cnt:5;./|
|00025b80| 2a 20 77 6f 72 64 20 63 | 6f 75 6e 74 20 2a 2f 0a |* word c|ount */.|
|00025b90| 09 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 09 67 |.unsigne|d char.g|
|00025ba0| 5f 7a 65 72 6f 3a 33 3b | 09 2f 2a 20 6d 75 73 74 |_zero:3;|./* must|
|00025bb0| 20 62 65 20 7a 65 72 6f | 20 2a 2f 0a 09 75 6e 73 | be zero| */..uns|
|00025bc0| 69 67 6e 65 64 20 63 68 | 61 72 09 67 5f 74 79 70 |igned ch|ar.g_typ|
|00025bd0| 65 3a 34 3b 09 2f 2a 20 | 74 79 70 65 20 6f 66 20 |e:4;./* |type of |
|00025be0| 63 6f 6e 74 72 6f 6c 20 | 64 65 73 63 72 69 70 74 |control |descript|
|00025bf0| 6f 72 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |or */..u|nsigned |
|00025c00| 63 68 61 72 09 67 5f 7a | 65 72 6f 32 3a 31 3b 09 |char.g_z|ero2:1;.|
|00025c10| 2f 2a 20 6d 75 73 74 20 | 62 65 20 7a 65 72 6f 20 |/* must |be zero |
|00025c20| 2a 2f 0a 09 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |*/..unsi|gned cha|
|00025c30| 72 09 67 5f 64 70 6c 3a | 32 3b 09 2f 2a 20 64 65 |r.g_dpl:|2;./* de|
|00025c40| 73 63 72 69 70 74 6f 72 | 20 70 72 69 76 20 6c 65 |scriptor| priv le|
|00025c50| 76 65 6c 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |vel */..|unsigned|
|00025c60| 20 63 68 61 72 09 67 5f | 70 72 65 73 65 6e 74 3a | char.g_|present:|
|00025c70| 31 3b 09 2f 2a 20 30 20 | 3d 20 6e 6f 74 20 70 72 |1;./* 0 |= not pr|
|00025c80| 65 73 65 6e 74 2c 20 31 | 20 3d 20 70 72 65 73 65 |esent, 1| = prese|
|00025c90| 6e 74 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |nt */..u|nsigned |
|00025ca0| 73 68 6f 72 74 09 67 5f | 6f 66 66 73 65 74 68 69 |short.g_|offsethi|
|00025cb0| 3b 09 2f 2a 20 68 69 67 | 68 20 31 36 20 62 69 74 |;./* hig|h 16 bit|
|00025cc0| 73 20 6f 66 20 6f 66 66 | 73 65 74 20 2a 2f 0a 7d |s of off|set */.}|
|00025cd0| 3b 0a 01 0f 02 00 8f 01 | 02 00 0a 0a 2f 2a 0a 20 |;.......|..../*. |
|00025ce0| 2a 20 6d 61 63 72 6f 73 | 20 74 6f 20 73 74 72 69 |* macros| to stri|
|00025cf0| 70 20 6f 75 74 20 70 72 | 6f 70 65 72 20 70 61 72 |p out pr|oper par|
|00025d00| 74 73 20 0a 20 2a 20 6f | 66 20 6f 66 66 73 65 74 |ts . * o|f offset|
|00025d10| 20 74 6f 20 6d 61 74 63 | 68 20 73 74 72 75 63 74 | to matc|h struct|
|00025d20| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 6f 66 66 |. */.#de|fine off|
|00025d30| 73 65 74 6c 6f 28 61 29 | 09 28 28 28 69 6e 74 29 |setlo(a)|.(((int)|
|00025d40| 61 29 20 26 20 30 78 66 | 66 66 66 29 09 09 2f 2a |a) & 0xf|fff)../*|
|00025d50| 20 62 69 74 73 20 30 20 | 2d 20 31 35 20 2a 2f 0a | bits 0 |- 15 */.|
|00025d60| 23 64 65 66 69 6e 65 20 | 6f 66 66 73 65 74 68 69 |#define |offsethi|
|00025d70| 28 61 29 09 28 28 28 69 | 6e 74 29 61 29 20 3e 3e |(a).(((i|nt)a) >>|
|00025d80| 20 31 36 29 09 09 2f 2a | 20 62 69 74 73 20 31 36 | 16)../*| bits 16|
|00025d90| 20 2d 20 33 31 20 2a 2f | 0a 0a 2f 2a 20 0a 20 2a | - 31 */|../* . *|
|00025da0| 20 6d 61 63 72 6f 20 74 | 6f 20 63 6f 6e 76 65 72 | macro t|o conver|
|00025db0| 74 20 73 65 6c 65 63 74 | 6f 72 20 74 6f 20 6f 66 |t select|or to of|
|00025dc0| 66 73 65 74 20 69 6e 74 | 6f 20 74 61 62 6c 65 0a |fset int|o table.|
|00025dd0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 73 74 6f 69 | */.#def|ine stoi|
|00025de0| 28 73 65 6c 29 09 28 28 | 28 75 6e 73 69 67 6e 65 |(sel).((|(unsigne|
|00025df0| 64 20 73 68 6f 72 74 29 | 28 73 65 6c 29 29 20 3e |d short)|(sel)) >|
|00025e00| 3e 20 33 29 0a 0a 23 64 | 65 66 69 6e 65 20 4e 55 |> 3)..#d|efine NU|
|00025e10| 4c 4c 5f 53 45 4c 09 30 | 78 30 0a 23 64 65 66 69 |LL_SEL.0|x0.#defi|
|00025e20| 6e 65 20 47 44 54 5f 53 | 45 4c 09 09 30 78 38 0a |ne GDT_S|EL..0x8.|
|00025e30| 23 64 65 66 69 6e 65 20 | 49 44 54 5f 53 45 4c 09 |#define |IDT_SEL.|
|00025e40| 09 30 78 31 30 0a 23 64 | 65 66 69 6e 65 20 4b 44 |.0x10.#d|efine KD|
|00025e50| 53 5f 53 45 4c 09 09 30 | 78 31 38 0a 23 64 65 66 |S_SEL..0|x18.#def|
|00025e60| 69 6e 65 20 4b 43 53 5f | 53 45 4c 09 09 30 78 32 |ine KCS_|SEL..0x2|
|00025e70| 30 0a 23 64 65 66 69 6e | 65 20 45 4d 55 4c 55 5f |0.#defin|e EMULU_|
|00025e80| 53 45 4c 09 30 78 32 42 | 0a 23 64 65 66 69 6e 65 |SEL.0x2B|.#define|
|00025e90| 20 44 45 42 55 47 5f 53 | 45 4c 09 30 78 34 30 0a | DEBUG_S|EL.0x40.|
|00025ea0| 23 64 65 66 69 6e 65 20 | 4b 53 53 5f 53 45 4c 09 |#define |KSS_SEL.|
|00025eb0| 09 30 78 34 38 0a 23 64 | 65 66 69 6e 65 20 54 53 |.0x48.#d|efine TS|
|00025ec0| 53 5f 53 45 4c 09 09 30 | 78 35 30 0a 23 64 65 66 |S_SEL..0|x50.#def|
|00025ed0| 69 6e 65 20 4c 44 54 5f | 53 45 0f 0b 00 9f 0b 00 |ine LDT_|SE......|
|00025ee0| 01 02 00 72 01 02 00 4c | 09 09 30 78 35 38 0a 0a |...r...L|..0x58..|
|00025ef0| 23 69 66 64 65 66 20 56 | 50 49 58 0a 23 64 65 66 |#ifdef V|PIX.#def|
|00025f00| 69 6e 65 20 44 46 54 53 | 53 5f 53 45 4c 09 30 78 |ine DFTS|S_SEL.0x|
|00025f10| 36 30 0a 23 65 6e 64 69 | 66 0a 0a 23 64 65 66 69 |60.#endi|f..#defi|
|00025f20| 6e 65 20 4b 57 4f 52 4b | 31 09 09 30 78 39 38 0a |ne KWORK|1..0x98.|
|00025f30| 0a 23 69 66 64 65 66 20 | 56 50 49 58 0a 23 64 65 |.#ifdef |VPIX.#de|
|00025f40| 66 69 6e 65 20 54 5f 54 | 53 53 53 45 4c 09 30 78 |fine T_T|SSSEL.0x|
|00025f50| 31 30 30 0a 23 64 65 66 | 69 6e 65 20 58 54 53 53 |100.#def|ine XTSS|
|00025f60| 53 45 4c 09 09 30 78 31 | 30 38 0a 23 64 65 66 69 |SEL..0x1|08.#defi|
|00025f70| 6e 65 20 55 5f 54 53 53 | 53 45 4c 09 30 78 31 31 |ne U_TSS|SEL.0x11|
|00025f80| 30 09 09 2f 2a 20 61 6c | 77 61 79 73 20 70 6f 69 |0../* al|ways poi|
|00025f90| 6e 74 73 20 61 74 20 74 | 73 73 20 2a 2f 0a 23 65 |nts at t|ss */.#e|
|00025fa0| 6e 64 69 66 0a 0a 23 64 | 65 66 69 6e 65 20 4c 41 |ndif..#d|efine LA|
|00025fb0| 53 54 5f 53 45 4c 09 30 | 78 31 31 38 0a 0a 23 64 |ST_SEL.0|x118..#d|
|00025fc0| 65 66 69 6e 65 20 53 45 | 4c 53 5a 09 09 73 69 7a |efine SE|LSZ..siz|
|00025fd0| 65 6f 66 28 73 74 72 75 | 63 74 20 64 65 73 63 72 |eof(stru|ct descr|
|00025fe0| 69 70 74 6f 72 29 0a 0a | 23 64 65 66 69 6e 65 09 |iptor)..|#define.|
|00025ff0| 43 47 41 54 45 5f 53 59 | 53 09 30 78 37 09 2f 2a |CGATE_SY|S.0x7./*|
|00026000| 20 6b 65 72 6e 65 6c 20 | 65 6e 74 72 79 20 73 65 | kernel |entry se|
|00026010| 6c 65 63 74 6f 72 20 28 | 73 79 73 74 65 6d 20 63 |lector (|system c|
|00026020| 61 6c 6c 29 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |all) */.|#define.|
|00026030| 43 47 41 54 45 5f 53 49 | 47 09 30 78 66 09 2f 2a |CGATE_SI|G.0xf./*|
|00026040| 20 6b 65 72 6e 65 6c 20 | 65 6e 74 72 79 20 73 65 | kernel |entry se|
|00026050| 6c 65 63 74 6f 72 20 28 | 73 69 67 6e 61 6c 20 72 |lector (|signal r|
|00026060| 65 74 75 72 6e 29 20 2a | 2f 0a 23 64 65 66 69 6e |eturn) *|/.#defin|
|00026070| 65 20 55 49 43 50 53 45 | 4c 09 09 30 78 31 34 0a |e UICPSE|L..0x14.|
|00026080| 23 64 65 66 69 6e 65 20 | 55 44 43 50 53 45 4c 09 |#define |UDCPSEL.|
|00026090| 09 30 78 31 63 0a 23 64 | 65 66 69 6e 65 20 53 54 |.0x1c.#d|efine ST|
|000260a0| 4b 41 4c 49 41 53 5f 53 | 45 4c 09 30 78 32 37 09 |KALIAS_S|EL.0x27.|
|000260b0| 2f 2a 20 61 6c 69 61 73 | 20 33 32 20 62 69 74 20 |/* alias| 32 bit |
|000260c0| 73 74 61 63 6b 20 73 65 | 6c 65 63 74 6f 72 20 66 |stack se|lector f|
|000260d0| 6f 72 20 65 6d 75 6c 61 | 74 6f 72 20 2a 2f 0a 23 |or emula|tor */.#|
|000260e0| 64 65 66 69 6e 65 20 0b | 00 02 02 00 ed 01 02 00 |define .|........|
|000260f0| 55 53 45 52 46 50 5f 53 | 45 4c 09 30 78 32 66 09 |USERFP_S|EL.0x2f.|
|00026100| 2f 2a 20 64 61 74 61 20 | 73 65 6c 65 63 74 6f 72 |/* data |selector|
|00026110| 20 66 6f 72 20 65 6d 75 | 6c 61 74 6f 72 20 2a 2f | for emu|lator */|
|00026120| 0a 23 64 65 66 69 6e 65 | 20 46 49 52 53 54 55 5f |.#define| FIRSTU_|
|00026130| 53 45 4c 09 30 78 33 66 | 0a 0a 2f 2a 0a 20 2a 09 |SEL.0x3f|../*. *.|
|00026140| 54 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 74 77 |The foll|owing tw|
|00026150| 6f 20 64 65 66 69 6e 65 | 73 20 61 72 65 20 75 73 |o define|s are us|
|00026160| 65 64 20 69 6e 20 78 64 | 61 74 61 2e 63 2e 20 43 |ed in xd|ata.c. C|
|00026170| 53 41 4c 49 41 53 5f 53 | 45 4c 0a 20 2a 09 69 73 |SALIAS_S|EL. *.is|
|00026180| 20 61 20 68 61 72 64 77 | 69 72 65 64 20 73 65 6c | a hardw|ired sel|
|00026190| 65 63 74 6f 72 20 75 73 | 65 64 20 61 73 20 74 68 |ector us|ed as th|
|000261a0| 65 20 43 53 20 61 6c 69 | 61 73 20 77 68 65 6e 20 |e CS ali|as when |
|000261b0| 65 78 65 63 73 65 67 0a | 20 2a 09 69 73 20 63 61 |execseg.| *.is ca|
|000261c0| 6c 6c 65 64 20 66 72 6f | 6d 20 61 20 33 38 36 20 |lled fro|m a 386 |
|000261d0| 70 72 6f 67 72 61 6d 2e | 20 43 75 72 72 65 6e 74 |program.| Current|
|000261e0| 6c 79 20 74 68 65 20 6f | 6e 6c 79 20 76 61 6c 69 |ly the o|nly vali|
|000261f0| 64 20 61 72 67 75 6d 65 | 6e 74 0a 20 2a 09 66 6f |d argume|nt. *.fo|
|00026200| 72 20 33 38 36 20 65 78 | 65 63 73 65 67 20 69 73 |r 386 ex|ecseg is|
|00026210| 20 44 53 45 4c 33 38 36 | 2c 20 74 68 61 74 20 69 | DSEL386|, that i|
|00026220| 73 20 74 68 65 20 66 69 | 72 73 74 20 61 6e 64 20 |s the fi|rst and |
|00026230| 6f 6e 6c 79 20 64 61 74 | 61 0a 20 2a 09 73 65 6c |only dat|a. *.sel|
|00026240| 65 63 74 6f 72 0a 20 2a | 2f 0a 23 64 65 66 69 6e |ector. *|/.#defin|
|00026250| 65 20 43 53 41 4c 49 41 | 53 5f 53 45 4c 09 30 78 |e CSALIA|S_SEL.0x|
|00026260| 33 37 09 2f 2a 20 43 53 | 20 61 6c 69 61 73 20 74 |37./* CS| alias t|
|00026270| 6f 20 44 53 20 66 6f 72 | 20 33 38 36 20 70 72 6f |o DS for| 386 pro|
|00026280| 67 72 61 6d 73 20 2a 2f | 0a 23 64 65 66 69 6e 65 |grams */|.#define|
|00026290| 20 44 53 45 4c 33 38 36 | 09 09 30 78 34 37 09 2f | DSEL386|..0x47./|
|000262a0| 2a 20 33 38 36 20 44 61 | 74 61 20 53 65 6c 65 63 |* 386 Da|ta Selec|
|000262b0| 74 6f 72 2c 20 48 61 72 | 64 77 69 72 65 64 20 2a |tor, Har|dwired *|
|000262c0| 2f 0a 0a 23 64 65 66 69 | 6e 65 20 4e 47 44 54 09 |/..#defi|ne NGDT.|
|000262d0| 09 36 30 09 09 2f 2a 20 | 6e 75 6d 62 65 72 20 6f |.60../* |number o|
|000262e0| 66 20 47 44 54 20 65 6e | 74 72 69 65 73 20 2a 2f |f GDT en|tries */|
|000262f0| 0b 00 03 02 00 74 01 02 | 00 0a 23 64 65 66 69 6e |.....t..|..#defin|
|00026300| 65 09 4d 41 58 4c 44 54 | 09 09 38 31 39 32 09 09 |e.MAXLDT|..8192..|
|00026310| 2f 2a 20 6d 61 78 69 6d | 75 6d 20 6e 75 6d 62 65 |/* maxim|um numbe|
|00026320| 72 20 6f 66 20 4c 44 54 | 20 65 6e 74 72 69 65 73 |r of LDT| entries|
|00026330| 20 2a 2f 0a 0a 73 74 72 | 75 63 74 20 74 73 73 20 | */..str|uct tss |
|00026340| 7b 0a 09 75 6e 73 69 67 | 6e 65 64 20 74 5f 6c 69 |{..unsig|ned t_li|
|00026350| 6e 6b 3b 09 09 2f 2a 20 | 6c 69 6e 6b 20 74 6f 20 |nk;../* |link to |
|00026360| 70 72 65 76 69 6f 75 73 | 20 74 73 73 20 2a 2f 0a |previous| tss */.|
|00026370| 09 75 6e 73 69 67 6e 65 | 64 20 74 5f 65 73 70 30 |.unsigne|d t_esp0|
|00026380| 3b 09 09 2f 2a 20 6c 65 | 76 65 6c 20 30 20 73 74 |;../* le|vel 0 st|
|00026390| 61 63 6b 20 70 6f 69 6e | 74 65 72 20 28 73 73 30 |ack poin|ter (ss0|
|000263a0| 3a 65 73 70 30 29 20 2a | 2f 0a 09 75 6e 73 69 67 |:esp0) *|/..unsig|
|000263b0| 6e 65 64 20 74 5f 73 73 | 30 3b 0a 09 75 6e 73 69 |ned t_ss|0;..unsi|
|000263c0| 67 6e 65 64 20 74 5f 65 | 73 70 31 3b 09 09 2f 2a |gned t_e|sp1;../*|
|000263d0| 20 6c 65 76 65 6c 20 31 | 20 73 74 61 63 6b 20 70 | level 1| stack p|
|000263e0| 6f 69 6e 74 65 72 20 28 | 73 73 31 3a 65 73 70 31 |ointer (|ss1:esp1|
|000263f0| 29 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 74 |) */..un|signed t|
|00026400| 5f 73 73 31 3b 0a 09 75 | 6e 73 69 67 6e 65 64 20 |_ss1;..u|nsigned |
|00026410| 74 5f 65 73 70 32 3b 09 | 09 2f 2a 20 6c 65 76 65 |t_esp2;.|./* leve|
|00026420| 6c 20 32 20 73 74 61 63 | 6b 20 70 6f 69 6e 74 65 |l 2 stac|k pointe|
|00026430| 72 20 28 73 73 32 3a 65 | 73 70 32 29 20 2a 2f 0a |r (ss2:e|sp2) */.|
|00026440| 09 75 6e 73 69 67 6e 65 | 64 20 74 5f 73 73 32 3b |.unsigne|d t_ss2;|
|00026450| 0a 09 75 6e 73 69 67 6e | 65 64 20 74 5f 63 72 33 |..unsign|ed t_cr3|
|00026460| 3b 09 09 09 2f 2a 20 73 | 77 61 70 70 65 64 20 6f |;.../* s|wapped o|
|00026470| 6e 20 61 20 74 61 73 6b | 20 73 77 69 74 63 68 20 |n a task| switch |
|00026480| 2a 2f 0a 09 75 6e 73 69 | 67 6e 65 64 20 74 5f 65 |*/..unsi|gned t_e|
|00026490| 69 70 3b 0a 09 75 6e 73 | 69 67 6e 65 64 20 74 5f |ip;..uns|igned t_|
|000264a0| 65 66 6c 61 67 73 3b 0a | 09 75 6e 73 69 67 6e 65 |eflags;.|.unsigne|
|000264b0| 64 20 74 5f 65 61 78 3b | 0a 09 75 6e 73 69 67 6e |d t_eax;|..unsign|
|000264c0| 65 64 20 74 5f 65 63 78 | 3b 0a 09 75 6e 73 69 67 |ed t_ecx|;..unsig|
|000264d0| 6e 65 64 20 74 5f 65 64 | 78 3b 0a 09 75 6e 73 69 |ned t_ed|x;..unsi|
|000264e0| 67 6e 65 64 20 74 5f 65 | 62 78 3b 0a 09 75 6e 73 |gned t_e|bx;..uns|
|000264f0| 69 67 6e 65 64 20 74 5f | 65 0b 00 04 02 00 38 01 |igned t_|e.....8.|
|00026500| 02 00 73 70 3b 0a 09 75 | 6e 73 69 67 6e 65 64 20 |..sp;..u|nsigned |
|00026510| 74 5f 65 62 70 3b 0a 09 | 75 6e 73 69 67 6e 65 64 |t_ebp;..|unsigned|
|00026520| 20 74 5f 65 73 69 3b 0a | 09 75 6e 73 69 67 6e 65 | t_esi;.|.unsigne|
|00026530| 64 20 74 5f 65 64 69 3b | 0a 09 75 6e 73 69 67 6e |d t_edi;|..unsign|
|00026540| 65 64 20 74 5f 65 73 3b | 0a 09 75 6e 73 69 67 6e |ed t_es;|..unsign|
|00026550| 65 64 20 74 5f 63 73 3b | 0a 09 75 6e 73 69 67 6e |ed t_cs;|..unsign|
|00026560| 65 64 20 74 5f 73 73 3b | 0a 09 75 6e 73 69 67 6e |ed t_ss;|..unsign|
|00026570| 65 64 20 74 5f 64 73 3b | 0a 09 75 6e 73 69 67 6e |ed t_ds;|..unsign|
|00026580| 65 64 20 74 5f 66 73 3b | 0a 09 75 6e 73 69 67 6e |ed t_fs;|..unsign|
|00026590| 65 64 20 74 5f 67 73 3b | 0a 09 75 6e 73 69 67 6e |ed t_gs;|..unsign|
|000265a0| 65 64 20 74 5f 6c 64 74 | 3b 09 09 09 2f 2a 20 6c |ed t_ldt|;.../* l|
|000265b0| 64 74 20 73 65 6c 65 63 | 74 6f 72 20 2a 2f 09 0a |dt selec|tor */..|
|000265c0| 23 69 66 64 65 66 20 56 | 50 49 58 0a 09 75 6e 73 |#ifdef V|PIX..uns|
|000265d0| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 74 5f 64 65 |igned sh|ort t_de|
|000265e0| 62 75 67 74 72 61 70 3a | 31 3b 09 2f 2a 20 69 66 |bugtrap:|1;./* if|
|000265f0| 20 31 20 69 6e 20 22 6e | 65 77 22 20 74 73 73 20 | 1 in "n|ew" tss |
|00026600| 67 65 74 20 64 65 62 75 | 67 20 65 78 63 65 70 74 |get debu|g except|
|00026610| 20 2a 2f 0a 09 75 6e 73 | 69 67 6e 65 64 20 73 68 | */..uns|igned sh|
|00026620| 6f 72 74 20 74 5f 72 65 | 73 3a 31 35 3b 20 09 2f |ort t_re|s:15; ./|
|00026630| 2a 20 49 6e 74 65 6c 20 | 72 65 73 65 72 76 65 64 |* Intel |reserved|
|00026640| 20 2a 2f 0a 09 75 6e 73 | 69 67 6e 65 64 20 73 68 | */..uns|igned sh|
|00026650| 6f 72 74 20 74 5f 62 69 | 74 6d 61 70 62 61 73 65 |ort t_bi|tmapbase|
|00026660| 3b 09 2f 2a 20 49 2f 4f | 20 62 69 74 20 6d 61 70 |;./* I/O| bit map|
|00026670| 20 62 61 73 65 20 61 64 | 64 72 65 73 73 20 2a 2f | base ad|dress */|
|00026680| 0a 23 65 6c 73 65 0a 09 | 75 6e 73 69 67 6e 65 64 |.#else..|unsigned|
|00026690| 20 63 68 61 72 20 74 5f | 64 65 62 75 67 74 72 61 | char t_|debugtra|
|000266a0| 70 3a 31 3b 09 2f 2a 20 | 69 66 20 31 20 69 6e 20 |p:1;./* |if 1 in |
|000266b0| 22 6e 65 77 22 20 74 73 | 73 20 67 65 74 20 64 65 |"new" ts|s get de|
|000266c0| 62 75 67 20 65 78 63 65 | 70 74 20 2a 2f 0a 09 75 |bug exce|pt */..u|
|000266d0| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 20 74 5f 61 |nsigned |long t_a|
|000266e0| 76 61 69 6c 3a 33 31 3b | 09 2f 2a 20 61 76 61 69 |vail:31;|./* avai|
|000266f0| 6c 61 62 6c 65 20 66 6f | 72 20 75 73 65 20 2a 2f |lable fo|r use */|
|00026700| 0a 23 0b 00 05 02 00 32 | 01 02 00 65 6e 64 69 66 |.#.....2|...endif|
|00026710| 0a 7d 3b 0a 0a 23 69 66 | 64 65 66 20 56 50 49 58 |.};..#if|def VPIX|
|00026720| 0a 23 64 65 66 69 6e 65 | 20 4d 41 58 54 53 53 53 |.#define| MAXTSSS|
|00026730| 49 5a 45 09 30 78 31 30 | 30 30 30 09 09 2f 2a 20 |IZE.0x10|000../* |
|00026740| 4d 61 78 69 6d 75 6d 20 | 73 69 7a 65 20 6f 66 20 |Maximum |size of |
|00026750| 74 73 73 20 3d 20 36 34 | 6b 20 2a 2f 0a 23 64 65 |tss = 64|k */.#de|
|00026760| 66 69 6e 65 20 4d 41 58 | 54 53 53 49 4f 41 44 44 |fine MAX|TSSIOADD|
|00026770| 52 09 30 78 38 30 30 30 | 09 09 2f 2a 20 6c 61 72 |R.0x8000|../* lar|
|00026780| 67 65 73 74 20 49 2f 4f | 20 61 64 64 72 65 73 73 |gest I/O| address|
|00026790| 20 66 6f 72 20 6e 6f 77 | 20 2a 2f 0a 23 65 6e 64 | for now| */.#end|
|000267a0| 69 66 0a 0a 2f 2a 20 0a | 20 2a 20 6c 64 74 69 6e |if../* .| * ldtin|
|000267b0| 66 6f 20 66 6c 61 67 20 | 76 61 6c 75 65 73 20 69 |fo flag |values i|
|000267c0| 6e 64 69 63 61 74 69 6e | 67 20 74 68 65 20 74 79 |ndicatin|g the ty|
|000267d0| 70 65 20 6f 66 20 73 65 | 67 6d 65 6e 74 20 72 65 |pe of se|gment re|
|000267e0| 70 72 65 73 65 6e 74 65 | 64 0a 20 2a 2f 0a 0a 23 |presente|d. */..#|
|000267f0| 64 65 66 69 6e 65 20 4c | 54 5f 4f 57 4e 09 09 30 |define L|T_OWN..0|
|00026800| 78 30 30 30 31 09 09 2f | 2a 20 6d 61 70 73 20 75 |x0001../|* maps u|
|00026810| 73 65 72 2d 6f 77 6e 65 | 64 2c 20 70 72 69 76 61 |ser-owne|d, priva|
|00026820| 74 65 20 6d 65 6d 6f 72 | 79 20 2a 2f 0a 23 64 65 |te memor|y */.#de|
|00026830| 66 69 6e 65 20 4c 54 5f | 49 54 45 52 09 09 30 78 |fine LT_|ITER..0x|
|00026840| 30 30 30 38 09 09 2f 2a | 20 69 74 65 72 61 74 65 |0008../*| iterate|
|00026850| 64 20 64 61 74 61 20 6f | 72 20 74 65 78 74 20 73 |d data o|r text s|
|00026860| 65 67 6d 65 6e 74 20 2a | 2f 0a 23 64 65 66 69 6e |egment *|/.#defin|
|00026870| 65 20 4c 54 5f 45 58 45 | 43 09 09 30 78 30 30 38 |e LT_EXE|C..0x008|
|00026880| 30 09 09 2f 2a 20 65 78 | 65 63 75 74 61 62 6c 65 |0../* ex|ecutable|
|00026890| 20 73 65 67 6d 65 6e 74 | 20 2a 2f 0a 23 64 65 66 | segment| */.#def|
|000268a0| 69 6e 65 20 4c 54 5f 52 | 4f 09 09 30 78 30 31 30 |ine LT_R|O..0x010|
|000268b0| 30 09 09 2f 2a 20 72 65 | 61 64 2d 6f 6e 6c 79 20 |0../* re|ad-only |
|000268c0| 73 65 67 6d 65 6e 74 20 | 2a 2f 0a 0a 73 74 72 75 |segment |*/..stru|
|000268d0| 63 74 20 6c 64 74 69 6e | 66 6f 20 7b 09 09 09 20 |ct ldtin|fo {... |
|000268e0| 20 20 20 0a 09 75 6e 73 | 69 67 6e 65 64 20 73 68 | ..uns|igned sh|
|000268f0| 6f 72 74 20 66 6c 61 67 | 3b 0a 09 6c 6f 6e 67 09 |ort flag|;..long.|
|00026900| 09 66 69 6c 70 6f 73 3b | 09 2f 2a 0b 00 06 02 00 |.filpos;|./*.....|
|00026910| d4 01 02 00 20 66 69 6c | 65 20 70 6f 73 69 74 69 |.... fil|e positi|
|00026920| 6f 6e 20 2a 2f 0a 09 6c | 6f 6e 67 09 09 70 73 69 |on */..l|ong..psi|
|00026930| 7a 65 3b 09 2f 2a 20 70 | 68 79 73 69 63 61 6c 20 |ze;./* p|hysical |
|00026940| 73 69 7a 65 20 28 69 6e | 20 66 69 6c 65 29 20 2a |size (in| file) *|
|00026950| 2f 0a 09 6c 6f 6e 67 09 | 09 6c 69 6d 69 74 3b 09 |/..long.|.limit;.|
|00026960| 2f 2a 20 76 69 72 74 75 | 61 6c 20 73 69 7a 65 20 |/* virtu|al size |
|00026970| 28 69 6e 20 63 6f 72 65 | 29 20 2a 2f 0a 09 6c 6f |(in core|) */..lo|
|00026980| 6e 67 09 09 72 62 61 73 | 65 3b 09 2f 2a 20 72 65 |ng..rbas|e;./* re|
|00026990| 6c 6f 63 61 74 69 6f 6e | 20 62 61 73 65 20 61 64 |location| base ad|
|000269a0| 64 72 65 73 73 2f 6f 66 | 66 73 65 74 20 2a 2f 0a |dress/of|fset */.|
|000269b0| 7d 3b 0a 0a 23 64 65 66 | 69 6e 65 20 53 4f 54 4f |};..#def|ine SOTO|
|000269c0| 46 41 52 28 73 65 67 2c | 6f 66 66 29 09 28 28 75 |FAR(seg,|off).((u|
|000269d0| 6e 73 69 67 6e 65 64 29 | 28 28 75 6e 73 69 67 6e |nsigned)|((unsign|
|000269e0| 65 64 29 28 73 65 67 29 | 20 3c 3c 20 31 36 29 20 |ed)(seg)| << 16) |
|000269f0| 7c 20 28 6f 66 66 29 29 | 0a 23 64 65 66 69 6e 65 || (off))|.#define|
|00026a00| 20 46 54 4f 4f 46 46 28 | 66 61 72 70 29 09 09 6c | FTOOFF(|farp)..l|
|00026a10| 6f 77 6f 72 64 28 28 66 | 61 72 70 29 29 0a 23 64 |oword((f|arp)).#d|
|00026a20| 65 66 69 6e 65 20 46 54 | 4f 53 45 47 28 66 61 72 |efine FT|OSEG(far|
|00026a30| 70 29 09 09 68 69 77 6f | 72 64 28 28 66 61 72 70 |p)..hiwo|rd((farp|
|00026a40| 29 29 0a 0a 65 78 74 65 | 72 6e 20 73 74 72 75 63 |))..exte|rn struc|
|00026a50| 74 20 67 61 74 65 20 73 | 79 73 63 5f 67 74 3b 09 |t gate s|ysc_gt;.|
|00026a60| 09 2f 2a 20 73 79 73 74 | 65 6d 20 63 61 6c 6c 20 |./* syst|em call |
|00026a70| 67 61 74 65 20 74 65 6d | 70 6c 61 74 65 20 2a 2f |gate tem|plate */|
|00026a80| 0a 65 78 74 65 72 6e 20 | 73 74 72 75 63 74 20 67 |.extern |struct g|
|00026a90| 61 74 65 20 73 69 67 72 | 5f 67 74 3b 09 09 2f 2a |ate sigr|_gt;../*|
|00026aa0| 20 73 69 67 6e 61 6c 20 | 72 65 74 75 72 6e 20 74 | signal |return t|
|00026ab0| 65 6d 70 6c 61 74 65 20 | 2a 2f 0a 23 65 6e 64 69 |emplate |*/.#endi|
|00026ac0| 66 0a 64 2d 6f 6e 6c 79 | 20 73 65 67 6d 65 6e 74 |f.d-only| segment|
|00026ad0| 20 2a 2f 0a 0a 73 74 72 | 75 63 74 20 6c 64 74 69 | */..str|uct ldti|
|00026ae0| 6e 66 6f 20 7b 09 09 09 | 20 20 20 20 0a 09 75 6e |nfo {...| ..un|
|00026af0| 73 69 67 6e 65 64 20 73 | 68 6f 72 74 20 66 6c 61 |signed s|hort fla|
|00026b00| 67 3b 0a 09 6c 6f 6e 67 | 09 09 66 69 6c 70 6f 73 |g;..long|..filpos|
|00026b10| 3b 09 2f 2a 0b 00 07 02 | 00 fe 5b 00 02 00 16 2e |;./*....|..[.....|
|00026b20| 2f 75 73 72 2f 69 6e 63 | 6c 75 64 65 2f 73 79 73 |/usr/inc|lude/sys|
|00026b30| 2f 73 64 2e 68 01 27 00 | 00 00 38 20 20 20 34 34 |/sd.h.'.|..8 44|
|00026b40| 34 20 00 20 20 20 20 20 | 30 20 00 20 20 20 20 20 |4 . |0 . |
|00026b50| 30 20 00 20 20 20 20 20 | 20 31 30 30 31 35 20 20 |0 . | 10015 |
|00026b60| 34 32 34 34 33 34 30 31 | 35 33 20 20 31 30 30 30 |42443401|53 1000|
|00026b70| 35 00 20 01 b2 00 00 0b | 00 08 02 00 b3 01 02 00 |5. .....|........|
|00026b80| 2f 2a 0a 20 2a 09 40 28 | 23 29 20 73 64 2e 68 20 |/*. *.@(|#) sd.h |
|00026b90| 32 2e 34 20 38 38 2f 30 | 35 2f 31 38 20 0a 20 2a |2.4 88/0|5/18 . *|
|00026ba0| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|00026bb0| 29 20 54 68 65 20 53 61 | 6e 74 61 20 43 72 75 7a |) The Sa|nta Cruz|
|00026bc0| 20 4f 70 65 72 61 74 69 | 6f 6e 2c 20 31 39 38 34 | Operati|on, 1984|
|00026bd0| 2c 20 31 39 38 35 2c 20 | 31 39 38 36 2c 20 31 39 |, 1985, |1986, 19|
|00026be0| 38 37 2c 20 31 39 38 38 | 2e 0a 20 2a 09 43 6f 70 |87, 1988|.. *.Cop|
|00026bf0| 79 72 69 67 68 74 20 28 | 43 29 20 4d 69 63 72 6f |yright (|C) Micro|
|00026c00| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|00026c10| 2c 20 31 39 38 34 2c 20 | 31 39 38 35 2c 20 31 39 |, 1984, |1985, 19|
|00026c20| 38 36 2c 20 31 39 38 37 | 2c 20 31 39 38 38 2e 0a |86, 1987|, 1988..|
|00026c30| 20 2a 09 54 68 69 73 20 | 4d 6f 64 75 6c 65 20 63 | *.This |Module c|
|00026c40| 6f 6e 74 61 69 6e 73 20 | 50 72 6f 70 72 69 65 74 |ontains |Propriet|
|00026c50| 61 72 79 20 49 6e 66 6f | 72 6d 61 74 69 6f 6e 20 |ary Info|rmation |
|00026c60| 6f 66 0a 20 2a 09 54 68 | 65 20 53 61 6e 74 61 20 |of. *.Th|e Santa |
|00026c70| 43 72 75 7a 20 4f 70 65 | 72 61 74 69 6f 6e 2c 20 |Cruz Ope|ration, |
|00026c80| 4d 69 63 72 6f 73 6f 66 | 74 20 43 6f 72 70 6f 72 |Microsof|t Corpor|
|00026c90| 61 74 69 6f 6e 0a 20 2a | 09 61 6e 64 20 41 54 26 |ation. *|.and AT&|
|00026ca0| 54 2c 20 61 6e 64 20 73 | 68 6f 75 6c 64 20 62 65 |T, and s|hould be|
|00026cb0| 20 74 72 65 61 74 65 64 | 20 61 73 20 43 6f 6e 66 | treated| as Conf|
|00026cc0| 69 64 65 6e 74 69 61 6c | 2e 0a 20 2a 2f 0a 0a 0a |idential|.. */...|
|00026cd0| 2f 2a 0a 20 2a 20 54 48 | 49 53 20 46 49 4c 45 20 |/*. * TH|IS FILE |
|00026ce0| 43 4f 4e 54 41 49 4e 53 | 20 43 4f 44 45 20 57 48 |CONTAINS| CODE WH|
|00026cf0| 49 43 48 20 49 53 20 44 | 45 53 49 47 4e 45 44 20 |ICH IS D|ESIGNED |
|00026d00| 54 4f 20 42 45 0a 20 2a | 20 50 4f 52 54 41 42 4c |TO BE. *| PORTABL|
|00026d10| 45 20 42 45 54 57 45 45 | 4e 20 44 49 46 46 45 52 |E BETWEE|N DIFFER|
|00026d20| 45 4e 54 20 4d 41 43 48 | 49 4e 45 20 41 52 43 48 |ENT MACH|INE ARCH|
|00026d30| 49 54 45 43 54 55 52 45 | 53 0a 20 2a 20 41 4e 44 |ITECTURE|S. * AND|
|00026d40| 20 43 4f 4e 46 49 47 55 | 52 41 54 49 4f 4e 53 2e | CONFIGU|RATIONS.|
|00026d50| 20 49 54 20 53 48 4f 55 | 4c 44 20 4e 4f 54 20 52 | IT SHOU|LD NOT R|
|00026d60| 45 51 55 49 52 45 20 41 | 4e 59 0a 20 2a 20 4d 4f |EQUIRE A|NY. * MO|
|00026d70| 44 49 46 49 43 41 54 49 | 4f 4e 53 20 57 48 45 4e |DIFICATI|ONS WHEN|
|00026d80| 0b 00 09 02 00 1a fb 01 | 02 00 70 20 41 44 41 50 |........|..p ADAP|
|00026d90| 54 49 4e 47 20 58 45 4e | 49 58 20 54 4f 20 4e 45 |TING XEN|IX TO NE|
|00026da0| 57 20 48 41 52 44 57 41 | 52 45 2e 0a 20 2a 2f 0a |W HARDWA|RE.. */.|
|00026db0| 0a 23 69 66 64 65 66 20 | 4d 5f 4b 45 52 4e 45 4c |.#ifdef |M_KERNEL|
|00026dc0| 0a 0a 23 69 66 6e 64 65 | 66 20 4f 4c 44 53 44 09 |..#ifnde|f OLDSD.|
|00026dd0| 09 09 2f 2a 20 66 6f 72 | 20 36 38 30 30 30 20 63 |../* for| 68000 c|
|00026de0| 6f 6d 70 61 74 61 62 69 | 6c 69 74 79 20 2a 2f 0a |ompatabi|lity */.|
|00026df0| 73 74 72 75 63 74 20 73 | 64 20 7b 01 08 20 20 00 |struct s|d {.. .|
|00026e00| ff 20 2f 2a 20 73 68 61 | 72 65 64 20 64 61 74 61 |. /* sha|red data|
|00026e10| 20 74 61 62 6c 65 20 2a | 2f 0a 09 69 6e 6f 64 65 | table *|/..inode|
|00026e20| 70 5f 74 20 20 20 20 20 | 73 64 5f 69 6e 6f 64 65 |p_t |sd_inode|
|00026e30| 3b 09 2f 2a 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |;./* poi|nter to |
|00026e40| 69 6e 6f 64 65 20 66 6f | 72 20 73 65 67 6d 65 6e |inode fo|r segmen|
|00026e50| 74 20 2a 2f 0a 23 69 66 | 64 65 66 20 4d 5f 49 33 |t */.#if|def M_I3|
|00026e60| 38 36 0a 09 63 68 61 72 | 09 20 20 20 20 2a 73 64 |86..char|. *sd|
|00026e70| 5f 61 64 64 72 3b 09 2f | 2a 20 76 69 72 74 20 61 |_addr;./|* virt a|
|00026e80| 64 64 72 65 73 73 20 69 | 6e 20 74 68 69 73 20 70 |ddress i|n this p|
|00026e90| 72 6f 63 27 73 20 64 61 | 74 61 20 73 70 61 63 65 |roc's da|ta space|
|00026ea0| 20 2a 2f 0a 09 63 61 64 | 64 72 5f 74 09 20 20 20 | */..cad|dr_t. |
|00026eb0| 20 20 73 64 5f 6c 61 64 | 64 72 3b 09 2f 2a 20 6c | sd_lad|dr;./* l|
|00026ec0| 69 6e 65 61 72 20 61 64 | 64 72 65 73 73 20 69 6e |inear ad|dress in|
|00026ed0| 20 74 68 69 73 20 70 72 | 6f 63 27 73 20 64 61 74 | this pr|oc's dat|
|00026ee0| 61 20 73 70 61 63 65 20 | 2a 2f 0a 23 65 6c 73 65 |a space |*/.#else|
|00026ef0| 0a 23 69 66 6e 64 65 66 | 20 4d 5f 49 38 30 38 36 |.#ifndef| M_I8086|
|00026f00| 00 81 0a 09 66 61 64 64 | 72 5f 74 09 20 20 20 20 |....fadd|r_t. |
|00026f10| 20 73 64 5f 61 64 64 72 | 3b 09 2f 2a 20 61 64 64 | sd_addr|;./* add|
|00026f20| 72 65 73 73 20 69 6e 20 | 74 68 69 73 20 70 72 6f |ress in |this pro|
|00026f30| 63 27 73 20 64 61 74 61 | 20 73 70 61 63 65 20 2a |c's data| space *|
|00026f40| 2f 0a 23 65 6c 73 65 0a | 09 63 68 61 72 20 66 61 |/.#else.|.char fa|
|00026f50| 72 20 20 20 20 2a 73 64 | 5f 61 64 64 72 3b 0a 23 |r *sd|_addr;.#|
|00026f60| 65 6e 64 69 66 0a 23 65 | 6e 64 69 66 0a 09 69 6e |endif.#e|ndif..in|
|00026f70| 74 09 20 20 20 20 20 73 | 64 5f 76 6e 75 6d 3b 09 |t. s|d_vnum;.|
|00026f80| 2f 2a 20 0b 00 0a 02 00 | 0e 01 02 00 76 65 72 73 |/* .....|....vers|
|00026f90| 69 6f 6e 20 23 20 66 6f | 72 20 6c 6f 63 61 6c 20 |ion # fo|r local |
|00026fa0| 63 6f 70 79 20 2a 2f 0a | 09 63 68 61 72 09 20 20 |copy */.|.char. |
|00026fb0| 20 20 20 73 64 5f 66 6c | 61 67 73 3b 09 2f 2a 20 | sd_fl|ags;./* |
|00026fc0| 64 65 73 63 72 69 62 69 | 6e 67 20 73 74 61 74 65 |describi|ng state|
|00026fd0| 20 6f 66 20 74 68 69 73 | 20 70 72 6f 63 20 2a 2f | of this| proc */|
|00026fe0| 0a 09 63 68 61 72 09 20 | 20 20 20 20 73 64 5f 72 |..char. | sd_r|
|00026ff0| 65 73 3b 09 2f 2a 20 72 | 65 73 65 72 76 65 64 20 |es;./* r|eserved |
|00027000| 66 69 65 6c 64 20 74 6f | 20 77 6f 72 64 20 61 6c |field to| word al|
|00027010| 69 67 6e 20 2a 2f 0a 09 | 73 74 72 75 63 74 20 73 |ign */..|struct s|
|00027020| 64 20 20 20 20 2a 73 64 | 5f 6c 69 6e 6b 3b 09 2f |d *sd|_link;./|
|00027030| 2a 20 70 74 72 20 74 6f | 20 6e 65 78 74 20 73 68 |* ptr to| next sh|
|00027040| 61 72 65 64 20 64 61 74 | 61 20 73 65 67 20 66 6f |ared dat|a seg fo|
|00027050| 72 20 74 68 69 73 20 70 | 72 6f 63 20 2a 2f 0a 7d |r this p|roc */.}|
|00027060| 3b 0a 0a 73 74 72 75 63 | 74 09 73 68 6d 69 64 5f |;..struc|t.shmid_|
|00027070| 64 73 20 7b 0a 09 73 74 | 72 75 63 74 09 69 70 63 |ds {..st|ruct.ipc|
|00027080| 5f 70 65 72 6d 20 73 68 | 6d 5f 70 65 72 6d 3b 09 |_perm sh|m_perm;.|
|00027090| 2f 2a 20 6f 70 65 72 61 | 74 69 6f 6e 20 70 65 72 |/* opera|tion per|
|000270a0| 6d 69 73 73 69 6f 6e 20 | 73 74 72 75 63 74 20 2a |mission |struct *|
|000270b0| 2f 0a 09 75 6e 73 69 67 | 6e 65 64 20 69 6e 74 09 |/..unsig|ned int.|
|000270c0| 20 73 68 6d 5f 73 65 67 | 73 7a 3b 09 2f 2a 20 73 | shm_seg|sz;./* s|
|000270d0| 65 67 6d 65 6e 74 20 73 | 69 7a 65 20 2a 2f 0a 09 |egment s|ize */..|
|000270e0| 75 73 68 6f 72 74 09 73 | 68 6d 5f 70 74 62 6c 3b |ushort.s|hm_ptbl;|
|000270f0| 09 09 2f 2a 20 61 64 64 | 72 20 6f 66 20 73 64 20 |../* add|r of sd |
|00027100| 73 65 67 6d 65 6e 74 20 | 2a 2f 0a 09 75 73 68 6f |segment |*/..usho|
|00027110| 72 74 09 73 68 6d 5f 6c | 70 69 64 3b 09 09 2f 2a |rt.shm_l|pid;../*|
|00027120| 20 70 69 64 20 6f 66 20 | 6c 61 73 74 20 73 68 61 | pid of |last sha|
|00027130| 72 65 64 20 6d 65 6d 20 | 6f 70 20 2a 2f 0a 09 75 |red mem |op */..u|
|00027140| 73 68 6f 72 74 09 73 68 | 6d 5f 63 70 69 64 3b 09 |short.sh|m_cpid;.|
|00027150| 09 2f 2a 20 63 72 65 61 | 74 6f 72 20 70 69 64 20 |./* crea|tor pid |
|00027160| 2a 2f 0a 09 75 73 68 6f | 72 74 09 73 68 6d 5f 6e |*/..usho|rt.shm_n|
|00027170| 61 74 74 63 68 3b 09 09 | 2f 2a 20 63 75 72 72 65 |attch;..|/* curre|
|00027180| 6e 74 20 23 20 61 74 74 | 61 63 68 65 0b 00 0b 02 |nt # att|ache....|
|00027190| 00 34 01 02 00 64 20 2a | 2f 0a 09 75 73 68 6f 72 |.4...d *|/..ushor|
|000271a0| 74 09 73 68 6d 5f 63 6e | 61 74 74 63 68 3b 09 09 |t.shm_cn|attch;..|
|000271b0| 2f 2a 20 69 6e 2d 63 6f | 72 65 20 23 20 61 74 74 |/* in-co|re # att|
|000271c0| 61 63 68 65 64 20 2a 2f | 0a 09 74 69 6d 65 5f 74 |ached */|..time_t|
|000271d0| 09 73 68 6d 5f 61 74 69 | 6d 65 3b 09 09 2f 2a 20 |.shm_ati|me;../* |
|000271e0| 6c 61 73 74 20 61 74 74 | 61 63 68 20 74 69 6d 65 |last att|ach time|
|000271f0| 20 2a 2f 0a 09 74 69 6d | 65 5f 74 09 73 68 6d 5f | */..tim|e_t.shm_|
|00027200| 64 74 69 6d 65 3b 09 09 | 2f 2a 20 6c 61 73 74 20 |dtime;..|/* last |
|00027210| 64 65 74 61 63 68 20 74 | 69 6d 65 20 2a 2f 0a 09 |detach t|ime */..|
|00027220| 74 69 6d 65 5f 74 09 73 | 68 6d 5f 63 74 69 6d 65 |time_t.s|hm_ctime|
|00027230| 3b 09 09 2f 2a 20 6c 61 | 73 74 20 63 68 61 6e 67 |;../* la|st chang|
|00027240| 65 20 74 69 6d 65 20 2a | 2f 0a 7d 3b 09 09 0a 0a |e time *|/.};....|
|00027250| 73 74 72 75 63 74 20 20 | 73 68 6d 69 64 5f 65 6e |struct |shmid_en|
|00027260| 74 20 7b 09 2f 2a 20 73 | 68 61 72 65 64 20 64 61 |t {./* s|hared da|
|00027270| 74 61 20 69 64 65 6e 74 | 69 66 69 65 72 20 74 61 |ta ident|ifier ta|
|00027280| 62 6c 65 20 66 6f 72 20 | 53 79 73 56 20 2a 2f 0a |ble for |SysV */.|
|00027290| 09 6b 65 79 5f 74 09 6b | 65 79 3b 0a 09 69 6e 6f |.key_t.k|ey;..ino|
|000272a0| 64 65 70 5f 74 20 69 70 | 3b 0a 09 63 68 61 72 09 |dep_t ip|;..char.|
|000272b0| 73 68 6d 69 64 5f 66 6c | 61 67 3b 0a 09 63 68 61 |shmid_fl|ag;..cha|
|000272c0| 72 09 73 68 6d 5f 72 65 | 73 3b 09 2f 2a 20 72 65 |r.shm_re|s;./* re|
|000272d0| 73 65 72 76 65 64 20 66 | 69 65 6c 64 20 74 6f 20 |served f|ield to |
|000272e0| 77 6f 72 64 20 61 6c 69 | 67 6e 20 2a 2f 0a 7d 3b |word ali|gn */.};|
|000272f0| 0a 0a 73 74 72 75 63 74 | 20 20 73 68 6d 69 6e 66 |..struct| shminf|
|00027300| 6f 20 7b 09 2f 2a 20 73 | 68 61 72 65 64 20 6d 65 |o {./* s|hared me|
|00027310| 6d 20 69 6e 66 6f 20 73 | 74 72 75 63 74 75 72 65 |m info s|tructure|
|00027320| 20 66 6f 72 20 53 79 73 | 56 20 2a 2f 0a 09 69 6e | for Sys|V */..in|
|00027330| 74 09 73 68 6d 6d 61 78 | 2c 09 09 2f 2a 20 6d 61 |t.shmmax|,../* ma|
|00027340| 78 20 73 68 61 72 65 64 | 20 6d 65 6d 6f 72 79 20 |x shared| memory |
|00027350| 73 65 67 6d 65 6e 74 20 | 73 69 7a 65 20 2a 2f 0a |segment |size */.|
|00027360| 09 09 73 68 6d 6d 69 6e | 2c 09 09 2f 2a 20 6d 69 |..shmmin|,../* mi|
|00027370| 6e 20 73 68 61 72 65 64 | 20 6d 65 6d 6f 72 79 20 |n shared| memory |
|00027380| 73 65 67 6d 65 6e 74 20 | 73 69 7a 65 20 2a 2f 0a |segment |size */.|
|00027390| 09 09 73 68 6d 0b 00 0c | 02 00 48 01 02 00 6d 6e |..shm...|..H...mn|
|000273a0| 69 2c 09 09 2f 2a 20 23 | 20 6f 66 20 73 68 61 72 |i,../* #| of shar|
|000273b0| 65 64 20 6d 65 6d 6f 72 | 79 20 69 64 65 6e 74 69 |ed memor|y identi|
|000273c0| 66 69 65 72 73 20 2a 2f | 0a 09 09 73 68 6d 73 65 |fiers */|...shmse|
|000273d0| 67 2c 09 09 2f 2a 20 6d | 61 78 20 61 74 74 61 63 |g,../* m|ax attac|
|000273e0| 68 65 64 20 73 68 61 72 | 65 64 20 6d 65 6d 6f 72 |hed shar|ed memor|
|000273f0| 79 09 20 20 2a 2f 0a 09 | 09 09 09 2f 2a 20 73 65 |y. */..|.../* se|
|00027400| 67 6d 65 6e 74 73 20 70 | 65 72 20 70 72 6f 63 65 |gments p|er proce|
|00027410| 73 73 09 09 20 20 2a 2f | 0a 09 09 73 68 6d 62 72 |ss.. */|...shmbr|
|00027420| 6b 2c 09 09 2f 2a 20 63 | 6c 69 63 6b 73 20 62 65 |k,../* c|licks be|
|00027430| 74 77 65 65 6e 20 75 73 | 65 72 20 64 61 74 61 20 |tween us|er data |
|00027440| 61 6e 64 20 20 20 2a 2f | 0a 09 09 09 09 2f 2a 20 |and */|...../* |
|00027450| 73 74 61 72 74 20 6f 66 | 20 73 68 61 72 65 64 20 |start of| shared |
|00027460| 64 61 74 61 09 09 20 20 | 2a 2f 0a 09 09 73 68 6d |data.. |*/...shm|
|00027470| 61 6c 6c 3b 09 09 2f 2a | 20 6d 61 78 20 74 6f 74 |all;../*| max tot|
|00027480| 61 6c 20 73 68 61 72 65 | 64 20 6d 65 6d 6f 72 79 |al share|d memory|
|00027490| 20 73 79 73 74 65 6d 20 | 2a 2f 0a 09 09 09 09 2f | system |*/...../|
|000274a0| 2a 20 77 69 64 65 20 28 | 69 6e 20 63 6c 69 63 6b |* wide (|in click|
|000274b0| 73 29 09 09 20 20 2a 2f | 0a 7d 3b 0a 0a 65 78 74 |s).. */|.};..ext|
|000274c0| 65 72 6e 20 73 74 72 75 | 63 74 20 73 64 20 73 64 |ern stru|ct sd sd|
|000274d0| 74 61 62 5b 5d 3b 09 2f | 2a 20 74 68 65 20 73 68 |tab[];./|* the sh|
|000274e0| 61 72 65 64 20 64 61 74 | 61 20 74 61 62 6c 65 20 |ared dat|a table |
|000274f0| 69 74 73 65 6c 66 20 2a | 2f 0a 65 78 74 65 72 6e |itself *|/.extern|
|00027500| 20 73 74 72 75 63 74 20 | 73 68 6d 69 64 5f 65 6e | struct |shmid_en|
|00027510| 74 20 73 68 6d 69 64 5f | 74 61 62 5b 5d 3b 0a 65 |t shmid_|tab[];.e|
|00027520| 78 74 65 72 6e 20 69 6e | 74 20 73 68 6d 69 64 5f |xtern in|t shmid_|
|00027530| 70 6f 73 3b 0a 0a 23 69 | 66 64 65 66 20 4d 5f 49 |pos;..#i|fdef M_I|
|00027540| 33 38 36 0a 0a 65 78 74 | 65 72 6e 09 73 74 72 75 |386..ext|ern.stru|
|00027550| 63 74 20 73 64 20 20 20 | 20 20 2a 73 64 66 72 65 |ct sd | *sdfre|
|00027560| 65 70 3b 09 2f 2a 20 70 | 6f 69 6e 74 73 20 74 6f |ep;./* p|oints to|
|00027570| 20 66 72 65 65 20 6c 69 | 73 74 20 6f 66 20 73 64 | free li|st of sd|
|00027580| 74 61 62 20 65 6e 74 72 | 69 65 73 20 2a 2f 0a 65 |tab entr|ies */.e|
|00027590| 78 74 65 72 6e 20 20 73 | 74 72 75 63 74 20 0b 00 |xtern s|truct ..|
|000275a0| 0d 02 00 e4 01 02 00 74 | 61 62 65 6e 74 20 2a 76 |.......t|abent *v|
|000275b0| 74 6f 70 74 65 28 29 2c | 20 2a 6c 74 6f 70 74 65 |topte(),| *ltopte|
|000275c0| 28 29 3b 0a 65 78 74 65 | 72 6e 20 20 73 74 72 75 |();.exte|rn stru|
|000275d0| 63 74 20 74 61 62 65 6e | 74 20 2a 70 61 67 65 64 |ct taben|t *paged|
|000275e0| 69 72 3b 0a 0a 23 69 66 | 64 65 66 20 44 45 42 55 |ir;..#if|def DEBU|
|000275f0| 47 0a 65 78 74 65 72 6e | 09 76 6f 69 64 20 64 75 |G.extern|.void du|
|00027600| 6d 70 5f 74 61 62 65 6e | 74 28 29 3b 0a 23 65 6e |mp_taben|t();.#en|
|00027610| 64 69 66 20 2f 2a 20 44 | 45 42 55 47 20 2a 2f 0a |dif /* D|EBUG */.|
|00027620| 0a 65 78 74 65 72 6e 09 | 76 6f 69 64 20 73 64 66 |.extern.|void sdf|
|00027630| 72 63 6d 28 29 3b 0a 65 | 78 74 65 72 6e 09 76 6f |rcm();.e|xtern.vo|
|00027640| 69 64 20 73 64 61 74 74 | 5f 63 6f 6d 6d 6f 6e 28 |id sdatt|_common(|
|00027650| 29 3b 0a 65 78 74 65 72 | 6e 09 76 6f 69 64 20 73 |);.exter|n.void s|
|00027660| 64 63 6f 70 79 28 29 3b | 0a 0a 23 65 6e 64 69 66 |dcopy();|..#endif|
|00027670| 20 2f 2a 20 4d 5f 49 33 | 38 36 20 2a 2f 0a 0a 23 | /* M_I3|86 */..#|
|00027680| 65 6e 64 69 66 09 09 09 | 09 2f 2a 20 4f 4c 44 53 |endif...|./* OLDS|
|00027690| 44 20 2a 2f 0a 0a 23 69 | 66 64 65 66 20 4d 5f 49 |D */..#i|fdef M_I|
|000276a0| 33 38 36 0a 0a 23 64 65 | 66 69 6e 65 20 49 5f 53 |386..#de|fine I_S|
|000276b0| 44 20 69 5f 66 64 65 70 | 2e 69 5f 6e 61 6d 65 66 |D i_fdep|.i_namef|
|000276c0| 2e 69 5f 6e 64 61 74 61 | 2e 69 5f 73 64 0a 23 64 |.i_ndata|.i_sd.#d|
|000276d0| 65 66 69 6e 65 20 53 44 | 4e 55 4c 4c 09 28 66 61 |efine SD|NULL.(fa|
|000276e0| 64 64 72 5f 74 29 20 4e | 55 4c 4c 0a 23 64 65 66 |ddr_t) N|ULL.#def|
|000276f0| 69 6e 65 20 53 44 56 45 | 52 53 5f 4f 56 45 52 52 |ine SDVE|RS_OVERR|
|00027700| 49 44 45 09 20 20 28 75 | 6e 73 69 67 6e 65 64 20 |IDE. (u|nsigned |
|00027710| 63 68 61 72 29 20 31 0a | 23 64 65 66 69 6e 65 20 |char) 1.|#define |
|00027720| 53 44 56 45 52 53 5f 43 | 48 45 43 4b 20 09 20 20 |SDVERS_C|HECK . |
|00027730| 28 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 29 20 |(unsigne|d char) |
|00027740| 30 0a 23 64 65 66 69 6e | 65 20 53 44 53 57 54 43 |0.#defin|e SDSWTC|
|00027750| 48 5f 54 4f 09 20 20 31 | 0a 23 64 65 66 69 6e 65 |H_TO. 1|.#define|
|00027760| 20 53 44 53 57 54 43 48 | 5f 46 52 4f 4d 09 20 20 | SDSWTCH|_FROM. |
|00027770| 30 0a 23 64 65 66 69 6e | 65 20 53 48 4d 50 44 45 |0.#defin|e SHMPDE|
|00027780| 5f 4e 55 4c 4c 09 20 20 | 28 75 6e 73 69 67 6e 65 |_NULL. |(unsigne|
|00027790| 64 20 73 68 6f 72 74 29 | 20 2d 31 20 0a 0a 23 65 |d short)| -1 ..#e|
|000277a0| 6e 64 69 66 20 2f 2a 0b | 00 0e 02 00 71 01 02 00 |ndif /*.|....q...|
|000277b0| 20 4d 5f 49 33 38 36 20 | 2a 2f 0a 0a 2f 2a 20 53 | M_I386 |*/../* S|
|000277c0| 68 61 72 65 64 20 44 61 | 74 61 20 66 6c 61 67 73 |hared Da|ta flags|
|000277d0| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 20 53 44 49 | */..#de|fine SDI|
|000277e0| 5f 53 57 41 50 50 49 4e | 47 09 30 78 30 31 0a 23 |_SWAPPIN|G.0x01.#|
|000277f0| 64 65 66 69 6e 65 20 53 | 44 49 5f 53 48 4d 56 09 |define S|DI_SHMV.|
|00027800| 30 78 30 32 09 2f 2a 20 | 64 65 6e 6f 74 65 73 20 |0x02./* |denotes |
|00027810| 73 79 73 74 65 6d 20 56 | 20 2a 2f 0a 23 64 65 66 |system V| */.#def|
|00027820| 69 6e 65 20 53 44 49 5f | 4c 4f 43 4b 45 44 09 30 |ine SDI_|LOCKED.0|
|00027830| 78 31 30 0a 23 64 65 66 | 69 6e 65 09 53 44 49 5f |x10.#def|ine.SDI_|
|00027840| 4e 54 46 59 09 30 78 32 | 30 0a 23 64 65 66 69 6e |NTFY.0x2|0.#defin|
|00027850| 65 20 53 44 49 5f 44 45 | 53 54 09 30 78 34 30 0a |e SDI_DE|ST.0x40.|
|00027860| 23 64 65 66 69 6e 65 20 | 53 44 49 5f 43 4c 45 41 |#define |SDI_CLEA|
|00027870| 52 09 30 78 38 30 0a 0a | 2f 2a 20 73 79 73 74 65 |R.0x80..|/* syste|
|00027880| 6d 20 56 20 64 65 66 69 | 6e 65 73 20 2a 2f 0a 23 |m V defi|nes */.#|
|00027890| 64 65 66 69 6e 65 20 53 | 48 4d 5f 52 44 4f 4e 4c |define S|HM_RDONL|
|000278a0| 59 09 30 31 30 30 30 30 | 09 20 2f 2a 20 61 74 74 |Y.010000|. /* att|
|000278b0| 61 63 68 20 72 65 61 64 | 2d 6f 6e 6c 79 2c 20 65 |ach read|-only, e|
|000278c0| 6c 73 65 20 72 65 61 64 | 2d 77 72 69 74 65 20 2a |lse read|-write *|
|000278d0| 2f 0a 23 64 65 66 69 6e | 65 20 53 48 4d 5f 52 4e |/.#defin|e SHM_RN|
|000278e0| 44 09 09 30 32 30 30 30 | 30 09 20 2f 2a 20 72 6f |D..02000|0. /* ro|
|000278f0| 75 6e 64 20 74 68 65 20 | 61 74 74 61 63 68 20 61 |und the |attach a|
|00027900| 64 64 72 65 73 73 20 74 | 6f 20 73 74 61 72 74 20 |ddress t|o start |
|00027910| 6f 66 20 73 65 67 2e 20 | 2a 2f 0a 23 64 65 66 69 |of seg. |*/.#defi|
|00027920| 6e 65 20 53 48 4d 49 44 | 5f 4f 52 50 48 41 4e 09 |ne SHMID|_ORPHAN.|
|00027930| 30 78 30 31 20 09 20 2f | 2a 20 6e 6f 20 70 72 6f |0x01 . /|* no pro|
|00027940| 63 73 20 61 72 65 20 61 | 74 74 61 63 68 65 64 20 |cs are a|ttached |
|00027950| 61 6e 79 6d 6f 72 65 2c | 20 62 75 74 20 69 74 20 |anymore,| but it |
|00027960| 68 61 73 20 2a 2f 0a 09 | 09 09 09 20 2f 2a 20 20 |has */..|... /* |
|00027970| 20 20 6e 6f 74 20 62 65 | 65 6e 20 72 65 6d 6f 76 | not be|en remov|
|00027980| 65 64 20 76 69 61 20 73 | 68 6d 63 74 6c 28 29 20 |ed via s|hmctl() |
|00027990| 79 65 74 20 20 20 20 20 | 20 2a 2f 0a 23 64 65 66 |yet | */.#def|
|000279a0| 69 6e 65 09 53 48 4d 49 | 44 5f 57 41 4e 54 45 44 |ine.SHMI|D_WANTED|
|000279b0| 0b 00 0f 02 00 99 01 02 | 00 09 30 78 30 32 09 20 |........|..0x02. |
|000279c0| 2f 2a 20 6d 6f 72 65 20 | 74 68 61 6e 20 6f 6e 65 |/* more |than one|
|000279d0| 20 70 72 6f 63 65 73 73 | 20 77 61 6e 74 73 20 74 | process| wants t|
|000279e0| 68 69 73 20 62 75 74 20 | 61 6e 20 20 20 2a 2f 0a |his but |an */.|
|000279f0| 09 09 09 09 20 2f 2a 20 | 69 6e 6f 64 65 20 68 61 |.... /* |inode ha|
|00027a00| 73 20 6e 6f 74 20 62 65 | 65 6e 20 61 6c 6c 6f 63 |s not be|en alloc|
|00027a10| 61 74 65 64 20 79 65 74 | 2e 09 20 20 20 20 20 20 |ated yet|.. |
|00027a20| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 53 44 5f 42 54 |*/.#defi|ne.SD_BT|
|00027a30| 57 4e 09 09 30 78 34 30 | 0a 0a 2f 2a 20 73 64 20 |WN..0x40|../* sd |
|00027a40| 73 65 67 73 20 73 74 61 | 72 74 20 61 74 20 61 64 |segs sta|rt at ad|
|00027a50| 64 72 20 67 69 76 65 6e | 20 62 79 20 28 61 64 64 |dr given| by (add|
|00027a60| 72 20 2d 20 28 61 64 64 | 72 20 25 20 53 48 4d 4c |r - (add|r % SHML|
|00027a70| 42 41 29 29 20 2a 2f 0a | 23 69 66 64 65 66 20 4d |BA)) */.|#ifdef M|
|00027a80| 5f 49 33 38 36 0a 23 64 | 65 66 69 6e 65 20 53 48 |_I386.#d|efine SH|
|00027a90| 4d 4c 42 41 09 09 30 78 | 34 30 30 30 30 30 0a 23 |MLBA..0x|400000.#|
|00027aa0| 65 6c 73 65 0a 23 64 65 | 66 69 6e 65 20 53 48 4d |else.#de|fine SHM|
|00027ab0| 4c 42 41 09 09 30 78 31 | 30 30 30 30 0a 23 65 6e |LBA..0x1|0000.#en|
|00027ac0| 64 69 66 0a 0a 2f 2a 20 | 73 68 6d 63 74 6c 20 63 |dif../* |shmctl c|
|00027ad0| 6d 64 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 53 |mds */.#|define S|
|00027ae0| 48 4d 5f 4c 4f 43 4b 09 | 33 0a 23 64 65 66 69 6e |HM_LOCK.|3.#defin|
|00027af0| 65 20 53 48 4d 5f 55 4e | 4c 4f 43 4b 09 34 0a 0a |e SHM_UN|LOCK.4..|
|00027b00| 23 65 6c 73 65 09 09 09 | 09 20 2f 2a 20 4d 5f 4b |#else...|. /* M_K|
|00027b10| 45 52 4e 45 4c 20 65 6e | 64 20 6f 66 20 6b 65 72 |ERNEL en|d of ker|
|00027b20| 6e 65 6c 2d 6f 6e 6c 79 | 20 64 65 66 69 6e 65 73 |nel-only| defines|
|00027b30| 20 2a 2f 0a 0a 65 78 74 | 65 72 6e 20 63 68 61 72 | */..ext|ern char|
|00027b40| 20 2a 73 64 67 65 74 28 | 29 3b 0a 0a 23 65 6e 64 | *sdget(|);..#end|
|00027b50| 69 66 0a 0a 23 64 65 66 | 69 6e 65 09 53 44 5f 52 |if..#def|ine.SD_R|
|00027b60| 44 4f 4e 4c 59 09 30 78 | 30 30 0a 23 64 65 66 69 |DONLY.0x|00.#defi|
|00027b70| 6e 65 09 53 44 5f 57 52 | 49 54 45 09 30 78 30 31 |ne.SD_WR|ITE.0x01|
|00027b80| 0a 23 64 65 66 69 6e 65 | 09 53 44 5f 43 52 45 41 |.#define|.SD_CREA|
|00027b90| 54 09 30 78 30 32 0a 23 | 64 65 66 69 6e 65 09 53 |T.0x02.#|define.S|
|00027ba0| 44 5f 55 4e 4c 4f 43 4b | 09 30 78 30 34 0a 23 64 |D_UNLOCK|.0x04.#d|
|00027bb0| 65 66 69 6e 65 09 53 44 | 5f 0f 0b 01 08 0b 01 01 |efine.SD|_.......|
|00027bc0| 02 00 44 01 02 00 4e 4f | 57 41 49 54 09 30 78 30 |..D...NO|WAIT.0x0|
|00027bd0| 38 0a 0a 65 20 74 68 61 | 6e 20 6f 6e 65 20 70 72 |8..e tha|n one pr|
|00027be0| 6f 63 65 73 73 20 77 61 | 6e 74 73 20 74 68 69 73 |ocess wa|nts this|
|00027bf0| 20 62 75 74 20 61 6e 20 | 20 20 2a 2f 0a 09 09 09 | but an | */....|
|00027c00| 09 20 2f 2a 20 69 6e 6f | 64 65 20 68 61 73 20 6e |. /* ino|de has n|
|00027c10| 6f 74 20 62 65 65 6e 20 | 61 6c 6c 6f 63 61 74 65 |ot been |allocate|
|00027c20| 64 20 79 65 74 2e 09 20 | 20 20 20 20 20 2a 2f 0a |d yet.. | */.|
|00027c30| 23 64 65 66 69 6e 65 09 | 53 44 5f 42 54 57 4e 09 |#define.|SD_BTWN.|
|00027c40| 09 30 78 34 30 0a 0a 2f | 2a 20 73 64 20 73 65 67 |.0x40../|* sd seg|
|00027c50| 73 20 73 74 61 72 74 20 | 61 74 20 61 64 64 72 20 |s start |at addr |
|00027c60| 67 69 76 65 6e 20 62 79 | 20 28 61 64 64 72 20 2d |given by| (addr -|
|00027c70| 20 28 61 64 64 72 20 25 | 20 53 48 4d 4c 42 41 29 | (addr %| SHMLBA)|
|00027c80| 29 20 2a 2f 0a 23 69 66 | 64 65 66 20 4d 5f 49 33 |) */.#if|def M_I3|
|00027c90| 38 36 0a 23 64 65 66 69 | 6e 65 20 53 48 4d 4c 42 |86.#defi|ne SHMLB|
|00027ca0| 41 09 09 30 78 34 30 30 | 30 30 30 0a 23 65 6c 73 |A..0x400|000.#els|
|00027cb0| 65 0a 23 64 65 66 69 6e | 65 20 53 48 4d 4c 42 41 |e.#defin|e SHMLBA|
|00027cc0| 09 09 30 78 31 30 30 30 | 30 0a 23 65 6e 64 69 66 |..0x1000|0.#endif|
|00027cd0| 0a 0a 2f 2a 20 73 68 6d | 63 74 6c 20 63 6d 64 73 |../* shm|ctl cmds|
|00027ce0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 53 48 4d 5f | */.#def|ine SHM_|
|00027cf0| 4c 4f 43 4b 09 33 0a 23 | 64 65 66 69 6e 65 20 53 |LOCK.3.#|define S|
|00027d00| 48 4d 5f 55 4e 4c 4f 43 | 4b 09 34 0a 0a 23 65 6c |HM_UNLOC|K.4..#el|
|00027d10| 73 65 09 09 09 09 20 2f | 2a 20 4d 5f 4b 45 52 4e |se.... /|* M_KERN|
|00027d20| 45 4c 20 65 6e 64 20 6f | 66 20 6b 65 72 6e 65 6c |EL end o|f kernel|
|00027d30| 2d 6f 6e 6c 79 20 64 65 | 66 69 6e 65 73 20 2a 2f |-only de|fines */|
|00027d40| 0a 0a 65 78 74 65 72 6e | 20 63 68 61 72 20 2a 73 |..extern| char *s|
|00027d50| 64 67 65 74 28 29 3b 0a | 0a 23 65 6e 64 69 66 0a |dget();.|.#endif.|
|00027d60| 0a 23 64 65 66 69 6e 65 | 09 53 44 5f 52 44 4f 4e |.#define|.SD_RDON|
|00027d70| 4c 59 09 30 78 30 30 0a | 23 64 65 66 69 6e 65 09 |LY.0x00.|#define.|
|00027d80| 53 44 5f 57 52 49 54 45 | 09 30 78 30 31 0a 23 64 |SD_WRITE|.0x01.#d|
|00027d90| 65 66 69 6e 65 09 53 44 | 5f 43 52 45 41 54 09 30 |efine.SD|_CREAT.0|
|00027da0| 78 30 32 0a 23 64 65 66 | 69 6e 65 09 53 44 5f 55 |x02.#def|ine.SD_U|
|00027db0| 4e 4c 4f 43 4b 09 30 78 | 30 34 0a 23 64 65 66 69 |NLOCK.0x|04.#defi|
|00027dc0| 6e 65 09 53 44 5f 0b 01 | 02 02 00 68 61 00 02 00 |ne.SD_..|...ha...|
|00027dd0| 1c 2e 2f 75 73 72 2f 69 | 6e 63 6c 75 64 65 2f 73 |../usr/i|nclude/s|
|00027de0| 79 73 2f 72 65 6c 73 79 | 6d 38 36 2e 68 01 24 00 |ys/relsy|m86.h.$.|
|00027df0| 00 00 38 20 20 20 34 34 | 34 20 00 20 20 20 20 20 |..8 44|4 . |
|00027e00| 30 20 00 20 20 20 20 20 | 30 20 00 20 20 20 20 20 |0 . |0 . |
|00027e10| 20 32 35 37 33 32 20 20 | 34 32 34 34 33 34 30 31 | 25732 |42443401|
|00027e20| 35 33 20 20 31 31 31 30 | 34 00 20 01 b2 00 00 0b |53 1110|4. .....|
|00027e30| 01 03 02 00 7e 01 02 00 | 2f 2a 0a 20 2a 09 40 28 |....~...|/*. *.@(|
|00027e40| 23 29 20 72 65 6c 73 79 | 6d 38 36 2e 68 20 32 2e |#) relsy|m86.h 2.|
|00027e50| 33 20 38 38 2f 30 35 2f | 31 38 20 0a 20 2a 0a 20 |3 88/05/|18 . *. |
|00027e60| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 28 43 29 20 |*.Copyri|ght (C) |
|00027e70| 54 68 65 20 53 61 6e 74 | 61 20 43 72 75 7a 20 4f |The Sant|a Cruz O|
|00027e80| 70 65 72 61 74 69 6f 6e | 2c 20 31 39 38 34 2c 20 |peration|, 1984, |
|00027e90| 31 39 38 35 2c 20 31 39 | 38 36 2c 20 31 39 38 37 |1985, 19|86, 1987|
|00027ea0| 2e 0a 20 2a 09 43 6f 70 | 79 72 69 67 68 74 20 28 |.. *.Cop|yright (|
|00027eb0| 43 29 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |C) Micro|soft Cor|
|00027ec0| 70 6f 72 61 74 69 6f 6e | 2c 20 31 39 38 34 2c 20 |poration|, 1984, |
|00027ed0| 31 39 38 35 2c 20 31 39 | 38 36 2c 20 31 39 38 37 |1985, 19|86, 1987|
|00027ee0| 2e 0a 20 2a 09 54 68 69 | 73 20 4d 6f 64 75 6c 65 |.. *.Thi|s Module|
|00027ef0| 20 63 6f 6e 74 61 69 6e | 73 20 50 72 6f 70 72 69 | contain|s Propri|
|00027f00| 65 74 61 72 79 20 49 6e | 66 6f 72 6d 61 74 69 6f |etary In|formatio|
|00027f10| 6e 20 6f 66 0a 20 2a 09 | 54 68 65 20 53 61 6e 74 |n of. *.|The Sant|
|00027f20| 61 20 43 72 75 7a 20 4f | 70 65 72 61 74 69 6f 6e |a Cruz O|peration|
|00027f30| 2c 20 4d 69 63 72 6f 73 | 6f 66 74 20 43 6f 72 70 |, Micros|oft Corp|
|00027f40| 6f 72 61 74 69 6f 6e 0a | 20 2a 09 61 6e 64 20 41 |oration.| *.and A|
|00027f50| 54 26 54 2c 20 61 6e 64 | 20 73 68 6f 75 6c 64 20 |T&T, and| should |
|00027f60| 62 65 20 74 72 65 61 74 | 65 64 20 61 73 20 43 6f |be treat|ed as Co|
|00027f70| 6e 66 69 64 65 6e 74 69 | 61 6c 2e 0a 20 2a 2f 0a |nfidenti|al.. */.|
|00027f80| 0a 2f 2a 0a 20 2a 20 54 | 48 49 53 20 46 49 4c 45 |./*. * T|HIS FILE|
|00027f90| 20 43 4f 4e 54 41 49 4e | 53 20 43 4f 44 45 20 53 | CONTAIN|S CODE S|
|00027fa0| 50 45 43 49 46 49 43 20 | 54 4f 20 54 48 45 20 49 |PECIFIC |TO THE I|
|00027fb0| 4e 54 45 4c 20 43 50 55 | 53 2e 0a 20 2a 20 49 54 |NTEL CPU|S.. * IT|
|00027fc0| 20 4d 41 59 20 52 45 51 | 55 49 52 45 20 4d 4f 44 | MAY REQ|UIRE MOD|
|00027fd0| 49 46 49 43 41 54 49 4f | 4e 20 57 48 45 4e 20 4d |IFICATIO|N WHEN M|
|00027fe0| 4f 56 49 4e 47 20 58 45 | 4e 49 58 20 54 4f 0a 20 |OVING XE|NIX TO. |
|00027ff0| 2a 20 44 49 46 46 45 52 | 45 4e 54 20 4d 41 43 48 |* DIFFER|ENT MACH|
|00028000| 49 4e 45 20 41 52 43 48 | 49 54 45 43 54 55 52 45 |INE ARCH|ITECTURE|
|00028010| 53 20 4f 52 20 43 4f 4e | 46 49 47 55 52 41 54 49 |S OR CON|FIGURATI|
|00028020| 4f 4e 53 2e 0a 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 09 |ONS.. */|../*. *.|
|00028030| 3c 73 79 73 2f 72 65 6c | 0b 01 04 02 00 3a 01 02 |<sys/rel|.....:..|
|00028040| 00 73 79 6d 38 36 2e 68 | 3e 20 2d 20 44 65 63 6c |.sym86.h|> - Decl|
|00028050| 61 72 61 74 69 6f 6e 73 | 20 66 6f 72 20 38 30 38 |arations| for 808|
|00028060| 36 2f 38 30 32 38 36 20 | 73 79 6d 62 6f 6c 0a 20 |6/80286 |symbol. |
|00028070| 2a 09 09 74 61 62 6c 65 | 20 61 6e 64 20 72 65 6c |*..table| and rel|
|00028080| 6f 63 61 74 69 6f 6e 20 | 72 65 63 6f 72 64 20 73 |ocation |record s|
|00028090| 74 72 75 63 74 75 72 65 | 73 2e 0a 20 2a 2f 0a 0a |tructure|s.. */..|
|000280a0| 2f 2a 0a 20 2a 09 43 6f | 6d 62 69 6e 65 64 20 73 |/*. *.Co|mbined s|
|000280b0| 79 6d 62 6f 6c 20 61 6e | 64 20 72 65 6c 6f 63 61 |ymbol an|d reloca|
|000280c0| 74 69 6f 6e 20 66 6f 72 | 20 72 65 6c 6f 63 61 74 |tion for| relocat|
|000280d0| 61 62 6c 65 20 66 69 6c | 65 73 2c 0a 20 2a 09 09 |able fil|es,. *..|
|000280e0| 28 58 52 5f 52 38 36 52 | 45 4c 20 7c 20 58 52 5f |(XR_R86R|EL | XR_|
|000280f0| 53 38 36 52 45 4c 29 2e | 0a 20 2a 0a 20 2a 09 54 |S86REL).|. *. *.T|
|00028100| 68 69 73 20 66 6f 72 6d | 61 74 20 69 73 20 61 20 |his form|at is a |
|00028110| 73 65 72 69 65 73 20 6f | 66 20 64 69 73 74 69 6e |series o|f distin|
|00028120| 63 74 20 72 65 63 6f 72 | 64 73 2e 20 20 45 61 63 |ct recor|ds. Eac|
|00028130| 68 20 72 65 63 6f 72 64 | 0a 20 2a 09 69 73 20 6d |h record|. *.is m|
|00028140| 61 64 65 20 75 70 20 6f | 66 3a 0a 20 2a 09 09 31 |ade up o|f:. *..1|
|00028150| 29 20 31 20 62 79 74 65 | 20 72 65 63 6f 72 64 20 |) 1 byte| record |
|00028160| 74 79 70 65 0a 20 2a 09 | 09 32 29 20 32 20 62 79 |type. *.|.2) 2 by|
|00028170| 74 65 20 72 65 63 6f 72 | 64 20 6c 65 6e 67 74 68 |te recor|d length|
|00028180| 20 28 6c 6f 77 20 62 79 | 74 65 20 66 69 72 73 74 | (low by|te first|
|00028190| 29 0a 20 2a 09 09 33 29 | 20 72 65 63 6f 72 64 20 |). *..3)| record |
|000281a0| 63 6f 6e 74 65 6e 74 73 | 0a 20 2a 09 09 34 29 20 |contents|. *..4) |
|000281b0| 31 20 62 79 74 65 20 63 | 68 65 63 6b 73 75 6d 0a |1 byte c|hecksum.|
|000281c0| 20 2a 0a 20 2a 09 54 68 | 65 20 72 65 63 6f 72 64 | *. *.Th|e record|
|000281d0| 20 6c 65 6e 67 74 68 20 | 69 73 20 74 68 65 20 6e | length |is the n|
|000281e0| 75 6d 62 65 72 20 6f 66 | 20 62 79 74 65 73 20 69 |umber of| bytes i|
|000281f0| 6e 20 33 20 26 20 34 2e | 0a 20 2a 09 57 68 65 6e |n 3 & 4.|. *.When|
|00028200| 20 41 4c 4c 20 6f 66 20 | 74 68 65 20 62 79 74 65 | ALL of |the byte|
|00028210| 73 20 69 6e 20 74 68 65 | 20 72 65 63 6f 72 64 20 |s in the| record |
|00028220| 61 72 65 20 73 75 6d 6d | 65 64 2c 20 74 68 65 0a |are summ|ed, the.|
|00028230| 20 2a 09 74 68 65 20 6c | 6f 77 20 62 79 74 65 20 | *.the l|ow byte |
|00028240| 6f 0b 01 05 02 00 43 01 | 02 00 66 20 74 68 65 20 |o.....C.|..f the |
|00028250| 72 65 73 75 6c 74 20 73 | 68 6f 75 6c 64 20 62 65 |result s|hould be|
|00028260| 20 7a 65 72 6f 2e 0a 20 | 2a 09 54 68 65 20 72 65 | zero.. |*.The re|
|00028270| 63 6f 72 64 20 63 6f 6e | 74 65 6e 74 73 20 64 65 |cord con|tents de|
|00028280| 70 65 6e 64 20 6f 6e 20 | 74 68 65 20 72 65 63 6f |pend on |the reco|
|00028290| 72 64 20 74 79 70 65 2e | 0a 20 2a 09 52 65 63 6f |rd type.|. *.Reco|
|000282a0| 72 64 73 20 63 6f 6e 74 | 61 69 6e 69 6e 67 20 73 |rds cont|aining s|
|000282b0| 79 6d 62 6f 6c 20 6e 61 | 6d 65 73 20 68 61 76 65 |ymbol na|mes have|
|000282c0| 20 61 20 6f 6e 65 20 62 | 79 74 65 20 6e 61 6d 65 | a one b|yte name|
|000282d0| 0a 20 2a 09 6c 65 6e 67 | 74 68 20 66 6f 6c 6c 6f |. *.leng|th follo|
|000282e0| 77 65 64 20 62 79 20 74 | 68 65 20 6e 61 6d 65 20 |wed by t|he name |
|000282f0| 69 74 73 65 6c 66 2e 20 | 20 54 68 65 20 6e 61 6d |itself. | The nam|
|00028300| 65 20 69 73 20 6e 6f 74 | 0a 20 2a 09 74 65 72 6d |e is not|. *.term|
|00028310| 69 6e 61 74 65 64 20 62 | 79 20 61 20 73 70 65 63 |inated b|y a spec|
|00028320| 69 61 6c 20 63 68 61 72 | 61 63 74 65 72 2e 0a 20 |ial char|acter.. |
|00028330| 2a 2f 0a 0a 0a 2f 2a 0a | 20 2a 09 44 65 66 69 6e |*/.../*.| *.Defin|
|00028340| 65 73 20 66 6f 72 20 72 | 65 63 6f 72 64 20 74 79 |es for r|ecord ty|
|00028350| 70 65 3a 0a 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |pe:. */.|#define |
|00028360| 4d 52 48 45 41 44 52 09 | 30 78 36 65 09 2f 2a 20 |MRHEADR.|0x6e./* |
|00028370| 72 65 6c 20 6d 6f 64 75 | 6c 65 20 68 65 61 64 65 |rel modu|le heade|
|00028380| 72 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 4d 52 45 |r */.#de|fine MRE|
|00028390| 47 49 4e 54 09 30 78 37 | 30 09 2f 2a 20 72 65 67 |GINT.0x7|0./* reg|
|000283a0| 69 73 74 65 72 20 69 6e | 69 74 69 61 6c 69 7a 61 |ister in|itializa|
|000283b0| 74 69 6f 6e 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |tion */.|#define |
|000283c0| 4d 52 45 44 41 54 41 09 | 30 78 37 32 09 2f 2a 20 |MREDATA.|0x72./* |
|000283d0| 65 78 70 6c 69 63 69 74 | 20 28 65 6e 75 6d 65 72 |explicit| (enumer|
|000283e0| 61 74 65 64 29 20 64 61 | 74 61 20 69 6d 61 67 65 |ated) da|ta image|
|000283f0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4d 52 49 44 | */.#def|ine MRID|
|00028400| 41 54 41 09 30 78 37 34 | 09 2f 2a 20 72 65 70 65 |ATA.0x74|./* repe|
|00028410| 61 74 65 64 20 28 69 74 | 65 72 61 74 65 64 29 20 |ated (it|erated) |
|00028420| 64 61 74 61 20 69 6d 61 | 67 65 20 2a 2f 0a 23 64 |data ima|ge */.#d|
|00028430| 65 66 69 6e 65 20 4d 4f | 56 4c 44 45 46 09 30 78 |efine MO|VLDEF.0x|
|00028440| 37 36 09 2f 2a 20 6f 76 | 65 72 0b 01 06 02 00 26 |76./* ov|er.....&|
|00028450| 01 02 00 6c 61 79 20 64 | 65 66 69 6e 69 74 69 6f |...lay d|efinitio|
|00028460| 6e 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 4d 45 4e |n */.#de|fine MEN|
|00028470| 44 52 45 43 09 30 78 37 | 38 09 2f 2a 20 62 6c 6f |DREC.0x7|8./* blo|
|00028480| 63 6b 20 6f 72 20 6f 76 | 65 72 6c 61 79 20 65 6e |ck or ov|erlay en|
|00028490| 64 20 72 65 63 6f 72 64 | 20 2a 2f 0a 23 64 65 66 |d record| */.#def|
|000284a0| 69 6e 65 20 4d 42 4c 4b | 44 45 46 09 30 78 37 61 |ine MBLK|DEF.0x7a|
|000284b0| 09 2f 2a 20 62 6c 6f 63 | 6b 20 64 65 66 69 6e 69 |./* bloc|k defini|
|000284c0| 74 69 6f 6e 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |tion */.|#define |
|000284d0| 4d 42 4c 4b 45 4e 44 09 | 30 78 37 63 09 2f 2a 20 |MBLKEND.|0x7c./* |
|000284e0| 62 6c 6f 63 6b 20 65 6e | 64 20 2a 2f 0a 23 64 65 |block en|d */.#de|
|000284f0| 66 69 6e 65 20 4d 44 45 | 42 53 59 4d 09 30 78 37 |fine MDE|BSYM.0x7|
|00028500| 65 09 2f 2a 20 64 65 62 | 75 67 20 73 79 6d 62 6f |e./* deb|ug symbo|
|00028510| 6c 73 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 4d 54 |ls */.#d|efine MT|
|00028520| 48 45 41 44 52 09 30 78 | 38 30 09 2f 2a 20 6d 6f |HEADR.0x|80./* mo|
|00028530| 64 75 6c 65 20 68 65 61 | 64 65 72 2c 20 75 73 75 |dule hea|der, usu|
|00028540| 61 6c 6c 79 20 66 69 72 | 73 74 20 69 6e 20 61 20 |ally fir|st in a |
|00028550| 72 65 6c 20 66 69 6c 65 | 20 2a 2f 0a 23 64 65 66 |rel file| */.#def|
|00028560| 69 6e 65 20 4d 4c 48 45 | 41 44 52 09 30 78 38 32 |ine MLHE|ADR.0x82|
|00028570| 09 2f 2a 20 6c 69 6e 6b | 20 6d 6f 64 75 6c 65 20 |./* link| module |
|00028580| 68 65 61 64 65 72 20 2a | 2f 0a 23 64 65 66 69 6e |header *|/.#defin|
|00028590| 65 20 4d 50 45 44 41 54 | 41 09 30 78 38 34 09 2f |e MPEDAT|A.0x84./|
|000285a0| 2a 20 61 62 73 6f 6c 75 | 74 65 20 64 61 74 61 20 |* absolu|te data |
|000285b0| 69 6d 61 67 65 20 2a 2f | 0a 23 64 65 66 69 6e 65 |image */|.#define|
|000285c0| 20 4d 50 49 44 41 54 41 | 09 30 78 38 36 09 2f 2a | MPIDATA|.0x86./*|
|000285d0| 20 61 62 73 6f 6c 75 74 | 65 20 72 65 70 65 61 74 | absolut|e repeat|
|000285e0| 65 64 20 28 69 74 65 72 | 61 74 65 64 29 20 64 61 |ed (iter|ated) da|
|000285f0| 74 61 20 69 6d 61 67 65 | 20 2a 2f 0a 23 64 65 66 |ta image| */.#def|
|00028600| 69 6e 65 20 4d 43 4f 4d | 45 4e 54 09 30 78 38 38 |ine MCOM|ENT.0x88|
|00028610| 09 2f 2a 20 63 6f 6d 6d | 65 6e 74 20 72 65 63 6f |./* comm|ent reco|
|00028620| 72 64 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 4d 4d |rd */.#d|efine MM|
|00028630| 4f 44 45 4e 44 09 30 78 | 38 61 09 2f 2a 20 6d 6f |ODEND.0x|8a./* mo|
|00028640| 64 75 6c 65 20 65 6e 64 | 20 72 65 63 6f 72 64 20 |dule end| record |
|00028650| 2a 2f 0a 0b 01 07 02 00 | 85 01 02 00 23 64 65 66 |*/......|....#def|
|00028660| 69 6e 65 20 4d 33 38 36 | 45 4e 44 09 30 78 38 62 |ine M386|END.0x8b|
|00028670| 09 2f 2a 20 33 32 20 62 | 69 74 20 6d 6f 64 75 6c |./* 32 b|it modul|
|00028680| 65 20 65 6e 64 20 72 65 | 63 6f 72 64 20 2a 2f 0a |e end re|cord */.|
|00028690| 23 64 65 66 69 6e 65 20 | 4d 45 58 54 44 45 46 09 |#define |MEXTDEF.|
|000286a0| 30 78 38 63 09 2f 2a 20 | 65 78 74 65 72 6e 61 6c |0x8c./* |external|
|000286b0| 20 64 65 66 69 6e 69 74 | 69 6f 6e 20 2a 2f 0a 23 | definit|ion */.#|
|000286c0| 64 65 66 69 6e 65 20 4d | 54 59 50 44 45 46 09 30 |define M|TYPDEF.0|
|000286d0| 78 38 65 09 2f 2a 20 74 | 79 70 65 20 64 65 66 69 |x8e./* t|ype defi|
|000286e0| 6e 69 74 69 6f 6e 20 2a | 2f 0a 23 64 65 66 69 6e |nition *|/.#defin|
|000286f0| 65 20 4d 50 55 42 44 45 | 46 09 30 78 39 30 09 2f |e MPUBDE|F.0x90./|
|00028700| 2a 20 70 75 62 6c 69 63 | 20 64 65 66 69 6e 69 74 |* public| definit|
|00028710| 69 6f 6e 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 4d |ion */.#|define M|
|00028720| 50 55 42 33 38 36 09 30 | 78 39 31 09 2f 2a 20 33 |PUB386.0|x91./* 3|
|00028730| 32 20 62 69 74 20 70 75 | 62 6c 69 63 20 64 65 66 |2 bit pu|blic def|
|00028740| 69 6e 69 74 69 6f 6e 20 | 2a 2f 0a 23 64 65 66 69 |inition |*/.#defi|
|00028750| 6e 65 20 4d 4c 4f 43 53 | 59 4d 09 30 78 39 32 09 |ne MLOCS|YM.0x92.|
|00028760| 2f 2a 20 6c 6f 63 61 6c | 20 73 79 6d 62 6f 6c 73 |/* local| symbols|
|00028770| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4d 4c 4f 43 | */.#def|ine MLOC|
|00028780| 33 38 36 09 30 78 39 33 | 09 2f 2a 20 33 32 20 62 |386.0x93|./* 32 b|
|00028790| 69 74 20 6c 6f 63 61 6c | 20 73 79 6d 62 6f 6c 73 |it local| symbols|
|000287a0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4d 4c 49 4e | */.#def|ine MLIN|
|000287b0| 4e 55 4d 09 30 78 39 34 | 09 2f 2a 20 73 6f 75 72 |NUM.0x94|./* sour|
|000287c0| 63 65 20 6c 69 6e 65 20 | 6e 75 6d 62 65 72 20 2a |ce line |number *|
|000287d0| 2f 0a 23 64 65 66 69 6e | 65 20 4d 4c 49 4e 33 38 |/.#defin|e MLIN38|
|000287e0| 36 09 30 78 39 35 09 2f | 2a 20 33 32 20 62 69 74 |6.0x95./|* 32 bit|
|000287f0| 20 73 6f 75 72 63 65 20 | 6c 69 6e 65 20 6e 75 6d | source |line num|
|00028800| 62 65 72 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 4d |ber */.#|define M|
|00028810| 4c 4e 41 4d 45 53 09 30 | 78 39 36 09 2f 2a 20 6e |LNAMES.0|x96./* n|
|00028820| 61 6d 65 20 6c 69 73 74 | 20 72 65 63 6f 72 64 20 |ame list| record |
|00028830| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4d 53 45 47 44 |*/.#defi|ne MSEGD|
|00028840| 45 46 09 30 78 39 38 09 | 2f 2a 20 73 65 67 6d 65 |EF.0x98.|/* segme|
|00028850| 6e 74 20 64 65 66 69 6e | 69 74 69 6f 0b 01 08 02 |nt defin|itio....|
|00028860| 00 14 01 02 00 6e 20 2a | 2f 0a 23 64 65 66 69 6e |.....n *|/.#defin|
|00028870| 65 20 4d 53 45 47 33 38 | 36 09 30 78 39 39 09 2f |e MSEG38|6.0x99./|
|00028880| 2a 20 33 32 20 62 69 74 | 20 73 65 67 6d 65 6e 74 |* 32 bit| segment|
|00028890| 20 64 65 66 69 6e 69 74 | 69 6f 6e 20 2a 2f 0a 23 | definit|ion */.#|
|000288a0| 64 65 66 69 6e 65 20 4d | 47 52 50 44 45 46 09 30 |define M|GRPDEF.0|
|000288b0| 78 39 61 09 2f 2a 20 67 | 72 6f 75 70 20 64 65 66 |x9a./* g|roup def|
|000288c0| 69 6e 69 74 69 6f 6e 20 | 2a 2f 0a 23 64 65 66 69 |inition |*/.#defi|
|000288d0| 6e 65 20 4d 46 49 58 55 | 50 50 09 30 78 39 63 09 |ne MFIXU|PP.0x9c.|
|000288e0| 2f 2a 20 66 69 78 20 75 | 70 20 70 72 65 76 69 6f |/* fix u|p previo|
|000288f0| 75 73 20 64 61 74 61 20 | 69 6d 61 67 65 20 2a 2f |us data |image */|
|00028900| 0a 23 64 65 66 69 6e 65 | 20 4d 46 49 58 33 38 36 |.#define| MFIX386|
|00028910| 09 30 78 39 64 09 2f 2a | 20 66 69 78 20 75 70 20 |.0x9d./*| fix up |
|00028920| 70 72 65 76 69 6f 75 73 | 20 33 32 20 62 69 74 20 |previous| 32 bit |
|00028930| 64 61 74 61 20 69 6d 61 | 67 65 20 2a 2f 0a 23 64 |data ima|ge */.#d|
|00028940| 65 66 69 6e 65 20 4d 4e | 4f 4e 45 31 09 30 78 39 |efine MN|ONE1.0x9|
|00028950| 65 09 2f 2a 20 6e 6f 6e | 65 20 2a 2f 0a 23 64 65 |e./* non|e */.#de|
|00028960| 66 69 6e 65 20 4d 4c 45 | 44 41 54 41 09 30 78 61 |fine MLE|DATA.0xa|
|00028970| 30 09 2f 2a 20 6c 6f 67 | 69 63 61 6c 20 64 61 74 |0./* log|ical dat|
|00028980| 61 20 69 6d 61 67 65 20 | 2a 2f 0a 23 64 65 66 69 |a image |*/.#defi|
|00028990| 6e 65 20 4d 4c 45 44 33 | 38 36 09 30 78 61 31 09 |ne MLED3|86.0xa1.|
|000289a0| 2f 2a 20 33 32 20 62 69 | 74 20 6c 6f 67 69 63 61 |/* 32 bi|t logica|
|000289b0| 6c 20 64 61 74 61 20 69 | 6d 61 67 65 20 2a 2f 0a |l data i|mage */.|
|000289c0| 23 64 65 66 69 6e 65 20 | 4d 4c 49 44 41 54 41 09 |#define |MLIDATA.|
|000289d0| 30 78 61 32 09 2f 2a 20 | 6c 6f 67 69 63 61 6c 20 |0xa2./* |logical |
|000289e0| 72 65 70 65 61 74 65 64 | 20 28 69 74 65 72 61 74 |repeated| (iterat|
|000289f0| 65 64 29 20 64 61 74 61 | 20 69 6d 61 67 65 20 2a |ed) data| image *|
|00028a00| 2f 0a 23 64 65 66 69 6e | 65 20 4d 4c 49 44 33 38 |/.#defin|e MLID38|
|00028a10| 36 09 30 78 61 33 09 2f | 2a 20 33 32 20 62 69 74 |6.0xa3./|* 32 bit|
|00028a20| 20 6c 6f 67 69 63 61 6c | 20 72 65 70 65 61 74 65 | logical| repeate|
|00028a30| 64 20 28 69 74 65 72 61 | 74 65 64 29 20 64 61 74 |d (itera|ted) dat|
|00028a40| 61 20 69 6d 61 67 65 20 | 2a 2f 0a 23 64 65 66 69 |a image |*/.#defi|
|00028a50| 6e 65 20 4d 4c 49 42 48 | 45 44 09 30 78 61 34 09 |ne MLIBH|ED.0xa4.|
|00028a60| 2f 2a 20 6c 69 0b 01 09 | 02 00 be 01 02 00 62 72 |/* li...|......br|
|00028a70| 61 72 79 20 68 65 61 64 | 65 72 20 2a 2f 0a 23 64 |ary head|er */.#d|
|00028a80| 65 66 69 6e 65 20 4d 4c | 49 42 4e 41 4d 09 30 78 |efine ML|IBNAM.0x|
|00028a90| 61 36 09 2f 2a 20 6c 69 | 62 72 61 72 79 20 6e 61 |a6./* li|brary na|
|00028aa0| 6d 65 73 20 72 65 63 6f | 72 64 20 2a 2f 0a 23 64 |mes reco|rd */.#d|
|00028ab0| 65 66 69 6e 65 20 4d 4c | 49 42 4c 4f 43 09 30 78 |efine ML|IBLOC.0x|
|00028ac0| 61 38 09 2f 2a 20 6c 69 | 62 72 61 72 79 20 6d 6f |a8./* li|brary mo|
|00028ad0| 64 75 6c 65 20 6c 6f 63 | 61 74 69 6f 6e 73 20 2a |dule loc|ations *|
|00028ae0| 2f 0a 23 64 65 66 69 6e | 65 20 4d 4c 49 42 44 49 |/.#defin|e MLIBDI|
|00028af0| 43 09 30 78 61 61 09 2f | 2a 20 6c 69 62 72 61 72 |C.0xaa./|* librar|
|00028b00| 79 20 64 69 63 74 69 6f | 6e 61 72 79 20 2a 2f 0a |y dictio|nary */.|
|00028b10| 23 64 65 66 69 6e 65 09 | 4d 43 4f 4d 44 45 46 09 |#define.|MCOMDEF.|
|00028b20| 30 78 62 30 09 2f 2a 20 | 63 6f 6d 6d 75 6e 61 6c |0xb0./* |communal|
|00028b30| 20 6e 61 6d 65 73 20 64 | 65 66 69 6e 69 74 69 6f | names d|efinitio|
|00028b40| 6e 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4d 42 41 |n */.#de|fine.MBA|
|00028b50| 4b 50 41 54 09 30 78 62 | 32 09 2f 2a 20 62 61 63 |KPAT.0xb|2./* bac|
|00028b60| 6b 70 61 74 63 68 20 72 | 65 63 6f 72 64 20 2a 2f |kpatch r|ecord */|
|00028b70| 0a 23 64 65 66 69 6e 65 | 09 4d 42 41 4b 33 38 36 |.#define|.MBAK386|
|00028b80| 09 30 78 62 33 09 2f 2a | 20 33 32 20 62 69 74 20 |.0xb3./*| 32 bit |
|00028b90| 62 61 63 6b 70 61 74 63 | 68 20 72 65 63 6f 72 64 |backpatc|h record|
|00028ba0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4d 4c 4f 43 | */.#def|ine MLOC|
|00028bb0| 45 58 44 09 30 78 62 34 | 09 2f 2a 20 65 78 74 65 |EXD.0xb4|./* exte|
|00028bc0| 72 6e 61 6c 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 |rnal def|inition |
|00028bd0| 76 69 73 69 62 6c 65 20 | 77 69 74 68 69 6e 20 6d |visible |within m|
|00028be0| 6f 64 75 6c 65 20 6f 6e | 6c 79 20 2a 2f 0a 23 64 |odule on|ly */.#d|
|00028bf0| 65 66 69 6e 65 20 4d 4c | 4f 43 50 55 42 09 30 78 |efine ML|OCPUB.0x|
|00028c00| 62 36 09 2f 2a 20 70 75 | 62 6c 69 63 20 64 65 66 |b6./* pu|blic def|
|00028c10| 69 6e 69 74 69 6f 6e 20 | 76 69 73 69 62 6c 65 20 |inition |visible |
|00028c20| 77 69 74 68 69 6e 20 6d | 6f 64 75 6c 65 20 6f 6e |within m|odule on|
|00028c30| 6c 79 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 4d 4c |ly */.#d|efine ML|
|00028c40| 50 42 33 38 36 09 30 78 | 62 37 09 2f 2a 20 33 32 |PB386.0x|b7./* 32|
|00028c50| 20 62 69 74 20 70 75 62 | 6c 69 63 20 76 69 73 69 | bit pub|lic visi|
|00028c60| 62 6c 65 20 77 69 74 68 | 69 6e 20 6d 6f 64 0b 01 |ble with|in mod..|
|00028c70| 0a 02 00 23 01 02 00 75 | 6c 65 20 6f 6e 6c 79 20 |...#...u|le only |
|00028c80| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4d 4c 4f 43 43 |*/.#defi|ne.MLOCC|
|00028c90| 4f 4d 09 30 78 62 38 09 | 2f 2a 20 63 6f 6d 6d 75 |OM.0xb8.|/* commu|
|00028ca0| 6e 61 6c 20 6e 61 6d 65 | 20 76 69 73 69 62 6c 65 |nal name| visible|
|00028cb0| 20 77 69 74 68 69 6e 20 | 6d 6f 64 75 6c 65 20 6f | within |module o|
|00028cc0| 6e 6c 79 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 4d |nly */.#|define M|
|00028cd0| 4c 49 42 48 44 52 09 30 | 78 66 30 09 2f 2a 20 6c |LIBHDR.0|xf0./* l|
|00028ce0| 69 62 72 61 72 79 20 68 | 65 61 64 65 72 20 2a 2f |ibrary h|eader */|
|00028cf0| 0a 23 64 65 66 69 6e 65 | 20 4d 4c 49 42 44 48 44 |.#define| MLIBDHD|
|00028d00| 09 30 78 66 31 09 2f 2a | 20 6c 69 62 72 61 72 79 |.0xf1./*| library|
|00028d10| 20 64 69 63 74 69 6f 6e | 61 72 79 20 68 65 61 64 | diction|ary head|
|00028d20| 65 72 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 09 54 68 65 |er */../|*. *.The|
|00028d30| 20 6d 61 78 69 6d 75 6d | 20 6c 65 6e 67 74 68 20 | maximum| length |
|00028d40| 6f 66 20 61 6e 20 69 64 | 65 6e 74 69 66 69 65 72 |of an id|entifier|
|00028d50| 2e 0a 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 4e |.. */..#|define N|
|00028d60| 41 4d 45 4c 45 4e 47 54 | 48 09 34 30 0a 0a 0a 2f |AMELENGT|H.40.../|
|00028d70| 2a 0a 20 2a 09 44 65 66 | 69 6e 65 73 20 66 6f 72 |*. *.Def|ines for|
|00028d80| 20 73 65 67 6d 65 6e 74 | 20 64 65 73 63 72 69 70 | segment| descrip|
|00028d90| 74 6f 72 2e 0a 20 2a 2f | 0a 0a 09 2f 2a 20 74 79 |tor.. */|.../* ty|
|00028da0| 70 65 20 6f 66 20 61 6c | 69 67 6e 6d 65 6e 74 20 |pe of al|ignment |
|00028db0| 72 65 71 75 69 72 65 64 | 20 2a 2f 0a 23 64 65 66 |required| */.#def|
|00028dc0| 69 6e 65 20 53 44 5f 41 | 42 53 09 09 30 78 30 30 |ine SD_A|BS..0x00|
|00028dd0| 09 09 2f 2a 20 61 62 73 | 6f 6c 75 74 65 20 2a 2f |../* abs|olute */|
|00028de0| 0a 23 64 65 66 69 6e 65 | 20 53 44 5f 42 59 54 45 |.#define| SD_BYTE|
|00028df0| 09 09 30 78 32 30 09 09 | 2f 2a 20 62 79 74 65 20 |..0x20..|/* byte |
|00028e00| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 53 44 5f 57 4f |*/.#defi|ne SD_WO|
|00028e10| 52 44 09 09 30 78 34 30 | 09 09 2f 2a 20 77 6f 72 |RD..0x40|../* wor|
|00028e20| 64 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 44 5f |d */.#de|fine SD_|
|00028e30| 50 41 52 41 09 09 30 78 | 36 30 09 09 2f 2a 20 70 |PARA..0x|60../* p|
|00028e40| 61 72 61 67 72 61 70 68 | 20 2a 2f 0a 23 64 65 66 |aragraph| */.#def|
|00028e50| 69 6e 65 20 53 44 5f 50 | 41 47 45 09 09 30 78 38 |ine SD_P|AGE..0x8|
|00028e60| 30 09 09 2f 2a 20 70 61 | 67 65 20 2a 2f 0a 23 64 |0../* pa|ge */.#d|
|00028e70| 65 66 69 6e 65 20 53 0b | 01 0b 02 00 84 01 02 00 |efine S.|........|
|00028e80| 44 5f 44 57 4f 52 44 09 | 30 78 61 30 09 09 2f 2a |D_DWORD.|0xa0../*|
|00028e90| 20 64 6f 75 62 6c 65 20 | 77 6f 72 64 20 2a 2f 0a | double |word */.|
|00028ea0| 23 64 65 66 69 6e 65 20 | 53 44 5f 55 41 42 53 09 |#define |SD_UABS.|
|00028eb0| 09 53 44 5f 44 57 4f 52 | 44 09 2f 2a 20 75 6e 6e |.SD_DWOR|D./* unn|
|00028ec0| 61 6d 65 64 20 61 62 73 | 6f 6c 75 74 65 20 2a 2f |amed abs|olute */|
|00028ed0| 0a 23 64 65 66 69 6e 65 | 20 53 44 5f 4c 54 4c 09 |.#define| SD_LTL.|
|00028ee0| 09 30 78 63 30 09 09 2f | 2a 20 6c 6f 61 64 2d 74 |.0xc0../|* load-t|
|00028ef0| 69 6d 65 20 6c 6f 63 61 | 74 61 62 6c 65 20 2a 2f |ime loca|table */|
|00028f00| 0a 23 64 65 66 69 6e 65 | 20 53 44 5f 41 4c 49 47 |.#define| SD_ALIG|
|00028f10| 4e 09 30 78 65 30 09 09 | 2f 2a 20 73 65 67 6d 65 |N.0xe0..|/* segme|
|00028f20| 6e 74 20 61 6c 69 67 6e | 6d 65 6e 74 20 6d 61 73 |nt align|ment mas|
|00028f30| 6b 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 44 5f |k */.#de|fine SD_|
|00028f40| 41 53 48 49 46 54 09 35 | 09 09 2f 2a 20 61 6c 69 |ASHIFT.5|../* ali|
|00028f50| 67 6e 2e 20 73 68 69 66 | 74 20 2a 2f 0a 0a 09 2f |gn. shif|t */.../|
|00028f60| 2a 20 77 61 79 73 20 69 | 6e 20 77 68 69 63 68 20 |* ways i|n which |
|00028f70| 73 65 67 6d 65 6e 74 73 | 20 63 61 6e 20 62 65 20 |segments| can be |
|00028f80| 63 6f 6d 62 69 6e 65 64 | 20 2a 2f 0a 23 64 65 66 |combined| */.#def|
|00028f90| 69 6e 65 20 53 44 5f 50 | 52 49 56 09 09 30 78 30 |ine SD_P|RIV..0x0|
|00028fa0| 30 09 09 2f 2a 20 70 72 | 69 76 61 74 65 2c 20 63 |0../* pr|ivate, c|
|00028fb0| 61 6e 27 74 20 62 65 20 | 63 6f 6d 62 69 6e 65 64 |an't be |combined|
|00028fc0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 53 44 5f 48 | */.#def|ine SD_H|
|00028fd0| 43 4f 4d 4d 09 30 78 30 | 34 09 09 2f 2a 20 63 6f |COMM.0x0|4../* co|
|00028fe0| 6d 6d 6f 6e 2c 20 70 6c | 61 63 65 20 69 6e 20 68 |mmon, pl|ace in h|
|00028ff0| 69 67 68 20 6d 65 6d 20 | 2a 2f 0a 23 64 65 66 69 |igh mem |*/.#defi|
|00029000| 6e 65 20 53 44 5f 50 55 | 42 4c 49 43 09 30 78 30 |ne SD_PU|BLIC.0x0|
|00029010| 38 09 09 2f 2a 20 70 75 | 62 6c 69 63 2c 20 73 65 |8../* pu|blic, se|
|00029020| 71 75 65 6e 74 69 61 6c | 20 2a 2f 0a 23 64 65 66 |quential| */.#def|
|00029030| 69 6e 65 20 53 44 5f 42 | 41 44 09 09 30 78 30 63 |ine SD_B|AD..0x0c|
|00029040| 09 09 2f 2a 20 75 6e 64 | 65 66 69 6e 65 64 20 2a |../* und|efined *|
|00029050| 2f 0a 23 64 65 66 69 6e | 65 20 53 44 5f 43 34 09 |/.#defin|e SD_C4.|
|00029060| 09 30 78 31 30 09 09 2f | 2a 20 6e 6f 74 20 75 73 |.0x10../|* not us|
|00029070| 65 64 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 53 44 |ed */.#d|efine SD|
|00029080| 0b 01 0c 02 00 3a 01 02 | 00 5f 53 54 41 43 4b 09 |.....:..|._STACK.|
|00029090| 30 78 31 34 09 09 2f 2a | 20 73 74 61 63 6b 20 73 |0x14../*| stack s|
|000290a0| 65 67 6d 65 6e 74 20 2a | 2f 0a 23 64 65 66 69 6e |egment *|/.#defin|
|000290b0| 65 20 53 44 5f 43 4f 4d | 4d 09 09 30 78 31 38 09 |e SD_COM|M..0x18.|
|000290c0| 09 2f 2a 20 63 6f 6d 6d | 6f 6e 20 73 65 67 6d 65 |./* comm|on segme|
|000290d0| 6e 74 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 53 44 |nt */.#d|efine SD|
|000290e0| 5f 52 43 4f 4d 4d 09 30 | 78 31 63 09 09 2f 2a 20 |_RCOMM.0|x1c../* |
|000290f0| 6e 6f 74 20 75 73 65 64 | 2c 20 72 65 76 65 72 73 |not used|, revers|
|00029100| 65 20 63 6f 6d 6d 6f 6e | 20 73 65 67 6d 65 6e 74 |e common| segment|
|00029110| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 53 44 5f 43 | */.#def|ine SD_C|
|00029120| 4f 4d 42 4f 09 30 78 31 | 63 09 09 2f 2a 20 63 6f |OMBO.0x1|c../* co|
|00029130| 6d 62 69 6e 61 74 69 6f | 6e 20 6d 61 73 6b 20 2a |mbinatio|n mask *|
|00029140| 2f 0a 23 64 65 66 69 6e | 65 20 53 44 5f 43 53 48 |/.#defin|e SD_CSH|
|00029150| 49 46 54 09 32 09 09 2f | 2a 20 63 6f 6d 62 2e 20 |IFT.2../|* comb. |
|00029160| 73 68 69 66 74 20 2a 2f | 0a 0a 23 64 65 66 69 6e |shift */|..#defin|
|00029170| 65 20 53 44 5f 50 47 52 | 45 53 09 30 78 30 31 09 |e SD_PGR|ES.0x01.|
|00029180| 09 2f 2a 20 70 61 67 65 | 20 72 65 73 69 64 65 6e |./* page| residen|
|00029190| 74 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 44 5f |t */.#de|fine SD_|
|000291a0| 36 34 4b 09 09 30 78 30 | 32 09 09 2f 2a 20 73 65 |64K..0x0|2../* se|
|000291b0| 67 6d 65 6e 74 20 73 69 | 7a 65 20 69 73 20 65 78 |gment si|ze is ex|
|000291c0| 61 63 74 6c 79 20 36 34 | 6b 20 2a 2f 0a 0a 0a 09 |actly 64|k */....|
|000291d0| 2f 2a 20 64 65 66 69 6e | 69 74 69 6f 6e 73 20 66 |/* defin|itions f|
|000291e0| 6f 72 20 4c 54 4c 20 64 | 65 73 63 72 69 70 74 6f |or LTL d|escripto|
|000291f0| 72 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 4c 54 4c |r */.#de|fine LTL|
|00029200| 5f 36 34 4b 09 09 30 78 | 30 31 09 09 2f 2a 20 6d |_64K..0x|01../* m|
|00029210| 61 78 20 73 65 67 6d 65 | 6e 74 20 73 69 7a 65 20 |ax segme|nt size |
|00029220| 69 73 20 65 78 61 63 74 | 6c 79 20 36 34 6b 20 2a |is exact|ly 64k *|
|00029230| 2f 0a 23 64 65 66 69 6e | 65 20 4c 54 4c 5f 47 52 |/.#defin|e LTL_GR|
|00029240| 50 09 09 30 78 38 30 09 | 09 2f 2a 20 69 73 20 61 |P..0x80.|./* is a|
|00029250| 20 67 72 6f 75 70 20 6d | 65 6d 62 65 72 20 2a 2f | group m|ember */|
|00029260| 0a 0a 0a 09 2f 2a 20 64 | 65 66 69 6e 69 74 69 6f |..../* d|efinitio|
|00029270| 6e 73 20 66 6f 72 20 43 | 20 63 6f 6d 6d 6f 6e 20 |ns for C| common |
|00029280| 4d 54 59 50 44 45 46 20 | 72 0b 01 0d 02 00 f9 01 |MTYPDEF |r.......|
|00029290| 02 00 65 63 6f 72 64 73 | 20 2a 2f 0a 23 64 65 66 |..ecords| */.#def|
|000292a0| 69 6e 65 09 54 44 5f 43 | 4e 45 41 52 09 30 78 36 |ine.TD_C|NEAR.0x6|
|000292b0| 32 09 09 2f 2a 20 6e 65 | 61 72 20 2e 63 6f 6d 6d |2../* ne|ar .comm|
|000292c0| 20 76 61 72 69 61 62 6c | 65 20 2a 2f 0a 23 64 65 | variabl|e */.#de|
|000292d0| 66 69 6e 65 09 54 44 5f | 43 46 41 52 09 09 30 78 |fine.TD_|CFAR..0x|
|000292e0| 36 31 09 09 2f 2a 20 66 | 61 72 20 2e 63 6f 6d 6d |61../* f|ar .comm|
|000292f0| 20 76 61 72 69 61 62 6c | 65 20 2a 2f 0a 0a 0a 09 | variabl|e */....|
|00029300| 2f 2a 20 66 6f 72 20 44 | 4f 53 20 73 75 70 70 6f |/* for D|OS suppo|
|00029310| 72 74 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 44 4f |rt */.#d|efine DO|
|00029320| 53 4d 41 47 49 43 09 30 | 78 35 61 34 64 09 09 2f |SMAGIC.0|x5a4d../|
|00029330| 2a 20 44 4f 53 20 65 78 | 65 63 75 74 61 62 6c 65 |* DOS ex|ecutable|
|00029340| 20 6d 61 67 69 63 20 6e | 75 6d 62 65 72 20 2a 2f | magic n|umber */|
|00029350| 0a 0a 73 74 72 75 63 74 | 20 64 6f 73 65 78 65 63 |..struct| dosexec|
|00029360| 20 7b 0a 09 75 6e 73 69 | 67 6e 65 64 20 73 68 6f | {..unsi|gned sho|
|00029370| 72 74 09 64 78 5f 6d 61 | 67 69 63 3b 09 2f 2a 20 |rt.dx_ma|gic;./* |
|00029380| 6d 61 67 69 63 20 6e 75 | 6d 62 65 72 20 2a 2f 0a |magic nu|mber */.|
|00029390| 09 75 6e 73 69 67 6e 65 | 64 20 73 68 6f 72 74 09 |.unsigne|d short.|
|000293a0| 64 78 5f 70 61 67 72 65 | 6d 3b 09 2f 2a 20 69 6d |dx_pagre|m;./* im|
|000293b0| 61 67 65 20 6c 65 6e 67 | 74 68 20 6d 6f 64 20 35 |age leng|th mod 5|
|000293c0| 31 32 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |12 */..u|nsigned |
|000293d0| 73 68 6f 72 74 09 64 78 | 5f 6e 70 61 67 65 73 3b |short.dx|_npages;|
|000293e0| 09 2f 2a 20 66 69 6c 65 | 20 73 69 7a 65 20 69 6e |./* file| size in|
|000293f0| 20 35 31 32 20 62 79 74 | 65 20 70 61 67 65 73 20 | 512 byt|e pages |
|00029400| 2a 2f 0a 09 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |*/..unsi|gned sho|
|00029410| 72 74 09 64 78 5f 6e 72 | 65 6c 6f 63 3b 09 2f 2a |rt.dx_nr|eloc;./*|
|00029420| 20 23 20 6f 66 20 72 65 | 6c 6f 63 20 69 74 65 6d | # of re|loc item|
|00029430| 73 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 73 |s */..un|signed s|
|00029440| 68 6f 72 74 09 64 78 5f | 68 73 69 7a 65 3b 09 2f |hort.dx_|hsize;./|
|00029450| 2a 20 68 65 61 64 65 72 | 20 73 69 7a 65 20 69 6e |* header| size in|
|00029460| 20 31 36 20 62 79 74 65 | 20 70 61 72 61 67 72 61 | 16 byte| paragra|
|00029470| 70 68 73 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |phs */..|unsigned|
|00029480| 20 73 68 6f 72 74 09 64 | 78 5f 6d 69 6e 70 61 72 | short.d|x_minpar|
|00029490| 3b 09 0b 01 0e 02 00 b7 | 01 02 00 2f 2a 20 6d 69 |;.......|.../* mi|
|000294a0| 6e 20 70 61 72 27 73 20 | 61 62 6f 76 65 20 65 6e |n par's |above en|
|000294b0| 64 20 6f 66 20 69 6d 61 | 67 65 20 2a 2f 0a 09 75 |d of ima|ge */..u|
|000294c0| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 09 64 78 |nsigned |short.dx|
|000294d0| 5f 6d 61 78 70 61 72 3b | 09 2f 2a 20 6d 61 78 20 |_maxpar;|./* max |
|000294e0| 70 61 72 27 73 20 61 62 | 6f 76 65 20 65 6e 64 20 |par's ab|ove end |
|000294f0| 6f 66 20 69 6d 61 67 65 | 20 2a 2f 0a 09 75 6e 73 |of image| */..uns|
|00029500| 69 67 6e 65 64 20 73 68 | 6f 72 74 09 64 78 5f 73 |igned sh|ort.dx_s|
|00029510| 74 6b 6f 66 66 3b 09 2f | 2a 20 6f 66 66 73 65 74 |tkoff;./|* offset|
|00029520| 20 6f 66 20 73 74 61 63 | 6b 20 28 69 6e 20 73 65 | of stac|k (in se|
|00029530| 67 6d 65 6e 74 20 66 6f | 72 6d 29 20 2a 2f 0a 09 |gment fo|rm) */..|
|00029540| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 09 64 |unsigned| short.d|
|00029550| 78 5f 69 6e 69 74 73 70 | 3b 09 2f 2a 20 69 6e 69 |x_initsp|;./* ini|
|00029560| 74 69 61 6c 20 73 70 20 | 2a 2f 0a 09 75 6e 73 69 |tial sp |*/..unsi|
|00029570| 67 6e 65 64 20 73 68 6f | 72 74 09 64 78 5f 63 68 |gned sho|rt.dx_ch|
|00029580| 6b 73 75 6d 3b 09 2f 2a | 20 66 69 6c 65 20 63 68 |ksum;./*| file ch|
|00029590| 65 63 6b 20 73 75 6d 20 | 2a 2f 0a 09 75 6e 73 69 |eck sum |*/..unsi|
|000295a0| 67 6e 65 64 20 73 68 6f | 72 74 09 64 78 5f 69 6e |gned sho|rt.dx_in|
|000295b0| 69 74 69 70 3b 09 2f 2a | 20 69 6e 69 74 69 61 6c |itip;./*| initial|
|000295c0| 20 69 70 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 | ip */..|unsigned|
|000295d0| 20 73 68 6f 72 74 09 64 | 78 5f 74 65 78 74 6f 66 | short.d|x_textof|
|000295e0| 66 3b 09 2f 2a 20 6f 66 | 66 73 65 74 20 6f 66 20 |f;./* of|fset of |
|000295f0| 63 6f 64 65 20 28 69 6e | 20 73 65 67 6d 65 6e 74 |code (in| segment|
|00029600| 20 66 6f 72 6d 29 20 2a | 2f 0a 09 75 6e 73 69 67 | form) *|/..unsig|
|00029610| 6e 65 64 20 73 68 6f 72 | 74 09 64 78 5f 72 65 6c |ned shor|t.dx_rel|
|00029620| 6f 66 66 3b 09 2f 2a 20 | 6f 66 66 73 65 74 20 6f |off;./* |offset o|
|00029630| 66 20 66 69 72 73 74 20 | 72 65 6c 6f 63 20 69 74 |f first |reloc it|
|00029640| 65 6d 20 2a 2f 0a 09 75 | 6e 73 69 67 6e 65 64 20 |em */..u|nsigned |
|00029650| 73 68 6f 72 74 09 64 78 | 5f 6f 76 6c 79 3b 09 2f |short.dx|_ovly;./|
|00029660| 2a 20 6f 76 65 72 6c 61 | 79 20 6e 75 6d 62 65 72 |* overla|y number|
|00029670| 20 2a 2f 0a 7d 3b 0a 0a | 0a 2f 2a 0a 20 2a 09 52 | */.};..|./*. *.R|
|00029680| 65 6c 6f 63 61 74 69 6f | 6e 20 66 6f 72 20 38 30 |elocatio|n for 80|
|00029690| 38 36 20 73 65 67 6d 65 | 6e 74 65 0b 01 0f 02 00 |86 segme|nte.....|
|000296a0| dd 01 02 00 64 20 78 2e | 6f 75 74 20 65 78 65 63 |....d x.|out exec|
|000296b0| 75 74 61 62 6c 65 20 66 | 69 6c 65 73 2c 20 58 53 |utable f|iles, XS|
|000296c0| 5f 52 38 36 53 45 47 2e | 0a 20 2a 2f 0a 73 74 72 |_R86SEG.|. */.str|
|000296d0| 75 63 74 20 73 65 67 72 | 65 6c 38 36 20 7b 0a 09 |uct segr|el86 {..|
|000296e0| 75 6e 73 69 67 6e 65 64 | 20 73 65 6c 3b 09 09 09 |unsigned| sel;...|
|000296f0| 2f 2a 20 78 73 5f 73 65 | 67 20 73 65 6c 65 63 74 |/* xs_se|g select|
|00029700| 6f 72 20 6f 66 20 74 61 | 72 67 65 74 20 2a 2f 0a |or of ta|rget */.|
|00029710| 09 75 6e 73 69 67 6e 65 | 64 20 6f 66 66 3b 09 09 |.unsigne|d off;..|
|00029720| 09 2f 2a 20 6f 66 66 73 | 65 74 20 77 69 74 68 69 |./* offs|et withi|
|00029730| 6e 20 73 65 67 20 2a 2f | 0a 7d 3b 0a 0a 0a 2f 2a |n seg */|.};.../*|
|00029740| 0a 20 2a 09 52 65 6c 6f | 63 61 74 69 6f 6e 20 66 |. *.Relo|cation f|
|00029750| 6f 72 20 65 78 65 63 75 | 74 61 62 6c 65 20 66 69 |or execu|table fi|
|00029760| 6c 65 73 2c 20 58 52 5f | 52 38 36 41 42 53 2e 0a |les, XR_|R86ABS..|
|00029770| 20 2a 09 0a 20 2a 09 54 | 68 69 73 20 72 65 6c 6f | *.. *.T|his relo|
|00029780| 63 61 74 69 6f 6e 20 6d | 75 73 74 20 62 65 20 61 |cation m|ust be a|
|00029790| 74 74 61 63 68 65 64 20 | 74 6f 20 6d 69 64 64 6c |ttached |to middl|
|000297a0| 65 20 61 6e 64 20 6c 61 | 72 67 65 0a 20 2a 09 6d |e and la|rge. *.m|
|000297b0| 6f 64 65 6c 20 65 78 65 | 63 75 74 61 62 6c 65 73 |odel exe|cutables|
|000297c0| 20 74 6f 20 62 65 20 72 | 75 6e 20 6f 6e 20 61 6e | to be r|un on an|
|000297d0| 20 38 30 38 36 2e 20 20 | 52 65 6c 6f 63 61 74 69 | 8086. |Relocati|
|000297e0| 6f 6e 20 69 73 0a 20 2a | 09 70 65 72 66 6f 72 6d |on is. *|.perform|
|000297f0| 65 64 20 6f 6e 20 61 6c | 6c 20 73 65 67 6d 65 6e |ed on al|l segmen|
|00029800| 74 20 72 65 66 65 72 65 | 6e 63 65 73 20 77 68 65 |t refere|nces whe|
|00029810| 6e 20 74 68 65 20 66 69 | 6c 65 20 69 73 0a 20 2a |n the fi|le is. *|
|00029820| 09 6c 6f 61 64 65 64 20 | 69 6e 74 6f 20 6d 65 6d |.loaded |into mem|
|00029830| 6f 72 79 2e 0a 20 2a 0a | 20 2a 09 54 68 69 73 20 |ory.. *.| *.This |
|00029840| 72 65 6c 6f 63 61 74 69 | 6f 6e 20 6d 75 73 74 20 |relocati|on must |
|00029850| 73 74 61 72 74 20 6f 6e | 20 61 6e 20 65 76 65 6e |start on| an even|
|00029860| 20 73 69 7a 65 6f 66 28 | 73 74 72 75 63 74 20 73 | sizeof(|struct s|
|00029870| 72 65 6c 38 36 29 0a 20 | 2a 09 62 6f 75 6e 64 61 |rel86). |*.bounda|
|00029880| 72 79 2e 20 20 54 68 65 | 20 73 69 7a 65 20 6f 66 |ry. The| size of|
|00029890| 20 74 68 69 73 20 73 74 | 72 75 63 74 75 72 65 20 | this st|ructure |
|000298a0| 4d 55 53 54 0f 0c 00 20 | 0c 00 01 02 00 65 01 02 |MUST... |.....e..|
|000298b0| 00 20 42 45 20 61 6e 20 | 65 76 65 6e 0a 20 2a 09 |. BE an |even. *.|
|000298c0| 70 6f 77 65 72 20 6f 66 | 20 32 2e 20 20 49 6e 20 |power of| 2. In |
|000298d0| 6f 72 64 65 72 20 74 6f | 20 61 63 63 6f 6d 70 6c |order to| accompl|
|000298e0| 69 73 68 20 74 68 65 20 | 70 61 64 64 69 6e 67 2c |ish the |padding,|
|000298f0| 20 74 68 65 0a 20 2a 09 | 61 70 70 72 6f 70 72 69 | the. *.|appropri|
|00029900| 61 74 65 20 6e 75 6d 62 | 65 72 20 6f 66 20 6e 75 |ate numb|er of nu|
|00029910| 6c 6c 20 62 79 74 65 73 | 20 73 68 6f 75 6c 64 20 |ll bytes| should |
|00029920| 62 65 20 77 72 69 74 74 | 65 6e 20 61 74 20 74 68 |be writt|en at th|
|00029930| 65 0a 20 2a 09 73 74 61 | 72 74 20 6f 66 20 74 68 |e. *.sta|rt of th|
|00029940| 65 20 72 65 6c 6f 63 61 | 74 69 6f 6e 2c 20 61 6e |e reloca|tion, an|
|00029950| 64 20 74 68 65 20 72 65 | 6c 6f 63 61 74 69 6f 6e |d the re|location|
|00029960| 20 73 69 7a 65 20 69 6e | 20 74 68 65 0a 20 2a 09 | size in| the. *.|
|00029970| 68 65 61 64 65 72 20 62 | 75 6d 70 65 64 20 75 70 |header b|umped up|
|00029980| 20 74 6f 20 72 65 66 6c | 65 63 74 20 74 68 65 20 | to refl|ect the |
|00029990| 70 61 64 64 69 6e 67 2e | 0a 20 2a 2f 0a 0a 73 74 |padding.|. */..st|
|000299a0| 72 75 63 74 20 73 72 65 | 6c 38 36 20 7b 0a 09 63 |ruct sre|l86 {..c|
|000299b0| 68 61 72 09 09 73 72 74 | 79 70 3b 09 2f 2a 20 74 |har..srt|yp;./* t|
|000299c0| 79 70 65 20 6f 66 20 73 | 65 67 6d 65 6e 74 20 72 |ype of s|egment r|
|000299d0| 65 6c 6f 63 61 74 69 6f | 6e 20 2a 2f 0a 09 63 68 |elocatio|n */..ch|
|000299e0| 61 72 09 09 73 72 68 69 | 62 3b 09 2f 2a 20 68 69 |ar..srhi|b;./* hi|
|000299f0| 67 68 20 62 79 74 65 20 | 6f 66 20 72 65 6c 6f 63 |gh byte |of reloc|
|00029a00| 20 61 64 64 72 65 73 73 | 20 2a 2f 0a 09 75 6e 73 | address| */..uns|
|00029a10| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 73 72 6c 6f |igned sh|ort srlo|
|00029a20| 77 3b 09 2f 2a 20 6c 6f | 77 20 77 6f 72 64 20 6f |w;./* lo|w word o|
|00029a30| 66 20 72 65 6c 6f 63 20 | 61 64 64 72 65 73 73 20 |f reloc |address |
|00029a40| 2a 2f 0a 7d 3b 0a 0a 0a | 2f 2a 0a 20 2a 09 44 65 |*/.};...|/*. *.De|
|00029a50| 66 69 6e 65 73 20 66 6f | 72 20 73 72 65 6c 38 36 |fines fo|r srel86|
|00029a60| 2e 73 72 74 79 70 0a 20 | 2a 2f 0a 0a 23 64 65 66 |.srtyp. |*/..#def|
|00029a70| 69 6e 65 20 52 38 36 5f | 43 54 43 20 30 09 09 2f |ine R86_|CTC 0../|
|00029a80| 2a 20 63 6f 64 65 20 72 | 65 66 65 72 65 6e 63 65 |* code r|eference|
|00029a90| 20 74 6f 20 63 6f 64 65 | 20 2a 2f 0a 23 64 65 66 | to code| */.#def|
|00029aa0| 69 6e 65 20 52 38 36 5f | 43 54 44 20 31 09 09 2f |ine R86_|CTD 1../|
|00029ab0| 2a 0c 00 02 02 00 83 01 | 02 00 20 63 6f 64 65 20 |*.......|.. code |
|00029ac0| 72 65 66 65 72 65 6e 63 | 65 20 74 6f 20 64 61 74 |referenc|e to dat|
|00029ad0| 61 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 52 38 36 |a */.#de|fine R86|
|00029ae0| 5f 44 54 43 20 32 09 09 | 2f 2a 20 64 61 74 61 20 |_DTC 2..|/* data |
|00029af0| 72 65 66 65 72 65 6e 63 | 65 20 74 6f 20 63 6f 64 |referenc|e to cod|
|00029b00| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 52 38 36 |e */.#de|fine R86|
|00029b10| 5f 44 54 44 20 33 09 09 | 2f 2a 20 64 61 74 61 20 |_DTD 3..|/* data |
|00029b20| 72 65 66 65 72 65 6e 63 | 65 20 74 6f 20 64 61 74 |referenc|e to dat|
|00029b30| 61 20 2a 2f 0a 0a 0a 2f | 2a 0a 20 2a 09 4d 61 63 |a */.../|*. *.Mac|
|00029b40| 72 6f 73 20 61 70 70 6c | 69 63 61 62 6c 65 20 74 |ros appl|icable t|
|00029b50| 6f 20 58 52 5f 52 38 36 | 41 42 53 20 72 65 6c 6f |o XR_R86|ABS relo|
|00029b60| 63 61 74 69 6f 6e 20 70 | 61 64 64 69 6e 67 3a 0a |cation p|adding:.|
|00029b70| 20 2a 0a 20 2a 09 53 52 | 45 4c 50 4f 53 28 29 20 | *. *.SR|ELPOS() |
|00029b80| 6d 75 73 74 20 62 65 20 | 67 69 76 65 6e 20 61 20 |must be |given a |
|00029b90| 70 6f 69 6e 74 65 72 20 | 74 6f 20 61 6e 20 78 2e |pointer |to an x.|
|00029ba0| 6f 75 74 20 68 65 61 64 | 65 72 3b 0a 20 2a 09 20 |out head|er;. *. |
|00029bb0| 20 20 20 69 74 20 72 65 | 74 75 72 6e 73 20 74 68 | it re|turns th|
|00029bc0| 65 20 73 65 65 6b 20 70 | 6f 73 69 74 69 6f 6e 20 |e seek p|osition |
|00029bd0| 6f 66 20 74 68 65 20 66 | 69 72 73 74 20 72 65 6c |of the f|irst rel|
|00029be0| 6f 63 61 74 69 6f 6e 0a | 20 2a 09 20 20 20 20 73 |ocation.| *. s|
|00029bf0| 74 72 75 63 74 75 72 65 | 20 69 6e 20 61 6e 20 6f |tructure| in an o|
|00029c00| 62 6a 65 63 74 20 66 69 | 6c 65 2c 20 73 6b 69 70 |bject fi|le, skip|
|00029c10| 70 69 6e 67 20 61 6e 79 | 20 70 61 64 64 69 6e 67 |ping any| padding|
|00029c20| 2e 0a 20 2a 09 53 52 45 | 4c 50 41 44 28 29 20 69 |.. *.SRE|LPAD() i|
|00029c30| 73 20 61 6c 73 6f 20 67 | 69 76 65 6e 20 61 6e 20 |s also g|iven an |
|00029c40| 78 2e 6f 75 74 20 68 65 | 61 64 65 72 20 70 6f 69 |x.out he|ader poi|
|00029c50| 6e 74 65 72 3b 20 69 74 | 0a 20 2a 09 20 20 20 20 |nter; it|. *. |
|00029c60| 72 65 74 75 72 6e 73 20 | 74 68 65 20 6e 75 6d 62 |returns |the numb|
|00029c70| 65 72 20 6f 66 20 62 79 | 74 65 73 20 6f 66 20 70 |er of by|tes of p|
|00029c80| 61 64 64 69 6e 67 20 72 | 65 71 75 69 72 65 64 0a |adding r|equired.|
|00029c90| 20 2a 09 20 20 20 20 74 | 6f 20 70 72 6f 70 65 72 | *. t|o proper|
|00029ca0| 6c 79 20 61 6c 69 67 6e | 20 74 68 65 20 72 65 6c |ly align| the rel|
|00029cb0| 6f 63 61 74 69 6f 6e 20 | 72 65 0c 00 03 02 00 72 |ocation |re.....r|
|00029cc0| 01 02 00 63 6f 72 64 73 | 2e 20 20 54 68 65 0a 20 |...cords|. The. |
|00029cd0| 2a 09 20 20 20 20 78 5f | 72 65 6c 6f 63 20 66 69 |*. x_|reloc fi|
|00029ce0| 65 6c 64 20 69 6e 20 74 | 68 65 20 68 65 61 64 65 |eld in t|he heade|
|00029cf0| 72 20 69 73 20 6e 6f 74 | 20 75 73 65 64 20 69 6e |r is not| used in|
|00029d00| 20 74 68 65 0a 20 2a 09 | 20 20 20 20 63 6f 6d 70 | the. *.| comp|
|00029d10| 75 74 61 74 69 6f 6e 3b | 20 69 74 20 6e 65 65 64 |utation;| it need|
|00029d20| 20 6e 6f 74 20 62 65 20 | 61 63 63 75 72 61 74 65 | not be |accurate|
|00029d30| 2e 0a 20 2a 09 53 52 45 | 4c 53 49 5a 45 28 29 20 |.. *.SRE|LSIZE() |
|00029d40| 73 68 6f 75 6c 64 20 62 | 65 20 67 69 76 65 6e 20 |should b|e given |
|00029d50| 61 20 6c 6f 6e 67 20 76 | 61 6c 75 65 2c 20 75 73 |a long v|alue, us|
|00029d60| 75 61 6c 6c 79 20 74 68 | 65 0a 20 2a 09 20 20 20 |ually th|e. *. |
|00029d70| 20 78 5f 72 65 6c 6f 63 | 20 66 69 65 6c 64 20 6f | x_reloc| field o|
|00029d80| 66 20 61 6e 20 78 2e 6f | 75 74 20 68 65 61 64 65 |f an x.o|ut heade|
|00029d90| 72 3b 20 69 74 20 72 65 | 74 75 72 6e 73 20 74 68 |r; it re|turns th|
|00029da0| 65 0a 20 2a 09 20 20 20 | 20 73 69 7a 65 20 6f 66 |e. *. | size of|
|00029db0| 20 61 63 74 75 61 6c 20 | 72 65 6c 6f 63 61 74 69 | actual |relocati|
|00029dc0| 6f 6e 20 72 65 63 6f 72 | 64 73 20 69 6e 20 61 6e |on recor|ds in an|
|00029dd0| 20 6f 62 6a 65 63 74 20 | 66 69 6c 65 2c 0a 20 2a | object |file,. *|
|00029de0| 09 20 20 20 20 63 6f 6d | 70 65 6e 73 61 74 69 6e |. com|pensatin|
|00029df0| 67 20 66 6f 72 20 61 6e | 79 20 70 61 64 64 69 6e |g for an|y paddin|
|00029e00| 67 2e 0a 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 |g.. */..|#define |
|00029e10| 53 52 45 4c 4d 53 4b 09 | 09 28 28 6c 6f 6e 67 29 |SRELMSK.|.((long)|
|00029e20| 20 28 73 69 7a 65 6f 66 | 28 73 74 72 75 63 74 20 | (sizeof|(struct |
|00029e30| 73 72 65 6c 38 36 29 20 | 2d 20 31 29 29 20 2f 2a |srel86) |- 1)) /*|
|00029e40| 20 32 5e 6e 2d 31 20 2a | 2f 0a 23 64 65 66 69 6e | 2^n-1 *|/.#defin|
|00029e50| 65 20 53 52 45 4c 50 4f | 53 28 78 70 29 09 28 28 |e SRELPO|S(xp).((|
|00029e60| 58 52 45 4c 50 4f 53 28 | 78 70 29 20 2b 20 53 52 |XRELPOS(|xp) + SR|
|00029e70| 45 4c 4d 53 4b 29 20 26 | 20 7e 53 52 45 4c 4d 53 |ELMSK) &| ~SRELMS|
|00029e80| 4b 29 0a 23 64 65 66 69 | 6e 65 20 53 52 45 4c 50 |K).#defi|ne SRELP|
|00029e90| 41 44 28 78 70 29 09 28 | 28 69 6e 74 29 20 28 28 |AD(xp).(|(int) ((|
|00029ea0| 7e 58 52 45 4c 50 4f 53 | 28 78 70 29 20 2b 20 31 |~XRELPOS|(xp) + 1|
|00029eb0| 29 20 26 20 53 52 45 4c | 4d 53 4b 29 29 0a 23 64 |) & SREL|MSK)).#d|
|00029ec0| 65 66 69 0c 00 04 02 00 | 53 01 02 00 6e 65 20 53 |efi.....|S...ne S|
|00029ed0| 52 45 4c 53 49 5a 45 28 | 78 29 09 28 28 6c 6f 6e |RELSIZE(|x).((lon|
|00029ee0| 67 29 20 78 20 26 20 7e | 53 52 45 4c 4d 53 4b 29 |g) x & ~|SRELMSK)|
|00029ef0| 0a 0a 0a 0a 2f 2a 0a 20 | 2a 09 4c 44 54 2f 47 44 |..../*. |*.LDT/GD|
|00029f00| 54 20 64 65 73 63 73 72 | 69 70 74 6f 72 20 74 61 |T descsr|iptor ta|
|00029f10| 62 6c 65 20 69 6e 66 6f | 72 6d 61 74 69 6f 6e 20 |ble info|rmation |
|00029f20| 66 6f 72 20 65 78 65 63 | 75 74 61 62 6c 65 20 66 |for exec|utable f|
|00029f30| 69 6c 65 73 2c 20 58 52 | 5f 52 32 38 36 41 42 53 |iles, XR|_R286ABS|
|00029f40| 2e 0a 20 2a 0a 20 2a 09 | 64 74 61 62 20 73 74 72 |.. *. *.|dtab str|
|00029f50| 75 63 74 75 72 65 20 77 | 69 74 68 6f 75 74 20 75 |ucture w|ithout u|
|00029f60| 6e 69 6f 6e 20 74 6f 20 | 61 6c 6c 6f 77 20 73 74 |nion to |allow st|
|00029f70| 61 74 69 63 20 69 6e 69 | 74 69 61 6c 69 7a 61 74 |atic ini|tializat|
|00029f80| 69 6f 6e 2e 0a 20 2a 09 | 64 65 73 63 74 61 62 20 |ion.. *.|desctab |
|00029f90| 73 74 72 75 63 74 75 72 | 65 20 77 69 74 68 20 75 |structur|e with u|
|00029fa0| 6e 69 6f 6e 20 74 6f 20 | 61 6c 6c 6f 77 20 65 66 |nion to |allow ef|
|00029fb0| 66 69 63 69 65 6e 74 20 | 72 65 66 65 72 65 6e 63 |ficient |referenc|
|00029fc0| 65 2e 0a 20 2a 2f 0a 0a | 73 74 72 75 63 74 20 64 |e.. */..|struct d|
|00029fd0| 74 61 62 20 7b 0a 09 75 | 6e 73 69 67 6e 65 64 20 |tab {..u|nsigned |
|00029fe0| 73 68 6f 72 74 09 64 74 | 5f 6c 69 6d 69 74 3b 09 |short.dt|_limit;.|
|00029ff0| 2f 2a 20 6f 66 66 73 65 | 74 20 6f 66 20 6c 61 73 |/* offse|t of las|
|0002a000| 74 20 62 79 74 65 20 69 | 6e 20 73 65 67 6d 65 6e |t byte i|n segmen|
|0002a010| 74 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 73 |t */..un|signed s|
|0002a020| 68 6f 72 74 09 64 74 5f | 6c 6f 61 64 64 72 3b 09 |hort.dt_|loaddr;.|
|0002a030| 2f 2a 20 6c 6f 77 20 77 | 6f 72 64 20 6f 66 20 70 |/* low w|ord of p|
|0002a040| 68 79 73 69 63 61 6c 20 | 61 64 64 72 65 73 73 20 |hysical |address |
|0002a050| 2a 2f 0a 09 75 6e 73 69 | 67 6e 65 64 20 63 68 61 |*/..unsi|gned cha|
|0002a060| 72 09 64 74 5f 68 69 61 | 64 64 72 3b 09 2f 2a 20 |r.dt_hia|ddr;./* |
|0002a070| 68 69 67 68 20 62 79 74 | 65 20 6f 66 20 70 68 79 |high byt|e of phy|
|0002a080| 73 69 63 61 6c 20 61 64 | 64 72 65 73 73 20 2a 2f |sical ad|dress */|
|0002a090| 0a 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 09 |..unsign|ed char.|
|0002a0a0| 64 74 5f 61 63 63 3b 09 | 20 20 20 09 2f 2a 20 61 |dt_acc;.| ./* a|
|0002a0b0| 63 63 65 73 73 20 63 6f | 6e 74 72 6f 6c 20 62 79 |ccess co|ntrol by|
|0002a0c0| 74 65 20 2a 2f 0a 09 75 | 6e 73 69 67 0c 00 05 02 |te */..u|nsig....|
|0002a0d0| 00 ce 01 02 00 6e 65 64 | 20 73 68 6f 72 74 09 64 |.....ned| short.d|
|0002a0e0| 74 5f 73 77 3b 09 09 2f | 2a 20 75 73 65 64 20 62 |t_sw;../|* used b|
|0002a0f0| 79 20 38 30 33 38 36 20 | 2a 2f 0a 7d 3b 0a 0a 73 |y 80386 |*/.};..s|
|0002a100| 74 72 75 63 74 20 64 65 | 73 63 74 61 62 20 7b 0a |truct de|sctab {.|
|0002a110| 09 75 6e 73 69 67 6e 65 | 64 20 73 68 6f 72 74 09 |.unsigne|d short.|
|0002a120| 64 5f 6c 69 6d 69 74 3b | 09 20 20 20 2f 2a 20 6f |d_limit;|. /* o|
|0002a130| 66 66 73 65 74 20 6f 66 | 20 6c 61 73 74 20 62 79 |ffset of| last by|
|0002a140| 74 65 20 69 6e 20 73 65 | 67 6d 65 6e 74 20 2a 2f |te in se|gment */|
|0002a150| 0a 09 75 6e 69 6f 6e 20 | 7b 0a 09 20 20 20 20 73 |..union |{.. s|
|0002a160| 74 72 75 63 74 20 7b 0a | 09 09 75 6e 73 69 67 6e |truct {.|..unsign|
|0002a170| 65 64 20 73 68 6f 72 74 | 09 64 75 5f 6c 6f 61 64 |ed short|.du_load|
|0002a180| 64 72 3b 20 2f 2a 20 6c | 6f 77 20 77 6f 72 64 20 |dr; /* l|ow word |
|0002a190| 6f 66 20 70 68 79 73 69 | 63 61 6c 20 61 64 64 72 |of physi|cal addr|
|0002a1a0| 65 73 73 20 2a 2f 0a 09 | 09 75 6e 73 69 67 6e 65 |ess */..|.unsigne|
|0002a1b0| 64 20 63 68 61 72 09 64 | 75 5f 68 69 61 64 64 72 |d char.d|u_hiaddr|
|0002a1c0| 3b 20 2f 2a 20 68 69 67 | 68 20 62 79 74 65 20 6f |; /* hig|h byte o|
|0002a1d0| 66 20 70 68 79 73 69 63 | 61 6c 20 61 64 64 72 65 |f physic|al addre|
|0002a1e0| 73 73 20 2a 2f 0a 09 09 | 75 6e 73 69 67 6e 65 64 |ss */...|unsigned|
|0002a1f0| 20 63 68 61 72 09 64 75 | 5f 61 63 63 3b 09 20 20 | char.du|_acc;. |
|0002a200| 20 2f 2a 20 61 63 63 65 | 73 73 20 63 6f 6e 74 72 | /* acce|ss contr|
|0002a210| 6f 6c 20 62 79 74 65 20 | 2a 2f 0a 09 20 20 20 20 |ol byte |*/.. |
|0002a220| 7d 20 64 75 5f 73 65 70 | 3b 0a 09 20 20 20 20 6c |} du_sep|;.. l|
|0002a230| 6f 6e 67 20 20 64 75 5f | 70 61 64 64 72 3b 0a 09 |ong du_|paddr;..|
|0002a240| 7d 20 64 5f 75 6e 3b 0a | 09 75 6e 73 69 67 6e 65 |} d_un;.|.unsigne|
|0002a250| 64 20 73 68 6f 72 74 09 | 64 5f 73 77 3b 09 09 20 |d short.|d_sw;.. |
|0002a260| 20 20 2f 2a 20 75 73 65 | 64 20 62 79 20 38 30 33 | /* use|d by 803|
|0002a270| 38 36 20 2a 2f 0a 7d 3b | 0a 0a 23 64 65 66 69 6e |86 */.};|..#defin|
|0002a280| 65 09 64 5f 6c 6f 61 64 | 64 72 09 64 5f 75 6e 2e |e.d_load|dr.d_un.|
|0002a290| 64 75 5f 73 65 70 2e 64 | 75 5f 6c 6f 61 64 64 72 |du_sep.d|u_loaddr|
|0002a2a0| 0a 23 64 65 66 69 6e 65 | 09 64 5f 68 69 61 64 64 |.#define|.d_hiadd|
|0002a2b0| 72 09 64 5f 75 6e 2e 64 | 75 5f 73 65 70 2e 64 75 |r.d_un.d|u_sep.du|
|0002a2c0| 5f 68 69 61 64 64 72 0a | 23 64 65 66 69 6e 65 09 |_hiaddr.|#define.|
|0002a2d0| 64 5f 61 63 63 0c 00 06 | 02 00 5c 01 02 00 09 09 |d_acc...|..\.....|
|0002a2e0| 64 5f 75 6e 2e 64 75 5f | 73 65 70 2e 64 75 5f 61 |d_un.du_|sep.du_a|
|0002a2f0| 63 63 0a 23 64 65 66 69 | 6e 65 09 64 5f 70 61 64 |cc.#defi|ne.d_pad|
|0002a300| 64 72 09 09 64 5f 75 6e | 2e 64 75 5f 70 61 64 64 |dr..d_un|.du_padd|
|0002a310| 72 0a 0a 23 69 66 64 65 | 66 20 4d 5f 57 4f 52 44 |r..#ifde|f M_WORD|
|0002a320| 53 57 41 50 0a 23 20 69 | 66 64 65 66 20 4d 5f 4b |SWAP.# i|fdef M_K|
|0002a330| 45 52 4e 45 4c 0a 23 20 | 20 64 65 66 69 6e 65 20 |ERNEL.# | define |
|0002a340| 44 45 53 43 52 41 44 44 | 52 28 64 74 61 62 29 09 |DESCRADD|R(dtab).|
|0002a350| 28 28 64 74 61 62 29 2e | 64 5f 70 61 64 64 72 20 |((dtab).|d_paddr |
|0002a360| 26 20 30 78 30 30 66 66 | 66 66 66 66 4c 29 0a 23 |& 0x00ff|ffffL).#|
|0002a370| 20 65 6c 73 65 0a 23 20 | 20 64 65 66 69 6e 65 20 | else.# | define |
|0002a380| 44 45 53 43 52 41 44 44 | 52 28 64 74 61 62 29 20 |DESCRADD|R(dtab) |
|0002a390| 20 20 20 20 20 20 28 28 | 28 64 74 61 62 29 2e 64 | ((|(dtab).d|
|0002a3a0| 5f 70 61 64 64 72 20 26 | 20 30 78 30 30 66 66 66 |_paddr &| 0x00fff|
|0002a3b0| 66 66 66 4c 29 20 7c 09 | 5c 0a 09 09 09 09 28 28 |fffL) |.|\.....((|
|0002a3c0| 28 6c 6f 6e 67 29 20 28 | 64 74 61 62 29 2e 64 5f |(long) (|dtab).d_|
|0002a3d0| 73 77 20 3c 3c 20 31 36 | 29 20 26 20 30 78 66 66 |sw << 16|) & 0xff|
|0002a3e0| 30 30 30 30 30 30 29 29 | 0a 23 20 65 6e 64 69 66 |000000))|.# endif|
|0002a3f0| 0a 23 65 6c 73 65 0a 23 | 20 64 65 66 69 6e 65 20 |.#else.#| define |
|0002a400| 44 45 53 43 52 41 44 44 | 52 28 64 74 61 62 29 20 |DESCRADD|R(dtab) |
|0002a410| 20 20 20 20 20 20 28 28 | 28 6c 6f 6e 67 29 20 28 | ((|(long) (|
|0002a420| 64 74 61 62 2e 64 5f 68 | 69 61 64 64 72 20 26 20 |dtab.d_h|iaddr & |
|0002a430| 30 78 66 66 29 29 20 7c | 20 64 74 61 62 2e 64 5f |0xff)) || dtab.d_|
|0002a440| 6c 6f 61 64 64 72 29 0a | 23 65 6e 64 69 66 0a 0a |loaddr).|#endif..|
|0002a450| 23 64 65 66 69 6e 65 09 | 44 45 53 43 52 4c 49 4d |#define.|DESCRLIM|
|0002a460| 28 64 74 61 62 29 09 09 | 28 28 6c 6f 6e 67 29 20 |(dtab)..|((long) |
|0002a470| 28 28 28 28 64 74 61 62 | 29 2e 64 5f 73 77 20 26 |((((dtab|).d_sw &|
|0002a480| 20 30 78 66 4c 29 20 3c | 3c 20 31 36 29 20 2b 09 | 0xfL) <|< 16) +.|
|0002a490| 5c 0a 09 09 09 09 09 09 | 09 09 28 64 74 61 62 29 |\.......|..(dtab)|
|0002a4a0| 2e 64 5f 6c 69 6d 69 74 | 29 29 0a 0a 23 69 66 6e |.d_limit|))..#ifn|
|0002a4b0| 64 65 66 20 4d 5f 4b 45 | 52 4e 45 4c 0a 23 20 64 |def M_KE|RNEL.# d|
|0002a4c0| 65 66 69 6e 65 20 44 53 | 5a 5f 33 32 42 49 54 09 |efine DS|Z_32BIT.|
|0002a4d0| 30 78 34 30 09 09 2f 2a | 20 33 32 20 62 69 0c 00 |0x40../*| 32 bi..|
|0002a4e0| 07 02 00 d2 01 02 00 74 | 20 33 38 36 20 73 65 67 |.......t| 386 seg|
|0002a4f0| 6d 65 6e 74 20 2a 2f 0a | 23 20 64 65 66 69 6e 65 |ment */.|# define|
|0002a500| 20 44 53 5a 5f 47 52 41 | 4e 09 30 78 38 30 09 09 | DSZ_GRA|N.0x80..|
|0002a510| 2f 2a 20 73 65 74 20 69 | 66 20 70 61 67 65 20 67 |/* set i|f page g|
|0002a520| 72 61 6e 75 6c 61 72 69 | 74 79 20 2a 2f 0a 23 65 |ranulari|ty */.#e|
|0002a530| 6e 64 69 66 0a 0a 23 64 | 65 66 69 6e 65 20 44 53 |ndif..#d|efine DS|
|0002a540| 41 5f 50 52 45 53 45 4e | 54 09 30 78 38 30 09 09 |A_PRESEN|T.0x80..|
|0002a550| 2f 2a 20 70 72 65 73 65 | 6e 74 20 2a 2f 0a 23 64 |/* prese|nt */.#d|
|0002a560| 65 66 69 6e 65 20 44 53 | 41 5f 50 52 49 56 09 30 |efine DS|A_PRIV.0|
|0002a570| 78 36 30 09 09 2f 2a 20 | 70 72 69 76 69 6c 65 64 |x60../* |priviled|
|0002a580| 67 65 20 6c 65 76 65 6c | 20 6d 61 73 6b 20 2a 2f |ge level| mask */|
|0002a590| 0a 23 64 65 66 69 6e 65 | 20 44 53 41 5f 56 41 4c |.#define| DSA_VAL|
|0002a5a0| 49 44 09 30 78 31 30 09 | 09 2f 2a 20 73 65 67 6d |ID.0x10.|./* segm|
|0002a5b0| 65 6e 74 20 76 61 6c 69 | 64 20 28 65 6c 73 65 20 |ent vali|d (else |
|0002a5c0| 63 6f 6e 74 72 6f 6c 20 | 64 65 73 63 72 29 20 2a |control |descr) *|
|0002a5d0| 2f 0a 23 64 65 66 69 6e | 65 20 44 53 41 5f 45 58 |/.#defin|e DSA_EX|
|0002a5e0| 45 43 09 30 78 30 38 09 | 09 2f 2a 20 65 78 65 63 |EC.0x08.|./* exec|
|0002a5f0| 75 74 61 62 6c 65 20 2a | 2f 0a 23 64 65 66 69 6e |utable *|/.#defin|
|0002a600| 65 20 44 53 41 5f 54 43 | 4f 4e 46 09 30 78 30 34 |e DSA_TC|ONF.0x04|
|0002a610| 09 09 2f 2a 20 69 66 20 | 74 65 78 74 2c 20 63 6f |../* if |text, co|
|0002a620| 6e 66 6f 72 6d 69 6e 67 | 20 2a 2f 0a 23 64 65 66 |nforming| */.#def|
|0002a630| 69 6e 65 20 44 53 41 5f | 44 45 44 4f 57 4e 09 44 |ine DSA_|DEDOWN.D|
|0002a640| 53 41 5f 54 43 4f 4e 46 | 09 2f 2a 20 69 66 20 64 |SA_TCONF|./* if d|
|0002a650| 61 74 61 2c 20 65 78 70 | 61 6e 64 20 64 6f 77 6e |ata, exp|and down|
|0002a660| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 44 53 41 5f | */.#def|ine DSA_|
|0002a670| 54 52 45 41 44 09 30 78 | 30 32 09 09 2f 2a 20 69 |TREAD.0x|02../* i|
|0002a680| 66 20 74 65 78 74 2c 20 | 72 65 61 64 61 62 6c 65 |f text, |readable|
|0002a690| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 44 53 41 5f | */.#def|ine DSA_|
|0002a6a0| 44 57 52 49 54 45 09 44 | 53 41 5f 54 52 45 41 44 |DWRITE.D|SA_TREAD|
|0002a6b0| 09 2f 2a 20 69 66 20 64 | 61 74 61 2c 20 77 72 69 |./* if d|ata, wri|
|0002a6c0| 74 65 61 62 6c 65 20 2a | 2f 0a 23 64 65 66 69 6e |teable *|/.#defin|
|0002a6d0| 65 20 44 53 41 5f 41 43 | 43 45 53 53 45 44 09 30 |e DSA_AC|CESSED.0|
|0002a6e0| 78 30 31 09 09 2f 2a 0c | 00 08 02 00 e1 01 02 00 |x01../*.|........|
|0002a6f0| 20 68 61 73 20 62 65 65 | 6e 20 61 63 63 65 73 73 | has bee|n access|
|0002a700| 65 64 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 44 |ed */..#|define D|
|0002a710| 53 41 5f 54 59 50 45 09 | 30 78 31 66 09 09 2f 2a |SA_TYPE.|0x1f../*|
|0002a720| 20 64 65 73 63 72 20 74 | 79 70 65 20 66 69 65 6c | descr t|ype fiel|
|0002a730| 64 20 6d 61 73 6b 20 2a | 2f 0a 23 64 65 66 69 6e |d mask *|/.#defin|
|0002a740| 65 20 44 53 41 5f 52 49 | 4e 47 33 09 44 53 41 5f |e DSA_RI|NG3.DSA_|
|0002a750| 50 52 49 56 09 2f 2a 20 | 61 6c 6c 20 62 69 74 73 |PRIV./* |all bits|
|0002a760| 20 6f 6e 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 09 | on */..|#define.|
|0002a770| 44 53 41 5f 43 4f 44 45 | 20 20 28 44 53 41 5f 50 |DSA_CODE| (DSA_P|
|0002a780| 52 45 53 45 4e 54 7c 44 | 53 41 5f 56 41 4c 49 44 |RESENT|D|SA_VALID|
|0002a790| 7c 44 53 41 5f 45 58 45 | 43 7c 44 53 41 5f 54 52 ||DSA_EXE|C|DSA_TR|
|0002a7a0| 45 41 44 29 20 20 2f 2a | 20 39 61 2c 20 74 65 78 |EAD) /*| 9a, tex|
|0002a7b0| 74 20 61 63 63 20 2a 2f | 0a 23 64 65 66 69 6e 65 |t acc */|.#define|
|0002a7c0| 09 44 53 41 5f 44 41 54 | 41 20 20 28 44 53 41 5f |.DSA_DAT|A (DSA_|
|0002a7d0| 50 52 45 53 45 4e 54 7c | 44 53 41 5f 56 41 4c 49 |PRESENT||DSA_VALI|
|0002a7e0| 44 7c 44 53 41 5f 44 57 | 52 49 54 45 29 09 20 20 |D|DSA_DW|RITE). |
|0002a7f0| 20 20 20 20 2f 2a 20 39 | 32 2c 20 64 61 74 61 20 | /* 9|2, data |
|0002a800| 61 63 63 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 44 |acc */.#|define D|
|0002a810| 53 41 5f 56 50 09 20 20 | 28 44 53 41 5f 50 52 45 |SA_VP. |(DSA_PRE|
|0002a820| 53 45 4e 54 7c 44 53 41 | 5f 56 41 4c 49 44 29 09 |SENT|DSA|_VALID).|
|0002a830| 09 20 20 20 20 0a 0a 0a | 2f 2a 0a 20 2a 20 70 61 |. ...|/*. * pa|
|0002a840| 72 74 73 20 6f 66 20 61 | 20 73 65 6c 65 63 74 6f |rts of a| selecto|
|0002a850| 72 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 53 45 |r. */.#d|efine.SE|
|0002a860| 4c 5f 49 4e 44 45 58 09 | 30 78 66 66 66 38 09 09 |L_INDEX.|0xfff8..|
|0002a870| 2f 2a 20 69 6e 64 65 78 | 20 69 6e 74 6f 20 74 61 |/* index| into ta|
|0002a880| 62 6c 65 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 53 |ble */.#|define.S|
|0002a890| 45 4c 5f 4c 44 54 09 09 | 30 78 30 30 30 34 09 09 |EL_LDT..|0x0004..|
|0002a8a0| 2f 2a 20 73 65 74 20 69 | 66 20 6c 64 74 2c 20 65 |/* set i|f ldt, e|
|0002a8b0| 6c 73 65 20 67 64 74 20 | 2a 2f 0a 23 64 65 66 69 |lse gdt |*/.#defi|
|0002a8c0| 6e 65 09 53 45 4c 5f 50 | 52 49 56 09 30 78 30 30 |ne.SEL_P|RIV.0x00|
|0002a8d0| 30 33 09 09 2f 2a 20 72 | 65 71 75 65 73 74 65 64 |03../* r|equested|
|0002a8e0| 20 70 72 69 76 20 6c 65 | 76 65 6c 20 2a 2f 0a 0a | priv le|vel */..|
|0002a8f0| 0c 00 09 02 00 f3 01 02 | 00 23 64 65 66 69 6e 65 |........|.#define|
|0002a900| 09 53 45 4c 5f 52 49 4e | 47 33 09 53 45 4c 5f 50 |.SEL_RIN|G3.SEL_P|
|0002a910| 52 49 56 09 2f 2a 20 61 | 6c 6c 20 62 69 74 73 20 |RIV./* a|ll bits |
|0002a920| 6f 6e 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 53 6f 6d |on */../|*. * Som|
|0002a930| 65 20 64 65 66 69 6e 65 | 73 20 66 6f 72 20 74 68 |e define|s for th|
|0002a940| 65 20 33 38 36 20 65 78 | 74 65 6e 73 69 6f 6e 20 |e 386 ex|tension |
|0002a950| 22 77 6f 72 64 22 20 28 | 64 5f 73 77 29 0a 20 2a |"word" (|d_sw). *|
|0002a960| 2f 0a 23 64 65 66 69 6e | 65 20 44 53 41 5f 33 32 |/.#defin|e DSA_32|
|0002a970| 42 49 54 09 28 31 20 3c | 3c 20 36 29 09 2f 2a 20 |BIT.(1 <|< 6)./* |
|0002a980| 73 65 67 6d 65 6e 74 20 | 69 73 20 33 32 20 62 69 |segment |is 32 bi|
|0002a990| 74 20 63 6f 64 65 2f 64 | 61 74 61 20 2a 2f 0a 23 |t code/d|ata */.#|
|0002a9a0| 64 65 66 69 6e 65 20 44 | 53 41 5f 50 41 47 45 09 |define D|SA_PAGE.|
|0002a9b0| 28 31 20 3c 3c 20 37 29 | 09 2f 2a 20 73 65 74 20 |(1 << 7)|./* set |
|0002a9c0| 70 61 67 65 20 67 72 61 | 6e 75 6c 61 72 69 74 79 |page gra|nularity|
|0002a9d0| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 20 44 52 45 | */..#de|fine DRE|
|0002a9e0| 4c 4d 53 4b 09 09 28 73 | 69 7a 65 6f 66 28 73 74 |LMSK..(s|izeof(st|
|0002a9f0| 72 75 63 74 20 64 65 73 | 63 74 61 62 29 20 2d 20 |ruct des|ctab) - |
|0002aa00| 31 29 09 20 20 20 20 20 | 20 2f 2a 20 32 5e 6e 2d |1). | /* 2^n-|
|0002aa10| 31 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 44 52 45 |1 */.#de|fine DRE|
|0002aa20| 4c 50 4f 53 28 78 70 29 | 09 28 28 58 52 45 4c 50 |LPOS(xp)|.((XRELP|
|0002aa30| 4f 53 28 78 70 29 20 2b | 20 28 6c 6f 6e 67 29 20 |OS(xp) +| (long) |
|0002aa40| 44 52 45 4c 4d 53 4b 29 | 20 26 20 7e 28 28 6c 6f |DRELMSK)| & ~((lo|
|0002aa50| 6e 67 29 20 44 52 45 4c | 4d 53 4b 29 29 0a 23 64 |ng) DREL|MSK)).#d|
|0002aa60| 65 66 69 6e 65 20 44 52 | 45 4c 50 41 44 28 78 70 |efine DR|ELPAD(xp|
|0002aa70| 29 09 28 28 69 6e 74 29 | 20 28 28 7e 58 52 45 4c |).((int)| ((~XREL|
|0002aa80| 50 4f 53 28 78 70 29 20 | 2b 20 31 29 20 26 20 28 |POS(xp) |+ 1) & (|
|0002aa90| 6c 6f 6e 67 29 20 44 52 | 45 4c 4d 53 4b 29 29 0a |long) DR|ELMSK)).|
|0002aaa0| 23 64 65 66 69 6e 65 20 | 44 52 45 4c 53 49 5a 45 |#define |DRELSIZE|
|0002aab0| 28 78 29 09 28 28 6c 6f | 6e 67 29 20 78 20 26 20 |(x).((lo|ng) x & |
|0002aac0| 7e 28 28 6c 6f 6e 67 29 | 20 44 52 45 4c 4d 53 4b |~((long)| DRELMSK|
|0002aad0| 29 29 0a 56 09 30 78 30 | 30 30 33 09 09 2f 2a 20 |)).V.0x0|003../* |
|0002aae0| 72 65 71 75 65 73 74 65 | 64 20 70 72 69 76 20 6c |requeste|d priv l|
|0002aaf0| 65 76 65 6c 20 2a 2f 0a | 0a 0c 00 0a 02 00 87 5f |evel */.|......._|
|0002ab00| 00 02 00 1a 2e 2f 75 73 | 72 2f 69 6e 63 6c 75 64 |...../us|r/includ|
|0002ab10| 65 2f 73 79 73 2f 72 65 | 6c 73 79 6d 2e 68 01 25 |e/sys/re|lsym.h.%|
|0002ab20| 00 00 00 38 20 20 20 34 | 34 34 20 00 20 20 20 20 |...8 4|44 . |
|0002ab30| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|0002ab40| 20 20 31 31 35 31 34 20 | 20 34 32 34 34 33 34 30 | 11514 | 4244340|
|0002ab50| 32 31 34 20 20 31 30 37 | 31 35 00 20 01 b2 00 00 |214 107|15. ....|
|0002ab60| 0c 00 0b 02 00 27 01 02 | 00 0a 2f 2a 0a 20 2a 09 |.....'..|../*. *.|
|0002ab70| 40 28 23 29 20 72 65 6c | 73 79 6d 2e 68 20 32 2e |@(#) rel|sym.h 2.|
|0002ab80| 31 20 38 38 2f 30 35 2f | 31 38 20 0a 20 2a 0a 20 |1 88/05/|18 . *. |
|0002ab90| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 28 43 29 20 |*.Copyri|ght (C) |
|0002aba0| 54 68 65 20 53 61 6e 74 | 61 20 43 72 75 7a 20 4f |The Sant|a Cruz O|
|0002abb0| 70 65 72 61 74 69 6f 6e | 2c 20 31 39 38 34 2c 20 |peration|, 1984, |
|0002abc0| 31 39 38 35 2c 20 31 39 | 38 36 2c 20 31 39 38 37 |1985, 19|86, 1987|
|0002abd0| 2e 0a 20 2a 09 43 6f 70 | 79 72 69 67 68 74 20 28 |.. *.Cop|yright (|
|0002abe0| 43 29 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |C) Micro|soft Cor|
|0002abf0| 70 6f 72 61 74 69 6f 6e | 2c 20 31 39 38 34 2c 20 |poration|, 1984, |
|0002ac00| 31 39 38 35 2c 20 31 39 | 38 36 2c 20 31 39 38 37 |1985, 19|86, 1987|
|0002ac10| 2e 0a 20 2a 09 54 68 69 | 73 20 4d 6f 64 75 6c 65 |.. *.Thi|s Module|
|0002ac20| 20 63 6f 6e 74 61 69 6e | 73 20 50 72 6f 70 72 69 | contain|s Propri|
|0002ac30| 65 74 61 72 79 20 49 6e | 66 6f 72 6d 61 74 69 6f |etary In|formatio|
|0002ac40| 6e 20 6f 66 0a 20 2a 09 | 54 68 65 20 53 61 6e 74 |n of. *.|The Sant|
|0002ac50| 61 20 43 72 75 7a 20 4f | 70 65 72 61 74 69 6f 6e |a Cruz O|peration|
|0002ac60| 2c 20 4d 69 63 72 6f 73 | 6f 66 74 20 43 6f 72 70 |, Micros|oft Corp|
|0002ac70| 6f 72 61 74 69 6f 6e 0a | 20 2a 09 61 6e 64 20 41 |oration.| *.and A|
|0002ac80| 54 26 54 2c 20 61 6e 64 | 20 73 68 6f 75 6c 64 20 |T&T, and| should |
|0002ac90| 62 65 20 74 72 65 61 74 | 65 64 20 61 73 20 43 6f |be treat|ed as Co|
|0002aca0| 6e 66 69 64 65 6e 74 69 | 61 6c 2e 0a 20 2a 2f 0a |nfidenti|al.. */.|
|0002acb0| 2f 2a 0a 20 2a 09 3c 73 | 79 73 2f 72 65 6c 73 79 |/*. *.<s|ys/relsy|
|0002acc0| 6d 2e 68 3e 20 2d 20 44 | 65 63 6c 61 72 61 74 69 |m.h> - D|eclarati|
|0002acd0| 6f 6e 73 20 66 6f 72 20 | 73 79 6d 62 6f 6c 20 74 |ons for |symbol t|
|0002ace0| 61 62 6c 65 0a 20 2a 09 | 09 61 6e 64 20 72 65 6c |able. *.|.and rel|
|0002acf0| 6f 63 61 74 69 6f 6e 20 | 72 65 63 6f 72 64 20 73 |ocation |record s|
|0002ad00| 74 72 75 63 74 75 72 65 | 73 2e 0a 20 2a 0a 20 2a |tructure|s.. *. *|
|0002ad10| 2f 0a 0a 2f 2a 0a 20 2a | 09 53 79 6d 62 6f 6c 20 |/../*. *|.Symbol |
|0002ad20| 74 61 62 6c 65 20 66 6f | 72 20 78 2e 6f 75 74 2e |table fo|r x.out.|
|0002ad30| 0a 20 2a 09 45 61 63 68 | 20 73 79 6d 62 6f 6c 20 |. *.Each| symbol |
|0002ad40| 69 6e 20 74 68 65 20 74 | 61 62 6c 65 20 68 61 73 |in the t|able has|
|0002ad50| 20 74 68 65 20 62 65 6c | 6f 77 20 73 74 72 75 63 | the bel|ow struc|
|0002ad60| 74 75 72 65 2c 20 66 6f | 6c 0c 00 0c 02 00 18 01 |ture, fo|l.......|
|0002ad70| 02 00 6c 6f 77 65 64 0a | 20 2a 09 69 6d 6d 65 64 |..lowed.| *.immed|
|0002ad80| 69 61 74 65 6c 79 20 62 | 79 20 69 74 73 20 6e 61 |iately b|y its na|
|0002ad90| 6d 65 20 69 6e 20 74 68 | 65 20 66 6f 72 6d 20 6f |me in th|e form o|
|0002ada0| 66 20 61 20 6e 75 6c 6c | 20 74 65 72 6d 69 6e 61 |f a null| termina|
|0002adb0| 74 65 64 20 73 74 72 69 | 6e 67 2e 0a 20 2a 09 4e |ted stri|ng.. *.N|
|0002adc0| 6f 20 65 66 66 6f 72 74 | 20 69 73 20 6d 61 64 65 |o effort| is made|
|0002add0| 20 74 6f 20 77 6f 72 64 | 20 61 6c 69 67 6e 20 73 | to word| align s|
|0002ade0| 75 62 73 65 71 75 65 6e | 74 20 22 73 79 6d 22 20 |ubsequen|t "sym" |
|0002adf0| 73 74 72 75 63 74 75 72 | 65 73 20 69 6e 0a 20 2a |structur|es in. *|
|0002ae00| 09 74 68 65 20 73 79 6d | 62 6f 6c 20 74 61 62 6c |.the sym|bol tabl|
|0002ae10| 65 2e 20 20 54 68 65 20 | 63 6f 6e 74 65 6e 74 73 |e. The |contents|
|0002ae20| 20 6f 66 20 74 68 65 20 | 73 5f 73 65 67 20 66 69 | of the |s_seg fi|
|0002ae30| 65 6c 64 20 69 73 20 64 | 65 66 69 6e 65 64 0a 20 |eld is d|efined. |
|0002ae40| 2a 09 66 6f 72 20 58 53 | 5f 53 58 53 45 47 20 73 |*.for XS|_SXSEG s|
|0002ae50| 79 6d 62 6f 6c 73 20 6f | 6e 6c 79 2e 20 20 46 6f |ymbols o|nly. Fo|
|0002ae60| 72 20 58 52 5f 53 38 36 | 41 42 53 20 73 79 6d 62 |r XR_S86|ABS symb|
|0002ae70| 6f 6c 73 2c 20 74 68 65 | 20 73 65 67 6d 65 6e 74 |ols, the| segment|
|0002ae80| 0a 20 2a 09 69 73 20 73 | 74 6f 72 65 64 20 69 6e |. *.is s|tored in|
|0002ae90| 20 74 68 65 20 68 69 67 | 68 20 31 36 20 62 69 74 | the hig|h 16 bit|
|0002aea0| 73 20 6f 66 20 74 68 65 | 20 73 5f 76 61 6c 75 65 |s of the| s_value|
|0002aeb0| 20 66 69 65 6c 64 2c 20 | 61 6e 64 20 74 68 65 20 | field, |and the |
|0002aec0| 6f 66 66 73 65 74 0a 20 | 2a 09 69 6e 20 74 68 65 |offset. |*.in the|
|0002aed0| 20 6c 6f 77 20 31 36 20 | 62 69 74 73 2e 0a 20 2a | low 16 |bits.. *|
|0002aee0| 2f 0a 0a 73 74 72 75 63 | 74 20 73 79 6d 20 7b 09 |/..struc|t sym {.|
|0002aef0| 09 09 20 20 20 20 2f 2a | 20 73 79 6d 62 6f 6c 20 |.. /*| symbol |
|0002af00| 6d 61 6e 61 67 65 6d 65 | 6e 74 20 2a 2f 0a 09 75 |manageme|nt */..u|
|0002af10| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 09 73 5f |nsigned |short.s_|
|0002af20| 74 79 70 65 3b 09 09 2f | 2a 20 74 79 70 65 20 2a |type;../|* type *|
|0002af30| 2f 0a 09 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 |/..unsig|ned shor|
|0002af40| 74 09 73 5f 73 65 67 3b | 09 09 2f 2a 20 66 69 6c |t.s_seg;|../* fil|
|0002af50| 65 20 73 65 67 6d 65 6e | 74 20 74 61 62 6c 65 20 |e segmen|t table |
|0002af60| 69 6e 64 65 78 20 2a 2f | 0a 09 6c 6f 6e 67 09 09 |index */|..long..|
|0002af70| 73 5f 0c 00 0d 02 00 e1 | f1 01 02 00 7f 76 61 6c |s_......|.....val|
|0002af80| 75 65 3b 09 2f 2a 20 61 | 64 64 72 65 73 73 20 6f |ue;./* a|ddress o|
|0002af90| 72 20 76 61 6c 75 65 20 | 2a 2f 0a 7d 3b 0a 0a 0a |r value |*/.};...|
|0002afa0| 23 64 65 66 69 6e 65 20 | 53 59 4d 4c 45 4e 47 54 |#define |SYMLENGT|
|0002afb0| 48 09 35 30 09 2f 2a 20 | 6d 61 78 20 73 79 6d 62 |H.50./* |max symb|
|0002afc0| 6f 6c 20 6e 61 6d 65 20 | 6c 65 6e 67 74 68 20 2a |ol name |length *|
|0002afd0| 2f 0a 0a 0a 2f 2a 0a 20 | 2a 09 44 65 66 69 6e 69 |/.../*. |*.Defini|
|0002afe0| 74 69 6f 6e 73 20 66 6f | 72 20 73 79 6d 2e 73 5f |tions fo|r sym.s_|
|0002aff0| 74 79 70 65 3a 0a 20 2a | 0a 20 2a 09 01 05 78 78 |type:. *|. *...xx|
|0002b000| 01 05 20 20 00 09 65 78 | 74 72 61 0a 20 2a 09 01 |.. ..ex|tra. *..|
|0002b010| 05 20 20 00 01 65 01 04 | 20 20 00 0d 20 65 78 74 |. ..e..| .. ext|
|0002b020| 65 72 6e 61 6c 0a 20 2a | 09 01 05 20 20 00 ff 20 |ernal. *|... .. |
|0002b030| 74 74 74 74 74 20 20 20 | 20 74 79 70 65 0a 20 2a |ttttt | type. *|
|0002b040| 2f 0a 0a 23 64 65 66 69 | 6e 65 20 53 5f 55 4e 44 |/..#defi|ne S_UND|
|0002b050| 45 46 09 09 30 78 30 30 | 30 30 0a 23 64 65 66 69 |EF..0x00|00.#defi|
|0002b060| 6e 65 20 53 5f 41 42 53 | 09 09 30 78 30 30 30 31 |ne S_ABS|..0x0001|
|0002b070| 0a 23 64 65 66 69 6e 65 | 20 53 5f 54 45 58 54 09 |.#define| S_TEXT.|
|0002b080| 09 30 78 30 30 30 32 0a | 23 64 65 66 69 6e 65 20 |.0x0002.|#define |
|0002b090| 53 5f 44 41 54 41 09 09 | 30 78 30 30 30 33 0a 23 |S_DATA..|0x0003.#|
|0002b0a0| 64 65 66 69 6e 65 20 53 | 5f 42 53 53 09 09 30 78 |define S|_BSS..0x|
|0002b0b0| 30 30 30 34 0a 23 64 65 | 66 69 6e 65 20 53 5f 43 |0004.#de|fine S_C|
|0002b0c0| 4f 4d 4d 09 09 30 78 30 | 30 30 35 09 2f 2a 20 66 |OMM..0x0|005./* f|
|0002b0d0| 6f 72 20 69 6e 74 65 72 | 6e 61 6c 20 75 73 65 20 |or inter|nal use |
|0002b0e0| 6f 6e 6c 79 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |only */.|#define |
|0002b0f0| 53 5f 52 45 47 09 09 30 | 78 30 30 30 36 0a 23 64 |S_REG..0|x0006.#d|
|0002b100| 65 66 69 6e 65 20 53 5f | 43 4f 4d 42 09 09 30 78 |efine S_|COMB..0x|
|0002b110| 30 30 30 37 20 20 2f 2a | 20 66 6f 72 20 69 6e 74 |0007 /*| for int|
|0002b120| 65 72 6e 61 6c 20 75 73 | 65 20 6f 6e 6c 79 00 3b |ernal us|e only.;|
|0002b130| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 53 5f 53 45 | */.#def|ine S_SE|
|0002b140| 47 09 09 30 78 30 30 30 | 38 09 2f 2a 20 73 65 67 |G..0x000|8./* seg|
|0002b150| 6d 65 6e 74 20 6e 61 6d | 65 20 2a 2f 0a 23 64 65 |ment nam|e */.#de|
|0002b160| 66 69 6e 65 20 53 5f 46 | 4e 09 09 0c 00 0e 02 00 |fine S_F|N.......|
|0002b170| 67 01 02 00 30 78 30 30 | 31 66 0a 23 64 65 66 69 |g...0x00|1f.#defi|
|0002b180| 6e 65 20 53 5f 54 59 50 | 45 09 09 30 78 30 30 31 |ne S_TYP|E..0x001|
|0002b190| 66 09 2f 2a 20 6d 61 73 | 6b 20 2a 2f 0a 0a 23 64 |f./* mas|k */..#d|
|0002b1a0| 65 66 69 6e 65 20 53 5f | 45 58 54 45 52 4e 09 30 |efine S_|EXTERN.0|
|0002b1b0| 78 30 30 32 30 0a 0a 23 | 64 65 66 69 6e 65 20 46 |x0020..#|define F|
|0002b1c0| 4f 52 4d 41 54 09 22 25 | 30 38 6c 78 22 09 2f 2a |ORMAT."%|08lx"./*|
|0002b1d0| 20 73 79 6d 62 6f 6c 20 | 76 61 6c 75 65 20 66 6f | symbol |value fo|
|0002b1e0| 72 6d 61 74 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |rmat */.|#define |
|0002b1f0| 46 57 49 44 54 48 09 38 | 09 2f 2a 20 73 79 6d 62 |FWIDTH.8|./* symb|
|0002b200| 6f 6c 20 76 61 6c 75 65 | 20 77 69 64 74 68 20 20 |ol value| width |
|0002b210| 2a 2f 0a 0a 0a 2f 2a 0a | 20 2a 09 52 65 6c 6f 63 |*/.../*.| *.Reloc|
|0002b220| 61 74 69 6f 6e 20 74 61 | 62 6c 65 20 65 6e 74 72 |ation ta|ble entr|
|0002b230| 79 20 66 6f 72 20 78 2e | 6f 75 74 20 61 6e 64 20 |y for x.|out and |
|0002b240| 78 2e 6f 75 74 20 73 65 | 67 6d 65 6e 74 65 64 2c |x.out se|gmented,|
|0002b250| 20 6c 6f 6e 67 20 66 6f | 72 6d 2e 0a 20 2a 09 54 | long fo|rm.. *.T|
|0002b260| 68 69 73 20 66 6f 72 6d | 20 69 73 20 6e 6f 72 6d |his form| is norm|
|0002b270| 61 6c 6c 79 20 61 74 74 | 61 63 68 65 64 20 74 6f |ally att|ached to|
|0002b280| 20 22 2e 6f 22 20 66 69 | 6c 65 73 20 61 6e 64 20 | ".o" fi|les and |
|0002b290| 6d 61 79 20 61 6c 73 6f | 20 62 65 20 66 6f 75 6e |may also| be foun|
|0002b2a0| 64 0a 20 2a 09 69 6e 20 | 73 65 67 6d 65 6e 74 65 |d. *.in |segmente|
|0002b2b0| 64 20 65 78 65 63 75 74 | 61 62 6c 65 73 2e 0a 20 |d execut|ables.. |
|0002b2c0| 2a 2f 0a 0a 73 74 72 75 | 63 74 20 72 65 6c 6f 63 |*/..stru|ct reloc|
|0002b2d0| 20 7b 0a 09 75 6e 73 69 | 67 6e 65 64 20 73 68 6f | {..unsi|gned sho|
|0002b2e0| 72 74 09 72 5f 64 65 73 | 63 3b 20 20 20 20 20 2f |rt.r_des|c; /|
|0002b2f0| 2a 20 64 65 73 63 72 69 | 70 74 6f 72 20 2a 2f 0a |* descri|ptor */.|
|0002b300| 09 75 6e 73 69 67 6e 65 | 64 20 73 68 6f 72 74 09 |.unsigne|d short.|
|0002b310| 72 5f 73 79 6d 62 6f 6c | 3b 20 20 20 2f 2a 20 69 |r_symbol|; /* i|
|0002b320| 66 20 65 78 74 65 72 6e | 2c 20 73 79 6d 20 69 64 |f extern|, sym id|
|0002b330| 3b 20 65 6c 73 65 20 73 | 65 67 6d 65 6e 74 20 69 |; else s|egment i|
|0002b340| 64 20 2a 2f 0a 09 6c 6f | 6e 67 09 09 72 5f 70 6f |d */..lo|ng..r_po|
|0002b350| 73 3b 09 20 20 20 20 2f | 2a 20 70 6f 73 69 74 69 |s;. /|* positi|
|0002b360| 6f 6e 20 6f 66 20 72 65 | 6c 6f 63 20 69 6e 20 73 |on of re|loc in s|
|0002b370| 65 67 6d 65 0c 00 0f 02 | 00 9e e1 01 02 00 3f 6e |egme....|......?n|
|0002b380| 74 20 2a 2f 0a 7d 3b 0a | 0a 0a 2f 2a 0a 20 2a 09 |t */.};.|../*. *.|
|0002b390| 44 65 66 69 6e 69 74 69 | 6f 6e 73 20 66 6f 72 20 |Definiti|ons for |
|0002b3a0| 72 65 6c 6f 63 2e 72 5f | 64 65 73 63 20 28 73 68 |reloc.r_|desc (sh|
|0002b3b0| 6f 72 74 29 2e 0a 20 2a | 0a 20 2a 09 73 73 01 09 |ort).. *|. *.ss..|
|0002b3c0| 20 20 00 14 73 65 67 6d | 65 6e 74 20 74 79 70 65 | ..segm|ent type|
|0002b3d0| 0a 20 2a 09 20 20 73 73 | 01 08 20 20 00 0d 73 69 |. *. ss|.. ..si|
|0002b3e0| 7a 65 0a 20 2a 09 20 20 | 20 20 64 01 07 20 20 00 |ze. *. | d.. .|
|0002b3f0| 30 20 64 69 73 70 6c 61 | 63 65 6d 65 6e 74 0a 20 |0 displa|cement. |
|0002b400| 2a 09 20 20 20 20 20 72 | 72 72 09 20 20 20 20 72 |*. r|rr. r|
|0002b410| 65 66 65 72 65 6e 63 65 | 20 74 79 70 65 0a 20 2a |eference| type. *|
|0002b420| 09 01 04 20 20 01 04 78 | 78 00 ff 20 20 20 20 65 |... ..x|x.. e|
|0002b430| 78 74 72 61 0a 20 2a 2f | 0a 0a 0a 09 09 09 20 20 |xtra. */|...... |
|0002b440| 20 20 2f 2a 20 74 79 70 | 65 20 6f 66 20 73 65 67 | /* typ|e of seg|
|0002b450| 6d 65 6e 74 20 72 65 66 | 65 72 65 6e 63 65 64 20 |ment ref|erenced |
|0002b460| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 52 44 5f 54 45 |*/.#defi|ne RD_TE|
|0002b470| 58 54 09 30 78 30 30 30 | 30 09 09 2f 2a 20 74 65 |XT.0x000|0../* te|
|0002b480| 78 74 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 52 44 |xt */.#d|efine RD|
|0002b490| 5f 44 41 54 41 09 30 78 | 34 30 30 30 09 09 2f 2a |_DATA.0x|4000../*|
|0002b4a0| 20 64 61 74 61 20 2a 2f | 0a 23 64 65 66 69 6e 65 | data */|.#define|
|0002b4b0| 20 52 44 5f 42 53 53 09 | 30 78 38 30 30 30 09 09 | RD_BSS.|0x8000..|
|0002b4c0| 2f 2a 20 62 73 73 20 2a | 2f 0a 23 64 65 66 69 6e |/* bss *|/.#defin|
|0002b4d0| 65 20 52 44 5f 45 58 54 | 09 30 78 63 30 30 30 09 |e RD_EXT|.0xc000.|
|0002b4e0| 09 2f 2a 20 75 6e 6b 6e | 6f 77 6e 2c 20 75 73 65 |./* unkn|own, use|
|0002b4f0| 20 74 79 70 65 20 6f 66 | 20 72 65 6c 6f 63 2e 72 | type of| reloc.r|
|0002b500| 5f 73 79 6d 62 6f 6c 20 | 2a 2f 0a 23 64 65 66 69 |_symbol |*/.#defi|
|0002b510| 6e 65 20 52 44 5f 53 45 | 47 09 30 78 63 30 30 30 |ne RD_SE|G.0xc000|
|0002b520| 09 09 2f 2a 20 73 65 67 | 6d 65 00 31 6e 74 20 74 |../* seg|me.1nt t|
|0002b530| 79 70 65 20 6d 61 73 6b | 20 2a 2f 0a 0a 09 09 09 |ype mask| */.....|
|0002b540| 20 20 20 20 2f 2a 20 6e | 75 6d 62 65 72 20 6f 66 | /* n|umber of|
|0002b550| 20 62 79 74 65 73 20 69 | 6e 76 6f 6c 76 0f 0c 01 | bytes i|nvolv...|
|0002b560| b7 0c 01 01 02 00 98 01 | 02 00 65 64 20 69 6e 20 |........|..ed in |
|0002b570| 72 65 66 65 72 65 6e 63 | 65 20 2a 2f 0a 23 64 65 |referenc|e */.#de|
|0002b580| 66 69 6e 65 20 52 44 5f | 42 59 54 45 09 30 78 30 |fine RD_|BYTE.0x0|
|0002b590| 30 30 30 09 09 2f 2a 20 | 31 20 2a 2f 0a 23 64 65 |000../* |1 */.#de|
|0002b5a0| 66 69 6e 65 20 52 44 5f | 57 4f 52 44 09 30 78 31 |fine RD_|WORD.0x1|
|0002b5b0| 30 30 30 09 09 2f 2a 20 | 32 20 2a 2f 0a 23 64 65 |000../* |2 */.#de|
|0002b5c0| 66 69 6e 65 20 52 44 5f | 4c 4f 4e 47 09 30 78 32 |fine RD_|LONG.0x2|
|0002b5d0| 30 30 30 09 09 2f 2a 20 | 34 20 2a 2f 0a 23 64 65 |000../* |4 */.#de|
|0002b5e0| 66 69 6e 65 20 52 44 5f | 53 49 5a 45 09 30 78 33 |fine RD_|SIZE.0x3|
|0002b5f0| 30 30 30 09 09 2f 2a 20 | 73 69 7a 65 20 6d 61 73 |000../* |size mas|
|0002b600| 6b 20 2a 2f 0a 0a 23 64 | 65 66 69 6e 65 20 52 44 |k */..#d|efine RD|
|0002b610| 5f 44 49 53 50 09 30 78 | 30 38 30 30 09 09 2f 2a |_DISP.0x|0800../*|
|0002b620| 20 73 65 74 20 69 66 20 | 73 65 6c 66 20 72 65 6c | set if |self rel|
|0002b630| 61 74 69 76 65 20 28 70 | 63 20 72 65 6c 61 74 69 |ative (p|c relati|
|0002b640| 76 65 29 20 2a 2f 0a 0a | 09 09 09 20 20 20 20 2f |ve) */..|... /|
|0002b650| 2a 20 74 79 70 65 20 6f | 66 20 72 65 66 65 72 65 |* type o|f refere|
|0002b660| 6e 63 65 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 52 |nce */.#|define R|
|0002b670| 44 5f 52 4f 46 46 09 30 | 78 30 30 30 30 09 09 2f |D_ROFF.0|x0000../|
|0002b680| 2a 20 6f 66 66 73 65 74 | 20 6f 6e 6c 79 20 2a 2f |* offset| only */|
|0002b690| 0a 23 64 65 66 69 6e 65 | 20 52 44 5f 52 53 45 47 |.#define| RD_RSEG|
|0002b6a0| 09 30 78 30 31 30 30 09 | 09 2f 2a 20 73 65 67 6d |.0x0100.|./* segm|
|0002b6b0| 65 6e 74 20 6f 6e 6c 79 | 20 2a 2f 0a 23 64 65 66 |ent only| */.#def|
|0002b6c0| 69 6e 65 20 52 44 5f 52 | 46 41 52 09 30 78 30 32 |ine RD_R|FAR.0x02|
|0002b6d0| 30 30 09 09 2f 2a 20 73 | 65 67 6d 65 6e 74 20 61 |00../* s|egment a|
|0002b6e0| 6e 64 20 6f 66 66 73 65 | 74 20 2a 2f 0a 23 64 65 |nd offse|t */.#de|
|0002b6f0| 66 69 6e 65 20 52 44 5f | 52 45 46 54 09 30 78 30 |fine RD_|REFT.0x0|
|0002b700| 37 30 30 09 09 2f 2a 20 | 72 65 66 65 72 65 6e 63 |700../* |referenc|
|0002b710| 65 20 74 79 70 65 20 6d | 61 73 6b 20 2a 2f 0a 0a |e type m|ask */..|
|0002b720| 0a 2f 2a 0a 20 2a 09 52 | 65 6c 6f 63 61 74 69 6f |./*. *.R|elocatio|
|0002b730| 6e 20 74 61 62 6c 65 20 | 65 6e 74 72 79 20 66 6f |n table |entry fo|
|0002b740| 72 20 78 2e 6f 75 74 2c | 20 73 68 6f 72 74 20 66 |r x.out,| short f|
|0002b750| 6f 72 6d 2e 0a 20 2a 09 | 54 68 69 73 20 66 6f 72 |orm.. *.|This for|
|0002b760| 6d 20 69 73 20 6e 6f 72 | 6d 61 0c 01 02 02 00 22 |m is nor|ma....."|
|0002b770| b3 01 02 00 a3 6c 6c 79 | 20 61 74 74 61 63 68 65 |.....lly| attache|
|0002b780| 64 20 74 6f 20 6e 6f 6e | 2d 73 65 67 6d 65 6e 74 |d to non|-segment|
|0002b790| 65 64 20 65 78 65 63 75 | 74 61 62 6c 65 20 66 69 |ed execu|table fi|
|0002b7a0| 6c 65 73 2e 0a 20 2a 2f | 0a 0a 73 74 72 75 63 74 |les.. */|..struct|
|0002b7b0| 20 78 72 65 6c 6f 63 20 | 7b 0a 09 6c 6f 6e 67 09 | xreloc |{..long.|
|0002b7c0| 78 72 5f 63 6d 64 3b 09 | 20 20 20 20 2f 2a 20 72 |xr_cmd;.| /* r|
|0002b7d0| 65 6c 6f 63 20 63 6f 6d | 6d 61 6e 64 20 2a 2f 0a |eloc com|mand */.|
|0002b7e0| 7d 3b 0a 0a 0a 2f 2a 0a | 20 2a 09 44 65 66 69 6e |};.../*.| *.Defin|
|0002b7f0| 69 74 69 6f 6e 73 20 66 | 6f 72 20 78 72 65 6c 6f |itions f|or xrelo|
|0002b800| 63 2e 78 72 5f 63 6d 64 | 20 28 6c 6f 6e 67 29 2e |c.xr_cmd| (long).|
|0002b810| 0a 20 2a 0a 20 2a 09 63 | 01 11 20 20 00 1a 20 73 |. *. *.c|.. .. s|
|0002b820| 65 74 20 69 66 20 63 6f | 64 65 20 73 65 67 6d 65 |et if co|de segme|
|0002b830| 6e 74 0a 20 2a 09 20 6c | 01 11 20 20 00 19 73 65 |nt. *. l|.. ..se|
|0002b840| 74 20 69 66 20 6c 6f 6e | 67 20 6f 70 65 72 61 6e |t if lon|g operan|
|0002b850| 64 0a 20 2a 09 20 20 01 | 0f 6f 6f 00 c8 20 20 20 |d. *. .|.oo.. |
|0002b860| 20 6f 66 66 73 65 74 0a | 20 2a 2f 0a 0a 23 64 65 | offset.| */..#de|
|0002b870| 66 69 6e 65 20 58 52 5f | 43 4f 44 45 09 30 78 38 |fine XR_|CODE.0x8|
|0002b880| 30 30 30 30 30 30 30 4c | 09 2f 2a 20 63 6f 64 65 |0000000L|./* code|
|0002b890| 2f 64 61 74 61 20 73 65 | 67 6d 65 6e 74 20 2a 2f |/data se|gment */|
|0002b8a0| 0a 23 64 65 66 69 6e 65 | 20 58 52 5f 4c 4f 4e 47 |.#define| XR_LONG|
|0002b8b0| 09 30 78 34 30 30 30 30 | 30 30 30 4c 09 2f 2a 20 |.0x40000|000L./* |
|0002b8c0| 6c 6f 6e 67 2f 73 68 6f | 72 74 20 6f 70 65 72 61 |long/sho|rt opera|
|0002b8d0| 6e 64 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 58 52 |nd */.#d|efine XR|
|0002b8e0| 5f 4f 46 46 53 09 30 78 | 33 66 66 66 66 66 66 66 |_OFFS.0x|3fffffff|
|0002b8f0| 4c 09 2f 2a 20 33 30 20 | 62 69 74 20 6f 66 66 73 |L./* 30 |bit offs|
|0002b900| 65 74 20 6d 61 73 6b 20 | 2a 2f 0a 0a 0a 2f 2a 0a |et mask |*/.../*.|
|0002b910| 20 2a 09 47 72 6f 75 70 | 20 73 74 72 75 63 74 75 | *.Group| structu|
|0002b920| 72 65 20 66 6f 0c 01 03 | 02 00 a3 01 02 00 72 20 |re fo...|......r |
|0002b930| 73 65 67 6d 65 6e 74 65 | 64 20 78 2e 6f 75 74 2e |segmente|d x.out.|
|0002b940| 0a 20 2a 09 41 20 73 65 | 67 6d 65 6e 74 20 6f 66 |. *.A se|gment of|
|0002b950| 20 74 79 70 65 20 58 53 | 5f 54 47 52 50 53 20 63 | type XS|_TGRPS c|
|0002b960| 6f 6e 74 61 69 6e 73 20 | 61 6e 20 61 72 72 61 79 |ontains |an array|
|0002b970| 20 6f 66 20 73 74 72 75 | 63 74 20 78 67 72 6f 75 | of stru|ct xgrou|
|0002b980| 70 2e 0a 20 2a 2f 0a 0a | 73 74 72 75 63 74 20 78 |p.. */..|struct x|
|0002b990| 67 72 6f 75 70 20 7b 0a | 09 75 6e 73 69 67 6e 65 |group {.|.unsigne|
|0002b9a0| 64 20 73 68 6f 72 74 09 | 78 67 5f 67 6e 6f 66 66 |d short.|xg_gnoff|
|0002b9b0| 3b 09 2f 2a 20 73 74 72 | 69 6e 67 20 74 61 62 6c |;./* str|ing tabl|
|0002b9c0| 65 20 67 72 6f 75 70 20 | 6e 61 6d 65 20 6f 66 66 |e group |name off|
|0002b9d0| 73 65 74 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |set */..|unsigned|
|0002b9e0| 20 73 68 6f 72 74 09 78 | 67 5f 73 6e 6f 66 66 3b | short.x|g_snoff;|
|0002b9f0| 09 2f 2a 20 73 74 72 69 | 6e 67 20 74 61 62 6c 65 |./* stri|ng table|
|0002ba00| 20 73 65 67 6d 65 6e 74 | 20 6e 61 6d 65 20 6f 66 | segment| name of|
|0002ba10| 66 73 65 74 20 2a 2f 0a | 7d 3b 0a 0a 0a 0a 0a 2f |fset */.|};...../|
|0002ba20| 2a 0a 20 2a 09 41 6c 6c | 20 6f 66 20 74 68 65 20 |*. *.All| of the |
|0002ba30| 66 6f 6c 6c 6f 77 69 6e | 67 20 61 72 65 20 70 72 |followin|g are pr|
|0002ba40| 6f 76 69 64 65 64 20 66 | 6f 72 20 63 6f 6d 70 61 |ovided f|or compa|
|0002ba50| 74 69 62 69 6c 69 74 79 | 20 6f 6e 6c 79 2e 0a 20 |tibility| only.. |
|0002ba60| 2a 2f 0a 0a 73 74 72 75 | 63 74 20 61 73 79 6d 20 |*/..stru|ct asym |
|0002ba70| 7b 09 09 09 20 20 20 20 | 2f 2a 20 61 2e 6f 75 74 |{... |/* a.out|
|0002ba80| 2c 20 6d 6f 64 69 66 69 | 65 64 20 66 72 6f 6d 20 |, modifi|ed from |
|0002ba90| 73 74 72 75 63 74 20 6e | 6c 69 73 74 20 2a 2f 0a |struct n|list */.|
|0002baa0| 09 63 68 61 72 09 09 73 | 61 5f 6e 61 6d 65 5b 38 |.char..s|a_name[8|
|0002bab0| 5d 3b 09 2f 2a 20 73 79 | 6d 62 6f 6c 20 6e 61 6d |];./* sy|mbol nam|
|0002bac0| 65 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 73 |e */..un|signed s|
|0002bad0| 68 6f 72 74 09 73 61 5f | 74 79 70 65 3b 09 2f 2a |hort.sa_|type;./*|
|0002bae0| 20 74 79 70 65 20 66 6c | 61 67 20 2a 2f 0a 09 75 | type fl|ag */..u|
|0002baf0| 6e 73 69 67 6e 65 64 20 | 73 68 6f 72 74 09 73 61 |nsigned |short.sa|
|0002bb00| 5f 76 61 6c 75 65 3b 09 | 2f 2a 20 76 61 6c 75 65 |_value;.|/* value|
|0002bb10| 20 2a 2f 0a 7d 3b 0a 0a | 0a 2f 2a 09 44 65 66 69 | */.};..|./*.Defi|
|0002bb20| 6e 69 74 69 6f 6e 73 20 | 66 6f 72 20 61 73 0c 01 |nitions |for as..|
|0002bb30| 04 02 00 97 01 02 00 79 | 6d 2e 73 61 5f 74 79 70 |.......y|m.sa_typ|
|0002bb40| 65 20 61 6e 64 20 6e 6c | 69 73 74 2e 6e 5f 74 79 |e and nl|ist.n_ty|
|0002bb50| 70 65 2e 09 2a 2f 0a 0a | 23 64 65 66 69 6e 65 09 |pe..*/..|#define.|
|0002bb60| 4e 5f 55 4e 44 46 09 30 | 09 2f 2a 20 75 6e 64 65 |N_UNDF.0|./* unde|
|0002bb70| 66 69 6e 65 64 20 2a 2f | 0a 23 64 65 66 69 6e 65 |fined */|.#define|
|0002bb80| 09 4e 5f 41 42 53 09 30 | 31 09 2f 2a 20 61 62 73 |.N_ABS.0|1./* abs|
|0002bb90| 6f 6c 75 74 65 20 2a 2f | 0a 23 64 65 66 69 6e 65 |olute */|.#define|
|0002bba0| 09 4e 5f 54 45 58 54 09 | 30 32 09 2f 2a 20 74 65 |.N_TEXT.|02./* te|
|0002bbb0| 78 74 20 73 79 6d 62 6f | 6c 20 2a 2f 0a 23 64 65 |xt symbo|l */.#de|
|0002bbc0| 66 69 6e 65 09 4e 5f 44 | 41 54 41 09 30 33 09 2f |fine.N_D|ATA.03./|
|0002bbd0| 2a 20 64 61 74 61 20 73 | 79 6d 62 6f 6c 20 2a 2f |* data s|ymbol */|
|0002bbe0| 0a 23 64 65 66 69 6e 65 | 09 4e 5f 42 53 53 09 30 |.#define|.N_BSS.0|
|0002bbf0| 34 09 2f 2a 20 62 73 73 | 20 73 79 6d 62 6f 6c 20 |4./* bss| symbol |
|0002bc00| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4e 5f 54 59 50 |*/.#defi|ne.N_TYP|
|0002bc10| 45 09 30 33 37 0a 23 64 | 65 66 69 6e 65 09 4e 5f |E.037.#d|efine.N_|
|0002bc20| 52 45 47 09 30 32 34 09 | 2f 2a 20 72 65 67 69 73 |REG.024.|/* regis|
|0002bc30| 74 65 72 20 6e 61 6d 65 | 20 2a 2f 0a 23 64 65 66 |ter name| */.#def|
|0002bc40| 69 6e 65 09 4e 5f 46 4e | 09 30 33 37 09 2f 2a 20 |ine.N_FN|.037./* |
|0002bc50| 66 69 6c 65 20 6e 61 6d | 65 20 73 79 6d 62 6f 6c |file nam|e symbol|
|0002bc60| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 09 4e 5f 45 58 | */.#def|ine.N_EX|
|0002bc70| 54 09 30 34 30 09 2f 2a | 20 65 78 74 65 72 6e 61 |T.040./*| externa|
|0002bc80| 6c 20 62 69 74 2c 20 6f | 72 27 65 64 20 69 6e 20 |l bit, o|r'ed in |
|0002bc90| 2a 2f 0a 0a 0a 73 74 72 | 75 63 74 20 62 73 79 6d |*/...str|uct bsym|
|0002bca0| 20 7b 09 09 20 20 20 20 | 2f 2a 20 62 2e 6f 75 74 | {.. |/* b.out|
|0002bcb0| 2c 20 6e 6f 6e 2d 70 6f | 72 74 61 62 6c 65 20 76 |, non-po|rtable v|
|0002bcc0| 65 72 73 69 6f 6e 20 6f | 66 20 78 2e 6f 75 74 20 |ersion o|f x.out |
|0002bcd0| 2a 2f 0a 09 63 68 61 72 | 09 73 62 5f 74 79 70 65 |*/..char|.sb_type|
|0002bce0| 3b 09 2f 2a 20 75 73 65 | 20 64 65 66 69 6e 69 74 |;./* use| definit|
|0002bcf0| 69 6f 6e 73 20 66 6f 72 | 20 73 79 6d 2e 73 5f 74 |ions for| sym.s_t|
|0002bd00| 79 70 65 20 2a 2f 0a 09 | 6c 6f 6e 67 09 73 62 5f |ype */..|long.sb_|
|0002bd10| 76 61 6c 75 65 3b 0a 7d | 3b 0a 0a 0a 2f 2a 0a 20 |value;.}|;.../*. |
|0002bd20| 2a 09 44 65 66 69 6e 69 | 74 69 6f 6e 73 20 66 6f |*.Defini|tions fo|
|0002bd30| 72 20 72 65 6c 6f 63 0c | 01 05 02 00 ff 01 02 00 |r reloc.|........|
|0002bd40| 2e 72 5f 64 65 73 63 2c | 20 63 6f 6d 70 61 74 69 |.r_desc,| compati|
|0002bd50| 62 6c 65 20 77 69 74 68 | 20 62 69 74 66 69 65 6c |ble with| bitfiel|
|0002bd60| 64 0a 20 2a 09 09 61 6c | 6c 6f 63 61 74 69 6f 6e |d. *..al|location|
|0002bd70| 20 66 72 6f 6d 20 74 68 | 65 20 6c 6f 77 20 65 6e | from th|e low en|
|0002bd80| 64 20 6f 66 20 61 20 77 | 6f 72 64 20 28 70 64 70 |d of a w|ord (pdp|
|0002bd90| 31 31 29 2e 0a 20 2a 2f | 0a 0a 23 64 65 66 69 6e |11).. */|..#defin|
|0002bda0| 65 20 52 44 5f 42 54 45 | 58 54 09 30 78 30 30 30 |e RD_BTE|XT.0x000|
|0002bdb0| 30 0a 23 64 65 66 69 6e | 65 20 52 44 5f 42 44 41 |0.#defin|e RD_BDA|
|0002bdc0| 54 41 09 30 78 30 30 30 | 31 0a 23 64 65 66 69 6e |TA.0x000|1.#defin|
|0002bdd0| 65 20 52 44 5f 42 42 53 | 53 09 09 30 78 30 30 30 |e RD_BBS|S..0x000|
|0002bde0| 32 0a 23 64 65 66 69 6e | 65 20 52 44 5f 42 45 58 |2.#defin|e RD_BEX|
|0002bdf0| 54 09 09 30 78 30 30 30 | 33 0a 23 64 65 66 69 6e |T..0x000|3.#defin|
|0002be00| 65 20 52 44 5f 42 53 45 | 47 09 09 30 78 30 30 30 |e RD_BSE|G..0x000|
|0002be10| 33 0a 0a 23 64 65 66 69 | 6e 65 20 52 44 5f 42 42 |3..#defi|ne RD_BB|
|0002be20| 59 54 45 09 30 78 30 30 | 30 30 0a 23 64 65 66 69 |YTE.0x00|00.#defi|
|0002be30| 6e 65 20 52 44 5f 42 57 | 4f 52 44 09 30 78 30 30 |ne RD_BW|ORD.0x00|
|0002be40| 30 34 0a 23 64 65 66 69 | 6e 65 20 52 44 5f 42 4c |04.#defi|ne RD_BL|
|0002be50| 4f 4e 47 09 30 78 30 30 | 30 38 0a 23 64 65 66 69 |ONG.0x00|08.#defi|
|0002be60| 6e 65 20 52 44 5f 42 53 | 49 5a 45 09 30 78 30 30 |ne RD_BS|IZE.0x00|
|0002be70| 30 63 0a 0a 23 64 65 66 | 69 6e 65 20 52 44 5f 42 |0c..#def|ine RD_B|
|0002be80| 44 49 53 50 09 30 78 30 | 30 31 30 0a 69 74 2c 20 |DISP.0x0|010.it, |
|0002be90| 6f 72 27 65 64 20 69 6e | 20 2a 2f 0a 0a 0a 73 74 |or'ed in| */...st|
|0002bea0| 72 75 63 74 20 62 73 79 | 6d 20 7b 09 09 20 20 20 |ruct bsy|m {.. |
|0002beb0| 20 2f 2a 20 62 2e 6f 75 | 74 2c 20 6e 6f 6e 2d 70 | /* b.ou|t, non-p|
|0002bec0| 6f 72 74 61 62 6c 65 20 | 76 65 72 73 69 6f 6e 20 |ortable |version |
|0002bed0| 6f 66 20 78 2e 6f 75 74 | 20 2a 2f 0a 09 63 68 61 |of x.out| */..cha|
|0002bee0| 72 09 73 62 5f 74 79 70 | 65 3b 09 2f 2a 20 75 73 |r.sb_typ|e;./* us|
|0002bef0| 65 20 64 65 66 69 6e 69 | 74 69 6f 6e 73 20 66 6f |e defini|tions fo|
|0002bf00| 72 20 73 79 6d 2e 73 5f | 74 79 70 65 20 2a 2f 0a |r sym.s_|type */.|
|0002bf10| 09 6c 6f 6e 67 09 73 62 | 5f 76 61 6c 75 65 3b 0a |.long.sb|_value;.|
|0002bf20| 7d 3b 0a 0a 0a 2f 2a 0a | 20 2a 09 44 65 66 69 6e |};.../*.| *.Defin|
|0002bf30| 69 74 69 6f 6e 73 20 66 | 6f 72 20 72 65 6c 6f 63 |itions f|or reloc|
|0002bf40| 0c 01 06 02 00 0b 5d 00 | 02 00 17 2e 2f 75 73 72 |......].|..../usr|
|0002bf50| 2f 69 6e 63 6c 75 64 65 | 2f 73 79 73 2f 72 65 67 |/include|/sys/reg|
|0002bf60| 2e 68 01 26 00 00 00 39 | 00 20 20 20 34 34 34 20 |.h.&...9|. 444 |
|0002bf70| 00 20 20 20 20 20 30 20 | 00 20 20 20 20 20 30 20 |. 0 |. 0 |
|0002bf80| 00 20 20 20 20 20 20 20 | 33 35 34 35 20 20 34 32 |. |3545 42|
|0002bf90| 34 34 33 34 30 32 31 33 | 20 20 31 30 31 34 33 00 |44340213| 10143.|
|0002bfa0| 20 01 b2 00 00 0c 01 07 | 02 00 81 01 02 00 2f 2a | .......|....../*|
|0002bfb0| 0a 20 2a 09 40 28 23 29 | 20 72 65 67 2e 68 20 32 |. *.@(#)| reg.h 2|
|0002bfc0| 2e 31 20 38 38 2f 30 35 | 2f 31 38 20 0a 20 2a 0a |.1 88/05|/18 . *.|
|0002bfd0| 20 2a 09 43 6f 70 79 72 | 69 67 68 74 20 28 43 29 | *.Copyr|ight (C)|
|0002bfe0| 20 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 | The San|ta Cruz |
|0002bff0| 4f 70 65 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |Operatio|n, 1984,|
|0002c000| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|0002c010| 37 2e 0a 20 2a 09 43 6f | 70 79 72 69 67 68 74 20 |7.. *.Co|pyright |
|0002c020| 28 43 29 20 4d 69 63 72 | 6f 73 6f 66 74 20 43 6f |(C) Micr|osoft Co|
|0002c030| 72 70 6f 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |rporatio|n, 1984,|
|0002c040| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|0002c050| 37 2e 0a 20 2a 09 54 68 | 69 73 20 4d 6f 64 75 6c |7.. *.Th|is Modul|
|0002c060| 65 20 63 6f 6e 74 61 69 | 6e 73 20 50 72 6f 70 72 |e contai|ns Propr|
|0002c070| 69 65 74 61 72 79 20 49 | 6e 66 6f 72 6d 61 74 69 |ietary I|nformati|
|0002c080| 6f 6e 20 6f 66 0a 20 2a | 09 54 68 65 20 53 61 6e |on of. *|.The San|
|0002c090| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|0002c0a0| 6e 2c 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |n, Micro|soft Cor|
|0002c0b0| 70 6f 72 61 74 69 6f 6e | 0a 20 2a 09 61 6e 64 20 |poration|. *.and |
|0002c0c0| 41 54 26 54 2c 20 61 6e | 64 20 73 68 6f 75 6c 64 |AT&T, an|d should|
|0002c0d0| 20 62 65 20 74 72 65 61 | 74 65 64 20 61 73 20 43 | be trea|ted as C|
|0002c0e0| 6f 6e 66 69 64 65 6e 74 | 69 61 6c 2e 0a 20 2a 2f |onfident|ial.. */|
|0002c0f0| 0a 0a 2f 2a 0a 20 2a 20 | 6f 66 66 73 65 74 73 20 |../*. * |offsets |
|0002c100| 6f 66 20 75 73 65 72 20 | 72 65 67 69 73 74 65 72 |of user |register|
|0002c110| 73 20 6f 6e 20 6b 65 72 | 6e 65 6c 20 73 74 61 63 |s on ker|nel stac|
|0002c120| 6b 20 0a 20 2a 0a 20 2a | 09 54 68 65 20 76 61 6c |k . *. *|.The val|
|0002c130| 75 65 73 20 68 65 72 65 | 20 64 65 70 65 6e 64 20 |ues here| depend |
|0002c140| 6c 61 72 67 65 6c 79 20 | 6f 6e 20 74 68 65 20 68 |largely |on the h|
|0002c150| 61 72 64 77 61 72 65 2c | 20 61 6e 64 20 6f 6e 20 |ardware,| and on |
|0002c160| 0a 20 2a 09 74 68 65 20 | 63 6f 64 65 20 66 6f 72 |. *.the |code for|
|0002c170| 20 73 79 73 74 65 6d 20 | 63 61 6c 6c 2c 20 74 72 | system |call, tr|
|0002c180| 61 70 2c 20 61 6e 64 20 | 69 6e 74 65 72 72 75 70 |ap, and |interrup|
|0002c190| 74 20 65 6e 74 72 79 2e | 0a 20 2a 2f 0a 0a 0a 23 |t entry.|. */...#|
|0002c1a0| 69 66 64 65 66 20 4d 5f | 49 33 38 36 0a 23 0c 01 |ifdef M_|I386.#..|
|0002c1b0| 08 02 00 11 01 02 00 64 | 65 66 69 6e 65 20 52 53 |.......d|efine RS|
|0002c1c0| 53 09 31 38 0a 23 64 65 | 66 69 6e 65 20 52 45 53 |S.18.#de|fine RES|
|0002c1d0| 50 09 31 37 0a 23 64 65 | 66 69 6e 65 20 52 45 46 |P.17.#de|fine REF|
|0002c1e0| 4c 09 31 36 0a 23 64 65 | 66 69 6e 65 20 52 43 53 |L.16.#de|fine RCS|
|0002c1f0| 09 31 35 0a 23 64 65 66 | 69 6e 65 20 52 45 49 50 |.15.#def|ine REIP|
|0002c200| 09 31 34 0a 23 64 65 66 | 69 6e 65 20 52 43 4f 44 |.14.#def|ine RCOD|
|0002c210| 45 09 31 33 0a 23 64 65 | 66 69 6e 65 20 52 54 59 |E.13.#de|fine RTY|
|0002c220| 50 45 09 31 32 0a 23 64 | 65 66 69 6e 65 20 52 45 |PE.12.#d|efine RE|
|0002c230| 41 58 09 31 31 0a 23 64 | 65 66 69 6e 65 20 52 45 |AX.11.#d|efine RE|
|0002c240| 43 58 09 31 30 0a 23 64 | 65 66 69 6e 65 20 52 45 |CX.10.#d|efine RE|
|0002c250| 44 58 09 39 0a 23 64 65 | 66 69 6e 65 20 52 45 42 |DX.9.#de|fine REB|
|0002c260| 58 09 38 0a 23 64 65 66 | 69 6e 65 20 4b 45 53 50 |X.8.#def|ine KESP|
|0002c270| 09 37 09 2f 2a 20 6b 65 | 72 6e 65 6c 20 73 74 61 |.7./* ke|rnel sta|
|0002c280| 63 6b 20 70 6f 69 6e 74 | 65 72 2c 20 6e 6f 74 20 |ck point|er, not |
|0002c290| 75 73 65 72 27 73 21 20 | 2a 2f 0a 23 64 65 66 69 |user's! |*/.#defi|
|0002c2a0| 6e 65 20 52 45 42 50 09 | 36 0a 23 64 65 66 69 6e |ne REBP.|6.#defin|
|0002c2b0| 65 20 52 45 53 49 09 35 | 0a 23 64 65 66 69 6e 65 |e RESI.5|.#define|
|0002c2c0| 20 52 45 44 49 09 34 0a | 23 64 65 66 69 6e 65 20 | REDI.4.|#define |
|0002c2d0| 52 44 53 09 33 0a 23 64 | 65 66 69 6e 65 20 52 45 |RDS.3.#d|efine RE|
|0002c2e0| 53 09 32 0a 23 64 65 66 | 69 6e 65 20 52 46 53 09 |S.2.#def|ine RFS.|
|0002c2f0| 31 0a 23 64 65 66 69 6e | 65 20 52 47 53 09 30 0a |1.#defin|e RGS.0.|
|0002c300| 23 65 6e 64 69 66 0a 0a | 2f 2a 0a 20 2a 20 75 73 |#endif..|/*. * us|
|0002c310| 65 72 73 20 72 65 67 73 | 20 6f 6e 20 6b 65 72 6e |ers regs| on kern|
|0002c320| 65 6c 20 73 74 61 63 6b | 20 69 38 30 32 38 36 20 |el stack| i80286 |
|0002c330| 6b 65 72 6e 65 6c 2e 0a | 20 2a 2f 0a 0a 23 69 66 |kernel..| */..#if|
|0002c340| 64 65 66 20 4d 5f 49 32 | 38 36 0a 23 64 65 66 69 |def M_I2|86.#defi|
|0002c350| 6e 65 09 52 53 53 09 37 | 09 09 2f 2a 20 75 73 65 |ne.RSS.7|../* use|
|0002c360| 72 20 73 73 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |r ss */.|#define.|
|0002c370| 52 53 50 09 36 09 09 2f | 2a 20 75 73 65 72 20 73 |RSP.6../|* user s|
|0002c380| 70 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 55 53 50 |p */.#de|fine USP|
|0002c390| 09 36 0a 23 64 65 66 69 | 6e 65 09 52 46 4c 09 35 |.6.#defi|ne.RFL.5|
|0002c3a0| 0a 23 64 65 66 69 6e 65 | 09 52 43 53 09 34 0a 23 |.#define|.RCS.4.#|
|0002c3b0| 64 65 66 69 6e 65 09 0c | 01 09 02 00 eb 01 02 00 |define..|........|
|0002c3c0| 52 49 50 09 33 0a 23 64 | 65 66 69 6e 65 09 52 76 |RIP.3.#d|efine.Rv|
|0002c3d0| 69 6f 6c 09 32 0a 23 64 | 65 66 69 6e 65 09 52 45 |iol.2.#d|efine.RE|
|0002c3e0| 53 09 31 0a 23 64 65 66 | 69 6e 65 09 52 41 58 09 |S.1.#def|ine.RAX.|
|0002c3f0| 30 0a 23 64 65 66 69 6e | 65 09 52 43 58 09 2d 31 |0.#defin|e.RCX.-1|
|0002c400| 0a 23 64 65 66 69 6e 65 | 09 52 44 58 09 2d 32 0a |.#define|.RDX.-2.|
|0002c410| 23 64 65 66 69 6e 65 09 | 52 42 58 09 2d 33 0a 23 |#define.|RBX.-3.#|
|0002c420| 64 65 66 69 6e 65 09 52 | 4b 53 50 09 2d 34 09 09 |define.R|KSP.-4..|
|0002c430| 2f 2a 20 4e 4f 54 20 73 | 70 20 74 6f 20 75 73 65 |/* NOT s|p to use|
|0002c440| 72 27 73 20 73 74 61 63 | 6b 20 2a 2f 0a 23 64 65 |r's stac|k */.#de|
|0002c450| 66 69 6e 65 09 52 42 50 | 09 2d 35 0a 23 64 65 66 |fine.RBP|.-5.#def|
|0002c460| 69 6e 65 09 52 53 49 09 | 2d 36 0a 23 64 65 66 69 |ine.RSI.|-6.#defi|
|0002c470| 6e 65 09 52 44 49 09 2d | 37 0a 23 64 65 66 69 6e |ne.RDI.-|7.#defin|
|0002c480| 65 09 52 44 53 09 2d 38 | 0a 23 65 6e 64 69 66 0a |e.RDS.-8|.#endif.|
|0002c490| 0a 0a 2f 2a 20 54 68 65 | 73 65 20 76 61 6c 75 65 |../* The|se value|
|0002c4a0| 73 20 61 72 65 20 66 6f | 72 20 74 68 65 20 69 38 |s are fo|r the i8|
|0002c4b0| 30 38 36 20 6b 65 72 6e | 65 6c 20 2a 2f 0a 0a 23 |086 kern|el */..#|
|0002c4c0| 69 66 64 65 66 20 4d 5f | 49 38 30 38 36 0a 23 64 |ifdef M_|I8086.#d|
|0002c4d0| 65 66 69 6e 65 20 55 52 | 46 4c 41 47 20 20 31 32 |efine UR|FLAG 12|
|0002c4e0| 20 20 20 20 20 20 2f 2a | 20 74 68 65 73 65 20 67 | /*| these g|
|0002c4f0| 75 79 73 20 61 72 65 20 | 69 6e 20 74 68 65 20 75 |uys are |in the u|
|0002c500| 73 65 72 20 64 61 74 61 | 20 73 70 61 63 65 2c 20 |ser data| space, |
|0002c510| 20 20 20 20 20 20 2a 2f | 0a 23 64 65 66 69 6e 65 | */|.#define|
|0002c520| 20 55 52 43 53 20 20 20 | 20 31 30 20 20 20 20 20 | URCS | 10 |
|0002c530| 20 2f 2a 20 61 6e 64 20 | 61 72 65 20 72 65 61 64 | /* and |are read|
|0002c540| 20 62 79 20 66 75 77 6f | 72 64 28 75 2e 75 5f 61 | by fuwo|rd(u.u_a|
|0002c550| 41 58 5b 52 53 50 5d 20 | 2b 20 55 52 78 78 29 20 |AX[RSP] |+ URxx) |
|0002c560| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 55 52 49 50 | */.#def|ine URIP|
|0002c570| 20 20 20 20 20 38 0a 23 | 64 65 66 69 6e 65 20 55 | 8.#|define U|
|0002c580| 52 56 45 43 20 20 20 20 | 36 0a 23 64 65 66 69 6e |RVEC |6.#defin|
|0002c590| 65 20 55 52 42 50 20 20 | 20 20 20 34 0a 23 64 65 |e URBP | 4.#de|
|0002c5a0| 66 69 6e 65 20 55 52 45 | 53 20 20 20 20 20 32 0a |fine URE|S 2.|
|0002c5b0| 23 64 65 66 69 6e 65 20 | 55 52 44 58 20 20 20 20 |#define |URDX |
|0002c5c0| 0c 01 0a 02 00 fc f3 01 | 02 00 ef 20 30 0a 0a 23 |........|... 0..#|
|0002c5d0| 64 65 66 69 6e 65 20 52 | 53 50 38 36 20 20 20 20 |define R|SP86 |
|0002c5e0| 20 38 09 2f 2a 20 74 68 | 65 73 65 20 67 75 79 73 | 8./* th|ese guys|
|0002c5f0| 20 61 72 65 20 6f 6e 20 | 73 79 73 74 65 6d 20 73 | are on |system s|
|0002c600| 74 61 63 6b 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |tack */.|#define |
|0002c610| 55 53 50 38 36 20 20 20 | 20 20 38 0a 23 64 65 66 |USP86 | 8.#def|
|0002c620| 69 6e 65 20 52 53 53 38 | 36 20 20 20 20 20 37 0a |ine RSS8|6 7.|
|0002c630| 23 64 65 66 69 6e 65 20 | 52 44 53 38 36 20 20 20 |#define |RDS86 |
|0002c640| 20 20 35 0a 23 64 65 66 | 69 6e 65 20 52 44 49 38 | 5.#def|ine RDI8|
|0002c650| 36 20 20 20 20 20 34 0a | 23 64 65 66 69 6e 65 20 |6 4.|#define |
|0002c660| 52 53 49 38 36 20 20 20 | 20 20 33 0a 23 64 65 66 |RSI86 | 3.#def|
|0002c670| 69 6e 65 20 52 43 58 38 | 36 20 20 20 20 20 32 0a |ine RCX8|6 2.|
|0002c680| 23 64 65 66 69 6e 65 20 | 52 42 58 38 36 20 20 20 |#define |RBX86 |
|0002c690| 20 20 31 0a 23 64 65 66 | 69 6e 65 20 52 41 58 38 | 1.#def|ine RAX8|
|0002c6a0| 36 20 20 20 20 20 30 0a | 23 64 65 66 69 6e 65 20 |6 0.|#define |
|0002c6b0| 52 73 74 61 74 65 20 20 | 2d 31 01 07 20 20 00 31 |Rstate |-1.. .1|
|0002c6c0| 2f 2a 20 75 73 65 72 2f | 73 79 73 74 65 6d 20 6d |/* user/|system m|
|0002c6d0| 6f 64 65 2c 20 74 72 61 | 70 20 23 20 2a 2f 0a 23 |ode, tra|p # */.#|
|0002c6e0| 64 65 66 69 6e 65 20 52 | 69 6c 65 76 20 20 20 2d |define R|ilev -|
|0002c6f0| 32 01 07 20 20 00 c4 2f | 2a 20 69 6e 74 65 72 72 |2.. ../|* interr|
|0002c700| 75 70 74 65 64 20 70 72 | 6f 63 65 64 75 72 65 20 |upted pr|ocedure |
|0002c710| 6c 65 76 65 6c 20 2a 2f | 0a 23 65 6e 64 69 66 0a |level */|.#endif.|
|0002c720| 20 20 20 20 31 30 20 20 | 20 20 20 20 2f 2a 20 61 | 10 | /* a|
|0002c730| 6e 64 20 61 72 65 20 72 | 65 61 64 20 62 79 20 66 |nd are r|ead by f|
|0002c740| 75 77 6f 72 64 28 75 2e | 75 5f 61 41 58 5b 52 53 |uword(u.|u_aAX[RS|
|0002c750| 50 5d 20 2b 20 55 52 78 | 78 29 20 20 2a 2f 0a 23 |P] + URx|x) */.#|
|0002c760| 64 65 66 69 6e 65 20 55 | 52 49 50 20 20 20 20 20 |define U|RIP |
|0002c770| 38 0a 23 64 65 66 69 6e | 65 20 55 52 56 45 43 20 |8.#defin|e URVEC |
|0002c780| 20 20 20 36 0a 23 64 65 | 66 69 6e 65 20 55 52 42 | 6.#de|fine URB|
|0002c790| 50 20 20 20 20 20 34 0a | 23 64 65 66 69 6e 65 20 |P 4.|#define |
|0002c7a0| 55 52 45 53 20 20 20 20 | 20 32 0a 23 64 65 66 69 |URES | 2.#defi|
|0002c7b0| 6e 65 20 55 52 44 58 20 | 20 20 20 0c 01 0b 02 00 |ne URDX | .....|
|0002c7c0| 61 5d 00 02 00 17 2e 2f | 75 73 72 2f 69 6e 63 6c |a]...../|usr/incl|
|0002c7d0| 75 64 65 2f 73 79 73 2f | 70 73 6c 2e 68 01 26 00 |ude/sys/|psl.h.&.|
|0002c7e0| 00 00 39 00 20 20 20 34 | 34 34 20 00 20 20 20 20 |..9. 4|44 . |
|0002c7f0| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|0002c800| 20 20 20 31 36 30 32 20 | 20 34 32 34 34 33 34 30 | 1602 | 4244340|
|0002c810| 32 31 32 20 20 31 30 31 | 35 33 00 20 01 b2 00 00 |212 101|53. ....|
|0002c820| 0c 01 0c 02 00 da 01 02 | 00 0a 2f 2a 0a 20 2a 09 |........|../*. *.|
|0002c830| 40 28 23 29 20 70 73 6c | 2e 68 20 32 2e 32 20 38 |@(#) psl|.h 2.2 8|
|0002c840| 38 2f 30 35 2f 31 38 20 | 0a 20 2a 0a 20 2a 09 43 |8/05/18 |. *. *.C|
|0002c850| 6f 70 79 72 69 67 68 74 | 20 28 43 29 20 54 68 65 |opyright| (C) The|
|0002c860| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|0002c870| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|0002c880| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2e 0a 20 |5, 1986,| 1987.. |
|0002c890| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 28 43 29 20 |*.Copyri|ght (C) |
|0002c8a0| 4d 69 63 72 6f 73 6f 66 | 74 20 43 6f 72 70 6f 72 |Microsof|t Corpor|
|0002c8b0| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|0002c8c0| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2e 0a 20 |5, 1986,| 1987.. |
|0002c8d0| 2a 09 54 68 69 73 20 4d | 6f 64 75 6c 65 20 63 6f |*.This M|odule co|
|0002c8e0| 6e 74 61 69 6e 73 20 50 | 72 6f 70 72 69 65 74 61 |ntains P|roprieta|
|0002c8f0| 72 79 20 49 6e 66 6f 72 | 6d 61 74 69 6f 6e 20 6f |ry Infor|mation o|
|0002c900| 66 0a 20 2a 09 54 68 65 | 20 53 61 6e 74 61 20 43 |f. *.The| Santa C|
|0002c910| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 4d |ruz Oper|ation, M|
|0002c920| 69 63 72 6f 73 6f 66 74 | 20 43 6f 72 70 6f 72 61 |icrosoft| Corpora|
|0002c930| 74 69 6f 6e 0a 20 2a 09 | 61 6e 64 20 41 54 26 54 |tion. *.|and AT&T|
|0002c940| 2c 20 61 6e 64 20 73 68 | 6f 75 6c 64 20 62 65 20 |, and sh|ould be |
|0002c950| 74 72 65 61 74 65 64 20 | 61 73 20 43 6f 6e 66 69 |treated |as Confi|
|0002c960| 64 65 6e 74 69 61 6c 2e | 0a 20 2a 2f 0a 0a 2f 2a |dential.|. */../*|
|0002c970| 0a 20 2a 20 20 09 70 72 | 6f 63 65 73 73 6f 72 20 |. * .pr|ocessor |
|0002c980| 73 74 61 74 75 73 0a 20 | 2a 2f 0a 0a 23 64 65 66 |status. |*/..#def|
|0002c990| 69 6e 65 09 50 53 5f 43 | 09 30 78 30 30 30 30 31 |ine.PS_C|.0x00001|
|0002c9a0| 09 2f 2a 20 63 61 72 72 | 79 20 66 6c 61 67 20 2a |./* carr|y flag *|
|0002c9b0| 2f 0a 23 64 65 66 69 6e | 65 20 50 53 5f 50 09 30 |/.#defin|e PS_P.0|
|0002c9c0| 78 30 30 30 30 34 09 2f | 2a 20 70 61 72 69 74 79 |x00004./|* parity|
|0002c9d0| 20 66 6c 61 67 20 2a 2f | 0a 23 64 65 66 69 6e 65 | flag */|.#define|
|0002c9e0| 20 50 53 5f 41 09 30 78 | 30 30 30 31 30 09 2f 2a | PS_A.0x|00010./*|
|0002c9f0| 20 61 75 78 20 63 61 72 | 72 79 20 66 6c 61 67 20 | aux car|ry flag |
|0002ca00| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 50 53 5f 5a 09 |*/.#defi|ne.PS_Z.|
|0002ca10| 30 78 30 30 30 34 30 09 | 2f 2a 20 7a 65 72 6f 20 |0x00040.|/* zero |
|0002ca20| 66 6c 61 67 20 2a 2f 0a | 23 0c 01 0d 02 00 42 01 |flag */.|#.....B.|
|0002ca30| 02 00 64 65 66 69 6e 65 | 20 50 53 5f 53 09 30 78 |..define| PS_S.0x|
|0002ca40| 30 30 30 38 30 09 2f 2a | 20 73 69 67 6e 20 66 6c |00080./*| sign fl|
|0002ca50| 61 67 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 50 53 |ag */.#d|efine.PS|
|0002ca60| 5f 54 09 30 78 30 30 31 | 30 30 09 2f 2a 20 74 72 |_T.0x001|00./* tr|
|0002ca70| 61 63 65 20 65 6e 61 62 | 6c 65 20 62 69 74 20 2a |ace enab|le bit *|
|0002ca80| 2f 0a 23 64 65 66 69 6e | 65 20 50 53 5f 49 09 30 |/.#defin|e PS_I.0|
|0002ca90| 78 30 30 32 30 30 09 2f | 2a 20 69 6e 74 65 72 72 |x00200./|* interr|
|0002caa0| 75 70 74 20 65 6e 61 62 | 6c 65 20 62 69 74 20 2a |upt enab|le bit *|
|0002cab0| 2f 0a 23 64 65 66 69 6e | 65 20 50 53 5f 44 09 30 |/.#defin|e PS_D.0|
|0002cac0| 78 30 30 34 30 30 09 2f | 2a 20 64 69 72 65 63 74 |x00400./|* direct|
|0002cad0| 69 6f 6e 20 66 6c 61 67 | 20 2a 2f 0a 23 64 65 66 |ion flag| */.#def|
|0002cae0| 69 6e 65 09 50 53 5f 56 | 09 30 78 30 30 38 30 30 |ine.PS_V|.0x00800|
|0002caf0| 09 2f 2a 20 6f 76 65 72 | 66 6c 6f 77 20 66 6c 61 |./* over|flow fla|
|0002cb00| 67 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 50 53 5f |g */.#de|fine PS_|
|0002cb10| 49 4f 50 4c 09 30 78 30 | 33 30 30 30 09 2f 2a 20 |IOPL.0x0|3000./* |
|0002cb20| 69 6f 20 70 72 69 76 20 | 6c 65 76 65 6c 20 2a 2f |io priv |level */|
|0002cb30| 0a 23 64 65 66 69 6e 65 | 20 50 53 5f 4e 54 09 30 |.#define| PS_NT.0|
|0002cb40| 78 30 34 30 30 30 09 2f | 2a 20 6e 65 73 74 65 64 |x04000./|* nested|
|0002cb50| 20 74 61 73 6b 20 66 6c | 61 67 20 2a 2f 0a 23 64 | task fl|ag */.#d|
|0002cb60| 65 66 69 6e 65 20 50 53 | 5f 52 46 09 30 78 31 30 |efine PS|_RF.0x10|
|0002cb70| 30 30 30 09 2f 2a 20 72 | 65 73 75 6d 65 20 66 6c |000./* r|esume fl|
|0002cb80| 61 67 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 50 53 |ag */.#d|efine PS|
|0002cb90| 5f 56 4d 09 30 78 32 30 | 30 30 30 09 2f 2a 20 76 |_VM.0x20|000./* v|
|0002cba0| 69 72 74 75 61 6c 20 38 | 30 38 36 20 6d 6f 64 65 |irtual 8|086 mode|
|0002cbb0| 20 2a 2f 0a 6c 61 67 20 | 2a 2f 0a 23 64 65 66 69 | */.lag |*/.#defi|
|0002cbc0| 6e 65 20 50 53 5f 50 09 | 30 78 30 30 30 30 34 09 |ne PS_P.|0x00004.|
|0002cbd0| 2f 2a 20 70 61 72 69 74 | 79 20 66 6c 61 67 20 2a |/* parit|y flag *|
|0002cbe0| 2f 0a 23 64 65 66 69 6e | 65 20 50 53 5f 41 09 30 |/.#defin|e PS_A.0|
|0002cbf0| 78 30 30 30 31 30 09 2f | 2a 20 61 75 78 20 63 61 |x00010./|* aux ca|
|0002cc00| 72 72 79 20 66 6c 61 67 | 20 2a 2f 0a 23 64 65 66 |rry flag| */.#def|
|0002cc10| 69 6e 65 09 50 53 5f 5a | 09 30 78 30 30 30 34 30 |ine.PS_Z|.0x00040|
|0002cc20| 09 2f 2a 20 7a 65 72 6f | 20 66 6c 61 67 20 2a 2f |./* zero| flag */|
|0002cc30| 0a 23 0c 01 0e 02 00 3f | 5d 00 02 00 18 2e 2f 75 |.#.....?|]...../u|
|0002cc40| 73 72 2f 69 6e 63 6c 75 | 64 65 2f 73 79 73 2f 70 |sr/inclu|de/sys/p|
|0002cc50| 72 6f 66 2e 68 01 26 00 | 00 00 38 20 20 20 34 34 |rof.h.&.|..8 44|
|0002cc60| 34 20 00 20 20 20 20 20 | 30 20 00 20 20 20 20 20 |4 . |0 . |
|0002cc70| 30 20 00 20 20 20 20 20 | 20 20 31 30 31 31 20 20 |0 . | 1011 |
|0002cc80| 34 32 34 34 33 34 30 32 | 31 32 20 20 31 30 33 31 |42443402|12 1031|
|0002cc90| 35 00 20 01 b2 00 00 0c | 01 0f 02 00 41 01 02 00 |5. .....|....A...|
|0002cca0| 0a 2f 2a 0a 20 2a 09 40 | 28 23 29 20 70 72 6f 66 |./*. *.@|(#) prof|
|0002ccb0| 2e 68 20 32 2e 31 20 38 | 38 2f 30 35 2f 31 38 20 |.h 2.1 8|8/05/18 |
|0002ccc0| 0a 20 2a 0a 20 2a 09 43 | 6f 70 79 72 69 67 68 74 |. *. *.C|opyright|
|0002ccd0| 20 28 43 29 20 54 68 65 | 20 53 61 6e 74 61 20 43 | (C) The| Santa C|
|0002cce0| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 31 |ruz Oper|ation, 1|
|0002ccf0| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|0002cd00| 20 31 39 38 37 2e 0a 20 | 2a 09 43 6f 70 79 72 69 | 1987.. |*.Copyri|
|0002cd10| 67 68 74 20 28 43 29 20 | 4d 69 63 72 6f 73 6f 66 |ght (C) |Microsof|
|0002cd20| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 2c 20 31 |t Corpor|ation, 1|
|0002cd30| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|0002cd40| 20 31 39 38 37 2e 0a 20 | 2a 09 54 68 69 73 20 4d | 1987.. |*.This M|
|0002cd50| 6f 64 75 6c 65 20 63 6f | 6e 74 61 69 6e 73 20 50 |odule co|ntains P|
|0002cd60| 72 6f 70 72 69 65 74 61 | 72 79 20 49 6e 66 6f 72 |roprieta|ry Infor|
|0002cd70| 6d 61 74 69 6f 6e 20 6f | 66 0a 20 2a 09 54 68 65 |mation o|f. *.The|
|0002cd80| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|0002cd90| 61 74 69 6f 6e 2c 20 4d | 69 63 72 6f 73 6f 66 74 |ation, M|icrosoft|
|0002cda0| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 0a 20 2a 09 | Corpora|tion. *.|
|0002cdb0| 61 6e 64 20 41 54 26 54 | 2c 20 61 6e 64 20 73 68 |and AT&T|, and sh|
|0002cdc0| 6f 75 6c 64 20 62 65 20 | 74 72 65 61 74 65 64 20 |ould be |treated |
|0002cdd0| 61 73 20 43 6f 6e 66 69 | 64 65 6e 74 69 61 6c 2e |as Confi|dential.|
|0002cde0| 0a 20 2a 2f 0a 0a 23 64 | 65 66 69 6e 65 20 50 52 |. */..#d|efine PR|
|0002cdf0| 46 5f 4f 4e 20 20 20 20 | 31 09 09 2f 2a 20 70 72 |F_ON |1../* pr|
|0002ce00| 6f 66 69 6c 65 72 20 63 | 6f 6c 6c 65 63 74 69 6e |ofiler c|ollectin|
|0002ce10| 67 20 73 61 6d 70 6c 65 | 73 20 2a 2f 0a 23 64 65 |g sample|s */.#de|
|0002ce20| 66 69 6e 65 20 50 52 46 | 5f 56 41 4c 20 20 20 32 |fine PRF|_VAL 2|
|0002ce30| 09 09 2f 2a 20 70 72 6f | 66 69 6c 65 72 20 63 6f |../* pro|filer co|
|0002ce40| 6e 74 61 69 6e 73 20 76 | 61 6c 69 64 20 74 65 78 |ntains v|alid tex|
|0002ce50| 74 20 73 79 6d 62 6f 6c | 73 20 2a 2f 0a 23 64 65 |t symbol|s */.#de|
|0002ce60| 66 69 6e 65 20 50 52 46 | 5f 4d 41 58 5f 46 55 4e |fine PRF|_MAX_FUN|
|0002ce70| 43 53 20 28 32 30 34 38 | 29 09 2f 2a 20 6d 61 78 |CS (2048|)./* max|
|0002ce80| 69 6d 75 6d 20 6e 75 6d | 62 65 72 20 6f 66 20 66 |imum num|ber of f|
|0002ce90| 75 6e 63 74 69 6f 6e 73 | 20 69 6e 20 61 20 6b 65 |unctions| in a ke|
|0002cea0| 0f 0d 00 a9 0d 00 01 02 | 00 a3 01 02 00 72 6e 65 |........|.....rne|
|0002ceb0| 6c 20 2a 2f 0a 0a 23 29 | 20 70 72 6f 66 2e 68 20 |l */..#)| prof.h |
|0002cec0| 32 2e 31 20 38 38 2f 30 | 35 2f 31 38 20 0a 20 2a |2.1 88/0|5/18 . *|
|0002ced0| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|0002cee0| 29 20 54 68 65 20 53 61 | 6e 74 61 20 43 72 75 7a |) The Sa|nta Cruz|
|0002cef0| 20 4f 70 65 72 61 74 69 | 6f 6e 2c 20 31 39 38 34 | Operati|on, 1984|
|0002cf00| 2c 20 31 39 38 35 2c 20 | 31 39 38 36 2c 20 31 39 |, 1985, |1986, 19|
|0002cf10| 38 37 2e 0a 20 2a 09 43 | 6f 70 79 72 69 67 68 74 |87.. *.C|opyright|
|0002cf20| 20 28 43 29 20 4d 69 63 | 72 6f 73 6f 66 74 20 43 | (C) Mic|rosoft C|
|0002cf30| 6f 72 70 6f 72 61 74 69 | 6f 6e 2c 20 31 39 38 34 |orporati|on, 1984|
|0002cf40| 2c 20 31 39 38 35 2c 20 | 31 39 38 36 2c 20 31 39 |, 1985, |1986, 19|
|0002cf50| 38 37 2e 0a 20 2a 09 54 | 68 69 73 20 4d 6f 64 75 |87.. *.T|his Modu|
|0002cf60| 6c 65 20 63 6f 6e 74 61 | 69 6e 73 20 50 72 6f 70 |le conta|ins Prop|
|0002cf70| 72 69 65 74 61 72 79 20 | 49 6e 66 6f 72 6d 61 74 |rietary |Informat|
|0002cf80| 69 6f 6e 20 6f 66 0a 20 | 2a 09 54 68 65 20 53 61 |ion of. |*.The Sa|
|0002cf90| 6e 74 61 20 43 72 75 7a | 20 4f 70 65 72 61 74 69 |nta Cruz| Operati|
|0002cfa0| 6f 6e 2c 20 4d 69 63 72 | 6f 73 6f 66 74 20 43 6f |on, Micr|osoft Co|
|0002cfb0| 72 70 6f 72 61 74 69 6f | 6e 0a 20 2a 09 61 6e 64 |rporatio|n. *.and|
|0002cfc0| 20 41 54 26 54 2c 20 61 | 6e 64 20 73 68 6f 75 6c | AT&T, a|nd shoul|
|0002cfd0| 64 20 62 65 20 74 72 65 | 61 74 65 64 20 61 73 20 |d be tre|ated as |
|0002cfe0| 43 6f 6e 66 69 64 65 6e | 74 69 61 6c 2e 0a 20 2a |Confiden|tial.. *|
|0002cff0| 2f 0a 0a 23 64 65 66 69 | 6e 65 20 50 52 46 5f 4f |/..#defi|ne PRF_O|
|0002d000| 4e 20 20 20 20 31 09 09 | 2f 2a 20 70 72 6f 66 69 |N 1..|/* profi|
|0002d010| 6c 65 72 20 63 6f 6c 6c | 65 63 74 69 6e 67 20 73 |ler coll|ecting s|
|0002d020| 61 6d 70 6c 65 73 20 2a | 2f 0a 23 64 65 66 69 6e |amples *|/.#defin|
|0002d030| 65 20 50 52 46 5f 56 41 | 4c 20 20 20 32 09 09 2f |e PRF_VA|L 2../|
|0002d040| 2a 20 70 72 6f 66 69 6c | 65 72 20 63 6f 6e 74 61 |* profil|er conta|
|0002d050| 69 6e 73 20 76 61 6c 69 | 64 20 74 65 78 74 20 73 |ins vali|d text s|
|0002d060| 79 6d 62 6f 6c 73 20 2a | 2f 0a 23 64 65 66 69 6e |ymbols *|/.#defin|
|0002d070| 65 20 50 52 46 5f 4d 41 | 58 5f 46 55 4e 43 53 20 |e PRF_MA|X_FUNCS |
|0002d080| 28 32 30 34 38 29 09 2f | 2a 20 6d 61 78 69 6d 75 |(2048)./|* maximu|
|0002d090| 6d 20 6e 75 6d 62 65 72 | 20 6f 66 20 66 75 6e 63 |m number| of func|
|0002d0a0| 74 69 6f 6e 73 20 69 6e | 20 61 20 6b 65 0d 00 02 |tions in| a ke...|
|0002d0b0| 02 00 2f 5d 00 02 00 18 | 2e 2f 75 73 72 2f 69 6e |../]....|./usr/in|
|0002d0c0| 63 6c 75 64 65 2f 73 79 | 73 2f 70 72 6f 63 2e 68 |clude/sy|s/proc.h|
|0002d0d0| 01 26 00 00 00 38 20 20 | 20 34 34 34 20 00 20 20 |.&...8 | 444 . |
|0002d0e0| 20 20 20 30 20 00 20 20 | 20 20 20 30 20 00 20 20 | 0 . | 0 . |
|0002d0f0| 20 20 20 20 31 33 30 37 | 33 20 20 34 32 36 36 36 | 1307|3 42666|
|0002d100| 31 34 33 36 33 20 20 31 | 30 33 36 34 00 20 01 b2 |14363 1|0364. ..|
|0002d110| 00 00 0d 00 03 02 00 60 | 01 02 00 2f 2a 0a 20 2a |.......`|.../*. *|
|0002d120| 09 40 28 23 29 20 70 72 | 6f 63 2e 68 20 32 2e 36 |.@(#) pr|oc.h 2.6|
|0002d130| 20 38 38 2f 30 37 2f 31 | 33 20 0a 20 2a 0a 20 2a | 88/07/1|3 . *. *|
|0002d140| 09 43 6f 70 79 72 69 67 | 68 74 20 28 43 29 20 54 |.Copyrig|ht (C) T|
|0002d150| 68 65 20 53 61 6e 74 61 | 20 43 72 75 7a 20 4f 70 |he Santa| Cruz Op|
|0002d160| 65 72 61 74 69 6f 6e 2c | 20 31 39 38 34 2c 20 31 |eration,| 1984, 1|
|0002d170| 39 38 35 2c 20 31 39 38 | 36 2c 20 31 39 38 37 2c |985, 198|6, 1987,|
|0002d180| 20 31 39 38 38 2e 0a 20 | 2a 09 43 6f 70 79 72 69 | 1988.. |*.Copyri|
|0002d190| 67 68 74 20 28 43 29 20 | 4d 69 63 72 6f 73 6f 66 |ght (C) |Microsof|
|0002d1a0| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 2c 20 31 |t Corpor|ation, 1|
|0002d1b0| 39 38 34 2c 20 31 39 38 | 35 2c 20 31 39 38 36 2c |984, 198|5, 1986,|
|0002d1c0| 20 31 39 38 37 2c 20 31 | 39 38 38 2e 0a 20 2a 09 | 1987, 1|988.. *.|
|0002d1d0| 54 68 69 73 20 4d 6f 64 | 75 6c 65 20 63 6f 6e 74 |This Mod|ule cont|
|0002d1e0| 61 69 6e 73 20 50 72 6f | 70 72 69 65 74 61 72 79 |ains Pro|prietary|
|0002d1f0| 20 49 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 6f 66 0a | Informa|tion of.|
|0002d200| 20 2a 09 54 68 65 20 53 | 61 6e 74 61 20 43 72 75 | *.The S|anta Cru|
|0002d210| 7a 20 4f 70 65 72 61 74 | 69 6f 6e 2c 20 4d 69 63 |z Operat|ion, Mic|
|0002d220| 72 6f 73 6f 66 74 20 43 | 6f 72 70 6f 72 61 74 69 |rosoft C|orporati|
|0002d230| 6f 6e 0a 20 2a 09 61 6e | 64 20 41 54 26 54 2c 20 |on. *.an|d AT&T, |
|0002d240| 61 6e 64 20 73 68 6f 75 | 6c 64 20 62 65 20 74 72 |and shou|ld be tr|
|0002d250| 65 61 74 65 64 20 61 73 | 20 43 6f 6e 66 69 64 65 |eated as| Confide|
|0002d260| 6e 74 69 61 6c 2e 0a 20 | 2a 2f 0a 0a 2f 2a 0a 20 |ntial.. |*/../*. |
|0002d270| 2a 20 4f 6e 65 20 73 74 | 72 75 63 74 75 72 65 20 |* One st|ructure |
|0002d280| 61 6c 6c 6f 63 61 74 65 | 64 20 70 65 72 20 61 63 |allocate|d per ac|
|0002d290| 74 69 76 65 20 70 72 6f | 63 65 73 73 2e 20 49 74 |tive pro|cess. It|
|0002d2a0| 20 63 6f 6e 74 61 69 6e | 73 20 61 6c 6c 20 64 61 | contain|s all da|
|0002d2b0| 74 61 20 6e 65 65 64 65 | 64 0a 20 2a 20 61 62 6f |ta neede|d. * abo|
|0002d2c0| 75 74 20 74 68 65 20 70 | 72 6f 63 65 73 73 20 77 |ut the p|rocess w|
|0002d2d0| 68 69 6c 65 20 74 68 65 | 20 70 72 6f 63 65 73 73 |hile the| process|
|0002d2e0| 20 6d 61 79 20 62 65 20 | 73 77 61 70 70 65 64 20 | may be |swapped |
|0002d2f0| 6f 75 74 2e 0a 20 2a 20 | 4f 74 68 65 72 20 70 65 |out.. * |Other pe|
|0002d300| 72 20 70 72 6f 63 65 73 | 73 20 64 61 74 61 20 28 |r proces|s data (|
|0002d310| 75 73 65 72 2e 68 29 20 | 69 73 20 0d 00 04 02 00 |user.h) |is .....|
|0002d320| c4 01 02 00 73 77 61 70 | 70 65 64 20 77 69 74 68 |....swap|ped with|
|0002d330| 20 74 68 65 20 70 72 6f | 63 65 73 73 2e 0a 20 2a | the pro|cess.. *|
|0002d340| 2f 0a 0a 73 74 72 75 63 | 74 20 70 72 6f 63 20 7b |/..struc|t proc {|
|0002d350| 0a 09 63 68 61 72 09 70 | 5f 73 74 61 74 3b 0a 23 |..char.p|_stat;.#|
|0002d360| 69 66 6e 64 65 66 20 4d | 5f 49 33 38 36 0a 09 63 |ifndef M|_I386..c|
|0002d370| 68 61 72 09 70 5f 66 6c | 61 67 3b 0a 23 65 6e 64 |har.p_fl|ag;.#end|
|0002d380| 69 66 0a 09 63 68 61 72 | 09 70 5f 70 72 69 3b 09 |if..char|.p_pri;.|
|0002d390| 09 2f 2a 20 70 72 69 6f | 72 69 74 79 2c 20 6e 65 |./* prio|rity, ne|
|0002d3a0| 67 61 74 69 76 65 20 69 | 73 20 68 69 67 68 20 2a |gative i|s high *|
|0002d3b0| 2f 0a 09 63 68 61 72 09 | 70 5f 74 69 6d 65 3b 09 |/..char.|p_time;.|
|0002d3c0| 09 2f 2a 20 72 65 73 69 | 64 65 6e 74 20 74 69 6d |./* resi|dent tim|
|0002d3d0| 65 20 66 6f 72 20 73 63 | 68 65 64 75 6c 69 6e 67 |e for sc|heduling|
|0002d3e0| 20 2a 2f 0a 09 63 68 61 | 72 09 70 5f 63 70 75 3b | */..cha|r.p_cpu;|
|0002d3f0| 09 09 2f 2a 20 63 70 75 | 20 75 73 61 67 65 20 66 |../* cpu| usage f|
|0002d400| 6f 72 20 73 63 68 65 64 | 75 6c 69 6e 67 20 2a 2f |or sched|uling */|
|0002d410| 0a 09 63 68 61 72 09 70 | 5f 6e 69 63 65 3b 09 09 |..char.p|_nice;..|
|0002d420| 2f 2a 20 6e 69 63 65 20 | 66 6f 72 20 63 70 75 20 |/* nice |for cpu |
|0002d430| 75 73 61 67 65 20 2a 2f | 0a 09 75 73 68 6f 72 74 |usage */|..ushort|
|0002d440| 09 70 5f 75 69 64 3b 09 | 09 2f 2a 20 72 65 61 6c |.p_uid;.|./* real|
|0002d450| 20 75 73 65 72 20 69 64 | 20 2a 2f 0a 09 75 73 68 | user id| */..ush|
|0002d460| 6f 72 74 09 70 5f 73 75 | 69 64 3b 09 09 2f 2a 20 |ort.p_su|id;../* |
|0002d470| 73 65 74 20 28 65 66 66 | 65 63 74 69 76 65 29 20 |set (eff|ective) |
|0002d480| 75 73 65 72 20 69 64 20 | 2a 2f 0a 09 75 73 68 6f |user id |*/..usho|
|0002d490| 72 74 09 70 5f 73 67 69 | 64 3b 09 09 2f 2a 20 73 |rt.p_sgi|d;../* s|
|0002d4a0| 65 74 20 28 65 66 66 65 | 63 74 69 76 65 29 20 67 |et (effe|ctive) g|
|0002d4b0| 72 6f 75 70 20 69 64 20 | 2a 2f 0a 09 73 68 6f 72 |roup id |*/..shor|
|0002d4c0| 74 09 70 5f 70 67 72 70 | 3b 09 09 2f 2a 20 6e 61 |t.p_pgrp|;../* na|
|0002d4d0| 6d 65 20 6f 66 20 70 72 | 6f 63 65 73 73 20 67 72 |me of pr|ocess gr|
|0002d4e0| 6f 75 70 20 6c 65 61 64 | 65 72 20 2a 2f 0a 09 73 |oup lead|er */..s|
|0002d4f0| 68 6f 72 74 09 70 5f 70 | 69 64 3b 09 09 2f 2a 20 |hort.p_p|id;../* |
|0002d500| 75 6e 69 71 75 65 20 70 | 72 6f 63 65 73 73 20 69 |unique p|rocess i|
|0002d510| 64 20 2a 2f 0a 09 73 68 | 6f 72 74 09 70 5f 70 70 |d */..sh|ort.p_pp|
|0002d520| 69 64 3b 09 0d 00 05 02 | 00 20 01 02 00 09 2f 2a |id;.....|. ..../*|
|0002d530| 20 70 72 6f 63 65 73 73 | 20 69 64 20 6f 66 20 70 | process| id of p|
|0002d540| 61 72 65 6e 74 20 2a 2f | 0a 23 69 66 64 65 66 20 |arent */|.#ifdef |
|0002d550| 4d 5f 49 33 38 36 0a 09 | 75 6e 73 69 67 6e 65 64 |M_I386..|unsigned|
|0002d560| 20 69 6e 74 20 70 5f 66 | 6c 61 67 3b 09 0a 23 65 | int p_f|lag;..#e|
|0002d570| 6e 64 69 66 0a 09 6c 6f | 6e 67 09 70 5f 73 69 67 |ndif..lo|ng.p_sig|
|0002d580| 3b 09 09 2f 2a 20 73 69 | 67 6e 61 6c 73 20 70 65 |;../* si|gnals pe|
|0002d590| 6e 64 69 6e 67 20 74 6f | 20 74 68 69 73 20 70 72 |nding to| this pr|
|0002d5a0| 6f 63 65 73 73 20 2a 2f | 0a 23 69 66 64 65 66 20 |ocess */|.#ifdef |
|0002d5b0| 4d 5f 49 33 38 36 0a 09 | 69 6e 74 09 70 5f 68 6f |M_I386..|int.p_ho|
|0002d5c0| 6c 64 3b 09 09 2f 2a 20 | 68 6f 6c 64 20 73 69 67 |ld;../* |hold sig|
|0002d5d0| 6e 61 6c 20 62 69 74 20 | 6d 61 73 6b 20 2a 2f 0a |nal bit |mask */.|
|0002d5e0| 09 69 6e 74 09 70 5f 63 | 68 6f 6c 64 3b 09 2f 2a |.int.p_c|hold;./*|
|0002d5f0| 20 64 65 66 65 72 20 73 | 69 67 6e 61 6c 20 62 69 | defer s|ignal bi|
|0002d600| 74 20 6d 61 73 6b 20 2a | 2f 0a 09 09 09 09 2f 2a |t mask *|/...../*|
|0002d610| 20 73 69 67 73 65 74 20 | 74 75 72 6e 73 20 6f 6e | sigset |turns on|
|0002d620| 20 74 68 69 73 20 62 69 | 74 20 2a 2f 0a 09 09 09 | this bi|t */....|
|0002d630| 09 2f 2a 20 73 69 67 6e | 61 6c 20 64 6f 65 73 20 |./* sign|al does |
|0002d640| 6e 6f 74 20 74 75 72 6e | 20 6f 6e 20 74 68 69 73 |not turn| on this|
|0002d650| 20 62 69 74 20 2a 2f 0a | 09 73 74 72 75 63 74 20 | bit */.|.struct |
|0002d660| 74 61 62 65 6e 74 20 70 | 5f 61 64 64 72 5b 4d 41 |tabent p|_addr[MA|
|0002d670| 58 55 53 49 5a 45 5d 3b | 20 2f 2a 20 70 61 67 65 |XUSIZE];| /* page|
|0002d680| 20 74 61 62 6c 65 20 65 | 6e 74 72 69 65 73 20 66 | table e|ntries f|
|0002d690| 6f 72 20 75 2d 61 72 65 | 61 20 2a 2f 0a 09 69 6e |or u-are|a */..in|
|0002d6a0| 74 20 70 5f 77 73 69 7a | 65 3b 09 09 2f 2a 20 77 |t p_wsiz|e;../* w|
|0002d6b0| 6f 72 6b 69 6e 67 20 73 | 65 74 20 73 69 7a 65 20 |orking s|et size |
|0002d6c0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 70 5f 75 61 64 |*/.#defi|ne.p_uad|
|0002d6d0| 64 72 09 70 5f 61 64 64 | 72 09 09 2f 2a 20 75 73 |dr.p_add|r../* us|
|0002d6e0| 65 64 20 62 79 20 72 65 | 73 75 6d 65 20 2a 2f 0a |ed by re|sume */.|
|0002d6f0| 23 65 6c 73 65 0a 09 75 | 6e 69 6f 6e 20 7b 0a 09 |#else..u|nion {..|
|0002d700| 09 75 6e 73 69 67 6e 65 | 64 20 73 68 6f 72 74 20 |.unsigne|d short |
|0002d710| 70 5f 64 61 64 64 72 3b | 09 2f 2a 20 62 6c 6f 63 |p_daddr;|./* bloc|
|0002d720| 6b 20 6e 75 6d 62 65 72 | 20 6f 66 20 75 0d 00 06 |k number| of u...|
|0002d730| 02 00 8c 01 02 00 20 6f | 6e 20 73 77 61 70 20 2a |...... o|n swap *|
|0002d740| 2f 0a 09 09 6d 6c 6f 63 | 5f 74 09 70 5f 63 61 64 |/...mloc|_t.p_cad|
|0002d750| 64 72 3b 09 2f 2a 20 6c | 6f 63 61 74 69 6f 6e 20 |dr;./* l|ocation |
|0002d760| 6f 66 20 70 5f 75 73 69 | 7a 65 20 72 65 67 69 6f |of p_usi|ze regio|
|0002d770| 6e 20 69 6e 20 63 6f 72 | 65 20 2a 2f 0a 09 7d 20 |n in cor|e */..} |
|0002d780| 70 5f 61 64 64 72 3b 0a | 23 64 65 66 69 6e 65 09 |p_addr;.|#define.|
|0002d790| 70 5f 75 61 64 64 72 09 | 70 5f 61 64 64 72 2e 70 |p_uaddr.|p_addr.p|
|0002d7a0| 5f 63 61 64 64 72 09 2f | 2a 20 75 73 65 64 20 62 |_caddr./|* used b|
|0002d7b0| 79 20 72 65 73 75 6d 65 | 20 2a 2f 0a 23 65 6e 64 |y resume| */.#end|
|0002d7c0| 69 66 0a 09 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |if..unsi|gned sho|
|0002d7d0| 72 74 20 70 5f 66 63 73 | 65 6c 3b 20 20 2f 2a 20 |rt p_fcs|el; /* |
|0002d7e0| 66 69 72 73 74 20 63 6f | 64 65 20 73 65 6c 65 63 |first co|de selec|
|0002d7f0| 74 6f 72 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |tor */..|unsigned|
|0002d800| 20 73 68 6f 72 74 20 70 | 5f 66 64 73 65 6c 3b 20 | short p|_fdsel; |
|0002d810| 20 2f 2a 20 66 69 72 73 | 74 20 64 61 74 61 20 73 | /* firs|t data s|
|0002d820| 65 6c 65 63 74 6f 72 20 | 2a 2f 0a 09 75 6e 73 69 |elector |*/..unsi|
|0002d830| 67 6e 65 64 20 73 68 6f | 72 74 20 70 5f 6c 64 73 |gned sho|rt p_lds|
|0002d840| 65 6c 3b 20 20 2f 2a 20 | 6c 61 73 74 20 64 61 74 |el; /* |last dat|
|0002d850| 61 20 73 65 6c 65 63 74 | 6f 72 20 2a 2f 0a 09 73 |a select|or */..s|
|0002d860| 68 6f 72 74 09 70 5f 74 | 73 69 7a 65 3b 09 20 2f |hort.p_t|size;. /|
|0002d870| 2a 20 73 69 7a 65 20 6f | 66 20 74 65 78 74 20 28 |* size o|f text (|
|0002d880| 75 73 65 64 20 62 79 20 | 65 78 65 63 2f 73 77 61 |used by |exec/swa|
|0002d890| 70 69 6e 29 20 2a 2f 0a | 09 73 68 6f 72 74 09 70 |pin) */.|.short.p|
|0002d8a0| 5f 73 73 69 7a 65 3b 09 | 20 2f 2a 20 73 69 7a 65 |_ssize;.| /* size|
|0002d8b0| 20 6f 66 20 73 74 61 63 | 6b 20 28 75 73 65 64 20 | of stac|k (used |
|0002d8c0| 62 79 20 65 78 65 63 2f | 73 77 61 70 69 6e 29 20 |by exec/|swapin) |
|0002d8d0| 2a 2f 0a 09 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |*/..unsi|gned sho|
|0002d8e0| 72 74 20 70 5f 6c 73 69 | 7a 65 3b 20 20 2f 2a 20 |rt p_lsi|ze; /* |
|0002d8f0| 73 69 7a 65 20 69 6e 20 | 62 79 74 65 73 20 6f 66 |size in |bytes of|
|0002d900| 20 74 68 65 20 6c 64 74 | 3a 20 32 38 36 20 6f 6e | the ldt|: 286 on|
|0002d910| 6c 79 20 2a 2f 0a 09 6d | 73 69 7a 65 5f 74 09 70 |ly */..m|size_t.p|
|0002d920| 5f 75 73 69 7a 65 3b 09 | 20 2f 2a 20 73 69 7a 65 |_usize;.| /* size|
|0002d930| 20 6f 66 20 75 20 0d 00 | 07 02 00 10 01 02 00 2b | of u ..|.......+|
|0002d940| 20 6c 64 74 73 20 2b 20 | 6c 64 74 69 6e 66 6f 20 | ldts + |ldtinfo |
|0002d950| 73 65 67 3a 20 32 38 36 | 20 6f 6e 6c 79 20 2a 2f |seg: 286| only */|
|0002d960| 0a 23 69 66 64 65 66 20 | 4d 5f 49 33 38 36 0a 09 |.#ifdef |M_I386..|
|0002d970| 69 6e 6f 64 65 70 5f 74 | 20 70 5f 69 70 74 72 3b |inodep_t| p_iptr;|
|0002d980| 09 2f 2a 20 70 6f 69 6e | 74 65 72 20 74 6f 20 69 |./* poin|ter to i|
|0002d990| 6e 6f 64 65 20 6f 66 20 | 70 72 6f 74 6f 74 79 70 |node of |prototyp|
|0002d9a0| 65 20 2a 2f 0a 23 65 6c | 73 65 0a 09 73 74 72 75 |e */.#el|se..stru|
|0002d9b0| 63 74 20 74 65 78 74 20 | 2a 70 5f 74 65 78 74 70 |ct text |*p_textp|
|0002d9c0| 3b 09 2f 2a 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |;./* poi|nter to |
|0002d9d0| 74 65 78 74 20 73 74 72 | 75 63 74 75 72 65 20 2a |text str|ucture *|
|0002d9e0| 2f 0a 23 65 6e 64 69 66 | 0a 09 73 74 72 75 63 74 |/.#endif|..struct|
|0002d9f0| 20 70 72 6f 63 20 2a 70 | 5f 6c 69 6e 6b 3b 09 2f | proc *p|_link;./|
|0002da00| 2a 20 6c 69 6e 6b 65 64 | 20 6c 69 73 74 20 6f 66 |* linked| list of|
|0002da10| 20 72 75 6e 6e 69 6e 67 | 20 70 72 6f 63 65 73 73 | running| process|
|0002da20| 65 73 20 2a 2f 0a 09 75 | 6e 69 6f 6e 20 7b 0a 09 |es */..u|nion {..|
|0002da30| 09 63 61 64 64 72 5f 74 | 09 70 5f 63 61 64 3b 0a |.caddr_t|.p_cad;.|
|0002da40| 09 09 69 6e 74 09 70 5f | 69 6e 74 3b 0a 09 7d 20 |..int.p_|int;..} |
|0002da50| 70 5f 75 6e 77 3b 0a 23 | 64 65 66 69 6e 65 09 70 |p_unw;.#|define.p|
|0002da60| 5f 77 63 68 61 6e 09 70 | 5f 75 6e 77 2e 70 5f 63 |_wchan.p|_unw.p_c|
|0002da70| 61 64 0a 23 64 65 66 69 | 6e 65 09 70 5f 61 72 67 |ad.#defi|ne.p_arg|
|0002da80| 09 70 5f 75 6e 77 2e 70 | 5f 69 6e 74 0a 09 69 6e |.p_unw.p|_int..in|
|0002da90| 74 09 70 5f 63 6c 6b 74 | 69 6d 3b 09 2f 2a 20 74 |t.p_clkt|im;./* t|
|0002daa0| 69 6d 65 20 74 6f 20 61 | 6c 61 72 6d 20 63 6c 6f |ime to a|larm clo|
|0002dab0| 63 6b 20 73 69 67 6e 61 | 6c 20 2a 2f 0a 09 73 74 |ck signa|l */..st|
|0002dac0| 72 75 63 74 20 73 64 20 | 2a 70 5f 73 64 70 3b 09 |ruct sd |*p_sdp;.|
|0002dad0| 20 2f 2a 20 70 6f 69 6e | 74 65 72 20 74 6f 20 6c | /* poin|ter to l|
|0002dae0| 69 73 74 20 6f 66 20 73 | 68 61 72 65 64 20 64 61 |ist of s|hared da|
|0002daf0| 74 61 20 73 65 67 6d 65 | 6e 74 73 20 2a 2f 0a 23 |ta segme|nts */.#|
|0002db00| 69 66 64 65 66 20 4d 5f | 49 33 38 36 0a 09 63 61 |ifdef M_|I386..ca|
|0002db10| 64 64 72 5f 74 20 70 5f | 73 6d 62 65 67 3b 09 20 |ddr_t p_|smbeg;. |
|0002db20| 2f 2a 20 73 74 61 72 74 | 20 6f 66 20 73 68 61 72 |/* start| of shar|
|0002db30| 65 64 20 64 61 74 61 20 | 2a 2f 0a 09 63 61 64 0d |ed data |*/..cad.|
|0002db40| 00 08 02 00 7e 01 02 00 | 64 72 5f 74 20 70 5f 73 |....~...|dr_t p_s|
|0002db50| 6d 65 6e 64 3b 09 20 2f | 2a 20 6c 61 73 74 20 62 |mend;. /|* last b|
|0002db60| 79 74 65 20 6f 66 20 73 | 68 61 72 65 64 20 64 61 |yte of s|hared da|
|0002db70| 74 61 20 2a 2f 0a 23 69 | 66 64 65 66 20 56 50 49 |ta */.#i|fdef VPI|
|0002db80| 58 0a 09 73 74 72 75 63 | 74 20 20 76 38 36 64 61 |X..struc|t v86da|
|0002db90| 74 20 2a 70 5f 76 38 36 | 3b 09 2f 2a 20 70 6f 69 |t *p_v86|;./* poi|
|0002dba0| 6e 74 65 72 20 74 6f 20 | 76 38 36 20 73 74 72 75 |nter to |v86 stru|
|0002dbb0| 63 74 75 72 65 20 2a 2f | 0a 23 65 6c 73 65 0a 09 |cture */|.#else..|
|0002dbc0| 63 61 64 64 72 5f 74 20 | 70 5f 76 38 36 3b 09 09 |caddr_t |p_v86;..|
|0002dbd0| 2f 2a 20 70 6f 69 6e 74 | 65 72 20 74 6f 20 76 38 |/* point|er to v8|
|0002dbe0| 36 20 73 74 72 75 63 74 | 75 72 65 20 2a 2f 0a 23 |6 struct|ure */.#|
|0002dbf0| 65 6e 64 69 66 0a 09 69 | 6e 74 20 70 5f 64 75 6d |endif..i|nt p_dum|
|0002dc00| 6d 79 30 3b 09 09 2f 2a | 20 20 72 65 73 65 72 76 |my0;../*| reserv|
|0002dc10| 65 64 20 30 20 2a 2f 0a | 09 69 6e 74 20 70 5f 64 |ed 0 */.|.int p_d|
|0002dc20| 75 6d 6d 79 31 3b 09 09 | 2f 2a 20 20 72 65 73 65 |ummy1;..|/* rese|
|0002dc30| 72 76 65 64 20 31 20 2a | 2f 0a 09 69 6e 74 20 70 |rved 1 *|/..int p|
|0002dc40| 5f 64 75 6d 6d 79 32 3b | 09 09 2f 2a 20 20 72 65 |_dummy2;|../* re|
|0002dc50| 73 65 72 76 65 64 20 32 | 20 2a 2f 0a 23 65 6e 64 |served 2| */.#end|
|0002dc60| 69 66 0a 7d 3b 0a 0a 65 | 78 74 65 72 6e 20 73 74 |if.};..e|xtern st|
|0002dc70| 72 75 63 74 20 70 72 6f | 63 20 70 72 6f 63 5b 5d |ruct pro|c proc[]|
|0002dc80| 3b 09 2f 2a 20 74 68 65 | 20 70 72 6f 63 20 74 61 |;./* the| proc ta|
|0002dc90| 62 6c 65 20 69 74 73 65 | 6c 66 20 2a 2f 0a 0a 23 |ble itse|lf */..#|
|0002dca0| 69 66 64 65 66 20 4d 5f | 49 38 30 38 36 0a 23 64 |ifdef M_|I8086.#d|
|0002dcb0| 65 66 69 6e 65 20 70 5f | 73 69 7a 65 20 09 09 70 |efine p_|size ..p|
|0002dcc0| 5f 75 73 69 7a 65 20 20 | 20 09 2f 2a 20 72 65 2d |_usize | ./* re-|
|0002dcd0| 75 73 65 20 66 69 65 6c | 64 20 66 6f 72 20 6f 74 |use fiel|d for ot|
|0002dce0| 68 65 72 20 70 75 72 70 | 6f 73 65 20 2a 2f 0a 23 |her purp|ose */.#|
|0002dcf0| 64 65 66 69 6e 65 20 70 | 5f 63 66 6c 61 67 73 20 |define p|_cflags |
|0002dd00| 09 70 5f 6c 73 69 7a 65 | 0a 23 65 6e 64 69 66 0a |.p_lsize|.#endif.|
|0002dd10| 0a 2f 2a 20 73 74 61 74 | 20 63 6f 64 65 73 20 2a |./* stat| codes *|
|0002dd20| 2f 0a 23 64 65 66 69 6e | 65 09 53 53 4c 45 45 50 |/.#defin|e.SSLEEP|
|0002dd30| 09 31 09 09 2f 2a 20 61 | 77 61 69 74 69 6e 67 20 |.1../* a|waiting |
|0002dd40| 61 6e 20 65 76 65 6e 74 | 0d 00 09 02 00 3e 01 02 |an event|.....>..|
|0002dd50| 00 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 53 57 41 |. */.#de|fine.SWA|
|0002dd60| 49 54 09 32 09 09 2f 2a | 20 28 61 62 61 6e 64 6f |IT.2../*| (abando|
|0002dd70| 6e 65 64 20 73 74 61 74 | 65 29 20 2a 2f 0a 23 64 |ned stat|e) */.#d|
|0002dd80| 65 66 69 6e 65 09 53 52 | 55 4e 09 33 09 09 2f 2a |efine.SR|UN.3../*|
|0002dd90| 20 72 75 6e 6e 69 6e 67 | 20 2a 2f 0a 23 64 65 66 | running| */.#def|
|0002dda0| 69 6e 65 09 53 49 44 4c | 09 34 09 09 2f 2a 20 69 |ine.SIDL|.4../* i|
|0002ddb0| 6e 74 65 72 6d 65 64 69 | 61 74 65 20 73 74 61 74 |ntermedi|ate stat|
|0002ddc0| 65 20 69 6e 20 70 72 6f | 63 65 73 73 20 63 72 65 |e in pro|cess cre|
|0002ddd0| 61 74 69 6f 6e 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ation */|.#define|
|0002dde0| 09 53 5a 4f 4d 42 09 35 | 09 09 2f 2a 20 69 6e 74 |.SZOMB.5|../* int|
|0002ddf0| 65 72 6d 65 64 69 61 74 | 65 20 73 74 61 74 65 20 |ermediat|e state |
|0002de00| 69 6e 20 70 72 6f 63 65 | 73 73 20 74 65 72 6d 69 |in proce|ss termi|
|0002de10| 6e 61 74 69 6f 6e 20 2a | 2f 0a 23 64 65 66 69 6e |nation *|/.#defin|
|0002de20| 65 09 53 53 54 4f 50 09 | 36 09 09 2f 2a 20 70 72 |e.SSTOP.|6../* pr|
|0002de30| 6f 63 65 73 73 20 62 65 | 69 6e 67 20 74 72 61 63 |ocess be|ing trac|
|0002de40| 65 64 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 53 58 |ed */.#d|efine.SX|
|0002de50| 42 52 4b 09 37 09 09 2f | 2a 20 70 72 6f 63 65 73 |BRK.7../|* proces|
|0002de60| 73 20 62 65 69 6e 67 20 | 78 73 77 61 70 70 65 64 |s being |xswapped|
|0002de70| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 09 53 58 53 54 | */.#def|ine.SXST|
|0002de80| 4b 09 38 09 09 2f 2a 20 | 70 72 6f 63 65 73 73 20 |K.8../* |process |
|0002de90| 62 65 69 6e 67 20 78 73 | 77 61 70 70 65 64 20 2a |being xs|wapped *|
|0002dea0| 2f 0a 23 64 65 66 69 6e | 65 09 53 58 54 58 54 09 |/.#defin|e.SXTXT.|
|0002deb0| 39 09 09 2f 2a 20 70 72 | 6f 63 65 73 73 20 62 65 |9../* pr|ocess be|
|0002dec0| 69 6e 67 20 78 73 77 61 | 70 70 65 64 20 2a 2f 0a |ing xswa|pped */.|
|0002ded0| 0a 2f 2a 20 66 6c 61 67 | 20 63 6f 64 65 73 20 2a |./* flag| codes *|
|0002dee0| 2f 0a 23 64 65 66 69 6e | 65 09 53 4c 4f 41 44 09 |/.#defin|e.SLOAD.|
|0002def0| 30 31 09 09 2f 2a 20 69 | 6e 20 63 6f 72 65 20 2a |01../* i|n core *|
|0002df00| 2f 0a 23 64 65 66 69 6e | 65 09 53 53 59 53 09 30 |/.#defin|e.SSYS.0|
|0002df10| 32 09 09 2f 2a 20 73 63 | 68 65 64 75 6c 69 6e 67 |2../* sc|heduling|
|0002df20| 20 70 72 6f 63 65 73 73 | 20 2a 2f 0a 23 64 65 66 | process| */.#def|
|0002df30| 69 6e 65 09 53 4c 4f 43 | 4b 09 30 34 09 09 2f 2a |ine.SLOC|K.04../*|
|0002df40| 20 70 72 6f 63 65 73 73 | 20 63 61 6e 6e 6f 74 20 | process| cannot |
|0002df50| 62 0d 00 0a 02 00 1d 01 | 02 00 65 20 73 77 61 70 |b.......|..e swap|
|0002df60| 70 65 64 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 53 |ped */.#|define.S|
|0002df70| 53 57 41 50 09 30 31 30 | 09 09 2f 2a 20 70 72 6f |SWAP.010|../* pro|
|0002df80| 63 65 73 73 20 69 73 20 | 62 65 69 6e 67 20 73 77 |cess is |being sw|
|0002df90| 61 70 70 65 64 20 6f 75 | 74 20 2a 2f 0a 23 64 65 |apped ou|t */.#de|
|0002dfa0| 66 69 6e 65 09 53 54 52 | 43 09 30 32 30 09 09 2f |fine.STR|C.020../|
|0002dfb0| 2a 20 70 72 6f 63 65 73 | 73 20 69 73 20 62 65 69 |* proces|s is bei|
|0002dfc0| 6e 67 20 74 72 61 63 65 | 64 20 2a 2f 0a 23 64 65 |ng trace|d */.#de|
|0002dfd0| 66 69 6e 65 09 53 57 54 | 45 44 09 30 34 30 09 09 |fine.SWT|ED.040..|
|0002dfe0| 2f 2a 20 61 6e 6f 74 68 | 65 72 20 74 72 61 63 69 |/* anoth|er traci|
|0002dff0| 6e 67 20 66 6c 61 67 20 | 2a 2f 0a 23 64 65 66 69 |ng flag |*/.#defi|
|0002e000| 6e 65 09 53 54 45 58 54 | 09 30 31 30 30 09 09 2f |ne.STEXT|.0100../|
|0002e010| 2a 20 74 65 78 74 20 70 | 6f 69 6e 74 65 72 20 76 |* text p|ointer v|
|0002e020| 61 6c 69 64 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |alid */.|#define.|
|0002e030| 53 53 43 41 4e 09 30 32 | 30 30 09 09 2f 2a 20 70 |SSCAN.02|00../* p|
|0002e040| 72 6f 63 65 73 73 20 68 | 61 73 20 62 65 65 6e 20 |rocess h|as been |
|0002e050| 73 63 61 6e 6e 65 64 20 | 73 69 6e 63 65 20 6c 61 |scanned |since la|
|0002e060| 73 74 20 73 77 61 70 69 | 6e 20 2a 2f 0a 0a 23 69 |st swapi|n */..#i|
|0002e070| 66 64 65 66 20 4d 5f 49 | 33 38 36 0a 23 64 65 66 |fdef M_I|386.#def|
|0002e080| 69 6e 65 09 53 50 4f 4c | 4c 09 20 20 20 20 30 34 |ine.SPOL|L. 04|
|0002e090| 30 30 09 2f 2a 20 70 72 | 6f 63 65 73 73 20 69 6e |00./* pr|ocess in|
|0002e0a0| 20 73 74 72 65 61 6d 20 | 70 6f 6c 6c 20 2a 2f 0a | stream |poll */.|
|0002e0b0| 23 64 65 66 69 6e 65 20 | 53 53 45 4c 09 20 20 20 |#define |SSEL. |
|0002e0c0| 53 50 4f 4c 4c 09 2f 2a | 20 6f 72 20 64 6f 69 6e |SPOLL./*| or doin|
|0002e0d0| 67 20 73 65 6c 65 63 74 | 28 29 20 28 73 65 65 20 |g select|() (see |
|0002e0e0| 53 50 4f 4c 4c 29 20 2a | 2f 0a 23 64 65 66 69 6e |SPOLL) *|/.#defin|
|0002e0f0| 65 20 53 4e 57 41 4b 45 | 09 20 20 30 30 31 30 30 |e SNWAKE|. 00100|
|0002e100| 30 09 2f 2a 20 50 72 6f | 63 65 73 73 20 63 61 6e |0./* Pro|cess can|
|0002e110| 6e 6f 74 20 77 61 6b 65 | 75 70 20 62 79 20 61 20 |not wake|up by a |
|0002e120| 73 69 67 6e 61 6c 20 2a | 2f 0a 23 64 65 66 69 6e |signal *|/.#defin|
|0002e130| 65 20 53 52 45 51 4c 4b | 20 20 20 30 78 31 30 30 |e SREQLK| 0x100|
|0002e140| 30 30 09 2f 2a 20 70 72 | 6f 63 65 73 73 20 72 65 |00./* pr|ocess re|
|0002e150| 71 75 65 73 74 73 20 69 | 74 20 0d 00 0b 02 00 60 |quests i|t .....`|
|0002e160| 01 02 00 6e 6f 74 20 62 | 65 20 73 77 61 70 70 65 |...not b|e swappe|
|0002e170| 64 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 53 48 41 |d */.#de|fine SHA|
|0002e180| 44 32 53 57 50 20 30 78 | 32 30 30 30 30 09 2f 2a |D2SWP 0x|20000./*|
|0002e190| 20 70 72 6f 63 65 73 73 | 20 73 77 61 70 70 65 64 | process| swapped|
|0002e1a0| 20 61 6e 79 77 61 79 2c | 20 64 65 73 70 69 74 65 | anyway,| despite|
|0002e1b0| 20 72 65 71 75 65 73 74 | 20 2a 2f 0a 23 64 65 66 | request| */.#def|
|0002e1c0| 69 6e 65 20 53 50 41 52 | 54 4f 55 54 20 30 78 34 |ine SPAR|TOUT 0x4|
|0002e1d0| 30 30 30 30 09 2f 2a 20 | 74 72 69 65 64 20 74 6f |0000./* |tried to|
|0002e1e0| 20 73 77 61 70 20 6f 75 | 74 2c 20 62 75 74 20 68 | swap ou|t, but h|
|0002e1f0| 61 64 20 6c 6f 63 6b 65 | 64 20 70 61 67 65 20 2a |ad locke|d page *|
|0002e200| 2f 0a 23 65 6e 64 69 66 | 0a 0a 2f 2a 20 63 6f 6e |/.#endif|../* con|
|0002e210| 74 69 67 75 69 74 79 20 | 66 6c 61 67 73 20 2a 2f |tiguity |flags */|
|0002e220| 0a 23 64 65 66 69 6e 65 | 09 53 43 53 54 41 43 4b |.#define|.SCSTACK|
|0002e230| 09 30 31 0a 23 64 65 66 | 69 6e 65 09 53 43 44 41 |.01.#def|ine.SCDA|
|0002e240| 54 41 09 30 32 0a 23 64 | 65 66 69 6e 65 20 53 43 |TA.02.#d|efine SC|
|0002e250| 57 41 4e 54 09 30 34 0a | 23 64 65 66 69 6e 65 20 |WANT.04.|#define |
|0002e260| 53 43 4c 44 41 54 41 20 | 30 31 30 0a 23 64 65 66 |SCLDATA |010.#def|
|0002e270| 69 6e 65 20 53 43 4c 54 | 45 58 54 20 30 32 30 0a |ine SCLT|EXT 020.|
|0002e280| 0a 2f 2a 0a 20 2a 20 70 | 61 72 61 6c 6c 65 6c 20 |./*. * p|arallel |
|0002e290| 70 72 6f 63 20 73 74 72 | 75 63 74 75 72 65 0a 20 |proc str|ucture. |
|0002e2a0| 2a 20 74 6f 20 72 65 70 | 6c 61 63 65 20 70 61 72 |* to rep|lace par|
|0002e2b0| 74 20 77 69 74 68 20 74 | 69 6d 65 73 0a 20 2a 20 |t with t|imes. * |
|0002e2c0| 74 6f 20 62 65 20 70 61 | 73 73 65 64 20 74 6f 20 |to be pa|ssed to |
|0002e2d0| 70 61 72 65 6e 74 20 70 | 72 6f 63 65 73 73 0a 20 |parent p|rocess. |
|0002e2e0| 2a 20 69 6e 20 5a 4f 4d | 42 49 45 20 73 74 61 74 |* in ZOM|BIE stat|
|0002e2f0| 65 2e 0a 20 2a 2f 0a 0a | 73 74 72 75 63 74 09 78 |e.. */..|struct.x|
|0002e300| 70 72 6f 63 20 7b 0a 09 | 63 68 61 72 09 78 70 5f |proc {..|char.xp_|
|0002e310| 73 74 61 74 3b 0a 23 69 | 66 6e 64 65 66 20 4d 5f |stat;.#i|fndef M_|
|0002e320| 49 33 38 36 0a 09 63 68 | 61 72 09 78 70 5f 66 6c |I386..ch|ar.xp_fl|
|0002e330| 61 67 3b 0a 23 65 6e 64 | 69 66 0a 09 63 68 61 72 |ag;.#end|if..char|
|0002e340| 09 78 70 5f 70 72 69 3b | 09 09 2f 2a 20 70 72 69 |.xp_pri;|../* pri|
|0002e350| 6f 72 69 74 79 2c 20 6e | 65 67 61 74 69 76 65 20 |ority, n|egative |
|0002e360| 69 73 20 0d 00 0c 02 00 | 8c 01 02 00 68 69 67 68 |is .....|....high|
|0002e370| 20 2a 2f 0a 09 63 68 61 | 72 09 78 70 5f 74 69 6d | */..cha|r.xp_tim|
|0002e380| 65 3b 09 2f 2a 20 72 65 | 73 69 64 65 6e 74 20 74 |e;./* re|sident t|
|0002e390| 69 6d 65 20 66 6f 72 20 | 73 63 68 65 64 75 6c 69 |ime for |scheduli|
|0002e3a0| 6e 67 20 2a 2f 0a 09 63 | 68 61 72 09 78 70 5f 63 |ng */..c|har.xp_c|
|0002e3b0| 70 75 3b 09 09 2f 2a 20 | 63 70 75 20 75 73 61 67 |pu;../* |cpu usag|
|0002e3c0| 65 20 66 6f 72 20 73 63 | 68 65 64 75 6c 69 6e 67 |e for sc|heduling|
|0002e3d0| 20 2a 2f 0a 09 63 68 61 | 72 09 78 70 5f 6e 69 63 | */..cha|r.xp_nic|
|0002e3e0| 65 3b 09 2f 2a 20 6e 69 | 63 65 20 66 6f 72 20 63 |e;./* ni|ce for c|
|0002e3f0| 70 75 20 75 73 61 67 65 | 20 2a 2f 0a 09 75 73 68 |pu usage| */..ush|
|0002e400| 6f 72 74 09 78 70 5f 75 | 69 64 3b 09 09 2f 2a 20 |ort.xp_u|id;../* |
|0002e410| 72 65 61 6c 20 75 73 65 | 72 20 69 64 20 2a 2f 0a |real use|r id */.|
|0002e420| 09 75 73 68 6f 72 74 09 | 78 70 5f 73 75 69 64 3b |.ushort.|xp_suid;|
|0002e430| 09 2f 2a 20 73 65 74 20 | 28 65 66 66 65 63 74 69 |./* set |(effecti|
|0002e440| 76 65 29 20 75 73 65 72 | 20 69 64 20 2a 2f 0a 09 |ve) user| id */..|
|0002e450| 75 73 68 6f 72 74 09 78 | 70 5f 73 67 69 64 3b 09 |ushort.x|p_sgid;.|
|0002e460| 2f 2a 20 73 65 74 20 28 | 65 66 66 65 63 74 69 76 |/* set (|effectiv|
|0002e470| 65 29 20 67 72 6f 75 70 | 20 69 64 20 2a 2f 0a 09 |e) group| id */..|
|0002e480| 73 68 6f 72 74 09 78 70 | 5f 70 67 72 70 3b 09 2f |short.xp|_pgrp;./|
|0002e490| 2a 20 6e 61 6d 65 20 6f | 66 20 70 72 6f 63 65 73 |* name o|f proces|
|0002e4a0| 73 20 67 72 6f 75 70 20 | 6c 65 61 64 65 72 20 2a |s group |leader *|
|0002e4b0| 2f 0a 09 73 68 6f 72 74 | 09 78 70 5f 70 69 64 3b |/..short|.xp_pid;|
|0002e4c0| 09 09 2f 2a 20 75 6e 69 | 71 75 65 20 70 72 6f 63 |../* uni|que proc|
|0002e4d0| 65 73 73 20 69 64 20 2a | 2f 0a 09 73 68 6f 72 74 |ess id *|/..short|
|0002e4e0| 09 78 70 5f 70 70 69 64 | 3b 09 2f 2a 20 70 72 6f |.xp_ppid|;./* pro|
|0002e4f0| 63 65 73 73 20 69 64 20 | 6f 66 20 70 61 72 65 6e |cess id |of paren|
|0002e500| 74 20 2a 2f 0a 23 69 66 | 64 65 66 20 4d 5f 49 33 |t */.#if|def M_I3|
|0002e510| 38 36 0a 09 75 6e 73 69 | 67 6e 65 64 20 69 6e 74 |86..unsi|gned int|
|0002e520| 20 78 70 5f 66 6c 61 67 | 3b 09 0a 23 65 6e 64 69 | xp_flag|;..#endi|
|0002e530| 66 0a 09 6c 6f 6e 67 09 | 78 70 5f 73 69 67 3b 09 |f..long.|xp_sig;.|
|0002e540| 09 2f 2a 20 73 69 67 6e | 61 6c 73 20 70 65 6e 64 |./* sign|als pend|
|0002e550| 69 6e 67 20 74 6f 20 74 | 68 69 73 20 70 72 6f 63 |ing to t|his proc|
|0002e560| 65 73 73 20 2a 2f 0a 23 | 69 66 64 65 0d 00 0d 02 |ess */.#|ifde....|
|0002e570| 00 74 01 02 00 66 20 4d | 5f 49 33 38 36 0a 09 69 |.t...f M|_I386..i|
|0002e580| 6e 74 09 78 70 5f 68 6f | 6c 64 3b 09 2f 2a 20 68 |nt.xp_ho|ld;./* h|
|0002e590| 6f 6c 64 20 73 69 67 6e | 61 6c 20 62 69 74 20 6d |old sign|al bit m|
|0002e5a0| 61 73 6b 20 2a 2f 0a 09 | 69 6e 74 09 78 70 5f 63 |ask */..|int.xp_c|
|0002e5b0| 68 6f 6c 64 3b 09 2f 2a | 20 64 65 66 65 72 20 73 |hold;./*| defer s|
|0002e5c0| 69 67 6e 61 6c 20 62 69 | 74 20 6d 61 73 6b 20 2a |ignal bi|t mask *|
|0002e5d0| 2f 0a 09 09 09 09 2f 2a | 20 73 69 67 73 65 74 20 |/...../*| sigset |
|0002e5e0| 74 75 72 6e 73 20 6f 6e | 20 74 68 69 73 20 62 69 |turns on| this bi|
|0002e5f0| 74 20 2a 2f 0a 09 09 09 | 09 2f 2a 20 73 69 67 6e |t */....|./* sign|
|0002e600| 61 6c 20 64 6f 65 73 20 | 6e 6f 74 20 74 75 72 6e |al does |not turn|
|0002e610| 20 6f 6e 20 74 68 69 73 | 20 62 69 74 20 2a 2f 0a | on this| bit */.|
|0002e620| 09 73 74 72 75 63 74 20 | 74 61 62 65 6e 74 20 78 |.struct |tabent x|
|0002e630| 70 5f 61 64 64 72 5b 4d | 41 58 55 53 49 5a 45 5d |p_addr[M|AXUSIZE]|
|0002e640| 3b 20 2f 2a 20 70 61 67 | 65 20 74 61 62 6c 65 20 |; /* pag|e table |
|0002e650| 65 6e 74 72 69 65 73 20 | 66 6f 72 20 75 2d 61 72 |entries |for u-ar|
|0002e660| 65 61 20 2a 2f 0a 09 69 | 6e 74 20 78 70 5f 77 73 |ea */..i|nt xp_ws|
|0002e670| 69 7a 65 3b 09 09 2f 2a | 20 77 6f 72 6b 69 6e 67 |ize;../*| working|
|0002e680| 20 73 65 74 20 73 69 7a | 65 20 2a 2f 0a 23 65 6c | set siz|e */.#el|
|0002e690| 73 65 0a 09 75 6e 69 6f | 6e 20 7b 0a 09 09 75 6e |se..unio|n {...un|
|0002e6a0| 73 69 67 6e 65 64 20 73 | 68 6f 72 74 20 78 70 5f |signed s|hort xp_|
|0002e6b0| 64 61 64 64 72 3b 2f 2a | 20 62 6c 6f 63 6b 20 6e |daddr;/*| block n|
|0002e6c0| 75 6d 62 65 72 20 6f 66 | 20 75 20 6f 6e 20 73 77 |umber of| u on sw|
|0002e6d0| 61 70 20 2a 2f 0a 09 09 | 6d 6c 6f 63 5f 74 09 78 |ap */...|mloc_t.x|
|0002e6e0| 70 5f 63 61 64 64 72 3b | 2f 2a 20 6c 6f 63 61 74 |p_caddr;|/* locat|
|0002e6f0| 69 6f 6e 20 6f 66 20 70 | 5f 75 73 69 7a 65 20 72 |ion of p|_usize r|
|0002e700| 65 67 69 6f 6e 20 69 6e | 20 63 6f 72 65 20 2a 2f |egion in| core */|
|0002e710| 0a 09 7d 20 78 70 5f 61 | 64 64 72 3b 0a 23 65 6e |..} xp_a|ddr;.#en|
|0002e720| 64 69 66 0a 09 73 68 6f | 72 74 09 78 70 5f 78 73 |dif..sho|rt.xp_xs|
|0002e730| 74 61 74 3b 09 2f 2a 20 | 45 78 69 74 20 73 74 61 |tat;./* |Exit sta|
|0002e740| 74 75 73 20 66 6f 72 20 | 77 61 69 74 20 2a 2f 0a |tus for |wait */.|
|0002e750| 09 74 69 6d 65 5f 74 09 | 78 70 5f 75 74 69 6d 65 |.time_t.|xp_utime|
|0002e760| 3b 09 2f 2a 20 75 73 65 | 72 20 74 69 6d 65 2c 20 |;./* use|r time, |
|0002e770| 74 68 69 73 20 0d 00 0e | 02 00 5e 01 02 00 70 72 |this ...|..^...pr|
|0002e780| 6f 63 20 2a 2f 0a 09 74 | 69 6d 65 5f 74 09 78 70 |oc */..t|ime_t.xp|
|0002e790| 5f 73 74 69 6d 65 3b 09 | 2f 2a 20 73 79 73 74 65 |_stime;.|/* syste|
|0002e7a0| 6d 20 74 69 6d 65 2c 20 | 74 68 69 73 20 70 72 6f |m time, |this pro|
|0002e7b0| 63 20 2a 2f 0a 7d 3b 0a | 0a 68 6f 6c 64 3b 09 2f |c */.};.|.hold;./|
|0002e7c0| 2a 20 64 65 66 65 72 20 | 73 69 67 6e 61 6c 20 62 |* defer |signal b|
|0002e7d0| 69 74 20 6d 61 73 6b 20 | 2a 2f 0a 09 09 09 09 2f |it mask |*/...../|
|0002e7e0| 2a 20 73 69 67 73 65 74 | 20 74 75 72 6e 73 20 6f |* sigset| turns o|
|0002e7f0| 6e 20 74 68 69 73 20 62 | 69 74 20 2a 2f 0a 09 09 |n this b|it */...|
|0002e800| 09 09 2f 2a 20 73 69 67 | 6e 61 6c 20 64 6f 65 73 |../* sig|nal does|
|0002e810| 20 6e 6f 74 20 74 75 72 | 6e 20 6f 6e 20 74 68 69 | not tur|n on thi|
|0002e820| 73 20 62 69 74 20 2a 2f | 0a 09 73 74 72 75 63 74 |s bit */|..struct|
|0002e830| 20 74 61 62 65 6e 74 20 | 78 70 5f 61 64 64 72 5b | tabent |xp_addr[|
|0002e840| 4d 41 58 55 53 49 5a 45 | 5d 3b 20 2f 2a 20 70 61 |MAXUSIZE|]; /* pa|
|0002e850| 67 65 20 74 61 62 6c 65 | 20 65 6e 74 72 69 65 73 |ge table| entries|
|0002e860| 20 66 6f 72 20 75 2d 61 | 72 65 61 20 2a 2f 0a 09 | for u-a|rea */..|
|0002e870| 69 6e 74 20 78 70 5f 77 | 73 69 7a 65 3b 09 09 2f |int xp_w|size;../|
|0002e880| 2a 20 77 6f 72 6b 69 6e | 67 20 73 65 74 20 73 69 |* workin|g set si|
|0002e890| 7a 65 20 2a 2f 0a 23 65 | 6c 73 65 0a 09 75 6e 69 |ze */.#e|lse..uni|
|0002e8a0| 6f 6e 20 7b 0a 09 09 75 | 6e 73 69 67 6e 65 64 20 |on {...u|nsigned |
|0002e8b0| 73 68 6f 72 74 20 78 70 | 5f 64 61 64 64 72 3b 2f |short xp|_daddr;/|
|0002e8c0| 2a 20 62 6c 6f 63 6b 20 | 6e 75 6d 62 65 72 20 6f |* block |number o|
|0002e8d0| 66 20 75 20 6f 6e 20 73 | 77 61 70 20 2a 2f 0a 09 |f u on s|wap */..|
|0002e8e0| 09 6d 6c 6f 63 5f 74 09 | 78 70 5f 63 61 64 64 72 |.mloc_t.|xp_caddr|
|0002e8f0| 3b 2f 2a 20 6c 6f 63 61 | 74 69 6f 6e 20 6f 66 20 |;/* loca|tion of |
|0002e900| 70 5f 75 73 69 7a 65 20 | 72 65 67 69 6f 6e 20 69 |p_usize |region i|
|0002e910| 6e 20 63 6f 72 65 20 2a | 2f 0a 09 7d 20 78 70 5f |n core *|/..} xp_|
|0002e920| 61 64 64 72 3b 0a 23 65 | 6e 64 69 66 0a 09 73 68 |addr;.#e|ndif..sh|
|0002e930| 6f 72 74 09 78 70 5f 78 | 73 74 61 74 3b 09 2f 2a |ort.xp_x|stat;./*|
|0002e940| 20 45 78 69 74 20 73 74 | 61 74 75 73 20 66 6f 72 | Exit st|atus for|
|0002e950| 20 77 61 69 74 20 2a 2f | 0a 09 74 69 6d 65 5f 74 | wait */|..time_t|
|0002e960| 09 78 70 5f 75 74 69 6d | 65 3b 09 2f 2a 20 75 73 |.xp_utim|e;./* us|
|0002e970| 65 72 20 74 69 6d 65 2c | 20 74 68 69 73 20 0d 00 |er time,| this ..|
|0002e980| 0f 02 00 08 5f 00 02 00 | 19 2e 2f 75 73 72 2f 69 |...._...|../usr/i|
|0002e990| 6e 63 6c 75 64 65 2f 73 | 79 73 2f 70 61 72 61 6d |nclude/s|ys/param|
|0002e9a0| 2e 68 01 25 00 00 00 39 | 00 20 20 20 34 34 34 20 |.h.%...9|. 444 |
|0002e9b0| 00 20 20 20 20 20 30 20 | 00 20 20 20 20 20 30 20 |. 0 |. 0 |
|0002e9c0| 00 20 20 20 20 20 20 32 | 33 35 34 33 20 20 34 32 |. 2|3543 42|
|0002e9d0| 34 34 33 34 30 31 35 32 | 20 20 31 30 35 31 30 00 |44340152| 10510.|
|0002e9e0| 20 01 b2 00 00 0f 0d 01 | 3e 0d 01 01 02 00 c1 01 | .......|>.......|
|0002e9f0| 02 00 2f 2a 0a 20 2a 09 | 40 28 23 29 20 70 61 72 |../*. *.|@(#) par|
|0002ea00| 61 6d 2e 68 20 32 2e 33 | 20 38 38 2f 30 35 2f 31 |am.h 2.3| 88/05/1|
|0002ea10| 38 20 0a 20 2a 0a 20 2a | 09 43 6f 70 79 72 69 67 |8 . *. *|.Copyrig|
|0002ea20| 68 74 20 28 43 29 20 54 | 68 65 20 53 61 6e 74 61 |ht (C) T|he Santa|
|0002ea30| 20 43 72 75 7a 20 4f 70 | 65 72 61 74 69 6f 6e 2c | Cruz Op|eration,|
|0002ea40| 20 31 39 38 34 2c 20 31 | 39 38 35 2c 20 31 39 38 | 1984, 1|985, 198|
|0002ea50| 36 2c 20 31 39 38 37 2c | 20 31 39 38 38 2e 0a 20 |6, 1987,| 1988.. |
|0002ea60| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 28 43 29 20 |*.Copyri|ght (C) |
|0002ea70| 4d 69 63 72 6f 73 6f 66 | 74 20 43 6f 72 70 6f 72 |Microsof|t Corpor|
|0002ea80| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|0002ea90| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2c 20 31 |5, 1986,| 1987, 1|
|0002eaa0| 39 38 38 2e 0a 20 2a 09 | 54 68 69 73 20 4d 6f 64 |988.. *.|This Mod|
|0002eab0| 75 6c 65 20 63 6f 6e 74 | 61 69 6e 73 20 50 72 6f |ule cont|ains Pro|
|0002eac0| 70 72 69 65 74 61 72 79 | 20 49 6e 66 6f 72 6d 61 |prietary| Informa|
|0002ead0| 74 69 6f 6e 20 6f 66 0a | 20 2a 09 54 68 65 20 53 |tion of.| *.The S|
|0002eae0| 61 6e 74 61 20 43 72 75 | 7a 20 4f 70 65 72 61 74 |anta Cru|z Operat|
|0002eaf0| 69 6f 6e 2c 20 4d 69 63 | 72 6f 73 6f 66 74 20 43 |ion, Mic|rosoft C|
|0002eb00| 6f 72 70 6f 72 61 74 69 | 6f 6e 0a 20 2a 09 61 6e |orporati|on. *.an|
|0002eb10| 64 20 41 54 26 54 2c 20 | 61 6e 64 20 73 68 6f 75 |d AT&T, |and shou|
|0002eb20| 6c 64 20 62 65 20 74 72 | 65 61 74 65 64 20 61 73 |ld be tr|eated as|
|0002eb30| 20 43 6f 6e 66 69 64 65 | 6e 74 69 61 6c 2e 0a 20 | Confide|ntial.. |
|0002eb40| 2a 2f 0a 0a 2f 2a 0a 20 | 2a 20 54 48 49 53 20 46 |*/../*. |* THIS F|
|0002eb50| 49 4c 45 20 43 4f 4e 54 | 41 49 4e 53 20 43 4f 44 |ILE CONT|AINS COD|
|0002eb60| 45 20 57 48 49 43 48 20 | 49 53 20 53 50 45 43 49 |E WHICH |IS SPECI|
|0002eb70| 46 49 43 20 54 4f 20 54 | 48 45 0a 20 2a 20 49 4e |FIC TO T|HE. * IN|
|0002eb80| 54 45 4c 20 38 30 32 38 | 36 20 43 50 55 20 41 4e |TEL 8028|6 CPU AN|
|0002eb90| 44 20 4d 41 59 20 52 45 | 51 55 49 52 45 20 4d 4f |D MAY RE|QUIRE MO|
|0002eba0| 44 49 46 49 43 41 54 49 | 4f 4e 0a 20 2a 20 57 48 |DIFICATI|ON. * WH|
|0002ebb0| 45 4e 20 41 44 41 50 54 | 49 4e 47 20 58 45 4e 49 |EN ADAPT|ING XENI|
|0002ebc0| 58 20 54 4f 20 4e 45 57 | 20 48 41 52 44 57 41 52 |X TO NEW| HARDWAR|
|0002ebd0| 45 2e 0a 20 2a 2f 0a 0a | 2f 2a 0a 20 2a 20 41 64 |E.. */..|/*. * Ad|
|0002ebe0| 6a 75 73 74 61 62 6c 65 | 20 70 61 72 61 6d 65 74 |justable| paramet|
|0002ebf0| 65 72 0d 01 02 02 00 f9 | 01 02 00 73 0a 20 2a 2f |er......|...s. */|
|0002ec00| 0a 23 69 66 64 65 66 20 | 4d 5f 49 38 30 38 36 0a |.#ifdef |M_I8086.|
|0002ec10| 23 64 65 66 69 6e 65 09 | 48 5a 09 32 30 09 09 2f |#define.|HZ.20../|
|0002ec20| 2a 20 54 69 63 6b 73 2f | 73 65 63 6f 6e 64 20 6f |* Ticks/|second o|
|0002ec30| 66 20 74 68 65 20 63 6c | 6f 63 6b 20 2a 2f 0a 23 |f the cl|ock */.#|
|0002ec40| 64 65 66 69 6e 65 09 53 | 53 49 5a 45 09 31 30 32 |define.S|SIZE.102|
|0002ec50| 34 09 09 2f 2a 20 69 6e | 69 74 69 61 6c 20 73 74 |4../* in|itial st|
|0002ec60| 61 63 6b 20 73 69 7a 65 | 20 28 62 79 74 65 73 29 |ack size| (bytes)|
|0002ec70| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4b 53 53 49 | */.#def|ine KSSI|
|0002ec80| 5a 45 09 31 30 32 34 09 | 09 2f 2a 20 73 69 7a 65 |ZE.1024.|./* size|
|0002ec90| 20 6f 66 20 70 65 72 20 | 70 72 6f 63 65 73 73 20 | of per |process |
|0002eca0| 6b 65 72 6e 65 6c 20 73 | 74 61 63 6b 20 2a 2f 0a |kernel s|tack */.|
|0002ecb0| 23 65 6e 64 69 66 0a 0a | 23 69 66 64 65 66 20 4d |#endif..|#ifdef M|
|0002ecc0| 5f 49 32 38 36 0a 23 64 | 65 66 69 6e 65 09 48 5a |_I286.#d|efine.HZ|
|0002ecd0| 09 35 30 09 09 2f 2a 20 | 54 69 63 6b 73 2f 73 65 |.50../* |Ticks/se|
|0002ece0| 63 6f 6e 64 20 6f 66 20 | 74 68 65 20 63 6c 6f 63 |cond of |the cloc|
|0002ecf0| 6b 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 53 53 49 |k */.#de|fine.SSI|
|0002ed00| 5a 45 09 34 30 39 36 09 | 09 2f 2a 20 69 6e 69 74 |ZE.4096.|./* init|
|0002ed10| 69 61 6c 20 73 74 61 63 | 6b 20 73 69 7a 65 20 28 |ial stac|k size (|
|0002ed20| 62 79 74 65 73 29 20 2a | 2f 0a 23 64 65 66 69 6e |bytes) *|/.#defin|
|0002ed30| 65 20 4b 53 53 49 5a 45 | 09 31 30 32 34 09 09 2f |e KSSIZE|.1024../|
|0002ed40| 2a 20 73 69 7a 65 20 6f | 66 20 70 65 72 20 70 72 |* size o|f per pr|
|0002ed50| 6f 63 65 73 73 20 6b 65 | 72 6e 65 6c 20 73 74 61 |ocess ke|rnel sta|
|0002ed60| 63 6b 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 4f 46 |ck */.#d|efine OF|
|0002ed70| 46 55 53 52 50 47 20 30 | 09 09 2f 2a 20 61 64 64 |FUSRPG 0|../* add|
|0002ed80| 72 65 73 73 20 6f 66 20 | 55 20 70 61 67 65 20 28 |ress of |U page (|
|0002ed90| 66 6f 72 20 66 70 73 75 | 70 2e 73 29 20 2a 2f 0a |for fpsu|p.s) */.|
|0002eda0| 23 65 6e 64 69 66 0a 0a | 23 69 66 64 65 66 20 4d |#endif..|#ifdef M|
|0002edb0| 5f 49 33 38 36 0a 23 64 | 65 66 69 6e 65 09 48 5a |_I386.#d|efine.HZ|
|0002edc0| 09 35 30 09 09 2f 2a 20 | 54 69 63 6b 73 2f 73 65 |.50../* |Ticks/se|
|0002edd0| 63 6f 6e 64 20 6f 66 20 | 74 68 65 20 63 6c 6f 63 |cond of |the cloc|
|0002ede0| 6b 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 53 53 49 |k */.#de|fine.SSI|
|0002edf0| 5a 45 09 34 30 39 36 09 | 09 2f 2a 0d 01 03 02 00 |ZE.4096.|./*.....|
|0002ee00| b2 01 02 00 20 69 6e 69 | 74 69 61 6c 20 73 74 61 |.... ini|tial sta|
|0002ee10| 63 6b 20 73 69 7a 65 20 | 28 62 79 74 65 73 29 20 |ck size |(bytes) |
|0002ee20| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4b 53 53 49 5a |*/.#defi|ne KSSIZ|
|0002ee30| 45 09 32 30 34 38 09 09 | 2f 2a 20 73 69 7a 65 20 |E.2048..|/* size |
|0002ee40| 6f 66 20 70 65 72 20 70 | 72 6f 63 65 73 73 20 6b |of per p|rocess k|
|0002ee50| 65 72 6e 65 6c 20 73 74 | 61 63 6b 20 2a 2f 0a 0a |ernel st|ack */..|
|0002ee60| 23 64 65 66 69 6e 65 09 | 55 53 49 5a 45 09 28 75 |#define.|USIZE.(u|
|0002ee70| 2e 75 5f 70 72 6f 63 70 | 2d 3e 70 5f 75 73 69 7a |.u_procp|->p_usiz|
|0002ee80| 65 29 09 09 0a 09 09 09 | 09 2f 2a 20 73 69 7a 65 |e)......|./* size|
|0002ee90| 20 6f 66 20 75 73 65 72 | 20 62 6c 6f 63 6b 20 28 | of user| block (|
|0002eea0| 70 61 67 65 73 29 20 2a | 2f 0a 23 64 65 66 69 6e |pages) *|/.#defin|
|0002eeb0| 65 09 4d 41 58 55 53 49 | 5a 45 09 31 37 09 2f 2a |e.MAXUSI|ZE.17./*|
|0002eec0| 20 6d 61 78 69 6d 75 6d | 20 73 69 7a 65 20 6f 66 | maximum| size of|
|0002eed0| 20 75 73 65 72 20 62 6c | 6f 63 6b 20 28 2a 34 6b | user bl|ock (*4k|
|0002eee0| 20 62 79 74 65 73 29 20 | 2a 2f 0a 20 09 09 09 09 | bytes) |*/. ....|
|0002eef0| 2f 2a 20 6d 69 6e 20 73 | 69 7a 65 20 6f 66 20 75 |/* min s|ize of u|
|0002ef00| 73 65 72 20 62 6c 6f 63 | 6b 20 28 2a 34 6b 20 62 |ser bloc|k (*4k b|
|0002ef10| 79 74 65 73 29 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ytes) */|.#define|
|0002ef20| 20 4d 49 4e 55 53 49 5a | 45 20 62 74 6f 63 28 73 | MINUSIZ|E btoc(s|
|0002ef30| 69 7a 65 6f 66 28 73 74 | 72 75 63 74 20 75 73 65 |izeof(st|ruct use|
|0002ef40| 72 29 29 0a 0a 23 64 65 | 66 69 6e 65 20 4b 45 52 |r))..#de|fine KER|
|0002ef50| 4e 54 42 41 53 45 09 34 | 30 09 2f 2a 20 70 61 67 |NTBASE.4|0./* pag|
|0002ef60| 65 20 64 69 72 65 63 74 | 6f 72 79 20 69 6e 64 65 |e direct|ory inde|
|0002ef70| 78 20 66 6f 72 20 6b 65 | 72 6e 65 6c 20 74 65 78 |x for ke|rnel tex|
|0002ef80| 74 20 2d 0a 09 09 09 09 | 20 20 20 74 68 69 73 20 |t -.....| this |
|0002ef90| 69 73 20 74 68 65 6e 20 | 6d 6f 76 65 64 20 74 6f |is then |moved to|
|0002efa0| 20 4b 45 52 4e 42 41 53 | 45 20 2b 20 4b 45 52 4e | KERNBAS|E + KERN|
|0002efb0| 54 42 41 53 45 20 2a 2f | 0a 0a 23 64 65 66 69 6e |TBASE */|..#defin|
|0002efc0| 65 20 4b 45 52 4e 54 41 | 44 44 52 09 28 63 74 6f |e KERNTA|DDR.(cto|
|0002efd0| 62 28 28 4b 45 52 4e 54 | 42 41 53 45 29 2a 4e 45 |b((KERNT|BASE)*NE|
|0002efe0| 50 54 29 29 20 0a 09 09 | 09 09 2f 2a 20 6b 65 72 |PT)) ...|../* ker|
|0002eff0| 6e 65 6c 20 74 65 78 74 | 20 62 61 73 65 20 6c 69 |nel text| base li|
|0002f000| 6e 65 61 72 0d 01 04 02 | 00 e8 01 02 00 20 61 64 |near....|..... ad|
|0002f010| 64 72 65 73 73 20 2a 2f | 0a 0a 23 64 65 66 69 6e |dress */|..#defin|
|0002f020| 65 20 4b 45 52 4e 42 41 | 53 45 09 39 35 30 09 2f |e KERNBA|SE.950./|
|0002f030| 2a 20 70 61 67 65 20 64 | 69 72 65 63 74 6f 72 79 |* page d|irectory|
|0002f040| 20 69 6e 64 65 78 20 77 | 68 65 72 65 20 6b 65 72 | index w|here ker|
|0002f050| 6e 65 6c 20 72 65 73 69 | 64 65 73 20 2a 2f 0a 23 |nel resi|des */.#|
|0002f060| 64 65 66 69 6e 65 20 4b | 45 52 4e 41 44 44 52 09 |define K|ERNADDR.|
|0002f070| 28 63 74 6f 62 28 28 4b | 45 52 4e 42 41 53 45 29 |(ctob((K|ERNBASE)|
|0002f080| 2a 4e 45 50 54 29 29 20 | 2f 2a 20 6b 65 72 6e 65 |*NEPT)) |/* kerne|
|0002f090| 6c 20 62 61 73 65 20 6c | 69 6e 65 61 72 20 61 64 |l base l|inear ad|
|0002f0a0| 64 72 65 73 73 20 2a 2f | 0a 0a 23 64 65 66 69 6e |dress */|..#defin|
|0002f0b0| 65 20 53 50 54 4f 46 46 | 53 09 09 32 34 09 2f 2a |e SPTOFF|S..24./*|
|0002f0c0| 20 70 61 67 65 20 64 69 | 72 65 63 74 6f 72 79 20 | page di|rectory |
|0002f0d0| 6f 66 66 73 65 74 20 6f | 66 20 0a 09 09 09 09 20 |offset o|f ..... |
|0002f0e0| 20 20 73 70 74 6d 61 70 | 20 66 72 6f 6d 20 62 61 | sptmap| from ba|
|0002f0f0| 73 65 20 6f 66 20 6b 65 | 72 6e 65 6c 20 2a 2f 0a |se of ke|rnel */.|
|0002f100| 23 64 65 66 69 6e 65 20 | 53 50 54 41 44 44 52 09 |#define |SPTADDR.|
|0002f110| 09 28 63 74 6f 62 28 28 | 53 50 54 4f 46 46 53 29 |.(ctob((|SPTOFFS)|
|0002f120| 2a 4e 45 50 54 29 29 20 | 2f 2a 20 6b 65 72 6e 65 |*NEPT)) |/* kerne|
|0002f130| 6c 20 64 61 74 61 20 61 | 64 64 72 65 73 73 20 6f |l data a|ddress o|
|0002f140| 66 20 0a 09 09 09 09 09 | 09 20 20 20 73 70 74 6d |f ......|. sptm|
|0002f150| 61 70 70 65 64 20 61 64 | 64 72 65 73 73 20 73 70 |apped ad|dress sp|
|0002f160| 61 63 65 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 53 |ace */.#|define S|
|0002f170| 50 54 42 41 53 45 09 09 | 28 4b 45 52 4e 42 41 53 |PTBASE..|(KERNBAS|
|0002f180| 45 2b 53 50 54 4f 46 46 | 53 29 20 2f 2a 20 70 61 |E+SPTOFF|S) /* pa|
|0002f190| 67 65 20 64 69 72 65 63 | 74 6f 72 79 20 69 6e 64 |ge direc|tory ind|
|0002f1a0| 65 78 20 66 6f 72 20 0a | 09 09 09 09 09 73 70 74 |ex for .|.....spt|
|0002f1b0| 6d 61 70 70 65 64 20 61 | 64 64 72 65 73 73 20 73 |mapped a|ddress s|
|0002f1c0| 70 61 63 65 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |pace */.|#define |
|0002f1d0| 54 45 58 54 42 41 53 45 | 09 36 30 30 09 2f 2a 20 |TEXTBASE|.600./* |
|0002f1e0| 70 61 67 65 20 64 69 72 | 65 63 74 6f 72 79 20 69 |page dir|ectory i|
|0002f1f0| 6e 64 65 78 20 66 6f 72 | 20 66 69 72 73 74 20 74 |ndex for| first t|
|0002f200| 65 78 74 20 70 74 20 2a | 2f 0a 23 64 65 0d 01 05 |ext pt *|/.#de...|
|0002f210| 02 00 f0 01 02 00 66 69 | 6e 65 20 44 41 54 41 42 |......fi|ne DATAB|
|0002f220| 41 53 45 09 30 09 2f 2a | 20 70 61 67 65 20 64 69 |ASE.0./*| page di|
|0002f230| 72 65 63 74 6f 72 79 20 | 69 6e 64 65 78 20 66 6f |rectory |index fo|
|0002f240| 72 20 66 69 72 73 74 20 | 64 61 74 61 20 70 74 20 |r first |data pt |
|0002f250| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 53 48 4d 42 41 |*/.#defi|ne SHMBA|
|0002f260| 53 45 09 09 34 30 30 09 | 2f 2a 20 70 61 67 65 20 |SE..400.|/* page |
|0002f270| 64 69 72 65 63 74 6f 72 | 79 20 69 6e 64 65 78 20 |director|y index |
|0002f280| 66 6f 72 20 66 69 72 73 | 74 20 73 68 64 61 74 61 |for firs|t shdata|
|0002f290| 20 70 74 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 50 | pt */.#|define P|
|0002f2a0| 48 59 53 42 41 53 45 09 | 35 30 30 09 2f 2a 20 70 |HYSBASE.|500./* p|
|0002f2b0| 64 69 20 66 6f 72 20 70 | 68 79 73 6d 65 6d 20 6d |di for p|hysmem m|
|0002f2c0| 61 70 70 65 64 20 69 6e | 74 6f 20 75 73 65 72 20 |apped in|to user |
|0002f2d0| 73 70 61 63 65 20 2a 2f | 0a 23 64 65 66 69 6e 65 |space */|.#define|
|0002f2e0| 20 53 48 4c 42 42 41 53 | 45 09 36 34 30 09 2f 2a | SHLBBAS|E.640./*|
|0002f2f0| 20 70 64 69 20 66 6f 72 | 20 73 68 61 72 65 64 20 | pdi for| shared |
|0002f300| 6c 69 62 72 61 72 79 20 | 74 65 78 74 20 2a 2f 0a |library |text */.|
|0002f310| 23 64 65 66 69 6e 65 20 | 57 45 49 54 42 41 53 45 |#define |WEITBASE|
|0002f320| 09 31 30 32 33 09 2f 2a | 20 70 64 69 20 66 6f 72 |.1023./*| pdi for|
|0002f330| 20 6d 65 6d 2d 6d 61 70 | 70 65 64 20 77 65 69 74 | mem-map|ped weit|
|0002f340| 65 6b 20 63 6f 70 72 6f | 63 65 73 73 6f 72 20 2a |ek copro|cessor *|
|0002f350| 2f 0a 0a 0a 0a 23 64 65 | 66 69 6e 65 20 54 58 54 |/....#de|fine TXT|
|0002f360| 50 44 45 4e 54 09 31 30 | 09 2f 2a 20 6e 75 6d 62 |PDENT.10|./* numb|
|0002f370| 65 72 20 6f 66 20 74 65 | 78 74 20 70 61 67 65 20 |er of te|xt page |
|0002f380| 64 69 72 65 63 74 6f 72 | 79 20 65 6e 74 72 69 65 |director|y entrie|
|0002f390| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 44 41 54 |s */.#de|fine DAT|
|0002f3a0| 41 50 44 45 4e 54 09 31 | 30 30 09 2f 2a 20 6e 75 |APDENT.1|00./* nu|
|0002f3b0| 6d 62 65 72 20 6f 66 20 | 64 61 74 61 20 70 61 67 |mber of |data pag|
|0002f3c0| 65 20 64 69 72 65 63 74 | 6f 72 79 20 65 6e 74 72 |e direct|ory entr|
|0002f3d0| 69 65 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 53 |ies */.#|define S|
|0002f3e0| 48 4d 50 44 45 4e 54 09 | 32 35 09 2f 2a 20 6e 75 |HMPDENT.|25./* nu|
|0002f3f0| 6d 62 65 72 20 6f 66 20 | 73 68 61 72 65 64 20 64 |mber of |shared d|
|0002f400| 61 74 61 20 70 61 67 65 | 20 64 69 72 20 65 6e 74 |ata page| dir ent|
|0002f410| 72 69 65 73 20 2a 0d 01 | 06 02 00 70 01 02 00 2f |ries *..|...p.../|
|0002f420| 0a 23 64 65 66 69 6e 65 | 20 50 48 59 53 50 44 45 |.#define| PHYSPDE|
|0002f430| 4e 54 09 31 09 2f 2a 20 | 6e 75 6d 62 65 72 20 6f |NT.1./* |number o|
|0002f440| 66 20 70 68 79 73 6d 65 | 6d 20 70 61 67 65 20 64 |f physme|m page d|
|0002f450| 69 72 20 65 6e 74 72 69 | 65 73 20 2a 2f 0a 23 64 |ir entri|es */.#d|
|0002f460| 65 66 69 6e 65 20 53 48 | 4c 42 50 44 45 4e 54 09 |efine SH|LBPDENT.|
|0002f470| 31 32 38 09 2f 2a 20 22 | 20 66 6f 72 20 73 68 61 |128./* "| for sha|
|0002f480| 72 65 64 20 6c 69 62 72 | 61 72 69 65 73 2c 20 74 |red libr|aries, t|
|0002f490| 68 65 73 65 20 61 72 65 | 20 73 70 61 72 73 65 20 |hese are| sparse |
|0002f4a0| 2a 2f 20 0a 23 64 65 66 | 69 6e 65 20 57 45 49 54 |*/ .#def|ine WEIT|
|0002f4b0| 44 45 4e 54 09 31 09 2f | 2a 20 22 20 66 6f 72 20 |DENT.1./|* " for |
|0002f4c0| 77 65 69 74 65 6b 20 63 | 6f 70 72 6f 63 65 73 73 |weitek c|oprocess|
|0002f4d0| 6f 72 20 2a 2f 20 0a 0a | 23 64 65 66 69 6e 65 20 |or */ ..|#define |
|0002f4e0| 57 45 49 54 45 4b 5f 53 | 54 41 52 54 09 30 78 46 |WEITEK_S|TART.0xF|
|0002f4f0| 46 43 30 30 30 30 30 0a | 23 64 65 66 69 6e 65 20 |FC00000.|#define |
|0002f500| 57 45 49 54 45 4b 5f 45 | 4e 44 09 30 78 46 46 43 |WEITEK_E|ND.0xFFC|
|0002f510| 30 38 30 30 30 0a 0a 23 | 64 65 66 69 6e 65 20 54 |08000..#|define T|
|0002f520| 41 55 09 28 48 5a 2f 34 | 29 09 09 2f 2a 20 77 6f |AU.(HZ/4|)../* wo|
|0002f530| 72 6b 69 6e 67 20 73 65 | 74 20 73 63 61 6e 6e 69 |rking se|t scanni|
|0002f540| 6e 67 20 70 65 72 69 6f | 64 20 2a 2f 0a 09 09 09 |ng perio|d */....|
|0002f550| 09 2f 2a 20 36 34 4b 2f | 50 47 53 49 5a 45 20 3d |./* 64K/|PGSIZE =|
|0002f560| 20 6e 75 6d 20 34 4b 20 | 70 61 67 65 73 20 70 65 | num 4K |pages pe|
|0002f570| 72 20 32 38 36 20 73 65 | 67 20 2a 2f 0a 23 64 65 |r 286 se|g */.#de|
|0002f580| 66 69 6e 65 20 4e 33 38 | 36 50 41 47 45 50 53 20 |fine N38|6PAGEPS |
|0002f590| 28 30 78 31 30 30 30 30 | 2f 50 47 53 49 5a 45 29 |(0x10000|/PGSIZE)|
|0002f5a0| 0a 23 65 6e 64 69 66 0a | 0a 23 64 65 66 69 6e 65 |.#endif.|.#define|
|0002f5b0| 09 53 49 4e 43 52 09 31 | 30 32 34 09 09 2f 2a 20 |.SINCR.1|024../* |
|0002f5c0| 69 6e 63 72 65 6d 65 6e | 74 20 6f 66 20 73 74 61 |incremen|t of sta|
|0002f5d0| 63 6b 20 28 62 79 74 65 | 73 29 20 28 6e 6f 74 20 |ck (byte|s) (not |
|0002f5e0| 75 73 65 64 29 2a 2f 0a | 23 64 65 66 69 6e 65 09 |used)*/.|#define.|
|0002f5f0| 4e 4f 46 49 4c 45 09 36 | 30 09 09 2f 2a 20 6d 61 |NOFILE.6|0../* ma|
|0002f600| 78 20 6f 70 65 6e 20 66 | 69 6c 65 73 20 70 65 72 |x open f|iles per|
|0002f610| 20 70 72 6f 63 65 73 73 | 20 2a 2f 0a 23 64 65 0d | process| */.#de.|
|0002f620| 01 07 02 00 b6 01 02 00 | 66 69 6e 65 09 43 44 4c |........|fine.CDL|
|0002f630| 49 4d 49 54 09 28 31 4c | 3c 3c 32 31 29 09 2f 2a |IMIT.(1L|<<21)./*|
|0002f640| 20 64 65 66 61 75 6c 74 | 20 6d 61 78 20 77 72 69 | default| max wri|
|0002f650| 74 65 20 61 64 64 72 65 | 73 73 20 2a 2f 0a 23 64 |te addre|ss */.#d|
|0002f660| 65 66 69 6e 65 09 43 41 | 4e 42 53 49 5a 09 32 35 |efine.CA|NBSIZ.25|
|0002f670| 36 09 09 2f 2a 20 6d 61 | 78 20 73 69 7a 65 20 6f |6../* ma|x size o|
|0002f680| 66 20 74 79 70 65 77 72 | 69 74 65 72 20 6c 69 6e |f typewr|iter lin|
|0002f690| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4d 53 47 |e */.#de|fine.MSG|
|0002f6a0| 42 55 46 53 09 31 32 38 | 09 09 2f 2a 20 43 68 61 |BUFS.128|../* Cha|
|0002f6b0| 72 61 63 74 65 72 73 20 | 73 61 76 65 64 20 66 72 |racters |saved fr|
|0002f6c0| 6f 6d 20 65 72 72 6f 72 | 20 6d 65 73 73 61 67 65 |om error| message|
|0002f6d0| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4e 43 41 |s */.#de|fine.NCA|
|0002f6e0| 52 47 53 09 35 31 32 30 | 09 09 2f 2a 20 23 20 63 |RGS.5120|../* # c|
|0002f6f0| 68 61 72 61 63 74 65 72 | 73 20 69 6e 20 65 78 65 |haracter|s in exe|
|0002f700| 63 20 61 72 67 6c 69 73 | 74 20 2a 2f 0a 23 64 65 |c arglis|t */.#de|
|0002f710| 66 69 6e 65 09 4d 41 58 | 54 54 59 53 09 31 36 09 |fine.MAX|TTYS.16.|
|0002f720| 09 2f 2a 20 4d 61 78 20 | 23 20 6f 70 65 6e 20 74 |./* Max |# open t|
|0002f730| 74 79 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 4e |tys */.#|define.N|
|0002f740| 49 4f 53 54 41 54 09 35 | 30 09 09 2f 2a 20 6d 61 |IOSTAT.5|0../* ma|
|0002f750| 78 20 6e 75 6d 62 65 72 | 20 6f 66 20 62 75 66 73 |x number| of bufs|
|0002f760| 20 74 6f 20 6b 65 65 70 | 20 73 74 61 74 73 20 66 | to keep| stats f|
|0002f770| 6f 72 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 4d 41 |or */.#d|efine.MA|
|0002f780| 58 50 49 44 09 33 30 30 | 30 30 09 09 2f 2a 20 6d |XPID.300|00../* m|
|0002f790| 61 78 20 70 72 6f 63 65 | 73 73 20 69 64 20 2a 2f |ax proce|ss id */|
|0002f7a0| 0a 23 64 65 66 69 6e 65 | 09 4d 41 58 55 49 44 09 |.#define|.MAXUID.|
|0002f7b0| 36 30 30 30 30 09 09 2f | 2a 20 6d 61 78 20 75 73 |60000../|* max us|
|0002f7c0| 65 72 20 69 64 20 2a 2f | 0a 23 64 65 66 69 6e 65 |er id */|.#define|
|0002f7d0| 09 4d 41 58 4c 49 4e 4b | 09 31 30 30 30 09 09 2f |.MAXLINK|.1000../|
|0002f7e0| 2a 20 6d 61 78 20 6c 69 | 6e 6b 73 20 2a 2f 0a 23 |* max li|nks */.#|
|0002f7f0| 64 65 66 69 6e 65 20 42 | 53 53 49 5a 45 09 09 32 |define B|SSIZE..2|
|0002f800| 35 36 09 2f 2a 20 62 79 | 74 65 73 20 69 6e 20 62 |56./* by|tes in b|
|0002f810| 6f 6f 74 73 74 72 69 6e | 67 20 62 75 66 66 65 72 |ootstrin|g buffer|
|0002f820| 20 2a 2f 0a 23 64 65 66 | 0d 01 08 02 00 de 01 02 | */.#def|........|
|0002f830| 00 69 6e 65 09 4e 43 41 | 52 47 53 09 35 31 32 30 |.ine.NCA|RGS.5120|
|0002f840| 09 09 2f 2a 20 23 20 63 | 68 61 72 61 63 74 65 72 |../* # c|haracter|
|0002f850| 73 20 69 6e 20 65 78 65 | 63 20 61 72 67 6c 69 73 |s in exe|c arglis|
|0002f860| 74 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 4d 49 4e |t */.#de|fine MIN|
|0002f870| 42 55 46 09 34 30 09 09 | 2f 2a 20 6d 69 6e 69 6d |BUF.40..|/* minim|
|0002f880| 75 6d 20 23 20 6f 66 20 | 62 75 66 66 65 72 73 20 |um # of |buffers |
|0002f890| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4e 53 45 47 09 |*/.#defi|ne NSEG.|
|0002f8a0| 32 09 09 2f 2a 20 6d 61 | 78 20 73 65 67 2f 75 73 |2../* ma|x seg/us|
|0002f8b0| 65 72 20 28 73 65 65 20 | 75 73 65 72 2e 68 29 20 |er (see |user.h) |
|0002f8c0| 38 30 38 36 20 6f 6e 6c | 79 20 2a 2f 0a 0a 2f 2a |8086 onl|y */../*|
|0002f8d0| 0a 20 2a 20 54 68 65 73 | 65 20 61 72 65 20 74 65 |. * Thes|e are te|
|0002f8e0| 6d 70 20 74 6f 20 69 6d | 70 6c 65 6d 65 6e 74 20 |mp to im|plement |
|0002f8f0| 73 74 61 74 66 73 20 77 | 69 74 68 6f 75 74 20 46 |statfs w|ithout F|
|0002f900| 53 53 2e 0a 20 2a 20 54 | 68 69 73 20 73 68 6f 75 |SS.. * T|his shou|
|0002f910| 6c 64 20 62 65 20 72 65 | 70 6c 61 63 65 64 20 62 |ld be re|placed b|
|0002f920| 79 20 76 61 72 20 6e 66 | 73 74 79 70 20 69 6e 20 |y var nf|styp in |
|0002f930| 61 6e 20 46 53 53 20 6b | 65 72 6e 65 6c 2e 0a 20 |an FSS k|ernel.. |
|0002f940| 2a 2f 0a 0a 23 64 65 66 | 69 6e 65 20 4e 46 53 54 |*/..#def|ine NFST|
|0002f950| 59 50 20 20 31 09 2f 2a | 20 52 65 66 65 72 73 20 |YP 1./*| Refers |
|0002f960| 74 6f 20 66 73 74 79 70 | 73 77 20 65 6e 74 72 69 |to fstyp|sw entri|
|0002f970| 65 73 2c 20 6e 6f 74 20 | 62 6c 6f 63 6b 20 73 69 |es, not |block si|
|0002f980| 7a 65 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 46 |ze */..#|define F|
|0002f990| 73 31 62 09 31 09 2f 2a | 20 35 31 32 20 62 79 74 |s1b.1./*| 512 byt|
|0002f9a0| 65 20 62 6c 6f 63 6b 73 | 20 2a 2f 0a 23 64 65 66 |e blocks| */.#def|
|0002f9b0| 69 6e 65 20 46 73 32 62 | 09 32 09 2f 2a 20 31 30 |ine Fs2b|.2./* 10|
|0002f9c0| 32 34 20 62 79 74 65 20 | 62 6c 6f 63 6b 73 20 2a |24 byte |blocks *|
|0002f9d0| 2f 0a 23 64 65 66 69 6e | 65 20 53 35 46 53 54 59 |/.#defin|e S5FSTY|
|0002f9e0| 50 20 46 73 32 62 0a 0a | 2f 2a 0a 20 2a 20 70 72 |P Fs2b..|/*. * pr|
|0002f9f0| 69 6f 72 69 74 69 65 73 | 0a 20 2a 20 70 72 6f 62 |iorities|. * prob|
|0002fa00| 61 62 6c 79 20 73 68 6f | 75 6c 64 20 6e 6f 74 20 |ably sho|uld not |
|0002fa10| 62 65 0a 20 2a 20 61 6c | 74 65 72 65 64 20 74 6f |be. * al|tered to|
|0002fa20| 6f 20 6d 75 63 68 0a 20 | 2a 2f 0a 0a 23 64 65 66 |o much. |*/..#def|
|0002fa30| 69 0d 01 09 02 00 37 01 | 02 00 6e 65 09 50 53 57 |i.....7.|..ne.PSW|
|0002fa40| 50 09 30 0a 23 64 65 66 | 69 6e 65 09 50 49 4e 4f |P.0.#def|ine.PINO|
|0002fa50| 44 09 31 30 0a 23 64 65 | 66 69 6e 65 09 50 52 49 |D.10.#de|fine.PRI|
|0002fa60| 42 49 4f 09 32 30 0a 23 | 64 65 66 69 6e 65 09 50 |BIO.20.#|define.P|
|0002fa70| 5a 45 52 4f 09 32 35 0a | 23 64 65 66 69 6e 65 09 |ZERO.25.|#define.|
|0002fa80| 4e 5a 45 52 4f 09 32 30 | 0a 23 64 65 66 69 6e 65 |NZERO.20|.#define|
|0002fa90| 20 50 43 41 54 43 48 20 | 20 30 34 30 30 0a 23 64 | PCATCH | 0400.#d|
|0002faa0| 65 66 69 6e 65 20 50 4d | 41 53 4b 09 30 31 37 37 |efine PM|ASK.0177|
|0002fab0| 09 0a 23 64 65 66 69 6e | 65 09 50 50 49 50 45 09 |..#defin|e.PPIPE.|
|0002fac0| 32 36 0a 23 64 65 66 69 | 6e 65 09 50 57 41 49 54 |26.#defi|ne.PWAIT|
|0002fad0| 09 33 30 0a 23 64 65 66 | 69 6e 65 09 50 53 4c 45 |.30.#def|ine.PSLE|
|0002fae0| 50 09 34 30 0a 23 64 65 | 66 69 6e 65 09 50 55 53 |P.40.#de|fine.PUS|
|0002faf0| 45 52 09 35 30 0a 23 64 | 65 66 69 6e 65 09 50 49 |ER.50.#d|efine.PI|
|0002fb00| 44 4c 45 09 31 32 37 0a | 0a 2f 2a 0a 20 2a 20 66 |DLE.127.|./*. * f|
|0002fb10| 75 6e 64 61 6d 65 6e 74 | 61 6c 20 63 6f 6e 73 74 |undament|al const|
|0002fb20| 61 6e 74 73 20 6f 66 20 | 74 68 65 20 69 6d 70 6c |ants of |the impl|
|0002fb30| 65 6d 65 6e 74 61 74 69 | 6f 6e 2d 2d 0a 20 2a 20 |ementati|on--. * |
|0002fb40| 63 61 6e 6e 6f 74 20 62 | 65 20 63 68 61 6e 67 65 |cannot b|e change|
|0002fb50| 64 20 65 61 73 69 6c 79 | 0a 20 2a 2f 0a 0a 23 64 |d easily|. */..#d|
|0002fb60| 65 66 69 6e 65 09 4e 42 | 50 57 09 73 69 7a 65 6f |efine.NB|PW.sizeo|
|0002fb70| 66 28 69 6e 74 29 09 2f | 2a 20 6e 75 6d 62 65 72 |f(int)./|* number|
|0002fb80| 20 6f 66 20 62 79 74 65 | 73 20 69 6e 20 61 6e 20 | of byte|s in an |
|0002fb90| 69 6e 74 65 67 65 72 20 | 2a 2f 0a 09 2f 2a 0a 09 |integer |*/../*..|
|0002fba0| 20 2a 20 20 20 20 20 20 | 2a 2a 2a 20 57 41 52 4e | * |*** WARN|
|0002fbb0| 49 4e 47 20 2a 2a 2a 0a | 09 20 2a 20 53 6f 6d 65 |ING ***.|. * Some|
|0002fbc0| 20 69 6f 20 64 65 76 69 | 63 65 73 20 6d 61 79 20 | io devi|ces may |
|0002fbd0| 68 61 76 65 20 61 20 70 | 72 6f 62 6c 65 6d 20 0a |have a p|roblem .|
|0002fbe0| 09 20 2a 20 69 66 20 42 | 53 49 5a 45 20 69 73 20 |. * if B|SIZE is |
|0002fbf0| 67 72 65 61 74 65 72 20 | 74 68 61 6e 20 4d 4d 50 |greater |than MMP|
|0002fc00| 47 53 5a 09 0a 09 20 2a | 20 49 66 20 42 53 49 5a |GSZ... *| If BSIZ|
|0002fc10| 45 20 63 68 61 6e 67 65 | 73 2c 20 73 6f 20 6d 75 |E change|s, so mu|
|0002fc20| 73 74 20 4e 53 42 46 49 | 4c 4c 2c 20 42 53 48 49 |st NSBFI|LL, BSHI|
|0002fc30| 46 54 2c 0a 09 20 2a 20 | 4e 53 0d 01 0a 02 00 ba |FT,.. * |NS......|
|0002fc40| 01 02 00 48 49 46 54 2c | 20 4c 49 4e 4f 50 42 0a |...HIFT,| LINOPB.|
|0002fc50| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 23 64 65 66 | | */.#def|
|0002fc60| 69 6e 65 09 42 53 49 5a | 45 09 31 30 32 34 09 09 |ine.BSIZ|E.1024..|
|0002fc70| 2f 2a 20 73 69 7a 65 20 | 6f 66 20 73 65 63 6f 6e |/* size |of secon|
|0002fc80| 64 61 72 79 20 62 6c 6f | 63 6b 20 28 62 79 74 65 |dary blo|ck (byte|
|0002fc90| 73 29 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 42 53 |s) */.#d|efine.BS|
|0002fca0| 48 49 46 54 09 31 30 09 | 09 2f 2a 20 4c 4f 47 32 |HIFT.10.|./* LOG2|
|0002fcb0| 28 42 53 49 5a 45 29 20 | 2a 2f 0a 23 64 65 66 69 |(BSIZE) |*/.#defi|
|0002fcc0| 6e 65 09 42 4d 41 53 4b | 09 28 42 53 49 5a 45 20 |ne.BMASK|.(BSIZE |
|0002fcd0| 2d 20 31 29 09 2f 2a 20 | 42 53 49 5a 45 2d 31 20 |- 1)./* |BSIZE-1 |
|0002fce0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 42 53 4c 4f 50 |*/.#defi|ne.BSLOP|
|0002fcf0| 09 30 09 09 2f 2a 20 6d | 75 73 74 20 62 65 20 30 |.0../* m|ust be 0|
|0002fd00| 20 66 6f 72 20 63 75 72 | 72 65 6e 74 20 63 6f 70 | for cur|rent cop|
|0002fd10| 79 69 6f 20 69 6d 70 6c | 65 6d 74 61 74 69 6f 6e |yio impl|emtation|
|0002fd20| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4e 49 4e 44 49 |*/.#defi|ne.NINDI|
|0002fd30| 52 09 28 42 53 49 5a 45 | 2f 73 69 7a 65 6f 66 28 |R.(BSIZE|/sizeof(|
|0002fd40| 64 61 64 64 72 5f 74 29 | 29 0a 23 64 65 66 69 6e |daddr_t)|).#defin|
|0002fd50| 65 09 4e 53 48 49 46 54 | 09 38 09 09 2f 2a 20 4c |e.NSHIFT|.8../* L|
|0002fd60| 4f 47 32 28 4e 49 4e 44 | 49 52 29 20 2a 2f 0a 23 |OG2(NIND|IR) */.#|
|0002fd70| 64 65 66 69 6e 65 09 4e | 4d 41 53 4b 09 28 4e 49 |define.N|MASK.(NI|
|0002fd80| 4e 44 49 52 20 2d 20 31 | 29 09 2f 2a 20 4e 49 4e |NDIR - 1|)./* NIN|
|0002fd90| 44 49 52 2d 31 20 2a 2f | 0a 23 64 65 66 69 6e 65 |DIR-1 */|.#define|
|0002fda0| 09 49 4e 4f 50 42 09 28 | 42 53 49 5a 45 2f 73 69 |.INOPB.(|BSIZE/si|
|0002fdb0| 7a 65 6f 66 28 73 74 72 | 75 63 74 20 64 69 6e 6f |zeof(str|uct dino|
|0002fdc0| 64 65 29 29 09 2f 2a 20 | 23 20 69 6e 6f 64 65 73 |de))./* |# inodes|
|0002fdd0| 20 70 65 72 20 62 6c 6f | 63 6b 20 2a 2f 0a 23 64 | per blo|ck */.#d|
|0002fde0| 65 66 69 6e 65 09 4c 49 | 4e 4f 50 42 09 34 09 09 |efine.LI|NOPB.4..|
|0002fdf0| 2f 2a 20 4c 4f 47 32 28 | 49 4e 4f 50 42 29 20 2a |/* LOG2(|INOPB) *|
|0002fe00| 2f 0a 23 64 65 66 69 6e | 65 09 49 4e 4f 53 48 49 |/.#defin|e.INOSHI|
|0002fe10| 46 54 09 34 09 09 2f 2a | 20 4c 4f 47 32 28 49 4e |FT.4../*| LOG2(IN|
|0002fe20| 4f 50 42 29 20 2a 2f 0a | 23 69 66 6e 64 65 66 20 |OPB) */.|#ifndef |
|0002fe30| 4e 55 4c 4c 09 09 09 2f | 2a 20 62 73 20 66 6f 72 |NULL.../|* bs for|
|0002fe40| 20 75 74 0d 01 0b 02 00 | b9 01 02 00 69 6c 20 69 | ut.....|....il i|
|0002fe50| 6e 63 6c 75 64 69 6e 67 | 20 70 61 72 61 6d 20 61 |ncluding| param a|
|0002fe60| 6e 64 20 73 74 64 69 6f | 20 2a 2f 0a 23 64 65 66 |nd stdio| */.#def|
|0002fe70| 69 6e 65 09 4e 55 4c 4c | 09 28 28 63 68 61 72 20 |ine.NULL|.((char |
|0002fe80| 2a 29 30 29 0a 23 65 6e | 64 69 66 0a 23 64 65 66 |*)0).#en|dif.#def|
|0002fe90| 69 6e 65 09 4e 4f 44 45 | 56 09 28 64 65 76 5f 74 |ine.NODE|V.(dev_t|
|0002fea0| 29 28 2d 31 29 0a 23 64 | 65 66 69 6e 65 09 52 4f |)(-1).#d|efine.RO|
|0002feb0| 4f 54 49 4e 4f 09 28 28 | 69 6e 6f 5f 74 29 32 29 |OTINO.((|ino_t)2)|
|0002fec0| 09 2f 2a 20 69 20 6e 75 | 6d 62 65 72 20 6f 66 20 |./* i nu|mber of |
|0002fed0| 61 6c 6c 20 72 6f 6f 74 | 73 20 2a 2f 0a 23 64 65 |all root|s */.#de|
|0002fee0| 66 69 6e 65 09 53 55 50 | 45 52 42 09 28 28 64 61 |fine.SUP|ERB.((da|
|0002fef0| 64 64 72 5f 74 29 31 29 | 09 2f 2a 20 62 6c 6f 63 |ddr_t)1)|./* bloc|
|0002ff00| 6b 20 6e 75 6d 62 65 72 | 20 6f 66 20 74 68 65 20 |k number| of the |
|0002ff10| 73 75 70 65 72 20 62 6c | 6f 63 6b 20 2a 2f 0a 23 |super bl|ock */.#|
|0002ff20| 64 65 66 69 6e 65 09 44 | 49 52 53 49 5a 09 31 34 |define.D|IRSIZ.14|
|0002ff30| 09 09 2f 2a 20 6d 61 78 | 20 63 68 61 72 61 63 74 |../* max| charact|
|0002ff40| 65 72 73 20 70 65 72 20 | 64 69 72 65 63 74 6f 72 |ers per |director|
|0002ff50| 79 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4e 49 43 |y */.#de|fine.NIC|
|0002ff60| 49 4e 4f 44 09 31 30 30 | 09 09 2f 2a 20 6e 75 6d |INOD.100|../* num|
|0002ff70| 62 65 72 20 6f 66 20 73 | 75 70 65 72 62 6c 6f 63 |ber of s|uperbloc|
|0002ff80| 6b 20 69 6e 6f 64 65 73 | 20 2a 2f 0a 23 64 65 66 |k inodes| */.#def|
|0002ff90| 69 6e 65 09 4e 49 43 46 | 52 45 45 09 31 30 30 09 |ine.NICF|REE.100.|
|0002ffa0| 09 2f 2a 20 6e 75 6d 62 | 65 72 20 6f 66 20 73 75 |./* numb|er of su|
|0002ffb0| 70 65 72 62 6c 6f 63 6b | 20 66 72 65 65 20 62 6c |perblock| free bl|
|0002ffc0| 6f 63 6b 73 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |ocks */.|#define.|
|0002ffd0| 4e 53 42 46 49 4c 4c 09 | 33 37 31 09 09 2f 2a 20 |NSBFILL.|371../* |
|0002ffe0| 61 6c 69 67 6e 73 20 73 | 5f 6d 61 67 69 63 2c 20 |aligns s|_magic, |
|0002fff0| 2e 2e 20 61 74 20 65 6e | 64 20 6f 66 20 73 75 70 |.. at en|d of sup|
|00030000| 65 72 20 62 6c 6f 63 6b | 20 2a 2f 0a 0a 23 69 66 |er block| */..#if|
|00030010| 64 65 66 20 4d 5f 49 33 | 38 36 0a 23 64 65 66 69 |def M_I3|86.#defi|
|00030020| 6e 65 09 4e 43 50 53 09 | 31 09 09 2f 2a 20 4e 75 |ne.NCPS.|1../* Nu|
|00030030| 6d 62 65 72 20 6f 66 20 | 63 6c 69 63 6b 73 20 70 |mber of |clicks p|
|00030040| 65 72 20 73 65 67 6d 65 | 6e 74 20 2a 0d 01 0c 02 |er segme|nt *....|
|00030050| 00 68 01 02 00 2f 0a 23 | 64 65 66 69 6e 65 09 4e |.h.../.#|define.N|
|00030060| 42 50 43 09 34 30 39 36 | 09 09 2f 2a 20 4e 75 6d |BPC.4096|../* Num|
|00030070| 62 65 72 20 6f 66 20 62 | 79 74 65 73 20 70 65 72 |ber of b|ytes per|
|00030080| 20 63 6c 69 63 6b 20 2a | 2f 0a 23 64 65 66 69 6e | click *|/.#defin|
|00030090| 65 09 4e 44 50 43 09 34 | 09 09 2f 2a 20 6e 75 6d |e.NDPC.4|../* num|
|000300a0| 62 65 72 20 6f 66 20 62 | 6c 6f 63 6b 73 20 70 65 |ber of b|locks pe|
|000300b0| 72 20 63 6c 69 63 6b 20 | 2a 2f 0a 23 64 65 66 69 |r click |*/.#defi|
|000300c0| 6e 65 09 42 50 43 53 48 | 49 46 54 09 31 32 09 2f |ne.BPCSH|IFT.12./|
|000300d0| 2a 20 4c 4f 47 32 28 4e | 42 50 43 29 20 69 66 20 |* LOG2(N|BPC) if |
|000300e0| 65 78 61 63 74 20 2a 2f | 0a 23 65 6e 64 69 66 0a |exact */|.#endif.|
|000300f0| 0a 23 64 65 66 69 6e 65 | 09 46 73 42 53 49 5a 45 |.#define|.FsBSIZE|
|00030100| 28 64 65 76 29 09 42 53 | 49 5a 45 0a 23 64 65 66 |(dev).BS|IZE.#def|
|00030110| 69 6e 65 09 46 73 42 53 | 48 49 46 54 28 64 65 76 |ine.FsBS|HIFT(dev|
|00030120| 29 09 42 53 48 49 46 54 | 0a 23 64 65 66 69 6e 65 |).BSHIFT|.#define|
|00030130| 09 46 73 4e 49 4e 44 49 | 52 28 64 65 76 29 09 4e |.FsNINDI|R(dev).N|
|00030140| 49 4e 44 49 52 0a 23 64 | 65 66 69 6e 65 09 46 73 |INDIR.#d|efine.Fs|
|00030150| 42 4d 41 53 4b 28 64 65 | 76 29 09 42 4d 41 53 4b |BMASK(de|v).BMASK|
|00030160| 0a 23 64 65 66 69 6e 65 | 09 46 73 42 4f 46 46 28 |.#define|.FsBOFF(|
|00030170| 64 65 76 2c 20 78 29 09 | 28 28 78 29 26 42 4d 41 |dev, x).|((x)&BMA|
|00030180| 53 4b 29 0a 23 64 65 66 | 69 6e 65 09 46 73 42 4e |SK).#def|ine.FsBN|
|00030190| 4f 28 64 65 76 2c 20 78 | 29 09 28 78 3e 3e 42 53 |O(dev, x|).(x>>BS|
|000301a0| 48 49 46 54 29 0a 23 64 | 65 66 69 6e 65 09 46 73 |HIFT).#d|efine.Fs|
|000301b0| 49 4e 4f 50 42 28 64 65 | 76 29 09 49 4e 4f 50 42 |INOPB(de|v).INOPB|
|000301c0| 0a 23 64 65 66 69 6e 65 | 09 46 73 4c 54 4f 50 28 |.#define|.FsLTOP(|
|000301d0| 64 65 76 2c 20 62 29 09 | 28 62 29 0a 23 64 65 66 |dev, b).|(b).#def|
|000301e0| 69 6e 65 09 46 73 50 54 | 4f 4c 28 64 65 76 2c 20 |ine.FsPT|OL(dev, |
|000301f0| 62 29 09 28 62 29 0a 23 | 64 65 66 69 6e 65 09 46 |b).(b).#|define.F|
|00030200| 73 4e 4d 41 53 4b 28 64 | 65 76 29 09 4e 4d 41 53 |sNMASK(d|ev).NMAS|
|00030210| 4b 0a 23 64 65 66 69 6e | 65 09 46 73 4e 53 48 49 |K.#defin|e.FsNSHI|
|00030220| 46 54 28 64 65 76 29 09 | 4e 53 48 49 46 54 0a 23 |FT(dev).|NSHIFT.#|
|00030230| 64 65 66 69 6e 65 09 46 | 73 49 54 4f 44 28 64 65 |define.F|sITOD(de|
|00030240| 76 2c 20 78 29 09 69 74 | 6f 64 28 78 29 0a 23 64 |v, x).it|od(x).#d|
|00030250| 65 66 69 6e 65 0d 01 0d | 02 00 8e 01 02 00 09 46 |efine...|.......F|
|00030260| 73 49 54 4f 4f 28 64 65 | 76 2c 20 78 29 09 69 74 |sITOO(de|v, x).it|
|00030270| 6f 6f 28 78 29 0a 23 64 | 65 66 69 6e 65 09 46 73 |oo(x).#d|efine.Fs|
|00030280| 49 4e 4f 53 28 64 65 76 | 2c 20 78 29 20 20 28 28 |INOS(dev|, x) ((|
|00030290| 78 26 7e 30 37 29 2b 31 | 29 0a 0a 2f 2a 0a 20 2a |x&~07)+1|)../*. *|
|000302a0| 20 4d 4d 55 20 70 61 72 | 61 6d 65 74 65 72 73 2e | MMU par|ameters.|
|000302b0| 0a 20 2a 2f 0a 0a 23 69 | 66 64 65 66 20 4d 5f 49 |. */..#i|fdef M_I|
|000302c0| 38 30 38 36 0a 23 64 65 | 66 69 6e 65 09 50 41 47 |8086.#de|fine.PAG|
|000302d0| 45 53 49 5a 45 20 31 36 | 09 09 2f 2a 20 73 69 7a |ESIZE 16|../* siz|
|000302e0| 65 20 6f 66 20 6d 65 6d | 6f 72 79 20 61 6c 6c 6f |e of mem|ory allo|
|000302f0| 63 61 74 69 6f 6e 20 75 | 6e 69 74 20 2a 2f 0a 23 |cation u|nit */.#|
|00030300| 64 65 66 69 6e 65 09 4d | 4d 50 47 53 5a 09 50 41 |define.M|MPGSZ.PA|
|00030310| 47 45 53 49 5a 45 0a 23 | 64 65 66 69 6e 65 09 50 |GESIZE.#|define.P|
|00030320| 41 47 45 4d 41 53 4b 20 | 28 50 41 47 45 53 49 5a |AGEMASK |(PAGESIZ|
|00030330| 45 20 2d 20 31 29 09 2f | 2a 20 50 41 47 45 53 49 |E - 1)./|* PAGESI|
|00030340| 5a 45 20 2d 20 31 20 2a | 2f 0a 23 64 65 66 69 6e |ZE - 1 *|/.#defin|
|00030350| 65 09 4c 50 47 53 49 5a | 45 09 34 09 09 2f 2a 20 |e.LPGSIZ|E.4../* |
|00030360| 6c 6f 67 20 32 20 6f 66 | 20 70 61 67 65 73 69 7a |log 2 of| pagesiz|
|00030370| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 4c 4d 4d |e */.#de|fine LMM|
|00030380| 50 47 53 5a 20 4c 50 47 | 53 49 5a 45 0a 23 64 65 |PGSZ LPG|SIZE.#de|
|00030390| 66 69 6e 65 20 4d 4d 50 | 47 4d 41 53 4b 20 50 41 |fine MMP|GMASK PA|
|000303a0| 47 45 4d 41 53 4b 0a 23 | 64 65 66 69 6e 65 20 4e |GEMASK.#|define N|
|000303b0| 50 41 47 45 50 53 09 09 | 30 78 31 30 30 30 09 09 |PAGEPS..|0x1000..|
|000303c0| 2f 2a 20 36 34 6b 2f 4d | 4d 50 47 53 5a 20 3d 20 |/* 64k/M|MPGSZ = |
|000303d0| 6e 75 6d 62 65 72 20 6f | 66 20 70 61 67 65 73 2f |number o|f pages/|
|000303e0| 73 65 67 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 4d |seg */.#|define M|
|000303f0| 41 58 50 41 47 45 53 20 | 20 09 30 78 41 30 30 30 |AXPAGES | .0xA000|
|00030400| 0a 23 64 65 66 69 6e 65 | 20 4d 41 58 50 41 47 45 |.#define| MAXPAGE|
|00030410| 20 20 09 4d 41 58 50 41 | 47 45 53 0a 23 64 65 66 | .MAXPA|GES.#def|
|00030420| 69 6e 65 20 55 50 47 53 | 49 5a 45 09 73 69 7a 65 |ine UPGS|IZE.size|
|00030430| 6f 66 28 73 74 72 75 63 | 74 20 75 73 65 72 29 0a |of(struc|t user).|
|00030440| 23 64 65 66 69 6e 65 20 | 55 53 49 5a 45 09 62 74 |#define |USIZE.bt|
|00030450| 6f 6d 73 28 55 50 47 53 | 49 5a 45 29 0a 23 0d 01 |oms(UPGS|IZE).#..|
|00030460| 0e 02 00 07 01 02 00 64 | 65 66 69 6e 65 09 53 54 |.......d|efine.ST|
|00030470| 41 43 4b 53 54 41 52 54 | 28 73 73 29 09 28 55 53 |ACKSTART|(ss).(US|
|00030480| 52 53 54 41 43 4b 20 2d | 20 6d 73 74 6f 62 28 73 |RSTACK -| mstob(s|
|00030490| 73 29 29 0a 23 65 6e 64 | 69 66 0a 0a 23 69 66 64 |s)).#end|if..#ifd|
|000304a0| 65 66 20 4d 5f 49 32 38 | 36 0a 23 64 65 66 69 6e |ef M_I28|6.#defin|
|000304b0| 65 09 4d 4d 50 47 53 5a | 09 35 31 32 09 09 2f 2a |e.MMPGSZ|.512../*|
|000304c0| 20 62 79 74 65 73 2f 70 | 61 67 65 20 69 6e 20 74 | bytes/p|age in t|
|000304d0| 68 65 20 4d 4d 55 20 2a | 2f 0a 23 64 65 66 69 6e |he MMU *|/.#defin|
|000304e0| 65 09 4c 4d 4d 50 47 53 | 5a 09 39 09 09 2f 2a 20 |e.LMMPGS|Z.9../* |
|000304f0| 6c 6f 67 32 28 4d 4d 50 | 47 53 5a 29 20 2a 2f 0a |log2(MMP|GSZ) */.|
|00030500| 23 64 65 66 69 6e 65 20 | 4e 50 41 47 45 50 53 09 |#define |NPAGEPS.|
|00030510| 31 32 38 09 09 2f 2a 20 | 36 34 6b 2f 4d 4d 50 47 |128../* |64k/MMPG|
|00030520| 53 5a 20 3d 20 6e 75 6d | 62 65 72 20 6f 66 20 70 |SZ = num|ber of p|
|00030530| 61 67 65 73 20 70 65 72 | 20 73 65 67 6d 65 6e 74 |ages per| segment|
|00030540| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 4d 41 58 50 | */.#def|ine MAXP|
|00030550| 41 47 45 53 20 20 33 32 | 37 36 38 4c 0a 23 64 65 |AGES 32|768L.#de|
|00030560| 66 69 6e 65 20 55 53 49 | 5a 45 20 09 28 75 2e 75 |fine USI|ZE .(u.u|
|00030570| 5f 70 72 6f 63 70 2d 3e | 70 5f 75 73 69 7a 65 29 |_procp->|p_usize)|
|00030580| 0a 23 65 6e 64 69 66 0a | 0a 23 69 66 6e 64 65 66 |.#endif.|.#ifndef|
|00030590| 20 4d 5f 49 33 38 36 0a | 23 69 66 6e 64 65 66 20 | M_I386.|#ifndef |
|000305a0| 4d 5f 49 38 30 38 36 09 | 09 09 0a 23 69 66 6e 64 |M_I8086.|...#ifnd|
|000305b0| 65 66 20 4d 5f 49 32 38 | 36 0a 45 52 52 4f 52 20 |ef M_I28|6.ERROR |
|000305c0| 2a 2a 2a 2a 29 29 29 29 | 29 09 09 2f 2a 20 65 72 |****))))|)../* er|
|000305d0| 72 6f 72 20 69 66 20 6e | 6f 6e 65 20 64 65 66 69 |ror if n|one defi|
|000305e0| 6e 65 64 20 2a 2f 0a 23 | 65 6e 64 69 66 0a 23 65 |ned */.#|endif.#e|
|000305f0| 6e 64 69 66 0a 23 65 6e | 64 69 66 0a 0a 23 69 66 |ndif.#en|dif..#if|
|00030600| 64 65 66 20 4d 5f 49 38 | 30 38 36 09 09 2f 2a 20 |def M_I8|086../* |
|00030610| 65 72 72 6f 72 20 69 66 | 20 61 6e 79 20 74 77 6f |error if| any two|
|00030620| 20 64 65 66 69 6e 65 64 | 20 2a 2f 0a 23 69 66 64 | defined| */.#ifd|
|00030630| 65 66 20 4d 5f 49 32 38 | 36 0a 45 52 52 4f 52 20 |ef M_I28|6.ERROR |
|00030640| 2a 2a 2a 2a 29 29 29 29 | 29 09 09 0a 23 65 6e 64 |****))))|)...#end|
|00030650| 69 66 0a 23 69 66 64 65 | 66 20 4d 5f 49 33 38 36 |if.#ifde|f M_I386|
|00030660| 0a 45 52 52 4f 52 20 0d | 01 0f 02 00 e0 01 02 00 |.ERROR .|........|
|00030670| 2a 2a 2a 2a 29 29 29 29 | 29 09 0a 23 65 6e 64 69 |****))))|)..#endi|
|00030680| 66 0a 23 65 6e 64 69 66 | 0a 0a 23 69 66 64 65 66 |f.#endif|..#ifdef|
|00030690| 20 4d 5f 49 32 38 36 0a | 23 69 66 64 65 66 20 4d | M_I286.|#ifdef M|
|000306a0| 5f 49 33 38 36 0a 45 52 | 52 4f 52 20 2a 2a 2a 2a |_I386.ER|ROR ****|
|000306b0| 29 29 29 29 29 09 0a 23 | 65 6e 64 69 66 0a 23 65 |)))))..#|endif.#e|
|000306c0| 6e 64 69 66 0a 0a 0a 2f | 2a 20 74 72 75 65 20 69 |ndif.../|* true i|
|000306d0| 66 20 62 70 20 69 73 20 | 6e 6f 74 20 6d 61 70 70 |f bp is |not mapp|
|000306e0| 65 64 20 6f 75 74 20 2a | 2f 0a 23 69 66 64 65 66 |ed out *|/.#ifdef|
|000306f0| 20 4d 5f 49 33 38 36 0a | 23 64 65 66 69 6e 65 20 | M_I386.|#define |
|00030700| 69 73 73 61 62 75 66 28 | 62 70 29 09 28 31 29 0a |issabuf(|bp).(1).|
|00030710| 23 65 6c 73 65 0a 23 64 | 65 66 69 6e 65 20 69 73 |#else.#d|efine is|
|00030720| 73 61 62 75 66 28 62 70 | 29 09 28 62 70 2d 3e 62 |sabuf(bp|).(bp->b|
|00030730| 5f 70 61 64 64 72 20 3c | 3d 20 6b 74 6f 70 28 73 |_paddr <|= ktop(s|
|00030740| 61 62 75 66 5b 76 2e 76 | 5f 73 61 62 75 66 5d 29 |abuf[v.v|_sabuf])|
|00030750| 29 0a 23 65 6e 64 69 66 | 0a 0a 23 69 66 64 65 66 |).#endif|..#ifdef|
|00030760| 20 4d 5f 49 38 30 38 36 | 0a 23 64 65 66 69 6e 65 | M_I8086|.#define|
|00030770| 20 70 74 6f 6b 28 78 29 | 20 28 28 63 61 64 64 72 | ptok(x)| ((caddr|
|00030780| 5f 74 29 78 29 0a 23 64 | 65 66 69 6e 65 20 6b 74 |_t)x).#d|efine kt|
|00030790| 6f 70 28 78 29 20 28 28 | 70 61 64 64 72 5f 74 29 |op(x) ((|paddr_t)|
|000307a0| 28 75 6e 73 69 67 6e 65 | 64 29 78 29 0a 23 64 65 |(unsigne|d)x).#de|
|000307b0| 66 69 6e 65 20 63 6f 70 | 79 70 73 69 7a 65 28 72 |fine cop|ypsize(r|
|000307c0| 70 70 2c 72 69 70 29 09 | 72 70 70 2d 3e 70 5f 73 |pp,rip).|rpp->p_s|
|000307d0| 69 7a 65 20 3d 20 72 69 | 70 2d 3e 70 5f 73 69 7a |ize = ri|p->p_siz|
|000307e0| 65 3b 0a 23 64 65 66 69 | 6e 65 20 55 53 52 53 54 |e;.#defi|ne USRST|
|000307f0| 41 43 4b 09 75 2e 75 5f | 74 6f 70 73 74 6b 0a 23 |ACK.u.u_|topstk.#|
|00030800| 64 65 66 69 6e 65 09 55 | 52 53 42 43 09 09 31 34 |define.U|RSBC..14|
|00030810| 09 09 2f 2a 20 55 73 65 | 72 20 73 74 6b 20 52 65 |../* Use|r stk Re|
|00030820| 67 20 53 61 76 65 20 61 | 72 65 61 20 42 79 74 65 |g Save a|rea Byte|
|00030830| 20 43 6e 74 20 2a 2f 0a | 23 65 6e 64 69 66 0a 0a | Cnt */.|#endif..|
|00030840| 23 69 66 64 65 66 20 4d | 5f 49 32 38 36 0a 23 64 |#ifdef M|_I286.#d|
|00030850| 65 66 69 6e 65 20 70 74 | 6f 6b 28 78 29 20 28 28 |efine pt|ok(x) ((|
|00030860| 63 61 64 64 72 5f 74 29 | 28 28 75 6e 73 69 67 6e |caddr_t)|((unsign|
|00030870| 0f 0e 00 32 0e 00 01 02 | 00 d6 01 02 00 65 64 29 |...2....|.....ed)|
|00030880| 20 78 20 2d 20 28 75 6e | 73 69 67 6e 65 64 29 20 | x - (un|signed) |
|00030890| 6b 6d 65 6d 73 74 61 72 | 74 29 29 0a 23 64 65 66 |kmemstar|t)).#def|
|000308a0| 69 6e 65 20 6b 74 6f 70 | 28 78 29 20 28 28 70 61 |ine ktop|(x) ((pa|
|000308b0| 64 64 72 5f 74 29 28 75 | 6e 73 69 67 6e 65 64 29 |ddr_t)(u|nsigned)|
|000308c0| 20 78 20 2b 20 6b 6d 65 | 6d 73 74 61 72 74 29 0a | x + kme|mstart).|
|000308d0| 23 64 65 66 69 6e 65 20 | 63 6f 70 79 70 73 69 7a |#define |copypsiz|
|000308e0| 65 28 72 70 70 2c 72 69 | 70 29 09 72 70 70 2d 3e |e(rpp,ri|p).rpp->|
|000308f0| 70 5f 75 73 69 7a 65 20 | 3d 20 72 69 70 2d 3e 70 |p_usize |= rip->p|
|00030900| 5f 75 73 69 7a 65 3b 20 | 5c 0a 09 09 09 09 72 70 |_usize; |\.....rp|
|00030910| 70 2d 3e 70 5f 6c 73 69 | 7a 65 20 3d 20 72 69 70 |p->p_lsi|ze = rip|
|00030920| 2d 3e 70 5f 6c 73 69 7a | 65 0a 23 64 65 66 69 6e |->p_lsiz|e.#defin|
|00030930| 65 20 55 53 52 53 54 41 | 43 4b 09 75 2e 75 5f 73 |e USRSTA|CK.u.u_s|
|00030940| 74 6b 62 6f 74 0a 23 64 | 65 66 69 6e 65 09 55 52 |tkbot.#d|efine.UR|
|00030950| 53 42 43 09 09 30 09 09 | 2f 2a 20 55 73 65 72 20 |SBC..0..|/* User |
|00030960| 73 74 6b 20 52 65 67 20 | 53 61 76 65 20 61 72 65 |stk Reg |Save are|
|00030970| 61 20 42 79 74 65 20 43 | 6e 74 20 2a 2f 0a 23 65 |a Byte C|nt */.#e|
|00030980| 6e 64 69 66 0a 0a 23 69 | 66 64 65 66 20 4d 5f 49 |ndif..#i|fdef M_I|
|00030990| 33 38 36 0a 23 64 65 66 | 69 6e 65 09 6b 74 6f 70 |386.#def|ine.ktop|
|000309a0| 28 61 64 64 72 29 09 28 | 28 70 61 64 64 72 5f 74 |(addr).(|(paddr_t|
|000309b0| 29 61 64 64 72 29 0a 23 | 64 65 66 69 6e 65 09 70 |)addr).#|define.p|
|000309c0| 74 6f 6b 28 61 64 64 72 | 29 09 28 28 63 61 64 64 |tok(addr|).((cadd|
|000309d0| 72 5f 74 29 61 64 64 72 | 29 0a 23 64 65 66 69 6e |r_t)addr|).#defin|
|000309e0| 65 20 63 6f 70 79 70 73 | 69 7a 65 28 72 70 70 2c |e copyps|ize(rpp,|
|000309f0| 72 69 70 29 09 72 70 70 | 2d 3e 70 5f 75 73 69 7a |rip).rpp|->p_usiz|
|00030a00| 65 20 3d 20 72 69 70 2d | 3e 70 5f 75 73 69 7a 65 |e = rip-|>p_usize|
|00030a10| 3b 09 0a 23 65 6e 64 69 | 66 0a 0a 23 64 65 66 69 |;..#endi|f..#defi|
|00030a20| 6e 65 20 6c 6f 62 79 74 | 65 28 58 29 09 28 28 28 |ne lobyt|e(X).(((|
|00030a30| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 2a 29 |unsigned| char *)|
|00030a40| 26 58 29 5b 30 5d 29 0a | 23 64 65 66 69 6e 65 20 |&X)[0]).|#define |
|00030a50| 68 69 62 79 74 65 28 58 | 29 09 28 28 28 75 6e 73 |hibyte(X|).(((uns|
|00030a60| 69 67 6e 65 64 20 63 68 | 61 72 20 2a 29 26 58 29 |igned ch|ar *)&X)|
|00030a70| 5b 31 5d 29 0a 23 64 65 | 66 69 6e 65 09 0e 00 02 |[1]).#de|fine....|
|00030a80| 02 00 6d 01 02 00 6c 6f | 77 6f 72 64 28 58 29 09 |..m...lo|word(X).|
|00030a90| 28 28 28 75 73 68 6f 72 | 74 20 2a 29 26 58 29 5b |(((ushor|t *)&X)[|
|00030aa0| 30 5d 29 0a 23 64 65 66 | 69 6e 65 09 68 69 77 6f |0]).#def|ine.hiwo|
|00030ab0| 72 64 28 58 29 09 28 28 | 28 75 73 68 6f 72 74 20 |rd(X).((|(ushort |
|00030ac0| 2a 29 26 58 29 5b 31 5d | 29 0a 0a 0a 2f 2a 0a 20 |*)&X)[1]|).../*. |
|00030ad0| 2a 20 4d 61 63 68 69 6e | 65 2d 64 65 70 65 6e 64 |* Machin|e-depend|
|00030ae0| 65 6e 74 20 62 69 74 73 | 20 61 6e 64 20 6d 61 63 |ent bits| and mac|
|00030af0| 72 6f 73 0a 20 2a 2f 0a | 0a 23 69 66 6e 64 65 66 |ros. */.|.#ifndef|
|00030b00| 20 4d 5f 49 33 38 36 0a | 23 64 65 66 69 6e 65 20 | M_I386.|#define |
|00030b10| 43 4c 4b 4f 4e 4c 59 28 | 70 73 29 20 20 20 20 20 |CLKONLY(|ps) |
|00030b20| 28 28 28 70 73 29 26 50 | 53 5f 50 52 49 4d 41 53 |(((ps)&P|S_PRIMAS|
|00030b30| 4b 29 3d 3d 30 29 0a 23 | 64 65 66 69 6e 65 20 55 |K)==0).#|define U|
|00030b40| 53 45 52 4d 4f 44 45 28 | 70 73 29 09 28 28 70 73 |SERMODE(|ps).((ps|
|00030b50| 29 26 50 53 5f 55 53 45 | 52 29 0a 23 64 65 66 69 |)&PS_USE|R).#defi|
|00030b60| 6e 65 20 50 54 52 53 49 | 5a 45 28 66 29 09 28 28 |ne PTRSI|ZE(f).((|
|00030b70| 66 29 3f 20 73 69 7a 65 | 6f 66 28 63 68 61 72 20 |f)? size|of(char |
|00030b80| 66 61 72 20 2a 29 20 3a | 20 73 69 7a 65 6f 66 28 |far *) :| sizeof(|
|00030b90| 63 61 64 64 72 5f 74 29 | 29 0a 0a 2f 2a 0a 20 2a |caddr_t)|)../*. *|
|00030ba0| 20 32 38 36 2f 38 30 38 | 36 20 73 69 6d 75 6c 61 | 286/808|6 simula|
|00030bb0| 74 65 64 20 22 73 74 61 | 74 65 22 20 64 65 66 69 |ted "sta|te" defi|
|00030bc0| 6e 69 74 69 6f 6e 73 2e | 0a 20 2a 2f 0a 0a 23 64 |nitions.|. */..#d|
|00030bd0| 65 66 69 6e 65 09 50 53 | 5f 55 53 45 52 09 09 30 |efine.PS|_USER..0|
|00030be0| 78 30 31 09 09 2f 2a 20 | 22 75 73 65 72 22 20 6d |x01../* |"user" m|
|00030bf0| 6f 64 65 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 50 |ode */.#|define.P|
|00030c00| 53 5f 53 59 53 09 09 30 | 78 46 45 09 09 2f 2a 20 |S_SYS..0|xFE../* |
|00030c10| 66 6f 72 20 6d 63 68 2e | 61 38 36 2c 20 74 75 72 |for mch.|a86, tur|
|00030c20| 6e 73 20 6f 66 66 20 75 | 73 65 72 20 6d 6f 64 65 |ns off u|ser mode|
|00030c30| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 09 50 53 5f 50 | */.#def|ine.PS_P|
|00030c40| 52 49 4d 41 53 4b 09 30 | 78 46 46 30 30 09 09 2f |RIMASK.0|xFF00../|
|00030c50| 2a 20 70 72 65 76 69 6f | 75 73 20 70 72 69 6f 72 |* previo|us prior|
|00030c60| 69 74 79 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 53 |ity */.#|define S|
|00030c70| 48 57 44 53 5a 20 20 20 | 20 20 20 20 20 20 20 28 |HWDSZ | (|
|00030c80| 32 2b 36 29 20 2f 0e 00 | 03 02 00 e4 f9 01 02 00 |2+6) /..|........|
|00030c90| 4f 2a 20 73 70 61 63 65 | 20 6f 6e 20 75 73 65 72 |O* space| on user|
|00030ca0| 20 73 74 61 63 6b 20 66 | 6f 72 20 73 68 65 6c 6c | stack f|or shell|
|00030cb0| 20 77 6f 72 64 20 2a 2f | 0a 23 65 6e 64 69 66 0a | word */|.#endif.|
|00030cc0| 0a 0a 23 69 66 64 65 66 | 20 4d 5f 49 33 38 36 0a |..#ifdef| M_I386.|
|00030cd0| 23 64 65 66 69 6e 65 20 | 53 50 4c 30 4d 41 53 4b |#define |SPL0MASK|
|00030ce0| 01 04 20 20 00 04 30 78 | 30 30 01 06 20 20 00 ff |.. ..0x|00.. ..|
|00030cf0| 0a 23 64 65 66 69 6e 65 | 09 55 53 45 52 4d 4f 44 |.#define|.USERMOD|
|00030d00| 45 28 63 73 29 09 28 28 | 63 73 20 26 20 44 50 4c |E(cs).((|cs & DPL|
|00030d10| 5f 55 53 45 52 29 20 3d | 3d 20 44 50 4c 5f 55 53 |_USER) =|= DPL_US|
|00030d20| 45 52 29 0a 23 64 65 66 | 69 6e 65 09 43 4c 4b 4f |ER).#def|ine.CLKO|
|00030d30| 4e 4c 59 28 6d 61 73 6b | 29 09 28 28 6d 61 73 6b |NLY(mask|).((mask|
|00030d40| 29 20 3d 3d 20 30 29 0a | 23 64 65 66 69 6e 65 09 |) == 0).|#define.|
|00030d50| 55 53 52 53 54 41 43 4b | 09 75 2e 75 5f 73 74 6b |USRSTACK|.u.u_stk|
|00030d60| 62 6f 74 0a 23 64 65 66 | 69 6e 65 09 55 53 52 53 |bot.#def|ine.USRS|
|00030d70| 54 41 43 4b 32 38 36 09 | 28 28 63 61 64 64 72 5f |TACK286.|((caddr_|
|00030d80| 74 29 46 54 4f 4f 46 46 | 28 75 2e 75 5f 73 74 6b |t)FTOOFF|(u.u_stk|
|00030d90| 62 6f 74 29 29 0a 23 64 | 65 66 69 6e 65 09 55 52 |bot)).#d|efine.UR|
|00030da0| 53 42 43 09 09 30 09 09 | 2f 2a 20 55 73 65 72 20 |SBC..0..|/* User |
|00030db0| 73 74 6b 20 52 65 67 20 | 53 61 76 65 20 61 72 65 |stk Reg |Save are|
|00030dc0| 61 20 42 79 74 65 20 43 | 6e 74 20 2a 2f 0a 23 64 |a Byte C|nt */.#d|
|00030dd0| 65 66 69 6e 65 20 50 54 | 52 53 49 5a 45 28 66 29 |efine PT|RSIZE(f)|
|00030de0| 09 28 28 66 29 3f 20 73 | 69 7a 65 6f 66 28 63 00 |.((f)? s|izeof(c.|
|00030df0| 27 61 64 64 72 5f 74 29 | 20 3a 20 73 69 7a 65 6f |'addr_t)| : sizeo|
|00030e00| 66 28 73 68 6f 72 74 29 | 29 0a 23 64 65 66 69 6e |f(short)|).#defin|
|00030e10| 65 20 53 48 57 44 53 5a | 01 05 20 20 00 69 28 6e |e SHWDSZ|.. .i(n|
|00030e20| 62 70 77 2b 36 29 20 2f | 2a 20 73 70 61 63 65 20 |bpw+6) /|* space |
|00030e30| 6f 6e 20 75 73 65 72 20 | 73 74 61 63 6b 20 66 6f |on user |stack fo|
|00030e40| 72 20 73 68 65 6c 6c 20 | 77 6f 72 64 20 2a 2f 0a |r shell |word */.|
|00030e50| 23 65 6e 64 69 66 0a 0a | 23 64 65 66 69 6e 65 20 |#endif..|#define |
|00030e60| 4e 42 50 57 32 38 36 09 | 09 32 09 09 2f 2a 20 73 |NBPW286.|.2../* s|
|00030e70| 69 7a 65 6f 66 20 61 6e | 20 69 6e 74 20 6f 6e 20 |izeof an| int on |
|00030e80| 61 20 38 30 32 38 36 0e | 00 04 02 00 d8 01 02 00 |a 80286.|........|
|00030e90| 20 2a 2f 0a 0a 0a 2f 2a | 20 43 6f 6e 64 69 74 69 | */.../*| Conditi|
|00030ea0| 6f 6e 61 6c 20 63 6f 6d | 70 69 6c 61 74 69 6f 6e |onal com|pilation|
|00030eb0| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 09 50 41 47 | */..#de|fine.PAG|
|00030ec0| 45 4d 4d 55 09 09 09 2f | 2a 20 6d 6d 75 20 69 73 |EMMU.../|* mmu is|
|00030ed0| 20 64 69 76 69 64 65 64 | 20 69 6e 20 70 61 67 65 | divided| in page|
|00030ee0| 73 20 2a 2f 0a 0a 23 69 | 66 64 65 66 20 4d 5f 49 |s */..#i|fdef M_I|
|00030ef0| 33 38 36 0a 0a 2f 2a 23 | 64 65 66 69 6e 65 09 53 |386../*#|define.S|
|00030f00| 48 4f 52 54 49 4e 54 09 | 2f 2a 20 73 69 7a 65 6f |HORTINT.|/* sizeo|
|00030f10| 66 28 69 6e 74 29 3d 3d | 73 69 7a 65 6f 66 28 73 |f(int)==|sizeof(s|
|00030f20| 68 6f 72 74 29 20 2a 2f | 0a 2f 2a 23 64 65 66 69 |hort) */|./*#defi|
|00030f30| 6e 65 09 42 59 54 45 53 | 57 41 50 09 2f 2a 20 62 |ne.BYTES|WAP./* b|
|00030f40| 79 74 65 20 6f 72 64 65 | 72 69 6e 67 20 69 73 20 |yte orde|ring is |
|00030f50| 6f 70 70 6f 73 69 74 65 | 20 74 68 61 74 20 6f 66 |opposite| that of|
|00030f60| 20 70 64 70 31 31 0a 2f | 2a 23 64 65 66 69 6e 65 | pdp11./|*#define|
|00030f70| 20 20 20 20 20 20 20 4f | 4c 44 46 4f 52 4b 09 09 | O|LDFORK..|
|00030f80| 2f 2a 20 72 65 74 75 72 | 6e 20 74 6f 20 70 61 72 |/* retur|n to par|
|00030f90| 65 6e 74 20 62 79 20 62 | 75 6d 70 69 6e 67 20 70 |ent by b|umping p|
|00030fa0| 63 20 62 79 20 32 20 2a | 2f 0a 2f 2a 23 64 65 66 |c by 2 *|/./*#def|
|00030fb0| 69 6e 65 20 20 20 20 20 | 20 20 46 49 58 45 44 53 |ine | FIXEDS|
|00030fc0| 54 41 43 4b 20 20 20 20 | 20 20 2f 2a 20 73 74 61 |TACK | /* sta|
|00030fd0| 63 6b 20 63 61 6e 6e 6f | 74 20 67 72 6f 77 20 2a |ck canno|t grow *|
|00030fe0| 2f 0a 2f 2a 23 64 65 66 | 69 6e 65 20 20 20 20 20 |/./*#def|ine |
|00030ff0| 20 20 42 55 46 4d 41 50 | 4f 55 54 20 20 20 20 20 | BUFMAP|OUT |
|00031000| 20 20 2f 2a 20 62 75 66 | 66 65 72 73 20 61 72 65 | /* buf|fers are|
|00031010| 20 6d 61 70 70 65 64 20 | 6f 75 74 20 2a 2f 0a 2f | mapped |out */./|
|00031020| 2a 23 64 65 66 69 6e 65 | 20 09 4c 41 52 47 45 43 |*#define| .LARGEC|
|00031030| 4f 44 45 20 20 20 20 20 | 20 20 2f 2a 20 6b 65 72 |ODE | /* ker|
|00031040| 6e 65 6c 20 73 75 70 70 | 6f 72 74 73 20 6d 75 6c |nel supp|orts mul|
|00031050| 74 69 73 65 67 6d 65 6e | 74 20 63 6f 64 65 20 2a |tisegmen|t code *|
|00031060| 2f 0a 2f 2a 23 64 65 66 | 69 6e 65 20 09 55 4e 4f |/./*#def|ine .UNO|
|00031070| 54 4d 41 50 50 45 44 09 | 2f 2a 20 75 70 61 67 65 |TMAPPED.|/* upage|
|00031080| 20 63 6f 70 69 65 64 20 | 69 6e 20 6f 6e 20 63 6f | copied |in on co|
|00031090| 0e 00 05 02 00 11 01 02 | 00 6e 74 65 78 74 20 73 |........|.ntext s|
|000310a0| 77 69 74 63 68 20 2a 2f | 0a 0a 23 65 6c 73 65 0a |witch */|..#else.|
|000310b0| 0a 23 64 65 66 69 6e 65 | 09 09 53 48 4f 52 54 49 |.#define|..SHORTI|
|000310c0| 4e 54 20 20 20 20 20 20 | 20 09 2f 2a 20 73 69 7a |NT | ./* siz|
|000310d0| 65 6f 66 28 69 6e 74 29 | 3d 3d 73 69 7a 65 6f 66 |eof(int)|==sizeof|
|000310e0| 28 73 68 6f 72 74 29 20 | 2a 2f 0a 23 64 65 66 69 |(short) |*/.#defi|
|000310f0| 6e 65 09 09 42 55 46 4d | 41 50 4f 55 54 20 20 20 |ne..BUFM|APOUT |
|00031100| 20 20 20 20 2f 2a 20 62 | 75 66 66 65 72 73 20 61 | /* b|uffers a|
|00031110| 72 65 20 6d 61 70 70 65 | 64 20 6f 75 74 20 2a 2f |re mappe|d out */|
|00031120| 0a 23 64 65 66 69 6e 65 | 20 09 55 4e 4f 54 4d 41 |.#define| .UNOTMA|
|00031130| 50 50 45 44 09 2f 2a 20 | 75 70 61 67 65 20 63 6f |PPED./* |upage co|
|00031140| 70 69 65 64 20 69 6e 20 | 6f 6e 20 63 6f 6e 74 65 |pied in |on conte|
|00031150| 78 74 20 73 77 69 74 63 | 68 20 2a 2f 0a 23 69 66 |xt switc|h */.#if|
|00031160| 64 65 66 20 4d 5f 49 32 | 38 36 0a 23 64 65 66 69 |def M_I2|86.#defi|
|00031170| 6e 65 09 09 46 49 58 45 | 44 53 54 41 43 4b 20 20 |ne..FIXE|DSTACK |
|00031180| 20 20 20 09 2f 2a 20 73 | 74 61 63 6b 20 63 61 6e | ./* s|tack can|
|00031190| 6e 6f 74 20 67 72 6f 77 | 20 2a 2f 0a 23 65 6e 64 |not grow| */.#end|
|000311a0| 69 66 0a 23 69 66 64 65 | 66 20 4d 5f 49 38 30 38 |if.#ifde|f M_I808|
|000311b0| 36 0a 23 64 65 66 69 6e | 65 20 4c 41 52 47 45 43 |6.#defin|e LARGEC|
|000311c0| 4f 44 45 09 09 2f 2a 20 | 6b 65 72 6e 65 6c 20 73 |ODE../* |kernel s|
|000311d0| 75 70 70 6f 72 74 73 20 | 6d 75 6c 74 69 73 65 67 |upports |multiseg|
|000311e0| 6d 65 6e 74 20 63 6f 64 | 65 20 2a 2f 0a 23 65 6e |ment cod|e */.#en|
|000311f0| 64 69 66 0a 0a 23 65 6e | 64 69 66 0a 55 46 4d 41 |dif..#en|dif.UFMA|
|00031200| 50 4f 55 54 20 20 20 20 | 20 20 20 2f 2a 20 62 75 |POUT | /* bu|
|00031210| 66 66 65 72 73 20 61 72 | 65 20 6d 61 70 70 65 64 |ffers ar|e mapped|
|00031220| 20 6f 75 74 20 2a 2f 0a | 2f 2a 23 64 65 66 69 6e | out */.|/*#defin|
|00031230| 65 20 09 4c 41 52 47 45 | 43 4f 44 45 20 20 20 20 |e .LARGE|CODE |
|00031240| 20 20 20 2f 2a 20 6b 65 | 72 6e 65 6c 20 73 75 70 | /* ke|rnel sup|
|00031250| 70 6f 72 74 73 20 6d 75 | 6c 74 69 73 65 67 6d 65 |ports mu|ltisegme|
|00031260| 6e 74 20 63 6f 64 65 20 | 2a 2f 0a 2f 2a 23 64 65 |nt code |*/./*#de|
|00031270| 66 69 6e 65 20 09 55 4e | 4f 54 4d 41 50 50 45 44 |fine .UN|OTMAPPED|
|00031280| 09 2f 2a 20 75 70 61 67 | 65 20 63 6f 70 69 65 64 |./* upag|e copied|
|00031290| 20 69 6e 20 6f 6e 20 63 | 6f 0e 00 06 02 00 59 5f | in on c|o.....Y_|
|000312a0| 00 02 00 1a 2e 2f 75 73 | 72 2f 69 6e 63 6c 75 64 |...../us|r/includ|
|000312b0| 65 2f 73 79 73 2f 70 72 | 6f 63 74 6c 2e 68 01 25 |e/sys/pr|octl.h.%|
|000312c0| 00 00 00 38 20 20 20 34 | 34 34 20 00 20 20 20 20 |...8 4|44 . |
|000312d0| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|000312e0| 20 20 20 31 37 37 34 20 | 20 34 32 34 34 33 34 30 | 1774 | 4244340|
|000312f0| 32 31 31 20 20 31 30 36 | 37 31 00 20 01 b2 00 00 |211 106|71. ....|
|00031300| 0e 00 07 02 00 fb 01 02 | 00 2f 2a 0a 20 2a 09 40 |........|./*. *.@|
|00031310| 28 23 29 20 70 72 6f 63 | 74 6c 2e 68 20 32 2e 31 |(#) proc|tl.h 2.1|
|00031320| 20 38 38 2f 30 35 2f 31 | 38 20 0a 20 2a 0a 20 2a | 88/05/1|8 . *. *|
|00031330| 09 43 6f 70 79 72 69 67 | 68 74 20 28 43 29 20 54 |.Copyrig|ht (C) T|
|00031340| 68 65 20 53 61 6e 74 61 | 20 43 72 75 7a 20 4f 70 |he Santa| Cruz Op|
|00031350| 65 72 61 74 69 6f 6e 2c | 20 31 39 38 34 2c 20 31 |eration,| 1984, 1|
|00031360| 39 38 35 2c 20 31 39 38 | 36 2c 20 31 39 38 37 2e |985, 198|6, 1987.|
|00031370| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|00031380| 29 20 4d 69 63 72 6f 73 | 6f 66 74 20 43 6f 72 70 |) Micros|oft Corp|
|00031390| 6f 72 61 74 69 6f 6e 2c | 20 31 39 38 34 2c 20 31 |oration,| 1984, 1|
|000313a0| 39 38 35 2c 20 31 39 38 | 36 2c 20 31 39 38 37 2e |985, 198|6, 1987.|
|000313b0| 0a 20 2a 09 54 68 69 73 | 20 4d 6f 64 75 6c 65 20 |. *.This| Module |
|000313c0| 63 6f 6e 74 61 69 6e 73 | 20 50 72 6f 70 72 69 65 |contains| Proprie|
|000313d0| 74 61 72 79 20 49 6e 66 | 6f 72 6d 61 74 69 6f 6e |tary Inf|ormation|
|000313e0| 20 6f 66 0a 20 2a 09 54 | 68 65 20 53 61 6e 74 61 | of. *.T|he Santa|
|000313f0| 20 43 72 75 7a 20 4f 70 | 65 72 61 74 69 6f 6e 2c | Cruz Op|eration,|
|00031400| 20 4d 69 63 72 6f 73 6f | 66 74 20 43 6f 72 70 6f | Microso|ft Corpo|
|00031410| 72 61 74 69 6f 6e 0a 20 | 2a 09 61 6e 64 20 41 54 |ration. |*.and AT|
|00031420| 26 54 2c 20 61 6e 64 20 | 73 68 6f 75 6c 64 20 62 |&T, and |should b|
|00031430| 65 20 74 72 65 61 74 65 | 64 20 61 73 20 43 6f 6e |e treate|d as Con|
|00031440| 66 69 64 65 6e 74 69 61 | 6c 2e 0a 20 2a 2f 0a 0a |fidentia|l.. */..|
|00031450| 2f 2a 0a 20 2a 20 54 48 | 49 53 20 46 49 4c 45 20 |/*. * TH|IS FILE |
|00031460| 43 4f 4e 54 41 49 4e 53 | 20 43 4f 44 45 20 57 48 |CONTAINS| CODE WH|
|00031470| 49 43 48 20 49 53 20 44 | 45 53 49 47 4e 45 44 20 |ICH IS D|ESIGNED |
|00031480| 54 4f 20 42 45 0a 20 2a | 20 50 4f 52 54 41 42 4c |TO BE. *| PORTABL|
|00031490| 45 20 42 45 54 57 45 45 | 4e 20 44 49 46 46 45 52 |E BETWEE|N DIFFER|
|000314a0| 45 4e 54 20 4d 41 43 48 | 49 4e 45 20 41 52 43 48 |ENT MACH|INE ARCH|
|000314b0| 49 54 45 43 54 55 52 45 | 53 0a 20 2a 20 41 4e 44 |ITECTURE|S. * AND|
|000314c0| 20 43 4f 4e 46 49 47 55 | 52 41 54 49 4f 4e 53 2e | CONFIGU|RATIONS.|
|000314d0| 20 49 54 20 53 48 4f 55 | 4c 44 20 4e 4f 54 20 52 | IT SHOU|LD NOT R|
|000314e0| 45 51 55 49 52 45 20 41 | 4e 59 0a 20 2a 20 4d 4f |EQUIRE A|NY. * MO|
|000314f0| 44 49 46 49 43 41 54 49 | 4f 4e 53 20 57 48 45 4e |DIFICATI|ONS WHEN|
|00031500| 20 41 44 41 50 54 49 4e | 47 0e 00 08 02 00 62 01 | ADAPTIN|G.....b.|
|00031510| 02 00 20 58 45 4e 49 58 | 20 54 4f 20 4e 45 57 20 |.. XENIX| TO NEW |
|00031520| 48 41 52 44 57 41 52 45 | 2e 0a 20 2a 2f 0a 0a 2f |HARDWARE|.. */../|
|00031530| 2a 20 70 72 6f 63 74 6c | 28 29 20 72 65 71 75 65 |* proctl|() reque|
|00031540| 73 74 73 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 |sts */..|#define |
|00031550| 50 52 48 55 47 45 58 09 | 09 31 09 2f 2a 20 61 6c |PRHUGEX.|.1./* al|
|00031560| 6c 6f 77 20 70 72 6f 63 | 65 73 73 20 3e 20 73 77 |low proc|ess > sw|
|00031570| 61 70 70 65 72 20 73 69 | 7a 65 20 74 6f 20 65 78 |apper si|ze to ex|
|00031580| 65 63 75 74 65 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ecute */|.#define|
|00031590| 20 50 52 4e 4f 52 4d 45 | 58 20 09 32 09 2f 2a 20 | PRNORME|X .2./* |
|000315a0| 72 65 6d 6f 76 65 20 50 | 52 48 55 47 45 58 20 70 |remove P|RHUGEX p|
|000315b0| 65 72 6d 69 73 73 69 6f | 6e 20 2a 2f 0a 23 64 65 |ermissio|n */.#de|
|000315c0| 66 69 6e 65 20 50 52 47 | 45 54 43 4d 45 4d 09 33 |fine PRG|ETCMEM.3|
|000315d0| 09 2f 2a 20 61 6c 6c 6f | 63 61 74 65 20 70 68 79 |./* allo|cate phy|
|000315e0| 73 69 63 61 6c 6c 79 20 | 63 6f 6e 74 69 67 75 6f |sically |contiguo|
|000315f0| 75 73 20 6d 65 6d 6f 72 | 79 20 2a 2f 0a 23 64 65 |us memor|y */.#de|
|00031600| 66 69 6e 65 20 50 52 48 | 47 45 54 43 4d 45 4d 09 |fine PRH|GETCMEM.|
|00031610| 34 09 2f 2a 20 73 61 6d | 65 20 61 73 20 61 62 6f |4./* sam|e as abo|
|00031620| 76 65 2c 20 66 6f 72 20 | 68 75 67 65 20 6d 6f 64 |ve, for |huge mod|
|00031630| 65 6c 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 50 52 |el */.#d|efine PR|
|00031640| 46 52 45 45 43 4d 45 4d | 09 35 09 2f 2a 20 64 65 |FREECMEM|.5./* de|
|00031650| 61 6c 6c 6f 63 61 74 65 | 20 6d 65 6d 6f 72 79 20 |allocate| memory |
|00031660| 61 6c 6c 6f 63 61 74 65 | 64 20 76 69 61 20 50 52 |allocate|d via PR|
|00031670| 47 45 54 43 4d 45 4d 20 | 2a 2f 0a 23 64 65 66 69 |GETCMEM |*/.#defi|
|00031680| 6e 65 20 50 52 48 46 52 | 45 45 43 4d 45 4d 09 36 |ne PRHFR|EECMEM.6|
|00031690| 09 2f 2a 20 73 61 6d 65 | 20 61 73 20 61 62 6f 76 |./* same| as abov|
|000316a0| 65 2c 20 66 6f 72 20 68 | 75 67 65 20 6d 6f 64 65 |e, for h|uge mode|
|000316b0| 6c 20 2a 2f 0a 0a 2f 2a | 20 70 72 6f 63 74 6c 28 |l */../*| proctl(|
|000316c0| 29 20 61 72 67 20 73 74 | 72 75 63 74 75 72 65 73 |) arg st|ructures|
|000316d0| 20 2a 2f 0a 73 74 72 75 | 63 74 09 70 72 5f 63 6d | */.stru|ct.pr_cm|
|000316e0| 65 6d 61 72 67 20 7b 0a | 09 09 63 68 61 72 20 66 |emarg {.|..char f|
|000316f0| 61 72 20 2a 61 64 64 72 | 3b 0a 09 09 6c 6f 6e 67 |ar *addr|;...long|
|00031700| 09 20 20 62 73 69 7a 65 | 3b 0a 7d 3b 0a 0a 54 49 |. bsize|;.};..TI|
|00031710| 4e 47 0e 00 09 02 00 6f | 5f 00 02 00 1a 2e 2f 75 |NG.....o|_...../u|
|00031720| 73 72 2f 69 6e 63 6c 75 | 64 65 2f 73 79 73 2f 70 |sr/inclu|de/sys/p|
|00031730| 72 65 61 64 69 2e 68 01 | 25 00 00 00 38 20 20 20 |readi.h.|%...8 |
|00031740| 34 34 34 20 00 20 20 20 | 20 20 30 20 00 20 20 20 |444 . | 0 . |
|00031750| 20 20 30 20 00 20 20 20 | 20 20 20 20 31 31 30 36 | 0 . | 1106|
|00031760| 20 20 34 32 34 34 33 34 | 30 32 31 30 20 20 31 30 | 424434|0210 10|
|00031770| 36 31 36 00 20 01 b2 00 | 00 0e 00 0a 02 00 d6 01 |616. ...|........|
|00031780| 02 00 2f 2a 0a 20 2a 09 | 40 28 23 29 20 70 72 65 |../*. *.|@(#) pre|
|00031790| 61 64 69 2e 68 20 32 2e | 31 20 38 38 2f 30 35 2f |adi.h 2.|1 88/05/|
|000317a0| 31 38 20 0a 20 2a 0a 20 | 2a 09 43 6f 70 79 72 69 |18 . *. |*.Copyri|
|000317b0| 67 68 74 20 28 43 29 20 | 54 68 65 20 53 61 6e 74 |ght (C) |The Sant|
|000317c0| 61 20 43 72 75 7a 20 4f | 70 65 72 61 74 69 6f 6e |a Cruz O|peration|
|000317d0| 2c 20 31 39 38 34 2c 20 | 31 39 38 35 2c 20 31 39 |, 1984, |1985, 19|
|000317e0| 38 36 2c 20 31 39 38 37 | 2e 0a 20 2a 09 43 6f 70 |86, 1987|.. *.Cop|
|000317f0| 79 72 69 67 68 74 20 28 | 43 29 20 4d 69 63 72 6f |yright (|C) Micro|
|00031800| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|00031810| 2c 20 31 39 38 34 2c 20 | 31 39 38 35 2c 20 31 39 |, 1984, |1985, 19|
|00031820| 38 36 2c 20 31 39 38 37 | 2e 0a 20 2a 09 54 68 69 |86, 1987|.. *.Thi|
|00031830| 73 20 4d 6f 64 75 6c 65 | 20 63 6f 6e 74 61 69 6e |s Module| contain|
|00031840| 73 20 50 72 6f 70 72 69 | 65 74 61 72 79 20 49 6e |s Propri|etary In|
|00031850| 66 6f 72 6d 61 74 69 6f | 6e 20 6f 66 0a 20 2a 09 |formatio|n of. *.|
|00031860| 54 68 65 20 53 61 6e 74 | 61 20 43 72 75 7a 20 4f |The Sant|a Cruz O|
|00031870| 70 65 72 61 74 69 6f 6e | 2c 20 4d 69 63 72 6f 73 |peration|, Micros|
|00031880| 6f 66 74 20 43 6f 72 70 | 6f 72 61 74 69 6f 6e 0a |oft Corp|oration.|
|00031890| 20 2a 09 61 6e 64 20 41 | 54 26 54 2c 20 61 6e 64 | *.and A|T&T, and|
|000318a0| 20 73 68 6f 75 6c 64 20 | 62 65 20 74 72 65 61 74 | should |be treat|
|000318b0| 65 64 20 61 73 20 43 6f | 6e 66 69 64 65 6e 74 69 |ed as Co|nfidenti|
|000318c0| 61 6c 2e 0a 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 09 61 |al.. */.|./*. *.a|
|000318d0| 72 72 61 79 20 66 6f 72 | 20 73 74 6f 72 69 6e 67 |rray for| storing|
|000318e0| 20 70 68 79 73 69 63 61 | 6c 20 74 72 61 6e 73 66 | physica|l transf|
|000318f0| 65 72 20 72 65 71 75 65 | 73 74 73 0a 20 2a 2f 0a |er reque|sts. */.|
|00031900| 73 74 72 75 63 74 20 70 | 72 65 71 20 7b 20 0a 09 |struct p|req { ..|
|00031910| 64 61 64 64 72 5f 74 20 | 70 5f 62 6e 75 6d 3b 0a |daddr_t |p_bnum;.|
|00031920| 09 69 6e 74 20 20 20 20 | 20 70 5f 62 63 6f 75 6e |.int | p_bcoun|
|00031930| 74 3b 0a 7d 3b 0a 09 0a | 73 74 72 75 63 74 20 70 |t;.};...|struct p|
|00031940| 6d 61 70 6e 6f 64 65 20 | 7b 0a 09 69 6e 74 09 70 |mapnode |{..int.p|
|00031950| 5f 62 75 66 69 6e 64 65 | 78 3b 0a 09 69 6e 74 09 |_bufinde|x;..int.|
|00031960| 70 5f 62 75 66 63 6f 75 | 6e 74 3b 0a 7d 3b 0a 0a |p_bufcou|nt;.};..|
|00031970| 23 64 65 66 69 6e 65 20 | 4d 41 58 50 52 45 51 20 |#define |MAXPREQ |
|00031980| 31 30 0e 00 0b 02 00 d5 | 01 02 00 0a 23 64 65 66 |10......|....#def|
|00031990| 69 6e 65 20 4d 41 58 50 | 42 55 46 20 31 30 0a 23 |ine MAXP|BUF 10.#|
|000319a0| 64 65 66 69 6e 65 20 52 | 4f 4b 20 30 0a 23 64 65 |define R|OK 0.#de|
|000319b0| 66 69 6e 65 20 42 41 44 | 52 45 51 20 2d 31 0a 23 |fine BAD|REQ -1.#|
|000319c0| 64 65 66 69 6e 65 20 52 | 45 52 52 4f 52 20 2d 32 |define R|ERROR -2|
|000319d0| 0a 70 65 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |.peratio|n, 1984,|
|000319e0| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|000319f0| 37 2e 0a 20 2a 09 43 6f | 70 79 72 69 67 68 74 20 |7.. *.Co|pyright |
|00031a00| 28 43 29 20 4d 69 63 72 | 6f 73 6f 66 74 20 43 6f |(C) Micr|osoft Co|
|00031a10| 72 70 6f 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |rporatio|n, 1984,|
|00031a20| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|00031a30| 37 2e 0a 20 2a 09 54 68 | 69 73 20 4d 6f 64 75 6c |7.. *.Th|is Modul|
|00031a40| 65 20 63 6f 6e 74 61 69 | 6e 73 20 50 72 6f 70 72 |e contai|ns Propr|
|00031a50| 69 65 74 61 72 79 20 49 | 6e 66 6f 72 6d 61 74 69 |ietary I|nformati|
|00031a60| 6f 6e 20 6f 66 0a 20 2a | 09 54 68 65 20 53 61 6e |on of. *|.The San|
|00031a70| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|00031a80| 6e 2c 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |n, Micro|soft Cor|
|00031a90| 70 6f 72 61 74 69 6f 6e | 0a 20 2a 09 61 6e 64 20 |poration|. *.and |
|00031aa0| 41 54 26 54 2c 20 61 6e | 64 20 73 68 6f 75 6c 64 |AT&T, an|d should|
|00031ab0| 20 62 65 20 74 72 65 61 | 74 65 64 20 61 73 20 43 | be trea|ted as C|
|00031ac0| 6f 6e 66 69 64 65 6e 74 | 69 61 6c 2e 0a 20 2a 2f |onfident|ial.. */|
|00031ad0| 0a 0a 2f 2a 0a 20 2a 09 | 61 72 72 61 79 20 66 6f |../*. *.|array fo|
|00031ae0| 72 20 73 74 6f 72 69 6e | 67 20 70 68 79 73 69 63 |r storin|g physic|
|00031af0| 61 6c 20 74 72 61 6e 73 | 66 65 72 20 72 65 71 75 |al trans|fer requ|
|00031b00| 65 73 74 73 0a 20 2a 2f | 0a 73 74 72 75 63 74 20 |ests. */|.struct |
|00031b10| 70 72 65 71 20 7b 20 0a | 09 64 61 64 64 72 5f 74 |preq { .|.daddr_t|
|00031b20| 20 70 5f 62 6e 75 6d 3b | 0a 09 69 6e 74 20 20 20 | p_bnum;|..int |
|00031b30| 20 20 70 5f 62 63 6f 75 | 6e 74 3b 0a 7d 3b 0a 09 | p_bcou|nt;.};..|
|00031b40| 0a 73 74 72 75 63 74 20 | 70 6d 61 70 6e 6f 64 65 |.struct |pmapnode|
|00031b50| 20 7b 0a 09 69 6e 74 09 | 70 5f 62 75 66 69 6e 64 | {..int.|p_bufind|
|00031b60| 65 78 3b 0a 09 69 6e 74 | 09 70 5f 62 75 66 63 6f |ex;..int|.p_bufco|
|00031b70| 75 6e 74 3b 0a 7d 3b 0a | 0a 23 64 65 66 69 6e 65 |unt;.};.|.#define|
|00031b80| 20 4d 41 58 50 52 45 51 | 20 31 30 0e 00 0c 02 00 | MAXPREQ| 10.....|
|00031b90| ba 5d 00 02 00 18 2e 2f | 75 73 72 2f 69 6e 63 6c |.]...../|usr/incl|
|00031ba0| 75 64 65 2f 73 79 73 2f | 70 6f 6c 6c 2e 68 01 26 |ude/sys/|poll.h.&|
|00031bb0| 00 00 00 38 20 20 20 34 | 34 34 20 00 20 20 20 20 |...8 4|44 . |
|00031bc0| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|00031bd0| 20 20 20 32 37 32 37 20 | 20 34 32 34 34 33 34 30 | 2727 | 4244340|
|00031be0| 31 33 34 20 20 31 30 33 | 33 37 00 20 01 b2 00 00 |134 103|37. ....|
|00031bf0| 0e 00 0d 02 00 25 01 02 | 00 2f 2a 0a 20 2a 09 40 |.....%..|./*. *.@|
|00031c00| 28 23 29 20 70 6f 6c 6c | 2e 68 20 31 2e 31 20 38 |(#) poll|.h 1.1 8|
|00031c10| 38 2f 30 35 2f 31 38 20 | 0a 20 2a 0a 20 2a 09 43 |8/05/18 |. *. *.C|
|00031c20| 6f 70 79 72 69 67 68 74 | 20 28 43 29 20 54 68 65 |opyright| (C) The|
|00031c30| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|00031c40| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|00031c50| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2c 20 31 |5, 1986,| 1987, 1|
|00031c60| 39 38 38 2e 0a 20 2a 09 | 43 6f 70 79 72 69 67 68 |988.. *.|Copyrigh|
|00031c70| 74 20 28 43 29 20 4d 69 | 63 72 6f 73 6f 66 74 20 |t (C) Mi|crosoft |
|00031c80| 43 6f 72 70 6f 72 61 74 | 69 6f 6e 2c 20 31 39 38 |Corporat|ion, 198|
|00031c90| 34 2c 20 31 39 38 35 2c | 20 31 39 38 36 2c 20 31 |4, 1985,| 1986, 1|
|00031ca0| 39 38 37 2c 20 31 39 38 | 38 2e 0a 20 2a 09 54 68 |987, 198|8.. *.Th|
|00031cb0| 69 73 20 4d 6f 64 75 6c | 65 20 63 6f 6e 74 61 69 |is Modul|e contai|
|00031cc0| 6e 73 20 50 72 6f 70 72 | 69 65 74 61 72 79 20 49 |ns Propr|ietary I|
|00031cd0| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 6f 66 0a 20 2a |nformati|on of. *|
|00031ce0| 09 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 |.The San|ta Cruz |
|00031cf0| 4f 70 65 72 61 74 69 6f | 6e 2c 20 4d 69 63 72 6f |Operatio|n, Micro|
|00031d00| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|00031d10| 0a 20 2a 09 61 6e 64 20 | 41 54 26 54 2c 20 61 6e |. *.and |AT&T, an|
|00031d20| 64 20 73 68 6f 75 6c 64 | 20 62 65 20 74 72 65 61 |d should| be trea|
|00031d30| 74 65 64 20 61 73 20 43 | 6f 6e 66 69 64 65 6e 74 |ted as C|onfident|
|00031d40| 69 61 6c 2e 0a 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |ial.. */|../*. * |
|00031d50| 54 48 49 53 20 46 49 4c | 45 20 43 4f 4e 54 41 49 |THIS FIL|E CONTAI|
|00031d60| 4e 53 20 43 4f 44 45 20 | 57 48 49 43 48 20 49 53 |NS CODE |WHICH IS|
|00031d70| 20 44 45 53 49 47 4e 45 | 44 20 54 4f 20 42 45 0a | DESIGNE|D TO BE.|
|00031d80| 20 2a 20 50 4f 52 54 41 | 42 4c 45 20 42 45 54 57 | * PORTA|BLE BETW|
|00031d90| 45 45 4e 20 44 49 46 46 | 45 52 45 4e 54 20 4d 41 |EEN DIFF|ERENT MA|
|00031da0| 43 48 49 4e 45 20 41 52 | 43 48 49 54 45 43 54 55 |CHINE AR|CHITECTU|
|00031db0| 52 45 53 0a 20 2a 20 41 | 4e 44 20 43 4f 4e 46 49 |RES. * A|ND CONFI|
|00031dc0| 47 55 52 41 54 49 4f 4e | 53 2e 20 49 54 20 53 48 |GURATION|S. IT SH|
|00031dd0| 4f 55 4c 44 20 4e 4f 54 | 20 52 45 51 55 49 52 45 |OULD NOT| REQUIRE|
|00031de0| 20 41 4e 59 0a 20 2a 20 | 4d 4f 44 49 46 49 43 41 | ANY. * |MODIFICA|
|00031df0| 54 49 4f 4e 53 20 57 48 | 45 0e 00 0e 02 00 8a 01 |TIONS WH|E.......|
|00031e00| 02 00 4e 20 41 44 41 50 | 54 49 4e 47 20 58 45 4e |..N ADAP|TING XEN|
|00031e10| 49 58 20 54 4f 20 4e 45 | 57 20 48 41 52 44 57 41 |IX TO NE|W HARDWA|
|00031e20| 52 45 2e 0a 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 20 53 |RE.. */.|./*. * S|
|00031e30| 74 72 75 63 74 75 72 65 | 20 6f 66 20 66 69 6c 65 |tructure| of file|
|00031e40| 20 64 65 73 63 72 69 70 | 74 6f 72 2f 65 76 65 6e | descrip|tor/even|
|00031e50| 74 20 70 61 69 72 73 20 | 73 75 70 70 6c 69 65 64 |t pairs |supplied|
|00031e60| 20 69 6e 0a 20 2a 20 74 | 68 65 20 70 6f 6c 6c 20 | in. * t|he poll |
|00031e70| 61 72 72 61 79 73 2e 0a | 20 2a 2f 0a 73 74 72 75 |arrays..| */.stru|
|00031e80| 63 74 20 70 6f 6c 6c 66 | 64 20 7b 0a 09 69 6e 74 |ct pollf|d {..int|
|00031e90| 20 66 64 3b 09 09 09 09 | 2f 2a 20 66 69 6c 65 20 | fd;....|/* file |
|00031ea0| 64 65 73 63 20 74 6f 20 | 70 6f 6c 6c 20 2a 2f 0a |desc to |poll */.|
|00031eb0| 09 73 68 6f 72 74 20 65 | 76 65 6e 74 73 3b 09 09 |.short e|vents;..|
|00031ec0| 09 2f 2a 20 65 76 65 6e | 74 73 20 6f 66 20 69 6e |./* even|ts of in|
|00031ed0| 74 65 72 65 73 74 20 6f | 6e 20 66 64 20 2a 2f 0a |terest o|n fd */.|
|00031ee0| 09 73 68 6f 72 74 20 72 | 65 76 65 6e 74 73 3b 09 |.short r|events;.|
|00031ef0| 09 09 2f 2a 20 65 76 65 | 6e 74 73 20 74 68 61 74 |../* eve|nts that|
|00031f00| 20 6f 63 63 75 72 72 65 | 64 20 6f 6e 20 66 64 20 | occurre|d on fd |
|00031f10| 2a 2f 0a 7d 3b 0a 0a 2f | 2a 0a 20 2a 20 54 65 73 |*/.};../|*. * Tes|
|00031f20| 74 61 62 6c 65 20 73 65 | 6c 65 63 74 20 65 76 65 |table se|lect eve|
|00031f30| 6e 74 73 20 0a 20 2a 2f | 0a 23 64 65 66 69 6e 65 |nts . */|.#define|
|00031f40| 20 50 4f 4c 4c 49 4e 09 | 09 30 31 09 09 2f 2a 20 | POLLIN.|.01../* |
|00031f50| 66 64 20 69 73 20 72 65 | 61 64 61 62 6c 65 20 2a |fd is re|adable *|
|00031f60| 2f 0a 23 64 65 66 69 6e | 65 20 50 4f 4c 4c 50 52 |/.#defin|e POLLPR|
|00031f70| 49 09 09 30 32 09 09 2f | 2a 20 70 72 69 6f 72 69 |I..02../|* priori|
|00031f80| 74 79 20 69 6e 66 6f 20 | 61 74 20 66 64 20 2a 2f |ty info |at fd */|
|00031f90| 0a 23 64 65 66 69 6e 65 | 09 50 4f 4c 4c 4f 55 54 |.#define|.POLLOUT|
|00031fa0| 09 09 30 34 09 09 2f 2a | 20 66 64 20 69 73 20 77 |..04../*| fd is w|
|00031fb0| 72 69 74 65 61 62 6c 65 | 20 28 77 6f 6e 27 74 20 |riteable| (won't |
|00031fc0| 62 6c 6f 63 6b 29 20 2a | 2f 0a 0a 2f 2a 0a 20 2a |block) *|/../*. *|
|00031fd0| 20 4e 6f 6e 2d 74 65 73 | 74 61 62 6c 65 20 70 6f | Non-tes|table po|
|00031fe0| 6c 6c 20 65 76 65 6e 74 | 73 20 28 6d 61 79 20 6e |ll event|s (may n|
|00031ff0| 6f 74 20 62 65 20 73 70 | 65 63 69 66 69 65 64 20 |ot be sp|ecified |
|00032000| 69 6e 0e 00 0f 02 00 7e | 01 02 00 20 65 76 65 6e |in.....~|... even|
|00032010| 74 73 20 66 69 65 6c 64 | 2c 0a 20 2a 20 62 75 74 |ts field|,. * but|
|00032020| 20 6d 61 79 20 62 65 20 | 72 65 74 75 72 6e 65 64 | may be |returned|
|00032030| 20 69 6e 20 72 65 76 65 | 6e 74 73 20 66 69 65 6c | in reve|nts fiel|
|00032040| 64 29 2e 0a 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |d).. */.|#define |
|00032050| 50 4f 4c 4c 45 52 52 09 | 09 30 31 30 09 09 2f 2a |POLLERR.|.010../*|
|00032060| 20 66 64 20 68 61 73 20 | 65 72 72 6f 72 20 63 6f | fd has |error co|
|00032070| 6e 64 69 74 69 6f 6e 20 | 2a 2f 0a 23 64 65 66 69 |ndition |*/.#defi|
|00032080| 6e 65 20 50 4f 4c 4c 48 | 55 50 09 09 30 32 30 09 |ne POLLH|UP..020.|
|00032090| 09 2f 2a 20 66 64 20 68 | 61 73 20 62 65 65 6e 20 |./* fd h|as been |
|000320a0| 68 75 6e 67 20 75 70 20 | 6f 6e 20 2a 2f 0a 23 64 |hung up |on */.#d|
|000320b0| 65 66 69 6e 65 20 50 4f | 4c 4c 4e 56 41 4c 09 30 |efine PO|LLNVAL.0|
|000320c0| 34 30 09 09 2f 2a 20 69 | 6e 76 61 6c 69 64 20 70 |40../* i|nvalid p|
|000320d0| 6f 6c 6c 66 64 20 65 6e | 74 72 79 20 2a 2f 0a 0a |ollfd en|try */..|
|000320e0| 2f 2a 0a 20 2a 20 4e 75 | 6d 62 65 72 20 6f 66 20 |/*. * Nu|mber of |
|000320f0| 70 6f 6c 6c 66 64 20 65 | 6e 74 72 69 65 73 20 74 |pollfd e|ntries t|
|00032100| 6f 20 72 65 61 64 20 69 | 6e 20 61 74 20 61 20 74 |o read i|n at a t|
|00032110| 69 6d 65 20 69 6e 20 70 | 6f 6c 6c 2e 0a 20 2a 20 |ime in p|oll.. * |
|00032120| 54 68 65 20 6c 61 72 67 | 65 72 20 74 68 65 20 76 |The larg|er the v|
|00032130| 61 6c 75 65 20 74 68 65 | 20 62 65 74 74 65 72 20 |alue the| better |
|00032140| 74 68 65 20 70 65 72 66 | 6f 72 6d 61 6e 63 65 2c |the perf|ormance,|
|00032150| 20 75 70 20 74 6f 20 74 | 68 65 0a 20 2a 20 6d 61 | up to t|he. * ma|
|00032160| 78 69 6d 75 6d 20 6e 75 | 6d 62 65 72 20 6f 66 20 |ximum nu|mber of |
|00032170| 6f 70 65 6e 20 66 69 6c | 65 73 20 61 6c 6c 6f 77 |open fil|es allow|
|00032180| 65 64 2e 20 20 4c 61 72 | 67 65 20 6e 75 6d 62 65 |ed. Lar|ge numbe|
|00032190| 72 73 20 77 69 6c 6c 0a | 20 2a 20 75 73 65 20 65 |rs will.| * use e|
|000321a0| 78 63 65 73 73 69 76 65 | 20 61 6d 6f 75 6e 74 73 |xcessive| amounts|
|000321b0| 20 6f 66 20 6b 65 72 6e | 65 6c 20 73 74 61 63 6b | of kern|el stack|
|000321c0| 20 73 70 61 63 65 2e 0a | 20 2a 2f 0a 23 64 65 66 | space..| */.#def|
|000321d0| 69 6e 65 20 4e 50 4f 4c | 4c 46 49 4c 45 09 32 30 |ine NPOL|LFILE.20|
|000321e0| 0a 0a 61 62 6c 65 20 70 | 6f 6c 6c 20 65 76 65 6e |..able p|oll even|
|000321f0| 74 73 20 28 6d 61 79 20 | 6e 6f 74 20 62 65 20 73 |ts (may |not be s|
|00032200| 70 65 63 69 66 69 65 64 | 20 69 6e 0f 0e 01 a5 0e |pecified| in.....|
|00032210| 01 01 02 00 88 5d 00 02 | 00 18 2e 2f 75 73 72 2f |.....]..|.../usr/|
|00032220| 69 6e 63 6c 75 64 65 2f | 73 79 73 2f 70 61 67 65 |include/|sys/page|
|00032230| 2e 68 01 26 00 00 00 38 | 20 20 20 34 34 34 20 00 |.h.&...8| 444 .|
|00032240| 20 20 20 20 20 30 20 00 | 20 20 20 20 20 30 20 00 | 0 .| 0 .|
|00032250| 20 20 20 20 20 20 32 32 | 33 37 34 20 20 34 32 34 | 22|374 424|
|00032260| 34 33 34 30 31 34 37 20 | 20 31 30 33 33 31 00 20 |4340147 | 10331. |
|00032270| 01 b2 00 00 0e 01 02 02 | 00 54 01 02 00 2f 2a 0a |........|.T.../*.|
|00032280| 20 2a 09 40 28 23 29 20 | 70 61 67 65 2e 68 20 32 | *.@(#) |page.h 2|
|00032290| 2e 33 20 38 38 2f 30 35 | 2f 31 38 20 0a 20 2a 0a |.3 88/05|/18 . *.|
|000322a0| 20 2a 09 43 6f 70 79 72 | 69 67 68 74 20 28 43 29 | *.Copyr|ight (C)|
|000322b0| 20 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 | The San|ta Cruz |
|000322c0| 4f 70 65 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |Operatio|n, 1984,|
|000322d0| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|000322e0| 37 2e 0a 20 2a 09 43 6f | 70 79 72 69 67 68 74 20 |7.. *.Co|pyright |
|000322f0| 28 43 29 20 4d 69 63 72 | 6f 73 6f 66 74 20 43 6f |(C) Micr|osoft Co|
|00032300| 72 70 6f 72 61 74 69 6f | 6e 2c 20 31 39 38 34 2c |rporatio|n, 1984,|
|00032310| 20 31 39 38 35 2c 20 31 | 39 38 36 2c 20 31 39 38 | 1985, 1|986, 198|
|00032320| 37 2e 0a 20 2a 09 54 68 | 69 73 20 4d 6f 64 75 6c |7.. *.Th|is Modul|
|00032330| 65 20 63 6f 6e 74 61 69 | 6e 73 20 50 72 6f 70 72 |e contai|ns Propr|
|00032340| 69 65 74 61 72 79 20 49 | 6e 66 6f 72 6d 61 74 69 |ietary I|nformati|
|00032350| 6f 6e 20 6f 66 0a 20 2a | 09 54 68 65 20 53 61 6e |on of. *|.The San|
|00032360| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|00032370| 6e 2c 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |n, Micro|soft Cor|
|00032380| 70 6f 72 61 74 69 6f 6e | 0a 20 2a 09 61 6e 64 20 |poration|. *.and |
|00032390| 41 54 26 54 2c 20 61 6e | 64 20 73 68 6f 75 6c 64 |AT&T, an|d should|
|000323a0| 20 62 65 20 74 72 65 61 | 74 65 64 20 61 73 20 43 | be trea|ted as C|
|000323b0| 6f 6e 66 69 64 65 6e 74 | 69 61 6c 2e 0a 20 2a 2f |onfident|ial.. */|
|000323c0| 0a 0a 0a 23 69 66 64 65 | 66 20 4d 5f 49 33 38 36 |...#ifde|f M_I386|
|000323d0| 0a 0a 2f 2a 0a 20 2a 20 | 46 6f 72 6d 61 74 20 6f |../*. * |Format o|
|000323e0| 66 20 61 20 70 61 67 65 | 20 64 69 72 65 63 74 6f |f a page| directo|
|000323f0| 72 79 20 6f 72 20 70 61 | 67 65 20 74 61 62 6c 65 |ry or pa|ge table|
|00032400| 20 65 6e 74 72 79 0a 20 | 2a 0a 20 2a 09 4e 2e 42 | entry. |*. *.N.B|
|00032410| 2e 3a 20 69 66 20 74 65 | 5f 70 72 65 73 20 69 73 |.: if te|_pres is|
|00032420| 20 7a 65 72 6f 2c 20 74 | 68 65 20 6f 74 68 65 72 | zero, t|he other|
|00032430| 20 62 69 74 73 20 68 61 | 76 65 20 6e 6f 20 61 73 | bits ha|ve no as|
|00032440| 73 69 67 6e 65 64 20 6d | 65 61 6e 69 6e 67 2c 0a |signed m|eaning,.|
|00032450| 20 2a 09 20 20 20 20 20 | 20 61 6e 64 20 61 72 65 | *. | and are|
|00032460| 20 61 6c 6c 20 61 76 61 | 69 6c 61 62 6c 65 20 66 | all ava|ilable f|
|00032470| 6f 72 20 73 6f 66 74 77 | 61 72 65 20 75 0e 01 03 |or softw|are u...|
|00032480| 02 00 6c 01 02 00 73 65 | 2e 0a 20 2a 0a 20 2a 09 |..l...se|.. *. *.|
|00032490| 57 68 65 6e 20 74 68 65 | 20 70 61 67 65 20 74 61 |When the| page ta|
|000324a0| 62 6c 65 20 65 6e 74 72 | 79 20 69 73 20 6d 61 72 |ble entr|y is mar|
|000324b0| 6b 65 64 20 70 72 65 73 | 65 6e 74 2c 20 74 68 65 |ked pres|ent, the|
|000324c0| 20 70 61 67 65 20 66 72 | 61 6d 65 20 6e 75 6d 62 | page fr|ame numb|
|000324d0| 65 72 0a 20 2a 09 28 74 | 65 5f 66 72 61 6d 65 6e |er. *.(t|e_framen|
|000324e0| 6f 29 20 72 65 66 65 72 | 73 20 74 6f 20 61 20 6d |o) refer|s to a m|
|000324f0| 65 6d 6f 72 79 20 66 72 | 61 6d 65 2e 20 20 57 68 |emory fr|ame. Wh|
|00032500| 65 6e 20 74 68 65 20 50 | 54 45 20 69 73 20 6d 61 |en the P|TE is ma|
|00032510| 72 6b 65 64 20 0a 20 2a | 09 6e 6f 74 20 70 72 65 |rked . *|.not pre|
|00032520| 73 65 6e 74 2c 20 74 65 | 5f 66 72 61 6d 65 6e 6f |sent, te|_frameno|
|00032530| 20 72 65 66 65 72 73 20 | 74 6f 20 61 20 73 77 61 | refers |to a swa|
|00032540| 70 20 66 72 61 6d 65 2e | 0a 20 2a 2f 0a 73 74 72 |p frame.|. */.str|
|00032550| 75 63 74 20 74 61 62 65 | 6e 74 20 7b 0a 09 75 6e |uct tabe|nt {..un|
|00032560| 73 69 67 6e 65 64 20 6c | 6f 6e 67 09 74 65 5f 66 |signed l|ong.te_f|
|00032570| 6c 61 67 73 3a 39 3b 09 | 2f 2a 20 73 65 65 20 62 |lags:9;.|/* see b|
|00032580| 65 6c 6f 77 20 2a 2f 0a | 09 75 6e 73 69 67 6e 65 |elow */.|.unsigne|
|00032590| 64 20 6c 6f 6e 67 09 74 | 65 5f 74 79 70 65 3a 33 |d long.t|e_type:3|
|000325a0| 3b 09 2f 2a 20 73 65 65 | 20 62 65 6c 6f 77 20 2a |;./* see| below *|
|000325b0| 2f 0a 09 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |/..unsig|ned long|
|000325c0| 09 74 65 5f 66 72 61 6d | 65 6e 6f 3a 32 30 3b 09 |.te_fram|eno:20;.|
|000325d0| 2f 2a 20 73 65 65 20 62 | 65 6c 6f 77 20 2a 2f 0a |/* see b|elow */.|
|000325e0| 7d 3b 0a 0a 2f 2a 0a 20 | 2a 20 76 61 6c 75 65 73 |};../*. |* values|
|000325f0| 20 6f 66 20 74 65 5f 66 | 6c 61 67 73 0a 20 2a 2f | of te_f|lags. */|
|00032600| 0a 23 64 65 66 69 6e 65 | 20 54 46 5f 50 52 45 53 |.#define| TF_PRES|
|00032610| 45 4e 54 09 30 78 30 30 | 31 09 2f 2a 20 70 61 67 |ENT.0x00|1./* pag|
|00032620| 65 20 69 73 20 70 72 65 | 73 65 6e 74 20 2a 2f 0a |e is pre|sent */.|
|00032630| 23 64 65 66 69 6e 65 20 | 54 46 5f 57 52 49 54 45 |#define |TF_WRITE|
|00032640| 09 30 78 30 30 32 09 2f | 2a 20 70 61 67 65 20 69 |.0x002./|* page i|
|00032650| 73 20 77 72 69 74 61 62 | 6c 65 20 2a 2f 0a 23 64 |s writab|le */.#d|
|00032660| 65 66 69 6e 65 20 54 46 | 5f 55 53 45 52 09 09 30 |efine TF|_USER..0|
|00032670| 78 30 30 34 09 2f 2a 20 | 61 63 63 65 73 73 20 69 |x004./* |access i|
|00032680| 73 20 6b 65 72 6e 0e 01 | 04 02 00 e3 01 02 00 65 |s kern..|.......e|
|00032690| 6c 20 6f 6e 6c 79 20 2a | 2f 0a 23 64 65 66 69 6e |l only *|/.#defin|
|000326a0| 65 20 54 46 5f 52 45 53 | 31 09 09 30 78 30 30 38 |e TF_RES|1..0x008|
|000326b0| 09 2f 2a 20 72 65 73 65 | 72 76 65 64 20 6d 75 73 |./* rese|rved mus|
|000326c0| 74 20 6e 6f 74 20 62 65 | 20 73 65 74 20 2a 2f 0a |t not be| set */.|
|000326d0| 23 64 65 66 69 6e 65 20 | 54 46 5f 52 45 53 32 09 |#define |TF_RES2.|
|000326e0| 09 30 78 30 31 30 09 2f | 2a 20 72 65 73 65 72 76 |.0x010./|* reserv|
|000326f0| 65 64 20 6d 75 73 74 20 | 6e 6f 74 20 62 65 20 73 |ed must |not be s|
|00032700| 65 74 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 46 |et */.#d|efine TF|
|00032710| 5f 41 43 43 45 53 53 45 | 44 09 30 78 30 32 30 09 |_ACCESSE|D.0x020.|
|00032720| 2f 2a 20 70 61 67 65 20 | 68 61 73 20 62 65 65 6e |/* page |has been|
|00032730| 20 61 63 63 65 73 73 65 | 64 20 2a 2f 0a 23 64 65 | accesse|d */.#de|
|00032740| 66 69 6e 65 20 54 46 5f | 44 49 52 54 59 09 30 78 |fine TF_|DIRTY.0x|
|00032750| 30 34 30 09 2f 2a 20 70 | 61 67 65 20 68 61 73 20 |040./* p|age has |
|00032760| 62 65 65 6e 20 77 72 69 | 74 74 65 6e 20 2a 2f 0a |been wri|tten */.|
|00032770| 23 64 65 66 69 6e 65 20 | 54 46 5f 52 45 53 33 09 |#define |TF_RES3.|
|00032780| 09 30 78 30 38 30 09 2f | 2a 20 72 65 73 65 72 76 |.0x080./|* reserv|
|00032790| 65 64 20 6d 75 73 74 20 | 6e 6f 74 20 62 65 20 73 |ed must |not be s|
|000327a0| 65 74 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 46 |et */.#d|efine TF|
|000327b0| 5f 52 45 53 34 09 09 30 | 78 31 30 30 09 2f 2a 20 |_RES4..0|x100./* |
|000327c0| 72 65 73 65 72 76 65 64 | 20 6d 75 73 74 20 6e 6f |reserved| must no|
|000327d0| 74 20 62 65 20 73 65 74 | 20 2a 2f 0a 0a 2f 2a 0a |t be set| */../*.|
|000327e0| 20 2a 20 76 61 6c 75 65 | 73 20 6f 66 20 74 65 5f | * value|s of te_|
|000327f0| 74 79 70 65 0a 20 2a 2f | 0a 23 64 65 66 69 6e 65 |type. */|.#define|
|00032800| 20 54 45 5f 49 4e 56 41 | 4c 49 44 09 30 09 2f 2a | TE_INVA|LID.0./*|
|00032810| 20 70 61 67 65 20 69 73 | 20 6e 6f 74 20 76 61 6c | page is| not val|
|00032820| 69 64 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 54 45 |id */.#d|efine TE|
|00032830| 5f 46 49 4c 53 59 53 09 | 31 09 2f 2a 20 74 65 78 |_FILSYS.|1./* tex|
|00032840| 74 20 70 61 67 65 20 72 | 65 73 69 64 65 73 20 6f |t page r|esides o|
|00032850| 6e 20 66 69 6c 65 73 79 | 73 74 65 6d 20 2a 2f 0a |n filesy|stem */.|
|00032860| 23 64 65 66 69 6e 65 20 | 54 45 5f 4c 4f 43 4b 45 |#define |TE_LOCKE|
|00032870| 44 09 32 09 2f 2a 20 70 | 61 67 65 20 69 73 20 6c |D.2./* p|age is l|
|00032880| 6f 63 6b 65 64 20 69 6e | 20 63 6f 72 65 20 28 0e |ocked in| core (.|
|00032890| 01 05 02 00 81 01 02 00 | 73 68 61 72 65 64 20 64 |........|shared d|
|000328a0| 61 74 61 29 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ata) */.|#define |
|000328b0| 54 45 5f 53 57 41 50 09 | 09 33 09 2f 2a 20 70 61 |TE_SWAP.|.3./* pa|
|000328c0| 67 65 20 72 65 73 69 64 | 65 73 20 6f 6e 20 73 77 |ge resid|es on sw|
|000328d0| 61 70 20 61 72 65 61 20 | 2a 2f 0a 23 64 65 66 69 |ap area |*/.#defi|
|000328e0| 6e 65 20 54 45 5f 5a 45 | 52 4f 09 09 34 09 2f 2a |ne TE_ZE|RO..4./*|
|000328f0| 20 7a 65 72 6f 20 66 69 | 6c 6c 20 6f 6e 20 61 63 | zero fi|ll on ac|
|00032900| 63 65 73 73 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |cess */.|#define |
|00032910| 54 45 5f 43 4f 50 59 09 | 09 35 09 2f 2a 20 63 6f |TE_COPY.|.5./* co|
|00032920| 70 79 20 6f 6e 20 77 72 | 69 74 65 20 2a 2f 0a 23 |py on wr|ite */.#|
|00032930| 64 65 66 69 6e 65 20 54 | 45 5f 49 4e 54 52 4e 09 |define T|E_INTRN.|
|00032940| 36 09 2f 2a 20 66 69 6c | 65 73 79 73 74 65 6d 20 |6./* fil|esystem |
|00032950| 70 61 67 65 20 69 6e 20 | 74 72 61 6e 73 69 74 20 |page in |transit |
|00032960| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 54 45 5f 54 41 |*/.#defi|ne TE_TA|
|00032970| 42 4c 45 09 37 09 2f 2a | 20 70 61 67 65 20 74 61 |BLE.7./*| page ta|
|00032980| 62 6c 65 20 6f 72 20 75 | 20 61 72 65 61 20 70 61 |ble or u| area pa|
|00032990| 67 65 20 2a 2f 0a 0a 2f | 2a 20 0a 20 2a 20 66 6f |ge */../|* . * fo|
|000329a0| 72 6d 61 74 20 6f 66 20 | 61 20 6c 69 6e 65 61 72 |rmat of |a linear|
|000329b0| 20 61 64 64 72 65 73 73 | 0a 20 2a 2f 0a 73 74 72 | address|. */.str|
|000329c0| 75 63 74 20 6c 61 64 64 | 72 20 7b 0a 09 75 6e 73 |uct ladd|r {..uns|
|000329d0| 69 67 6e 65 64 20 6c 61 | 5f 6f 66 66 3a 31 32 3b |igned la|_off:12;|
|000329e0| 09 09 2f 2a 20 6f 66 66 | 73 65 74 20 6f 66 20 62 |../* off|set of b|
|000329f0| 79 74 65 20 69 6e 20 70 | 61 67 65 20 2a 2f 0a 09 |yte in p|age */..|
|00032a00| 75 6e 73 69 67 6e 65 64 | 20 6c 61 5f 70 61 67 65 |unsigned| la_page|
|00032a10| 3a 31 30 3b 09 09 2f 2a | 20 6f 66 66 73 65 74 20 |:10;../*| offset |
|00032a20| 6f 66 20 70 74 65 20 69 | 6e 20 70 61 67 65 20 74 |of pte i|n page t|
|00032a30| 61 62 6c 65 20 2a 2f 20 | 0a 09 75 6e 73 69 67 6e |able */ |..unsign|
|00032a40| 65 64 20 6c 61 5f 64 69 | 72 3a 31 30 3b 09 09 2f |ed la_di|r:10;../|
|00032a50| 2a 20 6f 66 66 73 65 74 | 20 6f 66 20 70 64 65 20 |* offset| of pde |
|00032a60| 69 6e 20 70 61 67 65 20 | 64 69 72 65 63 74 6f 72 |in page |director|
|00032a70| 79 20 2a 2f 0a 7d 3b 0a | 0a 2f 2a 0a 20 2a 20 6c |y */.};.|./*. * l|
|00032a80| 61 79 6f 75 74 20 6f 66 | 20 61 20 6d 65 6d 6f 72 |ayout of| a memor|
|00032a90| 79 20 70 61 67 65 20 66 | 0e 01 06 02 00 b2 01 02 |y page f|........|
|00032aa0| 00 72 61 6d 65 20 69 6e | 66 6f 72 6d 61 74 69 6f |.rame in|formatio|
|00032ab0| 6e 20 73 74 72 75 63 74 | 75 72 65 20 0a 20 2a 2f |n struct|ure . */|
|00032ac0| 0a 73 74 72 75 63 74 20 | 6d 70 66 69 20 7b 0a 09 |.struct |mpfi {..|
|00032ad0| 73 74 72 75 63 74 20 6d | 70 66 69 20 2a 6d 70 5f |struct m|pfi *mp_|
|00032ae0| 66 77 2c 20 2a 6d 70 5f | 62 77 3b 09 2f 2a 20 66 |fw, *mp_|bw;./* f|
|00032af0| 72 65 65 6c 69 73 74 20 | 63 68 61 69 6e 73 20 2a |reelist |chains *|
|00032b00| 2f 0a 09 73 74 72 75 63 | 74 20 64 70 66 69 20 2a |/..struc|t dpfi *|
|00032b10| 6d 70 5f 78 6c 69 6e 6b | 3b 09 09 2f 2a 20 6c 69 |mp_xlink|;../* li|
|00032b20| 6e 6b 20 74 6f 20 6f 74 | 68 65 72 20 6d 61 70 20 |nk to ot|her map |
|00032b30| 2a 2f 0a 09 73 74 72 75 | 63 74 20 6d 70 66 69 20 |*/..stru|ct mpfi |
|00032b40| 2a 6d 70 5f 68 61 73 68 | 3b 09 09 2f 2a 20 6c 69 |*mp_hash|;../* li|
|00032b50| 6e 6b 20 66 6f 72 20 66 | 69 6c 73 79 73 20 63 61 |nk for f|ilsys ca|
|00032b60| 63 68 65 20 6c 69 73 74 | 20 2a 2f 0a 09 75 6e 73 |che list| */..uns|
|00032b70| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 6d 70 5f 72 |igned sh|ort mp_r|
|00032b80| 63 6e 74 3b 09 09 2f 2a | 20 72 65 66 65 72 65 6e |cnt;../*| referen|
|00032b90| 63 65 20 63 6f 75 6e 74 | 20 2a 2f 0a 09 75 6e 73 |ce count| */..uns|
|00032ba0| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 6d 70 5f 66 |igned sh|ort mp_f|
|00032bb0| 6c 61 67 73 3b 09 2f 2a | 20 73 65 65 20 62 65 6c |lags;./*| see bel|
|00032bc0| 6f 77 20 66 6f 72 20 76 | 61 6c 75 65 73 20 2a 2f |ow for v|alues */|
|00032bd0| 0a 09 64 65 76 5f 74 20 | 20 20 20 6d 70 5f 64 65 |..dev_t | mp_de|
|00032be0| 76 3b 09 09 2f 2a 20 64 | 65 76 69 63 65 20 66 6f |v;../* d|evice fo|
|00032bf0| 72 20 66 69 6c 73 79 73 | 20 70 61 67 65 20 2a 2f |r filsys| page */|
|00032c00| 0a 09 69 6e 6f 5f 74 20 | 20 20 20 6d 70 5f 69 6e |..ino_t | mp_in|
|00032c10| 6f 3b 09 09 2f 2a 20 69 | 6e 6f 64 65 20 66 6f 72 |o;../* i|node for|
|00032c20| 20 66 69 6c 73 79 73 20 | 70 61 67 65 20 2a 2f 0a | filsys |page */.|
|00032c30| 09 64 61 64 64 72 5f 74 | 20 6d 70 5f 62 6c 6f 63 |.daddr_t| mp_bloc|
|00032c40| 6b 6e 6f 3b 09 09 2f 2a | 20 62 6c 6f 63 6b 20 66 |kno;../*| block f|
|00032c50| 6f 72 20 66 69 6c 73 79 | 73 20 70 61 67 65 20 2a |or filsy|s page *|
|00032c60| 2f 0a 23 69 66 64 65 66 | 20 53 41 4e 49 54 59 0a |/.#ifdef| SANITY.|
|00032c70| 09 75 6e 73 69 67 6e 65 | 64 20 69 6e 74 20 6d 70 |.unsigne|d int mp|
|00032c80| 5f 74 79 70 65 3b 09 09 | 2f 2a 20 74 79 70 65 20 |_type;..|/* type |
|00032c90| 6f 66 20 70 61 67 65 20 | 69 6e 20 74 68 69 73 20 |of page |in this |
|00032ca0| 66 0e 01 07 02 00 22 01 | 02 00 72 61 6d 65 20 2a |f.....".|..rame *|
|00032cb0| 2f 0a 23 65 6e 64 69 66 | 0a 09 75 6e 73 69 67 6e |/.#endif|..unsign|
|00032cc0| 65 64 20 63 68 61 72 20 | 6d 70 5f 6c 63 6e 74 3b |ed char |mp_lcnt;|
|00032cd0| 09 09 2f 2a 20 6e 75 6d | 62 65 72 20 6f 66 20 6c |../* num|ber of l|
|00032ce0| 6f 63 6b 73 20 6f 6e 20 | 74 68 69 73 20 70 61 67 |ocks on |this pag|
|00032cf0| 65 20 2a 2f 0a 09 69 6e | 74 20 6d 70 5f 78 73 65 |e */..in|t mp_xse|
|00032d00| 72 3b 09 09 09 2f 2a 20 | 78 6c 69 6e 6b 20 73 65 |r;.../* |xlink se|
|00032d10| 72 69 61 6c 20 6e 75 6d | 62 65 72 20 2a 2f 0a 09 |rial num|ber */..|
|00032d20| 69 6e 74 20 6d 70 5f 70 | 69 64 3b 09 09 09 2f 2a |int mp_p|id;.../*|
|00032d30| 20 70 69 64 20 6f 66 20 | 6f 77 6e 65 72 20 69 66 | pid of |owner if|
|00032d40| 20 54 45 5f 53 57 41 50 | 20 2a 2f 0a 7d 3b 0a 65 | TE_SWAP| */.};.e|
|00032d50| 78 74 65 72 6e 20 73 74 | 72 75 63 74 20 6d 70 66 |xtern st|ruct mpf|
|00032d60| 69 20 2a 6d 66 74 6f 6d | 70 28 29 3b 0a 65 78 74 |i *mftom|p();.ext|
|00032d70| 65 72 6e 20 70 66 6e 5f | 74 20 6d 70 74 6f 6d 66 |ern pfn_|t mptomf|
|00032d80| 28 29 3b 0a 0a 2f 2a 0a | 20 2a 20 76 61 6c 75 65 |();../*.| * value|
|00032d90| 73 20 6f 66 20 6d 70 5f | 66 6c 61 67 73 0a 20 2a |s of mp_|flags. *|
|00032da0| 2f 0a 23 64 65 66 69 6e | 65 20 4d 46 5f 49 4e 54 |/.#defin|e MF_INT|
|00032db0| 52 41 4e 53 49 54 09 31 | 0a 23 64 65 66 69 6e 65 |RANSIT.1|.#define|
|00032dc0| 20 4d 46 5f 4e 4f 54 49 | 46 59 09 32 0a 23 64 65 | MF_NOTI|FY.2.#de|
|00032dd0| 66 69 6e 65 20 4d 46 5f | 44 49 52 54 59 09 34 0a |fine MF_|DIRTY.4.|
|00032de0| 23 64 65 66 69 6e 65 20 | 4d 46 5f 43 41 43 48 45 |#define |MF_CACHE|
|00032df0| 09 38 0a 23 64 65 66 69 | 6e 65 20 4d 46 5f 4c 4f |.8.#defi|ne MF_LO|
|00032e00| 43 4b 45 44 09 31 36 0a | 0a 73 74 72 75 63 74 20 |CKED.16.|.struct |
|00032e10| 64 70 66 69 20 7b 0a 09 | 73 74 72 75 63 74 20 64 |dpfi {..|struct d|
|00032e20| 70 66 69 20 2a 64 70 5f | 66 77 2c 20 2a 64 70 5f |pfi *dp_|fw, *dp_|
|00032e30| 62 77 3b 09 2f 2a 20 66 | 72 65 65 6c 69 73 74 20 |bw;./* f|reelist |
|00032e40| 63 68 61 69 6e 73 20 2a | 2f 0a 09 73 74 72 75 63 |chains *|/..struc|
|00032e50| 74 20 6d 70 66 69 20 2a | 64 70 5f 78 6c 69 6e 6b |t mpfi *|dp_xlink|
|00032e60| 3b 0a 09 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 |;..unsig|ned shor|
|00032e70| 74 20 64 70 5f 66 6c 61 | 67 73 3b 0a 09 75 6e 73 |t dp_fla|gs;..uns|
|00032e80| 69 67 6e 65 64 20 73 68 | 6f 72 74 20 64 70 5f 72 |igned sh|ort dp_r|
|00032e90| 63 6e 74 3b 0a 23 69 66 | 64 65 66 20 53 41 4e 49 |cnt;.#if|def SANI|
|00032ea0| 54 59 0a 09 75 6e 73 69 | 67 6e 0e 01 08 02 00 05 |TY..unsi|gn......|
|00032eb0| 01 02 00 65 64 20 69 6e | 74 20 64 70 5f 74 79 70 |...ed in|t dp_typ|
|00032ec0| 65 3b 09 09 2f 2a 20 74 | 79 70 65 20 6f 66 20 70 |e;../* t|ype of p|
|00032ed0| 61 67 65 20 69 6e 20 74 | 68 69 73 20 66 72 61 6d |age in t|his fram|
|00032ee0| 65 20 2a 2f 0a 23 65 6e | 64 69 66 0a 09 69 6e 74 |e */.#en|dif..int|
|00032ef0| 20 64 70 5f 78 73 65 72 | 3b 09 09 09 2f 2a 20 78 | dp_xser|;.../* x|
|00032f00| 6c 69 6e 6b 20 73 65 72 | 69 61 6c 20 6e 75 6d 62 |link ser|ial numb|
|00032f10| 65 72 20 2a 2f 0a 09 69 | 6e 74 20 64 70 5f 70 69 |er */..i|nt dp_pi|
|00032f20| 64 3b 09 09 09 2f 2a 20 | 70 69 64 20 6f 66 20 6f |d;.../* |pid of o|
|00032f30| 77 6e 65 72 20 69 66 20 | 54 45 5f 53 57 41 50 20 |wner if |TE_SWAP |
|00032f40| 2a 2f 0a 7d 3b 0a 65 78 | 74 65 72 6e 20 73 74 72 |*/.};.ex|tern str|
|00032f50| 75 63 74 20 64 70 66 69 | 20 2a 64 66 74 6f 64 70 |uct dpfi| *dftodp|
|00032f60| 28 29 3b 0a 0a 2f 2a 0a | 20 2a 20 76 61 6c 75 65 |();../*.| * value|
|00032f70| 73 20 6f 66 20 64 70 5f | 66 6c 61 67 73 0a 20 2a |s of dp_|flags. *|
|00032f80| 2f 0a 23 64 65 66 69 6e | 65 20 44 46 5f 49 4e 54 |/.#defin|e DF_INT|
|00032f90| 52 41 4e 53 49 54 09 31 | 0a 23 64 65 66 69 6e 65 |RANSIT.1|.#define|
|00032fa0| 20 44 46 5f 4e 4f 54 49 | 46 59 09 32 0a 23 64 65 | DF_NOTI|FY.2.#de|
|00032fb0| 66 69 6e 65 20 44 46 5f | 44 49 52 54 59 09 34 0a |fine DF_|DIRTY.4.|
|00032fc0| 0a 0a 2f 2a 0a 20 2a 20 | 76 61 6c 75 65 73 20 6f |../*. * |values o|
|00032fd0| 66 20 63 72 30 20 72 65 | 67 69 73 74 65 72 0a 20 |f cr0 re|gister. |
|00032fe0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 43 52 30 5f 50 |*/.#defi|ne CR0_P|
|00032ff0| 45 09 30 78 30 30 30 30 | 30 30 30 31 09 2f 2a 20 |E.0x0000|0001./* |
|00033000| 70 72 6f 74 65 63 74 69 | 6f 6e 20 65 6e 61 62 6c |protecti|on enabl|
|00033010| 65 64 20 28 73 65 67 6d | 65 6e 74 61 74 69 6f 6e |ed (segm|entation|
|00033020| 29 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 43 52 30 |) */.#de|fine CR0|
|00033030| 5f 4d 50 09 30 78 30 30 | 30 30 30 30 30 32 09 2f |_MP.0x00|000002./|
|00033040| 2a 20 6d 6f 6e 69 74 6f | 72 20 63 6f 70 72 6f 63 |* monito|r coproc|
|00033050| 65 73 73 6f 72 20 2a 2f | 0a 23 64 65 66 69 6e 65 |essor */|.#define|
|00033060| 20 43 52 30 5f 45 4d 09 | 30 78 30 30 30 30 30 30 | CR0_EM.|0x000000|
|00033070| 30 34 09 2f 2a 20 65 6d | 75 6c 61 74 65 20 63 6f |04./* em|ulate co|
|00033080| 70 72 6f 63 65 73 73 6f | 72 20 2a 2f 0a 23 64 65 |processo|r */.#de|
|00033090| 66 69 6e 65 20 43 52 30 | 5f 54 53 09 30 78 30 30 |fine CR0|_TS.0x00|
|000330a0| 30 30 30 30 30 38 09 2f | 2a 20 74 61 73 6b 20 73 |000008./|* task s|
|000330b0| 77 69 74 0e 01 09 02 00 | f2 01 02 00 63 68 65 64 |wit.....|....ched|
|000330c0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 43 52 30 5f | */.#def|ine CR0_|
|000330d0| 45 54 09 30 78 30 30 30 | 30 30 30 31 30 09 2f 2a |ET.0x000|00010./*|
|000330e0| 20 63 6f 70 72 6f 63 65 | 73 73 6f 72 20 74 79 70 | coproce|ssor typ|
|000330f0| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 43 52 30 |e */.#de|fine CR0|
|00033100| 5f 50 47 09 30 78 38 30 | 30 30 30 30 30 30 09 2f |_PG.0x80|000000./|
|00033110| 2a 20 70 61 67 69 6e 67 | 20 65 6e 61 62 6c 65 64 |* paging| enabled|
|00033120| 20 2a 2f 0a 0a 2f 2a 0a | 20 2a 20 61 72 67 75 6d | */../*.| * argum|
|00033130| 65 6e 74 73 20 74 6f 20 | 63 68 67 70 72 6f 74 0a |ents to |chgprot.|
|00033140| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 52 4f 09 30 | */.#def|ine RO.0|
|00033150| 0a 23 64 65 66 69 6e 65 | 20 52 57 09 54 46 5f 57 |.#define| RW.TF_W|
|00033160| 52 49 54 45 0a 0a 2f 2a | 0a 20 2a 20 73 6f 6d 65 |RITE../*|. * some|
|00033170| 20 75 73 65 66 75 6c 20 | 63 6f 6e 73 74 61 6e 74 | useful |constant|
|00033180| 73 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 50 47 |s. */.#d|efine PG|
|00033190| 53 49 5a 45 09 63 74 6f | 62 28 31 29 0a 23 64 65 |SIZE.cto|b(1).#de|
|000331a0| 66 69 6e 65 20 4e 45 50 | 54 09 28 63 74 6f 62 28 |fine NEP|T.(ctob(|
|000331b0| 31 29 2f 73 69 7a 65 6f | 66 28 73 74 72 75 63 74 |1)/sizeo|f(struct|
|000331c0| 20 74 61 62 65 6e 74 29 | 29 0a 23 64 65 66 69 6e | tabent)|).#defin|
|000331d0| 65 20 4e 42 50 54 09 28 | 4e 45 50 54 2a 63 74 6f |e NBPT.(|NEPT*cto|
|000331e0| 62 28 31 29 29 0a 0a 2f | 2a 20 68 6f 77 20 6d 61 |b(1))../|* how ma|
|000331f0| 6e 79 20 70 64 65 27 73 | 20 6e 65 65 64 65 64 20 |ny pde's| needed |
|00033200| 74 6f 20 6d 61 70 20 6e | 20 62 79 74 65 73 20 2a |to map n| bytes *|
|00033210| 2f 0a 23 64 65 66 69 6e | 65 20 62 74 6f 70 64 65 |/.#defin|e btopde|
|00033220| 28 6e 29 20 28 28 28 6e | 29 20 2b 20 4e 42 50 54 |(n) (((n|) + NBPT|
|00033230| 20 2d 20 31 29 2f 4e 42 | 50 54 29 0a 23 64 65 66 | - 1)/NB|PT).#def|
|00033240| 69 6e 65 20 62 74 6f 70 | 64 65 74 28 6e 29 20 28 |ine btop|det(n) (|
|00033250| 28 6e 29 2f 4e 42 50 54 | 29 0a 0a 2f 2a 20 68 6f |(n)/NBPT|)../* ho|
|00033260| 77 20 6d 61 6e 79 20 70 | 61 67 65 20 74 61 62 6c |w many p|age tabl|
|00033270| 65 20 65 6e 74 72 69 65 | 73 20 74 6f 20 6d 61 70 |e entrie|s to map|
|00033280| 20 6e 20 62 79 74 65 73 | 20 2a 2f 0a 23 64 65 66 | n bytes| */.#def|
|00033290| 69 6e 65 20 62 74 6f 70 | 74 65 28 6e 29 20 28 28 |ine btop|te(n) ((|
|000332a0| 28 6e 29 20 2b 20 63 74 | 6f 62 28 31 29 20 2d 20 |(n) + ct|ob(1) - |
|000332b0| 31 29 2f 63 74 6f 62 28 | 31 29 29 0a 0e 01 0a 02 |1)/ctob(|1)).....|
|000332c0| 00 e2 01 02 00 23 64 65 | 66 69 6e 65 20 62 74 6f |.....#de|fine bto|
|000332d0| 70 74 65 74 28 6e 29 20 | 28 28 6e 29 2f 63 74 6f |ptet(n) |((n)/cto|
|000332e0| 62 28 31 29 29 0a 0a 2f | 2a 20 76 69 72 74 75 61 |b(1))../|* virtua|
|000332f0| 6c 20 61 64 64 72 65 73 | 73 20 74 6f 20 70 61 67 |l addres|s to pag|
|00033300| 65 20 6f 66 66 73 65 74 | 20 2a 2f 0a 23 64 65 66 |e offset| */.#def|
|00033310| 69 6e 65 09 76 74 70 6f | 28 61 29 09 09 28 28 75 |ine.vtpo|(a)..((u|
|00033320| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 29 28 61 29 |nsigned |long)(a)|
|00033330| 20 26 20 28 50 47 53 49 | 5a 45 2d 31 29 29 0a 0a | & (PGSI|ZE-1))..|
|00033340| 2f 2a 20 76 69 72 74 75 | 61 6c 20 61 64 64 72 65 |/* virtu|al addre|
|00033350| 73 73 20 74 6f 20 70 61 | 67 65 20 6e 75 6d 62 65 |ss to pa|ge numbe|
|00033360| 72 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 76 74 70 |r */.#de|fine.vtp|
|00033370| 6e 28 61 29 09 09 28 20 | 62 74 6f 63 74 28 28 61 |n(a)..( |btoct((a|
|00033380| 29 29 20 29 0a 0a 2f 2a | 20 6b 65 72 6e 65 6c 20 |)) )../*| kernel |
|00033390| 76 69 72 74 75 61 6c 20 | 61 64 64 72 65 73 73 20 |virtual |address |
|000333a0| 74 6f 20 6c 69 6e 65 61 | 72 20 61 64 64 72 65 73 |to linea|r addres|
|000333b0| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 6b 76 74 |s */.#de|fine.kvt|
|000333c0| 6f 6c 28 61 29 09 28 20 | 28 75 6e 73 69 67 6e 65 |ol(a).( |(unsigne|
|000333d0| 64 20 6c 6f 6e 67 29 28 | 61 29 20 2b 20 4b 45 52 |d long)(|a) + KER|
|000333e0| 4e 41 44 44 52 20 29 0a | 0a 2f 2a 20 6c 69 6e 65 |NADDR ).|./* line|
|000333f0| 61 72 20 61 64 64 72 65 | 73 73 20 74 6f 20 70 61 |ar addre|ss to pa|
|00033400| 67 65 20 64 69 72 65 63 | 74 6f 72 79 20 6f 66 66 |ge direc|tory off|
|00033410| 73 65 74 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 6c |set */.#|define l|
|00033420| 61 74 6f 70 64 6f 28 61 | 29 09 28 20 28 75 6e 73 |atopdo(a|).( (uns|
|00033430| 69 67 6e 65 64 20 6c 6f | 6e 67 29 28 61 29 20 3e |igned lo|ng)(a) >|
|00033440| 3e 20 32 32 20 29 0a 0a | 2f 2a 20 6c 69 6e 65 61 |> 22 )..|/* linea|
|00033450| 72 20 61 64 64 72 65 73 | 73 20 74 6f 20 70 61 67 |r addres|s to pag|
|00033460| 65 20 74 61 62 6c 65 20 | 6f 66 66 73 65 74 20 2a |e table |offset *|
|00033470| 2f 0a 23 64 65 66 69 6e | 65 20 6c 61 74 6f 70 74 |/.#defin|e latopt|
|00033480| 6f 28 61 29 09 28 20 28 | 28 75 6e 73 69 67 6e 65 |o(a).( (|(unsigne|
|00033490| 64 20 6c 6f 6e 67 29 28 | 61 29 20 3e 3e 20 31 32 |d long)(|a) >> 12|
|000334a0| 29 20 26 20 30 78 33 66 | 66 29 0a 0a 2f 2a 20 6c |) & 0x3f|f)../* l|
|000334b0| 69 6e 65 61 72 20 61 64 | 64 72 65 73 73 20 74 6f |inear ad|dress to|
|000334c0| 20 70 61 67 65 0e 01 0b | 02 00 5a 01 02 00 20 6f | page...|..Z... o|
|000334d0| 66 66 73 65 74 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ffset */|.#define|
|000334e0| 20 6c 61 74 6f 70 6f 28 | 61 29 09 28 28 75 6e 73 | latopo(|a).((uns|
|000334f0| 69 67 6e 65 64 20 6c 6f | 6e 67 29 28 61 29 20 26 |igned lo|ng)(a) &|
|00033500| 20 30 78 66 66 66 29 0a | 0a 2f 2a 20 70 61 67 65 | 0xfff).|./* page|
|00033510| 20 64 69 72 65 63 74 6f | 72 79 20 6f 66 66 73 65 | directo|ry offse|
|00033520| 74 20 74 6f 20 6c 69 6e | 65 61 72 20 61 64 64 72 |t to lin|ear addr|
|00033530| 65 73 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 70 |ess */.#|define p|
|00033540| 64 6f 74 6f 6c 61 28 61 | 29 20 09 28 63 74 6f 62 |dotola(a|) .(ctob|
|00033550| 28 28 61 29 20 2a 20 4e | 45 50 54 29 29 0a 0a 23 |((a) * N|EPT))..#|
|00033560| 64 65 66 69 6e 65 20 42 | 4c 4f 43 4b 4f 4b 20 20 |define B|LOCKOK |
|00033570| 20 20 30 0a 23 64 65 66 | 69 6e 65 20 4e 4f 42 4c | 0.#def|ine NOBL|
|00033580| 4f 43 4b 20 20 20 20 31 | 0a 23 64 65 66 69 6e 65 |OCK 1|.#define|
|00033590| 20 4e 4f 4d 45 4d 42 4c | 4f 43 4b 20 32 0a 0a 23 | NOMEMBL|OCK 2..#|
|000335a0| 64 65 66 69 6e 65 20 48 | 45 41 44 20 30 0a 23 64 |define H|EAD 0.#d|
|000335b0| 65 66 69 6e 65 20 54 41 | 49 4c 20 31 0a 0a 0a 2f |efine TA|IL 1.../|
|000335c0| 2a 0a 20 2a 20 70 61 67 | 69 6e 67 20 73 79 73 74 |*. * pag|ing syst|
|000335d0| 65 6d 20 73 74 61 74 69 | 73 74 69 63 73 0a 20 2a |em stati|stics. *|
|000335e0| 2f 0a 73 74 72 75 63 74 | 20 70 67 73 74 61 74 20 |/.struct| pgstat |
|000335f0| 7b 0a 09 2f 2a 20 70 61 | 67 65 20 63 61 63 68 65 |{../* pa|ge cache|
|00033600| 20 73 74 61 74 69 73 74 | 69 63 73 20 2a 2f 0a 09 | statist|ics */..|
|00033610| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 20 70 73 |unsigned| long ps|
|00033620| 5f 63 68 69 74 73 3b 09 | 09 2f 2a 20 70 61 67 65 |_chits;.|./* page|
|00033630| 20 63 61 63 68 65 20 68 | 69 74 73 20 2a 2f 0a 09 | cache h|its */..|
|00033640| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 20 70 73 |unsigned| long ps|
|00033650| 5f 63 6d 69 73 73 65 73 | 3b 09 2f 2a 20 70 61 67 |_cmisses|;./* pag|
|00033660| 65 20 63 61 63 68 65 20 | 6d 69 73 73 65 73 20 2a |e cache |misses *|
|00033670| 2f 0a 0a 09 2f 2a 20 73 | 77 61 70 70 69 6e 67 20 |/.../* s|wapping |
|00033680| 73 74 61 74 69 73 74 69 | 63 73 20 2a 2f 0a 09 75 |statisti|cs */..u|
|00033690| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 20 70 73 5f |nsigned |long ps_|
|000336a0| 73 77 61 70 69 6e 73 3b | 09 2f 2a 20 6e 75 6d 62 |swapins;|./* numb|
|000336b0| 65 72 20 6f 66 20 70 72 | 6f 63 73 20 73 77 61 70 |er of pr|ocs swap|
|000336c0| 70 65 64 20 69 6e 20 2a | 2f 0a 09 75 6e 73 0e 01 |ped in *|/..uns..|
|000336d0| 0c 02 00 0d 01 02 00 69 | 67 6e 65 64 20 6c 6f 6e |.......i|gned lon|
|000336e0| 67 20 70 73 5f 73 77 61 | 70 6f 75 74 73 3b 09 2f |g ps_swa|pouts;./|
|000336f0| 2a 20 6e 75 6d 62 65 72 | 20 6f 66 20 70 72 6f 63 |* number| of proc|
|00033700| 73 20 73 77 61 70 70 65 | 64 20 6f 75 74 20 2a 2f |s swappe|d out */|
|00033710| 0a 0a 09 2f 2a 20 70 61 | 67 65 20 69 6f 20 73 74 |.../* pa|ge io st|
|00033720| 61 74 69 73 74 69 63 73 | 20 2a 2f 0a 09 75 6e 73 |atistics| */..uns|
|00033730| 69 67 6e 65 64 20 6c 6f | 6e 67 20 70 73 5f 66 66 |igned lo|ng ps_ff|
|00033740| 72 64 73 3b 09 09 2f 2a | 20 66 69 6c 65 73 79 73 |rds;../*| filesys|
|00033750| 74 65 6d 20 70 61 67 65 | 20 72 65 61 64 73 20 2a |tem page| reads *|
|00033760| 2f 0a 09 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |/..unsig|ned long|
|00033770| 20 70 73 5f 73 77 72 64 | 73 3b 09 09 2f 2a 20 73 | ps_swrd|s;../* s|
|00033780| 77 61 70 20 61 72 65 61 | 20 70 61 67 65 20 72 65 |wap area| page re|
|00033790| 61 64 73 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 |ads */..|unsigned|
|000337a0| 20 6c 6f 6e 67 20 70 73 | 5f 73 77 77 74 73 3b 09 | long ps|_swwts;.|
|000337b0| 09 2f 2a 20 73 77 61 70 | 20 61 72 65 61 20 70 61 |./* swap| area pa|
|000337c0| 67 65 20 77 72 69 74 65 | 73 20 2a 2f 0a 09 75 6e |ge write|s */..un|
|000337d0| 73 69 67 6e 65 64 20 6c | 6f 6e 67 20 70 73 5f 70 |signed l|ong ps_p|
|000337e0| 67 72 63 6c 3b 09 09 2f | 2a 20 23 20 70 61 67 65 |grcl;../|* # page|
|000337f0| 73 20 72 65 63 6c 61 69 | 6d 65 64 20 66 72 6f 6d |s reclai|med from|
|00033800| 20 66 72 65 65 20 6c 69 | 73 74 20 2a 2f 0a 0a 09 | free li|st */...|
|00033810| 2f 2a 20 63 6f 70 79 20 | 6f 6e 20 77 72 69 74 65 |/* copy |on write|
|00033820| 20 73 74 61 74 69 73 74 | 69 63 73 20 2a 2f 0a 09 | statist|ics */..|
|00033830| 75 6e 73 69 67 6e 65 64 | 20 6c 6f 6e 67 20 70 73 |unsigned| long ps|
|00033840| 5f 66 73 68 61 72 65 3b | 09 2f 2a 20 23 20 6f 66 |_fshare;|./* # of|
|00033850| 20 70 61 67 65 73 20 73 | 68 61 72 65 64 20 64 75 | pages s|hared du|
|00033860| 65 20 74 6f 20 63 6f 77 | 20 66 6f 72 6b 20 2a 2f |e to cow| fork */|
|00033870| 0a 09 75 6e 73 69 67 6e | 65 64 20 6c 6f 6e 67 20 |..unsign|ed long |
|00033880| 70 73 5f 63 73 68 61 72 | 65 3b 09 2f 2a 20 23 20 |ps_cshar|e;./* # |
|00033890| 70 61 67 65 73 20 73 68 | 61 72 65 64 20 64 75 65 |pages sh|ared due|
|000338a0| 20 74 6f 20 63 61 63 68 | 65 20 68 69 74 73 20 2a | to cach|e hits *|
|000338b0| 2f 0a 09 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |/..unsig|ned long|
|000338c0| 20 70 73 5f 63 6f 70 79 | 3b 09 09 2f 2a 20 23 20 | ps_copy|;../* # |
|000338d0| 6f 66 20 73 68 61 72 0e | 01 0d 02 00 54 01 02 00 |of shar.|....T...|
|000338e0| 65 64 20 70 61 67 65 73 | 20 63 6f 70 69 65 64 20 |ed pages| copied |
|000338f0| 2a 2f 0a 0a 09 2f 2a 20 | 70 61 67 65 20 66 61 75 |*/.../* |page fau|
|00033900| 6c 74 20 73 74 61 74 69 | 73 74 69 63 73 20 2a 2f |lt stati|stics */|
|00033910| 0a 09 75 6e 73 69 67 6e | 65 64 20 6c 6f 6e 67 20 |..unsign|ed long |
|00033920| 70 73 5f 66 6c 74 73 3b | 09 09 2f 2a 20 74 6f 74 |ps_flts;|../* tot|
|00033930| 61 6c 20 6e 75 6d 62 65 | 72 20 6f 66 20 70 61 67 |al numbe|r of pag|
|00033940| 65 20 66 61 75 6c 74 73 | 20 2a 2f 0a 7d 3b 0a 65 |e faults| */.};.e|
|00033950| 78 74 65 72 6e 20 73 74 | 72 75 63 74 20 70 67 73 |xtern st|ruct pgs|
|00033960| 74 61 74 20 70 67 73 74 | 61 74 3b 0a 0a 23 64 65 |tat pgst|at;..#de|
|00033970| 66 69 6e 65 20 4e 4d 46 | 4d 41 50 20 20 31 30 0a |fine NMF|MAP 10.|
|00033980| 23 64 65 66 69 6e 65 20 | 4e 44 46 4d 41 50 09 31 |#define |NDFMAP.1|
|00033990| 30 0a 0a 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |0..exter|n struct|
|000339a0| 20 6d 66 6d 61 70 20 7b | 0a 09 70 66 6e 5f 74 20 | mfmap {|..pfn_t |
|000339b0| 66 6d 5f 73 74 61 72 74 | 3b 0a 09 70 66 6e 5f 74 |fm_start|;..pfn_t|
|000339c0| 20 66 6d 5f 65 6e 64 3b | 0a 09 73 74 72 75 63 74 | fm_end;|..struct|
|000339d0| 20 6d 70 66 69 20 2a 66 | 6d 5f 6d 70 3b 0a 7d 3b | mpfi *f|m_mp;.};|
|000339e0| 0a 0a 65 78 74 65 72 6e | 20 73 74 72 75 63 74 20 |..extern| struct |
|000339f0| 64 66 6d 61 70 20 7b 0a | 09 70 66 6e 5f 74 20 64 |dfmap {.|.pfn_t d|
|00033a00| 6d 5f 73 74 61 72 74 3b | 0a 09 70 66 6e 5f 74 20 |m_start;|..pfn_t |
|00033a10| 64 6d 5f 65 6e 64 3b 0a | 09 73 74 72 75 63 74 20 |dm_end;.|.struct |
|00033a20| 64 70 66 69 20 2a 64 6d | 5f 64 70 3b 0a 09 64 65 |dpfi *dm|_dp;..de|
|00033a30| 76 5f 74 20 64 6d 5f 64 | 65 76 3b 0a 09 64 61 64 |v_t dm_d|ev;..dad|
|00033a40| 64 72 5f 74 20 64 6d 5f | 62 61 73 65 3b 0a 7d 3b |dr_t dm_|base;.};|
|00033a50| 0a 0a 23 64 65 66 69 6e | 65 20 50 47 5f 4f 4b 09 |..#defin|e PG_OK.|
|00033a60| 20 20 20 30 0a 23 64 65 | 66 69 6e 65 20 50 47 5f | 0.#de|fine PG_|
|00033a70| 46 41 49 4c 09 20 20 20 | 31 0a 23 64 65 66 69 6e |FAIL. |1.#defin|
|00033a80| 65 20 50 47 5f 4e 4f 52 | 4f 4f 4d 20 20 32 0a 23 |e PG_NOR|OOM 2.#|
|00033a90| 64 65 66 69 6e 65 20 50 | 47 5f 52 44 4f 4e 4c 59 |define P|G_RDONLY|
|00033aa0| 20 20 33 0a 23 64 65 66 | 69 6e 65 20 50 47 5f 50 | 3.#def|ine PG_P|
|00033ab0| 48 59 53 09 20 20 20 34 | 0a 23 64 65 66 69 6e 65 |HYS. 4|.#define|
|00033ac0| 20 50 47 5f 57 45 49 54 | 09 20 20 20 35 0a 0a 74 | PG_WEIT|. 5..t|
|00033ad0| 79 70 65 64 65 66 20 75 | 6e 73 69 67 6e 65 64 20 |ypedef u|nsigned |
|00033ae0| 0e 01 0e 02 00 36 01 02 | 00 6c 6f 6e 67 20 6c 61 |.....6..|.long la|
|00033af0| 64 64 72 5f 74 3b 0a 0a | 2f 2a 20 0a 20 2a 20 66 |ddr_t;..|/* . * f|
|00033b00| 72 6f 6d 20 70 67 61 6c | 6c 6f 63 2e 63 0a 20 2a |rom pgal|loc.c. *|
|00033b10| 2f 0a 65 78 74 65 72 6e | 20 70 66 6e 5f 74 20 6d |/.extern| pfn_t m|
|00033b20| 66 61 6c 6c 6f 63 28 69 | 6e 74 29 3b 0a 65 78 74 |falloc(i|nt);.ext|
|00033b30| 65 72 6e 20 70 66 6e 5f | 74 20 64 66 61 6c 6c 6f |ern pfn_|t dfallo|
|00033b40| 63 28 76 6f 69 64 29 3b | 0a 65 78 74 65 72 6e 20 |c(void);|.extern |
|00033b50| 73 74 72 75 63 74 20 6d | 70 66 69 20 2a 6d 66 63 |struct m|pfi *mfc|
|00033b60| 6c 61 69 6d 28 73 74 72 | 75 63 74 20 6d 70 66 69 |laim(str|uct mpfi|
|00033b70| 20 2a 29 3b 0a 65 78 74 | 65 72 6e 20 73 74 72 75 | *);.ext|ern stru|
|00033b80| 63 74 20 64 70 66 69 20 | 2a 64 66 63 6c 61 69 6d |ct dpfi |*dfclaim|
|00033b90| 28 73 74 72 75 63 74 20 | 64 70 66 69 20 2a 29 3b |(struct |dpfi *);|
|00033ba0| 0a 65 78 74 65 72 6e 20 | 76 6f 69 64 20 6d 66 66 |.extern |void mff|
|00033bb0| 72 65 65 28 70 66 6e 5f | 74 2c 20 69 6e 74 29 3b |ree(pfn_|t, int);|
|00033bc0| 0a 65 78 74 65 72 6e 20 | 76 6f 69 64 20 64 66 66 |.extern |void dff|
|00033bd0| 72 65 65 28 70 66 6e 5f | 74 29 3b 0a 65 78 74 65 |ree(pfn_|t);.exte|
|00033be0| 72 6e 20 76 6f 69 64 20 | 78 6c 69 6e 6b 28 70 66 |rn void |xlink(pf|
|00033bf0| 6e 5f 74 2c 20 70 66 6e | 5f 74 29 3b 0a 65 78 74 |n_t, pfn|_t);.ext|
|00033c00| 65 72 6e 20 63 68 61 72 | 20 2a 73 70 74 61 6c 6c |ern char| *sptall|
|00033c10| 6f 63 28 69 6e 74 29 3b | 0a 65 78 74 65 72 6e 20 |oc(int);|.extern |
|00033c20| 76 6f 69 64 20 73 70 74 | 66 72 65 65 28 63 68 61 |void spt|free(cha|
|00033c30| 72 20 2a 2c 20 69 6e 74 | 2c 20 69 6e 74 29 3b 0a |r *, int|, int);.|
|00033c40| 65 78 74 65 72 6e 20 69 | 6e 74 20 6d 61 70 28 73 |extern i|nt map(s|
|00033c50| 74 72 75 63 74 20 74 61 | 62 65 6e 74 20 2a 2c 20 |truct ta|bent *, |
|00033c60| 69 6e 74 29 3b 0a 65 78 | 74 65 72 6e 20 76 6f 69 |int);.ex|tern voi|
|00033c70| 64 20 75 6e 6d 61 70 28 | 63 68 61 72 20 2a 2c 20 |d unmap(|char *, |
|00033c80| 69 6e 74 29 3b 0a 65 78 | 74 65 72 6e 20 69 6e 74 |int);.ex|tern int|
|00033c90| 20 6d 61 70 70 68 79 73 | 28 63 68 61 72 20 2a 2c | mapphys|(char *,|
|00033ca0| 20 69 6e 74 29 3b 0a 65 | 78 74 65 72 6e 20 76 6f | int);.e|xtern vo|
|00033cb0| 69 64 20 75 6e 6d 61 70 | 70 68 79 73 28 63 68 61 |id unmap|phys(cha|
|00033cc0| 72 20 2a 2c 20 69 6e 74 | 29 3b 0a 65 78 74 65 72 |r *, int|);.exter|
|00033cd0| 6e 20 69 6e 74 20 6d 61 | 70 70 74 6f 76 28 63 68 |n int ma|pptov(ch|
|00033ce0| 61 72 20 2a 2c 20 75 6e | 73 0e 01 0f 02 00 89 01 |ar *, un|s.......|
|00033cf0| 02 00 69 67 6e 65 64 20 | 69 6e 74 2c 20 69 6e 74 |..igned |int, int|
|00033d00| 29 3b 0a 65 78 74 65 72 | 6e 20 76 6f 69 64 20 78 |);.exter|n void x|
|00033d10| 6c 63 68 65 63 6b 28 73 | 74 72 75 63 74 20 6d 70 |lcheck(s|truct mp|
|00033d20| 66 69 20 2a 2c 20 73 74 | 72 75 63 74 20 64 70 66 |fi *, st|ruct dpf|
|00033d30| 69 20 2a 29 3b 0a 2f 2a | 0a 20 2a 20 66 72 6f 6d |i *);./*|. * from|
|00033d40| 20 70 67 62 75 69 6c 64 | 2e 63 0a 20 2a 2f 0a 65 | pgbuild|.c. */.e|
|00033d50| 78 74 65 72 6e 20 69 6e | 74 20 62 75 69 6c 64 70 |xtern in|t buildp|
|00033d60| 74 65 28 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 |te(unsig|ned shor|
|00033d70| 74 2c 20 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 |t, unsig|ned shor|
|00033d80| 74 2c 20 69 6e 74 29 3b | 0a 65 78 74 65 72 6e 20 |t, int);|.extern |
|00033d90| 69 6e 74 20 69 6d 70 63 | 6f 64 65 28 75 6e 73 69 |int impc|ode(unsi|
|00033da0| 67 6e 65 64 20 73 68 6f | 72 74 2c 20 75 6e 73 69 |gned sho|rt, unsi|
|00033db0| 67 6e 65 64 20 73 68 6f | 72 74 29 3b 0a 65 78 74 |gned sho|rt);.ext|
|00033dc0| 65 72 6e 20 69 6e 74 20 | 70 72 65 6c 6f 61 64 28 |ern int |preload(|
|00033dd0| 73 74 72 75 63 74 20 69 | 6e 6f 64 65 20 2a 2c 20 |struct i|node *, |
|00033de0| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 29 3b |unsigned| short);|
|00033df0| 0a 2f 2a 0a 20 2a 20 66 | 72 6f 6d 20 70 67 66 61 |./*. * f|rom pgfa|
|00033e00| 75 6c 74 2e 63 0a 20 2a | 2f 0a 65 78 74 65 72 6e |ult.c. *|/.extern|
|00033e10| 20 69 6e 74 20 70 61 67 | 65 66 61 75 6c 74 28 73 | int pag|efault(s|
|00033e20| 74 72 75 63 74 20 74 61 | 62 65 6e 74 29 3b 0a 65 |truct ta|bent);.e|
|00033e30| 78 74 65 72 6e 20 69 6e | 74 20 70 67 61 63 63 65 |xtern in|t pgacce|
|00033e40| 73 73 28 6c 61 64 64 72 | 5f 74 2c 20 69 6e 74 2c |ss(laddr|_t, int,|
|00033e50| 20 69 6e 74 29 3b 0a 65 | 78 74 65 72 6e 20 69 6e | int);.e|xtern in|
|00033e60| 74 20 6c 76 65 72 69 66 | 79 28 6c 61 64 64 72 5f |t lverif|y(laddr_|
|00033e70| 74 2c 20 69 6e 74 29 3b | 0a 65 78 74 65 72 6e 20 |t, int);|.extern |
|00033e80| 69 6e 74 20 70 67 66 61 | 75 6c 74 28 6c 61 64 64 |int pgfa|ult(ladd|
|00033e90| 72 5f 74 2c 20 73 74 72 | 75 63 74 20 74 61 62 65 |r_t, str|uct tabe|
|00033ea0| 6e 74 2c 20 69 6e 74 29 | 3b 0a 65 78 74 65 72 6e |nt, int)|;.extern|
|00033eb0| 20 73 74 72 75 63 74 20 | 74 61 62 65 6e 74 20 2a | struct |tabent *|
|00033ec0| 61 64 64 70 74 28 73 74 | 72 75 63 74 20 74 61 62 |addpt(st|ruct tab|
|00033ed0| 65 6e 74 20 2a 29 3b 0a | 2f 2a 0a 20 2a 20 66 72 |ent *);.|/*. * fr|
|00033ee0| 6f 6d 20 70 67 68 61 73 | 68 2e 63 0a 20 2a 2f 0a |om pghas|h.c. */.|
|00033ef0| 65 78 0f 0f 00 bb 0f 00 | 01 02 00 2e 01 02 00 74 |ex......|.......t|
|00033f00| 65 72 6e 20 69 6e 74 20 | 70 67 66 69 6e 64 28 64 |ern int |pgfind(d|
|00033f10| 65 76 5f 74 2c 20 69 6e | 6f 5f 74 2c 20 64 61 64 |ev_t, in|o_t, dad|
|00033f20| 64 72 5f 74 29 3b 0a 65 | 78 74 65 72 6e 20 76 6f |dr_t);.e|xtern vo|
|00033f30| 69 64 20 70 67 68 61 73 | 68 28 73 74 72 75 63 74 |id pghas|h(struct|
|00033f40| 20 6d 70 66 69 20 2a 29 | 3b 0a 65 78 74 65 72 6e | mpfi *)|;.extern|
|00033f50| 20 76 6f 69 64 20 70 67 | 75 6e 68 61 73 68 28 64 | void pg|unhash(d|
|00033f60| 65 76 5f 74 2c 20 69 6e | 6f 5f 74 2c 20 64 61 64 |ev_t, in|o_t, dad|
|00033f70| 64 72 5f 74 29 3b 0a 65 | 78 74 65 72 6e 20 76 6f |dr_t);.e|xtern vo|
|00033f80| 69 64 20 70 67 69 6e 76 | 61 6c 28 73 74 72 75 63 |id pginv|al(struc|
|00033f90| 74 20 6d 70 66 69 20 2a | 29 3b 0a 65 78 74 65 72 |t mpfi *|);.exter|
|00033fa0| 6e 20 76 6f 69 64 20 70 | 67 70 75 72 67 65 28 64 |n void p|gpurge(d|
|00033fb0| 65 76 5f 74 29 3b 0a 65 | 78 74 65 72 6e 20 76 6f |ev_t);.e|xtern vo|
|00033fc0| 69 64 20 70 67 66 6c 75 | 73 68 28 64 65 76 5f 74 |id pgflu|sh(dev_t|
|00033fd0| 2c 20 69 6e 6f 5f 74 29 | 3b 0a 2f 2a 0a 20 2a 20 |, ino_t)|;./*. * |
|00033fe0| 66 72 6f 6d 20 70 67 69 | 6e 69 74 2e 63 0a 20 2a |from pgi|nit.c. *|
|00033ff0| 2f 0a 65 78 74 65 72 6e | 20 73 74 72 75 63 74 20 |/.extern| struct |
|00034000| 6d 70 66 69 20 2a 6d 66 | 74 6f 6d 70 28 70 66 6e |mpfi *mf|tomp(pfn|
|00034010| 5f 74 29 3b 0a 65 78 74 | 65 72 6e 20 70 66 6e 5f |_t);.ext|ern pfn_|
|00034020| 74 20 6d 70 74 6f 6d 66 | 28 73 74 72 75 63 74 20 |t mptomf|(struct |
|00034030| 6d 70 66 69 20 2a 29 3b | 0a 65 78 74 65 72 6e 20 |mpfi *);|.extern |
|00034040| 76 6f 69 64 20 6d 65 6d | 72 61 6e 67 65 28 70 66 |void mem|range(pf|
|00034050| 6e 5f 74 2c 20 70 66 6e | 5f 74 29 3b 0a 65 78 74 |n_t, pfn|_t);.ext|
|00034060| 65 72 6e 20 70 66 6e 5f | 74 20 6d 65 6d 67 65 74 |ern pfn_|t memget|
|00034070| 28 69 6e 74 29 3b 0a 65 | 78 74 65 72 6e 20 76 6f |(int);.e|xtern vo|
|00034080| 69 64 20 6d 65 6d 69 6e | 69 74 28 76 6f 69 64 29 |id memin|it(void)|
|00034090| 3b 0a 65 78 74 65 72 6e | 20 76 6f 69 64 20 6d 70 |;.extern| void mp|
|000340a0| 69 6e 69 74 28 73 74 72 | 75 63 74 20 6d 70 66 69 |init(str|uct mpfi|
|000340b0| 20 2a 2c 20 69 6e 74 29 | 3b 0a 65 78 74 65 72 6e | *, int)|;.extern|
|000340c0| 20 76 6f 69 64 20 73 77 | 61 70 61 64 64 28 64 65 | void sw|apadd(de|
|000340d0| 76 5f 74 2c 20 64 61 64 | 64 72 5f 74 2c 20 64 61 |v_t, dad|dr_t, da|
|000340e0| 64 64 72 5f 74 29 3b 0a | 65 78 74 65 72 6e 20 76 |ddr_t);.|extern v|
|000340f0| 6f 69 64 20 64 70 69 6e | 69 74 28 73 74 72 75 0f |oid dpin|it(stru.|
|00034100| 00 02 02 00 ec 01 02 00 | 63 74 20 64 70 66 69 20 |........|ct dpfi |
|00034110| 2a 2c 20 69 6e 74 29 3b | 0a 65 78 74 65 72 6e 20 |*, int);|.extern |
|00034120| 76 6f 69 64 20 64 66 69 | 6e 69 74 28 76 6f 69 64 |void dfi|nit(void|
|00034130| 29 3b 0a 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |);.exter|n struct|
|00034140| 20 64 70 66 69 20 2a 64 | 66 74 6f 64 70 28 70 66 | dpfi *d|ftodp(pf|
|00034150| 6e 5f 74 29 3b 0a 65 78 | 74 65 72 6e 20 70 66 6e |n_t);.ex|tern pfn|
|00034160| 5f 74 20 64 70 74 6f 64 | 66 28 73 74 72 75 63 74 |_t dptod|f(struct|
|00034170| 20 64 70 66 69 20 2a 29 | 3b 0a 65 78 74 65 72 6e | dpfi *)|;.extern|
|00034180| 20 76 6f 69 64 20 64 70 | 74 6f 62 6c 6b 28 73 74 | void dp|toblk(st|
|00034190| 72 75 63 74 20 64 70 66 | 69 20 2a 2c 20 73 74 72 |ruct dpf|i *, str|
|000341a0| 75 63 74 20 62 75 66 20 | 2a 29 3b 0a 2f 2a 0a 20 |uct buf |*);./*. |
|000341b0| 2a 20 66 72 6f 6d 20 70 | 67 69 6f 2e 63 0a 20 2a |* from p|gio.c. *|
|000341c0| 2f 0a 65 78 74 65 72 6e | 20 69 6e 74 20 70 67 72 |/.extern| int pgr|
|000341d0| 65 61 64 28 70 66 6e 5f | 74 29 3b 0a 65 78 74 65 |ead(pfn_|t);.exte|
|000341e0| 72 6e 20 69 6e 74 20 70 | 67 77 72 69 74 65 28 73 |rn int p|gwrite(s|
|000341f0| 74 72 75 63 74 20 6d 70 | 66 69 20 2a 2c 20 73 74 |truct mp|fi *, st|
|00034200| 72 75 63 74 20 64 70 66 | 69 20 2a 29 3b 0a 65 78 |ruct dpf|i *);.ex|
|00034210| 74 65 72 6e 20 69 6e 74 | 20 70 61 67 65 69 6f 28 |tern int| pageio(|
|00034220| 69 6e 74 2c 20 73 74 72 | 75 63 74 20 64 70 66 69 |int, str|uct dpfi|
|00034230| 20 2a 2c 20 69 6e 74 29 | 3b 0a 65 78 74 65 72 6e | *, int)|;.extern|
|00034240| 20 69 6e 74 20 66 66 72 | 65 61 64 28 70 66 6e 5f | int ffr|ead(pfn_|
|00034250| 74 2c 20 69 6e 6f 64 65 | 70 5f 74 2c 20 64 61 64 |t, inode|p_t, dad|
|00034260| 64 72 5f 74 29 3b 0a 2f | 2a 0a 20 2a 20 66 72 6f |dr_t);./|*. * fro|
|00034270| 6d 20 70 67 6d 69 73 63 | 2e 63 0a 20 2a 2f 0a 65 |m pgmisc|.c. */.e|
|00034280| 78 74 65 72 6e 20 76 6f | 69 64 20 75 61 64 6a 75 |xtern vo|id uadju|
|00034290| 73 74 28 63 68 61 72 20 | 2a 29 3b 0a 65 78 74 65 |st(char |*);.exte|
|000342a0| 72 6e 20 76 6f 69 64 20 | 70 74 66 72 65 65 28 73 |rn void |ptfree(s|
|000342b0| 74 72 75 63 74 20 74 61 | 62 65 6e 74 20 2a 2c 20 |truct ta|bent *, |
|000342c0| 69 6e 74 29 3b 0a 65 78 | 74 65 72 6e 20 76 6f 69 |int);.ex|tern voi|
|000342d0| 64 20 70 74 73 68 72 69 | 6e 6b 28 70 66 6e 5f 74 |d ptshri|nk(pfn_t|
|000342e0| 2c 20 70 66 6e 5f 74 29 | 3b 0a 65 78 74 65 72 6e |, pfn_t)|;.extern|
|000342f0| 20 76 6f 69 64 20 70 67 | 66 72 65 65 28 73 74 72 | void pg|free(str|
|00034300| 75 63 74 20 74 61 62 65 | 0f 00 03 02 00 eb 01 02 |uct tabe|........|
|00034310| 00 6e 74 20 2a 2c 20 73 | 74 72 75 63 74 20 74 61 |.nt *, s|truct ta|
|00034320| 62 65 6e 74 20 2a 29 3b | 0a 65 78 74 65 72 6e 20 |bent *);|.extern |
|00034330| 73 74 72 75 63 74 20 74 | 61 62 65 6e 74 20 2a 76 |struct t|abent *v|
|00034340| 74 6f 70 74 65 28 63 68 | 61 72 20 2a 29 3b 0a 65 |topte(ch|ar *);.e|
|00034350| 78 74 65 72 6e 20 73 74 | 72 75 63 74 20 74 61 62 |xtern st|ruct tab|
|00034360| 65 6e 74 20 2a 6c 74 6f | 70 74 65 28 6c 61 64 64 |ent *lto|pte(ladd|
|00034370| 72 5f 74 29 3b 0a 65 78 | 74 65 72 6e 20 76 6f 69 |r_t);.ex|tern voi|
|00034380| 64 20 70 67 63 68 65 63 | 6b 28 73 74 72 75 63 74 |d pgchec|k(struct|
|00034390| 20 74 61 62 65 6e 74 20 | 2a 2c 20 69 6e 74 29 3b | tabent |*, int);|
|000343a0| 0a 65 78 74 65 72 6e 20 | 76 6f 69 64 20 70 67 73 |.extern |void pgs|
|000343b0| 65 74 28 73 74 72 75 63 | 74 20 74 61 62 65 6e 74 |et(struc|t tabent|
|000343c0| 20 2a 2c 20 69 6e 74 29 | 3b 0a 65 78 74 65 72 6e | *, int)|;.extern|
|000343d0| 20 76 6f 69 64 20 70 67 | 70 69 64 28 73 74 72 75 | void pg|pid(stru|
|000343e0| 63 74 20 74 61 62 65 6e | 74 20 2a 29 3b 0a 65 78 |ct taben|t *);.ex|
|000343f0| 74 65 72 6e 20 6c 61 64 | 64 72 5f 74 20 70 67 68 |tern lad|dr_t pgh|
|00034400| 69 6c 61 28 73 74 72 75 | 63 74 20 75 73 65 72 20 |ila(stru|ct user |
|00034410| 2a 29 3b 0a 65 78 74 65 | 72 6e 20 6c 61 64 64 72 |*);.exte|rn laddr|
|00034420| 5f 74 20 70 67 6c 6f 6c | 61 28 73 74 72 75 63 74 |_t pglol|a(struct|
|00034430| 20 75 73 65 72 20 2a 29 | 3b 0a 2f 2a 0a 20 2a 20 | user *)|;./*. * |
|00034440| 66 72 6f 6d 20 70 67 73 | 63 61 6e 2e 63 0a 20 2a |from pgs|can.c. *|
|00034450| 2f 0a 65 78 74 65 72 6e | 20 69 6e 74 20 77 73 73 |/.extern| int wss|
|00034460| 63 61 6e 28 76 6f 69 64 | 29 3b 0a 65 78 74 65 72 |can(void|);.exter|
|00034470| 6e 20 69 6e 74 20 70 64 | 73 63 61 6e 28 70 66 6e |n int pd|scan(pfn|
|00034480| 5f 74 2c 20 70 66 6e 5f | 74 29 3b 0a 0a 23 69 66 |_t, pfn_|t);..#if|
|00034490| 64 65 66 20 56 50 49 58 | 0a 65 78 74 65 72 6e 20 |def VPIX|.extern |
|000344a0| 69 6e 74 20 70 74 73 63 | 61 6e 28 73 74 72 75 63 |int ptsc|an(struc|
|000344b0| 74 20 74 61 62 65 6e 74 | 20 2a 2c 20 73 74 72 75 |t tabent| *, stru|
|000344c0| 63 74 20 74 61 62 65 6e | 74 20 2a 2c 20 69 6e 74 |ct taben|t *, int|
|000344d0| 29 3b 0a 23 65 6c 73 65 | 0a 65 78 74 65 72 6e 20 |);.#else|.extern |
|000344e0| 69 6e 74 20 70 74 73 63 | 61 6e 28 73 74 72 75 63 |int ptsc|an(struc|
|000344f0| 74 20 74 61 62 65 6e 74 | 20 2a 2c 20 73 74 72 75 |t tabent| *, stru|
|00034500| 63 74 20 74 61 62 65 6e | 74 20 2a 29 3b 0a 23 65 |ct taben|t *);.#e|
|00034510| 6e 0f 00 04 02 00 45 01 | 02 00 64 69 66 0a 0a 2f |n.....E.|..dif../|
|00034520| 2a 20 0a 20 2a 20 66 72 | 6f 6d 20 70 67 73 77 61 |* . * fr|om pgswa|
|00034530| 70 2e 63 0a 20 2a 2f 0a | 65 78 74 65 72 6e 20 76 |p.c. */.|extern v|
|00034540| 6f 69 64 20 73 63 68 65 | 64 28 76 6f 69 64 29 3b |oid sche|d(void);|
|00034550| 0a 65 78 74 65 72 6e 20 | 76 6f 69 64 20 73 77 61 |.extern |void swa|
|00034560| 70 6f 75 74 28 73 74 72 | 75 63 74 20 70 72 6f 63 |pout(str|uct proc|
|00034570| 20 2a 29 3b 0a 0a 23 69 | 66 64 65 66 20 56 50 49 | *);..#i|fdef VPI|
|00034580| 58 0a 65 78 74 65 72 6e | 20 69 6e 74 20 70 64 73 |X.extern| int pds|
|00034590| 77 61 70 6f 75 74 28 73 | 74 72 75 63 74 20 74 61 |wapout(s|truct ta|
|000345a0| 62 65 6e 74 20 2a 2c 20 | 70 66 6e 5f 74 2c 20 70 |bent *, |pfn_t, p|
|000345b0| 66 6e 5f 74 2c 20 69 6e | 74 2c 20 73 74 72 75 63 |fn_t, in|t, struc|
|000345c0| 74 20 75 73 65 72 20 2a | 29 3b 0a 65 78 74 65 72 |t user *|);.exter|
|000345d0| 6e 20 69 6e 74 20 70 74 | 73 77 61 70 6f 75 74 28 |n int pt|swapout(|
|000345e0| 73 74 72 75 63 74 20 74 | 61 62 65 6e 74 20 2a 2c |struct t|abent *,|
|000345f0| 20 69 6e 74 2c 20 69 6e | 74 2c 20 73 74 72 75 63 | int, in|t, struc|
|00034600| 74 20 75 73 65 72 20 2a | 29 3b 0a 23 65 6c 73 65 |t user *|);.#else|
|00034610| 0a 65 78 74 65 72 6e 20 | 69 6e 74 20 70 64 73 77 |.extern |int pdsw|
|00034620| 61 70 6f 75 74 28 73 74 | 72 75 63 74 20 74 61 62 |apout(st|ruct tab|
|00034630| 65 6e 74 20 2a 2c 20 70 | 66 6e 5f 74 2c 20 70 66 |ent *, p|fn_t, pf|
|00034640| 6e 5f 74 2c 20 69 6e 74 | 29 3b 0a 65 78 74 65 72 |n_t, int|);.exter|
|00034650| 6e 20 69 6e 74 20 70 74 | 73 77 61 70 6f 75 74 28 |n int pt|swapout(|
|00034660| 73 74 72 75 63 74 20 74 | 61 62 65 6e 74 20 2a 2c |struct t|abent *,|
|00034670| 20 69 6e 74 2c 20 69 6e | 74 29 3b 0a 23 65 6e 64 | int, in|t);.#end|
|00034680| 69 66 0a 0a 65 78 74 65 | 72 6e 20 69 6e 74 20 73 |if..exte|rn int s|
|00034690| 77 61 70 69 6e 28 73 74 | 72 75 63 74 20 70 72 6f |wapin(st|ruct pro|
|000346a0| 63 20 2a 29 3b 0a 65 78 | 74 65 72 6e 20 69 6e 74 |c *);.ex|tern int|
|000346b0| 20 70 74 73 77 61 70 69 | 6e 28 73 74 72 75 63 74 | ptswapi|n(struct|
|000346c0| 20 74 61 62 65 6e 74 20 | 2a 2c 20 69 6e 74 29 3b | tabent |*, int);|
|000346d0| 0a 2f 2a 0a 20 2a 20 66 | 72 6f 6d 20 70 67 78 6c |./*. * f|rom pgxl|
|000346e0| 61 74 2e 63 0a 20 2a 2f | 0a 65 78 74 65 72 6e 20 |at.c. */|.extern |
|000346f0| 69 6e 74 20 64 66 74 6f | 6d 66 28 73 74 72 75 63 |int dfto|mf(struc|
|00034700| 74 20 74 61 62 65 6e 74 | 20 2a 2c 20 69 6e 74 29 |t tabent| *, int)|
|00034710| 3b 0a 65 78 74 65 72 6e | 20 69 0f 00 05 02 00 08 |;.extern| i......|
|00034720| 01 02 00 6e 74 20 6d 66 | 74 6f 64 66 28 73 74 72 |...nt mf|todf(str|
|00034730| 75 63 74 20 74 61 62 65 | 6e 74 20 2a 29 3b 0a 65 |uct tabe|nt *);.e|
|00034740| 78 74 65 72 6e 20 69 6e | 74 20 66 66 74 6f 6d 66 |xtern in|t fftomf|
|00034750| 28 73 74 72 75 63 74 20 | 74 61 62 65 6e 74 20 2a |(struct |tabent *|
|00034760| 29 3b 0a 65 78 74 65 72 | 6e 20 70 66 6e 5f 74 20 |);.exter|n pfn_t |
|00034770| 6d 66 63 76 74 28 70 66 | 6e 5f 74 29 3b 0a 65 78 |mfcvt(pf|n_t);.ex|
|00034780| 74 65 72 6e 20 76 6f 69 | 64 20 6d 66 74 6f 66 66 |tern voi|d mftoff|
|00034790| 28 73 74 72 75 63 74 20 | 74 61 62 65 6e 74 20 2a |(struct |tabent *|
|000347a0| 2c 20 73 74 72 75 63 74 | 20 75 73 65 72 20 2a 29 |, struct| user *)|
|000347b0| 3b 0a 65 78 74 65 72 6e | 20 76 6f 69 64 20 70 64 |;.extern| void pd|
|000347c0| 64 75 70 28 73 74 72 75 | 63 74 20 75 73 65 72 20 |dup(stru|ct user |
|000347d0| 2a 29 3b 0a 65 78 74 65 | 72 6e 20 76 6f 69 64 20 |*);.exte|rn void |
|000347e0| 70 74 64 75 70 28 73 74 | 72 75 63 74 20 74 61 62 |ptdup(st|ruct tab|
|000347f0| 65 6e 74 20 2a 2c 20 73 | 74 72 75 63 74 20 74 61 |ent *, s|truct ta|
|00034800| 62 65 6e 74 20 2a 2c 20 | 75 6e 73 69 67 6e 65 64 |bent *, |unsigned|
|00034810| 20 69 6e 74 29 3b 0a 0a | 23 65 6e 64 69 66 0a 6e | int);..|#endif.n|
|00034820| 20 69 6e 74 20 70 64 73 | 77 61 70 6f 75 74 28 73 | int pds|wapout(s|
|00034830| 74 72 75 63 74 20 74 61 | 62 65 6e 74 20 2a 2c 20 |truct ta|bent *, |
|00034840| 70 66 6e 5f 74 2c 20 70 | 66 6e 5f 74 2c 20 69 6e |pfn_t, p|fn_t, in|
|00034850| 74 29 3b 0a 65 78 74 65 | 72 6e 20 69 6e 74 20 70 |t);.exte|rn int p|
|00034860| 74 73 77 61 70 6f 75 74 | 28 73 74 72 75 63 74 20 |tswapout|(struct |
|00034870| 74 61 62 65 6e 74 20 2a | 2c 20 69 6e 74 2c 20 69 |tabent *|, int, i|
|00034880| 6e 74 29 3b 0a 23 65 6e | 64 69 66 0a 0a 65 78 74 |nt);.#en|dif..ext|
|00034890| 65 72 6e 20 69 6e 74 20 | 73 77 61 70 69 6e 28 73 |ern int |swapin(s|
|000348a0| 74 72 75 63 74 20 70 72 | 6f 63 20 2a 29 3b 0a 65 |truct pr|oc *);.e|
|000348b0| 78 74 65 72 6e 20 69 6e | 74 20 70 74 73 77 61 70 |xtern in|t ptswap|
|000348c0| 69 6e 28 73 74 72 75 63 | 74 20 74 61 62 65 6e 74 |in(struc|t tabent|
|000348d0| 20 2a 2c 20 69 6e 74 29 | 3b 0a 2f 2a 0a 20 2a 20 | *, int)|;./*. * |
|000348e0| 66 72 6f 6d 20 70 67 78 | 6c 61 74 2e 63 0a 20 2a |from pgx|lat.c. *|
|000348f0| 2f 0a 65 78 74 65 72 6e | 20 69 6e 74 20 64 66 74 |/.extern| int dft|
|00034900| 6f 6d 66 28 73 74 72 75 | 63 74 20 74 61 62 65 6e |omf(stru|ct taben|
|00034910| 74 20 2a 2c 20 69 6e 74 | 29 3b 0a 65 78 74 65 72 |t *, int|);.exter|
|00034920| 6e 20 69 0f 00 06 02 00 | 53 5d 00 02 00 18 2e 2f |n i.....|S]...../|
|00034930| 75 73 72 2f 69 6e 63 6c | 75 64 65 2f 73 79 73 2f |usr/incl|ude/sys/|
|00034940| 6e 6d 61 70 2e 68 01 26 | 00 00 00 38 20 20 20 34 |nmap.h.&|...8 4|
|00034950| 34 34 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 |44 . | 0 . |
|00034960| 20 30 20 00 20 20 20 20 | 20 20 20 32 35 30 31 20 | 0 . | 2501 |
|00034970| 20 34 32 34 34 33 34 30 | 31 33 33 20 20 31 30 33 | 4244340|133 103|
|00034980| 31 31 00 20 01 b2 00 00 | 0f 00 07 02 00 91 01 02 |11. ....|........|
|00034990| 00 2f 2a 0a 20 2a 09 40 | 28 23 29 20 6e 6d 61 70 |./*. *.@|(#) nmap|
|000349a0| 2e 68 20 31 2e 31 20 38 | 38 2f 30 35 2f 31 38 20 |.h 1.1 8|8/05/18 |
|000349b0| 0a 20 2a 0a 20 2a 09 43 | 6f 70 79 72 69 67 68 74 |. *. *.C|opyright|
|000349c0| 20 28 43 29 20 54 68 65 | 20 53 61 6e 74 61 20 43 | (C) The| Santa C|
|000349d0| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 31 |ruz Oper|ation, 1|
|000349e0| 39 38 38 2e 0a 20 2a 09 | 43 6f 70 79 72 69 67 68 |988.. *.|Copyrigh|
|000349f0| 74 20 28 43 29 20 4d 69 | 63 72 6f 73 6f 66 74 20 |t (C) Mi|crosoft |
|00034a00| 43 6f 72 70 6f 72 61 74 | 69 6f 6e 2c 20 31 39 38 |Corporat|ion, 198|
|00034a10| 38 2e 0a 20 2a 09 54 68 | 69 73 20 4d 6f 64 75 6c |8.. *.Th|is Modul|
|00034a20| 65 20 63 6f 6e 74 61 69 | 6e 73 20 50 72 6f 70 72 |e contai|ns Propr|
|00034a30| 69 65 74 61 72 79 20 49 | 6e 66 6f 72 6d 61 74 69 |ietary I|nformati|
|00034a40| 6f 6e 20 6f 66 0a 20 2a | 09 54 68 65 20 53 61 6e |on of. *|.The San|
|00034a50| 74 61 20 43 72 75 7a 20 | 4f 70 65 72 61 74 69 6f |ta Cruz |Operatio|
|00034a60| 6e 2c 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |n, Micro|soft Cor|
|00034a70| 70 6f 72 61 74 69 6f 6e | 0a 20 2a 09 61 6e 64 20 |poration|. *.and |
|00034a80| 41 54 26 54 2c 20 61 6e | 64 20 73 68 6f 75 6c 64 |AT&T, an|d should|
|00034a90| 20 62 65 20 74 72 65 61 | 74 65 64 20 61 73 20 43 | be trea|ted as C|
|00034aa0| 6f 6e 66 69 64 65 6e 74 | 69 61 6c 2e 0a 20 2a 2f |onfident|ial.. */|
|00034ab0| 0a 0a 2f 2a 20 43 68 61 | 6e 6e 65 6c 20 6d 61 70 |../* Cha|nnel map|
|00034ac0| 70 69 6e 67 20 69 6f 63 | 74 6c 27 73 20 2a 2f 0a |ping ioc|tl's */.|
|00034ad0| 0a 23 64 65 66 69 6e 65 | 09 4e 4d 49 4f 43 20 20 |.#define|.NMIOC |
|00034ae0| 28 27 6e 27 3c 3c 20 38 | 29 09 2f 2a 20 53 6f 20 |('n'<< 8|)./* So |
|00034af0| 6e 6f 74 20 74 6f 20 63 | 6f 6e 66 6c 69 63 74 20 |not to c|onflict |
|00034b00| 77 69 74 68 20 4c 44 49 | 4f 43 73 20 2a 2f 0a 23 |with LDI|OCs */.#|
|00034b10| 64 65 66 69 6e 65 20 4e | 4d 53 4d 41 50 20 28 4e |define N|MSMAP (N|
|00034b20| 4d 49 4f 43 7c 31 29 09 | 2f 2a 20 73 65 74 20 6e |MIOC|1).|/* set n|
|00034b30| 6f 2d 6d 61 70 20 2a 2f | 0a 23 64 65 66 69 6e 65 |o-map */|.#define|
|00034b40| 20 4e 4d 47 4d 41 50 20 | 28 4e 4d 49 4f 43 7c 32 | NMGMAP |(NMIOC|2|
|00034b50| 29 09 2f 2a 20 67 65 74 | 20 6e 6f 2d 6d 61 70 20 |)./* get| no-map |
|00034b60| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4e 4d 4e 4d 41 |*/.#defi|ne NMNMA|
|00034b70| 50 20 28 4e 4d 49 4f 43 | 7c 33 29 09 2f 2a 20 63 |P (NMIOC||3)./* c|
|00034b80| 6c 65 61 72 20 6e 6f 2d | 6d 61 70 20 2a 2f 0a 0a |lear no-|map */..|
|00034b90| 23 0f 00 08 02 00 28 01 | 02 00 69 66 64 65 66 20 |#.....(.|..ifdef |
|00034ba0| 4d 5f 49 33 38 36 0a 74 | 79 70 65 64 65 66 09 73 |M_I386.t|ypedef.s|
|00034bb0| 74 72 75 63 74 20 6e 6d | 74 61 62 09 2a 6e 6d 70 |truct nm|tab.*nmp|
|00034bc0| 5f 74 3b 0a 74 79 70 65 | 64 65 66 09 73 74 72 75 |_t;.type|def.stru|
|00034bd0| 63 74 20 6e 6d 73 65 71 | 09 2a 6e 6d 73 70 5f 74 |ct nmseq|.*nmsp_t|
|00034be0| 3b 0a 74 79 70 65 64 65 | 66 09 75 6e 73 69 67 6e |;.typede|f.unsign|
|00034bf0| 65 64 20 63 68 61 72 09 | 2a 6e 6d 63 70 5f 74 3b |ed char.|*nmcp_t;|
|00034c00| 0a 23 65 6c 73 65 0a 74 | 79 70 65 64 65 66 09 73 |.#else.t|ypedef.s|
|00034c10| 74 72 75 63 74 20 6e 6d | 74 61 62 09 66 61 72 20 |truct nm|tab.far |
|00034c20| 2a 6e 6d 70 5f 74 3b 0a | 74 79 70 65 64 65 66 09 |*nmp_t;.|typedef.|
|00034c30| 73 74 72 75 63 74 20 6e | 6d 73 65 71 09 66 61 72 |struct n|mseq.far|
|00034c40| 20 2a 6e 6d 73 70 5f 74 | 3b 0a 74 79 70 65 64 65 | *nmsp_t|;.typede|
|00034c50| 66 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 09 |f.unsign|ed char.|
|00034c60| 66 61 72 20 2a 6e 6d 63 | 70 5f 74 3b 0a 23 65 6e |far *nmc|p_t;.#en|
|00034c70| 64 69 66 0a 0a 2f 2a 20 | 4e 6d 61 70 20 63 6f 6e |dif../* |Nmap con|
|00034c80| 74 72 6f 6c 20 73 74 72 | 75 63 74 75 72 65 20 2a |trol str|ucture *|
|00034c90| 2f 0a 0a 73 74 72 75 63 | 74 20 6e 6d 61 70 20 7b |/..struc|t nmap {|
|00034ca0| 0a 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 09 |..unsign|ed char.|
|00034cb0| 6e 5f 63 6f 75 6e 74 3b | 09 2f 2a 20 55 73 61 67 |n_count;|./* Usag|
|00034cc0| 65 20 63 6f 75 6e 74 20 | 6f 66 20 74 68 69 73 20 |e count |of this |
|00034cd0| 6d 61 70 20 2a 2f 0a 09 | 6e 6d 70 5f 74 09 09 6e |map */..|nmp_t..n|
|00034ce0| 5f 70 3b 09 09 2f 2a 20 | 50 74 72 2e 20 74 6f 20 |_p;../* |Ptr. to |
|00034cf0| 73 65 71 75 65 6e 63 65 | 20 74 61 62 6c 65 20 2a |sequence| table *|
|00034d00| 2f 0a 09 73 74 72 75 63 | 74 20 62 75 66 09 2a 6e |/..struc|t buf.*n|
|00034d10| 5f 62 70 3b 09 09 2f 2a | 20 50 74 72 2e 20 74 6f |_bp;../*| Ptr. to|
|00034d20| 20 74 61 62 6c 65 20 62 | 75 66 66 65 72 20 68 65 | table b|uffer he|
|00034d30| 61 64 65 72 20 2a 2f 0a | 7d 3b 0a 0a 2f 2a 20 4e |ader */.|};../* N|
|00034d40| 6d 61 70 20 73 65 71 75 | 65 6e 63 65 20 74 61 62 |map sequ|ence tab|
|00034d50| 6c 65 20 73 74 72 75 63 | 74 73 20 2a 2f 0a 0a 73 |le struc|ts */..s|
|00034d60| 74 72 75 63 74 20 6e 6d | 74 61 62 20 7b 0a 09 75 |truct nm|tab {..u|
|00034d70| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 09 6e 5f 69 |nsigned |char.n_i|
|00034d80| 73 65 71 73 3b 09 2f 2a | 20 4e 75 6d 62 65 72 20 |seqs;./*| Number |
|00034d90| 6f 66 20 69 6e 70 75 74 | 20 73 0f 00 09 02 00 0f |of input| s......|
|00034da0| 01 02 00 65 71 75 65 6e | 63 65 73 20 2a 2f 0a 09 |...equen|ces */..|
|00034db0| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 6e 5f |unsigned| char.n_|
|00034dc0| 61 73 65 71 73 3b 09 2f | 2a 20 4e 75 6d 62 65 72 |aseqs;./|* Number|
|00034dd0| 20 6f 66 20 69 6e 70 75 | 74 20 2b 20 6f 75 74 70 | of inpu|t + outp|
|00034de0| 75 74 20 73 65 71 75 65 | 6e 63 65 73 20 2a 2f 0a |ut seque|nces */.|
|00034df0| 09 73 68 6f 72 74 09 09 | 6e 5f 73 65 71 69 64 78 |.short..|n_seqidx|
|00034e00| 5b 31 5d 3b 09 2f 2a 20 | 41 72 72 61 79 20 6f 66 |[1];./* |Array of|
|00034e10| 20 73 65 71 75 65 6e 63 | 65 20 6f 66 66 73 65 74 | sequenc|e offset|
|00034e20| 73 20 2a 2f 0a 7d 3b 0a | 0a 73 74 72 75 63 74 20 |s */.};.|.struct |
|00034e30| 6e 6d 73 65 71 20 7b 0a | 09 75 6e 73 69 67 6e 65 |nmseq {.|.unsigne|
|00034e40| 64 20 63 68 61 72 09 6e | 5f 6e 6d 63 6e 74 3b 09 |d char.n|_nmcnt;.|
|00034e50| 2f 2a 20 53 65 71 75 65 | 6e 63 65 20 74 72 61 69 |/* Seque|nce trai|
|00034e60| 6c 65 72 20 6c 65 6e 67 | 74 68 20 2a 2f 0a 09 63 |ler leng|th */..c|
|00034e70| 68 61 72 09 09 6e 5f 6e | 6d 73 65 71 5b 31 5d 3b |har..n_n|mseq[1];|
|00034e80| 09 2f 2a 20 53 65 71 75 | 65 6e 63 65 20 6c 65 61 |./* Sequ|ence lea|
|00034e90| 64 2d 69 6e 28 6e 75 6c | 6c 20 74 65 72 6d 69 6e |d-in(nul|l termin|
|00034ea0| 61 74 65 64 29 20 2a 2f | 0a 7d 3b 0a 0a 65 78 74 |ated) */|.};..ext|
|00034eb0| 65 72 6e 20 73 74 72 75 | 63 74 20 6e 6d 61 70 20 |ern stru|ct nmap |
|00034ec0| 6e 6d 61 70 5b 5d 3b 09 | 09 2f 2a 20 41 6c 6c 6f |nmap[];.|./* Allo|
|00034ed0| 63 61 74 65 64 20 69 6e | 20 73 70 61 63 65 2e 68 |cated in| space.h|
|00034ee0| 20 2a 2f 0a 5f 74 09 09 | 6e 5f 70 3b 09 09 2f 2a | */._t..|n_p;../*|
|00034ef0| 20 50 74 72 2e 20 74 6f | 20 73 65 71 75 65 6e 63 | Ptr. to| sequenc|
|00034f00| 65 20 74 61 62 6c 65 20 | 2a 2f 0a 09 73 74 72 75 |e table |*/..stru|
|00034f10| 63 74 20 62 75 66 09 2a | 6e 5f 62 70 3b 09 09 2f |ct buf.*|n_bp;../|
|00034f20| 2a 20 50 74 72 2e 20 74 | 6f 20 74 61 62 6c 65 20 |* Ptr. t|o table |
|00034f30| 62 75 66 66 65 72 20 68 | 65 61 64 65 72 20 2a 2f |buffer h|eader */|
|00034f40| 0a 7d 3b 0a 0a 2f 2a 20 | 4e 6d 61 70 20 73 65 71 |.};../* |Nmap seq|
|00034f50| 75 65 6e 63 65 20 74 61 | 62 6c 65 20 73 74 72 75 |uence ta|ble stru|
|00034f60| 63 74 73 20 2a 2f 0a 0a | 73 74 72 75 63 74 20 6e |cts */..|struct n|
|00034f70| 6d 74 61 62 20 7b 0a 09 | 75 6e 73 69 67 6e 65 64 |mtab {..|unsigned|
|00034f80| 20 63 68 61 72 09 6e 5f | 69 73 65 71 73 3b 09 2f | char.n_|iseqs;./|
|00034f90| 2a 20 4e 75 6d 62 65 72 | 20 6f 66 20 69 6e 70 75 |* Number| of inpu|
|00034fa0| 74 20 73 0f 00 0a 02 00 | b6 5d 00 02 00 17 2e 2f |t s.....|.]...../|
|00034fb0| 75 73 72 2f 69 6e 63 6c | 75 64 65 2f 73 79 73 2f |usr/incl|ude/sys/|
|00034fc0| 6e 66 73 2e 68 01 26 00 | 00 00 39 00 20 20 20 34 |nfs.h.&.|..9. 4|
|00034fd0| 34 34 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 |44 . | 0 . |
|00034fe0| 20 30 20 00 20 20 20 20 | 20 20 20 31 31 33 32 20 | 0 . | 1132 |
|00034ff0| 20 34 32 34 34 33 34 30 | 32 31 30 20 20 31 30 31 | 4244340|210 101|
|00035000| 33 37 00 20 01 b2 00 00 | 0f 00 0b 02 00 69 01 02 |37. ....|.....i..|
|00035010| 00 2f 2a 0a 20 2a 09 40 | 28 23 29 20 6e 66 73 2e |./*. *.@|(#) nfs.|
|00035020| 68 20 32 2e 31 20 38 38 | 2f 30 35 2f 31 38 20 0a |h 2.1 88|/05/18 .|
|00035030| 20 2a 0a 20 2a 09 43 6f | 70 79 72 69 67 68 74 20 | *. *.Co|pyright |
|00035040| 28 43 29 20 54 68 65 20 | 53 61 6e 74 61 20 43 72 |(C) The |Santa Cr|
|00035050| 75 7a 20 4f 70 65 72 61 | 74 69 6f 6e 2c 20 31 39 |uz Opera|tion, 19|
|00035060| 38 34 2c 20 31 39 38 35 | 2c 20 31 39 38 36 2c 20 |84, 1985|, 1986, |
|00035070| 31 39 38 37 2e 0a 20 2a | 09 43 6f 70 79 72 69 67 |1987.. *|.Copyrig|
|00035080| 68 74 20 28 43 29 20 4d | 69 63 72 6f 73 6f 66 74 |ht (C) M|icrosoft|
|00035090| 20 43 6f 72 70 6f 72 61 | 74 69 6f 6e 2c 20 31 39 | Corpora|tion, 19|
|000350a0| 38 34 2c 20 31 39 38 35 | 2c 20 31 39 38 36 2c 20 |84, 1985|, 1986, |
|000350b0| 31 39 38 37 2e 0a 20 2a | 09 54 68 69 73 20 4d 6f |1987.. *|.This Mo|
|000350c0| 64 75 6c 65 20 63 6f 6e | 74 61 69 6e 73 20 50 72 |dule con|tains Pr|
|000350d0| 6f 70 72 69 65 74 61 72 | 79 20 49 6e 66 6f 72 6d |oprietar|y Inform|
|000350e0| 61 74 69 6f 6e 20 6f 66 | 0a 20 2a 09 54 68 65 20 |ation of|. *.The |
|000350f0| 53 61 6e 74 61 20 43 72 | 75 7a 20 4f 70 65 72 61 |Santa Cr|uz Opera|
|00035100| 74 69 6f 6e 2c 20 4d 69 | 63 72 6f 73 6f 66 74 20 |tion, Mi|crosoft |
|00035110| 43 6f 72 70 6f 72 61 74 | 69 6f 6e 0a 20 2a 09 61 |Corporat|ion. *.a|
|00035120| 6e 64 20 41 54 26 54 2c | 20 61 6e 64 20 73 68 6f |nd AT&T,| and sho|
|00035130| 75 6c 64 20 62 65 20 74 | 72 65 61 74 65 64 20 61 |uld be t|reated a|
|00035140| 73 20 43 6f 6e 66 69 64 | 65 6e 74 69 61 6c 2e 0a |s Confid|ential..|
|00035150| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 20 52 45 4d | */..#de|fine REM|
|00035160| 4f 54 45 28 49 50 29 20 | 20 28 28 49 50 29 20 26 |OTE(IP) | ((IP) &|
|00035170| 26 20 28 28 49 50 29 2d | 3e 69 5f 6d 6f 64 65 26 |& ((IP)-|>i_mode&|
|00035180| 49 46 4d 54 29 3d 3d 49 | 46 4e 41 4d 20 26 26 20 |IFMT)==I|FNAM && |
|00035190| 5c 0a 20 20 20 20 20 20 | 20 20 09 09 09 28 28 49 |\. | ...((I|
|000351a0| 50 29 2d 3e 69 5f 66 64 | 65 70 2e 69 5f 6e 61 6d |P)->i_fd|ep.i_nam|
|000351b0| 65 66 2e 69 5f 74 79 70 | 65 20 3d 3d 20 49 46 52 |ef.i_typ|e == IFR|
|000351c0| 45 4d 29 29 0a 23 64 65 | 66 69 6e 65 20 4e 4f 54 |EM)).#de|fine NOT|
|000351d0| 52 45 4d 28 49 50 29 20 | 20 28 28 28 49 50 29 2d |REM(IP) | (((IP)-|
|000351e0| 3e 69 5f 6d 6f 64 65 26 | 49 46 4d 54 29 21 3d 49 |>i_mode&|IFMT)!=I|
|000351f0| 46 4e 41 4d 20 7c 7c 20 | 5c 0a 09 09 09 09 28 28 |FNAM || |\.....((|
|00035200| 49 50 29 2d 3e 69 5f 66 | 64 65 70 2e 69 5f 6e 61 |IP)->i_f|dep.i_na|
|00035210| 6d 0f 00 0c 02 00 b0 01 | 02 00 65 66 2e 69 5f 74 |m.......|..ef.i_t|
|00035220| 79 70 65 20 21 3d 20 49 | 46 52 45 4d 29 29 0a 0a |ype != I|FREM))..|
|00035230| 65 78 74 65 72 6e 20 69 | 6e 74 20 6e 66 73 31 2c |extern i|nt nfs1,|
|00035240| 20 6e 66 73 32 3b 0a 0a | 69 6e 6f 64 65 70 5f 74 | nfs2;..|inodep_t|
|00035250| 09 6e 66 63 5f 6e 61 6d | 65 69 28 29 3b 0a 69 6e |.nfc_nam|ei();.in|
|00035260| 6f 64 65 70 5f 74 09 6e | 66 63 5f 6f 77 6e 65 72 |odep_t.n|fc_owner|
|00035270| 28 29 3b 0a 39 38 36 2c | 20 31 39 38 37 2e 0a 20 |();.986,| 1987.. |
|00035280| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 28 43 29 20 |*.Copyri|ght (C) |
|00035290| 4d 69 63 72 6f 73 6f 66 | 74 20 43 6f 72 70 6f 72 |Microsof|t Corpor|
|000352a0| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|000352b0| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2e 0a 20 |5, 1986,| 1987.. |
|000352c0| 2a 09 54 68 69 73 20 4d | 6f 64 75 6c 65 20 63 6f |*.This M|odule co|
|000352d0| 6e 74 61 69 6e 73 20 50 | 72 6f 70 72 69 65 74 61 |ntains P|roprieta|
|000352e0| 72 79 20 49 6e 66 6f 72 | 6d 61 74 69 6f 6e 20 6f |ry Infor|mation o|
|000352f0| 66 0a 20 2a 09 54 68 65 | 20 53 61 6e 74 61 20 43 |f. *.The| Santa C|
|00035300| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 4d |ruz Oper|ation, M|
|00035310| 69 63 72 6f 73 6f 66 74 | 20 43 6f 72 70 6f 72 61 |icrosoft| Corpora|
|00035320| 74 69 6f 6e 0a 20 2a 09 | 61 6e 64 20 41 54 26 54 |tion. *.|and AT&T|
|00035330| 2c 20 61 6e 64 20 73 68 | 6f 75 6c 64 20 62 65 20 |, and sh|ould be |
|00035340| 74 72 65 61 74 65 64 20 | 61 73 20 43 6f 6e 66 69 |treated |as Confi|
|00035350| 64 65 6e 74 69 61 6c 2e | 0a 20 2a 2f 0a 0a 23 64 |dential.|. */..#d|
|00035360| 65 66 69 6e 65 20 52 45 | 4d 4f 54 45 28 49 50 29 |efine RE|MOTE(IP)|
|00035370| 20 20 28 28 49 50 29 20 | 26 26 20 28 28 49 50 29 | ((IP) |&& ((IP)|
|00035380| 2d 3e 69 5f 6d 6f 64 65 | 26 49 46 4d 54 29 3d 3d |->i_mode|&IFMT)==|
|00035390| 49 46 4e 41 4d 20 26 26 | 20 5c 0a 20 20 20 20 20 |IFNAM &&| \. |
|000353a0| 20 20 20 09 09 09 28 28 | 49 50 29 2d 3e 69 5f 66 | ...((|IP)->i_f|
|000353b0| 64 65 70 2e 69 5f 6e 61 | 6d 65 66 2e 69 5f 74 79 |dep.i_na|mef.i_ty|
|000353c0| 70 65 20 3d 3d 20 49 46 | 52 45 4d 29 29 0a 23 64 |pe == IF|REM)).#d|
|000353d0| 65 66 69 6e 65 20 4e 4f | 54 52 45 4d 28 49 50 29 |efine NO|TREM(IP)|
|000353e0| 20 20 28 28 28 49 50 29 | 2d 3e 69 5f 6d 6f 64 65 | (((IP)|->i_mode|
|000353f0| 26 49 46 4d 54 29 21 3d | 49 46 4e 41 4d 20 7c 7c |&IFMT)!=|IFNAM |||
|00035400| 20 5c 0a 09 09 09 09 28 | 28 49 50 29 2d 3e 69 5f | \.....(|(IP)->i_|
|00035410| 66 64 65 70 2e 69 5f 6e | 61 6d 0f 00 0d 02 00 82 |fdep.i_n|am......|
|00035420| 5d 00 02 00 17 2e 2f 75 | 73 72 2f 69 6e 63 6c 75 |]...../u|sr/inclu|
|00035430| 64 65 2f 73 79 73 2f 6e | 64 70 2e 68 01 26 00 00 |de/sys/n|dp.h.&..|
|00035440| 00 39 00 20 20 20 34 34 | 34 20 00 20 20 20 20 20 |.9. 44|4 . |
|00035450| 30 20 00 20 20 20 20 20 | 30 20 00 20 20 20 20 20 |0 . |0 . |
|00035460| 20 20 35 35 32 30 20 20 | 34 32 34 34 33 34 30 32 | 5520 |42443402|
|00035470| 30 37 20 20 31 30 31 34 | 35 00 20 01 b2 00 00 0f |07 1014|5. .....|
|00035480| 00 0e 02 00 1a 01 02 00 | 2f 2a 0a 20 2a 09 40 28 |........|/*. *.@(|
|00035490| 23 29 20 6e 64 70 2e 68 | 20 32 2e 33 20 38 38 2f |#) ndp.h| 2.3 88/|
|000354a0| 30 35 2f 31 38 20 0a 20 | 2a 0a 20 2a 09 43 6f 70 |05/18 . |*. *.Cop|
|000354b0| 79 72 69 67 68 74 20 28 | 43 29 20 54 68 65 20 53 |yright (|C) The S|
|000354c0| 61 6e 74 61 20 43 72 75 | 7a 20 4f 70 65 72 61 74 |anta Cru|z Operat|
|000354d0| 69 6f 6e 2c 20 31 39 38 | 34 2c 20 31 39 38 35 2c |ion, 198|4, 1985,|
|000354e0| 20 31 39 38 36 2c 20 31 | 39 38 37 2e 0a 20 2a 09 | 1986, 1|987.. *.|
|000354f0| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 4d 69 |Copyrigh|t (C) Mi|
|00035500| 63 72 6f 73 6f 66 74 20 | 43 6f 72 70 6f 72 61 74 |crosoft |Corporat|
|00035510| 69 6f 6e 2c 20 31 39 38 | 34 2c 20 31 39 38 35 2c |ion, 198|4, 1985,|
|00035520| 20 31 39 38 36 2c 20 31 | 39 38 37 2e 0a 20 2a 09 | 1986, 1|987.. *.|
|00035530| 54 68 69 73 20 4d 6f 64 | 75 6c 65 20 63 6f 6e 74 |This Mod|ule cont|
|00035540| 61 69 6e 73 20 50 72 6f | 70 72 69 65 74 61 72 79 |ains Pro|prietary|
|00035550| 20 49 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 6f 66 0a | Informa|tion of.|
|00035560| 20 2a 09 54 68 65 20 53 | 61 6e 74 61 20 43 72 75 | *.The S|anta Cru|
|00035570| 7a 20 4f 70 65 72 61 74 | 69 6f 6e 2c 20 4d 69 63 |z Operat|ion, Mic|
|00035580| 72 6f 73 6f 66 74 20 43 | 6f 72 70 6f 72 61 74 69 |rosoft C|orporati|
|00035590| 6f 6e 0a 20 2a 09 61 6e | 64 20 41 54 26 54 2c 20 |on. *.an|d AT&T, |
|000355a0| 61 6e 64 20 73 68 6f 75 | 6c 64 20 62 65 20 74 72 |and shou|ld be tr|
|000355b0| 65 61 74 65 64 20 61 73 | 20 43 6f 6e 66 69 64 65 |eated as| Confide|
|000355c0| 6e 74 69 61 6c 2e 0a 20 | 2a 2f 0a 0a 2f 2a 0a 20 |ntial.. |*/../*. |
|000355d0| 2a 20 20 4e 44 50 20 48 | 61 72 64 77 61 72 65 20 |* NDP H|ardware |
|000355e0| 44 45 46 49 4e 45 53 0a | 20 2a 2f 0a 0a 2f 2a 20 |DEFINES.| */../* |
|000355f0| 0a 20 2a 20 53 74 61 74 | 75 73 20 77 6f 72 64 20 |. * Stat|us word |
|00035600| 64 65 66 69 6e 65 73 0a | 20 2a 2f 0a 23 64 65 66 |defines.| */.#def|
|00035610| 69 6e 65 09 4e 44 50 53 | 57 5f 49 45 09 30 78 30 |ine.NDPS|W_IE.0x0|
|00035620| 30 30 31 09 09 2f 2a 20 | 69 6e 76 61 6c 69 64 20 |001../* |invalid |
|00035630| 6f 70 65 72 61 74 69 6f | 6e 20 2a 2f 0a 23 64 65 |operatio|n */.#de|
|00035640| 66 69 6e 65 09 4e 44 50 | 53 57 5f 44 45 09 30 78 |fine.NDP|SW_DE.0x|
|00035650| 30 30 30 32 09 09 2f 2a | 20 64 65 6e 6f 72 6d 61 |0002../*| denorma|
|00035660| 6c 69 7a 65 64 20 6f 70 | 65 72 61 6e 64 20 2a 2f |lized op|erand */|
|00035670| 0a 23 64 65 66 69 6e 65 | 09 4e 44 50 53 57 5f 5a |.#define|.NDPSW_Z|
|00035680| 45 09 30 78 30 30 30 34 | 0f 00 0f 02 00 33 01 02 |E.0x0004|.....3..|
|00035690| 00 09 09 2f 2a 20 7a 65 | 72 6f 20 64 69 76 69 64 |.../* ze|ro divid|
|000356a0| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4e 44 50 |e */.#de|fine.NDP|
|000356b0| 53 57 5f 4f 45 09 30 78 | 30 30 30 38 09 09 2f 2a |SW_OE.0x|0008../*|
|000356c0| 20 6f 76 65 72 66 6c 6f | 77 20 2a 2f 0a 23 64 65 | overflo|w */.#de|
|000356d0| 66 69 6e 65 09 4e 44 50 | 53 57 5f 55 45 09 30 78 |fine.NDP|SW_UE.0x|
|000356e0| 30 30 31 30 09 09 2f 2a | 20 75 6e 64 65 72 66 6c |0010../*| underfl|
|000356f0| 6f 77 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 4e 44 |ow */.#d|efine.ND|
|00035700| 50 53 57 5f 50 45 09 30 | 78 30 30 32 30 09 09 2f |PSW_PE.0|x0020../|
|00035710| 2a 20 70 72 65 63 69 73 | 69 6f 6e 20 2a 2f 0a 23 |* precis|ion */.#|
|00035720| 64 65 66 69 6e 65 09 4e | 44 50 53 57 5f 45 53 09 |define.N|DPSW_ES.|
|00035730| 30 78 30 30 38 30 09 09 | 2f 2a 20 65 72 72 6f 72 |0x0080..|/* error|
|00035740| 20 73 75 6d 6d 61 72 79 | 20 73 74 61 74 75 73 20 | summary| status |
|00035750| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4e 44 50 53 57 |*/.#defi|ne.NDPSW|
|00035760| 5f 43 43 09 30 78 34 37 | 30 30 09 09 2f 2a 20 4e |_CC.0x47|00../* N|
|00035770| 50 58 20 63 6f 6e 64 69 | 74 69 6f 6e 20 63 6f 64 |PX condi|tion cod|
|00035780| 65 20 6d 61 73 6b 20 2a | 2f 0a 23 64 65 66 69 6e |e mask *|/.#defin|
|00035790| 65 09 4e 44 50 53 57 5f | 53 54 09 30 78 31 38 30 |e.NDPSW_|ST.0x180|
|000357a0| 30 09 09 2f 2a 20 53 74 | 61 63 6b 20 74 6f 70 20 |0../* St|ack top |
|000357b0| 70 6f 69 6e 74 65 72 20 | 6d 61 73 6b 20 2a 2f 0a |pointer |mask */.|
|000357c0| 23 64 65 66 69 6e 65 09 | 4e 44 50 53 57 5f 4e 42 |#define.|NDPSW_NB|
|000357d0| 09 30 78 38 30 30 30 09 | 09 2f 2a 20 4e 45 55 20 |.0x8000.|./* NEU |
|000357e0| 62 75 73 79 20 2a 2f 0a | 0a 23 64 65 66 69 6e 65 |busy */.|.#define|
|000357f0| 20 09 4e 44 50 53 57 5f | 45 52 52 09 28 4e 44 50 | .NDPSW_|ERR.(NDP|
|00035800| 53 57 5f 50 45 20 7c 20 | 4e 44 50 53 57 5f 55 45 |SW_PE | |NDPSW_UE|
|00035810| 20 7c 20 4e 44 50 53 57 | 5f 4f 45 20 7c 20 4e 44 | | NDPSW|_OE | ND|
|00035820| 50 53 57 5f 5a 45 20 5c | 0a 09 09 09 09 09 7c 20 |PSW_ZE \|......| |
|00035830| 4e 44 50 53 57 5f 44 45 | 20 7c 20 4e 44 50 53 57 |NDPSW_DE| | NDPSW|
|00035840| 5f 49 45 29 0a 0a 2f 2a | 0a 20 2a 20 43 6f 6e 74 |_IE)../*|. * Cont|
|00035850| 72 6f 6c 20 57 6f 72 64 | 20 44 65 66 69 6e 65 73 |rol Word| Defines|
|00035860| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4e 44 50 |. */.#de|fine.NDP|
|00035870| 43 57 5f 49 4d 09 30 78 | 30 30 30 31 09 09 2f 2a |CW_IM.0x|0001../*|
|00035880| 20 69 6e 76 61 6c 69 64 | 20 6f 70 65 72 61 74 69 | invalid| operati|
|00035890| 6f 0f 0f 01 2c 0f 01 01 | 02 00 20 01 02 00 6e 20 |o...,...|.. ...n |
|000358a0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4e 44 50 43 57 |*/.#defi|ne.NDPCW|
|000358b0| 5f 44 4d 09 30 78 30 30 | 30 32 09 09 2f 2a 20 64 |_DM.0x00|02../* d|
|000358c0| 65 6e 6f 72 6d 61 6c 69 | 7a 65 64 20 6f 70 65 72 |enormali|zed oper|
|000358d0| 61 61 6e 64 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |aand */.|#define.|
|000358e0| 4e 44 50 43 57 5f 5a 4d | 09 30 78 30 30 30 34 09 |NDPCW_ZM|.0x0004.|
|000358f0| 09 2f 2a 20 7a 65 72 6f | 20 64 69 76 69 64 65 20 |./* zero| divide |
|00035900| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4e 44 50 43 57 |*/.#defi|ne.NDPCW|
|00035910| 5f 4f 4d 09 30 78 30 30 | 30 38 09 09 2f 2a 20 6f |_OM.0x00|08../* o|
|00035920| 76 65 72 66 6c 6f 77 20 | 2a 2f 0a 23 64 65 66 69 |verflow |*/.#defi|
|00035930| 6e 65 09 4e 44 50 43 57 | 5f 55 4d 09 30 78 30 30 |ne.NDPCW|_UM.0x00|
|00035940| 31 30 09 09 2f 2a 20 75 | 6e 64 65 72 66 6c 6f 77 |10../* u|nderflow|
|00035950| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 09 4e 44 50 43 | */.#def|ine.NDPC|
|00035960| 57 5f 50 4d 09 30 78 30 | 30 32 30 09 09 2f 2a 20 |W_PM.0x0|020../* |
|00035970| 70 72 65 63 69 73 69 6f | 6e 20 2a 2f 0a 23 64 65 |precisio|n */.#de|
|00035980| 66 69 6e 65 09 4e 44 50 | 43 57 5f 50 43 09 30 78 |fine.NDP|CW_PC.0x|
|00035990| 30 33 30 30 09 09 2f 2a | 20 70 72 65 63 69 73 69 |0300../*| precisi|
|000359a0| 6f 6e 20 63 6f 6e 74 72 | 6f 6c 20 6d 61 73 6b 20 |on contr|ol mask |
|000359b0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4e 44 50 43 57 |*/.#defi|ne.NDPCW|
|000359c0| 5f 52 43 09 30 78 30 43 | 30 30 09 09 2f 2a 20 72 |_RC.0x0C|00../* r|
|000359d0| 6f 75 6e 64 69 6e 67 20 | 63 6f 6e 74 72 6f 6c 20 |ounding |control |
|000359e0| 6d 61 73 6b 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |mask */.|#define.|
|000359f0| 4e 44 50 43 57 5f 49 43 | 09 30 78 31 30 30 30 09 |NDPCW_IC|.0x1000.|
|00035a00| 09 2f 2a 20 69 6e 66 69 | 6e 69 74 79 20 63 6f 6e |./* infi|nity con|
|00035a10| 74 72 6f 6c 20 0a 09 09 | 09 09 09 09 30 20 3d 20 |trol ...|....0 = |
|00035a20| 70 72 6f 6a 65 63 74 69 | 76 65 2c 20 31 3d 20 61 |projecti|ve, 1= a|
|00035a30| 66 66 69 6e 65 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |ffine */|../*. * |
|00035a40| 50 72 65 63 69 73 69 6f | 6e 20 63 6f 6e 74 72 6f |Precisio|n contro|
|00035a50| 6c 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 4e 44 |l. */.#d|efine.ND|
|00035a60| 50 50 43 5f 32 34 09 30 | 78 30 30 30 30 09 09 2f |PPC_24.0|x0000../|
|00035a70| 2a 20 32 34 20 62 69 74 | 20 73 69 67 6e 69 66 69 |* 24 bit| signifi|
|00035a80| 63 61 6e 64 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |cand */.|#define.|
|00035a90| 4e 44 50 50 43 5f 52 45 | 53 09 30 78 30 31 0f 01 |NDPPC_RE|S.0x01..|
|00035aa0| 02 02 00 ab 01 02 00 30 | 30 09 09 2f 2a 20 72 65 |.......0|0../* re|
|00035ab0| 73 65 72 76 65 64 20 2a | 2f 0a 23 64 65 66 69 6e |served *|/.#defin|
|00035ac0| 65 09 4e 44 50 50 43 5f | 35 32 09 30 78 30 32 30 |e.NDPPC_|52.0x020|
|00035ad0| 30 09 09 2f 2a 20 35 32 | 20 62 69 74 20 73 69 67 |0../* 52| bit sig|
|00035ae0| 6e 69 66 69 63 61 6e 64 | 20 2a 2f 0a 23 64 65 66 |nificand| */.#def|
|00035af0| 69 6e 65 09 4e 44 50 50 | 43 5f 36 34 09 30 78 30 |ine.NDPP|C_64.0x0|
|00035b00| 33 30 30 09 09 2f 2a 20 | 36 34 20 62 69 74 20 73 |300../* |64 bit s|
|00035b10| 69 67 6e 69 66 69 63 61 | 6e 64 20 2a 2f 0a 0a 2f |ignifica|nd */../|
|00035b20| 2a 0a 20 2a 20 52 6f 75 | 6e 64 69 6e 67 20 63 6f |*. * Rou|nding co|
|00035b30| 6e 74 72 6f 6c 0a 20 2a | 2f 0a 23 64 65 66 69 6e |ntrol. *|/.#defin|
|00035b40| 65 09 4e 44 50 52 43 5f | 4e 45 09 30 78 30 30 30 |e.NDPRC_|NE.0x000|
|00035b50| 30 09 09 2f 2a 20 72 6f | 75 6e 64 20 74 6f 20 4e |0../* ro|und to N|
|00035b60| 65 61 72 65 73 74 20 6f | 72 20 45 76 65 6e 20 2a |earest o|r Even *|
|00035b70| 2f 0a 23 64 65 66 69 6e | 65 09 4e 44 50 52 43 5f |/.#defin|e.NDPRC_|
|00035b80| 52 44 09 30 78 30 34 30 | 30 09 09 2f 2a 20 52 6f |RD.0x040|0../* Ro|
|00035b90| 75 6e 64 20 44 6f 75 6e | 20 20 28 74 6f 77 61 72 |und Doun| (towar|
|00035ba0| 64 20 2d 69 6e 66 69 6e | 69 74 79 29 20 2a 2f 0a |d -infin|ity) */.|
|00035bb0| 23 64 65 66 69 6e 65 09 | 4e 44 50 52 43 5f 52 55 |#define.|NDPRC_RU|
|00035bc0| 09 30 78 30 38 30 30 09 | 09 2f 2a 20 52 6f 75 6e |.0x0800.|./* Roun|
|00035bd0| 64 20 55 70 20 28 74 6f | 77 61 72 64 20 2b 69 6e |d Up (to|ward +in|
|00035be0| 66 69 6e 69 74 79 29 20 | 2a 2f 0a 23 64 65 66 69 |finity) |*/.#defi|
|00035bf0| 6e 65 09 4e 44 50 52 43 | 5f 43 48 09 30 78 30 43 |ne.NDPRC|_CH.0x0C|
|00035c00| 30 30 09 09 2f 2a 20 43 | 48 6f 70 20 28 74 72 75 |00../* C|Hop (tru|
|00035c10| 6e 63 61 74 65 20 74 6f | 77 61 72 64 20 7a 65 72 |ncate to|ward zer|
|00035c20| 6f 29 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 4e 44 50 |o) */../|*. * NDP|
|00035c30| 20 73 6f 66 74 77 61 72 | 65 20 64 65 66 69 6e 65 | softwar|e define|
|00035c40| 73 20 66 6f 72 20 66 70 | 5f 74 79 70 65 0a 20 2a |s for fp|_type. *|
|00035c50| 2f 0a 0a 23 69 66 64 65 | 66 20 4d 5f 4b 45 52 4e |/..#ifde|f M_KERN|
|00035c60| 45 4c 0a 0a 23 64 65 66 | 69 6e 65 09 46 50 5f 48 |EL..#def|ine.FP_H|
|00035c70| 57 09 30 78 30 31 09 09 | 09 2f 2a 20 68 61 76 65 |W.0x01..|./* have|
|00035c80| 20 66 70 20 68 61 72 64 | 77 61 72 65 20 2a 2f 0a | fp hard|ware */.|
|00035c90| 23 64 65 66 69 6e 65 09 | 46 50 5f 32 38 37 09 30 |#define.|FP_287.0|
|00035ca0| 78 30 32 09 09 09 2f 0f | 01 03 02 00 34 d7 01 02 |x02.../.|....4...|
|00035cb0| 00 ff 2a 20 68 61 76 65 | 20 38 30 32 38 37 20 2a |..* have| 80287 *|
|00035cc0| 2f 0a 23 64 65 66 69 6e | 65 09 46 50 5f 33 38 37 |/.#defin|e.FP_387|
|00035cd0| 09 30 78 30 34 09 09 09 | 2f 2a 20 68 61 76 65 20 |.0x04...|/* have |
|00035ce0| 38 30 33 38 37 20 2a 2f | 0a 23 64 65 66 69 6e 65 |80387 */|.#define|
|00035cf0| 09 46 50 5f 4e 4f 45 58 | 09 30 78 30 38 09 09 09 |.FP_NOEX|.0x08...|
|00035d00| 2f 2a 20 6e 6f 20 65 6d | 75 6c 61 74 6f 72 20 66 |/* no em|ulator f|
|00035d10| 6f 72 20 65 78 63 65 70 | 74 2e 20 68 61 6e 64 6c |or excep|t. handl|
|00035d20| 69 6e 67 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 46 |ing */.#|define.F|
|00035d30| 50 5f 45 4d 09 30 09 09 | 09 2f 2a 20 68 61 76 65 |P_EM.0..|./* have|
|00035d40| 20 66 70 20 65 6d 75 6c | 61 74 69 6f 6e 20 2a 2f | fp emul|ation */|
|00035d50| 0a 23 64 65 66 69 6e 65 | 09 46 50 5f 4e 4f 09 2d |.#define|.FP_NO.-|
|00035d60| 31 09 09 09 2f 2a 20 68 | 61 76 65 20 6e 6f 20 66 |1.../* h|ave no f|
|00035d70| 70 20 2a 2f 0a 0a 23 65 | 6c 73 65 0a 0a 23 64 65 |p */..#e|lse..#de|
|00035d80| 66 69 6e 65 20 46 50 5f | 4e 4f 20 20 20 30 20 20 |fine FP_|NO 0 |
|00035d90| 20 20 20 20 20 2f 2a 20 | 6e 6f 20 66 70 20 63 68 | /* |no fp ch|
|00035da0| 69 70 2c 20 6e 6f 20 65 | 6d 75 6c 61 74 6f 72 20 |ip, no e|mulator |
|00035db0| 28 00 55 6e 6f 20 66 70 | 20 73 75 70 70 6f 72 74 |(.Uno fp| support|
|00035dc0| 29 20 20 20 20 20 20 2a | 2f 0a 23 64 65 66 69 6e |) *|/.#defin|
|00035dd0| 65 20 46 50 5f 53 57 20 | 20 20 31 20 20 20 20 20 |e FP_SW | 1 |
|00035de0| 20 20 2f 2a 20 6e 6f 20 | 66 70 20 63 68 69 70 2c | /* no |fp chip,|
|00035df0| 20 75 73 69 6e 67 20 73 | 6f 66 74 77 61 72 65 20 | using s|oftware |
|00035e00| 65 6d 75 6c 61 74 6f 72 | 01 05 20 20 00 2e 2a 2f |emulator|.. ..*/|
|00035e10| 0a 23 64 65 66 69 6e 65 | 20 46 50 5f 48 57 20 20 |.#define| FP_HW |
|00035e20| 20 32 20 20 20 20 20 20 | 20 2f 2a 20 63 68 69 70 | 2 | /* chip|
|00035e30| 20 70 72 65 73 65 6e 74 | 20 62 69 74 01 0e 20 20 | present| bit.. |
|00035e40| 00 31 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 46 50 |.1 */.#d|efine FP|
|00035e50| 5f 32 38 37 20 20 32 20 | 20 20 20 20 20 20 2f 2a |_287 2 | /*|
|00035e60| 20 38 30 32 38 37 20 63 | 68 69 70 20 70 72 65 73 | 80287 c|hip pres|
|00035e70| 65 6e 74 01 0d 20 20 00 | 0d 20 2a 2f 0a 23 64 65 |ent.. .|. */.#de|
|00035e80| 66 69 6e 65 20 46 0f 01 | 04 02 00 01 c3 01 02 00 |fine F..|........|
|00035e90| 24 50 5f 33 38 37 20 20 | 33 20 20 20 20 20 20 20 |$P_387 |3 |
|00035ea0| 2f 2a 20 38 30 33 38 37 | 20 63 68 69 70 20 70 72 |/* 80387| chip pr|
|00035eb0| 65 73 65 6e 74 01 0d 20 | 20 00 ff 20 2a 2f 0a 0a |esent.. | .. */..|
|00035ec0| 23 65 6e 64 69 66 0a 0a | 2f 2a 0a 20 2a 20 64 65 |#endif..|/*. * de|
|00035ed0| 66 69 6e 65 73 20 66 6f | 72 20 65 6d 75 6c 61 74 |fines fo|r emulat|
|00035ee0| 6f 72 0a 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 20 |or. */..|#define |
|00035ef0| 45 4d 55 4c 5f 53 54 41 | 52 54 09 30 78 31 35 09 |EMUL_STA|RT.0x15.|
|00035f00| 09 2f 2a 20 61 64 64 72 | 65 73 73 20 66 6f 72 20 |./* addr|ess for |
|00035f10| 65 6d 75 6c 61 74 69 6f | 6e 20 2a 2f 0a 23 64 65 |emulatio|n */.#de|
|00035f20| 66 69 6e 65 20 45 4d 55 | 4c 5f 45 58 43 45 50 54 |fine EMU|L_EXCEPT|
|00035f30| 09 30 78 31 41 09 09 2f | 2a 20 61 64 64 72 65 73 |.0x1A../|* addres|
|00035f40| 73 20 66 6f 72 20 65 78 | 63 65 70 74 69 6f 6e 20 |s for ex|ception |
|00035f50| 68 61 6e 64 6c 69 6e 67 | 20 2a 2f 0a 0a 23 69 66 |handling| */..#if|
|00035f60| 64 65 66 20 4d 5f 49 33 | 38 36 0a 2f 2a 0a 20 2a |def M_I3|86./*. *|
|00035f70| 20 65 78 74 65 72 6e 61 | 6c 73 20 75 73 65 64 20 | externa|ls used |
|00035f80| 66 6f 72 20 66 70 75 20 | 73 75 70 70 6f 72 74 0a |for fpu |support.|
|00035f90| 20 2a 2f 0a 0a 65 78 74 | 65 72 6e 20 73 74 72 75 | */..ext|ern stru|
|00035fa0| 63 74 20 70 72 6f 63 20 | 2a 66 70 5f 74 61 73 6b |ct proc |*fp_task|
|00035fb0| 3b 0a 65 78 74 65 72 6e | 20 69 00 17 6e 74 20 66 |;.extern| i..nt f|
|00035fc0| 70 5f 74 79 70 65 3b 0a | 23 65 6e 64 69 66 0a 61 |p_type;.|#endif.a|
|00035fd0| 74 6f 72 01 05 20 20 00 | 2e 2a 2f 0a 23 64 65 66 |tor.. .|.*/.#def|
|00035fe0| 69 6e 65 20 46 50 5f 48 | 57 20 20 20 32 20 20 20 |ine FP_H|W 2 |
|00035ff0| 20 20 20 20 2f 2a 20 63 | 68 69 70 20 70 72 65 73 | /* c|hip pres|
|00036000| 65 6e 74 20 62 69 74 01 | 0e 20 20 00 31 20 2a 2f |ent bit.|. .1 */|
|00036010| 0a 23 64 65 66 69 6e 65 | 20 46 50 5f 32 38 37 20 |.#define| FP_287 |
|00036020| 20 32 20 20 20 20 20 20 | 20 2f 2a 20 38 30 32 38 | 2 | /* 8028|
|00036030| 37 20 63 68 69 70 20 70 | 72 65 73 65 6e 74 01 0d |7 chip p|resent..|
|00036040| 20 20 00 0d 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 | .. */.|#define |
|00036050| 46 0f 01 05 02 00 4c 5d | 00 02 00 18 2e 2f 75 73 |F.....L]|...../us|
|00036060| 72 2f 69 6e 63 6c 75 64 | 65 2f 73 79 73 2f 6e 64 |r/includ|e/sys/nd|
|00036070| 69 72 2e 68 01 26 00 00 | 00 38 20 20 20 34 34 34 |ir.h.&..|.8 444|
|00036080| 20 00 20 20 20 20 20 30 | 20 00 20 20 20 20 20 30 | . 0| . 0|
|00036090| 20 00 20 20 20 20 20 20 | 20 35 36 36 32 20 20 34 | . | 5662 4|
|000360a0| 32 34 34 33 34 30 32 30 | 36 20 20 31 30 33 32 36 |24434020|6 10326|
|000360b0| 00 20 01 b2 00 00 0f 01 | 06 02 00 94 01 02 00 2f |. ......|......./|
|000360c0| 2a 0a 20 2a 09 40 28 23 | 29 20 6e 64 69 72 2e 68 |*. *.@(#|) ndir.h|
|000360d0| 20 32 2e 33 20 38 38 2f | 30 35 2f 31 38 20 0a 20 | 2.3 88/|05/18 . |
|000360e0| 2a 0a 20 2a 09 43 6f 70 | 79 72 69 67 68 74 20 28 |*. *.Cop|yright (|
|000360f0| 43 29 20 54 68 65 20 53 | 61 6e 74 61 20 43 72 75 |C) The S|anta Cru|
|00036100| 7a 20 4f 70 65 72 61 74 | 69 6f 6e 2c 20 31 39 38 |z Operat|ion, 198|
|00036110| 34 2c 20 31 39 38 35 2c | 20 31 39 38 36 2c 20 31 |4, 1985,| 1986, 1|
|00036120| 39 38 37 2c 20 31 39 38 | 38 2e 0a 20 2a 09 43 6f |987, 198|8.. *.Co|
|00036130| 70 79 72 69 67 68 74 20 | 28 43 29 20 4d 69 63 72 |pyright |(C) Micr|
|00036140| 6f 73 6f 66 74 20 43 6f | 72 70 6f 72 61 74 69 6f |osoft Co|rporatio|
|00036150| 6e 2c 20 31 39 38 34 2c | 20 31 39 38 35 2c 20 31 |n, 1984,| 1985, 1|
|00036160| 39 38 36 2c 20 31 39 38 | 37 2c 20 31 39 38 38 2e |986, 198|7, 1988.|
|00036170| 0a 20 2a 09 54 68 69 73 | 20 4d 6f 64 75 6c 65 20 |. *.This| Module |
|00036180| 63 6f 6e 74 61 69 6e 73 | 20 50 72 6f 70 72 69 65 |contains| Proprie|
|00036190| 74 61 72 79 20 49 6e 66 | 6f 72 6d 61 74 69 6f 6e |tary Inf|ormation|
|000361a0| 20 6f 66 0a 20 2a 09 54 | 68 65 20 53 61 6e 74 61 | of. *.T|he Santa|
|000361b0| 20 43 72 75 7a 20 4f 70 | 65 72 61 74 69 6f 6e 2c | Cruz Op|eration,|
|000361c0| 20 4d 69 63 72 6f 73 6f | 66 74 20 43 6f 72 70 6f | Microso|ft Corpo|
|000361d0| 72 61 74 69 6f 6e 0a 20 | 2a 09 61 6e 64 20 41 54 |ration. |*.and AT|
|000361e0| 26 54 2c 20 61 6e 64 20 | 73 68 6f 75 6c 64 20 62 |&T, and |should b|
|000361f0| 65 20 74 72 65 61 74 65 | 64 20 61 73 20 43 6f 6e |e treate|d as Con|
|00036200| 66 69 64 65 6e 74 69 61 | 6c 2e 0a 20 2a 2f 0a 0a |fidentia|l.. */..|
|00036210| 2f 2a 0a 20 2a 20 43 68 | 61 6e 67 65 20 6e 6f 74 |/*. * Ch|ange not|
|00036220| 69 63 65 20 28 72 74 69 | 21 74 72 74 29 3a 20 20 |ice (rti|!trt): |
|00036230| 54 6f 20 62 65 20 63 6f | 6d 70 61 74 69 62 6c 65 |To be co|mpatible|
|00036240| 20 77 69 74 68 20 6e 6f | 6e 2d 62 73 64 20 73 79 | with no|n-bsd sy|
|00036250| 73 74 65 6d 73 3a 0a 20 | 2a 20 23 64 65 66 69 6e |stems:. |* #defin|
|00036260| 65 73 20 66 6f 72 20 75 | 5f 73 68 6f 72 74 2c 20 |es for u|_short, |
|00036270| 75 5f 6c 6f 6e 67 2c 20 | 61 6e 64 20 76 6f 69 64 |u_long, |and void|
|00036280| 20 61 64 64 65 64 2e 0a | 20 2a 2f 0a 0a 23 64 65 | added..| */..#de|
|00036290| 66 69 6e 65 09 75 5f 73 | 68 6f 72 74 09 75 6e 73 |fine.u_s|hort.uns|
|000362a0| 69 67 6e 65 64 20 73 68 | 6f 72 74 0a 23 64 65 66 |igned sh|ort.#def|
|000362b0| 69 6e 65 09 75 5f 6c 6f | 6e 67 09 6c 6f 6e 67 0f |ine.u_lo|ng.long.|
|000362c0| 01 07 02 00 44 01 02 00 | 0a 0a 2f 2a 0a 20 2a 20 |....D...|../*. * |
|000362d0| 41 20 64 69 72 65 63 74 | 6f 72 79 20 63 6f 6e 73 |A direct|ory cons|
|000362e0| 69 73 74 73 20 6f 66 20 | 73 6f 6d 65 20 6e 75 6d |ists of |some num|
|000362f0| 62 65 72 20 6f 66 20 62 | 6c 6f 63 6b 73 20 6f 66 |ber of b|locks of|
|00036300| 20 44 49 52 42 4c 4b 53 | 49 5a 0a 20 2a 20 62 79 | DIRBLKS|IZ. * by|
|00036310| 74 65 73 2c 20 77 68 65 | 72 65 20 44 49 52 42 4c |tes, whe|re DIRBL|
|00036320| 4b 53 49 5a 20 69 73 20 | 63 68 6f 73 65 6e 20 73 |KSIZ is |chosen s|
|00036330| 75 63 68 20 74 68 61 74 | 20 69 74 20 63 61 6e 20 |uch that| it can |
|00036340| 62 65 20 74 72 61 6e 73 | 66 65 72 72 65 64 0a 20 |be trans|ferred. |
|00036350| 2a 20 74 6f 20 64 69 73 | 6b 20 69 6e 20 61 20 73 |* to dis|k in a s|
|00036360| 69 6e 67 6c 65 20 61 74 | 6f 6d 69 63 20 6f 70 65 |ingle at|omic ope|
|00036370| 72 61 74 69 6f 6e 20 28 | 65 2e 67 2e 20 35 31 32 |ration (|e.g. 512|
|00036380| 20 62 79 74 65 73 20 6f | 6e 20 6d 6f 73 74 20 6d | bytes o|n most m|
|00036390| 61 63 68 69 6e 65 73 29 | 2e 0a 20 2a 0a 20 2a 20 |achines)|.. *. * |
|000363a0| 45 61 63 68 20 44 49 52 | 42 4c 4b 53 49 5a 20 62 |Each DIR|BLKSIZ b|
|000363b0| 79 74 65 20 62 6c 6f 63 | 6b 20 63 6f 6e 74 61 69 |yte bloc|k contai|
|000363c0| 6e 73 20 73 6f 6d 65 20 | 6e 75 6d 62 65 72 20 6f |ns some |number o|
|000363d0| 66 20 64 69 72 65 63 74 | 6f 72 79 20 65 6e 74 72 |f direct|ory entr|
|000363e0| 79 0a 20 2a 20 73 74 72 | 75 63 74 75 72 65 73 2c |y. * str|uctures,|
|000363f0| 20 77 68 69 63 68 20 61 | 72 65 20 6f 66 20 76 61 | which a|re of va|
|00036400| 72 69 61 62 6c 65 20 6c | 65 6e 67 74 68 2e 20 20 |riable l|ength. |
|00036410| 45 61 63 68 20 64 69 72 | 65 63 74 6f 72 79 20 65 |Each dir|ectory e|
|00036420| 6e 74 72 79 20 68 61 73 | 0a 20 2a 20 61 20 73 74 |ntry has|. * a st|
|00036430| 72 75 63 74 20 64 69 72 | 65 63 74 20 61 74 20 74 |ruct dir|ect at t|
|00036440| 68 65 20 66 72 6f 6e 74 | 20 6f 66 20 69 74 2c 20 |he front| of it, |
|00036450| 63 6f 6e 74 61 69 6e 69 | 6e 67 20 69 74 73 20 69 |containi|ng its i|
|00036460| 6e 6f 64 65 20 6e 75 6d | 62 65 72 2c 0a 20 2a 20 |node num|ber,. * |
|00036470| 74 68 65 20 6c 65 6e 67 | 74 68 20 6f 66 20 74 68 |the leng|th of th|
|00036480| 65 20 65 6e 74 72 79 2c | 20 61 6e 64 20 74 68 65 |e entry,| and the|
|00036490| 20 6c 65 6e 67 74 68 20 | 6f 66 20 74 68 65 20 6e | length |of the n|
|000364a0| 61 6d 65 20 63 6f 6e 74 | 61 69 6e 65 64 20 69 6e |ame cont|ained in|
|000364b0| 0a 20 2a 20 74 68 65 20 | 65 6e 74 72 79 2e 20 20 |. * the |entry. |
|000364c0| 54 68 65 73 65 20 61 72 | 0f 01 08 02 00 3f 01 02 |These ar|.....?..|
|000364d0| 00 65 20 66 6f 6c 6c 6f | 77 65 64 20 62 79 20 74 |.e follo|wed by t|
|000364e0| 68 65 20 6e 61 6d 65 20 | 70 61 64 64 65 64 20 74 |he name |padded t|
|000364f0| 6f 20 61 20 34 20 62 79 | 74 65 20 62 6f 75 6e 64 |o a 4 by|te bound|
|00036500| 61 72 79 0a 20 2a 20 77 | 69 74 68 20 6e 75 6c 6c |ary. * w|ith null|
|00036510| 20 62 79 74 65 73 2e 20 | 20 41 6c 6c 20 6e 61 6d | bytes. | All nam|
|00036520| 65 73 20 61 72 65 20 67 | 75 61 72 61 6e 74 65 65 |es are g|uarantee|
|00036530| 64 20 6e 75 6c 6c 20 74 | 65 72 6d 69 6e 61 74 65 |d null t|erminate|
|00036540| 64 2e 0a 20 2a 20 54 68 | 65 20 6d 61 78 69 6d 75 |d.. * Th|e maximu|
|00036550| 6d 20 6c 65 6e 67 74 68 | 20 6f 66 20 61 20 6e 61 |m length| of a na|
|00036560| 6d 65 20 69 6e 20 61 20 | 64 69 72 65 63 74 6f 72 |me in a |director|
|00036570| 79 20 69 73 20 4d 41 58 | 4e 41 4d 4c 45 4e 2e 0a |y is MAX|NAMLEN..|
|00036580| 20 2a 0a 20 2a 20 54 68 | 65 20 6d 61 63 72 6f 20 | *. * Th|e macro |
|00036590| 44 49 52 53 49 5a 28 64 | 70 29 20 67 69 76 65 73 |DIRSIZ(d|p) gives|
|000365a0| 20 74 68 65 20 61 6d 6f | 75 6e 74 20 6f 66 20 73 | the amo|unt of s|
|000365b0| 70 61 63 65 20 72 65 71 | 75 69 72 65 64 20 74 6f |pace req|uired to|
|000365c0| 20 72 65 70 72 65 73 65 | 6e 74 0a 20 2a 20 61 20 | represe|nt. * a |
|000365d0| 64 69 72 65 63 74 6f 72 | 79 20 65 6e 74 72 79 2e |director|y entry.|
|000365e0| 20 20 46 72 65 65 20 73 | 70 61 63 65 20 69 6e 20 | Free s|pace in |
|000365f0| 61 20 64 69 72 65 63 74 | 6f 72 79 20 69 73 20 72 |a direct|ory is r|
|00036600| 65 70 72 65 73 65 6e 74 | 65 64 20 62 79 0a 20 2a |epresent|ed by. *|
|00036610| 20 65 6e 74 72 69 65 73 | 20 77 68 69 63 68 20 68 | entries| which h|
|00036620| 61 76 65 20 64 70 2d 3e | 64 5f 72 65 63 6c 65 6e |ave dp->|d_reclen|
|00036630| 20 3e 3d 20 44 49 52 53 | 49 5a 28 64 70 29 2e 20 | >= DIRS|IZ(dp). |
|00036640| 20 41 6c 6c 20 44 49 52 | 42 4c 4b 53 49 5a 20 62 | All DIR|BLKSIZ b|
|00036650| 79 74 65 73 0a 20 2a 20 | 69 6e 20 61 20 64 69 72 |ytes. * |in a dir|
|00036660| 65 63 74 6f 72 79 20 62 | 6c 6f 63 6b 20 61 72 65 |ectory b|lock are|
|00036670| 20 63 6c 61 69 6d 65 64 | 20 62 79 20 74 68 65 20 | claimed| by the |
|00036680| 64 69 72 65 63 74 6f 72 | 79 20 65 6e 74 72 69 65 |director|y entrie|
|00036690| 73 2e 20 20 54 68 69 73 | 0a 20 2a 20 75 73 75 61 |s. This|. * usua|
|000366a0| 6c 6c 79 20 72 65 73 75 | 6c 74 73 20 69 6e 20 74 |lly resu|lts in t|
|000366b0| 68 65 20 6c 61 73 74 20 | 65 6e 74 72 79 20 69 6e |he last |entry in|
|000366c0| 20 61 20 64 69 72 65 63 | 74 6f 72 79 20 68 61 76 | a direc|tory hav|
|000366d0| 69 0f 01 09 02 00 ec 01 | 02 00 6e 67 20 61 20 6c |i.......|..ng a l|
|000366e0| 61 72 67 65 0a 20 2a 20 | 64 70 2d 3e 64 5f 72 65 |arge. * |dp->d_re|
|000366f0| 63 6c 65 6e 2e 20 20 57 | 68 65 6e 20 65 6e 74 72 |clen. W|hen entr|
|00036700| 69 65 73 20 61 72 65 20 | 64 65 6c 65 74 65 64 20 |ies are |deleted |
|00036710| 66 72 6f 6d 20 61 20 64 | 69 72 65 63 74 6f 72 79 |from a d|irectory|
|00036720| 2c 20 74 68 65 0a 20 2a | 20 73 70 61 63 65 20 69 |, the. *| space i|
|00036730| 73 20 72 65 74 75 72 6e | 65 64 20 74 6f 20 74 68 |s return|ed to th|
|00036740| 65 20 70 72 65 76 69 6f | 75 73 20 65 6e 74 72 79 |e previo|us entry|
|00036750| 20 69 6e 20 74 68 65 20 | 73 61 6d 65 20 64 69 72 | in the |same dir|
|00036760| 65 63 74 6f 72 79 0a 20 | 2a 20 62 6c 6f 63 6b 20 |ectory. |* block |
|00036770| 62 79 20 69 6e 63 72 65 | 61 73 69 6e 67 20 69 74 |by incre|asing it|
|00036780| 73 20 64 70 2d 3e 64 5f | 72 65 63 6c 65 6e 2e 20 |s dp->d_|reclen. |
|00036790| 20 49 66 20 74 68 65 20 | 66 69 72 73 74 20 65 6e | If the |first en|
|000367a0| 74 72 79 20 6f 66 0a 20 | 2a 20 61 20 64 69 72 65 |try of. |* a dire|
|000367b0| 63 74 6f 72 79 20 62 6c | 6f 63 6b 20 69 73 20 66 |ctory bl|ock is f|
|000367c0| 72 65 65 2c 20 74 68 65 | 6e 20 69 74 73 20 64 70 |ree, the|n its dp|
|000367d0| 2d 3e 64 5f 69 6e 6f 20 | 69 73 20 73 65 74 20 74 |->d_ino |is set t|
|000367e0| 6f 20 30 2e 0a 20 2a 20 | 45 6e 74 72 69 65 73 20 |o 0.. * |Entries |
|000367f0| 6f 74 68 65 72 20 74 68 | 61 6e 20 74 68 65 20 66 |other th|an the f|
|00036800| 69 72 73 74 20 69 6e 20 | 61 20 64 69 72 65 63 74 |irst in |a direct|
|00036810| 6f 72 79 20 64 6f 20 6e | 6f 74 20 6e 6f 72 6d 61 |ory do n|ot norma|
|00036820| 6c 6c 79 20 68 61 76 65 | 0a 20 2a 20 64 70 2d 3e |lly have|. * dp->|
|00036830| 64 5f 69 6e 6f 20 73 65 | 74 20 74 6f 20 30 2e 0a |d_ino se|t to 0..|
|00036840| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 44 49 52 42 | */.#def|ine DIRB|
|00036850| 4c 4b 53 49 5a 09 35 31 | 32 0a 23 64 65 66 69 6e |LKSIZ.51|2.#defin|
|00036860| 65 09 4d 41 58 4e 41 4d | 4c 45 4e 09 32 35 35 0a |e.MAXNAM|LEN.255.|
|00036870| 0a 73 74 72 75 63 74 09 | 64 69 72 65 63 74 20 7b |.struct.|direct {|
|00036880| 0a 09 75 5f 6c 6f 6e 67 | 09 64 5f 69 6e 6f 3b 09 |..u_long|.d_ino;.|
|00036890| 09 09 2f 2a 20 69 6e 6f | 64 65 20 6e 75 6d 62 65 |../* ino|de numbe|
|000368a0| 72 20 6f 66 20 65 6e 74 | 72 79 20 2a 2f 0a 09 75 |r of ent|ry */..u|
|000368b0| 5f 73 68 6f 72 74 09 64 | 5f 72 65 63 6c 65 6e 3b |_short.d|_reclen;|
|000368c0| 09 09 2f 2a 20 6c 65 6e | 67 74 68 20 6f 66 20 74 |../* len|gth of t|
|000368d0| 68 69 73 20 72 65 63 6f | 72 64 0f 01 0a 02 00 5c |his reco|rd.....\|
|000368e0| 01 02 00 20 2a 2f 0a 09 | 75 5f 73 68 6f 72 74 09 |... */..|u_short.|
|000368f0| 64 5f 6e 61 6d 6c 65 6e | 3b 09 09 2f 2a 20 6c 65 |d_namlen|;../* le|
|00036900| 6e 67 74 68 20 6f 66 20 | 73 74 72 69 6e 67 20 69 |ngth of |string i|
|00036910| 6e 20 64 5f 6e 61 6d 65 | 20 2a 2f 0a 09 63 68 61 |n d_name| */..cha|
|00036920| 72 09 64 5f 6e 61 6d 65 | 5b 4d 41 58 4e 41 4d 4c |r.d_name|[MAXNAML|
|00036930| 45 4e 20 2b 20 31 5d 3b | 09 2f 2a 20 6e 61 6d 65 |EN + 1];|./* name|
|00036940| 20 6d 75 73 74 20 62 65 | 20 6e 6f 20 6c 6f 6e 67 | must be| no long|
|00036950| 65 72 20 74 68 61 6e 20 | 74 68 69 73 20 2a 2f 0a |er than |this */.|
|00036960| 7d 3b 0a 0a 2f 2a 0a 20 | 2a 20 54 68 65 20 44 49 |};../*. |* The DI|
|00036970| 52 53 49 5a 20 6d 61 63 | 72 6f 20 67 69 76 65 73 |RSIZ mac|ro gives|
|00036980| 20 74 68 65 20 6d 69 6e | 69 6d 75 6d 20 72 65 63 | the min|imum rec|
|00036990| 6f 72 64 20 6c 65 6e 67 | 74 68 20 77 68 69 63 68 |ord leng|th which|
|000369a0| 20 77 69 6c 6c 20 68 6f | 6c 64 0a 20 2a 20 74 68 | will ho|ld. * th|
|000369b0| 65 20 64 69 72 65 63 74 | 6f 72 79 20 65 6e 74 72 |e direct|ory entr|
|000369c0| 79 2e 20 20 54 68 69 73 | 20 72 65 71 75 69 72 65 |y. This| require|
|000369d0| 73 20 74 68 65 20 61 6d | 6f 75 6e 74 20 6f 66 20 |s the am|ount of |
|000369e0| 73 70 61 63 65 20 69 6e | 20 73 74 72 75 63 74 20 |space in| struct |
|000369f0| 64 69 72 65 63 74 0a 20 | 2a 20 77 69 74 68 6f 75 |direct. |* withou|
|00036a00| 74 20 74 68 65 20 64 5f | 6e 61 6d 65 20 66 69 65 |t the d_|name fie|
|00036a10| 6c 64 2c 20 70 6c 75 73 | 20 65 6e 6f 75 67 68 20 |ld, plus| enough |
|00036a20| 73 70 61 63 65 20 66 6f | 72 20 74 68 65 20 6e 61 |space fo|r the na|
|00036a30| 6d 65 20 77 69 74 68 20 | 61 20 74 65 72 6d 69 6e |me with |a termin|
|00036a40| 61 74 69 6e 67 0a 20 2a | 20 6e 75 6c 6c 20 62 79 |ating. *| null by|
|00036a50| 74 65 20 28 64 70 2d 3e | 64 5f 6e 61 6d 6c 65 6e |te (dp->|d_namlen|
|00036a60| 2b 31 29 2c 20 72 6f 75 | 6e 64 65 64 20 75 70 20 |+1), rou|nded up |
|00036a70| 74 6f 20 61 20 34 20 62 | 79 74 65 20 62 6f 75 6e |to a 4 b|yte boun|
|00036a80| 64 61 72 79 2e 0a 20 2a | 2f 0a 23 75 6e 64 65 66 |dary.. *|/.#undef|
|00036a90| 20 44 49 52 53 49 5a 0a | 23 64 65 66 69 6e 65 20 | DIRSIZ.|#define |
|00036aa0| 44 49 52 53 49 5a 28 64 | 70 29 20 5c 0a 20 20 20 |DIRSIZ(d|p) \. |
|00036ab0| 20 28 28 73 69 7a 65 6f | 66 20 28 73 74 72 75 63 | ((sizeo|f (struc|
|00036ac0| 74 20 64 69 72 65 63 74 | 29 20 2d 20 28 4d 41 58 |t direct|) - (MAX|
|00036ad0| 4e 41 4d 4c 45 4e 2b 31 | 29 29 20 2b 20 28 28 28 |NAMLEN+1|)) + (((|
|00036ae0| 64 70 29 0f 01 0b 02 00 | 21 01 02 00 2d 3e 64 5f |dp).....|!...->d_|
|00036af0| 6e 61 6d 6c 65 6e 2b 31 | 20 2b 20 33 29 20 26 7e |namlen+1| + 3) &~|
|00036b00| 20 33 29 29 0a 0a 23 69 | 66 6e 64 65 66 20 4b 45 | 3))..#i|fndef KE|
|00036b10| 52 4e 45 4c 0a 2f 2a 0a | 20 2a 20 44 65 66 69 6e |RNEL./*.| * Defin|
|00036b20| 69 74 69 6f 6e 73 20 66 | 6f 72 20 6c 69 62 72 61 |itions f|or libra|
|00036b30| 72 79 20 72 6f 75 74 69 | 6e 65 73 20 6f 70 65 72 |ry routi|nes oper|
|00036b40| 61 74 69 6e 67 20 6f 6e | 20 64 69 72 65 63 74 6f |ating on| directo|
|00036b50| 72 69 65 73 2e 0a 20 2a | 2f 0a 74 79 70 65 64 65 |ries.. *|/.typede|
|00036b60| 66 20 73 74 72 75 63 74 | 20 5f 64 69 72 64 65 73 |f struct| _dirdes|
|00036b70| 63 20 7b 0a 09 69 6e 74 | 09 64 64 5f 66 64 3b 0a |c {..int|.dd_fd;.|
|00036b80| 09 6c 6f 6e 67 09 64 64 | 5f 6c 6f 63 3b 0a 09 6c |.long.dd|_loc;..l|
|00036b90| 6f 6e 67 09 64 64 5f 73 | 69 7a 65 3b 0a 09 63 68 |ong.dd_s|ize;..ch|
|00036ba0| 61 72 09 64 64 5f 62 75 | 66 5b 44 49 52 42 4c 4b |ar.dd_bu|f[DIRBLK|
|00036bb0| 53 49 5a 5d 3b 0a 7d 20 | 44 49 52 3b 0a 23 69 66 |SIZ];.} |DIR;.#if|
|00036bc0| 6e 64 65 66 20 4e 55 4c | 4c 0a 23 64 65 66 69 6e |ndef NUL|L.#defin|
|00036bd0| 65 20 4e 55 4c 4c 20 30 | 0a 23 65 6e 64 69 66 0a |e NULL 0|.#endif.|
|00036be0| 65 78 74 65 72 6e 09 44 | 49 52 20 2a 6f 70 65 6e |extern.D|IR *open|
|00036bf0| 64 69 72 28 29 3b 0a 65 | 78 74 65 72 6e 09 73 74 |dir();.e|xtern.st|
|00036c00| 72 75 63 74 20 64 69 72 | 65 63 74 20 2a 72 65 61 |ruct dir|ect *rea|
|00036c10| 64 64 69 72 28 29 3b 0a | 65 78 74 65 72 6e 09 6c |ddir();.|extern.l|
|00036c20| 6f 6e 67 20 74 65 6c 6c | 64 69 72 28 29 3b 0a 65 |ong tell|dir();.e|
|00036c30| 78 74 65 72 6e 09 76 6f | 69 64 20 73 65 65 6b 64 |xtern.vo|id seekd|
|00036c40| 69 72 28 29 3b 0a 23 64 | 65 66 69 6e 65 20 72 65 |ir();.#d|efine re|
|00036c50| 77 69 6e 64 64 69 72 28 | 64 69 72 70 29 09 73 65 |winddir(|dirp).se|
|00036c60| 65 6b 64 69 72 28 28 64 | 69 72 70 29 2c 20 28 6c |ekdir((d|irp), (l|
|00036c70| 6f 6e 67 29 30 29 0a 65 | 78 74 65 72 6e 09 63 6c |ong)0).e|xtern.cl|
|00036c80| 6f 73 65 64 69 72 28 29 | 3b 0a 23 65 6e 64 69 66 |osedir()|;.#endif|
|00036c90| 20 2f 2a 20 4b 45 52 4e | 45 4c 20 2a 2f 0a 49 5a | /* KERN|EL */.IZ|
|00036ca0| 0a 23 64 65 66 69 6e 65 | 20 44 49 52 53 49 5a 28 |.#define| DIRSIZ(|
|00036cb0| 64 70 29 20 5c 0a 20 20 | 20 20 28 28 73 69 7a 65 |dp) \. | ((size|
|00036cc0| 6f 66 20 28 73 74 72 75 | 63 74 20 64 69 72 65 63 |of (stru|ct direc|
|00036cd0| 74 29 20 2d 20 28 4d 41 | 58 4e 41 4d 4c 45 4e 2b |t) - (MA|XNAMLEN+|
|00036ce0| 31 29 29 20 2b 20 28 28 | 28 64 70 29 0f 01 0c 02 |1)) + ((|(dp)....|
|00036cf0| 00 c6 5f 00 02 00 19 2e | 2f 75 73 72 2f 69 6e 63 |.._.....|/usr/inc|
|00036d00| 6c 75 64 65 2f 73 79 73 | 2f 6e 61 6d 65 69 2e 68 |lude/sys|/namei.h|
|00036d10| 01 25 00 00 00 39 00 20 | 20 20 34 34 34 20 00 20 |.%...9. | 444 . |
|00036d20| 20 20 20 20 30 20 00 20 | 20 20 20 20 30 20 00 20 | 0 . | 0 . |
|00036d30| 20 20 20 20 20 20 33 32 | 31 34 20 20 34 32 34 34 | 32|14 4244|
|00036d40| 33 34 30 31 33 32 20 20 | 31 30 34 35 30 00 20 01 |340132 |10450. .|
|00036d50| b2 00 00 0f 01 0d 02 00 | 9b 01 02 00 2f 2a 0a 20 |........|..../*. |
|00036d60| 2a 09 40 28 23 29 20 6e | 61 6d 65 69 2e 68 20 31 |*.@(#) n|amei.h 1|
|00036d70| 2e 31 20 38 38 2f 30 35 | 2f 31 38 20 0a 20 2a 0a |.1 88/05|/18 . *.|
|00036d80| 20 2a 09 43 6f 70 79 72 | 69 67 68 74 20 28 43 29 | *.Copyr|ight (C)|
|00036d90| 20 54 68 65 20 53 61 6e | 74 61 20 43 72 75 7a 20 | The San|ta Cruz |
|00036da0| 4f 70 65 72 61 74 69 6f | 6e 2c 20 31 39 38 38 2e |Operatio|n, 1988.|
|00036db0| 0a 20 2a 09 54 68 69 73 | 20 4d 6f 64 75 6c 65 20 |. *.This| Module |
|00036dc0| 63 6f 6e 74 61 69 6e 73 | 20 50 72 6f 70 72 69 65 |contains| Proprie|
|00036dd0| 74 61 72 79 20 49 6e 66 | 6f 72 6d 61 74 69 6f 6e |tary Inf|ormation|
|00036de0| 20 6f 66 0a 20 2a 09 54 | 68 65 20 53 61 6e 74 61 | of. *.T|he Santa|
|00036df0| 20 43 72 75 7a 20 4f 70 | 65 72 61 74 69 6f 6e 2c | Cruz Op|eration,|
|00036e00| 20 4d 69 63 72 6f 73 6f | 66 74 20 43 6f 72 70 6f | Microso|ft Corpo|
|00036e10| 72 61 74 69 6f 6e 0a 20 | 2a 09 61 6e 64 20 41 54 |ration. |*.and AT|
|00036e20| 26 54 2c 20 61 6e 64 20 | 73 68 6f 75 6c 64 20 62 |&T, and |should b|
|00036e30| 65 20 74 72 65 61 74 65 | 64 20 61 73 20 43 6f 6e |e treate|d as Con|
|00036e40| 66 69 64 65 6e 74 69 61 | 6c 2e 0a 20 2a 0a 20 2a |fidentia|l.. *. *|
|00036e50| 20 43 6f 70 79 72 69 67 | 68 74 20 28 63 29 20 31 | Copyrig|ht (c) 1|
|00036e60| 39 38 32 2c 20 31 39 38 | 36 20 52 65 67 65 6e 74 |982, 198|6 Regent|
|00036e70| 73 20 6f 66 20 74 68 65 | 20 55 6e 69 76 65 72 73 |s of the| Univers|
|00036e80| 69 74 79 20 6f 66 20 43 | 61 6c 69 66 6f 72 6e 69 |ity of C|aliforni|
|00036e90| 61 2e 0a 20 2a 20 41 6c | 6c 20 72 69 67 68 74 73 |a.. * Al|l rights|
|00036ea0| 20 72 65 73 65 72 76 65 | 64 2e 20 20 54 68 65 20 | reserve|d. The |
|00036eb0| 42 65 72 6b 65 6c 65 79 | 20 73 6f 66 74 77 61 72 |Berkeley| softwar|
|00036ec0| 65 20 4c 69 63 65 6e 73 | 65 20 41 67 72 65 65 6d |e Licens|e Agreem|
|00036ed0| 65 6e 74 0a 20 2a 20 73 | 70 65 63 69 66 69 65 73 |ent. * s|pecifies|
|00036ee0| 20 74 68 65 20 74 65 72 | 6d 73 20 61 6e 64 20 63 | the ter|ms and c|
|00036ef0| 6f 6e 64 69 74 69 6f 6e | 73 20 66 6f 72 20 72 65 |ondition|s for re|
|00036f00| 64 69 73 74 72 69 62 75 | 74 69 6f 6e 2e 0a 20 2a |distribu|tion.. *|
|00036f10| 2f 0a 0a 23 69 66 20 64 | 65 66 69 6e 65 64 28 4d |/..#if d|efined(M|
|00036f20| 5f 49 38 30 38 36 29 20 | 7c 7c 20 64 65 66 69 6e |_I8086) ||| defin|
|00036f30| 65 64 28 4d 5f 49 32 38 | 36 29 0a 23 64 65 66 69 |ed(M_I28|6).#defi|
|00036f40| 6e 65 09 6e 63 68 70 5f | 74 09 73 74 72 75 63 74 |ne.nchp_|t.struct|
|00036f50| 20 6e 61 6d 65 63 61 63 | 68 65 20 66 0f 01 0e 02 | namecac|he f....|
|00036f60| 00 27 01 02 00 61 72 20 | 2a 0a 23 64 65 66 69 6e |.'...ar |*.#defin|
|00036f70| 65 09 6e 63 68 70 70 5f | 74 09 73 74 72 75 63 74 |e.nchpp_|t.struct|
|00036f80| 20 6e 61 6d 65 63 61 63 | 68 65 20 66 61 72 20 2a | namecac|he far *|
|00036f90| 20 66 61 72 20 2a 0a 23 | 65 6c 73 65 0a 23 64 65 | far *.#|else.#de|
|00036fa0| 66 69 6e 65 09 6e 63 68 | 70 5f 74 09 73 74 72 75 |fine.nch|p_t.stru|
|00036fb0| 63 74 20 6e 61 6d 65 63 | 61 63 68 65 20 2a 0a 23 |ct namec|ache *.#|
|00036fc0| 64 65 66 69 6e 65 09 6e | 63 68 70 70 5f 74 09 73 |define.n|chpp_t.s|
|00036fd0| 74 72 75 63 74 20 6e 61 | 6d 65 63 61 63 68 65 20 |truct na|mecache |
|00036fe0| 2a 2a 0a 23 65 6e 64 69 | 66 0a 0a 2f 2a 0a 20 2a |**.#endi|f../*. *|
|00036ff0| 20 54 68 69 73 20 73 74 | 72 75 63 74 75 72 65 20 | This st|ructure |
|00037000| 64 65 73 63 72 69 62 65 | 73 20 74 68 65 20 65 6c |describe|s the el|
|00037010| 65 6d 65 6e 74 73 20 69 | 6e 20 74 68 65 20 63 61 |ements i|n the ca|
|00037020| 63 68 65 20 6f 66 20 72 | 65 63 65 6e 74 0a 20 2a |che of r|ecent. *|
|00037030| 20 6e 61 6d 65 73 20 6c | 6f 6f 6b 65 64 20 75 70 | names l|ooked up|
|00037040| 20 62 79 20 6e 61 6d 65 | 69 2e 0a 20 2a 2f 0a 73 | by name|i.. */.s|
|00037050| 74 72 75 63 74 09 6e 61 | 6d 65 63 61 63 68 65 20 |truct.na|mecache |
|00037060| 7b 0a 09 6e 63 68 70 5f | 74 09 6e 63 5f 66 6f 72 |{..nchp_|t.nc_for|
|00037070| 77 3b 09 09 2f 2a 20 68 | 61 73 68 20 63 68 61 69 |w;../* h|ash chai|
|00037080| 6e 2c 20 4d 55 53 54 20 | 42 45 20 46 49 52 53 54 |n, MUST |BE FIRST|
|00037090| 20 2a 2f 0a 09 6e 63 68 | 70 5f 74 09 6e 63 5f 62 | */..nch|p_t.nc_b|
|000370a0| 61 63 6b 3b 09 09 2f 2a | 20 68 61 73 68 20 63 68 |ack;../*| hash ch|
|000370b0| 61 69 6e 2c 20 4d 55 53 | 54 20 42 45 20 46 49 52 |ain, MUS|T BE FIR|
|000370c0| 53 54 20 2a 2f 0a 09 6e | 63 68 70 5f 74 09 6e 63 |ST */..n|chp_t.nc|
|000370d0| 5f 6e 78 74 3b 09 09 09 | 2f 2a 20 4c 52 55 20 63 |_nxt;...|/* LRU c|
|000370e0| 68 61 69 6e 20 2a 2f 0a | 09 6e 63 68 70 70 5f 74 |hain */.|.nchpp_t|
|000370f0| 09 6e 63 5f 70 72 65 76 | 3b 09 09 2f 2a 20 4c 52 |.nc_prev|;../* LR|
|00037100| 55 20 63 68 61 69 6e 20 | 2a 2f 0a 09 69 6e 6f 64 |U chain |*/..inod|
|00037110| 65 70 5f 74 20 6e 63 5f | 69 70 3b 09 09 09 2f 2a |ep_t nc_|ip;.../*|
|00037120| 20 69 6e 6f 64 65 20 74 | 68 65 20 6e 61 6d 65 20 | inode t|he name |
|00037130| 72 65 66 65 72 73 20 74 | 6f 20 2a 2f 0a 09 69 6e |refers t|o */..in|
|00037140| 6f 5f 74 09 6e 63 5f 69 | 6e 6f 3b 09 09 09 2f 2a |o_t.nc_i|no;.../*|
|00037150| 20 69 6e 6f 20 6f 66 20 | 70 61 72 65 6e 74 20 6f | ino of |parent o|
|00037160| 66 20 6e 61 6d 0f 01 0f | 02 00 b5 01 02 00 65 20 |f nam...|......e |
|00037170| 2a 2f 0a 09 64 65 76 5f | 74 09 6e 63 5f 64 65 76 |*/..dev_|t.nc_dev|
|00037180| 3b 09 09 09 2f 2a 20 64 | 65 76 20 6f 66 20 70 61 |;.../* d|ev of pa|
|00037190| 72 65 6e 74 20 6f 66 20 | 6e 61 6d 65 20 2a 2f 0a |rent of |name */.|
|000371a0| 09 64 65 76 5f 74 09 6e | 63 5f 69 64 65 76 3b 09 |.dev_t.n|c_idev;.|
|000371b0| 09 2f 2a 20 64 65 76 20 | 6f 66 20 74 68 65 20 6e |./* dev |of the n|
|000371c0| 61 6d 65 20 72 65 66 27 | 64 20 2a 2f 0a 09 6c 6f |ame ref'|d */..lo|
|000371d0| 6e 67 09 6e 63 5f 69 64 | 3b 09 09 09 2f 2a 20 72 |ng.nc_id|;.../* r|
|000371e0| 65 66 65 72 65 6e 63 65 | 64 20 69 6e 6f 64 65 27 |eference|d inode'|
|000371f0| 73 20 69 64 20 2a 2f 0a | 09 63 68 61 72 09 6e 63 |s id */.|.char.nc|
|00037200| 5f 6e 61 6d 65 5b 44 49 | 52 53 49 5a 5d 3b 09 2f |_name[DI|RSIZ];./|
|00037210| 2a 20 73 65 67 6d 65 6e | 74 20 6e 61 6d 65 20 2a |* segmen|t name *|
|00037220| 2f 0a 7d 3b 0a 0a 23 69 | 66 64 65 66 20 4d 5f 4b |/.};..#i|fdef M_K|
|00037230| 45 52 4e 45 4c 0a 0a 23 | 69 66 20 64 65 66 69 6e |ERNEL..#|if defin|
|00037240| 65 64 28 4d 5f 49 38 30 | 38 36 29 20 7c 7c 20 64 |ed(M_I80|86) || d|
|00037250| 65 66 69 6e 65 64 28 4d | 5f 49 32 38 36 29 0a 65 |efined(M|_I286).e|
|00037260| 78 74 65 72 6e 20 73 74 | 72 75 63 74 20 6e 61 6d |xtern st|ruct nam|
|00037270| 65 63 61 63 68 65 20 66 | 61 72 20 6e 61 6d 65 63 |ecache f|ar namec|
|00037280| 61 63 68 65 5b 5d 3b 0a | 23 65 6c 73 65 0a 65 78 |ache[];.|#else.ex|
|00037290| 74 65 72 6e 20 73 74 72 | 75 63 74 20 6e 61 6d 65 |tern str|uct name|
|000372a0| 63 61 63 68 65 20 6e 61 | 6d 65 63 61 63 68 65 5b |cache na|mecache[|
|000372b0| 5d 3b 0a 23 65 6e 64 69 | 66 0a 0a 23 65 6e 64 69 |];.#endi|f..#endi|
|000372c0| 66 09 2f 2a 20 4d 5f 4b | 45 52 4e 45 4c 20 2a 2f |f./* M_K|ERNEL */|
|000372d0| 0a 0a 2f 2a 0a 20 2a 20 | 6e 61 6d 65 69 20 6f 70 |../*. * |namei op|
|000372e0| 65 72 61 74 69 6f 6e 73 | 20 61 6e 64 20 6d 6f 64 |erations| and mod|
|000372f0| 69 66 69 65 72 73 0a 20 | 2a 2f 0a 23 64 65 66 69 |ifiers. |*/.#defi|
|00037300| 6e 65 09 4c 4f 4f 4b 55 | 50 09 09 30 09 2f 2a 20 |ne.LOOKU|P..0./* |
|00037310| 70 65 72 66 6f 72 6d 20 | 6e 61 6d 65 20 6c 6f 6f |perform |name loo|
|00037320| 6b 75 70 20 6f 6e 6c 79 | 20 2a 2f 0a 23 64 65 66 |kup only| */.#def|
|00037330| 69 6e 65 09 43 52 45 41 | 54 45 09 09 31 09 2f 2a |ine.CREA|TE..1./*|
|00037340| 20 73 65 74 75 70 20 66 | 6f 72 20 66 69 6c 65 20 | setup f|or file |
|00037350| 63 72 65 61 74 69 6f 6e | 20 2a 2f 0a 23 64 65 66 |creation| */.#def|
|00037360| 69 6e 65 09 44 45 4c 45 | 54 45 09 09 32 09 0f 10 |ine.DELE|TE..2...|
|00037370| 00 4b 10 00 01 02 00 45 | 01 02 00 2f 2a 20 73 65 |.K.....E|.../* se|
|00037380| 74 75 70 20 66 6f 72 20 | 66 69 6c 65 20 64 65 6c |tup for |file del|
|00037390| 65 74 69 6f 6e 20 2a 2f | 0a 23 64 65 66 69 6e 65 |etion */|.#define|
|000373a0| 09 4c 4f 43 4b 50 41 52 | 45 4e 54 09 30 78 31 30 |.LOCKPAR|ENT.0x10|
|000373b0| 09 2f 2a 20 73 65 65 20 | 74 68 65 20 74 6f 70 20 |./* see |the top |
|000373c0| 6f 66 20 6e 61 6d 65 69 | 20 2a 2f 0a 23 64 65 66 |of namei| */.#def|
|000373d0| 69 6e 65 20 4e 4f 43 41 | 43 48 45 09 09 30 78 32 |ine NOCA|CHE..0x2|
|000373e0| 30 09 2f 2a 20 6e 61 6d | 65 20 6d 75 73 74 20 6e |0./* nam|e must n|
|000373f0| 6f 74 20 62 65 20 6c 65 | 66 74 20 69 6e 20 63 61 |ot be le|ft in ca|
|00037400| 63 68 65 20 2a 2f 0a 68 | 61 72 09 6e 63 5f 6e 61 |che */.h|ar.nc_na|
|00037410| 6d 65 5b 44 49 52 53 49 | 5a 5d 3b 09 2f 2a 20 73 |me[DIRSI|Z];./* s|
|00037420| 65 67 6d 65 6e 74 20 6e | 61 6d 65 20 2a 2f 0a 7d |egment n|ame */.}|
|00037430| 3b 0a 0a 23 69 66 64 65 | 66 20 4d 5f 4b 45 52 4e |;..#ifde|f M_KERN|
|00037440| 45 4c 0a 0a 23 69 66 20 | 64 65 66 69 6e 65 64 28 |EL..#if |defined(|
|00037450| 4d 5f 49 38 30 38 36 29 | 20 7c 7c 20 64 65 66 69 |M_I8086)| || defi|
|00037460| 6e 65 64 28 4d 5f 49 32 | 38 36 29 0a 65 78 74 65 |ned(M_I2|86).exte|
|00037470| 72 6e 20 73 74 72 75 63 | 74 20 6e 61 6d 65 63 61 |rn struc|t nameca|
|00037480| 63 68 65 20 66 61 72 20 | 6e 61 6d 65 63 61 63 68 |che far |namecach|
|00037490| 65 5b 5d 3b 0a 23 65 6c | 73 65 0a 65 78 74 65 72 |e[];.#el|se.exter|
|000374a0| 6e 20 73 74 72 75 63 74 | 20 6e 61 6d 65 63 61 63 |n struct| namecac|
|000374b0| 68 65 20 6e 61 6d 65 63 | 61 63 68 65 5b 5d 3b 0a |he namec|ache[];.|
|000374c0| 23 65 6e 64 69 66 0a 0a | 23 65 6e 64 69 66 09 2f |#endif..|#endif./|
|000374d0| 2a 20 4d 5f 4b 45 52 4e | 45 4c 20 2a 2f 0a 0a 2f |* M_KERN|EL */../|
|000374e0| 2a 0a 20 2a 20 6e 61 6d | 65 69 20 6f 70 65 72 61 |*. * nam|ei opera|
|000374f0| 74 69 6f 6e 73 20 61 6e | 64 20 6d 6f 64 69 66 69 |tions an|d modifi|
|00037500| 65 72 73 0a 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |ers. */.|#define.|
|00037510| 4c 4f 4f 4b 55 50 09 09 | 30 09 2f 2a 20 70 65 72 |LOOKUP..|0./* per|
|00037520| 66 6f 72 6d 20 6e 61 6d | 65 20 6c 6f 6f 6b 75 70 |form nam|e lookup|
|00037530| 20 6f 6e 6c 79 20 2a 2f | 0a 23 64 65 66 69 6e 65 | only */|.#define|
|00037540| 09 43 52 45 41 54 45 09 | 09 31 09 2f 2a 20 73 65 |.CREATE.|.1./* se|
|00037550| 74 75 70 20 66 6f 72 20 | 66 69 6c 65 20 63 72 65 |tup for |file cre|
|00037560| 61 74 69 6f 6e 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ation */|.#define|
|00037570| 09 44 45 4c 45 54 45 09 | 09 32 09 10 00 02 02 00 |.DELETE.|.2......|
|00037580| 4c 5d 00 02 00 17 2e 2f | 75 73 72 2f 69 6e 63 6c |L]...../|usr/incl|
|00037590| 75 64 65 2f 73 79 73 2f | 6d 73 67 2e 68 01 26 00 |ude/sys/|msg.h.&.|
|000375a0| 00 00 39 00 20 20 20 34 | 34 34 20 00 20 20 20 20 |..9. 4|44 . |
|000375b0| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|000375c0| 20 20 20 35 32 31 36 20 | 20 34 32 34 34 33 34 30 | 5216 | 4244340|
|000375d0| 32 30 35 20 20 31 30 31 | 35 32 00 20 01 b2 00 00 |205 101|52. ....|
|000375e0| 10 00 03 02 00 9e 01 02 | 00 0a 2f 2a 0a 20 2a 09 |........|../*. *.|
|000375f0| 40 28 23 29 20 6d 73 67 | 2e 68 20 32 2e 31 20 38 |@(#) msg|.h 2.1 8|
|00037600| 38 2f 30 35 2f 31 38 20 | 0a 20 2a 0a 20 2a 09 43 |8/05/18 |. *. *.C|
|00037610| 6f 70 79 72 69 67 68 74 | 20 28 43 29 20 54 68 65 |opyright| (C) The|
|00037620| 20 53 61 6e 74 61 20 43 | 72 75 7a 20 4f 70 65 72 | Santa C|ruz Oper|
|00037630| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|00037640| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2e 0a 20 |5, 1986,| 1987.. |
|00037650| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 28 43 29 20 |*.Copyri|ght (C) |
|00037660| 4d 69 63 72 6f 73 6f 66 | 74 20 43 6f 72 70 6f 72 |Microsof|t Corpor|
|00037670| 61 74 69 6f 6e 2c 20 31 | 39 38 34 2c 20 31 39 38 |ation, 1|984, 198|
|00037680| 35 2c 20 31 39 38 36 2c | 20 31 39 38 37 2e 0a 20 |5, 1986,| 1987.. |
|00037690| 2a 09 54 68 69 73 20 4d | 6f 64 75 6c 65 20 63 6f |*.This M|odule co|
|000376a0| 6e 74 61 69 6e 73 20 50 | 72 6f 70 72 69 65 74 61 |ntains P|roprieta|
|000376b0| 72 79 20 49 6e 66 6f 72 | 6d 61 74 69 6f 6e 20 6f |ry Infor|mation o|
|000376c0| 66 0a 20 2a 09 54 68 65 | 20 53 61 6e 74 61 20 43 |f. *.The| Santa C|
|000376d0| 72 75 7a 20 4f 70 65 72 | 61 74 69 6f 6e 2c 20 4d |ruz Oper|ation, M|
|000376e0| 69 63 72 6f 73 6f 66 74 | 20 43 6f 72 70 6f 72 61 |icrosoft| Corpora|
|000376f0| 74 69 6f 6e 0a 20 2a 09 | 61 6e 64 20 41 54 26 54 |tion. *.|and AT&T|
|00037700| 2c 20 61 6e 64 20 73 68 | 6f 75 6c 64 20 62 65 20 |, and sh|ould be |
|00037710| 74 72 65 61 74 65 64 20 | 61 73 20 43 6f 6e 66 69 |treated |as Confi|
|00037720| 64 65 6e 74 69 61 6c 2e | 0a 20 2a 2f 0a 0a 2f 2a |dential.|. */../*|
|00037730| 0a 20 2a 20 54 48 49 53 | 20 46 49 4c 45 20 43 4f |. * THIS| FILE CO|
|00037740| 4e 54 41 49 4e 53 20 43 | 4f 44 45 20 57 48 49 43 |NTAINS C|ODE WHIC|
|00037750| 48 20 49 53 20 53 50 45 | 43 49 46 49 43 20 54 4f |H IS SPE|CIFIC TO|
|00037760| 20 54 48 45 0a 20 2a 20 | 49 4e 54 45 4c 20 38 30 | THE. * |INTEL 80|
|00037770| 32 38 36 20 43 50 55 20 | 41 4e 44 20 4d 41 59 20 |286 CPU |AND MAY |
|00037780| 52 45 51 55 49 52 45 20 | 4d 4f 44 49 46 49 43 41 |REQUIRE |MODIFICA|
|00037790| 54 49 4f 4e 0a 20 2a 20 | 57 48 45 4e 20 41 44 41 |TION. * |WHEN ADA|
|000377a0| 50 54 49 4e 47 20 58 45 | 4e 49 58 20 54 4f 20 4e |PTING XE|NIX TO N|
|000377b0| 45 57 20 48 41 52 44 57 | 41 52 45 2e 0a 20 2a 2f |EW HARDW|ARE.. */|
|000377c0| 0a 0a 2f 2a 0a 20 2a 09 | 49 50 43 20 4d 65 73 73 |../*. *.|IPC Mess|
|000377d0| 61 67 65 20 46 61 63 69 | 6c 69 74 79 2e 0a 20 2a |age Faci|lity.. *|
|000377e0| 2f 0a 0a 2f 2a 0a 2a 2a | 09 10 00 04 02 00 f6 01 |/../*.**|........|
|000377f0| 02 00 49 6d 70 6c 65 6d | 65 6e 74 61 74 69 6f 6e |..Implem|entation|
|00037800| 20 43 6f 6e 73 74 61 6e | 74 73 2e 0a 2a 2f 0a 0a | Constan|ts..*/..|
|00037810| 23 64 65 66 69 6e 65 09 | 50 4d 53 47 09 28 50 5a |#define.|PMSG.(PZ|
|00037820| 45 52 4f 20 2b 20 32 29 | 09 2f 2a 20 6d 65 73 73 |ERO + 2)|./* mess|
|00037830| 61 67 65 20 66 61 63 69 | 6c 69 74 79 20 73 6c 65 |age faci|lity sle|
|00037840| 65 70 20 70 72 69 6f 72 | 69 74 79 20 2a 2f 0a 0a |ep prior|ity */..|
|00037850| 2f 2a 0a 2a 2a 09 50 65 | 72 6d 69 73 73 69 6f 6e |/*.**.Pe|rmission|
|00037860| 20 44 65 66 69 6e 69 74 | 69 6f 6e 73 2e 0a 2a 2f | Definit|ions..*/|
|00037870| 0a 0a 23 64 65 66 69 6e | 65 09 4d 53 47 5f 52 09 |..#defin|e.MSG_R.|
|00037880| 30 34 30 30 09 2f 2a 20 | 72 65 61 64 20 70 65 72 |0400./* |read per|
|00037890| 6d 69 73 73 69 6f 6e 20 | 2a 2f 0a 23 64 65 66 69 |mission |*/.#defi|
|000378a0| 6e 65 09 4d 53 47 5f 57 | 09 30 32 30 30 09 2f 2a |ne.MSG_W|.0200./*|
|000378b0| 20 77 72 69 74 65 20 70 | 65 72 6d 69 73 73 69 6f | write p|ermissio|
|000378c0| 6e 20 2a 2f 0a 0a 2f 2a | 0a 2a 2a 09 69 70 63 5f |n */../*|.**.ipc_|
|000378d0| 70 65 72 6d 20 4d 6f 64 | 65 20 44 65 66 69 6e 69 |perm Mod|e Defini|
|000378e0| 74 69 6f 6e 73 2e 0a 2a | 2f 0a 0a 23 64 65 66 69 |tions..*|/..#defi|
|000378f0| 6e 65 09 4d 53 47 5f 52 | 57 41 49 54 09 30 31 30 |ne.MSG_R|WAIT.010|
|00037900| 30 30 09 2f 2a 20 61 20 | 72 65 61 64 65 72 20 69 |00./* a |reader i|
|00037910| 73 20 77 61 69 74 69 6e | 67 20 66 6f 72 20 61 20 |s waitin|g for a |
|00037920| 6d 65 73 73 61 67 65 20 | 2a 2f 0a 23 64 65 66 69 |message |*/.#defi|
|00037930| 6e 65 09 4d 53 47 5f 57 | 57 41 49 54 09 30 32 30 |ne.MSG_W|WAIT.020|
|00037940| 30 30 09 2f 2a 20 61 20 | 77 72 69 74 65 72 20 69 |00./* a |writer i|
|00037950| 73 20 77 61 69 74 69 6e | 67 20 74 6f 20 73 65 6e |s waitin|g to sen|
|00037960| 64 20 2a 2f 0a 0a 2f 2a | 0a 2a 2a 09 4d 65 73 73 |d */../*|.**.Mess|
|00037970| 61 67 65 20 4f 70 65 72 | 61 74 69 6f 6e 20 46 6c |age Oper|ation Fl|
|00037980| 61 67 73 2e 0a 2a 2f 0a | 0a 23 64 65 66 69 6e 65 |ags..*/.|.#define|
|00037990| 09 4d 53 47 5f 4e 4f 45 | 52 52 4f 52 09 30 31 30 |.MSG_NOE|RROR.010|
|000379a0| 30 30 30 09 2f 2a 20 6e | 6f 20 65 72 72 6f 72 20 |000./* n|o error |
|000379b0| 69 66 20 62 69 67 20 6d | 65 73 73 61 67 65 20 2a |if big m|essage *|
|000379c0| 2f 0a 0a 2f 2a 0a 2a 2a | 09 53 74 72 75 63 74 75 |/../*.**|.Structu|
|000379d0| 72 65 20 44 65 66 69 6e | 69 74 69 6f 6e 73 2e 0a |re Defin|itions..|
|000379e0| 2a 2f 0a 0a 2f 2a 0a 2a | 2a 09 54 68 65 72 65 20 |*/../*.*|*.There |
|000379f0| 69 73 10 00 05 02 00 94 | 01 02 00 20 6f 6e 65 20 |is......|... one |
|00037a00| 6d 73 67 20 71 75 65 75 | 65 20 69 64 20 64 61 74 |msg queu|e id dat|
|00037a10| 61 20 73 74 72 75 63 74 | 75 72 65 20 66 6f 72 20 |a struct|ure for |
|00037a20| 65 61 63 68 20 71 20 69 | 6e 20 74 68 65 20 73 79 |each q i|n the sy|
|00037a30| 73 74 65 6d 2e 0a 2a 2f | 0a 0a 73 74 72 75 63 74 |stem..*/|..struct|
|00037a40| 20 6d 73 71 69 64 5f 64 | 73 20 7b 0a 09 73 74 72 | msqid_d|s {..str|
|00037a50| 75 63 74 20 69 70 63 5f | 70 65 72 6d 09 6d 73 67 |uct ipc_|perm.msg|
|00037a60| 5f 70 65 72 6d 3b 09 2f | 2a 20 6f 70 65 72 61 74 |_perm;./|* operat|
|00037a70| 69 6f 6e 20 70 65 72 6d | 69 73 73 69 6f 6e 20 73 |ion perm|ission s|
|00037a80| 74 72 75 63 74 20 2a 2f | 0a 23 69 66 64 65 66 20 |truct */|.#ifdef |
|00037a90| 4d 5f 49 33 38 36 0a 09 | 73 74 72 75 63 74 20 6d |M_I386..|struct m|
|00037aa0| 73 67 20 09 2a 6d 73 67 | 5f 66 69 72 73 74 3b 09 |sg .*msg|_first;.|
|00037ab0| 2f 2a 20 70 74 72 20 74 | 6f 20 66 69 72 73 74 20 |/* ptr t|o first |
|00037ac0| 6d 65 73 73 61 67 65 20 | 6f 6e 20 71 20 2a 2f 0a |message |on q */.|
|00037ad0| 09 73 74 72 75 63 74 20 | 6d 73 67 20 09 2a 6d 73 |.struct |msg .*ms|
|00037ae0| 67 5f 6c 61 73 74 3b 09 | 2f 2a 20 70 74 72 20 74 |g_last;.|/* ptr t|
|00037af0| 6f 20 6c 61 73 74 20 6d | 65 73 73 61 67 65 20 6f |o last m|essage o|
|00037b00| 6e 20 71 20 2a 2f 0a 23 | 65 6c 73 65 0a 09 73 74 |n q */.#|else..st|
|00037b10| 72 75 63 74 20 6d 73 67 | 20 6e 65 61 72 20 2a 6d |ruct msg| near *m|
|00037b20| 73 67 5f 66 69 72 73 74 | 3b 09 2f 2a 20 70 74 72 |sg_first|;./* ptr|
|00037b30| 20 74 6f 20 66 69 72 73 | 74 20 6d 65 73 73 61 67 | to firs|t messag|
|00037b40| 65 20 6f 6e 20 71 20 2a | 2f 0a 09 73 74 72 75 63 |e on q *|/..struc|
|00037b50| 74 20 6d 73 67 20 6e 65 | 61 72 20 2a 6d 73 67 5f |t msg ne|ar *msg_|
|00037b60| 6c 61 73 74 3b 09 2f 2a | 20 70 74 72 20 74 6f 20 |last;./*| ptr to |
|00037b70| 6c 61 73 74 20 6d 65 73 | 73 61 67 65 20 6f 6e 20 |last mes|sage on |
|00037b80| 71 20 2a 2f 0a 23 65 6e | 64 69 66 0a 09 75 73 68 |q */.#en|dif..ush|
|00037b90| 6f 72 74 09 09 6d 73 67 | 5f 63 62 79 74 65 73 3b |ort..msg|_cbytes;|
|00037ba0| 09 2f 2a 20 63 75 72 72 | 65 6e 74 20 23 20 62 79 |./* curr|ent # by|
|00037bb0| 74 65 73 20 6f 6e 20 71 | 20 2a 2f 0a 09 75 73 68 |tes on q| */..ush|
|00037bc0| 6f 72 74 09 09 6d 73 67 | 5f 71 6e 75 6d 3b 09 2f |ort..msg|_qnum;./|
|00037bd0| 2a 20 23 20 6f 66 20 6d | 65 73 73 61 67 65 73 20 |* # of m|essages |
|00037be0| 6f 6e 20 71 20 2a 2f 0a | 09 75 73 68 6f 72 74 09 |on q */.|.ushort.|
|00037bf0| 09 6d 73 67 5f 71 62 79 | 74 65 73 10 00 06 02 00 |.msg_qby|tes.....|
|00037c00| 76 01 02 00 3b 09 2f 2a | 20 6d 61 78 20 23 20 6f |v...;./*| max # o|
|00037c10| 66 20 62 79 74 65 73 20 | 6f 6e 20 71 20 2a 2f 0a |f bytes |on q */.|
|00037c20| 09 75 73 68 6f 72 74 09 | 09 6d 73 67 5f 6c 73 70 |.ushort.|.msg_lsp|
|00037c30| 69 64 3b 09 2f 2a 20 70 | 69 64 20 6f 66 20 6c 61 |id;./* p|id of la|
|00037c40| 73 74 20 6d 73 67 73 6e | 64 20 2a 2f 0a 09 75 73 |st msgsn|d */..us|
|00037c50| 68 6f 72 74 09 09 6d 73 | 67 5f 6c 72 70 69 64 3b |hort..ms|g_lrpid;|
|00037c60| 09 2f 2a 20 70 69 64 20 | 6f 66 20 6c 61 73 74 20 |./* pid |of last |
|00037c70| 6d 73 67 72 63 76 20 2a | 2f 0a 09 74 69 6d 65 5f |msgrcv *|/..time_|
|00037c80| 74 09 09 6d 73 67 5f 73 | 74 69 6d 65 3b 09 2f 2a |t..msg_s|time;./*|
|00037c90| 20 6c 61 73 74 20 6d 73 | 67 73 6e 64 20 74 69 6d | last ms|gsnd tim|
|00037ca0| 65 20 2a 2f 0a 09 74 69 | 6d 65 5f 74 09 09 6d 73 |e */..ti|me_t..ms|
|00037cb0| 67 5f 72 74 69 6d 65 3b | 09 2f 2a 20 6c 61 73 74 |g_rtime;|./* last|
|00037cc0| 20 6d 73 67 72 63 76 20 | 74 69 6d 65 20 2a 2f 0a | msgrcv |time */.|
|00037cd0| 09 74 69 6d 65 5f 74 09 | 09 6d 73 67 5f 63 74 69 |.time_t.|.msg_cti|
|00037ce0| 6d 65 3b 09 2f 2a 20 6c | 61 73 74 20 63 68 61 6e |me;./* l|ast chan|
|00037cf0| 67 65 20 74 69 6d 65 20 | 2a 2f 0a 7d 3b 0a 0a 2f |ge time |*/.};../|
|00037d00| 2a 0a 2a 2a 09 54 68 65 | 72 65 20 69 73 20 6f 6e |*.**.The|re is on|
|00037d10| 65 20 6d 73 67 20 73 74 | 72 75 63 74 75 72 65 20 |e msg st|ructure |
|00037d20| 66 6f 72 20 65 61 63 68 | 20 6d 65 73 73 61 67 65 |for each| message|
|00037d30| 20 74 68 61 74 20 6d 61 | 79 20 62 65 20 69 6e 20 | that ma|y be in |
|00037d40| 74 68 65 20 73 79 73 74 | 65 6d 2e 0a 2a 2f 0a 0a |the syst|em..*/..|
|00037d50| 73 74 72 75 63 74 20 6d | 73 67 20 7b 0a 23 69 66 |struct m|sg {.#if|
|00037d60| 64 65 66 20 4d 5f 49 33 | 38 36 0a 09 73 74 72 75 |def M_I3|86..stru|
|00037d70| 63 74 20 6d 73 67 20 09 | 2a 6d 73 67 5f 6e 65 78 |ct msg .|*msg_nex|
|00037d80| 74 3b 09 2f 2a 20 70 74 | 72 20 74 6f 20 6e 65 78 |t;./* pt|r to nex|
|00037d90| 74 20 6d 65 73 73 61 67 | 65 20 6f 6e 20 71 20 2a |t messag|e on q *|
|00037da0| 2f 0a 23 65 6c 73 65 0a | 09 73 74 72 75 63 74 20 |/.#else.|.struct |
|00037db0| 6d 73 67 20 6e 65 61 72 | 20 2a 6d 73 67 5f 6e 65 |msg near| *msg_ne|
|00037dc0| 78 74 3b 09 2f 2a 20 70 | 74 72 20 74 6f 20 6e 65 |xt;./* p|tr to ne|
|00037dd0| 78 74 20 6d 65 73 73 61 | 67 65 20 6f 6e 20 71 20 |xt messa|ge on q |
|00037de0| 2a 2f 0a 23 65 6e 64 69 | 66 0a 09 6c 6f 6e 67 09 |*/.#endi|f..long.|
|00037df0| 09 6d 73 67 5f 74 79 70 | 65 3b 09 2f 2a 20 6d 65 |.msg_typ|e;./* me|
|00037e00| 73 73 61 67 10 00 07 02 | 00 56 01 02 00 65 20 74 |ssag....|.V...e t|
|00037e10| 79 70 65 20 2a 2f 0a 09 | 73 68 6f 72 74 09 09 6d |ype */..|short..m|
|00037e20| 73 67 5f 74 73 3b 09 09 | 2f 2a 20 6d 65 73 73 61 |sg_ts;..|/* messa|
|00037e30| 67 65 20 74 65 78 74 20 | 73 69 7a 65 20 2a 2f 0a |ge text |size */.|
|00037e40| 09 73 68 6f 72 74 09 09 | 6d 73 67 5f 73 70 6f 74 |.short..|msg_spot|
|00037e50| 3b 09 2f 2a 20 6d 65 73 | 73 61 67 65 20 74 65 78 |;./* mes|sage tex|
|00037e60| 74 20 6d 61 70 20 61 64 | 64 72 65 73 73 20 2a 2f |t map ad|dress */|
|00037e70| 0a 7d 3b 0a 0a 2f 2a 0a | 2a 2a 09 55 73 65 72 20 |.};../*.|**.User |
|00037e80| 6d 65 73 73 61 67 65 20 | 62 75 66 66 65 72 20 74 |message |buffer t|
|00037e90| 65 6d 70 6c 61 74 65 20 | 66 6f 72 20 6d 73 67 73 |emplate |for msgs|
|00037ea0| 6e 64 20 61 6e 64 20 6d | 73 67 72 63 76 20 73 79 |nd and m|sgrcv sy|
|00037eb0| 73 74 65 6d 20 63 61 6c | 6c 73 2e 0a 2a 2f 0a 0a |stem cal|ls..*/..|
|00037ec0| 73 74 72 75 63 74 20 6d | 73 67 62 75 66 20 7b 0a |struct m|sgbuf {.|
|00037ed0| 09 6c 6f 6e 67 09 6d 74 | 79 70 65 3b 09 09 2f 2a |.long.mt|ype;../*|
|00037ee0| 20 6d 65 73 73 61 67 65 | 20 74 79 70 65 20 2a 2f | message| type */|
|00037ef0| 0a 09 63 68 61 72 09 6d | 74 65 78 74 5b 31 5d 3b |..char.m|text[1];|
|00037f00| 09 2f 2a 20 6d 65 73 73 | 61 67 65 20 74 65 78 74 |./* mess|age text|
|00037f10| 20 2a 2f 0a 7d 3b 0a 0a | 2f 2a 0a 2a 2a 09 4d 65 | */.};..|/*.**.Me|
|00037f20| 73 73 61 67 65 20 69 6e | 66 6f 72 6d 61 74 69 6f |ssage in|formatio|
|00037f30| 6e 20 73 74 72 75 63 74 | 75 72 65 2e 0a 2a 2f 0a |n struct|ure..*/.|
|00037f40| 0a 73 74 72 75 63 74 20 | 6d 73 67 69 6e 66 6f 20 |.struct |msginfo |
|00037f50| 7b 0a 09 69 6e 74 09 6d | 73 67 6d 61 70 2c 09 2f |{..int.m|sgmap,./|
|00037f60| 2a 20 23 20 6f 66 20 65 | 6e 74 72 69 65 73 20 69 |* # of e|ntries i|
|00037f70| 6e 20 6d 73 67 20 6d 61 | 70 20 2a 2f 0a 09 09 6d |n msg ma|p */...m|
|00037f80| 73 67 6d 61 78 2c 09 2f | 2a 20 6d 61 78 20 6d 65 |sgmax,./|* max me|
|00037f90| 73 73 61 67 65 20 73 69 | 7a 65 20 2a 2f 0a 09 09 |ssage si|ze */...|
|00037fa0| 6d 73 67 6d 6e 62 2c 09 | 2f 2a 20 6d 61 78 20 23 |msgmnb,.|/* max #|
|00037fb0| 20 62 79 74 65 73 20 6f | 6e 20 71 75 65 75 65 20 | bytes o|n queue |
|00037fc0| 2a 2f 0a 09 09 6d 73 67 | 6d 6e 69 2c 09 2f 2a 20 |*/...msg|mni,./* |
|00037fd0| 23 20 6f 66 20 6d 65 73 | 73 61 67 65 20 71 75 65 |# of mes|sage que|
|00037fe0| 75 65 20 69 64 65 6e 74 | 69 66 69 65 72 73 20 2a |ue ident|ifiers *|
|00037ff0| 2f 0a 09 09 6d 73 67 73 | 73 7a 2c 09 2f 2a 20 6d |/...msgs|sz,./* m|
|00038000| 73 67 20 73 65 67 6d 65 | 6e 74 20 73 69 10 00 08 |sg segme|nt si...|
|00038010| 02 00 db 01 02 00 7a 65 | 20 28 73 68 6f 75 6c 64 |......ze| (should|
|00038020| 20 62 65 20 77 6f 72 64 | 20 73 69 7a 65 20 6d 75 | be word| size mu|
|00038030| 6c 74 69 70 6c 65 29 20 | 2a 2f 0a 09 09 6d 73 67 |ltiple) |*/...msg|
|00038040| 74 71 6c 3b 09 2f 2a 20 | 23 20 6f 66 20 73 79 73 |tql;./* |# of sys|
|00038050| 74 65 6d 20 6d 65 73 73 | 61 67 65 20 68 65 61 64 |tem mess|age head|
|00038060| 65 72 73 20 2a 2f 0a 09 | 75 73 68 6f 72 74 09 6d |ers */..|ushort.m|
|00038070| 73 67 73 65 67 3b 09 2f | 2a 20 23 20 6f 66 20 6d |sgseg;./|* # of m|
|00038080| 73 67 20 73 65 67 6d 65 | 6e 74 73 20 28 4d 55 53 |sg segme|nts (MUS|
|00038090| 54 20 42 45 20 3c 20 33 | 32 37 36 38 29 20 2a 2f |T BE < 3|2768) */|
|000380a0| 0a 7d 3b 0a 20 6d 73 67 | 73 6e 64 20 61 6e 64 20 |.};. msg|snd and |
|000380b0| 6d 73 67 72 63 76 20 73 | 79 73 74 65 6d 20 63 61 |msgrcv s|ystem ca|
|000380c0| 6c 6c 73 2e 0a 2a 2f 0a | 0a 73 74 72 75 63 74 20 |lls..*/.|.struct |
|000380d0| 6d 73 67 62 75 66 20 7b | 0a 09 6c 6f 6e 67 09 6d |msgbuf {|..long.m|
|000380e0| 74 79 70 65 3b 09 09 2f | 2a 20 6d 65 73 73 61 67 |type;../|* messag|
|000380f0| 65 20 74 79 70 65 20 2a | 2f 0a 09 63 68 61 72 09 |e type *|/..char.|
|00038100| 6d 74 65 78 74 5b 31 5d | 3b 09 2f 2a 20 6d 65 73 |mtext[1]|;./* mes|
|00038110| 73 61 67 65 20 74 65 78 | 74 20 2a 2f 0a 7d 3b 0a |sage tex|t */.};.|
|00038120| 0a 2f 2a 0a 2a 2a 09 4d | 65 73 73 61 67 65 20 69 |./*.**.M|essage i|
|00038130| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 73 74 72 75 63 |nformati|on struc|
|00038140| 74 75 72 65 2e 0a 2a 2f | 0a 0a 73 74 72 75 63 74 |ture..*/|..struct|
|00038150| 20 6d 73 67 69 6e 66 6f | 20 7b 0a 09 69 6e 74 09 | msginfo| {..int.|
|00038160| 6d 73 67 6d 61 70 2c 09 | 2f 2a 20 23 20 6f 66 20 |msgmap,.|/* # of |
|00038170| 65 6e 74 72 69 65 73 20 | 69 6e 20 6d 73 67 20 6d |entries |in msg m|
|00038180| 61 70 20 2a 2f 0a 09 09 | 6d 73 67 6d 61 78 2c 09 |ap */...|msgmax,.|
|00038190| 2f 2a 20 6d 61 78 20 6d | 65 73 73 61 67 65 20 73 |/* max m|essage s|
|000381a0| 69 7a 65 20 2a 2f 0a 09 | 09 6d 73 67 6d 6e 62 2c |ize */..|.msgmnb,|
|000381b0| 09 2f 2a 20 6d 61 78 20 | 23 20 62 79 74 65 73 20 |./* max |# bytes |
|000381c0| 6f 6e 20 71 75 65 75 65 | 20 2a 2f 0a 09 09 6d 73 |on queue| */...ms|
|000381d0| 67 6d 6e 69 2c 09 2f 2a | 20 23 20 6f 66 20 6d 65 |gmni,./*| # of me|
|000381e0| 73 73 61 67 65 20 71 75 | 65 75 65 20 69 64 65 6e |ssage qu|eue iden|
|000381f0| 74 69 66 69 65 72 73 20 | 2a 2f 0a 09 09 6d 73 67 |tifiers |*/...msg|
|00038200| 73 73 7a 2c 09 2f 2a 20 | 6d 73 67 20 73 65 67 6d |ssz,./* |msg segm|
|00038210| 65 6e 74 20 73 69 10 00 | 09 02 00 e9 5f 00 02 00 |ent si..|...._...|
|00038220| 19 2e 2f 75 73 72 2f 69 | 6e 63 6c 75 64 65 2f 73 |../usr/i|nclude/s|
|00038230| 79 73 2f 6d 6f 75 6e 74 | 2e 68 01 25 00 00 00 39 |ys/mount|.h.%...9|
|00038240| 00 20 20 20 34 34 34 20 | 00 20 20 20 20 20 30 20 |. 444 |. 0 |
|00038250| 00 20 20 20 20 20 30 20 | 00 20 20 20 20 20 20 20 |. 0 |. |
|00038260| 31 35 34 31 20 20 34 32 | 34 34 33 34 30 32 30 34 |1541 42|44340204|
|00038270| 20 20 31 30 35 32 32 00 | 20 01 b2 00 00 10 00 0a | 10522.| .......|
|00038280| 02 00 96 01 02 00 2f 2a | 0a 20 2a 09 40 28 23 29 |....../*|. *.@(#)|
|00038290| 20 6d 6f 75 6e 74 2e 68 | 20 32 2e 31 20 38 38 2f | mount.h| 2.1 88/|
|000382a0| 30 35 2f 31 38 20 0a 20 | 2a 0a 20 2a 09 43 6f 70 |05/18 . |*. *.Cop|
|000382b0| 79 72 69 67 68 74 20 28 | 43 29 20 54 68 65 20 53 |yright (|C) The S|
|000382c0| 61 6e 74 61 20 43 72 75 | 7a 20 4f 70 65 72 61 74 |anta Cru|z Operat|
|000382d0| 69 6f 6e 2c 20 31 39 38 | 34 2c 20 31 39 38 35 2c |ion, 198|4, 1985,|
|000382e0| 20 31 39 38 36 2c 20 31 | 39 38 37 2e 0a 20 2a 09 | 1986, 1|987.. *.|
|000382f0| 43 6f 70 79 72 69 67 68 | 74 20 28 43 29 20 4d 69 |Copyrigh|t (C) Mi|
|00038300| 63 72 6f 73 6f 66 74 20 | 43 6f 72 70 6f 72 61 74 |crosoft |Corporat|
|00038310| 69 6f 6e 2c 20 31 39 38 | 34 2c 20 31 39 38 35 2c |ion, 198|4, 1985,|
|00038320| 20 31 39 38 36 2c 20 31 | 39 38 37 2e 0a 20 2a 09 | 1986, 1|987.. *.|
|00038330| 54 68 69 73 20 4d 6f 64 | 75 6c 65 20 63 6f 6e 74 |This Mod|ule cont|
|00038340| 61 69 6e 73 20 50 72 6f | 70 72 69 65 74 61 72 79 |ains Pro|prietary|
|00038350| 20 49 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 6f 66 0a | Informa|tion of.|
|00038360| 20 2a 09 54 68 65 20 53 | 61 6e 74 61 20 43 72 75 | *.The S|anta Cru|
|00038370| 7a 20 4f 70 65 72 61 74 | 69 6f 6e 2c 20 4d 69 63 |z Operat|ion, Mic|
|00038380| 72 6f 73 6f 66 74 20 43 | 6f 72 70 6f 72 61 74 69 |rosoft C|orporati|
|00038390| 6f 6e 0a 20 2a 09 61 6e | 64 20 41 54 26 54 2c 20 |on. *.an|d AT&T, |
|000383a0| 61 6e 64 20 73 68 6f 75 | 6c 64 20 62 65 20 74 72 |and shou|ld be tr|
|000383b0| 65 61 74 65 64 20 61 73 | 20 43 6f 6e 66 69 64 65 |eated as| Confide|
|000383c0| 6e 74 69 61 6c 2e 0a 20 | 2a 2f 0a 0a 2f 2a 0a 20 |ntial.. |*/../*. |
|000383d0| 2a 20 54 48 49 53 20 46 | 49 4c 45 20 43 4f 4e 54 |* THIS F|ILE CONT|
|000383e0| 41 49 4e 53 20 43 4f 44 | 45 20 57 48 49 43 48 20 |AINS COD|E WHICH |
|000383f0| 49 53 20 44 45 53 49 47 | 4e 45 44 20 54 4f 20 42 |IS DESIG|NED TO B|
|00038400| 45 0a 20 2a 20 50 4f 52 | 54 41 42 4c 45 20 42 45 |E. * POR|TABLE BE|
|00038410| 54 57 45 45 4e 20 44 49 | 46 46 45 52 45 4e 54 20 |TWEEN DI|FFERENT |
|00038420| 4d 41 43 48 49 4e 45 20 | 41 52 43 48 49 54 45 43 |MACHINE |ARCHITEC|
|00038430| 54 55 52 45 53 0a 20 2a | 20 41 4e 44 20 43 4f 4e |TURES. *| AND CON|
|00038440| 46 49 47 55 52 41 54 49 | 4f 4e 53 2e 20 49 54 20 |FIGURATI|ONS. IT |
|00038450| 53 48 4f 55 4c 44 20 4e | 4f 54 20 52 45 51 55 49 |SHOULD N|OT REQUI|
|00038460| 52 45 20 41 4e 59 0a 20 | 2a 20 4d 4f 44 49 46 49 |RE ANY. |* MODIFI|
|00038470| 43 41 54 49 4f 4e 53 20 | 57 48 45 4e 20 41 44 41 |CATIONS |WHEN ADA|
|00038480| 50 54 49 4e 47 20 10 00 | 0b 02 00 e2 01 02 00 58 |PTING ..|.......X|
|00038490| 45 4e 49 58 20 54 4f 20 | 4e 45 57 20 48 41 52 44 |ENIX TO |NEW HARD|
|000384a0| 57 41 52 45 2e 0a 20 2a | 2f 0a 0a 2f 2a 0a 20 2a |WARE.. *|/../*. *|
|000384b0| 20 4d 6f 75 6e 74 20 73 | 74 72 75 63 74 75 72 65 | Mount s|tructure|
|000384c0| 2e 0a 20 2a 20 4f 6e 65 | 20 61 6c 6c 6f 63 61 74 |.. * One| allocat|
|000384d0| 65 64 20 6f 6e 20 65 76 | 65 72 79 20 6d 6f 75 6e |ed on ev|ery moun|
|000384e0| 74 2e 0a 20 2a 2f 0a 73 | 74 72 75 63 74 09 6d 6f |t.. */.s|truct.mo|
|000384f0| 75 6e 74 0a 7b 0a 09 69 | 6e 74 09 6d 5f 66 6c 61 |unt.{..i|nt.m_fla|
|00038500| 67 73 3b 09 2f 2a 20 73 | 74 61 74 75 73 20 2a 2f |gs;./* s|tatus */|
|00038510| 0a 09 64 65 76 5f 74 09 | 6d 5f 64 65 76 3b 09 09 |..dev_t.|m_dev;..|
|00038520| 2f 2a 20 64 65 76 69 63 | 65 20 6d 6f 75 6e 74 65 |/* devic|e mounte|
|00038530| 64 20 2a 2f 0a 09 69 6e | 6f 64 65 70 5f 74 20 6d |d */..in|odep_t m|
|00038540| 5f 69 6e 6f 64 70 3b 09 | 2f 2a 20 70 6f 69 6e 74 |_inodp;.|/* point|
|00038550| 65 72 20 74 6f 20 6d 6f | 75 6e 74 65 64 20 6f 6e |er to mo|unted on|
|00038560| 20 69 6e 6f 64 65 20 2a | 2f 0a 09 73 74 72 75 63 | inode *|/..struc|
|00038570| 74 20 62 75 66 20 2a 6d | 5f 62 75 66 70 3b 09 2f |t buf *m|_bufp;./|
|00038580| 2a 20 62 75 66 66 65 72 | 20 66 6f 72 20 73 75 70 |* buffer| for sup|
|00038590| 65 72 20 62 6c 6f 63 6b | 20 2a 2f 0a 7d 3b 0a 0a |er block| */.};..|
|000385a0| 23 64 65 66 69 6e 65 09 | 4d 46 52 45 45 09 30 0a |#define.|MFREE.0.|
|000385b0| 23 64 65 66 69 6e 65 09 | 4d 49 4e 55 53 45 09 31 |#define.|MINUSE.1|
|000385c0| 0a 23 64 65 66 69 6e 65 | 09 4d 49 4e 54 45 52 09 |.#define|.MINTER.|
|000385d0| 32 0a 0a 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |2..exter|n struct|
|000385e0| 20 6d 6f 75 6e 74 20 6d | 6f 75 6e 74 5b 5d 3b 0a | mount m|ount[];.|
|000385f0| 44 45 20 57 48 49 43 48 | 20 49 53 20 44 45 53 49 |DE WHICH| IS DESI|
|00038600| 47 4e 45 44 20 54 4f 20 | 42 45 0a 20 2a 20 50 4f |GNED TO |BE. * PO|
|00038610| 52 54 41 42 4c 45 20 42 | 45 54 57 45 45 4e 20 44 |RTABLE B|ETWEEN D|
|00038620| 49 46 46 45 52 45 4e 54 | 20 4d 41 43 48 49 4e 45 |IFFERENT| MACHINE|
|00038630| 20 41 52 43 48 49 54 45 | 43 54 55 52 45 53 0a 20 | ARCHITE|CTURES. |
|00038640| 2a 20 41 4e 44 20 43 4f | 4e 46 49 47 55 52 41 54 |* AND CO|NFIGURAT|
|00038650| 49 4f 4e 53 2e 20 49 54 | 20 53 48 4f 55 4c 44 20 |IONS. IT| SHOULD |
|00038660| 4e 4f 54 20 52 45 51 55 | 49 52 45 20 41 4e 59 0a |NOT REQU|IRE ANY.|
|00038670| 20 2a 20 4d 4f 44 49 46 | 49 43 41 54 49 4f 4e 53 | * MODIF|ICATIONS|
|00038680| 20 57 48 45 4e 20 41 44 | 41 50 54 49 4e 47 20 10 | WHEN AD|APTING .|
|00038690| 00 0c 02 00 e4 5d 00 02 | 00 17 2e 2f 75 73 72 2f |.....]..|.../usr/|
|000386a0| 69 6e 63 6c 75 64 65 2f | 73 79 73 2f 6d 6d 75 2e |include/|sys/mmu.|
|000386b0| 68 01 26 00 00 00 39 00 | 20 20 20 34 34 34 20 00 |h.&...9.| 444 .|
|000386c0| 20 20 20 20 20 30 20 00 | 20 20 20 20 20 30 20 00 | 0 .| 0 .|
|000386d0| 20 20 20 20 20 20 32 30 | 34 31 31 20 20 34 32 34 | 20|411 424|
|000386e0| 34 33 34 30 32 30 34 20 | 20 31 30 31 37 33 00 20 |4340204 | 10173. |
|000386f0| 01 b2 00 00 10 00 0d 02 | 00 1f 01 02 00 2f 2a 0a |........|...../*.|
|00038700| 20 2a 09 40 28 23 29 20 | 6d 6d 75 2e 68 20 32 2e | *.@(#) |mmu.h 2.|
|00038710| 33 20 38 38 2f 30 35 2f | 31 38 20 0a 20 2a 0a 20 |3 88/05/|18 . *. |
|00038720| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 28 43 29 20 |*.Copyri|ght (C) |
|00038730| 54 68 65 20 53 61 6e 74 | 61 20 43 72 75 7a 20 4f |The Sant|a Cruz O|
|00038740| 70 65 72 61 74 69 6f 6e | 2c 20 31 39 38 34 2c 20 |peration|, 1984, |
|00038750| 31 39 38 35 2c 20 31 39 | 38 36 2c 20 31 39 38 37 |1985, 19|86, 1987|
|00038760| 2e 0a 20 2a 09 43 6f 70 | 79 72 69 67 68 74 20 28 |.. *.Cop|yright (|
|00038770| 43 29 20 4d 69 63 72 6f | 73 6f 66 74 20 43 6f 72 |C) Micro|soft Cor|
|00038780| 70 6f 72 61 74 69 6f 6e | 2c 20 31 39 38 34 2c 20 |poration|, 1984, |
|00038790| 31 39 38 35 2c 20 31 39 | 38 36 2c 20 31 39 38 37 |1985, 19|86, 1987|
|000387a0| 2e 0a 20 2a 09 54 68 69 | 73 20 4d 6f 64 75 6c 65 |.. *.Thi|s Module|
|000387b0| 20 63 6f 6e 74 61 69 6e | 73 20 50 72 6f 70 72 69 | contain|s Propri|
|000387c0| 65 74 61 72 79 20 49 6e | 66 6f 72 6d 61 74 69 6f |etary In|formatio|
|000387d0| 6e 20 6f 66 0a 20 2a 09 | 54 68 65 20 53 61 6e 74 |n of. *.|The Sant|
|000387e0| 61 20 43 72 75 7a 20 4f | 70 65 72 61 74 69 6f 6e |a Cruz O|peration|
|000387f0| 2c 20 4d 69 63 72 6f 73 | 6f 66 74 20 43 6f 72 70 |, Micros|oft Corp|
|00038800| 6f 72 61 74 69 6f 6e 0a | 20 2a 09 61 6e 64 20 41 |oration.| *.and A|
|00038810| 54 26 54 2c 20 61 6e 64 | 20 73 68 6f 75 6c 64 20 |T&T, and| should |
|00038820| 62 65 20 74 72 65 61 74 | 65 64 20 61 73 20 43 6f |be treat|ed as Co|
|00038830| 6e 66 69 64 65 6e 74 69 | 61 6c 2e 0a 20 2a 2f 0a |nfidenti|al.. */.|
|00038840| 0a 23 69 66 64 65 66 20 | 4d 5f 49 33 38 36 0a 0a |.#ifdef |M_I386..|
|00038850| 23 64 65 66 69 6e 65 09 | 4d 4d 55 45 52 52 20 28 |#define.|MMUERR (|
|00038860| 28 69 6e 74 29 2d 31 29 | 0a 0a 23 64 65 66 69 6e |(int)-1)|..#defin|
|00038870| 65 20 49 4e 56 41 4c 49 | 44 20 28 28 63 61 64 64 |e INVALI|D ((cadd|
|00038880| 72 5f 74 29 2d 31 29 0a | 0a 2f 2a 20 62 79 74 65 |r_t)-1).|./* byte|
|00038890| 73 20 74 6f 20 6d 65 6d | 6f 72 79 20 73 69 7a 65 |s to mem|ory size|
|000388a0| 20 28 70 61 67 65 2f 63 | 6c 69 63 6b 29 20 2a 2f | (page/c|lick) */|
|000388b0| 0a 23 64 65 66 69 6e 65 | 20 62 74 6f 6d 73 28 78 |.#define| btoms(x|
|000388c0| 29 09 62 74 6f 63 28 78 | 29 0a 0a 2f 2a 20 6d 65 |).btoc(x|)../* me|
|000388d0| 6d 6f 72 79 20 73 69 7a | 65 20 28 63 6c 69 63 6b |mory siz|e (click|
|000388e0| 2f 70 61 67 65 29 20 74 | 6f 20 62 79 74 65 73 20 |/page) t|o bytes |
|000388f0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 6d 73 10 00 0e |*/.#defi|ne ms...|
|00038900| 02 00 73 01 02 00 74 6f | 62 28 78 29 09 63 74 6f |..s...to|b(x).cto|
|00038910| 62 28 78 29 0a 23 64 65 | 66 69 6e 65 20 6d 6c 74 |b(x).#de|fine mlt|
|00038920| 6f 61 28 78 29 09 63 74 | 6f 62 28 78 29 0a 0a 2f |oa(x).ct|ob(x)../|
|00038930| 2a 20 6e 75 6d 62 65 72 | 20 6f 66 20 70 61 67 65 |* number| of page|
|00038940| 73 20 69 6e 20 61 20 73 | 65 67 6d 65 6e 74 20 28 |s in a s|egment (|
|00038950| 75 73 65 64 20 66 6f 72 | 20 73 65 74 74 69 6e 67 |used for| setting|
|00038960| 20 62 61 73 65 61 64 64 | 72 20 6f 66 20 32 38 36 | baseadd|r of 286|
|00038970| 20 6c 64 74 73 29 20 2a | 2f 0a 23 64 65 66 69 6e | ldts) *|/.#defin|
|00038980| 65 20 4e 50 47 53 09 09 | 31 37 0a 0a 2f 2a 20 6d |e NPGS..|17../* m|
|00038990| 65 6d 6f 72 79 20 73 69 | 7a 65 20 74 6f 20 64 69 |emory si|ze to di|
|000389a0| 73 6b 20 62 6c 6f 63 6b | 73 20 2a 2f 0a 23 64 65 |sk block|s */.#de|
|000389b0| 66 69 6e 65 20 6d 73 74 | 6f 64 28 78 29 09 28 63 |fine mst|od(x).(c|
|000389c0| 74 6f 62 28 78 29 2f 42 | 53 49 5a 45 29 0a 0a 2f |tob(x)/B|SIZE)../|
|000389d0| 2a 20 63 6f 6e 76 65 72 | 74 20 73 65 67 6d 65 6e |* conver|t segmen|
|000389e0| 74 3a 6f 66 66 73 65 74 | 20 38 30 38 36 20 66 61 |t:offset| 8086 fa|
|000389f0| 72 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 61 64 64 |r pointe|r to add|
|00038a00| 72 65 73 73 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ress */.|#define |
|00038a10| 66 74 6f 70 28 78 29 09 | 28 28 28 78 20 26 20 30 |ftop(x).|(((x & 0|
|00038a20| 78 66 66 66 66 30 30 30 | 30 29 20 3e 3e 20 31 32 |xffff000|0) >> 12|
|00038a30| 29 20 2b 20 28 78 20 26 | 20 30 78 66 66 66 66 29 |) + (x &| 0xffff)|
|00038a40| 29 0a 0a 2f 2a 0a 20 2a | 20 64 65 66 69 6e 65 73 |)../*. *| defines|
|00038a50| 20 66 6f 72 20 32 38 36 | 20 63 6f 6d 70 61 74 69 | for 286| compati|
|00038a60| 62 69 6c 69 74 79 0a 20 | 2a 2f 0a 23 64 65 66 69 |bility. |*/.#defi|
|00038a70| 6e 65 09 4d 4d 50 47 53 | 5a 09 35 31 32 09 09 2f |ne.MMPGS|Z.512../|
|00038a80| 2a 20 62 79 74 65 73 2f | 70 61 67 65 20 69 6e 20 |* bytes/|page in |
|00038a90| 74 68 65 20 4d 4d 55 20 | 2a 2f 0a 23 64 65 66 69 |the MMU |*/.#defi|
|00038aa0| 6e 65 09 4c 4d 4d 50 47 | 53 5a 09 39 09 09 2f 2a |ne.LMMPG|SZ.9../*|
|00038ab0| 20 6c 6f 67 32 28 4d 4d | 50 47 53 5a 29 20 2a 2f | log2(MM|PGSZ) */|
|00038ac0| 0a 23 64 65 66 69 6e 65 | 20 4e 50 41 47 45 50 53 |.#define| NPAGEPS|
|00038ad0| 09 31 32 38 09 09 2f 2a | 20 36 34 6b 2f 4d 4d 50 |.128../*| 64k/MMP|
|00038ae0| 47 53 5a 20 3d 20 6e 75 | 6d 62 65 72 20 6f 66 20 |GSZ = nu|mber of |
|00038af0| 70 61 67 65 73 20 70 65 | 72 20 73 65 67 6d 65 6e |pages pe|r segmen|
|00038b00| 74 20 2a 2f 0a 0a 10 00 | 0f 02 00 30 01 02 00 2f |t */....|...0.../|
|00038b10| 2a 20 6d 65 6d 20 73 69 | 7a 65 20 74 6f 20 62 79 |* mem si|ze to by|
|00038b20| 74 65 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 6d |tes */.#|define.m|
|00038b30| 73 74 6f 62 32 38 36 28 | 78 29 09 28 28 78 29 3c |stob286(|x).((x)<|
|00038b40| 3c 4c 4d 4d 50 47 53 5a | 29 0a 0a 2f 2a 20 62 79 |<LMMPGSZ|)../* by|
|00038b50| 74 65 73 20 74 6f 20 6d | 65 6d 20 73 69 7a 65 20 |tes to m|em size |
|00038b60| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 62 74 6f 6d 73 |*/.#defi|ne.btoms|
|00038b70| 32 38 36 28 78 29 20 20 | 20 20 20 20 28 28 75 6e |286(x) | ((un|
|00038b80| 73 69 67 6e 65 64 29 20 | 28 28 28 6c 6f 6e 67 29 |signed) |(((long)|
|00038b90| 28 78 29 20 2b 20 28 4d | 4d 50 47 53 5a 2d 31 29 |(x) + (M|MPGSZ-1)|
|00038ba0| 29 20 3e 3e 20 4c 4d 4d | 50 47 53 5a 29 29 0a 0a |) >> LMM|PGSZ))..|
|00038bb0| 23 65 6c 73 65 0a 0a 2f | 2a 0a 20 2a 20 6d 6d 75 |#else../|*. * mmu|
|00038bc0| 2e 68 0a 20 2a 09 4d 65 | 6d 6f 72 79 20 4d 61 6e |.h. *.Me|mory Man|
|00038bd0| 61 67 65 6d 65 6e 74 20 | 44 65 66 69 6e 69 74 69 |agement |Definiti|
|00038be0| 6f 6e 73 0a 20 2a 0a 20 | 2a 20 75 73 65 64 20 62 |ons. *. |* used b|
|00038bf0| 79 20 6d 6d 75 2e 63 0a | 20 2a 20 70 61 72 61 6d |y mmu.c.| * param|
|00038c00| 2e 68 20 68 61 73 20 62 | 61 73 69 63 20 70 61 67 |.h has b|asic pag|
|00038c10| 65 2d 73 69 7a 65 2f 65 | 74 63 20 64 65 66 69 6e |e-size/e|tc defin|
|00038c20| 69 74 69 6f 6e 73 2e 0a | 20 2a 0a 20 2a 20 64 65 |itions..| *. * de|
|00038c30| 66 69 6e 69 74 69 6f 6e | 73 20 66 6f 72 20 32 38 |finition|s for 28|
|00038c40| 36 2f 38 30 38 36 20 6d | 65 6d 6f 72 79 20 6d 61 |6/8086 m|emory ma|
|00038c50| 6e 61 67 6d 65 6e 74 20 | 6d 6f 64 65 6c 0a 20 2a |nagment |model. *|
|00038c60| 0a 20 2a 2f 0a 0a 23 69 | 66 64 65 66 20 4d 5f 49 |. */..#i|fdef M_I|
|00038c70| 38 30 38 36 0a 65 78 74 | 65 72 6e 20 73 68 6f 72 |8086.ext|ern shor|
|00038c80| 74 20 6d 6d 5f 73 69 7a | 65 3b 09 09 2f 2a 20 23 |t mm_siz|e;../* #|
|00038c90| 6d 65 6d 20 70 61 67 65 | 73 20 69 6e 69 74 69 61 |mem page|s initia|
|00038ca0| 6c 69 7a 65 64 20 74 6f | 20 4e 43 4f 52 45 4c 20 |lized to| NCOREL |
|00038cb0| 2a 2f 0a 0a 23 64 65 66 | 69 6e 65 09 52 4f 09 30 |*/..#def|ine.RO.0|
|00038cc0| 0a 23 64 65 66 69 6e 65 | 09 52 57 09 31 0a 0a 23 |.#define|.RW.1..#|
|00038cd0| 64 65 66 69 6e 65 09 4d | 4d 55 45 52 52 09 2d 31 |define.M|MUERR.-1|
|00038ce0| 09 09 2f 2a 20 65 72 72 | 6f 72 20 72 65 74 75 72 |../* err|or retur|
|00038cf0| 6e 20 66 72 6f 6d 20 4d | 4d 55 20 72 6f 75 74 69 |n from M|MU routi|
|00038d00| 6e 65 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 0f |nes */.#|define..|
|00038d10| 10 01 dc 10 01 01 02 00 | d0 01 02 00 4d 4d 55 4f |........|....MMUO|
|00038d20| 4b 09 30 09 09 2f 2a 20 | 6e 6f 72 6d 61 6c 20 72 |K.0../* |normal r|
|00038d30| 65 74 75 72 6e 20 66 72 | 6f 6d 20 4d 4d 55 20 72 |eturn fr|om MMU r|
|00038d40| 6f 75 74 69 6e 65 73 20 | 2a 2f 0a 0a 23 64 65 66 |outines |*/..#def|
|00038d50| 69 6e 65 09 53 45 47 4b | 44 09 30 0a 0a 23 64 65 |ine.SEGK|D.0..#de|
|00038d60| 66 69 6e 65 09 53 45 47 | 55 44 09 28 75 2e 75 5f |fine.SEG|UD.(u.u_|
|00038d70| 75 73 65 67 73 5b 30 5d | 29 0a 23 64 65 66 69 6e |usegs[0]|).#defin|
|00038d80| 65 09 53 45 47 55 49 09 | 28 75 2e 75 5f 75 73 65 |e.SEGUI.|(u.u_use|
|00038d90| 67 73 5b 31 5d 29 0a 23 | 65 6e 64 69 66 20 2f 2a |gs[1]).#|endif /*|
|00038da0| 20 4d 5f 49 38 30 38 36 | 20 2a 2f 0a 0a 23 64 65 | M_I8086| */..#de|
|00038db0| 66 69 6e 65 20 4e 44 53 | 45 47 53 09 33 09 2f 2a |fine NDS|EGS.3./*|
|00038dc0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 64 61 74 61 20 | number |of data |
|00038dd0| 73 65 67 6d 65 6e 74 73 | 20 74 68 65 20 6b 65 72 |segments| the ker|
|00038de0| 6e 65 6c 20 6d 61 79 20 | 68 61 76 65 2a 2f 0a 23 |nel may |have*/.#|
|00038df0| 64 65 66 69 6e 65 20 4e | 43 53 45 47 53 09 37 09 |define N|CSEGS.7.|
|00038e00| 2f 2a 20 6e 75 6d 62 65 | 72 20 6f 66 20 74 65 78 |/* numbe|r of tex|
|00038e10| 74 20 73 65 67 6d 65 6e | 74 73 20 74 68 65 20 6b |t segmen|ts the k|
|00038e20| 65 72 6e 65 6c 20 6d 61 | 79 20 68 61 76 65 2a 2f |ernel ma|y have*/|
|00038e30| 0a 0a 23 69 6e 63 6c 75 | 64 65 20 22 72 65 6c 73 |..#inclu|de "rels|
|00038e40| 79 6d 38 36 2e 68 22 0a | 0a 23 64 65 66 69 6e 65 |ym86.h".|.#define|
|00038e50| 20 53 45 4c 53 5a 09 09 | 73 69 7a 65 6f 66 28 73 | SELSZ..|sizeof(s|
|00038e60| 74 72 75 63 74 20 64 65 | 73 63 74 61 62 29 0a 0a |truct de|sctab)..|
|00038e70| 23 69 66 64 65 66 20 4d | 5f 49 32 38 36 0a 0a 23 |#ifdef M|_I286..#|
|00038e80| 64 65 66 69 6e 65 09 4e | 42 55 46 53 45 4c 09 31 |define.N|BUFSEL.1|
|00038e90| 36 09 2f 2a 20 6e 75 6d | 62 65 72 20 6f 66 20 73 |6./* num|ber of s|
|00038ea0| 65 6c 65 63 74 6f 72 73 | 20 66 6f 72 20 6d 61 70 |electors| for map|
|00038eb0| 70 65 64 20 6f 75 74 20 | 62 75 66 66 65 72 73 20 |ped out |buffers |
|00038ec0| 2a 2f 0a 0a 2f 2a 0a 20 | 2a 20 64 65 73 63 72 69 |*/../*. |* descri|
|00038ed0| 70 74 6f 72 20 74 61 62 | 6c 65 20 64 65 66 69 6e |ptor tab|le defin|
|00038ee0| 65 73 0a 20 2a 20 4e 4f | 54 45 3a 20 74 68 65 20 |es. * NO|TE: the |
|00038ef0| 52 50 4c 20 69 6e 20 55 | 53 45 47 5f 53 45 4c 20 |RPL in U|SEG_SEL |
|00038f00| 61 6e 64 20 55 4c 44 54 | 5f 53 45 4c 20 69 73 20 |and ULDT|_SEL is |
|00038f10| 30 2e 20 54 68 69 73 0a | 20 2a 09 20 10 01 02 02 |0. This.| *. ....|
|00038f20| 00 4b 01 02 00 64 6f 65 | 73 20 6e 6f 74 20 45 4e |.K...doe|s not EN|
|00038f30| 46 4f 52 43 45 20 70 72 | 6f 74 65 63 74 69 6f 6e |FORCE pr|otection|
|00038f40| 0a 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4e 55 4c |. */.#de|fine.NUL|
|00038f50| 4c 5f 53 45 4c 09 30 09 | 2f 2a 20 27 69 6e 76 61 |L_SEL.0.|/* 'inva|
|00038f60| 6c 69 64 27 20 73 65 6c | 65 63 74 6f 72 20 2a 2f |lid' sel|ector */|
|00038f70| 0a 2f 2a 20 0a 20 2a 20 | 70 6f 72 74 61 62 6c 65 |./* . * |portable|
|00038f80| 20 67 64 74 20 64 65 66 | 69 6e 65 73 0a 20 2a 20 | gdt def|ines. * |
|00038f90| 57 41 52 4e 49 4e 47 20 | 2d 20 74 68 65 73 65 20 |WARNING |- these |
|00038fa0| 6d 75 73 74 20 61 67 72 | 65 65 20 77 69 74 68 20 |must agr|ee with |
|00038fb0| 74 68 65 20 6c 61 79 6f | 75 74 20 6f 66 20 74 68 |the layo|ut of th|
|00038fc0| 65 20 67 64 74 20 69 6e | 20 6f 65 6d 2e 63 0a 20 |e gdt in| oem.c. |
|00038fd0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 47 44 54 5f 53 |*/.#defi|ne.GDT_S|
|00038fe0| 45 4c 09 09 30 78 38 09 | 2f 2a 20 73 65 6c 65 63 |EL..0x8.|/* selec|
|00038ff0| 74 6f 72 20 66 6f 72 20 | 47 44 54 20 61 6c 69 61 |tor for |GDT alia|
|00039000| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 49 44 54 |s */.#de|fine.IDT|
|00039010| 5f 53 45 4c 09 09 30 78 | 31 30 09 2f 2a 20 73 65 |_SEL..0x|10./* se|
|00039020| 6c 65 63 74 6f 72 20 66 | 6f 72 20 49 44 54 20 61 |lector f|or IDT a|
|00039030| 6c 69 61 73 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |lias */.|#define |
|00039040| 4b 44 53 5f 53 45 4c 09 | 09 30 78 31 38 09 2f 2a |KDS_SEL.|.0x18./*|
|00039050| 20 31 73 74 20 6b 65 72 | 6e 65 6c 20 64 61 74 61 | 1st ker|nel data|
|00039060| 20 73 65 67 20 73 65 6c | 65 63 74 6f 72 20 2a 2f | seg sel|ector */|
|00039070| 0a 23 64 65 66 69 6e 65 | 09 4b 43 53 5f 53 45 4c |.#define|.KCS_SEL|
|00039080| 09 09 30 78 33 30 09 2f | 2a 20 31 73 74 20 6b 65 |..0x30./|* 1st ke|
|00039090| 72 6e 65 6c 20 63 6f 64 | 65 20 73 65 67 20 73 65 |rnel cod|e seg se|
|000390a0| 6c 65 63 74 6f 72 20 2a | 2f 0a 23 64 65 66 69 6e |lector *|/.#defin|
|000390b0| 65 09 4b 53 53 5f 53 45 | 4c 09 09 30 78 36 38 09 |e.KSS_SE|L..0x68.|
|000390c0| 2f 2a 20 6b 65 72 6e 65 | 6c 20 73 74 61 63 6b 20 |/* kerne|l stack |
|000390d0| 73 65 67 20 73 65 6c 65 | 63 74 6f 72 20 2a 2f 0a |seg sele|ctor */.|
|000390e0| 23 64 65 66 69 6e 65 09 | 4b 54 53 53 09 09 30 78 |#define.|KTSS..0x|
|000390f0| 37 30 09 2f 2a 20 6b 65 | 72 6e 65 6c 20 54 53 53 |70./* ke|rnel TSS|
|00039100| 20 73 65 6c 65 63 74 6f | 72 20 2a 2f 0a 23 64 65 | selecto|r */.#de|
|00039110| 66 69 6e 65 09 53 46 54 | 53 53 09 09 30 78 37 38 |fine.SFT|SS..0x78|
|00039120| 09 2f 2a 20 73 10 01 03 | 02 00 15 01 02 00 74 61 |./* s...|......ta|
|00039130| 63 6b 20 66 61 75 6c 74 | 20 54 53 53 20 73 65 6c |ck fault| TSS sel|
|00039140| 65 63 74 6f 72 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ector */|.#define|
|00039150| 09 4b 57 4f 52 4b 30 09 | 09 30 78 38 30 09 2f 2a |.KWORK0.|.0x80./*|
|00039160| 20 77 6f 72 6b 20 73 65 | 67 6d 65 6e 74 20 73 65 | work se|gment se|
|00039170| 6c 65 63 74 6f 72 20 2a | 2f 0a 23 64 65 66 69 6e |lector *|/.#defin|
|00039180| 65 09 4b 57 4f 52 4b 31 | 09 09 30 78 38 38 09 2f |e.KWORK1|..0x88./|
|00039190| 2a 20 77 6f 72 6b 20 73 | 65 67 6d 65 6e 74 20 73 |* work s|egment s|
|000391a0| 65 6c 65 63 74 6f 72 20 | 2a 2f 0a 23 64 65 66 69 |elector |*/.#defi|
|000391b0| 6e 65 09 4b 57 4f 52 4b | 32 09 09 30 78 39 30 09 |ne.KWORK|2..0x90.|
|000391c0| 2f 2a 20 77 6f 72 6b 20 | 73 65 67 6d 65 6e 74 20 |/* work |segment |
|000391d0| 73 65 6c 65 63 74 6f 72 | 20 2a 2f 0a 23 64 65 66 |selector| */.#def|
|000391e0| 69 6e 65 09 4d 41 50 57 | 4b 53 45 4c 09 30 78 39 |ine.MAPW|KSEL.0x9|
|000391f0| 38 09 2f 2a 20 73 65 6c | 65 63 74 6f 72 20 66 6f |8./* sel|ector fo|
|00039200| 72 20 6d 61 70 20 77 6f | 72 6b 20 2a 2f 0a 23 64 |r map wo|rk */.#d|
|00039210| 65 66 69 6e 65 20 43 4f | 50 59 5f 53 45 4c 09 30 |efine CO|PY_SEL.0|
|00039220| 78 41 30 09 2f 2a 20 73 | 65 6c 65 63 74 6f 72 20 |xA0./* s|elector |
|00039230| 66 6f 72 20 63 6f 70 79 | 69 6f 20 2a 2f 0a 23 64 |for copy|io */.#d|
|00039240| 65 66 69 6e 65 09 43 4c | 44 54 5f 53 45 4c 09 30 |efine.CL|DT_SEL.0|
|00039250| 78 41 38 09 2f 2a 20 63 | 75 72 72 65 6e 74 20 70 |xA8./* c|urrent p|
|00039260| 72 6f 63 65 73 73 27 20 | 6c 64 74 20 73 65 6c 65 |rocess' |ldt sele|
|00039270| 63 74 6f 72 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |ctor */.|#define.|
|00039280| 4b 45 4e 54 52 59 09 09 | 30 78 42 30 09 2f 2a 20 |KENTRY..|0xB0./* |
|00039290| 6b 65 72 6e 65 6c 20 65 | 6e 74 72 79 20 73 65 6c |kernel e|ntry sel|
|000392a0| 65 63 74 6f 72 20 28 63 | 61 6c 6c 20 67 61 74 65 |ector (c|all gate|
|000392b0| 29 20 2a 2f 0a 09 09 09 | 09 2f 2a 20 30 78 42 38 |) */....|./* 0xB8|
|000392c0| 20 61 6e 64 20 30 78 43 | 30 20 72 65 73 65 72 76 | and 0xC|0 reserv|
|000392d0| 65 64 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 42 55 |ed */.#d|efine BU|
|000392e0| 46 5f 53 45 4c 09 09 30 | 78 43 38 09 2f 2a 20 31 |F_SEL..0|xC8./* 1|
|000392f0| 73 74 20 6f 66 20 31 36 | 20 73 65 6c 65 63 74 6f |st of 16| selecto|
|00039300| 72 73 20 74 6f 20 6d 61 | 70 20 62 75 66 66 65 72 |rs to ma|p buffer|
|00039310| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 53 57 41 |s */.#de|fine.SWA|
|00039320| 50 31 5f 53 45 4c 09 30 | 78 31 34 38 09 2f 10 01 |P1_SEL.0|x148./..|
|00039330| 04 02 00 6f 01 02 00 2a | 20 77 6f 72 6b 20 73 65 |...o...*| work se|
|00039340| 67 6d 65 6e 74 20 73 65 | 6c 65 63 74 6f 72 20 2d |gment se|lector -|
|00039350| 20 73 77 61 70 20 2a 2f | 0a 23 64 65 66 69 6e 65 | swap */|.#define|
|00039360| 09 53 57 41 50 32 5f 53 | 45 4c 09 30 78 31 35 30 |.SWAP2_S|EL.0x150|
|00039370| 09 2f 2a 20 77 6f 72 6b | 20 73 65 67 6d 65 6e 74 |./* work| segment|
|00039380| 20 73 65 6c 65 63 74 6f | 72 20 2d 20 73 77 61 70 | selecto|r - swap|
|00039390| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 09 53 57 41 50 | */.#def|ine.SWAP|
|000393a0| 33 5f 53 45 4c 09 30 78 | 31 35 38 09 2f 2a 20 77 |3_SEL.0x|158./* w|
|000393b0| 6f 72 6b 20 73 65 67 6d | 65 6e 74 20 73 65 6c 65 |ork segm|ent sele|
|000393c0| 63 74 6f 72 20 2d 20 73 | 77 61 70 20 2a 2f 0a 23 |ctor - s|wap */.#|
|000393d0| 64 65 66 69 6e 65 09 53 | 57 41 50 34 5f 53 45 4c |define.S|WAP4_SEL|
|000393e0| 09 30 78 31 36 30 09 2f | 2a 20 77 6f 72 6b 20 73 |.0x160./|* work s|
|000393f0| 65 67 6d 65 6e 74 20 73 | 65 6c 65 63 74 6f 72 20 |egment s|elector |
|00039400| 2d 20 73 77 61 70 20 2a | 2f 0a 23 64 65 66 69 6e |- swap *|/.#defin|
|00039410| 65 20 46 52 45 45 5f 53 | 45 4c 09 30 78 31 36 38 |e FREE_S|EL.0x168|
|00039420| 09 2f 2a 20 31 73 74 20 | 64 73 63 72 61 6c 6c 6f |./* 1st |dscrallo|
|00039430| 63 28 29 20 73 65 6c 65 | 63 74 6f 72 20 2a 2f 0a |c() sele|ctor */.|
|00039440| 0a 23 64 65 66 69 6e 65 | 20 4e 47 44 54 09 28 73 |.#define| NGDT.(s|
|00039450| 74 6f 69 28 46 52 45 45 | 5f 53 45 4c 29 2b 31 20 |toi(FREE|_SEL)+1 |
|00039460| 2b 20 34 30 29 09 20 20 | 20 2f 2a 20 20 38 36 20 |+ 40). | /* 86 |
|00039470| 3b 20 34 30 20 64 73 63 | 72 61 6c 6c 6f 63 28 29 |; 40 dsc|ralloc()|
|00039480| 20 73 65 6c 65 63 74 6f | 72 73 20 2a 2f 0a 0a 2f | selecto|rs */../|
|00039490| 2a 20 0a 20 2a 20 6c 64 | 74 20 64 65 66 69 6e 65 |* . * ld|t define|
|000394a0| 73 20 0a 20 2a 20 54 68 | 65 73 65 20 73 65 6c 65 |s . * Th|ese sele|
|000394b0| 63 74 6f 72 20 64 65 66 | 69 6e 69 74 69 6f 6e 73 |ctor def|initions|
|000394c0| 20 73 68 6f 75 6c 64 20 | 6e 6f 74 20 62 65 20 74 | should |not be t|
|000394d0| 6f 75 63 68 65 64 20 2d | 20 74 68 65 79 20 61 72 |ouched -| they ar|
|000394e0| 65 20 63 68 69 70 0a 20 | 2a 20 61 6e 64 20 6c 69 |e chip. |* and li|
|000394f0| 6e 6b 65 72 20 64 65 66 | 69 6e 65 64 0a 20 2a 2f |nker def|ined. */|
|00039500| 0a 23 64 65 66 69 6e 65 | 09 55 53 45 47 5f 53 45 |.#define|.USEG_SE|
|00039510| 4c 09 30 78 30 34 09 2f | 2a 20 4c 44 54 20 62 61 |L.0x04./|* LDT ba|
|00039520| 73 65 64 20 55 20 73 65 | 67 20 73 65 6c 65 63 74 |sed U se|g select|
|00039530| 6f 72 20 2a 2f 0a 23 10 | 01 05 02 00 69 01 02 00 |or */.#.|....i...|
|00039540| 64 65 66 69 6e 65 09 55 | 4c 44 54 5f 53 45 4c 09 |define.U|LDT_SEL.|
|00039550| 30 78 30 43 09 2f 2a 20 | 6c 64 74 20 62 61 73 65 |0x0C./* |ldt base|
|00039560| 64 2c 20 6c 64 74 20 61 | 6c 69 61 73 20 2a 2f 0a |d, ldt a|lias */.|
|00039570| 23 64 65 66 69 6e 65 09 | 55 4c 49 4e 46 4f 5f 53 |#define.|ULINFO_S|
|00039580| 45 4c 09 30 78 31 34 09 | 2f 2a 20 75 73 65 64 20 |EL.0x14.|/* used |
|00039590| 66 6f 72 20 6c 64 74 20 | 69 6e 66 6f 20 61 72 72 |for ldt |info arr|
|000395a0| 61 79 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 55 45 |ay */.#d|efine UE|
|000395b0| 58 45 43 5f 53 45 4c 09 | 30 78 31 43 09 2f 2a 20 |XEC_SEL.|0x1C./* |
|000395c0| 75 73 65 64 20 64 75 72 | 69 6e 67 20 61 6e 20 65 |used dur|ing an e|
|000395d0| 78 65 63 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 55 |xec */.#|define.U|
|000395e0| 4c 44 54 54 4d 50 5f 53 | 45 4c 09 30 78 32 34 09 |LDTTMP_S|EL.0x24.|
|000395f0| 2f 2a 20 75 73 65 64 20 | 66 6f 72 20 65 78 65 63 |/* used |for exec|
|00039600| 69 6e 67 20 61 6e 64 20 | 69 6e 20 6d 6d 75 20 72 |ing and |in mmu r|
|00039610| 6f 75 74 69 6e 65 73 20 | 2a 2f 0a 23 64 65 66 69 |outines |*/.#defi|
|00039620| 6e 65 09 55 54 45 4d 50 | 5f 53 45 4c 09 30 78 32 |ne.UTEMP|_SEL.0x2|
|00039630| 43 09 2f 2a 20 75 73 65 | 64 20 66 6f 72 20 73 77 |C./* use|d for sw|
|00039640| 61 70 70 69 6e 67 2c 20 | 65 74 63 20 2a 2f 0a 23 |apping, |etc */.#|
|00039650| 64 65 66 69 6e 65 09 55 | 4f 56 52 4c 59 5f 53 45 |define.U|OVRLY_SE|
|00039660| 4c 09 30 78 33 34 09 2f | 2a 20 75 73 65 64 20 77 |L.0x34./|* used w|
|00039670| 69 74 68 20 6f 76 65 72 | 6c 61 79 20 66 69 6c 65 |ith over|lay file|
|00039680| 73 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 46 49 52 |s */.#de|fine.FIR|
|00039690| 53 54 55 5f 53 45 4c 09 | 30 78 33 46 09 2f 2a 20 |STU_SEL.|0x3F./* |
|000396a0| 75 73 65 72 27 73 20 69 | 6e 69 74 69 61 6c 20 73 |user's i|nitial s|
|000396b0| 65 6c 65 63 74 6f 72 20 | 2a 2f 0a 0a 23 64 65 66 |elector |*/..#def|
|000396c0| 69 6e 65 20 4c 44 54 50 | 41 44 09 09 38 09 2f 2a |ine LDTP|AD..8./*|
|000396d0| 20 6e 75 6d 62 65 72 20 | 65 78 74 72 61 20 6c 64 | number |extra ld|
|000396e0| 74 20 73 6c 6f 74 73 20 | 61 6c 6c 6f 63 61 74 65 |t slots |allocate|
|000396f0| 64 20 70 65 72 20 70 72 | 6f 63 20 2a 2f 09 09 09 |d per pr|oc */...|
|00039700| 09 09 2f 2a 20 73 69 7a | 65 20 6f 66 20 61 6e 20 |../* siz|e of an |
|00039710| 6c 64 74 20 65 6e 74 72 | 79 20 69 6e 20 62 79 74 |ldt entr|y in byt|
|00039720| 65 73 20 28 38 29 20 2a | 2f 0a 23 64 65 66 69 6e |es (8) *|/.#defin|
|00039730| 65 20 4d 41 58 4c 44 54 | 09 09 38 31 39 32 09 2f |e MAXLDT|..8192./|
|00039740| 10 01 06 02 00 6c 01 02 | 00 2a 20 6d 61 78 69 6d |.....l..|.* maxim|
|00039750| 75 6d 20 6e 75 6d 62 65 | 72 20 6f 66 20 65 6e 74 |um numbe|r of ent|
|00039760| 72 69 65 73 20 69 6e 20 | 61 6e 20 6c 64 74 20 2a |ries in |an ldt *|
|00039770| 2f 0a 23 64 65 66 69 6e | 65 20 4b 45 52 4e 4c 44 |/.#defin|e KERNLD|
|00039780| 54 09 20 09 37 09 2f 2a | 20 6e 75 6d 62 65 72 20 |T. .7./*| number |
|00039790| 6f 66 20 6b 65 72 6e 65 | 6c 20 72 65 73 65 72 76 |of kerne|l reserv|
|000397a0| 65 64 20 6c 64 74 73 20 | 2a 2f 0a 0a 23 64 65 66 |ed ldts |*/..#def|
|000397b0| 69 6e 65 20 49 44 54 53 | 5a 09 09 32 35 36 09 09 |ine IDTS|Z..256..|
|000397c0| 09 2f 2a 20 6e 75 6d 62 | 65 72 20 6f 66 20 65 6e |./* numb|er of en|
|000397d0| 74 72 69 65 73 20 69 6e | 20 69 64 74 20 2a 2f 0a |tries in| idt */.|
|000397e0| 23 64 65 66 69 6e 65 20 | 49 44 54 4c 49 4d 09 09 |#define |IDTLIM..|
|000397f0| 28 49 44 54 53 5a 20 2a | 20 53 45 4c 53 5a 29 20 |(IDTSZ *| SELSZ) |
|00039800| 2d 31 09 2f 2a 20 69 64 | 74 20 6c 69 6d 69 74 20 |-1./* id|t limit |
|00039810| 2a 2f 0a 0a 2f 2a 0a 20 | 2a 20 44 65 73 63 72 69 |*/../*. |* Descri|
|00039820| 70 74 6f 72 20 54 79 70 | 65 73 0a 20 2a 2f 0a 23 |ptor Typ|es. */.#|
|00039830| 64 65 66 69 6e 65 09 44 | 53 54 5f 41 54 41 53 4b |define.D|ST_ATASK|
|00039840| 09 30 78 31 09 2f 2a 20 | 61 76 61 69 6c 20 74 61 |.0x1./* |avail ta|
|00039850| 73 6b 20 2a 2f 0a 23 64 | 65 66 69 6e 65 09 44 53 |sk */.#d|efine.DS|
|00039860| 54 5f 54 41 42 4c 45 09 | 30 78 32 09 2f 2a 20 64 |T_TABLE.|0x2./* d|
|00039870| 65 73 63 72 69 70 74 6f | 72 20 74 61 62 6c 65 20 |escripto|r table |
|00039880| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 44 53 54 5f 42 |*/.#defi|ne.DST_B|
|00039890| 54 41 53 4b 09 30 78 33 | 09 2f 2a 20 62 75 73 79 |TASK.0x3|./* busy|
|000398a0| 20 74 61 73 6b 20 2a 2f | 0a 23 64 65 66 69 6e 65 | task */|.#define|
|000398b0| 09 44 53 54 5f 43 47 41 | 54 45 09 30 78 34 09 2f |.DST_CGA|TE.0x4./|
|000398c0| 2a 20 63 61 6c 6c 20 67 | 61 74 65 20 2a 2f 0a 23 |* call g|ate */.#|
|000398d0| 64 65 66 69 6e 65 09 44 | 53 54 5f 54 41 47 41 54 |define.D|ST_TAGAT|
|000398e0| 45 09 30 78 35 09 2f 2a | 20 74 61 73 6b 20 63 6f |E.0x5./*| task co|
|000398f0| 6e 74 65 78 74 20 67 61 | 74 65 20 2a 2f 0a 23 64 |ntext ga|te */.#d|
|00039900| 65 66 69 6e 65 09 44 53 | 54 5f 49 47 41 54 45 09 |efine.DS|T_IGATE.|
|00039910| 30 78 36 09 2f 2a 20 69 | 6e 74 65 72 72 75 70 74 |0x6./* i|nterrupt|
|00039920| 20 67 61 74 65 20 2a 2f | 0a 23 64 65 66 69 6e 65 | gate */|.#define|
|00039930| 09 44 53 54 5f 54 52 47 | 41 54 45 09 30 78 37 09 |.DST_TRG|ATE.0x7.|
|00039940| 2f 2a 20 74 72 61 70 20 | 67 10 01 07 02 00 3a 01 |/* trap |g.....:.|
|00039950| 02 00 61 74 65 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |..ate */|../*. * |
|00039960| 61 63 63 65 73 73 20 62 | 79 74 65 20 66 69 65 6c |access b|yte fiel|
|00039970| 64 73 20 28 44 53 41 5f | 2a 29 20 61 72 65 20 64 |ds (DSA_|*) are d|
|00039980| 65 66 69 6e 65 64 20 69 | 6e 20 72 65 6c 73 79 6d |efined i|n relsym|
|00039990| 38 36 2e 68 0a 20 2a 2f | 0a 0a 0a 2f 2a 0a 20 2a |86.h. */|.../*. *|
|000399a0| 20 74 73 73 20 73 74 72 | 75 63 74 75 72 65 0a 20 | tss str|ucture. |
|000399b0| 2a 2f 0a 0a 73 74 72 75 | 63 74 20 74 73 73 20 7b |*/..stru|ct tss {|
|000399c0| 0a 09 75 6e 73 69 67 6e | 65 64 09 74 5f 6c 69 6e |..unsign|ed.t_lin|
|000399d0| 6b 3b 09 09 2f 2a 20 70 | 72 65 76 69 6f 75 73 20 |k;../* p|revious |
|000399e0| 74 73 73 20 73 65 6c 65 | 63 74 6f 72 20 2a 2f 0a |tss sele|ctor */.|
|000399f0| 09 75 6e 73 69 67 6e 65 | 64 09 74 5f 73 70 30 3b |.unsigne|d.t_sp0;|
|00039a00| 09 09 2f 2a 20 73 74 61 | 63 6b 20 66 6f 72 20 6c |../* sta|ck for l|
|00039a10| 65 76 65 6c 20 30 20 2a | 2f 0a 09 75 6e 73 69 67 |evel 0 *|/..unsig|
|00039a20| 6e 65 64 09 74 5f 73 73 | 30 3b 0a 09 75 6e 73 69 |ned.t_ss|0;..unsi|
|00039a30| 67 6e 65 64 09 74 5f 73 | 70 31 3b 09 09 2f 2a 20 |gned.t_s|p1;../* |
|00039a40| 73 74 61 63 6b 20 66 6f | 72 20 6c 65 76 65 6c 20 |stack fo|r level |
|00039a50| 31 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 09 74 |1 */..un|signed.t|
|00039a60| 5f 73 73 31 3b 0a 09 75 | 6e 73 69 67 6e 65 64 09 |_ss1;..u|nsigned.|
|00039a70| 74 5f 73 70 32 3b 09 09 | 2f 2a 20 73 74 61 63 6b |t_sp2;..|/* stack|
|00039a80| 20 66 6f 72 20 6c 65 76 | 65 6c 20 32 20 2a 2f 0a | for lev|el 2 */.|
|00039a90| 09 75 6e 73 69 67 6e 65 | 64 09 74 5f 73 73 32 3b |.unsigne|d.t_ss2;|
|00039aa0| 0a 09 75 6e 73 69 67 6e | 65 64 09 74 5f 69 70 3b |..unsign|ed.t_ip;|
|00039ab0| 09 09 2f 2a 20 74 61 73 | 6b 20 73 74 61 74 65 20 |../* tas|k state |
|00039ac0| 2d 20 69 70 20 2a 2f 0a | 09 75 6e 73 69 67 6e 65 |- ip */.|.unsigne|
|00039ad0| 64 09 74 5f 66 6c 61 67 | 73 3b 09 2f 2a 20 74 61 |d.t_flag|s;./* ta|
|00039ae0| 73 6b 20 73 74 61 74 65 | 20 2d 20 66 6c 61 67 73 |sk state| - flags|
|00039af0| 20 2a 2f 0a 09 75 6e 73 | 69 67 6e 65 64 09 74 5f | */..uns|igned.t_|
|00039b00| 61 78 3b 09 09 2f 2a 20 | 74 61 73 6b 20 73 74 61 |ax;../* |task sta|
|00039b10| 74 65 20 2d 20 61 78 20 | 2a 2f 0a 09 75 6e 73 69 |te - ax |*/..unsi|
|00039b20| 67 6e 65 64 09 74 5f 63 | 78 3b 09 09 2f 2a 20 74 |gned.t_c|x;../* t|
|00039b30| 61 73 6b 20 73 74 61 74 | 65 20 2d 20 63 78 20 2a |ask stat|e - cx *|
|00039b40| 2f 0a 09 75 6e 73 69 67 | 6e 65 64 09 74 5f 64 78 |/..unsig|ned.t_dx|
|00039b50| 3b 09 10 01 08 02 00 59 | 01 02 00 09 2f 2a 20 74 |;......Y|..../* t|
|00039b60| 61 73 6b 20 73 74 61 74 | 65 20 2d 20 64 78 20 2a |ask stat|e - dx *|
|00039b70| 2f 0a 09 75 6e 73 69 67 | 6e 65 64 09 74 5f 62 78 |/..unsig|ned.t_bx|
|00039b80| 3b 09 09 2f 2a 20 74 61 | 73 6b 20 73 74 61 74 65 |;../* ta|sk state|
|00039b90| 20 2d 20 62 78 20 2a 2f | 0a 09 75 6e 73 69 67 6e | - bx */|..unsign|
|00039ba0| 65 64 09 74 5f 73 70 3b | 09 09 2f 2a 20 74 61 73 |ed.t_sp;|../* tas|
|00039bb0| 6b 20 73 74 61 74 65 20 | 2d 20 73 70 20 2a 2f 0a |k state |- sp */.|
|00039bc0| 09 75 6e 73 69 67 6e 65 | 64 09 74 5f 62 70 3b 09 |.unsigne|d.t_bp;.|
|00039bd0| 09 2f 2a 20 74 61 73 6b | 20 73 74 61 74 65 20 2d |./* task| state -|
|00039be0| 20 62 70 20 2a 2f 0a 09 | 75 6e 73 69 67 6e 65 64 | bp */..|unsigned|
|00039bf0| 09 74 5f 73 69 3b 09 09 | 2f 2a 20 74 61 73 6b 20 |.t_si;..|/* task |
|00039c00| 73 74 61 74 65 20 2d 20 | 73 69 20 2a 2f 0a 09 75 |state - |si */..u|
|00039c10| 6e 73 69 67 6e 65 64 09 | 74 5f 64 69 3b 09 09 2f |nsigned.|t_di;../|
|00039c20| 2a 20 74 61 73 6b 20 73 | 74 61 74 65 20 2d 20 64 |* task s|tate - d|
|00039c30| 69 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 09 74 |i */..un|signed.t|
|00039c40| 5f 65 73 3b 09 09 2f 2a | 20 74 61 73 6b 20 73 74 |_es;../*| task st|
|00039c50| 61 74 65 20 2d 20 65 73 | 20 2a 2f 0a 09 75 6e 73 |ate - es| */..uns|
|00039c60| 69 67 6e 65 64 09 74 5f | 63 73 3b 09 09 2f 2a 20 |igned.t_|cs;../* |
|00039c70| 74 61 73 6b 20 73 74 61 | 74 65 20 2d 20 63 73 20 |task sta|te - cs |
|00039c80| 2a 2f 0a 09 75 6e 73 69 | 67 6e 65 64 09 74 5f 73 |*/..unsi|gned.t_s|
|00039c90| 73 3b 09 09 2f 2a 20 74 | 61 73 6b 20 73 74 61 74 |s;../* t|ask stat|
|00039ca0| 65 20 2d 20 73 73 20 2a | 2f 0a 09 75 6e 73 69 67 |e - ss *|/..unsig|
|00039cb0| 6e 65 64 09 74 5f 64 73 | 3b 09 09 2f 2a 20 74 61 |ned.t_ds|;../* ta|
|00039cc0| 73 6b 20 73 74 61 74 65 | 20 2d 20 64 73 20 2a 2f |sk state| - ds */|
|00039cd0| 0a 09 75 6e 73 69 67 6e | 65 64 09 74 5f 6c 64 74 |..unsign|ed.t_ldt|
|00039ce0| 3b 09 09 2f 2a 20 74 61 | 73 6b 20 6c 64 74 20 73 |;../* ta|sk ldt s|
|00039cf0| 65 6c 65 63 74 6f 72 20 | 2a 2f 0a 7d 3b 0a 0a 23 |elector |*/.};..#|
|00039d00| 64 65 66 69 6e 65 20 54 | 53 53 4c 49 4d 09 09 28 |define T|SSLIM..(|
|00039d10| 73 69 7a 65 6f 66 28 73 | 74 72 75 63 74 20 74 73 |sizeof(s|truct ts|
|00039d20| 73 29 20 2d 20 31 29 20 | 09 2f 2a 20 74 73 73 20 |s) - 1) |./* tss |
|00039d30| 6c 69 6d 69 74 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |limit */|../*. * |
|00039d40| 66 6c 61 67 20 72 65 67 | 69 73 74 65 72 20 62 69 |flag reg|ister bi|
|00039d50| 74 73 0a 20 2a 2f 0a 23 | 64 65 66 10 01 09 02 00 |ts. */.#|def.....|
|00039d60| 49 01 02 00 69 6e 65 09 | 46 4c 5f 4e 43 58 09 09 |I...ine.|FL_NCX..|
|00039d70| 30 78 34 30 30 30 09 2f | 2a 20 6e 65 73 74 65 64 |0x4000./|* nested|
|00039d80| 20 63 6f 6e 74 65 78 74 | 20 2a 2f 0a 23 64 65 66 | context| */.#def|
|00039d90| 69 6e 65 09 46 4c 5f 49 | 4f 50 4c 09 09 30 78 33 |ine.FL_I|OPL..0x3|
|00039da0| 30 30 30 09 2f 2a 20 49 | 2f 4f 20 70 72 69 76 20 |000./* I|/O priv |
|00039db0| 6c 65 76 65 6c 20 2a 2f | 0a 23 64 65 66 69 6e 65 |level */|.#define|
|00039dc0| 09 46 4c 5f 4f 46 4c 4f | 57 09 30 78 38 30 30 09 |.FL_OFLO|W.0x800.|
|00039dd0| 2f 2a 20 6f 76 65 72 66 | 6c 6f 77 20 62 69 74 20 |/* overf|low bit |
|00039de0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 46 4c 5f 44 49 |*/.#defi|ne.FL_DI|
|00039df0| 52 09 09 30 78 34 30 30 | 09 2f 2a 20 64 69 72 65 |R..0x400|./* dire|
|00039e00| 63 74 69 6f 6e 20 6f 66 | 20 73 74 72 69 6e 67 20 |ction of| string |
|00039e10| 6f 70 73 20 2a 2f 0a 23 | 64 65 66 69 6e 65 09 46 |ops */.#|define.F|
|00039e20| 4c 5f 49 4e 54 45 4e 09 | 30 78 32 30 30 09 2f 2a |L_INTEN.|0x200./*|
|00039e30| 20 69 6e 74 65 72 72 75 | 70 74 20 65 6e 61 62 6c | interru|pt enabl|
|00039e40| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 46 4c 5f |e */.#de|fine.FL_|
|00039e50| 54 52 41 50 09 09 30 78 | 31 30 30 09 2f 2a 20 73 |TRAP..0x|100./* s|
|00039e60| 69 6e 67 6c 65 20 73 74 | 65 70 20 66 6c 61 67 20 |ingle st|ep flag |
|00039e70| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 46 4c 5f 53 49 |*/.#defi|ne.FL_SI|
|00039e80| 47 4e 09 09 30 78 38 30 | 09 2f 2a 20 73 69 67 6e |GN..0x80|./* sign|
|00039e90| 20 62 69 74 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 | bit */.|#define.|
|00039ea0| 46 4c 5f 5a 45 52 4f 09 | 09 30 78 34 30 09 2f 2a |FL_ZERO.|.0x40./*|
|00039eb0| 20 7a 65 72 6f 20 62 69 | 74 20 2a 2f 0a 23 64 65 | zero bi|t */.#de|
|00039ec0| 66 69 6e 65 09 46 4c 5f | 41 55 58 43 41 52 52 59 |fine.FL_|AUXCARRY|
|00039ed0| 09 30 78 31 30 09 2f 2a | 20 61 75 78 69 6c 6c 61 |.0x10./*| auxilla|
|00039ee0| 72 79 20 63 61 72 72 79 | 20 2a 2f 0a 23 64 65 66 |ry carry| */.#def|
|00039ef0| 69 6e 65 09 46 4c 5f 50 | 41 52 49 54 59 09 30 78 |ine.FL_P|ARITY.0x|
|00039f00| 34 09 2f 2a 20 70 61 72 | 69 74 79 20 62 69 74 20 |4./* par|ity bit |
|00039f10| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 46 4c 5f 43 41 |*/.#defi|ne.FL_CA|
|00039f20| 52 52 59 09 30 78 31 09 | 2f 2a 20 63 61 72 72 79 |RRY.0x1.|/* carry|
|00039f30| 20 62 69 74 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 20 70 | bit */.|./*. * p|
|00039f40| 61 72 74 73 20 6f 66 20 | 61 20 73 65 6c 65 63 74 |arts of |a select|
|00039f50| 6f 72 20 73 65 65 20 72 | 65 6c 73 79 6d 38 36 2e |or see r|elsym86.|
|00039f60| 68 0a 20 2a 10 01 0a 02 | 00 d6 01 02 00 2f 0a 23 |h. *....|...../.#|
|00039f70| 64 65 66 69 6e 65 09 53 | 45 4c 5f 54 49 09 09 53 |define.S|EL_TI..S|
|00039f80| 45 4c 5f 4c 44 54 09 2f | 2a 20 74 61 62 6c 65 20 |EL_LDT./|* table |
|00039f90| 69 6e 64 69 63 61 74 6f | 72 20 28 30 2d 67 64 74 |indicato|r (0-gdt|
|00039fa0| 2c 31 2d 6c 64 74 29 20 | 2a 2f 0a 0a 2f 2a 0a 20 |,1-ldt) |*/../*. |
|00039fb0| 2a 20 64 65 73 63 72 69 | 70 74 6f 72 20 74 61 62 |* descri|ptor tab|
|00039fc0| 6c 65 20 73 74 72 75 63 | 74 75 72 65 3a 20 73 65 |le struc|ture: se|
|00039fd0| 65 20 72 65 6c 73 79 6d | 38 36 2e 68 0a 20 2a 2f |e relsym|86.h. */|
|00039fe0| 0a 23 64 65 66 69 6e 65 | 20 4e 50 53 45 47 4d 09 |.#define| NPSEGM.|
|00039ff0| 30 09 09 2f 2a 20 6e 6f | 20 73 65 67 6d 65 6e 74 |0../* no| segment|
|0003a000| 73 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 4d 69 73 63 |s */../*|. * Misc|
|0003a010| 20 63 6f 6e 73 74 61 6e | 74 73 2e 0a 20 2a 2f 0a | constan|ts.. */.|
|0003a020| 23 64 65 66 69 6e 65 20 | 4f 46 46 4d 41 53 4b 09 |#define |OFFMASK.|
|0003a030| 28 4d 4d 50 47 53 5a 2d | 31 29 09 2f 2a 20 64 65 |(MMPGSZ-|1)./* de|
|0003a040| 76 65 6c 6f 70 20 6f 66 | 66 73 65 74 20 77 69 74 |velop of|fset wit|
|0003a050| 68 69 6e 20 70 61 67 65 | 20 66 72 6f 6d 20 61 64 |hin page| from ad|
|0003a060| 64 72 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 52 |dr */..#|define R|
|0003a070| 4f 20 28 44 53 41 5f 43 | 4f 44 45 7c 44 53 41 5f |O (DSA_C|ODE|DSA_|
|0003a080| 52 49 4e 47 33 29 20 2f | 2a 20 74 65 6c 6c 73 20 |RING3) /|* tells |
|0003a090| 6d 6d 75 73 65 74 20 74 | 6f 20 73 65 74 75 70 20 |mmuset t|o setup |
|0003a0a0| 63 6f 64 65 20 74 6f 20 | 6d 61 6b 65 20 2a 2f 0a |code to |make */.|
|0003a0b0| 23 64 65 66 69 6e 65 20 | 52 57 20 28 44 53 41 5f |#define |RW (DSA_|
|0003a0c0| 44 41 54 41 7c 44 53 41 | 5f 52 49 4e 47 33 29 20 |DATA|DSA|_RING3) |
|0003a0d0| 2f 2a 20 6b 65 72 6e 65 | 6c 20 61 63 63 65 73 73 |/* kerne|l access|
|0003a0e0| 20 72 65 61 64 2d 6f 6e | 6c 79 2c 20 6f 72 20 72 | read-on|ly, or r|
|0003a0f0| 64 2f 77 72 20 2a 2f 0a | 0a 23 64 65 66 69 6e 65 |d/wr */.|.#define|
|0003a100| 09 4d 4d 55 4f 4b 09 28 | 28 6d 6c 6f 63 5f 74 29 |.MMUOK.(|(mloc_t)|
|0003a110| 20 30 29 0a 23 64 65 66 | 69 6e 65 09 4d 4d 55 45 | 0).#def|ine.MMUE|
|0003a120| 52 52 09 28 28 6d 6c 6f | 63 5f 74 29 20 2d 31 29 |RR.((mlo|c_t) -1)|
|0003a130| 0a 0a 73 74 72 75 63 74 | 20 6c 64 74 69 6e 66 20 |..struct| ldtinf |
|0003a140| 7b 0a 09 75 6e 73 69 67 | 6e 65 64 20 73 68 6f 72 |{..unsig|ned shor|
|0003a150| 74 20 66 6c 61 67 3b 0a | 09 75 6e 69 6f 6e 20 7b |t flag;.|.union {|
|0003a160| 0a 09 09 75 6e 73 69 67 | 6e 65 64 20 73 10 01 0b |...unsig|ned s...|
|0003a170| 02 00 0a 01 02 00 68 6f | 72 74 20 70 73 69 7a 65 |......ho|rt psize|
|0003a180| 3b 09 2f 2a 20 75 73 65 | 64 20 66 6f 72 20 65 78 |;./* use|d for ex|
|0003a190| 65 63 20 2a 2f 0a 09 09 | 75 6e 73 69 67 6e 65 64 |ec */...|unsigned|
|0003a1a0| 20 73 68 6f 72 74 20 73 | 77 61 70 62 6e 3b 09 2f | short s|wapbn;./|
|0003a1b0| 2a 20 62 6c 6f 63 6b 20 | 23 20 6f 6e 20 73 77 61 |* block |# on swa|
|0003a1c0| 70 70 65 72 20 2a 2f 0a | 09 09 75 6e 73 69 67 6e |pper */.|..unsign|
|0003a1d0| 65 64 20 73 68 6f 72 74 | 20 64 75 70 73 65 6c 3b |ed short| dupsel;|
|0003a1e0| 09 2f 2a 20 73 65 6c 20 | 74 68 69 73 20 73 65 6c |./* sel |this sel|
|0003a1f0| 20 69 73 20 64 75 70 20 | 6f 66 2c 20 69 66 20 4c | is dup |of, if L|
|0003a200| 54 5f 44 55 50 20 2a 2f | 0a 09 7d 20 73 69 3b 0a |T_DUP */|..} si;.|
|0003a210| 7d 3b 0a 0a 2f 2a 20 0a | 20 2a 20 6c 64 74 69 6e |};../* .| * ldtin|
|0003a220| 66 20 66 6c 61 67 20 76 | 61 6c 75 65 73 20 69 6e |f flag v|alues in|
|0003a230| 64 69 63 61 74 69 6e 67 | 20 74 68 65 20 74 79 70 |dicating| the typ|
|0003a240| 65 20 6f 66 20 73 65 67 | 6d 65 6e 74 20 72 65 70 |e of seg|ment rep|
|0003a250| 72 65 73 65 6e 74 65 64 | 0a 20 2a 2f 0a 0a 23 64 |resented|. */..#d|
|0003a260| 65 66 69 6e 65 20 4c 54 | 5f 4f 57 4e 09 09 30 78 |efine LT|_OWN..0x|
|0003a270| 30 30 30 31 09 09 2f 2a | 20 6d 61 70 73 20 75 73 |0001../*| maps us|
|0003a280| 65 72 2d 6f 77 6e 65 64 | 2c 20 70 72 69 76 61 74 |er-owned|, privat|
|0003a290| 65 20 6d 65 6d 6f 72 79 | 20 2a 2f 0a 23 64 65 66 |e memory| */.#def|
|0003a2a0| 69 6e 65 20 4c 54 5f 41 | 4c 4c 4f 43 09 30 78 30 |ine LT_A|LLOC.0x0|
|0003a2b0| 30 30 32 09 09 2f 2a 20 | 73 77 61 70 70 65 72 20 |002../* |swapper |
|0003a2c0| 6d 75 73 74 20 61 6c 6c | 6f 63 61 74 65 20 6d 65 |must all|ocate me|
|0003a2d0| 6d 20 66 6f 72 20 65 78 | 65 63 20 2a 2f 0a 23 64 |m for ex|ec */.#d|
|0003a2e0| 65 66 69 6e 65 20 4c 54 | 5f 45 58 50 41 4e 44 09 |efine LT|_EXPAND.|
|0003a2f0| 30 78 30 30 30 34 09 09 | 2f 2a 20 65 78 70 61 6e |0x0004..|/* expan|
|0003a300| 64 69 6e 67 20 73 65 67 | 6d 65 6e 74 20 2d 75 73 |ding seg|ment -us|
|0003a310| 65 64 20 62 79 20 73 77 | 61 70 70 65 72 20 2a 2f |ed by sw|apper */|
|0003a320| 0a 23 64 65 66 69 6e 65 | 20 4c 54 5f 49 54 45 52 |.#define| LT_ITER|
|0003a330| 09 09 30 78 30 30 30 38 | 09 09 2f 2a 20 69 74 65 |..0x0008|../* ite|
|0003a340| 72 61 74 65 64 20 64 61 | 74 61 20 6f 72 20 74 65 |rated da|ta or te|
|0003a350| 78 74 20 73 65 67 6d 65 | 6e 74 20 2a 2f 0a 23 64 |xt segme|nt */.#d|
|0003a360| 65 66 69 6e 65 20 4c 54 | 5f 53 44 09 09 30 78 30 |efine LT|_SD..0x0|
|0003a370| 30 31 30 09 09 2f 10 01 | 0c 02 00 01 01 02 00 2a |010../..|.......*|
|0003a380| 20 73 68 61 72 65 64 20 | 64 61 74 61 20 73 65 67 | shared |data seg|
|0003a390| 6d 65 6e 74 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ment */.|#define |
|0003a3a0| 4c 54 5f 41 42 53 09 09 | 30 78 30 30 32 30 09 09 |LT_ABS..|0x0020..|
|0003a3b0| 2f 2a 20 6d 61 70 73 20 | 66 69 78 65 64 20 6c 6f |/* maps |fixed lo|
|0003a3c0| 63 61 74 69 6f 6e 20 28 | 69 2e 65 2e 20 73 63 72 |cation (|i.e. scr|
|0003a3d0| 65 65 6e 29 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |een) */.|#define |
|0003a3e0| 4c 54 5f 44 55 50 09 09 | 30 78 30 30 34 30 09 09 |LT_DUP..|0x0040..|
|0003a3f0| 2f 2a 20 64 75 70 6c 69 | 63 61 74 65 20 6d 61 70 |/* dupli|cate map|
|0003a400| 70 69 6e 67 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |ping */.|#define |
|0003a410| 4c 54 5f 45 58 45 43 09 | 09 30 78 30 30 38 30 09 |LT_EXEC.|.0x0080.|
|0003a420| 09 2f 2a 20 65 78 65 63 | 75 74 61 62 6c 65 20 73 |./* exec|utable s|
|0003a430| 65 67 6d 65 6e 74 20 2a | 2f 0a 23 64 65 66 69 6e |egment *|/.#defin|
|0003a440| 65 20 4c 54 5f 52 4f 09 | 09 30 78 30 31 30 30 09 |e LT_RO.|.0x0100.|
|0003a450| 09 2f 2a 20 72 65 61 64 | 2d 6f 6e 6c 79 20 73 65 |./* read|-only se|
|0003a460| 67 6d 65 6e 74 20 2a 2f | 0a 23 64 65 66 69 6e 65 |gment */|.#define|
|0003a470| 20 4c 54 5f 48 55 47 45 | 09 09 30 78 30 32 30 30 | LT_HUGE|..0x0200|
|0003a480| 09 09 2f 2a 20 61 6c 6c | 6f 63 61 74 65 64 20 61 |../* all|ocated a|
|0003a490| 73 20 48 55 47 45 20 73 | 65 67 20 62 79 20 62 72 |s HUGE s|eg by br|
|0003a4a0| 6b 63 74 6c 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |kctl */.|#define |
|0003a4b0| 4c 54 5f 43 4f 4e 54 49 | 47 09 30 78 30 34 30 30 |LT_CONTI|G.0x0400|
|0003a4c0| 09 09 2f 2a 20 6d 61 70 | 73 20 61 20 73 65 67 6d |../* map|s a segm|
|0003a4d0| 65 6e 74 20 69 6e 20 61 | 20 73 65 72 69 65 73 20 |ent in a| series |
|0003a4e0| 2a 2f 0a 09 09 09 09 09 | 2f 2a 20 20 6f 66 20 70 |*/......|/* of p|
|0003a4f0| 68 79 73 69 63 61 6c 6c | 79 20 63 6f 6e 74 69 67 |hysicall|y contig|
|0003a500| 75 6f 75 73 20 73 65 67 | 6d 65 6e 74 73 20 2a 2f |uous seg|ments */|
|0003a510| 0a 23 64 65 66 69 6e 65 | 20 4c 54 5f 46 43 4f 4e |.#define| LT_FCON|
|0003a520| 54 49 47 09 30 78 30 38 | 30 30 09 09 2f 2a 20 66 |TIG.0x08|00../* f|
|0003a530| 69 72 73 74 20 69 6e 20 | 61 20 73 65 72 69 65 73 |irst in |a series|
|0003a540| 20 6f 66 20 70 68 79 73 | 69 63 61 6c 6c 79 20 2a | of phys|ically *|
|0003a550| 2f 0a 09 09 09 09 09 2f | 2a 20 63 6f 6e 74 69 67 |/....../|* contig|
|0003a560| 75 6f 75 73 20 73 65 67 | 6d 65 6e 74 73 20 2a 2f |uous seg|ments */|
|0003a570| 0a 0a 65 78 74 65 72 6e | 20 66 64 65 73 63 5f 10 |..extern| fdesc_.|
|0003a580| 01 0d 02 00 c2 01 02 00 | 74 20 2a 6c 64 74 3b 09 |........|t *ldt;.|
|0003a590| 09 09 2f 2a 20 55 4c 44 | 54 5f 53 45 4c 3a 30 20 |../* ULD|T_SEL:0 |
|0003a5a0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 66 6c 69 6e 66 |*/.#defi|ne.flinf|
|0003a5b0| 5f 74 09 09 73 74 72 75 | 63 74 20 6c 64 74 69 6e |_t..stru|ct ldtin|
|0003a5c0| 66 20 66 61 72 09 2f 2a | 20 66 61 72 20 6c 64 74 |f far./*| far ldt|
|0003a5d0| 20 69 6e 66 6f 20 61 72 | 72 61 79 20 65 6e 74 72 | info ar|ray entr|
|0003a5e0| 79 20 2a 2f 0a 65 78 74 | 65 72 6e 20 66 6c 69 6e |y */.ext|ern flin|
|0003a5f0| 66 5f 74 20 2a 6c 64 74 | 69 6e 66 6f 3b 09 09 2f |f_t *ldt|info;../|
|0003a600| 2a 20 55 4c 49 4e 46 4f | 5f 53 45 4c 3a 30 20 2a |* ULINFO|_SEL:0 *|
|0003a610| 2f 0a 23 69 66 6e 64 65 | 66 20 4e 4f 45 58 54 47 |/.#ifnde|f NOEXTG|
|0003a620| 44 54 0a 65 78 74 65 72 | 6e 20 73 74 72 75 63 74 |DT.exter|n struct|
|0003a630| 20 64 65 73 63 74 61 62 | 20 67 64 74 5b 5d 3b 0a | desctab| gdt[];.|
|0003a640| 23 65 6e 64 69 66 0a 0a | 65 78 74 65 72 6e 20 6d |#endif..|extern m|
|0003a650| 6c 6f 63 5f 74 20 6d 6d | 75 70 67 65 74 28 29 3b |loc_t mm|upget();|
|0003a660| 0a 65 78 74 65 72 6e 20 | 6d 6c 6f 63 5f 74 20 6d |.extern |mloc_t m|
|0003a670| 6d 75 67 65 74 28 29 3b | 0a 0a 2f 2a 0a 20 2a 20 |muget();|../*. * |
|0003a680| 4c 44 54 44 45 53 43 52 | 20 69 6e 69 74 69 61 6c |LDTDESCR| initial|
|0003a690| 69 7a 65 73 20 61 6e 20 | 6c 64 74 20 65 6e 74 72 |izes an |ldt entr|
|0003a6a0| 79 0a 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 4c 44 |y. */.#d|efine LD|
|0003a6b0| 54 44 45 53 43 52 28 73 | 65 6c 2c 20 61 64 64 72 |TDESCR(s|el, addr|
|0003a6c0| 2c 20 6c 69 6d 69 74 2c | 20 61 63 63 65 73 73 29 |, limit,| access)|
|0003a6d0| 09 5c 0a 69 66 20 28 31 | 29 20 7b 09 09 09 09 09 |.\.if (1|) {.....|
|0003a6e0| 5c 0a 09 69 6e 74 20 78 | 61 63 63 20 3d 20 61 63 |\..int x|acc = ac|
|0003a6f0| 63 65 73 73 3b 09 09 09 | 5c 0a 09 66 64 65 73 63 |cess;...|\..fdesc|
|0003a700| 5f 74 20 2a 5f 70 20 3d | 20 26 6c 64 74 5b 73 65 |_t *_p =| &ldt[se|
|0003a710| 6c 2f 53 45 4c 53 5a 5d | 3b 09 09 5c 0a 09 5f 70 |l/SELSZ]|;..\.._p|
|0003a720| 2d 3e 64 5f 6c 69 6d 69 | 74 20 3d 20 6c 69 6d 69 |->d_limi|t = limi|
|0003a730| 74 3b 09 09 09 5c 0a 09 | 5f 70 2d 3e 64 5f 70 61 |t;...\..|_p->d_pa|
|0003a740| 64 64 72 20 3d 20 61 64 | 64 72 3b 09 09 09 5c 0a |ddr = ad|dr;...\.|
|0003a750| 09 5f 70 2d 3e 64 5f 61 | 63 63 20 3d 20 78 61 63 |._p->d_a|cc = xac|
|0003a760| 63 3b 09 09 09 5c 0a 7d | 20 65 6c 73 65 0a 0a 2f |c;...\.}| else../|
|0003a770| 2a 0a 20 2a 20 47 44 54 | 44 45 53 43 52 20 69 6e |*. * GDT|DESCR in|
|0003a780| 69 74 69 61 6c 69 7a 65 | 10 01 0e 02 00 81 01 02 |itialize|........|
|0003a790| 00 73 20 61 20 67 64 74 | 20 65 6e 74 72 79 0a 20 |.s a gdt| entry. |
|0003a7a0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 47 44 54 44 45 |*/.#defi|ne GDTDE|
|0003a7b0| 53 43 52 28 73 65 6c 2c | 20 61 64 64 72 2c 20 6c |SCR(sel,| addr, l|
|0003a7c0| 69 6d 69 74 2c 20 61 63 | 63 65 73 73 29 09 5c 0a |imit, ac|cess).\.|
|0003a7d0| 69 66 20 28 31 29 20 7b | 09 09 09 09 09 5c 0a 09 |if (1) {|.....\..|
|0003a7e0| 69 6e 74 20 78 61 63 63 | 20 3d 20 61 63 63 65 73 |int xacc| = acces|
|0003a7f0| 73 3b 09 09 09 5c 0a 09 | 73 74 72 75 63 74 20 64 |s;...\..|struct d|
|0003a800| 65 73 63 74 61 62 20 2a | 5f 70 20 3d 20 26 67 64 |esctab *|_p = &gd|
|0003a810| 74 5b 73 65 6c 2f 53 45 | 4c 53 5a 5d 3b 09 5c 0a |t[sel/SE|LSZ];.\.|
|0003a820| 09 5f 70 2d 3e 64 5f 6c | 69 6d 69 74 20 3d 20 6c |._p->d_l|imit = l|
|0003a830| 69 6d 69 74 3b 09 09 09 | 5c 0a 09 5f 70 2d 3e 64 |imit;...|\.._p->d|
|0003a840| 5f 70 61 64 64 72 20 3d | 20 61 64 64 72 3b 09 09 |_paddr =| addr;..|
|0003a850| 09 5c 0a 09 5f 70 2d 3e | 64 5f 61 63 63 20 3d 20 |.\.._p->|d_acc = |
|0003a860| 78 61 63 63 3b 09 09 09 | 5c 0a 7d 20 65 6c 73 65 |xacc;...|\.} else|
|0003a870| 0a 0a 23 65 6e 64 69 66 | 20 2f 2a 20 4d 5f 49 32 |..#endif| /* M_I2|
|0003a880| 38 36 20 2a 2f 0a 23 65 | 6e 64 69 66 20 2f 2a 20 |86 */.#e|ndif /* |
|0003a890| 4d 5f 49 33 38 36 20 2a | 2f 0a 7a 65 73 20 61 6e |M_I386 *|/.zes an|
|0003a8a0| 20 6c 64 74 20 65 6e 74 | 72 79 0a 20 2a 2f 0a 23 | ldt ent|ry. */.#|
|0003a8b0| 64 65 66 69 6e 65 20 4c | 44 54 44 45 53 43 52 28 |define L|DTDESCR(|
|0003a8c0| 73 65 6c 2c 20 61 64 64 | 72 2c 20 6c 69 6d 69 74 |sel, add|r, limit|
|0003a8d0| 2c 20 61 63 63 65 73 73 | 29 09 5c 0a 69 66 20 28 |, access|).\.if (|
|0003a8e0| 31 29 20 7b 09 09 09 09 | 09 5c 0a 09 69 6e 74 20 |1) {....|.\..int |
|0003a8f0| 78 61 63 63 20 3d 20 61 | 63 63 65 73 73 3b 09 09 |xacc = a|ccess;..|
|0003a900| 09 5c 0a 09 66 64 65 73 | 63 5f 74 20 2a 5f 70 20 |.\..fdes|c_t *_p |
|0003a910| 3d 20 26 6c 64 74 5b 73 | 65 6c 2f 53 45 4c 53 5a |= &ldt[s|el/SELSZ|
|0003a920| 5d 3b 09 09 5c 0a 09 5f | 70 2d 3e 64 5f 6c 69 6d |];..\.._|p->d_lim|
|0003a930| 69 74 20 3d 20 6c 69 6d | 69 74 3b 09 09 09 5c 0a |it = lim|it;...\.|
|0003a940| 09 5f 70 2d 3e 64 5f 70 | 61 64 64 72 20 3d 20 61 |._p->d_p|addr = a|
|0003a950| 64 64 72 3b 09 09 09 5c | 0a 09 5f 70 2d 3e 64 5f |ddr;...\|.._p->d_|
|0003a960| 61 63 63 20 3d 20 78 61 | 63 63 3b 09 09 09 5c 0a |acc = xa|cc;...\.|
|0003a970| 7d 20 65 6c 73 65 0a 0a | 2f 2a 0a 20 2a 20 47 44 |} else..|/*. * GD|
|0003a980| 54 44 45 53 43 52 20 69 | 6e 69 74 69 61 6c 69 7a |TDESCR i|nitializ|
|0003a990| 65 10 01 0f 02 00 f5 5d | 00 02 00 17 2e 2f 75 73 |e......]|...../us|
|0003a9a0| 72 2f 69 6e 63 6c 75 64 | 65 2f 73 79 73 2f 6d 61 |r/includ|e/sys/ma|
|0003a9b0| 70 2e 68 01 26 00 00 00 | 39 00 20 20 20 34 34 34 |p.h.&...|9. 444|
|0003a9c0| 20 00 20 20 20 20 20 30 | 20 00 20 20 20 20 20 30 | . 0| . 0|
|0003a9d0| 20 00 20 20 20 20 20 20 | 20 31 36 31 37 20 20 34 | . | 1617 4|
|0003a9e0| 32 34 34 33 34 30 32 30 | 32 20 20 31 30 31 33 37 |24434020|2 10137|
|0003a9f0| 00 20 01 b2 00 00 0f 11 | 00 c2 11 00 01 02 00 c7 |. ......|........|
|0003aa00| 01 02 00 2f 2a 0a 20 2a | 09 40 28 23 29 20 6d 61 |.../*. *|.@(#) ma|
|0003aa10| 70 2e 68 20 32 2e 31 20 | 38 38 2f 30 35 2f 31 38 |p.h 2.1 |88/05/18|
|0003aa20| 20 0a 20 2a 0a 20 2a 09 | 43 6f 70 79 72 69 67 68 | . *. *.|Copyrigh|
|0003aa30| 74 20 28 43 29 20 54 68 | 65 20 53 61 6e 74 61 20 |t (C) Th|e Santa |
|0003aa40| 43 72 75 7a 20 4f 70 65 | 72 61 74 69 6f 6e 2c 20 |Cruz Ope|ration, |
|0003aa50| 31 39 38 34 2c 20 31 39 | 38 35 2c 20 31 39 38 36 |1984, 19|85, 1986|
|0003aa60| 2c 20 31 39 38 37 2e 0a | 20 2a 09 43 6f 70 79 72 |, 1987..| *.Copyr|
|0003aa70| 69 67 68 74 20 28 43 29 | 20 4d 69 63 72 6f 73 6f |ight (C)| Microso|
|0003aa80| 66 74 20 43 6f 72 70 6f | 72 61 74 69 6f 6e 2c 20 |ft Corpo|ration, |
|0003aa90| 31 39 38 34 2c 20 31 39 | 38 35 2c 20 31 39 38 36 |1984, 19|85, 1986|
|0003aaa0| 2c 20 31 39 38 37 2e 0a | 20 2a 09 54 68 69 73 20 |, 1987..| *.This |
|0003aab0| 4d 6f 64 75 6c 65 20 63 | 6f 6e 74 61 69 6e 73 20 |Module c|ontains |
|0003aac0| 50 72 6f 70 72 69 65 74 | 61 72 79 20 49 6e 66 6f |Propriet|ary Info|
|0003aad0| 72 6d 61 74 69 6f 6e 20 | 6f 66 0a 20 2a 09 54 68 |rmation |of. *.Th|
|0003aae0| 65 20 53 61 6e 74 61 20 | 43 72 75 7a 20 4f 70 65 |e Santa |Cruz Ope|
|0003aaf0| 72 61 74 69 6f 6e 2c 20 | 4d 69 63 72 6f 73 6f 66 |ration, |Microsof|
|0003ab00| 74 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 0a 20 2a |t Corpor|ation. *|
|0003ab10| 09 61 6e 64 20 41 54 26 | 54 2c 20 61 6e 64 20 73 |.and AT&|T, and s|
|0003ab20| 68 6f 75 6c 64 20 62 65 | 20 74 72 65 61 74 65 64 |hould be| treated|
|0003ab30| 20 61 73 20 43 6f 6e 66 | 69 64 65 6e 74 69 61 6c | as Conf|idential|
|0003ab40| 2e 0a 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 54 48 49 |.. */../|*. * THI|
|0003ab50| 53 20 46 49 4c 45 20 43 | 4f 4e 54 41 49 4e 53 20 |S FILE C|ONTAINS |
|0003ab60| 43 4f 44 45 20 57 48 49 | 43 48 20 49 53 20 44 45 |CODE WHI|CH IS DE|
|0003ab70| 53 49 47 4e 45 44 20 54 | 4f 20 42 45 0a 20 2a 20 |SIGNED T|O BE. * |
|0003ab80| 50 4f 52 54 41 42 4c 45 | 20 42 45 54 57 45 45 4e |PORTABLE| BETWEEN|
|0003ab90| 20 44 49 46 46 45 52 45 | 4e 54 20 4d 41 43 48 49 | DIFFERE|NT MACHI|
|0003aba0| 4e 45 20 41 52 43 48 49 | 54 45 43 54 55 52 45 53 |NE ARCHI|TECTURES|
|0003abb0| 0a 20 2a 20 41 4e 44 20 | 43 4f 4e 46 49 47 55 52 |. * AND |CONFIGUR|
|0003abc0| 41 54 49 4f 4e 53 2e 20 | 49 54 20 53 48 4f 55 4c |ATIONS. |IT SHOUL|
|0003abd0| 44 20 4e 4f 54 20 52 45 | 51 55 49 52 45 20 41 4e |D NOT RE|QUIRE AN|
|0003abe0| 59 0a 20 2a 20 4d 4f 44 | 49 46 49 43 41 54 49 4f |Y. * MOD|IFICATIO|
|0003abf0| 4e 53 20 57 48 45 4e 20 | 41 44 41 50 54 49 4e 47 |NS WHEN |ADAPTING|
|0003ac00| 20 58 45 11 00 02 02 00 | 9d 01 02 00 4e 49 58 20 | XE.....|....NIX |
|0003ac10| 54 4f 20 4e 45 57 20 48 | 41 52 44 57 41 52 45 2e |TO NEW H|ARDWARE.|
|0003ac20| 0a 20 2a 2f 0a 0a 0a 73 | 74 72 75 63 74 20 6d 61 |. */...s|truct ma|
|0003ac30| 70 65 6e 74 0a 7b 0a 09 | 75 6e 73 69 67 6e 65 64 |pent.{..|unsigned|
|0003ac40| 20 69 6e 74 09 6d 5f 73 | 69 7a 65 3b 0a 09 75 6e | int.m_s|ize;..un|
|0003ac50| 73 69 67 6e 65 64 20 69 | 6e 74 09 6d 5f 61 64 64 |signed i|nt.m_add|
|0003ac60| 72 3b 0a 7d 3b 0a 0a 73 | 74 72 75 63 74 09 6d 61 |r;.};..s|truct.ma|
|0003ac70| 70 0a 7b 0a 09 75 6e 73 | 69 67 6e 65 64 20 69 6e |p.{..uns|igned in|
|0003ac80| 74 09 6e 77 61 69 74 69 | 6e 67 3b 09 2f 2a 20 23 |t.nwaiti|ng;./* #|
|0003ac90| 20 6f 66 20 70 72 6f 63 | 65 73 73 65 73 20 77 61 | of proc|esses wa|
|0003aca0| 69 74 69 6e 67 20 66 6f | 72 20 66 72 65 65 64 20 |iting fo|r freed |
|0003acb0| 73 70 61 63 65 20 66 72 | 6f 6d 20 74 68 69 73 20 |space fr|om this |
|0003acc0| 6d 61 70 20 2a 2f 20 0a | 09 75 6e 73 69 67 6e 65 |map */ .|.unsigne|
|0003acd0| 64 20 69 6e 74 09 6e 63 | 65 6c 6c 73 3b 09 09 2f |d int.nc|ells;../|
|0003ace0| 2a 20 6d 61 78 2e 20 6e | 75 6d 62 65 72 20 6f 66 |* max. n|umber of|
|0003acf0| 20 65 6e 74 72 69 65 73 | 20 61 6c 6c 6f 77 65 64 | entries| allowed|
|0003ad00| 20 69 6e 20 74 68 69 73 | 20 6d 61 70 20 2a 2f 20 | in this| map */ |
|0003ad10| 0a 09 73 74 72 75 63 74 | 20 6d 61 70 65 6e 74 09 |..struct| mapent.|
|0003ad20| 2a 6d 70 65 6e 74 3b 09 | 09 2f 2a 20 70 6f 69 6e |*mpent;.|./* poin|
|0003ad30| 74 65 72 20 74 6f 20 74 | 68 65 20 6d 61 70 20 65 |ter to t|he map e|
|0003ad40| 6e 74 72 69 65 73 20 2a | 2f 20 0a 7d 3b 0a 0a 23 |ntries *|/ .};..#|
|0003ad50| 69 66 6e 64 65 66 20 4d | 5f 49 33 38 36 0a 65 78 |ifndef M|_I386.ex|
|0003ad60| 74 65 72 6e 20 73 74 72 | 75 63 74 20 6d 61 70 20 |tern str|uct map |
|0003ad70| 73 77 61 70 6d 61 70 3b | 0a 23 65 6e 64 69 66 0a |swapmap;|.#endif.|
|0003ad80| 65 78 74 65 72 6e 20 73 | 74 72 75 63 74 20 6d 61 |extern s|truct ma|
|0003ad90| 70 20 63 6f 72 65 6d 61 | 70 3b 0a 49 46 46 45 52 |p corema|p;.IFFER|
|0003ada0| 45 4e 54 20 4d 41 43 48 | 49 4e 45 20 41 52 43 48 |ENT MACH|INE ARCH|
|0003adb0| 49 54 45 43 54 55 52 45 | 53 0a 20 2a 20 41 4e 44 |ITECTURE|S. * AND|
|0003adc0| 20 43 4f 4e 46 49 47 55 | 52 41 54 49 4f 4e 53 2e | CONFIGU|RATIONS.|
|0003add0| 20 49 54 20 53 48 4f 55 | 4c 44 20 4e 4f 54 20 52 | IT SHOU|LD NOT R|
|0003ade0| 45 51 55 49 52 45 20 41 | 4e 59 0a 20 2a 20 4d 4f |EQUIRE A|NY. * MO|
|0003adf0| 44 49 46 49 43 41 54 49 | 4f 4e 53 20 57 48 45 4e |DIFICATI|ONS WHEN|
|0003ae00| 20 41 44 41 50 54 49 4e | 47 20 58 45 11 00 03 02 | ADAPTIN|G XE....|
|0003ae10| 00 5a 61 00 02 00 1b 2e | 2f 75 73 72 2f 69 6e 63 |.Za.....|/usr/inc|
|0003ae20| 6c 75 64 65 2f 73 79 73 | 2f 6d 61 63 68 64 65 70 |lude/sys|/machdep|
|0003ae30| 2e 68 01 24 00 00 00 39 | 00 20 20 20 34 34 34 20 |.h.$...9|. 444 |
|0003ae40| 00 20 20 20 20 20 30 20 | 00 20 20 20 20 20 30 20 |. 0 |. 0 |
|0003ae50| 00 20 20 20 20 20 20 33 | 30 32 37 33 20 20 34 33 |. 3|0273 43|
|0003ae60| 35 30 30 32 35 33 35 35 | 20 20 31 31 30 31 32 00 |50025355| 11012.|
|0003ae70| 20 01 b2 00 00 11 00 04 | 02 00 27 01 02 00 2f 2a | .......|..'.../*|
|0003ae80| 0a 20 2a 09 40 28 23 29 | 20 6d 61 63 68 64 65 70 |. *.@(#)| machdep|
|0003ae90| 2e 68 20 32 2e 31 30 20 | 38 38 2f 31 32 2f 30 39 |.h 2.10 |88/12/09|
|0003aea0| 20 0a 20 2a 0a 20 2a 09 | 43 6f 70 79 72 69 67 68 | . *. *.|Copyrigh|
|0003aeb0| 74 20 28 43 29 20 54 68 | 65 20 53 61 6e 74 61 20 |t (C) Th|e Santa |
|0003aec0| 43 72 75 7a 20 4f 70 65 | 72 61 74 69 6f 6e 2c 20 |Cruz Ope|ration, |
|0003aed0| 31 39 38 34 2c 20 31 39 | 38 35 2c 20 31 39 38 36 |1984, 19|85, 1986|
|0003aee0| 2c 20 31 39 38 37 2c 20 | 31 39 38 38 2e 0a 20 2a |, 1987, |1988.. *|
|0003aef0| 09 43 6f 70 79 72 69 67 | 68 74 20 28 43 29 20 4d |.Copyrig|ht (C) M|
|0003af00| 69 63 72 6f 73 6f 66 74 | 20 43 6f 72 70 6f 72 61 |icrosoft| Corpora|
|0003af10| 74 69 6f 6e 2c 20 31 39 | 38 34 2c 20 31 39 38 35 |tion, 19|84, 1985|
|0003af20| 2c 20 31 39 38 36 2c 20 | 31 39 38 37 2c 20 31 39 |, 1986, |1987, 19|
|0003af30| 38 38 2e 0a 20 2a 09 54 | 68 69 73 20 4d 6f 64 75 |88.. *.T|his Modu|
|0003af40| 6c 65 20 63 6f 6e 74 61 | 69 6e 73 20 50 72 6f 70 |le conta|ins Prop|
|0003af50| 72 69 65 74 61 72 79 20 | 49 6e 66 6f 72 6d 61 74 |rietary |Informat|
|0003af60| 69 6f 6e 20 6f 66 0a 20 | 2a 09 54 68 65 20 53 61 |ion of. |*.The Sa|
|0003af70| 6e 74 61 20 43 72 75 7a | 20 4f 70 65 72 61 74 69 |nta Cruz| Operati|
|0003af80| 6f 6e 2c 20 4d 69 63 72 | 6f 73 6f 66 74 20 43 6f |on, Micr|osoft Co|
|0003af90| 72 70 6f 72 61 74 69 6f | 6e 0a 20 2a 09 61 6e 64 |rporatio|n. *.and|
|0003afa0| 20 41 54 26 54 2c 20 61 | 6e 64 20 73 68 6f 75 6c | AT&T, a|nd shoul|
|0003afb0| 64 20 62 65 20 74 72 65 | 61 74 65 64 20 61 73 20 |d be tre|ated as |
|0003afc0| 43 6f 6e 66 69 64 65 6e | 74 69 61 6c 2e 0a 20 2a |Confiden|tial.. *|
|0003afd0| 2f 0a 0a 2f 2a 0a 20 2a | 09 56 61 72 69 6f 75 73 |/../*. *|.Various|
|0003afe0| 20 6d 61 63 68 69 6e 65 | 20 64 65 70 65 6e 64 65 | machine| depende|
|0003aff0| 6e 74 20 74 68 69 6e 67 | 73 0a 20 2a 2f 0a 0a 23 |nt thing|s. */..#|
|0003b000| 69 66 6e 64 65 66 20 5f | 49 4e 4d 41 43 48 44 45 |ifndef _|INMACHDE|
|0003b010| 50 0a 23 64 65 66 69 6e | 65 20 5f 49 4e 4d 41 43 |P.#defin|e _INMAC|
|0003b020| 48 44 45 50 0a 0a 2f 2a | 20 50 43 2f 41 54 20 46 |HDEP../*| PC/AT F|
|0003b030| 6c 6f 70 70 79 20 64 69 | 73 6b 20 63 6f 6e 74 72 |loppy di|sk contr|
|0003b040| 6f 6c 20 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 46 |ol */.#|define F|
|0003b050| 4c 49 4f 43 09 09 28 27 | 46 27 3c 3c 38 29 0a 0a |LIOC..('|F'<<8)..|
|0003b060| 23 64 65 66 69 6e 65 20 | 46 4c 49 4f 43 46 54 52 |#define |FLIOCFTR|
|0003b070| 4b 09 28 46 4c 49 4f 43 | 7c 31 29 09 2f 2a 11 00 |K.(FLIOC||1)./*..|
|0003b080| 05 02 00 58 01 02 00 20 | 69 6f 63 74 6c 20 63 6f |...X... |ioctl co|
|0003b090| 6d 6d 61 6e 64 20 74 6f | 20 66 6f 72 6d 61 74 20 |mmand to| format |
|0003b0a0| 61 20 74 72 61 63 6b 20 | 2a 2f 0a 23 64 65 66 69 |a track |*/.#defi|
|0003b0b0| 6e 65 20 46 4c 49 4f 43 | 53 49 5a 45 09 28 46 4c |ne FLIOC|SIZE.(FL|
|0003b0c0| 49 4f 43 7c 32 29 09 2f | 2a 20 69 6f 63 74 6c 20 |IOC|2)./|* ioctl |
|0003b0d0| 63 6f 6d 6d 61 6e 64 20 | 74 6f 20 67 65 74 20 66 |command |to get f|
|0003b0e0| 6c 6f 70 70 79 20 73 69 | 7a 65 20 2a 2f 0a 23 64 |loppy si|ze */.#d|
|0003b0f0| 65 66 69 6e 65 20 46 4c | 49 4f 43 50 52 54 09 28 |efine FL|IOCPRT.(|
|0003b100| 46 4c 49 4f 43 7c 33 29 | 09 2f 2a 20 69 6f 63 74 |FLIOC|3)|./* ioct|
|0003b110| 6c 20 63 6f 6d 6d 61 6e | 64 20 74 6f 20 74 75 72 |l comman|d to tur|
|0003b120| 6e 20 6f 6e 2f 6f 66 66 | 20 70 72 74 66 73 20 2a |n on/off| prtfs *|
|0003b130| 2f 0a 0a 23 69 66 64 65 | 66 20 56 50 49 58 0a 23 |/..#ifde|f VPIX.#|
|0003b140| 64 65 66 69 6e 65 20 46 | 5f 52 41 57 09 09 28 46 |define F|_RAW..(F|
|0003b150| 4c 49 4f 43 7c 36 33 29 | 0a 23 64 65 66 69 6e 65 |LIOC|63)|.#define|
|0003b160| 20 46 5f 44 4f 52 09 09 | 28 46 4c 49 4f 43 7c 36 | F_DOR..|(FLIOC|6|
|0003b170| 32 29 0a 23 64 65 66 69 | 6e 65 20 46 5f 46 43 52 |2).#defi|ne F_FCR|
|0003b180| 09 09 28 46 4c 49 4f 43 | 7c 36 31 29 0a 23 64 65 |..(FLIOC||61).#de|
|0003b190| 66 69 6e 65 20 46 5f 44 | 54 59 50 09 09 28 46 4c |fine F_D|TYP..(FL|
|0003b1a0| 49 4f 43 7c 36 30 29 0a | 0a 23 64 65 66 69 6e 65 |IOC|60).|.#define|
|0003b1b0| 20 43 4d 44 5f 42 59 54 | 45 53 09 31 30 0a 0a 2f | CMD_BYT|ES.10../|
|0003b1c0| 2a 20 73 74 72 75 63 74 | 75 72 65 20 75 73 65 64 |* struct|ure used|
|0003b1d0| 20 62 79 20 46 5f 52 41 | 57 20 69 6f 63 74 6c 20 | by F_RA|W ioctl |
|0003b1e0| 63 6f 6d 6d 61 6e 64 20 | 2a 2f 0a 0a 73 74 72 75 |command |*/..stru|
|0003b1f0| 63 74 20 66 64 72 61 77 | 20 7b 0a 09 75 6e 73 69 |ct fdraw| {..unsi|
|0003b200| 67 6e 65 64 20 63 68 61 | 72 20 66 72 5f 63 6d 64 |gned cha|r fr_cmd|
|0003b210| 5b 43 4d 44 5f 42 59 54 | 45 53 5d 3b 20 20 20 20 |[CMD_BYT|ES]; |
|0003b220| 2f 2a 20 75 73 65 72 2d | 73 75 70 70 6c 69 65 64 |/* user-|supplied|
|0003b230| 20 63 6f 6d 6d 61 6e 64 | 20 62 79 74 65 73 20 2a | command| bytes *|
|0003b240| 2f 0a 09 73 68 6f 72 74 | 09 66 72 5f 63 6e 75 6d |/..short|.fr_cnum|
|0003b250| 3b 09 09 20 20 20 20 2f | 2a 20 6e 75 6d 62 65 72 |;.. /|* number|
|0003b260| 20 6f 66 20 63 6f 6d 6d | 61 6e 64 20 62 79 74 65 | of comm|and byte|
|0003b270| 73 20 2a 2f 0a 09 75 6e | 73 69 67 6e 65 64 20 63 |s */..un|signed c|
|0003b280| 68 61 72 20 66 72 5f 11 | 00 06 02 00 cd 01 02 00 |har fr_.|........|
|0003b290| 72 65 73 75 6c 74 5b 43 | 4d 44 5f 42 59 54 45 53 |result[C|MD_BYTES|
|0003b2a0| 5d 3b 20 2f 2a 20 63 6f | 6e 74 72 6f 6c 6c 65 72 |]; /* co|ntroller|
|0003b2b0| 20 72 65 73 75 6c 74 20 | 62 79 74 65 73 20 2a 2f | result |bytes */|
|0003b2c0| 0a 09 73 68 6f 72 74 09 | 66 72 5f 6e 62 79 74 65 |..short.|fr_nbyte|
|0003b2d0| 73 3b 09 09 20 20 20 20 | 2f 2a 20 6e 75 6d 62 65 |s;.. |/* numbe|
|0003b2e0| 72 20 74 6f 20 74 72 61 | 6e 73 66 65 72 20 69 66 |r to tra|nsfer if|
|0003b2f0| 20 72 2f 77 20 2a 2f 0a | 09 63 68 61 72 09 2a 66 | r/w */.|.char.*f|
|0003b300| 72 5f 61 64 64 72 3b 09 | 09 20 20 20 20 2f 2a 20 |r_addr;.|. /* |
|0003b310| 77 68 65 72 65 20 74 6f | 20 74 72 61 6e 73 66 65 |where to| transfe|
|0003b320| 72 20 2a 2f 0a 7d 3b 0a | 23 65 6e 64 69 66 0a 0a |r */.};.|#endif..|
|0003b330| 2f 2a 20 50 43 2f 41 54 | 20 46 6c 6f 70 70 79 20 |/* PC/AT| Floppy |
|0003b340| 74 61 70 65 20 63 6f 6e | 74 72 6f 6c 20 20 2a 2f |tape con|trol */|
|0003b350| 0a 23 64 65 66 69 6e 65 | 09 4d 54 49 4f 09 09 09 |.#define|.MTIO...|
|0003b360| 28 27 54 27 20 3c 3c 20 | 38 29 0a 23 64 65 66 69 |('T' << |8).#defi|
|0003b370| 6e 65 09 4d 54 54 45 4e | 53 49 4f 4e 09 09 28 4d |ne.MTTEN|SION..(M|
|0003b380| 54 49 4f 20 7c 20 31 29 | 09 2f 2a 20 74 65 6e 73 |TIO | 1)|./* tens|
|0003b390| 69 6f 6e 20 74 68 65 20 | 74 61 70 65 20 2a 2f 0a |ion the |tape */.|
|0003b3a0| 23 64 65 66 69 6e 65 09 | 4d 54 54 41 50 45 5f 53 |#define.|MTTAPE_S|
|0003b3b0| 54 41 54 55 53 09 09 28 | 4d 54 49 4f 20 7c 20 32 |TATUS..(|MTIO | 2|
|0003b3c0| 29 09 2f 2a 20 67 65 74 | 20 74 61 70 65 20 73 74 |)./* get| tape st|
|0003b3d0| 61 74 75 73 20 2a 2f 0a | 09 09 09 09 09 09 2f 2a |atus */.|....../*|
|0003b3e0| 20 28 73 65 65 20 72 65 | 74 75 72 6e 20 76 61 6c | (see re|turn val|
|0003b3f0| 75 65 73 20 62 65 6c 6f | 77 29 20 2a 2f 0a 23 64 |ues belo|w) */.#d|
|0003b400| 65 66 69 6e 65 09 4d 54 | 45 52 41 53 45 5f 53 45 |efine.MT|ERASE_SE|
|0003b410| 52 56 4f 09 09 28 4d 54 | 49 4f 20 7c 20 33 29 09 |RVO..(MT|IO | 3).|
|0003b420| 2f 2a 20 65 72 61 73 65 | 20 74 68 65 20 73 65 72 |/* erase| the ser|
|0003b430| 76 6f 20 74 72 61 63 6b | 20 2a 2f 0a 23 64 65 66 |vo track| */.#def|
|0003b440| 69 6e 65 09 4d 54 57 52 | 49 54 45 5f 53 45 52 56 |ine.MTWR|ITE_SERV|
|0003b450| 4f 09 09 28 4d 54 49 4f | 20 7c 20 34 29 09 2f 2a |O..(MTIO| | 4)./*|
|0003b460| 20 77 72 69 74 65 20 74 | 68 65 20 73 65 72 76 6f | write t|he servo|
|0003b470| 20 74 72 61 63 6b 20 2a | 2f 0a 23 64 65 66 69 6e | track *|/.#defin|
|0003b480| 65 09 4d 54 46 4f 52 4d | 41 54 5f 54 52 41 43 4b |e.MTFORM|AT_TRACK|
|0003b490| 11 00 07 02 00 b7 01 02 | 00 09 09 28 4d 54 49 4f |........|...(MTIO|
|0003b4a0| 20 7c 20 35 29 09 2f 2a | 20 66 6f 72 6d 61 74 20 | | 5)./*| format |
|0003b4b0| 6f 6e 65 20 74 61 70 65 | 20 74 72 61 63 6b 20 2a |one tape| track *|
|0003b4c0| 2f 0a 23 64 65 66 69 6e | 65 09 4d 54 42 55 49 4c |/.#defin|e.MTBUIL|
|0003b4d0| 44 5f 42 54 54 09 09 28 | 4d 54 49 4f 20 7c 20 36 |D_BTT..(|MTIO | 6|
|0003b4e0| 29 09 2f 2a 20 62 75 69 | 6c 64 20 74 68 65 20 62 |)./* bui|ld the b|
|0003b4f0| 61 64 20 62 6c 6f 63 6b | 20 74 61 62 6c 65 20 2a |ad block| table *|
|0003b500| 2f 0a 09 09 09 09 09 09 | 2f 2a 20 61 6e 64 20 72 |/.......|/* and r|
|0003b510| 65 74 75 72 6e 20 74 68 | 65 20 6e 75 6d 62 65 72 |eturn th|e number|
|0003b520| 20 6f 66 20 2a 2f 0a 09 | 09 09 09 09 09 2f 2a 20 | of */..|...../* |
|0003b530| 67 6f 6f 64 20 62 6c 6f | 63 6b 73 20 2a 2f 0a 23 |good blo|cks */.#|
|0003b540| 64 65 66 69 6e 65 09 4d | 54 43 41 52 54 5f 54 59 |define.M|TCART_TY|
|0003b550| 50 45 09 09 28 4d 54 49 | 4f 20 7c 20 37 29 09 2f |PE..(MTI|O | 7)./|
|0003b560| 2a 20 63 61 72 74 72 69 | 64 67 65 20 74 79 70 65 |* cartri|dge type|
|0003b570| 09 20 2a 2f 0a 23 64 65 | 66 69 6e 65 09 4d 54 45 |. */.#de|fine.MTE|
|0003b580| 4e 41 42 4c 45 5f 42 54 | 54 09 09 28 4d 54 49 4f |NABLE_BT|T..(MTIO|
|0003b590| 20 7c 20 38 29 09 2f 2a | 20 65 6e 61 62 6c 65 20 | | 8)./*| enable |
|0003b5a0| 62 61 64 20 74 72 61 63 | 6b 20 74 61 62 6c 65 20 |bad trac|k table |
|0003b5b0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4d 54 44 49 53 |*/.#defi|ne.MTDIS|
|0003b5c0| 41 42 4c 45 5f 42 54 54 | 09 09 28 4d 54 49 4f 20 |ABLE_BTT|..(MTIO |
|0003b5d0| 7c 20 39 29 09 2f 2a 20 | 64 69 73 61 62 6c 65 20 || 9)./* |disable |
|0003b5e0| 62 61 64 20 74 72 61 63 | 6b 20 74 61 62 6c 65 20 |bad trac|k table |
|0003b5f0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4d 54 45 4e 41 |*/.#defi|ne.MTENA|
|0003b600| 42 4c 45 5f 45 43 43 09 | 09 28 4d 54 49 4f 20 7c |BLE_ECC.|.(MTIO ||
|0003b610| 20 30 78 41 29 09 2f 2a | 20 65 6e 61 62 6c 65 20 | 0xA)./*| enable |
|0003b620| 65 63 63 09 09 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ecc.. */|.#define|
|0003b630| 09 4d 54 44 49 53 41 42 | 4c 45 5f 45 43 43 09 09 |.MTDISAB|LE_ECC..|
|0003b640| 28 4d 54 49 4f 20 7c 20 | 30 78 42 29 09 2f 2a 20 |(MTIO | |0xB)./* |
|0003b650| 64 69 73 61 62 6c 65 20 | 65 63 63 09 09 20 2a 2f |disable |ecc.. */|
|0003b660| 0a 23 64 65 66 69 6e 65 | 09 4d 54 4e 55 4d 5f 42 |.#define|.MTNUM_B|
|0003b670| 42 09 09 28 4d 54 49 4f | 20 7c 20 30 78 43 29 09 |B..(MTIO| | 0xC).|
|0003b680| 2f 2a 20 63 68 61 6e 67 | 65 20 74 68 65 20 6e 75 |/* chang|e the nu|
|0003b690| 6d 62 65 72 20 6f 66 20 | 62 11 00 08 02 00 2b 01 |mber of |b.....+.|
|0003b6a0| 02 00 75 66 73 20 2a 2f | 0a 23 64 65 66 69 6e 65 |..ufs */|.#define|
|0003b6b0| 20 4d 54 44 43 31 30 30 | 30 09 09 28 4d 54 49 4f | MTDC100|0..(MTIO|
|0003b6c0| 20 7c 20 30 78 44 29 0a | 23 64 65 66 69 6e 65 20 | | 0xD).|#define |
|0003b6d0| 4d 54 44 43 32 30 30 30 | 09 09 28 4d 54 49 4f 20 |MTDC2000|..(MTIO |
|0003b6e0| 7c 20 30 78 45 29 0a 0a | 2f 2a 20 44 72 69 76 65 || 0xE)..|/* Drive|
|0003b6f0| 20 74 79 70 65 73 3a 20 | 2a 2f 0a 0a 23 64 65 66 | types: |*/..#def|
|0003b700| 69 6e 65 09 49 52 57 49 | 4e 5f 31 31 30 09 09 35 |ine.IRWI|N_110..5|
|0003b710| 09 09 2f 2a 20 49 72 77 | 69 6e 20 31 30 20 4d 20 |../* Irw|in 10 M |
|0003b720| 74 61 70 65 20 64 72 69 | 76 65 20 2a 2f 0a 23 64 |tape dri|ve */.#d|
|0003b730| 65 66 69 6e 65 09 49 52 | 57 49 4e 5f 31 34 35 09 |efine.IR|WIN_145.|
|0003b740| 09 36 09 09 2f 2a 20 49 | 72 77 69 6e 20 34 30 20 |.6../* I|rwin 40 |
|0003b750| 4d 20 74 61 70 65 20 64 | 72 69 76 65 20 2a 2f 0a |M tape d|rive */.|
|0003b760| 23 64 65 66 69 6e 65 20 | 49 52 57 49 4e 5f 31 32 |#define |IRWIN_12|
|0003b770| 35 09 09 37 09 09 2f 2a | 20 49 72 77 69 6e 20 32 |5..7../*| Irwin 2|
|0003b780| 30 20 4d 20 74 61 70 65 | 20 64 72 69 76 65 20 2a |0 M tape| drive *|
|0003b790| 2f 0a 0a 2f 2a 20 63 61 | 72 74 72 69 64 67 65 20 |/../* ca|rtridge |
|0003b7a0| 74 61 70 65 20 69 6f 63 | 74 6c 20 63 6f 6d 6d 61 |tape ioc|tl comma|
|0003b7b0| 6e 64 73 20 2a 2f 0a 0a | 23 64 65 66 69 6e 65 09 |nds */..|#define.|
|0003b7c0| 4d 54 49 4f 43 09 09 28 | 27 6d 27 3c 3c 38 29 09 |MTIOC..(|'m'<<8).|
|0003b7d0| 2f 2a 20 69 6f 63 74 6c | 20 63 6f 64 65 20 66 6f |/* ioctl| code fo|
|0003b7e0| 72 20 74 61 70 65 20 63 | 6f 6d 6d 61 6e 64 73 20 |r tape c|ommands |
|0003b7f0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 4d 54 5f 53 54 |*/.#defi|ne.MT_ST|
|0003b800| 41 54 55 53 09 28 4d 54 | 49 4f 43 20 7c 20 30 29 |ATUS.(MT|IOC | 0)|
|0003b810| 09 2f 2a 20 72 65 61 64 | 20 74 61 70 65 20 73 74 |./* read| tape st|
|0003b820| 61 74 75 73 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |atus */.|#define.|
|0003b830| 4d 54 5f 52 45 53 45 54 | 09 28 4d 54 49 4f 43 20 |MT_RESET|.(MTIOC |
|0003b840| 7c 20 31 29 09 2f 2a 20 | 72 65 73 65 74 20 74 61 || 1)./* |reset ta|
|0003b850| 70 65 20 68 61 72 64 77 | 61 72 65 20 2a 2f 0a 23 |pe hardw|are */.#|
|0003b860| 64 65 66 69 6e 65 09 4d | 54 5f 52 45 54 45 4e 09 |define.M|T_RETEN.|
|0003b870| 28 4d 54 49 4f 43 20 7c | 20 32 29 09 2f 2a 20 72 |(MTIOC || 2)./* r|
|0003b880| 65 74 65 6e 74 69 6f 6e | 20 74 61 70 65 20 2a 2f |etention| tape */|
|0003b890| 0a 23 64 65 66 69 6e 65 | 09 4d 54 5f 52 45 57 49 |.#define|.MT_REWI|
|0003b8a0| 4e 44 11 00 09 02 00 cd | 01 02 00 09 28 4d 54 49 |ND......|....(MTI|
|0003b8b0| 4f 43 20 7c 20 33 29 09 | 2f 2a 20 72 65 77 69 6e |OC | 3).|/* rewin|
|0003b8c0| 64 20 74 61 70 65 20 2a | 2f 0a 23 64 65 66 69 6e |d tape *|/.#defin|
|0003b8d0| 65 09 4d 54 5f 45 52 41 | 53 45 09 28 4d 54 49 4f |e.MT_ERA|SE.(MTIO|
|0003b8e0| 43 20 7c 20 34 29 09 2f | 2a 20 65 72 61 73 65 20 |C | 4)./|* erase |
|0003b8f0| 74 61 70 65 20 2a 2f 0a | 23 64 65 66 69 6e 65 09 |tape */.|#define.|
|0003b900| 4d 54 5f 41 4d 4f 55 4e | 54 09 28 4d 54 49 4f 43 |MT_AMOUN|T.(MTIOC|
|0003b910| 20 7c 20 35 29 09 2f 2a | 20 72 65 70 6f 72 74 20 | | 5)./*| report |
|0003b920| 6f 6e 20 61 6d 6f 75 6e | 74 20 6f 66 20 64 61 74 |on amoun|t of dat|
|0003b930| 61 20 78 66 65 72 65 64 | 20 2a 2f 0a 23 64 65 66 |a xfered| */.#def|
|0003b940| 69 6e 65 09 4d 54 5f 52 | 46 4d 09 09 28 4d 54 49 |ine.MT_R|FM..(MTI|
|0003b950| 4f 43 20 7c 20 36 29 09 | 2f 2a 20 66 69 6e 64 20 |OC | 6).|/* find |
|0003b960| 6e 65 78 74 20 66 69 6c | 65 6d 61 72 6b 20 2a 2f |next fil|emark */|
|0003b970| 0a 23 64 65 66 69 6e 65 | 09 4d 54 5f 57 46 4d 09 |.#define|.MT_WFM.|
|0003b980| 09 28 4d 54 49 4f 43 20 | 7c 20 37 29 09 2f 2a 20 |.(MTIOC || 7)./* |
|0003b990| 77 72 69 74 65 20 66 69 | 6c 65 6d 61 72 6b 20 2a |write fi|lemark *|
|0003b9a0| 2f 0a 23 64 65 66 69 6e | 65 20 4d 54 5f 52 45 50 |/.#defin|e MT_REP|
|0003b9b0| 4f 52 54 09 28 4d 54 49 | 4f 43 20 7c 20 36 34 29 |ORT.(MTI|OC | 64)|
|0003b9c0| 09 2f 2a 20 72 65 70 6f | 72 74 20 64 65 76 69 63 |./* repo|rt devic|
|0003b9d0| 65 20 74 79 70 65 20 2a | 2f 0a 0a 2f 2a 20 64 65 |e type *|/../* de|
|0003b9e0| 76 69 63 65 20 74 79 70 | 65 73 20 72 65 74 75 72 |vice typ|es retur|
|0003b9f0| 6e 65 64 20 62 79 20 4d | 54 5f 52 45 50 4f 52 54 |ned by M|T_REPORT|
|0003ba00| 20 2a 2f 0a 0a 23 64 65 | 66 69 6e 65 20 4d 54 5f | */..#de|fine MT_|
|0003ba10| 55 4e 4b 4e 4f 57 4e 5f | 54 59 50 45 20 09 30 0a |UNKNOWN_|TYPE .0.|
|0003ba20| 23 64 65 66 69 6e 65 20 | 4d 54 5f 43 54 5f 54 59 |#define |MT_CT_TY|
|0003ba30| 50 45 09 09 31 0a 23 64 | 65 66 69 6e 65 20 4d 54 |PE..1.#d|efine MT|
|0003ba40| 5f 46 54 5f 54 59 50 45 | 09 09 32 0a 0a 2f 2a 0a |_FT_TYPE|..2../*.|
|0003ba50| 20 2a 20 73 74 72 75 63 | 74 75 72 65 20 72 65 74 | * struc|ture ret|
|0003ba60| 75 72 6e 65 64 20 66 72 | 6f 6d 20 69 6f 63 74 6c |urned fr|om ioctl|
|0003ba70| 20 4d 54 5f 53 54 41 54 | 55 53 0a 20 2a 2f 0a 0a | MT_STAT|US. */..|
|0003ba80| 75 6e 69 6f 6e 20 74 61 | 70 65 5f 73 74 61 74 75 |union ta|pe_statu|
|0003ba90| 73 20 7b 0a 20 20 73 74 | 72 75 63 74 20 7b 0a 20 |s {. st|ruct {. |
|0003baa0| 20 20 20 75 6e 73 69 67 | 6e 65 64 11 00 0a 02 00 | unsig|ned.....|
|0003bab0| e5 01 02 00 20 20 73 68 | 6f 72 74 20 66 6d 09 09 |.... sh|ort fm..|
|0003bac0| 3a 20 31 20 3b 09 09 2f | 2a 20 66 69 6c 65 20 6d |: 1 ;../|* file m|
|0003bad0| 61 72 6b 20 64 65 74 65 | 63 74 65 64 20 2a 2f 0a |ark dete|cted */.|
|0003bae0| 20 20 20 20 75 6e 73 69 | 67 6e 65 64 20 20 73 68 | unsi|gned sh|
|0003baf0| 6f 72 74 20 6e 6f 62 69 | 65 09 3a 20 31 20 3b 09 |ort nobi|e.: 1 ;.|
|0003bb00| 09 2f 2a 20 62 69 67 20 | 74 69 6d 65 20 62 6f 6f |./* big |time boo|
|0003bb10| 62 6f 6f 20 2a 2f 0a 20 | 20 20 20 75 6e 73 69 67 |boo */. | unsig|
|0003bb20| 6e 65 64 20 20 73 68 6f | 72 74 20 64 65 72 72 09 |ned sho|rt derr.|
|0003bb30| 3a 20 31 20 3b 09 09 2f | 2a 20 75 6e 72 65 63 6f |: 1 ;../|* unreco|
|0003bb40| 76 65 72 61 62 6c 65 20 | 64 61 74 61 20 65 72 72 |verable |data err|
|0003bb50| 6f 72 20 2a 2f 0a 20 20 | 20 20 75 6e 73 69 67 6e |or */. | unsign|
|0003bb60| 65 64 20 20 73 68 6f 72 | 74 20 65 6f 74 09 09 3a |ed shor|t eot..:|
|0003bb70| 20 31 20 3b 09 09 2f 2a | 20 65 6e 64 20 6f 66 20 | 1 ;../*| end of |
|0003bb80| 74 61 70 65 20 2a 2f 0a | 20 20 20 20 75 6e 73 69 |tape */.| unsi|
|0003bb90| 67 6e 65 64 20 20 73 68 | 6f 72 74 20 77 70 72 6f |gned sh|ort wpro|
|0003bba0| 74 09 3a 20 31 20 3b 09 | 09 2f 2a 20 77 72 69 74 |t.: 1 ;.|./* writ|
|0003bbb0| 65 20 70 72 6f 74 65 63 | 74 65 64 20 63 61 72 74 |e protec|ted cart|
|0003bbc0| 72 69 64 67 65 20 2a 2f | 0a 20 20 20 20 75 6e 73 |ridge */|. uns|
|0003bbd0| 69 67 6e 65 64 20 20 73 | 68 6f 72 74 20 6f 66 66 |igned s|hort off|
|0003bbe0| 6c 6e 09 3a 20 31 20 3b | 09 09 2f 2a 20 64 72 69 |ln.: 1 ;|../* dri|
|0003bbf0| 76 65 20 6f 66 66 20 6c | 69 6e 65 20 2a 2f 0a 20 |ve off l|ine */. |
|0003bc00| 20 20 20 75 6e 73 69 67 | 6e 65 64 20 20 73 68 6f | unsig|ned sho|
|0003bc10| 72 74 20 6e 6f 63 61 72 | 74 09 3a 20 31 20 3b 09 |rt nocar|t.: 1 ;.|
|0003bc20| 09 2f 2a 20 6e 6f 20 63 | 61 72 74 72 69 64 67 65 |./* no c|artridge|
|0003bc30| 20 69 6e 20 64 72 69 76 | 65 20 2a 2f 0a 20 20 20 | in driv|e */. |
|0003bc40| 20 75 6e 73 69 67 6e 65 | 64 20 20 73 68 6f 72 74 | unsigne|d short|
|0003bc50| 20 65 62 30 09 09 3a 20 | 31 20 3b 09 09 2f 2a 20 | eb0..: |1 ;../* |
|0003bc60| 65 78 63 65 70 74 69 6f | 6e 20 62 79 74 65 20 30 |exceptio|n byte 0|
|0003bc70| 20 76 61 6c 69 64 20 2a | 2f 0a 0a 20 20 20 20 75 | valid *|/.. u|
|0003bc80| 6e 73 69 67 6e 65 64 20 | 20 73 68 6f 72 74 20 72 |nsigned | short r|
|0003bc90| 65 73 65 74 09 3a 20 31 | 20 3b 09 09 2f 2a 20 72 |eset.: 1| ;../* r|
|0003bca0| 65 73 65 74 2f 70 6f 77 | 65 72 20 75 70 20 6f 63 |eset/pow|er up oc|
|0003bcb0| 63 75 72 65 11 00 0b 02 | 00 01 01 02 00 64 20 2a |cure....|.....d *|
|0003bcc0| 2f 0a 20 20 20 20 75 6e | 73 69 67 6e 65 64 20 20 |/. un|signed |
|0003bcd0| 73 68 6f 72 74 20 72 65 | 73 65 72 76 65 64 09 3a |short re|served.:|
|0003bce0| 20 32 20 3b 0a 20 20 20 | 20 75 6e 73 69 67 6e 65 | 2 ;. | unsigne|
|0003bcf0| 64 20 20 73 68 6f 72 74 | 20 62 6f 74 09 09 3a 20 |d short| bot..: |
|0003bd00| 31 20 3b 09 09 2f 2a 20 | 62 65 67 69 6e 6e 69 6e |1 ;../* |beginnin|
|0003bd10| 67 20 6f 66 20 74 61 70 | 65 20 2a 2f 0a 20 20 20 |g of tap|e */. |
|0003bd20| 20 75 6e 73 69 67 6e 65 | 64 20 20 73 68 6f 72 74 | unsigne|d short|
|0003bd30| 20 72 65 74 72 79 09 3a | 20 31 20 3b 09 09 2f 2a | retry.:| 1 ;../*|
|0003bd40| 20 38 20 6f 72 20 6d 6f | 72 65 20 72 65 61 64 20 | 8 or mo|re read |
|0003bd50| 72 65 74 72 79 73 20 2a | 2f 0a 20 20 20 20 75 6e |retrys *|/. un|
|0003bd60| 73 69 67 6e 65 64 20 20 | 73 68 6f 72 74 20 6e 6f |signed |short no|
|0003bd70| 64 61 74 61 09 3a 20 31 | 20 3b 09 09 2f 2a 20 6e |data.: 1| ;../* n|
|0003bd80| 6f 20 64 61 74 61 20 64 | 65 74 65 63 74 65 64 20 |o data d|etected |
|0003bd90| 2a 2f 0a 20 20 20 20 75 | 6e 73 69 67 6e 65 64 20 |*/. u|nsigned |
|0003bda0| 20 73 68 6f 72 74 20 69 | 6c 6c 63 6d 64 09 3a 20 | short i|llcmd.: |
|0003bdb0| 31 20 3b 09 09 2f 2a 20 | 69 6c 6c 65 67 61 6c 20 |1 ;../* |illegal |
|0003bdc0| 63 6f 6d 6d 61 6e 64 20 | 2a 2f 0a 20 20 20 20 75 |command |*/. u|
|0003bdd0| 6e 73 69 67 6e 65 64 20 | 20 73 68 6f 72 74 20 65 |nsigned | short e|
|0003bde0| 62 31 09 09 3a 20 31 20 | 3b 09 09 2f 2a 20 65 78 |b1..: 1 |;../* ex|
|0003bdf0| 63 65 70 74 69 6f 6e 20 | 62 79 74 65 20 31 20 76 |ception |byte 1 v|
|0003be00| 61 6c 69 64 20 2a 2f 0a | 0a 20 20 20 20 75 6e 73 |alid */.|. uns|
|0003be10| 69 67 6e 65 64 20 20 73 | 68 6f 72 74 20 73 66 74 |igned s|hort sft|
|0003be20| 65 72 72 3b 09 09 2f 2a | 20 62 6c 6f 63 6b 73 20 |err;../*| blocks |
|0003be30| 72 65 2d 77 72 69 74 74 | 65 6e 20 2f 20 73 6f 66 |re-writt|en / sof|
|0003be40| 74 20 65 72 72 6f 72 73 | 20 2a 2f 0a 20 20 20 20 |t errors| */. |
|0003be50| 75 6e 73 69 67 6e 65 64 | 20 20 73 68 6f 72 74 20 |unsigned| short |
|0003be60| 75 6e 64 72 75 6e 3b 09 | 09 2f 2a 20 6e 75 6d 62 |undrun;.|./* numb|
|0003be70| 65 72 20 6f 66 20 75 6e | 64 65 72 72 75 6e 73 20 |er of un|derruns |
|0003be80| 2a 2f 0a 20 20 7d 20 73 | 74 61 74 75 73 20 3b 09 |*/. } s|tatus ;.|
|0003be90| 09 09 09 2f 2a 20 72 65 | 61 64 20 73 74 61 74 75 |.../* re|ad statu|
|0003bea0| 73 27 20 64 61 74 61 20 | 67 6f 65 73 20 68 65 72 |s' data |goes her|
|0003beb0| 65 20 2a 2f 0a 20 20 75 | 6e 73 69 67 6e 11 00 0c |e */. u|nsign...|
|0003bec0| 02 00 51 01 02 00 65 64 | 20 63 68 61 72 20 73 74 |..Q...ed| char st|
|0003bed0| 61 74 5b 36 5d 20 3b 0a | 7d 20 3b 0a 0a 2f 2a 20 |at[6] ;.|} ;../* |
|0003bee0| 4d 61 67 6e 65 74 69 63 | 20 74 61 70 65 2c 20 72 |Magnetic| tape, r|
|0003bef0| 65 74 75 72 6e 20 76 61 | 6c 75 65 73 20 66 72 6f |eturn va|lues fro|
|0003bf00| 6d 20 4d 54 54 41 50 45 | 5f 53 54 41 54 55 53 20 |m MTTAPE|_STATUS |
|0003bf10| 69 6f 63 74 6c 20 63 61 | 6c 6c 3a 20 2a 2f 0a 23 |ioctl ca|ll: */.#|
|0003bf20| 64 65 66 69 6e 65 09 4d | 54 58 45 4e 49 58 5f 54 |define.M|TXENIX_T|
|0003bf30| 41 50 45 09 09 28 4d 54 | 49 4f 20 7c 20 33 32 29 |APE..(MT|IO | 32)|
|0003bf40| 09 2f 2a 20 58 45 4e 49 | 58 20 66 6f 72 6d 61 74 |./* XENI|X format|
|0003bf50| 74 65 64 20 74 61 70 65 | 20 2a 2f 0a 23 64 65 66 |ted tape| */.#def|
|0003bf60| 69 6e 65 09 4d 54 4e 4f | 54 5f 58 45 4e 49 58 5f |ine.MTNO|T_XENIX_|
|0003bf70| 54 41 50 45 09 28 4d 54 | 49 4f 20 7c 20 33 33 29 |TAPE.(MT|IO | 33)|
|0003bf80| 09 2f 2a 20 66 6f 72 6d | 61 74 74 65 64 20 74 61 |./* form|atted ta|
|0003bf90| 70 65 2c 20 6e 6f 74 20 | 2a 2f 0a 09 09 09 09 09 |pe, not |*/......|
|0003bfa0| 09 2f 2a 20 58 45 4e 49 | 58 20 66 6f 72 6d 61 74 |./* XENI|X format|
|0003bfb0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 09 4d 54 4e 4f | */.#def|ine.MTNO|
|0003bfc0| 5f 53 45 52 56 4f 09 09 | 28 4d 54 49 4f 20 7c 20 |_SERVO..|(MTIO | |
|0003bfd0| 33 34 29 09 2f 2a 20 6e | 6f 20 73 65 72 76 6f 20 |34)./* n|o servo |
|0003bfe0| 74 72 61 63 6b 20 6f 6e | 20 74 61 70 65 20 2a 2f |track on| tape */|
|0003bff0| 0a 23 64 65 66 69 6e 65 | 09 4d 54 4e 4f 54 5f 46 |.#define|.MTNOT_F|
|0003c000| 4f 52 4d 41 54 54 45 44 | 09 09 28 4d 54 49 4f 20 |ORMATTED|..(MTIO |
|0003c010| 7c 20 33 35 29 09 2f 2a | 20 73 65 72 76 6f 20 74 || 35)./*| servo t|
|0003c020| 72 61 63 6b 20 6f 6e 20 | 74 61 70 65 2c 20 2a 2f |rack on |tape, */|
|0003c030| 0a 0a 2f 2a 20 56 50 49 | 58 20 73 65 72 69 61 6c |../* VPI|X serial|
|0003c040| 20 69 6f 63 74 6c 73 20 | 2a 2f 0a 0a 23 69 66 64 | ioctls |*/..#ifd|
|0003c050| 65 66 20 56 50 49 58 0a | 0a 23 64 65 66 69 6e 65 |ef VPIX.|.#define|
|0003c060| 20 41 49 4f 43 20 20 20 | 20 28 27 41 27 3c 3c 38 | AIOC | ('A'<<8|
|0003c070| 29 0a 23 64 65 66 69 6e | 65 20 41 49 4f 43 49 4e |).#defin|e AIOCIN|
|0003c080| 54 54 59 50 45 20 20 20 | 20 20 28 41 49 4f 43 7c |TTYPE | (AIOC||
|0003c090| 36 30 29 20 20 20 20 20 | 20 20 20 2f 2a 20 73 65 |60) | /* se|
|0003c0a0| 74 20 70 73 65 75 64 6f | 72 75 70 74 20 70 65 72 |t pseudo|rupt per|
|0003c0b0| 73 6f 6e 61 6c 69 74 79 | 20 2a 2f 0a 23 64 65 66 |sonality| */.#def|
|0003c0c0| 69 6e 65 20 41 49 11 00 | 0d 02 00 ec f5 01 02 00 |ine AI..|........|
|0003c0d0| 17 4f 43 44 4f 53 4d 4f | 44 45 20 20 20 20 20 28 |.OCDOSMO|DE (|
|0003c0e0| 41 49 4f 43 7c 36 31 29 | 01 04 20 20 00 33 2f 2a |AIOC|61)|.. .3/*|
|0003c0f0| 20 73 65 74 20 44 4f 53 | 4d 4f 44 45 20 2a 2f 0a | set DOS|MODE */.|
|0003c100| 23 64 65 66 69 6e 65 20 | 41 49 4f 43 4e 4f 4e 44 |#define |AIOCNOND|
|0003c110| 4f 53 4d 4f 44 45 20 20 | 28 41 49 4f 43 7c 36 32 |OSMODE |(AIOC|62|
|0003c120| 29 01 04 20 20 00 35 2f | 2a 20 72 65 73 65 74 20 |).. .5/|* reset |
|0003c130| 44 4f 53 4d 4f 44 45 20 | 2a 2f 0a 23 64 65 66 69 |DOSMODE |*/.#defi|
|0003c140| 6e 65 20 41 49 4f 43 53 | 45 52 49 41 4c 4f 55 54 |ne AIOCS|ERIALOUT|
|0003c150| 20 20 20 28 41 49 4f 43 | 7c 36 33 29 01 04 20 20 | (AIOC||63).. |
|0003c160| 00 40 2f 2a 20 73 65 72 | 69 61 6c 20 64 65 76 69 |.@/* ser|ial devi|
|0003c170| 63 65 20 64 61 74 61 20 | 77 72 69 74 65 20 2a 2f |ce data |write */|
|0003c180| 0a 23 64 65 66 69 6e 65 | 20 41 49 4f 43 53 45 52 |.#define| AIOCSER|
|0003c190| 49 41 4c 49 4e 20 20 20 | 20 28 41 49 4f 43 7c 36 |IALIN | (AIOC|6|
|0003c1a0| 34 29 01 04 20 20 00 3f | 2f 2a 20 73 65 72 69 61 |4).. .?|/* seria|
|0003c1b0| 6c 20 64 65 76 69 63 65 | 20 64 61 74 61 20 72 65 |l device| data re|
|0003c1c0| 61 64 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 41 49 |ad */.#d|efine AI|
|0003c1d0| 4f 43 53 45 54 53 53 20 | 20 20 20 20 20 20 28 41 |OCSETSS | (A|
|0003c1e0| 49 4f 43 7c 36 35 29 01 | 04 20 20 00 2b 2f 2a 20 |IOC|65).|. .+/* |
|0003c1f0| 73 65 74 20 73 74 61 72 | 74 2f 73 74 6f 70 20 63 |set star|t/stop c|
|0003c200| 68 61 72 73 20 2a 2f 0a | 23 64 65 66 69 6e 65 20 |hars */.|#define |
|0003c210| 41 49 4f 43 49 4e 46 4f | 01 04 20 20 00 09 28 41 |AIOCINFO|.. ..(A|
|0003c220| 49 4f 43 7c 36 36 29 01 | 04 20 20 00 96 2f 2a 20 |IOC|66).|. ../* |
|0003c230| 74 65 6c 6c 20 75 73 65 | 72 20 77 68 61 74 20 64 |tell use|r what d|
|0003c240| 65 76 69 63 65 20 77 65 | 20 61 72 65 20 2a 2f 0a |evice we| are */.|
|0003c250| 0a 2f 2a 20 49 6f 63 74 | 6c 20 61 6c 74 65 72 6e |./* Ioct|l altern|
|0003c260| 61 74 65 20 6e 61 6d 65 | 73 20 66 6f 72 20 75 73 |ate name|s for us|
|0003c270| 65 20 62 79 20 76 70 63 | 20 2a 2f 0a 0a 23 64 65 |e by vpc| */..#de|
|0003c280| 66 69 6e 65 20 56 50 43 | 5f 53 45 52 49 41 4c 5f |fine VPC|_SERIAL_|
|0003c290| 44 4f 53 20 20 20 20 41 | 49 4f 43 44 4f 53 4d 4f |DOS A|IOCDOSMO|
|0003c2a0| 44 45 0a 23 64 65 66 69 | 6e 65 20 56 50 43 5f 53 |DE.#defi|ne VPC_S|
|0003c2b0| 45 52 49 41 4c 5f 4e 4f | 4e 44 4f 53 20 41 49 4f |ERIAL_NO|NDOS AIO|
|0003c2c0| 43 4e 4f 11 00 0e 02 00 | 34 01 02 00 4e 44 4f 53 |CNO.....|4...NDOS|
|0003c2d0| 4d 4f 44 45 0a 23 64 65 | 66 69 6e 65 20 56 50 43 |MODE.#de|fine VPC|
|0003c2e0| 5f 53 45 52 49 41 4c 5f | 49 4e 46 4f 20 20 20 41 |_SERIAL_|INFO A|
|0003c2f0| 49 4f 43 49 4e 46 4f 0a | 23 64 65 66 69 6e 65 20 |IOCINFO.|#define |
|0003c300| 56 50 43 5f 53 45 52 49 | 41 4c 5f 4f 55 54 20 20 |VPC_SERI|AL_OUT |
|0003c310| 20 20 41 49 4f 43 53 45 | 52 49 41 4c 4f 55 54 0a | AIOCSE|RIALOUT.|
|0003c320| 23 64 65 66 69 6e 65 20 | 56 50 43 5f 53 45 52 49 |#define |VPC_SERI|
|0003c330| 41 4c 5f 49 4e 20 20 20 | 20 20 41 49 4f 43 53 45 |AL_IN | AIOCSE|
|0003c340| 52 49 41 4c 49 4e 0a 0a | 23 65 6e 64 69 66 20 2f |RIALIN..|#endif /|
|0003c350| 2a 20 56 50 49 58 20 2a | 2f 0a 0a 2f 2a 20 50 43 |* VPIX *|/../* PC|
|0003c360| 2f 41 54 20 43 67 61 20 | 61 64 61 70 74 65 72 20 |/AT Cga |adapter |
|0003c370| 63 6f 6e 74 72 6f 6c 20 | 2a 2f 0a 23 64 65 66 69 |control |*/.#defi|
|0003c380| 6e 65 09 43 47 41 49 4f | 43 09 28 27 43 27 20 3c |ne.CGAIO|C.('C' <|
|0003c390| 3c 20 38 29 09 0a 23 64 | 65 66 69 6e 65 09 43 47 |< 8)..#d|efine.CG|
|0003c3a0| 41 4d 4f 44 45 20 28 43 | 47 41 49 4f 43 20 7c 20 |AMODE (C|GAIOC | |
|0003c3b0| 31 29 09 09 2f 2a 20 63 | 68 61 6e 67 65 20 63 67 |1)../* c|hange cg|
|0003c3c0| 61 20 6d 6f 64 65 20 2a | 2f 0a 23 64 65 66 69 6e |a mode *|/.#defin|
|0003c3d0| 65 20 43 47 41 49 4f 09 | 28 43 47 41 49 4f 43 20 |e CGAIO.|(CGAIOC |
|0003c3e0| 7c 20 32 29 09 09 2f 2a | 20 64 6f 20 69 6e 62 2f || 2)../*| do inb/|
|0003c3f0| 6f 75 74 62 20 6f 6e 20 | 63 67 61 20 70 6f 72 74 |outb on |cga port|
|0003c400| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 43 47 41 5f | */.#def|ine CGA_|
|0003c410| 47 45 54 20 28 43 47 41 | 49 4f 43 20 7c 20 33 29 |GET (CGA|IOC | 3)|
|0003c420| 09 09 2f 2a 20 67 65 74 | 20 63 67 61 20 6d 6f 64 |../* get| cga mod|
|0003c430| 65 20 73 65 74 74 69 6e | 67 20 2a 2f 0a 0a 23 64 |e settin|g */..#d|
|0003c440| 65 66 69 6e 65 20 43 50 | 51 56 44 55 4d 4f 44 45 |efine CP|QVDUMODE|
|0003c450| 30 09 28 43 47 41 49 4f | 43 7c 37 32 29 09 2f 2a |0.(CGAIO|C|72)./*|
|0003c460| 20 63 6f 6d 70 61 71 20 | 44 75 61 6c 20 6d 6f 64 | compaq |Dual mod|
|0003c470| 65 20 6c 6f 77 20 72 65 | 73 20 2a 2f 0a 23 64 65 |e low re|s */.#de|
|0003c480| 66 69 6e 65 20 43 50 51 | 56 44 55 4d 4f 44 45 31 |fine CPQ|VDUMODE1|
|0003c490| 09 28 43 47 41 49 4f 43 | 7c 37 33 29 09 2f 2a 20 |.(CGAIOC||73)./* |
|0003c4a0| 63 6f 6d 70 61 71 20 44 | 75 61 6c 20 6d 6f 64 65 |compaq D|ual mode|
|0003c4b0| 20 68 69 67 68 20 72 65 | 73 20 2a 2f 0a 0a 2f 2a | high re|s */../*|
|0003c4c0| 20 50 43 2f 41 54 20 50 | 67 61 20 61 11 00 0f 02 | PC/AT P|ga a....|
|0003c4d0| 00 da 01 02 00 64 61 70 | 74 65 72 20 63 6f 6e 74 |.....dap|ter cont|
|0003c4e0| 72 6f 6c 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 50 |rol */.#|define P|
|0003c4f0| 47 41 49 4f 43 09 28 27 | 50 27 20 3c 3c 20 38 29 |GAIOC.('|P' << 8)|
|0003c500| 0a 23 64 65 66 69 6e 65 | 20 50 47 41 4d 4f 44 45 |.#define| PGAMODE|
|0003c510| 20 28 50 47 41 49 4f 43 | 20 7c 20 31 29 09 09 2f | (PGAIOC| | 1)../|
|0003c520| 2a 20 63 68 61 6e 67 65 | 20 70 67 61 20 6d 6f 64 |* change| pga mod|
|0003c530| 65 20 2a 2f 0a 23 64 65 | 66 69 6e 65 20 50 47 41 |e */.#de|fine PGA|
|0003c540| 49 4f 09 28 50 47 41 49 | 4f 43 20 7c 20 32 29 09 |IO.(PGAI|OC | 2).|
|0003c550| 09 2f 2a 20 64 6f 20 69 | 6e 62 2f 6f 75 74 62 20 |./* do i|nb/outb |
|0003c560| 6f 6e 20 70 67 61 20 70 | 6f 72 74 20 2a 2f 0a 23 |on pga p|ort */.#|
|0003c570| 64 65 66 69 6e 65 20 50 | 47 41 5f 47 45 54 20 28 |define P|GA_GET (|
|0003c580| 50 47 41 49 4f 43 20 7c | 20 33 29 09 09 2f 2a 20 |PGAIOC || 3)../* |
|0003c590| 67 65 74 20 70 67 61 20 | 6d 6f 64 65 20 73 65 74 |get pga |mode set|
|0003c5a0| 74 69 6e 67 20 2a 2f 0a | 0a 2f 2a 20 50 43 2f 41 |ting */.|./* PC/A|
|0003c5b0| 54 20 45 67 61 20 61 64 | 61 70 74 65 72 20 63 6f |T Ega ad|apter co|
|0003c5c0| 6e 74 72 6f 6c 20 2a 2f | 0a 23 64 65 66 69 6e 65 |ntrol */|.#define|
|0003c5d0| 20 45 47 41 49 4f 43 09 | 28 27 45 27 20 3c 3c 20 | EGAIOC.|('E' << |
|0003c5e0| 38 29 0a 23 64 65 66 69 | 6e 65 20 45 47 41 4d 4f |8).#defi|ne EGAMO|
|0003c5f0| 44 45 20 28 45 47 41 49 | 4f 43 20 7c 20 31 29 09 |DE (EGAI|OC | 1).|
|0003c600| 09 2f 2a 20 63 68 61 6e | 67 65 20 65 67 61 20 6d |./* chan|ge ega m|
|0003c610| 6f 64 65 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 45 |ode */.#|define E|
|0003c620| 47 41 49 4f 09 28 45 47 | 41 49 4f 43 20 7c 20 32 |GAIO.(EG|AIOC | 2|
|0003c630| 29 09 09 2f 2a 20 64 6f | 20 69 6e 62 2f 6f 75 74 |)../* do| inb/out|
|0003c640| 62 20 6f 6e 20 65 67 61 | 20 70 6f 72 74 20 2a 2f |b on ega| port */|
|0003c650| 0a 23 64 65 66 69 6e 65 | 20 45 47 41 5f 47 45 54 |.#define| EGA_GET|
|0003c660| 20 28 45 47 41 49 4f 43 | 20 7c 20 33 29 09 09 2f | (EGAIOC| | 3)../|
|0003c670| 2a 20 67 65 74 20 65 67 | 61 20 6d 6f 64 65 20 73 |* get eg|a mode s|
|0003c680| 65 74 74 69 6e 67 20 2a | 2f 0a 23 64 65 66 69 6e |etting *|/.#defin|
|0003c690| 65 20 45 47 41 5f 49 4f | 50 52 49 56 4c 20 28 45 |e EGA_IO|PRIVL (E|
|0003c6a0| 47 41 49 4f 43 20 7c 20 | 34 29 09 2f 2a 20 67 65 |GAIOC | |4)./* ge|
|0003c6b0| 74 20 69 6e 2f 6f 75 74 | 20 70 72 69 76 69 6c 65 |t in/out| privile|
|0003c6c0| 67 65 20 66 6f 72 20 65 | 67 61 20 70 6f 72 74 73 |ge for e|ga ports|
|0003c6d0| 20 2a 2f 0a 0a 0f 11 01 | 55 11 01 01 02 00 13 01 | */.....|U.......|
|0003c6e0| 02 00 2f 2a 20 50 43 2f | 41 54 20 56 67 61 20 61 |../* PC/|AT Vga a|
|0003c6f0| 64 61 70 74 65 72 20 63 | 6f 6e 74 72 6f 6c 20 2a |dapter c|ontrol *|
|0003c700| 2f 0a 23 64 65 66 69 6e | 65 20 56 47 41 49 4f 43 |/.#defin|e VGAIOC|
|0003c710| 09 28 27 45 27 20 3c 3c | 20 38 29 0a 23 64 65 66 |.('E' <<| 8).#def|
|0003c720| 69 6e 65 20 56 47 41 4d | 4f 44 45 20 28 56 47 41 |ine VGAM|ODE (VGA|
|0003c730| 49 4f 43 20 7c 20 36 35 | 29 09 09 2f 2a 20 63 68 |IOC | 65|)../* ch|
|0003c740| 61 6e 67 65 20 76 67 61 | 20 6d 6f 64 65 20 2a 2f |ange vga| mode */|
|0003c750| 0a 23 64 65 66 69 6e 65 | 20 56 47 41 49 4f 09 28 |.#define| VGAIO.(|
|0003c760| 56 47 41 49 4f 43 20 7c | 20 36 36 29 09 09 2f 2a |VGAIOC || 66)../*|
|0003c770| 20 64 6f 20 69 6e 62 2f | 6f 75 74 62 20 6f 6e 20 | do inb/|outb on |
|0003c780| 76 67 61 20 70 6f 72 74 | 20 2a 2f 0a 23 64 65 66 |vga port| */.#def|
|0003c790| 69 6e 65 20 56 47 41 5f | 47 45 54 20 28 56 47 41 |ine VGA_|GET (VGA|
|0003c7a0| 49 4f 43 20 7c 20 36 37 | 29 09 09 2f 2a 20 67 65 |IOC | 67|)../* ge|
|0003c7b0| 74 20 76 67 61 20 6d 6f | 64 65 20 73 65 74 74 69 |t vga mo|de setti|
|0003c7c0| 6e 67 20 2a 2f 0a 23 64 | 65 66 69 6e 65 20 56 47 |ng */.#d|efine VG|
|0003c7d0| 41 5f 49 4f 50 52 49 56 | 4c 20 28 56 47 41 49 4f |A_IOPRIV|L (VGAIO|
|0003c7e0| 43 20 7c 20 36 38 29 09 | 2f 2a 20 67 65 74 20 69 |C | 68).|/* get i|
|0003c7f0| 6e 2f 6f 75 74 20 70 72 | 69 76 69 6c 65 67 65 20 |n/out pr|ivilege |
|0003c800| 66 6f 72 20 76 67 61 20 | 70 6f 72 74 73 20 2a 2f |for vga |ports */|
|0003c810| 0a 0a 2f 2a 20 50 43 2f | 41 54 20 4d 63 61 20 61 |../* PC/|AT Mca a|
|0003c820| 64 61 70 74 65 72 20 63 | 6f 6e 74 72 6f 6c 20 2a |dapter c|ontrol *|
|0003c830| 2f 0a 23 64 65 66 69 6e | 65 20 4d 43 41 49 4f 43 |/.#defin|e MCAIOC|
|0003c840| 09 28 27 4d 27 20 3c 3c | 20 38 29 0a 23 64 65 66 |.('M' <<| 8).#def|
|0003c850| 69 6e 65 20 4d 43 41 4d | 4f 44 45 09 28 4d 43 41 |ine MCAM|ODE.(MCA|
|0003c860| 49 4f 43 20 7c 20 31 29 | 09 09 2f 2a 20 63 68 61 |IOC | 1)|../* cha|
|0003c870| 6e 67 65 20 6d 63 61 20 | 6d 6f 64 65 20 2a 2f 0a |nge mca |mode */.|
|0003c880| 23 64 65 66 69 6e 65 20 | 4d 43 41 49 4f 09 28 4d |#define |MCAIO.(M|
|0003c890| 43 41 49 4f 43 20 7c 20 | 32 29 09 09 2f 2a 20 64 |CAIOC | |2)../* d|
|0003c8a0| 6f 20 69 6e 62 2f 6f 75 | 74 62 20 6f 6e 20 6d 63 |o inb/ou|tb on mc|
|0003c8b0| 61 20 70 6f 72 74 20 2a | 2f 0a 23 64 65 66 69 6e |a port *|/.#defin|
|0003c8c0| 65 20 4d 43 41 5f 47 45 | 54 20 28 4d 43 41 49 4f |e MCA_GE|T (MCAIO|
|0003c8d0| 43 20 7c 20 33 29 09 09 | 2f 2a 20 67 65 74 20 6d |C | 3)..|/* get m|
|0003c8e0| 63 61 11 01 02 02 00 b7 | 01 02 00 20 6d 6f 64 65 |ca......|... mode|
|0003c8f0| 20 73 65 74 74 69 6e 67 | 20 2a 2f 0a 0a 2f 2a 20 | setting| */../* |
|0003c900| 48 65 72 63 75 6c 65 73 | 20 73 75 70 70 6f 72 74 |Hercules| support|
|0003c910| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 53 57 5f 48 | */.#def|ine SW_H|
|0003c920| 47 43 5f 50 30 20 20 28 | 4d 4f 44 45 53 57 49 54 |GC_P0 (|MODESWIT|
|0003c930| 43 48 20 7c 20 4d 5f 48 | 47 43 5f 50 30 29 0a 23 |CH | M_H|GC_P0).#|
|0003c940| 64 65 66 69 6e 65 20 53 | 57 5f 48 47 43 5f 50 31 |define S|W_HGC_P1|
|0003c950| 20 20 28 4d 4f 44 45 53 | 57 49 54 43 48 20 7c 20 | (MODES|WITCH | |
|0003c960| 4d 5f 48 47 43 5f 50 31 | 29 0a 0a 2f 2a 20 43 6f |M_HGC_P1|)../* Co|
|0003c970| 6d 6d 6f 6e 20 50 43 2f | 41 54 20 61 64 61 70 74 |mmon PC/|AT adapt|
|0003c980| 65 72 20 63 6f 6e 74 72 | 6f 6c 20 2a 2f 0a 0a 23 |er contr|ol */..#|
|0003c990| 69 6e 63 6c 75 64 65 20 | 22 63 6f 6d 63 72 74 2e |include |"comcrt.|
|0003c9a0| 68 22 0a 0a 2f 2a 20 44 | 65 66 69 6e 65 73 20 66 |h"../* D|efines f|
|0003c9b0| 6f 72 20 63 6f 6e 73 6f | 6c 65 2d 73 77 69 74 63 |or conso|le-switc|
|0003c9c0| 68 69 6e 67 20 69 6f 63 | 74 6c 20 2d 2d 20 4d 4f |hing ioc|tl -- MO|
|0003c9d0| 4e 4f 2c 20 43 47 41 2c | 20 50 47 41 2c 20 61 6e |NO, CGA,| PGA, an|
|0003c9e0| 64 20 45 47 41 20 2a 2f | 0a 2f 2a 20 64 65 66 69 |d EGA */|./* defi|
|0003c9f0| 6e 69 74 69 6f 6e 73 20 | 61 72 65 20 69 6e 20 63 |nitions |are in c|
|0003ca00| 6f 6d 63 72 74 2e 68 20 | 20 09 09 09 09 20 20 2a |omcrt.h | .... *|
|0003ca10| 2f 09 0a 23 64 65 66 69 | 6e 65 20 53 57 41 50 43 |/..#defi|ne SWAPC|
|0003ca20| 4f 4e 53 20 28 27 73 27 | 20 3c 3c 20 38 29 0a 23 |ONS ('s'| << 8).#|
|0003ca30| 64 65 66 69 6e 65 20 53 | 57 41 50 4d 4f 4e 4f 20 |define S|WAPMONO |
|0003ca40| 28 53 57 41 50 43 4f 4e | 53 20 7c 20 4d 4f 4e 4f |(SWAPCON|S | MONO|
|0003ca50| 29 0a 23 64 65 66 69 6e | 65 20 53 57 41 50 43 47 |).#defin|e SWAPCG|
|0003ca60| 41 20 20 28 53 57 41 50 | 43 4f 4e 53 20 7c 20 43 |A (SWAP|CONS | C|
|0003ca70| 47 41 29 0a 23 64 65 66 | 69 6e 65 20 53 57 41 50 |GA).#def|ine SWAP|
|0003ca80| 50 47 41 20 20 28 53 57 | 41 50 43 4f 4e 53 20 7c |PGA (SW|APCONS ||
|0003ca90| 20 50 47 41 29 0a 23 64 | 65 66 69 6e 65 20 53 57 | PGA).#d|efine SW|
|0003caa0| 41 50 45 47 41 20 20 28 | 53 57 41 50 43 4f 4e 53 |APEGA (|SWAPCONS|
|0003cab0| 20 7c 20 45 47 41 29 0a | 23 64 65 66 69 6e 65 20 | | EGA).|#define |
|0003cac0| 53 57 41 50 56 47 41 20 | 20 28 53 57 41 50 43 4f |SWAPVGA | (SWAPCO|
|0003cad0| 4e 53 20 7c 20 56 47 41 | 29 0a 0a 2f 2a 20 64 65 |NS | VGA|)../* de|
|0003cae0| 66 69 6e 65 73 20 66 6f | 72 20 6d 11 01 03 02 00 |fines fo|r m.....|
|0003caf0| ae 01 02 00 6f 64 65 2d | 73 77 69 74 63 68 69 6e |....ode-|switchin|
|0003cb00| 67 20 69 6f 63 74 6c 20 | 2d 2d 20 6d 6f 64 65 73 |g ioctl |-- modes|
|0003cb10| 20 61 72 65 20 64 65 66 | 69 6e 65 64 20 69 6e 20 | are def|ined in |
|0003cb20| 63 6f 6d 63 72 74 2e 68 | 20 2a 2f 0a 23 64 65 66 |comcrt.h| */.#def|
|0003cb30| 69 6e 65 20 4d 4f 44 45 | 53 57 49 54 43 48 20 28 |ine MODE|SWITCH (|
|0003cb40| 27 53 27 20 3c 3c 20 38 | 29 0a 23 64 65 66 69 6e |'S' << 8|).#defin|
|0003cb50| 65 20 53 57 5f 42 34 30 | 78 32 35 20 20 28 4d 4f |e SW_B40|x25 (MO|
|0003cb60| 44 45 53 57 49 54 43 48 | 20 7c 20 4d 5f 42 34 30 |DESWITCH| | M_B40|
|0003cb70| 78 32 35 29 0a 23 64 65 | 66 69 6e 65 20 53 57 5f |x25).#de|fine SW_|
|0003cb80| 43 34 30 78 32 35 20 20 | 28 4d 4f 44 45 53 57 49 |C40x25 |(MODESWI|
|0003cb90| 54 43 48 20 7c 20 4d 5f | 43 34 30 78 32 35 29 0a |TCH | M_|C40x25).|
|0003cba0| 23 64 65 66 69 6e 65 20 | 53 57 5f 42 38 30 78 32 |#define |SW_B80x2|
|0003cbb0| 35 20 20 28 4d 4f 44 45 | 53 57 49 54 43 48 20 7c |5 (MODE|SWITCH ||
|0003cbc0| 20 4d 5f 42 38 30 78 32 | 35 29 0a 23 64 65 66 69 | M_B80x2|5).#defi|
|0003cbd0| 6e 65 20 53 57 5f 43 38 | 30 78 32 35 20 20 28 4d |ne SW_C8|0x25 (M|
|0003cbe0| 4f 44 45 53 57 49 54 43 | 48 20 7c 20 4d 5f 43 38 |ODESWITC|H | M_C8|
|0003cbf0| 30 78 32 35 29 0a 23 64 | 65 66 69 6e 65 20 53 57 |0x25).#d|efine SW|
|0003cc00| 5f 42 47 33 32 30 20 20 | 20 28 4d 4f 44 45 53 57 |_BG320 | (MODESW|
|0003cc10| 49 54 43 48 20 7c 20 4d | 5f 42 47 33 32 30 29 0a |ITCH | M|_BG320).|
|0003cc20| 23 64 65 66 69 6e 65 20 | 53 57 5f 43 47 33 32 30 |#define |SW_CG320|
|0003cc30| 20 20 20 28 4d 4f 44 45 | 53 57 49 54 43 48 20 7c | (MODE|SWITCH ||
|0003cc40| 20 4d 5f 43 47 33 32 30 | 29 0a 23 64 65 66 69 6e | M_CG320|).#defin|
|0003cc50| 65 20 53 57 5f 42 47 36 | 34 30 20 20 20 28 4d 4f |e SW_BG6|40 (MO|
|0003cc60| 44 45 53 57 49 54 43 48 | 20 7c 20 4d 5f 42 47 36 |DESWITCH| | M_BG6|
|0003cc70| 34 30 29 0a 23 64 65 66 | 69 6e 65 20 53 57 5f 45 |40).#def|ine SW_E|
|0003cc80| 47 41 4d 4f 4e 4f 38 30 | 78 32 35 20 28 4d 4f 44 |GAMONO80|x25 (MOD|
|0003cc90| 45 53 57 49 54 43 48 20 | 7c 20 4d 5f 45 47 41 4d |ESWITCH || M_EGAM|
|0003cca0| 4f 4e 4f 38 30 78 32 35 | 29 0a 23 64 65 66 69 6e |ONO80x25|).#defin|
|0003ccb0| 65 20 53 57 5f 43 47 33 | 32 30 5f 44 20 20 20 20 |e SW_CG3|20_D |
|0003ccc0| 28 4d 4f 44 45 53 57 49 | 54 43 48 20 7c 20 4d 5f |(MODESWI|TCH | M_|
|0003ccd0| 43 47 33 32 30 5f 44 29 | 0a 23 64 65 66 69 6e 65 |CG320_D)|.#define|
|0003cce0| 20 53 57 5f 43 47 36 34 | 30 5f 45 20 20 20 20 28 | SW_CG64|0_E (|
|0003ccf0| 4d 4f 44 45 11 01 04 02 | 00 75 01 02 00 53 57 49 |MODE....|.u...SWI|
|0003cd00| 54 43 48 20 7c 20 4d 5f | 43 47 36 34 30 5f 45 29 |TCH | M_|CG640_E)|
|0003cd10| 0a 23 64 65 66 69 6e 65 | 20 53 57 5f 45 47 41 4d |.#define| SW_EGAM|
|0003cd20| 4f 4e 4f 41 50 41 20 28 | 4d 4f 44 45 53 57 49 54 |ONOAPA (|MODESWIT|
|0003cd30| 43 48 20 7c 20 4d 5f 45 | 47 41 4d 4f 4e 4f 41 50 |CH | M_E|GAMONOAP|
|0003cd40| 41 29 0a 23 64 65 66 69 | 6e 65 20 53 57 5f 43 47 |A).#defi|ne SW_CG|
|0003cd50| 36 34 30 78 33 35 30 20 | 20 28 4d 4f 44 45 53 57 |640x350 | (MODESW|
|0003cd60| 49 54 43 48 20 7c 20 4d | 5f 43 47 36 34 30 78 33 |ITCH | M|_CG640x3|
|0003cd70| 35 30 29 0a 23 64 65 66 | 69 6e 65 20 53 57 5f 45 |50).#def|ine SW_E|
|0003cd80| 4e 48 5f 4d 4f 4e 4f 41 | 50 41 32 20 28 4d 4f 44 |NH_MONOA|PA2 (MOD|
|0003cd90| 45 53 57 49 54 43 48 20 | 7c 20 4d 5f 45 4e 48 4d |ESWITCH || M_ENHM|
|0003cda0| 4f 4e 4f 41 50 41 32 29 | 0a 23 64 65 66 69 6e 65 |ONOAPA2)|.#define|
|0003cdb0| 20 53 57 5f 45 4e 48 5f | 43 47 36 34 30 20 20 28 | SW_ENH_|CG640 (|
|0003cdc0| 4d 4f 44 45 53 57 49 54 | 43 48 20 7c 20 4d 5f 45 |MODESWIT|CH | M_E|
|0003cdd0| 4e 48 5f 43 47 36 34 30 | 29 0a 23 64 65 66 69 6e |NH_CG640|).#defin|
|0003cde0| 65 20 53 57 5f 45 4e 48 | 42 34 30 78 32 35 20 20 |e SW_ENH|B40x25 |
|0003cdf0| 28 4d 4f 44 45 53 57 49 | 54 43 48 20 7c 20 4d 5f |(MODESWI|TCH | M_|
|0003ce00| 45 4e 48 5f 42 34 30 78 | 32 35 29 0a 23 64 65 66 |ENH_B40x|25).#def|
|0003ce10| 69 6e 65 20 53 57 5f 45 | 4e 48 43 34 30 78 32 35 |ine SW_E|NHC40x25|
|0003ce20| 20 20 28 4d 4f 44 45 53 | 57 49 54 43 48 20 7c 20 | (MODES|WITCH | |
|0003ce30| 4d 5f 45 4e 48 5f 43 34 | 30 78 32 35 29 0a 23 64 |M_ENH_C4|0x25).#d|
|0003ce40| 65 66 69 6e 65 20 53 57 | 5f 45 4e 48 42 38 30 78 |efine SW|_ENHB80x|
|0003ce50| 32 35 20 20 28 4d 4f 44 | 45 53 57 49 54 43 48 20 |25 (MOD|ESWITCH |
|0003ce60| 7c 20 4d 5f 45 4e 48 5f | 42 38 30 78 32 35 29 0a || M_ENH_|B80x25).|
|0003ce70| 23 64 65 66 69 6e 65 20 | 53 57 5f 45 4e 48 43 38 |#define |SW_ENHC8|
|0003ce80| 30 78 32 35 20 20 28 4d | 4f 44 45 53 57 49 54 43 |0x25 (M|ODESWITC|
|0003ce90| 48 20 7c 20 4d 5f 45 4e | 48 5f 43 38 30 78 32 35 |H | M_EN|H_C80x25|
|0003cea0| 29 0a 23 64 65 66 69 6e | 65 20 53 57 5f 45 4e 48 |).#defin|e SW_ENH|
|0003ceb0| 42 38 30 78 34 33 20 20 | 28 4d 4f 44 45 53 57 49 |B80x43 |(MODESWI|
|0003cec0| 54 43 48 20 7c 20 4d 5f | 45 4e 48 5f 42 38 30 78 |TCH | M_|ENH_B80x|
|0003ced0| 34 33 29 0a 23 64 65 66 | 69 6e 65 20 53 57 5f 45 |43).#def|ine SW_E|
|0003cee0| 4e 48 43 38 30 78 34 33 | 20 20 28 4d 4f 44 45 53 |NHC80x43| (MODES|
|0003cef0| 57 49 54 43 48 20 7c 20 | 4d 5f 45 4e 48 11 01 05 |WITCH | |M_ENH...|
|0003cf00| 02 00 9f 01 02 00 5f 43 | 38 30 78 34 33 29 0a 23 |......_C|80x43).#|
|0003cf10| 64 65 66 69 6e 65 20 53 | 57 5f 4d 43 41 4d 4f 44 |define S|W_MCAMOD|
|0003cf20| 45 20 20 20 20 28 4d 4f | 44 45 53 57 49 54 43 48 |E (MO|DESWITCH|
|0003cf30| 20 7c 20 4d 5f 4d 43 41 | 5f 4d 4f 44 45 29 0a 23 | | M_MCA|_MODE).#|
|0003cf40| 64 65 66 69 6e 65 20 53 | 57 5f 56 47 41 34 30 78 |define S|W_VGA40x|
|0003cf50| 32 35 09 28 4d 4f 44 45 | 53 57 49 54 43 48 20 7c |25.(MODE|SWITCH ||
|0003cf60| 20 4d 5f 56 47 41 5f 34 | 30 78 32 35 29 0a 23 64 | M_VGA_4|0x25).#d|
|0003cf70| 65 66 69 6e 65 20 53 57 | 5f 56 47 41 38 30 78 32 |efine SW|_VGA80x2|
|0003cf80| 35 09 28 4d 4f 44 45 53 | 57 49 54 43 48 20 7c 20 |5.(MODES|WITCH | |
|0003cf90| 4d 5f 56 47 41 5f 38 30 | 78 32 35 29 0a 23 64 65 |M_VGA_80|x25).#de|
|0003cfa0| 66 69 6e 65 20 53 57 5f | 56 47 41 4d 38 30 78 32 |fine SW_|VGAM80x2|
|0003cfb0| 35 09 28 4d 4f 44 45 53 | 57 49 54 43 48 20 7c 20 |5.(MODES|WITCH | |
|0003cfc0| 4d 5f 56 47 41 5f 4d 38 | 30 78 32 35 29 0a 23 64 |M_VGA_M8|0x25).#d|
|0003cfd0| 65 66 69 6e 65 20 53 57 | 5f 56 47 41 31 31 09 28 |efine SW|_VGA11.(|
|0003cfe0| 4d 4f 44 45 53 57 49 54 | 43 48 20 7c 20 4d 5f 56 |MODESWIT|CH | M_V|
|0003cff0| 47 41 31 31 29 0a 23 64 | 65 66 69 6e 65 20 53 57 |GA11).#d|efine SW|
|0003d000| 5f 56 47 41 31 32 09 28 | 4d 4f 44 45 53 57 49 54 |_VGA12.(|MODESWIT|
|0003d010| 43 48 20 7c 20 4d 5f 56 | 47 41 31 32 29 0a 23 64 |CH | M_V|GA12).#d|
|0003d020| 65 66 69 6e 65 20 53 57 | 5f 56 47 41 31 33 09 28 |efine SW|_VGA13.(|
|0003d030| 4d 4f 44 45 53 57 49 54 | 43 48 20 7c 20 4d 5f 56 |MODESWIT|CH | M_V|
|0003d040| 47 41 31 33 29 0a 0a 2f | 2a 20 64 65 66 69 6e 65 |GA13)../|* define|
|0003d050| 73 20 66 6f 72 20 64 69 | 73 70 6c 61 79 20 6d 65 |s for di|splay me|
|0003d060| 6d 6f 72 79 20 6d 61 70 | 70 69 6e 67 20 69 6f 63 |mory map|ping ioc|
|0003d070| 74 6c 20 28 73 65 65 20 | 63 6f 6e 73 69 6f 63 74 |tl (see |consioct|
|0003d080| 6c 20 69 6e 20 63 6f 6e | 73 6f 6c 65 2e 63 29 20 |l in con|sole.c) |
|0003d090| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4d 41 50 41 44 |*/.#defi|ne MAPAD|
|0003d0a0| 41 50 54 45 52 20 28 27 | 6d 27 20 3c 3c 20 38 29 |APTER ('|m' << 8)|
|0003d0b0| 0a 23 64 65 66 69 6e 65 | 20 4d 41 50 43 4f 4e 53 |.#define| MAPCONS|
|0003d0c0| 20 28 4d 41 50 41 44 41 | 50 54 45 52 29 20 20 0a | (MAPADA|PTER) .|
|0003d0d0| 23 64 65 66 69 6e 65 20 | 4d 41 50 4d 4f 4e 4f 20 |#define |MAPMONO |
|0003d0e0| 28 4d 41 50 41 44 41 50 | 54 45 52 20 7c 20 4d 4f |(MAPADAP|TER | MO|
|0003d0f0| 4e 4f 29 0a 23 64 65 66 | 69 6e 65 20 4d 41 50 43 |NO).#def|ine MAPC|
|0003d100| 47 41 20 20 28 4d 11 01 | 06 02 00 dc 01 02 00 41 |GA (M..|.......A|
|0003d110| 50 41 44 41 50 54 45 52 | 20 7c 20 43 47 41 29 20 |PADAPTER| | CGA) |
|0003d120| 0a 23 64 65 66 69 6e 65 | 20 4d 41 50 50 47 41 20 |.#define| MAPPGA |
|0003d130| 20 28 4d 41 50 41 44 41 | 50 54 45 52 20 7c 20 50 | (MAPADA|PTER | P|
|0003d140| 47 41 29 0a 23 64 65 66 | 69 6e 65 20 4d 41 50 45 |GA).#def|ine MAPE|
|0003d150| 47 41 20 20 28 4d 41 50 | 41 44 41 50 54 45 52 20 |GA (MAP|ADAPTER |
|0003d160| 7c 20 45 47 41 29 0a 23 | 64 65 66 69 6e 65 20 4d || EGA).#|define M|
|0003d170| 41 50 56 47 41 20 20 28 | 4d 41 50 41 44 41 50 54 |APVGA (|MAPADAPT|
|0003d180| 45 52 20 7c 20 56 47 41 | 29 0a 23 64 65 66 69 6e |ER | VGA|).#defin|
|0003d190| 65 20 4d 41 50 50 47 41 | 31 4b 20 20 28 4d 41 50 |e MAPPGA|1K (MAP|
|0003d1a0| 41 44 41 50 54 45 52 20 | 7c 20 30 78 66 66 29 0a |ADAPTER || 0xff).|
|0003d1b0| 0a 2f 2a 20 64 65 66 69 | 6e 65 73 20 66 6f 72 20 |./* defi|nes for |
|0003d1c0| 69 62 6d 20 6b 65 79 62 | 6f 61 72 64 20 69 6f 63 |ibm keyb|oard ioc|
|0003d1d0| 74 6c 73 20 28 73 65 65 | 20 63 6f 6e 73 69 6f 63 |tls (see| consioc|
|0003d1e0| 74 6c 20 69 6e 20 63 6f | 6e 73 6f 6c 65 2e 63 29 |tl in co|nsole.c)|
|0003d1f0| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 46 4b 45 59 | */.#def|ine FKEY|
|0003d200| 49 4f 43 20 20 20 28 27 | 6b 27 20 3c 3c 20 38 29 |IOC ('|k' << 8)|
|0003d210| 0a 23 64 65 66 69 6e 65 | 20 47 45 54 46 4b 45 59 |.#define| GETFKEY|
|0003d220| 20 20 20 28 46 4b 45 59 | 49 4f 43 29 0a 23 64 65 | (FKEY|IOC).#de|
|0003d230| 66 69 6e 65 20 53 45 54 | 46 4b 45 59 20 20 20 28 |fine SET|FKEY (|
|0003d240| 46 4b 45 59 49 4f 43 20 | 7c 20 31 29 0a 23 64 65 |FKEYIOC || 1).#de|
|0003d250| 66 69 6e 65 20 54 49 4f | 43 4b 42 4f 4e 20 20 28 |fine TIO|CKBON (|
|0003d260| 54 49 4f 43 7c 38 29 0a | 23 64 65 66 69 6e 65 20 |TIOC|8).|#define |
|0003d270| 54 49 4f 43 4b 42 4f 46 | 20 20 28 54 49 4f 43 7c |TIOCKBOF| (TIOC||
|0003d280| 39 29 0a 23 64 65 66 69 | 6e 65 20 4b 42 45 4e 41 |9).#defi|ne KBENA|
|0003d290| 42 4c 45 44 20 28 54 49 | 4f 43 7c 31 30 29 0a 0a |BLED (TI|OC|10)..|
|0003d2a0| 23 64 65 66 69 6e 65 20 | 53 57 5f 4d 43 41 4d 4f |#define |SW_MCAMO|
|0003d2b0| 44 45 20 20 20 20 28 4d | 4f 44 45 53 57 49 54 43 |DE (M|ODESWITC|
|0003d2c0| 48 20 7c 20 4d 5f 4d 43 | 41 5f 4d 4f 44 45 29 0a |H | M_MC|A_MODE).|
|0003d2d0| 0a 23 69 66 64 65 66 20 | 4d 5f 49 33 38 36 0a 23 |.#ifdef |M_I386.#|
|0003d2e0| 70 72 61 67 6d 61 20 70 | 61 63 6b 28 32 29 0a 23 |pragma p|ack(2).#|
|0003d2f0| 65 6e 64 69 66 0a 0a 2f | 2a 20 73 74 72 75 63 74 |endif../|* struct|
|0003d300| 75 72 65 20 75 73 65 64 | 20 66 6f 72 20 53 45 11 |ure used| for SE.|
|0003d310| 01 07 02 00 cb 01 02 00 | 54 46 4b 45 59 20 61 6e |........|TFKEY an|
|0003d320| 64 20 47 45 54 46 4b 45 | 59 20 69 6f 63 74 6c 73 |d GETFKE|Y ioctls|
|0003d330| 20 2a 2f 0a 73 74 72 75 | 63 74 20 66 6b 65 79 61 | */.stru|ct fkeya|
|0003d340| 72 67 20 7b 09 0a 09 75 | 6e 73 69 67 6e 65 64 20 |rg {...u|nsigned |
|0003d350| 73 68 6f 72 74 09 6b 65 | 79 6e 75 6d 3b 0a 09 63 |short.ke|ynum;..c|
|0003d360| 68 61 72 09 20 09 6b 65 | 79 64 65 66 5b 4d 41 58 |har. .ke|ydef[MAX|
|0003d370| 46 4b 5d 3b 0a 09 63 68 | 61 72 09 09 66 6c 65 6e |FK];..ch|ar..flen|
|0003d380| 3b 09 09 09 0a 7d 3b 0a | 0a 23 69 66 64 65 66 20 |;....};.|.#ifdef |
|0003d390| 4d 5f 49 33 38 36 0a 23 | 70 72 61 67 6d 61 20 70 |M_I386.#|pragma p|
|0003d3a0| 61 63 6b 28 29 0a 23 65 | 6e 64 69 66 0a 0a 2f 2a |ack().#e|ndif../*|
|0003d3b0| 20 64 65 66 69 6e 65 73 | 20 66 6f 72 20 69 62 6d | defines| for ibm|
|0003d3c0| 20 63 6f 6e 73 6f 6c 65 | 20 69 6f 63 74 6c 73 20 | console| ioctls |
|0003d3d0| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 43 4f 4e 53 49 |*/.#defi|ne CONSI|
|0003d3e0| 4f 43 09 09 28 27 63 27 | 20 3c 3c 20 38 29 0a 23 |OC..('c'| << 8).#|
|0003d3f0| 64 65 66 69 6e 65 20 43 | 4f 4e 53 5f 43 55 52 52 |define C|ONS_CURR|
|0003d400| 45 4e 54 20 09 28 43 4f | 4e 53 49 4f 43 7c 31 29 |ENT .(CO|NSIOC|1)|
|0003d410| 0a 23 64 65 66 69 6e 65 | 20 43 4f 4e 53 5f 47 45 |.#define| CONS_GE|
|0003d420| 54 09 28 43 4f 4e 53 49 | 4f 43 7c 32 29 0a 23 64 |T.(CONSI|OC|2).#d|
|0003d430| 65 66 69 6e 65 20 43 4f | 4e 53 49 4f 09 09 28 43 |efine CO|NSIO..(C|
|0003d440| 4f 4e 53 49 4f 43 7c 33 | 29 0a 0a 23 64 65 66 69 |ONSIOC|3|)..#defi|
|0003d450| 6e 65 20 50 49 4f 5f 46 | 4f 4e 54 38 78 38 09 28 |ne PIO_F|ONT8x8.(|
|0003d460| 43 4f 4e 53 49 4f 43 7c | 36 34 29 0a 23 64 65 66 |CONSIOC||64).#def|
|0003d470| 69 6e 65 20 47 49 4f 5f | 46 4f 4e 54 38 78 38 09 |ine GIO_|FONT8x8.|
|0003d480| 28 43 4f 4e 53 49 4f 43 | 7c 36 35 29 0a 23 64 65 |(CONSIOC||65).#de|
|0003d490| 66 69 6e 65 20 50 49 4f | 5f 46 4f 4e 54 38 78 31 |fine PIO|_FONT8x1|
|0003d4a0| 34 09 28 43 4f 4e 53 49 | 4f 43 7c 36 36 29 0a 23 |4.(CONSI|OC|66).#|
|0003d4b0| 64 65 66 69 6e 65 20 47 | 49 4f 5f 46 4f 4e 54 38 |define G|IO_FONT8|
|0003d4c0| 78 31 34 09 28 43 4f 4e | 53 49 4f 43 7c 36 37 29 |x14.(CON|SIOC|67)|
|0003d4d0| 0a 23 64 65 66 69 6e 65 | 20 50 49 4f 5f 46 4f 4e |.#define| PIO_FON|
|0003d4e0| 54 38 78 31 36 09 28 43 | 4f 4e 53 49 4f 43 7c 36 |T8x16.(C|ONSIOC|6|
|0003d4f0| 38 29 0a 23 64 65 66 69 | 6e 65 20 47 49 4f 5f 46 |8).#defi|ne GIO_F|
|0003d500| 4f 4e 54 38 78 31 36 09 | 28 43 4f 4e 53 49 4f 43 |ONT8x16.|(CONSIOC|
|0003d510| 7c 36 39 29 0a 0a 23 64 | 11 01 08 02 00 9f 01 02 ||69)..#d|........|
|0003d520| 00 65 66 69 6e 65 20 43 | 4f 4e 53 41 44 50 09 09 |.efine C|ONSADP..|
|0003d530| 28 43 4f 4e 53 49 4f 43 | 7c 37 32 29 09 2f 2a 20 |(CONSIOC||72)./* |
|0003d540| 67 65 74 20 73 70 65 63 | 69 66 69 63 20 61 64 61 |get spec|ific ada|
|0003d550| 70 74 65 72 20 73 63 72 | 65 65 6e 20 2a 2f 0a 0a |pter scr|een */..|
|0003d560| 2f 2a 20 64 65 66 69 6e | 65 73 20 66 6f 72 20 69 |/* defin|es for i|
|0003d570| 6e 62 2f 6f 75 74 62 20 | 69 6f 63 74 6c 73 20 66 |nb/outb |ioctls f|
|0003d580| 6f 72 20 67 72 61 70 68 | 69 63 73 20 61 64 61 70 |or graph|ics adap|
|0003d590| 74 65 72 20 70 6f 72 74 | 73 20 2a 2f 0a 23 64 65 |ter port|s */.#de|
|0003d5a0| 66 69 6e 65 20 49 4e 5f | 4f 4e 5f 50 4f 52 54 09 |fine IN_|ON_PORT.|
|0003d5b0| 31 0a 23 64 65 66 69 6e | 65 20 4f 55 54 5f 4f 4e |1.#defin|e OUT_ON|
|0003d5c0| 5f 50 4f 52 54 09 30 0a | 0a 23 69 66 64 65 66 20 |_PORT.0.|.#ifdef |
|0003d5d0| 4d 5f 49 33 38 36 0a 23 | 70 72 61 67 6d 61 20 70 |M_I386.#|pragma p|
|0003d5e0| 61 63 6b 28 32 29 0a 23 | 65 6e 64 69 66 0a 0a 2f |ack(2).#|endif../|
|0003d5f0| 2a 20 73 74 72 75 63 74 | 75 72 65 20 75 73 65 64 |* struct|ure used|
|0003d600| 20 66 6f 72 20 69 6e 62 | 2f 6f 75 74 62 20 69 6f | for inb|/outb io|
|0003d610| 63 74 6c 73 20 66 6f 72 | 20 67 72 61 70 68 69 63 |ctls for| graphic|
|0003d620| 73 20 61 64 61 70 74 65 | 72 20 70 6f 72 74 73 20 |s adapte|r ports |
|0003d630| 2a 2f 0a 73 74 72 75 63 | 74 20 70 6f 72 74 5f 69 |*/.struc|t port_i|
|0003d640| 6f 5f 73 74 72 75 63 74 | 20 7b 0a 09 63 68 61 72 |o_struct| {..char|
|0003d650| 09 64 69 72 3b 09 2f 2a | 20 64 69 72 65 63 74 69 |.dir;./*| directi|
|0003d660| 6f 6e 20 66 6c 61 67 20 | 28 69 6e 20 76 73 2e 20 |on flag |(in vs. |
|0003d670| 6f 75 74 29 20 2a 2f 0a | 09 75 6e 73 69 67 6e 65 |out) */.|.unsigne|
|0003d680| 64 20 73 68 6f 72 74 20 | 70 6f 72 74 3b 0a 09 63 |d short |port;..c|
|0003d690| 68 61 72 09 64 61 74 61 | 3b 0a 7d 3b 0a 73 74 72 |har.data|;.};.str|
|0003d6a0| 75 63 74 20 70 6f 72 74 | 5f 69 6f 5f 61 72 67 20 |uct port|_io_arg |
|0003d6b0| 7b 0a 09 73 74 72 75 63 | 74 20 70 6f 72 74 5f 69 |{..struc|t port_i|
|0003d6c0| 6f 5f 73 74 72 75 63 74 | 20 61 72 67 73 5b 34 5d |o_struct| args[4]|
|0003d6d0| 3b 0a 7d 3b 09 0a 0a 23 | 69 66 64 65 66 20 4d 5f |;.};...#|ifdef M_|
|0003d6e0| 49 33 38 36 0a 23 70 72 | 61 67 6d 61 20 70 61 63 |I386.#pr|agma pac|
|0003d6f0| 6b 28 29 0a 23 65 6e 64 | 69 66 0a 0a 2f 2a 20 64 |k().#end|if../* d|
|0003d700| 65 66 69 6e 65 73 20 66 | 6f 72 20 41 64 61 70 74 |efines f|or Adapt|
|0003d710| 65 63 20 41 48 41 2d 31 | 35 34 30 20 69 6f 63 74 |ec AHA-1|540 ioct|
|0003d720| 6c 11 01 09 02 00 44 01 | 02 00 73 20 2a 2f 0a 23 |l.....D.|..s */.#|
|0003d730| 64 65 66 69 6e 65 09 41 | 44 49 4f 43 09 09 28 27 |define.A|DIOC..('|
|0003d740| 61 27 3c 3c 38 29 0a 23 | 64 65 66 69 6e 65 09 41 |a'<<8).#|define.A|
|0003d750| 44 46 4f 52 4d 41 54 09 | 28 41 44 49 4f 43 7c 31 |DFORMAT.|(ADIOC|1|
|0003d760| 29 09 2f 2a 20 66 6f 72 | 6d 61 74 20 64 69 73 6b |)./* for|mat disk|
|0003d770| 09 09 09 2a 2f 0a 23 64 | 65 66 69 6e 65 09 41 44 |...*/.#d|efine.AD|
|0003d780| 4d 4f 44 45 53 45 4c 45 | 43 54 09 28 41 44 49 4f |MODESELE|CT.(ADIO|
|0003d790| 43 7c 32 29 09 2f 2a 20 | 69 73 73 75 65 20 6d 6f |C|2)./* |issue mo|
|0003d7a0| 64 65 20 73 65 6c 65 63 | 74 09 09 2a 2f 0a 23 64 |de selec|t..*/.#d|
|0003d7b0| 65 66 69 6e 65 09 41 44 | 54 45 53 54 09 09 28 41 |efine.AD|TEST..(A|
|0003d7c0| 44 49 4f 43 7c 33 29 09 | 2f 2a 20 72 75 6e 20 64 |DIOC|3).|/* run d|
|0003d7d0| 69 61 67 6e 6f 73 74 69 | 63 73 09 09 2a 2f 0a 23 |iagnosti|cs..*/.#|
|0003d7e0| 64 65 66 69 6e 65 09 41 | 44 42 41 44 53 45 43 09 |define.A|DBADSEC.|
|0003d7f0| 28 41 44 49 4f 43 7c 34 | 29 09 2f 2a 20 73 65 74 |(ADIOC|4|)./* set|
|0003d800| 20 62 61 64 20 73 65 63 | 74 6f 72 09 09 2a 2f 0a | bad sec|tor..*/.|
|0003d810| 0a 2f 2a 0a 20 2a 20 49 | 6e 69 74 69 61 6c 69 7a |./*. * I|nitializ|
|0003d820| 65 20 63 6c 6f 63 6b 20 | 63 6f 6e 73 74 61 6e 74 |e clock |constant|
|0003d830| 20 66 6f 72 20 35 30 6d | 73 65 63 20 63 6c 6f 63 | for 50m|sec cloc|
|0003d840| 6b 20 69 6e 74 65 72 72 | 75 70 74 73 2e 0a 20 2a |k interr|upts.. *|
|0003d850| 20 4d 61 67 69 63 20 76 | 61 6c 75 65 20 74 6f 20 | Magic v|alue to |
|0003d860| 63 61 75 73 65 20 70 72 | 6f 70 65 72 20 69 6e 74 |cause pr|oper int|
|0003d870| 65 72 72 75 70 74 20 69 | 6e 74 65 72 76 61 6c 2e |errupt i|nterval.|
|0003d880| 0a 20 2a 20 41 73 73 75 | 6d 65 73 20 61 20 31 2e |. * Assu|mes a 1.|
|0003d890| 31 39 33 31 38 31 4d 48 | 7a 20 63 6c 6f 63 6b 20 |193181MH|z clock |
|0003d8a0| 69 6e 70 75 74 2e 20 28 | 31 31 39 33 31 38 31 20 |input. (|1193181 |
|0003d8b0| 2f 20 48 5a 29 0a 20 2a | 2f 0a 0a 23 64 65 66 69 |/ HZ). *|/..#defi|
|0003d8c0| 6e 65 20 43 4c 4b 4e 55 | 4d 20 32 33 38 36 34 0a |ne CLKNU|M 23864.|
|0003d8d0| 0a 2f 2a 20 0a 20 2a 20 | 56 61 72 69 6f 75 73 20 |./* . * |Various |
|0003d8e0| 64 65 66 69 6e 65 73 20 | 66 6f 72 20 38 32 35 39 |defines |for 8259|
|0003d8f0| 20 73 70 65 63 69 61 6c | 20 66 75 6c 6c 79 20 6e | special| fully n|
|0003d900| 65 73 74 65 64 20 73 75 | 70 70 6f 72 74 0a 20 2a |ested su|pport. *|
|0003d910| 2f 0a 0a 2f 2a 20 59 65 | 73 20 33 20 69 73 20 63 |/../* Ye|s 3 is c|
|0003d920| 6f 72 72 65 63 74 20 66 | 6f 72 11 01 0a 02 00 82 |orrect f|or......|
|0003d930| 01 02 00 20 63 65 72 74 | 61 69 6e 20 73 79 73 74 |... cert|ain syst|
|0003d940| 65 6d 73 20 72 75 6e 6e | 69 6e 67 20 74 68 69 73 |ems runn|ing this|
|0003d950| 20 6b 65 72 6e 65 6c 20 | 2a 2f 0a 23 64 65 66 69 | kernel |*/.#defi|
|0003d960| 6e 65 20 4e 55 4d 5f 38 | 32 35 39 09 33 09 2f 2a |ne NUM_8|259.3./*|
|0003d970| 20 6e 75 6d 62 65 72 20 | 6f 66 20 38 32 35 39 73 | number |of 8259s|
|0003d980| 20 6f 6e 20 74 68 69 73 | 20 73 79 73 74 65 6d 20 | on this| system |
|0003d990| 2a 2f 0a 0a 23 64 65 66 | 69 6e 65 20 4d 41 58 38 |*/..#def|ine MAX8|
|0003d9a0| 32 35 39 09 09 39 20 09 | 2f 2a 20 6d 61 78 20 6e |259..9 .|/* max n|
|0003d9b0| 75 6d 62 65 72 20 6f 66 | 20 38 32 35 39 73 20 70 |umber of| 8259s p|
|0003d9c0| 6f 73 73 69 62 6c 65 20 | 2a 2f 0a 23 64 65 66 69 |ossible |*/.#defi|
|0003d9d0| 6e 65 20 4d 41 58 4c 45 | 56 09 09 38 09 2f 2a 20 |ne MAXLE|V..8./* |
|0003d9e0| 6d 61 78 20 69 6e 74 65 | 72 72 75 70 74 20 6c 65 |max inte|rrupt le|
|0003d9f0| 76 65 6c 73 20 6f 6e 20 | 61 6e 20 38 32 35 39 20 |vels on |an 8259 |
|0003da00| 2a 2f 0a 23 64 65 66 69 | 6e 65 20 4d 41 58 56 45 |*/.#defi|ne MAXVE|
|0003da10| 43 09 09 37 32 09 2f 2a | 20 6d 61 78 20 76 65 63 |C..72./*| max vec|
|0003da20| 74 6f 72 73 20 6f 6e 20 | 66 75 6c 6c 79 20 63 61 |tors on |fully ca|
|0003da30| 73 63 61 64 65 64 20 73 | 79 73 74 65 6d 20 2a 2f |scaded s|ystem */|
|0003da40| 0a 0a 23 64 65 66 69 6e | 65 09 48 41 53 5f 52 45 |..#defin|e.HAS_RE|
|0003da50| 42 4f 4f 54 09 2f 2a 20 | 54 68 69 73 20 73 79 73 |BOOT./* |This sys|
|0003da60| 74 65 6d 20 68 61 73 20 | 61 20 73 6f 66 74 77 61 |tem has |a softwa|
|0003da70| 72 65 20 72 65 62 6f 6f | 74 20 63 61 70 61 62 69 |re reboo|t capabi|
|0003da80| 6c 69 74 79 20 2a 2f 0a | 0a 23 64 65 66 69 6e 65 |lity */.|.#define|
|0003da90| 20 43 54 4c 52 5f 31 36 | 42 49 54 09 2f 2a 20 54 | CTLR_16|BIT./* T|
|0003daa0| 68 69 73 20 73 79 73 74 | 65 6d 20 68 61 73 20 61 |his syst|em has a|
|0003dab0| 20 64 65 76 69 63 65 20 | 63 6f 6e 74 72 6f 6c 6c | device |controll|
|0003dac0| 65 72 20 74 68 61 74 20 | 63 61 6e 6e 6f 74 20 2a |er that |cannot *|
|0003dad0| 2f 0a 09 09 20 20 20 09 | 2f 2a 20 68 61 6e 64 6c |/... .|/* handl|
|0003dae0| 65 20 74 72 61 6e 73 66 | 65 72 73 20 61 63 72 6f |e transf|ers acro|
|0003daf0| 73 73 20 61 20 36 34 6b | 20 62 6f 75 6e 64 61 72 |ss a 64k| boundar|
|0003db00| 79 2e 20 2a 2f 0a 0a 23 | 64 65 66 69 6e 65 20 41 |y. */..#|define A|
|0003db10| 55 54 4f 42 4f 4f 54 09 | 09 2f 2a 20 54 68 69 73 |UTOBOOT.|./* This|
|0003db20| 20 73 79 73 74 65 6d 20 | 68 61 73 20 61 75 74 6f | system |has auto|
|0003db30| 62 6f 6f 11 01 0b 02 00 | 31 01 02 00 74 20 73 75 |boo.....|1...t su|
|0003db40| 70 70 6f 72 74 20 2a 2f | 0a 23 64 65 66 69 6e 65 |pport */|.#define|
|0003db50| 09 50 4f 57 45 52 44 4f | 57 4e 09 32 09 2f 2a 20 |.POWERDO|WN.2./* |
|0003db60| 32 6e 64 20 61 72 67 75 | 6d 65 6e 74 20 74 6f 20 |2nd argu|ment to |
|0003db70| 73 68 75 74 64 28 29 20 | 2a 2f 0a 23 64 65 66 69 |shutd() |*/.#defi|
|0003db80| 6e 65 09 41 55 54 4f 46 | 4c 41 47 09 30 78 62 65 |ne.AUTOF|LAG.0xbe|
|0003db90| 31 31 09 2f 2a 20 33 72 | 64 20 61 72 67 75 6d 65 |11./* 3r|d argume|
|0003dba0| 6e 74 20 74 6f 20 73 68 | 75 74 64 6f 77 6e 28 29 |nt to sh|utdown()|
|0003dbb0| 20 2a 2f 0a 0a 2f 2a 0a | 20 2a 20 65 76 65 6e 74 | */../*.| * event|
|0003dbc0| 20 64 72 69 76 65 72 20 | 69 6f 63 74 6c 73 0a 20 | driver |ioctls. |
|0003dbd0| 2a 2f 0a 23 64 65 66 69 | 6e 65 09 45 51 49 4f 43 |*/.#defi|ne.EQIOC|
|0003dbe0| 09 09 28 27 51 27 20 3c | 3c 20 38 29 0a 23 64 65 |..('Q' <|< 8).#de|
|0003dbf0| 66 69 6e 65 09 45 51 49 | 4f 5f 47 45 54 51 50 09 |fine.EQI|O_GETQP.|
|0003dc00| 28 45 51 49 4f 43 20 7c | 20 31 29 0a 23 64 65 66 |(EQIOC || 1).#def|
|0003dc10| 69 6e 65 09 45 51 49 4f | 5f 53 45 54 45 4d 41 53 |ine.EQIO|_SETEMAS|
|0003dc20| 4b 09 28 45 51 49 4f 43 | 20 7c 20 32 29 0a 23 64 |K.(EQIOC| | 2).#d|
|0003dc30| 65 66 69 6e 65 09 45 51 | 49 4f 5f 47 45 54 45 4d |efine.EQ|IO_GETEM|
|0003dc40| 41 53 4b 09 28 45 51 49 | 4f 43 20 7c 20 33 29 0a |ASK.(EQI|OC | 3).|
|0003dc50| 23 64 65 66 69 6e 65 09 | 45 51 49 4f 5f 53 55 53 |#define.|EQIO_SUS|
|0003dc60| 50 45 4e 44 09 28 45 51 | 49 4f 43 20 7c 20 34 29 |PEND.(EQ|IOC | 4)|
|0003dc70| 0a 23 64 65 66 69 6e 65 | 09 45 51 49 4f 5f 52 45 |.#define|.EQIO_RE|
|0003dc80| 53 55 4d 45 09 28 45 51 | 49 4f 43 20 7c 20 35 29 |SUME.(EQ|IOC | 5)|
|0003dc90| 0a 23 64 65 66 69 6e 65 | 09 45 51 49 4f 5f 42 4c |.#define|.EQIO_BL|
|0003dca0| 4f 43 4b 09 28 45 51 49 | 4f 43 20 7c 20 36 29 0a |OCK.(EQI|OC | 6).|
|0003dcb0| 0a 2f 2a 20 0a 20 2a 20 | 6c 69 6e 65 20 64 69 73 |./* . * |line dis|
|0003dcc0| 63 69 70 6c 69 6e 65 20 | 73 70 65 63 69 66 69 63 |cipline |specific|
|0003dcd0| 20 69 6f 63 74 6c 73 20 | 74 6f 20 74 68 65 20 6d | ioctls |to the m|
|0003dce0| 6f 75 73 65 20 6c 69 6e | 65 20 64 69 73 63 69 70 |ouse lin|e discip|
|0003dcf0| 6c 69 6e 65 20 0a 20 2a | 2f 0a 23 64 65 66 69 6e |line . *|/.#defin|
|0003dd00| 65 09 45 56 4c 44 5f 49 | 4f 43 09 28 4c 44 49 4f |e.EVLD_I|OC.(LDIO|
|0003dd10| 43 29 0a 23 64 65 66 69 | 6e 65 09 4c 44 45 56 5f |C).#defi|ne.LDEV_|
|0003dd20| 53 45 54 54 59 50 45 09 | 28 45 56 4c 44 5f 49 4f |SETTYPE.|(EVLD_IO|
|0003dd30| 43 20 7c 20 31 33 29 09 | 09 2f 2a 20 11 01 0c 02 |C | 13).|./* ....|
|0003dd40| 00 b6 01 02 00 73 65 74 | 20 6d 6f 75 73 65 20 74 |.....set| mouse t|
|0003dd50| 79 70 65 09 2a 2f 0a 23 | 64 65 66 69 6e 65 09 4c |ype.*/.#|define.L|
|0003dd60| 44 45 56 5f 47 45 54 45 | 56 09 28 45 56 4c 44 5f |DEV_GETE|V.(EVLD_|
|0003dd70| 49 4f 43 20 7c 20 31 34 | 29 09 09 2f 2a 20 67 65 |IOC | 14|)../* ge|
|0003dd80| 74 20 61 6e 20 65 76 65 | 6e 74 09 09 2a 2f 0a 23 |t an eve|nt..*/.#|
|0003dd90| 64 65 66 69 6e 65 09 4c | 44 45 56 5f 41 54 54 41 |define.L|DEV_ATTA|
|0003dda0| 43 48 51 09 28 45 56 4c | 44 5f 49 4f 43 20 7c 20 |CHQ.(EVL|D_IOC | |
|0003ddb0| 31 35 29 09 09 2f 2a 20 | 61 63 74 69 76 61 74 65 |15)../* |activate|
|0003ddc0| 20 6d 6f 75 73 65 09 2a | 2f 0a 23 64 65 66 69 6e | mouse.*|/.#defin|
|0003ddd0| 65 09 4c 44 45 56 5f 53 | 45 54 52 41 54 49 4f 09 |e.LDEV_S|ETRATIO.|
|0003dde0| 28 45 56 4c 44 5f 49 4f | 43 20 7c 20 31 36 29 09 |(EVLD_IO|C | 16).|
|0003ddf0| 09 2f 2a 20 73 65 74 20 | 61 20 64 65 76 69 63 65 |./* set |a device|
|0003de00| 20 72 61 74 69 6f 09 2a | 2f 0a 0a 73 74 72 75 63 | ratio.*|/..struc|
|0003de10| 74 20 6d 6f 75 73 65 69 | 6e 66 6f 20 7b 20 20 20 |t mousei|nfo { |
|0003de20| 20 20 20 20 0a 09 75 6e | 73 69 67 6e 65 64 20 63 | ..un|signed c|
|0003de30| 68 61 72 20 73 74 61 74 | 75 73 3b 0a 09 63 68 61 |har stat|us;..cha|
|0003de40| 72 20 78 6d 6f 74 69 6f | 6e 2c 20 79 6d 6f 74 69 |r xmotio|n, ymoti|
|0003de50| 6f 6e 3b 0a 7d 3b 0a 09 | 0a 2f 2a 0a 20 2a 20 69 |on;.};..|./*. * i|
|0003de60| 6f 63 74 6c 73 20 74 6f | 20 74 68 65 20 62 75 73 |octls to| the bus|
|0003de70| 6d 6f 75 73 65 20 64 72 | 69 76 65 72 0a 20 2a 2f |mouse dr|iver. */|
|0003de80| 0a 23 64 65 66 69 6e 65 | 20 4d 4f 55 53 45 49 4f |.#define| MOUSEIO|
|0003de90| 43 20 20 20 20 20 20 20 | 20 28 27 4d 27 3c 3c 38 |C | ('M'<<8|
|0003dea0| 29 0a 23 64 65 66 69 6e | 65 20 4d 4f 55 53 45 49 |).#defin|e MOUSEI|
|0003deb0| 4f 43 52 45 41 44 20 20 | 20 20 28 4d 4f 55 53 45 |OCREAD | (MOUSE|
|0003dec0| 49 4f 43 7c 36 30 29 0a | 23 64 65 66 69 6e 65 20 |IOC|60).|#define |
|0003ded0| 56 50 43 5f 4d 4f 55 53 | 45 5f 52 45 41 44 20 20 |VPC_MOUS|E_READ |
|0003dee0| 4d 4f 55 53 45 49 4f 43 | 52 45 41 44 0a 23 64 65 |MOUSEIOC|READ.#de|
|0003def0| 66 69 6e 65 09 4d 4f 55 | 53 45 41 43 51 55 49 52 |fine.MOU|SEACQUIR|
|0003df00| 45 09 28 4d 4f 55 53 45 | 49 4f 43 7c 36 31 29 0a |E.(MOUSE|IOC|61).|
|0003df10| 0a 2f 2a 20 4d 6f 75 73 | 65 20 73 74 61 74 75 73 |./* Mous|e status|
|0003df20| 20 72 65 67 69 73 74 65 | 72 20 64 65 66 69 6e 69 | registe|r defini|
|0003df30| 74 69 6f 6e 73 20 2a 2f | 0a 23 64 65 66 69 6e 65 |tions */|.#define|
|0003df40| 20 42 55 54 33 11 01 0d | 02 00 b6 f3 01 02 00 04 | BUT3...|........|
|0003df50| 53 54 41 54 01 04 20 20 | 00 12 31 0a 23 64 65 66 |STAT.. |..1.#def|
|0003df60| 69 6e 65 20 42 55 54 32 | 53 54 41 54 01 04 20 20 |ine BUT2|STAT.. |
|0003df70| 00 12 32 0a 23 64 65 66 | 69 6e 65 20 42 55 54 31 |..2.#def|ine BUT1|
|0003df80| 53 54 41 54 01 04 20 20 | 00 12 34 0a 23 64 65 66 |STAT.. |..4.#def|
|0003df90| 69 6e 65 20 42 55 54 33 | 43 48 4e 47 01 04 20 20 |ine BUT3|CHNG.. |
|0003dfa0| 00 12 38 0a 23 64 65 66 | 69 6e 65 20 42 55 54 32 |..8.#def|ine BUT2|
|0003dfb0| 43 48 4e 47 01 04 20 20 | 00 15 30 78 31 30 0a 23 |CHNG.. |..0x10.#|
|0003dfc0| 64 65 66 69 6e 65 20 42 | 55 54 31 43 48 4e 47 01 |define B|UT1CHNG.|
|0003dfd0| 04 20 20 00 15 30 78 32 | 30 0a 23 64 65 66 69 6e |. ..0x2|0.#defin|
|0003dfe0| 65 20 4d 4f 56 45 4d 45 | 4e 54 01 04 20 20 00 9e |e MOVEME|NT.. ..|
|0003dff0| 30 78 34 30 0a 0a 23 65 | 6e 64 69 66 0a 20 72 61 |0x40..#e|ndif. ra|
|0003e000| 74 69 6f 09 2a 2f 0a 0a | 73 74 72 75 63 74 20 6d |tio.*/..|struct m|
|0003e010| 6f 75 73 65 69 6e 66 6f | 20 7b 20 20 20 20 20 20 |ouseinfo| { |
|0003e020| 20 0a 09 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 | ..unsig|ned char|
|0003e030| 20 73 74 61 74 75 73 3b | 0a 09 63 68 61 72 20 78 | status;|..char x|
|0003e040| 6d 6f 74 69 6f 6e 2c 20 | 79 6d 6f 74 69 6f 6e 3b |motion, |ymotion;|
|0003e050| 0a 7d 3b 0a 09 0a 2f 2a | 0a 20 2a 20 69 6f 63 74 |.};.../*|. * ioct|
|0003e060| 6c 73 20 74 6f 20 74 68 | 65 20 62 75 73 6d 6f 75 |ls to th|e busmou|
|0003e070| 73 65 20 64 72 69 76 65 | 72 0a 20 2a 2f 0a 23 64 |se drive|r. */.#d|
|0003e080| 65 66 69 6e 65 20 4d 4f | 55 53 45 49 4f 43 01 04 |efine MO|USEIOC..|
|0003e090| 20 20 00 ac 28 27 4d 27 | 3c 3c 38 29 0a 23 64 65 | ..('M'|<<8).#de|
|0003e0a0| 66 69 6e 65 20 4d 4f 55 | 53 45 49 4f 43 52 45 41 |fine MOU|SEIOCREA|
|0003e0b0| 44 20 20 20 20 28 4d 4f | 55 53 45 49 4f 43 7c 36 |D (MO|USEIOC|6|
|0003e0c0| 30 29 0a 23 64 65 66 69 | 6e 65 20 56 50 43 5f 4d |0).#defi|ne VPC_M|
|0003e0d0| 4f 55 53 45 5f 52 45 41 | 44 20 20 4d 4f 55 53 45 |OUSE_REA|D MOUSE|
|0003e0e0| 49 4f 43 52 45 41 44 0a | 23 64 65 66 69 6e 65 09 |IOCREAD.|#define.|
|0003e0f0| 4d 4f 55 53 45 41 43 51 | 55 49 52 45 09 28 4d 4f |MOUSEACQ|UIRE.(MO|
|0003e100| 55 53 45 49 4f 43 7c 36 | 31 29 0a 0a 2f 2a 20 4d |USEIOC|6|1)../* M|
|0003e110| 6f 75 73 65 20 73 74 61 | 74 75 73 20 72 65 67 69 |ouse sta|tus regi|
|0003e120| 73 74 65 72 20 64 65 66 | 69 6e 69 74 69 6f 6e 73 |ster def|initions|
|0003e130| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 42 55 54 33 | */.#def|ine BUT3|
|0003e140| 11 01 0e 02 00 79 5d 00 | 02 00 17 2e 2f 75 73 72 |.....y].|..../usr|
|0003e150| 2f 69 6e 63 6c 75 64 65 | 2f 73 79 73 2f 6c 6f 67 |/include|/sys/log|
|0003e160| 2e 68 01 26 00 00 00 39 | 00 20 20 20 34 34 34 20 |.h.&...9|. 444 |
|0003e170| 00 20 20 20 20 20 30 20 | 00 20 20 20 20 20 30 20 |. 0 |. 0 |
|0003e180| 00 20 20 20 20 20 20 20 | 33 36 37 37 20 20 34 32 |. |3677 42|
|0003e190| 34 34 33 34 30 31 33 32 | 20 20 31 30 31 35 35 00 |44340132| 10155.|
|0003e1a0| 20 01 b2 00 00 11 01 0f | 02 00 d4 01 02 00 0a 2f | .......|......./|
|0003e1b0| 2a 0a 20 2a 09 40 28 23 | 29 20 6c 6f 67 2e 68 20 |*. *.@(#|) log.h |
|0003e1c0| 31 2e 31 20 38 38 2f 30 | 35 2f 31 38 20 0a 20 2a |1.1 88/0|5/18 . *|
|0003e1d0| 0a 20 2a 09 43 6f 70 79 | 72 69 67 68 74 20 28 43 |. *.Copy|right (C|
|0003e1e0| 29 20 54 68 65 20 53 61 | 6e 74 61 20 43 72 75 7a |) The Sa|nta Cruz|
|0003e1f0| 20 4f 70 65 72 61 74 69 | 6f 6e 2c 20 31 39 38 34 | Operati|on, 1984|
|0003e200| 2c 20 31 39 38 35 2c 20 | 31 39 38 36 2c 20 31 39 |, 1985, |1986, 19|
|0003e210| 38 37 2c 20 31 39 38 38 | 2e 0a 20 2a 09 43 6f 70 |87, 1988|.. *.Cop|
|0003e220| 79 72 69 67 68 74 20 28 | 43 29 20 4d 69 63 72 6f |yright (|C) Micro|
|0003e230| 73 6f 66 74 20 43 6f 72 | 70 6f 72 61 74 69 6f 6e |soft Cor|poration|
|0003e240| 2c 20 31 39 38 34 2c 20 | 31 39 38 35 2c 20 31 39 |, 1984, |1985, 19|
|0003e250| 38 36 2c 20 31 39 38 37 | 2c 20 31 39 38 38 2e 0a |86, 1987|, 1988..|
|0003e260| 20 2a 09 54 68 69 73 20 | 4d 6f 64 75 6c 65 20 63 | *.This |Module c|
|0003e270| 6f 6e 74 61 69 6e 73 20 | 50 72 6f 70 72 69 65 74 |ontains |Propriet|
|0003e280| 61 72 79 20 49 6e 66 6f | 72 6d 61 74 69 6f 6e 20 |ary Info|rmation |
|0003e290| 6f 66 0a 20 2a 09 54 68 | 65 20 53 61 6e 74 61 20 |of. *.Th|e Santa |
|0003e2a0| 43 72 75 7a 20 4f 70 65 | 72 61 74 69 6f 6e 2c 20 |Cruz Ope|ration, |
|0003e2b0| 4d 69 63 72 6f 73 6f 66 | 74 20 43 6f 72 70 6f 72 |Microsof|t Corpor|
|0003e2c0| 61 74 69 6f 6e 0a 20 2a | 09 61 6e 64 20 41 54 26 |ation. *|.and AT&|
|0003e2d0| 54 2c 20 61 6e 64 20 73 | 68 6f 75 6c 64 20 62 65 |T, and s|hould be|
|0003e2e0| 20 74 72 65 61 74 65 64 | 20 61 73 20 43 6f 6e 66 | treated| as Conf|
|0003e2f0| 69 64 65 6e 74 69 61 6c | 2e 0a 20 2a 2f 0a 0a 2f |idential|.. */../|
|0003e300| 2a 0a 20 2a 20 54 48 49 | 53 20 46 49 4c 45 20 43 |*. * THI|S FILE C|
|0003e310| 4f 4e 54 41 49 4e 53 20 | 43 4f 44 45 20 57 48 49 |ONTAINS |CODE WHI|
|0003e320| 43 48 20 49 53 20 44 45 | 53 49 47 4e 45 44 20 54 |CH IS DE|SIGNED T|
|0003e330| 4f 20 42 45 0a 20 2a 20 | 50 4f 52 54 41 42 4c 45 |O BE. * |PORTABLE|
|0003e340| 20 42 45 54 57 45 45 4e | 20 44 49 46 46 45 52 45 | BETWEEN| DIFFERE|
|0003e350| 4e 54 20 4d 41 43 48 49 | 4e 45 20 41 52 43 48 49 |NT MACHI|NE ARCHI|
|0003e360| 54 45 43 54 55 52 45 53 | 0a 20 2a 20 41 4e 44 20 |TECTURES|. * AND |
|0003e370| 43 4f 4e 46 49 47 55 52 | 41 54 49 4f 4e 53 2e 20 |CONFIGUR|ATIONS. |
|0003e380| 49 54 20 53 48 4f 55 4c | 44 20 4e 4f 54 20 52 45 |IT SHOUL|D NOT RE|
|0003e390| 51 55 49 52 45 20 41 4e | 59 0a 20 2a 20 4d 4f 44 |QUIRE AN|Y. * MOD|
|0003e3a0| 49 46 49 43 41 54 49 4f | 4e 53 20 57 48 45 0f 12 |IFICATIO|NS WHE..|
|0003e3b0| 00 59 12 00 01 02 00 3a | 01 02 00 4e 20 41 44 41 |.Y.....:|...N ADA|
|0003e3c0| 50 54 49 4e 47 20 58 45 | 4e 49 58 20 54 4f 20 4e |PTING XE|NIX TO N|
|0003e3d0| 45 57 20 48 41 52 44 57 | 41 52 45 2e 0a 20 2a 2f |EW HARDW|ARE.. */|
|0003e3e0| 0a 0a 2f 2a 0a 20 2a 20 | 48 65 61 64 65 72 20 66 |../*. * |Header f|
|0003e3f0| 69 6c 65 20 66 6f 72 20 | 74 68 65 20 53 74 72 65 |ile for |the Stre|
|0003e400| 61 6d 73 20 4c 6f 67 20 | 44 72 69 76 65 72 0a 20 |ams Log |Driver. |
|0003e410| 2a 2f 0a 0a 73 74 72 75 | 63 74 20 6c 6f 67 20 7b |*/..stru|ct log {|
|0003e420| 0a 09 75 6e 73 69 67 6e | 65 64 20 6c 6f 67 5f 73 |..unsign|ed log_s|
|0003e430| 74 61 74 65 3b 0a 09 71 | 75 65 75 65 5f 74 20 2a |tate;..q|ueue_t *|
|0003e440| 6c 6f 67 5f 72 64 71 3b | 0a 09 69 6e 74 20 09 6c |log_rdq;|..int .l|
|0003e450| 6f 67 5f 62 63 6e 74 3b | 0a 7d 3b 0a 0a 2f 2a 0a |og_bcnt;|.};../*.|
|0003e460| 20 2a 20 44 72 69 76 65 | 72 20 73 74 61 74 65 20 | * Drive|r state |
|0003e470| 76 61 6c 75 65 73 2e 0a | 20 2a 2f 0a 23 64 65 66 |values..| */.#def|
|0003e480| 69 6e 65 20 4c 4f 47 4f | 50 45 4e 20 09 30 31 0a |ine LOGO|PEN .01.|
|0003e490| 0a 2f 2a 20 0a 20 2a 20 | 4d 6f 64 75 6c 65 20 69 |./* . * |Module i|
|0003e4a0| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 73 74 72 75 63 |nformati|on struc|
|0003e4b0| 74 75 72 65 20 66 69 65 | 6c 64 73 0a 20 2a 2f 0a |ture fie|lds. */.|
|0003e4c0| 23 64 65 66 69 6e 65 20 | 4c 4f 47 5f 4d 49 44 09 |#define |LOG_MID.|
|0003e4d0| 09 34 34 0a 23 64 65 66 | 69 6e 65 20 4c 4f 47 5f |.44.#def|ine LOG_|
|0003e4e0| 4e 41 4d 45 09 22 4c 4f | 47 22 0a 23 64 65 66 69 |NAME."LO|G".#defi|
|0003e4f0| 6e 65 20 4c 4f 47 5f 4d | 49 4e 50 53 09 30 0a 23 |ne LOG_M|INPS.0.#|
|0003e500| 64 65 66 69 6e 65 20 4c | 4f 47 5f 4d 41 58 50 53 |define L|OG_MAXPS|
|0003e510| 09 35 31 32 0a 23 64 65 | 66 69 6e 65 20 4c 4f 47 |.512.#de|fine LOG|
|0003e520| 5f 48 49 57 41 54 09 35 | 31 32 0a 23 64 65 66 69 |_HIWAT.5|12.#defi|
|0003e530| 6e 65 20 4c 4f 47 5f 4c | 4f 57 41 54 09 32 35 36 |ne LOG_L|OWAT.256|
|0003e540| 0a 0a 65 78 74 65 72 6e | 20 73 74 72 6c 6f 67 28 |..extern| strlog(|
|0003e550| 29 3b 0a 0a 23 69 66 64 | 65 66 20 4e 4f 54 44 45 |);..#ifd|ef NOTDE|
|0003e560| 46 20 2f 2a 20 74 65 6d | 70 6f 72 61 72 79 20 2a |F /* tem|porary *|
|0003e570| 2f 0a 65 78 74 65 72 6e | 20 73 74 72 75 63 74 20 |/.extern| struct |
|0003e580| 6c 6f 67 20 6c 6f 67 5f | 6c 6f 67 5b 5d 3b 09 09 |log log_|log[];..|
|0003e590| 2f 2a 20 73 61 64 20 64 | 65 76 69 63 65 20 73 74 |/* sad d|evice st|
|0003e5a0| 61 74 65 20 74 61 62 6c | 65 20 2a 2f 0a 65 78 74 |ate tabl|e */.ext|
|0003e5b0| 65 72 6e 20 69 6e 74 20 | 6c 6f 67 12 00 02 02 00 |ern int |log.....|
|0003e5c0| 2a 01 02 00 5f 63 6e 74 | 3b 09 09 09 2f 2a 20 6e |*..._cnt|;.../* n|
|0003e5d0| 75 6d 62 65 72 20 6f 66 | 20 63 6f 6e 66 69 67 75 |umber of| configu|
|0003e5e0| 72 65 64 20 6d 69 6e 6f | 72 20 64 65 76 69 63 65 |red mino|r device|
|0003e5f0| 73 20 2a 2f 0a 65 78 74 | 65 72 6e 20 69 6e 74 20 |s */.ext|ern int |
|0003e600| 6c 6f 67 5f 62 73 7a 3b | 09 09 09 2f 2a 20 73 69 |log_bsz;|.../* si|
|0003e610| 7a 65 20 6f 66 20 69 6e | 74 65 72 6e 61 6c 20 62 |ze of in|ternal b|
|0003e620| 75 66 66 65 72 20 6f 66 | 20 6c 6f 67 20 6d 65 73 |uffer of| log mes|
|0003e630| 73 61 67 65 73 20 2a 2f | 0a 23 65 6e 64 69 66 0a |sages */|.#endif.|
|0003e640| 0a 2f 2a 0a 20 2a 20 53 | 54 52 4c 4f 47 28 6d 69 |./*. * S|TRLOG(mi|
|0003e650| 64 2c 73 69 64 2c 6c 65 | 76 65 6c 2c 66 6c 61 67 |d,sid,le|vel,flag|
|0003e660| 73 2c 66 6d 74 2c 61 72 | 67 73 29 20 73 68 6f 75 |s,fmt,ar|gs) shou|
|0003e670| 6c 64 20 62 65 20 75 73 | 65 64 20 66 6f 72 20 74 |ld be us|ed for t|
|0003e680| 68 6f 73 65 20 74 72 61 | 63 65 0a 20 2a 20 63 61 |hose tra|ce. * ca|
|0003e690| 6c 6c 73 20 74 68 61 74 | 20 61 72 65 20 6f 6e 6c |lls that| are onl|
|0003e6a0| 79 20 74 6f 20 62 65 20 | 6d 61 64 65 20 64 75 72 |y to be |made dur|
|0003e6b0| 69 6e 67 20 64 65 62 75 | 67 67 69 6e 67 2e 0a 20 |ing debu|gging.. |
|0003e6c0| 2a 2f 0a 23 69 66 64 65 | 66 20 44 45 42 55 47 0a |*/.#ifde|f DEBUG.|
|0003e6d0| 23 64 65 66 69 6e 65 20 | 53 54 52 4c 4f 47 09 73 |#define |STRLOG.s|
|0003e6e0| 74 72 6c 6f 67 0a 23 65 | 6c 73 65 0a 23 64 65 66 |trlog.#e|lse.#def|
|0003e6f0| 69 6e 65 20 53 54 52 4c | 4f 47 0a 23 65 6e 64 69 |ine STRL|OG.#endi|
|0003e700| 66 0a 0a 0a 2f 2a 0a 20 | 2a 20 55 74 69 6c 69 74 |f.../*. |* Utilit|
|0003e710| 79 20 6d 61 63 72 6f 73 | 20 66 6f 72 20 73 74 72 |y macros| for str|
|0003e720| 6c 6f 67 2e 0a 20 2a 2f | 0a 0a 2f 2a 0a 20 2a 20 |log.. */|../*. * |
|0003e730| 6c 6f 67 61 64 6a 75 73 | 74 20 2d 20 6d 6f 76 65 |logadjus|t - move|
|0003e740| 20 61 20 63 68 61 72 61 | 63 74 65 72 20 70 6f 69 | a chara|cter poi|
|0003e750| 6e 74 65 72 20 75 70 20 | 74 6f 20 74 68 65 20 6e |nter up |to the n|
|0003e760| 65 78 74 20 69 6e 74 20 | 62 6f 75 6e 64 61 72 79 |ext int |boundary|
|0003e770| 0a 20 2a 20 61 66 74 65 | 72 20 69 74 73 20 63 75 |. * afte|r its cu|
|0003e780| 72 72 65 6e 74 20 76 61 | 6c 75 65 2e 20 20 41 73 |rrent va|lue. As|
|0003e790| 73 75 6d 65 73 20 73 69 | 7a 65 6f 66 28 69 6e 74 |sumes si|zeof(int|
|0003e7a0| 29 20 69 73 20 32 2a 2a | 6e 20 62 79 74 65 73 20 |) is 2**|n bytes |
|0003e7b0| 66 6f 72 20 73 6f 6d 65 | 20 69 6e 74 65 67 65 72 |for some| integer|
|0003e7c0| 20 6e 2e 20 12 00 03 02 | 00 92 01 02 00 0a 20 2a | n. ....|...... *|
|0003e7d0| 2f 0a 23 64 65 66 69 6e | 65 20 6c 6f 67 61 64 6a |/.#defin|e logadj|
|0003e7e0| 75 73 74 28 77 70 29 20 | 28 63 68 61 72 20 2a 29 |ust(wp) |(char *)|
|0003e7f0| 28 28 28 75 6e 73 69 67 | 6e 65 64 29 77 70 20 2b |(((unsig|ned)wp +|
+--------+-------------------------+-------------------------+--------+--------+
Only 250.0 KB of data is shown above.