sdl3-bindgen-sys
Safe HaskellNone
LanguageGHC2021

SDL3.Sys.Bindgen.Iostream

Description

SDL provides an abstract interface for reading and writing data streams. It offers implementations for files, memory, etc, and the app can provide their own implementations, too.

SDL_IOStream is not related to the standard C++ iostream class, other than both are abstract interfaces to read/write data. SDL_IOStream status, set by a read or write operation.

Since: 3.2.0

Synopsis

Documentation

newtype SDL_IOStatus Source #

C declaration
enum SDL_IOStatus, defined at SDL3/SDL_iostream.h 53:14

Constructors

SDL_IOStatus 

Fields

Instances

Instances details
Storable SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Generic SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type Rep SDL_IOStatus 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type Rep SDL_IOStatus = D1 ('MetaData "SDL_IOStatus" "SDL3.Sys.Bindgen.Iostream" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_IOStatus" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUInt)))
Read SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Show SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Eq SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Ord SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Prim SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

CEnum SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CEnumZ SDL_IOStatus 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

SequentialCEnum SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasFFIType SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type FFIType SDL_IOStatus 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ReadRaw SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

StaticSize SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

WriteRaw SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasCField SDL_IOStatus "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CFieldType SDL_IOStatus "unwrap" 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStatus "unwrap" = CUInt

Methods

offset# :: Proxy# SDL_IOStatus -> Proxy# "unwrap" -> Int #

ty ~ CUInt => HasField "unwrap" SDL_IOStatus ty Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Methods

hasField :: SDL_IOStatus -> (ty -> SDL_IOStatus, ty) #

ty ~ CUInt => HasField "unwrap" (Ptr SDL_IOStatus) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Methods

getField :: Ptr SDL_IOStatus -> Ptr ty #

type Rep SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type Rep SDL_IOStatus = D1 ('MetaData "SDL_IOStatus" "SDL3.Sys.Bindgen.Iostream" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_IOStatus" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUInt)))
type CEnumZ SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type FFIType SDL_IOStatus Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStatus "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStatus "unwrap" = CUInt

pattern SDL_IO_STATUS_READY :: SDL_IOStatus Source #

Everything is ready (no errors and not EOF).

C declaration
SDL_IO_STATUS_READY, defined at SDL3/SDL_iostream.h 55:5

pattern SDL_IO_STATUS_ERROR :: SDL_IOStatus Source #

Read or write I/O error

C declaration
SDL_IO_STATUS_ERROR, defined at SDL3/SDL_iostream.h 56:5

pattern SDL_IO_STATUS_EOF :: SDL_IOStatus Source #

End of file

C declaration
SDL_IO_STATUS_EOF, defined at SDL3/SDL_iostream.h 57:5

pattern SDL_IO_STATUS_NOT_READY :: SDL_IOStatus Source #

Non blocking I/O, not ready

C declaration
SDL_IO_STATUS_NOT_READY, defined at SDL3/SDL_iostream.h 58:5

pattern SDL_IO_STATUS_READONLY :: SDL_IOStatus Source #

Tried to write a read-only buffer

C declaration
SDL_IO_STATUS_READONLY, defined at SDL3/SDL_iostream.h 59:5

pattern SDL_IO_STATUS_WRITEONLY :: SDL_IOStatus Source #

Tried to read a write-only buffer

C declaration
SDL_IO_STATUS_WRITEONLY, defined at SDL3/SDL_iostream.h 60:5

newtype SDL_IOWhence Source #

Possible whence values for SDL_IOStream seeking.

These map to the same "whence" concept that fseek or lseek use in the standard C runtime.

C declaration
enum SDL_IOWhence, defined at SDL3/SDL_iostream.h 71:14

Since: 3.2.0

Constructors

SDL_IOWhence 

Fields

Instances

Instances details
Storable SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Generic SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type Rep SDL_IOWhence 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type Rep SDL_IOWhence = D1 ('MetaData "SDL_IOWhence" "SDL3.Sys.Bindgen.Iostream" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_IOWhence" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUInt)))
Read SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Show SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Eq SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Ord SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Prim SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

CEnum SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CEnumZ SDL_IOWhence 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

SequentialCEnum SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasFFIType SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type FFIType SDL_IOWhence 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ReadRaw SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

StaticSize SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

WriteRaw SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasCField SDL_IOWhence "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CFieldType SDL_IOWhence "unwrap" 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOWhence "unwrap" = CUInt

Methods

offset# :: Proxy# SDL_IOWhence -> Proxy# "unwrap" -> Int #

ty ~ CUInt => HasField "unwrap" SDL_IOWhence ty Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Methods

hasField :: SDL_IOWhence -> (ty -> SDL_IOWhence, ty) #

ty ~ CUInt => HasField "unwrap" (Ptr SDL_IOWhence) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Methods

getField :: Ptr SDL_IOWhence -> Ptr ty #

type Rep SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type Rep SDL_IOWhence = D1 ('MetaData "SDL_IOWhence" "SDL3.Sys.Bindgen.Iostream" "sdl3-bindgen-sys-0.0.1.0-inplace" 'True) (C1 ('MetaCons "SDL_IOWhence" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUInt)))
type CEnumZ SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type FFIType SDL_IOWhence Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOWhence "unwrap" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOWhence "unwrap" = CUInt

pattern SDL_IO_SEEK_SET :: SDL_IOWhence Source #

Seek from the beginning of data

C declaration
SDL_IO_SEEK_SET, defined at SDL3/SDL_iostream.h 73:5

pattern SDL_IO_SEEK_CUR :: SDL_IOWhence Source #

Seek relative to current read point

C declaration
SDL_IO_SEEK_CUR, defined at SDL3/SDL_iostream.h 74:5

pattern SDL_IO_SEEK_END :: SDL_IOWhence Source #

Seek relative to the end of data

C declaration
SDL_IO_SEEK_END, defined at SDL3/SDL_iostream.h 75:5

data SDL_IOStreamInterface Source #

The function pointers that drive an SDL_IOStream.

Applications can provide this struct to SDL_OpenIO() to create their own implementation of SDL_IOStream. This is not necessarily required, as SDL already offers several common types of I/O streams, via functions like SDL_IOFromFile() and SDL_IOFromMem().

This structure should be initialized using SDL_INIT_INTERFACE()

See also
SDL_INIT_INTERFACE
C declaration
struct SDL_IOStreamInterface, defined at SDL3/SDL_iostream.h 92:16

Since: 3.2.0

Constructors

SDL_IOStreamInterface 

Fields

Instances

Instances details
Storable SDL_IOStreamInterface Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Generic SDL_IOStreamInterface Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Show SDL_IOStreamInterface Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Eq SDL_IOStreamInterface Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ReadRaw SDL_IOStreamInterface Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

StaticSize SDL_IOStreamInterface Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

WriteRaw SDL_IOStreamInterface Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

IsStruct SDL_IOStreamInterface Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasCField SDL_IOStreamInterface "close" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CFieldType SDL_IOStreamInterface "close" 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasCField SDL_IOStreamInterface "flush" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CFieldType SDL_IOStreamInterface "flush" 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasCField SDL_IOStreamInterface "read" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CFieldType SDL_IOStreamInterface "read" 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasCField SDL_IOStreamInterface "seek" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CFieldType SDL_IOStreamInterface "seek" 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasCField SDL_IOStreamInterface "size" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CFieldType SDL_IOStreamInterface "size" 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

HasCField SDL_IOStreamInterface "version" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CFieldType SDL_IOStreamInterface "version" 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Methods

offset# :: Proxy# SDL_IOStreamInterface -> Proxy# "version" -> Int #

HasCField SDL_IOStreamInterface "write" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

Associated Types

type CFieldType SDL_IOStreamInterface "write" 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> IO CBool) => HasField "close" SDL_IOStreamInterface ty Source #
C declaration
close, defined at SDL3/SDL_iostream.h 158:20
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> Ptr SDL_IOStatus -> IO CBool) => HasField "flush" SDL_IOStreamInterface ty Source #
C declaration
flush, defined at SDL3/SDL_iostream.h 145:20
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> Ptr Void -> CSize -> Ptr SDL_IOStatus -> IO CSize) => HasField "read" SDL_IOStreamInterface ty Source #
C declaration
read, defined at SDL3/SDL_iostream.h 122:22
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> Sint64 -> SDL_IOWhence -> IO Sint64) => HasField "seek" SDL_IOStreamInterface ty Source #
C declaration
seek, defined at SDL3/SDL_iostream.h 110:22
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> IO Sint64) => HasField "size" SDL_IOStreamInterface ty Source #
C declaration
size, defined at SDL3/SDL_iostream.h 102:22
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ Uint32 => HasField "version" SDL_IOStreamInterface ty Source #
C declaration
version, defined at SDL3/SDL_iostream.h 95:12
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> PtrConst Void -> CSize -> Ptr SDL_IOStatus -> IO CSize) => HasField "write" SDL_IOStreamInterface ty Source #
C declaration
write, defined at SDL3/SDL_iostream.h 134:22
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> IO CBool) => HasField "close" (Ptr SDL_IOStreamInterface) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> Ptr SDL_IOStatus -> IO CBool) => HasField "flush" (Ptr SDL_IOStreamInterface) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> Ptr Void -> CSize -> Ptr SDL_IOStatus -> IO CSize) => HasField "read" (Ptr SDL_IOStreamInterface) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> Sint64 -> SDL_IOWhence -> IO Sint64) => HasField "seek" (Ptr SDL_IOStreamInterface) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> IO Sint64) => HasField "size" (Ptr SDL_IOStreamInterface) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ Uint32 => HasField "version" (Ptr SDL_IOStreamInterface) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

ty ~ FunPtr (Ptr Void -> PtrConst Void -> CSize -> Ptr SDL_IOStatus -> IO CSize) => HasField "write" (Ptr SDL_IOStreamInterface) (Ptr ty :: Type) Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type Rep SDL_IOStreamInterface Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStreamInterface "close" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStreamInterface "flush" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStreamInterface "read" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStreamInterface "seek" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStreamInterface "size" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStreamInterface "version" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

type CFieldType SDL_IOStreamInterface "write" Source # 
Instance details

Defined in SDL3.Sys.Bindgen.Iostream

data SDL_IOStream Source #

The read/write operation structure.

This operates as an opaque handle. There are several APIs to create various types of I/O streams, or an app can supply an SDL_IOStreamInterface to SDL_OpenIO() to provide their own stream implementation behind this struct's abstract interface.

C declaration
struct SDL_IOStream, defined at SDL3/SDL_iostream.h 182:16

Since: 3.2.0

sDL_PROP_IOSTREAM_WINDOWS_HANDLE_POINTER :: ByteString Source #

C declaration
macro SDL_PROP_IOSTREAM_WINDOWS_HANDLE_POINTER, literal "SDL.iostream.windows.handle", defined at SDL3/SDL_iostream.h 280:9

sDL_PROP_IOSTREAM_STDIO_FILE_POINTER :: ByteString Source #

C declaration
macro SDL_PROP_IOSTREAM_STDIO_FILE_POINTER, literal "SDL.iostream.stdio.file", defined at SDL3/SDL_iostream.h 281:9

sDL_PROP_IOSTREAM_FILE_DESCRIPTOR_NUMBER :: ByteString Source #

C declaration
macro SDL_PROP_IOSTREAM_FILE_DESCRIPTOR_NUMBER, literal "SDL.iostream.file_descriptor", defined at SDL3/SDL_iostream.h 282:9

sDL_PROP_IOSTREAM_ANDROID_AASSET_POINTER :: ByteString Source #

C declaration
macro SDL_PROP_IOSTREAM_ANDROID_AASSET_POINTER, literal "SDL.iostream.android.aasset", defined at SDL3/SDL_iostream.h 283:9

sDL_PROP_IOSTREAM_MEMORY_POINTER :: ByteString Source #

C declaration
macro SDL_PROP_IOSTREAM_MEMORY_POINTER, literal "SDL.iostream.memory.base", defined at SDL3/SDL_iostream.h 332:9

sDL_PROP_IOSTREAM_MEMORY_SIZE_NUMBER :: ByteString Source #

C declaration
macro SDL_PROP_IOSTREAM_MEMORY_SIZE_NUMBER, literal "SDL.iostream.memory.size", defined at SDL3/SDL_iostream.h 333:9

sDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER :: ByteString Source #

C declaration
macro SDL_PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER, literal "SDL.iostream.memory.free", defined at SDL3/SDL_iostream.h 334:9

sDL_PROP_IOSTREAM_DYNAMIC_MEMORY_POINTER :: ByteString Source #

C declaration
macro SDL_PROP_IOSTREAM_DYNAMIC_MEMORY_POINTER, literal "SDL.iostream.dynamic.memory", defined at SDL3/SDL_iostream.h 413:9

sDL_PROP_IOSTREAM_DYNAMIC_CHUNKSIZE_NUMBER :: ByteString Source #

C declaration
macro SDL_PROP_IOSTREAM_DYNAMIC_CHUNKSIZE_NUMBER, literal "SDL.iostream.dynamic.chunksize", defined at SDL3/SDL_iostream.h 414:9