blob: d08e650c7b6a1f465e656021eb948098d1be2440 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
26typedef struct {
27 int device;
28 int channel;
29 unsigned long command;
30 void __user *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
39typedef struct {
40 unsigned long tx_good;
41 unsigned long tx_bad;
42 unsigned long rx_good;
43 unsigned long rx_bad;
44} ChLinkStats;
45
46typedef struct {
47 char spid[49];
48 char dn[49];
49 char call_type;
50 char phy_stat;
51 ChLinkStats link_stats;
52} BRIStat;
53
54typedef BRIStat POTStat;
55
56typedef struct {
57 char call_type;
58 char call_state;
59 char serv_state;
60 char phy_stat;
61 ChLinkStats link_stats;
62} PRIStat;
63
64typedef char PRIInfo;
65typedef char BRIInfo;
66typedef char POTInfo;
67
68
69typedef 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
79typedef 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;