home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume24 / sysVr4386slip / part01 next >
SHell self-extracting ARchive  |  1991-03-21  |  52.3 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: SHell self-extracting ARchive (archive/shar).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news or mail, ASCII text default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 75 62 6a 65 63 74 3a | 20 20 76 32 34 69 30 37 |Subject:| v24i07|
|00000010| 38 3a 20 20 53 79 73 74 | 65 6d 56 72 34 2f 33 38 |8: Syst|emVr4/38|
|00000020| 36 20 53 4c 49 50 20 64 | 72 69 76 65 72 20 61 6e |6 SLIP d|river an|
|00000030| 64 20 75 74 69 6c 69 74 | 69 65 73 2c 20 50 61 72 |d utilit|ies, Par|
|00000040| 74 30 31 2f 30 34 0a 4e | 65 77 73 67 72 6f 75 70 |t01/04.N|ewsgroup|
|00000050| 73 3a 20 63 6f 6d 70 2e | 73 6f 75 72 63 65 73 2e |s: comp.|sources.|
|00000060| 75 6e 69 78 0a 41 70 70 | 72 6f 76 65 64 3a 20 72 |unix.App|roved: r|
|00000070| 73 61 6c 7a 40 75 75 6e | 65 74 2e 55 55 2e 4e 45 |salz@uun|et.UU.NE|
|00000080| 54 0a 58 2d 43 68 65 63 | 6b 73 75 6d 2d 53 6e 65 |T.X-Chec|ksum-Sne|
|00000090| 66 72 75 3a 20 65 32 38 | 61 38 34 62 61 20 39 37 |fru: e28|a84ba 97|
|000000a0| 33 63 63 66 65 33 20 31 | 34 30 30 64 63 36 38 20 |3ccfe3 1|400dc68 |
|000000b0| 35 64 34 65 32 37 62 36 | 0a 0a 53 75 62 6d 69 74 |5d4e27b6|..Submit|
|000000c0| 74 65 64 2d 62 79 3a 20 | 73 75 64 6a 69 40 69 6e |ted-by: |sudji@in|
|000000d0| 64 6f 2e 69 6e 74 65 6c | 2e 63 6f 6d 20 28 53 75 |do.intel|.com (Su|
|000000e0| 64 6a 69 20 48 75 73 6f | 64 6f 29 0a 50 6f 73 74 |dji Huso|do).Post|
|000000f0| 69 6e 67 2d 6e 75 6d 62 | 65 72 3a 20 56 6f 6c 75 |ing-numb|er: Volu|
|00000100| 6d 65 20 32 34 2c 20 49 | 73 73 75 65 20 37 38 0a |me 24, I|ssue 78.|
|00000110| 41 72 63 68 69 76 65 2d | 6e 61 6d 65 3a 20 73 79 |Archive-|name: sy|
|00000120| 73 56 72 34 33 38 36 73 | 6c 69 70 2f 70 61 72 74 |sVr4386s|lip/part|
|00000130| 30 31 0a 0a 5b 20 49 20 | 72 65 70 61 63 6b 65 64 |01..[ I |repacked|
|00000140| 20 74 68 69 73 2c 20 62 | 75 74 20 68 61 76 65 20 | this, b|ut have |
|00000150| 6e 6f 74 20 74 65 73 74 | 65 64 20 69 74 2e 20 20 |not test|ed it. |
|00000160| 49 74 20 6d 69 67 68 74 | 20 72 75 6e 20 6f 6e 20 |It might| run on |
|00000170| 6f 74 68 65 72 20 53 79 | 73 56 72 34 0a 20 20 73 |other Sy|sVr4. s|
|00000180| 79 73 74 65 6d 73 20 77 | 69 74 68 6f 75 74 20 74 |ystems w|ithout t|
|00000190| 6f 6f 20 6d 61 6e 79 20 | 63 68 61 6e 67 65 73 2e |oo many |changes.|
|000001a0| 20 20 2d 2d 72 24 20 5d | 0a 0a 54 68 69 73 20 70 | --r$ ]|..This p|
|000001b0| 61 63 6b 61 67 65 20 63 | 6f 6e 74 61 69 6e 73 20 |ackage c|ontains |
|000001c0| 61 20 53 4c 49 50 20 64 | 72 69 76 65 72 20 61 6e |a SLIP d|river an|
|000001d0| 64 20 72 65 6c 61 74 65 | 64 20 75 74 69 6c 69 74 |d relate|d utilit|
|000001e0| 69 65 73 20 66 6f 72 20 | 55 6e 69 78 20 53 79 73 |ies for |Unix Sys|
|000001f0| 74 65 6d 0a 56 2f 33 38 | 36 20 52 65 6c 65 61 73 |tem.V/38|6 Releas|
|00000200| 65 20 34 2e 30 2e 20 20 | 53 4c 49 50 20 69 73 20 |e 4.0. |SLIP is |
|00000210| 61 20 70 72 6f 74 6f 63 | 6f 6c 20 74 68 61 74 20 |a protoc|ol that |
|00000220| 6c 65 74 73 20 79 6f 75 | 20 72 75 6e 20 74 68 65 |lets you| run the|
|00000230| 20 49 50 20 28 61 6e 64 | 0a 72 65 6c 61 74 65 64 | IP (and|.related|
|00000240| 29 20 6e 65 74 77 6f 72 | 6b 20 70 72 6f 74 6f 63 |) networ|k protoc|
|00000250| 6f 6c 73 20 6f 76 65 72 | 20 61 20 73 74 61 6e 64 |ols over| a stand|
|00000260| 61 72 64 20 73 65 72 69 | 61 6c 20 6c 69 6e 65 2e |ard seri|al line.|
|00000270| 0a 0a 54 68 65 20 75 74 | 69 6c 69 74 79 20 70 72 |..The ut|ility pr|
|00000280| 6f 67 72 61 6d 73 20 69 | 6e 63 6c 75 64 65 3a 0a |ograms i|nclude:.|
|00000290| 09 2b 73 6c 61 74 74 61 | 63 68 2c 20 74 6f 20 6c |.+slatta|ch, to l|
|000002a0| 69 6e 6b 20 74 68 65 20 | 53 4c 49 50 20 73 74 72 |ink the |SLIP str|
|000002b0| 65 61 6d 73 20 64 72 69 | 76 65 72 20 74 6f 20 74 |eams dri|ver to t|
|000002c0| 68 65 20 73 65 72 69 61 | 6c 20 70 6f 72 74 2c 20 |he seria|l port, |
|000002d0| 61 6e 64 20 74 68 65 0a | 09 20 49 50 20 64 72 69 |and the.|. IP dri|
|000002e0| 76 65 72 20 74 6f 20 74 | 68 65 20 53 4c 49 50 20 |ver to t|he SLIP |
|000002f0| 64 72 69 76 65 72 2e 0a | 09 2b 73 6c 68 61 6e 67 |driver..|.+slhang|
|00000300| 75 70 20 61 6e 64 20 73 | 6c 68 61 6e 67 75 70 64 |up and s|lhangupd|
|00000310| 2c 20 74 6f 20 70 72 6f | 63 65 73 73 20 68 61 6e |, to pro|cess han|
|00000320| 67 75 70 20 6d 65 73 73 | 61 67 65 73 2e 0a 09 2b |gup mess|ages...+|
|00000330| 64 69 61 6c 73 6c 69 70 | 2c 20 74 6f 20 61 6c 6c |dialslip|, to all|
|00000340| 6f 77 20 68 6f 73 74 73 | 20 74 6f 20 64 69 61 6c |ow hosts| to dial|
|00000350| 20 69 6e 20 61 6e 64 20 | 73 74 61 72 74 20 53 4c | in and |start SL|
|00000360| 49 50 20 73 65 73 73 69 | 6f 6e 73 2e 0a 0a 23 21 |IP sessi|ons...#!|
|00000370| 20 2f 62 69 6e 2f 73 68 | 0a 23 20 54 68 69 73 20 | /bin/sh|.# This |
|00000380| 69 73 20 61 20 73 68 65 | 6c 6c 20 61 72 63 68 69 |is a she|ll archi|
|00000390| 76 65 2e 20 20 52 65 6d | 6f 76 65 20 61 6e 79 74 |ve. Rem|ove anyt|
|000003a0| 68 69 6e 67 20 62 65 66 | 6f 72 65 20 74 68 69 73 |hing bef|ore this|
|000003b0| 20 6c 69 6e 65 2c 20 74 | 68 65 6e 20 66 65 65 64 | line, t|hen feed|
|000003c0| 20 69 74 0a 23 20 69 6e | 74 6f 20 61 20 73 68 65 | it.# in|to a she|
|000003d0| 6c 6c 20 76 69 61 20 22 | 73 68 20 66 69 6c 65 22 |ll via "|sh file"|
|000003e0| 20 6f 72 20 73 69 6d 69 | 6c 61 72 2e 20 20 54 6f | or simi|lar. To|
|000003f0| 20 6f 76 65 72 77 72 69 | 74 65 20 65 78 69 73 74 | overwri|te exist|
|00000400| 69 6e 67 20 66 69 6c 65 | 73 2c 0a 23 20 74 79 70 |ing file|s,.# typ|
|00000410| 65 20 22 73 68 20 66 69 | 6c 65 20 2d 63 22 2e 0a |e "sh fi|le -c"..|
|00000420| 23 20 54 68 65 20 74 6f | 6f 6c 20 74 68 61 74 20 |# The to|ol that |
|00000430| 67 65 6e 65 72 61 74 65 | 64 20 74 68 69 73 20 61 |generate|d this a|
|00000440| 70 70 65 61 72 65 64 20 | 69 6e 20 74 68 65 20 63 |ppeared |in the c|
|00000450| 6f 6d 70 2e 73 6f 75 72 | 63 65 73 2e 75 6e 69 78 |omp.sour|ces.unix|
|00000460| 20 6e 65 77 73 67 72 6f | 75 70 3b 0a 23 20 73 65 | newsgro|up;.# se|
|00000470| 6e 64 20 6d 61 69 6c 20 | 74 6f 20 63 6f 6d 70 2d |nd mail |to comp-|
|00000480| 73 6f 75 72 63 65 73 2d | 75 6e 69 78 40 75 75 6e |sources-|unix@uun|
|00000490| 65 74 2e 75 75 2e 6e 65 | 74 20 69 66 20 79 6f 75 |et.uu.ne|t if you|
|000004a0| 20 77 61 6e 74 20 74 68 | 61 74 20 74 6f 6f 6c 2e | want th|at tool.|
|000004b0| 0a 23 20 43 6f 6e 74 65 | 6e 74 73 3a 20 20 50 41 |.# Conte|nts: PA|
|000004c0| 43 4b 4e 4f 54 45 53 20 | 52 45 41 44 4d 45 20 4d |CKNOTES |README M|
|000004d0| 41 4e 49 46 45 53 54 20 | 64 69 61 6c 73 6c 69 70 |ANIFEST |dialslip|
|000004e0| 20 64 72 69 76 65 72 20 | 64 72 69 76 65 72 2f 49 | driver |driver/I|
|000004f0| 44 0a 23 20 20 20 64 72 | 69 76 65 72 2f 69 6f 20 |D.# dr|iver/io |
|00000500| 64 72 69 76 65 72 2f 69 | 6f 2f 73 6c 69 70 2e 63 |driver/i|o/slip.c|
|00000510| 20 64 72 69 76 65 72 2f | 73 79 73 20 64 72 69 76 | driver/|sys driv|
|00000520| 65 72 2f 76 32 2e 69 70 | 2e 66 69 78 0a 23 20 20 |er/v2.ip|.fix.# |
|00000530| 20 64 72 69 76 65 72 2f | 76 32 2e 69 70 2e 66 69 | driver/|v2.ip.fi|
|00000540| 78 2f 44 72 69 76 65 72 | 2e 55 55 2e 30 32 20 6d |x/Driver|.UU.02 m|
|00000550| 61 6e 20 6d 61 6e 2f 6d | 61 6e 31 20 6d 61 6e 2f |an man/m|an1 man/|
|00000560| 6d 61 6e 37 20 75 74 69 | 6c 73 0a 23 20 57 72 61 |man7 uti|ls.# Wra|
|00000570| 70 70 65 64 20 62 79 20 | 72 73 61 6c 7a 40 6c 69 |pped by |rsalz@li|
|00000580| 74 63 68 69 2e 62 62 6e | 2e 63 6f 6d 20 6f 6e 20 |tchi.bbn|.com on |
|00000590| 46 72 69 20 4d 61 72 20 | 32 32 20 31 31 3a 35 37 |Fri Mar |22 11:57|
|000005a0| 3a 31 30 20 31 39 39 31 | 0a 50 41 54 48 3d 2f 62 |:10 1991|.PATH=/b|
|000005b0| 69 6e 3a 2f 75 73 72 2f | 62 69 6e 3a 2f 75 73 72 |in:/usr/|bin:/usr|
|000005c0| 2f 75 63 62 20 3b 20 65 | 78 70 6f 72 74 20 50 41 |/ucb ; e|xport PA|
|000005d0| 54 48 0a 65 63 68 6f 20 | 49 66 20 74 68 69 73 20 |TH.echo |If this |
|000005e0| 61 72 63 68 69 76 65 20 | 69 73 20 63 6f 6d 70 6c |archive |is compl|
|000005f0| 65 74 65 2c 20 79 6f 75 | 20 77 69 6c 6c 20 73 65 |ete, you| will se|
|00000600| 65 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |e the fo|llowing |
|00000610| 6d 65 73 73 61 67 65 3a | 0a 65 63 68 6f 20 27 20 |message:|.echo ' |
|00000620| 20 20 20 20 20 20 20 20 | 20 22 73 68 61 72 3a 20 | | "shar: |
|00000630| 45 6e 64 20 6f 66 20 61 | 72 63 68 69 76 65 20 31 |End of a|rchive 1|
|00000640| 20 28 6f 66 20 34 29 2e | 22 27 0a 69 66 20 74 65 | (of 4).|"'.if te|
|00000650| 73 74 20 2d 66 20 27 50 | 41 43 4b 4e 4f 54 45 53 |st -f 'P|ACKNOTES|
|00000660| 27 20 2d 61 20 22 24 7b | 31 7d 22 20 21 3d 20 22 |' -a "${|1}" != "|
|00000670| 2d 63 22 20 3b 20 74 68 | 65 6e 20 0a 20 20 65 63 |-c" ; th|en . ec|
|00000680| 68 6f 20 73 68 61 72 3a | 20 57 69 6c 6c 20 6e 6f |ho shar:| Will no|
|00000690| 74 20 63 6c 6f 62 62 65 | 72 20 65 78 69 73 74 69 |t clobbe|r existi|
|000006a0| 6e 67 20 66 69 6c 65 20 | 5c 22 27 50 41 43 4b 4e |ng file |\"'PACKN|
|000006b0| 4f 54 45 53 27 5c 22 0a | 65 6c 73 65 0a 20 20 65 |OTES'\".|else. e|
|000006c0| 63 68 6f 20 73 68 61 72 | 3a 20 45 78 74 72 61 63 |cho shar|: Extrac|
|000006d0| 74 69 6e 67 20 5c 22 27 | 50 41 43 4b 4e 4f 54 45 |ting \"'|PACKNOTE|
|000006e0| 53 27 5c 22 20 5c 28 32 | 34 32 20 63 68 61 72 61 |S'\" \(2|42 chara|
|000006f0| 63 74 65 72 73 5c 29 0a | 20 20 73 65 64 20 22 73 |cters\).| sed "s|
|00000700| 2f 5e 58 2f 2f 22 20 3e | 27 50 41 43 4b 4e 4f 54 |/^X//" >|'PACKNOT|
|00000710| 45 53 27 20 3c 3c 27 45 | 4e 44 5f 4f 46 5f 46 49 |ES' <<'E|ND_OF_FI|
|00000720| 4c 45 27 0a 58 0a 58 23 | 20 22 64 72 69 76 65 72 |LE'.X.X#| "driver|
|00000730| 2f 76 32 2e 69 70 2e 66 | 69 78 2f 2f 44 72 69 76 |/v2.ip.f|ix//Driv|
|00000740| 65 72 2e 6f 2e 55 55 22 | 20 77 61 73 20 73 70 6c |er.o.UU"| was spl|
|00000750| 69 74 20 69 6e 74 6f 20 | 32 20 70 61 72 74 73 3b |it into |2 parts;|
|00000760| 20 74 6f 20 63 72 65 61 | 74 65 20 69 74 2c 20 64 | to crea|te it, d|
|00000770| 6f 0a 58 09 63 61 74 20 | 64 72 69 76 65 72 2f 76 |o.X.cat |driver/v|
|00000780| 32 2e 69 70 2e 66 69 78 | 2f 2f 44 72 69 76 65 72 |2.ip.fix|//Driver|
|00000790| 2e 55 55 2e 30 5b 31 2d | 39 5d 20 3e 64 72 69 76 |.UU.0[1-|9] >driv|
|000007a0| 65 72 2f 76 32 2e 69 70 | 2e 66 69 78 2f 2f 44 72 |er/v2.ip|.fix//Dr|
|000007b0| 69 76 65 72 2e 6f 2e 55 | 55 0a 58 23 20 52 75 6e |iver.o.U|U.X# Run|
|000007c0| 20 75 75 64 65 63 6f 64 | 65 20 74 6f 20 63 72 65 | uudecod|e to cre|
|000007d0| 61 74 65 20 22 64 72 69 | 76 65 72 2f 76 32 2e 69 |ate "dri|ver/v2.i|
|000007e0| 70 2e 66 69 78 2f 2f 44 | 72 69 76 65 72 2e 6f 22 |p.fix//D|river.o"|
|000007f0| 3a 0a 58 09 75 75 64 65 | 63 6f 64 65 20 64 72 69 |:.X.uude|code dri|
|00000800| 76 65 72 2f 76 32 2e 69 | 70 2e 66 69 78 2f 2f 44 |ver/v2.i|p.fix//D|
|00000810| 72 69 76 65 72 2e 6f 2e | 55 55 0a 45 4e 44 5f 4f |river.o.|UU.END_O|
|00000820| 46 5f 46 49 4c 45 0a 20 | 20 69 66 20 74 65 73 74 |F_FILE. | if test|
|00000830| 20 32 34 32 20 2d 6e 65 | 20 60 77 63 20 2d 63 20 | 242 -ne| `wc -c |
|00000840| 3c 27 50 41 43 4b 4e 4f | 54 45 53 27 60 3b 20 74 |<'PACKNO|TES'`; t|
|00000850| 68 65 6e 0a 20 20 20 20 | 65 63 68 6f 20 73 68 61 |hen. |echo sha|
|00000860| 72 3a 20 5c 22 27 50 41 | 43 4b 4e 4f 54 45 53 27 |r: \"'PA|CKNOTES'|
|00000870| 5c 22 20 75 6e 70 61 63 | 6b 65 64 20 77 69 74 68 |\" unpac|ked with|
|00000880| 20 77 72 6f 6e 67 20 73 | 69 7a 65 21 0a 20 20 66 | wrong s|ize!. f|
|00000890| 69 0a 20 20 23 20 65 6e | 64 20 6f 66 20 27 50 41 |i. # en|d of 'PA|
|000008a0| 43 4b 4e 4f 54 45 53 27 | 0a 66 69 0a 69 66 20 74 |CKNOTES'|.fi.if t|
|000008b0| 65 73 74 20 2d 66 20 27 | 52 45 41 44 4d 45 27 20 |est -f '|README' |
|000008c0| 2d 61 20 22 24 7b 31 7d | 22 20 21 3d 20 22 2d 63 |-a "${1}|" != "-c|
|000008d0| 22 20 3b 20 74 68 65 6e | 20 0a 20 20 65 63 68 6f |" ; then| . echo|
|000008e0| 20 73 68 61 72 3a 20 57 | 69 6c 6c 20 6e 6f 74 20 | shar: W|ill not |
|000008f0| 63 6c 6f 62 62 65 72 20 | 65 78 69 73 74 69 6e 67 |clobber |existing|
|00000900| 20 66 69 6c 65 20 5c 22 | 27 52 45 41 44 4d 45 27 | file \"|'README'|
|00000910| 5c 22 0a 65 6c 73 65 0a | 20 20 65 63 68 6f 20 73 |\".else.| echo s|
|00000920| 68 61 72 3a 20 45 78 74 | 72 61 63 74 69 6e 67 20 |har: Ext|racting |
|00000930| 5c 22 27 52 45 41 44 4d | 45 27 5c 22 20 5c 28 33 |\"'READM|E'\" \(3|
|00000940| 35 35 38 20 63 68 61 72 | 61 63 74 65 72 73 5c 29 |558 char|acters\)|
|00000950| 0a 20 20 73 65 64 20 22 | 73 2f 5e 58 2f 2f 22 20 |. sed "|s/^X//" |
|00000960| 3e 27 52 45 41 44 4d 45 | 27 20 3c 3c 27 45 4e 44 |>'README|' <<'END|
|00000970| 5f 4f 46 5f 46 49 4c 45 | 27 0a 58 0a 58 53 4c 49 |_OF_FILE|'.X.XSLI|
|00000980| 50 20 28 53 65 72 69 61 | 6c 20 4c 69 6e 6b 20 49 |P (Seria|l Link I|
|00000990| 6e 74 65 72 6e 65 74 20 | 50 72 6f 74 6f 63 6f 6c |nternet |Protocol|
|000009a0| 29 0a 58 0a 58 54 6f 20 | 62 75 69 6c 64 20 61 6e |).X.XTo |build an|
|000009b0| 64 20 69 6e 73 74 61 6c | 6c 20 74 68 65 20 73 6c |d instal|l the sl|
|000009c0| 69 70 20 64 72 69 76 65 | 72 2c 20 74 68 65 20 73 |ip drive|r, the s|
|000009d0| 6c 69 70 20 75 74 69 6c | 69 74 69 65 73 2c 20 61 |lip util|ities, a|
|000009e0| 6e 64 20 74 68 65 20 73 | 6c 69 70 20 6c 6f 67 69 |nd the s|lip logi|
|000009f0| 6e 0a 58 28 64 69 61 6c | 73 6c 69 70 29 20 75 74 |n.X(dial|slip) ut|
|00000a00| 69 6c 69 74 69 65 73 2c | 20 74 79 70 65 20 74 68 |ilities,| type th|
|00000a10| 65 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 63 6f 6d 6d |e follow|ing comm|
|00000a20| 61 6e 64 3a 0a 58 0a 58 | 09 6d 61 6b 65 0a 58 0a |and:.X.X|.make.X.|
|00000a30| 58 0a 58 53 4c 49 50 20 | 44 52 49 56 45 52 0a 58 |X.XSLIP |DRIVER.X|
|00000a40| 0a 58 49 66 20 79 6f 75 | 20 61 72 65 20 75 73 69 |.XIf you| are usi|
|00000a50| 6e 67 20 55 6e 69 78 20 | 53 79 73 74 65 6d 20 56 |ng Unix |System V|
|00000a60| 20 52 65 6c 65 61 73 65 | 20 34 2e 30 2e 32 20 6f | Release| 4.0.2 o|
|00000a70| 72 20 62 65 6c 6f 77 2c | 20 79 6f 75 20 77 69 6c |r below,| you wil|
|00000a80| 6c 20 6e 65 65 64 20 74 | 6f 20 63 6f 70 79 0a 58 |l need t|o copy.X|
|00000a90| 76 32 2e 69 70 2e 66 69 | 78 2f 44 72 69 76 65 72 |v2.ip.fi|x/Driver|
|00000aa0| 2e 6f 20 74 6f 20 2f 65 | 74 63 2f 63 6f 6e 66 2f |.o to /e|tc/conf/|
|00000ab0| 70 61 63 6b 2e 64 2f 69 | 70 2f 44 72 69 76 65 72 |pack.d/i|p/Driver|
|00000ac0| 2e 6f 20 20 62 65 66 6f | 72 65 20 79 6f 75 20 62 |.o befo|re you b|
|00000ad0| 75 69 6c 64 20 74 68 65 | 0a 58 6b 65 72 6e 65 6c |uild the|.Xkernel|
|00000ae0| 2e 20 54 68 65 20 69 70 | 20 64 72 69 76 65 72 20 |. The ip| driver |
|00000af0| 6f 66 20 55 6e 69 78 20 | 53 79 73 74 65 6d 20 56 |of Unix |System V|
|00000b00| 20 52 20 34 2e 30 2e 32 | 20 68 61 73 20 61 20 62 | R 4.0.2| has a b|
|00000b10| 75 67 20 66 6f 72 20 61 | 20 70 6f 69 6e 74 20 74 |ug for a| point t|
|00000b20| 6f 20 70 6f 69 6e 74 0a | 58 63 6f 6e 6e 65 63 74 |o point.|Xconnect|
|00000b30| 69 6f 6e 20 77 68 69 63 | 68 20 70 61 6e 69 63 73 |ion whic|h panics|
|00000b40| 20 74 68 65 20 73 79 73 | 74 65 6d 2e 20 54 68 65 | the sys|tem. The|
|00000b50| 20 76 32 2e 69 70 2e 66 | 69 78 2f 44 72 69 76 65 | v2.ip.f|ix/Drive|
|00000b60| 72 2e 6f 20 66 69 78 65 | 73 20 74 68 65 20 70 72 |r.o fixe|s the pr|
|00000b70| 6f 62 6c 65 6d 2e 0a 58 | 53 4c 49 50 20 28 53 65 |oblem..X|SLIP (Se|
|00000b80| 72 69 61 6c 20 4c 69 6e | 6b 20 49 6e 74 65 72 6e |rial Lin|k Intern|
|00000b90| 65 74 20 50 72 6f 74 6f | 63 6f 6c 29 0a 58 0a 58 |et Proto|col).X.X|
|00000ba0| 49 66 20 79 6f 75 20 6e | 65 65 64 20 74 6f 20 63 |If you n|eed to c|
|00000bb0| 6f 6e 66 69 67 75 72 65 | 20 74 68 65 20 73 65 63 |onfigure| the sec|
|00000bc0| 6f 6e 64 20 73 65 72 69 | 61 6c 20 70 6f 72 74 2c |ond seri|al port,|
|00000bd0| 20 62 65 63 61 75 73 65 | 20 79 6f 75 72 20 66 69 | because| your fi|
|00000be0| 72 73 74 20 73 65 72 69 | 61 6c 0a 58 70 6f 72 74 |rst seri|al.Xport|
|00000bf0| 20 69 73 20 75 73 65 64 | 20 62 79 20 6f 74 68 65 | is used| by othe|
|00000c00| 72 20 64 65 76 69 63 65 | 2c 20 72 65 66 65 72 20 |r device|, refer |
|00000c10| 74 6f 20 49 6e 74 65 6c | 27 73 20 55 6e 69 78 20 |to Intel|'s Unix |
|00000c20| 53 79 73 74 65 6d 20 56 | 2e 34 2e 30 20 41 64 6d |System V|.4.0 Adm|
|00000c30| 69 6e 69 73 74 72 61 2d | 0a 58 74 6f 72 73 20 47 |inistra-|.Xtors G|
|00000c40| 75 69 64 65 2e 0a 58 09 | 0a 58 4f 6e 63 65 20 74 |uide..X.|.XOnce t|
|00000c50| 68 65 20 6e 65 77 20 69 | 70 20 64 72 69 76 65 72 |he new i|p driver|
|00000c60| 20 61 6e 64 20 74 68 65 | 20 73 6c 69 70 20 68 61 | and the| slip ha|
|00000c70| 76 65 20 62 65 65 6e 20 | 69 6e 73 74 61 6c 6c 65 |ve been |installe|
|00000c80| 64 2c 20 61 6e 64 20 79 | 6f 75 72 20 73 65 72 69 |d, and y|our seri|
|00000c90| 61 6c 20 70 6f 72 74 0a | 58 68 61 73 20 62 65 65 |al port.|Xhas bee|
|00000ca0| 6e 20 73 65 74 20 75 70 | 2c 20 79 6f 75 20 63 61 |n set up|, you ca|
|00000cb0| 6e 20 62 75 69 6c 64 20 | 74 68 65 20 6b 65 72 6e |n build |the kern|
|00000cc0| 65 6c 20 75 73 69 6e 67 | 20 74 68 65 20 69 64 62 |el using| the idb|
|00000cd0| 75 69 6c 64 20 63 6f 6d | 6d 61 6e 64 2e 20 44 6f |uild com|mand. Do|
|00000ce0| 6e 27 74 0a 58 66 6f 72 | 67 65 74 20 74 6f 20 72 |n't.Xfor|get to r|
|00000cf0| 65 62 6f 6f 74 20 79 6f | 75 72 20 73 79 73 74 65 |eboot yo|ur syste|
|00000d00| 6d 20 61 66 74 65 72 20 | 74 68 65 20 69 64 62 75 |m after |the idbu|
|00000d10| 69 6c 64 20 63 6f 6d 6d | 61 6e 64 20 63 6f 6d 70 |ild comm|and comp|
|00000d20| 6c 65 74 65 73 20 73 75 | 63 63 65 73 66 75 6c 6c |letes su|ccesfull|
|00000d30| 79 0a 58 66 6f 72 20 74 | 68 65 20 6e 65 77 20 6b |y.Xfor t|he new k|
|00000d40| 65 72 6e 65 6c 20 74 6f | 20 74 61 6b 65 20 69 6e |ernel to| take in|
|00000d50| 74 6f 20 65 66 66 65 63 | 74 2e 0a 58 0a 58 0a 58 |to effec|t..X.X.X|
|00000d60| 53 4c 49 50 20 55 54 49 | 4c 49 54 49 45 53 0a 58 |SLIP UTI|LITIES.X|
|00000d70| 0a 58 73 6c 61 74 74 61 | 63 68 0a 58 0a 58 54 68 |.Xslatta|ch.X.XTh|
|00000d80| 65 20 73 6c 61 74 74 61 | 63 68 20 63 6f 6d 6d 61 |e slatta|ch comma|
|00000d90| 6e 64 20 6c 69 6e 6b 73 | 20 74 68 65 20 73 6c 69 |nd links| the sli|
|00000da0| 70 20 73 74 72 65 61 6d | 73 20 64 72 69 76 65 72 |p stream|s driver|
|00000db0| 20 74 6f 20 74 68 65 20 | 73 65 72 69 61 6c 20 70 | to the |serial p|
|00000dc0| 6f 72 74 20 61 6e 64 20 | 6c 69 6e 6b 73 0a 58 74 |ort and |links.Xt|
|00000dd0| 68 65 20 69 70 20 64 72 | 69 76 65 72 20 74 6f 20 |he ip dr|iver to |
|00000de0| 74 68 65 20 73 6c 69 70 | 20 64 72 69 76 65 72 2e |the slip| driver.|
|00000df0| 0a 58 0a 58 54 68 65 20 | 73 79 6e 74 61 78 20 6f |.X.XThe |syntax o|
|00000e00| 66 20 73 6c 61 74 74 61 | 63 68 20 69 73 20 61 73 |f slatta|ch is as|
|00000e10| 20 66 6f 6c 6c 6f 77 69 | 6e 67 3a 0a 58 0a 58 09 | followi|ng:.X.X.|
|00000e20| 73 6c 61 74 74 61 63 68 | 20 5b 2d 69 5d 20 6e 6f |slattach| [-i] no|
|00000e30| 64 65 6e 61 6d 65 20 69 | 6e 74 65 72 66 61 63 65 |dename i|nterface|
|00000e40| 5f 6e 61 6d 65 20 0a 58 | 4f 52 20 20 73 6c 61 74 |_name .X|OR slat|
|00000e50| 74 61 63 68 20 2d 64 20 | 5b 2d 69 5d 20 64 65 76 |tach -d |[-i] dev|
|00000e60| 6e 61 6d 65 20 69 6e 74 | 65 72 66 61 63 65 5f 6e |name int|erface_n|
|00000e70| 61 6d 65 20 5b 20 62 61 | 75 64 72 61 74 65 20 5d |ame [ ba|udrate ]|
|00000e80| 0a 58 4f 52 20 20 73 6c | 61 74 74 61 63 68 20 2d |.XOR sl|attach -|
|00000e90| 20 69 6e 74 65 72 66 61 | 63 65 5f 6e 61 6d 65 0a | interfa|ce_name.|
|00000ea0| 58 0a 58 54 68 65 20 66 | 69 72 73 74 20 6f 70 74 |X.XThe f|irst opt|
|00000eb0| 69 6f 6e 20 75 73 65 73 | 20 74 68 65 20 42 61 73 |ion uses| the Bas|
|00000ec0| 69 63 20 4e 65 74 77 6f | 72 6b 69 6e 67 20 55 74 |ic Netwo|rking Ut|
|00000ed0| 69 6c 69 74 69 65 73 20 | 28 41 64 76 61 6e 63 65 |ilities |(Advance|
|00000ee0| 64 20 53 79 73 74 65 6d | 0a 58 41 64 6d 69 6e 69 |d System|.XAdmini|
|00000ef0| 73 74 72 61 74 69 6f 6e | 20 56 6f 6c 75 6d 65 20 |stration| Volume |
|00000f00| 31 20 43 68 61 70 74 65 | 72 20 37 2d 31 35 29 2e |1 Chapte|r 7-15).|
|00000f10| 20 4f 6e 63 65 20 74 68 | 65 20 61 64 6d 69 6e 69 | Once th|e admini|
|00000f20| 73 74 72 61 74 69 6f 6e | 20 66 69 6c 65 73 0a 58 |stration| files.X|
|00000f30| 61 72 65 20 73 65 74 20 | 75 70 2c 20 79 6f 75 20 |are set |up, you |
|00000f40| 63 61 6e 20 75 73 65 20 | 74 68 65 20 72 65 6d 6f |can use |the remo|
|00000f50| 74 65 20 6e 6f 64 65 20 | 6e 61 6d 65 20 74 6f 20 |te node |name to |
|00000f60| 61 74 74 61 63 68 20 73 | 6c 69 70 20 64 69 72 65 |attach s|lip dire|
|00000f70| 63 74 6c 79 0a 58 6f 72 | 20 74 68 72 6f 75 67 68 |ctly.Xor| through|
|00000f80| 20 79 6f 75 72 20 6d 6f | 64 65 6d 2e 20 45 78 61 | your mo|dem. Exa|
|00000f90| 6d 70 6c 65 3a 0a 58 09 | 73 6c 61 74 74 61 63 68 |mple:.X.|slattach|
|00000fa0| 20 76 65 6e 75 73 20 73 | 6c 30 0a 58 0a 58 54 68 | venus s|l0.X.XTh|
|00000fb0| 65 20 22 2d 64 22 20 64 | 6f 65 73 20 6e 6f 74 20 |e "-d" d|oes not |
|00000fc0| 75 73 65 20 42 4e 55 20 | 62 75 74 20 64 69 72 65 |use BNU |but dire|
|00000fd0| 63 74 6c 79 20 6f 70 65 | 6e 20 74 68 65 20 6e 65 |ctly ope|n the ne|
|00000fe0| 78 74 20 61 72 67 75 6d | 65 6e 74 20 77 68 69 63 |xt argum|ent whic|
|00000ff0| 68 20 69 73 0a 58 74 68 | 65 20 73 65 72 69 61 6c |h is.Xth|e serial|
|00001000| 20 64 65 76 69 63 65 20 | 61 6e 64 20 6c 69 6e 6b | device |and link|
|00001010| 20 69 74 20 74 6f 20 74 | 68 65 20 73 6c 69 70 20 | it to t|he slip |
|00001020| 64 72 69 76 65 72 2e 20 | 54 68 65 20 62 61 75 64 |driver. |The baud|
|00001030| 72 61 74 65 20 73 65 74 | 73 20 75 70 0a 58 74 68 |rate set|s up.Xth|
|00001040| 65 20 6c 69 6e 65 20 73 | 70 65 65 64 20 6f 66 20 |e line s|peed of |
|00001050| 74 68 65 20 73 65 72 69 | 61 6c 20 6c 69 6e 65 3b |the seri|al line;|
|00001060| 20 74 68 65 20 64 65 66 | 61 75 6c 74 20 62 61 75 | the def|ault bau|
|00001070| 64 72 61 74 65 20 69 73 | 20 39 36 30 30 2e 0a 58 |drate is| 9600..X|
|00001080| 0a 58 54 6f 20 73 74 61 | 72 74 20 74 68 65 20 73 |.XTo sta|rt the s|
|00001090| 6c 69 70 20 69 6e 74 65 | 72 66 61 63 65 20 75 73 |lip inte|rface us|
|000010a0| 69 6e 67 20 74 68 65 20 | 66 69 72 73 74 20 73 65 |ing the |first se|
|000010b0| 72 69 61 6c 20 70 6f 72 | 74 20 61 74 20 31 32 30 |rial por|t at 120|
|000010c0| 30 20 62 61 75 64 0a 58 | 65 78 65 63 75 74 65 20 |0 baud.X|execute |
|000010d0| 74 68 65 20 62 65 6c 6f | 77 20 63 6f 6d 6d 61 6e |the belo|w comman|
|000010e0| 64 3a 0a 58 0a 58 09 73 | 6c 61 74 74 61 63 68 20 |d:.X.X.s|lattach |
|000010f0| 2d 64 20 2f 64 65 76 2f | 74 74 79 30 30 20 73 6c |-d /dev/|tty00 sl|
|00001100| 30 20 31 32 30 30 0a 58 | 0a 58 49 66 20 74 68 65 |0 1200.X|.XIf the|
|00001110| 20 73 6c 69 70 20 68 61 | 6e 67 75 70 20 64 61 65 | slip ha|ngup dae|
|00001120| 6d 6f 6e 20 28 73 6c 68 | 61 6e 67 75 70 64 29 20 |mon (slh|angupd) |
|00001130| 69 73 20 72 75 6e 2c 20 | 73 6c 61 74 74 61 63 68 |is run, |slattach|
|00001140| 20 62 79 20 64 65 66 61 | 75 6c 74 20 69 73 20 73 | by defa|ult is s|
|00001150| 65 74 0a 58 74 6f 20 72 | 65 63 65 69 76 65 20 68 |et.Xto r|eceive h|
|00001160| 61 6e 67 75 70 20 73 69 | 67 6e 61 6c 20 28 53 49 |angup si|gnal (SI|
|00001170| 47 48 55 50 29 20 73 65 | 6e 74 20 62 79 20 74 68 |GHUP) se|nt by th|
|00001180| 65 20 73 6c 69 70 20 64 | 72 69 76 65 72 20 74 68 |e slip d|river th|
|00001190| 72 6f 75 67 68 20 73 6c | 68 61 6e 67 75 70 64 2e |rough sl|hangupd.|
|000011a0| 0a 58 54 68 65 20 2d 69 | 20 6f 70 74 69 6f 6e 20 |.XThe -i| option |
|000011b0| 69 67 6e 6f 72 65 73 20 | 61 6e 79 20 68 61 6e 67 |ignores |any hang|
|000011c0| 75 70 20 73 69 67 6e 61 | 6c 2e 0a 58 0a 58 0a 58 |up signa|l..X.X.X|
|000011d0| 69 66 63 6f 6e 66 69 67 | 0a 58 0a 58 54 68 69 73 |ifconfig|.X.XThis|
|000011e0| 20 75 74 69 6c 69 74 79 | 20 69 73 20 69 6e 63 6c | utility| is incl|
|000011f0| 75 64 65 64 20 69 6e 20 | 74 68 65 20 73 74 61 6e |uded in |the stan|
|00001200| 64 61 72 64 20 62 61 73 | 65 20 55 6e 69 78 20 53 |dard bas|e Unix S|
|00001210| 79 73 74 65 6d 20 56 20 | 52 65 6c 65 61 73 65 20 |ystem V |Release |
|00001220| 34 2e 30 0a 58 70 72 6f | 64 75 63 74 2e 20 49 66 |4.0.Xpro|duct. If|
|00001230| 63 6f 6e 66 69 67 20 69 | 73 20 75 73 65 64 20 74 |config i|s used t|
|00001240| 6f 20 63 6f 6e 66 69 67 | 75 72 65 20 79 6f 75 72 |o config|ure your|
|00001250| 20 73 79 73 74 65 6d 20 | 74 6f 20 74 68 65 20 72 | system |to the r|
|00001260| 65 6d 6f 74 65 20 73 6c | 69 70 20 6e 6f 64 65 2e |emote sl|ip node.|
|00001270| 0a 58 0a 58 09 69 66 63 | 6f 6e 66 69 67 20 69 6e |.X.X.ifc|onfig in|
|00001280| 74 65 72 66 61 63 65 5f | 6e 61 6d 65 20 73 6f 75 |terface_|name sou|
|00001290| 72 63 65 20 64 65 73 74 | 69 6e 61 74 69 6f 6e 20 |rce dest|ination |
|000012a0| 75 70 0a 58 0a 58 0a 58 | 73 6c 68 61 6e 67 75 70 |up.X.X.X|slhangup|
|000012b0| 64 0a 58 0a 58 53 6c 68 | 61 6e 67 75 70 20 28 73 |d.X.XSlh|angup (s|
|000012c0| 6c 69 70 20 68 61 6e 67 | 75 70 20 64 61 65 6d 6f |lip hang|up daemo|
|000012d0| 6e 29 20 69 73 20 61 20 | 64 61 65 6d 6f 6e 20 75 |n) is a |daemon u|
|000012e0| 73 65 64 20 74 6f 20 72 | 65 63 65 69 76 65 20 6d |sed to r|eceive m|
|000012f0| 65 73 73 61 67 65 73 20 | 73 65 6e 74 20 62 79 0a |essages |sent by.|
|00001300| 58 74 68 65 20 73 6c 69 | 70 20 64 72 69 76 65 72 |Xthe sli|p driver|
|00001310| 2e 20 57 68 65 6e 65 76 | 65 72 20 74 68 65 20 73 |. Whenev|er the s|
|00001320| 6c 69 70 20 64 72 69 76 | 65 72 20 72 65 63 65 69 |lip driv|er recei|
|00001330| 76 65 73 20 61 20 4d 5f | 48 41 4e 47 55 50 20 6d |ves a M_|HANGUP m|
|00001340| 65 73 73 61 67 65 20 66 | 72 6f 6d 0a 58 61 20 70 |essage f|rom.Xa p|
|00001350| 61 72 74 69 63 75 6c 61 | 72 20 6c 69 6e 65 2c 20 |articula|r line, |
|00001360| 74 68 65 20 64 72 69 76 | 65 72 20 73 65 6e 64 73 |the driv|er sends|
|00001370| 20 73 65 6e 64 73 20 74 | 68 65 20 70 72 6f 63 65 | sends t|he proce|
|00001380| 73 73 20 69 64 20 6f 66 | 20 74 68 65 20 63 6f 6e |ss id of| the con|
|00001390| 74 72 6f 6c 6c 69 6e 67 | 0a 58 73 6c 61 74 74 61 |trolling|.Xslatta|
|000013a0| 63 68 20 70 72 6f 63 65 | 73 73 20 74 6f 20 73 6c |ch proce|ss to sl|
|000013b0| 68 61 6e 67 75 70 64 2e | 20 53 6c 68 61 6e 67 75 |hangupd.| Slhangu|
|000013c0| 70 20 74 68 65 6e 20 77 | 69 6c 6c 20 73 65 6e 64 |p then w|ill send|
|000013d0| 20 61 20 53 49 47 48 55 | 50 20 28 68 61 6e 67 75 | a SIGHU|P (hangu|
|000013e0| 70 0a 58 73 69 67 6e 61 | 6c 29 20 74 6f 20 74 68 |p.Xsigna|l) to th|
|000013f0| 65 20 70 69 64 20 72 65 | 63 65 69 76 65 64 20 66 |e pid re|ceived f|
|00001400| 72 6f 6d 20 74 68 65 20 | 73 6c 69 70 20 64 72 69 |rom the |slip dri|
|00001410| 76 65 72 2e 0a 58 0a 58 | 54 68 65 72 65 20 69 73 |ver..X.X|There is|
|00001420| 20 6e 6f 20 72 65 73 74 | 72 69 63 74 69 6f 6e 20 | no rest|riction |
|00001430| 6f 66 20 74 68 65 20 65 | 78 65 63 75 74 69 6f 6e |of the e|xecution|
|00001440| 20 6f 72 64 65 72 20 6f | 66 20 73 6c 61 74 74 61 | order o|f slatta|
|00001450| 63 68 20 61 6e 64 20 73 | 6c 68 61 6e 67 75 70 64 |ch and s|lhangupd|
|00001460| 2e 0a 58 0a 58 0a 58 73 | 6c 64 65 74 61 63 68 0a |..X.X.Xs|ldetach.|
|00001470| 58 0a 58 73 6c 64 65 74 | 61 63 68 20 72 65 6d 6f |X.Xsldet|ach remo|
|00001480| 76 65 73 20 74 68 65 20 | 73 65 72 69 61 6c 20 6c |ves the |serial l|
|00001490| 69 6e 65 20 74 68 61 74 | 20 69 73 20 62 65 69 6e |ine that| is bein|
|000014a0| 67 20 75 73 65 64 20 66 | 6f 72 20 73 6c 69 70 20 |g used f|or slip |
|000014b0| 63 6f 6e 6e 65 63 74 69 | 6f 6e 2e 0a 58 0a 58 09 |connecti|on..X.X.|
|000014c0| 73 6c 64 65 74 61 63 68 | 20 69 6e 74 65 72 66 61 |sldetach| interfa|
|000014d0| 63 65 5f 6e 61 6d 65 0a | 58 09 0a 58 0a 58 44 49 |ce_name.|X..X.XDI|
|000014e0| 41 4c 53 4c 49 50 20 28 | 73 6c 69 70 20 6c 6f 67 |ALSLIP (|slip log|
|000014f0| 69 6e 20 75 74 69 6c 69 | 74 69 65 73 29 0a 58 0a |in utili|ties).X.|
|00001500| 58 54 6f 20 69 6e 73 74 | 61 6c 6c 20 64 69 61 6c |XTo inst|all dial|
|00001510| 73 6c 69 70 3a 0a 58 0a | 58 31 2e 20 20 53 65 74 |slip:.X.|X1. Set|
|00001520| 20 75 70 20 74 68 65 20 | 2f 65 74 63 2f 73 6c 69 | up the |/etc/sli|
|00001530| 70 2e 68 6f 73 74 73 20 | 66 69 6c 65 2e 20 20 54 |p.hosts |file. T|
|00001540| 68 69 73 20 66 69 6c 65 | 20 6d 61 70 73 20 6c 6f |his file| maps lo|
|00001550| 67 69 6e 20 6e 61 6d 65 | 73 20 74 6f 20 49 50 0a |gin name|s to IP.|
|00001560| 58 20 20 20 20 61 64 64 | 72 65 73 73 65 73 2c 20 |X add|resses, |
|00001570| 77 68 69 63 68 20 23 20 | 63 6f 6d 6d 65 6e 74 73 |which # |comments|
|00001580| 2c 20 61 73 20 75 73 75 | 61 6c 2e 0a 58 0a 58 32 |, as usu|al..X.X2|
|00001590| 2e 20 20 53 65 74 20 75 | 70 20 74 68 65 20 2f 65 |. Set u|p the /e|
|000015a0| 74 63 2f 73 6c 69 70 2e | 63 6f 6e 66 69 67 20 66 |tc/slip.|config f|
|000015b0| 69 6c 65 2e 20 20 54 68 | 69 73 20 66 69 6c 65 20 |ile. Th|is file |
|000015c0| 64 65 66 69 6e 65 73 20 | 74 68 65 20 49 50 20 61 |defines |the IP a|
|000015d0| 64 64 72 65 73 73 0a 58 | 20 20 20 20 6f 66 20 74 |ddress.X| of t|
|000015e0| 68 65 20 6c 6f 63 61 6c | 20 73 79 73 74 65 6d 20 |he local| system |
|000015f0| 6f 6e 20 65 61 63 68 20 | 69 6e 74 65 72 66 61 63 |on each |interfac|
|00001600| 65 2e 20 20 53 65 74 20 | 74 68 65 6d 20 61 6c 6c |e. Set |them all|
|00001610| 20 74 68 65 20 73 61 6d | 65 2e 20 20 54 68 65 72 | the sam|e. Ther|
|00001620| 65 0a 58 20 20 20 20 63 | 61 6e 20 62 65 20 61 73 |e.X c|an be as|
|00001630| 20 6d 61 6e 79 20 73 69 | 6d 75 6c 74 61 6e 65 6f | many si|multaneo|
|00001640| 75 73 20 6c 6f 67 69 6e | 73 20 61 73 20 6c 69 6e |us login|s as lin|
|00001650| 65 73 20 69 6e 20 74 68 | 69 73 20 66 69 6c 65 20 |es in th|is file |
|00001660| 28 6e 6f 74 20 63 6f 75 | 6e 74 69 6e 67 0a 58 20 |(not cou|nting.X |
|00001670| 20 20 20 63 6f 6d 6d 65 | 6e 74 73 29 2e 0a 58 0a | comme|nts)..X.|
|00001680| 58 33 2e 20 20 52 75 6e | 20 22 6d 6b 73 6c 69 70 |X3. Run| "mkslip|
|00001690| 75 73 65 72 22 2e 20 20 | 54 68 69 73 20 62 75 69 |user". |This bui|
|000016a0| 6c 64 73 20 61 20 66 69 | 6c 65 20 73 69 6d 69 6c |lds a fi|le simil|
|000016b0| 61 72 20 69 6e 20 6e 61 | 74 75 72 65 20 74 6f 20 |ar in na|ture to |
|000016c0| 75 74 6d 70 20 74 68 61 | 74 0a 58 20 20 20 20 6b |utmp tha|t.X k|
|000016d0| 65 65 70 73 20 74 72 61 | 63 6b 20 6f 66 20 77 68 |eeps tra|ck of wh|
|000016e0| 6f 27 73 20 6c 6f 67 67 | 65 64 20 69 6e 20 61 6e |o's logg|ed in an|
|000016f0| 64 20 77 68 61 74 20 69 | 6e 74 65 72 66 61 63 65 |d what i|nterface|
|00001700| 20 74 68 65 79 27 72 65 | 20 75 73 69 6e 67 2e 0a | they're| using..|
|00001710| 58 20 20 20 20 54 68 69 | 73 20 63 6f 6d 6d 61 6e |X Thi|s comman|
|00001720| 64 20 73 68 6f 75 6c 64 | 20 61 6c 73 6f 20 62 65 |d should| also be|
|00001730| 20 72 75 6e 20 61 74 20 | 62 6f 6f 74 20 74 69 6d | run at |boot tim|
|00001740| 65 20 74 6f 20 63 6c 65 | 61 6e 20 74 68 69 6e 67 |e to cle|an thing|
|00001750| 73 20 75 70 2e 0a 58 0a | 58 34 2e 20 20 53 65 74 |s up..X.|X4. Set|
|00001760| 20 75 70 20 61 63 63 6f | 75 6e 74 73 20 66 6f 72 | up acco|unts for|
|00001770| 20 65 61 63 68 20 73 79 | 73 74 65 6d 20 64 69 61 | each sy|stem dia|
|00001780| 6c 69 6e 67 20 69 6e 20 | 77 69 74 68 20 22 73 6c |ling in |with "sl|
|00001790| 69 70 22 20 61 73 20 74 | 68 65 20 73 68 65 6c 6c |ip" as t|he shell|
|000017a0| 0a 58 20 20 20 20 77 69 | 74 68 20 69 74 73 20 73 |.X wi|th its s|
|000017b0| 65 74 75 69 64 20 62 69 | 74 20 73 65 74 20 74 6f |etuid bi|t set to|
|000017c0| 20 72 6f 6f 74 2e 0a 58 | 0a 45 4e 44 5f 4f 46 5f | root..X|.END_OF_|
|000017d0| 46 49 4c 45 0a 20 20 69 | 66 20 74 65 73 74 20 33 |FILE. i|f test 3|
|000017e0| 35 35 38 20 2d 6e 65 20 | 60 77 63 20 2d 63 20 3c |558 -ne |`wc -c <|
|000017f0| 27 52 45 41 44 4d 45 27 | 60 3b 20 74 68 65 6e 0a |'README'|`; then.|
|00001800| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 5c | echo| shar: \|
|00001810| 22 27 52 45 41 44 4d 45 | 27 5c 22 20 75 6e 70 61 |"'README|'\" unpa|
|00001820| 63 6b 65 64 20 77 69 74 | 68 20 77 72 6f 6e 67 20 |cked wit|h wrong |
|00001830| 73 69 7a 65 21 0a 20 20 | 66 69 0a 20 20 23 20 65 |size!. |fi. # e|
|00001840| 6e 64 20 6f 66 20 27 52 | 45 41 44 4d 45 27 0a 66 |nd of 'R|EADME'.f|
|00001850| 69 0a 69 66 20 74 65 73 | 74 20 2d 66 20 27 4d 41 |i.if tes|t -f 'MA|
|00001860| 4e 49 46 45 53 54 27 20 | 2d 61 20 22 24 7b 31 7d |NIFEST' |-a "${1}|
|00001870| 22 20 21 3d 20 22 2d 63 | 22 20 3b 20 74 68 65 6e |" != "-c|" ; then|
|00001880| 20 0a 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 57 | . echo| shar: W|
|00001890| 69 6c 6c 20 6e 6f 74 20 | 63 6c 6f 62 62 65 72 20 |ill not |clobber |
|000018a0| 65 78 69 73 74 69 6e 67 | 20 66 69 6c 65 20 5c 22 |existing| file \"|
|000018b0| 27 4d 41 4e 49 46 45 53 | 54 27 5c 22 0a 65 6c 73 |'MANIFES|T'\".els|
|000018c0| 65 0a 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 45 |e. echo| shar: E|
|000018d0| 78 74 72 61 63 74 69 6e | 67 20 5c 22 27 4d 41 4e |xtractin|g \"'MAN|
|000018e0| 49 46 45 53 54 27 5c 22 | 20 5c 28 31 33 36 33 20 |IFEST'\"| \(1363 |
|000018f0| 63 68 61 72 61 63 74 65 | 72 73 5c 29 0a 20 20 73 |characte|rs\). s|
|00001900| 65 64 20 22 73 2f 5e 58 | 2f 2f 22 20 3e 27 4d 41 |ed "s/^X|//" >'MA|
|00001910| 4e 49 46 45 53 54 27 20 | 3c 3c 27 45 4e 44 5f 4f |NIFEST' |<<'END_O|
|00001920| 46 5f 46 49 4c 45 27 0a | 58 20 20 20 46 69 6c 65 |F_FILE'.|X File|
|00001930| 20 4e 61 6d 65 09 09 41 | 72 63 68 69 76 65 20 23 | Name..A|rchive #|
|00001940| 09 44 65 73 63 72 69 70 | 74 69 6f 6e 0a 58 2d 2d |.Descrip|tion.X--|
|00001950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001980| 2d 2d 2d 2d 2d 2d 2d 2d | 0a 58 50 41 43 4b 4e 4f |--------|.XPACKNO|
|00001990| 54 45 53 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |TES | |
|000019a0| 20 20 20 20 20 31 09 0a | 58 52 45 41 44 4d 45 20 | 1..|XREADME |
|000019b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000019c0| 20 20 20 20 31 09 0a 58 | 4d 41 4e 49 46 45 53 54 | 1..X|MANIFEST|
|000019d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000019e0| 20 20 20 31 09 0a 58 4d | 61 6b 65 66 69 6c 65 20 | 1..XM|akefile |
|000019f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a00| 20 20 34 09 0a 58 64 69 | 61 6c 73 6c 69 70 20 20 | 4..Xdi|alslip |
|00001a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a20| 20 31 09 0a 58 64 69 61 | 6c 73 6c 69 70 2f 4d 61 | 1..Xdia|lslip/Ma|
|00001a30| 6b 65 66 69 6c 65 20 20 | 20 20 20 20 20 20 20 20 |kefile | |
|00001a40| 34 09 0a 58 64 69 61 6c | 73 6c 69 70 2f 52 45 41 |4..Xdial|slip/REA|
|00001a50| 44 4d 45 2e 64 69 61 6c | 73 6c 69 70 20 20 20 34 |DME.dial|slip 4|
|00001a60| 09 0a 58 64 69 61 6c 73 | 6c 69 70 2f 64 73 6c 69 |..Xdials|lip/dsli|
|00001a70| 70 75 73 65 72 2e 63 20 | 20 20 20 20 20 20 34 09 |puser.c | 4.|
|00001a80| 0a 58 64 69 61 6c 73 6c | 69 70 2f 6d 6b 73 6c 69 |.Xdialsl|ip/mksli|
|00001a90| 70 75 73 65 72 2e 63 20 | 20 20 20 20 20 33 09 0a |puser.c | 3..|
|00001aa0| 58 64 69 61 6c 73 6c 69 | 70 2f 73 6c 69 70 2e 63 |Xdialsli|p/slip.c|
|00001ab0| 20 20 20 20 20 20 20 20 | 20 20 20 20 33 09 0a 58 | | 3..X|
|00001ac0| 64 69 61 6c 73 6c 69 70 | 2f 73 6c 69 70 2e 63 6f |dialslip|/slip.co|
|00001ad0| 6e 66 69 67 20 20 20 20 | 20 20 20 34 09 0a 58 64 |nfig | 4..Xd|
|00001ae0| 69 61 6c 73 6c 69 70 2f | 73 6c 69 70 2e 68 20 20 |ialslip/|slip.h |
|00001af0| 20 20 20 20 20 20 20 20 | 20 20 33 09 0a 58 64 69 | | 3..Xdi|
|00001b00| 61 6c 73 6c 69 70 2f 73 | 6c 69 70 2e 68 6f 73 74 |alslip/s|lip.host|
|00001b10| 73 20 20 20 20 20 20 20 | 20 34 09 0a 58 64 72 69 |s | 4..Xdri|
|00001b20| 76 65 72 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ver | |
|00001b30| 20 20 20 20 20 20 20 20 | 31 09 0a 58 64 72 69 76 | |1..Xdriv|
|00001b40| 65 72 2f 49 44 20 20 20 | 20 20 20 20 20 20 20 20 |er/ID | |
|00001b50| 20 20 20 20 20 20 20 31 | 09 0a 58 64 72 69 76 65 | 1|..Xdrive|
|00001b60| 72 2f 49 44 2f 4d 61 73 | 74 65 72 20 20 20 20 20 |r/ID/Mas|ter |
|00001b70| 20 20 20 20 20 20 32 09 | 0a 58 64 72 69 76 65 72 | 2.|.Xdriver|
|00001b80| 2f 49 44 2f 4e 6f 64 65 | 20 20 20 20 20 20 20 20 |/ID/Node| |
|00001b90| 20 20 20 20 20 34 09 0a | 58 64 72 69 76 65 72 2f | 4..|Xdriver/|
|00001ba0| 49 44 2f 53 70 61 63 65 | 2e 63 20 20 20 20 20 20 |ID/Space|.c |
|00001bb0| 20 20 20 20 32 09 0a 58 | 64 72 69 76 65 72 2f 49 | 2..X|driver/I|
|00001bc0| 44 2f 53 79 73 74 65 6d | 20 20 20 20 20 20 20 20 |D/System| |
|00001bd0| 20 20 20 34 09 0a 58 64 | 72 69 76 65 72 2f 69 6f | 4..Xd|river/io|
|00001be0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001bf0| 20 20 31 09 0a 58 64 72 | 69 76 65 72 2f 69 6f 2f | 1..Xdr|iver/io/|
|00001c00| 73 6c 69 70 2e 63 20 20 | 20 20 20 20 20 20 20 20 |slip.c | |
|00001c10| 20 31 09 0a 58 64 72 69 | 76 65 72 2f 69 6f 2f 73 | 1..Xdri|ver/io/s|
|00001c20| 6c 69 70 2e 6d 6b 20 20 | 20 20 20 20 20 20 20 20 |lip.mk | |
|00001c30| 34 09 0a 58 64 72 69 76 | 65 72 2f 73 79 73 20 20 |4..Xdriv|er/sys |
|00001c40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 31 | | 1|
|00001c50| 09 0a 58 64 72 69 76 65 | 72 2f 73 79 73 2f 73 6c |..Xdrive|r/sys/sl|
|00001c60| 69 70 2e 68 20 20 20 20 | 20 20 20 20 20 20 34 09 |ip.h | 4.|
|00001c70| 0a 58 64 72 69 76 65 72 | 2f 76 32 2e 69 70 2e 66 |.Xdriver|/v2.ip.f|
|00001c80| 69 78 20 20 20 20 20 20 | 20 20 20 20 20 31 09 0a |ix | 1..|
|00001c90| 58 64 72 69 76 65 72 2f | 76 32 2e 69 70 2e 66 69 |Xdriver/|v2.ip.fi|
|00001ca0| 78 2f 44 72 69 76 65 72 | 2e 55 55 2e 30 31 20 20 |x/Driver|.UU.01 |
|00001cb0| 32 09 0a 58 64 72 69 76 | 65 72 2f 76 32 2e 69 70 |2..Xdriv|er/v2.ip|
|00001cc0| 2e 66 69 78 2f 44 72 69 | 76 65 72 2e 55 55 2e 30 |.fix/Dri|ver.UU.0|
|00001cd0| 32 20 20 31 09 0a 58 6d | 61 6e 20 20 20 20 20 20 |2 1..Xm|an |
|00001ce0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001cf0| 20 20 31 09 0a 58 6d 61 | 6e 2f 6d 61 6e 31 20 20 | 1..Xma|n/man1 |
|00001d00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001d10| 20 31 09 0a 58 6d 61 6e | 2f 6d 61 6e 31 2f 64 73 | 1..Xman|/man1/ds|
|00001d20| 6c 69 70 75 73 65 72 2e | 31 20 20 20 20 20 20 20 |lipuser.|1 |
|00001d30| 33 09 0a 58 6d 61 6e 2f | 6d 61 6e 31 2f 6d 6b 73 |3..Xman/|man1/mks|
|00001d40| 6c 69 70 75 73 65 72 2e | 31 20 20 20 20 20 20 33 |lipuser.|1 3|
|00001d50| 09 0a 58 6d 61 6e 2f 6d | 61 6e 31 2f 73 6c 61 74 |..Xman/m|an1/slat|
|00001d60| 74 61 63 68 2e 31 20 20 | 20 20 20 20 20 20 33 09 |tach.1 | 3.|
|00001d70| 0a 58 6d 61 6e 2f 6d 61 | 6e 31 2f 73 6c 64 65 74 |.Xman/ma|n1/sldet|
|00001d80| 61 63 68 2e 31 20 20 20 | 20 20 20 20 20 33 09 0a |ach.1 | 3..|
|00001d90| 58 6d 61 6e 2f 6d 61 6e | 31 2f 73 6c 68 61 6e 67 |Xman/man|1/slhang|
|00001da0| 75 70 64 2e 31 20 20 20 | 20 20 20 20 34 09 0a 58 |upd.1 | 4..X|
|00001db0| 6d 61 6e 2f 6d 61 6e 31 | 2f 73 6c 69 70 2e 31 20 |man/man1|/slip.1 |
|00001dc0| 20 20 20 20 20 20 20 20 | 20 20 20 33 09 0a 58 6d | | 3..Xm|
|00001dd0| 61 6e 2f 6d 61 6e 37 20 | 20 20 20 20 20 20 20 20 |an/man7 | |
|00001de0| 20 20 20 20 20 20 20 20 | 20 20 31 09 0a 58 6d 61 | | 1..Xma|
|00001df0| 6e 2f 6d 61 6e 37 2f 73 | 6c 69 70 2e 37 20 20 20 |n/man7/s|lip.7 |
|00001e00| 20 20 20 20 20 20 20 20 | 20 33 09 0a 58 75 74 69 | | 3..Xuti|
|00001e10| 6c 73 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ls | |
|00001e20| 20 20 20 20 20 20 20 20 | 31 09 0a 58 75 74 69 6c | |1..Xutil|
|00001e30| 73 2f 4d 61 6b 65 66 69 | 6c 65 20 20 20 20 20 20 |s/Makefi|le |
|00001e40| 20 20 20 20 20 20 20 34 | 09 0a 58 75 74 69 6c 73 | 4|..Xutils|
|00001e50| 2f 73 6c 61 74 74 61 63 | 68 2e 63 20 20 20 20 20 |/slattac|h.c |
|00001e60| 20 20 20 20 20 20 33 09 | 0a 58 75 74 69 6c 73 2f | 3.|.Xutils/|
|00001e70| 73 6c 64 65 74 61 63 68 | 20 20 20 20 20 20 20 20 |sldetach| |
|00001e80| 20 20 20 20 20 34 09 0a | 58 75 74 69 6c 73 2f 73 | 4..|Xutils/s|
|00001e90| 6c 68 61 6e 67 75 70 64 | 2e 63 20 20 20 20 20 20 |lhangupd|.c |
|00001ea0| 20 20 20 20 33 09 0a 45 | 4e 44 5f 4f 46 5f 46 49 | 3..E|ND_OF_FI|
|00001eb0| 4c 45 0a 20 20 69 66 20 | 74 65 73 74 20 31 33 36 |LE. if |test 136|
|00001ec0| 33 20 2d 6e 65 20 60 77 | 63 20 2d 63 20 3c 27 4d |3 -ne `w|c -c <'M|
|00001ed0| 41 4e 49 46 45 53 54 27 | 60 3b 20 74 68 65 6e 0a |ANIFEST'|`; then.|
|00001ee0| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 5c | echo| shar: \|
|00001ef0| 22 27 4d 41 4e 49 46 45 | 53 54 27 5c 22 20 75 6e |"'MANIFE|ST'\" un|
|00001f00| 70 61 63 6b 65 64 20 77 | 69 74 68 20 77 72 6f 6e |packed w|ith wron|
|00001f10| 67 20 73 69 7a 65 21 0a | 20 20 66 69 0a 20 20 23 |g size!.| fi. #|
|00001f20| 20 65 6e 64 20 6f 66 20 | 27 4d 41 4e 49 46 45 53 | end of |'MANIFES|
|00001f30| 54 27 0a 66 69 0a 69 66 | 20 74 65 73 74 20 21 20 |T'.fi.if| test ! |
|00001f40| 2d 64 20 27 64 69 61 6c | 73 6c 69 70 27 20 3b 20 |-d 'dial|slip' ; |
|00001f50| 74 68 65 6e 0a 20 20 20 | 20 65 63 68 6f 20 73 68 |then. | echo sh|
|00001f60| 61 72 3a 20 43 72 65 61 | 74 69 6e 67 20 64 69 72 |ar: Crea|ting dir|
|00001f70| 65 63 74 6f 72 79 20 5c | 22 27 64 69 61 6c 73 6c |ectory \|"'dialsl|
|00001f80| 69 70 27 5c 22 0a 20 20 | 20 20 6d 6b 64 69 72 20 |ip'\". | mkdir |
|00001f90| 27 64 69 61 6c 73 6c 69 | 70 27 0a 66 69 0a 69 66 |'dialsli|p'.fi.if|
|00001fa0| 20 74 65 73 74 20 21 20 | 2d 64 20 27 64 72 69 76 | test ! |-d 'driv|
|00001fb0| 65 72 27 20 3b 20 74 68 | 65 6e 0a 20 20 20 20 65 |er' ; th|en. e|
|00001fc0| 63 68 6f 20 73 68 61 72 | 3a 20 43 72 65 61 74 69 |cho shar|: Creati|
|00001fd0| 6e 67 20 64 69 72 65 63 | 74 6f 72 79 20 5c 22 27 |ng direc|tory \"'|
|00001fe0| 64 72 69 76 65 72 27 5c | 22 0a 20 20 20 20 6d 6b |driver'\|". mk|
|00001ff0| 64 69 72 20 27 64 72 69 | 76 65 72 27 0a 66 69 0a |dir 'dri|ver'.fi.|
|00002000| 69 66 20 74 65 73 74 20 | 21 20 2d 64 20 27 64 72 |if test |! -d 'dr|
|00002010| 69 76 65 72 2f 49 44 27 | 20 3b 20 74 68 65 6e 0a |iver/ID'| ; then.|
|00002020| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 43 | echo| shar: C|
|00002030| 72 65 61 74 69 6e 67 20 | 64 69 72 65 63 74 6f 72 |reating |director|
|00002040| 79 20 5c 22 27 64 72 69 | 76 65 72 2f 49 44 27 5c |y \"'dri|ver/ID'\|
|00002050| 22 0a 20 20 20 20 6d 6b | 64 69 72 20 27 64 72 69 |". mk|dir 'dri|
|00002060| 76 65 72 2f 49 44 27 0a | 66 69 0a 69 66 20 74 65 |ver/ID'.|fi.if te|
|00002070| 73 74 20 21 20 2d 64 20 | 27 64 72 69 76 65 72 2f |st ! -d |'driver/|
|00002080| 69 6f 27 20 3b 20 74 68 | 65 6e 0a 20 20 20 20 65 |io' ; th|en. e|
|00002090| 63 68 6f 20 73 68 61 72 | 3a 20 43 72 65 61 74 69 |cho shar|: Creati|
|000020a0| 6e 67 20 64 69 72 65 63 | 74 6f 72 79 20 5c 22 27 |ng direc|tory \"'|
|000020b0| 64 72 69 76 65 72 2f 69 | 6f 27 5c 22 0a 20 20 20 |driver/i|o'\". |
|000020c0| 20 6d 6b 64 69 72 20 27 | 64 72 69 76 65 72 2f 69 | mkdir '|driver/i|
|000020d0| 6f 27 0a 66 69 0a 69 66 | 20 74 65 73 74 20 2d 66 |o'.fi.if| test -f|
|000020e0| 20 27 64 72 69 76 65 72 | 2f 69 6f 2f 73 6c 69 70 | 'driver|/io/slip|
|000020f0| 2e 63 27 20 2d 61 20 22 | 24 7b 31 7d 22 20 21 3d |.c' -a "|${1}" !=|
|00002100| 20 22 2d 63 22 20 3b 20 | 74 68 65 6e 20 0a 20 20 | "-c" ; |then . |
|00002110| 65 63 68 6f 20 73 68 61 | 72 3a 20 57 69 6c 6c 20 |echo sha|r: Will |
|00002120| 6e 6f 74 20 63 6c 6f 62 | 62 65 72 20 65 78 69 73 |not clob|ber exis|
|00002130| 74 69 6e 67 20 66 69 6c | 65 20 5c 22 27 64 72 69 |ting fil|e \"'dri|
|00002140| 76 65 72 2f 69 6f 2f 73 | 6c 69 70 2e 63 27 5c 22 |ver/io/s|lip.c'\"|
|00002150| 0a 65 6c 73 65 0a 20 20 | 65 63 68 6f 20 73 68 61 |.else. |echo sha|
|00002160| 72 3a 20 45 78 74 72 61 | 63 74 69 6e 67 20 5c 22 |r: Extra|cting \"|
|00002170| 27 64 72 69 76 65 72 2f | 69 6f 2f 73 6c 69 70 2e |'driver/|io/slip.|
|00002180| 63 27 5c 22 20 5c 28 32 | 31 37 35 35 20 63 68 61 |c'\" \(2|1755 cha|
|00002190| 72 61 63 74 65 72 73 5c | 29 0a 20 20 73 65 64 20 |racters\|). sed |
|000021a0| 22 73 2f 5e 58 2f 2f 22 | 20 3e 27 64 72 69 76 65 |"s/^X//"| >'drive|
|000021b0| 72 2f 69 6f 2f 73 6c 69 | 70 2e 63 27 20 3c 3c 27 |r/io/sli|p.c' <<'|
|000021c0| 45 4e 44 5f 4f 46 5f 46 | 49 4c 45 27 0a 58 2f 2a |END_OF_F|ILE'.X/*|
|000021d0| 0a 58 20 2a 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X * | |
|000021e0| 43 6f 70 79 72 69 67 68 | 74 20 31 39 39 31 2c 20 |Copyrigh|t 1991, |
|000021f0| 49 6e 74 65 6c 20 43 6f | 72 70 6f 72 61 74 69 6f |Intel Co|rporatio|
|00002200| 6e 0a 58 20 2a 20 20 20 | 20 20 20 20 20 20 20 20 |n.X * | |
|00002210| 20 20 20 20 20 20 20 41 | 6c 6c 20 72 69 67 68 74 | A|ll right|
|00002220| 73 20 72 65 73 65 72 76 | 65 64 2e 0a 58 20 2a 0a |s reserv|ed..X *.|
|00002230| 58 20 2a 20 50 65 72 6d | 69 73 73 69 6f 6e 20 74 |X * Perm|ission t|
|00002240| 6f 20 75 73 65 2c 20 63 | 6f 70 79 2c 20 6d 6f 64 |o use, c|opy, mod|
|00002250| 69 66 79 2c 20 61 6e 64 | 20 64 69 73 74 72 69 62 |ify, and| distrib|
|00002260| 75 74 65 20 74 68 69 73 | 20 73 6f 66 74 77 61 72 |ute this| softwar|
|00002270| 65 20 61 6e 64 0a 58 20 | 2a 20 69 74 73 20 64 6f |e and.X |* its do|
|00002280| 63 75 6d 65 6e 74 61 74 | 69 6f 6e 20 66 6f 72 20 |cumentat|ion for |
|00002290| 61 6e 79 20 70 75 72 70 | 6f 73 65 20 61 6e 64 20 |any purp|ose and |
|000022a0| 77 69 74 68 6f 75 74 20 | 66 65 65 20 69 73 20 68 |without |fee is h|
|000022b0| 65 72 65 62 79 20 67 72 | 61 6e 74 65 64 2c 0a 58 |ereby gr|anted,.X|
|000022c0| 20 2a 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 | * provi|ded that|
|000022d0| 20 74 68 65 20 61 62 6f | 76 65 20 63 6f 70 79 72 | the abo|ve copyr|
|000022e0| 69 67 68 74 20 6e 6f 74 | 69 63 65 20 61 70 70 65 |ight not|ice appe|
|000022f0| 61 72 20 69 6e 20 61 6c | 6c 20 63 6f 70 69 65 73 |ar in al|l copies|
|00002300| 20 61 6e 64 0a 58 20 2a | 20 74 68 61 74 20 62 6f | and.X *| that bo|
|00002310| 74 68 20 74 68 65 20 63 | 6f 70 79 72 69 67 68 74 |th the c|opyright|
|00002320| 20 6e 6f 74 69 63 65 20 | 61 70 70 65 61 72 20 69 | notice |appear i|
|00002330| 6e 20 61 6c 6c 20 63 6f | 70 69 65 73 20 61 6e 64 |n all co|pies and|
|00002340| 20 74 68 61 74 20 62 6f | 74 68 0a 58 20 2a 20 74 | that bo|th.X * t|
|00002350| 68 65 20 63 6f 70 79 72 | 69 67 68 74 20 6e 6f 74 |he copyr|ight not|
|00002360| 69 63 65 20 61 6e 64 20 | 74 68 69 73 20 70 65 72 |ice and |this per|
|00002370| 6d 69 73 73 69 6f 6e 20 | 6e 6f 74 69 63 65 20 61 |mission |notice a|
|00002380| 70 70 65 61 72 20 69 6e | 0a 58 20 2a 20 73 75 70 |ppear in|.X * sup|
|00002390| 70 6f 72 74 69 6e 67 20 | 64 6f 63 75 6d 65 6e 74 |porting |document|
|000023a0| 61 74 69 6f 6e 2c 20 61 | 6e 64 20 74 68 61 74 20 |ation, a|nd that |
|000023b0| 74 68 65 20 6e 61 6d 65 | 20 6f 66 20 49 6e 74 65 |the name| of Inte|
|000023c0| 6c 20 43 6f 72 70 6f 72 | 61 74 69 6f 6e 0a 58 20 |l Corpor|ation.X |
|000023d0| 2a 20 6e 6f 74 20 62 65 | 20 75 73 65 64 20 69 6e |* not be| used in|
|000023e0| 20 61 64 76 65 72 74 69 | 73 69 6e 67 20 6f 72 20 | adverti|sing or |
|000023f0| 70 75 62 6c 69 63 69 74 | 79 20 70 65 72 74 61 69 |publicit|y pertai|
|00002400| 6e 69 6e 67 20 74 6f 20 | 64 69 73 74 72 69 62 75 |ning to |distribu|
|00002410| 74 69 6f 6e 0a 58 20 2a | 20 6f 66 20 74 68 65 20 |tion.X *| of the |
|00002420| 73 6f 66 74 77 61 72 65 | 20 77 69 74 68 6f 75 74 |software| without|
|00002430| 20 73 70 65 63 69 66 69 | 63 2c 20 77 72 69 74 74 | specifi|c, writt|
|00002440| 65 6e 20 70 72 69 6f 72 | 20 70 72 65 6d 69 73 73 |en prior| premiss|
|00002450| 69 6f 6e 2e 0a 58 20 2a | 20 0a 58 20 2a 20 43 4f |ion..X *| .X * CO|
|00002460| 4d 50 41 4e 59 20 41 4e | 44 2f 4f 52 20 49 4e 54 |MPANY AN|D/OR INT|
|00002470| 45 4c 20 44 49 53 43 4c | 41 49 4d 20 41 4c 4c 20 |EL DISCL|AIM ALL |
|00002480| 57 41 52 52 41 4e 54 49 | 45 53 20 57 49 54 48 20 |WARRANTI|ES WITH |
|00002490| 52 45 47 41 52 44 20 54 | 4f 0a 58 20 2a 20 54 48 |REGARD T|O.X * TH|
|000024a0| 49 53 20 53 4f 46 54 57 | 41 52 45 2c 20 49 4e 43 |IS SOFTW|ARE, INC|
|000024b0| 4c 55 44 49 4e 47 20 41 | 4c 4c 20 49 4d 50 4c 49 |LUDING A|LL IMPLI|
|000024c0| 45 44 20 57 41 52 52 41 | 4e 54 49 45 53 20 4f 46 |ED WARRA|NTIES OF|
|000024d0| 0a 58 20 2a 20 4d 45 52 | 43 48 41 4e 54 49 42 49 |.X * MER|CHANTIBI|
|000024e0| 4c 49 54 59 20 41 4e 44 | 20 46 49 54 4e 45 53 53 |LITY AND| FITNESS|
|000024f0| 20 46 4f 52 20 41 20 50 | 41 52 54 49 43 55 4c 41 | FOR A P|ARTICULA|
|00002500| 52 20 50 55 52 50 4f 53 | 45 2e 20 49 4e 20 4e 4f |R PURPOS|E. IN NO|
|00002510| 0a 58 20 2a 20 45 56 45 | 4e 54 20 53 48 41 4c 4c |.X * EVE|NT SHALL|
|00002520| 20 43 4f 4d 50 41 4e 59 | 20 4e 4f 52 20 49 4e 54 | COMPANY| NOR INT|
|00002530| 45 4c 20 42 45 20 4c 49 | 41 42 4c 45 20 46 4f 52 |EL BE LI|ABLE FOR|
|00002540| 20 41 4e 59 20 53 50 45 | 43 49 41 4c 2c 0a 58 20 | ANY SPE|CIAL,.X |
|00002550| 2a 20 49 4e 44 49 52 45 | 43 54 20 4f 52 20 43 4f |* INDIRE|CT OR CO|
|00002560| 4e 53 45 51 55 45 4e 54 | 49 41 4c 20 44 41 4d 41 |NSEQUENT|IAL DAMA|
|00002570| 47 45 53 20 4f 52 20 41 | 4e 59 20 44 41 4d 41 47 |GES OR A|NY DAMAG|
|00002580| 45 53 20 57 48 41 54 53 | 4f 45 56 45 52 0a 58 20 |ES WHATS|OEVER.X |
|00002590| 2a 20 52 45 53 55 4c 54 | 49 4e 47 20 46 52 4f 4d |* RESULT|ING FROM|
|000025a0| 20 4c 4f 53 53 20 4f 46 | 20 55 53 45 2c 20 44 41 | LOSS OF| USE, DA|
|000025b0| 54 41 20 4f 52 20 50 52 | 4f 46 49 54 53 2c 20 57 |TA OR PR|OFITS, W|
|000025c0| 48 45 54 48 45 52 20 49 | 4e 20 41 4e 0a 58 20 2a |HETHER I|N AN.X *|
|000025d0| 20 41 43 54 49 4f 4e 20 | 4f 46 20 43 4f 4e 54 52 | ACTION |OF CONTR|
|000025e0| 41 43 54 2c 20 4e 45 47 | 4c 49 47 45 4e 43 45 20 |ACT, NEG|LIGENCE |
|000025f0| 4f 52 20 4f 54 48 45 52 | 20 54 4f 52 54 49 4f 55 |OR OTHER| TORTIOU|
|00002600| 53 20 41 43 54 49 4f 4e | 2c 0a 58 20 2a 20 41 52 |S ACTION|,.X * AR|
|00002610| 49 53 49 4e 47 20 4f 55 | 54 20 4f 46 20 4f 52 20 |ISING OU|T OF OR |
|00002620| 49 4e 20 43 4f 4e 4e 45 | 43 54 49 4f 4e 20 57 49 |IN CONNE|CTION WI|
|00002630| 54 48 20 54 48 45 20 55 | 53 45 20 4f 52 20 50 45 |TH THE U|SE OR PE|
|00002640| 52 46 4f 52 4d 41 4e 43 | 45 0a 58 20 2a 20 4f 46 |RFORMANC|E.X * OF|
|00002650| 20 54 48 49 53 20 53 4f | 46 54 57 41 52 45 2e 0a | THIS SO|FTWARE..|
|00002660| 58 20 2a 2f 0a 58 0a 58 | 2f 2a 0a 58 20 2a 20 53 |X */.X.X|/*.X * S|
|00002670| 65 72 69 61 6c 20 4c 69 | 6e 65 20 49 6e 74 65 72 |erial Li|ne Inter|
|00002680| 6e 65 74 20 50 72 6f 74 | 6f 63 6f 6c 20 28 53 4c |net Prot|ocol (SL|
|00002690| 49 50 29 20 73 74 72 65 | 61 6d 73 20 6d 75 6c 74 |IP) stre|ams mult|
|000026a0| 69 70 6c 65 78 6f 72 20 | 64 72 69 76 65 72 20 66 |iplexor |driver f|
|000026b0| 6f 72 0a 58 20 2a 20 49 | 6e 74 65 6c 20 55 6e 69 |or.X * I|ntel Uni|
|000026c0| 78 20 53 79 73 74 65 6d | 20 56 2f 33 38 36 20 52 |x System| V/386 R|
|000026d0| 65 6c 65 61 73 65 20 34 | 2e 30 2e 0a 58 20 2a 0a |elease 4|.0..X *.|
|000026e0| 58 20 2a 20 54 68 65 20 | 75 70 70 65 72 20 73 74 |X * The |upper st|
|000026f0| 72 65 61 6d 73 20 69 73 | 20 73 75 70 70 6f 73 65 |reams is| suppose|
|00002700| 64 20 74 6f 20 62 65 20 | 6c 69 6e 6b 65 64 20 74 |d to be |linked t|
|00002710| 6f 20 74 68 65 20 69 70 | 20 64 72 69 76 65 72 20 |o the ip| driver |
|00002720| 28 2f 64 65 76 2f 69 70 | 29 0a 58 20 2a 20 61 6e |(/dev/ip|).X * an|
|00002730| 64 20 6f 70 74 69 6f 6e | 61 6c 6c 79 20 6c 69 6e |d option|ally lin|
|00002740| 6b 65 64 20 74 6f 20 74 | 68 65 20 73 6c 69 70 20 |ked to t|he slip |
|00002750| 68 61 6e 67 75 70 20 64 | 61 65 6d 6f 6e 2e 20 54 |hangup d|aemon. T|
|00002760| 68 65 20 6c 6f 77 65 72 | 20 73 74 72 65 61 6d 73 |he lower| streams|
|00002770| 20 63 61 6e 0a 58 20 2a | 20 6c 69 6e 6b 65 64 20 | can.X *| linked |
|00002780| 74 6f 20 61 6e 79 20 6e | 75 6d 62 65 72 20 6f 66 |to any n|umber of|
|00002790| 20 73 65 72 69 61 6c 20 | 64 72 69 76 65 72 2e 0a | serial |driver..|
|000027a0| 58 20 2a 0a 58 20 2a 20 | 54 68 65 20 73 6c 61 74 |X *.X * |The slat|
|000027b0| 74 61 63 68 20 63 6f 6d | 6d 61 6e 64 20 62 75 69 |tach com|mand bui|
|000027c0| 6c 64 73 20 74 68 65 20 | 69 70 20 74 6f 20 73 6c |lds the |ip to sl|
|000027d0| 69 70 20 74 6f 20 73 65 | 72 69 61 6c 20 64 65 76 |ip to se|rial dev|
|000027e0| 69 63 65 20 6c 69 6e 6b | 73 20 61 6e 64 0a 58 20 |ice link|s and.X |
|000027f0| 2a 20 54 68 65 20 73 6c | 68 61 6e 67 75 70 64 20 |* The sl|hangupd |
|00002800| 63 6f 6d 6d 61 6e 64 20 | 69 73 20 61 20 64 61 65 |command |is a dae|
|00002810| 6d 6f 6e 20 66 6f 72 20 | 72 65 63 65 69 76 69 6e |mon for |receivin|
|00002820| 67 20 4d 5f 48 41 4e 47 | 55 50 20 6d 65 73 73 61 |g M_HANG|UP messa|
|00002830| 67 65 20 66 72 6f 6d 0a | 58 20 2a 20 74 68 65 20 |ge from.|X * the |
|00002840| 73 65 72 69 61 6c 20 64 | 72 69 76 65 72 2e 0a 58 |serial d|river..X|
|00002850| 20 2a 0a 58 20 2a 20 54 | 68 65 20 70 61 63 6b 65 | *.X * T|he packe|
|00002860| 74 20 66 72 61 6d 69 6e | 67 20 70 72 6f 74 6f 63 |t framin|g protoc|
|00002870| 6f 6c 20 63 6f 64 65 2c | 20 69 6e 20 74 68 65 20 |ol code,| in the |
|00002880| 75 70 70 65 72 20 77 72 | 69 74 65 20 61 6e 64 20 |upper wr|ite and |
|00002890| 74 68 65 20 6c 6f 77 65 | 72 0a 58 20 2a 20 72 65 |the lowe|r.X * re|
|000028a0| 61 64 20 73 65 72 76 69 | 63 65 20 72 6f 75 74 69 |ad servi|ce routi|
|000028b0| 6e 65 20 28 73 6c 69 70 | 5f 75 77 73 72 76 20 61 |ne (slip|_uwsrv a|
|000028c0| 6e 64 20 73 6c 69 70 5f | 6c 72 73 72 76 29 20 69 |nd slip_|lrsrv) i|
|000028d0| 73 20 62 61 73 65 64 20 | 66 72 6f 6d 0a 58 20 2a |s based |from.X *|
|000028e0| 20 74 74 79 5f 73 6c 69 | 70 2e 63 20 77 72 69 74 | tty_sli|p.c writ|
|000028f0| 74 65 6e 20 62 79 20 52 | 61 79 61 6e 20 5a 61 63 |ten by R|ayan Zac|
|00002900| 68 61 72 69 61 73 73 65 | 6e 20 3c 72 61 79 61 6e |hariasse|n <rayan|
|00002910| 40 61 69 2e 74 6f 72 6f | 6e 74 6f 2e 65 64 75 3e |@ai.toro|nto.edu>|
|00002920| 20 61 6e 64 0a 58 20 2a | 20 44 6f 75 67 20 4b 69 | and.X *| Doug Ki|
|00002930| 6e 67 73 74 6f 6e 20 3c | 64 70 6b 40 6d 6f 72 67 |ngston <|dpk@morg|
|00002940| 61 6e 2e 63 6f 6d 3e 2e | 0a 58 20 2a 0a 58 20 2a |an.com>.|.X *.X *|
|00002950| 20 41 75 74 68 6f 72 3a | 0a 58 20 2a 20 20 20 20 | Author:|.X * |
|00002960| 20 53 75 64 6a 69 20 48 | 75 73 6f 64 6f 20 3c 73 | Sudji H|usodo <s|
|00002970| 75 64 6a 69 40 69 6e 64 | 6f 2e 69 6e 74 65 6c 2e |udji@ind|o.intel.|
|00002980| 63 6f 6d 3e 20 31 2f 39 | 2f 39 31 0a 58 20 2a 2f |com> 1/9|/91.X */|
|00002990| 0a 58 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 73 79 |.X.X#inc|lude <sy|
|000029a0| 73 2f 74 79 70 65 73 2e | 68 3e 0a 58 23 69 6e 63 |s/types.|h>.X#inc|
|000029b0| 6c 75 64 65 20 3c 73 79 | 73 2f 6b 6d 65 6d 2e 68 |lude <sy|s/kmem.h|
|000029c0| 3e 0a 58 23 69 6e 63 6c | 75 64 65 20 3c 73 79 73 |>.X#incl|ude <sys|
|000029d0| 2f 73 74 72 65 61 6d 2e | 68 3e 0a 58 23 69 6e 63 |/stream.|h>.X#inc|
|000029e0| 6c 75 64 65 20 3c 73 79 | 73 2f 73 74 72 6f 70 74 |lude <sy|s/stropt|
|000029f0| 73 2e 68 3e 0a 58 23 69 | 6e 63 6c 75 64 65 20 3c |s.h>.X#i|nclude <|
|00002a00| 73 79 73 2f 64 6c 70 69 | 2e 68 3e 0a 58 23 69 6e |sys/dlpi|.h>.X#in|
|00002a10| 63 6c 75 64 65 20 3c 73 | 79 73 2f 73 79 73 6c 6f |clude <s|ys/syslo|
|00002a20| 67 2e 68 3e 0a 58 23 69 | 6e 63 6c 75 64 65 20 3c |g.h>.X#i|nclude <|
|00002a30| 73 79 73 2f 73 74 72 6c | 6f 67 2e 68 3e 0a 58 23 |sys/strl|og.h>.X#|
|00002a40| 69 6e 63 6c 75 64 65 20 | 3c 73 79 73 2f 73 6f 63 |include |<sys/soc|
|00002a50| 6b 65 74 2e 68 3e 0a 58 | 23 69 6e 63 6c 75 64 65 |ket.h>.X|#include|
|00002a60| 20 3c 73 79 73 2f 73 6f | 63 6b 69 6f 2e 68 3e 0a | <sys/so|ckio.h>.|
|00002a70| 58 23 69 6e 63 6c 75 64 | 65 20 3c 73 79 73 2f 6c |X#includ|e <sys/l|
|00002a80| 6f 67 2e 68 3e 0a 58 23 | 69 6e 63 6c 75 64 65 20 |og.h>.X#|include |
|00002a90| 3c 73 79 73 2f 65 72 72 | 6e 6f 2e 68 3e 0a 58 23 |<sys/err|no.h>.X#|
|00002aa0| 69 6e 63 6c 75 64 65 20 | 3c 73 79 73 2f 69 6f 63 |include |<sys/ioc|
|00002ab0| 74 6c 2e 68 3e 0a 58 23 | 69 6e 63 6c 75 64 65 20 |tl.h>.X#|include |
|00002ac0| 3c 73 79 73 2f 70 61 72 | 61 6d 2e 68 3e 0a 58 23 |<sys/par|am.h>.X#|
|00002ad0| 69 6e 63 6c 75 64 65 20 | 3c 73 79 73 2f 64 64 69 |include |<sys/ddi|
|00002ae0| 2e 68 3e 0a 58 0a 58 23 | 69 6e 63 6c 75 64 65 20 |.h>.X.X#|include |
|00002af0| 3c 6e 65 74 2f 69 66 2e | 68 3e 0a 58 23 69 6e 63 |<net/if.|h>.X#inc|
|00002b00| 6c 75 64 65 20 3c 6e 65 | 74 69 6e 65 74 2f 69 6e |lude <ne|tinet/in|
|00002b10| 2e 68 3e 0a 58 23 69 6e | 63 6c 75 64 65 20 3c 6e |.h>.X#in|clude <n|
|00002b20| 65 74 69 6e 65 74 2f 69 | 6e 5f 73 79 73 74 6d 2e |etinet/i|n_systm.|
|00002b30| 68 3e 0a 58 23 69 6e 63 | 6c 75 64 65 20 3c 6e 65 |h>.X#inc|lude <ne|
|00002b40| 74 69 6e 65 74 2f 69 70 | 2e 68 3e 0a 58 23 69 6e |tinet/ip|.h>.X#in|
|00002b50| 63 6c 75 64 65 20 3c 73 | 79 73 2f 73 6c 69 70 2e |clude <s|ys/slip.|
|00002b60| 68 3e 0a 58 0a 58 23 64 | 65 66 69 6e 65 20 44 4c |h>.X.X#d|efine DL|
|00002b70| 5f 50 52 49 4d 5f 53 49 | 5a 45 09 73 69 7a 65 6f |_PRIM_SI|ZE.sizeo|
|00002b80| 66 20 28 75 6e 69 6f 6e | 20 44 4c 5f 70 72 69 6d |f (union| DL_prim|
|00002b90| 69 74 69 76 65 73 29 0a | 58 0a 58 69 6e 74 20 73 |itives).|X.Xint s|
|00002ba0| 6c 69 70 5f 64 65 76 66 | 6c 61 67 20 3d 20 30 3b |lip_devf|lag = 0;|
|00002bb0| 09 09 2f 2a 20 56 34 2e | 30 20 73 74 79 6c 65 20 |../* V4.|0 style |
|00002bc0| 64 72 69 76 65 72 20 2a | 2f 0a 58 0a 58 23 69 66 |driver *|/.X.X#if|
|00002bd0| 6e 64 65 66 20 44 45 42 | 55 47 0a 58 73 74 61 74 |ndef DEB|UG.Xstat|
|00002be0| 69 63 0a 58 23 65 6e 64 | 69 66 0a 58 69 6e 74 20 |ic.X#end|if.Xint |
|00002bf0| 73 6c 69 70 5f 6f 70 65 | 6e 28 29 2c 20 20 73 6c |slip_ope|n(), sl|
|00002c00| 69 70 5f 63 6c 6f 73 65 | 28 29 2c 20 73 6c 69 70 |ip_close|(), slip|
|00002c10| 5f 75 77 70 75 74 28 29 | 2c 20 73 6c 69 70 5f 75 |_uwput()|, slip_u|
|00002c20| 77 73 72 76 28 29 2c 0a | 58 20 20 20 20 73 6c 69 |wsrv(),.|X sli|
|00002c30| 70 5f 6c 77 70 75 74 28 | 29 2c 20 73 6c 69 70 5f |p_lwput(|), slip_|
|00002c40| 6c 77 73 72 76 28 29 2c | 20 73 6c 69 70 5f 6c 72 |lwsrv(),| slip_lr|
|00002c50| 70 75 74 28 29 2c 20 73 | 6c 69 70 5f 6c 72 73 72 |put(), s|lip_lrsr|
|00002c60| 76 28 29 3b 0a 58 0a 58 | 73 74 61 74 69 63 20 73 |v();.X.X|static s|
|00002c70| 74 72 75 63 74 20 6d 6f | 64 75 6c 65 5f 69 6e 66 |truct mo|dule_inf|
|00002c80| 6f 20 6d 69 6e 66 6f 5b | 35 5d 20 3d 20 7b 0a 58 |o minfo[|5] = {.X|
|00002c90| 09 53 4c 49 50 4d 5f 49 | 44 2c 20 22 73 6c 69 70 |.SLIPM_I|D, "slip|
|00002ca0| 22 2c 20 30 2c 20 38 31 | 39 32 2c 20 31 36 33 38 |", 0, 81|92, 1638|
|00002cb0| 34 2c 20 34 30 39 36 2c | 0a 58 09 53 4c 49 50 4d |4, 4096,|.X.SLIPM|
|00002cc0| 5f 49 44 2c 20 22 73 6c | 69 70 22 2c 20 30 2c 20 |_ID, "sl|ip", 0, |
|00002cd0| 38 31 39 32 2c 20 31 36 | 33 38 34 2c 20 34 30 39 |8192, 16|384, 409|
|00002ce0| 36 2c 0a 58 09 53 4c 49 | 50 4d 5f 49 44 2c 20 22 |6,.X.SLI|PM_ID, "|
|00002cf0| 73 6c 69 70 22 2c 20 30 | 2c 20 38 31 39 32 2c 20 |slip", 0|, 8192, |
|00002d00| 31 36 33 38 34 2c 20 34 | 30 39 36 2c 0a 58 09 53 |16384, 4|096,.X.S|
|00002d10| 4c 49 50 4d 5f 49 44 2c | 20 22 73 6c 69 70 22 2c |LIPM_ID,| "slip",|
|00002d20| 20 30 2c 20 38 31 39 32 | 2c 20 31 36 33 38 34 2c | 0, 8192|, 16384,|
|00002d30| 20 34 30 39 36 2c 0a 58 | 09 53 4c 49 50 4d 5f 49 | 4096,.X|.SLIPM_I|
|00002d40| 44 2c 20 22 73 6c 69 70 | 22 2c 20 30 2c 20 38 31 |D, "slip|", 0, 81|
|00002d50| 39 32 2c 20 31 36 33 38 | 34 2c 20 34 30 39 36 2c |92, 1638|4, 4096,|
|00002d60| 0a 58 7d 3b 0a 58 0a 58 | 73 74 61 74 69 63 20 73 |.X};.X.X|static s|
|00002d70| 74 72 75 63 74 20 71 69 | 6e 69 74 20 75 72 69 6e |truct qi|nit urin|
|00002d80| 69 74 20 3d 20 7b 0a 58 | 09 4e 55 4c 4c 2c 20 20 |it = {.X|.NULL, |
|00002d90| 20 20 20 20 20 4e 55 4c | 4c 2c 20 20 20 20 20 20 | NUL|L, |
|00002da0| 20 73 6c 69 70 5f 6f 70 | 65 6e 2c 20 73 6c 69 70 | slip_op|en, slip|
|00002db0| 5f 63 6c 6f 73 65 2c 20 | 4e 55 4c 4c 2c 20 26 6d |_close, |NULL, &m|
|00002dc0| 69 6e 66 6f 5b 30 5d 2c | 20 4e 55 4c 4c 20 7d 3b |info[0],| NULL };|
|00002dd0| 0a 58 0a 58 73 74 61 74 | 69 63 20 73 74 72 75 63 |.X.Xstat|ic struc|
|00002de0| 74 20 71 69 6e 69 74 20 | 75 77 69 6e 69 74 20 3d |t qinit |uwinit =|
|00002df0| 20 7b 0a 58 09 73 6c 69 | 70 5f 75 77 70 75 74 2c | {.X.sli|p_uwput,|
|00002e00| 20 73 6c 69 70 5f 75 77 | 73 72 76 2c 20 73 6c 69 | slip_uw|srv, sli|
|00002e10| 70 5f 6f 70 65 6e 2c 20 | 73 6c 69 70 5f 63 6c 6f |p_open, |slip_clo|
|00002e20| 73 65 2c 20 4e 55 4c 4c | 2c 20 26 6d 69 6e 66 6f |se, NULL|, &minfo|
|00002e30| 5b 31 5d 2c 20 4e 55 4c | 4c 20 7d 3b 0a 58 0a 58 |[1], NUL|L };.X.X|
|00002e40| 73 74 61 74 69 63 20 73 | 74 72 75 63 74 20 71 69 |static s|truct qi|
|00002e50| 6e 69 74 20 6c 72 69 6e | 69 74 20 3d 20 7b 0a 58 |nit lrin|it = {.X|
|00002e60| 09 73 6c 69 70 5f 6c 72 | 70 75 74 2c 20 73 6c 69 |.slip_lr|put, sli|
|00002e70| 70 5f 6c 72 73 72 76 2c | 20 73 6c 69 70 5f 6f 70 |p_lrsrv,| slip_op|
|00002e80| 65 6e 2c 20 73 6c 69 70 | 5f 63 6c 6f 73 65 2c 20 |en, slip|_close, |
|00002e90| 4e 55 4c 4c 2c 20 26 6d | 69 6e 66 6f 5b 33 5d 2c |NULL, &m|info[3],|
|00002ea0| 20 4e 55 4c 4c 20 7d 3b | 0a 58 0a 58 73 74 61 74 | NULL };|.X.Xstat|
|00002eb0| 69 63 20 73 74 72 75 63 | 74 20 71 69 6e 69 74 20 |ic struc|t qinit |
|00002ec0| 6c 77 69 6e 69 74 20 3d | 20 7b 0a 58 09 73 6c 69 |lwinit =| {.X.sli|
|00002ed0| 70 5f 6c 77 70 75 74 2c | 20 73 6c 69 70 5f 6c 77 |p_lwput,| slip_lw|
|00002ee0| 73 72 76 2c 20 73 6c 69 | 70 5f 6f 70 65 6e 2c 20 |srv, sli|p_open, |
|00002ef0| 73 6c 69 70 5f 63 6c 6f | 73 65 2c 20 4e 55 4c 4c |slip_clo|se, NULL|
|00002f00| 2c 20 26 6d 69 6e 66 6f | 5b 34 5d 2c 20 4e 55 4c |, &minfo|[4], NUL|
|00002f10| 4c 20 7d 3b 0a 58 0a 58 | 73 74 72 75 63 74 20 73 |L };.X.X|struct s|
|00002f20| 74 72 65 61 6d 74 61 62 | 20 73 6c 69 70 5f 69 6e |treamtab| slip_in|
|00002f30| 66 6f 20 3d 20 7b 0a 58 | 09 26 75 72 69 6e 69 74 |fo = {.X|.&urinit|
|00002f40| 2c 20 26 75 77 69 6e 69 | 74 2c 20 26 6c 72 69 6e |, &uwini|t, &lrin|
|00002f50| 69 74 2c 20 26 6c 77 69 | 6e 69 74 20 7d 3b 0a 58 |it, &lwi|nit };.X|
|00002f60| 0a 58 73 6c 69 70 5f 74 | 20 2a 73 6c 69 70 5f 68 |.Xslip_t| *slip_h|
|00002f70| 75 70 20 3d 20 28 73 6c | 69 70 5f 74 20 2a 29 20 |up = (sl|ip_t *) |
|00002f80| 30 3b 0a 58 0a 58 65 78 | 74 65 72 6e 09 73 74 72 |0;.X.Xex|tern.str|
|00002f90| 75 63 74 09 69 66 73 74 | 61 74 73 09 2a 69 66 73 |uct.ifst|ats.*ifs|
|00002fa0| 74 61 74 73 3b 0a 58 65 | 78 74 65 72 6e 09 75 5f |tats;.Xe|xtern.u_|
|00002fb0| 69 6e 74 09 73 6c 69 70 | 5f 6e 75 6d 3b 0a 58 65 |int.slip|_num;.Xe|
|00002fc0| 78 74 65 72 6e 09 73 6c | 69 70 5f 74 09 73 6c 69 |xtern.sl|ip_t.sli|
|00002fd0| 70 5f 64 61 74 61 5b 5d | 3b 0a 58 0a 58 2f 2a 0a |p_data[]|;.X.X/*.|
|00002fe0| 58 20 2a 20 73 6c 69 70 | 5f 6f 70 65 6e 0a 58 20 |X * slip|_open.X |
|00002ff0| 2a 2f 0a 58 0a 58 23 69 | 66 6e 64 65 66 20 44 45 |*/.X.X#i|fndef DE|
|00003000| 42 55 47 0a 58 73 74 61 | 74 69 63 0a 58 23 65 6e |BUG.Xsta|tic.X#en|
|00003010| 64 69 66 0a 58 73 6c 69 | 70 5f 6f 70 65 6e 20 28 |dif.Xsli|p_open (|
|00003020| 71 2c 20 64 65 76 70 2c | 20 66 6c 61 67 2c 20 73 |q, devp,| flag, s|
|00003030| 66 6c 61 67 2c 20 63 72 | 65 64 70 29 0a 58 71 75 |flag, cr|edp).Xqu|
|00003040| 65 75 65 5f 74 09 2a 71 | 3b 0a 58 64 65 76 5f 74 |eue_t.*q|;.Xdev_t|
|00003050| 09 2a 64 65 76 70 3b 0a | 58 69 6e 74 09 09 66 6c |.*devp;.|Xint..fl|
|00003060| 61 67 3b 0a 58 69 6e 74 | 09 09 73 66 6c 61 67 3b |ag;.Xint|..sflag;|
|00003070| 0a 58 73 74 72 75 63 74 | 09 63 72 65 64 09 2a 63 |.Xstruct|.cred.*c|
|00003080| 72 65 64 70 3b 0a 58 7b | 0a 58 09 72 65 67 69 73 |redp;.X{|.X.regis|
|00003090| 74 65 72 20 73 6c 69 70 | 5f 74 20 2a 70 5f 73 6c |ter slip|_t *p_sl|
|000030a0| 69 70 3b 0a 58 09 64 65 | 76 5f 74 09 20 64 65 76 |ip;.X.de|v_t. dev|
|000030b0| 3b 0a 58 09 69 6e 74 09 | 09 20 6f 6c 64 70 72 69 |;.X.int.|. oldpri|
|000030c0| 3b 0a 58 09 6d 62 6c 6b | 5f 74 09 20 2a 62 70 3b |;.X.mblk|_t. *bp;|
|000030d0| 0a 58 09 6d 61 6a 6f 72 | 5f 74 20 20 6d 61 6a 6f |.X.major|_t majo|
|000030e0| 72 20 3d 20 67 65 74 6d | 61 6a 6f 72 20 28 2a 64 |r = getm|ajor (*d|
|000030f0| 65 76 70 29 3b 0a 58 09 | 6d 69 6e 6f 72 5f 74 20 |evp);.X.|minor_t |
|00003100| 20 6d 69 6e 6f 72 20 3d | 20 67 65 74 6d 69 6e 6f | minor =| getmino|
|00003110| 72 20 28 2a 64 65 76 70 | 29 3b 0a 58 0a 58 09 53 |r (*devp|);.X.X.S|
|00003120| 54 52 4c 4f 47 20 28 53 | 4c 49 50 4d 5f 49 44 2c |TRLOG (S|LIPM_ID,|
|00003130| 30 2c 30 2c 53 4c 5f 54 | 52 41 43 45 2c 22 73 6c |0,0,SL_T|RACE,"sl|
|00003140| 69 70 5f 6f 70 65 6e 3a | 20 6d 61 6a 6f 72 20 25 |ip_open:| major %|
|00003150| 64 20 6d 69 6e 6f 72 20 | 25 64 22 2c 6d 61 6a 6f |d minor |%d",majo|
|00003160| 72 2c 6d 69 6e 6f 72 29 | 3b 0a 58 0a 58 09 2f 2a |r,minor)|;.X.X./*|
|00003170| 20 66 69 6e 64 20 61 6e | 20 75 6e 75 73 65 64 20 | find an| unused |
|00003180| 65 6e 74 72 79 20 69 6e | 20 73 6c 69 70 5f 64 61 |entry in| slip_da|
|00003190| 74 61 20 2a 2f 0a 58 0a | 58 09 69 66 20 28 73 66 |ta */.X.|X.if (sf|
|000031a0| 6c 61 67 20 3d 3d 20 43 | 4c 4f 4e 45 4f 50 45 4e |lag == C|LONEOPEN|
|000031b0| 29 20 7b 0a 58 09 09 66 | 6f 72 20 28 64 65 76 3d |) {.X..f|or (dev=|
|000031c0| 30 2c 20 70 5f 73 6c 69 | 70 3d 26 73 6c 69 70 5f |0, p_sli|p=&slip_|
|000031d0| 64 61 74 61 5b 30 5d 3b | 20 64 65 76 3c 73 6c 69 |data[0];| dev<sli|
|000031e0| 70 5f 6e 75 6d 3b 20 64 | 65 76 2b 2b 2c 20 70 5f |p_num; d|ev++, p_|
|000031f0| 73 6c 69 70 2b 2b 29 0a | 58 09 09 09 69 66 20 28 |slip++).|X...if (|
|00003200| 21 70 5f 73 6c 69 70 2d | 3e 62 75 66 29 0a 58 09 |!p_slip-|>buf).X.|
|00003210| 09 09 09 62 72 65 61 6b | 3b 0a 58 09 09 6d 69 6e |...break|;.X..min|
|00003220| 6f 72 20 3d 20 28 6d 69 | 6e 6f 72 5f 74 29 20 64 |or = (mi|nor_t) d|
|00003230| 65 76 3b 0a 58 09 7d 0a | 58 0a 58 09 2f 2a 20 69 |ev;.X.}.|X.X./* i|
|00003240| 66 20 74 68 65 72 65 27 | 73 20 6e 6f 20 6d 6f 72 |f there'|s no mor|
|00003250| 65 20 66 72 65 65 20 65 | 6e 74 72 79 2c 20 72 65 |e free e|ntry, re|
|00003260| 74 75 72 6e 20 4e 6f 20 | 53 70 61 63 65 20 65 72 |turn No |Space er|
|00003270| 72 6f 72 20 63 6f 64 65 | 20 2a 2f 0a 58 0a 58 09 |ror code| */.X.X.|
|00003280| 69 66 20 28 6d 69 6e 6f | 72 20 3e 3d 20 73 6c 69 |if (mino|r >= sli|
|00003290| 70 5f 6e 75 6d 29 20 7b | 0a 58 09 09 53 54 52 4c |p_num) {|.X..STRL|
|000032a0| 4f 47 20 28 53 4c 49 50 | 4d 5f 49 44 2c 20 31 2c |OG (SLIP|M_ID, 1,|
|000032b0| 20 30 2c 20 53 4c 5f 54 | 52 41 43 45 2c 20 22 73 | 0, SL_T|RACE, "s|
|000032c0| 6c 69 70 20 6f 70 65 6e | 3a 20 63 61 6e 27 74 20 |lip open|: can't |
|000032d0| 61 6c 6c 6f 63 61 74 65 | 20 64 65 76 69 63 65 22 |allocate| device"|
|000032e0| 29 3b 0a 58 09 09 72 65 | 74 75 72 6e 20 45 4e 58 |);.X..re|turn ENX|
|000032f0| 49 4f 3b 0a 58 09 7d 0a | 58 0a 58 09 2f 2a 20 69 |IO;.X.}.|X.X./* i|
|00003300| 6e 69 74 69 61 6c 69 7a | 65 64 20 73 6c 69 70 20 |nitializ|ed slip |
|00003310| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 2a 2f 0a 58 |informat|ion */.X|
|00003320| 0a 58 09 6f 6c 64 70 72 | 69 20 3d 20 73 70 6c 73 |.X.oldpr|i = spls|
|00003330| 74 72 20 28 29 3b 0a 58 | 09 70 5f 73 6c 69 70 2d |tr ();.X|.p_slip-|
|00003340| 3e 73 74 61 74 65 20 20 | 20 20 3d 20 44 4c 5f 55 |>state | = DL_U|
|00003350| 4e 42 4f 55 4e 44 3b 0a | 58 09 70 5f 73 6c 69 70 |NBOUND;.|X.p_slip|
|00003360| 2d 3e 71 74 6f 70 20 20 | 20 20 20 3d 20 71 3b 0a |->qtop | = q;.|
|00003370| 58 09 70 5f 73 6c 69 70 | 2d 3e 71 62 6f 74 20 20 |X.p_slip|->qbot |
|00003380| 20 20 20 3d 20 4e 55 4c | 4c 3b 0a 58 09 70 5f 73 | = NUL|L;.X.p_s|
|00003390| 6c 69 70 2d 3e 62 75 66 | 20 20 20 20 20 20 3d 20 |lip->buf| = |
|000033a0| 28 75 5f 63 68 61 72 20 | 2a 29 20 6b 6d 65 6d 5f |(u_char |*) kmem_|
|000033b0| 61 6c 6c 6f 63 20 28 53 | 4c 49 50 4d 54 55 2c 20 |alloc (S|LIPMTU, |
|000033c0| 4b 4d 5f 53 4c 45 45 50 | 29 3b 0a 58 09 70 5f 73 |KM_SLEEP|);.X.p_s|
|000033d0| 6c 69 70 2d 3e 71 74 5f | 62 6c 6f 63 6b 65 64 20 |lip->qt_|blocked |
|000033e0| 3d 20 30 3b 0a 58 09 64 | 72 76 5f 67 65 74 70 61 |= 0;.X.d|rv_getpa|
|000033f0| 72 6d 20 28 50 50 49 44 | 2c 20 26 70 5f 73 6c 69 |rm (PPID|, &p_sli|
|00003400| 70 2d 3e 70 69 64 29 3b | 09 09 2f 2a 20 6b 65 65 |p->pid);|../* kee|
|00003410| 70 20 70 72 6f 63 65 73 | 73 20 69 64 20 2a 2f 0a |p proces|s id */.|
|00003420| 58 0a 58 09 70 5f 73 6c | 69 70 2d 3e 65 73 63 61 |X.X.p_sl|ip->esca|
|00003430| 70 65 20 20 20 3d 20 70 | 5f 73 6c 69 70 2d 3e 6f |pe = p|_slip->o|
|00003440| 76 65 72 72 75 6e 20 3d | 20 70 5f 73 6c 69 70 2d |verrun =| p_slip-|
|00003450| 3e 69 6e 6c 65 6e 20 3d | 20 30 3b 0a 58 09 70 5f |>inlen =| 0;.X.p_|
|00003460| 73 6c 69 70 2d 3e 66 6c | 61 67 73 20 20 20 20 3d |slip->fl|ags =|
|00003470| 20 49 46 46 5f 55 50 20 | 7c 20 49 46 46 5f 50 4f | IFF_UP || IFF_PO|
|00003480| 49 4e 54 4f 50 4f 49 4e | 54 3b 0a 58 09 70 5f 73 |INTOPOIN|T;.X.p_s|
|00003490| 6c 69 70 2d 3e 75 6e 61 | 6d 65 5b 30 5d 20 3d 20 |lip->una|me[0] = |
|000034a0| 27 5c 30 27 3b 0a 58 0a | 58 09 2f 2a 20 69 6e 69 |'\0';.X.|X./* ini|
|000034b0| 74 69 61 6c 69 7a 65 64 | 20 69 6e 74 65 72 66 61 |tialized| interfa|
|000034c0| 63 65 20 61 6e 64 20 69 | 74 73 20 73 74 61 74 69 |ce and i|ts stati|
|000034d0| 73 74 69 63 73 20 2a 2f | 0a 58 0a 58 09 70 5f 73 |stics */|.X.X.p_s|
|000034e0| 6c 69 70 2d 3e 73 74 61 | 74 73 2e 69 66 73 5f 6e |lip->sta|ts.ifs_n|
|000034f0| 61 6d 65 20 20 20 20 20 | 20 20 3d 20 28 63 68 61 |ame | = (cha|
|00003500| 72 20 2a 29 20 70 5f 73 | 6c 69 70 2d 3e 75 6e 61 |r *) p_s|lip->una|
|00003510| 6d 65 3b 0a 58 09 70 5f | 73 6c 69 70 2d 3e 73 74 |me;.X.p_|slip->st|
|00003520| 61 74 73 2e 69 66 73 5f | 75 6e 69 74 20 20 20 20 |ats.ifs_|unit |
|00003530| 20 20 20 3d 20 30 3b 0a | 58 09 70 5f 73 6c 69 70 | = 0;.|X.p_slip|
|00003540| 2d 3e 73 74 61 74 73 2e | 69 66 73 5f 61 63 74 69 |->stats.|ifs_acti|
|00003550| 76 65 20 20 20 20 20 3d | 20 30 3b 0a 58 09 70 5f |ve =| 0;.X.p_|
|00003560| 73 6c 69 70 2d 3e 73 74 | 61 74 73 2e 69 66 73 5f |slip->st|ats.ifs_|
|00003570| 6d 74 75 20 20 20 20 20 | 20 20 20 3d 20 53 4c 49 |mtu | = SLI|
|00003580| 50 4d 54 55 3b 0a 58 09 | 70 5f 73 6c 69 70 2d 3e |PMTU;.X.|p_slip->|
|00003590| 73 74 61 74 73 2e 69 66 | 73 5f 69 70 61 63 6b 65 |stats.if|s_ipacke|
|000035a0| 74 73 20 20 20 3d 20 70 | 5f 73 6c 69 70 2d 3e 73 |ts = p|_slip->s|
|000035b0| 74 61 74 73 2e 69 66 73 | 5f 6f 70 61 63 6b 65 74 |tats.ifs|_opacket|
|000035c0| 73 20 3d 20 30 3b 0a 58 | 09 70 5f 73 6c 69 70 2d |s = 0;.X|.p_slip-|
|000035d0| 3e 73 74 61 74 73 2e 69 | 66 73 5f 69 65 72 72 6f |>stats.i|fs_ierro|
|000035e0| 72 73 20 20 20 20 3d 20 | 70 5f 73 6c 69 70 2d 3e |rs = |p_slip->|
|000035f0| 73 74 61 74 73 2e 69 66 | 73 5f 6f 65 72 72 6f 72 |stats.if|s_oerror|
|00003600| 73 20 20 3d 20 30 3b 0a | 58 09 70 5f 73 6c 69 70 |s = 0;.|X.p_slip|
|00003610| 2d 3e 73 74 61 74 73 2e | 69 66 73 5f 63 6f 6c 6c |->stats.|ifs_coll|
|00003620| 69 73 69 6f 6e 73 20 3d | 20 30 3b 0a 58 09 73 70 |isions =| 0;.X.sp|
|00003630| 6c 78 20 28 6f 6c 64 70 | 72 69 29 3b 0a 58 0a 58 |lx (oldp|ri);.X.X|
|00003640| 09 2f 2a 20 69 6e 69 74 | 69 61 6c 69 7a 65 20 72 |./* init|ialize r|
|00003650| 65 61 64 20 61 6e 64 20 | 77 72 69 74 65 20 71 75 |ead and |write qu|
|00003660| 65 75 65 20 70 6f 69 6e | 74 65 72 73 20 74 6f 20 |eue poin|ters to |
|00003670| 70 72 69 76 61 74 65 20 | 64 61 74 61 20 2a 2f 0a |private |data */.|
|00003680| 58 0a 58 09 71 2d 3e 71 | 5f 70 74 72 20 3d 20 28 |X.X.q->q|_ptr = (|
|00003690| 63 61 64 64 72 5f 74 29 | 20 70 5f 73 6c 69 70 3b |caddr_t)| p_slip;|
|000036a0| 0a 58 09 57 52 28 71 29 | 2d 3e 71 5f 70 74 72 20 |.X.WR(q)|->q_ptr |
|000036b0| 3d 20 28 63 61 64 64 72 | 5f 74 29 20 70 5f 73 6c |= (caddr|_t) p_sl|
|000036c0| 69 70 3b 0a 58 0a 58 09 | 2f 2a 20 73 65 74 20 75 |ip;.X.X.|/* set u|
|000036d0| 70 20 74 68 65 20 63 6f | 72 72 65 63 74 20 73 74 |p the co|rrect st|
|000036e0| 72 65 61 6d 20 68 65 61 | 64 20 66 6c 6f 77 20 63 |ream hea|d flow c|
|000036f0| 6f 6e 74 72 6f 6c 20 70 | 61 72 61 6d 65 74 65 72 |ontrol p|arameter|
|00003700| 73 20 2a 2f 0a 58 0a 58 | 09 69 66 20 28 62 70 20 |s */.X.X|.if (bp |
|00003710| 3d 20 61 6c 6c 6f 63 62 | 20 28 73 69 7a 65 6f 66 |= allocb| (sizeof|
|00003720| 20 28 73 74 72 75 63 74 | 20 73 74 72 6f 70 74 69 | (struct| stropti|
|00003730| 6f 6e 73 29 2c 20 42 50 | 52 49 5f 4d 45 44 29 29 |ons), BP|RI_MED))|
|00003740| 20 7b 0a 58 09 09 73 74 | 72 75 63 74 20 73 74 72 | {.X..st|ruct str|
|00003750| 6f 70 74 69 6f 6e 73 20 | 2a 73 6f 70 20 3d 20 28 |options |*sop = (|
|00003760| 73 74 72 75 63 74 20 73 | 74 72 6f 70 74 69 6f 6e |struct s|troption|
|00003770| 73 20 2a 29 20 62 70 2d | 3e 62 5f 72 70 74 72 3b |s *) bp-|>b_rptr;|
|00003780| 0a 58 09 09 62 70 2d 3e | 62 5f 64 61 74 61 70 2d |.X..bp->|b_datap-|
|00003790| 3e 64 62 5f 74 79 70 65 | 20 3d 20 4d 5f 53 45 54 |>db_type| = M_SET|
|000037a0| 4f 50 54 53 3b 0a 58 09 | 09 62 70 2d 3e 62 5f 77 |OPTS;.X.|.bp->b_w|
|000037b0| 70 74 72 20 2b 3d 20 73 | 69 7a 65 6f 66 20 28 73 |ptr += s|izeof (s|
|000037c0| 74 72 75 63 74 20 73 74 | 72 6f 70 74 69 6f 6e 73 |truct st|roptions|
|000037d0| 29 3b 0a 58 09 09 73 6f | 70 2d 3e 73 6f 5f 66 6c |);.X..so|p->so_fl|
|000037e0| 61 67 73 20 3d 20 53 4f | 5f 48 49 57 41 54 20 7c |ags = SO|_HIWAT ||
|000037f0| 20 53 4f 5f 4c 4f 57 41 | 54 3b 0a 58 09 09 73 6f | SO_LOWA|T;.X..so|
|00003800| 70 2d 3e 73 6f 5f 68 69 | 77 61 74 20 3d 20 6d 69 |p->so_hi|wat = mi|
|00003810| 6e 66 6f 20 5b 32 5d 2e | 6d 69 5f 68 69 77 61 74 |nfo [2].|mi_hiwat|
|00003820| 3b 0a 58 09 09 73 6f 70 | 2d 3e 73 6f 5f 6c 6f 77 |;.X..sop|->so_low|
|00003830| 61 74 20 3d 20 6d 69 6e | 66 6f 20 5b 32 5d 2e 6d |at = min|fo [2].m|
|00003840| 69 5f 6c 6f 77 61 74 3b | 0a 58 09 09 70 75 74 6e |i_lowat;|.X..putn|
|00003850| 65 78 74 20 28 71 2c 20 | 62 70 29 3b 0a 58 09 7d |ext (q, |bp);.X.}|
|00003860| 0a 58 09 2a 64 65 76 70 | 20 3d 20 6d 61 6b 65 64 |.X.*devp| = maked|
|00003870| 65 76 69 63 65 20 28 6d | 61 6a 6f 72 2c 20 6d 69 |evice (m|ajor, mi|
|00003880| 6e 6f 72 29 3b 0a 58 09 | 53 54 52 4c 4f 47 20 28 |nor);.X.|STRLOG (|
|00003890| 53 4c 49 50 4d 5f 49 44 | 2c 20 30 2c 20 30 2c 20 |SLIPM_ID|, 0, 0, |
|000038a0| 53 4c 5f 54 52 41 43 45 | 2c 20 22 73 6c 69 70 20 |SL_TRACE|, "slip |
|000038b0| 6f 70 65 6e 3a 20 64 65 | 76 69 63 65 20 25 64 20 |open: de|vice %d |
|000038c0| 63 6f 6d 69 6e 67 20 75 | 70 22 2c 20 6d 69 6e 6f |coming u|p", mino|
|000038d0| 72 29 3b 0a 58 09 72 65 | 74 75 72 6e 20 28 30 29 |r);.X.re|turn (0)|
|000038e0| 3b 0a 58 7d 0a 58 0a 58 | 2f 2a 0a 58 20 2a 20 73 |;.X}.X.X|/*.X * s|
|000038f0| 6c 69 70 5f 63 6c 6f 73 | 65 20 28 29 0a 58 20 2a |lip_clos|e ().X *|
|00003900| 2f 0a 58 0a 58 23 69 66 | 6e 64 65 66 20 44 45 42 |/.X.X#if|ndef DEB|
|00003910| 55 47 0a 58 73 74 61 74 | 69 63 0a 58 23 65 6e 64 |UG.Xstat|ic.X#end|
|00003920| 69 66 0a 58 73 6c 69 70 | 5f 63 6c 6f 73 65 20 28 |if.Xslip|_close (|
|00003930| 71 29 0a 58 71 75 65 75 | 65 5f 74 09 2a 71 3b 0a |q).Xqueu|e_t.*q;.|
|00003940| 58 7b 0a 58 09 73 6c 69 | 70 5f 74 09 2a 70 5f 73 |X{.X.sli|p_t.*p_s|
|00003950| 6c 69 70 3b 0a 58 09 64 | 65 76 5f 74 09 20 64 65 |lip;.X.d|ev_t. de|
|00003960| 76 3b 0a 58 09 69 6e 74 | 09 09 6f 6c 64 70 72 69 |v;.X.int|..oldpri|
|00003970| 3b 0a 58 0a 58 09 53 54 | 52 4c 4f 47 20 28 53 4c |;.X.X.ST|RLOG (SL|
|00003980| 49 50 4d 5f 49 44 2c 20 | 30 2c 20 30 2c 20 53 4c |IPM_ID, |0, 0, SL|
|00003990| 5f 54 52 41 43 45 2c 20 | 22 73 6c 69 70 5f 63 6c |_TRACE, |"slip_cl|
|000039a0| 6f 73 65 3a 20 67 6f 69 | 6e 67 20 64 6f 77 6e 20 |ose: goi|ng down |
|000039b0| 2e 2e 2e 22 29 3b 0a 58 | 09 70 5f 73 6c 69 70 20 |...");.X|.p_slip |
|000039c0| 3d 20 28 73 6c 69 70 5f | 74 20 2a 29 20 71 2d 3e |= (slip_|t *) q->|
|000039d0| 71 5f 70 74 72 3b 0a 58 | 09 6f 6c 64 70 72 69 20 |q_ptr;.X|.oldpri |
|000039e0| 3d 20 73 70 6c 73 74 72 | 20 28 29 3b 0a 58 0a 58 |= splstr| ();.X.X|
|000039f0| 09 69 66 20 28 70 5f 73 | 6c 69 70 2d 3e 62 75 66 |.if (p_s|lip->buf|
|00003a00| 29 0a 58 09 09 6b 6d 65 | 6d 5f 66 72 65 65 20 28 |).X..kme|m_free (|
|00003a10| 70 5f 73 6c 69 70 2d 3e | 62 75 66 2c 20 53 4c 49 |p_slip->|buf, SLI|
|00003a20| 50 4d 54 55 29 3b 0a 58 | 0a 58 09 70 5f 73 6c 69 |PMTU);.X|.X.p_sli|
|00003a30| 70 2d 3e 73 74 61 74 65 | 20 3d 20 44 4c 5f 55 4e |p->state| = DL_UN|
|00003a40| 41 54 54 41 43 48 45 44 | 3b 0a 58 09 70 5f 73 6c |ATTACHED|;.X.p_sl|
|00003a50| 69 70 2d 3e 62 75 66 20 | 20 20 3d 20 30 3b 0a 58 |ip->buf | = 0;.X|
|00003a60| 09 70 5f 73 6c 69 70 2d | 3e 69 6e 6c 65 6e 20 3d |.p_slip-|>inlen =|
|00003a70| 20 30 3b 0a 58 09 70 5f | 73 6c 69 70 2d 3e 71 74 | 0;.X.p_|slip->qt|
|00003a80| 6f 70 20 20 3d 20 30 3b | 0a 58 09 70 5f 73 6c 69 |op = 0;|.X.p_sli|
|00003a90| 70 2d 3e 70 69 64 20 20 | 20 3d 20 30 3b 0a 58 0a |p->pid | = 0;.X.|
|00003aa0| 58 09 69 66 73 74 61 74 | 73 20 3d 20 70 5f 73 6c |X.ifstat|s = p_sl|
|00003ab0| 69 70 2d 3e 73 74 61 74 | 73 2e 69 66 73 5f 6e 65 |ip->stat|s.ifs_ne|
|00003ac0| 78 74 3b 20 09 09 2f 2a | 20 72 65 73 65 74 20 69 |xt; ../*| reset i|
|00003ad0| 66 73 74 61 74 73 20 70 | 6f 69 6e 74 65 72 73 20 |fstats p|ointers |
|00003ae0| 2a 2f 0a 58 09 73 70 6c | 78 20 28 6f 6c 64 70 72 |*/.X.spl|x (oldpr|
|00003af0| 69 29 3b 0a 58 7d 0a 58 | 0a 58 2f 2a 0a 58 20 2a |i);.X}.X|.X/*.X *|
|00003b00| 09 73 6c 69 70 5f 69 6f | 63 74 6c 20 28 29 0a 58 |.slip_io|ctl ().X|
|00003b10| 20 2a 2f 0a 58 0a 58 23 | 69 66 6e 64 65 66 20 44 | */.X.X#|ifndef D|
|00003b20| 45 42 55 47 0a 58 73 74 | 61 74 69 63 0a 58 23 65 |EBUG.Xst|atic.X#e|
|00003b30| 6e 64 69 66 0a 58 73 6c | 69 70 5f 69 6f 63 74 6c |ndif.Xsl|ip_ioctl|
|00003b40| 20 28 71 2c 20 6d 70 29 | 0a 58 71 75 65 75 65 5f | (q, mp)|.Xqueue_|
|00003b50| 74 09 2a 71 3b 0a 58 6d | 62 6c 6b 5f 74 09 2a 6d |t.*q;.Xm|blk_t.*m|
|00003b60| 70 3b 0a 58 7b 0a 58 09 | 73 74 72 75 63 74 20 69 |p;.X{.X.|struct i|
|00003b70| 6f 63 62 6c 6b 20 2a 69 | 6f 63 70 3b 0a 58 09 73 |ocblk *i|ocp;.X.s|
|00003b80| 74 72 75 63 74 20 69 66 | 72 65 71 20 20 2a 69 66 |truct if|req *if|
|00003b90| 72 3b 0a 58 09 73 6c 69 | 70 5f 74 20 2a 70 5f 73 |r;.X.sli|p_t *p_s|
|00003ba0| 6c 69 70 3b 0a 58 09 69 | 6e 74 09 09 6f 6c 64 70 |lip;.X.i|nt..oldp|
|00003bb0| 72 69 3b 0a 58 09 73 74 | 72 75 63 74 09 6c 69 6e |ri;.X.st|ruct.lin|
|00003bc0| 6b 62 6c 6b 09 2a 6c 70 | 3b 0a 58 09 73 6c 69 70 |kblk.*lp|;.X.slip|
|00003bd0| 5f 74 20 2a 70 70 3b 0a | 58 09 75 5f 63 68 61 72 |_t *pp;.|X.u_char|
|00003be0| 20 2a 70 3b 0a 58 09 69 | 6e 74 20 6e 3b 0a 58 0a | *p;.X.i|nt n;.X.|
|00003bf0| 58 09 70 5f 73 6c 69 70 | 20 20 3d 20 28 73 6c 69 |X.p_slip| = (sli|
|00003c00| 70 5f 74 20 2a 29 20 71 | 2d 3e 71 5f 70 74 72 3b |p_t *) q|->q_ptr;|
|00003c10| 0a 58 09 69 6f 63 70 20 | 3d 20 28 73 74 72 75 63 |.X.iocp |= (struc|
|00003c20| 74 20 69 6f 63 62 6c 6b | 20 2a 29 20 6d 70 2d 3e |t iocblk| *) mp->|
|00003c30| 62 5f 72 70 74 72 3b 0a | 58 0a 58 09 53 54 52 4c |b_rptr;.|X.X.STRL|
|00003c40| 4f 47 20 28 53 4c 49 50 | 4d 5f 49 44 2c 20 31 2c |OG (SLIP|M_ID, 1,|
|00003c50| 20 30 2c 20 53 4c 5f 54 | 52 41 43 45 2c 20 22 73 | 0, SL_T|RACE, "s|
|00003c60| 6c 69 70 5f 69 6f 63 74 | 6c 3a 20 65 6e 74 65 72 |lip_ioct|l: enter|
|00003c70| 3a 20 63 61 73 65 20 28 | 27 25 63 27 2c 25 64 29 |: case (|'%c',%d)|
|00003c80| 22 2c 20 30 78 30 30 46 | 46 26 28 69 6f 63 70 2d |", 0x00F|F&(iocp-|
|00003c90| 3e 69 6f 63 5f 63 6d 64 | 3e 3e 38 29 2c 20 30 78 |>ioc_cmd|>>8), 0x|
|00003ca0| 30 30 46 46 26 69 6f 63 | 70 2d 3e 69 6f 63 5f 63 |00FF&ioc|p->ioc_c|
|00003cb0| 6d 64 29 3b 0a 58 09 6f | 6c 64 70 72 69 20 3d 20 |md);.X.o|ldpri = |
|00003cc0| 73 70 6c 73 74 72 20 28 | 29 3b 0a 58 0a 58 09 73 |splstr (|);.X.X.s|
|00003cd0| 77 69 74 63 68 20 28 69 | 6f 63 70 2d 3e 69 6f 63 |witch (i|ocp->ioc|
|00003ce0| 5f 63 6d 64 29 20 7b 0a | 58 0a 58 09 63 61 73 65 |_cmd) {.|X.X.case|
|00003cf0| 20 52 45 47 5f 53 4c 48 | 55 50 3a 0a 58 09 09 53 | REG_SLH|UP:.X..S|
|00003d00| 54 52 4c 4f 47 20 28 53 | 4c 49 50 4d 5f 49 44 2c |TRLOG (S|LIPM_ID,|
|00003d10| 20 31 2c 20 30 2c 20 53 | 4c 5f 54 52 41 43 45 2c | 1, 0, S|L_TRACE,|
|00003d20| 20 22 73 6c 69 70 5f 69 | 6f 63 74 6c 3a 20 52 45 | "slip_i|octl: RE|
|00003d30| 47 5f 53 4c 48 55 50 22 | 29 3b 0a 58 09 09 69 66 |G_SLHUP"|);.X..if|
|00003d40| 20 28 73 6c 69 70 5f 68 | 75 70 29 20 7b 0a 58 09 | (slip_h|up) {.X.|
|00003d50| 09 09 73 70 6c 78 20 28 | 6f 6c 64 70 72 69 29 3b |..splx (|oldpri);|
|00003d60| 0a 58 09 09 09 6d 70 2d | 3e 62 5f 64 61 74 61 70 |.X...mp-|>b_datap|
|00003d70| 2d 3e 64 62 5f 74 79 70 | 65 20 3d 20 4d 5f 49 4f |->db_typ|e = M_IO|
|00003d80| 43 4e 41 4b 3b 0a 58 09 | 09 09 71 72 65 70 6c 79 |CNAK;.X.|..qreply|
|00003d90| 20 28 71 2c 20 6d 70 29 | 3b 0a 58 09 09 09 72 65 | (q, mp)|;.X...re|
|00003da0| 74 75 72 6e 20 28 30 29 | 3b 0a 58 09 09 7d 0a 58 |turn (0)|;.X..}.X|
|00003db0| 09 09 65 6c 73 65 0a 58 | 09 09 09 73 6c 69 70 5f |..else.X|...slip_|
|00003dc0| 68 75 70 20 3d 20 70 5f | 73 6c 69 70 3b 0a 58 09 |hup = p_|slip;.X.|
|00003dd0| 09 62 72 65 61 6b 3b 0a | 58 0a 58 09 63 61 73 65 |.break;.|X.X.case|
|00003de0| 20 55 4e 52 45 47 5f 53 | 4c 48 55 50 3a 0a 58 09 | UNREG_S|LHUP:.X.|
|00003df0| 09 53 54 52 4c 4f 47 20 | 28 53 4c 49 50 4d 5f 49 |.STRLOG |(SLIPM_I|
|00003e00| 44 2c 20 31 2c 20 30 2c | 20 53 4c 5f 54 52 41 43 |D, 1, 0,| SL_TRAC|
|00003e10| 45 2c 20 22 73 6c 69 70 | 5f 69 6f 63 74 6c 3a 20 |E, "slip|_ioctl: |
|00003e20| 55 4e 52 45 47 5f 53 4c | 48 55 50 22 29 3b 0a 58 |UNREG_SL|HUP");.X|
|00003e30| 09 09 73 6c 69 70 5f 68 | 75 70 20 3d 20 30 3b 0a |..slip_h|up = 0;.|
|00003e40| 58 09 09 62 72 65 61 6b | 3b 0a 58 0a 58 09 63 61 |X..break|;.X.X.ca|
|00003e50| 73 65 20 49 5f 4c 49 4e | 4b 3a 0a 58 09 09 69 6f |se I_LIN|K:.X..io|
|00003e60| 63 70 2d 3e 69 6f 63 5f | 65 72 72 6f 72 20 3d 20 |cp->ioc_|error = |
|00003e70| 69 6f 63 70 2d 3e 69 6f | 63 5f 72 76 61 6c 20 3d |iocp->io|c_rval =|
|00003e80| 20 69 6f 63 70 2d 3e 69 | 6f 63 5f 63 6f 75 6e 74 | iocp->i|oc_count|
|00003e90| 20 3d 20 30 3b 0a 58 0a | 58 09 09 6c 70 20 3d 20 | = 0;.X.|X..lp = |
|00003ea0| 28 73 74 72 75 63 74 20 | 6c 69 6e 6b 62 6c 6b 20 |(struct |linkblk |
|00003eb0| 2a 29 20 6d 70 2d 3e 62 | 5f 63 6f 6e 74 2d 3e 62 |*) mp->b|_cont->b|
|00003ec0| 5f 72 70 74 72 3b 0a 58 | 09 09 70 5f 73 6c 69 70 |_rptr;.X|..p_slip|
|00003ed0| 2d 3e 71 62 6f 74 20 3d | 20 6c 70 2d 3e 6c 5f 71 |->qbot =| lp->l_q|
|00003ee0| 62 6f 74 3b 0a 58 09 09 | 70 5f 73 6c 69 70 2d 3e |bot;.X..|p_slip->|
|00003ef0| 71 62 6f 74 2d 3e 71 5f | 70 74 72 20 3d 20 28 63 |qbot->q_|ptr = (c|
|00003f00| 68 61 72 20 2a 29 20 70 | 5f 73 6c 69 70 3b 0a 58 |har *) p|_slip;.X|
|00003f10| 09 09 4f 54 48 45 52 51 | 20 28 70 5f 73 6c 69 70 |..OTHERQ| (p_slip|
|00003f20| 2d 3e 71 62 6f 74 29 2d | 3e 71 5f 70 74 72 20 3d |->qbot)-|>q_ptr =|
|00003f30| 20 28 63 68 61 72 20 2a | 29 20 70 5f 73 6c 69 70 | (char *|) p_slip|
|00003f40| 3b 0a 58 09 09 62 72 65 | 61 6b 3b 0a 58 0a 58 09 |;.X..bre|ak;.X.X.|
|00003f50| 63 61 73 65 20 49 5f 55 | 4e 4c 49 4e 4b 3a 0a 58 |case I_U|NLINK:.X|
|00003f60| 09 09 69 6f 63 70 2d 3e | 69 6f 63 5f 65 72 72 6f |..iocp->|ioc_erro|
|00003f70| 72 20 3d 20 69 6f 63 70 | 2d 3e 69 6f 63 5f 72 76 |r = iocp|->ioc_rv|
|00003f80| 61 6c 20 3d 20 69 6f 63 | 70 2d 3e 69 6f 63 5f 63 |al = ioc|p->ioc_c|
|00003f90| 6f 75 6e 74 20 3d 20 30 | 3b 0a 58 09 09 70 5f 73 |ount = 0|;.X..p_s|
|00003fa0| 6c 69 70 2d 3e 71 62 6f | 74 20 3d 20 4e 55 4c 4c |lip->qbo|t = NULL|
|00003fb0| 3b 0a 58 09 09 62 72 65 | 61 6b 3b 0a 58 0a 58 09 |;.X..bre|ak;.X.X.|
|00003fc0| 63 61 73 65 20 53 49 4f | 43 53 49 46 4e 41 4d 45 |case SIO|CSIFNAME|
|00003fd0| 3a 0a 58 09 09 69 66 72 | 20 3d 20 28 73 74 72 75 |:.X..ifr| = (stru|
|00003fe0| 63 74 20 69 66 72 65 71 | 20 2a 29 20 6d 70 2d 3e |ct ifreq| *) mp->|
|00003ff0| 62 5f 63 6f 6e 74 2d 3e | 62 5f 72 70 74 72 3b 0a |b_cont->|b_rptr;.|
|00004000| 58 0a 58 09 09 2f 2a 20 | 63 6f 70 79 20 69 6e 74 |X.X../* |copy int|
|00004010| 65 72 66 61 63 65 20 6e | 61 6d 65 20 74 6f 20 6c |erface n|ame to l|
|00004020| 6f 63 61 6c 20 73 6c 69 | 70 20 73 74 72 75 63 74 |ocal sli|p struct|
|00004030| 75 72 65 20 2a 2f 0a 58 | 0a 58 09 09 2f 2a 0a 58 |ure */.X|.X../*.X|
|00004040| 09 09 20 2a 20 69 6e 74 | 65 72 66 61 63 65 20 6e |.. * int|erface n|
|00004050| 61 6d 65 20 28 69 66 72 | 2d 3e 69 66 72 5f 6e 61 |ame (ifr|->ifr_na|
|00004060| 6d 65 29 20 63 6f 6e 74 | 61 69 6e 73 20 74 68 65 |me) cont|ains the|
|00004070| 20 6e 61 6d 65 20 61 6e | 64 20 75 6e 69 74 2c 20 | name an|d unit, |
|00004080| 65 2e 67 2e 0a 58 09 09 | 20 2a 20 22 73 6c 30 22 |e.g..X..| * "sl0"|
|00004090| 2c 20 22 73 6c 31 32 22 | 2c 20 22 65 6d 64 30 22 |, "sl12"|, "emd0"|
|000040a0| 2c 20 22 77 64 31 22 2c | 20 65 74 63 2e 20 53 74 |, "wd1",| etc. St|
|000040b0| 6f 72 65 20 74 68 65 20 | 6e 61 6d 65 20 69 6e 20 |ore the |name in |
|000040c0| 73 6c 69 70 2d 3e 75 6e | 61 6d 65 0a 58 09 09 20 |slip->un|ame.X.. |
|000040d0| 2a 20 61 6e 64 20 75 6e | 69 74 20 69 6e 20 73 6c |* and un|it in sl|
|000040e0| 69 70 2d 3e 75 6e 69 74 | 2e 20 49 66 20 75 6e 69 |ip->unit|. If uni|
|000040f0| 74 20 69 73 20 6e 6f 74 | 20 73 75 70 70 6c 69 65 |t is not| supplie|
|00004100| 64 2c 20 65 2e 67 2e 20 | 22 73 6c 69 70 22 2c 0a |d, e.g. |"slip",.|
|00004110| 58 09 09 20 2a 20 74 68 | 65 6e 20 75 6e 69 74 20 |X.. * th|en unit |
|00004120| 6e 75 6d 62 65 72 20 69 | 73 20 61 73 73 75 6d 65 |number i|s assume|
|00004130| 64 20 74 6f 20 62 65 20 | 7a 65 72 6f 2e 0a 58 09 |d to be |zero..X.|
|00004140| 09 20 2a 2f 0a 58 0a 58 | 09 09 73 74 72 6e 63 70 |. */.X.X|..strncp|
|00004150| 79 20 28 70 5f 73 6c 69 | 70 2d 3e 75 6e 61 6d 65 |y (p_sli|p->uname|
|00004160| 2c 20 69 66 72 2d 3e 69 | 66 72 5f 6e 61 6d 65 2c |, ifr->i|fr_name,|
|00004170| 20 49 46 4e 41 4d 53 49 | 5a 29 3b 09 2f 2a 20 63 | IFNAMSI|Z);./* c|
|00004180| 6f 70 79 20 6e 61 6d 65 | 20 2a 2f 0a 58 09 09 6e |opy name| */.X..n|
|00004190| 20 3d 20 30 3b 0a 58 0a | 58 09 09 2f 2a 20 73 74 | = 0;.X.|X../* st|
|000041a0| 61 72 74 69 6e 67 20 66 | 72 6f 6d 20 74 68 65 20 |arting f|rom the |
|000041b0| 6c 61 73 74 20 63 68 61 | 72 2c 20 66 69 6e 64 20 |last cha|r, find |
|000041c0| 74 68 65 20 66 69 72 73 | 74 20 6e 6f 6e 2d 64 69 |the firs|t non-di|
|000041d0| 67 69 74 20 63 68 61 72 | 20 2a 2f 0a 58 0a 58 09 |git char| */.X.X.|
|000041e0| 09 70 20 3d 20 70 5f 73 | 6c 69 70 2d 3e 75 6e 61 |.p = p_s|lip->una|
|000041f0| 6d 65 20 2b 20 73 74 72 | 6c 65 6e 28 70 5f 73 6c |me + str|len(p_sl|
|00004200| 69 70 2d 3e 75 6e 61 6d | 65 29 20 2d 20 31 3b 0a |ip->unam|e) - 1;.|
|00004210| 58 09 09 77 68 69 6c 65 | 20 28 27 30 27 20 3c 3d |X..while| ('0' <=|
|00004220| 20 2a 70 20 26 26 20 2a | 70 20 3c 3d 20 27 39 27 | *p && *|p <= '9'|
|00004230| 29 0a 58 09 09 09 70 2d | 2d 3b 0a 58 0a 58 09 09 |).X...p-|-;.X.X..|
|00004240| 2f 2a 20 63 61 6c 63 75 | 6c 61 74 65 20 69 6e 74 |/* calcu|late int|
|00004250| 65 67 65 72 2c 20 72 65 | 70 6c 61 63 65 20 74 68 |eger, re|place th|
|00004260| 65 6d 20 77 69 74 68 20 | 6e 75 6c 6c 73 20 2a 2f |em with |nulls */|
|00004270| 0a 58 0a 58 09 09 77 68 | 69 6c 65 20 28 2a 2b 2b |.X.X..wh|ile (*++|
|00004280| 70 29 20 7b 0a 58 09 09 | 09 6e 20 3d 20 31 30 2a |p) {.X..|.n = 10*|
|00004290| 6e 20 2b 20 28 2a 70 2d | 27 30 27 29 3b 0a 58 09 |n + (*p-|'0');.X.|
|000042a0| 09 09 2a 70 20 3d 20 27 | 5c 30 27 3b 0a 58 09 09 |..*p = '|\0';.X..|
|000042b0| 7d 0a 58 09 09 70 5f 73 | 6c 69 70 2d 3e 73 74 61 |}.X..p_s|lip->sta|
|000042c0| 74 73 2e 69 66 73 5f 75 | 6e 69 74 20 3d 20 6e 3b |ts.ifs_u|nit = n;|
|000042d0| 09 09 09 09 2f 2a 20 73 | 65 74 20 69 66 73 20 75 |..../* s|et ifs u|
|000042e0| 6e 69 74 20 6e 75 6d 62 | 65 72 20 20 2a 2f 0a 58 |nit numb|er */.X|
|000042f0| 0a 58 09 09 2f 2a 20 73 | 65 61 72 63 68 20 66 6f |.X../* s|earch fo|
|00004300| 72 20 6d 61 74 63 68 69 | 6e 67 20 69 6e 74 65 72 |r matchi|ng inter|
|00004310| 66 61 63 65 20 6e 61 6d | 65 20 61 6e 64 20 75 6e |face nam|e and un|
|00004320| 69 74 20 2a 2f 0a 58 0a | 58 09 09 66 6f 72 20 28 |it */.X.|X..for (|
|00004330| 6e 3d 30 2c 20 70 70 3d | 26 73 6c 69 70 5f 64 61 |n=0, pp=|&slip_da|
|00004340| 74 61 5b 30 5d 3b 20 6e | 3c 73 6c 69 70 5f 6e 75 |ta[0]; n|<slip_nu|
|00004350| 6d 3b 20 6e 2b 2b 2c 20 | 70 70 2b 2b 29 0a 58 09 |m; n++, |pp++).X.|
|00004360| 09 09 69 66 20 28 70 70 | 20 21 3d 20 70 5f 73 6c |..if (pp| != p_sl|
|00004370| 69 70 20 26 26 20 70 70 | 2d 3e 62 75 66 20 26 26 |ip && pp|->buf &&|
|00004380| 20 21 73 74 72 63 6d 70 | 20 28 70 70 2d 3e 75 6e | !strcmp| (pp->un|
|00004390| 61 6d 65 2c 70 5f 73 6c | 69 70 2d 3e 75 6e 61 6d |ame,p_sl|ip->unam|
|000043a0| 65 29 20 26 26 0a 58 09 | 09 09 09 70 70 2d 3e 73 |e) &&.X.|...pp->s|
|000043b0| 74 61 74 73 2e 69 66 73 | 5f 75 6e 69 74 20 3d 3d |tats.ifs|_unit ==|
|000043c0| 20 70 5f 73 6c 69 70 2d | 3e 73 74 61 74 73 2e 69 | p_slip-|>stats.i|
|000043d0| 66 73 5f 75 6e 69 74 29 | 0a 58 09 09 09 09 62 72 |fs_unit)|.X....br|
|000043e0| 65 61 6b 3b 0a 58 0a 58 | 09 09 69 66 20 28 6e 20 |eak;.X.X|..if (n |
|000043f0| 3c 20 73 6c 69 70 5f 6e | 75 6d 29 20 7b 09 09 09 |< slip_n|um) {...|
|00004400| 09 09 09 09 2f 2a 20 66 | 6f 75 6e 64 20 6d 61 74 |..../* f|ound mat|
|00004410| 63 68 69 6e 67 20 69 66 | 6e 61 6d 65 20 2a 2f 0a |ching if|name */.|
|00004420| 58 09 09 09 73 70 6c 78 | 20 28 6f 6c 64 70 72 69 |X...splx| (oldpri|
|00004430| 29 3b 0a 58 09 09 09 6d | 70 2d 3e 62 5f 64 61 74 |);.X...m|p->b_dat|
|00004440| 61 70 2d 3e 64 62 5f 74 | 79 70 65 20 3d 20 4d 5f |ap->db_t|ype = M_|
|00004450| 49 4f 43 4e 41 4b 3b 09 | 09 2f 2a 20 4e 65 67 61 |IOCNAK;.|./* Nega|
|00004460| 74 69 76 65 20 41 63 6b | 20 72 65 70 6c 79 20 2a |tive Ack| reply *|
|00004470| 2f 0a 58 09 09 09 71 72 | 65 70 6c 79 20 28 71 2c |/.X...qr|eply (q,|
|00004480| 20 6d 70 29 3b 0a 58 09 | 09 09 72 65 74 75 72 6e | mp);.X.|..return|
|00004490| 20 28 30 29 3b 0a 58 09 | 09 7d 0a 58 09 09 65 6c | (0);.X.|.}.X..el|
|000044a0| 73 65 20 7b 09 09 09 09 | 09 09 09 09 09 09 2f 2a |se {....|....../*|
|000044b0| 20 69 66 6e 61 6d 65 20 | 69 73 20 75 6e 69 71 75 | ifname |is uniqu|
|000044c0| 65 20 2a 2f 0a 58 09 09 | 09 70 5f 73 6c 69 70 2d |e */.X..|.p_slip-|
|000044d0| 3e 73 74 61 74 73 2e 69 | 66 73 5f 6e 65 78 74 20 |>stats.i|fs_next |
|000044e0| 3d 20 69 66 73 74 61 74 | 73 3b 09 09 2f 2a 20 73 |= ifstat|s;../* s|
|000044f0| 65 74 20 69 66 73 74 61 | 74 73 20 70 6f 69 6e 74 |et ifsta|ts point|
|00004500| 65 72 73 20 2a 2f 0a 58 | 09 09 09 69 66 73 74 61 |ers */.X|...ifsta|
|00004510| 74 73 20 3d 20 26 70 5f | 73 6c 69 70 2d 3e 73 74 |ts = &p_|slip->st|
|00004520| 61 74 73 3b 09 09 09 09 | 2f 2a 20 75 73 65 64 20 |ats;....|/* used |
|00004530| 66 6f 72 20 73 74 61 74 | 69 73 74 69 63 73 20 2a |for stat|istics *|
|00004540| 2f 0a 58 09 09 7d 09 09 | 09 09 09 09 09 09 09 09 |/.X..}..|........|
|00004550| 09 2f 2a 20 62 79 20 6e | 65 74 73 74 61 74 20 63 |./* by n|etstat c|
|00004560| 6f 6d 6d 61 6e 64 20 2a | 2f 0a 58 09 09 62 72 65 |ommand *|/.X..bre|
|00004570| 61 6b 3b 0a 58 0a 58 09 | 63 61 73 65 20 53 49 4f |ak;.X.X.|case SIO|
|00004580| 43 47 49 46 46 4c 41 47 | 53 3a 0a 58 09 09 28 28 |CGIFFLAG|S:.X..((|
|00004590| 73 74 72 75 63 74 20 69 | 6f 63 62 6c 6b 5f 69 6e |struct i|ocblk_in|
|000045a0| 20 2a 29 69 6f 63 70 29 | 2d 3e 69 6f 63 5f 69 66 | *)iocp)|->ioc_if|
|000045b0| 66 6c 61 67 73 20 3d 20 | 70 5f 73 6c 69 70 2d 3e |flags = |p_slip->|
|000045c0| 66 6c 61 67 73 3b 0a 58 | 09 09 62 72 65 61 6b 3b |flags;.X|..break;|
|000045d0| 0a 58 0a 58 09 63 61 73 | 65 20 53 49 4f 43 53 49 |.X.X.cas|e SIOCSI|
|000045e0| 46 46 4c 41 47 53 3a 0a | 58 09 09 70 5f 73 6c 69 |FFLAGS:.|X..p_sli|
|000045f0| 70 2d 3e 66 6c 61 67 73 | 20 3d 20 28 28 73 74 72 |p->flags| = ((str|
|00004600| 75 63 74 20 69 6f 63 62 | 6c 6b 5f 69 6e 20 2a 29 |uct iocb|lk_in *)|
|00004610| 69 6f 63 70 29 2d 3e 69 | 6f 63 5f 69 66 66 6c 61 |iocp)->i|oc_iffla|
|00004620| 67 73 3b 0a 58 09 09 62 | 72 65 61 6b 3b 0a 58 0a |gs;.X..b|reak;.X.|
|00004630| 58 09 63 61 73 65 20 53 | 49 4f 43 53 49 46 41 44 |X.case S|IOCSIFAD|
|00004640| 44 52 3a 0a 58 09 09 70 | 5f 73 6c 69 70 2d 3e 66 |DR:.X..p|_slip->f|
|00004650| 6c 61 67 73 20 7c 3d 20 | 49 46 46 5f 52 55 4e 4e |lags |= |IFF_RUNN|
|00004660| 49 4e 47 3b 0a 58 09 09 | 28 28 73 74 72 75 63 74 |ING;.X..|((struct|
|00004670| 20 69 6f 63 62 6c 6b 5f | 69 6e 20 2a 29 69 6f 63 | iocblk_|in *)ioc|
|00004680| 70 29 2d 3e 69 6f 63 5f | 69 66 66 6c 61 67 73 20 |p)->ioc_|ifflags |
|00004690| 7c 3d 20 49 46 46 5f 52 | 55 4e 4e 49 4e 47 3b 0a ||= IFF_R|UNNING;.|
|000046a0| 58 09 09 62 72 65 61 6b | 3b 0a 58 0a 58 09 64 65 |X..break|;.X.X.de|
|000046b0| 66 61 75 6c 74 3a 0a 58 | 09 09 62 72 65 61 6b 3b |fault:.X|..break;|
|000046c0| 0a 58 09 7d 0a 58 09 73 | 70 6c 78 20 28 6f 6c 64 |.X.}.X.s|plx (old|
|000046d0| 70 72 69 29 3b 0a 58 09 | 6d 70 2d 3e 62 5f 64 61 |pri);.X.|mp->b_da|
|000046e0| 74 61 70 2d 3e 64 62 5f | 74 79 70 65 20 3d 20 4d |tap->db_|type = M|
|000046f0| 5f 49 4f 43 41 43 4b 3b | 0a 58 09 71 72 65 70 6c |_IOCACK;|.X.qrepl|
|00004700| 79 20 28 71 2c 20 6d 70 | 29 3b 0a 58 7d 0a 58 0a |y (q, mp|);.X}.X.|
|00004710| 58 2f 2a 0a 58 20 2a 20 | 73 6c 69 70 5f 75 77 70 |X/*.X * |slip_uwp|
|00004720| 75 74 20 28 29 0a 58 20 | 2a 2f 0a 58 0a 58 23 69 |ut ().X |*/.X.X#i|
|00004730| 66 6e 64 65 66 20 44 45 | 42 55 47 0a 58 73 74 61 |fndef DE|BUG.Xsta|
|00004740| 74 69 63 0a 58 23 65 6e | 64 69 66 0a 58 73 6c 69 |tic.X#en|dif.Xsli|
|00004750| 70 5f 75 77 70 75 74 20 | 28 71 2c 20 6d 70 29 0a |p_uwput |(q, mp).|
|00004760| 58 71 75 65 75 65 5f 74 | 09 2a 71 3b 0a 58 6d 62 |Xqueue_t|.*q;.Xmb|
|00004770| 6c 6b 5f 74 09 2a 6d 70 | 3b 0a 58 7b 0a 58 09 53 |lk_t.*mp|;.X{.X.S|
|00004780| 54 52 4c 4f 47 20 28 53 | 4c 49 50 4d 5f 49 44 2c |TRLOG (S|LIPM_ID,|
|00004790| 20 30 2c 20 30 2c 20 53 | 4c 5f 54 52 41 43 45 2c | 0, 0, S|L_TRACE,|
|000047a0| 20 22 73 6c 69 70 5f 75 | 77 70 75 74 3a 20 63 61 | "slip_u|wput: ca|
|000047b0| 73 65 20 30 78 25 32 2e | 32 78 22 2c 20 6d 70 2d |se 0x%2.|2x", mp-|
|000047c0| 3e 62 5f 64 61 74 61 70 | 2d 3e 64 62 5f 74 79 70 |>b_datap|->db_typ|
|000047d0| 65 29 3b 0a 58 0a 58 09 | 73 77 69 74 63 68 20 28 |e);.X.X.|switch (|
|000047e0| 6d 70 2d 3e 62 5f 64 61 | 74 61 70 2d 3e 64 62 5f |mp->b_da|tap->db_|
|000047f0| 74 79 70 65 29 20 7b 0a | 58 0a 58 09 63 61 73 65 |type) {.|X.X.case|
|00004800| 20 4d 5f 46 4c 55 53 48 | 3a 0a 58 09 09 69 66 20 | M_FLUSH|:.X..if |
|00004810| 28 2a 6d 70 2d 3e 62 5f | 72 70 74 72 20 26 20 46 |(*mp->b_|rptr & F|
|00004820| 4c 55 53 48 57 29 20 7b | 0a 58 09 09 09 66 6c 75 |LUSHW) {|.X...flu|
|00004830| 73 68 71 28 71 2c 20 46 | 4c 55 53 48 41 4c 4c 29 |shq(q, F|LUSHALL)|
|00004840| 3b 0a 58 09 09 09 2a 6d | 70 2d 3e 62 5f 72 70 74 |;.X...*m|p->b_rpt|
|00004850| 72 20 26 3d 20 7e 46 4c | 55 53 48 57 3b 0a 58 09 |r &= ~FL|USHW;.X.|
|00004860| 09 7d 0a 58 09 09 69 66 | 20 28 2a 6d 70 2d 3e 62 |.}.X..if| (*mp->b|
|00004870| 5f 72 70 74 72 20 26 20 | 46 4c 55 53 48 52 29 0a |_rptr & |FLUSHR).|
|00004880| 58 09 09 09 71 72 65 70 | 6c 79 28 71 2c 20 6d 70 |X...qrep|ly(q, mp|
|00004890| 29 3b 0a 58 09 09 65 6c | 73 65 0a 58 09 09 09 66 |);.X..el|se.X...f|
|000048a0| 72 65 65 6d 73 67 28 6d | 70 29 3b 0a 58 09 09 62 |reemsg(m|p);.X..b|
|000048b0| 72 65 61 6b 3b 0a 58 0a | 58 09 63 61 73 65 20 4d |reak;.X.|X.case M|
|000048c0| 5f 49 4f 43 54 4c 3a 0a | 58 09 09 73 6c 69 70 5f |_IOCTL:.|X..slip_|
|000048d0| 69 6f 63 74 6c 20 28 71 | 2c 20 6d 70 29 3b 0a 58 |ioctl (q|, mp);.X|
|000048e0| 09 09 62 72 65 61 6b 3b | 0a 58 0a 58 09 63 61 73 |..break;|.X.X.cas|
|000048f0| 65 20 4d 5f 50 52 4f 54 | 4f 3a 0a 58 09 63 61 73 |e M_PROT|O:.X.cas|
|00004900| 65 20 4d 5f 50 43 50 52 | 4f 54 4f 3a 0a 58 09 09 |e M_PCPR|OTO:.X..|
|00004910| 73 6c 69 70 5f 64 6c 5f | 63 6d 64 73 20 28 71 2c |slip_dl_|cmds (q,|
|00004920| 20 6d 70 29 3b 0a 58 09 | 09 62 72 65 61 6b 3b 0a | mp);.X.|.break;.|
|00004930| 58 0a 58 09 64 65 66 61 | 75 6c 74 3a 0a 58 09 09 |X.X.defa|ult:.X..|
|00004940| 53 54 52 4c 4f 47 20 28 | 53 4c 49 50 4d 5f 49 44 |STRLOG (|SLIPM_ID|
|00004950| 2c 31 2c 30 2c 53 4c 5f | 54 52 41 43 45 2c 22 73 |,1,0,SL_|TRACE,"s|
|00004960| 6c 69 70 5f 75 77 70 75 | 74 3a 20 75 6e 6b 6e 6f |lip_uwpu|t: unkno|
|00004970| 77 6e 20 6d 65 73 73 61 | 67 65 20 74 79 70 65 2c |wn messa|ge type,|
|00004980| 20 70 61 73 73 69 6e 67 | 20 6d 65 73 73 61 67 65 | passing| message|
|00004990| 20 74 6f 20 74 68 65 20 | 6e 65 78 74 20 71 75 65 | to the |next que|
|000049a0| 75 65 22 29 3b 0a 58 09 | 09 70 75 74 6e 65 78 74 |ue");.X.|.putnext|
|000049b0| 20 28 28 28 73 6c 69 70 | 5f 74 20 2a 29 71 2d 3e | (((slip|_t *)q->|
|000049c0| 71 5f 70 74 72 29 2d 3e | 71 62 6f 74 2c 20 6d 70 |q_ptr)->|qbot, mp|
|000049d0| 29 3b 0a 58 09 09 62 72 | 65 61 6b 3b 0a 58 09 7d |);.X..br|eak;.X.}|
|000049e0| 20 0a 58 7d 0a 58 0a 58 | 2f 2a 0a 58 20 2a 20 73 | .X}.X.X|/*.X * s|
|000049f0| 6c 69 70 5f 75 77 73 72 | 76 20 28 29 0a 58 20 2a |lip_uwsr|v ().X *|
|00004a00| 2f 0a 58 0a 58 23 69 66 | 6e 64 65 66 20 44 45 42 |/.X.X#if|ndef DEB|
|00004a10| 55 47 0a 58 73 74 61 74 | 69 63 0a 58 23 65 6e 64 |UG.Xstat|ic.X#end|
|00004a20| 69 66 0a 58 73 6c 69 70 | 5f 75 77 73 72 76 20 28 |if.Xslip|_uwsrv (|
|00004a30| 71 29 0a 58 72 65 67 69 | 73 74 65 72 20 71 75 65 |q).Xregi|ster que|
|00004a40| 75 65 5f 74 20 2a 71 3b | 0a 58 7b 0a 58 09 72 65 |ue_t *q;|.X{.X.re|
|00004a50| 67 69 73 74 65 72 20 6d | 62 6c 6b 5f 74 09 2a 6d |gister m|blk_t.*m|
|00004a60| 70 2c 20 2a 6d 70 64 2c | 20 2a 6d 70 32 3b 0a 58 |p, *mpd,| *mp2;.X|
|00004a70| 09 72 65 67 69 73 74 65 | 72 20 75 5f 63 68 61 72 |.registe|r u_char|
|00004a80| 09 2a 63 70 3b 0a 58 09 | 72 65 67 69 73 74 65 72 |.*cp;.X.|register|
|00004a90| 20 69 6e 74 09 70 6b 74 | 6c 65 6e 2c 20 6e 75 6d | int.pkt|len, num|
|00004aa0| 3b 0a 58 09 72 65 67 69 | 73 74 65 72 20 73 6c 69 |;.X.regi|ster sli|
|00004ab0| 70 5f 74 20 2a 70 5f 73 | 6c 69 70 3b 0a 58 0a 58 |p_t *p_s|lip;.X.X|
|00004ac0| 09 53 54 52 4c 4f 47 20 | 28 53 4c 49 50 4d 5f 49 |.STRLOG |(SLIPM_I|
|00004ad0| 44 2c 20 30 2c 20 30 2c | 20 53 4c 5f 54 52 41 43 |D, 0, 0,| SL_TRAC|
|00004ae0| 45 2c 20 22 73 6c 69 70 | 5f 75 77 73 72 76 3a 20 |E, "slip|_uwsrv: |
|00004af0| 65 6e 74 65 72 22 29 3b | 0a 58 0a 58 09 77 68 69 |enter");|.X.X.whi|
|00004b00| 6c 65 20 28 28 6d 70 20 | 3d 20 67 65 74 71 28 71 |le ((mp |= getq(q|
|00004b10| 29 29 20 21 3d 20 4e 55 | 4c 4c 29 20 7b 0a 58 09 |)) != NU|LL) {.X.|
|00004b20| 09 53 54 52 4c 4f 47 20 | 28 53 4c 49 50 4d 5f 49 |.STRLOG |(SLIPM_I|
|00004b30| 44 2c 31 2c 30 2c 53 4c | 5f 54 52 41 43 45 2c 22 |D,1,0,SL|_TRACE,"|
|00004b40| 73 6c 69 70 5f 75 77 73 | 72 76 3a 20 67 6f 74 20 |slip_uws|rv: got |
|00004b50| 6d 65 73 73 61 67 65 20 | 66 72 6f 6d 20 71 22 29 |message |from q")|
|00004b60| 3b 0a 58 09 09 70 5f 73 | 6c 69 70 20 3d 20 28 73 |;.X..p_s|lip = (s|
|00004b70| 6c 69 70 5f 74 20 2a 29 | 20 71 2d 3e 71 5f 70 74 |lip_t *)| q->q_pt|
|00004b80| 72 3b 0a 58 0a 58 0a 58 | 09 09 69 66 20 28 21 63 |r;.X.X.X|..if (!c|
|00004b90| 61 6e 70 75 74 20 28 70 | 5f 73 6c 69 70 2d 3e 71 |anput (p|_slip->q|
|00004ba0| 62 6f 74 29 29 20 7b 0a | 58 09 09 09 53 54 52 4c |bot)) {.|X...STRL|
|00004bb0| 4f 47 20 28 53 4c 49 50 | 4d 5f 49 44 2c 31 2c 30 |OG (SLIP|M_ID,1,0|
|00004bc0| 2c 53 4c 5f 54 52 41 43 | 45 2c 22 73 6c 69 70 5f |,SL_TRAC|E,"slip_|
|00004bd0| 75 77 73 72 76 3a 20 63 | 61 6e 27 74 20 70 75 74 |uwsrv: c|an't put|
|00004be0| 20 6d 65 73 73 61 67 65 | 20 74 6f 20 71 62 6f 74 | message| to qbot|
|00004bf0| 22 29 3b 0a 58 09 09 09 | 70 75 74 62 71 20 28 71 |");.X...|putbq (q|
|00004c00| 2c 20 6d 70 29 3b 0a 58 | 09 09 09 70 5f 73 6c 69 |, mp);.X|...p_sli|
|00004c10| 70 2d 3e 71 74 5f 62 6c | 6f 63 6b 65 64 20 3d 20 |p->qt_bl|ocked = |
|00004c20| 31 3b 0a 58 09 09 09 72 | 65 74 75 72 6e 3b 0a 58 |1;.X...r|eturn;.X|
|00004c30| 09 09 7d 0a 58 09 09 70 | 6b 74 6c 65 6e 20 3d 20 |..}.X..p|ktlen = |
|00004c40| 30 3b 0a 58 0a 58 09 09 | 2f 2a 0a 58 09 09 20 2a |0;.X.X..|/*.X.. *|
|00004c50| 20 63 6f 75 6e 74 20 74 | 68 65 20 6e 75 6d 62 65 | count t|he numbe|
|00004c60| 72 20 6f 66 20 73 70 65 | 63 69 61 6c 20 63 68 61 |r of spe|cial cha|
|00004c70| 72 61 63 74 65 72 73 20 | 28 45 4e 44 20 26 20 45 |racters |(END & E|
|00004c80| 53 43 29 0a 58 09 09 20 | 2a 2f 0a 58 0a 58 09 09 |SC).X.. |*/.X.X..|
|00004c90| 6e 75 6d 20 3d 20 32 3b | 09 09 2f 2a 20 45 4e 44 |num = 2;|../* END|
|00004ca0| 20 63 68 61 72 20 69 73 | 20 70 75 74 20 61 74 20 | char is| put at |
|00004cb0| 74 68 65 20 73 74 61 72 | 74 20 61 6e 64 20 65 6e |the star|t and en|
|00004cc0| 64 20 6f 66 20 70 61 63 | 6b 65 74 20 2a 2f 0a 58 |d of pac|ket */.X|
|00004cd0| 0a 58 09 09 66 6f 72 20 | 28 6d 70 64 20 3d 20 6d |.X..for |(mpd = m|
|00004ce0| 70 2d 3e 62 5f 63 6f 6e | 74 3b 20 6d 70 64 20 21 |p->b_con|t; mpd !|
|00004cf0| 3d 20 30 3b 20 6d 70 64 | 20 3d 20 6d 70 64 2d 3e |= 0; mpd| = mpd->|
|00004d00| 62 5f 63 6f 6e 74 29 20 | 7b 0a 58 09 09 09 70 6b |b_cont) |{.X...pk|
|00004d10| 74 6c 65 6e 20 2b 3d 20 | 28 6d 70 64 2d 3e 62 5f |tlen += |(mpd->b_|
|00004d20| 77 70 74 72 20 2d 20 6d | 70 64 2d 3e 62 5f 72 70 |wptr - m|pd->b_rp|
|00004d30| 74 72 29 3b 0a 58 0a 58 | 09 09 09 66 6f 72 20 28 |tr);.X.X|...for (|
|00004d40| 63 70 20 3d 20 6d 70 64 | 2d 3e 62 5f 72 70 74 72 |cp = mpd|->b_rptr|
|00004d50| 3b 20 63 70 20 3c 20 6d | 70 64 2d 3e 62 5f 77 70 |; cp < m|pd->b_wp|
|00004d60| 74 72 3b 20 63 70 2b 2b | 29 20 7b 0a 58 09 09 09 |tr; cp++|) {.X...|
|00004d70| 09 69 66 20 28 2a 63 70 | 20 3d 3d 20 45 4e 44 20 |.if (*cp| == END |
|00004d80| 7c 7c 20 2a 63 70 20 3d | 3d 20 45 53 43 29 0a 58 ||| *cp =|= ESC).X|
|00004d90| 09 09 09 09 09 6e 75 6d | 2b 2b 3b 0a 58 09 09 09 |.....num|++;.X...|
|00004da0| 7d 0a 58 09 09 7d 0a 58 | 09 09 53 54 52 4c 4f 47 |}.X..}.X|..STRLOG|
|00004db0| 20 28 53 4c 49 50 4d 5f | 49 44 2c 20 31 2c 20 30 | (SLIPM_|ID, 1, 0|
|00004dc0| 2c 20 53 4c 5f 54 52 41 | 43 45 2c 20 22 73 6c 69 |, SL_TRA|CE, "sli|
|00004dd0| 70 5f 75 77 73 72 76 3a | 20 23 20 6f 66 20 62 79 |p_uwsrv:| # of by|
|00004de0| 74 65 73 20 69 6e 20 70 | 61 63 6b 65 74 20 3d 20 |tes in p|acket = |
|00004df0| 25 64 3b 20 23 20 6f 66 | 20 73 70 65 63 69 61 6c |%d; # of| special|
|00004e00| 20 63 68 61 72 61 63 74 | 65 72 20 69 6e 20 70 61 | charact|er in pa|
|00004e10| 63 6b 65 74 3a 20 25 64 | 22 2c 20 70 6b 74 6c 65 |cket: %d|", pktle|
|00004e20| 6e 2c 20 6e 75 6d 29 3b | 0a 58 0a 58 09 09 2f 2a |n, num);|.X.X../*|
|00004e30| 0a 58 09 09 20 2a 20 61 | 6c 6c 6f 63 61 74 65 20 |.X.. * a|llocate |
|00004e40| 6d 65 73 73 61 67 65 20 | 62 6c 6f 63 6b 20 74 6f |message |block to|
|00004e50| 20 62 65 20 73 65 6e 74 | 20 64 6f 77 6e 20 73 74 | be sent| down st|
|00004e60| 72 65 61 6d 0a 58 09 09 | 20 2a 2f 0a 58 0a 58 09 |ream.X..| */.X.X.|
|00004e70| 09 69 66 20 28 28 6d 70 | 32 20 3d 20 61 6c 6c 6f |.if ((mp|2 = allo|
|00004e80| 63 62 20 28 70 6b 74 6c | 65 6e 20 2b 20 6e 75 6d |cb (pktl|en + num|
|00004e90| 2c 20 42 50 52 49 5f 4d | 45 44 29 29 20 3d 3d 20 |, BPRI_M|ED)) == |
|00004ea0| 4e 55 4c 4c 29 20 7b 0a | 58 09 09 09 53 54 52 4c |NULL) {.|X...STRL|
|00004eb0| 4f 47 20 28 53 4c 49 50 | 4d 5f 49 44 2c 31 2c 30 |OG (SLIP|M_ID,1,0|
|00004ec0| 2c 53 4c 5f 54 52 41 43 | 45 2c 22 73 6c 69 70 5f |,SL_TRAC|E,"slip_|
|00004ed0| 75 77 73 72 76 3a 20 63 | 61 6e 27 74 20 61 6c 6c |uwsrv: c|an't all|
|00004ee0| 6f 63 61 74 65 20 6d 65 | 73 73 61 67 65 20 62 6c |ocate me|ssage bl|
|00004ef0| 6f 63 6b 20 2d 20 64 72 | 6f 70 70 69 6e 67 20 6f |ock - dr|opping o|
|00004f00| 75 74 67 6f 69 6e 67 20 | 6d 65 73 73 61 67 65 22 |utgoing |message"|
|00004f10| 29 3b 0a 58 09 09 09 70 | 5f 73 6c 69 70 2d 3e 73 |);.X...p|_slip->s|
|00004f20| 74 61 74 73 2e 69 66 73 | 5f 6f 65 72 72 6f 72 73 |tats.ifs|_oerrors|
|00004f30| 2b 2b 3b 0a 58 09 09 09 | 66 72 65 65 6d 73 67 20 |++;.X...|freemsg |
|00004f40| 28 6d 70 29 3b 0a 58 09 | 09 09 72 65 74 75 72 6e |(mp);.X.|..return|
|00004f50| 3b 0a 58 09 09 7d 0a 58 | 09 09 2f 2a 0a 58 09 09 |;.X..}.X|../*.X..|
|00004f60| 20 2a 20 66 72 61 6d 65 | 20 70 61 63 6b 65 74 2c | * frame| packet,|
|00004f70| 20 65 73 63 61 70 65 20 | 73 70 65 63 69 61 6c 20 | escape |special |
|00004f80| 63 68 61 72 61 63 74 65 | 72 73 20 45 53 43 20 61 |characte|rs ESC a|
|00004f90| 6e 64 20 45 4e 44 0a 58 | 09 09 20 2a 2f 0a 58 0a |nd END.X|.. */.X.|
|00004fa0| 58 09 09 2a 6d 70 32 2d | 3e 62 5f 77 70 74 72 2b |X..*mp2-|>b_wptr+|
|00004fb0| 2b 20 3d 20 45 4e 44 3b | 0a 58 0a 58 09 09 66 6f |+ = END;|.X.X..fo|
|00004fc0| 72 20 28 6d 70 64 20 3d | 20 6d 70 2d 3e 62 5f 63 |r (mpd =| mp->b_c|
|00004fd0| 6f 6e 74 3b 20 6d 70 64 | 20 21 3d 20 30 3b 20 6d |ont; mpd| != 0; m|
|00004fe0| 70 64 20 3d 20 6d 70 64 | 2d 3e 62 5f 63 6f 6e 74 |pd = mpd|->b_cont|
|00004ff0| 29 20 7b 0a 58 09 09 09 | 66 6f 72 20 28 63 70 20 |) {.X...|for (cp |
|00005000| 3d 20 6d 70 64 2d 3e 62 | 5f 72 70 74 72 3b 20 63 |= mpd->b|_rptr; c|
|00005010| 70 20 3c 20 6d 70 64 2d | 3e 62 5f 77 70 74 72 3b |p < mpd-|>b_wptr;|
|00005020| 20 63 70 2b 2b 29 20 7b | 0a 58 09 09 09 09 69 66 | cp++) {|.X....if|
|00005030| 20 28 2a 63 70 20 3d 3d | 20 45 4e 44 29 20 7b 0a | (*cp ==| END) {.|
|00005040| 58 09 09 09 09 09 2a 6d | 70 32 2d 3e 62 5f 77 70 |X.....*m|p2->b_wp|
|00005050| 74 72 2b 2b 20 3d 20 45 | 53 43 3b 0a 58 09 09 09 |tr++ = E|SC;.X...|
|00005060| 09 09 2a 6d 70 32 2d 3e | 62 5f 77 70 74 72 2b 2b |..*mp2->|b_wptr++|
|00005070| 20 3d 20 45 53 43 5f 45 | 4e 44 3b 0a 58 09 09 09 | = ESC_E|ND;.X...|
|00005080| 09 7d 0a 58 09 09 09 09 | 65 6c 73 65 20 69 66 20 |.}.X....|else if |
|00005090| 28 2a 63 70 20 3d 3d 20 | 45 53 43 29 20 7b 0a 58 |(*cp == |ESC) {.X|
|000050a0| 09 09 09 09 09 2a 6d 70 | 32 2d 3e 62 5f 77 70 74 |.....*mp|2->b_wpt|
|000050b0| 72 2b 2b 20 3d 20 45 53 | 43 3b 0a 58 09 09 09 09 |r++ = ES|C;.X....|
|000050c0| 09 2a 6d 70 32 2d 3e 62 | 5f 77 70 74 72 2b 2b 20 |.*mp2->b|_wptr++ |
|000050d0| 3d 20 45 53 43 5f 45 53 | 43 3b 0a 58 09 09 09 09 |= ESC_ES|C;.X....|
|000050e0| 7d 0a 58 09 09 09 09 65 | 6c 73 65 0a 58 09 09 09 |}.X....e|lse.X...|
|000050f0| 09 09 2a 6d 70 32 2d 3e | 62 5f 77 70 74 72 2b 2b |..*mp2->|b_wptr++|
|00005100| 20 3d 20 2a 63 70 3b 0a | 58 09 09 09 7d 0a 58 09 | = *cp;.|X...}.X.|
|00005110| 09 7d 0a 58 09 09 2a 6d | 70 32 2d 3e 62 5f 77 70 |.}.X..*m|p2->b_wp|
|00005120| 74 72 2b 2b 20 3d 20 45 | 4e 44 3b 0a 58 0a 58 09 |tr++ = E|ND;.X.X.|
|00005130| 09 6d 70 32 2d 3e 62 5f | 64 61 74 61 70 2d 3e 64 |.mp2->b_|datap->d|
|00005140| 62 5f 74 79 70 65 20 3d | 20 4d 5f 44 41 54 41 3b |b_type =| M_DATA;|
|00005150| 0a 58 09 09 70 5f 73 6c | 69 70 2d 3e 73 74 61 74 |.X..p_sl|ip->stat|
|00005160| 73 2e 69 66 73 5f 6f 70 | 61 63 6b 65 74 73 2b 2b |s.ifs_op|ackets++|
|00005170| 3b 0a 58 09 09 66 72 65 | 65 6d 73 67 20 28 6d 70 |;.X..fre|emsg (mp|
|00005180| 29 3b 0a 58 09 09 73 6c | 69 70 5f 6c 77 70 75 74 |);.X..sl|ip_lwput|
|00005190| 20 28 70 5f 73 6c 69 70 | 2d 3e 71 62 6f 74 2c 20 | (p_slip|->qbot, |
|000051a0| 6d 70 32 29 3b 0a 58 09 | 7d 0a 58 7d 0a 58 0a 58 |mp2);.X.|}.X}.X.X|
|000051b0| 2f 2a 0a 58 20 2a 20 73 | 6c 69 70 5f 6c 77 70 75 |/*.X * s|lip_lwpu|
|000051c0| 74 0a 58 20 2a 2f 0a 58 | 0a 58 23 69 66 6e 64 65 |t.X */.X|.X#ifnde|
|000051d0| 66 20 44 45 42 55 47 0a | 58 73 74 61 74 69 63 0a |f DEBUG.|Xstatic.|
|000051e0| 58 23 65 6e 64 69 66 0a | 58 73 6c 69 70 5f 6c 77 |X#endif.|Xslip_lw|
|000051f0| 70 75 74 20 28 71 2c 20 | 6d 70 29 0a 58 71 75 65 |put (q, |mp).Xque|
|00005200| 75 65 5f 74 20 2a 71 3b | 0a 58 6d 62 6c 6b 5f 74 |ue_t *q;|.Xmblk_t|
|00005210| 20 20 2a 6d 70 3b 0a 58 | 7b 0a 58 09 53 54 52 4c | *mp;.X|{.X.STRL|
|00005220| 4f 47 20 28 53 4c 49 50 | 4d 5f 49 44 2c 20 30 2c |OG (SLIP|M_ID, 0,|
|00005230| 20 30 2c 20 53 4c 5f 54 | 52 41 43 45 2c 20 22 73 | 0, SL_T|RACE, "s|
|00005240| 6c 69 70 5f 6c 77 70 75 | 74 3a 20 65 6e 74 65 72 |lip_lwpu|t: enter|
|00005250| 20 25 78 2c 20 25 78 22 | 2c 71 20 2c 20 6d 70 29 | %x, %x"|,q , mp)|
|00005260| 3b 0a 58 0a 58 09 69 66 | 20 28 63 61 6e 70 75 74 |;.X.X.if| (canput|
|00005270| 28 71 2d 3e 71 5f 6e 65 | 78 74 29 29 20 7b 0a 58 |(q->q_ne|xt)) {.X|
|00005280| 09 09 53 54 52 4c 4f 47 | 20 28 53 4c 49 50 4d 5f |..STRLOG| (SLIPM_|
|00005290| 49 44 2c 20 30 2c 20 30 | 2c 20 53 4c 5f 54 52 41 |ID, 0, 0|, SL_TRA|
|000052a0| 43 45 2c 20 22 73 6c 69 | 70 5f 6c 77 70 75 74 3a |CE, "sli|p_lwput:|
|000052b0| 20 70 75 74 6e 65 78 74 | 22 29 3b 0a 58 09 09 70 | putnext|");.X..p|
|000052c0| 75 74 6e 65 78 74 28 71 | 2c 20 6d 70 29 3b 0a 58 |utnext(q|, mp);.X|
|000052d0| 09 7d 0a 58 09 65 6c 73 | 65 20 7b 0a 58 09 09 53 |.}.X.els|e {.X..S|
|000052e0| 54 52 4c 4f 47 20 28 53 | 4c 49 50 4d 5f 49 44 2c |TRLOG (S|LIPM_ID,|
|000052f0| 20 30 2c 20 30 2c 20 53 | 4c 5f 54 52 41 43 45 2c | 0, 0, S|L_TRACE,|
|00005300| 20 22 73 6c 69 70 5f 6c | 77 70 75 74 3a 20 70 75 | "slip_l|wput: pu|
|00005310| 74 71 22 29 3b 0a 58 09 | 09 70 75 74 71 28 71 2c |tq");.X.|.putq(q,|
|00005320| 20 6d 70 29 3b 0a 58 09 | 7d 0a 58 7d 0a 58 0a 58 | mp);.X.|}.X}.X.X|
|00005330| 2f 2a 0a 58 20 2a 20 73 | 6c 69 70 5f 6c 77 73 72 |/*.X * s|lip_lwsr|
|00005340| 76 20 28 71 29 0a 58 20 | 2a 2f 0a 58 0a 58 23 69 |v (q).X |*/.X.X#i|
|00005350| 66 6e 64 65 66 20 44 45 | 42 55 47 0a 58 73 74 61 |fndef DE|BUG.Xsta|
|00005360| 74 69 63 0a 58 23 65 6e | 64 69 66 0a 58 73 6c 69 |tic.X#en|dif.Xsli|
|00005370| 70 5f 6c 77 73 72 76 20 | 28 71 29 0a 58 71 75 65 |p_lwsrv |(q).Xque|
|00005380| 75 65 5f 74 20 2a 71 3b | 0a 58 7b 0a 58 09 6d 62 |ue_t *q;|.X{.X.mb|
|00005390| 6c 6b 5f 74 20 20 2a 6d | 70 3b 0a 58 09 73 6c 69 |lk_t *m|p;.X.sli|
|000053a0| 70 5f 74 20 2a 70 5f 73 | 6c 69 70 3b 0a 58 0a 58 |p_t *p_s|lip;.X.X|
|000053b0| 09 53 54 52 4c 4f 47 20 | 28 53 4c 49 50 4d 5f 49 |.STRLOG |(SLIPM_I|
|000053c0| 44 2c 20 30 2c 20 30 2c | 20 53 4c 5f 54 52 41 43 |D, 0, 0,| SL_TRAC|
|000053d0| 45 2c 22 73 6c 69 70 5f | 6c 77 73 72 76 3a 20 65 |E,"slip_|lwsrv: e|
|000053e0| 6e 74 65 72 22 29 3b 0a | 58 0a 58 09 77 68 69 6c |nter");.|X.X.whil|
|000053f0| 65 20 28 6d 70 20 3d 20 | 67 65 74 71 28 71 29 29 |e (mp = |getq(q))|
|00005400| 20 7b 0a 58 09 09 53 54 | 52 4c 4f 47 20 28 53 4c | {.X..ST|RLOG (SL|
|00005410| 49 50 4d 5f 49 44 2c 20 | 30 2c 20 30 2c 20 53 4c |IPM_ID, |0, 0, SL|
|00005420| 5f 54 52 41 43 45 2c 22 | 73 6c 69 70 5f 6c 77 73 |_TRACE,"|slip_lws|
|00005430| 72 76 3a 20 67 65 74 71 | 20 28 25 78 29 20 3d 20 |rv: getq| (%x) = |
|00005440| 25 78 22 2c 71 2c 20 6d | 70 29 3b 0a 58 09 09 69 |%x",q, m|p);.X..i|
|00005450| 66 20 28 63 61 6e 70 75 | 74 28 71 2d 3e 71 5f 6e |f (canpu|t(q->q_n|
|00005460| 65 78 74 29 29 20 7b 0a | 58 09 09 09 53 54 52 4c |ext)) {.|X...STRL|
|00005470| 4f 47 20 28 53 4c 49 50 | 4d 5f 49 44 2c 20 30 2c |OG (SLIP|M_ID, 0,|
|00005480| 20 30 2c 20 53 4c 5f 54 | 52 41 43 45 2c 22 73 6c | 0, SL_T|RACE,"sl|
|00005490| 69 70 5f 6c 77 73 72 76 | 3a 20 70 75 74 6e 65 78 |ip_lwsrv|: putnex|
|000054a0| 74 22 29 3b 0a 58 09 09 | 09 70 75 74 6e 65 78 74 |t");.X..|.putnext|
|000054b0| 28 71 2c 20 6d 70 29 3b | 0a 58 09 09 7d 0a 58 09 |(q, mp);|.X..}.X.|
|000054c0| 09 65 6c 73 65 20 7b 0a | 58 09 09 09 53 54 52 4c |.else {.|X...STRL|
|000054d0| 4f 47 20 28 53 4c 49 50 | 4d 5f 49 44 2c 20 30 2c |OG (SLIP|M_ID, 0,|
|000054e0| 20 30 2c 20 53 4c 5f 54 | 52 41 43 45 2c 22 73 6c | 0, SL_T|RACE,"sl|
|000054f0| 69 70 5f 6c 77 73 72 76 | 3a 20 70 75 74 62 71 22 |ip_lwsrv|: putbq"|
|00005500| 29 3b 0a 58 09 09 09 70 | 75 74 62 71 28 71 2c 20 |);.X...p|utbq(q, |
|00005510| 6d 70 29 3b 0a 58 09 09 | 09 72 65 74 75 72 6e 3b |mp);.X..|.return;|
|00005520| 0a 58 09 09 7d 0a 58 09 | 7d 0a 58 09 70 5f 73 6c |.X..}.X.|}.X.p_sl|
|00005530| 69 70 20 3d 20 28 73 6c | 69 70 5f 74 20 2a 29 20 |ip = (sl|ip_t *) |
|00005540| 71 2d 3e 71 5f 70 74 72 | 3b 0a 58 0a 58 09 69 66 |q->q_ptr|;.X.X.if|
|00005550| 20 28 70 5f 73 6c 69 70 | 2d 3e 71 74 5f 62 6c 6f | (p_slip|->qt_blo|
|00005560| 63 6b 65 64 29 20 7b 0a | 58 09 09 53 54 52 4c 4f |cked) {.|X..STRLO|
|00005570| 47 20 28 53 4c 49 50 4d | 5f 49 44 2c 31 2c 30 2c |G (SLIPM|_ID,1,0,|
|00005580| 53 4c 5f 54 52 41 43 45 | 2c 22 73 6c 69 70 5f 6c |SL_TRACE|,"slip_l|
|00005590| 77 73 72 76 3a 20 73 6c | 69 70 5f 75 77 73 72 76 |wsrv: sl|ip_uwsrv|
|000055a0| 20 69 73 20 62 6c 6f 63 | 6b 65 64 2c 20 65 6e 61 | is bloc|ked, ena|
|000055b0| 62 6c 65 20 69 74 22 29 | 3b 0a 58 09 09 2f 2a 0a |ble it")|;.X../*.|
|000055c0| 58 09 09 20 2a 20 71 74 | 6f 70 20 69 73 20 74 68 |X.. * qt|op is th|
|000055d0| 65 20 75 70 70 65 72 20 | 72 65 61 64 20 71 20 61 |e upper |read q a|
|000055e0| 6e 64 0a 58 09 09 20 2a | 20 77 65 20 77 61 6e 74 |nd.X.. *| we want|
|000055f0| 20 74 6f 20 65 6e 61 62 | 6c 65 20 74 68 65 20 75 | to enab|le the u|
|00005600| 70 70 65 72 20 77 72 69 | 74 65 20 71 0a 58 09 09 |pper wri|te q.X..|
|00005610| 20 2a 2f 0a 58 09 09 71 | 65 6e 61 62 6c 65 20 28 | */.X..q|enable (|
|00005620| 57 52 28 70 5f 73 6c 69 | 70 2d 3e 71 74 6f 70 29 |WR(p_sli|p->qtop)|
|00005630| 29 3b 0a 58 09 09 70 5f | 73 6c 69 70 2d 3e 71 74 |);.X..p_|slip->qt|
|00005640| 5f 62 6c 6f 63 6b 65 64 | 20 3d 20 30 3b 0a 58 09 |_blocked| = 0;.X.|
|00005650| 7d 0a 58 7d 0a 58 0a 58 | 2f 2a 0a 58 20 2a 20 73 |}.X}.X.X|/*.X * s|
|00005660| 6c 69 70 5f 6c 72 70 75 | 74 20 28 29 0a 58 20 2a |lip_lrpu|t ().X *|
|00005670| 2f 0a 58 0a 58 23 69 66 | 6e 64 65 66 20 44 45 42 |/.X.X#if|ndef DEB|
|00005680| 55 47 0a 58 73 74 61 74 | 69 63 0a 58 23 65 6e 64 |UG.Xstat|ic.X#end|
|00005690| 69 66 0a 58 73 6c 69 70 | 5f 6c 72 70 75 74 20 28 |if.Xslip|_lrput (|
|000056a0| 71 2c 20 6d 70 29 0a 58 | 71 75 65 75 65 5f 74 09 |q, mp).X|queue_t.|
|000056b0| 2a 71 3b 0a 58 6d 62 6c | 6b 5f 74 09 2a 6d 70 3b |*q;.Xmbl|k_t.*mp;|
|000056c0| 0a 58 7b 0a 58 09 73 6c | 69 70 5f 74 20 09 2a 70 |.X{.X.sl|ip_t .*p|
|000056d0| 5f 73 6c 69 70 3b 0a 58 | 09 6d 62 6c 6b 5f 74 09 |_slip;.X|.mblk_t.|
|000056e0| 2a 72 65 73 70 3b 0a 58 | 09 69 6e 74 09 09 64 65 |*resp;.X|.int..de|
|000056f0| 76 69 63 65 3b 0a 58 09 | 69 6e 74 09 09 6f 6c 64 |vice;.X.|int..old|
|00005700| 70 72 69 3b 0a 58 0a 58 | 09 53 54 52 4c 4f 47 20 |pri;.X.X|.STRLOG |
|00005710| 28 53 4c 49 50 4d 5f 49 | 44 2c 20 30 2c 20 30 2c |(SLIPM_I|D, 0, 0,|
|00005720| 20 53 4c 5f 54 52 41 43 | 45 2c 20 22 73 6c 69 70 | SL_TRAC|E, "slip|
|00005730| 5f 6c 72 70 75 74 3a 20 | 65 6e 74 65 72 3a 20 63 |_lrput: |enter: c|
|00005740| 61 73 65 20 30 78 25 32 | 2e 32 78 22 2c 20 6d 70 |ase 0x%2|.2x", mp|
|00005750| 2d 3e 62 5f 64 61 74 61 | 70 2d 3e 64 62 5f 74 79 |->b_data|p->db_ty|
|00005760| 70 65 29 3b 0a 58 09 70 | 5f 73 6c 69 70 20 3d 20 |pe);.X.p|_slip = |
|00005770| 28 73 6c 69 70 5f 74 20 | 2a 29 20 71 2d 3e 71 5f |(slip_t |*) q->q_|
|00005780| 70 74 72 3b 0a 58 0a 58 | 09 73 77 69 74 63 68 20 |ptr;.X.X|.switch |
|00005790| 28 6d 70 2d 3e 62 5f 64 | 61 74 61 70 2d 3e 64 62 |(mp->b_d|atap->db|
|000057a0| 5f 74 79 70 65 29 20 7b | 0a 58 0a 58 09 63 61 73 |_type) {|.X.X.cas|
|000057b0| 65 20 4d 5f 44 41 54 41 | 3a 0a 58 09 09 53 54 52 |e M_DATA|:.X..STR|
|000057c0| 4c 4f 47 20 28 53 4c 49 | 50 4d 5f 49 44 2c 32 2c |LOG (SLI|PM_ID,2,|
|000057d0| 30 2c 53 4c 5f 54 52 41 | 43 45 2c 22 73 6c 69 70 |0,SL_TRA|CE,"slip|
|000057e0| 5f 6c 72 70 75 74 3a 20 | 70 75 74 71 20 28 25 78 |_lrput: |putq (%x|
|000057f0| 2c 20 25 78 29 22 2c 20 | 71 2c 20 6d 70 29 3b 0a |, %x)", |q, mp);.|
|00005800| 58 09 09 70 75 74 71 20 | 28 71 2c 20 6d 70 29 3b |X..putq |(q, mp);|
|00005810| 0a 58 09 09 62 72 65 61 | 6b 3b 0a 58 0a 58 09 63 |.X..brea|k;.X.X.c|
|00005820| 61 73 65 20 4d 5f 46 4c | 55 53 48 3a 0a 58 09 09 |ase M_FL|USH:.X..|
|00005830| 53 54 52 4c 4f 47 20 28 | 53 4c 49 50 4d 5f 49 44 |STRLOG (|SLIPM_ID|
|00005840| 2c 32 2c 30 2c 53 4c 5f | 54 52 41 43 45 2c 22 73 |,2,0,SL_|TRACE,"s|
|00005850| 6c 69 70 5f 6c 72 70 75 | 74 3a 20 4d 5f 46 4c 55 |lip_lrpu|t: M_FLU|
|00005860| 53 48 20 74 79 70 65 20 | 3d 20 25 78 22 2c 2a 6d |SH type |= %x",*m|
|00005870| 70 2d 3e 62 5f 72 70 74 | 72 29 3b 0a 58 09 09 69 |p->b_rpt|r);.X..i|
|00005880| 66 20 28 2a 6d 70 2d 3e | 62 5f 72 70 74 72 20 26 |f (*mp->|b_rptr &|
|00005890| 20 46 4c 55 53 48 52 29 | 0a 58 09 09 09 66 6c 75 | FLUSHR)|.X...flu|
|000058a0| 73 68 71 28 71 2c 20 46 | 4c 55 53 48 41 4c 4c 29 |shq(q, F|LUSHALL)|
|000058b0| 3b 0a 58 09 09 69 66 20 | 28 2a 6d 70 2d 3e 62 5f |;.X..if |(*mp->b_|
|000058c0| 72 70 74 72 20 26 20 46 | 4c 55 53 48 57 29 20 7b |rptr & F|LUSHW) {|
|000058d0| 0a 58 09 09 09 2a 6d 70 | 2d 3e 62 5f 72 70 74 72 |.X...*mp|->b_rptr|
|000058e0| 20 26 3d 20 7e 46 4c 55 | 53 48 52 3b 0a 58 09 09 | &= ~FLU|SHR;.X..|
|000058f0| 09 66 6c 75 73 68 71 28 | 57 52 28 71 29 2c 20 46 |.flushq(|WR(q), F|
|00005900| 4c 55 53 48 41 4c 4c 29 | 3b 0a 58 09 09 09 71 72 |LUSHALL)|;.X...qr|
|00005910| 65 70 6c 79 28 71 2c 20 | 6d 70 29 3b 0a 58 09 09 |eply(q, |mp);.X..|
|00005920| 7d 20 65 6c 73 65 0a 58 | 09 09 09 66 72 65 65 6d |} else.X|...freem|
|00005930| 73 67 28 6d 70 29 3b 0a | 58 09 09 72 65 74 75 72 |sg(mp);.|X..retur|
|00005940| 6e 3b 0a 58 0a 58 09 63 | 61 73 65 20 4d 5f 48 41 |n;.X.X.c|ase M_HA|
|00005950| 4e 47 55 50 3a 0a 58 09 | 09 6f 6c 64 70 72 69 20 |NGUP:.X.|.oldpri |
|00005960| 3d 20 73 70 6c 73 74 72 | 20 28 29 3b 0a 58 09 09 |= splstr| ();.X..|
|00005970| 2f 2a 0a 58 09 09 20 2a | 20 69 66 20 70 69 64 20 |/*.X.. *| if pid |
|00005980| 69 73 20 73 65 74 2c 20 | 69 67 6e 6f 72 65 20 6d |is set, |ignore m|
|00005990| 65 73 73 61 67 65 0a 58 | 09 09 20 2a 2f 0a 58 09 |essage.X|.. */.X.|
|000059a0| 09 69 66 20 28 70 5f 73 | 6c 69 70 2d 3e 70 69 64 |.if (p_s|lip->pid|
|000059b0| 20 3d 3d 20 30 29 0a 58 | 09 09 09 66 72 65 65 6d | == 0).X|...freem|
|000059c0| 73 67 20 28 6d 70 29 3b | 0a 58 09 09 2f 2a 0a 58 |sg (mp);|.X../*.X|
|000059d0| 09 09 20 2a 20 65 6c 73 | 65 20 69 66 20 73 6c 69 |.. * els|e if sli|
|000059e0| 70 20 68 61 6e 67 75 70 | 20 64 61 65 6d 6f 6e 20 |p hangup| daemon |
|000059f0| 65 78 69 73 74 73 20 73 | 65 6e 64 20 70 69 64 20 |exists s|end pid |
|00005a00| 74 6f 20 74 68 65 20 64 | 61 65 6d 6f 6e 0a 58 09 |to the d|aemon.X.|
|00005a10| 09 20 2a 2f 0a 58 09 09 | 65 6c 73 65 20 69 66 20 |. */.X..|else if |
|00005a20| 28 73 6c 69 70 5f 68 75 | 70 20 26 26 20 28 72 65 |(slip_hu|p && (re|
|00005a30| 73 70 20 3d 20 61 6c 6c | 6f 63 62 20 28 73 69 7a |sp = all|ocb (siz|
|00005a40| 65 6f 66 28 70 69 64 5f | 74 29 2c 42 50 52 49 5f |eof(pid_|t),BPRI_|
|00005a50| 4d 45 44 29 29 29 20 7b | 0a 58 09 09 09 53 54 52 |MED))) {|.X...STR|
|00005a60| 4c 4f 47 20 28 53 4c 49 | 50 4d 5f 49 44 2c 31 2c |LOG (SLI|PM_ID,1,|
|00005a70| 30 2c 53 4c 5f 54 52 41 | 43 45 2c 0a 58 09 09 09 |0,SL_TRA|CE,.X...|
|00005a80| 09 22 73 6c 69 70 5f 6c | 72 70 75 74 3a 20 73 65 |."slip_l|rput: se|
|00005a90| 6e 64 69 6e 67 20 70 69 | 64 20 25 64 20 74 6f 20 |nding pi|d %d to |
|00005aa0| 68 61 6e 67 75 70 20 64 | 61 65 6d 6f 6e 22 2c 20 |hangup d|aemon", |
|00005ab0| 70 5f 73 6c 69 70 2d 3e | 70 69 64 29 3b 0a 58 09 |p_slip->|pid);.X.|
|00005ac0| 09 09 2a 28 70 69 64 5f | 74 20 2a 29 20 72 65 73 |..*(pid_|t *) res|
|00005ad0| 70 2d 3e 62 5f 77 70 74 | 72 20 3d 20 70 5f 73 6c |p->b_wpt|r = p_sl|
|00005ae0| 69 70 2d 3e 70 69 64 3b | 0a 58 09 09 09 72 65 73 |ip->pid;|.X...res|
|00005af0| 70 2d 3e 62 5f 77 70 74 | 72 20 2b 3d 20 73 69 7a |p->b_wpt|r += siz|
|00005b00| 65 6f 66 20 28 70 69 64 | 5f 74 29 3b 0a 58 09 09 |eof (pid|_t);.X..|
|00005b10| 09 72 65 73 70 2d 3e 62 | 5f 64 61 74 61 70 2d 3e |.resp->b|_datap->|
|00005b20| 64 62 5f 74 79 70 65 20 | 3d 20 4d 5f 50 43 50 52 |db_type |= M_PCPR|
|00005b30| 4f 54 4f 3b 0a 58 09 09 | 09 70 75 74 6e 65 78 74 |OTO;.X..|.putnext|
|00005b40| 20 28 73 6c 69 70 5f 68 | 75 70 2d 3e 71 74 6f 70 | (slip_h|up->qtop|
|00005b50| 2c 20 72 65 73 70 29 3b | 0a 58 09 09 09 66 72 65 |, resp);|.X...fre|
|00005b60| 65 6d 73 67 20 28 6d 70 | 29 3b 0a 58 09 09 7d 0a |emsg (mp|);.X..}.|
|00005b70| 58 09 09 2f 2a 0a 58 09 | 09 20 2a 20 65 6c 73 65 |X../*.X.|. * else|
|00005b80| 20 70 61 73 73 20 74 68 | 65 20 6d 65 73 73 61 67 | pass th|e messag|
|00005b90| 65 20 75 70 73 74 72 65 | 61 6d 0a 58 09 09 20 2a |e upstre|am.X.. *|
|00005ba0| 2f 0a 58 09 09 65 6c 73 | 65 0a 58 09 09 09 70 75 |/.X..els|e.X...pu|
|00005bb0| 74 6e 65 78 74 20 28 70 | 5f 73 6c 69 70 2d 3e 71 |tnext (p|_slip->q|
|00005bc0| 74 6f 70 2c 20 6d 70 29 | 3b 0a 58 0a 58 09 09 73 |top, mp)|;.X.X..s|
|00005bd0| 70 6c 78 20 28 6f 6c 64 | 70 72 69 29 3b 0a 58 09 |plx (old|pri);.X.|
|00005be0| 09 62 72 65 61 6b 3b 0a | 58 09 09 09 0a 58 09 64 |.break;.|X....X.d|
|00005bf0| 65 66 61 75 6c 74 3a 0a | 58 09 09 70 75 74 6e 65 |efault:.|X..putne|
|00005c00| 78 74 20 28 70 5f 73 6c | 69 70 2d 3e 71 74 6f 70 |xt (p_sl|ip->qtop|
|00005c10| 2c 20 6d 70 29 3b 0a 58 | 09 09 62 72 65 61 6b 3b |, mp);.X|..break;|
|00005c20| 0a 58 09 7d 0a 58 7d 0a | 58 0a 58 2f 2a 0a 58 20 |.X.}.X}.|X.X/*.X |
|00005c30| 2a 20 73 6c 69 70 5f 6c | 72 73 72 76 20 28 29 0a |* slip_l|rsrv ().|
|00005c40| 58 20 2a 2f 0a 58 0a 58 | 23 69 66 6e 64 65 66 20 |X */.X.X|#ifndef |
|00005c50| 44 45 42 55 47 0a 58 73 | 74 61 74 69 63 0a 58 23 |DEBUG.Xs|tatic.X#|
|00005c60| 65 6e 64 69 66 0a 58 73 | 6c 69 70 5f 6c 72 73 72 |endif.Xs|lip_lrsr|
|00005c70| 76 20 28 71 29 0a 58 71 | 75 65 75 65 5f 74 09 2a |v (q).Xq|ueue_t.*|
|00005c80| 71 3b 0a 58 7b 0a 58 09 | 72 65 67 69 73 74 65 72 |q;.X{.X.|register|
|00005c90| 09 75 5f 63 68 61 72 20 | 09 2a 63 70 3b 0a 58 09 |.u_char |.*cp;.X.|
|00005ca0| 72 65 67 69 73 74 65 72 | 09 73 6c 69 70 5f 74 20 |register|.slip_t |
|00005cb0| 09 2a 70 5f 73 6c 69 70 | 3b 0a 58 09 6d 62 6c 6b |.*p_slip|;.X.mblk|
|00005cc0| 5f 74 09 09 2a 62 70 2c | 20 2a 6d 70 2c 20 2a 6d |_t..*bp,| *mp, *m|
|00005cd0| 70 31 2c 20 2a 6d 70 32 | 3b 0a 58 0a 58 09 53 54 |p1, *mp2|;.X.X.ST|
|00005ce0| 52 4c 4f 47 20 28 53 4c | 49 50 4d 5f 49 44 2c 20 |RLOG (SL|IPM_ID, |
|00005cf0| 30 2c 20 30 2c 20 53 4c | 5f 54 52 41 43 45 2c 20 |0, 0, SL|_TRACE, |
|00005d00| 22 73 6c 69 70 5f 6c 72 | 73 72 76 3a 20 65 6e 74 |"slip_lr|srv: ent|
|00005d10| 65 72 22 29 3b 0a 58 0a | 58 09 77 68 69 6c 65 20 |er");.X.|X.while |
|00005d20| 28 28 6d 70 20 3d 20 67 | 65 74 71 28 71 29 29 20 |((mp = g|etq(q)) |
|00005d30| 21 3d 20 4e 55 4c 4c 29 | 20 7b 0a 58 09 09 70 5f |!= NULL)| {.X..p_|
|00005d40| 73 6c 69 70 20 3d 20 28 | 73 6c 69 70 5f 74 20 2a |slip = (|slip_t *|
|00005d50| 29 20 71 2d 3e 71 5f 70 | 74 72 3b 0a 58 0a 58 53 |) q->q_p|tr;.X.XS|
|00005d60| 54 52 4c 4f 47 20 28 53 | 4c 49 50 4d 5f 49 44 2c |TRLOG (S|LIPM_ID,|
|00005d70| 20 30 2c 20 30 2c 20 53 | 4c 5f 54 52 41 43 45 2c | 0, 0, S|L_TRACE,|
|00005d80| 20 22 73 6c 69 70 5f 6c | 72 73 72 76 3a 20 71 3d | "slip_l|rsrv: q=|
|00005d90| 25 78 2c 20 6d 70 3d 25 | 78 3b 22 2c 20 71 2c 20 |%x, mp=%|x;", q, |
|00005da0| 6d 70 29 3b 0a 58 09 09 | 69 66 20 28 21 63 61 6e |mp);.X..|if (!can|
|00005db0| 70 75 74 20 28 70 5f 73 | 6c 69 70 2d 3e 71 74 6f |put (p_s|lip->qto|
|00005dc0| 70 2d 3e 71 5f 6e 65 78 | 74 29 29 20 7b 0a 58 09 |p->q_nex|t)) {.X.|
|00005dd0| 09 09 70 75 74 62 71 20 | 28 71 2c 20 6d 70 29 3b |..putbq |(q, mp);|
|00005de0| 0a 58 09 09 09 72 65 74 | 75 72 6e 3b 0a 58 09 09 |.X...ret|urn;.X..|
|00005df0| 7d 0a 58 09 09 70 5f 73 | 6c 69 70 20 3d 20 28 73 |}.X..p_s|lip = (s|
|00005e00| 6c 69 70 5f 74 20 2a 29 | 20 71 2d 3e 71 5f 70 74 |lip_t *)| q->q_pt|
|00005e10| 72 3b 0a 58 0a 58 09 09 | 66 6f 72 20 28 62 70 20 |r;.X.X..|for (bp |
|00005e20| 3d 20 6d 70 3b 20 62 70 | 20 21 3d 20 30 3b 20 62 |= mp; bp| != 0; b|
|00005e30| 70 20 3d 20 62 70 2d 3e | 62 5f 63 6f 6e 74 29 20 |p = bp->|b_cont) |
|00005e40| 7b 0a 58 09 09 09 66 6f | 72 20 28 63 70 20 3d 20 |{.X...fo|r (cp = |
|00005e50| 62 70 2d 3e 62 5f 72 70 | 74 72 3b 20 63 70 20 3c |bp->b_rp|tr; cp <|
|00005e60| 20 62 70 2d 3e 62 5f 77 | 70 74 72 3b 20 63 70 2b | bp->b_w|ptr; cp+|
|00005e70| 2b 29 20 7b 0a 58 09 09 | 09 09 69 66 20 28 2a 63 |+) {.X..|..if (*c|
|00005e80| 70 20 3d 3d 20 45 4e 44 | 29 20 7b 0a 58 09 09 09 |p == END|) {.X...|
|00005e90| 09 09 69 66 20 28 70 5f | 73 6c 69 70 2d 3e 69 6e |..if (p_|slip->in|
|00005ea0| 6c 65 6e 20 3c 20 73 69 | 7a 65 6f 66 20 28 73 74 |len < si|zeof (st|
|00005eb0| 72 75 63 74 20 69 70 29 | 29 0a 58 09 09 09 09 09 |ruct ip)|).X.....|
|00005ec0| 09 3b 09 09 09 09 09 09 | 2f 2a 20 69 67 6e 6f 72 |.;......|/* ignor|
|00005ed0| 65 20 70 61 63 6b 65 74 | 20 2a 2f 0a 58 0a 58 09 |e packet| */.X.X.|
|00005ee0| 09 09 09 09 65 6c 73 65 | 20 69 66 20 28 70 5f 73 |....else| if (p_s|
|00005ef0| 6c 69 70 2d 3e 6f 76 65 | 72 72 75 6e 29 0a 58 09 |lip->ove|rrun).X.|
|00005f00| 09 09 09 09 09 70 5f 73 | 6c 69 70 2d 3e 73 74 61 |.....p_s|lip->sta|
|00005f10| 74 73 2e 69 66 73 5f 69 | 65 72 72 6f 72 73 2b 2b |ts.ifs_i|errors++|
|00005f20| 3b 0a 58 0a 58 09 09 09 | 09 09 65 6c 73 65 20 69 |;.X.X...|..else i|
|00005f30| 66 20 28 28 6d 70 31 3d | 61 6c 6c 6f 63 62 20 28 |f ((mp1=|allocb (|
|00005f40| 44 4c 5f 55 4e 49 54 44 | 41 54 41 5f 49 4e 44 5f |DL_UNITD|ATA_IND_|
|00005f50| 53 49 5a 45 2c 42 50 52 | 49 5f 4d 45 44 29 29 3d |SIZE,BPR|I_MED))=|
|00005f60| 3d 4e 55 4c 4c 29 0a 58 | 09 09 09 09 09 09 70 5f |=NULL).X|......p_|
|00005f70| 73 6c 69 70 2d 3e 73 74 | 61 74 73 2e 69 66 73 5f |slip->st|ats.ifs_|
|00005f80| 69 65 72 72 6f 72 73 2b | 2b 3b 0a 58 0a 58 09 09 |ierrors+|+;.X.X..|
|00005f90| 09 09 09 65 6c 73 65 20 | 69 66 20 28 28 6d 70 32 |...else |if ((mp2|
|00005fa0| 20 3d 20 61 6c 6c 6f 63 | 62 20 28 70 5f 73 6c 69 | = alloc|b (p_sli|
|00005fb0| 70 2d 3e 69 6e 6c 65 6e | 2c 20 42 50 52 49 5f 4d |p->inlen|, BPRI_M|
|00005fc0| 45 44 29 29 20 3d 3d 20 | 4e 55 4c 4c 29 20 7b 0a |ED)) == |NULL) {.|
|00005fd0| 58 09 09 09 09 09 09 70 | 5f 73 6c 69 70 2d 3e 73 |X......p|_slip->s|
|00005fe0| 74 61 74 73 2e 69 66 73 | 5f 69 65 72 72 6f 72 73 |tats.ifs|_ierrors|
|00005ff0| 2b 2b 3b 0a 58 09 09 09 | 09 09 09 66 72 65 65 6d |++;.X...|...freem|
|00006000| 73 67 20 28 6d 70 31 29 | 3b 0a 58 09 09 09 09 09 |sg (mp1)|;.X.....|
|00006010| 7d 0a 58 09 09 09 09 09 | 65 6c 73 65 20 7b 0a 58 |}.X.....|else {.X|
|00006020| 09 09 09 09 09 09 70 5f | 73 6c 69 70 2d 3e 73 74 |......p_|slip->st|
|00006030| 61 74 73 2e 69 66 73 5f | 69 70 61 63 6b 65 74 73 |ats.ifs_|ipackets|
|00006040| 2b 2b 3b 09 2f 2a 20 73 | 65 6e 64 20 75 6e 69 74 |++;./* s|end unit|
|00006050| 20 64 61 74 61 20 2a 2f | 0a 58 09 09 09 09 09 09 | data */|.X......|
|00006060| 6c 69 6e 6b 62 20 28 6d | 70 31 2c 20 6d 70 32 29 |linkb (m|p1, mp2)|
|00006070| 3b 09 09 09 09 2f 2a 20 | 69 6e 64 69 63 61 74 69 |;..../* |indicati|
|00006080| 6f 6e 20 75 70 20 2a 2f | 0a 58 09 09 09 09 09 09 |on up */|.X......|
|00006090| 73 6c 69 70 5f 64 6c 5f | 75 6e 69 74 64 61 74 61 |slip_dl_|unitdata|
|000060a0| 5f 69 6e 64 20 28 71 2c | 20 6d 70 31 29 3b 09 2f |_ind (q,| mp1);./|
|000060b0| 2a 20 73 74 72 65 61 6d | 20 2a 2f 0a 58 09 09 09 |* stream| */.X...|
|000060c0| 09 09 09 70 75 74 6e 65 | 78 74 20 28 70 5f 73 6c |...putne|xt (p_sl|
|000060d0| 69 70 2d 3e 71 74 6f 70 | 2c 20 6d 70 31 29 3b 0a |ip->qtop|, mp1);.|
|000060e0| 58 09 09 09 09 09 7d 0a | 58 09 09 09 09 09 70 5f |X.....}.|X.....p_|
|000060f0| 73 6c 69 70 2d 3e 69 6e | 6c 65 6e 20 3d 20 30 3b |slip->in|len = 0;|
|00006100| 09 09 09 09 09 2f 2a 20 | 72 65 73 65 74 20 69 6e |...../* |reset in|
|00006110| 66 6f 20 66 6f 72 20 2a | 2f 0a 58 09 09 09 09 09 |fo for *|/.X.....|
|00006120| 70 5f 73 6c 69 70 2d 3e | 6f 76 65 72 72 75 6e 20 |p_slip->|overrun |
|00006130| 3d 20 30 3b 09 09 09 09 | 2f 2a 20 72 65 63 65 69 |= 0;....|/* recei|
|00006140| 76 69 6e 67 20 64 61 74 | 61 20 2a 2f 0a 58 09 09 |ving dat|a */.X..|
|00006150| 09 09 09 70 5f 73 6c 69 | 70 2d 3e 65 73 63 61 70 |...p_sli|p->escap|
|00006160| 65 20 3d 20 30 3b 0a 58 | 09 09 09 09 7d 0a 58 09 |e = 0;.X|....}.X.|
|00006170| 09 09 09 65 6c 73 65 20 | 69 66 20 28 70 5f 73 6c |...else |if (p_sl|
|00006180| 69 70 2d 3e 69 6e 6c 65 | 6e 20 3e 3d 20 53 4c 49 |ip->inle|n >= SLI|
|00006190| 50 4d 54 55 29 0a 58 09 | 09 09 09 09 70 5f 73 6c |PMTU).X.|....p_sl|
|000061a0| 69 70 2d 3e 6f 76 65 72 | 72 75 6e 20 3d 20 31 3b |ip->over|run = 1;|
|000061b0| 0a 58 0a 58 09 09 09 09 | 65 6c 73 65 20 69 66 20 |.X.X....|else if |
|000061c0| 28 2a 63 70 20 3d 3d 20 | 45 53 43 29 09 09 09 09 |(*cp == |ESC)....|
|000061d0| 09 2f 2a 20 69 66 20 64 | 61 74 61 20 69 73 20 45 |./* if d|ata is E|
|000061e0| 53 43 20 2a 2f 0a 58 09 | 09 09 09 09 70 5f 73 6c |SC */.X.|....p_sl|
|000061f0| 69 70 2d 3e 65 73 63 61 | 70 65 20 3d 20 31 3b 0a |ip->esca|pe = 1;.|
|00006200| 58 0a 58 09 09 09 09 65 | 6c 73 65 20 69 66 20 28 |X.X....e|lse if (|
|00006210| 70 5f 73 6c 69 70 2d 3e | 65 73 63 61 70 65 29 20 |p_slip->|escape) |
|00006220| 7b 0a 58 09 09 09 09 09 | 70 5f 73 6c 69 70 2d 3e |{.X.....|p_slip->|
|00006230| 65 73 63 61 70 65 20 3d | 20 30 3b 0a 58 0a 58 09 |escape =| 0;.X.X.|
|00006240| 09 09 09 09 69 66 20 28 | 2a 63 70 20 3d 3d 20 45 |....if (|*cp == E|
|00006250| 53 43 5f 45 4e 44 29 0a | 58 09 09 09 09 09 09 2a |SC_END).|X......*|
|00006260| 28 70 5f 73 6c 69 70 2d | 3e 62 75 66 20 2b 20 70 |(p_slip-|>buf + p|
|00006270| 5f 73 6c 69 70 2d 3e 69 | 6e 6c 65 6e 2b 2b 29 20 |_slip->i|nlen++) |
|00006280| 3d 20 45 4e 44 3b 0a 58 | 09 09 09 09 09 65 6c 73 |= END;.X|.....els|
|00006290| 65 20 69 66 20 28 2a 63 | 70 20 3d 3d 20 45 53 43 |e if (*c|p == ESC|
|000062a0| 5f 45 53 43 29 0a 58 09 | 09 09 09 09 09 2a 28 70 |_ESC).X.|.....*(p|
|000062b0| 5f 73 6c 69 70 2d 3e 62 | 75 66 20 2b 20 70 5f 73 |_slip->b|uf + p_s|
|000062c0| 6c 69 70 2d 3e 69 6e 6c | 65 6e 2b 2b 29 20 3d 20 |lip->inl|en++) = |
|000062d0| 45 53 43 3b 0a 58 09 09 | 09 09 09 65 6c 73 65 0a |ESC;.X..|...else.|
|000062e0| 58 09 09 09 09 09 09 2a | 28 70 5f 73 6c 69 70 2d |X......*|(p_slip-|
|000062f0| 3e 62 75 66 20 2b 20 70 | 5f 73 6c 69 70 2d 3e 69 |>buf + p|_slip->i|
|00006300| 6e 6c 65 6e 2b 2b 29 20 | 3d 20 2a 63 70 3b 0a 58 |nlen++) |= *cp;.X|
|00006310| 09 09 09 09 7d 0a 58 09 | 09 09 09 65 6c 73 65 0a |....}.X.|...else.|
|00006320| 58 09 09 09 09 09 2a 28 | 70 5f 73 6c 69 70 2d 3e |X.....*(|p_slip->|
|00006330| 62 75 66 20 2b 20 70 5f | 73 6c 69 70 2d 3e 69 6e |buf + p_|slip->in|
|00006340| 6c 65 6e 2b 2b 29 20 3d | 20 2a 63 70 3b 0a 58 09 |len++) =| *cp;.X.|
|00006350| 09 09 7d 0a 58 09 09 09 | 62 70 2d 3e 62 5f 72 70 |..}.X...|bp->b_rp|
|00006360| 74 72 20 3d 20 63 70 3b | 0a 58 09 09 7d 0a 58 09 |tr = cp;|.X..}.X.|
|00006370| 09 66 72 65 65 6d 73 67 | 20 28 6d 70 29 3b 0a 58 |.freemsg| (mp);.X|
|00006380| 09 7d 0a 58 7d 0a 58 0a | 58 2f 2a 0a 58 20 2a 20 |.}.X}.X.|X/*.X * |
|00006390| 73 6c 69 70 5f 64 6c 5f | 63 6d 64 73 20 28 29 0a |slip_dl_|cmds ().|
|000063a0| 58 20 2a 2f 0a 58 0a 58 | 23 69 66 6e 64 65 66 20 |X */.X.X|#ifndef |
|000063b0| 44 45 42 55 47 0a 58 73 | 74 61 74 69 63 0a 58 23 |DEBUG.Xs|tatic.X#|
|000063c0| 65 6e 64 69 66 0a 58 73 | 6c 69 70 5f 64 6c 5f 63 |endif.Xs|lip_dl_c|
|000063d0| 6d 64 73 20 28 71 2c 20 | 6d 70 29 0a 58 71 75 65 |mds (q, |mp).Xque|
|000063e0| 75 65 5f 74 09 2a 71 3b | 0a 58 6d 62 6c 6b 5f 74 |ue_t.*q;|.Xmblk_t|
|000063f0| 09 2a 6d 70 3b 0a 58 7b | 0a 58 09 75 6e 69 6f 6e |.*mp;.X{|.X.union|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.