char *args_sig_file;
};
+struct pb_plugin_data {
+ char *plugin_file;
+ struct plugin_option *opt;
+};
+
/**
* struct discover_client_ops - Application supplied client info.
* @device_add: PB_PROTOCOL_ACTION_ADD event callback.
* devices' boot options), so callbacks may store boot options and devices
* as long as the client remains allocated.
*
- * The boot_status and system_info structs are allocated by the client,
+ * The status and system_info structs are allocated by the client,
* and will be free()ed after the callback is invoked. If the callback
* stores these structures for usage beyond the duration of the callback,
* it must talloc_steal() them.
int (*boot_option_add)(struct device *dev, struct boot_option *option,
void *arg);
void (*device_remove)(struct device *device, void *arg);
- void (*update_status)(struct boot_status *status, void *arg);
+ int (*plugin_option_add)(struct plugin_option *option, void *arg);
+ int (*plugins_remove)(void *arg);
+ void (*update_status)(struct status *status, void *arg);
void (*update_sysinfo)(struct system_info *sysinfo, void *arg);
void (*update_config)(struct config *sysinfo, void *arg);
void *cb_arg;
struct device *discover_client_get_device(struct discover_client *client,
int index);
+/**
+ * Get the client's authentication status. This is only useful if Petitboot
+ * has been built with crypt support.
+ */
+bool discover_client_authenticated(struct discover_client *client);
+
/* Tell the discover server to boot an image
* @param client A pointer to the discover client
* @param boot_command The command to boot
/* Send url to config to the discover server */
int discover_client_send_url(struct discover_client *client, char *url);
+/* Send plugin file path to discover server to install */
+int discover_client_send_plugin_install(struct discover_client *client,
+ char *file);
+/* Authenticate with pb-discover to allow modification */
+int discover_client_send_authenticate(struct discover_client *client,
+ char *password);
+/* Set a new system password, authenticating with the current password */
+int discover_client_send_set_password(struct discover_client *client,
+ char *password, char *new_password);
+
+/* send a temporary autoboot override */
+int discover_client_send_temp_autoboot(struct discover_client *client,
+ const struct autoboot_option *opt);
#endif