Facilities Structure

This section explains an example of a structure that provides DLCQLLC with facilities parameters.

The following is an example of a structure that provides DLCQLLC with facilities parameters:


struct sna_facilities_type
{
  unsigned       facs:1;
  unsigned       rpoa:1;
  unsigned       psiz:1;
  unsigned       wsiz:1;
  unsigned       tcls:1;
  unsigned       cug :1;
  unsigned       cugo:1;
  unsigned       res1:1;
  unsigned       res2:1;
  unsigned       nui :1;
  unsigned           :21;
  unsigned char  recipient_tx_psiz;
  unsigned char  originator_tx_psiz;
  unsigned char  recipient_tx_wsiz;
  unsigned char  originator_tx_wsiz;
  unsigned char  recipient_tx_tcls;
  unsigned char  originator_tx_tcls;
  unsigned short reserved;
  unsigned short cug_index;
  unsigned short rpoa_id_count;
  unsigned short rpoa_id[30];
  unsigned int   nui_length;
  char           nui_data[109];
};

In the following list of fields, bits with a value of 0 indicate False and with a value of 1 indicate True.

Item Description
facs Indicates whether there are any facilities being requested. If this field is set to 0, all the remaining facilities structure is ignored.
rpoa Indicates whether to use a recognized private operating agency.
psiz Indicates whether to use a packet size other than the default.
wsiz Indicates whether to use a window size other than the default.
tcls Indicates whether to use a throughput class other than the default.
cug Indicates whether to supply an index to a closed user group.
cugo Indicates whether to supply an index to a closed user group with outgoing access.
res1 Reserved.
res2 Reserved.
nui Indicates whether network user identification (NUI) is supplied to the network.

The remaining fields provide the values or data associated with each of the above facilities bits that are set to 1. If the corresponding facilities bit is set to 0, each of these fields is ignored:

Item Description
recipient_tx_psiz Indicates the coded value of packet size to use when sending data to the node that initiated the call. The values are coded as follows:

0x06 = 64 octets

0x07 = 128 octets

0x08 = 256 octets

0x09 = 512 octets

0x0A = 1024 octets

0x0B = 2048 octets

0x0C = 4096 octets

Note: 4096-octet packets are allowed only in the 1984 CCITT recommendation.
originator_tx_psiz Indicates the coded value of packet size to use when sending data from the node that initiated the call. The values are coded as for the recipient_tx_psiz field.
recipient_tx_wsiz Reserved for QLLC use.
originator_tx_wsiz Reserved for QLLC use.
recipient_tx_tcls Indicates the coded values of the throughput class requested for this virtual circuit when sending data to the node that initiated the call. The values are coded as follows:

0x07 = 1200 bits per second

0x08 = 2400 bits per second

0x09 = 4800 bits per second

0x0A = 9600 bits per second

0x0B = 19200 bits per second

0x0C = 48000 bits per second

originator_tx_tcls Indicates the coded values of the throughput class requested for this virtual circuit when sending data from the node that initiated the call. The values are coded as for the recipient_tx_tcls field.
cug_index Indicates the decimal value of the index of the closed user group (CUG) within which this call is to be placed. This field is used for either CUG or CUG with outgoing access (CUGO) facilities.
rpoa_id_count Indicates the number of recognized private operating agency (RPOA) identifiers to supply in the rpoa_id field.
rpoa_id Indicates an array of RPOA identifiers that contains the number of identifiers specified in the rpoa_id_count field. The RPOA identifiers appear in the order in which they will be traversed when the call is initiated. The content of each array element is the decimal value of an RPOA identifier.
nui_length The length, in bytes, of the nui_data field.
nui_data Network user identification (NUI) data. The contents of this array are defined by the user in conjunction with the network provider. Even if NUI is the only facility requested, the facility code occupies one byte, so it is impossible to send more than 108 bytes of NUI data. Each additional facility requested reduces the space available for NUI data.