home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / sources / misc / 3967 < prev    next >
Encoding:
Text File  |  1992-09-15  |  51.7 KB  |  1,833 lines

  1. Newsgroups: comp.sources.misc
  2. Path: sparky!kent
  3. From: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
  4. Subject:  v32i075:  ecu - ECU Asynchronous Communications v3.20, Part40/40
  5. Message-ID: <1992Sep15.154003.21537@sparky.imd.sterling.com>
  6. Followup-To: comp.sources.d
  7. X-Md4-Signature: 76180b4d8081227dd33ffe40d1a312a2
  8. Sender: kent@sparky.imd.sterling.com (Kent Landfield)
  9. Organization: Sterling Software
  10. References: <csm-v32i036=ecu.141245@sparky.IMD.Sterling.COM>
  11. Date: Tue, 15 Sep 1992 15:40:03 GMT
  12. Approved: kent@sparky.imd.sterling.com
  13. Lines: 1818
  14.  
  15. Submitted-by: wht@n4hgf.Mt-Park.GA.US (Warren Tucker)
  16. Posting-number: Volume 32, Issue 75
  17. Archive-name: ecu/part40
  18. Environment: SCO,XENIX,ISC,SUNOS,SYSVR4,HDB,Curses
  19. Supersedes: ecu: Volume 21, Issue 53-89
  20.  
  21. ---- Cut Here and feed the following to sh ----
  22. #!/bin/sh
  23. # this is ecu320.40 (part 40 of ecu320)
  24. # do not concatenate these parts, unpack them in order with /bin/sh
  25. # file models/keys continued
  26. #
  27. if test ! -r _shar_seq_.tmp; then
  28.     echo 'Please unpack part 1 first!'
  29.     exit 1
  30. fi
  31. (read Scheck
  32.  if test "$Scheck" != 40; then
  33.     echo Please unpack part "$Scheck" next!
  34.     exit 1
  35.  else
  36.     exit 0
  37.  fi
  38. ) < _shar_seq_.tmp || exit 1
  39. if test ! -f _shar_wnt_.tmp; then
  40.     echo 'x - still skipping models/keys'
  41. else
  42. echo 'x - continuing file models/keys'
  43. sed 's/^X//' << 'SHAR_EOF' >> 'models/keys' &&
  44. X    F1:F1:esc O q
  45. X    F2:F2:esc O r
  46. X    F3:F3:esc O s
  47. X    F4:F4:esc O t
  48. X    F5:F5:esc O u
  49. X    F6:F6:esc O v
  50. X    F7:F7:esc O w
  51. X    F8:status:dc4
  52. X    F9:no status:nl
  53. X    F10:redisp:esc O y
  54. X    F11:redisp:syn
  55. X    PGDN:cancel:esc O Q
  56. X    END:enter:esc O M
  57. X    PGUP:dispform:esc O R
  58. X    CUU:^:dle
  59. X    CUD:v:so
  60. X    CUL:<:stx
  61. X    CUR:>:ack
  62. X
  63. Xremecu
  64. X    F1:Home:0xC8
  65. X    F2:End:0xC6
  66. SHAR_EOF
  67. echo 'File models/keys is complete' &&
  68. chmod 0644 models/keys ||
  69. echo 'restore of models/keys failed'
  70. Wc_c="`wc -c < 'models/keys'`"
  71. test 322 -eq "$Wc_c" ||
  72.     echo 'models/keys: original size 322, current size' "$Wc_c"
  73. rm -f _shar_wnt_.tmp
  74. fi
  75. # ============= models/lookfortest.ep ==============
  76. if test -f 'models/lookfortest.ep' -a X"$1" != X"-c"; then
  77.     echo 'x - skipping models/lookfortest.ep (File already exists)'
  78.     rm -f _shar_wnt_.tmp
  79. else
  80. > _shar_wnt_.tmp
  81. echo 'x - extracting models/lookfortest.ep (Text)'
  82. sed 's/^X//' << 'SHAR_EOF' > 'models/lookfortest.ep' &&
  83. X#  CHK=0xFA5C
  84. X# lookfor_test.ep (needs a modem already attached)
  85. X
  86. X    send 'ate0q1'
  87. X    nap 20
  88. X    flush
  89. X
  90. X    send 'at'
  91. X
  92. X    lookfor 'OK'
  93. X    ifi $i0 == 1 echo '... got false success'; return
  94. X    ifi $i0 <> 0 echo '... got illogical result';set $i0;return
  95. X    echo '... got good result for failure to read'
  96. X
  97. X    send 'ate1q0'
  98. X
  99. X    lookfor -e 'OK'+%chr(0x0D)+%chr(0x0A) 20
  100. X    ifi $i0 == 0 echo '... got false failure'; return
  101. X    ifi $i0 <> 1 echo '... got illogical result';set $i0;return
  102. X    echo '... got good result for read'
  103. X
  104. X
  105. X
  106. X# vi: set tabstop=8:
  107. SHAR_EOF
  108. chmod 0644 models/lookfortest.ep ||
  109. echo 'restore of models/lookfortest.ep failed'
  110. Wc_c="`wc -c < 'models/lookfortest.ep'`"
  111. test 515 -eq "$Wc_c" ||
  112.     echo 'models/lookfortest.ep: original size 515, current size' "$Wc_c"
  113. rm -f _shar_wnt_.tmp
  114. fi
  115. # ============= models/mhack_test.ep ==============
  116. if test -f 'models/mhack_test.ep' -a X"$1" != X"-c"; then
  117.     echo 'x - skipping models/mhack_test.ep (File already exists)'
  118.     rm -f _shar_wnt_.tmp
  119. else
  120. > _shar_wnt_.tmp
  121. echo 'x - extracting models/mhack_test.ep (Text)'
  122. sed 's/^X//' << 'SHAR_EOF' > 'models/mhack_test.ep' &&
  123. X#  CHK=0xEC1B
  124. X#---------------------------------------------------------------------------
  125. X#  mhack_test.ep - test %mhack while showing entertaining colors
  126. X#  also useful to get a feeling for how fast the procedure language can be
  127. X#---------------------------------------------------------------------------
  128. X#+:EDITS:*/
  129. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  130. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  131. X#:03-16-1990-05:25-wht@n4hgf-requires ecu x2.64 or later
  132. X
  133. X    echo 'SIGINT to quit\n'
  134. X    $i20 = %colors
  135. X    $i21 = %colors & 0xFFFFF0FF
  136. X    whilei 1==1
  137. X    {
  138. X        $i0 = %mhack
  139. X        $i1 = $i0 & 0xF00
  140. X        icolor $i21 | $i1
  141. X        echo -n %itos($i0,8d)+%chr(0x0d)
  142. X    }
  143. X    echo ''
  144. X    icolor $i20
  145. X
  146. SHAR_EOF
  147. chmod 0644 models/mhack_test.ep ||
  148. echo 'restore of models/mhack_test.ep failed'
  149. Wc_c="`wc -c < 'models/mhack_test.ep'`"
  150. test 677 -eq "$Wc_c" ||
  151.     echo 'models/mhack_test.ep: original size 677, current size' "$Wc_c"
  152. rm -f _shar_wnt_.tmp
  153. fi
  154. # ============= models/mkdir.ep ==============
  155. if test -f 'models/mkdir.ep' -a X"$1" != X"-c"; then
  156.     echo 'x - skipping models/mkdir.ep (File already exists)'
  157.     rm -f _shar_wnt_.tmp
  158. else
  159. > _shar_wnt_.tmp
  160. echo 'x - extracting models/mkdir.ep (Text)'
  161. sed 's/^X//' << 'SHAR_EOF' > 'models/mkdir.ep' &&
  162. X#  CHK=0x91D9
  163. X system 'mkdir '+%argv(1)
  164. SHAR_EOF
  165. chmod 0644 models/mkdir.ep ||
  166. echo 'restore of models/mkdir.ep failed'
  167. Wc_c="`wc -c < 'models/mkdir.ep'`"
  168. test 40 -eq "$Wc_c" ||
  169.     echo 'models/mkdir.ep: original size 40, current size' "$Wc_c"
  170. rm -f _shar_wnt_.tmp
  171. fi
  172. # ============= models/oneline.ep ==============
  173. if test -f 'models/oneline.ep' -a X"$1" != X"-c"; then
  174.     echo 'x - skipping models/oneline.ep (File already exists)'
  175.     rm -f _shar_wnt_.tmp
  176. else
  177. > _shar_wnt_.tmp
  178. echo 'x - extracting models/oneline.ep (Text)'
  179. sed 's/^X//' << 'SHAR_EOF' > 'models/oneline.ep' &&
  180. X#  CHK=0xF093
  181. X#--------------------------------------------------------------
  182. X# oneline.ep
  183. X#
  184. X# send command in $s0, expecting a one line response
  185. X# and a csh prompt ending in '% '
  186. X#
  187. X# returns: $s0 = one line response in $s0 if success
  188. X#          $i0 = 1 if success, else 0
  189. X#--------------------------------------------------------------
  190. X#+:EDITS:*/
  191. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  192. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  193. X#:07-11-1989-16:55-wht-get cmd became lgets
  194. X#:06-28-1989-19:36-wht-use named variables
  195. X#:06-25-1989-13:56-wht-new do command syntax
  196. X#:06-25-1989-12:33-wht-new if/while syntax
  197. X#:06-22-1989-13:30-wht-creation
  198. X
  199. X    mkvar $icsave; $icsave = %colors
  200. X    color gray
  201. X    send $s0                        # send command
  202. X    lookfor -e %chr(0x0A) 50        # scan command echo
  203. X    ifi $i0 == 0 icolor $i2;return    # if not found, return
  204. X    lgets -e $s0 500 5 '\n'            # get one line response
  205. X    lookfor '% ' 50                    # get prompt, don't echo
  206. X    # $i0 = 1 if prompt, else 0
  207. X    icolor $icsave
  208. SHAR_EOF
  209. chmod 0644 models/oneline.ep ||
  210. echo 'restore of models/oneline.ep failed'
  211. Wc_c="`wc -c < 'models/oneline.ep'`"
  212. test 974 -eq "$Wc_c" ||
  213.     echo 'models/oneline.ep: original size 974, current size' "$Wc_c"
  214. rm -f _shar_wnt_.tmp
  215. fi
  216. # ============= models/opuslogin.ep ==============
  217. if test -f 'models/opuslogin.ep' -a X"$1" != X"-c"; then
  218.     echo 'x - skipping models/opuslogin.ep (File already exists)'
  219.     rm -f _shar_wnt_.tmp
  220. else
  221. > _shar_wnt_.tmp
  222. echo 'x - extracting models/opuslogin.ep (Text)'
  223. sed 's/^X//' << 'SHAR_EOF' > 'models/opuslogin.ep' &&
  224. X#  CHK=0xE753
  225. X#+-----------------------------------------------------------------
  226. X#  opuslogin.ep - ecu OPUS BBS login procedure
  227. X#  wht%n4hgf@gatech.edu
  228. X#
  229. X# %argv(1) = remote name
  230. X# %argv(2) = first name
  231. X# %argv(3) = last name
  232. X# %argv(4) = password
  233. X#+-----------------------------------------------------------------
  234. X#+:EDITS:*/
  235. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  236. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  237. X#:05-10-1992-09:22-wht@n4hgf-%conn can be -1 now
  238. X#:07-11-1989-16:55-wht-get cmd became lgets
  239. X#:06-28-1989-19:36-wht-use named variables
  240. X#:06-25-1989-13:56-wht-new do command syntax
  241. X#:06-25-1989-12:33-wht-new if/while syntax
  242. X#:06-23-1989-19:46-wht-improved hayes dialer reduces need to report dial fail
  243. X#:06-19-1989-22:50-wht-use while and if statements
  244. X#:06-14-1989-15:58-wht-add login capability when already connected
  245. X#:06-11-1989-23:37-wht-creation
  246. X
  247. X    mkvar $i_csave,$i_ltimeout,$i_retries
  248. X
  249. X    $i_csave = %colors
  250. X    $i_retries=3
  251. X
  252. X    color red;    echo -n '\nauto-logon to '
  253. X    color yellow; echo -n %argv(1)
  254. X    color red;    echo    ' on '+%date+' at '+%time+'\n'
  255. X
  256. X    ifi %argc != 5    # not enough args
  257. X    {
  258. X        color red
  259. X        echo %argv(0)+' needs 5 arguments (got '+%itos(%argc)+')'
  260. X        goto SORRY1
  261. X    }
  262. X
  263. X    ifi %conn <= 0 goto DIAL
  264. X
  265. X    ifs %rname == %argv(1)
  266. X    {
  267. X        color brown;  echo -n 'already connected to '
  268. X        color yellow; echo    %rname
  269. X        goto GET_LOGIN_PROMPT_RETRY
  270. X    }
  271. X
  272. XHANGUP
  273. X    ifi %conn <> 0 echo 'hanging up on '+%rname; hangup
  274. X
  275. XDIAL
  276. X    color green
  277. X    dial %argv(1); set $i1=$i0 #save dial result in $i1
  278. X    ifi $i1 == 2 color red; echo 'interrupted'; goto SORRY
  279. X    ifi $i1 != 0 goto SORRY
  280. X
  281. XTEST_MODEM_RESULT
  282. X    ifs $s0 != 'CONNECT '+%itos(%baud)
  283. X        color yellow; echo 'baud rate mismatch ... retrying'; goto HANGUP
  284. X
  285. X# give name to remote
  286. X    lookfor -e 'FIRST name: ' 150
  287. X    send %argv(2)
  288. X    lookfor -e 'LAST name: ' 150
  289. X    send %argv(3)
  290. X
  291. X    lookfor -e '[Y,n]? ' 40
  292. X    send 'Y'
  293. X
  294. X    lookfor -e 'Password: ' 80
  295. X    send %argv(4)
  296. X    lookfor -e '\n'
  297. X    set $i0=0
  298. X    goto SETCOLOR_AND_RETURN_STATUS
  299. X
  300. X# procedure failed
  301. XSORRY
  302. X    echo ''
  303. X    color red
  304. X    echo '....... sorry'
  305. X    set $i0=0
  306. X    goto SETCOLOR_AND_RETURN_STATUS
  307. X
  308. XSORRY1
  309. X    echo ''
  310. X    color red
  311. X    echo '....... sorry'
  312. X    set $i0=1
  313. X
  314. XSETCOLOR_AND_RETURN_STATUS
  315. X    icolor $i_csave
  316. X    return $i0
  317. X
  318. X# vi:set tabstop=4 shiftwidth=4:
  319. SHAR_EOF
  320. chmod 0644 models/opuslogin.ep ||
  321. echo 'restore of models/opuslogin.ep failed'
  322. Wc_c="`wc -c < 'models/opuslogin.ep'`"
  323. test 2232 -eq "$Wc_c" ||
  324.     echo 'models/opuslogin.ep: original size 2232, current size' "$Wc_c"
  325. rm -f _shar_wnt_.tmp
  326. fi
  327. # ============= models/p.ep ==============
  328. if test -f 'models/p.ep' -a X"$1" != X"-c"; then
  329.     echo 'x - skipping models/p.ep (File already exists)'
  330.     rm -f _shar_wnt_.tmp
  331. else
  332. > _shar_wnt_.tmp
  333. echo 'x - extracting models/p.ep (Text)'
  334. sed 's/^X//' << 'SHAR_EOF' > 'models/p.ep' &&
  335. X#  CHK=0x8848
  336. X#+---------------------------------------------------------
  337. X# p.eq - colorful, selective ps -aux on remote BSD system
  338. X#----------------------------------------------------------
  339. X#+:EDITS:*/
  340. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  341. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  342. X#:07-11-1989-16:55-wht-get cmd became lgets
  343. X#:06-30-1989-18:53-wht-creation
  344. X
  345. X    mkvar $icolor; $icolor = %colors
  346. X    mkvar $itimeout; $itimeout = 50
  347. X    send 'ps -aux'
  348. X    lookfor '\n' 40
  349. X    $s0 = ''
  350. X    whilei 1==1
  351. X    {
  352. X        lgets $s00 $itimeout 5 '\n'
  353. X        ifi $i0 == 0 continue
  354. X        $itimeout = 20
  355. X        ifi %instr($s0,'% ') >= 0 break    # prompt ends it
  356. X        color cyan
  357. X        ifi %instr($s0,'getty') >= 0 continue
  358. X        ifi %instr($s0,'/etc') >= 0 continue
  359. X        ifi %instr($s0,'rlogin') >= 0 continue
  360. X        ifi %instr($s0,'biod') >= 0 continue
  361. X        ifi %instr($s0,'csh') >= 0 continue
  362. X        ifi %instr($s0,'/usr/lib') >= 0 continue
  363. X        ifi %instr($s0,' i29 ') > 0 color green
  364. X        ifi %instr($s0,' i13 ') > 0 color red
  365. X        ifi %instr($s0,'cma') == 0 color yellow
  366. X        ifi %instr($s0,'gfp') == 0 color lt_blue
  367. X        ifi %instr($s0,'jts') == 0 color lt_blue
  368. X        ifi %instr($s0,'UUCP') >= 0 color red
  369. X        ifi %instr($s0,'uu') >= 0 color red
  370. X        echo $s0
  371. X    }
  372. X    icolor $icolor
  373. X    send ''
  374. X
  375. SHAR_EOF
  376. chmod 0644 models/p.ep ||
  377. echo 'restore of models/p.ep failed'
  378. Wc_c="`wc -c < 'models/p.ep'`"
  379. test 1207 -eq "$Wc_c" ||
  380.     echo 'models/p.ep: original size 1207, current size' "$Wc_c"
  381. rm -f _shar_wnt_.tmp
  382. fi
  383. # ============= models/phone ==============
  384. if test -f 'models/phone' -a X"$1" != X"-c"; then
  385.     echo 'x - skipping models/phone (File already exists)'
  386.     rm -f _shar_wnt_.tmp
  387. else
  388. > _shar_wnt_.tmp
  389. echo 'x - extracting models/phone (Text)'
  390. sed 's/^X//' << 'SHAR_EOF' > 'models/phone' &&
  391. X#ECUPHONE
  392. X# when saving this file, ECU will preserve commented lines
  393. X#sco2:1(408)425-3502::2400:N:sosco uucp
  394. Xnavobs:1(202)653-0351::1200:N:Naval Observatory Time
  395. SHAR_EOF
  396. chmod 0644 models/phone ||
  397. echo 'restore of models/phone failed'
  398. Wc_c="`wc -c < 'models/phone'`"
  399. test 162 -eq "$Wc_c" ||
  400.     echo 'models/phone: original size 162, current size' "$Wc_c"
  401. rm -f _shar_wnt_.tmp
  402. fi
  403. # ============= models/phrases ==============
  404. if test -f 'models/phrases' -a X"$1" != X"-c"; then
  405.     echo 'x - skipping models/phrases (File already exists)'
  406.     rm -f _shar_wnt_.tmp
  407. else
  408. > _shar_wnt_.tmp
  409. echo 'x - extracting models/phrases (Text)'
  410. sed 's/^X//' << 'SHAR_EOF' > 'models/phrases' &&
  411. Xstty:stty intr ^C kill ^U erase ^H^r
  412. Xmail-csh:mail emory\!tridom\!n4hgf\!wht^r
  413. Xmail-sh:mail emory!tridom!n4hgf!wht^r
  414. SHAR_EOF
  415. chmod 0644 models/phrases ||
  416. echo 'restore of models/phrases failed'
  417. Wc_c="`wc -c < 'models/phrases'`"
  418. test 117 -eq "$Wc_c" ||
  419.     echo 'models/phrases: original size 117, current size' "$Wc_c"
  420. rm -f _shar_wnt_.tmp
  421. fi
  422. # ============= models/ps.ep ==============
  423. if test -f 'models/ps.ep' -a X"$1" != X"-c"; then
  424.     echo 'x - skipping models/ps.ep (File already exists)'
  425.     rm -f _shar_wnt_.tmp
  426. else
  427. > _shar_wnt_.tmp
  428. echo 'x - extracting models/ps.ep (Text)'
  429. sed 's/^X//' << 'SHAR_EOF' > 'models/ps.ep' &&
  430. X#  CHK=0xDA50
  431. X#+------------------------------------------------------
  432. X# ps.eq - another colorful ps example
  433. X#-------------------------------------------------------
  434. X#+:EDITS:*/
  435. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  436. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  437. X#:07-11-1989-16:55-wht-get cmd became lgets
  438. X#:06-30-1989-18:53-wht-creation
  439. X
  440. X    mkvar $icolor; $icolor = %colors
  441. X    send %argv(0)+' '+%argv(1)+' '+%argv(2)
  442. X    lookfor '\n' 40
  443. X    $s0 = ''
  444. X    whilei 1==1
  445. X    {
  446. X        lgets $s0 60 60 '\n'
  447. X        color cyan
  448. X        ifi %instr($s0,'(getty)' >= 0 continue
  449. X        else ifi %instr($s0,'(tcsh)' >= 0 continue
  450. X        else ifi %instr($s0,'(csh)' >= 0 continue
  451. X        else ifi %instr($s0,'(sh)' >= 0 continue
  452. X        else ifi %instr($s0,'/etc/init' >= 0 continue
  453. X        else ifi %instr($s0,'% ') >= 0 break
  454. X        else ifi %instr($s0,'USER') == 0 color gray
  455. X        else ifi %instr($s0,' i29 ') > 0 color red
  456. X        else ifi %instr($s0,' i13 ') > 0 color green
  457. X        else ifi %instr($s0,'root') == 0 color yellow
  458. X        echo $s0
  459. X    }
  460. X    icolor $icolor
  461. X    send ''
  462. X
  463. SHAR_EOF
  464. chmod 0644 models/ps.ep ||
  465. echo 'restore of models/ps.ep failed'
  466. Wc_c="`wc -c < 'models/ps.ep'`"
  467. test 992 -eq "$Wc_c" ||
  468.     echo 'models/ps.ep: original size 992, current size' "$Wc_c"
  469. rm -f _shar_wnt_.tmp
  470. fi
  471. # ============= models/put_ecu.ep ==============
  472. if test -f 'models/put_ecu.ep' -a X"$1" != X"-c"; then
  473.     echo 'x - skipping models/put_ecu.ep (File already exists)'
  474.     rm -f _shar_wnt_.tmp
  475. else
  476. > _shar_wnt_.tmp
  477. echo 'x - extracting models/put_ecu.ep (Text)'
  478. sed 's/^X//' << 'SHAR_EOF' > 'models/put_ecu.ep' &&
  479. X#  CHK=0x6289
  480. X#--------------------------------------------------------------
  481. X# put_ecu.ep - update remote copy of ecu sources
  482. X#--------------------------------------------------------------
  483. X#+:EDITS:*/
  484. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  485. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  486. X#:07-11-1989-16:55-wht-get cmd became lgets
  487. X#:06-28-1989-19:36-wht-use named variables
  488. X#:06-25-1989-14:28-wht-use rz_update
  489. X
  490. X    $s10 = %rname
  491. X    ifi %instr($s10,'tridom') == 0
  492. X        $s10 = 'tridom'
  493. X
  494. X    ifs $s10 == 'tridom'
  495. X    {
  496. X        $s0 = '/u3/sd/wht/src/ecu'
  497. X        $s1 = '/u1/src/ecu' 
  498. X        $s2 = '`ff \'*.c\' \'*.h\' Makefile \'*.ep\' \'.mi\' \'*.txt\' \'*.man\'` xsel386/*'
  499. X        $s3 = 'wht'
  500. X        goto CALL_SZ_UPDATE
  501. X    }
  502. X    else ifs $s10== 'ki4xo'
  503. X    {
  504. X        $s0 = '/user/wht/src/ecu'
  505. X        $s1 = '/u1/src/ecu' 
  506. X        $s2 = '{.,z}/{Makefile,*.{c,h}} `ff \'*.ep\' \'.mi\' \'*.man\'` xsel386/*'
  507. X        $s3 = 'wht'
  508. X        goto CALL_SZ_UPDATE
  509. X    }
  510. X    else ifs $s10== 'coke-jsm'
  511. X    {
  512. X        $i39=%colors
  513. X        color red; echo '\n\nHAVE YOU MADE A NO-SELECT VERSION???????\n\n'
  514. X        mkvar $s_rpwd(20)
  515. X        echo -n 'root password? ' ; $s_rpwd = %cgets
  516. X        icolor $i39
  517. X        $s0 = '/usr/wht/bin'
  518. X        $s1 = '/u1/src/ecu'
  519. X        $s2 = 'ecu'
  520. X        $s3 = 'wht'
  521. X        do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
  522. X        lookfor '% ' 40
  523. X        $s0 = '/usr/wht/bin'
  524. X        $s1 = '/usr/wht/bin'
  525. X        $s2 = 'ecusz ecurz ecusea'
  526. X        $s3 = 'wht'
  527. X        do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
  528. X        lookfor '% ' 40
  529. X        $s0 = '/usr/wht'
  530. X        $s1 = '/u1/src/ecu/doc'
  531. X        $s2 = '*.man'
  532. X        $s3 = 'wht'
  533. X        do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
  534. X        lookfor '% ' 40
  535. X        $s0 = '/usr/wht/.ecu'
  536. X        $s1 = '/u1/src/ecu/models'
  537. X        $s2 = '*'
  538. X        $s3 = 'wht'
  539. X        do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
  540. X        lookfor '% ' 40
  541. X        $s0 = '/usr/lib/ecu'
  542. X        $s1 = $s0
  543. X        $s2 = '*'
  544. X        $s3 = ''
  545. X        do 'su-csh' 'root' $s_rpwd
  546. X        do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
  547. X        send -e 'chmod u+s /usr/lib/ecu/ecuungetty'
  548. X        send %chr(0x04)
  549. X        return
  550. X    }
  551. X    else echo 'not to '+$s10+' you don\'t'
  552. X
  553. X# $s0 = remote directory
  554. X# $s1 = local directory
  555. X# $s2 = file list
  556. X# $s3 = necessary username on remote system
  557. XCALL_SZ_UPDATE
  558. X    do 'sz_update' $s0  $s1 $s2 $s3 %argv(0)
  559. SHAR_EOF
  560. chmod 0644 models/put_ecu.ep ||
  561. echo 'restore of models/put_ecu.ep failed'
  562. Wc_c="`wc -c < 'models/put_ecu.ep'`"
  563. test 2060 -eq "$Wc_c" ||
  564.     echo 'models/put_ecu.ep: original size 2060, current size' "$Wc_c"
  565. rm -f _shar_wnt_.tmp
  566. fi
  567. # ============= models/ringcount.ep ==============
  568. if test -f 'models/ringcount.ep' -a X"$1" != X"-c"; then
  569.     echo 'x - skipping models/ringcount.ep (File already exists)'
  570.     rm -f _shar_wnt_.tmp
  571. else
  572. > _shar_wnt_.tmp
  573. echo 'x - extracting models/ringcount.ep (Text)'
  574. sed 's/^X//' << 'SHAR_EOF' > 'models/ringcount.ep' &&
  575. X#+----------------------------------------------------------------
  576. X# ringcount.ep - ESIO Ring Indicator Test
  577. X# only useful for versions compiled for and using ESIO tty driver
  578. X#-----------------------------------------------------------------
  579. X
  580. X    $i_initial_RI = %ridet    # initial number of rings
  581. X
  582. X    send 'aaaaaaaats0=0'
  583. X    lookfor -e %chr(0x01) 30
  584. X
  585. X    whilei 1==1
  586. X    {
  587. X        echo -n 'RI= '+%itos(%ridet,5d)+'  MSR='+%msrtext
  588. X        eeol
  589. X        echo -n '\r'
  590. X        nap -m 100
  591. X    }
  592. SHAR_EOF
  593. chmod 0644 models/ringcount.ep ||
  594. echo 'restore of models/ringcount.ep failed'
  595. Wc_c="`wc -c < 'models/ringcount.ep'`"
  596. test 449 -eq "$Wc_c" ||
  597.     echo 'models/ringcount.ep: original size 449, current size' "$Wc_c"
  598. rm -f _shar_wnt_.tmp
  599. fi
  600. # ============= models/root.ep ==============
  601. if test -f 'models/root.ep' -a X"$1" != X"-c"; then
  602.     echo 'x - skipping models/root.ep (File already exists)'
  603.     rm -f _shar_wnt_.tmp
  604. else
  605. > _shar_wnt_.tmp
  606. echo 'x - extracting models/root.ep (Text)'
  607. sed 's/^X//' << 'SHAR_EOF' > 'models/root.ep' &&
  608. X#  CHK=0x067D
  609. X#+----------------------------------------------
  610. X# su-root.ep
  611. X#-----------------------------------------------
  612. X#+:EDITS:*/
  613. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  614. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  615. X#:07-11-1989-16:55-wht-get cmd became lgets
  616. X#:06-28-1989-19:36-wht-use named variables
  617. X#:06-27-1989-17:02-wht-working
  618. X
  619. X    mkvar icsave;$icsave = %colors
  620. X    color lt_blue black
  621. X    echo -n 'remote root password? '
  622. X    color black black
  623. X    $s0 = %cgets
  624. X    icolor $icsave
  625. X    do 'su' 'root' $s0
  626. X    $s0 = ''        # forget password
  627. X    lookfor '% ' 100 # swallow prompt
  628. X    send 'source ~wht/.cshrc'
  629. SHAR_EOF
  630. chmod 0644 models/root.ep ||
  631. echo 'restore of models/root.ep failed'
  632. Wc_c="`wc -c < 'models/root.ep'`"
  633. test 600 -eq "$Wc_c" ||
  634.     echo 'models/root.ep: original size 600, current size' "$Wc_c"
  635. rm -f _shar_wnt_.tmp
  636. fi
  637. # ============= models/rz_update.ep ==============
  638. if test -f 'models/rz_update.ep' -a X"$1" != X"-c"; then
  639.     echo 'x - skipping models/rz_update.ep (File already exists)'
  640.     rm -f _shar_wnt_.tmp
  641. else
  642. > _shar_wnt_.tmp
  643. echo 'x - extracting models/rz_update.ep (Text)'
  644. sed 's/^X//' << 'SHAR_EOF' > 'models/rz_update.ep' &&
  645. X#  CHK=0x3514
  646. X#--------------------------------------------------------------
  647. X# rz_update.ep - update local directory
  648. X#
  649. X# parameters:
  650. X# %argv(1) = remote directory to copy from
  651. X# %argv(2) = local directory to copy to
  652. X# %argv(3) = file list to get
  653. X# %argv(4) = remote username needed, if any, else null
  654. X#            if %argv(4) not null, 'su_'+%argv(4)+".ep" must
  655. X#            exist to su to remote
  656. X# %argv(5)   name of superior procedure
  657. X#
  658. X#--------------------------------------------------------------
  659. X#+:EDITS:*/
  660. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  661. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  662. X#:05-10-1992-09:22-wht@n4hgf-%conn can be -1 now
  663. X#:07-11-1989-16:55-wht-get cmd became lgets
  664. X#:06-28-1989-19:36-wht-use named variables
  665. X#:06-25-1989-13:56-wht-new do command syntax
  666. X#:06-25-1989-12:33-wht-new if/while syntax
  667. X#:06-22-1989-13:30-wht-creation
  668. X
  669. X# variable usage
  670. X    mkvar $i_csave            # color settings at entry to procedure
  671. X    mkvar $i_rtnval            # return code
  672. X    mkvar $i_suflag            # true if su occurred
  673. X    mkvar $s_origdir(128)    # original working directory
  674. X    mkvar $s_rdir(128)        # remote directory we started with
  675. X    mkvar $s_ruser(16)        # remote username we started with before su
  676. X    mkvar $s_xtitle(64)        # title for xfer
  677. X
  678. X    $i_csave=%colors # get colors at entry
  679. X
  680. X    $s_xtitle = 'Connected to '+%rname
  681. X    ifs %argv(5) != ''
  682. X        $s_xtitle = $s_xtitle+' - procedure '+%argv(5)
  683. X
  684. X# check to make sure we are connected
  685. X    ifi %conn <= 0
  686. X    {
  687. X        color red; echo 'not connected to anyone!'
  688. X        goto SORRY
  689. X    }
  690. X    color lt_blue;  echo 'Connected to '+%rname
  691. X
  692. X# save local current directory and change to target
  693. X    $s_origdir=%dir
  694. X    color brown
  695. X    ifs $s_origdir == %argv(2)
  696. X        echo -n 'local directory already '
  697. X    else 
  698. X    {
  699. X        cd %argv(2)
  700. X        echo -n 'local directory set to '
  701. X    }
  702. X    color yellow; echo %dir
  703. X
  704. X# make sure remote username ok
  705. X    ifs %argv(4) == '' goto REMOTE_CD # if any remote username
  706. X    do 'bsd_uname'            # get $s0=username
  707. X    ifi $i0 == 0 goto SORRY    # test failure
  708. X    $s_ruser = $s0            # save original remote username
  709. X    ifs $s0 != %argv(4)
  710. X    {                        # need to su
  711. X        color brown
  712. X        echo -n 'remote username '
  713. X        color yellow
  714. X        echo -n $s0
  715. X        color brown
  716. X        echo ' ... su to '+%argv(4)+' now'
  717. X        color gray
  718. X        do 'su_'+%argv(4)    # call proc, which calls su.ep
  719. X        lookfor '% ' 50        # su leaves prompt in buffer: swallow
  720. X        do 'bsd_uname'        # make sure we su'd
  721. X        ifi $i0 == 0 goto SORRY
  722. X        ifs $s0 != %argv(4)    # failed to su?
  723. X        {
  724. X            color red;echo 'su to '+%argv(4)+' failed'
  725. X            goto SORRY
  726. X        }
  727. X        $i_suflag = 1        # remember we su'd
  728. X    }    # now we are proper username on remote
  729. X
  730. X# establish proper remote working directory
  731. XREMOTE_CD
  732. X    color gray
  733. X    $s0 = 'pwd';do 'oneline'    # save old remote ...
  734. X    $s_rdir = $s0                # ... directory in $s_rdir
  735. X    ifs $s_rdir != %argv(1)        # if cd needed, do it
  736. X    {
  737. X        send 'cd '+%argv(1)        # remote cd
  738. X        lookfor -e '\n' 50        # echo command
  739. X        lookfor '% ' 50            # swallow prompt
  740. X        $s0 = 'pwd'
  741. X        do 'oneline'            # make sure we got there
  742. X        ifs $s0 != %argv(1)        # dir change failed
  743. X        {
  744. X            color red;echo 'remote cd failed'
  745. X            goto SORRY;
  746. X        }
  747. X    }
  748. X    color brown;  echo -n 'remote directory '
  749. X    color yellow; echo -n %argv(1)
  750. X    color brown;  echo    ' ... starting transfer now'
  751. X
  752. X# transfer files
  753. X    color lt_blue
  754. X    send 'sz -n -f '+%argv(3)
  755. X    lookfor -e '\n' 50    # echo remote command
  756. X    ifi $i0 == 0        # command failed?
  757. X    {
  758. X        color red; echo 'sz command failed or garbled echo'
  759. X        goto SORRY
  760. X    }
  761. X    color brown
  762. X    echo 'waiting for sz to start'
  763. X    nap 10
  764. X    color gray
  765. X#    $s5 = '**'+%chr(0x18)+'B'    # ZMODEM header
  766. X    lgets $s0 150 10 '\n'        # wait 15 secs for start
  767. X    ifi %instr($s0,'rz') < 0    # check for 'rz' startup from remote
  768. X    {
  769. X        color white;
  770. X        echo '\n'+$s0+'\n'
  771. X        color red
  772. X        echo 'sz protocol failure or trigger garbled'
  773. X        goto SORRY
  774. X    }
  775. X    icolor $i_csave                # restore colors at entry
  776. X    rz -l $s_xtitle
  777. X    ifi $i0 != 0    # whoops
  778. X    {
  779. X        color red; echo -n '\nTRANSFER FAILED ... '
  780. X        ifi $i0 == 0x100 echo 'interrupt'
  781. X        ifi $i0 != 0x100 echo 'termination status '+%itos($i0,04d)
  782. X        goto SORRY
  783. X    }
  784. X    lookfor '% ' 50                # swallow prompt
  785. X    goto RETURN
  786. X
  787. XSORRY # whoops
  788. X    color red;echo 'rz_update failed ... sorry'
  789. X    $i_rtnval = 1                # return error
  790. X
  791. XRETURN
  792. X    echo ''
  793. X    color brown;  echo -n 'remote user name '
  794. X    color yellow
  795. X    ifi $i_suflag != 0            # we su'd
  796. X    {
  797. X        send -n %chr(0x04)      # will force a new prompt from remote
  798. X        echo -n $s_ruser
  799. X        color brown;  echo ' restored (sent ^D to '+%argv(4)+' shell)'
  800. X        lookfor '% ' 50            # swallow prompt
  801. X    }
  802. X    else
  803. X        color brown;  echo 'unchanged'
  804. X
  805. X    ifs $s_rdir != %argv(1)        # if we did a remote cd
  806. X    {
  807. X        send 'cd '+$s_rdir        # restore original
  808. X        lookfor '\n'
  809. X        color brown;  echo -n 'remote working directory '
  810. X        color yellow; echo -n $s_rdir
  811. X        color brown;  echo    ' restored'
  812. X    }
  813. X    else
  814. X    {
  815. X        send ''                # spark a prompt
  816. X        color brown;  echo -n 'remote working directory '
  817. X        color yellow; echo -n $s_rdir
  818. X        color brown;  echo    ' unchanged'
  819. X    }
  820. X
  821. X    ifs $s_origdir != %dir    # restore original directory
  822. X    {
  823. X        cd $s_origdir
  824. X        color brown;  echo -n 'local working directory '
  825. X        color yellow; echo -n $s_origdir
  826. X        color brown;  echo    ' restored'
  827. X    }
  828. X
  829. X    icolor $i_csave        # restore colors at entry
  830. X    echo ''
  831. X    return $i_rtnval    # return selected error code (bomb procedure if error)
  832. SHAR_EOF
  833. chmod 0644 models/rz_update.ep ||
  834. echo 'restore of models/rz_update.ep failed'
  835. Wc_c="`wc -c < 'models/rz_update.ep'`"
  836. test 5129 -eq "$Wc_c" ||
  837.     echo 'models/rz_update.ep: original size 5129, current size' "$Wc_c"
  838. rm -f _shar_wnt_.tmp
  839. fi
  840. # ============= models/scm.ep ==============
  841. if test -f 'models/scm.ep' -a X"$1" != X"-c"; then
  842.     echo 'x - skipping models/scm.ep (File already exists)'
  843.     rm -f _shar_wnt_.tmp
  844. else
  845. > _shar_wnt_.tmp
  846. echo 'x - extracting models/scm.ep (Text)'
  847. sed 's/^X//' << 'SHAR_EOF' > 'models/scm.ep' &&
  848. X#  CHK=0x01CA
  849. X#+------------------------------------------------------------
  850. X# scm.ep - goto scm and use wht .cshrc
  851. X#-------------------------------------------------------------
  852. X#+:EDITS:*/
  853. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  854. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  855. X#:07-11-1989-16:55-wht-get cmd became lgets
  856. X#:06-28-1989-19:36-wht-use named variables
  857. X#:06-26-1989-19:25-wht-working with su.ep - no longer secret
  858. X
  859. X    mkvar icsave; $icsave = %colors
  860. X    do 'su' 'scm' 'secret'
  861. X    lookfor '% ' 70        # swallow prompt left by su.ep
  862. X    color gray
  863. X    send 'source ~wht/.cshrc'
  864. X    lookfor -e '\n' 70
  865. X    ifs %argv(1) != '.'
  866. X    {
  867. X        lookfor '% ' 70        # swallow prompt
  868. X        send 'cd'
  869. X        lookfor -e '\n' 50    # send 'cd', swallow echo
  870. X    }
  871. X    icolor $icsave
  872. SHAR_EOF
  873. chmod 0644 models/scm.ep ||
  874. echo 'restore of models/scm.ep failed'
  875. Wc_c="`wc -c < 'models/scm.ep'`"
  876. test 740 -eq "$Wc_c" ||
  877.     echo 'models/scm.ep: original size 740, current size' "$Wc_c"
  878. rm -f _shar_wnt_.tmp
  879. fi
  880. # ============= models/senddate.ep ==============
  881. if test -f 'models/senddate.ep' -a X"$1" != X"-c"; then
  882.     echo 'x - skipping models/senddate.ep (File already exists)'
  883.     rm -f _shar_wnt_.tmp
  884. else
  885. > _shar_wnt_.tmp
  886. echo 'x - extracting models/senddate.ep (Text)'
  887. sed 's/^X//' << 'SHAR_EOF' > 'models/senddate.ep' &&
  888. X#  CHK=0x067D
  889. X#+----------------------------------------------
  890. X# senddate.ep
  891. X#-----------------------------------------------
  892. X#+:EDITS:*/
  893. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  894. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  895. X#:07-11-1989-16:55-wht-get cmd became lgets
  896. X#:06-28-1989-19:36-wht-use named variables
  897. X#:06-27-1989-17:02-wht-working
  898. X
  899. X    mkvar icsave;$icsave = %colors
  900. X    color blue
  901. X    echo -n 'remote root password? '
  902. X    color black
  903. X    $s0 = %cgets
  904. X    icolor $icsave
  905. X    do 'su' 'root' $s0
  906. X    $s0 = ''        # forget password
  907. X    lookfor '% ' 50 # swallow prompt
  908. X    send 'date'
  909. X    lookfor -e '% ' 50
  910. X    system -l 'senddate'
  911. X    lookfor -e quiet 20
  912. X    send -n %chr(0x04)
  913. SHAR_EOF
  914. chmod 0644 models/senddate.ep ||
  915. echo 'restore of models/senddate.ep failed'
  916. Wc_c="`wc -c < 'models/senddate.ep'`"
  917. test 654 -eq "$Wc_c" ||
  918.     echo 'models/senddate.ep: original size 654, current size' "$Wc_c"
  919. rm -f _shar_wnt_.tmp
  920. fi
  921. # ============= models/sf_test.ep ==============
  922. if test -f 'models/sf_test.ep' -a X"$1" != X"-c"; then
  923.     echo 'x - skipping models/sf_test.ep (File already exists)'
  924.     rm -f _shar_wnt_.tmp
  925. else
  926. > _shar_wnt_.tmp
  927. echo 'x - extracting models/sf_test.ep (Text)'
  928. sed 's/^X//' << 'SHAR_EOF' > 'models/sf_test.ep' &&
  929. X#--------------------------------------------------------------------
  930. X# sf_test.ep - test various string functions
  931. X#
  932. X#Sample execution:
  933. X#% ecu -p sf_test
  934. X#
  935. X# ecu x3.00.05.00-386u by wht@n4hgf (pid 5890)
  936. X# 
  937. X# procedure is sf_test run on Mon 08-13-1990 at 15:39:17 (19:39 UTC)
  938. X# username is "wht"
  939. X# current directory is "/u1/src/ecu/models"
  940. X# 
  941. X# %instr('abcdefabcdefghi','def') = 3
  942. X# %rinstr('abcdefabcdefghi','def') = 9
  943. X# 
  944. X# %basename('/u1/src/src/foo.c','.c') = "/u1/src/src/foo"
  945. X# %basename('foo.c','.c') = "foo"
  946. X# %basename('foo.c','.x') = "foo.c"
  947. X# 
  948. X# %dirpart('/u1/src/src/foo.c') = "/u1/src/src"
  949. X# %dirpart('foo.c') = "foo.c"
  950. X# %dirpart('/usr') = ""
  951. X# 
  952. X# %filepart('/u1/src/src/foo.c') = "foo.c"
  953. X# %filepart('foo.c') = "foo.c"
  954. X# 
  955. X# %envvar('HZ') = "100"
  956. X# %envvar('HOME') = "/u9/wht"
  957. X# %envvar('FOOBARTZHUMMER') = ""
  958. X# 
  959. X# errno 1 = "Not owner"
  960. X# 5678 seconds is "01:34:38"
  961. X# mode 105755 is "-rwsr-xr-t"
  962. X# [procedure finished]
  963. X# 
  964. X# 
  965. X# [no line attached by initial procedure]
  966. X# [press ESC to exit or SPACE for setup menu]
  967. X# 
  968. X#--------------------------------------------------------------------
  969. X
  970. X    echo ''
  971. X    echo -n 'procedure is '+%argv(0)+' run on '+%day+' '+%date
  972. X    echo ' at '+%times+' ('+%timez+' UTC)'
  973. X    echo 'username is "'+%logname+'"'
  974. X    echo 'current directory is "'+%dir+'"'
  975. X
  976. X    echo ''
  977. X    echo -n '%instr(\'abcdefabcdefghi\',\'def\') = '
  978. X    echo %itos(%instr('abcdefabcdefghi','def'))
  979. X
  980. X    echo -n '%rinstr(\'abcdefabcdefghi\',\'def\') = '
  981. X    echo %itos(%rinstr('abcdefabcdefghi','def'))
  982. X
  983. X    echo ''
  984. X    echo -n '%basename(\'/u1/src/src/foo.c\',\'.c\') = '
  985. X    echo '"'+%basename('/u1/src/src/foo.c','.c')+'"'
  986. X
  987. X    echo -n '%basename(\'foo.c\',\'.c\') = '
  988. X    echo '"'+%basename('foo.c','.c')+'"'
  989. X
  990. X    echo -n '%basename(\'foo.c\',\'.x\') = '
  991. X    echo '"'+%basename('foo.c','.x')+'"'
  992. X
  993. X    echo ''
  994. X    echo -n '%dirpart(\'/u1/src/src/foo.c\') = '
  995. X    echo '"'+%dirpart('/u1/src/src/foo.c')+'"'
  996. X
  997. X    echo -n '%dirpart(\'foo.c\') = '
  998. X    echo '"'+%dirpart('foo.c')+'"'
  999. X
  1000. X    echo -n '%dirpart(\'/usr\') = '
  1001. X    echo '"'+%dirpart('/usr')+'"'
  1002. X
  1003. X    echo ''
  1004. X    echo -n '%filepart(\'/u1/src/src/foo.c\') = '
  1005. X    echo '"'+%filepart('/u1/src/src/foo.c')+'"'
  1006. X
  1007. X    echo -n '%filepart(\'foo.c\') = '
  1008. X    echo '"'+%filepart('/u1/src/src/foo.c')+'"'
  1009. X
  1010. X    echo ''
  1011. X    echo '%envvar(\'HZ\') = "'+%envvar('HZ')+'"'
  1012. X    echo '%envvar(\'HOME\') = "'+%envvar('HOME')+'"'
  1013. X    echo '%envvar(\'FOOBARTZHUMMER\') = "'+%envvar('FOOBARTZHUMMER')+'"'
  1014. X
  1015. X    echo ''
  1016. X    echo 'errno 1 = "'+%errstr(1)+'"'
  1017. X    echo '5678 seconds is "'+%etime(5678)+'"'
  1018. X    echo 'mode 105755 is "'+%fmodestr(0o105755)+'"'
  1019. SHAR_EOF
  1020. chmod 0644 models/sf_test.ep ||
  1021. echo 'restore of models/sf_test.ep failed'
  1022. Wc_c="`wc -c < 'models/sf_test.ep'`"
  1023. test 2490 -eq "$Wc_c" ||
  1024.     echo 'models/sf_test.ep: original size 2490, current size' "$Wc_c"
  1025. rm -f _shar_wnt_.tmp
  1026. fi
  1027. # ============= models/su.ep ==============
  1028. if test -f 'models/su.ep' -a X"$1" != X"-c"; then
  1029.     echo 'x - skipping models/su.ep (File already exists)'
  1030.     rm -f _shar_wnt_.tmp
  1031. else
  1032. > _shar_wnt_.tmp
  1033. echo 'x - extracting models/su.ep (Text)'
  1034. sed 's/^X//' << 'SHAR_EOF' > 'models/su.ep' &&
  1035. X#  CHK=0x120D
  1036. X#+---------------------------------------------------------
  1037. X# su.ep - switch user at remote
  1038. X# wht%n4hgf@gatech.edu
  1039. X#
  1040. X# do su 'username' 'password' ['.']
  1041. X#
  1042. X# expects new user to be running csh
  1043. X#----------------------------------------------------------
  1044. X#+:EDITS:*/
  1045. X#:09-10-1992-13:59-wht@n4hgf-ECU release 3.20
  1046. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1047. X#:07-11-1989-16:55-wht-get cmd became lgets
  1048. X#:06-28-1989-19:36-wht-use named variables
  1049. X#:06-27-1989-12:43-wht-"get prompt" message was wrong
  1050. X#:06-25-1989-13:56-wht-new do command syntax
  1051. X#:06-25-1989-12:33-wht-new if/while syntax
  1052. X#:06-16-1989-18:12-wht-creation
  1053. X
  1054. X    mkvar icsave; $icsave = %colors
  1055. X
  1056. X    color gray
  1057. X    send 'su '+%argv(1)
  1058. X    lookfor -e 'word:' 70
  1059. X    ifi $i0 == 0
  1060. X    {
  1061. X        color red;echo 'su: failed to get password prompt'
  1062. X        icolor $icsave; return 1
  1063. X    }
  1064. X    send %argv(2); lookfor '\n' 50    # send password
  1065. X    echo ''
  1066. X    lgets $s0 70 5 '\n'
  1067. X    ifi %instr($s0,'Sorry') >= 0
  1068. X    {
  1069. X        color red;echo 'su: remote said "Sorry"'
  1070. X        icolor $icsave; return 1
  1071. X    }
  1072. X    nap 5                        # wait .5 sec
  1073. X    send 'set prompt="% "'        # set '% ' as prompt
  1074. X    lookfor '\n' 20                # swallow echo of set command
  1075. X    lookfor '% ' 60                # look for new prompt
  1076. X    ifi $i0 == 0
  1077. X    {
  1078. X        color lt_red
  1079. X        echo 'timeout on prompt ... system may be slow ... waiting 5 more secs'
  1080. X        color gray
  1081. X        lookfor '% ' 50                # look for new prompt
  1082. X    }
  1083. X    ifi $i0 == 0
  1084. X    {
  1085. X        color red;echo 'su: failed to "get prompt" echo'
  1086. X        icolor $icsave; return 2
  1087. X    }
  1088. X    ifs %argv(3) == '.'
  1089. X        send 'source ~wht/.cshrc'
  1090. X    else
  1091. X        send ''; lookfor '\n' 50    # kick off another prompt
  1092. X    icolor $icsave
  1093. SHAR_EOF
  1094. chmod 0644 models/su.ep ||
  1095. echo 'restore of models/su.ep failed'
  1096. Wc_c="`wc -c < 'models/su.ep'`"
  1097. test 1562 -eq "$Wc_c" ||
  1098.     echo 'models/su.ep: original size 1562, current size' "$Wc_c"
  1099. rm -f _shar_wnt_.tmp
  1100. fi
  1101. # ============= models/sysname.ep ==============
  1102. if test -f 'models/sysname.ep' -a X"$1" != X"-c"; then
  1103.     echo 'x - skipping models/sysname.ep (File already exists)'
  1104.     rm -f _shar_wnt_.tmp
  1105. else
  1106. > _shar_wnt_.tmp
  1107. echo 'x - extracting models/sysname.ep (Text)'
  1108. sed 's/^X//' << 'SHAR_EOF' > 'models/sysname.ep' &&
  1109. X#-----------------------------------------------------------
  1110. X# sysname.ep - procedure to call UNIX-like system 'sysname'
  1111. X#
  1112. X# CONFIDENTIAL - This function should be chmod 0600 because
  1113. X# it contains a password which you probably don't want to be
  1114. X# common knowledge.
  1115. X#
  1116. X# This procedure calls 'unixlogin.ep' to do the hard work.
  1117. X#-----------------------------------------------------------
  1118. X
  1119. X    mkvar $s_pwd(20)    # local variable preserves password
  1120. X    $s_pwd = 'password' # security by disappearing when the
  1121. X                        # procedure terminates
  1122. X
  1123. X#   also, by keeping the password text off the following line,
  1124. X#   the password will not be displayed if you abort (interrupt)
  1125. X#   the procedure
  1126. X
  1127. X    do 'unixlogin' %argv(0) 'username' $s_pwd 'ansi-or-whatever'
  1128. SHAR_EOF
  1129. chmod 0644 models/sysname.ep ||
  1130. echo 'restore of models/sysname.ep failed'
  1131. Wc_c="`wc -c < 'models/sysname.ep'`"
  1132. test 766 -eq "$Wc_c" ||
  1133.     echo 'models/sysname.ep: original size 766, current size' "$Wc_c"
  1134. rm -f _shar_wnt_.tmp
  1135. fi
  1136. # ============= models/sz_update.ep ==============
  1137. if test -f 'models/sz_update.ep' -a X"$1" != X"-c"; then
  1138.     echo 'x - skipping models/sz_update.ep (File already exists)'
  1139.     rm -f _shar_wnt_.tmp
  1140. else
  1141. > _shar_wnt_.tmp
  1142. echo 'x - extracting models/sz_update.ep (Text)'
  1143. sed 's/^X//' << 'SHAR_EOF' > 'models/sz_update.ep' &&
  1144. X#  CHK=0x4068
  1145. X#--------------------------------------------------------------
  1146. X# sz_update.ep - update local directory
  1147. X#
  1148. X# parameters:
  1149. X# %argv(1) = remote directory to copy to
  1150. X# %argv(2) = local directory to copy from
  1151. X# %argv(3) = file list to send
  1152. X# %argv(4) = remote username needed, if any, else null
  1153. X#            if %argv(4) not null, 'su_'+%argv(4)+".ep" must
  1154. X#            exist to su to remote
  1155. X# %argv(5)   name of superior procedure
  1156. X#
  1157. X#--------------------------------------------------------------
  1158. X#+:EDITS:*/
  1159. X#:09-10-1992-14:00-wht@n4hgf-ECU release 3.20
  1160. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1161. X#:05-10-1992-09:22-wht@n4hgf-%conn can be -1 now
  1162. X#:05-21-1991-20:14-wht@n4hgf-was reporting skipped files as failed transfer
  1163. X#:07-11-1989-16:55-wht-get cmd became lgets
  1164. X#:06-28-1989-19:36-wht-use named variables
  1165. X#:06-25-1989-13:56-wht-new do command syntax
  1166. X#:06-25-1989-12:33-wht-new if/while syntax
  1167. X#:06-22-1989-13:30-wht-creation
  1168. X
  1169. X# variable usage
  1170. X    mkvar $i_csave            # color settings at entry to procedure
  1171. X    mkvar $i_suflag            # true if su occurred
  1172. X    mkvar $i_rtnflag        # return code
  1173. X    mkvar $s_origdir(128)    # original working directory
  1174. X    mkvar $s_ruser(16)        # remote username we started with before su
  1175. X    mkvar $s_rdir(128)        # remote directory we started with
  1176. X    mkvar $s_xtitle(64)        # title for xfer
  1177. X
  1178. X    $i_csave=%colors # get colors at entry
  1179. X
  1180. X    $s0=%argv(0)+' '+%argv(5)+' '+%rname+' '+%argv(1)
  1181. X    logevent $s0
  1182. X
  1183. X    $s_xtitle = 'Connected to '+%rname
  1184. X    ifs %argv(5) != ''
  1185. X        $s_xtitle = $s_xtitle+' - procedure '+%argv(5)
  1186. X
  1187. X# check to make sure we are connected
  1188. X    ifi %conn <= 0
  1189. X    {
  1190. X        color red; echo 'not connected to anyone!'
  1191. X        goto SORRY
  1192. X    }
  1193. X    color lt_blue;  echo 'Connected to '+%rname
  1194. X
  1195. X# save local current directory and change to target
  1196. X    $s_origdir=%dir
  1197. X    color brown
  1198. X    ifs $s_origdir == %argv(2)
  1199. X        echo -n 'local directory already '
  1200. X    else 
  1201. X    {
  1202. X        cd %argv(2)
  1203. X        echo -n 'local directory set to '
  1204. X    }
  1205. X    color yellow; echo %dir
  1206. X
  1207. X# make sure remote username ok
  1208. X    ifs %argv(4) == '' goto REMOTE_CD # if any remote username
  1209. X    do 'bsd_uname'            # get $s0=username
  1210. X    ifi $i0 == 0 goto SORRY    # test failure
  1211. X    $s_ruser = $s0            # save original remote username
  1212. X    ifs $s0 != %argv(4)
  1213. X    {                        # need to su
  1214. X        color brown
  1215. X        echo -n 'remote username '
  1216. X        color yellow
  1217. X        echo -n $s0
  1218. X        color brown
  1219. X        echo ' ... su to '+%argv(4)+' now'
  1220. X        color gray
  1221. X        do 'su_'+%argv(4)    # call proc, which calls su.ep
  1222. X        lookfor '% ' 50        # su leaves prompt in buffer: swallow
  1223. X        do 'bsd_uname'        # make sure we su'd
  1224. X        ifi $i0 == 0 goto SORRY
  1225. X        ifs $s0 != %argv(4)    # failed to su?
  1226. X        {
  1227. X            color red;echo 'su to '+%argv(4)+' failed'
  1228. X            goto SORRY
  1229. X        }
  1230. X        $i_suflag = 1        #remember we su'd
  1231. X    }    # now we are proper username on remote
  1232. X
  1233. X# establish proper remote working directory
  1234. XREMOTE_CD
  1235. X    color gray
  1236. X    $s0 = 'pwd';do 'oneline'    # save old remote ...
  1237. X    $s_rdir = $s0                # ... directory in $s_rdir
  1238. X    ifs $s_rdir != %argv(1)        # if cd needed, do it
  1239. X    {
  1240. X        send 'cd '+%argv(1)        # remote cd
  1241. X        lookfor -e '\n' 50        # echo command
  1242. X        lookfor '% ' 50            # swallow prompt
  1243. X        $s0 = 'pwd'
  1244. X        do 'oneline'            # make sure we got there
  1245. X        ifs $s0 != %argv(1)        # dir change failed
  1246. X        {
  1247. X            color red;echo 'remote cd failed'
  1248. X            goto SORRY;
  1249. X        }
  1250. X    }
  1251. X    color brown;  echo -n 'remote directory '
  1252. X    color yellow; echo    %argv(1)
  1253. X
  1254. X# transfer files
  1255. X    color lt_blue
  1256. X    echo 'sz -n -f '+%argv(3)
  1257. X    icolor $i_csave                # restore colors at entry
  1258. X    sz -nfl $s_xtitle '-w 16384 '+%argv(3)
  1259. X    ifi $i0 > 127                # whoops
  1260. X    {
  1261. X        color red; echo -n '\nTRANSFER FAILED ... '
  1262. X        ifi $i0 == 0x100 echo 'interrupt'
  1263. X        ifi $i0 != 0x100 echo 'termination status '+%itos($i0,04d)
  1264. X        goto SORRY
  1265. X    }
  1266. X    else ifi $i0 > 0
  1267. X    {
  1268. X        color yellow; echo %itos($i0)+' files skipped'
  1269. X    }
  1270. X    lookfor '% ' 50                # swallow prompt
  1271. X    goto RETURN
  1272. X
  1273. XSORRY # whoops
  1274. X    color red;echo 'sz_update failed ... sorry'
  1275. X    $i_rtnflag = 1    # return error
  1276. X
  1277. XRETURN
  1278. X    echo ''
  1279. X    color brown;  echo -n 'remote user name '
  1280. X    color yellow
  1281. X    ifi $i_suflag != 0            # we su'd
  1282. X    {
  1283. X        send -n %chr(0x04)        # will force a new prompt from remote
  1284. X        echo -n $s_ruser
  1285. X        color brown;  echo ' restored (sent ^D to '+%argv(4)+' shell)'
  1286. X        lookfor '% ' 50            # swallow prompt
  1287. X    }
  1288. X    else
  1289. X        color brown;  echo 'unchanged'
  1290. X
  1291. X    ifs $s_rdir != %argv(1)        # if we did a remote cd
  1292. X    {
  1293. X        send 'cd '+$s_rdir        # restore original
  1294. X        lookfor '\n'
  1295. X        color brown;  echo -n 'remote working directory '
  1296. X        color yellow; echo -n $s_rdir
  1297. X        color brown;  echo    ' restored'
  1298. X    }
  1299. X    else
  1300. X    {
  1301. X        send ''    # spark a prompt
  1302. X        color brown;  echo -n 'remote working directory '
  1303. X        color yellow; echo -n $s_rdir
  1304. X        color brown;  echo    ' unchanged'
  1305. X    }
  1306. X
  1307. X    color brown;  echo -n 'local working directory '
  1308. X    color yellow; echo -n $s_origdir
  1309. X    color brown
  1310. X    ifs $s_origdir != %dir    # restore original directory
  1311. X    {
  1312. X        cd $s_origdir
  1313. X        echo    ' restored'
  1314. X    }
  1315. X    else
  1316. X        echo ' unchanged'
  1317. X
  1318. X    icolor $i_csave        # restore colors at entry
  1319. X    echo ''
  1320. X    return $i_rtnflag    # return selected error code (bomb procedure if error)
  1321. SHAR_EOF
  1322. chmod 0644 models/sz_update.ep ||
  1323. echo 'restore of models/sz_update.ep failed'
  1324. Wc_c="`wc -c < 'models/sz_update.ep'`"
  1325. test 4853 -eq "$Wc_c" ||
  1326.     echo 'models/sz_update.ep: original size 4853, current size' "$Wc_c"
  1327. rm -f _shar_wnt_.tmp
  1328. fi
  1329. # ============= models/szall.ep ==============
  1330. if test -f 'models/szall.ep' -a X"$1" != X"-c"; then
  1331.     echo 'x - skipping models/szall.ep (File already exists)'
  1332.     rm -f _shar_wnt_.tmp
  1333. else
  1334. > _shar_wnt_.tmp
  1335. echo 'x - extracting models/szall.ep (Text)'
  1336. sed 's/^X//' << 'SHAR_EOF' > 'models/szall.ep' &&
  1337. X#  CHK=0xE67C
  1338. X
  1339. X    do 'put_mpad1'
  1340. X    lookfor '% ' 40
  1341. X    do 'put_kdir12'
  1342. X    lookfor '% ' 40
  1343. X    do 'put_sim'
  1344. X    lookfor '% ' 40
  1345. X    do 'put_ecu'
  1346. SHAR_EOF
  1347. chmod 0644 models/szall.ep ||
  1348. echo 'restore of models/szall.ep failed'
  1349. Wc_c="`wc -c < 'models/szall.ep'`"
  1350. test 127 -eq "$Wc_c" ||
  1351.     echo 'models/szall.ep: original size 127, current size' "$Wc_c"
  1352. rm -f _shar_wnt_.tmp
  1353. fi
  1354. # ============= models/tty1a.mi ==============
  1355. if test -f 'models/tty1a.mi' -a X"$1" != X"-c"; then
  1356.     echo 'x - skipping models/tty1a.mi (File already exists)'
  1357.     rm -f _shar_wnt_.tmp
  1358. else
  1359. > _shar_wnt_.tmp
  1360. echo 'x - extracting models/tty1a.mi (Text)'
  1361. sed 's/^X//' << 'SHAR_EOF' > 'models/tty1a.mi' &&
  1362. X#  CHK=0x10FF
  1363. X#+-----------------------------------------------------------------
  1364. X#  tty1a.mi - Microcom AX/9624c
  1365. X#  Copyright 1989 Warren H. Tucker, III. All Rights Reserved
  1366. X#------------------------------------------------------------------
  1367. X#+:EDITS:*/
  1368. X#:09-10-1992-14:00-wht@n4hgf-ECU release 3.20
  1369. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1370. X#:11-03-1989-16:21-wht------ unet2 -----
  1371. X#:07-02-1989-20:51-wht-beef up init
  1372. X#:06-17-1989-22:02-wht-creation
  1373. X
  1374. Xinit_>2400:atq0e1v1x4s0=0s2=43s7=30\q1\x1\n3
  1375. Xinit_default:atq0e1v1x4s0=0s2=43s7=30\q0\x0\n0
  1376. Xdial_default:atdt
  1377. Xautoanswer:atq1s0=1
  1378. SHAR_EOF
  1379. chmod 0644 models/tty1a.mi ||
  1380. echo 'restore of models/tty1a.mi failed'
  1381. Wc_c="`wc -c < 'models/tty1a.mi'`"
  1382. test 592 -eq "$Wc_c" ||
  1383.     echo 'models/tty1a.mi: original size 592, current size' "$Wc_c"
  1384. rm -f _shar_wnt_.tmp
  1385. fi
  1386. # ============= models/tty2d.mi ==============
  1387. if test -f 'models/tty2d.mi' -a X"$1" != X"-c"; then
  1388.     echo 'x - skipping models/tty2d.mi (File already exists)'
  1389.     rm -f _shar_wnt_.tmp
  1390. else
  1391. > _shar_wnt_.tmp
  1392. echo 'x - extracting models/tty2d.mi (Text)'
  1393. sed 's/^X//' << 'SHAR_EOF' > 'models/tty2d.mi' &&
  1394. X#  CHK=0xFA63
  1395. X#+-----------------------------------------------------------------
  1396. X#  tty2d.mi - USR Courier 2400
  1397. X#  Copyright 1989 Warren H. Tucker, III. All Rights Reserved
  1398. X#------------------------------------------------------------------
  1399. X#+:EDITS:*/
  1400. X#:09-10-1992-14:00-wht@n4hgf-ECU release 3.20
  1401. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1402. X#:11-03-1989-16:21-wht------ unet2 -----
  1403. X#:07-02-1989-20:51-wht-beef up init
  1404. X#:06-17-1989-22:02-wht-creation
  1405. X
  1406. Xinit_default:atq0e1v1x4s0=0s2=43s7=30s11=47
  1407. Xdial_default:atdt
  1408. Xautoanswer:atq1s0=1
  1409. SHAR_EOF
  1410. chmod 0644 models/tty2d.mi ||
  1411. echo 'restore of models/tty2d.mi failed'
  1412. Wc_c="`wc -c < 'models/tty2d.mi'`"
  1413. test 543 -eq "$Wc_c" ||
  1414.     echo 'models/tty2d.mi: original size 543, current size' "$Wc_c"
  1415. rm -f _shar_wnt_.tmp
  1416. fi
  1417. # ============= models/unixlogin.ep ==============
  1418. if test -f 'models/unixlogin.ep' -a X"$1" != X"-c"; then
  1419.     echo 'x - skipping models/unixlogin.ep (File already exists)'
  1420.     rm -f _shar_wnt_.tmp
  1421. else
  1422. > _shar_wnt_.tmp
  1423. echo 'x - extracting models/unixlogin.ep (Text)'
  1424. sed 's/^X//' << 'SHAR_EOF' > 'models/unixlogin.ep' &&
  1425. X#  CHK=0xE6DC
  1426. X#+-----------------------------------------------------------------
  1427. X#  unixlogin.ep - ecu UNIX login procedure
  1428. X#  Copyright 1989 Warren H. Tucker, III. All Rights Reserved
  1429. X#
  1430. X# %argv(1) = remote name
  1431. X# %argv(2) = user name
  1432. X# %argv(3) = password
  1433. X# %argv(4) = term type
  1434. X# %argv(5) = optional number of breaks needed
  1435. X#
  1436. X# To use to call system 'xyz' in the dialing directory, make a
  1437. X# procedure called xyz.ep doing something like:
  1438. X#
  1439. X#     $s0='password'
  1440. X#     do 'unixlogin' 'xyz' 'username' $s0 ''
  1441. X#
  1442. X# This procedure sets $i0 to 0 if connect succeeds, else 1
  1443. X# as required of an ecu dialing procedure
  1444. X#+-----------------------------------------------------------------
  1445. X#+:EDITS:*/
  1446. X#:09-10-1992-14:00-wht@n4hgf-ECU release 3.20
  1447. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1448. X#:05-10-1992-09:22-wht@n4hgf-%conn can be -1 now
  1449. X#:12-02-1991-22:07-wht@n4hgf-better doc
  1450. X#:07-12-1990-14:05-wht@n4hgf-use expresp
  1451. X#:07-11-1989-16:55-wht-get cmd became lgets
  1452. X#:07-09-1989-23:50-wht-add breaks
  1453. X#:06-28-1989-19:36-wht-use named variables
  1454. X#:06-25-1989-13:56-wht-new do command syntax
  1455. X#:06-25-1989-12:33-wht-new if/while syntax
  1456. X#:06-23-1989-19:46-wht-improved hayes dialer reduces need to report dial fail
  1457. X#:06-19-1989-22:50-wht-use while and if statements
  1458. X#:06-14-1989-15:58-wht-add login capability when already connected
  1459. X#:06-11-1989-23:37-wht-creation
  1460. X
  1461. X    mkvar $i_csave,$i_ltimeout,$i_retries
  1462. X    mkvar $s_2048(2048) # handle bigger login big motd
  1463. X
  1464. X    $i_csave = %colors
  1465. X    $i_ltimeout = 30 # 3 seconds wait for first login prompt
  1466. X    $i_retries=3
  1467. X
  1468. X    color red;    echo -n '\nauto-logon to '
  1469. X    color yellow; echo -n %argv(1)
  1470. X    color red;    echo    ' on '+%date+' at '+%time+'\n'
  1471. X
  1472. X    ifi %argc < 5    # not enough args
  1473. X    {
  1474. X        color red
  1475. X        echo %argv(0)+' needs 5 arguments (got '+%itos(%argc)+')'
  1476. X        goto SORRY
  1477. X    }
  1478. X    mkvar $i_breaks
  1479. X    ifi %argc > 5 $i_breaks = %stoi(%argv(5))
  1480. X
  1481. X    ifi %conn <= 0 goto DIAL
  1482. X
  1483. X    ifs %rname == %argv(1)
  1484. X    {
  1485. X        color brown;  echo -n 'already connected to '
  1486. X        color yellow; echo    %rname
  1487. X        send ''
  1488. X        goto SEND_BREAKS
  1489. X    }
  1490. X
  1491. XHANGUP
  1492. X    ifi %conn <> 0 echo 'hanging up on '+%rname; hangup
  1493. X
  1494. XDIAL
  1495. X    color green
  1496. X    dial %argv(1); set $i1=$i0 #save dial result in $i1
  1497. X    ifi $i1 == 2 color red; echo 'interrupted'; goto SORRY
  1498. X    ifi $i1 != 0 goto SORRY
  1499. X
  1500. X# send breaks?
  1501. XSEND_BREAKS
  1502. X    ifi $i_breaks > 0
  1503. X    {
  1504. X        color blue; echo 'sending up to '+%itos($i_breaks)+' break(s) to remote'
  1505. X        nap 30
  1506. X        whilei $i_breaks > 0
  1507. X        {
  1508. X            color magenta; echo 'BREAK'
  1509. X            lbreak
  1510. X            expresp '~t[8]gin:'
  1511. X            ifi $i0 == 0
  1512. X                break;
  1513. X            nap 30
  1514. X            $i_breaks = $i_breaks - 1
  1515. X        }
  1516. X        flush
  1517. X    }
  1518. X
  1519. X# get login prompt from remote UNIX system: "login: "
  1520. XGET_LOGIN_PROMPT
  1521. X    $i_retries = 3
  1522. XGET_LOGIN_PROMPT_RETRY
  1523. X    ifi $i_retries <= 0
  1524. X    {
  1525. X        color red; echo '\ncannot seem to get in with these credentials'
  1526. X        goto SORRY
  1527. X    }
  1528. X    color blue; echo 'looking for login prompt'
  1529. X    color white
  1530. X    expresp -v '~t[8]gin:--~t[5]gin:--gin:--gin:'
  1531. X    ifi $i0 > 0
  1532. X    {
  1533. X        color red; echo '\nfailed to get login prompt'
  1534. X        goto SORRY
  1535. X    }
  1536. X    icolor $i_csave
  1537. X
  1538. X# give username to remote
  1539. XSEND_USERNAME
  1540. X    nap 3 # system not always ready when it says
  1541. X    send %argv(2)
  1542. X
  1543. X# get password prompt: "Password:" 
  1544. XGET_PASSWORD_PROMPT
  1545. X    color white
  1546. X    lookfor -e 'word:' 50
  1547. X    ifi $i0 != 1        # did not find 'Password: '
  1548. X    {
  1549. X        send ''
  1550. X        gotob GET_LOGIN_PROMPT_RETRY
  1551. X    }
  1552. X
  1553. X# send the password
  1554. X    nap 3 # system not always ready when it says
  1555. X    send %argv(3)
  1556. X    icolor $i_csave
  1557. X
  1558. X# get term type prompt "TERM = (ansi) "
  1559. X# also handle incorect login retry and 'Sorry' hangup indication
  1560. XGET_TERMTYPE_PROMPT
  1561. X    ifs %argv(4) == ''    # if no term type, don't wait for prompt
  1562. X    {
  1563. X        $i0 = 0            # return good status
  1564. X        goto SETCOLOR_AND_RETURN_STATUS
  1565. X    }
  1566. X    lgets -re $s_2048 100 50 ') '
  1567. X    ifi %instr($s_2048,'Sorry') > 0 hangup;goto SORRY
  1568. X    ifi %instr($s_2048,'incorrect') > 0        # exhausted retry?
  1569. X    {
  1570. X        set $i_retries=$i_retries-1
  1571. X        ifi $i_retries > 0 goto SEND_USERNAME
  1572. X        goto SORRY
  1573. X    }
  1574. X# send terminal type
  1575. X    ifi %instr($s_2048,'TERM') < 0
  1576. X        lookfor -e ') ' 30
  1577. X    send %argv(4)
  1578. X    lookfor -e '\n' 50
  1579. X    set $i0=0
  1580. X    goto SETCOLOR_AND_RETURN_STATUS
  1581. X
  1582. X# procedure failed
  1583. XSORRY
  1584. X    set $i0=1
  1585. X
  1586. XSETCOLOR_AND_RETURN_STATUS
  1587. X    icolor $i_csave
  1588. X    ifi $i0 == 0 ifi %conn !=0 prompt %rname+' >'
  1589. X    return $i0
  1590. X
  1591. X# vi:set tabstop=4 shiftwidth=4:
  1592. SHAR_EOF
  1593. chmod 0644 models/unixlogin.ep ||
  1594. echo 'restore of models/unixlogin.ep failed'
  1595. Wc_c="`wc -c < 'models/unixlogin.ep'`"
  1596. test 4161 -eq "$Wc_c" ||
  1597.     echo 'models/unixlogin.ep: original size 4161, current size' "$Wc_c"
  1598. rm -f _shar_wnt_.tmp
  1599. fi
  1600. # ============= zgcc ==============
  1601. if test -f 'zgcc' -a X"$1" != X"-c"; then
  1602.     echo 'x - skipping zgcc (File already exists)'
  1603.     rm -f _shar_wnt_.tmp
  1604. else
  1605. > _shar_wnt_.tmp
  1606. echo 'x - extracting zgcc (Text)'
  1607. sed 's/^X//' << 'SHAR_EOF' > 'zgcc' &&
  1608. X#!/bin/csh
  1609. X#+-----------------------------------------------------------------------
  1610. X# zgcc
  1611. X# arg[1]  - filename containing list of files
  1612. X# arg[2]  - output filename
  1613. X# arg[3]  - path to afterlint and mkoldproto
  1614. X# arg[4-] - CFLAGS
  1615. X#------------------------------------------------------------------------
  1616. X#+:EDITS:*/
  1617. X#:09-10-1992-14:00-wht@n4hgf-ECU release 3.20
  1618. X#:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA
  1619. X#:01-21-1992-05:53-wht@n4hgf-add path as arg3
  1620. X#:08-11-1991-23:47-wht@n4hgf-thanks for the -p1 suggestion to sef@kithrup.com
  1621. X#zgcc -- build prototyping "PROTOTYPES"
  1622. Xecho C sources in $1';' result file $2
  1623. Xunset noclobber
  1624. Xset p=$argv[3]
  1625. Xrm -f zg.t
  1626. Xif (-e /unix)
  1627. X    echo 'building old-style prototypes for XENIX compiler compatibility'
  1628. X    echo 'unnamed struct/union as parameter warning probably about FILE :-('
  1629. Xendif
  1630. Xforeach i(`cat $1`)
  1631. Xif (-e /unix)
  1632. X    cc -DBUILDING_PROTOTYPES -p1 /lib/p1 -Zg $argv[4-] $i | \
  1633. X        $p/mkoldproto > zg1.t
  1634. Xelse
  1635. X    cc -DBUILDING_PROTOTYPES -Zg $argv[4-] $i > zg1.t
  1636. Xendif
  1637. Xsort zg1.t > zg2.t
  1638. Xecho '/*' $i '*/' >> zg.t
  1639. Xcat zg2.t >> zg.t
  1640. Xend
  1641. X$p/afterlint zg.t $2
  1642. Xrm -f zg.t zg?.t
  1643. Xecho Output in $2
  1644. SHAR_EOF
  1645. chmod 0755 zgcc ||
  1646. echo 'restore of zgcc failed'
  1647. Wc_c="`wc -c < 'zgcc'`"
  1648. test 1125 -eq "$Wc_c" ||
  1649.     echo 'zgcc: original size 1125, current size' "$Wc_c"
  1650. rm -f _shar_wnt_.tmp
  1651. fi
  1652. # ============= mkoldproto.l ==============
  1653. if test -f 'mkoldproto.l' -a X"$1" != X"-c"; then
  1654.     echo 'x - skipping mkoldproto.l (File already exists)'
  1655.     rm -f _shar_wnt_.tmp
  1656. else
  1657. > _shar_wnt_.tmp
  1658. echo 'x - extracting mkoldproto.l (Text)'
  1659. sed 's/^X//' << 'SHAR_EOF' > 'mkoldproto.l' &&
  1660. X/* CHK=0x5793 */
  1661. X%{
  1662. Xchar *rev = "1.00";
  1663. X/*+-------------------------------------------------------------------------
  1664. X    mkoldproto.c.{l,c} - make "old" style prototypes from "new" kind
  1665. X
  1666. Xcc -Zg source.c | mkproto > lint_args.h
  1667. X
  1668. Xtakes prototypes of the style
  1669. Xvoid change_report(char *original);
  1670. Xand emits
  1671. Xvoid change_report(char *);
  1672. XThe UNIX V compiler makes the new kind, accepts the old and new kind,
  1673. Xbut there are a lot of compilers which don't like the new kind.
  1674. X
  1675. XWarning, this program will make mush out of "old" style prototypes
  1676. Xfed to it.
  1677. X--------------------------------------------------------------------------*/
  1678. X/*+:EDITS:*/
  1679. X/*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 */
  1680. X/*:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA */
  1681. X/*:11-27-1989-18:31-wht-creation */
  1682. X
  1683. Xint verbose = 0;
  1684. X
  1685. X/*+-------------------------------------------------------------------------
  1686. X    change_report(original)
  1687. X--------------------------------------------------------------------------*/
  1688. Xvoid
  1689. Xchange_report(original)
  1690. Xchar *original;
  1691. X{
  1692. X    fputs("fixing: ",stderr);
  1693. X    while(*original)
  1694. X    {
  1695. X        if((*original >= ' ') && (*original <= '~'))
  1696. X            fputc(*original,stderr);
  1697. X        else
  1698. X            fprintf(stderr,"<%02x>",*original);
  1699. X        original++;
  1700. X    }
  1701. X    fputs("\n",stderr);
  1702. X}    /* end of change_report */
  1703. X
  1704. X
  1705. X/*+-------------------------------------------------------------------------
  1706. X    main(argc,argv,envp)
  1707. X--------------------------------------------------------------------------*/
  1708. Xmain(argc,argv,envp)
  1709. Xint argc;
  1710. Xchar **argv;
  1711. Xchar **envp;
  1712. X{
  1713. Xregister int itmp;
  1714. Xregister int iargv;
  1715. Xint fileiargv = 0;
  1716. X
  1717. X    if(argc > 1)
  1718. X    {
  1719. X        for(iargv = 1; iargv < argc; iargv++)
  1720. X        {
  1721. X            if(argv[iargv][0] == '-')
  1722. X            {
  1723. X                switch(itmp = (argv[iargv][1]))
  1724. X                {
  1725. X                    case 'v':
  1726. X                        verbose = 1;
  1727. X                        break;
  1728. X                    default:
  1729. X                        break;
  1730. X                }
  1731. X            }
  1732. X            else
  1733. X            {
  1734. X                if(yyin != stdin)
  1735. X                {
  1736. X                    fprintf(stderr,"only 1 filename, please\n");
  1737. X                    exit(1);
  1738. X                }
  1739. X                if( (yyin = fopen(argv[iargv],"r")) == NULL)
  1740. X                {
  1741. X                    perror(argv[iargv]);
  1742. X                    exit(1);
  1743. X                }
  1744. X                fileiargv = iargv;
  1745. X            }
  1746. X        }
  1747. X    }
  1748. X
  1749. X    if(verbose && fileiargv)
  1750. X        fprintf(stderr,"%s:\n",argv[fileiargv]);
  1751. X
  1752. X    yylex();
  1753. X
  1754. X    exit(0);
  1755. X}    /* end of main */
  1756. X
  1757. X/* vi: set tabstop=4 shiftwidth=4: */
  1758. X%}
  1759. XW            [ \t]
  1760. XSTRING        \"([^"\n]|\\\")*\"
  1761. XOPCHARS        ["'+-*/=|!&%^?><:\]]
  1762. XIDENT        [a-zA-Z0-9_]+
  1763. XU            "unsigned"
  1764. XI            "int"
  1765. XL            "long"
  1766. XS            "short"
  1767. XC            "char"
  1768. XR            "register"
  1769. XST            "static"
  1770. XI8            "INT8"
  1771. XI16            "INT16"
  1772. XI32            "INT32"
  1773. XUN_ST        ("union "|"struct "){IDENT}
  1774. XDECLTAB1    ({I}|{C}|{S}|{L}|{U}|{R}|{ST}|{I8}|{I16}|{I32}|{UN_ST})[\t]{IDENT}
  1775. XDECLTAB2    ({I}|{C}|{S}|{L}|{U}|{R}|{ST}|{I8}|{I16}|{I32}|{UN_ST})[\t ][\t ]+{IDENT}
  1776. X%START    COMMENT PREPROC
  1777. X%%
  1778. X<PREPROC>.*\n                            {ECHO;
  1779. X                                         BEGIN 0;
  1780. X                                        }
  1781. X^"#"                                    {
  1782. X                                        ECHO;
  1783. X                                        BEGIN PREPROC;
  1784. X                                        }
  1785. X<COMMENT>([^*\n]|"*"+[^*/\n])*            ECHO;
  1786. X<COMMENT>([^*\n]|"*"+[^*/\n])*"*"*"*/"    {ECHO;
  1787. X                                         BEGIN 0;
  1788. X                                        }
  1789. X<COMMENT>.|\n                            ECHO;
  1790. X"/*"                {
  1791. X                        ECHO;
  1792. X                        BEGIN COMMENT;
  1793. X                    }
  1794. X"extern  "            {
  1795. X                        ;
  1796. X                    }
  1797. X"* "                {
  1798. X                        fprintf(yyout,"*");
  1799. X                    }
  1800. X{IDENT}","            {
  1801. X                    register char *cptr = yytext + yyleng - 1;
  1802. X                        if(verbose)
  1803. X                            change_report(yytext);
  1804. X                        while((*cptr != '\t') && (*cptr != ' ') && (*cptr != '*'))
  1805. X                            *cptr-- = 0;
  1806. X                        fprintf(yyout,",",yytext);
  1807. X                    }
  1808. X{IDENT}")"            {
  1809. X                    register char *cptr = yytext + yyleng - 1;
  1810. X                        if(verbose)
  1811. X                            change_report(yytext);
  1812. X                        while((*cptr != '\t') && (*cptr != ' ') && (*cptr != '*'))
  1813. X                            *cptr-- = 0;
  1814. X                        fprintf(yyout,")",yytext);
  1815. X                    }
  1816. X{STRING}            ECHO;
  1817. X"'"."'"                ECHO;
  1818. X.|\n                ECHO;
  1819. X
  1820. SHAR_EOF
  1821. chmod 0644 mkoldproto.l ||
  1822. echo 'restore of mkoldproto.l failed'
  1823. Wc_c="`wc -c < 'mkoldproto.l'`"
  1824. test 3523 -eq "$Wc_c" ||
  1825.     echo 'mkoldproto.l: original size 3523, current size' "$Wc_c"
  1826. rm -f _shar_wnt_.tmp
  1827. fi
  1828. rm -f _shar_seq_.tmp
  1829. echo You have unpacked the last part
  1830. exit 0
  1831.  
  1832. exit 0 # Just in case...
  1833.