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