summaryrefslogtreecommitdiffstats
path: root/discover/grub2/grub2.h
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-09-16 15:12:13 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-09-24 13:14:59 +0800
commit2ea5eb23b027519372dd20fbe8f958c06ac2aa6c (patch)
tree850a805d771be946d1cc28fbecabea0be6acf84c /discover/grub2/grub2.h
parent5c6263a12dd7f859daa0feba8b58a0558f0ff21c (diff)
downloadtalos-petitboot-2ea5eb23b027519372dd20fbe8f958c06ac2aa6c.tar.gz
talos-petitboot-2ea5eb23b027519372dd20fbe8f958c06ac2aa6c.zip
discover/grub2: Hook up flex/bison parser to discover server
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'discover/grub2/grub2.h')
-rw-r--r--discover/grub2/grub2.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/discover/grub2/grub2.h b/discover/grub2/grub2.h
index 9da5cee..149e1e1 100644
--- a/discover/grub2/grub2.h
+++ b/discover/grub2/grub2.h
@@ -1,6 +1,8 @@
#ifndef GRUB2_H
#define GRUB2_H
+#include <discover/device-handler.h>
+
#include <stdbool.h>
#include <list/list.h>
@@ -88,6 +90,10 @@ struct grub2_parser {
struct grub2_script *script;
};
+struct grub2_root {
+ char *uuid;
+};
+
struct grub2_statements *create_statements(struct grub2_parser *parser);
struct grub2_statement *create_statement_simple(struct grub2_parser *parser,
@@ -143,5 +149,17 @@ struct grub2_command *script_lookup_command(struct grub2_script *script,
const char *name);
void register_builtins(struct grub2_script *script);
+
+/* resources */
+struct resource *create_grub2_resource(void *ctx,
+ struct discover_device *orig_device,
+ struct grub2_root *root, const char *path);
+
+bool resolve_grub2_resource(struct device_handler *handler,
+ struct resource *res);
+
+/* external parser api */
+struct grub2_parser *grub2_parser_create(void *ctx);
+void grub2_parser_parse(struct grub2_parser *parser, char *buf, int len);
#endif /* GRUB2_H */
OpenPOWER on IntegriCloud