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. |