Change User Space (QUSCHGUS) API
Required Parameter Group:
1 | Qualified user space name | Input | Char(20) |
2 | Starting position | Input | Binary(4) |
3 | Length of data | Input | Binary(4) |
4 | Input data | Input | Char(*) |
5 | Force changes to auxiliary storage | Input | Char(1) |
Optional Parameter:
6 | Error code | I/O | Char(*) |
Default Public Authority: *USE
Threadsafe: Yes
The Change User Space (QUSCHGUS) API changes the contents of the user space (*USRSPC) object by moving a specified amount of data to the object. This API allows you to change the contents of a user space if you are using either:
- A language that does not support pointers
- System-domain user spaces
Note: To determine the starting position for the QUSCHGUS API, you must add 1 to the offset value. In contrast to the IBM® i list APIs, which use an offset value based on 0 for the starting position, the QUSCHGUS API uses a value based on 1. For the QUSCHGUS API, the first character in the user space is at position 1.
Authorities and Locks
- Library Authority
- *EXECUTE
- User Space Authority
- *CHANGE
- User Space Lock
- *EXCLRD
Required Parameter Group
- Qualified user space name
- INPUT; CHAR(20)
The first 10 characters contain the user space name, and the second 10 characters contain the name of the library where the user space is located. The special values supported for the library name are *LIBL and *CURLIB.
- Starting position
- INPUT; BINARY(4)
The first byte of the user space that is to be changed. It must have a value greater than 0.
- Length of data
- INPUT; BINARY(4)
The length of the new data in the input data parameter. The length must be greater than 0.
- Input data
- INPUT; CHAR(*)
The new data to be placed into the user space. The field must be at least as long as the length of data parameter.
- Force changes to auxiliary storage
- INPUT; CHAR(1)
The method of forcing changes made to the user space to auxiliary storage.
The valid values are as follows:
0 Does not force changes. Normal system management writes the changes to auxiliary storage. 1 Forces changes asynchronously. This interrupts the normal system management and ensures that the user space is written to auxiliary storage. 2 Forces changes synchronously. This interrupts the normal system management and ensures that the user space is written immediately to auxiliary storage.
Optional Parameter
- Error code
- I/O; CHAR(*)
The structure in which to return error information. For the format of the structure, see Error code parameter. If this parameter is omitted, diagnostic and escape messages are issued to the application.
Error Messages
Message ID | Error Message Text |
---|---|
CPF24B4 E | Severe error while addressing parameter list. |
CPF3CF1 E | Error code parameter not valid. |
CPF3C0F E | Value &1 for starting position parameter is not valid. |
CPF3C04 E | User space &1 not changed. |
CPD3C0F D | Value &1 for starting position parameter is not valid. |
CPD3C12 D | Length of data is not valid. |
CPD3C13 D | Value &1 for force option is not valid. |
CPD3C14 D | Starting position &1 and length &2 cause space overflow. |
CPD3C15 D | New value &1 is shorter than the length specified. |
CPD3C17 D | Error occurred with input data parameter. |
CPF3C12 E | Length of data is not valid. |
CPF3C13 E | Value &1 for force option is not valid. |
CPF3C14 E | Starting position &1 and length &2 cause space overflow. |
CPF3C15 E | New value &1 is shorter than the length specified. |
CPF3C17 E | Error occurred with input data parameter. |
CPF3C36 E | Number of parameters, &1, entered for this API was not valid. |
CPF3C90 E | Literal value cannot be changed. |
CPF8100 E | All CPF81xx messages could be returned. xx is from 01 to FF. |
CPF9801 E | Object &2 in library &3 not found. |
CPF9802 E | Not authorized to object &2 in &3. |
CPF9803 E | Cannot allocate object &2 in library &3. |
CPF9807 E | One or more libraries in library list deleted. |
CPF9808 E | Cannot allocate one or more libraries on library list. |
CPF9810 E | Library &1 not found. |
CPF9820 E | Not authorized to use library &1. |
CPF9830 E | Cannot assign library &1. |
CPF9872 E | Program or service program &1 in library &2 ended. Reason code &3. |
API introduced: V1R3
[ Back to top | Object APIs | APIs by category ]