home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume26 / pcomm-2.0.2 / part06 / Doc.me
Encoding:
Text File  |  1993-04-13  |  67.5 KB  |  2,638 lines

  1. .\" format this thru tbl and the me macro package.
  2. .po 1.0i                \" 1 inch page offset
  3. .ps 10                    \" 10 point type
  4. .nh                    \" no hyphenation
  5. .ll 6.5i                \" line length (8.5in -1.0in, -1.0in)
  6. .nr sf 3                \" section font is bold
  7. .nr tf 1                \" title font is roman
  8. .\" this macro is used to change the proportional font to 12 pitch
  9. .\" some folks may need ".cs CW" in lieu of ".cs R 22"
  10. .de CS
  11. .cs R 22
  12. ..
  13. .\" and this one puts things back
  14. .de Cs
  15. .cs R
  16. ..
  17. .tp
  18. .sp 7
  19. .CS
  20. .(l C
  21. PPPPPP    CCCC    OOOO    MM   MM   MM   MM
  22. P    P   C       O    O   M M M M   M M M M
  23. PPPPPP   C       O    O   M  M  M   M  M  M
  24. P        C       O    O   M     M   M     M
  25. P         CCCC    OOOO    M     M   M     M
  26. .)l
  27. .Cs
  28. .sp 7
  29. .ce 11
  30. Pcomm Reference Manual
  31. .sp
  32. version 2.0
  33. .sp 3
  34.  written by
  35. .sp
  36. Emmet P. Gray
  37. .cc A
  38. ...!uunet!uiucuxc!fthood!egray
  39. Acc .
  40. fthood!egray@uxc.cso.uiuc.edu
  41. .ce 0
  42. .sp 6
  43. Pcomm is a public domain telecommunication program for Unix that is
  44. designed to operate similarly to the MSDOS program, ProComm.  ProComm (TM)
  45. is copyrighted by Datastorm Technologies, Inc.  This is a completely new
  46. program and contains no ProComm source code.  This is not a Datastorm
  47. product.
  48. .bp
  49. .oh ''Pcomm Reference Manual'Page %'
  50. .eh 'Page %'Pcomm Reference Manual''
  51. .pn 1
  52. .ep
  53. .bp
  54. .sh 1 INTRODUCTION 
  55. .(x
  56. \*($n INTRODUCTION
  57. .)x
  58. .lp
  59. Pcomm is a public domain, menu driven, telecommunication program
  60. designed to provide the same \*(lqease of use\*(rq as similar programs
  61. available in MSDOS.  Some of its features are:
  62. .br
  63. .in +0.5i
  64. .(b L
  65. \(bu Large dialing directory
  66. \(bu Full scripting feature
  67. \(bu Automatic redial feature
  68. \(bu Six built-in file transfer protocols
  69. \(bu External file transfer program support
  70. \(bu Data logging (log of the terminal session)
  71. \(bu Printer logging
  72. \(bu Screen dump to a file
  73. \(bu Shell escapes to Unix
  74. \(bu Help screen
  75. \(bu Keyboard macros
  76. \(bu User customization
  77. \(bu Administrative logging of phone calls
  78. \(bu Optional modem configuration per dialing directory entry
  79. \(bu Administrative limits on long distance access
  80. .)b
  81. .in
  82. .lp
  83. Pcomm does not emulate any particular terminal.  Whatever terminal
  84. you're on, is what the remote system \*(lqsees\*(rq.
  85. .sh 2 Abbreviations
  86. .(x
  87.   \*($n Abbreviations
  88. .)x
  89. .lp
  90. Pcomm uses the notation \*(lq^A-X\*(rq to mean control-A followed by the
  91. letter X. The dash (\-) in the notation is just for clarity; it is not
  92. included in the actual command sequence.  Also, there is no distinction
  93. between upper and lower case letters.
  94. .lp
  95. The following abbreviations appear in Pcomm:
  96. .br
  97. .in +0.5i
  98. .(b L
  99. .TS
  100. l l.
  101. <CR>    carriage return key (sometimes labeled Enter)
  102. <ESC>    escape key
  103. <SPACE>    space bar
  104. <DEL>    del key
  105. <up>    up arrow key
  106. <down>    down arrow key
  107. LF    line feed character (control-J)
  108. CR    carriage return character (control-M)
  109. .TE
  110. .)b
  111. .in
  112. .sh 2 Requirements
  113. .(x
  114.   \*($n Requirements
  115. .)x
  116. .lp
  117. Pcomm will not run on terminals with a screen size of less than 80
  118. columns by 24 lines or on terminals that lack cursor movement
  119. capabilities.  For terminals without arrow keys, use the letter
  120. \*(lqU\*(rq in place of \*(lqup arrow\*(rq and the letter \*(lqN\*(rq in
  121. place of \*(lqdown arrow\*(rq (the letter \*(lqD\*(rq would have been a
  122. more obvious choice, but, unfortunately, it is used elsewhere).
  123. .sh 2 "Support files"
  124. .(x
  125.   \*($n Support files
  126. .)x
  127. .lp
  128. Pcomm uses four support files, namely:
  129. .br
  130. .in +0.5i
  131. .(b L
  132. .TS
  133. l l.
  134. pcomm\^.\^dial_dir    the dialing directory
  135. pcomm\^.\^extrnl    the external file transfer programs
  136. pcomm\^.\^modem    the modem/TTY database
  137. pcomm\^.\^param    the start-up default parameters
  138. .TE
  139. .)b
  140. .in
  141. .lp
  142. There is a default directory (typically \*(lq/usr/local/lib/pcomm\*(rq)
  143. where the \*(lqstandard\*(rq support files live.  Since the average user
  144. won't have write permission on these files, it's assumed that they will
  145. copy one or more of these standard files to their own directories and
  146. edit them to suit their needs.
  147. .lp
  148. Pcomm can use the environmental variable \*(lqPCOMM\*(rq to search for
  149. these \*(lqprivate\*(rq support files.  If used, the variable must
  150. contain the path to the directory containing the files.  You can
  151. \*(lqmix and match\*(rq the use of standard and private support files.
  152. For example, the pcomm\^.\^modem file is rarely changed by the user so there
  153. would be no need to copy that file to the private directory.
  154. .lp
  155. Pcomm also uses normal Unix shell scripts to perform the \*(lqchat\*(rq
  156. sequences necessary to automatically log a user onto a system.
  157. .lp
  158. The following directories are searched to find the support files and the
  159. shell scripts:
  160. .br
  161. .in +0.5i
  162. .(b L
  163. 1) directory given with the \*(lq\-d\*(rq option
  164. 2) directory in the PCOMM environmental variable
  165. 3) the current working directory
  166. 4) the default directory (compiled into Pcomm)
  167. .)b
  168. .in
  169. .bp
  170. .\"                    force "chapter" heading to odd page
  171. .if e \{
  172. .ep
  173. .bp\}
  174. .sh 1 "RUNNING PCOMM"
  175. .\"                    put a blank line in the index
  176. .(x
  177.  
  178. .)x _
  179. .(x
  180. \*($n RUNNING PCOMM
  181. .)x
  182. .lp
  183. Pcomm has the following command line syntax.
  184. .sp
  185. .in +0.5i
  186. .(b L
  187. pcomm [\-d directory] [\-f system name] [\-a auxiliary file]
  188. .br
  189. .ti +\w'pcomm 'u
  190. [-e|o|n] [-w word length] [-b baud rate] [-p phone number]
  191. .)b
  192. .in
  193. .lp
  194. The \*(lq\-d\*(rq option allows you to specify an additional path to be
  195. used when searching for the Pcomm support files.  This option is often
  196. useful for \*(lqborrowing\*(rq someone else's dialing directory.
  197. .lp
  198. The \*(lq\-f\*(rq option is used to specify automatic dialing of an entry
  199. in the dialing directory.  The name field in the dialing directory
  200. (described later) is checked against the string given on the command
  201. line.  If a match is found, that entry is automatically dialed.  The
  202. match does not consider upper and lower case differences.
  203. .lp
  204. The \*(lq\-a\*(rq option is used to specify a script file to be
  205. \*(lqplayed\*(rq prior to dialing, to specify the TTY to be use, or to
  206. specify the modem to be used.  This feature can be used to customize
  207. Pcomm options or perform unattended operations.
  208. .lp
  209. The remaining options are used to set the parity, data bits, baud rate,
  210. and telephone number from the command line.
  211. .br
  212. .in +0.5i
  213. .(b L
  214. .TS
  215. l l.
  216. \-e    Set the parity to even
  217. \-o    Set the parity to odd
  218. \-n    Set the parity to none
  219. \-w    Set the word length (number of data bits)
  220. \-b    Set the baud rate
  221. \-p    Dial this number
  222. .TE
  223. .)b
  224. .in
  225. .sh 2 "Hot key"
  226. .(x
  227.   \*($n Hot key
  228. .)x
  229. .lp
  230. Pcomm uses a \*(lqhot key\*(rq to precede each command.  (The value of
  231. the hot key is a user tunable parameter, but for the purpose of this
  232. document we'll assume the hot key is defined as control-A).
  233. .lp
  234. The hot key is used to put Pcomm in the command mode.  For example, to
  235. get the help screen, you type control-A (to get to the command mode)
  236. then the number 0 (to display the help screen).  When a command is
  237. completed, Pcomm returns to the terminal mode.
  238. .lp
  239. .ft I
  240. NOTE:\ \ While in the command mode, the communication with the remote
  241. system is temporarily suspended.
  242. .ft
  243. .sh 2 "Status line"
  244. .(x
  245.   \*($n Status line
  246. .)x
  247. .lp
  248. Whenever Pcomm is in the command mode (or is not currently connected to
  249. a remote) a status line is displayed at the bottom of the screen.  A
  250. typical status line might look like this:
  251. .br
  252. .if n .po 0                \" table may be more than 6.5in wide
  253. .if n .ll 8.5i
  254. .CS
  255. .(b L
  256. .TS
  257. box center;
  258. l|l|l|l|l|l|l|l.
  259. ^A-0 HELP     No TTY     FDX     1200 E71     LOG OFF     PTR OFF     CR      CR  
  260. .TE
  261. .)b
  262. .Cs
  263. .if n .po 1.0i
  264. .if n .ll 6.5i
  265. .lp
  266. The eight fields of the status line are:
  267. .br
  268. .in +0.5i
  269. .(b L
  270. \(bu help screen command (or a temporary message)
  271. \(bu name of the TTY device in use
  272. \(bu duplex mode (FDX = full duplex, HDX = half duplex)
  273. \(bu current connection settings (not necessarily DTE speed)
  274. \(bu status of data logging option
  275. \(bu status of printer logging option
  276. \(bu incoming CR translation
  277. \(bu outgoing CR translation
  278. .)b
  279. .in
  280. .lp
  281. .ft I
  282. NOTE:\ \ If the DTE (Data Terminal Equipment) interface speed is locked,
  283. the status line will show the \*(lqconnected\*(rq speed rather than the
  284. speed of the serial port.
  285. .ft
  286. .sh 2 "Help screen"
  287. .(x
  288.   \*($n Help screen
  289. .)x
  290. .lp
  291. The help screen gives a brief review of all the available commands.  To
  292. access the help screen type ^A and \*(lq0\*(rq (zero).  The typical help
  293. screen will look like this:
  294. .br
  295. .if n .po 0                \" table may be more than 6.5in wide
  296. .if n .ll 8.5i
  297. .CS
  298. .(b L
  299. .TS
  300. box center;
  301. c s s
  302. c c c
  303. l l l.
  304. .sp
  305. P C O M M    H E L P
  306. .sp
  307. _
  308. .sp
  309. Major Functions    Utility Functions    File Functions
  310. .sp
  311.  Dialing Directory. ^A-D    Program Info .... ^A-I    Send Files .... ^A-<up>
  312.  Auto Redial ...... ^A-R    Setup Screen .... ^A-S    Receive Files . ^A-<down>
  313.  Keyboard Macros .. ^A-M    Change Directory. ^A-B    Pass Thru Mode. ^A-T
  314.  Line Settings .... ^A-P    Clear Screen .... ^A-C    Directory ..... ^A-F
  315.  Exit Pcomm ....... ^A-X    Toggle Duplex ... ^A-E    Screen Dump ... ^A-G
  316.  Unix Gateway ..... ^A-4    Hang Up Phone ... ^A-H    Start Data Log. ^A-1
  317.  Command Files .... ^A-5    Printer On/Off .. ^A-L    Toggle Log .... ^A-2
  318.     Toggle CR-CR/LF . ^A-3
  319.     Break Key ....... ^A-7
  320. .sp
  321. .T&
  322. c s s.
  323. Press any key to continue
  324. .TE
  325. .)b
  326. .Cs
  327. .if n .po 1.0i
  328. .if n .ll 6.5i
  329. .sh 2 "Exit Pcomm"
  330. .(x
  331.   \*($n Exit Pcomm
  332. .)x
  333. .lp
  334. To exit Pcomm, you type ^A and \*(lqx\*(rq to access the exit window.
  335. .br
  336. .in +0.5i
  337. .CS
  338. .(b L
  339. .TS
  340. box;
  341. l.
  342.    Exit
  343. .sp
  344. .\"                           spaces out to here
  345.    Exit to Unix? (y/n): _     
  346. .sp
  347. .TE
  348. .)b
  349. .Cs
  350. .in
  351. .lp
  352. To exit, you press the letter \*(lqy\*(rq (carriage return not required).
  353. .bp
  354. .if e \{
  355. .ep
  356. .bp\}
  357. .sh 1 "SETUP SCREENS"
  358. .(x
  359.  
  360. .)x _
  361. .(x
  362. \*($n SETUP SCREENS
  363. .)x
  364. .lp
  365. Pcomm allows you to change many of the default parameters.  The setup
  366. screen is accessed by typing ^A and \*(lqs\*(rq.  The following screen
  367. shows the sub-menu choices:
  368. .br
  369. .CS
  370. .(b L
  371. .(c
  372. ------------------------- Setup Menu ----------------------------
  373. .sp
  374.                       1) TTY Setup
  375.                       2) Modem Setup
  376.                       3) Terminal Setup
  377.                       4) General Setup
  378.                       5) ASCII Transfer Setup
  379.                       6) External Protocol Setup
  380.                       S) Save setup to disk
  381. .sp
  382. -----------------------------------------------------------------
  383. OPTION ==> _                                  Press <ESC> to exit
  384. .)c
  385. .)b
  386. .Cs
  387. .lp
  388. To select one of the sub-menu choices, you type the number (or letter)
  389. at the \*(lqOPTION ==>\*(rq prompt.  To exit from a sub-menu and return
  390. to this setup menu screen, you press the escape key.
  391. .lp
  392. Changes made affect the current Pcomm session only.  To make the changes
  393. become the default, you select the \*(lqs\*(rq option.
  394. .sh 2 Prompting
  395. .(x
  396.   \*($n Prompting
  397. .)x
  398. .lp
  399. There are several different types of prompts used in the setup screens.
  400. The prompts use the bottom two lines on the display for user input and
  401. to give more information on what is being asked.  Pcomm will beep at any
  402. illegal input.  The escape key <ESC> will abort any prompt.  The prompt
  403. types are:
  404. .sp
  405. .in +0.5i
  406. \(bu Character prompt.  Asks you to input a single character.
  407. .br
  408. .in +\w'\(bu 'u
  409. .ti -\w'\(bu 'u
  410. \(bu String prompt.  Asks you to input a word or group of characters.
  411. .in 0.5i
  412. .br
  413. \(bu Numeric prompt.  Asks you for a number.
  414. .br
  415. .in +\w'\(bu 'u
  416. .ti -\w'\(bu 'u
  417. \(bu Menu prompt.  Shows a selection and allows you to choose the
  418. current selection by pressing the carriage return or change the
  419. selection by pressing the space bar.
  420. .in 0
  421. .sh 2 "TTY setup"
  422. .(x
  423.   \*($n TTY setup
  424. .)x
  425. .lp
  426. The TTY setup allows you to assign the serial ports that Pcomm is
  427. allowed to use, and what is attached to each port.  A typical TTY setup
  428. screen might look like this:
  429. .br
  430. .CS
  431. .(b L
  432. .(c
  433. -------------------------- TTY Setup ----------------------------
  434. .sp
  435.             TTY name        Modem name     Locked speed
  436. .sp
  437.             1) tty10        HAYES               0
  438.             2) tty11        HAYES               0
  439.             3) tty12        DIRECT              0
  440.             4) tty13        TELEBIT             38400
  441.             5) tty13        TELEBIT_V.32        38400
  442.             6) tty13        TELEBIT_PEP         38400
  443.             7)                                  0
  444.             8)                                  0
  445.             9)                                  0
  446.            10)                                  0
  447. .sp
  448.             A) Add a TTY entry                   
  449.             D) Delete a TTY entry                
  450. .sp
  451. -----------------------------------------------------------------
  452. OPTION ==> _                                Press <ESC> to return
  453. .)c
  454. .)b
  455. .Cs
  456. .lp
  457. You may edit an entry by typing the entry number at the prompt.  To add
  458. an entry, you type \*(lqA\*(rq at the prompt, etc.
  459. .lp
  460. The TTY setup fields are:
  461. .ba +0.5i
  462. .lp
  463. 1) TTY name.  This is the name of the serial port that Pcomm will be
  464. allowed to use.  Notice that the path component of the name,
  465. \*(lq/dev/\*(rq is not used.
  466. .lp
  467. 2) Modem name.  This a key word that is used later to link the modem
  468. database with the TTY database.  The name could be any combination of
  469. letters or numbers (both upper and lower case).
  470. .lp
  471. .ft I
  472. NOTE:\ \ All hard-wired ports (ports without modems attached) \fBmust\fP
  473. use the word \*(lqDIRECT\*(rq for the modem name.
  474. .ft R
  475. .lp
  476. 3) Locked speed.  Normally Pcomm will use the baud rate in the dialing
  477. directory when talking to the modem.  If the locked speed is non-zero,
  478. then the baud rate specified is the only one that will ever be use.  The
  479. baud rate is selected from a \*(lqmenu prompt\*(rq.  See Appendix C for
  480. more information about the use of this feature.
  481. .lp
  482. .ft I
  483. NOTE:\ \ It is often best to put the fastest modem/TTYs at the end of the
  484. TTY database.
  485. .ft
  486. .ba
  487. .sh 2 "Modem setup"
  488. .(x
  489.   \*($n Modem setup
  490. .)x
  491. .lp
  492. The modem setup contains the commands to make the modem dial, hang up
  493. the phone, etc.  A typical modem setup screen might look like this:
  494. .br
  495. .CS
  496. .(b L
  497. .(c
  498. -------------------------- Modem Setup --------------------------
  499. .sp
  500.            1) Modem name (1 of 5) ... HAYES
  501.            2) Modem init string ..... ATS7=60S11=70E0Q0V1X4&D2!
  502.            3) Dialing command ....... ATDT
  503.            4) Dialing cmd suffix .... !
  504.            5) Hang up string ........ ~~+++~~ATH0!
  505.            6) Auto baud detect ...... Y
  506.            7) 300 baud connect ...... CONNECT!
  507.            8) 1200 baud connect ..... CONNECT 1200
  508.            9) 2400 baud connect ..... CONNECT 2400
  509.           10) 4800 baud connect .....
  510.           11) 9600 baud connect .....
  511.           12) 19200 baud connect ....
  512.           13) 38400 baud connect ....
  513.           14) No connect string 1 ... BUSY
  514.           15) No connect string 2 ... VOICE
  515.           16) No connect string 3 ... NO CARRIER
  516.           17) No connect string 4 ...
  517. -----------------------------------------------------------------
  518. OPTION ==> _                                Press <ESC> to return
  519. .)c
  520. .)b
  521. .Cs
  522. .lp
  523. The fields of the modem setup are:
  524. .ba +0.5i
  525. .lp
  526. 1) Modem name.  This is the key word that links the modem database with
  527. the TTY database.  A menu prompt is used to select the modem name (and
  528. the remaining parameters that go with it).  The \*(lq(1 of 5)\*(rq field
  529. indicates there are additional modems in the database.
  530. .lp
  531. 2) Modem initialization string.  This is sent to the modem whenever the
  532. port is selected.  Consult your modem manual for the codes to be used.
  533. Notice the use of the \*(lq!\*(rq character.  This is the \*(lqcharacter
  534. synonym\*(rq for the carriage return.
  535. .lp
  536. .ft I
  537. NOTE:\ \ See section 3.5 for the complete list of character synonyms.  To
  538. remove the special meaning of a character synonym, you must prepend a
  539. \*(lq\e\*(rq to the character.
  540. .ft
  541. .lp
  542. 3) Dialing command.  The first part of the command to make the modem
  543. dial.  It is assumed that the phone number will immediately follow.
  544. .lp
  545. 4) Dialing command suffix.  The last part of the command to make the
  546. modem dial.  Typically this will be the carriage return \*(lqcharacter
  547. synonym\*(rq.
  548. .lp
  549. 5) Hang up string.  The command to make the modem hang up the phone.
  550. The character synonym for a 1 second pause is the tilde \*(lq~\*(rq
  551. character.
  552. .lp
  553. 6) Auto baud detect.  Should Pcomm attempt to change the baud rate of
  554. the TTY to the baud rate matching the connect string?  This feature
  555. requires the connect strings to be unique.  This does not override the
  556. locked speed feature (discussed in section 3.2).
  557. .lp
  558. 7\-13) Connect strings.  The return messages when the modem has connected
  559. to the remote.  If different messages are returned for each baud rate at
  560. which the modem answers, then they should be specified.
  561. .lp
  562. .ft I
  563. NOTE:\ \ Pcomm uses the connect strings to determine which baud rates the
  564. modem is capable of supporting.  For example, if the 4800 baud connect
  565. string is empty, Pcomm assumes the modem can not support 4800 baud.
  566. .sp
  567. NOTE:\ \ If two connect strings are very similar, (for example,
  568. \*(lqCONNECT\*(rq is entirely contained in \*(lqCONNECT 1200\*(rq), it
  569. is possible that the return code from the modem will match the incorrect
  570. string.  To prevent this from happening, use the command synonym for the
  571. carriage return to terminate the shorter string (for example, use
  572. \*(lqCONNECT!\*(rq instead of \*(lqCONNECT\*(rq).
  573. .ft
  574. .lp
  575. 14\-17) No connect strings.  The messages returned by the modem when no
  576. connection is made.
  577. .ba
  578. .sh 2 "Terminal setup"
  579. .(x
  580.   \*($n Terminal setup
  581. .)x
  582. .lp
  583. The terminal setup allows you to define the hot key and the mapping of
  584. the end-of-line characters.  A typical terminal setup menu will look
  585. like this:
  586. .br
  587. .CS
  588. .(b L
  589. .(c
  590. ---------------------- Terminal Setup ---------------------------
  591. .sp
  592.               1) Hot key (decimal) ...... 1
  593.               2) ASCII version of hot ... ^A
  594. .sp
  595.               3) Duplex ................. FULL
  596.               4) Flow control ........... XON/XOFF
  597.               5) CR translation (in) .... CR
  598.               6) CR translation (out) ... CR
  599. .sp
  600. -----------------------------------------------------------------
  601. OPTION ==> _                                Press <ESC> to return
  602. .)c
  603. .)b
  604. .Cs
  605. .lp
  606. The fields in the terminal setup are:
  607. .ba +0.5i
  608. .lp
  609. 1) Hot key.  This is the decimal code for the user definable hot key.
  610. Consult an ASCII/decimal conversion chart for the decimal values of
  611. other characters.
  612. .lp
  613. 2) ASCII version of hot key.  This is the printable version of the hot
  614. key used by Pcomm in the help screen and status line.
  615. .lp
  616. 3) Duplex.  A menu prompt is shown to select between FULL duplex and
  617. HALF duplex.  In the half duplex mode, characters sent to the remote
  618. system are also sent to the screen.  (The duplex mode can also be
  619. changed \*(lqon the fly\*(rq by the ^A-E command.)
  620. .lp
  621. 4) Flow control.  A menu prompt is shown to select between XON/XOFF flow
  622. control and NONE.  A value of NONE assumes that the hardware (not Pcomm)
  623. will perform the flow control.
  624. .lp
  625. .ft I
  626. NOTE:\ \ If your terminal gets \*(lqstuck\*(rq due to a flow control
  627. problem, any ^A (hot key) sequence will resume the flow.
  628. .ft
  629. .lp
  630. 5\-6) CR translations.  The end-of-line characters for both incoming and
  631. outgoing carriage returns can be altered to suit the remote system's
  632. needs.  A menu prompt provides the following choices:
  633. .sp
  634. .in +0.5i
  635. .nf
  636. \(bu CR (no translation)
  637. \(bu CR/LF translate CR to CR/LF
  638. .fi
  639. .in
  640. .lp
  641. The incoming CR translation can also be changed \*(lqon the fly\*(rq
  642. with the ^A-3 command.
  643. .ba
  644. .sh 2 "General setup"
  645. .(x
  646.   \*($n General setup
  647. .)x
  648. .lp
  649. The general setup allows you to define the character synonyms and the
  650. default files used by the screen dump and other features.  A typical
  651. general setup screen might look like this:
  652. .br
  653. .CS
  654. .(b L
  655. .(c
  656. ------------------------- General Setup -------------------------
  657. .sp
  658.               1) Default log file ....... pcomm.log
  659.               2) Screen dump file ....... pcomm.dump
  660. .sp
  661.               3) Strip high bit  ........ YES
  662. .sp
  663.               4) Pause character ........ ~
  664.               5) CR character ........... !
  665.               6) CTRL character ......... ^
  666.               7) ESC character .......... |
  667.               8) Break character ........ %
  668. .sp
  669.               9) Aborted downloads ...... KEEP
  670. .sp
  671.              10) Connect delay (sec) .... 35
  672.              11) Redial delay (sec) ..... 5
  673. .sp
  674. -----------------------------------------------------------------
  675. OPTION ==> _                                Press <ESC> to return
  676. .)c
  677. .)b
  678. .Cs
  679. .lp
  680. The general setup fields are:
  681. .ba +0.5i
  682. .lp
  683. 1) Default log file.  The file name to be used as the default when the
  684. data logging is activated (^A-1).  The log file name can be changed
  685. \*(lqon the fly\*(rq by the ^A-1 command.
  686. .lp
  687. 2) Screen dump file.  The file name to be used for the screen dump
  688. command (^A-G).
  689. .lp
  690. 3) Strip high bit.  Should Pcomm strip the eighth bit on incoming and
  691. outgoing characters?  A menu prompt allows you to select YES or NO.
  692. This feature is not used during file transfers.
  693. .lp
  694. 4\-8) Character synonyms.  These are symbols that Pcomm uses to represent
  695. special characters (or perform special functions) when sending commands
  696. to the modem.  Synonyms are useful for entering and displaying special
  697. characters in a human readable form.  The synonyms are:
  698. .sp
  699. .in +0.5i
  700. .nf
  701. \(bu Pause for 1 second
  702. \(bu The carriage return character (control-M)
  703. \(bu Convert the next character to control-xx
  704. \(bu The escape character (control-[)
  705. \(bu Send a modem break
  706. .fi
  707. .in
  708. .lp
  709. .ft I
  710. NOTE:\ \ To prevent the special meaning of one of these characters prepend
  711. a \*(lq\e\*(rq to it.
  712. .ft
  713. .lp
  714. 9) Aborted downloads.  When a download aborts (fails), should the
  715. partially completed file be kept?  The menu prompt allows \*(lqKEEP\*(rq
  716. or \*(lqDELETE\*(rq.
  717. .lp
  718. 10) Connect delay.  The number of seconds Pcomm will wait for the modem
  719. to return a status code.
  720. .lp
  721. 11) Redial delay.  The number of seconds to wait before Pcomm tries to
  722. call the number again.
  723. .ba
  724. .sh 2 "ASCII transfer setup"
  725. .(x
  726.   \*($n ASCII xfer setup
  727. .)x
  728. .lp
  729. This setup screen allows you to select options to be used for ASCII
  730. uploads and downloads.  A typical ASCII transfer setup will look like
  731. this:
  732. .br
  733. .CS
  734. .(b L
  735. .(c
  736. ---------------------- ASCII Transfer Setup ---------------------
  737. .sp
  738.                           ASCII UPLOAD
  739. .sp
  740.                 1) Echo locally ........... NO
  741.                 2) Expand blank lines ..... NO
  742.                 3) CR delay (ms) .......... 0
  743.                 4) Pace the output ........ NO
  744.                 5) CR translation ......... NONE
  745.                 6) LF translation ......... ADD CR
  746. .sp
  747.                          ASCII DOWNLOAD
  748. .sp
  749.                 7) Transfer timeout (sec) . 5
  750.                 8) CR translation ......... STRIP
  751.                 9) LF translation ......... NONE
  752. .sp
  753. -----------------------------------------------------------------
  754. OPTION ==> _                                Press <ESC> to return
  755. .)c
  756. .)b
  757. .Cs
  758. .lp
  759. The fields are:
  760. .ba +0.5i
  761. .lp
  762. 1) Echo locally.  This is similar to the duplex option in that it copies
  763. outgoing characters to the screen.  The options are YES and NO.
  764. .lp
  765. 2) Expand blank lines.  Should a blank line (LF alone) be expanded to a
  766. space and LF?  Some BBS systems use a blank line to signal the end of an
  767. ASCII upload.  The options are YES and NO.
  768. .lp
  769. 3) CR delay.  The delay in milliseconds to be used when sending a CR.
  770. The menu prompt limits the choice to 0, 100, or 150.
  771. .lp
  772. 4) Pace output.  Should each character sent be delayed?  Very old BBS
  773. systems may require this.  The choice is YES or NO.
  774. .lp
  775. 5) CR translation.  The menu prompt provides the following choices for
  776. upload translations:
  777. .br
  778. .in +0.5i
  779. .(b L
  780. \(bu NONE (no translation)
  781. \(bu ADD LF translate CR to CR/LF
  782. \(bu STRIP remove the CR character
  783. .)b
  784. .in
  785. .lp
  786. 6) LF translation. Same as above except the choices are:
  787. .br
  788. .in +0.5i
  789. .(b L
  790. \(bu NONE (no translation)
  791. \(bu ADD CR translate LF to CR/LF
  792. \(bu STRIP remove the LF character
  793. .)b
  794. .in
  795. .lp
  796. 7) Transfer timeout.  The number of seconds to be used to determine the
  797. end of an ASCII download.  You can halt the transfer before the timer
  798. goes off by hitting the <ESC> key.
  799. .lp
  800. 8\-9) Same as 5) and 6) above, except the translations apply to ASCII
  801. downloading.
  802. .ba
  803. .sh 2 "External protocol setup"
  804. .(x
  805.   \*($n External protocol
  806. .)x
  807. .lp
  808. This setup screen allows you to embed the name of external file transfer
  809. programs into the list of available protocols.  When transferring files,
  810. the external program name will appear on the list of options along with
  811. the built-in protocols.
  812. .br
  813. .CS
  814. .(b L
  815. .(c
  816. -------------------- External Protocol Setup --------------------
  817. .sp
  818.                             UPLOAD
  819. .sp
  820.         Name     Command Line             Requires file list?
  821.      1) zmodem   sz                               Y
  822.      2) kermit   kermit -ivs                      Y
  823.      3)                                           N
  824. .sp
  825.                            DOWNLOAD
  826. .sp
  827.         Name     Command Line             Requires file list?
  828.      4) zmodem   rz                               N
  829.      5) kermit   kermit -ivr                      Y
  830.      6)                                           N
  831. .sp
  832. -----------------------------------------------------------------
  833. OPTION ==> _                                Press <ESC> to return
  834. .)c
  835. .)b
  836. .Cs
  837. .lp
  838. To change a line (or add a new one), enter the line number at the
  839. prompt.  You will be prompted for the Name, the Command Line, and the
  840. \*(lqRequires file list?\*(rq flag.  To remove an entry, enter a single
  841. space character at the Name prompt.
  842. .lp
  843. The Command Line is the Unix command that you would normally type in to
  844. invoke the program (minus the names of the files to be transferred).
  845. The last field in the setup is used to indicate whether or not Pcomm
  846. should prompt for a list of file names to be added to the command.
  847. .lp
  848. .ft I
  849. NOTE:\ \ Pcomm adds a single space character and the file names (if any)
  850. to the end of the command.
  851. .sp
  852. NOTE:\ \ The program itself isn't \*(lqembedded\*(rq into Pcomm (it still
  853. gets called like any other external program), only the name and
  854. invocation information is actually incorporated into Pcomm.
  855. .ft
  856. .bp
  857. .if e \{
  858. .ep
  859. .bp\}
  860. .sh 1 "MAJOR FUNCTIONS"
  861. .(x
  862.  
  863. .)x _
  864. .(x
  865. \*($n MAJOR FUNCTIONS
  866. .)x
  867. .lp
  868. When Pcomm is invoked without the \*(lq\-f\*(rq or \*(lq\-a\*(rq command
  869. line option, you're placed in the terminal mode with a blank screen and
  870. a status line.  However, since Pcomm hasn't yet selected a serial port
  871. to use, characters typed at the blank screen are ignored.  Normally the
  872. first command you'll use is ^A-D to bring up the dialing directory menu.
  873. .sh 2 "Dialing directory"
  874. .(x
  875.   \*($n Dialing directory
  876. .)x
  877. .lp
  878. To dial another system, you type ^A-D to access the dialing directory
  879. menu, then enter the entry number at the prompt.
  880. .lp
  881. The entry number could be preceded by a special long distance dialing
  882. code such as \*(lq#5\*(rq in lieu of \*(lq5\*(rq alone.  Long distance
  883. codes could contain access numbers such as those that MCI and Sprint
  884. require.
  885. .lp
  886. A typical dialing directory will look like this:
  887. .br
  888. .if n .po 0                \" table may be more than 6.5in wide
  889. .if n .ll 8.5i
  890. .CS
  891. .(b L
  892. .TS
  893. box center;
  894. c s s s s
  895. c c r c l
  896. l r r c l.
  897. .sp
  898. D I A L I N G       D I R E C T O R Y
  899. .sp
  900. _
  901. .sp
  902. Name    Number    Baud P D S    Dpx    Auxiliary
  903.   1- Abbey Road    1 (512) 590-6036    2400-N-8-1    F    
  904.   2- Tel-Med-Com    555-8686    9600-E-7-1    F    TELEBIT_V.32
  905.   3- C Board    1 (619) 722-8724    2400-N-8-1    F    
  906.   4- Crest    1 (213) 471-2518    2400-N-8-1    F    Sample
  907.   5- Last Chance    1 (219) 762-8411    2400-E-7-1    F    
  908.   6- Killer    1 (214) 827-1994    1200-E-7-1    F    
  909.   7- System A (direct)        19200-N-8-1    F    tty12
  910.   8-        1200-E-7-1    F    
  911.   9-        1200-E-7-1    F    
  912.  10-        1200-E-7-1    F    
  913. .sp
  914. .T&
  915. l s s s s.
  916. .nf
  917.    ==> _      R Revise           M Manual Dialing    Entry to Dial
  918.               P LD Codes         D Delete Entry      <CR> Scroll Down
  919.               <up>/<down> Page   L Print Entries     <ESC> Exit
  920. .sp
  921.    LD Codes Active: @ #
  922. .fi
  923. .sp
  924. .TE
  925. .)b
  926. .Cs
  927. .if n .po 1.0i
  928. .if n .ll 6.5i
  929. .lp
  930. The fields of the dialing directory are:
  931. .ba +0.5i
  932. .lp
  933. Name) The name of the remote system.
  934. .lp
  935. Number) The telephone number to the remote system.
  936. .lp
  937. .ft I
  938. NOTE:\ \ The \*(lq(\*(rq, \*(lq)\*(rq, \*(lq-\*(rq, and space characters
  939. are just for looks, and don't get sent to the modem.  To prevent the
  940. stripping of one of these characters, prepend a \*(lq\e\*(rq to it.
  941. .ft
  942. .lp
  943. Line settings) The communications settings to be used when dialing
  944. that entry.  The range of values are:
  945. .br
  946. .in +0.5i
  947. .(b L
  948. .TS
  949. r c c c
  950. r l c c.
  951. Baud    Parity    Data bits    Stop bits
  952. _
  953. 300    N - none    7    1
  954. 1200    E - even    8    2
  955. 2400    O - odd
  956. 4800            
  957. 9600            
  958. 19200            
  959. 38400            
  960. .TE
  961. .)b
  962. .in
  963. .lp
  964. Duplex) The duplex mode.  Either \*(lqF\*(rq for full or
  965. \*(lqH\*(rq for half.
  966. .lp
  967. Auxiliary) This field contains the name of a file which has one of three
  968. uses:
  969. .lp
  970. .in +0.5i
  971. 1) A shell script to be used during the auto-login \*(lqchat\*(rq
  972. sequence.
  973. .br
  974. 2) A particular TTY to be used for hard-wired ports.
  975. .br
  976. 3) A customized modem configuration to be used for the entry.
  977. .in
  978. .lp
  979. .ft I
  980. NOTE:\ \ On all hard-wired ports, the script field is used to contain the
  981. name of the port.  For example, if tty12 is a hard-wired port to
  982. \*(lqSystem A\*(rq, then the dialing directory entry for \*(lqSystem
  983. A\*(rq will have \*(lqtty12\*(rq in the script field.
  984. .ft
  985. .lp
  986. .ft I
  987. NOTE:\ \ The ability to specify a customized modem configuration allows
  988. you to tailor each dialing directory entry to meet the peculiar needs of
  989. the modem at the other end of the connection.  See Appendix C for more
  990. details.
  991. .ft
  992. .ba
  993. .lp
  994. The commands at the dialing directory prompt are:
  995. .ba +0.5i
  996. .lp
  997. R) Revise (or add) a dialing directory entry or long distance dialing
  998. code.  Prompts you to save the changes to disk.  A typical revise screen
  999. would look like this:
  1000. .br
  1001. .CS
  1002. .(b L
  1003. .TS
  1004. box center;
  1005. l.
  1006. .sp
  1007. .\"                                                      spaces out to here
  1008.    Entry to revise? _        (Entry Number, +,-,@,#)     
  1009. .sp
  1010. .TE
  1011. .)b
  1012. .Cs
  1013. .lp
  1014. If a dialing directory entry is selected, each field of the entry is
  1015. shown with its current settings.  You can enter a new value, press a
  1016. carriage return to skip past a field, or enter a single space character
  1017. to erase a field.  An <ESC> at any field will abort the command.
  1018. .lp
  1019. P) Print (display) the long distance dialing codes.
  1020. .lp
  1021. <up>/<down>) Scroll the dialing directory up or down 10 lines.  Use the
  1022. up and down arrow keys to access this feature.
  1023. .lp
  1024. M) Manual dial.  Prompts you for a phone number rather than using a
  1025. number already in the dialing directory.
  1026. .lp
  1027. D) Delete an entry or a range of entries.  Prompts you to save the
  1028. changes to disk.
  1029. .lp
  1030. L) Print.  Send the dialing directory to the printer or a file of your
  1031. choice.
  1032. .lp
  1033. 1\-100) Entry number.  Dial the phone for that entry number.  If the
  1034. script field contains the name of a valid Unix shell script, that script
  1035. is \*(lqplayed\*(rq after the connection is made to perform the
  1036. auto-login \*(lqchat\*(rq sequences.  See section 8 of this manual for
  1037. more details on the format and use of script commands.
  1038. .lp
  1039. .ft I
  1040. NOTE:\ \ To access the port directly without dialing (perhaps to send the
  1041. dial codes yourself), select an empty entry or enter a single space
  1042. character at the phone number prompt of the manual dial option.
  1043. .ft
  1044. .lp
  1045. <CR> Carriage return.  Scroll the dialing directory down one line.
  1046. .ba
  1047. .sh 2 Redial
  1048. .(x
  1049.   \*($n Redial
  1050. .)x
  1051. .lp
  1052. The redial feature is a misnomer; it really is a queuing system that
  1053. allows Pcomm to dial several numbers in a cycle until one of them
  1054. answers.
  1055. .lp
  1056. When you invoke the redial command with ^A-R, you're prompted for a list
  1057. of dialing directory numbers.  (You may also prepend a long distance
  1058. code to the entry number).
  1059. .br
  1060. .CS
  1061. .(b L
  1062. .TS
  1063. box center;
  1064. l.
  1065.    Redial Queue
  1066. .sp
  1067. .\"                                                           spaces out to here
  1068.    Directory Entry Number(s): _                               
  1069. .sp
  1070. .T&
  1071. c.
  1072. (<CR> for previous numbers)
  1073. .TE
  1074. .)b
  1075. .Cs
  1076. .lp
  1077. To redial the previous number, press a carriage return alone at the
  1078. prompt.  An <ESC> aborts this command.
  1079. .sh 2 "Keyboard macros"
  1080. .(x
  1081.   \*($n Keyboard macros
  1082. .)x
  1083. .lp
  1084. Keyboard macros are used as a shortcut to send commonly used strings to
  1085. the remote system with only a few keystrokes.  The characters used to
  1086. identify the macros are the shifted number keys.  For example, if the
  1087. string \*(lqls -alRF \e| more!\*(rq was assigned to the \*(lq!\*(rq key
  1088. (the shifted number 1 key), then when you press ^A-!, the string
  1089. \*(lqls -alRF | more\*(rq is sent to the remote (followed by a <CR>
  1090. because of the \*(lq!\*(rq character synonym).  Notice the use of the
  1091. \*(lq\e\*(rq character to remove the special meaning of the \*(lg|\*(rq
  1092. character synonym.
  1093. .lp
  1094. To review or edit the keyboard macros, you type ^A-M.  The following
  1095. screen will appear:
  1096. .br
  1097. .CS
  1098. .(b L
  1099. .TS
  1100. box center;
  1101. c
  1102. l.
  1103. Keyboard Macros
  1104. .sp
  1105. _
  1106. .sp
  1107. .\"                                                   spaces out to here
  1108.   ^A-! ls -alRF \e| more!                             
  1109.   ^A-@ 
  1110.   ^A-# 
  1111.   ^A-$ 
  1112.   ^A-% 
  1113.   ^A-^
  1114.   ^A-&
  1115.   ^A-*
  1116.   ^A-(
  1117.   ^A-)
  1118. .sp
  1119.   Macro key to revise: _ 
  1120. .sp
  1121. .T&
  1122. c.
  1123. Press <ESC> to continue
  1124. .TE
  1125. .)b
  1126. .Cs
  1127. .lp
  1128. To edit a macro, you type the macro key character (without the leading
  1129. hot key).  After typing the new string information, you will be prompted
  1130. to save the changes to disk.  To erase an entry enter a single space
  1131. character.
  1132. .lp
  1133. .ft I
  1134. NOTE:\ \ All of the character synonyms described in section 3.5 are
  1135. available for use with the keyboard macros.
  1136. .ft
  1137. .sh 2 "Line settings"
  1138. .(x
  1139.   \*($n Line settings
  1140. .)x
  1141. .lp
  1142. The line settings menu is invoked by ^A-P.  A typical line settings menu
  1143. will look like this:
  1144. .br
  1145. .CS
  1146. .(b L
  1147. .TS
  1148. box center;
  1149. c
  1150. l.
  1151. Line Settings
  1152. _
  1153. .sp
  1154.        Current Settings:  1200,E,7,1           
  1155. .sp
  1156.      1)    300,E,7,1      8)    300,N,8,1      
  1157.      2)   1200,E,7,1      9)   1200,N,8,1      
  1158.      3)   2400,E,7,1     10)   2400,N,8,1      
  1159.      4)   4800,E,7,1     11)   4800,N,8,1      
  1160.      5)   9600,E,7,1     12)   9600,N,8,1      
  1161.      6)  19200,E,7,1     13)  19200,N,8,1      
  1162.      7)  38400,E,7,1     14)  38400,N,8,1      
  1163. .sp
  1164.    Parity       Data Bits       Stop Bits      
  1165.    15) Odd      16) 7 bits      18) 1 bit      
  1166.                 17) 8 bits      19) 2 bits     
  1167. .sp
  1168.    20) Save Changes      YOUR CHOICE: _        
  1169. .sp
  1170. .T&
  1171. c.
  1172. Press <ESC> to return
  1173. .TE
  1174. .)b
  1175. .Cs
  1176. .lp
  1177. While dialing a remote, the line settings in the dialing directory entry
  1178. are automatically used.  Therefore the line settings menu is used to
  1179. fine tune the values during a terminal session or to select the
  1180. parameters for manual dialing.  You can make the current setting the
  1181. default by selecting the \*(lqSave Changes\*(rq option.
  1182. .lp
  1183. The current line settings are also displayed in the status line.
  1184. .lp
  1185. .ft I
  1186. NOTE:\ \ During file transfers, certain parameters (namely the data bits
  1187. and parity) will be temporarily changed.  The status line will \fBnot\fP
  1188. reflect these temporary promotions.
  1189. .ft R
  1190. .sh 2 "Exit Pcomm"
  1191. .(x
  1192.   \*($n Exit Pcomm
  1193. .)x
  1194. .lp
  1195. To exit Pcomm, you type ^A-X.  The phone is hung up (if a call was in
  1196. progress), the print and data logging features are closed, and the TTY
  1197. resources are released.
  1198. .lp
  1199. .ft I
  1200. NOTE:\ \ Pcomm drops the DTR (Data Terminal Ready) on the port before
  1201. exiting to Unix.
  1202. .ft
  1203. .sh 2 "Unix gateway"
  1204. .(x
  1205.   \*($n Unix gateway
  1206. .)x
  1207. .lp
  1208. To temporarily suspend Pcomm and spawn a Unix shell, you type ^A-4.  To
  1209. return to Pcomm, you exit the shell normally, typically with ^D or
  1210. \*(lqexit\*(rq.
  1211. .lp
  1212. .ft I
  1213. NOTE:\ \ The SHELL environmental variable is used to determine which
  1214. program to invoke.
  1215. .ft
  1216. .sh 2 "Command files"
  1217. .(x
  1218.   \*($n Command files
  1219. .)x
  1220. .lp
  1221. Command files (shell scripts) can be invoked by typing ^A-5 to automate
  1222. keyboard input and to perform Pcomm command sequences.  The following window
  1223. will prompt for the file name.
  1224. .br
  1225. .CS
  1226. .(b L
  1227. .TS
  1228. box center;
  1229. l.
  1230.    Command Files
  1231. .sp
  1232. .\"                                                           spaces out to here
  1233.    Shell script: _                                            
  1234. .sp
  1235. .TE
  1236. .)b
  1237. .Cs
  1238. .lp
  1239. The use of shell scripts is discussed in section 8.
  1240. .bp
  1241. .if e \{
  1242. .ep
  1243. .bp\}
  1244. .sh 1 "UTILITY FUNCTIONS"
  1245. .(x
  1246.  
  1247. .)x _
  1248. .(x
  1249. \*($n UTILITY FUNCTIONS
  1250. .)x
  1251. .lp
  1252. The following commands perform secondary functions.
  1253. .sh 2 "Program information"
  1254. .(x
  1255.   \*($n Program info
  1256. .)x
  1257. .lp
  1258. To display the opening information screen, you type ^A-I.  Press any key
  1259. to return to the terminal mode.
  1260. .sh 2 "Setup screen"
  1261. .(x
  1262.   \*($n Setup screen
  1263. .)x
  1264. .lp
  1265. The setup screens are described in detail in section 3 of this manual.
  1266. .sh 2 "Change directory"
  1267. .(x
  1268.   \*($n Change directory
  1269. .)x
  1270. .lp
  1271. To change the current working directory while still inside Pcomm, you
  1272. type ^A-B.  A screen similar to the following will appear:
  1273. .br
  1274. .CS
  1275. .(b L
  1276. .TS
  1277. box center;
  1278. l.
  1279.    Change Directory
  1280. .sp
  1281. .\"                                                           spaces out to here
  1282.    Current directory: /usr/egray                              
  1283.    New directory: _ 
  1284. .sp
  1285. .TE
  1286. .)b
  1287. .Cs
  1288. .lp
  1289. Abbreviations known to the shell are acceptable; for example, the
  1290. \*(lq~\*(rq character will be translated to the home directory in the
  1291. csh or ksh shell.
  1292. .sh 2 "Clear screen"
  1293. .(x
  1294.   \*($n Clear screen
  1295. .)x
  1296. .lp
  1297. To clear the local screen and home the cursor, you type ^A-C.
  1298. .lp
  1299. .ft I
  1300. NOTE:\ \ The remote system may not \*(lqknow\*(rq the screen has been
  1301. cleared, and may make assumptions about the screen that are incorrect.
  1302. .ft
  1303. .sh 2 "Toggle duplex"
  1304. .(x
  1305.   \*($n Toggle duplex
  1306. .)x
  1307. .lp
  1308. The ^A-E command changes the duplex mode from FULL to HALF, or from HALF
  1309. to FULL.  The status line shows the current duplex mode.  Use the
  1310. Terminal Setup to make permanent changes to the duplex mode.
  1311. .sh 2 "Hang up the phone"
  1312. .(x
  1313.   \*($n Hang up the phone
  1314. .)x
  1315. .lp
  1316. To hang up the phone, you type ^A-H.  The word \*(lqdisconnecting\*(rq
  1317. will briefly show in the status line.
  1318. .lp
  1319. .ft I
  1320. NOTE:\ \ Pcomm does not drop the DTR (Data Terminal Ready) during the hang up.
  1321. .ft
  1322. .sh 2 "Printer logging"
  1323. .(x
  1324.   \*($n Printer logging
  1325. .)x
  1326. .lp
  1327. The ^A-L command toggles the printer logging on or off.  The current
  1328. printer status is displayed in the status line.
  1329. .lp
  1330. .ft I
  1331. NOTE:\ \ Since all printing goes to the normal Unix print spool program,
  1332. the characters will not print on the printer as they appear on the
  1333. screen.  The printing will actually begin when the printer logging is
  1334. turned \fBoff\fP and the complete print job is sent to the spool.
  1335. .ft R
  1336. .sh 2 "Toggle CR \- CR/LF"
  1337. .(x
  1338.   \*($n Toggle CR \- CR/LF
  1339. .)x
  1340. .lp
  1341. The ^A-3 command toggles the incoming line termination characters
  1342. between CR and CR/LF.  The status line shows the current settings (in
  1343. the next to the last field).
  1344. .sh 2 "Break"
  1345. .(x
  1346.   \*($n Break
  1347. .)x
  1348. .lp
  1349. The ^A-7 command sends a modem break to the remote system.  The word
  1350. \*(lqbreak\*(rq is (very) briefly displayed on the status line.
  1351. .lp
  1352. .ft I
  1353. NOTE:\ \ This not the same as the break key on the keyboard (we don't
  1354. want to send a break to the local system, we want to send it to 
  1355. the \fBremote\fP system).
  1356. .ft R
  1357. .bp
  1358. .if e \{
  1359. .ep
  1360. .bp\}
  1361. .sh 1 "FILE FUNCTIONS"
  1362. .(x
  1363.  
  1364. .)x _
  1365. .(x
  1366. \*($n FILE FUNCTIONS
  1367. .)x
  1368. .lp
  1369. One of the most important features of a telecommunication program is the
  1370. ability to transfer files.  The following file transfer protocols are
  1371. implemented:
  1372. .br
  1373. .in +0.5i
  1374. .(b L
  1375. .TS
  1376. l l l l.
  1377. Protocol    Packet    Error    Multiple
  1378. name    size    detection    files?
  1379. _
  1380. xmodem    128    checksum/CRC    no
  1381. xmodem-1k    128/1024    checksum/CRC    no
  1382. modem7    128    checksum    yes \u1\d
  1383. ymodem    128/1024    CRC    yes \u2\d
  1384. ymodem-g    128/1024    none \u3\d    yes
  1385. ASCII    none    none    no
  1386. zmodem \u4\d    128/1024    CRC    yes
  1387. (external)    ?    ?    ?
  1388. .TE
  1389. .TS
  1390. l l.
  1391. Notes:    1 CP/M style file name
  1392.     2 MSDOS style file name and file size
  1393.     3 Not needed!
  1394.     4 zmodem is implemented as an external program
  1395. .TE
  1396. .)b
  1397. .in
  1398. .lp
  1399. .ft I
  1400. NOTE:\ \ The built-in protocols that send file name information, convert
  1401. the Unix style file name to fit the MSDOS name restrictions.
  1402. .ft
  1403. .sh 2 "External protocols"
  1404. .(x
  1405.   \*($n External protocols
  1406. .)x
  1407. .lp
  1408. The external \*(lqprotocol\*(rq is really a method of running an
  1409. external program from Pcomm to accomplish a file transfer.  The most
  1410. common use of this feature would be to run Kermit or some proprietary
  1411. program.
  1412. .lp
  1413. Frequently used external file transfer programs (such as zmodem) can
  1414. have their names embedded into the list of available protocols by using
  1415. the External Protocol Setup in section 3.7.
  1416. .lp
  1417. To abort an external file transfer, you hit the <ESC> key.  All other
  1418. characters typed at the keyboard are ignored.
  1419. .lp
  1420. .ft I
  1421. NOTE:\ \ The external protocol feature can also be used to pipe
  1422. the output of a Unix command to the remote.
  1423. .ft
  1424. .sh 2 "Send files"
  1425. .(x
  1426.   \*($n Send files
  1427. .)x
  1428. .lp
  1429. To send a file to the remote, you'll first have to instruct the remote
  1430. system to receive the file, then type ^A-\*(lqup arrow\*(rq.  The
  1431. following screen will appear:
  1432. .br
  1433. .in 3.2i
  1434. .CS
  1435. .(b L
  1436. .TS
  1437. box;
  1438. c
  1439. l.
  1440. Upload
  1441. .sp
  1442.  1) xmodem
  1443.  2) xmodem-1k
  1444.  3) modem7
  1445.  4) ymodem
  1446.  5) ymodem-g
  1447.  6) ASCII
  1448.  7) zmodem
  1449.  8) kermit
  1450.  E) (external)
  1451. .sp
  1452.  <ESC> to Abort 
  1453. .sp
  1454.  Protocol: _
  1455. .sp
  1456. .TE
  1457. .)b
  1458. .Cs
  1459. .in
  1460. .lp
  1461. You then select the type of protocol at the prompt, and another window
  1462. similar to this will appear:
  1463. .br
  1464. .CS
  1465. .(b L
  1466. .TS
  1467. box center;
  1468. l.
  1469.    Send xmodem
  1470. .sp
  1471. .\"                                                           space out to here
  1472.    Enter filename: _                                          
  1473. .sp
  1474. .TE
  1475. .)b
  1476. .Cs
  1477. .lp
  1478. Now you type in the file name or names you'd like to send.  Wildcards
  1479. known to the shell are acceptable.
  1480. .lp
  1481. Now the file transfer actually begins.  A screen similar to the
  1482. following is displayed during the transfer:
  1483. .br
  1484. .in 2.4i
  1485. .CS
  1486. .(b L
  1487. .TS
  1488. box;
  1489. c
  1490. n.
  1491. Uploading
  1492. .sp
  1493. .\"                          spaces out to here
  1494.  Protocol\&: xmodem          
  1495.  File name\&: main.c 
  1496.  File size\&: 4420
  1497.  Error check method\&: CRC
  1498.  Est transfer time\&: 0:00:50
  1499.  Block count\&: 5
  1500.  Percent complete\&: 11.2%
  1501.  Bytes transferred\&: 640
  1502.  Errors this block\&: 0
  1503.  Total error count\&: 0
  1504.  Last message\&: NONE
  1505. .sp
  1506. .T&
  1507. c.
  1508. Press <ESC> to abort
  1509. .TE
  1510. .)b
  1511. .Cs
  1512. .in
  1513. .lp
  1514. As the transfer progresses, the \*(lqblock count\*(rq, \*(lqpercent
  1515. complete\*(rq, and \*(lqbytes transferred\*(rq fields will be
  1516. continuously updated.  If errors occur the \*(lqerrors this block\*(rq
  1517. and \*(lqtotal error count\*(rq fields will be updated and the \*(lqlast
  1518. message\*(rq field will contain a message about the error.
  1519. .lp
  1520. At the end of the transfer, Pcomm will beep and return to the terminal
  1521. mode.  If an error occurred and the transfer was aborted, you will be
  1522. prompted to acknowledge the error by pressing a key before returning to
  1523. the terminal mode.
  1524. .sh 2 "Receive files"
  1525. .(x
  1526.   \*($n Receive files
  1527. .)x
  1528. .lp
  1529. To receive a file (or group of files) from a remote system, you'll have
  1530. to first instruct the remote system, then type ^A-\*(lqdown arrow\*(rq.
  1531. Receiving a file is basically the same as sending a file.
  1532. .lp
  1533. .ft I
  1534. NOTE:\ \ Some systems do not pad the end of the file with control-Z's and
  1535. therefore files might grow in length when received.
  1536. .ft
  1537. .sh 2 "Pass thru mode"
  1538. .(x
  1539.   \*($n Pass thru mode
  1540. .)x
  1541. .lp
  1542. The pass through mode is used when you have two or more machines in a
  1543. communications daisy chain.  The following diagram shows an example of
  1544. this type of arrangement:
  1545. .br
  1546. .in +0.5i
  1547. .(b L
  1548. .TS
  1549. |c|c|c|c|c|.
  1550. _        _        _
  1551. IBM PC         Unix         IBM PC 
  1552. running     <----     running     <----     running 
  1553. ProComm     ---->    Pcomm     ---->    RBBS 
  1554. _        _        _
  1555. .TE
  1556. .)b
  1557. .in
  1558. .lp
  1559. If a file is to be transferred from the last machine to the first
  1560. machine, the middle machine must appear completely transparent.  The
  1561. middle machine must \*(lqforward the data\*(rq without altering it in
  1562. any way.  The pass through mode \*(lqexpires\*(rq after a designated
  1563. period of inactivity, after which the user is returned to the terminal
  1564. mode.
  1565. .lp
  1566. To access the pass through mode, you type ^A-T.  The following screen
  1567. will appear:
  1568. .br
  1569. .CS
  1570. .(b L
  1571. .TS
  1572. box center;
  1573. l.
  1574.    Pass Thru Mode
  1575. .sp
  1576. .\"                                                           spaces out to here
  1577.    Enter the expiration time (5-60 sec) : _                   
  1578. .sp
  1579. .TE
  1580. .)b
  1581. .Cs
  1582. .lp
  1583. .ft I
  1584. NOTE:\ \ While in the pass through mode, no Pcomm command to the middle
  1585. machine will be honored.  Therefore, the \fBonly\fP way to exit this
  1586. mode is to not type anything on the keyboard until the expiration period
  1587. has elapsed.
  1588. .sp
  1589. NOTE:\ \ The baud rates to and from the middle machine need not be the
  1590. same, however the slowest speed determines the overall speed of the
  1591. transfer (the weakest link in the chain).
  1592. .ft R
  1593. .sh 2 Directory
  1594. .(x
  1595.   \*($n Directory
  1596. .)x
  1597. .lp
  1598. To obtain a listing of a directory on the local system while still
  1599. running Pcomm, you type ^A-F.  The following screen will appear:
  1600. .br
  1601. .CS
  1602. .(b L
  1603. .TS
  1604. box center;
  1605. l.
  1606.    List Directory
  1607. .sp
  1608. .\"                                                           spaces out to here
  1609.    Current directory: /usr/egray                              
  1610.    File spec (wildcards allowed): _ 
  1611. .sp
  1612. .TE
  1613. .)b
  1614. .Cs
  1615. .lp
  1616. Abbreviations known to the shell are valid.  Output is sent through a
  1617. \*(lqmore\*(rq like program.
  1618. .lp
  1619. .ft I
  1620. NOTE:\ \ Since we're really doing a popen() to the \*(lqls\*(rq command,
  1621. additional command line options are also valid.
  1622. .ft
  1623. .sh 2 "Screen dump"
  1624. .(x
  1625.   \*($n Screen dump
  1626. .)x
  1627. .lp
  1628. To dump the contents of the current screen (minus any windows showing)
  1629. you type ^A-G.  The contents of the screen are written to the file
  1630. specified in the general setup for this purpose.  If the file already
  1631. exists, the screen contents are appended to the file.  The message
  1632. \*(lqscreen dump\*(rq will briefly appear in the status line.
  1633. .lp
  1634. .ft I
  1635. NOTE:\ \ The screen contents are subject to the available VCS (video
  1636. command sequence) emulation, so an exact representation is not
  1637. guaranteed.
  1638. .ft
  1639. .sh 2 "Start data logging"
  1640. .(x
  1641.   \*($n Start data logging
  1642. .)x
  1643. .lp
  1644. To start the data logging, or change the file used for data logging, you
  1645. type ^A-1.  The following screen will appear:
  1646. .br
  1647. .CS
  1648. .(b L
  1649. .TS
  1650. box center;
  1651. l.
  1652.    Start Data Logging
  1653. .sp
  1654. .\"                                                           spaces out to here
  1655.    Default log file: pcomm.log                                
  1656.    New log file: _
  1657. .sp
  1658. .TE
  1659. .)b
  1660. .Cs
  1661. .lp
  1662. To keep the default file, just press a carriage return at the prompt,
  1663. otherwise, enter a new file name.  If the file already exits, the new
  1664. data is appended to the file.
  1665. .lp
  1666. The status of the logging is shown in the status line.
  1667. .lp
  1668. .sh 2 "Toggle logging"
  1669. .(x
  1670.   \*($n Toggle logging
  1671. .)x
  1672. .lp
  1673. To temporarily suspend data logging or to start it again without being
  1674. prompted for the file name, you type ^A-2.
  1675. .bp
  1676. .if e \{
  1677. .ep
  1678. .bp\}
  1679. .sh 1 "DIALING WINDOW"
  1680. .(x
  1681.  
  1682. .)x _
  1683. .(x
  1684. \*($n DIALING WINDOW
  1685. .)x
  1686. .lp
  1687. While Pcomm is dialing another system, a screen similar to the following
  1688. is shown:
  1689. .sp
  1690. .if n .po 0                \" table may be wider than 6.5in
  1691. .if n .ll 8.5i
  1692. .CS
  1693. .(b L
  1694. .TS
  1695. box center;
  1696. c
  1697. n.
  1698. .sp
  1699. D I A L I N G      W I N D O W
  1700. .sp
  1701. _
  1702. .sp
  1703. .\"                                   spaces out to here
  1704. System name\&: C Board                
  1705. Pass number\&: 1
  1706. Elapse time this try\&: 4
  1707. Time at start of dial\&: 14:53:36
  1708. Time at start of this try\&: 14:53:36
  1709. Connect delay time\&: 35
  1710. Redial delay time\&: 5
  1711. Auxiliary\&:
  1712. Result of last try\&:
  1713. .T&
  1714. c.
  1715. .sp
  1716.  <SPACE>: Recycle    <DEL>: Remove from queue    E: Change delays  
  1717. .sp
  1718. Press <ESC> to abort
  1719. .TE
  1720. .)b
  1721. .Cs
  1722. .if n .po 1.0i
  1723. .if n .ll 6.5i
  1724. .lp
  1725. Items in the window are continuously updated to show the progress of the
  1726. dialing attempt.
  1727. .lp
  1728. The options available during the dialing window are:
  1729. .ba +0.5i
  1730. .lp
  1731. SPACE) Press the space bar to stop the dialing of the current entry and
  1732. go on to the next entry in the queue.  If there is only one entry in the
  1733. queue, that number is redialed.
  1734. .lp
  1735. DEL) Press the DEL key to remove the current number from the queue.
  1736. .lp
  1737. E) Press the letter \*(lqE\*(rq to change the connect delay time, or the
  1738. redial delay time (the pause between dialing attempts).  You will be
  1739. prompted to save the changes to disk.
  1740. .lp
  1741. .CS
  1742. .(b L
  1743. .TS
  1744. box center;
  1745. l.
  1746.    Change Delay Times
  1747. .sp
  1748. .\"                                        spaces out to here
  1749.    Current connect delay time: 35          
  1750.    Current redial delay time: 5
  1751. .sp
  1752.    New connect delay: _
  1753.    New redial delay:
  1754. .sp
  1755. .TE
  1756. .)b
  1757. .Cs
  1758. .ft I
  1759. NOTE:\ \ While the DEL and E options are being processed, the dialing is
  1760. temporarily suspended.
  1761. .ft
  1762. .ba
  1763. .bp
  1764. .if e \{
  1765. .ep
  1766. .bp\}
  1767. .sh 1 "SCRIPT COMMANDS"
  1768. .(x
  1769.  
  1770. .)x _
  1771. .(x
  1772. \*($n SCRIPT COMMANDS
  1773. .)x
  1774. .lp
  1775. Pcomm doesn't have a built-in script language, instead it uses Unix
  1776. shell scripts (Bourne shell, C shell, Korn shell, etc) to perform the
  1777. necessary \*(lqchat\*(rq sequences to log a user on to a remote system.
  1778. .lp
  1779. Since shell scripts are run \*(lqoutside\*(rq of Pcomm, the
  1780. \*(lqpcomm_cmd\*(rq program is used to transmit command sequences to
  1781. Pcomm.  For example, a script can contain a line such as \*(lqpcomm_cmd
  1782. data_log on\*(rq to turn on the data logging feature.
  1783. .lp
  1784. Shell scripts specified in the dialing directory are run \fBafter\fP the
  1785. connection to the remote system, while script specified on the command
  1786. line (with the \-a option) are run \fBbefore\fP the connection is made.
  1787. You can make a shell script work under both situations by using the
  1788. \*(lqpcomm_cmd is connected\*(rq command.  See the third example in
  1789. section 8.4.
  1790. .lp
  1791. You may hit the <ESC> key at any time to abort an auto-login script
  1792. before it has completed.
  1793. .lp
  1794. .ft B
  1795. WARNING:\ \ Any file that has a \*(lqclear text\*(rq (un-encrypted)
  1796. version of your password is a significant security threat.  You should
  1797. remove the read permission to all others.
  1798. .ft
  1799. .lp
  1800. In order to assist in the creation of auto-login scripts, the following
  1801. external programs have been provided.
  1802. .sh 2 "Pcomm_cmd command"
  1803. .(x
  1804.   \*($n Pcomm_cmd command
  1805. .)x
  1806. .lp
  1807. Pcomm_cmd is an external Pcomm support program.  It is used from inside
  1808. shell scripts to access Pcomm commands, such as \*(lqpcomm_cmd send
  1809. xmodem junk\*(rq for sending the file \*(lqjunk\*(rq to the remote using
  1810. the xmodem file transfer protocol.
  1811. .lp
  1812. The following command line options are supported.
  1813. .in +1.0i
  1814. .sp
  1815. .ti -0.5i
  1816. SET BAUD [ 300 | 1200 | 2400 | 4800 | 9600 | 19200 | 38400 ]
  1817. .br
  1818. Set the baud rate for the current connection.  This feature is for use
  1819. with the DIAL MANUAL command, since the baud rate information in the
  1820. dialing directory entries overrides this value. 
  1821. .sp
  1822. .ti -0.5i
  1823. SET PARITY [ EVEN | ODD | NONE ]
  1824. .br
  1825. Set the parity for the current connection.  For use with the DIAL MANUAL
  1826. command.
  1827. .sp
  1828. .ti -0.5i
  1829. SET DATA_BITS [ 7 | 8 ]
  1830. .br
  1831. The number of data bits (word length) used for the current connection.
  1832. For use with the DIAL MANUAL command.
  1833. .sp
  1834. .ti -0.5i
  1835. SET STOP_BITS [ 1 | 2 ]
  1836. .br
  1837. The number of stop bits for the current connection.  For use with the
  1838. DIAL MANUAL command.
  1839. .sp
  1840. .ti -0.5i
  1841. SET DUPLEX [ HALF | FULL ]
  1842. .br
  1843. Set the duplex mode (local echo).  The HALF option is used if the remote
  1844. system does not echo characters as they are typed.
  1845. .sp
  1846. .ti -0.5i
  1847. SET AUX filename
  1848. .br
  1849. Use the argument as the auxiliary file associated with the current
  1850. connection.  Since chaining of scripts is not supported, this feature
  1851. would only be used to set the TTY or modem.
  1852. .sp
  1853. .ti -0.5i
  1854. SET HOT_KEY [1-256]
  1855. .br
  1856. Change the decimal value of the \*(lqhot key\*(rq to this value.
  1857. .sp
  1858. .ti -0.5i
  1859. SET ASCII_HOT string
  1860. .br
  1861. Change the ASCII representation of the hot key to the given argument.  The
  1862. length of the string must be no more than 4 characters wide.
  1863. .sp
  1864. .ti -0.5i
  1865. SET FLOW_CTRL [ XON/XOFF | NONE ]
  1866. .br
  1867. Set the flow control between the local and remote systems to either XON/XOFF
  1868. or NONE.
  1869. .sp
  1870. .ti -0.5i
  1871. SET CR_IN [ CR | CR/LF ]
  1872. .br
  1873. Translate in-comming carriage returns carriage return followed by a line
  1874. feed, or pass the carriage return through unchanged.
  1875. .sp
  1876. .ti -0.5i
  1877. SET CR_OUT [ CR | CR/LF ]
  1878. .br
  1879. Translate out-going carriage returns to CR or CR/LF.
  1880. .sp
  1881. .ti -0.5i
  1882. SET LOGFILE filename
  1883. .br
  1884. Change the name of the default log file.  For use with the DATA_LOG command.
  1885. .sp
  1886. .ti -0.5i
  1887. SET DUMPFILE filename
  1888. .br
  1889. Change the name of the screen dump file.  For use with the SCREEN_DUMP 
  1890. command.
  1891. .sp
  1892. .ti -0.5i
  1893. SET STRIP [ YES | NO ]
  1894. .br
  1895. Should the in-comming data be stripped to 7 bits?
  1896. .sp
  1897. .ti -0.5i
  1898. SET LOCAL_ECHO [ YES | NO ]
  1899. .br
  1900. Should data be shown on the screen during ASCII uploads?
  1901. .sp
  1902. .ti -0.5i
  1903. SET EXPAND [ YES | NO ]
  1904. .br
  1905. Should blank lines be \*(lqexpanded\*(rq to a line with a single space?
  1906. For use only during ASCII uploads.
  1907. .sp
  1908. .ti -0.5i
  1909. SET CR_DELAY [ 0 | 100 | 150 ]
  1910. .br
  1911. Set the delay for the carriage returns for ASCII uploads.
  1912. .sp
  1913. .ti -0.5i
  1914. SET PACE [ YES | NO ]
  1915. .br
  1916. Should the entire upload be artificially slowed down?  For use during ASCII
  1917. uploads.
  1918. .sp
  1919. .ti -0.5i
  1920. SET CR_UP [ NONE | ADD_LF | STRIP ]
  1921. .br
  1922. Controls the translation of carriage returns during ASCII uploads.
  1923. .sp
  1924. .ti -0.5i
  1925. SET LF_UP [ NONE | ADD_CR | STRIP ]
  1926. .br
  1927. Controls the translation of line feeds during ASCII uploads.
  1928. .sp
  1929. .ti -0.5i
  1930. SET TIMER [5-150]
  1931. .br
  1932. Controls the timer (in seconds) that detects the end of an ASCII download.
  1933. .sp
  1934. .ti -0.5i
  1935. SET CR_DN [ NONE | ADD_LF | STRIP ]
  1936. .br
  1937. Controls the translation of carriage returns during ASCII downloads.
  1938. .sp
  1939. .ti -0.5i
  1940. SET LF_DN [ NONE | ADD_CR | STRIP ]
  1941. .br
  1942. Controls the translation of line feeds during ASCII downloads.
  1943. .sp
  1944. .ti -0.5i
  1945. QUERY TTY_NAME
  1946. .br
  1947. Returns the name of the current TTY in use or NONE.
  1948. .sp
  1949. .ti -0.5i
  1950. QUERY MODEM_NAME
  1951. .br
  1952. Returns the name of the current modem in use or NONE.
  1953. .sp
  1954. .ti -0.5i
  1955. IF CONNECTED
  1956. .br
  1957. Returns a 1 if Pcomm is currently connected to a remote, otherwise a 0.
  1958. .sp
  1959. .ti -0.5i
  1960. IF LOG_STATUS
  1961. .br
  1962. Returns a 1 if the data logging feature is turned on, otherwise 0.
  1963. .sp
  1964. .ti -0.5i
  1965. IF PRINTER_STATUS
  1966. .br
  1967. Returns a 1 if the printer is turned on, otherwise 0.
  1968. .sp
  1969. .ti -0.5i
  1970. DIAL [ MANUAL phone_number ] entry_number
  1971. .br
  1972. Dial an entry from the dialing directory.  The MANUAL option is used to
  1973. optionally dial a phone number without the use of the dialing directory.
  1974. DIAL returns after 1 attempt.  A return code of 1 means a connection
  1975. was made.
  1976. .sp
  1977. .ti -0.5i
  1978. REDIAL entry_number
  1979. .br
  1980. Similar to the DIAL command, but 10 attempts are made.
  1981. .sp
  1982. .ti -0.5i
  1983. EXIT
  1984. .br
  1985. Hang up the phone and exit from Pcomm.
  1986. .sp
  1987. .ti -0.5i
  1988. CLEAR_SCREEN
  1989. .br
  1990. Clear the screen.
  1991. .sp
  1992. .ti -0.5i
  1993. CHG_DIR directory
  1994. .br
  1995. Change the current working directory to the given directory.
  1996. .sp
  1997. .ti -0.5i
  1998. HANG_UP
  1999. .br
  2000. Hang up the phone, but remain in Pcomm.
  2001. .sp
  2002. .ti -0.5i
  2003. PRINTER [ ON | OFF ]
  2004. .br
  2005. Control the logging of data to the printer.
  2006. .sp
  2007. .ti -0.5i
  2008. MODEM_BREAK
  2009. .br
  2010. Send a modem break to the remote system.  This is typically used to
  2011. tell the remote to switch to a different baud rate.
  2012. .sp
  2013. .ti -0.5i
  2014. SEND protocol filename
  2015. .br
  2016. Send a file to the remote.  The valid protocols are XMODEM, XMODEM_1K,
  2017. MODEM7, YMODEM, YMODEM_G, ASCII, EXT_1, EXT_2, and EXT_3.
  2018. .sp
  2019. .ti -0.5i
  2020. RECEIVE protocol filename
  2021. .br
  2022. Receive a file from the remote.  The valid protocols are XMODEM,
  2023. XMODEM_1K, MODEM7, YMODEM, YMODEM_G, ASCII, EXT_1, EXT_2, and EXT_3.
  2024. .sp
  2025. .ti -0.5i
  2026. SCREEN_DUMP
  2027. .br
  2028. Dump the current contents of the screen to the DUMPFILE.  If the file
  2029. already exists, the new contents are appended to the file.
  2030. .sp
  2031. .ti -0.5i
  2032. DATA_LOG [ ON | OFF ]
  2033. .br
  2034. Control logging of the terminal session to the LOGFILE.  If the file
  2035. already exists, the new contents are appended to the file.
  2036. .in
  2037. .sh 2 "Waitfor command"
  2038. .(x
  2039.   \*($n Waitfor command
  2040. .)x
  2041. .lp
  2042. The waitfor command has the following syntax:
  2043. .sp
  2044. .in +0.5i
  2045. waitfor \-n string
  2046. .in
  2047. .lp
  2048. where \*(lqn\*(rq is the number of seconds to wait and \*(lqstring\*(rq
  2049. is the string to wait for.
  2050. .lp
  2051. Waitfor returns a 0 if the string was found, a 1 if it didn't find the
  2052. string within the allotted time, and a \-1 if there was an error.
  2053. Waitfor returns immediately if the string is found.
  2054. .lp
  2055. The waitfor command would typically be used in a script to indicate that
  2056. the desired prompt has appeared.  For example:
  2057. .sp
  2058. .in +0.5i
  2059. .CS
  2060. .(b L
  2061. waitfor \-5 "ogin:"
  2062. if [ "$?" \-eq 0 ]
  2063. then
  2064. .in +0.5i
  2065. echo "egray"
  2066. .in
  2067. fi
  2068. .)b
  2069. .Cs
  2070. .in
  2071. .lp
  2072. would wait up to 5 seconds for the string \*(lqogin:\*(rq.  If the
  2073. return code is 0 (the strings did appear), send the string
  2074. \*(lqegray\*(rq (my user ID).
  2075. .lp
  2076. .ft I
  2077. NOTE:\ \ Upper and lower case letters are considered different.  If you
  2078. are not sure if the prompt is \*(lqLogin:\*(rq or \*(lqlogin:\*(rq, then
  2079. skip the first letter in the string and use \*(lqogin:\*(rq.
  2080. .ft 
  2081. .sh 2 "Matches command"
  2082. .(x
  2083.   \*($n Matches command
  2084. .)x
  2085. .lp
  2086. The matches command has the following syntax:
  2087. .in +0.5i
  2088. .sp
  2089. matches string1 string2
  2090. .in
  2091. .lp
  2092. Matches returns a 0 if string2 is contained in string1, and returns a 1
  2093. if it does not.  Unlike waitfor, the matches command does not read the
  2094. TTY port.
  2095. .lp
  2096. The matches command could be used to test string values such as:
  2097. .sp
  2098. .in +0.5i
  2099. .CS
  2100. .(b L
  2101. read junk
  2102. matches $junk "login failed"
  2103. if [ "$?" \-eq 0 ]
  2104. then
  2105. .in +0.5i
  2106. exit
  2107. .in
  2108. fi
  2109. .)b
  2110. .Cs
  2111. .in
  2112. .sh 2 "Examples"
  2113. .(x
  2114.   \*($n Examples
  2115. .)x
  2116. .lp
  2117. It is not my intention to teach the reader the fundamentals of Unix
  2118. shell programming.  There are several good books on the subject
  2119. available in stores.
  2120. .lp
  2121. Remember to add execute permission to the file and remove the read
  2122. permission to all others.
  2123. .lp
  2124. .(b L
  2125. The simplest auto-login script may contain the following:
  2126. .sp
  2127. .in +0.5i
  2128. .CS
  2129. # send a <CR>
  2130. echo ""
  2131. # wait 5 seconds for the login prompt
  2132. waitfor \-5 ogin:
  2133. # send my user ID
  2134. echo "egray"
  2135. # wait 5 seconds for the password prompt
  2136. waitfor \-5 assword:
  2137. # send my password
  2138. echo "abcdefg"
  2139. # return to Pcomm
  2140. exit 0
  2141. .Cs
  2142. .)b
  2143. .in
  2144. .lp
  2145. .(b L
  2146. A more complex script is required if the user must send a modem break to
  2147. synchronize the baud rate of the remote.  For example:
  2148. .sp
  2149. .in +0.5i
  2150. .CS
  2151. echo ""
  2152. try=0
  2153. # loop until done
  2154. while true
  2155. do
  2156. .in +0.5i
  2157. # wait 5 seconds for the login prompt
  2158. waitfor \-5 ogin:
  2159. # test the exit code of the waitfor command
  2160. if [ "$?" \-eq 0 ]
  2161. then
  2162. .in +0.5i
  2163. # send my user ID and exit the loop
  2164. echo "egray"
  2165. break
  2166. .in
  2167. fi
  2168. .sp
  2169. # increment the number of attempts
  2170. try=\`expr $try + 1\`
  2171. # test to see if we should give up
  2172. if [ "$try" \-eq 5 ]
  2173. then
  2174. .in +0.5i
  2175. exit 1
  2176. .in
  2177. fi
  2178. .sp
  2179. # send a modem break and loop again
  2180. pcomm_cmd modem_break
  2181. echo ""
  2182. .in 0.5i
  2183. done
  2184. # wait 5 seconds for the password prompt
  2185. waitfor \-5 assword:
  2186. # test the return code from waitfor
  2187. if [ "$?" \-eq 0 ]
  2188. then
  2189. .in +0.5i
  2190. # send my password
  2191. echo "abcdefg"
  2192. .in
  2193. else
  2194. .in +0.5i
  2195. exit 1
  2196. .in
  2197. fi
  2198. # return to Pcomm
  2199. exit 0
  2200. .Cs
  2201. .)b
  2202. .in 0
  2203. .lp
  2204. .(b L
  2205. The following is an example of a shell script that will dial a system,
  2206. log a user on, transfer a file called junk using xmodem, log out, and
  2207. exit Pcomm.
  2208. .sp
  2209. .in +0.5i
  2210. .CS
  2211. # are we already connected?
  2212. answer=`pcomm_cmd if connected`
  2213. if [ "$answer" -eq 0 ]
  2214. then
  2215. .in +0.5i
  2216. # dial entry number 23 in my dialing directory
  2217. pcomm_cmd dial 23
  2218. .in -0.5i
  2219. fi
  2220. # wait for the login prompt
  2221. waitfor ogin:
  2222. # send my user id
  2223. echo egray
  2224. # wait for the password prompt
  2225. waitfor assword:
  2226. # send my password
  2227. echo abcdefg
  2228. # wait for a Unix prompt
  2229. waitfor $
  2230. # start up an xmodem file transfer
  2231. echo sx junk
  2232. # wait for the sx command to say its ready
  2233. waitfor now
  2234. sleep 1
  2235. # do a file transfer
  2236. pcomm_cmd receive xmodem junk
  2237. # wait for the prompt
  2238. waitfor $
  2239. # log me out
  2240. echo "^D"
  2241. sleep 1
  2242. # exit pcomm
  2243. pcomm_cmd exit
  2244. .Cs
  2245. .)b
  2246. .in 0
  2247. .bp
  2248. .if e \{
  2249. .ep
  2250. .bp\}
  2251. .uh "Appendix A \- Typical Modem Configuration"
  2252. .(x
  2253.  
  2254. .)x _
  2255. .(x
  2256. Appendix A \- Typical Modem Configuration
  2257. .)x
  2258. .lp
  2259. I can't begin to describe how to configure every modem to work with
  2260. Pcomm.  There are, however, several guidelines that will apply to
  2261. virtually any modem.
  2262. .ba +0.5i
  2263. .lp
  2264. 1) Pcomm doesn't care about the DCD (Data Carrier Detect) settings of
  2265. the modem.
  2266. .lp
  2267. 2) It would be nice (but not essential) if the loss of the DTR (Data
  2268. Terminal Ready) caused the modem to hang up.
  2269. .lp
  2270. 3) Pcomm doesn't care if commands are echoed back by the modem (it might
  2271. save a few milliseconds if echoing was turned off).
  2272. .lp
  2273. 4) Some sort of result codes are required.  Numeric result codes are
  2274. ok...  but since they are displayed on the screen, word result codes
  2275. will make more sense.
  2276. .lp
  2277. 5) If the modem can return different result codes for each baud rate at
  2278. which it answers, then by all means, use them.  Match the odd-ball
  2279. codes (such as CONNECT FAST for Telebit PEP) to the closet matching speed.
  2280. .lp
  2281. 6) Anything that is returned by the modem, but not listed in the modem
  2282. setup, is ignored.
  2283. .lp
  2284. 7) Systems running older versions of uugetty (the bi-directional version
  2285. of getty that comes with HDB uucp) may require extra commands in the
  2286. initialization string to assure that uugetty switches to its dial out
  2287. mode.  Normally, \*(lqAT!~AT!~\*(rq causes enough dialogue to force
  2288. uugetty to release the line.
  2289. .ba
  2290. .lp
  2291. For example, a 2400 baud Hayes compatible modem might be configured with
  2292. the following command:
  2293. .sp
  2294. .in +0.5i
  2295. .nf
  2296. AT\ S7=60\ S11=70\ E0\ Q0\ V1\ X4\ &D2
  2297. .fi
  2298. .in +0.5i
  2299. .(b L
  2300. .TS
  2301. l l.
  2302. AT    Hayes attention command
  2303. S7=60    Wait 60 seconds for an answer
  2304. S11=70    70 ms touch tone dialing
  2305. E0    Don't echo commands (not essential)
  2306. Q0    Turn result codes on
  2307. V1    Return word result codes
  2308. X4    Use as many result codes as you've got
  2309. &D2    Hang up when DTR is lost (nice to have)
  2310. .TE
  2311. .)b
  2312. .in 0
  2313. .bp
  2314. .if e \{
  2315. .ep
  2316. .bp\}
  2317. .uh "Appendix B \- AT&T Unix PC 7300/3b1 Dial Codes"
  2318. .(x
  2319.  
  2320. .)x _
  2321. .(x
  2322. Appendix B \- AT&T Unix PC 7300/3b1 Dial Codes
  2323. .)x
  2324. .lp
  2325. The dialing codes used by the OBM (On Board Modem) are not
  2326. straight-forward.  The modem setup, as included in the Unixpc.shar file,
  2327. looks like this:
  2328. .br
  2329. .CS
  2330. .(b L
  2331. .(c
  2332. -------------------------- Modem Setup --------------------------
  2333. .sp
  2334.            1) Modem name (1 of 2) ... OBM
  2335.            2) Modem init string .....
  2336.            3) Dialing command ....... %
  2337.            4) Dialing cmd suffix .... @
  2338.            5) Hang up string ........
  2339.            6) Auto baud detect ...... N
  2340.            7) 300 baud connect ...... CONNECT
  2341.            8) 1200 baud connect ..... CONNECT
  2342.            9) 2400 baud connect .....
  2343.           10) 4800 baud connect .....
  2344.           11) 9600 baud connect .....
  2345.           12) 19200 baud connect ....
  2346.           13) 38400 baud connect ....
  2347.           14) No connect string 1 ...
  2348.           15) No connect string 2 ...
  2349.           16) No connect string 3 ...
  2350.           17) No connect string 4 ...
  2351. -----------------------------------------------------------------
  2352. OPTION ==> _                                Press <ESC> to return
  2353. .)c
  2354. .)b
  2355. .Cs
  2356. .lp
  2357. The relevant fields of the modem setup are:
  2358. .ba +0.5i
  2359. .lp
  2360. 1) Modem name.  This must be \*(lqOBM\*(rq.
  2361. .lp
  2362. .ft I
  2363. NOTE:\ \ Pcomm uses the modem name as a flag to determine which dialing
  2364. method to use.  The string \*(lqOBM\*(rq is a \*(lqreserved word\*(rq
  2365. that Pcomm uses to switch to the AT&T Unix PC 7300/3b1 dialing method.
  2366. .ft
  2367. .lp
  2368. 3) Dialing command.  This should be \*(lq%\*(rq for touch tone dialing
  2369. or \*(lq^\*(rq for pulse dialing.
  2370. .lp
  2371. 4) Dialing cmd suffix.  This must be the \*(lq@\*(rq character.
  2372. .lp
  2373. 6) Auto baud detect.  The OBM cannot use the auto baud detect feature.
  2374. .lp
  2375. 7\-8) Connect strings.  Although the OBM doesn't actually return any
  2376. result codes, these fake fields are required.
  2377. .ba
  2378. .lp
  2379. Additional OBM dialing codes from the phone(7) manual:
  2380. .br
  2381. .in +0.5i
  2382. .(b L
  2383. .TS
  2384. l l.
  2385. \*(lq~\*(rq    wait for next dial tone
  2386. \*(lq,\*(rq    pause 2 seconds
  2387. \*(lq:\*(rq    pause 10 seconds
  2388. \*(lq&\*(rq    perform a hookflash
  2389. \*(lq%\*(rq    begin tone dialing
  2390. \*(lq^\*(rq    begin pulse dialing
  2391. .TE
  2392. .)b
  2393. .in
  2394. .lp
  2395. These codes can be inserted into the phone number string, for example:
  2396. .br
  2397. .in +0.5i
  2398. .(b L
  2399. .TS
  2400. l l.
  2401. 555-1234~56    dial 555-1234, wait for tone, dial 56
  2402. 9,555-1234    dial 9, wait 2 seconds, dial 555-1234
  2403. %555^1234    dial 555 using tone, 1234 using pulse
  2404. .TE
  2405. .)b
  2406. .in
  2407. .lp
  2408. .ft I
  2409. NOTE:\ \ The dialing codes for the OBM are not subject to character
  2410. synonym translations, therefore the \*(lq%\*(rq, \*(lq^\*(rq, and
  2411. \*(lq~\*(rq characters do NOT have to be preceded by the \*(lq\e\*(rq
  2412. character to remove their special meaning.
  2413. .ft
  2414. .bp
  2415. .if e \{
  2416. .ep
  2417. .bp\}
  2418. .uh "Appendix C \- Using High Speed Modems"
  2419. .(x
  2420.  
  2421. .)x _
  2422. .(x
  2423. Appendix C \- Using High Speed Modems
  2424. .)x
  2425. .ba
  2426. .lp
  2427. The features and complexities of the newer high speed intelligent modems
  2428. available today warrants a more detailed discussion.
  2429. .lp
  2430. 1) Locked interface speed
  2431. .ba +0.5i
  2432. .lp
  2433. Newer modems have the ability to maintain a locked interface speed
  2434. with the computer without regard to the connected baud rate.  For
  2435. example, it is a good idea to lock the interface speed at
  2436. 19200 baud (or 38400) when the modem is \*(lqtalking\*(rq at 14400 baud.
  2437. .lp
  2438. The \*(lqlocked speed\*(rq field of the TTY database was created to
  2439. solve this problem.  If this value is non-zero, Pcomm will only use this
  2440. baud rate when talking to the modem.  The true connected baud rate
  2441. (14400 for example) will continue to be displayed in the status line.
  2442. .ba
  2443. .lp
  2444. 2) Multiple setups
  2445. .ba +0.5i
  2446. .lp
  2447. Users of newer modems may require a different \*(lqinit string\*(rq or
  2448. \*(lqdial string\*(rq depending on the target machine being called.  For
  2449. example, when trying to connect to older V.32 modems, the V.42 and V.42bis
  2450. features may have to be disabled.  In this case, the dial string would
  2451. contain the command to disable the unwanted features.
  2452. .lp
  2453. This problem is solved by creating additional modem entries in the modem
  2454. database.  For example, you could have an entry called \*(lqTELEBIT\*(rq
  2455. for normal connections, one called \*(lqTELEBIT_V.32\*(rq for connecting
  2456. to older V.32 modems, and another called \*(lqTELEBIT_PEP\*(rq for 
  2457. connections to other PEP modems.
  2458. .lp
  2459. Pcomm uses the connect strings to determine if the modem can handle the
  2460. requested baud rate.  If there are multiple modems that satisfy that baud
  2461. rate, then the first modem entry is used.  You can influence the choice of
  2462. suitable modems by placing the name of the modem in the Auxiliary field of
  2463. the dialing directory.  In this way, you can have a default modem and a 
  2464. specific modem for each dialing directory that my require one.
  2465. .lp
  2466. .ft I
  2467. NOTE:\ \ The default modem configuration (in a multiple setup situation)
  2468. must appear first in the modem database.
  2469. .ft
  2470. .lp
  2471. Your choices are virtually unlimited...  you can have a separate modem
  2472. setup to control modem features such as error control, compression,
  2473. protocol spoofing, etc.
  2474. .ba
  2475. .lp
  2476. 3) Telebit WorldBlazer settings
  2477. .ba +0.5i
  2478. .lp
  2479. The following configuration is what I personally use for my Telebit
  2480. WorldBlazer on bi-directional lines (ones with uugetty).  Your mileage
  2481. may vary.
  2482. .in +0.5i
  2483. .(b L
  2484. .TS
  2485. l l.
  2486. ~&F     Restores factory settings
  2487. L1    Low speaker volume
  2488. Q2    Use result codes only when dialing out
  2489. X2    Use detailed result codes (connect speeds)
  2490. &C1    Set DCD to follow the carrier
  2491. &D3    Hard reset on loss of DTR
  2492. S0=1    Answer on first ring
  2493. S7=60    Wait at least 60 seconds for a carrier
  2494. S51=6    Set interface speed to 38400 baud
  2495. S58=2    Full duplex RTS/CTS flow control
  2496. S59=15    Use result code extensions
  2497. S61=0    Pass modem breaks to the other end
  2498. &W    Save in NVM
  2499. .TE
  2500. .)b
  2501. .ba
  2502. .lp
  2503. 4) Sample TTY database
  2504. .ba +0.5i
  2505. .lp
  2506. The following is the contents of the sample TTY database:
  2507. .br
  2508. .in +0.5i
  2509. .(b L
  2510. .TS
  2511. l l c
  2512. l l l.
  2513. TTY name    Modem name    Locked speed
  2514. .sp
  2515. 1) tty10    HAYES    0
  2516. 2) tty11    HAYES    0
  2517. 3) tty12    DIRECT    0
  2518. 4) tty13    TELEBIT    38400
  2519. 5) tty13    TELEBIT_V.32    38400
  2520. 6) tty13    TELEBIT_PEP    38400
  2521. .TE
  2522. .)b
  2523. .in
  2524. .lp
  2525. Notice that the last three entries share the same TTY and are physically
  2526. the same modem.
  2527. .ba
  2528. .lp
  2529. 5) Sample modem database entry for TELEBIT
  2530. .ba +0.5i
  2531. .lp
  2532. The third entry in the sample modem database is for the Telebit modem
  2533. designated for use under normal conditions.
  2534. .br
  2535. .in +0.5i
  2536. .CS
  2537. .(b L
  2538. .(c
  2539.  1) Modem name (3 of 5) .... TELEBIT
  2540.  2) Modem init string ...... ATZ!~~
  2541.  3) Dialing command ........ ATDT
  2542.  4) Dialing cmd suffix ..... !
  2543.  5) Hang up string ......... ~~+++~~ATH0!
  2544.  6) Auto baud detect ....... Y
  2545.  7) 300 baud connect ....... CONNECT 300
  2546.  8) 1200 baud connect ...... CONNECT 1200
  2547.  9) 2400 baud connect ...... CONNECT 2400
  2548. 10) 4800 baud connect ...... CONNECT 4800
  2549. 11) 9600 baud connect ...... CONNECT 9600
  2550. 12) 19200 baud connect ..... CONNECT FAST
  2551. 13) 38400 baud connect .....
  2552. 14) No connect string 1 .... BUSY
  2553. 15) No connect string 2 .... ERROR
  2554. 16) No connect string 3 .... NO CARRIER
  2555. 17) No connect string 4 .... NO DIALTONE
  2556. .)c
  2557. .)b
  2558. .Cs
  2559. .in
  2560. .ba
  2561. .lp
  2562. 6) Sample modem database entry for TELEBIT_V.32
  2563. .ba +0.5i
  2564. .lp
  2565. The 4th entry is for the Telebit modem designated for use with older V.32
  2566. modems that are confused by V.42 and V.42bis.
  2567. .br
  2568. .in +0.5i
  2569. .CS
  2570. .(b L
  2571. .(c
  2572.  1) Modem name (4 of 5) .... TELEBIT_V.32
  2573.  2) Modem init string ...... ATZ!~~
  2574.  3) Dialing command ........ ATS180=0S50=6DT
  2575.  4) Dialing cmd suffix ..... !
  2576.  5) Hang up string ......... ~~+++~~ATH0!
  2577.  6) Auto baud detect ....... Y
  2578.  7) 300 baud connect ....... CONNECT 300
  2579.  8) 1200 baud connect ...... CONNECT 1200
  2580.  9) 2400 baud connect ...... CONNECT 2400
  2581. 10) 4800 baud connect ...... CONNECT 4800
  2582. 11) 9600 baud connect ...... CONNECT 9600
  2583. 12) 19200 baud connect ..... 
  2584. 13) 38400 baud connect .....
  2585. 14) No connect string 1 .... BUSY
  2586. 15) No connect string 2 .... ERROR
  2587. 16) No connect string 3 .... NO CARRIER
  2588. 17) No connect string 4 .... NO DIALTONE
  2589. .)c
  2590. .)b
  2591. .Cs
  2592. .ba
  2593. .lp
  2594. 7) Sample modem database entry for TELEBIT_PEP
  2595. .ba +0.5i
  2596. .lp
  2597. The 5th entry is for the Telebit modem designated for use with other
  2598. Telebit PEP modems.
  2599. .br
  2600. .in +0.5i
  2601. .CS
  2602. .(b L
  2603. .(c
  2604.  1) Modem name (5 of 5) .... TELEBIT_PEP
  2605.  2) Modem init string ...... ATZ!~~
  2606.  3) Dialing command ........ ATS50=255DT
  2607.  4) Dialing cmd suffix ..... !
  2608.  5) Hang up string ......... ~~+++~~ATH0!
  2609.  6) Auto baud detect ....... Y
  2610.  7) 300 baud connect .......
  2611.  8) 1200 baud connect ......
  2612.  9) 2400 baud connect ......
  2613. 10) 4800 baud connect ......
  2614. 11) 9600 baud connect ......
  2615. 12) 19200 baud connect ..... CONNECT FAST
  2616. 13) 38400 baud connect .....
  2617. 14) No connect string 1 .... BUSY
  2618. 15) No connect string 2 .... ERROR
  2619. 16) No connect string 3 .... NO CARRIER
  2620. 17) No connect string 4 .... NO DIALTONE
  2621. .)c
  2622. .)b
  2623. .Cs
  2624. .in 0
  2625. .ba 0
  2626. .\"                    the index page
  2627. .hx
  2628. .bp
  2629. .pl -10v
  2630. .(b C
  2631. Table of Contents
  2632. .)b
  2633. .sp 3
  2634. .\" Not all versions of {t,n}roff can handle a 2 column index
  2635. .2c
  2636. .nr xu 0.2i
  2637. .xp
  2638.