The structures described in this section define addressing, facilities and QOS and are used by a number of the commands described in "6.4 NLI Commands".
Addressing is defined by the xaddrf structure:
#define NSAPMAXSIZE 20 struct xaddrf { uint32_t link_id; unsigned char aflags; struct lsapformat DTE_MAC; unsigned char nsap_len; unsigned char NSAP[NSAPMAXSIZE]; }
The members in the xaddrf structure are:
Table 6-4 Members of xaddrf Structure
The LSAP is defined by the lsapformat structure:
#define LSAPMAXSIZE 9 struct lsapformat { uint8 lsap_len; uint8 lsap_add[LSAPMAXSIZE]; };
The members of the lsapformat structure are:
Table 6-5 Members of lsapformat Structure
Standard X.25 facilities are defined by the extraformat structure:
#define MAX_NUI_LEN 64 #define MAX_RPOA_LEN 8 #define MAX_CUG_LEN 2 #define MAX_FAC_LEN 109 #define MAX_TARIFFS 4 #define MAX_CD_LEN MAX_TARIFFS * 4 #define MAX_SC_LEN MAX_TARIFFS * 8 #define MAX_MU_LEN 16 struct extraformat { /* extraformat structure */ unsigned char fastselreq; unsigned char restrictresponse; unsigned char reversecharges unsigned char pwoptions; unsigned char locpacket, rempacket; unsigned char locwsize , remwsize; int nsdulimit; unsigned char nui_len; unsigned char nui_field[MAX_NUI_LEN]; unsigned char rpoa_len; unsigned char rpoa_field[MAX_RPOA_LEN]; unsigned char cug_type; unsigned char cug_field[MAX_CUG_LEN]; unsigned char reqcharging; unsigned char chg_cd_len; unsigned char chg_cd_field[MAX_CD_LEN]; unsigned char chg_sc_len; unsigned char chg_sc_field[MAX_SC_LEN]; unsigned char chg_mu_len; unsigned char chg_mu_field[MAX_MU_LEN]; unsigned char called_add_mod; unsigned char call_redirect; struct lsapformat called; unsigned char call_deflect; unsigned char x_fac_len; unsigned char cg_fac_len; unsigned char cd_fac_len; unsigned char fac_field[MAX_FAC_LEN]; };
The members of this structure are defined as follows:
Table 6-6 Members of extraformat Structure
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. |