Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[linux-2.6] / drivers / isdn / hardware / eicon / um_xdi.h
1 /* $Id: um_xdi.h,v 1.1.2.2 2002/10/02 14:38:38 armin Exp $ */
2
3 #ifndef __DIVA_USER_MODE_XDI_H__
4 #define __DIVA_USER_MODE_XDI_H__
5
6 /*
7   Contains declaratiom of structures shared between application
8   and user mode idi driver
9 */
10
11 typedef struct _diva_um_idi_adapter_features {
12         dword type;
13         dword features;
14         dword channels;
15         dword serial_number;
16         char name[128];
17 } diva_um_idi_adapter_features_t;
18
19 #define DIVA_UM_IDI_REQ_MASK                    0x0000FFFF
20 #define DIVA_UM_IDI_REQ_TYPE_MASK               (~(DIVA_UM_IDI_REQ_MASK))
21 #define DIVA_UM_IDI_GET_FEATURES                1       /* trigger features indication */
22 #define DIVA_UM_IDI_REQ                         2
23 #define DIVA_UM_IDI_REQ_TYPE_MAN                0x10000000
24 #define DIVA_UM_IDI_REQ_TYPE_SIG                0x20000000
25 #define DIVA_UM_IDI_REQ_TYPE_NET                0x30000000
26 #define DIVA_UM_IDI_REQ_MAN                     (DIVA_UM_IDI_REQ | DIVA_UM_IDI_REQ_TYPE_MAN)
27 #define DIVA_UM_IDI_REQ_SIG                     (DIVA_UM_IDI_REQ | DIVA_UM_IDI_REQ_TYPE_SIG)
28 #define DIVA_UM_IDI_REQ_NET                     (DIVA_UM_IDI_REQ | DIVA_UM_IDI_REQ_TYPE_NET)
29 /*
30   data_length  bytes will follow this structure
31 */
32 typedef struct _diva_um_idi_req_hdr {
33         dword type;
34         dword Req;
35         dword ReqCh;
36         dword data_length;
37 } diva_um_idi_req_hdr_t;
38
39 typedef struct _diva_um_idi_ind_parameters {
40         dword Ind;
41         dword IndCh;
42 } diva_um_idi_ind_parameters_t;
43
44 typedef struct _diva_um_idi_rc_parameters {
45         dword Rc;
46         dword RcCh;
47 } diva_um_idi_rc_parameters_t;
48
49 typedef union _diva_um_idi_ind {
50         diva_um_idi_adapter_features_t features;
51         diva_um_idi_ind_parameters_t ind;
52         diva_um_idi_rc_parameters_t rc;
53 } diva_um_idi_ind_t;
54
55 #define DIVA_UM_IDI_IND_FEATURES  1     /* features indication */
56 #define DIVA_UM_IDI_IND           2
57 #define DIVA_UM_IDI_IND_RC        3
58 /*
59   data_length bytes of data follow
60   this structure
61 */
62 typedef struct _diva_um_idi_ind_hdr {
63         dword type;
64         diva_um_idi_ind_t hdr;
65         dword data_length;
66 } diva_um_idi_ind_hdr_t;
67
68 #endif