Add Windows support.
This commit is contained in:
parent
a77e0524e0
commit
ffb4e53dbd
9 changed files with 61 additions and 37 deletions
YSFGateway
YSFParrot
YSFReflector
|
@ -37,12 +37,6 @@ m_address_save(address),
|
||||||
m_port_save(port),
|
m_port_save(port),
|
||||||
m_counter(0U)
|
m_counter(0U)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
|
||||||
WSAData data;
|
|
||||||
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
|
|
||||||
if (wsaRet != 0)
|
|
||||||
LogError("Error from WSAStartup");
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
||||||
m_address[i] = "";
|
m_address[i] = "";
|
||||||
m_port[i] = 0U;
|
m_port[i] = 0U;
|
||||||
|
@ -56,12 +50,6 @@ m_address_save(),
|
||||||
m_port_save(port),
|
m_port_save(port),
|
||||||
m_counter(0U)
|
m_counter(0U)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
|
||||||
WSAData data;
|
|
||||||
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
|
|
||||||
if (wsaRet != 0)
|
|
||||||
LogError("Error from WSAStartup");
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
||||||
m_address[i] = "";
|
m_address[i] = "";
|
||||||
m_port[i] = 0U;
|
m_port[i] = 0U;
|
||||||
|
@ -72,6 +60,20 @@ m_counter(0U)
|
||||||
|
|
||||||
CUDPSocket::~CUDPSocket()
|
CUDPSocket::~CUDPSocket()
|
||||||
{
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CUDPSocket::startup()
|
||||||
|
{
|
||||||
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
|
WSAData data;
|
||||||
|
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
|
||||||
|
if (wsaRet != 0)
|
||||||
|
LogError("Error from WSAStartup");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CUDPSocket::shutdown()
|
||||||
|
{
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
::WSACleanup();
|
::WSACleanup();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -60,8 +60,12 @@ public:
|
||||||
void close();
|
void close();
|
||||||
void close(const unsigned int index);
|
void close(const unsigned int index);
|
||||||
|
|
||||||
|
static void startup();
|
||||||
|
static void shutdown();
|
||||||
|
|
||||||
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
|
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
|
||||||
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
|
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
|
||||||
|
|
||||||
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT);
|
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT);
|
||||||
|
|
||||||
static bool isNone(const sockaddr_storage& addr);
|
static bool isNone(const sockaddr_storage& addr);
|
||||||
|
|
|
@ -96,10 +96,12 @@ m_lostTimer(1000U, 120U),
|
||||||
m_fcsNetworkEnabled(false),
|
m_fcsNetworkEnabled(false),
|
||||||
m_remoteSocket(NULL)
|
m_remoteSocket(NULL)
|
||||||
{
|
{
|
||||||
|
CUDPSocket::startup();
|
||||||
}
|
}
|
||||||
|
|
||||||
CYSFGateway::~CYSFGateway()
|
CYSFGateway::~CYSFGateway()
|
||||||
{
|
{
|
||||||
|
CUDPSocket::shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
int CYSFGateway::run()
|
int CYSFGateway::run()
|
||||||
|
|
|
@ -37,12 +37,6 @@ m_address_save(address),
|
||||||
m_port_save(port),
|
m_port_save(port),
|
||||||
m_counter(0U)
|
m_counter(0U)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
|
||||||
WSAData data;
|
|
||||||
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
|
|
||||||
if (wsaRet != 0)
|
|
||||||
LogError("Error from WSAStartup");
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
||||||
m_address[i] = "";
|
m_address[i] = "";
|
||||||
m_port[i] = 0U;
|
m_port[i] = 0U;
|
||||||
|
@ -56,12 +50,6 @@ m_address_save(),
|
||||||
m_port_save(port),
|
m_port_save(port),
|
||||||
m_counter(0U)
|
m_counter(0U)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
|
||||||
WSAData data;
|
|
||||||
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
|
|
||||||
if (wsaRet != 0)
|
|
||||||
LogError("Error from WSAStartup");
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
||||||
m_address[i] = "";
|
m_address[i] = "";
|
||||||
m_port[i] = 0U;
|
m_port[i] = 0U;
|
||||||
|
@ -72,6 +60,20 @@ m_counter(0U)
|
||||||
|
|
||||||
CUDPSocket::~CUDPSocket()
|
CUDPSocket::~CUDPSocket()
|
||||||
{
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CUDPSocket::startup()
|
||||||
|
{
|
||||||
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
|
WSAData data;
|
||||||
|
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
|
||||||
|
if (wsaRet != 0)
|
||||||
|
LogError("Error from WSAStartup");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CUDPSocket::shutdown()
|
||||||
|
{
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
::WSACleanup();
|
::WSACleanup();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -60,8 +60,12 @@ public:
|
||||||
void close();
|
void close();
|
||||||
void close(const unsigned int index);
|
void close(const unsigned int index);
|
||||||
|
|
||||||
|
static void startup();
|
||||||
|
static void shutdown();
|
||||||
|
|
||||||
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
|
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
|
||||||
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
|
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
|
||||||
|
|
||||||
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT);
|
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT);
|
||||||
|
|
||||||
static bool isNone(const sockaddr_storage& addr);
|
static bool isNone(const sockaddr_storage& addr);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2016,2018 by Jonathan Naylor G4KLX
|
* Copyright (C) 2016,2018,2020 by Jonathan Naylor G4KLX
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -50,10 +50,12 @@ int main(int argc, char** argv)
|
||||||
CYSFParrot::CYSFParrot(unsigned int port) :
|
CYSFParrot::CYSFParrot(unsigned int port) :
|
||||||
m_port(port)
|
m_port(port)
|
||||||
{
|
{
|
||||||
|
CUDPSocket::startup();
|
||||||
}
|
}
|
||||||
|
|
||||||
CYSFParrot::~CYSFParrot()
|
CYSFParrot::~CYSFParrot()
|
||||||
{
|
{
|
||||||
|
CUDPSocket::shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CYSFParrot::run()
|
void CYSFParrot::run()
|
||||||
|
|
|
@ -37,12 +37,6 @@ m_address_save(address),
|
||||||
m_port_save(port),
|
m_port_save(port),
|
||||||
m_counter(0U)
|
m_counter(0U)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
|
||||||
WSAData data;
|
|
||||||
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
|
|
||||||
if (wsaRet != 0)
|
|
||||||
LogError("Error from WSAStartup");
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
||||||
m_address[i] = "";
|
m_address[i] = "";
|
||||||
m_port[i] = 0U;
|
m_port[i] = 0U;
|
||||||
|
@ -56,12 +50,6 @@ m_address_save(),
|
||||||
m_port_save(port),
|
m_port_save(port),
|
||||||
m_counter(0U)
|
m_counter(0U)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
|
||||||
WSAData data;
|
|
||||||
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
|
|
||||||
if (wsaRet != 0)
|
|
||||||
LogError("Error from WSAStartup");
|
|
||||||
#endif
|
|
||||||
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
for (int i = 0; i < UDP_SOCKET_MAX; i++) {
|
||||||
m_address[i] = "";
|
m_address[i] = "";
|
||||||
m_port[i] = 0U;
|
m_port[i] = 0U;
|
||||||
|
@ -72,6 +60,20 @@ m_counter(0U)
|
||||||
|
|
||||||
CUDPSocket::~CUDPSocket()
|
CUDPSocket::~CUDPSocket()
|
||||||
{
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CUDPSocket::startup()
|
||||||
|
{
|
||||||
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
|
WSAData data;
|
||||||
|
int wsaRet = ::WSAStartup(MAKEWORD(2, 2), &data);
|
||||||
|
if (wsaRet != 0)
|
||||||
|
LogError("Error from WSAStartup");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CUDPSocket::shutdown()
|
||||||
|
{
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
::WSACleanup();
|
::WSACleanup();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -60,8 +60,12 @@ public:
|
||||||
void close();
|
void close();
|
||||||
void close(const unsigned int index);
|
void close(const unsigned int index);
|
||||||
|
|
||||||
|
static void startup();
|
||||||
|
static void shutdown();
|
||||||
|
|
||||||
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
|
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length);
|
||||||
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
|
static int lookup(const std::string& hostName, unsigned int port, sockaddr_storage& address, unsigned int& address_length, struct addrinfo& hints);
|
||||||
|
|
||||||
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT);
|
static bool match(const sockaddr_storage& addr1, const sockaddr_storage& addr2, IPMATCHTYPE type = IMT_ADDRESS_AND_PORT);
|
||||||
|
|
||||||
static bool isNone(const sockaddr_storage& addr);
|
static bool isNone(const sockaddr_storage& addr);
|
||||||
|
|
|
@ -79,10 +79,12 @@ CYSFReflector::CYSFReflector(const std::string& file) :
|
||||||
m_conf(file),
|
m_conf(file),
|
||||||
m_repeaters()
|
m_repeaters()
|
||||||
{
|
{
|
||||||
|
CUDPSocket::startup();
|
||||||
}
|
}
|
||||||
|
|
||||||
CYSFReflector::~CYSFReflector()
|
CYSFReflector::~CYSFReflector()
|
||||||
{
|
{
|
||||||
|
CUDPSocket::shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CYSFReflector::run()
|
void CYSFReflector::run()
|
||||||
|
|
Loading…
Add table
Reference in a new issue