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