php-src/ext/sockets/multicast.h
Gustavo Lopes bf19838c87 Do not disable RFC3678 multicast API on Windows
The API is supported since Windows Vista and requires targeting Vista
when compiling PHP. Pierre had asked to disable this by default, even
when targeting Vista/Windows Server 2008.

Since XP will not be supported anymore on php-next, any rationale
for this option will not apply anymore.
2012-09-20 23:36:20 +02:00

91 lines
2.8 KiB
C

/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Gustavo Lopes <cataphract@php.net> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#if defined(MCAST_JOIN_GROUP) && !defined(__APPLE__)
#define RFC3678_API 1
/* has block/unblock and source membership, in this case for both IPv4 and IPv6 */
#define HAS_MCAST_EXT 1
#elif defined(IP_ADD_SOURCE_MEMBERSHIP) && !defined(__APPLE__)
/* has block/unblock and source membership, but only for IPv4 */
#define HAS_MCAST_EXT 1
#endif
int php_if_index_to_addr4(
unsigned if_index,
php_socket *php_sock,
struct in_addr *out_addr TSRMLS_DC);
int php_add4_to_if_index(
struct in_addr *addr,
php_socket *php_sock,
unsigned *if_index TSRMLS_DC);
int php_mcast_join(
php_socket *sock,
int level,
struct sockaddr *group,
socklen_t group_len,
unsigned int if_index TSRMLS_DC);
int php_mcast_leave(
php_socket *sock,
int level,
struct sockaddr *group,
socklen_t group_len,
unsigned int if_index TSRMLS_DC);
#ifdef HAS_MCAST_EXT
int php_mcast_join_source(
php_socket *sock,
int level,
struct sockaddr *group,
socklen_t group_len,
struct sockaddr *source,
socklen_t source_len,
unsigned int if_index TSRMLS_DC);
int php_mcast_leave_source(
php_socket *sock,
int level,
struct sockaddr *group,
socklen_t group_len,
struct sockaddr *source,
socklen_t source_len,
unsigned int if_index TSRMLS_DC);
int php_mcast_block_source(
php_socket *sock,
int level,
struct sockaddr *group,
socklen_t group_len,
struct sockaddr *source,
socklen_t source_len,
unsigned int if_index TSRMLS_DC);
int php_mcast_unblock_source(
php_socket *sock,
int level,
struct sockaddr *group,
socklen_t group_len,
struct sockaddr *source,
socklen_t source_len,
unsigned int if_index TSRMLS_DC);
#endif