 |
Index for Section 3 |
|
 |
Alphabetical listing for R |
|
 |
Bottom of page |
|
rapi_event_rtn_t(3)
NAME
rapi_event_rtn_t - Execute an Resource ReSerVation Protocol (RSVP) API
upcall routine
SYNOPSIS
#include <rapi.h>
void rapi_event_rtn_t(
rapi_sid_t Sid,
rapi_eventinfo_t EventType,
rapi_styleid_t Style,
int ErrorCode,
int ErrorValue,
rapi_addr_t *ErrorNode,
unsigned int ErrorFlags,
int FilterSpecNo,
rapi_filter_t *FilterSpec_list,
int FlowSpecNo,
rapi_flowspec_t *FlowSpec_list,
int AdspecNo,
rapi_adspec_t *Adspec_list,
void *Event_arg );
LIBRARY
RAPI Library (librsvp.so, librsvp.a)
PARAMETERS
Sid Specifies the session handle that was returned by a successful call to
the rapi_session() routine.
EventType
Specifies one of the following upcall event types:
RAPI_PATH_EVENT
Indicates that the RSVP sender state, or path, from a remote node
has arrived or has changed at the local node. Whenever the path
state changes, a RAPI_PATH_EVENT upcall that contains the complete
current list of senders (or no senders after a path teardown) in
the path state for the specified session is triggered.
The FilterSpec_list, Flowspec_list, and Adspec_list are equal in
length, and contain sender templates, sender Tspecs, and Adspecs,
respectively, for all senders known at this node. A missing object
is indicated by an empty RAPI object.
RAPI_PATH_EVENT upcalls are enabled by the initial call to the
rapi_session() routine.
RAPI_RESV_EVENT
Indicates that the reservation state has arrived or has changed at
the node. This implies that reservations have been established or
deleted along the entire data path to one or more receivers. A
change in the reservation state triggers a RAPI_RESV_EVENT upcall
that contains the current reservation state for the API session.
The Flowspec_list parameter either contains one flowspec object or
is empty (if the state has been torn down); the FilterSpec_list
parameter contains zero or more filter spec objects; and the
Adspec_list parameter is empty.
RAPI_RESV_EVENT upcalls are enabled by a call to the rapi_sender()
routine. The sender template from the most recent call matches the
filter spec returned in a reservation event upcall.
RAPI_PATH_ERROR
Indicates that an asynchronous error has been found in the sender
information specified in a rapi_sender() call. The ErrorCode and
ErrorValue parameters specify the error. The FilterSpec_list and
Flowspec_list parameters each contain one object, the sender
template and corresponding sender Tspec (if any) in error; and the
Adspec_list parameter is empty. If there is no sender Tspec, the
object in the Flowspec_list is an empty RAPI object; Adspec_list is
also empty.
RAPI_PATH_ERROR upcalls are enabled by a call to the rapi_sender()
routine, and the sender Tspec in that call matches the sender Tspec
returned in a subsequent path error upcall.
RAPI_RESV_ERROR
Indicates that an asynchronous reservation error has occurred.
The ErrorCode and ErrorValue parameters specify the error. The
Flowspec_list parameter either contains one flowspec; the
FilterSpec_list parameter contains zero or more filter spec
objects; and the Adspec_list parameter is empty.
RAPI_RESV_CONFIRM
Indicates a reservation has been made at least to an intermediate
merge point and possible all the way to at least one sender. A
confirmation upcall is enabled by a call to the rapi_reserve()
routine with the RAPI_REQ_CONFIRM option set. Only one confirmation
upcall results from each such call.
The parameters of a confirmation upcall are the same as those for a
reservation event upcall (RAPI_RESV_EVENT).
Style
Specifies the style of the reservation. Its value is non-zero only for
RAPI_RESV_EVENT and RAPI_RESV_ERROR upcalls.
ErrorCode
Specifies, together with ErrorValue, the error cause. This code is set
for RAPI_PATH_ERROR and RAPI_RESV_ERROR events only. The ErrorCode
values and text strings are defined in <rapi_lib.h> and <rapi_err.h>,
respectively.
ErrorValue
Specifies, together with ErrorCode, the error cause. This code is set
for RAPI_PATH_ERROR and RAPI_RESV_ERROR events only.
ErrorNode
Specifies the IP address of the node that detected the error. This code
is set for RAPI_PATH_ERROR and RAPI_RESV_ERROR events only.
ErrorFlags
Specifies one of the following options for RAPI_PATH_ERROR and
RAPI_RESV_ERROR events only:
RAPI_ERRF_InPlace (0x01)
Indicates that the reservation failed, but another reservation
(maybe smaller) is still in place on the same interface.
RAPI_ERRF_NotGuilty (0x02)
Indicates that the reservation failed, but the request from this
client was merged with a larger reservation upstream. This client's
reservation might not be the cause of the failure.
FilterSpecNo
Specifies the number of objects in a sequential vector of RAPI filter
specification or sender template objects that is pointed to by the
FilterSpec_List parameter. If this parameter is zero (0),
FilterSpec_List is NULL.
FilterSpec_list
Points to an area that contains a sequential vector of RAPI filter
specification or sender template objects. If the FilterSpecNo parameter
is zero (0), this parameter is NULL.
FlowSpecNo
Specifies the number of objects in a sequential vector of RAPI flow
specification or Tspec objects that is pointed to by the Flowspec_list
parameter. If this parameter is zero (0), the Flowspec_list parameter
is NULL.
FlowSpec_list
Points to an area that contains a sequential vector of RAPI flow
specification or Tspec objects. If the FlowSpecNo parameter is zero
(0), this parameter is NULL.
AdspecNo
Specifies the number of objects in a sequential vector of RAPI objects.
If this parameter is zero (0), the Adspec_list parameter is NULL.
Adspec_list
Points to an area that contains a sequential vector of RAPI objects. If
this parameter is zero, the Adspec_list parameter is NULL.
Event_arg
Specifies a value supplied in a call to rapi_session().
DESCRIPTION
An event upcall is invoked by a call to the rapi_dispatch() routine. The
upcall executes the procedure whose address was specified by the Event_rtn
parameter in the rapi_session() routine.
RETURN VALUES
When the application's upcall returns, the RSVP API (RAPI) frees any area
pointed to by the Flowspec_list and Filterspec_list parameters. The
application must copy any values it wants to save.
SEE ALSO
Functions: rapi_dispatch(3), rapi_getfd(3), rapi_release(3),
rapi_reserve(3), rapi_sender(3), rapi_session(3), rapi_version(3).
Network: RSVP(7).
Network Programmer's Guide
 |
Index for Section 3 |
|
 |
Alphabetical listing for R |
|
 |
Top of page |
|