HPlogo 900 Series HP 3000 Computer Systems: MPE/iX Architected Interface Facility: Operating System Reference Manual > Chapter 3 Architected Interface Descriptions

AIFFILELGET/PUT Items

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

The following two tables provide summary and detailed descriptions of the item numbers associated with local (process-specific) files.

Item Summary

The following table summarizes the item numbers associated with local (process-specific) file information. For more detailed information about these item numbers, refer to the table of local file item descriptions.

Table 3-13 Local File Information Item Summary

ItemTypeDescriptionPutVerMinMaxError#
4001Filename_typeFile nameNY   
4002UFID_typeUFIDNY   
4003I32File numberNY   
4004I32File designationNY   
4005BNOWAIT IO?NY   
4006BBuffered access?NY   
4007BMultiple record I/O?NY   
4008BShort mapped?NY   
4009I32Short mapped countNY   
4010@64Record pointerNY   
4011I32Record numberYY0-10
4012I32Offset within blockYY0-1-4016
4013I32Open countNY   
4014I32MULTIaccess typeNY   
4015I32# of MULTI sharersNY   
4016I32MULTI sharer lockYY02-4012
4017RecFNumPID_typeSharer PIDs/fnumsNN   
4018longint_type# logical readsYY   
4019longint_type# logical writesYY   
4020U32# records readYY   
4021U32# records writtenYY   
4022Longint_type# records transferredYY   
4023I32Bytes transferred last I/OYY   
4024BCM file?NY   
4025I32Last errorYY   
4026U32Access rightsYY0255-4010
4027I32Input priv levelYY   
4028I32Output priv levelYY23-4011
4029I32Access priv levelYY23-4011
4030BI/O outstanding?NY   
4031BDevice file ?NY   
4032BDirectory object?NY  
4033U32File pointer offsetYY0-1-4009
4034Longint_type# bytes readYY   
4035Longint_type# bytes writtenYY   
4036pathname_typePathnameNY   
4037path_identifierPath Identifier NY   
4038BOpened by UFIDNY   
4039BClose on ExecNY   
4040BAppend ModeNY   
4041BNon-Block ModeNY   

 

Item Descriptions

The following table provides detailed descriptions of item numbers and corresponding items associated with local (process-specific) file information.

Table 3-14 Local File Information Item Descriptions

Item NumberItem Name (Data Type) Put; Verify; Release First Available Description
4001

MPE File Name (REC) Put: No; Verify: Yes; Release 3.0

Returns the fully qualified file name of the MPE file. The file name, group name, and account name are each left-justified and padded with blanks.

Note that this item should only be used for names that can be expressed using MPE-semantics (for example, NL.PUB.SYS). Item 4036 should be used for HFS syntax or MPE syntax files which are represented using a HFS pathname (for example, /SYS/PUB/pxdir/pxfile). If you select this item for a file that cannot be expressed using MPE-only semantics, then blanks are returned and a warning is returned in itemstatus_array.

Record type: filename_type (Refer to appendix B.)

4002

File UFID (REC) Put: No; Verify: Yes; Release 3.0

Returns the UFID of the file. The UFID is unique for all files on the system.

Note that for HFS files, you should be selecting the path_identifier (item 4037). Although every file has a unique UFID, the linkid and parent_ufid are needed to quickly identify a unique pathname for HFS files, since POSIX will introduce the concept of multiple file links/aliases in the future.

Record type: ufid_type (Refer to appendix B.)

4003

File number (I32) Put: No; Verify: Yes; Release 3.0

Returns the process-specific file number assigned to the file at every HPFOPEN/FOPEN issued by the process.

4004

File designation (I32) Put: No; Verify: Yes; Release 3.0

Returns the designation assigned to the file at HPFOPEN/FOPEN time. Each process has some standard file numbers assigned and opened by the system on behalf of the user. Any user-issued calls are assigned the designation 'user'. Values and their meanings are:

0

User file

1

$STDLIST

2

$NEWPASS

3

$OLDPASS

4

$STDIN

5

$STDINX

6

$NULL

4005

NOWAIT I/O? (B) Put: No; Verify: Yes; Release 3.0

Returns the file's NOWAIT I/O status. True indicates that the process blocks for I/O (NOWAIT I/O) against the specified file. False indicates that NOWAIT I/O is not set. NOWAIT I/O is set at open time. For FOPEN, it corresponds to setting aoptions (4:1) and for HPFOPEN, it corresponds to the specification of item 16.

4006

Buffered access? (B) Put: No; Verify: Yes; Release 3.0

Returns the file's buffering status. True indicates that the file system uses buffering to access the specified file. False indicates no buffered access. Buffered access is set at open time. For FOPEN, it corresponds to setting aoptions (7:1) and for HPFOPEN, it corresponds to the specification of item 46.

4007

Multiple record I/O? (B) Put: No; Verify: Yes; Release 3.0

Returns the file's multiple record I/O status. True indicates that the file system transfers multiple records in a single read or write operation against the specified file. False indicates no multiple record transfer. For FOPEN, it corresponds to setting aoptions (11:1) and for HPFOPEN it corresponds to the specification of item 15.

4008

Is file short mapped? (B) Put: No; Verify: Yes; Release 3.0

Returns whether or not the file is short mapped. True indicates that the file is short mapped and false otherwise. Short-mapped access is specified through HPFOPEN, item 18.

4009

Short mapped count (I32) Put: No; Verify: Yes; Release 3.0

Returns the number of times this file is currently opened in short-mapped mode by the specified process.

4010

Record pointer (@64) Put: No; Verify: Yes; Release 3.0

Returns the virtual address pointed to by the file's record pointer. It is the address of the next byte that will be read or written. If the file is being shared MULTI, this pointer points to the next byte for I/O for all the sharers. Valid only for NM files.

4011

Record number (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of the record pointed to by the specified file's record pointer. If the file is being accessed MULTI, then this is the number of the record pointed by the group of MULTI sharers of which this file is a member.

If you are modifying the record number, the number you pass must not exceed the number of records in the file. If it does, the next I/O for this file will lead to a system abort. In addition, be sure to modify both the record number and the offset in a consistent manner.

4012

Offset within current block (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the offset, in bytes, within the record block indicated by the record pointer. If the file is being accessed MULTI, then this is the offset pointed to by the group of MULTI sharers of which this file is a member. Valid only for variable-length record files.

Be sure to modify both the record pointer and the record number in a consistent manner.

4013

Open count (I32) Put: No; Verify: Yes; Release 3.0

Returns the number of outstanding opens against the specified file by the specified process.

4014

Multiaccess type (I32) Put: No; Verify: Yes; Release 3.0

Returns the type of multiaccess specified for the specified file at open time, indicating how the record pointer is to be shared. For FOPEN it corresponds to aoptions (5:2) and for HPFOPEN, to item 14. Valid values and their meaning are as follows:

0

No multi

1

Intrajob

2

Interjob

4015

Number of MULTI sharers (I32) Put: No; Verify: Yes; Release 3.0

Returns the number of opens sharing the record pointer of this file (includes the open indicated by the specified file number).

4016

Locking for MULTI sharers (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the type of lock placed on the specified file (valid for the group of MULTI sharers to which the file number belongs). This lock is placed at open time and operates for subsequent attempts to open this file and share the record pointer. It does not reflect the lock operating for attempts to open the file without sharing the record pointer. (Modifying this information has effect only upon subsequent opens trying to share the record pointer.) For FOPEN it corresponds to aoptions (8:2) and for HPFOPEN to HOP_OPTION_EXCLUSIVE. Valid values and their meanings are as follows:

0

Default

1

Exclusive

2

Exclusive Access Read

3

Share

4017

PIDs and file numbers of sharers (REC) Put: No; Verify: No; Release 3.0

Returns an array of records with the following Pascal declaration:

Record

  fnum : integer; 

  PID  : longint;

End;

Each element contains the PID of the process that has an open sharing the record pointer, and the file number of the open that shares the pointer. If a process has more than one file number sharing the record pointer, its PID appears twice. Valid only for NM files.

You should pass an area of appropriate size. The first word of the buffer is expected to hold the size, in 3-word units, of the rest of the buffer area. The first word, upon return, specifies the number of records returned. Check the appropriate itemstatus_array element to determine whether or not information was truncated (because the area you passed was not of sufficient size to hold all of the information).

4018

Number of logical reads (REC) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of logical reads made against the specified file. This information is kept for accounting and measurement interface purposes. Modifying this information affects only the concerned statistics. Valid only for NM files.

Record type: longint_type (Refer to appendix B.)

4019

Number of logical writes (REC) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of logical writes made against the specified file. This information is kept for accounting and measurement interface purposes. Modifying this information affects only the concerned statistics. Valid only for NM files.

Record type: longint_type (Refer to appendix B.)

4020

Number of records read (U32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of records read from the specified file. This information is kept for accounting and measurement interface purposes. Modifying this information affects only the concerned statistics. Valid only for NM files.

4021

Number of records written (U32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of records written to this file number. Valid only for NM files. This information is kept for accounting and measurement interface purposes. Modifying this information affects only the concerned statistics.

4022

Number of records transferred (REC) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of records transferred to and from the specified file. This information is kept for accounting and measurement interface purposes. Modifying this information affects only the concerned statistics. Valid for NM and CM files.

Record type: longint_type (Refer to appendix B.)

4023

Bytes transferred in last I/O (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of bytes transferred (input or output) to or from the specified file in the last I/O operation. This information is kept for accounting and measurement interface purposes. Modifying this information affects only the concerned statistics. Valid only for NM files.

4024

CM file? (B) Put: No; Verify: Yes; Release 3.0

Returns true if the file is a CM File. This information is useful in determining whether or not a file is NM in order to use particular AIF items appropriate only to NM files or to CM files.

4025

Last error (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the last file system error for the specified file, interpreted as status_type (refer to appendix B). Valid only for NM files.

4026

Access rights (U32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies a bit mask indicating the access rights for the specified file. File access rights dictate the kind of operations permitted to the process. If a bit is set to 1, the process has that right. It is specified at open time. For FOPEN, it corresponds to aoptions (12:4) and (10:1). For HPFOPEN, it corresponds to items 11 and 12. Bits and their corresponding access rights are as follows:

Bits (0:24)

Unused (set to zero)

Bit (24:1)

Read

Bit (25:1)

Write

Bit (26:1)

Execute

Bit (27:1)

Append

Bit (28:1)

Lock

Bit (29:1)

Save

Bit (30:1)

Update

Bit (31:1)

Dir_read

4027

Input privileged level (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the maximum privileged level for the specified process to read from the specified file. This privileged level is applicable to all file numbers of the process corresponding to the specified file. It is set at open time. Input privileged level also depends upon the privileged level of the user and the specified access rights. Valid only for NM files.

For FOPEN the access rights are specified through aoptions (12:4) and for HPFOPEN they are specified through item 11. It is used only for mapped reads from the file. If there are multiple opens of the same file, this is the least restrictive of all of the individual opens.

Modifying this information has effect only upon the succeeding attempts to read the mapped pages for the file. Only files set to input privileged levels 2 and 3 can be accessed. Valid values are 2 or 3.

4028

Output privileged level (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the maximum privileged level for the specified process to write to the specified file. This output privileged level is applicable to all file numbers of the process corresponding to the specified file. It is set at open time. Output privileged level also depends upon the privileged level of the user and the specified access rights. Valid only for NM files.

For FOPEN the access rights are specified through aoptions (12:4) and for HPFOPEN they are specified through item 11. It is used only for mapped writes to the file. If there are multiple opens of the same file, this is the least restrictive of all of the individual opens.

Modifying this information has effect only upon the succeeding attempts to write to the mapped pages for the file. Only files set to output privileged levels 2 and 3 can be accessed. Valid values are 2 or 3.

4029

Access privileged level (I32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the maximum privileged level for accessing the specified file. This is set at open time. For FOPEN, it defaults to the user's privileged level. For HPFOPEN, it corresponds to item 29. Access privileged level determines the file system intrinsics callable for the specified file and the privileged level required for access.

Modifying this information has effect only upon the succeeding attempts to access the file through file system intrinsics. Only files set to output privileged levels 2 and 3 can be accessed. Valid values are 2 or 3.

4030

I/O outstanding? (B) Put: No; Verify: Yes; Release 3.0

Returns true if there is I/O outstanding for the specified file. The system sets this information to true when the process issues an FREAD or an FWRITE whether or not NOWAIT I/O was specified at open time. It is then set to false until the file system call returns to the caller in the waited I/O case.

For files opened NOWAIT I/O, this information remains true until the user issues a successful call to IOWAIT or IODONTWAIT. In any case, a call to FCONTROL, specifying controlcode 43, causes this information to be set to false.

4031

Device file? (B) Put: No; Verify: Yes; Release 3.0

Returns true if the specified file is a device file (false otherwise). This information determines whether or not some item information can be returned or modified.

4032

Directory object? (B) Put: No; Verify: No; Release 3.0

Returns true if the specified file is a directory object (for example, group node, account node, fileset node, hierarchical directory). This includes directory object files opened on behalf of the user by the system and those directory files explicitly opened by the user.

4033

Offset to file pointer (U32) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the offset to the file pointer, from the beginning of the file.

When modifying this information, you must ensure that the new offset does not point outside the current file limits. If this occurs, the next I/O call leads to a system abort.

In addition, it is your responsibility to update the record number and the offset within it to be consistent with the new record pointer. Failing to do so leads to unpredictable behavior.

In any case, the normal protection of virtual memory is enforced during I/O.

4034

Bytes read (REC) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of bytes read. This information is kept for accounting and measurement interface purposes. Modifying this information affects only the concerned statistics. Valid only for NM files.

Record type: longint_type (Refer to appendix B.)

4035

Bytes written (REC) Put: Yes; Verify: Yes; Release 3.0

Returns or modifies the number of bytes written. This information is kept for accounting and measurement interface purposes. Modifying this information affects only the concerned statistics. Valid only for NM files.

Note: This item reflects the actual number of bytes written to disk. This item will contain a value > 0 for a NM KSAM file even if the file is only read from, because information in the KSAM control block is updated and written to disk even on a FREAD (such as the counters which keep track of the number of FREADs).

Record type: longint_type (Refer to appendix B.)

4036

Pathname (REC) Put: No; Verify: Yes; Release 4.5

Returns the absolute pathname of the file. If the user opened the file by UFID and not by name, then this item will return blanks and a warning.

On input, the first four bytes in the buffer will represent the maximum buffer length in bytes. On output, the name will be terminated by a NULL character and the first four bytes will contain the actual number of bytes returned (not including the NULL character or the one word length).

Record type: pathname_type (Refer to appendix B.)

4037

Path Identifier (REC) Put: No; Verify: Yes; Release 4.5

Returns the unique path identifier of the file. If the file was opened by UFID and not by name, then the parent_ufid and link ID will be 0 and a Warning will be returned. In this case, the path identifier will not be sufficient to return a pathname for an HFS file.

Record type: path_identifier (Refer to appendix B.)

4038

Opened by UFID (B) Put: No; Verify: Yes; Release 4.5

Returns true if the file was opened by UFID and not by name. If the file was opened by UFID, then the pathname, the parent_ufid, and the link ID will not be known. See the descriptions for the pathname item, 4036, and the path identifier item, 4037, for more information.

4039

Close on Exec (B) Put: No; Verify: Yes; Release 5.0

Returns whether the close on exec flag has been set for the file. If the flag is set, then the file will be closed upon successful execution of the exec family functions.

4040

Append Mode (B) Put: No; Verify: Yes; Release 5.0

Returns whether the file is in append mode. If this flag is set, the file offset will be set to the end of the file prior to each write.

4041

Non-Block Mode (B) Put: No; Verify: Yes; Release 5.0

Returns whether the file is in non-block mode. This flag is relevant to character special files such as fifos, pipes, etc.

 

Feedback to webmaster