SDL_IOFromConstMem(3)

NAME
SDL_IOFromConstMem - Use this function to prepare a read-only memory buffer for use with SDL_IOStream.

SYNOPSIS
#include <SDL3/SDL_iostream.h>

SDL_IOStream * SDL_IOFromConstMem(const void *mem, size_t size);

DESCRIPTION
This function sets up an SDL_IOStream struct based on a memory area of a certain size. It assumes the memory area is not writable.

Attempting to write to this SDL_IOStream stream will report an error without writing to the memory buffer.

This memory buffer is not copied by the SDL_IOStream; the pointer you provide must remain valid until you close the stream.

If you need to write to a memory buffer, you should use SDL_IOFromMem() with a writable buffer of memory instead.

The following properties will be set at creation time by SDL:

• SDL_PROP_IOSTREAM_MEMORY_POINTER: this will be the mem parameter that was passed to this function.

• SDL_PROP_IOSTREAM_MEMORY_SIZE_NUMBER: this will be the size parameter that was passed to this function.

Additionally, the following properties are recognized:

• SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER: if this property is set to a non-NULL value it will be interpreted as a function of SDL_free_func type and called with the passed mem pointer when closing the stream. By default it is unset, i.e., the memory will not be freed.

FUNCTION PARAMETERS

mem a pointer to a read-only buffer to feed an SDL_IOStream stream.

size
    the buffer size, in bytes.

RETURN VALUE
Returns a pointer to a new SDL_IOStream structure or NULL on failure; call SDL_GetError() for more information.

THREAD SAFETY
It is safe to call this function from any thread.

AVAILABILITY
This function is available since SDL 3.2.0.

SEE ALSO
SDL_IOFromMem(3), SDL_CloseIO(3), SDL_ReadIO(3), SDL_SeekIO(3), SDL_TellIO(3)