Fixed socket compilation problems on Windows.

This commit is contained in:
Dominik Picheta 2013-10-23 18:30:03 +01:00
commit f695bb0b6f
2 changed files with 10 additions and 10 deletions

View file

@ -130,10 +130,10 @@ let
InvalidSocket*: TSocket = nil ## invalid socket InvalidSocket*: TSocket = nil ## invalid socket
when defined(windows): when defined(windows):
const let
OSInvalidSocket = winlean.INVALID_SOCKET OSInvalidSocket = winlean.INVALID_SOCKET
else: else:
const let
OSInvalidSocket = posix.INVALID_SOCKET OSInvalidSocket = posix.INVALID_SOCKET
proc newTSocket(fd: TSocketHandle, isBuff: bool): TSocket = proc newTSocket(fd: TSocketHandle, isBuff: bool): TSocket =

View file

@ -334,6 +334,13 @@ const
proc WSAGetLastError*(): cint {.importc: "WSAGetLastError", dynlib: ws2dll.} proc WSAGetLastError*(): cint {.importc: "WSAGetLastError", dynlib: ws2dll.}
when hostCPU == "amd64":
type
TSocketHandle* = distinct int # on WIN64 `SOCKET` is UINT_PTR
else:
type
TSocketHandle* = distinct cuint # on WIN32 `SOCKET` is U_INT (unsigned int)
type type
TWSAData* {.pure, final, importc: "WSADATA", header: "Winsock2.h".} = object TWSAData* {.pure, final, importc: "WSADATA", header: "Winsock2.h".} = object
wVersion, wHighVersion: int16 wVersion, wHighVersion: int16
@ -409,16 +416,9 @@ type
Tsocklen* = cuint Tsocklen* = cuint
when hostCPU == "amd64":
type
TSocketHandle* = distinct int # on WIN64 `SOCKET` is UINT_PTR
else:
type
TSocketHandle* = distinct cuint # on WIN32 `SOCKET` is U_INT (unsigned int)
var var
SOMAXCONN* {.importc, header: "Winsock2.h".}: cint SOMAXCONN* {.importc, header: "Winsock2.h".}: cint
INVALID_SOCKET* {.importc, header: "Winsock2.h".}: cint INVALID_SOCKET* {.importc, header: "Winsock2.h".}: TSocketHandle
proc `==`*(x, y: TSocketHandle): bool {.borrow.} proc `==`*(x, y: TSocketHandle): bool {.borrow.}