1 #ifndef __ISDN_SC_SCIOC_H__ 2 #define __ISDN_SC_SCIOC_H__ 3 4 /* 5 * This software may be used and distributed according to the terms 6 * of the GNU General Public License, incorporated herein by reference. 7 */ 8 9 /* 10 * IOCTL Command Codes 11 */ 12 #define SCIOCLOAD 0x01 /* Load a firmware record */ 13 #define SCIOCRESET 0x02 /* Perform hard reset */ 14 #define SCIOCDEBUG 0x03 /* Set debug level */ 15 #define SCIOCREV 0x04 /* Get driver revision(s) */ 16 #define SCIOCSTART 0x05 /* Start the firmware */ 17 #define SCIOCGETSWITCH 0x06 /* Get switch type */ 18 #define SCIOCSETSWITCH 0x07 /* Set switch type */ 19 #define SCIOCGETSPID 0x08 /* Get channel SPID */ 20 #define SCIOCSETSPID 0x09 /* Set channel SPID */ 21 #define SCIOCGETDN 0x0A /* Get channel DN */ 22 #define SCIOCSETDN 0x0B /* Set channel DN */ 23 #define SCIOCTRACE 0x0C /* Toggle trace mode */ 24 #define SCIOCSTAT 0x0D /* Get line status */ 25 #define SCIOCGETSPEED 0x0E /* Set channel speed */ 26 #define SCIOCSETSPEED 0x0F /* Set channel speed */ 27 #define SCIOCLOOPTST 0x10 /* Perform loopback test */ 28 29 typedef struct { 30 int device; 31 int channel; 32 unsigned long command; 33 void __user *dataptr; 34 } scs_ioctl; 35 36 /* Size of strings */ 37 #define SCIOC_SPIDSIZE 49 38 #define SCIOC_DNSIZE SCIOC_SPIDSIZE 39 #define SCIOC_REVSIZE SCIOC_SPIDSIZE 40 #define SCIOC_SRECSIZE 49 41 42 typedef struct { 43 unsigned long tx_good; 44 unsigned long tx_bad; 45 unsigned long rx_good; 46 unsigned long rx_bad; 47 } ChLinkStats; 48 49 typedef struct { 50 char spid[49]; 51 char dn[49]; 52 char call_type; 53 char phy_stat; 54 ChLinkStats link_stats; 55 } BRIStat; 56 57 typedef BRIStat POTStat; 58 59 typedef struct { 60 char call_type; 61 char call_state; 62 char serv_state; 63 char phy_stat; 64 ChLinkStats link_stats; 65 } PRIStat; 66 67 typedef char PRIInfo; 68 typedef char BRIInfo; 69 typedef char POTInfo; 70 71 72 typedef struct { 73 char acfa_nos; 74 char acfa_ais; 75 char acfa_los; 76 char acfa_rra; 77 char acfa_slpp; 78 char acfa_slpn; 79 char acfa_fsrf; 80 } ACFAStat; 81 82 typedef struct { 83 unsigned char modelid; 84 char serial_no[13]; 85 char part_no[13]; 86 char load_ver[11]; 87 char proc_ver[11]; 88 int iobase; 89 long rambase; 90 char irq; 91 long ramsize; 92 char interface; 93 char switch_type; 94 char l1_status; 95 char l2_status; 96 ChLinkStats dch_stats; 97 ACFAStat AcfaStats; 98 union { 99 PRIStat pristats[23]; 100 BRIStat bristats[2]; 101 POTStat potsstats[2]; 102 } status; 103 union { 104 PRIInfo priinfo; 105 BRIInfo briinfo; 106 POTInfo potsinfo; 107 } info; 108 } boardInfo; 109 110 #endif /* __ISDN_SC_SCIOC_H__ */ 111