linux-stable-rt/drivers/isdn/hardware/eicon/um_xdi.h

69 lines
1.8 KiB
C

/* $Id: um_xdi.h,v 1.1.2.2 2002/10/02 14:38:38 armin Exp $ */
#ifndef __DIVA_USER_MODE_XDI_H__
#define __DIVA_USER_MODE_XDI_H__
/*
Contains declaratiom of structures shared between application
and user mode idi driver
*/
typedef struct _diva_um_idi_adapter_features {
dword type;
dword features;
dword channels;
dword serial_number;
char name[128];
} diva_um_idi_adapter_features_t;
#define DIVA_UM_IDI_REQ_MASK 0x0000FFFF
#define DIVA_UM_IDI_REQ_TYPE_MASK (~(DIVA_UM_IDI_REQ_MASK))
#define DIVA_UM_IDI_GET_FEATURES 1 /* trigger features indication */
#define DIVA_UM_IDI_REQ 2
#define DIVA_UM_IDI_REQ_TYPE_MAN 0x10000000
#define DIVA_UM_IDI_REQ_TYPE_SIG 0x20000000
#define DIVA_UM_IDI_REQ_TYPE_NET 0x30000000
#define DIVA_UM_IDI_REQ_MAN (DIVA_UM_IDI_REQ | DIVA_UM_IDI_REQ_TYPE_MAN)
#define DIVA_UM_IDI_REQ_SIG (DIVA_UM_IDI_REQ | DIVA_UM_IDI_REQ_TYPE_SIG)
#define DIVA_UM_IDI_REQ_NET (DIVA_UM_IDI_REQ | DIVA_UM_IDI_REQ_TYPE_NET)
/*
data_length bytes will follow this structure
*/
typedef struct _diva_um_idi_req_hdr {
dword type;
dword Req;
dword ReqCh;
dword data_length;
} diva_um_idi_req_hdr_t;
typedef struct _diva_um_idi_ind_parameters {
dword Ind;
dword IndCh;
} diva_um_idi_ind_parameters_t;
typedef struct _diva_um_idi_rc_parameters {
dword Rc;
dword RcCh;
} diva_um_idi_rc_parameters_t;
typedef union _diva_um_idi_ind {
diva_um_idi_adapter_features_t features;
diva_um_idi_ind_parameters_t ind;
diva_um_idi_rc_parameters_t rc;
} diva_um_idi_ind_t;
#define DIVA_UM_IDI_IND_FEATURES 1 /* features indication */
#define DIVA_UM_IDI_IND 2
#define DIVA_UM_IDI_IND_RC 3
/*
data_length bytes of data follow
this structure
*/
typedef struct _diva_um_idi_ind_hdr {
dword type;
diva_um_idi_ind_t hdr;
dword data_length;
} diva_um_idi_ind_hdr_t;
#endif