Example #1
0
void khalt() {
	dump_framebuffer(fake_framebuffer);
	exit(0);
}
Example #2
0
File: voot.c Project: quad/voot
static bool maybe_handle_command(uint8 command, uint32 option, voot_packet *packet)
{
    switch(command)
    {
        case VOOT_COMMAND_TYPE_DEBUG:
        {
            static char key[] = "vrcust.bin";

            voot_debug("Module: '%s'", (const char *) VOOT_MODULE_NAME);
            grep_memory(key, sizeof(key));

            break;
        }

        case VOOT_COMMAND_TYPE_TIME:
            voot_debug("%u", time());
            break;

        case VOOT_COMMAND_TYPE_VERSION:
        {
            uint32 freesize, max_freesize;

            malloc_stat(&freesize, &max_freesize);

            voot_debug("Netplay VOOT Extensions, BETA [%u/%u]", freesize, max_freesize);

            break;
        }

        case VOOT_COMMAND_TYPE_DUMPON:
        {
            dump_start(option);

            voot_debug("Processed DUMPON command. (%x)", option);

            break;
        }

        case VOOT_COMMAND_TYPE_DUMPOFF:
        {
            uint32 bytes;

            bytes = dump_stop();

            voot_debug("Processed DUMPOFF command. (%u)", bytes);

            break;
        }

        /* TODO: After taking a certain number of screenshots, it appears to
            crash the system. Maybe the dump_framebuffer() call should be
            moved into the heartbeat logic and some simple IPC be
            implemented? */

        case VOOT_COMMAND_TYPE_SCREEN:
            dump_framebuffer();
            break;

        case VOOT_COMMAND_TYPE_DUMPMEM:
            voot_dump_buffer((const uint8 *) SYS_MEM_START, SYS_MEM_END - SYS_MEM_START);
            break;

        case VOOT_COMMAND_TYPE_DUMPGAME:
            voot_dump_buffer((const uint8 *) VOOT_MEM_START, VOOT_MEM_END - VOOT_MEM_START);
            break;

        case VOOT_COMMAND_TYPE_DUMPSELECT:
            voot_dump_buffer((const uint8 *) option, 1024);
            break;

        default:
            break;
    }

    return FALSE;
}