1explain_fpathconf(3)       Library Functions Manual       explain_fpathconf(3)
2
3
4

NAME

6       explain_fpathconf - explain fpathconf(3) errors
7

SYNOPSIS

9       #include <libexplain/fpathconf.h>
10       const char *explain_fpathconf(int fildes, int name);
11       const char *explain_errno_fpathconf(int errnum, int fildes, int name);
12       void  explain_message_fpathconf(char  *message,  int  message_size, int
13       fildes, int name);
14       void explain_message_errno_fpathconf(char *message,  int  message_size,
15       int errnum, int fildes, int name);
16

DESCRIPTION

18       These  functions may be used to obtain explanations for errors returned
19       by the fpathconf(3) system call.
20
21   explain_fpathconf
22       const char *explain_fpathconf(int fildes, int name);
23
24       The explain_fpathconf function is used to obtain an explanation  of  an
25       error  returned by the fpathconf(3) system call.  The least the message
26       will contain is the value of strerror(errno), but usually  it  will  do
27       much better, and indicate the underlying cause in more detail.
28
29       The  errno global variable will be used to obtain the error value to be
30       decoded.
31
32       This function is intended to be used in a fashion similar to  the  fol‐
33       lowing example:
34              if (fpathconf(fildes, name) < 0)
35              {
36                  fprintf(stderr, "%s\n", explain_fpathconf(fildes, name));
37                  exit(EXIT_FAILURE);
38              }
39
40       The  above code example is available pre‐packaged as the explain_fpath‐
41       conf_or_die(3) function.
42
43       fildes  The original fildes, exactly as passed to the fpathconf(3) sys‐
44               tem call.
45
46       name    The original name, exactly as passed to the fpathconf(3) system
47               call.
48
49       Returns:
50               The message explaining  the  error.   This  message  buffer  is
51               shared by all libexplain functions which do not supply a buffer
52               in their argument list.  This will be overwritten by  the  next
53               call  to  any  libexplain  function  which  shares this buffer,
54               including other threads.
55
56       Note: This function is not thread safe, because it shares a return buf‐
57       fer across all threads, and many other functions in this library.
58
59   explain_errno_fpathconf
60       const char *explain_errno_fpathconf(int errnum, int fildes, int name);
61
62       The  explain_errno_fpathconf  function is used to obtain an explanation
63       of an error returned by the fpathconf(3) system call.   The  least  the
64       message  will  contain is the value of strerror(errnum), but usually it
65       will do much better, and indicate the underlying cause in more detail.
66
67       This function is intended to be used in a fashion similar to  the  fol‐
68       lowing example:
69              if (fpathconf(fildes, name) < 0)
70              {
71                  int err = errno;
72                  fprintf(stderr, "%s\n", explain_errno_fpathconf(err, fildes, name));
73                  exit(EXIT_FAILURE);
74              }
75
76       The  above code example is available pre‐packaged as the explain_fpath‐
77       conf_or_die(3) function.
78
79       errnum  The error value to be decoded, usually obtained from the  errno
80               global  variable  just before this function is called.  This is
81               necessary if you need to call any code between the system  call
82               to  be explained and this function, because many libc functions
83               will alter the value of errno.
84
85       fildes  The original fildes, exactly as passed to the fpathconf(3) sys‐
86               tem call.
87
88       name    The original name, exactly as passed to the fpathconf(3) system
89               call.
90
91       Returns:
92               The message explaining  the  error.   This  message  buffer  is
93               shared by all libexplain functions which do not supply a buffer
94               in their argument list.  This will be overwritten by  the  next
95               call  to  any  libexplain  function  which  shares this buffer,
96               including other threads.
97
98       Note: This function is not thread safe, because it shares a return buf‐
99       fer across all threads, and many other functions in this library.
100
101   explain_message_fpathconf
102       void  explain_message_fpathconf(char  *message,  int  message_size, int
103       fildes, int name);
104
105       The explain_message_fpathconf function may be used to  obtain an expla‐
106       nation of an error returned by the fpathconf(3) system call.  The least
107       the message will contain is the value of strerror(errno),  but  usually
108       it  will  do  much  better,  and  indicate the underlying cause in more
109       detail.
110
111       The errno global variable will be used to obtain the error value to  be
112       decoded.
113
114       This  function  is intended to be used in a fashion similar to the fol‐
115       lowing example:
116              if (fpathconf(fildes, name) < 0)
117              {
118                  char message[3000];
119                  explain_message_fpathconf(message, sizeof(message), fildes, name);
120                  fprintf(stderr, "%s\n", message);
121                  exit(EXIT_FAILURE);
122              }
123
124       The above code example is available pre‐packaged as the  explain_fpath‐
125       conf_or_die(3) function.
126
127       message The  location  in  which  to  store the returned message.  If a
128               suitable message return buffer is supplied,  this  function  is
129               thread safe.
130
131       message_size
132               The  size  in  bytes  of  the  location  in  which to store the
133               returned message.
134
135       fildes  The original fildes, exactly as passed to the fpathconf(3) sys‐
136               tem call.
137
138       name    The original name, exactly as passed to the fpathconf(3) system
139               call.
140
141   explain_message_errno_fpathconf
142       void explain_message_errno_fpathconf(char *message,  int  message_size,
143       int errnum, int fildes, int name);
144
145       The  explain_message_errno_fpathconf  function may be used to obtain an
146       explanation of an error returned by the fpathconf(3) system call.   The
147       least  the  message  will contain is the value of strerror(errnum), but
148       usually it will do much better, and indicate the  underlying  cause  in
149       more detail.
150
151       This  function  is intended to be used in a fashion similar to the fol‐
152       lowing example:
153              if (fpathconf(fildes, name) < 0)
154              {
155                  int err = errno;
156                  char message[3000];
157                  explain_message_errno_fpathconf(message, sizeof(message),
158                      err, fildes, name);
159                  fprintf(stderr, "%s\n", message);
160                  exit(EXIT_FAILURE);
161              }
162
163       The above code example is available pre‐packaged as the  explain_fpath‐
164       conf_or_die(3) function.
165
166       message The  location  in  which  to  store the returned message.  If a
167               suitable message return buffer is supplied,  this  function  is
168               thread safe.
169
170       message_size
171               The  size  in  bytes  of  the  location  in  which to store the
172               returned message.
173
174       errnum  The error value to be decoded, usually obtained from the  errno
175               global  variable  just before this function is called.  This is
176               necessary if you need to call any code between the system  call
177               to  be explained and this function, because many libc functions
178               will alter the value of errno.
179
180       fildes  The original fildes, exactly as passed to the fpathconf(3) sys‐
181               tem call.
182
183       name    The original name, exactly as passed to the fpathconf(3) system
184               call.
185

SEE ALSO

187       fpathconf(3)
188               get configuration values for files
189
190       explain_fpathconf_or_die(3)
191               get configuration values for files and report errors
192
194       libexplain version 0.40
195       Copyright (C) 2008 Peter Miller
196
197
198
199                                                          explain_fpathconf(3)
Impressum