summaryrefslogtreecommitdiffstats
path: root/ui/test/discover-test.c
diff options
context:
space:
mode:
authorGeoff Levand <geoff@infradead.org>2012-02-12 11:41:16 -0800
committerGeoff Levand <geoff@infradead.org>2012-02-12 11:41:16 -0800
commit2f8734a2e2f438dfc437ce7f29d98e3ff9572980 (patch)
treed21224c5735ba9e5ac33981f1dc471848605cd27 /ui/test/discover-test.c
parenta0c1a0228699cb86aa730c18b21d6d71fde414ca (diff)
downloadtalos-petitboot-2f8734a2e2f438dfc437ce7f29d98e3ff9572980.tar.gz
talos-petitboot-2f8734a2e2f438dfc437ce7f29d98e3ff9572980.zip
Rename pb-test.c to discover-test.c
Signed-off-by: Geoff Levand <geoff@infradead.org>
Diffstat (limited to 'ui/test/discover-test.c')
-rw-r--r--ui/test/discover-test.c61
1 files changed, 61 insertions, 0 deletions
diff --git a/ui/test/discover-test.c b/ui/test/discover-test.c
new file mode 100644
index 0000000..f3ef746
--- /dev/null
+++ b/ui/test/discover-test.c
@@ -0,0 +1,61 @@
+
+#include <stdio.h>
+
+#include "ui/common/discover-client.h"
+
+static int print_device_add(struct device *device,
+ void __attribute__((unused)) *arg)
+{
+ struct boot_option *opt;
+
+ printf("new device:\n");
+ printf("\tid: %s\n", device->id);
+ printf("\tname: %s\n", device->name);
+ printf("\tdesc: %s\n", device->description);
+ printf("\ticon: %s\n", device->icon_file);
+
+ printf("\tboot options:\n");
+ list_for_each_entry(&device->boot_options, opt, list) {
+ printf("\t\tid: %s\n", opt->id);
+ printf("\t\tname: %s\n", opt->name);
+ printf("\t\tdesc: %s\n", opt->description);
+ printf("\t\ticon: %s\n", opt->icon_file);
+ printf("\t\tboot: %s\n", opt->boot_image_file);
+ printf("\t\tinit: %s\n", opt->initrd_file);
+ printf("\t\targs: %s\n", opt->boot_args);
+ }
+
+ return 0;
+}
+
+static void print_device_remove(struct device *device,
+ void __attribute__((unused)) *arg)
+{
+ printf("removed device:\n");
+ printf("\tid: %s\n", device->id);
+ printf("\tname: %s\n", device->name);
+}
+
+static struct discover_client_ops client_ops = {
+ .device_add = print_device_add,
+ .device_remove = print_device_remove,
+};
+
+int main(void)
+{
+ struct discover_client *client;
+
+ client = discover_client_init(&client_ops, NULL);
+ if (!client)
+ return -1;
+
+ for (;;) {
+ int rc;
+
+ rc = discover_client_process(client);
+ if (rc)
+ break;
+ }
+
+ return 0;
+}
OpenPOWER on IntegriCloud