The L_GETSTATS ioctl reads per-link (i.e., per-PPA) statistics from the LAPB driver.
The lapb_stioc structure is used
/* Ioctl block for L_GETSTATS ioctl */ struct lapb_stioc { uint8 lli_type; /* Table type = LI_STATS */ uint8 lli_spare[3]; /* (for alignment) */ uint32 lli_ppa; /* PPA */ lapbstats_t lli_stats; /* Table of stats values */ };
The lapbstats_t structure needed for L_GETSTATS is defined as follows:
typedef struct lapb2_stats { uint32 lapbmonarray[laphstatmax]; /* array of LAPB stats */ } lapbstats_t; /* Statistics table definitions */ #define tx_ign 0 /* no. ignored + not sent */ #define rx_badlen 1 /* bad length frames received */ #define rx_unknown 2 /* unknown frames received */ #define t1_exp 3 /* no. of T1 timeouts */ #define t4_exp 4 /* no. of T4 timeouts */ #define t4_n2_exp 5 /* T4 timeouts after N2 times */ #define RR_rx_cmd 6 /* RR = Receive Ready */ #define RR_rx_rsp 7 /* tx = transmitted */ #define RR_tx_cmd 8 /* rx = received */ #define RR_tx_rsp 9 /* cmd/rsp = command/response */ #define RR_tx_cmd_p 10 /* p = p-bit set */ #define RNR_rx_cmd 11 /* RNR = Receive Not Ready */ #define RNR_rx_rsp 12 #define RNR_tx_cmd 13 #define RNR_tx_rsp 14 #define RNR_tx_cmd_p 15 #define REJ_rx_cmd 16 /* REJ = Reject */ #define REJ_rx_rsp 17 #define REJ_tx_cmd 18 #define REJ_tx_rsp 19 #define REJ_tx_cmd_p 20 #define SABME_rx_cmd 21 /* SABME = Set Asynchronous */ #define SABME_tx_cmd 22 /* Balanced Mode Extended */ #define DISC_rx_cmd 23 /* DISC = Disconnect */ #define DISC_tx_cmd 24 #define UA_rx_rsp 25 /* UA = Unnumbered */ #define UA_tx_rsp 26 /* Acknowledgment */ #define DM_rx_rsp 27 /* */ #define DM_tx_rsp 28 #define I_rx_cmd 29 /* I = Information */ #define I_tx_cmd 30 #define FRMR_rx_rsp 31 /* FRMR = Frame Reject */ #define FRMR_tx_rsp 32 #define tx_rtr 33 /* no. of retransmitted frames */ #define rx_bad 34 /* erroneous frames received */ #define rx_dud 35 /* received and discarded */ #define rx_ign 36 /* received and ignored */ #define I_rx_rsp 37 #define I_tx_rsp 38 #define UI_rx_cmd 39 #define UI_tx_cmd 40 #define XID_rx_cmd 41 #define XID_rx_rsp 42 #define XID_tx_cmd 43 #define XID_tx_rsp 44 #define TEST_rx_cmd 45 #define TEST_rx_rsp 46 #define TEST_tx_cmd 47 #define TEST_tx_rsp 48 #define llc2statmax 40