Buckets:
| /* | |
| Simple DirectMedia Layer | |
| Copyright (C) 1997-2011 Sam Lantinga <slouken@libsdl.org> | |
| This software is provided 'as-is', without any express or implied | |
| warranty. In no event will the authors be held liable for any damages | |
| arising from the use of this software. | |
| Permission is granted to anyone to use this software for any purpose, | |
| including commercial applications, and to alter it and redistribute it | |
| freely, subject to the following restrictions: | |
| 1. The origin of this software must not be misrepresented; you must not | |
| claim that you wrote the original software. If you use this software | |
| in a product, an acknowledgment in the product documentation would be | |
| appreciated but is not required. | |
| 2. Altered source versions must be plainly marked as such, and must not be | |
| misrepresented as being the original software. | |
| 3. This notice may not be removed or altered from any source distribution. | |
| */ | |
| /** | |
| * \file SDL_rwops.h | |
| * | |
| * This file provides a general interface for SDL to read and write | |
| * data streams. It can easily be extended to files, memory, etc. | |
| */ | |
| /* Set up for C function definitions, even when using C++ */ | |
| /* *INDENT-OFF* */ | |
| extern "C" { | |
| /* *INDENT-ON* */ | |
| /** | |
| * This is the read/write operation structure -- very basic. | |
| */ | |
| typedef struct SDL_RWops | |
| { | |
| /** | |
| * Seek to \c offset relative to \c whence, one of stdio's whence values: | |
| * RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END | |
| * | |
| * \return the final offset in the data stream. | |
| */ | |
| long (SDLCALL * seek) (struct SDL_RWops * context, long offset, | |
| int whence); | |
| /** | |
| * Read up to \c maxnum objects each of size \c size from the data | |
| * stream to the area pointed at by \c ptr. | |
| * | |
| * \return the number of objects read, or 0 at error or end of file. | |
| */ | |
| size_t(SDLCALL * read) (struct SDL_RWops * context, void *ptr, | |
| size_t size, size_t maxnum); | |
| /** | |
| * Write exactly \c num objects each of size \c size from the area | |
| * pointed at by \c ptr to data stream. | |
| * | |
| * \return the number of objects written, or 0 at error or end of file. | |
| */ | |
| size_t(SDLCALL * write) (struct SDL_RWops * context, const void *ptr, | |
| size_t size, size_t num); | |
| /** | |
| * Close and free an allocated SDL_RWops structure. | |
| * | |
| * \return 0 if successful or -1 on write error when flushing data. | |
| */ | |
| int (SDLCALL * close) (struct SDL_RWops * context); | |
| Uint32 type; | |
| union | |
| { | |
| struct | |
| { | |
| void *fileName; | |
| void *fileNameRef; | |
| void *inputStream; | |
| void *inputStreamRef; | |
| void *skipMethod; | |
| void *readableByteChannel; | |
| void *readableByteChannelRef; | |
| void *readMethod; | |
| long position; | |
| int size; | |
| } androidio; | |
| struct | |
| { | |
| SDL_bool append; | |
| void *h; | |
| struct | |
| { | |
| void *data; | |
| size_t size; | |
| size_t left; | |
| } buffer; | |
| } windowsio; | |
| struct | |
| { | |
| SDL_bool autoclose; | |
| FILE *fp; | |
| } stdio; | |
| struct | |
| { | |
| Uint8 *base; | |
| Uint8 *here; | |
| Uint8 *stop; | |
| } mem; | |
| struct | |
| { | |
| void *data1; | |
| } unknown; | |
| } hidden; | |
| } SDL_RWops; | |
| /** | |
| * \name RWFrom functions | |
| * | |
| * Functions to create SDL_RWops structures from various data streams. | |
| */ | |
| /*@{*/ | |
| extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFile(const char *file, | |
| const char *mode); | |
| extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFP(FILE * fp, | |
| SDL_bool autoclose); | |
| extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromFP(void * fp, | |
| SDL_bool autoclose); | |
| extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromMem(void *mem, int size); | |
| extern DECLSPEC SDL_RWops *SDLCALL SDL_RWFromConstMem(const void *mem, | |
| int size); | |
| /*@}*//*RWFrom functions*/ | |
| extern DECLSPEC SDL_RWops *SDLCALL SDL_AllocRW(void); | |
| extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops * area); | |
| /** | |
| * \name Read/write macros | |
| * | |
| * Macros to easily read and write from an SDL_RWops structure. | |
| */ | |
| /*@{*/ | |
| /*@}*//*Read/write macros*/ | |
| /** | |
| * \name Read endian functions | |
| * | |
| * Read an item of the specified endianness and return in native format. | |
| */ | |
| /*@{*/ | |
| extern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops * src); | |
| extern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops * src); | |
| extern DECLSPEC Uint32 SDLCALL SDL_ReadLE32(SDL_RWops * src); | |
| extern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops * src); | |
| extern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops * src); | |
| extern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops * src); | |
| /*@}*//*Read endian functions*/ | |
| /** | |
| * \name Write endian functions | |
| * | |
| * Write an item of native format to the specified endianness. | |
| */ | |
| /*@{*/ | |
| extern DECLSPEC size_t SDLCALL SDL_WriteLE16(SDL_RWops * dst, Uint16 value); | |
| extern DECLSPEC size_t SDLCALL SDL_WriteBE16(SDL_RWops * dst, Uint16 value); | |
| extern DECLSPEC size_t SDLCALL SDL_WriteLE32(SDL_RWops * dst, Uint32 value); | |
| extern DECLSPEC size_t SDLCALL SDL_WriteBE32(SDL_RWops * dst, Uint32 value); | |
| extern DECLSPEC size_t SDLCALL SDL_WriteLE64(SDL_RWops * dst, Uint64 value); | |
| extern DECLSPEC size_t SDLCALL SDL_WriteBE64(SDL_RWops * dst, Uint64 value); | |
| /*@}*//*Write endian functions*/ | |
| /* Ends C function definitions when using C++ */ | |
| /* *INDENT-OFF* */ | |
| } | |
| /* *INDENT-ON* */ | |
| /* vi: set ts=4 sw=4 expandtab: */ | |
Xet Storage Details
- Size:
- 6.62 kB
- Xet hash:
- f58a80400f54f6e0850fa4fff85f3923d761dba60d91bb773d4f630b294d0e49
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.