thinkpad-acpi: handle HKEY 0x4010, 0x4011 events
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / drivers / isdn / sc / scioc.h
blobdfb107a6de446dd0dd7956e3278908a58338dba3
1 #ifndef __ISDN_SC_SCIOC_H__
2 #define __ISDN_SC_SCIOC_H__
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 */
9 /*
10 * IOCTL Command Codes
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 */
29 typedef struct {
30 int device;
31 int channel;
32 unsigned long command;
33 void __user *dataptr;
34 } scs_ioctl;
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
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;
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;
57 typedef BRIStat POTStat;
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;
67 typedef char PRIInfo;
68 typedef char BRIInfo;
69 typedef char POTInfo;
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;
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;
110 #endif /* __ISDN_SC_SCIOC_H__ */