sdlLoadFileIo function

Pointer<NativeType> sdlLoadFileIo(
  1. Pointer<SdlIoStream> src,
  2. Pointer<Uint32> datasize,
  3. bool closeio
)

Load all the data from an SDL data stream.

The data is allocated with a zero byte at the end (null terminated) for convenience. This extra byte is not included in the value reported via datasize.

The data should be freed with SDL_free().

\param src the SDL_IOStream to read all available data from. \param datasize a pointer filled in with the number of bytes read, may be NULL. \param closeio if true, calls SDL_CloseIO() on src before returning, even in the case of an error. \returns the data or NULL on failure; call SDL_GetError() for more information.

\since This function is available since SDL 3.1.3.

\sa SDL_LoadFile \sa SDL_SaveFile_IO

extern SDL_DECLSPEC void * SDLCALL SDL_LoadFile_IO(SDL_IOStream *src, size_t *datasize, bool closeio)

Implementation

Pointer<NativeType> sdlLoadFileIo(
    Pointer<SdlIoStream> src, Pointer<Uint32> datasize, bool closeio) {
  final sdlLoadFileIoLookupFunction = libSdl3.lookupFunction<
      Pointer<NativeType> Function(
          Pointer<SdlIoStream> src, Pointer<Uint32> datasize, Uint8 closeio),
      Pointer<NativeType> Function(Pointer<SdlIoStream> src,
          Pointer<Uint32> datasize, int closeio)>('SDL_LoadFile_IO');
  return sdlLoadFileIoLookupFunction(src, datasize, closeio ? 1 : 0);
}