You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by bj...@hyperreal.org on 1999/10/18 13:32:14 UTC
cvs commit: apache-2.0/src/lib/apr/network_io/os2 sockopt.c
bjh 99/10/18 04:32:14
Modified: src/lib/apr/network_io/os2 sockopt.c
Log:
OS/2: Use unix version of sockopt.c
Revision Changes Path
1.5 +1 -128 apache-2.0/src/lib/apr/network_io/os2/sockopt.c
Index: sockopt.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/network_io/os2/sockopt.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- sockopt.c 1999/10/10 20:34:56 1.4
+++ sockopt.c 1999/10/18 11:32:13 1.5
@@ -53,131 +53,4 @@
*
*/
-#include "networkio.h"
-#include "apr_network_io.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include <errno.h>
-#include <string.h>
-#include <sys/socket.h>
-#include <netinet/tcp.h>
-#include <netinet/in.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <netdb.h>
-
-int soblock(int sd)
-{
- int fd_flags;
-
- fd_flags = fcntl(sd, F_GETFL, 0);
-#if defined(O_NONBLOCK)
- fd_flags &= ~O_NONBLOCK;
-#elif defined(O_NDELAY)
- fd_flags &= ~O_NDELAY;
-#elif defined(FNDELAY)
- fd_flags &= ~O_FNDELAY;
-#else
- /* XXXX: this breaks things, but an alternative isn't obvious...*/
- return -1;
-#endif
- if (fcntl(sd, F_SETFL, fd_flags) == -1) {
- return errno;
- }
- return APR_SUCCESS;
-}
-
-ap_status_t sononblock(int sd)
-{
- int fd_flags;
-
- fd_flags = fcntl(sd, F_GETFL, 0);
-#if defined(O_NONBLOCK)
- fd_flags |= O_NONBLOCK;
-#elif defined(O_NDELAY)
- fd_flags |= O_NDELAY;
-#eli f defined(FNDELAY)
- fd_flags |= O_FNDELAY;
-#else
- /* XXXX: this breaks things, but an alternative isn't obvious...*/
- return -1;
-#endif
- if (fcntl(sd, F_SETFL, fd_flags) == -1) {
- return errno;
- }
- return APR_SUCCESS;
-}
-
-
-ap_status_t ap_setsocketopt(struct socket_t *sock, ap_int32_t opt, ap_int32_t on)
-{
- int one;
- struct linger li;
- ap_status_t stat;
-
- if (on)
- one = 1;
- else
- one = 0;
-
- if (opt & APR_SO_KEEPALIVE) {
- if (setsockopt(sock->socketdes, SOL_SOCKET, SO_KEEPALIVE, (void *)&one, sizeof(int)) == -1) {
- return errno;
- }
- }
- if (opt & APR_SO_DEBUG) {
- if (setsockopt(sock->socketdes, SOL_SOCKET, SO_DEBUG, (void *)&one, sizeof(int)) == -1) {
- return errno;
- }
- }
- if (opt & APR_SO_REUSEADDR) {
- if (setsockopt(sock->socketdes, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof(int)) == -1) {
- return errno;
- }
- }
- if (opt & APR_SO_NONBLOCK) {
- if (on) {
- if ((stat = soblock(sock->socketdes)) != APR_SUCCESS)
- return stat;
- }
- else {
- if ((stat = sononblock(sock->socketdes)) != APR_SUCCESS)
- return stat;
- }
- }
- if (opt & APR_SO_LINGER) {
- li.l_onoff = on;
- li.l_linger = MAX_SECS_TO_LINGER;
- if (setsockopt(sock->socketdes, SOL_SOCKET, SO_LINGER, (char *) &li, sizeof(struct linger)) == -1) {
- return errno;
- }
- }
- return APR_SUCCESS;
-}
-
-ap_status_t ap_gethostname(char *buf, int len, ap_context_t *cont)
-{
- if (gethostname(buf, len) == -1)
- return errno;
- else
- return APR_SUCCESS;
-}
-
-ap_status_t ap_get_remote_hostname(char **name, struct socket_t *sock)
-{
- struct hostent *hptr;
-
- hptr = gethostbyaddr((char *)&(sock->addr->sin_addr),
- sizeof(struct in_addr), AF_INET);
- if (hptr != NULL) {
- *name = ap_pstrdup(sock->cntxt, hptr->h_name);
- if (*name) {
- return APR_SUCCESS;
- }
- return APR_ENOMEM;
- }
- /* XXX - Is this threadsafe? - manoj */
- return h_errno;
-}
-
-
+#include "../unix/sockopt.c"