comparison src/endian/SDL_endian.c @ 0:74212992fb08

Initial revision
author Sam Lantinga <slouken@lokigames.com>
date Thu, 26 Apr 2001 16:45:43 +0000
parents
children e8157fcb3114
comparison
equal deleted inserted replaced
-1:000000000000 0:74212992fb08
1 /*
2 SDL - Simple DirectMedia Layer
3 Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public
16 License along with this library; if not, write to the Free
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19 Sam Lantinga
20 slouken@devolution.com
21 */
22
23 #ifdef SAVE_RCSID
24 static char rcsid =
25 "@(#) $Id$";
26 #endif
27
28 /* Functions for dynamically reading and writing endian-specific values */
29
30 #include "SDL_endian.h"
31
32 Uint16 SDL_ReadLE16 (SDL_RWops *src)
33 {
34 Uint16 value;
35
36 SDL_RWread(src, &value, (sizeof value), 1);
37 return(SDL_SwapLE16(value));
38 }
39 Uint16 SDL_ReadBE16 (SDL_RWops *src)
40 {
41 Uint16 value;
42
43 SDL_RWread(src, &value, (sizeof value), 1);
44 return(SDL_SwapBE16(value));
45 }
46 Uint32 SDL_ReadLE32 (SDL_RWops *src)
47 {
48 Uint32 value;
49
50 SDL_RWread(src, &value, (sizeof value), 1);
51 return(SDL_SwapLE32(value));
52 }
53 Uint32 SDL_ReadBE32 (SDL_RWops *src)
54 {
55 Uint32 value;
56
57 SDL_RWread(src, &value, (sizeof value), 1);
58 return(SDL_SwapBE32(value));
59 }
60 Uint64 SDL_ReadLE64 (SDL_RWops *src)
61 {
62 Uint64 value;
63
64 SDL_RWread(src, &value, (sizeof value), 1);
65 return(SDL_SwapLE64(value));
66 }
67 Uint64 SDL_ReadBE64 (SDL_RWops *src)
68 {
69 Uint64 value;
70
71 SDL_RWread(src, &value, (sizeof value), 1);
72 return(SDL_SwapBE64(value));
73 }
74
75 int SDL_WriteLE16 (SDL_RWops *dst, Uint16 value)
76 {
77 value = SDL_SwapLE16(value);
78 return(SDL_RWwrite(dst, &value, (sizeof value), 1));
79 }
80 int SDL_WriteBE16 (SDL_RWops *dst, Uint16 value)
81 {
82 value = SDL_SwapBE16(value);
83 return(SDL_RWwrite(dst, &value, (sizeof value), 1));
84 }
85 int SDL_WriteLE32 (SDL_RWops *dst, Uint32 value)
86 {
87 value = SDL_SwapLE32(value);
88 return(SDL_RWwrite(dst, &value, (sizeof value), 1));
89 }
90 int SDL_WriteBE32 (SDL_RWops *dst, Uint32 value)
91 {
92 value = SDL_SwapBE32(value);
93 return(SDL_RWwrite(dst, &value, (sizeof value), 1));
94 }
95 int SDL_WriteLE64 (SDL_RWops *dst, Uint64 value)
96 {
97 value = SDL_SwapLE64(value);
98 return(SDL_RWwrite(dst, &value, (sizeof value), 1));
99 }
100 int SDL_WriteBE64 (SDL_RWops *dst, Uint64 value)
101 {
102 value = SDL_SwapBE64(value);
103 return(SDL_RWwrite(dst, &value, (sizeof value), 1));
104 }