1#ifndef __GRUB_MENU_H
2#define __GRUB_MENU_H
3
4#include <stdint.h>
5
6struct menu_module {
7    char *path;
8    char *args;
9};
10
11struct menu_mmap_entry {
12    char *name;
13    uint64_t base;
14    uint64_t length;
15    uint32_t type;
16};
17
18struct menu_lst {
19    char *title;
20
21    uint32_t timeout;
22
23    struct menu_module kernel;
24    struct menu_module boot_driver;
25
26    uint32_t nmodules;
27    struct menu_module *modules;
28
29    uint32_t mmap_len;
30    struct menu_mmap_entry *mmap;
31
32    char *image;
33};
34
35struct menu_lst *read_menu_lst(const char *path);
36
37#endif /* __GRUB_MENU_H */
38