Browse Source

correct windows.h / winsock2.h include order

- changes to correctly include winsock2.h, according to this article: https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms738562(v=vs.85).aspx
- removed ugly "typedef struct addrinfo" definitions in code
- added WIN32_LEAN_AND_MEAN flag in preprocessor directives
- removed unused myip_path in LP_nativeDEX, error with "DB/myipaddr" violation with ipfname alredy fixed by jl777
etomic
DeckerSU 7 years ago
parent
commit
8c92ff7df8
  1. 4
      OSlibs/win/mingw.h
  2. 3
      iguana/exchanges/LP_nativeDEX.c
  3. 24
      iguana/exchanges/LP_socket.c
  4. 15
      iguana/exchanges/stats.c
  5. 2
      marketmaker.vcxproj

4
OSlibs/win/mingw.h

@ -5,8 +5,8 @@
#include <io.h>
#define _USE_W32_SOCKETS 1
//#define WIN32_LEAN_AND_MEAN
//#define _WINSOCKAPI_
#define WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#include <windows.h>
#define PTW32_STATIC_LIB
#include "pthread.h"

3
iguana/exchanges/LP_nativeDEX.c

@ -593,8 +593,7 @@ void LP_initpeers(int32_t pubsock,struct LP_peerinfo *mypeer,char *myipaddr,uint
void LPinit(uint16_t myport,uint16_t mypullport,uint16_t mypubport,uint16_t mybusport,char *passphrase,int32_t amclient,char *userhome,cJSON *argjson)
{
char *myip_path = "";
char *myipaddr=0; long filesize,n; int32_t timeout,pubsock=-1; struct LP_peerinfo *mypeer=0; char pushaddr[128],subaddr[128],bindaddr[128]; void *ctx = bitcoin_ctx();
char *myipaddr=0; long filesize,n; int32_t timeout,pubsock=-1; struct LP_peerinfo *mypeer=0; char pushaddr[128],subaddr[128],bindaddr[128]; void *ctx = bitcoin_ctx();
LP_showwif = juint(argjson,"wif");
if ( passphrase == 0 || passphrase[0] == 0 )
{

24
iguana/exchanges/LP_socket.c

@ -22,11 +22,11 @@
* is equivalent to #if defined(_M_X64) as _M_X64 is defined for MSVC only
*/
//#if defined(_M_X64)
//#define WIN32_LEAN_AND_MEAN
//#define _WINSOCKAPI_
//#include <WinSock2.h>
//#endif
#if defined(_M_X64)
#define WIN32_LEAN_AND_MEAN
#define _WINSOCKAPI_
#include <WinSock2.h>
#endif
#define ELECTRUM_TIMEOUT 5
@ -44,20 +44,6 @@ int32_t LP_socket(int32_t bindflag,char *hostname,uint16_t port)
* @author - fadedreamz@gmail.com
*/
#if defined(_M_X64)
typedef struct addrinfo
{
int ai_flags; // AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST
int ai_family; // PF_xxx
int ai_socktype; // SOCK_xxx
int ai_protocol; // 0 or IPPROTO_xxx for IPv4 and IPv6
size_t ai_addrlen; // Length of ai_addr
char * ai_canonname; // Canonical name for nodename
_Field_size_bytes_(ai_addrlen) struct sockaddr * ai_addr; // Binary address
struct addrinfo * ai_next; // Next structure in linked list
}
ADDRINFOA, *PADDRINFOA;
struct addrinfo *addrresult = NULL;
struct addrinfo *returnptr = NULL;
struct addrinfo hints;

15
iguana/exchanges/stats.c

@ -73,22 +73,7 @@ int32_t iguana_socket(int32_t bindflag,char *hostname,uint16_t port)
* @author - fadedreamz@gmail.com
*/
#if defined(_M_X64)
typedef struct addrinfo
{
int ai_flags; // AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST
int ai_family; // PF_xxx
int ai_socktype; // SOCK_xxx
int ai_protocol; // 0 or IPPROTO_xxx for IPv4 and IPv6
size_t ai_addrlen; // Length of ai_addr
char * ai_canonname; // Canonical name for nodename
_Field_size_bytes_(ai_addrlen) struct sockaddr * ai_addr; // Binary address
struct addrinfo * ai_next; // Next structure in linked list
}
ADDRINFOA, *PADDRINFOA;
struct addrinfo *addrresult = NULL;
struct addrinfo *returnptr = NULL;
struct addrinfo hints;

2
marketmaker.vcxproj

@ -140,7 +140,7 @@
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN64;_WIN64;_CRT_SECURE_NO_WARNINGS;NATIVE_WINDOWS;WIN32;_CONSOLE;NDEBUG;IGUANA_LOG2PACKETSIZE=20;IGUANA_MAXPACKETSIZE=1572864;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN64;_WIN64;_CRT_SECURE_NO_WARNINGS;NATIVE_WINDOWS;WIN32;WIN32_LEAN_AND_MEAN;_CONSOLE;NDEBUG;IGUANA_LOG2PACKETSIZE=20;IGUANA_MAXPACKETSIZE=1572864;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StructMemberAlignment>1Byte</StructMemberAlignment>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>

Loading…
Cancel
Save