Define some types if missing

Include Linux headers on Linux only.
For portability with non-Linux.

Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Thomas Klausner 2016-03-02 23:11:54 +01:00 committed by Takashi Iwai
parent 623d3be080
commit 25e6b5b473
3 changed files with 70 additions and 4 deletions

View file

@ -59,7 +59,7 @@ alsainclude_HEADERS += alisp.h
endif endif
noinst_HEADERS = alsa sys.h search.h list.h aserver.h local.h alsa-symbols.h \ 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 DISTCLEANFILES = stamp-vh version.h alsa asoundlib.h

View file

@ -50,11 +50,11 @@
#include <sys/poll.h> #include <sys/poll.h>
#include <sys/types.h> #include <sys/types.h>
#include <errno.h> #include <errno.h>
#if defined(__linux__)
#include <linux/types.h> #include <linux/types.h>
#include <linux/ioctl.h> #include <linux/ioctl.h>
#else
#ifndef EBADFD #include "type_compat.h"
#define EBADFD EBADF
#endif #endif
#ifdef SUPPORT_RESMGR #ifdef SUPPORT_RESMGR

66
include/type_compat.h Normal file
View file

@ -0,0 +1,66 @@
/*
* ALSA lib - compatibility header to be included by local.h
* Copyright (c) 2016 by Thomas Klausner <wiz@NetBSD.org>
*
*
* 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