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
69