File : posix-xti-iso.ads
-- This code extracted from file dot5c.tex by Latex.
------------------------------------------------------------------------------
-- --
-- POSIX Ada95 Bindings for Protocol Independent Interfaces (P1003.5c) --
-- --
-- P O S I X . X T I . I S O --
-- --
-- S p e c --
-- --
-- --
-- This file is part of an implementation of an Ada95 API for the sockets --
-- and network support services found in P1003.1g -- Protocol Independent --
-- Interfaces. It is integrated with the FSU Implementation of POSIX.5b --
-- (FLORIST), an Ada API for POSIX OS services for use with the GNAT Ada --
-- compiler and the FSU Gnu Ada Runtime Library (GNARL). --
-- --
-- This package specification contains some text extracted from IEEE STD --
-- 1003.5: 1990, Information Technology -- POSIX Ada Language Interfaces --
-- Part 1: Binding for System Application Program Interface, as amended --
-- by IEEE STD 1003.5b: 1996, Amendment 1: Realtime Extensions, and as --
-- further amended by IEEE Draft STD 1003.5c: 1997, Amendment 2: Protocol --
-- Independent Interfaces, copyright 1997 by the Institute of Electrical --
-- and Electronics Engineers, Inc. --
-- --
-- The package specifications in the IEEE standards cited above represent --
-- only a portion of the documents and are not to be interpreteted --
-- outside the context of the documents. The standards must be used in --
-- conjunction with the package specifications in order to claim --
-- conformance. The IEEE takes no responsibility for and will assume no --
-- liability for damages resulting from the reader's misinterpretation of --
-- said information resulting from its out-of-context nature. To order --
-- copies of the IEEE standards, please contact the IEEE Service Center --
-- at 445 Hoes Lane, PO Box 1331, Piscataway, NJ 08855-1331; via phone at --
-- 1-800-678-IEEE, 908-981-1393; or via fax at 908-981-9667. --
-- --
-- These package specifications are distributed in the hope that they --
-- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
-- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
------------------------------------------------------------------------------
with POSIX.C;
package POSIX.XTI.ISO is
ISO_TP_Level : constant Option_Level := 0;
type ISO_XTI_Address is new XTI_Address with private;
type ISO_Option is (Enabled, Disabled);
function Get_Value (Option_Item : Protocol_Option)
return ISO_Option;
procedure Set_Option
(Option_Item : in out Protocol_Option;
Level : in Option_Level;
Name : in Option_Name;
To : in ISO_Option);
Residual_Error_Rate : constant Option_Name := 0;
Priority : constant Option_Name := 0;
Protection : constant Option_Name := 0;
type Rate is private;
type Priority_Level is (Top, High, Medium, Low, Default);
type Protection_Level is new POSIX.Option_Set;
No_Protection : constant Protection_Level := Empty_Set;
Passive_Protection : constant Protection_Level := Empty_Set;
Active_Protection : constant Protection_Level := Empty_Set;
Absolute_Requirement : constant Protection_Level := Empty_Set;
function Get_Target_Rate (Item : Rate)
return Duration;
procedure Set_Target_Rate
(Item : in out Rate;
To : in Duration);
function Get_Minimum_Acceptable_Rate (Item : Rate)
return Duration;
procedure Set_Minimum_Acceptable_Rate
(Item : in out Rate;
To : in Duration);
function Get_Value (Option_Item : Protocol_Option)
return Rate;
procedure Set_Option
(Option_Item : in out Protocol_Option;
Level : in Option_Level;
Name : in Option_Name;
To : in Rate);
function Get_Value (Option_Item : Protocol_Option)
return Priority_Level;
procedure Set_Option
(Option_Item : in out Protocol_Option;
Level : in Option_Level;
Name : in Option_Name;
To : in Priority_Level);
function Get_Value (Option_Item : Protocol_Option)
return Protection_Level;
procedure Set_Option
(Option_Item : in out Protocol_Option;
Level : in Option_Level;
Name : in Option_Name;
To : in Protection_Level);
-- Dispatching operations for ISO_XTI_Address
procedure Get_Address
(Info_Item : in Connection_Information;
Address : in out ISO_XTI_Address);
Throughput : constant Option_Name := 0;
Connection_Transit_Delay : constant Option_Name := 0;
Transfer_Fail_Probability : constant Option_Name := 0;
Establishment_Fail_Probability
: constant Option_Name := 0;
Release_Fail_Probability : constant Option_Name := 0;
Establishment_Delay : constant Option_Name := 0;
Release_Delay : constant Option_Name := 0;
Connection_Resilience : constant Option_Name := 0;
Expedited_Data : constant Option_Name := 0;
type Requested_Rate is private;
type Throughput_Rate is private;
type Transit_Delay_Rate is private;
function Get_Called_Rate (Item : Requested_Rate)
return Rate;
procedure Set_Called_Rate
(Item : in out Requested_Rate;
To : in Rate);
function Get_Calling_Rate (Item : Requested_Rate)
return Rate;
procedure Set_Calling_Rate
(Item : in out Requested_Rate;
To : in Rate);
function Get_Throughput_Maximum (Item : Throughput_Rate)
return Requested_Rate;
procedure Set_Throughput_Maximum
(Item : in out Throughput_Rate;
To : in Requested_Rate);
function Get_Throughput_Average (Item : Throughput_Rate)
return Requested_Rate;
procedure Set_Throughput_Average
(Item : in out Throughput_Rate;
To : in Requested_Rate);
function Get_Transit_Delay_Maximum (Item : Transit_Delay_Rate)
return Requested_Rate;
procedure Set_Transit_Delay_Maximum
(Item : in out Transit_Delay_Rate;
To : in Requested_Rate);
function Get_Transit_Delay_Average (Item : Transit_Delay_Rate)
return Requested_Rate;
procedure Set_Transit_Delay_Average
(Item : in out Transit_Delay_Rate;
To : in Requested_Rate);
function Get_Value (Option_Item : Protocol_Option)
return Throughput_Rate;
procedure Set_Option
(Option_Item : in out Protocol_Option;
Level : in Option_Level;
Name : in Option_Name;
To : in Throughput_Rate);
function Get_Value (Option_Item : Protocol_Option)
return Transit_Delay_Rate;
procedure Set_Option
(Option_Item : in out Protocol_Option;
Level : in Option_Level;
Name : in Option_Name;
To : in Transit_Delay_Rate);
TPDU_Length_Maximum : constant Option_Name := 0;
Acknowledge_Time : constant Option_Name := 0;
Reassignment_Time : constant Option_Name := 0;
Preferred_Class : constant Option_Name := 0;
Alternative_Class_1 : constant Option_Name := 0;
Alternative_Class_2 : constant Option_Name := 0;
Alternative_Class_3 : constant Option_Name := 0;
Alternative_Class_4 : constant Option_Name := 0;
Extended_Format : constant Option_Name := 0;
Flow_Control : constant Option_Name := 0;
Connection_Checksum : constant Option_Name := 0;
Network_Expedited_Data : constant Option_Name := 0;
Network_Receipt_Confirmation : constant Option_Name := 0;
type ISO_COTS_Option is (Enabled, Disabled, Unspecified);
type Transport_Class is
(Class_0, Class_1, Class_2, Class_3, Class_4, Unspecified);
function Get_Value (Option_Item : Protocol_Option)
return ISO_COTS_Option;
procedure Set_Option
(Option_Item : in out Protocol_Option;
Level : in Option_Level;
Name : in Option_Name;
To : in ISO_COTS_Option);
function Get_Value (Option_Item : Protocol_Option)
return Transport_Class;
procedure Set_Option
(Option_Item : in out Protocol_Option;
Level : in Option_Level;
Name : in Option_Name;
To : in Transport_Class);
function Get_Value (Option_Item : Protocol_Option)
return Duration;
procedure Set_Option
(Option_Item : in out Protocol_Option;
Level : in Option_Level;
Name : in Option_Name;
To : in Duration);
Connectionless_Transit_Delay : constant Option_Name := 0;
Connectionless_Checksum : constant Option_Name := 0;
private
type ISO_XTI_Address is new XTI_Address with null record;
type Rate is new Integer;
type Requested_Rate is new Integer;
type Throughput_Rate is new Integer;
type Transit_Delay_Rate is new Integer;
end POSIX.XTI.ISO;