20 #ifndef _tds_sysdep_private_h_
21 #define _tds_sysdep_private_h_
26 #if defined(__GNUC__) && __GNUC__ >= 3
27 #define TDS_RCSID(name, id) \
28 static const char rcsid_##name[] __attribute__ ((unused)) = id
30 #define TDS_RCSID(name, id) \
31 static const char rcsid_##name[] = id; \
32 static const void *const no_unused_##name##_warn[] = { rcsid_##name, no_unused_##name##_warn }
35 #define TDS_ADDITIONAL_SPACE 0
50 #define READSOCKET(a,b,c) recv((a), (b), (c), 0L)
51 #define WRITESOCKET(a,b,c) send((a), (b), (c), 0L)
52 #define CLOSESOCKET(a) closesocket((a))
53 #define IOCTLSOCKET(a,b,c) ioctlsocket((a), (b), (char*)(c))
54 #define select select_s
56 #define strcasecmp stricmp
57 #define strncasecmp strnicmp
58 #define vsnprintf _vsnprintf
60 #define getpid() _gethostid()
63 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
65 #define READSOCKET(a,b,c) recv((a), (b), (c), 0L)
66 #define WRITESOCKET(a,b,c) send((a), (b), (c), 0L)
67 #define CLOSESOCKET(a) closesocket((a))
68 #define IOCTLSOCKET(a,b,c) ioctlsocket((a), (b), (c))
69 int _tds_socket_init(
void);
70 #define INITSOCKET() _tds_socket_init()
71 void _tds_socket_done(
void);
72 #define DONESOCKET() _tds_socket_done()
73 #define NETDB_REENTRANT 1
75 #define TDSSOCK_EINTR WSAEINTR
76 #define TDSSOCK_EINPROGRESS WSAEWOULDBLOCK
77 #define sock_errno WSAGetLastError()
81 #define strcasecmp stricmp
82 #define strncasecmp strnicmp
84 #define vsnprintf _vsnprintf
90 #if defined(_WIN64) && !defined(WIN64)
94 #define TDS_SDIR_SEPARATOR "\\"
98 #define getpid() _getpid()
99 #define strdup(s) _strdup(s)
100 #define stricmp(s1,s2) _stricmp(s1,s2)
101 #define strnicmp(s1,s2,n) _strnicmp(s1,s2,n)
107 #define sock_errno errno
110 #ifndef TDSSOCK_EINTR
111 #define TDSSOCK_EINTR EINTR
114 #ifndef TDSSOCK_EINPROGRESS
115 #define TDSSOCK_EINPROGRESS EINPROGRESS
119 #define INITSOCKET() 0
123 #define DONESOCKET() do { } while(0)
127 #define READSOCKET(a,b,c) read((a), (b), (c))
131 #define WRITESOCKET(a,b,c) write((a), (b), (c))
135 #define CLOSESOCKET(a) close((a))
139 #define IOCTLSOCKET(a,b,c) ioctl((a), (b), (c))
142 #ifndef TDS_SDIR_SEPARATOR
143 #define TDS_SDIR_SEPARATOR "/"