diff options
author | Daniel Schwierzeck <daniel.schwierzeck@googlemail.com> | 2011-07-27 13:22:36 +0200 |
---|---|---|
committer | Shinya Kuribayashi <skuribay@pobox.com> | 2011-07-31 23:25:41 +0900 |
commit | 60b74bde9280e85f4423c05a50ecc41de56ad980 (patch) | |
tree | 411fbc1d847e14b0e99f4ade58f8412c98061490 /tools/xway-swap-bytes.c | |
parent | dd620b26332eb1e9fc0216760909c4046ba09745 (diff) | |
download | u-boot-imx-60b74bde9280e85f4423c05a50ecc41de56ad980.zip u-boot-imx-60b74bde9280e85f4423c05a50ecc41de56ad980.tar.gz u-boot-imx-60b74bde9280e85f4423c05a50ecc41de56ad980.tar.bz2 |
MIPS: INCA-IP: rename inca-swap-bytes host tool
The INCA-IP SoC belongs to the Lantiq XWAY SoC product portfolio.
For the upcoming support of other Lantiq SoC devices this tool should
not solely depend on the INCA-IP board.
Rename the tool to xway-swap-bytes and add an config option
to enable compilation optionally.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
Acked-by: Thomas Langer <thomas.langer@lantiq.com>
Signed-off-by: Shinya Kuribayashi <skuribay@pobox.com>
Diffstat (limited to 'tools/xway-swap-bytes.c')
-rw-r--r-- | tools/xway-swap-bytes.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/xway-swap-bytes.c b/tools/xway-swap-bytes.c new file mode 100644 index 0000000..3a6d82d --- /dev/null +++ b/tools/xway-swap-bytes.c @@ -0,0 +1,38 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#ifndef BUFSIZ +# define BUFSIZ 4096 +#endif + +#undef BUFSIZ +# define BUFSIZ 64 +int main (void) +{ + short ibuff[BUFSIZ], obuff[BUFSIZ]; + int rc, i, len; + + while ((rc = read (0, ibuff, sizeof (ibuff))) > 0) { + memset (obuff, 0, sizeof (obuff)); + for (i = 0; i < (rc + 1) / 2; i++) { + obuff[i] = ibuff[i ^ 1]; + } + + len = (rc + 1) & ~1; + + if (write (1, obuff, len) != len) { + perror ("read error"); + return (EXIT_FAILURE); + } + + memset (ibuff, 0, sizeof (ibuff)); + } + + if (rc < 0) { + perror ("read error"); + return (EXIT_FAILURE); + } + return (EXIT_SUCCESS); +} |