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

202 lines
5.8 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>gethostent_r()--Get Next Entry from Host Database</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. -->
<!-- Begin Header Records ========================================== -->
<!-- Unix8 SCRIPT J converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!--End Header Records -->
<!-- Edited by Kersten Feb 02 -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>gethostent_r()--Get Next Entry from Host Database</h2>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Syntax<br>
<pre>
#include &lt;netdb.h&gt;
int gethostent_r(struct hostent
*<em>hostent_struct_addr</em>,
struct hostent_data
*<em>hostent_data_struct_addr</em>)
</pre>
<br>
&nbsp;&nbsp;Service Program Name: QSOSRV2<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The <em>gethostent_r()</em> function is used to retrieve information from
the host database file. When the <em>gethostent_r()</em> is first called, the
file is opened, and the first entry is returned. Each subsequent call of
<em>gethostent_r()</em> results in the next entry in the file being returned.
To close the file, use <em>endhostent_r()</em>.</p>
<br>
<h3>Parameters</h3>
<dl>
<dt>struct hostent *<strong>hostent_struct_addr</strong>
&nbsp;(input/output)&nbsp;</dt>
<dd>Specifies the pointer to a hostent structure where the results will be
placed. All results must be referenced through this structure.<br>
<br>
</dd>
<dt>struct hostent_data *<strong>hostent_data_struct_addr</strong>
&nbsp;(input/output)&nbsp;</dt>
<dd>Specifies the pointer to the hostent_data structure, which is used to pass
and preserve results between function calls. The field host_control_blk in the
hostent_data structure must be initialized with hexadecimal zeros before its
initial use. If compatibility with other platforms is required, then the entire
hostent_data structure must be initialized to hexadecimal zeros before initial
use.</dd>
</dl>
<br>
<h3>Authorities</h3>
<p>No authorization is required.</p>
<br>
<h3>Return Value</h3>
<p>The <em>gethostent_r()</em> function returns an integer. Possible values
are:</p>
<ul>
<li>-1 (unsuccessful call)</li>
<li>0 (successful call)</li>
</ul>
<p>The <strong>struct hostent</strong> denoted by
<strong><em>hostent_struct_addr</em></strong> and <strong>struct
hostent_data</strong>denoted by
<strong><em>hostent_data_struct_addr</em></strong> are both defined in
<strong>&lt;netdb.h&gt;</strong>. The structure <strong>struct
hostent</strong>is defined as:</p>
<pre>
struct hostent [
char *h_name;
char **h_aliases;
int h_addrtype;
int h_length;
char **h_addr_list;
];
#define h_addr h_addr_list[0]
</pre>
<p><em>h_name</em> points to the character string that contains the name of the
host. <em>h_aliases</em> is a pointer to a NULL-terminated list of pointers,
each of which points to a character string that represents an alternative name
for the host. <em>h_addrtype</em> contains the address type of the host (for
example, <samp>af_inet</samp>). <em>h_length</em> contains the size of an address
in octets (for example, the size of an Internet address is 4 octets).
<em>h_addr_list</em> is a pointer to a NULL-terminated list of pointers, each
of which points to a network address (in network byte order) for the host.</p>
<br>
<h3>Error Conditions</h3>
<p>When the <em>gethostent_r()</em> function fails, <em>errno</em> can be set
to:</p>
<dl>
<dt><em>[EINVAL]</em></dt>
<dd><p>The hostent_data structure was not properly initialized to hexadecimal zeros before
initial use. For corrective action, see the description for structure hostent_data.</p></dd>
</dl>
<br>
<br>
<h3>Usage Notes</h3>
<ol>
<li>The iSeries Navigator or the following CL commands can be
used to access the host database file:<br>
<br>
<ul>
<li>ADDTCPHTE (Add TCP/IP Host Table Entry)</li>
<li>RMVTCPHTE (Remove TCP/IP Host Table Entry)</li>
<li>CHGTCPHTE (Change TCP/IP Host Table Entry)</li>
<li>RNMTCPHTE (Rename TCP/IP Host Table Entry)</li>
<li>MRGTCPHT (Merge TCP/IP Host Tables)</li>
</ul>
<br>
</li>
<li>A coded character set identifier (CCSID) of 65535 for the job requests that
no database translation be performed. For translation to occur for the host
names returned in the hostent structure, the job CCSID must be something other
than 65535.</li>
</ol>
<h3>Related Information</h3>
<ul>
<li><a href="tsghosta.htm">gethostbyaddr_r()</a>--Get Host Information for IP
Address<br>
<br>
</li>
<li><a href="tsghostb.htm">gethostbyname_r()</a>--Get Host Information for Host
Name<br>
<br>
</li>
<li><a href="tsehoste.htm">endhostent_r()</a>--Close Host Database<br>
<br>
</li>
<li><a href="tsshoste.htm">sethostent_r()</a>--Open Host Database</li>
</ul>
<br>
<hr>
API introduced: V3R1
<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>