Return to multicast.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / sockets |
1.1 ! misho 1: /* ! 2: +----------------------------------------------------------------------+ ! 3: | PHP Version 5 | ! 4: +----------------------------------------------------------------------+ ! 5: | Copyright (c) 1997-2012 The PHP Group | ! 6: +----------------------------------------------------------------------+ ! 7: | This source file is subject to version 3.01 of the PHP license, | ! 8: | that is bundled with this package in the file LICENSE, and is | ! 9: | available through the world-wide-web at the following url: | ! 10: | http://www.php.net/license/3_01.txt | ! 11: | If you did not receive a copy of the PHP license and are unable to | ! 12: | obtain it through the world-wide-web, please send a note to | ! 13: | license@php.net so we can mail you a copy immediately. | ! 14: +----------------------------------------------------------------------+ ! 15: | Authors: Gustavo Lopes <cataphract@php.net> | ! 16: +----------------------------------------------------------------------+ ! 17: */ ! 18: ! 19: /* $Id$ */ ! 20: ! 21: #if defined(MCAST_JOIN_GROUP) && \ ! 22: (!defined(PHP_WIN32) || (_WIN32_WINNT >= 0x600 && SOCKETS_ENABLE_VISTA_API)) ! 23: #define RFC3678_API 1 ! 24: /* has block/unblock and source membership, in this case for both IPv4 and IPv6 */ ! 25: #define HAS_MCAST_EXT 1 ! 26: #elif defined(IP_ADD_SOURCE_MEMBERSHIP) ! 27: /* has block/unblock and source membership, but only for IPv4 */ ! 28: #define HAS_MCAST_EXT 1 ! 29: #endif ! 30: ! 31: int php_if_index_to_addr4( ! 32: unsigned if_index, ! 33: php_socket *php_sock, ! 34: struct in_addr *out_addr TSRMLS_DC); ! 35: ! 36: int php_add4_to_if_index( ! 37: struct in_addr *addr, ! 38: php_socket *php_sock, ! 39: unsigned *if_index TSRMLS_DC); ! 40: ! 41: int php_mcast_join( ! 42: php_socket *sock, ! 43: int level, ! 44: struct sockaddr *group, ! 45: socklen_t group_len, ! 46: unsigned int if_index TSRMLS_DC); ! 47: ! 48: int php_mcast_leave( ! 49: php_socket *sock, ! 50: int level, ! 51: struct sockaddr *group, ! 52: socklen_t group_len, ! 53: unsigned int if_index TSRMLS_DC); ! 54: ! 55: #ifdef HAS_MCAST_EXT ! 56: int php_mcast_join_source( ! 57: php_socket *sock, ! 58: int level, ! 59: struct sockaddr *group, ! 60: socklen_t group_len, ! 61: struct sockaddr *source, ! 62: socklen_t source_len, ! 63: unsigned int if_index TSRMLS_DC); ! 64: ! 65: int php_mcast_leave_source( ! 66: php_socket *sock, ! 67: int level, ! 68: struct sockaddr *group, ! 69: socklen_t group_len, ! 70: struct sockaddr *source, ! 71: socklen_t source_len, ! 72: unsigned int if_index TSRMLS_DC); ! 73: ! 74: int php_mcast_block_source( ! 75: php_socket *sock, ! 76: int level, ! 77: struct sockaddr *group, ! 78: socklen_t group_len, ! 79: struct sockaddr *source, ! 80: socklen_t source_len, ! 81: unsigned int if_index TSRMLS_DC); ! 82: ! 83: int php_mcast_unblock_source( ! 84: php_socket *sock, ! 85: int level, ! 86: struct sockaddr *group, ! 87: socklen_t group_len, ! 88: struct sockaddr *source, ! 89: socklen_t source_len, ! 90: unsigned int if_index TSRMLS_DC); ! 91: #endif