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