*SET COMMAND  --  SETS DEFAULT OPTIONS                  HEADER  FUPSET  0001.000
         M.PGM     FUP.SET,MPX-32,3.6.1,01                              0002.000
         SPACE                                                          0003.000
         CSECT                                                          0004.000
         SPACE                                                          0005.000
*                                                                       0006.000
************************************************************************0007.000
*                                                                      *0008.000
*                    PROPRIETARY INFORMATION                           *0009.000
*                    -----------------------                           *0010.000
*   THE INFORMATION CONTAINED HEREIN IS PROPRIETARY TO ENCORE          *0011.000
*   COMPUTER CORPORATION AND/OR ITS VENDORS, AND ITS USE, DISCLOSURE,  *0012.000
*   OR DUPLICATION IS SUBJECT TO THE RESTRICTIONS STATED IN THE        *0013.000
*   STANDARD ENCORE COMPUTER CORPORATION LICENSE TERMS AND CONDITIONS  *0014.000
*   OR THE APPROPRIATE THIRD-PARTY SUBLICENSE AGREEMENT.               *0015.000
*                                                                      *0016.000
*                       RESTRICTED RIGHTS                              *0017.000
*                       -----------------                              *0018.000
*   USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT       *0019.000
*   TO RESTRICTIONS AS SET FOURTH IN SUBDIVISION (c) (1) (ii) OF       *0020.000
*   THE RIGHTS IN TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT       *0021.000
*   252.227.7013                                                       *0022.000
************************************************************************0023.000
* (C) COPYRIGHT 1989 ENCORE COMPUTER CORPORATION                       *0024.000
*     ALL RIGHTS RESERVED                                              *0025.000
************************************************************************0026.000
************************************************************************0027.000
*                                                                      *0028.000
*        HISTORY OF FUPSET             MPX 3.6.1                       *0029.000
*                                                                      *0030.000
************************************************************************0031.000
*                                                                       0032.000
*        VOLMGR REV 3.6.1.01 BL 7                               ETRN361 0033.000
*                                                               ETRN361 0034.000
*        MODULES: FUPMAN (REV 3.6.1.01)                         ETRN361 0035.000
*                 FUPSET (REV 3.6.1.01)                         ETRN361 0036.000
*                 FUPCPY (REV 3.6.1.01)                         ETRN361 0037.000
*                 FUPTRN (REV 3.6.1.01)                         ETRN361 0038.000
*                 FUPRSD (REV 3.6.1.01)                         ETRN361 0039.000
*                 SJ.VPRE(REV 3.6.1.01)                         ETRN361 0040.000
*                 SH.VOMM(REV 3.6.1.03)                         ETRN361 0041.000
*                 SM.MPXMC(REV 3.6.1.08)                        ETRN361 0042.000
*                                                               ETRN361 0043.000
*        07/13/94  11464 ADDED SUPPORT FOR ENHANCED TRUNCATE    ETRN361 0044.000
*                  OPTION                                       ETRN361 0045.000
*********************************************************************   0046.000
*                                                                   *   0047.000
*        HISTORY OF FUPSET             MPX 3.6.0                    *   0048.000
*                                                                   *   0049.000
*********************************************************************   0050.000
*                                                                       0051.000
*        VOLMGR REV 3.6.0.12                                    EQIC360A0052.000
*        MODULES: FUPSET (REV 3.6.0.02)                         EQIC360A0053.000
*        MODULES: FUPMAN (REV 3.6.0.05)                         EQIC360A0054.000
*        ENHANCEMENT: EQIC360                                   EQIC360A0055.000
*                                                               EQIC360A0056.000
*        08/19/93  10833 DO NOT ALLOW SEOF MODE TO BE CLEARED   EQIC360A0057.000
*                  IF NOT AT BOT.                               EQIC360A0058.000
*                                                                       0059.000
*        VOLMGR REV 3.6.0.01                                    EQIC360 0060.000
*        MODULES: FUPSET (REV 3.6.0.01)                         EQIC360 0061.000
*        ENHANCEMENT: EQIC360                                   EQIC360 0062.000
*                                                               EQIC360 0063.000
*        02/12/93  10833 ADD SCSI QIC SUPPORT                   EQIC360 0064.000
*                                                               EQIC360 0065.000
*                                                                       0066.000
*                                                                       0067.000
*    FUNCTIONAL DESCRIPTION:                                            0068.000
*                                                                       0069.000
*        THIS MODULE CONTAINS ONE OF THE COMMAND PROCESSING ROUTINES    0070.000
*        FOR THE FILE UTILITY PROGRAM FOR THE NEW FILE SYSTEM. THIS     0071.000
*        THIS MODULE HANDLES THE COMMAND:                               0072.000
*                                                                       0073.000
*                  'SET'                                                0074.000
*                                                                       0075.000
*                                                                       0076.000
*    EXTERNAL REFERENCES:                                               0077.000
*                                                                       0078.000
*                                                                       0079.000
         EXT       STACKPTR        FOR SAVING R1                        0080.000
         EXT       FORMATOT        FORMAT AND OUTPUT MESSAGE            0081.000
         EXT       COMDADDR        ADDRESS FOR COMMAND DISPATCH         0082.000
         EXT       FILERTN         RETURN ADDRESS FOR COMMAND DISPATCH  0083.000
         EXT       SS.PATNM        PARSE TABLE FOR PATHNAME             0084.000
         EXT       SS.KWSYN        PARSE TABLE TO CK KEYWD SYNTAX       0085.000
         EXT       DOBLOCK         DEFAULT OPTION BLOCK                 0086.000
         EXT       COBADDR         CURRENT OPTION BLOCK ADDRESS         0087.000
         EXT       SETDFBLK        SETUP DEFAULT OPTION BLOCK           0088.000
         EXT       SS.ALLO                                              0089.000
         EXT       SS.AUTO                                              0090.000
         EXT       SS.BRIE                                              0091.000
         EXT       SS.CONF                                              0092.000
         EXT       SS.CONT                                              0093.000
         EXT       SS.FAST                                              0094.000
         EXT       SS.LIST                                              0095.000
         EXT       SS.MANE                                              0096.000
         EXT       SS.INCR                                              0097.000
         EXT       SS.MAXS                                              0098.000
         EXT       SS.MEMC                                              0099.000
         EXT       SS.MINI                                              0100.000
         EXT       SS.NEWE                                              0101.000
         EXT       SS.NOSA                                              0102.000
         EXT       SS.OWNE                                              0103.000
         EXT       SS.USER                                              0104.000
         EXT       SS.RAND                                              0105.000
         EXT       SS.REPL                                              0106.000
         EXT       SS.SHAR                                              0107.000
         EXT       SS.STAR                                              0108.000
         EXT       SS.ZERO                                              0109.000
         EXT       SS.SEOF                                      EQIC360 0110.000
         EXT       SS.TIMOP                                             0111.000
         EXT       SS.KWSYN                                             0112.000
         EXT       REQKEY                                               0113.000
         EXT       INVKEY                                               0114.000
         EXT       TAPFCB          TAPE FCB                     EQIC360A0115.000
         EXT       FLAGBITS        VOLMGR FLAG WORD             EQIC360A0116.000
         EXT       SEOFMSG         ERROR MESSAGE-CHANGE SEOF    EQIC360A0117.000
         EXT       SS.TRUN         ENHANCED TRUNCATE            ETRN361 0118.000
*                                                                       0119.000
*    EXTERNAL DEFINITIONS                                               0120.000
*                                                                       0121.000
*                                                                       0122.000
         DEF       S.SET           STATE TABLE FOR THE COMMAND          0123.000
         DEF       A.DEFLT         ACTION ROUTINE FOR SET COMMAND       0124.000
         DEF       A.CLEAR         ACTION ROUTINE FOR CLEAR COMMAND     0125.000
         SPACE                                                          0126.000
         SPACE                                                          0127.000
*                                                                       0128.000
*    SYSTEM MACRO CALLS FOR DEFINITIONS AND EQUATES:                    0129.000
*                                                                       0130.000
         LIST      NOMAC                                                0131.000
         M.REQS                    REGISTER EQUATES                     0132.000
         M.FCB.                    FCB EQUATES                  EQIC360A0133.000
*                                                                       0134.000
*    LOCAL DEFINITIONS:                                                 0135.000
*                                                                       0136.000
         STINIT                    TPARSE DEFINITIONS AND INIT          0137.000
*                                                                       0138.000
*    LOCAL STORAGE:                                                     0139.000
*                  BEWARE OF USING LOCAL STORAGE.  IF LOCAL STORAGE IS  0140.000
*                  NECESSARY, CHANGE THE CSECT DIRECTIVE AT BEGINNING OF0141.000
*                  MODULE TO DSECT, AND ADD A CSECT DIRECTIVE AFTER ANY 0142.000
*                  LOCAL DATA AREAS.                                    0143.000
*                                                                       0144.000
*                                                                       0145.000
         TITLE     'SET' FUP COMMAND                                    0146.000
*                                                                       0147.000
*                                                                       0148.000
*        ACTION ROUTINE TO SET CURRENT OPTION BLOCK TO BE THE           0149.000
*        DEFAULT OPTION BLOCK                                           0150.000
*                                                                       0151.000
A.DEFLT  EQU       $               SET POINTER TO DEAULT OPTION BLOCK   0152.000
         PUSH                      SAVE REGISTERS                       0153.000
         LA        R4,DOBLOCK      GET DEFAULT OPTION BLOCK ADDRESS     0154.000
         STW       R4,COBADDR      SAVE IN CURRENT OPT. BLOCK ADDRESS   0155.000
         POP                       RESTORE REGISTERS                    0156.000
         TRSW      R0              RETURN                               0157.000
         TITLE     SET COMMAND STATE TABLES                             0158.000
         BOUND     1W                                                   0159.000
*++                                                                     0160.000
* S.SET - STATE TABLES FOR THE SET COMMAND                              0161.000
*                                                                       0162.000
* COMMAND SYNTAX:                                                       0163.000
*                                                                       0164.000
*        SET OPTION [OPTION ...]                                        0165.000
*                                                                       0166.000
* OPTIONS:                                                              0167.000
*                                                                       0168.000
*        SIZE=N                                                         0169.000
*        AUTOEXT=BOOL                                                   0170.000
*        BRIEF=BOOL                                                     0171.000
*        CONFIRM=BOOL                                                   0172.000
*        CONTIGUOUS=BOOL                                                0173.000
*        EOFM=BOOL                                                      0174.000
*        FAST=BOOL                                                      0175.000
*        LISTING=NAME                                                   0176.000
*        MANEXT=BOOL                                                    0177.000
*        MAXINC=N                                                       0178.000
*        MAXSIZE=N                                                      0179.000
*        MEMCLASS=CLASS                                                 0180.000
*        MININC=N                                                       0181.000
*        NEWENT=BOOL                                                    0182.000
*        NOSAVE=BOOL                                                    0183.000
*        OWNER=NAME                                                     0184.000
*        PROJECT=NAME                                                   0185.000
*        REPLACE=BOOL                                                   0186.000
*        SHARED=BOOL                                                    0187.000
*        START=N                                                        0188.000
*        ZERO=BOOL                                                      0189.000
*        SEOF=BOOL                                              EQIC360 0190.000
*--                                                                     0191.000
         SPACE                                                          0192.000
S.SET    STATE                  STATE TABLE FOR SET                     0193.000
           TRAN    NOBLNK,A.DEFLT                                       0194.000
S.SET1   STATE                                                          0195.000
           TRAN    TSTEXP,,S.SET2,SS.KWSYN                              0196.000
           TRAN    EOS,,EXIT                                            0197.000
           ERRVAL  REQKEY                                               0198.000
S.SET2   STATE                                                          0199.000
           TRAN    SUBEXP,,S.SET1,S.SETOPT,NOB.M                        0200.000
           ERRVAL  INVKEY                                               0201.000
         STATE                                                          0202.000
*                                                                       0203.000
S.SETOPT STATE                                                          0204.000
           TRAN    KEYWD,,,K.SETOPT,NOB.M                               0205.000
           TRAN    NOBLNK,,SS.TIMOP                                     0206.000
         STATE                                                          0207.000
*                                                                       0208.000
K.SETOPT EQU       $                                                    0209.000
         KEYWRD    SIZE,,SS.ALLO,3                             ECKW-34  0210.000
         KEYWRD    AUTOEXT,,SS.AUTO,3                  !32B01  ECKW-34  0211.000
         KEYWRD    BRIEF,,SS.BRIE,3                    !32B01  ECKW-34  0212.000
         KEYWRD    CONFIRM,,SS.CONF,4                          ! 32B01  0213.000
         KEYWRD    CONTIGUOUS,,SS.CONT,4                       ! 32B01  0214.000
         KEYWRD    EOFM,,SS.RAND,3                             ECKW-34  0215.000
         KEYWRD    FAST,,SS.FAST,3                             ECKW-34  0216.000
         KEYWRD    LISTING,,SS.LIST,3                  !32B01  ECKW-34  0217.000
         KEYWRD    MANEXT,,SS.MANE,3                   !32B01  ECKW-34  0218.000
         KEYWRD    MAXINC,,SS.INCR,4                           ! 32B01  0219.000
         KEYWRD    MAXSIZE,,SS.MAXS,4                          ! 32B01  0220.000
         KEYWRD    MEMCLASS,,SS.MEMC,3                  !32B01 ECKW-34  0221.000
         KEYWRD    MININC,,SS.MINI,3                    !32B01 ECKW-34  0222.000
         KEYWRD    NEWEST,,SS.NEWE,3                    !32B01 ECKW-34  0223.000
         KEYWRD    NOSAVE,,SS.NOSA,3                    !32B01 ECKW-34  0224.000
         KEYWRD    OWNER,,SS.OWNE,3                     !32B01 ECKW-34  0225.000
         KEYWRD    PROJECTGROUP,,SS.USER,3              !32B01 ECKW-34  0226.000
         KEYWRD    REPLACE,,SS.REPL,3                   !32B01 ECKW-34  0227.000
         KEYWRD    SHARED,,SS.SHAR,3                    !32B01 ECKW-34  0228.000
         KEYWRD    START,,SS.STAR,3                     !32B01 ECKW-34  0229.000
         KEYWRD    ZERO,,SS.ZERO,3                      !32B01 ECKW-34  0230.000
         KEYWRD    SEOF,,SS.SEOF,3                              EQIC360 0231.000
         KEYWRD    TRUNC_AU,,SS.TRUN,3                          ETRN361 0232.000
         DATAW     0                                                    0233.000
         STATE                                                          0234.000
         SPACE     2                                                    0235.000
         TITLE     'CLEAR' FUP COMMAND                                  0236.000
         BOUND     1W                                                   0237.000
*                                                                       0238.000
*                                                                       0239.000
*        THIS ROUTINE CLEARS THE DEFAULT OPTIONS WHEN A                 0240.000
*        CLEAR COMMAND IS ISSUED.                                       0241.000
*                                                                       0242.000
         SPACE                                                          0243.000
A.CLEAR  EQU       $                                                    0244.000
         PUSH                                                           0245.000
         ZR        R7              WILL CONTAIN SEOF FLAG       EQIC360A0246.000
         LA        R3,DOBLOCK      DEFAULT OPTION BLOCK         EQIC360A0247.000
         TBM       OPT.B.SE,OPT.FLGS,X3 SOFT EOF SET NOW?       EQIC360A0248.000
         BNS       A.CLE0          NO - CONTINUE                EQIC360A0249.000
         LA        R2,TAPFCB       GET ADDR OF TAPE FCB         EQIC360A0250.000
         TBM       BOM,FCB.SFLG,X2 AT BOT?                      EQIC360A0251.000
         BS        A.CLE0          YES-WE CAN CLEAR SEOF MODE   EQIC360A0252.000
         TBM       TPMVFLAG,FLAGBITS HAVE WE MOVED THE TAPE?    EQIC360A0253.000
         BS        SEOFERR         YES - CANNOT CHANGE SEOF     EQIC360A0254.000
         TBM       SAVEFLAG,FLAGBITS HAVE WE SAVED ANYTHING YET EQIC360A0255.000
         BNS       A.CLE0          NO - GO EXECUTE CHANGE       EQIC360A0256.000
SEOFERR  CEQU      $               INVALID SEOF CHANGE          EQIC360A0257.000
         SBR       R7,0            FLAG TO SET OPT.B.SE AGAIN   EQIC360A0258.000
A.CLE0   CEQU      $                                            EQIC360A0259.000
         ZR        R2              DEFAULT OPT BLOCK INDEX              0260.000
         LI        R4,OPT.LEN      DEFAULT OPT BLOCK LENGH              0261.000
         TRN       R4,R4           NEGATIVE LENGHT                      0262.000
*                                                                       0263.000
A.CLE1   ZMD       DOBLOCK,R2      CLEAR DW IN DEFAULT OPT BLK          0264.000
         ADI       R2,1D           INCREASE INDEX BY 1D                 0265.000
         BID       R4,A.CLE1       DO UNTIL BLOCK CLEARED               0266.000
         ZBR       R7,0            NEED TO SET OPT.B.SE?        EQIC360A0267.000
         BNS       A.CLE2          NO - CONTINUE                EQIC360A0268.000
         LA        R2,SEOFMSG      ERROR MESSAGE                EQIC360A0269.000
         BL        FORMATOT        OUTPUT MESSAGE               EQIC360A0270.000
         SBM       OPT.B.SE,OPT.FLGS,X3 SET IT AGAIN            EQIC360A0271.000
A.CLE2   CEQU      $                                            EQIC360A0272.000
*                                                                       0273.000
         BL        SETDFBLK        SETUP DEFAULTS IN DOBLOCK            0274.000
*                                                                       0275.000
         POP                                                            0276.000
         TRSW      R0              RETURN                               0277.000
END      END                                                            0278.000
