📄 divasync.h
字号:
/* the cardtype value is defined by cardtype.h */ unsigned long cardType ; /* from IDI registry to WMP */ unsigned long nt2 ; /* from IDI registry to WMP */ unsigned long permanent ; /* from IDI registry to WMP */ unsigned long stableL2 ; /* from IDI registry to WMP */ unsigned long tei ; /* from IDI registry to WMP */#define CRC4_MASK 0x00000003#define L1_TRISTATE_MASK 0x00000004#define WATCHDOG_MASK 0x00000008#define NO_ORDER_CHECK_MASK 0x00000010#define LOW_CHANNEL_MASK 0x00000020#define NO_HSCX30_MASK 0x00000040#define MODE_MASK 0x00000080#define SET_BOARD 0x00001000#define SET_CRC4 0x00030000#define SET_L1_TRISTATE 0x00040000#define SET_WATCHDOG 0x00080000#define SET_NO_ORDER_CHECK 0x00100000#define SET_LOW_CHANNEL 0x00200000#define SET_NO_HSCX30 0x00400000#define SET_MODE 0x00800000#define SET_PROTO 0x02000000#define SET_CARDTYPE 0x04000000#define SET_NT2 0x08000000#define SET_PERMANENT 0x10000000#define SET_STABLEL2 0x20000000#define SET_TEI 0x40000000#define SET_NUMBERLEN 0x80000000 unsigned long Flag ; /* |31-Type-16|15-Mask-0| */ unsigned long NumberLen ; /* reconfiguration: union is empty */ union { struct { /* possible reconfiguration, but ... ; SET_BOARD */ unsigned long SerialNumber ; char *pCardname ; /* di_defs.h: BOARD_NAME_LENGTH */ } board ; struct { /* reset: need resources */ void * pRawResources ; void * pXlatResources ; } res ; struct { /* reconfiguration: wizProto == PROTTYPE_RBSCAS */#define GLARE_RESOLVE_MASK 0x00000001#define DID_MASK 0x00000002#define BEARER_CAP_MASK 0x0000000c#define SET_GLARE_RESOLVE 0x00010000#define SET_DID 0x00020000#define SET_BEARER_CAP 0x000c0000 unsigned long Flag ; /* |31-Type-16|15-VALUE-0| */ unsigned short DigitTimeout ; unsigned short AnswerDelay ; } rbs ; struct { /* reconfiguration: wizProto == PROTTYPE_QSIG */#define CALL_REF_LENGTH1_MASK 0x00000001#define BRI_CHANNEL_ID_MASK 0x00000002#define SET_CALL_REF_LENGTH 0x00010000#define SET_BRI_CHANNEL_ID 0x00020000 unsigned long Flag ; /* |31-Type-16|15-VALUE-0| */ } qsig ; struct { /* reconfiguration: NumberLen != 0 */#define SET_SPID1 0x00010000#define SET_NUMBER1 0x00020000#define SET_SUBADDRESS1 0x00040000#define SET_SPID2 0x00100000#define SET_NUMBER2 0x00200000#define SET_SUBADDRESS2 0x00400000#define MASK_SET 0xffff0000 unsigned long Flag ; /* |31-Type-16|15-Channel-0| */ unsigned char *pBuffer ; /* number value */ } isdnNo ; }parms;} isdnProps ;/* * IDI_SYNC_REQ_PORTDRV_HOOK - signal plug/unplug (Award Cardware only) */typedef void ( * PORTDRV_HOOK_CB) (void *Context, int Plug) ;typedef struct{ /* 'Req' and 'Rc' must be at the same place as in the ENTITY struct */ unsigned char Req; /* request (must be always 0) */ unsigned char Rc; /* return code (is the request) */ unsigned char Function; /* private function code */ unsigned char Flags; /* function refinements */ PORTDRV_HOOK_CB Callback; /* to be called on plug/unplug */ void *Context; /* context for callback */ unsigned long Info; /* more info if needed */} PORTDRV_HOOK ;/* Codes for the 'Rc' element in structure below. */#define SLI_INSTALL (0xA1)#define SLI_UNINSTALL (0xA2)typedef int ( * SLIENTRYPOINT)(void* p3SignalAPI, void* pContext);typedef struct{ /* 'Req' and 'Rc' must be at the same place as in the ENTITY struct */ unsigned char Req; /* request (must be always 0) */ unsigned char Rc; /* return code (is the request) */ unsigned char Function; /* private function code */ unsigned char Flags; /* function refinements */ SLIENTRYPOINT Callback; /* to be called on plug/unplug */ void *Context; /* context for callback */ unsigned long Info; /* more info if needed */} SLIENTRYPOINT_REQ ;/******************************************************************************//* * Definitions for DIVA USB */typedef int ( * USB_SEND_REQ) (unsigned char PipeIndex, unsigned char Type,void *Data, int sizeData);typedef int ( * USB_START_DEV) (void *Adapter, void *Ipac) ;/* called from WDM */typedef void ( * USB_RECV_NOTIFY) (void *Ipac, void *msg) ;typedef void ( * USB_XMIT_NOTIFY) (void *Ipac, unsigned char PipeIndex) ;/******************************************************************************//* * Parameter description for synchronous requests. * * Sorry, must repeat some parts of di_defs.h here because * they are not defined for all operating environments */typedef union{ ENTITY Entity; struct { /* 'Req' and 'Rc' are at the same place as in the ENTITY struct */ unsigned char Req; /* request (must be always 0) */ unsigned char Rc; /* return code (is the request) */ } Request; struct { unsigned char Req; /* request (must be always 0) */ unsigned char Rc; /* return code (0x01) */ unsigned char name[BOARD_NAME_LENGTH]; } GetName; struct { unsigned char Req; /* request (must be always 0) */ unsigned char Rc; /* return code (0x02) */ unsigned long serial; /* serial number */ } GetSerial; struct { unsigned char Req; /* request (must be always 0) */ unsigned char Rc; /* return code (0x02) */ unsigned long lineIdx;/* line, 0 if card has only one */ } GetLineIdx; struct { unsigned char Req; /* request (must be always 0) */ unsigned char Rc; /* return code (0x02) */ unsigned long cardtype;/* card type */ } GetCardType; struct { unsigned short command;/* command = 0x0300 */ unsigned short dummy; /* not used */ IDI_CALL callback;/* routine to call back */ ENTITY *contxt; /* ptr to entity to use */ } PostCall; struct { unsigned char Req; /* request (must be always 0) */ unsigned char Rc; /* return code (0x04) */ unsigned char pcm[1]; /* buffer (a pc_maint struct) */ } GetXlog; struct { unsigned char Req; /* request (must be always 0) */ unsigned char Rc; /* return code (0x05) */ unsigned short features;/* feature defines see below */ } GetFeatures; SERIAL_HOOK SerialHook;/* Added for DIVA USB */ struct { unsigned char Req; unsigned char Rc; USB_SEND_REQ UsbSendRequest; /* function in Diva Usb WDM driver in usb_os.c, */ /* called from usb_drv.c to send a message to our device */ /* eg UsbSendRequest (USB_PIPE_SIGNAL, USB_IPAC_START, 0, 0) ; */ USB_RECV_NOTIFY usb_recv; /* called from usb_os.c to pass a received message and ptr to IPAC */ /* on to usb_drv.c by a call to usb_recv(). */ USB_XMIT_NOTIFY usb_xmit; /* called from usb_os.c in DivaUSB.sys WDM to indicate a completed transmit */ /* to usb_drv.c by a call to usb_xmit(). */ USB_START_DEV UsbStartDevice; /* Start the USB Device, in usb_os.c */ IDI_CALL callback; /* routine to call back */ ENTITY *contxt; /* ptr to entity to use */ void ** ipac_ptr; /* pointer to struct IPAC in VxD */ } Usb_Msg_old;/* message used by WDM and VXD to pass pointers of function and IPAC* */ struct { unsigned char Req; unsigned char Rc; USB_SEND_REQ pUsbSendRequest;/* function in Diva Usb WDM driver in usb_os.c, */ /* called from usb_drv.c to send a message to our device */ /* eg UsbSendRequest (USB_PIPE_SIGNAL, USB_IPAC_START, 0, 0) ; */ USB_RECV_NOTIFY p_usb_recv; /* called from usb_os.c to pass a received message and ptr to IPAC */ /* on to usb_drv.c by a call to usb_recv(). */ USB_XMIT_NOTIFY p_usb_xmit; /* called from usb_os.c in DivaUSB.sys WDM to indicate a completed transmit */ /* to usb_drv.c by a call to usb_xmit().*/ void *ipac_ptr; /* &Diva.ipac pointer to struct IPAC in VxD */ } Usb_Msg; PORTDRV_HOOK PortdrvHook; SLIENTRYPOINT_REQ sliEntryPointReq; struct { unsigned char Req; unsigned char Rc; diva_xdi_stream_interface_t info; } xdi_stream_info; struct { unsigned char Req; unsigned char Rc; diva_xdi_get_extended_xdi_features_t info; } xdi_extended_features; struct { unsigned char Req; unsigned char Rc; diva_xdi_get_adapter_sdram_bar_t info; } xdi_sdram_bar; struct { unsigned char Req; unsigned char Rc; diva_xdi_get_capi_parameters_t info; } xdi_capi_prms; struct { ENTITY e; diva_didd_adapter_notify_t info; } didd_notify; struct { ENTITY e; diva_didd_add_adapter_t info; } didd_add_adapter; struct { ENTITY e; diva_didd_remove_adapter_t info; } didd_remove_adapter; struct { ENTITY e; diva_didd_read_adapter_array_t info; } didd_read_adapter_array; struct { ENTITY e; diva_didd_get_cfg_lib_ifc_t info; } didd_get_cfg_lib_ifc; struct { unsigned char Req; unsigned char Rc; diva_xdi_get_logical_adapter_number_s_t info; } xdi_logical_adapter_number; struct { unsigned char Req; unsigned char Rc; diva_xdi_dma_descriptor_operation_t info; } xdi_dma_descriptor_operation;} IDI_SYNC_REQ;/******************************************************************************/#endif /* __DIVA_SYNC__H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -