29 #ifndef _ALmixer_rwops_h 30 #define _ALmixer_rwops_h 45 #ifndef ALMIXER_SHOULD_DISABLE_STDIO 46 #define ALMIXER_HAVE_STDIO_H 1 54 #if defined(_MSC_VER) && (_MSC_VER < 1600) 55 #ifndef ALMIXER_SHOULD_DISABLE_STDINT_REPLACEMENT 57 typedef unsigned int size_t;
58 typedef signed char int8_t;
59 typedef unsigned char uint8_t;
60 typedef signed short int16_t;
61 typedef unsigned short uint16_t;
62 typedef signed int int32_t;
63 typedef unsigned int uint32_t;
64 typedef signed long long int64_t;
65 typedef unsigned long long uint64_t;
66 typedef unsigned long uintptr_t;
67 #define ALMIXER_NOW_USING_STDINT_REPLACEMENT 1 86 #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__) 88 #pragma warning(disable: 4103) 108 #define ALMIXER_RWOPS_UNKNOWN 0 109 #define ALMIXER_RWOPS_WINFILE 1 110 #define ALMIXER_RWOPS_STDFILE 2 111 #define ALMIXER_RWOPS_JNIFILE 3 112 #define ALMIXER_RWOPS_MEMORY 4 113 #define ALMIXER_RWOPS_MEMORY_RO 5 141 size_t size,
size_t maxnum);
150 size_t size,
size_t num);
162 #if defined(__ANDROID__) 166 void *inputStreamRef;
167 void *readableByteChannelRef;
169 void *assetFileDescriptorRef;
175 #elif defined(__WIN32__) 189 #ifdef ALMIXER_HAVE_STDIO_H 222 #ifdef ALMIXER_HAVE_STDIO_H 240 #define RW_SEEK_SET 0 241 #define RW_SEEK_CUR 1 242 #define RW_SEEK_END 2 250 #define ALmixer_RWsize(ctx) (ctx)->size(ctx) 251 #define ALmixer_RWseek(ctx, offset, whence) (ctx)->seek(ctx, offset, whence) 252 #define ALmixer_RWtell(ctx) (ctx)->seek(ctx, 0, RW_SEEK_CUR) 253 #define ALmixer_RWread(ctx, ptr, size, n) (ctx)->read(ctx, ptr, size, n) 254 #define ALmixer_RWwrite(ctx, ptr, size, n) (ctx)->write(ctx, ptr, size, n) 255 #define ALmixer_RWclose(ctx) (ctx)->close(ctx) 297 #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__) || defined(__BORLANDC__) 299 #pragma nopackwarning ALmixer_bool
Definition: ALmixer_RWops.h:72
void * data1
Definition: ALmixer_RWops.h:204
size_t ALmixer_WriteLE32(ALmixer_RWops *dst, uint32_t value)
uint64_t ALmixer_ReadBE64(ALmixer_RWops *src)
uint16_t ALmixer_ReadLE16(ALmixer_RWops *src)
uint8_t * base
Definition: ALmixer_RWops.h:198
ALmixer_RWops * ALmixer_RWFromFP(FILE *fp, ALmixer_bool autoclose)
uint8_t ALmixer_ReadU8(ALmixer_RWops *src)
uint16_t ALmixer_ReadBE16(ALmixer_RWops *src)
uint8_t * here
Definition: ALmixer_RWops.h:199
int64_t(* seek)(struct ALmixer_RWops *context, int64_t offset, int whence)
Seek to offset relative to whence, one of stdio's whence values: RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END.
Definition: ALmixer_RWops.h:131
struct ALmixer_RWops::@0::@1 stdio
int(* close)(struct ALmixer_RWops *context)
Close and free an allocated ALmixer_RWops structure.
Definition: ALmixer_RWops.h:157
union ALmixer_RWops::@0 hidden
struct ALmixer_RWops::@0::@3 unknown
Definition: ALmixer_RWops.h:75
uint32_t ALmixer_ReadLE32(ALmixer_RWops *src)
struct ALmixer_RWops::@0::@2 mem
void * data2
Definition: ALmixer_RWops.h:205
ALmixer_bool autoclose
Definition: ALmixer_RWops.h:192
ALmixer (which I sometimes call "SDL-OpenAL-Mixer" or "SDL_ALmixer") is a cross-platform audio librar...
ALmixer_RWops * ALmixer_RWFromConstMem(const void *mem, int size)
size_t ALmixer_WriteBE16(ALmixer_RWops *dst, uint16_t value)
void ALmixer_FreeRW(ALmixer_RWops *area)
ALmixer_RWops * ALmixer_AllocRW(void)
size_t(* write)(struct ALmixer_RWops *context, const void *ptr, size_t size, size_t num)
Write exactly num objects each of size size from the area pointed at by ptr to data stream...
Definition: ALmixer_RWops.h:149
uint64_t ALmixer_ReadLE64(ALmixer_RWops *src)
FILE * fp
Definition: ALmixer_RWops.h:193
uint32_t type
Definition: ALmixer_RWops.h:159
ALmixer_RWops * ALmixer_RWFromMem(void *mem, int size)
size_t(* read)(struct ALmixer_RWops *context, void *ptr, size_t size, size_t maxnum)
Read up to maxnum objects each of size size from the data stream to the area pointed at by ptr...
Definition: ALmixer_RWops.h:140
uint8_t * stop
Definition: ALmixer_RWops.h:200
size_t ALmixer_WriteU8(ALmixer_RWops *dst, uint8_t value)
int64_t(* size)(struct ALmixer_RWops *context)
Return the size of the file in this rwops, or -1 if unknown.
Definition: ALmixer_RWops.h:123
ALmixer_RWops * ALmixer_RWFromFile(const char *file, const char *mode)
size_t ALmixer_WriteLE64(ALmixer_RWops *dst, uint64_t value)
size_t ALmixer_WriteLE16(ALmixer_RWops *dst, uint16_t value)
size_t ALmixer_WriteBE32(ALmixer_RWops *dst, uint32_t value)
size_t ALmixer_WriteBE64(ALmixer_RWops *dst, uint64_t value)
uint32_t ALmixer_ReadBE32(ALmixer_RWops *src)
Definition: ALmixer_RWops.h:74
This is the read/write operation structure – very basic.
Definition: ALmixer_RWops.h:118