nxdrvlinux/examples/tcpserver/tcp_server.h

68 lines
1.9 KiB
C
Raw Permalink Normal View History

/* SPDX-License-Identifier: MIT */
/**************************************************************************************
*
* Copyright (c) 2024, Hilscher Gesellschaft fuer Systemautomation mbH. All Rights Reserved.
*
* Changes:
*
* Version Date Author Description
* ----------------------------------------------------------------------------------
* 1 02.01.24 SD changed licensing terms
*
**************************************************************************************/
#ifndef __TCPSERVER__H
#define __TCPSERVER__H
#ifdef __cplusplus
extern "C" {
#endif
/*****************************************************************************/
/*! Internal UART connector data */
/*****************************************************************************/
typedef struct TCP_CONN_INTERNAL_Ttag
{
uint32_t ulConnectorIdx;
void* pvMarshaller;
int fRunning;
SOCKET hListen;
pthread_t hServerThread;
SOCKET hClient;
pthread_t hClientThread;
unsigned long ulRxCount;
unsigned long ulTxCount;
} TCP_CONN_INTERNAL_T;
void TrafficTimer (void* dwUser);
void MarshallerTimer (int iSignal);
int32_t APIENTRY xSysdeviceOpenWrap (CIFXHANDLE hDriver, char* szBoard, CIFXHANDLE* phSysdevice);
int32_t APIENTRY xSysdeviceOpenWrap (CIFXHANDLE hDriver, char* szBoard, CIFXHANDLE* phSysdevice);
int32_t APIENTRY xChannelOpenWrap (CIFXHANDLE hDriver, char* szBoard, uint32_t ulChannel, CIFXHANDLE* phChannel);
int32_t APIENTRY xChannelCloseWrap (CIFXHANDLE hChannel);
void MarshallerRequest (void* pvMarshaller, void* pvUser);
uint32_t InitMarshaller (void);
void DeinitMarshaller (void);
#ifdef __cplusplus
}
#endif
#endif /* __TCPSERVER__H */