X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fcommon%2Fdiscover-client.c;h=a124f8bee8d9ffd03eb008ca4bae26e801a53699;hp=0e7da9d2cca4a6a9535d9dd601601307f771e67f;hb=37bff93c8b0a71432613f41f2319dc073ca64619;hpb=663197d945b6e393c1237c6b2b25f11567a449d7 diff --git a/ui/common/discover-client.c b/ui/common/discover-client.c index 0e7da9d..a124f8b 100644 --- a/ui/common/discover-client.c +++ b/ui/common/discover-client.c @@ -60,6 +60,7 @@ static void device_add(struct discover_client *client, struct device *device) client->devices[client->n_devices - 1] = device; talloc_steal(client, device); + list_init(&device->boot_options); if (client->ops.device_add) client->ops.device_add(device, client->ops.cb_arg); @@ -77,6 +78,7 @@ static void boot_option_add(struct discover_client *client, assert(dev); talloc_steal(dev, opt); + list_add(&dev->boot_options, &opt->list); if (client->ops.boot_option_add) client->ops.boot_option_add(dev, opt, client->ops.cb_arg); @@ -333,6 +335,19 @@ int discover_client_cancel_default(struct discover_client *client) return pb_protocol_write_message(client->fd, message); } +int discover_client_send_reinit(struct discover_client *client) +{ + struct pb_protocol_message *message; + + message = pb_protocol_create_message(client, + PB_PROTOCOL_ACTION_REINIT, 0); + + if (!message) + return -1; + + return pb_protocol_write_message(client->fd, message); +} + int discover_client_send_config(struct discover_client *client, struct config *config) {