libexplain
1.4.D001
|
#include <libexplain/ac/errno.h>
#include <libexplain/ac/net/if.h>
#include <libexplain/ac/sys/socket.h>
#include <libexplain/ac/sys/stat.h>
#include <libexplain/ac/sys/un.h>
#include <libexplain/buffer/dac.h>
#include <libexplain/buffer/eacces.h>
#include <libexplain/buffer/eaddrinuse.h>
#include <libexplain/buffer/eafnosupport.h>
#include <libexplain/buffer/ebadf.h>
#include <libexplain/buffer/efault.h>
#include <libexplain/buffer/einval.h>
#include <libexplain/buffer/eloop.h>
#include <libexplain/buffer/enametoolong.h>
#include <libexplain/buffer/enoent.h>
#include <libexplain/buffer/enomem.h>
#include <libexplain/buffer/enotdir.h>
#include <libexplain/buffer/enotsock.h>
#include <libexplain/buffer/erofs.h>
#include <libexplain/buffer/errno/bind.h>
#include <libexplain/buffer/errno/generic.h>
#include <libexplain/buffer/errno/path_resolution.h>
#include <libexplain/buffer/fildes_to_pathname.h>
#include <libexplain/buffer/gettext.h>
#include <libexplain/buffer/pointer.h>
#include <libexplain/buffer/sockaddr.h>
#include <libexplain/explanation.h>
#include <libexplain/fildes_to_address_family.h>
Go to the source code of this file.
Functions | |
static void | explain_buffer_errno_bind_system_call (explain_string_buffer_t *sb, int errnum, int fildes, const struct sockaddr *sock_addr, int sock_addr_size) |
static void | explain_final_sock_init (explain_final_t *fp) |
static void | the_socket_is_already_bound (explain_string_buffer_t *sb, int fildes) |
static void | explain_buffer_errno_bind_explanation (explain_string_buffer_t *sb, int errnum, int fildes, const struct sockaddr *sock_addr, int sock_addr_size) |
void | explain_buffer_errno_bind (explain_string_buffer_t *sb, int errnum, int fildes, const struct sockaddr *sock_addr, int sock_addr_size) |
void explain_buffer_errno_bind | ( | explain_string_buffer_t * | sb, |
int | errnum, | ||
int | fildes, | ||
const struct sockaddr * | sock_addr, | ||
int | sock_addr_size | ||
) |
The explain_buffer_errno_bind function is used to obtain an explanation of an error returned by the bind(2) system call. The least the message will contain is the value of strerror(errnum), but usually it will do much better, and indicate the underlying cause in more detail.
sb | The string buffer to print the message into. If a safe buffer is specified, this function is thread safe. |
errnum | The error value to be decoded, usually obtained from the errno global variable just before this function is called. This is necessary if you need to call any code between the system call to be explained and this function, because many libc functions will alter the value of errno. |
fildes | The original fildes, exactly as passed to the bind(2) system call. |
sock_addr | The original sock_addr, exactly as passed to the bind(2) system call. |
sock_addr_size | The original sock_addr_size, exactly as passed to the bind(2) system call. |
static void explain_buffer_errno_bind_explanation | ( | explain_string_buffer_t * | sb, |
int | errnum, | ||
int | fildes, | ||
const struct sockaddr * | sock_addr, | ||
int | sock_addr_size | ||
) | [static] |
static void explain_buffer_errno_bind_system_call | ( | explain_string_buffer_t * | sb, |
int | errnum, | ||
int | fildes, | ||
const struct sockaddr * | sock_addr, | ||
int | sock_addr_size | ||
) | [static] |
static void explain_final_sock_init | ( | explain_final_t * | fp | ) | [static] |
static void the_socket_is_already_bound | ( | explain_string_buffer_t * | sb, |
int | fildes | ||
) | [static] |