diff options
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); |