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