| /* | |
| * | |
| Copyright (c) Eicon Networks, 2002. | |
| * | |
| This source file is supplied for the use with | |
| Eicon Networks range of DIVA Server Adapters. | |
| * | |
| Eicon File Revision : 2.1 | |
| * | |
| This program is free software; you can redistribute it and/or modify | |
| it under the terms of the GNU General Public License as published by | |
| the Free Software Foundation; either version 2, or (at your option) | |
| any later version. | |
| * | |
| This program is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY | |
| implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
| See the GNU General Public License for more details. | |
| * | |
| You should have received a copy of the GNU General Public License | |
| along with this program; if not, write to the Free Software | |
| Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |
| * | |
| */ | |
| #ifndef __DIVA_SYNC__H | |
| #define __DIVA_SYNC__H | |
| #define IDI_SYNC_REQ_REMOVE 0x00 | |
| #define IDI_SYNC_REQ_GET_NAME 0x01 | |
| #define IDI_SYNC_REQ_GET_SERIAL 0x02 | |
| #define IDI_SYNC_REQ_SET_POSTCALL 0x03 | |
| #define IDI_SYNC_REQ_GET_XLOG 0x04 | |
| #define IDI_SYNC_REQ_GET_FEATURES 0x05 | |
| #define IDI_SYNC_REQ_USB_REGISTER 0x06 | |
| #define IDI_SYNC_REQ_USB_RELEASE 0x07 | |
| #define IDI_SYNC_REQ_USB_ADD_DEVICE 0x08 | |
| #define IDI_SYNC_REQ_USB_START_DEVICE 0x09 | |
| #define IDI_SYNC_REQ_USB_STOP_DEVICE 0x0A | |
| #define IDI_SYNC_REQ_USB_REMOVE_DEVICE 0x0B | |
| #define IDI_SYNC_REQ_GET_CARDTYPE 0x0C | |
| #define IDI_SYNC_REQ_GET_DBG_XLOG 0x0D | |
| #define DIVA_USB | |
| #define DIVA_USB_REQ 0xAC | |
| #define DIVA_USB_TEST 0xAB | |
| #define DIVA_USB_ADD_ADAPTER 0xAC | |
| #define DIVA_USB_REMOVE_ADAPTER 0xAD | |
| #define IDI_SYNC_REQ_SERIAL_HOOK 0x80 | |
| #define IDI_SYNC_REQ_XCHANGE_STATUS 0x81 | |
| #define IDI_SYNC_REQ_USB_HOOK 0x82 | |
| #define IDI_SYNC_REQ_PORTDRV_HOOK 0x83 | |
| #define IDI_SYNC_REQ_SLI 0x84 /* SLI request from 3signal modem drivers */ | |
| #define IDI_SYNC_REQ_RECONFIGURE 0x85 | |
| #define IDI_SYNC_REQ_RESET 0x86 | |
| #define IDI_SYNC_REQ_GET_85X_DEVICE_DATA 0x87 | |
| #define IDI_SYNC_REQ_LOCK_85X 0x88 | |
| #define IDI_SYNC_REQ_DIVA_85X_USB_DATA_EXCHANGE 0x99 | |
| #define IDI_SYNC_REQ_DIPORT_EXCHANGE_REQ 0x98 | |
| #define IDI_SYNC_REQ_GET_85X_EXT_PORT_TYPE 0xA0 | |
| /******************************************************************************/ | |
| #define IDI_SYNC_REQ_XDI_GET_EXTENDED_FEATURES 0x92 | |
| /* | |
| To receive XDI features: | |
| 1. set 'buffer_length_in_bytes' to length of you buffer | |
| 2. set 'features' to pointer to your buffer | |
| 3. issue synchronous request to XDI | |
| 4. Check that feature 'DIVA_XDI_EXTENDED_FEATURES_VALID' is present | |
| after call. This feature does indicate that your request | |
| was processed and XDI does support this synchronous request | |
| 5. if on return bit 31 (0x80000000) in 'buffer_length_in_bytes' is | |
| set then provided buffer was too small, and bits 30-0 does | |
| contain necessary length of buffer. | |
| in this case only features that do find place in the buffer | |
| are indicated to caller | |
| */ | |
| typedef struct _diva_xdi_get_extended_xdi_features { | |
| dword buffer_length_in_bytes; | |
| byte *features; | |
| } diva_xdi_get_extended_xdi_features_t; | |
| /* | |
| features[0] | |
| */ | |
| #define DIVA_XDI_EXTENDED_FEATURES_VALID 0x01 | |
| #define DIVA_XDI_EXTENDED_FEATURE_CMA 0x02 | |
| #define DIVA_XDI_EXTENDED_FEATURE_SDRAM_BAR 0x04 | |
| #define DIVA_XDI_EXTENDED_FEATURE_CAPI_PRMS 0x08 | |
| #define DIVA_XDI_EXTENDED_FEATURE_NO_CANCEL_RC 0x10 | |
| #define DIVA_XDI_EXTENDED_FEATURE_RX_DMA 0x20 | |
| #define DIVA_XDI_EXTENDED_FEATURE_MANAGEMENT_DMA 0x40 | |
| #define DIVA_XDI_EXTENDED_FEATURE_WIDE_ID 0x80 | |
| #define DIVA_XDI_EXTENDED_FEATURES_MAX_SZ 1 | |
| /******************************************************************************/ | |
| #define IDI_SYNC_REQ_XDI_GET_ADAPTER_SDRAM_BAR 0x93 | |
| typedef struct _diva_xdi_get_adapter_sdram_bar { | |
| dword bar; | |
| } diva_xdi_get_adapter_sdram_bar_t; | |
| /******************************************************************************/ | |
| #define IDI_SYNC_REQ_XDI_GET_CAPI_PARAMS 0x94 | |
| /* | |
| CAPI Parameters will be written in the caller's buffer | |
| */ | |
| typedef struct _diva_xdi_get_capi_parameters { | |
| dword structure_length; | |
| byte flag_dynamic_l1_down; | |
| byte group_optimization_enabled; | |
| } diva_xdi_get_capi_parameters_t; | |
| /******************************************************************************/ | |
| #define IDI_SYNC_REQ_XDI_GET_LOGICAL_ADAPTER_NUMBER 0x95 | |
| /* | |
| Get logical adapter number, as assigned by XDI | |
| 'controller' is starting with zero 'sub' controller number | |
| in case of one adapter that supports multiple interfaces | |
| 'controller' is zero for Master adapter (and adapter that supports | |
| only one interface) | |
| */ | |
| typedef struct _diva_xdi_get_logical_adapter_number { | |
| dword logical_adapter_number; | |
| dword controller; | |
| dword total_controllers; | |
| } diva_xdi_get_logical_adapter_number_s_t; | |
| /******************************************************************************/ | |
| #define IDI_SYNC_REQ_UP1DM_OPERATION 0x96 | |
| /******************************************************************************/ | |
| #define IDI_SYNC_REQ_DMA_DESCRIPTOR_OPERATION 0x97 | |
| #define IDI_SYNC_REQ_DMA_DESCRIPTOR_ALLOC 0x01 | |
| #define IDI_SYNC_REQ_DMA_DESCRIPTOR_FREE 0x02 | |
| typedef struct _diva_xdi_dma_descriptor_operation { | |
| int operation; | |
| int descriptor_number; | |
| void *descriptor_address; | |
| dword descriptor_magic; | |
| } diva_xdi_dma_descriptor_operation_t; | |
| /******************************************************************************/ | |
| #define IDI_SYNC_REQ_DIDD_REGISTER_ADAPTER_NOTIFY 0x01 | |
| #define IDI_SYNC_REQ_DIDD_REMOVE_ADAPTER_NOTIFY 0x02 | |
| #define IDI_SYNC_REQ_DIDD_ADD_ADAPTER 0x03 | |
| #define IDI_SYNC_REQ_DIDD_REMOVE_ADAPTER 0x04 | |
| #define IDI_SYNC_REQ_DIDD_READ_ADAPTER_ARRAY 0x05 | |
| #define IDI_SYNC_REQ_DIDD_GET_CFG_LIB_IFC 0x10 | |
| typedef struct _diva_didd_adapter_notify { | |
| dword handle; /* Notification handle */ | |
| void *callback; | |
| void *context; | |
| } diva_didd_adapter_notify_t; | |
| typedef struct _diva_didd_add_adapter { | |
| void *descriptor; | |
| } diva_didd_add_adapter_t; | |
| typedef struct _diva_didd_remove_adapter { | |
| IDI_CALL p_request; | |
| } diva_didd_remove_adapter_t; | |
| typedef struct _diva_didd_read_adapter_array { | |
| void *buffer; | |
| dword length; | |
| } diva_didd_read_adapter_array_t; | |
| typedef struct _diva_didd_get_cfg_lib_ifc { | |
| void *ifc; | |
| } diva_didd_get_cfg_lib_ifc_t; | |
| /******************************************************************************/ | |
| #define IDI_SYNC_REQ_XDI_GET_STREAM 0x91 | |
| #define DIVA_XDI_SYNCHRONOUS_SERVICE 0x01 | |
| #define DIVA_XDI_DMA_SERVICE 0x02 | |
| #define DIVA_XDI_AUTO_SERVICE 0x03 | |
| #define DIVA_ISTREAM_COMPLETE_NOTIFY 0 | |
| #define DIVA_ISTREAM_COMPLETE_READ 1 | |
| #define DIVA_ISTREAM_COMPLETE_WRITE 2 | |
| typedef struct _diva_xdi_stream_interface { | |
| unsigned char Id; /* filled by XDI client */ | |
| unsigned char provided_service; /* filled by XDI */ | |
| unsigned char requested_service; /* filled by XDI Client */ | |
| void *xdi_context; /* filled by XDI */ | |
| void *client_context; /* filled by XDI client */ | |
| int (*write)(void *context, | |
| int Id, | |
| void *data, | |
| int length, | |
| int final, | |
| byte usr1, | |
| byte usr2); | |
| int (*read)(void *context, | |
| int Id, | |
| void *data, | |
| int max_length, | |
| int *final, | |
| byte *usr1, | |
| byte *usr2); | |
| int (*complete)(void *client_context, | |
| int Id, | |
| int what, | |
| void *data, | |
| int length, | |
| int *final); | |
| } diva_xdi_stream_interface_t; | |
| /******************************************************************************/ | |
| /* | |
| * IDI_SYNC_REQ_SERIAL_HOOK - special interface for the DIVA Mobile card | |
| */ | |
| typedef struct | |
| { unsigned char LineState; /* Modem line state (STATUS_R) */ | |
| #define SERIAL_GSM_CELL 0x01 /* GSM or CELL cable attached */ | |
| unsigned char CardState; /* PCMCIA card state (0 = down) */ | |
| unsigned char IsdnState; /* ISDN layer 1 state (0 = down)*/ | |
| unsigned char HookState; /* current logical hook state */ | |
| #define SERIAL_ON_HOOK 0x02 /* set in DIVA CTRL_R register */ | |
| } SERIAL_STATE; | |
| typedef int (*SERIAL_INT_CB)(void *Context); | |
| typedef int (*SERIAL_DPC_CB)(void *Context); | |
| typedef unsigned char (*SERIAL_I_SYNC)(void *Context); | |
| 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 */ | |
| #define SERIAL_HOOK_ATTACH 0x81 | |
| #define SERIAL_HOOK_STATUS 0x82 | |
| #define SERIAL_HOOK_I_SYNC 0x83 | |
| #define SERIAL_HOOK_NOECHO 0x84 | |
| #define SERIAL_HOOK_RING 0x85 | |
| #define SERIAL_HOOK_DETACH 0x8f | |
| unsigned char Flags; /* function refinements */ | |
| /* parameters passed by the ATTACH request */ | |
| SERIAL_INT_CB InterruptHandler; /* called on each interrupt */ | |
| SERIAL_DPC_CB DeferredHandler; /* called on hook state changes */ | |
| void *HandlerContext; /* context for both handlers */ | |
| /* return values for both the ATTACH and the STATUS request */ | |
| unsigned long IoBase; /* IO port assigned to UART */ | |
| SERIAL_STATE State; | |
| /* parameters and return values for the I_SYNC function */ | |
| SERIAL_I_SYNC SyncFunction; /* to be called synchronized */ | |
| void *SyncContext; /* context for this function */ | |
| unsigned char SyncResult; /* return value of function */ | |
| } SERIAL_HOOK; | |
| /* | |
| * IDI_SYNC_REQ_XCHANGE_STATUS - exchange the status between IDI and WMP | |
| * IDI_SYNC_REQ_RECONFIGURE - reconfiguration of IDI from WMP | |
| */ | |
| 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) */ | |
| #define DRIVER_STATUS_BOOT 0xA1 | |
| #define DRIVER_STATUS_INIT_DEV 0xA2 | |
| #define DRIVER_STATUS_RUNNING 0xA3 | |
| #define DRIVER_STATUS_SHUTDOWN 0xAF | |
| #define DRIVER_STATUS_TRAPPED 0xAE | |
| unsigned char wmpStatus; /* exported by WMP */ | |
| unsigned char idiStatus; /* exported by IDI */ | |
| unsigned long wizProto; /* from WMP registry to IDI */ | |
| /* 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 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 */ |