void KdOsInit(KdOsFuncs * pOsFuncs) { kdOsFuncs = pOsFuncs; if (pOsFuncs) { if (serverGeneration == 1) { KdDoSwitchCmd("start"); if (pOsFuncs->Init) (*pOsFuncs->Init) (); } } }
void AbortDDX(void) { KdDisableScreens (); if (kdOsFuncs) { if (kdEnabled) (*kdOsFuncs->Disable) (); (*kdOsFuncs->Fini) (); KdDoSwitchCmd ("stop"); } }
void AbortDDX(enum ExitCode error) { KdDisableScreens(); if (kdOsFuncs) { if (kdEnabled && kdOsFuncs->Disable) (*kdOsFuncs->Disable) (); if (kdOsFuncs->Fini) (*kdOsFuncs->Fini) (); KdDoSwitchCmd("stop"); } if (kdCaughtSignal) OsAbort(); }
void KdSuspend(void) { KdCardInfo *card; KdScreenInfo *screen; if (kdEnabled) { for (card = kdCardInfo; card; card = card->next) { for (screen = card->screenList; screen; screen = screen->next) if (screen->mynum == card->selected && screen->pScreen) KdDisableScreen(screen->pScreen); if (card->driver && card->cfuncs->restore) (*card->cfuncs->restore) (card); } KdDisableInput(); KdDoSwitchCmd("suspend"); } }
void KdResume(void) { KdCardInfo *card; KdScreenInfo *screen; if (kdEnabled) { KdDoSwitchCmd("resume"); for (card = kdCardInfo; card; card = card->next) { if (card->cfuncs->preserve) (*card->cfuncs->preserve) (card); for (screen = card->screenList; screen; screen = screen->next) if (screen->mynum == card->selected && screen->pScreen) KdEnableScreen(screen->pScreen); } KdEnableInput(); KdReleaseAllKeys(); } }