stoddard 99/09/24 11:34:41
Modified: src/lib/apr/network_io/win32 network_io.def sockets.c
Log:
Win32: Add a few network_io functions.
Revision Changes Path
1.3 +16 -14 apache-2.0/src/lib/apr/network_io/win32/network_io.def
Index: network_io.def
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/network_io/win32/network_io.def,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- network_io.def 1999/09/22 19:43:37 1.2
+++ network_io.def 1999/09/24 18:34:38 1.3
@@ -17,17 +17,19 @@
ap_send @10
ap_recv @11
ap_setsocketopt @12
- ap_setport @13
- ap_setup_poll @14
- ap_poll @15
- ap_add_poll_socket @16
- ap_get_revents @17
- ap_get_socketdata @18
- ap_set_socketdata @19
- ap_get_polldata @20
- ap_set_polldata @21
- ap_put_os_sock @22
- ap_get_os_sock @23
- ap_remove_poll_socket @24
- ap_clear_poll_sockets @25
-
+ ap_getport @13
+ ap_setport @14
+ ap_setup_poll @15
+ ap_poll @16
+ ap_add_poll_socket @17
+ ap_get_revents @18
+ ap_get_socketdata @19
+ ap_set_socketdata @20
+ ap_get_polldata @21
+ ap_set_polldata @22
+ ap_put_os_sock @23
+ ap_get_os_sock @24
+ ap_remove_poll_socket @25
+ ap_clear_poll_sockets @26
+ ap_setipaddr @27
+ ap_getipaddr @28
1.3 +22 -0 apache-2.0/src/lib/apr/network_io/win32/sockets.c
Index: sockets.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/network_io/win32/sockets.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sockets.c 1999/09/22 17:30:37 1.2
+++ sockets.c 1999/09/24 18:34:38 1.3
@@ -146,7 +146,29 @@
sock->addr->sin_port = htons((short)port);
return APR_SUCCESS;
}
+ap_status_t ap_getport(struct socket_t *sock, ap_uint32_t *port)
+{
+ *port = ntohs(sock->addr->sin_port);
+ return APR_SUCCESS;
+}
+ap_status_t ap_setipaddr(struct socket_t *sock, const char *addr)
+{
+ if (!strcmp(addr, APR_ANYADDR)) {
+ sock->addr->sin_addr.s_addr = htonl(INADDR_ANY);
+ return APR_SUCCESS;
+ }
+ sock->addr->sin_addr.s_addr = inet_addr(addr);
+
+ return APR_SUCCESS;
+}
+ap_status_t ap_getipaddr(char *addr, ap_ssize_t len,
+ const struct socket_t *sock)
+{
+ char *temp = inet_ntoa(sock->addr->sin_addr);
+ ap_cpystrn(addr,temp,len-1);
+ return APR_SUCCESS;
+}
ap_status_t ap_bind(struct socket_t *sock)
{
sock->addr->sin_addr.s_addr = INADDR_ANY;