~ubuntu-branches/ubuntu/precise/openarena/precise

« back to all changes in this revision

Viewing changes to code/SDL12/include/SDL_rwops.h

  • Committer: Bazaar Package Importer
  • Author(s): Ansgar Burchardt
  • Date: 2008-09-05 21:14:51 UTC
  • mfrom: (1.2.1 upstream) (2.1.5 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080905211451-243bmbl6l6gdav7l
* Remove non-free code/tools/lcc (Closes: #496346)
  + Remove hunk from patch 10_fix_build_and_binary_on_alpha
  + debian/rules: Add BUILD_GAME_QVM=0 to $(MAKE) call
    (thanks to Peter De Wachter)
* Remove code/libs containing binary libraries for Mac OS X and Win32
* debian/copyright: Explain which parts of upstream's sources were removed
* debian/rules: replace ${source:Upstream-Version} by 0.7.7
  because the variable also contains the `+dfsg1' part
* Add -fsigned-char to compiler options (Closes: #487970)
  (thanks to Peter De Wachter)
* Add myself to Uploaders
* debian/control: Remove article from beginning of short description,
  don't start short description with a capital letter
* debian/openarena.6: Escape minus signs
  + fixes lintian warnings: hyphen-used-as-minus-sign

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
    SDL - Simple DirectMedia Layer
3
 
    Copyright (C) 1997-2004 Sam Lantinga
 
3
    Copyright (C) 1997-2006 Sam Lantinga
4
4
 
5
5
    This library is free software; you can redistribute it and/or
6
 
    modify it under the terms of the GNU Library General Public
 
6
    modify it under the terms of the GNU Lesser General Public
7
7
    License as published by the Free Software Foundation; either
8
 
    version 2 of the License, or (at your option) any later version.
 
8
    version 2.1 of the License, or (at your option) any later version.
9
9
 
10
10
    This library is distributed in the hope that it will be useful,
11
11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
12
12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13
 
    Library General Public License for more details.
 
13
    Lesser General Public License for more details.
14
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
 
15
    You should have received a copy of the GNU Lesser General Public
 
16
    License along with this library; if not, write to the Free Software
 
17
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 
19
19
    Sam Lantinga
20
20
    slouken@libsdl.org
21
21
*/
22
22
 
23
 
#ifdef SAVE_RCSID
24
 
static char rcsid =
25
 
 "@(#) $Id: SDL_rwops.h,v 1.8 2004/08/20 18:57:01 slouken Exp $";
26
 
#endif
27
 
 
28
23
/* This file provides a general interface for SDL to read and write
29
24
   data sources.  It can easily be extended to files, memory, etc.
30
25
*/
31
26
 
32
 
#ifndef _SDL_RWops_h
33
 
#define _SDL_RWops_h
34
 
 
35
 
#include <stdio.h>
36
 
 
37
 
#include "SDL_types.h"
 
27
#ifndef _SDL_rwops_h
 
28
#define _SDL_rwops_h
 
29
 
 
30
#include "SDL_stdinc.h"
 
31
#include "SDL_error.h"
38
32
 
39
33
#include "begin_code.h"
40
34
/* Set up for C function definitions, even when using C++ */
68
62
 
69
63
        Uint32 type;
70
64
        union {
 
65
#ifdef __WIN32__
 
66
            struct {
 
67
                int    append;
 
68
                void*  h;
 
69
            } win32io;
 
70
#endif
 
71
#ifdef HAVE_STDIO_H 
71
72
            struct {
72
73
                int autoclose;
73
74
                FILE *fp;
74
75
            } stdio;
 
76
#endif
75
77
            struct {
76
78
                Uint8 *base;
77
79
                Uint8 *here;
89
91
 
90
92
extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromFile(const char *file, const char *mode);
91
93
 
 
94
#ifdef HAVE_STDIO_H
92
95
extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromFP(FILE *fp, int autoclose);
 
96
#endif
93
97
 
94
98
extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromMem(void *mem, int size);
95
99
extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromConstMem(const void *mem, int size);
97
101
extern DECLSPEC SDL_RWops * SDLCALL SDL_AllocRW(void);
98
102
extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops *area);
99
103
 
 
104
#define RW_SEEK_SET     0       /* Seek from the beginning of data */
 
105
#define RW_SEEK_CUR     1       /* Seek relative to current read point */
 
106
#define RW_SEEK_END     2       /* Seek relative to the end of data */
 
107
 
100
108
/* Macros to easily read and write from an SDL_RWops structure */
101
109
#define SDL_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence)
102
 
#define SDL_RWtell(ctx)                 (ctx)->seek(ctx, 0, SEEK_CUR)
 
110
#define SDL_RWtell(ctx)                 (ctx)->seek(ctx, 0, RW_SEEK_CUR)
103
111
#define SDL_RWread(ctx, ptr, size, n)   (ctx)->read(ctx, ptr, size, n)
104
112
#define SDL_RWwrite(ctx, ptr, size, n)  (ctx)->write(ctx, ptr, size, n)
105
113
#define SDL_RWclose(ctx)                (ctx)->close(ctx)
106
114
 
107
115
 
 
116
/* Read an item of the specified endianness and return in native format */
 
117
extern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops *src);
 
118
extern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops *src);
 
119
extern DECLSPEC Uint32 SDLCALL SDL_ReadLE32(SDL_RWops *src);
 
120
extern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops *src);
 
121
extern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops *src);
 
122
extern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops *src);
 
123
 
 
124
/* Write an item of native format to the specified endianness */
 
125
extern DECLSPEC int SDLCALL SDL_WriteLE16(SDL_RWops *dst, Uint16 value);
 
126
extern DECLSPEC int SDLCALL SDL_WriteBE16(SDL_RWops *dst, Uint16 value);
 
127
extern DECLSPEC int SDLCALL SDL_WriteLE32(SDL_RWops *dst, Uint32 value);
 
128
extern DECLSPEC int SDLCALL SDL_WriteBE32(SDL_RWops *dst, Uint32 value);
 
129
extern DECLSPEC int SDLCALL SDL_WriteLE64(SDL_RWops *dst, Uint64 value);
 
130
extern DECLSPEC int SDLCALL SDL_WriteBE64(SDL_RWops *dst, Uint64 value);
 
131
 
 
132
 
108
133
/* Ends C function definitions when using C++ */
109
134
#ifdef __cplusplus
110
135
}
111
136
#endif
112
137
#include "close_code.h"
113
138
 
114
 
#endif /* _SDL_RWops_h */
 
139
#endif /* _SDL_rwops_h */