*AUDIT TRAIL ROUTINES                                   HEADER  FUPAUD  0001.000
         M.PGM     FUP.AUD,MPX-32,3.6.1,03                              0002.000
         SPACE                                                          0003.000
         DSECT                                                          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
*    FUNCTIONAL DESCRIPTION:                                            0027.000
*                                                                       0028.000
*        THESE ROUTINES HANDLE AUDIT TRAILS FOR ALL OF THE              0029.000
*        COMMAND PROCESSING ROUTINES.                                   0030.000
*                                                                       0031.000
*********************************************************************   0032.000
*                                                                   *   0033.000
*        HISTORY OF VOLUME MANAGER     MPX 3.6.1                    *   0034.000
*                                                                   *   0035.000
*********************************************************************   0036.000
*                                                                       0037.000
*        VOLMGR REV 3.6.1.03 BL 7                               ETRN361 0038.000
*                                                               ETRN361 0039.000
*        MODULES: FUPMAN (REV 3.6.1.01)                         ETRN361 0040.000
*                 FUPSET (REV 3.6.1.01)                         ETRN361 0041.000
*                 FUPCPY (REV 3.6.1.01)                         ETRN361 0042.000
*                 FUPTRN (REV 3.6.1.01)                         ETRN361 0043.000
*                 FUPRSD (REV 3.6.1.01)                         ETRN361 0044.000
*                 SJ.VPRE(REV 3.6.1.01)                         ETRN361 0045.000
*                 SH.VOMM(REV 3.6.1.03)                         ETRN361 0046.000
*                 SM.MPXMC(REV 3.6.1.08)                        ETRN361 0047.000
*                                                               ETRN361 0048.000
*        ETRN361  07/13/94  11464 ADDED SUPPORT FOR ENHANCED    ETRN361 0049.000
*                 TRUNCATE OPTION.                              ETRN361 0050.000
*                                                                       0051.000
*        VOLMGR REV 3.6.1.02   BL02                             S920607B0052.000
*        MODULES: FUPUTL (REV 3.6.1.01)                         S920607B0053.000
*                 FUPRES (REV 3.6.1.01)                         S920607B0054.000
*        S920607B  12/21/93 10833  CORRECT CONDITION CODE ON    S920607B0055.000
*                  ERROR EXIT FROM BUILDRCB ROUTINE IN FUPUTL;  S920607B0056.000
*                  TEST CC1 ON RETURN FROM BL TO BUILDRCB IN    S920607B0057.000
*                  FUPRES.                                      S920607B0058.000
*                                                                       0059.000
*        VOLMGR REV 3.6.1.01 BL2                                S890993 0060.000
*        MODULES: FUPLOG (REV 3.6.0.01)                         S890993 0061.000
*        S890993   12/07/93  11464  SKIP FILES THAT HAVE BEEN   S890993 0062.000
*                  DELETED DURING A WILDCARD LOG OF A DIRECTORY S890993 0063.000
*                                                                       0064.000
*********************************************************************   0065.000
*                                                                   *   0066.000
*        HISTORY OF VOLUME MANAGER     MPX 3.6.0                    *   0067.000
*                                                                   *   0068.000
*********************************************************************   0069.000
*        VOLMGR REV 3.6.0.13   BL11                             S920607A0070.000
*        MODULES: FUPUTL (REV 3.6.0.02)                         S920607A0071.000
*        S920607A  08/27/93 10833 IN VERIFYING THE SOLUTION     S920607A0072.000
*                  FOR THIS SPR, IT WAS DETERMINED THAT THE     S920607A0073.000
*                  FIX WAS INCOMPLETE; THEREFORE THE FIX WAS    S920607A0074.000
*                  REMOVED.                                     S920607A0075.000
*                                                                       0076.000
*        VOLMGR REV 3.6.0.12   BL11                             EQIC360E0077.000
*        MODULES: FUPLOG (REV 3.6.0.04)                         EQIC360E0078.000
*        MODULES: FUPRSD (REV 3.6.0.06)                         EQIC360E0079.000
*        MODULES: FUPGBL (REV 3.6.0.03)                         EQIC360E0080.000
*        08/25/93  10833  DO NOT ISSUE WARNING MESSAGE IF       EQIC360E0081.000
*                  IDIRSEOF IS SET BUT OPT.B.SE IS NOT SET;     EQIC360E0082.000
*                  CHANGE WARNING MESSAGE IN CASE WHERE         EQIC360E0083.000
*                  IDIRSEOF IS NOT SET BUT OPT.B.SE IS SET.     EQIC360E0084.000
*        MODULES: FUPMAN (REV 3.6.0.05)                         EQIC360E0085.000
*        MODULES: FUPSET (REV 3.6.0.02)                         EQIC360E0086.000
*        08/19/93  10833  DO NOT CLEAR OPT.B.SE IF NOT AT BOT.  EQIC360E0087.000
*                                                                       0088.000
*        VOLMGR REV 3.6.0.11   BL09                             EQIC360D0089.000
*        MODULES: FUPMAN (REV 3.6.0.04)                         EQIC360D0090.000
*        08/04/93  10833  SAVE ORIGINAL TAPE UDT ADDRESS.       EQIC360D0091.000
*                                                                       0092.000
*        VOLMGR REV 3.6.0.10   BL09                             S920607 0093.000
*        MODULES: FUPUTL (REV 3.6.0.01)                         S920607 0094.000
*        07/30/93  10833  CORRECT CONDITION CODE ERROR          S920607 0095.000
*                  INDICATOR (CC1).                             S920607 0096.000
*                                                                       0097.000
*        VOLMGR REV 3.6.0.09   BL09                             CP12522 0098.000
*        MODULES: FUPRSD (REV 3.6.0.05)                         CP12522 0099.000
*        07/29/93  10833  CORRECT INDEX REGISTER FOR SEOF CHECK CP12522 0100.000
*                                                                       0101.000
*        MODULES: FUPLOG (REV 3.6.0.03)                         EQIC360C0102.000
*        07/29/93  10833  RESTORE FCB ADDRESS IN INDEX REGISTER EQIC360C0103.000
*                  AFTER SOFT EOF CHECK.                        EQIC360C0104.000
*                                                                       0105.000
*        VOLMGR REV 3.6.0.08   BL06                             EQIC360B0106.000
*        MODULES: FUPMAN (REV 3.6.0.04)                         EQIC360B0107.000
*        06/07/93  10833  ALLOW APPEND TO END OF TAPE AFTER EOT EQIC360B0108.000
*                  HAS BEEN WRITTEN.                            EQIC360B0109.000
*                                                                       0110.000
*        VOLMGR REV 3.6.0.07   BL04                             S920696 0111.000
*        MODULES: FUPRSD (REV 3.6.0.04)                         S920696 0112.000
*                 FUPLOG (REV 3.6.0.02)                         S920696 0113.000
*        04/21/93  10833  CORRECT ERROR PATH FOR FIRST EOF ON   S920696 0114.000
*                  MAG TAPE LOG IMAGE AND RESTORE IMAGE.        S920696 0115.000
*                                                                       0116.000
*        VOLMGR REV 3.6.0.06   BL04                             CP12500 0117.000
*        MODULES: FUPRSD (REV 3.6.0.03)                         CP12500 0118.000
*        04/05/93  10833  ADD MISSING INDEX REGISTER TO SET     CP12500 0119.000
*                  SOFT EOF IF CHANGING TAPE AT MOUNT.          CP12500 0120.000
*                                                                       0121.000
*        VOLMGR REV 3.6.0.05   BL03                             EQIC360A0122.000
*        MODULES: FUPMAN (REV 3.6.0.02)                         EQIC360A0123.000
*                 FUPRSD (REV 3.6.0.02)                         EQIC360A0124.000
*                 FUPSAV (REV 3.6.0.03)                         EQIC360A0125.000
*                 FUPGBL (REV 3.6.0.02)                         EQIC360A0126.000
*                                                               EQIC360A0127.000
*        03/10/93  10833  DO NOT FORCE SOFT EOF MANAGEMENT FOR  EQIC360A0128.000
*                  QIC DRIVES; IF A DIFFERENT DEVICE IS         EQIC360A0129.000
*                  SPECIFIED DURING THE TAPE OPEN, SET UP THE   EQIC360A0130.000
*                  DEFAULTS FOR THE NEW DRIVE.                  EQIC360A0131.000
*                                                                       0132.000
*                  TEST IF ABORT.F WAS SET SO VO01 WILL         CP12491 0133.000
*                  BE CORRECTLY ISSUED.                         CP12491 0134.000
*                                                                       0135.000
*        VOLMGR REV 3.6.0.04   BL03                             S881599A0136.000
*        MODULES: FUPSAV (REV 3.6.0.02)                         S881599A0137.000
*                 SJ.VPRE(REV 3.6.0.02)                         S881599A0138.000
*                                                               S881599A0139.000
*        03/04/93 10833 OUTPUT MESSAGE AFTER NEW TAPE HAS BEEN  S881599A0140.000
*                 MOUNTED.                                      S881599A0141.000
*                                                                       0142.000
*        VOLMGR REV 3.6.0.03   BL03                             EQIC360 0143.000
*        MODULES: FUPHLP (REV 3.6.0.01)                         EQIC360 0144.000
*                                                               EQIC360 0145.000
*        03/01/93 10833 ADD VOLMGR HELP FOR SEOF=Y.             EQIC360 0146.000
*                                                                       0147.000
*        VOLMGR REV 3.6.0.02   BL02                             EQIC360 0148.000
*        MODULES: FUPLOG (REV 3.6.0.01)                         EQIC360 0149.000
*                 FUPMAN (REV 3.6.0.01)                         EQIC360 0150.000
*                 FUPRSD (REV 3.6.0.01)                         EQIC360 0151.000
*                 FUPSAV (REV 3.6.0.01)                         EQIC360 0152.000
*                 FUPSET (REV 3.6.0.01)                         EQIC360 0153.000
*                 FUPSYS (REV 3.6.0.01)                         EQIC360 0154.000
*                 FUPTAP (REV 3.6.0.01)                         EQIC360 0155.000
*                 FUPGBL (REV 3.6.0.01)                         EQIC360 0156.000
*                 SJ.VPRE(REV 3.6.0.01)                         EQIC360 0157.000
*                                                               EQIC360 0158.000
*        02/08/93 10833 ADD SCSI QIC SUPPORT                    EQIC360 0159.000
*                                                                       0160.000
*        MODULES: FUPMAN (REV 3.6.0.01)                         S881599 0161.000
*                 FUPSAV (REV 3.6.0.01)                         S881599 0162.000
*                 SJ.VPRE(REV 3.6.0.01)                         S881599 0163.000
*                                                               S881599 0164.000
*        02/23/93 10833 IF MULTIVOLUME TAPE, WRITE MESSAGE TO   S881599 0165.000
*                 SLO WHEN A NEW TAPE IS MOUNTED.               S881599 0166.000
*                                                                       0167.000
*        VOLMGR REV 3.6.0.01   BL01                             EGEN360 0168.000
*        MODULES: FUPAUD (REV 3.6.0.01)                         EGEN360 0169.000
*                                                               EGEN360 0170.000
*        02/04/93  10833 CHANGE BANNER TO REVISION 3.6.0.       EGEN360 0171.000
*********************************************************************   0172.000
*                                                                   *   0173.000
*        HISTORY OF VOLUME MANAGER     MPX 3.5U02A                  *   0174.000
*                                                                   *   0175.000
*********************************************************************   0176.000
*        VOLMGR REV 3.5U02A.09 BL8                              CP12394A0177.000
*        MODULES: FUPMAN (REV 3.5U02A.04)                               0178.000
*                 FUPAUD (REV 3.5U02A.09)                               0179.000
*                 FUPRSD (REV 3.5U02A.02)                               0180.000
*                                                               CP12394A0181.000
*        09/09/92  10833 CODE TO CHANGE "SYSTEM" DIRECTORY      CP12394A0182.000
*                  NAME TO NODEDIR IF EXPLICIT "SYSTEM" VOLUME  CP12394A0183.000
*                  ON NO SYSTEM VOLUME NODE ON RMSS3.1 AND      CP12394A0184.000
*                  LATER WERE MOVED TO FUPMAN WHERE PROTOTYPE   CP12394A0185.000
*                  ENTRIES ARE FIRST MADE.  CHANGES FOR         CP12394A0186.000
*                  @SYSTEM(SYSTEM)PATHNAMES IN MODULES          CP12394A0187.000
*                  FUPAUD AND FUPRSD (EXCEPT FOR "RESTORE       CP12394A0188.000
*                  VOLUME=SYSTEM") HAVE BEEN REMOVED.           CP12394A0189.000
*                                                                       0190.000
*        VOLMGR REV 3.5U02A.08 BL7.1                            CP12394 0191.000
*        MODULES: FUPAUD (REV 3.5U02A.08)                               0192.000
*                                                                       0193.000
*        08/28/92  10833 CHANGE "SYSTEM" DIRECTORY NAME TO      CP12394 0194.000
*                  NODEDIR IF EXPLICIT "SYSTEM" VOLUME ON NO    CP12394 0195.000
*                  SYSTEM VOLUME NODE ON RMSS3.1 AND LATER.     CP12394 0196.000
*                                                                       0197.000
*        VOLMGR REV 3.5U02A.07 BL7                              E3RMS35C0198.000
*        MODULES: FUPRSD (REV 3.5U02A.01)                               0199.000
*                                                                       0200.000
*        08/18/92  10833 RESTORE COMMAND MODIFIED TO CORRECTLY  E3RMS35C0201.000
*                  SUBSTITUTE NODEDIR NAME FOR "TO" DIRECTORY   E3RMS35C0202.000
*                  OF "SYSTEM" ON A NO SYSTEM VOLUME NODE.      E3RMS35C0203.000
*                                                                       0204.000
*        VOLMGR REV 3.5U02A.06 BL7             CP12311B,CP12364,E3RMS35B0205.000
*        MODULES: FUPMAN (REV 3.5U02A.03)                               0206.000
*                 FUPRES (REV 3.5U02A.05)                               0207.000
*                                                                       0208.000
*        08/06/92  10833 USE MV.REMR TO TEST FOR REMOTE VOLUMES CP12311B0209.000
*                                                                       0210.000
*                  USE M.LOGMVT ONLY IF MPX3.5U02A OR LATER     CP12364 0211.000
*                                                                       0212.000
*                  USE REAL SYSTEM DIRECTORY NAME IF IT IS      E3RMS35B0213.000
*                  NODEDIR.                                     E3RMS35B0214.000
*                                                                       0215.000
*        VOLMGR REV 3.5U02A.05 BL5                              CP12311A0216.000
*        MODULES: SJ.VPRE(REV 3.5U02A.01)                       CP12311A0217.000
*                 FUPRES (REV 3.5U02A.04)                       CP12311A0218.000
*        06/19/92 11464 CODE WAS CHANGED TO SUPPORT REMOTE      CP12311A0219.000
*                 DISKS.                                        CP12311A0220.000
*                                                                       0221.000
*        VOLMGR REV 3.5U02A.04 BL5                              CP12311 0222.000
*        MODULES: FUPUTL (REV 3.5U02A.02)                       CP12311 0223.000
*                 FUPRES (REV 3.5U02A.03)                       CP12311 0224.000
*        06/19/92 11464 CODE WAS CHANGED TO SUPPORT REMOTE      CP12311 0225.000
*                 DISKS.                                        CP12311 0226.000
*                                                                       0227.000
************************************************************************0228.000
*                                                                       0229.000
*        VOLMGR REV 3.5U02A.03 BL4                              E3RMS35B0230.000
*        MODULES: FUPUTL (REV 3.5U02A.01)                       E3RMS35B0231.000
*                 FUPRES (REV 3.5U02A.02)                       E3RMS35B0232.000
*                 F_GETWFS (REV 3.5U02A.01)                     E3RMS35B0233.000
*                 F_OPSQ (REV 3.5U02A.01)                       E3RMS35B0234.000
*                 C_RDSQM (REV 3.5U02A.01)                      E3RMS35B0235.000
*                 C-WRSQ (REV 3.5U02A.01)                       E3RMS35B0236.000
*        ENHANCEMENT: E3RMS35B                                  E3RMS35B0237.000
*                                                               E3RMS35B0238.000
*        06/09/92 11464 CODE IS CHANGED TO SUPPORT WILD CARDS   E3RMS35B0239.000
*                 ON RMSS NODES                                 E3RMS35B0240.000
*                                                                       0241.000
************************************************************************0242.000
*                                                                       0243.000
*        VOLMGR REV 3.5U02A.02 BL4                              E3RMS35A0244.000
*                                                                       0245.000
*        MODULES: FUPMAN (REV 3.5U02A.02)                       E3RMS35A0246.000
*        ENHANCEMENT: E3RMS35A                                  E3RMS35A0247.000
*                                                               E3RMS35A0248.000
*        06/01/92 10833 CODE IS CHANGED IN MODULE FUPMAN TO     E3RMS35A0249.000
*                 USE THE SVC M.LOGMVT TO FIND THE DEFAULT      E3RMS35A0250.000
*                 SYSTEM VOLUME NAME.                           E3RMS35A0251.000
**********************************************************************  0252.000
*                                                                       0253.000
*        VOLMGR REV 3.5U02A.01 BL3                              E3RMS35 0254.000
*        MODULES: FUPRES (REV 3.5U02A.01)                       E3RMS35 0255.000
*                 FUPGBL (REV 3.5U02A.01)                       E3RMS35 0256.000
*                 FUPMAN (REV 3.5U02A.01)                       E3RMS35 0257.000
*                 SJ.VPRE                                       E3RMS35 0258.000
*        ENHANCEMENT: E3RMS35                                   E3RMS35 0259.000
*                                                               E3RMS35 0260.000
*        05/15/90 10833 CODE IS CHANGED IN MODULES FUPRES,      E3RMS35 0261.000
*                 FUPGBL, AND FUPMAN TO USE THE SVC M.LOGMVT    E3RMS35 0262.000
*                 (H.REMM,32 - SVC 2,X'4D') TO CONSTRUCT THE    E3RMS35 0263.000
*                 VOLUME NAME LIST.  THIS WILL FIND ALL THE     E3RMS35 0264.000
*                 VOLUMES ON THE LOCAL SYSTEM AS WELL AS THE    E3RMS35 0265.000
*                 VOLUMES ON ANY HOST NODE(S) ON AN RMSS3.1     E3RMS35 0266.000
*                 SYSTEM.  ALSO,  IF ON A NODE WITH NO SYSTEM   E3RMS35 0267.000
*                 VOLUME, ABORT WITH ERROR MESSAGE IF USER      E3RMS35 0268.000
*                 ASKS FOR "SYSTEM" VOLUME IN A "RESTORE"       E3RMS35 0269.000
*                 COMMAND (UNDEFINED IN THIS CONTEXT).          E3RMS35 0270.000
**********************************************************************  0271.000
         SPACE                                                          0272.000
*    EXTERNAL REFERENCES:                                               0273.000
*                                                                       0274.000
         EXT       FORMATOT        TO OUTPUT A LINE                     0275.000
         EXT       STACKPTR                                             0276.000
         EXT       RD1.BUF         HOLDS RD ON ENTRY                    0277.000
         EXT       FUN.SAVE        HOLDS ADDRESS OF FUNCTION STRING     0278.000
         EXT       GETPATH         TO GET SIGNIFICANT PART OF NAME      0279.000
         EXT       LINEBUFR        TO FORMAT LINE                       0280.000
         EXT       LINELNGH        TO FORMAT LINE                       0281.000
         EXT       FORMATST        TO FORMAT LINE                       0282.000
         EXT       LOGFCB          FCB FOR LOG FILE                     0283.000
         EXT       WSEQ            WRITE SEQUENTIAL ROUTINE             0284.000
         EXT       COPYSTRG        COPY A BYTE STRING                   0285.000
*        EXT       FLAGBITS        INTERNAL FLAGS       CP12394 CP12394A0286.000
*        EXT       SYSTEM          "SYSTEM" PATHNAME    CP12394 CP12394A0287.000
*        EXT       BLANKS          DOUBLEWORD OF BLANKS CP12394 CP12394A0288.000
*        EXT       SDIR            "REAL" SYSTEM NAME ( CP12394 CP12394A0289.000
*                                                                       0290.000
*    EXTERNAL DEFINITIONS                                               0291.000
*                                                                       0292.000
         DEF       AUDIT0          ENTRY POINT FOR CREATE TYPE COMMANDS 0293.000
         DEF       AUDIT1          ENTRY POINT FOR TAPE COMANDS         0294.000
         DEF       AUDIT2          ENTRY POINT TO PRINT GENERAL MESSAGE 0295.000
         DEF       AUDIT3          ENTRY POINT FOR COPY TYPE COMMANDS   0296.000
         DEF       AUDLOGIM        ENTRY POINT TO PRINT LOG IMAGE       0297.000
         DEF       HEADER          PAGE HEADINGS                        0298.000
         DEF       AUDLOGVO        ENTRY FOR LOG VOLUME                 0299.000
         DEF       AUDLOGSV        ENTRY FOR SAVEFILE LOG               0300.000
         DEF       AUDLOGRE        ENTRY FOR LOG RESOURCE               0301.000
*                                                                       0302.000
*    SYSTEM MACRO CALLS FOR REGISTER EQUATES                            0303.000
*                                                                       0304.000
         LIST      NOMAC                                                0305.000
         M.REQS                                                         0306.000
         M.RDCOM   RD                                                   0307.000
         M.RDSPD   RD                                                   0308.000
         M.DI.DEQ                                                       0309.000
         M.ME.DEQ                                                       0310.000
         M.COMM.                                                        0311.000
*                                                                       0312.000
* LOCAL DATA DECLARATIONS                                               0313.000
*                                                                       0314.000
         BOUND     1D                                                   0315.000
INFO.BLK RES       10W             VARIABLE INFORMATION BLOCK           0316.000
*                                                                       0317.000
ROOT2D   DATAD     C'^               '                                  0318.000
*                                                                       0319.000
ASCII.D  RES       1D              ASCII DATE BUFFER                    0320.000
ASCII.T  RES       1D              ASCII TIME BUFFER                    0321.000
PROTADDR RES       1W              TO HOLD PROTOTYPE ADDRESS            0322.000
DIRFLAG  DATAB     0               DIRECTORY FLAG                       0323.000
ACC.WORK DATAB     C'                    ',0      WORKING COPY          0324.000
*                                                                       0325.000
         SPACE                                                          0326.000
*                                                                       0327.000
*  THE FOLLOWIND IS 'PURE' DATA, AND IS THEREFORE INCLUDED IN TH CSECT  0328.000
*                                                                       0329.000
         CSECT                                                          0330.000
         SPACE                                                          0331.000
FORM.D   GEN       8/8,24/A(ASCII.D)     FORM FOR DATE PRINTOUT         0332.000
FORM.T   GEN       8/8,24/A(ASCII.T)     FORM FOR TIME PRINTOUT         0333.000
*                                                                       0334.000
STATIC   DATAW     C'STATIC  '                                          0335.000
DYNAMIC  DATAW     C'DYNAMIC '                                          0336.000
STATPART GEN       8/8,24/A(STATIC)                                     0337.000
DYNAPART GEN       8/8,24/A(DYNAMIC)                                    0338.000
*                                                                       0339.000
XNO      DATAW     C'NO  '                                              0340.000
XAUTO    DATAW     C'AUTO'                                              0341.000
XMANU    DATAW     C'MANU'                                              0342.000
XBOTH    DATAW     C'BOTH'                                              0343.000
*                                                                       0344.000
EXTYPE   GEN       8/4,24/A(XNO)                                        0345.000
         GEN       8/4,24/A(XAUTO)                                      0346.000
         GEN       8/4,24/A(XMANU)                                      0347.000
         GEN       8/4,24/A(XBOTH)                                      0348.000
*                                                                       0349.000
*                                                                       0350.000
F.MASK   DATAW     X'02000000'                                          0351.000
SZ.MASK  DATAW     X'10000000'     SIZE OF NAME (16B)                   0352.000
*                                                                       0353.000
LFCTAP   DATAW     C'TAP)'         TAPE MOVEMENT                        0354.000
*DR1     DATAB     C'-%21^*** V O L U M E   M A N A G E R  3.5U02A.'    0355.000
*DR1     DATAB     C'-%21^*** V O L U M E   M A N A G E R  3.6.0.'      0356.000
HDR1     DATAB     C'-%21^*** V O L U M E   M A N A G E R  3.6.1.'      0357.000
         DATAB     C'03 ***',0                                          0358.000
*                                                                       0359.000
*                                                                       0360.000
YES      DATAB     C'Y',0                                               0361.000
NO       DATAB     C'N',0                                               0362.000
*                                                                       0363.000
ZERO.A   EQU       X'30'           ASCII ZERO                           0364.000
DASH.A   DATAB     X'2D',0         DASH '-' IN ASCII                    0365.000
BLANK.A  DATAB     X'20',0         BLANK ' ' IN ASCII                   0366.000
SLASH.A  DATAB     X'2F',0         SLASH '/' IN ASCII                   0367.000
COLON.A  DATAB     X'3A',0         COLON ':' IN ASCII                   0368.000
*                                                                       0369.000
ROOT.A   DATAW     C'^   '         ROOT SYMBOL '^'                      0370.000
ROOTDIR  DATAW     C'ROOT'         IT'S RD FOR ROOT DIRECTORY   S860445 0371.000
*                                                                       0372.000
* STRINGS FOR ACCESS RIGHTS PRINTING                                    0373.000
*                                                                       0374.000
ACC.MAST DATAB     C'R,W,M,U,A,D,T,AE,DE ',0      ACCESS TEMPLATE       0375.000
ACC.SIZE EQU       20B                                                  0376.000
*                                                                       0377.000
* FORMAT STRING FOR VARIABLE INFORMATION                                0378.000
*                                                                       0379.000
INFO.00  DATAB     C'0%Z @%C(%C)%C',0                                   0380.000
INFO.00D DATAB     C'0%Z @%C%C%C',0                                     0381.000
INFO.01  DATAB     C' %16^RID=%C,%X,%X,%X,%X',0                         0382.000
INFO.012 DATAB     C' %16^CREATED BY: %C ON: %C %C',0                   0383.000
INFO.013 DATAB     C' %16^CREATED BY: %C ON: %C %C, BLOCKED=%Z',0       0384.000
INFO.014 DATAB     C' %16^LAST SAVE= %2A %2A, LAST RESTORE= %C %C',0    0385.000
INFO.015 DATAB     C' %16^LAST ACCESSED BY: %C ON: %C %C',0     ELAC-35 0386.000
*NFO.016 DATAB     C' %16^LAST CHANGED BY: %C ON: %C %C',0      CP11418 0387.000
INFO.016 DATAB     C' %16^LAST CHANGED  BY: %C ON: %C %C',0     CP11418 0388.000
INFO.02  DATAB     C' %16^TYPE=%L2X, SHARE=%Z, SAVE=%Z, EOFM=%Z,'       0389.000
         DATAB     C' ZERO=%Z, SIZE=%L8N',0                             0390.000
INFO.02D DATAB     C' %16^TYPE=%L2X, SHARABLE=%Z, EOFM=%Z, SIZE=%L8N',0 0391.000
INFO.021 DATAB     C' %16^PART TYPE=%C ,MEM CLASS=%Z ,SHARABLE=%Z',0    0392.000
INFO.022 DATAB     C' %16^TYPE=%L2X, FIRST PAGE=%L5N, LENGTH IN PAGES'  0393.000
         DATAB     C' =%L5N',0                                          0394.000
INFO.03  DATAB     C' %16^EXTEND=%C, MAXINC=%L5N, MININC=%L5N,'         0395.000
         DATAB     C' MAXSIZ=%L5N',0                                    0396.000
INFO.035 DATAB     C' %16^SEGMENTS=%L5N, EOF BLOCK=%L6N,'               0397.000
         DATAB     C' EOM BLOCK=%L6N',0                                 0398.000
INFO.04  DATAB     C' %16^ACCESS: OWNER   - %C - %Z',0                  0399.000
INFO.05  DATAB     C' %24^PROJECT - %C - %Z',0                          0400.000
INFO.06  DATAB     C' %24^OTHERS             - %Z',0                    0401.000
INFO.07  DATAB     C' %16^TOTAL ENTRIES=%L5N, ACTIVE=%L5N,'             0402.000
         DATAB     C' AVAILABLE=%L5N',0                                 0403.000
INFO.1   DATAB     C' %Z%A',0                                           0404.000
INFO.2   DATAB     C' %Z',0                                             0405.000
INFO.3   DATAB     C' %Z @%C(%C)%C',0                                   0406.000
INFO.4   DATAB     C' %Z @%C(%C)%C %L10N',0                             0407.000
INFO.41  DATAB     C' %Z @%C %C %C SIZE=%L5N',0                         0408.000
INFO.00R DATAB     C' %Z @%C ^',0  FOR FULL  LOG ROOT DIR       S860445 0409.000
INFO.41R DATAB     C' %Z @%C ^             SIZE=%L5N',0 ROOT    S860445 0410.000
*                                                                       0411.000
* LOCAL EQUATES FOR SETTING UP VARIABLE PARAMETER BLOCK                 0412.000
*                                                                       0413.000
FUNCTION EQU       0               FUNCTION BEING AUDITED               0414.000
LGIM.VOL EQU       1W              VOLUME FOR LOG IIMAGE                0415.000
LGIM.DIR EQU       2W              DIR                                  0416.000
LGIM.FIL EQU       3W              FILE                                 0417.000
LGVO.SIZ EQU       4W              SIZE FOR LOG VOL/SAVEFILE            0418.000
*                                                                       0419.000
RID0     EQU       0W              VOLUME NAME                          0420.000
RID1     EQU       1W              CREATE DATE                          0421.000
RID2     EQU       2W              CREATE TIME                          0422.000
RID3     EQU       3W              BLOCK NUMBER                         0423.000
RID4     EQU       4W              ID FLAGS/TYPE                        0424.000
*                                                                       0425.000
CRDATE   EQU       1W              CREATE DATE                          0426.000
YEAR     EQU       1H              CREATE DATE YEAR                     0427.000
MONTH    EQU       2H              CREATE DATE MONTH                    0428.000
DAY      EQU       3H              CREATE DATE DAY                      0429.000
CRTIME   EQU       2W              CREATE TIME                          0430.000
HOUR     EQU       0H              CREATE TIME HOUR                     0431.000
MINUTE   EQU       1H              CREATE TIME MINUTE                   0432.000
SECOND   EQU       2H              CREATE TIME SECOND                   0433.000
*                                                                       0434.000
BLOCK    EQU       3W              BLOCKED ATTRIBUTE (FILES ONLY)       0435.000
*                                                                       0436.000
OWNR     EQU       0W              OWNER NAME                           0437.000
PGRP     EQU       0W              PROJECTGROUP NAME                    0438.000
*                                                                       0439.000
PARTYPE  EQU       0W              PARTITION TYPE                       0440.000
MEMCLASS EQU       1W              MEMORY CLASS                         0441.000
MEMSHARE EQU       2W              MEMORY SHARABLE                      0442.000
*                                                                       0443.000
FIRSTPAG EQU       1W              FIRST PAGE OF PARTITION              0444.000
LENPAGE  EQU       2W              PARTITION LENGTH IN PAGES            0445.000
*                                                                       0446.000
SAVDATE  EQU       0W              LAST SAVE DATE                       0447.000
SAVTIME  EQU       2W              LAST SAVE TIME                       0448.000
RESDATE  EQU       4W              LAST RESTORE DATE                    0449.000
RESTIME  EQU       5W              LAST RESOTRE TIME                    0450.000
ACCDATE  EQU       1W              LAST ACCESSED DATE           ELAC-35 0451.000
ACCTIME  EQU       2W              LAST ACCESSED TIME           ELAC-35 0452.000
CHGDATE  EQU       1W              LAST CHANGED DATE                    0453.000
CHGTIME  EQU       2W              LAST CHANGED TIME                    0454.000
*                                                                       0455.000
TYPE     EQU       0W              FILE TYPE                            0456.000
SHARE    EQU       1W              SHAREABLE                            0457.000
SAVE     EQU       2W              SAVABLE                              0458.000
EOFM     EQU       3W              EOFM MANAGEMENT                      0459.000
ZERO     EQU       4W              ZERO FILE                            0460.000
SIZE     EQU       5W              FILE SIZE                            0461.000
*                                                                       0462.000
DEOFM    EQU       2W              EOFM FOR DIRECTORY                   0463.000
DSIZE    EQU       3W              DIRECTORY SIZE                       0464.000
*                                                                       0465.000
EXTEND   EQU       0W              EXTENDABLE                           0466.000
MAXX     EQU       1W              MAXIMUM EXTENSION                    0467.000
MINX     EQU       2W              MINIMUM EXTENSION                    0468.000
MAXS     EQU       3W              MAXIMUM FILE SIZE                    0469.000
*                                                                       0470.000
NUMSG    EQU       0W              NUMBER OF SEGMENTS                   0471.000
EOFBL    EQU       1W              EOF BLOCK                            0472.000
EOMBL    EQU       2W              EOM BLOCK                            0473.000
*                                                                       0474.000
ACCESS.R EQU       0B              READ ACCESS OFFSET FOR FILES         0475.000
ACCESS.W EQU       2B              WRITE ACCESS OFFSET FOR FILES        0476.000
ACCESS.M EQU       4B              MODIFY ACCESS OFFSET FOR FILES       0477.000
ACCESS.U EQU       6B              UPDATE ACCESS OFFSET FOR FILES       0478.000
ACCESS.A EQU       8B              APPEND ACCESS OFFSET FOR FILES       0479.000
ACCESS.D EQU       10B             DELETE ACCESS OFFSET FOR FILES       0480.000
ACCED.T  EQU       12B             TERVERSE DIR ACCESS OFFSET FOR DIR.  0481.000
ACCED.AE EQU       14B             ADD ENTRY ACCESS OFFSET FOR DIR.     0482.000
ACCED.DE EQU       17B             DELETE ENTRY ACCESS OFFSET FOR DIR.  0483.000
ACCR     EQU       1W              ACCESS RIGHTS FOR OWNER & PROJECT    0484.000
*                                                                       0485.000
DIR.TOT  EQU       0W              TOTAL DIRECTORY ENTRIES              0486.000
DIR.ACT  EQU       1W              ACTIVE ENTRIES                       0487.000
DIR.AVL  EQU       2W              AVAILABLE ENTRIES                    0488.000
*                                                                       0489.000
LFC      EQU       1W              LFC FOR TAPE AUDITS                  0490.000
*                                                                       0491.000
MESSAGE  EQU       0               MESSAGE ADDRESS TO BE PRINTED        0492.000
*                                                                       0493.000
         BOUND     1W                                                   0494.000
ASCIIMON DATAB     C'JAN',0                                             0495.000
         DATAB     C'FEB',0                                             0496.000
         DATAB     C'MAR',0                                             0497.000
         DATAB     C'APR',0                                             0498.000
         DATAB     C'MAY',0                                             0499.000
         DATAB     C'JUN',0                                             0500.000
         DATAB     C'JUL',0                                             0501.000
         DATAB     C'AUG',0                                             0502.000
         DATAB     C'SEP',0                                             0503.000
         DATAB     C'OCT',0                                             0504.000
         DATAB     C'NOV',0                                             0505.000
         DATAB     C'DEC',0                                             0506.000
*                                                                       0507.000
MEMC     DATAB     C'E',0          E CLASS MEMORY                       0508.000
         DATAB     C'H',0          H CLASS MEMORY                       0509.000
         DATAB     C'S',0          S CLASS MEMORY                       0510.000
         TITLE     AUDIT TRAIL FOR CREATE TYPE COMMANDS                 0511.000
*                                                                       0512.000
* THIS ENTRY POINT HANDLES AUDITS FOR THE CREATE TYPE FUNCTIONS         0513.000
*                                                                       0514.000
* INPUT:                                                                0515.000
*        FUN.SAVE= ADDRESS OF FUNCTION STRING                           0516.000
*        R2      = ADDRESS OF PROTOTYPE TABLE ENTRY                     0517.000
*        RD1.BUF = RD OF ITEM BEING LOGGED                              0518.000
*                                                                       0519.000
* OUTPUT:                                                               0520.000
*        NONE                                                           0521.000
*                                                                       0522.000
         BOUND     1D                                                   0523.000
AUDIT0   EQU       $                                                    0524.000
         PUSH                      SAVE REGISTERS                       0525.000
*                                                                       0526.000
* R5 IS USED BY AUD.FULL ROUTINE TO DECIDE WHETHER THE 'FROM'           0527.000
* OR THE 'TO' RESOURCE NAME IS TO BE USED.                              0528.000
* THIS ENTRY POINT REQUIRES THE 'FROM' NAME.                            0529.000
*                                                                       0530.000
         ZR        R5                                                   0531.000
*                                                                       0532.000
* CALL A COMMON INTERNAL ROUTINE TO FORMAT AND PRINT A FULL LOG LINE    0533.000
* THIS ROUTINE IS ALSO USED BY THE LOG COMMANDS.                        0534.000
*                                                                       0535.000
* A LISTING FILE IS NOT ALLOWED HERE, SO CLEAR THE OPT.LIST OPTION      0536.000
*                                                                       0537.000
* IF THE VOLUME COMPONENT IS "SYSTEM" AND WE ARE ON A NO SYSTEM CP12394 0538.000
* VOLUME NODE WITH RMSS3.1 OR LATER, AND THE DIRECTORY          CP12394 0539.000
* COMPONENT IS "SYSTEM", THEN REPLACE "SYSTEM" WITH THE NAME    CP12394 0540.000
* OF NODEDIR WHICH IS CONTAINED IN THE VARIABLE SDIR.           CP12394 0541.000
*UDIT0.1 CEQU      $                                    CP12394 CP12394A0542.000
*        TBM       EXPSYSVN,FLAGBITS    EXPLICIT SYSTEM CP12394 CP12394A0543.000
*        BNS       AUDIT0.7             NO - SKIP CHECK CP12394 CP12394A0544.000
*        TBM       C.NOSVOL,C.BIT       NO SYSTEM VOLUM CP12394 CP12394A0545.000
*        BNS       AUDIT0.7             NO - CONTINUE   CP12394 CP12394A0546.000
*        TBM       C.RMS3.1,C.RMS       RMSS3.1 OR LATE CP12394 CP12394A0547.000
*        BNS       AUDIT0.7             NO - KEEP OLD F CP12394 CP12394A0548.000
*        TRR       R5,R5                "TO" OR "FROM"  CP12394 CP12394A0549.000
*        BZ        AUDIT0.5             GO USE "FROM" N CP12394 CP12394A0550.000
*        LD        R6,SYSTEM            EXPLICIT SYSTEM CP12394 CP12394A0551.000
*        CAMD      R6,PROTDN.O,X2       COMPARE TO PROT CP12394 CP12394A0552.000
*        BNE       AUDIT0.7             SPECIFIED DIREC CP12394 CP12394A0553.000
*        LD        R6,BLANKS            2ND HALF        CP12394 CP12394A0554.000
*        CAMD      R6,PROTDN.O+1D,X2    JUST TO BE SURE CP12394 CP12394A0555.000
*        BNE       AUDIT0.7             NOT EXPLICIT SY CP12394 CP12394A0556.000
*        LA        R3,SDIR              ADDR OF SYS DIR CP12394 CP12394A0557.000
*        LD        R6,0D,X3             GET REAL SYS DI CP12394 CP12394A0558.000
*        STD       R6,PROTDN.O,X2       STORE IN PROTOT CP12394 CP12394A0559.000
*        LD        R6,1D,X3             2ND HALF        CP12394 CP12394A0560.000
*        STD       R6,PROTDN.O+1D,X2    STORE AWAY      CP12394 CP12394A0561.000
*        BU        AUDIT0.7             GO ON           CP12394 CP12394A0562.000
*UDIT0.5 CEQU      $                    USE "FROM" NAME CP12394 CP12394A0563.000
*        LD        R6,SYSTEM            DIRECTORY = SYS CP12394 CP12394A0564.000
*        CAMD      R6,PROFDN.O,X2       COMPARE TO PROT CP12394 CP12394A0565.000
*        BNE       AUDIT0.7             NOT SYSTEM      CP12394 CP12394A0566.000
*        LD        R6,BLANKS            2ND HALF        CP12394 CP12394A0567.000
*        CAMD      R6,PROFDN.O+1D,X2    JUST TO BE SURE CP12394 CP12394A0568.000
*        BNE       AUDIT0.7             NOT SYSTEM      CP12394 CP12394A0569.000
*        LA        R3,SDIR              ADDR OF SYS DIR CP12394 CP12394A0570.000
*        LD        R6,0D,X3             GET REAL SYS DI CP12394 CP12394A0571.000
*        STD       R6,PROFDN.O,X2       STORE IN PROTOT CP12394 CP12394A0572.000
*        LD        R6,1D,X3             2ND HALF        CP12394 CP12394A0573.000
*        STD       R6,PROFDN.O+1D,X2    STORE AWAY      CP12394 CP12394A0574.000
*UDIT0.7 CEQU      $                                    CP12394 CP12394A0575.000
*UDIT0.1 LW        R3,PROFOA.O,R2                               CP12394 0576.000
AUDIT0.1 CEQU      $                                            CP12394A0577.000
         LW        R3,PROFOA.O,R2                               CP12394 0578.000
         ZMW       OPT.LIST,R3                                          0579.000
         TBM       OPT.B.BR,OPT.FLGS,R3      IS BRIEF OPTION SET ?      0580.000
         BS        AUDBRIEF                  YES, BRANCH TO BRIEF       0581.000
         BL        AUD.FULL                                             0582.000
* (C) COPYRIGHT 1989 ENCORE COMPUTER CORPORATION                        0583.000
*     ALL RIGHTS RESERVED                                               0584.000
         POP                                                            0585.000
         TRSW      R0                                                   0586.000
*                                                                       0587.000
* THIS ROUTINE IS USED TO FORMAT A LINE FOR COMMANDS LIKE               0588.000
* 'CREATE', 'DELETE' AND 'LOG VOLUME'.                                  0589.000
*                                                                       0590.000
* INPUTS:                                                               0591.000
*        FUN.SAVE= ADDRESS OF FUNCTION STRING                           0592.000
*        R2      = ADDRESS OF PROTOTYPE TABLE ENTRY                     0593.000
*        RD1.BUF = RD OF ITEM BEING LOGGED                              0594.000
*        R5      = 0 IF 'FROM' RESOURCE NAME IS TO BE USED              0595.000
*                  PROTFN.O IF 'TO' NAME IS TO BE USED                  0596.000
*                                                                       0597.000
* OUTPUTS:                                                              0598.000
*        NONE                                                           0599.000
*                                                                       0600.000
AUD.FULL EQU       $                                                    0601.000
         PUSH                      SAVE REGISTERS                       0602.000
         STW       R2,PROTADDR     SAVE PROTOTYPE ADDRESS               0603.000
         ZMB       DIRFLAG         CLEAR DIRECTORY FLAG                 0604.000
         LA        R3,INFO.BLK     VARIABLE PARAMETER BLOCK             0605.000
         LW        R6,FUN.SAVE     ADDRESS OF FUNCTION STRING           0606.000
         STW       R6,FUNCTION,R3  INTO PARAMETER BLOCK                 0607.000
*                                                                       0608.000
* USE THE COMMON SUBROUTINE GETPATH TO COMPRESS THE VOL/DIR/FIL         0609.000
* PARTS OF THE PATHNAME.                                                0610.000
*                                                                       0611.000
         LA        R7,PROFVN.O,R2  START OF VOLUME NAME                 0612.000
         ADR       R5,R7           USE EITHER 'FROM' OR 'TO'            0613.000
         BL        GETPATH                                              0614.000
         STW       R7,LGIM.VOL,R3                                       0615.000
*                                                                       0616.000
         LA        R7,PROFDN.O,R2  START OF DIRECTORY NAME              0617.000
         ADR       R5,R7           USE EITHER 'FROM' OR 'TO'            0618.000
         BL        GETPATH                                              0619.000
         STW       R7,LGIM.DIR,R3                                       0620.000
*                                                                       0621.000
         LA        R7,PROFFN.O,R2  START OF FILE NAME                   0622.000
         ADR       R5,R7           USE EITHER 'FROM' OR 'TO'            0623.000
         BL        GETPATH                                              0624.000
         STW       R7,LGIM.FIL,R3                                       0625.000
         LW        R7,PROFDN.O,R2  GET DIRECTORY NAME                   0626.000
         CAMW      R7,ROOTDIR      ROOT DIRECTORY ITSELF?       S860445 0627.000
         BEQ       AUD.P0          IF 'ROOT', USE INFO.00R      S860445 0628.000
         CAMW      R7,ROOT.A       DIRECTORY NAME = ROOT ('^')          0629.000
         BNE       AUD.P1          NO, BRANCH                           0630.000
         LA        R2,INFO.00D     MESSAGE TEMPLATE '@VOL^RES'          0631.000
         BU        AUD.P2          GO PRINT LINE                        0632.000
AUD.P0   LA        R2,INFO.00R     MESSAGE TEMPLATE '@VOL ^'    S860445 0633.000
         BU        AUD.P2          GO PRINT LINE                S860445 0634.000
AUD.P1   LA        R2,INFO.00      MESSAGE TEMPLATE '@VOL(DIR)RES'      0635.000
AUD.P2   BL        PRINTLIN        PRINT THE LINE                       0636.000
*                                                                       0637.000
* PRINT THE RID                                                         0638.000
*                                                                       0639.000
         LA        R2,RD1.BUF                                           0640.000
         LI        R6,16B          16 CHAR VOLUME NAME                  0641.000
         LA        R7,RD.IDNAME,R2 RID START                            0642.000
         SLL       R7,8                                                 0643.000
         SRLD      R6,8            16/ADDRESS OF VOLUME                 0644.000
         STW       R7,RID0,R3                                           0645.000
*                                                                       0646.000
         LW        R7,RD.DATE,R2  CREATE DATE                 2113.V28  0647.000
         STW       R7,RID1,R3                                           0648.000
*                                                                       0649.000
         LW        R7,RD.TIME,R2  CREATE TIME                 2113.V28  0650.000
         STW       R7,RID2,R3                                           0651.000
*                                                                       0652.000
         LW        R7,RD.DOFF,R2   BLOCK NUMBER                         0653.000
         STW       R7,RID3,R3                                           0654.000
*                                                                       0655.000
         LW        R7,RD.RDFLG,R2  ID FLAG/TYPE                         0656.000
         STW       R7,RID4,R3                                           0657.000
         LA        R2,INFO.01                                           0658.000
         BL        PRINTLIN        PRINT THE LINE                       0659.000
*                                                                       0660.000
*  PRINT CREATE DATE AND TIME                                           0661.000
*                                                                       0662.000
*                                                                       0663.000
         LA        R2,RD1.BUF                                           0664.000
         LI        R6,8B           ONWER NAME IS 8 CHAR.                0665.000
         LA        R7,RD.CROWN,R2  GET OWNER NAME OF CREATOR            0666.000
         SLL       R7,8                                                 0667.000
         SRLD      R6,8                                                 0668.000
         STW       R7,OWNR,R3      CREATOR OWNEMR NAME                  0669.000
*                                                                       0670.000
         LA        R6,RD.CRDAT,R2   CREATE CRDAT/TIME                   0671.000
         BL        DATETIME        CONVERT TO ASCII                     0672.000
*                                                                       0673.000
         LW        R6,FORM.D                                            0674.000
         STW       R6,CRDATE,R3    CREATE DATE                          0675.000
         LW        R6,FORM.T                                            0676.000
         STW       R6,CRTIME,R3    CREATE TIME                          0677.000
*                                                                       0678.000
         LH        R6,RD.RTYPE,X2  GET RESOURCE TYPE                    0679.000
         CI        R6,RD.FILE      IS IT A PERMANENT FILE               0680.000
         BEQ       AUD.P22         GO FOR PERMANENT FILE                0681.000
         SPACE                                                          0682.000
         LA        R2,INFO.012                                          0683.000
         BL        PRINTLIN        PRINT LINE                           0684.000
         BU        AUD.P26         JOIN COMMON CODE                     0685.000
         SPACE     2                                                    0686.000
AUD.P22  EQU       $                                                    0687.000
*                                                                       0688.000
*  COME HERE FOR PERMANENT FILE                                         0689.000
*  CHECK FOR BLOCKED OR UNBLOCKED                                       0690.000
*                                                                       0691.000
         LA        R6,YES          ASSUME BLOCKED                       0692.000
         TBM       RD.BLOCK,RD.SFLGS,X2                                 0693.000
         BS        AUD.P24         GO FOR BLOCKED                       0694.000
         LA        R6,NO           ASSUMPTION WRONG, FILE IS UNBLOCKED  0695.000
AUD.P24  EQU       $                                                    0696.000
         STW       R6,BLOCK,X3     PLANT OUTCOME IN PARAMETER BLOCK     0697.000
         LA        R2,INFO.013     FORMATTING STRING                    0698.000
         BL        PRINTLIN        PRINT LINE                           0699.000
         SPACE                                                          0700.000
AUD.P26  EQU       $                                                    0701.000
         SPACE                                                          0702.000
*                                                                       0703.000
* CHECK FOR PARTITION                                                   0704.000
*                                                                       0705.000
         LA        R2,RD1.BUF                                           0706.000
         LH        R4,RD.RTYPE,R2       GET RESOURCE TYPE               0707.000
         CI        R4,RD.MEM       STATIC PARTITION?                    0708.000
         BEQ       AUDP.STA        YES, BRANCH                          0709.000
         CI        R4,RD.TMEM      DYNAMIC PARTITION?                   0710.000
         BEQ       AUDP.DYN        YES, BRANCH                          0711.000
*                                                                       0712.000
*  IF PROCESSING A DIRECTORY SET DIRFLAG                                0713.000
*                                                                       0714.000
         LA        R2,RD1.BUF                                           0715.000
         LH        R7,RD.RTYPE,R2  RESOURCE TYPE FIELD                  0716.000
         CI        R7,RD.DIR       PERMANENT DIRECTORY ??               0717.000
         BEQ       AUD.P3          BRANCH IF SO                         0718.000
         CI        R7,RD.ROOT      ROOT DIRECTORY ??                    0719.000
         BNE       AUD.P4          NO, BRANCH                           0720.000
AUD.P3   SBM       1,DIRFLAG       SET BIT IN DIRECTORY FLAG            0721.000
*        BU        AUD.P5          SKIP OVER LAST SAVE/RESTORE  ELAC-35 0722.000
         BU        AUD.P45         SKIP OVER LAST SAVE/RESTORE  ELAC-35 0723.000
*                                                                       0724.000
* PRINT LAST SAVE AND LAST RESTORE                                      0725.000
*                                                                       0726.000
AUD.P4   LA        R2,RD1.BUF                                           0727.000
         LA        R6,RD.SVDAT,R2  LAST SAVED DATE/TIME                 0728.000
         BL        DATETIME        CONVERT TO ASCII                     0729.000
*                                                                       0730.000
         LD        R6,ASCII.D      LAST SAVED DATE IN ACSII             0731.000
         STD       R6,SAVDATE,X3   PLANT ASCII CHARACTERS IN PARAMETER  0732.000
*                                  BLOCK                                0733.000
         LD        R6,ASCII.T      LAST SAVED TIME IN ASCII             0734.000
         STD       R6,SAVTIME,X3   PLANT ASCII CHARS. IN PARAMETER BLOCK0735.000
*                                                                       0736.000
         LA        R6,RD.RSDAT,R2  LAST RESTORED DATE/TIME              0737.000
         BL        DATETIME        CONVERT TO ASCII                     0738.000
*                                                                       0739.000
         LW        R6,FORM.D                                            0740.000
         STW       R6,RESDATE,R3   LAST RESTORED DATE                   0741.000
         LW        R6,FORM.T                                            0742.000
         STW       R6,RESTIME,R3   LAST RESTORED TIME                   0743.000
*                                                                       0744.000
         LA        R2,INFO.014                                          0745.000
         BL        PRINTLIN        PRINT LINE                           0746.000
*                                                                       0747.000
*  PRINT LAST ACCESSED BY AND THE DATE/TIME                     ELAC-35 0748.000
*                                                               ELAC-35 0749.000
AUD.P45  LA        R2,RD1.BUF                                   ELAC-35 0750.000
         LI        R6,8B           ACCESSOR'S NAME IS 8 CHAR.   ELAC-35 0751.000
         LA        R7,RD.RDOWN,R2  GET OWNER NAME OF ACCESSOR   ELAC-35 0752.000
         SLL       R7,8                                         ELAC-35 0753.000
         SRLD      R6,8                                         ELAC-35 0754.000
         STW       R7,OWNR,R3      ACCESSOR OWNER NAME          ELAC-35 0755.000
         LA        R6,RD.RDDAT,R2  LAST ACCESSED DATE/TIME      ELAC-35 0756.000
         BL        DATETIME        CONVERT TO ASCII             ELAC-35 0757.000
*                                                               ELAC-35 0758.000
         LW        R6,FORM.D                                    ELAC-35 0759.000
         STW       R6,ACCDATE,R3   LAST ACCESSED DATE           ELAC-35 0760.000
         LW        R6,FORM.T                                    ELAC-35 0761.000
         STW       R6,ACCTIME,R3   LAST ACCESSED TIME           ELAC-35 0762.000
*                                                               ELAC-35 0763.000
         LA        R2,INFO.015                                  ELAC-35 0764.000
         BL        PRINTLIN        PRINT LINE                   ELAC-35 0765.000
*                                                                       0766.000
*  PRINT LAST CHANGED BY AND THE DATE/TIME                              0767.000
*                                                                       0768.000
AUD.P5   LA        R2,RD1.BUF                                           0769.000
         LI        R6,8B           CHANGER'S NAME IS 8 CHAR.            0770.000
         LA        R7,RD.CHOWN,R2  GET OWNER NAME OF CHANGER            0771.000
         SLL       R7,8                                                 0772.000
         SRLD      R6,8                                                 0773.000
         STW       R7,OWNR,R3      CHANGER OWNEMR NAME                  0774.000
         LA        R6,RD.CHDAT,R2  LAST CHANGED DATE/TIME               0775.000
         BL        DATETIME        CONVERT TO ASCII                     0776.000
*                                                                       0777.000
         LW        R6,FORM.D                                            0778.000
         STW       R6,CHGDATE,R3   LAST CHANGED DATE                    0779.000
         LW        R6,FORM.T                                            0780.000
         STW       R6,CHGTIME,R3   LAST CHANGED TIME                    0781.000
*                                                                       0782.000
         LA        R2,INFO.016                                          0783.000
         BL        PRINTLIN        PRINT LINE                           0784.000
*                                                                       0785.000
* TYPE, SHARE, SAVE, EOFM, ZERO, SIZE FIELDS                            0786.000
*                                                                       0787.000
         LA        R2,RD1.BUF                                           0788.000
         LB        R7,RD.FTYPE,R2  FILE TYPE                            0789.000
         STW       R7,TYPE,R3                                           0790.000
*                                                                       0791.000
         LA        R7,YES          SHARABLE? (YES/NO)                   0792.000
         TBM       RD.SHRBL,RD.SFLGS,R2                                 0793.000
         BS        AUD0.1          BRANCH IF SHARABLE                   0794.000
         LA        R7,NO                                                0795.000
AUD0.1   STW       R7,SHARE,R3                                          0796.000
*                                                                       0797.000
*        IF A DIRECTORY THEN DISPLAY DIFFERENT INFO                     0798.000
*                                                                       0799.000
         TBM       1,DIRFLAG       IF A DIRECTORY                       0800.000
         BS        AUD0.6          YES, BRANCH                          0801.000
*                                                                       0802.000
         LA        R7,YES          SAVABLE? (YES/NO)                    0803.000
         TBM       RD.NSAVE,RD.SFLGS,R2                                 0804.000
         BNS       AUD0.2          BRANCH IF SAVABLE                    0805.000
         LA        R7,NO                                                0806.000
AUD0.2   STW       R7,SAVE,R3                                           0807.000
*                                                                       0808.000
         LA        R7,YES          EOFM? (YES/NO)                       0809.000
         TBM       RD.EOFM,RD.SFLGS,R2                                  0810.000
         BS        AUD0.3          BRANCH IF EOF MANAGEMENT             0811.000
         LA        R7,NO                                                0812.000
AUD0.3   STW       R7,EOFM,R3                                           0813.000
*                                                                       0814.000
         LA        R7,YES          ZERO? (YES/NO)                       0815.000
         TBM       RD.ZERO,RD.SFLGS,R2                                  0816.000
         BS        AUD0.4          BRANCH IF TO BE ZEROED               0817.000
         LA        R7,NO                                                0818.000
AUD0.4   STW       R7,ZERO,R3                                           0819.000
*                                                                       0820.000
         LW        R7,RD.EOMBL,R2  RESOURCE SIZE                        0821.000
         STW       R7,SIZE,R3                                           0822.000
         LA        R2,INFO.02                                           0823.000
         BL        PRINTLIN        PRINT THE LINE                       0824.000
*                                                                       0825.000
* EXTENDABLE, MAX/MIN EXTENSION, MAX FILE SIZE                          0826.000
*  (FILES ONLY)                                                         0827.000
*                                                                       0828.000
         LA        R2,RD1.BUF                                           0829.000
         LI        R7,0W           EXTENDABLE=NO                        0830.000
         TBM       RD.AUTO,RD.SFLGS,R2                                  0831.000
         BNS       AUD0.5A         BRANCH TO MANAUL EXTEND CHECK        0832.000
         LI        R7,1W           EXTENDABLE=AUTO                      0833.000
AUD0.5A  TBM       RD.MANUL,RD.SFLGS,R2                                 0834.000
         BNS       AUD0.5          BRANCH IF NOT MANUAL EXTENDABLE      0835.000
         ADI       R7,2W           EXTENDABLE=MANU OR BOTH              0836.000
AUD0.5   TRR       R7,R2                                                0837.000
         LW        R7,EXTYPE,R2    GET ADDRESS OF EXTENDABLITY          0838.000
         STW       R7,EXTEND,R3                                         0839.000
*                                                                       0840.000
         LA        R2,RD1.BUF                                           0841.000
         LW        R7,RD.MXEXT,R2  MAXIMUM EXTENSION                    0842.000
         STW       R7,MAXX,R3                                           0843.000
*                                                                       0844.000
         LW        R7,RD.MNEXT,R2  MINIMUM EXTENSION                    0845.000
         STW       R7,MINX,R3                                           0846.000
*                                                                       0847.000
         LW        R7,RD.MXSIZ,R2  MAXIMUN FILE SIZE                    0848.000
         STW       R7,MAXS,R3                                           0849.000
         LA        R2,INFO.03                                           0850.000
         BL        PRINTLIN        PRINT THE LINE                       0851.000
*                                                                       0852.000
*  NUMBER OF SEGMENTS, EOF BLOCK, AND EOM BLOCK                         0853.000
*                                                                       0854.000
AUD0.51  LA        R2,RD1.BUF                                           0855.000
         LW        R6,RD.NUMSG,R2                                       0856.000
         STW       R6,NUMSG,R3     NUMBER OF SEGMENTS                   0857.000
         LW        R6,RD.EOFBL,R2                                       0858.000
         STW       R6,EOFBL,R3     EOF BLOCK                            0859.000
         LW        R6,RD.EOMBL,R2                                       0860.000
         STW       R6,EOMBL,R3     EOM BLOCK                            0861.000
*                                                                       0862.000
         LA        R2,INFO.035                                          0863.000
         BL        PRINTLIN        PRINT LINE                           0864.000
*                                                                       0865.000
* ACCESS RIGHTS - OWNER, PROJECT, OTHERS                                0866.000
*                                                                       0867.000
*                                                                       0868.000
AUD0.52  LA        R2,RD1.BUF                                           0869.000
         LI        R6,8B                                                0870.000
         LA        R7,RD.OWNR,R2                                        0871.000
         SLL       R7,8                                                 0872.000
         SRLD      R6,8                                                 0873.000
         STW       R7,OWNR,R3      OWNER NAME                           0874.000
         LW        R5,RD.AOWNR,R2  OWNER RIGHTS FIELD                   0875.000
         BL        GETRIGHT        DECODE THE RIGHTS                    0876.000
         LA        R2,ACC.WORK     ADDRESS OF Z STRING TO PRINT         0877.000
         STW       R2,ACCR,R3      INTO PARAMETER BLOCK                 0878.000
         LA        R2,INFO.04                                           0879.000
         BL        PRINTLIN        PRINT THE LINE                       0880.000
*                                                                       0881.000
         LA        R2,RD1.BUF                                           0882.000
         LI        R6,8B                                                0883.000
         LA        R7,RD.UGRP,R2                                        0884.000
         SLL       R7,8                                                 0885.000
         SRLD      R6,8                                                 0886.000
         STW       R7,PGRP,R3      PROJECTGROUP NAME                    0887.000
         LW        R5,RD.AUGRP,R2  PROJECT RIGHTS FIELD                 0888.000
         BL        GETRIGHT        DECODE THE RIGHTS                    0889.000
         LA        R2,ACC.WORK     ADDRESS OF Z STRING TO PRINT         0890.000
         STW       R2,ACCR,R3      INTO PARAMETER BLOCK                 0891.000
         LA        R2,INFO.05                                           0892.000
         BL        PRINTLIN        PRINT THE LINE                       0893.000
*                                                                       0894.000
         LA        R2,RD1.BUF                                           0895.000
         LW        R5,RD.AOTHR,R2  OTHERS RIGHTS FIELD                  0896.000
         BL        GETRIGHT        DECODE THE RIGHTS                    0897.000
         LA        R2,ACC.WORK     ADDRESS OF Z STRING TO PRINT         0898.000
         STW       R2,INFO.BLK     INTO PARAMETER BLOCK                 0899.000
         LA        R2,INFO.06                                           0900.000
         BL        PRINTLIN        PRINT THE LINE                       0901.000
*                                                                       0902.000
AUD0.7   POP                       RESTORE REGISTERS                    0903.000
         TRSW      R0                                                   0904.000
*                                                                       0905.000
* A DIRECTORY ENTRY SO PRINT THESE TWO LINES                            0906.000
*                                                                       0907.000
*        TYPE,SHARABLE,EOFM,SIZE    (TYPE AND SHARABLE ALREADY SETUP)   0908.000
* (C) COPYRIGHT 1989 ENCORE COMPUTER CORPORATION                        0909.000
*     ALL RIGHTS RESERVED                                               0910.000
*                                                                       0911.000
AUD0.6   LA        R7,YES          EOFM?                                0912.000
         TBM       RD.EOFM,RD.SFLGS,R2                                  0913.000
         BS        AUD0.61         BRANCH IF EOF MANAGEMENT             0914.000
         LA        R7,NO                                                0915.000
AUD0.61  STW       R7,DEOFM,R3                                          0916.000
*                                                                       0917.000
         LW        R7,RD.EOMBL,R2  RESOURCE SIZE                        0918.000
         STW       R7,DSIZE,R3                                          0919.000
         LA        R2,INFO.02D                                          0920.000
         BL        PRINTLIN        PRINT THE LINE                       0921.000
*                                                                       0922.000
*        TOTAL ENTRIES, ACTIVE ENTRIES, AND AVAILABLE ENTRIES           0923.000
*                                                                       0924.000
         LA        R2,RD1.BUF                                           0925.000
         LW        R7,DI.TOTEN,R2  TOTAL ENTRIES                        0926.000
         STW       R7,DIR.TOT,R3                                        0927.000
*                                                                       0928.000
         LW        R7,DI.ACTIV,R2  ACTIVE ENTRIES                       0929.000
         STW       R7,DIR.ACT,R3                                        0930.000
*                                                                       0931.000
         LW        R7,DI.AVLEN,R2  AVAILABLE ENTRIES                    0932.000
         STW       R7,DIR.AVL,R3                                        0933.000
*                                                                       0934.000
         LA        R2,INFO.07      MESSAGE TEMPLATE                     0935.000
         BL        PRINTLIN                                             0936.000
         BU        AUD0.51         GO PRINT THE REST OF THE INFORMATION 0937.000
*                                                                       0938.000
*  IF A PARTITION IS BEING LOGGED THEN PRINT THESE TWO LINES OF INFO.   0939.000
*                                                                       0940.000
*        PARTITION TYPE, MEMORY CLASS, AND SHARABLE                     0941.000
*                                                                       0942.000
AUDP.STA EQU       $               ENTRY FOR STATIC PARTITION           0943.000
         LW        R7,STATPART     PART TYPE=STATIC                     0944.000
         BU        AUDP.COM        GO TO COMMON CODE                    0945.000
         SPACE     2                                                    0946.000
AUDP.DYN EQU       $               ENTRY FOR DYNAMIC PARTITION          0947.000
         LW        R7,DYNAPART     PART TYPE=DYNAMIC                    0948.000
         SPACE     2                                                    0949.000
AUDP.COM EQU       $               COMMON CODE FOR PARTITIONS           0950.000
         STW       R7,PARTYPE,R3   PARTITION TYPE                       0951.000
*                                                                       0952.000
         LB        R2,ME.MCLAS,R2  MEMORY CLASS                         0953.000
         BNZ       AUDP.03                                              0954.000
         LI        R2,3            IF ZERO THEN SET EQUAL TO 'S'        0955.000
AUDP.03  SUI       R2,1                                                 0956.000
         SLL       R2,1                                                 0957.000
         LA        R7,MEMC,R2      MEMORY CLASS IN ASCII                0958.000
         STW       R7,MEMCLASS,R3                                       0959.000
*                                                                       0960.000
         LA        R2,RD1.BUF      RESTORE RD ADDRESS                   0961.000
         LA        R7,YES                                               0962.000
         TBM       RD.SHRBL,RD.SFLGS,R2      SHARABLE ? (YES/NO)        0963.000
         BS        AUDP.01         YES, BRANCH                          0964.000
         LA        R7,NO                                                0965.000
AUDP.01  STW       R7,MEMSHARE,R3                                       0966.000
*                                                                       0967.000
         LA        R2,INFO.021     LINE FORMAT                          0968.000
         BL        PRINTLIN        PRINT THE LINE                       0969.000
*                                                                       0970.000
*        TYPE, FIRST PAGE, AND LENGTH IN PAGES                          0971.000
*                                                                       0972.000
         LA        R2,RD1.BUF                                           0973.000
         LB        R7,RD.FTYPE,R2       FTYPE                           0974.000
         STW       R7,TYPE,R3                                           0975.000
*                                                                       0976.000
         LW        R7,RD.LPAGE,R2       FIRST PAGE IF DYNAMIC           0977.000
         LH        R4,RD.RTYPE,R2                                       0978.000
         CI        R4,RD.TMEM      IS DYNAMIC?                          0979.000
         BEQ       AUDP.02         YES, BRANCH                          0980.000
         LW        R7,ME.PPAGE,R2  FIRST PAGE (STATIC)                  0981.000
AUDP.02  STW       R7,FIRSTPAG,R3                                       0982.000
*                                                                       0983.000
         LW        R7,RD.PGLEN,R2  LENGTH IN PAGES                      0984.000
         STW       R7,LENPAGE,R3                                        0985.000
*                                                                       0986.000
         LA        R2,INFO.022     LINE FORMAT                          0987.000
         BL        PRINTLIN        PRINT THE LINE                       0988.000
*                                                                       0989.000
         BU        AUD0.52         GO DISPLAY THE ACCESS RIGHTS         0990.000
         TITLE     DECODE RIGHTS FIELDS                                 0991.000
*                                                                       0992.000
* THIS ROUTINE IS USED BY ROUTINE AUD.FULL TO DECODE AND BUILD          0993.000
* AN OUTPUT BUFFER FOR THE ACCESS RIGHTS                                0994.000
*                                                                       0995.000
* INPUT:                                                                0996.000
*        R5 = THE ACCESS RIGHTS WORD                                    0997.000
*                                                                       0998.000
* OUTPUT:                                                               0999.000
*        ACC.WORK IS SET UP TO CONTAIN THE 'R,W,M,U,A,D' RIGHTS         1000.000
*        FOR FILES, THE 'R,T,AE,DE,DD' RIGHTS FOR DIRECTORIES, OR THE   1001.000
*        'R,W,D' RIGHTS FOR PARTITIONS.                                 1002.000
*                                                                       1003.000
GETRIGHT PUSH                      SAVE REGISTERS                       1004.000
         LB        R7,BLANK.A      SPACE FOR CLEARING ACCESS RIGHTS     1005.000
*                                                                       1006.000
*        GET FILE ACCESS RIGHTS                                         1007.000
*                                                                       1008.000
         LA        R2,ACC.MAST     COPY THE ACCESS TEMPLATE .....       1009.000
         LA        R3,ACC.WORK     ..... TO A WORKING .....             1010.000
         LI        R4,ACC.SIZE     .....  COPY.....                     1011.000
         BL        COPYSTRG                                             1012.000
*                                                                       1013.000
* NOW RESET BYTES IN THE WORKING COPY THAT ARE NOT IN THE RIGHTS WORD   1014.000
*                                                                       1015.000
*                                                                       1016.000
         TBR       R5,RD.READ      READ ACCESS?                         1017.000
         BS        GETR1           BRANCH IF READ ACCESS                1018.000
         STB       R7,ACCESS.R,R3  RESET READ                           1019.000
*                                                                       1020.000
*                                                                       1021.000
GETR1    TBR       R5,RD.WRITE     WRITE ACCESS?                        1022.000
         BS        GETR2           BRANCH IF WRITE ACCESS               1023.000
         STB       R7,ACCESS.W,R3  RESET WRITE                          1024.000
*                                                                       1025.000
*                                                                       1026.000
GETR2    TBR       R5,RD.MODFY     MODIFY ACCESS?                       1027.000
         BS        GETR3           BRANCH IF MODIFY ACCESS              1028.000
         STB       R7,ACCESS.M,R3  RESET MODIFY                         1029.000
*                                                                       1030.000
*                                                                       1031.000
GETR3    TBR       R5,RD.UPDAT     UPDATE ACCESS?                       1032.000
         BS        GETR4           BRANCH IF UPDATE ACCESS              1033.000
         STB       R7,ACCESS.U,R3  RESET UPDATE                         1034.000
*                                                                       1035.000
*                                                                       1036.000
GETR4    TBR       R5,RD.APPND     APPEND ACCESS?                       1037.000
         BS        GETR5           BRANCH IF APPEND ACCESS              1038.000
         STB       R7,ACCESS.A,R3  RESET APPEND                         1039.000
*                                                                       1040.000
*                                                                       1041.000
GETR5    TBR       R5,RD.DELET     DELETE ACCESS?                       1042.000
         BS        GETR6           BRANCH IF DELETE ACCESS?             1043.000
         STB       R7,ACCESS.D,R3  RESET DELETE                         1044.000
*                                                                       1045.000
*                                                                       1046.000
GETR6    TBR       R5,RD.TRAVR     TRANSVERSE DIR. ACCES?               1047.000
         BS        GETR7           BRANCH IF TRAN. ACCESS               1048.000
         STB       R7,ACCED.T,R3   RESET TRAN. ACCESS                   1049.000
*                                                                       1050.000
*                                                                       1051.000
GETR7    TBR       R5,RD.ADENT     ADD ENTRY ACCESS?                    1052.000
         BS        GETR8           BRANCH IF ADD ACCESS                 1053.000
         STB       R7,ACCED.AE,R3  RESET ADD ENTRY ACCESS               1054.000
         STB       R7,ACCED.AE+1B,R3                                    1055.000
*                                                                       1056.000
*                                                                       1057.000
GETR8    TBR       R5,RD.DEENT     DELETE ENTRY ACCESS?                 1058.000
         BS        GETR9           BRANCH IF DEL. ENT. ACCESS           1059.000
         STB       R7,ACCED.DE,R3  RESET DEL. ENT.ACCESS                1060.000
         STB       R7,ACCED.DE+1B,R3                                    1061.000
*                                                                       1062.000
*                                                                       1063.000
GETR9    POP                                                            1064.000
         TRSW      R0                                                   1065.000
         TITLE     CONVERT TO ASCII DATE AND TIME                       1066.000
*                                                                       1067.000
*        THIS ROUTINE IS USED BY AUD.FULL TO CONVERT BINARY             1068.000
*        DATE AND TIME INTO ASCII DATE AND TIME FORMATED FOR OUTPUT     1069.000
*                                                                       1070.000
*        INPUT                                                          1071.000
*             R6=ADDRESS OF 2W BINARY DATE AND TIME BUFFER              1072.000
*                                                                       1073.000
*        OUTPUT                                                         1074.000
*             ASCII.D AND ASCII.T ARE SET UP FOR OUTPUT                 1075.000
*                                                                       1076.000
DATETIME PUSH                      SAVE REGISTERS                       1077.000
         PUSHSTP                   SAVE STACK POINTER                   1078.000
         TRR       R6,R1                                                1079.000
         ORMW      R1,F.MASK                                            1080.000
         LA        R2,ASCII.D                                           1081.000
         SVC       2,X'51'         CONVERT BINARY TO ASCII              1082.000
         POPSTP                    RESTORE STACK POINTER                1083.000
*                                                                       1084.000
         LA        R2,ASCII.D      GET DATE BUFFER                      1085.000
*                                                                       1086.000
*  DETERMINE WHICH OUTPUT FORMAT TO USE                                 1087.000
*                                                                       1088.000
         LB        R6,C.DATE+2B                                         1089.000
         CAMB      R6,SLASH.A      IS SYSTEM DATE MM/DD/YY ?            1090.000
         BEQ       SLASHDAT        YES, BRANCH                          1091.000
         CAMB      R6,DASH.A       IS SYSTEM DATE DD-MM-YY ?            1092.000
         BEQ       DASHDATE        YES, BRANCH                          1093.000
*                                                                       1094.000
*  ASCII MONTH FORMAT 'DDMMMYY'                                         1095.000
*                                                                       1096.000
         LB        R6,BLANK.A      FILL FIRST BYTE WITH A BLANK         1097.000
         SLL       R6,16                                                1098.000
         ORMH      R6,DAY,R2       PICK UP THE DAY                      1099.000
*                                                                       1100.000
         ZR        R3                                                   1101.000
         LB        R7,MONTH,R2     GET INDEX INTO ASCII MONTH TABLE     1102.000
         CI        R7,ZERO.A                                            1103.000
         BEQ       DATE.1                                               1104.000
         LI        R3,10                                                1105.000
DATE.1   LB        R7,MONTH+1B,R2                                       1106.000
         SUI       R7,ZERO.A                                            1107.000
         ADR       R7,R3                                                1108.000
         SUI       R3,1                                                 1109.000
         SLL       R3,2            GET WORD INDEX FOR MONTH             1110.000
*                                                                       1111.000
         LW        R7,ASCIIMON,R3  PICK UP MONTH (3 CHAR ASCII)         1112.000
         SLLD      R6,8                                                 1113.000
*                                                                       1114.000
         ORMH      R7,YEAR,R2      PICK UP YEAR                         1115.000
         BU        DATESAVE                                             1116.000
*                                                                       1117.000
*  SLASH DATE FORMAT 'MM/DD/YY'                                         1118.000
*                                                                       1119.000
SLASHDAT LB        R5,SLASH.A                                           1120.000
         LH        R6,MONTH,R2     PICK UP MONTH                        1121.000
         SLL       R6,8                                                 1122.000
         ORR       R5,R6           PICK UP SLASH                        1123.000
         LH        R7,DAY,R2       PICK UP DAY                          1124.000
         SLL       R7,8                                                 1125.000
         ORR       R5,R7           PICK UP SLASH                        1126.000
         SLL       R7,8                                                 1127.000
         SLLD      R6,8                                                 1128.000
         ORMH      R7,YEAR,R2      PICK UP YEAR                         1129.000
         BU        DATESAVE                                             1130.000
*                                                                       1131.000
*  DASH DATE FORMAT 'DD-MM-YY'                                          1132.000
*                                                                       1133.000
DASHDATE LB        R5,DASH.A                                            1134.000
         LH        R6,DAY,R2       PICK UP DAY                          1135.000
         SLL       R6,8                                                 1136.000
         ORR       R5,R6           PICK UP DASH                         1137.000
         LH        R7,MONTH,R2     PICK UP MONTH                        1138.000
         SLL       R7,8                                                 1139.000
         ORR       R5,R7           PICK UP DASH                         1140.000
         SLL       R7,8                                                 1141.000
         SLLD      R6,8                                                 1142.000
         ORMH      R7,YEAR,R2      PICK UP YEAR                         1143.000
*                                                                       1144.000
DATESAVE STD       R6,ASCII.D      SAVE THE FORMATED DATE               1145.000
*                                                                       1146.000
*  FORMAT THE TIME 'HH:MM:SS'                                           1147.000
*                                                                       1148.000
         LA        R2,ASCII.T      GET TIME BUFFER                      1149.000
         LB        R5,COLON.A                                           1150.000
         LH        R6,HOUR,R2      PICK UP HOURS                        1151.000
         SLL       R6,8                                                 1152.000
         ORR       R5,R6           PICK UP COLON                        1153.000
         LH        R7,MINUTE,R2    PICK UP MINUTES                      1154.000
         SLL       R7,8                                                 1155.000
         ORR       R5,R7           PICK UP COLON                        1156.000
         SLL       R7,8                                                 1157.000
         SLLD      R6,8                                                 1158.000
         ORMH      R7,SECOND,R2    PICK UP SECONDS                      1159.000
         STD       R6,ASCII.T      SAVE FORMATED TIME                   1160.000
*                                                                       1161.000
         POP                       RESTORE REGISTERS                    1162.000
         TRSW      R0              RETURN                               1163.000
         TITLE     AUDIT TRAIL FOR BRIEF DISPLAY                        1164.000
*                                                                       1165.000
*        THIS ROUTINE WILL BUILD THE BRIEF DISPLAY FOR ALL COMMANDS     1166.000
*        EXCEPT THE 'LOG' COMMAND, WHEN THE BRIEF OPTION IS SET.        1167.000
*                                                                       1168.000
*  INPUTS:                                                              1169.000
*        FUN.SAVE=ADDRESS OF FUNCTION STRING                            1170.000
*        RD1.BUF = RD OF ITEM BEING DISPLAYED                           1171.000
*        R2      = ADDRESS OF PROTOTYPE                                 1172.000
*        R5      = 0 IF 'FROM'.  PROTFN.O IF 'TO'.                      1173.000
*                                                                       1174.000
*  OUTPUT:                                                              1175.000
*        NONE                                                           1176.000
*                                                                       1177.000
AUDBRIEF EQU       $                                                    1178.000
         STW       R2,PROTADDR     SAVE PROTOTYPE ADDRESS               1179.000
         ADR       R5,R2           MAKE ADDR. FOR 'FROM' OR 'TO' PATH   1180.000
         ZMB       DIRFLAG         CLEAR DIRECTORY FLAG                 1181.000
         LA        R3,INFO.BLK     VARIABLE PARAMETER BLOCK             1182.000
         LW        R6,FUN.SAVE     ADDRESS OF FUNCTION STRING           1183.000
         STW       R6,FUNCTION,R3  INTO PARAMETER BLOCK                 1184.000
*                                                                       1185.000
         LA        R7,PROFVN.O,R2  ADDRESS OF VOLUME NAME               1186.000
         ORMW      R7,SZ.MASK      (BYTE 0 = 16B)                       1187.000
         STW       R7,LGIM.VOL,R3  INTO PARAMETER BLOCK                 1188.000
*                                                                       1189.000
         LA        R7,PROFDN.O,R2  ADDRESS OF DIRECTORY NAME            1190.000
         ORMW      R7,SZ.MASK      (BYTE 0 = 16B)                       1191.000
         STW       R7,LGIM.DIR,R3  INTO PARAMETER BLOCK                 1192.000
*                                                                       1193.000
         LA        R7,PROFFN.O,R2  ADDRESS OF FILE NAME                 1194.000
         LW        R6,0W,R2        IS FILE NAME = 0 ??                  1195.000
         BNZ       AUDBR.3         NO, BRANCH                           1196.000
         LW        R7,LGIM.DIR,R3  GET VECTOR FOR DIRECTORY NAME        1197.000
         STW       R7,LGIM.FIL,R3  PUT VECTOR INTO RESOURCE NAME        1198.000
         SBM       1,DIRFLAG       SET FLAG FOR DIRECTORY PROCESSING    1199.000
         LA        R7,ROOT2D       GET ADDRESS OF ROOT SYMBOL (^)       1200.000
         ORMW      R7,SZ.MASK      (BYTE 0 = 16B)                       1201.000
         STW       R7,LGIM.DIR,R3  PUT "^" INTO DIRECTORY NAME          1202.000
         BU        AUDBR.4                                              1203.000
AUDBR.3  ORMW      R7,SZ.MASK      (BYTE 0 = 16B)                       1204.000
         STW       R7,LGIM.FIL,R3  INTO PARAMETER BLOCK                 1205.000
*                                                                       1206.000
AUDBR.4  LA        R2,RD1.BUF      ADDRESS OF RD TO BE DISPLAYED        1207.000
         LH        R7,RD.RTYPE,X2  GET RESOURCE TYPE           82-1186  1208.000
         CI        R7,14           BRANCH IF FILE -            82-1186  1209.000
         BLT       AUDBR.41        ELSE IT'S A PARTITION       82-1186  1210.000
* (C) COPYRIGHT 1989 ENCORE COMPUTER CORPORATION                        1211.000
*     ALL RIGHTS RESERVED                                               1212.000
         LW        R7,RD.PGLEN,X2  GET LENGTH IN PAGES         82-1186  1213.000
         STW       R7,LGVO.SIZ,X3  LENGTH IN PAGES FOR PART.   82-1186  1214.000
         BU        AUDBR.42        REJOIN COMMON CODE          82-1186  1215.000
AUDBR.41 EQU       $                                           82-1186  1216.000
         LW        R7,RD.EOMBL,R2  RESOURCE SIZE                        1217.000
         STW       R7,LGVO.SIZ,R3  INTO PARAMETER BLOCK                 1218.000
*                                                                       1219.000
AUDBR.42 TBM       1,DIRFLAG       IS IT A DIRECTORY BEING PROCESSED?   1220.000
         BNS       AUDBR.1         NO, BRANCH                           1221.000
         LA        R2,INFO.41      DISPLAY TEMPLATE '@VOL^DIR'          1222.000
         BU        AUDBR.2                                              1223.000
AUDBR.1  LA        R2,INFO.4       MESSAGE TEMPLATE  '@VOL(DIR)FILE'    1224.000
AUDBR.2  BL        PRINTLIN        PRINT THE LINE                       1225.000
         POP                                                            1226.000
         TRSW      R0              RETURN                               1227.000
         TITLE     AUDIT TRAIL FOR TAPE MOVEMENT COMMANDS               1228.000
*                                                                       1229.000
* THIS ENTRY POINT HANDLES AUDITS FOR TAPE MOVEMENT FUNCTIONS           1230.000
*                                                                       1231.000
* INPUTS:                                                               1232.000
*        FUN.SAVE= ADDRESS OF FUNCTION STRING                           1233.000
*                                                                       1234.000
* OUTPUTS:                                                              1235.000
*        NONE                                                           1236.000
*                                                                       1237.000
AUDIT1   EQU       $                                                    1238.000
         PUSH                      SAVE REGISTERS                       1239.000
         LA        R3,INFO.BLK     VARIABLE PARAMETER BLOCK             1240.000
         LW        R6,FUN.SAVE     ADDRESS OF FUNCTION STRING           1241.000
         STW       R6,FUNCTION,R3  INTO PARAMETER BLOCK                 1242.000
*                                                                       1243.000
* PUT THE STRING 'TAP' INTO THE PARAMETER LIST TO INDICATE              1244.000
* THE LFC USED.                                                         1245.000
*                                                                       1246.000
         LW        R6,LFCTAP       "TAP" LFC USED                       1247.000
         STW       R6,LFC,R3       INTO PARAMETER BLOCK                 1248.000
         LA        R2,INFO.1       FORMAT STRING                        1249.000
         BL        FORMATOT                                             1250.000
         POP                                                            1251.000
         TRSW      R0                                                   1252.000
         TITLE     PRINT A GENERAL MESSAGE                              1253.000
*                                                                       1254.000
* THIS ENTRY POINT ALLOWS A MESSAGE TO BE PRINTED TO THE                1255.000
* AUDIT TRAIL BY PASSING THE ADDRESS OF THE MESSAGE (Z-STRING FORMAT)   1256.000
* IN REGISTER 7.                                                        1257.000
*                                                                       1258.000
* INPUT:                                                                1259.000
*        R7 = ADDRESS OF Z-STRING MESSAGE                               1260.000
*                                                                       1261.000
* OUTPUT:                                                               1262.000
*        NONE                                                           1263.000
*                                                                       1264.000
AUDIT2   EQU       $                                                    1265.000
         PUSH                      SAVE REGISTERS                       1266.000
         LA        R3,INFO.BLK     VARIABLE PARAMETER BLOCK             1267.000
         STW       R7,MESSAGE,R3   STORE MESSAGE ADDRESS                1268.000
*                                                                       1269.000
         LA        R2,INFO.2       FORMAT STRING ADDRESS                1270.000
         BL        FORMATOT                                             1271.000
         POP                       RESTORE REGISTERS                    1272.000
         TRSW      R0                                                   1273.000
         TITLE     AUDIT TRAIL FOR COPY TYPE COMMANDS                   1274.000
*                                                                       1275.000
* THIS ENTRY POINT HANDLES AUDITS FOR THE COPY TYPE FUNCTIONS           1276.000
*                                                                       1277.000
* INPUT:                                                                1278.000
*        FUN.SAVE= ADDRESS OF FUNCTION STRING                           1279.000
*        R2      = ADDRESS OF PROTOTYPE TABLE ENTRY                     1280.000
*        RD1.BUF = RD OF ITEM BEING LOGGED                              1281.000
*                                                                       1282.000
* OUTPUT:                                                               1283.000
*        NONE                                                           1284.000
*                                                                       1285.000
AUDIT3   PUSH                      SAVE REGISTERS                       1286.000
*                                                                       1287.000
* R5 IS USED BY AUD.FULL ROUTINE TO DECIDE WHETHER THE 'FROM'           1288.000
* OR THE 'TO' RESOURCE NAME IS TO BE USED.                              1289.000
* THIS ENTRY POINT REQUIRES THE 'TO' NAME.                              1290.000
*                                                                       1291.000
         LI        R5,PROTFN.O     'TO' FILENAME OFFSET                 1292.000
*                                                                       1293.000
* NOW JOIN THE ENTRY POINT AUDIT0 WHICH IS COMMON FROM HERE ON          1294.000
*                                                                       1295.000
         BU        AUDIT0.1                                             1296.000
         TITLE     AUDIT TRAIL FOR LOG IMAGE                            1297.000
*                                                                       1298.000
* THIS ENTRY POINT HANDLES AUDITS FOR THE LOG IMAGE FUNCTION.           1299.000
*                                                                       1300.000
* INPUTS:                                                               1301.000
*        R3 = POINTER TO FILE/DIR/VOL SEQUENCE                          1302.000
*        R7 = ADDRESS OF PROTOTYPE ENTRY (TO GET LISTING OPTION)        1303.000
*                                                                       1304.000
* OUTPUTS:                                                              1305.000
*        NONE                                                           1306.000
*                                                                       1307.000
AUDLOGIM EQU       $                                                    1308.000
         PUSH                      SAVE REGISTERS                       1309.000
         LA        R2,INFO.3       MESSAGE TEMPLATE                     1310.000
AUDLOGI2 EQU       $               ENTRY FOR LOG VOL/SAVEFILE BRIEF     1311.000
         STW       R7,PROTADDR     SAVE PROTOTYPE ADDRESS               1312.000
         TRR       R3,R5           ADDRESS OF FILENAME INTO R5          1313.000
         LA        R3,INFO.BLK     VARIABLE PARAMETER BLOCK             1314.000
         LW        R4,FUN.SAVE     FUNCTION STRING ADDRESS              1315.000
         STW       R4,FUNCTION,R3  INTO PARAMETER BLOCK                 1316.000
*                                                                       1317.000
* SET UP A 16 CHAR COUNTED STRING ADDRESS FOR THE VOLUME                1318.000
* DIRECTORY AND FILE NAMES RESPECTIVELY IN PARAMETERS                   1319.000
* LGIM.VOL, LGIM.DIR AND LGIM.FIL.                                      1320.000
*                                                                       1321.000
         ORMW      R5,SZ.MASK      (BYTE 0 = 16B)                       1322.000
         STW       R5,LGIM.FIL,R3  INTO PARAMETER LIST                  1323.000
*                                                                       1324.000
         ADI       R5,16B          SKIP TO DIRECTORY NAME               1325.000
         STW       R5,LGIM.DIR,R3                                       1326.000
*                                                                       1327.000
         ADI       R5,16B          SKIP TO VOLUME NAME                  1328.000
         STW       R5,LGIM.VOL,R3                                       1329.000
*                                                                       1330.000
* GO AND PRINT THE LOG.                                                 1331.000
* NOTE THAT IF THE OPT.LIST WORD IN THE OPTION BLOCK TABLE              1332.000
* IS ZERO THEN THE LOG GOES TO THE CURRENT AUDIT TRAIL STREAM,          1333.000
* BUT IF IT CONTAINS AN ADDRESS THEN THE LOG MUST GO TO THE             1334.000
* LISTING FILE POINTED TO BY THAT ADDRESS.                              1335.000
*                                                                       1336.000
* ROUTINE PRINTLIN DECIDES THIS                                         1337.000
*                                                                       1338.000
         BL        PRINTLIN        PRINT THE LINE                       1339.000
*                                                                       1340.000
         POP                       RESTORE REGISTERS                    1341.000
         TRSW      R0                                                   1342.000
*                                                                       1343.000
* ENTRY FOR BRIEF LOGS OF VOL/SAVEFILE - THE SIZE OF THE FILE           1344.000
* IS ADDED TO THE LOG                                                   1345.000
*                                                                       1346.000
* R3 AND R7 ARE SET UP READY FOR 'AUDLOGI2', SO DONT CLOBBER THEM.      1347.000
*                                                                       1348.000
AUDLOGI1 PUSH                                                           1349.000
         LA        R2,RD1.BUF      RD FOR FILE                          1350.000
         TRR       R3,R5           SAVE R3                     82-1186  1351.000
         LA        R3,INFO.BLK     PARAMETER BLOCK ADDRESS     82-1186  1352.000
         LH        R6,RD.RTYPE,X2  IS IT A PARTITION?          82-1186  1353.000
         CI        R6,5            IS IT ROOT DIRECTORY?        S860445 1354.000
         BEQ       AUDLOG.1        IF YES, SPECIAL CASE         S860445 1355.000
         CI        R6,14                                       82-1186  1356.000
         BLT       AUDLOGFI        BRANCH IF FILE              82-1186  1357.000
         LW        R6,RD.PGLEN,X2  GET PART SIZE IN PAGES      82-1186  1358.000
         BU        AUDLOGCM        JUMP                        82-1186  1359.000
AUDLOGFI LW        R6,RD.EOMBL,X2  GET FILE SIZE IN BLOCKS     82-1186  1360.000
AUDLOGCM STW       R6,LGVO.SIZ,R3  INTO PARAMETER BLOCK         82-1186 1361.000
         TRR       R5,R3           RESTORE R3                  82-1186  1362.000
*                                                                       1363.000
         LA        R2,RD1.BUF      GET ADDRESS OF RD BACK      82-1186  1364.000
         LW        R6,RD.DNAME,R2  DIRECTORY NAME OF RESOURCE           1365.000
         CAMW      R6,ROOT.A       IS IT THE ROOT DIRECTORY (^) ?       1366.000
         BNE       AUDLOGIB        NO, BRANCH                           1367.000
         LA        R2,INFO.41      MESSAGE TEMPLATE '@VOL^RES'          1368.000
         BU        AUDLOGI2        COMMON CODE                          1369.000
AUDLOGIB LA        R2,INFO.4       MESSAGE TEMPLATE                     1370.000
         BU        AUDLOGI2        COMMON CODE                          1371.000
*                                                                       1372.000
* BRIEF LOG THE ROOT DIRECTORY WITH FORMAT '@VOL ^ SIZE=XXXXX'  S860445 1373.000
*        INP:      R2 = RD BUFFER ADDR                          S860445 1374.000
*                  R3 = INFO.BLK ADDR                           S860445 1375.000
*                  R5 = POINTER TO FILE/DIR/VOL SEQUENCE        S860445 1376.000
*                  R7 = PROTOTYPE ENTRY ADDR                    S860445 1377.000
*                                                                       1378.000
AUDLOG.1 EQU       $               PREPARE INFO.BLK             S860445 1379.000
         LW        R6,RD.EOMBL,R2  GET ROOT DIRECTORY SIZE      S860445 1380.000
         STW       R6,8,R3         STORE INTO INFO.BLK          S860445 1381.000
         STW       R7,PROTADDR     SAV PROTOTYPE ENTRY ADDR     S860445 1382.000
         ADI       R5,PROFVN.O     ADJUST TO VOLUME POSITION    S860445 1383.000
         ORMW      R5,SZ.MASK      SIZE MASK                    S860445 1384.000
         STW       R5,4,R3         STORE INTO WORD1 OF INFO.BLK S860445 1385.000
         LW        R4,FUN.SAVE     FUNCTION STRING              S860445A1386.000
         STW       R4,FUNCTION,R3                               S860445A1387.000
         LA        R2,INFO.41R     GET MESSAGE TEMPLATE         S860445 1388.000
         BL        PRINTLIN        PRINT LINE                   S860445 1389.000
         POP                                                    S860445 1390.000
         TRSW      R0              RETURN                       S860445 1391.000
         TITLE     PRINT PAGE HEADINGS                                  1392.000
*                                                                       1393.000
* THIS ENTRY POINT PUTS OUT THE PAGE HEADINGS.                          1394.000
* IT IS CALLED FROM THE MAIN FUP ROUTINE ONCE.                          1395.000
*                                                                       1396.000
HEADER   EQU       $                                                    1397.000
         PUSH                      SAVE REGISTERS                       1398.000
         LA        R2,HDR1         FIRST HEADER LINE                    1399.000
         BL        FORMATOT                                             1400.000
         POP                                                            1401.000
         TRSW      R0                                                   1402.000
         TITLE     LOG VOLUME/SAVEFILE (FULL AND BRIEF)                 1403.000
*                                                                       1404.000
* THIS ROUTINE IS CALLED WHEN EITHER A FULL OR A BRIEF LOG              1405.000
* IS REQUIRED.                                                          1406.000
*                                                                       1407.000
* THE FORMAT OF A FULL LOG IS THE SAME AS THE AUDIT TRAIL               1408.000
* FOR COMMANDS LIKE 'CREATE' AND 'DELETE'.                              1409.000
*                                                                       1410.000
* THE FORMAT OF A BRIEF LOG IS THE SAME AS FOR 'LOG IMAGE',             1411.000
* PLUS THE FILE SIZE                                                    1412.000
*                                                                       1413.000
* INPUTS:                                                               1414.000
*        R2 = ADDRESS OF PROTOTYPE ENTRY                                1415.000
*        FUN.SAVE= FUNCTION STRING ADDRESS                              1416.000
*        RD1.BUF = RD OF FILE BEING LOGGED                              1417.000
*                                                                       1418.000
* OUTPUTS:                                                              1419.000
*        NONE                                                           1420.000
*                                                                       1421.000
         BOUND     1W                                                   1422.000
AUDLOGSV EQU       $                                                    1423.000
AUDLOGRE EQU       $                                                    1424.000
AUDLOGVO PUSH                      SAVE REGISTERS                       1425.000
         STW       R2,PROTADDR     SAVE PROTOTYPE ADDRESS               1426.000
         LW        R3,PROFOA.O,R2  ADDRESS OF OPTION BLOCK              1427.000
         TBM       OPT.B.BR,OPT.FLGS,R3                                 1428.000
         BS        AUDLOGV1        BRANCH IF A BRIEF LOG REQUIRED       1429.000
*                                                                       1430.000
* A FULL LOG IS REQUIRED.                                               1431.000
* FORMAT THE LINE AND PRINT IT TO THE CURRENT AUDIT DEVICE              1432.000
* OR THE LISTING FILE DEPENDING ON OPT.LIST                             1433.000
*                                                                       1434.000
* AUD.FULL DECIDES THIS                                                 1435.000
*                                                                       1436.000
* R5 IS USED BY AUD.FULL ROUTINE TO DECIDE WHETHER THE 'FROM'           1437.000
* OR THE 'TO' RESOURCE NAME IS TO BE USED.                              1438.000
* THIS ENTRY POINT REQUIRES THE 'FROM' NAME.                            1439.000
*                                                                       1440.000
         ZR        R5                                                   1441.000
         BL        AUD.FULL        FORMAT THE LINE                      1442.000
*                                                                       1443.000
AUDLOGV3 POP                       RESTORE REGISTERS                    1444.000
         TRSW      R0                                                   1445.000
*                                                                       1446.000
* A BRIEF LOG IS REQUIRED.                                              1447.000
* SET UP INPUT PARAMETERS FOR THE LOG IMAGE ROUTINE, AND                1448.000
* CALL IT.                                                              1449.000
* THE LOG IMAGE ROUTINE HANDLES LISTING FILE CONSIDERATIONS.            1450.000
*                                                                       1451.000
AUDLOGV1 TRR       R2,R3           PTR TO FILE/DIR/VOL SEQUENCE         1452.000
         TRR       R2,R7           ADDRESS OF PROTOTYPE ENTRY           1453.000
         BL        AUDLOGI1        COMMON CODE                          1454.000
         BU        AUDLOGV3        COMMON EXIT                          1455.000
         TITLE     PRINT AUDIT LINE TO OT/FILE                          1456.000
*                                                                       1457.000
* THIS ROUTINE DECIDES WHETHER THE AUDIT LINE IS TO GO TO THE           1458.000
* TERMINAL OR TO A LOG FILE DEPENDING ON THE OPT.LIST OPTION            1459.000
*                                                                       1460.000
* PROTADDR HOLDS THE PROTOTYPE ADDRESS ON INPUT                         1461.000
* R2 HOLDS THE ADDRESS OF THE MESSAGE TEMPLATE                          1462.000
*                                                                       1463.000
PRINTLIN PUSH                      SAVE REGISTERS                       1464.000
         LW        R3,PROTADDR     PROTOTYPE ADDRESS                    1465.000
         LW        R3,PROFOA.O,R3  OPTION BLOCK ADDRESS                 1466.000
         LW        R7,OPT.LIST,R3  LIST TO FILE OPTION SET??            1467.000
         BNZ       PRINT1          BRANCH IF TO A FILE                  1468.000
         LA        R3,INFO.BLK     PARAMETER LIST                       1469.000
         BL        FORMATOT        OUTPUT TO TERMINAL                   1470.000
PRINT2   POP                       RESTORE REGISTERS                    1471.000
         TRSW      R0              AND EXIT                             1472.000
*                                                                       1473.000
* PUT TO LIST FILE                                                      1474.000
*                                                                       1475.000
PRINT1   LA        R3,INFO.BLK     PARAMETER LIST                       1476.000
         BL        FORMATLG        OUTPUT TO FILE                       1477.000
         BU        PRINT2          AND EXIT                             1478.000
         TITLE     FORMAT AND PRINT LOG TO LIST FILE                    1479.000
*                                                                       1480.000
* THIS ROUTINE IS THE SAME AS THE FORMATOT ROUTINE                      1481.000
* EXCEPT THE OUTPUT IS WRITTEN DIRECTLY TO THE LOG FILE                 1482.000
*                                                                       1483.000
FORMATLG EQU       $                                                    1484.000
         PUSH                      SAVE REGISTERS                       1485.000
         LA        R6,LINEBUFR                                          1486.000
         LH        R7,LINELNGH                                          1487.000
         BL        FORMATST                                             1488.000
         SRL       R7,16                                                1489.000
*                                                                       1490.000
         LA        R2,LOGFCB                                            1491.000
         LA        R6,LINEBUFR                                          1492.000
         SBR       R7,0            INDICATE BYTE XFER COUNT             1493.000
         BL        WSEQ            WRITE LOG TO FILE                    1494.000
         POP                       RESTORE REGISTERS                    1495.000
         TRSW      R0                                                   1496.000
         END                                                            1497.000
