|
|
|
Modifies device characteristics or performs various control operations on
configured devices.
Syntax
REC I32A @64A
AIFDEVICEPUT ( overall_status, itemnum_array, item_array,
I32A I32 REC I32
itemstatus_array, ldev, device_key, user_id,
I32A @64A I32
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
information to be returned to a data structure pointed to in 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 where information is returned. 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.)
- ldev
- 32-bit signed integer by reference (optional)
The logical device number for the request.
- device_key
- record by reference (optional)
The ufid for the device file.
Record type: ufid_type.
- 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 AIFDEVICEPUT call requires ldev or
device_key, which specify the requested device. Both
ldev and device_key can be obtained by calling
the AIFSYSWIDEGET procedure area 13000. Items are divided into four
classes: system tables, terminals, disks, and tape drives. In most cases, the
device must be configured in order to return item values.
All device control functions (for items 13100-13399) are queued and processed
serially. For a device with an outstanding I/O request, the control function
request from the AIF device call is not processed until the pending I/O is
complete.
If the device is a terminal, the AIF call is processed after either the
pending read is complete or the terminal read times out.
The AIF device control terminal functions (13101-13138) do not guarantee the
behavior is the same for all types of terminal connections. The behavior is
highly dependent on the low-level drivers and type of connection. The items
are not guaranteed to work for all connection types since the functionality
may not be supported in the lower level drivers. For more information on the
behavior of the various terminal connections see the Asynchronous Serial
Communications Programmer's Reference Manual (32022-61001).
The AIFs perform many of the same operations as FCONTROL and
FDEVICECONTROL. They do not provide capabilities that are not already
available through these interfaces. On MPE/iX Release 5.0 there are
performance improvements to the FCONTROL and FDEVICECONTROL
paths for DTC terminal connections that are not available through the I/O
interfaces used by the AIFs. Therefore, the recommendation is to use the DTC
terminal control functions provided by FCONTROL and
FDEVICECONTROL on Release 5.0 and later.
Many of the device control functions can only occur while the device is open.
If the caller does not have the device open, it will be opened on the caller's
behalf. However, the device opened by the AIF is closed before returning to
the caller. This often returns the device to the settings it had prior to the
open. For the device to maintain the desired settings it should be opened and
closed by the caller.
|