228 lines
7.3 KiB
HTML
228 lines
7.3 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>Exit Program for Close Directory (QHFCLODR) API</title>
|
||
|
<!-- 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. -->
|
||
|
<!--File Edited November 2001 -->
|
||
|
<!--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>Exit Program for Close Directory (QHFCLODR) API</h2>
|
||
|
|
||
|
|
||
|
<div class="box" style="width: 60%;">
|
||
|
<br>
|
||
|
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%">Operation (CLODR)</td>
|
||
|
<td align="left" valign="top" width="20%">Input</td>
|
||
|
<td align="left" valign="top" width="20%">Char(5)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">2</td>
|
||
|
<td align="left" valign="top">File system job handle</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(16)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">3</td>
|
||
|
<td align="left" valign="top">Open directory handle</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(16)</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
Optional Parameter Group:<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
<table width="100%">
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">4</td>
|
||
|
<td align="left" valign="top" width="50%">Close type</td>
|
||
|
<td align="left" valign="top" width="20%">Input</td>
|
||
|
<td align="left" valign="top" width="20%">Char(1)</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<br>
|
||
|
</div>
|
||
|
|
||
|
<p>Before applications can use the Close Directory (QHFCLODR) API with your file system, you must:</p>
|
||
|
|
||
|
<ol>
|
||
|
<li>Write an exit program that performs the close directory operation on behalf of the API. For a detailed description of the API and its calling parameters, see<a href="qhfclodr.htm"> Close Directory (QHFCLODR) API</a>.<br><br></li>
|
||
|
|
||
|
<li>Give the exit program's name when you register the file system with the Register File System (QHFRGFS) API.</li>
|
||
|
</ol>
|
||
|
|
||
|
<p>After that, when an application calls the QHFCLODR API, the API calls your exit program and passes it the parameters specified by the application. Your exit program performs the work and returns any data to the API. The API passes the data back to the calling application.</p>
|
||
|
|
||
|
<br>
|
||
|
<!-- Please NOTE: DO NOT DELETE THIS SECTION if this API has no authorities and locks. -->
|
||
|
<!-- Instead, use the commented out coding below to indicate NONE. -->
|
||
|
<h3>Authorities and Locks</h3>
|
||
|
|
||
|
<!-- Use this if there are no authorities and locks. -->
|
||
|
<p>None.</p>
|
||
|
|
||
|
<br>
|
||
|
<h3>Required Parameter Group</h3>
|
||
|
|
||
|
<p>The API passes this information to your exit program:</p>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Operation (CLODR)</strong></dt>
|
||
|
<dd>INPUT; CHAR(5)
|
||
|
|
||
|
<p>The abbreviation for the operation being performed (CLODR).</p></dd>
|
||
|
|
||
|
<dt><strong>File system job handle</strong></dt>
|
||
|
<dd>INPUT; CHAR(16)
|
||
|
|
||
|
<p>The work area or job identifier for use by the file system.</p></dd>
|
||
|
</dl>
|
||
|
|
||
|
<p>The following parameter is the same as the parameter for the API.</p>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Open directory handle</strong></dt>
|
||
|
<dd>INPUT; CHAR(16)</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
<h3>Optional Parameter Group</h3>
|
||
|
|
||
|
<p>If your file system was registered with a Version 2 Release 3 Modification Level 0, this parameter is passed to your exit program for the Close Directory API.</p>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Close type</strong></dt>
|
||
|
<dd>INPUT; CHAR(1)
|
||
|
|
||
|
<p>The type of close operation to be performed. Valid values are:</p>
|
||
|
|
||
|
<table cellpadding="3">
|
||
|
<!-- cols="10 90" -->
|
||
|
<tr>
|
||
|
<td valign="top"><em>0</em></td>
|
||
|
<td>If the exit program cannot close the directory, HFS does not mark the directory as closed.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top"><em>1</em></td>
|
||
|
<td>Unconditional close. HFS marks the directory as closed regardless of what valid exception is returned by the exit program. HFS may call your exit program for an unconditional close at the end of the job and during the reclaim resource processing. If your file system is called to unconditionally close a directory, the directory should not be marked as open by the file system when control is returned to HFS.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</dd></dl>
|
||
|
|
||
|
<p>HFS uses the close type value 0 when the QHFCLODR API is called to close the directory. The unconditional close type value 1 is used when:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>The job ends.<br><br></li>
|
||
|
<li>Reclaim resource processing is done.<br><br></li>
|
||
|
<li>The Deregister File System (QHFDRGFS) API is called, and the job is using the file system that is to be deregistered.</li>
|
||
|
</ul>
|
||
|
|
||
|
<br>
|
||
|
<h3>API Functions</h3>
|
||
|
|
||
|
<p>In addition to the standard functions described in <a href="hfs3d.htm#HDRSTDAPI">Standard HFS API Functions</a>, the QHFCLODR API performs these functions for your file system:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>Validates the open directory handle to ensure that the directory is open and the current user profile is the user that opened it.<br><br></li>
|
||
|
|
||
|
<li>Passes the corresponding file system handle to the file system.</li>
|
||
|
</ul>
|
||
|
|
||
|
<br>
|
||
|
<h3>Exit Program Requirements</h3>
|
||
|
|
||
|
<p>You must create an exit program that performs the standard functions described in <a href="hfs3d.htm#HDRSTDFS">Standard HFS Exit Program Requirements</a> and one additional function. The exit program should close the directory, releasing the lock that the user obtained when the directory was opened, and invalidate the directory handle so that it cannot be used again.</p>
|
||
|
|
||
|
<br>
|
||
|
<h3>Error Messages for Exit Program Use</h3>
|
||
|
|
||
|
<p>This section lists the messages that the exit program can return to the API.</p>
|
||
|
|
||
|
<table cellpadding="3">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<th align="left" valign="top">Message ID</th>
|
||
|
<th align="left" valign="top">Error Message Text</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF1F06 E</td>
|
||
|
<td valign="top">Directory in use.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF1F08 E</td>
|
||
|
<td valign="top">Damaged directory.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF1F62 E</td>
|
||
|
<td valign="top">Requested function failed.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF1F66 E</td>
|
||
|
<td valign="top">Storage needed exceeds maximum limit for user profile &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF1F71 E</td>
|
||
|
<td valign="top">Exception specific to file system occurred. </td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF1F73 E</td>
|
||
|
<td valign="top">Not authorized to use command. </td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF1F74 E</td>
|
||
|
<td valign="top">Not authorized to object. </td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF1F77 E</td>
|
||
|
<td valign="top">Severe parameter error occurred on call to file system.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<hr>
|
||
|
Exit Program Introduced: V2R1
|
||
|
|
||
|
<hr>
|
||
|
<center>
|
||
|
<table cellpadding="2" cellspacing="2">
|
||
|
<tr align="center">
|
||
|
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a
|
||
|
href="hfs1.htm">Hierarchical File System APIs</a> |
|
||
|
<a href="aplist.htm">APIs by category</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</center>
|
||
|
</body>
|
||
|
</html>
|