This commit was generated by cvs2svn to compensate for changes in r2,
[btb/d2x.git] / misc / byteswap.c
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14 #include <conf.h>
15 #include <stdio.h>
16 #include <stdlib.h>
17
18 #include "pstypes.h"
19
20 ushort swapshort(ushort s)
21 {
22         return ((s >> 8) & 0x00ff) | ((s << 8) & 0xff00);
23 }
24
25 uint swapint(uint i)
26 {
27         ushort s1, s2;
28         
29         s1 = (i >> 16) & 0x0000ffff;
30         s2 = i & 0x0000ffff;
31         return ((swapshort(s2) << 16) | swapshort(s1));
32 }