NULL, handler, failed_handler, user_data);
}
+void
+ply_boot_client_ask_daemon_has_active_vt (ply_boot_client_t *client,
+ ply_boot_client_response_handler_t handler,
+ ply_boot_client_response_handler_t failed_handler,
+ void *user_data)
+{
+ ply_boot_client_queue_request (client, PLY_BOOT_PROTOCOL_REQUEST_TYPE_HAS_ACTIVE_VT,
+ NULL, handler, failed_handler, user_data);
+}
+
void
ply_boot_client_tell_daemon_about_error (ply_boot_client_t *client,
ply_boot_client_response_handler_t handler,
ply_boot_client_response_handler_t handler,
ply_boot_client_response_handler_t failed_handler,
void *user_data);
+void ply_boot_client_ask_daemon_has_active_vt (ply_boot_client_t *client,
+ ply_boot_client_response_handler_t handler,
+ ply_boot_client_response_handler_t failed_handler,
+ void *user_data);
void ply_boot_client_disconnect (ply_boot_client_t *client);
void ply_boot_client_attach_to_event_loop (ply_boot_client_t *client,
ply_event_loop_t *loop);
char **argv)
{
state_t state = { 0 };
- bool should_help, should_quit, should_ping, should_sysinit, should_ask_for_password, should_show_splash, should_hide_splash, should_wait, should_be_verbose, report_error, should_get_plugin_path;
+ bool should_help, should_quit, should_ping, should_check_for_active_vt, should_sysinit, should_ask_for_password, should_show_splash, should_hide_splash, should_wait, should_be_verbose, report_error, should_get_plugin_path;
bool is_connected;
char *status, *chroot_dir, *ignore_keystroke;
int exit_code;
"newroot", "Tell boot daemon that new root filesystem is mounted", PLY_COMMAND_OPTION_TYPE_STRING,
"quit", "Tell boot daemon to quit", PLY_COMMAND_OPTION_TYPE_FLAG,
"ping", "Check of boot daemon is running", PLY_COMMAND_OPTION_TYPE_FLAG,
+ "has-active-vt", "Check if boot daemon has an active vt", PLY_COMMAND_OPTION_TYPE_FLAG,
"sysinit", "Tell boot daemon root filesystem is mounted read-write", PLY_COMMAND_OPTION_TYPE_FLAG,
"show-splash", "Show splash screen", PLY_COMMAND_OPTION_TYPE_FLAG,
"hide-splash", "Hide splash screen", PLY_COMMAND_OPTION_TYPE_FLAG,
"newroot", &chroot_dir,
"quit", &should_quit,
"ping", &should_ping,
+ "has-active-vt", &should_check_for_active_vt,
"sysinit", &should_sysinit,
"show-splash", &should_show_splash,
"hide-splash", &should_hide_splash,
ply_trace ("ping failed");
return 1;
}
+ if (should_check_for_active_vt)
+ {
+ ply_trace ("has active vt? failed");
+ return 1;
+ }
}
ply_boot_client_attach_to_event_loop (state.client, state.loop);
on_success,
(ply_boot_client_response_handler_t)
on_failure, &state);
+ else if (should_check_for_active_vt)
+ ply_boot_client_ask_daemon_has_active_vt (state.client,
+ (ply_boot_client_response_handler_t)
+ on_success,
+ (ply_boot_client_response_handler_t)
+ on_failure, &state);
else if (status != NULL)
ply_boot_client_update_daemon (state.client, status,
(ply_boot_client_response_handler_t)