|
libexplain
1.4.D001
|
#include <libexplain/buffer/errno/getaddrinfo.h>#include <libexplain/getaddrinfo.h>#include <libexplain/string_buffer.h>Go to the source code of this file.
Functions | |
| void | explain_message_errcode_getaddrinfo (char *message, int message_size, int errcode, const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res) |
| void explain_message_errcode_getaddrinfo | ( | char * | message, |
| int | message_size, | ||
| int | errcode, | ||
| const char * | node, | ||
| const char * | service, | ||
| const struct addrinfo * | hints, | ||
| struct addrinfo ** | res | ||
| ) |
The explain_message_errcode_getaddrinfo function is used to obtain an explanation of an error returned by the getaddrinfo(3) system call. The least the message will contain is the value of gai_strerror(errcode), but usually it will do much better, and indicate the underlying cause in more detail.
This function is intended to be used in a fashion similar to the following example:
int errcode = getaddrinfo(node, service, hints, res); if (errcode == EAI_SYSTEM) errcode = errno; if (errcode) { char message[3000]; explain_message_errcode_getaddrinfo(message, sizeof(message), errcode, node, service, hints, res); fprintf(stderr, "%s\n", message); exit(EXIT_FAILURE); }
| message | The location in which to store the returned message. If a suitable message return buffer is supplied, this function is thread safe. |
| message_size | The size in bytes of the location in which to store the returned message. |
| errcode | The error value to be decoded, as returned by the getaddrinfo system call. |
| node | The original node, exactly as passed to the getaddrinfo(3) system call. |
| service | The original service, exactly as passed to the getaddrinfo(3) system call. |
| hints | The original hints, exactly as passed to the getaddrinfo(3) system call. |
| res | The original res, exactly as passed to the getaddrinfo(3) system call. |
Definition at line 26 of file getaddrinfo.c.
1.7.6.1