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

206 lines
5.7 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>qsysetegid()--Set Effective 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 -->
<!-- QSYSETEG SCR450 A converted by B2H R4.1 (346) (CMS) by V2DCIJB -->
<!-- at RCHVMW2 on 5 Oct 1999 at 14:27:20 -->
<!-- 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>qsysetegid()--Set Effective Group ID</h2>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Syntax<br>
<pre>
#include &lt;qsysetid.h&gt;
int qsysetegid(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 <em>gid</em> is equal to either the real, effective, saved group ID, or
one of the groups in the supplemental group list, <strong>qsysetegid()</strong>
sets the effective group ID to <em>gid</em>.</p>
<p>If <em>gid</em> is not equal to any of the current groups, but the thread
has *USE authority to the user profile associated with the <em>gid</em>,
<strong>qsysetegid()</strong> sets the effective group ID to <em>gid</em>.</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 effective group ID.<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>User profile associated with <em>uid</em> authority</strong></dt>
<dd>*USE authority is required to the user profile associated with <em>gid</em>
if <em>gid</em> is not equal to the real, effective, saved group IDs or one of
the groups in the supplemental group list.<br>
</dd>
<dt><strong>User profile associated with <em>uid</em> lock</strong></dt>
<dd>*SHRRD</dd>
</dl>
<br>
<h3>Return Value</h3>
<dl>
<dt><strong>0</strong></dt>
<dd><strong>qsysetegid()</strong> was successful.<br>
</dd>
<dt><strong>-1</strong></dt>
<dd><strong>qsysetegid()</strong> was not successful. <em>errno</em> is set to
indicate the error.</dd>
</dl>
<br>
<h3>Error Conditions</h3>
<p>If <strong>qsysetegid()</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#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><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><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 *USE authority to the user profile associated with
the <em>gid</em> and the <em>gid</em> to be set is not the same as the real,
effective, saved group IDs or any of the supplemental groups.</li>
<li><em>gid</em> cannot be set to 0 if there are supplemental groups.</li>
</ul>
</td>
</tr>
<tr><td><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>