summaryrefslogtreecommitdiff
path: root/ext/sockets/multicast.c
diff options
context:
space:
mode:
authorGustavo André dos Santos Lopes <cataphract@php.net>2011-06-11 20:20:50 +0000
committerGustavo André dos Santos Lopes <cataphract@php.net>2011-06-11 20:20:50 +0000
commitbc9c089f3a4c0034e613fc57c1c429d877dde157 (patch)
tree404ff0ccbcd6e1fe5429db2e56130c97ac6b813d /ext/sockets/multicast.c
parente2a48862f7f36b3db420a42b0a4b09f5c7f3815d (diff)
downloadphp-git-bc9c089f3a4c0034e613fc57c1c429d877dde157.tar.gz
- Fixed ext/sockets build on Mac OS X (hopefully).
- Improvements in the multicast tests. - Very light refactoring in sockets.c.
Diffstat (limited to 'ext/sockets/multicast.c')
-rw-r--r--ext/sockets/multicast.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/ext/sockets/multicast.c b/ext/sockets/multicast.c
index 9a1ecd5371..49e9c5cf73 100644
--- a/ext/sockets/multicast.c
+++ b/ext/sockets/multicast.c
@@ -53,11 +53,6 @@
#include "multicast.h"
#include "main/php_network.h"
-#if defined(MCAST_JOIN_GROUP) && 1 &&\
- (!defined(PHP_WIN32) || (_WIN32_WINNT >= 0x600 && SOCKETS_ENABLE_VISTA_API))
-#define RFC3678_API 1
-#endif
-
enum source_op {
JOIN_SOURCE,
@@ -67,10 +62,13 @@ enum source_op {
};
static int _php_mcast_join_leave(php_socket *sock, int level, struct sockaddr *group, socklen_t group_len, unsigned int if_index, int join TSRMLS_DC);
+#ifdef HAS_MCAST_EXT
static int _php_mcast_source_op(php_socket *sock, int level, struct sockaddr *group, socklen_t group_len, struct sockaddr *source, socklen_t source_len, unsigned int if_index, enum source_op sop TSRMLS_DC);
-#if RFC3678_API
+#endif
+
+#ifdef RFC3678_API
static int _php_source_op_to_rfc3678_op(enum source_op sop);
-#else
+#elif HAS_MCAST_EXT
static const char *_php_source_op_to_string(enum source_op sop);
static int _php_source_op_to_ipv4_op(enum source_op sop);
#endif
@@ -95,6 +93,7 @@ int php_mcast_leave(
return _php_mcast_join_leave(sock, level, group, group_len, if_index, 0 TSRMLS_CC);
}
+#ifdef HAS_MCAST_EXT
int php_mcast_join_source(
php_socket *sock,
int level,
@@ -142,6 +141,8 @@ int php_mcast_unblock_source(
{
return _php_mcast_source_op(sock, level, group, group_len, source, source_len, if_index, UNBLOCK_SOURCE TSRMLS_CC);
}
+#endif /* HAS_MCAST_EXT */
+
static int _php_mcast_join_leave(
php_socket *sock,
@@ -204,6 +205,7 @@ static int _php_mcast_join_leave(
#endif
}
+#ifdef HAS_MCAST_EXT
static int _php_mcast_source_op(
php_socket *sock,
int level,
@@ -318,6 +320,8 @@ static int _php_source_op_to_ipv4_op(enum source_op sop)
}
#endif
+#endif /* HAS_MCAST_EXT */
+
#if PHP_WIN32
int php_if_index_to_addr4(unsigned if_index, php_socket *php_sock, struct in_addr *out_addr TSRMLS_DC)
{