> 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/