269 lines
7.4 KiB
HTML
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>
|
||
|
Syntax<br>
|
||
|
<pre>
|
||
|
#include <rapi.h>
|
||
|
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>
|
||
|
Service program name: QSYS/QTOQRAPI<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Default public authority: *EXCLUDE<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
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>
|
||
|
|