fsfw/src/fsfw/osal/common/TcpIpBase.h

45 lines
956 B
C
Raw Normal View History

#ifndef FSFW_OSAL_COMMON_TCPIPIF_H_
#define FSFW_OSAL_COMMON_TCPIPIF_H_
2021-05-12 16:47:53 +02:00
#include "../../platform.h"
2022-08-16 12:48:22 +02:00
#include "../../returnvalues/returnvalue.h"
2021-05-12 16:47:53 +02:00
#ifdef PLATFORM_WIN
#include <winsock2.h>
2021-05-12 16:47:53 +02:00
#elif defined(PLATFORM_UNIX)
2021-03-21 12:51:28 +01:00
#include <sys/socket.h>
#endif
class TcpIpBase {
2022-02-02 10:29:30 +01:00
protected:
2021-05-12 16:47:53 +02:00
#ifdef PLATFORM_WIN
2022-02-02 10:29:30 +01:00
static constexpr int SHUT_RECV = SD_RECEIVE;
static constexpr int SHUT_SEND = SD_SEND;
static constexpr int SHUT_BOTH = SD_BOTH;
2022-02-02 10:29:30 +01:00
using socket_t = SOCKET;
2021-05-12 17:32:40 +02:00
#elif defined(PLATFORM_UNIX)
2022-02-02 10:29:30 +01:00
using socket_t = int;
2022-02-02 10:29:30 +01:00
static constexpr int INVALID_SOCKET = -1;
static constexpr int SOCKET_ERROR = -1;
2022-02-02 10:29:30 +01:00
static constexpr int SHUT_RECV = SHUT_RD;
static constexpr int SHUT_SEND = SHUT_WR;
static constexpr int SHUT_BOTH = SHUT_RDWR;
#endif
2022-02-02 10:29:30 +01:00
TcpIpBase();
virtual ~TcpIpBase();
2022-02-02 10:29:30 +01:00
ReturnValue_t initialize();
2022-02-02 10:29:30 +01:00
int closeSocket(socket_t socket);
2022-02-02 10:29:30 +01:00
int getLastSocketError();
2022-02-02 10:29:30 +01:00
socket_t serverSocket = 0;
};
#endif /* FSFW_OSAL_COMMON_TCPIPIF_H_ */