mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
Due to a bug in the glibc headers the macros makedev(), major() and minor() where avaialble by including sys/types.h. This bug was addressed in glibc-2.25 by introducing a warning when these macros are used. Since Xen is build with -Werror this new warning cause a compile error. Use sys/sysmacros.h to define these three macros. blktap2 is already Linux specific. The kernel header which was used to get makedev() does not provided it anymore, and it was wrong to use a kernel header anyway. Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Wei Liu <wei.liu2@citrix.com>
131 lines
3.4 KiB
C
131 lines
3.4 KiB
C
/*
|
|
* Copyright (C) 2009 Citrix Ltd.
|
|
* Author Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
|
*
|
|
* This program 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; version 2.1 only. with the special
|
|
* exception on linking described in file LICENSE.
|
|
*
|
|
* 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.
|
|
*/
|
|
|
|
/*
|
|
* This header must be included first, before any system headers,
|
|
* so that _GNU_SOURCE takes effect properly.
|
|
*/
|
|
|
|
#ifndef LIBXL_OSDEP
|
|
#define LIBXL_OSDEP
|
|
|
|
#define _GNU_SOURCE
|
|
|
|
#if defined(__NetBSD__)
|
|
#define SYSFS_USB_DEV "/sys/bus/usb/devices"
|
|
#define SYSFS_USBBACK_DRIVER "/kern/xen/usb"
|
|
#define SYSFS_PCI_DEV "/sys/bus/pci/devices"
|
|
#define SYSFS_PCIBACK_DRIVER "/kern/xen/pci"
|
|
#define NETBACK_NIC_NAME "xvif%ui%d"
|
|
#include <util.h>
|
|
#include <uuid.h>
|
|
#elif defined(__OpenBSD__)
|
|
#include <util.h>
|
|
#elif defined(__linux__)
|
|
#define SYSFS_USB_DEV "/sys/bus/usb/devices"
|
|
#define SYSFS_USBBACK_DRIVER "/sys/bus/usb/drivers/usbback"
|
|
#define SYSFS_PCI_DEV "/sys/bus/pci/devices"
|
|
#define SYSFS_PCIBACK_DRIVER "/sys/bus/pci/drivers/pciback"
|
|
#define NETBACK_NIC_NAME "vif%u.%d"
|
|
#include <sys/sysmacros.h>
|
|
#include <pty.h>
|
|
#include <uuid/uuid.h>
|
|
#elif defined(__sun__)
|
|
#include <stropts.h>
|
|
#elif defined(__FreeBSD__)
|
|
#define SYSFS_USB_DEV "/dev/null"
|
|
#define SYSFS_USBBACK_DRIVER "/dev/null"
|
|
#define SYSFS_PCI_DEV "/dev/null"
|
|
#define SYSFS_PCIBACK_DRIVER "/dev/null"
|
|
#define NETBACK_NIC_NAME "xnb%u.%d"
|
|
#include <libutil.h>
|
|
#include <sys/endian.h>
|
|
#include <uuid.h>
|
|
/*
|
|
* FreeBSD doesn't have ENODATA errno ATM, so privcmd always translates
|
|
* ENODATA into ENOENT.
|
|
*/
|
|
#ifndef ENODATA
|
|
#define ENODATA ENOENT
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef SYSFS_USBBACK_DRIVER
|
|
#error define SYSFS_USBBACK_DRIVER for your platform
|
|
#endif
|
|
#ifndef SYSFS_USB_DEV
|
|
#error define SYSFS_USB_DEV for your platform
|
|
#endif
|
|
|
|
#ifndef SYSFS_PCIBACK_DRIVER
|
|
#error define SYSFS_PCIBACK_DRIVER for your platform
|
|
#endif
|
|
#ifndef SYSFS_PCI_DEV
|
|
#error define SYSFS_PCI_DEV for your platform
|
|
#endif
|
|
|
|
#ifdef NEED_OWN_ASPRINTF
|
|
#include <stdarg.h>
|
|
|
|
int asprintf(char **buffer, char *fmt, ...);
|
|
int vasprintf(char **buffer, const char *fmt, va_list ap);
|
|
#endif /*NEED_OWN_ASPRINTF*/
|
|
|
|
#ifndef htobe32 /* glibc < 2.9 */
|
|
# include <byteswap.h>
|
|
|
|
# if __BYTE_ORDER == __LITTLE_ENDIAN
|
|
# define htobe16(x) __bswap_16(x)
|
|
# define htole16(x) (x)
|
|
# define be16toh(x) __bswap_16(x)
|
|
# define le16toh(x) (x)
|
|
|
|
# define htobe32(x) __bswap_32(x)
|
|
# define htole32(x) (x)
|
|
# define be32toh(x) __bswap_32(x)
|
|
# define le32toh(x) (x)
|
|
|
|
# define htobe64(x) __bswap_64(x)
|
|
# define htole64(x) (x)
|
|
# define be64toh(x) __bswap_64(x)
|
|
# define le64toh(x) (x)
|
|
# else
|
|
# define htobe16(x) (x)
|
|
# define htole16(x) __bswap_16(x)
|
|
# define be16toh(x) (x)
|
|
# define le16toh(x) __bswap_16(x)
|
|
|
|
# define htobe32(x) (x)
|
|
# define htole32(x) __bswap_32(x)
|
|
# define be32toh(x) (x)
|
|
# define le32toh(x) __bswap_32(x)
|
|
|
|
# define htobe64(x) (x)
|
|
# define htole64(x) __bswap_64(x)
|
|
# define be64toh(x) (x)
|
|
# define le64toh(x) __bswap_64(x)
|
|
# endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
/*
|
|
* Local variables:
|
|
* mode: C
|
|
* c-basic-offset: 4
|
|
* indent-tabs-mode: nil
|
|
* End:
|
|
*/
|