home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / DATACOM / TERM / PMCOM220 / PMCOMM.INF (.txt) < prev    next >
Encoding:
OS/2 Help File  |  1994-06-26  |  137.6 KB  |  5,530 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Installation Help ΓòÉΓòÉΓòÉ
  3.  
  4. If you are using OS/2 1.3 you must use Pmcomm 1.11. If you are using OS/2 2.0 
  5. without the service pack then you can use either Pmcomm 1.11 or Pmcomm 2.01. 
  6. Pmcomm 2.10 and later can only be run on OS/2 2.1 or OS/2 2.0 with the service 
  7. pack. To obtain either Pmcomm 1.11 or 2.01 you may download them from our BBS 
  8. (503 883-8197). 
  9.  
  10. There are now two ways to install Pmcomm. First Pmcomm comes with an install 
  11. program which will install both Pmcomm and the host mode. To use this method 
  12. open the drive object for the drive that you are using to install Pmcomm from, 
  13. and double click on the install.exe program. This program will copy the files 
  14. to the specified directory and create objects on the Desktop for Pmcomm and 
  15. various other programs. 
  16.  
  17. The second method that can be used to install Pmcomm is to copy all of the 
  18. files on the distribution disk to a directory on your hard disk. Also, copy 
  19. RxPmcomm.dll and RxPmc32.dll into a .dll directory (i.e. C:\os2\dll). The 
  20. RxPmc32.dll can only be used with OS/2 2.0 or later. 
  21.  
  22. Note:  You must use the install program in order to install Pmcomm's Host Mode. 
  23.  
  24. Pmcomm can be run from a command line by typing pmcomm, but it is recommended 
  25. that it be installed in a "Group" under OS/2 1.3 or as an object under OS/2 2.0 
  26. or 2.1. If you used the install program the object will automatically be 
  27. created. 
  28.  
  29. To install Pmcomm in a group under OS/2 1.3, access the Program menu on the 
  30. "Group" menu and chose the New option. This will bring up a dialog box where 
  31. the following information must be entered. 
  32.  
  33. Program title: Pmcomm 
  34.  
  35. Path and filename: user_specified_path\pmcomm.exe 
  36.  
  37. Parameters: setup.dat 
  38.  
  39. Working directory: user_specified_path 
  40.  
  41. Program type: Presentation Manager 
  42.  
  43. The final step is to select the Add option at the bottom of the dialog box. 
  44.  
  45. Note:  setup.dat will be created if not in existence. 
  46.  
  47. To install Pmcomm as an object under OS/2 2.0 or 2.1, open the OS/2 System 
  48. object on the desktop and access the Template folder. Now, drag the Program 
  49. Object onto the desktop. When the settings dialog box comes up type the path to 
  50. Pmcomm and the filename Pmcomm.exe in the edit field reserved for that purpose. 
  51. Close the settings box and Pmcomm is on 
  52.  
  53. There is a program called timer.exe that is included with Pmcomm that will 
  54. allow you to execute Pmcomm at specified times. This will allow you to set up a 
  55. script to have Pmcomm dial numbers at certain times and capture mail, download 
  56. files, etc. 
  57.  
  58.  
  59. ΓòÉΓòÉΓòÉ 2. Command line options ΓòÉΓòÉΓòÉ
  60.  
  61. Pmcomm allows you to pass either the name of a setup file, or the name of a 
  62. script, on the command line. If the name of the file you pass has the extension 
  63. .dat, then the file will be treated as a setup file. If the .dat file does not 
  64. exist then Pmcomm will create it. If the file you pass has the extension .cmd 
  65. then it will be treated as a REXX script and executed on startup of Pmcomm. 
  66. Similarily, a file with the extension of .exe will be treated as an external 
  67. executable file. All other valid extensions, including the lack of an 
  68. extension, will be treated as an internal script. 
  69.  
  70.  
  71. ΓòÉΓòÉΓòÉ 3. Extended Help ΓòÉΓòÉΓòÉ
  72.  
  73. There is a collection of utilities in the File section such as; Scripts, 
  74. Capture, Log File, File Import, Extended Scroll Buffer, and Print. 
  75.  
  76. In the Edit section there are commands such as Copy, Append, Paste, and 
  77. Clear_Screen. These commands will help you manipulate on-screen information. 
  78.  
  79. The Connect command allows you to connect to another computer, either through a 
  80. modem, using the Dial command or direct connect, using the Send_Break command. 
  81. The Initialize Modem command will send the modem initialization string to the 
  82. modem. This command allows the user to re-initialize the modem without exiting 
  83. and rerunning Pmcomm. 
  84.  
  85. Transfer allows the use of different protocols to send and receive files to or 
  86. from a remote computer. The protocol options are Xmodem_Checksum, Xmodem_CRC, 
  87. 1K-Xmodem, Ymodem(batch), Ymodem-g(batch), Zmodem, Kermit, CISB, ASCII, and 
  88. IND$FILE (for downloads). Zmodem is probably the best selection when available 
  89. on the remote computer. Ymodem-G should only be used with error correcting 
  90. modems. 
  91.  
  92. Hang-up sends the hang-up command string (see the Option menu) and optionally 
  93. drops the DTR line to the modem. Dropping DTR is the most effective if your 
  94. modem is setup to hang-up when DTR is dropped. Using a hang-up string is also 
  95. slower, because Pmcomm has to get the modem into the command state before 
  96. sending the hang-up string. If you have DTR on and delete the hangup string the 
  97. hang-up will be much faster. 
  98.  
  99. Option allows you to tailor Pmcomm to your own tastes. The areas in option are 
  100. Port, Dial_Setup, Modem, Protocols, Paths, Macros_Setup, KeyMap, Screen, 
  101. Status_Line, Terminal, and Chat. The setup is not automatically saved. This 
  102. allows you to change things temporally without changing your default setup 
  103. file. If you do want to make the  changes permanent be sure to save the setup 
  104. file. To save the current setup file, use the Save_setup command under the File 
  105. menu option. 
  106.  
  107. Macros allows you to pick, with a mouse, the macro you wish to send. Macros can 
  108. also be selected with an Alt+corresponding number keystroke. Pmcomm allows you 
  109. to set up ten different macros. Scripts can be executed from macros by using 
  110. the shell command. An example of this would be: 
  111.  
  112. shell("c:\pmcomm\plane.cmd"); 
  113.  
  114. This would execute the REXX script called plane.cmd. This allows you a quick 
  115. and easy way to execute often used scripts. 
  116.  
  117. The key mapping ability of Pmcomm allows a user to re-map the keyboard to meet 
  118. the requirements of the host computer. It also allows the user to map the keys, 
  119. so that often executed functions can be programmed to a certain key. This is 
  120. commonly called a "Hot Key". 
  121.  
  122.  
  123. ΓòÉΓòÉΓòÉ 3.1. Keys Help ΓòÉΓòÉΓòÉ
  124.  
  125. The following is a list of default "Hot keys" available. These keys can be 
  126. re-mapped to other functions, and the use of these keys may vary with the 
  127. terminal emulation used. 
  128.  
  129.  F1      =   Help. 
  130.  
  131.  F3      =   Exit. 
  132.  
  133.  Alt-D     =   Dialing directory. 
  134.  
  135.  Alt-H     =   Hangup. 
  136.  
  137.  Alt-Q     =   Dial Queue entries. 
  138.  
  139.  Alt-X     =   Exit. 
  140.  
  141.  Ctrl-Break  =   Send break. 
  142.  
  143.  Ctrl-Insert  =   Copy. 
  144.  
  145.  Alt-Insert  =   Append. 
  146.  
  147.  Shift-Insert  =  Paste. 
  148.  
  149.  Page-Dn   =   Download. 
  150.  
  151.  Page-Up   =   Upload. 
  152.  
  153.  Print Scrn  =   Prints text in the visible 
  154.           window (full line length). 
  155.  
  156. The up and down arrow keys default to scrolling the window. You can change this 
  157. in the setup terminal dialog box so that when in ANSI mode the arrow keys will 
  158. be sent to the modem. 
  159.  
  160. In VT100 mode, some keys have been changed to try to closely emulate the VT100 
  161. keyboard. F1-F4 are now the PF keys. Because of this the F1 key will not 
  162. display the normal help, and F3 will not exit the program. The PF keys will 
  163. send the following characters: 
  164.  
  165.   F1 = ESCOP 
  166.  
  167.   F2 = ESCOQ 
  168.  
  169.   F3 = ESCOR 
  170.  
  171.   F4 = ESCOS 
  172.  
  173. Where ESC is equal to the ASCII character hex 1B. All other default hot keys 
  174. will not be available, unless they have been re-mapped. 
  175.  
  176. In VT220 mode additional keys have been redefined. While in this mode Pmcomm is 
  177. not CUA compliant, because of the need to use some of the hot keys that OS/2 
  178. would normally use. In VT220 mode the F1-F4 keys will send the same characters 
  179. as in VT100. In addition VT220 will also use other functions keys as follows: 
  180.  
  181.   F5  = BREAK (sends a break signal) 
  182.  
  183.   F6  = CSI17~ 
  184.  
  185.   F7  = CSI18~ 
  186.  
  187.   F8  = CSI19~ 
  188.  
  189.   F9  = CSI20~ 
  190.  
  191.   F10 = CSI21~ 
  192.  
  193.   F11 = CSI23~ 
  194.  
  195.   F12 = CSI24~ 
  196.  
  197.   Alt/F1  = CSI23~  (VT220 F11 function key) 
  198.  
  199.   Alt/F2  = CSI24~  (VT220 F12 function key) 
  200.  
  201.   Alt/F3  = CSI25~  (VT220 F13 function key) 
  202.  
  203.   Alt/F4  = CSI26~  (VT220 F14 function key) 
  204.  
  205.   Alt/F5  = CSI28~  (VT220 F15 function key) 
  206.  
  207.   Alt/F6  = CSI29~  (VT220 F16 function key) 
  208.  
  209.   Alt/F7  = CSI31~  (VT220 F17 function key) 
  210.  
  211.   Alt/F8  = CSI32~  (VT220 F18 function key) 
  212.  
  213.   Alt/F9  = CSI33~  (VT220 F19 function key) 
  214.  
  215.   Alt/F10 = CSI34~  (VT220 F20 function key) 
  216. CSI will be one of two values, either the CSI character or the ANSI ESC[. If 
  217. you are connected with 8 data bits and the host supports the 8 bit sequence 
  218. then the CSI character will be used. When the num lock key is off the numerical 
  219. key pad will be in the application mode. If you are connecting to a VT220 Host 
  220. you can use these keys to send the VT220 PF key values. For example pressing 
  221. the 1 on the numeric key pad will send the VT220 PF1 key. Pressing the 3 on the 
  222. numeric key pad will send the VT220 PF3 key, and so on. With the num lock on 
  223. the numbers will be sent. The plus key has been re-mapped to be a comma, again 
  224. to be compatible with the VT100 keyboard. 
  225.  
  226.  
  227. ΓòÉΓòÉΓòÉ 3.2. Button Bar Help ΓòÉΓòÉΓòÉ
  228.  
  229. The Button Bar allows, with the click of a mouse button, the user to execute 
  230. various utilities and any user defined macros. The name of the macro will 
  231. appear on the button. 
  232.  
  233. Phone Button 
  234.  
  235. There are many options that can be accessed by the Phone Button. If the 
  236. telephone is on-hook (hung up) and you click on the button, Pmcomm will dial 
  237. any numbers that you have selected in the dialing directory. If there aren't 
  238. any numbers selected, Pmcomm will "pop" up the dialing directory. 
  239.  
  240. If you select a dialing directory in File Manager and hold down the right mouse 
  241. button you can drag the dialing directory to the phone button. Once the mouse 
  242. button is released over the phone button, Pmcomm will dial any selected 
  243. numbers. If there aren't any numbers selected, Pmcomm will "pop" up the dialing 
  244. directory. 
  245.  
  246. Once online the phone button will be taken off-hook. If the phone is off-hook 
  247. and you click on the button, Pmcomm will hang-up. If Monitor DCD is turned off 
  248. and you click on the button, Pmcomm will dial any selected numbers in the 
  249. dialing directory. If there aren't any numbers selected, Pmcomm will "pop" up 
  250. the dialing directory. 
  251.  
  252. Disk Button 
  253.  
  254. The Disk Button allows a quick and easy way to turn the Capture option on and 
  255. off. If only the disk appears on the button and you click on the button Pmcomm 
  256. will then prompt you for the filename of the capture file. If the disk appears 
  257. to have arrows pointing it, Pmcomm is already executing the Capture command. If 
  258. you click on the button when it is in this form, Pmcomm will cancel the Capture 
  259. command. 
  260.  
  261. Log Buttom 
  262.  
  263. By clicking on the Log Button, Pmcomm will turn logging on. When logging is on, 
  264. the log will appear with logging equipment (crosscut saw and an axe), if you 
  265. click on this button Pmcomm will turning logging off. 
  266.  
  267. Printer Button 
  268.  
  269. By clicking on the Printer Button you can print any selected text. If there 
  270. isn't any selected text, Pmcomm will execute the Print Continuous command. 
  271. Clicking on the button again will turn the Print Continuous command off. 
  272.  
  273. Generator Button 
  274.  
  275. Clicking on the Generator Button will turn on the Script Generator. Pmcomm will 
  276. then prompt you for a filename for the script. If you click on the button 
  277. again, Pmcomm will turn off the Script Generator. The Generator Button will 
  278. have yellow arrows pointing away from the generator when a script is being 
  279. generated. 
  280.  
  281. Book Button 
  282.  
  283. Clicking on the Book Button will execute a script. If Pmcomm is executing a 
  284. script, clicking on the button will cancel the script. You can also use the 
  285. drag and drop feature of Pmcomm to select any executable file (extensions .exe, 
  286. .cmd and .scr) from the File Manager and executing that file by dragging and 
  287. dropping the file on the Book Button. 
  288.  
  289. Port Button 
  290.  
  291. Clicking on the Port Button will access the Port Setup dialog box. This allows 
  292. the user to make any changes to the port setup as needed. 
  293.  
  294. Scroll Button 
  295.  
  296. Clicking on the Scroll Button accesses Pmcomm's Extended Scroll Buffer. 
  297.  
  298.  
  299. ΓòÉΓòÉΓòÉ 4. File ΓòÉΓòÉΓòÉ
  300.  
  301. There is a collection of utilities in this section such as; Save_setup, 
  302. Scripts, Capture, Log File, File Import, Extended Scroll Buffer, and Print. 
  303.  
  304.  
  305. ΓòÉΓòÉΓòÉ 4.1. Save Setup ΓòÉΓòÉΓòÉ
  306.  
  307. Saves user definable configurations as well as screen size and position. The 
  308. default file name that is used for the setup file is setup.dat. Different setup 
  309. file names can be used by specifying a different file name as a parameter when 
  310. starting Pmcomm. You can use any name as long as it has an extension of dat. 
  311.  
  312.  
  313. ΓòÉΓòÉΓòÉ 4.2. Capture ΓòÉΓòÉΓòÉ
  314.  
  315. Capture saves everything that is received from the modem to a file. For 
  316. example, you can capture all new messages and then read them after you hang up. 
  317. If you specify PRN as the filename everything will be captured to the printer. 
  318. If you have Monitor_DCD selected then the capture file will be closed when you 
  319. log off. This will happen if you started the capture file from the menu or from 
  320. a internal script. 
  321.  
  322.  
  323. ΓòÉΓòÉΓòÉ 4.2.1. Start Capture ΓòÉΓòÉΓòÉ
  324.  
  325. When selecting this option you will be prompted for a file name and then 
  326. everything that comes in from the modem will be saved to that file. If PRN is 
  327. selected then everything will be sent to the printer. If the file exists you 
  328. will be asked if you wish to overwrite the file. If you select no, the new 
  329. information will be appended to the end of the file. Select cancel if you wish 
  330. to abort the capture. 
  331.  
  332. You may also start the capture by clicking on the disk button located on the 
  333. Button_Bar. 
  334.  
  335.  
  336. ΓòÉΓòÉΓòÉ 4.2.2. Cancel Capture ΓòÉΓòÉΓòÉ
  337.  
  338. This command will turn off capture. This command will only work if capture was 
  339. started with the Start_Capture command. 
  340.  
  341. You may also cancel the capture command by clicking on the disk button located 
  342. on the Button_Bar. 
  343.  
  344.  
  345. ΓòÉΓòÉΓòÉ 4.3. Scripts ΓòÉΓòÉΓòÉ
  346.  
  347. Scripts allow you to have the computer perform certain tasks automatically. The 
  348. internal commands available are: 
  349.  
  350. wait_for 
  351. puts 
  352. sleep 
  353. call 
  354. capture_on 
  355. capture_off 
  356. change_option 
  357. dial 
  358. shell 
  359. exit 
  360.  
  361. The REXX commands that are available are: 
  362.  
  363. init_dll 
  364. init_32dll 
  365. setcom 
  366. sendb 
  367. dcd 
  368. char_avail 
  369. read_timeout 
  370. Get_ch 
  371. ring_detect 
  372. drop_dtr 
  373. raise_dtr 
  374. Wait_for 
  375. Wait_fore 
  376. Put_s 
  377. Sleep 
  378. beep 
  379. get_cursor_position 
  380. get_char_at 
  381. capture_on 
  382. capture_off 
  383. change_option 
  384. dial 
  385. get_dial_memo 
  386. clipboard_paste 
  387. clipboard_copy 
  388. clipboard_append 
  389. xmodem_send 
  390. xmodem_receive 
  391. xmodem_chk_send 
  392. xmodem_chk_receive 
  393. xmodem_1k_send 
  394. xmodem_1k_receive 
  395. ymodem_send 
  396. ymodem_receive 
  397. ymodemg_send 
  398. ymodemg_receive 
  399. zmodem_send 
  400. zmodem_receive 
  401. kermit_send 
  402. kermit_receive 
  403. ascii_send 
  404. ascii_receive 
  405. cisb_send 
  406. cisb_receive 
  407. set_download_path 
  408. os2_shell 
  409.  
  410. The 'C' library commands that are available are: 
  411.  
  412. init_lib 
  413. setcom 
  414. sendb 
  415. dcd 
  416. char_avail 
  417. read_timeout 
  418. get_ch 
  419. ring_detect 
  420. drop_dtr 
  421. raise_dtr 
  422. wait_for 
  423. wait_fore 
  424. put_s 
  425. sleep 
  426. beep 
  427. get_cursor_position 
  428. get_char_at 
  429. capture_on 
  430. capture_off 
  431. change_option 
  432. dial 
  433. get_dial_memo 
  434. clipboard_paste 
  435. clipboard_copy 
  436. clipboard_append 
  437. xmodem_send 
  438. xmodem_receive 
  439. xmodem_chk_send 
  440. xmodem_chk_receive 
  441. xmodem_1k_send 
  442. xmodem_1k_receive 
  443. ymodem_send 
  444. ymodem_receive 
  445. ymodemg_send 
  446. ymodemg_receive 
  447. zmodem_send 
  448. zmodem_receive 
  449. kermit_send 
  450. kermit_receive 
  451. ascii_send 
  452. ascii_receive 
  453. cisb_send 
  454. cisb_receive 
  455. set_download_path 
  456. os2_shell 
  457.  
  458. The scripts command is only available in the commercial version of Pmcomm. 
  459.  
  460.  
  461. ΓòÉΓòÉΓòÉ 4.3.1. Start Scripts ΓòÉΓòÉΓòÉ
  462.  
  463. With this command you can start a pre-written script at any time, just enter 
  464. the file name of the script when prompted. If only the file name is entered, 
  465. the script path will be searched for the file. Full path and file names are 
  466. allowed. 
  467.  
  468. You may also start a script be clicking on the book button located on the 
  469. Button_Bar. 
  470.  
  471.  
  472. ΓòÉΓòÉΓòÉ 4.3.2. Script Dialog ΓòÉΓòÉΓòÉ
  473.  
  474. The Script Dialog displays information and options about the current script. 
  475. When the dialog is displayed you have the option of either aborting the script, 
  476. closing the dialog box, or skipping the currently executing command. 
  477.  
  478.  
  479. ΓòÉΓòÉΓòÉ 4.3.3. Cancel Script ΓòÉΓòÉΓòÉ
  480.  
  481. This command is used to stop a script that is already running. The script will 
  482. be canceled at the time this is selected unless the script is at a sleep 
  483. command. In this case the script will stop after the sleep time interval has 
  484. expired. 
  485.  
  486. You may also cancel a script by clicking on the book button located on the 
  487. Button_Bar. 
  488.  
  489.  
  490. ΓòÉΓòÉΓòÉ 4.3.4. Start Script Generator ΓòÉΓòÉΓòÉ
  491.  
  492. This is the command that executes Pmcomm's script generator. The script 
  493. generator will write a script in either REXX or Internal script syntax. A REXX 
  494. script must have a cmd extension, and an Internal script must have a scr 
  495. extension. If you want a script that will log you on to a BBS turn the script 
  496. generator on and log on normally. Once finished logging on cancel the script 
  497. generator. You now have a script that will log you onto that BBS. If you start 
  498. the script generator before you dial the remote system a dial command will be 
  499. in the script. With this script you can just start the script and the script 
  500. will dial the number. If you start the script generator after connected to the 
  501. remote system, the script that will be created is designed to be entered into 
  502. the dialing directory. In some cases you may have to start the script generator 
  503. before you dial and then delete the dial command from the script. Some remote 
  504. systems send information as soon as you connect, this does not allow the user 
  505. enough time to start the script generator. 
  506.  
  507. You may also start the script generator by clicking on the generator button 
  508. located on the Button_Bar. 
  509.  
  510.  
  511. ΓòÉΓòÉΓòÉ <hidden> Filename ΓòÉΓòÉΓòÉ
  512.  
  513. Pmcomm allows you to choose either a path and filename or just the filename. If 
  514. only the filename is entered, Pmcomm will use the script directory that is 
  515. setup under the Paths option. Be sure that all REXX scripts have an extension 
  516. of .cmd and all Internal scripts have an extension of .scr. If these extensions 
  517. are not used Pmcomm will create the script but the script will not be able to 
  518. be executed. 
  519.  
  520.  
  521. ΓòÉΓòÉΓòÉ <hidden> Description ΓòÉΓòÉΓòÉ
  522.  
  523. This description will appear as the first line of the script. The description 
  524. will hopefully avoid any confusion about the purpose of the script at later 
  525. date. 
  526.  
  527.  
  528. ΓòÉΓòÉΓòÉ <hidden> REXX Script ΓòÉΓòÉΓòÉ
  529.  
  530. This will create a script using the REXX language. The filename must have an 
  531. extension of .cmd in order for it to be executed by the REXX interpreter. A 
  532. REXX script will execute a little slower than an Internal script, but it is 
  533. more flexible. 
  534.  
  535.  
  536. ΓòÉΓòÉΓòÉ <hidden> Internal Script ΓòÉΓòÉΓòÉ
  537.  
  538. This will create a script using Pmcomm's Internal script syntax. The filename 
  539. must have an .scr extension in order for it to be executed by Pmcomm. 
  540.  
  541.  
  542. ΓòÉΓòÉΓòÉ <hidden> Number of Characters in wait_fore ΓòÉΓòÉΓòÉ
  543.  
  544. The Number of Characters in wait_fore will decide the length of the wait_fore 
  545. statements. The default is 10 characters which for most purposes will be 
  546. adequate. 
  547.  
  548.  
  549. ΓòÉΓòÉΓòÉ 4.3.5. Cancel Script Generator ΓòÉΓòÉΓòÉ
  550.  
  551. This command turns off the script generator. You can also cancel the script 
  552. generator by clicking on the generator button located on the Button_Bar. 
  553.  
  554.  
  555. ΓòÉΓòÉΓòÉ 4.4. Log File ΓòÉΓòÉΓòÉ
  556.  
  557. Logging writes to a file named pmcomm.log in the main pmcomm directory. The 
  558. type of information written is the time, date and name of the number called. 
  559. The time, date, cps and name of files transferred will also be saved. If you 
  560. are setup to monitor DCD the time and date of when the call was terminated will 
  561. also be recorded. 
  562.  
  563.  
  564. ΓòÉΓòÉΓòÉ 4.4.1. Start Logging ΓòÉΓòÉΓòÉ
  565.  
  566. The file named pmcomm.log in the main pmcomm directory will be opened. Any 
  567. logging information will be appended to the end of the file. 
  568.  
  569. You may also start logging by clicking on the log button located on the 
  570. Button_Bar. 
  571.  
  572.  
  573. ΓòÉΓòÉΓòÉ 4.4.2. Cancel Logging ΓòÉΓòÉΓòÉ
  574.  
  575. The log file will be closed and no other information will be written to the log 
  576. file until it is reopened using the Start Log option. 
  577.  
  578. You may also cancel logging by clicking on the log button located on the 
  579. Button_Bar. 
  580.  
  581.  
  582. ΓòÉΓòÉΓòÉ 4.5. File Import ΓòÉΓòÉΓòÉ
  583.  
  584. This command copies a file from disk and sends it to a remotely connected 
  585. computer. This can be handy for sending previously saved files as messages, or 
  586. during a chat session. At times this is handier then using the clipboard. The 
  587. delay time specified in the file import delay parameter under Options, 
  588. Protocols, will pause the specified number of seconds after each line has been 
  589. sent. This can be useful if the receiver can not process the information as 
  590. fast as Pmcomm can send it. 
  591.  
  592.  
  593. ΓòÉΓòÉΓòÉ 4.6. Extended Scroll Buffer ΓòÉΓòÉΓòÉ
  594.  
  595. The extended scroll buffer allows a user to store information in memory, that 
  596. can later be displayed. As information comes in from the com port Pmcomm will 
  597. store it in both the regular scroll buffer (accessed by using the scroll bars), 
  598. and into the extended scroll buffer (accessed by using this command). The size 
  599. of the extended buffer can be set under Options, Screen. The extended scroll 
  600. buffer size will be rounded down to the nearest 4K (4096 bytes) in size. This 
  601. is to make the memory usage more efficient in OS/2. The user has the ability to 
  602. read and write to the extended scroll buffer. A user can copy information from 
  603. the extended scroll buffer into the OS/2 clipboard. Once in the OS/2 clipboard 
  604. the information can be pasted into word processors, spread sheets, etc.. A user 
  605. can also import a text file into the extended scroll buffer and then send the 
  606. file to the modem. 
  607.  
  608.  
  609. ΓòÉΓòÉΓòÉ 4.6.1. File ΓòÉΓòÉΓòÉ
  610.  
  611. There is a collection of functions under this menu option that allows a user to 
  612. transport the text in various ways. The functions are: 
  613.  
  614. Import text file 
  615.  
  616. Save as 
  617.  
  618. Print selected 
  619.  
  620. Print all 
  621.  
  622. Exit buffer 
  623.  
  624. Import Text File 
  625.  
  626. This function allows the user to import a text file into the extended scroll 
  627. buffer. 
  628. Save as 
  629.  
  630. This function allows the user to save the text in the extended scroll buffer to 
  631. a file. 
  632. Print selected 
  633.  
  634. If any text in the buffer has been highlighted with the mouse, selecting this 
  635. function will send the selected text to the printer. 
  636. Print all 
  637.  
  638. This function will send all of the text, in the buffer, to the printer. 
  639. Exit buffer 
  640.  
  641. This will exit the extended scroll buffer and return you to the main screen of 
  642. Pmcomm. 
  643.  
  644.  
  645. ΓòÉΓòÉΓòÉ 4.6.2. Edit ΓòÉΓòÉΓòÉ
  646.  
  647. There are a collection of functions under this menu option that allow a user to 
  648. manipulate text in the extended scroll buffer. The functions are: 
  649.  
  650. Search 
  651.  
  652. Find next 
  653.  
  654. Copy 
  655.  
  656. Paste 
  657.  
  658. Cut 
  659.  
  660. Clear selected 
  661.  
  662. Clear all 
  663.  
  664. Undo 
  665.  
  666. Search 
  667.  
  668. This function allows the user to search for any character sequence that may be 
  669. in the extended scroll buffer. The search always starts at the top of the 
  670. extended scroll buffer. 
  671. Find next 
  672.  
  673. This function allows the user to find the next occurrence of the selected 
  674. character sequence. 
  675. Copy 
  676.  
  677. This function copies any selected text into the clipboard. The text can then be 
  678. pasted into other applications as well as the main terminal screen of Pmcomm. 
  679. Paste 
  680.  
  681. This inserts any text that is in the clipboard into the extended scroll buffer. 
  682. Cut 
  683.  
  684. This command deletes the selected text from the extended scroll buffer but 
  685. saves a copy of the text in the clipboard so it can be pasted at another 
  686. location. 
  687. Clear selected 
  688.  
  689. This command deletes all selected text from the extended scroll buffer. 
  690. Clear all 
  691.  
  692. This command clears the entire extended scroll buffer of any text. 
  693. Undo 
  694.  
  695. This command will undo the last editing command. 
  696.  
  697.  
  698. ΓòÉΓòÉΓòÉ 4.6.3. Options ΓòÉΓòÉΓòÉ
  699.  
  700. There are two functions under this menu option that allows a user to manipulate 
  701. the screen appearance. The functions are: 
  702.  
  703. Font 
  704.  
  705. Color 
  706.  
  707. Font 
  708.  
  709. This command allows the user to change the font characteristics in the extended 
  710. scroll buffer. All of the fonts available for OS/2 2.0 are recognized by 
  711. Pmcomm. 
  712. Color 
  713.  
  714. This command allows the user to set both the foreground and background colors 
  715. in extended scroll buffer. 
  716.  
  717.  
  718. ΓòÉΓòÉΓòÉ 4.7. Print ΓòÉΓòÉΓòÉ
  719.  
  720. Print allows you to send information that was previously received out to the 
  721. printer. You can either send the information that is displayed on the visible 
  722. part of the window, or you can print the whole scroll back buffer. The print 
  723. function uses PRN as the device name for printing. 
  724.  
  725.  
  726. ΓòÉΓòÉΓòÉ 4.7.1. Print visible screen ΓòÉΓòÉΓòÉ
  727.  
  728. This command can also be sent by pressing the Print Screen key. When Pmcomm 
  729. receives this message it prints all of the lines on the visible part of the 
  730. screen. 
  731.  
  732.  
  733. ΓòÉΓòÉΓòÉ 4.7.2. Print buffer ΓòÉΓòÉΓòÉ
  734.  
  735. When this is selected all of the scroll back buffer is sent out to the printer. 
  736. There are about 240 lines available in the scroll back buffer, so this command 
  737. may take awhile to complete. This does not mean that you can't do anything 
  738. else. Pmcomm will print in the background while you go on. 
  739.  
  740.  
  741. ΓòÉΓòÉΓòÉ 4.7.3. Print selected ΓòÉΓòÉΓòÉ
  742.  
  743. This will print previously selected text (by using the mouse) to the PRN 
  744. device. 
  745.  
  746. You may also print any selected text by clicking on the printer button located 
  747. on the Button_Bar. 
  748.  
  749.  
  750. ΓòÉΓòÉΓòÉ 4.7.4. Print continuous ΓòÉΓòÉΓòÉ
  751.  
  752. This will print everything that comes in from the communication port to the PRN 
  753. device. 
  754. Start continuous printing 
  755.  
  756. This will start continuous printing. Everything will be printed to the PRN 
  757. device. It is not recommended that you use this command unless you have the 
  758. OS/2 print spooler active. 
  759.  
  760. You may also start continuous printing by clicking on the printer button 
  761. located on the Button_Bar. 
  762. Cancel continuous printing 
  763.  
  764. This will cancel printing, that was started with the Start continuous printing 
  765. command. 
  766.  
  767. You may also cancel continuous printing by clicking on the printer button 
  768. located on the Button_Bar. 
  769.  
  770.  
  771. ΓòÉΓòÉΓòÉ 4.8. Product Information ΓòÉΓòÉΓòÉ
  772.  
  773. The product information box has information about this program, such as BBS 
  774. support telephone number, company name, version number, serial number, and 
  775. copyright information. 
  776.  
  777.  
  778. ΓòÉΓòÉΓòÉ 4.9. Exit ΓòÉΓòÉΓòÉ
  779.  
  780. Ends current session with Pmcomm. Before exiting Pmcomm will restore the state 
  781. of the com port. Pmcomm closes the communication port when exiting which drops 
  782. DTR. The hang-up string is also sent to the modem, after the main Pmcomm window 
  783. disappears. Because of this if Pmcomm is immediately rerun the com port may not 
  784. be able to be reopened until the previous execution of Pmcomm completes. If you 
  785. get a device open error when doing this, just wait a few seconds and try again. 
  786.  
  787.  
  788. ΓòÉΓòÉΓòÉ 5. Edit ΓòÉΓòÉΓòÉ
  789.  
  790. In this section there are commands such as Copy, Append, Paste, and 
  791. Clear_Screen. 
  792.  
  793.  
  794. ΓòÉΓòÉΓòÉ 5.1. Copy ΓòÉΓòÉΓòÉ
  795.  
  796. Copy transfers selected information from the screen and places it into the 
  797. Clipboard. Any information already in the Clipboard, will be deleted. Other 
  798. applications, such as a word processor, can then use this information. 
  799.  
  800.  
  801. ΓòÉΓòÉΓòÉ 5.2. Append ΓòÉΓòÉΓòÉ
  802.  
  803. Append adds selected text to information that is already in the Clipboard. If 
  804. there is existing information of the same type (CF_TEXT), then the selected 
  805. text will be added to the end of the existing information. One use of this 
  806. would be to save file names into the Clipboard, so they maybe used to download. 
  807.  
  808.  
  809. ΓòÉΓòÉΓòÉ 5.3. Paste ΓòÉΓòÉΓòÉ
  810.  
  811. Paste, copies information from the clipboard and sends it out to the modem. 
  812. Care must be taken that the information sent can be handled by the remote 
  813. computer. A use for this command would be that you could enter a message in a 
  814. word processor, copy that message into the clipboard and then paste it into 
  815. Pmcomm. 
  816.  
  817.  
  818. ΓòÉΓòÉΓòÉ 5.4. Clear Screen ΓòÉΓòÉΓòÉ
  819.  
  820. Clears the whole screen including the scroll back buffer and resets the 
  821. attribute to the attribute defined in the setup area. 
  822.  
  823.  
  824. ΓòÉΓòÉΓòÉ 6. Connect ΓòÉΓòÉΓòÉ
  825.  
  826. This command allows you to connect to another computer, either through a modem, 
  827. using the Dial command or direct connect, using the Send_Break command. 
  828.  
  829.  
  830. ΓòÉΓòÉΓòÉ 6.1. Dial ΓòÉΓòÉΓòÉ
  831.  
  832. Dial uses a dialing_directory to store phone numbers and other information 
  833. about the remote computer. This provides a easy way to connect to remote 
  834. computers. 
  835.  
  836.  
  837. ΓòÉΓòÉΓòÉ 6.1.1. Dial Dialog Help ΓòÉΓòÉΓòÉ
  838.  
  839. The dial dialog box allows you to add, select, modify, or delete entries in the 
  840. current dialing directory. An entry can also be selected to be automatically 
  841. selected (or optionally dialed) when Pmcomm is first started. 
  842.  
  843. To add an entry, select the add button in the dialog box. You will then be 
  844. prompted to enter the name of the new entry. The directory will be sorted and 
  845. the new entry will be selected. The cursor will be positioned at the number 
  846. entry field so that the number for the new entry can be entered. After the 
  847. number has been entered, pressing the enter key will save the dialing directory 
  848. and dial the number(s). Pressing the tab key will allow you to edit the other 
  849. fields. 
  850.  
  851. To select a number, using a mouse, "click" on the number (or numbers) that you 
  852. wish to dial. To deselect an entry "click" on the number once again. If you are 
  853. not using a mouse the arrow keys will move the highlight bar through the 
  854. directory. To select your choices press the space bar, a second time will 
  855. deselect the entry, then press enter. Multiple entries may be selected. This 
  856. will form a dialing queue, in which Pmcomm will dial the selected entries until 
  857. a connection is made. 
  858.  
  859. To modify an entry, select the entry to be edited and then use the tab key to 
  860. move the cursor to the field you wish to change. Use the Change button to 
  861. change the name of an entry. Pressing the save button will save the 
  862. modifications to the disk. 
  863.  
  864. To change a name, select the entry to be edited and then use press the change 
  865. button. The change will automatically be saved to the disk. 
  866.  
  867. To delete an entry, select the entry to be deleted and select the delete button 
  868. in the dialog box. 
  869.  
  870. Information for each number such as last time called, number of times called, 
  871. file cps on downloading, file cps on uploading, files downloaded, files 
  872. uploaded and protocol, can be accessed by selecting an entry and then clicking 
  873. on the Info button. 
  874.  
  875. CAUTION:
  876. If multiple entries are selected, only the first selected entry will be 
  877. deleted. 
  878.  
  879. The dial dialog box can also be accessed by clicking on the phone button on the 
  880. Button_Bar. 
  881.  
  882.  
  883. ΓòÉΓòÉΓòÉ 6.1.2. Dial Prefix ΓòÉΓòÉΓòÉ
  884.  
  885. Pmcomm sends the selected dial prefix to the modem before sending the phone 
  886. number. The default string for the prefixes is ATDT which tells the modem to 
  887. dial using tone (ie. touch tone). If your phone system does not support touch 
  888. tone then you could use the ATDP command. Pmcomm allows you to setup multiple 
  889. prefixes, so that if you need to dial a special code for long distance calls 
  890. you can set up a separate prefix for those calls. 
  891.  
  892.  
  893. ΓòÉΓòÉΓòÉ 6.1.3. Dial Suffix ΓòÉΓòÉΓòÉ
  894.  
  895. Pmcomm sends the selected dial suffix to the modem after sending the phone 
  896. number. The default string for the suffixes is ^M which is a carriage return 
  897. and line feed. 
  898.  
  899.  
  900. ΓòÉΓòÉΓòÉ 6.1.4. Automatically Selected ΓòÉΓòÉΓòÉ
  901.  
  902. If a dialing entry is marked as being automatically selected then each time 
  903. Pmcomm is started this entry will be selected to be dialed. You can have as 
  904. many entries automatically selected as you want, and this will form a dialing 
  905. queue. A dialing queue allows you to try the first number and if it is busy it 
  906. will then dial the next number in the queue. If the Dial Auto Selected Entries 
  907. on program Startup is selected then any entries in the dialing directory that 
  908. are marked as auto selected, will automatically be dialed. This option will 
  909. allow you to automatically dial selected numbers when Pmcomm is first invoked. 
  910.  
  911.  
  912. ΓòÉΓòÉΓòÉ 6.1.5. Dial List Box ΓòÉΓòÉΓòÉ
  913.  
  914. The Dial List Box is a multiple selection list box. This means that you can 
  915. select more than one entry at a time. The information on the right side of the 
  916. Dialog Box is on the first item selected. The reason for using a multiple 
  917. selection list box, is that you can select more than one item and these items 
  918. will be dialed in order. For example, if the first number selected is busy then 
  919. Pmcomm will dial the next number selected. If all selected numbers are busy, 
  920. Pmcomm will start over again. If you have multiple items selected and select 
  921. the Delete button, only the first item will be deleted. If an item is selected 
  922. and you double click on that item then the selected items will be dialed. 
  923.  
  924.  
  925. ΓòÉΓòÉΓòÉ 6.1.6. Baud Rate ΓòÉΓòÉΓòÉ
  926.  
  927. In the Dialing Dialog Box you can enter any baud supported by the device driver 
  928. you are using. Currently the maximum baud rate supported by the device driver 
  929. included with OS/2 is 115,200. Commonly used baud rates are: 300, 1200, 2400, 
  930. 9600, 19200 and 38,400. To select a baud rate use the drop down list box and 
  931. choose the appropriate rate. If you select the Default option for the baud rate 
  932. Pmcomm will use the baud rate set up under Options, Port and the default baud 
  933. option. 
  934.  
  935.  
  936. ΓòÉΓòÉΓòÉ 6.1.7. Parity ΓòÉΓòÉΓòÉ
  937.  
  938. The supported parities are: None, Even, Odd, Marked, and Space. To enter a 
  939. parity, type in one of the above words. The two most widely used parities are 
  940. None and Even. If you are calling most BBS's you would want to enter None, but 
  941. most packet networks (such as CompuServe and Telenet) normally require Even 
  942. parity. 
  943.  
  944.  
  945. ΓòÉΓòÉΓòÉ 6.1.8. Data Bits ΓòÉΓòÉΓòÉ
  946.  
  947. Currently supported data bits are 5, 6, 7, and 8. The most popular values are 7 
  948. and 8. For most BBS's 8 data bits are necessary, however, for systems such as 
  949. CompuServe, 7 data bits are required. 
  950.  
  951.  
  952. ΓòÉΓòÉΓòÉ 6.1.9. Stop Bits ΓòÉΓòÉΓòÉ
  953.  
  954. Currently supported stop bits are 1, 1.5 and 2. Most systems will require 1 
  955. stop bit. 
  956.  
  957.  
  958. ΓòÉΓòÉΓòÉ 6.1.10. Dial Script ΓòÉΓòÉΓòÉ
  959.  
  960. The script name can be up to 12 characters long. The script must be in the 
  961. script path (see Paths for more information). Any REXX script, Internal script, 
  962. or any OS/2 executable can be executed. Once Pmcomm is connected to the remote 
  963. computer this script will be executed. 
  964.  
  965.  
  966. ΓòÉΓòÉΓòÉ 6.1.11. Dial Terminal ΓòÉΓòÉΓòÉ
  967.  
  968. The currently available terminal emulations are TTY, ANSI, VT100, and VT220. 
  969. Pmcomm will switch to the terminal emulation listed once connected to the 
  970. remote computer. 
  971.  
  972.  
  973. ΓòÉΓòÉΓòÉ 6.1.12. Dial Memo ΓòÉΓòÉΓòÉ
  974.  
  975. The Dial Memo field allows a user to store information that pertains to that 
  976. number. An example would be to store a password in this field, so that a user 
  977. would not forget what their password is. A user can setup a macro key to send 
  978. the information in the memo field (see Macros_Setup, for more information). 
  979.  
  980.  
  981. ΓòÉΓòÉΓòÉ 6.1.13. Dial KeyMap ΓòÉΓòÉΓòÉ
  982.  
  983. The Dial KeyMap field allows a user to load a different key map for each 
  984. dialing entry. If you wish to use a new key map, then just type the name of the 
  985. key map (it must have a .map extension), in this field and a key map with some 
  986. default definitions will be created. If you wish to use an existing key map 
  987. just select it from the drop down list. If you select default then the default 
  988. key map for the terminal emulation selected will be used. 
  989.  
  990.  
  991. ΓòÉΓòÉΓòÉ 6.2. Send Break ΓòÉΓòÉΓòÉ
  992.  
  993. Some computers when directly connected with a serial cable, need a break signal 
  994. in order to initialize a connection. See your system administrator to see if 
  995. this needs to be used with your system. 
  996.  
  997.  
  998. ΓòÉΓòÉΓòÉ 6.3. Initialize Modem ΓòÉΓòÉΓòÉ
  999.  
  1000. Pmcomm automatically sends the modem initialization string to the 
  1001. communications port when the user first starts Pmcomm. If for some reason you 
  1002. need to re-initialize the modem, you can use the Initialize Modem command to do 
  1003. so. 
  1004.  
  1005.  
  1006. ΓòÉΓòÉΓòÉ 6.4. Comm Error ΓòÉΓòÉΓòÉ
  1007.  
  1008. When this command is used, Pmcomm queries the com device driver to see if the 
  1009. com device driver has detected an error. There are four error messages that can 
  1010. be displayed. 
  1011.  
  1012. The first is "Receive queue overrun", which means that there was no room in the 
  1013. device driver receive queue for a character read in from the receive hardware. 
  1014. This is normally caused by the flow control not being setup correctly. Make 
  1015. sure that you have hardware flow control turned on, in both your modem and in 
  1016. Pmcomm. 
  1017.  
  1018. The second message is "Receive hardware overrun", and means that a character 
  1019. was not read from the hardware before the next character arrived causing a 
  1020. character to be lost. When this error is received, it normally means that you 
  1021. are trying to receive characters faster then your hardware is capable of. Try 
  1022. reducing the baud rate that you are connected at. This error is more likely to 
  1023. happen with a non-buffered UART, and on an ISA bus computer. 
  1024.  
  1025. The third message is "Hardware detected parity error", and the fourth message 
  1026. is "Hardware detected framing error". These last two messages are normally 
  1027. caused by phone line noise, and by themselves, are not normally a problem. 
  1028.  
  1029. After the errors are displayed, Pmcomm clears the errors and they will not be 
  1030. displayed again, unless the error occurs again. 
  1031.  
  1032.  
  1033. ΓòÉΓòÉΓòÉ 7. Transfer ΓòÉΓòÉΓòÉ
  1034.  
  1035. Transfer allows the use of different protocols to send and receive files from a 
  1036. remote computer. The protocol options are Xmodem_Checksum, Xmodem_CRC, 
  1037. 1K-Xmodem, Ymodem(batch), Ymodem-g(batch), Zmodem, Kermit, CISB, and ASCII. 
  1038. Zmodem is probably the best selection, when available on the remote computer. 
  1039. Ymodem-G should only be used with error correcting modems. 
  1040.  
  1041. IND$FILE is available for downloads using the VT100, and VT220 terminal 
  1042. emulations only. 
  1043.  
  1044. CAUTION:
  1045. IND$FILE currently does not have any error detection available in Pmcomm. 
  1046.  
  1047.  
  1048. ΓòÉΓòÉΓòÉ 7.1. Transfer Dialog Box Help ΓòÉΓòÉΓòÉ
  1049.  
  1050. This dialog box displays the current status of your file transfer. The box 
  1051. displays the latest status message from Pmcomm, the protocol being used, the 
  1052. file name of the file being transferred, the file size, bytes already 
  1053. transferred, the time remaining, and the current cps (characters per second). 
  1054. There is also a status bar that visually shows the approximate percentage of 
  1055. the file yet to be transferred. 
  1056.  
  1057. The file transfer dialog box has a "Show" button that when pushed will display 
  1058. the main window of Pmcomm. This option allows you to access the main window 
  1059. while doing a transfer. You may do anything you wish as long as it doesn't 
  1060. interfere with the com port (ie. changing the com port settings). One way this 
  1061. would be useful is in viewing the scroll buffer while doing a transfer. Once 
  1062. the show button has been pushed, the button will change to "Hide". If the 
  1063. button is pushed at this time the main window of Pmcomm will be hidden from 
  1064. view. 
  1065.  
  1066.  
  1067. ΓòÉΓòÉΓòÉ 7.2. Download ΓòÉΓòÉΓòÉ
  1068.  
  1069. The download command brings up a dialog box for you to select the proper 
  1070. protocol. If the protocol selected is not a batch protocol ( ASCII, 
  1071. Xmodem_Checksum, Xmodem_CRC or 1K-Xmodem ) you will be prompted for a filename. 
  1072. If you have Auto-Zmodem or Auto_CISB selected in the protocol options area, 
  1073. Pmcomm will automatically start transferring as soon as the remote computer 
  1074. starts to send. Zmodem is not available in the demonstration version. 
  1075.  
  1076.  
  1077. ΓòÉΓòÉΓòÉ 7.3. Upload ΓòÉΓòÉΓòÉ
  1078.  
  1079. When sending a file to a remote computer you must select the same protocol that 
  1080. the remote computer will use to receive the file. After selecting the proper 
  1081. protocol, a file open dialog box will have you select the file you wish to 
  1082. send. You can either double click on the file name or select the file and click 
  1083. on the OK button. If you have Auto_CISB selected in the protocol options area, 
  1084. Pmcomm will automatically start the transfer as soon as the remote computer 
  1085. sends the transfer request. With a CISB transfer the filename is specified on 
  1086. the host and the file open dialog box is not displayed. 
  1087.  
  1088. You may also use the drag and drop feature of Pmcomm. When files are dragged 
  1089. from a drive object and dropped onto Pmcomm, the transfer protocol that is 
  1090. listed for that phone number will be invoked and the file(s) will be sent to 
  1091. the remote computer. If you have Monitor_DCD selected then drag options will 
  1092. not be allowed until connected with another computer. 
  1093.  
  1094. To drag files from a drive object, select a file (or files) and then click on 
  1095. the selected file(s) with the LEFT mouse button and then press and hold the 
  1096. button RIGHT mouse button down. Once you have begun to drag the files with the 
  1097. mouse the mouse pointer will change shape. If the mouse pointer is over a 
  1098. program that does not accept drag and drop the pointer will again change shape. 
  1099. When the mouse pointer is over any part of Pmcomm you can release the right 
  1100. mouse button. This will drop the files onto Pmcomm and Pmcomm will send them. 
  1101. This will even work if Pmcomm is an icon. 
  1102.  
  1103. To change the protocol for the current phone number, select upload from the 
  1104. menu and then select the protocol you want (make sure that the save to dialing 
  1105. directory is selected). After pressing the OK button the file open dialog box 
  1106. will be displayed. Just press cancel and you can now use the drag and drop with 
  1107. the new protocol. 
  1108.  
  1109. If a file is dropped onto Pmcomm before it has been invoked, while it is an 
  1110. icon in a folder or on the Desktop, this file will be used as a setup file, and 
  1111. Pmcomm will be invoked. 
  1112.  
  1113.  
  1114. ΓòÉΓòÉΓòÉ 7.3.1. Xmodem Checksum ΓòÉΓòÉΓòÉ
  1115.  
  1116. Xmodem Checksum is one of the oldest protocols around and some people still use 
  1117. it exclusively. It is a moderately fast protocol that has fairly good error 
  1118. detection. 
  1119.  
  1120.  
  1121. ΓòÉΓòÉΓòÉ 7.3.2. Xmodem CRC ΓòÉΓòÉΓòÉ
  1122.  
  1123. Xmodem CRC and Xmodem_Checksum are similar except CRC has better error 
  1124. detection than Checksum. Almost anywhere you call will offer at least one of 
  1125. these protocols. 
  1126.  
  1127.  
  1128. ΓòÉΓòÉΓòÉ 7.3.3. 1k-Xmodem ΓòÉΓòÉΓòÉ
  1129.  
  1130. 1k-Xmodem uses the same error detection as Xmodem_CRC, but uses 1024 byte 
  1131. blocks instead of 128 byte blocks. This allows for greater throughput (higher 
  1132. characters per second) with roughly the same error detection. 
  1133.  
  1134.  
  1135. ΓòÉΓòÉΓòÉ 7.3.4. Ymodem ΓòÉΓòÉΓòÉ
  1136.  
  1137. Ymodem uses the same error detection and block size as 1k-Xmodem but is a batch 
  1138. protocol. This means that in the first block the file size and name are sent. 
  1139. This keeps the receiver from having to type in the filename. It also allows you 
  1140. to send more than one file without having to start the transfer again. This 
  1141. protocol is second to Zmodem, in our opinion, when using non-error correcting 
  1142. modems. 
  1143.  
  1144.  
  1145. ΓòÉΓòÉΓòÉ 7.3.5. Ymodem-g ΓòÉΓòÉΓòÉ
  1146.  
  1147. Ymodem-g is identical to Ymodem except it has no error correction. If an error 
  1148. is detected the transfer aborts. Because of this Ymodem-g should only be used 
  1149. with error correcting modems. Pmcomm will allow you to use this protocol 
  1150. anytime, but again care should be taken on what hardware it is used with. With 
  1151. the proper hardware Ymodem-g has the fastest cps (characters per second). 
  1152.  
  1153.  
  1154. ΓòÉΓòÉΓòÉ 7.3.6. Zmodem ΓòÉΓòÉΓòÉ
  1155.  
  1156. Zmodem is almost as fast as Ymodem-g, however Zmodem does support error 
  1157. correction and file recovery. It only takes one aborted Ymodem-g transfer to 
  1158. lose all it's advantages. Zmodem has many advantages as far as the user is 
  1159. concerned. It is probably the easiest protocol to use. If using Pmcomm with the 
  1160. Auto-Zmodem download feature, the whole download is done automatically from the 
  1161. Pmcomm end. You have to select the file from the sender (BBS etc..) and once 
  1162. the sender starts sending, the transfer will begin on Pmcomm. It may take a 
  1163. moment before the sender sends the first sequence, so wait a moment. Some of 
  1164. the advanced features of Zmodem are listed below. Zmodem supports: 
  1165.  
  1166.  1. CRC-32 and CRC-16. The additional error detection of 32 bit CRC is 
  1167.     supported. 
  1168.  
  1169.  2. File recovery. If a Zmodem download is aborted for any reason the transfer 
  1170.     will resume at the point where it was  aborted. You don't have to start the 
  1171.     whole transfer over. 
  1172.  
  1173.  3. Auto-Download. When a Zmodem sending program starts up it first sends a rz 
  1174.     and then a carriage return. Pmcomm will monitor for the startup sequence 
  1175.     and automatically start the Zmodem download. Great care has been taken to 
  1176.     make sure that it really is a Zmodem transfer and not someone typing it in 
  1177.     at the keyboard (at either end). This feature makes downloading with Zmodem 
  1178.     much faster and much easier. 
  1179.  
  1180.  4. Variable length headers. This reduces the amount of overhead that accrues 
  1181.     with sending Zmodem headers. This is only used if supported by both the 
  1182.     sender and receiver. 
  1183.  
  1184.  5. Variable length receive buffers. Some Zmodem receive programs have problems 
  1185.     with writing to the disk and receiving from the communication port at the 
  1186.     same time. If necessary Zmodem will wait for an ACK from the receiver after 
  1187.     the specified buffer size has been sent. This will only be done if it is 
  1188.     requested by the receiver. 
  1189.  
  1190.  6. Retains original file size. Some people say that because Zmodem headers are 
  1191.     larger that there is two much overhead. This really isn't the case. For 
  1192.     example if comparing Zmodem to Ymodem-g (full flow Ymodem), Ymodem-g has 
  1193.     less overhead with each packet. However Ymodem-g rounds the file size up to 
  1194.     an even 128 byte size. In some cases it is even rounded up 1024 bytes. This 
  1195.     is done because Ymodem (g or otherwise) only supports two block sizes, 128 
  1196.     and 1024 (the block size is actually 133 and 1029 to allow for the block 
  1197.     header, STX or SOH, and the CRC value), so it has to send full blocks. 
  1198.     However, Zmodem uses variable block sizes. The block sizes adjust from 32 
  1199.     bytes to 1024 bytes. If telephone line quality is poor smaller blocks are 
  1200.     sent so that if an error does occur less data will have to be resent. As 
  1201.     the line quality improves the size of the blocks will be increased. The 
  1202.     starting block size is variable depending on the connected baud rate. 
  1203.  
  1204.  7. Error recovery. Because Zmodem can resend from any place in the file, 
  1205.     aborted transfers are rare. 
  1206.  
  1207. By reading this you can tell our favorite protocol is Zmodem. Once you have 
  1208. used Zmodem it's hard to get used to using other protocols. 
  1209.  
  1210.  
  1211. ΓòÉΓòÉΓòÉ 7.3.7. ASCII ΓòÉΓòÉΓòÉ
  1212.  
  1213. The ASCII protocol can be used to transfer text files. There is no error 
  1214. detection or correction available with this protocol. It is recommended that 
  1215. one of the other protocols be used, even with text files. 
  1216.  
  1217.  
  1218. ΓòÉΓòÉΓòÉ 7.3.8. CISB ΓòÉΓòÉΓòÉ
  1219.  
  1220. The CIS B protocol can be used to transfer files to and from CompuServe. 
  1221. CompuServe B, B+ and Quick B are supported. Quick B is the fastest variant of 
  1222. the B protocol and is automatically selected when it is supported on the host 
  1223. computer. The CIS B protocol is an automatic protocol where the host initiates 
  1224. the transfer and Pmcomm will automatically go into the send or receive mode. If 
  1225. you are sending a file, the file must exist in the download directory of 
  1226. Pmcomm. If Pmcomm is unable to find the file then the transfer will abort. 
  1227. Pmcomm can be configured to ignore the CIS B protocol by deselecting the 
  1228. Automatic CIS B option in the Protocol Option Dialog. Pmcomm may run slightly 
  1229. faster in terminal mode without this selection. Under most systems the 
  1230. difference will not be detectable. 
  1231.  
  1232. Another option for CIS B is for file recovery. What this option will do is if 
  1233. you started a download and aborted the transfer you can then restart the 
  1234. transfer and CIS B will resume from the place where it was aborted. This can be 
  1235. very handy in poor phone line conditions. The packet size for CIS B is adjusted 
  1236. by the connecting baud rate. For example, if you are connected to CompuServe at 
  1237. 2400 baud the packet size will be 1024 bytes. If you connect at 1200 baud the 
  1238. packet size will be 512 bytes. This allows for speedy error recovery in case a 
  1239. error occurs because of phone line noise. Downloads will automatically be 
  1240. placed in the Pmcomm download directory and the download directory will 
  1241. automatically searched for any uploaded files. If you specify a path with the 
  1242. filename when CompuServe asks for a filename for your computer, then this path 
  1243. will be used. CIS B should be the protocol used when transferring files to and 
  1244. from CompuServe. 
  1245.  
  1246. CAUTION:
  1247. If you are having throughput problems with the CISB transfer protocol, due to 
  1248. multiple errors, you should switch to a different com driver. The com driver 
  1249. that is currently being shipped with OS/2 has problems handling the CISB 
  1250. transfer protocol at higher baud rates. There is a com driver on our support 
  1251. BBS called SIO*.zip (the asterick is the lastest version, search on that file 
  1252. name), that corrects the IBM com driver problem. You can also select Ymodem 
  1253. from CompuServe, and then Ymodem-g from Pmcomm, and you will receive the file 
  1254. at a high baud rate. This should only be attempted if you have an error 
  1255. correction connection. 
  1256.  
  1257.  
  1258. ΓòÉΓòÉΓòÉ 7.3.9. Kermit ΓòÉΓòÉΓòÉ
  1259.  
  1260. Kermit is the slowest protocol offered here and should only be used when no 
  1261. other protocol is available. Kermit does have advantages and it is offered on 
  1262. many minicomputers as well as mainframes. Kermit will also transfer binary 
  1263. files when connected at 7,E,1. The maximum packet size that is allowed is 94 
  1264. bytes which is one of the reasons that makes Kermit slow. There is a variation 
  1265. of Kermit that allows larger packet size, but it is not implemented in Pmcomm. 
  1266. Kermit allows batch transfers, both in sending and receiving, and will attempt 
  1267. to preserve the file names. If Pmcomm gets an error when trying to create the 
  1268. file name received from the sender it will convert it to a "8.3" type of file 
  1269. name. Kermit allows variable packet sizes so the original file size is 
  1270. maintained. 
  1271.  
  1272. Pmcomm allows you to change the "End of Line" character (also called end of 
  1273. packet), the "Quoting character" (sent before control codes), the "pad 
  1274. character", and the number of pad characters you want. You can also tell Pmcomm 
  1275. to force an 8 bit transfer even if it is on at 7,E,1. This comes in handy if 
  1276. you are downloading files from CompuServe. If this option is not selected and 
  1277. you are on at 7 data bits, Pmcomm will use what is called the 7 bit quoting. 
  1278. The 7 bit quote character that Pmcomm uses is a &. 
  1279.  
  1280.  
  1281. ΓòÉΓòÉΓòÉ 7.3.10. IND$FILE ΓòÉΓòÉΓòÉ
  1282.  
  1283. IND$FILE currently is only supported under VT100 and VT220 terminal emulations 
  1284. through a 3708 protocol converter. Because of problems with character 
  1285. conversion through the protocol converter error detection is not currently 
  1286. available. Because of this, files received using IND$FILE maybe CORRUPTED! Use 
  1287. this protocol at your own risk! IND$FILE is not a very efficient protocol 
  1288. because every byte that is transferred must be checked to see if it will pass 
  1289. through a 7 bit data stream and escaped if it will not. This can greatly reduce 
  1290. the amount of data that can be sent in each packet. 
  1291.  
  1292.  
  1293. ΓòÉΓòÉΓòÉ <hidden> PC File Name ΓòÉΓòÉΓòÉ
  1294.  
  1295. This is the file name which will be used on the receiver. If a full path and 
  1296. file name are used the file will reside at that address. If just a file name is 
  1297. specified the file will be stored in the upload directory set in the Paths menu 
  1298. option. This file name must be specified or the transfer will not work. 
  1299.  
  1300.  
  1301. ΓòÉΓòÉΓòÉ <hidden> Host File Name ΓòÉΓòÉΓòÉ
  1302.  
  1303. This is the file name as it resides on the Host. If this filename is not 
  1304. specified, Pmcomm will default to the PC File Name as the Host File Name. 
  1305.  
  1306.  
  1307. ΓòÉΓòÉΓòÉ <hidden> Binary ΓòÉΓòÉΓòÉ
  1308.  
  1309. This option will tell the Host to send the file as a Binary file. 
  1310.  
  1311.  
  1312. ΓòÉΓòÉΓòÉ <hidden> Ascii ΓòÉΓòÉΓòÉ
  1313.  
  1314. This option will tell the Host to send the file as an Ascii file. 
  1315.  
  1316.  
  1317. ΓòÉΓòÉΓòÉ <hidden> CRLF ΓòÉΓòÉΓòÉ
  1318.  
  1319. This option will tell the Host to send a "carriage return line feed" after each 
  1320. record. This option will be needed on most Ascii file transfers while rarely 
  1321. needed with a Binary file transfer. 
  1322.  
  1323.  
  1324. ΓòÉΓòÉΓòÉ 7.3.11. Save to Dial Directory ΓòÉΓòÉΓòÉ
  1325.  
  1326. When this option is selected the file transfer protocol that is selected will 
  1327. be saved into the dialing directory for this number. The next time a file 
  1328. transfer is used when connected to this number this same protocol will be 
  1329. selected and all the user will have to do is press the OK button. If you do not 
  1330. want this protocol save then deselect this option. 
  1331.  
  1332.  
  1333. ΓòÉΓòÉΓòÉ 8. Hangup ΓòÉΓòÉΓòÉ
  1334.  
  1335. Hang-up sends the hang-up command string (see the Option menu) and optionally 
  1336. drops the DTR line to the modem. Dropping DTR is the most effective if your 
  1337. modem is setup to hang-up when DTR is dropped. Using a hang-up string is also 
  1338. slower because Pmcomm has to get the modem into the command state before 
  1339. sending the hang-up string. If you have DTR on and delete the hang-up string 
  1340. the hang-up will be much faster. The default string is : +++~~~~ATH^M. The +++ 
  1341. is the default modem attention string, which puts the modem into the command 
  1342. state. The ~~~~ will make Pmcomm pause 2 seconds (.5 seconds per ~) and then 
  1343. the ATH will force the modem to go on-hook (hangup). The ^M sends a carriage 
  1344. return line feed combination. 
  1345.  
  1346.  
  1347. ΓòÉΓòÉΓòÉ 9. Options ΓòÉΓòÉΓòÉ
  1348.  
  1349. Option allows you to tailor Pmcomm to your own tastes. The areas in option are: 
  1350. Port, Dial_Setup, Modem, Protocols, Paths, Macros_Setup, KeyMap, Screen, 
  1351. Terminal, and Chat. The setup is not automatically saved. This allows you to 
  1352. change things temporally without changing your default setup file. If you do 
  1353. want to make the  changes permanent be sure to save the setup file. To save the 
  1354. current setup file, use the Save_setup command under the File menu option. 
  1355.  
  1356.  
  1357. ΓòÉΓòÉΓòÉ 9.1. Port ΓòÉΓòÉΓòÉ
  1358.  
  1359. The device name should be a valid communication device name. Some third party 
  1360. device drivers allow you to use names other then COM1, COM2, etc., so Pmcomm 
  1361. does not limit you to these names. Hardware flow control and DTR should be on 
  1362. for most modems. 
  1363.  
  1364.  
  1365. ΓòÉΓòÉΓòÉ 9.1.1. Device Open Error Retries ΓòÉΓòÉΓòÉ
  1366.  
  1367. This is the number of attempts Pmcomm will try to open a device. After the 
  1368. specified number of attempts Pmcomm will exit. If 0 is entered, Pmcomm will not 
  1369. retry the device. This option is generally used to access a shared 
  1370. communication port (i.e. modem pool). 
  1371.  
  1372.  
  1373. ΓòÉΓòÉΓòÉ 9.1.2. Seconds Between Retries ΓòÉΓòÉΓòÉ
  1374.  
  1375. This is the number of seconds Pmcomm will wait before retrying to open a 
  1376. device. 
  1377.  
  1378.  
  1379. ΓòÉΓòÉΓòÉ 9.1.3. Device Name ΓòÉΓòÉΓòÉ
  1380.  
  1381. The device name should be a valid communication device name. Some third party 
  1382. device drivers allow you to use, and in some cases require that you use, names 
  1383. other then COM1, COM2, etc., so Pmcomm does not limit you to these names. If 
  1384. you are using Pmcomm across a LAN then normally there will be an Alias name for 
  1385. the communication port you are using on the server. See your LAN administrator 
  1386. for the Alias name(s) that you should use to access the modem(s). If you get a 
  1387. device open error when trying to open a com port, you can change the com port 
  1388. by just typing in a new com port name. For example if you had COM1 as the 
  1389. device name, and that device is used by your mouse, you will get a dialog box 
  1390. that will allow you to change the name by just typing in the new name. To see 
  1391. if a device is valid, you can go to an OS/2 prompt and type in mode COM1 (where 
  1392. COM1 is the device you want to check). If you get an error from OS/2 about the 
  1393. device not being available, the one of the follow problems exists: 1. Device 
  1394. already in use. 2. The com.sys driver is not installed in your config.sys (not 
  1395. needed if use a com port on a server). 3. OS/2 could not install that com port 
  1396. when you booted your computer. 
  1397.  
  1398. If this last problem exists then you should contact IBM OS/2 defect support for 
  1399. help getting your com port to install. 
  1400.  
  1401.  
  1402. ΓòÉΓòÉΓòÉ 9.1.4. Hardware Flow Control ΓòÉΓòÉΓòÉ
  1403.  
  1404. Hardware Flow Control is generally the most reliable method of flow control. 
  1405. There are two basic times when flow control is needed. First, if Pmcomm is 
  1406. sending information to the modem faster than the modem is able to send the 
  1407. information flow control is needed. If flow control is not enabled then a 
  1408. transmission error will occur. Second if the modem is sending information to 
  1409. Pmcomm faster then Pmcomm can receive it, then Pmcomm will try to tell the 
  1410. modem to stop sending the information. This can occur when an excessive amount 
  1411. of processing is being performed on the computer. Hardware Flow Control uses 
  1412. two modem signals to control the flow of information. For send flow control the 
  1413. CTS modem line is used. For receive flow control the RTS modem line is used. If 
  1414. your modem supports these flow control signals, then setup your modem and 
  1415. Pmcomm for Hardware Flow Control. 
  1416.  
  1417.  
  1418. ΓòÉΓòÉΓòÉ 9.1.5. XON/XOFF Flow Control ΓòÉΓòÉΓòÉ
  1419.  
  1420. Xon/Xoff Flow Control should only be used when Hardware_Flow_Control is not 
  1421. available and when flow control is necessary. The only two file transfers that 
  1422. will work correctly with Xon/Xoff are ASCII and Zmodem. The only other protocol 
  1423. that should need flow control is Ymodem-g. 
  1424.  
  1425.  
  1426. ΓòÉΓòÉΓòÉ 9.1.6. Use DTR ΓòÉΓòÉΓòÉ
  1427.  
  1428. DTR stands for Data Terminal Ready, which by lowering DTR you can signal the 
  1429. device you are communicating with (usually a modem) that you wish to go off 
  1430. line. If you are connected to a modem you should set the modem up to go on-hook 
  1431. when the modem detects a drop in DTR. The command for a Hayes 2400 baud modem 
  1432. is AT&D2. If this option is selected in Pmcomm, then DTR will be dropped when 
  1433. the hangup command is selected, or after each redial attempt. 
  1434.  
  1435.  
  1436. ΓòÉΓòÉΓòÉ 9.1.7. Monitor DCD ΓòÉΓòÉΓòÉ
  1437.  
  1438. DCD stands for Data Carrier Detect and is pin 8 on an RS-232C cable. When a 
  1439. carrier is detected by the modem, Pmcomm assumes that you are connected to a 
  1440. remote computer. If DCD is not supported by your modem or other hardware, then 
  1441. this option should be turned off. With this option turned on, if no DCD is 
  1442. present then Pmcomm will not Hangup, or go into a file transfer. The drag and 
  1443. drop from the file manager will also be disabled. The command for a Hayes 2400 
  1444. baud modem is AT&C1. This will have the modem track the state of DCD. 
  1445.  
  1446.  
  1447. ΓòÉΓòÉΓòÉ 9.1.8. Default Baud ΓòÉΓòÉΓòÉ
  1448.  
  1449. The default baud is the baud rate that the communication port is set to when 
  1450. Pmcomm is first executed. The baud rate is changed to the value in the dialing 
  1451. directory when a number is dialed. Normally the default baud should be set to 
  1452. the highest baud rate supported by your modem. If you have Pmcomm connected 
  1453. directly to another computer with a NULL modem cable, then you want to set this 
  1454. baud to the same baud rate that the other computer is using. 
  1455.  
  1456.  
  1457. ΓòÉΓòÉΓòÉ 9.1.9. Default Data Bits ΓòÉΓòÉΓòÉ
  1458.  
  1459. This selection allows you to select the number of data bits that will be used 
  1460. when the communications port is initially opened. This option will be 
  1461. overridden with the parameters listed in the dialing directory once you have 
  1462. connected with a remote computer. 
  1463.  
  1464.  
  1465. ΓòÉΓòÉΓòÉ 9.1.10. Default Parity ΓòÉΓòÉΓòÉ
  1466.  
  1467. This selection allows you to select the parity that will be used when the 
  1468. communications port is initially opened. This option will be overridden with 
  1469. the parameters listed in the dialing directory once you have connected with a 
  1470. remote computer. 
  1471.  
  1472.  
  1473. ΓòÉΓòÉΓòÉ 9.1.11. Default Stop Bits ΓòÉΓòÉΓòÉ
  1474.  
  1475. This selection allows you to select the number of stop bits that will be used 
  1476. when the communications port is initially opened. This option will be 
  1477. overridden with the parameters listed in the dialing directory once you have 
  1478. connected with a remote computer. 
  1479.  
  1480.  
  1481. ΓòÉΓòÉΓòÉ 9.1.12. Exit on Hangup ΓòÉΓòÉΓòÉ
  1482.  
  1483. This selection will cause Pmcomm to exit, once you have called a remote 
  1484. computer and then DCD has dropped. You must have monitor dcd selected in order 
  1485. for this command to work. This command is useful if you wish to just call one 
  1486. number and then have Pmcomm exit. 
  1487.  
  1488.  
  1489. ΓòÉΓòÉΓòÉ 9.2. Dial Setup ΓòÉΓòÉΓòÉ
  1490.  
  1491. This allows you to select a dialing_directory from a list box and also lets you 
  1492. setup the prefix and suffix of the number to be dialed. There is a list box 
  1493. that will allow you to select how the dialing directory will be sorted. You can 
  1494. sort the dialing directory by name, number, baud rate, last on, number of times 
  1495. called, download cps, upload cps, dial prefix, and dial suffix. You can also 
  1496. select either ascending or descending order. 
  1497.  
  1498.  
  1499. ΓòÉΓòÉΓòÉ 9.2.1. Dial Auto Selected Entries ΓòÉΓòÉΓòÉ
  1500.  
  1501. If the Dial Auto Selected Entries on program Startup is selected then any 
  1502. entries in the dialing directory that are marked as automatically_selected , 
  1503. will automatically be dialed. This option will allow you to automatically dial 
  1504. selected numbers when Pmcomm is first invoked. This can be very useful if you 
  1505. dial the same numbers each time you run Pmcomm. 
  1506.  
  1507.  
  1508. ΓòÉΓòÉΓòÉ 9.2.2. Sort Dialing Directory ΓòÉΓòÉΓòÉ
  1509.  
  1510. The dialing_directory can be sorted by either the name, phone number, baud 
  1511. rate, last time called, number of times called, download characters per second, 
  1512. upload characters per second, dial prefix, or dial suffix. The directory can be 
  1513. sorted in either ascending or descending order. For example you can sort the 
  1514. dialing directory by last time called in descending order, and all the most 
  1515. recently called numbers will be displayed at the top of the dialing directory. 
  1516.  
  1517.  
  1518. ΓòÉΓòÉΓòÉ 9.2.3. Dialing Directory List ΓòÉΓòÉΓòÉ
  1519.  
  1520. A list of the available dialing_directories are displayed in a list box, so 
  1521. that a default directory can be selected. The selected directory will 
  1522. automatically be loaded when Pmcomm is started. You can add additional 
  1523. directories by pressing the add button. 
  1524.  
  1525.  
  1526. ΓòÉΓòÉΓòÉ 9.3. Modem ΓòÉΓòÉΓòÉ
  1527.  
  1528. The initialization string should have the commands in it to enable word result 
  1529. codes, hang-up when DTR is dropped and enable hardware flow control. Not all of 
  1530. these are supported by all modems but use them when possible. Pause before 
  1531. redial is the time Pmcomm waits before trying to redial a number. "Seconds to 
  1532. wait for carrier" is how long Pmcomm will wait for a connection before 
  1533. redialing. 
  1534.  
  1535. By clicking on the configure button you may add new modems to Pmcomm. 
  1536.  
  1537.  
  1538. ΓòÉΓòÉΓòÉ 9.3.1. Modem Name ΓòÉΓòÉΓòÉ
  1539.  
  1540. These are the names of the modems that you have stored in Pmcomm. The 
  1541. initialization string for that particular modem shows in the Modem 
  1542. Initialization String edit field. To add a new modem or change an existing 
  1543. modem, click on the configure button. 
  1544.  
  1545.  
  1546. ΓòÉΓòÉΓòÉ 9.3.2. Modem Initialization String ΓòÉΓòÉΓòÉ
  1547.  
  1548. Initialization string should have the commands in it to enable word result 
  1549. codes, hang-up when DTR is dropped and enable hardware flow control. Not all of 
  1550. these are supported by all modems, but use them when possible. Pmcomm's default 
  1551. modem string is for a Hayes 2400 baud modem. This is the default string: 
  1552.  
  1553. AT&F&D2&C1M0Q0S2=255S10=30X4 
  1554.  
  1555.  
  1556. ΓòÉΓòÉΓòÉ 9.3.3. Modem Pause Before Redial ΓòÉΓòÉΓòÉ
  1557.  
  1558. Pmcomm will pause for the specified number of seconds before attempting to 
  1559. redial a phone number. Some phone systems take a few seconds before you can 
  1560. redial a phone number. The default value is 3 seconds and should work for most 
  1561. phone systems. 
  1562.  
  1563.  
  1564. ΓòÉΓòÉΓòÉ 9.3.4. Modem Dial Timeout ΓòÉΓòÉΓòÉ
  1565.  
  1566. Pmcomm will wait for a Connect or Carrier message from the modem for up to 64 
  1567. seconds. The S7 register of the modem must also be set to a value at least as 
  1568. great as the dial timeout value. This can be done by issuing the following 
  1569. command to the modem: ATS7=30. This would set the modem to timeout after 30 
  1570. seconds. Setting the dial timeout to a value greater then 30 would not be 
  1571. effective because the modem would still timeout after 30 seconds. The default 
  1572. timeout value for Pmcomm is 60 seconds. 
  1573.  
  1574.  
  1575. ΓòÉΓòÉΓòÉ 9.4. Protocols ΓòÉΓòÉΓòÉ
  1576.  
  1577. The options under protocols are: 
  1578.  
  1579. Auto Zmodem Download. 
  1580.  
  1581. Auto Zmodem String. 
  1582.  
  1583. Overwrite Existing Files 
  1584.  
  1585. Rename Duplicate Files 
  1586.  
  1587. Zmodem Resume. 
  1588.  
  1589. Compare File Dates. 
  1590.  
  1591. Ignore File Dates. 
  1592.  
  1593. Zmodem CRC-32. 
  1594.  
  1595. Zmodem CRC-16. 
  1596.  
  1597. Zmodem Variable Headers. 
  1598.  
  1599. Auto CISB Transfer. 
  1600.  
  1601. CISB file recovery. 
  1602.  
  1603. Import File line delay. 
  1604.  
  1605. Force 8 bit transfer. 
  1606.  
  1607. End of line character. 
  1608.  
  1609. Control quote character. 
  1610.  
  1611. Number of pad characters. 
  1612.  
  1613. Pad character. 
  1614.  
  1615. IND$FILE. 
  1616.  
  1617. Auto Zmodem makes Pmcomm check for a Zmodem start sequence. The string that 
  1618. Pmcomm checks for can be changed. This is the Auto Zmodem String. The standard 
  1619. string is an rz followed by a carriage return (to enter a carriage return hold 
  1620. down the ALT key and press 1,3 on the numeric key pad). When this string is 
  1621. received, Pmcomm will automatically start receiving the file. 
  1622.  
  1623. The options to overwrite or rename existing files only are in effect if a 
  1624. Zmodem resume fails. If you have rename selected, and a file exists with that 
  1625. name then Pmcomm will rename the new file with a number for an extension. For 
  1626. example if you have a file called allfiles.txt in your download directory, and 
  1627. you download a file with the same name (without Zmodem resume) the new file 
  1628. will be named allfile1.txt. If allfile1.txt exists then the new file will be 
  1629. called allfile2.txt. 
  1630.  
  1631. Zmodem resume allows Zmodem to resume a file transfer that was previously 
  1632. aborted. The compare and ignore file dates options, determines if Pmcomm will 
  1633. check the date of the file on the disk, to see if it should resume the 
  1634. transfer. These options are only in effect if the Zmodem resume is selected. 
  1635. Some Zmodem systems do not send the date in the Zmodem header. If a resume is 
  1636. required for these systems, then ignore file dates should be selected. 
  1637.  
  1638. CRC-32 has improved error correction but is slightly slower. If CRC-32 is not 
  1639. available Pmcomm will switch to CRC-16. 
  1640.  
  1641. If the Zmodem Variable headers has been selected then Pmcomm will allow for 
  1642. variable length headers. Use this option only if it is supported by the host. 
  1643.  
  1644. Zmodem is only available on commercial versions. 
  1645.  
  1646. Auto CISB is similar to Auto Zmodem except that both uploads and downloads can 
  1647. be started this way. This feature is for the CISB file transfer protocol. CISB 
  1648. file recovery allows CISB to resume a file transfer that was previously 
  1649. aborted. 
  1650.  
  1651. The IND$FILE protocol may also be selected for downloads. 
  1652.  
  1653. CAUTION:
  1654. The IND$FILE file transfer protocol in Pmcomm, currently, does not support any 
  1655. error detection. 
  1656.  
  1657. The rest are Kermit options and should be made to match your host. 
  1658.  
  1659.  
  1660. ΓòÉΓòÉΓòÉ 9.5. Paths ΓòÉΓòÉΓòÉ
  1661.  
  1662. The working path MUST be set to the path that Pmcomm is installed in. The 
  1663. working path is stored in the os2.ini file. This is done so that the pmcomm.exe 
  1664. file can reside on a server, but yet each requester can have there own 
  1665. setup.dat file. The download path allows you to have the files that you 
  1666. download put into a different directory. The upload path is the path that the 
  1667. fileopen dialog will default to when doing a upload. The script path is where 
  1668. Pmcomm looks for the scripts listed in the dialing directory. The startup 
  1669. script is a script that will be executed each time Pmcomm is started. The 
  1670. default name is startup.scr. The capture path is where all screen captures are 
  1671. stored. These paths must contain a valid directory. It defaults to the 
  1672. directory that Pmcomm was started from. There is also a call logging option 
  1673. here which when turned on will start call logging as soon as Pmcomm is run. 
  1674.  
  1675.  
  1676. ΓòÉΓòÉΓòÉ 9.6. Macros Setup ΓòÉΓòÉΓòÉ
  1677.  
  1678. There are 10 user definable keyboard macros. These can be invoked by holding 
  1679. down the Alt key and pressing 1-0 or by clicking on the appropriate button on 
  1680. the Button Bar. Use this option to setup your macros. 
  1681.  
  1682.  
  1683. ΓòÉΓòÉΓòÉ 9.6.1. Macro Command ΓòÉΓòÉΓòÉ
  1684.  
  1685. Macros can be implemented by using combinations of the following commands. 
  1686.  
  1687. Use ^M to send a carriage return. When the macro is invoked it will send the 
  1688. string that you have defined to the modem. Once you have setup the macro 
  1689. string, it can also be selected from the main menu using a mouse. Other special 
  1690. characters are: 
  1691.  
  1692. ^H = tab character. 
  1693.  
  1694. ^J = carriage return without a line feed. 
  1695.  
  1696. ^L = form feed. 
  1697.  
  1698. ^[ = escape character (Ascii 27) 
  1699.  
  1700. ^C = send the Ctrl-C character (Ascii 3) 
  1701.  
  1702. ^K = XON character 
  1703.  
  1704. ^S = XOFF character 
  1705.  
  1706. ~  = sleep for half a second 
  1707.  
  1708. You can also send any other special character by holding down the Alt key and 
  1709. typing in the ASCII number on the numeric key pad. For example, if you want to 
  1710. enter the escape character into a macro you could hold down the Alt key and 
  1711. then press the two and the seven on the numeric key pad (while still holding 
  1712. down the Alt key). When you then release the Alt key the escape character would 
  1713. be inserted into the macro. Scripts can be executed from macros by using the 
  1714. shell command. An example of this would be: 
  1715.  
  1716. shell("c:\pmcomm\plane.cmd"); 
  1717.  
  1718. This would execute the REXX script called plane.cmd. This allows you a quick 
  1719. and easy way to execute often used scripts. 
  1720.  
  1721. The information in a memo field (in the dialing directory), for the number 
  1722. connected, can also be sent by entering the word memo in a macro. This would 
  1723. allow a user to send information (such as a password) to the remote computer. 
  1724. By doing this it allows a user to use the same macro key to send different 
  1725. passwords, for each dialing directory entry. 
  1726.  
  1727.  
  1728. ΓòÉΓòÉΓòÉ 9.6.2. Macro Name ΓòÉΓòÉΓòÉ
  1729.  
  1730. Enter the name of your macro in this field. We suggest using names that will be 
  1731. meaningful to you at a later date. 
  1732.  
  1733.  
  1734. ΓòÉΓòÉΓòÉ 9.7. Keymap ΓòÉΓòÉΓòÉ
  1735.  
  1736. The Key Map function of Pmcomm allow you to re-map the keys on the board to 
  1737. different functions. The name of the current key map will be displayed in the 
  1738. title bar of the Key Map dialog box. Different default key maps can be assigned 
  1739. to each terminal emulation. Key maps can also be selected for each dialing 
  1740. entry in the dialing directory, and this dialing entry will be the one used 
  1741. once connected to the remote computer. This key map will still be in effect 
  1742. until the next number is dialed, even after being disconnected from the remote 
  1743. computer. 
  1744.  
  1745. Keys can be re-mapped to send different characters, for example you could 
  1746. re-map the z key to send a Z, or any other character. 
  1747.  
  1748. Keys can also send strings instead of single characters. The same rules applies 
  1749. to the strings in key mapping as it does to the macro commands (see Macro 
  1750. Command for more information). 
  1751.  
  1752. Keys can be re-mapped to perform any of the Pmcomm menu commands, or OS/2 
  1753. system menu commands (see Key Command for more information). 
  1754.  
  1755. Combination keys can also be re-mapped. An example is if you wanted to re-map 
  1756. the ^P key ( sent by holding down the Ctrl button on the key board and then 
  1757. pressing the P key). To re-map this key you would select the P button (on the 
  1758. Key Map dialog box), and the Control check box. 
  1759.  
  1760. Note:  The alpha numeric keys (a-z, 1-0, etc) are Caps Lock sensitive. For 
  1761. example if you want re-map the ^P key you must have the Caps check box selected 
  1762. in the Key Map dialog box. If you want to re-map the ^p key then the Caps check 
  1763. box would not be selected. Also, ^P with the Caps check box selected, is not 
  1764. the same as ^P and the Shift check box selected. Selecting the Shift check box, 
  1765. means that you will be holding down the shift key when you press the other key, 
  1766. or keys. The keys on the numeric key pad are sensitive to the state of the Num 
  1767. Lock, in much the same way. This allows you to define both the 1, and the End 
  1768. keys (for example) on the numeric key pad. 
  1769.  
  1770. You can also use multiple combinations, such as Control, Alt, P. Normally the 
  1771. biggest confusion when using the key map is that you can define so many 
  1772. combinations. Make sure that you do define all the combinations that you are 
  1773. going to use (ie. caps lock on, caps lock off, etc). 
  1774.  
  1775. The Shift check box would be selected when you plan on holding down the shift 
  1776. key when press the other key. The same follow for the Control and Alt check 
  1777. boxes. You can also combine these, for example you could re-map a key that you 
  1778. want to have the Control and Shift key pressed. 
  1779.  
  1780. Note:  The Lone Key check box is a special case, and can not be used in most 
  1781. cases. The only time that it can be used is in conjuction with the Shift, Ctrl, 
  1782. and Alt keys on your keyboard, when you wish to re-map just those keys. If one 
  1783. of these keys are pressed and released without another key being pressed then 
  1784. Pmcomm will check to see if one of these keys have been re-mapped with the Lone 
  1785. key option. 
  1786.  
  1787. By selecting the Lone Key check box you can assign a map to the shift, ctrl, or 
  1788. alt, keys and not effect there operation when they are used with other keys. 
  1789.  
  1790.  
  1791. ΓòÉΓòÉΓòÉ 9.7.1. Key Command ΓòÉΓòÉΓòÉ
  1792.  
  1793. There are four types of commands: 
  1794.  
  1795. Character. 
  1796.  
  1797. String. 
  1798.  
  1799. Pmcomm menu. 
  1800.  
  1801. OS/2 system menu. 
  1802.  
  1803. Characters are sent just by typing the character you want to send in the 
  1804. Current Key Assignment combination box in the Key Map dialog box. Single 
  1805. characters are not parsed in anyway, but just sent directly to the com port. 
  1806.  
  1807. Strings are series of characters that you type into the Key Map dialog box, and 
  1808. are parsed just as Macros are (see Macro Command for more information). 
  1809.  
  1810. Pmcomm menu commands are any of the commands that you can execute from the 
  1811. Pmcomm menu. These commands can be selected from the Key Assignment combination 
  1812. box. They are as follows: 
  1813.  
  1814. <HELP> 
  1815.  
  1816. <DIAL> 
  1817.  
  1818. <QUEUE DIAL> 
  1819.  
  1820. <EXIT> 
  1821.  
  1822. <KEY MAP> 
  1823.  
  1824. <SCROLL BUFFER> 
  1825.  
  1826. <COM ERROR> 
  1827.  
  1828. <CHAT> 
  1829.  
  1830. <ABOUT> 
  1831.  
  1832. <DOWNLOAD> 
  1833.  
  1834. <UPLOAD> 
  1835.  
  1836. <HANGUP> 
  1837.  
  1838. <SETUP PORT> 
  1839.  
  1840. <SETUP MODEM> 
  1841.  
  1842. <SETUP PROTOCOL> 
  1843.  
  1844. <SETUP PATHS> 
  1845.  
  1846. <SETUP STATUS> 
  1847.  
  1848. <SETUP SCREEN> 
  1849.  
  1850. <SETUP TERMINAL> 
  1851.  
  1852. <SETUP MACROS> 
  1853.  
  1854. <SETUP DIAL> 
  1855.  
  1856. <SAVE SETUP> 
  1857.  
  1858. <SEND BREAK> 
  1859.  
  1860. <INIT MODEM> 
  1861.  
  1862. <CANCEL SCRIPT> 
  1863.  
  1864. <START SCRIPT> 
  1865.  
  1866. <START SCRIPT GEN> 
  1867.  
  1868. <CANCEL SCRIPT GEN> 
  1869.  
  1870. <SHOW SCRIPT DIALOG> 
  1871.  
  1872. <START CAPTURE> 
  1873.  
  1874. <CANCEL CAPTURE> 
  1875.  
  1876. <CLIPBOARD PASTE> 
  1877.  
  1878. <CLIPBOARD COPY> 
  1879.  
  1880. <CLIPBOARD APPEND> 
  1881.  
  1882. <PRINT SCREEN> 
  1883.  
  1884. <PRINT SCREEN BUFFER> 
  1885.  
  1886. <PRINT SELECTED> 
  1887.  
  1888. <START CONTINUOUS PRINTING> 
  1889.  
  1890. <CANCEL CONTINUOUS PRINTING> 
  1891.  
  1892. <FILE IMPORT> 
  1893.  
  1894. <START LOGGING> 
  1895.  
  1896. <CANCEL LOGGING> 
  1897.  
  1898. <CLEAR SCREEN> 
  1899.  
  1900. <SEND MACRO 1> 
  1901.  
  1902. <SEND MACRO 2> 
  1903.  
  1904. <SEND MACRO 3> 
  1905.  
  1906. <SEND MACRO 4> 
  1907.  
  1908. <SEND MACRO 5> 
  1909.  
  1910. <SEND MACRO 6> 
  1911.  
  1912. <SEND MACRO 7> 
  1913.  
  1914. <SEND MACRO 8> 
  1915.  
  1916. <SEND MACRO 9> 
  1917.  
  1918. <SEND MACRO 10> 
  1919.  
  1920. OS/2 system commands are commands that OS/2 processes. These commands can also 
  1921. be selected from the Key Assignment combination box. They are as follows: 
  1922.  
  1923. <SC_CLOSE> 
  1924.  
  1925. <SC_MOVE> 
  1926.  
  1927. <SC_MINIMIZE> 
  1928.  
  1929. <SC_MAXIMIZE> 
  1930.  
  1931. <SC_SIZE> 
  1932.  
  1933. <SC_NEXT> 
  1934.  
  1935. <SC_APPMENU> 
  1936.  
  1937. <SC_SYSMENU> 
  1938.  
  1939. <SC_RESTORE> 
  1940.  
  1941. <SC_TASKMANAGER> 
  1942.  
  1943. <SC_HELPKEYS> 
  1944.  
  1945. <SC_HELPINDEX> 
  1946.  
  1947. <SC_HELPEXTENDED> 
  1948.  
  1949. <SC_HIDE> 
  1950.  
  1951. There are three variables that can also be used to send special characters. 
  1952. They are: 
  1953.  
  1954. <CSI> 
  1955.  
  1956. <SS3> 
  1957.  
  1958. <ESC> 
  1959.  
  1960. The < and > must be used, and they are case sensitive. These variables are very 
  1961. useful when using the VT100 and VT220 terminal emulations. The <CSI> and the 
  1962. <SS3> will change depending on if you are using 7 or 8 data bits, and if your 
  1963. host wants 7 or 8 bit escape codes. The CSI is generally used for the leading 
  1964. characters of the function keys. The SS3 is used for the leading characters for 
  1965. the application keys (the numeric key pad keys). The default for CSI in 7 bit 
  1966. mode is ESC[ and for SS3 it's ESCO, where ESC is the escape character (Ascii 
  1967. 0x1b). If a key map has not re-mapped the keys then Pmcomm defaults to the 
  1968. standard VT100 and VT220 key definitions as in past versions. 
  1969.  
  1970.  
  1971. ΓòÉΓòÉΓòÉ 9.8. Screen ΓòÉΓòÉΓòÉ
  1972.  
  1973. This command allows you to tailor the screen handling to your tastes. The best 
  1974. thing to do is try them to see if you like them. Some features like the 
  1975. automatic horizontal scroll will probably only be used when typing messages and 
  1976. chatting. 
  1977.  
  1978.  
  1979. ΓòÉΓòÉΓòÉ 9.8.1. Font ΓòÉΓòÉΓòÉ
  1980.  
  1981. Allows you to select from a list of font sizes. The sizes depend on the display 
  1982. adapter and version of OS/2 you are using. Pmcomm queries the video device 
  1983. driver to see what font sizes it supports and lists them for you to select. 
  1984.  
  1985.  
  1986. ΓòÉΓòÉΓòÉ 9.8.2. Foreground ΓòÉΓòÉΓòÉ
  1987.  
  1988. Sets up the color to be used for the text used in the Pmcomm window. There are 
  1989. 16 different background and foreground colors available, allowing for 256 
  1990. different color combinations. 
  1991.  
  1992.  
  1993. ΓòÉΓòÉΓòÉ 9.8.3. Background ΓòÉΓòÉΓòÉ
  1994.  
  1995. Sets up the color to be used for the Pmcomm window background. There are 16 
  1996. different background and foreground colors available, allowing for 256 
  1997. different color combinations. 
  1998.  
  1999.  
  2000. ΓòÉΓòÉΓòÉ 9.8.4. Extended Scroll Size ΓòÉΓòÉΓòÉ
  2001.  
  2002. The Extended Scroll Size options allows you to set the maximum size of the 
  2003. buffer that Pmcomm will use to store the extended scroll information into. When 
  2004. this buffer fills up Pmcomm will delete the oldest information, to allow room 
  2005. for new information. Pmcomm will only allocate memory as it is needed to store 
  2006. the scroll information, and it will not allocate more memory then is set in the 
  2007. Extended Scroll Size option. If the size is set to 0 then Pmcomm will not use 
  2008. the Extended Scroll buffer. 
  2009.  
  2010.  
  2011. ΓòÉΓòÉΓòÉ 9.8.5. German Umlaut Filter ΓòÉΓòÉΓòÉ
  2012.  
  2013. This feature will display some special characters that appear in the German 
  2014. language. The translations are as follows: 
  2015.  
  2016. ^U  =  @ 
  2017.  
  2018.  ╨₧  =  [ 
  2019.  
  2020.  ╨⌐  =  \ 
  2021.  
  2022.  ╨¬  =  ] 
  2023.  
  2024.  ╨ö  =  { 
  2025.  
  2026.  ╨ñ  =  | 
  2027.  
  2028.  ╨æ  =  } 
  2029.  
  2030.  ╤ü  =  ~ 
  2031.  
  2032.  
  2033. ΓòÉΓòÉΓòÉ 9.8.6. Hide Window While Dialing ΓòÉΓòÉΓòÉ
  2034.  
  2035. The hide window while dialing option will make the screen less "busy" while 
  2036. dialing. 
  2037.  
  2038.  
  2039. ΓòÉΓòÉΓòÉ 9.8.7. Hide Window During a File Transfer ΓòÉΓòÉΓòÉ
  2040.  
  2041. The hide window during a file transfer option will make the screen less "busy" 
  2042. while executing a file transfer. If you use the show button on the file 
  2043. transfer dialog box, the main window will reappear. 
  2044.  
  2045.  
  2046. ΓòÉΓòÉΓòÉ 9.8.8. Automatic Vertical Scroll ΓòÉΓòÉΓòÉ
  2047.  
  2048. The Automatic vertical scroll option will make Pmcomm keep the cursor 
  2049. vertically in the Pmcomm window. 
  2050.  
  2051.  
  2052. ΓòÉΓòÉΓòÉ 9.8.9. Automatic Horizontal Scroll ΓòÉΓòÉΓòÉ
  2053.  
  2054. The Automatic horizontal scroll option will keep the cursor horizontally in the 
  2055. Pmcomm window. 
  2056.  
  2057.  
  2058. ΓòÉΓòÉΓòÉ 9.8.10. Retain Dialing Dialog's Position ΓòÉΓòÉΓòÉ
  2059.  
  2060. The retain dialing dialog's position option will make Pmcomm restore the last 
  2061. position of the dialing dialog each time it is invoked. If this option is not 
  2062. selected then OS/2 will decide where to place the dialog boxes. 
  2063.  
  2064.  
  2065. ΓòÉΓòÉΓòÉ 9.8.11. Retain Transfer Dialog's Position ΓòÉΓòÉΓòÉ
  2066.  
  2067. The retain transfer dialog's position option will make Pmcomm restore the last 
  2068. position of the transfer dialog each time it is invoked. If this option is not 
  2069. selected then OS/2 will decide where to place the dialog boxes. 
  2070.  
  2071.  
  2072. ΓòÉΓòÉΓòÉ 9.8.12. Show Dial Message Box ΓòÉΓòÉΓòÉ
  2073.  
  2074. The Show Dial Message Box option makes Pmcomm display a message box and beeps 
  2075. at the user, when Pmcomm obtains a remote connection, until the OK button is 
  2076. pressed. This will make sure you notice that Pmcomm has a remote connection. 
  2077.  
  2078.  
  2079. ΓòÉΓòÉΓòÉ 9.8.13. Local Echo On ΓòÉΓòÉΓòÉ
  2080.  
  2081. The local echo on option will make Pmcomm echo all keystrokes to the local 
  2082. screen as well as to the remote computer. 
  2083.  
  2084.  
  2085. ΓòÉΓòÉΓòÉ 9.8.14. Turn Sound On ΓòÉΓòÉΓòÉ
  2086.  
  2087. The turn sound on option will make Pmcomm alert the user when certain functions 
  2088. have been completed. The sound must also be turned on in OS/2 for this option 
  2089. to work. In the System Setup object in the OS/2 System folder there is an 
  2090. object labeled Sound. Make sure the Warning Beep box is checked. 
  2091.  
  2092.  
  2093. ΓòÉΓòÉΓòÉ 9.9. Status Line ΓòÉΓòÉΓòÉ
  2094.  
  2095. This option will activate Pmcomm's Status Line. The Status Line shows the time 
  2096. connected to a remote computer and the terminal type. If the mouse cursor is 
  2097. moved over the top of a button on the button bar, the Status Line also shows a 
  2098. brief description of the button. If the mouse cursor is moved over the top of 
  2099. the port button, the current port statistics are displayed on the Status Line. 
  2100.  
  2101. The elapsed timer starts as soon as you are connected to another computer. The 
  2102. timer displays the elapsed time in hours and minutes. You may also set two 
  2103. warning levels. The first will change the connect time to yellow and the second 
  2104. level will turn the connect time red. These warning levels are useful to keep 
  2105. track of how of the time you are connected to a remote computer. 
  2106.  
  2107.  
  2108. ΓòÉΓòÉΓòÉ 9.9.1. Show Status Line ΓòÉΓòÉΓòÉ
  2109.  
  2110. The "Show status line" option will display Pmcomm's Status Line at the bottom 
  2111. of the Pmcomm window. For more information see Status_Line. 
  2112.  
  2113.  
  2114. ΓòÉΓòÉΓòÉ 9.9.2. Connect time for first warning ΓòÉΓòÉΓòÉ
  2115.  
  2116. After the amount of time specified in this option expires, Pmcomm will turn the 
  2117. connect time yellow. The time must be specified in the hh:mm format. 
  2118.  
  2119.  
  2120. ΓòÉΓòÉΓòÉ 9.9.3. Connect time for second warning ΓòÉΓòÉΓòÉ
  2121.  
  2122. After the amount of time specified in this option expires, Pmcomm will turn the 
  2123. connect time red. The time must be specified in the hh:mm format. 
  2124.  
  2125.  
  2126. ΓòÉΓòÉΓòÉ 9.10. File Open ΓòÉΓòÉΓòÉ
  2127.  
  2128. Pmcomm uses the standard OS/2 file open dialog, when the user needs to open an 
  2129. existing file. When multiple files can be opened (such as when doing batch 
  2130. uploads), Pmcomm allows the user to select multiple files. If a user types in a 
  2131. file name with wild cards, such as *.cmd, then all the files that end with a 
  2132. cmd extension will be displayed in the File list box. A user may also type in 
  2133. the file name directly, instead of selecting the file with the mouse. 
  2134.  
  2135. Different disk drives may be selected with the drive combo box, and different 
  2136. directories can be selected using the directory list box. Pmcomm will display 
  2137. either the Pmcomm working directory, or the script directory (if starting a 
  2138. script), or the upload directory (if uploading or importing a file). If a user 
  2139. uploads a file from other then the upload directory, the next time (as long as 
  2140. Pmcomm is not closed) the user uploads a file Pmcomm will display that 
  2141. directory. The same thing works when starting scripts. 
  2142.  
  2143.  
  2144. ΓòÉΓòÉΓòÉ 9.11. Terminal ΓòÉΓòÉΓòÉ
  2145.  
  2146. Terminal allows you to select which emulation you wish to use. There are also 
  2147. some options for the different emulations. 
  2148.  
  2149.  
  2150. ΓòÉΓòÉΓòÉ 9.11.1. Default Key Map ΓòÉΓòÉΓòÉ
  2151.  
  2152. The default key map combination box allows you to select a different default 
  2153. key map for each terminal emulation. This key map may be overridden by a key 
  2154. map that is selected in the dialing directory. If you wish to create a new key 
  2155. map, just type in the name of the key map you wish to create (key map's must 
  2156. have a .map extension). If you wish to use an existing key map just select it 
  2157. from the drop down list box. 
  2158.  
  2159.  
  2160. ΓòÉΓòÉΓòÉ 9.11.2. TTY emulation ΓòÉΓòÉΓòÉ
  2161.  
  2162. The TTY emulation makes Pmcomm act as a teletype device. Generally this is the 
  2163. least used emulation, however, it is also the fastest. The reason for this is 
  2164. that there are very few special commands that Pmcomm has to process. None of 
  2165. the special ANSI control codes are processed. 
  2166.  
  2167.  
  2168. ΓòÉΓòÉΓòÉ 9.11.3. ANSI emulation ΓòÉΓòÉΓòÉ
  2169.  
  2170. The ANSI emulation is probably the most used. It will execute the special ANSI 
  2171. screen control commands. This allows the remote program to be able to clear the 
  2172. screen, position the cursor and change the colors. There are other screen 
  2173. control commands but these are the most commonly used ones. There are also 
  2174. options to have Pmcomm ignore the ANSI color changes so that you can use the 
  2175. colors you want, instead of the ones the remote computer uses, and to send the 
  2176. ANSI cursor position commands with the arrow keys. When using the ANSI 
  2177. emulation you can also have Pmcomm strip off the ANSI commands before saving 
  2178. the information into a capture file. This will make the capture file much more 
  2179. readable. You can also change the length of the page, to correspond to the size 
  2180. of your screen. The default for the ANSI page length is 25 lines, and under 
  2181. most cases should be left there. 
  2182.  
  2183.  
  2184. ΓòÉΓòÉΓòÉ 9.11.4. VT100 and VT220 emulation ΓòÉΓòÉΓòÉ
  2185.  
  2186. In VT100 and VT220 emulation, some keys have been changed to try to more 
  2187. closely emulate the VT100 keyboard. F1-F4 are now the PF keys. Because of this 
  2188. the F1 key will not display the normal help and F3 will not exit the program. 
  2189. The PF keys will send the following characters: 
  2190.  
  2191.   F1 = ESCOP 
  2192.  
  2193.   F2 = ESCOQ 
  2194.  
  2195.   F3 = ESCOR 
  2196.  
  2197.   F4 = ESCOS 
  2198.  
  2199. Where ESC is equal to the ASCII character hex 1B. All other hot keys will not 
  2200. be available. When the num lock key is off, the numerical key pad will be in 
  2201. the application mode. If you are connecting to a VT220 Host you can use these 
  2202. keys to send the VT220 PF key values. For example pressing the 1 on the numeric 
  2203. key pad will send the VT220 PF1 key. Pressing the 3 on the numeric key pad will 
  2204. send the VT220 PF3 key, and so on. With the num lock on the numbers will be 
  2205. sent. The plus key has been re-mapped to be a comma, again to be compatible 
  2206. with the VT100 keyboard. In most cases it is best to tell the host that you are 
  2207. a VT220 terminal. The VT100 emulation of Pmcomm supports most of the VT220 
  2208. commands, and will allow you to use the extra support that VT220 allows. If you 
  2209. tell the host that you are a VT220 terminal, for example, you will be able to 
  2210. use the Ctrl-R for reset and the Ctrl-C for clear. These are just a couple of 
  2211. examples of the additional benefit that you can get from VT220. 
  2212.  
  2213. The send DEL for backspace option is the default for many VT100 keyboards. When 
  2214. this is selected, Pmcomm will send a hex 7f character instead of the backspace 
  2215. character. You can still send a backspace character by pressing Ctrl-Backspace. 
  2216. This allows you to have both these characters available at one time. 
  2217.  
  2218. The translate CR/LF for LF option will act as if it received a carriage return 
  2219. and a line feed, each time it receives a line feed. 
  2220.  
  2221. The line wrap option will make Pmcomm wrap the line if the line is longer than 
  2222. the page width. If this option is off the line will be truncated. 
  2223.  
  2224. The Insert mode option will allow you to insert characters into the middle of a 
  2225. line and the rest of the line will be shifted to the right to allow room for 
  2226. the new characters. 
  2227.  
  2228. The cursor visible option determines if the cursor will be shown on the screen 
  2229. or not. 
  2230.  
  2231. The Screen origin relative option determines if Pmcomm will keep everything on 
  2232. a 25 line screen or allow it to use the scroll back buffer. In most cases this 
  2233. option should be selected. 
  2234.  
  2235. The last two options are to set the width of the screen. Either 80 or 132 
  2236. columns are supported. 
  2237.  
  2238. Most of these options can be changed from the host. The default setup should 
  2239. work for most applications, and the host can change the options to meet 
  2240. different needs. 
  2241.  
  2242.  
  2243. ΓòÉΓòÉΓòÉ 9.12. Chat ΓòÉΓòÉΓòÉ
  2244.  
  2245. This sets up Pmcomm to "chat" when connected to another computer that is also 
  2246. running Pmcomm. This mode automatically sets Pmcomm to echo characters locally 
  2247. and to send a carriage return line feed combination when the enter key is 
  2248. pressed. 
  2249.  
  2250.  
  2251. ΓòÉΓòÉΓòÉ 10. Macros ΓòÉΓòÉΓòÉ
  2252.  
  2253. Allows you to pick, with a mouse, the macro you wish to send. Can also be 
  2254. selected with an Alt+corresponding number keystroke. Pmcomm allows you to set 
  2255. up ten different macros. Scripts can be executed from macros by using the shell 
  2256. command. An example of this would be: 
  2257.  
  2258. shell("c:\pmcomm\plane.cmd"); 
  2259.  
  2260. This would execute the REXX script called plane.cmd. This allows you a quick 
  2261. and easy way to execute your most popular scripts. 
  2262.  
  2263.  
  2264. ΓòÉΓòÉΓòÉ 11. Script Syntax ΓòÉΓòÉΓòÉ
  2265.  
  2266. Both, internal and REXX, syntaxes are described in this section. 
  2267.  
  2268.  
  2269. ΓòÉΓòÉΓòÉ 11.1. REXX Functions ΓòÉΓòÉΓòÉ
  2270.  
  2271. This describes the function calls that are available in the rxpmcomm.dll. 
  2272. Before using any of these calls you must include these lines in your REXX 
  2273. program: 
  2274.  
  2275. Call RxFuncadd " init_dll ","RxPmcomm","init_dll" 
  2276.  
  2277. Parse arg port portname screen_handle dde_output dde_input semaphore 
  2278.  
  2279. Call init_dll 
  2280.  
  2281. The rxpmcomm.dll must reside in a directory listed in your LIBPATH statement in 
  2282. config.sys. One of the default directories is \os2\dll. If you are using OS/2 
  2283. 2.0 or later, then you can use the init_32dll, which is in the RxPmc32.dll. 
  2284. This is a 32 bit dll, which will use less memory and maybe faster in some 
  2285. cases. These functions are designed to make it easier to preform tasks 
  2286. necessary when writing scripts for asynch communications. To invoke a REXX 
  2287. program from a script, use the shell( ) function in the script. The format of 
  2288. the shell function is as follows: 
  2289.  
  2290. shell("\path\filename.cmd"); 
  2291. where filename.cmd is your REXX program. These functions have been tested with 
  2292. the REXX that comes with OS/2 1.3 and 2.0, but should work with any totally 
  2293. function compatible REXX. There are some sample REXX programs included. 
  2294.  
  2295.  
  2296. ΓòÉΓòÉΓòÉ 11.1.1. init_dll ΓòÉΓòÉΓòÉ
  2297.  
  2298. The init_dll function will register the functions in the rxpmcomm.dll, with 
  2299. REXX. This function must be called before any other rxpmcomm.dll function is 
  2300. called. The RxFuncadd must be called before init_dll to register this function 
  2301. with REXX. 
  2302.  
  2303.  
  2304. ΓòÉΓòÉΓòÉ 11.1.2. init_32dll ΓòÉΓòÉΓòÉ
  2305.  
  2306. The init_32dll function will register the functions in the rxpmc32.dll, with 
  2307. REXX. This function must be called before any other rxpmc32.dll function is 
  2308. called. The RxFuncadd must be called before init_32dll to register this 
  2309. function with REXX. The rxpmc32.dll and the init_32dll function can only be 
  2310. used with OS/2 2.0 and later. 
  2311.  
  2312.  
  2313. ΓòÉΓòÉΓòÉ 11.1.3. os2_shell ΓòÉΓòÉΓòÉ
  2314.  
  2315. os2_shell port,port 
  2316.  
  2317. Example 
  2318.  
  2319. Call os2_shell port,port 
  2320.  
  2321. Description 
  2322.  
  2323. This command will allow a caller to shell to OS/2, remotely. The first 
  2324. parameter is the input handle and the second is the output handle. In the 
  2325. example above, the command will receive and send the information to the 
  2326. communication port. 
  2327.  
  2328. Returns 
  2329.  
  2330. 1 if successful and 0 if unsuccessful. 
  2331.  
  2332.  
  2333. ΓòÉΓòÉΓòÉ 11.1.4. set_download_path ΓòÉΓòÉΓòÉ
  2334.  
  2335. set_download_path directory,dde_output 
  2336.  
  2337. Example 
  2338.  
  2339. Call set_download_path "c:\pmcomm",dde_output 
  2340.  
  2341. Description 
  2342.  
  2343. The above example will set the download path to c:\pmcomm. This will store all 
  2344. of the files received in that directory. The dde_output, is the dde_output 
  2345. value passed on the command line. 
  2346.  
  2347. Returns 
  2348.  
  2349. 1 if successful and 0 if unsuccessful. 
  2350.  
  2351.  
  2352. ΓòÉΓòÉΓòÉ 11.1.5. setcom ΓòÉΓòÉΓòÉ
  2353.  
  2354. setcom baud,parity,data_bit,stop_bits,port 
  2355.  
  2356. Example 
  2357.  
  2358. Call setcom "2400","N","8","1",port 
  2359.  
  2360. Description 
  2361.  
  2362. This would set the communication port to 2400 baud, no parity, 8 data bits, 1 
  2363. stop bit. Baud can be from 300 to 19200 with the standard OS/2 device driver. 
  2364. Parity can be N(none), O(odd), E(even), M(marked), or S(spaced). Data bits can 
  2365. be 5, 6, 7 or 8. Stop bits can be 1 or 2 (2 can only be used with 5 data bits). 
  2366. If a parameter is an empty string (i.e. setcom "","E","7","1",port) this leaves 
  2367. the baud at the current rate but set the line characteristics to 7, Even, 1. 
  2368.  
  2369. Returns 
  2370.  
  2371. 1 if successful and 0 if unsuccessful. 
  2372.  
  2373.  
  2374. ΓòÉΓòÉΓòÉ 11.1.6. sendb ΓòÉΓòÉΓòÉ
  2375.  
  2376. sendb length,port 
  2377.  
  2378. Example 
  2379.  
  2380. Call sendb "300",port 
  2381.  
  2382. Description 
  2383.  
  2384. This call sends a break signal a certain time in milliseconds. The above 
  2385. example would send a break signal for 300 milliseconds. This call is mostly 
  2386. used to establish direct connects (not using a modem). Three hundred 
  2387. milliseconds should be okay for most situations. 
  2388.  
  2389. Returns 
  2390.  
  2391. 1 if successful and 0 if unsuccessful. 
  2392.  
  2393.  
  2394. ΓòÉΓòÉΓòÉ 11.1.7. dcd ΓòÉΓòÉΓòÉ
  2395.  
  2396. dcd port 
  2397.  
  2398. Example 
  2399.  
  2400. Call dcd port 
  2401.  
  2402. Description 
  2403.  
  2404. This call checks to see if there is a carrier detected on the modem. You can 
  2405. use this to see if Pmcomm is still online to a remote computer. For this 
  2406. information to be correct the modem must support dcd and the modem must be 
  2407. configured to support dcd. To find the command refer to your owner's manual. 
  2408.  
  2409. Returns 
  2410.  
  2411. 1 if carrier detected and 0 if no carrier. 
  2412.  
  2413.  
  2414. ΓòÉΓòÉΓòÉ 11.1.8. char_avail ΓòÉΓòÉΓòÉ
  2415.  
  2416. char_avail port 
  2417.  
  2418. Example 
  2419.  
  2420. Call char_avail port 
  2421.  
  2422. Description 
  2423.  
  2424. This call checks to see how many characters are available in the device 
  2425. driver's receive buffer. You can use this function to check to see if the 
  2426. device driver has received any characters from the communication port. 
  2427.  
  2428. Returns 
  2429.  
  2430. Number of characters in device driver receive queue. 
  2431.  
  2432.  
  2433. ΓòÉΓòÉΓòÉ 11.1.9. read_timeout ΓòÉΓòÉΓòÉ
  2434.  
  2435. read_timeout timeout,port 
  2436.  
  2437. Example 
  2438.  
  2439. Call read_timeout 20000,port 
  2440.  
  2441. Description 
  2442.  
  2443. This call sets the length of time (in milliseconds) that wait_for, wait_fore, 
  2444. Get_ch will wait for a character from the communication port. The above example 
  2445. will make the functions wait for 20 seconds. 
  2446.  
  2447. Returns 
  2448.  
  2449. 1 if successful and 0 if unsuccessful. 
  2450.  
  2451.  
  2452. ΓòÉΓòÉΓòÉ 11.1.10. Get_ch ΓòÉΓòÉΓòÉ
  2453.  
  2454. Get_ch port 
  2455.  
  2456. Example 
  2457.  
  2458. Call Get_ch port 
  2459.  
  2460. Description 
  2461.  
  2462. This call will get a character from the communication port. If no character is 
  2463. available by the time set with read_timeout the function will return with a 
  2464. value of -1. Otherwise the function will return with the character read. 
  2465.  
  2466. Returns 
  2467.  
  2468. char value if successful and -1 if unsuccessful. 
  2469.  
  2470.  
  2471. ΓòÉΓòÉΓòÉ 11.1.11. ring_detect ΓòÉΓòÉΓòÉ
  2472.  
  2473. ring_detect port 
  2474.  
  2475. Example 
  2476.  
  2477. Call ring_detect port 
  2478.  
  2479. Description 
  2480.  
  2481. This call can be used to inform a program if the phone is ringing. 
  2482.  
  2483. Returns 
  2484.  
  2485. 1 if ring detected, 0 if no ring, and 2 if invalid number of parameters. 
  2486.  
  2487.  
  2488. ΓòÉΓòÉΓòÉ 11.1.12. drop_dtr ΓòÉΓòÉΓòÉ
  2489.  
  2490. drop_dtr port 
  2491.  
  2492. Example 
  2493.  
  2494. Call drop_dtr port 
  2495.  
  2496. Description 
  2497.  
  2498. This call is usually used to make a modem hang up. The modem must be configured 
  2499. to allow this. To find the command for your modem, check your owner's manual. 
  2500. Dtr needs to be dropped for about 2-3 seconds to make sure the modem sees the 
  2501. drop in DTR. After that length of time raise_dtr can be called to bring DTR 
  2502. back up. On a Hayes 2400 the above command will also keep the modem from doing 
  2503. an auto answer until you raise_dtr again. 
  2504.  
  2505. Returns 
  2506.  
  2507. 1 if successful and 0 if unsuccessful. 
  2508.  
  2509.  
  2510. ΓòÉΓòÉΓòÉ 11.1.13. raise_dtr ΓòÉΓòÉΓòÉ
  2511.  
  2512. raise_dtr port 
  2513.  
  2514. Example 
  2515.  
  2516. Call raise_dtr port 
  2517.  
  2518. Description This call is usually used after drop_dtr to allow the modem to 
  2519. process commands and enable it to answer the phone. 
  2520.  
  2521. Returns 
  2522.  
  2523. 1 if successful and 0 if unsuccessful. 
  2524.  
  2525.  
  2526. ΓòÉΓòÉΓòÉ 11.1.14. Wait_for (REXX) ΓòÉΓòÉΓòÉ
  2527.  
  2528. Wait_for string,string,string...,port 
  2529.  
  2530. Example 
  2531.  
  2532. Call Wait_for "first name?","last name?",port 
  2533.  
  2534. Description 
  2535.  
  2536. The above example would wait for either first name?, or last name?, from the 
  2537. communication port. The function will return the index of the string that 
  2538. matched. For example if the Wait_for received last name?, then the result would 
  2539. be 2. You can specify any number of strings depending on memory available. 
  2540.  
  2541. Returns 
  2542.  
  2543. Index of matched string or zero if timeout or error. 
  2544.  
  2545.  
  2546. ΓòÉΓòÉΓòÉ 11.1.15. Wait_fore ΓòÉΓòÉΓòÉ
  2547.  
  2548. Wait_fore string,string,string...,port,screen_handle 
  2549.  
  2550. Example 
  2551.  
  2552. Call Wait_fore "first name?","last name?",port,screen_handle 
  2553.  
  2554. Call Wait_fore "first name?",port,1 
  2555.  
  2556. Call Wait_fore "first name?","raw",port,1 
  2557.  
  2558. Description 
  2559.  
  2560. The first example would wait for either first name?, or last name?, from the 
  2561. communication port and echo the out_put to the Pmcomm screen. The second 
  2562. example would do the same except it would write the out put to StdOut(value 1) 
  2563. which would be the REXX screen. The third example would look for an exact match 
  2564. coming across the communication port, including any ANSI sequences. 
  2565.  
  2566. Returns 
  2567.  
  2568. Index of matched string or zero if timeout or error. 
  2569.  
  2570.  
  2571. ΓòÉΓòÉΓòÉ 11.1.16. Put_s ΓòÉΓòÉΓòÉ
  2572.  
  2573. Put_s string,port 
  2574.  
  2575. Example 
  2576.  
  2577. Call Put_s "first name",port 
  2578.  
  2579. Description 
  2580.  
  2581. This call will send string out to port. In the above example first name will be 
  2582. sent to the communication port. If port is not specified then 'string' will be 
  2583. sent to the REXX screen. If screen_handle is specified instead of port then the 
  2584. string will be sent to the Pmcomm screen. 
  2585.  
  2586. Returns 
  2587.  
  2588. Length of string actually written. 
  2589.  
  2590.  
  2591. ΓòÉΓòÉΓòÉ 11.1.17. Sleep (REXX) ΓòÉΓòÉΓòÉ
  2592.  
  2593. Sleep time 
  2594.  
  2595. Example 
  2596.  
  2597. Call Sleep "1000" 
  2598.  
  2599. Description 
  2600.  
  2601. This call will delay the program for the amount of milliseconds specified. The 
  2602. above example will delay the computer for one second. 
  2603.  
  2604. Returns 
  2605.  
  2606. Unconditionally 0. 
  2607.  
  2608.  
  2609. ΓòÉΓòÉΓòÉ 11.1.18. beep ΓòÉΓòÉΓòÉ
  2610.  
  2611. beep frequency,duration 
  2612.  
  2613. Example 
  2614.  
  2615. Call beep 495,100 
  2616.  
  2617. Description 
  2618.  
  2619. The above example will beep the speaker. 
  2620.  
  2621. Returns 
  2622.  
  2623. 1 if successful and 0 if unsuccessful. 
  2624.  
  2625.  
  2626. ΓòÉΓòÉΓòÉ 11.1.19. get_cursor_position ΓòÉΓòÉΓòÉ
  2627.  
  2628. get_cursor_position axis,dde_output,dde_input 
  2629.  
  2630. Example 
  2631.  
  2632. Call get_cursor_position "column",dde_output,dde_input 
  2633.  
  2634. Description 
  2635.  
  2636. The above will return the column that the cursor is in. To get the current row, 
  2637. you would issue this call with "row" instead of "column". The row value that is 
  2638. returned is relative to the top of the scroll back buffer. The top row of the 
  2639. scroll back buffer and the first column would be 0,0. 
  2640.  
  2641. Returns 
  2642.  
  2643. Cursor position. 
  2644.  
  2645.  
  2646. ΓòÉΓòÉΓòÉ 11.1.20. get_char_at ΓòÉΓòÉΓòÉ
  2647.  
  2648. get_char_at row,column,number,dde_output,dde_input 
  2649.  
  2650. Example 
  2651.  
  2652. Call get_char_at 0,0,80,dde_output,dde_input 
  2653.  
  2654. Description 
  2655.  
  2656. The above will return the characters at the first line of the scroll back 
  2657. buffer. It will return 80 characters, even if the characters are spaces. The 
  2658. maximum number of characters that can be returned at one time is 200. 
  2659.  
  2660. Returns 
  2661.  
  2662. Character(s) at the specified row and column. 
  2663.  
  2664.  
  2665. ΓòÉΓòÉΓòÉ 11.1.21. REXX capture_on ΓòÉΓòÉΓòÉ
  2666.  
  2667. capture_on filename,dde_output,dde_input 
  2668.  
  2669. Example 
  2670.  
  2671. Call capture_on "c:\pmcomm\cap.txt", dde_output, dde_input 
  2672.  
  2673. Description 
  2674.  
  2675. The above will turn capture on so that everything will be saved into a file. If 
  2676. you have strip ANSI configured in Pmcomm then the text only will be saved in 
  2677. ANSI, VT100, and VT220 terminal emulations. If the file already exists it will 
  2678. be overwritten. 
  2679.  
  2680. Returns 
  2681.  
  2682. 1 if successful and 0 if not. 
  2683.  
  2684.  
  2685. ΓòÉΓòÉΓòÉ 11.1.22. REXX capture_off ΓòÉΓòÉΓòÉ
  2686.  
  2687. capture_off dde_output,dde_input 
  2688.  
  2689. Example 
  2690.  
  2691. Call capture_off dde_output,dde_input 
  2692.  
  2693. Description 
  2694.  
  2695. The above will turn capture off. The capture may have been started from a 
  2696. script or from the menu. 
  2697.  
  2698. Returns 
  2699.  
  2700. 1 if successful and 0 if not. 
  2701.  
  2702.  
  2703. ΓòÉΓòÉΓòÉ 11.1.23. REXX change_option ΓòÉΓòÉΓòÉ
  2704.  
  2705. change_option "option",dde_output,dde_input 
  2706.  
  2707. This command will allow a script to change certain options in Pmcomm. The 
  2708. options that can be changed are: 
  2709.  
  2710. device. This option will allow you to change the current device that Pmcomm is 
  2711. using. For example to change the current device to COM2, the syntax would be: 
  2712. Call change_option "device=COM2",dde_output,dde_input 
  2713.  
  2714. hardware. This option will allow you to turn hardware flow control on or off. 
  2715. If you want to turn hardware flow control off the syntax would be: Call 
  2716. change_option "hardware=OFF",dde_output,dde_input To turn hardware flow control 
  2717. on you would replace the OFF with ON. 
  2718.  
  2719. XON/XOFF. This option will allow you to turn Xon/Xoff flow control on or off. 
  2720. If you want to turn Xon/Xoff flow control off the syntax would be: Call 
  2721. change_option "XON/XOFF=OFF",dde_output,dde_input 
  2722.  
  2723. To turn Xon/Xoff flow control on you would replace the OFF with ON. 
  2724.  
  2725. dtr. If this option is turned on the DTR will be lowered when hangup is 
  2726. selected. If you want to turn this option off the syntax would be: Call 
  2727. change_option "dtr=OFF",dde_output,dde_input 
  2728.  
  2729. stop bits. This option will allow you to set the number of stop bits that the 
  2730. communication port is set to. The communication port will be changed before the 
  2731. command is completed, and the default stop bits will be set to the new value. 
  2732. To set the communication port to 1 stop bit, the syntax would be: Call 
  2733. change_option "stop bits=1",dde_output,dde_input 
  2734.  
  2735. The communication port can only be set to 1 or 2 stop bits from a script. 
  2736.  
  2737. data bits. This option will allow you to set the number of data bits that the 
  2738. communication port is set to. The communication port will be changed before the 
  2739. command is completed, and the default data bits will be set to the new value. 
  2740. To set the communication port to 8 data bits, the syntax would be: Call 
  2741. change_option "data bits=8",dde_output,dde_input 
  2742.  
  2743. The communication port can be set to 8, 7, 6 or 5 data bits. 
  2744.  
  2745. parity. This option will allow you to set the parity for the current 
  2746. communication port. The communication port will be changed before the command 
  2747. is completed, and the default parity will be set to the new value. To set the 
  2748. communication port to Even parity, the syntax would be: Call change_option 
  2749. "parity=Even",dde_output,dde_input 
  2750.  
  2751. The communication port can be set to None, Even , Odd, Mark or Space parity. 
  2752.  
  2753. initialization string. This option allows you to change the modem 
  2754. initialization string that Pmcomm uses. To change the string the syntax would 
  2755. be: Call change_option "initialization string=ATZ",dde_output,dde_input 
  2756.  
  2757. dial timeout. This option will allow you to set the number of seconds that 
  2758. Pmcomm will wait when dialing a remote computer. If you wanted to set the 
  2759. number of seconds to 60 the syntax for the command would be: Call change_option 
  2760. "dial timeout=60",dde_output,dde_input 
  2761.  
  2762. redial delay. This option will allow you to set the number of seconds that 
  2763. Pmcomm will wait between dialing attempts. If you wanted to set the number of 
  2764. seconds to 6 the syntax for the command would be: Call change_option "redial 
  2765. delay=6",dde_output,dde_input 
  2766.  
  2767. hangup string. This option allows you to change the modem hangup string that 
  2768. Pmcomm uses. To change the string the syntax would be: Call change_option 
  2769. "hangup string=+++~~~ATH^M",dde_output,dde_input 
  2770.  
  2771. auto zmodem string. Some host systems do not send a standard auto zmodem 
  2772. string. This command allows you to change the string that Pmcomm looks for, 
  2773. when the host starts a zmodem send file transfer. When Pmcomm finds a match it 
  2774. will start a zmodem receive file transfer. To change the auto zmodem string the 
  2775. syntax would be: 
  2776.  
  2777. Call change_option "auto zmodem string=B00000",dde_output,dde_input 
  2778.  
  2779. zmodem date. This option allows you turn on and off whether Pmcomm will compare 
  2780. the file dates during a zmodem resume file transfer. The syntax to turn the 
  2781. date compare off would be: 
  2782.  
  2783. Call change_option "zmodem date=OFF",dde_output,dde_input To turn this option 
  2784. on you would replace the OFF with ON. 
  2785.  
  2786. zmodem rename. This option allows you turn on and off whether Pmcomm will 
  2787. rename duplicate files, if a resume fails (or is turned off). If this option is 
  2788. on Pmcomm will rename the new file with a number for an extension. The syntax 
  2789. to turn the zmodem rename off would be: 
  2790.  
  2791. Call change_option "zmodem rename=OFF",dde_output,dde_input To turn this option 
  2792. on you would replace the OFF with ON. 
  2793.  
  2794. auto zmodem. This option will allow you to turn the auto zmodem feature on or 
  2795. off. If you want to turn auto zmodem off the syntax would be: Call 
  2796. change_option "auto zmodem=OFF",dde_output,dde_input To turn auto zmodem on you 
  2797. would replace the OFF with ON. 
  2798.  
  2799. zmodem recovery. This option will allow you to turn the zmodem recovery feature 
  2800. on or off. If you want to turn zmodem recovery off the syntax would be: Call 
  2801. change_option "zmodem recovery=OFF",dde_output,dde_input To turn zmodem 
  2802. recovery on you would replace the OFF with ON. 
  2803.  
  2804. zmodem crc. This option allows you to select either the 32 bit or 16 bit zmodem 
  2805. CRC error detection option. To select the 32 bit option the syntax would be: 
  2806. Call change_option "zmodem crc=32",dde_output,dde_input 
  2807.  
  2808. download directory. To change the current download directory the syntax would 
  2809. be: Call change_option "download directory=c:\pmcomm\",dde_output,dde_input 
  2810.  
  2811. hide dial. This option allows you to select if the main terminal window is 
  2812. hidden while Pmcomm is dialing a remote computer. To allow the main window to 
  2813. remain visible while dialing the syntax would be: Call change_option "hide 
  2814. dial=OFF",dde_output,dde_input To turn hide dial on you would replace the OFF 
  2815. with ON. 
  2816.  
  2817. hide transfer. This option allows you to select if the main terminal window is 
  2818. hidden while Pmcomm is doing a file transfer. To allow the main window to 
  2819. remain visible while doing file transfers the syntax would be: Call 
  2820. change_option "hide transfer=OFF",dde_output,dde_input To turn hide transfer on 
  2821. you would replace the OFF with ON. 
  2822.  
  2823. auto vertical. This option determines if Pmcomm will automatically scroll the 
  2824. terminal window vertically to keep the current cursor position in the window. 
  2825. To turn this option off the syntax would be: Call change_option "auto 
  2826. vertical=OFF",dde_output,dde_input To turn this option on you would replace the 
  2827. OFF with ON. 
  2828.  
  2829. auto horizontal. This option determines if Pmcomm will automatically scroll the 
  2830. terminal window horizontally to keep the current cursor position in the window. 
  2831. To turn this option off the syntax would be: Call change_option "auto 
  2832. horizontal=OFF",dde_output,dde_input To turn this option on you would replace 
  2833. the OFF with ON. 
  2834.  
  2835. save dial. If this option is on then Pmcomm will store the position of the 
  2836. dialing dialog box, and use it the next time a number is dialed. To turn this 
  2837. option off the syntax would be: Call change_option("save 
  2838. dial=OFF",dde_output,dde_input To turn this option on you would replace the OFF 
  2839. with ON. 
  2840.  
  2841. save transfer. If this option is on then Pmcomm will store the position of the 
  2842. transfer dialog box, and use it the next time a file is transferred dialed. To 
  2843. turn this option off the syntax would be: Call change_option "save 
  2844. transfer=OFF",dde_output,dde_input To turn this option on you would replace the 
  2845. OFF with ON. 
  2846.  
  2847. sound. This option allows you to turn the warning beeps in Pmcomm, on or off. 
  2848. To turn this option off the syntax would be: Call change_option 
  2849. "sound=OFF",dde_output,dde_input To turn this option on you would replace the 
  2850. OFF with ON. 
  2851.  
  2852. monitor dcd. If this option is on, then Pmcomm will monitor the presence of 
  2853. data carrier detect (DCD). To turn this option off the syntax would be: Call 
  2854. change_option "monitor dcd=OFF",dde_output,dde_input To turn this option on you 
  2855. would replace the OFF with ON. 
  2856.  
  2857. page length. This option allows you to set the ANSI page length from a script. 
  2858. Following is an example of how to set the page length to 25 lines. Call 
  2859. change_option "page length=25",dde_output,dde_input 
  2860.  
  2861. terminal. This option allows you to change the type of terminal from within a 
  2862. Pmcomm script. The following example would set the terminal type to ANSI. Call 
  2863. change_option "terminal=ANSI",dde_output,dde_input The available valid terminal 
  2864. types are TTY, ANSI, VT100 or VT220. 
  2865.  
  2866. foreground. This option allows you to change the foreground color from within a 
  2867. Pmcomm script. The available colors are: 
  2868.  
  2869. black 
  2870. blue 
  2871. green 
  2872. cyan 
  2873. red 
  2874. magenta 
  2875. brown 
  2876. white 
  2877. dark grey 
  2878. light blue 
  2879. light green 
  2880. light cyan 
  2881. light red 
  2882. pink 
  2883. yellow 
  2884. bright white 
  2885.  
  2886. The syntax to change the foreground color to cyan would be: Call change_option 
  2887. "foreground=cyan",dde_output,dde_input 
  2888.  
  2889. background. This option allows you to change the background color from within a 
  2890. Pmcomm script. The available colors are: 
  2891.  
  2892. black 
  2893. blue 
  2894. green 
  2895. cyan 
  2896. red 
  2897. magenta 
  2898. brown 
  2899. white 
  2900. dark grey 
  2901. light blue 
  2902. light green 
  2903. light cyan 
  2904. light red 
  2905. pink 
  2906. yellow 
  2907. bright white 
  2908.  
  2909. The syntax to change the background color to black would be: Call change_option 
  2910. "background=black",dde_output,dde_input 
  2911.  
  2912. echo. This option allows you turn on and off the local keystroke echo. The 
  2913. syntax to turn echo off would be: Call change_option 
  2914. "echo=OFF",dde_output,dde_input To turn this option on you would replace the 
  2915. OFF with ON. 
  2916.  
  2917. prefix1 
  2918. prefix2 
  2919. prefix3 
  2920.  
  2921.  These options allow you to change the dialing prefixes. For example to change 
  2922. prefix1 you would use the following syntax: Call change_option 
  2923. "prefix1=ATDT",dde_output,dde_input 
  2924.  
  2925. suffix1 
  2926. suffix2 
  2927. suffix3 
  2928.  
  2929.  These options allow you to change the dialing suffixes. For example to change 
  2930. suffix1 you would use the following syntax: Call change_option 
  2931. "suffix1=^M",dde_output,dde_input 
  2932.  
  2933. strip ansi. This option allows you to select if Pmcomm will strip the ANSI 
  2934. commands from a capture file. The syntax to turn off the stripping of the ANSI 
  2935. commands would be: Call change_option "strip ansi=OFF",dde_output,dde_input To 
  2936. turn this option on you would replace the OFF with ON. 
  2937.  
  2938. macro1 
  2939. macro2 
  2940. macro3 
  2941. macro4 
  2942. macro5 
  2943. macro6 
  2944. macro7 
  2945. macro8 
  2946. macro9 
  2947. macro10 
  2948.  
  2949. These options allow you to change the keyboard macros. For example to change 
  2950. macro1 you would use the following syntax: Call change_option 
  2951. "macro1=ATZ",dde_output,dde_input 
  2952.  
  2953. phone directory. 
  2954.  
  2955. phone directory. To change the current phone directory the syntax would be: 
  2956. Call change_option "phone directory=c:\pmcomm\pmcomm.fon",dde_output,dde_input 
  2957. This would change the file used as the Pmcomm phone file. 
  2958.  
  2959. script directory. To change the current script directory the syntax would be: 
  2960. Call change_option "script directory=c:\pmcomm\script",dde_output,dde_input 
  2961.  
  2962. capture directory. To change the current capture file directory the syntax 
  2963. would be: Call change_option "capture 
  2964. directory=c:\pmcomm\capture",dde_output,dde_input 
  2965.  
  2966. chat. This option allows you to turn the Pmcomm chat mode on or off. The syntax 
  2967. to turn off chat mode is: Call change_option "chat=OFF",dde_output,dde_input To 
  2968. turn this option on you would replace the OFF with ON. 
  2969.  
  2970. auto cisb. This option allows you to turn the automatic CISB file transfer on 
  2971. or off. The syntax to turn off auto CISB is: Call change_option "auto 
  2972. cisb=OFF",dde_output,dde_input To turn this option on you would replace the OFF 
  2973. with ON. 
  2974.  
  2975. cisb recovery. This option allows you to turn the CISB file recovery on or off. 
  2976. The syntax to turn off the CISB file recovery is: Call change_option "cisb 
  2977. recovery=OFF",dde_output,dde_input To turn this option on you would replace the 
  2978. OFF with ON. 
  2979.  
  2980. baud. This option allows you to change the current baud rate. This will also 
  2981. change the default baud rate saved in the setup file. The syntax for this 
  2982. command is: Call change_option "baud=19200",dde_output,dde_input 
  2983.  
  2984. startup script. Use this command to change the name of the script that will be 
  2985. executed upon startup of Pmcomm. The syntax of this command is: 
  2986. change_option("startup script=c:\pmcomm\startup.scr"); 
  2987.  
  2988. exit on hangup. This command allows you to have Pmcomm exit once data carrier 
  2989. detect (DCD) has dropped. This will only work correctly if Monitor DCD is also 
  2990. selected. The syntax for this command is: Call change_option "exit on 
  2991. hangup=ON",dde_output,dde_input 
  2992.  
  2993. working directory. To change the current working directory the syntax would be: 
  2994. Call change_option "working directory=c:\pmcomm",dde_output,dde_input 
  2995.  
  2996. scroll size. This command allows you to change the size of the Extended Scroll 
  2997. Back buffer. To change the scroll size the syntax would be: 
  2998.  
  2999. Call change_option "scroll size=65535",dde_output,dde_input 
  3000.  
  3001. keymap. The keymap must be in the working directory of Pmcomm. To change the 
  3002. keymap currently in use the syntax would be : Call change_option 
  3003. "keymap=ansi.map",dde_output,dde_input 
  3004.  
  3005.  
  3006. ΓòÉΓòÉΓòÉ 11.1.24. REXX dial ΓòÉΓòÉΓòÉ
  3007.  
  3008. dial "name",dde_output,dde_input 
  3009.  
  3010. This command will allow a script to dial a number listed in the current Pmcomm 
  3011. dialing directory. To dial the entry call Compu-Plane you would use the 
  3012. following syntax: Call dial "Compu-Plane",dde_output,dde_input 
  3013.  
  3014. This command returns the baud rate of the connection or a 0 if there was no 
  3015. connection. One way that a zero could be returned is if the cancel button on 
  3016. the dialing dialog was pushed. If the REXX dial command returns a 0 you can use 
  3017. the REXX exit function to cancel the script. 
  3018.  
  3019.  
  3020. ΓòÉΓòÉΓòÉ 11.1.25. REXX get_dial_memo ΓòÉΓòÉΓòÉ
  3021.  
  3022. get_dial_memo dde_output,dde_input 
  3023.  
  3024. This command will retrieve the information stored in the memo field of the 
  3025. currently connected phone number. This will allow you to, for example, store 
  3026. your password in the dialing directory memo field, and write a script to use 
  3027. it. By doing this you can change your password without editing the script. All 
  3028. you would have to do is change the text in the memo field for that number. To 
  3029. retrieve the text stored in the current memo field the syntax would be: Call 
  3030. get_dial_memo dde_output,dde_input 
  3031.  
  3032.  
  3033. ΓòÉΓòÉΓòÉ 11.1.26. REXX clipboard_paste ΓòÉΓòÉΓòÉ
  3034.  
  3035. clipboard_paste dde_output,dde_input 
  3036.  
  3037. This command will retrieve text stored in the OS/2 clipboard. The maximum 
  3038. amount of text that can be retrieved at one time is 8192 bytes. To retrieve the 
  3039. text stored in the clipboard the syntax would be: Call clipboard_paste 
  3040. dde_output,dde_input 
  3041.  
  3042.  
  3043. ΓòÉΓòÉΓòÉ 11.1.27. REXX clipboard_copy ΓòÉΓòÉΓòÉ
  3044.  
  3045. clipboard_copy dde_output,dde_input 
  3046.  
  3047. This command will copy text to the OS/2 clipboard. The maximum amount of text 
  3048. that can be sent at one time is 8192 bytes. To send text to the clipboard the 
  3049. syntax would be: Call clipboard_copy "This is a test", dde_output,dde_input 
  3050.  
  3051.  
  3052. ΓòÉΓòÉΓòÉ 11.1.28. REXX clipboard_append ΓòÉΓòÉΓòÉ
  3053.  
  3054. clipboard_append dde_output,dde_input 
  3055.  
  3056. This command will append text to the existing text in the OS/2 clipboard. The 
  3057. maximum amount of text that can be sent at one time is 8192 bytes. To append 
  3058. text to the clipboard the syntax would be: Call clipboard_append "This is a 
  3059. test", dde_output,dde_input 
  3060.  
  3061.  
  3062. ΓòÉΓòÉΓòÉ 11.1.29. xmodem_send ΓòÉΓòÉΓòÉ
  3063.  
  3064. xmodem_send filename,dde_output,dde_input 
  3065.  
  3066. Example 
  3067.  
  3068. Call xmodem_send "filename.ext",dde_output,dde_input 
  3069.  
  3070. Description 
  3071.  
  3072. This call will invoke the Xmodem_CRC send routine, built into Pmcomm. Once 
  3073. issued the call will not return until the transfer either finishes or is 
  3074. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3075. uploading from the menu. 
  3076.  
  3077. Returns 
  3078.  
  3079. 1 if call is successful and 0 if unsuccessful. 
  3080.  
  3081.  
  3082. ΓòÉΓòÉΓòÉ 11.1.30. xmodem_receive ΓòÉΓòÉΓòÉ
  3083.  
  3084. xmodem_receive filename,dde_output,dde_input 
  3085.  
  3086. Example 
  3087.  
  3088. Call xmodem_receive "filename.ext",dde_output,dde_input 
  3089.  
  3090. Description 
  3091.  
  3092. This call will invoke the Xmodem_CRC receive routine, built into Pmcomm. Once 
  3093. issued the call will not return until the transfer either finishes or is 
  3094. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3095. downloading from the menu. The file will be downloaded into the download 
  3096. directory. The file name specified must not include a path. 
  3097.  
  3098. Returns 
  3099.  
  3100. 1 if call is successful and 0 if unsuccessful. 
  3101.  
  3102.  
  3103. ΓòÉΓòÉΓòÉ 11.1.31. xmodem_chk_send ΓòÉΓòÉΓòÉ
  3104.  
  3105. xmodem_chk_send filename,dde_output,dde_input 
  3106.  
  3107. Example 
  3108.  
  3109. Call xmodem_chk_send "filename.ext",dde_output,dde_input 
  3110.  
  3111. Description 
  3112.  
  3113. This call will invoke the Xmodem_Checksum send routine, built into Pmcomm. Once 
  3114. issued the call will not return until the transfer either finishes or is 
  3115. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3116. uploading from the menu. 
  3117.  
  3118. Returns 
  3119.  
  3120. 1 if call is successful and 0 if unsuccessful. 
  3121.  
  3122.  
  3123. ΓòÉΓòÉΓòÉ 11.1.32. xmodem_chk_receive ΓòÉΓòÉΓòÉ
  3124.  
  3125. xmodem_chk_receive filename,dde_output,dde_input 
  3126.  
  3127. Example 
  3128.  
  3129. Call xmodem_receive "filename.ext",dde_output,dde_input 
  3130.  
  3131. Description 
  3132.  
  3133. This call will invoke the Xmodem_Checksum receive routine, built into Pmcomm. 
  3134. Once issued the call will not return until the transfer either finishes or is 
  3135. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3136. downloading from the menu. The file will be downloaded into the download 
  3137. directory. The file name specified must not include a path. 
  3138.  
  3139. Returns 
  3140.  
  3141. 1 if call is successful and 0 if unsuccessful. 
  3142.  
  3143.  
  3144. ΓòÉΓòÉΓòÉ 11.1.33. xmodem_1k_send ΓòÉΓòÉΓòÉ
  3145.  
  3146. xmodem_1k_send filename,dde_output,dde_input 
  3147.  
  3148. Example 
  3149.  
  3150. Call xmodem_1k_send "filename.ext",dde_output,dde_input 
  3151.  
  3152. Description 
  3153.  
  3154. This call will invoke the 1K-Xmodem send routine, built into Pmcomm. Once 
  3155. issued the call will not return until the transfer either finishes or is 
  3156. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3157. uploading from the menu. 
  3158.  
  3159. Returns 
  3160.  
  3161. 1 if call is successful and 0 if unsuccessful. 
  3162.  
  3163.  
  3164. ΓòÉΓòÉΓòÉ 11.1.34. xmodem_1k_receive ΓòÉΓòÉΓòÉ
  3165.  
  3166. xmodem_1k_receive filename,dde_output,dde_input 
  3167.  
  3168. Example 
  3169.  
  3170. Call xmodem_1k_receive "filename.ext",dde_output,dde_input 
  3171.  
  3172. Description 
  3173.  
  3174. This call will invoke the 1K-Xmodem receive routine, built into Pmcomm. Once 
  3175. issued the call will not return until the transfer either finishes or is 
  3176. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3177. downloading from the menu. The file will be downloaded into the download 
  3178. directory. The file name specified must not include a path. 
  3179.  
  3180. Returns 
  3181.  
  3182. 1 if call is successful and 0 if unsuccessful. 
  3183.  
  3184.  
  3185. ΓòÉΓòÉΓòÉ 11.1.35. ymodem_send ΓòÉΓòÉΓòÉ
  3186.  
  3187. ymodem_send filename,dde_output,dde_input 
  3188.  
  3189. Example 
  3190.  
  3191. Call ymodem_send "filename.ext",dde_output,dde_input 
  3192.  
  3193. Description 
  3194.  
  3195. This call will invoke the Ymodem send routine, built into Pmcomm. Once issued 
  3196. the call will not return until the transfer either finishes or is aborted. 
  3197. Pmcomm will show the normal transfer dialog that it does when uploading from 
  3198. the menu. You may send multiple files by specifying more than file name. 
  3199.  
  3200. Returns 
  3201.  
  3202. Number of files transferred. 
  3203.  
  3204.  
  3205. ΓòÉΓòÉΓòÉ 11.1.36. ymodem_receive ΓòÉΓòÉΓòÉ
  3206.  
  3207. ymodem_receive dde_output,dde_input 
  3208.  
  3209. Example 
  3210.  
  3211. Call ymodem_receive dde_output,dde_input 
  3212.  
  3213. Description 
  3214.  
  3215. This call will invoke the Ymodem receive routine, built into Pmcomm. Once 
  3216. issued the call will not return until the transfer either finishes or is 
  3217. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3218. downloading from the menu. The file will be downloaded into the download 
  3219. directory. This one call will receive multiple files. The filenames used are 
  3220. the ones sent from the remote computer. 
  3221.  
  3222. Returns 
  3223.  
  3224. Number of files transferred. 
  3225.  
  3226.  
  3227. ΓòÉΓòÉΓòÉ 11.1.37. ymodemg_send ΓòÉΓòÉΓòÉ
  3228.  
  3229. ymodemg_send filename,dde_output,dde_input 
  3230.  
  3231. Example 
  3232.  
  3233. Call ymodemg_send "filename.ext",dde_output,dde_input 
  3234.  
  3235. Description 
  3236.  
  3237. This call will invoke the Ymodem-g send routine, built into Pmcomm. Once issued 
  3238. the call will not return until the transfer either finishes or is aborted. 
  3239. Pmcomm will show the normal transfer dialog that it does when uploading from 
  3240. the menu. You may send multiple files by specifying more than file name. 
  3241.  
  3242. Returns 
  3243.  
  3244. Number of files transferred. 
  3245.  
  3246.  
  3247. ΓòÉΓòÉΓòÉ 11.1.38. ymodemg_receive ΓòÉΓòÉΓòÉ
  3248.  
  3249. ymodemg_receive dde_output,dde_input 
  3250.  
  3251. Example 
  3252.  
  3253. Call ymodemg_receive dde_output,dde_input 
  3254.  
  3255. Description 
  3256.  
  3257. This call will invoke the Ymodem-g receive routine, built into Pmcomm. Once 
  3258. issued the call will not return until the transfer either finishes or is 
  3259. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3260. downloading from the menu. The file will be downloaded into the download 
  3261. directory. This one call will receive multiple files. The filenames used are 
  3262. the ones sent from the remote computer. 
  3263.  
  3264. Returns 
  3265.  
  3266. Number of files transferred. 
  3267.  
  3268.  
  3269. ΓòÉΓòÉΓòÉ 11.1.39. zmodem_send ΓòÉΓòÉΓòÉ
  3270.  
  3271. zmodem_send filename,dde_output,dde_input 
  3272.  
  3273. Example 
  3274.  
  3275. Call zmodem_send "filename.ext",dde_output,dde_input 
  3276.  
  3277. Description 
  3278.  
  3279. This call will invoke the Zmodem send routine, built into Pmcomm. Once issued 
  3280. the call will not return until the transfer either finishes or is aborted. 
  3281. Pmcomm will show the normal transfer dialog that it does when uploading from 
  3282. the menu. You may send multiple files by specifying more than file name. 
  3283.  
  3284. Returns 
  3285.  
  3286. Number of files transferred. 
  3287.  
  3288.  
  3289. ΓòÉΓòÉΓòÉ 11.1.40. zmodem_receive ΓòÉΓòÉΓòÉ
  3290.  
  3291. zmodem_receive dde_output,dde_input 
  3292.  
  3293. Example 
  3294.  
  3295. Call zmodem_receive dde_output,dde_input 
  3296.  
  3297. Description 
  3298.  
  3299. This call will invoke the Zmodem receive routine, built into Pmcomm. Once 
  3300. issued the call will not return until the transfer either finishes or is 
  3301. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3302. downloading from the menu. The file will be downloaded into the download 
  3303. directory. This one call will receive multiple files. The filenames used are 
  3304. the ones sent from the remote computer. 
  3305.  
  3306. Returns 
  3307.  
  3308. Number of files transferred. 
  3309.  
  3310.  
  3311. ΓòÉΓòÉΓòÉ 11.1.41. kermit_send ΓòÉΓòÉΓòÉ
  3312.  
  3313. kermit_send filename,dde_output,dde_input 
  3314.  
  3315. Example 
  3316.  
  3317. Call kermit_send "filename.ext",dde_output,dde_input 
  3318.  
  3319. Description 
  3320.  
  3321. This call will invoke the Kermit send routine, built into Pmcomm. Once issued 
  3322. the call will not return until the transfer either finishes or is aborted. 
  3323. Pmcomm will show the normal transfer dialog that it does when uploading from 
  3324. the menu. You may send multiple files by specifying more than file name. 
  3325.  
  3326. Returns 
  3327.  
  3328. Number of files transferred. 
  3329.  
  3330.  
  3331. ΓòÉΓòÉΓòÉ 11.1.42. kermit_receive ΓòÉΓòÉΓòÉ
  3332.  
  3333. kermit_receive dde_output,dde_input 
  3334.  
  3335. Example 
  3336.  
  3337. Call kermit_receive dde_output,dde_input 
  3338.  
  3339. Description 
  3340.  
  3341. This call will invoke the Kermit receive routine, built into Pmcomm. Once 
  3342. issued the call will not return until the transfer either finishes or is 
  3343. aborted. Pmcomm will show the normal transfer dialog that it does when 
  3344. downloading from the menu. The file will be downloaded into the download 
  3345. directory. This one call will receive multiple files. The filenames used are 
  3346. the ones sent from the remote computer. 
  3347.  
  3348. Returns 
  3349.  
  3350. Number of files transferred. 
  3351.  
  3352.  
  3353. ΓòÉΓòÉΓòÉ 11.1.43. ascii_send ΓòÉΓòÉΓòÉ
  3354.  
  3355. ascii_send filename,dde_output,dde_input 
  3356.  
  3357. Example 
  3358.  
  3359. Call ascii_send "filename.ext",dde_output,dde_input 
  3360.  
  3361. Description 
  3362.  
  3363. This call will invoke the ASCII send routine, built into Pmcomm. Once issued 
  3364. the call will not return until the transfer either finishes or is aborted. 
  3365. Pmcomm will show the normal transfer dialog that it does when uploading from 
  3366. the menu. 
  3367.  
  3368. Returns 
  3369.  
  3370. 1 if call is successful and 0 if unsuccessful. 
  3371.  
  3372.  
  3373. ΓòÉΓòÉΓòÉ 11.1.44. ascii_receive ΓòÉΓòÉΓòÉ
  3374.  
  3375. ascii_receive filename,dde_output,dde_input 
  3376.  
  3377. Example 
  3378.  
  3379. Call ascii_receive "filename.ext",dde_output,dde_input 
  3380.  
  3381. Description 
  3382.  
  3383. This call will invoke the ASCII receive routine, built into Pmcomm. Once issued 
  3384. the call will not return until the transfer either finishes or is aborted. 
  3385. Pmcomm will show the normal transfer dialog that it does when downloading from 
  3386. the menu. The file will be downloaded into the download directory. The file 
  3387. name specified must not include a path. 
  3388.  
  3389. Returns 
  3390.  
  3391. 1 if call is successful and 0 if unsuccessful. 
  3392.  
  3393.  
  3394. ΓòÉΓòÉΓòÉ 11.1.45. cisb_send ΓòÉΓòÉΓòÉ
  3395.  
  3396. cisb_send filename,dde_output,dde_input 
  3397.  
  3398. Example 
  3399.  
  3400. Call cisb_send "filename.ext",dde_output,dde_input 
  3401.  
  3402. Description 
  3403.  
  3404. This call will invoke the CISB send routine, built into Pmcomm. Once issued the 
  3405. call will not return until the transfer either finishes or is aborted. Pmcomm 
  3406. will show the normal transfer dialog that it does when uploading from the menu. 
  3407.  
  3408. Returns 
  3409.  
  3410. 1 if call is successful and 0 if unsuccessful. 
  3411.  
  3412.  
  3413. ΓòÉΓòÉΓòÉ 11.1.46. cisb_receive ΓòÉΓòÉΓòÉ
  3414.  
  3415. cisb_receive filename,dde_output,dde_input 
  3416.  
  3417. Example 
  3418.  
  3419. Call cisb_receive "filename.ext",dde_output,dde_input 
  3420.  
  3421. Description 
  3422.  
  3423. This call will invoke the CISB receive routine, built into Pmcomm. Once issued 
  3424. the call will not return until the transfer either finishes or is aborted. 
  3425. Pmcomm will show the normal transfer dialog that it does when downloading from 
  3426. the menu. The file will be downloaded into the download directory. The file 
  3427. name specified must not include a path. 
  3428.  
  3429. Returns 
  3430.  
  3431. 1 if call is successful and 0 if unsuccessful. 
  3432.  
  3433.  
  3434. ΓòÉΓòÉΓòÉ 11.2. Internal Functions ΓòÉΓòÉΓòÉ
  3435.  
  3436. These are script functions that are built into Pmcomm. 
  3437.  
  3438.  
  3439. ΓòÉΓòÉΓòÉ 11.2.1. wait_for (internal) ΓòÉΓòÉΓòÉ
  3440.  
  3441. wait_for("string"); 
  3442.  
  3443. This will wait until the word 'string' is received. One use of this is when 
  3444. logging onto a BBS you can have it wait until prompted for a first name. 
  3445.  
  3446.  
  3447. ΓòÉΓòÉΓòÉ 11.2.2. puts ΓòÉΓòÉΓòÉ
  3448.  
  3449. puts("string"); 
  3450.  
  3451. This will send string to the communication port. The 'C' language special 
  3452. character '\r','\n','\b',and '\a' can also be used. 
  3453.  
  3454. The \r means carriage return. 
  3455.  
  3456. The \n means carriage return and line feed combination. 
  3457.  
  3458. The \b means backspace. 
  3459.  
  3460. The \a means alert (Pmcomm will beep). 
  3461.  
  3462.  
  3463. ΓòÉΓòÉΓòÉ 11.2.3. sleep (internal) ΓòÉΓòÉΓòÉ
  3464.  
  3465. sleep(1000); 
  3466.  
  3467. This will wait for the number of milliseconds specified. In this example it 
  3468. would sleep for one second. 
  3469.  
  3470.  
  3471. ΓòÉΓòÉΓòÉ 11.2.4. call ΓòÉΓòÉΓòÉ
  3472.  
  3473. call("filename"); 
  3474.  
  3475. This allows you to nest scripts. If you put the name of the script that you 
  3476. want to execute where it says filename, it will execute that script and then 
  3477. continue. The limit on number of nested scripts is only by available stack 
  3478. space. 
  3479.  
  3480.  
  3481. ΓòÉΓòÉΓòÉ 11.2.5. capture_on ΓòÉΓòÉΓòÉ
  3482.  
  3483. capture_on("filename"); 
  3484.  
  3485. Captures all screen output to a file. Replace filename with the name of the 
  3486. file you want the output written to. The capture file will be automatically 
  3487. closed when you log off, if you have Monitor_DCD selected. 
  3488.  
  3489.  
  3490. ΓòÉΓòÉΓòÉ 11.2.6. capture_off ΓòÉΓòÉΓòÉ
  3491.  
  3492. capture_off(); 
  3493.  
  3494. Stops screen capture and closes the capture file. You can also close the 
  3495. capture file from the menu. 
  3496.  
  3497.  
  3498. ΓòÉΓòÉΓòÉ 11.2.7. change_option ΓòÉΓòÉΓòÉ
  3499.  
  3500. change_option("option"); 
  3501.  
  3502. This command will allow a script to change certain options in Pmcomm. The 
  3503. options that can be changed are: 
  3504.  
  3505. device. This option will allow you to change the current device that Pmcomm is 
  3506. using. For example to change the current device to COM2, the syntax would be: 
  3507. change_option("device=COM2"); 
  3508.  
  3509. hardware. This option will allow you to turn hardware flow control on or off. 
  3510. If you want to turn hardware flow control off the syntax would be: 
  3511. change_option("hardware=OFF"); To turn hardware flow control on you would 
  3512. replace the OFF with ON. 
  3513.  
  3514. XON/XOFF. This option will allow you to turn Xon/Xoff flow control on or off. 
  3515. If you want to turn Xon/Xoff flow control off the syntax would be: 
  3516. change_option("XON/XOFF=OFF"); To turn Xon/Xoff flow control on you would 
  3517. replace the OFF with ON. 
  3518.  
  3519. dtr. If this option is turned on the DTR will be lowered when hangup is 
  3520. selected. If you want to turn this option off the syntax would be: 
  3521. change_option("dtr=OFF"); 
  3522.  
  3523. stop bits. This option will allow you to set the number of stop bits that the 
  3524. communication port is set to. The communication port will be changed before the 
  3525. command is completed, and the default stop bits will be set to the new value. 
  3526. To set the communication port to 1 stop bit, the syntax would be: 
  3527. change_option("stop bits=1"); The communication port can only be set to 1 or 2 
  3528. stop bits from a script. 
  3529.  
  3530. data bits. This option will allow you to set the number of data bits that the 
  3531. communication port is set to. The communication port will be changed before the 
  3532. command is completed, and the default data bits will be set to the new value. 
  3533. To set the communication port to 8 data bits, the syntax would be: 
  3534. change_option("data bits=8"); The communication port can be set to 8, 7, 6 or 5 
  3535. data bits. 
  3536.  
  3537. parity. This option will allow you to set the parity for the current 
  3538. communication port. The communication port will be changed before the command 
  3539. is completed, and the default parity will be set to the new value. To set the 
  3540. communication port to Even parity, the syntax would be: 
  3541. change_option("parity=Even"); The communication port can be set to None, Even , 
  3542. Odd, Mark or Space parity. 
  3543.  
  3544. initialization string. This option allows you to change the modem 
  3545. initialization string that Pmcomm uses. To change the string the syntax would 
  3546. be: change_option("initialization string=ATZ"); 
  3547.  
  3548. dial timeout. This option will allow you to set the number of seconds that 
  3549. Pmcomm will wait when dialing a remote computer. If you wanted to set the 
  3550. number of seconds to 60 the syntax for the command would be: 
  3551. change_option("dial timeout=60"); 
  3552.  
  3553. redial delay. This option will allow you to set the number of seconds that 
  3554. Pmcomm will wait between dialing attempts. If you wanted to set the number of 
  3555. seconds to 6 the syntax for the command would be: change_option("redial 
  3556. delay=6"); 
  3557.  
  3558. hangup string. This option allows you to change the modem hangup string that 
  3559. Pmcomm uses. To change the string the syntax would be: change_option("hangup 
  3560. string=+++~~~ATH^M"); 
  3561.  
  3562. auto zmodem string. Some host systems do not send a standard auto zmodem 
  3563. string. This command allows you to change the string that Pmcomm looks for, 
  3564. when the host starts a zmodem send file transfer. When Pmcomm finds a match it 
  3565. will start a zmodem receive file transfer. To change the auto zmodem string the 
  3566. syntax would be: 
  3567.  
  3568. change_option("auto zmodem string=B00000"); 
  3569.  
  3570. zmodem date. This option allows you turn on and off whether Pmcomm will compare 
  3571. the file dates during a zmodem resume file transfer. The syntax to turn the 
  3572. date compare off would be: 
  3573.  
  3574. change_option("zmodem date=OFF"); To turn this option on you would replace the 
  3575. OFF with ON. 
  3576.  
  3577. zmodem rename. This option allows you turn on and off whether Pmcomm will 
  3578. rename duplicate files, if a resume fails (or is turned off). If this option is 
  3579. on Pmcomm will rename the new file with a number for an extension. The syntax 
  3580. to turn the zmodem rename off would be: 
  3581.  
  3582. change_option("zmodem rename=OFF"); To turn this option on you would replace 
  3583. the OFF with ON. 
  3584.  
  3585. auto zmodem. This option will allow you to turn the auto zmodem feature on or 
  3586. off. If you want to turn auto zmodem off the syntax would be: 
  3587. change_option("auto zmodem=OFF"); To turn auto zmodem on you would replace the 
  3588. OFF with ON. 
  3589.  
  3590. zmodem recovery. This option will allow you to turn the zmodem recovery feature 
  3591. on or off. If you want to turn zmodem recovery off the syntax would be: 
  3592. change_option("zmodem recovery=OFF"); To turn zmodem recovery on you would 
  3593. replace the OFF with ON. 
  3594.  
  3595. zmodem crc. This option allows you to select either the 32 bit or 16 bit zmodem 
  3596. CRC error detection option. To select the 32 bit option the syntax would be: 
  3597. change_option("zmodem crc=32"); 
  3598.  
  3599. download directory. To change the current download directory the syntax would 
  3600. be: change_option("download directory=c:\pmcomm\"); 
  3601.  
  3602. hide dial. This option allows you to select if the main terminal window is 
  3603. hidden while Pmcomm is dialing a remote computer. To allow the main window to 
  3604. remain visible while dialing the syntax would be: change_option("hide 
  3605. dial=OFF"); To turn hide dial on you would replace the OFF with ON. 
  3606.  
  3607. hide transfer. This option allows you to select if the main terminal window is 
  3608. hidden while Pmcomm is doing a file transfer. To allow the main window to 
  3609. remain visible while doing file transfers the syntax would be: 
  3610. change_option("hide transfer=OFF"); To turn hide transfer on you would replace 
  3611. the OFF with ON. 
  3612.  
  3613. auto vertical. This option determines if Pmcomm will automatically scroll the 
  3614. terminal window vertically to keep the current cursor position in the window. 
  3615. To turn this option off the syntax would be: change_option("auto 
  3616. vertical=OFF"); To turn this option on you would replace the OFF with ON. 
  3617.  
  3618. auto horizontal. This option determines if Pmcomm will automatically scroll the 
  3619. terminal window horizontally to keep the current cursor position in the window. 
  3620. To turn this option off the syntax would be: change_option("auto 
  3621. horizontal=OFF"); To turn this option on you would replace the OFF with ON. 
  3622.  
  3623. save dial. If this option is on then Pmcomm will store the position of the 
  3624. dialing dialog box, and use it the next time a number is dialed. To turn this 
  3625. option off the syntax would be: change_option("save dial=OFF"); To turn this 
  3626. option on you would replace the OFF with ON. 
  3627.  
  3628. save transfer. If this option is on then Pmcomm will store the position of the 
  3629. transfer dialog box, and use it the next time a file is transferred dialed. To 
  3630. turn this option off the syntax would be: change_option("save transfer=OFF"); 
  3631. To turn this option on you would replace the OFF with ON. 
  3632.  
  3633. sound. This option allows you to turn the warning beeps in Pmcomm, on or off. 
  3634. To turn this option off the syntax would be: change_option("sound=OFF"); To 
  3635. turn this option on you would replace the OFF with ON. 
  3636.  
  3637. monitor dcd. If this option is on, then Pmcomm will monitor the presence of 
  3638. data carrier detect (DCD). To turn this option off the syntax would be: 
  3639. change_option("monitor dcd=OFF"); To turn this option on you would replace the 
  3640. OFF with ON. 
  3641.  
  3642. page length. This option allows you to set the ANSI page length from a script. 
  3643. Following is an example of how to set the page length to 25 lines. 
  3644. change_option("page length=25"); 
  3645.  
  3646. terminal. This option allows you to change the type of terminal from within a 
  3647. Pmcomm script. The following example would set the terminal type to ANSI. 
  3648. change_option("terminal=ANSI"); The available valid terminal types are TTY, 
  3649. ANSI, VT100 or VT220. 
  3650.  
  3651. foreground. This option allows you to change the foreground color from within a 
  3652. Pmcomm script. The available colors are: 
  3653.  
  3654. black 
  3655. blue 
  3656. green 
  3657. cyan 
  3658. red 
  3659. magenta 
  3660. brown 
  3661. white 
  3662. dark grey 
  3663. light blue 
  3664. light green 
  3665. light cyan 
  3666. light red 
  3667. pink 
  3668. yellow 
  3669. bright white 
  3670.  
  3671. The syntax to change the foreground color to cyan would be: 
  3672. change_option("foreground=cyan"); 
  3673.  
  3674. background. This option allows you to change the background color from within a 
  3675. Pmcomm script. The available colors are: 
  3676.  
  3677. black 
  3678. blue 
  3679. green 
  3680. cyan 
  3681. red 
  3682. magenta 
  3683. brown 
  3684. white 
  3685. dark grey 
  3686. light blue 
  3687. light green 
  3688. light cyan 
  3689. light red 
  3690. pink 
  3691. yellow 
  3692. bright white 
  3693.  
  3694. The syntax to change the background color to black would be: 
  3695. change_option("background=black"); 
  3696.  
  3697. echo. This option allows you turn on and off the local keystroke echo. The 
  3698. syntax to turn echo off would be: change_option("echo=OFF"); To turn this 
  3699. option on you would replace the OFF with ON. 
  3700.  
  3701. prefix1 
  3702. prefix2 
  3703. prefix3 
  3704.  
  3705.  These options allow you to change the dialing prefixes. For example to change 
  3706. prefix1 you would use the following syntax: change_option("prefix1=ATDT"); 
  3707.  
  3708. suffix1 
  3709. suffix2 
  3710. suffix3 
  3711.  
  3712.  These options allow you to change the dialing suffixes. For example to change 
  3713. suffix1 you would use the following syntax: change_option("suffix1=^M"); 
  3714.  
  3715. strip ansi. This option allows you to select if Pmcomm will strip the ANSI 
  3716. commands from a capture file. The syntax to turn off the stripping of the ANSI 
  3717. commands would be: change_option("strip ansi=OFF"); To turn this option on you 
  3718. would replace the OFF with ON. 
  3719.  
  3720. macro1 
  3721. macro2 
  3722. macro3 
  3723. macro4 
  3724. macro5 
  3725. macro6 
  3726. macro7 
  3727. macro8 
  3728. macro9 
  3729. macro10 
  3730.  
  3731. These options allow you to change the keyboard macros. For example to change 
  3732. macro1 you would use the following syntax: change_option("macro1=ATZ"); 
  3733.  
  3734. phone directory. To change the current phone directory the syntax would be: 
  3735. change_option("phone directory=c:\pmcomm\pmcomm.fon"); This would change the 
  3736. file used as the Pmcomm phone file. 
  3737.  
  3738. script directory. To change the current script directory the syntax would be: 
  3739. change_option("script directory=c:\pmcomm\script"); 
  3740.  
  3741. capture directory. To change the current capture file directory the syntax 
  3742. would be: change_option("capture directory=c:\pmcomm\capture"); 
  3743.  
  3744. chat. This option allows you to turn the Pmcomm chat mode on or off. The syntax 
  3745. to turn off chat mode is: change_option("chat=OFF"); To turn this option on you 
  3746. would replace the OFF with ON. 
  3747.  
  3748. auto cisb. This option allows you to turn the automatic CISB file transfer on 
  3749. or off. The syntax to turn off auto CISB is: change_option("auto cisb=OFF"); To 
  3750. turn this option on you would replace the OFF with ON. 
  3751.  
  3752. cisb recovery. This option allows you to turn the CISB file recovery on or off. 
  3753. The syntax to turn off the CISB file recovery is: change_option("cisb 
  3754. recovery=OFF"); To turn this option on you would replace the OFF with ON. 
  3755.  
  3756. baud. This option allows you to change the current baud rate. This will also 
  3757. change the default baud rate saved in the setup file. The syntax for this 
  3758. command is: change_option("baud=19200"); 
  3759.  
  3760. startup script. Use this command to change the name of the script that will be 
  3761. executed upon startup of Pmcomm. The syntax of this command is: 
  3762. change_option("startup script=c:\pmcomm\startup.scr"); 
  3763.  
  3764. exit on hangup. This command allows you to have Pmcomm exit once data carrier 
  3765. detect (DCD) has dropped. This will only work correctly if Monitor DCD is also 
  3766. selected. The syntax for this command is: change_option("exit on hangup=ON"); 
  3767.  
  3768. working directory. To change the current working directory the syntax would be: 
  3769. change_option("working directory=c:\pmcomm"); 
  3770.  
  3771. scroll size. This command allows you to change the size of the Extended Scroll 
  3772. Back buffer. To change the scroll size the syntax would be: 
  3773.  
  3774. change_option("scroll size=65535"); 
  3775.  
  3776. keymap. The keymap must be in the working directory of Pmcomm. To change the 
  3777. keymap currently in use the syntax would be : change_option("keymap=ansi.map"); 
  3778.  
  3779.  
  3780. ΓòÉΓòÉΓòÉ 11.2.8. Internal script dial ΓòÉΓòÉΓòÉ
  3781.  
  3782. dial("name"); 
  3783.  
  3784. This command will allow a script to dial a number listed in the current Pmcomm 
  3785. dialing directory. To dial the entry call Compu-Plane you would use the 
  3786. following syntax: dial("Compu-Plane"); 
  3787.  
  3788.  
  3789. ΓòÉΓòÉΓòÉ 11.2.9. shell ΓòÉΓòÉΓòÉ
  3790.  
  3791. shell("\path\filename.ext"); 
  3792.  
  3793. Allows you to call an external program to run from a script. 
  3794.  
  3795.  
  3796. ΓòÉΓòÉΓòÉ 11.2.10. exit (function) ΓòÉΓòÉΓòÉ
  3797.  
  3798. exit(); 
  3799.  
  3800. This function, once called, will exit Pmcomm. 
  3801.  
  3802.  
  3803. ΓòÉΓòÉΓòÉ 11.3. 'C' Functions ΓòÉΓòÉΓòÉ
  3804.  
  3805. These are the functions that are included in the cpmcomm and cpmcom32 
  3806. libraries. The cpmcomm.lib is a large model library and the cpmcom32.lib is a 
  3807. large model 32 bit library. The cpmcomm.h file has function definitions for the 
  3808. cpmcomm library and cpmcom32.h file has function definitions for the cpmcom32 
  3809. library, and should be included in any program that uses the cpmcomm libraries. 
  3810. The 32 bit library is made to be used with the IBM C Set/2 compiler. The 
  3811. function init_lib must be called before any other of the library routines are 
  3812. used. 
  3813.  
  3814.  
  3815. ΓòÉΓòÉΓòÉ 11.3.1. wait_for ΓòÉΓòÉΓòÉ
  3816.  
  3817. USHORT wait_for(USHORT argc,CHAR **argv,HFILE port); 
  3818.  
  3819. Example 
  3820.  
  3821. USHORT result; 
  3822.  
  3823. CHAR *argv[2]; 
  3824.  
  3825. CHAR string1[80]; 
  3826.  
  3827. CHAR string2[80]; 
  3828.  
  3829. strcpy(string1,"first name?"); 
  3830.  
  3831. strcpy(string2,"last name?"); 
  3832.  
  3833. argv[0] = string1; 
  3834.  
  3835. argv[1] = string2; 
  3836.  
  3837. result = wait_for(2,argv,port); 
  3838.  
  3839. Description 
  3840.  
  3841. The above example would wait for either first name?, or last name?, from the 
  3842. communication port. The function will return the index of the string that 
  3843. matched. For example if the wait_for received last name?, then the result would 
  3844. be 2. You can specify any number of strings depending on memory available. 
  3845.  
  3846. Returns 
  3847.  
  3848. Index of matched string or zero if timeout or error. 
  3849.  
  3850.  
  3851. ΓòÉΓòÉΓòÉ 11.3.2. wait_fore ΓòÉΓòÉΓòÉ
  3852.  
  3853. USHORT wait_fore(USHORT argc,CHAR **argv,HFILE port, HFILE screen_handle); 
  3854.  
  3855. Example 
  3856.  
  3857. USHORT result; 
  3858.  
  3859. CHAR *argv[2]; 
  3860.  
  3861. CHAR string1[80]; 
  3862.  
  3863. CHAR string2[80]; 
  3864.  
  3865. strcpy(string1,"first name?"); 
  3866.  
  3867. strcpy(string2,"last name?"); 
  3868.  
  3869. argv[0] = string1; 
  3870.  
  3871. argv[1] = string2; 
  3872.  
  3873. result = wait_for(2,argv,port,screen_handle); 
  3874.  
  3875. Description 
  3876.  
  3877. The first example would wait for either first name?, or last name?, from the 
  3878. communication port and echo the out_put to the Pmcomm screen. 
  3879.  
  3880. Returns 
  3881.  
  3882. Index of matched string or zero if timeout or error. 
  3883.  
  3884.  
  3885. ΓòÉΓòÉΓòÉ 11.3.3. put_s ΓòÉΓòÉΓòÉ
  3886.  
  3887. USHORT put_s(char *string,HFILE port); 
  3888.  
  3889. Example 
  3890.  
  3891. put_s("first name",port); 
  3892.  
  3893. Description 
  3894.  
  3895. This call will send string out to port. In the above example first name will be 
  3896. sent to the communication port. If screen_handle is specified instead of port 
  3897. then the string will be sent to the Pmcomm screen. 
  3898.  
  3899. Returns 
  3900.  
  3901. Length of string actually written. 
  3902.  
  3903.  
  3904. ΓòÉΓòÉΓòÉ 11.3.4. sleep ΓòÉΓòÉΓòÉ
  3905.  
  3906. VOID sleep(ULONG time); 
  3907.  
  3908. Example 
  3909.  
  3910. sleep(1000L); 
  3911.  
  3912. Description 
  3913.  
  3914. This call will delay the program for the amount of milliseconds specified. The 
  3915. above example will delay the computer for one second. 
  3916.  
  3917. Returns 
  3918.  
  3919. None. 
  3920.  
  3921.  
  3922. ΓòÉΓòÉΓòÉ 11.3.5. beep ΓòÉΓòÉΓòÉ
  3923.  
  3924. VOID beep(USHORT frequency,USHORT duration); 
  3925.  
  3926. Example 
  3927.  
  3928. beep(495,100); 
  3929.  
  3930. Description 
  3931.  
  3932. The above example will beep the speaker. 
  3933.  
  3934. Returns 
  3935.  
  3936. None. 
  3937.  
  3938.  
  3939. ΓòÉΓòÉΓòÉ 11.3.6. os2_shell ΓòÉΓòÉΓòÉ
  3940.  
  3941. VOID os2_shell(HFILE port,HFILE port); 
  3942.  
  3943. Example 
  3944.  
  3945. os2_shell(port,port); 
  3946.  
  3947. Description 
  3948.  
  3949. This command will allow a caller to shell to OS/2, remotely. The first 
  3950. parameter is input handle and the second is the output handle. In the example 
  3951. above, the command will receive and send the information to the communication 
  3952. port. 
  3953.  
  3954. Returns 
  3955.  
  3956. None. 
  3957.  
  3958.  
  3959. ΓòÉΓòÉΓòÉ 11.3.7. init_lib ΓòÉΓòÉΓòÉ
  3960.  
  3961. USHORT init_lib(int argc,char **argv); 
  3962.  
  3963. Example 
  3964.  
  3965. main(argc,argv) 
  3966.  
  3967.  
  3968. init_lib(argc,argv); 
  3969.  
  3970. ... 
  3971.  
  3972.  
  3973. The init_lib function will initialize some global variables that are passed on 
  3974. the command line. These variables are: 
  3975.  
  3976. USHORT port; 
  3977.  
  3978. CHAR portname[15]; 
  3979.  
  3980. HFILE dde_output,dde_input; 
  3981.  
  3982. HFILE screen_handle; 
  3983.  
  3984. This function must be called before any other library function is called. 
  3985.  
  3986. Returns 
  3987.  
  3988. 1 if sucessful and 0 if not. 
  3989.  
  3990.  
  3991. ΓòÉΓòÉΓòÉ 11.3.8. 'C' set_download_path ΓòÉΓòÉΓòÉ
  3992.  
  3993. VOID set_download_path(char *path); 
  3994.  
  3995. Example 
  3996.  
  3997. set_download_path("c:\pmcomm"); 
  3998.  
  3999. Description 
  4000.  
  4001. The above example will set the download path to c:\pmcomm. This will store all 
  4002. of the files received in that directory. 
  4003.  
  4004. Returns 
  4005.  
  4006. None. 
  4007.  
  4008.  
  4009. ΓòÉΓòÉΓòÉ 11.3.9. setcom ΓòÉΓòÉΓòÉ
  4010.  
  4011. SHORT setcom(char *baud,UCHAR parity,UCHAR data_bit,UCHAR stop_bits,HFILE 
  4012. port); 
  4013.  
  4014. Example 
  4015.  
  4016. setcom("2400",'N',8,1,port); 
  4017.  
  4018. Description 
  4019.  
  4020. This would set the communication port to 2400 baud, no parity, 8 data bits, 1 
  4021. stop bit. Baud can be from 300 to 19200 with the standard OS/2 device driver. 
  4022. Parity can be N(none), O(odd), E(even), M(marked), or S(spaced). Data bits can 
  4023. be 5, 6, 7 or 8. Stop bits can be 1 or 2 (2 can only be used with 5 data bits). 
  4024. If the baud parameter is an empty string i.e. setcom("",'E',7,1,port) this 
  4025. leaves the baud at the current rate but set the line characteristics to 7, 
  4026. Even, 1. 
  4027.  
  4028. Returns 
  4029.  
  4030. 1 if successful and 0 if unsuccessful. 
  4031.  
  4032.  
  4033. ΓòÉΓòÉΓòÉ 11.3.10. sendb ΓòÉΓòÉΓòÉ
  4034.  
  4035. VOID sendb(LONG length,HFILE port); 
  4036.  
  4037. Example 
  4038.  
  4039. sendb(300L,port); 
  4040.  
  4041. Description 
  4042.  
  4043. This call sends a break signal a certain time in milliseconds. The above 
  4044. example would send a break signal for 300 milliseconds. This call is mostly 
  4045. used to establish direct connects (not using a modem). Three hundred 
  4046. milliseconds should be okay for most situations. 
  4047.  
  4048. Returns 
  4049.  
  4050. None. 
  4051.  
  4052.  
  4053. ΓòÉΓòÉΓòÉ 11.3.11. dcd ΓòÉΓòÉΓòÉ
  4054.  
  4055. USHORT dcd(HFILE port); 
  4056.  
  4057. Example 
  4058.  
  4059. dcd(port); 
  4060.  
  4061. Description 
  4062.  
  4063. This call checks to see if there is a carrier detected on the modem. You can 
  4064. use this to see if Pmcomm is still online to a remote computer. For this 
  4065. information to be correct the modem must support dcd and the modem must be 
  4066. configured to support dcd. To find the command refer to your owner's manual. 
  4067.  
  4068. Returns 
  4069.  
  4070. 1 if carrier detected and 0 if no carrier. 
  4071.  
  4072.  
  4073. ΓòÉΓòÉΓòÉ 11.3.12. char_avail ΓòÉΓòÉΓòÉ
  4074.  
  4075. USHORT char_avail(HFILE port); 
  4076.  
  4077. Example 
  4078.  
  4079. char_avail(port); 
  4080.  
  4081. Description 
  4082.  
  4083. This call checks to see how many characters are available in the device drivers 
  4084. receive buffer. You can use this function to check to see if the device driver 
  4085. has received any characters from the communication port. 
  4086.  
  4087. Returns 
  4088.  
  4089. Number of characters in device driver receive queue. 
  4090.  
  4091.  
  4092. ΓòÉΓòÉΓòÉ 11.3.13. read_timeout ΓòÉΓòÉΓòÉ
  4093.  
  4094. read_timeout(USHORT timeout,HFILE port); 
  4095.  
  4096. Example 
  4097.  
  4098. read_timeout(20000,port); 
  4099.  
  4100. Description 
  4101.  
  4102. This call sets the length of time (in milliseconds) that wait_for, wait_fore, 
  4103. get_ch will wait for a character from the communication port. The above example 
  4104. will make the functions wait for 20 seconds. 
  4105.  
  4106. Returns 
  4107.  
  4108. 1 if successful and 0 if unsuccessful. 
  4109.  
  4110.  
  4111. ΓòÉΓòÉΓòÉ 11.3.14. get_ch ΓòÉΓòÉΓòÉ
  4112.  
  4113. CHAR get_ch(HFILE port); 
  4114.  
  4115. Example 
  4116.  
  4117. ch = get_ch(port); 
  4118.  
  4119. Description 
  4120.  
  4121. This call will get a character from the communication port. If no character is 
  4122. available by the time set with read_timeout the function will return with a 
  4123. value of -1. Otherwise the function will return with the character read. 
  4124.  
  4125. Returns 
  4126.  
  4127. char value if successful and -1 if unsuccessful. 
  4128.  
  4129.  
  4130. ΓòÉΓòÉΓòÉ 11.3.15. ring_detect ΓòÉΓòÉΓòÉ
  4131.  
  4132. USHORT ring_detect(HFILE port); 
  4133.  
  4134. Example 
  4135.  
  4136. ring_detect(port); 
  4137.  
  4138. Description 
  4139.  
  4140. This call can be used to inform a program if the phone is ringing. 
  4141.  
  4142. Returns 
  4143.  
  4144. 1 if ring detected, 0 if no ring. 
  4145.  
  4146.  
  4147. ΓòÉΓòÉΓòÉ 11.3.16. drop_dtr ΓòÉΓòÉΓòÉ
  4148.  
  4149. VOID drop_dtr(HFILE port); 
  4150.  
  4151. Example 
  4152.  
  4153. drop_dtr(port); 
  4154.  
  4155. Description 
  4156.  
  4157. This call is usually used to make a modem hang up. The modem must be configured 
  4158. to allow this. To find the command for your modem, check your owner's manual. 
  4159. Dtr needs to be dropped for about 2-3 seconds to make sure the modem sees the 
  4160. drop in DTR. After that length of time raise_dtr can be called to bring DTR 
  4161. back up. On a Hayes 2400 the above command will also keep the modem from doing 
  4162. an auto answer until you raise_dtr again. 
  4163.  
  4164. Returns 
  4165.  
  4166. None. 
  4167.  
  4168.  
  4169. ΓòÉΓòÉΓòÉ 11.3.17. raise_dtr ΓòÉΓòÉΓòÉ
  4170.  
  4171. VOID raise_dtr(HFILE port); 
  4172.  
  4173. Example 
  4174.  
  4175. raise_dtr(port); 
  4176.  
  4177. Description This call is usually used after drop_dtr to allow the modem to 
  4178. process commands and enable it to answer the phone. 
  4179.  
  4180. Returns 
  4181.  
  4182. None. 
  4183.  
  4184.  
  4185. ΓòÉΓòÉΓòÉ 11.3.18. get_cursor_position ΓòÉΓòÉΓòÉ
  4186.  
  4187. USHORT get_cursor_position(char *str); 
  4188.  
  4189. Example 
  4190.  
  4191. get_cursor_position("column"); 
  4192.  
  4193. Description 
  4194.  
  4195. The above will return the column that the cursor is in. To get the current row, 
  4196. you would issue this call with "row" instead of "column". The row value that is 
  4197. returned is relative to the top of the scroll back buffer. The top row of the 
  4198. scroll back buffer and the first column would be 0,0. 
  4199.  
  4200. Returns 
  4201.  
  4202. Cursor position. 
  4203.  
  4204.  
  4205. ΓòÉΓòÉΓòÉ 11.3.19. get_char_at ΓòÉΓòÉΓòÉ
  4206.  
  4207. VOID get_char_at(USHORT row,USHORT col,USHORT num,char *returnstr); 
  4208.  
  4209. Example 
  4210.  
  4211. get_char_at(0,0,80,str); 
  4212.  
  4213. Description 
  4214.  
  4215. The above will return the characters at the first line (stored in str) of the 
  4216. scroll back buffer. It will return 80 characters, even if the characters are 
  4217. spaces. The maximum number of characters that can be returned at one time is 
  4218. 200. 
  4219.  
  4220. Returns 
  4221.  
  4222. None. 
  4223.  
  4224.  
  4225. ΓòÉΓòÉΓòÉ 11.3.20. 'C'capture_on ΓòÉΓòÉΓòÉ
  4226.  
  4227. USHORT capture_on(filename); 
  4228.  
  4229. Example 
  4230.  
  4231. capture_on("c:\pmcomm\cap.txt"); 
  4232.  
  4233. Description 
  4234.  
  4235. The above will turn capture on so that everything will be saved into a file. If 
  4236. you have strip ANSI configured in Pmcomm then the text only will be saved in 
  4237. ANSI, VT100, and VT220 terminal emulations. 
  4238.  
  4239. Returns 
  4240.  
  4241. 1 if successful and 0 if not. 
  4242.  
  4243.  
  4244. ΓòÉΓòÉΓòÉ 11.3.21. 'C' capture_off ΓòÉΓòÉΓòÉ
  4245.  
  4246. VOID capture_off(VOID); 
  4247.  
  4248. Example 
  4249.  
  4250. capture_off(); 
  4251.  
  4252. Description 
  4253.  
  4254. The above will turn capture off. The capture may have been started from a 
  4255. script or from the menu. 
  4256.  
  4257. Returns 
  4258.  
  4259. 1 if successful and 0 if not. 
  4260.  
  4261.  
  4262. ΓòÉΓòÉΓòÉ 11.3.22. 'C' change_option ΓòÉΓòÉΓòÉ
  4263.  
  4264. change_option("option"); 
  4265.  
  4266. This command will allow a script to change certain options in Pmcomm. The 
  4267. options that can be changed are: 
  4268.  
  4269. device. This option will allow you to change the current device that Pmcomm is 
  4270. using. For example to change the current device to COM2, the syntax would be: 
  4271. change_option("device=COM2"); 
  4272.  
  4273. hardware. This option will allow you to turn hardware flow control on or off. 
  4274. If you want to turn hardware flow control off the syntax would be: 
  4275. change_option("hardware=OFF"); To turn hardware flow control on you would 
  4276. replace the OFF with ON. 
  4277.  
  4278. XON/XOFF. This option will allow you to turn Xon/Xoff flow control on or off. 
  4279. If you want to turn Xon/Xoff flow control off the syntax would be: 
  4280. change_option("XON/XOFF=OFF"); To turn Xon/Xoff flow control on you would 
  4281. replace the OFF with ON. 
  4282.  
  4283. dtr. If this option is turned on the DTR will be lowered when hangup is 
  4284. selected. If you want to turn this option off the syntax would be: 
  4285. change_option("dtr=OFF"); 
  4286.  
  4287. stop bits. This option will allow you to set the number of stop bits that the 
  4288. communication port is set to. The communication port will be changed before the 
  4289. command is completed, and the default stop bits will be set to the new value. 
  4290. To set the communication port to 1 stop bit, the syntax would be: 
  4291. change_option("stop bits=1"); The communication port can only be set to 1 or 2 
  4292. stop bits from a script. 
  4293.  
  4294. data bits. This option will allow you to set the number of data bits that the 
  4295. communication port is set to. The communication port will be changed before the 
  4296. command is completed, and the default data bits will be set to the new value. 
  4297. To set the communication port to 8 data bits, the syntax would be: 
  4298. change_option("data bits=8"); The communication port can be set to 8, 7, 6 or 5 
  4299. data bits. 
  4300.  
  4301. parity. This option will allow you to set the parity for the current 
  4302. communication port. The communication port will be changed before the command 
  4303. is completed, and the default parity will be set to the new value. To set the 
  4304. communication port to Even parity, the syntax would be: 
  4305. change_option("parity=Even"); The communication port can be set to None, Even , 
  4306. Odd, Mark or Space parity. 
  4307.  
  4308. initialization string. This option allows you to change the modem 
  4309. initialization string that Pmcomm uses. To change the string the syntax would 
  4310. be: change_option("initialization string=ATZ"); 
  4311.  
  4312. dial timeout. This option will allow you to set the number of seconds that 
  4313. Pmcomm will wait when dialing a remote computer. If you wanted to set the 
  4314. number of seconds to 60 the syntax for the command would be: 
  4315. change_option("dial timeout=60"); 
  4316.  
  4317. redial delay. This option will allow you to set the number of seconds that 
  4318. Pmcomm will wait between dialing attempts. If you wanted to set the number of 
  4319. seconds to 6 the syntax for the command would be: change_option("redial 
  4320. delay=6"); 
  4321.  
  4322. hangup string. This option allows you to change the modem hangup string that 
  4323. Pmcomm uses. To change the string the syntax would be: change_option("hangup 
  4324. string=+++~~~ATH^M"); 
  4325.  
  4326. auto zmodem string. Some host systems do not send a standard auto zmodem 
  4327. string. This command allows you to change the string that Pmcomm looks for, 
  4328. when the host starts a zmodem send file transfer. When Pmcomm finds a match it 
  4329. will start a zmodem receive file transfer. To change the auto zmodem string the 
  4330. syntax would be: 
  4331.  
  4332. change_option("auto zmodem string=B00000"); 
  4333.  
  4334. zmodem date. This option allows you turn on and off whether Pmcomm will compare 
  4335. the file dates during a zmodem resume file transfer. The syntax to turn the 
  4336. date compare off would be: 
  4337.  
  4338. change_option("zmodem date=OFF"); To turn this option on you would replace the 
  4339. OFF with ON. 
  4340.  
  4341. zmodem rename. This option allows you turn on and off whether Pmcomm will 
  4342. rename duplicate files, if a resume fails (or is turned off). If this option is 
  4343. on Pmcomm will rename the new file with a number for an extension. The syntax 
  4344. to turn the zmodem rename off would be: 
  4345.  
  4346. change_option("zmodem rename=OFF"); To turn this option on you would replace 
  4347. the OFF with ON. 
  4348.  
  4349. auto zmodem. This option will allow you to turn the auto zmodem feature on or 
  4350. off. If you want to turn auto zmodem off the syntax would be: 
  4351. change_option("auto zmodem=OFF"); To turn auto zmodem on you would replace the 
  4352. OFF with ON. 
  4353.  
  4354. zmodem recovery. This option will allow you to turn the zmodem recovery feature 
  4355. on or off. If you want to turn zmodem recovery off the syntax would be: 
  4356. change_option("zmodem recovery=OFF"); To turn zmodem recovery on you would 
  4357. replace the OFF with ON. 
  4358.  
  4359. zmodem crc. This option allows you to select either the 32 bit or 16 bit zmodem 
  4360. CRC error detection option. To select the 32 bit option the syntax would be: 
  4361. change_option("zmodem crc=32"); 
  4362.  
  4363. download directory. To change the current download directory the syntax would 
  4364. be: change_option("download directory=c:\pmcomm\"); 
  4365.  
  4366. hide dial. This option allows you to select if the main terminal window is 
  4367. hidden while Pmcomm is dialing a remote computer. To allow the main window to 
  4368. remain visible while dialing the syntax would be: change_option("hide 
  4369. dial=OFF"); To turn hide dial on you would replace the OFF with ON. 
  4370.  
  4371. hide transfer. This option allows you to select if the main terminal window is 
  4372. hidden while Pmcomm is doing a file transfer. To allow the main window to 
  4373. remain visible while doing file transfers the syntax would be: 
  4374. change_option("hide transfer=OFF"); To turn hide transfer on you would replace 
  4375. the OFF with ON. 
  4376.  
  4377. auto vertical. This option determines if Pmcomm will automatically scroll the 
  4378. terminal window vertically to keep the current cursor position in the window. 
  4379. To turn this option off the syntax would be: change_option("auto 
  4380. vertical=OFF"); To turn this option on you would replace the OFF with ON. 
  4381.  
  4382. auto horizontal. This option determines if Pmcomm will automatically scroll the 
  4383. terminal window horizontally to keep the current cursor position in the window. 
  4384. To turn this option off the syntax would be: change_option("auto 
  4385. horizontal=OFF"); To turn this option on you would replace the OFF with ON. 
  4386.  
  4387. save dial. If this option is on then Pmcomm will store the position of the 
  4388. dialing dialog box, and use it the next time a number is dialed. To turn this 
  4389. option off the syntax would be: change_option("save dial=OFF"); To turn this 
  4390. option on you would replace the OFF with ON. 
  4391.  
  4392. save transfer. If this option is on then Pmcomm will store the position of the 
  4393. transfer dialog box, and use it the next time a file is transferred dialed. To 
  4394. turn this option off the syntax would be: change_option("save transfer=OFF"); 
  4395. To turn this option on you would replace the OFF with ON. 
  4396.  
  4397. sound. This option allows you to turn the warning beeps in Pmcomm, on or off. 
  4398. To turn this option off the syntax would be: change_option("sound=OFF"); To 
  4399. turn this option on you would replace the OFF with ON. 
  4400.  
  4401. monitor dcd. If this option is on, then Pmcomm will monitor the presence of 
  4402. data carrier detect (DCD). To turn this option off the syntax would be: 
  4403. change_option("monitor dcd=OFF"); To turn this option on you would replace the 
  4404. OFF with ON. 
  4405.  
  4406. page length. This option allows you to set the ANSI page length from a script. 
  4407. Following is an example of how to set the page length to 25 lines. 
  4408. change_option("page length=25"); 
  4409.  
  4410. terminal. This option allows you to change the type of terminal from within a 
  4411. Pmcomm script. The following example would set the terminal type to ANSI. 
  4412. change_option("terminal=ANSI"); The available valid terminal types are TTY, 
  4413. ANSI, VT100 or VT220. 
  4414.  
  4415. foreground. This option allows you to change the foreground color from within a 
  4416. Pmcomm script. The available colors are: 
  4417.  
  4418. black 
  4419. blue 
  4420. green 
  4421. cyan 
  4422. red 
  4423. magenta 
  4424. brown 
  4425. white 
  4426. dark grey 
  4427. light blue 
  4428. light green 
  4429. light cyan 
  4430. light red 
  4431. pink 
  4432. yellow 
  4433. bright white 
  4434.  
  4435. The syntax to change the foreground color to cyan would be: 
  4436. change_option("foreground=cyan"); 
  4437.  
  4438. background. This option allows you to change the background color from within a 
  4439. Pmcomm script. The available colors are: 
  4440.  
  4441. black 
  4442. blue 
  4443. green 
  4444. cyan 
  4445. red 
  4446. magenta 
  4447. brown 
  4448. white 
  4449. dark grey 
  4450. light blue 
  4451. light green 
  4452. light cyan 
  4453. light red 
  4454. pink 
  4455. yellow 
  4456. bright white 
  4457.  
  4458. The syntax to change the background color to black would be: 
  4459. change_option("background=black"); 
  4460.  
  4461. echo. This option allows you turn on and off the local keystroke echo. The 
  4462. syntax to turn echo off would be: change_option("echo=OFF"); To turn this 
  4463. option on you would replace the OFF with ON. 
  4464.  
  4465. prefix1 
  4466. prefix2 
  4467. prefix3 
  4468.  
  4469.  These options allow you to change the dialing prefixes. For example to change 
  4470. prefix1 you would use the following syntax: change_option("prefix1=ATDT"); 
  4471.  
  4472. suffix1 
  4473. suffix2 
  4474. suffix3 
  4475.  
  4476.  These options allow you to change the dialing suffixes. For example to change 
  4477. suffix1 you would use the following syntax: change_option("suffix1=^M"); 
  4478.  
  4479. strip ansi. This option allows you to select if Pmcomm will strip the ANSI 
  4480. commands from a capture file. The syntax to turn off the stripping of the ANSI 
  4481. commands would be: change_option("strip ansi=OFF"); To turn this option on you 
  4482. would replace the OFF with ON. 
  4483.  
  4484. macro1 
  4485. macro2 
  4486. macro3 
  4487. macro4 
  4488. macro5 
  4489. macro6 
  4490. macro7 
  4491. macro8 
  4492. macro9 
  4493. macro10 
  4494.  
  4495. These options allow you to change the keyboard macros. For example to change 
  4496. macro1 you would use the following syntax: change_option("macro1=ATZ"); 
  4497.  
  4498. phone directory. To change the current phone directory the syntax would be: 
  4499. change_option("phone directory=c:\pmcomm\pmcomm.fon"); This would change the 
  4500. file used as the Pmcomm phone file. 
  4501.  
  4502. script directory. To change the current script directory the syntax would be: 
  4503. change_option("script directory=c:\pmcomm\script"); 
  4504.  
  4505. capture directory. To change the current capture file directory the syntax 
  4506. would be: change_option("capture directory=c:\pmcomm\capture"); 
  4507.  
  4508. chat. This option allows you to turn the Pmcomm chat mode on or off. The syntax 
  4509. to turn off chat mode is: change_option("chat=OFF"); To turn this option on you 
  4510. would replace the OFF with ON. 
  4511.  
  4512. auto cisb. This option allows you to turn the automatic CISB file transfer on 
  4513. or off. The syntax to turn off auto CISB is: change_option("auto cisb=OFF"); To 
  4514. turn this option on you would replace the OFF with ON. 
  4515.  
  4516. cisb recovery. This option allows you to turn the CISB file recovery on or off. 
  4517. The syntax to turn off the CISB file recovery is: change_option("cisb 
  4518. recovery=OFF"); To turn this option on you would replace the OFF with ON. 
  4519.  
  4520. baud. This option allows you to change the current baud rate. This will also 
  4521. change the default baud rate saved in the setup file. The syntax for this 
  4522. command is: change_option("baud=19200"); 
  4523.  
  4524. startup script. Use this command to change the name of the script that will be 
  4525. executed upon startup of Pmcomm. The syntax of this command is: 
  4526. change_option("startup script=c:\pmcomm\startup.scr"); 
  4527.  
  4528. exit on hangup. This command allows you to have Pmcomm exit once data carrier 
  4529. detect (DCD) has dropped. This will only work correctly if Monitor DCD is also 
  4530. selected. The syntax for this command is: change_option("exit on hangup=ON"); 
  4531.  
  4532. working directory. To change the current working directory the syntax would be: 
  4533. change_option("working directory=c:\pmcomm"); 
  4534.  
  4535. keymap. The keymap must be in the working directory of Pmcomm. To change the 
  4536. keymap currently in use the syntax would be : change_option("keymap=ansi.map"); 
  4537.  
  4538.  
  4539. ΓòÉΓòÉΓòÉ 11.3.23. 'C' dial ΓòÉΓòÉΓòÉ
  4540.  
  4541. dial("name"); 
  4542.  
  4543. This command will allow a script to dial a number listed in the current Pmcomm 
  4544. dialing directory. To dial the entry call Compu-Plane you would use the 
  4545. following syntax: dial("Compu-Plane"); 
  4546.  
  4547.  
  4548. ΓòÉΓòÉΓòÉ 11.3.24. 'C' get_dial_memo ΓòÉΓòÉΓòÉ
  4549.  
  4550. get_dial_memo(char *returnstr); 
  4551.  
  4552. This command will retrieve the information stored in the memo field of the 
  4553. currently connected phone number. This will allow you to, for example, store 
  4554. your password in the dialing directory memo field, and write a script to use 
  4555. it. By doing this you can change your password without editing the script. All 
  4556. you would have to do is change the text in the memo field for that number. To 
  4557. retrieve the text stored in the current memo field the syntax would be: 
  4558. get_dial_memo (returnstr); 
  4559.  
  4560.  
  4561. ΓòÉΓòÉΓòÉ 11.3.25. 'C' clipboard_paste ΓòÉΓòÉΓòÉ
  4562.  
  4563. clipboard_paste(char *returnstr); 
  4564.  
  4565. This command will retrieve text stored in the OS/2 clipboard. The maximum 
  4566. amount of text that can be retrieved at one time is 8192 bytes. To retrieve the 
  4567. text stored in the clipboard the syntax would be: clipboard_paste(returnstr); 
  4568.  
  4569.  
  4570. ΓòÉΓòÉΓòÉ 11.3.26. 'C' clipboard_copy ΓòÉΓòÉΓòÉ
  4571.  
  4572. clipboard_copy(char *str); 
  4573.  
  4574. This command will copy text to the OS/2 clipboard. The maximum amount of text 
  4575. that can be sent at one time is 8192 bytes. To send text to the clipboard the 
  4576. syntax would be: clipboard_copy("This is a test"); 
  4577.  
  4578.  
  4579. ΓòÉΓòÉΓòÉ 11.3.27. 'C' clipboard_append ΓòÉΓòÉΓòÉ
  4580.  
  4581. clipboard_append(char *str); 
  4582.  
  4583. This command will append text to the existing text in the OS/2 clipboard. The 
  4584. maximum amount of text that can be sent at one time is 8192 bytes. To append 
  4585. text to the clipboard the syntax would be: clipboard_append("This is a test"); 
  4586.  
  4587.  
  4588. ΓòÉΓòÉΓòÉ 11.3.28. xmodem_send ΓòÉΓòÉΓòÉ
  4589.  
  4590. USHORT xmodem_send(char *filename); 
  4591.  
  4592. Example 
  4593.  
  4594. xmodem_send("d:\path\filename.ext"); 
  4595.  
  4596. Description 
  4597.  
  4598. This call will invoke the Xmodem_CRC send routine, built into Pmcomm. Once 
  4599. issued the call will not return until the transfer either finishes or is 
  4600. aborted. Pmcomm will show the normal transfer box that it does when download is 
  4601. selected from the menu. 
  4602.  
  4603. Returns 
  4604.  
  4605. 1 if the transfer is successful and 0 if unsuccessful. 
  4606.  
  4607.  
  4608. ΓòÉΓòÉΓòÉ 11.3.29. xmodem_receive ΓòÉΓòÉΓòÉ
  4609.  
  4610. USHORT xmodem_receive(char *filename); 
  4611.  
  4612. Example 
  4613.  
  4614. xmodem_receive("d:\path\filename.ext"); 
  4615.  
  4616. Description 
  4617.  
  4618. This call will invoke the Xmodem_CRC receive routine, built into Pmcomm. Once 
  4619. issued the call will not return until the transfer either finishes or is 
  4620. aborted. Pmcomm will show the normal transfer box that it does when uploading 
  4621. from the menu. The file name specified must include a path. 
  4622.  
  4623. Returns 
  4624.  
  4625. 1 if transfer is successful and 0 if unsuccessful. 
  4626.  
  4627.  
  4628. ΓòÉΓòÉΓòÉ 11.3.30. xmodem_chk_send ΓòÉΓòÉΓòÉ
  4629.  
  4630. USHORT xmodem_chk_send(char *filename); 
  4631.  
  4632. Example 
  4633.  
  4634. xmodem_chk_send("d:\path\filename.ext"); 
  4635.  
  4636. Description 
  4637.  
  4638. This call will invoke the Xmodem_Checksum send routine, built into Pmcomm. Once 
  4639. issued the call will not return until the transfer either finishes or is 
  4640. aborted. Pmcomm will show the normal transfer box that it does when download is 
  4641. selected from the menu. 
  4642.  
  4643. Returns 
  4644.  
  4645. 1 if transfer is successful and 0 if unsuccessful. 
  4646.  
  4647.  
  4648. ΓòÉΓòÉΓòÉ 11.3.31. xmodem_chk_receive ΓòÉΓòÉΓòÉ
  4649.  
  4650. USHORT xmodem_chk_receive(char *filename); 
  4651.  
  4652. Example 
  4653.  
  4654. xmodem_chk_receive("d:\path\filename.ext"); 
  4655.  
  4656. Description 
  4657.  
  4658. This call will invoke the Xmodem_Checksum receive routine, built into Pmcomm. 
  4659. Once issued the call will not return until the transfer either finishes or is 
  4660. aborted. Pmcomm will show the normal transfer box that it does when uploading 
  4661. from the menu. The file name specified must include a path. 
  4662.  
  4663. Returns 
  4664.  
  4665. 1 if transfer is successful and 0 if unsuccessful. 
  4666.  
  4667.  
  4668. ΓòÉΓòÉΓòÉ 11.3.32. xmodem_1k_send ΓòÉΓòÉΓòÉ
  4669.  
  4670. USHORT xmodem_1k_send(char *filename); 
  4671.  
  4672. Example 
  4673.  
  4674. xmodem_1k_send("d:\path\filename.ext"); 
  4675.  
  4676. Description 
  4677.  
  4678. This call will invoke the 1K-Xmodem send routine, built into Pmcomm. Once 
  4679. issued the call will not return until the transfer either finishes or is 
  4680. aborted. Pmcomm will show the normal transfer box that it does when download is 
  4681. selected from the menu. 
  4682.  
  4683. Returns 
  4684.  
  4685. 1 if transfer is successful and 0 if unsuccessful. 
  4686.  
  4687.  
  4688. ΓòÉΓòÉΓòÉ 11.3.33. xmodem_1k_receive ΓòÉΓòÉΓòÉ
  4689.  
  4690. USHORT xmodem_1k_receive(char *filename); 
  4691.  
  4692. Example 
  4693.  
  4694. xmodem_1k_receive("d:\path\filename.ext"); 
  4695.  
  4696. Description 
  4697.  
  4698. This call will invoke the 1K-Xmodem receive routine, built into Pmcomm. Once 
  4699. issued the call will not return until the transfer either finishes or is 
  4700. aborted. Pmcomm will show the normal transfer box that it does when uploading 
  4701. from the menu. The file name specified must include a path. 
  4702.  
  4703. Returns 
  4704.  
  4705. 1 if transfer is successful and 0 if unsuccessful. 
  4706.  
  4707.  
  4708. ΓòÉΓòÉΓòÉ 11.3.34. ymodem_send ΓòÉΓòÉΓòÉ
  4709.  
  4710. USHORT ymodem_send(USHORT num_files,CHAR **filearray); 
  4711.  
  4712. Example 
  4713.  
  4714. USHORT result; 
  4715.  
  4716. CHAR *filearray[2]; 
  4717.  
  4718. CHAR string1[80]; 
  4719.  
  4720. CHAR string2[80]; 
  4721.  
  4722. strcpy(string1,"pmcom106.zip"); 
  4723.  
  4724. strcpy(string2,"pmcom107.zip"); 
  4725.  
  4726. filearray[0] = string1; 
  4727.  
  4728. filearray[1] = string2; 
  4729.  
  4730. result = ymodem_send(2,filearray); 
  4731.  
  4732. Description 
  4733.  
  4734. This call will invoke the Ymodem send routine, built into Pmcomm. Once issued 
  4735. the call will not return until the transfer either finishes or is aborted. 
  4736. Pmcomm will show the normal transfer box that it does when download is selected 
  4737. from the menu. As many as 8 files can be sent at one time. 
  4738.  
  4739. Returns 
  4740.  
  4741. Number of files successfully transferred. 
  4742.  
  4743.  
  4744. ΓòÉΓòÉΓòÉ 11.3.35. ymodem_receive ΓòÉΓòÉΓòÉ
  4745.  
  4746. USHORT ymodem_receive(VOID); 
  4747.  
  4748. Example 
  4749.  
  4750. ymodem_receive(); 
  4751.  
  4752. Description 
  4753.  
  4754. This call will invoke the Ymodem receive routine, built into Pmcomm. Once 
  4755. issued the call will not return until the transfer either finishes or is 
  4756. aborted. Pmcomm will show the normal transfer box that it does when uploading 
  4757. from the menu. Only a single file at a time will be accepted. 
  4758.  
  4759. Returns 
  4760.  
  4761. 1 if call is successful and 0 if unsuccessful. 
  4762.  
  4763.  
  4764. ΓòÉΓòÉΓòÉ 11.3.36. ymodemg_send ΓòÉΓòÉΓòÉ
  4765.  
  4766. USHORT ymodemg_send(USHORT num_files, CHAR **filearray); 
  4767.  
  4768. Example 
  4769.  
  4770. USHORT result; 
  4771.  
  4772. CHAR *filearray[2]; 
  4773.  
  4774. CHAR string1[80]; 
  4775.  
  4776. CHAR string2[80]; 
  4777.  
  4778. strcpy(string1,"pmcom106.zip"); 
  4779.  
  4780. strcpy(string2,"pmcom107.zip"); 
  4781.  
  4782. filearray[0] = string1; 
  4783.  
  4784. filearray[1] = string2; 
  4785.  
  4786. result = ymodemg_send(2,filearray); 
  4787.  
  4788. Description 
  4789.  
  4790. This call will invoke the Ymodem-g send routine, built into Pmcomm. Once issued 
  4791. the call will not return until the transfer either finishes or is aborted. 
  4792. Pmcomm will show the normal transfer box that it does when downloading from the 
  4793. menu. As many as 8 files can be sent at one time. 
  4794.  
  4795. Returns 
  4796.  
  4797. Number of files successfully transferred. 
  4798.  
  4799.  
  4800. ΓòÉΓòÉΓòÉ 11.3.37. ymodemg_receive ΓòÉΓòÉΓòÉ
  4801.  
  4802. USHORT ymodemg_receive(VOID); 
  4803.  
  4804. Example 
  4805.  
  4806. ymodemg_receive(); 
  4807.  
  4808. Description 
  4809.  
  4810. This call will invoke the Ymodem-g receive routine, built into Pmcomm. Once 
  4811. issued the call will not return until the transfer either finishes or is 
  4812. aborted. Pmcomm will show the normal transfer box that it does when uploading 
  4813. from the menu. Only one file at a time can be received. 
  4814.  
  4815. Returns 
  4816.  
  4817. 1 if call is successful and 0 if unsuccessful. 
  4818.  
  4819.  
  4820. ΓòÉΓòÉΓòÉ 11.3.38. zmodem_send ΓòÉΓòÉΓòÉ
  4821.  
  4822. USHORT zmodem_send(USHORT num_files, CHAR **filearray); 
  4823.  
  4824. Example 
  4825.  
  4826. USHORT result; 
  4827.  
  4828. CHAR *filearray[2]; 
  4829.  
  4830. CHAR string1[80]; 
  4831.  
  4832. CHAR string2[80]; 
  4833.  
  4834. strcpy(string1,"pmcom106.zip"); 
  4835.  
  4836. strcpy(string2,"pmcom107.zip"); 
  4837.  
  4838. filearray[0] = string1; 
  4839.  
  4840. filearray[1] = string2; 
  4841.  
  4842. result = zmodem_send(2,filearray); 
  4843.  
  4844. Description 
  4845.  
  4846. This call will invoke the Zmodem send routine, built into Pmcomm. Once issued 
  4847. the call will not return until the transfer either finishes or is aborted. 
  4848. Pmcomm will show the normal transfer box that it does when downloading from the 
  4849. menu. As many as 100 files may be transferred at one time. 
  4850.  
  4851. Returns 
  4852.  
  4853. Number of files successfully transferred. 
  4854.  
  4855.  
  4856. ΓòÉΓòÉΓòÉ 11.3.39. zmodem_receive ΓòÉΓòÉΓòÉ
  4857.  
  4858. USHORT zmodem_receive(VOID); 
  4859.  
  4860. Example 
  4861.  
  4862. zmodem_receive(); 
  4863.  
  4864. Description 
  4865.  
  4866. This call will invoke the Zmodem receive routine, built into Pmcomm. Once 
  4867. issued the call will not return until the transfer either finishes or is 
  4868. aborted. Pmcomm will show the normal transfer box that it does when uploading 
  4869. from the menu. Only one file at a time can be received. 
  4870.  
  4871. Returns 
  4872.  
  4873. The number of files transferred. 
  4874.  
  4875.  
  4876. ΓòÉΓòÉΓòÉ 11.3.40. kermit_send ΓòÉΓòÉΓòÉ
  4877.  
  4878. USHORT kermit_send(USHORT num_files, CHAR **filearray); 
  4879.  
  4880. Example 
  4881.  
  4882. USHORT result; 
  4883.  
  4884. CHAR *filearray[2]; 
  4885.  
  4886. CHAR string1[80]; 
  4887.  
  4888. CHAR string2[80]; 
  4889.  
  4890. strcpy(string1,"pmcom106.zip"); 
  4891.  
  4892. strcpy(string2,"pmcom107.zip"); 
  4893.  
  4894. filearray[0] = string1; 
  4895.  
  4896. filearray[1] = string2; 
  4897.  
  4898. result = kermit_send(2,filearray); 
  4899.  
  4900. Description 
  4901.  
  4902. This call will invoke the Kermit send routine, built into Pmcomm. Once issued 
  4903. the call will not return until the transfer either finishes or is aborted. 
  4904. Pmcomm will show the normal transfer box that it does when downloading from the 
  4905. menu. As many as 100 files may be transferred at one time. 
  4906.  
  4907. Returns 
  4908.  
  4909. Number of files successfully transferred. 
  4910.  
  4911.  
  4912. ΓòÉΓòÉΓòÉ 11.3.41. kermit_receive ΓòÉΓòÉΓòÉ
  4913.  
  4914. USHORT kermit_receive(VOID); 
  4915.  
  4916. Example 
  4917.  
  4918. kermit_receive(); 
  4919.  
  4920. Description 
  4921.  
  4922. This call will invoke the Kermit receive routine, built into Pmcomm. Once 
  4923. issued the call will not return until the transfer either finishes or is 
  4924. aborted. Pmcomm will show the normal transfer box that it does when uploading 
  4925. from the menu. Only one file at a time can be received. 
  4926.  
  4927. Returns 
  4928.  
  4929. Number of files transferred. 
  4930.  
  4931.  
  4932. ΓòÉΓòÉΓòÉ 11.3.42. ascii_send ΓòÉΓòÉΓòÉ
  4933.  
  4934. USHORT ascii_send(char *filename); 
  4935.  
  4936. Example 
  4937.  
  4938. ascii_send("d:\path\filename.ext"); 
  4939.  
  4940. Description 
  4941.  
  4942. This call will invoke the ASCII send routine, built into Pmcomm. Once issued 
  4943. the call will not return until the transfer either finishes or is aborted. 
  4944. Pmcomm will show the normal transfer box that it does when downloading from the 
  4945. menu. 
  4946.  
  4947. Returns 
  4948.  
  4949. 1 if transfer is successful and 0 if unsuccessful. 
  4950.  
  4951.  
  4952. ΓòÉΓòÉΓòÉ 11.3.43. ascii_receive ΓòÉΓòÉΓòÉ
  4953.  
  4954. USHORT ascii_receive(filename); 
  4955.  
  4956. Example 
  4957.  
  4958. ascii_receive("d:\path\filename.ext"); 
  4959.  
  4960. Description 
  4961.  
  4962. This call will invoke the ASCII receive routine, built into Pmcomm. Once issued 
  4963. the call will not return until the transfer either finishes or is aborted. 
  4964. Pmcomm will show the normal transfer box that it does when uploading from the 
  4965. menu. The file name specified must not include a path. 
  4966.  
  4967. Returns 
  4968.  
  4969. 1 if transfer is successful and 0 if unsuccessful. 
  4970.  
  4971.  
  4972. ΓòÉΓòÉΓòÉ 11.3.44. cisb_send ΓòÉΓòÉΓòÉ
  4973.  
  4974. USHORT cisb_send(char *filename); 
  4975.  
  4976. Example 
  4977.  
  4978. cisb_send("d:\path\filename.ext"); 
  4979.  
  4980. Description 
  4981.  
  4982. This call will invoke the CISB send routine, built into Pmcomm. Once issued the 
  4983. call will not return until the transfer either finishes or is aborted. Pmcomm 
  4984. will show the normal transfer box that it does when download is selected from 
  4985. the menu. 
  4986.  
  4987. Returns 
  4988.  
  4989. 1 if the transfer is successful and 0 if unsuccessful. 
  4990.  
  4991.  
  4992. ΓòÉΓòÉΓòÉ 11.3.45. cisb_receive ΓòÉΓòÉΓòÉ
  4993.  
  4994. USHORT cisb_receive(char *filename); 
  4995.  
  4996. Example 
  4997.  
  4998. cisb_receive("d:\path\filename.ext"); 
  4999.  
  5000. Description 
  5001.  
  5002. This call will invoke the CISB receive routine, built into Pmcomm. Once issued 
  5003. the call will not return until the transfer either finishes or is aborted. 
  5004. Pmcomm will show the normal transfer box that it does when uploading from the 
  5005. menu. The file name specified must include a path. 
  5006.  
  5007. Returns 
  5008.  
  5009. 1 if transfer is successful and 0 if unsuccessful. 
  5010.  
  5011.  
  5012. ΓòÉΓòÉΓòÉ 11.4. Sample Scripts ΓòÉΓòÉΓòÉ
  5013.  
  5014. These are scripts to help you, when you start to write your own scripts. 
  5015.  
  5016.  
  5017. ΓòÉΓòÉΓòÉ 11.4.1. REXX Sample ΓòÉΓòÉΓòÉ
  5018.  
  5019. /* Sample Script*/ 
  5020.  
  5021. /* This script will allow you to log on to Compu-Plane once you change the 
  5022. strings stored in the variables called name and pass. Enter the sample.scr name 
  5023. for the script name of the Compu-Plane phone number, and change the name in the 
  5024. shell( ) function to the path and filename of this file.*/ 
  5025.  
  5026. Call RxFuncadd "init_dll","RxPmcomm","init_dll" 
  5027.  
  5028. /* This function registers the init_dll function with REXX. The init_dll 
  5029. function will register the rest of the functions in the rxpmcomm.dll. */ 
  5030.  
  5031. Parse arg port portname screen_handle dde_output dde_input semaphore 
  5032.  
  5033. /*These are the values that Pmcomm passes on the command line to an external 
  5034. program. These values can then be used in different REXX functions along with 
  5035. the rxpmcomm.dll functions. Following is the description of each value: */ 
  5036.  
  5037. /* port = The handle of the open communication port in Pmcomm */ 
  5038.  
  5039. /* portname = The name of the opened communication port ie.. COM1*/ 
  5040.  
  5041. /* screen_handle = Anything written to the handle will be printed on the Pmcomm 
  5042. screen. */ 
  5043.  
  5044. /* dde_input = This must be passed to most functions. It allows the 
  5045. rxpmcomm.dll function to communicate with Pmcomm. */ 
  5046.  
  5047. /* dde_output = This must be passed to most functions. It allows the 
  5048. rxpmcomm.dll function to communicate with Pmcomm. */ 
  5049.  
  5050. /* semaphore = This also must be passed to any file transfer function. It makes 
  5051. your REXX program wait until the transfer has been completed. */ 
  5052.  
  5053. Call init_dll 
  5054.  
  5055. /* Required before any other rxpmcomm.dll functions are called. */ 
  5056.  
  5057. /* Setup variables  */ 
  5058.  
  5059. name = 'first;last'  /* where first is your first name and last is*/ 
  5060. pass = 'password'   /* your last name and password is your password.*/ 
  5061. cr  = '0d'x 
  5062.  
  5063. Call read_timeout '20000',port 
  5064.  
  5065. /* This sets the read timeout for 20 seconds. This is used in the Wait_for, 
  5066. Wait_fore, and the Get_ch functions. */ 
  5067.  
  5068. Say 'Waiting for first name ...' 
  5069.  
  5070. /* This will be printed on the REXX screen. */ 
  5071.  
  5072. Do Forever 
  5073.  
  5074. Call Wait_fore 'name', 'password', 'continue?','?->', port, screen_handle 
  5075.  
  5076. /* This call will echo all characters to the Pmcomm screen that come from the 
  5077. open communication port. When one of the strings are matched the function will 
  5078. return the index of the matched string in the variable result. For example if 
  5079. it receives the string password then the result will be equal to 2. If the 
  5080. function waits longer then the read timeout value then result will be equal to 
  5081. 0. */ 
  5082. match = result 
  5083.   Select 
  5084.    When match=1 then 
  5085.     Do 
  5086.      Call Put_s name||cr,port 
  5087.      Say 'Waiting for password ...' 
  5088.     End 
  5089.    When match=2 then Call Put_s pass||cr,port 
  5090.    When match=3 then Call Put_s cr,port 
  5091.    When match=4 then Exit 
  5092.   Otherwise nop 
  5093.   End 
  5094. End 
  5095. Say 'Script ended  -' date( ) time( ) 
  5096. Exit 
  5097.  
  5098.  
  5099. ΓòÉΓòÉΓòÉ 11.4.2. Internal Sample ΓòÉΓòÉΓòÉ
  5100.  
  5101. An example script to log onto a Multi-Net Communications BBS could be: 
  5102.  
  5103. wait_for ("first name"); 
  5104. puts ("john\n"); 
  5105. wait_for("last name"); 
  5106. puts("doe\n"); 
  5107. wait_for("password"); 
  5108. puts("password\n"); 
  5109. sleep (1000); 
  5110. puts("\n"); 
  5111.  
  5112. Scripts can be executed automatically when logging onto a BBS by specifying the 
  5113. script filename in the dialing directory for that phone number. You can execute 
  5114. a script from the File menu at anytime. 
  5115.  
  5116.  
  5117. ΓòÉΓòÉΓòÉ 12. Installing Pmcomm Host Mode ΓòÉΓòÉΓòÉ
  5118.  
  5119. To install Pmcomm's Host Mode, you must run the install program included on the 
  5120. Pmcomm disk. Make sure you answer all the Host mode questions (including the 
  5121. password). If you do not have a destination directory for Pmcomm listed, but do 
  5122. have a host directory listed, only the host mode will be installed. This can be 
  5123. usefully if you have already installed Pmcomm, and just want to install the 
  5124. host mode. The Fixed Baud check box should be checked for most high-speed 
  5125. modems (bauds above 2400 baud). This selection fixes the DTE to DCE baud, and 
  5126. will improve throughput on high-speed modems. If this is an "open" system new 
  5127. users will be stored in this file automatically. If this is a "closed" system 
  5128. only the people that are registered in this file will be able to access the 
  5129. Host Mode. This can be changed by editing the host.cmd file. When the host mode 
  5130. is installed it defaults to a "open" system. To change this edit host.cmd and 
  5131. change the open to closed. 
  5132.  
  5133. The six files that the install program creates are HOSTPASS.FLE, HOSTDIR.FLE, 
  5134. HOSTHEAD.FLE, HOST.SCR, HOSTNEWU.FLE, and HOSTHELP.FLE. The HOSTPASS.FLE file 
  5135. is where all of the users' names, passwords, securities, and last time on are 
  5136. stored. The HOSTDIR.FLE file is a list of the directories that have been 
  5137. created for the host mode. The HOSTHEAD.FLE file is the file that is displayed 
  5138. to users when they logon. The HOST.SCR file is the main executable script. The 
  5139. HOSTNEWU.FLE file is the file that is displayed to new users. In order for a 
  5140. user to be able to receive help from the menu, the HOSTHELP.FLE must contain 
  5141. the information that will be displayed. 
  5142.  
  5143. The Host mode is a REXX script and is started just like anyother REXX script. 
  5144. Once the script has been started Pmcomm is ready to receive calls. 
  5145.  
  5146.  
  5147. ΓòÉΓòÉΓòÉ 13. Using the timer program ΓòÉΓòÉΓòÉ
  5148.  
  5149. The Timer program allows the user to automatically start Pmcomm at a certain 
  5150. time. The options allows the user to specify a name of a file to be passed on 
  5151. the command line. This would be used to pass a command line option to Pmcomm on 
  5152. startup. See Command_line_options. 
  5153.  
  5154. With the execution frequency option you can choose the days that you wish 
  5155. Pmcomm to automatically start. This option in conjunction with the time option 
  5156. sets up Pmcomm for automatic startup. 
  5157.  
  5158. If you have the timer program set up as an object on the desktop, make sure the 
  5159. working directory for that object is the directory that Pmcomm is installed in. 
  5160.  
  5161.  
  5162. ΓòÉΓòÉΓòÉ 14. How To... ΓòÉΓòÉΓòÉ
  5163.  
  5164. This section gives you examples of how to set Pmcomm up to do different things. 
  5165.  
  5166.  
  5167. ΓòÉΓòÉΓòÉ 14.1. How to make Pmcomm receive incoming calls. ΓòÉΓòÉΓòÉ
  5168.  
  5169. To make Pmcomm receive an incoming call without using the Host Mode, send the 
  5170. following command to the modem. 
  5171.  
  5172. ATS0=1 
  5173.  
  5174. This can be setup as a macro and then you would have a button on the button bar 
  5175. to put you modem in auto answer. 
  5176.  
  5177.  
  5178. ΓòÉΓòÉΓòÉ 14.2. How to Use Pmcomm with a modem pool. ΓòÉΓòÉΓòÉ
  5179.  
  5180. Because Pmcomm does not use ACDI, and will allow you to enter any valid 12 
  5181. character name for a device, it will work with a shared serial port modem pool. 
  5182. This allows you to have modems on a server that users can access from their 
  5183. workstations. This can save a considerable about of money. 
  5184.  
  5185. First the ibmlan.ini file, on the Server and the Requesters, must be edited in 
  5186. order to operate Pmcomm in a modem pool. The "charwait" variable must be 
  5187. changed from it's default setting of 3600 to a setting of 3 and then re-boot 
  5188. the Server and all of the Requesters. 
  5189.  
  5190. The following is a flash from IBMLink on how to setup a modem pool using Pmcomm 
  5191. and Lan Server. 
  5192.  
  5193. The rest of this scenario concerns the OS/2 LAN Server definitions. When LAN 
  5194. Server definitions and actions are complete, defined users at any OS/2 
  5195. Requestor can run the program from the OS/2 Public Applications Window. The 
  5196. serial port and modem at the LAN Server will be shared. To begin, logon as an 
  5197. administrator in the proper domain. Then follow instructions for the following: 
  5198.  
  5199.  
  5200. a. Defining the shared modem 
  5201. b. Defining the shared program files 
  5202. c. Defining the program as a public OS/2 application 
  5203. d. Defining the working directory 
  5204. e. Sharing the modem and the program 
  5205. f. Assigning the modem and the program to the users as they log on. 
  5206.  
  5207. DEFINING THE SHARED MODEM 
  5208.   Follow this sequence: 
  5209.  
  5210.   DEFINITION 
  5211.   ALIASES 
  5212.   SERIAL DEVICES 
  5213.   --NEW-- (With cursor on --NEW--, press space bar to 
  5214.   choose, press enter or click on ACTION) 
  5215.   CREATE(Create a serial device alias - I used an 
  5216.       alias of MODEM1, chose COM1 from the device 
  5217.       pool using F4 for the list, and choose to 
  5218.       share the port at server startup) 
  5219.  
  5220.  
  5221. *-----------------------------------------------------------* 
  5222.  
  5223.               Create Alias - Serial Device 
  5224.  
  5225.   Complete the panel; then Enter. 
  5226.  
  5227.   Alias . . . . . . . . . . . . . . . MODEM1 
  5228.   Description . . . . . . . . . . . . Shared modem 
  5229.   Server Name . . . . . . . . . . . . Chosen with the F4 key 
  5230.   Server Device Pool. . . . . . . . . COM1 
  5231.   Priority. . . . . . . . . . . . . . 5 (chosen arbitrarily) 
  5232.   Maximum number of users . . . . . . (Number of shared serial ports) 
  5233.   When shared . . . . . . . . . > At server startup 
  5234.  
  5235. |-----------------------------------------------------------| 
  5236.  
  5237.   ENTER  Escape=Cancel  F1=Help  F4=List 
  5238.  
  5239. *-----------------------------------------------------------* 
  5240.  
  5241. DEFINING THE SHARED PROGRAM FILES 
  5242. Follow this sequence: 
  5243.   DEFINITION 
  5244.   ALIASES 
  5245.   FILES 
  5246.   --NEW-- (With cursor on --NEW--, press space bar to 
  5247.       choose, press enter or click on ACTION) 
  5248.   CREATE (Create the file alias) 
  5249.  
  5250. *---------------------------------------------------------* 
  5251.  
  5252.               Create Alias - Files 
  5253.  
  5254.   Complete the panel; then Enter. 
  5255.  
  5256.   Alias . . . . . . . . . . . . . . . PMCOMM 
  5257.   Description . . . . . . . . . . . . Program to access shared modem 
  5258.   Server Name . . . . . . . . . . . . Chosen with the F4 key 
  5259.   Server Path to Directory. . . . . . :OS2:ASYNC:PMCOMM 
  5260.  
  5261.   Maximum number of users . . . . . . (left blank) 
  5262.   When shared . . . . . . . . . > At server startup 
  5263.  
  5264. |---------------------------------------------------------| 
  5265.  
  5266.   ENTER  Escape=Cancel  F1=Help  F4=List 
  5267.  
  5268. *---------------------------------------------------------* 
  5269.  
  5270. DEFINING THE PROGRAM AS A PUBLIC OS/2 APPLICATION 
  5271. Follow this sequence: 
  5272.   DEFINITION 
  5273.   APPLICATION 
  5274.   PUBLIC OS/2 APPLICATION 
  5275.   --NEW-- (With cursor on --NEW--, press space bar to 
  5276.     choose, press enter or click on ACTION) 
  5277.   CREATE 
  5278.  
  5279. *----------------------------------------------------------* 
  5280.  
  5281.               Create OS/2 Application Details 
  5282.  
  5283.   Complete the panel; then Enter. 
  5284.  
  5285.   Application ID. . . . . . . . . . . PMCOMMX 
  5286.   Description . . . . . . . . . . . . Shared modem communications 
  5287.   Program location. . . . . . . . . . Remote 
  5288.   Drive or alias. . . . . . . . . . . PMCOMM 
  5289.   Remaining path to program . . . . . : 
  5290.   Command line. . . . . . . . . . . . PMCOMM.EXE 
  5291.   Prompt used for parameters? . . . . NO 
  5292.   Program type. . . . . . . . . . . . OS/2 PM 
  5293.  
  5294. |----------------------------------------------------------| 
  5295.  
  5296.   ENTER  Escape=Cancel  F1=Help  F4=List 
  5297.  
  5298. *----------------------------------------------------------* 
  5299.  
  5300. DEFINING THE WORKING DIRECTORY 
  5301.  
  5302. PMCOMM has support files that should reside in the working directory at 
  5303. the server. If this directory is not assigned, each user must have these 
  5304. files on their own disk. 
  5305.  
  5306.   Follow this sequence: 
  5307.   DEFINITION 
  5308.   APPLICATION 
  5309.   PUBLIC OS/2 APPLICATION 
  5310.   --PMCOMMX-- (With cursor on --PMCOMMX--, press space 
  5311.     bar to choose, press enter or click on 
  5312.     ACTION) 
  5313.   WORKING DIRECTORY 
  5314.  
  5315. *---------------------------------------------------------* 
  5316.  
  5317.                   Working Directory 
  5318.  
  5319.   Complete the panel; then Enter. 
  5320.  
  5321.   Working Directory . . . . . . . . . REMOTE 
  5322.   Drive or alias. . . . . . . . . . . PMCOMM 
  5323.   Remaining path to program . . . . . : 
  5324.   Assigned Drive. . . . . . . . . . . P (chosen arbitrarily) 
  5325.  
  5326. |---------------------------------------------------------| 
  5327.  
  5328.   ENTER  Escape=Cancel  F1=Help  F4=List 
  5329.  
  5330. *---------------------------------------------------------* 
  5331.  
  5332. SHARING THE PROGRAM AND THE MODEM 
  5333.   Follow this sequence: 
  5334.   ACTION 
  5335.   RESOURCE SHARING 
  5336.   --PMCOMM-- (With cursor on --PMCOMM--, press spacebar 
  5337.       to choose, press enter or click on ACTION) 
  5338.   START SHARING 
  5339.   --MODEM1-- (With cursor on --MODEM1--, press spacebar 
  5340.       to choose, press enter or click on ACTION) 
  5341.   START SHARING 
  5342.  
  5343. ASSIGNING RESOURCES TO USERS AS THEY LOG ON 
  5344.  
  5345.   Follow this sequence for each user, to assign MODEM1 as a user 
  5346.       logs on: 
  5347.   DEFINITION 
  5348.   USERS 
  5349.   -- User -- (With cursor on the user name, press F10) 
  5350.   LOGON 
  5351.   SERIAL DEVICE ASSIGNMENTS 
  5352.   Assign MODEM1 to a COM port 
  5353.  
  5354.   Follow this sequence for each user, to copy the program to the user's 
  5355.  
  5356.   START PROGRAMS window: 
  5357.   DEFINITION 
  5358.   USERS 
  5359.   -- User -- (With cursor on the user name, press spacebar 
  5360.       to choose, press enter or click on ACTION) 
  5361.   PROGRAM STARTER 
  5362.   --PMCOMMX-- (With cursor on --PMCOMMX-- press the 
  5363.       spacebar to choose) 
  5364.  
  5365.  
  5366. ΓòÉΓòÉΓòÉ 14.3. How to Use Pmcomm with IBMLink. ΓòÉΓòÉΓòÉ
  5367.  
  5368. If you have access to IBMLink (ask an IBM SE) you can use Pmcomm to call. The 
  5369. first thing you will need is a phone number that will work with Pmcomm. This 
  5370. type of number is called, an SS/EFS number. This stands for, Start Stop 
  5371. Enhanced Full Screen. It allows access to IBMLink through a 3708 protocol 
  5372. converter. To find a number in your area, ask your IBM SE, or order book number 
  5373. GC-34-22-34. It has a current list of all the public IBMLink phone numbers in 
  5374. it. 
  5375.  
  5376. Once you have the required phone number, you can add it to the Pmcomm dialing 
  5377. directory. You should set the Parity to Even, the Data bits to 7, and the Stop 
  5378. bits to 1. The terminal type should be set to VT220. Once connected you will 
  5379. see a prompt that asks you for your terminal type. If you press enter now it 
  5380. will display a list of available terminals. The best choice here is to select 
  5381. VT220, which is selection 18. By selecting VT220 you are able to use additional 
  5382. commands that are not available with VT100. If you select VT220 the first nine 
  5383. PF keys will be the numeric key pad keys (the num lock must be off). For 
  5384. example, PF1 will be the 1 on the key pad, PF2 will be 2 and so on. For PF10 it 
  5385. will be the F1 key, PF11 will be the F2 key and PF12 will be the F3 key. To do 
  5386. a reset press the Ctrl-R and to do a clear press the Ctrl-C. 
  5387.  
  5388. Once logged onto IBMLink just follow the prompts and you shouldn't have any 
  5389. problem. 
  5390.  
  5391.  
  5392. ΓòÉΓòÉΓòÉ 14.4. How to Use Pmcomm with ESDTools. ΓòÉΓòÉΓòÉ
  5393.  
  5394. Once you are logged onto ESDTools and have selected the files you wish to 
  5395. receive, press the PF9 key (using VT220 this is the 9 on the numeric keypad). 
  5396. ESDTools will then ask you which drive you will be receiving the file to. 
  5397. Choose any drive as this parameter will be ignored by Pmcomm. You will then be 
  5398. prompted for the operating system, select OS/2. The last selection will be for 
  5399. the type of connection (i.e. Asynch etc...), select the appropriate connection 
  5400. type. ESDTools will then tell you not to press the enter key until prompted to 
  5401. do so by your communications software. At this time select Transfer, Download 
  5402. from the Pmcomm menu. Once the transfer has completed you can then press the 
  5403. enter key to return to the file list menu. 
  5404.  
  5405.  
  5406. ΓòÉΓòÉΓòÉ 14.5. How to Use a REXX program as a script. ΓòÉΓòÉΓòÉ
  5407.  
  5408. A REXX program can be executed from Pmcomm by entering the name of the program 
  5409. name directly into the dialing_directory or from the start script menu. A REXX 
  5410. program can also be started by using the shell command in a macro. An example 
  5411. of this would be: 
  5412.  
  5413. shell("c:\pmcomm\plane.cmd"); 
  5414.  
  5415. This would execute the REXX script called plane.cmd. This allows you a quick 
  5416. and easy way to execute often used scripts. 
  5417.  
  5418.  
  5419. ΓòÉΓòÉΓòÉ 14.6. How to Use drag and drop. ΓòÉΓòÉΓòÉ
  5420.  
  5421. When files are dragged from the file manager and dropped onto Pmcomm's terminal 
  5422. emulation screen, the transfer protocol that is listed for that phone number 
  5423. will be invoked and the file(s) will be sent to the remote computer. If you 
  5424. have Monitor_DCD selected then drag options will not be allowed until connected 
  5425. with another computer. 
  5426.  
  5427. To drag files from the file manager under OS/2 1.3, or drive object under OS/2 
  5428. 2.0, select a file (or files) and then click on the selected file(s) with the 
  5429. RIGHT mouse button and hold the button down. Once you have begun to drag the 
  5430. files with the mouse the mouse pointer will change shape. If the mouse pointer 
  5431. is over a program that does not accept drag and drop the pointer will again 
  5432. change shape. When the mouse pointer is over any part of Pmcomm you can release 
  5433. the right mouse button. This will drop the files onto Pmcomm and Pmcomm will 
  5434. send them. This will even work if Pmcomm is an icon. 
  5435.  
  5436. To change the protocol for the current phone number, select upload from the 
  5437. menu and then select the protocol you want (make sure that the save to dialing 
  5438. directory is selected). After pressing the OK button the file open dialog box 
  5439. will be displayed. Just press cancel and you can now use the drag and drop with 
  5440. the new protocol. 
  5441.  
  5442. If a file is dropped onto Pmcomm while it is an icon in a group menu, this file 
  5443. will be used as a setup file, and Pmcomm will be invoked. 
  5444.  
  5445. The drag and drop feature is also available for two of the buttons on the 
  5446. Button Bar. For more information see Button_Bar. 
  5447.  
  5448.  
  5449. ΓòÉΓòÉΓòÉ 15. Troubleshooting. ΓòÉΓòÉΓòÉ
  5450.  
  5451. Following are some problems that may occur when using Pmcomm. 
  5452.  
  5453.  
  5454. ΓòÉΓòÉΓòÉ 15.1. Device Open error. ΓòÉΓòÉΓòÉ
  5455.  
  5456. This message is displayed if Pmcomm can not open the specified device. If you 
  5457. are trying to open COM1, for example, and another program already has it open 
  5458. then this message will be displayed. If you are using the communication ports 
  5459. on the machine you are running Pmcomm on (not across a LAN). Then you must have 
  5460. the communication port device driver installed. For example, you should have a 
  5461. statement in your config.sys file, DEVICE=C:\OS2\COM.SYS. If not you will get 
  5462. the device open error. 
  5463.  
  5464. If you get this message when trying to access a communication port on a server, 
  5465. refer to the Modem_Pool section. One of the common problems is not first 
  5466. logging onto the network before trying to access the communication port. Also 
  5467. make sure you use Alias names that don't conflict with names on the local 
  5468. machine. For example don't try to use the name COM1 for the name of the remote 
  5469. communication port, if you have a COM1 on your local machine. Instead use a 
  5470. name like COM5, which normally will not be used on your local machine. 
  5471.  
  5472.  
  5473. ΓòÉΓòÉΓòÉ 15.2. File transfers not available. ΓòÉΓòÉΓòÉ
  5474.  
  5475. If you have Monitor_DCD turned on under Port Options and Pmcomm does not detect 
  5476. DCD then the upload and download options will be greyed out. You can turn the 
  5477. Monitor DCD option off and you will then be able to transfer files. Some common 
  5478. reasons for Pmcomm not being able to detect are: 
  5479.  
  5480. Serial cable that does not support the DCD line. 
  5481. Modem not configured to have DCD follow the state of the phone line. 
  5482. Modem does not support DCD. 
  5483.  
  5484. The monitor DCD option should also be turned off if using Pmcomm with a modem 
  5485. pool. 
  5486.  
  5487.  
  5488. ΓòÉΓòÉΓòÉ 15.3. Pmcomm will not dial out. ΓòÉΓòÉΓòÉ
  5489.  
  5490. The most common cause of this is a DOS program that has corrupted the 
  5491. communication port. Compiled basic program that are executed in the DOS box, 
  5492. for example, will sometime poll the available devices. When this happens the 
  5493. communication device driver is effected and Pmcomm will not be able to send 
  5494. information to the communication port. When this happens you will have to IPL 
  5495. (boot) the computer. 
  5496.  
  5497.  
  5498. ΓòÉΓòÉΓòÉ 15.4. Typed characters do not echo to the screen. ΓòÉΓòÉΓòÉ
  5499.  
  5500. Some electronic information services, such as Genie, run in what is called 
  5501. "half-duplex" mode. When in this mode the typed characters are not echoed to 
  5502. the screen. Pmcomm's default mode is "full duplex" which lets the services, 
  5503. like Genie, echo the characters to the screen. To make Pmcomm echo the typed 
  5504. characters to the screen, select the Screen dialog box under the main Options 
  5505. menu and check local echo on. 
  5506.  
  5507.  
  5508. ΓòÉΓòÉΓòÉ 15.5. Help not available. ΓòÉΓòÉΓòÉ
  5509.  
  5510. This message will be displayed if Pmcomm can not find the pmcomm.hlp file in 
  5511. the current directory. If you have Pmcomm installed in a Group menu make sure 
  5512. that you have the working directory set to the directory that Pmcomm is 
  5513. installed in. 
  5514.  
  5515.  
  5516. ΓòÉΓòÉΓòÉ 15.6. Pmcomm locks with a shared serial port. ΓòÉΓòÉΓòÉ
  5517.  
  5518. If Pmcomm locks up when trying to access a shared serial port you must edit the 
  5519. ibmlan.ini file in the Server well as all of the Requesters. Change the 
  5520. variable "charwait" from its default of 3600, to 3 and then re-boot the Server 
  5521. and all of the Requesters. 
  5522.  
  5523.  
  5524. ΓòÉΓòÉΓòÉ 15.7. No valid file names were passed. ΓòÉΓòÉΓòÉ
  5525.  
  5526. Under OS/2 2.0, you can only drag files from a drive object, when doing 
  5527. uploads. If you have a script as an object you can only drag that script if the 
  5528. script resides in your script directory.