Use libc byteswapping routines not kernel ones

macros/functions from endian.h are the proper, documented userspace
interface to use.
__cpu_to_le16 --> htole16