sdl3-bindgen-sys
Safe HaskellNone
LanguageGHC2021

SDL3.Sys.Version

Description

Functionality to query the current SDL version, both as headers the app was compiled against, and a library the app is linked to. The current major version of SDL headers.

If this were SDL version 3.2.1, this value would be 3.

FFI conventions

Unsuffixed aliases are unsafe foreign imports; aliases suffixed Safe are safe. Functions whose callbacks fire during the call export only the Safe alias (the genuine unsafe import stays reachable under SDL3.Sys.Bindgen.Version.Unsafe); functions curated unsafe-only export only the unsuffixed one. Each alias's documentation records its flavor and rationale.

Full conventions: SDL3.Sys.

Since: 3.2.0

Synopsis

Documentation

Function aliases

getVersion :: IO Int32 Source #

Get the version of SDL that is linked against your program.

If you are linking to SDL dynamically, then it is possible that the current version will be different than the version you compiled against. This function returns the current version, while SDL_VERSION is the version you compiled with.

This function may be called safely at any time, even before init.

Returns
the version of the linked library.
Thread safety
It is safe to call this function from any thread.
See also
getRevision

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetVersion. The safe import is not exported : returns a compiled-in constant; cannot block, lock, or call back.
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_GetVersion, defined at SDL3/SDL_version.h 160:33

Since: 3.2.0

getRevision :: IO (PtrConst CChar) Source #

Get the code revision of the SDL library that is linked against your program.

This value is the revision of the code you are linking against and may be different from the code you are compiling with, which is found in the constant SDL_REVISION if you explicitly include SDL_revision.h

The revision is an arbitrary string (a hash value) uniquely identifying the exact revision of the SDL library in use, and is only useful in comparing against other revisions. It is NOT an incrementing number.

If SDL wasn't built from a git repository with the appropriate tools, this will return an empty string.

You shouldn't use this function for anything but logging it for debugging purposes. The string is not intended to be reliable in any way.

Returns
an arbitrary string, uniquely identifying the exact revision of the SDL library in use.
Thread safety
It is safe to call this function from any thread.
See also
getVersion

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetRevision. The safe import is not exported : returns a compiled-in constant; cannot block, lock, or call back.
C declaration
SDL_GetRevision, defined at SDL3/SDL_version.h 189:42

Since: 3.2.0