install_t install_time() { MODULE_user = PL_new_module(PL_new_atom("user")); FUNCTOR_alarm1 = PL_new_functor(PL_new_atom("$alarm"), 1); FUNCTOR_alarm4 = PL_new_functor(PL_new_atom("alarm"), 4); FUNCTOR_module2 = PL_new_functor(PL_new_atom(":"), 2); ATOM_remove = PL_new_atom("remove"); ATOM_install = PL_new_atom("install"); ATOM_done = PL_new_atom("done"); ATOM_next = PL_new_atom("next"); ATOM_scheduled = PL_new_atom("scheduled"); PREDICATE_call1 = PL_predicate("call", 1, "user"); PL_register_foreign("alarm_at", 4, alarm4_abs, PL_FA_TRANSPARENT); PL_register_foreign("alarm", 4, alarm4_rel, PL_FA_TRANSPARENT); PL_register_foreign("alarm_at", 3, alarm3_abs, PL_FA_TRANSPARENT); PL_register_foreign("alarm", 3, alarm3_rel, PL_FA_TRANSPARENT); PL_register_foreign("remove_alarm", 1, remove_alarm, 0); PL_register_foreign("uninstall_alarm",1, uninstall_alarm,0); PL_register_foreign("install_alarm", 1, install_alarm, 0); PL_register_foreign("install_alarm", 2, install_alarm2, 0); PL_register_foreign("remove_alarm_notrace",1, remove_alarm, PL_FA_NOTRACE); PL_register_foreign("current_alarms", 5, current_alarms, 0); #ifdef O_DEBUG PL_register_foreign("time_debug", 1, pl_time_debug, 0); #endif installHandler(); PL_on_halt(cleanup, NULL); }
void initTables(void) { static int done = FALSE; if ( !done ) { done = TRUE; DEBUG(MSG_HASH_STAT, PL_on_halt(exitTables, NULL)); } }
static int setup(void) { if ( context.window ) return TRUE; DLOCK(); if ( !context.window ) { context.window = CreateWindow(HiddenFrameClass(), "XPCE/SWI-Prolog call window", WS_POPUP, 0, 0, 32, 32, NULL, NULL, context.hinstance, NULL); PL_on_halt(unsetup, NULL); } DUNLOCK(); return TRUE; }