FSTD


1 ? label   FSTD

Purpose

Use the FSTD macro to generate a DSECT for the FST control block. FSTD maps information about CMS disk files in the FST returned by FSSTATE and FSOPEN.

Parameters

Optional Parameters:
label
is an optional assembler label for the statement. The first statement in the FSTD macro expansion is labeled FSTD.

Usage Notes

  1. The FSTD macroinstruction expands as follows:
             FSTD
    FSTD     DSECT
    FSTDFNFT DS    0CL16          filename and filetype
    FSTFNAME DS    CL8 -          filename
    FSTFTYPE DS    CL8 -          filetype
    FSTDATEW DS    1H -           DATE LAST WRITTEN - MMDD
    FSTTIMEW DS    1H -           TIME LAST WRITTEN - HHMM
    FSTWRPNT DS    1H -           WRITE POINTER - ITEM NUMBER
    FSTRDPNT DS    1H -           READ POINTER - ITEM NUMBER
    FSTFMODE DS    1H -           FILE MODE - LETTER AND NUMBER
    FSTRECCT DS    1H -           NUMBER OF LOGICAL RECORDS
    FSTFCLPT DS    1H -           FIRST CHAIN LINK POINTER
    FSTRECFM DS    1C -           F*1 - RECORD FORMAT - F OR V
    *
    *    FSTRECFM flag byte definitions
    *
    FSTDFIX  EQU   C'F' -         Fixed record format
    FSTDVAR  EQU   C'V' -         Variable record format
    *
    FSTFLAGS DS    1X -           F*2 - FST FLAG BYTE
    *
    *        FSTFLAGS DESCRIPTION
    *
    FSTRWDSK EQU   X'80' -        READ/WRITE DISK
    FSTRODSK EQU   X'00' -        READ/ONLY DISK
    FSTDSFS  EQU   X'10' -        Shared File FST
    FSTXRDSK EQU   X'40' -        EXTENSION OF R/O DISK
    FSTXWDSK EQU   X'C0' -        EXTENSION OF R/W DISK
    FSTEPL   EQU   X'20' -        EXTENDED PLIST
    FSTDIA   EQU   X'40' -        ITEM AVAILABLE
    FSTDRA   EQU   X'01' -        PREVIOUS RECORD NULL
             SPACE 1
    FSTCNTRY EQU   X'08' -        Century for date last written
    *                             (0=19, 1=20), corresponds to
    *                             FSTYEARW, FSTADATI.
             SPACE 1
    FSTACTRD EQU   X'04' -        ACTIVE FOR READING
    FSTACTWR EQU   X'02' -        ACTIVE FOR WRITING
    FSTACTPT EQU   X'01' -        ACTIVE FROM A POINT
    FSTFILEA EQU   X'07' -        THE FILE IS ACTIVE
    *
    FSTLRECL DS    1F -           LOGICAL RECORD LENGTH
    FSTBLKCT DS    1H -           NUMBER OF 800 BYTE BLOCKS
    FSTYEARW DS    1H -           YEAR LAST WRITTEN
    FSTFOP   DS    F              ALT. FILE ORIGIN POINTER
    FSTADBC  DS    F              ALT. NUMBER OF DATA BLOCKS
    FSTAIC   DS    F              ALT. ITEM COUNT
    FSTNLVL  DS    XL1            NUMBER OF POINTER BLOCK LEVELS
    FSTPTRSZ DS    XL1            LENGTH OF A POINTER ELEMENT
    FSTADATI DS    CL6            ALT. DATE/TIME(YY MM DD HH MM SS)
    FSTREALM DS    CL1            Real filemode
    FSTFLAG2 DS    1X -           F*3 - FST FLAG BYTE 2
    *        FSTFLAG2 DESCRIPTION
    *
    FSTPIPEU EQU   X'10' -        Reserved for CMS PIPELINES usage
             DS    CL2            - reserved -
    FSTDSIZE EQU   (*-FSTD) -     FST SIZE IN BYTES