Annotation of embedaddon/php/ext/sockets/multicast.h, revision 1.1.1.1
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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>