/* * This software may be used and distributed according to the terms * of the GNU General Public License, incorporated herein by reference. */ /* * IOCTL Command Codes */ #define SCIOCLOAD 0x01 /* Load a firmware record */ #define SCIOCRESET 0x02 /* Perform hard reset */ #define SCIOCDEBUG 0x03 /* Set debug level */ #define SCIOCREV 0x04 /* Get driver revision(s) */ #define SCIOCSTART 0x05 /* Start the firmware */ #define SCIOCGETSWITCH 0x06 /* Get switch type */ #define SCIOCSETSWITCH 0x07 /* Set switch type */ #define SCIOCGETSPID 0x08 /* Get channel SPID */ #define SCIOCSETSPID 0x09 /* Set channel SPID */ #define SCIOCGETDN 0x0A /* Get channel DN */ #define SCIOCSETDN 0x0B /* Set channel DN */ #define SCIOCTRACE 0x0C /* Toggle trace mode */ #define SCIOCSTAT 0x0D /* Get line status */ #define SCIOCGETSPEED 0x0E /* Set channel speed */ #define SCIOCSETSPEED 0x0F /* Set channel speed */ #define SCIOCLOOPTST 0x10 /* Perform loopback test */ typedef struct { int device; int channel; unsigned long command; void __user *dataptr; } scs_ioctl; /* Size of strings */ #define SCIOC_SPIDSIZE 49 #define SCIOC_DNSIZE SCIOC_SPIDSIZE #define SCIOC_REVSIZE SCIOC_SPIDSIZE #define SCIOC_SRECSIZE 49 typedef struct { unsigned long tx_good; unsigned long tx_bad; unsigned long rx_good; unsigned long rx_bad; } ChLinkStats; typedef struct { char spid[49]; char dn[49]; char call_type; char phy_stat; ChLinkStats link_stats; } BRIStat; typedef BRIStat POTStat; typedef struct { char call_type; char call_state; char serv_state; char phy_stat; ChLinkStats link_stats; } PRIStat; typedef char PRIInfo; typedef char BRIInfo; typedef char POTInfo; typedef struct { char acfa_nos; char acfa_ais; char acfa_los; char acfa_rra; char acfa_slpp; char acfa_slpn; char acfa_fsrf; } ACFAStat; typedef struct { unsigned char modelid; char serial_no[13]; char part_no[13]; char load_ver[11]; char proc_ver[11]; int iobase; long rambase; char irq; long ramsize; char interface; char switch_type; char l1_status; char l2_status; ChLinkStats dch_stats; ACFAStat AcfaStats; union { PRIStat pristats[23]; BRIStat bristats[2]; POTStat potsstats[2]; } status; union { PRIInfo priinfo; BRIInfo briinfo; POTInfo potsinfo; } info; } boardInfo;