#ifndef _local_capi_h_ #define _local_capi_h_ #include #include #include #include #include "capi_events.h" #include "capi_pipe.h" #define B3_DATA_ALLOC_SIZE 1024 /*------------------------------------------------------------------------------------------*\ \*------------------------------------------------------------------------------------------*/ struct _local_capi_appl { unsigned int InUse; #define LOCAL_APPL_KENNUNG 0x1F2E3D4C unsigned int Kennung; struct capi_pipe *Pipe; unsigned int MaxMessageSize; unsigned int MessageLost; unsigned char *MessageBuffer; unsigned char *PipePointer; unsigned int TmpBufferSize; unsigned char *TmpBuffer; unsigned int EventBit; struct capi_events *SignalEvent; }; struct _adr_b3_ind_data { enum _entry_use InUse; unsigned char *Kernel_Buffer; unsigned char *User_Buffer; }; /*-------------------------------------------------------------------------------------*\ \*-------------------------------------------------------------------------------------*/ #define CA_IS_DATA_B3_REQ(Msg) ((Msg[4] == 0x86) && (Msg[5] == 0x80)) /*--- nur CAPI 2.0 ---*/ #define CA_IS_DATA_B3_CONF(Msg) ((Msg[4] == 0x86) && (Msg[5] == 0x81)) /*--- nur CAPI 2.0 ---*/ #define CA_IS_DATA_B3_IND(Msg) ((Msg[4] == 0x86) && (Msg[5] == 0x82)) /*--- nur CAPI 2.0 ---*/ #define CA_IS_DATA_B3_RESP(Msg) ((Msg[4] == 0x86) && (Msg[5] == 0x83)) /*--- nur CAPI 2.0 ---*/ /*------------------------------------------------------------------------------------------*\ \*------------------------------------------------------------------------------------------*/ void LOCAL_CAPI_INIT(enum _capi_source capi_source); void LOCAL_CAPI_MESSAGE(enum _capi_source capi_source, unsigned int ApplId, unsigned char *Msg, unsigned int MsgLen); unsigned char *LOCAL_CAPI_GET_VERSION_WORD(unsigned int Controller, unsigned int Word); unsigned int LOCAL_CAPI_REGISTER(enum _capi_source capi_source, unsigned int MessageBufferSize, unsigned int MaxNCCIs, unsigned int WindowSize, unsigned int B3BlockSize, unsigned int *ApplId); unsigned int LOCAL_CAPI_RELEASE(enum _capi_source capi_source, unsigned int ApplId); unsigned int LOCAL_CAPI_RELEASE_CONF(enum _capi_source capi_source, unsigned int ApplId); unsigned char *LOCAL_CAPI_GET_BUFFER(enum _capi_source capi_source, unsigned int ApplId, unsigned int Size); unsigned int LOCAL_CAPI_PUT_MESSAGE(enum _capi_source capi_source, unsigned int ApplId, unsigned char *CapiMessage); unsigned char *LOCAL_CAPI_NEW_DATA_B3_REQ_BUFFER(enum _capi_source capi_source, unsigned int ApplId, unsigned int NCCI); unsigned int LOCAL_CAPI_SET_SIGNAL(enum _capi_source capi_source, unsigned int ApplId, struct capi_events *pEvent, unsigned int Bit); unsigned int LOCAL_CAPI_GET_MESSAGE(enum _capi_source capi_source, unsigned int ApplId, unsigned char **pCapiMessage, unsigned int Suspend); struct capi_pipe *LOCAL_CAPI_GET_MESSAGE_WAIT_QUEUE(enum _capi_source capi_source, unsigned int ApplId, wait_queue_head_t *rx_wait_queue, wait_queue_head_t *tx_wait_queue); int LOCAL_CAPI_REGISTER_B3_BUFFER(enum _capi_source capi_source, unsigned int ApplId, struct _adr_b3_ind_data *b3Buffers, unsigned int BufferAnzahl, void (*release_buffers)(void *), void *context); unsigned int LOCAL_CAPI_SET_NOTIFY(enum _capi_source capi_source, unsigned int ApplId, void *Conn); #endif /*--- #ifndef _local_capi_h_ ---*/