1libexplain(3) Library Functions Manual libexplain(3)
2
3
4
6 libexplain - Explain errno values returned by libc functions
7
9 cc ... -lexplain;
10
11 #include <libexplain/libexplain.h>
12
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 numeric‐errno
73 This option includes the numeric errno value in the message,
74 e.g. “(2, ENOENT)” rather than “(ENOENT)”. Disabling this
75 option is generally of use in automated testing, to prevent
76 UNIX dialect differences from producing false negatives.
77 Default: true
78
79 dialect‐specific
80 This controls the presence of explanatory text specific to a
81 particular UNIX dialect. It also suppresses printing system
82 specific maximums. Disabling this option is generally of use
83 in automated testing, to prevent UNIX dialect differences from
84 producing false negatives.
85 Default: true.
86
87 hanging‐indent
88 This controls the hanging indent depth used for error message
89 wrapping. By default no hanging indent is used, but this can
90 sometimes obfuscate the end of one error message and the begin‐
91 ning of another. A hanging indent results in continuation
92 lines starting with white spoace, similar to RFC822 headers. A
93 value of 0 means no hanging indent (all lines flush with left
94 margin). A common value to use is 4: it doesn't consume to
95 much of each line, and it is a clear indent. The program may
96 choose to override the environment variable using the
97 explain_option_hanging_indent_set(3) function. The hanging
98 indent is limited to 10% of the terminal width.
99 Default: 0
100
101 internal‐strerror
102 This option controls the source of system eror message texts.
103 If false, it uses strerorP(3) for the text. If true, it uses
104 internal string for the text. This is mostly of use for auto‐
105 mated testing, to avoid false negatives induced by inconsisten‐
106 cies across Unix implementations.
107 Default: false.
108
109 program‐name
110 This option controls the inclusion of the program name at the
111 start of error messages, by the explain_*_or_die and
112 explain_*_on_error functions. This helps users understand
113 which command is throwing the error. Disabling this option may
114 be of some interest to script writers. Program developers can
115 use the explain_program_name_set(3) function to set the name of
116 the command, if they wish to override the name that libexplain
117 would otherwise obtain from the operating system. Program
118 developers can use the explain_program_name_assemble(3) func‐
119 tion to trump this option.
120 Default: true.
121
122 symbolic‐mode‐bits
123 This option controls how permission mode bits are represented
124 in error messages. Setting this option to true will cause sym‐
125 bolic names to be printed (e.g. S_IRUSR | S_IWUSR | S_IRGRP |
126 S_IROTH). Setting this option to false will cause octal values
127 to be printed (e.g. 0644).
128 Default: false.
129
131 Each supported system call has its own man page.
132
133 explain_accept(3)
134 Explain accept(2) errors
135
136 explain_accept_or_die(3)
137 accept a connection on a socket and report errors
138
139 explain_accept4(3)
140 Explain accept4(2) errors
141
142 explain_accept4_or_die(3)
143 accept a connection on a socket and report errors
144
145 explain_access(3)
146 Explain access(2) errors
147
148 explain_access_or_die(3)
149 check permissions for a file and report errors
150
151 explain_acct(3)
152 Explain acct(2) errors
153
154 explain_acct_or_die(3)
155 process accounting control and report errors
156
157 explain_adjtime(3)
158 Explain adjtime(2) errors
159
160 explain_adjtime_or_die(3)
161 smoothly tune kernel clock and report errors
162
163 explain_adjtimex(3)
164 Explain adjtimex(2) errors
165
166 explain_adjtimex_or_die(3)
167 tune kernel clock and report errors
168
169 explain_bind(3)
170 Explain bind(2) errors
171
172 explain_bind_or_die(3)
173 bind a name to a socket and report errors
174
175 explain_calloc(3)
176 Explain calloc(3) errors
177
178 explain_calloc_or_die(3)
179 Allocate and clear memory and report errors
180
181 explain_chdir(3)
182 Explain chdir(2) errors
183
184 explain_chdir_or_die(3)
185 change working directory and report errors
186
187 explain_chmod(3)
188 Explain chmod(2) errors
189
190 explain_chmod_or_die(3)
191 change permissions of a file and report errors
192
193 explain_chown(3)
194 Explain chown errors
195
196 explain_chown_or_die(3)
197 change ownership of a file and report errors
198
199 explain_chroot(3)
200 Explain chroot(2) errors
201
202 explain_chroot_or_die(3)
203 change root directory and report errors
204
205 explain_close(3)
206 Explain close(2) errors
207
208 explain_close_or_die(3)
209 close a file descriptor and report errors
210
211 explain_closedir(3)
212 Explain closedir(3) errors
213
214 explain_closedir_or_die(3)
215 close a directory and report errors
216
217 explain_connect(3)
218 Explain connect(2) errors
219
220 explain_connect_or_die(3)
221 initiate a connection on a socket and report errors
222
223 explain_creat(3)
224 Explain creat(2) errors
225
226 explain_creat_or_die(3)
227 create and open a file and report errors
228
229 explain_dirfd(3)
230 Explain dirfd(3) errors
231
232 explain_dirfd_or_die(3)
233 get directory stream file descriptor and report errors
234
235 explain_dup(3)
236 Explain dup(2) errors
237
238 explain_dup_or_die(3)
239 duplicate a file descriptor and report errors
240
241 explain_dup2(3)
242 Explain dup2(2) errors
243
244 explain_dup2_or_die(3)
245 duplicate a file descriptor and report errors
246
247 explain_eventfd(3)
248 Explain eventfd(2) errors
249
250 explain_eventfd_or_die(3)
251 create a file descriptor for event notification and report
252 errors
253
254 explain_execlp(3)
255 Explain execlp(3) errors
256
257 explain_execlp_or_die(3)
258 execute a file and report errors
259
260 explain_execve(3)
261 Explain execve(2) errors
262
263 explain_execve_or_die(3)
264 execute program and report errors
265
266 explain_execvp(3)
267 Explain execvp(3) errors
268
269 explain_execvp_or_die(3)
270 execute program and report errors
271
272 explain_exit(3)
273 print an explanation of exit status before exiting
274
275 explain_fchdir(3)
276 Explain fchdir(2) errors
277
278 explain_fchmod(3)
279 Explain fchmod(2) errors
280
281 explain_fchmod_or_die(3)
282 change permissions of a file and report errors
283
284 explain_fchown(3)
285 Explain fchown(2) errors
286
287 explain_fchown_or_die(3)
288 change ownership of a file and report errors
289
290 explain_fclose(3)
291 Explain fclose(2) errors
292
293 explain_fclose_or_die(3)
294 close a stream and report errors
295
296 explain_fcntl(3)
297 Explain fcntl(2) errors
298
299 explain_fcntl_or_die(3)
300 Manipulate a file descriptor and report errors
301
302 explain_fdopen(3)
303 Explain fdopen(3) errors
304
305 explain_fdopen_or_die(3)
306 stream open function and report errors
307
308 explain_fdopendir(3)
309 Explain fdopendir(3) errors
310
311 explain_fdopendir_or_die(3)
312 open a directory and report errors
313
314 explain_feof(3)
315 Explain feof(3) errors
316
317 explain_feof_or_die(3)
318 check and reset stream status and report errors
319
320 explain_ferror(3)
321 Explain ferror(3) errors
322
323 explain_ferror_or_die(3)
324 check stream status and report errors
325
326 explain_fflush(3)
327 Explain fflush(3) errors
328
329 explain_fflush_or_die(3)
330 flush a stream and report errors
331
332 explain_fgetc(3)
333 Explain fgetc(3) errors
334
335 explain_fgetc_or_die(3)
336 input of characters and report errors
337
338 explain_fgetpos(3)
339 Explain fgetpos(3) errors
340
341 explain_fgetpos_or_die(3)
342 reposition a stream and report errors
343
344 explain_fgets(3)
345 Explain fgets(3) errors
346
347 explain_fgets_or_die(3)
348 input of strings and report errors
349
350 explain_fileno(3)
351 Explain fileno(3) errors
352
353 explain_fileno_or_die(3)
354 check and reset stream status and report errors
355
356 explain_flock(3)
357 Explain flock(2) errors
358
359 explain_flock_or_die(3)
360 apply or remove an advisory lock on an open file and report
361 errors
362
363 explain_fopen(3)
364 Explain fopen(3) errors
365
366 explain_fopen_or_die(2)
367 open files and report errors
368
369 explain_fork(3)
370 Explain fork(2) errors
371
372 explain_fork_or_die(3)
373 create a child process and report errors
374
375 explain_fpathconf(3)
376 Explain fpathconf(3) errors
377
378 explain_fpathconf_or_die(3)
379 get configuration values for files and report errors
380
381 explain_fprintf(3)
382 Explain fprintf(3) errors
383
384 explain_fprintf_or_die(3)
385 formatted output conversion and report errors
386
387 explain_fpurge(3)
388 Explain fpurge(3) errors
389
390 explain_fpurge_or_die(3)
391 purge a stream and report errors
392
393 explain_fputc(3)
394 Explain fputc(3) errors
395
396 explain_fputc_or_die(3)
397 output of characters and report errors
398
399 explain_fputs(3)
400 Explain fputs(3) errors
401
402 explain_fputs_or_die(3)
403 write a string to a stream and report errors
404
405 explain_fread(3)
406 Explain fread(3) errors
407
408 explain_fread_or_die(3)
409 binary stream input and report errors
410
411 explain_freopen(3)
412 Explain freopen(3) errors
413
414 explain_freopen_or_die(3)
415 open files and report errors
416
417 explain_fseek(3)
418 Explain fseek(3) errors
419
420 explain_fseek_or_die(3)
421 reposition a stream and report errors
422
423 explain_fsetpos(3)
424 Explain fsetpos(3) errors
425
426 explain_fsetpos_or_die(3)
427 reposition a stream and report errors
428
429 explain_fstat(3)
430 Explain fstat(3) errors
431
432 explain_fstat_or_die(3)
433 get file status and report errors
434
435 explain_fstatfs(3)
436 Explain fstatfs(2) errors
437
438 explain_fstatfs_or_die(3)
439 get file system statistics and report errors
440
441 explain_fstatvfs(3)
442 Explain fstatvfs(2) errors
443
444 explain_fstatvfs_or_die(3)
445 get file system statistics and report errors
446
447 explain_fsync(3)
448 Explain fsync(2) errors
449
450 explain_fsync_or_die(3)
451 synchronize a file's in‐core state with storage device and
452 report errors
453
454 explain_ftell(3)
455 Explain ftell(3) errors
456
457 explain_ftell_or_die(3)
458 get stream position and report errors
459
460 explain_ftime(3)
461 Explain ftime(3) errors
462
463 explain_ftime_or_die(3)
464 return date and time and report errors
465
466 explain_ftruncate(3)
467 Explain ftruncate(2) errors
468
469 explain_ftruncate_or_die(3)
470 truncate a file to a specified length and report errors
471
472 explain_futimes(3)
473 Explain futimes(3) errors
474
475 explain_futimes_or_die(3)
476 Execute futimes(3) and report errors
477
478 explain_fwrite(3)
479 Explain fwrite(3) errors
480
481 explain_fwrite_or_die(3)
482 binary stream output and report errors
483
484 explain_getaddrinfo(3)
485 Explain getaddrinfo(3) errors
486
487 explain_getaddrinfo_or_die(3)
488 network address and and report errors
489
490 explain_getc(3)
491 Explain getc(3) errors
492
493 explain_getc_or_die(3)
494 input of characters and report errors
495
496 explain_getchar(3)
497 Explain getchar(3) errors
498
499 explain_getchar_or_die(3)
500 input of characters and report errors
501
502 explain_getcwd(3)
503 Explain getcwd(2) errors
504
505 explain_getdomainname(3)
506 Explain getdomainname(2) errors
507
508 explain_getdomainname_or_die(3)
509 get domain name and report errors
510
511 explain_getgroups(3)
512 Explain getgroups(2) errors
513
514 explain_getgroups_or_die(3)
515 get list of supplementary group IDs and report errors
516
517 explain_getcwd_or_die(3)
518 Get current working directory and report errors
519
520 explain_gethostname(3)
521 Explain gethostname(2) errors
522
523 explain_gethostname_or_die(3)
524 get hostname and report errors
525
526 explain_getpeername(3)
527 Explain getpeername(2) errors
528
529 explain_getpeername_or_die(3)
530 Executegetpeername(2) and report errors
531
532 explain_getrlimit(3)
533 Explain getrlimit(2) errors
534
535 explain_getrlimit_or_die(3)
536 get resource limits and report errors
537
538 explain_getsockname(3)
539 Explain getsockname(2) errors
540
541 explain_getsockname_or_die(3)
542 Execute getsockname(2) and report errors
543
544 explain_getsockopt(3)
545 Explain getsockopt(2) errors
546
547 explain_getsockopt_or_die(3)
548 Execute getsockopt(2) and report errors
549
550 explain_gettimeofday(3)
551 Explain gettimeofday(2) errors
552
553 explain_gettimeofday_or_die(3)
554 get time and report errors
555
556 explain_getw(3)
557 Explain getw(3) errors
558
559 explain_getw_or_die(3)
560 input a word (int) and report errors
561
562 explain_ioctl(3)
563 Explain ioctl(2) errors
564
565 explain_ioctl_or_die(3)
566 Execute ioctl(2) and report errors
567
568 explain_kill(3)
569 Explain kill(2) errors
570
571 explain_kill_or_die(3)
572 send signal to a process and report errors
573
574 explain_lchown(3)
575 Explain lchown(2) errors
576
577 explain_lchown_or_die(3)
578 change ownership of a file and report errors
579
580 explain_link(3)
581 Explain link(2) errors
582
583 explain_link_or_die(3)
584 make a new name for a file and report errors
585
586 explain_listen(3)
587 Explain listen(2) errors
588
589 explain_listen_or_die(3)
590 listen for connections on a socket and report errors
591
592 explain_lseek(3)
593 Explain lseek(2) errors
594
595 explain_lseek_or_die(3)
596 reposition file offset and report errors
597
598 explain_lstat(3)
599 Explain lstat(2) errors
600
601 explain_lstat_or_die(3)
602 get file status and report errors
603
604 explain_malloc(3)
605 Explain malloc(3) errors
606
607 explain_malloc_or_die(3)
608 Execute malloc(3) and report errors
609
610 explain_mkdir(3)
611 Explain mkdir(2) errors
612
613 explain_mkdir_or_die(3)
614 create directory and report errors
615
616 explain_mkdtemp(3)
617 Explain mkdtemp(3) errors
618
619 explain_mkdtemp_or_die(3)
620 create a unique temporary directory and report errors
621
622 explain_mknod(3)
623 Explain mknod(2) errors
624
625 explain_mknod_or_die(3)
626 create a special or ordinary file and report errors
627
628 explain_mkostemp(3)
629 Explain mkostemp(3) errors
630
631 explain_mkostemp_or_die(3)
632 create a unique temporary file and report errors
633
634 explain_mkstemp(3)
635 Explain mkstemp(3) errors
636
637 explain_mkstemp_or_die(3)
638 create a unique temporary file and report errors
639
640 explain_mktemp(3)
641 Explain mktemp(3) errors
642
643 explain_mktemp_or_die(3)
644 make a unique temporary filename and report errors
645
646 explain_mmap(3)
647 Explain mmap(2) errors
648
649 explain_mmap_or_die(3)
650 map file or device into memory and report errors
651
652 explain_munmap(3)
653 Explain munmap(2) errors
654
655 explain_munmap_or_die(3)
656 unmap a file or device from memory and report errors
657
658 explain_nice(3)
659 Explain nice(2) errors
660
661 explain_nice_or_die(3)
662 change process priority and report errors
663
664 explain_open(3)
665 Explain open(2) errors
666
667 explain_open_or_die(3)
668 open files and report errors
669
670 explain_opendir(3)
671 Explain opendir(3) errors
672
673 explain_opendir_or_die(3)
674 open a directory and report errors
675
676 explain_pathconf(3)
677 Explain pathconf(3) errors
678
679 explain_pathconf_or_die(3)
680 get configuration values for files and report errors
681
682 explain_pclose(3)
683 Explain pclose(3) errors
684
685 explain_pclose_or_die(3)
686 Execute pclose(3) and report errors
687
688 explain_pipe(3)
689 Explain pipe(2) errors
690
691 explain_pipe_or_die(3)
692 Execute pipe(2) and report errors
693
694 explain_poll(3)
695 Explain poll(2) errors
696
697 explain_poll_or_die(3)
698 wait for some event on a file descriptor and report errors
699
700 explain_popen(3)
701 Explain popen(3) errors
702
703 explain_popen_or_die(3)
704 Execute popen(3) and report errors
705
706 explain_pread(3)
707 Explain pread(2) errors
708
709 explain_pread_or_die(3)
710 read from a file descriptor at a given offset and report errors
711
712 explain_printf(3)
713 Explain printf(3) errors
714
715 explain_printf_or_die(3)
716 formatted output conversion and report errors
717
718 explain_putc(3)
719 Explain putc(3) errors
720
721 explain_putc_or_die(3)
722 output of characters and report errors
723
724 explain_putchar(3)
725 Explain putchar(3) errors
726
727 explain_putchar_or_die(3)
728 output of characters and report errors
729
730 explain_putenv(3)
731 Explain putenv(3) errors
732
733 explain_putenv_or_die(3)
734 change or add an environment variable and report errors
735
736 explain_puts(3)
737 Explain puts(3) errors
738
739 explain_puts_or_die(3)
740 write a string and a trailing newline to stdout and report
741 errors
742
743 explain_putw(3)
744 Explain putw(3) errors
745
746 explain_putw_or_die(3)
747 output a word (int) and report errors
748
749 explain_pwrite(3)
750 Explain pwrite(2) errors
751
752 explain_pwrite_or_die(3)
753 write to a file descriptor at a given offset and report errors
754
755 explain_raise(3)
756 Explain raise(3) errors
757
758 explain_raise_or_die(3)
759 send a signal to the caller and report errors
760
761 explain_read(3)
762 Explain read(2) errors
763
764 explain_read_or_die(3)
765 read from a file descriptor and report errors
766
767 explain_readdir(3)
768 Explain readdir(3) errors
769
770 explain_readdir_or_die(3)
771 read a directory and report errors
772
773 explain_readlink(3)
774 Explain readlink(2) errors
775
776 explain_readlink_or_die(3)
777 read value of a symbolic link and report errors
778
779 explain_readv(3)
780 Explain readv(2) errors
781
782 explain_readv_or_die(3)
783 read data into multiple buffers and report errors
784
785 explain_realloc(3)
786 Explain realloc(3) errors
787
788 explain_realloc_or_die(3)
789 Execute realloc(3) and report errors
790
791 explain_rename(3)
792 Explain rename(2) errors
793
794 explain_rename_or_die(3)
795 change the name or location of a file and report errors
796
797 explain_rmdir(3)
798 Explain rmdir(2) errors
799
800 explain_rmdir_or_die(3)
801 delete a directory and report errors
802
803 explain_select(3)
804 Explain select(2) errors
805
806 explain_select_or_die(3)
807 execute select(2) and report errors
808
809 explain_setbuf(3)
810 Explain setbuf(3) errors
811
812 explain_setbuffer(3)
813 Explain setbuffer(3) errors
814
815 explain_setbuffer_or_die(3)
816 stream buffering operations and report errors
817
818 explain_setbuf_or_die(3)
819 set stream buffer and report errors
820
821 explain_setdomainname(3)
822 Explain setdomainname(2) errors
823
824 explain_setdomainname_or_die(3)
825 set domain name and report errors
826
827 explain_setenv(3)
828 Explain setenv(3) errors
829
830 explain_setenv_or_die(3)
831 change or add an environment variable and report errors
832
833 explain_setgroups(3)
834 Explain setgroups(2) errors
835
836 explain_setgroups_or_die(3)
837 get list of supplementary group IDs and report errors
838
839 explain_sethostname(3)
840 Explain sethostname(2) errors
841
842 explain_sethostname_or_die(3)
843 set hostname and report errors
844
845 explain_setlinebuf(3)
846 Explain setlinebuf(3) errors
847
848 explain_setlinebuf_or_die(3)
849 stream buffering operations and report errors
850
851 explain_setsockopt(3)
852 Explain setsockopt(2) errors
853
854 explain_setsockopt_or_die(3)
855 execute setsockopt(2) and report errors
856
857 explain_setvbuf(3)
858 Explain setvbuf(3) errors
859
860 explain_setvbuf_or_die(3)
861 stream buffering operations and report errors
862
863 explain_signalfd(3)
864 Explain signalfd(2) errors
865
866 explain_signalfd_or_die(3)
867 create a file descriptor for accepting signals and report
868 errors
869
870 explain_socket(3)
871 Explain socket(2) errors
872
873 explain_socket_or_die(3)
874 create an endpoint for communication and report errors
875
876 explain_socketpair(3)
877 Explain socketpair(2) errors
878
879 explain_socketpair_or_die(3)
880 create a pair of connected sockets and report errors
881
882 explain_sprintf(3)
883 Explain sprintf(3) errors
884
885 explain_sprintf_or_die(3)
886 formatted output conversion and report errors
887
888 explain_stat(3)
889 Explain stat(2) errors
890
891 explain_statfs(3)
892 Explain statfs(2) errors
893
894 explain_statfs_or_die(3)
895 get file system statistics and report errors
896
897 explain_statvfs(3)
898 Explain statvfs(2) errors
899
900 explain_statvfs_or_die(3)
901 get file system statistics and report errors
902
903 explain_stime(3)
904 Explain stime(2) errors
905
906 explain_stime_or_die(3)
907 set system time and report errors
908
909 explain_strdup(3)
910 Explain strdup(3) errors
911
912 explain_strdup_or_die(3)
913 duplicate a string and report errors
914
915 explain_strndup(3)
916 Explain strndup(3) errors
917
918 explain_strndup_or_die(3)
919 duplicate a string and report errors
920
921 explain_strtod(3)
922 Explain strtod(3) errors
923
924 explain_strtod_or_die(3)
925 convert string to floating‐point number and report errors
926
927 explain_strtof(3)
928 Explain strtof(3) errors
929
930 explain_strtof_or_die(3)
931 convert string to floating‐point number and report errors
932
933 explain_strtol(3)
934 Explain strtol(3) errors
935
936 explain_strtol_or_die(3)
937 convert a string to a long integer and report errors
938
939 explain_strtold(3)
940 Explain strtold(3) errors
941
942 explain_strtold_or_die(3)
943 convert string to floating‐point number and report errors
944
945 explain_strtoll(3)
946 Explain strtoll(3) errors
947
948 explain_strtoll_or_die(3)
949 convert a string to a long long integer and report errors
950
951 explain_strtoul(3)
952 Explain strtoul(3) errors
953
954 explain_strtoul_or_die(3)
955 convert a string to a long long integer and report errors
956
957 explain_strtoull(3)
958 Explain strtoull(3) errors
959
960 explain_strtoull_or_die(3)
961 convert a string to an unsigned long long integer and report
962 errors
963
964 explain_symlink(3)
965 Explain symlink(2) errors
966
967 explain_symlink_or_die(3)
968 make a new name for a file and report errors
969
970 explain_system(3)
971 Explain system(3) errors
972
973 explain_system_or_die(3)
974 execute a shell command and report errors
975
976 explain_tcdrain(3)
977 Explain tcdrain(3) errors
978
979 explain_tcdrain_or_die(3)
980 Execute tcdrain(3) and report errors
981
982 explain_tcflow(3)
983 Explain tcflow(3) errors
984
985 explain_tcflow_or_die(3)
986 Execute tcflow(3) and report errors
987
988 explain_tcflush(3)
989 Explain tcflush(3) errors
990
991 explain_tcflush_or_die(3)
992 discard terminal data and report errors
993
994 explain_tcgetattr(3)
995 Explain tcgetattr(3) errors
996
997 explain_tcgetattr_or_die(3)
998 get terminal parameters and report errors
999
1000 explain_tcsendbreak(3)
1001 Explain tcsendbreak(3) errors
1002
1003 explain_tcsendbreak_or_die(3)
1004 send terminal line break and report errors
1005
1006 explain_tcsetattr(3)
1007 Explain tcsetattr(3) errors
1008
1009 explain_tcsetattr_or_die(3)
1010 set terminal attributes and report errors
1011
1012 explain_telldir(3)
1013 Explain telldir(3) errors
1014
1015 explain_telldir_or_die(3)
1016 return current location in directory stream and report errors
1017
1018 explain_tempnam(3)
1019 Explain tempnam(3) errors
1020
1021 explain_tempnam_or_die(3)
1022 create a name for a temporary file and report errors
1023
1024 explain_time(3)
1025 Explain time(2) errors
1026
1027 explain_time_or_die(3)
1028 get time in seconds and report errors
1029
1030 explain_timerfd_create(3)
1031 Explain timerfd_create(2) errors
1032
1033 explain_timerfd_create_or_die(3)
1034 timers that notify via file descriptors and report errors
1035
1036 explain_tmpfile(3)
1037 Explain tmpfile(3) errors
1038
1039 explain_tmpfile_or_die(3)
1040 create a temporary file and report errors
1041
1042 explain_tmpnam(3)
1043 Explain tmpnam(3) errors
1044
1045 explain_tmpnam_or_die(3)
1046 create a name for a temporary file and report errors
1047
1048 explain_truncate(3)
1049 Explain truncate(2) errors
1050
1051 explain_truncate_or_die(3)
1052 truncate a file to a specified length and report errors
1053
1054 explain_ungetc(3)
1055 Explain ungetc(3) errors
1056
1057 explain_ungetc_or_die(3)
1058 push a character back to a stream and report errors
1059
1060 explain_unlink(3)
1061 Explain unlink(2) errors
1062
1063 explain_unlink_or_die(3)
1064 delete a file and report errors
1065
1066 explain_unsetenv(3)
1067 Explain unsetenv(3) errors
1068
1069 explain_unsetenv_or_die(3)
1070 remove an environment variable and report errors
1071
1072 explain_ustat(3)
1073 Explain ustat(2) errors
1074
1075 explain_ustat_or_die(3)
1076 get file system statistics and report errors
1077
1078 explain_utime(3)
1079 Explain utime(2) errors
1080
1081 explain_utime_or_die(3)
1082 change file last access and modification times and report
1083 errors
1084
1085 explain_utimes(3)
1086 Explain utimes(2) errors
1087
1088 explain_utimes_or_die(3)
1089 change file last access and modification times and report
1090 errors
1091
1092 explain_vfork(3)
1093 Explain vfork(2) errors
1094
1095 explain_vfork_or_die(3)
1096 create a child process and block parent and report errors
1097
1098 explain_vfprintf(3)
1099 Explain vfprintf(3) errors
1100
1101 explain_vfprintf_or_die(3)
1102 formatted output conversion and report errors
1103
1104 explain_vprintf(3)
1105 Explain vprintf(3) errors
1106
1107 explain_vprintf_or_die(3)
1108 formatted output conversion and report errors
1109
1110 explain_vsnprintf(3)
1111 Explain vsnprintf(3) errors
1112
1113 explain_vsnprintf_or_die(3)
1114 formatted output conversion and report errors
1115
1116 explain_snprintf(3)
1117 Explain snprintf(3) errors
1118
1119 explain_snprintf_or_die(3)
1120 formatted output conversion and report errors
1121
1122 explain_vsprintf(3)
1123 Explain vsprintf(3) errors
1124
1125 explain_vsprintf_or_die(3)
1126 formatted output conversion and report errors
1127
1128 explain_wait(3)
1129 Explain wait(2) errors
1130
1131 explain_wait_or_die(3)
1132 wait for process to change state and report errors
1133
1134 explain_wait3(3)
1135 Explain wait3(2) errors
1136
1137 explain_wait3_or_die(3)
1138 wait for process to change state and report errors
1139
1140 explain_wait4(3)
1141 Explain wait4(2) errors
1142
1143 explain_wait4_or_die(3)
1144 wait for process to change state and report errors
1145
1146 explain_waitpid(3)
1147 Explain waitpid(2) errors
1148
1149 explain_waitpid_or_die(3)
1150 wait for process to change state and report errors
1151
1152 explain_write(3)
1153 Explain write(2) errors
1154
1155 explain_write_or_die(3)
1156 write to a file descriptor and report errors
1157
1158 explain_writev(3)
1159 Explain writev(2) errors
1160
1161 explain_writev_or_die(3)
1162 write data from multiple buffers and report errors
1163
1164 There are plans for additional coverage. This list is expected to
1165 expand in later releases of this library.
1166
1168 errno(3)
1169 number of last error
1170
1171 perror(3)
1172 print a system error message
1173
1174 strerror(3)
1175 return string describing error number
1176
1178 libexplain version 0.40
1179 Copyright (C) 2008 Peter Miller
1180
1182 Written by Peter Miller <pmiller@opensource.org.au>
1183
1184
1185
1186 libexplain(3)