1 | Receiver variable | Output | Char(*) |
2 | Length of receiver variable | Input | Binary(4) |
3 | List information | Output | Char(80) |
4 | Number of records to return | Input | Binary(4) |
5 | Format name | Input | Char(8) |
6 | Filter information | Input | Char(*) |
7 | Filter format name | Input | Char(8) |
8 | Error code | I/O | Char(*) |
The Open List of Interprocess Communication Objects (QP0ZOLIP) API lets you generate a list of interprocess communication (IPC) objects and descriptive information based on the selection parameters. The QP0ZOLIP API places the specified number of list entries in the receiver variable. You can access additional records by using the Get List Entries (QGYGTLE) API. On successful completion of the QP0ZOLIP API, a handle is returned in the list information parameter. You may use this handle on subsequent calls to the following APIs:
You can use the QP0ZOLIP API to:
Only one IPC type (either semaphore sets, message queue, shared memory, named semaphores, or unnamed semaphores) can be returned in one call to this API. The IPC type is determined by the format name parameter.
The records returned by QP0ZOLIP include an information status field that describes the completeness and validity of the information. Be sure to check the information status field before using any other information returned.
For additional information on this authority, see the iSeries Security Reference book.
The variable that is used to return the IPC object information that you requested.
The length of the receiver variable.
Information about the list of IPC objects that were opened. For a description of the layout of this parameter, see Format of Open List Information.
The number of records in the list to put into the receiver variable.
The format of the information to be returned in the receiver variable. This parameter will determine the type of IPC mechanism to open the list for. You must use one of the following format names:
LSST0100 | This format is described in LSST0100 Format. |
LMSQ0100 | This format is described in LMSQ0100 Format. |
LSHM0100 | This format is described in LSHM0100 Format. |
LNSM0100 | This format is described in LNSM0100 Format. |
LUSM0100 | This format is described in LUSM0100 Format. |
The information in this parameter is used to filter the list of IPC objects. The format of this variable depends on the filter format name.
The name of the format that is used to filter the list of IPC objects. You must use one of the following format names:
FIPC0100 | This format is described in FIPC0100 Format. |
The structure in which to return error information. For the format of the structure, see Error Code Parameter.
The following shows the format of the filter information for the FIPC0100 format. For detailed descriptions of the field in the table, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | CHAR(1) | Filter on key |
1 | 1 | CHAR(3) | Reserved |
4 | 4 | BINARY(4) | Minimum key |
8 | 8 | BINARY(4) | Maximum key |
12 | C | BINARY(4) | Offset to owner profiles array |
16 | 10 | BINARY(4) | Number of owner profiles specified |
20 | 14 | BINARY(4) | Offset to creator profiles array |
24 | 18 | BINARY(4) | Number of creator profiles specified |
This field repeats for each owner profile name. | CHAR(10) | Owner profile name | |
This field repeats for each creator profile name. | CHAR(10) | Creator profile name |
Creator profile name. The user profile names that created the IPC objects being returned. These values are used only if the number of creator profiles specified field is greater than one. Possible special values follow:
*ALL | IPC objects created by any user profile are added to the list. The rest of the user profiles in the array are ignored. |
*CURRENT | IPC objects created by the current user profile are added to the list. |
Filter on key. Whether filtering will be done based on the key value of the IPC object. Possible values follow:
0 | No filtering is done based on the key value. The values of minimum key field and maximum key field are ignored. |
1 | Filtering is done based on the values of minimum key field and maximum key field. |
Maximum key. The maximum IPC object's key value. Only the IPC objects with a key greater than or equal to the minimum key and less than or equal to the maximum key will be added to the generated list. This value is only used if the filter on key field is set to one.
Minimum key. The minimum IPC object's key value. Only the IPC objects with a key greater than or equal to the minimum key and less than or equal to the maximum key will be added to the generated list. This value is only used if the filter on key field is set to one.
Number of creator profiles specified. The number of creator profiles specified in the creator profile names array. If this value is zero, no filtering is to be done for the creator user profile.
Number of owner profiles specified. The number of owner profiles specified in the owner profile names array. If this value is zero, no filtering is to be done for the owner user profile.
Offset to creator profiles array. The offset in characters (bytes) from the beginning of the filter information to the beginning of the array of creator profiles.
Offset to owner profiles array. The offset in characters (bytes) from the beginning of the filter information to the beginning of the array of owner profiles.
Owner profile name. The user profile names that own the IPC objects being returned. These values are used only if the number of owner profiles specified field is greater than one. Possible special values follow:
*ALL | IPC objects that are owned by any user profile are added to the list. The rest of the user profiles in the array are ignored. |
*CURRENT | IPC objects that are owned by the current user profile are added to the list. |
Reserved.These characters must be set to '00'x.
This format name is used to return list information for semaphore sets. The following table shows the information returned in each record in the receiver variable for the LSST0100 format. For a detailed description of each field, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Identifier |
4 | 4 | BINARY(4) | Key |
8 | 8 | BINARY(4) | Number of semaphores |
12 | C | CHAR(1) | Damaged |
13 | D | CHAR(1) | Owner read permission |
14 | E | CHAR(1) | Owner write permission |
15 | F | CHAR(1) | Group read permission |
16 | 10 | CHAR(1) | Group write permission |
17 | 11 | CHAR(1) | General read permission |
18 | 12 | CHAR(1) | General write permission |
19 | 13 | CHAR(1) | Authorized to delete |
20 | 14 | CHAR(16) | Last semop() date and time |
36 | 24 | CHAR(16) | Last administration change date and time |
52 | 34 | CHAR(10) | Owner |
62 | 3E | CHAR(10) | Group owner |
72 | 48 | CHAR(10) | Creator |
82 | 52 | CHAR(10) | Creator's group |
This format name is used to return list information for message queues. The following table shows the information returned in each record in the receiver variable for the LMSQ0100 format. For a detailed description of each field, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Identifier |
4 | 4 | BINARY(4) | Key |
8 | 8 | CHAR(1) | Damaged |
9 | 9 | CHAR(1) | Owner read permission |
10 | A | CHAR(1) | Owner write permission |
11 | B | CHAR(1) | Group read permission |
12 | C | CHAR(1) | Group write permission |
13 | D | CHAR(1) | General read permission |
14 | E | CHAR(1) | General write permission |
15 | F | CHAR(1) | Authorized to delete |
16 | 10 | BINARY(4) | Number of messages on queue |
20 | 14 | BINARY(4) | Size of all messages on queue |
24 | 18 | BINARY(4) | Maximum size of all messages on queue |
28 | 1C | BINARY(4) | Number of threads to receive message |
32 | 20 | BINARY(4) | Number of threads to send message |
36 | 24 | CHAR(16) | Last msgrcv() date and time |
52 | 34 | CHAR(16) | Last msgsnd() date and time |
68 | 44 | CHAR(16) | Last administration change date and time |
84 | 54 | CHAR(10) | Owner |
94 | 5E | CHAR(10) | Group owner |
104 | 68 | CHAR(10) | Creator |
114 | 72 | CHAR(10) | Creator's group |
This format name is used to return list information for shared memory. The following table shows the information returned in each record in the receiver variable for the LSHM0100 format. For a detailed description of each field, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Identifier |
4 | 4 | BINARY(4) | Key |
8 | 8 | CHAR(1) | Damaged |
9 | 9 | CHAR(1) | Owner read permission |
10 | A | CHAR(1) | Owner write permission |
11 | B | CHAR(1) | Group read permission |
12 | C | CHAR(1) | Group write permission |
13 | D | CHAR(1) | General read permission |
14 | E | CHAR(1) | General write permission |
15 | F | CHAR(1) | Marked to be deleted |
16 | 10 | CHAR(1) | Authorized to delete |
17 | 11 | CHAR(1) | Teraspace |
18 | 12 | CHAR(1) | Resize |
19 | 13 | CHAR(1) | Reserved |
20 | 14 | BINARY(4) | Segment size |
24 | 18 | BINARY(4) | Number attached |
28 | 1C | CHAR(16) | Last shmat() date and time |
44 | 2C | CHAR(16) | Last detach date and time |
60 | 3C | CHAR(16) | Last administration change date and time |
76 | 4C | CHAR(10) | Owner |
86 | 56 | CHAR(10) | Group owner |
96 | 60 | CHAR(10) | Creator |
106 | 6A | CHAR(10) | Creator's group |
This format name is used to return list information for named semaphores. The following table shows the information returned in each record in the receiver variable for the LNSM0100 format. For a detailed description of each field, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of entry |
4 | 4 | BINARY(4) | Value |
8 | 8 | BINARY(4) | Maximum value |
12 | C | BINARY(4) | Offset to waiting threads |
16 | 10 | BINARY(4) | Number of waiting threads |
20 | 14 | BINARY(4) | Offset to name |
24 | 18 | BINARY(4) | Length of name |
28 | 1C | CHAR(16) | Title |
44 | 2C | CHAR(1) | Marked to be deleted |
45 | 2D | CHAR(1) | Authorized to delete |
46 | 2E | CHAR(10) | Creator |
56 | 38 | CHAR(10) | Creator's group |
66 | 42 | CHAR(1) | Owner read permission |
67 | 43 | CHAR(1) | Owner write permission |
68 | 44 | CHAR(1) | Group read permission |
69 | 45 | CHAR(1) | Group write permission |
70 | 46 | CHAR(1) | General read permission |
71 | 47 | CHAR(1) | General write permission |
72 | 48 | CHAR(26) | Last sem_post() qualified job identifier |
98 | 62 | CHAR(2) | Reserved |
100 | 64 | CHAR(16) | Last sem_post() thread identifier |
116 | 74 | CHAR(26) | Last sem_wait() qualified job identifier |
142 | 8e | CHAR(2) | Reserved |
144 | 90 | CHAR(16) | Last sem_wait() thread identifier |
These fields repeat for each thread waiting on the semaphore. | CHAR(26) | Waiting qualified job identifier | |
CHAR(2) | Reserved | ||
CHAR(16) | Waiting thread identifier | ||
This field follows the list of threads waiting on the semaphore. | CHAR(*) | Name of the semaphore |
This format name is used to return list information for unnamed semaphores. The following table shows the information returned in each record in the receiver variable for the LUSM0100 format. For a detailed description of each field, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Length of entry |
4 | 4 | BINARY(4) | Value |
8 | 8 | BINARY(4) | Maximum value |
12 | C | BINARY(4) | Offset to waiting threads |
16 | 10 | BINARY(4) | Number of waiting threads |
20 | 14 | BINARY(4) | Reserved |
24 | 18 | CHAR(16) | Title |
40 | 28 | CHAR(26) | Last sem_post() qualified job identifier |
66 | 42 | CHAR(2) | Reserved |
68 | 44 | CHAR(16) | Last sem_post() thread identifier |
84 | 54 | CHAR(26) | Last sem_wait() qualified job identifier |
110 | 6E | CHAR(2) | Reserved |
112 | 70 | CHAR(16) | Last sem_wait() thread identifier |
These fields repeat for each thread waiting on the semaphore. | CHAR(26) | Waiting qualified job identifier | |
CHAR(2) | Reserved | ||
CHAR(16) | Waiting thread identifier |
Authorized to delete. This value determines if the caller has the authority to delete this IPC object. Possible values follow:
0 | The calling thread cannot delete the IPC object. |
1 | The calling thread can delete the IPC object. |
Creator. The name of the user profile that created this IPC object.
Creator's group. The name of the group profile that created this IPC object. A special value can be returned:
*NONE | The creator does not have a group profile. |
Damaged. Whether the IPC object has suffered internal damage. Possible values follow:
0 | The IPC object is not damaged. |
1 | The IPC object is damaged. |
General read permission. Whether any user other than the owner and group owner has read authority to the IPC object. Possible values follow:
0 | General read authority is not allowed to the IPC object. |
1 | General read authority is allowed for the IPC object. |
General write permission. Whether if any user other than the owner and group owner has write authority to the IPC object. Possible values follow:
0 | General write authority is not allowed to the IPC object. |
1 | General write authority is allowed to the IPC object. |
Group owner. The name of the group profile that owns this IPC object. A special value can be returned:
*NONE | The IPC object does not have a group owner. |
Group read permission. Whether the group owner has read authority to the IPC object. Possible values follow:
0 | The group owner does not have read authority to the IPC object. |
1 | The group owner has read authority to the IPC object. |
Group write permission. Whether the group owner has write authority to the IPC object. Possible values follow:
0 | The group owner does not have write authority to the IPC object. |
1 | The group owner has write authority to the IPC object. |
Identifier. The unique IPC object identifier.
Key. The key of the IPC object. If this value is zero, this IPC object has no key associated with it.
Last administration change date and time. The date and time of the last change to the IPC object for the owner, group owner, or permissions. The 16 characters are:
1 | Century, where 0 indicates years 19xx and 1 indicates years 20xx. |
2-7 | Date, in YYMMDD (year, month, and day) format. |
8-13 | Time of day, in HHMMSS (hours, minutes, and seconds) format. |
14-16 | Milliseconds. |
Last detach date and time. The date and time of the last detachment from the shared memory segment. If no thread has performed a successful detachment, this value will be set to all zeros. The 16 characters are:
1 | Century, where 0 indicates years 19xx and 1 indicates years 20xx. |
2-7 | Date, in YYMMDD (year, month, and day) format. |
8-13 | Time of day, in HHMMSS (hours, minutes, and seconds) format. |
14-16 | Milliseconds. |
Last msgrcv() date and time. The date and time of the last successful msgrcv() call. If no thread has performed a successful msgrcv() call, this value will be set to all zeros. The 16 characters are:
1 | Century, where 0 indicates years 19xx and 1 indicates years 20xx. |
2-7 | Date, in YYMMDD (year, month, and day) format. |
8-13 | Time of day, in HHMMSS (hours, minutes, and seconds) format. |
14-16 | Milliseconds. |
Last msgsnd() date and time. The date and time of the last successful msgsnd() call. If no thread has performed a successful msgsnd() call, this value will be set to all zeros. The 16 characters are:
1 | Century, where 0 indicates years 19xx and 1 indicates years 20xx. |
2-7 | Date, in YYMMDD (year, month, and day) format. |
8-13 | Time of day, in HHMMSS (hours, minutes, and seconds) format. |
14-16 | Milliseconds. |
Last sem_post() qualified job identifier. The job name, the job user profile, and the job number of the last thread that successfully called sem_post() or sem_post_np() if the job has not ended. The 26 characters are:
1-10 | The job name |
11-20 | The user profile |
21-26 | The job number |
If the thread has ended, then the first 16 characters contain 16 characters that uniquely identify the ended job, followed by 10 spaces. If no thread has used sem_post() to post to the semaphore, then the 26 characters will contain spaces.
Last sem_post() thread identifier. The thread ID of the last thread that successfully called sem_post() or sem_post_np() if the thread has not ended.
Last sem_wait() qualified job identifier. The job name, the job user profile, and the job number of the last thread that returned from a sem_wait(), sem_wait_np(), or sem_wait() call, if the job has not ended. The 26 characters are:
1-10 | The job name |
11-20 | The user profile |
21-26 | The job number |
If the thread has ended, then the first 16 characters contain 16 characters that uniquely identify the ended job, followed by 10 spaces. If no job has used sem_wait() to wait on the semaphore, then the 26 characters will contain spaces.
Last sem_wait() thread identifier. The thread ID of the last thread that returned from a sem_wait(), sem_wait_np(), or sem_wait() call, if the thread has not ended.
Last semop() date and time. The date and time of the last successful semop() call. If no thread has performed a successful semop() call, this value will be set to all zeros. The 16 characters are:
1 | Century, where 0 indicates years 19xx and 1 indicates years 20xx. |
2-7 | Date, in YYMMDD (year, month, and day) format. |
8-13 | Time of day, in HHMMSS (hours, minutes, and seconds) format. |
14-16 | Milliseconds. |
Last shmat() date and time. The date and time of the last successful shmat(). If no thread has performed a successful shmat() call, this value will be set to all zeros. The 16 characters are:
1 | Century, where 0 indicates years 19xx and 1 indicates years 20xx. |
2-7 | Date, in YYMMDD (year, month, and day) format. |
8-13 | Time of day, in HHMMSS (hours, minutes, and seconds) format. |
14-16 | Milliseconds. |
Length of entry. The length of this record in the list.
Length of name. The number of bytes in the name of the semaphore, not including the terminating null character.
Marked to be deleted. Whether the shared memory is marked to be deleted when the number attached becomes zero. Possible values follow:
0 | The shared memory segment is not marked for deletion. |
1 | The shared memory segment is marked for deletion. |
Maximum size of all messages on queue. The maximum byte size of all messages that can be on the queue at one time.
Maximum value. The maximum value of the semaphore.
Name of the semaphore. The null-terminated name of the semaphore.
Number attached. The number of times any thread has done a shmat() without doing a detach.
Number of messages on queue. The number of messages that are currently on the message queue.
Number of semaphores. The number of semaphores in the semaphore set.
Number of threads to receive message. The number of threads that are currently waiting to receive a message.
Number of threads to send message. The number of threads that are currently waiting to send a message.
Number of waiting threads. The total number of threads that are waiting for this semaphore to reach a certain value.
Offset to name. The offset to where the name field begins.
Offset to waiting threads. The offset to where the fields containing waiting threads begin.
Owner. The name of the user profile that owns this IPC object.
Owner read permission. Whether the owner has read authority to the IPC object. Possible values follow:
0 | The owner does not have read authority to the IPC object. |
1 | The owner has read authority to the IPC object. |
Owner write permission. Whether the owner has write authority to the IPC object. Possible values follow:
0 | The owner does not have write authority to the IPC object. |
1 | The owner has write authority to the IPC object. |
Reserved. An ignored field.
Resize. Whether the shared memory object may be resized. Possible values follow:
0 | The shared memory object may not be resized. |
1 | The shared memory object may be resized. |
Segment size. The size of the shared memory segment.
Size of all messages on queue. The byte size of all of the messages that are currently on the queue.
Teraspace. Whether the shared memory object is attachable only to a process's teraspace. Possible values follow:
0 | The shared memory object is not attachable to a process's teraspace. |
1 | The shared memory object is attachable to a process's teraspace. |
Title. The title of the semaphore. The title contains the 16 characters that are associated with the semaphore when it is created.
Value. The value of the semaphore.
Waiting qualified job identifier. The job name, the job user profile, and the job number of a thread waiting on the semaphore. The 26 characters are:
1-10 | The job name |
11-20 | The user profile |
21-26 | The job number |
Waiting thread identifier. The thread ID of a thread waiting on the semaphore.
Message ID | Error Message Text |
---|---|
CPF0F01 E | *SERVICE authority is required to run this program. |
CPF2204 E | User profile &1 not found. |
CPF24B4 E | Severe error while addressing parameter list. |
CPF3C19 E | Error occurred with receiver variable specified. |
CPF3C21 E | Format name &1 is not valid. |
CPF3C90 E | Literal value cannot be changed. |
CPF3CF1 E | Error code parameter not valid. |
GUI0002 E | &2 is not valid for length of receiver variable. |
GUI0027 E | &1 is not valid for number of records to return. |
GUI0115 E | The list has been marked in error. See the previous messages. |
GUI0118 E | Starting record cannot be 0 when records have been requested. |
GUI0135 E | Filter key information is not valid. |
GUI0136 E | Filter information is not valid. |
Top | UNIX-Type APIs | APIs by category |