libnetfilter_*: Use uint*_t instead of u_int*_t

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

 



Hello,

I've been trying to build many netfilter.org projects on a system with
the musl libc library. Alas, I often get errors about undeclared
u_int8_t, ... musl will declare these types when <sys/types.h> is
included and _GNU_SOURCE or _BSD_SOURCE is set. However many
netfilter.org projects don't include <sys/types.h>.

On the other hand, changing the types to the <stdint.h> uint*_t works
in most cases because <netinet/in.h> is often included, which (by POSIX)
includes <inttypes.h> which includes <stdint.h>. (Sometimes <stdint.h> or
<inttypes.h> is also directly included.)

In some cases u_int*_t and uint*_t types are mixed, so I am going to
prepare a patch series which changing them and making sure that the
public headers explicitly include <stdint.h> if they use these types.

Assuming these (relatively invasive in terms of changed lines of code)
changes are acceptable, I have some questions:

Are the linux_nfnetlink_*.h only used as includes from other headers?
(so that they don't need an explicit #include <stdint.h>)

Is there anything I need to be careful about?


There are also kernel types (e.g. __u8) in some places. Should I also
bother about these while I'm at it? These were not problematic for me
since these (mostly?) kernel headers include <linux/types.h>.

Thanks,
Felix
--
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