From bb1c80f68ef8004e01d5bb792a85a128b1a840be Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Thu, 14 Feb 2013 14:23:51 +0100 Subject: [PATCH] Add byteswap.h. --- libc/include/__/byteswap.h | 39 +++++++++++++++++++++++++++++++++++++ libc/include/byteswap.h | 40 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 libc/include/__/byteswap.h create mode 100644 libc/include/byteswap.h diff --git a/libc/include/__/byteswap.h b/libc/include/__/byteswap.h new file mode 100644 index 00000000..e222aedf --- /dev/null +++ b/libc/include/__/byteswap.h @@ -0,0 +1,39 @@ +/******************************************************************************* + + Copyright(C) Jonas 'Sortie' Termansen 2013. + + This file is part of the Sortix C Library. + + The Sortix C Library is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + The Sortix C Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with the Sortix C Library. If not, see . + + __/byteswap.h + Convert byte ordering of integers. + +*******************************************************************************/ + +#ifndef INCLUDE____BYTESWAP_H +#define INCLUDE____BYTESWAP_H + +#include + +__BEGIN_DECLS + +/* Use compiler builtins for efficient byte swapping. */ +#define __bswap_16(x) __builtin_bswap16(x) +#define __bswap_32(x) __builtin_bswap32(x) +#define __bswap_64(x) __builtin_bswap64(x) + +__END_DECLS + +#endif diff --git a/libc/include/byteswap.h b/libc/include/byteswap.h new file mode 100644 index 00000000..2a933899 --- /dev/null +++ b/libc/include/byteswap.h @@ -0,0 +1,40 @@ +/******************************************************************************* + + Copyright(C) Jonas 'Sortie' Termansen 2013. + + This file is part of the Sortix C Library. + + The Sortix C Library is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or (at your + option) any later version. + + The Sortix C Library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with the Sortix C Library. If not, see . + + byteswap.h + Convert byte ordering of integers. + +*******************************************************************************/ + +#ifndef _BYTESWAP_H +#define _BYTESWAP_H 1 + +#include +#include <__/byteswap.h> + +__BEGIN_DECLS + +/* Easy byte swapping of integers. */ +#define bswap_16(x) __bswap_16(x) +#define bswap_32(x) __bswap_32(x) +#define bswap_64(x) __bswap_64(x) + +__END_DECLS + +#endif