sdlIoFromConstMem function

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

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

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. Closing the stream will not free the original buffer.

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.

\param mem a pointer to a read-only 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_IOFromMem \sa SDL_CloseIO \sa SDL_ReadIO \sa SDL_SeekIO \sa SDL_TellIO

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

Implementation

Pointer<SdlIoStream> sdlIoFromConstMem(Pointer<NativeType> mem, int size) {
  final sdlIoFromConstMemLookupFunction = libSdl3.lookupFunction<
      Pointer<SdlIoStream> Function(Pointer<NativeType> mem, Uint32 size),
      Pointer<SdlIoStream> Function(
          Pointer<NativeType> mem, int size)>('SDL_IOFromConstMem');
  return sdlIoFromConstMemLookupFunction(mem, size);
}