home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume14 / pcomm / part01 / Readme < prev    next >
Encoding:
Text File  |  1988-05-17  |  7.7 KB  |  197 lines

  1.  
  2.                   Pcomm
  3.               A Unix Telecommunication Program
  4.  
  5. Requirements:
  6.  
  7.     Pcomm will not run on terminals with a screen size of less than
  8.     80 columns by 24 lines or on terminals that lack cursor movement
  9.     capabilities.  For terminals without arrow keys, use the letter
  10.     "U" in place of "up arrow" and the letter "N" in place of 
  11.     "down arrow".
  12.  
  13.     Running Pcomm from a dialup line at 1200 baud will be make the
  14.     windows incredibly slow.
  15.  
  16. Portability:
  17.  
  18.     This program was written with AT&T System V in mind.  It makes
  19.     use of System V specific routines such as those in termio(7).
  20.     There is currently no port to Berkeley or v7 Unix.
  21.  
  22.     This program can make use of the newer curses(3) routines from
  23.     SVR2.  There is a compile-time definition OLDCURSES for compatibility
  24.     with older flavors of curses(3).  None of the functionality is
  25.     lost using older curses, only some of the whistles and bells.
  26.  
  27.     Included in the distribution package is a shell script named
  28.     "Unixpc.shar" that contains the Makefile specific for the AT&T
  29.     Unix PC 7300.
  30.  
  31.     Pcomm makes use of the bold, blinking and standout video attributes.
  32.     My concept of "standout" and "reverse" might be different than
  33.     yours (I like "standout" to be a brighter version of "reverse").
  34.     Check your terminfo database... 
  35.  
  36.     Flavors of curses without the keypad() function won't be able to
  37.     recognize arrow keys on the terminal, so users will have to
  38.     substitute the letters described above for the arrow keys.
  39.  
  40. Things to do:
  41.  
  42.     There are many pre-processor definitions located in the source
  43.     code that alter the way pcomm works, or gives the location of other
  44.     files.  The following list shows the location and default settings
  45.     of these definitions:
  46.  
  47.     LOG_CALLS    Should pcomm keep a log of all phone calls?  The
  48.             default in admin.c is no (#undef).  If defined,
  49.             the path to the log file is in LOGFILE.
  50.     
  51.     LIMIT_LD    Should access to long distance dialing be limited
  52.             to privileged users?  The default in admin.c is
  53.             no (#undef).  If defined, the group to check is in
  54.             GRPNAME.
  55.  
  56.     LPRINT        This is the pretty line print program.  (This is not
  57.             the name of the device).  The default in d_print.c
  58.             is "/usr/bin/lprint".
  59.  
  60.     MAX_PASS    The maximum number of dialing attempts before we
  61.             give up.  The default in di_win.c is 25.
  62.  
  63.     DEFAULT        The directory containing the default support files.
  64.             It is not intended that users have write permission
  65.             on these files.  The default in init.c is
  66.             "/usr/local/lib/pcomm".
  67.         
  68.     LPR        The generic line printer program.  (This is not the
  69.             name of the device).  The default in input.c is
  70.             "/usr/bin/lpr".
  71.  
  72.     LOCKDIR        The location of the UUCP lock files.  The default
  73.             in port.c is "/usr/spool/uucp".  (HoneyDanBer UUCP
  74.             normally uses /usr/spool/locks).
  75.  
  76.     ASCII_PID    Should the pid (process ID) in the UUCP lock file
  77.             be ASCII encoded?  The default in port.c is no
  78.             (#undef). (HoneyDanBer UUCP normally uses ASCII pids).
  79.  
  80.     NUM_DIR        The maximum slots in the dialing directory.  The
  81.             default in dial_dir.h is 100.
  82.  
  83.     NUM_QUEUE    The maximum slots in the dialing queue.  The default
  84.             in dial_dir.h is 10.
  85.  
  86.     NOPROMOTE    Should missing video attributes be promoted to
  87.             standout?  The default in misc.h is no (#undef).
  88.  
  89.     NUM_TTY        The maximum number of ttys used for dialout.  The
  90.             default in modem.h is 10.
  91.  
  92.     NUM_MODEM    The maximum number of different types of modems used
  93.             for dialout.  The default in modem.h is 10.
  94.  
  95.     MAX_ERRORS     The maximum number of errors for a single block
  96.             before we give up on a file transfer.  The default
  97.             in xmodem.h is 10.
  98.  
  99.     The compile-time definition SGID is specific to my system, but
  100.     others might find it useful.  On my system, all programs that 
  101.     access the dialout modems, are set-group-id to "uucp".  (This is
  102.     because normal users don't have write permission to the devices,
  103.     the lock directory, or the phone.call logfile).  The use of
  104.     SGID will assure that the real group id is restored during shell
  105.     escapes, open()s, etc.  The access(2) routine is used to determine
  106.     read and write permissions prior to opening files.
  107.  
  108.     The distribution package contains three sample support files named
  109.     "Pcomm.dial_dir", "Pcomm.modem", and "Pcomm.param".  These files
  110.     should be renamed to change the upper case "P" to a lower case
  111.     "p" and copied into the directory given in the DEFAULT definition
  112.     described above.
  113.  
  114. Documentation:
  115.  
  116.     The reference documentation file, "Doc" is designed to run thru
  117.     the Unix "pr" command before being sent to the printer.  For example:
  118.  
  119.     pr -h "          Pcomm Reference Manual              " | lpr
  120.  
  121.     The file "Pcomm.1" is a nroff manual page suitable for copying
  122.     into /usr/man/man1.
  123.  
  124. Setup:
  125.  
  126.     Before pcomm can be used properly, the tty/modem database must be
  127.     configured to match your system.  The "pcomm.modem" file should
  128.     be edited by the "TTY Setup" and "Modem Setup" menus.
  129.  
  130.     The shell archive "Unixpc.shar" contains the Pcomm.modem file
  131.     specific to the AT&T Unix PC 7300.  (Its codes are NOT intuitive)
  132.  
  133. Where similarities end:
  134.  
  135.     When pcomm is first executed, it hasn't yet selected a communications
  136.     port to use, so characters typed at the blank screen are ignored.
  137.     To get a port without pcomm doing the dialing, select an empty
  138.     entry in the dialing directory, or use the manual dial option with
  139.     the phone number set to a single space character.  The second field
  140.     in the status line will show what tty port is currently in use.
  141.  
  142.     Since all printing goes through the Unix print spooler, the printer
  143.     logging feature will not output characters as they appear on the
  144.     screen.  Printing will actually start when the print logging is
  145.     toggled off (and the complete print job is sent to the spool).
  146.  
  147.     Pcomm doesn't emulate any terminals... Whatever terminal you're on
  148.     is what the remote system sees.
  149.  
  150.     Pcomm doesn't have a script language or command interpreter.  The
  151.     index field of the dialing directory is used instead to act as a
  152.     shortcut into the dialing directory from the "-f" command line
  153.     option.  The index field is also used to specify a particular tty
  154.     to be used (as opposed to searching the list of ttys for the first
  155.     free one).  This feature must be used on direct connections with
  156.     other machines.  For example, if tty12 is a hard-wired port to
  157.     "System A", then the dialing directory entry for "System A" would
  158.     have "tty12" in the index field.
  159.  
  160. Known limitations:
  161.  
  162.     The keyboard macro feature is not implemented at this time.
  163.  
  164.     The true screen contents are lost when the "hot key" is pressed.
  165.     Pcomm attempts to compensate (rather poorly) by repainting a
  166.     virtual screen of what it thinks the true screen should look like.
  167.     Escape sequences in the virtual screen image will be ignored when
  168.     the background is repainted.  For example, if you're on a vt100 
  169.     and you receive a ^[[2J to clear the screen, the screen *will* be
  170.     cleared... but when the screen is repainted, it will contain the
  171.     characters ^[, [, 2, J (instead of performing the function).
  172.  
  173.     The disp_tty() routine in s_tty.c currently does not support a
  174.     NUM_TTY definition of greater than 10.
  175.  
  176.     For some strange reason, the first keystroke is "lost" after a
  177.     file transfer is complete or after starting data logging.
  178.  
  179. Future directions:
  180.  
  181.     The virtual screen routines need a lot of work.  The most commonly
  182.     used escape sequences (known to terminfo) will be processed.
  183.  
  184.      I plan to have an option at compile time to have the virtual screen
  185.     buffer held on disk (v7) or in shared memory (SVR2).
  186.     
  187.     The input routine is designed so it could be a standalone program
  188.     that gets called from pcomm.  I plan to have an option at compile
  189.     time to have input() compiled into pcomm or as a separate program.
  190.  
  191.  
  192. Emmet P. Gray                US Army, HQ III Corps & Fort Hood
  193. ...!ihnp4!uiucuxc!fthood!egray        Attn: AFZF-DE-ENV
  194.                     Directorate of Engineering & Housing
  195.                     Environmental Management Office
  196.                     Fort Hood, TX 76544-5057
  197.