|
|
|
Allocates an object of a specified size and places a pointer to that object in
the Architected Interface Facility: Operating System internal data area.
Syntax
REC I32 I32 REC
AIFGLOBACQ ( overall_status, user_id, size, user_cell );
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. A
positive value indicates a warning. Refer to appendix A for meanings of
status values.
Record type: status_type (Refer to appendix B.)
- user_id
- 32-bit signed integer by value (required)
Passes the user ID assigned to a vendor at the time of purchase of the
Architected Interface Facility: Operating System product.
- size
- 32-bit signed integer by value (required)
Passes the size, in bytes, of the object to be allocated. The maximum
size is 2**32 bytes long.
- user_cell
- record by reference (required)
Returns a pointer to an object of the specified size. This pointer is
also placed in the Architected Interface Facility: Operating System
internal data area.
Record type: longint_type (Refer to appendix B.)
Operation Notes
The acquired object can be released by AIFGLOBREL The acquired object
does not survive system reboots.
The user_cell parameter can also contain an address from the
previous call, a bit map, or a customer 64-bit representation. It is the
application designer's responsibility to save and manage this field.
AIFGLOBACQ, AIFGLOBREL, AIFGLOBGET, and
AIFGLOBPUT all access the user cell. The user cell is a 64-bit data
area which is located in the AIF internal area. All processes with the same
user_id will share the same user_cell. The management of the user cell is the
application designer's responsibility.
When AIFGLOBACQ is called, it returns the address of the newly
allocated object in the user_cell. If any value is in the user_cell prior to
calling AIFGLOBACQ it is the user's responsibility to save the value.
Likewise, if the user_cell is modified using AIFGLOBPUT, the
application designer must save the value returned by AIFGLOBACQ. The
value returned in the user_cell when the object was first allocated using
AIFGLOBACQ must be placed back in the user_cell with
AIFGLOBPUT if the user_cell has been modified between calls to
AIFGLOBACQ and AIFGLOBREL.
|