Re: [PATCH 2/2] netfilter: nfnetlink_queue: add definition of aligned_be64 for user-space apps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15/07/10 11:19, Patrick McHardy wrote:
> Am 12.07.2010 19:00, schrieb Pablo Neira Ayuso:
>> Currently, libnl and libnetfilter_queue include in one of their
>> user-space header files an ad-hoc definition of aligned_be64.
>> However, applications that use the BSD socket API to communicate
>> via Netlink sockets (ie. those that do not use these libraries)
>> would need to define this type by hand if they include the
>> kernel-space header nfnetlink_queue.h.
>>
>> This patch adds the definition of aligned_bed64 for user-space
>> applications in the kernel header. Otherwise, they have to define
>> it to avoid the following compilation problem:
>>
>> /usr/include/linux/netfilter/nfnetlink_queue.h:28: error: expected specifier-qualifier-list before ‘aligned_be64’
> 
> Why can't these applications simply include linux/types.h?

Including it doesn't fix the problem here:

#include <linux/types.h>
#include <linux/netfilter/nfnetlink_queue.h>

I still get:

/usr/include/linux/netfilter/nfnetlink_queue.h:28: error: expected
specifier-qualifier-list before ‘aligned_be64’

aligned_be64 is only define in the kernel (it's included under the
__KERNEL__ definition).

>> I know, this is ugly but I think that user-space Netlink applications
>> should compile with the only need of including the kernel-space
>> header that contains the protocol definitions.
> 
> I disagree, it makes no sense to re-define this for every header file.
> They can either include linux/types.h, or we could automatically include
> it in the files requiring it.

This is how it looks now in user-space:

#include <...>
#ifndef aligned_be64
#define aligned_be64 u_int64_t __attribute__((aligned(8)))
#endif
#include <linux/netfilter/nfnetlink_queue.h>
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux