ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/qp0zolip.htm

1962 lines
56 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Open List of Interprocess Communication Objects (QP0ZOLIP) API</title>
<!-- Begin Header Records ========================================== -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Direct1 SCRIPT J converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Edited by Kersten Feb 02 -->
<!-- This file has undergone html cleanup May 2002 by JET -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>Open List of Interprocess Communication Objects (QP0ZOLIP) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Receiver variable</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Length of receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">List information</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(80)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Number of records to return</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Format name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Filter information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Filter format name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>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:</p>
<ul>
<li>Get List Entries (QGYGTLE)<br>
<br>
</li>
<li>Find Entry Number in List (QGYFNDE)<br>
<br>
</li>
<li>Close List (QGYCLST)</li>
</ul>
<p>You can use the QP0ZOLIP API to:</p>
<ul>
<li>Open a list of all IPC objects of a specific type (semaphore sets, message
queues, shared memory, named semaphores, or unnamed semaphores).<br>
<br>
</li>
<li>Open a list of identifier-based IPC objects (semaphore sets, message
queues, or shared memory) of a specific type with a key in a specified
range.<br>
<br>
</li>
<li>Open a list of identifier-based IPC objects of a specific type that are
owned by one or more specified users.<br>
<br>
</li>
<li>Open a list of IPC objects of a specific type (semaphore sets, message
queues, shared memory, or named semaphores) that were created by one or more
specified users.</li>
</ul>
<p>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.</p>
<p>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.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Job Authority</em></dt>
<dd>Service special authority (*SERVICE) is needed to call this API.
<p>For additional information on this authority, see the <a href=
"../books/sc415302.pdf" target="_blank">iSeries Security Reference</a> <img
src="wbpdf.gif" alt="Link to PDF"> book.</p>
</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable that is used to return the IPC object information that you
requested.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable.</p>
</dd>
<dt><strong>List information</strong></dt>
<dd>OUTPUT; CHAR(80)
<p>Information about the list of IPC objects that were opened. For a
description of the layout of this parameter, see <a href="../apiref/oli.htm">Format of
Open List Information</a>.</p>
</dd>
<dt><strong>Number of records to return</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of records in the list to put into the receiver variable.</p>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>LSST0100</em></td>
<td align="left" valign="top">This format is described in <a href=
"#HDRLSST100">LSST0100 Format</a>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>LMSQ0100</em></td>
<td align="left" valign="top">This format is described in <a href=
"#HDRLMSQ100">LMSQ0100 Format</a>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>LSHM0100</em></td>
<td align="left" valign="top">This format is described in <a href=
"#HDRLSHM100">LSHM0100 Format</a>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>LNSM0100</em></td>
<td align="left" valign="top">This format is described in <a href=
"#HDRLNSM100">LNSM0100 Format</a>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>LUSM0100</em></td>
<td align="left" valign="top">This format is described in <a href=
"#HDRLUSM100">LUSM0100 Format</a>.</td>
</tr>
</table>
<br>
<br>
</dd>
<dt><strong>Filter information</strong></dt>
<dd>INPUT; CHAR(*)
<p>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.</p>
</dd>
<dt><strong>Filter format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The name of the format that is used to filter the list of IPC objects. You
must use one of the following format names:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>FIPC0100</em></td>
<td align="left" valign="top">This format is described in <a href=
"#HDRFIPC100">FIPC0100 Format</a>.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3><a name="HDRFIPC100">FIPC0100 Format</a></h3>
<p>The following shows the format of the filter information for the FIPC0100
format. For detailed descriptions of the field in the table, see <a href=
"#HDRFORMATD">Field Descriptions</a>.</p>
<table border width="80%" cellpadding="5">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Filter on key</td>
</tr>
<tr>
<td align="center" valign="top">1</td>
<td align="center" valign="top">1</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Minimum key</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum key</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to owner profiles array</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of owner profiles specified</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to creator profiles array</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of creator profiles specified</td>
</tr>
<tr>
<td align="left" valign="top" colspan="2">This field repeats for each owner
profile name.</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Owner profile name</td>
</tr>
<tr>
<td align="left" valign="top" colspan="2">This field repeats for each creator
profile name.</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Creator profile name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRFORMATD">Field Descriptions</a></h3>
<p><strong>Creator profile name.</strong> 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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">IPC objects created by any user profile are added
to the list. The rest of the user profiles in the array are ignored.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURRENT</em></td>
<td align="left" valign="top">IPC objects created by the current user profile
are added to the list.</td>
</tr>
</table>
<p><strong>Filter on key.</strong> Whether filtering will be done based on the
key value of the IPC object. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">No filtering is done based on the key value. The
values of minimum key field and maximum key field are ignored.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Filtering is done based on the values of minimum
key field and maximum key field.</td>
</tr>
</table>
<p><strong>Maximum key.</strong> 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.</p>
<p><strong>Minimum key.</strong> 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.</p>
<p><strong>Number of creator profiles specified.</strong> 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.</p>
<p><strong>Number of owner profiles specified.</strong> 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.</p>
<p><strong>Offset to creator profiles array.</strong> The offset in characters
(bytes) from the beginning of the filter information to the beginning of the
array of creator profiles.</p>
<p><strong>Offset to owner profiles array.</strong> The offset in characters
(bytes) from the beginning of the filter information to the beginning of the
array of owner profiles.</p>
<p><strong>Owner profile name.</strong> 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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">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.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURRENT</em></td>
<td align="left" valign="top">IPC objects that are owned by the current user
profile are added to the list.</td>
</tr>
</table>
<p><strong>Reserved.</strong>These characters must be set to '00'x.</p>
<br>
<h3><a name="HDRLSST100">LSST0100 Format</a></h3>
<p>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
<a href="#HDRRSSTFD">Field Descriptions</a>.</p>
<table border width="80%" cellpadding="5">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Identifier</td>
</tr>
<tr>
<td align="center" valign="bottom">4</td>
<td align="center" valign="bottom">4</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Key</td>
</tr>
<tr>
<td align="center" valign="bottom">8</td>
<td align="center" valign="bottom">8</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Number of semaphores</td>
</tr>
<tr>
<td align="center" valign="bottom">12</td>
<td align="center" valign="bottom">C</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Damaged</td>
</tr>
<tr>
<td align="center" valign="bottom">13</td>
<td align="center" valign="bottom">D</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Owner read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">14</td>
<td align="center" valign="bottom">E</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Owner write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">15</td>
<td align="center" valign="bottom">F</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Group read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">16</td>
<td align="center" valign="bottom">10</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Group write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">17</td>
<td align="center" valign="bottom">11</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">General read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">18</td>
<td align="center" valign="bottom">12</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">General write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">19</td>
<td align="center" valign="bottom">13</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Authorized to delete</td>
</tr>
<tr>
<td align="center" valign="bottom">20</td>
<td align="center" valign="bottom">14</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last semop() date and time</td>
</tr>
<tr>
<td align="center" valign="bottom">36</td>
<td align="center" valign="bottom">24</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last administration change date and time</td>
</tr>
<tr>
<td align="center" valign="bottom">52</td>
<td align="center" valign="bottom">34</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Owner</td>
</tr>
<tr>
<td align="center" valign="bottom">62</td>
<td align="center" valign="bottom">3E</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Group owner</td>
</tr>
<tr>
<td align="center" valign="bottom">72</td>
<td align="center" valign="bottom">48</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Creator</td>
</tr>
<tr>
<td align="center" valign="bottom">82</td>
<td align="center" valign="bottom">52</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Creator's group</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLMSQ100">LMSQ0100 Format</a></h3>
<p>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
<a href="#HDRRSSTFD">Field Descriptions</a>.</p>
<table border width="80%" cellpadding="5">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Identifier</td>
</tr>
<tr>
<td align="center" valign="bottom">4</td>
<td align="center" valign="bottom">4</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Key</td>
</tr>
<tr>
<td align="center" valign="bottom">8</td>
<td align="center" valign="bottom">8</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Damaged</td>
</tr>
<tr>
<td align="center" valign="bottom">9</td>
<td align="center" valign="bottom">9</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Owner read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">10</td>
<td align="center" valign="bottom">A</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Owner write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">11</td>
<td align="center" valign="bottom">B</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Group read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">12</td>
<td align="center" valign="bottom">C</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Group write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">13</td>
<td align="center" valign="bottom">D</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">General read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">14</td>
<td align="center" valign="bottom">E</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">General write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">15</td>
<td align="center" valign="bottom">F</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Authorized to delete</td>
</tr>
<tr>
<td align="center" valign="bottom">16</td>
<td align="center" valign="bottom">10</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Number of messages on queue</td>
</tr>
<tr>
<td align="center" valign="bottom">20</td>
<td align="center" valign="bottom">14</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Size of all messages on queue</td>
</tr>
<tr>
<td align="center" valign="bottom">24</td>
<td align="center" valign="bottom">18</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Maximum size of all messages on queue</td>
</tr>
<tr>
<td align="center" valign="bottom">28</td>
<td align="center" valign="bottom">1C</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Number of threads to receive message</td>
</tr>
<tr>
<td align="center" valign="bottom">32</td>
<td align="center" valign="bottom">20</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Number of threads to send message</td>
</tr>
<tr>
<td align="center" valign="bottom">36</td>
<td align="center" valign="bottom">24</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last msgrcv() date and time</td>
</tr>
<tr>
<td align="center" valign="bottom">52</td>
<td align="center" valign="bottom">34</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last msgsnd() date and time</td>
</tr>
<tr>
<td align="center" valign="bottom">68</td>
<td align="center" valign="bottom">44</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last administration change date and time</td>
</tr>
<tr>
<td align="center" valign="bottom">84</td>
<td align="center" valign="bottom">54</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Owner</td>
</tr>
<tr>
<td align="center" valign="bottom">94</td>
<td align="center" valign="bottom">5E</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Group owner</td>
</tr>
<tr>
<td align="center" valign="bottom">104</td>
<td align="center" valign="bottom">68</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Creator</td>
</tr>
<tr>
<td align="center" valign="bottom">114</td>
<td align="center" valign="bottom">72</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Creator's group</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLSHM100">LSHM0100 Format</a></h3>
<p>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
<a href="#HDRRSSTFD">Field Descriptions</a>.</p>
<table border width="80%" cellpadding="5">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Identifier</td>
</tr>
<tr>
<td align="center" valign="bottom">4</td>
<td align="center" valign="bottom">4</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Key</td>
</tr>
<tr>
<td align="center" valign="bottom">8</td>
<td align="center" valign="bottom">8</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Damaged</td>
</tr>
<tr>
<td align="center" valign="bottom">9</td>
<td align="center" valign="bottom">9</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Owner read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">10</td>
<td align="center" valign="bottom">A</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Owner write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">11</td>
<td align="center" valign="bottom">B</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Group read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">12</td>
<td align="center" valign="bottom">C</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Group write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">13</td>
<td align="center" valign="bottom">D</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">General read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">14</td>
<td align="center" valign="bottom">E</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">General write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">15</td>
<td align="center" valign="bottom">F</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Marked to be deleted</td>
</tr>
<tr>
<td align="center" valign="bottom">16</td>
<td align="center" valign="bottom">10</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Authorized to delete</td>
</tr>
<tr>
<td align="center" valign="bottom">17</td>
<td align="center" valign="bottom">11</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Teraspace</td>
</tr>
<tr>
<td align="center" valign="bottom">18</td>
<td align="center" valign="bottom">12</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Resize</td>
</tr>
<tr>
<td align="center" valign="bottom">19</td>
<td align="center" valign="bottom">13</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Reserved</td>
</tr>
<tr>
<td align="center" valign="bottom">20</td>
<td align="center" valign="bottom">14</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Segment size</td>
</tr>
<tr>
<td align="center" valign="bottom">24</td>
<td align="center" valign="bottom">18</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Number attached</td>
</tr>
<tr>
<td align="center" valign="bottom">28</td>
<td align="center" valign="bottom">1C</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last shmat() date and time</td>
</tr>
<tr>
<td align="center" valign="bottom">44</td>
<td align="center" valign="bottom">2C</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last detach date and time</td>
</tr>
<tr>
<td align="center" valign="bottom">60</td>
<td align="center" valign="bottom">3C</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last administration change date and time</td>
</tr>
<tr>
<td align="center" valign="bottom">76</td>
<td align="center" valign="bottom">4C</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Owner</td>
</tr>
<tr>
<td align="center" valign="bottom">86</td>
<td align="center" valign="bottom">56</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Group owner</td>
</tr>
<tr>
<td align="center" valign="bottom">96</td>
<td align="center" valign="bottom">60</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Creator</td>
</tr>
<tr>
<td align="center" valign="bottom">106</td>
<td align="center" valign="bottom">6A</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Creator's group</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLNSM100">LNSM0100 Format</a></h3>
<p>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 <a href="#HDRRSSTFD">Field Descriptions</a>.</p>
<table border width="80%" cellpadding="5">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Length of entry</td>
</tr>
<tr>
<td align="center" valign="bottom">4</td>
<td align="center" valign="bottom">4</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Value</td>
</tr>
<tr>
<td align="center" valign="bottom">8</td>
<td align="center" valign="bottom">8</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Maximum value</td>
</tr>
<tr>
<td align="center" valign="bottom">12</td>
<td align="center" valign="bottom">C</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Offset to waiting threads</td>
</tr>
<tr>
<td align="center" valign="bottom">16</td>
<td align="center" valign="bottom">10</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Number of waiting threads</td>
</tr>
<tr>
<td align="center" valign="bottom">20</td>
<td align="center" valign="bottom">14</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Offset to name</td>
</tr>
<tr>
<td align="center" valign="bottom">24</td>
<td align="center" valign="bottom">18</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Length of name</td>
</tr>
<tr>
<td align="center" valign="bottom">28</td>
<td align="center" valign="bottom">1C</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Title</td>
</tr>
<tr>
<td align="center" valign="bottom">44</td>
<td align="center" valign="bottom">2C</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Marked to be deleted</td>
</tr>
<tr>
<td align="center" valign="bottom">45</td>
<td align="center" valign="bottom">2D</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Authorized to delete</td>
</tr>
<tr>
<td align="center" valign="bottom">46</td>
<td align="center" valign="bottom">2E</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Creator</td>
</tr>
<tr>
<td align="center" valign="bottom">56</td>
<td align="center" valign="bottom">38</td>
<td align="left" valign="bottom">CHAR(10)</td>
<td align="left" valign="bottom">Creator's group</td>
</tr>
<tr>
<td align="center" valign="bottom">66</td>
<td align="center" valign="bottom">42</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Owner read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">67</td>
<td align="center" valign="bottom">43</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Owner write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">68</td>
<td align="center" valign="bottom">44</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Group read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">69</td>
<td align="center" valign="bottom">45</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">Group write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">70</td>
<td align="center" valign="bottom">46</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">General read permission</td>
</tr>
<tr>
<td align="center" valign="bottom">71</td>
<td align="center" valign="bottom">47</td>
<td align="left" valign="bottom">CHAR(1)</td>
<td align="left" valign="bottom">General write permission</td>
</tr>
<tr>
<td align="center" valign="bottom">72</td>
<td align="center" valign="bottom">48</td>
<td align="left" valign="bottom">CHAR(26)</td>
<td align="left" valign="bottom">Last sem_post() qualified job identifier</td>
</tr>
<tr>
<td align="center" valign="bottom">98</td>
<td align="center" valign="bottom">62</td>
<td align="left" valign="bottom">CHAR(2)</td>
<td align="left" valign="bottom">Reserved</td>
</tr>
<tr>
<td align="center" valign="bottom">100</td>
<td align="center" valign="bottom">64</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last sem_post() thread identifier</td>
</tr>
<tr>
<td align="center" valign="bottom">116</td>
<td align="center" valign="bottom">74</td>
<td align="left" valign="bottom">CHAR(26)</td>
<td align="left" valign="bottom">Last sem_wait() qualified job identifier</td>
</tr>
<tr>
<td align="center" valign="bottom">142</td>
<td align="center" valign="bottom">8e</td>
<td align="left" valign="bottom">CHAR(2)</td>
<td align="left" valign="bottom">Reserved</td>
</tr>
<tr>
<td align="center" valign="bottom">144</td>
<td align="center" valign="bottom">90</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last sem_wait() thread identifier</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="3" colspan="2">These fields repeat for
each thread waiting on the semaphore.</td>
<td align="left" valign="top">CHAR(26)</td>
<td align="left" valign="top">Waiting qualified job identifier</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Waiting thread identifier</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="3" colspan="2">This field follows the
list of threads waiting on the semaphore.</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Name of the semaphore</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLUSM100">LUSM0100 Format</a></h3>
<p>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 <a href="#HDRRSSTFD">Field Descriptions</a>.</p>
<table border width="80%" cellpadding="5">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Length of entry</td>
</tr>
<tr>
<td align="center" valign="bottom">4</td>
<td align="center" valign="bottom">4</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Value</td>
</tr>
<tr>
<td align="center" valign="bottom">8</td>
<td align="center" valign="bottom">8</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Maximum value</td>
</tr>
<tr>
<td align="center" valign="bottom">12</td>
<td align="center" valign="bottom">C</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Offset to waiting threads</td>
</tr>
<tr>
<td align="center" valign="bottom">16</td>
<td align="center" valign="bottom">10</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Number of waiting threads</td>
</tr>
<tr>
<td align="center" valign="bottom">20</td>
<td align="center" valign="bottom">14</td>
<td align="left" valign="bottom">BINARY(4)</td>
<td align="left" valign="bottom">Reserved</td>
</tr>
<tr>
<td align="center" valign="bottom">24</td>
<td align="center" valign="bottom">18</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Title</td>
</tr>
<tr>
<td align="center" valign="bottom">40</td>
<td align="center" valign="bottom">28</td>
<td align="left" valign="bottom">CHAR(26)</td>
<td align="left" valign="bottom">Last sem_post() qualified job identifier</td>
</tr>
<tr>
<td align="center" valign="bottom">66</td>
<td align="center" valign="bottom">42</td>
<td align="left" valign="bottom">CHAR(2)</td>
<td align="left" valign="bottom">Reserved</td>
</tr>
<tr>
<td align="center" valign="bottom">68</td>
<td align="center" valign="bottom">44</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last sem_post() thread identifier</td>
</tr>
<tr>
<td align="center" valign="bottom">84</td>
<td align="center" valign="bottom">54</td>
<td align="left" valign="bottom">CHAR(26)</td>
<td align="left" valign="bottom">Last sem_wait() qualified job identifier</td>
</tr>
<tr>
<td align="center" valign="bottom">110</td>
<td align="center" valign="bottom">6E</td>
<td align="left" valign="bottom">CHAR(2)</td>
<td align="left" valign="bottom">Reserved</td>
</tr>
<tr>
<td align="center" valign="bottom">112</td>
<td align="center" valign="bottom">70</td>
<td align="left" valign="bottom">CHAR(16)</td>
<td align="left" valign="bottom">Last sem_wait() thread identifier</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="3" colspan="2">These fields repeat for
each thread waiting on the semaphore.</td>
<td align="left" valign="top">CHAR(26)</td>
<td align="left" valign="top">Waiting qualified job identifier</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Waiting thread identifier</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRRSSTFD">Field Descriptions</a></h3>
<p><strong>Authorized to delete.</strong> This value determines if the caller
has the authority to delete this IPC object. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The calling thread cannot delete the IPC
object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The calling thread can delete the IPC
object.</td>
</tr>
</table>
<p><strong>Creator.</strong> The name of the user profile that created this IPC
object.</p>
<p><strong>Creator's group.</strong> The name of the group profile that created
this IPC object. A special value can be returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*NONE</em></td>
<td align="left" valign="top">The creator does not have a group profile.</td>
</tr>
</table>
<p><strong>Damaged.</strong> Whether the IPC object has suffered internal
damage. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The IPC object is not damaged.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The IPC object is damaged.</td>
</tr>
</table>
<p><strong>General read permission.</strong> Whether any user other than the
owner and group owner has read authority to the IPC object. Possible values
follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">General read authority is not allowed to the IPC
object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">General read authority is allowed for the IPC
object.</td>
</tr>
</table>
<p><strong>General write permission.</strong> Whether if any user other than
the owner and group owner has write authority to the IPC object. Possible
values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">General write authority is not allowed to the IPC
object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">General write authority is allowed to the IPC
object.</td>
</tr>
</table>
<p><strong>Group owner.</strong> The name of the group profile that owns this
IPC object. A special value can be returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*NONE</em></td>
<td align="left" valign="top">The IPC object does not have a group owner.</td>
</tr>
</table>
<p><strong>Group read permission.</strong> Whether the group owner has read
authority to the IPC object. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The group owner does not have read authority to
the IPC object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The group owner has read authority to the IPC
object.</td>
</tr>
</table>
<p><strong>Group write permission.</strong> Whether the group owner has write
authority to the IPC object. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The group owner does not have write authority to
the IPC object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The group owner has write authority to the IPC
object.</td>
</tr>
</table>
<p><strong>Identifier.</strong> The unique IPC object identifier.</p>
<p><strong>Key.</strong> The key of the IPC object. If this value is zero, this
IPC object has no key associated with it.</p>
<p><strong>Last administration change date and time.</strong> The date and time
of the last change to the IPC object for the owner, group owner, or
permissions. The 16 characters are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em>
and 1 indicates years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-7</em></td>
<td align="left" valign="top">Date, in YYMMDD (year, month, and day)
format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>8-13</em></td>
<td align="left" valign="top">Time of day, in HHMMSS (hours, minutes, and
seconds) format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>14-16</em></td>
<td align="left" valign="top">Milliseconds.</td>
</tr>
</table>
<p><strong>Last detach date and time.</strong> 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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em>
and 1 indicates years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-7</em></td>
<td align="left" valign="top">Date, in YYMMDD (year, month, and day)
format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>8-13</em></td>
<td align="left" valign="top">Time of day, in HHMMSS (hours, minutes, and
seconds) format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>14-16</em></td>
<td align="left" valign="top">Milliseconds.</td>
</tr>
</table>
<p><strong>Last msgrcv() date and time.</strong> 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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em>
and 1 indicates years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-7</em></td>
<td align="left" valign="top">Date, in YYMMDD (year, month, and day)
format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>8-13</em></td>
<td align="left" valign="top">Time of day, in HHMMSS (hours, minutes, and
seconds) format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>14-16</em></td>
<td align="left" valign="top">Milliseconds.</td>
</tr>
</table>
<p><strong>Last msgsnd() date and time.</strong> 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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em>
and 1 indicates years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-7</em></td>
<td align="left" valign="top">Date, in YYMMDD (year, month, and day)
format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>8-13</em></td>
<td align="left" valign="top">Time of day, in HHMMSS (hours, minutes, and
seconds) format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>14-16</em></td>
<td align="left" valign="top">Milliseconds.</td>
</tr>
</table>
<p><strong>Last sem_post() qualified job identifier.</strong> 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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1-10</em></td>
<td align="left" valign="top">The job name</td>
</tr>
<tr>
<td align="left" valign="top"><em>11-20</em></td>
<td align="left" valign="top">The user profile</td>
</tr>
<tr>
<td align="left" valign="top"><em>21-26</em></td>
<td align="left" valign="top">The job number</td>
</tr>
</table>
<p>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.</p>
<p><strong>Last sem_post() thread identifier.</strong> The thread ID of the
last thread that successfully called sem_post() or sem_post_np() if the thread
has not ended.</p>
<p><strong>Last sem_wait() qualified job identifier.</strong> 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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1-10</em></td>
<td align="left" valign="top">The job name</td>
</tr>
<tr>
<td align="left" valign="top"><em>11-20</em></td>
<td align="left" valign="top">The user profile</td>
</tr>
<tr>
<td align="left" valign="top"><em>21-26</em></td>
<td align="left" valign="top">The job number</td>
</tr>
</table>
<p>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.</p>
<p><strong>Last sem_wait() thread identifier.</strong> 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.</p>
<p><strong>Last semop() date and time.</strong> 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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em>
and 1 indicates years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-7</em></td>
<td align="left" valign="top">Date, in YYMMDD (year, month, and day)
format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>8-13</em></td>
<td align="left" valign="top">Time of day, in HHMMSS (hours, minutes, and
seconds) format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>14-16</em></td>
<td align="left" valign="top">Milliseconds.</td>
</tr>
</table>
<p><strong>Last shmat() date and time.</strong> 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:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em>
and 1 indicates years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-7</em></td>
<td align="left" valign="top">Date, in YYMMDD (year, month, and day)
format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>8-13</em></td>
<td align="left" valign="top">Time of day, in HHMMSS (hours, minutes, and
seconds) format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>14-16</em></td>
<td align="left" valign="top">Milliseconds.</td>
</tr>
</table>
<p><strong>Length of entry.</strong> The length of this record in the list.</p>
<p><strong>Length of name.</strong> The number of bytes in the name of the
semaphore, not including the terminating null character.</p>
<p><strong>Marked to be deleted.</strong> Whether the shared memory is marked
to be deleted when the number attached becomes zero. Possible values
follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The shared memory segment is not marked for
deletion.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The shared memory segment is marked for
deletion.</td>
</tr>
</table>
<p><strong>Maximum size of all messages on queue.</strong> The maximum byte
size of all messages that can be on the queue at one time.</p>
<p><strong>Maximum value.</strong> The maximum value of the semaphore.</p>
<p><strong>Name of the semaphore.</strong> The null-terminated name of the
semaphore.</p>
<p><strong>Number attached.</strong> The number of times any thread has done a
shmat() without doing a detach.</p>
<p><strong>Number of messages on queue.</strong> The number of messages that
are currently on the message queue.</p>
<p><strong>Number of semaphores.</strong> The number of semaphores in the
semaphore set.</p>
<p><strong>Number of threads to receive message.</strong> The number of threads
that are currently waiting to receive a message.</p>
<p><strong>Number of threads to send message.</strong> The number of threads
that are currently waiting to send a message.</p>
<p><strong>Number of waiting threads.</strong> The total number of threads that
are waiting for this semaphore to reach a certain value.</p>
<p><strong>Offset to name.</strong> The offset to where the name field
begins.</p>
<p><strong>Offset to waiting threads.</strong> The offset to where the fields
containing waiting threads begin.</p>
<p><strong>Owner.</strong> The name of the user profile that owns this IPC
object.</p>
<p><strong>Owner read permission.</strong> Whether the owner has read authority
to the IPC object. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The owner does not have read authority to the IPC
object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The owner has read authority to the IPC
object.</td>
</tr>
</table>
<p><strong>Owner write permission.</strong> Whether the owner has write
authority to the IPC object. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The owner does not have write authority to the
IPC object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The owner has write authority to the IPC
object.</td>
</tr>
</table>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Resize.</strong> Whether the shared memory object may be resized.
Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The shared memory object may not be resized.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The shared memory object may be resized.</td>
</tr>
</table>
<p><strong>Segment size.</strong> The size of the shared memory segment.</p>
<p><strong>Size of all messages on queue.</strong> The byte size of all of the
messages that are currently on the queue.</p>
<p><strong>Teraspace.</strong> Whether the shared memory object is attachable
only to a process's teraspace. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The shared memory object is not attachable to a
process's teraspace.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The shared memory object is attachable to a
process's teraspace.</td>
</tr>
</table>
<p><strong>Title.</strong> The title of the semaphore. The title contains the
16 characters that are associated with the semaphore when it is created.</p>
<p><strong>Value.</strong> The value of the semaphore.</p>
<p><strong>Waiting qualified job identifier.</strong> The job name, the job
user profile, and the job number of a thread waiting on the semaphore. The 26
characters are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1-10</em></td>
<td align="left" valign="top">The job name</td>
</tr>
<tr>
<td align="left" valign="top"><em>11-20</em></td>
<td align="left" valign="top">The user profile</td>
</tr>
<tr>
<td align="left" valign="top"><em>21-26</em></td>
<td align="left" valign="top">The job number</td>
</tr>
</table>
<p><strong>Waiting thread identifier.</strong> The thread ID of a thread
waiting on the semaphore.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td width="15%" valign="top">CPF0F01 E</td>
<td width="85%" valign="top">*SERVICE authority is required to run this
program.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2204 E</td>
<td align="left" valign="top">User profile &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td align="left" valign="top">Severe error while addressing parameter
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C19 E</td>
<td align="left" valign="top">Error occurred with receiver variable
specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0002 E</td>
<td align="left" valign="top">&amp;2 is not valid for length of receiver
variable.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0027 E</td>
<td align="left" valign="top">&amp;1 is not valid for number of records to
return.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0115 E</td>
<td align="left" valign="top">The list has been marked in error. See the
previous messages.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0118 E</td>
<td align="left" valign="top">Starting record cannot be 0 when records have
been requested.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0135 E</td>
<td align="left" valign="top">Filter key information is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0136 E</td>
<td align="left" valign="top">Filter information is not valid.</td>
</tr>
</table>
<br>
<hr>
API introduced: V4R2
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"unix.htm">UNIX-Type APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>