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

208 lines
5.7 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!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>qsysetgid()--Set Group ID</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. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- file cleaned -->
<!-- QSYSETGI SCR450 A converted by B2H R4.1 (346) (CMS) by V2DCIJB -->
<!-- at RCHVMW2 on 5 Oct 1999 at 15:16:03 -->
<!-- This file has undergone html cleanup June 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 language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>qsysetgid()--Set Group ID</h2>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Syntax<br>
<pre>
#include &lt;qsysetid.h&gt;
int qsysetgid(gid_t gid);
</pre>
&nbsp;&nbsp;Service Program Name: QSYSETIDS<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>If the thread has *ALLOBJ special authority, <strong>qsysetgid()</strong>
sets the real, effective and saved groups to <em>gid</em>.</p>
<p>If the thread does not have *ALLOBJ special authority, but <em>gid</em> is
equal to the real, effective or saved group IDs, the <strong>
qsysetgid()</strong> function sets the effective group ID to <em>gid</em>. The
real group and saved group IDs remain unchanged.</p>
<p>Any supplementary group IDs of the calling thread remain unchanged.</p>
<p>Job scoped locks with a lock state of *SHRRD are held on the user profiles
associated with the real user ID, effective user ID, saved user ID, real group
ID, effective group ID, saved group ID, and all of the supplemental groups.</p>
<br>
<h3>Parameters</h3>
<dl>
<dt><strong><em>gid</em></strong></dt>
<dd>(Input) Group ID.
<p>This field must contain one of the following values:</p>
<dl>
<dt><strong>0</strong></dt>
<dd>There is no group ID. The effective group ID can be set to 0 only if there
are no supplemental groups.<br>
</dd>
<dt><strong>1 to 4294967294</strong></dt>
<dd>The group ID value for the set operation.</dd>
</dl>
</dd>
</dl>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><strong>*ALLOBJ special authority</strong></dt>
<dd>*ALLOBJ special authority is required if <em>gid</em> is not equal to the
real, effective or saved group ID.<br>
</dd>
<dt><strong>User profile associated with <em>gid</em> lock</strong></dt>
<dd>*SHRRD</dd>
</dl>
<br>
<h3>Return Value</h3>
<dl>
<dt><strong>0</strong></dt>
<dd><strong>qsysetgid()</strong> was successful.<br>
</dd>
<dt><strong>-1</strong></dt>
<dd><strong>qsysetgid()</strong> was not successful. <em>errno</em> is set to
indicate the error.</dd>
</dl>
<br>
<h3>Error Conditions</h3>
<p>If <strong>qsysetgid()</strong> is not successful, <em>errno</em> indicates
one of the following errors.</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<th align="left" valign="bottom">Error condition</th>
<th align="left" valign="bottom">Additional information</th>
</tr>
<tr>
<td align="left" valign="top">
<em>[<a href="unix14.htm#EAGAIN">EAGAIN</a>]</em></td>
<td align="left" valign="top">
<p>User profile associated with the <em>gid</em> is locked. Try again.</p>
</td></tr>
<tr><td align="left" valign="top"><em>[<a href="unix14.htm#EDAMAGE">EDAMAGE</a>]</em></td>
<td align="left" valign="top">
<p>The user profile associated with the <em>gid</em> or an internal system
object is damaged.</p>
</td></tr>
<tr>
<td align="left" valign="top">
<em>[<a href="unix14.htm#EINVAL">EINVAL</a>]</em></td>
<td align="left" valign="top">
<p>The value of the <em>gid</em> argument is not valid. Following are possible
reasons:</p>
<ul compact>
<li>Out of range.</li>
<li>Not associated with a user profile.</li>
</ul>
</td>
</tr>
<tr><td align="left" valign="top"><em>[<a href="unix14.htm#ENOTSUP">ENOTSUP</a>]</em></td>
<td align="left" valign="top">
<p>Operation not supported. The current effective user profile specifies
OWNER(*GRPPRF), but the group profile associated with this <em>gid</em> is not
equal to the user profile's first group and the user's first group is not in
the list of supplemental groups.</p>
</td></tr>
<tr><td align="left" valign="top"><em>[<a href="unix14.htm#EPERM">EPERM</a>]</em></td>
<td align="left" valign="top">
<p>Operation not permitted. Following are possible reasons:</p>
<ul compact>
<li>The thread does not have *ALLOBJ special authority and <em>gid</em> is not
the same as the real, effective or saved group ID.</li>
<li>Tried to set effective group ID to 0 when there are supplemental
groups.</li>
</ul>
</td></tr>
<tr><td align="left" valign="top"><em>[<a href="unix14.htm#EUNKNOWN">EUNKNOWN</a>]</em></td>
<td align="left" valign="top">
<p>An unknown error has occurred. Check the joblog for error messages.</p>
</td></tr>
</table>
<br>
<hr>
API introduced: V4R5
<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>