diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2013-09-17 09:36:11 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2013-09-24 13:14:59 +0800 |
commit | e8a50ad2461a8efaa4d71ea19692a1b63a0f9bc2 (patch) | |
tree | 74d2c13c671e05ff686031e8e80076547c548292 /discover/grub2/grub2.h | |
parent | d808f5d2ec8e232d736a5f811d647df91e2a5b43 (diff) | |
download | talos-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.h | 10 |
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); |