Move platform dependent errno aliases

EBADE, EBADR, and ENOANO do not exist on FreeBSD

The libspl errno.h is similarly platform dependent.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #9498
This commit is contained in:
Matthew Macy
2019-10-25 13:40:50 -07:00
committed by Brian Behlendorf
parent 68a1b1589a
commit 1952fe0e25
5 changed files with 22 additions and 11 deletions
@@ -1,6 +1,7 @@
libspldir = $(includedir)/libspl/sys
libspl_HEADERS = \
$(top_srcdir)/lib/libspl/include/os/linux/sys/byteorder.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/errno.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/file.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/mnttab.h \
$(top_srcdir)/lib/libspl/include/os/linux/sys/mount.h \
+46
View File
@@ -0,0 +1,46 @@
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2017 Zettabyte Software, LLC. All rights reserved.
* Use is subject to license terms.
*/
/*
* Compiling against musl correctly points out that including sys/errno.h is
* disallowed by the Single UNIX Specification when building in userspace, so
* we implement a dummy header to redirect the include to the proper header.
*/
#ifndef _LIBSPL_SYS_ERRNO_H
#define _LIBSPL_SYS_ERRNO_H
#include <errno.h>
/*
* We'll take the unused errnos, 'EBADE' and 'EBADR' (from the Convergent
* graveyard) to indicate checksum errors and fragmentation.
*/
#define ECKSUM EBADE
#define EFRAGS EBADR
/* Similar for ENOACTIVE */
#define ENOTACTIVE ENOANO
#endif /* _LIBSPL_SYS_ERRNO_H */