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.