Go to the source code of this file.
Functions |
int | explain_fcntl_command_parse_or_die (const char *text, const char *caption) |
static void | explain_buffer_errno_fcntl_system_call (explain_string_buffer_t *sb, int errnum, int fildes, int command, long data) |
static void | explain_buffer_errno_fcntl_explanation (explain_string_buffer_t *sb, int errnum, int fildes, int command, long data) |
void | explain_buffer_errno_fcntl (explain_string_buffer_t *sb, int errnum, int fildes, int command, long data) |
Variables |
static const
explain_parse_bits_table_t | table [] |
Function Documentation
The explain_buffer_errno_fcntl function is used to obtain an explanation of an error returned by the fcntl(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.
- Parameters:
-
sb | The string buffer in which the message is being constructed. If a safe buffer is specified, this function is thread safe. |
errnum | The error value to be decoded, usually obtain 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 has passed to the fcntl(2) system call. |
command | The original command, exactly has passed to the fcntl(2) system call. |
arg | The original arg, exactly has passed to the fcntl(2) system call (or zero if the original call didn't need a mode argument, or cast to long if it was a pointer). |
Definition at line 425 of file fcntl.c.
The explain_fcntl_command_parse function may be used to parse a text representation of a fcntl command argument, and return a numeric value. Prints error message and exits if string cannot be parsed.
- Parameters:
-
text | The text to be parsed. |
captn | Additional caption to be added to error message, if needed. |
- Returns:
- integer value of command
Definition at line 91 of file fcntl.c.
Variable Documentation