#pragma once #include // Notify that something is going on, don't go to sleep. void powersave_stay_on(); // Go sleep next time powersave_check() is called. void powersave_go_off(); // Check if it is time to go to sleep. bool powersave_check(); // Go to sleep void powersave_sleep(); #define SLEEP_TIME 240 // A wrapper around BaseSequentialStreams that calls powersave_stay_on() // for every successful read. #include #include typedef struct { const struct BaseChannelVMT *vmt; _base_channel_data; BaseChannel *real_stream; } PowersaveStream; void PowersaveStreamInit(PowersaveStream *stream, BaseChannel *real_stream);