[PATCH] g_file_storage: fix obscure race condition
[linux/fpc-iii.git] / drivers / isdn / sc / scioc.h
blobd08e650c7b6a1f465e656021eb948098d1be2440
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 */
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 */
26 typedef struct {
27 int device;
28 int channel;
29 unsigned long command;
30 void __user *dataptr;
31 } scs_ioctl;
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
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;
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;
54 typedef BRIStat POTStat;
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;
64 typedef char PRIInfo;
65 typedef char BRIInfo;
66 typedef char POTInfo;
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;
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;