home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 033 / tsx420a.zip / TSXLITE.DOC < prev    next >
Text File  |  1994-10-31  |  473KB  |  10,864 lines

  1.  
  2.  
  3.  
  4.  
  5.                                T S X  --  L i t e
  6.  
  7.  
  8.                                    Shareware
  9.  
  10.                    Multi-user/Multi-tasking Operating System
  11.  
  12.  
  13.                            S&H Computer Systems, Inc.
  14.  
  15.  
  16.  
  17.       TSX-Lite is  a  full  32-bit,  multi-user,  multi-tasking  operating
  18.       system  for  386  and  486  computer systems.  TSX-Lite supports two
  19.       simultaneous users and  provides  multi-tasking  and  multi-sessions
  20.       allowing  each user to control up to 10 interactive sessions as well
  21.       as background batch jobs.
  22.  
  23.       TSX-Lite provides full support for modems and dial-in lines as  well
  24.       as  providing  the TSXTERM terminal emulator program.  This makes it
  25.       possible to call your computer and  remotely  execute  commands  and
  26.       programs.
  27.  
  28.       TSX-Lite  uses  the  same  file structure as DOS, so you can install
  29.       TSX-Lite  on  a  DOS  based   computer   without   reformatting   or
  30.       partitioning  your disk.  And, you can run TSX-Lite part of the time
  31.       and DOS at other times on the  same  computer.   TSX-Lite  does  not
  32.       support disk compression such as Stacker or DoubleSpace.
  33.  
  34.       TSX-Lite  runs  most  DOS  16-bit  programs  and  also  provides  an
  35.       advanced 32-bit program environment  with  integral  EMS,  XMS,  and
  36.       DPMI  support.   This allows execution of modern 32-bit applications
  37.       that need not be constrained  by  the  640kb  DOS  partition.   Full
  38.       virtual  memory  support  is  provided  with demand paging, allowing
  39.       execution of programs larger than the physical memory  installed  on
  40.       the computer.
  41.  
  42.       TSX-Lite  is not a limited, 16-bit, multi-DOS add-on.  Rather, it is
  43.       a  complete  32-bit  operating  system  that  runs  exclusively   in
  44.       protected  mode  and  uses  the  full  potential  of  modern  32-bit
  45.       processors.  TSX-Lite  has  the  power  of  DESQView,  PC  Anywhere,
  46.       386MAX, Doorway, and Phar Lap combined.
  47.  
  48.       TSX-Lite  requires  a  386,  486, or Pentium computer system with at
  49.       least 4Mb of memory and 10Mb  of  free  disk  space.   VGA  and  MDA
  50.       display  adapters  are  supported  along  with  a  variety  of  disk
  51.       adapters.
  52.  
  53.       TSX-Lite is a shareware version of  the  powerful  TSX-32  operating
  54.       system  which  supports  over  100  simultaneous  users and provides
  55.       TCP/IP networking, real-time control, and other features.
  56.  
  57.       As a shareware product, you are granted a no-cost, trial  period  of
  58.       30 days during which you may evaluate TSX-Lite.
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                                Table of Contents
  65.  
  66.  
  67.  
  68.       1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  1
  69.         1.1 What is TSX-Lite? . . . . . . . . . . . . . . . . . . . . .  2
  70.           1.1.1 Execution Scheduling  . . . . . . . . . . . . . . . . .  3
  71.           1.1.2 The TSX Kernel  . . . . . . . . . . . . . . . . . . . .  3
  72.         1.2 Why Use TSX-Lite? . . . . . . . . . . . . . . . . . . . . .  4
  73.  
  74.       2. Getting Started  . . . . . . . . . . . . . . . . . . . . . . .  6
  75.         2.1 Starting TSX  . . . . . . . . . . . . . . . . . . . . . . .  6
  76.         2.2 Run Your Program  . . . . . . . . . . . . . . . . . . . . .  7
  77.         2.3 Multi-tasking and the Session Manager . . . . . . . . . . .  7
  78.         2.4 The TSGEN Program . . . . . . . . . . . . . . . . . . . . .  9
  79.         2.5 Setting Up Multi-Tasking Applications . . . . . . . . . . . 10
  80.           2.5.1 Setting up Wildcat for TSX-Lite . . . . . . . . . . . . 12
  81.         2.6 Setting up COM Ports  . . . . . . . . . . . . . . . . . . . 13
  82.           2.6.1 Hardware Connections  . . . . . . . . . . . . . . . . . 13
  83.           2.6.2 Line Setup Options  . . . . . . . . . . . . . . . . . . 14
  84.           2.6.3 Setting up Phone lines  . . . . . . . . . . . . . . . . 17
  85.           2.6.4 Setting Up Password Protection  . . . . . . . . . . . . 18
  86.           2.6.5 Monitoring Serial Lines . . . . . . . . . . . . . . . . 19
  87.           2.6.6 Setting up COM3 and COM4  . . . . . . . . . . . . . . . 20
  88.         2.7 Setting up Mouse Support  . . . . . . . . . . . . . . . . . 21
  89.         2.8 Setting up CD ROM Support . . . . . . . . . . . . . . . . . 22
  90.         2.9 Returning to DOS  . . . . . . . . . . . . . . . . . . . . . 22
  91.  
  92.       3. Terminal Operations  . . . . . . . . . . . . . . . . . . . . . 23
  93.         3.1 Terminal Types  . . . . . . . . . . . . . . . . . . . . . . 23
  94.         3.2 Terminal Input Editor . . . . . . . . . . . . . . . . . . . 24
  95.         3.3 Control Characters  . . . . . . . . . . . . . . . . . . . . 24
  96.         3.4 Screen Saver  . . . . . . . . . . . . . . . . . . . . . . . 26
  97.         3.5 Communication Lines . . . . . . . . . . . . . . . . . . . . 26
  98.         3.6 International Keyboard Support  . . . . . . . . . . . . . . 27
  99.  
  100.       4. Running DOS Programs . . . . . . . . . . . . . . . . . . . . . 29
  101.         4.1 Installing and Tuning DOS Programs  . . . . . . . . . . . . 29
  102.         4.2 Direct Write Programs . . . . . . . . . . . . . . . . . . . 30
  103.         4.3 DOS Environment Variables . . . . . . . . . . . . . . . . . 31
  104.         4.4 16-bit Program Device Names . . . . . . . . . . . . . . . . 31
  105.         4.5 Support for COMMAND.COM and TSR Programs  . . . . . . . . . 32
  106.         4.6 Controlling DOS Program Input Loops . . . . . . . . . . . . 32
  107.         4.7 IDLETIME Attribute  . . . . . . . . . . . . . . . . . . . . 34
  108.         4.8 Printer Flush Sysgen Parameters . . . . . . . . . . . . . . 35
  109.         4.9 Virtual UART Support  . . . . . . . . . . . . . . . . . . . 35
  110.           4.9.1 FOSSIL Driver . . . . . . . . . . . . . . . . . . . . . 36
  111.         4.10 Expanded Memory Support (EMS)  . . . . . . . . . . . . . . 36
  112.         4.11 Extended Memory Support (XMS)  . . . . . . . . . . . . . . 37
  113.         4.12 DPMI Support . . . . . . . . . . . . . . . . . . . . . . . 38
  114.         4.13 Phar Lap Native System Services  . . . . . . . . . . . . . 38
  115.  
  116.  
  117.                                        i
  118.  
  119.       Contents                                                          ii
  120.  
  121.  
  122.  
  123.       5. The TSX Command Language . . . . . . . . . . . . . . . . . . . 39
  124.         5.1 Command Qualifiers  . . . . . . . . . . . . . . . . . . . . 39
  125.         5.2 Wildcard Specifications . . . . . . . . . . . . . . . . . . 40
  126.         5.3 TSX Device Names  . . . . . . . . . . . . . . . . . . . . . 40
  127.         5.4 Internal and External Commands  . . . . . . . . . . . . . . 41
  128.  
  129.       6. The System Menu  . . . . . . . . . . . . . . . . . . . . . . . 43
  130.  
  131.       7. Symbols and Logical Names  . . . . . . . . . . . . . . . . . . 44
  132.         7.1 Defining Symbols with String Assignment Operators . . . . . 44
  133.         7.2 Defining Symbols with Numeric Assignment Operators  . . . . 45
  134.         7.3 ASSIGN Command and Logical Device Names . . . . . . . . . . 45
  135.  
  136.       8. Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
  137.         8.1 Spooler and Queue Manager . . . . . . . . . . . . . . . . . 48
  138.         8.2 Setting Up the Printer Queues . . . . . . . . . . . . . . . 49
  139.         8.3 Printing from DOS Programs  . . . . . . . . . . . . . . . . 50
  140.         8.4 Terminal Printers . . . . . . . . . . . . . . . . . . . . . 51
  141.         8.5 Advanced Features . . . . . . . . . . . . . . . . . . . . . 52
  142.  
  143.       9. Command Procedures (Batch Files) . . . . . . . . . . . . . . . 53
  144.         9.1 Introduction  . . . . . . . . . . . . . . . . . . . . . . . 53
  145.         9.2 Invoking Command Procedures . . . . . . . . . . . . . . . . 53
  146.         9.3 Background Batch Jobs . . . . . . . . . . . . . . . . . . . 54
  147.         9.4 Branching: Labels and GOTO  . . . . . . . . . . . . . . . . 55
  148.         9.5 Symbols and Operators . . . . . . . . . . . . . . . . . . . 56
  149.         9.6 Conditionals: IF  . . . . . . . . . . . . . . . . . . . . . 56
  150.         9.7 User Interaction: DISPLAY and INQUIRE . . . . . . . . . . . 56
  151.         9.8 Seeing Commands . . . . . . . . . . . . . . . . . . . . . . 57
  152.         9.9 Expression Operators  . . . . . . . . . . . . . . . . . . . 57
  153.           9.9.1 Numeric Operators . . . . . . . . . . . . . . . . . . . 57
  154.           9.9.2 String Operators  . . . . . . . . . . . . . . . . . . . 57
  155.           9.9.3 Numeric Comparison  . . . . . . . . . . . . . . . . . . 57
  156.           9.9.4 String Comparions . . . . . . . . . . . . . . . . . . . 57
  157.           9.9.5 Logical Operators . . . . . . . . . . . . . . . . . . . 58
  158.         9.10 Lexical Functions  . . . . . . . . . . . . . . . . . . . . 58
  159.  
  160.       10. Multiuser Computing . . . . . . . . . . . . . . . . . . . . . 63
  161.         10.1 Workstations . . . . . . . . . . . . . . . . . . . . . . . 63
  162.         10.2 Commands for the Multiuser Environment . . . . . . . . . . 64
  163.           10.2.1 BATCH Command  . . . . . . . . . . . . . . . . . . . . 64
  164.           10.2.2 SHOW Commands  . . . . . . . . . . . . . . . . . . . . 65
  165.           10.2.3 STOP Command . . . . . . . . . . . . . . . . . . . . . 65
  166.           10.2.4 SEND Command . . . . . . . . . . . . . . . . . . . . . 65
  167.           10.2.5 PHONE Command  . . . . . . . . . . . . . . . . . . . . 66
  168.           10.2.6 TUTOR Command  . . . . . . . . . . . . . . . . . . . . 66
  169.         10.3 Virtual Memory . . . . . . . . . . . . . . . . . . . . . . 66
  170.         10.4 Data Caching . . . . . . . . . . . . . . . . . . . . . . . 68
  171.         10.5 Logon Access Control . . . . . . . . . . . . . . . . . . . 68
  172.         10.6 Event Logs . . . . . . . . . . . . . . . . . . . . . . . . 69
  173.         10.7 NetBIOS Support  . . . . . . . . . . . . . . . . . . . . . 69
  174.         10.8 Mailboxes and Shared Memory Regions  . . . . . . . . . . . 70
  175.  
  176.       11. TSXTERM . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
  177.  
  178.       Contents                                                         iii
  179.  
  180.  
  181.         11.1 Installing TSXTERM . . . . . . . . . . . . . . . . . . . . 71
  182.         11.2 Using TSXTERM  . . . . . . . . . . . . . . . . . . . . . . 71
  183.         11.3 Control Screens  . . . . . . . . . . . . . . . . . . . . . 71
  184.         11.4 Configuring TSXTERM  . . . . . . . . . . . . . . . . . . . 72
  185.         11.5 Using Modem Connections  . . . . . . . . . . . . . . . . . 73
  186.         11.6 Using Direct Connections . . . . . . . . . . . . . . . . . 73
  187.         11.7 Printer Support  . . . . . . . . . . . . . . . . . . . . . 74
  188.         11.8 Background File Transfer . . . . . . . . . . . . . . . . . 74
  189.         11.9 Session Logging  . . . . . . . . . . . . . . . . . . . . . 74
  190.  
  191.       12. System Management . . . . . . . . . . . . . . . . . . . . . . 75
  192.         12.1 Overview of System Startup . . . . . . . . . . . . . . . . 75
  193.         12.2 Startup Command Files  . . . . . . . . . . . . . . . . . . 75
  194.         12.3 System Customization . . . . . . . . . . . . . . . . . . . 76
  195.           12.3.1 Line Startup Procedures  . . . . . . . . . . . . . . . 76
  196.           12.3.2 User Authorization . . . . . . . . . . . . . . . . . . 77
  197.           12.3.3 System Wide Settings . . . . . . . . . . . . . . . . . 77
  198.         12.4 System Tuning  . . . . . . . . . . . . . . . . . . . . . . 78
  199.           12.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . 78
  200.           12.4.2 CSHSIZE: Cache size  . . . . . . . . . . . . . . . . . 78
  201.           12.4.3 VMAXJOBS: Job limit  . . . . . . . . . . . . . . . . . 78
  202.           12.4.4 DOWINPRT: Window Print . . . . . . . . . . . . . . . . 79
  203.           12.4.5 DOQUEUES: Queue Manager and Spooler  . . . . . . . . . 79
  204.           12.4.6 MAXP0MEM: Maximum Memory Space . . . . . . . . . . . . 79
  205.           12.4.7 PGFILSIZ: Page File Size . . . . . . . . . . . . . . . 79
  206.           12.4.8 POOLSIZEN: System Pool Space . . . . . . . . . . . . . 79
  207.           12.4.9 RAMDISKSIZ: Virtual Disk . . . . . . . . . . . . . . . 80
  208.  
  209.       13. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . 81
  210.         13.1 RUNTSX Fails During TSX Start  . . . . . . . . . . . . . . 82
  211.         13.2 Keyboard Is Dead . . . . . . . . . . . . . . . . . . . . . 82
  212.         13.3 Serial Terminal Does Not Work  . . . . . . . . . . . . . . 82
  213.         13.4 Screen is Corrupted after Session Switch . . . . . . . . . 83
  214.         13.5 Mouse Does Not Work  . . . . . . . . . . . . . . . . . . . 83
  215.         13.6 TSX Does Not Answer Incoming Calls . . . . . . . . . . . . 83
  216.         13.7 Trash Characters During Logon and Screen Refresh . . . . . 83
  217.         13.8 Lost Characters or Retries During File Transfers . . . . . 84
  218.         13.9 Unable to Run TSR Programs . . . . . . . . . . . . . . . . 84
  219.         13.10 Queue Manager and Spooler Are Gone  . . . . . . . . . . . 84
  220.         13.11 Slow Performance -- Excessive Memory Paging . . . . . . . 85
  221.  
  222.       14. TSX Command Summary . . . . . . . . . . . . . . . . . . . . . 86
  223.         14.1 ALLOCATE . . . . . . . . . . . . . . . . . . . . . . . . . 87
  224.         14.2 ASSIGN . . . . . . . . . . . . . . . . . . . . . . . . . . 87
  225.         14.3 ASSIGNMENT Expressions . . . . . . . . . . . . . . . . . . 87
  226.         14.4 ASSIGNMENT for strings . . . . . . . . . . . . . . . . . . 88
  227.         14.5 BACKUP . . . . . . . . . . . . . . . . . . . . . . . . . . 88
  228.         14.6 BATCH  . . . . . . . . . . . . . . . . . . . . . . . . . . 92
  229.         14.7 BOOT . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
  230.         14.8 BYE  . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
  231.         14.9 CALCULATE  . . . . . . . . . . . . . . . . . . . . . . . . 93
  232.         14.10 CALENDAR  . . . . . . . . . . . . . . . . . . . . . . . . 94
  233.         14.11 CALL  . . . . . . . . . . . . . . . . . . . . . . . . . . 94
  234.         14.12 CHAIN . . . . . . . . . . . . . . . . . . . . . . . . . . 94
  235.         14.13 CHDIR . . . . . . . . . . . . . . . . . . . . . . . . . . 95
  236.  
  237.       Contents                                                          iv
  238.  
  239.  
  240.         14.14 CLS . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
  241.         14.15 COPY  . . . . . . . . . . . . . . . . . . . . . . . . . . 96
  242.         14.16 COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . 98
  243.         14.17 DATE  . . . . . . . . . . . . . . . . . . . . . . . . . . 99
  244.         14.18 DEALLOCATE  . . . . . . . . . . . . . . . . . . . . . . . 99
  245.         14.19 DEASSIGN  . . . . . . . . . . . . . . . . . . . . . . . . 99
  246.         14.20 DEFINE KEY  . . . . . . . . . . . . . . . . . . . . . .  100
  247.         14.21 DELETE  . . . . . . . . . . . . . . . . . . . . . . . .  100
  248.         14.22 DETACH  . . . . . . . . . . . . . . . . . . . . . . . .  101
  249.         14.23 DIFFERENCES . . . . . . . . . . . . . . . . . . . . . .  103
  250.         14.24 DIRECTORY . . . . . . . . . . . . . . . . . . . . . . .  105
  251.         14.25 DISPLAY . . . . . . . . . . . . . . . . . . . . . . . .  107
  252.         14.26 DOS . . . . . . . . . . . . . . . . . . . . . . . . . .  107
  253.         14.27 DOWNLOAD  . . . . . . . . . . . . . . . . . . . . . . .  107
  254.         14.28 DUMP  . . . . . . . . . . . . . . . . . . . . . . . . .  108
  255.         14.29 EDIT  . . . . . . . . . . . . . . . . . . . . . . . . .  109
  256.         14.30 EVALUATE  . . . . . . . . . . . . . . . . . . . . . . .  110
  257.         14.31 EVENT . . . . . . . . . . . . . . . . . . . . . . . . .  110
  258.         14.32 EXIT  . . . . . . . . . . . . . . . . . . . . . . . . .  110
  259.         14.33 EXPAND  . . . . . . . . . . . . . . . . . . . . . . . .  111
  260.         14.34 FILEWATCH . . . . . . . . . . . . . . . . . . . . . . .  113
  261.         14.35 FMAN  . . . . . . . . . . . . . . . . . . . . . . . . .  114
  262.         14.36 FORMAT  . . . . . . . . . . . . . . . . . . . . . . . .  117
  263.         14.37 GOTO  . . . . . . . . . . . . . . . . . . . . . . . . .  117
  264.         14.38 HANLOAD . . . . . . . . . . . . . . . . . . . . . . . .  117
  265.         14.39 HELP  . . . . . . . . . . . . . . . . . . . . . . . . .  117
  266.         14.40 HOST  . . . . . . . . . . . . . . . . . . . . . . . . .  118
  267.         14.41 IF  . . . . . . . . . . . . . . . . . . . . . . . . . .  119
  268.         14.42 INITIALIZE  . . . . . . . . . . . . . . . . . . . . . .  120
  269.         14.43 INQUIRE . . . . . . . . . . . . . . . . . . . . . . . .  121
  270.         14.44 JMAN  . . . . . . . . . . . . . . . . . . . . . . . . .  121
  271.         14.45 KERMIT  . . . . . . . . . . . . . . . . . . . . . . . .  121
  272.         14.46 KEYLOAD . . . . . . . . . . . . . . . . . . . . . . . .  122
  273.         14.47 KILL  . . . . . . . . . . . . . . . . . . . . . . . . .  122
  274.         14.48 LOGOFF  . . . . . . . . . . . . . . . . . . . . . . . .  122
  275.         14.49 MACROS  . . . . . . . . . . . . . . . . . . . . . . . .  122
  276.         14.50 MAIL  . . . . . . . . . . . . . . . . . . . . . . . . .  124
  277.         14.51 MD  . . . . . . . . . . . . . . . . . . . . . . . . . .  124
  278.         14.52 MESSAGE . . . . . . . . . . . . . . . . . . . . . . . .  125
  279.         14.53 MKDIR . . . . . . . . . . . . . . . . . . . . . . . . .  125
  280.         14.54 MN  . . . . . . . . . . . . . . . . . . . . . . . . . .  125
  281.         14.55 OFF . . . . . . . . . . . . . . . . . . . . . . . . . .  125
  282.         14.56 ON  . . . . . . . . . . . . . . . . . . . . . . . . . .  125
  283.         14.57 PATH  . . . . . . . . . . . . . . . . . . . . . . . . .  126
  284.         14.58 PAUSE . . . . . . . . . . . . . . . . . . . . . . . . .  127
  285.         14.59 PHONE . . . . . . . . . . . . . . . . . . . . . . . . .  127
  286.         14.60 PMAN  . . . . . . . . . . . . . . . . . . . . . . . . .  127
  287.         14.61 PRINT . . . . . . . . . . . . . . . . . . . . . . . . .  128
  288.         14.62 PROMPT  . . . . . . . . . . . . . . . . . . . . . . . .  130
  289.         14.63 PROTECT . . . . . . . . . . . . . . . . . . . . . . . .  130
  290.         14.64 QMAN  . . . . . . . . . . . . . . . . . . . . . . . . .  130
  291.         14.65 R . . . . . . . . . . . . . . . . . . . . . . . . . . .  131
  292.         14.66 RD  . . . . . . . . . . . . . . . . . . . . . . . . . .  131
  293.         14.67 RECALL  . . . . . . . . . . . . . . . . . . . . . . . .  131
  294.         14.68 RENAME  . . . . . . . . . . . . . . . . . . . . . . . .  132
  295.  
  296.       Contents                                                           v
  297.  
  298.  
  299.         14.69 RESTORE . . . . . . . . . . . . . . . . . . . . . . . .  133
  300.         14.70 RMDIR . . . . . . . . . . . . . . . . . . . . . . . . .  135
  301.         14.71 RUN . . . . . . . . . . . . . . . . . . . . . . . . . .  135
  302.         14.72 SEARCH  . . . . . . . . . . . . . . . . . . . . . . . .  136
  303.         14.73 SEND  . . . . . . . . . . . . . . . . . . . . . . . . .  139
  304.         14.74 SET CMDPROC . . . . . . . . . . . . . . . . . . . . . .  140
  305.         14.75 SET DATE  . . . . . . . . . . . . . . . . . . . . . . .  141
  306.         14.76 SET DEFAULT . . . . . . . . . . . . . . . . . . . . . .  141
  307.         14.77 SET EDIT  . . . . . . . . . . . . . . . . . . . . . . .  141
  308.         14.78 SET ENTRY . . . . . . . . . . . . . . . . . . . . . . .  142
  309.         14.79 SET EVENT . . . . . . . . . . . . . . . . . . . . . . .  142
  310.         14.80 SET HOST  . . . . . . . . . . . . . . . . . . . . . . .  142
  311.         14.81 SET LOGOFF  . . . . . . . . . . . . . . . . . . . . . .  144
  312.         14.82 SET LOG . . . . . . . . . . . . . . . . . . . . . . . .  144
  313.         14.83 SET MESSAGE . . . . . . . . . . . . . . . . . . . . . .  145
  314.         14.84 SET NEWSTATISTICS . . . . . . . . . . . . . . . . . . .  146
  315.         14.85 SET PRINTWINDOW . . . . . . . . . . . . . . . . . . . .  146
  316.         14.86 SET PROCESS . . . . . . . . . . . . . . . . . . . . . .  147
  317.         14.87 SET . . . . . . . . . . . . . . . . . . . . . . . . . .  148
  318.         14.88 SET SYSTEM  . . . . . . . . . . . . . . . . . . . . . .  148
  319.         14.89 SET TERMINAL  . . . . . . . . . . . . . . . . . . . . .  149
  320.         14.90 SET TIME  . . . . . . . . . . . . . . . . . . . . . . .  152
  321.         14.91 SET VERIFY  . . . . . . . . . . . . . . . . . . . . . .  153
  322.         14.92 SET VIDEO . . . . . . . . . . . . . . . . . . . . . . .  153
  323.         14.93 SET WINDOW  . . . . . . . . . . . . . . . . . . . . . .  153
  324.         14.94 SET WORKING_SET . . . . . . . . . . . . . . . . . . . .  154
  325.         14.95 SHOW ALL  . . . . . . . . . . . . . . . . . . . . . . .  155
  326.         14.96 SHOW ASSIGNS  . . . . . . . . . . . . . . . . . . . . .  155
  327.         14.97 SHOW AUTHORS  . . . . . . . . . . . . . . . . . . . . .  155
  328.         14.98 SHOW CACHE  . . . . . . . . . . . . . . . . . . . . . .  156
  329.         14.99 SHOW COLORS . . . . . . . . . . . . . . . . . . . . . .  156
  330.         14.100 SHOW DATE  . . . . . . . . . . . . . . . . . . . . . .  156
  331.         14.101 SHOW DEVICES . . . . . . . . . . . . . . . . . . . . .  156
  332.         14.102 SHOW ERRORS  . . . . . . . . . . . . . . . . . . . . .  156
  333.         14.103 SHOW EVENTS  . . . . . . . . . . . . . . . . . . . . .  157
  334.         14.104 SHOW FILES . . . . . . . . . . . . . . . . . . . . . .  157
  335.         14.105 SHOW FSTATUS . . . . . . . . . . . . . . . . . . . . .  157
  336.         14.106 SHOW JOBS  . . . . . . . . . . . . . . . . . . . . . .  158
  337.         14.107 SHOW KEYS  . . . . . . . . . . . . . . . . . . . . . .  158
  338.         14.108 SHOW MEMORY  . . . . . . . . . . . . . . . . . . . . .  158
  339.         14.109 SHOW NAME  . . . . . . . . . . . . . . . . . . . . . .  158
  340.         14.110 SHOW PAGING  . . . . . . . . . . . . . . . . . . . . .  158
  341.         14.111 SHOW PRIVILEGES  . . . . . . . . . . . . . . . . . . .  158
  342.         14.112 SHOW QUEUE . . . . . . . . . . . . . . . . . . . . . .  159
  343.         14.113 SHOW SYMBOLS . . . . . . . . . . . . . . . . . . . . .  159
  344.         14.114 SHOW SYSTEM  . . . . . . . . . . . . . . . . . . . . .  159
  345.         14.115 SHOW TERMINALS . . . . . . . . . . . . . . . . . . . .  160
  346.         14.116 SHOW TIME  . . . . . . . . . . . . . . . . . . . . . .  160
  347.         14.117 SHOW UIC . . . . . . . . . . . . . . . . . . . . . . .  160
  348.         14.118 SHOW USE . . . . . . . . . . . . . . . . . . . . . . .  160
  349.         14.119 SHOW USERS . . . . . . . . . . . . . . . . . . . . . .  161
  350.         14.120 SHOW VERSION . . . . . . . . . . . . . . . . . . . . .  161
  351.         14.121 SHUTDOWN . . . . . . . . . . . . . . . . . . . . . . .  161
  352.         14.122 SORT . . . . . . . . . . . . . . . . . . . . . . . . .  161
  353.         14.123 SPY  . . . . . . . . . . . . . . . . . . . . . . . . .  162
  354.  
  355.       Contents                                                          vi
  356.  
  357.  
  358.         14.124 STOP . . . . . . . . . . . . . . . . . . . . . . . . .  163
  359.         14.125 SUBPROCESS . . . . . . . . . . . . . . . . . . . . . .  164
  360.         14.126 SYSMON . . . . . . . . . . . . . . . . . . . . . . . .  165
  361.         14.127 SYSTAT . . . . . . . . . . . . . . . . . . . . . . . .  165
  362.         14.128 TIME . . . . . . . . . . . . . . . . . . . . . . . . .  165
  363.         14.129 TMAN . . . . . . . . . . . . . . . . . . . . . . . . .  165
  364.         14.130 TSAUTH . . . . . . . . . . . . . . . . . . . . . . . .  165
  365.         14.131 TUTOR  . . . . . . . . . . . . . . . . . . . . . . . .  165
  366.         14.132 TYPE . . . . . . . . . . . . . . . . . . . . . . . . .  166
  367.         14.133 TSGEN  . . . . . . . . . . . . . . . . . . . . . . . .  167
  368.         14.134 UNPROTECT  . . . . . . . . . . . . . . . . . . . . . .  167
  369.         14.135 UPLOAD . . . . . . . . . . . . . . . . . . . . . . . .  168
  370.         14.136 VERSION  . . . . . . . . . . . . . . . . . . . . . . .  168
  371.         14.137 VIEW . . . . . . . . . . . . . . . . . . . . . . . . .  168
  372.         14.138 WAIT . . . . . . . . . . . . . . . . . . . . . . . . .  169
  373.         14.139 WHO  . . . . . . . . . . . . . . . . . . . . . . . . .  169
  374.         14.140 WIN  . . . . . . . . . . . . . . . . . . . . . . . . .  169
  375.         14.141 WSCMD  . . . . . . . . . . . . . . . . . . . . . . . .  170
  376.  
  377.       15. Use and Distribution of TSX-Lite  . . . . . . . . . . . . .  172
  378.         15.1 Redistribution of TSX-Lite . . . . . . . . . . . . . . .  172
  379.         15.2 Registering TSX-Lite . . . . . . . . . . . . . . . . . .  172
  380.         15.3 Telephone Support  . . . . . . . . . . . . . . . . . . .  172
  381.         15.4 Copyright notice . . . . . . . . . . . . . . . . . . . .  173
  382.         15.5 Disclaimer . . . . . . . . . . . . . . . . . . . . . . .  173
  383.  
  384.       16. TSX-BBS . . . . . . . . . . . . . . . . . . . . . . . . . .  174
  385.         16.1 A Multi-Line System  . . . . . . . . . . . . . . . . . .  174
  386.         16.2 Super System Capacity  . . . . . . . . . . . . . . . . .  174
  387.         16.3 Reliable, Non-stop Operation . . . . . . . . . . . . . .  175
  388.         16.4 A Sysop's Dream  . . . . . . . . . . . . . . . . . . . .  175
  389.         16.5 Door Program Support . . . . . . . . . . . . . . . . . .  176
  390.         16.6 Flexibility is the Key . . . . . . . . . . . . . . . . .  176
  391.         16.7 Use TPL to Extend Your System  . . . . . . . . . . . . .  177
  392.         16.8 File Libraries . . . . . . . . . . . . . . . . . . . . .  178
  393.         16.9 Newsgroups and Discussion Forums . . . . . . . . . . . .  179
  394.         16.10 E-mail  . . . . . . . . . . . . . . . . . . . . . . . .  180
  395.         16.11 Direct Internet Access  . . . . . . . . . . . . . . . .  180
  396.         16.12 Incoming SLIP connections . . . . . . . . . . . . . . .  180
  397.         16.13 On-line "Chat"  . . . . . . . . . . . . . . . . . . . .  181
  398.         16.14 TSX-BBS System Security . . . . . . . . . . . . . . . .  181
  399.         16.15 System Control  . . . . . . . . . . . . . . . . . . . .  181
  400.         16.16 TSX-BBS Is a Complete System  . . . . . . . . . . . . .  182
  401.  
  402.       17. The Full TSX-32 System  . . . . . . . . . . . . . . . . . .  183
  403.         17.1 Support for Large Systems  . . . . . . . . . . . . . . .  183
  404.         17.2 Networking . . . . . . . . . . . . . . . . . . . . . . .  183
  405.         17.3 Real-time Support  . . . . . . . . . . . . . . . . . . .  183
  406.         17.4 Disk Shadowing . . . . . . . . . . . . . . . . . . . . .  183
  407.         17.5 Tape Support . . . . . . . . . . . . . . . . . . . . . .  184
  408.         17.6 MessageNet . . . . . . . . . . . . . . . . . . . . . . .  184
  409.         17.7 Single-user Option . . . . . . . . . . . . . . . . . . .  184
  410.  
  411.       Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  185
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.                                    Chapter 1
  419.  
  420.                                   Introduction
  421.  
  422.  
  423.  
  424.  
  425.       If  you  are  like  most  DOS  users  you probably suspect that your
  426.       computer has a lot more power than you  are  currently  using.   You
  427.       are  right.   But  to  tap  that  power  you  need  a  more powerful
  428.       operating system than DOS; you need a system which was designed  for
  429.       modern  386,  486,  and  Pentium  computers,  a  system  which fully
  430.       utilizes the hardware potential such as  protected  execution  mode,
  431.       virtual  memory,  and  32-bit  programs.   You  need  a  multi-user,
  432.       multi-tasking system that allows more than one user  to  access  the
  433.       computer  and allows you to execute multiple tasks at the same time.
  434.       You need TSX.
  435.  
  436.       Although the primary purpose of TSX is not to emulate DOS, you  will
  437.       find  that  most  DOS  commands  and  programs  work  with  TSX in a
  438.       multi-user  environment.   And,  since  TSX  uses  the   same   file
  439.       structure  as  DOS,  you  can install it on the same disk as DOS and
  440.       run it part of the time and DOS at other times.   Files  created  by
  441.       TSX  or  DOS  are  completely  compatible.   However,  TSX  does not
  442.       support  software  disk  compression  schemes   like   Stacker   and
  443.       DoubleSpace.
  444.  
  445.       This  manual  does  not  fully  document  TSX.   The  entire  TSX-32
  446.       documentation set, including User's Manual, System Services,  System
  447.       Management,  Networking,  etc.  is over 1,500 pages.  The philosophy
  448.       of this manual is to introduce TSX-Lite and provide you with  enough
  449.       information  to  use it productively.  See the REGISTER.DOC file for
  450.       information about ordering TSX-32 manuals.
  451.  
  452.       In this document you will learn:
  453.  
  454.         . What TSX-Lite is;
  455.  
  456.         . Why it's better to run your software programs under TSX;
  457.  
  458.         . How to use features of your TSX-Lite system;
  459.  
  460.         . Benefits of registration and full TSX-32 systems.
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.                                        1
  471.  
  472.       Chapter 1. Introduction                                            2
  473.  
  474.  
  475.       1.1 What is TSX-Lite?
  476.  
  477.       TSX is a multi-user, multi-tasking  operating  system.   This  means
  478.       several  users can access the system at the same time, and each user
  479.       can control several jobs.  TSX-Lite is  somewhat  like  DESQView  in
  480.       that  you  can simultaneously run many programs or several copies of
  481.       the same program such a bulletin board software.  But you will  find
  482.       that TSX-Lite provides much more than just a multi-tasking system.
  483.  
  484.       We  use the terms job, task, and process interchangeably to describe
  485.       one computing operation.  The term "session" describes  specifically
  486.       a  job which is being controlled by a user sitting at a terminal (or
  487.       the console) as opposed to a batch or detached job.
  488.  
  489.       With its dial-in support, TSX is little like a  multi-node  bulletin
  490.       board  except  that with a full multi-user system like TSX each user
  491.       can run any sets of commands and programs rather than being  limited
  492.       to  a  specific  set of programs (or "doors") that are controlled by
  493.       the bulletin board.  For example, one user can edit a document  with
  494.       a  word  processor  while  another user runs a spreadsheet or uses a
  495.       database program.
  496.  
  497.       A companion product to TSX is TSX-BBS -- a full multi-line  bulletin
  498.       board  system.   See  Chapter  16  for  additional information about
  499.       TSX-BBS.
  500.  
  501.       TSX-Lite can also be used as a "server" for multi-node BBS  systems.
  502.       To  do this the BBS system would run on one computer and TSX-Lite on
  503.       a different one.  The BBS computer would be linked to  the  TSX-Lite
  504.       system  with one or more hardwired serial connections.  Users on the
  505.       BBS who wanted to run programs  or  perform  other  functions  would
  506.       cause  the  BBS  to connect their incoming line to one of the serial
  507.       lines going to the TSX-Lite system.  The BBS  user  could  then  log
  508.       onto  the  TSX-Lite  system  and  run "door" programs or any type of
  509.       application.  This  is  somewhat  similar  to  using  the  "Doorway"
  510.       product  but  TSX  allows  multiple  programs  to  run  on  the same
  511.       machine.  See Section 4.9.1 on page 36  for  information  about  the
  512.       FOSSIL driver that is built into TSX.
  513.  
  514.       With  a  full  TSX-32 system and the TSX-32 network applications kit
  515.       it is even possible to use Telnet and FTP to access the Internet  or
  516.       other systems through an arrangement of this type.
  517.  
  518.       Using  TSX-Lite  with  the TSXTERM terminal emulator program that is
  519.       provided is a little like using PC Anywhere: you can call  in  using
  520.       a  modem  and  execute commands and run programs.  And you will find
  521.       that TSX's remote support is so good that you can  remotely  execute
  522.       even complex programs like WordPerfect, FoxPro, and Lotus 1-2-3.
  523.  
  524.       TSX  coordinates  file  access  so  that multiple users can read and
  525.       write the same or different files.  This makes  TSX  a  natural  and
  526.       efficient  system for applications such as pharmacies, video stores,
  527.       or other situations where multiple terminals are used  to  access  a
  528.       common database.
  529.  
  530.       Chapter 1. Introduction                                            3
  531.  
  532.  
  533.       A  multi-user  operating  system is a little like a computer network
  534.       such as Novell or  Lantastic:  many  users  can  run  a  variety  of
  535.       programs  at  the  same  time and they can access common data files.
  536.       However, whereas a network requires each user  to  have  a  separate
  537.       computer,  and  usually a dedicated file server, a multi-user system
  538.       allows many users to run programs and access  common  files  on  the
  539.       same  computer.   Each user will have an inexpensive serial terminal
  540.       or a low-end computer with terminal emulation software, but all  the
  541.       "computing" takes place on the central system.
  542.  
  543.       The  multi-user  approach  has  many  advantages.  First, it is less
  544.       expensive since you do not have to buy a separate computer for  each
  545.       user.   Second,  it  is  more  efficient since files can be accessed
  546.       directly without  having  to  transfer  data  through  the  network.
  547.       Third,  management  and  upkeep  of a single computer is much easier
  548.       than a network.  Fourth, a multi-user system such  as  TSX  supports
  549.       both hard-wired and dial-in users.
  550.  
  551.       The  full  TSX-32  system  is  actually  both  a  multi-user  and  a
  552.       networking  operating  system.   The  basic  system  is   inherently
  553.       multi-user  and  is  capable  of running dozens of users on a single
  554.       computer.   The  networking  option  provides  TCP/IP   support   so
  555.       multiple  TSX  systems can be linked together via Ethernet or serial
  556.       connections.  With a network of TSX systems a user on  any  computer
  557.       can  access  files  and  devices on any other computer; also, a user
  558.       can log into another computer in the network  and  run  programs  or
  559.       perform other operations on remote computers.
  560.  
  561.       1.1.1 Execution Scheduling
  562.  
  563.       The  multi-user,  multi-tasking  operation  is  achieved  through  a
  564.       technique called  "time-sharing,"  in  which  the  operating  system
  565.       allocates  the  CPU to the jobs as they have need for it, giving the
  566.       illusion that each user has the  full  attention  of  the  computer.
  567.       The   quality   of   the   execution  scheduling  algorithm  largely
  568.       determines how  efficient  and  responsive  a  multi-user  operating
  569.       system  is.   TSX  uses  a  patented "Adaptive Scheduling Algorithm"
  570.       (trade mark) that does a very good  job  of  sharing  the  CPU  time
  571.       among  the competing jobs and overlaps the I/O wait time for one job
  572.       with  the  execution  of  others.    Until   recently,   multi-user,
  573.       time-sharing  systems  such  as  TSX  were  available  only on large
  574.       mainframe and mini-computer systems.
  575.  
  576.       1.1.2 The TSX Kernel
  577.  
  578.       The "brain" of the TSX operating system called the "kernel".  It  is
  579.       located  in  the  file  TSX32.SYS  which  must be stored in the root
  580.       directory.  When you type RUNTSX to start the TSX operating  system,
  581.       the  kernel  is  loaded  into  memory  and  control of the system is
  582.       transferred to it.  At this point, DOS and the BIOS  are  no  longer
  583.       running.   All  functions that were previously controlled by DOS and
  584.       the BIOS are now assumed by TSX.  But don't worry, DOS and the  BIOS
  585.       are still there so you can reboot at any time and run DOS.
  586.  
  587.       Chapter 1. Introduction                                            4
  588.  
  589.  
  590.       1.2 Why Use TSX-Lite?
  591.  
  592.       There are several reasons to choose TSX as your operating system:
  593.  
  594.         . TSX  is a multi-user system.  In addition to the primary user at
  595.           the console, your TSX-Lite system allows a  second  user  to  be
  596.           connected  through  the  COM1  or  COM2  port.   The full TSX-32
  597.           system supports an unlimited  number  of  users.   Although  the
  598.           practical  limit  is  set by the configuration of your computer,
  599.           we have 386  and  486  systems  installed  supporting  over  100
  600.           simultaneous  users.  TSX-Lite, the shareware version of TSX-32,
  601.           supports a maximum of 2 users.
  602.  
  603.         . TSX provides multi-tasking and background batch jobs.   Using  a
  604.           technique  called Process Windowing, each user can control up to
  605.           10 tasks.   In  addition,  many  jobs  can  be  running  in  the
  606.           background  as  batch  jobs (see Section 9.3).  This allows long
  607.           running tasks to execute in the background  while  you  use  the
  608.           computer  for  other  tasks.   You  can  also  execute  multiple
  609.           "detached" jobs which can provide  server  functions  for  other
  610.           jobs.  Detached jobs are not connected to any terminal.
  611.  
  612.         . TSX  supports  modems  and  dial-in  lines.  You can set up your
  613.           TSX-Lite system so that you, or other users, can  call  in  from
  614.           remote  locations  and run programs.  A terminal emulator called
  615.           TSXTERM,  that  is  optimized  for  remote  access  to  TSX,  is
  616.           provided  with  your  TSX-Lite  package.   See  Chapter  11  for
  617.           additional  information  about  TSXTERM.   You  can   also   use
  618.           programs  like  Procomm  to  call into TSX systems.  An optional
  619.           TSX-Lite Security  Kit  is  available  with  programs  to  limit
  620.           access  to  the system and control file access on a user-by-user
  621.           basis.
  622.  
  623.         . TSX can run  arbitrarily  large  programs.   Using  a  technique
  624.           called  virtual memory, the size of programs can actually exceed
  625.           the amount of physical memory in the computer.
  626.  
  627.         . TSX runs a variety of programs.  The evolution of  the  computer
  628.           industry   has  extended  programs  beyond  the  world  of  DOS.
  629.           Programs requiring  DPMI  (a  technique  that  allows  DOS  type
  630.           programs,  which  are  normally  16-bit, to run in 32-bit mode),
  631.           Phar lap  (a  similar  technique),  as  well  as  native  32-bit
  632.           software  can  all  be run simultaneously.  TSX has the combined
  633.           power of 386MAX and Phar Lap.
  634.  
  635.         . TSX uses the "protected  mode"  of  386/486/Pentium  processors.
  636.           This  protects  TSX  and  other programs from the misbehavior of
  637.           one user's programs  and  greatly  reduces  the  occurrences  of
  638.           system "hangs" or "crashes".
  639.  
  640.         . TSX  uses  the  same file structure as DOS.  This means that you
  641.           can run TSX some of the time and DOS at other times on the  same
  642.           disk  without having to reformat or partition it.  It also means
  643.           that data can be exchanged easily between TSX based systems  and
  644.  
  645.       Chapter 1. Introduction                                            5
  646.  
  647.  
  648.           DOS   systems.   TSX-Lite  does  not  support  disk  compression
  649.           software such as Stacker or DOS version 6's DoubleSpace.
  650.  
  651.         . Data caching is an integral part  of  TSX.   This  cache  stores
  652.           frequently  accessed data in memory and can greatly increase the
  653.           speed of some I/O intensive programs.  On  large-memory  systems
  654.           the  TSX  data  cache  can  be configured to store up to 12Mb of
  655.           data.
  656.  
  657.         . TSX is a comprehensive system  that  includes  as  part  of  its
  658.           basic  support  XMS,  EMS,  DPMI,  virtual memory, disk caching,
  659.           multi-tasking, remote access, terminal  emulation,  and  NetBIOS
  660.           (for  local  program-to-program  communication),  so  you do not
  661.           have to buy and install additional products.
  662.  
  663.         . The TSX environment  includes  literally  hundreds  of  features
  664.           designed  to  make  life  easier, not just for your software but
  665.           for you.
  666.  
  667.         . There is an easy growth path from TSX-Lite to  the  full  TSX-32
  668.           system  which  supports  dozens  of  users  and  provides TCP/IP
  669.           networking and many other features.
  670.  
  671.         . S&H Computer Systems has an outstanding  support  team  that  is
  672.           there  to  help  you.  Registered TSX-Lite users receive 90 days
  673.           of support via mail, FAX, or CompuServe at no  additional  cost.
  674.           Telephone  support  is  also available; see Section 15.3 on page
  675.           172 for details.
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.                                    Chapter 2
  683.  
  684.                                 Getting Started
  685.  
  686.  
  687.  
  688.  
  689.  
  690.       2.1 Starting TSX
  691.  
  692.       If you have not already done so, you should follow the  instructions
  693.       in  the  INSTALL.DOC file to install TSX-Lite on your computer.  The
  694.       installation process will create a  directory  named  \TSX32SYS\  on
  695.       your  disk  and copy the TSX system files into it.  Furthermore, the
  696.       file TSX32.SYS (literally the computer program  comprising  the  TSX
  697.       operating system) has been placed in the root directory.
  698.  
  699.       The  program  RUNTSX  in  the \TSX32SYS\ directory is used to "boot"
  700.       TSX from the DOS prompt.  This program  reads  the  TSX32.SYS  file,
  701.       loads   it  into  memory,  places  your  386  or  486  processor  in
  702.       "protected" (32-bit) mode, and jumps into TSX.  From this point  on,
  703.       DOS (as well as the BIOS) are completely out of the picture.
  704.  
  705.       Should  you  reach  a  point  that you want your PC automatically to
  706.       start TSX when it boots, you can use the STARTTSX program  which  is
  707.       provided with the optional TSX-Lite Utilities Kit.
  708.  
  709.       Remember  that  when TSX is running, DOS is no longer in control (it
  710.       is not even in memory).  While the TSX environment  is  designed  to
  711.       make  DOS  users  feel  at home, it is not designed to be "just like
  712.       DOS".  There are many  more  commands  available.   You  can  run  a
  713.       greater  variety of programs than you can under DOS.  More memory is
  714.       available, and you have multi-user and  multi-tasking  capabilities.
  715.       However,  it  is  also  the  case  that  some commands work a little
  716.       differently than they do under DOS.  It's also  true  that  not  all
  717.       DOS  programs  will  run  under  TSX.   You  may  have  to  set up a
  718.       technique for correctly  routing  printed  output  or  tame  certain
  719.       programs   for  efficient  multi-user  operation.   See  Chapter  4,
  720.       starting on page 29, for additional information installing,  tuning,
  721.       and running DOS programs under TSX.
  722.  
  723.       When  you type RUNTSX to start TSX it will initiate a procedure that
  724.       takes a few seconds to  load  TSX  into  memory  and  start  various
  725.       "detached  jobs"  such as the print spooler and queue manager.  Once
  726.       the initialization process finishes your console  should  display  a
  727.       message  saying  that  TSX  is  available.  When you press Enter you
  728.       will be "logged on" to the system.  An  optional  TSX-Lite  Security
  729.       Kit  is  available  which includes a LOGON program to force users to
  730.       enter a user name and password to gain access to  the  system.   See
  731.       REGISTER.DOC for ordering and support information.
  732.  
  733.  
  734.                                        6
  735.  
  736.       Chapter 2. Getting Started                                         7
  737.  
  738.  
  739.       Decide  on  a  program  you  would like to run under TSX.  Since the
  740.       chances are good that you will have to use the CD  command  to  move
  741.       to  the  directory  where  the  program is, it's a good time to talk
  742.       about how TSX handles disks and directories.
  743.  
  744.       Under TSX, you can issue familiar  commands  to  manage  directories
  745.       like:
  746.  
  747.            C:
  748.            CD \
  749.            MD WP51
  750.            CD \WP51
  751.            CD ..
  752.  
  753.       Try  a  CD  command now to move to the directory where your favorite
  754.       program resides.  If it's on a different disk, you can  combine  the
  755.       device  and  directory  specifications  in a single CD command, such
  756.       as:
  757.  
  758.            CD D:\WP51
  759.  
  760.       Another nice feature of the TSX CD  command  is  a  construct  which
  761.       means "go back to where I was before":
  762.  
  763.            CD *
  764.  
  765.  
  766.       2.2 Run Your Program
  767.  
  768.       Whatever  you  do  to  run  your  program  under  DOS,  do now.  TSX
  769.       recognizes BAT files, EXE files, and COM files just like DOS.   Your
  770.       program  should run just like it does under DOS.  If it does not let
  771.       us make two suggestions at this point: (1) try another program,  and
  772.       (2) see Chapter 13 that starts on page 81.
  773.  
  774.  
  775.       2.3 Multi-tasking and the Session Manager
  776.  
  777.       Now  that  you  are executing your favorite application program, you
  778.       may well be asking what the big deal about TSX is.  To  begin  with,
  779.       let's  do  a  little  multi-tasking.  While your program is running,
  780.       press the "Scroll Lock" key to invoke the TSX "Session Manager".   A
  781.       menu  will  appear  in  the  upper  right  portion  of  your  screen
  782.       displaying the  currently  active  sessions.   At  this  point  only
  783.       session  number  0  will  be active.  Type the digit "1" (not on the
  784.       keypad, but on the keyboard above the letter "Q") to  start  session
  785.       1.   You will be greeted with a blank screen and a message that says
  786.       something like "Subprocess 1, Job id=4".   What  you  have  done  is
  787.       switched to a different Process Window.
  788.  
  789.       Process  windowing  is  the  TSX terminology for multi-tasking.  The
  790.       term "process" (or "job", or "task") refers to a single  interactive
  791.       session  controlled  from  a  terminal  which  is  running  a single
  792.       program at any particular time.  There are also batch  and  detached
  793.       processes,  which  are tasks that are not connected to a terminal at
  794.  
  795.       Chapter 2. Getting Started                                         8
  796.  
  797.  
  798.       all.  Since TSX allows you to control more  than  one  process  from
  799.       each  terminal,  each  process is associated with a single "window".
  800.       Think of your monitor as being connected to a  single  window  at  a
  801.       time,  looking  through  the window at the process you are currently
  802.       controlling.
  803.  
  804.       Your primary window, number zero, is  still  running  your  program.
  805.       In  window  1,  you  are  now  at  the  system  prompt.  To convince
  806.       yourself that your original  program  is  still  running,  type  the
  807.       following command:
  808.  
  809.            SHOW SYSTEM
  810.  
  811.       This  will display a list of jobs that are currently logged on.  You
  812.       should see an entry for your current session (which will show  "(1)"
  813.       after  the  terminal  name because this is your session 1), an entry
  814.       for your original session, and entries for TSX system jobs  such  as
  815.       the print spooler and queue manager.
  816.  
  817.       By   way  of  demonstrating  multi-tasking,  let's  talk  about  TSX
  818.       commands for  a  minute,  taking  DIR  as  an  example.   Issue  the
  819.       command:
  820.  
  821.            DIR
  822.  
  823.       You  will  see  a  listing  of  the  files  in  the directory with a
  824.       familiar, but enhanced, format.  TSX has more commands than you  are
  825.       used  to,  and the commands have many more features.  Take DIR as an
  826.       example.  It's often nice to see  what  files  in  a  directory  are
  827.       using up all the disk space.  Try the command:
  828.  
  829.            DIR/SORT=SIZE/REVERSE
  830.  
  831.       This  requests  a  listing  of files sorted by size in reverse order
  832.       (listing the  biggest  ones  first).   So  just  what  commands  are
  833.       available?  Try the command:
  834.  
  835.            HELP
  836.  
  837.       You  are  presented with a menu from which you can select DIRECTORY.
  838.       This brings up a brief description of directory and tells  you  that
  839.       you  can  press  the  F1  key  for a list of subtopics.  Try it: the
  840.       pop-up menu shows a list of all the qualifiers (options)  legal  for
  841.       the  directory  command.  Qualifiers are phrases used to qualify, or
  842.       modify, the normal meaning of a command such as DIR.  You just  used
  843.       two of them: /SORT and /REVERSE.
  844.  
  845.       Now  what  about the program you started in session 0?  Press Scroll
  846.       Lock and the Session Manager will display  a  list  of  your  active
  847.       sessions.   This  time  the  list will show that you have two active
  848.       sessions: 0 and 1.  You could type a digit in the range 2 through  8
  849.       to  start  another  session.   Type  "0" to select session 0 and the
  850.       console  will  disconnect  from  session  1  and  reconnect  to  the
  851.       original  session  that  is  running  the  application  you  started
  852.       earlier.
  853.  
  854.       Chapter 2. Getting Started                                         9
  855.  
  856.  
  857.       The  ability  to  flip  between  simultaneous  sessions  is   called
  858.       multi-tasking.   You  can control up to 10 simultaneous tasks from a
  859.       single terminal (the Session Manager runs as  session  number  9  so
  860.       you  have  0  through  8 available for your own use).  Multi-tasking
  861.       allows you to interrupt one task, work on another for a while,  then
  862.       return  to  the first one right where you left off.  You can look up
  863.       a fact, make a note to your self, or schedule an  appointment,  then
  864.       resume  work  without  having  to  exit the software you were using.
  865.       Multi-tasking also lets you  get  the  computing  going  on  a  long
  866.       running  job, (say a query of a large database), then continue doing
  867.       something else (such as word processing) while  the  computer  works
  868.       on the first.
  869.  
  870.       In  addition  to  using  the  Session  Manager,  you can also switch
  871.       between sessions by typing ALT-digit where 'digit'  is  the  session
  872.       number  or  by typing Ctrl-W-digit (hold down Ctrl, press W, release
  873.       Ctrl, press a digit to select the session).  However, these  methods
  874.       do  not  work with some programs that take over keyboard interrupts.
  875.       On serial terminals that do not have Scroll Lock or  ALT  keys,  you
  876.       should type Ctrl-W-digit to select sessions.
  877.  
  878.       Now  that  you have gotten started with TSX-Lite you may want to try
  879.       a few of the following commands to get a  feeling  for  the  system:
  880.       "TSXSHELL"  (see  Chapter 6, starting on page 43), "HELP", "SYSMON",
  881.       "FMAN", "SHOW SYSTEM", "SHOW USE", "SHOW TERMINALS", "SHOW  MEMORY",
  882.       "SHOW  PAGING",  "SHOW  CACHE",  "SHOW FILES", "SHOW FSTATUS", "SHOW
  883.       ERRORS".
  884.  
  885.  
  886.       2.4 The TSGEN Program
  887.  
  888.       A program named TSGEN is used to  configure  TSX  for  a  particular
  889.       hardware  configuration.   There  are two files that are manipulated
  890.       by TSGEN: the TSX-Lite kernel, C:\TSX32.SYS, and  TSX32.GEN  in  the
  891.       TSX  system  directory  (normally  TSX32SYS).  TSX32.GEN is an ASCII
  892.       file that can be edited by any ASCII editor such  as  the  DOS  EDIT
  893.       program.   TSGEN  has two modes of operation: batch and interactive.
  894.       You start TSGEN in interactive mode by simply  typing  "TSGEN".   In
  895.       this  mode the first screen will ask you for the name of your system
  896.       generation parameter file.  Just press Enter  to  select  TSX32.GEN.
  897.       Next  it  will  present  a menu with the following choices: (1) "Set
  898.       Tuning Parameters"; (2) "Manage Equipment  List";  (3)  "Exit";  and
  899.       (4)  "Reports".   You  can use the arrow keys to select one of these
  900.       items and press Enter,  or  you  can  type  the  highlighted  letter
  901.       within an item to select it.
  902.  
  903.       If  you  select "Set Tuning Parameters" you will be presented with a
  904.       multi-screen menu listing each category of tuning  parameter  (there
  905.       are  many).  The first entry "All parameters" can be selected to see
  906.       an alphabetical list of all parameters.  TSGEN  has  extensive  help
  907.       built  into  it  and  you can select a parameter and press F1 to get
  908.       information about  what  the  parameter  does.   Be  cautious  about
  909.       changing  parameters  that you do not fully understand.  See Section
  910.       12.4 on page 78 for information about some  of  the  most  important
  911.       tuning parameters.
  912.  
  913.       Chapter 2. Getting Started                                        10
  914.  
  915.  
  916.       If  you  select "Manage Equipment List" you will be presented with a
  917.       list of the devices installed in your computer  that  TSX  is  aware
  918.       of.   Only  the device type and controller letter for each device is
  919.       displayed.  The unit numbers for multi-unit  devices  are  shown  on
  920.       menus  that  are selected by typing 'U'.  To modify parameters for a
  921.       particular device unit (for  example  a  COM  port),  highlight  the
  922.       desired  device  (TTA  is  the console, TTB is COM1 and TTC is COM2)
  923.       and type 'U'.  A menu will appear showing each unit associated  with
  924.       the  device  (most commonly there will be only one unit).  Highlight
  925.       the desired unit and type 'U' again and you will be  presented  with
  926.       the  first  page  of  a  multi-page  screen entry form that has each
  927.       available parameter for the unit.  Move the cursor to any  item  and
  928.       press F1 for help.
  929.  
  930.       Once  you  finish  making changes to tuning parameters and/or device
  931.       unit information, type Esc repeatedly to exit from TSGEN.   When  it
  932.       exits,  TSGEN  applies  the  changes  you  have made to the TSX-Lite
  933.       kernel file (TSX32.SYS) and  updates  the  ASCII  system  generation
  934.       commands  that are stored in TSX32.GEN.  The changes take effect the
  935.       next time you reboot TSX.
  936.  
  937.       In the "batch" mode of operation, TSGEN reads the system  generation
  938.       parameter   file  (normally  TSX32.GEN)  and  applies  the  commands
  939.       specified into it to the kernel file (TSX32.SYS).   The  batch  mode
  940.       would  be  used  if  you  edited  TSX32.GEN  using a separate editor
  941.       rather than using TSGEN in interactive mode.  To run TSGEN in  batch
  942.       mode  specify  the  name of the parameter file as the only argument.
  943.       For  example,  the  following  command  applies  the   commands   in
  944.       TSX32.GEN to the kernel:
  945.  
  946.            TSGEN TSX32
  947.  
  948.       There  are  three  versions  of  TSGEN  provided  with your TSX-Lite
  949.       distribution: TSGEN.EXP, TSGEN.EXE, and MINIGEN.EXE.  The  TSGEN.EXP
  950.       file  is  the  32-bit version of TSGEN that runs under TSX-Lite.  It
  951.       is the full featured version of TSGEN and provides  both  batch  and
  952.       interactive  modes.  The TSGEN.EXE and MINIGEN.EXE files can be used
  953.       under DOS (when TSX is not running).  TSGEN.EXE provides  a  limited
  954.       version  of  interactive  mode  with  only the ability to change the
  955.       tuning  parameters  (you  cannot   manage   the   equipment   list).
  956.       MINIGEN.EXE  operates  only  in  batch  mode.   It  can  be  used in
  957.       situations where the DOS system does  not  have  enough  low  memory
  958.       available  to  run  TSGEN.EXE.   It  is  best to use TSGEN.EXP while
  959.       running  under  TSX-Lite  because  this  version  has  all  features
  960.       available and can use as much memory space as necessary.
  961.  
  962.  
  963.       2.5 Setting Up Multi-Tasking Applications
  964.  
  965.       As  you  have  just  learned,  TSX-Lite  allows you to have multiple
  966.       programs running in separate sessions.  For  most  applications  you
  967.       simply  can  type  Scroll  Lock  to  call up the session manager and
  968.       switch between your sessions.  However, when a  16-bit  DOS  program
  969.       is  executing  TSX  normally  suspends  the execution of the program
  970.       when you switch away from it and select a  different  session.   The
  971.  
  972.       Chapter 2. Getting Started                                        11
  973.  
  974.  
  975.       state  of  a  suspended  program  is  shown as "SPND" by the session
  976.       manager and the SHOW JOBS command.  The reason that  these  programs
  977.       are suspended is explained in Section 4.2.
  978.  
  979.       In  some  cases  it  is  important that programs continue to execute
  980.       even when your terminal is not connected to their sessions.  A  good
  981.       example  of this is a bulletin board system which is to run as a TSX
  982.       session while you perform other operations  on  the  same  computer.
  983.       Another  case  would  be  a  communications  program such as Procomm
  984.       which you might wish to switch away from while it  is  performing  a
  985.       large  file  transfer,  and  have  the  transfer  continue while you
  986.       perform other  work.   Note:  the  TSX  HOST  command  described  in
  987.       Section  14.40  on page 118 is much more efficent that communication
  988.       programs like Procomm and  Telix.   TSX  fully  supports  concurrent
  989.       execution  of multiple sessions but you must use the PMAN program to
  990.       set certain attributes for the programs to cause this to happen.
  991.  
  992.       To enable concurrent execution of a program type PMAN to  start  the
  993.       TSX  program  manager.   It  will  display  a  list of the currently
  994.       "installed" programs (i.e., those for which special attributes  have
  995.       already  been  set),  and  a  box  showing "Action Keys" that can be
  996.       pressed to perform operations.  TSX-Lite comes configured with  some
  997.       popular  DOS  programs  already  set  up in PMAN.  You should review
  998.       this  list  of  programs  and  make  sure  the  disk  and  directory
  999.       specifications   correspond   to   where   you  have  your  programs
  1000.       installed.
  1001.  
  1002.       Press "A" to add a new program entry.  You will  be  presented  with
  1003.       page  1  of  a 5 page information screen set.  Fortunately, you will
  1004.       need to only set a few of the values.  Press F1 at any time  to  get
  1005.       help about a particular PMAN item.
  1006.  
  1007.       Enter  the  full  program  specification  on  the  first line.  This
  1008.       should include the device name, directory, file name  and  extension
  1009.       (EXE  or  COM).   If there is a "starter" program that you initially
  1010.       run which loads some other program or overlay,  you  should  specify
  1011.       the  name  of  the starter program -- attributes are set up when TSX
  1012.       begins running a program and apply to any child program or overlay.
  1013.  
  1014.       After entering the program name, press Page Down to move to page  2.
  1015.       Press  down  arrow to move to the "HOLDPRIO" entry.  If you set this
  1016.       item to "Y" (yes) the program will execute at the same  priority  as
  1017.       the  session  that you are currently attached to.  This would be the
  1018.       appropriate setting for a program such as a bulletin board  that  is
  1019.       to  continue executing at full speed even when it is not the current
  1020.       session.  If you set the item to "N" (no) the program will  continue
  1021.       to  execute  when  it  is not running as the current session but its
  1022.       execution priority will be reduced to the  value  specified  by  the
  1023.       PRIVIR   sysgen   parameter.    This   would   be   appropriate  for
  1024.       "background"  tasks  such  as  compute  intensive  programs,  spread
  1025.       sheets,  etc.   You  can  use  TSGEN  to  change  the  PRIVIR sysgen
  1026.       parameter; its default value is 20 whereas the default  priority  of
  1027.       the  currently  active session is controlled by the PRIDEF parameter
  1028.       whose default value is 50.
  1029.  
  1030.       Chapter 2. Getting Started                                        12
  1031.  
  1032.  
  1033.       Now use down arrow to move to the item labeled "NODWRITE"  (be  sure
  1034.       you  select  the  "NODWRITE"  item  and not "DWRITE").  You must set
  1035.       NODWRITE to "Y" to enable continued execution when  the  program  is
  1036.       not  the current session.  This causes TSX to "virtualize" access to
  1037.       the video memory area so that the program is not directly  accessing
  1038.       the  hardware controller while it is running.  This option will work
  1039.       with programs that perform  character  type  displays  (most  spread
  1040.       sheets,  data  base  programs, etc.) but will NOT work with programs
  1041.       that do  graphic  displays  such  as  Windows,  games,  etc.   These
  1042.       graphical  programs  must have direct access to the video controller
  1043.       and must be suspended when they  are  not  running  in  the  current
  1044.       session.   If you prefer to have NODWRITE be the default setting for
  1045.       all programs, you can use TSGEN to set the  DEFDWRITE  parameter  to
  1046.       0.   You  can  then  use  PMAN  to  selectively  turn  on the DWRITE
  1047.       parameter for programs that are going to do graphical displays.
  1048.  
  1049.       A few more entries down is  an  item  labeled  "IDLETIME".   If  you
  1050.       provide  a  non-zero  value  this  is  the number of hundredths of a
  1051.       second of CPU time that a program may loop  without  performing  any
  1052.       other  operations  before TSX will consider it to be "idle" and give
  1053.       it a lower priority.  For example, if you specify a value  of  30000
  1054.       then  if  the  program  runs  for  300  seconds  (5 minutes) without
  1055.       performing any operations such as I/O or  communications,  TSX  will
  1056.       consider  it  to  be  "idle" and give it a lower execution priority.
  1057.       The priority will be increased and the timer reset  if  the  program
  1058.       performs any I/O operations (including accessing COM ports).
  1059.  
  1060.       If  you  have a program that is designed for multi-user operation in
  1061.       a network environment, you should go back to  page  1  and  set  the
  1062.       "DOSNET"  item to "Y".  This causes TSX to tell the program that all
  1063.       of its disks are remote network disks.  Some programs use this as  a
  1064.       signal to perform network record locking which TSX fully supports.
  1065.  
  1066.       After  you  set the appropriate options for the program press ESC to
  1067.       exit from the PMAN program  screens  back  to  the  initial  screen.
  1068.       Press  ESC  again  to  exit from PMAN.  Once you exit from PMAN, TSX
  1069.       will be aware of the attributes you have set  for  the  program  and
  1070.       they  will  take  effect  the  next time the program starts running.
  1071.       The attribute values are stored in a file called INSTALL.CMD in  the
  1072.       TSX  system  directory and are loaded automatically each time TSX is
  1073.       started.  You can use PMAN at any time  to  change  or  add  program
  1074.       attributes.   See  Section  4.6, starting on page 32, for additional
  1075.       information about installing and tuning DOS programs.
  1076.  
  1077.       2.5.1 Setting up Wildcat for TSX-Lite
  1078.  
  1079.       In order to run Wildcat  version  3x  under  TSX-Lite  follow  these
  1080.       steps:
  1081.  
  1082.       1.  Install  Wildcat  under  DOS  using  the  WINSTALL  and  WCMODEM
  1083.           programs  that  are  provided  with  Wildcat.   Using  MAKEWILD,
  1084.           select  the  "DOS Share" option for the Network type and set the
  1085.           COM UART FIFO trigger level to 14.
  1086.  
  1087.       Chapter 2. Getting Started                                        13
  1088.  
  1089.  
  1090.       2.  Start TSX-Lite and use the PMAN command to create an  entry  for
  1091.           WILDCAT.EXE.   Be  sure to provide the entire file specification
  1092.           including the device, directory  and  extension.   In  the  PMAN
  1093.           parameter  menus set the following items to 'Y' (yes): HOLDPRIO,
  1094.           NODWRITE, and TTWAIT.
  1095.  
  1096.       3.  To set up you serial port characteristics run TSGEN  and  select
  1097.           "Manage  equipment  list".   Highlight  the serial (TTx) line to
  1098.           which your modem is attached and press 'U' to  select  the  unit
  1099.           menu.   From the unit menu press the 'U' key again to modify the
  1100.           unit's settings.  In the qualifiers listing select  the  correct
  1101.           speed,  enable  the  phone  qualifier,  and  select  the correct
  1102.           handshaking required for your modem.  See Section 2.6.3 on  page
  1103.           17 for additional information about setting up phone lines.
  1104.  
  1105.       Because  of  the virtual UART emulation performed by TSX the maximum
  1106.       communications speed may be slower than it is under  DOS.   The  use
  1107.       of  actual  16550 type buffered controllers reduces the overhead and
  1108.       improves throughput.  See Section 4.9  on  page  35  for  additional
  1109.       information about UART emulation.
  1110.  
  1111.  
  1112.       2.6 Setting up COM Ports
  1113.  
  1114.       TSX-Lite  supports  access  to  the  system  from  both  the console
  1115.       terminal  and  serial  COM  ports.   TSX-Lite   is   restricted   to
  1116.       supporting  a  maximum  of two simultaneous users, but more than two
  1117.       COM ports  can  be  in  use  simultaneously  as  I/O  devices.   For
  1118.       example,  if you log onto the console and run Procomm which uses COM
  1119.       port 1 to access your modem,  another  user  could  log  on  through
  1120.       another  COM  port.   This is permissible because there are only two
  1121.       logged on users -- one at the console and one through  a  COM  port.
  1122.       Using  a  COM  port  as  an I/O device does not count as a logged on
  1123.       user so you could run a BBS  system  that  took  over  multiple  COM
  1124.       ports  as  I/O  devices  and  still  have  two  users  log  on.  The
  1125.       distinction is that a logged on user can type and  execute  TSX-Lite
  1126.       commands  whereas  I/O  device connections interact with application
  1127.       programs.  See Section 4.9 on page  35  for  additional  information
  1128.       about using the COM ports as I/O devices.
  1129.  
  1130.       Note:  it  is  highly  recommended that you obtain COM port adapters
  1131.       that use the 16550 buffering type  UART  chips.   The  16550  UART's
  1132.       provide  16  characters  of  buffering  in  the hardware and greatly
  1133.       reduce the risk of losing characters during file transfers.
  1134.  
  1135.       2.6.1 Hardware Connections
  1136.  
  1137.       You can connect to COM  ports  through  both  hard-wired  lines  and
  1138.       modems.   If  you  use  a  hard-wired line connection you must use a
  1139.       "null modem" device to reverse the transmit and receive  signals  in
  1140.       the  wire,  or  you  can  build your own cable with the transmit and
  1141.       receive data lines interchanged between the ends.  If you wire  your
  1142.       own cable you must connect the following pins on each end:
  1143.  
  1144.       Chapter 2. Getting Started                                        14
  1145.  
  1146.  
  1147.              -- 25 pin connector --     -- 9 pin connector --
  1148.                2  Transmit data           3  Transmit data
  1149.                3  Receive data            2  Receive data
  1150.                7  Signal ground           5  Signal ground
  1151.  
  1152.       If  you  use  a  modem you should connect it to the computer using a
  1153.       "straight through" connection that includes the lines for RTS,  CTS,
  1154.       DTR, DSR, Carrier detect, and Ring.
  1155.  
  1156.       2.6.2 Line Setup Options
  1157.  
  1158.       When  you  install  TSX-Lite  it checks for the presence of the COM1
  1159.       and COM2 serial ports.  If they  exist  it  defines  TSX  I/O  units
  1160.       named  TTB0 and TTC0.  TTB0 is the TSX name for COM1 and TTC0 is the
  1161.       TSX name for COM2.  Try using the  SHOW  TERMINALS  command  to  see
  1162.       that  these  device names exist.  See Section 5.3, beginning on page
  1163.       40, for additional information about TSX device names.
  1164.  
  1165.       These serial units may be used as I/O devices by  programs  such  as
  1166.       Procomm  without  any  further  changes.   However,  if  you want to
  1167.       accept incoming connections and calls  from  users  wishing  to  log
  1168.       onto  TSX-Lite  you  may  need  to use the TSGEN program to set some
  1169.       parameters for the lines (such as the PHONE attribute).
  1170.  
  1171.       By default, the serial lines are set up to  connect  to  hard-wired,
  1172.       ANSI  type  terminals  running at 9600 baud with XON (control-Q) and
  1173.       XOFF (control-S) flow control.  If you wish to connect  a  different
  1174.       type  of  terminal  (such  as  a VT-100 or PC-Term terminal), or you
  1175.       want to have a different baud rate, or  you  wish  to  have  dial-in
  1176.       modem  support, you need to use TSGEN to alter the line definitions.
  1177.       Note: terminal parameters can also be set  using  the  SET  TERMINAL
  1178.       command,  but you will have to repeat the commands (or put them in a
  1179.       start-up command file) if you want them to remain  in  effect  after
  1180.       TSX-Lite   is   restarted.   See  Section  14.89  on  page  149  for
  1181.       information about the SET TERMINAL  command.   See  Section  3.1  on
  1182.       page 23 for additional information about terminal types.
  1183.  
  1184.       To  permanently change a line parameter, start TSX-Lite and log onto
  1185.       the console terminal.  Then type "CD \TSX32SYS"  to  change  to  the
  1186.       system  directory  and  type  TSGEN  to  start  the  TSX-Lite system
  1187.       generation program.  Press Enter when TSGEN asks  for  the  name  of
  1188.       the  GEN  file  and  the  Main  Menu will be displayed.  Type 'M' to
  1189.       select Manage Equipment List.  Use the arrow keys to  highlight  the
  1190.       line  for  device  "TTB"  (COM1)  or  "TTC"  (COM2) and press 'U' to
  1191.       select the unit menu.  The unit  menu  should  show  a  single  unit
  1192.       numbered  0.   Type  'U'  again to set unit parameters.  You will be
  1193.       presented with the first of five screens of parameters that  can  be
  1194.       set  for  the  unit.   Use  the  arrow and Page Up/Down keys to move
  1195.       through the list.  You can select any item and press F1 to get  help
  1196.       information  for  that  item.  The following items are the ones that
  1197.       most frequently need to be changed:
  1198.  
  1199.       SPEED --  Press  Enter  and  a  list  of  available  baud  rates  is
  1200.           displayed.   Highlight  the  speed you desire and press Enter to
  1201.           select it.  If you are using a "smart" modem that  has  a  fixed
  1202.  
  1203.       Chapter 2. Getting Started                                        15
  1204.  
  1205.  
  1206.           rate  of communication to the computer, you should set that rate
  1207.           as the default speed.
  1208.  
  1209.       FIXEDSPEED -- Setting this option to 'Y'  causes  TSX  to  lock  the
  1210.           speed  of  the  line  to the speed set during system generation.
  1211.           If the option is set to 'N' then programs can  change  the  line
  1212.           speed.
  1213.  
  1214.       AUTOBAUD  --  If  you  are  using  a  hard-wired connection set this
  1215.           parameter to 'N'.  The SPEED parameter  will  control  the  baud
  1216.           rate.   If  a  modem  is connected to the line it is best to set
  1217.           the modem to communicate with the computer at a fixed  rate  and
  1218.           set  this  parameter  to  'N'.  However, if you have the type of
  1219.           modem that communicates with the computer at the  same  rate  as
  1220.           the  connection with the remote machine then you should set this
  1221.           parameter to 'Y'.
  1222.  
  1223.       HANDSHAKING -- Select  XONXON  if  XON  (control-Q,  DC1)  and  XOFF
  1224.           (control-S,  DC3) characters are used for software flow control.
  1225.           Select RTSCTS for the  popular  RTS/CTS  hardware  flow  control
  1226.           protocol.   If  you  are  using  a 14.4k or 28.8k modem you will
  1227.           almost certainly want to select RTSCTS handshaking.
  1228.  
  1229.       PARITY -- The standard setting for TSX is 8-bits, no parity.   Press
  1230.           Enter  and  you will be presented with a choice of even, odd, or
  1231.           no parity.
  1232.  
  1233.       PHONE -- Set this item to 'Y' if this line is connected to  a  modem
  1234.           and  you  wish  to support dial-in logons.  See Section 2.6.3 on
  1235.           page 17  for  additional  information  about  setting  up  phone
  1236.           lines.
  1237.  
  1238.       START  --  Set  this  item to 'Y' if you would like to have the line
  1239.           automatically log on each time TSX-Lite is started  rather  than
  1240.           waiting for Enter to be pressed.
  1241.  
  1242.       SYSPASSWORD  --  If you set this field to 'Y' users will be prompted
  1243.           with the string specified  by  the  SYSPASSPR  sysgen  parameter
  1244.           (default  is  '!')  and  they  must enter a password string that
  1245.           matches that specified by the SYSPASSWORD sysgen parameter.   An
  1246.           optional  TSX-Lite  Security  Kit  is available which includes a
  1247.           LOGON program to force users to enter a user name  and  password
  1248.           to  gain  access  to  the system.  See REGISTER.DOC for ordering
  1249.           information.  See  Section  2.6.4  on  page  18  for  additional
  1250.           information about setting up the system password.
  1251.  
  1252.       LOGON  --  If  this  unit is being used only as an I/O device (e.g.,
  1253.           serial mouse, modem for dial-out calls, etc.) set this field  to
  1254.           'N' to prevent users from logging onto the line.
  1255.  
  1256.       CMDFILE  --  You  may  specify  the device, directory, and name of a
  1257.           command file to be executed each time this line  logs  on.   The
  1258.           default start-up command file is \TSX32SYS\START.CMD.
  1259.  
  1260.       Chapter 2. Getting Started                                        16
  1261.  
  1262.  
  1263.       TERMTYPE  --  Press  Enter  and you will be presented with a list of
  1264.           terminal types.  Highlight the desired terminal type  and  press
  1265.           Enter  to  select it.  Here is a summary of some of the terminal
  1266.           types:
  1267.  
  1268.           ANSI -- Terminals or terminal emulator programs that handle  the
  1269.               basic  ANSI  control  sequences.  This is the best choice if
  1270.               the system is  being  accessed  using  a  terminal  emulator
  1271.               program  such  as  Procomm  or  Telix.   This is the default
  1272.               TSX-Lite terminal type.
  1273.  
  1274.           VT100 -- Digital Equipment Corporation  (DEC)  VT-100  terminal.
  1275.               Many   terminal  emulator  programs  provide  VT-100  as  an
  1276.               option.  If  you  select  this  terminal  type  and  "trash"
  1277.               characters  appear  on  the  screen  after  typing  the  CLS
  1278.               command or after a session window switch, you should  select
  1279.               ANSI terminal type.
  1280.  
  1281.           PCTERM  -- Serial PC-Term Terminals.  These are serial terminals
  1282.               that have IBM compatible keyboards and  transmit  make/break
  1283.               keyboard  codes like the console keyboard.  They can display
  1284.               25 lines and support the IBM display character set.
  1285.  
  1286.           TSXTERM -- Terminal Emulator.   The  TSXTERM  terminal  emulator
  1287.               program,  which  is  provided with TSX-Lite, can be run on a
  1288.               remote computer that is connected to  your  TSX-Lite  system
  1289.               via  either  a hardwired serial connection or a modem.  This
  1290.               is the best  type  of  TSX  workstation.   See  Chapter  11,
  1291.               starting  on  page  71,  for  additional  information  about
  1292.               TSXTERM.
  1293.  
  1294.           If you are configuring  a  line  for  dial-in  connections  from
  1295.           TSXTERM  stations,  it  is  best  to  set up the line as an ANSI
  1296.           terminal (use TSGEN  and  set  the  terminal  type  to  ANSI  or
  1297.           VT100).   Then  when  you  log into the TSX system using TSXTERM
  1298.           you will initially be in ANSI mode.  Once  the  logon  has  been
  1299.           established,  issue  the  following  TSX  command to switch into
  1300.           TSXTERM mode: "SET TERMINAL/TYPE=TSXTERM".   If  you  are  using
  1301.           the  LOGON  program  which is part of the TSX-Lite Security Kit,
  1302.           TSXTERM will shift into TSXTERM mode automatically  as  part  of
  1303.           the   logon  process.   If  you  are  setting  up  a  dedicated,
  1304.           hard-wired TSXTERM connection, choose  TSXTERM  as  the  default
  1305.           terminal  type.   See  Chapter 11, starting on page 71, for more
  1306.           information about installing and using TSXTERM.
  1307.  
  1308.       PRINTER -- Set this item to 'Y' if you have a printer  connected  to
  1309.           the auxiliary printer port that is available on some terminals.
  1310.  
  1311.       MRESET  --  You  may  specify a modem reset string to be sent to the
  1312.           line whenever a user logs off or a program releases  control  of
  1313.           the  line.   To  enter  control characters in the string specify
  1314.           the caret character ('^') in front of the letter.  For  example,
  1315.           "^M" means control-M which is carriage return.
  1316.  
  1317.       Chapter 2. Getting Started                                        17
  1318.  
  1319.  
  1320.       Press  ESC  to exit from the unit parameter screens after you change
  1321.       the desired settings.  Press ESC  three  more  times  to  exit  from
  1322.       TSGEN.   The  parameter settings are written to the TSX32.SYS kernel
  1323.       file and are recorded in the TSX32.GEN system  generation  parameter
  1324.       file.   You  must  reboot your computer and restart TSX-Lite to make
  1325.       them take effect.
  1326.  
  1327.       Once you have set up your COM lines you can use the  SHOW  TERMINALS
  1328.       command  to  display  summary  information  about all of your lines.
  1329.       For detailed information use the command "SHOW TTcuu" where  "TTcuu"
  1330.       is  a  terminal  device name such as TTA0 or TTB0.  The TMAN command
  1331.       can also be used to display terminal information.
  1332.  
  1333.       2.6.3 Setting up Phone lines
  1334.  
  1335.       The COM ports can be used for modems connected  to  phone  lines  as
  1336.       easily  as  they  can  be  used for terminals; to TSX, they are both
  1337.       simply time sharing lines.  We have been told that  this  equivalent
  1338.       treatment  of  phone  lines  and  hardwired  lines  makes  TSX modem
  1339.       support the best in the industry.  Specify the PHONE  attribute  for
  1340.       a  serial  unit  when you generate the TSX system (see Section 2.6.2
  1341.       on page 14) or issue a command like
  1342.  
  1343.            SET TTB0:/PERM/PHONE
  1344.  
  1345.       This tells TSX that a modem is connected  to  the  port.   TSX  will
  1346.       ignore  input  on  a  phone  line unless carrier is asserted.  Also,
  1347.       when a job logs off of a phone line TSX will drop DTR for  a  period
  1348.       of  time  to force the modem to hang up the phone.  See Section 2.6,
  1349.       starting on page 13, for additional  information  about  setting  up
  1350.       COM ports.
  1351.  
  1352.       For  proper  support,  a modem must be connected to TSX with a cable
  1353.       that has modem control signals such as  Carrier  Detect,  Ring,  and
  1354.       DTR  wired  through.   Also, the modem must be set up to only assert
  1355.       Carrier Detect when a connection is in effect, and it should be  set
  1356.       up so that it hangs up when DTR is dropped.
  1357.  
  1358.       Most  modern  modems  allow you to select a fixed communication rate
  1359.       between the modem and the computer so that the modem  converts  from
  1360.       the  actual baud rate used by the remote computer.  If possible, you
  1361.       should select this mode of operation for use with TSX.  However,  if
  1362.       you  have  a  modem that switches its baud rate to match that of the
  1363.       communications  connection,  then  you  should  set   the   AUTOBAUD
  1364.       parameter for the line to 'Y'.
  1365.  
  1366.       Most  modems come initially configured to not answer incoming calls.
  1367.       To enable Hayes compatible modems to answer incoming calls you  need
  1368.       to  set  the  modem "S0" register to a value other than 0 (the value
  1369.       you specify is the ring  number  to  answer  on  --  0  means  never
  1370.       answer).   To  set  this  "S0"  register  value  you  should  use  a
  1371.       communications program such as Procomm (or the TSX HOST command)  to
  1372.       talk  to  the modem.  You can then issue the following modem command
  1373.       to set S0 to 1:  "ATS0=1".   However,  this  type  of  setting  only
  1374.       remains  in  effect  until  the  modem  is powered off.  To make the
  1375.  
  1376.       Chapter 2. Getting Started                                        18
  1377.  
  1378.  
  1379.       setting permanent, issue the following  command:  "ATS0=1&W".   This
  1380.       stores the value in the non-volatile RAM memory in the modem.
  1381.  
  1382.       If  you  are  having  problems  getting  a  phone  line working, see
  1383.       Section 2.6.5 for debugging tips.
  1384.  
  1385.       2.6.4 Setting Up Password Protection
  1386.  
  1387.       If you set up a dial-in, phone line for access to  your  TSX  system
  1388.       you  must  immediately consider the issue of system security.  Since
  1389.       a dial-in user can potentially run any program, or access any  file,
  1390.       limiting  access to authorized users is vitally important.  TSX-Lite
  1391.       comes with a simple "system password"  facility  that  will  provide
  1392.       basic  access  protection.   A more sophisticated security system is
  1393.       available as part of the TSX-Lite Security Kit.
  1394.  
  1395.       The basic system password facility is a standard part  of  TSX-Lite.
  1396.       Using  it you can define a password of up to 31 characters in length
  1397.       that a user must enter to gain access to the system.  There are  two
  1398.       steps  to  setting  up  a system password: (1) defining the password
  1399.       itself, and (2) specifying  which  lines  are  to  require  password
  1400.       entry to access the system.
  1401.  
  1402.       To define the system password follow these steps:
  1403.  
  1404.       1.  Start   TSX-Lite,   switch  to  the  system  directory  (usually
  1405.           \TSX32SYS), and run the TSGEN program.
  1406.  
  1407.       2.  Press Enter or type in the name of your 'gen' file  in  response
  1408.           to the TSGEN prompt.
  1409.  
  1410.       3.  Select "Set Tuning Parameters".
  1411.  
  1412.       4.  Select "All parameters" (the first item on the list).
  1413.  
  1414.       5.  Type  'S'  to  position to the first parameter whose name begins
  1415.           with S.  Then use Page down and the arrow keys  to  position  to
  1416.           the SYSPASSWORD item and press Enter to select it.
  1417.  
  1418.       6.  Enter the string that you wish to use as your system password.
  1419.  
  1420.       7.  Press Esc 4 times to exit from TSGEN.
  1421.  
  1422.       By  default,  TSX prompts for the system password by displaying only
  1423.       an exclamation point.  This is done to avoid  revealing  information
  1424.       about  the  nature  of  the  system  before the user has entered the
  1425.       password.  If you would  like  to  have  a  more  friendly  greeting
  1426.       message,  use  TSGEN  to  set  the  value  of  the  SYSPASSPR sysgen
  1427.       parameter to whatever greeting string you choose; it may  be  up  to
  1428.       31 characters long.
  1429.  
  1430.       You  must also tell TSX which lines are to require entry of a system
  1431.       password for access.  Typically,  password  protection  is  set  for
  1432.       dial-in  lines but not the console or hard-wired terminal lines.  To
  1433.       require system password entry, follow the steps in Section 2.6.2  on
  1434.  
  1435.       Chapter 2. Getting Started                                        19
  1436.  
  1437.  
  1438.       page  14  and set the SYSPASSWORD parameter for each dial-up line to
  1439.       'Y'.  Remember to reboot TSX-Lite  after  making  these  changes  to
  1440.       have  them  take effect.  Also, be sure to test that the password is
  1441.       working correctly.
  1442.  
  1443.       The system password facility provides  basic  system  security.   If
  1444.       you  plan  to  have  multiple users accessing your system, or even a
  1445.       single user to whom you do not wish to give  unlimited  access,  you
  1446.       need  the  TSX-Lite  Security  Kit.  The Security Kit provides three
  1447.       utility programs: TSAUTH, LOGON, and FPROTECT.  TSAUTH is a  program
  1448.       you,  the  system  manager,  use to authorize users for access.  You
  1449.       assign a  user  name,  password,  account  number,  privileges,  and
  1450.       define  a  start-up  command  file to be executed when the user logs
  1451.       on.  You can set up many user names, each  with  a  unique  password
  1452.       and  set  of  privileges.   The  LOGON  program can be set to run on
  1453.       specific lines.  It prompts the user for a user name  and  password,
  1454.       checks  the  authorization  file, and, if the user is authorized for
  1455.       access, sets up the appropriate privileges and other attributes  for
  1456.       the  user.  The FPROTECT program is used in conjunction with FMAN to
  1457.       set up file access controls.  For each user you  can  control  which
  1458.       files  may  be  accessed.   Users  can  be  granted  write, read, or
  1459.       execute-only   access    to    files    on    a    device-by-device,
  1460.       directory-by-directory, or file-by-file basis.
  1461.  
  1462.       2.6.5 Monitoring Serial Lines
  1463.  
  1464.       If  you  have  problems getting a COM line working try the TSX "SPY"
  1465.       command.  The Spy facility is like a  "data  scope"  that  lets  you
  1466.       monitor  characters  sent to or received from a communications port.
  1467.       It will also display modem status line changes.   To  use  SPY,  log
  1468.       onto  the  console  terminal (or any other terminal than the one you
  1469.       wish  to  monitor)  and  then  issue  the  SPY  command   to   begin
  1470.       monitoring.   Type any character to terminate the SPY operation when
  1471.       you are finished.  For example, the following command line  monitors
  1472.       both  input  and  output  to  serial line TTB0 which is normally the
  1473.       COM1 port.
  1474.  
  1475.            SPY/INPUT/OUTPUT/HEX/BINARY/PHONE TTB0:
  1476.  
  1477.       If you don't see any characters coming in, check your modem and  the
  1478.       cable  from  the modem to the COM port (or the null modem cable from
  1479.       a hardwired serial terminal).  If you see  "trash"  characters  such
  1480.       as  "FF"  and  "00" coming in, check the baud rate setting specified
  1481.       when you generated the line (the current speed setting is  displayed
  1482.       when  you start SPY).  If the modem is not answering incoming calls,
  1483.       see Section 2.6.3 on page  17  for  information  about  setting  the
  1484.       modem  "S0"  register.   If  TSX  is not hanging up the phone when a
  1485.       user logs off you probably have not used  TSGEN  to  set  the  PHONE
  1486.       attribute  for the line or the modem is asserting the Carrier Detect
  1487.       signal even when carrier is not present.  Also, check to  make  sure
  1488.       that  the  modem is set up properly so that it will hang up when DTR
  1489.       is dropped.
  1490.  
  1491.       See Section 14.123 on page 162 for additional information about  the
  1492.       SPY command.
  1493.  
  1494.       Chapter 2. Getting Started                                        20
  1495.  
  1496.  
  1497.       Another  way  to  check  for  serial  line  errors  is to type "SHOW
  1498.       ERRORS" and see if there are any errors in  the  SERIAL  error  log.
  1499.       If so, type "EVENT SERIAL" to display the error records.
  1500.  
  1501.       2.6.6 Setting up COM3 and COM4
  1502.  
  1503.       The  installation of TSX-Lite will detect automatically the presence
  1504.       of the COM1 and  COM2  ports  and  define  them  as  valid  TSX  I/O
  1505.       devices.   If  you  have  COM3  and  COM4  ports  installed  in your
  1506.       computer you must use the TSGEN  program  to  inform  TSX  of  their
  1507.       presence.
  1508.  
  1509.       To  do this, start TSX and use the CD command to select the TSX32SYS
  1510.       directory as your current working area.  Then type  TSGEN  to  start
  1511.       the  TSX system generation program.  Press Enter to accept TSX32.GEN
  1512.       as the default system generation file.  From the main menu type  'M'
  1513.       to  select  Manage  Equipment  List.  From the Device List menu type
  1514.       'A' to add a device.  From the next  menu  use  the  arrow  keys  to
  1515.       select  the  "Serial  multiplexors" entry and press Enter.  The next
  1516.       menu shows the complete list of serial multiplexors  that  the  full
  1517.       TSX-32  system supports.  Since TSX-Lite is restricted to supporting
  1518.       only COM ports, you should use  the  arrow  keys  to  highlight  the
  1519.       "Dumb  serial  board"  entry.  Press Enter and you will be presented
  1520.       with a data entry screen titled "New  device  attributes."  You  can
  1521.       press F1 to get help for each field of the form.
  1522.  
  1523.       Press  Enter  while  positioned to the "CONTROLLER" field and a list
  1524.       of valid controller letters is displayed.  Select 'D'  for  COM3  or
  1525.       'E'  for  COM4  ('A'  is used for the console, 'B' for COM1, and 'C'
  1526.       for COM2).  Next, use the arrow keys to skip over  the  "TYPE"  file
  1527.       and  move  down to the "IO_ADDRESS" field.  The standard address for
  1528.       COM3 is 3E8 and the address for COM4  is  2E8.   Some  communication
  1529.       adapters   use   different  addresses  so  you  should  consult  the
  1530.       documentation that came with your board.   Next  move  down  to  the
  1531.       "INTERRUPT"  field.  The standard interrupt IRQ number for COM3 is 4
  1532.       and the standard for COM4 is 3; however, interrupt  4  is  also  the
  1533.       standard  for  COM1  and  3  is the standard for COM2.  TSX does not
  1534.       permit two devices to have the same interrupt numbers  so  you  must
  1535.       set  jumpers  or  DIP  switches  on  your  adapter  card  to  select
  1536.       different interrupt numbers for COM3 and COM4.  Interrupt values  5,
  1537.       7,  10  and  11  are  reasonable  choices  for additional COM ports.
  1538.       Consult the  documentation  for  your  adapter  card  for  what  the
  1539.       possible  interrupt  IRQ  values  are.   Once  you enter the correct
  1540.       interrupt number, press ESC to exit from the "New device  attributes
  1541.       field"  (you  do  not need to set values for the other fields on the
  1542.       screen).
  1543.  
  1544.       TSGEN will display the message "Type Y if you want  to  fill  in  an
  1545.       example  unit." Type 'N' for no.  You will now see an updated "TSGEN
  1546.       Device List" display.  Use the arrow keys and highlight  your  newly
  1547.       created  device  (TTD or TTE) and type 'U' to select the "Unit list"
  1548.       option.  You will see the "Unit list for device TTx"  screen.   Type
  1549.       'U'  again  to modify unit settings.  You will now be presented with
  1550.       a screen labeled "Device TTx unit 1".  From this  point  follow  the
  1551.  
  1552.       Chapter 2. Getting Started                                        21
  1553.  
  1554.  
  1555.       instructions  in  Section  2.6.2 for setting line parameters such as
  1556.       baud rate, etc.
  1557.  
  1558.  
  1559.       2.7 Setting up Mouse Support
  1560.  
  1561.       TSX supports the Microsoft serial mouse (or other  compatible  mice)
  1562.       attached to a COM port.  It does not support bus mouse controllers.
  1563.  
  1564.       To  use  the  mouse,  connect  it  to  a  COM port and use an ASSIGN
  1565.       command of the following form to  associate  the  MOUSEPORT  logical
  1566.       device name with the appropriate serial port:
  1567.  
  1568.            ASSIGN TTcuu: MOUSEPORT
  1569.  
  1570.       Where  "TTcuu" should be replaced by the appropriate TSX serial unit
  1571.       name such as TTB0 (COM1), TTC0 (COM2), TTD0 (COM3), or TTE0  (COM4).
  1572.       Note that the device name MUST end with a colon.
  1573.  
  1574.       If  you  wish  to  have the ASSIGN command executed each time TSX is
  1575.       started,  place  the  following   command   in   your   LSTARTUP.CMD
  1576.       system-wide startup command file:
  1577.  
  1578.            ASSIGN/SYSTEM TTcuu: MOUSEPORT
  1579.  
  1580.       In  addition  to  doing  the  ASSIGN  statement, you should also use
  1581.       TSGEN to specify the appropriate parameters for the serial COM  port
  1582.       to  which  the  mouse  is  connected.   Follow  the  instructions in
  1583.       Section  2.6.2  and  set  the  SPEED  to  1200  baud  for  Microsoft
  1584.       compatible  mice  or  2400  baud  for 2-button Logitec mice; set the
  1585.       LOGON parameter to 'N' (no) to prevent random input from  the  mouse
  1586.       from causing TSX to try to initiate a job.
  1587.  
  1588.       If  you  are  using  a  Logitech  brand  mouse,  you  must place the
  1589.       following  command  in   your   \TSX32SYS\LSTARTUP.CMD   system-wide
  1590.       start-up command file:
  1591.  
  1592.            MOUSETYPE:===LOGITECH
  1593.  
  1594.       If  this  command  is  not  present,  TSX-32 assumes you are using a
  1595.       Microsoft compatible mouse.
  1596.  
  1597.       See Section 14.140 on page 169 for information about setting up  the
  1598.       mouse for Microsoft Windows.
  1599.  
  1600.       If  you  have  problems  getting  the mouse to work, use the command
  1601.       "SHOW ERRORS" and see if there are any errors in  the  MOUERR  error
  1602.       log.   If so, type "EVENT MOUERR" to display the error records.  You
  1603.       can also use the SPY command to monitor input  from  the  mouse  COM
  1604.       port  to confirm that data is being received.  See Section 14.123 on
  1605.       page 162 for additional information about the SPY command.
  1606.  
  1607.       Chapter 2. Getting Started                                        22
  1608.  
  1609.  
  1610.       2.8 Setting up CD ROM Support
  1611.  
  1612.       TSX-Lite supports CD ROM drives connected to SCSI disk  controllers.
  1613.       Both  the  ISO  and  High Sierra CD ROM formats are supported.  When
  1614.       TSX is initially installed it senses automatically the  presence  of
  1615.       fixed  disk and diskette drives.  It does not detect the presence of
  1616.       CD ROM drives, so you must use TSGEN to declare their presence.
  1617.  
  1618.       If you have a CD ROM drive with a SCSI controller that you  want  to
  1619.       be  accessible  to TSX, perform the following steps.  Start TSX-Lite
  1620.       and type "CD \TSX32SYS" to  change  to  the  TSX  system  directory.
  1621.       Type  TSGEN  to  start the TSGEN system generation program and press
  1622.       Enter to select TSX32.GEN as your gen  file.   From  the  Main  Menu
  1623.       type  'M'  to  select  Manage Equipment List.  At this point look at
  1624.       the entries that already exist for disk drives -- all  of  the  disk
  1625.       names  will  begin  with  the letters "DH".  The third letter of the
  1626.       name specifies the logical controller; it is typically 'A', 'B',  or
  1627.       'C'.   Note  the  highest  controller letter currently in use.  Type
  1628.       'A' to add a new device.  Select "Disk drives" from the device  type
  1629.       list.   Select  "SCSI  CDROM"  from  the  next  menu and you will be
  1630.       presented with  a  data  entry  screen  for  the  device.   Enter  a
  1631.       controller  letter that is beyond the highest one that you noted was
  1632.       in use from the earlier device list.  Enter the  SCSI  ID  to  which
  1633.       the  drive  is  configured  and  enter "HAA" for the HOST_ADAP item.
  1634.       Press ESC to exit from the device  definition.   Next  you  will  be
  1635.       presented  with  a  screen  for  entering unit parameters.  You must
  1636.       enter a single letter for DOSDRIVE which  corresponds  to  the  disk
  1637.       letter  that you will use to refer to the device.  Typically letters
  1638.       'A' and 'B' are reserved for diskettes, 'C' is used  for  the  first
  1639.       hard  disk,  etc.   Choose  some  letter that does not conflict with
  1640.       with another disk.  Press ESC repeatedly until you exit from  TSGEN.
  1641.       You must reboot to have the drive definition take effect.
  1642.  
  1643.  
  1644.       2.9 Returning to DOS
  1645.  
  1646.       One  of the nice things about TSX-Lite is that you easily can switch
  1647.       between it and DOS.  The  preferred  way  to  stop  TSX-Lite  is  to
  1648.       execute  the  SHUTDOWN  command  procedure  that is in your TSX32SYS
  1649.       directory.  To  execute  it  simply  type  SHUTDOWN.   The  SHUTDOWN
  1650.       procedure  stops  all  jobs  and  performs an orderly shutdown; this
  1651.       normally takes about 30 seconds to complete.  When  it  finishes  it
  1652.       displays  the message "System ready for shutdown.  You may type BOOT
  1653.       to reboot." At this point you can type the BOOT  command  or  simply
  1654.       press  the  Reset  button  to reboot DOS.  If you don't want to wait
  1655.       for the SHUTDOWN procedure to  run,  simply  exit  from  application
  1656.       programs and type BOOT or press the Reset button.
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.                                    Chapter 3
  1664.  
  1665.                               Terminal Operations
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.       3.1 Terminal Types
  1672.  
  1673.       TSX-Lite   supports   several   types   of   terminals,  giving  you
  1674.       considerable flexibility  in  configuring  systems.   The  following
  1675.       list summarizes the different terminal types.
  1676.  
  1677.       Console  terminal -- The console terminal is the display device that
  1678.           is directly connected to your computer  through  a  MDA  or  VGA
  1679.           display  adapter.   TSX-Lite  supports  only  a  single  console
  1680.           station.  The full  TSX-32  system  supports  multiple  consoles
  1681.           connected through console multiplexer adapters.
  1682.  
  1683.       Serial  ANSI  Terminals  -- These terminals transmit and receive the
  1684.           ANSI standard characters and  control  sequences.   Examples  of
  1685.           ANSI  terminals  are  the  Digital Equipment Corporation VT-100,
  1686.           VT-200, and VT-300 series terminals.   These  terminals  usually
  1687.           do  not have an IBM compatible keyboard (they do not have all of
  1688.           the function keys) and they can usually only  display  24  lines
  1689.           of text.
  1690.  
  1691.           The  "ANSI" TSX terminal type is a subset of VT-100.  DEC VT-100
  1692.           terminals have attributes such as scrolling regions and  graphic
  1693.           character  sets  that  are not implemented by most ANSI terminal
  1694.           emulators.  You should use the ANSI terminal type  when  running
  1695.           with  ANSI  terminals  or  emulator programs that do not provide
  1696.           the full VT-100 control sequence emulation.
  1697.  
  1698.           TSX provides some keyboard mapping to make it  possible  to  run
  1699.           DOS  programs from these terminals.  To type DOS function key on
  1700.           a DEC VT type terminal  press  F20  followed  by  a  digit  (for
  1701.           example,  F20 followed by 2 generates the IBM code for F2).  For
  1702.           shifted, control, and ALT functions, type  F17  for  shift,  F18
  1703.           for  control,  or  F19  for  ALT,  followed  by  F20-digit.  For
  1704.           example, to generate ALT F3, press F19, F20, and then 3  on  the
  1705.           typewriter  portion  of  the  keyboard.   Press  the "Do" key to
  1706.           generate an ESC.
  1707.  
  1708.           If you run a program that has a 25 line display  only  24  lines
  1709.           will  be  displayed  at  a  time.   Type  control-V to shift the
  1710.           screen so that the additional line can be seen.
  1711.  
  1712.  
  1713.  
  1714.  
  1715.                                        23
  1716.  
  1717.       Chapter 3. Terminal Operations                                    24
  1718.  
  1719.  
  1720.       Serial PC-Term Terminals -- These are  serial  terminals  that  have
  1721.           IBM  compatible keyboards and transmit make/break keyboard codes
  1722.           like the console  keyboard.   They  can  display  25  lines  and
  1723.           support  the  IBM  display  character  set.  These terminals are
  1724.           much better  suited  for  running  DOS  applications  than  ANSI
  1725.           terminals.   Examples  of PC-Term terminals are Relisys and Wyse
  1726.           WY-150.  If you have one  of  these  terminals  you  should  use
  1727.           TSGEN and set the TERMTYPE for the line to PCTERM or RELISYS.
  1728.  
  1729.       TSXTERM  Terminal Emulator -- The TSXTERM terminal emulator program,
  1730.           which is  provided  with  TSX-Lite,  can  be  run  on  a  remote
  1731.           computer  that is connected to your TSX-Lite system via either a
  1732.           hardwired serial connection or a modem.  This is the  best  type
  1733.           of  TSX  workstation.   See Chapter 11, starting on page 71, for
  1734.           additional information about TSXTERM.
  1735.  
  1736.  
  1737.       3.2 Terminal Input Editor
  1738.  
  1739.       As you type TSX commands they are stored in a recall  list  so  that
  1740.       you  can  easily  recall  and reexecute commands.  This is useful if
  1741.       you make a typing error and want to recall, edit, and reexecute  the
  1742.       last  command.   You  can  also  recall  previous commands simply to
  1743.       avoid retyping them.
  1744.  
  1745.       There are two ways to recall commands, the  simplest  is  to  simply
  1746.       press  the  up-arrow  key  (or F3).  Each time you press up-arrow an
  1747.       earlier line in the recall list  is  displayed.   Once  the  desired
  1748.       line  has  been  recalled, press Enter to execute it.  You can press
  1749.       down-arrow to move in the  opposite  direction  through  the  recall
  1750.       list.   The second way to recall saved commands is to use the RECALL
  1751.       command which is described in Section 14.67 on page 131.   See  also
  1752.       the  description  of  the  SET EDIT command in Section 14.77 on page
  1753.       141.
  1754.  
  1755.       In addition to recalling previous lines, the Terminal  Input  Editor
  1756.       allows  you to edit lines.  To do this use the left- and right-arrow
  1757.       keys to position the cursor where the edit  is  to  take  place  and
  1758.       then  type  characters to be inserted or use the Backspace or Delete
  1759.       keys to remove characters.  The Home and  End  keys  will  move  the
  1760.       cursor  to  the  left  or  right  end  of  the  line.   You can type
  1761.       Control-A to switch between insert and overstrike edit modes.
  1762.  
  1763.  
  1764.       3.3 Control Characters
  1765.  
  1766.       Certain control characters have special meaning to  TSX.   They  are
  1767.       entered  by  holding down the "Ctrl" key while pressing the selected
  1768.       character.
  1769.  
  1770.       If you have a program that needs to receive one of these  characters
  1771.       for  its  own functions, you can use the PMAN program to install the
  1772.       application and specify that selected control characters are  to  be
  1773.       passed  directly  to  the  program  rather than being interpreted by
  1774.       TSX.
  1775.  
  1776.       Chapter 3. Terminal Operations                                    25
  1777.  
  1778.  
  1779.         . Control-\ -- Terminates  a  cross-connection  initiated  by  the
  1780.           HOST or SET HOST commands (see Sections 14.40 and 14.80).
  1781.  
  1782.         . Control-A  --  Switch  the  terminal input editor between insert
  1783.           and overstrike modes.
  1784.  
  1785.         . Control-B -- If you enabled the TSX print window facility,  this
  1786.           character  causes  the contents of the screen to be printed.  It
  1787.           has the same effect as pressing "Print Screen".  If you did  not
  1788.           enable  the print window facility when you installed TSX you can
  1789.           enable it by using TSGEN to set the DOWINPRNT  sysgen  parameter
  1790.           to   1.    See   Section   14.85  on  page  146  for  additional
  1791.           information.
  1792.  
  1793.         . Control-C -- Aborts the current program.  If the program is  not
  1794.           reading  characters  from  the terminal, you must type control-C
  1795.           twice to abort it.
  1796.  
  1797.         . Control-O -- Suppresses program output  to  the  terminal  until
  1798.           one  of  the following conditions occurs: (1) a second control-O
  1799.           is typed; (2) the program stops.
  1800.  
  1801.         . Control-Q -- Resumes output to the  terminal  after  output  was
  1802.           suspended by typing control-S.
  1803.  
  1804.         . Control-S -- Suspends terminal output until control-Q is typed.
  1805.  
  1806.         . Control-T  --  Displays  at  your terminal a line of information
  1807.           showing the status of your job.
  1808.  
  1809.         . Control-U -- Deletes all characters on the  current  input  line
  1810.           to the left of the cursor position.
  1811.  
  1812.         . Control-V  --  If  you  are  running  a  program that uses 25 to
  1813.           display information  on  a  serial  terminal  that  only  has  a
  1814.           24-line  display,  control-V  shifts  the  display up or down so
  1815.           that you can see the hidden line.
  1816.  
  1817.         . Control-W -- Type  control-W  followed  by  a  digit  to  switch
  1818.           between your TSX window sessions.
  1819.  
  1820.         . Control-X  --  Deletes  all  pending  terminal  input characters
  1821.           including characters you typed ahead which have not yet echoed.
  1822.  
  1823.         . Control-Z -- Indicates "end of file" to programs  reading  input
  1824.           from the terminal.
  1825.  
  1826.         . Backspace  (or  Delete)  -- Deletes the character to the left of
  1827.           the cursor.
  1828.  
  1829.         . Up-arrow -- Recalls previous command lines.
  1830.  
  1831.         . Down-arrow -- Moves downward through saved command lines.
  1832.  
  1833.       Chapter 3. Terminal Operations                                    26
  1834.  
  1835.  
  1836.         . Left/Right-arrow -- Moves the cursor within the current  command
  1837.           line for editing purposes.
  1838.  
  1839.         . Delete -- Deletes the character the cursor is positioned on.
  1840.  
  1841.         . Home -- Moves to the left end of the current command line.
  1842.  
  1843.         . End -- Moves to the right end of the current command line.
  1844.  
  1845.         . Print  Screen  --  If you enabled the TSX print window facility,
  1846.           this character causes the contents of the screen to be  printed.
  1847.           If  you  did  not  enable  the  print  window  facility when you
  1848.           installed TSX you can enable  it  by  using  TSGEN  to  set  the
  1849.           DOWINPRNT  sysgen parameter to 1.  See Section 14.85 on page 146
  1850.           for additional information.
  1851.  
  1852.         . Scroll Lock -- Call up the TSX Session Manager so that  you  can
  1853.           select  which  window  session you want to connect your terminal
  1854.           with.
  1855.  
  1856.  
  1857.       3.4 Screen Saver
  1858.  
  1859.       TSX features a "console  screen  saver"  feature  which  causes  the
  1860.       console  to  be  darkened  after a period of inactivity.  This helps
  1861.       lengthen the lifespan of the  console  display.   The  screen  saver
  1862.       only  affects  the  console display, not serial terminals.  When the
  1863.       screen saver blanks the console you can  press  any  key  (including
  1864.       Shift)  to  cause  the  display  to  be  reenabled.  By default, the
  1865.       console will be blacked out after 20 minutes  of  inactivity.   This
  1866.       time  period  can  be  modified  by using TSGEN to set the CONSSTIME
  1867.       parameter to the number of minutes before blanking occurs.  You  can
  1868.       set CONSSTIME to 0 to disable the screen saver.
  1869.  
  1870.  
  1871.       3.5 Communication Lines
  1872.  
  1873.       Your  serial  COM  ports can be used in two ways under TSX: (1) as a
  1874.       timesharing line through which you can log on and run  programs,  or
  1875.       (2)  as a "communication" line which is simply an I/O device used by
  1876.       a program to access some peripheral device such as a serial  printer
  1877.       or modem.
  1878.  
  1879.       TSX  allows  the  same  COM  port  to  be used part of the time as a
  1880.       communication line and at other times  as  a  timesharing  line.   A
  1881.       good  example  of  this is a line connected to a modem.  During part
  1882.       of the day remote users can call in and log on  through  this  line.
  1883.       At  other  times,  when no one is logged onto the line, the line can
  1884.       be used as a communication line when a program such  as  Procomm  is
  1885.       running  and  wants  to access the modem.  A port would also be used
  1886.       as a communication line when a bulletin board was running and  using
  1887.       the  line  to  accept  incoming  calls.   Note: the TSX HOST command
  1888.       described in Section 14.40 on page 118 is much  more  efficent  that
  1889.       communication programs like Procomm and Telix.
  1890.  
  1891.       Chapter 3. Terminal Operations                                    27
  1892.  
  1893.  
  1894.       When  a  user  is  logged  onto  a  timesharing  line, attempts by a
  1895.       program to allocate  the  line  as  a  communication  line  will  be
  1896.       rejected.   Conversely,  when  a  line  is in use as a communication
  1897.       line, TSX will not attempt to receive incoming calls or log  a  user
  1898.       on  because  control  of  the  line  has  been  relinquished  to the
  1899.       application program.  When the program exits the line  becomes  free
  1900.       and  TSX  will then log a user on when an incoming call arrives or a
  1901.       user presses Enter on a hardwired line.  If you wish  to  reserve  a
  1902.       line  as a communication line so that users may not log onto it, use
  1903.       TSGEN and set the LOGON parameter for the serial unit to  'N'  (no).
  1904.       See Section 2.6.2 for information about doing this.
  1905.  
  1906.       If  you  issue  a SHOW TERMINALS command the Status column will show
  1907.       "Logged on" if someone is  currently  logged  onto  the  line  as  a
  1908.       timesharing  line,  "I/O device" if a program is using the line as a
  1909.       communication line, or "Logged off" if the line is free.
  1910.  
  1911.  
  1912.       3.6 International Keyboard Support
  1913.  
  1914.       PC  keyboards  available  in  different  countries  have   different
  1915.       layouts  and  produce  different  characters than American keyboards
  1916.       do.  Under DOS, an alternate "keyboard driver" is  loaded  to  alter
  1917.       the  key  definitions.   In  TSX, alternate keyboard definitions are
  1918.       loaded from external control files called ".KEY files"  since  their
  1919.       extension is .KEY.
  1920.  
  1921.       The  .KEY  files  used  by  TSX  have the advantage that they can be
  1922.       edited with any text editor.  Hence, it is possible  to  create  new
  1923.       key  files  or  alter  the  definitions  of  keys  without obtaining
  1924.       additional drivers.
  1925.  
  1926.       For an alternate key file to take effect, it  must  be  loaded  with
  1927.       the KEYLOAD command, as in:
  1928.  
  1929.            KEYLOAD ITALY
  1930.  
  1931.       This  command  is normally placed in the site's LSTARTUP.CMD command
  1932.       procedure so that keyboard definitions are correct for  the  country
  1933.       each time the system boots.
  1934.  
  1935.       It  is  also  possible  for separate lines to have separate keyboard
  1936.       definitions, in the event that one computer is used by  people  with
  1937.       different  keyboards.  The use of the /LINE qualifier to the KEYLOAD
  1938.       command causes the loaded .KEY file  to  only  change  the  terminal
  1939.       from which the command was issued.
  1940.  
  1941.       Your  TSX  distribution  includes  the following .KEY files: US.KEY,
  1942.       GERMAN.KEY,  ITALY.KEY,  FRENCH.KEY,  and  SPANISH.KEY.   US.KEY  is
  1943.       provided  as an example; it is not necessary to use KEYLOAD for U.S.
  1944.       keyboards.
  1945.  
  1946.       You can use .KEY files to alter the definition of  any  key  in  any
  1947.       shift  state.   The  format of the file is documented in system file
  1948.  
  1949.       Chapter 3. Terminal Operations                                    28
  1950.  
  1951.  
  1952.       US.KEY, which also documents the keyboard  tables  which  TSX  comes
  1953.       preloaded with.
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.                                    Chapter 4
  1961.  
  1962.                               Running DOS Programs
  1963.  
  1964.  
  1965.  
  1966.  
  1967.       TSX  is  designed  to support modern 32-bit application programs and
  1968.       there are development tools available to write 32-bit  programs  for
  1969.       TSX  in  virtually all of the modern programming language.  However,
  1970.       at this point you may not have  any  32-bit  applications  and  just
  1971.       want   to   run  your  favorite  16-bit  DOS  applications.   Before
  1972.       proceeding, however, you should understand just a little  bit  about
  1973.       how DOS applications are supported in TSX.
  1974.  
  1975.       Under  TSX,  each  DOS  program  is run in "virtual 8086 mode." This
  1976.       means we fool the program into thinking  it  is  running  on  a  DOS
  1977.       computer  with  640Kb  of  memory  (plus  EMS  and  XMS).   TSX also
  1978.       supports programs that use the  DPMI  services  to  enter  protected
  1979.       mode.   In this mode, most 16-bit DOS programs run well under TSX --
  1980.       some even run faster under TSX than DOS.  However,  there  are  some
  1981.       "dirty"  DOS  programs  that  do  sneaky  tricks  under DOS (such as
  1982.       poking around in the operating system or directly messing  with  the
  1983.       hardware) that will run poorly, or not at all, under TSX.
  1984.  
  1985.       TSX  is  a true 32-bit, protected mode operating system.  "Protected
  1986.       mode" means  that  the  operating  system  and  its  components  are
  1987.       protected  from  harm by errant applications.  If a program tries to
  1988.       step outside of its bounds, the operating system will terminate  the
  1989.       program.   This  greatly  reduces  the chances of system "hangs" and
  1990.       "crashes" and prevents one application program from  disturbing  the
  1991.       execution of another.
  1992.  
  1993.       However,  protected  mode  prevents  the  execution of some programs
  1994.       such as SpinRite, Norton's Disk Doctor and SD,  CHKDSK,  DOS  16-bit
  1995.       device  drivers, and other programs that attempt to directly control
  1996.       the computer hardware.  This type of program will  have  to  be  run
  1997.       under DOS at a time that TSX is not in control.
  1998.  
  1999.  
  2000.       4.1 Installing and Tuning DOS Programs
  2001.  
  2002.       You  should use the same procedure for installing DOS programs under
  2003.       TSX as you would under DOS itself.  In fact, it is a  good  idea  to
  2004.       install  new  programs  under  DOS and verify their operation before
  2005.       using them with TSX.
  2006.  
  2007.       Once a program is up and running you may wish to use  the  TSX  PMAN
  2008.       command  to  specify  various  tuning  parameters for the program to
  2009.       optimize its execution under TSX.  The PMAN command  allows  you  to
  2010.  
  2011.  
  2012.                                        29
  2013.  
  2014.       Chapter 4. Running DOS Programs                                   30
  2015.  
  2016.  
  2017.       associate  attributes  with programs so that the attributes are used
  2018.       by TSX whenever the program is executed.   Attributes  that  may  be
  2019.       specified  for  a  program include the maximum memory space that the
  2020.       program may use, privileges to be granted to the  program  while  it
  2021.       is running, and many other options.
  2022.  
  2023.       A  program  whose  attributes  have  been  specified  using  PMAN is
  2024.       referred to as having been "installed" in TSX.  Many attributes  can
  2025.       be  set  with  PMAN, some of which can have a dramatic effect on the
  2026.       performance of programs running  under  TSX.   However,  it  is  not
  2027.       necessary  to "install" most programs with PMAN in order to use them
  2028.       with TSX; PMAN simply specifies parameters that tune  the  execution
  2029.       of  a  program  under TSX.  See Sections 2.5 and 4.6 for information
  2030.       about several important tuning parameters.
  2031.  
  2032.       When you use  PMAN  to  associate  attributes  with  a  program  the
  2033.       attribute  settings  take  effect  immediately  (you  do not need to
  2034.       reboot TSX).  In addition, PMAN updates a file  in  the  TSX  system
  2035.       directory  named  INSTALL.CMD  with information about the attributes
  2036.       for each program.  The INSTALL.CMD file  is  executed  automatically
  2037.       each  time  TSX  is  booted  so the attributes will remain in effect
  2038.       over system restarts.
  2039.  
  2040.  
  2041.       4.2 Direct Write Programs
  2042.  
  2043.       There are two basic methods used by programs to display  information
  2044.       on  the  screen.   Either  they perform system services to cause TSX
  2045.       (or DOS) to display the information or  they  directly  program  the
  2046.       video  memory  and  control  registers.   Many DOS programs directly
  2047.       access the video memory and registers -- this is especially true  of
  2048.       programs  that perform graphics.  TSX supports programs that use the
  2049.       display system services as well as those that  directly  access  the
  2050.       video  hardware.   Programs  that  do direct video access (bypassing
  2051.       the operating system) are called "direct write" programs.
  2052.  
  2053.       The TSX process windowing facility  operates  differently  depending
  2054.       on  whether  it  is  running a direct write program.  Because direct
  2055.       write programs control the display themselves -- behind the back  of
  2056.       the  operating  system -- TSX must suspend their execution when they
  2057.       are not in  the  session  currently  connected  to  the  screen  and
  2058.       keyboard.   Other  programs  that  do  not perform direct writes are
  2059.       allowed to  continue  executing  even  when  their  session  is  not
  2060.       connected  to  the  screen and keyboard.  If you have an application
  2061.       that does not do graphic display and which you would  like  to  have
  2062.       continue  executing  even  when  it is not connected to the console,
  2063.       you can start it by using the following command:
  2064.  
  2065.            RUN/NODWRITE program
  2066.  
  2067.       or you can use the TSX PMAN command to "install"  the  program  with
  2068.       the  NODWRITE  attribute  which  will  be invoked automatically each
  2069.       time the program is executed.  See Section  2.5,  starting  on  page
  2070.       10,  for  additional  information  about  setting  up  multi-tasking
  2071.       applications.
  2072.  
  2073.       Chapter 4. Running DOS Programs                                   31
  2074.  
  2075.  
  2076.       If you prefer to have  NODWRITE  be  the  default  setting  for  all
  2077.       programs,  you  can  use TSGEN to set the DEFDWRITE sysgen parameter
  2078.       to 0.  You can then use PMAN  to  selectively  turn  on  the  DWRITE
  2079.       parameter for programs that are going to do graphical displays.
  2080.  
  2081.  
  2082.       4.3 DOS Environment Variables
  2083.  
  2084.       When  you  begin  execution  of  a  16-bit  program,  TSX creates an
  2085.       "environment block" for the  program  containing  information  about
  2086.       all  symbols  defined  by use of the command "SET symbol".  The form
  2087.       of this command is
  2088.  
  2089.       SET[/SYSTEM] symbol=string
  2090.  
  2091.       For  example,  the  following  command  creates  a  DOS  environment
  2092.       variable named CL and assigns a string of options to it:
  2093.  
  2094.       SET CL = /Od /Zi
  2095.  
  2096.       If  you specify the /SYSTEM qualifier, the symbol is defined for all
  2097.       users and jobs; otherwise, it only applies  to  your  job.   If  you
  2098.       want  to  put  SET  commands  in  the  TSX LSTARTUP.CMD system-wide,
  2099.       start-up command file, be sure to use the /SYSTEM qualifier  or  the
  2100.       SET  commands  will apply only to the startup initialization job and
  2101.       not to other users and jobs.
  2102.  
  2103.  
  2104.       4.4 16-bit Program Device Names
  2105.  
  2106.       DOS treats the file names CON, PRN, AUX, and  NUL  specially  (note:
  2107.       these  are file names, not device names because there is no trailing
  2108.       colon).  If one of these file names is  specified,  the  channel  is
  2109.       opened  to a device rather than a disk file.  For compatibility, TSX
  2110.       also handles these file  names  specially  and  converts  them  into
  2111.       device names as shown below:
  2112.  
  2113.              CON --> TT:
  2114.              PRN --> LPT1:
  2115.              AUX --> AUX:
  2116.              NUL --> NL:
  2117.  
  2118.       You  may use an ASSIGN command to associate the logical device names
  2119.       LPT1 and AUX with the  actual  devices,  spooled  print  queues,  or
  2120.       files  of  your  choice.   If  a  16-bit  program attempts to open a
  2121.       channel to device or AUX: and no such logical device name  has  been
  2122.       defined, TSX directs the output to a disk file named STDAUX.LST.
  2123.  
  2124.       For  example,  the  following  command  assigns  the  name LPT1 to a
  2125.       spooled printer queue named LJPRINT:,
  2126.  
  2127.            ASSIGN  LJPRINT:  LPT1
  2128.  
  2129.       Chapter 4. Running DOS Programs                                   32
  2130.  
  2131.  
  2132.       4.5 Support for COMMAND.COM and TSR Programs
  2133.  
  2134.       TSX provides support for some  Terminate  and  Stay  Resident  (TSR)
  2135.       programs  such  as  Btrieve  and  Sidekick.   In  order to use a TSR
  2136.       program, you must run the  DOS  COMMAND.COM  command  processor  and
  2137.       then  use  it  to load the TSR program and execute programs that use
  2138.       the TSR program.  To do  this,  begin  by  running  the  COMMAND.COM
  2139.       program by issuing the TSX "DOS" command.
  2140.  
  2141.       Note  that  it is not necessary to issue the DOS command in order to
  2142.       run 16-bit programs with TSX.  Whenever  you  run  a  program  under
  2143.       TSX,  it  checks  to see if the program being started is a 16-bit or
  2144.       32-bit program and automatically shifts into the  correct  mode  for
  2145.       the  program.   You do not even have to be aware of whether a 16-bit
  2146.       or 32-bit program  is  executing.   When  a  16-bit  program  exits,
  2147.       control returns to the 32-bit TSX command processor.
  2148.  
  2149.       However,  there  are  two cases where it is useful to be able to run
  2150.       the DOS command processor: First, if you wish to run  a  16-bit  TSR
  2151.       program  such as Sidekick or Btrieve, it is necessary to establish a
  2152.       16-bit environment that will not be terminated when the TSR  program
  2153.       exits.   Second, you may wish to run COMMAND.COM so that you can use
  2154.       DOS commands or execute DOS BAT (batch) files that use commands  not
  2155.       supported by the TSX command processor.
  2156.  
  2157.       While  COMMAND.COM  is  running, you can issue DOS commands, execute
  2158.       BAT files, and run other 16-bit programs.  You may  not  run  32-bit
  2159.       programs  or  execute  TSX  specific commands such as FMAN until you
  2160.       exit from COMMAND.COM.  If you run a TSR program, the  program  will
  2161.       be   loaded  into  memory,  initialize  itself,  and  then  exit  to
  2162.       COMMAND.COM without freeing its memory  area.   Other  programs  can
  2163.       then  be  run  which  interact with the TSR program that is still in
  2164.       memory.
  2165.  
  2166.       Type the EXIT command to COMMAND.COM when  you  are  ready  to  exit
  2167.       from  it.   When  you  exit  from  COMMAND.COM  to  the  TSX command
  2168.       interpreter (and the native 32-bit environment), the 16-bit  program
  2169.       environment  is  released  and  memory space used by TSR programs is
  2170.       freed.  Thus, if you want to run other programs  that  use  the  TSR
  2171.       you   must   get   back  into  the  16-bit  environment  by  running
  2172.       COMMAND.COM again and reloading the TSR programs.
  2173.  
  2174.       If you  plan  to  make  heavy  use  of  TSR  programs  in  a  16-bit
  2175.       environment,  the  best  approach  is  to switch to a subprocess (by
  2176.       typing control-W-digit), issue the DOS command to  run  COMMAND.COM,
  2177.       load  TSR  programs,  and  then  switch  back to a subprocess in the
  2178.       32-bit environment when you want to run 32-bit programs rather  than
  2179.       stopping and restarting COMMAND.COM.
  2180.  
  2181.  
  2182.       4.6 Controlling DOS Program Input Loops
  2183.  
  2184.       TSX  provides  a  number  of  tuning parameters that can improve the
  2185.       performance  of  DOS  programs  --  especially  on  heavily   loaded
  2186.       systems.   However,  most  of  the  time the standard TSX scheduling
  2187.  
  2188.       Chapter 4. Running DOS Programs                                   33
  2189.  
  2190.  
  2191.       does a very good job and it is not necessary to  specially  tune  or
  2192.       install  programs.  Unless you are experiencing performance problems
  2193.       you may wish to skip the following sections  on  tuning,  especially
  2194.       on the first reading.
  2195.  
  2196.       Well  behaved  programs  suspend their execution while idle by using
  2197.       one of the system services that wait for terminal  input.   However,
  2198.       many  DOS  programs  have  an  idle  loop  that  checks  for pending
  2199.       terminal input without waiting, and then, if no  input  is  pending,
  2200.       loop  back  and check again.  This causes the program to burn up CPU
  2201.       time  while  it  is  waiting  for  terminal  input  and  places   an
  2202.       unnecessary burden on the system.
  2203.  
  2204.       You  can  detect  programs  that behave this way by using the SYSMON
  2205.       command  or  repeatedly  executing  the  SHOW  SYSTEM  command  from
  2206.       another  time-sharing  line  to  display information about a program
  2207.       that is in an  idle  state  waiting  for  terminal  input.   If  the
  2208.       "State"  of  the  job  is  continuously  shown as "CPU" and the "CPU
  2209.       time" value is increasing steadily, then the program is  in  a  loop
  2210.       while waiting for terminal input.
  2211.  
  2212.       TSX  provides  several program execution attributes that may be used
  2213.       to "tame" DOS programs that loop while waiting for  terminal  input.
  2214.       The  TTWAIT and TTCKIO attributes provide basic control over looping
  2215.       programs and may be associated  with  the  program  using  the  PMAN
  2216.       command.    Three   other   attributes,  MAXTTCHK,  MAXTTIOCHK,  and
  2217.       TTHANGTIME may be  used  with  the  PMAN  command  to  provide  more
  2218.       precise control.
  2219.  
  2220.       When  a  program  is  executed  with one or more of these attributes
  2221.       specified, TSX uses a counter to  tally  the  number  of  times  the
  2222.       program  checks  for terminal input without waiting.  The counter is
  2223.       reset when terminal input is received or when the  program  performs
  2224.       other  system  services  such  as  reading,  writing,  updating  the
  2225.       screen, etc.  If the TTWAIT attribute is specified and  the  program
  2226.       performs  more terminal input checks than the value specified by the
  2227.       MAXTTCHK  attribute  (or  the  MAXTTCHK  sysgen  parameter  if   the
  2228.       MAXTTCHK  attribute  is  not  specified),  without  doing  any other
  2229.       system services, the program is suspended for  the  length  of  time
  2230.       specified  by  the  TTHANGTIME  attribute  (or the TTHANGTIME sysgen
  2231.       parameter if the TTHANGTIME attribute was not specified),  and  then
  2232.       is  allowed  to  check  for  terminal  input until the counter again
  2233.       exceeds the MAXTTCHK attribute.
  2234.  
  2235.       The TTCKIO and  MAXTTIOCHK  attributes  have  a  similar  effect  to
  2236.       TTWAIT  and  MAXTTCHK,  but modify the number of times that terminal
  2237.       input checks may be  performed  after  a  disk  I/O  operation.   If
  2238.       TTCKIO  is  specified,  the program is allowed to perform the number
  2239.       of terminal input checks specified by the MAXTTIOCHK  attribute  (or
  2240.       the  value  of  the MAXTTIOCHK sysgen parameter if the MAXTTIOCHK is
  2241.       not specified) after each disk I/O operation.
  2242.  
  2243.       If you have a program which is continuously  in  the  CPU  execution
  2244.       state   while  waiting  for  terminal  input,  try  using  PMAN  and
  2245.       installing the program with the  TTWAIT  attribute  turned  on.   If
  2246.  
  2247.       Chapter 4. Running DOS Programs                                   34
  2248.  
  2249.  
  2250.       this  causes  its  execution  to  slow  down, try experimenting with
  2251.       different values for the MAXTTCHK attribute.
  2252.  
  2253.       As  an  example,  assume  that  you  are  trying  out  a   new   DOS
  2254.       application,  named  HEW, under TSX.  The program runs fine, just as
  2255.       it would under  DOS.   However,  other  users  complain  that  their
  2256.       processes  run  significantly  slower  while  HEW is executing.  You
  2257.       presume that HEW is needlessly looping for terminal input  while  it
  2258.       is  idling,  so  you use PMAN to install the program with the TTWAIT
  2259.       attribute to eliminate CPU waste.  Unfortunately,  this  causes  HEW
  2260.       to  run  too  slowly,  so you need to fine-tune its operation, using
  2261.       the MAXTTCHK attribute.
  2262.  
  2263.       Generally, by using this procedure you can greatly  reduce  the  CPU
  2264.       time  used  by  idling programs without having any adverse affect on
  2265.       response time.  However, a few programs have pathological  behaviors
  2266.       that  cause  problems.   WordPerfect  is  a good example.  Normally,
  2267.       WordPerfect checks  for  keyboard  input  a  few  times  after  each
  2268.       character   is   typed  and  the  MAXTTCHK  attribute  is  adequate.
  2269.       However, when performing some operations  such  as  a  mailing  list
  2270.       merge,  it  checks  for  keyboard  input many times while performing
  2271.       merging tasks and it does not  perform  any  other  system  services
  2272.       which  would  reset the terminal input check counter.  The result is
  2273.       that TSX "thinks" WordPerfect is in its idle loop  and  suspends  it
  2274.       periodically.  This significantly slows down the merge operation.
  2275.  
  2276.       To  handle this case, you may type control-W '+' (control-W followed
  2277.       by a plus sign) to cause  TSX  to  temporarily  allow  an  unlimited
  2278.       number  of  terminal  input  checks  without suspending the program.
  2279.       Type control-W '-' (control-W followed by a minus sign) to  reenable
  2280.       standard  terminal  input check suspension.  When you type control-W
  2281.       '+' a timer is started; if you do not type control-W '-' before  the
  2282.       amount  of  CPU  time  specified  by the NOWAITTIME sysgen parameter
  2283.       elapses, the terminal input check suspension is  reenabled  just  as
  2284.       if   you   had  typed  control-W  '-'.   Another  system  generation
  2285.       parameter, NOWAITCNT, causes the effects  of  control-W  '+'  to  be
  2286.       canceled  after  the  specified number of characters are typed.  The
  2287.       bell is rung at your terminal when control-W '+' is  canceled.   The
  2288.       NOWAITTIME  sysgen  parameter  is specified in units of 0.01 seconds
  2289.       and the default value is 30,000 (5 minutes).  The default  value  of
  2290.       NOWAITCNT is 100.
  2291.  
  2292.  
  2293.       4.7 IDLETIME Attribute
  2294.  
  2295.       If  you  are  unable  to  "tame"  a  program  by  use  of the TTWAIT
  2296.       attribute, there is one other method available.  If PMAN is used  to
  2297.       install  a program with a non-zero value for the IDLETIME parameter,
  2298.       then TSX starts a timer each  time  the  program  begins  computing.
  2299.       The  timer  is  reset  when  the program does terminal I/O, or other
  2300.       system services.  If  the  time  value  exceeds  the  value  of  the
  2301.       IDLETIME   parameter   specified  for  the  program,  the  program's
  2302.       execution state is reduced from the normal  CPU  state  to  a  lower
  2303.       priority  state called LOCP.  In this state the program continues to
  2304.       execute but because  it  is  at  a  reduced  priority  it  does  not
  2305.  
  2306.       Chapter 4. Running DOS Programs                                   35
  2307.  
  2308.  
  2309.       interfer  with  the  execution  of  normal  priority jobs, including
  2310.       those in the standard CPU compute-bound state.  The  idle  timer  is
  2311.       reset,  and  the  program  is  restored  to  normal priority, when a
  2312.       character is received or a system  service  is  executed.   If  this
  2313.       parameter  is  given  the value 0, the program is allowed to compute
  2314.       indefinitely without being classified as idle.
  2315.  
  2316.       In selecting a value for the IDLETIME  attribute,  it  is  important
  2317.       that  you  do  not  choose  a  value which is so low that legitimate
  2318.       computation performed by the program causes it to be placed  in  the
  2319.       LOCP  state.   Obviously,  this  is  dependent  on the nature of the
  2320.       program  and  will  require  some   experimentation   to   optimize.
  2321.       However,  a  reasonable  starting  point would be in the range of 10
  2322.       seconds, which corresponds to an IDLETIME parameter setting of  1000
  2323.       since it is specified in units of 0.01 seconds.
  2324.  
  2325.       It  is  suggested that you use the MAXTTCHK and MAXTTIOCHK to try to
  2326.       tame a program before resorting to using IDLETIME.
  2327.  
  2328.  
  2329.       4.8 Printer Flush Sysgen Parameters
  2330.  
  2331.       Some DOS programs open printer output, write  some  characters,  and
  2332.       leave  the printer open until they exit.  This causes the printer to
  2333.       be tied up  by  the  job,  blocking  output  by  other  users.   TSX
  2334.       provides   two   system  generation  parameters  to  alleviate  this
  2335.       situation: DOSLPTTIME  and  DOSLPTCLSTIME.   The  DOSLPTTIME  sysgen
  2336.       parameter  causes  output  to  be  flushed  to the printer after the
  2337.       specified number of seconds, but the printer is held for use by  the
  2338.       job.   The  DOSLPTCLSTIME sysgen parameter causes data to be flushed
  2339.       to the spooled printer and then releases  the  printer  for  use  by
  2340.       other  users.   The  printer  will  be  reclaimed by the job when it
  2341.       generates more output and it is not in  use  by  another  job.   The
  2342.       DOSLPTCLSTIME  parameter  specifies  that if the printer is idle for
  2343.       the number of seconds  (i.e.,  no  characters  are  written  by  the
  2344.       program)  it  is released.  The timer controlled by DOSLPTCLSTIME is
  2345.       reset each time the program writes to the printer.
  2346.  
  2347.       See Section 2.5, starting on page  10,  for  additional  information
  2348.       about installing and tuning DOS programs.
  2349.  
  2350.  
  2351.       4.9 Virtual UART Support
  2352.  
  2353.       In  order  to  support  a variety of serial adapter types, including
  2354.       "smart" serial adapters, TSX has to emulate  the  operation  of  the
  2355.       actual  hardware devices and make all adapter types look like simple
  2356.       UART COM ports for communication programs that  perform  direct  COM
  2357.       port  I/O.   This  emulation  forces TSX to intercept all IN and OUT
  2358.       instructions  performed  to  the  COM  port  control  registers  and
  2359.       convert  them into the appropriate commands depending on the type of
  2360.       serial adapter actually in  use.   This  emulation  allows  programs
  2361.       like  Procomm and BBS software to use any serial line on any type of
  2362.       adapter that is supported by TSX even though these programs  do  not
  2363.       understand  how to control the actual hardware.  TSX makes it "look"
  2364.  
  2365.       Chapter 4. Running DOS Programs                                   36
  2366.  
  2367.  
  2368.       like a 16550 UART type COM port.  This emulation works well but  may
  2369.       result  in  high-speed  communications  being slowed down because of
  2370.       the emulation overhead.  The  use  of  actual  16550  type  buffered
  2371.       controllers  reduces  the  overhead  and improves throughput.  Note:
  2372.       the TSX HOST command described in Section 14.40 on page 118 is  much
  2373.       more efficent that communication programs like Procomm and Telix.
  2374.  
  2375.       When  you  install  TSX-Lite  it checks for the presence of the COM1
  2376.       and COM2 serial ports.  If they  exist  it  defines  TSX  I/O  units
  2377.       named  TTB0 and TTC0.  TTB0 is the TSX name for COM1 and TTC0 is the
  2378.       TSX name for COM2.  Try using the  SHOW  TERMINALS  command  to  see
  2379.       that   these   device  names  exist.   TSX  also  does  an  implicit
  2380.       assignment of the logical device name "COM1" to  "TTB0"  and  "COM2"
  2381.       to  "TTC0".  When your program attempts to access a COM port the TSX
  2382.       virtual UART routine directs the request to  the  hardware  unit  to
  2383.       which  the  COM1,  COM2,  COM3,  or  COM4  logical  device  name  is
  2384.       assigned.  For example, if a program  attempts  to  access  COM1  it
  2385.       will  normally  be directed to TTB0, but the following command could
  2386.       be used to redirect it to TTC0:
  2387.  
  2388.            ASSIGN TTC0: COM1
  2389.  
  2390.       See Section 7.3 on page 45  for  additional  information  about  the
  2391.       ASSIGN command.
  2392.  
  2393.       4.9.1 FOSSIL Driver
  2394.  
  2395.       TSX  includes  an  integral FOSSIL driver that is a standard part of
  2396.       the system.  The TSX FOSSIL driver is similar  in  function  to  DOS
  2397.       drivers  such  as  X00  and  BNU; external DOS drivers such as these
  2398.       should not be used with TSX.  As described in Section  4.9  you  can
  2399.       use  an  ASSIGN  command  to  redirect virtual COM ports to selected
  2400.       devices.
  2401.  
  2402.       Normally the serial line speed for a FOSSIL line  is  controlled  by
  2403.       the  program  using the line.  However, if you wish to lock the line
  2404.       to the speed specified during system  generation  you  may  set  the
  2405.       FIXEDSPEED option for the unit to 'Y' (yes) by using TSGEN.
  2406.  
  2407.  
  2408.       4.10 Expanded Memory Support (EMS)
  2409.  
  2410.       TSX  supports  the  Expanded  Memory Specification (EMS) version 4.0
  2411.       developed by  Lotus/Intel/Microsoft.   Under  DOS,  expanded  memory
  2412.       support  is  provided  by  a  handler  such  as  EMM386.  Under TSX,
  2413.       expanded memory support is  an  integral  part  of  the  system  and
  2414.       EMM386 should not be loaded when TSX is started.
  2415.  
  2416.       By  default, 16-bit programs may access an amount of expanded memory
  2417.       space defined by the EMSDEFPGS sysgen parameter.   (Note:  each  TSX
  2418.       user  has  this  much expanded memory space available).  You can use
  2419.       the SET PROCESS command to control the  amount  of  expanded  memory
  2420.       space  you  want to make available to programs you run.  The form of
  2421.       this command to control expanded memory space is:
  2422.  
  2423.       Chapter 4. Running DOS Programs                                   37
  2424.  
  2425.  
  2426.            SET PROCESS/EMS=value
  2427.  
  2428.       Where value is the number of K-bytes to make available  in  expanded
  2429.       memory.   The  maximum value that may be specified is limited by the
  2430.       EMSMAXPGS sysgen parameter.  If the value is set  to  0  (zero)  EMS
  2431.       support is disabled for the process.
  2432.  
  2433.  
  2434.       4.11 Extended Memory Support (XMS)
  2435.  
  2436.       TSX  supports  the  Extended  Memory Specification (XMS) version 2.0
  2437.       developed by  Lotus/Intel/Microsoft.   Under  DOS,  extended  memory
  2438.       support  is  provided  by  a  handler such as HIMEM.SYS.  Under TSX,
  2439.       extended memory support is  an  integral  part  of  the  system  and
  2440.       HIMEM.SYS should not be loaded when TSX is started.
  2441.  
  2442.       TSX  is  a  "virtual  memory"  operating  system.   This  means that
  2443.       programs can potentially use more memory than  physically  installed
  2444.       in  your  computer.   In  other  words, you could run a program that
  2445.       needs 8 MB on a computer that only  has  4  MB  installed.   When  a
  2446.       program  uses  more  memory  than is available, TSX uses a technique
  2447.       called "demand paging" to keep in memory the most recently  accessed
  2448.       memory  pages.   The  other  pages  are  stored in a page file named
  2449.       PAGEFILE.TSX in the TSX system directory.   The  size  of  the  page
  2450.       file is controlled by the PGFILSIZ sysgen parameter.
  2451.  
  2452.       The  maximum  virtual  memory  space  available  to  each program is
  2453.       controlled  by  the  MAXP0MEM  sysgen  parameter.   This   parameter
  2454.       specifies  the  size in 1k units and the default value is 8192 which
  2455.       corresponds to 8 MB.  If you run  programs  that  need  more  memory
  2456.       space  than  this  you  can  increase the MAXP0MEM parameter up to a
  2457.       maximum of 32768 which corresponds to 32 MB.  The value of  MAXP0MEM
  2458.       limits  the  total  memory  space  available  to  each  program  and
  2459.       includes both the  640Kb  low  memory  area  and  any  EMS  and  XMS
  2460.       (extended)   memory  used  by  the  program.   The  disadvantage  of
  2461.       assigning a very large number to MAXP0MEM is that some programs  use
  2462.       all  available  memory space.  With TSX's virtual memory system they
  2463.       will be allocated more memory than they actually need and  this  can
  2464.       result in excessive memory paging and poor performance.
  2465.  
  2466.       If  you  want  to allow a potentially large virtual memory space but
  2467.       limit the space to a smaller value for  a  particular  program,  you
  2468.       can  use  the  PMAN  command  to  install a program and set a MAXMEM
  2469.       value that is smaller than the global limit.   You  can  also  limit
  2470.       your  virtual  memory  space by use of the SET PROCESS command.  The
  2471.       form of this command is
  2472.  
  2473.            SET PROCESS/MAXMEM=value
  2474.  
  2475.       Where "value" is the total number of K-bytes of memory space  to  be
  2476.       made  available  to  the  program  (including  the  640Kb low memory
  2477.       region).  The maximum value specified may not exceed  the  value  of
  2478.       the MAXP0MEM sysgen parameter.
  2479.  
  2480.       Chapter 4. Running DOS Programs                                   38
  2481.  
  2482.  
  2483.       4.12 DPMI Support
  2484.  
  2485.       TSX  supports  version  0.9  of  the  DOS  Protected  Mode Interface
  2486.       standard  including  the  Microsoft  DOS  extensions.   DPMI  is  an
  2487.       industry  standard  that allows programs to run in a DOS environment
  2488.       and use both 16-bit and protected 32-bit modes  of  operation.   TSX
  2489.       serves  as  a  DPMI  "host"  and provides the INT 31 services.  DPMI
  2490.       support is a standard part of TSX and DPMI extenders do not have  to
  2491.       be loaded to run DPMI programs under TSX.
  2492.  
  2493.  
  2494.       4.13 Phar Lap Native System Services
  2495.  
  2496.       In  addition  to  DOS, BIOS, and DPMI support, TSX also provides two
  2497.       32-bit Application Program Interfaces (API).  The first of these  is
  2498.       compatible  with the services provided by the Phar Lap DOS extender.
  2499.       These are basically the DOS INT 21 services extended to  use  32-bit
  2500.       register  values and addresses.  The Phar Lap EXP executable program
  2501.       image structure is used by TSX executable programs.  These  programs
  2502.       run  in  protected  mode  and  access a 32-bit "flat" memory address
  2503.       space.  32-bit compilers and linkers  designed  for  use  with  Phar
  2504.       Lap,  such  as  MetaWare  High C, and NDP Fortran, also run with TSX
  2505.       and produce 32-bit EXP files that run  directly  under  TSX  without
  2506.       requiring any extender products.
  2507.  
  2508.       The  "native"  API  for  TSX  provides  a 32-bit flat memory address
  2509.       space and over 200 system services designed for the  development  of
  2510.       advanced   32-bit   applications.   These  system  services  provide
  2511.       functions   such   as   "forking"   subtasks,   performing   no-wait
  2512.       asynchronous  I/O,  facility  locking, process control, and advanced
  2513.       memory management.  The full TSX-32  product  also  includes  system
  2514.       services for real-time program control.
  2515.  
  2516.       Both  the  Phar  Lap and native TSX system service sets are provided
  2517.       in TSX-Lite.  The  native  system  services  are  described  in  the
  2518.       TSX-32  System  Services  manual.   See REGISTER.DOC for information
  2519.       about  ordering  the  Programmers  Kit  if  you  are  interested  in
  2520.       developing programs that use the TSX native system services.
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.                                    Chapter 5
  2528.  
  2529.                             The TSX Command Language
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.       5.1 Command Qualifiers
  2536.  
  2537.       TSX  is  a command-driven operating system.  System commands are, in
  2538.       many cases, actual programs that perform services for you.  In  some
  2539.       cases  a  "front-end" has been provided to simplify the use of these
  2540.       programs.
  2541.  
  2542.       In many cases, the names of TSX system  commands  are  the  same  as
  2543.       their  counterparts in the DOS world.  However, TSX commands usually
  2544.       have a rich supply of command "qualifiers" which extend their  power
  2545.       far  beyond DOS.  Qualifiers are keywords you may add to the command
  2546.       to fine-tune what it does.  You may add as many  qualifiers  as  you
  2547.       wish  to  a  command,  simply  separating  them with the slash ('/')
  2548.       character.
  2549.  
  2550.       For example, you are probably familiar  with  the  DOS  DIR  command
  2551.       which  displays information about the files on a disk.  In TSX there
  2552.       are (at last count) 45 qualifiers to the DIR command.   Here  are  a
  2553.       few examples:
  2554.  
  2555.         . All files sorted in name order:
  2556.  
  2557.                DIR/SORT=NAME
  2558.  
  2559.         . All files in date order, most recent first, names only:
  2560.  
  2561.                DIR/SORT=DATE/REVERSE/BRIEF
  2562.  
  2563.         . All files created since yesterday:
  2564.  
  2565.                DIR/SINCE=YESTERDAY
  2566.  
  2567.           All files created before January 1, 1993:
  2568.  
  2569.                DIR/BEFORE=1-JAN-1993
  2570.  
  2571.         . All files except those with the extension ".BAK":
  2572.  
  2573.                DIR/EXCLUDE=*.BAK
  2574.  
  2575.         . All files whose names begin with 'A' and end with 'X':
  2576.  
  2577.  
  2578.  
  2579.                                        39
  2580.  
  2581.       Chapter 5. The TSX Command Language                               40
  2582.  
  2583.  
  2584.                DIR A*X.*
  2585.  
  2586.  
  2587.       5.2 Wildcard Specifications
  2588.  
  2589.       TSX  provides  a  more  powerful form of wildcard file specification
  2590.       than DOS.  In addition to being  able  to  use  a  "*"  (match  any)
  2591.       wildcard  character  at the end of a file name, you can also use "*"
  2592.       characters within file names.  For example, the specification  "A*C"
  2593.       would  match  any file that begins with the letter 'A' and ends with
  2594.       the letter 'C'.  The pattern "*X" would match  any  file  that  ends
  2595.       with the letter 'X'.
  2596.  
  2597.       TSX   also  allows  you  to  use  wildcard  matching  characters  in
  2598.       directory names.  In addition, TSX allows you  to  use  the  special
  2599.       directory  specification "\...\" which means "and all subdirectories
  2600.       below this level." For example, the command
  2601.  
  2602.            DIR C:\...\*.*
  2603.  
  2604.       would list all files,  in  all  directories  on  the  C  disk.   The
  2605.       command
  2606.  
  2607.            SEARCH C:\WORK\...\*.C "Cappannari"
  2608.  
  2609.       would  search  for  the  string  "Cappannari"  in all files with the
  2610.       extension ".C" in the WORK directory and  all  subdirectories  below
  2611.       WORK.   The "\...\" construct is especially handy in operations like
  2612.       DIR, DELETE, COPY, SEARCH, and BACKUP.
  2613.  
  2614.  
  2615.       5.3 TSX Device Names
  2616.  
  2617.       Former DOS users are sometimes  confused  when  they  discover  that
  2618.       peripheral  devices do not always have the same names under TSX that
  2619.       they have under DOS.  This is  necessary  because  TSX  can  support
  2620.       many more devices than DOS.
  2621.  
  2622.       A  TSX  device name has the form 'ddcuuu' where 'dd' is a two letter
  2623.       device type, 'c' is a letter that designates  a  device  controller,
  2624.       or  physical  unit  in  the case of disk drives, and 'uuu' indicates
  2625.       the individual unit, or partition in the  case  of  disks.   If  the
  2626.       controller  letter  is  omitted,  it  defaults  to  'A'  (the  first
  2627.       controller); if the unit number is omitted, it defaults  to  0  (the
  2628.       first unit).
  2629.  
  2630.       The following is a table showing the various TSX device type names:
  2631.  
  2632.       Chapter 5. The TSX Command Language                               41
  2633.  
  2634.  
  2635.            Name              Device type
  2636.            ----  ---------------------------------------
  2637.             DF   Floppy disk (diskette)
  2638.             DH   Hard (fixed) disk
  2639.             DV   Virtual (RAM) disk
  2640.             LP   Printer on parallel port
  2641.             MB   Mailbox
  2642.             NL   "Null" device. (Like DOS NUL).
  2643.             TT   Terminal lines (console or COM ports).
  2644.  
  2645.       For  compatibility  with DOS, TSX also recognizes single-letter disk
  2646.       names such as 'A' and 'B' for floppies,  and  'C',  'D',  etc.   for
  2647.       fixed  disks.  For example, the primary fixed disk (drive 'C') has a
  2648.       TSX name of 'DHA0' but can also be addressed as  'C'.   The  console
  2649.       terminal  is  named  'TTA0',  the  serial port connected to COM 1 is
  2650.       'TTB0' and COM port 2 is 'TTC0'.  Device names MUST be  followed  by
  2651.       a  colon  or  they  will  be considered to be file names rather than
  2652.       device names.  For example, "NL:" is the null device and "NL"  is  a
  2653.       file named "NL".
  2654.  
  2655.       Spooled  printer  "queues" have names similar to device names.  This
  2656.       is explained in Chapter 8.3.
  2657.  
  2658.  
  2659.       5.4 Internal and External Commands
  2660.  
  2661.       The command processor for TSX is a program named  TSKMON.EXP.   Like
  2662.       COMMAND.COM  under  DOS,  TSKMON  processes many commands internally
  2663.       (such as SHOW SYSTEM) while other  commands  are  actually  programs
  2664.       that  get  run (such as DIR).  When you type a command, TSKMON first
  2665.       checks to see if it is an internal command.  If it's not, it  checks
  2666.       for  command procedures or programs with the specified name, so that
  2667.       if you type ARGLE, TSKMON searches for ARGLE.EXE, ARGLE.BAT, and  so
  2668.       forth.   To  be  precise,  a set of directories (first your current,
  2669.       then the system directory, then any  directories  specified  by  the
  2670.       search   path)  is  searched  in  order.   In  each  directory,  the
  2671.       following files would be looked for:
  2672.  
  2673.            ARGLE.CMD
  2674.            ARGLE.EXP
  2675.            ARGLE.COM
  2676.            ARGLE.EXE
  2677.            ARGLE.BAT
  2678.  
  2679.       For more information on the search path, see HELP PATH.
  2680.  
  2681.       If you are unsure what  command  TSKMON  is  actually  finding,  you
  2682.       could use the following sequence:
  2683.  
  2684.            SET LOG/FILE=X.LOG
  2685.            SET PROCESS/CMDTRACE
  2686.            ARGLE
  2687.            (TSKMON finds ARGLE)
  2688.            SET LOG/CLOSE
  2689.  
  2690.       Chapter 5. The TSX Command Language                               42
  2691.  
  2692.  
  2693.       The  SET  LOG  commands create a log file containing all output sent
  2694.       to  your  terminal  (this  is  an  example  of  the  many  debugging
  2695.       facilities  built  into  TSX  to help you analyze program behavior).
  2696.       The SET PROCESS/CMDTRACE command  tells  TSKMON  to  report  on  its
  2697.       efforts to find ARGLE.BAT, ARGLE.COM, etc.
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.                                    Chapter 6
  2705.  
  2706.                                 The System Menu
  2707.  
  2708.  
  2709.  
  2710.  
  2711.       TSX  comes with a menu shell which you can customize to create menus
  2712.       for yourself or  customers.   Your  TSX-Lite  system  comes  with  a
  2713.       couple  of  packaged  menus  as examples.  To access the main system
  2714.       menu, issue the command:
  2715.  
  2716.            TSXSHELL
  2717.  
  2718.       From the main menu, you can access several of  the  general  purpose
  2719.       full  screen utilities such as the help facility.  A full TSX system
  2720.       has an electronic mail option as well.
  2721.  
  2722.       A submenu for system management functions allows access to  programs
  2723.       which  customize your TSX installation.  We will describe the use of
  2724.       these programs in the chapter on system management.
  2725.  
  2726.       The TSXSHELL command invokes the  TSX  system  menu  driver  program
  2727.       called  SMD.   In  addition  to displaying TSX system menus, you can
  2728.       also use SMD to create your own menus.  The  file  SMD.DOC  contains
  2729.       instructions for creating custom menus.
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.                                        43
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.                                    Chapter 7
  2764.  
  2765.                            Symbols and Logical Names
  2766.  
  2767.  
  2768.  
  2769.  
  2770.       Symbols  and  logical  names  are  both types of shorthand notation.
  2771.       Symbols are used to define your own commands.  They  are  also  used
  2772.       for  control  purposes within command files.  Logical names are used
  2773.       to give shorthand names to devices and files.
  2774.  
  2775.  
  2776.       7.1 Defining Symbols with String Assignment Operators
  2777.  
  2778.       Using symbols you  can  define  your  own  commands.   Suppose,  for
  2779.       example,  in  moving  between  directories,  you often find yourself
  2780.       moving "up, over, and down" as in:
  2781.  
  2782.            CD ..\HERE
  2783.            CD ..\THERE
  2784.            CD ..\HERE
  2785.  
  2786.       You get tired of typing "CD ..\" and wish there was a command  "OT",
  2787.       standing  for  "Over  To",  that  did  the  same  thing.  The symbol
  2788.       assignment:
  2789.  
  2790.            OT:==CD ..\^
  2791.  
  2792.       would set up such a pseudocommand for you.  The ":==" is the  symbol
  2793.       assignment  operator  and the "^" substitutes the next word from the
  2794.       command you type, so that typing "OT THERE" is equivalent to  typing
  2795.       "CD ..\THERE".
  2796.  
  2797.       In  a multi-user environment like TSX, the system manager may decide
  2798.       to  define  some  symbols  that  apply  to  all  users,   and   some
  2799.       individuals  may  choose  to  define  their  own  symbols  and  even
  2800.       override the system-wide symbols.  To define a symbol that is to  be
  2801.       available  for  all  users use the ":===" operator (note three equal
  2802.       signs) and place the symbol definition command in your  LSTARTUP.CMD
  2803.       system-wide,  start-up  command  file.   For  example, the following
  2804.       command, when placed in LSTARTUP.CMD, will  define  a  SDIR  command
  2805.       that will produce directory listings sorted by name:
  2806.  
  2807.            SDIR:===DIR/ORDER=NAME ^
  2808.  
  2809.       If  a  user  defines  his  or  her  own  SDIR symbol using the ":=="
  2810.       operator, that symbol definition overrides  the  system-wide  symbol
  2811.       for  that  user;  it does not affect the symbol definition for other
  2812.       users.  Symbols defined using ":==" are discarded when you  log  off
  2813.  
  2814.  
  2815.                                        44
  2816.  
  2817.       Chapter 7. Symbols and Logical Names                              45
  2818.  
  2819.  
  2820.       (or  the  system  is  rebooted)  so  if  you wish to define a set of
  2821.       symbols for yourself you should put them in a command file that  can
  2822.       be  executed each time you log on.  Note: when you generate a system
  2823.       you can specify a start-up file  for  each  time-sharing  line.   An
  2824.       optional  TSX-Lite  Security Kit is available which includes a LOGON
  2825.       program to force users to enter a user name  and  password  to  gain
  2826.       access to the system.  See REGISTER.DOC for ordering information.
  2827.  
  2828.       There  is  also a ":=" operator.  This defines a local symbol within
  2829.       a command procedure.  The symbol overrides  the  definition  of  any
  2830.       user  or  system-wide symbols with the same name for the duration of
  2831.       the command procedure and then is deleted.  If the ":=" operator  is
  2832.       used outside of a command procedure it is equivalent to ":==".
  2833.  
  2834.  
  2835.       7.2 Defining Symbols with Numeric Assignment Operators
  2836.  
  2837.       The  ":=",  ":==",  and  ":==="  operators  are called string string
  2838.       assignment operators because they equate  the  symbol  name  on  the
  2839.       left  of  the  equal  sign(s) to the string on the right.  There are
  2840.       three similar operators, "=", "==", and "===" that  perform  numeric
  2841.       assignments.   These  operators function in a very similar manner to
  2842.       the string assignment operators except that they require  a  numeric
  2843.       expression  to be to the right of the equal sign.  They evaluate the
  2844.       numeric expression and assign the resulting numeric  string  to  the
  2845.       symbol.  For example, the command:
  2846.  
  2847.            COUNT = 2+3
  2848.  
  2849.       Evaluates  the  expression  "2+3"  and assigns the string "5" to the
  2850.       symbol COUNT.  The following command procedure would execute a  loop
  2851.       5  times  displaying the value of the COUNT symbol each time through
  2852.       the loop:
  2853.  
  2854.            COUNT = 1
  2855.            TOP:
  2856.            DISPLAY COUNT IS 'COUNT
  2857.            COUNT = COUNT+1
  2858.            IF COUNT <= 5 THEN GOTO TOP
  2859.  
  2860.       The apostrophe character  before  "COUNT"  in  the  DISPLAY  command
  2861.       cause  the  value  of  the  COUNT  symbol to be substituted into the
  2862.       string being displayed.
  2863.  
  2864.       In an analogous fashion to  the  symbol  assignment  operators,  "="
  2865.       defines  a  local  symbol  for a command file, "==" defines a symbol
  2866.       for the current user only, and "===" defines a system-wide symbol.
  2867.  
  2868.  
  2869.       7.3 ASSIGN Command and Logical Device Names
  2870.  
  2871.       A different method can be used to  establish  a  shorthand  notation
  2872.       for  a  device,  directory,  and  file  specification.  This is done
  2873.       using the ASSIGN command to  define  a  logical  device  name.   For
  2874.       example, after executing the command:
  2875.  
  2876.       Chapter 7. Symbols and Logical Names                              46
  2877.  
  2878.  
  2879.            ASSIGN C:\XBDRV\C_DRV\BIN\ X
  2880.  
  2881.       You  have  defined  a logical device name "X" which is equivalent to
  2882.       "C:\XBDRV\C_DRV\BIN\".  You could issue commands like:
  2883.  
  2884.            DIR X:
  2885.            COPY DATA.DAT X:
  2886.            RUN X:APOS
  2887.  
  2888.       in which case TSX replaces "X:" by "C:\XBDRV\C_DRV\BIN\".   This  is
  2889.       much easier than typing:
  2890.  
  2891.            DIR C:\XBDRV\C_DRV\BIN\
  2892.            COPY DATA.DAT C:\XBDRV\C_DRV\BIN\
  2893.            RUN C:\XBDRV\C_DRV\BIN\APOS
  2894.  
  2895.       In  this example, X: is said to be a "logical name" which equates to
  2896.       a physical device  and  directory  specification.   There  are  many
  2897.       advantages  to  the  logical name facility, as we shall begin to see
  2898.       when we discuss printing.
  2899.  
  2900.       Frequently, single letter logical names like "X:" are  used  because
  2901.       some  DOS programs only accept a single character as a drive letter.
  2902.       However, TSX allows you to define logical names that are  up  to  16
  2903.       characters  long.   The logical name "SY:" is assigned by the system
  2904.       to point to the TSX system directory (typically, \TSX32SYS).
  2905.  
  2906.       If you wish to define logical names that apply  to  all  users,  you
  2907.       can  use  the  "/SYSTEM" qualifier with the ASSIGN command and place
  2908.       the commands  in  the  LSTARTUP.CMD  system-wide,  start-up  command
  2909.       file.    For   example,   the  following  command,  when  placed  in
  2910.       LSTARTUP.CMD, will define the logical device name  "TEMP:"  for  all
  2911.       users:
  2912.  
  2913.            ASSIGN/SYSTEM C:\WORK\ TEMP
  2914.  
  2915.       Note  that  TSX logical names can specify not only a particular disk
  2916.       but a directory and  even  a  particular  file  on  the  disk.   For
  2917.       example,  the following command associates the logical name WORKFILE
  2918.       with the a particular file:
  2919.  
  2920.            ASSIGN C:\WORK\TEMP1.DAT WORKFILE
  2921.  
  2922.       Having done this, the command
  2923.  
  2924.            COPY ABC.DEF WORKFILE:
  2925.  
  2926.       will cause the  contents  of  the  file  ABC.DEF  to  be  copied  to
  2927.       C:\WORK\TEMP1.DAT.
  2928.  
  2929.       You  can  also use logical device assignments to associate a logical
  2930.       device name with a device other than a disk file.  For example,  the
  2931.       following  command  assigns the logical name LPT1 to a spooled print
  2932.       queue named PRINT:
  2933.  
  2934.       Chapter 7. Symbols and Logical Names                              47
  2935.  
  2936.  
  2937.            ASSIGN PRINT: LPT1
  2938.  
  2939.       See Section 8.2 for information about setting up print queues.
  2940.  
  2941.       In full TSX-32 with networking you can use  the  ASSIGN  command  to
  2942.       create  logical drive letters that access files on remote computers.
  2943.       For example, the following command defines a logical  device  letter
  2944.       'N'  and  associates  it  with  a disk on a networked computer whose
  2945.       node name is ADMIN:
  2946.  
  2947.            ASSIGN ADMIN::C: N
  2948.  
  2949.       More detail on  symbols  is  available  under  HELP  ASSIGNMENT  and
  2950.       there's help under ASSIGN for logical names.
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.                                    Chapter 8
  2958.  
  2959.                                     Printing
  2960.  
  2961.  
  2962.  
  2963.  
  2964.       The  TSX  queue management and spooling system is much more powerful
  2965.       than anything you have encountered using DOS.   In  fact,  it  is  a
  2966.       world  class system designed to manage large installations with many
  2967.       users accessing many printers.  We could easily  devote  a  document
  2968.       the  size  of the one you are reading to explaining all the features
  2969.       of printing system!
  2970.  
  2971.       Fortunately there are two pieces of good news.  First,  it's  simple
  2972.       to  do simple things.  As with all aspects of TSX, you can get going
  2973.       right away and slowly build your  knowledge  as  you  tackle  harder
  2974.       tasks.   Second,  there  is  a  helpful, friendly program named QMAN
  2975.       that you can use to set up  print  queues  and  manage  print  jobs.
  2976.       QMAN  has  extensive  on-line  help (press F1 at any point while you
  2977.       are running it to get context sensitive help).
  2978.  
  2979.  
  2980.       8.1 Spooler and Queue Manager
  2981.  
  2982.       At the heart of the printing system are  two  programs:  the  "Queue
  2983.       Manager"  (QUEMAN.EXP)  and the "Spooler" (SPOOLER.EXP).  They share
  2984.       responsibility for  managing  data  that  you  wish  to  print.   To
  2985.       understand  how  these  programs work you need to understand the two
  2986.       basic methods for printing data with TSX.
  2987.  
  2988.       The first method is called "explicit printing".  To use this  method
  2989.       issue  a  PRINT  command  to  print  a  file  that  has already been
  2990.       created.  The request to print the  file  is  passed  to  the  queue
  2991.       manager   which  holds  it  until  the  specified  printer  finishes
  2992.       printing any other file.  The queue manager than  issues  a  command
  2993.       to  the  spooler  to cause the spooler to copy data from the file to
  2994.       the  printer.   The  spooler  is  a   "detached   job"   that   runs
  2995.       independently  of  the  queue  manager  and  the job that issued the
  2996.       PRINT request so the queue manager and the original job can  perform
  2997.       other  tasks  while  the  file  is being printed by the spooler (the
  2998.       spooler can drive more than one printer at once).
  2999.  
  3000.       The second method  is  called  "implicit  printing".   To  use  this
  3001.       method  you  simply  write  data destined for a printer to a logical
  3002.       device name associated with a print queue.  The data is diverted  to
  3003.       the  spooler  program which stores it in a temporary TSX system file
  3004.       until the printer becomes available.  It then  copies  the  data  to
  3005.       the  printer  at  the rate that the printer can accept it.  If there
  3006.       is adequate space in the temporary file, the program generating  the
  3007.  
  3008.  
  3009.                                        48
  3010.  
  3011.       Chapter 8. Printing                                               49
  3012.  
  3013.  
  3014.       data  to  be  printed  can execute very quickly (since it is writing
  3015.       its output to disk) and exit before the printing  is  finished.   If
  3016.       the  spooler  temporary  file  fills  up, the program generating the
  3017.       data is suspended until the printer can  accept  data  and  free  up
  3018.       space  in  the  temporary  file.   Implicit  printing  is convenient
  3019.       because programs can write to  printers  without  having  to  create
  3020.       print files that need to be cleaned up later.
  3021.  
  3022.       As  mentioned  earlier,  the  queue manager (QUEMAN.EXP) and spooler
  3023.       (SPOOLER.EXP) programs run as  detached  jobs  which  start  running
  3024.       each  time  TSX  is initiated.  Try using the SHOW SYSTEM command to
  3025.       see that the spooler and queue manager are running.
  3026.  
  3027.       The spooler  can  simultaneously  accept  printer  output  from  any
  3028.       number  of  programs  and  ensure that each report waits its turn to
  3029.       print.   Multiple  printers  are   supported,   including   parallel
  3030.       printers,  serial  printers,  printers attached to serial terminals,
  3031.       and TSXTERM printers (TSXTERM is our terminal  emulator  to  turn  a
  3032.       DOS  PC  into  a  TSX workstation -- see Chapter 11 starting on page
  3033.       71).  The spooler usually leaves program output  untouched,  but  it
  3034.       can  insert  form  feeds to eject paper, generate header and trailer
  3035.       pages, handle margins, and so on.
  3036.  
  3037.       In addition to managing  print  jobs,  the  queue  manager  is  also
  3038.       responsible   for   overseeing   background  batch  jobs.   This  is
  3039.       explained in Section 9.3 starting on page 54.
  3040.  
  3041.       The printing system uses print "queues" (lists  of  print  jobs)  to
  3042.       ensure  orderly  printing  and direct program output to a particular
  3043.       printer.  Queues have associated "forms" which control the  form  of
  3044.       output  and "stocks" which tell TSX what type of paper is mounted in
  3045.       the printer.
  3046.  
  3047.  
  3048.       8.2 Setting Up the Printer Queues
  3049.  
  3050.       If you have a parallel printer you are in  good  shape  because  TSX
  3051.       automatically  creates  a default queue named "PRINT" and associates
  3052.       it with the printer connected to your parallel port  number  1  (TSX
  3053.       device name LPA0:).
  3054.  
  3055.       If  you  have  a  serial  printer  you  can  use the QMAN program to
  3056.       quickly modify the PRINT queue to direct it to a  serial  port.   To
  3057.       do  this,  type  "QMAN"  to start the program.  QMAN starts out in a
  3058.       browse screen showing the available queues.   One  should  be  named
  3059.       PRINT,  with  associated  device  LPA0:.   You  can alter the device
  3060.       associated with the queue by typing "M" for Modify.   A  data  entry
  3061.       screen  is  presented  which allows you to modify various aspects of
  3062.       the queue.  The device name is listed first.   Position  the  cursor
  3063.       to  this  field  and  enter  device  name  TTB0:  if  the printer is
  3064.       connected to the first COM port or TTC0:  if  it  connected  to  the
  3065.       second  COM  port.  Press ESC to exit the data entry screen, and ESC
  3066.       again to exit QMAN.
  3067.  
  3068.       Chapter 8. Printing                                               50
  3069.  
  3070.  
  3071.       We should mention at this  point  that  context  sensitive  help  is
  3072.       available  in  all  data  entry fields of QMAN (as well as the other
  3073.       full screen utilities like TSGEN) by pressing the F1 key.
  3074.  
  3075.       If your system has no parallel port at all, but does have  a  serial
  3076.       printer,  no  PRINT  queue  will  exist.   Instead of typing "M" for
  3077.       modify, type "C" to create the queue; the same data entry screen  is
  3078.       used  for  both operations, except that one extra menu specifies the
  3079.       queue type (select "Base queue").
  3080.  
  3081.       Now that we have the queue named PRINT associated  with  the  device
  3082.       to  which  your  printer  is  attached,  we  will  print a test file
  3083.       (\AUTOEXEC.BAT is on everybody's machine so we'll  use  that).   The
  3084.       command to print the file is:
  3085.  
  3086.            PRINT \AUTOEXEC.BAT
  3087.  
  3088.       If  you  have  two  or  more printers you will need to set up queues
  3089.       with distinct names.  To create a new print  queue  start  QMAN  and
  3090.       type  'C'  for create.  Then select the "Base print queue" menu item
  3091.       which will cause a data entry screen to be displayed.  The only  two
  3092.       items  that  you  must fill in are the queue name (the first item on
  3093.       the screen) and the associated device name (the second  item).   For
  3094.       example,  to  create  a  queue  named  EPSON and associate it with a
  3095.       printer attached to TTC0:, you would  specify  EPSON  as  the  queue
  3096.       name  and  TTC0:  as the device name (don't forget to put a colon at
  3097.       the end of the device name).  TSX supports any  number  of  printers
  3098.       connected to a combination of parallel and serial ports.
  3099.  
  3100.       If  you  have  more  than  one print queue you must have some way to
  3101.       designate  which  queue  printed  output  is  to  be  directed   to.
  3102.       Suppose,  for  example, that your primary print queue named PRINT is
  3103.       connected to the parallel printer and a secondary queue named  EPSON
  3104.       is  connected  to  a  serial  port  printer.   By default, the PRINT
  3105.       command sends output to the PRINT queue.  If you want to direct  the
  3106.       output  to  a  different  queue, use the /QUEUE=name qualifier.  For
  3107.       example,  the  following  command  prints  a  file  on  the  printer
  3108.       associated with the EPSON queue:
  3109.  
  3110.            PRINT/QUEUE=EPSON \AUTOEXEC.BAT
  3111.  
  3112.       The  following  command  would  cause  output written by programs to
  3113.       device LPT2 to be directed to the EPSON queue:
  3114.  
  3115.            ASSIGN EPSON: LPT2
  3116.  
  3117.       See Chapter 7 for additional information about  the  ASSIGN  command
  3118.       and logical device names.
  3119.  
  3120.  
  3121.       8.3 Printing from DOS Programs
  3122.  
  3123.       Most  DOS  programs that provide printed output allow you to specify
  3124.       the DOS device to which the  output  is  to  be  directed.   Usually
  3125.       names  such  as  LPT1  and LPT2 are two of the choices.  By default,
  3126.  
  3127.       Chapter 8. Printing                                               51
  3128.  
  3129.  
  3130.       TSX associates the DOS device name LPT1 with the queue named  PRINT.
  3131.       So  if  you  can  select  LPT1 for printer output and define a PRINT
  3132.       queue, the program should be able to write  spooled  output  to  the
  3133.       printer without further intervention.
  3134.  
  3135.       Some  DOS programs allow you to specify an arbitrary device name for
  3136.       the printer.  In this case, the best  thing  to  do  is  to  specify
  3137.       "PRINT:"  (or  some  other  TSX queue name) as the print device.  If
  3138.       you do not have the choice of specifying an arbitrary  device  name,
  3139.       you  can use a TSX ASSIGN command to associate the logical name LPT1
  3140.       with any queue you  choose.   For  example,  the  following  command
  3141.       would  cause  output written to LPT1 to be directed to a queue named
  3142.       EPSON:
  3143.  
  3144.            ASSIGN EPSON: LPT1
  3145.  
  3146.       If you wish to place this command  in  your  LSTARTUP.CMD  file,  be
  3147.       sure   to  specify  "/SYSTEM"  after  ASSIGN.   See  Chapter  7  for
  3148.       additional information about the ASSIGN command and  logical  device
  3149.       names.
  3150.  
  3151.  
  3152.       8.4 Terminal Printers
  3153.  
  3154.       In   addition  to  supporting  printers  attached  directly  to  the
  3155.       computer through  serial  and  parallel  ports,  TSX  also  supports
  3156.       printers  attached  to the auxiliary printer ports of terminals used
  3157.       as workstations  to  TSX.   This  is  convenient  in  that  you  can
  3158.       configure  a  TSX  workstation, complete with a printer, and connect
  3159.       it to the TSX system using a single  serial  cable.   This  type  of
  3160.       arrangement  is  ideal  for  point-of-sale  terminals.   The TSXTERM
  3161.       program, that  turns  a  PC  into  TSX  workstation,  also  supports
  3162.       terminal  printers  (see Chapter 11 for additional information about
  3163.       TSXTERM).
  3164.  
  3165.       TSX provides  unequaled  support  for  attached  terminal  printers.
  3166.       Programs  can  directly  access  the  printer or use a spooled print
  3167.       queue.  Furthermore, TSX allows you  to  use  the  terminal  to  run
  3168.       programs  and  display  data  at  the  same  time  that the terminal
  3169.       printer is being used.  One user can  even  print  data  on  another
  3170.       user's terminal printer.
  3171.  
  3172.       To  tell  TSX  that you have a printer attached to the terminal, you
  3173.       can issue the command:
  3174.  
  3175.            SET TERM/PRINTER
  3176.  
  3177.       This command only remains in effect until you  log  off  or  TSX  is
  3178.       restarted.   If you want to permanently notify TSX that the terminal
  3179.       has an attached printer use TSGEN and set  the  "PRINTER"  attribute
  3180.       for the appropriate serial line to 1.
  3181.  
  3182.       When  you  notify  TSX  that a terminal has an attached printer, TSX
  3183.       creates a device whose  name  matches  the  name  of  the  terminal,
  3184.       except  that the the first two characters are TP instead of TT.  For
  3185.  
  3186.       Chapter 8. Printing                                               52
  3187.  
  3188.  
  3189.       example, if the terminal  attached  to  serial  port  TTB0:  has  an
  3190.       attached  printer, the device name of the printer is TPB0:.  You can
  3191.       then use the printer device name (TPB0:  in  this  example)  as  you
  3192.       would  use  any  other  device  name.   For  example,  the following
  3193.       command would cause output written to LPT1 to be directed to TPB0:
  3194.  
  3195.            ASSIGN TPB0: LPT1
  3196.  
  3197.       You can also create a spooled print queue  to  manage  output  to  a
  3198.       terminal  printer.   To  do  this follow the same steps described in
  3199.       Section 8.2 to create a queue and specify the terminal printer  name
  3200.       as the output device.
  3201.  
  3202.  
  3203.       8.5 Advanced Features
  3204.  
  3205.       The  TSX  printing  system  has  many  additional  features that are
  3206.       beyond the scope of  this  manual.   For  example,  you  can  define
  3207.       "forms"  that  have  attributes  such as margin sizes, page headers,
  3208.       and paper stock type.  The TSX spooling  system  automatically  will
  3209.       hold print requests until the specified paper stock is mounted.
  3210.  
  3211.       You  can  also  define  "logical"  print  queues that feed into base
  3212.       queues.  Using logical queues  you  can  set  up  the  TSX  printing
  3213.       system  so  that  there is a pool of printers and print jobs will be
  3214.       printed on the first printer that becomes available.
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.                                    Chapter 9
  3222.  
  3223.                         Command Procedures (Batch Files)
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.       9.1 Introduction
  3230.  
  3231.       Anybody who  has  configured  an  environment  for  a  PC  involving
  3232.       multiple  programs  and  databases  has  employed ".BAT" files.  TSX
  3233.       supports these DOS command  procedures,  and  additionally  supports
  3234.       advanced  native  command  procedures  which take the form of ".CMD"
  3235.       files.  This chapter reviews features which  make  the  TSX  command
  3236.       file processor flexible and programmable.
  3237.  
  3238.       Remember,   BAT  files  and  CMD  files  are  basically  text  files
  3239.       containing collections of commands, just like the commands you  type
  3240.       at  the  prompt.   You  can  test  out  commands interactively, then
  3241.       incorporate them into command procedures  once  you  understand  how
  3242.       they work.
  3243.  
  3244.  
  3245.       9.2 Invoking Command Procedures
  3246.  
  3247.       Invoking   a   command   procedure   from   the  prompt  is  usually
  3248.       accomplished simply by typing the name of the command procedure.
  3249.  
  3250.       There are a couple of ways  you  can  get  into  trouble  by  simply
  3251.       typing  a  name, then having TSKMON go out and find the command file
  3252.       or program you specified.  First,  suppose  you  have  command  file
  3253.       ARGLE.CMD,  which makes logical name assignments, copies files, then
  3254.       runs program ARGLE.EXE.  You can get that  command  procedure  going
  3255.       by  typing  ARGLE since TSKMON looks for ARGLE.CMD before ARGLE.EXE.
  3256.       But the command procedure can't simply have an ARGLE command  within
  3257.       it, to run ARGLE.EXE because it will end up invoking itself!
  3258.  
  3259.       The  way  around  this  problem  is  to  use  the RUN command, which
  3260.       explicitly tells TSX to run the program ARGLE.  The  entire  command
  3261.       procedure might read:
  3262.  
  3263.            COPY SY:IN.DAT DATA.NEW
  3264.            ASSIGN DATA.NEW IN:
  3265.            RUN ARGLE
  3266.  
  3267.       If  you  have  multiple program files named ARGLE, such as ARGLE.COM
  3268.       and ARGLE.EXE, you can specify the extension on the RUN command.
  3269.  
  3270.  
  3271.  
  3272.  
  3273.                                        53
  3274.  
  3275.       Chapter 9. Command Procedures (Batch Files)                       54
  3276.  
  3277.  
  3278.       Another sort of problem you can get into  with  simple  commands  is
  3279.       conflict  with  internal  commands.   Suppose  you  have  a  command
  3280.       procedure named SET.CMD:
  3281.  
  3282.            ASSIGN SET.LST OUTPUT:
  3283.            RUN SETRPT
  3284.  
  3285.       You can't invoke this procedure by typing SET, even if there are  no
  3286.       other  files  named  SET!  That's because SET is an internal command
  3287.       recognized by TSKMON.  Just typing SET will do the same thing  under
  3288.       TSX  as  it  does  under DOS: provide you with a list of environment
  3289.       variables.  Just as you can explicitly use the RUN  verb  to  run  a
  3290.       program,  you  can  use the "@" character to force TSKMON to realize
  3291.       you are invoking a command procedure:
  3292.  
  3293.            @SET
  3294.  
  3295.       Again, if you have SET.BAT  and  SET.CMD,  you  should  specify  the
  3296.       extension to avoid any possible confusion.
  3297.  
  3298.       Command  procedures  can  be  called from within command procedures.
  3299.       The  EXIT  command  is  used  to  return  to  the  calling   command
  3300.       procedure.
  3301.  
  3302.       Parameters  can  be  passed to command procedures by specifying them
  3303.       as separate words on the  command  line.   Parameters  are  assigned
  3304.       symbol  names  P1  through P8 (P0 is the name of the current command
  3305.       procedure itself).
  3306.  
  3307.       Command procedures can also get run in a  different  subprocess,  as
  3308.       if  you  had  switched to another window and executed them, with the
  3309.       SUBPROCESS command.  Finally, developers with full  TSX-32  licenses
  3310.       have  access  to  system services that can invoke command procedures
  3311.       from within programs.
  3312.  
  3313.  
  3314.       9.3 Background Batch Jobs
  3315.  
  3316.       One of the nice things about a multi-tasking operating  system  like
  3317.       TSX  is  that it can run more than one job at once.  This feature is
  3318.       especially useful when combined with batch  files  because  you  can
  3319.       execute  batch  files  as "background jobs".  A background batch job
  3320.       executes commands from a batch file that is  not  connected  to  any
  3321.       terminal.   The  listing  of  the  batch file that would normally be
  3322.       displayed at a terminal is instead written to a log  file  that  has
  3323.       the same name as the batch file but the extension ".LOG".
  3324.  
  3325.       The  BATCH command is used to initiate a batch job.  For example, if
  3326.       you had created a batch file  named  WORK.CMD  the  following  would
  3327.       start its execution as a background batch job:
  3328.  
  3329.            BATCH WORK
  3330.  
  3331.       If  you do not specify an extension with the file name for the BATCH
  3332.       command, TSX first looks for a file with the  extension  ".CMD"  and
  3333.  
  3334.       Chapter 9. Command Procedures (Batch Files)                       55
  3335.  
  3336.  
  3337.       if  no  such  file  exists  it  then tries to open the file with the
  3338.       extension ".BAT".
  3339.  
  3340.       When you issue a BATCH command  the  designated  batch  file  begins
  3341.       execution.   You  can  run  other programs or queue additional batch
  3342.       jobs while the batch job is running.  To  check  on  the  status  of
  3343.       executing  and  pending  batch  jobs  use  the BATCH command without
  3344.       specifying a file name.  For example, the  following  command  would
  3345.       display a list of all pending and executing batch jobs:
  3346.  
  3347.            BATCH
  3348.  
  3349.       By  default  TSX  does not notify you that a batch job has finished.
  3350.       However, you can request that  a  notification  message  printed  by
  3351.       using the "/NOTIFY" qualifier with the batch command.  For example,
  3352.  
  3353.            BATCH/NOTIFY WORK
  3354.  
  3355.       If  you  would  like  to have notification turned on by default, use
  3356.       QMAN to modify the BATCH queue (select  the  BATCH  queue  and  type
  3357.       'M') and specify 'Y' for the NOTIFY attribute of the queue.
  3358.  
  3359.       Screen  output  from  programs running as batch jobs is written to a
  3360.       file with the same name as  the  batch  command  file  but  with  an
  3361.       extension  of ".LOG".  You can specify a different name by using the
  3362.       "/LOGFILE=file" qualifier with the BATCH command.
  3363.  
  3364.       If you are submitting a long running batch job you may wish to  have
  3365.       it  execute  at  a  lower priority than interactive programs.  To do
  3366.       this, use the "/RUNPRIORITY=value" qualifier on the  BATCH  command.
  3367.       The  priority  value may be in the range 1 to 127 with higher values
  3368.       taking priority over  lower  values.   The  normal  interactive  job
  3369.       priority  is determined by the PRIDEF sysgen parameter whose default
  3370.       value is 50.  You can also use QMAN to  set  the  default  execution
  3371.       priority  for  jobs  submitted  to a batch queue.  To do this, start
  3372.       QMAN, select the batch queue, type "M" for Modify, and set  a  value
  3373.       for the RUNPRIORITY parameter.
  3374.  
  3375.  
  3376.       9.4 Branching: Labels and GOTO
  3377.  
  3378.       Like  BAT  files, CMD files support labels, but the preferred syntax
  3379.       is a  little  different.   In  TSX,  the  label  name  comes  first,
  3380.       followed  by  the colon (the way it is specified in most programming
  3381.       languages).  You transfer control to a label with the GOTO  command.
  3382.       Labels don't have to be the only thing on a line:
  3383.  
  3384.            TOP:ECHO WE ARE AT THE TOP
  3385.            RUN PROG1
  3386.            GOTO TOP
  3387.  
  3388.       Chapter 9. Command Procedures (Batch Files)                       56
  3389.  
  3390.  
  3391.       9.5 Symbols and Operators
  3392.  
  3393.       The  symbol  facility  described  previously  is used extensively in
  3394.       command procedures.  For example the INQUIRE command reads  keyboard
  3395.       input  and  creates  the  symbol  named.   You  can  use  the symbol
  3396.       substitution operator, apostrophe, to substitute a  symbol  for  its
  3397.       value in any command line.  For example:
  3398.  
  3399.            INQUIRE SYMA "Give me a word"
  3400.            DISPLAY SYMA is equal to 'SYMA'
  3401.  
  3402.       TSX  supports  numeric  symbols  as  well as string symbols.  The IF
  3403.       command has a complete set of operators to deal with both  types  of
  3404.       symbols.   You  can  also  use  numeric  operators in numeric symbol
  3405.       assignments:
  3406.  
  3407.            IF 'FILE' .EQS. "DATA.OUT" THEN PRINT 'FILE'
  3408.            COUNTER = 'COUNTER' + 1
  3409.            DISPLAY 'COUNTER'
  3410.  
  3411.       More information can be found under HELP IF and HELP Assignment.
  3412.  
  3413.  
  3414.       9.6 Conditionals: IF
  3415.  
  3416.       Commands can be conditionally executed by using the IF command.   An
  3417.       example:
  3418.  
  3419.            IF FILE .NES. "JUNK.DAT" THEN PRINT 'FILE'
  3420.  
  3421.       You  can combine the IF and GOTO constructs to conditionally execute
  3422.       entire sections of commands:
  3423.  
  3424.            IF LETTER .EQS. "A" THEN GOTO ADD
  3425.            IF LETTER .EQS. "E" THEN GOTO EXIT
  3426.            ECHO Invalid response, aborting.
  3427.            EXIT
  3428.  
  3429.            ADD:
  3430.              RUN ADD
  3431.              PRINT ADD.OUT
  3432.              EXIT
  3433.            EXIT:
  3434.              ECHO Goodbye
  3435.              EXIT
  3436.  
  3437.  
  3438.       9.7 User Interaction: DISPLAY and INQUIRE
  3439.  
  3440.       The DISPLAY command can be used to  display  strings  to  the  user.
  3441.       ECHO is a synonym for DISPLAY.
  3442.  
  3443.       INQUIRE  is  used  to get keyboard input from the user.  The command
  3444.       procedure shown above must have made use of INQUIRE  to  define  the
  3445.       symbol LETTER:
  3446.  
  3447.       Chapter 9. Command Procedures (Batch Files)                       57
  3448.  
  3449.  
  3450.            TOP:
  3451.            INQUIRE LETTER Enter E for EXIT, A for ADD:
  3452.            IF LETTER .EQS. "A" THEN GOTO ADD
  3453.            IF LETTER .EQS. "E" THEN GOTO EXIT
  3454.             .
  3455.             .
  3456.             .
  3457.  
  3458.  
  3459.       9.8 Seeing Commands
  3460.  
  3461.       The  VERIFY  setting  for your job controls whether you see commands
  3462.       as they are executed or not.  The commands
  3463.  
  3464.            SET VERIFY
  3465.            SET NOVERIFY
  3466.  
  3467.       control the current verify setting.  The DOS style ECHO ON and  ECHO
  3468.       OFF are also supported.
  3469.  
  3470.  
  3471.       9.9 Expression Operators
  3472.  
  3473.       A  number  of  operators  are  available  for  use  in  the  command
  3474.       language.  In comparisons and logical  operations  the  value  1  is
  3475.       returned for true and 0 for false.
  3476.  
  3477.       9.9.1 Numeric Operators
  3478.  
  3479.              +   Addition           -   Subtraction
  3480.              *   Multiplication     /   Division
  3481.  
  3482.       9.9.2 String Operators
  3483.  
  3484.              string1 // string2   Concatenate string2 to string1
  3485.              string[start:end]    Substring from position 'start' to 'end'
  3486.  
  3487.       9.9.3 Numeric Comparison
  3488.  
  3489.              .EQ.   Equal                   .NE.   Not equal
  3490.              .LT.   Less than               .GT.   Greater than
  3491.              .LE.   Less than or equal      .GE.   Greater than or equal
  3492.  
  3493.       9.9.4 String Comparions
  3494.  
  3495.       The following string comparisons are not case sensitive
  3496.  
  3497.              .EQS.   Equal                   .NES.   Not equal
  3498.              .LTS.   Less than               .GTS.   Greater than
  3499.              .LES.   Less than or equal      .GES.   Greater than or equal
  3500.  
  3501.       Chapter 9. Command Procedures (Batch Files)                       58
  3502.  
  3503.  
  3504.       9.9.5 Logical Operators
  3505.  
  3506.              .AND.  Logical AND
  3507.              .OR.   Logical OR
  3508.              .NOT.  Logical negation
  3509.  
  3510.  
  3511.       9.10 Lexical Functions
  3512.  
  3513.       Lexical  functions  may  be used in commands to perform a variety of
  3514.       functions involving strings and files.  All lexical  function  names
  3515.       start  with  a  dollar sign and have parenthesis enclosing arguments
  3516.       to the function.  The following is a simple example  that  uses  the
  3517.       $DATE  function  to  insert  the  current  date  into a string being
  3518.       printed.
  3519.  
  3520.            DISPLAY The date is $DATE()
  3521.  
  3522.       Full documentation of lexical functions is available by typing  HELP
  3523.       LEXICAL.  The following is a summary list of the lexical functions.
  3524.  
  3525.       $CHAR(value)  --  Generates a single ASCII character whose character
  3526.           code value is equal to the numeric argument.
  3527.  
  3528.       $CLOSE(channel) -- Close the specified I/O channel.   Use  $OPEN  or
  3529.           $CREATE to open a channel.
  3530.  
  3531.       channel  =  $CREATE(filespec)  --  Create  a new file.  The returned
  3532.           value of the function is an I/O channel number that may be  used
  3533.           with $WRITE and $CLOSE functions.
  3534.  
  3535.       $CWD() -- Return the current working directory specification.
  3536.  
  3537.       $DATE([format])  --  Return  the current date in the form "month dd,
  3538.           yyyy".  The optional "format" string can be used to  obtain  the
  3539.           date  in  other  styles.  The following operators may be used in
  3540.           the format string:
  3541.  
  3542.                Date operator           Information returned
  3543.                -------------  ------------------------------------------
  3544.                    %a         The abbreviated weekday name (Sun)
  3545.                    %A         The full weekday name (Sunday)
  3546.                    %b         The abbreviated month name (Dec)
  3547.                    %B         The full month name (December)
  3548.                    %c         The date and time (Dec 02 06:55:19 1979)
  3549.                    %d         The day of the month (02)
  3550.                    %j         The day of the year (335)
  3551.                    %m         The month of the year (12)
  3552.                    %w         The weekday number, from 0 for Sunday (0)
  3553.                    %x         The date (Dec 02 1979)
  3554.                    %y         The year of the century (79)
  3555.                    %Y         The year (1979)
  3556.  
  3557.           The $DATE function will also process any of  the  time  oriented
  3558.           format operators supported by the $TIME lexical function.
  3559.  
  3560.       Chapter 9. Command Procedures (Batch Files)                       59
  3561.  
  3562.  
  3563.       $ELEMENT(index,delimiter,stringlist)  --  Extract  the  string whose
  3564.           occurrence number  is  specified  by  'index'  from  the  string
  3565.           specified  by 'stringlist'.  The 'delimiter' parameter specifies
  3566.           the character that separates occurrences of the string.
  3567.  
  3568.       $EVAL(expression) -- Evaluate the expression and return its result.
  3569.  
  3570.       $EXISTS(filespec) -- Return 1 (true) if the specified  file  exists;
  3571.           return 0 (false) if the file does not exist.
  3572.  
  3573.       $FILMRG(file1[,file2])  --  Merge  together  two file specifications
  3574.           replacing any missing portions of 'file1' by  the  corresponding
  3575.           portion from 'file2'.
  3576.  
  3577.       $FILPRS(filespec,item)  --  Parse  (decompose)  a file specification
  3578.           into its component parts.  The values that may be specified  for
  3579.           'item'  are  NODE  (network  node  name),  DEVICE (device name),
  3580.           DIRECTORY  (directory  specification),  NAME  (file  name),  and
  3581.           EXTENSION (file extension).
  3582.  
  3583.       $HEX(value)   --   Convert   a   numeric  value  to  its  equivalent
  3584.           hexadecimal representation in the form "0Xnnnn".
  3585.  
  3586.       $ICHAR(string) -- Return a numeric value corresponding to the  ASCII
  3587.           character code of the first character in 'string'.
  3588.  
  3589.       $INSERT(string1,string2,position)    --    Insert   'string2'   into
  3590.           'string1' in  front  of  the  character  position  specified  by
  3591.           'position'.
  3592.  
  3593.       $ISALNUM(string)  -- Return 1 if all of the characters in the string
  3594.           are letters or numbers; otherwise return 0.
  3595.  
  3596.       $ISALPHA(string) -- Returns 1  if  all  of  the  characters  in  the
  3597.           string  are  letters (either upper or lower case).  Otherwise it
  3598.           returns 0.
  3599.  
  3600.       $ISCNTRL(string) -- Returns 1  if  all  of  the  characters  in  the
  3601.           string  have ASCII character code values in the range 0 to 31 or
  3602.           255.  Otherwise it returns 0.
  3603.  
  3604.       $ISDEF(string) -- 'string' should be a quoted string.  The  function
  3605.           returns  1  if  a symbol with this name is defined; otherwise it
  3606.           returns 0.
  3607.  
  3608.       $ISDIGIT(string) -- Returns 1  if  all  of  the  characters  in  the
  3609.           string are digits.  Otherwise it returns 0.
  3610.  
  3611.       $ISGRAPH(string)  --  Returns  1  if  all  of  the characters in the
  3612.           string are printable characters other than space.  Otherwise  it
  3613.           returns 0.
  3614.  
  3615.       $ISLOWER(string)  --  Returns  1  if  all  of  the characters in the
  3616.           string are lower case letters.  Otherwise it returns 0.
  3617.  
  3618.       Chapter 9. Command Procedures (Batch Files)                       60
  3619.  
  3620.  
  3621.       $ISPRINT(string) -- Returns 1  if  all  of  the  characters  in  the
  3622.           string  are  printable characters including the space character.
  3623.           Otherwise it returns 0.
  3624.  
  3625.       $ISPUNCT(string) -- Returns 1  if  all  of  the  characters  in  the
  3626.           string  are  printable  characters other than space, letters, or
  3627.           digits.  Otherwise it returns 0.
  3628.  
  3629.       $ISSPACE(string) -- Returns 1  if  all  of  the  characters  in  the
  3630.           string  are  either  space, form feed, newline, carriage return,
  3631.           tab, or vertical tab.  Otherwise it returns 0.
  3632.  
  3633.       $ISUPPER(string) -- Returns 1  if  all  of  the  characters  in  the
  3634.           string are upper case letters.  Otherwise it returns 0.
  3635.  
  3636.       $ISXDIGIT(string)  --  Returns  1  if  all  of the characters in the
  3637.           string are valid hexadecimal digits.  Otherwise it returns 0.
  3638.  
  3639.       $JOBINFO(item[,jobnumber]) -- The $JOBINFO lexical function  returns
  3640.           information  about  a  TSX-32 job.  Say HELP LEXICAL for further
  3641.           information.
  3642.  
  3643.       $LENGTH(expression)  --  Determines  the  number  of  characters  in
  3644.           'expression'.
  3645.  
  3646.       $LOCATE(substr,expression)  --  Locates the starting position of the
  3647.           first occurrence of the 'substr' substring within 'expression'.
  3648.  
  3649.       $LOGICAL(name)  --  Translate  a  logical   device   name   to   the
  3650.           corresponding  physical  device  and  directory  to which it has
  3651.           been assigned.
  3652.  
  3653.       $MESSAGE(status) -- Return the status message  that  corresponds  to
  3654.           the TSX error status code specified by 'status'.
  3655.  
  3656.       $MOD(value1,value2) -- Computes 'value1' modulo 'value2'.
  3657.  
  3658.       channel  =  $OPEN(filespec) -- Opens an existing file and returns an
  3659.           I/O channel number as the result.  The  channel  number  can  be
  3660.           used  with  $READ and $CLOSE functions.  The value 0 is returned
  3661.           if the file cannot be opened and the $CMDSTATUS  symbol  is  set
  3662.           to the error code.  Use $CREATE to make a new file.
  3663.  
  3664.       $PRIVILEGE(privname[,mode])  --  Returns  1  if  the  user  has  the
  3665.           specified  privilege;  otherwise  returns  0.   The   'privname'
  3666.           argument  indicates  which privilege item is to be tested (e.g.,
  3667.           "BYPASS", "OPERATOR",  "TERMINAL",  "UP1",  etc.   --  the  SHOW
  3668.           PRIVILEGE  command  will list the keywords); The 'mode' argument
  3669.           may be "AUTHORIZED", "CURRENT", or "SET" with  "SET"  being  the
  3670.           default.   The  'privilege' and 'mode' values should be enclosed
  3671.           in quote signs if literal values are used  (rather  than  symbol
  3672.           substitutions).
  3673.  
  3674.       record  =  $READ(channel)  --  Read  the next record from a file and
  3675.           return the record as the result of the function.
  3676.  
  3677.       Chapter 9. Command Procedures (Batch Files)                       61
  3678.  
  3679.  
  3680.       $REPEAT(string,count) -- Replicate 'string' 'count' times.
  3681.  
  3682.       $SEEK(channel,position)  --  Set  the  current  record  pointer   to
  3683.           'position' on a specified channel.
  3684.  
  3685.       $SEV(status)  --  Accepts  an  error status code as its argument and
  3686.           returns a value indicating  the  severity  of  the  error.   The
  3687.           following   values   are   returned:   0=success   (no   error);
  3688.           1=information message; 2=warning; 3=error; 4=severe error.
  3689.  
  3690.       $STRCMP(string1,string2) -- Performs a case sensitive comparison  of
  3691.           'string1'  with 'string2' based on the ASCII collating sequence.
  3692.           The result of the function is  -1  if  'string1'  is  less  than
  3693.           'string2',  0  if  'string1'  is  equal  to  'string2', and 1 if
  3694.           'string1' is greater than 'string2'.
  3695.  
  3696.       $STRIP(str1,str2) -- Remove from  'str1'  all  characters  that  are
  3697.           found in 'str2'.
  3698.  
  3699.       $STRLWR(expression)  --  Convert  all upper case characters to lower
  3700.           case.
  3701.  
  3702.       $STRUPR(expression) -- Convert all lower case  characters  to  upper
  3703.           case.
  3704.  
  3705.       $SYSINFO(item)  -- Returns information about the TSX-32 system.  The
  3706.           item  argument  is  a  string  that  selects   which   item   of
  3707.           information  is  to  be returned.  Type HELP LEXICAL for further
  3708.           information
  3709.  
  3710.       $TIME([format]) -- Return the current time in the  form  "hh:mm:ss".
  3711.           The  optional 'format' string can be used to produce the time in
  3712.           a different format.  The following operators can be used in  the
  3713.           format:
  3714.  
  3715.                Time operator                Information returned
  3716.                -------------     -----------------------------------------
  3717.                    %c            the date and time (Dec 02 06:55:19 1979)
  3718.                    %H            the hour of the 24 hour day (06)
  3719.                    %I            the hour of the 12 hour day (06)
  3720.                    %M            the minutes after the hour (55)
  3721.                    %S            the seconds after the minute (15)
  3722.                    %X            the time (06:55:15)
  3723.                    %t            the thousands of a second (357)
  3724.  
  3725.       $TRANSLATE(str1,str2,str3)  -- Each character in 'str1' is examined.
  3726.           If it matches any character in 'str2' the  character  in  'str3'
  3727.           which  is  at  the  same  position in the string as the matching
  3728.           character in 'str2' is placed back into the string.
  3729.  
  3730.       $TRIM(string) -- Removes trailing spaces from the string.
  3731.  
  3732.       $USER() -- Returns the user name of the current job.
  3733.  
  3734.       Chapter 9. Command Procedures (Batch Files)                       62
  3735.  
  3736.  
  3737.       $VALIDATE(str1,str2) --  Returns  the  index  number  of  the  first
  3738.           character  in  'str1'  that  is  not  in  'str2'.  If all of the
  3739.           characters in 'str1' are  found  in  'str2',  0  (zero)  is  the
  3740.           result of the function.
  3741.  
  3742.       stream  =  $WLDBGN(filespec)  --  Initiate a wildcard file scan with
  3743.           'filespec' as the wildcard pattern and return a "stream"  number
  3744.           than can be used with $WLDNXT and $WLDEND functions.
  3745.  
  3746.       $WLDEND(stream)  --  Terminate  a  wildcard  operation  and free the
  3747.           stream.
  3748.  
  3749.       name = $WLDNXT(stream) -- Get the next file name  that  matches  the
  3750.           pattern  specified  by  the  $WLDBGN  function  that started the
  3751.           stream.  Null is returned if there are no more matching names.
  3752.  
  3753.       $WRITE(channel,string) -- Write 'string' to the channel opened to  a
  3754.           file.
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.                                    Chapter 10
  3762.  
  3763.                               Multiuser Computing
  3764.  
  3765.  
  3766.  
  3767.  
  3768.       TSX  makes  it possible for several users to share the same computer
  3769.       at the same time.  And, each user can control up to 10 sessions  and
  3770.       execute  background  batch  jobs.   In  this  chapter  we  introduce
  3771.       various  aspects  of  TSX-Lite  that  relate  specifically  to   its
  3772.       multi-user and multi-tasking support.
  3773.  
  3774.  
  3775.       10.1 Workstations
  3776.  
  3777.       A  minimal TSX workstation consists of a keyboard and display device
  3778.       that allows an individual to use the computer.  A variety  of  types
  3779.       are supported.
  3780.  
  3781.       Both  MDA  (monochrome)  and  VGA  (mono  and  color)  adapters  and
  3782.       monitors can be used.  TSX also supports the Tseng  4000  super  VGA
  3783.       modes.   Hercules  graphics  for MDA and all 16 regular VGA graphics
  3784.       modes are supported.  CGA graphic adapters are not supported by  TSX
  3785.       although the CGA graphic modes may be used with VGA adapters.
  3786.  
  3787.       The  most  common  type of serial terminal used by TSX is the PCTERM
  3788.       terminal such as the Wyse 60.  If you have  a  PCTERM  terminal  you
  3789.       must  specify the terminal type to TSGEN (described later) before it
  3790.       will  work.   PCTERM  terminals  have  25  line  screens,  PC  style
  3791.       keyboards,  and  send  make and break codes (the same hardware codes
  3792.       sent to the  system  by  the  console  keyboard)  instead  of  ASCII
  3793.       characters.   They  connect  to  the  computer  through serial lines
  3794.       (i.e., COM ports).
  3795.  
  3796.       A more powerful  variation  of  the  PCTERM  terminal  supported  by
  3797.       TSX-Lite  is  made by RelAmerica.  Advanced escape sequences, color,
  3798.       and  built-in  support  for  TSX-32  make  these  units  well  worth
  3799.       considering.
  3800.  
  3801.       TSX  supports  ANSI  standard  terminals (i.e., TERMTYPE=ANSI).  The
  3802.       "ANSI" TSX  terminal  type  is  a  subset  of  VT-100.   DEC  VT-100
  3803.       terminals  have  attributes  such  as  scrolling regions and graphic
  3804.       character sets that  are  not  implemented  by  most  ANSI  terminal
  3805.       emulators.   You should use the ANSI terminal type when running with
  3806.       ANSI terminals or emulator programs that do  not  provide  the  full
  3807.       VT-100 control sequence emulation.
  3808.  
  3809.  
  3810.  
  3811.  
  3812.  
  3813.                                        63
  3814.  
  3815.       Chapter 10. Multiuser Computing                                   64
  3816.  
  3817.  
  3818.       DEC  ANSI  terminals such as the DEC VT100, 200, 300, and 400 series
  3819.       are also supported by  TSX.   See  HELP  SET  TERMINAL  for  a  full
  3820.       listing of the terminal types supported.
  3821.  
  3822.       The  TSX-Lite  product  also includes TSXTERM, our terminal emulator
  3823.       for PC's running DOS.  See Chapter 11,  starting  on  page  71,  for
  3824.       additional information about TSXTERM.
  3825.  
  3826.       The  full TSX-32 system also supports multi-console adapters.  These
  3827.       are the fastest, most DOS compatible types of workstations, and  the
  3828.       only   way   to   do   multi-user   graphics   with  a  single  CPU.
  3829.       Multi-console adapters allow multiple VGA monitors to  be  connected
  3830.       to  the  same computer running TSX-32.  Using multi-console adapters
  3831.       it is possible to have  many  users  efficiently  running  text  and
  3832.       graphic applications on the same TSX-32 system.
  3833.  
  3834.       TSX-32  also  allows  users to log in over ethernet from another TSX
  3835.       network node, Telnet connections, additional foreign terminals,  and
  3836.       the ability to write custom foreign terminal handlers.
  3837.  
  3838.       For  multi-user  access  to  TSX-Lite  you will need to use a serial
  3839.       terminal or a PC running TSXTERM.  Connecting the terminal  to  your
  3840.       COM  port  is mostly a matter of cabling.  See Section 2.6, starting
  3841.       on page 13, for information about connecting a  serial  terminal  to
  3842.       TSX-Lite.
  3843.  
  3844.       Pressing  Enter  (or  Return) should initiate a job on the terminal.
  3845.       The user at the terminal  and  the  user  at  the  console  are  now
  3846.       sharing  the computer system.  Both can simultaneously run programs,
  3847.       manage files, print output, and so  forth.   Welcome  to  multi-user
  3848.       computing!   The  patented  scheduling  algorithm  in  TSX  makes it
  3849.       practical to support dozens of terminals on  a  single  386  or  486
  3850.       computer  system.   Compared  to  LAN  networks,  this  can  be more
  3851.       economical by orders of magnitude, and you can  access  the  compute
  3852.       remotely over phone lines.
  3853.  
  3854.  
  3855.       10.2 Commands for the Multiuser Environment
  3856.  
  3857.       10.2.1 BATCH Command
  3858.  
  3859.       The  BATCH command starts execution of background batch jobs.  These
  3860.       jobs run without terminal interaction and  are  excellent  for  long
  3861.       running  programs.   The  form of the command used to initiate a new
  3862.       job is:
  3863.  
  3864.            BATCH file_name
  3865.  
  3866.       Where "file_name" is the name of the  command  or  BAT  file  to  be
  3867.       executed.   For  example,  the following command starts execution of
  3868.       "POVRUN.BAT" as a batch job:
  3869.  
  3870.            BATCH POVRUN.BAT
  3871.  
  3872.       Chapter 10. Multiuser Computing                                   65
  3873.  
  3874.  
  3875.       If you do not specify an extension with the file name for the  BATCH
  3876.       command,  TSX  first  looks for a file with the extension ".CMD" and
  3877.       if no such file exists it then tries  to  open  the  file  with  the
  3878.       extension ".BAT".
  3879.  
  3880.       Typing   "BATCH"  without  specifying  a  file  name  causes  status
  3881.       information about running and pending batch jobs  to  be  displayed.
  3882.       You  can  use  the  "/NOTIFY"  qualifier  to  cause  a message to be
  3883.       displayed at your terminal when the batch job completes.   The  QMAN
  3884.       program  can  also  be  used to display information about batch jobs
  3885.       and/or set parameters for batch jobs and queues.   See  Section  9.3
  3886.       on page 54 for additional information about batch jobs.
  3887.  
  3888.       Screen  output  from  programs running as batch jobs is written to a
  3889.       file with the same name as  the  batch  command  file  but  with  an
  3890.       extension  of ".LOG".  You can specify a different name by using the
  3891.       "/LOGFILE=file" qualifier.
  3892.  
  3893.       10.2.2 SHOW Commands
  3894.  
  3895.       TSX has a number of "SHOW" commands  to  display  information  about
  3896.       the  status  of  the  system.   The SHOW SYSTEM command displays the
  3897.       active jobs on the system.  Each task you control from the  console,
  3898.       and  each task the user at the COM port controls, is a separate job.
  3899.       Detached jobs such as the spooler and queue manager  are  also  jobs
  3900.       as  are  background  batch  jobs you submit.  Other commands you may
  3901.       want to try are JMAN, TMAN, SHOW USE, SHOW CACHE, SHOW  PAGING,  and
  3902.       SHOW MEMORY.
  3903.  
  3904.       10.2.3 STOP Command
  3905.  
  3906.       Normally  jobs initiate login by pressing Enter and log off with the
  3907.       LOGOFF (or OFF, or BYE) command.  However, you  can  "kill"  another
  3908.       job with a command exemplified by:
  3909.  
  3910.            STOP/ID=23
  3911.  
  3912.       The  actual  id value of the job is displayed by SHOW SYSTEM.  There
  3913.       are variants of the STOP command; see HELP STOP  for  details.   You
  3914.       can  also use the JMAN command to display a list of the current jobs
  3915.       and to stop jobs.
  3916.  
  3917.       10.2.4 SEND Command
  3918.  
  3919.       You can send a message to a user  on  another  line  with  the  SEND
  3920.       command.  An example:
  3921.  
  3922.            SEND/TERM=TTB0: "Hey, who are you using my modem?"
  3923.  
  3924.       Again, variants of the command are available; see HELP SEND.
  3925.  
  3926.       Chapter 10. Multiuser Computing                                   66
  3927.  
  3928.  
  3929.       10.2.5 PHONE Command
  3930.  
  3931.       If  you  wish  to  carry on an interactive conversation with another
  3932.       TSX user, you can call them by using the PHONE  command.   The  form
  3933.       of this command is:
  3934.  
  3935.            PHONE terminal_name
  3936.  
  3937.       where  you  should substitute an actual terminal device name such as
  3938.       TTB0 for terminal_name.  When you PHONE another user  a  message  is
  3939.       displayed  at  the  other user's terminal saying that they are being
  3940.       phoned.  The other user answers the phone call by typing "PHONE"  as
  3941.       a  command  without  specifying  a  terminal_name.   Either user can
  3942.       terminate the phone connection by pressing control-backslash.
  3943.  
  3944.       10.2.6 TUTOR Command
  3945.  
  3946.       Application developers and VARS who are contemplating using  TSX  as
  3947.       an  application  platform  will be pleased by the remote support and
  3948.       diagnosis capabilities of the TUTOR command.  TUTOR  allows  a  user
  3949.       to  "tutor" another terminal.  This synchronizes the two screens and
  3950.       keyboards so that you can see what  your  software  is  doing,  bail
  3951.       users  out  of tight spots, guide customers through the application,
  3952.       and so forth.  Any time  sharing  line  can  TUTOR  any  other  time
  3953.       sharing  line.   You  can  dial  into  a remote system and TUTOR the
  3954.       console from a modem  connected  to  a  TSXTERM  terminal,  tutor  a
  3955.       hardwired  VT100  from  a  hardwired  PCTERM terminal, and so forth.
  3956.       Multiple TUTOR connections  can  be  established  to  allow  you  to
  3957.       conduct  a  class  with  all  student  screens  synchronized  to the
  3958.       teacher.  To tutor another line, use the command
  3959.  
  3960.            TUTOR terminal_name
  3961.  
  3962.       where you should substitute an actual terminal device name  such  as
  3963.       TTB0  for  terminal_name.   Type  control-backslash to terminate the
  3964.       tutor session.
  3965.  
  3966.  
  3967.       10.3 Virtual Memory
  3968.  
  3969.       TSX is a full virtual memory, demand paging operating system.   This
  3970.       means  that  your  programs  can  access  large amounts of memory --
  3971.       potentially  more  than  the  physical  memory  installed  on   your
  3972.       computer.   This  feature is especially beneficial for modern 32-bit
  3973.       programs  which  can  be  many  megabytes  in  size  without   using
  3974.       overlays.
  3975.  
  3976.       Until   recently,   virtual   memory  operating  systems  were  only
  3977.       available on main-frame and super-mini computers such  as  the  VAX.
  3978.       Virtual  memory  is  especially  important  for  multi-user  systems
  3979.       because it allows many users to be running  large  programs  at  the
  3980.       same time.
  3981.  
  3982.       In  order  to  appreciate  how  virtual memory works it necessary to
  3983.       understand a few terms.  The "virtual  memory  space"  available  to
  3984.  
  3985.       Chapter 10. Multiuser Computing                                   67
  3986.  
  3987.  
  3988.       your  job  is  the area of memory that it may access.  Under DOS the
  3989.       directly  accessible  virtual  memory  space  is  limited  to  640Kb
  3990.       although  EMS  and  XMS  provide a means to access additional memory
  3991.       through the 640Kb area.  Under TSX,  32-bit  programs  can  directly
  3992.       access  a  virtual  memory  space of many megabytes.  This makes 386
  3993.       and 486 computers as powerful as VAX's for running large  scientific
  3994.       and commercial applications.
  3995.  
  3996.       The  SET  PROCESS/MAXMEM=size command is used to control the maximum
  3997.       amount of virtual memory space available to the job.
  3998.  
  3999.       When a program is running, all of its virtual memory  space  is  not
  4000.       necessarily  stored  in  physical  memory  (that is why it is called
  4001.       "virtual").  The hardware and  operating  system  work  together  to
  4002.       manage  the  virtual memory space and keep track of where the memory
  4003.       for a job is located.  Unlike the 8088 and 80286 computers, the  386
  4004.       and   486   processors   were  designed  to  handle  virtual  memory
  4005.       efficiently.
  4006.  
  4007.       The  CPU  organizes  memory  space  into  4,096  byte  units  called
  4008.       "pages".   The  set  of  pages  that  are  directly  accessible by a
  4009.       program at any instant of time is called the "working set"  for  the
  4010.       program.   Your virtual memory space may be larger than your working
  4011.       set.  Memory pages that are part of your virtual  memory  space  but
  4012.       not  in your working set may be located either in physical memory or
  4013.       in the system page file.  An attempt to access a memory  page  which
  4014.       is  not  in  your  working  set  causes a "page fault".  Despite its
  4015.       name, a page fault is not an error but rather  denotes  the  process
  4016.       that  TSX performs to add a memory page to your working set.  If the
  4017.       maximum allowed number of pages are in your working set when a  page
  4018.       fault  occurs,  the  oldest  entry  in the working set is removed to
  4019.       make room for the entry being added.  Page  faults  are  transparent
  4020.       to your application program -- they do not affect its operation.
  4021.  
  4022.       This  system of keeping only the most recently accessed pages in the
  4023.       working set works well because many programs contain  sections  that
  4024.       are  only  accessed  infrequently.   For  example, a word processing
  4025.       program may have an initialization portion  that  is  only  executed
  4026.       once  and  another  part  that is only used while actively printing.
  4027.       The pages that are not active are not part of the  working  set  and
  4028.       can be used by other programs.
  4029.  
  4030.       When  two or more users are running the same 32-bit program (such as
  4031.       the TSX command processor), only one copy of the  program  needs  to
  4032.       reside  in  memory.   TSX  "maps"  the virtual memory space for each
  4033.       user running that program to the common program image.   Only  local
  4034.       data cells used by the program need to be duplicated for each user.
  4035.  
  4036.       Normally,  TSX  performs automatic working set size adjustment based
  4037.       on the page fault rate.  If the number of  page  faults  per  second
  4038.       exceeds  the  value of the "WSDAUPRATE" sysgen parameter the working
  4039.       set  size  is  expanded  by  the  size  of  the  "WSDAUPAMT"  sysgen
  4040.       parameter.   If  the page fault rate is less than the "WSDADOWNRATE"
  4041.       sysgen parameter then the working set size is reduced by  the  value
  4042.       of   the  "WSDADOWNAMT"  sysgen  parameter.   You  can  disable  the
  4043.  
  4044.       Chapter 10. Multiuser Computing                                   68
  4045.  
  4046.  
  4047.       automatic  working  set  adjustment  process   by   specifying   the
  4048.       /NOADJUST  qualifier  with  the SET WORKING_SET command.  If this is
  4049.       done, the working set size is held at the maximum  value.   Use  the
  4050.       /ADJUST   qualifier   to   reenable   automatic   working  set  size
  4051.       adjustment.  This method TSX uses for managing  virtual  memory  and
  4052.       working  sets is state of the art and works well under varying loads
  4053.       with very little tuning.
  4054.  
  4055.       The SHOW MEMORY command displays  information  about  memory  space.
  4056.       The  SHOW  PAGING  command  displays page fault statistics.  You may
  4057.       type control-T at any time  to  display  your  current  working  set
  4058.       size.
  4059.  
  4060.  
  4061.       10.4 Data Caching
  4062.  
  4063.       TSX  performs  extensive data caching to optimize I/O to disk files.
  4064.       A "data cache" is an  area  of  system  memory  set  aside  to  hold
  4065.       recently  accessed  blocks  of  data  from  disk  files.  The system
  4066.       manager sets  the  size  of  the  data  cache  when  the  system  is
  4067.       generated  by use of the CSHSIZE sysgen parameter.  Each time a read
  4068.       operation is  performed  to  a  disk,  TSX  checks  to  see  if  the
  4069.       requested  data  is  stored  in the cache.  If so, the data is moved
  4070.       directly from the cache area and no I/O is performed.  If  the  data
  4071.       is  not  in the cache, the data is read from disk and stored in both
  4072.       the read buffer and the data cache.  When a write is done to a  disk
  4073.       file,  the  data  is updated in the data cache but is not written to
  4074.       disk until the file is closed,  a  system  service  is  executed  to
  4075.       flush  cache  data  to  disk,  or  a  sysgen-specified  time  period
  4076.       elapses.  When the data cache becomes full, the oldest  data  blocks
  4077.       in  the  cache are displaced to make room for more recently accessed
  4078.       data.
  4079.  
  4080.       The data caching system also attempts  to  "read  ahead"  data  from
  4081.       files   being  accessed  sequentially  so  that  the  data  will  be
  4082.       available in the cache by the time that the program requests it.
  4083.  
  4084.       In addition to data caching, TSX also has a separate cache  of  file
  4085.       directory  entries.  When you open a file TSX searches its directory
  4086.       cache and, if a file entry is found, the open is  completed  without
  4087.       having to perform any I/O operations.
  4088.  
  4089.       The   SHOW   CACHE   command   displays   statistics  about  caching
  4090.       operations.
  4091.  
  4092.  
  4093.       10.5 Logon Access Control
  4094.  
  4095.       TSX-Lite provides a "system password" feature that  you  can  enable
  4096.       for  dial-in lines.  When enabled, the caller is required to enter a
  4097.       password to gain access  to  the  system.   See  Section  2.6.2  for
  4098.       information about enabling the system password feature.
  4099.  
  4100.       An  optional  TSX-Lite  Security  Kit  is available to provide logon
  4101.       access control The Security Kit  includes  the  LOGON,  TSAUTH,  and
  4102.  
  4103.       Chapter 10. Multiuser Computing                                   69
  4104.  
  4105.  
  4106.       FPROTECT  programs.   The  TSAUTH program is used to manage the user
  4107.       authorization database.  The LOGON program is run from line  startup
  4108.       command  procedures  to  require  username  and passwords to log in.
  4109.       Accounts can be be customized by  granting  or  denying  privileges,
  4110.       resource  quotas, and given logon command procedures which lock them
  4111.       to an application.  The FPROTECT program allows the  system  manager
  4112.       to  limit access to disks, subdirectories, and individual files on a
  4113.       user-by-user  basis.   Users  can   be   given   read,   write,   or
  4114.       execute-only access to files.
  4115.  
  4116.  
  4117.       10.6 Event Logs
  4118.  
  4119.       An  "Event  Log"  is  an  ordered  set  of records describing events
  4120.       occuring within TSX or application programs.  Event  logs  are  most
  4121.       commonly  used  to  record  recently  occuring  events  so that if a
  4122.       problem occurs in the program generating the event log, a record  of
  4123.       recent  actions  is  available for examination.  However, event logs
  4124.       are not limited to diagnostic applications.
  4125.  
  4126.       An important use of event  logs  is  to  record  errors  or  unusual
  4127.       events  that  are  detected  by  TSX.   These  event logs are called
  4128.       "error logs".  You  can  check  to  see  if  any  errors  have  been
  4129.       detected  by  issuing  the SHOW ERRORS command.  If any of the error
  4130.       logs has some records, you may want to use the SHOW  EVENTS  command
  4131.       to examine the nature of the errors.
  4132.  
  4133.       The  SHOW  EVENTS  command is the primary command for displaying and
  4134.       controlling event logs.  When you  issue  this  command,  the  first
  4135.       screen  will  list  each event log file that is currently in use and
  4136.       show the number of records in it.  To  display  the  records  in  an
  4137.       event  log,  use  the  arrow  keys  to  highlight  the  event log of
  4138.       interest and then press Enter.  The display will  show  the  records
  4139.       in  the  event log and will be updated as new records are written to
  4140.       it.  Type Esc to return from the display screen to the main  screen;
  4141.       type  Esc  again  to  exit from SHOW EVENTS.  Type 'C' from the main
  4142.       screen to control which event logs are active.
  4143.  
  4144.  
  4145.       10.7 NetBIOS Support
  4146.  
  4147.       TSX supports the NetBIOS system services for establishing  sessions,
  4148.       sending  and  receiving  data  messages and datagrams.  This support
  4149.       allows cooperating programs running as separate jobs  under  TSX  to
  4150.       communicate  just  as  if  they were running on a network.  TSX also
  4151.       supports the NetBIOS services for file sharing and  record  locking.
  4152.       NetBIOS  support is a standard feature of TSX, so you do not have to
  4153.       install or  purchase  any  additional  software.   The  TSX  NetBIOS
  4154.       support  provides communication between cooperating programs running
  4155.       on the same TSX system.  It  does  not  support  networking  between
  4156.       separate   systems.    The  full  TSX-32  system  has  TCP/IP  based
  4157.       networking for communication between systems.
  4158.  
  4159.       Some DOS programs only do record locking for shared  data  files  if
  4160.       they  are  told  that the data files are on networked disks.  On the
  4161.  
  4162.       Chapter 10. Multiuser Computing                                   70
  4163.  
  4164.  
  4165.       other  hand,  some  DOS  programs  will  not  run  in  a   networked
  4166.       environment.   To  allow  the  use  of programs that need to be told
  4167.       they are in a networked environment, as well as those that will  not
  4168.       run  in a networked environment, an attribute may be associated with
  4169.       the program using the PMAN command to  control  which  programs  are
  4170.       told that they are running in a networked environment.
  4171.  
  4172.       If  PMAN  is used to install a program is with the DOSNET attribute,
  4173.       it will be told that all of its files are on networked devices.   If
  4174.       this  attribute  is  not  specified,  the  values  of the DOSNETFLAG
  4175.       sysgen parameter is checked.  If the value  is  1,  the  program  is
  4176.       told  that it is running in a networked environment; if the value is
  4177.       0, the program is told that it is not in  a  networked  environment.
  4178.       The default value for the DOSNETFLAG sysgen parameter is 0.
  4179.  
  4180.       If  your  software  can be installed for single user or network use,
  4181.       select the network option; this will  ensure  that  the  application
  4182.       allows two users to simultaneously access the same database.
  4183.  
  4184.  
  4185.       10.8 Mailboxes and Shared Memory Regions
  4186.  
  4187.       In  addition  to  the NetBIOS services, TSX also provides a facility
  4188.       called   "mailboxes"   for   exchanging   data   between   programs.
  4189.       Basically,  a mailbox is a logical device that functions as a "pipe"
  4190.       to store and transport data from one program to  another.   See  the
  4191.       TSX-32 User's Manual for additional information about mailboxes.
  4192.  
  4193.       Groups  of  32-bit  application programs can communicate efficiently
  4194.       by use of shared memory regions.  This concept allows  two  or  more
  4195.       programs  to  share the same area of memory so that data stored into
  4196.       it by one program is visible by all of the programs  in  the  group.
  4197.       This  is  especially  useful  for  real-time  applications.  See the
  4198.       TSX-32 System  Services  Manual  for  additional  information  about
  4199.       shared memory regions.
  4200.  
  4201.  
  4202.  
  4203.  
  4204.  
  4205.  
  4206.                                    Chapter 11
  4207.  
  4208.                                     TSXTERM
  4209.  
  4210.  
  4211.  
  4212.  
  4213.       If  you  have  another  computer available (even an old 8088 system)
  4214.       you can use it as a TSX workstation.  To do this you  will  need  to
  4215.       install  the  TSXTERM  terminal  emulator program on the workstation
  4216.       computer.   TSXTERM  is  provided   as   part   of   your   TSX-Lite
  4217.       distribution and is described in this chapter.
  4218.  
  4219.       TSXTERM  turns  any  PC  into one of the nicest workstations you can
  4220.       use with TSX.  The main reason for this is DOS  compatibility.   The
  4221.       TSXTERM  workstation  uses  a real DOS keyboard so the function keys
  4222.       and ALT, Shift, and Ctrl keys work just as they do  with  DOS.   The
  4223.       screen display also provides the full PC display character set.
  4224.  
  4225.  
  4226.       11.1 Installing TSXTERM
  4227.  
  4228.       To  install  TSXTERM,  create  a  directory  named  \TSXTERM  on the
  4229.       workstation computer and copy the TSXTERM.EXE file from  the  system
  4230.       directory  of  your  TSX-Lite  computer  (TSX32SYS)  to the \TSXTERM
  4231.       directory on the workstation computer.
  4232.  
  4233.  
  4234.       11.2 Using TSXTERM
  4235.  
  4236.       TSXTERM can  access  a  TSX-32  system  either  through  a  directly
  4237.       connected  serial  line  or  through a modem.  If you use a modem, a
  4238.       built in dialing directory  is  provided  to  automate  the  calling
  4239.       process  and, if the host system uses security, the logon process as
  4240.       well.
  4241.  
  4242.       Once you are connected, TSXTERM turns your PC into a DOS  compatible
  4243.       workstation  for accessing the TSX-32 system.  TSXTERM provides full
  4244.       color support, CGA graphics, enables use of  your  PC  printer,  and
  4245.       includes  file  transfers to and from the PC.  When you are finished
  4246.       using the TSX-32 system, you exit TSXTERM  and  return  to  the  DOS
  4247.       prompt to run other applications on your PC.
  4248.  
  4249.  
  4250.       11.3 Control Screens
  4251.  
  4252.       TSXTERM  is  controlled  by  single  letter  commands which are only
  4253.       recognized in conjunction with  a  set  of  shift  keys  called  the
  4254.       "wakeup  key  sequence".   Normally the wakeup key sequence consists
  4255.       of simultaneously pressing left control and  left  shift  while  you
  4256.  
  4257.  
  4258.                                        71
  4259.  
  4260.       Chapter 11. TSXTERM                                               72
  4261.  
  4262.  
  4263.       press  a  function  letter.  A summary of these commands is provided
  4264.       when you first start TSXTERM, and can be recalled  by  pressing  the
  4265.       wakeup keys and "H" for help.
  4266.  
  4267.  
  4268.       11.4 Configuring TSXTERM
  4269.  
  4270.       The  first  time  you  invoke  TSXTERM  it  will enter a setup menu.
  4271.       TSXTERM  is  configured  using  a  series  of  field  entry  screens
  4272.       selected  from  this  menu.  Your configuration, which is saved in a
  4273.       disk file named TSXTERM.INI, can be changed at any time by  pressing
  4274.       the wakeup keys, and S for setup.
  4275.  
  4276.       The  first time you use TSXTERM, you should enter the communications
  4277.       screen and specify the COM port and baud rate you wish to use.
  4278.  
  4279.       Next, enter the  "Customizations"  setup  screen.   It  contains  an
  4280.       importatnt  setting  which determines whether TSXTERM will initially
  4281.       operate in ASCII or TSXTERM mode.
  4282.  
  4283.       In "ASCII  MODE",  TSXTERM  emulates  an  ANSI  terminal,  but  this
  4284.       emulation  is  only  provided  to the extent necessary to log into a
  4285.       TSX system.  TSXTERM mode  is  the  normal  operating  mode  of  the
  4286.       program.   In  this  mode  the  program  emulates an advanced PCTERM
  4287.       terminal.
  4288.  
  4289.       Select ASCII mode unless you are  using  TSXTERM  with  a  hardwired
  4290.       connection  that will only be used for a TSXTERM connection.  In the
  4291.       case of a dedicated, hard-wired connection, select TSXTERM mode  and
  4292.       specify  TSXTERM  as  the  terminal type using TSGEN as described in
  4293.       Section 2.6.2 on page 14.
  4294.  
  4295.       When using TSXTERM in ASCII mode you can either manually type  modem
  4296.       commands  ("ATDT...",  etc.)  or  you  can  use  the TSXTERM dialing
  4297.       directory to connect to the host system running TSX.  Once you  have
  4298.       connected  and  logged  on  (entering  any password and user name if
  4299.       required), you should issue the following TSX command to shift  into
  4300.       TSXTERM mode:
  4301.  
  4302.            SET TERM/TYPE=TSXTERM
  4303.  
  4304.       If  you  purchase  the  optional  TSX-Lite  Security Kit and use the
  4305.       LOGON program with dial-in phone  lines,  then  you  should  specify
  4306.       your  user  name  and  password  in  the  TSXTERM dialing directory.
  4307.       TSXTERM will then connect to the host and  automatically  enter  the
  4308.       logon  information.   It  will also automatically shift into TSXTERM
  4309.       mode so that you do not need to enter the SET TERM command.
  4310.  
  4311.       You can also use the customization setup screen to change  the  keys
  4312.       which  wake  up  TSXTERM  to command mode.  The author, for example,
  4313.       prefers left ALT by itself.  Whatever keys  you  choose,  make  sure
  4314.       your  selection will not conflict with key combinations used by your
  4315.       applications.
  4316.  
  4317.       Chapter 11. TSXTERM                                               73
  4318.  
  4319.  
  4320.       The "Use dialing directory" field controls  whether  TSXTERM  starts
  4321.       out in the dialing directory screen or goes directly on-line.
  4322.  
  4323.  
  4324.       11.5 Using Modem Connections
  4325.  
  4326.       If  you  want to use TSXTERM to access the TSX system using a modem,
  4327.       you will probably want to select "Y" in the "start  in  phone  book"
  4328.       field  of  the  customization  field.   This causes TSXTERM to begin
  4329.       each session by presenting you with your phone directory.   You  can
  4330.       enter  the  dialing  directory  at  any  time by typing "D" with the
  4331.       wakeup keys.
  4332.  
  4333.       The first time you enter the dialing directory, you should type  "A"
  4334.       to  add  a  new  entry.   Fill  in  the name and phone number of the
  4335.       computer running TSX.  If the TSX system uses  logon  security,  you
  4336.       should  also  enter  the  username and password for the account into
  4337.       the dialing directory.  A field is  also  provided  for  the  system
  4338.       password  if  it  is  in  use  at the site.  You should also specify
  4339.       whether the dial-in line for the computer has been  permanently  set
  4340.       to TSXTERM terminal type.
  4341.  
  4342.       Other  fields  of the address book entry are optional.  The PORT and
  4343.       BAUD fields can be used to override  the  configuration  information
  4344.       if  multiple  COM  ports  on  the  PC  are connected to multiple TSX
  4345.       systems.  The  Internet  Address  field  is  used  to  access  fully
  4346.       licensed  TSX-32  systems over ethernet.  The note field is for your
  4347.       own informational notes.   The  tag  field  is  used  when  invoking
  4348.       TSXTERM  from  a .BAT file to ask it to immediately begin connecting
  4349.       to the specified entry.  For example, to connect to an  entry  whose
  4350.       tag is CUST23, you would use:
  4351.  
  4352.            TSXTERM C=CUST23
  4353.  
  4354.       Press  ESC  to  save  the  changes  and add the entry to the dialing
  4355.       directory.  You can edit the address  book  entry  at  any  time  by
  4356.       highlighting it and pressing "E".
  4357.  
  4358.       To  connect  to  a  computer,  highlight  the  entry  and  type "C".
  4359.       TSXTERM will dial the modem, wait for a connection, and then log  in
  4360.       using  any  username  and password you have specified in the address
  4361.       book.
  4362.  
  4363.  
  4364.       11.6 Using Direct Connections
  4365.  
  4366.       You can still use the dialing directory of TSXTERM for a hard  wired
  4367.       connection  if  you  want  TSXSTERM to enter a username and password
  4368.       for you.  If the logon program is not used, or if you want  to  type
  4369.       the  username  and  password  yourself, select "N" for the "start in
  4370.       phone book" setup field.  TSXTERM will pause when it  first  starts,
  4371.       then  immediately  enter  terminal  emulation  mode when you press a
  4372.       key.
  4373.  
  4374.       Chapter 11. TSXTERM                                               74
  4375.  
  4376.  
  4377.       11.7 Printer Support
  4378.  
  4379.       TSX supports printers attached to TSXTERM terminals in the same  way
  4380.       as  printers  attached  to  serial terminals.  See Section 8.4, page
  4381.       51, for a  description  of  terminal  printers.   To  configure  the
  4382.       TSXTERM  attached  printer, select the printer screen from the setup
  4383.       menu and specify  the  port  (parallel  or  serial)  to  which  your
  4384.       printer  is  connected.   If  the  printer  is serial, you must also
  4385.       specify the baud rate.
  4386.  
  4387.  
  4388.       11.8 Background File Transfer
  4389.  
  4390.       One  of  the  powerful  features  of  TSXTERM  is   the   integrated
  4391.       background  file  transfer.   This  means file transfers are done in
  4392.       the background while you  continue  to  use  the  host  TSX  system.
  4393.       Suppose,   for   example,  you  have  a  data  file  which  must  be
  4394.       manipulated by a program running under DOS  on  your  PC.   You  can
  4395.       download  the  data  in  background mode while you continue your TSX
  4396.       based work.  Just type "F" in conjunction with the  wakeup  keys  to
  4397.       activate the file transfer pop-up window, and issue a command like:
  4398.  
  4399.            GET DATA.NOW
  4400.  
  4401.       When  your data file has been transferred, exit TSXTERM and run your
  4402.       DOS application.  Rerun TSXTERM to upload your  modified  data  back
  4403.       to  the  "file server" TSX system using a SEND command from the file
  4404.       transfer window.
  4405.  
  4406.       The file transfers can be initiated by the TSX  system  as  well  as
  4407.       the  DOS  based PC using the WSCMD command; see Section 14.141, page
  4408.       170.  This allows file  transfers  to  be  integrated  into  command
  4409.       procedures  so  that  field  personnel of a service organization can
  4410.       (and do) upload daily reports without even knowing how.
  4411.  
  4412.       Command line options also allow TSXTERM to be  run  from  BAT  files
  4413.       under  DOS.   One, "C", calls the specified dialing directory entry.
  4414.       "S" and "R" are used to send and receive files.  Type TSXTERM ?   to
  4415.       see a full list.
  4416.  
  4417.  
  4418.       11.9 Session Logging
  4419.  
  4420.       You  can  create  a log file on your PC documenting your TSX session
  4421.       using the TSXTERM session logging  feature.   Type  the  letter  "L"
  4422.       with the wakeup keys to activate the logging pop-up window.
  4423.  
  4424.  
  4425.  
  4426.  
  4427.  
  4428.  
  4429.                                    Chapter 12
  4430.  
  4431.                                System Management
  4432.  
  4433.  
  4434.  
  4435.  
  4436.       One  of  the  things  that  distinguishes  TSX from other multi-user
  4437.       systems is ease of management.  Even systems with  dozens  of  users
  4438.       do  not  require  that  anybody  sacrifice  hours per week being the
  4439.       "system manager".   The  operating  system  mostly  manages  itself.
  4440.       However,  TSX provides a large number of options that you can use to
  4441.       customize and tune for best performance.
  4442.  
  4443.  
  4444.       12.1 Overview of System Startup
  4445.  
  4446.       Before we plunge into any  management  details  let's  get  a  broad
  4447.       picture  of what happens between the time that you type RUNTSX under
  4448.       DOS and log in your first interactive session under TSX.
  4449.  
  4450.       The primary purpose of the RUNTSX program is to read  the  TSX32.SYS
  4451.       file,  which  contains the executable code for the operating system,
  4452.       into  high  memory,  switch  your  processor  from  "real  mode"  to
  4453.       "protected mode", and jump into the TSX code.
  4454.  
  4455.       Next  it  begins  execution  of  the  "startup  job"  which performs
  4456.       various  startup  functions,  then  logs  off.   It  does  this   by
  4457.       executing the command procedure STARTUP.CMD.
  4458.  
  4459.  
  4460.       12.2 Startup Command Files
  4461.  
  4462.       The  first  thing  that  STARTUP.CMD does is to run a program called
  4463.       MAKELOAD which  uses  the  system  option  settings  to  generate  a
  4464.       secondary  command  procedure called TSXLOAD.CMD.  Executing TSXLOAD
  4465.       is the second  job  of  the  startup  procedure.   TSXLOAD  contains
  4466.       commands  to load terminal support handlers for TSXTERM, PCTERM, and
  4467.       Relisys terminals.  TSXLOAD  also  starts  detached  jobs  like  the
  4468.       spooler and queue manager for the printing system.
  4469.  
  4470.       The  next  step  is to execute the INSTALL.CMD command procedure, if
  4471.       it exists.  This command procedure, which is created for you by  the
  4472.       program  manager  utility  PMAN,  customizes  the  way  TSX  handles
  4473.       various software packages you have on your system.  Section 2.5  and
  4474.       Chapter  4 discuss many attributes that can be set when a program is
  4475.       installed using PMAN.
  4476.  
  4477.       Next  the  startup  job   executes   a   command   procedure   named
  4478.       LSTARTUP.CMD,  for  "local startup" functions.  This is the file you
  4479.  
  4480.  
  4481.                                        75
  4482.  
  4483.       Chapter 12. System Management                                     76
  4484.  
  4485.  
  4486.       can edit to place system wide logical names and symbols.  This  file
  4487.       is analogous to the DOS AUTOEXEC.BAT file.
  4488.  
  4489.       Finally   the   startup  job  executes  a  command  procedure  named
  4490.       PROTECT.CMD.   This  procedure  establishes  file   protection   and
  4491.       shadowing.  It is managed using the FMAN program.
  4492.  
  4493.  
  4494.       12.3 System Customization
  4495.  
  4496.       12.3.1 Line Startup Procedures
  4497.  
  4498.       Each  time  sharing  line  (the  console being one, the serial lines
  4499.       being others) has an associated startup command  procedure  that  is
  4500.       executed  each  time  the  line is initialized.  If you log off of a
  4501.       line (by use of the OFF command) the startup  command  procedure  is
  4502.       executed  when  you  press  Enter  to log on again.  By default, all
  4503.       lines execute the same command procedure  named  SY:START.CMD.   You
  4504.       are  welcome  to  edit  START.CMD.   You  can  also  change the line
  4505.       parameters to specify a different startup  command  for  each  line.
  4506.       See  Section 2.6.2 for information about setting a different startup
  4507.       command file.
  4508.  
  4509.       If you have purchased the TSX-Lite Security Kit,  you  may  want  to
  4510.       run  the  LOGON  program  to  force  users  to enter a user name and
  4511.       password to gain  access  to  the  system.   To  do  this  edit  the
  4512.       START.CMD file and insert the following command:
  4513.  
  4514.            R LOGON
  4515.  
  4516.       The  TSAUTH  program  that  is  part  of the Security Kit is used to
  4517.       manage the list of authorized users.   TSAUTH  also  allows  you  to
  4518.       specify  a  secondary  start-up  command  procedure that is executed
  4519.       when a user logs on; this command procedure is  based  on  the  user
  4520.       name.   For  example,  user  GEORGE  may  have the following command
  4521.       procedure:
  4522.  
  4523.            ECHO Hello George, just a moment
  4524.            RUN MAKEDISK
  4525.            ECHO Thanks George, bye.
  4526.            LOGOFF
  4527.  
  4528.       The only thing that George needs  the  computer  for  is  to  run  a
  4529.       program  that  makes  software  distribution  disks for his company.
  4530.       However, user SHANNON manages the office  and  wants  to  start  out
  4531.       running  the  office  management  menu.  Her login command procedure
  4532.       has:
  4533.  
  4534.            CD C:\OFFICE
  4535.            RUN OMENU
  4536.  
  4537.       Note that you can have different  startup  command  files  for  each
  4538.       line  so  you can have dial-in modem lines run LOGON but not require
  4539.       this for the console.
  4540.  
  4541.       Chapter 12. System Management                                     77
  4542.  
  4543.  
  4544.       12.3.2 User Authorization
  4545.  
  4546.       The program TSAUTH (which is part of the TSX-Lite Security  Kit)  is
  4547.       used  to  manage  the  authorized  users.  TSAUTH creates a database
  4548.       named SY:TSXUAF.TSX containing the list of usernames which  can  log
  4549.       into  the  system.   TSAUTH  can  be  run from the command prompt or
  4550.       accessed from the system management menu.
  4551.  
  4552.       TSAUTH is a self explanatory, user friendly program.  After you  run
  4553.       it,  start  out  by typing "C" to make a copy of the default record.
  4554.       This enters a data  entry  screen  which  is  used  to  specify  all
  4555.       attributes of the new user such as their name and password.
  4556.  
  4557.       Note  that  you  edit  the  default  record  to  match  your typical
  4558.       authorized user to make the authorization process more convenient.
  4559.  
  4560.       It is up to you, as the system manager, to create the login  command
  4561.       procedure  for  the  user.   You  may  want  to  create  a  separate
  4562.       directory for each user and place a CD command in their  login  file
  4563.       to  start them out in their home directory.  Since the login command
  4564.       procedure simply contains commands which are executed when they  log
  4565.       in,  they can customize their own environment (with symbols, logical
  4566.       names, running programs, and so on) by editing their  login  command
  4567.       file.
  4568.  
  4569.       You  also  use  TSAUTH  to limit use of system resources such as the
  4570.       maximum memory space that can be used.  There are an  extensive  set
  4571.       of  privileges  which specify what types of functions you will allow
  4572.       each user to perform.  If you do not use the login  mechanism,  each
  4573.       user has full privileges.
  4574.  
  4575.       12.3.3 System Wide Settings
  4576.  
  4577.       So  far  we  have discussed customizations based on individual users
  4578.       or individual lines.  System wide customizations are placed  in  the
  4579.       LSTARTUP.CMD  command  procedure.   Here  you  can  specify  a  PATH
  4580.       command to replace or augment the search path specified  under  DOS.
  4581.       When  defining  a  system-wide  path,  you should use a "SET/SYSTEM"
  4582.       command rather than a PATH command which defines a search  path  for
  4583.       the  current  job only.  The following is an example of a command to
  4584.       set up a system-wide search path:
  4585.  
  4586.            SET/SYSTEM PATH C:\TSX32SYS;C:\WATCOM
  4587.  
  4588.       You may also wish to place some ASSIGN commands in the  LSTARTUP.CMD
  4589.       file  to define some logical device names for the entire system.  Be
  4590.       sure  to  use  the  /SYSTEM  qualifier  to  make   the   assignments
  4591.       system-wide.  Here are some examples:
  4592.  
  4593.            ASSIGN/SYSTEM C:\INVOICES\CURRENT\ CURINV:
  4594.            ASSIGN/SYSTEM EPSON: LPT2:
  4595.  
  4596.       Either  of  these  commands can be overridden for a specific user by
  4597.       use of an  ASSIGN  command  without  the  /SYSTEM  qualifier.   User
  4598.       specific   ASSIGN  commands  can  be  placed  in  the  startup  file
  4599.  
  4600.       Chapter 12. System Management                                     78
  4601.  
  4602.  
  4603.       associated with the line or  the  user  name  (assuming  TSAUTH  and
  4604.       LOGON  are  used).   Debi  could  redirect  printer  output  to  the
  4605.       terminal printer attached to her terminal with:
  4606.  
  4607.            ASSIGN DEBI: LPT2:
  4608.  
  4609.       Similarly  you  can  establish  system  wide  symbols   to   provide
  4610.       shorthand notations for all your users:
  4611.  
  4612.            TOCUR :=== CD C:\INVOICES\CURRENT\
  4613.            INSPECT :=== E32/BORDER/READONLY
  4614.  
  4615.       The  three  equals  signs  denote  system-wide  symbols which can be
  4616.       overridden by personal symbols specified with two equals signs.
  4617.  
  4618.  
  4619.       12.4 System Tuning
  4620.  
  4621.       12.4.1 Introduction
  4622.  
  4623.       While there are hundreds of tuning parameters you can specify  using
  4624.       TSGEN,   most   of   them   are  only  used  in  highly  specialized
  4625.       circumstances.  Feel free to browse the tuning parameters  and  read
  4626.       help  screens  to get a feel for the ability of the operating system
  4627.       to adapt to different needs.  Fully  supported  customers  have  the
  4628.       benefit  of  S&H  Technical  Support  to  guide  them to the correct
  4629.       parameter if a program does not run correctly or the system  is  not
  4630.       running  at  peak  performance.  We will draw special attention to a
  4631.       few of the most critical tuning parameters here.   See  Section  2.4
  4632.       on page 9 for information about using the TSGEN program.
  4633.  
  4634.       12.4.2 CSHSIZE: Cache size
  4635.  
  4636.       Under  Data  Caching  Parameters,  CSHSIZE  controls  the  amount of
  4637.       memory that's allocated for a system cache.   If  you  only  have  4
  4638.       megabytes  of  memory  you should probably leave this at the default
  4639.       of 1000 512 byte blocks (half a megabyte).  In  fact,  if  the  SHOW
  4640.       MEMORY  command  says  there  is  less  than 800K available for user
  4641.       jobs, you may want to decrease  the  cache  size  to  free  up  more
  4642.       memory  for running programs.  But if you have more than 4 megabytes
  4643.       of memory you should use about 25%  of  your  memory  for  a  cache.
  4644.       Example:  on  an  8  meg system use 2 megs.  1 meg = 2000 blocks, so
  4645.       set CSHSIZE to 4000.  See Section  10.4,  page  68,  for  additional
  4646.       information about data caching.
  4647.  
  4648.       12.4.3 VMAXJOBS: Job limit
  4649.  
  4650.       Under  Job  Limit  Parameters, VMAXJOBS controls the total number of
  4651.       jobs allowed on your system.  Each process window and each  detached
  4652.       job  (Spooler, Queue Manager, Window Print, and batch jobs) count as
  4653.       a separate job.  The default value of 12 can  usually  be  decreased
  4654.       somewhat  for  a  single user system.  The benefit is that memory is
  4655.       freed up for other uses as VMAXJOBS is decreased.
  4656.  
  4657.       Chapter 12. System Management                                     79
  4658.  
  4659.  
  4660.       12.4.4 DOWINPRT: Window Print
  4661.  
  4662.       Under Optional System  Components,  DOWINPRT  controls  whether  the
  4663.       window  print  process  is detached when the system boots.  Set this
  4664.       to 1 if you want the Print Screen key to be active or 0  if  you  do
  4665.       not  use  this feature.  See Section 14.85, page 146, for additional
  4666.       information about screen printing.
  4667.  
  4668.       12.4.5 DOQUEUES: Queue Manager and Spooler
  4669.  
  4670.       Under Optional System Components, you can set DOQUEUES to 0  if  you
  4671.       do  not  use  batch  jobs,  print jobs, or require spooled output to
  4672.       printers.   Allowing  programs  direct  access  to  the  printer  is
  4673.       advisable  only on a single user system, and will cause your program
  4674.       to pause  until  printing  is  completed,  whereas  spooling  allows
  4675.       multiple  users  to  simultaneously use the same printer and accepts
  4676.       data, allowing the program to continue running, before the  data  is
  4677.       actually printer.
  4678.  
  4679.       12.4.6 MAXP0MEM: Maximum Memory Space
  4680.  
  4681.       The  maximum  virtual  memory  space  available  to  each program is
  4682.       controlled  by  the  MAXP0MEM  sysgen  parameter.   This   parameter
  4683.       specifies  the  size in 1k units and the default value is 8192 which
  4684.       corresponds to 8 MB.  If you run  programs  that  need  more  memory
  4685.       space  than  this  you  can  increase the MAXP0MEM parameter up to a
  4686.       maximum of 32768 which corresponds to 32 MB.  The value of  MAXP0MEM
  4687.       limits  the  total  memory  space  available  to  each  program  and
  4688.       includes both the  640Kb  low  memory  area  and  any  EMS  and  XMS
  4689.       (extended)   memory  used  by  the  program.   The  disadvantage  of
  4690.       assigning a very large number to MAXP0MEM is that some programs  use
  4691.       all  available  memory space.  With TSX's virtual memory system they
  4692.       will be allocated more memory than they actually need and  this  can
  4693.       result in excessive memory paging and poor performance.
  4694.  
  4695.       12.4.7 PGFILSIZ: Page File Size
  4696.  
  4697.       Under  System  Memory Parameters, PGFILSIZ controls the number of 4K
  4698.       pages which can be stored in the  system  page  file,  PAGEFILE.TSX.
  4699.       The  page  file  is  used  to implement virtual memory: memory pages
  4700.       which can not fit into the working set for  the  job  (the  physical
  4701.       memory  in  use) are written to the page file.  Increase this if you
  4702.       must run memory intensive programs that cause the page file to  fill
  4703.       up.   Decrease  this  if you only run modest programs and don't want
  4704.       disk space wasted by the page file.  The  SHOW  PAGE  command  (also
  4705.       available  from  the  system commands menus) displays various paging
  4706.       statistics, including how much of the page file has been used.
  4707.  
  4708.       12.4.8 POOLSIZEN: System Pool Space
  4709.  
  4710.       Under  Pool  Space  Parameters,  POOLSIZEN  determines  the  initial
  4711.       allocation  of system memory pool space.  The pool is memory used by
  4712.       TSX while it is running.  If TSX runs out  of  pool  space  it  will
  4713.       crash.   However,  if  your system runs for a long time and the SHOW
  4714.       MEMORY command shows plenty of pool space  left  (say,  over  70,000
  4715.  
  4716.       Chapter 12. System Management                                     80
  4717.  
  4718.  
  4719.       bytes)  you  may  want  to  decrease  POOLSIZEN  a little to free up
  4720.       memory for other purposes.
  4721.  
  4722.       12.4.9 RAMDISKSIZ: Virtual Disk
  4723.  
  4724.       TSX has a virtual disk driver built into the  system.   To  activate
  4725.       it  go  into  the  RAM Disk Parameters screen and assign the virtual
  4726.       disk a drive letter and specify the number of blocks  of  memory  to
  4727.       allocate for the disk.
  4728.  
  4729.  
  4730.  
  4731.  
  4732.  
  4733.  
  4734.                                    Chapter 13
  4735.  
  4736.                                 Troubleshooting
  4737.  
  4738.  
  4739.  
  4740.  
  4741.       This   chapter  discusses  some  of  the  problems  that  you  might
  4742.       encounter  when  installing  or  using  TSX-Lite.   Hopefully,  your
  4743.       problems  will be few and you will be able to resolve them yourself.
  4744.       However, if you need additional assistance S&H Computer Systems  has
  4745.       an  outstanding  support team that is there to help you.  Registered
  4746.       TSX-Lite users  receive  90  days  of  support  via  mail,  FAX,  or
  4747.       CompuServe  at  no  additional  cost.   Telephone  support  is  also
  4748.       available; see Section 15.3 for details.
  4749.  
  4750.       Most problems that occur when using TSX-Lite  fall  in  one  of  the
  4751.       following categories:
  4752.  
  4753.         . Installation  problems caused by the presence of TSR programs in
  4754.           AUTOEXEC.BAT or device drivers (such  as  HIMEM.SYS)  loaded  by
  4755.           CONFIG.SYS  that  interfer with TSX getting started and entering
  4756.           protected mode.  These problems can be  avoided  by  creating  a
  4757.           "stripped   down"  CONFIG.SYS  and  AUTOEXEC.BAT  for  use  when
  4758.           starting TSX.
  4759.  
  4760.         . Hardware conflicts caused by aspects of the  computer  that  are
  4761.           used  by  TSX running in protected mode but not encountered when
  4762.           running a simpler system like DOS.  For example, computers  have
  4763.           an  inaccessible area of memory used to shadow the BIOS.  If you
  4764.           have problems getting TSX started and your  BIOS  give  you  the
  4765.           option, try disabling BIOS shadowing.
  4766.  
  4767.         . DOS  programs  that do "dirty" tricks such as accessing portions
  4768.           of the operating system or  BIOS  itself.   TSX  tries  hard  to
  4769.           support  all  DOS  programs, but there are some which are simply
  4770.           not  suitable  for  use  with   a   multi-user,   protected-mode
  4771.           operating system.
  4772.  
  4773.       If  your  system  is  not  performing  properly  use the SHOW ERRORS
  4774.       command to see if any errors have been  recorded.   If  any  of  the
  4775.       error  counts  are  non-zero, use the SHOW EVENTS command to examine
  4776.       the error logs.
  4777.  
  4778.       The  following  is  a  list  of  potential  problems  and  suggested
  4779.       solutions.
  4780.  
  4781.  
  4782.  
  4783.  
  4784.  
  4785.  
  4786.                                        81
  4787.  
  4788.       Chapter 13. Troubleshooting                                       82
  4789.  
  4790.  
  4791.       13.1 RUNTSX Fails During TSX Start
  4792.  
  4793.       The  RUNTSX  program may have trouble loading TSX into "high memory"
  4794.       if you have a HIMEM.SYS  type  driver  loaded.   Try  renaming  your
  4795.       CONFIG.SYS  and  AUTOEXEC.BAT  to  be  sure  you  are rebooting to a
  4796.       basic, naked DOS machine.  This should fix the problem.
  4797.  
  4798.  
  4799.       13.2 Keyboard Is Dead
  4800.  
  4801.       Your  system  seems  to  boot  TSX,  going  all  the   way   through
  4802.       initialization   to   a   message  announcing  that  the  system  is
  4803.       available.  However, you press the return key and  nothing  happens.
  4804.       It's as if your keyboard is dead, but it works under DOS.
  4805.  
  4806.       Reboot,  and  at  the  DOS  level,  use TSGEN and select "Set Tuning
  4807.       Parameters" from the main menu, then "Console Keyboard  Parameters".
  4808.       Set  the value of parameters KBDELAY1 through KBDELAY4 all to a very
  4809.       high value, such as 10,000.  Then bring the system back to TSX  with
  4810.       the  RUNTSX  program.   This  should  bring  your  keyboard to life.
  4811.       Chances are that only KBDELAY4 needs to be  set,  and  that  smaller
  4812.       values   will  work.   These  delays  only  occur  when  programming
  4813.       keyboard LEDs so don't be too concerned at the high values.
  4814.  
  4815.  
  4816.       13.3 Serial Terminal Does Not Work
  4817.  
  4818.       As explained  earlier,  TSX-Lite  can  be  accessed  both  from  the
  4819.       console  display  and  keyboard  and  from  serial terminals (and/or
  4820.       modems) connected to COM ports.  If you connect  a  serial  terminal
  4821.       to a COM port and it does not operate, check the following things.
  4822.  
  4823.         . Is  the cabling good.  Do you need a "null modem" which reverses
  4824.           signal lines 2 and 3?
  4825.  
  4826.         . Does the baud rate of the terminal  match  that  for  which  the
  4827.           line  is  genned?   The  default TSX baud rate is 9600.  You can
  4828.           use a SET ttcuu:/SPEED=xxx/PERM command to change the line  baud
  4829.           rate without regenning.
  4830.  
  4831.         . Has  the  line  been  genned for the correct terminal type?  The
  4832.           default is ANSI.  A TERMTYPE of PCTERM must be  set  for  PCTERM
  4833.           type terminals.
  4834.  
  4835.         . If  you  are  using  TSXTERM  on a hard-wired line make sure the
  4836.           line is genned with TERMTYPE of TSXTERM.  Also  make  sure  that
  4837.           TSXTERM is not operating in ASCII mode.
  4838.  
  4839.       If  none  of  these  checks  reveal  problems, try using the TSX SPY
  4840.       command to check for characters being received from the  line.   The
  4841.       following  is  an  example  of  a command to spy on characters being
  4842.       received from line TTB0:
  4843.  
  4844.            SPY/INPUT/HEX/BINARY/PHONE TTB0:
  4845.  
  4846.       Chapter 13. Troubleshooting                                       83
  4847.  
  4848.  
  4849.       See Section 2.6 for further information about setting up  COM  ports
  4850.       and  Section  2.6.5 for more information about using SPY to diagnose
  4851.       serial line problems.
  4852.  
  4853.  
  4854.       13.4 Screen is Corrupted after Session Switch
  4855.  
  4856.       If you switch between a graphics  application  and  another  session
  4857.       and  find  that the graphics screen is not correct when you reselect
  4858.       it, then the most likely cause of the problem is that  a  super  VGA
  4859.       mode  is  being  used that is not supported by TSX-Lite.  Currently,
  4860.       the only super VGA modes supported by TSX-Lite are those offered  by
  4861.       the  Tseng  4000  and  Paradise  512 video adapters.  Other adapters
  4862.       that offer super VGA modes may  be  used  with  TSX-Lite  only  when
  4863.       running  in  the  standard VGA modes.  If you are using Windows with
  4864.       TSX-Lite you should select standard VGA as the adapter type.
  4865.  
  4866.  
  4867.       13.5 Mouse Does Not Work
  4868.  
  4869.       TSX supports the Microsoft serial mouse (or other  compatible  mice)
  4870.       attached to a COM port.  It does not support bus mouse controllers.
  4871.  
  4872.       To  use  the  mouse,  connect  it  to  a  COM port and use an ASSIGN
  4873.       command of the following form to  associate  the  MOUSEPORT  logical
  4874.       device name with the appropriate serial port:
  4875.  
  4876.            ASSIGN TTcuu: MOUSEPORT
  4877.  
  4878.       Where  "TTcuu" should be replaced by the appropriate TSX serial unit
  4879.       name such as TTB0 (COM1), TTC0 (COM2), TTD0 (COM3), or TTE0  (COM4).
  4880.       Note  that  the  device name MUST end with a colon.  See Section 2.7
  4881.       for additional information about setting up the mouse.  See  Section
  4882.       14.140  for  information  about  setting  up  the mouse for use with
  4883.       Windows under TSX.
  4884.  
  4885.  
  4886.       13.6 TSX Does Not Answer Incoming Calls
  4887.  
  4888.       If you have a modem connected to a TSX serial line  and  it  is  not
  4889.       answering  incoming  calls  check  three  things:  (1)  is  the line
  4890.       generated as a "Phone" line; (2) are you using a  cable  with  modem
  4891.       control  signals  (DTR  and  carrier  detect);  and (3) is the modem
  4892.       configured to answer the phone --  the  "S0"  modem  setup  register
  4893.       must  be  set to a non-zero value.  See Section 2.6.3 on page 17 for
  4894.       additional information about setting up phone lines.
  4895.  
  4896.  
  4897.       13.7 Trash Characters During Logon and Screen Refresh
  4898.  
  4899.       If some "trash" characters (large  stars  or  other  things)  appear
  4900.       when  you  log  onto  TSX  from  a  serial terminal or when you do a
  4901.       session window switch, you probably need to set your  terminal  type
  4902.       to  ANSI.  The VT100 terminal type is appropriate for terminals that
  4903.       support DEC VT-100 control sequences.  When VT100 terminal  type  is
  4904.  
  4905.       Chapter 13. Troubleshooting                                       84
  4906.  
  4907.  
  4908.       selected,  TSX  sends  certain  control  codes  during logon, window
  4909.       refresh,  and  window  clear   operations   that   cause   spurrious
  4910.       characters  to  appear if the terminal cannot handle the full VT-100
  4911.       control set.  See Section 2.6.2 on page  14  for  information  about
  4912.       setting terminal types.
  4913.  
  4914.  
  4915.       13.8 Lost Characters or Retries During File Transfers
  4916.  
  4917.       If  you  are using a communications program to send or receive files
  4918.       using a protocol like  Z-modem  and  find  that  many  communication
  4919.       errors  or  retries  are  occuring,  the first thing that you should
  4920.       check is that you have specified the correct type  of  flow  control
  4921.       handshaking  for  the  COM  port.  The default TSX flow control uses
  4922.       XOFF  (control-S)  to  stop  transmission  and  XON  (control-Q)  to
  4923.       restart  it.   Most  high-speed  modems  use the RTS/CTS signals for
  4924.       flow control rather than XON/XOFF.  If your modem is  using  RTS/CTS
  4925.       flow  control  you  should follow the procedure described in Section
  4926.       2.6.2 on page 14 and set the HANDSHAKING parameter to RTSCTS.
  4927.  
  4928.       If  you  have  the  handshaking  set   correctly   and   are   still
  4929.       experiencing  character  losses,  you  should check the type of UART
  4930.       communication controllers installed in  your  computer.   There  are
  4931.       two  common  types: 16450 UART's and 16550 UART's.  The 16550 UART's
  4932.       are highly recommended  for  use  with  multi-tasking  systems  like
  4933.       TSX-Lite  because  they contain a 16 character buffer that can store
  4934.       characters while TSX is performing other functions.
  4935.  
  4936.  
  4937.       13.9 Unable to Run TSR Programs
  4938.  
  4939.       If you try to run a TSR program as a TSX command  you  will  receive
  4940.       the  error  mssage:  "You  must  use  the  DOS  command  to  run TSR
  4941.       programs".  This means that in order to run this  program  you  must
  4942.       first  use  the  TSX  "DOS"  command to invoke COMMAND.COM, and then
  4943.       start the TSR program from within  COMMAND.COM.   You  can  use  the
  4944.       EXIT   command   to   exit  from  COMMAND.COM  to  the  TSX  command
  4945.       interpreter.  See Section 4.5 on page 32 for additional  information
  4946.       about running TSR programs.
  4947.  
  4948.  
  4949.       13.10 Queue Manager and Spooler Are Gone
  4950.  
  4951.       First  make  sure  that the GEN parameter DOQUEUES is set to 1.  You
  4952.       can type STARTQUE yourself from the TSX command  prompt  to  restart
  4953.       the queue manager and spooler.
  4954.  
  4955.       Sometimes  an  error  in  the  queue  manager or spooler program, or
  4956.       corruption of the queue manager database, causes the  queue  manager
  4957.       and  spooler  to abnormally terminate.  You may be able to determine
  4958.       some  information   by   typing   the   files   SY:SPOOLER.LOG   and
  4959.       SY:QUEMAN.LOG.   For  example,  perhaps the system killed these jobs
  4960.       because the system page file was filling up (increase GEN  parameter
  4961.       PGFILSIZ).
  4962.  
  4963.       Chapter 13. Troubleshooting                                       85
  4964.  
  4965.  
  4966.       If  there  is  no  obvious solution, try deleting files SY:SPOOL.SYS
  4967.       and  SY:QUEMAN.SYS.   SPOOLER.SYS  is  only  used  to  hold  program
  4968.       printer   output   which   is  being  implicitly  spooled.   However
  4969.       QUEMAN.SYS contains information about all the queues and  forms  you
  4970.       have  set  up  using  QMAN or SET QUEUE and SET FORM commands.  Note
  4971.       that QMAN automatically maintains a file named  QINIT.CMD  with  the
  4972.       SET  QUEUE or SET FORM commands needed to rebuild your queues if you
  4973.       ever loose them.  If you use commands, not QMAN,  to  alter  queues,
  4974.       you must maintain QINIT.CMD yourself.
  4975.  
  4976.       After  deleting these two system files restart the spooler and queue
  4977.       manager by typing STARTQUE.  Wait a minute, then type  QINIT.   This
  4978.       should solve the problem.
  4979.  
  4980.  
  4981.       13.11 Slow Performance -- Excessive Memory Paging
  4982.  
  4983.       TSX  is a virtual memory operating system and allows programs to use
  4984.       more memory than is physically installed in your computer.   When  a
  4985.       program  uses  more  memory than installed, TSX reads and writes the
  4986.       extra memory pages to a "page file" on disk.  If  you  run  programs
  4987.       that  use  much more memory than actually installed in your computer
  4988.       your performance may be poor because  TSX  is  being  forced  to  do
  4989.       excessive   paging   operations.    The  MAXP0MEM  sysgen  parameter
  4990.       specifies the maximum number of k-bytes of virtual memory that  each
  4991.       program  may  use.   You  can  reduce this parameter or use PMAN and
  4992.       install a program with the MAXMEM parameter set to a smaller  value.
  4993.       Note,  some  programs  use  all  available memory even if they don't
  4994.       actually need that much memory so limiting their memory  space  will
  4995.       benefit  system  performance  without restricting program operation.
  4996.       You can use the SYSMON program to monitor memory paging.
  4997.  
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.                                    Chapter 14
  5004.  
  5005.                               TSX Command Summary
  5006.  
  5007.  
  5008.  
  5009.  
  5010.       This chapter is a quick reference to  TSX  commands.   Much  of  the
  5011.       information here is also available from the on-line HELP facility.
  5012.  
  5013.       A  detailed  guide  to  the  use  of  these commands is found in the
  5014.       TSX-32  User's  Manual  which  may  be  purchased  separately   (see
  5015.       REGISTER.DOC for ordering information).
  5016.  
  5017.       In this summary, the following conventions are used:
  5018.  
  5019.         . Items in square brackets are optional.
  5020.  
  5021.         . Items in lower case should be replaced by an appropriate value.
  5022.  
  5023.         . Dates  and  times  used with qualifiers such as /SINCE, /BEFORE,
  5024.           and /AFTER, must be  in  the  format  dd-mmm-yyyy:hh:mm:ss.   If
  5025.           left  out,  the  date  defaults to the current date and the time
  5026.           defaults to midnight.  If both date and time are left  out,  the
  5027.           command  assumes  midnight  of  the  current  day.   Here  is an
  5028.           example qualifier: /SINCE=5-MAY-1993.
  5029.  
  5030.         . Qualifiers preceded by [NO] are  negatable.   So,  for  example,
  5031.           you  may  toggle  process  monitoring  for  your  job  with  SET
  5032.           PROCESS/MONITOR and SET PROCESS/NOMONITOR.
  5033.  
  5034.         . Qualifiers followed by the word "Default"  in  parentheses  need
  5035.           not  be  specified  except  to  toggle a setting previously made
  5036.           with the  negated  form  of  that  qualifier.   If  a  negatable
  5037.           qualifier   is   specified   as   "default",   then  the  normal
  5038.           (non-negated) form of that qualifier is the default.
  5039.  
  5040.         . Qualifiers which include "=(files)" will accept a list of  files
  5041.           enclosed in parentheses and separated by commas.
  5042.  
  5043.  
  5044.  
  5045.  
  5046.  
  5047.  
  5048.  
  5049.  
  5050.  
  5051.  
  5052.  
  5053.  
  5054.  
  5055.                                        86
  5056.  
  5057.       Chapter 14. TSX Command Summary                                   87
  5058.  
  5059.  
  5060.       14.1 ALLOCATE
  5061.  
  5062.       The  ALLOCATE  command  allocates  a device for exclusive use by the
  5063.       job.
  5064.  
  5065.       Syntax:
  5066.  
  5067.            ALLOCATE device
  5068.  
  5069.       Example:
  5070.  
  5071.            ALLOCATE TTB0:
  5072.  
  5073.       The ALLOCATE command allocates one or  more  devices  for  exclusive
  5074.       use  by  your  job.  Other users will be denied access to the device
  5075.       until you use the DEALLOCATE command to release the  device  or  you
  5076.       log off.
  5077.  
  5078.       When  you  allocate  a  device, your primary process and all of your
  5079.       subprocesses may access the device.  You must have  ALLOC  privilege
  5080.       to use this command.
  5081.  
  5082.  
  5083.  
  5084.       14.2 ASSIGN
  5085.  
  5086.       The  ASSIGN  command defines a logical device name and associates it
  5087.       with a particular device and/or disk file.
  5088.  
  5089.       Syntax:
  5090.  
  5091.            ASSIGN[/qualifiers] actual_device logical_device
  5092.  
  5093.       Qualifiers:
  5094.  
  5095.          /SYSTEM specifies  that  the  assignment  is  to  be  made  on  a
  5096.                  system-wide  basis  and  apply  to  all  users.   If this
  5097.                  qualifier is not specified, the ASSIGN  applies  only  to
  5098.                  your job.
  5099.  
  5100.       See  Chapter  7,  starting  on  page  44, for additional information
  5101.       about the ASSIGN command.
  5102.  
  5103.  
  5104.  
  5105.       14.3 ASSIGNMENT Expressions
  5106.  
  5107.       The following operators  are  used  to  define  symbols  as  numeric
  5108.       expressions:  "=",  "==", and "===".  They define symbols and equate
  5109.       them to the values of expressions.
  5110.  
  5111.       Chapter 14. TSX Command Summary                                   88
  5112.  
  5113.  
  5114.       Syntax:
  5115.  
  5116.            symbol_name = expression     (Process local symbol table)
  5117.            symbol_name == expression    (Process global symbol table)
  5118.            symbol_name === expression   (System symbol table)
  5119.  
  5120.       Examples:
  5121.  
  5122.            COUNT = 1
  5123.            COUNT = COUNT + 1
  5124.            SUBSTR == FULLSTR[1:3]
  5125.            DOSLIST = ANSWER .EQS. "YES"
  5126.  
  5127.       When a numeric assignment statement is executed  the  expression  on
  5128.       the  right  side  of  the equal sign(s) is evaluated and its numeric
  5129.       value is assigned to the symbol name.  See Chapter  7,  starting  on
  5130.       page 44, for additional information about defining symbols.
  5131.  
  5132.  
  5133.  
  5134.       14.4 ASSIGNMENT for strings
  5135.  
  5136.       The  following  operators  are  used  to  define symbols as strings:
  5137.       ":=", ":==", and ":===".
  5138.  
  5139.       They define symbols and equate them to replacement strings.
  5140.  
  5141.       Syntax:
  5142.  
  5143.            symbol_name := replacement_string     (Process local symbol)
  5144.            symbol_name :== replacement_string    (Process global symbol)
  5145.            symbol_name :=== replacement_string   (System symbol)
  5146.  
  5147.       Examples:
  5148.  
  5149.            TTPR*INT := COPY ^ TTA1:
  5150.            SDIR*ECTORY :== DIRECTORY/ORDER=NAME
  5151.            INFILE := DHA0:JUNE.DAT
  5152.            TTPRINT :== COPY ^ TTA2:
  5153.  
  5154.       See Chapter 7, starting  on  page  44,  for  additional  information
  5155.       about defining symbols.
  5156.  
  5157.  
  5158.  
  5159.       14.5 BACKUP
  5160.  
  5161.       The  BACKUP  command makes extra ("backup") copies of files.  BACKUP
  5162.       copies one or more input  files  into  a  single  output  "container
  5163.       file"  called  a  "backup save set".  BACKUP is usually used to copy
  5164.       groups of files from a hard disk to  floppy  disks  or  tape.   This
  5165.       ensures  that  if files are lost on the hard disk (due to failure of
  5166.       the hard drive or human error) they can be restored from the  backup
  5167.       copy.   The  RESTORE  command, described in Section 14.69, page 133,
  5168.       is used to restore files saved with BACKUP.
  5169.  
  5170.       Chapter 14. TSX Command Summary                                   89
  5171.  
  5172.  
  5173.       Syntax:
  5174.  
  5175.            BACKUP[/qualifiers] infile outfile
  5176.  
  5177.       Qualifiers:
  5178.  
  5179.          /AFTER[=date-time] selects files created since a given  date  and
  5180.                  time.
  5181.  
  5182.          /ARCHIVE  Specifies  that  only  files  with  the  "archive"  (or
  5183.                  "updated") attribute set should be backed up.
  5184.  
  5185.          /BEFORE[=date-time] Selects files created  before  a  given  date
  5186.                  and time.
  5187.  
  5188.          /BELL  Specifies  that  BACKUP should ring the bell during volume
  5189.                  change operations.
  5190.  
  5191.          /COMPRESS Specifies that BACKUP should compress data  from  files
  5192.                  as  it  is  writing to the output device.  This typically
  5193.                  reduces the size of the output save set  by  30%  to  50%
  5194.                  but  increases  the  CPU  time  used  by the backup.  The
  5195.                  RESTORE program automatically recognizes compressed  save
  5196.                  sets and decompresses them during the restoration.
  5197.  
  5198.          /CONFIRM  Specifies  that  you  want to confirm whether each file
  5199.                  should be backed  up.   For  each  file  selected  to  be
  5200.                  backed  up  you  will be prompted for confirmation.  Type
  5201.                  'Y' to backup the file, 'N' to skip the file and  proceed
  5202.                  with the next one, or '?' to list other choices.
  5203.  
  5204.          /EXCLUDE=(files)    specifies    that   any   file   matching   a
  5205.                  specification in the "files" list is  not  to  be  backed
  5206.                  up.   Wildcard  file  specifications are permitted in the
  5207.                  exclusion list.  If more than one file  specification  is
  5208.                  provided,  enclose  the specifications in parentheses and
  5209.                  separate them with commas.
  5210.  
  5211.          /GROUP=count Specifies the number of save  set  records  in  each
  5212.                  redundancy  group.   Each  redundancy  group  includes an
  5213.                  extra record which can be used by RESTORE to  reconstruct
  5214.                  one  unreadable  record  in the group.  The default group
  5215.                  count is 10.
  5216.  
  5217.          /IGNORE Specifies that you want to backup the file even if  other
  5218.                  processes   currently  have  the  file  open  with  write
  5219.                  access.
  5220.  
  5221.          /INITIALIZE May be used  when  the  BACKUP  output  device  is  a
  5222.                  floppy  disk,  magnetic  tape  or  other  removable  file
  5223.                  structured device.  /INITIALIZE specifies that all  files
  5224.                  should   be   deleted  from  each  output  volume  before
  5225.                  creating a backup save set.
  5226.  
  5227.       Chapter 14. TSX Command Summary                                   90
  5228.  
  5229.  
  5230.          /NEW selects only files created today.
  5231.  
  5232.          /NOCRC Specifies that you do not want CRC  (cyclical  redundancy)
  5233.                  checksums calculated and recorded in the save set.
  5234.  
  5235.          /NOLOG  Specifies  that  BACKUP should not report which files are
  5236.                  being backed up.  By default BACKUP  logs  this  activity
  5237.                  to the terminal.
  5238.  
  5239.          /RECORD  Specifies  that  the  "updated"  attribute flag for each
  5240.                  file backed up should be cleared (turned off).  This  can
  5241.                  be  used  to  keep  track of which files have been backed
  5242.                  up.  This qualifier  can  be  used  in  conjunction  with
  5243.                  /ARCHIVE  to  perform  incremental backups -- saving only
  5244.                  files created or modified since the last backup.
  5245.  
  5246.          /SINCE=date-time Is equivalent to the /AFTER qualifier.
  5247.  
  5248.       The BACKUP command copies all selected input files to  to  a  backup
  5249.       save set.  For example,
  5250.  
  5251.            BACKUP  *.C  B:CODE
  5252.  
  5253.       creates  a  single backup save set (which is itself a valid file) on
  5254.       floppy disk B: named CODE.BSS containing all files from the  current
  5255.       directory  with  the  extension  ".C".  In addition to the data from
  5256.       the input files, the save set file also contains  information  about
  5257.       the  names  of  the  input  files and the device and directory where
  5258.       each input file was located.  The files in the backup save  set  can
  5259.       only  be restored using the RESTORE command (see Section 14.69, page
  5260.       133).
  5261.  
  5262.       Most variations of the  BACKUP  command  select  different  sets  of
  5263.       files  to  be  backed up.  File selection is done by combining lists
  5264.       of file specifications  (with  wildcard  characters  and  file  name
  5265.       factoring) with selection and exclusion qualifiers.
  5266.  
  5267.       The  /ARCHIVE qualifier causes BACKUP to select only files that were
  5268.       created or modified since the last backup.   The  /RECORD  qualifier
  5269.       causes  BACKUP  to  mark  the  directory entries of files indicating
  5270.       that they have been backed up.
  5271.  
  5272.       The output save set file can reside on a single volume  but  backing
  5273.       up  to  floppy disks often requires multiple volumes.  Save sets are
  5274.       stored with redundant information so that if some of it can  not  be
  5275.       read the lost data can be reconstructed.
  5276.  
  5277.       You  can  use  the  RESTORE/VERIFY command to read a backup save set
  5278.       and compare the contents of its files with those on disk  to  verify
  5279.       that the save set was written correctly and can be read.
  5280.  
  5281.       The  BACKUP  command  must  include  at least one file specification
  5282.       indicating which files are to be backed  up.   All  files  with  the
  5283.       extension ".C" could be backed up with the command,
  5284.  
  5285.       Chapter 14. TSX Command Summary                                   91
  5286.  
  5287.  
  5288.            BACKUP *.C B:CODE
  5289.  
  5290.       Multiple  input  file  specifications should be separated by commas.
  5291.       For example, to  backup  up  BIG.DAT  as  well  as  all  files  with
  5292.       extension ".C", use the command:
  5293.  
  5294.            BACKUP *.C,BIG.DAT B:ALL
  5295.  
  5296.       To  back  up  all files in the \DAN directory and all subdirectories
  5297.       under DAN, use the "..." wildcard directory  operator  (see  Section
  5298.       5.2, page 40) with a command such as:
  5299.  
  5300.            BACKUP \DAN\...\*.* B:DAN
  5301.  
  5302.       The  following  command  backs  up all files in all directories (and
  5303.       subdirectories) on the C: disk:
  5304.  
  5305.            BACKUP C:\...\*.* C:FULLBACK
  5306.  
  5307.       The /EXCLUDE qualifier can be used to  exclude  certain  files  from
  5308.       the  backup  operation.  For example, the following command backs up
  5309.       all files in the DAN and ALEX  directories  except  files  with  the
  5310.       extension BAK and TMP,
  5311.  
  5312.            BACKUP/EXCLUDE=(*.BAK,*.TMP) \DAN\...\*.*,\ALEX\...\*.* A:SAV
  5313.  
  5314.       Another  technique  to manage the volume of files backed up is known
  5315.       as "incremental backup".  This backs up only the  files  which  have
  5316.       been  created  or  updated  since  the last backup was done.  For an
  5317.       incremental backup, files are  selected  which  have  the  "updated"
  5318.       attribute  flag  set.   This attribute is set when a file is created
  5319.       or modified indicating that it has been updated since  it  was  last
  5320.       backed  up.   The  /ARCHIVE  qualifier  causes BACKUP to select only
  5321.       files with this updated attribute set.  For example,  the  following
  5322.       command  backs  up  all  files on C: that have the updated attribute
  5323.       set:
  5324.  
  5325.            BACKUP/ARCHIVE C:\...\*.* B:FULL
  5326.  
  5327.       The /RECORD qualifier is a companion to /ARCHIVE.   Whereas  ARCHIVE
  5328.       causes  BACKUP  to select only files with the updated attribute set,
  5329.       /RECORD causes BACKUP to reset the updated attribute flag  for  each
  5330.       file  that  is  backed up.  To perform periodic incremental backups,
  5331.       you should specify both the /ARCHIVE and /RECORD  qualifiers.   This
  5332.       selects  files  created or updated since the last incremental backup
  5333.       and causes the updated attribute to be cleared once the  backup  has
  5334.       been done.  The following command illustrates this:
  5335.  
  5336.            BACKUP/ARCHIVE/RECORD C:\...\*.* A:INC0511
  5337.  
  5338.       When   using   the   incremental   backup   technique,   you  should
  5339.       occasionally perform a full (or "baseline")  backup  of  all  files.
  5340.       When  performing this baseline backup you would normally specify the
  5341.       /RECORD qualifier but would not use  the  /ARCHIVE  qualifier  since
  5342.       you want to select all files.
  5343.  
  5344.       Chapter 14. TSX Command Summary                                   92
  5345.  
  5346.  
  5347.       When  copying  to  floppy  disk  more  than one output volume may be
  5348.       needed to store all the  files.   When  a  removable  output  device
  5349.       fills  up,  BACKUP  closes  the output save set and asks the user to
  5350.       mount another volume.  You can load another  floppy  disk  and  type
  5351.       "OK"  to continue the backup operation or you can type "QUIT" if you
  5352.       do not want to go on.  You can also type "INITIALIZE"  if  you  want
  5353.       to  continue but need to delete all files from the new volume first.
  5354.       The same file name  is  used  for  each  volume  of  the  save  set.
  5355.       Volumes  must  be provided to the RESTORE facility in the same order
  5356.       that the BACKUP facility wrote them.
  5357.  
  5358.       Often a set of floppy disks used for backup  may  contain  old  save
  5359.       sets  or  other  unwanted  data.   The  /INITIALIZE qualifier causes
  5360.       BACKUP to delete all the files on the output volume  before  opening
  5361.       a  new save set file.  Be sure that the output disk does not contain
  5362.       data you need before running BACKUP with /INITIALIZE.   BACKUP  will
  5363.       not  allow  you  to  specify the /INITIALIZE qualifier if the output
  5364.       disk is a fixed disk.  /INITIALIZE also will not delete  files  with
  5365.       the  protected  attribute  set (the UNPROTECT command will clear the
  5366.       protected attribute).
  5367.  
  5368.  
  5369.  
  5370.       14.6 BATCH
  5371.  
  5372.       BATCH Submits a command file to be executed as  a  background  batch
  5373.       job.
  5374.  
  5375.       Syntax:
  5376.  
  5377.            BATCH[/qualifiers] filespec [/qualifiers]
  5378.  
  5379.       Qualifiers:
  5380.  
  5381.          /AFTER[=date-time] Run job at specified date-time.
  5382.  
  5383.          /[NO]ASSIGNS  (Default)  The  batch job "inherits" logical device
  5384.                  names and symbol names currently in effect.
  5385.  
  5386.          /[NO]HOLD Specifies that the  batch  job  is  to  be  held  until
  5387.                  later.
  5388.  
  5389.          /[NO]IDENTIFY  (Default)  Display  the  job id and queue name for
  5390.                  job.
  5391.  
  5392.          /LOGFILE[=filename] Write output to filename.  (Default: Name  of
  5393.                  command file)
  5394.  
  5395.          /NAME[=nametext]   Specify   the  job  name.   Default:  Name  of
  5396.                  invoking command file.
  5397.  
  5398.          /[NO]NOTIFY Print a  message  on  terminal  when  the  batch  job
  5399.                  completes.
  5400.  
  5401.       Chapter 14. TSX Command Summary                                   93
  5402.  
  5403.  
  5404.          /PARAMETERS=params   Specify  parameters  to  be  passed  to  the
  5405.                  command file.
  5406.  
  5407.          /PRIORITY=n Specify the queue priority for the batch job.
  5408.  
  5409.          /QUEUE=quename Specify the queue to  submit  job  to.   (Default:
  5410.                  BATCH:)
  5411.  
  5412.          /[NO]RESTART  Restart  the  job if a system shutdown occurs while
  5413.                  job is running.
  5414.  
  5415.          /RUNPRIORITY=n Run the batch job at this priority.   The  default
  5416.                  priority  for  both  interactive  and  batch  jobs is 50.
  5417.                  Specify a priority lower than 50 if you wish to have  the
  5418.                  background  batch  job  execute  at a lower priority than
  5419.                  interactive users.  You can use QMAN to set  the  default
  5420.                  execution priority for a queue.
  5421.  
  5422.       See  Section  9.3  on  page  54 for additional information about the
  5423.       BATCH command.
  5424.  
  5425.  
  5426.  
  5427.       14.7 BOOT
  5428.  
  5429.       BOOT Stops TSX and reboots DOS.  It is recommended that you  execute
  5430.       the  SHUTDOWN  procedure first which does an orderly shutdown of all
  5431.       jobs.
  5432.  
  5433.  
  5434.  
  5435.       14.8 BYE
  5436.  
  5437.       BYE is a synonym  to  the  LOGOFF  command.   See  LOGOFF  for  more
  5438.       detail.
  5439.  
  5440.  
  5441.  
  5442.       14.9 CALCULATE
  5443.  
  5444.       CALCULATE Evaluates a numeric expression and displays the result.
  5445.  
  5446.       Syntax:
  5447.  
  5448.            CALCULATE expression
  5449.  
  5450.       Examples:
  5451.  
  5452.            CALC 22/7
  5453.            CALC (121+822)/4.71
  5454.            CALC SQRT(43)
  5455.  
  5456.       In  addition to the arithmetic operators, CALCULATE also accepts the
  5457.       following library functions: ACOS, ASIN, ATAN, COS, EXP,  ABS,  LOG,
  5458.  
  5459.       Chapter 14. TSX Command Summary                                   94
  5460.  
  5461.  
  5462.       LOG10,  SIN,  SQRT,  TAN, DEG, RAD.  Arguments to trig functions are
  5463.       in units of degrees.
  5464.  
  5465.  
  5466.  
  5467.       14.10 CALENDAR
  5468.  
  5469.       CALENDAR Displays a calendar for a selected month.  If  you  do  not
  5470.       specify a month, a calendar for the current month is displayed.
  5471.  
  5472.       Syntax:
  5473.  
  5474.            CALENDAR [month [year]]
  5475.  
  5476.       Examples:
  5477.  
  5478.            CALENDAR
  5479.            CALENDAR JAN
  5480.            CALENDAR DEC 92
  5481.  
  5482.  
  5483.  
  5484.       14.11 CALL
  5485.  
  5486.       The  CALL  statement  is  used  in  a  DOS-style  BAT file to invoke
  5487.       another BAT file.
  5488.  
  5489.       Syntax:
  5490.  
  5491.            CALL[/qualifiers] file [arguments]
  5492.  
  5493.       Qualifiers:
  5494.  
  5495.          /[NO]ECHO List each line of the file as it is executed.
  5496.  
  5497.       The CALL command can be used to invoke  a  command  procedure  or  a
  5498.       .BAT  file.   It  is identical to using the '@' sign but is provided
  5499.       for compatibility with DOS.
  5500.  
  5501.       The optional qualifiers are  /ECHO,  which  forces  echoing  of  the
  5502.       lines   in   the   called  command  procedure,  and  /NOECHO,  which
  5503.       suppresses echoing.  By default the called  command  procedure  will
  5504.       inherit the echo characteristics of the caller.
  5505.  
  5506.  
  5507.  
  5508.       14.12 CHAIN
  5509.  
  5510.       CHAIN  chains  from  one  command  file to another.  When the second
  5511.       command file exits control does not return to the  invoking  command
  5512.       file.
  5513.  
  5514.       Syntax:
  5515.  
  5516.       Chapter 14. TSX Command Summary                                   95
  5517.  
  5518.  
  5519.            CHAIN[/qualifiers] filespec [arguments]
  5520.  
  5521.       Qualifiers:
  5522.  
  5523.          /ABORT  Close  all  currently  nested  command  procedures before
  5524.                  running.
  5525.  
  5526.       The CHAIN command allows command files to  "chain"  together.   This
  5527.       is  a  useful tool for large applications which may not wish to have
  5528.       one central command file driving them.  There  are  many  advantages
  5529.       to  having command files be the topmost layer of large applications.
  5530.       For one, it provides instant  access  to  all  the  normal  keyboard
  5531.       monitor  commands  for  doing  utility work such as copying, backup,
  5532.       allocation of devices, etc.  The technique of chaining  also  allows
  5533.       developers  to  keep  command  file driven applications from getting
  5534.       nested too deeply by allowing one command procedure to pass  control
  5535.       to another while terminating itself and closing its file.
  5536.  
  5537.       If  no  qualifiers  are  specified,  the  CHAIN  command  closes the
  5538.       currently  executing  command  file  and  begins  execution  of  the
  5539.       command  file specified as the first parameter to the CHAIN command.
  5540.       Any open command files above the  one  invoking  the  CHAIN  command
  5541.       remain  open  so  the  new command file begins executing at the same
  5542.       nesting level as the one being exited.  If the /ABORT  qualifier  is
  5543.       specified,  all  open  command  files for the job are closed and the
  5544.       command file being entered is started as the topmost command file.
  5545.  
  5546.  
  5547.  
  5548.       14.13 CHDIR
  5549.  
  5550.       CHDIR Changes the current default  working  disk  and/or  directory.
  5551.       It is equivalent to the SET DEFAULT and the CD command.
  5552.  
  5553.       Syntax:
  5554.  
  5555.            CHDIR dirspec
  5556.            CD dirspec
  5557.            SET DEFAULT dirspec
  5558.  
  5559.       Examples:
  5560.  
  5561.            CD \TSX32SYS
  5562.            CHDIR ..\TEST
  5563.            SET DEFAULT E:\BIN
  5564.  
  5565.  
  5566.  
  5567.       14.14 CLS
  5568.  
  5569.       CLS clears and resets the terminal screen.
  5570.  
  5571.       Chapter 14. TSX Command Summary                                   96
  5572.  
  5573.  
  5574.       14.15 COPY
  5575.  
  5576.       COPY copies one or more files.
  5577.  
  5578.       Syntax:
  5579.  
  5580.            COPY[/qualifiers] inputnames outputname
  5581.  
  5582.       Qualifiers:
  5583.  
  5584.          /ALLOCATE=size Preallocate this many bytes for the output file.
  5585.  
  5586.          /BEFORE[=date-time]  Copy  only files created before a given date
  5587.                  and time.
  5588.  
  5589.          /BLOCKSIZE=size Specify the number of bytes in  each  data  block
  5590.                  written by COPY.
  5591.  
  5592.          /[NO]CONCATENATE  Concatenate  files  together  to  form a single
  5593.                  output file.
  5594.  
  5595.          /[NO]CONFIRM Request confirmation before copying each file.
  5596.  
  5597.          /[NO]CONTIGUOUS  Store  data   blocks   for   the   output   file
  5598.                  contiguously on disk.
  5599.  
  5600.          /[NO]CREDIR Create output directory if it doesn't exist.
  5601.  
  5602.          /DATE Copy files created on the given date.
  5603.  
  5604.          /[NO]DELETE Delete input file(s) after copying.
  5605.  
  5606.          /EXCLUDE=(files) Exclude listed files from copy.
  5607.  
  5608.          /[NO]LOG Display log information.
  5609.  
  5610.          /[NO]MBXALLOC=bytes Allocate this many bytes for mailbox device.
  5611.  
  5612.          /[NO]MBXPERM Create permanent mailbox.
  5613.  
  5614.          /[NO]MD Same as /[NO]CREDIR
  5615.  
  5616.          /[NO]MKDIR Same as /[NO]CREDIR.
  5617.  
  5618.          /[NO]MULTI_VOLUME Prompt for additional output volumes.
  5619.  
  5620.          /NEWFILE Only copy files created today.
  5621.  
  5622.          /[NO]PREDELETE  Delete  output  file  before  copy  if it already
  5623.                  exists.
  5624.  
  5625.          /PROTECT Set protection on output file.
  5626.  
  5627.          /QUERY Same /[NO]CONFIRM.
  5628.  
  5629.       Chapter 14. TSX Command Summary                                   97
  5630.  
  5631.  
  5632.          /[NO]REPLACE (Default) Overwrite old files with new copies.
  5633.  
  5634.          /SETDATE Set date/time of output file to current date/time.
  5635.  
  5636.          /SINCE[=date-time] Copy files created since date-time.
  5637.  
  5638.          /UPDATE Prevents overwriting existing files which are newer  than
  5639.                  the file about to be copied over it.
  5640.  
  5641.       The  COPY command makes a copy of one or more files.  It can be used
  5642.       to move files between devices or directories.   Unless  the  /DELETE
  5643.       qualifier is specified, the input file is not altered.
  5644.  
  5645.       Subdirectory  files  are  not  copied.   However,  you  can  use the
  5646.       /CREDIR qualifier to cause COPY to create subdirectories for  output
  5647.       files.
  5648.  
  5649.       Wildcard  characters  may  be  used  in  file  specifications.   The
  5650.       asterisk ('*') character matches zero or more  characters,  and  the
  5651.       question  mark  ('?') character matches exactly one character.  Both
  5652.       may be used in input file names, but only the asterisk may  be  used
  5653.       in the output file name.  For example, the command
  5654.  
  5655.            COPY MANUAL.TXT,AUTO.TXT  *.OLD
  5656.  
  5657.       results  in MANUAL.TXT being copied to MANUAL.OLD and AUTO.TXT being
  5658.       copied to AUTO.OLD.
  5659.  
  5660.       To copy all files with the  extension  ".C"  created  yesterday  and
  5661.       today to the same name with the extension ".NEW", type
  5662.  
  5663.            COPY/SINCE=YESTERDAY  *.C  *.NEW
  5664.  
  5665.       See   Section  5.2,  page  40,  for  more  information  on  wildcard
  5666.       characters and their usage.
  5667.  
  5668.       If a part of a file specification is missing from  the  output  file
  5669.       name,  the  missing  part  is treated as if it were the '*' wildcard
  5670.       character, and the corresponding part is used from  the  input  file
  5671.       name.
  5672.  
  5673.       If  "\...\"  is  specified  as  the output directory, then the input
  5674.       directory for each file  is  used  as  the  output  directory.   For
  5675.       example,  the  following command copies all files in all directories
  5676.       on device DHA1: to device DFA0: and preserves the directory tree:
  5677.  
  5678.            COPY/CREDIR  DHA1:\...\*.*  DFA0:\...\*.*
  5679.  
  5680.       Note the use of the /CREDIR qualifier which causes  COPY  to  create
  5681.       any non-existing directories on the output disk.
  5682.  
  5683.       It  is also possible to use an output directory specification of the
  5684.       form \directory...\ to copy a directory tree under  a  directory  on
  5685.       the  output  device.   For example, the following command copies all
  5686.       files in all directories on device A: to device C: and constructs  a
  5687.  
  5688.       Chapter 14. TSX Command Summary                                   98
  5689.  
  5690.  
  5691.       directory  tree  on  the output disk that matches the directory tree
  5692.       on the input disk except it is rooted under the directory \PASCAL\,
  5693.  
  5694.            COPY/CREDIR  B:\...\*.*  C:\PASCAL...\*.*
  5695.  
  5696.       A  technique  called  "factoring"  may  be  used  to  simplify   the
  5697.       specification  of a list of files that have a common portion for the
  5698.       input file specification.  To use  factoring,  enclose  the  varying
  5699.       parts  of the file specification in parentheses separated by commas.
  5700.       For example, the command
  5701.  
  5702.            COPY PAYROLL.(CBL,OBJ,EXP) OLDPAY.*
  5703.  
  5704.       is equivalent to the command
  5705.  
  5706.            COPY PAYROLL.CBL,PAYROLL.OBJ,PAYROLL.EXP OLDPAY.*
  5707.  
  5708.       or to the commands
  5709.  
  5710.            COPY PAYROLL.CBL OLDPAY.CBL
  5711.            COPY PAYROLL.OBJ OLDPAY.OBJ
  5712.            COPY PAYROLL.EXP OLDPAY.EXP
  5713.  
  5714.       See the description of the FMAN command on page 114 for  information
  5715.       about a screen-oriented file management program.
  5716.  
  5717.  
  5718.  
  5719.       14.16 COUNT
  5720.  
  5721.       COUNT counts the records in files.
  5722.  
  5723.       Syntax:
  5724.  
  5725.            COUNT[/qualifiers] filespec
  5726.  
  5727.       Qualifiers:
  5728.  
  5729.          /BEFORE[=date-time]  Select files created before a given date and
  5730.                  time.
  5731.  
  5732.          /DATE[=date] Selects files created on the given date.
  5733.  
  5734.          /EXCLUDE=(files) Exclude specified files.
  5735.  
  5736.          /NEW Only count files created today.
  5737.  
  5738.          /OUTPUT=file Redirects count output to a file.
  5739.  
  5740.          /SINCE[=date-time] Select only files  created  since  given  date
  5741.                  and time.
  5742.  
  5743.       Chapter 14. TSX Command Summary                                   99
  5744.  
  5745.  
  5746.       14.17 DATE
  5747.  
  5748.       DATE  is  a  synonym  for SET DATE.  It can also be used to show the
  5749.       current date.
  5750.  
  5751.  
  5752.  
  5753.       14.18 DEALLOCATE
  5754.  
  5755.       DEALLOCATE releases exclusive use of a device  previously  allocated
  5756.       by use of the ALLOCATE command.
  5757.  
  5758.       Syntax:
  5759.  
  5760.            DEALLOCATE device[,device...]
  5761.  
  5762.  
  5763.  
  5764.       14.19 DEASSIGN
  5765.  
  5766.       DEASSIGN   Removes   (deletes)   symbol   and  logical  device  name
  5767.       assignments.
  5768.  
  5769.       Syntax:
  5770.  
  5771.            DEASSIGN[/qualifiers] name
  5772.  
  5773.       Qualifiers:
  5774.  
  5775.          /ALL Deleate all symbols in the specified table.
  5776.  
  5777.          /GLOBAL Specified symbol is in the process global table.
  5778.  
  5779.          /LOCAL Specified symbol is in the process local table.
  5780.  
  5781.          /SYMBOL Specified symbol is a symbol, not a logical device name.
  5782.  
  5783.          /SYSTEM Specified symbol is in the system table.
  5784.  
  5785.       The DEASSIGN command removes a symbol name from a symbol  table,  or
  5786.       a  logical  device  name  from  an  assign  table.   If  the /SYMBOL
  5787.       qualifier is specified, the name is treated as a  symbol  name.   If
  5788.       /SYMBOL  is  not  specified, the name is treated as a logical device
  5789.       name.
  5790.  
  5791.       The qualifiers /LOCAL, /GLOBAL,  and  /SYSTEM  specify  whether  the
  5792.       name  is  in the process local, process global, or system table.  No
  5793.       more than one of these qualifiers may be  specified  on  a  command.
  5794.       If  none  of these qualifiers is specified, the process global table
  5795.       is searched for a logical device name and the  process  local  table
  5796.       is searched for a symbol name.
  5797.  
  5798.       If  the  /ALL  qualifier  is  specified, all entries in the selected
  5799.       symbol or assign table  are  deleted.   In  this  case,  the  "name"
  5800.       parameter is ignored.
  5801.  
  5802.       Chapter 14. TSX Command Summary                                  100
  5803.  
  5804.  
  5805.       SYSPRV  privilege  is  required  to  remove an entry from the system
  5806.       table.
  5807.  
  5808.  
  5809.  
  5810.       14.20 DEFINE KEY
  5811.  
  5812.       The  DEFINE  KEY  command  defines  a  replacement  string  that  is
  5813.       substituted  for  a specified key when the key is pressed.  See also
  5814.       the description of the MACROS command on page 122,  for  information
  5815.       about   defining  keyboard  macros  for  the  console  keyboard  and
  5816.       make/break type terminals.
  5817.  
  5818.       Syntax:
  5819.  
  5820.            DEFINE KEY[/qualifiers] key_name replacement_string
  5821.  
  5822.       Examples:
  5823.  
  5824.            DEFINE KEY/NOECHO F11 CLS
  5825.            DEFINE KEY/NOECHO F12 DIR/SINCE=YESTERDAY
  5826.  
  5827.       Qualifiers:
  5828.  
  5829.          /[NO]ECHO  Display  replacement  string  when  replacement  takes
  5830.                  place.
  5831.  
  5832.          /GOLD "Gold" key must be pressed before the defined key.
  5833.  
  5834.          /[NO]LETTER key_name is a character, not a function key.
  5835.  
  5836.          /[NO]TERMINATE Insert carriage-return after replacement.
  5837.  
  5838.  
  5839.  
  5840.       14.21 DELETE
  5841.  
  5842.       DELETE deletes one or more files from the disk.
  5843.  
  5844.       Syntax:
  5845.  
  5846.            DELETE[/qualifiers] filespec
  5847.  
  5848.       Qualifiers:
  5849.  
  5850.          /ALLOCATION  Display  allocated  size  of file rather than actual
  5851.                  size.
  5852.  
  5853.          /BEFORE[=date-time] Selects filescreated before a given date  and
  5854.                  time.
  5855.  
  5856.          /[NO]CONFIRM Request confirmation before deleting each file.
  5857.  
  5858.          /DATE[=date] Delete files created on the given date.
  5859.  
  5860.       Chapter 14. TSX Command Summary                                  101
  5861.  
  5862.  
  5863.          /ERASE Actually erase contents of file from the disk.
  5864.  
  5865.          /EXCLUDE=(files) Do not delete files specified in list.
  5866.  
  5867.          /[NO]LOG Display file information as each file is deleted.
  5868.  
  5869.          /NEWFILE Delete only files created today.
  5870.  
  5871.          /[NO]QUERY Same as /[NO]CONFIRM.
  5872.  
  5873.          /SINCE[=date-time]  Delete files created since specified date and
  5874.                  time.
  5875.  
  5876.  
  5877.  
  5878.       14.22 DETACH
  5879.  
  5880.       DETACH initiates execution of a detached job.
  5881.  
  5882.       Syntax:
  5883.  
  5884.            DETACH[/qualifiers] filespec arguments
  5885.            DETACH[/qualifiers] command
  5886.  
  5887.       Qualifiers:
  5888.  
  5889.          /[NO]COMMAND Detach command is a system command,  not  a  command
  5890.                  file.
  5891.  
  5892.          /[NO]IDENTIFY  Print  detached  job  ID  on  terminal.   Default:
  5893.                  IDENTIFY
  5894.  
  5895.          /[NO]INHERIT (Default) Inherit attributes from the parent job.
  5896.  
  5897.          /LOGFILE=filename Write log information to specified file.
  5898.  
  5899.          /NAME=job_name Specify the job name.
  5900.  
  5901.          /[NO]NOTIFY (Default) Notify when job is completed.
  5902.  
  5903.          /PRIORITY=value Run job at specified priority.
  5904.  
  5905.       The DETACH command starts a detached  job  to  execute  a  specified
  5906.       command   file   or   system   command.    The   detached  job  runs
  5907.       asynchronously from your job and your job does not have to wait  for
  5908.       the  detached  job to finish.  You can use the STOP command to abort
  5909.       a detached job you started.
  5910.  
  5911.       Detached jobs are very similar to batch jobs  described  in  Section
  5912.       9.3,  page  54.   The  main  difference is that detached jobs always
  5913.       start immediately whereas  there  can  be  a  queue  of  batch  jobs
  5914.       waiting  to  begin  execution.   In fact, the queue manager uses the
  5915.       detached job facility to execute batch jobs.
  5916.  
  5917.       Chapter 14. TSX Command Summary                                  102
  5918.  
  5919.  
  5920.       The type of parameter specified to the  DETACH  command  depends  on
  5921.       whether  the /COMMAND qualifier is specified.  If you do not specify
  5922.       the /COMMAND qualifier, then the parameter to the DETACH command  is
  5923.       the  name  of  a command file to be executed as a detached job.  You
  5924.       may optionally specify parameters for  the  command  file  following
  5925.       the  command file name.  For example, the following command executes
  5926.       the command file named BACKALL passing it one parameter MARCH:
  5927.  
  5928.            DETACH BACKALL MARCH
  5929.  
  5930.       Within the BACKALL  command  file,  the  MARCH  parameter  could  be
  5931.       accessed using either the 'P1' or ^1 notations.
  5932.  
  5933.       If  the  /COMMAND  qualifier is specified, then the parameter to the
  5934.       DETACH command is a single system command rather than the name of  a
  5935.       command  file.   The  effect is the same as if you created a command
  5936.       file consisting of only the single command and executed  that  as  a
  5937.       detached  job.   The  advantage  is that you do not have to create a
  5938.       command file to execute a single command as a detached job.
  5939.  
  5940.       For example,  the  following  command  executes  a  "DIRECTORY  *.C"
  5941.       command as a detached job and creates a log file named DIRLOG:
  5942.  
  5943.            DETACH/COMMAND/LOGFILE=DIRLOG DIRECTORY *.C
  5944.  
  5945.       If   the   command   being  executed  as  a  detached  job  contains
  5946.       redirection operators ('>' and '<'), then  enclose  the  command  in
  5947.       quotation  marks  to prevent the command processor from applying the
  5948.       redirection to the DETACH command itself.
  5949.  
  5950.       All program input for the detached job comes from the  command  file
  5951.       or  the  single command line if /COMMAND was specified.  When all of
  5952.       the commands in the  command  file  are  exhausted,  and  a  program
  5953.       running  in  the  detached  job tries to read from the terminal, the
  5954.       detached job is logged off.
  5955.  
  5956.       All output directed to the terminal by programs in the detached  job
  5957.       is  discarded.   You  can  use  the  /LOGFILE=filename  qualifier to
  5958.       specify a log file into which output directed  to  the  terminal  by
  5959.       the detached job will be written.
  5960.  
  5961.       You  can place a SEND/PARENT command in a detached (or batch) job to
  5962.       send a message to the initiating ("parent") job.
  5963.  
  5964.       If you do not specify the /NOINHERIT qualifier, the following  items
  5965.       of  information  are  "inherited"  by  the  detached  job  from  the
  5966.       initiating job:
  5967.  
  5968.         . Process global logical device assignment names.
  5969.  
  5970.         . Process global symbol names.
  5971.  
  5972.         . The current default working directory.
  5973.  
  5974.       Chapter 14. TSX Command Summary                                  103
  5975.  
  5976.  
  5977.         . The directory search path.
  5978.  
  5979.         . The maximum authorized execution priority.
  5980.  
  5981.         . The maximum authorized privileges.
  5982.  
  5983.         . The command prompt string.
  5984.  
  5985.         . The user and group numbers (UIC).
  5986.  
  5987.       You must have DETACH privilege to use detached jobs.
  5988.  
  5989.  
  5990.  
  5991.       14.23 DIFFERENCES
  5992.  
  5993.       DIFFERENCES compares two files and reports the  differences  between
  5994.       them.
  5995.  
  5996.       Syntax:
  5997.  
  5998.            DIFFERENCES[/qualifiers] primary_file secondary_file
  5999.  
  6000.       Qualifiers:
  6001.  
  6002.          /BINARY Same as /FAST.
  6003.  
  6004.          /CONTINUE In fast mode, report all differences between files.
  6005.  
  6006.          /[NO]EXACT (Default) Consider upper and lower case as different.
  6007.  
  6008.          /FAST Do a fast byte by byte comparison of the two files.
  6009.  
  6010.          /IGNORE=type  Ignore  differences  in certain characters.  If you
  6011.                  specify /IGNORE=DECIMAL then differences between  decimal
  6012.                  digits  (0-9)  are  ignored.   If you specify /IGNORE=HEX
  6013.                  then differences between hexadecimal digits are  ignored.
  6014.                  Hexadecimal  digits  are  the digits 0 to 9 and the upper
  6015.                  case letters A to F.
  6016.  
  6017.          /MAXDIF=sect Allow  this  many  difference  sections.   (Default:
  6018.                  100)
  6019.  
  6020.          /MAXSECTION=n   Allow   n   records   in  a  difference  section.
  6021.                  (Default: 50)
  6022.  
  6023.          /NUMBER Display record numbers.
  6024.  
  6025.          /OUTPUT[=file] Redirects output to file.
  6026.  
  6027.          /RECLEN=length Specify  the  maximum  record  length.   (Default:
  6028.                  1024)
  6029.  
  6030.       DIFFERENCES  features  two  different  modes of operation.  The most
  6031.       common of these is a record oriented mode intended  for  text  files
  6032.  
  6033.       Chapter 14. TSX Command Summary                                  104
  6034.  
  6035.  
  6036.       which  produces  an  output report displaying each area in which the
  6037.       two files differ.  A second, faster mode, suited for  comparing  two
  6038.       binary  files,  simply compares the files character by character and
  6039.       determines whether they  are  the  same  or  different.   This  mode
  6040.       reports  the  byte  position  from  the beginning of the file of any
  6041.       mismatch.  By default DIFFERENCES operates in  ASCII  mode;  if  you
  6042.       want  the  fast,  binary  mode,  specify either the /FAST or /BINARY
  6043.       qualifiers.
  6044.  
  6045.       When operating in fast mode, DIFFERENCES  reads  large  portions  of
  6046.       each  file  and  compares  them  character  by  character.   When  a
  6047.       mismatch between the two files is  discovered,  DIFFERENCES  reports
  6048.       the  position  of  the mismatch and stops.  The position reported is
  6049.       the byte position relative to the start of the file.
  6050.  
  6051.       If you need to know all the bytes which differ  between  two  files,
  6052.       specify the /CONTINUE qualifier on the command line.
  6053.  
  6054.       In  the normal mode of operation, DIFFERENCES reads records from the
  6055.       primary file and tries to locate each one  in  the  secondary  file.
  6056.       As  it  locates  matching  records,  DIFFERENCES  updates  a current
  6057.       record position in the each file.
  6058.  
  6059.       When a  section  in  which  the  two  files  differ  is  encountered
  6060.       DIFFERENCES  reports  the  section.   Each  such report includes the
  6061.       following.
  6062.  
  6063.         . The name of the primary input file.
  6064.  
  6065.         . Records from the primary file, beginning with  any  last  record
  6066.           found  in  the  secondary file, followed by any records from the
  6067.           primary file which could not be located in the  secondary  file,
  6068.           ending  with  any  record  which  again  could  be  found in the
  6069.           secondary file.
  6070.  
  6071.         . The name of the secondary input file.
  6072.  
  6073.         . Records from the secondary file, beginning with any last  record
  6074.           which  matched  a  primary  file record, followed by any records
  6075.           which do not match primary file records, ending with any  record
  6076.           which did match a primary file record.
  6077.  
  6078.       When  DIFFERENCES  can not locate the current primary file record in
  6079.       the secondary file it will not search all the way to the end of  the
  6080.       secondary   file   looking  for  it.   The  /MAXSECTION=n  qualifier
  6081.       controls how far forward DIFFERENCES will look.  If DIFFERENCES  can
  6082.       not  locate  a  primary  file record at all, the record is listed in
  6083.       the differences section and the comparison continues with  the  next
  6084.       record from the primary file.
  6085.  
  6086.       The   /MAXSECTION  qualifier  also  controls  how  many  consecutive
  6087.       primary file records are allowed  not  to  match  records  from  the
  6088.       secondary  file.   If  this  limit is exceeded DIFFERENCES gives up,
  6089.       assuming the differences between the two files are too extensive  to
  6090.       describe.
  6091.  
  6092.       Chapter 14. TSX Command Summary                                  105
  6093.  
  6094.  
  6095.       Usually  DIFFERENCES  directs output to the terminal.  Output can be
  6096.       redirected to a file by specifying  the  /OUTPUT=file  qualifier  or
  6097.       using a redirection operator on the command line.
  6098.  
  6099.       DIFFERENCES  sets  the  $STATUS  symbol to the number of differences
  6100.       encountered.  This allows command  procedures  to  take  conditional
  6101.       action when two files differ.
  6102.  
  6103.  
  6104.  
  6105.       14.24 DIRECTORY
  6106.  
  6107.       DIRECTORY displays information about a file or a list of files.
  6108.  
  6109.       Syntax:
  6110.  
  6111.            DIRECTORY[/qualifiers] filespec
  6112.  
  6113.       Qualifiers:
  6114.  
  6115.          /[NO]ACROSS Display sorted files across the screen.
  6116.  
  6117.          /BEFORE[=date-time]  Display  files  created  before a given date
  6118.                  and time.
  6119.  
  6120.          /[NO]BLOCKS List file sizes in units of 512 byte  blocks  [or  in
  6121.                  bytes].
  6122.  
  6123.          /[NO]BRIEF List only directory headers and file names.
  6124.  
  6125.          /COLUMNS=n Use this many columns for display.
  6126.  
  6127.          /[NO]CREATION_DATE=n   Use   this  many  columns  for  file  date
  6128.                  display.
  6129.  
  6130.          /DATE[=date] Select files created on the specified date.
  6131.  
  6132.          /[NO]DESCENDING Display files in descending order.
  6133.  
  6134.          /DIRECTORY List only subdirectories.
  6135.  
  6136.          /[NO]DOWN Sort items in columns on the screen.
  6137.  
  6138.          /EXCLUDE=(files) Exclude specified files.
  6139.  
  6140.          /[NO]FAST Same as /BRIEF.
  6141.  
  6142.          /[NO]FORMAT[=parts]  Produce  output  suitable  for  input  to  a
  6143.                  program.  If used, parts must be one of the following:
  6144.  
  6145.       Chapter 14. TSX Command Summary                                  106
  6146.  
  6147.  
  6148.                  NONODE       Omit node specification, if any.
  6149.                  NODEVICE     Omit device specification
  6150.                  NODIRECTORY  Omit directory specification
  6151.                  NONAME       Omit file name
  6152.                  NOEXTENSION  Omit file extension
  6153.                  NOTYPE       Omit file extension
  6154.  
  6155.          /FREE Report only free space on disk.
  6156.  
  6157.          /[NO]GRAND Report only grand total size of specified files.
  6158.  
  6159.          /[NO]HEADER (Default) Include header line in listing.
  6160.  
  6161.          /LOWCASE List file names in lower case.
  6162.  
  6163.          /[NO]NAME[=n] Use this many columns for file name.  Default: 12
  6164.  
  6165.          /NEWFILES List only files created today.
  6166.  
  6167.          /[NO]NUMBNU[=n]  Assign  sequential numbers to files; n specifies
  6168.                  number of columns to be use for numbers.
  6169.  
  6170.          /ORDER[=sort_key]  Sort  file  list  on  the  specified   key(s).
  6171.                  Sort_key must be one of the following:
  6172.  
  6173.                  ALLOCATED       Space file takes on disk.
  6174.                  CREATED         Creation date.
  6175.                  CREATION_DATE   Creation date.
  6176.                  DIRECTORY       File directory.
  6177.                  EXTENSION       File name extension.
  6178.                  NAME            Primary file name.
  6179.                  SIZE_ALLOCATED  Space file takes on disk.
  6180.                  SIZE_USED       File space actually used.
  6181.                  TYPE            File name extension.
  6182.                  USED            File space actually used.
  6183.  
  6184.          /OUTPUT[=file]  Send  output  to  the  specified  file.  Default:
  6185.                  DIRECT.LST
  6186.  
  6187.          /PAUSE Pause after each screen of output.
  6188.  
  6189.          /REVERSE Same as /DESCENDING.
  6190.  
  6191.          /SINCE[=date-time] Select files created since a  given  date  and
  6192.                  time.
  6193.  
  6194.          /[NO]SIZE[=sizespec]  Include  file  sizes  in listing.  If used,
  6195.                  sizespec must be one of the following:
  6196.  
  6197.                  ALL             Show both size allocated and used.
  6198.                  ALLOCATED       Show space file takes on disk.
  6199.                  USED            Show actual size of file.
  6200.  
  6201.          /SORT[=sort_key] Same as /ORDER.
  6202.  
  6203.       Chapter 14. TSX Command Summary                                  107
  6204.  
  6205.  
  6206.          /[NO]TOTAL Same as /[NO]GRAND
  6207.  
  6208.          /[NO]TRAILER (Default) Include trailer lines in listing.
  6209.  
  6210.          /WIDTH=n Use this width for output.
  6211.  
  6212.       You can use the "\...\" wildcard notation to obtain a  directory  of
  6213.       all  files  in  a  directory tree.  See Section 5.2, on page 40, for
  6214.       additional information about wildcards.
  6215.  
  6216.       See the description of the FMAN command on page 114 for  information
  6217.       about a screen-oriented file management program.
  6218.  
  6219.  
  6220.  
  6221.       14.25 DISPLAY
  6222.  
  6223.       DISPLAY displays a text string on your terminal.
  6224.  
  6225.  
  6226.  
  6227.       14.26 DOS
  6228.  
  6229.       DOS  Invokes  the  DOS command processor (COMMAND.COM).  See Section
  6230.       4.5 on page 32 for additional information about this command.
  6231.  
  6232.       Syntax:
  6233.  
  6234.            DOS[/qualifiers] [dos_command]
  6235.  
  6236.       Qualifiers are the same as for the RUN command.
  6237.  
  6238.  
  6239.  
  6240.       14.27 DOWNLOAD
  6241.  
  6242.       The DOWNLOAD command causes TSX to initiate  a  file  transfer  from
  6243.       the  TSX  host  computer  to  your local PC using ZMODEM, YMODEM, or
  6244.       XMODEM protocol.  You must be running a  communications  program  on
  6245.       your  local  PC that can handle one of these protocols.  In order to
  6246.       use this facility the ZMODEM sysgen parameter must be set to 1.
  6247.  
  6248.       Syntax:
  6249.  
  6250.                DOWNLOAD[/qualifiers] file1[,file2,...]
  6251.  
  6252.       You must specify at least one file name and you may provide  a  list
  6253.       of  names separated by commas.  You may use wildcard characters such
  6254.       as '*' and '?' in the file list if you are using ZMODEM  or  YMODEM.
  6255.       Only a single file may be specified if you are using XMODEM.
  6256.  
  6257.       Chapter 14. TSX Command Summary                                  108
  6258.  
  6259.  
  6260.       Qualifiers:
  6261.  
  6262.          /AFTER[=date-time]  Selects  files created since a given date and
  6263.                  time.  If  /AFTER  is  specified  without  an  associated
  6264.                  date-time value, the implied date is today.
  6265.  
  6266.          /BELL   Requests   that  the  bell  be  rung  when  the  transfer
  6267.                  completes.
  6268.  
  6269.          /BEFORE[=date-time] Selects files created  before  a  given  date
  6270.                  and time.
  6271.  
  6272.          /CRC  Specifies  that  CRC  checks are to be performed for XMODEM
  6273.                  transfers rather than using checksums.   CRC  checks  are
  6274.                  always used for YMODEM and ZMODEM transfers.
  6275.  
  6276.          /EXCLUDE=(files)]    Specifies   that   any   file   matching   a
  6277.                  specification  in  the  files   list   is   not   to   be
  6278.                  transferred.    Wild   card   file   specifications   are
  6279.                  permitted in the exclusion list.  If more than  one  file
  6280.                  specification  is provided, enclose the specifications in
  6281.                  parentheses and separate them with commas.
  6282.  
  6283.          /NEW Select files created today.
  6284.  
  6285.          /SINCE[=date-time]  Select  files  created  since  the  specified
  6286.                  date.
  6287.  
  6288.          /XMODEM  Specifies  that  XMODEM  protocol  is to be used for the
  6289.                  transfer.
  6290.  
  6291.          /YMODEM Specifies that YMODEM protocol is  to  be  used  for  the
  6292.                  transfer.
  6293.  
  6294.          /ZMODEM  Specifies  that  ZMODEM  protocol  is to be used for the
  6295.                  transfer.  This is the default protocol.
  6296.  
  6297.  
  6298.  
  6299.       14.28 DUMP
  6300.  
  6301.       DUMP provides various formatted displays of the contents of a file.
  6302.  
  6303.       Syntax:
  6304.  
  6305.            DUMP[/qualifiers] filespec
  6306.  
  6307.       Qualifiers:
  6308.  
  6309.          /[NO]ASCII(Default)  Display   ASCII   representation   of   each
  6310.                  character.
  6311.  
  6312.          /BLOCK  (Default)  Dump  is  block  oriented  instead  of  record
  6313.                  oriented.
  6314.  
  6315.       Chapter 14. TSX Command Summary                                  109
  6316.  
  6317.  
  6318.          /COLUMNS=columns Display this many columns in the output.
  6319.  
  6320.          /CONTINUOUS Display offset from start of file  instead  of  start
  6321.                  of block.
  6322.  
  6323.          /COUNT=count Dump this many blocks or records.
  6324.  
  6325.          /DRADIX=radix Use this radix (2,8,10, or 16).  Default: 16
  6326.  
  6327.          /END=value Stop dump at this block or record.
  6328.  
  6329.          /FORMAT=name Use this format: DEFAULT or COLUMN.
  6330.  
  6331.          /[NO]HEADER  (Default) Display header lines introducing each line
  6332.                  or block.
  6333.  
  6334.          /LOGICAL Read logical blocks instead of virtual blocks (for  disk
  6335.                  partition).
  6336.  
  6337.          /LONGWORD   (Default)   Display   32-bit  longwords  as  separate
  6338.                  entities.
  6339.  
  6340.          /MAXREC=value Specify the longest record in the  file.   Default:
  6341.                  2048.
  6342.  
  6343.          /NRADIX=radix  Use this radix for offset numbers (2,8,10, or 16).
  6344.                  Default: 16.
  6345.  
  6346.          /[NO]NUMBER (Default) Display labels for byte numbers.
  6347.  
  6348.          /OUTPUT=file Write output to the specified file.
  6349.  
  6350.          /PHYSICAL Read physical blocks instead  of  virtual  blocks  (for
  6351.                  disk partitions).
  6352.  
  6353.          /NRADIX=radix Use this radix for data and offset labels.
  6354.  
  6355.          /RECORD Display individual records instead of blocks.
  6356.  
  6357.          /START=value Begin display at this block or record.
  6358.  
  6359.          /WIDTH=width  Specify  how  wide  the output should be.  Default:
  6360.                  80.
  6361.  
  6362.          /WORD Display  16-bit  words  as  separate  entities  instead  of
  6363.                  longwords.
  6364.  
  6365.  
  6366.  
  6367.       14.29 EDIT
  6368.  
  6369.       EDIT  Invokes the EDIT-32 (E32) editor program.  EDIT-32 is designed
  6370.       to facilitate the migration of users familiar with the EVE  and  KED
  6371.       editors  on  DEC computer systems.  See REGISTER.DOC for information
  6372.       about ordering an EDIT-32 Reference Manual.
  6373.  
  6374.       Chapter 14. TSX Command Summary                                  110
  6375.  
  6376.  
  6377.       14.30 EVALUATE
  6378.  
  6379.       EVALUATE evaluates an  expression  and  print  the  result  at  your
  6380.       terminal.   Symbols  may  be  used  in the expression.  See also the
  6381.       description  of  the  CALCULATE  command  for  a   general   numeric
  6382.       expression calculator.
  6383.  
  6384.       Examples:
  6385.  
  6386.            EVALUATE 12*15*3
  6387.            EVALUATE NUMFILES + 3
  6388.  
  6389.       The  EVALUATE  command  is  a  convenient  way to evaluate a command
  6390.       expression and display the result at your  terminal.   The  EVALUATE
  6391.       command  is  especially  convenient  for  experimenting with lexical
  6392.       functions (see Section 9.10).
  6393.  
  6394.  
  6395.  
  6396.       14.31 EVENT
  6397.  
  6398.       EVENT Displays records in  an  event  log  file.   The  SHOW  EVENTS
  6399.       command does this in a screen-oriented fashion.
  6400.  
  6401.       Syntax:
  6402.  
  6403.            EVENT[/qualifiers] eventlog
  6404.  
  6405.       Qualifiers:
  6406.  
  6407.          /DATE Display date record was written in output.
  6408.  
  6409.          /DELETE Delete the specified event log file.
  6410.  
  6411.          /OUTPUT=file Send output to specified file.
  6412.  
  6413.          /[NO]SCREEN (Default) Display output on screen.
  6414.  
  6415.          /TIME Display time record was written in output.
  6416.  
  6417.  
  6418.  
  6419.       14.32 EXIT
  6420.  
  6421.       EXIT  terminates  command  file  and returns to higher level command
  6422.       file or the keyboard monitor.  This command will also exit  the  DOS
  6423.       command interpreter (entered using the DOS command).
  6424.  
  6425.       Syntax:
  6426.  
  6427.            EXIT[/qualifiers]
  6428.  
  6429.       Chapter 14. TSX Command Summary                                  111
  6430.  
  6431.  
  6432.       Qualifiers:
  6433.  
  6434.          /ABORT  Abort  higher  level  command files and return to command
  6435.                  prompt.
  6436.  
  6437.          /STATUS=value Return the specified exit status code.
  6438.  
  6439.  
  6440.  
  6441.       14.33 EXPAND
  6442.  
  6443.       The EXPAND command is used to generate a command file consisting  of
  6444.       a  set  of  commands  merged with a set of file specifications.  You
  6445.       could, for example,  use  EXPAND  to  generate  a  command  file  to
  6446.       compile  all  source files in a certain directory.  The set of files
  6447.       may be specified with wildcard file specifications much the same  as
  6448.       for the DIRECTORY command.
  6449.  
  6450.       Syntax:
  6451.  
  6452.            EXPAND[/qualifiers] filespec "command"
  6453.  
  6454.          filespec  is  a filename or a comma separated list of file names.
  6455.                  Each file name may include wildcards.  See  Section  5.2,
  6456.                  page  40,  for  more information about wildcards.  Fields
  6457.                  not specified on a file name are taken from the  previous
  6458.                  file  name  in  the  command  if  one has been specified.
  6459.                  Otherwise directory and device fields are taken from  the
  6460.                  current default directory.
  6461.  
  6462.                  You   may   also   specify   a  file  name  of  the  form
  6463.                  "@filespec".    In   this   case,   the   set   of   file
  6464.                  specifications   to   be  merged  with  the  commands  is
  6465.                  provided in the file specified by filespec.
  6466.  
  6467.          command specifies the command(s) to be  executed  once  for  each
  6468.                  file  selected.   The commands you specify should include
  6469.                  substitution  constructs,  explained  below,  which  tell
  6470.                  EXPAND  where  the  name  of  the selected file should be
  6471.                  inserted  in  the  command.   The  command  specification
  6472.                  should be enclosed in quote marks.
  6473.  
  6474.       Qualifiers:
  6475.  
  6476.          /ARCHIVE Select files with the archive attribute set.
  6477.  
  6478.          /BEFORE[=date-time]  Select files created before a given date and
  6479.                  time.
  6480.  
  6481.          /DATE[=date] Select files created on the given date.
  6482.  
  6483.          /DIR=dir-command Execute this  command  for  each  new  directory
  6484.                  encountered.
  6485.  
  6486.       Chapter 14. TSX Command Summary                                  112
  6487.  
  6488.  
  6489.          /EXCLUDE=(files) Don't process specified files.
  6490.  
  6491.          /HEADER="text"  Insert  specified text at start of output command
  6492.                  file.
  6493.  
  6494.          /NEW Only include files created today.
  6495.  
  6496.          /OUTPUT[=file] Specify the  name  of  the  output  command  file.
  6497.                  Default: ALL.CMD
  6498.  
  6499.          /RECORD Clear archive bit on processed files.
  6500.  
  6501.          /SINCE[=date-time]  Selects  files created since a given date and
  6502.                  time.
  6503.  
  6504.          /TRAILER="text" Insert specified text at end  of  output  command
  6505.                  file.
  6506.  
  6507.          /UNIX  Specifies  only  line  feeds  between  records  of  output
  6508.                  command file.
  6509.  
  6510.       The "command" parameter to the EXPAND command specifies  the  format
  6511.       of  the  commands  which  are written to the output command file for
  6512.       each selected file.  Substitution constructs of the  form  "|letter"
  6513.       (vertical  bar  followed  by one or more letters) inside the command
  6514.       are used to instruct EXPAND where to place the name of each file  in
  6515.       the  command.   As  a  simple example, consider the following EXPAND
  6516.       command:
  6517.  
  6518.            EXPAND *.C "CC |A"
  6519.  
  6520.       This  EXPAND  command  generates  a  command  file   named   ALL.CMD
  6521.       containing  commands  to  perform the "CC" command on each file with
  6522.       an extension of  ".C".   The  "|A"  construct  instructs  EXPAND  to
  6523.       insert  the  entire  filename into the command at the position where
  6524.       "|A"  occurs.   The  resulting  ALL.CMD  file  might   contain   the
  6525.       following commands:
  6526.  
  6527.            CC INIT.C
  6528.            CC MAIN.C
  6529.            CC EXIT.C
  6530.  
  6531.       Note  that  all  the  text besides substitution constructs is copied
  6532.       verbatim from  your  command  specification  to  each  line  of  the
  6533.       generated command procedure.
  6534.  
  6535.       The  following  substitution  operators  may  be used in the command
  6536.       string:
  6537.  
  6538.       Chapter 14. TSX Command Summary                                  113
  6539.  
  6540.  
  6541.             |A   Entire filename.
  6542.             |N   Device name.
  6543.             |D   Directory name.
  6544.             |F   File name.
  6545.             |E   Extension (with leading period).
  6546.             |V   A VAX/VMS style directory.
  6547.             |-D  File name with no device or directory.
  6548.             |-E  File name with no extension.
  6549.             |/   Begin a new line.
  6550.             ||   Literal '|' (vertical bar) character.
  6551.  
  6552.  
  6553.  
  6554.       14.34 FILEWATCH
  6555.  
  6556.       The FILEWATCH command causes TSX to create  an  event  log  file  to
  6557.       record all accesses to a specified file or group of files.
  6558.  
  6559.       Syntax:
  6560.  
  6561.            FILEWATCH[/qualifiers] filespec
  6562.  
  6563.       Qualifiers:
  6564.  
  6565.          /[NO]READ (default) Monitor file reads.
  6566.  
  6567.          /[NO]WRITE (default) Monitor file writes.
  6568.  
  6569.          /NONE Disable monitoring of the file.
  6570.  
  6571.       The  FILEWATCH  command  causes TSX to monitor accesses to all files
  6572.       that  match  the  "filespec"  specification.   This  is  useful  for
  6573.       security  purposes or any other time that you want to determine who,
  6574.       if anyone, is accessing or altering a  particular  file  or  set  of
  6575.       files.   The  file  accesses  that  are monitored are: open, create,
  6576.       delete, and rename.
  6577.  
  6578.       When you issue a FILEWATCH command, TSX creates an  event  log  file
  6579.       named  FWATCH  (if  it does not already exist).  Use the SHOW EVENTS
  6580.       command described on page 157 to monitor events in the FWATCH  event
  6581.       log  file.   See  Section 10.6 on page 69 for additional information
  6582.       about event logs.
  6583.  
  6584.       If no qualifiers are specified, both read and  write  type  accesses
  6585.       are  monitored.   Use the /NOREAD and /NOWRITE qualifiers to disable
  6586.       either type of monitoring.  The /NONE qualifier disables  monitoring
  6587.       of the specified file.
  6588.  
  6589.       The  "filespec"  parameter  to the command is the file specification
  6590.       that is to be monitored.  This specification  may  include  wildcard
  6591.       characters  in  the  file  name,  extension, and directory.  You may
  6592.       also use the "..." wildcard operator in  the  directory  portion  to
  6593.       monitor  all  file  accesses  in  or below a certain directory.  The
  6594.       device name portion of the specification may  not  include  wildcard
  6595.       characters.   For  example, the following command monitors all write
  6596.  
  6597.       Chapter 14. TSX Command Summary                                  114
  6598.  
  6599.  
  6600.       type accesses  to  all  files  in  the  C:\PHIL  directory  and  all
  6601.       directories below it:
  6602.  
  6603.            FILEWATCH/NOREAD C:\PHIL\...\*.*
  6604.  
  6605.       SYSPRV privilege is required to use the FILEWATCH command.
  6606.  
  6607.  
  6608.  
  6609.       14.35 FMAN
  6610.  
  6611.       FMAN  The  full  screen file management utility.  Use FMAN to manage
  6612.       files and directories, and control file access.
  6613.  
  6614.       Syntax:
  6615.  
  6616.            FMAN [directory]
  6617.  
  6618.       In response to the FMAN command, TSX displays a list  of  the  files
  6619.       in  the current directory or the directory that was specified on the
  6620.       command  line.   For  each  file,  the  name,  extension,  size  and
  6621.       date/time  of  last  modification  are  displayed.   The  letter 'P'
  6622.       appears in the right most column if the file  is  protected  against
  6623.       deletion.     Use    the    Up-arrow/Down-arrow    keys    or    the
  6624.       Page-up/Page-down keys to move through the  list  of  files.   Press
  6625.       ESC (or "Do" on a DEC VT series terminal) to exit from FMAN.
  6626.  
  6627.       A  menu of action keys appears to the right of the file list; choose
  6628.       an action by typing the appropriate key.  Each  of  the  actions  is
  6629.       described below:
  6630.  
  6631.          Enter  =  Mark/Unmark -- If you are performing the same action on
  6632.                  a group of files, it is sometimes easier  to  "mark"  the
  6633.                  set  of  files  and  then  apply the action to the entire
  6634.                  set.  When you  press  Enter  the  currently  highlighted
  6635.                  file  is  marked  and an indicator appears to the left of
  6636.                  its name.  If you  reselect  the  file  and  press  Enter
  6637.                  again, the mark will be removed.
  6638.  
  6639.          A  =  Attributes  --  Pressing  "A" causes a menu to appear which
  6640.                  allows you to protect or unprotect  a  file,  or  set  of
  6641.                  files,  against  deletion.   If you have BYPASS privilege
  6642.                  you will also be given menu  choices  for  modifying  the
  6643.                  access controls for a file.
  6644.  
  6645.          C  =  Copy  --  A  box appears requesting the destination for the
  6646.                  copy.  If you are copying a  set  of  files,  you  should
  6647.                  specify  a  wildcard  for  the  destination file names so
  6648.                  that the original file names will be used for  the  newly
  6649.                  created files.
  6650.  
  6651.          D  =  Delete  -- A confirmation box appears asking you if you are
  6652.                  sure you want to delete the selected file(s).
  6653.  
  6654.       Chapter 14. TSX Command Summary                                  115
  6655.  
  6656.  
  6657.          E = Edit -- The EDIT--32 editor is invoked to edit  the  selected
  6658.                  file.   The  FMAN  display resumes when you exit from the
  6659.                  editor.
  6660.  
  6661.          F = Find file -- A box appears asking for a search  string.   You
  6662.                  may  type  an entire file specification or only the first
  6663.                  letter or two of a file  name.   The  list  of  files  is
  6664.                  searched  and  the  first  file  name  that  matches  the
  6665.                  letters you type is selected.
  6666.  
  6667.          G = Go into directory -- You may type this to begin browsing  the
  6668.                  subdirectory  whose file name is currently selected.  The
  6669.                  right  arrow  key  may  also  be  used  to  perform  this
  6670.                  operation.
  6671.  
  6672.          H  =  Higher  directory  -- This causes FMAN to leave the current
  6673.                  directory and display files in the  directory  above  the
  6674.                  current  directory  (i.e., closer to the root).  The left
  6675.                  arrow key will  also  perform  this  operation.   If  you
  6676.                  continue  to type 'H' (or left arrow) you will eventually
  6677.                  be presented with a list of the disks  installed  in  the
  6678.                  computer.
  6679.  
  6680.          K  =  Make  directory  --  This action allows you to create a new
  6681.                  subdirectory.  A box appears asking for the name  of  the
  6682.                  directory to create.
  6683.  
  6684.          L  =  Mark  all  --  Marks  all  files  in the current directory.
  6685.                  Equivalent to moving down the  list  and  pressing  Enter
  6686.                  for each file.
  6687.  
  6688.          M  = Move file -- Copies the selected files to a destination that
  6689.                  you specify and then deletes the files from  the  current
  6690.                  directory.
  6691.  
  6692.          N  =  New directory -- You will be prompted for the name of a new
  6693.                  directory whose files will be displayed.
  6694.  
  6695.          R = Rename file -- You will be prompted for the new name for  the
  6696.                  selected file(s).
  6697.  
  6698.          S  =  Sort list -- This action causes FMAN to reorder the list of
  6699.                  file names.  A menu will appear allowing  you  to  select
  6700.                  the  item  to  sort  on  (name,  extension, date/time, or
  6701.                  size)  and  another  menu  will  allow  you   to   select
  6702.                  ascending or descending order.
  6703.  
  6704.          U = Unmark all -- All marked files are unmarked.
  6705.  
  6706.          V  = View file -- The VIEW command displays a file on the screen.
  6707.                  You can use the Page-up  and  Page-down  keys  to  scroll
  6708.                  upward  and  downward  through  the  file.   The Home key
  6709.                  moves to the top of the file and the  End  key  moves  to
  6710.                  the  end  of  the  file.   You  can  also use the up- and
  6711.                  down-arrow keys to scroll up or down one line at a  time.
  6712.  
  6713.       Chapter 14. TSX Command Summary                                  116
  6714.  
  6715.  
  6716.                  Press  ESC  to  exit  from the VIEW command.  The display
  6717.                  will begin in either ASCII or hexadecimal mode  depending
  6718.                  on  the  nature  of  the data in the file.  While viewing
  6719.                  the file you can type 'A'  to  switch  to  ASCII  display
  6720.                  mode or 'H' to switch to hexadecimal mode.
  6721.  
  6722.          X = Exit -- Exit from FMAN.  Equivalent to typing ESC.
  6723.  
  6724.       FMAN  is  also  used  to control which files and/or directories each
  6725.       TSX user may access.  The access control is  based  on  a  user  and
  6726.       group  ID code that is assigned by the system manager and associated
  6727.       with the user name entered to the LOGON program.  (TSAUTH and  LOGON
  6728.       are part of the TSX-Lite Security Kit.)
  6729.  
  6730.       If  you  have BYPASS privilege, the right most column of the primary
  6731.       file display list will be labeled "PA" The  letter  'A'  appears  in
  6732.       this  column  if  there  are  file access control entries associated
  6733.       with the file.  To modify the access control  entries  for  a  file,
  6734.       type  'A'  to  select  the  Attributes  menu item, and then type 'A'
  6735.       again to select the Access control entry from the attributes menu.
  6736.  
  6737.       To set access controls for an entire disk, type 'H' (or left  arrow)
  6738.       until  you  reach  the  menu with the disk drive names.  Then select
  6739.       the appropriate drive entry  and  type  'A'  to  invoke  the  access
  6740.       control list display for the disk.
  6741.  
  6742.       The  access  control list screen displays all access control entries
  6743.       that are in effect for the selected file or  directory.   To  add  a
  6744.       new  entry type 'A', to delete an entry type 'D', to modify an entry
  6745.       type 'Enter'.
  6746.  
  6747.       The first field in the access control entry box is the name  of  the
  6748.       user  whose  access  to  the  file or directory is to be controlled.
  6749.       You may type one of three things: (1) a valid user name that  exists
  6750.       in  the  TSX  account  authorization file, (2) a group/member number
  6751.       written in square brackets (e.g., "[121,47]"),  or  (3)  a  question
  6752.       mark,  in which case you will be presented with a list of authorized
  6753.       users when you exit by pressing ESC.  If you  specify  a  group  and
  6754.       member  number,  you  may  specify  an  asterisk ('*') as a wildcard
  6755.       character to match any group number, member number,  or  both.   For
  6756.       example  [233,*]  would  match any member number but applies only to
  6757.       users in group 233.  Similarly, [*,*] applies to all users.
  6758.  
  6759.       The next three items  control  the  type  of  access  the  specified
  6760.       user(s)  will  have  to  the  file.   If  you  specify 'Y' for write
  6761.       access, the user will have full access and may write  to  the  file,
  6762.       delete  the  file,  rename  the  file, and execute the file.  If you
  6763.       specify 'Y' for read access, the user may read the  file,  copy  it,
  6764.       and  execute it but may not delete or otherwise modify the file.  If
  6765.       you specify 'Y' for execute access, the user may  execute  the  file
  6766.       but may not read, copy, or modify the file.
  6767.  
  6768.       Press ESC to exit from the access control entry box.
  6769.  
  6770.       Chapter 14. TSX Command Summary                                  117
  6771.  
  6772.  
  6773.       14.36 FORMAT
  6774.  
  6775.       FORMAT Formats diskettes.
  6776.  
  6777.       Syntax:
  6778.  
  6779.            FORMAT drive: [/qualifiers]
  6780.  
  6781.       Qualifiers:
  6782.  
  6783.          /4 indicates that this is a 360K diskette in a 1220K drive.
  6784.  
  6785.          /7 indicates that this is a 720K diskette in a 1440K drive.
  6786.  
  6787.          /8 formats 8 sectors per track.
  6788.  
  6789.          /N:n Formats n sectors per track.
  6790.  
  6791.          /O  formats  a  diskette which is compatible with versions 1.x of
  6792.                  DOS.
  6793.  
  6794.          /T:n Formats a diskette with n tracks.  (Maximum 80)
  6795.  
  6796.          /V prompts for a volume label for the disk.
  6797.  
  6798.          /[NO]QUERY (Default) prompts for  a  diskette  before  and  after
  6799.                  format.
  6800.  
  6801.  
  6802.  
  6803.       14.37 GOTO
  6804.  
  6805.       GOTO Transfers control to a label in a command file.
  6806.  
  6807.       Syntax:
  6808.  
  6809.            GOTO label
  6810.  
  6811.  
  6812.  
  6813.       14.38 HANLOAD
  6814.  
  6815.       HANLOAD  Used  by  the  system  manager  to  install loadable device
  6816.       drivers.  Normally HANLOAD commands are generated  automatically  by
  6817.       the   MAKELOAD  program  and  placed  in  the  system  startup  file
  6818.       TSXLOAD.CMD.  Only certain foreign  terminal  support  handlers  are
  6819.       supported by TSX-Lite.
  6820.  
  6821.  
  6822.  
  6823.       14.39 HELP
  6824.  
  6825.       HELP Displays information about system commands and options.
  6826.  
  6827.       Chapter 14. TSX Command Summary                                  118
  6828.  
  6829.  
  6830.       Syntax:
  6831.  
  6832.            HELP [topic]
  6833.  
  6834.  
  6835.  
  6836.       14.40 HOST
  6837.  
  6838.       Syntax:
  6839.  
  6840.            HOST ttname
  6841.  
  6842.       The  HOST  command  cross-connects  your  time-sharing  line  with a
  6843.       specified communication line.  The HOST command can also be used  to
  6844.       do  X,  Y, and Zmodem file transfers.  The HOST command is much more
  6845.       efficient than running a  communications  program  like  Procomm  or
  6846.       Telix under TSX.
  6847.  
  6848.       Syntax:
  6849.  
  6850.            HOST com_port [phone_number]
  6851.  
  6852.       Examples:
  6853.  
  6854.            HOST TTB0
  6855.            HOST TTC0 320-1820
  6856.  
  6857.       The  "com_port"  argument  is  the name of the communication line to
  6858.       which you wish to connect.  This should be the name of a TSX  serial
  6859.       device  such as TTB0 (com 1), TTC0 (com 2), etc.  The "phone_number"
  6860.       argument is optional.  If specified, the modem command  "ATDT"  will
  6861.       be  prepended  to the front of it and the string will be sent to the
  6862.       communication line when HOST first starts running.
  6863.  
  6864.       "Cross-connecting"  a  communication  line  with  your  time-sharing
  6865.       terminal  means  that  each  character  typed  at  your  terminal is
  6866.       transmitted on the communication line, and each  character  received
  6867.       on  the  communication  line is displayed at your terminal.  Because
  6868.       the  system  buffers  characters  between  your  terminal  and   the
  6869.       communication  line,  your  terminal  may  operate  at  a  baud rate
  6870.       different from that of the cross connected communication line.
  6871.  
  6872.       The HOST command is  somewhat  less  efficient  than  the  SET  HOST
  6873.       command  described  in Section 14.80 on page 142 but it has two main
  6874.       advantages:
  6875.  
  6876.       1.  You can use  the  HOST  command  to  perform  file  uploads  and
  6877.           downloads using X, Y, and Zmodem transfers.
  6878.  
  6879.       2.  The  HOST command processes ANSI control sequences when run from
  6880.           the console or PC-term terminals whereas the  SET  HOST  command
  6881.           does not.
  6882.  
  6883.       Once  the  cross-connection  is  established,  nearly all characters
  6884.       typed at your terminal are transmitted  on  the  communication  line
  6885.  
  6886.       Chapter 14. TSX Command Summary                                  119
  6887.  
  6888.  
  6889.       rather   than  being  interpreted  by  the  system.   This  includes
  6890.       characters such as rubout, control-C, control-U, control-W, etc.
  6891.  
  6892.       The one character  that  is  interpreted  by  the  system  during  a
  6893.       cross-connection  is  the  control-backslash  character.   When this
  6894.       character is typed, it is not transmitted on the communication  line
  6895.       but  causes  HOST  to  display  a  one  line  menu  with options for
  6896.       Uploading a file, Downloading a  file,  or  Exiting.   Type  `U'  to
  6897.       begin  an upload, 'D' to begin a download, or 'X' to exit from HOST.
  6898.       If you type any other character the cross connection will resume.
  6899.  
  6900.       The normal sequence of operations  to  cross-connect  your  terminal
  6901.       with a communication line is as follows:
  6902.  
  6903.       1.  Use  the ALLOCATE command to allocate the communication line for
  6904.           your exclusive use.  This also allows your to perform  temporary
  6905.           parameter  settings on the line which will be cancelled when you
  6906.           deallocate the line.
  6907.  
  6908.       2.  Use the SET TERMINAL command to  set  line  parameters  such  as
  6909.           baud rate for the communication line.
  6910.  
  6911.       3.  Use  the  HOST  command  to cross-connect your time-sharing line
  6912.           with the communication line.
  6913.  
  6914.       4.  Type  control-backslash   followed   by   'X'   to   break   the
  6915.           cross-connection  and  reconnect  your terminal with the command
  6916.           interpreter.
  6917.  
  6918.       5.  After  the  cross-connection  is  broken,  use  the   DEALLOCATE
  6919.           command  to  release  the communication line.  If the parameters
  6920.           set by the SET TERMINAL command were  temporary,  they  will  be
  6921.           restored to their permanent values.
  6922.  
  6923.  
  6924.  
  6925.       14.41 IF
  6926.  
  6927.       The  IF  command  evaluates  a  logical expression and conditionally
  6928.       executes a command if the value of the expression is true.  The  DOS
  6929.       forms of the IF command are also supported.
  6930.  
  6931.       Syntax:
  6932.  
  6933.            IF expression THEN command
  6934.  
  6935.       DOS Style Syntax:
  6936.  
  6937.            IF ERRORLEVEL value command
  6938.            IF EXIST filespec command
  6939.            IF string1==string2 command
  6940.  
  6941.       Chapter 14. TSX Command Summary                                  120
  6942.  
  6943.  
  6944.       Examples:
  6945.  
  6946.            IF X .EQ. Y THEN GOTO END
  6947.            IF ERRORLEVEL 1 THEN EXIT
  6948.            IF EXIST FILE.TXT THEN GOTO READFILE
  6949.  
  6950.       The  expression  is  evaluated; it may contain operators and lexical
  6951.       functions.  If its value contains any characters  other  than  0  or
  6952.       space  it is considered to be true and the command following THEN is
  6953.       executed.   If  the  value  of  expression  is  zero  or  null,  the
  6954.       controlled command is not executed.
  6955.  
  6956.       For example, the statement:
  6957.  
  6958.            IF SYM1 .EQS. "this is a string" THEN DISPLAY Strings matched
  6959.  
  6960.       compares  the string "this is a string" with the value of the symbol
  6961.       SYM1.  Note  that  it  was  not  necessary  to  use  the  apostrophe
  6962.       substitution operator to get the value of SYM1.
  6963.  
  6964.       Examples:
  6965.  
  6966.            S1:= string1
  6967.            S2:= string2
  6968.            IF S1 .EQS. S2 THEN DISPLAY S1 is equal to S2
  6969.  
  6970.       This  test  compares  the  values of the symbols S1 and S2.  In this
  6971.       case the strings are not  equal,  so  the  DISPLAY  command  is  not
  6972.       executed.
  6973.  
  6974.            I = 1;
  6975.            IF I .LT. 10 THEN @DOMORE
  6976.  
  6977.       In  this  example the expression is true, so the DOMORE command file
  6978.       is executed.
  6979.  
  6980.       The expression can be quite complex and involve  lexical  functions.
  6981.       For example, the statement:
  6982.  
  6983.            IF (COUNT.LE.10).OR.$LENGTH(ANSWER).LT.3 THEN EXIT
  6984.  
  6985.       executes  the  EXIT  statement if the value of COUNT is less than or
  6986.       equal to ten or the length of the string associated with the  ANSWER
  6987.       symbol  is less than 3.  See Section 9.10 for additional information
  6988.       about lexical functions.
  6989.  
  6990.  
  6991.  
  6992.       14.42 INITIALIZE
  6993.  
  6994.       INITIALIZE Initializes removable disks  and  tapes.   This  has  the
  6995.       effect of deleting all files on the device.
  6996.  
  6997.       Chapter 14. TSX Command Summary                                  121
  6998.  
  6999.  
  7000.       Syntax:
  7001.  
  7002.            INITIALIZE drive
  7003.  
  7004.  
  7005.  
  7006.       14.43 INQUIRE
  7007.  
  7008.       INQUIRE  Reads  a  string  from  the  terminal  and  assigns it to a
  7009.       symbol.
  7010.  
  7011.       Syntax:
  7012.  
  7013.            INQUIRE symbol [prompt]
  7014.  
  7015.       Examples:
  7016.  
  7017.            INQUIRE YESNO Do you wish to continue?
  7018.  
  7019.       The INQUIRE command gets a string from the terminal and  assigns  it
  7020.       to  a  local  symbol.   The  input comes from the terminal even if a
  7021.       command file is in operation.  Since the  input  always  comes  from
  7022.       the  terminal,  this command is useful for prompting for values from
  7023.       within a command file.   The  value  which  is  collected  from  the
  7024.       terminal is the entire input line, including any spaces.
  7025.  
  7026.  
  7027.  
  7028.       14.44 JMAN
  7029.  
  7030.       JMAN  is  a full screen job management utility.  Use JMAN to display
  7031.       information about currently executing jobs and  perform  common  job
  7032.       related  system management functions.  These include displaying open
  7033.       files for a job and killing a job.
  7034.  
  7035.       Syntax:
  7036.  
  7037.            JMAN
  7038.  
  7039.       In response to the JMAN command, TSX displays a  list  of  the  jobs
  7040.       currently executing on the system.
  7041.  
  7042.       A  menu  of action keys appears to the right of the job list; choose
  7043.       an action by typing the appropriate key.
  7044.  
  7045.  
  7046.  
  7047.       14.45 KERMIT
  7048.  
  7049.       KERMIT  Invokes  the  Kermit  file  transfer  program.   Kermit   is
  7050.       provided  as  part  of  the  optional  TSX-Lite  Utilities  Kit (see
  7051.       REGISTER.DOC).
  7052.  
  7053.       Chapter 14. TSX Command Summary                                  122
  7054.  
  7055.  
  7056.       14.46 KEYLOAD
  7057.  
  7058.       The KEYLOAD commands loads the character mapping tables  needed  for
  7059.       international keyboard support.
  7060.  
  7061.       Syntax:
  7062.  
  7063.            KEYLOAD[/LINE] file.KEY
  7064.  
  7065.       Where  'file.KEY'  is  a  keyboard mapping file such as ITALY.KEY or
  7066.       GERMAN.KEY.  If  the  /LINE  qualifier  is  specified  the  keyboard
  7067.       mapping  applied only to the line executing the command.  Otherwise,
  7068.       it applies to all lines on the system.
  7069.  
  7070.       See Section 3.6 on page 27 for more information about this command.
  7071.  
  7072.  
  7073.  
  7074.       14.47 KILL
  7075.  
  7076.       KILL is a synonym for STOP.  See the description  of  STOP  on  page
  7077.       163 for information.
  7078.  
  7079.  
  7080.  
  7081.       14.48 LOGOFF
  7082.  
  7083.       LOGOFF  Logs  off  the  current  job.  You can use OFF or BYE if you
  7084.       prefer.
  7085.  
  7086.       Syntax:
  7087.  
  7088.            LOGOFF
  7089.            OFF
  7090.  
  7091.       Qualifiers:
  7092.  
  7093.          /NOACCOUNTING Disables reporting of  the  accounting  information
  7094.                  to your terminal.
  7095.  
  7096.  
  7097.  
  7098.       14.49 MACROS
  7099.  
  7100.       MACROS  Invokes  macro  definition  program to edit or load keyboard
  7101.       macros.
  7102.  
  7103.       Syntax:
  7104.  
  7105.            MACROS[/qualifiers] [filespec]
  7106.  
  7107.       Examples:
  7108.  
  7109.            MACROS
  7110.            MACROS/LOAD TED.MAC
  7111.  
  7112.       Chapter 14. TSX Command Summary                                  123
  7113.  
  7114.  
  7115.       Qualifiers:
  7116.  
  7117.          /LOAD Load macro definitions from specified file.
  7118.  
  7119.          /SYSTEM Make macros available for all lines on the system.
  7120.  
  7121.       The MACROS facility associates  a  sequence  of  keystrokes  with  a
  7122.       single  keystroke.   Macros can only be used with workstations which
  7123.       send make/break codes into the system.  This  includes  the  console
  7124.       keyboard,  PC-term  terminals,  and  TSXTERM terminals.  You may not
  7125.       used macros from ASCII terminals such as the VT300.
  7126.  
  7127.       Macros are most commonly used  to  provide  a  shorthand  method  of
  7128.       entering  common  commands.  For example, you may want to define the
  7129.       F10 key to generate the command:
  7130.  
  7131.            DIR/SINCE=YESTERDAY
  7132.  
  7133.       Macro  definitions  may  be  stored  in  a  file   and   loaded   in
  7134.       automatically  when  the  system boots (for system wide definitions)
  7135.       or when you log in (for line specific definitions).
  7136.  
  7137.       The MACROS command makes available macros from the  specified  file,
  7138.       as  well  as any revisions you make in edit mode.  These definitions
  7139.       are active for your time-sharing line, even after you  log  off  and
  7140.       back  on.   Use  the /SYSTEM qualifier to specify that macros are to
  7141.       become available for  all  lines  on  the  system.   Use  the  /LOAD
  7142.       qualifier  to  load  macros  from  the  specified  file  without any
  7143.       interactive editing.
  7144.  
  7145.       Suppose you require a shorthand method of entering the command
  7146.  
  7147.            PRINT/QUEUE=LASER1/STOCK=LETTERHEAD LEADS.TMP
  7148.  
  7149.       and decide that the key sequence ALT-P is  a  natural  mnemonic  for
  7150.       this command.  You can issue the command
  7151.  
  7152.            MACROS
  7153.  
  7154.       to  operate  the key definition facility in edit mode to specify the
  7155.       definition.  The facility provides  you  with  instructions  on  the
  7156.       screen.    Commands   are   entered  with  two  keystroke  sequences
  7157.       beginning with the ESCAPE key.  Any other key you press  allows  you
  7158.       to  associate  a macro definition for that key.  Hence you hold down
  7159.       the ALT key and press P.
  7160.  
  7161.       The macro definition facility informs you that you are  now  editing
  7162.       the  definition  of  "LALT-P"  or "RALT-P", depending on whether you
  7163.       pressed the left or right ALT  key.   The  facility  allows  you  to
  7164.       establish  separate  definitions  for every key in each of six shift
  7165.       states: unshifted, shifted, left ALT, right ALT, left  CONTROL,  and
  7166.       right CONTROL.
  7167.  
  7168.       The  MACROS  program  will  show you the current definition, if any,
  7169.       when you redefine  a  key.   Note  that  MACROS  is  only  aware  of
  7170.  
  7171.       Chapter 14. TSX Command Summary                                  124
  7172.  
  7173.  
  7174.       keyboard  macros  defined  in the file you are editing, or which you
  7175.       have specified in the current session.   MACROS  can  not  determine
  7176.       whether  a  key  has  been  defined  in  a  different  file  or in a
  7177.       different session.
  7178.  
  7179.       If the macro is being used with a  16-bit  DOS  program  that  takes
  7180.       over  keyboard interrupts, such as WordPerfect, the macro definition
  7181.       may not exceed 16 characters in length.
  7182.  
  7183.       After  you  finish  entering  the  macro  definition  press   ESCAPE
  7184.       followed  by  'E'  to exit the macro definition facility.  The macro
  7185.       you established will remain active for your  line,  even  after  you
  7186.       log  off.   Only  rebooting  the  system  or using the MACRO command
  7187.       again will erase or alter the definition of ALT-P.
  7188.  
  7189.       Let us now suppose that you wish to store  this  definition  in  the
  7190.       file  CINDY.KEY  so you do not have to respecify the definition each
  7191.       time the system is booted.  Use the command
  7192.  
  7193.            MACROS CINDY.KEY
  7194.  
  7195.       to create (or edit an existing) file named CINDY.KEY.  Re-enter  the
  7196.       definition of ALT-P and exit normally using ESCAPE followed by 'E'.
  7197.  
  7198.       To  force  the  macros in file CINDY.KEY to be loaded for your line,
  7199.       you can place the command
  7200.  
  7201.            MACROS/LOAD CINDY.KEY
  7202.  
  7203.       in your line specific startup command procedure.
  7204.  
  7205.       If you wish to establish  system-wide  macro  definitions,  place  a
  7206.       command  of  the  following  form  in  your  SY:LSTARTUP.CMD  system
  7207.       start-up command file:
  7208.  
  7209.            MACROS/LOAD/SYSTEM filename
  7210.  
  7211.  
  7212.  
  7213.       14.50 MAIL
  7214.  
  7215.       MAIL Starts the MessageNet electronic mail program.   MessageNet  is
  7216.       provided   with   the   optional   TSX-Lite   Utilities   Kit   (see
  7217.       REGISTER.DOC).
  7218.  
  7219.  
  7220.  
  7221.       14.51 MD
  7222.  
  7223.       MD is a synonym for MKDIR.  See MKDIR for information.
  7224.  
  7225.       Chapter 14. TSX Command Summary                                  125
  7226.  
  7227.  
  7228.       14.52 MESSAGE
  7229.  
  7230.       MESSAGE Displays the  error  message  text  for  the  specified  TSX
  7231.       status code.  MSG is an equivalent.
  7232.  
  7233.       Syntax:
  7234.  
  7235.            MESSAGE message_code
  7236.  
  7237.       Examples:
  7238.  
  7239.            MESSAGE 30010041
  7240.               ?TSX-E-INSUFMEM, Insufficient memory for allocation
  7241.            MESSAGE 301E0009
  7242.               ?RTL-E-FCH2BIG, Fortran character string too long
  7243.  
  7244.  
  7245.  
  7246.       14.53 MKDIR
  7247.  
  7248.       MKDIR  Creates  subdirectory  files.   It  is  equivalent  to the MD
  7249.       command.
  7250.  
  7251.       Syntax:
  7252.  
  7253.            MKDIR dirspec
  7254.            MD dirspec
  7255.  
  7256.  
  7257.  
  7258.       14.54 MN
  7259.  
  7260.       MN is a synonym for MAIL.
  7261.  
  7262.  
  7263.  
  7264.       14.55 OFF
  7265.  
  7266.       OFF is a synonym for LOGOFF.  See LOGOFF for information.
  7267.  
  7268.  
  7269.  
  7270.       14.56 ON
  7271.  
  7272.       ON is used to declare a statement that  is  to  be  executed  if  an
  7273.       error  occurs.   You can specify different statements to be executed
  7274.       based on the error severity level.
  7275.  
  7276.       Syntax:
  7277.  
  7278.            ON INFORMATION THEN statement
  7279.            ON WARNING THEN statement
  7280.            ON ERROR THEN statement
  7281.            ON NONE
  7282.  
  7283.       Chapter 14. TSX Command Summary                                  126
  7284.  
  7285.  
  7286.       Specify one of the keywords INFORMATION, WARNING, ERROR, or NONE  to
  7287.       indicate  what  error  severity  level  is  to trigger the statement
  7288.       specified by "statement".  If an error of the specified severity  or
  7289.       greater  occurs  in  the  command  file,  the  stored  statement  is
  7290.       executed.  If you specify ON NONE  then  no  statement  is  executed
  7291.       when a subsequent error occurs.
  7292.  
  7293.       As an example, consider the following statements:
  7294.  
  7295.            ON ERROR THEN GOTO ABORT
  7296.            COPY LAB1.DAT A:LAB1.DAT
  7297.            COPY LAB2.DAT A:LAB2.DAT
  7298.            COPY LAB3.DAT A:LAB3.DAT
  7299.            EXIT
  7300.            ABORT:
  7301.            DISPLAY "Copy error occurred"
  7302.            EXIT/ABORT
  7303.  
  7304.       The  first  statement  in  this  example  specifies that if an error
  7305.       occurs on  subsequent  statements  in  the  command  file  then  the
  7306.       statement  "GOTO  ABORT"  is to be executed, transferring control to
  7307.       the ABORT label.
  7308.  
  7309.       If you simply want to cause a command file to terminate if an  error
  7310.       occurs, specify the statement:
  7311.  
  7312.            ON ERROR THEN EXIT
  7313.  
  7314.       Or,  if  you  wish  to  abort  all  nested  command  files,  use the
  7315.       statement:
  7316.  
  7317.            ON ERROR THEN EXIT/ABORT
  7318.  
  7319.       Only a single ON statement can be in  effect  for  a  command  file.
  7320.       Thus  is  you  specify  ON ERROR...  and later specify ON WARNING...
  7321.       the second ON statement will supersede the first.
  7322.  
  7323.       Each level of command file nesting may have its  own  ON  statement.
  7324.       Outer  level ON statements apply to nested command files unless they
  7325.       have local ON  statements.   When  a  command  file  exits,  the  ON
  7326.       statement appropriate to the next higher level takes effect.
  7327.  
  7328.  
  7329.  
  7330.       14.57 PATH
  7331.  
  7332.       PATH defines or displays search path.
  7333.  
  7334.       Syntax:
  7335.  
  7336.            PATH [pathspec]
  7337.  
  7338.       If  you  want to define a path for all users, place a command of the
  7339.       following  form  in  your  SY:LSTARTUP.CMD   system-wide,   start-up
  7340.       command file:
  7341.  
  7342.       Chapter 14. TSX Command Summary                                  127
  7343.  
  7344.  
  7345.            SET/SYSTEM PATH=pathspec
  7346.  
  7347.  
  7348.  
  7349.       14.58 PAUSE
  7350.  
  7351.       PAUSE pauses command file execution until Return key is pressed.
  7352.  
  7353.       Syntax:
  7354.  
  7355.            PAUSE [message]
  7356.  
  7357.       Examples:
  7358.  
  7359.            PAUSE Mount second output disk
  7360.            PAUSE Press Return when ready...
  7361.  
  7362.  
  7363.  
  7364.       14.59 PHONE
  7365.  
  7366.       PHONE   connects   to   another   terminal   to  carry  on  a  2-way
  7367.       conversation.  See the description of the SEND command  on  page  65
  7368.       for information about sending a message to another user.
  7369.  
  7370.       Syntax:
  7371.  
  7372.            PHONE [user_name]
  7373.            PHONE [terminal_name]
  7374.  
  7375.       See  Section  10.2.5 on page 66 for additional information about the
  7376.       PHONE command.
  7377.  
  7378.  
  7379.  
  7380.       14.60 PMAN
  7381.  
  7382.       The PMAN command allows you to associate  attributes  with  programs
  7383.       so  that  the  attributes  are  used  by TSX whenever the program is
  7384.       executed.  A program whose  attributes  have  been  specified  using
  7385.       PMAN  is  referred  to  as  having  been  "installed"  in TSX.  Many
  7386.       attributes can be set with PMAN, some of which can have  a  dramatic
  7387.       effect  on  the performance of programs running under TSX.  However,
  7388.       it is not necessary to "install" most programs with  PMAN  in  order
  7389.       to  use  them  with  TSX; PMAN simply specifies parameters that tune
  7390.       the execution of a program under TSX.
  7391.  
  7392.       When you use  PMAN  to  associate  attributes  with  a  program  the
  7393.       attribute  settings  take  effect  immediately  (you  do not need to
  7394.       reboot TSX).  In addition, PMAN updates a file  in  the  TSX  system
  7395.       directory  named  INSTALL.CMD  with information about the attributes
  7396.       for each program.  The INSTALL.CMD file  is  executed  automatically
  7397.       each  time  TSX  is  booted  so the attributes will remain in effect
  7398.       over system restarts.
  7399.  
  7400.       Chapter 14. TSX Command Summary                                  128
  7401.  
  7402.  
  7403.       See Chapter 4 for additional information about using PMAN.
  7404.  
  7405.  
  7406.  
  7407.       14.61 PRINT
  7408.  
  7409.       PRINT Submits a request to the spooler to print one or  more  files.
  7410.       You  can  use  the PRINT command or the QMAN program to check on the
  7411.       status of jobs in the print queue.
  7412.  
  7413.       Syntax:
  7414.  
  7415.            PRINT[/qualifiers] filespec
  7416.  
  7417.       Qualifiers:
  7418.  
  7419.          /AFTER[=date-time] Print files created after this date/time.
  7420.  
  7421.          /BEFORE[=date-time] Print files created before this date/time.
  7422.  
  7423.          /[NO]BINARY Print in "binary" mode.
  7424.  
  7425.          /[NO]CONFIRM Request confirmation before each file is printed.
  7426.  
  7427.          /COPIES=n Print each file in print job this number of times.
  7428.  
  7429.          /DATE[=date] Print files created on this date.
  7430.  
  7431.          /[NO]DELETE Delete file after printing.
  7432.  
  7433.          /[NO]DOUBLESPACE Print files doublespaced.
  7434.  
  7435.          /ENDPAGE=n Stop printing at this page.
  7436.  
  7437.          /EXCLUDE=(files) Don't print specified files.
  7438.  
  7439.          /[NO]FEED Issue form feeds between pages.
  7440.  
  7441.          /FLAG[=(JOB[=n],FILE[=n],NOJOB,NOFILE)] Specify printing of  flag
  7442.                  pages.
  7443.  
  7444.          /FORM=formname Use the specified form.
  7445.  
  7446.          /[NO]HEADER Put header lines on each page of print job.
  7447.  
  7448.          /[NO]HOLD  Hold  job  until  released  with  SET  ENTRY id/NOHOLD
  7449.                  command.
  7450.  
  7451.          /[NO]IDENTIFY Display queue name and id number on print job.
  7452.  
  7453.          /LENGTH=n Start a new page after this many lines (default: 66).
  7454.  
  7455.          /[NO]LOG Display the name of each file printed.
  7456.  
  7457.       Chapter 14. TSX Command Summary                                  129
  7458.  
  7459.  
  7460.          /MARGIN=(LEFT=lmar, RIGHT=rmar,  TOP=tmar,  BOTTOM=bmar)  Specify
  7461.                  margins.
  7462.  
  7463.          /NAME=nametext Specify the job name.
  7464.  
  7465.          /NOTE="notetext" Print notetext on job and file flag pages.
  7466.  
  7467.          /[NO]NOTIFY   Display  a  message  on  terminal  when  print  job
  7468.                  completes.
  7469.  
  7470.          /[NO]PASSALL Equivalent to /BINARY.
  7471.  
  7472.          /PRIORITY=n Run print job at this priority.
  7473.  
  7474.          /QUEUE=queuename Submit job to the specified print queue.
  7475.  
  7476.          /QUIET Do not display the job name, entry number,  and  the  name
  7477.                  of the queue.
  7478.  
  7479.          /[NO]RESET=   ([NO]FILE=file,FORMATTED],[NO]JOB=file[,FORMATTED])
  7480.                  Use the specified reset files.
  7481.  
  7482.          /[NO]RESTART Restart printing after a system reboot.
  7483.  
  7484.          /[NO]SETUP=   ([NO]FILE=file[,FORMATTED],[NO]JOB=file[,FORMATTED]
  7485.                  Use the specified setup files.
  7486.  
  7487.          /SINCE[=date-time]    Print   files   created   since   specified
  7488.                  date/time.
  7489.  
  7490.          /[NO]SPACE Same as [NO]DOUBLESPACE.
  7491.  
  7492.          /STARTPAGE=n Start printing at this page.
  7493.  
  7494.          /STOCK=stockname Use this paper stock for job.
  7495.  
  7496.          /[NO]TRAILER[=(JOB[=n],FILE[=n],NOJOB,NOFILE)   Specify   trailer
  7497.                  pages.
  7498.  
  7499.          /[NO]TRUNCATE Truncate lines that extend beyond right margin.
  7500.  
  7501.          /WIDTH=n Page is this many characters wide, including margins.
  7502.  
  7503.          /[NO]WRAP Wrap line that extend beyond right margin.
  7504.  
  7505.       If  you  type  PRINT  without  specifying a file name, a list of all
  7506.       pending print jobs will be displayed.  You can  also  use  the  QMAN
  7507.       program  to  check  on  the  status  of  print jobs.  See Chapter 8,
  7508.       starting on page 48, for additional information  about  the  use  of
  7509.       spooled printers.
  7510.  
  7511.       Chapter 14. TSX Command Summary                                  130
  7512.  
  7513.  
  7514.       14.62 PROMPT
  7515.  
  7516.       PROMPT  Changes  the  prompt string that is displayed by the command
  7517.       processor.
  7518.  
  7519.       Syntax:
  7520.  
  7521.            PROMPT [string]
  7522.  
  7523.  
  7524.  
  7525.       14.63 PROTECT
  7526.  
  7527.       PROTECT sets the file protection attribute on one or more files.
  7528.  
  7529.       Syntax:
  7530.  
  7531.            PROTECT[/qualifiers] filespec
  7532.  
  7533.       Qualifiers:
  7534.  
  7535.          /BEFORE[=date-time] Select only files  created  before  specified
  7536.                  date/time.
  7537.  
  7538.          /[NO]CONFIRM Request confirmation before acting on each file.
  7539.  
  7540.          /DATE[=date] Select files created on specified date.
  7541.  
  7542.          /EXCLUDE=(files) Exclude specified files.
  7543.  
  7544.          /[NO]LOG Display each file name on terminal.
  7545.  
  7546.          /NEW Select only files created today.
  7547.  
  7548.          /[NO]QUERY Same as /[NO]CONFIRM.
  7549.  
  7550.          /SINCE[=date-time]   Select   files   created   since   specified
  7551.                  date/time.
  7552.  
  7553.       Examples:
  7554.  
  7555.            PROTECT MAINTEST.C
  7556.            PROTECT TEST1.DAT,TEST2.DAT,TEST3.DAT
  7557.            PROTECT *.C
  7558.  
  7559.  
  7560.  
  7561.       14.64 QMAN
  7562.  
  7563.       The QMAN command invokes a screen  oriented  queue  manager  program
  7564.       for  creating and modifying print and batch queues.  It is also used
  7565.       to define and modify print forms and to delete or  modify  print  or
  7566.       batch jobs.
  7567.  
  7568.       Chapter 14. TSX Command Summary                                  131
  7569.  
  7570.  
  7571.       Syntax:
  7572.  
  7573.            QMAN
  7574.  
  7575.       The  initial  screen  shows  a list of all currently existing queues
  7576.       (both print and batch).  Along the right side of  the  screen  is  a
  7577.       menu  of action keys that can be pressed to perform functions on the
  7578.       queues.  Use the arrow keys to select  a  queue  and  then  type  an
  7579.       action  key to perform the desired function.  Extensive on-line help
  7580.       is available for QMAN; type F1 at any point for help  regarding  the
  7581.       current situation.  Press ESC to exit from QMAN.
  7582.  
  7583.       See  Chapter  8,  starting  on  page  48, for additional information
  7584.       about the use of QMAN.
  7585.  
  7586.  
  7587.  
  7588.       14.65 R
  7589.  
  7590.       The R command runs a  program  which  is  located  in  the  SY  area
  7591.       (\TSX32SYS).
  7592.  
  7593.       Syntax:
  7594.  
  7595.            R[/qualifiers] program
  7596.  
  7597.       Qualifiers  are the same as those used for the RUN command (see page
  7598.       135).
  7599.  
  7600.  
  7601.  
  7602.       14.66 RD
  7603.  
  7604.       RD is a synonym for RMDIR.  See RMDIR for information.
  7605.  
  7606.  
  7607.  
  7608.       14.67 RECALL
  7609.  
  7610.       The RECALL command displays the set of saved commands and recalls  a
  7611.       specific  saved  command  either  by specifying an index number or a
  7612.       string that matches the beginning of the command.
  7613.  
  7614.       Syntax:
  7615.  
  7616.            RECALL[/qualifiers] [selector]
  7617.  
  7618.       Qualifiers:
  7619.  
  7620.          /REVERSE Display commands from oldest to newest.
  7621.  
  7622.       If you use  the  RECALL  command  without  specifying  a  "selector"
  7623.       parameter,  a  numbered  list  of  all  saved commands is displayed.
  7624.       Normally, the most recently saved command  is  displayed  first  and
  7625.       the  oldest  command  is  displayed  last.  You can use the /REVERSE
  7626.  
  7627.       Chapter 14. TSX Command Summary                                  132
  7628.  
  7629.  
  7630.       qualifier to reverse the order of display.  An example of  a  RECALL
  7631.       command list is shown below:
  7632.  
  7633.              1: RUN TEST
  7634.              2: LINK TEST
  7635.              3: COMPILE TEST
  7636.              4: EDIT TEST
  7637.  
  7638.       The  number  displayed to the left of each command is an index which
  7639.       can be used to recall a saved command.  For example,  the  following
  7640.       command  recalls the third saved command (the "COMPILE TEST" command
  7641.       in this example):
  7642.  
  7643.            RECALL 3
  7644.  
  7645.       You can also use a character string to specify  the  command  to  be
  7646.       recalled.   The characters in your selector string are compared with
  7647.       the beginning characters of each saved command in the  order  newest
  7648.       to  oldest.   The first command that matches the specified string is
  7649.       recalled.  For example, the following command recalls  the  "COMPILE
  7650.       TEST" command:
  7651.  
  7652.            RECALL COMP
  7653.  
  7654.       See also Sections 3.2 and 14.77.
  7655.  
  7656.  
  7657.  
  7658.       14.68 RENAME
  7659.  
  7660.       RENAME  renames one or more files.  You can also use this command to
  7661.       rename directories.
  7662.  
  7663.       Syntax:
  7664.  
  7665.            RENAME[/qualifiers] old_name new_name
  7666.  
  7667.       Qualifiers:
  7668.  
  7669.          /BEFORE[=date-time] Select files created  before  specified  date
  7670.                  and time.
  7671.  
  7672.          /[NO]CONFIRM Request confirmation before renaming each file.
  7673.  
  7674.          /DATE[=date] Select files created on the specified date.
  7675.  
  7676.          /EXCLUDE=(files) Exclude specified files.
  7677.  
  7678.          /[NO]LOG Display file names after each file is renamed.
  7679.  
  7680.          /NEWFILE Select only files created today.
  7681.  
  7682.          /[NO]QUERY Same as /[NO]CONFIRM
  7683.  
  7684.       Chapter 14. TSX Command Summary                                  133
  7685.  
  7686.  
  7687.          /[NO]REPLACE (Default) Overwrite existing files.
  7688.  
  7689.          /SINCE[=date-time]   Select   files   created   since   specified
  7690.                  date/time.
  7691.  
  7692.  
  7693.  
  7694.       14.69 RESTORE
  7695.  
  7696.       RESTORE restores files from a  backup  save  set  created  with  the
  7697.       BACKUP command.
  7698.  
  7699.       Syntax:
  7700.  
  7701.            RESTORE[/qualifiers] save-set [out-spec]
  7702.  
  7703.       Qualifiers:
  7704.  
  7705.          /AFTER[=date-time]  Select files created since specified date and
  7706.                  time.
  7707.  
  7708.          /BEFORE[=date-time] Select files created  before  specified  date
  7709.                  and time.
  7710.  
  7711.          /BELL Ring the bell during volume change operations.
  7712.  
  7713.          /[NO]CRC Perform CRC checksum calculations.
  7714.  
  7715.          /[NO]CONFIRM Confirm whether each file should be restored.
  7716.  
  7717.          /DIRECTORY List the contents of the input save set.
  7718.  
  7719.          /EXCLUDE=(files) Exclude the specified files.
  7720.  
  7721.          /INCLUDE=(files) Include only the specified files.
  7722.  
  7723.          /LIST Same as /DIRECTORY
  7724.  
  7725.          /LOCAL Place files on the local network node.
  7726.  
  7727.          /[NO]LOG (Default) Display name of each file restored.
  7728.  
  7729.          /REPLACE Overwrite existing files with the same name.
  7730.  
  7731.          /SINCE[=date-time] Same as /AFTER.
  7732.  
  7733.          /[NO]WARN Print a warning message if a file cannot be restored.
  7734.  
  7735.       The  simplest  RESTORE  command  specifies  that  all files from the
  7736.       input save set should be copied to their  original  location  (i.e.,
  7737.       the  device  and  directory  where they were when BACKUP created the
  7738.       save set).  An example of such a command is:
  7739.  
  7740.            RESTORE B:SAVE1
  7741.  
  7742.       Chapter 14. TSX Command Summary                                  134
  7743.  
  7744.  
  7745.       All files in save set B:SAVE1.BSS are  restored  to  their  original
  7746.       location.   Variants  of  the RESTORE command select which files are
  7747.       restored from the input save set and also specify what  devices  and
  7748.       directories they are written to.
  7749.  
  7750.       The  contents  of  a  save  set  can be listed without restoring any
  7751.       files by using the /LIST qualifier, as in the command:
  7752.  
  7753.            RESTORE/LIST A:FULL.BSS
  7754.  
  7755.       You can select only certain files from the save  set  by  using  the
  7756.       /INCLUDE qualifier.  For example, the command:
  7757.  
  7758.            RESTORE/INCLUDE=*.C  A:FULL
  7759.  
  7760.       restores only files having the extension ".C".
  7761.  
  7762.       Directory  specifications  can  be used in the /INCLUDE qualifier as
  7763.       well.  The command
  7764.  
  7765.            RESTORE/INCLUDE=\TRAUMA\*.*  A:FULL.BSS
  7766.  
  7767.       restores all files from the \TRAUMA\ directory and
  7768.  
  7769.            RESTORE/INCLUDE=\TRAUMA\...\*.*  A:FULL.BSS
  7770.  
  7771.       selects the subdirectories of \TRAUMA\ as well.   If  you  know  you
  7772.       want  some,  but not all files matching a /INCLUDE criteria, you can
  7773.       use the /CONFIRM qualifier.  When you use this you are  asked  on  a
  7774.       file by file basis whether you really want the file restored.
  7775.  
  7776.       In  addition  to selecting files, you can use the /EXCLUDE qualifier
  7777.       to specify files that are not to be restored.   This  qualifier  can
  7778.       be used by itself or in combination with /INCLUDE.  For example,
  7779.  
  7780.            RESTORE/INCLUDE=*.C/EXCLUDE=\TSX32\KERNEL\*.C  A:FULL
  7781.  
  7782.       restores  all  files  with  an  extension of ".C" except those which
  7783.       reside in directory \TSX32\KERNEL.
  7784.  
  7785.       To specify that output files  should  be  restored  to  a  different
  7786.       device  or  directory  than  where  they  originally  resided  it is
  7787.       necessary to provide an output  file  specification.   Suppose,  for
  7788.       example,  that save set FULL.BSS contained a backup of device C: but
  7789.       you want to restore the files to device D:.  The  following  command
  7790.       command does this.
  7791.  
  7792.            RESTORE A:FULL.BSS D:
  7793.  
  7794.       The  elements present in the output specification (in this case only
  7795.       the device name) are used first in constructing  the  name  of  each
  7796.       output  file.   Then  any  missing parts are taken from the original
  7797.       filename.  Thus, the  files  will  be  restored  to  their  original
  7798.       directories but on device D: rather than C:.
  7799.  
  7800.       Chapter 14. TSX Command Summary                                  135
  7801.  
  7802.  
  7803.       The  following  command restores only the files with an extension of
  7804.       ".DAT" to a single specific output directory named \TEMP,
  7805.  
  7806.            RESTORE/INCLUDE=*.DAT  A:FULL.BSS  DHA0:\TEMP\*.*
  7807.  
  7808.       The RESTORE facility will create directories as necessary  to  write
  7809.       output  files  so  that  is  not necessary that the target directory
  7810.       even exist when the RESTORE command is  issued.   If  directory  and
  7811.       subdirectory  files  are  restored,  all nonexisting portions of the
  7812.       directory tree will be created.
  7813.  
  7814.       The RESTORE facility can recover files even when some of  the  input
  7815.       save  set  is missing or damaged.  If a single save set block cannot
  7816.       be read due to faulty media, RESTORE will reconstruct the lost  data
  7817.       using the redundancy blocks written by the BACKUP facility.
  7818.  
  7819.       If  you  lose  some volumes of a multi-volume save set you can still
  7820.       recover the files which reside on the remaining volumes.   In  fact,
  7821.       if  you  know in what order files were backed up and you have a save
  7822.       set spanning several  volumes,  you  may  want  to  skip  the  first
  7823.       volumes  and  begin  the  restore  operation with volumes containing
  7824.       files you want.
  7825.  
  7826.  
  7827.  
  7828.       14.70 RMDIR
  7829.  
  7830.       RMDIR deletes subdirectory files.  It is equivalent to RD.
  7831.  
  7832.       Syntax:
  7833.  
  7834.            RMDIR dirspec
  7835.            RD dirspec
  7836.  
  7837.  
  7838.  
  7839.       14.71 RUN
  7840.  
  7841.       RUN begins the execution  of  a  program.   This  is  equivalent  to
  7842.       typing  the  name  of the program; however, by using the RUN command
  7843.       you can specify the qualifier shown below to apply to the  program's
  7844.       execution.
  7845.  
  7846.       Syntax:
  7847.  
  7848.            RUN[/qualifiers] program
  7849.  
  7850.       Qualifiers:
  7851.  
  7852.          /BYPASN Don't perform logical device name assignments.
  7853.  
  7854.          /DOSNET  Tell DOS programs that all of its files are on networked
  7855.                  devices.
  7856.  
  7857.       Chapter 14. TSX Command Summary                                  136
  7858.  
  7859.  
  7860.          /[NO]DWRITE Allow program to directly access video memory.
  7861.  
  7862.          /[NO]GRAPHICS Same as /[NO]DWRITE.
  7863.  
  7864.          /HOLDPRIORITY  Don't  reduce  priority  when  user  switches   to
  7865.                  subprocess.
  7866.  
  7867.          /IOMAP Map virtual memory from 640Kb to 1MB to physical memory.
  7868.  
  7869.          /IOPRIV  Allow the privileged machine instructions: CLI, STI, IN,
  7870.                  OUT, INS, and OUT (this is the default).
  7871.  
  7872.          /KBINT Allow program to take over the keyboard interrupt vector.
  7873.  
  7874.          /LOCK Log off when program completes.
  7875.  
  7876.          /NOCFIN Do not take input to program from command file.
  7877.  
  7878.          /NONINT Run in "non-interactive".
  7879.  
  7880.          /NORUNDIS Suspend program when user switches to a subprocess.
  7881.  
  7882.          /NOSHARE Don't share the executable program with other users.
  7883.  
  7884.          /[NO]TTWAIT Suspend program  after  default  number  of  terminal
  7885.                  input loops.
  7886.  
  7887.          /NOVARY3BA Always set video port 3BA to 0x80.
  7888.  
  7889.          /OPT3BA  Optimize  programs  doing  IN operations from video port
  7890.                  3BA.
  7891.  
  7892.          /SCCA Disallow Control-C abort of program.
  7893.  
  7894.          /TTCKIO Allow more terminal input loops after an I/O operation.
  7895.  
  7896.  
  7897.  
  7898.       14.72 SEARCH
  7899.  
  7900.       SEARCH searches files for strings of text.
  7901.  
  7902.       Syntax:
  7903.  
  7904.            SEARCH[/qualifiers] filespec string
  7905.  
  7906.       Qualifiers:
  7907.  
  7908.          /BEFORE[=date-time]  Selects  files  created   before   specified
  7909.                  date/time.
  7910.  
  7911.          /BLOCK Read file in blocks of 512 bytes instead of records.
  7912.  
  7913.          /[NO]BRIEF (Default) Display file name on same line as string.
  7914.  
  7915.       Chapter 14. TSX Command Summary                                  137
  7916.  
  7917.  
  7918.          /DATE[=date] Selects files created on the specified date.
  7919.  
  7920.          /EXACT Do a case-sensitive search.
  7921.  
  7922.          /EXCLUDE=(files) Exclude specified files.
  7923.  
  7924.          /[NO]HEADER (Default) List file names in the output.
  7925.  
  7926.          /LENGTH=length Specify maximum length of input records.
  7927.  
  7928.          /LF Records are delimited with line-feeds alone.
  7929.  
  7930.          /[NO]LOG Display the name of each file before it is searched.
  7931.  
  7932.          /NAMES Display file names containing matches only.
  7933.  
  7934.          /NEW Search only files created today.
  7935.  
  7936.          /OUTPUT=file Redirects search output to specified file.
  7937.  
  7938.          /REGULAR  Search  strings  are  regular  expressions, not literal
  7939.                  text strings.
  7940.  
  7941.          /REX Same as /REGULAR.
  7942.  
  7943.          /SINCE[=date-time] Select files created since specified date  and
  7944.                  time.
  7945.  
  7946.       The  SEARCH  command  locates occurrences of a specified text string
  7947.       in a set of files.  For example, the  following  command  looks  for
  7948.       the text string "ALPHA" in a file named PARTICLE.C:
  7949.  
  7950.            SEARCH PARTICLE.C ALPHA
  7951.  
  7952.       Wildcards  are  frequently  used  in the file specifications for the
  7953.       SEARCH command.  For example, the  following  command  searches  for
  7954.       all  occurrences of the string ALPHA in all files with the extension
  7955.       ".C" in the current directory:
  7956.  
  7957.            SEARCH *.C ALPHA
  7958.  
  7959.       The "..." wildcard construct can be useful with the SEARCH  command.
  7960.       The  following  command  searches  for  the string BETA in all files
  7961.       with the extension ".C" in the \PILOT directory and all  directories
  7962.       below it:
  7963.  
  7964.            SEARCH \PILOT\...\*.C BETA
  7965.  
  7966.       See  Section 5.2, page 40, for additional information about wildcard
  7967.       constructs.
  7968.  
  7969.       It is often desirable to use SEARCH  to  identify  a  set  of  files
  7970.       which   need   some  further  processing  (such  as  editing).   The
  7971.       following command creates a file X.X containing  the  names  of  all
  7972.       files with an extension of ".C" containing the string "SPFUN":
  7973.  
  7974.       Chapter 14. TSX Command Summary                                  138
  7975.  
  7976.  
  7977.            SEARCH *.C SPFUN/OUT=X.X/NAMES
  7978.  
  7979.       If  the  search  string  contains  spaces  or  characters other than
  7980.       letters  and  digits,  enclose  the  string  in  quote  marks.   For
  7981.       example, the following command searches for the string "NEW YORK":
  7982.  
  7983.            SEARCH *.DAT "NEW YORK"
  7984.  
  7985.       The  SEARCH  command  allows  you  to  specify  more than one search
  7986.       string.  When this is done, any occurrence of  any  of  the  strings
  7987.       will  be found.  For example, the following command searches for the
  7988.       strings CALIFORNIA, TEXAS, and NEW YORK:
  7989.  
  7990.            SEARCH *.LST CALIFORNIA,TEXAS,"NEW YORK"
  7991.  
  7992.       Output can be redirected using the  /OUTPUT=file  qualifier.   Names
  7993.       of  files  can  be suppressed using the /NOHEADER qualifier.  Use of
  7994.       the /NAMES qualifier specifies that output should  consist  only  of
  7995.       file  names  instead  of  data  from  the file.  Finally, the /BRIEF
  7996.       qualifier specifies that each line of output should contain  both  a
  7997.       filename and the target record.
  7998.  
  7999.       SEARCH  normally reads in individual records of a file and looks for
  8000.       search strings within a record.  This is appropriate for text  files
  8001.       which  use  carriage-return line-feed sequences to mark the end of a
  8002.       record.  Since Unix systems delimit records with line-feeds (but  no
  8003.       carriage  returns),  the  /LF  option  can  be  used to specify this
  8004.       alternate record delimiter.  If the input file does not  consist  of
  8005.       records  at  all,  the  /BLOCK qualifier can be used to specify that
  8006.       the input file be searched in single 512  byte  blocks.   Note  that
  8007.       search  strings  which  begin in one block but end in the next block
  8008.       will not be matched.  The /BLOCK qualifier  can  not  be  used  with
  8009.       /BRIEF mode.
  8010.  
  8011.       A  "regular  expression"  describes  a  pattern of text instead of a
  8012.       literal  text  string.   The  syntax  used  to  describe  a  regular
  8013.       expression   search   pattern   consists  of  letters,  digits,  and
  8014.       operators  such  as  '*',  '+',  '$',  and   '%'.    Using   regular
  8015.       expressions  you  can search for complex patterns.  For example, the
  8016.       following SEARCH command locates the phrase "NEW YORK" allowing  the
  8017.       words  "NEW"  and  "YORK" to be separated by spaces on the same line
  8018.       or split across two lines.
  8019.  
  8020.            SEARCH/REGULAR *.TXT "NEW#+YORK"
  8021.  
  8022.       The following SEARCH command locates all  occurrences  of  the  word
  8023.       "void"  as the first word on a line allowing spaces and tabs only to
  8024.       occur between the start of the line and the word:
  8025.  
  8026.            SEARCH/REGULAR *.C "$%W*void"
  8027.  
  8028.       Because of the operator characters that are usually used in  regular
  8029.       expressions,  you  will need to enclose regular expressions in quote
  8030.       marks.  The SEARCH command strips  off  the  enclosing  quote  marks
  8031.       before  interpreting the search pattern.  In some cases you may need
  8032.  
  8033.       Chapter 14. TSX Command Summary                                  139
  8034.  
  8035.  
  8036.       to specify quote signs as part of  the  regular  expression  itself.
  8037.       To  do  this,  enclose the entire pattern in quote marks (") and use
  8038.       the apostrophe character (') to quote the desired string within  the
  8039.       pattern.   For  example, the following command searches for a string
  8040.       consisting of two dollar signs, followed  by  one  or  more  digits,
  8041.       followed by a colon:
  8042.  
  8043.            SEARCH/REGULAR *.ASM "'$$'%D+':'"
  8044.  
  8045.       Refer  to  the EDIT-32 User's Guide for additional information about
  8046.       using regular expressions.   The  table  below  lists  each  regular
  8047.       expression operator.
  8048.  
  8049.            Expression               Meaning                   Example
  8050.            ----------    ---------------------------------    -------
  8051.                c         any non-operator character c           a
  8052.               \c         character c literally                  \$
  8053.               's'        string s literally                   '$2.50'
  8054.                .         any character but line-delimiter       a.b
  8055.                $         line delimiter (end of line)          $begin
  8056.                #         space or line-delimiter              New#York
  8057.               [s]        any character in s                     [abc]
  8058.               (p)        subpattern p                          a(b|c)d
  8059.               ~p         anything but p                          ~%D
  8060.               p*         zero or more occurrences of p           a*
  8061.               p+         one or more occurrences of p            a+
  8062.               p?         zero or one occurrence of p             a?
  8063.             p{m,n}       m to n occurrences of p               a{1,3}
  8064.              p1p2        p1 followed by p2                    [ab][cd]
  8065.              p1&p2       item must be p1 and p2                %D&~0
  8066.              p1|p2       item may be p1 or p2                 a(b|c|d)
  8067.               %A         upper- or lower-case letter
  8068.               %C         control character
  8069.               %D         decimal digit (0..9)
  8070.               %H         hexadecimal digit (0..9 or A..F)
  8071.               %L         lower-case letter
  8072.               %N         letter or digit
  8073.               %P         printing character
  8074.               %Q         quote mark (")
  8075.               %U         upper-case letter
  8076.               %W         "white space" -- space or tab
  8077.               %X         any char including line-delimiter
  8078.               %(         open paren with matching close paren
  8079.               %[         open bracket with matching close bracket
  8080.               %{         open brace with matching close brace
  8081.  
  8082.  
  8083.  
  8084.       14.73 SEND
  8085.  
  8086.       SEND   sends   a  message  to  another  user's  terminal.   See  the
  8087.       description of the PHONE command on page 66  for  information  about
  8088.       conversing with another user.
  8089.  
  8090.       Chapter 14. TSX Command Summary                                  140
  8091.  
  8092.  
  8093.       Syntax:
  8094.  
  8095.            SEND[/qualifiers] message
  8096.  
  8097.       Examples:
  8098.  
  8099.            SEND/NAME=PHIL/FORCE  I think the computer is on fire.
  8100.            SEND/TERM=COMPUTER_ROOM Please mount backup disk
  8101.  
  8102.       Qualifiers:
  8103.  
  8104.          /ALL Send to all jobs (except the sender).
  8105.  
  8106.          /FORCE Override /GAG setting on other terminals.
  8107.  
  8108.          /ID=job_id Send to specified job id number.
  8109.  
  8110.          /NAME=user_name Send to specified user.
  8111.  
  8112.          /NOBELL Don't ring bell on receiving terminals.
  8113.  
  8114.          /PARENT Send to parent of current process.
  8115.  
  8116.       See  Section  10.2.4 on page 65 for additional information about the
  8117.       SEND command.
  8118.  
  8119.  
  8120.  
  8121.       14.74 SET CMDPROC
  8122.  
  8123.       The SET CMDPROC command allows you to specify the name of a  program
  8124.       to  act  as  the  command  processor for your job.  You can also use
  8125.       this command to specify a program to be run when some other  program
  8126.       exits.
  8127.  
  8128.       Syntax:
  8129.  
  8130.            SET CMDPROC /FILE=name[/qualifiers]
  8131.  
  8132.       Qualifiers:
  8133.  
  8134.          /FILE=name (Required) Specify name of command processor program.
  8135.  
  8136.          /TEMP Use new command processor only once then use TSKMON.
  8137.  
  8138.       The   SET   CMDPROC   command   allows   you  to  provide  the  file
  8139.       specification of a program to be used as the command  processor  for
  8140.       your  job.   The command processor is the program that is run by TSX
  8141.       when a program exits to the system.   The  initial  default  command
  8142.       processor  for  each  job  is  SY:TSKMON.EXP  which  can process the
  8143.       keyboard commands described in the TSX-32 User's Manual.
  8144.  
  8145.       If the /TEMP qualifier is not specified with  this  command,  a  new
  8146.       default  command processor is established for your job.  Each time a
  8147.       program exits, either normally  or  do  to  an  abort,  the  current
  8148.  
  8149.       Chapter 14. TSX Command Summary                                  141
  8150.  
  8151.  
  8152.       default  command processor is executed.  Be careful about using this
  8153.       command because unless your program  correctly  processes  commands,
  8154.       or  resets TSKMON as the default command processor, you will have no
  8155.       way to regain  control.   Note  that  typing  control-C  aborts  the
  8156.       current  program and causes the current default command processor to
  8157.       be run.
  8158.  
  8159.       The /TEMP qualifier may be  used  to  declare  a  temporary  command
  8160.       processor  that  will  be  executed  only once when the next program
  8161.       exit occurs.  After that, the current default command processor  for
  8162.       your  job  will  be  used.  The /TEMP qualifier is useful in that it
  8163.       allows you to specify a program to do cleanup  processing  for  some
  8164.       other program.
  8165.  
  8166.  
  8167.  
  8168.       14.75 SET DATE
  8169.  
  8170.       SET  DATE  sets the system date.  Date format is dd-mmm-yyyy.  It is
  8171.       equivalent to DATE.
  8172.  
  8173.       Syntax:
  8174.  
  8175.            SET DATE date
  8176.            DATE date
  8177.  
  8178.  
  8179.  
  8180.       14.76 SET DEFAULT
  8181.  
  8182.       SET DEFAULT is equivalent to CHDIR.  See CHDIR for information.
  8183.  
  8184.  
  8185.  
  8186.       14.77 SET EDIT
  8187.  
  8188.       SET EDIT controls the terminal input (command line) editor.
  8189.  
  8190.       Syntax:
  8191.  
  8192.            SET EDIT/qualifiers
  8193.  
  8194.       Qualifiers:
  8195.  
  8196.          /INSERT Start editor in insert mode.
  8197.  
  8198.          /OVERSTRIKE Start editor in overstrike mode.
  8199.  
  8200.          /KEYPAD Turn on numeric keypad editing keys.
  8201.  
  8202.          /NOKEYPAD (Default) Use keypad as in DOS.
  8203.  
  8204.          /[NO]KEYSUBSTITUTIONS (Default) Do DEFINE KEY substitutions.
  8205.  
  8206.       Chapter 14. TSX Command Summary                                  142
  8207.  
  8208.  
  8209.          /MAXUKD=n Allow n key definitions.
  8210.  
  8211.          /MAXUKDLENGTH=n Allow key replacement string  of  maximum  length
  8212.                  n.
  8213.  
  8214.          /OFF Turn off the terminal input editor.
  8215.  
  8216.          /ON (Default) Turn on the terminal input editor.
  8217.  
  8218.          /SAVESIZE=n Recall a maximum of n command lines.
  8219.  
  8220.       See also Sections 3.2 and 14.67.
  8221.  
  8222.  
  8223.  
  8224.       14.78 SET ENTRY
  8225.  
  8226.       SET  ENTRY  is  used to control batch or print jobs.  Using the QMAN
  8227.       program is the preferred way to do this.  See  Chapter  8,  starting
  8228.       on  page  48,  for  additional information about the use of QMAN and
  8229.       spooled printers.
  8230.  
  8231.  
  8232.  
  8233.       14.79 SET EVENT
  8234.  
  8235.       SET EVENT starts or stops writing to  event  log  files.   The  SHOW
  8236.       EVENTS command is the preferred way to do this (see page 157).
  8237.  
  8238.       Syntax:
  8239.  
  8240.            SET EVENT/qualifiers
  8241.  
  8242.       Qualifiers:
  8243.  
  8244.          /[NO]FILE Create log of file operations.
  8245.  
  8246.          /[NO]FLOCK Create log of file lock operations.
  8247.  
  8248.          /[NO]SECURITY Create log of security operations.
  8249.  
  8250.  
  8251.  
  8252.       14.80 SET HOST
  8253.  
  8254.       SET  HOST  cross-connects your terminal with a communication port or
  8255.       network node.  Once connected, characters  typed  at  your  terminal
  8256.       are  sent to the designated line and characters received from it are
  8257.       displayed on your  terminal.   Type  control-backslash  followed  by
  8258.       Enter to break the connection.
  8259.  
  8260.       Syntax:
  8261.  
  8262.            SET HOST ttname
  8263.  
  8264.       Chapter 14. TSX Command Summary                                  143
  8265.  
  8266.  
  8267.       The  SET  HOST  command cross-connects your time-sharing line with a
  8268.       specified communication line.   "Cross-connecting"  a  communication
  8269.       line  with  your  time-sharing  terminal  means  that each character
  8270.       typed at your terminal is transmitted  on  the  communication  line,
  8271.       and  each  character received on the communication line is displayed
  8272.       at your terminal.  Because the  system  buffers  characters  between
  8273.       your  terminal and the communication line, your terminal may operate
  8274.       at  a  baud  rate  different  from  that  of  the  cross   connected
  8275.       communication line.
  8276.  
  8277.       Note:  The  SET  HOST  command  does  not  do  ANSI  escape sequence
  8278.       processing when run from the console so it does not work well  as  a
  8279.       communications  program  when  dialing  into  a  bulletin  board.  A
  8280.       better choice for this type  of  application  is  the  HOST  command
  8281.       described  in  Section  14.40  on  page  118.   The  HOST command is
  8282.       somewhat less efficient than  SET  HOST  but  performs  ANSI  escape
  8283.       sequence  processing and allows you to perform X, Y, and Zmodem file
  8284.       transfers.
  8285.  
  8286.       Once the cross-connection  is  established,  nearly  all  characters
  8287.       typed  at  your  terminal  are transmitted on the communication line
  8288.       rather  than  being  interpreted  by  the  system.   This   includes
  8289.       characters such as rubout, control-C, control-U, control-W, etc.
  8290.  
  8291.       The  one  character  that  is  interpreted  by  the  system during a
  8292.       cross-connection is defined by the "CCXCTL"  sysgen  parameter.   By
  8293.       default,  it  is  the  control-backslash character (hex 0x1C).  When
  8294.       this character is typed, it is not transmitted on the  communication
  8295.       line  but causes the system to interpret the next typed character as
  8296.       a cross-connection function character.  Type  carriage-return  after
  8297.       control-backslash  to  break the cross-connection and return control
  8298.       to the  program  that  initiated  the  cross-connection.   Type  two
  8299.       consecutive   control-backslash   characters  to  cause  one  to  be
  8300.       transmitted through the communication line.  Other  cross-connection
  8301.       function characters are listed in the following table:
  8302.  
  8303.            Character                      Meaning
  8304.            ---------       --------------------------------------
  8305.                B           Transmit a break
  8306.                C           Break connection and drop DTR
  8307.                D           Raise DTR
  8308.                H           Drop DTR (hangup)
  8309.                R           Reset XON/XOFF status
  8310.                X           Break connection without dropping DTR
  8311.              Enter         Break connection and drop DTR
  8312.  
  8313.       The  normal  sequence  of  operations to cross-connect your terminal
  8314.       with a communication line is as follows:
  8315.  
  8316.       1.  Use the ALLOCATE command to allocate the communication line  for
  8317.           your  exclusive use.  This also allows your to perform temporary
  8318.           parameter settings on the line which will be cancelled when  you
  8319.           deallocate the line.
  8320.  
  8321.       Chapter 14. TSX Command Summary                                  144
  8322.  
  8323.  
  8324.       2.  Use  the  SET  TERMINAL  command  to set line parameters such as
  8325.           baud rate for the communication line.
  8326.  
  8327.       3.  Use the SET HOST  command  to  cross-connect  your  time-sharing
  8328.           line with the communication line.
  8329.  
  8330.       4.  Type  control-backslash followed by carriage-return to break the
  8331.           cross-connection and reconnect your terminal  with  the  command
  8332.           interpreter.
  8333.  
  8334.       5.  After   the  cross-connection  is  broken,  use  the  DEALLOCATE
  8335.           command to release the communication line.   If  the  parameters
  8336.           set  by  the  SET  TERMINAL command were temporary, they will be
  8337.           restored to their permanent values.
  8338.  
  8339.  
  8340.  
  8341.       14.81 SET LOGOFF
  8342.  
  8343.       SET LOGOFF specifies options related to job logoff processing.
  8344.  
  8345.       Syntax:
  8346.  
  8347.            SET LOGOFF/qualifiers
  8348.  
  8349.       Qualifiers:
  8350.  
  8351.          /ACCOUNTING  Specifies  that  a  logoff  message  and  accounting
  8352.                  information  is  to  be  printed  when  the job logs off.
  8353.                  This is the default case.
  8354.  
  8355.          /FILE=filespec Specify the name of a command file to be  executed
  8356.                  when the job logs off.
  8357.  
  8358.          /NOACCOUNTING  Specifies  that  the logoff message and accounting
  8359.                  information that is normally printed when a job logs  off
  8360.                  is to be suppressed.
  8361.  
  8362.          /SILENT Equivalent to /NOACCOUNTING
  8363.  
  8364.  
  8365.  
  8366.       14.82 SET LOG
  8367.  
  8368.       SET  LOG controls logging of terminal I/O.  When terminal logging is
  8369.       turned on, all  output  sent  to  the  terminal  by  use  of  system
  8370.       services  (not  direct  video  memory  writes)  is  written  to  the
  8371.       specified log file.
  8372.  
  8373.       Syntax:
  8374.  
  8375.            SET LOG/qualifiers
  8376.  
  8377.       Chapter 14. TSX Command Summary                                  145
  8378.  
  8379.  
  8380.       Qualifiers:
  8381.  
  8382.          /ALL (Default) Log both terminal input and output.
  8383.  
  8384.          /CLOSE Close log file and terminate logging..
  8385.  
  8386.          /FILE=filespec Write output to specified file.
  8387.  
  8388.          /[NO]LOGIN (Default) Log terminal or command file input.
  8389.  
  8390.          /[NO]LOGOUT (Default) Log terminal output.
  8391.  
  8392.          /OFF Same as /CLOSE
  8393.  
  8394.          /[NO]SUSPEND Suspend logging until a SET  LOG/RESUME  command  is
  8395.                  issued.
  8396.  
  8397.          /RESET  Discard  data  in  the current log file, but do not close
  8398.                  the file.
  8399.  
  8400.          /RESUME Resume logging after a SET LOG/SUSPEND command.
  8401.  
  8402.       The SET LOG command controls terminal logging.   To  begin  terminal
  8403.       logging,  use  the  /FILE=filespec  qualifier.   If  a  log  file is
  8404.       already open, the current log file is closed before the new  one  is
  8405.       opened.   The default extension for the log file name is ".LOG".  To
  8406.       close the current log file without opening a new log file,  use  the
  8407.       /CLOSE  qualifier.   The  log  file is automatically closed when you
  8408.       log off.
  8409.  
  8410.       Normally, both terminal input and  output  are  copied  to  the  log
  8411.       file.   However,  you  can use the /NOLOGIN and /NOLOGOUT qualifiers
  8412.       to prevent either terminal input or output from being logged.
  8413.  
  8414.  
  8415.  
  8416.       14.83 SET MESSAGE
  8417.  
  8418.       SET MESSAGE controls the format of TSX status and error messages.
  8419.  
  8420.       Syntax:
  8421.  
  8422.            SET MESSAGE/qualifiers
  8423.  
  8424.       Qualifiers:
  8425.  
  8426.          /ALL Print all parts of message.
  8427.  
  8428.          /[NO]FACILITY Print the facility name.
  8429.  
  8430.          /FULL Same as /ALL.
  8431.  
  8432.          /[NO]IDENTIFICATION Print identifying mnemonic name.
  8433.  
  8434.       Chapter 14. TSX Command Summary                                  146
  8435.  
  8436.  
  8437.          /[NO]SEVERITY Print error severity indicator letter.
  8438.  
  8439.          /[NO]TEXT Print text of message.
  8440.  
  8441.  
  8442.  
  8443.       14.84 SET NEWSTATISTICS
  8444.  
  8445.       SET NEWSTATISTICS resets  system  statistics  information  which  is
  8446.       reported  by  commands  such  as  SHOW USE, SHOW CACHE, SHOW PAGING,
  8447.       etc.
  8448.  
  8449.       Syntax:
  8450.  
  8451.            SET NEWSTATISTICS
  8452.  
  8453.  
  8454.  
  8455.       14.85 SET PRINTWINDOW
  8456.  
  8457.       The SET PRINTWINDOW command is used  to  specify  the  name  of  the
  8458.       printer  and  other parameters related to the print window facility.
  8459.       The print window facility  allows  you  to  print  a  copy  of  your
  8460.       current  screen  image  by  pressing  the  "Print Screen" key on the
  8461.       console or PC-term terminals.  On terminals that do not have  "Print
  8462.       Screen"  keys,  you  can  print  the screen by pressing control-B or
  8463.       another control character specified by the "PWCH" system  generation
  8464.       parameter.
  8465.  
  8466.       Syntax:
  8467.  
  8468.            SET PRINTWINDOW/qualifiers
  8469.  
  8470.       Qualifiers:
  8471.  
  8472.          /[NO]BEGINFF Print form feed at beginning of print.
  8473.  
  8474.          /[NO]BELL Ring terminal bell when screen image is stored.
  8475.  
  8476.          /DEVICE=name Print to this device.
  8477.  
  8478.          /ENDFF Print a form feed at end of print.
  8479.  
  8480.          /OFF Turn off print window facility for your job.
  8481.  
  8482.          /ON (Default) turn on the print window facility for your job.
  8483.  
  8484.       The  SET  PRINTWINDOW command is used to specify the device to which
  8485.       print  window  output  is  to  be  written,  and  to  specify  other
  8486.       parameters  related  to the print window facility.  For example, the
  8487.       command
  8488.  
  8489.            SET PRINTWINDOW/DEVICE=PRINT:
  8490.  
  8491.       Chapter 14. TSX Command Summary                                  147
  8492.  
  8493.  
  8494.       directs print window output to  the  standard  spooled  print  queue
  8495.       named  "PRINT:".   If  you specify a device without a file name, the
  8496.       system generates a  file  name  of  the  form  "WINnnnnn.LST"  where
  8497.       "nnnnn" is the id number of your job.
  8498.  
  8499.       You  must  set  the  system  generation  parameter DOWINPRNT to 1 in
  8500.       order to enable the TSX window printing facility.  This is  normally
  8501.       done when you select an option during the TSX-Lite installation.
  8502.  
  8503.       When  you  type  Print  Screen (or some other character specified by
  8504.       the "PWCH" sysgen parameter), the system signals the WINPRT  program
  8505.       (running  as  a  detached  job)  which  takes  a  "snapshot" of your
  8506.       current screen image.  If you specify the  /BELL  qualifier  on  the
  8507.       SET  PRINTWINDOW  command, WINPRT will ring your terminal bell after
  8508.       it has taken the shapshot.  WINPRT  then  queues  the  snapshot  for
  8509.       printing  and  prints  if  after  all  other previously queued print
  8510.       window requests have been serviced.
  8511.  
  8512.  
  8513.  
  8514.       14.86 SET PROCESS
  8515.  
  8516.       SET PROCESS alters job characteristics.
  8517.  
  8518.       Syntax:
  8519.  
  8520.            SET PROCESS/qualifiers
  8521.  
  8522.       Qualifiers:
  8523.  
  8524.          /AUTHORIZED Command applies to authorized privileges.
  8525.  
  8526.          /[NO]BELL (Default)Enable terminal bell.
  8527.  
  8528.          /[NO]CMDTRACE Trace search for an executable file.
  8529.  
  8530.          /[NO]DBSS Turn on system service trace facility.
  8531.  
  8532.          /[NO]DBV86 Turn on  system  service  trace  facility  for  16-bit
  8533.                  programs.
  8534.  
  8535.          /[NO]DPMI Turn on or off DPMI support.
  8536.  
  8537.          /EMS=value   Enable  specified  amount  of  EMS  memory  for  DOS
  8538.                  programs.
  8539.  
  8540.          /IDENTIFICATION=id Specify which job  this  SET  PROCESS  command
  8541.                  applies to.
  8542.  
  8543.          /MAXMEMORY=value  Specify max number of k-bytes of virtual memory
  8544.                  for job.
  8545.  
  8546.          /MAXPRIORITY=value Specify maximum job priority.
  8547.  
  8548.       Chapter 14. TSX Command Summary                                  148
  8549.  
  8550.  
  8551.          /MAXTTCHK=n Allow DOS programs to  check  for  terminal  input  n
  8552.                  times before suspending.
  8553.  
  8554.          /MAXTTIOCHK=n  Allow  DOS  programs to check for terminal n times
  8555.                  after an I/O operation before suspending.
  8556.  
  8557.          /[NO]MONITOR Allow others to monitor this job with SPY  or  TUTOR
  8558.                  commands.
  8559.  
  8560.          /NAME=string Set process name.
  8561.  
  8562.          /PRIORITY=value Specify execution priority.
  8563.  
  8564.          /PRIVILEGES=privlist Specify a list of privileges.
  8565.  
  8566.          /RESUME Resume the execution of a suspended job.
  8567.  
  8568.          /[NO]SCCA Suppress control-C aborts
  8569.  
  8570.          /SMANAGER=n   Specify   the  invocation  level  for  the  session
  8571.                  manager.
  8572.  
  8573.          /SUSPEND Suspend the execution of a job.
  8574.  
  8575.          /[NO]TTFWBELL Ring terminal when suspending  a  DOS  program  for
  8576.                  too many terminal input checks.
  8577.  
  8578.          /TTHANGTIME=n  Specify 1/100's of a second to suspend DOS program
  8579.                  after excessive terminal input checks.
  8580.  
  8581.          /USERNAME=name Set the user name for the process.
  8582.  
  8583.  
  8584.  
  8585.       14.87 SET
  8586.  
  8587.       SET symbol defines a symbol to be placed in  the  environment  block
  8588.       for DOS programs.
  8589.  
  8590.       Syntax:
  8591.  
  8592.            SET[/qualifiers] symbol=string
  8593.  
  8594.       Qualifiers:
  8595.  
  8596.          /SYMBOL  SET  command  is  a  symbol  definition,  not  a TSX SET
  8597.                  command.
  8598.  
  8599.  
  8600.  
  8601.       14.88 SET SYSTEM
  8602.  
  8603.       SET SYSTEM alters system-wide parameters.
  8604.  
  8605.       Chapter 14. TSX Command Summary                                  149
  8606.  
  8607.  
  8608.       Syntax:
  8609.  
  8610.            SET SYSTEM/qualifiers
  8611.  
  8612.       Qualifiers:
  8613.  
  8614.          /[NO]ACCOUNTING Enables accounting log file.
  8615.  
  8616.          /[NO]CACHEWRITETHROUGH Same as /[NO]IOFLUSH.
  8617.  
  8618.          /[NO]IOFLUSH Write data directly to disk, not to the cache.
  8619.  
  8620.          /[NO]LOGON Enables new jobs to log onto the system
  8621.  
  8622.          /QUAN1=value Execution time slice for interactive state.
  8623.  
  8624.          /QUAN1A=value  Execution  time  slice  for  high  priority   wait
  8625.                  reactivation.
  8626.  
  8627.          /QUAN1B=value  Execution time slice switching between interactive
  8628.                  jobs.
  8629.  
  8630.          /QUAN1C=value Execution time at highest interactive state.
  8631.  
  8632.          /QUAN2=value Execution time slice for cpu-bound jobs.
  8633.  
  8634.  
  8635.  
  8636.       14.89 SET TERMINAL
  8637.  
  8638.       SET TERMINAL sets attributes and options for a terminal line.
  8639.  
  8640.       Syntax:
  8641.  
  8642.            SET TERMINAL/qualifiers
  8643.            SET ttname/qualifiers
  8644.  
  8645.       Qualifiers:  (cl  indicates   communication   line,   ts   indicates
  8646.       time-sharing line)
  8647.  
  8648.          /7BIT (cl,ts) Same as /NOEIGHTBIT.
  8649.  
  8650.          /8BIT (cl,ts) Same as /EIGHTBIT.
  8651.  
  8652.          /ADDLF (cl) Add a line feed to each carriage return.
  8653.  
  8654.          /ANYXON  (ts)  Any  character  will resume output after Ctrl-S is
  8655.                  pressed.
  8656.  
  8657.          /[NO]AUTOBAUD (ts) Allow automatic baud selection during login.
  8658.  
  8659.          /BACKGROUND=color (ts) Specify the default background color.
  8660.  
  8661.          /[NO]BACKRUB (ts) Convert backspace characters to rubout.
  8662.  
  8663.       Chapter 14. TSX Command Summary                                  150
  8664.  
  8665.  
  8666.          /[NO]BININ (cl) Pass  all  characters  directly  to  the  reading
  8667.                  program.
  8668.  
  8669.          /[NO]BINOUT  (cl)  8-bit  characters  are  to be sent to the line
  8670.                  without modification.
  8671.  
  8672.          /[NO]BINUART (cl, default)  Pass  all  characters  when  line  is
  8673.                  being used as a virtual UART COM port.
  8674.  
  8675.          /BITS=n(cl,ts)  Specify data bits to be used by the hardware line
  8676.                  controller.
  8677.  
  8678.          /[NO]BOARDHS (cl,ts,default) Allow  serial  hardware  to  perform
  8679.                  flow control.
  8680.  
  8681.          /[NO]CR   (cl,   default)   Okay   to   transmit  carriage-return
  8682.                  characters.
  8683.  
  8684.          /[NO]CTL (cl,default) Okay to transmit control characters to  the
  8685.                  communication line.
  8686.  
  8687.          /[NO]DEAD (cl,ts) Do not use this line.
  8688.  
  8689.          /DEVICE_TYPE=name (ts) Same as /TERMTYPE.
  8690.  
  8691.          /[NO]DTR  Raises  the  Data  Terminal  Ready  (DTR) signal on the
  8692.                  specified line.
  8693.  
  8694.          /[NO]ECHO  (ts,sp,default)  Echo  received  characters   to   the
  8695.                  terminal.
  8696.  
  8697.          /[NO]EIGHTBIT (cl,ts) Pass all 8 bits of each character.
  8698.  
  8699.          /ENDFF=n  (cl)  Write  n  form-feed  characters  to the end of an
  8700.                  output file when I/O channel is closed.
  8701.  
  8702.          /FOREGROUND=color (ts) Set foreground color.
  8703.  
  8704.          /[NO]FORM (cl,ts) Okay to send form-feed characters.
  8705.  
  8706.          /[NO]FORM0 (cl) Send a form-feed character  to  the  line  before
  8707.                  the first write.
  8708.  
  8709.          /[NO]GAG (ts,sp) Don't display messages from other jobs.
  8710.  
  8711.          /HANDSHAKING=type (ts,cl) Use specified handshaking method:
  8712.  
  8713.       Chapter 14. TSX Command Summary                                  151
  8714.  
  8715.  
  8716.                   XONXON
  8717.                   XONCTS
  8718.                   XONDSR
  8719.                   RTSXON
  8720.                   RTSCTS
  8721.                   RTSDSR
  8722.                   DTRXON
  8723.                   DTRCTS
  8724.                   DTRDSR
  8725.  
  8726.          /IXLATE=(received=converted,received=converted,...) (ts,cl)
  8727.                  Define a translation table for received characters.
  8728.  
  8729.          /[NO]LC (ts,sp,default) Okay to send lower-case characters.
  8730.  
  8731.          /LENGTH=n (cl) Specify the number of lines per page.
  8732.  
  8733.          /[NO]LFIN  (cl,ts,default)  Pass  line  feed  characters  to  the
  8734.                  program.
  8735.  
  8736.          /[NO]LFOUT (cl,default) Pass transmitted line-feed characters  to
  8737.                  the
  8738.  
  8739.          /[NO]LOGON (cl,ts,default) Allow logon.
  8740.  
  8741.          /OXLATE=(sent=converted,sent=converted,...)(ts,cl)    Define    a
  8742.                  translation table for transmitted characters.
  8743.  
  8744.          /[NO]PAGE (cl,ts,default) Control-S and  control-Q  perform  flow
  8745.                  control functions.
  8746.  
  8747.          /[NO]PARITY=type  (cl,ts) Use specified parity control:EVEN, ODD,
  8748.                  or NONE.
  8749.  
  8750.          /[NO]PCDIM (ts)  Make  dim  characters  the  default  on  PC-Term
  8751.                  terminals.
  8752.  
  8753.          /PERMANENT (cl,ts) Make changes permanent.
  8754.  
  8755.          /[NO]PHONE (ts) Perform modem control.
  8756.  
  8757.          /[NO]PRINTER   (ts,cl)  There  is  a  printer  attached  to  this
  8758.                  terminal.
  8759.  
  8760.          /RESET (ts,cl) Reset line to original condition.
  8761.  
  8762.          /[NO]RTS (ts,cl) Raises the Request To Send (RTS) signal.
  8763.  
  8764.          /[NO]SCOPE (ts) Terminal is a CRT.
  8765.  
  8766.          /[NO]SEVENBIT (cl,ts,default) same as /NOEIGHTBIT.
  8767.  
  8768.          /SKIP=n (cl) Send form-feed when n lines remain on the page.
  8769.  
  8770.       Chapter 14. TSX Command Summary                                  152
  8771.  
  8772.  
  8773.          /SPEED=value (cl,ts) Set speed to  one  of  the  following:  100,
  8774.                  150, 300, 600, 1200, 2400, 4800, 9600, or 19200.
  8775.  
  8776.          /[NO]START (ts) Start a job on the line.
  8777.  
  8778.          /[NO]SYSPASSWORD  (ts)  Require  system  password before starting
  8779.                  job.
  8780.  
  8781.          /[NO]TAB (cl,ts) Okay to send tab characters.
  8782.  
  8783.          /TERMTYPE=name (ts) Specify the type of terminal.  Name  must  be
  8784.                  one of:
  8785.  
  8786.                   ANSI
  8787.                   PCTERM
  8788.                   TSXTERM
  8789.                   VT100
  8790.                   VT220
  8791.                   VT320
  8792.                   VT420
  8793.                   RELISYS
  8794.  
  8795.          /[NO]TPFFCLOSE  (ts) Send a form feed to terminal printer on file
  8796.                  close.
  8797.  
  8798.          /[NO]TPFFOPEN (ts) Send a form feed to terminal printer  on  file
  8799.                  open.
  8800.  
  8801.          /TPCPS=n  (ts)  Send data to terminal printer at n characters per
  8802.                  second.
  8803.  
  8804.          /[NO]UPCASE (cl) Convert lower case characters to upper case.
  8805.  
  8806.          /VUARTBUF=size Specify  size  of  output  buffer  used  to  store
  8807.                  characters  when the line is being used as a virtual UART
  8808.                  such as with a communications program.  The default  size
  8809.                  is   32   characters.    Increasing   this   may  improve
  8810.                  efficiency but could cause problems for timing  sensitive
  8811.                  programs that are doing flow control.
  8812.  
  8813.          /WIDTH=n (cl) Specify the maximum line width.
  8814.  
  8815.          /NOXLATE Turns off any character translation for the line.
  8816.  
  8817.          /XON (cl,ts) Resets line in hold (XOFF) condition.
  8818.  
  8819.       See also the description of the TMAN command on page 165.
  8820.  
  8821.  
  8822.  
  8823.       14.90 SET TIME
  8824.  
  8825.       SET  TIME  sets  the  system  time.   It  is  equivalent to the TIME
  8826.       command.
  8827.  
  8828.       Chapter 14. TSX Command Summary                                  153
  8829.  
  8830.  
  8831.       Syntax:
  8832.  
  8833.            SET TIME time
  8834.            TIME time
  8835.  
  8836.       Examples:
  8837.  
  8838.            SET TIME 10:30
  8839.            TIME 15:24:05
  8840.  
  8841.  
  8842.  
  8843.       14.91 SET VERIFY
  8844.  
  8845.       SET VERIFY controls echo of command files to terminal.
  8846.  
  8847.       Syntax:
  8848.  
  8849.            SET [NO]VERIFY
  8850.  
  8851.  
  8852.  
  8853.       14.92 SET VIDEO
  8854.  
  8855.       SET VIDEO changes the default video mode of the console and  TSXTERM
  8856.       terminals.
  8857.  
  8858.       Syntax:
  8859.  
  8860.            SET VIDEO/qualifiers
  8861.  
  8862.       Qualifiers:
  8863.  
  8864.          /MODE=value  Specify  the  new  mode.  Valid values: VGA: 0,1,2,3
  8865.                  and 7; EGA: 0,1,2 and 3; MDA: 7 only.
  8866.  
  8867.  
  8868.  
  8869.       14.93 SET WINDOW
  8870.  
  8871.       SET WINDOW controls process windowing.
  8872.  
  8873.       Syntax:
  8874.  
  8875.            SET WINDOW/qualifiers
  8876.  
  8877.       Qualifiers:
  8878.  
  8879.          /DARK Display light characters on dark background.
  8880.  
  8881.          /LIGHT Display dark characters on light background.
  8882.  
  8883.          /LINES=n Specify the number of lines on the screen.
  8884.  
  8885.       Chapter 14. TSX Command Summary                                  154
  8886.  
  8887.  
  8888.          /NARROW Display 80 columns.
  8889.  
  8890.          /NOSCROLL Disallow scrolling while window is in background.
  8891.  
  8892.          /SCROLL=n Allow n lines to scroll while window is in background.
  8893.  
  8894.          /WIDE Display 132 columns.
  8895.  
  8896.  
  8897.  
  8898.       14.94 SET WORKING_SET
  8899.  
  8900.       SET WORKING_SET sets physical memory  space  available  for  current
  8901.       job.
  8902.  
  8903.       Syntax:
  8904.  
  8905.            SET WORKING_SET/qualifiers
  8906.  
  8907.       Qualifiers:
  8908.  
  8909.          /[NO]ADJUST   (Default)   Enables   automatic  working  set  size
  8910.                  adjustment
  8911.  
  8912.          /EXTENT=value Same as /MAXIMUM.
  8913.  
  8914.          /MAXIMUM=value Specify maximum K-bytes of memory for the job.
  8915.  
  8916.          /MINIMUM=value Specify minimum K-bytes of memory for the job.
  8917.  
  8918.       The "working set" for your process is the set of memory pages  which
  8919.       is  currently resident in physical memory and directly accessible by
  8920.       your programs.  (A "page" of memory consists of 4,096 bytes).   Your
  8921.       virtual  memory  space  may be larger than your working set.  Memory
  8922.       pages that are part of your virtual memory space  but  not  in  your
  8923.       working  set  may  be  located  either  in physical memory or in the
  8924.       system page file.  An attempt to access a memory page which  is  not
  8925.       in  your  working  set  causes  a "page fault".  Despite its name, a
  8926.       page fault is not an error but rather denotes the process  that  TSX
  8927.       performs  to  add a memory page to your working set.  If the maximum
  8928.       allowed number of pages are in your working set when  a  page  fault
  8929.       occurs,  the oldest entry in the working set is removed to make room
  8930.       for the entry being added.
  8931.  
  8932.       Normally, TSX performs automatic working set size  adjustment  based
  8933.       on  the  page  fault  rate.  If the number of page faults per second
  8934.       exceeds the value of the "WSDAUPRATE" sysgen parameter  the  working
  8935.       set  size  is  expanded  by  the  size  of  the  "WSDAUPAMT"  sysgen
  8936.       parameter.  If the page fault rate is less than  the  "WSDADOWNRATE"
  8937.       sysgen  parameter  then the working set size is reduced by the value
  8938.       of  the  "WSDADOWNAMT"  sysgen  parameter.   You  can  disable   the
  8939.       automatic   working   set   adjustment  process  by  specifying  the
  8940.       /NOADJUST qualifier with the SET WORKING_SET command.   If  this  is
  8941.       done,  the  working  set size is held at the maximum value.  Use the
  8942.  
  8943.       Chapter 14. TSX Command Summary                                  155
  8944.  
  8945.  
  8946.       /ADJUST  qualifier  to   reenable   automatic   working   set   size
  8947.       adjustment.
  8948.  
  8949.       The  /MAXIMUM  and  /MINIMUM  qualifiers  allow  you  to specify the
  8950.       maximum and minimum number of K-bytes of space that may be  used  by
  8951.       the  working  set.   If  automatic  working  set  size adjustment is
  8952.       enabled, the working set size will vary within  these  limits  based
  8953.       on the page fault rate.
  8954.  
  8955.       The  SET  PROCESS/MAXMEM=size command is used to control the maximum
  8956.       amount of virtual memory space  available  to  the  job.   The  SHOW
  8957.       MEMORY  command  displays  information about memory space.  The SHOW
  8958.       PAGING  command  displays  page  fault  statistics.   You  may  type
  8959.       control-T at any time to display your current working set size.
  8960.  
  8961.  
  8962.  
  8963.       14.95 SHOW ALL
  8964.  
  8965.       SHOW ALL displays a variety of system information.
  8966.  
  8967.       Syntax:
  8968.  
  8969.            SHOW ALL
  8970.  
  8971.  
  8972.  
  8973.       14.96 SHOW ASSIGNS
  8974.  
  8975.       SHOW   ASSIGNS   displays  information  about  logical  device  name
  8976.       assignments.
  8977.  
  8978.       Syntax:
  8979.  
  8980.            SHOW ASSIGNS[/qualifiers] [logical_name]
  8981.  
  8982.       Qualifiers:
  8983.  
  8984.          /GLOBAL Display only assignments in  the  process  global  assign
  8985.                  table.
  8986.  
  8987.          /LOCAL  Display  only  assignments  in  the  process local assign
  8988.                  table.
  8989.  
  8990.          /SYSTEM Display only assignments  in  the  system  global  assign
  8991.                  table.
  8992.  
  8993.  
  8994.  
  8995.       14.97 SHOW AUTHORS
  8996.  
  8997.       SHOW  AUTHORS displays the names of the three developers of TSX-Lite
  8998.       and TSX-32.  The names appear in random order.
  8999.  
  9000.       Chapter 14. TSX Command Summary                                  156
  9001.  
  9002.  
  9003.       14.98 SHOW CACHE
  9004.  
  9005.       SHOW CACHE displays statistics about data caching.
  9006.  
  9007.       Syntax:
  9008.  
  9009.            SHOW CACHE
  9010.  
  9011.  
  9012.  
  9013.       14.99 SHOW COLORS
  9014.  
  9015.       SHOW COLORS displays a table of available colors.
  9016.  
  9017.       Syntax:
  9018.  
  9019.            SHOW COLORS
  9020.  
  9021.  
  9022.  
  9023.       14.100 SHOW DATE
  9024.  
  9025.       SHOW DATE displays the current date.  Equivalents: DATE
  9026.  
  9027.       Syntax:
  9028.  
  9029.            SHOW DATE
  9030.  
  9031.  
  9032.  
  9033.       14.101 SHOW DEVICES
  9034.  
  9035.       SHOW DEVICES displays information about  devices  installed  on  the
  9036.       system.
  9037.  
  9038.       Syntax:
  9039.  
  9040.            SHOW DEVICES
  9041.  
  9042.  
  9043.  
  9044.       14.102 SHOW ERRORS
  9045.  
  9046.       SHOW ERRORS displays error statistics
  9047.  
  9048.       Syntax:
  9049.  
  9050.            SHOW ERRORS
  9051.  
  9052.       See  Section  10.6 on page 69 for additional information about event
  9053.       and error logs.
  9054.  
  9055.       Chapter 14. TSX Command Summary                                  157
  9056.  
  9057.  
  9058.       14.103 SHOW EVENTS
  9059.  
  9060.       The SHOW EVENTS command is used to display information in event  log
  9061.       files.  It is also used to enable and disable event logs.
  9062.  
  9063.       Syntax:
  9064.  
  9065.            SHOW EVENTS
  9066.  
  9067.       The  first  screen  displayed  by the SHOW EVENTS command lists each
  9068.       active event log and shows the number of records in  the  event  log
  9069.       file.   To  display  the records in an event log file, use the arrow
  9070.       keys to select an event log entry and then press Enter.   Press  'R'
  9071.       to reset an event log and delete all files in it.
  9072.  
  9073.       Press  'C'  to  display  a  second  screen which lists all available
  9074.       event log files.  From this screen you can highlight  an  event  log
  9075.       entry  and  press  'E' to enable the event log or 'D' to disable the
  9076.       event log.
  9077.  
  9078.       Press ESC to exit.
  9079.  
  9080.       See Section 10.6 on page 69 for additional information  about  event
  9081.       logs.
  9082.  
  9083.  
  9084.  
  9085.       14.104 SHOW FILES
  9086.  
  9087.       SHOW FILES displays information about open files.
  9088.  
  9089.       Syntax:
  9090.  
  9091.            SHOW FILES[/qualifiers] [filename]
  9092.  
  9093.       If  a  file  name is specified, information is printed for that file
  9094.       only.  If no file name is specified, information  is  printed  about
  9095.       all  currently  open files.  This information shows which users have
  9096.       the file open and indicates whether they have it open  for  read  or
  9097.       write access.
  9098.  
  9099.       Qualifiers:
  9100.  
  9101.          /ID=jobid Show files only for specified job id.
  9102.  
  9103.          /LOCKED Only show files which are locked.
  9104.  
  9105.  
  9106.  
  9107.       14.105 SHOW FSTATUS
  9108.  
  9109.       SHOW FSTATUS displays information about file usage.
  9110.  
  9111.       Chapter 14. TSX Command Summary                                  158
  9112.  
  9113.  
  9114.       Syntax:
  9115.  
  9116.            SHOW FSTATUS
  9117.  
  9118.  
  9119.  
  9120.       14.106 SHOW JOBS
  9121.  
  9122.       SHOW  JOBS is equivalent to SHOW SYSTEM, described on page 159.  See
  9123.       also the description of the JMAN command on page 121.
  9124.  
  9125.  
  9126.  
  9127.       14.107 SHOW KEYS
  9128.  
  9129.       SHOW KEYS displays a list of your user-defined keys.
  9130.  
  9131.       Syntax:
  9132.  
  9133.            SHOW KEYS
  9134.  
  9135.  
  9136.  
  9137.       14.108 SHOW MEMORY
  9138.  
  9139.       SHOW MEMORY displays information about available memory space.
  9140.  
  9141.       Syntax:
  9142.  
  9143.            SHOW MEMORY
  9144.  
  9145.  
  9146.  
  9147.       14.109 SHOW NAME
  9148.  
  9149.       SHOW NAME displays the user name and  other  information  about  the
  9150.       current job.  This is equivalent to the SHOW UIC command.
  9151.  
  9152.  
  9153.  
  9154.       14.110 SHOW PAGING
  9155.  
  9156.       SHOW PAGING displays statistics about memory paging operations.
  9157.  
  9158.       Syntax:
  9159.  
  9160.            SHOW PAGING
  9161.  
  9162.  
  9163.  
  9164.       14.111 SHOW PRIVILEGES
  9165.  
  9166.       SHOW PRIVILEGES displays your current and authorized privileges.
  9167.  
  9168.       Chapter 14. TSX Command Summary                                  159
  9169.  
  9170.  
  9171.       Syntax:
  9172.  
  9173.            SHOW PRIVILEGES
  9174.  
  9175.  
  9176.  
  9177.       14.112 SHOW QUEUE
  9178.  
  9179.       SHOW  QUEUE  displays  information  about  jobs  in  print  or batch
  9180.       queues.
  9181.  
  9182.       Syntax:
  9183.  
  9184.            SHOW QUEUE[/qualifiers] [queuename]
  9185.  
  9186.       Qualifiers:
  9187.  
  9188.          /BATCH Show information about batch jobs only.
  9189.  
  9190.          /FILES Show information on each file in print queues.
  9191.  
  9192.          /FULL Show all information about queues.
  9193.  
  9194.          /OWNER[=username]  Show  information   on   jobs   submitted   by
  9195.                  specified user.
  9196.  
  9197.          /PRINT Show information about print jobs only.
  9198.  
  9199.  
  9200.  
  9201.       14.113 SHOW SYMBOLS
  9202.  
  9203.       SHOW SYMBOLS displays information about symbol names.
  9204.  
  9205.       Syntax:
  9206.  
  9207.            SHOW SYMBOLS[/qualifiers] [symbol_name]
  9208.  
  9209.       Qualifiers:
  9210.  
  9211.          /ALL (Default) Show symbols from all symbol tables.
  9212.  
  9213.          /GLOBAL Show symbols from global symbol table only.
  9214.  
  9215.          /LOCAL Show symbols from local symbol table only.
  9216.  
  9217.          /SYSTEM Show symbols from system symbol table only
  9218.  
  9219.  
  9220.  
  9221.       14.114 SHOW SYSTEM
  9222.  
  9223.       SHOW  SYSTEM  displays  information about each process.  Equivalent:
  9224.       SHOW JOBS, SYSTAT, WHO.   See  also  the  description  of  the  JMAN
  9225.       command on page 121.
  9226.  
  9227.       Chapter 14. TSX Command Summary                                  160
  9228.  
  9229.  
  9230.       Syntax:
  9231.  
  9232.            SHOW SYSTEM[/qualifiers]
  9233.            SHOW JOBS[/qualifiers]
  9234.            SYSTAT[/qualifiers]
  9235.  
  9236.       Qualifiers:
  9237.  
  9238.          /BATCH Show only batch jobs.
  9239.  
  9240.          /DETACHED Show only detached jobs.
  9241.  
  9242.          /INTERACTIVE Show only interactive jobs.
  9243.  
  9244.  
  9245.  
  9246.       14.115 SHOW TERMINALS
  9247.  
  9248.       SHOW  TERMINALS  displays summary or detail information about serial
  9249.       lines.
  9250.  
  9251.       Syntax:
  9252.  
  9253.            SHOW TERMINALS -- Display summary information for all lines.
  9254.  
  9255.            SHOW ttcuu: -- Display details for line ttcuu.
  9256.  
  9257.       See also the description of the TMAN command on page 165.
  9258.  
  9259.  
  9260.  
  9261.       14.116 SHOW TIME
  9262.  
  9263.       SHOW TIME displays the current time of day.  Equivalent: TIME
  9264.  
  9265.       Syntax:
  9266.  
  9267.            SHOW TIME
  9268.            TIME
  9269.  
  9270.  
  9271.  
  9272.       14.117 SHOW UIC
  9273.  
  9274.       SHOW  UIC  is  equivalent  to  SHOW  NAME.   See   SHOW   NAME   for
  9275.       information.
  9276.  
  9277.  
  9278.  
  9279.       14.118 SHOW USE
  9280.  
  9281.       SHOW  USE  displays statistics about the utilization of the computer
  9282.       system.
  9283.  
  9284.       Chapter 14. TSX Command Summary                                  161
  9285.  
  9286.  
  9287.       Syntax:
  9288.  
  9289.            SHOW USE
  9290.  
  9291.  
  9292.  
  9293.       14.119 SHOW USERS
  9294.  
  9295.       SHOW USERS displays information about each logged on user.
  9296.  
  9297.       Syntax:
  9298.  
  9299.            SHOW USERS
  9300.  
  9301.  
  9302.  
  9303.       14.120 SHOW VERSION
  9304.  
  9305.       SHOW VERSION displays the current TSX version number.   Equivalents:
  9306.       VERSION
  9307.  
  9308.       Syntax:
  9309.  
  9310.            SHOW VERSION
  9311.  
  9312.  
  9313.  
  9314.       14.121 SHUTDOWN
  9315.  
  9316.       The  SHUTDOWN  command  procedure  does  an  orderly shutdown of all
  9317.       jobs.  Once it finishes you can type BOOT or press the reset  button
  9318.       to reset your computer.
  9319.  
  9320.  
  9321.  
  9322.       14.122 SORT
  9323.  
  9324.       The  SORT  command sorts one or more input files and produces either
  9325.       a new sorted output file or writes the sorted records back into  the
  9326.       original  input  file.  Multiple keys may be specified and a logical
  9327.       expression may be used to select which records are  to  be  included
  9328.       in  the  sort.   TSX  SORT  is  very  fast and is capable of sorting
  9329.       enormous files (hundreds of megabytes).
  9330.  
  9331.       The  TSX  SORT  program  is  provided  with  the  optional  TSX-Lite
  9332.       Utilities Kit (see REGISTER.DOC).
  9333.  
  9334.       Syntax:
  9335.  
  9336.            SORT[/qualifiers] input_file1,input_file2,... [output_file]
  9337.  
  9338.       Qualifiers:
  9339.  
  9340.          /ITYPE=type  Specify  the  type  of the input file.  Type must be
  9341.                  one of:
  9342.  
  9343.       Chapter 14. TSX Command Summary                                  162
  9344.  
  9345.  
  9346.           CRLF -- Variable length terminated by CR/LF (default).
  9347.  
  9348.           FIXED -- Fixed length records.
  9349.  
  9350.          /KEY=(key1,key2,...) Specify one or more  sort  key  fields  (see
  9351.                  below).
  9352.  
  9353.          /MEMORY=size  Specify  the maximum number of K-bytes of memory to
  9354.                  be used.
  9355.  
  9356.          /NOBLANK Discard blank records.
  9357.  
  9358.          /OTYPE=type Specify type of records in the output file.
  9359.  
  9360.          /QUIET Don't display statistics.
  9361.  
  9362.          /RECLEN=length  Specify  the  record  length  for  fixed   length
  9363.                  records.
  9364.  
  9365.          /SELECT=expression   Include   only  records  satisfying  logical
  9366.                  expression.
  9367.  
  9368.          /SKIP=value Skip this many records  at  the  beginning  of  input
  9369.                  file.
  9370.  
  9371.          /STATISTICS Print detailed statistics.
  9372.  
  9373.          /UNIQUE Discard duplicate records.
  9374.  
  9375.          /WORKFILE=file Use specified work file.
  9376.  
  9377.       Each  key  specification  has the form "tas.l" where 't' is the type
  9378.       of the key (see  below),  'a'  is  'A'  for  ascending  or  'D'  for
  9379.       descending,  's'  is  the  starting  column number of the field (the
  9380.       first column of the record is 1), and 'l' is the length of  the  key
  9381.       field.   If  0  is  specified for the length, the field extends from
  9382.       the starting column to the end of the record.
  9383.  
  9384.       The first letter of the key specification denotes the  type  of  the
  9385.       key field.  The table below lists each of the available key types.
  9386.  
  9387.             A  ASCII collating sequence
  9388.             C  ASCII sequence ignoring case differences
  9389.             D  DBL signed value
  9390.             N  Numeric value string
  9391.             S  Signed binary
  9392.             U  Unsigned binary
  9393.  
  9394.  
  9395.  
  9396.       14.123 SPY
  9397.  
  9398.       SPY  monitors  data  on  a serial line.  See also the description of
  9399.       the TUTOR command (page 66).  Press any key  to  terminate  the  spy
  9400.       operation.
  9401.  
  9402.       Chapter 14. TSX Command Summary                                  163
  9403.  
  9404.  
  9405.       Syntax:
  9406.  
  9407.            SPY[/qualifiers] terminal_name
  9408.  
  9409.       Qualifiers:
  9410.  
  9411.          /ALLHEX Show all characters in hexadecimal format.
  9412.  
  9413.          /BINARY Display flow control characters.
  9414.  
  9415.          /CRLF  Add  a  carriage-return  line-feed  sequence to the end of
  9416.                  output records.
  9417.  
  9418.          /DISPLAY=file  Display  characters  using  an  EDIT-32   "display
  9419.                  file".
  9420.  
  9421.          /FILE=name Write output to specified file.
  9422.  
  9423.          /FREQUENCY=n   Specify   sampling  frequency  of  n/100  seconds.
  9424.                  (default: 20).
  9425.  
  9426.          /HEX Show non-printing characters in hexadecimal format.
  9427.  
  9428.          /INBUF=size Allocate size bytes of memory  for  an  input  buffer
  9429.                  (default: 512).
  9430.  
  9431.          /INPUT Show input data.
  9432.  
  9433.          /MARK Print labels for incoming and output data.
  9434.  
  9435.          /MODEM Display changes in modem control signals.
  9436.  
  9437.          /OUTBUF=size  Allocate  size bytes of memory for an output buffer
  9438.                  (default: 512).
  9439.  
  9440.          /OUTPUT (Default) Show output data.
  9441.  
  9442.          /SCREEN Enable enhanced screen mode.
  9443.  
  9444.          /NOSCREEN Do not display data on terminal.
  9445.  
  9446.          /WIDTH=cols Specify the width of terminal output.
  9447.  
  9448.       See Section 2.6.5 on page 19 for additional  information  about  the
  9449.       SPY command.
  9450.  
  9451.  
  9452.  
  9453.       14.124 STOP
  9454.  
  9455.       STOP stops (logs off) a specified process.
  9456.  
  9457.       Syntax:
  9458.  
  9459.       Chapter 14. TSX Command Summary                                  164
  9460.  
  9461.  
  9462.            STOP/qualifiers
  9463.  
  9464.       Qualifiers:
  9465.  
  9466.          /ID=job_id Stop the specified job.
  9467.  
  9468.          /PROGRAM=name Stop all processes running specified program.
  9469.  
  9470.          /USER=name Stop all processes for specified user.
  9471.  
  9472.          /WINDOW=n  Stop  the  process  running  in  the specified virtual
  9473.                  process window.
  9474.  
  9475.  
  9476.  
  9477.       14.125 SUBPROCESS
  9478.  
  9479.       The  SUBPROCESS  keyboard  command  allows  you  to  switch  between
  9480.       subprocesses  in  the  same  way  that  the control-W-digit sequence
  9481.       does.  However, the SUBPROCESS command can be placed  in  a  command
  9482.       file, whereas control-W cannot.
  9483.  
  9484.       Syntax:
  9485.  
  9486.            SUBPROCESS[/qualifiers] process_number
  9487.  
  9488.       Qualifiers:
  9489.  
  9490.          /CMDFILE=file  Specify  a  command  file  to run in the specified
  9491.                  subprocess.
  9492.  
  9493.          /COMMAND Specify that /CMDFILE qualifier is a system command.
  9494.  
  9495.          /NOINHERIT Don't inherit information from primary process..
  9496.  
  9497.          /NOSWITCH Create specified subprocess, but do not switch to it.
  9498.  
  9499.       The SUBPROCESS command allows you to select a  subprocess  similarly
  9500.       to  typing  control-W-digit.   The  command  accepts one argument, a
  9501.       digit 0 to 9 which indicates the desired subprocess to switch to.
  9502.  
  9503.       Here is an example  command  which  will  create  subprocess  1  and
  9504.       switch terminal control to it:
  9505.  
  9506.            SUBPROCESS 1
  9507.  
  9508.       As  a result of this command, the new sub-process will start just as
  9509.       if ctrl-W-1 were typed to select session 1.
  9510.  
  9511.       The following  command  initiates  subprocess  1  and  executes  the
  9512.       command  file  SY:RAMSTART.CMD  but does not switch terminal control
  9513.       to the subprocess.  Later, if you type Ctrl-W-1, you may  switch  to
  9514.       the running program initiated by SY:RAMSTART.CMD,
  9515.  
  9516.       Chapter 14. TSX Command Summary                                  165
  9517.  
  9518.  
  9519.            SUBPROCESS/NOSWITCH/CMDFILE=SY:RAMSTART.CMD 1
  9520.  
  9521.  
  9522.  
  9523.       14.126 SYSMON
  9524.  
  9525.       SYSMON displays dynamic information about system activities.
  9526.  
  9527.       Syntax:
  9528.  
  9529.            SYSMON
  9530.  
  9531.  
  9532.  
  9533.       14.127 SYSTAT
  9534.  
  9535.       SYSTAT -- See SHOW SYSTEM (page 159).
  9536.  
  9537.  
  9538.  
  9539.       14.128 TIME
  9540.  
  9541.       TIME See SHOW TIME
  9542.  
  9543.  
  9544.  
  9545.       14.129 TMAN
  9546.  
  9547.       TMAN  is  a  full  screen  terminal management utility.  Use TMAN to
  9548.       display information about your terminal  lines  and  perform  common
  9549.       system management functions.
  9550.  
  9551.       Syntax:
  9552.  
  9553.            TMAN
  9554.  
  9555.       In  response  to  the  TMAN  command,  TSX  displays  a  list of the
  9556.       terminal lines.  A menu of action keys appears to the right  of  the
  9557.       terminal list; choose an action by typing the appropriate key.
  9558.  
  9559.  
  9560.  
  9561.       14.130 TSAUTH
  9562.  
  9563.       TSAUTH  invokes  the  TSX  user  authorization utility.  The account
  9564.       authorization facilities are supplied  with  the  optional  TSX-Lite
  9565.       Security Kit (see REGISTER.DOC).
  9566.  
  9567.  
  9568.  
  9569.       14.131 TUTOR
  9570.  
  9571.       TUTOR  allows  one  user to "tutor" another's line so that each user
  9572.       sees  the  same  output  and  either  user  can  type  input.   Type
  9573.  
  9574.       Chapter 14. TSX Command Summary                                  166
  9575.  
  9576.  
  9577.       control-backslash   followed   by   Enter   to   release  the  tutor
  9578.       connection.
  9579.  
  9580.       Syntax:
  9581.  
  9582.            TUTOR terminal
  9583.  
  9584.       See Section 10.2.6 on page 66 for additional information  about  the
  9585.       TUTOR command.
  9586.  
  9587.  
  9588.  
  9589.       14.132 TYPE
  9590.  
  9591.       TYPE prints one or more files at your terminal.
  9592.  
  9593.       Syntax:
  9594.  
  9595.            TYPE[/qualifiers] filespec
  9596.  
  9597.       Qualifiers:
  9598.  
  9599.          /BEFORE[=date-time]  Select  files  created before specified date
  9600.                  and time.
  9601.  
  9602.          /[NO]CONFIRM Request confirmation before typing each file.
  9603.  
  9604.          /DATE[=date] Select files created on the given date.
  9605.  
  9606.          /[NO]DELETE Delete file after typing it.
  9607.  
  9608.          /END=n Stop output after specified line number.
  9609.  
  9610.          /EXCLUDE=(files) Exclude specified files from being typed.
  9611.  
  9612.          /[NO]HEADER Write a header  line  for  each  file  typed  at  the
  9613.                  terminal.
  9614.  
  9615.          /[NO]LOG Type file name before typing file.
  9616.  
  9617.          /MAXIMUM=n  Specify  the maximum number of lines to be typed from
  9618.                  a file.
  9619.  
  9620.          /NEWFILE Type only files created today.
  9621.  
  9622.          /[NO]PAGE Divide output into pages.
  9623.  
  9624.          /[NO]QUERY Same as /[NO]CONFIRM.
  9625.  
  9626.          /SINCE[=date-time] Select files created since specified date  and
  9627.                  time.
  9628.  
  9629.          /START=n Start typing at line n.
  9630.  
  9631.       Chapter 14. TSX Command Summary                                  167
  9632.  
  9633.  
  9634.       14.133 TSGEN
  9635.  
  9636.       TSGEN  allows  you  to  examine  or  modify system customization and
  9637.       tuning parameters.
  9638.  
  9639.       Syntax:
  9640.  
  9641.            TSGEN [genfile] [kernel]
  9642.  
  9643.       Examples:
  9644.  
  9645.            TSGEN
  9646.            TSGEN TSX32
  9647.            TSGEN TSX32.GEN C:\TSX32.SYS
  9648.  
  9649.       See Sections 2.4 and 12.4 for  additional  information  about  using
  9650.       TSGEN.
  9651.  
  9652.  
  9653.  
  9654.       14.134 UNPROTECT
  9655.  
  9656.       UNPROTECT  turns  off  file  protection  for  one  or more specified
  9657.       files.
  9658.  
  9659.       Syntax:
  9660.  
  9661.            UNPROTECT[/qualifiers] filespec
  9662.  
  9663.       Qualifiers:
  9664.  
  9665.          /BEFORE[=date-time] Select files created  before  specified  date
  9666.                  and time.
  9667.  
  9668.          /[NO]CONFIRM Request confirmation before acting on each file.
  9669.  
  9670.          /DATE[=date] Select files created on the specified date.
  9671.  
  9672.          /EXCLUDE=(files) Do not select specified files.
  9673.  
  9674.          /[NO]LOG Type the file name before acting on each file.
  9675.  
  9676.          /NEW Act only on files created today.
  9677.  
  9678.          /[NO]QUERY Same as /[NO]CONFIRM.
  9679.  
  9680.          /SINCE[=date-time]  Select files created since specified date and
  9681.                  time.
  9682.  
  9683.       Chapter 14. TSX Command Summary                                  168
  9684.  
  9685.  
  9686.       14.135 UPLOAD
  9687.  
  9688.       The UPLOAD command causes TSX to initiate a file transfer from  your
  9689.       local  PC  to  the host TSX computer using ZMODEM, YMODEM, or XMODEM
  9690.       protocol.  You must be running  a  communications  program  on  your
  9691.       local  PC  that  can handle one of these protocols.  In order to use
  9692.       this facility the ZMODEM sysgen parameter must be set to 1.
  9693.  
  9694.       Syntax:
  9695.  
  9696.                UPLOAD[/qualifiers] [file]
  9697.  
  9698.       If you are using XMODEM you must specify a file name.   If  you  are
  9699.       using  ZMODEM  or YMODEM the name is provided by your local computer
  9700.       when you start the upload.  If you specify a name it  will  override
  9701.       the  name  sent from the local PC allowing you to create a file with
  9702.       a different name on the host computer than on  the  local  PC.   You
  9703.       may specify device and directory names with the file specification.
  9704.  
  9705.       Qualifiers:
  9706.  
  9707.          /BELL   Requests   that  the  bell  be  rung  when  the  transfer
  9708.                  completes.
  9709.  
  9710.          /CRC Specifies that CRC checks are to  be  performed  for  XMODEM
  9711.                  transfers  rather  than  using checksums.  CRC checks are
  9712.                  always used for YMODEM and ZMODEM transfers.
  9713.  
  9714.          /XMODEM Specifies that XMODEM protocol is  to  be  used  for  the
  9715.                  transfer.
  9716.  
  9717.          /YMODEM  Specifies  that  YMODEM  protocol  is to be used for the
  9718.                  transfer.
  9719.  
  9720.          /ZMODEM Specifies that ZMODEM protocol is  to  be  used  for  the
  9721.                  transfer.  This is the default protocol.
  9722.  
  9723.  
  9724.  
  9725.       14.136 VERSION
  9726.  
  9727.       VERSION -- See SHOW VERSION
  9728.  
  9729.  
  9730.  
  9731.       14.137 VIEW
  9732.  
  9733.       The VIEW command displays the contents of a file on your screen.
  9734.  
  9735.       Syntax:
  9736.  
  9737.            VIEW filename
  9738.  
  9739.       The  VIEW  command  displays  a file on the screen.  You can use the
  9740.       Page-up and Page-down keys to scroll  upward  and  downward  through
  9741.  
  9742.       Chapter 14. TSX Command Summary                                  169
  9743.  
  9744.  
  9745.       the  file.   The  Home  key moves to the top of the file and the End
  9746.       key moves to the end of the file.  You can  also  use  the  up-  and
  9747.       down-arrow  keys to scroll up or down one line at a time.  Press ESC
  9748.       to exit from the VIEW command.
  9749.  
  9750.       The  display  will  begin  in  either  ASCII  or  hexadecimal   mode
  9751.       depending  on the nature of the data in the file.  While viewing the
  9752.       file you can type 'A' to switch to ASCII  display  mode  or  'H'  to
  9753.       switch to hexadecimal mode.
  9754.  
  9755.  
  9756.  
  9757.       14.138 WAIT
  9758.  
  9759.       WAIT pauses command file execution for a specified length of time.
  9760.  
  9761.       Syntax:
  9762.  
  9763.            WAIT time
  9764.  
  9765.       Examples:
  9766.  
  9767.            WAIT 1.5
  9768.            WAIT 1:05
  9769.            WAIT 2:30:00
  9770.  
  9771.       The  WAIT  time  value  is  in  units  of  seconds, but you can also
  9772.       specify a value using the format "hh:mm:ss.ddd".
  9773.  
  9774.  
  9775.  
  9776.       14.139 WHO
  9777.  
  9778.       WHO -- See SHOW SYSTEM and JMAN.
  9779.  
  9780.  
  9781.  
  9782.       14.140 WIN
  9783.  
  9784.       The WIN command starts the execution of Microsoft Windows as a  task
  9785.       under  TSX.   Windows must run in standard (not enhanced) mode under
  9786.       TSX.
  9787.  
  9788.       Syntax:
  9789.  
  9790.            WIN
  9791.  
  9792.       Once Windows is in operation you  can  run  programs  such  as  Page
  9793.       Maker  in the Windows environment under TSX.  You may only issue the
  9794.       WIN command while running from the console.
  9795.  
  9796.       Before issuing the WIN command you should assign the logical  device
  9797.       name  COM1 to the serial port to which your mouse is connected.  For
  9798.       example, if the mouse is connected to the actual COM1  port  on  the
  9799.  
  9800.       Chapter 14. TSX Command Summary                                  170
  9801.  
  9802.  
  9803.       computer,  which  has  the TSX device name TTB0:, then the following
  9804.       ASSIGN statement would be used:
  9805.  
  9806.            ASSIGN TTB0: COM1
  9807.  
  9808.       Any serial port may be used for the mouse connection as long as  the
  9809.       appropriate  ASSIGN  command  is  issued.   If  you wish to place an
  9810.       ASSIGN command in the SY:LSTARTUP.CMD system-wide  start-up  command
  9811.       file,  you  must use the /SYSTEM qualifier to make the assignment on
  9812.       a system-wide basis.  The following line is an example of this:
  9813.  
  9814.            ASSIGN/SYSTEM TTB0: COM1
  9815.  
  9816.       Once the assignment of COM1 has been verified,  TSX  looks  for  the
  9817.       Windows   files   in  each  directory  that  is  part  of  the  PATH
  9818.       specification.  Therefore, your PATH specification must include  the
  9819.       directory with the Windows files (typically C:\WINDOWS).
  9820.  
  9821.       TSX  currently  supports  only the Paradise 512 and Tseng 4000 video
  9822.       controllers in super VGA modes, so if you have some  other  type  of
  9823.       card you will have to use it in standard VGA mode.
  9824.  
  9825.       Windows  should  be  configured  to access disk files using standard
  9826.       DOS I/O operations rather than  attempting  any  type  of  enhanced,
  9827.       direct I/O.
  9828.  
  9829.  
  9830.  
  9831.       14.141 WSCMD
  9832.  
  9833.       WSCMD  Used  to perform a file transfer operation between TSX system
  9834.       and a workstation running TSXTERM.  See Chapter  11  for  additional
  9835.       information about TSXTERM.
  9836.  
  9837.       Syntax:
  9838.  
  9839.            WSCMD TOWS file1 file2
  9840.            WSCMD TOHOST file1 file2
  9841.            WSCMD CD \directory
  9842.            WSCMD BYE
  9843.  
  9844.       Qualifiers:
  9845.  
  9846.          /NOWAIT Start transfer but do not wait for it to complete.
  9847.  
  9848.       The  TOWS command transfers a file from the TSX host computer to the
  9849.       workstation running TSXTERM.  FROMHOST and DOWNLOAD  are  synonymous
  9850.       keywords for TOWS.
  9851.  
  9852.       The  TOHOST command transfers a file from the TSXTERM workstation to
  9853.       the host computer.  FROMWS and UPLOAD are  synonymous  keywords  for
  9854.       TOHOST.
  9855.  
  9856.       The CD command changes the default directory on the workstation.
  9857.  
  9858.       Chapter 14. TSX Command Summary                                  171
  9859.  
  9860.  
  9861.       The  BYE command causes TSXTERM to wait 5 seconds, then exit to DOS.
  9862.       Note that a command procedure can log out during the pause.
  9863.  
  9864.       For example, the following commands change the default directory  on
  9865.       the  workstation  to  \WORK  and then transfer a file named TROY.DAT
  9866.       from current directory on the host TSX computer to the workstation:
  9867.  
  9868.            WSCMD CD \WORK
  9869.            WSCMD TOWS TROY.DAT
  9870.  
  9871.       If you wish to assign a different name to the output than the  input
  9872.       file,  specify  the  new  file  name  as the second parameter to the
  9873.       command.  You may also provide a full file specification,  including
  9874.       device  letter  and  directory  names.   For  example, the following
  9875.       command  transfers  a  file  named  CRUSHER.DAT  from  the  \MEDICAL
  9876.       directory  on  the  'A'  disk  of  the  workstation  to a file named
  9877.       ILLNESS.DAT on the host computer:
  9878.  
  9879.            WSCMD TOHOST A:\MEDICAL\CRUSHER.DAT ILLNESS.DAT
  9880.  
  9881.       The /NOWAIT qualifier can be  specified  to  cause  the  command  to
  9882.       start  a  transfer but not wait for it to complete.  A WSCMD without
  9883.       any arguments can be used to wait for a previously  started  command
  9884.       to  finish.  For example, the following commands initiate a transfer
  9885.       of the file FARM1.DAT from the host to the  workstation,  and  then,
  9886.       while  the  transfer  is taking place, perform a sort, then wait for
  9887.       the transfer to complete:
  9888.  
  9889.            WSCMD/NOWAIT TOWS FARM1.DAT
  9890.            SORT BIGFILE.DAT
  9891.            WSCMD
  9892.  
  9893.  
  9894.  
  9895.  
  9896.  
  9897.  
  9898.                                    Chapter 15
  9899.  
  9900.                         Use and Distribution of TSX-Lite
  9901.  
  9902.  
  9903.  
  9904.  
  9905.  
  9906.       15.1 Redistribution of TSX-Lite
  9907.  
  9908.       TSX-Lite is a shareware product.  You are welcome to make copies  of
  9909.       the  TSX-Lite  distribution and pass them on to friends or post this
  9910.       program on  bulletin  boards  or  distribute  it  via  disk  catalog
  9911.       services  provided  the  entire TSX-Lite distribution is included in
  9912.       its original, unmodified form and no files are  added,  deleted,  or
  9913.       modified.   A  distribution  fee  may be charged for the cost of the
  9914.       diskette, shipping and  handling.   However,  TSX-Lite  may  not  be
  9915.       sold,  or  incorporated in another product that is sold, without the
  9916.       permission of S&H Computer Systems, Inc.  Vendors are encouraged  to
  9917.       contact S&H to get the most recent version of TSX-Lite.
  9918.  
  9919.  
  9920.       15.2 Registering TSX-Lite
  9921.  
  9922.       Shareware  is  a  type  of  software  distribution  that gives you a
  9923.       chance to try a software product before you decide if  you  want  to
  9924.       pay   for   it.   A  shareware  product,  such  as  TSX-Lite,  is  a
  9925.       copyrighted program; it is NOT public  domain  or  "freeware".   Its
  9926.       use  is  governed  by  the  terms of the shareware license and it is
  9927.       protected  by  the  copyright  laws  of  the   United   States   and
  9928.       international agreements.
  9929.  
  9930.       As  a  shareware product, you are granted a no-cost, trial period of
  9931.       30 days during  which  you  may  evaluate  TSX-Lite.   If  you  find
  9932.       TSX-Lite   to  be  useful,  educational,  and/or  entertaining,  and
  9933.       continue to use it beyond the 30 day trial period, you are  required
  9934.       to  register  your  use  by  sending  the  registration  form in the
  9935.       REGISTER.DOC file along with the appropriate registration fee.
  9936.  
  9937.  
  9938.       15.3 Telephone Support
  9939.  
  9940.       Both registered and unregistered users of TSX-Lite  are  welcome  to
  9941.       call  for  technical  assistance.  The fee for this service is $1.50
  9942.       per minute which may be charged to a Visa, MasterCard,  or  American
  9943.       Express  credit  card.   There  is  a $10.00 minimum charge for each
  9944.       call.  The S&H support number is 615-327-3670.
  9945.  
  9946.  
  9947.  
  9948.  
  9949.  
  9950.                                       172
  9951.  
  9952.       Chapter 15. Use and Distribution of TSX-Lite                     173
  9953.  
  9954.  
  9955.       15.4 Copyright notice
  9956.  
  9957.       The TSX-Lite and TSX-32 systems and documentation are copyright  (c)
  9958.       1990-1994  by  S&H Computer Systems Inc.  These products may only be
  9959.       used in accordance with the terms of the written license.
  9960.  
  9961.       TSX-Lite,  TSX-32,  TSX-Plus,  TSX,  MessageNet,  TSXTERM,  Edit-32,
  9962.       TSX-Net,  and  Adaptive  Scheduling  Algorithm are trademarks of S&H
  9963.       Computer Systems, Inc.
  9964.  
  9965.       Note that TSX-Lite is a shareware product and may be distributed  as
  9966.       described  in  Section  15.1;  however,  TSX-32  is  NOT a shareware
  9967.       product and it may only be distributed by licensed distributors.
  9968.  
  9969.  
  9970.       15.5 Disclaimer
  9971.  
  9972.       TSX-Lite is provided "as is" without warranty of  any  kind,  either
  9973.       expressed  or  implied.  TSX may contain "bugs" which interfere with
  9974.       its operation and not all programs will run correctly with it.   S&H
  9975.       Computer  Systems  assumes no responsibility for the use of TSX-Lite
  9976.       and will not be responsible for any damage resulting from its use.
  9977.  
  9978.  
  9979.  
  9980.  
  9981.  
  9982.  
  9983.                                    Chapter 16
  9984.  
  9985.                                     TSX-BBS
  9986.  
  9987.  
  9988.  
  9989.  
  9990.       TSX-BBS is a full multi-line bulletin board system (BBS)  that  runs
  9991.       in  conjunction  with  TSX  and  TSX-Lite.   Like  TSX,  TSX-BBS  is
  9992.       available as a  commercial  product  and  as  a  shareware  program.
  9993.       Since  TSX-BBS  is  a  separate product from TSX and TSX-Lite, it is
  9994.       distributed independently (although you need TSX-32 or  TSX-Lite  to
  9995.       run  TSX-BBS).   The  TSX-BBS  shareware  distribution  has the name
  9996.       TSXBBSxx.ZIP where 'xx' is  the  version  number.   You  can  always
  9997.       download  the  latest  copy of the shareware version of TSX-BBS from
  9998.       the S&H Support BBS: 615-320-1820.
  9999.  
  10000.       The following is  a  summary  of  some  of  the  major  features  of
  10001.       TSX-BBS:
  10002.  
  10003.  
  10004.       16.1 A Multi-Line System
  10005.  
  10006.       Designed  from  the ground up as a multi-line operating environment,
  10007.       TSX-BBS can support up to 256  lines  on  a  single  computer.   The
  10008.       reason  TSX-BBS  can do this is that it was designed specifically to
  10009.       run with TSX and to use the features of the operating system in  the
  10010.       most efficient manner possible.
  10011.  
  10012.       So,  instead  of  a  room  full  of computers, you can have a single
  10013.       system running  TSX-BBS  connected  through  an  intelligent  serial
  10014.       multiplexer   to   many   modem   lines.    For   medium   to  large
  10015.       installations,  this  could  save  thousands  (or   even   tens   of
  10016.       thousands)  of  dollars  in  hardware  expenses,  not to mention the
  10017.       complexity of maintaining a large networked system.
  10018.  
  10019.       An advantage of a multi-line TSX-BBS system is that  it  provides  a
  10020.       smooth  growth  path.   Many  systems run well for one or two lines,
  10021.       but when you grow  you  will  hit  a  barrier  that  necessitates  a
  10022.       radical  change.   With  TSX-BBS,  you  can  start  out with a small
  10023.       system and grow smoothly to an enormous system.
  10024.  
  10025.  
  10026.       16.2 Super System Capacity
  10027.  
  10028.       Suppose your dreams are so big that you think  you  will  outgrow  a
  10029.       single  computer  no  matter  how efficient the software is.  Relax,
  10030.       TSX-BBS will take care of you.  For extremely large  configurations,
  10031.       TSX  systems  can be networked together so that you can grow without
  10032.       bounds.  With its TCP/IP networking option, you  can  link  multiple
  10033.  
  10034.  
  10035.                                       174
  10036.  
  10037.       Chapter 16. TSX-BBS                                              175
  10038.  
  10039.  
  10040.       TSX  systems  together.   Any program on any computer in the network
  10041.       can transparently access any file.  Because TSX  networking  uses  a
  10042.       peer-to-peer  model,  you  do  not  have to dedicate a computer as a
  10043.       "file server".  All computers in the network  can  store  files  and
  10044.       run the TSX-BBS system.
  10045.  
  10046.  
  10047.       16.3 Reliable, Non-stop Operation
  10048.  
  10049.       If  you  are  running a single-line hobby board it may be acceptable
  10050.       to  take  the  system  down   periodically   for   maintenance   and
  10051.       improvements.   But, if you are serious about running a professional
  10052.       quality board, you  need  a  BBS  system  that  will  run  reliably,
  10053.       non-stop, 24-hours a day.  TSX-BBS is such a system.
  10054.  
  10055.       All  of  the  BBS maintenance functions such as adding and modifying
  10056.       user authorizations, reviewing and posting new uploads, and  backing
  10057.       up  files  can be done without stopping the BBS or interrupting your
  10058.       users.  You can do new program development using the  TPL  language,
  10059.       C,  Pascal, or the language of your choice, while the BBS is in full
  10060.       operation.   You  can  develop  and  test   menu   changes   without
  10061.       interrupting  your  users.   And,  the sysop (or properly authorized
  10062.       users) can do development and maintenance from  dial-in  connections
  10063.       as well as from the local console.
  10064.  
  10065.       Routine  operations  such  as  new user registrations are completely
  10066.       automatic.  Internet Usenet newsgroups,  Fido  echoes,  and  netmail
  10067.       processing  is  automatic with messages being posted in real-time as
  10068.       they arrive.   TSX-BBS  can  even  be  configured  to  automatically
  10069.       create  new  Fido  and Usenet newsgroups without sysop intervention.
  10070.       You can literally take a vacation without most of your  users  being
  10071.       aware that your board is unattended.
  10072.  
  10073.  
  10074.       16.4 A Sysop's Dream
  10075.  
  10076.       With  other  multi-line  BBS  systems,  the computer is dedicated to
  10077.       running the BBS software and the sysop must use auxiliary  computers
  10078.       for  tasks  such  as  viewing  uploaded  GIF  files,  running "door"
  10079.       programs, and processing incoming satellite feeds.
  10080.  
  10081.       TSX-BBS is the only multi-line BBS system that lets  the  sysop  run
  10082.       DOS  programs,  view GIF's, do file maintenance, and run games while
  10083.       the BBS is live on the same PC.  The same computer that  is  running
  10084.       TSX-BBS  can  process incoming satellite data including Usenet feeds
  10085.       and add it to your board in  real-time.   Since  most  DOS  programs
  10086.       such  as WordPerfect, dBase, Foxpro, CSHOW, Procomm, and Windows 3.1
  10087.       run under TSX with the BBS in operation, you can run  your  business
  10088.       on the same computer and at the same time that you run your BBS.
  10089.  
  10090.       Using  the  HOST  program  that  is  provided  with TSX, or your own
  10091.       favorite communications program, you  can  call  other  systems  and
  10092.       upload  and  download  files  while  your BBS is running on the same
  10093.       computer.
  10094.  
  10095.       Chapter 16. TSX-BBS                                              176
  10096.  
  10097.  
  10098.       16.5 Door Program Support
  10099.  
  10100.       "Door" programs are applications  designed  to  run  in  cooperation
  10101.       with  a  BBS  to  provide  extended services such as games.  Because
  10102.       traditional multi-line BBS systems dedicate the computer to  running
  10103.       the   BBS   software,  they  are  unable  to  execute  popular  door
  10104.       applications.   TSX-BBS,  on  the  other  hand,  can  execute   door
  10105.       programs  on  the  same  computer with the BBS.  And, many users can
  10106.       run doors at the same time.  TSX-BBS takes care of  the  details  of
  10107.       creating   a  DOOR.SYS  "drop"  file  with  user  information.   TSX
  10108.       includes an internal, optimized "FOSSIL"  communication  driver  for
  10109.       efficient operation of door programs.
  10110.  
  10111.  
  10112.       16.6 Flexibility is the Key
  10113.  
  10114.       Successful  computer  bulletin  boards  evolve  over  time.  As your
  10115.       system grows and you acquire new users and add more lines, you  will
  10116.       develop  new  ideas  for  improvements  and  new  features.   It  is
  10117.       important  that  you  select  a  BBS  package  that  allows  you  to
  10118.       customize  your  system  and doesn't box you in with fixed menus and
  10119.       no way of adding extensions.
  10120.  
  10121.       TSX-BBS comes with a complete set of menus and support  programs  so
  10122.       it  is  easy  to get up and running the same day you receive it, but
  10123.       it doesn't hold  you  back  when  you  are  ready  to  do  your  own
  10124.       development  and  customization.   Virtually every menu, phrase, and
  10125.       color can be changed.   Some  sysops  like  very  flamboyant  menus,
  10126.       others  prefer  more reserved ones; have it your way.  With a little
  10127.       creative effort you can configure TSX-BBS  to  present  exactly  the
  10128.       image  you  desire.   And,  you will find that this customization is
  10129.       surprisingly easy; we give you the tools and materials, you can  put
  10130.       them together in many different ways.
  10131.  
  10132.       TSX-BBS  comes  with  an  advanced  menu compiler that allows you to
  10133.       modify any of the standard menus and create new menus  of  your  own
  10134.       design.   You can change the menu tree structure, change the wording
  10135.       of menu options,  translate  them  to  foreign  languages,  add  and
  10136.       remove menu items, and integrate text from ANSI and RIP editors.
  10137.  
  10138.       TSX-BBS  menus  are  organized  into three sections: initialization,
  10139.       display, and action.  The initialization  section  is  optional,  if
  10140.       present  it  allows  you to specify actions that are to be performed
  10141.       each time the menu is entered.  You can use this  section  to  write
  10142.       information  to  log files, start programs, and perform other tasks.
  10143.       Conditional expressions  allow  you  to  perform  different  actions
  10144.       based on the user and many other conditions.
  10145.  
  10146.       The  display  section  contains  the menu image that is presented to
  10147.       the user.  You can put the text in the menu source file or  you  can
  10148.       display  an  external  file  that may have been created with an ANSI
  10149.       editor.   TSX-BBS  allows  you  to  place  commands  of   the   form
  10150.       "@command@"  within  the  menu  text  to  select  colors,  do cursor
  10151.       positioning, and check conditions.  You can also use these  commands
  10152.       to  cause  TSX-BBS  to  insert parameters such as the caller's name,
  10153.  
  10154.       Chapter 16. TSX-BBS                                              177
  10155.  
  10156.  
  10157.       the time, the date, the remaining time  available,  and  many  other
  10158.       values.   This makes it easy to create personalized menus and status
  10159.       displays.
  10160.  
  10161.       The action section of a  menu  specifies  what  actions  are  to  be
  10162.       performed  when  a  user  types  a  letter  or  command.  All of the
  10163.       inherent BBS functions are available as "building  blocks"  for  you
  10164.       to  use, such as browsing file libraries, entering chat, reading new
  10165.       mail, etc.  (there are over 65 actions).  In addition,  actions  can
  10166.       call  other  menus or execute external programs that you write.  The
  10167.       following is an example of a menu action section:
  10168.  
  10169.              $item key=C action=menu(chat)
  10170.              $item key=F action=menu(file)
  10171.              $item key=V action=vote
  10172.              $item key=W action=who
  10173.              $item key=G action=logoff
  10174.  
  10175.       You can design menus that present options  to  some  users  and  not
  10176.       others  based  on  privilege flags.  Entirely different menus can be
  10177.       selected based on capabilities such as ANSI,  color  and  RIP.   You
  10178.       can  even  have menu options that appear only on certain days of the
  10179.       week or during certain hours of the day.
  10180.  
  10181.       For the finest level of customization you  can  change  the  phrases
  10182.       and  colors presented by each "building block" menu action.  This is
  10183.       especially useful for creating bulletin boards to  serve  users  who
  10184.       prefer a language other than English.
  10185.  
  10186.       Don't  let your users down.  You can enhance and upgrade your system
  10187.       while it is running continuously, 24-hours a day.   You  can  create
  10188.       your  own  test  menus  while  your  users  continue to run with the
  10189.       production menus.  When you are ready, you can add the new menus  to
  10190.       the   production   system  without  taking  the  BBS  down  or  even
  10191.       interrupting on-line users.   You  can  even  configure  TSX-BBS  to
  10192.       present  experimental  menus  and  features on selected lines or for
  10193.       selected users only.
  10194.  
  10195.  
  10196.       16.7 Use TPL to Extend Your System
  10197.  
  10198.       The optional TSX Programming Language (TPL) is the  ideal  tool  for
  10199.       writing  extensions to TSX-BBS.  You can also use TPL for developing
  10200.       your own application programs.  Using TPL, you can  develop  plug-in
  10201.       enhancements  to  your  BBS  that are a seamless part of the system.
  10202.       If you are so inclined, you can use TPL to  develop  extensions  and
  10203.       commercial  applications  that  can  be marketed in source or object
  10204.       language form to other TSX-BBS sites.
  10205.  
  10206.       TPL is a powerful programming language with a  C-like  syntax.   TPL
  10207.       includes  integer,  real,  and  string variables and constants.  The
  10208.       string variables are especially powerful because they  have  dynamic
  10209.       size  so  you  never  have  to  reserve  a fixed size area to hold a
  10210.       value.  You can also write string functions that accept  and  return
  10211.       strings of varying sizes.
  10212.  
  10213.       Chapter 16. TSX-BBS                                              178
  10214.  
  10215.  
  10216.       The  TPL  language  includes  over  300  built-in library functions.
  10217.       Many of these functions perform BBS operations such as adding  files
  10218.       to  the  BBS  file libraries or getting information about registered
  10219.       BBS users.  It is easy to write TPL programs to add new files  using
  10220.       the  FILE_ID.DIZ  descriptions  so  that  you  do  not  have to type
  10221.       multi-line  descriptions.   You  can  also  write  TPL  programs  to
  10222.       produce  reports  such  as  a list of the most frequently downloaded
  10223.       files, or a list of users whose  accounts  will  expire  during  the
  10224.       next month.
  10225.  
  10226.       A  communication  "script"  facility  is  integrated  into  the  TPL
  10227.       language.  You can write  TPL  programs  that  dial  other  bulletin
  10228.       boards,  check  for  new files, download files, and add them to your
  10229.       BBS file library; this can be done while your BBS  is  in  operation
  10230.       and  without  intervention  on your part.  Because the communication
  10231.       script facility is an integral part of the TPL language, all of  the
  10232.       other  language  features  are  available  such  as  dynamic  string
  10233.       variables, functions, file I/O, and X/Y/Z-modem transfers.  You  can
  10234.       schedule  scripts (and other TPL programs) to run at specified times
  10235.       of the day.
  10236.  
  10237.  
  10238.       16.8 File Libraries
  10239.  
  10240.       A good file library facility is important for most  bulletin  boards
  10241.       and  is the primary reason for existence for many.  TSX-BBS provides
  10242.       a world class file library.  You can  set  up  any  number  of  file
  10243.       areas  and  organize  them  in hierarchical categories (CD-ROMs, IBM
  10244.       files, Macintosh, etc.).  File descriptions can be up  to  16  lines
  10245.       long  and  TSX-BBS  stores  extended  information  about  each  file
  10246.       including the date and time when it was uploaded, the  name  of  the
  10247.       person  who uploaded the file, the number of times that the file was
  10248.       downloaded, and the date of the last download.  Users  can  download
  10249.       files  one  at  a time or they can tag files while browsing and then
  10250.       download them as a group.  Daily download byte and time  limits  can
  10251.       be set for each user.
  10252.  
  10253.       TSX-BBS  includes a powerful file search facility.  Users can search
  10254.       file names and descriptions for single words  or  for  words  joined
  10255.       with  the  logical  operators  'AND' and 'OR'.  For example, a valid
  10256.       search expression is "GAMES AND WINDOWS", or "HIV OR AIDS".  A  date
  10257.       search  allows users to find files uploaded since the last time they
  10258.       checked or since a specified date and time.   The  search  can  span
  10259.       all file areas or can be restricted to specified areas.
  10260.  
  10261.       A  "privilege  expression"  is  used  to control access to each file
  10262.       area (see  Section  16.14).   For  each  file  area,  users  can  be
  10263.       restricted to the following types of access:
  10264.  
  10265.       1.  No access whatsoever (they do not even know the area exists)
  10266.  
  10267.       2.  List the file names and descriptions
  10268.  
  10269.       3.  Download files from the area
  10270.  
  10271.       Chapter 16. TSX-BBS                                              179
  10272.  
  10273.  
  10274.       4.  Upload to the area
  10275.  
  10276.       The  sysop  can set up a private upload area for all user uploads so
  10277.       that the files can be examined before being publicly posted.
  10278.  
  10279.       It is easy to set up private file  areas  for  groups  of  users  or
  10280.       companies that may want to use your board as a support center.
  10281.  
  10282.  
  10283.       16.9 Newsgroups and Discussion Forums
  10284.  
  10285.       TSX-BBS  includes  a  powerful  message storage and retrieval system
  10286.       that is ideal for Usenet newsgroups, Fido echoes and other types  of
  10287.       discussion  forums.   The  message  system can efficiently store and
  10288.       recall messages from thousands of message areas making it ideal  for
  10289.       major  Usenet  storage  sites.   The  maximum number of messages and
  10290.       message areas is limited only  by  available  disk  space.   Message
  10291.       text  compression  is  performed  automatically to reduce disk space
  10292.       requirements.
  10293.  
  10294.       Messages are organized in a hierarchical (tree-structured)  fashion.
  10295.       The  top  level can have categories such as Usenet and Fido.  Within
  10296.       the Usenet group there might be  subcategories  such  as  "alt"  and
  10297.       "comp".     Within    usenet.alt    you    would   find   additional
  10298.       subsub-categories, etc.  Users can explore the areas  by  moving  up
  10299.       and  down  through  the  hierarchical levels or by browsing the full
  10300.       set of forums as  an  alphabetical  list.   By  using  sophisticated
  10301.       indexing   techniques,   TSX-BBS   is   able  to  provide  virtually
  10302.       instantaneous access to any message area.  Users can locate  message
  10303.       areas  by doing searches for words in the area name.  Users also can
  10304.       search for messages containing specified words  and  expressions  in
  10305.       the body of the message.
  10306.  
  10307.       Within  an  area, messages are sorted by their creation date (rather
  10308.       than the date they were received by the  board).   Messages  on  the
  10309.       same  topic  are  grouped into "threads" making it easy to follow an
  10310.       exchange of messages.  TSX-BBS keeps track of the last message  read
  10311.       in  each  area  so that users can easily read new messages in forums
  10312.       with many messages.  Reading messages in one area  does  not  affect
  10313.       the last-message-read pointer for other areas.
  10314.  
  10315.       A  "privilege expression" (see Section 16.14) can be associated with
  10316.       each area to control which users can access the  area.   This  makes
  10317.       it  easy  to  set  up  adult discussion forums and to create private
  10318.       forums for groups that are using the board  as  a  message  exchange
  10319.       system.   Forum access restrictions are especially useful for Usenet
  10320.       which has a number of newsgroups which are not suitable for  general
  10321.       distribution.
  10322.  
  10323.       A   QWK   facility  is  built  into  TSX-BBS  to  provide  efficient
  10324.       downloading of messages for off-line readers.
  10325.  
  10326.       A touch of a key invokes the TSX-BBS full-screen message  editor  to
  10327.       compose  a  new  message  or  a  reply.   When  writing a reply, the
  10328.       original message is shown in a  split  screen  window  and  original
  10329.  
  10330.       Chapter 16. TSX-BBS                                              180
  10331.  
  10332.  
  10333.       text  can  be  quickly  cut  and  pasted  into the reply.  Users can
  10334.       delete messages that they wrote but only the  sysop  (or  designated
  10335.       message managers) can delete messages posted by other users.
  10336.  
  10337.       There  are  "tosser" programs available to process incoming Fido and
  10338.       Usenet messages.  At the option of  the  sysop,  new  message  areas
  10339.       (categories)  can  be  created  automatically  by  the  tosser  when
  10340.       messages arrive for areas that did not previously exist.  The  sysop
  10341.       can  block  all  automatic  area  creation or can enable it only for
  10342.       subcategories of selected areas.
  10343.  
  10344.  
  10345.       16.10 E-mail
  10346.  
  10347.       TSX-BBS includes a powerful electronic  mail  (e-mail)  system  that
  10348.       allows  users  to  send  messages to each other.  They can also send
  10349.       and receive SMTP (Simple Mail Transfer  Protocol)  messages  through
  10350.       the Internet and they can send and receive Fido netmail messages.
  10351.  
  10352.  
  10353.       16.11 Direct Internet Access
  10354.  
  10355.       In  addition  to Internet mail and Usenet newsgroups, TSX-BBS offers
  10356.       direct, interactive access to the Internet  using  FTP  and  Telnet.
  10357.       The  File  Transfer  Protocol  (FTP)  program  allows  you to browse
  10358.       through files on other computers connected to  the  Internet.   Once
  10359.       you  have  found  a  file  of  interest, FTP transfers the file to a
  10360.       "personal file workspace" directory on the TSX-BBS system.  You  can
  10361.       then  use  X/Y/Z-Modem  to  download  the file from the TSX-BBS work
  10362.       area to the local computer.
  10363.  
  10364.       Telnet is a terminal emulator program that you can use to  log  onto
  10365.       another  computer  connected to Internet.  With Telnet you can be an
  10366.       interactive user on computers around the world.
  10367.  
  10368.       If you authorize it, users can also  access  your  BBS  through  the
  10369.       Internet  by  using  Telnet.   They  run  Telnet  on  their personal
  10370.       computers and specify your BBS address as the  host  address.   They
  10371.       then  log  on  just  like  dial-in users and have full access to the
  10372.       BBS.
  10373.  
  10374.       FTP and Telnet run as "native" programs on the  same  computer  that
  10375.       is  running  TSX-BBS.  There is no need to buy a separate, dedicated
  10376.       Internet server computer.  You can  provide  your  users  with  full
  10377.       Internet access and do it all with a single computer system.
  10378.  
  10379.  
  10380.       16.12 Incoming SLIP connections
  10381.  
  10382.       If  you  have  an  Internet  connection,  you  can  resell  Internet
  10383.       connections to your users.  Your users can call your  BBS,  log  on,
  10384.       and  then  shift  their  connection  from ASCII to SLIP (Serial Line
  10385.       Interconnect Protocol).  They are then  connected  to  the  Internet
  10386.       through  your BBS and they can run programs such as FTP, Telnet, and
  10387.       Mosaic on their local computers to access  sites  on  the  Internet.
  10388.  
  10389.       Chapter 16. TSX-BBS                                              181
  10390.  
  10391.  
  10392.       You  can  limit  which  users are authorized for SLIP access and the
  10393.       BBS daily time limits apply to SLIP connections.
  10394.  
  10395.  
  10396.       16.13 On-line "Chat"
  10397.  
  10398.       A popular multi-line BBS feature is real-time conferencing,  "Chat".
  10399.       Chat  allows  users to set up round-table conferences where they can
  10400.       carry on multi-party discussions in real-time.  TSX-BBS chat  allows
  10401.       the  sysop  to  create permanent discussion topics; users can create
  10402.       temporary chat areas that are deleted automatically  when  the  last
  10403.       user  leaves  the  area.  The chat system features split screen mode
  10404.       which allows users to view the ongoing conversation while  composing
  10405.       their own contributions.
  10406.  
  10407.  
  10408.       16.14 TSX-BBS System Security
  10409.  
  10410.       TSX-BBS  allows the sysop to set many privilege and limit values for
  10411.       each user.  Controls such as daily time limit, download file  limit,
  10412.       and  use  of  individual  system functions such as the file library,
  10413.       E-mail, chat, QWK, etc.  may be set for each  individual  user.   To
  10414.       simplify  management, the sysop may also define user "classes" which
  10415.       describe sets of  limits  and  privileges.   A  class  can  then  be
  10416.       assigned   to  a  user,  changing  each  of  the  users  limits  and
  10417.       privileges to those of the class.
  10418.  
  10419.       The TSX-BBS user privilege system is simple but extremely  powerful.
  10420.       Each  user  is  assigned  a  "security  level" that ranges from 0 to
  10421.       65535.  In addition, there  are  80  sysop-defined  privilege  flags
  10422.       that  may  be turned on or off.  The meaning for each privilege flag
  10423.       may be assigned by the sysop.  The privilege flags can  be  used  in
  10424.       privilege  expressions  along  with  the  security  level  and other
  10425.       conditional tests such as the date, time,  day  of  the  week,  etc.
  10426.       TSX-BBS  privilege  expressions  can  include multiple logical items
  10427.       with 'AND' and 'OR' logical operators and parentheses for  grouping.
  10428.       For  example,  the following privilege expression is true for a user
  10429.       who has a security  level  equal  to  or  greater  than  50  or  has
  10430.       privilege   flag  1  enabled:  "(PRIVLEV>=50||P1)".   The  following
  10431.       privilege expression is true only on Saturday: "(DAYOFWEEK==7)".
  10432.  
  10433.       In addition to the security level and  privilege  flags,  the  sysop
  10434.       can  also assign a "group" number to users.  This can be used to set
  10435.       up private file and message areas accessible only to members of  the
  10436.       group.   This is extremely useful for commercial BBS operations that
  10437.       provide support areas for various companies or organizations.
  10438.  
  10439.  
  10440.       16.15 System Control
  10441.  
  10442.       TSX-BBS comes with a "SYSOP"  program  that  provides  comprehensive
  10443.       control  over  your  system.   With  the "dashboard" display you can
  10444.       monitor which lines are in use, what users  are  on-line,  and  what
  10445.       activities  are  taking  place.   The  sysop  can also "spy" on user
  10446.       sessions.  Real-time statistics  displayed  include  the  number  of
  10447.  
  10448.       Chapter 16. TSX-BBS                                              182
  10449.  
  10450.  
  10451.       logons,  new  user  authorizations,  files  uploaded and downloaded,
  10452.       messages sent and received,  door  programs  executed,  and  overall
  10453.       system loading.
  10454.  
  10455.       The  sysop can examine and modify user authorization entries, change
  10456.       privileges  and  examine  usage  statistics  while  the  system   is
  10457.       running.   Statistics  kept  for  each  user include the date of the
  10458.       user's  first  and  last  logons,  the  total  connect  time,  bytes
  10459.       uploaded  and  downloaded,  and  information about the current day's
  10460.       usage.  Log  files  can  be  enabled  to  record  even  more  detail
  10461.       including the date and time of each file upload and download.
  10462.  
  10463.       The  sysop  can  examine and edit file descriptions and monitor file
  10464.       download counts.  A cut-and-paste clipboard makes it  easy  to  move
  10465.       files  from one file area to another.  All of this can be done while
  10466.       the system is in full operation.
  10467.  
  10468.       The SYSOP program can be run  from  the  console  and  from  dial-in
  10469.       lines by properly authorized users.
  10470.  
  10471.  
  10472.       16.16 TSX-BBS Is a Complete System
  10473.  
  10474.       When  you  buy  TSX-BBS  you get a complete, integrated system.  The
  10475.       basic system includes the  file  librarian,  mail,  forums,  voting,
  10476.       QWK,  and  classified  ads,  all  without  having to buy third-party
  10477.       add-ons.  Optional components are Chat,  Fido  and  Usenet  support,
  10478.       the TPL programming language, networking, FTP, Telnet, and NFS.
  10479.  
  10480.  
  10481.  
  10482.  
  10483.  
  10484.  
  10485.                                    Chapter 17
  10486.  
  10487.                              The Full TSX-32 System
  10488.  
  10489.  
  10490.  
  10491.  
  10492.       If  you  like  TSX-Lite  but need to support more than two users, or
  10493.       need networking, real-time, or 32-bit development tools, it is  time
  10494.       to  step  up to a full TSX-32 system.  The following list summarizes
  10495.       features that either come with, or  are  available  as  options  for
  10496.       TSX-32.
  10497.  
  10498.  
  10499.       17.1 Support for Large Systems
  10500.  
  10501.       Whereas  TSX-Lite  is  limited  to  supporting  two  users, the full
  10502.       TSX-32 system is available with or without limits on the  number  of
  10503.       interactive  users.   Most  TSX  installations  run  8,  16,  or  32
  10504.       terminal  lines,  with  some  systems  supporting  over  100  users.
  10505.       TSX-32  supports "smart" serial cards and multi-console devices from
  10506.       several vendors.
  10507.  
  10508.  
  10509.       17.2 Networking
  10510.  
  10511.       TSX-32 networking is a full  featured,  TCP/IP  based,  peer-to-peer
  10512.       network.    Programs  can  transparently  access  files  across  the
  10513.       network including full file  sharing  and  record  locking.   Remote
  10514.       login  allows  you  to  work  on other network nodes as easily as if
  10515.       your workstation were directly connected to  them.   Other  features
  10516.       include  remote program execution, printer sharing, and an interface
  10517.       to Internet and systems such as VAX/VMS, Unix, and  Novell,  through
  10518.       FTP, Telnet, and NFS.
  10519.  
  10520.  
  10521.       17.3 Real-time Support
  10522.  
  10523.       S&H  is  famous  for  combining  critical  real-time facilities with
  10524.       timesharing services on the same computer.   TSX-32  is  the  choice
  10525.       for   factory   automation,  instrumentation,  and  other  real-time
  10526.       applications.
  10527.  
  10528.  
  10529.       17.4 Disk Shadowing
  10530.  
  10531.       The  disk  shadowing  option  for  TSX-32  causes  changes  made  to
  10532.       selected  files  on  one  disk  to  be "shadowed" (or "mirrored") to
  10533.       another  disk  on  either  the  same  machine  or  another   machine
  10534.       connected  through  the  network.   This  makes  it  easy  to set up
  10535.  
  10536.  
  10537.                                       183
  10538.  
  10539.       Chapter 17. The Full TSX-32 System                               184
  10540.  
  10541.  
  10542.       fault-tolerant systems that can quickly recover without losing  data
  10543.       even if one disk or computer goes down.
  10544.  
  10545.  
  10546.       17.5 Tape Support
  10547.  
  10548.       SCSI  tape  support  allows  the  TSX BACKUP and RESTORE programs to
  10549.       manage large data loads with ease.
  10550.  
  10551.  
  10552.       17.6 MessageNet
  10553.  
  10554.       MessageNet is  the  electronic  mail  system  for  TSX.   The  basic
  10555.       MessageNet  system, which is provided when you register TSX-Lite and
  10556.       is a standard part of TSX-32, allows users to send  electronic  mail
  10557.       to  each other.  It features address books, mailing lists, and "file
  10558.       folders"  for  storing  mail.   The  optional  Advanced   MessageNet
  10559.       product  extends  MessageNet  to  allow  messages to be sent between
  10560.       computers running TSX.  These transfers can take place on  a  demand
  10561.       basis  or at scheduled times to take advantage of lower phone rates.
  10562.       Advanced MessageNet also provides a bridge to global e-mail  systems
  10563.       such as EasyLink and MCI Mail.
  10564.  
  10565.  
  10566.       17.7 Single-user Option
  10567.  
  10568.       For  those  situations  where  TSX-32 may be used in a networking or
  10569.       real-time environment, a low-cost, single-user version of TSX-32  is
  10570.       available.    This  version  supports  real-time,  networking,  disk
  10571.       shadowing, and all of the features of the full  product  but  limits
  10572.       access  to  one  user  at a time.  This is especially attractive for
  10573.       factory automation and instrumentation applications.
  10574.  
  10575.       S&H Computer Systems wants to  be  your  operating  system  business
  10576.       partner.   We  regularly enhance our product to suit customer needs,
  10577.       assist customers in using the TSX environment as an  application  or
  10578.       development   platform,   and   employ  a  vast  array  of  built-in
  10579.       diagnostic tools to help solve problems.  You have now had  a  taste
  10580.       of  our  product.   What  we  can't  convey  with this demonstration
  10581.       version is that the staff at  S&H  is  helpful,  knowledgeable,  and
  10582.       available.  Please call us and experience the S&H difference today!
  10583.  
  10584.                            S&H Computer Systems, Inc.
  10585.                             1027 17th Avenue, South
  10586.                          Nashville, TN 37212-2299  USA
  10587.  
  10588.                               Phone: 615-327-3670
  10589.                               Fax:   615-321-5929
  10590.                               CompuServe: 71333,27
  10591.                        Internet: 71333.27@compuserve.com
  10592.  
  10593.       Note:  The  latest  version  of  TSX-Lite  and TSX-BBS can always be
  10594.       obtained from the S&H Support BBS.
  10595.  
  10596.       Index                                                            185
  10597.  
  10598.  
  10599.       16550 UART adapters, 13, 84         Console screen saver, 26
  10600.       Adaptive scheduling, 3              CONSSTIME sysgen parameter,
  10601.       ALLOCATE command, 87                         26
  10602.       ALT-digit session selection,        Control characters, 24
  10603.                9                          COPY command, 96
  10604.       ANSI terminals, 16, 23, 63          Copyright notice, 173
  10605.       Answer enable, 17                   COUNT command, 98
  10606.       ASSIGN command, 87                  CSHSIZE sysgen parameter, 78
  10607.          system wide symbols, 77          Ctrl-W-digit, 9
  10608.       ASSIGNMENT command, 87              Data cache, 5
  10609.       Authors of TSX-Lite                    showing statistics, 156
  10610.          Dan Cappannari, 155                 size of, 78
  10611.          John Mott, 155                   Data caching, 68
  10612.          Phil Sherrod, 155                Datascope, 19
  10613.       Autobaud setting, 15, 17            Date
  10614.       AUX device name, 31                 DATE command, 99
  10615.       Background batch jobs, 54              displaying, 156
  10616.       BACKUP command, 88                     format of, 86
  10617.       BATCH command, 54, 64, 92              setting, 141
  10618.       Batch files, 53                     DEALLOCATE command, 99
  10619.       Baud rate setting, 14               DEASSIGN command, 99
  10620.       BBS, 174                            DEC terminals, 16, 23, 63
  10621.       BBS server, 2                       DEFDWRITE parameter, 31
  10622.       BBS software                        DEFINE KEY command, 100
  10623.          setting up, 10                   DELETE command, 100
  10624.       BIOS, 3                             DESQView, 2
  10625.       BNU FOSSIL driver, 36               DETACH command, 101
  10626.       BOOT command, 22, 93, 161           Device names, 40
  10627.       Bulletin board server, 2            DIFFERENCES command, 103
  10628.       Bulletin board software             Direct write programs, 30
  10629.          setting up, 10                   DIRECTORY command, 105
  10630.       BYE command, 93                     Directory searching, 40
  10631.       CALCULATE command, 93               Disclaimer, 173
  10632.       CALENDAR command, 94                Discussion forums, 179
  10633.       CALL command, 94                    Disk shadowing, 183
  10634.       Cappannari, Dan, 155                DISPLAY command, 56, 107
  10635.       CD command, 95                      Doorway program, 2
  10636.       CD ROM support, 22                  DOQUEUES sysgen parameter, 79
  10637.       CGA controllers, 63                 DOS command, 32, 107
  10638.       CHAIN command, 94                   DOSLPTTIME sysgen parameter,
  10639.       Chat, 181                                    35
  10640.          see PHONE command, 66            DOSNET option, 12
  10641.       CHDIR command, 95                   DOSNETFLAG sysgen parameter,
  10642.       CHKDSK, 29                                   69
  10643.       CLS command, 95                     DOWINPRT sysgen parameter, 79
  10644.       Colors                              DOWNLOAD command, 107
  10645.          setting, 149                     DPMI, 38
  10646.          showing possible, 156            DUMP command, 108
  10647.       COM port setup, 13                  E-mail, 184
  10648.       COM3 setup, 20                      E32, 109
  10649.       Command files, 53                   EasyLink interface, 184
  10650.       COMMAND.COM running, 32, 107        EDIT command, 109
  10651.       Commands, 86                        EDIT-32, 109
  10652.       Communication lines, 26             EMM386, 36
  10653.       CON device name, 31                 EMS, 36
  10654.  
  10655.       Index                                                            186
  10656.  
  10657.  
  10658.       EMS enabling, 147                   Keyboard
  10659.       Environment variables, 31           Keyboard mapping, 27
  10660.       Error logs, 69                         problems, 82
  10661.       Ethernet, 3, 64                     KEYLOAD command, 27, 122
  10662.       EVALUATE command, 110               KILL command, 122
  10663.       EVENT command, 110                  Lantastic, 3
  10664.       Event logs, 69, 157                 Lexical functions, 58
  10665.       Execution priority                  Log files, 54
  10666.          setting, 147                     Logging of terminal I/O, 144
  10667.       EXIT command, 110                   Logical operators, 58
  10668.       EXP executable programs, 38         Logitech mouse, 21
  10669.       EXPAND command, 111                 LOGOFF command, 122
  10670.       Expanded memory, 36                 LOGON program, 19, 76
  10671.       Explicit printing, 48               Lost characters, 84
  10672.       Extended memory, 37                 LSTARTUP.CMD file, 75, 77
  10673.       Factoring commands, 98              MACROS command, 122
  10674.       Fido, 179                           MAIL command, 124
  10675.       File access control, 19, 116        Mailboxes, 70
  10676.       File protection, 116                MAKELOAD program, 75
  10677.       FILEWATCH command, 113              MAXP0MEM parameter, 37, 79,
  10678.       FIXEDSPEED line option, 15,                  85
  10679.                36                         MCI Mail interface, 184
  10680.       Flow control, 15, 84                MD command, 124
  10681.       FMAN command, 114                   Memory
  10682.       Foreign keyboards, 27               Memory page, 67
  10683.       FORMAT command, 117                 Memory space limit, 37, 79,
  10684.       FOSSIL driver, 36                            85
  10685.       FPROTECT program, 19                   displaying size, 158
  10686.       French keyboards, 27                   paging statistics, 158
  10687.       FTP, 2, 180, 183                       setting virtual size, 147
  10688.       German keyboards, 27                MESSAGE command, 125
  10689.       GOTO command, 55, 117               MessageNet, 124, 184
  10690.       Handshaking setting, 15, 84         MetaWare High C, 38
  10691.       HANLOAD command, 117                Microsoft Windows, 169
  10692.       HELP command, 117                   MINIGEN, 10
  10693.       High C, 38                          Mirroring disks, 183
  10694.       High Sierra CD ROM format, 22       MKDIR command, 125
  10695.       HIMEM.SYS, 37                       MN command, 125
  10696.       HOLDPRIO option, 11                 Modem connection, 13, 15, 17
  10697.       HOST command, 118                      answer enable, 17
  10698.       IDLETIME attribute, 34                 S0 register, 17
  10699.       IDLETIME parameter, 12              Modem reset string, 16
  10700.       IF command, 56, 119                 Mott, John, 155
  10701.       Implicit printing, 48               Mouse support, 21
  10702.       Incremental backup, 91              MOUSEPORT logical name, 21,
  10703.       INITIALIZE command, 120                      83
  10704.       INQUIRE command, 56, 121            MOUSETYPE symbol, 21
  10705.       INSTALL.CMD file, 30, 75, 127       Multi-console adapters, 64
  10706.       International keyboards, 27         Multi-user, 4
  10707.       Internet access, 2, 180, 183        Names of devices, 40
  10708.       Introduction, 1                     Native system services, 38
  10709.       Italian keyboards, 27               NDP Fortran, 38
  10710.       JMAN command, 121                   NetBIOS support, 69
  10711.       KERMIT command, 121                 Networking, 180, 183
  10712.       Kernel file, 3                      Newsgroups, 179
  10713.  
  10714.       Index                                                            187
  10715.  
  10716.  
  10717.       NFS, 183                            QUEMAN.LOG file, 84
  10718.       NODWRITE option, 12                 QUEMAN.SYS file, 85
  10719.       Novell, 3                           Queue manager, 48
  10720.       Novell connection, 183                 problems, 84
  10721.       NUL device name, 31                 R command, 131
  10722.       Null modem, 13                      RAMDISKSIZ sysgen parameter,
  10723.       Numeric comparison, 57                       80
  10724.       Numeric operators, 57               RD command, 131
  10725.       Numeric symbols, 45                 Real-time support, 183
  10726.       OFF command, 125                    Rebooting, 22, 93, 161
  10727.       ON command, 125                     RECALL command, 131
  10728.       Operators, 57                       Registering TSX-Lite, 172
  10729.          logical, 58                      Relisys terminals, 24, 63
  10730.          numeric, 57                      RENAME command, 132
  10731.          numeric comparison, 57           RESTORE command, 133
  10732.          string, 57                       Ring answer enable, 17
  10733.          string comparison, 57            RMDIR command, 135
  10734.       Page fault, 67                      RS232 signals, 13
  10735.       Page Maker, 169                     RTS/CTS flow control, 15
  10736.       Page of memory, 67                  RUN command, 135
  10737.       PAGEFILE.TSX file                   RUNPRIORITY parameter, 55
  10738.          controlling size, 79             RUNTSX program
  10739.       Paradise 512 video, 170                problems, 81
  10740.       Parity setting, 15                  S0 modem register, 17
  10741.       Password for lines, 15, 18          Scheduling algorithm, 3
  10742.       PATH command, 126                   Screen corruption, 83
  10743.       PAUSE command, 127                  Screen print, 79
  10744.       PC Anywhere, 2                      Screen saver, 26
  10745.       PC-Term terminals, 16, 24           Scroll lock key, 7
  10746.       PGFILSIZ sysgen parameter, 79       SCSI support, 184
  10747.       Phar Lap, 38                        SEARCH command, 136
  10748.       PHONE command, 66, 127              Security Kit, 19
  10749.       Phone connection, 15                SEND command, 65, 139
  10750.       Phone lines, 17                     Session Manager, 7
  10751.       PMAN command, 11, 29, 127           SET CMDPROC command, 140
  10752.       POOLSIZEN sysgen parameter,         SET DATE command, 99, 141
  10753.                79                         SET DEFAULT command, 141
  10754.       PRIDEF sysgen parameter, 11,        SET EDIT command, 141
  10755.                55                         SET ENTRY command, 142
  10756.       PRINT command, 128                  SET EVENT command, 142
  10757.       Printing, 48                        SET HOST command, 142
  10758.       Priority of batch jobs, 55          SET LOG command, 144
  10759.       Priority of subprocesses, 11        SET LOGOFF command, 144
  10760.       Privileges                          SET MESSAGE command, 145
  10761.          displaying, 158                  SET NEWSTATISTICS command,
  10762.       PRIVIR sysgen parameter, 11                  146
  10763.       PRN device name, 31                 SET NOVERIFY command, 57
  10764.       Process windowing, 7                SET PRINTWINDOW command, 146
  10765.       Procomm, 118                        SET PROCESS command, 147
  10766.       PROMPT command, 130                 SET symbol command, 148
  10767.       PROTECT command, 130                SET SYSTEM command, 148
  10768.       PROTECT.CMD file, 76                SET TERMINAL command, 149
  10769.       Protected mode, 29                  SET TIME command, 152
  10770.       QINIT.CMD file, 85                  SET VERIFY command, 57, 153
  10771.       QMAN command, 130                   SET VIDEO command, 153
  10772.  
  10773.       Index                                                            188
  10774.  
  10775.  
  10776.       SET WINDOW command, 153                      18
  10777.       SET WORKING_SET command, 154        SYSPASSWORD sysgen parameter,
  10778.       Shadowing disks, 183                         15, 18
  10779.       Shared memory regions, 70           SYSTAT command, 165
  10780.       Sherrod, Phil, 155                  System commands, 86
  10781.       SHOW ALL command, 155               System management, 75
  10782.       SHOW ASSIGNS command, 155           System password, 15, 18
  10783.       SHOW AUTHORS command, 155           System statistics
  10784.       SHOW CACHE command, 156                resetting, 146
  10785.       SHOW COLORS command, 156            System wide logical symbols,
  10786.       SHOW DATE command, 156                       77
  10787.       SHOW DEVICES command, 156           Tape support, 184
  10788.       SHOW ERRORS command, 69, 156        TCP/IP networking, 180, 183
  10789.       SHOW EVENTS command, 157            Telephone support, 172
  10790.       SHOW FILES command, 157             Telix, 118
  10791.       SHOW FSTATUS command, 157           Telnet, 2, 64, 180, 183
  10792.       SHOW JOBS command, 158              Terminal printers, 51
  10793.       SHOW KEYS command, 158              Terminal type setting, 16
  10794.       SHOW MEMORY command, 158            Terminal types, 23
  10795.       SHOW NAME command, 158              Terminate and Stay Resident,
  10796.       SHOW PAGING command, 158                     32
  10797.       SHOW PRIVILEGES command, 158        Time
  10798.       SHOW QUEUE command, 159             TIME command, 165
  10799.       SHOW SYMBOLS command, 159           Time-sharing, 3
  10800.       SHOW SYSTEM command, 159               format of, 86
  10801.       SHUTDOWN procedure, 22, 93,            setting, 152
  10802.                161                        TMAN command, 165
  10803.       SLIP connections, 180               Trademark notice, 173
  10804.       SMD.DOC file, 43                    Troubleshooting, 81
  10805.       SORT command, 161                   TSAUTH program, 19, 77, 165
  10806.       Spanish keyboards, 27               Tseng 4000 video card, 170
  10807.       Speed setting, 14                   Tseng VGA controllers, 63, 83
  10808.       Spitfire                            TSGEN, 9, 167
  10809.          installing, 10                   TSR programs, 32, 84
  10810.       SPOOL.SYS file, 85                  TSX-32, 183
  10811.       Spooler, 48                         TSX-BBS, 174
  10812.       Spooler problems, 84                TSX32.SYS file, 3
  10813.       SPOOLER.LOG file, 84                TSXLOAD.CMD file, 75
  10814.       SPY command, 19, 162                TSXTERM, 71
  10815.       START.CMD, 76                       TSXUAF.TSX file, 77
  10816.       STARTQUE.CMD file, 84               Tuning the system, 78
  10817.       STARTUP.CMD file, 75                TUTOR command, 66, 165
  10818.       Statistics                          TYPE command, 166
  10819.          resetting, 146                   UART adapters, 13
  10820.       STOP command, 65, 163               UART emulation, 35
  10821.       String comparisons, 57              UNPROTECT command, 167
  10822.       String operators, 57                UPLOAD command, 168
  10823.       String symbols, 44, 88              Usenet, 179
  10824.       SUBPROCESS command, 164             VERSION command, 168
  10825.       Symbols, 56                         VGA controllers, 63, 83
  10826.          defining, 87                     VIEW command, 168
  10827.          removing, 99                     Virtual disk, 80
  10828.          string, 88                       Virtual memory, 37, 66, 79,
  10829.       SYSMON command, 165                          85
  10830.       SYSPASSPR sysgen parameter,         Virtual UART support, 35
  10831.  
  10832.       Index                                                            189
  10833.  
  10834.  
  10835.       VMAXJOBS sysgen parameter, 78
  10836.       VT100 terminals, 16, 23
  10837.       VTxxx terminals, 63
  10838.       WAIT command, 169
  10839.       Warranty, 173
  10840.       WHO command, 169
  10841.       Wildcard specifications, 40
  10842.       Wildcat
  10843.          installing, 12
  10844.       WIN command, 169
  10845.       Windows under TSX, 169
  10846.       WINPRT program, 147
  10847.       Working set, 67
  10848.       Working set size, 154
  10849.          controlling size, 154
  10850.       WSCMD command, 170
  10851.       Wyse terminals, 24
  10852.       X00 FOSSIL driver, 36
  10853.       XMODEM, 118
  10854.          download, 107
  10855.          upload, 168
  10856.       XMS, 37
  10857.       XON/XOFF flow control, 15
  10858.       YMODEM, 118
  10859.          download, 107
  10860.          upload, 168
  10861.       ZMODEM, 118
  10862.          download, 107
  10863.          upload, 168
  10864.