diff options
author | David <david@xagasoft.com> | 2009-01-21 03:51:50 +0000 |
---|---|---|
committer | David <david@xagasoft.com> | 2009-01-21 03:51:50 +0000 |
commit | b94a6a42c1024c00fab7b678cccaecfaa7604d56 (patch) | |
tree | e6beea01ee74c35bd7dcc54313ea727e02b87b48 | |
parent | e27a084118b8810b6bd442c560df46ce161a9a87 (diff) | |
download | libbu++-b94a6a42c1024c00fab7b678cccaecfaa7604d56.tar.gz libbu++-b94a6a42c1024c00fab7b678cccaecfaa7604d56.tar.bz2 libbu++-b94a6a42c1024c00fab7b678cccaecfaa7604d56.tar.xz libbu++-b94a6a42c1024c00fab7b678cccaecfaa7604d56.zip |
david - needed to actually import the shutdown function from the winsock dll..
-rw-r--r-- | src/linux_compatibility.h | 1 | ||||
-rw-r--r-- | src/socket.cpp | 2 | ||||
-rw-r--r-- | src/win32_compatibility.cpp | 5 | ||||
-rw-r--r-- | src/win32_compatibility.h | 2 |
4 files changed, 9 insertions, 1 deletions
diff --git a/src/linux_compatibility.h b/src/linux_compatibility.h index 6d3d85e..5d2df1b 100644 --- a/src/linux_compatibility.h +++ b/src/linux_compatibility.h | |||
@@ -4,6 +4,7 @@ | |||
4 | #define bu_inet_addr inet_addr | 4 | #define bu_inet_addr inet_addr |
5 | #define bu_select select | 5 | #define bu_select select |
6 | #define bu_socket socket | 6 | #define bu_socket socket |
7 | #define bu_shutdown shutdown | ||
7 | #define bu_htons htons | 8 | #define bu_htons htons |
8 | #define bu_htonl htonl | 9 | #define bu_htonl htonl |
9 | #define bu_gethostbyname gethostbyname | 10 | #define bu_gethostbyname gethostbyname |
diff --git a/src/socket.cpp b/src/socket.cpp index 8937fd1..a660b30 100644 --- a/src/socket.cpp +++ b/src/socket.cpp | |||
@@ -136,7 +136,7 @@ void Bu::Socket::close() | |||
136 | #define SHUT_RDWR (SD_BOTH) | 136 | #define SHUT_RDWR (SD_BOTH) |
137 | #endif | 137 | #endif |
138 | #endif | 138 | #endif |
139 | shutdown( nSocket, SHUT_RDWR ); | 139 | bu_shutdown( nSocket, SHUT_RDWR ); |
140 | ::close( nSocket ); | 140 | ::close( nSocket ); |
141 | } | 141 | } |
142 | bActive = false; | 142 | bActive = false; |
diff --git a/src/win32_compatibility.cpp b/src/win32_compatibility.cpp index b85e869..c052e0b 100644 --- a/src/win32_compatibility.cpp +++ b/src/win32_compatibility.cpp | |||
@@ -14,6 +14,7 @@ deffunc( inet_ntoa ); | |||
14 | deffunc( inet_addr ); | 14 | deffunc( inet_addr ); |
15 | deffunc( select ); | 15 | deffunc( select ); |
16 | deffunc( socket ); | 16 | deffunc( socket ); |
17 | deffunc( shutdown ); | ||
17 | deffunc( ioctlsocket ); | 18 | deffunc( ioctlsocket ); |
18 | deffunc( htons ); | 19 | deffunc( htons ); |
19 | deffunc( htonl ); | 20 | deffunc( htonl ); |
@@ -49,6 +50,7 @@ Bu::Winsock2::Winsock2() | |||
49 | getfunc( inet_addr ); | 50 | getfunc( inet_addr ); |
50 | getfunc( select ); | 51 | getfunc( select ); |
51 | getfunc( socket ); | 52 | getfunc( socket ); |
53 | getfunc( shutdown ); | ||
52 | getfunc( ioctlsocket ); | 54 | getfunc( ioctlsocket ); |
53 | getfunc( htons ); | 55 | getfunc( htons ); |
54 | getfunc( htonl ); | 56 | getfunc( htonl ); |
@@ -102,6 +104,9 @@ int Bu::Winsock2::select( int a, fd_set *b, fd_set *c, fd_set *d, | |||
102 | SOCKET Bu::Winsock2::socket( int domain, int type, int protocol ) { | 104 | SOCKET Bu::Winsock2::socket( int domain, int type, int protocol ) { |
103 | return (*Bu::Winsock2::_fnptr_socket)( domain, type, protocol ); | 105 | return (*Bu::Winsock2::_fnptr_socket)( domain, type, protocol ); |
104 | } | 106 | } |
107 | int Bu::Winsock2::shutdown( SOCKET s, int how ) { | ||
108 | return (*Bu::Winsock2::_fnptr_shutdown)( s, how ); | ||
109 | } | ||
105 | int Bu::Winsock2::ioctlsocket( SOCKET s, long cmd, u_long *argp ) { | 110 | int Bu::Winsock2::ioctlsocket( SOCKET s, long cmd, u_long *argp ) { |
106 | return (*Bu::Winsock2::_fnptr_ioctlsocket)( s, cmd, argp ); | 111 | return (*Bu::Winsock2::_fnptr_ioctlsocket)( s, cmd, argp ); |
107 | } | 112 | } |
diff --git a/src/win32_compatibility.h b/src/win32_compatibility.h index 36613d1..2cce888 100644 --- a/src/win32_compatibility.h +++ b/src/win32_compatibility.h | |||
@@ -63,6 +63,7 @@ namespace Bu | |||
63 | decltype( int, select, int nfds, fd_set *readfds, fd_set *writefds, | 63 | decltype( int, select, int nfds, fd_set *readfds, fd_set *writefds, |
64 | fd_set *exceptfds, const struct timeval *timeout ); | 64 | fd_set *exceptfds, const struct timeval *timeout ); |
65 | decltype( SOCKET, socket, int domain, int type, int protocol ); | 65 | decltype( SOCKET, socket, int domain, int type, int protocol ); |
66 | decltype( int, shutdown, SOCKET s, int how ); | ||
66 | decltype( int, ioctlsocket, SOCKET s, long cmd, u_long *argp ); | 67 | decltype( int, ioctlsocket, SOCKET s, long cmd, u_long *argp ); |
67 | decltype( u_short, htons, u_short in ); | 68 | decltype( u_short, htons, u_short in ); |
68 | decltype( u_long, htonl, u_long in ); | 69 | decltype( u_long, htonl, u_long in ); |
@@ -101,6 +102,7 @@ namespace Bu | |||
101 | #define bu_inet_addr (*Bu::Winsock2::inet_addr) | 102 | #define bu_inet_addr (*Bu::Winsock2::inet_addr) |
102 | #define bu_select (*Bu::Winsock2::select) | 103 | #define bu_select (*Bu::Winsock2::select) |
103 | #define bu_socket (*Bu::Winsock2::socket) | 104 | #define bu_socket (*Bu::Winsock2::socket) |
105 | #define bu_shutdown (*Bu::Winsock2::shutdown) | ||
104 | #define bu_ioctlsocket (*Bu::Winsock2::ioctlsocket) | 106 | #define bu_ioctlsocket (*Bu::Winsock2::ioctlsocket) |
105 | #define bu_htons (*Bu::Winsock2::htons) | 107 | #define bu_htons (*Bu::Winsock2::htons) |
106 | #define bu_htonl (*Bu::Winsock2::htonl) | 108 | #define bu_htonl (*Bu::Winsock2::htonl) |