z/OS UNIX System Services File System Interface Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


BPXYATTR — Map file attributes for v_ system calls

z/OS UNIX System Services File System Interface Reference
SA23-2285-00

*        %GOTO ATTRPRO  ;        /* Bilingual header
         MACRO
         BPXYATTR &DSECT=YES,&LIST=YES
         GBLB  &ATTR411
         AIF   (&ATTR411 EQ 1).E411
&ATTR411 SETB  1
         AIF   ('&LIST' EQ 'YES').A411
         PUSH  PRINT  BPXYATTR: File attributes for v_ system calls
         PRINT OFF
         AGO   .A411
*                                  */
*%ATTRPRO : ;
*/****START OF SPECIFICATIONS******************************************
*
*    $MAC (BPXYATTR) COMP(SCPX1) PROD(BPX):
*
*01* MACRO NAME: BPXYATTR
*
*01* DSECT NAME: N/A
*
*01* DESCRIPTIVE NAME: Attribute Structure for the Logical File System
*
*02*   ACRONYM: ATTR
**/
*/*01* PROPRIETARY STATEMENT=                                        */
*/***PROPRIETARY_STATEMENT********************************************/
*/*                                                                  */
*/*                                                                  */
*/* LICENSED MATERIALS - PROPERTY OF IBM                             */
*/* THIS MACRO IS "RESTRICTED MATERIALS OF IBM"                      */
*/* 5650-ZOS (C) COPYRIGHT IBM CORP. 1993, 2004                      */
*/*                                                                  */
*/* STATUS= HBB7709                                                  */
*/*                                                                  */
*/***END_OF_PROPRIETARY_STATEMENT*************************************/
*/*
*
*01* EXTERNAL CLASSIFICATION:  GUPI
*01* END OF EXTERNAL CLASSIFICATION:
*
*01* FUNCTION:
*
*      The ATTR maps file attributes that the logical file system is
*      interested in.
*
*01* METHOD OF ACCESS:
*
*02*   PL/X:
*
*        %INCLUDE SYSLIB(BPXYATTR)
*        By default, the ATTR is based on AttrPtr.  If
*        other basing is desired, use %ATTRBASE='BASED(XXXXXX)'.
*        If %ATTRBASE='BASED(ATTRPTR)' is coded, a Declare for
*        ATTRPTR is also generated.
*
*        By default, the ATTR uses no VIA.  If access
*        register usage is desired, code %ATTRVIA='VIA(XXXXXX)'.
*        If %ATTRVIA='VIA(AttrAlet)' is coded, a Declare for
*        AttrAlet is also generated.
*
*02*   ASM:
*
*        BPXYATTR  DSECT=YES|NO,LIST=YES|NO
*
*        With DSECT=NO, storage is allocated in line
*        and addressability is provided thru that DSECT or CSECT.
*        With DSECT=YES, a DSECT is produced and "USING ATTR,reg"
*        is required for addressability.  Here "reg" contains the
*        address of ATTR#LENGTH bytes of storage.
*        The defaults are DSECT=YES and LIST=YES.
*
*01* SIZE: Release dependent.  Refer to the mapping.
*
*01* POINTED TO BY: In dynamic storage of LFS routines or caller of
*                   Vnode interface services.
*
*01* CREATED BY: LFS Syscall Routines and callers of Vnode interface
*                services
*
*01* DELETED BY: LFS Syscall Routines or caller of Vnode interface
*                services
*
*01* STORAGE ATTRIBUTES:
*02*   SUBPOOL: N/A
*02*   KEY: N/A
*02*   RESIDENCY: Writeable Storage
*
*01* FREQUENCY: 1 per syscall
*
*01* SERIALIZATION: N/A
*
*01* DEPENDENCIES: None
*
*01* NOTES: The following mapping macros are closely related.
*
*      BPXYATT  - Interface between an application and the LFS for
*                 BPX1CHA (chattr).  It maps the subset of BPXYATTR
*                 fields which can be modified, and the set flags.
*                 Fields match corresponding fields in BPXYATTR.
*                 The overall structures are not related.
*                 (Field size and type match, but not the offset.)
*                 AttSetFlags, AttGenMask, and AttGenValue structures
*                 match AttrSetFlags, AttrGenMask, and AttrGenValue
*                 in BPXYATTR.
*
*      BPXYATTR - Vnode interface to the LFS and PFS for file
*                 attributes.
*                 Fields match corresponding fields in BPXYATT.
*                 AttrStat, AttrStat2, and AttrStat3 structures match
*                 st_Part1, st_Part2,  and st_Part3 in BPXYSTAT.
*
*      BPXYSTAT - Interface between an application and the LFS for
*                 BPX1STA (stat).  It is the POSIX interface to the LFS
*                 for file attributes.  The st_Part1, st_Part2, and
*                 st_Part3 structures match AttrStat, AttrStat2,
*                 and AttrStat3 in BPXYATTR.  The entire BPXYSTAT
*                 structure also matches the stat.h structure.
*
*      BPXZATTR - Prior name of BPXYATTR.  To facilitate migration,
*                 BPXZATTR includes BPXYATTR.  In all new code,
*                 BPXYATTR should be used.
*
*      BPXYVFSI - C program interface for the BPX1V (v_) services.
*                 The ATTR structure in BPXYVFSI matches the BPXYATTR
*                 structure.
*
*      stat.h   - C program interface for stat().  It is the POSIX C
*                 form of BPXYSTAT.  The entire stat.h structure
*                 matches the BPXYSTAT structure.
*
*
*01* COMPONENT: z/OS UNIX (SCPX1)
*
*01* DISTRIBUTION LIBRARY:  AMACLIB
*
*01* EYE-CATCHER: ATTR
*02*   OFFSET:  0
*02*   LENGTH:  4
*
****END OF SPECIFICATIONS*********************************************/
*        %GOTO ATTRPLS   ;        /* Bilingual header
.A411    ANOP  ,
**  BPXYATTR:  File attributes for callable services
**  Used By:  VRP VLK VRW VCR VMD VSY VGA VSA
         AIF   ('&DSECT' EQ 'NO').B411
ATTR                  DSECT ,
         AGO   .C411
.B411    ANOP  ,
                     DS    0D                 Clear storage
ATTR                 DC    XL(ATTR#LENGTH)'00'
                     ORG   ATTR
.C411    ANOP  ,
ATTRBEGIN            DS    0D
*
ATTRHDR              DS    0D     ATTR Header
ATTRID               DC    C'ATTR'                                     *
                                  Eye Catcher
ATTRSP               DC    AL1(ATTR#SP)                                *
                                  Subpool number of this ATTR
ATTRLEN              DC    AL3(ATTR#LENGTH)                            *
                                  Length of this Attr
ATTRSTAT             DS    0D     stat() structure
ATTRMODE             DS    0F     File Mode mapped by BPXYMODE
ATTRTYPE             DS    AL1    First byte of mode is file type,     *
                                  mapped by BPXYFTYP
ATTRREMMODE          DS    AL3    Name to know the last 3 byte
ATTRINO              DS    F      File Serial Number
ATTRDEV              DS    F      Device ID of the file
ATTRLINK             DS    F      Number of links
ATTRUID              DS    F      User ID of owner of the file
ATTRGID              DS    F      Group ID of Group of file
ATTRSIZE             DS    0D     File Size in bytes, for              *
                                  regular file.  This is               *
                                  unspecified for others.
ATTRSIZE_H           DS    F      First word of size
ATTRSIZE_L           DS    F      Second word of size
ATTRATIME            DS    F      Time of last access
ATTRMTIME            DS    F      Time of last data mod
ATTRCTIME            DS    F      Time of last file stat chng
ATTRMAJORNUMBER      DS    F      Major number for this file,          *
                                  if it is a character                 *
                                  special file.
ATTRMINORNUMBER      DS    F      Minor number for this file,          *
                                  if it is a character                 *
                                  special file.
ATTRSTAT2            DS    0F     second part of the stat
ATTRAUDITORAUDIT     DS    0F     Area for auditor audit info
ATTRAUDITORAUDIT1    DS    XL1     Auditor audit byte 1
ATTRAUDITORAUDIT2    DS    XL1     Auditor audit byte 2
ATTRAUDITORAUDIT3    DS    XL1     Auditor audit byte 3
ATTRAUDITORAUDIT4    DS    XL1     Auditor audit byte 4
ATTRAAUDIT           EQU   X'01'    ON = auditor audit info            *
                                         change request                *
                                         (ON when AttrMAAudit = ON)
ATTRUSERAUDIT        DS    0F     Area for user audit info
ATTRUSERAUDIT1       DS    XL1     User audit byte 1
ATTRUSERAUDIT2       DS    XL1     User audit byte 2
ATTRUSERAUDIT3       DS    XL1     User audit byte 3
ATTRUSERAUDIT4       DS    XL1     User audit byte 4
ATTRNOTAAUDIT        EQU   X'01'    Always OFF to indicate             *
                                           this is NOT auditor audit   *
                                           info
ATTRBLKSIZE          DS    F      File Block Size
ATTRCREATETIME       DS    F      File Creation Time
ATTRAUDITID          DS    CL16   RACF File ID for auditing
*
ATTRGUARDTIME        ORG   ATTRAUDITID   Guard Time                @D7A
ATTRGUARDTIMESEC     DS    F               Seconds                 @D7A
ATTRGUARDTIMEMSEC    DS    F               Micro_Seconds           @D7A
                     ORG   ATTRAUDITID                             @D7A
ATTRCVER             DS    CL8           Creation Verifier         @D7A
                     DS    CL8           Spacer                    @D7A
*
ATTRRES01            DS    F      Reserved
ATTRGENMASK          DS    0F     Mask to indicate which               *
                                  General attributes bit to            *
                                  modify                               *
                                  --Masks AttrGenValue
ATTROPAQUEMASK       DS    XL3    Opaque attribute flags -             *
                                  Reserved for ADSTAR use
ATTRVISIBLEMASK      DS    XL1    Visible attribute flags
ATTRNODELFILESMASK   EQU   X'20'  Files should not be deleted      @P1A
ATTRSHARELIBMASK     EQU   X'10'  Shared Library                   @D6A
ATTRNOSHAREASMASK    EQU   X'08'  No shareas flag                  @D8A
ATTRAPFAUTHMASK      EQU   X'04'  APF authorized flag              @D6A
ATTRPROGCTLMASK      EQU   X'02'  Program controlled flag          @D6A
ATTREXTLINKMASK      EQU   X'01'  External Symlink flag                *
                                  Mask bit not used on                 *
                                  vn_setattr
ATTRSETFLAGS         DS    0XL4   Flags - which fields to set
ATTRSETFLAGS1        DS    XL1    Flag byte 1
ATTRMODECHG          EQU   X'80'  Change to the mode indicated
ATTROWNERCHG         EQU   X'40'  Change to Owner indicated
ATTRSETGEN           EQU   X'20'  Set General attributes
ATTRTRUNC            EQU   X'10'  Truncate size
ATTRATIMECHG         EQU   X'08'  Change the Atime
ATTRATIMETOD         EQU   X'04'  Change to the Current Time
ATTRMTIMECHG         EQU   X'02'  Change the Mtime
ATTRMTIMETOD         EQU   X'01'  Change to the Current Time
ATTRSETFLAGS2        DS    XL1    Flag byte 2
ATTRMAAUDIT          EQU   X'80'  Modify auditor audit info
ATTRMUAUDIT          EQU   X'40'  Modify user audit info
ATTRCTIMECHG         EQU   X'20'  Change the Ctime
ATTRCTIMETOD         EQU   X'10'  Change Ctime to the Current          *
                                  Time
ATTRREFTIMECHG       EQU   X'08'  Change the RefTime
ATTRREFTIMETOD       EQU   X'04'  Change RefTime to Current Time
ATTRFILEFMTCHG       EQU   X'02'  Change File Format               @D5A
ATTRGUARDTIMECHK     EQU   X'01'  Guard Time Check Requested       @D7A
ATTRSETFLAGS3        DS    XL1    Flag byte 3 - reserved
ATTRCVERSET          EQU   X'80'  Creation Verifier Set            @D7A
ATTRCHARSETIDCHG     EQU   X'40'  CharSetId Change                 @D9A
ATTRLP64TIMES        EQU   X'20'  64-bit time fields used          @DDA
ATTRSECLABELCHG      EQU   X'10'  Seclabel Change                  @DEA
ATTRSETFLAGS4        DS    XL1    Flag byte 4 - reserved               *

ATTRSTAT3            DS    0F     Third part of the stat
ATTRCHARSETID        DS    CL12   Coded Character set id
                     ORG   ATTRCHARSETID                           @D9A
ATTRFILETAG          DS    CL4       File Tag                      @D9A
                     DS    CL8       Reserved                      @D9A
                     ORG   ATTRCHARSETID                           @DFA
ATTRVINFO            DS    0CL12     Cross MtPt Information:       @DFA
ATTRVFSTOK           DS    CL8         Cross MtPt Vfs Tok          @DFA
ATTRVMTPTINO         DS    CL4         Root's MtPt's Ino           @DFA
ATTRBLOCKS_D         DS    0F     Double word num blocks
ATTRBLOCKS_H         DS    F      First word of blocks
ATTRBLOCKS           DS    F      Number of blocks allocated
ATTRGENVALUE         DS    0F     General attribute values             *
                                  --Masked by  AttrGenMask
ATTROPAQUE           DS    XL3    Opaque attribute flags -             *
                                  Reserved for ADSTAR use
ATTRVISIBLE          DS    XL1    Visible attribute flags
ATTRNODELFILES       EQU   X'20'  Files should not be deleted      @P1A
ATTRSHARELIB         EQU   X'10'  Shared Library flag              @D8A
ATTRNOSHAREAS        EQU   X'08'  No shareas flag                  @D6A
ATTRAPFAUTH          EQU   X'04'  APF authorized flag              @D6A
ATTRPROGCTL          EQU   X'02'  Program controlled flag          @D6A
ATTREXTLINK          EQU   X'01'  External Symlink
ATTRREFTIME          DS    F      Reference Time -                     *
                                  Reserved for ADSTAR use
                     DS    0F     Align ATTRFID
ATTRFID              DS    CL8    File Identifier
ATTRFILEFMT          DS    XL1    File Format                      @D5A
ATTRFSPFLAG2         DS    XL1    IFSP_FLAG2                       @DBA
ATTRACCESSACL        EQU   X'80'  Access ACL exists                @DBA
ATTRFMODELACL        EQU   X'40'  File Model ACL exists            @DBA
ATTRDMODELACL        EQU   X'20'  Directory Model ACL exists       @DBA
ATTRRES02            DS    CL2    Reserved for future              @DBC
*
ATTRCTIMEMSEC        DS    F      Ctime Micro_Seconds              @D7A
ATTRSECLABEL         DS    CL8    Security Label                   @DBA
ATTRRES03            DS    CL4    Reserved for future              @DBC
ATTRENDVER1          EQU   *      End of Version 1 ATTR
*
ATTRATIME64          DS    D      Access Time                      @DAA
ATTRMTIME64          DS    D      Data Mod Time                    @DAA
ATTRCTIME64          DS    D      Medadata Change Time             @DAA
ATTRCREATETIME64     DS    D      File Creation Time               @DAA
ATTRREFTIME64        DS    D      Reference Time                   @DAA
                     DS    D                                       @DAA
                     DS    CL16   Reserved                         @DAA
ATTRENDVER2          EQU   *      End of Version 2 ATTR            @DAA
*
*   Constants
*
ATTR#LEN             EQU   *-ATTRBEGIN                                 *
                                    Length of ATTR
ATTR#LENGTH          EQU   ATTR#LEN Length of ATTR
ATTR#MINLEN          EQU   ATTRENDVER1-ATTRBEGIN                       *
                                    Minimum length of valid ATTR
ATTR#SP              EQU   2        Subpool for the ATTR
** BPXYATTR End
         SPACE 3
         AIF   ('&LIST' EQ 'YES').E411
         POP   PRINT
.E411    ANOP  ,
         MEND  ,                  Terminating PL/X comment           */
*
*%ATTRPLS : ;
*                                                               @EJECT;
* %IF ATTRBASE = '' %THEN
*   %DO;
*     %ATTRBASE = 'Based(AttrPtr)';
*   %END;
* %IF TRANSLATE(ATTRBASE) = 'BASED(ATTRPTR)' %THEN
*   %DO;
*     DCL AttrPtr Ptr(31);           /* Pointer to the ATTR          */
*   %END;
* %IF TRANSLATE(ATTRVIA) = 'VIA(ATTRALET)' %THEN
*    %DO;
*      Dcl AttrAlet Ptr(31);         /* Alet of the ATTR             */
*    %END;
*
*%IF AsaxmacF63 = ''
*   %Then %AsaxmacF63 = 'Char(8)';                            /* @DCA*/
*
*Dcl
* 1    Attr       ATTRBASE ATTRVIA,
*  3   AttrHdr,                   /* +00 Attr Header             @D2A*/
*    5 AttrID     Char(4),        /* +00 EBCDIC ID               @D2C*/
*    5 AttrSP     Fixed(8),       /* +04 Subpool number of this Attr
*                                                                @D2C*/
*    5 AttrLen    Fixed(24),      /* +05 Length of this Attr     @D2C*/
*  3   AttrStat,                  /* +08 stat() structure            */
*    5 AttrMode       Fixed(32),  /*     File Mode mapped by BPXYMODE*/
*      7  AttrType    Fixed(8),   /*     First byte of mode is file
*                                          type, mapped by BPXYFTYP  */
*      7  AttrRemMode Fixed(24),  /*     Name to know the last 3 byte*/
*    5 AttrIno        Fixed(32),  /* +0C File Serial Number          */
*    5 AttrDev        Fixed(32),  /* +10 Device ID of the file       */
*    5 AttrLink       Fixed(32),  /* +14 Number of links             */
*    5 AttrUid        Fixed(31),  /* +18 User ID of owner of the file*/
*    5 AttrGid        Fixed(31),  /* +1C Group ID of Group of file   */
*    5 AttrSize Char(8) Bdy(8),   /* +20 File Size in bytes, for
*                                          regular file.  This is
*                                          unspecified, for others.  */
*       7 AttrSize_h  Fixed(31),  /* +20 First word of size          */
*       7 AttrSize_l  Fixed(32),  /* +24 Second word of size         */
*    5 AttrAtime      Fixed(31),  /* +28 Time of last access     @P0C*/
*    5 AttrMtime      Fixed(31),  /* +2C Time of last data mod   @P0C*/
*    5 AttrCtime      Fixed(31),  /* +30 Time of last file stat chng
*                                                                @P0C*/
*  3 AttrMajorNumber Fixed(32),   /* +34 Major number for this file,
*                                          if it is a character
*                                          special file.             */
*  3 AttrMinorNumber Fixed(32),   /* +38 Minor number for this file,
*                                          if it is a character
*                                          special file.             */
*  3   AttrStat2,                 /* +3C second part of the stat     */
*    5 AttrAuditorAudit Bit(32),  /* +3C Area for auditor audit info */
*      7 *              Bit(31),  /*       First 31 bits         @D1A*/
*      7 AttrAAudit     Bit(1),   /*       ON = auditor audit info
*                                               change request
*                                          (ON when AttrMAAudit = ON)
*                                                                @D1A*/
*    5 AttrUserAudit    Bit(32),  /* +40 Area for user audit info    */
*      7 *              Bit(31),  /*       First 31 bits         @D1A*/
*      7 AttrNotAAudit  Bit(1),   /*       Always OFF to indicate
*                                          this is NOT auditor audit
*                                          info                  @D1A*/
*    5 AttrBlkSize     Fixed(31), /* +44 File Block Size             */
*    5 AttrCreateTime  Fixed(31), /* +48 File Creation Time      @P0C*/
*    5 * UNION         Char(16) Bdy(Word),                     /*@D7A*/
*      7 AttrAuditID    Char(16), /* +4C RACF File ID for auditing   */
*
*      7 AttrGuardTime ,          /*     Guard Time Value:       @D7A*/
*        8 AttrGuardTimeSec  Fixed(32), /* Seconds - compare     @D7A
*                                  against either AttrCtime or
*                                  AttrCtime64L                  @DCA*/
*        8 AttrGuardTimeMsec Fixed(32),       /* Micro-seconds   @D7A*/
*
*      7 AttrCver       Char(8),  /*     Creation Verifier       @D7A*/
*
*    5 *               Fixed(32), /* +5C Reserved                    */
*
*  3 AttrGenMask  Bit(32),        /* +60 Mask to indicate which
*                                        General attributes bit to
*                                        modify
*                                        --Masks AttrGenValue    @D1A*/
*    5 AttrOpaqueMask   Bit(24),  /*     Opaque attribute flags -
*                                        Reserved for ADSTAR use @D1A*/
*    5 AttrVisibleMask  Bit(8),   /*     Visible attribute flags @D1A*/
*      7 AttrRsvMask    Bit(2),   /*     Reserved           @D8C @P1C*/
*      7 AttrNoDelFilesMask Bit(1),/*    Files should not be deleted
*                                        from directory          @P1A*/
*      7 AttrShareLibMask Bit(1), /*     Shared Library          @D8A*/
*      7 AttrNoShareasMask Bit(1), /*    do not run in shareas   @D6A*/
*      7 AttrApfAuthMask Bit(1),  /*     Program is APF auth     @D6A*/
*      7 AttrProgCtlMask Bit(1),  /*     Program controlled      @D6A*/
*      7 AttrExtLinkMask Bit(1),  /*     External Symlink flag
*                                        Mask bit not used on
*                                        vn_setattr              @D1A*/
*  3 AttrSetFlags    Bit(32),     /* +64 Flags - which fields to set */
*    5 AttrModeChg       Bit(1),  /*     Change to the mode indicated*/
*    5 AttrOwnerChg      Bit(1),  /*     Change to Owner indicated   */
*    5 AttrSetGen        Bit(1),  /*     Set General attributes  @D1A*/
*    5 AttrTrunc         Bit(1),  /*     Truncate size           @D2C*/
*    5 AttrATimeChg    Bit(1),    /*     Change the Atime            */
*    5 AttrAtimeTOD    Bit(1),    /*     Change to the Current Time  */
*    5 AttrMTimeChg    Bit(1),    /*     Change the Mtime            */
*    5 AttrMtimeTOD    Bit(1),    /*     Change to the Current Time  */
*    5 AttrMAAudit   Bit(1),      /*     Modify auditor audit info   */
*    5 AttrMUAudit   Bit(1),      /*     Modify user audit info      */
*    5 AttrCTimeChg  Bit(1),      /*     Change the Ctime        @D1A*/
*    5 AttrCTimeTOD  Bit(1),      /*     Change Ctime to the Current
*                                        Time                    @D1A*/
*    5 AttrRefTimeChg    Bit(1),  /*     Change the RefTime      @D1A*/
*    5 AttrRefTimeTOD    Bit(1),  /*     Change RefTime to Current Time
*                                                                @D1A*/
*    5 AttrFileFmtChg    Bit(1),  /*     Change the File Format  @D5A*/
*    5 AttrGuardTimeChk  Bit(1),  /*     Guard Time Check Req    @D7A*/
*    5 AttrCverSet      Bit(1),   /*     Creation Verifier Set   @D7A*/
*    5 AttrCharSetIdChg Bit(1),   /*     Change File Info        @D9A*/
*    5 AttrLP64Times    Bit(1),   /*     64-bit time fields used @DCA*/
*    5 AttrSecLabelChg  Bit(1),   /*     Change Security Label   @DEA*/
*    5 *                Bit(12),  /*     Reserved bits           @DEC*/
*
*  3 AttrStat3,                   /* +68 Third part of the stat      */
*    5 * UNION,                   /*                             @DFA*/
*      7 AttrCharSetID Char(12),  /* +68 Character Set Information   */
*        9 AttrFileTag  Char(4),  /*        File Tag             @D9A*/
*        9 *            Char(8),  /*        Reserved             @D9A*/
*      7 AttrVInfo     Char(12),  /*     v_readdir/v_getattr Info@DFA*/
*        9 AttrVfsTok   Char(8),  /*        Cross MtPt Vfs Tok   @DFA*/
*        9 AttrVMtPtIno Char(4),  /*        Root's MtPt's Ino    @DFA*/
*    5 AttrBlocks_D Char(8) Bdy(word),/* +74 Double word num blocks  */
*      7 *           Fixed(31),
*      7 AttrBlocks  Fixed(32),   /* +78 Number of blocks allocated  */
*    5 AttrGenValue Bit(32),      /* +7C General attribute values
*                                     --Masked by  AttrGenMask   @D1A*/
*      7 AttrOpaque      Bit(24), /*     Opaque attribute flags
*                                        Reserved for ADSTAR use @D1A*/
*      7 AttrVisible     Bit(8),  /*     Visible attribute flags @D1A*/
*        9  AttrRsv      Bit(2),  /*     Reserved           @D8C @P1C*/
*        9 AttrNoDelFiles Bit(1), /*     Files should not be deleted
*                                        from directory          @P1A*/
*        9  AttrShareLib Bit(1), /*      Shared Library          @D8A*/
*        9  AttrNoShareas Bit(1), /*     do not run in shareas   @D6A*/
*        9  AttrApfAuth  Bit(1),  /*     Program is APF auth     @D6A*/
*        9  AttrProgCtl  Bit(1),  /*     Program controlled      @D6A*/
*        9  AttrExtLink  Bit(1),  /*     External Symlink        @D1A*/
*    5 AttrRefTime   Fixed(31),   /* +80 Reference Time -
*                                        Reserved for ADSTAR use @D1A*/
*    5 AttrFid Char(8) Bdy(Word), /* +84 File Identifier         @D2A*/
*    5 AttrFileFmt   Fixed(8),    /* +8C File Format             @D5A*/
*                                 /*     Value constants for filefmt */
*                                 /*     declared in BPXYFTYP    @D5A*/
*                                 /***********************************/
*    5 AttrFspFlag2  Bit(8),      /* +8D byte maps IFSP_FLAG2 -  @DBA*/
*                                 /*     These flags are copied by
*                                        HFS directly into this field.
*                                        The bit positions match those
*                                        defined in the FSP.     @DBA*/
*      7 AttrAccessAcl Bit(1),    /* 1 = Access Acl exists       @DBA*/
*      7 AttrFModelAcl Bit(1),    /* 1 = File Model Acl exists   @DBA*/
*      7 AttrDModelAcl Bit(1),    /* 1 = Dir Model Acl exists    @DBA*/
*      7 *             Bit(5),    /* Reserved for future fsp use @DBA*/
*                                 /***********************************/
*    5 *             Char( 2),    /* +8F Reserved for future     @DBC*/
*    5 AttrCtimeMsec Fixed(32),   /* +90 Micro-seconds of Ctime  @D7A*/
*    5 AttrSecLabel  Char(8),     /* +94 Security Label          @DBA*/
*    5 *             Char(4),     /* +9C Reserved for future     @DBC*/
*
*  3 AttrEndVer1     Char(0),     /* +A0--- End of Version 1 --- @D2C*/
*
*  3 AttrStat4 ,                  /* +A0 Fourth part of the stat @DAA*/
*    5 AttrLP64 ,                 /* +A0 LP64 Versions           @DAA*/
*      7 AttrAtime64     Char(8) Bdy(DWord), /*+A8 Access Time   @DAA*/
*        9 AttrAtime64S  AsaxmacF63 Bdy(DWord), /* Signed value  @DCA*/
*          11 *          Char(4),                             /* @DCA*/
*          11 AttrAtime64L Fixed(31),                         /* @DCA*/
*      7 AttrMtime64     Char(8) Bdy(DWord), /*+B0 Data Mod Time @DAA*/
*        9 AttrMtime64S  AsaxmacF63 Bdy(DWord), /* Signed value  @DCA*/
*          11 *          Char(4),                             /* @DCA*/
*          11 AttrMtime64L Fixed(31),                         /* @DCA*/
*      7 AttrCtime64     Char(8) Bdy(DWord), /*+B8 Metadata
*                                               Change Time      @DAA*/
*        9 AttrCtime64S  AsaxmacF63 Bdy(DWord), /* Signed value  @DCA*/
*          11 *          Char(4),                             /* @DCA*/
*          11 AttrCtime64L Fixed(31), /* compare w/AttrGuardTime @DCA*/
*      7 AttrCreateTime64  Char(8) Bdy(DWord),/*+C0 File
*                                               Creation Time    @DAA*/
*        9 AttrCreateTime64S  AsaxmacF63 Bdy(DWord), /* Signed   @DCA*/
*          11 *          Char(4),                             /* @DCA*/
*          11 AttrCreatetime64L Fixed(31),                    /* @DCA*/
*      7 AttrRefTime64   Char(8) Bdy(DWord), /*+C8 Reference Time@DAA*/
*        9 AttrReftime64S  AsaxmacF63 Bdy(DWord), /* Signed      @DCA*/
*          11 *          Char(4),                             /* @DCA*/
*          11 AttrReftime64L Fixed(31),                       /* @DCA*/
*      7   *             Char(8),     /*+D0 May be AttrIno64     @DAA*/
*
*    5 *               Char(16),  /* +D0 Reserved (1st consider  @DAA
*                                         space at +5C,+8D,+94)  @DAA*/
*  3 AttrEndVer2 Char(0),         /* +E0 End of Version 2        @DAA*/
*    /****************************************************************/
*    /* Add fields here for Version 3.                               */
*    /* NOTE that the increased length of the ATTR will have         */
*    /* migration considerations in the code that handles ATTR's.    */
*    /****************************************************************/
*  3 * Char(0) Bdy(Dword);        /* +E0 Ensure ATTR ends on doubleword
*                                          boundary                  */
*
*DCL
*  ATTR#ID     Char(4)   Constant('ATTR'),   /* Control Block Acronym*/
*  ATTR#LEN    Fixed(24) Constant(Length(ATTR)), /* Length of ATTR   */
*  ATTR#MINLEN Fixed(24) Constant(Offset(AttrEndVer1)), /* Minimum
*                                           length of valid ATTR @D2A*/
*  ATTR#VER2LEN Fixed(24) Constant(Offset(AttrEndVer2)), /* Length
*                                               of version 2     @DCA*/
*  ATTR#SP     Fixed(8) Constant(2);         /* Subpool for the ATTR */

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014