Annotation of embedaddon/php/ext/sockets/php_sockets.h, revision 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: Chris Vandomelen <chrisv@b0rked.dhs.org>                    |
        !            16:    |          Sterling Hughes  <sterling@php.net>                         |
        !            17:    |                                                                      |
        !            18:    | WinSock: Daniel Beulshausen <daniel@php4win.de>                      |
        !            19:    +----------------------------------------------------------------------+
        !            20:  */
        !            21: 
        !            22: #ifndef PHP_SOCKETS_H
        !            23: #define PHP_SOCKETS_H
        !            24: 
        !            25: /* $Id: php_sockets.h 321634 2012-01-01 13:15:04Z felipe $ */
        !            26: 
        !            27: #if HAVE_SOCKETS
        !            28: 
        !            29: extern zend_module_entry sockets_module_entry;
        !            30: #define phpext_sockets_ptr &sockets_module_entry
        !            31: 
        !            32: #ifdef PHP_WIN32
        !            33: #include <winsock.h>
        !            34: #else
        !            35: #if HAVE_SYS_SOCKET_H
        !            36: #include <sys/socket.h>
        !            37: #endif
        !            38: #endif
        !            39: 
        !            40: PHP_MINIT_FUNCTION(sockets);
        !            41: PHP_MINFO_FUNCTION(sockets);
        !            42: PHP_RSHUTDOWN_FUNCTION(sockets);
        !            43: 
        !            44: PHP_FUNCTION(socket_select);
        !            45: PHP_FUNCTION(socket_create_listen);
        !            46: #ifdef HAVE_SOCKETPAIR
        !            47: PHP_FUNCTION(socket_create_pair);
        !            48: #endif
        !            49: PHP_FUNCTION(socket_accept);
        !            50: PHP_FUNCTION(socket_set_nonblock);
        !            51: PHP_FUNCTION(socket_set_block);
        !            52: PHP_FUNCTION(socket_listen);
        !            53: PHP_FUNCTION(socket_close);
        !            54: PHP_FUNCTION(socket_write);
        !            55: PHP_FUNCTION(socket_read);
        !            56: PHP_FUNCTION(socket_getsockname);
        !            57: PHP_FUNCTION(socket_getpeername);
        !            58: PHP_FUNCTION(socket_create);
        !            59: PHP_FUNCTION(socket_connect);
        !            60: PHP_FUNCTION(socket_strerror);
        !            61: PHP_FUNCTION(socket_bind);
        !            62: PHP_FUNCTION(socket_recv);
        !            63: PHP_FUNCTION(socket_send);
        !            64: PHP_FUNCTION(socket_recvfrom);
        !            65: PHP_FUNCTION(socket_sendto);
        !            66: PHP_FUNCTION(socket_get_option);
        !            67: PHP_FUNCTION(socket_set_option);
        !            68: #ifdef HAVE_SHUTDOWN
        !            69: PHP_FUNCTION(socket_shutdown);
        !            70: #endif
        !            71: PHP_FUNCTION(socket_last_error);
        !            72: PHP_FUNCTION(socket_clear_error);
        !            73: 
        !            74: #ifndef PHP_WIN32
        !            75: typedef int PHP_SOCKET;
        !            76: # define PHP_SOCKETS_API PHPAPI
        !            77: #else
        !            78: # define PHP_SOCKETS_API __declspec(dllexport)
        !            79: typedef SOCKET PHP_SOCKET;
        !            80: #endif
        !            81: 
        !            82: typedef struct {
        !            83:        PHP_SOCKET bsd_socket;
        !            84:        int             type;
        !            85:        int             error;
        !            86:        int             blocking;
        !            87: } php_socket;
        !            88: 
        !            89: #ifdef PHP_WIN32
        !            90: struct sockaddr_un {
        !            91:        short   sun_family;
        !            92:        char    sun_path[108];
        !            93: };
        !            94: #endif
        !            95: 
        !            96: PHP_SOCKETS_API int php_sockets_le_socket(void);
        !            97: 
        !            98: #define php_sockets_le_socket_name "Socket"
        !            99: 
        !           100: /* Prototypes */
        !           101: #ifdef ilia_0 /* not needed, only causes a compiler warning */
        !           102: static int php_open_listen_sock(php_socket **php_sock, int port, int backlog TSRMLS_DC);
        !           103: static int php_accept_connect(php_socket *in_sock, php_socket **new_sock, struct sockaddr *la TSRMLS_DC);
        !           104: static int php_read(php_socket *sock, void *buf, size_t maxlen, int flags);
        !           105: static char *php_strerror(int error TSRMLS_DC);
        !           106: #endif
        !           107: 
        !           108: ZEND_BEGIN_MODULE_GLOBALS(sockets)
        !           109:        int last_error;
        !           110:        char *strerror_buf;
        !           111: ZEND_END_MODULE_GLOBALS(sockets)
        !           112: 
        !           113: #ifdef ZTS
        !           114: #define SOCKETS_G(v) TSRMG(sockets_globals_id, zend_sockets_globals *, v)
        !           115: #else
        !           116: #define SOCKETS_G(v) (sockets_globals.v)
        !           117: #endif
        !           118: 
        !           119: #else
        !           120: #define phpext_sockets_ptr NULL
        !           121: #endif
        !           122: 
        !           123: #endif
        !           124: 
        !           125: /*
        !           126:  * Local variables:
        !           127:  * tab-width: 4
        !           128:  * c-basic-offset: 4
        !           129:  * End:
        !           130:  */
        !           131: 

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