From 6e1878b0fcfc55ea91b0559e27e35c37e53e9a64 Mon Sep 17 00:00:00 2001 From: Stig Venaas Date: Sun, 6 Jan 2002 11:54:19 +0000 Subject: [PATCH] Added some consts for arguments in network.c declarations. Moved php_sockaddr_storage to php_network.h and added check for struct sockaddr_storage --- configure.in | 9 +++++++++ ext/sockets/php_sockets.h | 5 ----- ext/sockets/sockets.c | 1 + main/network.c | 4 ++-- main/php_network.h | 12 ++++++++++-- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/configure.in b/configure.in index 7104d0dd57..9bb88cf2dc 100644 --- a/configure.in +++ b/configure.in @@ -352,6 +352,15 @@ dnl Checks for types AC_TYPE_SIZE_T AC_TYPE_UID_T +dnl Check for struct sockaddr_storage +AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_sockaddr_storage, +[AC_TRY_COMPILE([ #include +#include ], [struct sockaddr_storage s; s], + ac_cv_sockaddr_storage=yes, ac_cv_sockaddr_storage=no)]) +if test "$ac_cv_sockaddr_storage" = yes; then + AC_DEFINE(HAVE_SOCKADDR_STORAGE,1,[Whether you have struct sockaddr_storage]) +fi + dnl Check for IPv6 support AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support, [AC_TRY_COMPILE([ #include diff --git a/ext/sockets/php_sockets.h b/ext/sockets/php_sockets.h index 4b1cf7de04..df8a6785cb 100644 --- a/ext/sockets/php_sockets.h +++ b/ext/sockets/php_sockets.h @@ -102,11 +102,6 @@ typedef struct { SOCKET max_fd; } php_fd_set; -typedef struct { - long family; - char info[256]; -} php_sockaddr_storage; - typedef struct { zend_bool use_system_read; } php_sockets_globals; diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 71263d16ed..11dd0fb59d 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -26,6 +26,7 @@ #endif #include "php.h" +#include "php_network.h" #if HAVE_SOCKETS diff --git a/main/network.c b/main/network.c index 597bcb6901..5b23a09313 100644 --- a/main/network.c +++ b/main/network.c @@ -204,7 +204,7 @@ static int php_network_getaddresses(const char *host, struct sockaddr ***sal) /* {{{ php_connect_nonb */ PHPAPI int php_connect_nonb(int sockfd, - struct sockaddr *addr, + const struct sockaddr *addr, socklen_t addrlen, struct timeval *timeout) { @@ -284,7 +284,7 @@ ok: * port, returns the created socket on success, else returns -1. * timeout gives timeout in seconds, 0 means blocking mode. */ -int php_hostconnect(char *host, unsigned short port, int socktype, int timeout) +int php_hostconnect(const char *host, unsigned short port, int socktype, int timeout) { int s; struct sockaddr **sal, **psal; diff --git a/main/php_network.h b/main/php_network.h index d244160335..d95b72dd47 100644 --- a/main/php_network.h +++ b/main/php_network.h @@ -41,10 +41,18 @@ #include #endif +#ifdef HAVE_SOCKADDR_STORAGE +typedef struct sockaddr_storage php_sockaddr_storage; +#else +typedef struct { + unsigned short ss_family; + char info[256]; +} php_sockaddr_storage; +#endif -int php_hostconnect(char *host, unsigned short port, int socktype, int timeout); -PHPAPI int php_connect_nonb(int sockfd, struct sockaddr *addr, socklen_t addrlen, struct timeval *timeout); +int php_hostconnect(const char *host, unsigned short port, int socktype, int timeout); +PHPAPI int php_connect_nonb(int sockfd, const struct sockaddr *addr, socklen_t addrlen, struct timeval *timeout); #endif /* _PHP_NETWORK_H */ -- 2.40.0