File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / sockets / multicast.h
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 20:03:55 2014 UTC (10 years, 4 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_29, HEAD
php 5.4.29

    1: /*
    2:    +----------------------------------------------------------------------+
    3:    | PHP Version 5                                                        |
    4:    +----------------------------------------------------------------------+
    5:    | Copyright (c) 1997-2014 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: multicast.h,v 1.1.1.3 2014/06/15 20:03:55 misho Exp $ */
   20: 
   21: #if defined(MCAST_JOIN_GROUP) && \
   22: 	(!defined(PHP_WIN32) || (_WIN32_WINNT >= 0x600 && SOCKETS_ENABLE_VISTA_API)) && \
   23: 	!defined(__APPLE__)
   24: #define RFC3678_API 1
   25: /* has block/unblock and source membership, in this case for both IPv4 and IPv6 */
   26: #define HAS_MCAST_EXT 1
   27: #elif defined(IP_ADD_SOURCE_MEMBERSHIP) && !defined(__APPLE__)
   28: /* has block/unblock and source membership, but only for IPv4 */
   29: #define HAS_MCAST_EXT 1
   30: #endif
   31: 
   32: int php_if_index_to_addr4(
   33:         unsigned if_index,
   34:         php_socket *php_sock,
   35:         struct in_addr *out_addr TSRMLS_DC);
   36: 
   37: int php_add4_to_if_index(
   38:         struct in_addr *addr,
   39:         php_socket *php_sock,
   40:         unsigned *if_index TSRMLS_DC);
   41: 
   42: int php_mcast_join(
   43: 	php_socket *sock,
   44: 	int level,
   45: 	struct sockaddr *group,
   46: 	socklen_t group_len,
   47: 	unsigned int if_index TSRMLS_DC);
   48: 
   49: int php_mcast_leave(
   50: 	php_socket *sock,
   51: 	int level,
   52: 	struct sockaddr *group,
   53: 	socklen_t group_len,
   54: 	unsigned int if_index TSRMLS_DC);
   55: 
   56: #ifdef HAS_MCAST_EXT
   57: int php_mcast_join_source(
   58: 	php_socket *sock,
   59: 	int level,
   60: 	struct sockaddr *group,
   61: 	socklen_t group_len,
   62: 	struct sockaddr *source,
   63: 	socklen_t source_len,
   64: 	unsigned int if_index TSRMLS_DC);
   65: 
   66: int php_mcast_leave_source(
   67: 	php_socket *sock,
   68: 	int level,
   69: 	struct sockaddr *group,
   70: 	socklen_t group_len,
   71: 	struct sockaddr *source,
   72: 	socklen_t source_len,
   73: 	unsigned int if_index TSRMLS_DC);
   74: 
   75: int php_mcast_block_source(
   76: 	php_socket *sock,
   77: 	int level,
   78: 	struct sockaddr *group,
   79: 	socklen_t group_len,
   80: 	struct sockaddr *source,
   81: 	socklen_t source_len,
   82: 	unsigned int if_index TSRMLS_DC);
   83: 
   84: int php_mcast_unblock_source(
   85: 	php_socket *sock,
   86: 	int level,
   87: 	struct sockaddr *group,
   88: 	socklen_t group_len,
   89: 	struct sockaddr *source,
   90: 	socklen_t source_len,
   91: 	unsigned int if_index TSRMLS_DC);
   92: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>