30
31
typedef char *(*grub_env_write_hook_t) (struct grub_env_var *var,
33
enum grub_env_var_type
35
/* The default variable type which is local in current context. */
38
/* The exported type, which is passed to new contexts. */
41
/* The data slot type, which is used to store arbitrary data. */
45
34
struct grub_env_var
50
39
grub_env_write_hook_t write_hook;
51
40
struct grub_env_var *next;
52
41
struct grub_env_var **prevp;
53
enum grub_env_var_type type;
56
45
grub_err_t EXPORT_FUNC(grub_env_set) (const char *name, const char *val);
57
46
char *EXPORT_FUNC(grub_env_get) (const char *name);
58
47
void EXPORT_FUNC(grub_env_unset) (const char *name);
59
48
void EXPORT_FUNC(grub_env_iterate) (int (*func) (struct grub_env_var *var));
49
struct grub_env_var *EXPORT_FUNC(grub_env_find) (const char *name);
60
50
grub_err_t EXPORT_FUNC(grub_register_variable_hook) (const char *name,
61
51
grub_env_read_hook_t read_hook,
62
52
grub_env_write_hook_t write_hook);
63
grub_err_t EXPORT_FUNC(grub_env_context_open) (int export);
64
grub_err_t EXPORT_FUNC(grub_env_context_close) (void);
65
grub_err_t EXPORT_FUNC(grub_env_export) (const char *name);
67
grub_err_t EXPORT_FUNC(grub_env_set_data_slot) (const char *name,
69
void *EXPORT_FUNC(grub_env_get_data_slot) (const char *name);
70
void EXPORT_FUNC(grub_env_unset_data_slot) (const char *name);
54
grub_err_t grub_env_context_open (int export);
55
grub_err_t grub_env_context_close (void);
56
grub_err_t grub_env_export (const char *name);
58
void grub_env_unset_menu (void);
59
grub_menu_t grub_env_get_menu (void);
60
void grub_env_set_menu (grub_menu_t nmenu);
72
62
#endif /* ! GRUB_ENV_HEADER */