*DECK DB$STAT 
          IDENT  DB$STAT
          SST 
          IPARAMS 
*#
* *   DB$STAT -- FILE STATUS FUNCTION            PAGE  1
* *   C O GIMBER                                 11/13/75 
* 
* DC  PURPOSE 
* 
*     DETERMINE STATUS OF FILE. 
* 
* DC  ENTRY CONDITIONS
* 
*     PARAMETER = FILE LFN. 
* 
* DC  EXIT CONDITIONS 
* 
*     FUNCTION RETURN 
* 
*     0   LFN UNKNOWN 
*     1   LOCAL FILE
*     2   PERMANENT FILE
*#
          SPACE  4
 NOS      IFC    EQ,$"OS.NAME"$KRONOS$
  
 OPL      XTEXT  CPCOM       FOR STATUS MACRO 
  
 NOS      ENDIF 
          EJECT 
          LIST   F
          ENTRY  DB$STAT
DB$STAT   EQ   *+1S17 
          IFC    EQ,$"OS.NAME"$SCOPE $
          SA1    X1 
          MX0    42D
          BX6    X0*X1       (X6) = LFN ZERO FILLED 
          SA6    FDB
          PERM   FDB,RC 
          SA1    FDB
          MX0    55D
          LX1    -9 
          BX6    -X0*X1      (X6) = 5 BIT RETURN CODE 
          ZR   X6,DB$STAT    IF LFN UNKNOWN, RETURN 0 
          AX6    4           (X6) = 0 IF PF, 1 IF LOCAL FILE
          SX5    2
          IX6    X5-X6       2 - (X6) = RETURN CODE 
          EQ   DB$STAT
  
FDB       BSSZ   2
          ENDIF 
          IFC    EQ,$"OS.NAME"$KRONOS$
          SA1    X1 
          MX0    42D
          BX6    X0*X1
          MX0    59D
          BX6    -X0+X6      SET COMPLETE BIT 
          SA6    FET         STORE ZERO FILLED LFN IN DUMMY FET 
          STATUS FET
          SA1    FET
          MX0    48D
          BX6    -X0*X1 
          AX6    1
          ZR   X6,DB$STAT    IF LFN UNKNOWN, RETURN 0 
          STATUS  FET,P 
          SA1    FET+5
          MX0    54D
          LX1    -6 
          BX5    -X0*X1 
          SX5    X5-PMFT
          SX6    2
          ZR   X5,DB$STAT    IF PF, RETURN 2
          SX6    1
          EQ   DB$STAT       LOCAL FILE, RETURN 1 
  
FET       FILEB  ,,EPR,FET=7
          ENDIF 
          END 
