GNU libmicrohttpd
0.9.59
|
#include "mhd_options.h"
#include <errno.h>
#include <stddef.h>
#include "mhd_limits.h"
#include "sysfdsetsize.h"
#include <stdio.h>
#include <stdlib.h>
Go to the source code of this file.
Typedefs | |
typedef int | MHD_socket |
typedef int | MHD_SCKT_OPT_BOOL_ |
typedef size_t | MHD_SCKT_SEND_SIZE_ |
Functions | |
int | MHD_add_to_fd_set_ (MHD_socket fd, fd_set *set, MHD_socket *max_fd, unsigned int fd_setsize) |
int | MHD_socket_nonblocking_ (MHD_socket sock) |
int | MHD_socket_noninheritable_ (MHD_socket sock) |
MHD_socket | MHD_socket_create_listen_ (int use_ipv6) |
#define _MHD_SYS_DEFAULT_FD_SETSIZE get_system_fdsetsize_value() |
Definition at line 126 of file mhd_sockets.h.
Referenced by MHD_get_fdset().
#define MAYBE_MSG_NOSIGNAL 0 |
Definition at line 168 of file mhd_sockets.h.
#define MAYBE_SOCK_CLOEXEC 0 |
Definition at line 156 of file mhd_sockets.h.
Referenced by MHD_accept_connection().
#define MAYBE_SOCK_NONBLOCK 0 |
Definition at line 162 of file mhd_sockets.h.
Referenced by MHD_accept_connection().
#define MHD_INVALID_SOCKET (-1) |
Definition at line 144 of file mhd_sockets.h.
#define MHD_PANIC | ( | msg | ) |
Definition at line 133 of file mhd_sockets.h.
#define MHD_POSIX_SOCKETS 1 |
Definition at line 41 of file mhd_sockets.h.
#define MHD_recv_ | ( | s, | |
b, | |||
l | |||
) | ((ssize_t)recv((s),(void*)(b),((MHD_SCKT_SEND_SIZE_)l), 0)) |
MHD_recv_ is wrapper for system's recv()
s | the socket to use |
b | the buffer for data to receive |
l | the length of b |
Definition at line 270 of file mhd_sockets.h.
Referenced by recv_param_adapter().
Add FD to fd_set with specified FD_SETSIZE.
fd | the fd to add |
pset | the valid pointer to fd_set. |
setsize | the value of FD_SETSIZE. |
Definition at line 310 of file mhd_sockets.h.
Referenced by MHD_add_to_fd_set_().
#define MHD_SCKT_EACCESS_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 473 of file mhd_sockets.h.
#define MHD_SCKT_EAGAIN_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 386 of file mhd_sockets.h.
#define MHD_SCKT_EBADF_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 438 of file mhd_sockets.h.
#define MHD_SCKT_ECONNABORTED_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 408 of file mhd_sockets.h.
#define MHD_SCKT_ECONNRESET_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 403 of file mhd_sockets.h.
Referenced by recv_param_adapter(), and send_param_adapter().
#define MHD_SCKT_EFAUL_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 453 of file mhd_sockets.h.
#define MHD_SCKT_EINTR_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 398 of file mhd_sockets.h.
Referenced by thread_main_handle_connection().
#define MHD_SCKT_EINVAL_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 448 of file mhd_sockets.h.
Referenced by MHD_accept_connection().
#define MHD_SCKT_EMFILE_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 418 of file mhd_sockets.h.
#define MHD_SCKT_ENETDOWN_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 478 of file mhd_sockets.h.
#define MHD_SCKT_ENFILE_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 423 of file mhd_sockets.h.
#define MHD_SCKT_ENOBUFS_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 433 of file mhd_sockets.h.
#define MHD_SCKT_ENOMEM_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 428 of file mhd_sockets.h.
#define MHD_SCKT_ENOSYS_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 458 of file mhd_sockets.h.
#define MHD_SCKT_ENOTCONN_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 413 of file mhd_sockets.h.
#define MHD_SCKT_ENOTSOCK_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 443 of file mhd_sockets.h.
#define MHD_SCKT_ENOTSUP_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 463 of file mhd_sockets.h.
#define MHD_SCKT_EOPNOTSUPP_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 468 of file mhd_sockets.h.
#define MHD_SCKT_ERR_IS_ | ( | err, | |
code | |||
) |
Check whether given socket error is equal to specified system native MHD_SCKT_E*_ code. If platform don't have specific error code, result is always boolean false.
Definition at line 591 of file mhd_sockets.h.
Referenced by MHD_accept_connection(), recv_param_adapter(), and send_param_adapter().
#define MHD_SCKT_ERR_IS_DISCNN_BEFORE_ACCEPT_ | ( | err | ) | MHD_SCKT_ERR_IS_((err),MHD_SCKT_ECONNABORTED_) |
Check whether is given socket error is type of "incoming connection was disconnected before 'accept()' is called".
Definition at line 645 of file mhd_sockets.h.
Referenced by MHD_accept_connection().
#define MHD_SCKT_ERR_IS_EAGAIN_ | ( | err | ) | MHD_SCKT_ERR_IS_((err),MHD_SCKT_EAGAIN_) |
Check whether given socket error is equal to system's socket error codes for EAGAIN or EWOULDBLOCK.
Definition at line 622 of file mhd_sockets.h.
Referenced by MHD_accept_connection(), recv_param_adapter(), and send_param_adapter().
#define MHD_SCKT_ERR_IS_EINTR_ | ( | err | ) | MHD_SCKT_ERR_IS_((err),MHD_SCKT_EINTR_) |
Check whether given socket error is equal to system's socket error codes for EINTR.
Definition at line 613 of file mhd_sockets.h.
Referenced by MHD_select(), recv_param_adapter(), send_param_adapter(), and thread_main_handle_connection().
#define MHD_SCKT_ERR_IS_LOW_RESOURCES_ | ( | err | ) |
Check whether given socket error is any kind of "low resource" error.
Definition at line 633 of file mhd_sockets.h.
Referenced by MHD_accept_connection().
#define MHD_SCKT_ERR_IS_REMOTE_DISCNN_ | ( | err | ) |
Check whether is given socket error is type of "connection was terminated by remote side".
Definition at line 656 of file mhd_sockets.h.
#define MHD_SCKT_EWOULDBLOCK_ MHD_SCKT_MISSING_ERR_CODE_ |
Definition at line 393 of file mhd_sockets.h.
#define MHD_SCKT_FD_FITS_FDSET_ | ( | fd, | |
pset | |||
) | MHD_SCKT_FD_FITS_FDSET_SETSIZE_((fd),(pset),FD_SETSIZE) |
Check whether FD can be added to fd_set with current FD_SETSIZE.
fd | the fd to check |
pset | the pointer to fd_set to check or NULL to check whether FD can be used with fd_sets. |
Definition at line 299 of file mhd_sockets.h.
Referenced by internal_add_connection(), and MHD_start_daemon_va().
#define MHD_SCKT_FD_FITS_FDSET_SETSIZE_ | ( | fd, | |
pset, | |||
setsize | |||
) | ((fd) < ((MHD_socket)setsize)) |
Check whether FD can be added to fd_set with specified FD_SETSIZE.
fd | the fd to check |
pset | the pointer to fd_set to check or NULL to check whether FD can be used with fd_sets. |
setsize | the value of FD_SETSIZE. |
Definition at line 284 of file mhd_sockets.h.
Referenced by MHD_add_to_fd_set_().
#define MHD_SCKT_LAST_ERR_IS_ | ( | code | ) | MHD_SCKT_ERR_IS_(MHD_socket_get_error_() ,(code)) |
Check whether last socket error is equal to specified system native MHD_SCKT_E*_ code. If platform don't have specific error code, result is always boolean false.
Definition at line 603 of file mhd_sockets.h.
Referenced by thread_main_handle_connection().
#define MHD_SCKT_MISSING_ERR_CODE_ 31450 |
Definition at line 378 of file mhd_sockets.h.
#define MHD_SCKT_SEND_MAX_SIZE_ SSIZE_MAX |
MHD_SCKT_SEND_MAX_SIZE_ is maximum send()/recv() size value.
Definition at line 220 of file mhd_sockets.h.
Referenced by recv_param_adapter(), and send_param_adapter().
#define MHD_send_ | ( | s, | |
b, | |||
l | |||
) | ((ssize_t)send((s),(const void*)(b),((MHD_SCKT_SEND_SIZE_)l), MAYBE_MSG_NOSIGNAL)) |
MHD_send_ is wrapper for system's send()
s | the socket to use |
b | the buffer with data to send |
l | the length of data in b |
Definition at line 259 of file mhd_sockets.h.
Referenced by send_param_adapter(), and socket_start_no_buffering_flush().
MHD_socket_close_(fd) close any FDs (non-W32) / close only socket FDs (W32). Note that on HP-UNIX, this function may leak the FD if errno is set to EINTR. Do not use HP-UNIX.
fd | descriptor to close |
Definition at line 236 of file mhd_sockets.h.
Referenced by MHD_socket_create_listen_().
#define MHD_socket_close_chk_ | ( | fd | ) |
MHD_socket_close_chk_(fd) close socket and abort execution if error is detected.
fd | socket to close |
Definition at line 246 of file mhd_sockets.h.
Referenced by internal_add_connection(), MHD_accept_connection(), MHD_cleanup_connections(), MHD_start_daemon_va(), and MHD_stop_daemon().
#define MHD_SOCKET_DEFINED 1 |
Definition at line 150 of file mhd_sockets.h.
#define MHD_socket_fset_error_ | ( | err | ) | (errno = (err)) |
MHD_socket_fset_error_() set socket system native error code.
Definition at line 538 of file mhd_sockets.h.
Referenced by MHD_socket_create_listen_().
#define MHD_socket_get_error_ | ( | ) | (errno) |
MHD_socket_error_ return system native error code for last socket error.
Definition at line 507 of file mhd_sockets.h.
Referenced by MHD_accept_connection(), MHD_select(), MHD_socket_create_listen_(), recv_param_adapter(), send_param_adapter(), and thread_main_handle_connection().
#define MHD_socket_last_strerr_ | ( | ) | MHD_socket_strerr_(MHD_socket_get_error_()) |
Definition at line 532 of file mhd_sockets.h.
Referenced by internal_add_connection(), MHD_accept_connection(), MHD_add_connection(), MHD_start_daemon_va(), and thread_main_handle_connection().
#define MHD_socket_set_error_ | ( | err | ) | (errno = (err)) |
MHD_socket_set_error_() set socket system native error code to specified code or replacement code if specified code is not defined on system.
Definition at line 574 of file mhd_sockets.h.
#define MHD_socket_set_error_to_ENOMEM | ( | ) | MHD_socket_set_error_(MHD_SCKT_ENOMEM_) |
Set socket's error code to ENOMEM or equivalent if ENOMEM is not available on platform.
Definition at line 671 of file mhd_sockets.h.
#define MHD_socket_strerr_ | ( | err | ) | strerror((err)) |
Definition at line 525 of file mhd_sockets.h.
Referenced by MHD_accept_connection(), MHD_select(), and thread_main_handle_connection().
#define MHD_socket_try_set_error_ | ( | err | ) |
MHD_socket_try_set_error_() set socket system native error code if specified code is defined on system.
Definition at line 551 of file mhd_sockets.h.
#define MHD_SYS_select_ | ( | n, | |
r, | |||
w, | |||
e, | |||
t | |||
) | select((n),(r),(w),(e),(t)) |
Definition at line 323 of file mhd_sockets.h.
Referenced by MHD_select(), and thread_main_handle_connection().
typedef int MHD_SCKT_OPT_BOOL_ |
MHD_SCKT_OPT_BOOL_ is type for bool parameters for setsockopt()/getsockopt()
Definition at line 201 of file mhd_sockets.h.
typedef size_t MHD_SCKT_SEND_SIZE_ |
MHD_SCKT_SEND_SIZE_ is type used to specify size for send and recv functions
Definition at line 211 of file mhd_sockets.h.
typedef int MHD_socket |
MHD_socket is type for socket FDs
Definition at line 143 of file mhd_sockets.h.
int MHD_add_to_fd_set_ | ( | MHD_socket | fd, |
fd_set * | set, | ||
MHD_socket * | max_fd, | ||
unsigned int | fd_setsize | ||
) |
Add fd to the set. If fd is greater than max_fd, set max_fd to fd.
fd | file descriptor to add to the set |
set | set to modify |
max_fd | maximum value to potentially update |
fd_setsize | value of FD_SETSIZE |
Definition at line 374 of file mhd_sockets.c.
References fd, MHD_INVALID_SOCKET, MHD_SCKT_ADD_FD_TO_FDSET_SETSIZE_, MHD_SCKT_FD_FITS_FDSET_SETSIZE_, and NULL.
Referenced by internal_get_fdset2(), MHD_get_fdset2(), MHD_select(), and thread_main_handle_connection().
MHD_socket MHD_socket_create_listen_ | ( | int | use_ipv6 | ) |
Create a listen socket, with noninheritable flag if possible.
use_ipv6 | if set to non-zero IPv6 is used |
Definition at line 471 of file mhd_sockets.c.
References fd, MHD_INVALID_SOCKET, MHD_socket_close_, MHD_socket_fset_error_, MHD_socket_get_error_, MHD_socket_noninheritable_(), and NULL.
Referenced by MHD_start_daemon_va().
int MHD_socket_nonblocking_ | ( | MHD_socket | sock | ) |
Change socket options to be non-blocking.
sock | socket to manipulate |
Definition at line 404 of file mhd_sockets.c.
Referenced by MHD_accept_connection(), MHD_add_connection(), and MHD_start_daemon_va().
int MHD_socket_noninheritable_ | ( | MHD_socket | sock | ) |
Change socket options to be non-inheritable.
sock | socket to manipulate |
Definition at line 439 of file mhd_sockets.c.
Referenced by MHD_accept_connection(), MHD_add_connection(), and MHD_socket_create_listen_().