xref: /freebsd/sys/compat/linux/linux_errno.c (revision 1a8577fa)
11ac2776bSEd Maste /* $FreeBSD$ */
26e481f83SEd Maste 
3d595c5c0SEd Maste #include <sys/cdefs.h>
470890254SEdward Tomasz Napierala __FBSDID("$FreeBSD$");
56e481f83SEd Maste 
670890254SEdward Tomasz Napierala #include <sys/param.h>
770890254SEdward Tomasz Napierala #include <sys/errno.h>
870890254SEdward Tomasz Napierala #include <sys/systm.h>
970890254SEdward Tomasz Napierala 
1070890254SEdward Tomasz Napierala #include <compat/linux/linux.h>
111a8577faSEdward Tomasz Napierala #include <compat/linux/linux_errno.h>
121ac2776bSEd Maste #include <compat/linux/linux_errno.inc>
1370890254SEdward Tomasz Napierala 
1470890254SEdward Tomasz Napierala int
15866b1f51SEdward Tomasz Napierala bsd_to_linux_errno(int error)
1670890254SEdward Tomasz Napierala {
1770890254SEdward Tomasz Napierala 
1870890254SEdward Tomasz Napierala 	KASSERT(error >= 0 && error <= ELAST,
1970890254SEdward Tomasz Napierala 	    ("%s: bad error %d", __func__, error));
2070890254SEdward Tomasz Napierala 
2170890254SEdward Tomasz Napierala 	return (linux_errtbl[error]);
2270890254SEdward Tomasz Napierala }
231a8577faSEdward Tomasz Napierala 
241a8577faSEdward Tomasz Napierala #ifdef INVARIANTS
251a8577faSEdward Tomasz Napierala void
261a8577faSEdward Tomasz Napierala linux_check_errtbl(void)
271a8577faSEdward Tomasz Napierala {
281a8577faSEdward Tomasz Napierala 	int i;
291a8577faSEdward Tomasz Napierala 
301a8577faSEdward Tomasz Napierala 	for (i = 1; i < sizeof(linux_errtbl); i++) {
311a8577faSEdward Tomasz Napierala 		KASSERT(linux_errtbl[i] != 0,
321a8577faSEdward Tomasz Napierala 		    ("%s: linux_errtbl[%d] == 0", __func__, i));
331a8577faSEdward Tomasz Napierala 	}
341a8577faSEdward Tomasz Napierala }
351a8577faSEdward Tomasz Napierala #endif
36