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 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
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
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
1565 Written by Peter Miller <pmiller@opensource.org.au>
1566
1567
1568
1569 libexplain(3)