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

NAME

6       libexplain - Explain errno values returned by libc functions
7

SYNOPSIS

9       cc ... -lexplain;
10
11       #include <libexplain/libexplain.h>
12

DESCRIPTION

14       The libexplain library exists to give explanations of error reported by
15       system calls.  The error message returned by  strerror(3)  tend  to  be
16       quite  cryptic.   By  providing a specific error report for each system
17       call, a more detailed error message is  possible,  usually  identifying
18       and  describing  the  specific cause from amongst the numerous meanings
19       each errno value maps to.
20
21   Race Condition
22       The explanation of the cause of an error is dependent on  the  environ‐
23       ment  of  the  error  to remain unchanged, so that when libexplain gets
24       around to looking for the cause, the cause is still there.  On  a  run‐
25       ning  system,  and particularly a multi‐user system, this is not always
26       possible.
27
28       If an incorrect explanation is provided, it is possible that the  cause
29       is no longer present.
30
31   Compiling
32       Assuming the library header files has been installed into /usr/include,
33       and the library files have  been  installed  into  /usr/lib,  compiling
34       against libexplain requires no special -I options.
35
36       When  linking  your  pograms, add -lexplain to the list of libraries at
37       the end of your link line.
38              cc ... -lexplain
39
40       When you configure your package with GNU Autoconf, you need  the  large
41       file support macro
42              AC_SYS_LARGEFILE
43
44       If  you aren't using GNU Autoconf, you will have to work out the needed
45       large file support requirements yourdelf.
46
47       There is a pkg‐config(1) package for you to use, too:
48              CFLAGS="$CFLAGS `pkg-config  libexplain  --cflags`"  LIBS="$LIBS
49              `pkg-config libexplain --libs`"
50       This can make figuring out the command line requirements much easier.
51
52   Environment Variable
53       The EXPLAIN_OPTIONS environment variable may be used to control some of
54       the content in the messages.  Options  are  separated  by  comma  (“,”)
55       characters.
56
57       There are three ways to set an option:
58
59       1. The form “name=value” may be used explicitly.  The values “true” and
60          “false” are used for boolean options.
61
62       2. An option name alone is interpreted to mean “name=true”.
63
64       3. The form “no‐name” is interpreted to mean “name=false”.
65
66       The following options are available:
67
68       debug   Additional debugging messages for libexplain  developers.   Not
69               generally useful to clients of the library.
70               Default: false.
71
72       extra‐device‐info
73               Additional  information for block and character special devices
74               is printed when naming a file and its type.
75               Default: true
76
77       numeric‐errno
78               This option includes the numeric errno value  in  the  message,
79               e.g.  “(2,  ENOENT)”  rather  than  “(ENOENT)”.  Disabling this
80               option is generally of use in  automated  testing,  to  prevent
81               UNIX dialect differences from producing false negatives.
82               Default: true
83
84       dialect‐specific
85               This  controls  the  presence of explanatory text specific to a
86               particular UNIX dialect.  It also  suppresses  printing  system
87               specific  maximums.   Disabling this option is generally of use
88               in automated testing, to prevent UNIX dialect differences  from
89               producing false negatives.
90               Default: true.
91
92       hanging‐indent
93               This  controls  the hanging indent depth used for error message
94               wrapping.  By default no hanging indent is used, but  this  can
95               sometimes obfuscate the end of one error message and the begin‐
96               ning of another.  A  hanging  indent  results  in  continuation
97               lines starting with white spoace, similar to RFC822 headers.  A
98               value of 0 means no hanging indent (all lines flush  with  left
99               margin).   A  common  value  to use is 4: it doesn't consume to
100               much of each line, and it is a clear indent.  The  program  may
101               choose   to   override   the  environment  variable  using  the
102               explain_option_hanging_indent_set(3)  function.   The   hanging
103               indent is limited to 10% of the terminal width.
104               Default: 0
105
106       internal‐strerror
107               This  option  controls the source of system eror message texts.
108               If false, it uses strerorP(3) for the text.  If true,  it  uses
109               internal  string for the text.  This is mostly of use for auto‐
110               mated testing, to avoid false negatives induced by inconsisten‐
111               cies across Unix implementations.
112               Default: false.
113
114       program‐name
115               This  option  controls the inclusion of the program name at the
116               start  of  error  messages,   by   the   explain_*_or_die   and
117               explain_*_on_error  functions.   This  helps  users  understand
118               which command is throwing the error.  Disabling this option may
119               be  of some interest to script writers.  Program developers can
120               use the explain_program_name_set(3) function to set the name of
121               the  command, if they wish to override the name that libexplain
122               would otherwise obtain  from  the  operating  system.   Program
123               developers  can  use the explain_program_name_assemble(3) func‐
124               tion to trump this option.
125               Default: true.
126
127       symbolic‐mode‐bits
128               This option controls how permission mode bits  are  represented
129               in error messages.  Setting this option to true will cause sym‐
130               bolic names to be printed (e.g. S_IRUSR | S_IWUSR |  S_IRGRP  |
131               S_IROTH).  Setting this option to false will cause octal values
132               to be printed (e.g. 0644).
133               Default: false.
134

Supported System Calls

136       Each supported system call has its own man page.
137
138       explain_accept(3)
139               Explain accept(2) errors
140
141       explain_accept_or_die(3)
142               accept a connection on a socket and report errors
143
144       explain_accept4(3)
145               Explain accept4(2) errors
146
147       explain_accept4_or_die(3)
148               accept a connection on a socket and report errors
149
150       explain_access(3)
151               Explain access(2) errors
152
153       explain_access_or_die(3)
154               check permissions for a file and report errors
155
156       explain_acct(3)
157               Explain acct(2) errors
158
159       explain_acct_or_die(3)
160               process accounting control and report errors
161
162       explain_acl_from_text(3)
163               Explain acl_from_text(3) errors
164
165       explain_acl_from_text_or_die(3)
166               create an ACL from text and report errors
167
168       explain_acl_get_fd(3)
169               Explain acl_get_fd(3) errors
170
171       explain_acl_get_fd_or_die(3)
172               Execute acl_get_fd(3) and report errors
173
174       explain_acl_get_file(3)
175               Explain acl_get_file(3) errors
176
177       explain_acl_get_file_or_die(3)
178               Execute acl_get_file(3) and report errors
179
180       explain_acl_set_fd(3)
181               Explain acl_set_fd(3) errors
182
183       explain_acl_set_fd_or_die(3)
184               set an ACL by file descriptor and report errors
185
186       explain_acl_set_file(3)
187               Explain acl_set_file(3) errors
188
189       explain_acl_set_file_or_die(3)
190               set an ACL by filename and report errors
191
192       explain_acl_to_text(3)
193               Explain acl_to_text(3) errors
194
195       explain_acl_to_text_or_die(3)
196               convert an ACL to text and report errors
197
198       explain_adjtime(3)
199               Explain adjtime(2) errors
200
201       explain_adjtime_or_die(3)
202               smoothly tune kernel clock and report errors
203
204       explain_adjtimex(3)
205               Explain adjtimex(2) errors
206
207       explain_adjtimex_or_die(3)
208               tune kernel clock and report errors
209
210       explain_asprintf(3)
211               Explain asprintf(3) errors
212
213       explain_asprintf_or_die(3)
214               print to allocated string and report errors
215
216       explain_bind(3)
217               Explain bind(2) errors
218
219       explain_bind_or_die(3)
220               bind a name to a socket and report errors
221
222       explain_calloc(3)
223               Explain calloc(3) errors
224
225       explain_calloc_or_die(3)
226               Allocate and clear memory and report errors
227
228       explain_chdir(3)
229               Explain chdir(2) errors
230
231       explain_chdir_or_die(3)
232               change working directory and report errors
233
234       explain_chmod(3)
235               Explain chmod(2) errors
236
237       explain_chmod_or_die(3)
238               change permissions of a file and report errors
239
240       explain_chown(3)
241               Explain chown errors
242
243       explain_chown_or_die(3)
244               change ownership of a file and report errors
245
246       explain_chroot(3)
247               Explain chroot(2) errors
248
249       explain_chroot_or_die(3)
250               change root directory and report errors
251
252       explain_close(3)
253               Explain close(2) errors
254
255       explain_close_or_die(3)
256               close a file descriptor and report errors
257
258       explain_closedir(3)
259               Explain closedir(3) errors
260
261       explain_closedir_or_die(3)
262               close a directory and report errors
263
264       explain_connect(3)
265               Explain connect(2) errors
266
267       explain_connect_or_die(3)
268               initiate a connection on a socket and report errors
269
270       explain_creat(3)
271               Explain creat(2) errors
272
273       explain_creat_or_die(3)
274               create and open a file and report errors
275
276       explain_dirfd(3)
277               Explain dirfd(3) errors
278
279       explain_dirfd_or_die(3)
280               get directory stream file descriptor and report errors
281
282       explain_dup(3)
283               Explain dup(2) errors
284
285       explain_dup_or_die(3)
286               duplicate a file descriptor and report errors
287
288       explain_dup2(3)
289               Explain dup2(2) errors
290
291       explain_dup2_or_die(3)
292               duplicate a file descriptor and report errors
293
294       explain_endgrent(3)
295               Explain endgrent(3) errors
296
297       explain_endgrent_or_die(3)
298               finish group file accesses and report errors
299
300       explain_eventfd(3)
301               Explain eventfd(2) errors
302
303       explain_eventfd_or_die(3)
304               create a file descriptor  for  event  notification  and  report
305               errors
306
307       explain_execlp(3)
308               Explain execlp(3) errors
309
310       explain_execlp_or_die(3)
311               execute a file and report errors
312
313       explain_execv(3)
314               Explain execv(3) errors
315
316       explain_execv_or_die(3)
317               execute a file and report errors
318
319       explain_execve(3)
320               Explain execve(2) errors
321
322       explain_execve_or_die(3)
323               execute program and report errors
324
325       explain_execvp(3)
326               Explain execvp(3) errors
327
328       explain_execvp_or_die(3)
329               execute program and report errors
330
331       explain_exit(3)
332               print an explanation of exit status before exiting
333
334       explain_fchdir(3)
335               Explain fchdir(2) errors
336
337       explain_fchmod(3)
338               Explain fchmod(2) errors
339
340       explain_fchmod_or_die(3)
341               change permissions of an open file and report errors
342
343       explain_fchown(3)
344               Explain fchown(2) errors
345
346       explain_fchown_or_die(3)
347               change ownership of a file and report errors
348
349       explain_fchownat(3)
350               Explain fchownat(2) errors
351
352       explain_fchownat_or_die(3)
353               change  ownership  of a file relative to a directory and report
354               errors
355
356       explain_fclose(3)
357               Explain fclose(2) errors
358
359       explain_fclose_or_die(3)
360               close a stream and report errors
361
362       explain_fcntl(3)
363               Explain fcntl(2) errors
364
365       explain_fcntl_or_die(3)
366               Manipulate a file descriptor and report errors
367
368       explain_fdopen(3)
369               Explain fdopen(3) errors
370
371       explain_fdopen_or_die(3)
372               stream open function and report errors
373
374       explain_fdopendir(3)
375               Explain fdopendir(3) errors
376
377       explain_fdopendir_or_die(3)
378               open a directory and report errors
379
380       explain_feof(3)
381               Explain feof(3) errors
382
383       explain_feof_or_die(3)
384               check and reset stream status and report errors
385
386       explain_ferror(3)
387               Explain ferror(3) errors
388
389       explain_ferror_or_die(3)
390               check stream status and report errors
391
392       explain_fflush(3)
393               Explain fflush(3) errors
394
395       explain_fflush_or_die(3)
396               flush a stream and report errors
397
398       explain_fgetc(3)
399               Explain fgetc(3) errors
400
401       explain_fgetc_or_die(3)
402               input of characters and report errors
403
404       explain_fgetpos(3)
405               Explain fgetpos(3) errors
406
407       explain_fgetpos_or_die(3)
408               reposition a stream and report errors
409
410       explain_fgets(3)
411               Explain fgets(3) errors
412
413       explain_fgets_or_die(3)
414               input of strings and report errors
415
416       explain_fileno(3)
417               Explain fileno(3) errors
418
419       explain_fileno_or_die(3)
420               check and reset stream status and report errors
421
422       explain_flock(3)
423               Explain flock(2) errors
424
425       explain_flock_or_die(3)
426               apply or remove an advisory lock on an  open  file  and  report
427               errors
428
429       explain_fopen(3)
430               Explain fopen(3) errors
431
432       explain_fopen_or_die(2)
433               open files and report errors
434
435       explain_fork(3)
436               Explain fork(2) errors
437
438       explain_fork_or_die(3)
439               create a child process and report errors
440
441       explain_fpathconf(3)
442               Explain fpathconf(3) errors
443
444       explain_fpathconf_or_die(3)
445               get configuration values for files and report errors
446
447       explain_fprintf(3)
448               Explain fprintf(3) errors
449
450       explain_fprintf_or_die(3)
451               formatted output conversion and report errors
452
453       explain_fpurge(3)
454               Explain fpurge(3) errors
455
456       explain_fpurge_or_die(3)
457               purge a stream and report errors
458
459       explain_fputc(3)
460               Explain fputc(3) errors
461
462       explain_fputc_or_die(3)
463               output of characters and report errors
464
465       explain_fputs(3)
466               Explain fputs(3) errors
467
468       explain_fputs_or_die(3)
469               write a string to a stream and report errors
470
471       explain_fread(3)
472               Explain fread(3) errors
473
474       explain_fread_or_die(3)
475               binary stream input and report errors
476
477       explain_freopen(3)
478               Explain freopen(3) errors
479
480       explain_freopen_or_die(3)
481               open files and report errors
482
483       explain_fseek(3)
484               Explain fseek(3) errors
485
486       explain_fseek_or_die(3)
487               reposition a stream and report errors
488
489       explain_fseeko(3)
490               Explain fseeko(3) errors
491
492       explain_fseeko_or_die(3)
493               seek to or report file position and report errors
494
495       explain_fsetpos(3)
496               Explain fsetpos(3) errors
497
498       explain_fsetpos_or_die(3)
499               reposition a stream and report errors
500
501       explain_fstat(3)
502               Explain fstat(3) errors
503
504       explain_fstat_or_die(3)
505               get file status and report errors
506
507       explain_fstatat(3)
508               Explain fstatat(2) errors
509
510       explain_fstatat_or_die(3)
511               get  file  status  relative  to a directory file descriptor and
512               report errors
513
514       explain_fstatfs(3)
515               Explain fstatfs(2) errors
516
517       explain_fstatfs_or_die(3)
518               get file system statistics and report errors
519
520       explain_fstatvfs(3)
521               Explain fstatvfs(2) errors
522
523       explain_fstatvfs_or_die(3)
524               get file system statistics and report errors
525
526       explain_fsync(3)
527               Explain fsync(2) errors
528
529       explain_fsync_or_die(3)
530               synchronize a file's in‐core  state  with  storage  device  and
531               report errors
532
533       explain_ftell(3)
534               Explain ftell(3) errors
535
536       explain_ftell_or_die(3)
537               get stream position and report errors
538
539       explain_ftello(3)
540               Explain ftello(3) errors
541
542       explain_ftello_or_die(3)
543               get stream position and report errors
544
545       explain_ftime(3)
546               Explain ftime(3) errors
547
548       explain_ftime_or_die(3)
549               return date and time and report errors
550
551       explain_ftruncate(3)
552               Explain ftruncate(2) errors
553
554       explain_ftruncate_or_die(3)
555               truncate a file to a specified length and report errors
556
557       explain_futimens(3)
558               Explain futimens(3) errors
559
560       explain_futimens_or_die(3)
561               change  file  timestamps  with  nanosecond precision and report
562               errors
563
564       explain_futimes(3)
565               Explain futimes(3) errors
566
567       explain_futimes_or_die(3)
568               Execute futimes(3) and report errors
569
570       explain_futimesat(3)
571               Explain futimesat(2) errors
572
573       explain_futimesat_or_die(3)
574               change timestamps of a file relative to a directory  and report
575               errors
576
577       explain_fwrite(3)
578               Explain fwrite(3) errors
579
580       explain_fwrite_or_die(3)
581               binary stream output and report errors
582
583       explain_futimesat(3)
584               Explain futimesat(2) errors
585
586       explain_futimesat_or_die(3)
587               change timestamps of a file relative to a directory  and report
588               errors
589
590       explain_getaddrinfo(3)
591               Explain getaddrinfo(3) errors
592
593       explain_getaddrinfo_or_die(3)
594               network address and and report errors
595
596       explain_getc(3)
597               Explain getc(3) errors
598
599       explain_getc_or_die(3)
600               input of characters and report errors
601
602       explain_getchar(3)
603               Explain getchar(3) errors
604
605       explain_getchar_or_die(3)
606               input of characters and report errors
607
608       explain_getcwd(3)
609               Explain getcwd(2) errors
610
611       explain_getdomainname(3)
612               Explain getdomainname(2) errors
613
614       explain_getdomainname_or_die(3)
615               get domain name and report errors
616
617       explain_getgrent(3)
618               Explain getgrent(3) errors
619
620       explain_getgrent_or_die(3)
621               get group file entry and report errors
622
623       explain_getgrouplist(3)
624               Explain getgrouplist(3) errors
625
626       explain_getgrouplist_or_die(3)
627               get list of groups to which a user belongs and report errors
628
629       explain_getgroups(3)
630               Explain getgroups(2) errors
631
632       explain_getgroups_or_die(3)
633               get list of supplementary group IDs and report errors
634
635       explain_getcwd_or_die(3)
636               Get current working directory and report errors
637
638       explain_gethostbyname(3)
639               Explain gethostbyname(3) errors
640
641       explain_gethostbyname_or_die(3)
642               get host address given host name and report errors
643
644       explain_gethostid(3)
645               Explain gethostid(3) errors
646
647       explain_gethostid_or_die(3)
648               get the unique identifier of the current host and report errors
649
650       explain_gethostname(3)
651               Explain gethostname(2) errors
652
653       explain_gethostname_or_die(3)
654               get hostname and report errors
655
656       explain_getpeername(3)
657               Explain getpeername(2) errors
658
659       explain_getpeername_or_die(3)
660               Executegetpeername(2) and report errors
661
662       explain_getpgid(3)
663               Explain getpgid(2) errors
664
665       explain_getpgid_or_die(3)
666               get process group and report errors
667
668       explain_getpgrp(3)
669               Explain getpgrp(2) errors
670
671       explain_getpgrp_or_die(3)
672               get process group and report errors
673
674       explain_getpriority(3)
675               Explain getpriority(2) errors
676
677       explain_getpriority_or_die(3)
678               get program scheduling priority and report errors
679
680       explain_getresgid(3)
681               Explain getresgid(2) errors
682
683       explain_getresgid_or_die(3)
684               get real, effective and saved group IDs and report errors
685
686       explain_getresuid(3)
687               Explain getresuid(2) errors
688
689       explain_getresuid_or_die(3)
690               get real, effective and saved user IDs and report errors
691
692       explain_getrlimit(3)
693               Explain getrlimit(2) errors
694
695       explain_getrlimit_or_die(3)
696               get resource limits and report errors
697
698       explain_getrusage(3)
699               Explain getrusage(2) errors
700
701       explain_getrusage_or_die(3)
702               get resource usage and report errors
703
704       explain_getsockname(3)
705               Explain getsockname(2) errors
706
707       explain_getsockname_or_die(3)
708               Execute getsockname(2) and report errors
709
710       explain_getsockopt(3)
711               Explain getsockopt(2) errors
712
713       explain_getsockopt_or_die(3)
714               Execute getsockopt(2) and report errors
715
716       explain_gettimeofday(3)
717               Explain gettimeofday(2) errors
718
719       explain_gettimeofday_or_die(3)
720               get time and report errors
721
722       explain_getw(3)
723               Explain getw(3) errors
724
725       explain_getw_or_die(3)
726               input a word (int) and report errors
727
728       explain_iconv(3)
729               Explain iconv(3) errors
730
731       explain_iconv_or_die(3)
732               perform character set conversion and report errors
733
734       explain_iconv_close(3)
735               Explain iconv_close(3) errors
736
737       explain_iconv_close_or_die(3)
738               deallocate descriptor for character set conversion  and  report
739               errors
740
741       explain_iconv_open(3)
742               Explain iconv_open(3) errors
743
744       explain_iconv_open_or_die(3)
745               allocate  descriptor  for  character  set conversion and report
746               errors
747
748       explain_ioctl(3)
749               Explain ioctl(2) errors
750
751       explain_ioctl_or_die(3)
752               Execute ioctl(2) and report errors
753
754       explain_kill(3)
755               Explain kill(2) errors
756
757       explain_kill_or_die(3)
758               send signal to a process and report errors
759
760       explain_lchmod(3)
761               Explain lchmod(2) errors
762
763       explain_lchmod_or_die(3)
764               change permissions of a file and report errors
765
766       explain_lchown(3)
767               Explain lchown(2) errors
768
769       explain_lchown_or_die(3)
770               change ownership of a file and report errors
771
772       explain_lchownat(3)
773               Explain lchownat(2) errors
774
775       explain_lchownat_or_die(3)
776               Execute lchownat(2) and report errors
777
778       explain_link(3)
779               Explain link(2) errors
780
781       explain_link_or_die(3)
782               make a new name for a file and report errors
783
784       explain_linkat(3)
785               Explain linkat(2) errors
786
787       explain_linkat_or_die(3)
788               create a file link relative to directory file  descriptors  and
789               report errors
790
791       explain_listen(3)
792               Explain listen(2) errors
793
794       explain_listen_or_die(3)
795               listen for connections on a socket and report errors
796
797       explain_lseek(3)
798               Explain lseek(2) errors
799
800       explain_lseek_or_die(3)
801               reposition file offset and report errors
802
803       explain_lstat(3)
804               Explain lstat(2) errors
805
806       explain_lstat_or_die(3)
807               get file status and report errors
808
809       explain_lutimes(3)
810               Explain lutimes(3) errors
811
812       explain_lutimes_or_die(3)
813               modify file timestamps and report errors
814
815       explain_malloc(3)
816               Explain malloc(3) errors
817
818       explain_malloc_or_die(3)
819               Execute malloc(3) and report errors
820
821       explain_mkdir(3)
822               Explain mkdir(2) errors
823
824       explain_mkdir_or_die(3)
825               create directory and report errors
826
827       explain_mkdtemp(3)
828               Explain mkdtemp(3) errors
829
830       explain_mkdtemp_or_die(3)
831               create a unique temporary directory and report errors
832
833       explain_mknod(3)
834               Explain mknod(2) errors
835
836       explain_mknod_or_die(3)
837               create a special or ordinary file and report errors
838
839       explain_mkostemp(3)
840               Explain mkostemp(3) errors
841
842       explain_mkostemp_or_die(3)
843               create a unique temporary file and report errors
844
845       explain_mkstemp(3)
846               Explain mkstemp(3) errors
847
848       explain_mkstemp_or_die(3)
849               create a unique temporary file and report errors
850
851       explain_mktemp(3)
852               Explain mktemp(3) errors
853
854       explain_mktemp_or_die(3)
855               make a unique temporary filename and report errors
856
857       explain_mmap(3)
858               Explain mmap(2) errors
859
860       explain_mmap_or_die(3)
861               map file or device into memory and report errors
862
863       explain_mount(3)
864               Explain mount(2) errors
865
866       explain_mount_or_die(3)
867               mount file system and report errors
868
869       explain_munmap(3)
870               Explain munmap(2) errors
871
872       explain_munmap_or_die(3)
873               unmap a file or device from memory and report errors
874
875       explain_nanosleep(3)
876               Explain nanosleep(2) errors
877
878       explain_nanosleep_or_die(3)
879                   high‐resolution sleep and report errors
880
881       explain_nice(3)
882               Explain nice(2) errors
883
884       explain_nice_or_die(3)
885               change process priority and report errors
886
887       explain_open(3)
888               Explain open(2) errors
889
890       explain_open_or_die(3)
891               open files and report errors
892
893       explain_openat(3)
894               Explain openat(2) errors
895
896       explain_openat_or_die(3)
897               open  a file relative to a directory file descriptor and report
898               errors
899
900       explain_opendir(3)
901               Explain opendir(3) errors
902
903       explain_opendir_or_die(3)
904               open a directory and report errors
905
906       explain_pathconf(3)
907               Explain pathconf(3) errors
908
909       explain_pathconf_or_die(3)
910               get configuration values for files and report errors
911
912       explain_pclose(3)
913               Explain pclose(3) errors
914
915       explain_pclose_or_die(3)
916               Execute pclose(3) and report errors
917
918       explain_pipe(3)
919               Explain pipe(2) errors
920
921       explain_pipe_or_die(3)
922               Execute pipe(2) and report errors
923
924       explain_pipe2(3)
925               Explain pipe2(2) errors
926
927       explain_pipe2_or_die(3)
928               create pipe and report errors
929
930       explain_poll(3)
931               Explain poll(2) errors
932
933       explain_poll_or_die(3)
934               wait for some event on a file descriptor and report errors
935
936       explain_popen(3)
937               Explain popen(3) errors
938
939       explain_popen_or_die(3)
940               Execute popen(3) and report errors
941
942       explain_pread(3)
943               Explain pread(2) errors
944
945       explain_pread_or_die(3)
946               read from a file descriptor at a given offset and report errors
947
948       explain_printf(3)
949               Explain printf(3) errors
950
951       explain_printf_or_die(3)
952               formatted output conversion and report errors
953
954       explain_ptrace(3)
955               Explain ptrace(2) errors
956
957       explain_ptrace_or_die(3)
958               process trace and report errors
959
960       explain_putc(3)
961               Explain putc(3) errors
962
963       explain_putc_or_die(3)
964               output of characters and report errors
965
966       explain_putchar(3)
967               Explain putchar(3) errors
968
969       explain_putchar_or_die(3)
970               output of characters and report errors
971
972       explain_putenv(3)
973               Explain putenv(3) errors
974
975       explain_putenv_or_die(3)
976               change or add an environment variable and report errors
977
978       explain_puts(3)
979               Explain puts(3) errors
980
981       explain_puts_or_die(3)
982               write a string and a trailing  newline  to  stdout  and  report
983               errors
984
985       explain_putw(3)
986               Explain putw(3) errors
987
988       explain_putw_or_die(3)
989               output a word (int) and report errors
990
991       explain_pwrite(3)
992               Explain pwrite(2) errors
993
994       explain_pwrite_or_die(3)
995               write to a file descriptor at a given offset and report errors
996
997       explain_raise(3)
998               Explain raise(3) errors
999
1000       explain_raise_or_die(3)
1001               send a signal to the caller and report errors
1002
1003       explain_read(3)
1004               Explain read(2) errors
1005
1006       explain_read_or_die(3)
1007               read from a file descriptor and report errors
1008
1009       explain_readdir(3)
1010               Explain readdir(3) errors
1011
1012       explain_readdir_or_die(3)
1013               read a directory and report errors
1014
1015       explain_readlink(3)
1016               Explain readlink(2) errors
1017
1018       explain_readlink_or_die(3)
1019               read value of a symbolic link and report errors
1020
1021       explain_readv(3)
1022               Explain readv(2) errors
1023
1024       explain_readv_or_die(3)
1025               read data into multiple buffers and report errors
1026
1027       explain_realloc(3)
1028               Explain realloc(3) errors
1029
1030       explain_realloc_or_die(3)
1031               Execute realloc(3) and report errors
1032
1033       explain_realpath(3)
1034               Explain realpath(3) errors
1035
1036       explain_realpath_or_die(3)
1037               return the canonicalized absolute pathname and report errors
1038
1039       explain_rename(3)
1040               Explain rename(2) errors
1041
1042       explain_rename_or_die(3)
1043               change the name or location of a file and report errors
1044
1045       explain_rmdir(3)
1046               Explain rmdir(2) errors
1047
1048       explain_rmdir_or_die(3)
1049               delete a directory and report errors
1050
1051       explain_select(3)
1052               Explain select(2) errors
1053
1054       explain_select_or_die(3)
1055               execute select(2) and report errors
1056
1057       explain_setbuf(3)
1058               Explain setbuf(3) errors
1059
1060       explain_setbuffer(3)
1061               Explain setbuffer(3) errors
1062
1063       explain_setbuffer_or_die(3)
1064               stream buffering operations and report errors
1065
1066       explain_setbuf_or_die(3)
1067               set stream buffer and report errors
1068
1069       explain_setdomainname(3)
1070               Explain setdomainname(2) errors
1071
1072       explain_setdomainname_or_die(3)
1073               set domain name and report errors
1074
1075       explain_setenv(3)
1076               Explain setenv(3) errors
1077
1078       explain_setenv_or_die(3)
1079               change or add an environment variable and report errors
1080
1081       explain_setgid(3)
1082               Explain setgid(2) errors
1083
1084       explain_setgid_or_die(3)
1085               set group identity and report errors
1086
1087       explain_setgrent(3)
1088               Explain setgrent(3) errors
1089
1090       explain_setgrent_or_die(3)
1091               rewind to the start of the group database and report errors
1092
1093       explain_setgroups(3)
1094               Explain setgroups(2) errors
1095
1096       explain_setgroups_or_die(3)
1097               get list of supplementary group IDs and report errors
1098
1099       explain_sethostname(3)
1100               Explain sethostname(2) errors
1101
1102       explain_sethostname_or_die(3)
1103               set hostname and report errors
1104
1105       explain_setlinebuf(3)
1106               Explain setlinebuf(3) errors
1107
1108       explain_setlinebuf_or_die(3)
1109               stream buffering operations and report errors
1110
1111       explain_setpgid(3)
1112               Explain setpgid(2) errors
1113
1114       explain_setpgid_or_die(3)
1115               set process group and report errors
1116
1117       explain_setpgrp(3)
1118               Explain setpgrp(2) errors
1119
1120       explain_setpgrp_or_die(3)
1121               set process group and report errors
1122
1123       explain_setpriority(3)
1124               Explain setpriority(2) errors
1125
1126       explain_setpriority_or_die(3)
1127               set program scheduling priority and report errors
1128
1129       explain_setregid(3)
1130               Explain setregid(2) errors
1131
1132       explain_setregid_or_die(3)
1133               set real and/or effective group ID and report errors
1134
1135       explain_setreuid(3)
1136               Explain setreuid(2) errors
1137
1138       explain_setreuid_or_die(3)
1139               set the real and effective user ID and report errors
1140
1141       explain_setresgid(3)
1142               Explain setresgid(2) errors
1143
1144       explain_setresgid_or_die(3)
1145               set real, effective and saved group ID and report errors
1146
1147       explain_setresuid(3)
1148               Explain setresuid(2) errors
1149
1150       explain_setresuid_or_die(3)
1151               set real, effective and saved user ID and report errors
1152
1153       explain_setreuid(3)
1154               Explain setreuid(2) errors
1155
1156       explain_setreuid_or_die(3)
1157               set real and/or effective user ID and report errors
1158
1159       explain_setsid(3)
1160               Explain setsid(2) errors
1161
1162       explain_setsid_or_die(3)
1163               creates  a  session  and  sets  the process group ID and report
1164               errors
1165
1166       explain_setsockopt(3)
1167               Explain setsockopt(2) errors
1168
1169       explain_setsockopt_or_die(3)
1170               execute setsockopt(2) and report errors
1171
1172       explain_settimeofday(3)
1173               Explain settimeofday(2) errors
1174
1175       explain_settimeofday_or_die(3)
1176               sets system time and report errors
1177
1178       explain_setuid(3)
1179               Explain setuid(2) errors
1180
1181       explain_setuid_or_die(3)
1182               set user identity and report errors
1183
1184       explain_setvbuf(3)
1185               Explain setvbuf(3) errors
1186
1187       explain_setvbuf_or_die(3)
1188               stream buffering operations and report errors
1189
1190       explain_shmat(3)
1191               Explain shmat(2) errors
1192
1193       explain_shmat_or_die(3)
1194               shared memory attach and report errors
1195
1196       explain_shmctl(3)
1197               Explain shmctl(2) errors
1198
1199       explain_shmctl_or_die(3)
1200               shared memory control and report errors
1201
1202       explain_signalfd(3)
1203               Explain signalfd(2) errors
1204
1205       explain_signalfd_or_die(3)
1206               create a file  descriptor  for  accepting  signals  and  report
1207               errors
1208
1209       explain_sleep(3)
1210               Explain sleep(3) errors
1211
1212       explain_sleep_or_die(3)
1213               Sleep for the specified number of seconds and report errors
1214
1215       explain_socket(3)
1216               Explain socket(2) errors
1217
1218       explain_socket_or_die(3)
1219               create an endpoint for communication and report errors
1220
1221       explain_socketpair(3)
1222               Explain socketpair(2) errors
1223
1224       explain_socketpair_or_die(3)
1225               create a pair of connected sockets and report errors
1226
1227       explain_sprintf(3)
1228               Explain sprintf(3) errors
1229
1230       explain_sprintf_or_die(3)
1231               formatted output conversion and report errors
1232
1233       explain_stat(3)
1234               Explain stat(2) errors
1235
1236       explain_statfs(3)
1237               Explain statfs(2) errors
1238
1239       explain_statfs_or_die(3)
1240               get file system statistics and report errors
1241
1242       explain_statvfs(3)
1243               Explain statvfs(2) errors
1244
1245       explain_statvfs_or_die(3)
1246               get file system statistics and report errors
1247
1248       explain_stime(3)
1249               Explain stime(2) errors
1250
1251       explain_stime_or_die(3)
1252               set system time and report errors
1253
1254       explain_strcoll(3)
1255               Explain strcoll(3) errors
1256
1257       explain_strcoll_or_die(3)
1258               compare two strings using the current locale and report errors
1259
1260       explain_strdup(3)
1261               Explain strdup(3) errors
1262
1263       explain_strdup_or_die(3)
1264               duplicate a string and report errors
1265
1266       explain_strndup(3)
1267               Explain strndup(3) errors
1268
1269       explain_strndup_or_die(3)
1270               duplicate a string and report errors
1271
1272       explain_strtod(3)
1273               Explain strtod(3) errors
1274
1275       explain_strtod_or_die(3)
1276               convert string to floating‐point number and report errors
1277
1278       explain_strtof(3)
1279               Explain strtof(3) errors
1280
1281       explain_strtof_or_die(3)
1282               convert string to floating‐point number and report errors
1283
1284       explain_strtol(3)
1285               Explain strtol(3) errors
1286
1287       explain_strtol_or_die(3)
1288               convert a string to a long integer and report errors
1289
1290       explain_strtold(3)
1291               Explain strtold(3) errors
1292
1293       explain_strtold_or_die(3)
1294               convert string to floating‐point number and report errors
1295
1296       explain_strtoll(3)
1297               Explain strtoll(3) errors
1298
1299       explain_strtoll_or_die(3)
1300               convert a string to a long long integer and report errors
1301
1302       explain_strtoul(3)
1303               Explain strtoul(3) errors
1304
1305       explain_strtoul_or_die(3)
1306               convert a string to a long long integer and report errors
1307
1308       explain_strtoull(3)
1309               Explain strtoull(3) errors
1310
1311       explain_strtoull_or_die(3)
1312               convert  a  string  to an unsigned long long integer and report
1313               errors
1314
1315       explain_symlink(3)
1316               Explain symlink(2) errors
1317
1318       explain_symlink_or_die(3)
1319               make a new name for a file and report errors
1320
1321       explain_system(3)
1322               Explain system(3) errors
1323
1324       explain_system_or_die(3)
1325               execute a shell command and report errors
1326
1327       explain_tcdrain(3)
1328               Explain tcdrain(3) errors
1329
1330       explain_tcdrain_or_die(3)
1331               Execute tcdrain(3) and report errors
1332
1333       explain_tcflow(3)
1334               Explain tcflow(3) errors
1335
1336       explain_tcflow_or_die(3)
1337               Execute tcflow(3) and report errors
1338
1339       explain_tcflush(3)
1340               Explain tcflush(3) errors
1341
1342       explain_tcflush_or_die(3)
1343               discard terminal data and report errors
1344
1345       explain_tcgetattr(3)
1346               Explain tcgetattr(3) errors
1347
1348       explain_tcgetattr_or_die(3)
1349               get terminal parameters and report errors
1350
1351       explain_tcsendbreak(3)
1352               Explain tcsendbreak(3) errors
1353
1354       explain_tcsendbreak_or_die(3)
1355               send terminal line break and report errors
1356
1357       explain_tcsetattr(3)
1358               Explain tcsetattr(3) errors
1359
1360       explain_tcsetattr_or_die(3)
1361               set terminal attributes and report errors
1362
1363       explain_telldir(3)
1364               Explain telldir(3) errors
1365
1366       explain_telldir_or_die(3)
1367               return current location in directory stream and report errors
1368
1369       explain_tempnam(3)
1370               Explain tempnam(3) errors
1371
1372       explain_tempnam_or_die(3)
1373               create a name for a temporary file and report errors
1374
1375       explain_time(3)
1376               Explain time(2) errors
1377
1378       explain_time_or_die(3)
1379               get time in seconds and report errors
1380
1381       explain_timerfd_create(3)
1382               Explain timerfd_create(2) errors
1383
1384       explain_timerfd_create_or_die(3)
1385               timers that notify via file descriptors and report errors
1386
1387       explain_tmpfile(3)
1388               Explain tmpfile(3) errors
1389
1390       explain_tmpfile_or_die(3)
1391               create a temporary file and report errors
1392
1393       explain_tmpnam(3)
1394               Explain tmpnam(3) errors
1395
1396       explain_tmpnam_or_die(3)
1397               create a name for a temporary file and report errors
1398
1399       explain_truncate(3)
1400               Explain truncate(2) errors
1401
1402       explain_truncate_or_die(3)
1403               truncate a file to a specified length and report errors
1404
1405       explain_usleep(3)
1406               Explain usleep(3) errors
1407
1408       explain_usleep_or_die(3)
1409               suspend execution for microsecond intervals and report errors
1410
1411       explain_uname(3)
1412               Explain uname(2) errors
1413
1414       explain_uname_or_die(3)
1415               get name and information about current kernel and report errors
1416
1417       explain_ungetc(3)
1418               Explain ungetc(3) errors
1419
1420       explain_ungetc_or_die(3)
1421               push a character back to a stream and report errors
1422
1423       explain_unlink(3)
1424               Explain unlink(2) errors
1425
1426       explain_unlink_or_die(3)
1427               delete a file and report errors
1428
1429       explain_unsetenv(3)
1430               Explain unsetenv(3) errors
1431
1432       explain_unsetenv_or_die(3)
1433               remove an environment variable and report errors
1434
1435       explain_ustat(3)
1436               Explain ustat(2) errors
1437
1438       explain_ustat_or_die(3)
1439               get file system statistics and report errors
1440
1441       explain_utime(3)
1442               Explain utime(2) errors
1443
1444       explain_utime_or_die(3)
1445               change file last  access  and  modification  times  and  report
1446               errors
1447
1448       explain_utimens(3)
1449               Explain utimens(2) errors
1450
1451       explain_utimens_or_die(3)
1452               change  file  last  access  and  modification  times and report
1453               errors
1454
1455       explain_utimensat(3)
1456               Explain utimensat(2) errors
1457
1458       explain_utimensat_or_die(3)
1459               change file timestamps with  nanosecond  precision  and  report
1460               errors
1461
1462       explain_utimes(3)
1463               Explain utimes(2) errors
1464
1465       explain_utimes_or_die(3)
1466               change  file  last  access  and  modification  times and report
1467               errors
1468
1469       explain_vasprintf(3)
1470               Explain vasprintf(3) errors
1471
1472       explain_vasprintf_or_die(3)
1473               print to allocated string and report errors
1474
1475       explain_vfork(3)
1476               Explain vfork(2) errors
1477
1478       explain_vfork_or_die(3)
1479               create a child process and block parent and report errors
1480
1481       explain_vfprintf(3)
1482               Explain vfprintf(3) errors
1483
1484       explain_vfprintf_or_die(3)
1485               formatted output conversion and report errors
1486
1487       explain_vprintf(3)
1488               Explain vprintf(3) errors
1489
1490       explain_vprintf_or_die(3)
1491               formatted output conversion and report errors
1492
1493       explain_vsnprintf(3)
1494               Explain vsnprintf(3) errors
1495
1496       explain_vsnprintf_or_die(3)
1497               formatted output conversion and report errors
1498
1499       explain_snprintf(3)
1500               Explain snprintf(3) errors
1501
1502       explain_snprintf_or_die(3)
1503               formatted output conversion and report errors
1504
1505       explain_vsprintf(3)
1506               Explain vsprintf(3) errors
1507
1508       explain_vsprintf_or_die(3)
1509               formatted output conversion and report errors
1510
1511       explain_wait(3)
1512               Explain wait(2) errors
1513
1514       explain_wait_or_die(3)
1515               wait for process to change state and report errors
1516
1517       explain_wait3(3)
1518               Explain wait3(2) errors
1519
1520       explain_wait3_or_die(3)
1521               wait for process to change state and report errors
1522
1523       explain_wait4(3)
1524               Explain wait4(2) errors
1525
1526       explain_wait4_or_die(3)
1527               wait for process to change state and report errors
1528
1529       explain_waitpid(3)
1530               Explain waitpid(2) errors
1531
1532       explain_waitpid_or_die(3)
1533               wait for process to change state and report errors
1534
1535       explain_write(3)
1536               Explain write(2) errors
1537
1538       explain_write_or_die(3)
1539               write to a file descriptor and report errors
1540
1541       explain_writev(3)
1542               Explain writev(2) errors
1543
1544       explain_writev_or_die(3)
1545               write data from multiple buffers and report errors
1546
1547       There are plans for additional coverage.   This  list  is  expected  to
1548       expand in later releases of this library.
1549

SEE ALSO

1551       errno(3)
1552               number of last error
1553
1554       perror(3)
1555               print a system error message
1556
1557       strerror(3)
1558               return string describing error number
1559
1561       libexplain version 1.4
1562       Copyright (C) 2008 Peter Miller
1563

AUTHOR

1565       Written by Peter Miller <pmiller@opensource.org.au>
1566
1567
1568
1569                                                                 libexplain(3)
Impressum