sdlIoFromMem function

Pointer<SdlIoStream> sdlIoFromMem(
  1. Pointer<NativeType> mem,
  2. int size
)

Use this function to prepare a read-write memory buffer for use with SDL_IOStream.

This function sets up an SDL_IOStream struct based on a memory area of a certain size, for both read and write access.

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

If you need to make sure the SDL_IOStream never writes to the memory buffer, you should use SDL_IOFromConstMem() with a read-only 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.

\param mem a pointer to a buffer to feed an SDL_IOStream stream. \param size the buffer size, in bytes. \returns a pointer to a new SDL_IOStream structure or NULL on failure; call SDL_GetError() for more information.

\since This function is available since SDL 3.1.3.

\sa SDL_IOFromConstMem \sa SDL_CloseIO \sa SDL_FlushIO \sa SDL_ReadIO \sa SDL_SeekIO \sa SDL_TellIO \sa SDL_WriteIO

extern SDL_DECLSPEC SDL_IOStream * SDLCALL SDL_IOFromMem(void *mem, size_t size)

Implementation

Pointer<SdlIoStream> sdlIoFromMem(Pointer<NativeType> mem, int size) {
  final sdlIoFromMemLookupFunction = libSdl3.lookupFunction<
      Pointer<SdlIoStream> Function(Pointer<NativeType> mem, Uint32 size),
      Pointer<SdlIoStream> Function(
          Pointer<NativeType> mem, int size)>('SDL_IOFromMem');
  return sdlIoFromMemLookupFunction(mem, size);
}