> The basic STATUS IE
> STATUS ARRAY FROM F.FILE ELSE ARRAY = ''
> returns 30 + attributes is the definitions covered in a manual
>  some where?

I copied from the manual & came up with an include file for the STATUS
statement that mimics the very nice UNIVERSE.INCLUDE FILEINFO.H that IBM
gives us for FILEINFO().

Example code snippet:  

   $INCLUDE INCLUDE.LIBRARY UV.STATUS.STMT.H
   STATUS FILE.STATUS FROM FILEVAR THEN
      MOD.IDATE = FILE.STATUS< FSTAT$MOD.DATE>
      MOD.ODATE = OCONV( MOD.IDATE, 'D4/')


Help yourself:



* $INCLUDE : UV.STATUS.STMT.H
*
* Author: Charles D. Stevenson
* Date  : Jan. 1999
* Type  : General utility $include
* Desc. : Mnemonics for attributes of dynamic array from STATUS stmt.
* Mod Date   Who      Description
* ---------- --------
---------------------------------------------------
* 10/07/2002 cds33896 PRJ*37-Include filerev & other new STATUS stmt
info
*-----------------------------------------------------------------------
* Works with result of basic statement (not function!) :
*    "STATUS file.stat.array FROM file.variable"
*
* There should be, but is not, a similar include in UNIVERSE.INCLUDE
* as supplied by Ardent.  This makes up for that lack.
**********************************************************************

      EQU FSTAT$CURPOS TO 1              ; *Current position
Offset in bytes  from
                                         ; * in the file
beginning of file
      EQU FSTAT$EOF TO 2                 ; *End of file reached
1 if EOF, 0 if not
      EQU FSTAT$ACCERR TO 3              ; *Error accessing file
1 if error, 0 if not
      EQU FSTAT$CHARREAD TO 4            ; *Number  of  characters
                                         ; * available to read
      EQU FSTAT$MODE TO 5                ; *File mode
Permissions (convert to octal).
      EQU FSTAT$BYTES TO 6               ; *File size
In bytes
      EQU FSTAT$HARDLINKS TO 7           ; *Number of hard links
0 if no links
      EQU FSTAT$OWNERNO TO 8             ; *User ID of owner
Number assigned in /etc/passwd
      EQU FSTAT$GROUP TO 9               ; *Group ID of owner
Number assigned in /etc/passwd
      EQU FSTAT$INODE TO 10              ; *i-node number
Unique ID of file on file system
      EQU FSTAT$IDEV TO 11               ; *Device on which i-node
Number of device
                                         ; *  resides
      EQU FSTAT$CHARDEV TO 12            ; *Device for character
Number of device
                                         ; *  special or block
      EQU FSTAT$ACCESS.TIME TO 13        ; *Time of last access
Time in internal format
      EQU FSTAT$ACCESS.DATE TO 14        ; *Date of last access
Date in internal format
      EQU FSTAT$MOD.TIME TO 15           ; *Time of last modification
Time in internal format
      EQU FSTAT$MOD.DATE TO 16           ; *Date of last modification
Date in internal format
      EQU FSTAT$STAT.TIME TO 17          ; *Time of last status change
Time in internal format
      EQU FSTAT$STAT.DATE TO 18          ; *Date of last status change
Date in internal format
      EQU FSTAT$CHAROUTQ TO 19           ; *Number of characters left
                                         ; *  in output queue
(applicable
                                         ; *  to terminals only)
      EQU FSTAT$UNIXNAME TO 20           ; *UNIX filename
The internal  pathname
                                         ; *
uniVerse uses to access
                                         ; *
the file
      EQU FSTAT$TYPE TO 21               ; *uniVerse file type
Type 1 - 19, 25, or 30
      EQU FSTAT$MOD TO 22                ; *uniVerse file modulo
For file types 2 - 18 only
      EQU FSTAT$SEP TO 23                ; *uniVerse file separation
For file types 2 - 18 only
      EQU FSTAT$PART.NOS TO 24           ; *Part numbers of part files
Multivalued list. If file  is  a
                                         ; *  belonging to a
part file, this field
                                         ; *  distributed file
contains the part number
                                         ; *
and field 25 is empty.
      EQU FSTAT$PART.PATHS TO 25         ; *Pathnames of part files
Multivalued list. If file  is  a
                                         ; *  belonging to a
part file, this field is
                                         ; *  distributed file
empty.
      EQU FSTAT$PART.FNAMES TO 26        ; *File names of part files
Multivalued list. If file  is  a
                                         ; *  belonging to a distributed
part file, this field is empty.
                                         ; *  file
      EQU FSTAT$PATH TO 27               ; *Full UNIX pathname
The  full  pathname   (beginning
                                         ; *
with / ) of the file
      EQU FSTAT$SQLPRIV TO 28            ; *Integer from 1 through 7
SQL file permissions:
      EQU FSTAT$SQL.W TO 1               ; *
1 write only
      EQU FSTAT$SQL.R TO 2               ; *
2 read only
      EQU FSTAT$SQL.RW TO 3              ; *
3 read/write
      EQU FSTAT$SQL.D TO 4               ; *
4 delete only
      EQU FSTAT$SQL.DW TO 5              ; *
5 delete/write
      EQU FSTAT$SQL.DR TO 6              ; *
6 delete/read
      EQU FSTAT$SQL.DRW TO 7             ; *
7 delete/read/write
      EQU FSTAT$OWNERNAME TO 30          ; *User name of the owner of
the file.
      EQU FSTAT$FILEREV TO 31            ; *File Revision stamp.
One of the following:
                                         ; *
ACEF01xx = 32-bit file
                                         ; *
ACEF02xx = 64-bit file
                                         ; *
xx is the file revision level
      EQU FSTAT$ADDR.HDR.STYLE TO 32     ; *Addressing and Header
1 = old style file header, 32-bit addressing
                                         ; *Support Style
3 = new style file header, 32-bit addressing
                                         ; *
5 = new style file header, 64-bit addressing
      EQU FSTAT$MAX.IDLEN TO 33          ; * Maximum Record ID Length
(see table 8-1)
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to