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

AIFFILELPUT

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

Modifies process-specific file information.

Syntax

                  REC            I32A          @64A

AIFFILELPUT (overall_status, itemnum_array, item_array,

                    RECA        I32    REC   REC    I32

             itemstatus_array, fnum, PID, UFID, user_id, 

                  I32A        @64A         RECA

             ver_item_nums, ver_items, ver_item_statuses);

Parameters

overall_status

record by reference (required)

Returns the overall status of the call. A zero indicates a successful call. A negative value indicates an error in the overall call, not specific to any particular item. A positive value indicates the last element in itemstatus_array, signaling an error condition. Refer to appendix A for meanings of status values.

Record type: status_type (Refer to appendix B.)

itemnum_array

32-bit signed integer array by reference (required)

An array of integers where each element is an item number indicating the operating system information to be modified. New information must be located in a data structure pointed to by the corresponding element in item_array. If n item numbers are being requested, element n+1 must be a zero to indicate the end of the element list.

item_array

64-bit address array by reference (required)

An array where each element is a 64-bit address pointing to a data structure containing new information to be passed to the operating system. Information and its required data type are defined by the item number passed in the corresponding element in itemnum_array.

Array type: globalanyptr

itemstatus_array

record array by reference (required)

An array where each element returns the status of the operation performed in the corresponding element in item_array. A zero indicates a successful operation. A negative value indicates an error condition. A positive value indicates a warning. Refer to appendix A for meanings of status values.

Array type: status_type (Refer to appendix B.)

fnum

32-bit signed integer by value (required)

Passes the process-specific file number of a file whose information is to be modified.

PID

record by value (optional)

Passes the PID of the process associated with a file whose information is to be modified. The default is the current process.

Record type: longint_type (Refer to appendix B.)

Default: 0

UFID

record by reference (optional)

Passes the unique file identifier of an MPE or HFS file whose information is to be modified. If you are using the Path Identifier item key from AIFSYSWIDEGET or from AIFPROCGET, you will need to specify the path_identifier.ufid field for this parameter. The default is no UFID checking.

Record type: ufid_type (Refer to appendix B.)

Default: nil

user_id

32-bit signed integer by value (optional)

The user ID assigned to a vendor at the time of purchase of the Architected Interface Facility: Operating System product. If it is not passed, the caller must have previously called AIFACCESSON.

Default: 0

ver_item_nums

32-bit signed integer array by reference (optional)

An array of integers where each element is an item number indicating the operating system information to be verified before proceeding with modification. Verification information must be located in a data structure pointed to by the corresponding element in ver_items. If n items are being verified, element n+1 must be a zero to indicate the end of the item list.

Default: nil

ver_items

64-bit address array by reference (optional)

An array where each element is a 64-bit address pointing to a data structure containing information to be verified against current operating system information. Information and its required data type are defined by the item number passed in the corresponding element in ver_item_nums.

Array type: globalanyptr

Default: nil

ver_item_statuses

record array by reference (optional)

An array where each element returns the status of the verification performed in the corresponding element in ver_items. A zero indicates a successful verification. A negative value indicates an error condition. A positive value indicates a warning. Refer to appendix A for meanings of status values.

Array type: status_type (Refer to appendix B.)

Default: nil

Operation Notes

The fnum parameter passes the file number returned by the file system to the calling process at open (FOPEN/HPFOPEN) time. It is the number used to invoke the various file system intrinsics. PID passes the PID of the process that issued the FOPEN/HPFOPEN call. PID is optional and defaults to the calling process's PID. If there is no active process associated with PID, AIFFILELGET returns an error condition. If there is no process-specific active file associated with fnum, AIFFILELGET returns an error condition.

The PID/file number pairs are obtainable in the following ways:

  • If no PID is passed, use the file numbers passed by the file system at open time.

  • Use AIFPROCGET, specifying a PID or PIN and item number 2063 File numbers of open files.

  • Use AIFFILELGET, specifying the item List of sharers.

  • Use AIFSYSWIDEGET, specifying the item File opened.

Since the PID/file number pair does not specify a file unique over the lifetime of a process, there is provision for accepting a UFID as a confirmation key. The PID/file number pair selects a particular file on the system which can then be confirmed uniquely by matching its UFID with the UFID passed. If the confirmation fails, the AIFFILELPUT returns an error condition. If no UFID is passed, no such check is carried out.

AIFFILELPUT is designed to make the differences between NM and CM files transparent. Thus, it can determine whether the file is an NM file or not. If it is an NM file, only the NM structures are accessed. However, if it is a CM file, the CM structures (PACB, LACB) must be accessed.

The processes whose files are accessible through AIFFILELPUT are user processes. Processes of type SYSTEM, UCOP, MAIN, and DETACH are not accessible. If one of these processes is specified, AIFFILELPUT terminates with an error condition.

This procedure can be used to modify the attributes of only the user files. The files excluded are those with local file numbers zero through eight and those with file designation other than user. If you attempt to modify the information about one of the excluded files, AIFFILELPUT terminates with an error condition.

Note that this AIF will return an error (-33, "Invalid Fnum PID combination"), if an attempt is made to retrieve information for a remote file.

Feedback to webmaster