php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
network.c File Reference
#include "php.h"
#include <stddef.h>
#include <errno.h>
#include <sys/param.h>
#include <sys/types.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <netdb.h>
#include "php_network.h"
#include "ext/standard/file.h"

Go to the source code of this file.

Macros

#define SOCK_ERR   -1
 
#define SOCK_CONN_ERR   -1
 
#define PHP_TIMEOUT_ERROR_VALUE   ETIMEDOUT
 
#define O_NONBLOCK   O_NDELAY
 
#define SET_SOCKET_BLOCKING_MODE(sock, save)
 
#define RESTORE_SOCKET_BLOCKING_MODE(sock, save)
 

Typedefs

typedef int php_non_blocking_flags_t
 

Functions

PHPAPI void php_network_freeaddresses (struct sockaddr **sal)
 
PHPAPI int php_network_getaddresses (const char *host, int socktype, struct sockaddr ***sal, zend_string **error_string)
 
PHPAPI int php_network_connect_socket (php_socket_t sockfd, const struct sockaddr *addr, socklen_t addrlen, int asynchronous, struct timeval *timeout, zend_string **error_string, int *error_code)
 
php_socket_t php_network_bind_socket_to_local_addr (const char *host, unsigned port, int socktype, long sockopts, zend_string **error_string, int *error_code)
 
PHPAPI zend_result php_network_parse_network_address_with_port (const char *addr, size_t addrlen, struct sockaddr *sa, socklen_t *sl)
 
PHPAPI void php_network_populate_name_from_sockaddr (struct sockaddr *sa, socklen_t sl, zend_string **textaddr, struct sockaddr **addr, socklen_t *addrlen)
 
PHPAPI int php_network_get_peer_name (php_socket_t sock, zend_string **textaddr, struct sockaddr **addr, socklen_t *addrlen)
 
PHPAPI int php_network_get_sock_name (php_socket_t sock, zend_string **textaddr, struct sockaddr **addr, socklen_t *addrlen)
 
PHPAPI php_socket_t php_network_accept_incoming (php_socket_t srvsock, zend_string **textaddr, struct sockaddr **addr, socklen_t *addrlen, struct timeval *timeout, zend_string **error_string, int *error_code, int tcp_nodelay)
 
php_socket_t php_network_connect_socket_to_host (const char *host, unsigned short port, int socktype, int asynchronous, struct timeval *timeout, zend_string **error_string, int *error_code, const char *bindto, unsigned short bindport, long sockopts)
 
PHPAPI void php_any_addr (int family, php_sockaddr_storage *addr, unsigned short port)
 
PHPAPI socklen_t php_sockaddr_size (php_sockaddr_storage *addr)
 
PHPAPI char * php_socket_strerror (long err, char *buf, size_t bufsize)
 
PHPAPI zend_stringphp_socket_error_str (long err)
 
PHPAPI php_stream_php_stream_sock_open_from_socket (php_socket_t socket, const char *persistent_id STREAMS_DC)
 
PHPAPI php_stream_php_stream_sock_open_host (const char *host, unsigned short port, int socktype, struct timeval *timeout, const char *persistent_id STREAMS_DC)
 
PHPAPI zend_result php_set_sock_blocking (php_socket_t socketd, bool block)
 
PHPAPI void _php_emit_fd_setsize_warning (int max_fd)
 
PHPAPI int php_poll2 (php_pollfd *ufds, unsigned int nfds, int timeout)
 
PHPAPI struct hostent * php_network_gethostbyname (const char *name)
 

Macro Definition Documentation

◆ O_NONBLOCK

#define O_NONBLOCK   O_NDELAY

Definition at line 282 of file network.c.

◆ PHP_TIMEOUT_ERROR_VALUE

#define PHP_TIMEOUT_ERROR_VALUE   ETIMEDOUT

Definition at line 87 of file network.c.

◆ RESTORE_SOCKET_BLOCKING_MODE

#define RESTORE_SOCKET_BLOCKING_MODE ( sock,
save )
Value:
fcntl(sock, F_SETFL, save)

Definition at line 296 of file network.c.

◆ SET_SOCKET_BLOCKING_MODE

#define SET_SOCKET_BLOCKING_MODE ( sock,
save )
Value:
save = fcntl(sock, F_GETFL, 0); \
fcntl(sock, F_SETFL, save | O_NONBLOCK)
#define O_NONBLOCK
Definition network.c:282

Definition at line 293 of file network.c.

◆ SOCK_CONN_ERR

#define SOCK_CONN_ERR   -1

Definition at line 86 of file network.c.

◆ SOCK_ERR

#define SOCK_ERR   -1

Definition at line 85 of file network.c.

Typedef Documentation

◆ php_non_blocking_flags_t

Definition at line 292 of file network.c.

Function Documentation

◆ _php_emit_fd_setsize_warning()

PHPAPI void _php_emit_fd_setsize_warning ( int max_fd)

Definition at line 1178 of file network.c.

◆ _php_stream_sock_open_from_socket()

PHPAPI php_stream * _php_stream_sock_open_from_socket ( php_socket_t socket,
const char *persistent_id STREAMS_DC )

Definition at line 1104 of file network.c.

◆ _php_stream_sock_open_host()

PHPAPI php_stream * _php_stream_sock_open_host ( const char * host,
unsigned short port,
int socktype,
struct timeval * timeout,
const char *persistent_id STREAMS_DC )

Definition at line 1128 of file network.c.

◆ php_any_addr()

PHPAPI void php_any_addr ( int family,
php_sockaddr_storage * addr,
unsigned short port )

Definition at line 993 of file network.c.

◆ php_network_accept_incoming()

PHPAPI php_socket_t php_network_accept_incoming ( php_socket_t srvsock,
zend_string ** textaddr,
struct sockaddr ** addr,
socklen_t * addrlen,
struct timeval * timeout,
zend_string ** error_string,
int * error_code,
int tcp_nodelay )

Definition at line 757 of file network.c.

◆ php_network_bind_socket_to_local_addr()

php_socket_t php_network_bind_socket_to_local_addr ( const char * host,
unsigned port,
int socktype,
long sockopts,
zend_string ** error_string,
int * error_code )

Definition at line 454 of file network.c.

◆ php_network_connect_socket()

PHPAPI int php_network_connect_socket ( php_socket_t sockfd,
const struct sockaddr * addr,
socklen_t addrlen,
int asynchronous,
struct timeval * timeout,
zend_string ** error_string,
int * error_code )

Definition at line 334 of file network.c.

◆ php_network_connect_socket_to_host()

php_socket_t php_network_connect_socket_to_host ( const char * host,
unsigned short port,
int socktype,
int asynchronous,
struct timeval * timeout,
zend_string ** error_string,
int * error_code,
const char * bindto,
unsigned short bindport,
long sockopts )

Definition at line 816 of file network.c.

◆ php_network_freeaddresses()

PHPAPI void php_network_freeaddresses ( struct sockaddr ** sal)

Definition at line 133 of file network.c.

◆ php_network_get_peer_name()

PHPAPI int php_network_get_peer_name ( php_socket_t sock,
zend_string ** textaddr,
struct sockaddr ** addr,
socklen_t * addrlen )

Definition at line 706 of file network.c.

◆ php_network_get_sock_name()

PHPAPI int php_network_get_sock_name ( php_socket_t sock,
zend_string ** textaddr,
struct sockaddr ** addr,
socklen_t * addrlen )

Definition at line 726 of file network.c.

◆ php_network_getaddresses()

PHPAPI int php_network_getaddresses ( const char * host,
int socktype,
struct sockaddr *** sal,
zend_string ** error_string )

Definition at line 148 of file network.c.

◆ php_network_gethostbyname()

PHPAPI struct hostent * php_network_gethostbyname ( const char * name)

Definition at line 1350 of file network.c.

◆ php_network_parse_network_address_with_port()

PHPAPI zend_result php_network_parse_network_address_with_port ( const char * addr,
size_t addrlen,
struct sockaddr * sa,
socklen_t * sl )

Definition at line 552 of file network.c.

◆ php_network_populate_name_from_sockaddr()

PHPAPI void php_network_populate_name_from_sockaddr ( struct sockaddr * sa,
socklen_t sl,
zend_string ** textaddr,
struct sockaddr ** addr,
socklen_t * addrlen )

Definition at line 643 of file network.c.

◆ php_poll2()

PHPAPI int php_poll2 ( php_pollfd * ufds,
unsigned int nfds,
int timeout )

Definition at line 1206 of file network.c.

◆ php_set_sock_blocking()

PHPAPI zend_result php_set_sock_blocking ( php_socket_t socketd,
bool block )

Definition at line 1145 of file network.c.

◆ php_sockaddr_size()

PHPAPI socklen_t php_sockaddr_size ( php_sockaddr_storage * addr)

Definition at line 1020 of file network.c.

◆ php_socket_error_str()

PHPAPI zend_string * php_socket_error_str ( long err)

Definition at line 1079 of file network.c.

◆ php_socket_strerror()

PHPAPI char * php_socket_strerror ( long err,
char * buf,
size_t bufsize )

Definition at line 1045 of file network.c.