IMD 1.17: 19/01/2010 21:30:28 4404 network 3 of 4 4400 series network software (version 3.1.11) c1 UniFLEX Backup?ϊ -???.LLL?2??B0 ?.?b??r0 ?.?̒??̢0 ?.0m mmRm moRm$r./NXDw-@$Ӕ./NXD/-@t./NXJftd./NXJgRRom f lf mp`pLN^NuNVHA.Nd.HH#ܼ4.Hr<./N~X#ܸ4.H…Sf /Ѩ "Ӏ rA"nkaQBOLN^NuNVH *n g.Nbh.NlL N^NuNVH A./.NddX g .O  f.TN*@ fp`@+nt./.NbX* fp`t+BA +H !)%@(#)server.c 1.15 (NRC)fusionxdatecourierxdgxspxpeudptcpidgispCONNECTEDONESHOTserver [-d database_name]debug already turned on debug file name required wunable to open '%s' as debug file, %s database file already specified unknown option %c server: couldn't fork unable to set +m+m L N^NuNVH<*nE.a-@fp` nJPg n4G n(HHft.HhHSNoPB+`R nIHHg:BnBn`Rn nlJf nm nl .a$-@fBA.Ne5@ L<N^NuNVH *n$-f@$-mp`L./- /Nb& _dbg= _debug_open2\ _del_tmp_file! _dir_init!p _dir_process- _dispose h _do_courier$0 _do_fusion_procV _do_headerc _dupc _dup2 _endpwent _etext`$ _execl`. _execle`l _execv`v _execvec _exit= _fatalDHLPTX\`dhlptxSunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec0123456789  $(,04ASTADTESTEDTCSTCDTMSTMDTPSTPDTYSTYDTHSTHDT/etc/log/passwordr/bin/shellshell+bcx/bin/shellshell+cxNO $$syscall ETEXT Startp __allocfp_ __chcodesP __cryptv __el_init _fclose{ _fdiddle4 _fexecve@ _fflush _fgetc _fgetsX _file_processf$ _fopen` _fork& _fprintf _fputc _fputs _freadl _free@ _fseekc _fstat _ftelld _ftime8 _fwriteqN _g2tperm1 _get_arr _get_db_nameE _get_dirents3 _get_home< _get_opt _get_port 2 _get_prop> _get_time1T _get_tokv __elcc* __exitt __fillbufa __fixstka __fixstk_A0 __flushbuf __fmtout| __fprtf __fprtfp __fscnfpvT __info_open __isgraph __isindst __itostrT __ltostruh __net_ioctlu __newsockw$ __nselect __setupfpg __sprtf __sprtfp __sscnfp8 __strtoi0 __termorpipeb _abortWx _acceptc _accessI _adb_bu3 _get_unmp _getenve. _geteuid5 _getgid _getpassd _getpide _getppidh _getpwent _getpwnam` _getpwuid _getsy _getsocknamee _getuid. _gid_2_str@\ _globbo: _gmtime. _gnm_2_gid _gttys _hex_cat _init_protos\( _ip_bindtH _ipa_2_str _isatty=0 _isolatec6 _kill#| _l_print{: _ldiddle _linkV _lif_setJ: _adb_closeN _adb_cmp_setM _adb_eqlLR _adb_extractJ _adb_nextI _adb_openL _adb_rewindM4 _adb_searchO _adb_upds( _add_2_str<` _advanceb _alarm< _arg_peek _asctimeop _atoioT _atol _b_lookupr _basenamez _bindW _blockinga _brkG _cacceptlT _calloca@ _cdatad _chdir _checkf _check_file| _checksten _localtime` _lockc _lrecd _lseek8 _main _make_dir` _make_realtime2n _make_tmp _mallocq _memccpyr _memchrrB _memcmpr _memcpyr _memset?P _mkdir _mknod _mktemp _mount9 _naccess5$ _nchmod5D _nchown5\ _ncreat8 _nfgets6 _nfprintf9 _nfputs7 _nfread8 _nfstat6 _nfwrite]8 _nget_int]~ _nget_str7| _ngetc9 _ngetpass9D _ngets` _nice5 _nloginVd _nonblocking^< _nperror5| _nprintf7 _nputc<8 _nrc_init^r _nserror7 _nstatb _openH _opendir _options, _os_initcT _paused@ _pipe _port0_process _port_open` _printf, _process44 _pswd_verify _qsort# _r_mesg{t _rdiddleb< _read _readdircrypt ldiv lmod~ lmul~ lrdiv lrmod uldiv ulmod4 ulmulr ulrdiv ulrmodל CR_VAL| EDATA _FlibversionÔ _Fversion ___msz __allocp __iobÀ __ioblstӄ _actbl _b_tblܼ _daylight| _edataÄ _environÀ _errno _mtblĮ _option_tbl _proto_tbl _ptblܸ _timezone _tzname m _realloc[ _recv _recv_commY _recvfromx _recvhH _reject2 _rename3R _req_passwd=` _restore _rewind& _rewinddirG _s_2_str, _s_fatal p _s_serv_listad _sbrk` _seekdirT8 _select _send_commx _sendhX _sendto _serv_freeD _serv_init _set_ftm4^ _set_mod_date4 _set_priv>x _set_time5 _setgid _setpwent _usage_strט end_adrÐ euidÈ pidמ stack_low_point8 stderr stdin stdoutÌ uid END$ __base@ _cur_gidD _cur_uid _dbfp _dirP _dirp _end _g_gid _g_uid޸ _is_local _prog_name| _serv_head޼ _verbose\ _versionTektronix 4400 - network server daemon Tek Version 2.0 @ 14:49:15 Tue Nov 12 1985 Copyright (C), 1985 by Network Research eH _setuid> _show_time _signal# _sink< _sisolato _sleep[@ _socket _split_linel: _sprintfa _stacka _stack_limitdd _stat4 _stat_gnm4 _stat_unmed _stime; _strasnf _strcat; _strchrt _strcmpe _strcpy; _streqle _strlen;@ _strnasn _strncmpo _strncpy; _strrchr _strtol6 _stty _systemqCorporation, Inc. all rights reserved. Version 1.15 as of 85/09/06 at 04:44:31 etpassd _getpide _getppidh _getpwent _getpwnam` _getpwuid _getsy _getsocknamee _getuid. _gid_2_str@\ _globbo: _gmtime. _gnm_2_gid _gttys _hex_cat _init_protos\( _ip_bindtH _ipa_2_str _isatty=0 _isolatec6 _kill#| _l_print{: _ldiddle _linkV _li _t2gmodeq _t2gperm _telldirex _timee _times _tolower\ _toupperd _truncfT _ttyslot _tzset. _uid_2_gid/ _uid_2_pswd. _uid_2_str _umask _umount _unlink/@ _unm_2_uidd _urec: _usage _utime` _vforkc^ _wait:, _warn{ _wdiddleb _writet _xna_2_str\ _xns_bindG _xsp_treadGx _xsp_twriteP y ]/y 9karp/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bp"^ Hl`h@g#hd TЏ#c/Ho//NrOBN"NVH8t.t/t /NP*lN&./<cNX*|lXt-B.lHN~`A./<c/9lH/9lTNO .1fnA ./<c/9lH/9lTNO A .a&@JfA ./<c//9lTaO k ,gp`pfA ./<c//9lTaO A./<d/9lH/9lTNO A.t/HnNPJf.d//9lTaP4.H.a(@Jf.d://9lTarPA@./<dS/9lH/9 g g`: L N^NuNV././. NP-@f././<fNP .N^NuNVH . N*@Jf./<fNNX L N^NuNVH $9lg`6*|f.fan.HUN"XJg./<fNXt#lL N^NuNVH.N3.f./<f/<flNP LN^NuNVH .N42*@Jf./<f/<flNP L N^NuNV. N+2./.N8XN^NuNV. /.N8XN^NuNV. N+2./.N6XN^NuNVH0(|l*n~`F f..(/.$/. /././././. /.lTNO A.t/Hn@NPJf.dY//9lTa"P n g.dw//9lTaPt:;ltB4,Bt;Bt.Hn$ P/NP4,HBBBHB.4,HBBBHBAԈ/" P-Ё/NPt.Hk.$ P-҂-ԁ/NP4,HBBBHB.4.Hr//NTP4,HBBBHBAFԈ/" P-Ё-Ԁ-҂/NPA."|lt2QA."|lt2Q$<3l$.g0t.Hk,/NP fN&./<dNXt-Bt./<lt/th//<lX/NN?O  ft RRRf.(/.$/. /././././. /<lN?O L0N^NuNVH0(|l*n ~`J f2.,/.(/.$/. /././././. /.NENO$  ft RRRf.,/.(/.$/. /././././<l/.NENO$L0N^NuNVH *n`  ft R./. NTXЮof././. /.NJO L N^NuNVH ././. /.NHxO -@*n`  ft R./. NTXЮof .L N^NuNV.N:|-@ fp ` .N^NuNV . f. t /N9XO, hl. fN&./<dNX./<dNX$9lPgA@.HnHn /<dN |O R.lHNVJfVL8N^NuNVH >. *|c` Uf `PJUfpL N^NuNVNT#dlT.lTN./9lTNX#lH.dN8#lt.Hn/<dNP#l.lN'@#lf .eN.l/9l/<e(NPN^NuNV|. /./9n/<e/HnN'&OA#n.(/.$/. /./././.NON^NuNVH ./. HnNP`"-HH ` t#lP` ` vg`NR*@ f`. . HH/N9XN^NuNVH *n A./.N88X fp`A.HUaRXpL N^NuNVH *n A./.N7X fp`A.HUaXpL N^NuNV n "n2 n "n3h n (HH.N+n. n (HH/N*X n!@ n "n3h nt1B n "n#h n "n#hN^NuNVH ./. /.N?(PJfp`&*n`  ft Rg $.Ԯ n .L N^NuNVH .NMJfp`*n`  ft Rf .L N^NuNV. /.N>X-@g` . NEhpN^NuNVt-B-|fNJg .cNLaa\L N^NuNVH .9l*yl`&.HUN"XJf `l$ Թl*BJnpL N^NuNV.N0-@ fN&././<eXNP-n$.fJl././<eNP .N^NuNV./. /.N0P fN&./<eNXN^NuNV./. /.N0P fN&./<eNXN^NuNVH >.*n$ f*|lJGfA.N*Z> Gfp`4HBBBHB `ZA./.N-XJfp`^`Xt.Hm/.N+PJfp`@`:A./.N,XJfp`$`p` g`$Į g n$(ŮXX n$f./.N7hXN^NuNV.NTh-@t./<g*t/N6P .N^NuNVH0*n(n ..,.` ܾ-f ` $SJnpL0N^NuNVH *n.. ,.`f$ S ` $SJnpL N^NuNVH0*n(n ..`Dԁ,g ` $SJnpL0N^NuNVH0*n ..(n`$SJn .L0N^NuNVH .. ,.*n`$SJn .L N^NuNV.n/<gZ/<`8N P.(/.$/. /././././. /./<`8N O$.ge/<`8N X.`8NEht.N"N^NuNV n#m# m n #n . N^NuNV mo$9mfp`SmXm ym N^NuNV mo$9mfp` ym (N^NuNV mo$9mg ym$(g "h +gp`anN^NuNV.n/<g/<`8N P.(/.$/. /././././. /./<`8N O$t.N"N^NuNVH0t.t/NPX*@ g~.HUa~XJgd.g/.NFX*gN.a(@ gB$--Bt.Ԯ/NPX+@g ./-HTaP$. mB0( `.a~pL0N^NuNVJg`J oZ nJg .NQ nAt-B`N./. N"XJgp`pf-n./.N"XJf-n n-HJfR nf./. n/(/(aO -@t-B` ././.a8PJg.NQ-n n-ht-B`../.aLX-@ nB-H n-HJfR$.شm./.aX-@R n-HJf` n"n-H-I n$.质mt-B./.R/./.aO -@`*.NQ./. n/(/(aO -@.aJgt./. /.aP-@f$.f-nt-B` nB-HR$.䴮n .` .మn$.䴮.t//. NPP W g& n"n!i n"n$)Ԯ !B p`pN^NuNVH *n g4Jg.NFBJg .NQJg .NQ.NQL N^NuNVH8*n$ g $g$-fp`R(m&m+m`.N:|. `p`*gB+L -`.HSaX(@B&L`.N:|. `p``~`H~ `D~ `@~ `<~ `8 g g bg tg ng fg rg`Z |6=0xHHg f<`6 g@ g< :gF \gN` m.N:| `p`4.N:| fp` `` g g l n` n./.aX-@RR` nB-HR$.䴮m .` .మn$.䴮o n` n./.aX-@RR` nB-HR$.شo./././.a~O -@.a.NQ./.N \X-@ g2$.././.N6P.N6.NQp` .NQpN^NuNV-nt-B-n`\ nHH `8R$.l< nt:-H`. nt\-H n"n-I` g :g`R$. m nt -H .N^NuNVH0*n(M`0H |6=0 HHf`g - gt R m\g``L8N^NuNVH *n$ g$fp`(t.//NKP.aV.NLJgp`pL N^NuNVH $.g$$. g n g n$(g $(g$(fp` n*h~`./. N"XJg NqfRff, n H |6=0 HHfp`P. NQ. n*h`.Sl$Jg./.N9X @`.a @ `Nqf nmpL N^NuNVH0$.g$. g n g$.g nfp`X.a`&././.aLPJg .NQ `0.NQ.a*@ gt./. /.aP(@ fpL0N^NuNVH Jg nJg./. "hNX`g - fS L0N^NuNV. /.N9X.N9hЮN^NuNVH $.HBBBHB.t/HnN0P*@tHBBBHB./.t/HUN/ @O !n Jg,$.g&tHBBBHB./.t/HUN/ @O !n./.N.X fp` .L N^NuNVtHBBBHB.t/HnN0PtHBBBHB./.t/HnN/ @O !n A./.N.XN^NuNVH N.. gtHBBBHB.t/HnN0P*@tHBBBHB.t/t/HUN/ @O !ntHBBBHB.t/t /HUN/ @O !n tHBBBHB.t/t/HUN/ @O !n./N.X ./. HnNSPB.K`6HH b(H |6=0 HHgHH.NNZRf./.HnNSPB.K`>HH b(H |6=0 HHgHH.NNZ |fBRfB-K`A.HUN"XJfp` NqffpL N^NuNVJg n!n N^NuNVH .N9hR.N'@*@ g.HUN9X L N^NuNVH0*n(n ..f`l`%Sl``SlL0N^NuNV.a-@fp`t./<NPX-@f.ap`Zt./<NPX-@f.NQ.aTp`* n-hg `-yc.N6#cpL N^NuNV-yca(././<h/<`8N O #cN^NuNV-yc Pcm"$9cP./<hHnN'&P`.c/<h'HnN'&P.h*N42-@g.N-@gA./<h3/.NPJgd.n/<h@/.NP-@gF ng  g  fR`./<nN9X.N#c <n`2.NA./<hR/<nN'&P#c <nN^NuHxL4H°f4H²fLNu(jDJjDD$&HCHA@HCBCԃJjD LNuH|"/g /`H|"/g~ /g6Höf iHL>Nu*jDDJjDDop`ⶁf(BDHD$4HB4HB`(&( dt4"HAHA؁lSJjD ` `H|"/g /`H|"/g~ /g6Höfi H@HL>NuJjDD*jDo$`Bf(BDHD$4BBHB`*&( dt4"HAHAԁ$lԄJjD ` `///?< ONO\ _eB#hdNu///?<$ ONO\ _eB#hdNu/ /йhd/?< ONO\ _e/9hd#hd NuNV/ O NOd #cp`p _N^NuNV/ O / kdNOLd#cp _N^NuA|hjb k8f.a*@ fp`(M*U`L0N^NuNVH0..t.N!4,g D,$9k<*cSԇ./N5>X./N4X܀$.N!4*@fp`"(M)F g$ P B` L.NQ 9k8L0N^NuNVH8$9ng`(|h.N.HTNX&@`t./<hHSHTNO *@A./<hHSHTNO t.HnHnNRP. nJftHBBBHBm tHBBBHBop`pf.HT/<h/<hNO $ |n!(.NVJfZ.Nt#nL8N^NuNVH $9nf`**|n`Jg .NQt*Xnmt#nL #hjNOdNBNu#cpNuNVNO NO !NO,` /NO+eNuK`J g HUNFBXKcf /NOeVNu/// / ?< ONO\ _e:BNuNO,e0BNuNVH@NOe"/gÈY LN^Nu#cp`#cpNuNV/ L$HfJfp` !HH$_N^NuNVH<*n n &X-H $n `0 %g`"-KA.NN `xA-Ht -B~`vt-Bt -B~`dt-Bt-B.gp`p.`H-|hp`-|ht-Bt-B~.g .gJg~`B.` Jg~`B.`-|h.g-RX.g-RX.g./././NQON^NuNVH0*na(|n` ./N"XJf$ n0`Xnm0. a`tBetBb4HBBBHB |n p(` | LN^NuNVH0 n*P [ft].HUN,X(@ fp`pf0<`TB-g*t.Hn$ R/NRP-@ nJf$.>` $ R.a>t] Gg $ R n 0L0N^NuNVH t-B*|i`. HHĭg$XX$f .L N^NuNVH t-B*|i`Įg$-XX$f .L N^NuNVH t-B*|h`. HH´f$XX$f .L N^NuNVH0*n(n (@X`./././NR\O (@X 0fJfR.N9h,DЮ(lx .df$.f .f.gR$.Ԕ-Blt-B.f`t $.SJfJg"$.gt-`.gt+` .gt .g>.HH `t0`,t0tx`"t0tX` og xg XgJo`t0$SJfJo`HH*f.g`t $.SJf`.g-RX.g-RX*X o $.S `p.Jo.f`t $SJf.g`t $SJf`.g-RX.g-RX(RX.N9h(Jl `o .` .o ` .,(o.f ..`,HH.aT,lp`BHH.aB*lp`0$還SlJgH |6=0 HH gp`pL0N^NuNVH. HH b^H |6=0pHHgHH.NNZ 0m 9nHH0 ` am fnHHW `pLN^NuNVH *n`.f$ S `fpL N^NuNVH8*n(n f(|nG`Jt .HnHUNRP.gp`jfp`^*n$ RAg .gp`@tf ,f.t .HnHUNRP.gp`fp` 8`t8 L8N^NuNV$. f-|n -|i-n-|it/.`t $SJf g `$SJfJo`t $SJf`.g-RX.g-RXt%``.g-RX.g-RX-JA.HnHUNNP*@$n`(n$.Д.`$SJf`` dg ug og xg Xg cgR sg %g4 gJ egD Eg: fg0 gg& Gg`R&nHH*fB$  Lt. n Hh/.N+PJg"t. n Hh /.N+PJg . `pN^NuNV n $( -B$<SԮ./. /.N6PJlp`pN^NuNVH N/-@ gp`pfttHBBBHB.t/HnN0P*@tHBBBHB.tP/t/HUN/ @O C!I./.N.X gp`pft.HnN7@X`pL N^NuNV j,fD.jIN]-@f-|jQt./.N7@X#j, j,gt#c 9j,N^NuNVH0*n$-(B$. 8)n9n L0N^NuNVH *n:@;n$ +B+n L N^NuNVt-Bt.t/Hnt//.aO fp` .N^NuNVt-Bt.t/Hnt //.avO fp` .N^NuNV-n.a|./. Hnt //.a6ON^NuNV-n.aN./. Hnt//.aON^NuNV fp`$.g nJg nJg$.ft #cp`N/-@ fp`r$.=Bt=Bt-BHBBBHB.t /HnN0P-@ . `t=B4.HBBBHBNO\ _eBNu/// / ?</ ONO\ _eBNu/ /////?< ONOO _etNuHNOe"o H0H""LBNuL`L/// // ?< ONOO _e0BNuNV .NO7d #cp`pN^Nu /NO0eBNu#cpNu/// // ?< ONOO _eBNu/// // ?< ONOO _eBNu/// /?<4 ONO\ _epBNu/ o //?<4 ONO\ _ePBNu///?< ONO\ _e6BNuNV/ n (/.?<4 ONO\ep`#cp _N^Nu#cpNuNV nJf SN^NuNVLf n N^NuNVH . *n $- ft#cp g2 n f&-n n4HBBBHB-BA-H nt 4.HBBBHB `4.HBBBHB. n//. /.N/ @O !n`4 n f+|*R Un .NSJgp@`p . .`~-g-g,.NTJft.t//-N7P f~ gTJo -`pD../-/-N6Pg~`"+|*R Un . .`"+|*R Un . . L N^NuNVH0*n$- g $- 0gt#cp` -f:Jf4.NSJg`Hx"/gf$/c `p0f$i HB0JLNu(BDHD 0B@H@`&( dp0"HAHA؁lք `NuJ`0 HHHHHHHHHH BBBBBB DDDDDD / /////?< ONOO _eNu#cpNu /NOehBNu/// // ?< ONOO _eFNu/////////?<= ONOO _e Nu/// // ?< ONOO _eNu#cpNu/// // ?< ONOO _eBNu /NOeHNu/ o /NO _eNu/ /// ?< O.N'@+@f`-g.(|``,g,g.NEhcm-g@t.Hn/-N>P. f. `^Jfp`p p`L`J*.//-N>P+@SmR U( ` fp`p pL0N^Nu/ /////?< ONOO _eNu#cpNuNVH0*n(n `.HH/N9X fp`fpL0N^NuNVH0*n,. (n`  - gSo.N:|. fB ff |` n L0N^NuNVA./<`N?XN^NuNVH8~ n (X-H &n `f %g./N9XR`J-LA.NN `A-Ht -B|`vt-Bt -B|`dt-Bt-B.gp`p,`H-|k`-|kt-Bt-B|.g .gJg|`B.` Jg|`B.`-|k*.g-SX.g-SX.g./././NQO *@X`./././NR\O *@X 0fJfR.N9h*DЮ&lv .df$.f .f.gR$.Ԕ-Blt-B.f `.t /N9XR$.SJfJgL$.g.t-/N9XR`2.g.t+/N9XR`.g.t /N9XR.g.HH ``.gp`z./.N7@X. fLt ./.N6X. fp`l g&.N6t./.N7@X. fp`@`t.t//N7P`p`&NP@(@ f .N6`./HTNPP L0N^NuNVH8*n.. ,.(nzJnp``$, ft#cp`F,gt#cp`*,g,ft)B g$SJo$,t)B$S(`dn &x`Jo ,`p&D؀t)B&T$g `$SJf($g".N=p& f  `SJnz`l(`bn &x`Jo ,`p&D؀t)B&T$g `$SJft0/N9XR`d.t0/N9XR.tx/N9XR`>.t0/N9XR.tX/N9XR` og xg XgJo`.t0/N9XR$SJfJo`./N9XRHH(f.g `.t /N9XR$.SJf`.g-SX.g-SX(X o $.S `p,Jo".f`.t /N9XR$SJf./N9XR.g`.t /N9XR$SJf`.g-SX.g-SX*SX.N9h&Jl `o .` ,o ` .*&o".f`.t /N9XR$SJf g `.HH/N9($g .N=p& f  `SJnR$SJn L8N^NuNVH8*n.. ,.(nz$, ft#cp`,g0,g $, fp`pft#cp`,fJg)|(`^(`Tn &x` &,t)B&T`S$f($g&.HH/N;X f  `SJnR$SJn L8N^NuNVH *n.. ,.-g-g(-g-f-g$-  f-g6 f gS.//-N7P gz`z`.NTJgt #cz`t XR$SJfJo`.t /N9XR$SJf`4.g-SX.g-SX.t%/N9XR``.g-SX.g-SX-KA.Hn/.NNPހ&n`*n$.Д,`.HH/N9XR$SJf`` dgZ ugd ogj xg| Xg| cg sgZ %g g4 eg. Eg$ fg gg Gg`>(nHH(f n(gp` L8N^NuNVA ./.aFXN^NuNVH *n|-g-fJg l-g-g,.NTJftf@ gS-f$Jl $-l Jmn xߕz`xt`xt$g$t+B.//-N7P fz`z`-g-g-g\-gT.NTJf:.NEh g&.//-N7P g t+Bz`z`z` t #cz` t#cz t+B f L N^NuNVH *n-g-g$-g-f-gD$-  f8t.t//-N7P. g gS-f`Z-g-g-g8-g0t.t//-N7P. g-f$ނ` t#c~ L N^NuNVt.t//-N7P f| gBJm -`pD../-/-N6Pfp`p,*+|`|` t#c| L N^NuNVH *n~$- gZ-g-g-g-g.a..N6Jg~-g .NQt*+B t+B` t#c~ L N^NuNVH0*n rfD|R +f z` gp`lz./.N7@X. fp`L`" wfp|R +f` gp`$t ./.N6X. fp` g(.N6t./.N7@X. fp`` af,<R +f z` .//.aFPN^NuNVH *n`.`N:|. g fB ff |` n L N^NuNVH.. am znG LN^NuNVH.. Am Zn LN^NuNVH.. b |6=0x.g fp`p`pLN^NuNVN^NuNVN^NuNVN^NuNVN^NuNVH8*n(Ut+B+B B-B-B-B-B-`: -fttB`, +fttB`  fttB` #fttB``fH |6=0pg&t .Hn$ S/NQP+@(nB-` *gp`p@g .fTH |6=0pg"t .HnHTNQP+@ (nB-`R *gp`p@g`t+B `B- lgp`p@gGJf$ S B` L+H-HH L8N^NuNVH ~*|``$- gR m fp` L N^NuNVH *n.. ,.+G+F t+Bt+Bt+B*L N^NuNVH . /.N4X..N'@*@ gB%Sf L N^NuNVH0Jg $.Q B` n*H(yk8bee cd`(T`g8$-ԍf T$(խ T*`*$,Ԍf $-լ(`(#k8L0N^NuNVt .t//.NRPN^NuNV./. /.Nk@?<' ONOO _e6 9k@Jg/ o k@ _Nu///?<) ONO\ _eBNu#cpNuH@ /"/AXCkH/1#Jg g 0///?< ONOO dL`Jg gJj.LNuYYYYYYYYZZZ Z0Z@ZPZ`ZpZZZZZZZZ[[[ [0[@[P[`[p[[[[[[[[\\\ \0\@\P\`\p\\\\\\\\\] ]]&]4]B]P]^/9kH/<`/9kL/<`/9kP/<`/9kT/<`RPN^NuNVH8..,. *n(n m .N9hop`X gJl $D.t(`t(&|oB*(Jf`*`$&./N5>X(./N4XDЃ5Jf L8N^NuNV././. /.aVO N^Nu NVH?8LprxGR|`gf(Kf`z +g -Wfg|$ f& 0f(gt Xg xVf8tf2`mv$ot `"vf 0fgd Xg xVfgb 0e6 9b0` Ae Zb7Bd|Ё.HGGfJg"HDBDJgD" gS"LN^Nu nRp`NVL .SmWf`BQ n N^NuNVH/9kX/<`/9k\/<`/9k`/<`|/9kd/<`l/9kh/<`\/9kl/< `L/9kp/< `` /9lD/<?H o@//`*4H.HSHUN]PJ/9`NVX.ot/NXX.ot/NXX.ot /NXX.ot/NXX`t#c L0N^NuNV.o/9`NVX` .ot/NXX.ot/NXX.ot/NXX.ot /NXX.NW8/N"2XN^Nu/// / ?<- ONO\ _e*BNu/// / ?<. ONO\ _e BNuNO3eNu#cpNu///?< ONO\ _eBNu///?<' ONO\ _eBNu 9cfNO e#cNuNO _fputs _frdiddleHx _freadQ _freeK _fseek7 _fstatL _ftellW _ftime _fwdiddleJ _fwrite+2 _g2tpermR _get_opt] _getenvWr _geteuidTh _getpassW8 _getpidWP _getppidM _getsWZ _getuidV _gtty+ _hex_extract,& _hex_valT _isatty"2 _kill0 _ldiddle7 _lrec7 _lseekr _edatac _environc _errnoh _mtbli _ptblhd end_adrc euidc pidhj stack_low_point`8 stderr` stdin` stdoutc uido ENDoh __baseo _endn _prog_nameTektronix 4400 - ARP (Address Resolution Protocol) stuffer Tek Version 2.0 @ 23:20:15 Sun Jul 28 1985 Copyright (C), 1985 by Network Research Corporation, Inc. all rights reserved. Version 1.2 as of 85/08/28 at 21:19:11 _main'@ _malloc, _memccpyh _memchr _memcmp _memcpy _memset _naccess $ _nchmod D _nchown \ _ncreat _nfgets  _nfprintf _nfputs  _nfread _nfstat _nfwrite3 _nget_int42 _nget_str | _ngetc _ngetpass D _ngets _nperror | _nprintf _nputc _nrc_init& _nserror _nstat7@ _open"P _pause[ p/\ " %.netStart/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bt"8 _pipe? _printf0 _rdiddle> _readM _rewind!4 _sbrk _sendh8 _set_ftmW _setuidX _signal _socket'& _sprintf!d _stack! _stack_limit88 _statW _stime _str_2_add*Z _str_2_af, _str_2_ipa- _str_2_xna, _strchr" _strcmp9 _strcpy9h _strlen] _strncmpS _strncpyR _strtolV _stty+n _t2gmode* _t2/gen/system/dynamicLoad +m /gen/system/fusion.load /etc/nfg +a teta /etc/ntimer /etc/server freadQ _freeK _fseek7 _fstatL _ftellW _ftime _fwdiddleJ _fwrite+2 _g2tpermR _get_opt] _getenvWr _geteuidTh _getpassW8 _getpidWP _getppidM _getsWZ _getuidV _gtty+ _hex_extract,& _hex_valT _isatty"2 _kill0 _ldiddle7 _lrec7 _lseekr gpermW _timeW _timesNZ _tolowerN, _toupper8X _truncfV _ttyslot9 _umask8v _urecL _usage9, _utime"Z _wait0 _wdiddle6 _write ldiv \ lmodT lmul lrdiv J lrmod5> uldiv5 ulmod4 ulmul5. ulrdiv5 ulrmodhh CR_VALlH EDATAjd _Flibversionk< ___mszk8 __allocp` __iobc __ioblstf _actbllH j .netStop/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bp"/etc/nfg +d teta icLoad +m /gen/system/fusion.load /etc/nfg +a teta /etc/ntimer /etc/server freadQ _freeK _fseek7 _fstatL _ftellW _ftime _fwdiddleJ _fwrite+2 _g2tpermR _get_opt] _getenvWr _geteuidTh _getpassW8 _getpidWP _getppidM _getsWZ _getuidV _gtty+ _hex_extract,& _hex_valT _isatty"2 _kill0 _ldiddle7 _lrec7 _lseekr error number:error name:error description 0: ENOERR: no error indicated 1: EIO: I/O error 2: EFAULT: System Fault (bad address) 3: ENOMEM: Not enough memory (task size too small) 4: ENOTDIR: Not a directory 5: ENOSPC: No space left on device 6: EMFILE: Too many open files 7: EBADF: Bad file number 8: ENOENT: No such file or directory 9: EMSDR: Missing directory 10: EACCES: Permission denied 11: EEXIST: File exists 12: EINVAL: Bad argument to system call 13: ESEEK: Seek error 14: e  +af.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb" EXDEV: Crosses devices 15: ENOTBLK: Block device required 16: EBUSY: Device is busy 17: ENMNT: File not mounted 18: EBDEV: Bad device 19: E2BIG: Too many arguments in an 'exec' call 20: EISDR: File is a directory 21: ENOEXEC: File is not executable binary 22: EBBIG: Binary file is too large 23: ESTOF: Stack overflow 24: ECHILD: No children 25: EAGAIN: No more processes 26: EBDCL: Bad system call 27: EINTR: Interrupted system call 28: ESRCH: No such process 29: ENOTTY: Notname:code:comment INTRA:1: AF_INTRA - intra-machine protocol INET:2: AF_INET - DARPA Internet address family (IP, et.al.) ETHER:11: ARP address family. _ftellW _ftime _fwdiddleJ _fwrite+2 _g2tpermR _get_opt] _getenvWr _geteuidTh _getpassW8 _getpidWP _getppidM _getsWZ _getuidV _gtty+ _hex_extract,& _hex_valT _isatty"2 _kill0 _ldiddle7 _lrec7 _lseekr  a tty device 30: EPIPE: Broken pipe 31: ELOCK: Record lock error 32: ETXOF: TEXT segment overflow 33: EVFORK: Illegal operation during VFORK 34: EDIRTY: Device may be corrupted 35: EWRTPROT: Device is write-protected 36: ENOFPUDATA: No floating-point U-data 37: ENOINPUT: No Input available. 74: EROFS: Read-only file system 75: EFBIG: File too large 76: ENFILE: File table overflow 77: ENODEV: No such device 78: ENXIO: No such device or address 79: EPERM: Not owner NET_ERR+0: EW $   3#errno.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb"OULDBLOCK: Requested I/O will block NET_ERR+1: EINPROGRESS: io in progress NET_ERR+2: EALREADY: Address already in use NET_ERR+3: ENOTSOCK: Not a socket NET_ERR+4: EDESTADDRREQ: Destination address required NET_ERR+5: EMSGSIZE: Message size NET_ERR+6: EPROTOTYPE: Protocol type NET_ERR+7: ENOPROTOOPT: No protocol options NET_ERR+8: EPROTONOSUPPORT: Protocol not supported NET_ERR+9: ESOCKTNOSUPPORT: Socket not supported NET_ERR+10: EOPNOTSUPP: Operation not supported NET_ERR+11: EAFNOSUPPORT: Address family not supported NET_ERR+12: EADDRINUSE: Address in use NET_ERR+13: EADDRNOTAVAIL: Address not available NET_ERR+14: ENETDOWN: Network down NET_ERR+15: ENETUNREACH: Network unreachable NET_ERR+16: ENETRESET: Network reset NET_ERR+17: ECONNABORTED: Connetion aborted NET_ERR+18: ECONNRESET: Connection reset NET_ERR+19: ENOBUFS: No more buffers NET_ERR+20: EISCONN: Is a connection NET_ERR+21: ENOTCONN: Connection lost NET_ERR+22: ESHUTDOWN: Shutdown NET_ERR+23: ETIMEDOUT: Connection timeout NET_ERR+24: ECONNREFe_db:/etc/netHosts.db: host machine database mfig_db:/etc/mfig.db: machine configuration database msg_db:/etc/msg.db: standard message database net_db:/etc/net.db: directly connected net database os:UNIX-B4.2: allows foreign programs to tune in to us ttyn_prefix:ttyn: what do net ttys ttytype_file:/etc/ttytype: line/ttytype correspondence file ttys_file:/etc/ttys: line configuration file server_socket:442: socket used by fusion server server_db:/etc/server.db: server startup data base service_db:/etUSED: Connection refused NET_ERR+25: EPFNOSUPPORT: PF no support NET_ERR+26: EHOSTDOWN: Host not available NET_ERR+27: EHOSTUNREACH: Host unreachable NO $$syscall^ ETEXT StartP@ __allocfp6= __chcodes0 __el_init/ __elc"& __exit=p __fillbuf! __fixstk! __fixstk_A0; __flushbufN __fmtout? __fprtfN __fprtfpN __fscnfp/ __info_openN __isgraphR\ __itostrQ c/service.db: service data base time_socket:443: socket used by time server spooler_socket:444: socket used by fusion spooler telnet:23: ip port used by telnet daemon ftp:21 ip port used by ftp daemon version:3.1.0: Fusion version id PUDATA: No floating-point U-data 37: ENOINPUT: No Input available. 74: EROFS: Read-only file system 75: EFBIG: File too large 76: ENFILE: File table overflow 77: ENODEV: No such device 78: ENXIO: No such device or address 79: EPERM: Not owner NET_ERR+0: EW  4#fusion.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb"U 4 V c&netHosts.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb"name:value:comment my_name:tinman: user's network name for local machine af_db:/etc/af.db: address family database arp_db:/etc/arp.db: ARP database file bin_prefix:/bin/: where the binaries are console:/dev/console: names a debug outlet cur_tty:/dev/tty00: names the current tty default_login:public: provides the default login name default_termtype:net: the terminal type used if none supplied errno_db:/etc/errno.db: errno value to string mapping lfig_db:/etc/lfig.db: link configuration file machinmachine name:site:mfig:xna address:ipa address:comment stan :AIM :ethernet::17.0.0.1: Tek4404 (AIM engr.) marlinw :AIM :ethernet::17.0.0.2: Tek4404 (AIM engr.) joem :AIM :ethernet::17.0.0.3: Tek4404 (AIM engr.) walth :AIM :ethernet::17.0.0.4: Tek4404 (AIM s/w eval.) joeh :AIM :ethernet::17.0.0.5: Tek4404 (AIM engr.) larryc :AIM :ethernet::17.0.0.6: Tek4404 (AIM engr.) davee :AIM :ethernet::17.0.0.7: Tek4404 (AIM engr.) waynec :AIM :ethernet::17.0.0.8: Tek4404 (AIM engr.) rebeccaw:AIM :ethernet::17.0.0.9: Tek4404 (AIM engr.) danal :AIM :ethernet::17.0.0.10: Tek4404 (AIM engr.) janel :AIM :ethernet::17.0.0.11: Tek4404 (AIM engr.) juanita :AIM :ethernet::17.0.0.12: Tek4404 (AIM engr.) kenl :AIM :ethernet::17.0.0.13: Tek4404 (AIM engr.) stevej :AIM :ethernet::17.0.0.14: Tek4404 (AIM engr.) paulh :AIM :ethernet::17.0.0.15: Tek4404 (AIM s/w eval.) sridhar :AIM :ethernet::17.0.0.16: Tek4404 (AIM s/w eval.) garyg :AIM :ethernet::17.0.0.17: Tek4404 (AIM manuals) jeffb :AIM :ethernet::17.0.0.19: Tek4404 (AIM eng.) crasRL_BVR:ethernet::4.0.0.44: CRL-4404 (Neil Soiffer) chrisj :CRL_BVR:ethernet::4.0.0.45: CRL-4404 (Chris Jacobson AIM) # 4.0.0.60 is taken by agony lougie :CRL_BVR:ethernet::4.0.0.61: CRL-4404 (Lougie Anderson) springer:CRL_BVR:ethernet::4.0.0.62: CRL-4404 (Earl Ecklund) tonge :CRL_BVR:ethernet::4.0.0.63: CRL-4404 (Fred Tonge) duisberg:CRL_BVR:ethernet::4.0.0.64: CRL-4404 (Rob Duisberg) whome :CRL_BVR:ethernet::4.0.0.65: CRL-4404 (Gary Beaver OGC) ferguson:CRL_BVR:ethernet::4.0.0.66: CRL-4404 (Jim Ferguson) chunit:AIM :ethernet::17.0.0.30: Tek4406 OS development. spy :GDP :ethernet::10.128.22.86: GDP vax/unix univax :GDP :ethernet::1.0.65.3: GDP vax/vms gpp1 :GDP :ethernet::1.0.65.2: GDP Engr. normd :CRL_BVR:ethernet::4.128.2.151: norms's magnolia oz|stans:CRL_BVR:ethernet::4.128.10.141: stan's magnolia patc|mordor:CRL_BVR:ethernet::4.128.10.63: pat's magnolia allenw :CRL_BVR:ethernet::4.128.11.48: allen's magnolia mayers :CRL_BVR:ethernet::4.128.11.15: mayers's magnolia pern|msm:CRL_BVR:ethernet::4.128.11.122:elerity:CRL_BVR:ethernet::4.0.0.67: CRL-4404 (John Ollis) philip :CRL_BVR:ethernet::4.0.0.68: CRL-4404 (Philip Todd) bregar :CRL_BVR:ethernet::4.0.0.69: CRL-4404 (Bill Bregar) robin :CRL_BVR:ethernet::4.0.0.70: CRL-4404 (Robin McLeod) lorien :CRL_BVR:ethernet::4.0.0.71: CRL-4404 (AI lab system) amroth :CRL_BVR:ethernet::4.0.0.72: CRL-4404 (WHO is this?) emily :CRL_BVR:ethernet::4.0.0.73: CRL-4404 (Rebecca Wirfs-brock) wontok :CRL_BVR:ethernet::4.0.0.74: CRL-4404 (Brian Phillips) jade :CRL_BVR:ethernet::4.0. mike miller's magnolia larrym :CRL_BVR:ethernet::4.128.7.189: magnolia wm :CRL_BVR:ethernet::4.128.14.64: magnolia terryl:CRL_BVR:ethernet::4.128.2.125: terry's magnolia ericg:CRL_BVR:ethernet::4.128.7.4: eric gold's magnolia allen :CRL_BVR:ethernet::4.0.0.30: CRL-4404 (allen) tinman :CRL_BVR:ethernet::4.0.0.31: CRL-4404 (Stan) pat|mordor:CRL_BVR:ethernet::4.0.0.32: CRL-4404 (Pat C) scarecrow:CRL_BVR:ethernet::4.0.0.33: CRL-4404 (Larry M) norm :CRL_BVR:ethernet::4.0.0.34: CRL-4404 (Norm D) EmmaPeel:CRL_BVR0.75: CRL-4404 (Verna Knapp) dov :CRL_BVR:ethernet::4.0.0.76: CRL-4404 (Dov Harel ) ise :CRL_BVR:ethernet::4.0.0.77: CRL-4404 (Roxie Rochat) roxie :CRL_BVR:ethernet::4.0.0.80: CRL-4404 (Brian Wilkerson) mayfly :CRL_BVR:ethernet::4.0.0.90: CRL-4404 (WHO is this??) brianw :CRL_BVR:ethernet::4.0.0.91: CRL-4404 (Brian Wilkerson Univ of Alberta) algebra :CRL_BVR:ethernet::4.0.0.95: CRL-4404 (Kamal Abdali) tekchips:CRL_BVR:ethernet::4.128.13.132:Tekchips vax-11/780 unix 4.2bsd tekcrl :CRL_BVR:ethernet::4.128.6.83:ethernet::4.0.0.35: CRL-4404 (Roger Bates) edsel :CRL_BVR:ethernet::4.0.0.36: CRL-4404 (deanl) roxie :CRL_BVR:ethernet::4.0.0.37: CRL-4404 (Roxie) jeff :CRL_BVR:ethernet::4.0.0.38: CRL-4404 (Jeff Staley) orion :CRL_BVR:ethernet::4.0.0.39: CRL-4404 (diskLess node) oopsla :CRL_BVR:ethernet::4.0.0.40: CRL-4404 (Ward C.) arrakis :CRL_BVR:ethernet::4.0.0.41: CRL-4404 (Mike Miller) karres :CRL_BVR:ethernet::4.0.0.42: CRL-4404 (Gus Helman) lab1 :CRL_BVR:ethernet::4.0.0.43: CRL-4404 (hrdware lab system) soiffer :C: TekLab's hwd system, vax/unix. tekecs :GWD :ethernet::1.0.66.0: GWD (ecs) gateway to AIM engr. crdcad :CRD :ethernet::1.0.39.0: Computer Resource Dept. vax/vms mcax1 :CRD :ethernet::1.0.36.1: Computer Resource Dept. vax/vms tekcyber:CRD :ethernet::1.0.33.1: Computer Resource Dept. Cy-burger. oink :GWD :ethernet::6.0.180.195: GWD uVax/vms 7.0.0.6: Tek4404 (AIM engr.) davee :AIM :ethernet::17.0.0.7: Tek4404 (AIM engr.) waynec :AIM :ethernet::17.0.0.8: Tek4404 (AIM engr.) rebeccaw:AIM :ethernet::17.0.0.9: Te45net.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb"private RJE server finger :0 :tcp :79 ::: Name or Finger link :0 :tcp :87 ::: any terminal link supdup :0 :tcp :95 ::: SUPDUP exec :1 :tcp :512 ::/etc/rxd: 4404-hack remote execution server login :0 :tcp :513 ::: shell :0 :tcp :514 ::: printer :0 :tcp :515 ::: efs :0 :tcp :520 ::: courier :0 :tcp :530 ::: echo :0 :udp :7 ::: Echo discard :1 :udp :9 ::/etc/udpsink: Discard tftp :1 :udp :69 ::/etc/tftpd: Trivial File Transfer Protocol biff :0 :udp :512 ::: who :0 :udp :513 ::: syslog :0 :udp :514 ::: tekname name:state:NS:INET:p0:p1:p2:p3:comment teta:1::4.0.0.31:::::Local Internet Address teta:1::1.0.0.0->4.128.13.132::::: (tekchips) gateway to net #1 (tenet) teta:1::6.0.0.0->4.128.13.132::::: (tekchips) gateway to net #6 (GWD engr.) teta:1::17.0.0.0->4.128.13.132::::: (tekchips) gateway to net #17 (AIM engr.) ernet::6.0.180.195: GWD uVax/vms 7.0.0.6: Tek4404 (AIM engr.) davee :AIM :ethernet::17.0.0.7: Tek4404 (AIM engr.) waynec :AIM :ethernet::17.0.0.8: Tek4404 (AIM engr.) rebeccaw:AIM :ethernet::17.0.0.9: Te:1 :udp :515 ::/etc/nameServer: Tektronix (utek) name server talk :1 :udp :517 ::/etc/talkd: Berkley 4.2 Talk route :0 :udp :520 ::: new-rwho:0 :udp :550 ::: rmonitor:0 :udp :560 ::: monitor :0 :udp :561 ::: rnet::4.128.2.151: norms's magnolia oz|stans:CRL_BVR:ethernet::4.128.10.141: stan's magnolia patc|mordor:CRL_BVR:ethernet::4.128.10.63: pat's magnolia allenw :CRL_BVR:ethernet::4.128.11.48: allen's magnolia mayers :CRL_BVR:ethernet::4.128.11.15: mayers's magnolia pern|msm:CRL_BVR:ethernet::4.128.11.122:  "server.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb" service.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb"service :state :protocol:port :options :cmnd :comment sink :1 :tcp :9 ::/etc/tcpsinkd:TCP blackHole for testing. systat :0 :tcp :11 ::: Who is on or SYSTAT daytime :0 :tcp :13 ::: Date and Time netstat :0 :tcp :15 ::: Who is up or NETSTAT ftp :1 :tcp :21 ::/etc/ftpd: New File Transfer Protocol telnet :1 :tcp :23 ::/etc/telnetd: telnet server smtp :0 :tcp :25 ::: SMTP time :0 :tcp :37 ::: Time server name :0 :tcp :42 ::: Name server whois :0 :tcp :43 ::: WhoIs mtp :0 :tcp :57 ::: MTP rje :0 :tcp :77 ::: any service:protocol:port:comment sink :tcp :9 : Discard systat :tcp :11 : Who is on or SYSTAT daytime :tcp :13 : Date and Time netstat :tcp :15 : Who is up or NETSTAT ftp :tcp :21 : New File Transfer Protocol telnet :tcp :23 : Telnet smtp :tcp :25 : SMTP time :tcp :37 : Time server name :tcp :42 : Name server whois :tcp :43 : WhoIs mtp :tcp :57 : MTP rje :tcp :77 : any private RJE server finger :tcp :79 : Name or Finger link :tcp :87 : any terminal link supdup :tcp :95 : SUPDUP exec :tcp :512 : remote execution server login :tcp :513 : shell :tcp :514 : printer :tcp :515 : efs :tcp :520 : courier :tcp :530 : echo :udp :7 : Echo discard :udp :9 : Discard tftp :udp :69 : Trivial File Transfer Protocol biff :udp :512 : who :udp :513 : syslog :udp :514 : tekname :udp :515 : Tektronix (utek) name server talk :udp :517 : Berkley 4.2 Talk route :udp :520 : monitor :udp :561 : test :xns :10 : FUSION 3.0 test socket server :xns :442 : FUSION 3.0 server socket time :xns :442 : FUSION 3.0 time server :udp :514 ::: tekname  m #arp.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb"2 3 ;2usage.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb"name:state:paddr:laddr:comment teta:1:[INET]4.128.13.132:[ETHER]020701000d84:(tekchips) non-ARP host. teta:1:[INET]4.128.6.83:[ETHER]020701000653:(tekcrl) non-ARP host. tcp :21 : New File Transfer Protocol telnet :tcp :23 : Telnet smtp :tcp :25 : SMTP time :tcp :37 : Time server name :tcp :42 : Name server whois :tcp :43 : WhoIs mtp :tcp :57 : MTP rje :tcp :77 : any private RJE server finger :tcp :79 : Name or Finger link :tcp :87 : any terminal link supdup :tcp :95 : SUPDUP exec :tcp :512 : remote executioname:value config:-{adp} -[lv] [devname af netnum] d systat :tcp :11 : Who is on or SYSTAT daytime :tcp :13 : Date and Time netstat :tcp :15 : Who is up or NETSTAT ftp :tcp :21 : New File Transfer Protocol telnet :tcp :23 : Telnet smtp :tcp :25 : SMTP time :tcp :37 : Time server name :tcp :42 : Name server whois :tcp :43 : WhoIs mtp :tcp :57 : MTP rje :tcp :77 : any private RJE server finger :tcp :79 : Name or Finger link :tcp :87 : any terminal link supdup :tcp :95 : SUPDUP exec :tcp :512 : remote executio   netlib/lib???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb" r noftplogin.db/etc???0 ?. ?2??B0 -^-^ b?r0 ?.?ϊ?Bb"")O NVt./.aXN^NuNV. t//.NP-@fp`././<NP#t# n3 n4H `Vve.c@&NVt-BA.Hn/.NP g. HnNX`pN^Nu@(#)s2str.c 1.3 (NRC) _getsockname2 _add_2_str _s_2_strs2str.c6J NVtH0x$9fa#fp`$. f-| n 0./</9NPJg n 4H `A./<&/9NPJg n K.HnNXJg . `V`RA./<2/9NPJg n I.HnNXJg . ``  NV$9f.aJfp`.NJf ap`./</9NP#t#.X/<$/9NP.N3./<)/9NP#$9faL <N^NuNVH -yt.a`B./NXJf0J gp`pf. /- NXJf$.fa ` a*@ fpL N^NuNVH -y$.HBBBHB-Bt.aV`>4-HBBBHBf.J gp`pf. /- NXJf$.faj ` ad*@ fpL N^NuNVaJ#.2N#g.N#fpgx gpL0xN^NuNVH .>N*@ g .N`pL N^Nu@(#)name2add.c 1.5 (NRC)machine namexna addressipa addressmachine_db ,@FL _adb_searchntz _adb_extract _str_2_xna _adb_extractԀ _str_2_ipa _nget_str$ _adb_open _name_2_addrname2add.cnV NV$9fa.#fp`. /.NX-@g`pf tN#p`pN^NuNVJg.Nt#t#N^Nu@(#)getserv.c 1.4 (NRC)serviceportprotocolservice_db"( _adb_next<BHN _adb_extractV^djpv _adb_extract_atoi _adb_extract_strcmp_strcmp@_strcmpƀ _nget_strڀ _adb_open_err n4H `t/./.NX-@g nB./</9NPJfBt/./.NX-@g R-n./<%/9NPJfp`|`Vt,./.NX-@g nB./<1/9NPJfp`<`p`6 g: g`t./<=/9NP-@g`pN^NuNVH .JN*@ g .N`pL N^Nu@(#)add2name.c 1.6 (NRC)xna addressxna addressipa addressmachine namemachine_db( _add_2_strN_strrchrflr _adb_search_strchrno _adb_close$ _gsent _gsbyname4 _gsbyport _ssent _esentgetserv.c%. NV4.HBBBHB.t//.NP-@g^ n4H `@. nHh aJXJg n `8`4. nHha,XJg n ``p` g g`pN^NuNV. N-@ fp` $. n0pN^Nu@(#)getserve.c 1.4 (NRC) _name_2_addr _nget_int _get_service _serv_2_socketgetser _adb_searchʀ_strrchr _adb_search"( _adb_extractHN _nget_str\ _adb_open _add_2_nameadd2name.c"@ NVH<*n$n$ f$|9HH.HUNX(@ gt./<HTNPJfBT`Bj9HH. g L` MHPNX&@ gt./<HSNPJfBR`.Hj0t/NP . `A.HUNXJg gA.HTNXJg$. 5B gA0.HSN XJg`fA.HUNXJgt gA.HTNXJgZ$. 5B g,A0.HSNXJg:``6 gP g`$. 4 gy gy ``L<N^Nu->?@(#)str2rte.c 1.8 (NRC)->?,_strchr>F_strncmp^v_strchr_strncmp _no_securitycpystruʀ _str_2_xna _str_2_xna _str_2_sec  _str_2_ipa: _str_2_ipaZ _str_2_sec _str_2_rtestr2rte.c& r%d%d.%d.%d.%d,%d$,_sprintf _ipa_2_stripa2str.c& NVH8*n(n f(|G`Jt .HnHUNP.gp`jfp`^*n$ RAg .gp`@tf ,f.t .HnHUNP.gp`fp` 8`t8 L8N^Nu@(#)str2ipa.c 1.6 (NRC)._strtol_strtol _str_2_ipastr2ipa.c$NV./</<8N NV$. f-| -|-n-|!t/./.NX-@gb `H-nR-nt/./.NX-@g R-n`(-nR-n`p`l g g`t. n HP/.NPJg>t. n Hh/.NPJg"t. n Hh /.NPJg . `pN^Nu@(#)str2xna.c 1.2 (NRC)000000000000 "2_strchr`_strchr _hex_extract̀ _hex_extract _hex_extract _str_2_xnastr2xna.c04cP.(/.$/. /././././. /./<8NO$.!/<8NX.8Nt.NN^Nu@(#)usage.c 1.2 (NRC)usage: %s  _prog_name __iob_fprintfD__iobJ_fprintfTZ__iob`_fprintfh__iobn_fflushx_exit _usageusage.cbpNV./</<8NP.(/.$/. /././././. /./<8NO$.8NN^Nu@(#)warn.c 1.2 (NRC)%s: NVH0*n(n f(|B4H `j. HmNX`. HmNX`pA-Ht. nHPHTNP`Pt.HmHTNP`<.HTNX`*U b@0;N L0N^Nu@(#)add2str.c 1.7 (NRC)unknown address family0 _xna_2_strD _ipa_2_strb_hex_catv_hex_cat_strcpy _add_2_stradd2str.c~f NVH0*n(n f(|Bt.HUHTNP.  _prog_name __iob_fprintfD__iobJ_fprintfT__iobZ_fflush _warnwarn.cX$NVH0*n(n ..`Rf`(HH |(HH(SlBL0N^Nu0123456789abcdef@(#)hex.c 1.2 (NRC)0 _hex_cathex.c2( NVH0*n(n ..`,HH.aT,lp`BHH.aB*lp`0$還SlJgH |0 HHHTNXt.HmHTNP.HTNXt.Hm HTNP L0N^Nu@(#)xna2str.c 1.3 (NRC)//(_hex_cat08_strcatJ_hex_catRZ_strcatl_hex_cat _xna_2_strxna2str.cJ( NVH0*n$. f-| tUf(|.`(|:4HBBBHB.-HH/-HH/-HH/-HH/HT/. NO . L0N^Nuddd.ddd.ddd.ddd,ppppp@(#)ipa2str.c 1.5 (NRC)%d.%d.%d. gp`pL0N^NuNVH. HH b^H |0pHHgHH.N 0m 9nHH0 ` am fnHHW `pLN^Nu@(#)hexextr.c 1.3 (NRC)R __chcodes __chcodes_tolower _hex_extractv _hex_valhexextr.c((NV$.=B n#dHBBBHB | 0(`T4.HBBBHBP l4.HBBBHBP | 0(`./</<NP <N^Nu3C[e '3ETds%1DUk&=Wy*Kd~@(#)errstr.c 1.2 (NRC)Error 0Not ownerNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedBad addressBlock device requiredMount device busyx _net_err_list _errstrerrstr.c& NV. /.NX.NЮN^Nu@(#)strecat.c 1.2 (NRC)_strcat_strlen _strecatstrecat.cC NVH $9g`6*|D.Jan.HUNXJg./<RNXt#L N^NuNVH.N.f./<~/<NP LN^NuNVH .N*@Jf./</<NP L N^NuunableFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken pipeArgument too largeResult too largeOperation would blockOperation now in progressOperation already in progressSocket operation on non-socketDestination address requiredMessage too longProtocol wrong type for socketProtocol not availableP to %s field '%s' in FUSION database @(#)fadbnrc.c 1.1 (NRC)3.1.0versionprogram expects FUSION database version %s numericstring (_strcmp6<_fatalFd _nget_intrx~_fatal _nget_str_fatal _check_db_versionT _fnget_int _fnget_strfadbnrc.ctdQ+NV././. NP-@f././<NP .N^NuNVH .rotocol not supportedSocket type not supportedOperation not supported on socketAddress family not supported by protocol familyAddress already in useCan't assign requested addressNetwork is downNetwork is unreachableNetwork dropped connection on resetSoftware caused connection abortConnection reset by peerNo buffer space availableSocket is already connectedSocket is not connectedCan't send after socket shutdownConnection timed outConnection refusedUnknown error number %d N*@Jf./<FNX L N^Nu@(#)fadb.c 1.1 (NRC)unable to extract field '%s' from '%s' database unable to open '%s' database  _adb_extract(._fatalL _adb_open\b_fatal _fadb_extract< _fadb_openfadb.clVLHcNVH8$9g`(|.N.HTNX&@`t./<HSHTNO *@A./<"HSHTNO t.HnHnNP. nJftHBBBHBm tHBBBHBop`pf.HT/<  $(,048<@DHLPTX\`dhlptx|Tdjp_sprintfP/<'NO $ |!(.NJfZ.Nt#L8N^NuNVH $9f`**|`Jg .Nt*XLmt#L N^NuNVH0*na(|` ./NXJf$ 0`XLm0. a`tBetBb4HBBBHB | p(` | LN^NuNVH0 n*P [ft].HUNX(@ fp`pf0<`TB-g*t.Hn$ R/NP-@ nJf$.>` $ R.a>t] Gg $ R n 0L0N^Nu@(#)str2af.c 1.3 (NRC)af_dbnamecodeillegal '%s' in '%s' databas e item '%s' code   _fnget_str* _fadb_open<F _fadb_extractXb _fadb_extractx_strtol_fatalԀ _adb_next _adb_close_free(2T`_strcmpn|_strchr&_strtol _af_db_load _af_db_unload@ _af_code _af_name _str_2_afstr2af.cQ  (08@HPX`hpx D_strcpy _af_2_straf2str.cdf$ NV-ya(././</<8NO #N^NuNV-y Pm"$9P./< HnNP`./<+HnNP..N-@g.N-@gA./<7/.NPJgd./<D/.NP-@gF ng  g  fRNVH >.*n$ f*|JGfA.N> Gfp`4HBBBHB `ZA./.NXJfp`^`Xt.Hm/.NPJfp`@`:A./.NXJfp`$`p` g g g`: L N^Nu@(#)str2add.c 1.1 (NRC)( _str_2_afR _str_2_xnap _hex_extract _str_2_ipa _str_2_addstr2add.c9 NV.N-@ fN././<NP-n$.fJl././<DNP .N^NuNV`./<NX.N# <`2.NA./<V/<NP# <N^Nu@(#)nperror.c 1.4 (NRC)%s: %s NET_ERR+%d%derrno_dberror numbererror descriptionerror number %s_errno__iob"_fprintf._errno<_errnoH_errnoP_errno^h_sprintfr_errnox_sprintf _nget_str _adb_open _adb_search܀ _adb_extract_strcpy _ad./. /.NP fN./<nNXN^NuNV./. /.NP fN./<NXN^Nu@(#)fdiddle.c 1.1 (NRC)unable to obtain kernel length of '%s': %s outrageous kernel length of %ld for '%s' unable to read kernel '%s': %s unable to write kernel '%s': %s _ldiddle_nserror*0_fatalV\_fatal|_rdiddle_nserror_fatal_wdiddleƀ_nserrorԀ_fatal _fldiddlej _frdiddleb_close"_errno(4 _adb_close@FL_sprintfV_errno\ _nperror6 _nserrornperror.c:|&NV.a<-@g0 nH |0 HHg .N` t #pN^NuNVaH-@g<./</.NPJg./</.NP` t #pN^NuNV$9xfZ. N-@g.HnNX`$t.tP/Hn/<*NO Jgp`A.N#x 9xN^Nu@(#)nget.c 1.3 (NRC)namevalueFUSION_DB _fwdiddlefdiddle.c^>NVH -|5*|`$-f-U` P gJfJ g./. NX . ` .L N^Nu   #)/@(#)af2str.c 1.1 (NRC)AF_UNSPECAF_INTRAAF_INETAF_NSAF_NBSAF_CCITTAF_SNAAF_ARPAF_1AF_2AF_XLLAF_ETHERAF_PRONETAF_IMPLINKAF_L1AF_L2AF_L3AF_L4UNKNOWNfusion_db_name __chcodes2_atoi<_errnoXb _adb_searchnt~ _adb_extract_errno_getenv_strcpy؀_rdiddle _adb_open _nget_intF _nget_strnget.cHNVt-Bt.t/Hnt//.aO fp` .N^NuNVt-Bt.t/Hnt //.avO fp` .N^NuNV-n.a|./. Hnt //.a6ON^NuNV -n.aN./. Hnt//.aON^NuNV fp`$.g nJg nJg$.ft #p`N-@ fp`r$.=Bt=Bt-BHBBBHB.t /HnNP-@ . `t=B4.HBBBHB g2 n f&-n n4HBBBHB-BA-H nt 4.HBBBHB `4.HBBBHB. n//. /.N @O !n`4 n f NVH tHBBBHB.t/HnNP*@tHBBBHB. n/t/HUN @O !n tHBBBHBrHABAHA.t//HUN @O C!I./.NX fp` n pL N^Nu@(#)getsockn.c 1.2 (NRC) __el_init>__elcl__elc __net_ioct__elc __net_ioctl _recvfromrecvfrom.c(NVt.//././. /.NON^Nu@(#)send.c 1.2 (NRC)_sendto _sendsend.c>NVH $.HBBBHB.t/HnNP*@tHBBBHB./.t/HUN @O !n Jg,$.g&tHBBBHB./.t/HUN @O !n./.NX fp` .L N^Nu@(#)sendh.c 1.2 (NRC)  __el_init>__elcp__el _getsocknamegetsockn.c> NVH tHBBBHB.t/HnNP*@tHBBBHB. n/t/HUN @O !n tHBBBHBrHABAHA.t//HUN @O C!I./.NX fp` n pL N^Nu@(#)getpeern.c 1.2 (NRC) __el_init>__elcl__elc __net_ioctl _getpeernamegetpeern.c(NVt.//././. /.NON^Nu@(#)recv.c 1.2 (NRClc __net_ioctl _sendhsendh.cKNVH $.HBBBHB.t/HnNP*@tHBBBHB./.t/HUN @O !n Jg,$.g&tHBBBHB./.t/HUN @O !n$.g0$..tHBBBHB/t/t /HUN @O!W./.NX g .`pL N^Nu@(#)sendto.c 1.4 (NRC)  __el_init>__elcp__elc__elcĀ __net_ioctl _sendtosendto.c|) _recvfrom _recvrecv.c>XNVH $.HBBBHB.t/HnNP*@-ntHBBBHBrHABAHA.t/t/HUN @O C!ItHBBBHB./.t/HUN @O !n JgnJgh n$g` n-PtHBBBHBrHABAHA.t/t/HUN @O C!ItHBBBHB./.t/HUN @O !n./.NX fp` JgJg n$g n .L N^Nu@(#)recvh.c 1.2 (NRC)  __el_initN__elcv__elc€__elc__eNVH N. fp`TtHBBBHB.t /HnNP*@tHBBBHBrHABAHA.t/t/HUN @O C!I./NX gtHBBBHB.t/HnNP*@Jgd n-PtHBBBHBrHABAHA.t//HUN @O C!IJ g&tHBBBHB./.t/HUN @O !n tHBBBHB.t/t/HUN @O !n./.NX gJg n `-y.N#pL N^Nu@(#)accept.c 1.7 (NRC)  __newsock4 __el_init\__elct __net_ioctl __el_init̀__elclc __net_ioctl _recvhrecvh.c<X NVH $.HBBBHB.t/HnNP*@-ntHBBBHBrHABAHA.t/t/HUN @O C!ItHBBBHB./.t/HUN @O !n JglJgf n$g^ n-PtHBBBHBrHABAHA.t//HUN @O C!ItHBBBHB./.t/HUN @O !n./.NX g"JgJg n$g n .`pL N^Nu@(#)recvfrom.c 1.3 (NRC)  __el_initN__elcv__elc__elc__elc __elc8 __net_ioctlZ_errnod_closel_errno _acceptaccept.c\1NVtHBBBHB.t/HnNPtHBBBHB.t/t /HnN @O t!BA./.NXN^Nu@(#)block.c 1.2 (NRC) __el_init6__elcR __net_ioctl _blockingblock.c\1NVtHBBBHB.t /HnNPtHBBBHB.t/t /HnN @O !n A./.N XN^Nu@(#)listen.c 1.2 (NRC) __el_init6__elcR __net_ioctl _listenlisten.c\1 NVtHBBBHB.t/HnNPtHBBBHB.t/t /HnN @O t!BA./.NXN^Nu@(#)nonblock.c 1.2 (NRC) __el_init6__elcR __net_ioctl _nonblockingnonblock.c\1 NVtHBBBHB.t/HnNPtHBBBHB.t/t /HnN @O !n A./.gt$.ft #p` n-PtHBBBHB./.t/HUN @O !ntHBBBHBrHABAHA.t/t/HUN @O C!I./.NX-@g`Jg n .L N^Nu@(#)getsocko.c 1.6 (NRC) __el_init<__elcb__elc_errno__elcڀ__elc __net_ioctl _getsooptgetsocko.cK NVH tHBBBHB.t/HnNP*@tHBBBHB.t/t /HUN @O !n tHBBBHB.t/t /HUN @O !nJg&NXN^Nu@(#)shutdown.c 1.2 (NRC) __el_init6__elcR __net_ioctl _shutdownshutdown.c*NVH0 nJlt #p`I`$t./.NX(@Jft #p`Jg nt "( Ҁ-A`t-B*L~`BUJ g(t ./NXt" n İgJg(t ./NXt" nİgJg(t ./NXt" nİg4g;GPRob.$ /HTNP-@m`J g:4HBtHBBBHB./.t/HUN @O !n./.NXL N^Nu@(#)setsocko.c 1.3 (NRC) __el_init<__elcb__elc__elc __net_ioctl _setsockoptsetsocko.c NVH0t.t/NX*@ g~.HUa~XJgd./.NX*gN.a(@ gB$--Bt.Ԯ/NX+@g ./-HTaP$. mB0( `.a~pL0N^NuNVJg`J oZ nJg .N nA.t//. NP W g& n"n!i nBBHBf,4-Hr ./NXtF2-H n ŰJg:4HBBBHBf,4-Hr ./NXtF2-H nŰJg:4HBBBHBf,4-Hr ./NXtF2-H nŰ$ Qm8A$g.N .L0N^Nu@(#)select.c 1.4 (NRC)_errno8_callocH_errnolmodlmodlmod. __nselectblmodlmodlmod_free _selectselect.cK NVJ fp`$.JBg <"n$)Ԯ !B p`pN^NuNVH *n g4Jg.NJg .NJg .N.NL N^NuNVH8*n$ g $g$-fp`R(m&m+m`.N. `p`*gB+L -`.HSaX(@B&L`.N. `p``~`H~ `D~ `@~ `<~ `8 g g bg tg ng fg rg`Z |0xHHg f<`6 g@ g< :gF \gN` m.N `p`4.N fp` `` g g \g``L8N^NuNVH *n$ g$fp`p.t/HnNPtHBBBHB.$. /t/HnN @O !ntHBBBHBrHABAHA.t/t/HnN @O C!ItHBBBHB.t/t /HnN @O !n n4(H-BA./.NX-@g` .N^Nu@(#)nselect.c 1.3 (NRC). __el_initP__elc__elc__elcր __net_ioctl __nselectnselect.cf NVH tHBBBHB.t /HnNP*@tHBBBHB.t/t /HUN @O !n tHBBBHB.t/t /HUN @O !nJ`(t.//NP.aV.NJgp`pL N^NuNVH $.g$$. g n g n$(g $(g$(fp` n*h~`./. NXJg NqfRff, n H |0 HHfp`P. N. n*h`.Sl$Jg./.NX @`.a @ `Nqf nmpL N^NuNVH0$.g$. g n g$.g nfp`X.a`&././.aLPJg .N `0.N.a*@ gt./. /.aP(@ fpL0N^NuNVH Jg nJg./. "hNX`./. HnNPB.K`6HH  b(H |0 HHgHH.NRf./.HnNPB.K`>HH b(H |0 HHgHH.N |fBRfB-K`A.HUNXJfp` NqffpL N^NuNVJg n!n N^NuNVH .NR.N*@ g.HUNX L N^NuNVH0*n(n ..f`l`%Sl``SlL0N^NuNV.a-@fp`t./<NX-@f.ap`Zt./<NX-@f.N.aTp`* n-ht-B`N./. NXJgp`pf-n_strcpy_calloc_calloc_free_strcmp _strcmp~_freeF_free _free _creat ̀_write ؀_close _free _free  __chcodes _strcpy _strlen _adb_open _adb_buf_set _adb_closej _adb_next _adb_rewind2 _adb_extract _adb_search _adb_eql _adb_cmp_set` _adb_updadb.c>N./.NXJf-n n-HJfR nf./. n/(/(aO -@t-B` ././.a8PJg.N-n n-ht-B`../.aLX-@ nB-H n-HJfR$.شm./.aX-@R n-HJf` n"n-H-I n$.质mt-B./.R/./.aO -@`*.N./. n/(/(aO -@.aJgt./. /.aP-@f$.f-nt-B` nB-HR$.䴮n .` .మn$.䴮l n` n./.aX-@RR` nVH tHBBBHB.t/HnNP*@tHBBBHB.t/t /HUN @O !n Jg(4.HBBBHB./.t /HUN @O !n./.NXL N^Nu@(#)pioctl.c 1.2 (NRC) __el_init<__elcj__elc __net_ioctl _pioctlpioctl.cpP8NVH0*n$-(B$. 8)n9n L0N^NuNVH *n:@;n$ +B+n L N^Nu@(#) Net Library Version: 8/27/85 @ 17:45:18 --- 3.1.7 @(#)@(#)el.c 1.4 (NRC)B-HR$.䴮m .` .మn$.䴮o n` n./.aX-@RR` nB-HR$.شo./././.a~O -@.a.N./.NX-@ g2$.././.NP.N.Np` .NpN^NuNV-nt-B-n`\ nHH `8R$.l< nt:-H`. nt\-H n"n-I` g :g`R$. m nt -H .N^NuNVH0*n(M`0H |0 HHf`g - gt R mʻg - fS L0N^NuNV. /.N _Flibversion __elc: __el_initel.cQ NVH N-@ gp`pfttHBBBHB.t/HnNP*@tHBBBHB.tP/t/HUN @O C!I./.NX gp`pft.HnNX`pL N^Nu@(#)newsock.c 1.4 (NRC)  __info_open: __el_initX__elcr __net_ioctl_open __newsocknewsock.c^8Z NV fD.NX.NЮN^Nu@(#)adb.c 1.8 (NRC)r_calloc6@_fopenl_callocʀ_free_calloc4_fcloseD_freeT_free\_free_fgetcހ_fgetcD __chcodes_fgetc_fgetc _fseek_ftell_strcmp __chcodes_atoi_strcpyd_freep_free_strncpy __chcodes$_tolower@_strncpyb __chcodes~_tolower_strcmp_strlen_malloc-@f-|%t./.NX# gt# 9N^Nu@(#)infoopen.c 1.3 (NRC)FUSIONI/dev/fusion/so000 _getenv$4_open<FP_errnoV __info_openinfoopen.cB NV n $( -B$<SԮ./. /.NPJlp`pN^Nu@(#)netioctl.c 1.1 (NRC)._write __net_ioctlnetioctl.c2 N VN-@Jg./.NX .` .N^Nu@(#)getwd.c 1.2 (NRC) _fullpath_strcpy _getwdgetwd.cFNVt./.NX-@fp` nC N^NuNVt./.NX-@fp` nC>t?!QaN^NuNV#t./<NXN^NuNV lt".-A$. -B `B$. l$.HBBB-B$. -B `$.-B$. -B $. A N^NuNV-nt".-A l$. `$ ln /NXJfb`A.HnNXJmB.HH?g2./<8NX.5/<8NXt.NaJg8 nJf0.NR.N n . n/NX`Fa`@./<W/<8NP`$U b@0;N0aD-@g f` ` gh gda-@fL.NN^NuNV y(gp`~.N-@ g, g g g ,f`` fp`(-| "fR`( \f.N-@$. n-H.N-@ g$. ` $. N^NuNV-nt".-A l .`* lt". `$. N^Nu@(#)inet.c 1.3 (NRC) _str_2_ipa: _str_2_ipalv| _ipa_2_str _inet_addr, _inet_networkd _inet_ntoa _inet_makeaddr _inet_lnaof` _inet_netofinet.c>+NV. /.NXJgp`.NJg. Np`pN^Nu@(#)rename.c 1.2 (NRC)_link "f`|$. n-H`( \f.N-@$. n-H.N-@ g( g g g ,f nBJ9fp`6-|`"./NXJf n (`P nJfp N^Nu@(#)ruserpass.c 4.2 10/10/82  @(#)ruserpas.c 1.5 (NRC)Name (%s:%s): Password (%s:%s): MACHdefaultloginpasswordnotifywriteyesynoncommandforcemachinerError - .netrc file not corre"_unlink0_unlink _renamerename.c`rht NV./. /.aP n Jg nJf./. /.a~P n JfN-@t.N n ././<NP.Nt. n /t/NPJn t.N n "P  f n `,t . n /NXJgt . n /N @XB n Jg> nJf6 n ././<NP.N.N n N^NuNVH .a*@Jf`H |0 HHf`t,.HUNX-@f` n Jf0$.ct mode. Remove password or correct mode. Unknown .netrc option %s D _getloginR_mallocfl_printft__iobz_fflush_read_exitĀ_strchrڀ_strchr_printf__iob_fflush _getpassP __chcodesp_strchr_malloc_strncpyʀ_strncmp_strlen_malloc_strcpy_malloc$ _mkpwclear@_environF_environRZ_strncmpl_strchR.N n $..HU n /NP`$..HU n /NPJg`TR.NR.N*@.HUNXt.N n n. nHH/HUNPL N^NuNVH0(y(y`Vt./</NPJfFNV^fnv _netrcname΀_fopen_errno_perror(_strcmpTZ_strlend_mallocp|_strcpy_strcmp_statЀ__iobր_fprintf__iob_fprintf_exit _strlen_malloc(4_strcpyDJP__iobV_fprintf _fclose_fgetc8V\_fgetctz_fgetc_fgetcڀ_fgetc(2:_strcmp _ruserpassruserpas.c PC*NVH nJf nB`B.HH.a *@ f.y/<8NXt.N.HU/.atPL N^NuNVH nJf nB`B.HH.a `*@ f./<8NXt.N.HU/.aPL N^NuNVH nB. /<DN` ||"|hhR m|`Lt0./.NX |\І0HH |0hHHS ||0HH |hR 0m|` ЀІЀ.$ |ER"|1HH1xHHҀ T1HHЁ"V1HHҁҀ X1HHЁ"Z1HHҀԁ0(HH*$.$ |x$"R$"T$"VR m,|`: |E0hHHS |0(HH |\0hHH ||hR m|` |"|\hhR mR m |`( |\0hHH. ||"|\hhhR m|`X`~` |0B0xR m~` |0"nx-IR l nf.D/<0aX./.NX./.NX.0/<DNX nfr .LN^NuNV nB. HnNX`h-n`R ng $f nP nBA./.aX.HnNXA./.NXJ.g$.R-B nf .N^NuNVH. /<XaX.Xa~` |"|xxR 0m./<aXt./<aX.aLN^NuNVH. /< a`X. aP~` |"|xxR 0m./<" |0hHHS |\"n(hR @mLN^NuNVJg nJfp`./<NX-@Jfp`^`,$.Z./<NXJf.N < `0.t/t//< NO g.NpN^NuNVH0*n(n .N.`$S(JlL0N^NuNVH8t.NJgt.N.HnNX`Tt.NJgt.N.HnNX`,t.NJgt.N.HnNX`p`dA.a*@ fp`P(|(G `f ./<HnNPA.HnaXG`fB <(L8N^Nu@(#)rusaXt./<aX.a~LN^NuNVH~` nB0xR Fm~`2|` t.HH nxRR mRR n Pg @mLN^NuNVH~`6.&@80( 91)! ;3+# =5-% ?7/'(08@ '/7?&.6>%- 5=$, 4<#+ 3;"* 2:!) 1991)! :2*" ;3+# <4,$?7/'>6.&=5-%      )4%/7(3-!0,1'8"5.*2$                                                   R m |B0x <LN^NuNVH~`B |0xHHS n"|$(x |0xHHS n"|@(xR m~`z`|9$HH-B|`$R |$"|$(hR m$.?9@HH-B|`$R |@"|@(hR m$.[R |0xHHºmt|`l |0hHHS |$r0./NX"|\І( |-0hHHS |@./NX"Ё(R mR mLN^NuNVH|`" |M0hHHS n"|\(hR @mt-B`$. g t-B`-n|                                                                               @(#)nbs.c 1.5 (NRC)Can't make key Can't make key $/etc/utmpr%ld06__iob<_fprintfH_exit__iob_fprintf_exit_strcpy4:L_strcatT^_strcatflr_strcpy_strcpy_strcpy_strcat4@NTn~0<Pr lmul(6LVlmuldb_next _adb_next؀ _adb_extract_strchr_gethostbyname  _adb_close BH _nget_strV _adb_open _sethostent@ _endhostentl _gethostentgethostent.c Cgethost.cgetserv.cgetserve.cqs2str.c name2add.c add2name.c +str2rte.c0str2xna.cadd2str.cxna2str.c]ilmul,<Lt|@P^n 6 < B_fopen b h_strcmp x_fclose ~ _fread _fclose ΀_strlen _isatty _ttyname _strcpy $_isatty 2_ttyname >_strcpy L_isatty Z_ttyname f_strcpy _sprintf _mkpwunclearpa2str.cmstr2ipa.cXQusage.cwarn.cFAhex.chexextr.cberrstr.c! strecat.c*5fadbnrc.c*fadb.c-wstr2af.c/str2add.c3fdiddle.c5Taf2str.c8nperror.c:nget.c>diddle.cAxnsbind.cFEtcpopen.cGGudpopen.cHipbind.cICsocketpa.cJsocket.f _mkpwclearnbs.c0z NV.N-@f./.NX .`P./.NX.NS n 0/g.'/.NX.)/.NX .N^Nu@(#)netrcnam.c 1.2 (NRC)HOME./.netrc/.netrc _getenv"_strcpy8_strcpyD_strlenXb_strcatjt_strcat _netrcnamenetrcnam.ch \? NVJfa(#fp` t#cMuflip.cORqasync.cObind.cPconnect.cQgetsockn.cRdgetpeern.cT!drecv.cUrecvh.cV)recvfrom.cX, send.cZ7sendh.cZSsendto.c\,accept.c]block.c`plisten.camnonblock.cbkshutdown.ccrselect.cdv,nselect.cggetsocko.ciMsetsocko.ckHzadb.c` .N#pN^NuNVJg.Nt#t#N^NuNVH Jfa#fp`$9f~` .N$Rm.NJgfA./</9NPJgHt|.HnNX*@ gBA.N-@$9f.NR .`pL N^NuNVH .N*@ g .N`pL N^Numachine namemachine_db (. _adb_rewind6FNT _adb_close\dx _alpioctl.c{Ael.c}<newsock.c~<kinfoopen.cOnetioctl.cgetwd.cinet.c~rename.c[ruserpas.c5 nbs.c>netrcnam.cgethostent.con _gethostent _endhostent _sethostent _netrcname _mkpwclear _mkpwunclear5 _ruserpass[_rename~ _inet_netof~ _inet_lnaof~_inet_makeaddr~ _inet_ntoa~ _inet_network~ _inet_addr_getwd __net_ioctl __info_open~< __newsock} __el_init}__elc} _Flibversion{_pioctll_adb_updl _adb_cmp_setl_adb_eqll _adb_searchl _adb_extractl _adb_rewindl _adb_nextl _adb_closel _adb_buf_setl _adb_openkH _setsockoptiM _getsooptg __nselectdv_selectcr _shutdownbk _nonblockingam_listen`p _blocking]_accept\,_sendtoZ_sendhZ7_sendX, _recvfromV)_recvhU_recvT u /adb.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"! _getpeernameR _getsocknameQ_connectP_bindO_asyncOR ___flipit__Mu_socketJ _socketpairI_ip_bindH _udp_openGG _tcp_openF _xns_bindA_wdiddleA_rdiddleA_ldiddleA_fdiddle> _nget_str> _nget_int:_nserror:_nperror8 _af_2_str5T _fwdiddle5T _frdiddle5T _fldiddle3 _str_2_add/ _str_2_af/_af_name/_af_code/ _af_db_unload/ _af_db_load-w _fadb_open-w _fadb_extract* _fnget_str* _fnget_int/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.adb.h */ /* Version 10.1 as of 85/10/27 at 12:44:35 */ #ifndef _ADB_ #define _ADB_ /* include for definition of `FILE' */ #ifndef _STD_ #include #endif typedef struct adb { FILE * ad_fp; /* fp into the d*_check_db_version*5_strecat!_errstr! _net_err_listb_hex_valb _hex_extract_hex_catF_warn_usageX _str_2_ipa _ipa_2_str _xna_2_str _add_2_str _str_2_xna _str_2_rte _add_2_name _name_2_addr _s_2_str_serv_2_socket _get_service_esent_ssent _gsbyport _gsbyname_gsent_ghname _ghbyaddr _ghbyname_gethostbyname[ NVJfa(#fp` t#ata base */ char * ad_fields; /* double null terminated field list */ char * ad_buf; /* beg of record buffer */ char * ad_bufend; /* end of record buffer */ char * ad_recend; /* end of current record */ pfi_t ad_cmp; /* optional key/value comparison function */ } adb; import adb * adb_open(), * fadb_open(); import boolean adb_upd(); import char * adb_extract(), * adb_next(), * adb_search(), * fadb_extract(); #endif _ADB_ /* * @(#)adb.h 10.1 (NRC) */ _sendX, _recvfromV)_recvhU_recvT ? 9 %/lib/include/netnetl-^ R o adbnrc.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.adbnrc.h */ /* Version 10.1 as of 85/10/27 at 12:44:37 */ #ifndef _ADBNRC_ #define _ADBNRC_ #define N_CURRENT_DB_VERSION "3.1.0" /* lists of field names used within the standard NRC 'adb' databases; * allows recompilation for NN_ADDR (27+33) #define NN_CODE NN_SHORT #define NN_COMMENT 128 #define NN_DELAY NN_LONG #define NN_FLAGS NN_CODE #define NN_GADDR (NN_NAME+2+NN_ADDR) #define NN_HOPS NN_CODE #define NN_IMAGE 80 #define NN_LFIG 6 #define NN_LONG (2*NN_SHORT) #define NN_MFIG 24 #define NN_NAME 32 #define NN_P NN_LONG #define NN_PATH 128 #define NN_RTE (27+27+33) #define NN_SHORT 10 #define NN_STATE NN_CODE #define NN_VALUE 128 /* defined to be the largest */ /* handles used in the FUSION database * the name of t different human languages, since these * names are known to the system administrator */ #ifndef N_NAME #define ENGLISH /* default is (Gringo) English */ #endif #ifdef ENGLISH /* generic names used in various files */ #define N_ADDR "addr" /* host portal address w/ security */ #define N_CMND "cmnd" /* command to use */ #define N_CODE "code" /* short numeric handle / value */ #define N_COMMENT "comment" /* non-machine processable comments */ #define N_DELAY "delay" /* time delays (in msec) */ #definehis file is defined in "nc.c" in the kernel source and * is retrieved via the info socket for user processes */ #define NF_AFDB "af_db" #define NF_ARPDB "arp_db" #define NF_BINPREFIX "bin_prefix" #define NF_CONSOLE "console" #define NF_CURTTY "cur_tty" #define NF_DEFLOGIN "default_login" #define NF_DEFTTTYPE "default_termtype" #define NF_DST_ADJUST "dst_adjustment" #define NF_ERRNODB "errno_db" #define NF_LFIGDB "lfig_db" #define NF_LIBPREFIX "lib_prefix" #define NF_M_WEST_GMT "minutes_west_gmt" #define  N_FLAGS "flags" /* general binary flags */ #define N_HOPS "hops" /* routing hops */ #define N_IMAGE "image" /* download image for intelligent boards */ #define N_LFIG "lfig" /* link layer config handle */ #define N_MFIG "mfig" /* machine config handle */ #define N_NAME "name" /* proper name */ #define N_OPTIONS "options" #define N_P0 "p0" /* long general parameter */ #define N_P1 "p1" /* " */ #define N_P2 "p2" /* " */ #define N_P3 "p3" /* " */ #define N__P0 "_p0" /* secondary long general parameNF_MACHINEDB "machine_db" #define NF_MAXNTTYS "max_nttys" #define NF_MAXSOCKETS "max_sockets" #define NF_MFIGDB "mfig_db" #define NF_MISCPREFIX "misc_prefix" #define NF_MSGDB "msg_db" #define NF_MYNAME "my_name" #define NF_NETDB "net_db" #define NF_OS "os" #define NF_SRVDB "service_db" #define NF_SERVERDB "server_db" #define NF_TTYFILE "ttys_file" #define NF_TTYNPREFIX "ttyn_prefix" #define NF_TTTYPEFILE "ttytype_file" #define NF_SRVSOCK "server_socket" #define NF_TIMESOCK "time_socket" #define NF_SPOOLSOCter */ #define N__P1 "_p1" /* " */ #define N__P2 "_p2" /* " */ #define N__P3 "_p3" /* " */ #define N_PATH "path" /* file name value */ #define N_PROTOCOL "protocol" /* protocol type, see socket.h */ #define N_PORT "port" /* port # to use (socket) */ #define N_RTE "route" /* host via route w/ security */ #define N_SERVICE "service" /* service name */ #define N_STATE "state" /* device state value */ #define N_VALUE "value" /* arbitrary value */ /* sizes of items (in chars incl. terminator) */ #defineK "spooler_socket" #define NF_TELNETPORT "telnet" #define NF_VERSION "version" /* handles used in the 'arp_db' file * the name of this file is defined in the FUSION database */ #define NARP_LADDR "laddr" #define NARP_PADDR "paddr" /* handles used in the 'net_db' file * the name of this file is defined in the FUSION database */ #define NE_EXISTS "exists" #define NNE_EXISTS NN_CODE /* handles used in the 'machine_db' file * the name of this file is defined in the FUSION database */ #define NM_SITE "site" /* site's pen-name */ /* NOTE: contains some number of AF domains; see 'af_db' */ /* handles used in the 'msg_db' * the name of this file is defined in the FUSION database */ #define NM_FMT "fmt" /* printing format string */ /* handles used in the 'net_db' file * the name of this file is defined in the FUSION database */ /* NOTE: contains some number of AF domains; see 'af_db' */ #endif ENGLISH import char * fnget_str(), * nget_str(); import void check_db_version(); #endif _ADBNRC_ /* * @(r protocol types) */ #define ARP_UNSPEC 0 /* who knows.. (defined by NRC) */ #define ARP_EN 1 /* Ethernet (defined by D.C.P.) */ #define ARP_PN 2 /* Pronet (defined by NRC) */ #define ARP_XLL 3 /* External Link Layer (defined by NRC) */ /* Opcodes */ #define ARP_REQUEST 0x1 #define ARP_REPLY 0x2 typedef struct arp_t { a16 ar_ltype; a16 ar_ptype; u8 ar_llen; u8 ar_plen; a16 ar_opcode; /* variable length addresses */ /* link layer source address (ar_llen) */ /* protocol source address (ar_plen) */ #)adbnrc.h 10.1 (NRC) */ , since these * names are known to the system administrator */ #ifndef N_NAME #define ENGLISH /* default is (Gringo) English */ #endif #ifdef ENGLISH /* generic names used in various files */ #define N_ADDR "addr" /* host portal address w/ security */ #define N_CMND "cmnd" /* command to use */ #define N_CODE "code" /* short numeric handle / value */ #define N_COMMENT "comment" /* non-machine processable comments */ #define N_DELAY "delay" /* time delays (in msec) */ #define/* link layer destination address (ar_llen) */ /* protocol destination address (ar_plen) */ } arp_t; #define LINK_SRC_ADDR(arp) (((char *)arp) + sizeof(*arp)) #define PROTO_SRC_ADDR(arp) (LINK_SRC_ADDR(arp) + (arp->ar_llen & 0xFF)) #define LINK_DEST_ADDR(arp) (PROTO_SRC_ADDR(arp) + (arp->ar_plen & 0xFF)) #define PROTO_DEST_ADDR(arp) (LINK_DEST_ADDR(arp) + (arp->ar_llen & 0xFF)) #endif _ARP_ /* * @(#)arp.h 10.1 (NRC) */ */ #define N_P3 "p3" /* " */ #define N__P0 "_p0" /* secondary long general parame u arp.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"  $.btypes.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.arp.h */ /* Version 10.1 as of 85/10/27 at 12:44:42 */ /* arp.h - Address Resolution Protocol */ #ifndef _ARP_ #define _ARP_ #ifndef _STD_ #include #endif /* Arp Link Layer Types (Not to be confused with link laye/* Copyright (C) 5/10/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h/b42ish File: ./s.btypes.h */ /* Version 1.2 as of 85/05/10 at 02:02:24 */ #ifndef _BTYPES_ #define _BTYPES_ /* Berkeley Types */ #define u_short u16 #define u_long u32 #endif _BTYPES_ /* * @(#)btypes.h 1.2 (NRC) */ be confused with link laye occdep.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"2 long /* if no 'unsigned long', use 'long' */ #ifdef NO_ULONG #define u32 long #else #define u32 unsigned long #endif #define INT_SHIFT 1 #endif INT_16 /* fast register types */ #ifdef FAST16 #define ifast i16 #define ufast u16 #else FAST16 #define ifast int #define ufast unsigned #endif FAST16 typedef union any_32 { u32 a32_u; i32 a32_i; u16 a32_ua[2]; i16 a32_ia[2]; char a32_ca[4]; } any_32; typedef union any_16 { u16 a16_u; i16 a16_i; char a16_ca[2]; } any_16; /* bit field macros, bit clear,/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.ccdep.h */ /* Version 10.1 as of 85/10/27 at 12:44:45 */ #ifndef _CCDEP_ #define _CCDEP_ /* 'register' storage class macro */ #ifdef NO_FAST #define fast /**/ #else #define fast register #endif /* structure assignment macro */ set, true, false */ #define bC1(v,f) ((v) &= ~(f)) #define bS1(v,f) ((v) |= (f)) #define bT1(v,f) ((v) & (f)) #define bF1(v,f) (((v) & (f)) == 0) #ifdef BITOPS #define bC2(v,f1,f2) (bC1(v,f1), bC1(v,f2), v) #define bC3(v,f1,f2,f3) (bC1(v,f1), bC1(v,f2), bC1(v,f3), v) #define bS2(v,f1,f2) (bS1(v,f1), bS1(v,f2), v) #define bS3(v,f1,f2,f3) (bS1(v,f1), bS1(v,f2), bS1(v,f3), v) #define bT2(v,f1,f2) (bT1(v,f1) && bT1(v,f2)) #define bT3(v,f1,f2,f3) (bT1(v,f1) && bT1(v,f2) && bT1(v,f3)) #define bF2(v,f1,f2) (bF1(v #ifdef NO_STASS #define stass(d,s) sdcp((char *)&(s), (char *)&(d), sizeof(s)) #else #define stass(d,s) ((d) = (s)) #endif /* local 'static' storage class macro */ #ifdef NO_STATIC_DATA #define static "static data NOT supported. Have fun . . ." #endif /* global 'static' storage class macro */ #ifdef NO_GLOBAL_STATIC #define local /**/ #else #define local static #endif /* for compiler's that can't deal with intra segment pointers */ #ifdef NO_PFI_STATICS #define pflocal /**/ #else #define pflocal local #,f1) && bF1(v,f2)) #define bF3(v,f1,f2,f3) (bF1(v,f1) && bF1(v,f2) && bF1(v,f3)) #else BITOPS #define bC2(v,f1,f2) bC1(v, ((f1)|(f2))) #define bC3(v,f1,f2,f3) bC1(v, ((f1)|(f2)|(f3))) #define bS2(v,f1,f2) bS1(v, ((f1)|(f2))) #define bS3(v,f1,f2,f3) bS1(v, ((f1)|(f2)|(f3))) #define bT2(v,f1,f2) (((v) & ((f1)|(f2))) == ((f1)|(f2))) #define bT3(v,f1,f2,f3) (((v) & ((f1)|(f2)|(f3))) == ((f1)|(f2)|(f3))) #define bF2(v,f1,f2) bF1(v, ((f1)|(f2))) #define bF3(v,f1,f2,f3) bF1(v, ((f1)|(f2)|(f3))) #endif BITOPS /* dendif /* for compiler's that can't deal with unsigned char's */ #ifdef NO_UCHAR #define uchar char #else #define uchar unsigned char #endif #define u8 uchar /* 'void' type macro */ #ifdef NO_VOID #define void int #endif /* primitive types for machines w/ 32-bit 'int's */ #ifdef INT_32 #define i16 short #define u16 unsigned short #define i32 int #define u32 unsigned #define INT_SHIFT 2 #endif /* primitive types for machines w/ 16-bit 'int's */ #ifdef INT_16 #define i16 int #define u16 unsigned #define i3efinitions allowing explicit precedence of 'fast' definitions */ #ifdef UNISOFTV7 /* not quite accurate due to partitioned register set */ #define fast_1 fast #define fast_2 fast #define fast_3 fast #define fast_4 fast #define fast_5 fast #define fast_6 fast #define fast_7 fast #define fast_8 fast #define fast_9 fast #define fast_10 /**/ #define fast_11 /**/ #define fast_12 /**/ #define fast_13 /**/ #define fast_14 /**/ #define fast_15 /**/ #define fast_16 /**/ #define fast_n /**/ #ifdef WICAT #undef fast_10 #define fast_10 fast #endif WICAT #endif UNISOFTV7 #ifndef fast_1 /* We all wish we had a C/70! */ #define fast_1 fast #define fast_2 fast #define fast_3 fast #define fast_4 fast #define fast_5 fast #define fast_6 fast #define fast_7 fast #define fast_8 fast #define fast_9 fast #define fast_10 fast #define fast_11 fast #define fast_12 fast #define fast_13 fast #define fast_14 fast #define fast_15 fast #define fast_16 fast #define fast_n fast #endif fast_1 #endif _CCDEP_ /* * @(#)ccdep.h 10.1 (NRC) */ /* MS_PER_TICK == how many milliseconds between clock service calls */ #define MS_PER_TICK 10 /* Tek ticks are hundreths of seconds */ /* Compiler description: the choices here are a function of word size * and brain damage. */ /* #define INT_16 /* integers are 16 bits */ #define INT_32 /* integers are 32 bits */ /* #define NO_FAST */ /* coMpiler screws up on reg varhables */ /* #define NO_GLOBAL_STATIC*//* compiler can't handle global statics */ /* #define NO_STASS*/ /* compiler can't handle structur * Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.ccdep.h */ /* Version 10.1 as of 85/10/27 at 12:44:45 */ #ifndef _CCDEP_ #define _CCDEP_ /* 'register' storage class macro */ #ifdef NO_FAST #define fast /**/ #else #define fast register #endif /* structure assignment macro */e assigns */ /* #define NO_STATIC_DATA*//* compiler can't handle static data */ /* #define NO_ULONG*/ /* compiler doesn't support unsigned longs */ /* #define NO_VOID*/ /* compiler doesn't support 'void' */ /*#define FAST16 */ /* compiler handles 'fast' 16 bitters well */ #ifndef NULL #define NULL 0 #endif #define mem_addr char * /* what a memory address looks like */ #define nil 0 /* to get the compiler off our back */ #ifndef KERNEL #define NOFILE 32 #endif #define TCP_ONLY #ifdef TCP_ONLY #ifdef KE u *config.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"RNEL #define xna_2_str() nil #undef brd_host_addr #endif #endif /* Priorities */ #define NET_PRIORITY -5 /* for networks sleeps, cf. kernal/priorities */ #define NTTY_PRIORITY -10 /* for getty sleeps on nttys */ /* Byte ordering w/i 16 and 32 values; L2R means left-to-right * is the order of increasing byte value (e.g. VAX, 808x, PDP-11); * comment out if your machine is right-to-left increasing (e.g. MC68000). */ /* #define L2R_16 */ /* 0,256 bytes w/i [iu]16 */ /* #define L2R_32 */ /* 0,256,65536,167/* Copyright (C) 9/17/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h/config File: s.tek4404.h */ /* Version 1.1 as of 85/09/17 at 03:41:28 */ #ifndef _CONFIG_ #define _CONFIG_ #define UNIX /* The OS family - UNIX, VERSADOS, VMS, MSDOS */ #define TEK4404 1 /* for machine specific code */ #include 77216 bytes w/i [iu]32 */ /*#define BUILTIN_TIMER */ /*#define IM_DEVICE */ /* intra machine only device */ /*#define UEIA_DEVICE*/ /* Unibus Interlan entry points */ /*#define UETA_DEVICE*/ /* Unibus 3com entry points */ /*#define UEDA_DEVICE*/ /* Unibus DEC deuna */ /*#define UPPA_DEVICE*/ /* Unibus Proteon token ring */ #define TETA_DEVICE /* TEK */ /* #define MULTINET*/ /* Multi-net host */ /*#define GATEWAY*/ /* Internetwork gateway */ #define ETHER_PROTOCOL /* Raw and Link Layer Ethernet access */ /*#define PLL_PROTOCOL*/ /* Process link layer protocol */ #define XNS_FAMILY /* Xerox Network System protocol family */ #define DARPA_FAMILY /* DARPA (TCP/IP) protocol family */ #define INTRA_FAMILY /* AF_INTRA intranet protocol family */ #define ARP_FAMILY /* Address Resolution Protocol */ #ifdef NEED_CONFIG_INFO #include #ifdef XNS_FAMILY #define XDG_PROTOCOL /* Xerox Datagram Protocol */ #define XEP_PROTOCOL /* Xerox Echo Protocol */ /*#define XPE_PROTOCOL*/ /* Xerox Packet Exc_MAX 2 /* default send queue max */ #define ICMP_RQ_MAX 8 /* default recv queue max */ #endif ICMP_PROTOCOL #ifdef DARPA_TELNET #define TELNET_SLOTS 1 /* default number of inbound Telnet users */ #endif DARPA_TELNET #ifdef INTRA_FAMILY #define IA_SQ_MAX 10 /* default send queue max */ #define IA_RQ_MAX 10 /* default recv queue max */ #endif INTRA_FAMILY #ifdef ETHER_PROTOCOL #define EN_RQ_MAX 10 /* default recv queue max, send unlimited */ #endif #define SOCK_PREFIX "/dev/fusion/so" /* string prefixing hange protocol */ #define XSP_PROTOCOL /* Xerox Sequenced Packet protocol */ /*#define RIP_PROTOCOL*/ /* Xerox Router Information Protocol */ /*#define X_F_VTP /* Xerox-based Virtual Terminal Protocol */ #endif #ifdef XDG_PROTOCOL #define XDG_SQ_MAX 4 /* default send queue max */ #define XDG_RQ_MAX 4 /* default recv queue max */ #endif #ifdef XPE_PROTOCOL #define XPE_SQ_MAX 1 /* default send queue max */ #define XPE_RQ_MAX 1 /* default recv queue max */ #endif #ifdef XSP_PROTOCOL #define XSP_SQ_MAX 4 /socket names */ #define TRAILING_DIGITS 3 /* how many digits after prefix */ #define MAX_SOCKETS 20 /* how many sockets to allocate */ #define FUSION_DB_NAME "/etc/fusion.db" /* standard Fusion indirection db */ #define MAX_BACKLOG 5 /* allowed listening backlog */ #define NET_TICK 1000 /* milliseconds between net clocks */ #define STATIC_HEAP /* heap is compiled in */ #define HEAP_SIZE 75000 /* see the machine specfic h files */ #endif NEED_CONFIG_INFO #endif _CONFIG_ /* * @(#)tek4404.h 1.1 (NRC)* default send queue max */ #define XSP_RQ_MAX 4 /* default recv queue max */ #define XSP_TRY_MAX 6 /* number of retries before giving up */ #endif #ifdef X_F_VTP #define MAX_NTTYS 5 /* default number of network ttys */ #define NTTY_BUFSIZE 20 /* default ntty buffer size */ #endif X_F_VTP #ifdef DARPA_FAMILY #define IP_PROTOCOL /* DARPA Internet Protocol */ #define TCP_PROTOCOL /* DARPA Transmission Control Protocol */ #define UDP_PROTOCOL /* DARPA User Datagram Protocol */ #define ICMP_PROTOCOL /* DAR */ #define xna_2_str() nil #undef brd_host_addr #endif #endif /* Priorities */ #define NET_PRIORITY -5 /* for networks sleeps, cf. kernal/priorities */ #define NTTY_PRIORITY -10 /* for getty sleeps on nttys */ /* Byte ordering w/i 16 and 32 values; L2R means left-to-right * is the order of increasing byte value (e.g. VAX, 808x, PDP-11); * comment out if your machine is right-to-left increasing (e.g. MC68000). */ /* #define L2R_16 */ /* 0,256 bytes w/i [iu]16 */ /* #define L2R_32 */ /* 0,256,65536,167PA Internet Control Message Protocol */ #define DARPA_TELNET /* DARPA Telnet virtual terminal protocol */ #endif DARPA_FAMILY #ifdef UDP_PROTOCOL #define UDP_SQ_MAX 2 /* default send queue max */ #define UDP_RQ_MAX 8 /* default recv queue max */ #endif UDP_PROTOCOL #ifdef TCP_PROTOCOL #define TCP_SQ_MAX 2 /* default send queue max */ #define TCP_RQ_MAX 2048 /* default recv queue max */ #define TCP_TRY_MAX 6 /* number of retries before giving up */ #endif TCP_PROTOCOL #ifdef ICMP_PROTOCOL #define ICMP_SQ  ocourier.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.courier.h */ /* Version 10.1 as of 85/10/27 at 12:44:48 */ #ifndef _COURIER_ #define _COURIER_ /* courier types and definitions */ #define BRIDGE_PROGRAM 3 #define BRIDGE_VERSION 2 #ifdef boolean #undef boolean #endif boolean  u darpa.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh" #define boolean a16 /* values 0..1 */ #define cardinal a16 /* values 0..65535 */ #define longcardinal a32 /* values 0..4294967295 */ #define integer a16 /* values -32768..32767 */ #define longinteger a32 /* values -2147483648..2147483647 */ #define unspecified a16 /* values 0..65535 */ typedef struct version_t { cardinal lowest; cardinal highest; } version; typedef struct string_t { cardinal length; /* number of bytes */ char bytes[2]; /* variable size */ } string; /* defines for procedure fiel/* Copyright (C) 11/24/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: ./s.darpa.h */ /* Version 10.2 as of 85/11/24 at 04:58:41 */ @#$%*()_+ Andre: This file is now obsolete and should not be included by any source. The definitions IP_IP, IP_ICMP, IP_TCP and IP_UDP can be found in . @#$%*()_+ /d */ #define CREATE 2 #define DELETE 3 #define SET_PARAM 9 #define READ_PARAM 10 #define SET_READ_PARAM 11 typedef struct call_t { a16 choice; unspecified transaction_id; longcardinal programNumber; cardinal versionNumber; cardinal procValue; } CallMessageBody; typedef struct reject_t { a16 choice; unspecified transaction_id; struct { cardinal rd_choice; cardinal ImplementedVersionNumbers; } rejectionDetails; } RejectMessageBody; typedef struct return_t { a16 choice; unspecified tra* * @(#)darpa.h 10.2 (NRC) */ 0..1 */ #define cardinal a16 /* values 0..65535 */ #define longcardinal a32 /* values 0..4294967295 */ #define integer a16 /* values -32768..32767 */ #define longinteger a32 /* values -2147483648..2147483647 */ #define unspecified a16 /* values 0..65535 */ typedef struct version_t { cardinal lowest; cardinal highest; } version; typedef struct string_t { cardinal length; /* number of bytes */ char bytes[2]; /* variable size */ } string; /* defines for procedure fielnsaction_id; unspecified procResults[20]; } ReturnMessageBody; typedef struct abort_t { a16 choice; unspecified transaction_id; cardinal errorValue; } AbortMessageBody; /* Choices */ #define CALLV 0 #define REJECTV 1 #define RETURNV 2 #define ABORTV 3 typedef union message_t { a16 mu_choice; CallMessageBody mu_call; RejectMessageBody mu_reject; ReturnMessageBody mu_return; AbortMessageBody mu_abort; } Message; #endif _COURIER_ /* * @(#)courier.h 10.1 (NRC) */ R_32 */ /* 0,256,65536,167 odebug.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.debug.h */ /* Version 10.1 as of 85/10/27 at 12:44:52 */ #ifndef _DEBUG_ #define _DEBUG_ #ifdef DEBUG #ifdef KERNEL #define _p0(m,c,f) if(c) {os_printf("m: "); os_printf(f);} else #define _p1(m,c,f,z) if(c) {os_printf("m: "); o) if (!(c)) {printf(m); exit(BAD_EXIT);} else #define verify(c,f,act) if (!(c)) {printf(f); act;} else #endif KERNEL #else SKEPTIC #define assert(c,m) #define verify(c,f,act) #endif SKEPTIC #endif _DEBUG_ /* * @(#)debug.h 10.1 (NRC) */ A_DEVICE*/ /* Unibus DEC deuna */ /*#define UPPA_DEVICE*/ /* Unibus Proteon token ring */ #define TETA_DEVICE /* TEK */ /* #define MULTINET*/ /* Multi-net host */ /*#define GATEWAY*/ /* Internetwork gateway */ #define ETHER_PROTOCOL /* Raw and Link Layer Ethernet as_printf(f,z);} else #define _p2(m,c,f,z,y) if(c) {os_printf("m: "); os_printf(f,z,y);} else #define _p3(m,c,f,z,y,x) if(c) {os_printf("m: "); os_printf(f,z,y,x);} else #define _p4(m,c,f,z,y,x,w) if(c) {os_printf("m: "); os_printf(f,z,y,x,w);} else #else #define _p0(m,c,f) if(c) {printf("m: "); printf(f);} else #define _p1(m,c,f,z) if(c) {printf("m: "); printf(f,z);} else #define _p2(m,c,f,z,y) if(c) {printf("m: "); printf(f,z,y);} else #define _p3(m,c,f,z,y,x) if(c) {printf("m: "); printf(f,z,y,x);} else #  u -diddle.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"define _p4(m,c,f,z,y,x,w) if(c) {printf("m: "); printf(f,z,y,x,w);} else #endif KERNEL #define debug0(c,f) _p0(debug,(c),(f)) #define debug1(c,f,z) _p1(debug,(c),(f),(z)) #define debug2(c,f,z,y) _p2(debug,(c),(f),(z),(y)) #define debug3(c,f,z,y,x) _p3(debug,(c),(f),(z),(y),(x)) #define debug4(c,f,z,y,x,w) _p4(debug,(c),(f),(z),(y),(x),(w)) #define trace0(c,f) _p0(trace,(c),(f)) #define trace1(c,f,z) _p1(trace,(c),(f),(z)) #define trace2(c,f,z,y) _p2(trace,(c),(f),(z),(y)) #define trace3(c,f,z,y,x) _p3(trace/* Copyright (C) 11/20/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: ./s.diddle.h */ /* Version 10.2 as of 85/11/20 at 09:42:48 */ #ifndef _DIDDLE_ #define _DIDDLE_ #ifndef _STD_ #include #endif #ifdef KERNEL /* diddle structure for peek/poke access (see ncdid.c) */ typedef struct did { char *,(c),(f),(z),(y),(x)) #define trace4(c,f,z,y,x,w) _p4(trace,(c),(f),(z),(y),(x),(w)) #else DEBUG #define debug0(c,f) #define debug1(c,f,z) #define debug2(c,f,z,y) #define debug3(c,f,z,y,x) #define debug4(c,f,z,y,x,w) #define trace0(c,f) #define trace1(c,f,z) #define trace2(c,f,z,y) #define trace3(c,f,z,y,x) #define trace4(c,f,z,y,x,w) #endif DEBUG #ifdef SKEPTIC #ifdef KERNEL #define assert(c,m) if (!(c)) os_panic(m); else #define verify(c,f,act) if (!(c)) {os_printf(f); act;} else #else #define assert(c,m did_name; char * did_addr; u32 did_len; pfi_t did_pfi; char * did_ppad1; u32 did_flags; } did; /* flag values for didp->did_flags */ #define F_D_WRITE 0x1 /* allows write access */ #define F_D_RPRIVILEGED 0x2 /* privileged user read access only */ #define F_D_WPRIVILEGED 0x4 /* privileged user write access only */ #define F_D_SHARED 0x6 /* shared with intelligent nodes */ #define F_D_PREINIT 0x10 /* can only be written before init */ #else KERNEL import int ldiddle(); import void frdiddle(), fwdiddle(); #endif KERNEL /* type information */ #define F_D_BOOLEAN 0x100 #define F_D_I16 0x200 #define F_D_I32 0x400 #define F_D_U16 0x800 #define F_D_U32 0x1000 #define F_D_STRING 0x2000 #define F_D_OTHER 0x4000 /* diddle function return values */ #define DID_DO_DEFAULT -1 /* positive values are reserved to */ #define DID_DONE 0 /* err values */ #endif _DIDDLE_ /* * @(#)diddle.h 10.2 (NRC) */ f),(z)) #define trace2(c,f,z,y) _p2(trace,(c),(f),(z),(y)) #define trace3(c,f,z,y,x) _p3(traceA_DEVICE /* Multibus Ethernet Interlan NI3010A controller specifics */ typedef struct meia { char meia_ie_reg; /* copy of interrupt enable register setting */ char meia_c_reg; /* copy of last issued command */ u16 meia_pad1; struct m * meia_mp; /* where packet was dma_ed into the heap */ struct en * meia_dma_enp; /* for devices with bus/board byte flips */ } meia; #else #define meia i32 #endif #ifdef MEIB_DEVICE /* Multibus Ethernet Interlan NI3210 controller specifics */ typedef struct meib { structl  mu dsu.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh" dma_t * mu_dma_queue; struct dma_t * mu_dma_free_queue; struct cmd_t * mu_cmd_queue; struct cmd_t * mu_cmd_free_queue; int mu_rcvdmabuf; /* next buffer to dma from */ int mu_rcviobuf; /* buffer we expect to receive next */ u16 mu_status; /* driver state */ u16 mu_pad1; } meib; #else #define meib i32 #endif #ifdef META_DEVICE /* Multibus Ethernet 3Com 3C400 controller specifics */ typedef struct meta { i16 meta_retries; u16 meta_csr; } meta; #else #define meta i32 #endif #ifdef QEVA_DEVICE /*/* Copyright (C) 10/29/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: ./s.dsu.h */ /* Version 10.4 as of 85/10/29 at 08:47:23 */ #ifndef _DSU_ #define _DSU_ #ifndef _STD_ #include #endif /* Network device specific structures and their unions */ #ifdef I586_DEVICE /* Intel 82586 controller specif Q-bus Ethernet VMS controller specifics */ /* NOTE! - Looks exactly like UEVA_DEVICE */ /* This device definition must preceed the UEVA_DEVICE definition */ #ifndef _VMS_DEVICE #define _VMS_DEVICE #endif #endif #ifdef PEIA_DEVICE /* PCbus Ethernet Interlan NI5010 controller specifics */ typedef struct peia { u16 peia_offset; /* starting offset of current send */ u16 peia_pad1; } peia; #else #define peia i32 #endif #ifdef PETA_DEVICE /* PCbus Ethernet 3Com IE controller specifics */ typedef struct peta ics (for intelligent boards) */ #ifndef _I586REG_ #include #endif typedef struct i586 { fd_rbd * i586_frdp; fd_rbd * i586_lastp; fd_rbd * i586_fillp; fd_rbd * i586_curp; scb i586_scb; itcb i586_tcb; } i586; #else #define i586 i32 #endif #ifdef XEEA_DEVICE /* Specifics for Excelan EXOS Ethernet controller series */ typedef struct xeea { u16 xeea_mlbx; /* Excelan type mailbox */ i16 xeea_post_cnt; /* number of receive buffers available */ } xeea; #else #define xeea i32 #endif #ifdef MEI{ u16 peta_offset; /* starting offset of current send */ char peta_rmode; /* recv mode */ char peta_pad1; } peta; #else #define peta i32 #endif #ifdef PPPA_DEVICE typedef struct pppa { boolean pppa_first_dma; struct m * pppa_rcv_mp; } pppa; #else #define pppa i32 #endif #ifdef UEDA_DEVICE /* Unibus Ethernet DEC controller specifics */ typedef struct ueda { struct ring_d * ueda_rrdp; /* base of recv ring desc. */ struct ring_d * ueda_c_rrdp; /* current recv ring desc. */ struct ring_d * ueda_e_rrdp; /* end of recv ring desc. */ struct ring_d * ueda_trdp; /* base of trans ring desc. */ struct ring_d * ueda_c_trdp; /* current trans ring desc. */ struct ring_d * ueda_e_trdp; /* end of trans ring desc. */ struct pcb * ueda_pcbp; /* ptr to port command block */ char * ueda_ppad1; u16 ueda_flags; u16 ueda_pad1; } ueda; #else #define ueda i32 #endif #ifdef UEIA_DEVICE /* Unibus Ethernet Interlan NI1010A controller specifics */ typedef struct ueia { struct m * ueia_mp; /* where packet was so_t * pd_sop; /* backptr. to process socket */ char * pd_ppad1; } pll_d; #else #define pll_d i32 #endif #ifdef MPPA_DEVICE #define PROTEON #endif #ifdef UPPA_DEVICE #define PROTEON #endif #ifdef PROTEON typedef struct proteon { struct m * pp_mp; struct tcb * pp_tcbp; } proteon; #else #define proteon i32 #endif /* network device specific union */ typedef union { i586 i586_u; meia meia_u; meib meib_u; meta meta_u; peia peia_u; peta peta_u; pppa pppa_u; ueda ueda_u; ueia ueia_u; ueta dma_ed into the heap */ char * ueia_ppad1; u16 ueia_flags; u16 ueia_sr; /* value from reading status register */ char ueia_cr; /* copy of last issued command */ char ueia_pad1[3]; } ueia; #else #define ueia i32 #endif #ifdef UETA_DEVICE /* Unibus Ethernet 3Com 3C300 controller specifics */ typedef struct ueta { u16 ueta_rcsr; /* for writing receive csr */ u16 ueta_tcsr; /* for writing transmit csr */ char * ueta_buf; /* board buffer address */ char * ueta_ppad1; i16 ueta_retries; /* transmissi ueta_u; xeea xeea_u; pll_d pll_u; proteon pp_u; } dsu; #endif _DSU_ /* * @(#)dsu.h 10.4 (NRC) */ d_free_queue; int mu_rcvdmabuf; /* next buffer to dma from */ int mu_rcviobuf; /* buffer we expect to receive next */ u16 mu_status; /* driver state */ u16 mu_pad1; } meib; #else #define meib i32 #endif #ifdef META_DEVICE /* Multibus Ethernet 3Com 3C400 controller specifics */ typedef struct meta { i16 meta_retries; u16 meta_csr; } meta; #else #define meta i32 #endif #ifdef QEVA_DEVICE /*on retries */ i16 ueta_pad1; } ueta; #else #define ueta i32 #endif #ifdef UEVA_DEVICE /* Unibus Ethernet VMS controller specifics */ /* NOTE! - must follow definition for QEVA_DEVICE! */ #ifndef _VMS_DEVICE #define _VMS_DEVICE #endif #endif UEVA_DEVICE #ifdef _VMS_DEVICE /* ********* ANY CHANGES IN THIS STRUCTURE *********** */ /* ********* MUST ALSO BE MADE TO DSU DEFINITION IN UEVAMAR.MAR *********** */ typedef struct ueva { a32 ueva_ucb0; /* address of prototype UCB to clone s tu enet.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"*/ a32 ueva_ffi; /* head of fast interface block list */ u16 ueva_flags; /* flags */ #define UEVA_RUN 1 u16 ueva_mlen; /* length of the m struct */ struct m * ueva_rmp; /* available receive message */ struct m * ueva_tmp; /* current transmit message */ char * ueva_tcxb; /* pointer to transmit CXB */ char ueva_devnam[4]; /* device name build area */ a48 * ueva_phap; /* physical address pointer */ } ueva; #else #define ueva i32 #endif _VMS_DEVICE #ifdef PLL_DEVICE typedef struct pll_d { struct/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.enet.h */ /* Version 10.1 as of 85/10/27 at 12:45:00 */ #ifndef _ENET_ #define _ENET_ #ifndef _STD_ #include #endif #define ENET_RAW 0 /* protocol handle */ #define EN_MAX_DATA 1500 #define EN_MIN_DATA 46 #define EN_MIN_PACKET (EN_MIN_DATA + EN_HDR_SIZE) #define EN_MAX_PACKET (EN_MAX_DATA + EN_HDR_SIZE) #define EN_HDR_SIZE 14 #define EN_JAM_MAX 16 #define EN_BACKOFF_MAX 10 /* maximum backoff exponent */ typedef struct { a48 enh_dest; a48 enh_source; a16 enh_type; } enh; typedef struct en { a48 en_dest; a48 en_source; a16 en_type; char en_data[EN_MAX_DATA]; char en_checksum[4]; } en_t; /* Defined Ethernet types */ #define EN_XNS 03000 /* XNS Packet */ #define EN_IP 04000 /* Darpa Internet Protocol Packeg fields */ #define F_BLOCKING MSG_BLOCKING /* transaction can block */ #define F_NONBLOCKING MSG_NONBLOCKING /* transaction cannot block */ #define F_FDBROADCAST MSG_FDBROADCAST /* want full duplex broadcasts */ /* blocking / status is a tri-state thing: F_BLOCKING means we want a status back and are willing and able to sleep; F_NONBLOCKING means we want a status back immediately without sleeping; neither of these means we don't care to see a status back, allowing queueing of processing at apt */ #define EN_ARP 04006 /* Address Resolution Protocol Packet */ #endif _ENET_ /* * @(#)enet.h 10.1 (NRC) */ PPA_DEVICE #define PROTEON #endif #ifdef UPPA_DEVICE #define PROTEON #endif #ifdef PROTEON typedef struct proteon { struct m * pp_mp; struct tcb * pp_tcbp; } proteon; #else #define proteon i32 #endif /* network device specific union */ typedef union { i586 i586_u; meia meia_u; meib meib_u; meta meta_u; peia peia_u; peta peta_u; pppa pppa_u; ueda ueda_u; ueia ueia_u; uetapropriate places. */ #define F_BS_MASK (F_BLOCKING|F_NONBLOCKING) #define F_COMM_MASK (F_BS_MASK | F_FDBROADCAST) #define give_bs(f) ((f)&F_BS_MASK) #define no_bs(f) bC2((f),F_BLOCKING,F_NONBLOCKING) #define F_NOBS 0 /* for clarity */ #define can_block(flags) bT1((flags),F_BLOCKING) #define cant_block(flags) bF1((flags),F_BLOCKING) #define want_status(flags) (!bF2((flags),F_BLOCKING,F_NONBLOCKING)) #endif _FLAGS_ /* * @(#)flags.h 10.1 (NRC) */ ta_u; pppa pppa_u; ueda ueda_u; ueia ueia_u; ueta u flags.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh" z  {u #flip.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.flags.h */ /* Version 10.1 as of 85/10/27 at 12:45:02 */ #ifndef _FLAGS_ #define _FLAGS_ /* Definitions and Macros for dealing with common flags */ #ifndef _STD_ #include #endif /* flags reserved in all common fla/* Copyright (C) 11/21/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: s.flip.h */ /* Version 10.2 as of 85/11/21 at 03:42:28 */ /* Macros to do various flips */ #ifndef _FLIP_ #define _FLIP_ #ifndef _STD_ #include #endif #ifdef L2R_16 /* flips a byte pattern of 0102 to 0201 */ import u16 _flip16(); /* should be sed scripted */ #define _FLIP16(C) (u16)((((C)>>8)&0xFF)|(((C)<<8)&0xFF00)) #else /* flips a byte pattern of 0102 to 0102 (cast only) */ #define _flip16(u) (u16)(u) #define _FLIP16(C) (u16)(C) #endif L2R_16 #ifdef L2R_32 /* flips a byte pattern of 01020304 to 04030201 */ import u32 _flip32(); /* should be sed scripted */ #ifdef NO_32_SHIFT #define _FLIP32(C) _flip32((u32)(C)) /* no macro */ #else #define _FLIP32(C) (u32)((((C)>>24)&0xFF)|(((C)>>8)&0xFF00)|(((C)<<8)&0xFF0000)|(((C)<<24# c #u fr.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh")&0xFF000000)) #endif NO_32_SHIFT #else L2R_32 #ifdef R2L_32 /* flips a byte pattern of 01020304 to 02010403 */ import u32 _flip32(); /* should be sed scripted */ #ifdef NO_32_SHIFT #define _FLIP32(C) _flip32((u32)(C)) /* no macro */ #else #define _FLIP32(C) (u32)((((C)>>8)&0xFF0000L)|(((C)>>8)&0xFFL)|(((C)<<8)&0xFF000000L)|(((C)<<8)&0xFF00L)) #endif NO_32_SHIFT #else R2L_32 /* flips a byte pattern of 01020304 to 01020304 (cast only) */ #define _flip32(u) (u32)(u) #define _FLIP32(C) (u32)(C) #endif R2L_3/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.fr.h */ /* Version 10.1 as of 85/10/27 at 12:45:07 */ /* FUSION router structures (see also 'netdev' structure in "netdev.h") */ #ifndef _FR_ #define _FR_ #ifndef _STD_ #include #endif #ifndef _SOCKET_ #include #endif #ifndef _Q_ #include #endif /* Router union is defined conditionally on the manifest 'FR_PROCESS', * which indicates that a FUSION router process is present; this process * will contain all information which is not used by 'fr_route' to target * link-layers on outbound data (such information as time-to-live, origin * of information, etc.); in the case that the router is within the kernel, * all this information is in the router union. */ #ifndef FR_PROCESS typedef strucop, C) (*(u16 *)(a).a2 op _FLIP16(C)) /* a16 op u16 */ #define A32U(a, op, u) (*(u32 *)(a).a4 op _flip32((u32)(u))) /* a32 op u32 */ #define A32C(a, op, C) (*(u32 *)(a).a4 op _FLIP32(C)) /* a32 op u32 */ /* flip an int */ #ifdef INT_16 #define _flipint(u) _flip16(u) #endif #ifdef INT_32 #define _flipint(u) _flip32(u) #endif #endif _FLIP_ /* * @(#)flip.h 10.2 (NRC) */ ad1; } peia; #else #define peia i32 #endif #ifdef PETA_DEVICE /* PCbus Ethernet 3Com IE controller specifics */ typedef struct peta t fru { u16 ru_uflags; /* see below */ u16 ru_ttl; /* time to live */ u32 ru_era; /* router entry age */ } fru; /* values of 'ru_uflags' */ /* NONE YET! */ #endif FR_PROCESS /* Union of 'netdev' pointer and a 'u32' index (for use below) */ typedef union ndpu { struct netdev * dpu_p; u32 dpu_i; } ndpu; /* Union of 'frent' pointer and a 'u32' index (for use below) */ typedef union frpu { struct frent * rpu_p; u32 rpu_i; } frpu; /* Router entry within the kernel; pointers are defined as unions of * the pointer (for use within the kernel), and an integer (for offsets * outside the kernel). Because of this dual indexing, all entries * are required to be (at least for the purposes of a router process) * in a contiguous array; this abstraction is supported by the ioctl's * which interface to such a process. There are two linkages through * this table (outside of the router union): linkage by network device * (head is in 'netdev' with a backpointer herein) and by address type * (head is in 'r recently */ #define F_R_DIRECTLY_CONNECTED 0x0010 /* Sicilian ancestry */ #define F_R_ROUTER 0x0020 /* 'ask and ye shall receive ...' */ #define F_R_DUMMY 0x0040 /* placeholder for process interface */ #define F_R_CHECKSUM 0x0080 /* route requires checksums, possibly noisy */ #define F_R_PERMANENT (F_R_DIRECTLY_CONNECTED | F_R_DUMMY | F_R_HARD_WIRED) #define F_R_EXT_FLAGS (F_R_HARD_WIRED) /* outside allowances */ /* limits of 're_rate' */ #define RE_FASTEST 1 /* fastest (no delays) */ #define RE_SLOWEST 81e_ah' with implicit backpointer via address type). * A dummy entry is preallocated at the head of each linkage to allow * a process to do all manipulations of the list within the router * entry table; thus, no special logic is required to manipulate * pointers within structures outside of the router entry table. * For this external interface, the 'netdev' table is also viewed * as an array. */ typedef struct frent { u16 re_flags; /* see below */ u16 re_hops; /* hops to get there */ u16 re_rate; /*92 /* slowest (max delays) */ /* Router table scanning definitions; these allow protocols to perform * fancier things such as limited broadcast, multicast, etc. without * having to know all the nitty-gritty. */ typedef struct frsb { /* scan control structure */ u8 rsb_mode; /* see below */ u8 rsb_how; /* see below */ u16 rsb_pad1; u16 rsb_mask; /* scan mask */ u16 rsb_flags; /* masked flag match criterion */ frent * rsb_re; /* currency on list */ char * rsb_ppad1; } frsb; /* scanning modes */ #de output rate governor */ u16 re_maxpkt; /* maximum packet size */ u32 re_delay; /* estimated round trip in msec */ ndpu re_ndpU; /* device to use */ frpu re_ndcU; /* chain by (same) network device */ frpu re_nacU; /* chain by (same) address type */ rte re_rte; /* route key (see above) */ #ifndef FR_PROCESS fru re_ru; /* router union */ #endif FR_PROCESS } frent; /* manifest abbreviations */ #define re_net re_rte.rte_net #define re_gwy re_rte.rte_gwy #define re_secure re_rte.rte_secure #define re_nfine RS_BY_ADDRESS 1 /* scan by address family */ #define RS_BY_DEVICE 2 /* scan by device */ /* scanning protection ('how's) */ #define RS_EXCL 1 /* scan w/ exclusive (r/w) use */ #define RS_SAFE 2 /* scan w/ safe (r/o) use */ /* Router error block; handles errors generated on abortive attempts to * modify the router tables in an unnatural way (if FR_SANITY is defined). * In the case of FR_PROCESS, the 'ioctl' will return 'EINVAL' * whereupon the values may be 'rdiddle'd via the structure * 'fr_errblkdp re_ndpU.dpu_p #define re_ndi re_ndpU.dpu_i #define re_ndcp re_ndcU.rpu_p #define re_ndci re_ndcU.rpu_i #define re_nacp re_nacU.rpu_p #define re_naci re_nacU.rpu_i #ifndef FR_PROCESS #define re_uflags re_ru.ru_uflags #define re_era re_ru.ru_era #define re_ttl re_ru.ru_ttl #endif FR_PROCESS /* values of 're_flags' */ #define F_R_IN_USE 0x0001 /* non-empty one */ #define F_R_DELETED 0x0002 /* on its way out */ #define F_R_VALID 0x0004 /* entry is valid for 'fr_send' */ #define F_R_REFED 0x0008 /* referenced'. In the absence of FR_PROCESS, this structure is * directly accessible within the kernel. */ typedef struct frerrb { u16 rerr_type; /* error type (see below) */ u16 rerr_pad1; u32 rerr_arg[2]; /* error argument(s) */ } frerrb; /* Error block type values along with contents of argument locations; * error type and arguments are found in 'fr_errblk'; argument content codes * given in parentheses are: * af# -- address family #, * nd# -- network device #, * re# -- router table entry #. */ #define FE_AFDUMMY 1 /* (af#): no dummy entry for AF */ #define FE_AFFREE 2 /* (af#,re#): free entry in AF chain */ #define FE_AFAF 3 /* (af#,re#): bad AF in AF chain */ #define FE_AFLIST 4 /* (af#): corrupt AF chain */ #define FE_AFUNREACH 5 /* (re#): entry unreachable by AF */ #define FE_DEVDUMMY 6 /* (nd#): no dummy entry for dev */ #define FE_DEVFREE 7 /* (nd#,re#): free entry in dev chain */ #define FE_DEVDEV 8 /* (nd#,re#): bad dev # in dev chain */ #define FE_DEVLIST 9 /* (nd#): corrupt dev chain */ #definr * lah_ppad1; } llafh; /* Queued packet processing structure */ typedef struct qtb { /* queue type block */ mq qtb_mq; /* head of queued functions */ u16 qtb_ins; /* count of active parties herein */ u16 qtb_waits; /* count of sleepers */ } qtb; import afh * ahp_tbl[]; import qtb fr_eqtb, fr_sqtb; import int fr_in(), fr_multi(), fr_unsafe(); import st fr_qin(), fr_o(), fr_r(), fr_s(); #define fr_excl(f) fr_in((f),&fr_eqtb) #define fr_qexcl(f,m) fr_qin(f,m,&fr_eqtb) #define fr_qsafe(f,m) fr_qin(f,m,&fe FE_DEVUNREACH 10 /* (re#): entry unreachable by dev */ /* Structure mapping link-layer packet type to/from address family */ typedef struct aftmap { u32 tm_type; /* packet's type */ u16 tm_af; /* address family */ i16 tm_arp_needed; /* ARP needed for this AF on this LLAF */ } aftmap; /* Structure of headers for address family (see 'ahp_tbl' in "ncaf.c") */ typedef struct afh { /* NOTE: indexed by address family */ i16 ah_valid; /* good and usable one */ u16 ah_alen; /* length of these addresses */r_sqtb) #define fr_safe(f) fr_in((f),&fr_sqtb) /* dispatch message along a predefined route (MUST be in safe context) */ #define fr_out(m) fr_o(m,ahp_tbl[(u16)(m)->m_dest.a_type]) /* route message according to routing tables */ #define fr_route(m) fr_qsafe((st)fr_r,m) /* dispatch message to a predefined device */ #define fr_send(m) fr_s(m,ahp_tbl[(u16)(m)->m_dest.a_type]) #ifdef RINADS /* Router initial installation structure; allows devices to be initialized * with addresses and network number from patch pfi_t ah_init; /* initialize address family */ st ah_up; /* inbound packet processor */ pfb_t ah_hmatch; /* net host address matching function */ pfb_t ah_nmatch; /* net address matching function */ pfb_t ah_smatch; /* net security matching function */ pfb_t ah_ask; /* router request function */ pfi_t ah_dink; /* dink-before-send function */ pfi_t ah_haddr; /* disect saddr (for ARP) */ st ah_send[NLLAF]; /* send function per llaf */ frent * ah_re; /* list of router entries */ char * ah_ppad1; ed values (see 'rinads' * in "ncaf.c"). */ typedef struct rinad { char rin_name[MAX_DEV_NAME]; saddr rin_addr; /* device's address w/ AF */ } rinad; #endif RINADS /* Included down here because if WANT_ROUTER_PROCESS is defined, the * structure 'frent' must be also before we can to this inclusion */ #ifndef _FRCTLM_ #include #endif #endif _FR_ /* * @(#)fr.h 10.1 (NRC) */ OCESS, the 'ioctl' will return 'EINVAL' * whereupon the values may be 'rdiddle'd via the structure * 'fr_errblk} afh; #define fbnil ((pfb_t)0) #define finil ((pfi_t)0) /* Structure of headers for link layer address families (see 'llahp_tbl' * in "ncaf.c"). */ typedef struct llafh { /* NOTE: indexed by link layer address family */ u16 lah_alen; /* length of these addresses */ u16 lah_hsize; /* link layer header size */ u16 lah_maxpkt; /* maximum packet size */ u16 lah_arp_type; /* ARP type */ saddr lah_broadcast; /* broadcast address for this LLAF */ aftmap * lah_map; /* map AF type to/from LLAF type */ cha? @u  frctlm.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.frctlm.h */ /* Version 10.1 as of 85/10/27 at 12:45:12 */ /* FUSION router control message structures */ #ifndef _FRCTLM_ #define _FRCTLM_ #ifndef _STD_ #include #endif #ifndef _SOCKET_ #include #end_vsn #define recm_type recm_h.rech_type #define recm_seqno recm_h.rech_seqno #define recm_addr recm_u.recm_c1.rec1_rte.rte_gwy #define recm_rte recm_u.recm_c1.rec1_rte #define recm_net recm_rte.rte_net #define recm_gwy recm_rte.rte_gwy #define recm_secure recm_rte.rte_secure #define recm_u1 recm_u.recm_c1.rec1_u1 #define recm_nd recm_u1 #define recm_u2 recm_u.recm_c1.rec1_u2 #define recm_hops recm_u2 #define recm_maxpkt recm_u2 #define recm_u3 recm_u.recm_c1.rec1_u3 #define recm_flags recm_u3 #deif /* Router control message format; provided to router processing by * kernel as a result of control protocols (e.g. ICMP, XERP) * and internal events such as the death of a device or network. */ typedef struct frctlh { /* control message header */ u32 rech_errno; /* error value in echoed message */ u16 rech_vsn; /* version */ u16 rech_type; /* control message type (see below) */ u16 rech_seqno; /* sequence number if desired */ u16 rech_1junk; /* pad */ } frctlh; typedef struct frc1 { /* singlefine recm_u4 recm_u.recm_c1.rec1_u4 #define recm_ttl recm_u4 #define recm_u5 recm_u.recm_c1.rec1_u5 #define recm_delay recm_u5 #ifdef WANT_ROUTER_PROCESS #define recm_reno recm_u.recm_cc.recc_reno #define recm_ca recm_u.recm_cc.recc_ca #define recm_re recm_u.recm_cr.recr_re #endif WANT_ROUTER_PROCESS #define FR_C_VSN 0x200 /* don't conflict w/ old 'recm_type' */ /* Control message types 'recm_type'. * In general, if the net number has its type == AF_UNSPEC, then the * gateway address must be valid route values */ u16 rec1_u1; /* device index (in 'ndevsw') */ u16 rec1_u2; /* hop cnt or max packet size */ u16 rec1_u3; /* flags (masked inside) */ u16 rec1_u4; /* time-to-live (in sec) */ u32 rec1_u5; /* delay (in msec) */ rte rec1_rte; /* route key */ } frc1; #ifdef WANT_ROUTER_PROCESS typedef struct frcc { /* character array values */ u16 recc_reno; /* first router entry index in bit map */ char recc_ca[2]; /* router entries referenced */ } frcc; typedef struct frcr { /* indexed router ent and the route is presumed to refer * to a router server. If the gateway address has its type == AF_UNSPEC, * then the net number must be valid and the route given is presumed * to be a directly connected net. */ #define FR_C_WANT_ECHO 0x8000 /* send back msg. w/ error number */ #define FR_C_DDOWN 1 /* take device down */ #define FR_C_DDAMAGE 2 /* device good at torture techniques */ #define FR_C_DUP 3 /* bring up device */ #define FR_C_RDOWN 4 /* route down */ #define FR_C_RDAMAGE 5 /* route flaky */ ry */ u16 recr_reno; /* router entry index */ u16 recr_2junk; /* pad */ frent recr_re; /* router entry */ } frcr; #endif WANT_ROUTER_PROCESS typedef struct frctlm { /* master structure for control messages */ frctlh recm_h; /* header */ union { frc1 recm_c1; #ifdef WANT_ROUTER_PROCESS frcc recm_cc; frcr recm_cr; #endif WANT_ROUTER_PROCESS } recm_u; } frctlm; /* some cuties to allow easy access to control message components */ #define recm_errno recm_h.rech_errno #define recm_vsn recm_h.rech#define FR_C_RUP 6 /* add a new route */ #define FR_C_RSLOW 7 /* route overworked */ #define FR_C_RNARROW 8 /* route has packet size restriction */ #ifdef WANT_ROUTER_PROCESS #define FR_C_REFED 253 /* list of routes recently referenced */ #define FR_C_KREAD 254 /* get route from kernel slave table */ #define FR_C_KWRITE 255 /* put route into kernel slave table */ #endif WANT_ROUTER_PROCESS /* router control message flag values (internal values are in "fr.h") */ #define F_R_HARD_WIRED 0x0800 /* forced from outside */ #endif _FRCTLM_ /* * @(#)frctlm.h 10.1 (NRC) */ ll rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.frctlm.h */ /* Version 10.1 as of 85/10/27 at 12:45:12 */ /* FUSION router control message structures */ #ifndef _FRCTLM_ #define _FRCTLM_ #ifndef _STD_ #include #endif #ifndef _SOCKET_ #include #end o&ftype.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"  u ftbl.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.ftype.h */ /* Version 10.1 as of 85/10/27 at 12:45:17 */ #ifndef _FTYPE_ #define _FTYPE_ #ifndef B42 /* types used in Fusion code for non-4.2bsd systems */ struct timeval { long tv_sec; /* seconds */ long tv_usec; /* and m/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.ftbl.h */ /* Version 10.1 as of 85/10/27 at 12:45:15 */ #ifndef _FTBL_ #define _FTBL_ #ifndef _STD_ #include #endif typedef struct ftbl { u32 ft_first; /* first command value accepted */ u32 ft_last; /* last comicroseconds */ }; struct timezone { int tz_minuteswest; /* minutes west of Greenwich */ int tz_dsttime; /* type of dst correction */ }; #define DST_NONE 0 #define DST_USA 1 #endif B42 #endif _FTYPE_ /* * @(#)ftype.h 10.1 (NRC) */ sage header */ u32 rech_errno; /* error value in echoed message */ u16 rech_vsn; /* version */ u16 rech_type; /* control message type (see below) */ u16 rech_seqno; /* sequence number if desired */ u16 rech_1junk; /* pad */ } frctlh; typedef struct frc1 { /* singlemand value accepted */ pfi_t ft_spanner; /* called if non nil and ft_tbl misses */ pfi_t * ft_tbl; /* function called is ft_tbl[cmnd-ft_first] */ } ftbl; #endif _FTBL_ /* * @(#)ftbl.h 10.1 (NRC) */ edef struct frctlh { /* control message header */ u32 rech_errno; /* error value in echoed message */ u16 rech_vsn; /* version */ u16 rech_type; /* control message type (see below) */ u16 rech_seqno; /* sequence number if desired */ u16 rech_1junk; /* pad */ } frctlh; typedef struct frc1 { /* single   u !icmp.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.icmp.h */ /* Version 10.1 as of 85/10/27 at 12:45:19 */ /* DARPA IP / Internet Control Message Protocol defines */ #ifndef _ICMP_ #define _ICMP_ #ifndef _STD_ #include #endif typedef union { /* miscellaneous fiel port unreachable */ #define DUR_FRAG 4 /* fragmentation needed & DF set */ #define DUR_ROUTE 5 /* source route failed */ #define TE_TRANSIT 0 /* time to live exceeded in transit */ #define TE_REASSEMBLY 1 /* fragment reassembly time exceeded */ #define PP_PERR 0 /* pointer indicates the error */ #define RED_NET 0 /* redirect datagrams for the network */ #define RED_HOST 1 /* redirect datagrams for the host */ #define RED_NTOS 2 /* redirect datagrams for the tos & network */ #define RED_HTOS 3 /* redirectds */ /* Unused */ a32 icmp_uunused; /* Parameter Problem Message */ struct { u8 icmp_upointer; u8 icmp_upu[3]; /* filler */ } icmp_uppm; /* Redirect Message */ a32 icmp_urm; a32 icmp_ugia; /* Timestamp/Echo or Timestamp/Echo Reply Message */ struct { a16 icmp_uid; /* Identifier */ a16 icmp_usn; /* Sequence Number */ } icmp_uerm; } icmp_u; typedef struct { /* the ICMP header */ u8 icmp_type; /* message type */ u8 icmp_code; /* error code */ a16 icmp_checksum; /* checksum */ icmp_u datagrams for the tos & host */ #ifdef KERNEL import st icmp_msg(); #define icmp_er(mp, type, code, x, y) ((mp)->m_p0 = (type), (mp)->m_p1 = (code), (mp)->m_p2 = (x), (mp)->m_p3 = (y), (st)icmp_msg) #endif KERNEL #endif _ICMP_ /* * @(#)icmp.h 10.1 (NRC) */ recm_cr.recr_re #endif WANT_ROUTER_PROCESS #define FR_C_VSN 0x200 /* don't conflict w/ old 'recm_type' */ /* Control message types 'recm_type'. * In general, if the net number has its type == AF_UNSPEC, then the * gateway address must be valid icmp_misc; /* miscellaneous fields */ } icmp_t; #define icmp_unused icmp_misc.icmp_uunused #define icmp_pointer icmp_misc.icmp_uppm.icmp_upointer #define icmp_rm icmp_misc.icmp_urm #define icmp_id icmp_misc.icmp_uerm.icmp_uid #define icmp_sn icmp_misc.icmp_uerm.icmp_usn #define icmp_gia icmp_misc.icmp_ugia /* ICMP type values */ #define ICMP_DUR 3 /* destination unreachable message */ #define ICMP_TE 11 /* time exceeded message */ #define ICMP_PP 12 /* parameter problem message */ #define ICMP_SQ F Gu *in.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"4 /* source quench message */ #define ICMP_RED 5 /* redirect message */ #define ICMP_ECH 8 /* echo message */ #define ICMP_ECR 0 /* echo reply message */ #define ICMP_TIM 13 /* timestamp message */ #define ICMP_TMR 14 /* timestamp reply */ #define ICMP_IN 15 /* information request */ #define ICMP_INR 16 /* information reply */ /* ICMP code values */ #define DUR_NET 0 /* network unreachable */ #define DUR_HOST 1 /* host unreachable */ #define DUR_PROTO 2 /* protocol unreachable */ #define DUR_PORT 3 /*/* Module: h File: /nrc/rel/h/s.in.h */ /* Version 10.1 as of 85/10/27 at 12:45:22 */ /* @(#)in.h 1.2 2/6/84 16:21:21 */ /* in.h 4.13 82/06/13 */ #ifndef _IN_ #define _IN_ #include #include #ifdef B42_COMPATIBLE #define IPPR_ IPPROTO_ #define IPO_ IPPORT_ #define IMPLNK_ IMPLINK_ #define INCLS IN_CLASS #define sockaddr_in in_sockaddr /* for BOGUS implementations */ #endif /* Constants and structures defined by the internet system, Per RFC 790, September 1981. */ /* Protocols */ #define IPPR_ICMP 1 /* control message protocol */ #define IPPR_GGP 2 /* gateway^2 (deprecated) */ #define IPPR_TCP 6 /* tcp */ #define IPPR_PUP 12 /* pup */ #define IPPR_UDP 17 /* user datagram protocol */ #define IPPR_RAW 255 /* raw IP packet */ #define IPPR_MAX 256 /* Port/socket numbers: network standard functions */ #define IPO_ECHO 7 #define IPO_DISCARD 9 #define IPO_SYSTAT 11 #define IPO_DAYTIME 13 #define IPO_NETSTAT 15 #define IPO_FTP 21 #define IPO_TELNET 0080 #define INCLSA_NET 0x000000ff /* 8 bits of net # */ #define INCLSA_LNA 0xffffff00 #define INCLSB 0x00000040 #define INCLSB_NET 0x0000ffff /* 16 bits of net # */ #define INCLSB_LNA 0xffff0000 #define INCLSC_NET 0x00ffffff /* 24 bits of net # */ #define INCLSC_LNA 0xff000000 #endif #ifdef pdp11 #define INCLSA 0x00800000L #define INCLSA_NET 0x00ff0000L /* 8 bits of net # */ #define INCLSA_LNA 0xff00ffffL #define INCLSB 0x00400000L #define INCLSB_NET 0xffff0000L /* 16 bits of net 23 #define IPO_SMTP 25 #define IPO_TIMESERVER 37 #define IPO_NAMESERVER 42 #define IPO_WHOIS 43 #define IPO_MTP 57 /* Port/socket numbers: host specific functions */ #define IPO_TFTP 69 #define IPO_RJE 77 #define IPO_FINGER 79 #define IPO_TTYLINK 87 #define IPO_SUPDUP 95 /* UNIX TCP sockets */ #define IPO_EXECSERVER 512 #define IPO_LOGINSERVER 513 #define IPO_CMDSERVER 514 /* UNIX UDP sockets */ #define IPO_BIFFUDP 512 #define IPO_WHOSERVER 513 /* Ports < IPO_RESERVED are reserved for pri# */ #define INCLSB_LNA 0x0000ffffL #define INCLSC_NET 0xffff00ffL /* 24 bits of net # */ #define INCLSC_LNA 0x0000ff00L #endif #endif #ifndef WATCHOUT /* 68k (?) */ #define INCLSA 0x80000000L #define INCLSA_NET 0xff000000L /* 8 bits of net # */ #define INCLSA_LNA 0x00ffffffL #define INCLSB 0x40000000L #define INCLSB_NET 0xffff0000L /* 16 bits of net # */ #define INCLSB_LNA 0x0000ffffL #define INCLSC_NET 0xffffff00L /* 24 bits of net # */ #define INCLSC_LNA 0x0vileged processes (e.g. root). */ #define IPO_RESERVED 1024 /* Link numbers */ #define IMPLNK_IP 155 #define IMPLNK_LOWEXPER 156 #define IMPLNK_HIGHEXPER 158 /* Internet address (old style... should be updated) */ struct in_addr { union { struct { char s_b1,s_b2,s_b3,s_b4; } S_un_b; struct { u16 s_w1,s_w2; } S_un_w; long S_addr; } S_un; }; #define s_addr S_un.S_addr /* can be used for most tcp & ip code */ #ifndef WATCHOUT #define s_host S_un.S_un_b.s_b2 /* host on imp */ #define s_net S_un.S00000ffL #endif #define IN_NETOF(in) \ (((in).s_addr&INCLSA) == 0 ? (in).s_addr&INCLSA_NET : \ ((in).s_addr&INCLSB) == 0 ? (in).s_addr&INCLSB_NET : \ (in).s_addr&INCLSC_NET) #define IN_LNAOF(in) \ (((in).s_addr&INCLSA) == 0 ? (in).s_addr&INCLSA_LNA : \ ((in).s_addr&INCLSB) == 0 ? (in).s_addr&INCLSB_LNA : \ (in).s_addr&INCLSC_LNA) #define INADDR_ANY 0x00000000L /* Socket address, internet style. */ struct in_sockaddr { i16 sin_family; u16 sin_port; struct in_addr sin_addr; char sin_zero[8_un_b.s_b1 /* network */ #define s_imp S_un.S_un_w.s_w2 /* imp */ #define s_impno S_un.S_un_b.s_b4 /* imp # */ #define s_lh S_un.S_un_b.s_b3 /* logical host */ #endif /* Macros for dealing with Class A/B/C network numbers. High 3 bits of uppermost byte indicates how to interpret the remainder of the 32-bit Internet address. The macros may be used in time time critical sections of code, while subroutine versions also exist use in other places. */ #ifdef notdef #if vax #define INCLSA 0x0000]; }; #ifdef KERNEL long in_netof(),in_lnaof(); #endif /* define the host/net order transformations specified in byteorder(3N) these are simply macros of the standard FUSION flip'ers */ #define htonl _flip32 #define htons _flip16 #define ntohl _flip32 #define ntohs _flip16 #endif _IN_ /* * @(#)in.h 10.1 (NRC) */ ine INCLS IN_CLASS #define sockaddr_in in_sockaddr /* for BOGUS implementations */ #endif /* Constants and structures defined by the internet system, Per RFC 790, September 1981. */n o"inet.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh" 127 /* Node to Host Commands. * NHC_SIGNAL requests that signal (software interrupt) 'mb_p1' be delivered * to the process which owns 'mb_sid'. This will only be given if * the process requested the service via an async() library call. * NHC_PRINTF requests the host to print out the null terminated ascii * message pointed at by 'mb_p1' on the console. * NHC_PANIC indicates that the node processor is dying. A null terminated * message telling why is pointed to by 'mb_p1'. */ #define NHC_SIGNA/* Module: h/b42ish File: ./s.inet.h */ /* Version 1.2 as of 85/05/10 at 02:02:50 */ #ifndef _INET_ #define _INET_ /* inet.h 4.1 83/05/28 */ #include /* * External definitions for * functions in inet(3N) */ char * inet_ntoa(); struct in_addr inet_addr(), inet_makeaddr(); u32 inet_network(); #endif _INET_ /* * @(#)inet.h 1.2 (NRC) */ n_sockaddr /* for BOGUS implementations */ #endif /* Constants and structures defined by the internet system, Per RFC 790, September 1981. */L (HNC_MAX + 1) /* deliver signal 'mb_p1' */ #define NHC_PRINTF (HNC_MAX + 2) /* print this message on console */ #define NHC_PANIC (HNC_MAX + 3) /* I'm giving up the ghost */ #define NHC_NTSIGNAL (HNC_MAX + 4) /* please call nt_signal for me */ #define NHC_NTABORT (HNC_MAX + 5) /* call nt_abort */ #define NHC_INIT_DONE (HNC_MAX + 6) /* initialization response */ #define NHC_DONE (HNC_MAX + 7) /* node processor is done */ #define NHC_ATTACH (HNC_MAX + 8) /* attach status */ #define NHC_WB_BUFF (HNC_MAX + 9)    o.inp.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh" /* buffer for write behinds */ /* Host to Node Commands. They are used to initiate host ==> node * (network) transactions. HNC_IOCTL is just a pass through from the user. * The 'cmnd' and 'ptr' from the user's ioctl(fd, cmnd, ptr) should be * passed through in 'mb_p1' and 'mb_src' respectively. */ #define HNC_OPEN 1 /* open up a socket */ #define HNC_CLOSE 2 /* close the socket indicated in mb_sid */ #define HNC_READ 3 /* read data into 'mb_dest' */ #define HNC_WRITE 4 /* write the indicated data */* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.inp.h */ /* Version 10.1 as of 85/10/27 at 12:45:25 */ /* Intelligent node processor . * Structures and constants common to the host and node resident code. */ #ifndef _INP_ #define _INP_ #define MBOX_IDLE 0 #define HNC_MAX / #define HNC_IOCTL 5 /* escape mechanism for 'attach', 'bind' ... */ #define HNC_ABORT 6 /* about that requested action, ... forget it*/ #define HNC_PROBE 7 /* are you still there ?? */ /* A word on direction: host mailboxes are filled by the np and are emptied * by the host, mailboxes are filled by the host and emptied by the np. * NOTE: mbox.mb_cmnd must align with init.i_version * NOTE: mbox.mb_status must align with init.i_u32_pattern */ typedef struct mbox { u16 mb_cmnd; /* what we want done */  u16 mb_hostid; /* 0 means unallocated/unused */ u32 mb_status; /* what happened */ u32 mb_sid; /* socket id */ u32 mb_tid; /* transaction id */ u32 mb_p0; /* misc. parameter/result */ u32 mb_p1; /* misc. parameter/result */ u32 mb_src; /* where the el_arr is located on the host */ } mbox; /* First message sent to the node. Note that the version number must be * between 0 and 255 since it demonstrates the order of 16 bit entities. * By aligning the fields mentioned below we allow common code iAM 1 /* intramachine byte stream */ /* packet sizes */ #define INTRA_PSIZE 4096 #define INTRA_CPSIZE 4096 /* intramachine header (datagrams) */ typedef struct ih { u16 ih_length; u16 ih_packet_type; } ih; typedef struct str_t { /* intramachine name storage */ struct str_t * st_next; /* ptr. to next in list */ struct str_t * st_prev; /* ptr. to prev in list */ u16 st_refcnt; /* # of times referenced */ u16 st_len; /* maps over so_addr */ u16 st_type; char st_name[2]; } str_t; #enn * interrupt handlers and termination code. * NOTE: mbox.mb_cmnd must align with init.i_version * NOTE: mbox.mb_status must align with init.i_u32_pattern */ typedef struct { u16 i_version; /* between 0-255, demonstrates 16 bit order */ u16 i_pad1; u32 i_u32_pattern; /* used to determine 32 bit flips */ u32 i_printfp; /* address of printf buffer on host */ u16 i_first_sig; /* first valid signal */ u16 i_last_sig; /* last good one */ } init; #endif _INP_ /* * @(#)inp.h 10.1 (NRC) */ C_LNA 0x0dif _INTRA_ /* * @(#)intra.h 10.1 (NRC) */ define NHC_PRINTF (HNC_MAX + 2) /* print this message on console */ #define NHC_PANIC (HNC_MAX + 3) /* I'm giving up the ghost */ #define NHC_NTSIGNAL (HNC_MAX + 4) /* please call nt_signal for me */ #define NHC_NTABORT (HNC_MAX + 5) /* call nt_abort */ #define NHC_INIT_DONE (HNC_MAX + 6) /* initialization response */ #define NHC_DONE (HNC_MAX + 7) /* node processor is done */ #define NHC_ATTACH (HNC_MAX + 8) /* attach status */ #define NHC_WB_BUFF (HNC_MAX + 9)- . 'intra.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh" u ip.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.intra.h */ /* Version 10.1 as of 85/10/27 at 12:45:28 */ #ifndef _INTRA_ #define _INTRA_ #ifndef _STD_ #include #endif /* protocol identifiers */ #define INTRA_DGRAM 0 /* intramachine datagram */ #define INTRA_STRE/* Copyright (C) 11/24/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: ./s.ip.h */ /* Version 10.2 as of 85/11/24 at 06:36:14 */ /* DARPA Internet Protocol defines */ #ifndef _IP_ #define _IP_ #ifndef _STD_ #include #endif /* ULP pseudo IP header */ typedef struct { /* The order is not correct, but it doesn't matter for the checksum. * This was designed to lay over the IP header overlay. */ u8 piph_zero; /* zero byte */ u8 piph_protocol; /* Upper Level Protocol */ a16 piph_length; /* ULP length */ a32 piph_saddr; /* source address */ a32 piph_daddr; /* destination address */ } piph_t; /* IP header */ typedef struct { u8 iph_ihl; /* version and IP header length */ u8 iph_tos; /* type of service */ a16 iph_tlength; /* total length */ a16 iph_ident; /* identification */ a16 iph_fragoffgments flag */ #define IP_OFFSET 0x1FFF /* Fragment Offset in segment */ /* defaults */ #define IP_DTOS 0 /* default type of service */ #ifndef TEK4404 #define IP_DTTL 3 /* default time to live (3 seconds) (Ethernet based) */ #else #define IP_DTTL 60 /* B42 decreases that value by 5, in one shot! */ #endif TEK4404 #define IP_MAXTTL 255 /* maximum packet life (4:15 minutes) */ /* IP protocol codes */ #define IP_ICMP 1 /* Internet Control Message Protocol */ #define IP_TCP 6 /* Transaction Control Protoc; /* flags and fragmentation offset */ piph_t iph_piph; /* Pseudo IP Header */ } iph_t; /* defines to map rest of IP header on ULP pseudo header */ #define iph_ttl iph_piph.piph_zero #define iph_protocol iph_piph.piph_protocol #define iph_checksum iph_piph.piph_length #define iph_saddr iph_piph.piph_saddr #define iph_daddr iph_piph.piph_daddr /* iph_ihl fields */ #define IP_V4 4 /* IP version 4 */ #define IP_VER 0xF0 /* IP version mask */ /* macro to extract IP version from IP header pointer */ #defol */ #define IP_UDP 17 /* User Datagram Protocol */ /* Bit fields of iph_saddr & iph_daddr */ #define INADDR_ANY ((u32)0) /* unknown, or broadcast address */ #define MASK_A_CLASS ((u32)0x80000000) #define MASK_B_CLASS ((u32)0xC0000000) #define MASK_C_CLASS ((u32)0xE0000000) #define MASK_EX_CLASS ((u32)0xE0000000) #define A_CLASS ((u32)0x00000000) #define B_CLASS ((u32)0x80000000) #define C_CLASS ((u32)0xC0000000) #define EX_CLASS ((u32)0xE0000000) #define NET_A_CLASS ((u32)0xFF000000) #define NET_B_ine iphv(iphp) (((iphp)->iph_ihl & IP_VER) >> 4) #define IP_IHL 0x0F /* IP header length mask */ /* macro to extract IP header length from IP header pointer */ #define iphl(iphp) (((iphp)->iph_ihl & IP_IHL) << 2) #define IP_MHL 60 /* max header length of any IP protocol */ /* bit fields in iph_tos */ #define IP_PRECEDENCE 0xE0 /* top 3 bits of 'iph_tos' */ #define IP_DELAY 0x10 /* delay */ #define IP_THROUGHPUT 0x08 /* throughput */ #define IP_RELIABLE 0x04 /* reliability */ /* Precedence values (maCLASS ((u32)0xFFFF0000) #define NET_C_CLASS ((u32)0xFFFFFF00) #define HOST_A_CLASS ((u32)0x00FFFFFF) #define HOST_B_CLASS ((u32)0x0000FFFF) #define HOST_C_CLASS ((u32)0x000000FF) /* defines for IP level options */ #define IPO_CF 0x80 /* copy flag */ #define IPO_CLASS 0x60 /* option class */ #define IPO_NUMBER 0x1F /* option number */ #define IPO_EOL 0x00 /* end of option list */ #define IPO_NOP 0x01 /* 'u16' filler */ #define IPO_SECURITY 0x02 /* security:compartment:handling:tcc */ #define IPO_LSR 0sked by IP_PRECEDENCE) */ #define IP_NC 0xE0 /* Network Control */ #define IP_IC 0xC0 /* Internetwork Control */ #define IP_CRITIC 0xA0 /* CRITIC/ECP */ #define IP_FLSHO 0x80 /* Flash Overide */ #define IP_FLASH 0x60 /* Flash */ #define IP_IMMED 0x40 /* Immediate */ #define IP_PRIORITY 0x20 /* Priority */ #define IP_ROUTINE 0x00 /* Routine */ /* bit fields in iph_fragoff */ #define IP_RS 0x8000 /* reserved - must be off */ #define IP_DF 0x4000 /* Don't Fragment flag */ #define IP_MF 0x2000 /* More Frax03 /* loose source and record route */ #define IPO_SSR 0x09 /* strict source and record route */ #define IPO_RR 0x07 /* record route */ #define IPO_SID 0x80 /* stream identifier */ #define IPO_TS 0x04 /* Internet timestamp */ #ifdef KERNEL #define IP_T_DEF 1000 /* ip_timer() (fragmentation timer) fires each second */ #define ipsu sop->so_psu.dpu_state.dpsu_ip /* pointer to ip psu */ /* a route list */ typedef struct { u8 ipr_filler; u8 ipr_type; /* one of IPO_LSR, _SSR, _RR */ u8 ipr_length; /* length of type+length+list */ u8 ipr_pointer; /* pointer (relative) to next item in list */ a32 ipr_route[9]; /* route list (max of 9) */ } ipr_t; #endif KERNEL #endif _IP_ /* * @(#)ip.h 10.2 (NRC) */ */ a32 piph_saddr; /* source address */ a32 piph_daddr; /* destination address */ } piph_t; /* IP header */ typedef struct { u8 iph_ihl; /* version and IP header length */ u8 iph_tos; /* type of service */ a16 iph_tlength; /* total length */ a16 iph_ident; /* identification */ a16 iph_fragoff u m.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"B  Co5kludge.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.m.h */ /* Version 10.1 as of 85/10/27 at 12:45:36 */ #ifndef _M_ #define _M_ /* Definitions and Macros for dealing with the `Message' structure */ #ifndef _STD_ #include #endif #ifndef _Q_ #include #endif/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.kludge.h */ /* Version 10.1 as of 85/10/27 at 12:45:35 */ #ifndef _KLUDGE_ #define _KLUDGE_ /* Definitely nasty work arounds for name conflicts between FUSION and the insane real world. */ #ifdef B42 #define tcp_trace tcptr #ifndef _SOCKET_ #include #endif /* flags for m.m_flags */ #define F_M_DELAY 0x0001 /* delay call on board start */ #define F_M_CLR_Q_FLAGS 0x0002 /* clear q_flags upon q insertion */ #define F_M_EVEN 0x0004 /* data must be even size, compensate */ #define F_M_ORIGIN 0x0008 /* packet is from this host */ #define F_M_ONCE_ROUTED 0x0010 /* packet went through router once */ #define F_M_ZAP 0x0040 /* to be unlocked soon */ #define F_M_STAY_LOCKED 0x0080 /* tell s.m. not to unlock when ace #endif B42 #endif _KLUDGE_ /* * @(#)kludge.h 10.1 (NRC) */ ve) to next item in list */ a32 ipr_route[9]; /* route list (max of 9) */ } ipr_t; #endif KERNEL #endif _IP_ /* * @(#)ip.h 10.2 (NRC) */ */ a32 piph_saddr; /* source address */ a32 piph_daddr; /* destination address */ } piph_t; /* IP header */ typedef struct { u8 iph_ihl; /* version and IP header length */ u8 iph_tos; /* type of service */ a16 iph_tlength; /* total length */ a16 iph_ident; /* identification */ a16 iph_fragoffdone */ #define F_M_MSM 0x0100 /* currently being driven by s.m. */ #define F_M_CRITICAL 0x0200 /* this msg is CRITICAL now */ #define m_dsize(mp) ((mp)->m_tp - (mp)->m_hp) #define m_empty(mp) ((mp)->m_tp == (mp)->m_hp) #define m_hptr(mp,type) ((type *)((mp)->m_hp -= sizeof(type))) #define m_htrim(mp,size) ((mp)->m_phdr = (mp)->m_hp,(mp)->m_hp += ((mp)->m_phlen = size)) #define m_ptr(mp,type) ((type *)((mp)->m_hp)) #define m_release(mp) bC2((mp)->m_q.q_flags,F_Q_PRESERVE,F_Q_LOCKED) #define m_tptr(mp,type) ((type *)((mp)->m_tp)) #define m_trim(mp,size) ((mp)->m_hp += size) #define m_ttrim(mp,size) (m_dsize(mp) >= (size) ? (((mp)->m_tp -= size),0):ERR) #define mq_init(mqp) ((mqp)->mq_hmp = nil,(mqp)->mq_tmp = nil) #define mq_head(mqp) ((mqp)->mq_hmp) #define in_mq(mp) ((mp)->m_next) #define is_origin(mp) bT1((mp)->m_flags,F_M_ORIGIN) #define is_remote(mp) bF1((mp)->m_flags,F_M_ORIGIN) /* start a work list */ #define msm(mp,job) ((mp)->m_job=(job),sm_msm(mp)) /* kill an mp */ #define smkill(mp)ry array */ st mmh_fn; /* state function called */ u32 mmh_u32; /* stuff stored by function */ } mmh[MAXHIST]; #endif M_HISTORY } mm; #define mm_ndp mm_sidekick.mms_ndp #define mm_rep mm_sidekick.mms_rep #ifdef M_HISTORY #define mm_fn(i) mmh[i].mmh_fn #define mm_u32(i) mmh[i].mmh_u32 #define mm_hist mm_u32 #endif M_HISTORY typedef struct m { /* a real message */ mm m_mm; /* mini-message at the beginning */ so_addr m_dest; /* only one allowed */ so_addr m_src; /* other source specified */  ((mp)->m_flags|=F_M_ZAP,msm((mp),(mp)->m_dispfn)) #ifdef MSDOS /* Lousy Lattice Compiler (LLC) hates zero casts */ #define s_offset(s,f,p) ((int)&((s *)(p))->f - (int)(p)) #else MSDOS #define s_offset(s,f,p) ((int)&(((s *)0)->f)) #endif MSDOS #define s_ptr(s,f,p) ((s *)((int)(p) - s_offset(s,f,p))) /* state machine type definitions */ #ifdef M_HISTORY import void smfhist(), smhprint(), smhzap(), smuhist(); #else M_HISTORY #define smfhist(m,f) #define smhprint(m) #define smhzap(m) #define smuhist(m,u) #en char * m_phdr; /* protocol header */ char * m_hp; /* head pointer to trimmed data */ char * m_tp; /* tail pointer to trimmed data */ char * m_cp; /* place holder for protocols */ char * m_secp; /* security field pointer */ char * m_ppad1; u32 m_type; /* used by protocol level layers */ u32 m_delay; /* estimated delay to packet arrival */ u32 m_phlen; /* protocol header length */ u16 m_pflags; /* protocol flags */ u16 m_pad1; } m; /* abbreviations to allow direct naming of mini-mesdif M_HISTORY /* internal message structure */ typedef struct mm { /* mini-message */ q mm_q; /* for send queue linkages (q, gq) */ struct gq * mm_gqp; /* pointer to queue head */ struct m * mm_next; /* for message queue linkages (mq) */ q mm_wq; /* message work q */ st mm_job; /* first state of this work message */ st mm_dispfn; /* function to put it away */ u16 mm_flags; i16 mm_err; /* error status */ u32 mm_p0; /* general parameter use */ u32 mm_p1; u32 mm_p2; u32 mm_p3; u16 sage structures */ #define m_q m_mm.mm_q #define m_gqp m_mm.mm_gqp #define m_next m_mm.mm_next #define m_wq m_mm.mm_wq #define m_job m_mm.mm_job #define m_flags m_mm.mm_flags #define m_p0 m_mm.mm_p0 #define m_p1 m_mm.mm_p1 #define m_p2 m_mm.mm_p2 #define m_p3 m_mm.mm_p3 #define m_sop m_mm.mm_sop #define m_ndp m_mm.mm_ndp #define m_rep m_mm.mm_rep #define m_err m_mm.mm_err #define m_savpri m_mm.mm_savpri #define m_dispfn m_mm.mm_dispfn #ifdef M_HISTORY #define m_zhist m_mm.mm_zhist #define m_histi m_mm.mm_ mm_savpri; /* old priority if we're critical */ struct so_t * mm_sop; /* socket pointer */ union { /* side-car parameter */ struct netdev * mms_ndp; /* device pointer */ struct frent * mms_rep; /* router entry pointer */ } mm_sidekick; #ifdef M_HISTORY #define MAXHIST 24 /* Must be multiple of 4 to maintain alignment */ u16 mm_zhist; /* lost history counter */ u16 mm_histi; /* next available history index */ u8 mm_histt[MAXHIST]; /* history type array */ union { /* remembered state histohisti #define m_histt(i) m_mm.mm_histt[i] #define m_fn(i) m_mm.mm_fn(i) #define m_u32(i) m_mm.mm_u32(i) #define m_hist m_u32 #endif M_HISTORY #endif _M_ /* * @(#)m.h 10.1 (NRC) */ m_empty(mp) ((mp)->m_tp == (mp)->m_hp) #define m_hptr(mp,type) ((type *)((mp)->m_hp -= sizeof(type))) #define m_htrim(mp,size) ((mp)->m_phdr = (mp)->m_hp,(mp)->m_hp += ((mp)->m_phlen = size)) #define m_ptr(mp,type) ((type *)((mp)->m_hp)) #define m_release(mp) bC2((mp)->m_q.q_flags,F_Q_PRESERVE,F_Q_LOCKED) #define m_tptr(  $/mce.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"a  bo8menu.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 5/9/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: ./s.mce.h */ /* Version 1.2 as of 85/05/09 at 19:18:40 */ #ifndef _MCE_ #define _MCE_ /* Defines and structures common for node and host */ #define NI_HMMAX 1 #define NI_MMAX 1 /* mce dependent initialization mailbox */ typedef struct initm/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.menu.h */ /* Version 10.1 as of 85/10/27 at 12:45:39 */ #ifndef _MENU_ #define _MENU_ typedef struct menu_item { char * field; char * title; int len; short flags; char * defalt; char * value; struct menu_item box { u16 in_h_mcnt; /* host mailbox cnt, 0 means np chooses */ u16 in_n_mcnt; /* np mailbox cnt, 0 means np chooses */ u32 in_h_maddr; /* host mailbox addr */ u32 in_n_maddr; /* mailbox addr */ u32 in_pm_base; /* phys memory base for NP */ } initmbox; typedef struct thes { u32 th_go; /* where the NP_GO command goes */ u32 th_pstart; /* address where program start goes */ initmbox th_mceinit; /* initial negotiation mailbox */ init th_init; /* general initialization structure */ mbox th_h_mba* help; } menu_item; #define M_REQ 1 /* value required */ #define M_NUM 2 /* numerics only */ #define M_NOSKIP 4 /* no line skip after */ #define M_DSPACE 8 /* extra line skip after */ #define M_NOCHANGE 16 /* display current value but don't */ /* accept input */ #define M_NOSHOW 32 /* leave current value and don't prompt */ #define m_note(text) {"_note_",text,0,0,nil,nil,nil} #define m_notens(text) {"_note_",text,0,M_NOSKIP,nil,nil,nil} #define m_noteds(text) {"_note_",text,0,M_DSPACE,nirr[NI_HMMAX]; /* host mailbox array */ mbox th_n_mbarr[NI_MMAX]; /* mailbox array */ } thes; #endif _MCE_ /* * @(#)mce.h 1.2 (NRC) */ TORY #endif _M_ /* * @(#)m.h 10.1 (NRC) */ m_empty(mp) ((mp)->m_tp == (mp)->m_hp) #define m_hptr(mp,type) ((type *)((mp)->m_hp -= sizeof(type))) #define m_htrim(mp,size) ((mp)->m_phdr = (mp)->m_hp,(mp)->m_hp += ((mp)->m_phlen = size)) #define m_ptr(mp,type) ((type *)((mp)->m_hp)) #define m_release(mp) bC2((mp)->m_q.q_flags,F_Q_PRESERVE,F_Q_LOCKED) #define m_tptr(l,nil,nil} import void menu_init(), menu_exit(); /* * @(#)menu.h 10.1 (NRC) */ #endif _MENU_ dif _MCE_ /* * @(#)mce.h 1.2 (NRC) */ TORY #endif _M_ /* * @(#)m.h 10.1 (NRC) */ m_empty(mp) ((mp)->m_tp == (mp)->m_hp) #define m_hptr(mp,type) ((type *)((mp)->m_hp -= sizeof(type))) #define m_htrim(mp,size) ((mp)->m_phdr = (mp)->m_hp,(mp)->m_hp += ((mp)->m_phlen = size)) #define m_ptr(mp,type) ((type *)((mp)->m_hp)) #define m_release(mp) bC2((mp)->m_q.q_flags,F_Q_PRESERVE,F_Q_LOCKED) #define m_tptr( u !modulo.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"; } m32; #endif /* Conversions between mxx, ixx and uxx types */ #ifdef MOD8 #define MU8(m) *(u8 *)((m).m1) /* m8 to u8 */ #define MI8(m) (char)(MU8(a)) /* m8 to char */ #endif #ifdef MOD16 #define MU16(m) *(u16 *)((m).m2) /* m16 to u16 */ #define MI16(m) (i16)(MU16(a)) /* m16 to i16 */ #endif #ifdef MOD32 #define MU32(m) *(u32 *)((m).m4) /* m32 to u32 */ #define MI32(m) (i32)(MU32(a)) /* m32 to i32 */ #endif /* The basic modular arithmetic macro */ #define MODULO(a, op, b) ((int)((a)/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.modulo.h */ /* Version 10.1 as of 85/10/27 at 12:45:41 */ /* Macros to do modular arithmetic */ #ifndef _MODULO_ #define _MODULO_ #ifndef _STD_ #include #endif /* This file will define macros to do 8, 16 or 32-bit - (b)) op 0) #define MODULO32(a, op, b) ((i32)((a) - (b)) op 0L) /* Implementation Note : * There is some concern as to whether or not the preceeding macro * will work across all processor models. Those with 16-bit structures * may encounter difficulty with the 'int' cast. The purpose is to * sign-extend the result of the subtraction for comparision with 0. */ /* mxx Comparisons [ <, <=, ==, !=, >=, > ] */ #ifdef MOD8 #define MC8M(a, cop, b) MODULO(MU8(a), cop, MU8(b)) #define MC8U(m, cop, u) M modular arithmetic. * The mxx structures are defined in such a way that once a variable is * defined as an mxx type, it cannot be used in the same fashion that * normal variables (like ints, u16's, i32's etc.). They must be dealt with * using the appropriate macros from this file. Hence a variable defined * to be of the modular-type, cannot be accidentally confused or used with * ordinary types. * * To obtain usage of these macros, along with including this file, the * following preprocessor defODULO(MU8(m), cop, (u8)(u)) #define UC8M(u, cop, m) MODULO((u8)(u), cop, MU8(m)) #endif #ifdef MOD16 #define MC16M(a, cop, b) MODULO(MU16(a), cop, MU16(b)) #define MC16U(m, cop, u) MODULO(MU16(m), cop, (u16)(u)) #define UC16M(u, cop, m) MODULO((u16)(u), cop, MU16(m)) #endif #ifdef MOD32 #define MC32M(a, cop, b) MODULO32(MU32(a), cop, MU32(b)) #define MC32U(m, cop, u) MODULO32(MU32(m), cop, (u32)(u)) #define UC32M(u, cop, m) MODULO32((u32)(u), cop, MU32(m)) #endif /* mxx Operations [ +, -, =, +=, -=, etcines must be defined before the inclusion : * * #define MOD8 - defines the modulo-8 macros. * #define MOD16 - defines the modulo-16 macros. * #define MOD32 - defines the modulo-32 macros. */ /* Modular Arithmetic types */ #ifdef MOD8 typedef struct m8 { /* a 8-bit host-ordered structure */ char m1[1]; } m8; #endif #ifdef MOD16 typedef struct m16 { /* a 16-bit host-ordered structure */ char m2[2]; } m16; #endif #ifdef MOD32 typedef struct m32 { /* a 32-bit host-ordered structure */ char m4[4]. ] */ #ifdef MOD8 #define M8M(a, op, b) (MU8(a) op MU8(b)) #define M8U(m, op, u) (MU8(m) op (u8)(u)) #define U8M(u, op, m) ((u8)(u) op MU8(m)) #endif #ifdef MOD16 #define M16M(a, op, b) (MU16(a) op MU16(b)) #define M16U(m, op, u) (MU16(m) op (u16)(u)) #define U16M(u, op, m) ((u16)(u) op MU16(m)) #endif #ifdef MOD32 #define M32M(a, op, b) (MU32(a) op MU32(b)) #define M32U(m, op, u) (MU32(m) op (u32)(u)) #define U32M(u, op, m) ((u32)(u) op MU32(m)) #endif #endif _MODULO_ /* * @(#)modulo.h 10.1 (NRC) */ array */ st mmh_fn; /* state function called */ u32 mmh_u32; /* stuff stored by function */ } mmh[MAXHIST]; #endif M_HISTORY } mm; #define mm_ndp mm_sidekick.mms_ndp #define mm_rep mm_sidekick.mms_rep #ifdef M_HISTORY #define mm_fn(i) mmh[i].mmh_fn #define mm_u32(i) mmh[i].mmh_u32 #define mm_hist mm_u32 #endif M_HISTORY typedef struct m { /* a real message */ mm m_mm; /* mini-message at the beginning */ so_addr m_dest; /* only one allowed */ so_addr m_src; /* other source specified */  socket. */ #define NAME_SOCK "/tmp/nameServer" * #define MOD8 - defines the modulo-8 macros. * #define MOD16 - defines the modulo-16 macros. * #define MOD32 - defines the modulo-32 macros. */ /* Modular Arithmetic types */ #ifdef MOD8 typedef struct m8 { /* a 8-bit host-ordered structure */ char m1[1]; } m8; #endif #ifdef MOD16 typedef struct m16 { /* a 16-bit host-ordered structure */ char m2[2]; } m16; #endif #ifdef MOD32 typedef struct m32 { /* a 32-bit host-ordered structure */ char m4[4]/  0nameserver.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"A B/nerrno.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* * Nameserver packet format * * $Header: nameserver.h,v 20.0 85/03/11 06:43:25 steveg Stable $ * $Locker: $ * * Copyright (c) 1984, Tektronix Inc. * All Rights Reserved * */ #ifndef MAXHOSTNAMESIZE #include #endif #define NS_VERSION 3 /* version # nameserver format */ #define MAXALIASES 7 /* max # hostname aliases */ #define NSR_ERROR 0 /* error in request */ #define NSR_ANSWER 1 /* answer to request */ #define NSR_GETNAME 2 /* Gethostbyname() */ #define NSR_GETADDR 3 /* G/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.nerrno.h */ /* Version 10.1 as of 85/10/27 at 12:45:44 */ #ifndef _NERRNO_ #define _NERRNO_ #ifndef EINVAL #include #endif #ifdef B42 #define _OK_ #endif #ifdef MASSCOMP #define _OK_ #endif #ifndef INET_ERR #includethostbyaddr() */ #define NSR_STATUS 4 /* Dump hostname/addresss list */ #define NSR_DELNAME 5 /* delete all entries for name */ #define NSR_DELADDR 6 /* delete all entries for address */ struct ns_req { u_short nr_version; /* version of */ u_short nr_type; /* type of request */ struct in_addr nr_addr; /* address of host */ char nr_host[MAXHOSTNAMESIZE]; /* name of host */ char nr_aliases[MAXALIASES][MAXHOSTNAMESIZE]; /* aliases */ }; /* Communications is via a intraMachine domain streame #endif /* internal err/status values */ #define IDITCHPACKET (INET_ERR - 1) #define IECHOPACKET (INET_ERR - 2) #define IRETRYLATER (INET_ERR - 3) #define IOTHER (INET_ERR - 4) #ifndef _OK_ #ifndef NET_ERR #include #endif #define EWOULDBLOCK (NET_ERR + 0) #define EINPROGRESS (NET_ERR + 1) #define EALREADY (NET_ERR + 2) #define ENOTSOCK (NET_ERR + 3) #define EDESTADDRREQ (NET_ERR + 4) #define EMSGSIZE (NET_ERR + 5) #define EPROTOTYPE (NET_ERR + 6) #define ENOPROTOOPT (NET_ERR + 7) #define EPROTONOSUPPORT (NET_ERR + 8) #define ESOCKTNOSUPPORT (NET_ERR + 9) #define EOPNOTSUPP (NET_ERR + 10) #define EAFNOSUPPORT (NET_ERR + 11) #define EADDRINUSE (NET_ERR + 12) #define EADDRNOTAVAIL (NET_ERR + 13) #define ENETDOWN (NET_ERR + 14) #define ENETUNREACH (NET_ERR + 15) #define ENETRESET (NET_ERR + 16) #define ECONNABORTED (NET_ERR + 17) #define ECONNRESET (NET_ERR + 18) #define ENOBUFS (NET_ERR + 19) #define EISCONN (NET_ERR + 20) #define ENOTCONN (NEer, and returned in network order (suitable for use in system calls). */ typedef struct hostent { char * h_name; /* official name of host */ char ** h_aliases; /* alias list */ u16 h_addrtype; /* host address type */ u16 h_length; /* length of address */ char * h_addr; /* address */ } hostent_t; /* Assumption here is that a network number fits in 32 bits -- A poor one! */ typedef struct netent { char * n_name; /* official name of net */ char ** n_aliases; /* alias list */ u16 n_addrtype; /* neT_ERR + 21) #define ESHUTDOWN (NET_ERR + 22) #define ETIMEDOUT (NET_ERR + 23) #define ECONNREFUSED (NET_ERR + 24) #define EPFNOSUPPORT (NET_ERR + 25) #define EHOSTDOWN (NET_ERR + 26) #define EHOSTUNREACH (NET_ERR + 27) #endif _OK_ #ifdef _OK_ #undef _OK_ #endif #endif _NERRNO_ /* * @(#)nerrno.h 10.1 (NRC) */ 2 #define MU32(m) *(u32 *)((m).m4) /* m32 to u32 */ #define MI32(m) (i32)(MU32(a)) /* m32 to i32 */ #endif /* The basic modular arithmetic macro */ #define MODULO(a, op, b) ((int)((a)t address type */ u32 n_net; /* network # */ } netent_t; typedef struct servent { char * s_name; /* official service name */ char ** s_aliases; /* alias list */ u16 s_port; /* port # */ char * s_proto; /* protocol to use */ } servent_t; typedef struct protoent { char * p_name; /* official protocol name */ char ** p_aliases; /* alias list */ u16 p_proto; /* protocol # */ } protoent_t; /* These names have been shortened to ensure (?) portability onto brain-dead systems which have ridiculous na *!netdb.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"me length limitations */ struct hostent * ghbyname(), * ghbyaddr(), * ghent(); struct netent * gnbyname(), * gnbyaddr(), * gnent(); struct servent * gsbyname(), * gsbyport(), * gsent(); struct protoent * gpbyname(), * gpbynumber(), * gpent(); struct hostent * gethostbyname(), * gethostent(); #define gethostbyaddr ghbyaddr #define gethostname ghname #define getnetbyname gnbyname #define getnetbyaddr gnbyaddr #define getnetent gnent #define getservbyname gsbyname #define getservbyport gsbyport #defi/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.netdb.h */ /* Version 10.1 as of 85/10/27 at 12:45:47 */ #ifndef _NETDB_ #define _NETDB_ #ifndef _STD_ #include #endif /* Structures returned by network data base library. All addresses are supplied in host ordne getservent gsent #define getprotobyname gpbyname #define getprotobynumber gpbynumber #define getprotoent gpent #endif _NETDB_ /* * @(#)netdb.h 10.1 (NRC) */ work across all processor models. Those with 16-bit structures * may encounter difficulty with the 'int' cast. The purpose is to * sign-extend the result of the subtraction for comparision with 0. */ /* mxx Comparisons [ <, <=, ==, !=, >=, > ] */ #ifdef MOD8 #define MC8M(a, cop, b) MODULO(MU8(a), cop, MU8(b)) #define MC8U(m, cop, u) M ?   @u :netdev.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"nd_p3; so_addr nd_lladdr; /* link layer address of board */ saddr nd_addrs[NAF]; /* host address per AF */ st_blk nd_stat; /* statistics */ pfi_t nd_init; /* Initialization entry point */ pfi_t nd_updown; /* turn device on/off */ st nd_send; /* Send message entry point */ pfi_t nd_start; /* Start the actual transfer */ pfi_t nd_ioctl; /* Ioctl entry point */ pfi_t nd_zzzpfi; /* relocation terminating zero field */ u32 nd_brdcast; /* # of outstanding unwanted broadcasts */ struct so_t * nd_sop; /*/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.netdev.h */ /* Version 10.1 as of 85/10/27 at 12:45:49 */ #ifndef _NETDEV_ #define _NETDEV_ /* Definitions and Macros for dealing with the `netdev' structure */ #ifndef _STD_ #include #endif #ifndef _Q_ #include =, > ] */ #ifdef MOD8 #define MC8M(a, cop, b) MODULO(MU8(a), cop, MU8(b)) #define MC8U(m, cop, u) Met/q.h> #endif #ifndef _SOCKET_ #include #endif #ifndef _DSU_ #include /* device specific union */ #endif _DSU_ /* flags for ndp->nd_flags */ #define F_N_INITIALIZED 0x0001 /* has been initialized */ #define F_N_ONLINE 0x0002 /* device is on line */ #define F_N_NONEXISTENT 0x0004 /* no response during probe */ #define F_N_HDUPLEX 0x0008 /* board can't hear itself */ #define MAX_DEV_NAME 16 typedef struct st_blk { /* Ethernet Based */ u32 sb_rcnt; /* Receive packet count */ u 2netioc.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"32 sb_xcnt; /* Transmit packet count */ u32 sb_recnt; /* Receive error count */ u32 sb_xecnt; /* Transmit error count */ u32 sb_jam; /* Jam retry count */ } st_blk; /* net device switch */ typedef struct netdev { char nd_name[MAX_DEV_NAME]; /* device name */ u16 nd_flags; /* Flags */ u16 nd_devid; /* Minor device id, ie a board # */ u16 nd_ix; /* 'ndp_tbl' index (back ptr) */ u16 nd_xflags; /* Filler field */ u32 nd_p0; /* device specific init values */ u32 nd_p1; u32 nd_p2; u32 /* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.netioc.h */ /* Version 10.1 as of 85/10/27 at 12:45:51 */ #ifndef _NETIOC_ #define _NETIOC_ #ifndef _STD_ #include #endif #define EL_VERSION 0 #define EL_MAX_SIZE 10 #ifndef SOIOCBASE #define SOIOCBASE ('s' << 8) #endif #ifndef SOIOCGNTTY #define SOIOCGNTTY (SOIOCBASE-2) #define SOIOCSNTTY (SOIOCBASE-1) #endif #ifndef SOIOCATMARK #define SOIOCATMARK (SOIOCBASE-3) /* for MSG_OOB */ #endif #ifndef ENIOCBASE #define ENIOCBASE ('e' << 8) #endif #ifndef INPIOCBASE #define INPIOCBASE ('i' << 8) #endif #define INPIOCDOWNLOAD (INPIOCBASE + 0) #define INPIOCEXECUTE (INPIOCBASE + 1) #define INPIOCINITIALIZE (INPIOCBASE + 2) #define INPIOCPROBE (INPIOCBASE + 3) #define INPIOCDIDDLE (INPIOCBASE + 4) /* Values for raw e ELC_DIDDLE 9 /* peek/poke kernel variables */ #define ELC_EBDEV 10 /* external block device attach */ #define ELC_GETOPT 11 /* get protocol options now current */ #define ELC_INDEX 12 /* give/get the socket index */ #define ELC_LISTEN 13 /* listen for connection requests */ #define ELC_NEXTSOCKET 14 /* give me the next available socket index */ #define ELC_PAIR 15 /* activate the socketpair() code */ #define ELC_PEERADDR 16 /* deliver up the peer address */ #define ELC_RECV 17 /* recv a packet */ #define ethernet ioctls. These select the action inside * the link layer ioctl routine. */ #define ENIOCEND (ENIOCBASE+10) #define ENIOCNORMAL ENIOCBASE /* accept broadcast and specific */ #define ENIOCPROMISC (ENIOCBASE+1) /* accept all undamaged packets */ #define ENIOCALL (ENIOCBASE+2) /* accept ALL packets */ #define ENIOCRESET (ENIOCBASE+3) #define TEKBASE 100 #ifndef ENIOCONLINE #define ENIOCONLINE TEKBASE + 4 #endif #ifndef ENIOCOFFLINE #define ENIOCOFFLINE TEKBASE + 5 #endif #ifndef ENIOCGETADDR #deELC_SEND 18 /* send a packet */ #define ELC_SETOPT 19 /* set protocol specific options */ #define ELC_SHUTDOWN 20 /* disallow read/write on socket */ #define ELC_SREAD 21 /* read data (used in VMS) */ #define ELC_SWRITE 22 /* write data (used in VMS) */ #define ELC_NSELECT 23 /* select available io on multiple sockets */ #define ELC_PIOCTL 24 /* protocol specific ioctl */ #define ELC_REJECT 25 /* reject a connection request */ #define EL_HEADER (0x4000 | EL_VERSION) #define EL_NOOP 0 #define EL_PROTOCOL 1fine ENIOCGETADDR TEKBASE + 6 #endif #ifndef ENIOCSETADDR #define ENIOCSETADDR TEKBASE + 7 #endif #ifndef ENIOCPROBE #define ENIOCPROBE TEKBASE + 8 #endif #ifndef TEKWADDR #define TEKWADDR TEKBASE + 9 #endif #ifndef TEKDEBUG #define TEKDEBUG TEKBASE + 10 #endif #ifndef TEK_ARP_FLUSH #define TEK_ARP_FLUSH TEKBASE + 11 #endif #ifndef TEK_ARP_CACHE_BOUNDS #define TEK_ARP_CACHE_BOUNDS TEKBASE + 12 #endif #ifndef TEK_ENET_TDR #define TEK_ENET_TDR TEKBASE + 13 #endif /* Defined values for el.el_u2.i /* as in XNS_DGRAM */ #define EL_FAMILY 2 /* as in XNS, DARPA etc */ #define EL_INDEX 3 /* request/give a socket index */ #define EL_A_LEN 4 /* where to place the address length */ #define EL_D_LEN 5 /* where to place the data length */ #define EL_DATA 6 /* where's the beef? */ #define EL_DEST 7 /* destination network address */ #define EL_SRC 8 /* src network address */ #define EL_FLAGS 9 /* as in MSG_OOB MSG_PEEK etc. */ #define EL_TYPE 10 /* type field, interpreted by protocol */ #define EL_P0 11 / field of el array header */ #define ELC_ACCEPT 0 /* accept a new connection */ #define ELC_ADDR 1 /* give back the current net address */ #define ELC_ASYNC 2 /* set/reset the socket as async */ #define ELC_ATTACH 3 /* attach to a protocol */ #define ELC_BETIMER 4 /* assume the timeout chores */ #define ELC_BIND 5 /* bind to a network address */ #define ELC_BLOCKING 6 /* turn off/on blocking */ #define ELC_CONNECT 7 /* actively seek connection */ #define ELC_DEBUG 8 /* network debugging entrypoint */ #defin* protocol specific param 0 */ #define EL_P1 12 /* protocol specific param 1 */ #define EL_P2 13 /* protocol specific param 2 */ #define EL_P3 14 /* protocol specific param 3 */ #define EL_P4 15 /* protocol specific param 4 */ #define EL_PHDR 16 /* protocol header */ #define EL_PHLEN 17 /* protocol header length */ /* Flags for el.el_flags, musn't overlap common flag area (see ) */ #define F_EL_STRUCTURED 0x1 /* structured data (32 bits) */ #define F_EL_IN 0x2 /* incoming (user ==> kernel) data element */ #define F_EL_OUT 0x4 /* outgoing (kernel ==> user) data element */ #define F_EL_KERNEL 0x8 /* element is in kernel space */ #define F_EL_ALLOC 0x10 /* element is in heap space -- must be freed */ #define F_EL_PROCESS 0x20 /* some additional processing to do */ #define F_EL_PPROCESS 0x40 /* don't free, more processing to do */ #define F_EL_MPRE_ALLOC 0x80 /* m structure is pre-allocate */ #define F_EL_KRESERVED F_EL_KERNEL /* el flags reserved for kernel use */ typedef union { char * cp; u):EINVAL) #else KERNEL #define el_init(elp, cmnd, flags) _el_init(elp, (u32)(cmnd), (u16)flags) #define el_cp(elp, type, p, size, f) \ _elc(elp, type, (u32)(size), (u16)(f))->el_u1.cp=(char*)p #define el_cp32(elp, type, p, size, f) \ _elc(elp, type, (u32)(size), (u16)(f))->el_u1.u=(u32)p #define el_up(elp, type, p, f) \ _elc(elp, type, (u32)sizeof(u32), (u16)(f)|(u16)F_EL_STRUCTURED)->el_u1.up = (u32 *)p #endif KERNEL #endif _NETIOC_ /* * @(#)netioc.h 10.1 (NRC) */ ECV 17 /* recv a packet */ #define 32 * up; u32 u; pfi_t pfi; struct el * elp; } el_u; /* if the size of el changes fix el_cnt()!! */ typedef struct el { u16 el_type; u16 el_flags; u32 el_len; el_u el_u1; el_u el_u2; } el; import el * _elc(), * _el_init(); /* How many used. Expects size of an el to be 32 bytes */ #define el_cnt(elp1) ((elp1[0].el_u1.cp - (char *)(elp1)) >> 4) #define el_end(elp1) ((elp1)->el_u1.elp) /* the next one available */ #define el_last(elp1) ((elp1)->el_u1.elp - 1) /* the last valid one */ #define el_size(  u  ntty.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"elp1) ((elp1)[0].el_u1.cp - (char *)(elp1)) /* size in bytes*/ #define el_ioc(elp) ((SOIOCBASE-1)+el_cnt(elp)) #define el_u(elp, type, u1) \ _elc(elp, type, (u32)sizeof(u32), (u16)F_EL_STRUCTURED)->el_u1.u = (u32)(u1) #ifdef KERNEL #define el_init(elp, cmnd, flags) \ _el_init(elp,(u32)(cmnd),(u16)flags| F_EL_KERNEL) #define el_cp(elp, type, p, size, f) \ _elc(elp, type, (u32)(size), (u16)(f)|(u16)F_EL_KERNEL)->el_u1.cp=(char*)p #define el_ucp(elp, type, p, size, f) \ _elc(elp, type, (u32)(size), (u16)/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.ntty.h */ /* Version 10.1 as of 85/10/27 at 12:45:55 */ #ifndef _XNT_ #define _XNT_ #ifndef _STD_ #include #endif /* net tty structure (xnt.c) */ typedef struct nt { struct tty * nt_tp; /* tty structure associate(f))->el_u1.cp=(char*)p #define el_cp32(elp, type, p, size, f) \ _elc(elp, type, (u32)(size), (u16)(f)|(u16)F_EL_KERNEL)->el_u1.u=(u32)p #define el_ucp32(elp, type, p, size, f) \ _elc(elp, type, (u32)(size), (u16)(f))->el_u1.u=(u32)p #define el_up(elp, type, p, f) \ _elc(elp, type, (u32)sizeof(u32), (u16)(f)|(u16)(F_EL_STRUCTURED|F_EL_KERNEL))->el_u1.up = (u32 *)p #define el_xin(elp,kdest,c) ((elp[0].el_len==c)?el_in(elp,kdest,c):EINVAL) #define el_xout(elp,udest,c) ((elp[0].el_len==c)?el_out(elp,udest,cd with us */ char * nt_buf; /* output buffering area */ u16 nt_ccnt; /* output buffering count */ u16 nt_flags; /* nt state */ i16 nt_unbuffered; /* disables buffering (stackable) */ i16 nt_sleeping; i16 nt_soindex; /* sop that we're bound to */ u16 nt_pad1; } nt; #define is_real_owner() (os_ppid() == 1) #define F_NT_INITOPEN 0x1 #define F_NT_AVAILABLE 0x2 #define F_NT_BETWEEN 0x4 #define F_NT_ABORTING 0x8 #define F_NT_DELAYCLOSE 0x10 #endif _XNT_ /* * @(#)ntty.h 10.1 (NRC) */ cp; uY u 4os.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"Z  $0osdep.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.os.h */ /* Version 10.1 as of 85/10/27 at 12:45:57 */ /* os dependent structure (see so_t in so.h) */ #ifndef _OS_ #define _OS_ #ifdef INP #include typedef struct os { struct proc * os_procp; } os; #endif INP #i/* Copyright (C) 5/9/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: ./s.osdep.h */ /* Version 1.15 as of 85/05/09 at 19:20:45 */ #ifndef _OSDEP_ #define _OSDEP_ #include /* NOTE: watch your step! Need to avoid redefining this guy w/i the kernel! */ #ifdef KERNEL #define bzero md_bzero #defifdef UNIX #ifdef MASSCOMP #include #include #endif #ifdef CALLAN5 #include #endif #ifdef TEK4404 #include typedef struct os { struct userbl * os_up; struct task * os_taskp; int os_tstid; } os; #else #include typedef struct os { struct proc * os_procp; int os_pid; int os_pad1; } os; #endif TEK4404 #endif UNIX #ifdef vms #include #ifndef _STD_ #include #endif #ifndef _Q_ #include /* for */ #endif #ifndef _ne cheql md_cheql #define strcmp md_strcmp #define net_ioctl(fd, elp) so_ioctl(kdev(fd), el_ioc(elp), elp, 0) #endif KERNEL #define NET_ERR 80 #define INET_ERR -1 #define GOOD_EXIT 0 #define BAD_EXIT 1 /* Unix O/S Family **********************************************************/ #ifdef UNIX #define INFO_SOCKET "/dev/fusion/so000" #define SOIOCBASE ('s' << 8) #ifndef net_ioctl #define net_ioctl(fd, elp) ioctl(fd, el_ioc(elp), (char *)elp) #endif net_ioctl #ifdef KERNEL #include #endif typedef struct os { u32 os_pid; int os_sig; int os_pad1; tcb os_tcb; ACB os_acb; } os; #endif vms #endif _OS_ /* * @(#)os.h 10.1 (NRC) */ _u el_u2; } el; import el * _elc(), * _el_init(); /* How many used. Expects size of an el to be 32 bytes */ #define el_cnt(elp1) ((elp1[0].el_u1.cp - (char *)(elp1)) >> 4) #define el_end(elp1) ((elp1)->el_u1.elp) /* the next one available */ #define el_last(elp1) ((elp1)->el_u1.elp - 1) /* the last valid one */ #define el_size(/nerrno.h> #define NET_SIG (NSIG - 1) #define NO_PRIORITY -10000 /* any invalid priority value*/ #define NET_TIMER NET_PRIORITY #define is_kdev(dev) ((major(dev) & 0xFF) == 0xFF) #define kdev(dev) ((u16)(makedev(0xFF, minor(dev)))) #define os_gsignal gsignal #define os_normal(priority) splx(priority) #define os_printf printf #define os_wakeup(event) wakeup(event) #define os_critical spl6 #define ioc_base(cmnd) ((u16)(cmnd) & 0xff00) #ifdef INP #undef os_wakeup #define os_wakeup(event) os_swakeup(event, 0) #endif INP #endif KERNEL #ifdef V7 #define SIGIO (NSIG-1) #define SIGURG (NSIG-2) #ifdef KERNEL #undef os_critical #undef os_gsignal #define os_move(src, dst, cnt) blt(dst, src, cnt) #define os_critical spl5 #define os_gsignal signal #define os_ssleep() save(u.u_qsav) #else KERNEL /* memory block operations from 4.2 */ #define bcopy(b1,b2,l) (void)memcpy(b2,b1,l) #define bcmp(b1,b2,l) memcmp(b1,b2,l) #define bzero(b,l) (void)memset(b,0,l) #define gettimeofdayVOID | (SOIOCBASE-2)) #define SOIOCSNTTY (IOC_VOID | (SOIOCBASE-1)) #ifdef KERNEL #define EL_ACCESSIBLE #undef os_printf #define os_printf uprintf #define socket Fsocket #define bind Fbind #define connect Fconnect #define recv Frecv #define recvfrom Frecvfrom #define send Fsend #define sendto Fsendto #define socketpair Fsocketpair #undef bzero #define md_bzero to stop compilation of md_bzero #define md_cheql !bcmp #define os_ssleep() setjmp(&u.u_qsave) #else KERNEL #undef gettod #define settimeofday settod #endif KERNEL #endif V7 #ifdef SYS5 #define SIGIO (NSIG-1) #define SIGURG (NSIG-2) /* string functions for older programs (thank you Watson) */ #define index strchr #define rindex strrchr #ifdef KERNEL #ifndef minor #include #endif minor #undef os_gsignal #define os_gsignal signal #ifdef VAX #define os_move(src, dst, cnt) bcopy(src, dst, cnt) #else #define os_move(src, dst, cnt) blt(dst, src, cnt) #endif #ifdef UNISOFT5 #define os net_ioctl #define net_ioctl(fd, elp) ioctl(fd,IOC_IN|((el_size(elp)&IOCPARM_MASK)<<16) | el_ioc(elp),(char *)elp) #endif KERNEL #endif B42 #ifdef VENIX #undef SIGIO #undef NET_SIG #define SIGIO SIGEMT #define NET_SIG SIGIO #ifdef KERNEL #undef os_critical #undef os_gsignal #ifdef INP #define os_move sdcp #undef use_critical #undef critical #undef normal #define use_critical /**/ #define critical /**/ #define normal /**/ #else INP #ifndef VENIX11 #define os_move vx_move #define os_critical_ssleep() save(u.u_qsav) #else UNISOFT5 #define os_ssleep() setjmp(u.u_qsav) #endif UNISOFT5 #ifdef MOTO_5 #undef os_move #define copyin(src, dest, cnt) mmuread(src, dest, cnt) #define copyout(src, dest, cnt) mmuwrite(dest, src, cnt) #endif MOTO_5 #else KERNEL #define gettimeofday gettod #define settimeofday settod #endif KERNEL #endif SYS5 #ifdef SYS3 #define SIGIO (NSIG-1) #define SIGURG (NSIG-2) #ifdef KERNEL #ifndef minor #include #endif minor #ifndef MASSCOMP #undef os_g spl5 #else #include #ifndef XFUSION #define os_move sdcp #endif #define os_critical spl4 #endif VENIX11 #endif !INP #define os_gsignal signal #else KERNEL #define gettimeofday gettod #define settimeofday settod #endif KERNEL #endif VENIX #endif UNIX /* End of Unix O/S Family ****************************************************/ #ifdef TEK4404 #define SIGIO (NSIG-1) #define SIGURG (NSIG-2) #ifndef time_t #include #endif #undef net_ioctl #define net_ioctl(fd, elpsignal #define os_gsignal signal #endif MASSCOMP #define os_ssleep() setjmp(u.u_qsav) #else KERNEL #define gettimeofday gettod #define settimeofday settod #endif KERNEL #endif SYS3 #ifdef B41 #define SIGIO (NSIG-1) #define SIGURG (NSIG-2) #ifdef KERNEL #define os_ssleep() setjmp(u.u_qsav) #endif KERNEL #endif B41 #ifdef B42 #ifndef _IOCTL_ #include #endif _IOCTL_ #define our_direct direct #define od_name d_name #define od_namlen d_namlen #define SOIOCGNTTY (IOC_) _net_ioctl(fd, elp) /* memory block operations from 4.2 */ #define bcopy(b1,b2,l) (void)memcpy(b2,b1,l) #define bcmp(b1,b2,l) memcmp(b1,b2,l) #define bzero(b,l) (void)memset(b,0,l) #define gettimeofday gettod #define settimeofday settod #undef SOIOCBASE #define SOIOCBASE ((unsigned)32757) #undef SOIOCATMARK #define SOIOCATMARK (32754) /* SOIOCBASE - 3 */ #define ENIOCBASE 100 /* Ethernet specific ioctls */ /* add some handy errors missing on tek */ #define EPERM NET_ERR-1 #define ENXIO NET_ERR-2 #define ENODEV NET_ERR-3 #define ENFILE NET_ERR-4 #define EFBIG NET_ERR-5 #define EROFS NET_ERR-6 #endif TEK4404 #endif _OSDEP_ /* * @(#)osdep.h 1.15 (NRC) */ dst, src, cnt) #define os_critical spl5 #define os_gsignal signal #define os_ssleep() save(u.u_qsav) #else KERNEL /* memory block operations from 4.2 */ #define bcopy(b1,b2,l) (void)memcpy(b2,b1,l) #define bcmp(b1,b2,l) memcmp(b1,b2,l) #define bzero(b,l) (void)memset(b,0,l) #define gettimeofdayr_reject; pfi_t pr_zzzpfi; } pr_t; #endif _PR_ /* * @(#)pr.h 10.1 (NRC) */ b2,l) (void)memcpy(b2,b1,l) #define bcmp(b1,b2,l) memcmp(b1,b2,l) #define bzero(b,l) (void)memset(b,0,l) #define gettimeofday gettod #define settimeofday settod #undef SOIOCBASE #define SOIOCBASE ((unsigned)32757) #undef SOIOCATMARK #define SOIOCATMARK (32754) /* SOIOCBASE - 3 */ #define ENIOCBASE 100 /* Ethernet specific ioctls */ /* add some handy errors missing on tek */ #define EPERM NET_ERR-1 #dO  Pu ;pr.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"  opronet.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.pr.h */ /* Version 10.1 as of 85/10/27 at 12:45:59 */ #ifndef _PR_ #define _PR_ /* Definitions and Macros for dealing with the `pr_t' structure */ #ifndef _STD_ #include #endif /* flags for pr_t.pr_flags */ #defin/* Copyright (C) 11/21/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.pronet.h */ /* Version 10.1.1.1 as of 85/11/21 at 11:17:21 */ #define PN_VERSION 2 /* as laid out by Proteon */ #define PN_MAX_PACKET 2046 /* max packet for proteon boards */ /* max data for proteon boards */ #define PN_MAX_e F_PR_NEEDS_CONNECT 0x0001 /* protocol switch */ typedef struct pr_t { u16 pr_af; /* address format */ u16 pr_protocol; u16 pr_type; u16 pr_flags; u16 pr_cpsize; u16 pr_psize; pfi_t pr_init; pfi_t pr_accept; pfi_t pr_attach; pfi_t pr_bind; pfi_t pr_connect; pfi_t pr_ioctl; pfi_t pr_getopt; pfi_t pr_listen; pfi_t pr_inaddr; pfi_t pr_outaddr; pfi_t pr_pair; pfi_t pr_recv; pfi_t pr_send; pfi_t pr_setopt; pfi_t pr_shutdown; st pr_up; pfi_t pr_close; st pr_err; pfi_t pr_dink; pfi_t pDATA (PN_MAX_PACKET-sizeof(proh)) /* Proteon link layer header */ typedef struct { char proh_dest; char proh_src; char proh_version; char proh_protocol; u16 proh_reserved; } proh; #define PRONET_RAW 0 #define PN_IP 1 /* DARPA Internet Protocol Packet */ #define PN_ARP 4 /* Address Resolution Protocol Packet */ #define PN_XNS 14 /* XNS Packet */ #define PN_DIAGNOSTIC 15 /* Diagnostic Packet (ignored by FUSION) */ #define isbroadcast(addr) (addr) == (char)0xff /* * @(#)pronet.h 10.1.1.1 (NRC)  */ ject; pfi_t pr_zzzpfi; } pr_t; #endif _PR_ /* * @(#)pr.h 10.1 (NRC) */ b2,l) (void)memcpy(b2,b1,l) #define bcmp(b1,b2,l) memcmp(b1,b2,l) #define bzero(b,l) (void)memset(b,0,l) #define gettimeofday gettod #define settimeofday settod #undef SOIOCBASE #define SOIOCBASE ((unsigned)32757) #undef SOIOCATMARK #define SOIOCATMARK (32754) /* SOIOCBASE - 3 */ #define ENIOCBASE 100 /* Ethernet specific ioctls */ /* add some handy errors missing on tek */ #define EPERM NET_ERR-1 #d2b; /* max. # of back-to-back packets to send */ u32 sv_delay; /* last route's delay value */ u32 sv_rex; /* msec. to go before rexmit */ u32 sv_mrex; /* restore value for 'sv_rex' */ /* These variables defined on pgs. [70..71] MIL-STD-1778 */ m32 sv_snxt; /* Send_NXT */ m32 sv_suna; /* Send_UNA */ m32 sv_surg; /* Send_URG */ m32 sv_spsh; /* Send_PuSH */ m32 sv_rnxt; /* Recv_NeXT */ m32 sv_rurg; /* Recv_URG */ u16 sv_swnd; /* Send_WNDw */ u16 sv_1pad; /* align those bits... */ } tcpsu_t; /* Rk[ lu psu.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"ecv_WNDw is synthesized out of queue count and max */ #define rwnd(sop) ((sop)->so_rq.gq_max - (sop)->so_rq.gq_cnt) /* IP security compartment */ typedef struct { a16 ips_sec; /* security */ a16 ips_cmp; /* compartments */ a16 ips_hr; /* handling restrictions */ a32 ips_tcc; /* transmission control code (24 bits) */ } ips_t; /* Internet Protocol Specific Union */ typedef struct { u8 ipsu_ttl; /* ttl for outgoing packets */ u8 ipsu_tos; /* tos for outgoing packets */ ips_t ipsu_sec; /* security:com/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.psu.h */ /* Version 10.1 as of 85/10/27 at 12:46:03 */ #ifndef _PSU_ #define _PSU_ #ifndef _STD_ #include #endif #ifndef _Q_ #include /* for */ #endif #ifndef _TCB_ #include #endif #defpartment:handling:tcc */ } ipsu_t; /* Darpa Protocols Specific Union */ typedef struct { ipsu_t dpsu_ip; /* IP */ union { /* union of darpa protocols */ tcpsu_t dpsu_utcp; /* TCP */ } dpsu_u; } dpsu_t; /* Xerox sequenced packet state */ typedef struct xst { u16 xst_flags; /* see defines in */ u16 xst_seq_num; /* the next send side seq num */ u16 xst_s_c_id; /* source connection id */ u16 xst_d_c_id; /* destination connection id */ u16 xst_l_c_id; /* last connection id for listener */ uine MOD32 /* for tcpsu_t */ #ifndef _MODULO_ #include #endif /* Protocol specific structures and their union */ /* Transmission Control Protocol Specific Union */ typedef struct { /* TCP state vector */ u8 sv_abort; /* rexmits to go before aborting */ u8 sv_mabort; /* restore value for 'sv_abort' */ u16 sv_state; /* state of connection */ u16 sv_misc; /* historical state & pending actions */ u16 sv_mswnd; /* max send window */ u16 sv_hrwnd; /* 1/2 max receive window size */ u16 sv_b16 xst_expect; /* expected recv side seq num */ a48 xst_l_host; /* last connection's host id */ i16 xst_sq_max; /* send q max */ i16 xst_rq_max; /* recv q max */ i16 xst_countdown; /* retransmission/abort countdown */ u16 xst_points; /* how many ack requests we've seen */ u16 xst_cpoints; /* packets consumed since last empty trigger */ tcb xst_tcb; /* timer control block */ } xst; /* Xerox packet exchange state */ typedef struct xpes { i32 xpes_countdown; u32 xpes_id; tcb xpes_tcb; } xpes; /* Xerox base reliable message protocol */ typedef struct xrs { xna x_src; u16 x_packet_id; u16 x_age; } xrs; typedef struct xrds { i16 xrt_errindex; i16 xrt_pad1; tcb xrt_tcb; xrs xrt_xrsa[5]; } xrds; /* Intra machine protocol */ typedef struct iasu { u32 ia_flags; u32 ia_id; st ia_rfn; /* fn to place into receive queue */ char * ia_ppad1; } iasu; #ifdef XLL_PROTOCOL /*??msd?? this definitely sucks!??*/ typedef struct pllsu { struct netdev * ps_ndp; /* ptr. to bound netdev */ pfi_t ps_sendsav; / #define F_Q_HEADER 0x0001 /* denotes a queue head */ #define F_Q_LOCKED 0x0002 /* don't mess with this right now */ #define F_Q_ZAPPED 0x0004 /* this entry awaiting burial */ #define F_Q_PRESERVE 0x0008 /* preserve across unlocks */ #define F_Q_BYTE_QUEUE 0x0800 /* byte-style vs. packet-style queue */ #define is_header(ptr) bT1(((q *)(ptr))->q_flags,F_Q_HEADER) #define is_zapped(ptr) bT1(((q *)(ptr))->q_flags,F_Q_ZAPPED) #define is_locked(ptr) bT1(((q *)(ptr))->q_flags,F_Q_LOCKED) #define q_empty(qp)  /* prev. contents of ndp->nd_send */ u32 ps_netidsav; /* prev. contents of ndp->nd_netid */ u32 ps_flagsav; /* prev. contents of ndp->nd_flags */ } pllsu; #else #define pllsu int #endif typedef union { iasu ia_state; dpsu_t dpu_state; pllsu pll_state; xpes xpe_state; xrds xrd_state; xst xsp_state; } psu; #endif _PSU_ /* * @(#)psu.h 10.1 (NRC) */ def bzero #define md_bzero to stop compilation of md_bzero #define md_cheql !bcmp #define os_ssleep() setjmp(&u.u_qsave) #else KERNEL #undef (((q *)(qp))->q_next == (q *)(qp)) typedef struct mq { struct m * mq_hmp; /* head link */ struct m * mq_tmp; /* tail link */ } mq; typedef struct q { struct q * q_next; /* forward link */ struct q * q_prev; /* backward link */ u16 q_flags; /* used for locking, zapping etc. */ u16 q_pad1; } q; /* guarded q structure */ typedef struct gq { q gq_q; /* head and tail links */ i16 gq_cnt; /* how many elements are on this queue */ i16 gq_max; /* how many elements can be on this queue */ i16 gq_\ u q.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"sleeping; /* how many procs are sleeping on this queue */ i16 gq_status; /* status to be passed up when awakened */ struct gq * gq_gqp; /* used by select to forward wakeups/sleeps */ char * gq_ppad1; } gq; /* internal queue manipulation macros, to be used in critical section */ #define _q_init(qp) ((qp)->q_next=(qp),(qp)->q_prev=(qp)) #define _q_intail(a,b) q_in((a)->q_prev, b) #define _q_rem(qp) ((qp)->q_next->q_prev=(qp)->q_prev,(qp)->q_prev->q_next=(qp)->q_next) #endif _Q_ /* * @(#)q.h 10.1 (NRC) /* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.q.h */ /* Version 10.1 as of 85/10/27 at 12:46:07 */ #ifndef _Q_ #define _Q_ /* Definitions and Macros for dealing with `q', `gq' and `mq' structures */ #ifndef _STD_ #include #endif _STD_ /* flags for q.q_flags * */ ment:handling:tcc */ } ipsu_t; /* Darpa Protocols Specific Union */ typedef struct { ipsu_t dpsu_ip; /* IP */ union { /* union of darpa protocols */ tcpsu_t dpsu_utcp; /* TCP */ } dpsu_u; } dpsu_t; /* Xerox sequenced packet state */ typedef struct xst { u16 xst_flags; /* see defines in */ u16 xst_seq_num; /* the next send side seq num */ u16 xst_s_c_id; /* source connection id */ u16 xst_d_c_id; /* destination connection id */ u16 xst_l_c_id; /* last connection id for listener */ u K  Lorem.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.select.h */ /* Version 10.1 as of 85/10/27 at 12:46:11 */ #ifndef _SELECT_ #define _SELECT_ #ifndef _STD_ #include #endif typedef struct sel { u16 se_flags; i16 se_fd; /* holds process local file id */ u32 se_d/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.rem.h */ /* Version 10.1 as of 85/10/27 at 12:46:09 */ #ifndef _REM_ #define _REM_ /* Data stream types in sequence packets for login & descendant processing */ #define REM_DATA 0 /* regular character data in packet */ #defineev; /* holds kernel file id */ } sel; #define F_SE_READ 0x1 /* select if read completes */ #define F_SE_CREAD 0x2 /* indicates read completed */ #define F_SE_WRITE 0x4 /* select if write completes */ #define F_SE_CWRITE 0x8 /* indicates write completed */ #define F_SE_OTHER 0x10 /* select if other completes */ #define F_SE_COTHER 0x20 /* indicates other completed */ #define F_SE_MASK 0x3F #define F_SE_FIRSTFREE 0x200 /* used as base for local flags */ #endif _SELECT_ /* * @(#)select.h 10.1 (NRC) */  REM_ECHO 1 /* kindly fling it back to my shell */ #define REM_IOCTL 2 /* remote ioctl, data follows */ #define REM_RLOGIN 3 /* new rlogin signaling old one */ #define REM_CLOSE 254 /* socket being closed by protocol */ #define REM_END 255 /* lost second part of socket close */ #endif _REM_ /* * @(#)rem.h 10.1 (NRC) */ 1(((q *)(ptr))->q_flags,F_Q_HEADER) #define is_zapped(ptr) bT1(((q *)(ptr))->q_flags,F_Q_ZAPPED) #define is_locked(ptr) bT1(((q *)(ptr))->q_flags,F_Q_LOCKED) #define q_empty(qp) 7  8osf.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"] u &select.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.sf.h */ /* Version 10.1 as of 85/10/27 at 12:46:13 */ #ifndef _SF_ #define _SF_ #define sf_nil (-1L) #ifndef PAGE_SIZE #define PAGE_SIZE (1024L) #endif #define sf_ilgetc(sfp) (((sfp)->s_top <= (sfp)->s_buf) ? sf_lgetc((sfp)):  (*--(sfp)->s_bot = *--(sfp)->s_top)) #define sf_irgetc(sfp) (((sfp)->s_bot >= (sfp)->s_eob) ? sf_rgetc((sfp)) : (*(sfp)->s_top++ = *(sfp)->s_bot++)) typedef struct sf { char * s_bot; /* bottom side of split in buffer, */ /* points to the current character */ char * s_top; /* top side of split in buffer */ char * s_buf; /* in core buffer */ char * s_eob; /* end of in core buffer */ int s_o_fd; /* original file descriptor */ int s_t_fd; /* fd for top temp file */ int s_b_fd; /* fd for bott ^  u 8so.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"om temp file */ int s_pad1; long s_t_o_p; /* physical bytes in top original file */ long s_t_o_l; /* logical bytes in top original file */ long s_t_t_p; /* physical bytes in top temp file */ long s_t_t_l; /* logical bytes in top temp file */ long s_b_o_p; /* physical bytes in bottom original file */ long s_b_o_l; /* logical bytes in bottom original file */ long s_b_t_p; /* physical bytes in bottom temp file */ long s_b_t_l; /* logical bytes in bottom temp file */ long s_utsize; /* unmodified to/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.so.h */ /* Version 10.1 as of 85/10/27 at 12:46:15 */ #ifndef _SO_ #define _SO_ /* Definitions and Macros for dealing with the `so_t' structure */ #ifndef _STD_ #include #endif #ifndef _Q_ #include #endifp size */ long s_ubsize; /* unmodified bottom size */ long s_usize; /* unmodified file size (size before mods) */ int s_modified; int s_pad2; } sf; #define is_modified(sfp) ((sfp)->s_modified) #define reset_modified(sfp) ((sfp)->s_modified = false) export boolean sf_modified(), sf_bind(), sf_eof(); export int sf_read(), sf_write(), sf_insert(); export long sf_tell(), sf_loc(), sf_seek(), sf_search(); export sf * sf_creat(), * sf_open(); export unsigned sf_lgetc(), sf_rgetc(); export void sf_close(), s #ifndef _SOCKET_ #include #endif #ifndef _TCB_ #include /* for */ #endif #ifndef _PSU_ #include #endif /* flags for sock_t.so_flags */ #define F_SO_OPEN 0x0001 #define F_SO_CONNECTED 0x0002 #define F_SO_SIGSENT 0x0004 #define F_SO_ASYNC 0x0008 #define F_SO_CLOSING 0x0010 #define F_SO_RSHUTDOWN 0x0020 /* reading shutdown */ #define F_SO_WSHUTDOWN 0x0040 /* writing shutdown */ #define F_SO_CLSDELAY 0x0080 /* actual close will be delayed */ #define F_SO_KILL f_delete(); #endif _SF_ /* * @(#)sf.h 10.1 (NRC) */ pecific Union */ typedef struct { ipsu_t dpsu_ip; /* IP */ union { /* union of darpa protocols */ tcpsu_t dpsu_utcp; /* TCP */ } dpsu_u; } dpsu_t; /* Xerox sequenced packet state */ typedef struct xst { u16 xst_flags; /* see defines in */ u16 xst_seq_num; /* the next send side seq num */ u16 xst_s_c_id; /* source connection id */ u16 xst_d_c_id; /* destination connection id */ u16 xst_l_c_id; /* last connection id for listener */ u0x0100 /* remove when unlocked */ #define is_async(sop) bT1((sop)->so_flags,F_SO_ASYNC) #define is_closing(sop) bT1((sop)->so_flags,F_SO_CLOSING) #define is_connected(sop) bT1((sop)->so_flags,F_SO_CONNECTED) #define is_open(sop) bT1((sop)->so_flags,F_SO_OPEN) #define is_packet(sop) (!is_stream(sop)) #define is_stream(sop) ((sop)->so_prp->pr_type == SOCK_STREAM) #define is_rshutdown(sop) bT1((sop)->so_flags,F_SO_RSHUTDOWN) #define is_wshutdown(sop) bT1((sop)->so_flags,F_SO_WSHUTDOWN) #define is_info_s!ocket(sop) ((sop)->so_index == 0) #define needs_connect(sop) bT1((sop)->so_prp->pr_flags,F_PR_NEEDS_CONNECT) #define so_cqhead(sop,errp,wait_ok) ((m *)gq_head(&((sop)->so_cq),errp,wait_ok)) #define so_cqin(sop,mp) so_qin(sop,&(sop)->so_cq,mp) #define so_hqin(sop,mp) so_qin(sop,&(sop)->so_hq,mp) #define so_rqhead(sop,errp,wait_ok) ((m *)gq_head(&((sop)->so_rq),errp,wait_ok)) #define so_rqin(sop,mp) so_qin(sop,&(sop)->so_rq,mp) #define so_rqwaiting(sop) ((sop)->so_rq.gq_sleeping) #define so_rqout(sop) gqs_ t (socket.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"_out(&(sop)->so_rq,1) /* socket */ typedef struct so_t { q so_q; /* for protocol/family use */ gq so_cq; /* connection queue */ gq so_sq; /* send queue */ gq so_rq; /* receive queue */ gq so_hq; /* holding queue */ so_addr so_src; /* our network address (sans net #) */ so_addr so_dest; /* where we're going to */ secure so_secure; /* security structure */ struct pr_t * so_prp; /* protocol entrypoint pointer */ struct netdev * so_ndp; /* Link for RAW stuff */ struct so_t * so_pair; //* Copyright (C) 11/19/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: s.socket.h */ /* Version 10.2 as of 85/11/19 at 07:33:09 */ #ifndef _SOCKET_ #define _SOCKET_ #ifndef _STD_ #include #endif _STD_ /* address families */ #define AF_UNSPEC 0 /* unspecified */ #define AF_INTRA 1 /* O/S-dependent* paired socket */ struct os * so_osp; /* os specific structure (os.h) */ u16 so_flags; /* socket flags */ u16 so_index; /* this sockets index */ u16 so_psize; /* maximum packet size */ u16 so_hsize; /* maximum header size */ u16 so_options; /* socket option flags */ u16 so_poptions; /* protocol specific option flags */ int so_signal; /* signal we want on async activity */ int so_err; u32 so_rtrkey; /* router key (cache) */ psu so_psu; /* protocol specific union */ } so_t; #endif _SO_  path names */ #define AF_INET 2 /* ARPA Internet address */ #define AF_NS 3 /* Xerox Network Systems protocols */ #define AF_NBS 4 /* NBS protocols */ #define AF_CCITT 5 /* CCITT protocols, X.25 etc */ #define AF_SNA 6 /* IBM SNA */ #define AF_ARP 7 /* Address Resolution Protocol */ #define AF_1 8 /* customer expansion */ #define AF_2 9 /* " */ /* link layer address families */ #define AF_XLL 10 /* Raw External Link Layer */ #define AF_ETHER 11 /* Raw Ethernet */ #define AF_PRONET 12 /* Raw Prote /* * @(#)so.h 10.1 (NRC) */ col */ typedef struct xrs { xna x_src; u16 x_packet_id; u16 x_age; } xrs; typedef struct xrds { i16 xrt_errindex; i16 xrt_pad1; tcb xrt_tcb; xrs xrt_xrsa[5]; } xrds; /* Intra machine protocol */ typedef struct iasu { u32 ia_flags; u32 ia_id; st ia_rfn; /* fn to place into receive queue */ char * ia_ppad1; } iasu; #ifdef XLL_PROTOCOL /*??msd?? this definitely sucks!??*/ typedef struct pllsu { struct netdev * ps_ndp; /* ptr. to bound netdev */ pfi_t ps_sendsav; on */ #define AF_IMPLINK 13 /* IMP "host at IMP" addresses */ #define AF_L1 14 /* customer expansion */ #define AF_L2 15 /* " */ #define AF_L3 16 /* " */ #define AF_L4 17 /* " */ #define MAX_AF AF_L4 /* last address family */ #define MIN_LLAF AF_XLL /* first link layer address family */ #define MAX_LLAF MAX_AF /* last link layer address family */ #define AF_UNIX AF_INTRA /* UNIX path names */ /* although the following address families alluded to by Berkeley have * a dubious future under Fusion, neve!rtheless, their names are reserved: * AF_PUP Xerox PUP-I internet address * AF_CHAOS MIT CHAOS protocols * AF_ECMA European computer manufacturers * AF_DATAKIT datakit protocols */ /* address family and link layer address family counts / macros */ #define NAF (MAX_AF+1) /* number of AF's */ #define NLLAF (MAX_LLAF-MIN_LLAF+1) /* number of link layer AF's */ #define af_ix(a) (a) /* AF to index */ #define aflim(a) bound((a),(u16)0,(u16)MAX_AF) /* bound AF */ #ifdef KERNEL #define afok(a) (inbound((uOB|MSG_PEEK|MSG_DONTROUTE) /* NRC value added */ #define MSG_BLOCKING 0x8000 /* override any nonblocking state */ #define MSG_NONBLOCKING 0x4000 /* override any blocking state */ #define MSG_FDBROADCAST 0x2000 /* want full duplex broadcasts */ #define MSG_MASK (MSG_FLAGS|MSG_BLOCKING|MSG_NONBLOCKING|MSG_FDBROADCAST) /* condition types for the async call */ #define INCOMING_DATA 0 #define CONNECTION_COMP 1 #define ACCEPT_COMP 2 #define WRITE_READY 3 /* Address structures for all supported families */ typ16)(a),(u16)0,(u16)MAX_AF)&&ahp_tbl[a]->ah_valid) #else #define afok(a) inbound((a),(u16)0,(u16)MAX_AF) #endif #define llaf_ix(a) ((a)-(u16)MIN_LLAF) /* link layer AF to index */ #define llaflim(a) bound((a),(u16)MIN_LLAF,(u16)MAX_LLAF) /* bound link layer AF */ #define llafok(a) inbound((a),(u16)MIN_LLAF,(u16)MAX_LLAF) /* socket types */ #define SOCK_STREAM 1 /* virtual circuit */ #define SOCK_DGRAM 2 /* datagram */ #define SOCK_RAW 3 /* raw socket */ #define SOCK_RDM 4 /* reliable-delivered message */ edef struct xna { /* Xerox Internet Address */ a32 xn_network; a48 xn_host; a16 xn_socket; } xna; typedef struct ipa { /* DARPA Internet Protocol Address */ a16 ip_port; /* an IP port number */ union { struct { char ip_u_b1; char ip_u_b2; char ip_u_b3; char ip_u_b4; } ip_u_b; struct { a16 ip_u_w1; a16 ip_u_w2; } ip_u_w; a32 ip_u_a; } ip_u; /* Internet address */ #define ip_nethost ip_u.ip_u_a /* Composite network/host address */ #define ip_host ip_u.ip_u_b.ip_u_b2 /* Host#define SOCK_SEQPACKET 5 /* sequenced packet */ #define SOCK_PACK_EX 6 /* packet exchange non Berkeley */ /* level number for get/setsockopt to apply to socket itself */ #define SOL_SOCKET 0xFFFF /* socket options used with get/setsockopt calls */ #define SO_DEBUG 0x1 /* turn on debugging */ #define SO_ACCEPTCONN 0x2 /* socket has had listen() */ #define SO_REUSEADDR 0x4 /* allow local address reuse */ #define SO_KEEPALIVE 0x8 /* keep connections alive */ #define SO_DONTROUTE 0x10 /* just use interface  on Imp */ #define ip_net ip_u.ip_u_b.ip_u_b1 /* Network */ #define ip_imp ip_u.ip_u_w.ip_u_w2 /* Imp */ #define ip_impno ip_u.ip_u_b.ip_u_b4 /* Imp number */ #define ip_lh ip_u.ip_u_b.ip_u_b3 /* Logical host */ } ipa; /* Typed socket addresses for all supported address families */ typedef struct sockaddr { /* Generic socket address */ short sa_type; char sa_data[22]; } saddr; typedef struct xsockaddr { /* XNS socket address */ short sa_type; /* AF_NS */ xna sa_xna; } xsaddr; /* Congruent to the nasaddresses */ #define SO_USELOOPBACK 0x40 /* bypass hardware where possible */ #define SO_LINGER 0x80 /* linger on close if data is present */ #define SO_DONTLINGER (~SO_LINGER) #define MAXOPTVALEN 32 /* max. size of socket option value */ /* 4.2bsd send/recv standard flags */ #define MSG_OOB 0x1 /* process out of band information */ #define MSG_PEEK 0x2 /* peek at incoming message */ #define MSG_DONTROUTE 0x4 /* send without using routing tables */ /* 4.2bsd standard flag mask */ #define MSG_FLAGS (MSG_Oty WNJ-style stuff in "un.h" */ typedef struct lsockaddr { /* Intramachine (local) socket address */ short sa_type; /* AF_INTRA */ char sa_name[2]; /* null-terminated string (can be longer) */ } lsaddr; /* Congruent to the nasty stuff in "in.h" */ typedef struct isockaddr { /* DARPA Internet socket address */ short sa_type; /* AF_INET */ ipa sa_ipa; } isaddr; typedef struct eaddr { /* Raw Ethernet socket address */ short sa_type; /* AF_ETHER */ a48 sa_ena; } esaddr; typedef struct proaddr { /* Raw" Pronet socket address */ short sa_type; /* AF_PRONET */ char sa_pna; } psaddr; typedef struct kiaaddr { /* AF_INTRA address w/i the kernel */ u16 ksa_type; /* AF_INTRA */ u16 ksa_pad1; struct str_t * ksa_str; /* ptr. to funny name structure */ } kiaaddr; typedef union sa_u { /* union of all types of socket addresses */ saddr au_saddr; /* generic */ xsaddr au_xsaddr; /* AF_NS: Xerox network */ lsaddr au_lsaddr; /* AF_INTRA: local to this machine */ isaddr au_isaddr; /* AF_INET: DARPA Internet  `  u "std.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"*/ esaddr au_esaddr; /* AF_ETHER: Ethernet address */ psaddr au_psaddr; /* AF_PRONET: Pronet address */ } sa_u; /* Security structures for all address families */ typedef struct secure { /* Generic security structure */ char sec_data[16]; } secure; /* Route key structure */ typedef struct rte { saddr rte_net; /* network number (partial address) */ saddr rte_gwy; /* gateway host (full host address) */ secure rte_secure; /* security structure */ } rte; /* Socket option value structure */ typedef st/* Copyright (C) 11/20/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: s.std.h */ /* Version 10.4 as of 85/11/20 at 08:14:41 */ #ifndef _STD_ #define _STD_ #define ARR_CNT(a) (sizeof(a)/sizeof(a[0])) #define ARR_END(a) (&a[ARR_CNT(a)]) #define ARR_LAST(a) (&a[ARR_CNT(a) - 1]) #define U16_PATTERN (u16)0x010ruct socketopt { int so_optlen; /* length of optdata area */ char * so_optdata; /* pointer to data */ } socketopt; /* Internal structure for socket addresses. Congruent to Berkeley 'saddr' * structure from 'a_type' down. */ typedef struct { u16 a_len; u16 a_pad1; union { sa_u a_sa_u; kiaaddr a_kiaaddr; } a_u; } so_addr; /* short-hand definitions to get into so_addr */ #define a_saddr a_u.a_sa_u.au_saddr #define a_type a_saddr.sa_type #define a_data a_saddr.sa_data #define a_xsaddr a_u.a_sa_u.0 #define U32_PATTERN (u32)0x03020100 #define SYS_ERR (-1) #define ERR (-1) /* pseudo keywords */ #define boolean int #define import extern #define export #define OK 0 #define true 1 #define false 0 #define fallthru #define skip #define use_critical fast int _savpri #define critical (_savpri = os_critical()) #define normal (os_normal(_savpri)) #define forever while(1) #define until(cond) while(!(cond)) #define unless(cond) if(!(cond)) #define ifnot(cond) if(!(cond)) /* standard FUSau_xsaddr #define a_lsaddr a_u.a_sa_u.au_lsaddr #define a_isaddr a_u.a_sa_u.au_isaddr #define a_esaddr a_u.a_sa_u.au_esaddr #define a_psaddr a_u.a_sa_u.au_psaddr #define a_xna a_xsaddr.sa_xna #define a_ipa a_isaddr.sa_ipa #define a_ena a_esaddr.sa_ena #define a_pna a_psaddr.sa_pna #define a_intra a_u.a_kiaaddr.ksa_str #endif _SOCKET_ /* * @(#)socket.h 10.2 (NRC) */ coming message */ #define MSG_DONTROUTE 0x4 /* send without using routing tables */ /* 4.2bsd standard flag mask */ #define MSG_FLAGS (MSG_OION types */ typedef boolean (*pfb_t)(); typedef int (*pfi_t)(); typedef long (*pfl_t)(); typedef pfi_t (*pfpfi_t)(); typedef char * (*st)(); /* ptr. to a state function */ typedef struct a16 { /* a 16-bit byte-ordered structure */ char a2[2]; } a16; typedef struct a32 { /* a 32-bit byte-ordered structure */ char a4[4]; } a32; typedef struct a48 { /* a 48-bit byte-ordered structure */ char a6[6]; } a48; #ifndef TCP_ONLY #define brd_host_addr(p) /* normally, don't care what the board address is */ #"endif #include /* system configuration */ #include /* C compiler dependencies */ #ifndef _DEBUG_ #include #endif /* MSDOS20 Compiler can't handle include files nested more than 2 levels */ #ifdef MSDOS #ifdef KERNEL #include #endif /* KERNEL */ #endif /* MSDOS */ #ifndef nil #define nil (mem_addr)(0) #endif #ifndef odd #define odd(x) ((x)&1) #endif #ifndef abs #define abs(i) ((i < 0) ? -i : i) #endif #ifndef max #define max(x,y) ((x)l  mo"tc.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh" >= (y) ? (x) : (y)) #endif #ifndef min #define min(x,y) ((x) <= (y) ? (x) : (y)) #endif #ifndef bound #define bound(v,min,max) ((v)<(min) ? (min) : (v)<(max) ? (v) : (max)) #endif #ifndef inbound #define inbound(v,min,max) ((min)<=(v) && (v)<=(max)) #endif #ifndef XENIX #define far #endif #ifndef SEP_STACK #define cptostack(val, ptr) (*(ptr) = val) #endif #ifdef KERNEL extern int * h_alloc(), * h_palloc(); #define kpnewa(type, cnt) ((type *)h_palloc((int)((cnt) * sizeof(type)), (int *)0, false)) #d/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.tc.h */ /* Version 10.1 as of 85/10/27 at 12:46:25 */ #ifndef _TC_ #define _TC_ #define TC_OK 0 #define E_TC_INVALID -1 #define E_TC_NOSPACE -2 #define E_TC_NOFILE -3 #define E_TC_EMPTY -4 #define E_TC_NOENT -5 import char *efine knewa(type, cnt) ((type *)h_alloc((cnt) * sizeof(type), (int *)0, false)) #else #ifndef newa extern char * calloc(); #define newa(type, cnt) ((type *)(calloc((unsigned)(cnt), (unsigned)sizeof(type)))) #endif #ifndef resize extern char * realloc(); #define resize(type, ptr, cnt) ((type *)(realloc(ptr, (unsigned)(cnt) * (unsigned)sizeof(type)))) #endif #ifndef new #define new(type) newa(type, 1) #endif #ifndef cfree #define cfree(ptr) free((char *)(ptr)) #endif #endif !KERNEL #endif _STD_ /* * @ tc_string(), * tc_number(), * tc_boolean(); import int tc_get(); #endif _TC_ /* * @(#)tc.h 10.1 (NRC) */ ne boolean int #define import extern #define export #define OK 0 #define true 1 #define false 0 #define fallthru #define skip #define use_critical fast int _savpri #define critical (_savpri = os_critical()) #define normal (os_normal(_savpri)) #define forever while(1) #define until(cond) while(!(cond)) #define unless(cond) if(!(cond)) #define ifnot(cond) if(!(cond)) /* standard FUS(#)std.h 10.4 (NRC) */ dr a_u.a_sa_u.au_lsaddr #define a_isaddr a_u.a_sa_u.au_isaddr #define a_esaddr a_u.a_sa_u.au_esaddr #define a_psaddr a_u.a_sa_u.au_psaddr #define a_xna a_xsaddr.sa_xna #define a_ipa a_isaddr.sa_ipa #define a_ena a_esaddr.sa_ena #define a_pna a_psaddr.sa_pna #define a_intra a_u.a_kiaaddr.ksa_str #endif _SOCKET_ /* * @(#)socket.h 10.2 (NRC) */ coming message */ #define MSG_DONTROUTE 0x4 /* send without using routing tables */ /* 4.2bsd standard flag mask */ #define MSG_FLAGS (MSG_O u #tcb.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"#/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.tcb.h */ /* Version 10.1 as of 85/10/27 at 12:46:26 */ #ifndef _TCB_ #define _TCB_ /* Definitions and Macros for dealing with the `tcb' structure */ #ifndef _STD_ #include #endif #ifndef _Q_ #include #endlude #endif /* TCP header */ typedef struct { a16 tcph_sport; /* source port number */ a16 tcph_dport; /* destination port number */ a32 tcph_seqno; /* sequence number of first data byte */ a32 tcph_ackno; /* sequence number we next expect */ a16 tcph_flags; /* 4 bits data offset : 12 bits flags */ a16 tcph_window; /* how much data can be accepted now */ a16 tcph_checksum; /* ones complement checksum */ a16 tcph_urgent; /* urgent pointer */ } tcph_t; /* Receive Maximum Segment Size TCP if /* flags for tc.tc_flags */ #define F_T_ONESHOT 0x0001 /* pfi to be called once only */ #define F_T_ALLOCATED 0x0002 /* this tcb was heap allocated */ #define F_T_CRITICAL 0x0004 #define t_ms_update(p,ms) ((p)->tc_original = ms) /* Timer control block structure */ typedef struct tcb { q tc_q; u16 tc_flags; u16 tc_pad1; u32 tc_original; i32 tc_remaining; char * tc_arg; pfi_t tc_pfi; } tcb; #endif _TCB_ /* * @(#)tcb.h 10.1 (NRC) */ (!(cond)) #define ifnot(cond) if(!(cond)) /* standard FUSoption */ typedef struct { u8 tcpo_kind; u8 tcpo_size; a16 tcpo_mrss; } tcpo_t; /* flags in TCP header ('tcph_flags') */ #define URG ((u16)0x0020) /* URGent pointer is significant */ #define ACK ((u16)0x0010) /* ACKnowledgement field is significant */ #define PSH ((u16)0x0008) /* PuSH function active in this segment */ #define RST ((u16)0x0004) /* connection ReSeT directive */ #define SYN ((u16)0x0002) /* SYNchronize seq numbers directive */ #define FIN ((u16)0x0001) /* FINished, no more data from sende   u -tcp.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"r, start close */ #define FLAG_MASK ((u16)0x0FFF) /* top 4 bits is data offset */ #define RSVD_FLGS ((u16)0x0FC0) /* these bits are reserved */ /* macros to test the states of flags */ #define URG_ON(f) bT1((f), URG) #define URG_OFF(f) bF1((f), URG) #define ACK_ON(f) bT1((f), ACK) #define ACK_OFF(f) bF1((f), ACK) #define PSH_ON(f) bT1((f), PSH) #define PSH_OFF(f) bF1((f), PSH) #define RST_ON(f) bT1((f), RST) #define RST_OFF(f) bF1((f), RST) #define SYN_ON(f) bT1((f), SYN) #define SYN_OFF(f) bF1((f)/* Copyright (C) 11/24/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: ./s.tcp.h */ /* Version 10.2 as of 85/11/24 at 06:47:20 */ /* DARPA Transaction Control Protocol defines */ #ifndef _TCP_ #define _TCP_ #ifndef _STD_ #include #endif #ifndef _FLIP_ #include #endif #ifndef _SO_ #inc, SYN) #define FIN_ON(f) bT1((f), FIN) #define FIN_OFF(f) bF1((f), FIN) /* length of TCP header */ #define tcphl(tcphp) ((U16((tcphp)->tcph_flags) >> 10) & 0x3C) #define TCP_MHR (sizeof(tcph_t)+sizeof(tcpo_t)) /* max bytes in a TCP header */ #define TCPIP_MHR (TCP_MHR+IP_MHL) /* max bytes in an IP/TCP header */ /* 9.3.11 Options. [92..3] */ #define TCPO_EOL 0x00 /* End of option list. */ #define TCPO_NOP 0x01 /* No-operation. */ #define TCPO_MSS 0x02 /* Maximum segment size. */ /* TCP socket options *#/ #define TCP_END (0) /* end of options */ #define TCP_DEBUG (1) #define TCP_PRECEDENCE (2) /* ok to auto enhance precedence */ #define TCP_TOS (3) /* see page(12) type of service */ #define TCP_SECURITY (4) /* see page(17) */ #define TCP_COMPARTMENT (5) /* see page(18) */ #define TCP_TIMEOUT (6) /* max seconds before abort */ #define TCP_TYPE (7) /* TCP_STREAM vs TCP_PACKET */ #define TCP_FREQUENCY (8) /* acknowledgement frequency */ #define TCP_BACKLOG (9) /* for listening */ #define TCP_HANDLING (10) / SV_RIP ((u16)0x4000) /* retransmission in progress */ #define SV_IACK (((u16)0x8000)|SV_SACK) /* immediate ACK requested */ #define SECURITY (sv.sv_misc & (SV_SCHTCC|SV_SECURITY)) /* Description of the tcp state flags in sv_misc * * SV_SECURITY..SV_ADVANCE : * Used for checking IP security/precedence. * * SV_RFINFLG : * Indicates that a FIN was received. * * SV_SFINFLG : * Indicates that a FIN was transmitted. * * SV_PASSIVE : * Indicates the type of open request. Set indicates that the ope* see page(74) */ #define TCP_TCC (11) /* " " */ #define TCP_RB_SIZE (12) /* specify receive buffer size */ #define TCP_SQ_SIZE (13) /* specify send queue max limit */ #ifdef KERNEL #define dpsu_tcp dpsu_u.dpsu_utcp #define sv sop->so_psu.dpu_state.dpsu_tcp #define nsv nsop->so_psu.dpu_state.dpsu_tcp #define m_prec m_p0 /* message precedence */ #define FBITS(f) ((f)|((sizeof(tcph_t)) << 10)) #define SBITS(f) ((f)|((sizeof(tcph_t) + sizeof(tcpo_t)) << 10)) #ifndef DEBUG #define set_state(msg, son * was passive (listen, accept). Clear indicates that the open was * active (connect). * * SV_SACK : * Indicates to the timer that an ACKnowledgement should be transmitted. * Used when it is not convenient to send an ACK just now, or when it * should be delayed. * * SV_EOF : * Used to indicate to the timer, that an End-Of-File packet should * be generated and placed on the receive queue. This is used when * a FIN is received, but there are no resources available to generate * the EOF. The tp, x) (sop)->so_psu.dpu_state.dpsu_tcp.sv_state = (x) #define tcp_er(err, msg) err #endif /* codes in sv_misc */ #define SV_SECURITY ((u16)0x1) /* security IP options required on xmit */ #define SV_SCHTCC ((u16)0x2) /* packet has security:compartment */ #define SV_ENHANCEOK ((u16)0x4) /* user allows raise of precedence */ #define SV_SYSTEMOK ((u16)0x8) /* system allows raise of precedence */ #define SV_ADVANCE (SV_SYSTEMOK|SV_ENHANCEOK) #define SV_RFINFLG ((u16)0x10) /* FIN seen */ #define SV_SFINFLG ((u16imer will periodically check this flag and try to * gen the EOF until it is successful, at which time it will turn it * off. * * SV_SUPPRESS : * Set by the receiving process to suppress the generation of ACKS * each time the window grows a little larger. Cleared when any * packet carrying an ACK is transmitted. * * SV_TSYNFLG : * Indicates to the transmission routines to send a SYN. Set by * tcp_gsyn, and cleared when the SYN is ACKnowledged. * * SV_TFINFLG : * Indicates to the transmission )0x20) /* FIN sent */ #define SV_PASSIVE ((u16)0x40) /* open mode is passive or ~active */ #define SV_URGENT ((u16)0x80) /* urgent data has been signalled */ #define SV_SACK ((u16)0x100) /* timer should generate an ACK */ #define SV_EOF ((u16)0x200) /* timer needs to generate EOF */ #define SV_SUPPRESS ((u16)0x400) /* suppress acknowledgements */ #define SV_TSYNFLG ((u16)0x800) /* send a SYN */ #define SV_TFINFLG ((u16)0x1000) /* send a FIN */ #define SV_1NOTUSED ((u16)0x2000) /* available flag */ #defineroutines to send a FIN. Set by a * close or a shutdown, and cleared when the FIN is ACKnowledged. * * SV_RIP : * Set by the timer when a retransmission cycle occurs. Used by the * transmission routines to determine whether or not to retransmit or * send new data. * * SV_IACK : * Used by the net deliver event routines to signal that an ACK should * be generated upon the completion of the net deliver event. */ /* flags used in m_pflags */ #define RCURRENT 0x0001 /* 9.4.6.2 Decision functions. $pg. [120] */ /* return values for functions */ #define NO 0 #define YES 1 #define NONE 0 #define VALID 1 #define INVALID 2 #define PASSIVE 0 #define ACTIVE 1 #define LESS -1 #define EQUAL 0 #define GREATER 1 /* Connection states in 'sv_state' - 9.2.2.4 [72..73] */ /* These values are specifically ordered. Do not mess with the values unless you know exactly what effects will occur. The ordering is approximately the order in which state transitions are made. */ #define CLOSED 0 /* must be zero! */    telnet.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh" #define LISTEN 1 #define SYN_SENT 2 #define SYN_RECVD 3 #define ESTAB 4 #define FIN1_WAIT 5 #define FIN2_WAIT 6 #define CLOSE_WAIT 7 #define CLOSING 8 #define LAST_ACK 9 #define TIME_WAIT 10 #define TCP_T_DEF 1000 /* 'tcp_timer' fires each second */ /* 2 Maximum Segment Lifetimes for TIME_WAIT -> CLOSED transition */ #define TWOMSL (ip_max_ttl * 1000 * 2) import u32 ip_max_ttl; /* Macros for computing distances between sequence numbers */ #define distance_from(l, h) (i32)((u32)(h) - (u32)(l)) /* a s/* Module: h File: /nrc/rel/h/s.telnet.h */ /* Version 10.1 as of 85/10/27 at 12:46:33 */ /* telnet.h 4.4 82/03/16 */ #include #ifndef _TELNET_ #define _TELNET_ #ifdef B42_COMPATIBLE #define T_ TELOPT_ #endif /* * Definitions for the TELNET protocol. */ #define IAC 255 /* interpret as command: */ #define DONT 254 /* you are not to use option */ #define DO 253 /* please, you use option */ #define WONT 252 /* I won't use option */ #define WILL 251 /* I will use option */ #definetraight comparison on MC68000 does not always yield the correct result thus the subtraction and comparison with the result to zero. */ #define TST(a, op, b) (distance_from(b, a) op 0) #define TCP_MIN_FREE 256 /* see page(417) */ #define TCP_TICKS 30 /* timeout interval (seconds) */ /* reset_self codes (see 'tcp_rslf') */ #define NO_REPORT 0 #define AB_RA ECONNRESET #define AB_NF ENETDOWN #define AB_SP ESECURITY #define AB_UT ETIMEDOUT #define AB_UA ECONNABORTED #define AB_UC ECONNABORTED #define AB_ SB 250 /* interpret as subnegotiation */ #define GA 249 /* you may reverse the line */ #define EL 248 /* erase the current line */ #define EC 247 /* erase the current character */ #define AYT 246 /* are you there */ #define AO 245 /* abort output--but let prog finish */ #define IP 244 /* interrupt process--permanently */ #define BREAK 243 /* break */ #define DM 242 /* data mark--for connect. cleaning */ #define NOP 241 /* nop */ #define SE 240 /* end sub negotiation */ #define SYNCH 242 /* forSF ENETUNREACH /* 'gen_syn' codes (see 'tcp_gsyn') */ #define ALONE 0 #define WITH_ACK 1 #define WITH_DATA 2 #endif KERNEL #endif _TCP_ /* * @(#)tcp.h 10.2 (NRC) */ ((u16)0x100) /* timer should generate an ACK */ #define SV_EOF ((u16)0x200) /* timer needs to generate EOF */ #define SV_SUPPRESS ((u16)0x400) /* suppress acknowledgements */ #define SV_TSYNFLG ((u16)0x800) /* send a SYN */ #define SV_TFINFLG ((u16)0x1000) /* send a FIN */ #define SV_1NOTUSED ((u16)0x2000) /* available flag */ #define telfunc calls */ /* telnet options */ #define T_BINARY 0 /* 8-bit data path */ #define T_ECHO 1 /* echo */ #define T_RCP 2 /* prepare to reconnect */ #define T_SGA 3 /* suppress go ahead */ #define T_NAMS 4 /* approximate message size */ #define T_STATUS 5 /* give status */ #define T_TM 6 /* timing mark */ #define T_RCTE 7 /* remote controlled transmission and echo */ #define T_NAOL 8 /* negotiate about output line width */ #define T_NAOP 9 /* negotiate about output page size */ #define T_NAOCR$D 10 /* negotiate about CR disposition */ #define T_NAOHTS 11 /* negotiate about horizontal tabstops */ #define T_NAOHTD 12 /* negotiate about horizontal tab disposition */ #define T_NAOFFD 13 /* negotiate about formfeed disposition */ #define T_NAOVTS 14 /* negotiate about vertical tab stops */ #define T_NAOVTD 15 /* negotiate about vertical tab disposition */ #define T_NAOLFD 16 /* negotiate about output LF disposition */ #define T_XASCII 17 /* extended ascic character set */ #define T_LOGOUT 18 /* force /* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.transit.h */ /* Version 10.1 as of 85/10/27 at 12:46:35 */ #ifndef _TRANSIT_ #define _TRANSIT_ #define TR_BASE 0 #define TR_NEW_DATA (TR_BASE + 0) #define TR_CLOSING (TR_BASE + 1) #define TR_URGENT (TR_BASE + 2) #define TR_WRlogout */ #define T_BM 19 /* byte macro */ #define T_DET 20 /* data entry terminal */ #define T_SUPDUP 21 /* supdup protocol */ #define T_EXOPL 255 /* extended-options-list */ #ifdef TELCMDS char *telcmds[] = { "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC", "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", }; #endif #ifdef TELOPTS char *telopts[] = { "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME", "STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP", "NAOCRD", "NAOHTS", "NAOHTD", "NAOITE_READY (TR_BASE + 3) #endif /* * @(#)transit.h 10.1 (NRC) */ y reverse the line */ #define EL 248 /* erase the current line */ #define EC 247 /* erase the current character */ #define AYT 246 /* are you there */ #define AO 245 /* abort output--but let prog finish */ #define IP 244 /* interrupt process--permanently */ #define BREAK 243 /* break */ #define DM 242 /* data mark--for connect. cleaning */ #define NOP 241 /* nop */ #define SE 240 /* end sub negotiation */ #define SYNCH 242 /* forFFD", "NAOVTS", "NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO", "DATA ENTRY TERMINAL", "SUPDUP" }; #endif #endif _TELNET_ /* * @(#)telnet.h 10.1 (NRC) */ -1 #define EQUAL 0 #define GREATER 1 /* Connection states in 'sv_state' - 9.2.2.4 [72..73] */ /* These values are specifically ordered. Do not mess with the values unless you know exactly what effects will occur. The ordering is approximately the order in which state transitions are made. */ #define CLOSED 0 /* must be zero! */ o5udp.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"C  Do4transit.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.udp.h */ /* Version 10.1 as of 85/10/27 at 12:46:37 */ #ifndef _UDP_ #define _UDP_ /* DARPA IP / User Datagram Protocol defines */ /* the real UDP header */ typedef struct { a16 udph_sport; /* source port number */ a16 udph_%dport; /* destination port number */ a16 udph_length; /* bytes in header + data */ a16 udph_checksum; /* optional checksum */ } udph_t; #define UDP_ROUTE_PORT 520 /* the NIP socket number */ #ifdef KERNEL #define UDP_MHR (sizeof(udph_t) + 1024) /* max bytes in a UDP header + data */ #define UDP_MIN_FREE 256 /* see page(417) */ #endif KERNEL #endif _UDP_ /* * @(#)udp.h 10.1 (NRC) */ or connect. cleaning */ #define NOP 241 /* nop */ #define SE 240 /* end sub negotiation */ #define SYNCH 242 /* for00 /* supports horizontal windowing */ #define F_V_COL_WRAP 0x800 /* cursor wraps on rightmost column */ #define F_V_MASK 0xF000 /* Viewport specific flags */ #define F_V_POSTED 0x1000 /* viewport is posted */ #define F_V_MARKED 0x2000 /* viewport node has been marked for ** later use */ /* Macros for readability */ #define has_i_ln(vp) (vp->v_flags & F_V_I_LN) #define has_d_ln(vp) (vp->v_flags & F_V_D_LN) #define has_i_ch(vp) (vp->v_flags & F_V_I_CH) #define has_d_ch(vp) (vp->v_flags & F_V    o7vs.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"_D_CH) #define has_c_el(vp) (vp->v_flags & F_V_C_EL) #define has_c_ew(vp) (vp->v_flags & F_V_C_EW) #define has_c_scr(vp) (vp->v_flags & F_V_C_SCR) #define has_mm(vp) (vp->v_flags & F_V_MM) #define has_s_up(vp) (vp->v_flags & F_V_S_UP) #define has_windows(vp) (vp->v_flags & F_V_WINDOWS) #define has_ho_windows(vp) (vp->v_flags & F_V_HO_WINS) #define is_posted(vp) (vp->v_flags & F_V_POSTED) #define is_marked(vp) (vp->v_flags & F_V_MARKED) /* Single character buffered terminal output. Overflows into /* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.vs.h */ /* Version 10.1 as of 85/10/27 at 12:46:39 */ #ifndef _VS_ #define _VS_ #define V_BUF_SIZE 512 /* output buffering area */ #define V_HIDDEN 65534 /* depth beyond which all is lost */ /* Terminal hardware description t_iputc(). */ #define t_putc(tp, ch) (tp->t_bufp < tp->t_bufe ? (*tp->t_bufp++ = ch) : t_iputc(tp, ch)) #define a_ch a_chars[0] #define a_att a_chars[1] typedef union { i16 a_i; char a_chars[2]; } ac; typedef struct td_s { struct vs * t_vp; char * t_term_type; u16 t_flags; int t_fd; i16 t_row; i16 t_col; i16 t_rows; i16 t_cols; i16 t_v_row_off; i16 t_v_col_off; i16 t_ms_per_pad; pfi_t t_fmv; pfi_t t_fpaint; pfi_t t_finit; ac ** t_scr; u16 ** t_darr; u16 ** t_vdarr; char t_pad_charbits */ #define F_V_I_LN 0x1 /* insert line */ #define F_V_D_LN 0x2 /* delete line */ #define F_V_I_CH 0x4 /* insert character */ #define F_V_D_CH 0x8 /* delete character */ #define F_V_C_EL 0x10 /* clear to end of line */ #define F_V_C_EW 0x20 /* clear to end of window */ #define F_V_C_SCR 0x40 /* clear screen */ #define F_V_MM 0x80 /* memory mapped */ #define F_V_S_UP 0x100 /* scrolls up on '\n' at bottom */ #define F_V_WINDOWS 0x200 /* hardware windowing supported */ #define F_V_HO_WINDOWS 0x4; char t_att; char * t_bufb; char * t_bufe; char * t_bufp; char * t_l; char * t_u; char * t_d; char * t_c_el; char * t_c_ew; char * t_c_scr; char * t_d_ch; char * t_d_ln; char * t_i_ch; char * t_i_ln; char * t_mv; } td; typedef struct vs { ac ** v_scr; td * v_tp; u16 v_flags; struct vs * v_dad; struct vs * v_bro; struct vs * v_son; u16 v_depth; i16 v_row; i16 v_col; i16 v_rows; i16 v_cols; i16 v_row_off; i16 v_col_off; char v_att; } vs; import ac ** new_scr(), * t_s%cr_ptr(); import char t_iputc(), * v_error(); import void v_set_err(); import vs * v_create(), * v_open(), * v_push(); import char * v_errp; #endif _VS_ /* * @(#)vs.h 10.1 (NRC) */ _WAIT 10 #define TCP_T_DEF 1000 /* 'tcp_timer' fires each second */ /* 2 Maximum Segment Lifetimes for TIME_WAIT -> CLOSED transition */ #define TWOMSL (ip_max_ttl * 1000 * 2) import u32 ip_max_ttl; /* Macros for computing distances between sequence numbers */ #define distance_from(l, h) (i32)((u32)(h) - (u32)(l)) /* a s o;wellknwn.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"u  vo8vsn.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.wellknwn.h */ /* Version 10.1 as of 85/10/27 at 12:46:44 */ /* Wellknown addresses and sockets */ #ifndef _WELLKNWN_ #define _WELLKNWN_ /* Fusion intramachine stuff (AF_INTRA) */ #define NRC_RC_ROUTER_CONTROL "$nrc/rtrctl"/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: /nrc/rel/h/s.vsn.h */ /* Version 10.1 as of 85/10/27 at 12:46:41 */ /* FUSION version definition header */ char Fversion[] = {"@(#) Program Version: 10/27/85 @ 12:46:41 --- 3.1.10 @(#)"}; /* NOTE: the format of the content of the preceding #define NRC_RK_ROUTER_KERNEL "$nrc/rtrkrnl" /* Xerox Network Systems stuff (AF_NS) */ /* network numbers */ #define XN_UNKNOWN {0, 0, 0, 0} /* Unknown network */ /* host addresses */ #define XH_UNKNOWN {0, 0, 0, 0, 0, 0} /* Unknown host */ #define XH_BROADCAST {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF} /* All hosts */ #define XS_I_ECHO 2 /* Echo socket */ #define XS_I_COURIER 5 /* Courier server socket */ /* sockets */ #define XS_UNKNOWN {0, 0} /* Unknown socket */ #define XS_ROUTE_INFO {0, 1} /* R string is known * elsewhere to NRC's SGS for FUSION; don't screw around with it */ /* * @(#)vsn.h 10.1 (NRC) */ t character */ #define F_V_D_CH 0x8 /* delete character */ #define F_V_C_EL 0x10 /* clear to end of line */ #define F_V_C_EW 0x20 /* clear to end of window */ #define F_V_C_SCR 0x40 /* clear screen */ #define F_V_MM 0x80 /* memory mapped */ #define F_V_S_UP 0x100 /* scrolls up on '\n' at bottom */ #define F_V_WINDOWS 0x200 /* hardware windowing supported */ #define F_V_HO_WINDOWS 0x4outing info socket */ #define XS_ECHO {0, XS_I_ECHO} /* Echo socket */ #define XS_ERR_ROUTE {0, 3} /* Routing error socket */ #define XS_COURIER {0, XS_I_COURIER} /* Courier server socket */ #endif _WELLKNWN_ /* * @(#)wellknwn.h 10.1 (NRC) */ rt node has been marked for ** later use */ /* Macros for readability */ #define has_i_ln(vp) (vp->v_flags & F_V_I_LN) #define has_d_ln(vp) (vp->v_flags & F_V_D_LN) #define has_i_ch(vp) (vp->v_flags & F_V_I_CH) #define has_d_ch(vp) (vp->v_flags & F_V&    u xns.h/lib/include/net??-^ ?ϊ -?2??B0 -^-^ -^??r.?ϊ?Bh" XE_RESOURCE 3 /* no resource at destination */ #define XE_RUNK 01000 /* unspecified err. enroute */ #define XE_RBOGUS 01001 /* bogus packet enroute */ #define XE_NOHOST 01002 /* no host enroute */ #define XE_HOPPY 01003 /* too many hops enroute */ #define XE_NARROW 01004 /* size overrun enroute */ #define F_XSP_SYSTEM_PACK 0x80 #define F_XSP_SEND_ACK 0x40 #define F_XSP_ATTENTION 0x20 #define F_XSP_END_OF_MSG 0x10 #define F_XSP_UNRELIABLE 0x100 /* for internal use only, not sent */ #define HOP_DIFF (u3/* Copyright (C) 11/19/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h File: s.xns.h */ /* Version 10.2 as of 85/11/19 at 06:49:42 */ #ifndef _XNS_ #define _XNS_ #ifndef _STD_ #include #endif #ifndef _SOCKET_ #include #endif /* Option name for use with getsockopt() and setsockopt(). Opti2)0x1000 /* used in modify checksum - hop count */ #define XRD_ESN 1 #define is_system_packet(xsp) ((xsp)->xs_c_control & F_XSP_SYSTEM_PACK) #define is_attention(xsp) ((xsp)->xs_c_control & F_XSP_ATTENTION) #define is_eom(xsp) ((xsp)->xs_c_control & F_XSP_END_OF_MSG) #define ack_requested(xsp) ((xsp)->xs_c_control & F_XSP_SEND_ACK) #define xns_this_host(addr) cheql(addr.a6, host_addr.a6, sizeof(a48)) /* Xerox header (datagrams) */ typedef struct xh { a16 xh_checksum; a16 xh_length; char on value determines whether to turn checksumming on or off. */ #define XNS_CHECKSUM 0x1 /* software checksumming enabled */ #define XNS_MIN_FREE 3001 /* first free socket number */ #define XNS_NO_CHECKSUM (u16)0xFFFF /* protocol identifiers */ #define XNS_SEQPACKET 1 #define XNS_ROUTER 2 #define XNS_PACKET_EX 3 #define XNS_ECHO 4 #define XNS_RELIABLE 5 #define XNS_DGRAM 6 #define XEP_REQUEST 1 /* this is an echo request */ #define XEP_REPLY 2 /* this in an echo reply */ #define XIR_PACKET 1 /* (Xeroxh_transport_control; char xh_packet_type; xna xh_dest; xna xh_src; } xh; /* Xerox error protocol header */ typedef struct xerr { a16 xerr_number; a16 xerr_parameter; } xerr; /* Xerox sequence packet header */ typedef struct xs { char xs_c_control; char xs_type; a16 xs_s_c_id; a16 xs_d_c_id; a16 xs_seq_num; a16 xs_ack_num; a16 xs_all_num; } xs; /* Xerox based reliable message header */ typedef struct xr { a16 xr_packet_id; a16 xr_type; } xr; /* combined sequence packet and datagx) */ #define XECHO_PACKET 2 /* (Xerox) */ #define XERR_PACKET 3 /* error packet type */ #define XPE_PACKET 4 /* (Xerox) */ #define XSP_PACKET 5 /* (Xerox) */ #define XRD_PACKET 6 /* packet type for reliable message protocol */ #define XSPT_END 254 #define XSPT_REPLY_END 255 #define ECHO_TYPE 2 #define ECHO_REQUEST 1 #define ECHO_REPLY 2 #define XE_DUNK 0 /* unspecified err. at destination */ #define XE_DBOGUS 1 /* bogus packet at destination */ #define XE_NOSOCK 2 /* no socket at destination */ #defineram header */ typedef struct xc { xh xc_xh; xs xc_xs; } xc; /* Xerox packet exchange header */ typedef struct xpe { a32 xpe_id; a16 xpe_client_type; } xpe; /* Xerox echo protocol header */ typedef struct xe { a16 xe_operation; } xe; /* Xerox routing information protocol header */ typedef struct xrip { a16 xrip_operation; a32 xrip_on1; a16 xrip_id1; a32 xrip_on2; a16 xrip_id2; } xrip; #endif _XNS_ /* * @(#)xns.h 10.2 (NRC) */ */ #define distance_from(l, h) (i32)((u32)(h) - (u32)(l)) /* a s&?? ?0y 6/lib/include/net/osdep/lib/include/netxns.h-^ xns.hRs *******************************************/ #ifndef minor #include #endif #include #include #define bzero md_bzero #define cheql md_cheql #define copyin(src, dest, cnt) copyFromUser(src, dest, cnt) #define copyout(src, dest, cnt) copyToUser(src, dest, cnt) #define net_ioctl(fd, elp) so_ioctl(kdev(fd), el_ioc(elp), elp, 0) #define os_critical spl7 #define os_gsignal signal #define os_ssleep() #define strcmp md_strcmp #define time gettime() #define is_k C   Dtek.h/lib/include/net/osdep-^ ??-^ -^ J?S?>??J?V?Bh"dev(dev) ((major(dev) & 0xFF) == 0xFF) #define kdev(dev) makedev(0xFF, minor(dev)) #define os_normal(priority) splx(priority) #define os_printf printf #define os_wakeup(event) wakeup (event) #else KERNEL /* non-KERNEL definitions *******************************************/ #ifndef time_t #include #endif #define net_ioctl(fd, elp) _net_ioctl(fd, elp) /* memory block operations from 4.2 */ #define bcopy(b1,b2,l) (void)memcpy(b2,b1,l) #define bcmp(b1,b2,l) memcmp(b1,b2,l) #defin/* Copyright (C) 10/27/85 by Network Research Corporation * All rights reserved. No part of this software may be disclosed or distributed in any form or by any means without the prior written consent of Network Research Corporation. */ /* Module: h/osdep File: /nrc/rel/h/osdep/s.tek.h */ /* Version 10.1 as of 85/10/27 at 12:56:03 */ #ifndef _TEK_ #define _TEK_ /*TEK4404: tek added */ #define INFO_SOCKET "/dev/fusion/so000" /* */ #include #define NET_ERR 80 #define INETe bzero(b,l) (void)memset(b,0,l) #define gettimeofday gettod #define settimeofday settod /* fix up dir.h stuff */ #define our_direct direct #define od_name d_name #define od_namlen d_namlen #define DIRSIZ (MAXNAMLEN+1) #define dir_fd dd_fd #endif KERNEL #endif _TEK_ /* * @(#)tek.h 10.1 (NRC) */ _XSP_SEND_ACK) #define xns_this_host(addr) cheql(addr.a6, host_addr.a6, sizeof(a48)) /* Xerox header (datagrams) */ typedef struct xh { a16 xh_checksum; a16 xh_length; char _ERR (-1) #define GOOD_EXIT 0 #define BAD_EXIT 1 #define SOIOCBASE ((unsigned)32757) #define SOIOCATMARK 32754 /* SOIOCBASE - 3 */ #define ENIOCBASE 100 /* Ethernet specific ioctls */ /* add some handy errors missing on tek */ #define EPERM (NET_ERR-1) #define ENXIO (NET_ERR-2) #define ENODEV (NET_ERR-3) #define ENFILE (NET_ERR-4) #define EFBIG (NET_ERR-5) #define EROFS (NET_ERR-6) #define SIGIO (NSIG-1) #define SIGURG (NSIG-2) #ifdef KERNEL /* KERNEL definition  Z6telnet/gen/help??-^-^ J?S?>-^ ?V?Bh"C"?ώ?ϊ?Bt"' telnet - user interface to the DARPA TELNET protocol. telnet [ host [ port ] ] Telnet is used to communicate with a remote host using the DARPA TELNET protocol. If telnet is invoked without arguments, it enters command mode which is indicated by the "telnet>" prompt. If telnet is invoked with arguments, it performs an open command (see below) with those arguments. Once a connection has been opened, telnet enters input mode. In this mode, text typed is sent to the remote host. To issue telnet comman ftp - file transfer program ftp [ +v ] [ +n ] [ +i ] [ host ] ftp is the user interface to the ARPANET standard File Transfer Protocol. The program allows a user to transfer files to and from a remote network host. +v (verbose on) option forces ftp to show all responses from the remote server, as well as report on data transfer statistics. +n restrains ftp from attempting "auto-login" upon initial connection. +i option turns off interactive prompting during multiple file transfers. The remote host ds when in input mode, precede them with the telnet escape character (initially "^]"). When in input mode, normal (as defined by the remote host) terminal editing conventions are available. The following commands may be abbreviated as long as they are not ambiguous. open host Open a connection to the named remote host. close a TELNET session and return to command mode. quit Close any open TELNET session and exit telnet. escape Set the telnet escape character. status Show the current status of telwith which ftp is to communicate may be specified on the command line. If this is done, ftp will immediately attempt to establish a connection to an FTP server on that host; otherwise, ftp will enter its command interpreter and await instructions from the user. The following commands are recognized by ftp : ! append ascii bell binary bye cd close delete debug dir form get hash glob help lcd ls mdelete mdir mget mkdir mls mode mput open prompt put pwd quit quote recv remotehelp rename rmdir send status snet. options Toggle viewing of TELNET options processing. crmod Toggle carriage return mode. z Suspend Telnet; spawn a sub-shell. ? [ command ] Get help. heql md_cheql #define copyin(src, dest, cnt) copyFromUser(src, dest, cnt) #define copyout(src, dest, cnt) copyToUser(src, dest, cnt) #define net_ioctl(fd, elp) so_ioctl(kdev(fd), el_ioc(elp), elp, 0) #define os_critical spl7 #define os_gsignal signal #define os_ssleep() #define strcmp md_strcmp #define time gettime() #define is_ktruct tenex trace type user verbose ? T options processing. crmod Toggle carriage return mode. z Suspend Telnet; spawn a sub-shell. ? [ command ] Get help. heql md_cheql #define copyin(src, dest, cnt) copyFromUser(src, dest, cnt) #define copyout(src, dest, cnt) copyToUser(src, dest, cnt) #define net_ioctl(fd, elp) so_ioctl(kdev(fd), el_ioc(elp), elp, 0) #define os_critical spl7 #define os_gsignal signal #define os_ssleep() #define strcmp md_strcmp #define time gettime() #define is_k%  &Z56ftp/gen/help??-^-^ J?S-^-^ ?V?Bh"C"?ώ?ϊ?Bp"pe q: rx/gen/help??-^-^ J?S-^-^ ?V?Bh"C"?ώ?ϊ?Bx"' Syntax: rx host-name command-to-execute Description: Execute the specified command at the remote host {4404 only!} rx executes in system-user context, default path "/etc". Should the command string contain any "shell" meta-characters {; *} the entire remote command should be quoted (e.g., rx tinman "dir /test*;date"). Options: none. m attempting "auto-login" upon initial connection. +i option turns off interactive prompting during multiple file transfers. The remote host NuA|DTb #DTNOdNBNu#CpNu/ /////?< ONOO _eNu#CpNuNVNO NO !NO,` /NO+eNuK@J g HUN*XKCf /NOeVNu/// / ?< ONO\ _e:BNuNO,e0BNuNVH@NOe"/gÈY LN^Nu#Cp`#CpNu/// // ?< ONOO _eBNu /NOeHNu/ o /NO _eNu/ /// ?< ONO\ _eBNu/// / ?</ ONO\ _eBNu/ /////?< ONOO _etNuHNOe"o H0H""LBNuL`L/// // ?< ONOO _e0BNuNV 7/M 7rxd/etc??-^-^ J?S-^-^ ?V?Bh"C"?ώ?ϊ?Bd" .NO7d #Cp`pN^Nu /NO0eBNu#CpNuH@ /"/AZCDX/1#Jg g 0///?< ONOO dL`Jg gJj.LNuZjz *:JZjz  * : J Z j z  * : J Z j z   * 8/9DX/<`/9D\/<`/9D`/<`/9Dd/<`/9Dh/<`/9Dl/<`/9Dp=,@ 1@g#DN TЏ#C/Ho//NJOBN@NVt.N@N^NuNV.8t/NXt-BA.Hnt/NP f .C/<@8NXt.N@t.t/NX./<Ft/NP-@n(N./<C/<@8NPt.N@$. |FB0(.FN&N^NuNVH tHBBBHB.t/HnNxP*@tHBBBHB. n/t/HUN> @O !n tHBBBHBrHABAHA.t//HUN> @O C!I./.NX fp` n pL /<`|/9Dt/<`l/9Dx/<`\/9D|/< `L/9D/< `/<HN4&P#C <HN^Nu///?< ONO\ _eB#DNNu///?<$ ONO\ _eB#DNNu/ /йDN/?< ONO\ _eX/9DN#DN NuNV/ O NOd #Cp`p _N^/<&`|/9D/<'`l/9D/<(`\/9D/<)`L/9E/<*`` /9ET/<?H o@//