Previous section.

Resource ReSerVation Protocol API (RAPI)
Copyright © 1998 The Open Group

Introduction

Purpose and Scope

RAPI is a specific Application Programming Interface (API) for the Resource ReSerVation Protocol (RSVP).

The RAPI interface is one realization of the generic API contained in the RSVP Functional Specification (see reference RFC 2205). This Resource ReSerVation Protocol (RSVP) describes a resource reservation setup protocol designed for an integrated services Internet. RSVP provides receiver-initiated setup of resource reservations for multicast or unicast data flows. See the RSVP applicability statement in reference RFC 2210.

RSVP is designed to be used in conjunction with the Internet Protocol (IP, see reference RFC 791). It may be used in conjunction with either IP version 4 (IPv4) or IP version 6 (IPv6) of that protocol. The definition of RAPI assumes use of RSVP in conjunction with IP, and contains some provisions that are IP-specific.

The RAPI interface is a set of C language bindings whose calls are defined in this specification.

Terminology

The following terms are used in this specification:

can

This describes a permissible optional feature or behavior available to the user or application; all systems support such features or behavior as mandatory requirements.

implementation-dependent

The value or behavior is not consistent across all implementations. The provider of an implementation normally documents the requirements for correct program construction and correct data in the use of that value or behavior. When the value or behavior in the implementation is designed to be variable or customizable on each instantiation of the system, the provider of the implementation normally documents the nature and permissible ranges of this variation. Applications that are intended to be portable must not rely on implementation-dependent values or behavior.

may

With respect to implementations, the feature or behavior is optional. Applications should not rely on the existence of the feature. To avoid ambiguity, the reverse sense of may is expressed as need not, instead of may not.

must

This describes a requirement on the application or user.

should

With respect to implementations, the feature is recommended, but it is not mandatory. Applications should not rely on the existence of the feature.

With respect to users or applications, the word means recommended programming practice that is necessary for maximum portability.

undefined

A value or behavior is undefined if this document imposes no portability requirements on applications for erroneous program constructs or erroneous data. Implementations may specify the result of using that value or causing that behavior, but such specifications are not guaranteed to be consistent across all implementations. An application using such behavior is not fully portable to all systems.

unspecified

A value or behavior is unspecified if this document imposes no portability requirements on applications for correct program construct or correct data. Implementations may specify the result of using that value or causing that behavior, but such specifications are not guaranteed to be consistent across all implementations. An application requiring a specific behavior, rather than tolerating any behavior when using that functionality, is not fully portable to all systems.

will

This means that the behavior described is a requirement on the implementation and applications can rely on its existence.

Namespace Use

Feature test macro _XOPEN_SOURCE is used to control use of the namespace by implementations of this specification.

All identifiers used in the normative sections of this specification are defined in <rapi.h> (see Header File ). In order to use the API defined in this specification, an application should define macro _XOPEN_SOURCE with a value of at least 500 before including header file <rapi.h>. When this is done:

Header Prefix Suffix
<rapi.h> RAPI_, rapi_, RSVP_, rsvp_, IS_, is_ _t;

The behavior of the implementation when _XOPEN_SOURCE is not defined, or is defined with a value of less than 500, is unspecified.

Contents Next section Index