]> icculus.org git repositories - btb/d2x.git/blob - misc/byteswap.h
cruft removal
[btb/d2x.git] / misc / byteswap.h
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
15
16 #ifndef _BYTESWAP_H
17 #define _BYTESWAP_H
18
19 #include "pstypes.h"
20
21 extern ushort swapshort(ushort s);
22 extern uint swapint(uint i);
23
24 #define SWAPSHORT(x)    (                                                       \
25                                                 ((ubyte)x << 8) |                                       \
26                                                 (((ushort)x) >> 8)                      \
27                                                 )
28                                                 
29 #define SWAPINT(x)              (                                                       \
30                                                 (x << 24) |                                     \
31                                                 (((ulong)x) >> 24) |            \
32                                                 ((x & 0x0000ff00) << 8) |       \
33                                                 ((x & 0x00ff0000) >> 8)         \
34                                                 )
35
36 #ifndef MACINTOSH
37 #define INTEL_INT(x)    x
38 #define INTEL_SHORT(x)  x
39 #else
40 #define INTEL_INT(x)    SWAPINT(x)
41 #define INTEL_SHORT(x)  SWAPSHORT(x)
42 #endif
43
44 #endif