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

240 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 Stream File (QHFCLOSF) 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 Stream File (QHFCLOSF) API</h2>
<div class="box" style="width: 60%;">
<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%">Operation (CLOSF)</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 file handle</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(16)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;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 Stream File (QHFCLOSF) API with your file system, you must:</p>
<ol>
<li>Write an exit program that performs the close stream file operation on behalf of the API. For a detailed description of the API and its calling parameters, see <a href="qhfclosf.htm">Close Stream File (QHFCLOSF) 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 QHFCLOSF 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 (CLOSF)</strong></dt>
<dd>INPUT; CHAR(5)
<p>The abbreviation for the operation being performed (CLOSF).</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 file 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&nbsp;0, this parameter is passed to your exit program for the Close Stream File 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 valign="top">If the exit program cannot close the file, HFS does not mark the file as closed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">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 file, the file 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 QHFCLOSF API is called to close the file. 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 to be deregistered.</li>
</ul>
<br>
<h3>API Functions</h3>
<p>The QHFCLOSF API performs the standard functions described in <a href="hfs3d.htm#HDRSTDAPI">Standard HFS API Functions</a>.</p>
<br>
<h3>Exit Program Requirements</h3>
<p>You must create an exit program that performs the standard functions described <a href="hfs3d.htm#HDRSTDFS">Standard HFS Exit Program Requirements</a> and these additional functions:</p>
<ul>
<li>Releases any byte locks that the job has on the file.<br><br></li>
<li>Closes the file and invalidates the file system job handle so that the handle cannot be used again.</li>
</ul>
<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">CPF1F28 E</td>
<td valign="top">Damaged file. </td>
</tr>
<tr>
<td align="left" valign="top">CPF1F61 E </td>
<td valign="top">No free space available on media. </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">CPF1F63 E</td>
<td valign="top">Media is write protected. </td>
</tr>
<tr>
<td align="left" valign="top">CPF1F66 E</td>
<td valign="top">Storage needed exceeds maximum limit for user profile &amp;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>