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