/* Automatically generated by mkexports.lua */
#include <libextl/extl.h>
#include <libextl/private.h>

/* quiet warnings for generated code */
#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-macros"
#endif

EXTL_DEFCLASS(WScreen);
static bool l2chnd_b_ot__WScreen_(bool (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    if(!EXTL_CHKO1(in, 0, WScreen)) return FALSE;
    out[0].b=fn(in[0].o, in[1].t);
    return TRUE;
}
static bool l2chnd_t_o__WScreen(ExtlTab (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    if(!EXTL_CHKO1(in, 0, WScreen)) return FALSE;
    out[0].t=fn(in[0].o);
    return TRUE;
}
static bool l2chnd_b_it___(bool (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    out[0].b=fn(in[0].i, in[1].t);
    return TRUE;
}
static bool l2chnd_t__(ExtlTab (*fn)(), ExtlL2Param *in, ExtlL2Param *out)
{
    out[0].t=fn();
    return TRUE;
}

extern void mod_xinerama_update_screen();
extern void mod_xinerama_query_screens();
extern void mod_xinerama_setup_new_screen();
extern void mod_xinerama_get_screen_dimensions();


static ExtlExportedFnSpec mod_xinerama_exports[] = {
    {"update_screen", mod_xinerama_update_screen, "ot", "b", (ExtlL2CallHandler*)l2chnd_b_ot__WScreen_, FALSE, FALSE, FALSE},
    {"query_screens", mod_xinerama_query_screens, NULL, "t", (ExtlL2CallHandler*)l2chnd_t__, TRUE, FALSE, FALSE},
    {"setup_new_screen", mod_xinerama_setup_new_screen, "it", "b", (ExtlL2CallHandler*)l2chnd_b_it___, FALSE, FALSE, FALSE},
    {"get_screen_dimensions", mod_xinerama_get_screen_dimensions, "o", "t", (ExtlL2CallHandler*)l2chnd_t_o__WScreen, TRUE, FALSE, FALSE},
    {NULL, NULL, NULL, NULL, NULL, FALSE, FALSE, FALSE}
};

#define WScreen_exports NULL
bool mod_xinerama_register_exports()
{
    if(!extl_register_module("mod_xinerama", mod_xinerama_exports)) return FALSE;
    return TRUE;
}

void mod_xinerama_unregister_exports()
{
    extl_unregister_module("mod_xinerama", mod_xinerama_exports);
}

