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

843 lines
23 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>List Users Authorized to Object (QSYLUSRA) 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. -->
<!-- Sec SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- Edited by Kersten Jan 02 -->
<!--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 language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>List Users Authorized to Object (QSYLUSRA) 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%">Qualified user space name</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">2</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">3</td>
<td align="left" valign="top">Qualified object name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Object type</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">5</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;Optional Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">6</td>
<td align="left" valign="top" width="50%">ASP device</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(10)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The List Users Authorized to Object (QSYLUSRA) API puts a list of users
privately authorized to an object, including an authorization list, into a user
space. The information returned is the authority as it exists for the object.
Any authority the process has to the object through its group or adopted
authority is not included. *PUBLIC authority to the object is also returned in
the first list entry of the user space.</p>
<p>If the object is a database file, an indication of whether the file has
field authorities is returned.</p>
<p>This API provides information similar to that provided by the Display
Authorization List (DSPAUTL) command or the Display Object Authority
(DSPOBJAUT) command.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>User Space Authority</em></dt>
<dd>*CHANGE</dd>
<dt><em>Authority to Library Containing User Space</em></dt>
<dd>*EXECUTE</dd>
<dt><em>Specified Object or Authorization List Authority</em></dt>
<dd>*OBJMGT</dd>
<dt><em>Auxiliary Storage Pool
Device Authority</em></dt>
<dd>*USE</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Qualified user space name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The name of the existing user space used to return the list of authorized
users to the object. The first 10 characters specify the user space name, and
the second 10 characters specify the library.</p>
<p>You can use these special values for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The current library is used to locate the user
space. If there is no current library, QGPL (general purpose library) is
used.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list is used to locate the user
space.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The name of the format used to list authorized users.</p>
<p>You can specify this format:</p>
<table cellpadding="5">
<!-- cols="30 70" -->
<tr>
<td align="left" valign="top"><em><a href="#HDRLUSRA4">USRA0100</a></em></td>
<td align="left" valign="top">Each entry contains the user name and authority
values.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Qualified object name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The name of the object for which the list of authorized users is returned.
The first 10 characters specify the object name, and the second 10 characters
specify the library.</p>
<p>You can use these special values for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The current library is used to locate the object.
If there is no current library, QGPL (general purpose library) is used.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list is used to locate the
object.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Object type</strong></dt>
<dd>INPUT; CHAR(10)
<p>The type of object for which the list of authorized users is returned.</p>
</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> Optional Parameter
Group</h3>
<dl>
<dt><strong>ASP device</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the auxiliary storage pool (ASP) device in which to search for
the library that contains the object.</p>
<p>The valid values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><strong>*</strong></td>
<td align="left" valign="top">All ASPs associated with the job will be
searched. This is the default value if the parameter is not specified.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">The system ASP and all basic user ASPs will be
searched.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">All ASPs that are currently available will be
searched.</td>
</tr>
<tr>
<td align="left" valign="top"><em>ASP device name</em></td>
<td align="left" valign="top">The specified ASP will be searched.</td>
</tr>
</table>
<p>If *CURLIB or *LIBL is specified for the library then the ASP device
parameter must be specified as <strong>*</strong>.</p>
<br>
</dd>
</dl>
<br>
<h3><a name="HDRLUSRA1A">User Space Variables</a></h3>
<p>The following tables describe the order and format of the data returned in
the user space. For detailed descriptions of the fields in the tables, see <a
href="#HDRLUSRA5">Field Descriptions</a>.</p>
<br>
<h4><a name="HDRLUSRA1">Input Parameter Section</a></h4>
<table border width="80%">
<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(10)</td>
<td align="left" valign="top" width="60%">User space name specified</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">0A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Library name specified</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Format name</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object name</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Library name specified</td>
</tr>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object type</td>
</tr>
<tr>
<td align="center" valign="top">58</td>
<td align="center" valign="top">3A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">ASP device</td>
</tr>
</table>
<br>
<br>
<h4><a name="HDRLUSRA3">Header Section</a></h4>
<table border width="80%">
<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(10)</td>
<td align="left" valign="top" width="60%">Object name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">0A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Library name specified</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object type</td>
</tr>
<tr>
<td align="center" valign="top">30</td>
<td align="center" valign="top">1E</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Owner name</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Authorization list</td>
</tr>
<tr>
<td align="center" valign="top">50</td>
<td align="center" valign="top">32</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Primary group</td>
</tr>
<tr>
<td align="center" valign="top">60</td>
<td align="center" valign="top">3C</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Field authorities</td>
</tr>
<tr>
<td align="center" valign="top">61</td>
<td align="center" valign="top">3D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">ASP device name of library</td>
</tr>
<tr>
<td align="center" valign="top">71</td>
<td align="center" valign="top">47</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">ASP device name of object</td>
</tr>
</table>
<br>
<br>
<h4><a name="HDRLUSRA4">USRA0100 Format</a></h4>
<table border width="80%">
<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(10)</td>
<td align="left" valign="top" width="60%">User profile name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">0A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Authority value</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Authorization list management</td>
</tr>
<tr>
<td align="center" valign="top">21</td>
<td align="center" valign="top">15</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object operational</td>
</tr>
<tr>
<td align="center" valign="top">22</td>
<td align="center" valign="top">16</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object management</td>
</tr>
<tr>
<td align="center" valign="top">23</td>
<td align="center" valign="top">17</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object existence</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data read</td>
</tr>
<tr>
<td align="center" valign="top">25</td>
<td align="center" valign="top">19</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data add</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data update</td>
</tr>
<tr>
<td align="center" valign="top">27</td>
<td align="center" valign="top">1B</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data delete</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data execute</td>
</tr>
<tr>
<td align="center" valign="top">29</td>
<td align="center" valign="top">1D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">39</td>
<td align="center" valign="top">27</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object alter</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object reference</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLUSRA5">Field Descriptions</a></h3>
<p><strong>ASP device name of
library.</strong> The auxiliary storage pool (ASP) device name where the
object's library is stored. If the object's library is in the system ASP or one
of the basic user ASPs, this field contains *SYSBAS.</p>
<p><strong>ASP device name of object.</strong> The auxiliary storage pool (ASP)
device name where the object is stored. If the object is in the system ASP or
one of the basic user ASPs, this field contains *SYSBAS.</p>
<p><strong>Authority value.</strong> The user's authority to the object.</p>
<p>This field contains one of the following values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">The user has all object (operational, management,
existence, alter, and reference) and data (read, add, update, delete, and
execute) authorities to the object.</td>
</tr>
<tr>
<td align="left" valign="top">*CHANGE</td>
<td align="left" valign="top">The user has object operational and all data
authorities to the object.</td>
</tr>
<tr>
<td align="left" valign="top">*USE</td>
<td align="left" valign="top">The user has object operational and data read and
execute authorities to the object.</td>
</tr>
<tr>
<td align="left" valign="top">*EXCLUDE</td>
<td align="left" valign="top">The user has none of the object or data
authorities to the object, or authorization list management authority to the
authorization list.</td>
</tr>
<tr>
<td align="left" valign="top">*AUTL</td>
<td align="left" valign="top">The public authority for the object comes from
the public authority on the authorization list securing the object. This value
can only be returned if there is an authorization list securing the object and
the authorized user is *PUBLIC.</td>
</tr>
<tr>
<td align="left" valign="top">USER DEF</td>
<td align="left" valign="top">The user has some combination of object and data
authorities that do not relate to a special value. The individual authorities
for the user should be checked to determine what authority the user has to the
object.</td>
</tr>
</table>
<p><strong>Authorization list.</strong> The name of the authorization list
securing the object. If there is no authorization list securing the object,
this field is *NONE.</p>
<p><strong>Authorization list management.</strong> Whether the user has this
authority to the object. If the user has the authority, this field is Y. If
not, this field is N. This field is only valid if the object type is *AUTL.</p>
<p><strong>Data add.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data delete.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data execute.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data read.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data update.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Field authorities.</strong> Whether the object has field
authorities. If the object is a database file and it has field authorities,
this field is Y. If not, this field is N. This field is only valid if the
object type is *FILE. To see the field authorities for a database file, do
DSPOBJAUT OBJ(your_lib/your_dbfile) OBJTYPE(*FILE) AUTTYPE(*FIELD).</p>
<p><strong>Format name.</strong> The name of the format used to list users
authorized to the object.</p>
<p><strong>Library name specified.</strong> The name of the library the object
containing the authorization list is in.</p>
<p><strong>Primary group.</strong> The name of the user that is the primary
group for the object. If there is not a primary group for the object, the field
will contain *NONE.</p>
<p><strong>Object alter.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Object existence.</strong> Whether the user has this authority to
the object. If the user has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object management.</strong> Whether the user has this authority to
the object. If the user has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object name.</strong> The name of the object for which the list of
authorized users is returned.</p>
<p><strong>Object operational.</strong> Whether the user has this authority to
the object. If the user has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object reference.</strong> Whether the user has this authority to
the object. If the user has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object type.</strong> The type of object for which the list of
authorized users is returned.</p>
<p><strong>Owner.</strong> The name of the owner of the object. If all
authority for the owner is removed, no list entry is returned for the
owner.</p>
<p><strong>Reserved.</strong> An ignored field set to hexadecimal zeros.</p>
<p><strong>User profile name.</strong> The name of the user authorized to the
object.</p>
<p>This field can contain the following special value:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*PUBLIC</em></td>
<td align="left" valign="top">Public authority (authority used by users not
privately authorized) to the object. This is the first entry in the list data
section.</td>
</tr>
</table>
<p><strong>User space name specified.</strong> The name of the user space used
to return the list of users authorized to the object.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<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">CPF3CAA E</td>
<td width="85%" valign="top">List is too large for user space &amp;1.</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">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C31 E</td>
<td align="left" valign="top">Object type &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">CPF811A E</td>
<td align="left" valign="top">User space &amp;4 in &amp;9 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF980B E</td>
<td align="left" valign="top">Object &amp;1 in library &amp;2 not
available.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 E</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9807 E</td>
<td align="left" valign="top">One or more libraries in library list
deleted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9808 E</td>
<td align="left" valign="top">Cannot allocate one or more libraries on library
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9814 E</td>
<td align="left" valign="top">Device &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9820 E</td>
<td align="left" valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9825 E</td>
<td align="left" valign="top">Not authorized to device &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9830 E</td>
<td align="left" valign="top">Cannot assign library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9838 E</td>
<td align="left" valign="top">User profile storage limit exceeded.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library
&amp;2 ended. Reason code &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9873 E</td>
<td align="left" valign="top">ASP status is preventing access to object.</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=
"sec.htm">Security APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>