1 /* SPDX-License-Identifier: GPL-2.0+ */
10 #define FLAG_EXIT_FROM_LOOP 1
11 #define FLAG_PARSE_SEMICOLON (1 << 1) /* symbol ';' is special for parser */
12 #define FLAG_REPARSING (1 << 2) /* >=2nd pass */
13 #define FLAG_CONT_ON_NEWLINE (1 << 3) /* continue when we see \n */
15 #if CONFIG_IS_ENABLED(HUSH_OLD_PARSER)
16 extern int u_boot_hush_start(void);
17 extern int parse_string_outer(const char *str, int flag);
18 extern int parse_file_outer(void);
19 int set_local_var(const char *s, int flg_export);
21 static inline int u_boot_hush_start(void)
26 static inline int parse_string_outer(const char *str, int flag)
31 static inline int parse_file_outer(void)
36 static inline int set_local_var(const char *s, int flg_export)
41 #if CONFIG_IS_ENABLED(HUSH_MODERN_PARSER)
42 extern int u_boot_hush_start_modern(void);
43 extern int parse_string_outer_modern(const char *str, int flag);
44 extern void parse_and_run_file(void);
45 int set_local_var_modern(char *s, int flg_export);
47 static inline int u_boot_hush_start_modern(void)
52 static inline int parse_string_outer_modern(const char *str, int flag)
57 static inline void parse_and_run_file(void)
61 static inline int set_local_var_modern(char *s, int flg_export)
67 void unset_local_var(const char *name);
68 char *get_local_var(const char *s);
70 #if defined(CONFIG_HUSH_INIT_VAR)
71 extern int hush_init_var (void);