uwx_swap.c revision 115013
1/*
2 * Copyright (c) 2002,2003 Hewlett-Packard Company
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 */
22
23#include "uwx_env.h"
24#include "uwx_swap.h"
25
26void uwx_swap4(uint32_t *w)
27{
28    unsigned char *p;
29    unsigned char t[4];
30
31    p = (unsigned char *) w;
32
33    t[0] = p[0];
34    t[1] = p[1];
35    t[2] = p[2];
36    t[3] = p[3];
37
38    p[0] = t[3];
39    p[1] = t[2];
40    p[2] = t[1];
41    p[3] = t[0];
42}
43
44void uwx_swap8(uint64_t *dw)
45{
46    unsigned char *p;
47    unsigned char t[8];
48
49    p = (unsigned char *) dw;
50
51    t[0] = p[0];
52    t[1] = p[1];
53    t[2] = p[2];
54    t[3] = p[3];
55    t[4] = p[4];
56    t[5] = p[5];
57    t[6] = p[6];
58    t[7] = p[7];
59
60    p[0] = t[7];
61    p[1] = t[6];
62    p[2] = t[5];
63    p[3] = t[4];
64    p[4] = t[3];
65    p[5] = t[2];
66    p[6] = t[1];
67    p[7] = t[0];
68}
69