byteOrder.c (1080B)
1 /** 2 * @file byteOrder.c 3 * @author Adrian STEINER (steia19@bfh.ch) 4 * @brief Changes the byte order from host to network endian order 5 * @version 0.1 6 * @date 19-02-2025 7 * 8 * @copyright (C) 2025 Adrian STEINER 9 * This program is free software: you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation, either version 3 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program. If not, see <https: //www.gnu.org/licenses/>. 21 * 22 */ 23 24 #include "byteOrder.h" 25 26 uint16_t h2n16(uint16_t h) { 27 return __builtin_bswap16(h); 28 } 29 30 uint32_t h2n32(uint32_t h) { 31 return __builtin_bswap32(h); 32 } 33 34 uint64_t h2n64(uint64_t h) { 35 return __builtin_bswap64(h); 36 }