Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
explain_lseek(3)	    Library Functions Manual		explain_lseek(3)

NAME
     explain_lseek - explain lseek(2) errors

SYNOPSIS
     #include <libexplain/lseek.h>
     const char *explain_lseek(int fildes, long long offset, int whence);
     const  char  *explain_errno_lseek(int errnum, int fildes, long long offset,
     int whence);
     void explain_message_lseek(char *message,	int  message_size,  int  fildes,
     long long offset, int whence);
     void  explain_message_errno_lseek(char  *message, int message_size, int er-
     rnum, int fildes, long long offset, int whence);

DESCRIPTION
     These functions may be used to obtain explanations for lseek(2) errors.

   explain_lseek
     const char *explain_lseek(int fildes, long long offset, int whence);

     The explain_lseek function may be used to obtain a human readable	explana-
     tion  of what went wrong in an lseek(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  errno global variable will be used to obtain the error value to be de-
     coded.

     This function is intended to be used in a fashion similar to the  following
     example:
	    if (lseek(fd, offset, whence) == (off_t)-1)
	    {
		fprintf(stderr, '%s0, explain_lseek(fd, offset, whence);
		exit(EXIT_FAILURE);
	    }

     fildes  The original fildes, exactly as passed to the lseek(2) system call.

     offset  The original offset, exactly as passed to the lseek(2) system call.

     whence  The original whence, exactly as passed to the lseek(2) system call.

     Returns:
	     The message explaining the error.	This message buffer is shared by
	     all  libexplain functions which do not supply a buffer in their ar-
	     gument list.  This will be overwritten by the next call to any lib-
	     explain function which shares this buffer, including other threads.

     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_lseek
     const  char  *explain_errno_lseek(int errnum, int fildes, long long offset,
     int whence);

     The explain_errno_lseek function may be used to obtain a human readable ex-
     planation of what went wrong in an lseek(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:
	    if (lseek(fd, offset, whence) == (off_t)-1)
	    {
		int errnum = errno;
		fprintf(stderr, '%s0, explain_errno_lseek(fd, eernum, offset,
		    whence);
		exit(EXIT_FAILURE);
	    }

     errnum  The  error  value	to  be	decoded, usually obtained from the errno
	     global variable just before this function is called.  This is  nec-
	     essary  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 lseek(2) system call.
	     offset The original offset, exactly as passed to the lseek(2)  sys-
	     tem call.
	     whence  The original whence, exactly as passed to the lseek(2) sys-
	     tem call.

     Returns:
	     The message explaining the error.	This message buffer is shared by
	     all libexplain functions which do not supply a buffer in their  ar-
	     gument list.  This will be overwritten by the next call to any lib-
	     explain function which shares this buffer, including other threads.

     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_lseek
     void explain_message_lseek(char *message,	int  message_size,  int  fildes,
     long long offset, int whence);

     The  explain_message_lseek  function may be used to obtain a human readable
     explanation of what went wrong in an lseek(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 errno global variable will be used to obtain the error value to be  de-
     coded.

     This  function is intended to be used in a fashion similar to the following
     example:
	    if (lseek(fd, offset, whence) == (off_t)-1)
	    {
		char message[3000];
		explain_message_lseek(message, sizeof(message), fd, offset, whence);
		fprintf(stderr, '%s0, message);
		exit(EXIT_FAILURE);
	    }

     message
	     The location in which to store the  returned  message.   Because  a
	     message  return  buffer  has been supplied, this function is thread
	     safe.

     message_size
	     The size in bytes of the location in which to  store  the	returned
	     message.

     fildes  The original fildes, exactly as passed to the lseek(2) system call.

     offset  The original offset, exactly as passed to the lseek(2) system call.

     whence  The original whence, exactly as passed to the lseek(2) system call.

   explain_message_errno_lseek
     void  explain_message_errno_lseek(char  *message, int message_size, int er-
     rnum, int fildes, long long offset, int whence);

     The explain_message_errno_lseek function may be  used  to	obtain	a  human
     readable  explanation  of	what went wrong in an lseek(2) system call.  The
     least the message will contain is the value of strerror(errnum),  but  usu-
     ally  it will do much better, and indicate the underlying cause in more de-
     tail.

     This function is intended to be used in a fashion similar to the  following
     example:
	    if (lseek(fd, offset, whence) == (off_t)-1)
	    {
		char message[3000];
		int errnum = errno;
		explain_message_errno_lseek(message, sizeof(message), errnum, fd,
		    offset, whence);
		fprintf(stderr, '%s0, message);
		exit(EXIT_FAILURE);
	    }

     message
	     The  location  in	which  to store the returned message.  Because a
	     message return buffer has been supplied, this  function  is  thread
	     safe.

     message_size
	     The  size	in  bytes of the location in which to store the returned
	     message.

     errnum  The error value to be decoded,  usually  obtained	from  the  errno
	     global  variable just before this function is called.  This is nec-
	     essary 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 lseek(2) system call.

     offset  The orginal offset, exactly as passed to the lseek(2) system call.

     whence  The original whence, exactly as passed to the lseek(2) system call.

COPYRIGHT
     libexplain version 1.3
     Copyright (C) 2008 Peter Miller

AUTHOR
     Written by Peter Miller <pmiller@opensource.org.au>

								explain_lseek(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=explain_lseek&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help