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

269 lines
7.4 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>rapi_reserve()--Make, modify, or delete a RAPI reservation</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. -->
<!-- Created by John Hall for V5R1-->
<!-- Change history: -->
<!-- 030522 LESMITH: D3255.1 public authority should be *EXCLUDE-->
<!-- Edited by Kersten Feb 02 -->
<!-- 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 type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>rapi_reserve()--Make, modify, or delete a RAPI reservation</h2>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Syntax<br>
<pre>
#include &lt;rapi.h&gt;
int rapi_reserve(
rapi_sid_t SessID,
int flags,
rapi_addr_t *SessAddr,
rapi_styleid_t style,
rapi_stylex_t *style_ext,
rapi_policy_t *RcvPol,
int numFilt,
rapi_filter_t *FspecLst,
int numFlow,
rapi_flowspec_t *Flowlst )
</pre>
<br>
&nbsp;&nbsp;Service program name: QSYS/QTOQRAPI<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default public authority: *EXCLUDE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The RSVP receiver uses the the <strong>rapi_reserve()</strong> API to make,
modify, or delete an RSVP reservation in the network. This call causes an RSVP
RESERVE message to be sent to the sender through the network. This API should
be called after a PATH message has been received from the sender.</p>
<br>
<h3>Parameters</h3>
<dl>
<dt><strong><em>SessID</em></strong></dt>
<dd>(Input) Required<br>
Session ID returned by a successful <strong>rapi_session()</strong> call.<br>
<br>
</dd>
<dt><strong><em>flags</em></strong></dt>
<dd>(Input) Required<br>
Set to 0 if not used.<br>
RAPI_REQ_CONFIRM 32<br>
<ul>
<li>Requests confirmation of the reservation by means of a confirmation RAPI
message-handling routine (type RAPI_RESV_CONFIRM).</li>
</ul>
<br>
</dd>
<dt><strong><em>SessAddr</em></strong></dt>
<dd>(Input) Required<br>
A pointer to a rapi_addr_t structure that defines the interface address to
receive data for multicast flows. If omitted or the host address is INADDR_ANY,
the default interface is assumed. It is set to 0 if not used.<br>
<br>
</dd>
<dt><strong><em>style</em></strong></dt>
<dd>(Input) Required<br>
A reservation style ID (see table below).<br>
<br>
</dd>
<dt><strong><em>style_ext</em></strong></dt>
<dd>(Input) Optional<br>
A pointer to a style-dependent extension to the parameter list if there is one.
Otherwise, it is NULL.<br>
<br>
</dd>
<dt><strong><em>RcvPol</em></strong></dt>
<dd>(Input) Optional<br>
A pointer to a policy data structure. It is set to NULL if not used.<br>
<br>
</dd>
<dt><strong><em>NumFilt</em></strong></dt>
<dd>(Input) Required<br>
The number of filter specs. If the NumFilt parameter is 0, the FspecLst
parameter is ignored.<br>
<br>
</dd>
<dt><strong><em>FspecLst</em></strong></dt>
<dd>(Input) Optional<br>
A pointer to an area containing a sequential vector of RAPI filter spec
objects. It is set to NULL if not used.<br>
<br>
</dd>
<dt><strong><em>numFlow</em></strong></dt>
<dd>(Input) Required<br>
The number of flow specs. If numFlow is zero, the call removes the current
reservations for the specified session and FSpecLst. The FlowLst parameter will
be ignored.<br>
<br>
</dd>
<dt><strong><em>FlowLst</em></strong></dt>
<dd>(Input) Optional<br>
A pointer to an area containing a sequential vector of RAPI flowspec objects.
The number of objects is specified in the numFlow parameter. If the numFlow
parameter is 0, this input is ignored and should be set to NULL.</dd>
</dl>
<br>
<h3>RAPI Styles</h3>
<table border cellpadding="5">
<!-- cols="20 20 60" -->
<tr>
<th align="center" valign="bottom">Style Type</th>
<th align="center" valign="bottom">Style ID</th>
<th align="center" valign="bottom">Description</th>
</tr>
<tr>
<td align="left" valign="top">Wildcard Filter(WF)</td>
<td align="left" valign="top">RAPI_RSTYLE_ WILDCARD</td>
<td align="left" valign="top">The Flowspec_list parameter may be empty (to
delete the reservation) or else point to a single flowspec. The FilterSpec_list
parameter may be empty or it may point to a single filter spec containing
appropriate wildcard(s).</td>
</tr>
<tr>
<td align="left" valign="top">Fixed Filter(FF)</td>
<td align="left" valign="top">RAPI_RSTYLE_FIXED</td>
<td align="left" valign="top">FilterSpecNo must equal FlowspecNo. Entries
Flowspec_list and FilterSpedc_list parameters will correspond in pairs.</td>
</tr>
<tr>
<td align="left" valign="top">Shared Explicit(SE)</td>
<td align="left" valign="top">_RSTYLE_SE</td>
<td align="left" valign="top">The Flowspec_list parameter should point to a
single flowspec. The FilterSpec_list parameter may point to a list of any
length.</td>
</tr>
</table>
<br>
<br>
<h3>Authorities</h3>
<p>None.</p>
<br>
<h3>Return Value</h3>
<p>Returns 0 if successful.</p>
<p>RAPI error code if it fails.</p>
<br>
<h3>Error Conditions</h3>
<dl>
<dt><em>[RAPI_ERR_INVAL]</em></dt>
<dd><p>One or more of the parameters that was passed to
the API was not valid.</p></dd>
<dt><em>[RAPI_ERR_BADSID]</em></dt>
<dd><p>The session ID that was passed to the API did not
correspond to an active RAPI session.</p></dd>
<dt><em>[RAPI_ERR_NORSVP]</em></dt>
<dd><p>The RSVP server was not detected. Make sure the
RSVP server is running.</p></dd>
</dl>
<br>
<h3>Usage Notes</h3>
<p>If this call is successful, the application RAPI message-handling routine of
type RAPI_RESV_ERROR or RAPI_RESV_CONFIRM may be generated. A rejection of the
reservation request or other failure is reported by an RAPI message-handling
routine of type API_RESV_ERROR. An error code of RSPV_Err_NO_PATH indicates
that the RSVP state from one or more of the senders specified in filter_list
has not yet propagated all the way to the receiver; it may also indicate that
one or more of the specified senders has closed its API session and that its
RSVP state has been deleted from the routers.</p>
<br>
<h3>Related Information</h3>
<p>For a description of the RSVP protocol, see RFC 2205 on the RFC Pages for <a
href="http://www.ietf.org/rfc.html">The Internet Engineering Task
Force</a>.<img src="www.gif" alt="Link outside Information Center"></p>
<p>Complete documentation of the RAPI APIs can be found at <a href=
"http://www.opengroup.org/publications/catalog/c809.htm">The Open
Group</a>.<img src="www.gif" alt="Link outside Information Center"></p>
<br>
<hr>
API introduced: V5R1
<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>