FreeCalypso > hg > gsm-codec-lib
changeset 560:9a9d05a8fc75
libtest: add function for local native endian
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 11 Feb 2025 23:59:21 +0000 |
parents | 707d6f7a54dc |
children | cf62fe9fac3a |
files | libtest/Makefile libtest/local_endian.c libtest/local_endian.h |
diffstat | 3 files changed, 30 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/libtest/Makefile Thu Feb 06 09:32:18 2025 +0000 +++ b/libtest/Makefile Tue Feb 11 23:59:21 2025 +0000 @@ -1,5 +1,5 @@ -OBJS= binreader.o parse_dlcap.o pcmwrite.o roberead.o robewrite.o tw5reader.o\ - tw5writer.o wavrdhelp.o wavreader.o wavwriter.o +OBJS= binreader.o local_endian.o parse_dlcap.o pcmwrite.o roberead.o \ + robewrite.o tw5reader.o tw5writer.o wavrdhelp.o wavreader.o wavwriter.o LIB= libtest.a include ../config.defs
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libtest/local_endian.c Tue Feb 11 23:59:21 2025 +0000 @@ -0,0 +1,20 @@ +/* + * This C module is our current best attempt at determining the local endian + * in a portable manner that (hopefully) won't come back to bite us when + * someone needs to compile our software under a different flavor of Unix. + */ + +#include <stdint.h> +#include <arpa/inet.h> +#include "local_endian.h" + +int is_native_big_endian(void) +{ + uint16_t big_end_one; + + big_end_one = htons(1); + if (big_end_one == 1) + return 1; + else + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libtest/local_endian.h Tue Feb 11 23:59:21 2025 +0000 @@ -0,0 +1,8 @@ +/* + * This header file defines the interface to our utility function + * that determines the local machine's native byte order, thereby + * providing a default for file reading functions that can be overridden + * with -b or -l options. + */ + +int is_native_big_endian(void);