summaryrefslogtreecommitdiff
path: root/network_io
diff options
context:
space:
mode:
authorwrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68>2000-10-06 17:24:41 +0000
committerwrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68>2000-10-06 17:24:41 +0000
commit6378a281a5e8c002a97bde6208e879e8c921c747 (patch)
tree1bb6f5080b75482c802151d16e1f580d47313e14 /network_io
parent6e116dc381a124f517ac0316bd2d5939434cf271 (diff)
downloadlibapr-6378a281a5e8c002a97bde6208e879e8c921c747.tar.gz
Here it is, the Win32 part of the big canonical errors patch.
The reason is really, really simple. If we ever choose to mix clib and dos error codes, they criss-cross and don't line up, but they share the same number space. As I wrote the new APR_IS_ERROR macros, I realized we were about to shoot ourselves in the foot. These changes nearly entirely affect Win32 only. The next big patch will affect all of the rv == APR_ENOENT type problems throughout the system. PR: Obtained from: Submitted by: Reviewed by: git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@60553 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'network_io')
-rw-r--r--network_io/win32/poll.c2
-rw-r--r--network_io/win32/sendrecv.c12
-rw-r--r--network_io/win32/sockaddr.c2
-rw-r--r--network_io/win32/sockets.c22
-rw-r--r--network_io/win32/sockopt.c18
5 files changed, 28 insertions, 28 deletions
diff --git a/network_io/win32/poll.c b/network_io/win32/poll.c
index 9558f4746..87b7d786e 100644
--- a/network_io/win32/poll.c
+++ b/network_io/win32/poll.c
@@ -135,7 +135,7 @@ apr_status_t apr_poll(apr_pollfd_t *aprset, apr_int32_t *nsds,
(*nsds) = rv;
if ((*nsds) < 0) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
return APR_SUCCESS;
}
diff --git a/network_io/win32/sendrecv.c b/network_io/win32/sendrecv.c
index ed6b9a136..b2380e501 100644
--- a/network_io/win32/sendrecv.c
+++ b/network_io/win32/sendrecv.c
@@ -82,7 +82,7 @@ apr_status_t apr_send(apr_socket_t *sock, const char *buf, apr_ssize_t *len)
rv = WSASend(sock->sock, &wsaData, 1, &dwBytes, 0, NULL, NULL);
if (rv == SOCKET_ERROR) {
- lasterror = WSAGetLastError();
+ lasterror = apr_get_netos_error();
return lasterror;
}
@@ -104,7 +104,7 @@ apr_status_t apr_recv(apr_socket_t *sock, char *buf, apr_ssize_t *len)
rv = WSARecv(sock->sock, &wsaData, 1, &dwBytes, &flags, NULL, NULL);
if (rv == SOCKET_ERROR) {
- lasterror = WSAGetLastError();
+ lasterror = apr_get_netos_error();
*len = 0;
return lasterror;
}
@@ -134,7 +134,7 @@ apr_status_t apr_sendv(apr_socket_t *sock, const struct iovec *vec,
rv = WSASend(sock->sock, pWsaData, nvec, &dwBytes, 0, NULL, NULL);
if (rv == SOCKET_ERROR) {
- lasterror = WSAGetLastError();
+ lasterror = apr_get_netos_error();
free(pWsaData);
return lasterror;
}
@@ -270,8 +270,8 @@ apr_status_t apr_sendfile(apr_socket_t * sock, apr_file_t * file,
ptfb, /* header and trailer buffers */
dwFlags); /* flags to control various aspects of TransmitFile */
if (!rv) {
- status = WSAGetLastError();
- if (status == ERROR_IO_PENDING) {
+ status = apr_get_netos_error();
+ if (status == APR_FROM_OS_ERROR(ERROR_IO_PENDING)) {
#ifdef WAIT_FOR_EVENT
rv = WaitForSingleObject(overlapped.hEvent,
sock->timeout >= 0 ? sock->timeout : INFINITE);
@@ -286,7 +286,7 @@ apr_status_t apr_sendfile(apr_socket_t * sock, apr_file_t * file,
else if (rv == WAIT_ABANDONED)
status = WAIT_ABANDONED;
else
- status = GetLastError();
+ status = apr_get_os_error();
}
}
if (status != APR_SUCCESS)
diff --git a/network_io/win32/sockaddr.c b/network_io/win32/sockaddr.c
index a80c8f5ea..e72140ffc 100644
--- a/network_io/win32/sockaddr.c
+++ b/network_io/win32/sockaddr.c
@@ -64,7 +64,7 @@ static apr_status_t get_local_addr(apr_socket_t *sock)
if (getsockname(sock->sock, (struct sockaddr *)sock->local_addr,
&namelen) < 0) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
else {
sock->local_port_unknown = sock->local_interface_unknown = 0;
diff --git a/network_io/win32/sockets.c b/network_io/win32/sockets.c
index 1db683666..e0d62d33a 100644
--- a/network_io/win32/sockets.c
+++ b/network_io/win32/sockets.c
@@ -66,7 +66,7 @@ static apr_status_t socket_cleanup(void *sock)
if (thesocket->sock != INVALID_SOCKET) {
if (closesocket(thesocket->sock) == SOCKET_ERROR) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
thesocket->sock = INVALID_SOCKET;
}
@@ -94,7 +94,7 @@ apr_status_t apr_create_tcp_socket(apr_socket_t **new, apr_pool_t *cont)
*/
(*new)->sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if ((*new)->sock == INVALID_SOCKET) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
(*new)->local_addr->sin_family = AF_INET;
@@ -135,7 +135,7 @@ apr_status_t apr_shutdown(apr_socket_t *thesocket, apr_shutdown_how_e how)
return APR_SUCCESS;
}
else {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
}
@@ -148,7 +148,7 @@ apr_status_t apr_close_socket(apr_socket_t *thesocket)
apr_status_t apr_bind(apr_socket_t *sock)
{
if (bind(sock->sock, (struct sockaddr *)sock->local_addr, sock->addr_len) == -1) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
else {
if (sock->local_addr->sin_port == 0) {
@@ -161,7 +161,7 @@ apr_status_t apr_bind(apr_socket_t *sock)
apr_status_t apr_listen(apr_socket_t *sock, apr_int32_t backlog)
{
if (listen(sock->sock, backlog) == SOCKET_ERROR)
- return WSAGetLastError();
+ return apr_get_netos_error();
else
return APR_SUCCESS;
}
@@ -186,7 +186,7 @@ apr_status_t apr_accept(apr_socket_t **new, apr_socket_t *sock, apr_pool_t *conn
&(*new)->addr_len);
if ((*new)->sock == INVALID_SOCKET) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
*(*new)->local_addr = *sock->local_addr;
@@ -215,7 +215,7 @@ apr_status_t apr_accept(apr_socket_t **new, apr_socket_t *sock, apr_pool_t *conn
apr_status_t apr_connect(apr_socket_t *sock, char *hostname)
{
struct hostent *hp;
- int lasterror;
+ apr_status_t lasterror;
fd_set temp;
if ((sock->sock == INVALID_SOCKET) || (!sock->local_addr)) {
@@ -230,7 +230,7 @@ apr_status_t apr_connect(apr_socket_t *sock, char *hostname)
else {
hp = gethostbyname(hostname);
if (!hp) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
memcpy((char *)&sock->remote_addr->sin_addr, hp->h_addr_list[0], hp->h_length);
sock->addr_len = sizeof(*sock->remote_addr);
@@ -241,15 +241,15 @@ apr_status_t apr_connect(apr_socket_t *sock, char *hostname)
if (connect(sock->sock, (const struct sockaddr *)sock->remote_addr,
sock->addr_len) == SOCKET_ERROR) {
- lasterror = WSAGetLastError();
- if (lasterror != WSAEWOULDBLOCK) {
+ lasterror = apr_get_netos_error();
+ if (lasterror != APR_FROM_OS_ERROR(WSAEWOULDBLOCK)) {
return lasterror;
}
/* wait for the connect to complete */
FD_ZERO(&temp);
FD_SET(sock->sock, &temp);
if (select(sock->sock+1, NULL, &temp, NULL, NULL) == SOCKET_ERROR) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
}
/* connect was OK .. amazing */
diff --git a/network_io/win32/sockopt.c b/network_io/win32/sockopt.c
index 811dc6e76..e40034296 100644
--- a/network_io/win32/sockopt.c
+++ b/network_io/win32/sockopt.c
@@ -63,7 +63,7 @@ apr_status_t soblock(SOCKET sd)
int zero = 0;
if (ioctlsocket(sd, FIONBIO, &zero) == SOCKET_ERROR) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
return APR_SUCCESS;
}
@@ -73,7 +73,7 @@ apr_status_t sononblock(SOCKET sd)
int one = 1;
if (ioctlsocket(sd, FIONBIO, &one) == SOCKET_ERROR) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
return APR_SUCCESS;
}
@@ -124,17 +124,17 @@ apr_status_t apr_setsocketopt(apr_socket_t *sock, apr_int32_t opt, apr_int32_t o
}
case APR_SO_KEEPALIVE:
if (setsockopt(sock->sock, SOL_SOCKET, SO_KEEPALIVE, (void *)&one, sizeof(int)) == -1) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
break;
case APR_SO_DEBUG:
if (setsockopt(sock->sock, SOL_SOCKET, SO_DEBUG, (void *)&one, sizeof(int)) == -1) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
break;
case APR_SO_REUSEADDR:
if (setsockopt(sock->sock, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof(int)) == -1) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
break;
case APR_SO_NONBLOCK:
@@ -153,13 +153,13 @@ apr_status_t apr_setsocketopt(apr_socket_t *sock, apr_int32_t opt, apr_int32_t o
li.l_onoff = on;
li.l_linger = MAX_SECS_TO_LINGER;
if (setsockopt(sock->sock, SOL_SOCKET, SO_LINGER, (char *) &li, sizeof(struct linger)) == -1) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
break;
}
case APR_TCP_NODELAY:
if (setsockopt(sock->sock, IPPROTO_TCP, TCP_NODELAY, (void *)&on, sizeof(int)) == -1) {
- return WSAGetLastError();
+ return apr_get_netos_error();
}
break;
default:
@@ -196,7 +196,7 @@ apr_status_t apr_getsocketopt(apr_socket_t *sock, apr_int32_t opt, apr_int32_t *
apr_status_t apr_gethostname(char *buf, int len, apr_pool_t *cont)
{
if (gethostname(buf, len) == -1)
- return WSAGetLastError();
+ return apr_get_netos_error();
else
return APR_SUCCESS;
}
@@ -216,7 +216,7 @@ apr_status_t apr_get_remote_hostname(char **name, apr_socket_t *sock)
return APR_ENOMEM;
}
- return WSAGetLastError();
+ return apr_get_netos_error();
}