xref: /freebsd/sys/compat/linux/linux_errno.c (revision 9f23cbd6cae82fd77edfad7173432fa8dccd0a95)
1 /* $FreeBSD$ */
2 
3 #include <sys/cdefs.h>
4 __FBSDID("$FreeBSD$");
5 
6 #include <sys/param.h>
7 #include <sys/systm.h>
8 #include <sys/errno.h>
9 
10 #include <compat/linux/linux.h>
11 #include <compat/linux/linux_errno.h>
12 #include <compat/linux/linux_errno.inc>
13 
14 int
15 bsd_to_linux_errno(int error)
16 {
17 
18 	KASSERT(error >= 0 && error <= ELAST,
19 	    ("%s: bad error %d", __func__, error));
20 
21 	return (linux_errtbl[error]);
22 }
23 
24 #ifdef INVARIANTS
25 void
26 linux_check_errtbl(void)
27 {
28 	int i;
29 
30 	for (i = 1; i < nitems(linux_errtbl); i++) {
31 		KASSERT(linux_errtbl[i] != 0,
32 		    ("%s: linux_errtbl[%d] == 0", __func__, i));
33 	}
34 
35 	for (i = 1; i < nitems(linux_to_bsd_errtbl); i++) {
36 		KASSERT(linux_to_bsd_errtbl[i] != 0,
37 		    ("%s: linux_to_bsd_errtbl[%d] == 0", __func__, i));
38 	}
39 
40 }
41 #endif
42