net: provide alternatives to {ntoh, hton}[sl] funtions with cleaner semantics
ntohl always converts 32 bits even on archs where sizeof(long) == 8. "ntoh32" is a much more intuitive name here. Also the name of the 64 bit variant that is also added isn't questionable. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
b104688cbb
commit
8abaf1ad71
|
@ -0,0 +1,24 @@
|
|||
#ifndef __BYTEORDER_H__
|
||||
#define __BYTEORDER_H__
|
||||
|
||||
/*
|
||||
* The standard macros for converting between host and network byte order are
|
||||
* badly named. So ntohl converts 32 bits even on architectures where a long is
|
||||
* 64 bit wide although the 'l' suffix suggests that it's working on longs.
|
||||
*
|
||||
* So this file introduces variants that use the bitcount as suffix instead of
|
||||
* 's' or 'l'.
|
||||
*/
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#define ntoh16(x) __be16_to_cpu(x)
|
||||
#define hton16(x) __cpu_to_be16(x)
|
||||
|
||||
#define ntoh32(x) __be32_to_cpu(x)
|
||||
#define hton32(x) __cpu_to_be32(x)
|
||||
|
||||
#define ntoh64(x) __be64_to_cpu(x)
|
||||
#define hton64(x) __cpu_to_be64(x)
|
||||
|
||||
#endif /* __BYTEORDER_H__ */
|
Loading…
Reference in New Issue