diff --git a/io_linux.h b/io_linux.h index 4efe637..b686c13 100644 --- a/io_linux.h +++ b/io_linux.h @@ -6,24 +6,26 @@ /* Hmm. These constants vary a bit between systems. */ /* (__sh__ includes both sh and sh64) */ -#if defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__ppc__) || defined(__ppc64__) || defined(__sparc64__) -#define CHRONY_IOC_NRBITS 8 -#define CHRONY_IOC_TYPEBITS 8 -#define CHRONY_IOC_SIZEBITS 13 -#define CHRONY_IOC_DIRBITS 2 - -#define CHRONY_IOC_NONE 1U -#define CHRONY_IOC_READ 2U -#define CHRONY_IOC_WRITE 4U -#else +#if defined(__i386__) || defined(__sh__) #define CHRONY_IOC_NRBITS 8 #define CHRONY_IOC_TYPEBITS 8 #define CHRONY_IOC_SIZEBITS 14 #define CHRONY_IOC_DIRBITS 2 -#define CHRONY_IOC_NONE 0U +#define CHRONY_IOC_NONE 0U #define CHRONY_IOC_WRITE 1U -#define CHRONY_IOC_READ 2U +#define CHRONY_IOC_READ 2U +#elif defined(__alpha__) || defined(__sparc__) || defined(__mips__) || defined(__ppc__) || defined(__ppc64__) || defined(__sparc64__) +#define CHRONY_IOC_NRBITS 8 +#define CHRONY_IOC_TYPEBITS 8 +#define CHRONY_IOC_SIZEBITS 13 +#define CHRONY_IOC_DIRBITS 2 + +#define CHRONY_IOC_NONE 1U +#define CHRONY_IOC_READ 2U +#define CHRONY_IOC_WRITE 4U +#else +#error "I don't know the values of the _IOC_* constants for your architecture" #endif #define CHRONY_IOC_NRMASK ((1 << CHRONY_IOC_NRBITS)-1)