aligned_{u64,be64,le64} defined in #ifdef __KERNEL__

From: Andreas Gruenbacher
Date: Sun Aug 29 2010 - 21:27:17 EST


On Saturday 28 August 2010 01:51:53 Eric Paris wrote:
> I liked this version until I realized that userspace doesn't have
> aligned_u64 as a valid type.

This looks like an error in include/linux/types.h. The aligned types should
probably not be defined inside #ifdef __KERNEL__.

The following other headers expose aligned 64-bit types to user space as well;
copying the netfilter list:

include/linux/if_ppp.h
include/linux/netfilter/nfnetlink_queue.h
include/linux/netfilter/nfnetlink_log.h
include/linux/netfilter/xt_quota.h
include/linux/netfilter/xt_connbytes.h

Otherwise, the definition of those types is really simple, and this would do
in include/linux/fanotify.h until include/linux/types.h is fixed:

#ifndef aligned_u64
# define aligned_u64 __u64 __attribute__((aligned(8)))
#endif

Thanks,
Andreas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/