diff options
author | aqua <aqua@iserlohn-fortress.net> | 2023-02-18 10:12:24 +0200 |
---|---|---|
committer | aqua <aqua@iserlohn-fortress.net> | 2023-02-18 10:12:24 +0200 |
commit | 41ee6b43c89ce67808a684ba67f69e964b0636fa (patch) | |
tree | fadee7301456711d567df030793c568a745bb522 /lib/libk/endian/little.c | |
parent | Generate dependency files for source code (diff) | |
download | kernel-41ee6b43c89ce67808a684ba67f69e964b0636fa.tar.xz |
Move C stdlib to lib/libk
Diffstat (limited to 'lib/libk/endian/little.c')
-rw-r--r-- | lib/libk/endian/little.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/libk/endian/little.c b/lib/libk/endian/little.c new file mode 100644 index 0000000..042bb55 --- /dev/null +++ b/lib/libk/endian/little.c @@ -0,0 +1,43 @@ +//===================================================================== +// spdx-license-identifier: ISC +//===================================================================== + +#include "endian.h" + +#if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ +#error little.c included in build on big endian target +#endif + +uint16_t +htole16(uint16_t host_16b) +{ + return host_16b; +} + +uint32_t +htole32(uint32_t host_32b) +{ + return host_32b; +} + +uint64_t +htole64(uint64_t host_64b) +{ + return host_64b; +} + +uint16_t +htobe16(uint16_t host_16b) +{ + return __builtin_bswap16(host_16b); +} +uint32_t +htobe32(uint32_t host_32b) +{ + return __builtin_bswap32(host_32b); +} +uint64_t +htobe64(uint64_t host_64b) +{ + return __builtin_bswap64(host_64b); +} |