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