# HG changeset patch # User Paul Eggert # Date 1114956781 0 # Node ID eb19e0aa691a5d9c1bde6911df0193d417ec50ed # Parent e417866a69253ccc0b9831f7067101bef115ef81 New byteswap module. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-05-01 Paul Eggert + + * MODULES.html.sh (Misc): Add byteswap. + +2005-05-01 Oskar Liljeblad + + * modules/byteswap: New file. + 2005-04-21 Oskar Liljeblad * gnulib-tool (Options): Add -s for --symlink/--symbolic. diff --git a/MODULES.html b/MODULES.html --- a/MODULES.html +++ b/MODULES.html @@ -2,7 +2,7 @@ Gnulib Module List - +

Gnulib Module List

@@ -961,6 +961,10 @@ Argv style string arrays in a single null delimited char*. + byteswap + Swap bytes of 16, 32 and 64 bit values. + + exitfail Set exit status for fatal signal. @@ -3110,6 +3114,13 @@ --- + byteswap + #include <byteswap.h> + byteswap_.h + byteswap.m4
gl_BYTESWAP + --- + + exitfail #include "exitfail.h" exitfail.c @@ -3304,6 +3315,6 @@
  • A testsuite
    - Generated from MODULES.html.sh on 27 March 2005. + Generated from MODULES.html.sh on 1 May 2005. diff --git a/MODULES.html.sh b/MODULES.html.sh --- a/MODULES.html.sh +++ b/MODULES.html.sh @@ -1960,6 +1960,7 @@ func_begin_table func_module argp func_module argz + func_module byteswap func_module exitfail func_module c-stack func_module error diff --git a/lib/ChangeLog b/lib/ChangeLog --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,7 @@ +2005-05-01 Oskar Liljeblad + + * byteswap_.h: New file. + 2005-04-25 Albert Chin * regex.c: Include , as a workaround to a Compaq Desktop diff --git a/lib/byteswap_.h b/lib/byteswap_.h new file mode 100644 --- /dev/null +++ b/lib/byteswap_.h @@ -0,0 +1,36 @@ +/* byteswap.h - Byte swapping + Copyright (C) 2005 Free Software Foundation, Inc. + Written by Oskar Liljeblad , 2005. + + This program 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 2.1 of the License, or (at your option) any later version. + + This program 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 this program; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA. */ + +#ifndef _BYTESWAP_H + +#define bswap_16(x) ((((x) & 0x00FF) << 8) | \ + (((x) & 0xFF00) >> 8)) +#define bswap_32(x) ((((x) & 0x000000FF) << 24) | \ + (((x) & 0x0000FF00) << 8) | \ + (((x) & 0x00FF0000) << 8) | \ + (((x) & 0xFF000000) >> 24)) +#define bswap_64(x) ((((x) & 0x00000000000000FFULL) << 56) | \ + (((x) & 0x000000000000FF00ULL) << 40) | \ + (((x) & 0x0000000000FF0000ULL) << 24) | \ + (((x) & 0x00000000FF000000ULL) << 8) | \ + (((x) & 0x000000FF00000000ULL) >> 8) | \ + (((x) & 0x0000FF0000000000ULL) >> 24) | \ + (((x) & 0x00FF000000000000ULL) >> 40) | \ + (((x) & 0xFF00000000000000ULL) >> 56)) + +#endif diff --git a/m4/ChangeLog b/m4/ChangeLog --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,7 @@ +2005-05-01 Oskar Liljeblad + + * byteswap.m4: New file. + 2005-04-15 Simon Josefsson * getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES. diff --git a/m4/byteswap.m4 b/m4/byteswap.m4 new file mode 100644 --- /dev/null +++ b/m4/byteswap.m4 @@ -0,0 +1,18 @@ +# byteswap.m4 serial 1 +dnl Copyright (C) 2005 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Written by Oskar Liljeblad. + +AC_DEFUN([gl_BYTESWAP], +[ + dnl Prerequisites of lib/byteswap_.h. + AC_CHECK_HEADERS([byteswap.h], [ + BYTESWAP_H='' + ], [ + BYTESWAP_H='byteswap.h' + ]) + AC_SUBST(BYTESWAP_H) +]) diff --git a/modules/byteswap b/modules/byteswap new file mode 100644 --- /dev/null +++ b/modules/byteswap @@ -0,0 +1,32 @@ +Description: +Swap bytes of 16, 32 and 64 bit values. + +Files: +lib/byteswap_.h +m4/byteswap.m4 + +Depends-on: + +configure.ac: +gl_BYTESWAP + +Makefile.am: +BUILT_SOURCES += $(BYTESWAP_H) +EXTRA_DIST += byteswap_.h + +# We need the following in order to create a when the system +# doesn't have one. +all-local $(lib_OBJECTS): $(BYTESWAP_H) +byteswap.h: byteswap_.h + cp $(srcdir)/$< $@-t + mv $@-t $@ +MOSTLYCLEANFILES += byteswap.h byteswap.h-t + +Include: + + +License: +LGPL + +Maintainer: +Oskar Liljeblad