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

3.16 AIFFILELGET/PUT Items

MPE documents

Complete PDF

 

Table of Contents

Index

 

⇓ Page Bottom

Item Summary
Item Descriptions

⇑ Page Top



3.15 AIFFILELPUT

3.17 AIFGLOBACQ

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

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



3.15 AIFFILELPUT

3.17 AIFGLOBACQ