>From 0d0a1408432a27cfa1908373bccbb66ac413fc5d Mon Sep 17 00:00:00 2001 From: Thomas Klausner Date: Wed, 2 Mar 2016 23:11:54 +0100 Subject: [PATCH] Define some types if missing. Include Linux headers on Linux only. For portability with non-Linux. Signed-off-by: Thomas Klausner --- include/Makefile.am | 2 +- include/local.h | 6 ++--- include/type_compat.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 include/type_compat.h diff --git a/include/Makefile.am b/include/Makefile.am index ff931fd..8c83c11 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -59,7 +59,7 @@ alsainclude_HEADERS += alisp.h endif noinst_HEADERS = alsa sys.h search.h list.h aserver.h local.h alsa-symbols.h \ - asoundlib-head.h asoundlib-tail.h + asoundlib-head.h asoundlib-tail.h type_compat.h DISTCLEANFILES = stamp-vh version.h alsa asoundlib.h diff --git a/include/local.h b/include/local.h index 28ed106..317f2e3 100644 --- a/include/local.h +++ b/include/local.h @@ -50,11 +50,11 @@ #include #include #include +#if defined(__linux__) #include #include - -#ifndef EBADFD -#define EBADFD EBADF +#else +#include "type_compat.h" #endif #ifdef SUPPORT_RESMGR diff --git a/include/type_compat.h b/include/type_compat.h new file mode 100644 index 0000000..9cc209f --- /dev/null +++ b/include/type_compat.h @@ -0,0 +1,66 @@ +/* + * ALSA lib - compatibility header to be included by local.h + * Copyright (c) 2016 by Thomas Klausner + * + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#ifndef __TYPE_COMPAT_H +#define __TYPE_COMPAT_H + +#ifndef EBADFD +#define EBADFD EBADF +#endif + +#ifndef __u16 +#define __u16 uint16_t +#endif +#ifndef __u32 +#define __u32 uint32_t +#endif +#ifndef __u64 +#define __u64 uint64_t +#endif +#ifndef __le16 +#define __le16 uint16_t +#endif +#ifndef __le32 +#define __le32 uint32_t +#endif +#ifndef __le64 +#define __le64 uint64_t +#endif +#ifndef u_int8_t +#define u_int8_t uint8_t +#endif +#ifndef u_int16_t +#define u_int16_t uint16_t +#endif +#ifndef u_int32_t +#define u_int32_t uint32_t +#endif +#ifndef u_int32_t +#define u_int32_t uint64_t +#endif +#ifndef __kernel_pid_t +#define __kernel_pid_t pid_t +#endif +#ifndef __kernel_off_t +#define __kernel_off_t off_t +#endif + +#endif -- 2.7.1