📄 fsk.h
字号:
} TB640_FSK_TX_ACTION, *PTB640_FSK_TX_ACTION;
/* Define the types of data transmitted supported by this application */
typedef enum _TB640_FSK_CUSTOM_TEST_TYPE
{
TB640_FSK_CUSTOM_TEST_TYPE_STRESS = 0
} TB640_FSK_CUSTOM_TEST_TYPE, *PTB640_FSK_CUSTOM_TEST_TYPE;
/*
| Structure containing information about a specific trunk resource
*/
typedef struct _TB640_FSK_TRUNK_RESOURCE_INFO
{
/* Information about the trunk resource itself */
TBX_BOOL fOperationAllocated;
TBX_BOOL fInUse;
TBX_UINT8 un8Trunk;
TBX_UINT8 un8Timeslot;
TB640_RESOURCE_HANDLE hTrunkResource;
TB640_VPGROUP_HANDLE hVPGroup;
TB640_RESOURCE_HANDLE hVPResource;
TB640_CONNECTION_HANDLE hConnection;
TB640_FSK_CALL_APP_STATE State;
TB640_FSK_CALL_APP_SUB_STATE SubState;
TB640_FSK_CUSTOM_TEST_TYPE TestType; /* Type of test being run on this timeslot */
TBX_UINT32 StateStressTest;
TBX_UINT32 un32TxRetransmitLeft;
TBX_UINT32 un32LastIdleTimestamp;
TBX_UINT32 un32HistoryReadIdx;
TBX_UINT32 un32HistoryWriteIdx;
TB640_FSK_HISTORY_ENTRY aHistoryEntry [TB640_FSK_NB_HISTORY_FOR_TIMESLOT];
} TB640_FSK_TRUNK_RESOURCE_INFO, *PTB640_FSK_TRUNK_RESOURCE_INFO;
/*
| Structure containing information about a specific trunk
*/
typedef struct _TB640_FSK_TRUNK_INFO
{
/* Information about the trunk itself */
TBX_UINT8 un8Trunk;
TB640_TRUNK_HANDLE hTrunk;
TBX_BOOL fActivated;
TBX_BOOL fIncludedInStressTesting;
TB640_TRUNK_CFG TrunkConfiguration;
TBX_UINT32 un32OpLibIdx;
TBX_UINT32 un32NbTrunkResource;
TB640_VP_FSK_TYPE FskType;
TB640_FSK_TRUNK_RESOURCE_INFO aResourceInfo [TB640_FSK_MAX_TIMESLOT_IN_TRUNK];
} TB640_FSK_TRUNK_INFO, *PTB640_FSK_TRUNK_INFO;
/*
| Structure containing information about a specific adapter
*/
typedef struct _TB640_FSK_ADAPTER_INFO
{
TBX_CHAR szAdapterName [TB640_FSK_MAX_ADAPTER_NAME_LENGTH];
TBX_ADAPTER_HANDLE hAdapter;
TBX_BOOL fAttached;
TBX_ADAPTER_INFO AdapterInfo;
TBX_HOST_INFO HostInfo;
TBX_UINT32 aun32FeatureEnabled [TBX_FEATURE_TYPE_LAST];
TBX_UINT32 un32RemoteProcessId;
/* Operation library information */
TBX_UINT32 un32NbOperationLib;
TBX_ASYNC_LIB_HANDLE ahOperationLib [TB640_FSK_NB_OPERATION_LIBRARY_REQUIRED];
TBX_UINT64 aun64UniqueId [TB640_FSK_NB_OPERATION_LIBRARY_REQUIRED];
struct
{
TBX_SEM aOperationLibSem[TB640_FSK_NB_OPERATION_LIBRARY_REQUIRED];
PTBX_CHAR apszOperationLibSemFile[TB640_FSK_NB_OPERATION_LIBRARY_REQUIRED];
TBX_UINT32 aun32OperationLibSemLine[TB640_FSK_NB_OPERATION_LIBRARY_REQUIRED];
TBX_UINT32 aun32OperationLibSemProcess[TB640_FSK_NB_OPERATION_LIBRARY_REQUIRED];
} Lock;
/* Trunk and trunk resource information */
TBX_UINT32 un32NbTrunk;
TB640_FSK_TRUNK_INFO aTrunkInfo [TB640_FSK_MAX_SUPPORTED_TRUNKS_PER_ADAPTER];
/* Hash table for quick reverse lookups of handle->trunk nb, timeslot nb, etc. */
TBX_HASH_HANDLE hVPHash;
TBX_HASH_HANDLE hTrunkHash;
TBX_HASH_HANDLE hTrunkResHash;
TBX_UINT32 un32AdapterCpu0Usage;
TBX_UINT32 un32AdapterCpu1Usage;
} TB640_FSK_ADAPTER_INFO, *PTB640_FSK_ADAPTER_INFO;
/*
| Structure containing all information required by the overall application
*/
typedef struct _TB640_FSK_CONTEXT
{
/* TBX library information */
TBX_LIB_HANDLE hTbxLib;
/* Logging facilities */
TBX_SEM DisplaySem;
FILE * pLogFile;
TBX_CHAR szFilename [128];
TBX_UINT32 un32LogNumber;
TBX_UINT16 un16GwPort;
TBX_UINT32 un32FileLogLevel;
TBX_UINT32 un32DisplayLogLevel;
TBX_UINT32 un32MinRefreshDelayMsec;
/* Counter to see if there are any transient calls at a specific time */
TBX_SEM TransientCallsSem;
volatile TBX_UINT32 un32TransientCalls;
/* Static FSK message content */
TBX_UINT8 WaitRemote1MsgId;
TBX_UINT8 WaitRemote1ConfirmMsgId;
TBX_UINT8 WaitRemote2MsgId;
TBX_UINT8 WaitRemote2ConfirmMsgId;
TBX_UINT8 CloseRemoteMsgId;
TBX_UINT8 TxStressTestMsgId;
TBX_UINT8 TxAMsgId;
TBX_UINT8 TxBMsgId;
TBX_UINT8 TxCMsgId;
TBX_UINT8 TxDMsgId;
TBX_UINT8 WaitRemote1Data;
TBX_UINT8 WaitRemote2Data;
/* Adapter resource information */
TBX_UINT32 un32NbAdapter;
TB640_FSK_ADAPTER_INFO ahAdapterInfo [TB640_FSK_MAX_SUPPORTED_ADAPTERS];
} TB640_FSK_CONTEXT, *PTB640_FSK_CONTEXT;
/*
| Structure containing all information for a call
*/
typedef struct _TB640_FSK_CALL_CONTEXT
{
/* Information on parent */
PTBX_ASYNC_OP_CONTEXT pOpContext;
TBX_BOOL fSpuriousCallContext;
/* State of this call (used by the application) */
TBX_UINT32 ExpectedWaitRemote1Data;
TBX_UINT32 RemoteWaitRemote1Data;
TBX_UINT32 ExpectedWaitRemote2Data;
TBX_UINT32 RemoteWaitRemote2Data;
/* Debuging stuff */
TBX_UINT32 un32Debug;
/* Parameters */
TBX_BOOL fReception; /* Else transmission */
TBX_BOOL fWaitingForWaitRemoteConfirmAck;
TBX_BOOL fReceivedRemoteConfirm;
TBX_BOOL fReceivedRemoteConfirmAck;
TBX_UINT32 un32MessageSizeDWord;
/* Adapter/Trunk/timeslot information */
TBX_UINT32 un32AdapterIndex;
TBX_UINT32 un32TrunkIndex;
TBX_UINT32 un32TimeslotIndex;
/* Call history */
TBX_UINT32 un32HistoryReadIdx;
TBX_UINT32 un32HistoryWriteIdx;
TB640_FSK_HISTORY_ENTRY aHistoryEntry [TB640_FSK_NB_HISTORY_FOR_CALL];
} TB640_FSK_CALL_CONTEXT, *PTB640_FSK_CALL_CONTEXT;
/*--------------------------------------------------------------------------------------------------------------------------------
| Global variables
*------------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------------------
| Macros
*------------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------------------
| Function Prototypes
*------------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------------------
| C++ support
*------------------------------------------------------------------------------------------------------------------------------*/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __FSK_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -