ALmixer  0.0.5
Data Structures | Macros | Enumerations | Functions
ALmixer_RWops.h File Reference

This file provides a general interface for SDL to read and write data streams. More...

#include "ALmixer.h"
#include <stdio.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  ALmixer_RWops
 This is the read/write operation structure – very basic. More...
 

Macros

#define ALMIXER_HAVE_STDIO_H   1
 
#define ALMIXER_RWOPS_UNKNOWN   0 /* Unknown stream type */
 
#define ALMIXER_RWOPS_WINFILE   1 /* Win32 file */
 
#define ALMIXER_RWOPS_STDFILE   2 /* Stdio file */
 
#define ALMIXER_RWOPS_JNIFILE   3 /* Android asset */
 
#define ALMIXER_RWOPS_MEMORY   4 /* Memory stream */
 
#define ALMIXER_RWOPS_MEMORY_RO   5 /* Read-Only memory stream */
 
#define RW_SEEK_SET   0
 Seek from the beginning of data. More...
 
#define RW_SEEK_CUR   1
 Seek relative to current read point. More...
 
#define RW_SEEK_END   2
 Seek relative to the end of data. More...
 
Read/write macros

Macros to easily read and write from an ALmixer_RWops structure.

#define ALmixer_RWsize(ctx)   (ctx)->size(ctx)
 
#define ALmixer_RWseek(ctx, offset, whence)   (ctx)->seek(ctx, offset, whence)
 
#define ALmixer_RWtell(ctx)   (ctx)->seek(ctx, 0, RW_SEEK_CUR)
 
#define ALmixer_RWread(ctx, ptr, size, n)   (ctx)->read(ctx, ptr, size, n)
 
#define ALmixer_RWwrite(ctx, ptr, size, n)   (ctx)->write(ctx, ptr, size, n)
 
#define ALmixer_RWclose(ctx)   (ctx)->close(ctx)
 

Enumerations

enum  ALmixer_bool { ALMIXER_FALSE = 0, ALMIXER_TRUE = 1 }
 

Functions

ALmixer_RWopsALmixer_AllocRW (void)
 
void ALmixer_FreeRW (ALmixer_RWops *area)
 
RWFrom functions

Functions to create ALmixer_RWops structures from various data streams.

ALmixer_RWopsALmixer_RWFromFile (const char *file, const char *mode)
 
ALmixer_RWopsALmixer_RWFromFP (FILE *fp, ALmixer_bool autoclose)
 
ALmixer_RWopsALmixer_RWFromMem (void *mem, int size)
 
ALmixer_RWopsALmixer_RWFromConstMem (const void *mem, int size)
 
Read endian functions

Read an item of the specified endianness and return in native format.

uint8_t ALmixer_ReadU8 (ALmixer_RWops *src)
 
uint16_t ALmixer_ReadLE16 (ALmixer_RWops *src)
 
uint16_t ALmixer_ReadBE16 (ALmixer_RWops *src)
 
uint32_t ALmixer_ReadLE32 (ALmixer_RWops *src)
 
uint32_t ALmixer_ReadBE32 (ALmixer_RWops *src)
 
uint64_t ALmixer_ReadLE64 (ALmixer_RWops *src)
 
uint64_t ALmixer_ReadBE64 (ALmixer_RWops *src)
 
Write endian functions

Write an item of native format to the specified endianness.

size_t ALmixer_WriteU8 (ALmixer_RWops *dst, uint8_t value)
 
size_t ALmixer_WriteLE16 (ALmixer_RWops *dst, uint16_t value)
 
size_t ALmixer_WriteBE16 (ALmixer_RWops *dst, uint16_t value)
 
size_t ALmixer_WriteLE32 (ALmixer_RWops *dst, uint32_t value)
 
size_t ALmixer_WriteBE32 (ALmixer_RWops *dst, uint32_t value)
 
size_t ALmixer_WriteLE64 (ALmixer_RWops *dst, uint64_t value)
 
size_t ALmixer_WriteBE64 (ALmixer_RWops *dst, uint64_t value)
 

Detailed Description

This file provides a general interface for SDL to read and write data streams.

It can easily be extended to files, memory, etc.

Macro Definition Documentation

◆ ALMIXER_HAVE_STDIO_H

#define ALMIXER_HAVE_STDIO_H   1

◆ ALmixer_RWclose

#define ALmixer_RWclose (   ctx)    (ctx)->close(ctx)

◆ ALMIXER_RWOPS_JNIFILE

#define ALMIXER_RWOPS_JNIFILE   3 /* Android asset */

◆ ALMIXER_RWOPS_MEMORY

#define ALMIXER_RWOPS_MEMORY   4 /* Memory stream */

◆ ALMIXER_RWOPS_MEMORY_RO

#define ALMIXER_RWOPS_MEMORY_RO   5 /* Read-Only memory stream */

◆ ALMIXER_RWOPS_STDFILE

#define ALMIXER_RWOPS_STDFILE   2 /* Stdio file */

◆ ALMIXER_RWOPS_UNKNOWN

#define ALMIXER_RWOPS_UNKNOWN   0 /* Unknown stream type */

◆ ALMIXER_RWOPS_WINFILE

#define ALMIXER_RWOPS_WINFILE   1 /* Win32 file */

◆ ALmixer_RWread

#define ALmixer_RWread (   ctx,
  ptr,
  size,
 
)    (ctx)->read(ctx, ptr, size, n)

◆ ALmixer_RWseek

#define ALmixer_RWseek (   ctx,
  offset,
  whence 
)    (ctx)->seek(ctx, offset, whence)

◆ ALmixer_RWsize

#define ALmixer_RWsize (   ctx)    (ctx)->size(ctx)

◆ ALmixer_RWtell

#define ALmixer_RWtell (   ctx)    (ctx)->seek(ctx, 0, RW_SEEK_CUR)

◆ ALmixer_RWwrite

#define ALmixer_RWwrite (   ctx,
  ptr,
  size,
 
)    (ctx)->write(ctx, ptr, size, n)

◆ RW_SEEK_CUR

#define RW_SEEK_CUR   1

Seek relative to current read point.

◆ RW_SEEK_END

#define RW_SEEK_END   2

Seek relative to the end of data.

◆ RW_SEEK_SET

#define RW_SEEK_SET   0

Seek from the beginning of data.

Enumeration Type Documentation

◆ ALmixer_bool

Enumerator
ALMIXER_FALSE 
ALMIXER_TRUE 

Function Documentation

◆ ALmixer_AllocRW()

ALmixer_RWops* ALmixer_AllocRW ( void  )

◆ ALmixer_FreeRW()

void ALmixer_FreeRW ( ALmixer_RWops area)

◆ ALmixer_ReadBE16()

uint16_t ALmixer_ReadBE16 ( ALmixer_RWops src)

◆ ALmixer_ReadBE32()

uint32_t ALmixer_ReadBE32 ( ALmixer_RWops src)

◆ ALmixer_ReadBE64()

uint64_t ALmixer_ReadBE64 ( ALmixer_RWops src)

◆ ALmixer_ReadLE16()

uint16_t ALmixer_ReadLE16 ( ALmixer_RWops src)

◆ ALmixer_ReadLE32()

uint32_t ALmixer_ReadLE32 ( ALmixer_RWops src)

◆ ALmixer_ReadLE64()

uint64_t ALmixer_ReadLE64 ( ALmixer_RWops src)

◆ ALmixer_ReadU8()

uint8_t ALmixer_ReadU8 ( ALmixer_RWops src)

◆ ALmixer_RWFromConstMem()

ALmixer_RWops* ALmixer_RWFromConstMem ( const void *  mem,
int  size 
)

◆ ALmixer_RWFromFile()

ALmixer_RWops* ALmixer_RWFromFile ( const char *  file,
const char *  mode 
)

◆ ALmixer_RWFromFP()

ALmixer_RWops* ALmixer_RWFromFP ( FILE *  fp,
ALmixer_bool  autoclose 
)

◆ ALmixer_RWFromMem()

ALmixer_RWops* ALmixer_RWFromMem ( void *  mem,
int  size 
)

◆ ALmixer_WriteBE16()

size_t ALmixer_WriteBE16 ( ALmixer_RWops dst,
uint16_t  value 
)

◆ ALmixer_WriteBE32()

size_t ALmixer_WriteBE32 ( ALmixer_RWops dst,
uint32_t  value 
)

◆ ALmixer_WriteBE64()

size_t ALmixer_WriteBE64 ( ALmixer_RWops dst,
uint64_t  value 
)

◆ ALmixer_WriteLE16()

size_t ALmixer_WriteLE16 ( ALmixer_RWops dst,
uint16_t  value 
)

◆ ALmixer_WriteLE32()

size_t ALmixer_WriteLE32 ( ALmixer_RWops dst,
uint32_t  value 
)

◆ ALmixer_WriteLE64()

size_t ALmixer_WriteLE64 ( ALmixer_RWops dst,
uint64_t  value 
)

◆ ALmixer_WriteU8()

size_t ALmixer_WriteU8 ( ALmixer_RWops dst,
uint8_t  value 
)