|
NAMEexplain_write - explain write(2) errorsSYNOPSIS#include <libexplain/write.h>const char *explain_write(int fildes, const void *data, long data_size); const char *explain_errno_write(int errnum, int fildes, const void *data, long data_size); void explain_message_write(char *message, int message_size, int fildes, const void *data, long data_size); void explain_message_errno_write(char *message, int message_size, int errnum, int fildes, const void *data, long data_size); DESCRIPTIONThese functions may be used to obtain explanations for write(2) errors .explain_writeconst char *explain_write(int fildes, const void *data, long data_size);The explain_write function may be used to obtain a human readable explanation of what went wrong in a write(2) system call. The least the message will contain is the value of strerror(errno), but usually it will do much better, and indicate the underlying cause in more detail. The error number will be picked up from the errno global variable. This function is intended to be used in a fashion similar to the following example: sszie_t n = write(fd, data, data_size); if (n < 0) { fprintf(stderr, '%s0, explain_read(fd, data, data_size)); exit(EXIT_FAILURE); }
Note: This function is not thread safe, because it shares a return buffer across all threads, and many other functions in this library. explain_errno_writeconst char *explain_errno_write(int errnum, int fildes, const void *data, long data_size);The explain_errno_write function may be used to obtain a human readable explanation of what went wrong in a write(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. This function is intended to be used in a fashion similar to the following example: sszie_t n = write(fd, data, data_size); if (n < 0) { int err = errno; fprintf(stderr, '%s0, explain_errno_read(errnum, fd, data, data_size)); exit(EXIT_FAILURE); }
Note: This function is not thread safe, because it shares a return buffer across all threads, and many other functions in this library. explain_message_writevoid explain_message_write(char *message, int message_size, int fildes, const void *data, long data_size);The explain_message_write function may be used to obtain a human readable explanation of what went wrong in a write(2) system call. The least the message will contain is the value of strerror(errno), but usually it will do much better, and indicate the underlying cause in more detail. The error number will be picked up from the errno global variable. This function is intended to be used in a fashion similar to the following example: sszie_t n = write(fd, data, data_size); if (n < 0) { char message[3000]; explain_message_read(message, sizeof(message), fd, data, data_size)); fprintf(stderr, '%s0, message); exit(EXIT_FAILURE); }
Note: Given a suitably thread safe buffer, this function is thread safe. explain_message_errno_writevoid explain_message_errno_write(char * message, int message_size, int errnum, int fildes, const void *data, long data_size);The explain_message_errno_write function may be used to obtain a human readable explanation of what went wrong in a write(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. This function is intended to be used in a fashion similar to the following example: sszie_t n = write(fd, data, data_size); if (n < 0) { int err = errno; char message[3000]; explain_message_errno_read(message, sizeof(message), errno, fd, data, data_size)); fprintf(stderr, '%s0, message); exit(EXIT_FAILURE); }
Note: Given a suitably thread safe buffer, this function is thread safe. COPYRIGHTlibexplain version 1.3Copyright (C) 2008 Peter Miller AUTHORWritten by Peter Miller <pmiller@opensource.org.au> Visit the GSP FreeBSD Man Page Interface. |