summaryrefslogtreecommitdiffstats
path: root/discover/grub2/grub2.h
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-09-17 09:36:11 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-09-24 13:14:59 +0800
commite8a50ad2461a8efaa4d71ea19692a1b63a0f9bc2 (patch)
tree74d2c13c671e05ff686031e8e80076547c548292 /discover/grub2/grub2.h
parentd808f5d2ec8e232d736a5f811d647df91e2a5b43 (diff)
downloadtalos-petitboot-e8a50ad2461a8efaa4d71ea19692a1b63a0f9bc2.tar.gz
talos-petitboot-e8a50ad2461a8efaa4d71ea19692a1b63a0f9bc2.zip
discover/grub2: Add function support
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'discover/grub2/grub2.h')
-rw-r--r--discover/grub2/grub2.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/discover/grub2/grub2.h b/discover/grub2/grub2.h
index 4949f3c..5b83fad 100644
--- a/discover/grub2/grub2.h
+++ b/discover/grub2/grub2.h
@@ -71,6 +71,11 @@ struct grub2_statement_block {
struct grub2_statements *statements;
};
+struct grub2_statement_function {
+ struct grub2_statement st;
+ struct grub2_word *name;
+ struct grub2_statements *body;
+};
struct grub2_script {
struct grub2_statements *statements;
@@ -105,6 +110,9 @@ struct grub2_statement *create_statement_if(struct grub2_parser *parser,
struct grub2_statement *create_statement_block(struct grub2_parser *parser,
struct grub2_statements *stmts);
+struct grub2_statement *create_statement_function(struct grub2_parser *parser,
+ struct grub2_word *name, struct grub2_statements *body);
+
struct grub2_word *create_word_text(struct grub2_parser *parser,
const char *text);
@@ -129,6 +137,8 @@ int statement_if_execute(struct grub2_script *script,
struct grub2_statement *statement);
int statement_menuentry_execute(struct grub2_script *script,
struct grub2_statement *statement);
+int statement_function_execute(struct grub2_script *script,
+ struct grub2_statement *statement);
struct grub2_script *create_script(struct grub2_parser *parser,
struct discover_context *ctx);
OpenPOWER on IntegriCloud