const std = @import("std");
pub const c = @import("c.zig").c;

pub const FunctionPointer = c.SDL_FunctionPointer;

pub const SharedObject = opaque {
    pub inline fn loadFunction(sharedobject: *SharedObject, name: [*c]const u8) FunctionPointer {
        return c.SDL_LoadFunction(sharedobject, name);
    }

    pub inline fn unloadObject(sharedobject: *SharedObject) void {
        return c.SDL_UnloadObject(sharedobject);
    }
};

pub inline fn loadObject(sofile: [*c]const u8) ?*SharedObject {
    return c.SDL_LoadObject(sofile);
}
