/* * Start of program */ int main(int argc, char *argv[]) { int file_desc; unsigned coord[4]; file_desc = open("/dev/mailbox", 0); if (file_desc == -1) exit(1); /* order of coords on the commasnd line/return order * top, bottom, left, right and they are all or nothing * you can't set just one value. */ if (argc == 5) { for (int i=0; i<4; i++) if (argc > 1+i) coord[i] = strtoul(argv[1+i], 0, 0); set_overscan(file_desc, coord); } else { get_overscan(file_desc, coord); printf("%d %d %d %d\n", coord[0], coord[1], coord[2], coord[3]); } close(file_desc); return 0; }
static gboolean environment_core_command (RetroCore *self, unsigned cmd, gpointer data) { if (!self) return FALSE; switch (cmd) { case RETRO_ENVIRONMENT_GET_CAN_DUPE: return get_can_dupe (self, (gboolean *) data); case RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY: return get_content_directory (self, (const gchar **) data); case RETRO_ENVIRONMENT_GET_INPUT_DEVICE_CAPABILITIES: return get_input_device_capabilities (self, (guint64 *) data); case RETRO_ENVIRONMENT_GET_LANGUAGE: return get_language (self, (unsigned *) data); case RETRO_ENVIRONMENT_GET_LIBRETRO_PATH: return get_libretro_path (self, (const gchar **) data); case RETRO_ENVIRONMENT_GET_LOG_INTERFACE: return get_log_callback (self, (RetroLogCallback *) data); case RETRO_ENVIRONMENT_GET_OVERSCAN: return get_overscan (self, (gboolean *) data); case RETRO_ENVIRONMENT_GET_RUMBLE_INTERFACE: return get_rumble_callback (self, (RetroRumbleCallback *) data); case RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY: return get_save_directory (self, (const gchar **) data); case RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY: return get_system_directory (self, (const gchar **) data); case RETRO_ENVIRONMENT_GET_VARIABLE: return get_variable (self, (RetroVariable *) data); case RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE: return get_variable_update (self, (bool *) data); case RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE: return set_disk_control_interface (self, (RetroDiskControlCallback *) data); case RETRO_ENVIRONMENT_SET_GEOMETRY: return set_geometry (self, (RetroGameGeometry *) data); case RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS: return set_input_descriptors (self, (RetroInputDescriptor *) data); case RETRO_ENVIRONMENT_SET_KEYBOARD_CALLBACK: return set_keyboard_callback (self, (RetroKeyboardCallback *) data); case RETRO_ENVIRONMENT_SET_MESSAGE: return set_message (self, (RetroMessage *) data); case RETRO_ENVIRONMENT_SET_PIXEL_FORMAT: return set_pixel_format (self, (RetroPixelFormat *) data); case RETRO_ENVIRONMENT_SET_ROTATION: return set_rotation (self, (RetroRotation *) data); case RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME: return set_support_no_game (self, (gboolean *) data); case RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO: return set_system_av_info (self, (RetroSystemAvInfo *) data); case RETRO_ENVIRONMENT_SET_VARIABLES: return set_variables (self, (RetroVariable *) data); case RETRO_ENVIRONMENT_SHUTDOWN: return shutdown (self); case RETRO_ENVIRONMENT_GET_CAMERA_INTERFACE: case RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER: case RETRO_ENVIRONMENT_GET_HW_RENDER_INTERFACE: case RETRO_ENVIRONMENT_GET_LOCATION_INTERFACE: case RETRO_ENVIRONMENT_GET_PERF_INTERFACE: case RETRO_ENVIRONMENT_GET_SENSOR_INTERFACE: case RETRO_ENVIRONMENT_GET_USERNAME: case RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK: case RETRO_ENVIRONMENT_SET_CONTROLLER_INFO: case RETRO_ENVIRONMENT_SET_FRAME_TIME_CALLBACK: case RETRO_ENVIRONMENT_SET_HW_RENDER: case RETRO_ENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE: case RETRO_ENVIRONMENT_SET_MEMORY_MAPS: case RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL: case RETRO_ENVIRONMENT_SET_PROC_ADDRESS_CALLBACK: case RETRO_ENVIRONMENT_SET_SERIALIZATION_QUIRKS: case RETRO_ENVIRONMENT_SET_SUBSYSTEM_INFO: case RETRO_ENVIRONMENT_SET_SUPPORT_ACHIEVEMENTS: default: return FALSE; } }