| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * (C) Copyright 2001 | |
| * Wolfgang Denk, DENX Software Engineering, wd@denx.de. | |
| */ | |
| #ifndef _CLI_HUSH_H_ | |
| #define _CLI_HUSH_H_ | |
| #define FLAG_EXIT_FROM_LOOP 1 | |
| #define FLAG_PARSE_SEMICOLON (1 << 1) /* symbol ';' is special for parser */ | |
| #define FLAG_REPARSING (1 << 2) /* >=2nd pass */ | |
| #define FLAG_CONT_ON_NEWLINE (1 << 3) /* continue when we see \n */ | |
| #if CONFIG_IS_ENABLED(HUSH_OLD_PARSER) | |
| extern int u_boot_hush_start(void); | |
| extern int parse_string_outer(const char *str, int flag); | |
| extern int parse_file_outer(void); | |
| int set_local_var(const char *s, int flg_export); | |
| #else | |
| static inline int u_boot_hush_start(void) | |
| { | |
| return 0; | |
| } | |
| static inline int parse_string_outer(const char *str, int flag) | |
| { | |
| return 1; | |
| } | |
| static inline int parse_file_outer(void) | |
| { | |
| return 0; | |
| } | |
| static inline int set_local_var(const char *s, int flg_export) | |
| { | |
| return 0; | |
| } | |
| #endif | |
| #if CONFIG_IS_ENABLED(HUSH_MODERN_PARSER) | |
| extern int u_boot_hush_start_modern(void); | |
| extern int parse_string_outer_modern(const char *str, int flag); | |
| extern void parse_and_run_file(void); | |
| int set_local_var_modern(char *s, int flg_export); | |
| #else | |
| static inline int u_boot_hush_start_modern(void) | |
| { | |
| return 0; | |
| } | |
| static inline int parse_string_outer_modern(const char *str, int flag) | |
| { | |
| return 1; | |
| } | |
| static inline void parse_and_run_file(void) | |
| { | |
| } | |
| static inline int set_local_var_modern(char *s, int flg_export) | |
| { | |
| return 0; | |
| } | |
| #endif | |
| void unset_local_var(const char *name); | |
| char *get_local_var(const char *s); | |
| #if defined(CONFIG_HUSH_INIT_VAR) | |
| extern int hush_init_var (void); | |
| #endif | |
| #endif |