1/CA | File designator (28 bytes):
Returns the file designator of the file being referenced in the format:
filename.groupname.accountname Must be >=28 bytes in
length. Unused bytes are filled with right-justified blanks and a nameless
file returns an empty string. The fully qualified name of the file
referenced by filenum is returned as the value of this
itemnum. Only names which can be expressed using MPE-only
semantics are returned by this itemnum. If the name of the
object referenced by filenum can not be expressed using
MPE-name semantics a CCL condition code is returned. Calling
FCHECK for filenum after this error occurs will
return FSERR391. |
2/U16 | File options:
Returns file characteristics (refer to the foption figure).
The record format extension bit is returned as the foption
(1:1) bit. Byte stream record format is represented as a record format
extension of one with a variable record format foption
(8:2) bits equal to 01.
Directories, symbolic links, device links, pipes and FIFO's can not be
represented by foptions. If the object referenced by
filenum is one of these objects, a CCL condition code is
returned. Calling FCHECK for filenum after this
error occurs will will return FSERR399 |
3/U16 | Access options:
Returns file access information (refer to the Faoption
figure). |
4/I16 | (CM) Record size:
Returns the logical record size associated with the file:
If the file was created as a binary file, this value is positive
and is in half words.
If the file was created as an ASCII file, this value is negative
and is in bytes.
For message files, when there is call to FCONTROL with
controlcode=46, the value returned is the size of the data
records, including the 4 byte header.
Maintained for compatibility with MPE V/E-based systems only. CM record
sizes are imposed when FGETINFO returns record size information on
all file types. If the record size exceeds the limits, a zero is returned.
Note: If a zero is returned, use item 67. |
5/I16 | Device type/subtype:
Returns the type and subtype of the device being used for a KSAM, RIO,
circular, or message file, or devices such as a tape drive, printer, or
terminal where bits (0:8) indicate the device subtype, and bits (8:8)
indicate the device type.
If the file is not spooled or is opened as a spoolfile through the logical
device, the actual value is returned. If an output file is spooled and was
opened by device class name, the type and subtype of the first device in
its class is returned. (This may be different from the device actually
used.) |
6/U16 | Logical device number:
Returns the logical device number of the device where the disk file label
resides.
If the file is a disk file, the LDEV is the location of the file
label. (File data can reside on the same device as the file label.)
If the file is spooled, the LDEV is a virtual device number that
does not correspond to the system configuration I/O device list.
If the file is located on a remote computer, linked by a DS
point-to-point or X.25 link, the left eight bits (0:8) are the LDEV
of the distributed system (DS) device.
If the file is located on a remote computer, linked by NS 3000/XL,
the left eight bits (0:8) are the remote environment of the
connection. The right eight bits (8:8) are the LDEV of the device on
the remote computer where the file label resides.
If the DS device for the RFA or the LDEV is 0, then a zero is
returned.
Note: If a zero is returned, use item 50. |
7/U16 | Hardware device address:
Returns 2048. Maintained to provide backward compatibility with MPE
V/E-based systems. |
8/I16 | File code:
Returns the file code of a disk file (refer to FFILEINFO for file
codes). |
9/I32 | Current logical record pointer:
Returns the current logical record pointer setting. This value is the
displacement in logical records from record number 0 in the file and
identifies the record that would be accessed next by FREAD or
FWRITE. |
10/I32 | EOF:
Returns the pointer setting of the last logical record currently in the
file (equivalent to EOF). If the file does not reside on disk, the value is
zero. For message files, when a call is made to FCONTROL with
itemnum=46, the number of records returned includes open,
close, and data records. |
11/I32 | File limit:
Returns a number representing the last logical record that can exist in the
file (equivalent to the file limit). If the file does not reside on disk,
the value is zero. |
12/I32 | Log count:
Returns the logical records passed to and from the program during the
current file access. |
13/I32 | Physical count:
Returns the number of buffered physical I/O operations performed since the
last FOPEN/HPFOPEN call (records). |
14/I16 | Block size:
Returns the file block size:
If the file is binary, the value is positive and the size is in
half words.
If the file is ASCII, the value is negative and the size is in
bytes.
For standard fixed ASCII files with odd record sizes, the block size is
computed as "(record size + 1)" X block factor. For even record sizes, it
returns the block size from the gufd.
Maintained for compatibility with MPE V/E-based systems only. CM block size
limits are used when FGETINFO returns block size information on
all file types (STD, KSAM, RIO, CIR, MSG). If the block size of the
specified file exceeds the limits, zero is returned.
Note: If a zero is returned, use item 68. |
15/I16 | Extent size:
Returns the extent size; for compatibility with MPE V/E-based systems only.
Note: If a zero is returned, use item 69. If extent size is specified or
the maximum number of extents is specified at file creation, the size and
number of extents are determined by the operating system and the
item values are not actual values; they are calculated
using system defaults. |
16/U16 | Maximum number of extents:
If the extent size or maximum number of extents is specified as zero at
file creation, then the size and number of extents are determined by the
system. In that case, these item values are calculated using system
defaults defaults and do not reflect actual values. |
17/I16 | User labels:
Returns the number of user labels defined for the file during creation. If
the file is not a disk file, this number is zero. When an old file is
opened for overwrite output, the value is not reset and the old user label
is not destroyed. |
18/CA | Creator:
Returns the name of the file creator (at least 8 bytes). If the file does
not reside on disk, blanks are returned.
An unqualified form of the file owner's name is returned as the value of
this itemnum. The file owner is not neccessarily the file's
creator. File ownership may be changed using the :ALTFILE command.
A symbolic zero (ASCII 48 in decimal) is returned as the file owner for
root directories, accounts, and MPE groups created prior to release 4.5 of
MPE/iX.
If the file is not located in the account in which the file owner is a
member, a blank file owner name is returned. Item number 85 should be used
to obtain the full file owner name instead of item 18. |
19/I32 | Label address:
Returns a zero. For compatibility with MPE V/E-based systems only. |
20/I16 | Blocking factor |
21/I16 | Physical block size; indicates half words |
22/I16 | Data block size; indicates half words |
23/I16 | Offset to data in blocks; indicates half words |
24/I16 | Offset of active record table for
RIO files; indicates half words |
25/I16 | Size of active record table
within the block; indicates half words |
26/CA | Volume ID (tape label) |
27/CA | Volume set ID (tape label) |
28/U16 | Expiration date (tape label, calendar format) |
29/I16 | File sequence number (tape label) |
30/I16 | Reel number (tape label) |
31/I16 | Sequence type (tape label) |
32/U16 | Creation date (tape label, calendar format) |
33/I16 | Label type (tape label) |
34/I16 | Current number of writers |
35/I16 | Current number of readers |
36/U16 | File allocation date, when the
file was last restored (CALENDAR format) |
37/I32 | File allocation time, when the
file was last restored (CLOCK format) |
38/U16 | Spoolfile device file number:
Bits (1:15) = Device file number
Bit (0:1) = 1 Output spoolfile
Bit (0:1) = 0 Input spoolfile
If the spoolfile device number is larger than 32767,
itemnum 38 returns 0 (zero). Use itemnum 78
instead for spoolfile numbers larger than 32767. |
40/I32 | Disk device status:
Returns a zero. For compatibility with MPE V/E-based systems only. |
41/I16 | Device type |
42/I16 | Device subtype |
43/CA | Environment file name (>=36 bytes) |
44/I16 | Number of disk extents currently
allocated to the file |
45/CA | File name from labeled tape header
1 record (>= 17 bytes) |
46/I16 | Tape density |
47/I16 | DRT number:
Always returns an 8. |
48/I16 | Device unit number:
Always returns a 0. |
49/U16 | Equivalent to a software
interrupt PLABEL for message files |
50/U16 | Real device number of the file |
51/I16 | Remote environment number
Note: If using NS 3000/XL RFA (remote file access), specify
DSDEVICE ldev# when you are using a DS
(point-to-point or X.25) link. |
52/I32 | Last modification time
(CLOCK format)
Zero is returned as the modification time for root directories, accounts,
and MPE groups created prior to release 4.5. |
53/U16 | Last modification date
(CALENDAR format)
Zero is returned as the modification date for root directories, accounts,
and MPE groups created prior to release 4.5. |
54/U16 | File creation date
(CALENDAR format)
Zero is returned as the creation date for root directories, accounts,
and MPE groups created prior to release 4.5. |
55/U16 | Last access date
(CALENDAR format)
Zero is returned as the access date for root directories, accounts,
and MPE groups created prior to release 4.5. |
56/I32 | Number of data blocks in a
variable length file |
57/I16 | Number of user labels written to
the file |
58/I16 | Number of accessors having output
access (write) for a particular file |
59/I16 | Number of accessors having input
access (read/update) for a particular file |
60/I16 | Terminal type:
0 = File's associated device not a terminal
1 = Standard hardwire or multipoint terminal
2 = Terminal connected through phone-modem
3 = DS pseudo-terminal
4 = X.25 Packed Switching Network PAD (packet assembler/disassembler) terminal
5 = NS virtual terminal
7 = DHCF virtual terminal
8 = Telnet iX virtual terminal |
61/CA | NS 3000/XL remote environment ID name
Note: If using NS 3000/XL RFA (remote file access), specify
DSDEVICE ldev# when using a DS (point-to-point or
X.25) link. A buffer must be provided for the node name (or
envid) with the required space of 52 bytes; otherwise, data
corruption may occur on variables following itemnum=61 or
an FSERR 73, BOUNDS VIOLATION may be returned. |
62/CA | File lockword (8 bytes) |
63/CA | Unique file identifier (UFID) (20 bytes): |
64/@64 | Virtual address of the file:
Applicable for standard disk files only. (Requesting
itemnums 64, 74, or 75 for any other file type, RIO, MSG,
CIR, causes an error and returns CCL (1).) |
65 | Reserved for the operating system. |
66/@32 | Virtual address of global unique
file descriptor (GUFD): |
67/U32 | (NM) Record size (indicates bytes) |
68/U32 | Block size (indicates bytes). Odd
or even record sizes are returned as the block size from the gufd. |
69/U32 | Extent size (indicates bytes) |
74/@64 | Virtual address of file label:
Applicable for standard disk files only. (Requesting
itemnums 64, 74, or 75 for any other file type (RIO, MSG,
CIR) causes an error and returns CCL (1).) |
75/CA | Hardware path:
Applicable for standard disk files only. (Requesting
itemnums 64, 74, or 75 for any other file type (RIO, MSG,
CIR) causes an error and returns CCL (1).) |
76/CA | Volume restriction (34 bytes):
The last two characters indicate the type:
0 = File placed on the specified volume at creation
1 = File can be placed on any volume containing the specified class at creation
2 = File can be placed on any volume within the specified volume set at
creation (Default) |
77/U32 | Transaction management log set ID
If itemnum 77 = 0 (zero), the file is not attached to the
XM (Transaction Management) log. |
78/U32 | Spoolfile device file number:
Bits (0:30) = Device file number
Bit (31:1) = 1 Output spoolfile
Bit (31:1) = 0 Input spoolfile
|
79/I16 | File's pending disposition
0 = No change, the disposition is the same as before the file was opened
1 = Permanent
2 = Temporary (tape files rewound)
3 = Temporary (same as 2 except tape files not rewound)
4 = Released (purged)
5 = Temporary (but the file was previously a permanent file)
|
80/CA | HFS syntax filename.
This itemnum returns a null-terminated POSIX-syntax system
absolute pathname for the file or directory referenced by
filenum. On input the first four bytes of this buffer are
interpreted as a 32-bit unsigned integer specifying the maximum buffer size
in bytes. This maximum buffer size does not include the four bytes used to
represent this size. On output the first four bytes of the buffer represent
the pathname length excluding the null-terminator as an unsigned integer.
The pathname is returned in the bytes following the pathname length. Bytes
beyond the null-terminator should be considered undefined. If the maximum
buffer length is incorrect on input, variables allocated near the buffer
may be overwritten or a bounds violation may occur. A zero pathname length
is returned for unnamed new files and when an error occurs. Zero is the
mininum buffer length on input for this itemnum.
Format of the buffer on input:
byte #1 #2 #3 #4 | #1 ... #N
+----+----+----+----+----+ ... +----+
| maximum | |
| length = N | |
+----+----+----+----+----+ ... +----+
Format of the buffer on output:
byte #1 #2 #3 #4 | #1 ... #L ... #N
+----+----+----+----+----+ ... +----+ ... +----+
| length = | / | | \0 | | |
| (L - 1) | | | | | |
+----+----+----+----+----+ ... +----+ ... +----+
|
81/U32 | The current number of hard links to the file. |
82/I32 | Time of last file access in clock
format. The bit assignments are:
Bits | Meaning |
0 to 7 | hours |
8 to 15 | minutes |
16 to 23 | seconds |
24 to 31 | tenths of seconds |
|
83/I32 | Time of last file status change
in clock format (See item 82 for a description of clock format). |
84/U16 | Date of last file status change
in calendar format. The bit assignements are:
Bits | Meaning |
0 - 7 | Years since 1900 |
8 - 15 | Day of the year |
|
85/CA | File Owner
The full file owner name. Unused characters are blank filled. A symbolic
zero (ASCII 48 in decimal) is returned as the file owner for root
directories, accounts, and MPE groups created prior to the POSIX release. |
86/I32 | File owner identifier
The file owner identifier (UID). Zero is returned as the file owner ID for
root directories, accounts, and MPE groups created prior to the POSIX release. |
87/CA | File group
The file group name. Unused characters are blank filled. A symbolic zero
(ASCII 48 in decimal) is returned as the file group for root directories
whose GID's have not been assigned. |
88/I32 | File group identifier
The file group identifier (GID). Zero is returned as the file group ID for
root directories whose GID's have not been assigned. |
89/U32 | File type
The following valid file types may be returned:
0 | Ordinary File |
1 | KSAM/3000 |
2 | RIO |
3 | KSAM XL |
4 | CIR |
5 | Native Mode Spool File |
6 | MSG |
7 | KSAM64 |
8 | Compatability mode file |
9 | Directory |
10-11 | Not Applicable |
12 | Pipe |
13 | FIFO |
14 | Symbolic link |
15 | Device link |
16 | TTY Device link |
17 | RAID Device link |
|
90/U32 | Record type
The following valid record types may be returned:
0 | Fixed |
1 | Variable |
2 | Undefined |
3 | Spool block |
4 | Root directory |
5 | Not applicable |
6 | Account directory |
7 | Group directory |
8 | Not applicable |
9 | Byte stream |
10 | Hierarchical directory |
This item will return information based upon the record format that is
logically assoicated with the specified file designator and
will not necessarily be the same as the physical record structure of the
file. It is possible with the HPFOPEN intrinsic item 77,
Read Format option, to access a file in a different mode than the
physical record type. For example, byte stream record files, when opened by
default, present variable record instead of the physical byte stream
storage, since the file was opened to behave like a variable record file.
In order to determine the true physical record structure of a file, use the
FFILEINFO item 101. |
91/I64 | The current file size in bytes.
The value returned represents the current position of the End-of-File (EOF)
and may not reflect the number of bytes actually occupied by the file on
disk if the file is sparsely allocated. |
92/I32 | KSAM XL and KSAM64 file version:
This item returns a value indicating the version of a KSAM XL file. A value
of 1 indicates an original type KSAM XL file, and a value of 2 indicates
the next generation KSAM XL file. A value of zero is returned if the file
is not a KSAM XL file. A value of 4 indicates a KSAM64 version KSAM file. |
93/U32 | NM Plabel:
This item returns a 32-bit NM Plabel of a message file interrupt handler.
Interrupts may be enabled on message files by calling the FCONTROL
intrinsic with item 48 and the Plabel address. |
94/I32 | MPE/iX device type:
This item returns the following values for the following types of devices:
0 | Disk device |
1 | Tape device |
2 | Terminal device |
3 | Printer device |
4 | Remote device |
5 | Ports device |
6 | Reserved |
7 | Streams device |
8 | Sockets device |
|
95/I32 | Close-on-Exec
This item returns a value indication whether or not this
filenum is closed if one the POSIX.1 exec() family
of functions if called. A value of 1 means that the file is closed on an
exec() call, while a value of 0 indicates the file will survive
across exec() calls. |
96/I32 | POSIX Append mode
This item returns a value indicating whether or not this
filenum has the POSIX.1 append mode flag set. When the
append mode flag is set on files that support this feature, all writes
occur at the end of the file, although reads may occur anywhere in the file.
A value of 1 indicates that the POSIX.1 append mode is on, while a value of
0 indicates the append mode is off.
The only time that the POSIX.1 append mode is valid is when a file has been
oepned for byte stream access (HPFOPEN option 77 with a value of
2). |
97/I32 | POSIX non-block mode
This item returns a value indicating whether or not this
filenum has the POSIX.1 non-block flag set. When the
non-block flag is set, on files that support this feature, reads, writes,
and opens can be affected in a file dependent manner. In general,
operations that would otherwise have impeded the caller results in
immediate return when this flag is set. A value of 1 indicates the
non-block flag is set, while a value of zero indicates the flag is not set.
The only time the non-block flag is valid is for pipes and FIFO's. |
98/I32 | Carriage Control
This item returns a value indicating whether or not the carriage control
option is in effect for this file. If carriage control is on, a value of 1
is returned. Otherwise, a value of 0 is returned. |
99/I32 | Setuid Flag
This item returns a value indicating whether or not this file has the
setuid flag turned on. When the setuid flag is on for a program file, the
program will execute under the user who owns the file rather than under the
user who invoked the program. A value of 1 indicates that the setuid flag
is on; a value of 0 indicates the flag is off. |
100/I32 | Setgid Flag
This item returns a value indicating whether or not the file has the setgid
flag turned on. When the setgid flag is on for a program file, the program
will execute with the GID membership of the file rather than the GID
membership of the process that invoked the program. A value of 1 indicates
that the setgid flag is on; a value of 0 indicates that the flag is off. |
101/I32 | Physical record type
This item returns the record type of the file's physical record layout. It
is possible through the HPFOPEN option 77, Read Format
option, to emulate a different record structure than the actual physical
record structure of the file. To get the current logical record view, use
FFILEINFO item 90.
The following values will be returned by this item:
0 | fixed |
1 | variable |
2 | undefined |
3 | spool block |
4 | root directory |
5 | not applicable |
6 | account directory |
7 | group directory |
8 | not applicable |
9 | byte stream |
10 | hierarchical directory |
|
102/I32 | Dissallow file equation flag
This item returns a value indicating whether or not file equations were
disallowed when the file was opened. A value of zero indicates that file
equations were allowed; a value of 1 indicates file equations were
disallowed. This item is identical to bit 5:1 of the foptions. |
103/I32 | MPE Tape labels flag
This item returns a value indicating whether or not a tape was opened
labeled or unlabeled. A value of 0 indicates an unlabeled tape; a value of
1 indicates a labeled tape. This item is identical to bit 6:1 of the
foptions. |
104/I32 | File designator type
This item returns the file designator type for this file. It is identical
to bit 10:3 of the foptions. The following values can be returned by this
item:
0 | A normal file open |
1 | $STDLIST |
2 | $NEWPASS |
3 | $OLDPASS |
4 | $STDIN |
5 | $STDINX |
6 | $NULL |
7 | $STDERR |
|
105/I32 | ASCII/Binary flag
This item returns the setting of the file's ASCII/Binary flag. A value of 0
indicates that this is a binary file; a value of 1 indicates that this is
an ASCII file. This item is identical to bit 13:1 of the foptions. |
106/I32 | File domain
This item returns the domain in which the file currently resides. It is
identical to bit 14:2 of the foptions, and can return the following values:
0 | New file domain |
1 | Permanent file domain |
2 | Temporary file domain |
|
107/I32 | File compressed flag
This item indicates whether or not the data stored in the file is currently
in a compressed or non-compressed satate:
0 | Data is not compressed |
1 | Data is compressed |
|
108/I32 | File migrated flag
This item indicates if a file's data has been migrated off to a n off-line
storage device
0 | Data has not been migrated |
1 | Data has been migrated |
|
109/I64 | File limit in bytes
This item returns the maximum file size of a file in a 64-bit, signed
integer. This itme will return the correct value for files of all sizes. |
110/I32 | Large file flag
This item returns a flag which indicates if the maximum file size is large
(greater than 4,294,901,760 bytes).
0 | The file is not large |
1 | The file is large |
|