Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

socket_set_option(3) [php man page]

SOCKET_SET_OPTION(3)							 1						      SOCKET_SET_OPTION(3)

socket_set_option - Sets socket options for the socket

SYNOPSIS
bool socket_set_option (resource $socket, int $level, int $optname, mixed $optval) DESCRIPTION
The socket_set_option(3) function sets the option specified by the $optname parameter, at the specified protocol $level, to the value pointed to by the $optval parameter for the $socket. PARAMETERS
o $socket - A valid socket resource created with socket_create(3) or socket_accept(3). o $level - The $level parameter specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a $level parameter of SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname(3) function. o $optname - The available socket options are the same as those for the socket_get_option(3) function. o $optval - The option value. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 socket_set_option(3) example <?php $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (!is_resource($socket)) { echo 'Unable to create socket: '. socket_strerror(socket_last_error()) . PHP_EOL; } if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) { echo 'Unable to set option on socket: '. socket_strerror(socket_last_error()) . PHP_EOL; } if (!socket_bind($socket, '127.0.0.1', 1223)) { echo 'Unable to bind socket: '. socket_strerror(socket_last_error()) . PHP_EOL; } $rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR); if ($rval === false) { echo 'Unable to get socket option: '. socket_strerror(socket_last_error()) . PHP_EOL; } else if ($rval !== 0) { echo 'SO_REUSEADDR is set on socket !' . PHP_EOL; } ?> PHP Documentation Group SOCKET_SET_OPTION(3)

Check Out this Related Man Page

getsockopt(2)							System Calls Manual						     getsockopt(2)

Name
       getsockopt, setsockopt - get or set options on sockets

Syntax
       #include <sys/types.h>
       #include <sys/socket.h>
       getsockopt(s, level, optname, optval, optlen)
       int s, level, optname;
       char *optval;
       int *optlen;

       setsockopt(s, level, optname, optval, optlen)
       int s, level, optname;
       char *optval;
       int optlen;

Description
       The  and  system calls manipulate options associated with a socket.  Options can exist at multiple protocol levels; they are always present
       at the uppermost socket level.

       When manipulating socket options, the level at which the option resides and the name of	the  option  must  be  specified.   To	manipulate
       options at the socket level, level is specified as SOL_SOCKET.  To manipulate options at any other level, the protocol number of the appro-
       priate protocol controlling the option must be supplied.  For example, to indicate an option is to be  interpreted  by  the  TCP  protocol,
       level should be set to the protocol number of TCP.  For further information, see

       The  parameters	optval	and  optlen  are used to access option values for For they identify a buffer in which the values for the requested
       options are to be returned.  For optlen is a value-result parameter, initially containing the size of the buffer pointed to by  optval  and
       modified on return to indicate the actual size of the value returned.  If no option value is to be supplied or returned, optval can be sup-
       plied as 0.

       The optname parameter and any specified options are passed uninterpreted to  the  appropriate  protocol	module	for  interpretation.   The
       include	file  <sys/socket.h> contains definitions for socket level options.  For further information, see Options at other protocol levels
       vary in format and name.  Consult the or reference pages for details.

Return Values
       A zero is returned if the call succeeds, and -1 is returned if it fails.

Diagnostics
       The call fails under the following conditions:

       [EBADF]	      The argument s is not a valid descriptor.

       [ENOTSOCK]     The argument s is a file, not a socket.

       [ENOPROTOOPT]  The option is unknown.

       [EFAULT]       The address pointed to by optval is not in a valid part of the process address space.  For this error can also  be  returned
		      if optlen is not in a valid part of the process address space.

See Also
       fcntl(2), socket(2), getprotoent(3n), Guide to the Data Link Interface

																     getsockopt(2)
Man Page