Solstice X.25 9.2 Developer's Guide

6.3.4 qosformat--Define OSI CONS QOS Parameters

OSI CONS-related quality-of-service parameters are defined in the quosformat structure:

#define MAX_PROT 32
 struct qosformat {
 	unsigned char reqtclass;
 	unsigned char locthroughput, remthroughput;
 	unsigned char reqminthruput;
 	unsigned char locminthru, remminthru;
 	unsigned char reqtransitdelay;
 	unsigned short transitdelay;
 	unsigned char reqmaxtransitdelay;
 	unsigned short acceptable;
 	unsigned char reqpriority;
 	unsigned char reqprtygain;
 	unsigned char reqprtykeep;
 	unsigned char prtydata;
 	unsigned char prtygain;
 	unsigned char prtykeep;
 	unsigned char reqlowprtydata;
 	unsigned char reqlowprtygain;
 	unsigned char reqlowprtykeep;
 	unsigned char lowprtydata;
 	unsigned char lowprtygain;
 	unsigned char lowprtykeep;
 	unsigned char protection_type;
 	unsigned char prot_len;
 	unsigned char lowprot_len;
 	unsigned char protection[MAX_PROT];
 	unsigned char lowprotection[MAX_PROT];
 	unsigned char reqexpedited;
 	unsigned char reqackservice;
 	struct extraformat xtras;
 };

The members of the qosformat structure are defined as follows:

Table 6-7 QOS Parameters

Member 

Description 

reqtclass

Indicates whether the throughput negotiation parameter is selected. 0 indicates that it is not selected. 

locthroughput

Contains four-bit throughput encoding for local-to-remote calls. 

remthroughput

Contains four-bit throughput encoding for remote-to-local calls. 

reqminthruput

Indicates whether the minimum throughput negotiation parameter is selected.

locminthru

Contains four-bit throughput encoding for local to remote calls. 

remminthru

Contains four-bit throughput encoding for remote to local calls. 

reqtransitdelay

Indicates whether the transit delay parameter is selected. 0 indicates that it is not selected. 

transitdelay

Contains the transit delay parameter as a 16-bit value. It is used in Call Requests and Indications and Confirms. 

reqmaxtransitdelay

Indicates whether the calling NLI application specifies a maximum acceptable value for the transit delay parameter ("Lowest Quality Acceptable"). 

Note: The transit delay selection relates only to Call Requests and there is no transit delay QOS parameter in a Call Response primitive. The correct response when the indicated QOS is unattainable is to make a Clear Request. Also, in a Connect Confirm, the value of the selected transit delay will be placed in the transitdelay field when such negotiation takes place.

acceptable

Contains the maximum acceptable transit delay parameter, if this is specified by the calling NLI application.  

reqpriority

Requests or indicates priority on a connection. 0 indicates that priority is not used. 

prtydata

Contains the 8-bit value for the priority of data on the connection. 

reqprtygain

Indicates that the field prtygain is used.

reqprtykeep

Indicates that the field prtykeep is used.

prtygain

Contains an 8-bit value for the priority to gain a connection. 

prtykeep

Contains the 8-bit value priority to keep a connection. 

reqlowprtydata

Indicates the field lowprtydata is used.

reqlowprtygain

Indicates the field lowprtygain is used.

reqlowprtykeep

Indicates the field lowprtykeep is used.

lowprtydata

Contains the lowest acceptable priority value. Used on N-CONNECT requests by the calling NS_user.

lowprtygain

Indicates the priority of data on a connection. Used on N-CONNECT requests by the calling NS_user.

lowprtykeep

Indicates priority for gaining a connection. Used on N-CONNECT requests by the calling NS_user.

protection_type

Indicates the type of protection required. Values are: 

PRT_SRC Source address specific

PRT_DST Destination address specific

PRT_GLB Globally unique

0 indicates that protection is not required. 

On N-CONNECT requests the calling NS_user may optionally specify a lowest acceptable level of protection.

prot_len

The length of the target protection. 

protection

The value of target protection. 

lowprot_len

The length of the lowest acceptable level of protection. 

lowprotection

The lowest acceptable level of protection. 

reqexpedited

Indicates whether expedited data is required/selected. For Connect Indications, a value of 1 implies that the expedited data negotiation facility was present in the Incoming Call packet, and that its use was requested. 0 indicates that expedited data is not used. 

Note: Negotiation is an OSI CONS procedure. When the facility is present and indicates non-use, use cannot be negotiated by Connect responses. See "6.4.3 N_CI--Call Request/Indication"and "6.4.2 N_CC--Call Response/Confirmation"for a description of the use of the CONS_call field in Call Requests and Call Responses.

If the CONS_call flag is set to 0, Expedited Data Negotiation is not required--interrupt data is always available in X.25. This means that this field is ignored on Call Requests and Responses.

reqackservice

Indicates whether the acknowledgement service is to be used. Allowed values are:

0 indicates the service is not used. 

1 signifies acknowledgment confirmation by the remote DTE. In the case of acknowledgment confirmation by the remote application, there is a one-to-one correspondence between D-bit data and acknowledgments with one data acknowledgment being received/sent for each D-bit data packet sent/received over the X.25 interface. 

2 signifies acknowledgment confirmation by the remote application. In this case of acknowledgment confirmation by the remote DTE, no acknowledgments are expected or given over the X.25 interface.  

Any non-zero value causes negotiation in the call setup phase for use of the D-bit on the connection.