Solstice X.25 9.2 Developer's Guide

11.2.1 Common ioctls

The ioctles described in this section can be used over both LAPB and LLC2.

11.2.1.1 L_GETTUNE--Retrieves Tunable Parameters for a PPA

The L_GETTUNE ioctl retrieves the tunable parameters in the LLC2 and LAPB drivers for a given PPA.

Associated Structures

LLC2 uses the llc2_tnioc structure.

/* Ioctl block for LLC2 L_GETTUNE command */
 struct llc2_tnioc {
   u_char   lli_type;       /* Table type = LI_LLC2TUNE */
   u_char   lli_spare[3];   /*   (for alignment)        */
   u_int    lli_ppa;        /* PPA (0xff for all PPAs) */
   llc2tune_t    llc2_tune; /* Table of tuning values   */
 };

 /* LLC2 tuning structure */
 typedef struct llc2tune {
   u_short   N2;         /* Maximum number of retries */
   u_short   T1;         /* Acknowledgment time (unit 0.1 sec)  */
   u_short   Tpf;        /* P/F cycle retry time (unit 0.1 sec)  */
   u_short   Trej;       /* Reject retry time (unit 0.1 sec)  */
   u_short   Tbusy;      /* Remote busy check time   (unit 0.1 sec)  */
   u_short   Tidle;      /* Idle P/F cycle time (unit 0.1 sec)  */
   u_short   ack_delay;  /* RR delay time (unit 0.1 sec)  */
   u_short   notack_max; /* Maximum number of unack'ed Rx I-frames */
   u_short   tx_window;  /* Transmit window (if no XID received) */
   u_short   tx_probe;   /* P-bit position before end of Tx window  */
   u_short   max_I_len;  /* Maximum I-frame length */
   u_short   xid_window  /* XID window size (receive window) */
   u_short   xid_Ndup;   /* Duplicate MAC XID count (0 => no test) */
   u_short   xid_Tdup;   /* Duplicate MAC XID time   (unit 0.1 sec) */
 } llc2tune_t;

The members of the llc2_tnoic structure are:

Table 11-39 Members of the llc2_tnoic structure

Member 

Description 

lli_type

The table type 

lli_ppa

The PPA 

llc2_tune

A table of tuning values 

LAPB uses the lapb_tnioc structure

/* Ioctl block for LAPB L_GETTUNE command */
 struct lapb_tnioc {
   u_char   lli_type;     /* Table type = LI_LLAPBTUNE */
   u_char   lli_spare[3]; /*   (for alignment)        */
   u_int    lli_ppa;      /* PPA (0xff for all PPAs) */
   lapbtune_t  lapb_tune; /* Table of tuning values   */
 };

 /* LAPB tuning structure */
 typedef struct lapb_tune {
   uint16  N2;         /* Maximum number of retries                */
   uint16  T1;         /* Acknowledgment time     (unit 0.1 sec)   */
   uint16  Tpf;        /* P/F cycle retry time     (unit 0.1 sec)  */
   uint16  Trej;       /* Reject retry time        (unit 0.1 sec)  */
   uint16  Tbusy;      /* Remote busy check time   (unit 0.1 sec)  */
   uint16  Tidle;      /* Idle P/F cycle time      (unit 0.1 sec)  */
   uint16  ack_delay;  /* RR delay time            (unit 0.1 sec)  */
   uint16  notack_max; /* Maximum number of unack'ed Rx I-frames   */
   uint16  tx_window;  /* Transmit window size                     */
   uint16  tx_probe;   /* P-bit position before end of Tx window   */
   uint16  max_I_len;  /* Maximum I-frame length                   */
   uint16  llconform;  /* LAPB conformance                         */
 } lapbtune_t;

The members of the lapb_tnoic structure are:

Table 11-40 Members of the lapb_tnoic structure

Member 

Description 

lli_type

The table type 

lli_ppa

The PPA 

lapb_tune

A table of tuning values 

11.2.1.2 L_SETTUNE--Sets Tunable Parameters for a PPA

The L_SETTUNE ioctl sets tunable parameters in the LLC2 and LAPB drivers for a given PPA.

Associated Structures

LLCS uses the llc2_tnioc structure

/* Ioctl block for LLC2 L_SETTUNE command */
 struct llc2_tnioc {
   u_char  lli_type;       /* Table type = LI_LLC2TUNE */
   u_char  lli_spare[3];   /*   (for alignment)        */
   u_int   lli_ppa;        /* PPA (0xff for all PPAs) */
   llc2tune_t  llc2_tune;  /* Table of tuning values   */
 };

 /* LLC2 tuning structure */
 typedef struct llc2tune {
   u_short  N2;          /* Maximum number of retries */
   u_short  T1;          /* Acknowledgment time (unit 0.1 sec)  */
   u_short  Tpf;         /* P/F cycle retry time (unit 0.1 sec)  */
   u_short  Trej;        /* Reject retry time (unit 0.1 sec)  */
   u_short  Tbusy;       /* Remote busy check time   (unit 0.1 sec)  */
   u_short  Tidle;       /* Idle P/F cycle time (unit 0.1 sec)  */
   u_short  ack_delay;   /* RR delay time (unit 0.1 sec)  */
   u_short  notack_max;  /* Maximum number of unack'ed Rx I-frames */
   u_short  tx_window;   /* Transmit window (if no XID received) */
   u_short  tx_probe;    /* P-bit position before end of Tx window  */
   u_short  max_I_len;   /* Maximum I-frame length */
   u_short  xid_window;  /* XID window size (receive window) */
   u_short  xid_Ndup;    /* Duplicate MAC XID count (0 => no test) */
   u_short  xid_Tdup;    /* Duplicate MAC XID time   (unit 0.1 sec) */
 } llc2tune_t;

The members of the llc2_tnoic structure are:

Table 11-41 Members of the llc2_tnoic structure

Member 

Description 

lli_type

The table type 

lli_ppa

The PPA 

llc2_tune

A table of tuning values 

LAPB uses the lapb_tnioc structure

/* Ioctl block for LAPB L_SETTUNE command */
 struct lapb_tnioc {
   u_char  lli_type;       /* Table type = LI_LLAPBTUNE */
   u_char  lli_spare[3];   /*   (for alignment)        */
   u_int   lli_ppa;        /* PPA (0xff for all PPAs) */
   lapbtune_t    lapb_tune;/* Table of tuning values   */
 };

 /* LAPB tuning structure */
 typedef struct lapb_tune {
   uint16  N2;         /* Maximum number of retries               */
   uint16  T1;         /* Acknowledgment time     (unit 0.1 sec)  */
   uint16  Tpf;        /* P/F cycle retry time     (unit 0.1 sec)  */
   uint16  Trej;       /* Reject retry time        (unit 0.1 sec)  */
   uint16  Tbusy;      /* Remote busy check time   (unit 0.1 sec)  */
   uint16  Tidle;      /* Idle P/F cycle time      (unit 0.1 sec)  */
   uint16  ack_delay;  /* RR delay time            (unit 0.1 sec)  */
   uint16  notack_max; /* Maximum number of unack'ed Rx I-frames   */
   uint16  tx_window;  /* Transmit window size                     */
   uint16  tx_probe;   /* P-bit position before end of Tx window   */
   uint16  max_I_len;  /* Maximum I-frame length                   */
   uint16  llconform;  /* LAPB conformance                         */
 } lapbtune_t;

The members of the lapb_tnoic structure are:

Table 11-42 Members of the lapb_tnoic structure

Member 

Description 

lli_type

The table type 

lli_ppa

The PPA 

lapb_tune

A table of tuning values