]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
5b1d7137 WD |
2 | /* |
3 | * (C) Copyright 2001 | |
4 | * Wolfgang Denk, DENX Software Engineering, wd@denx.de. | |
5b1d7137 WD |
5 | */ |
6 | ||
eca86fad SG |
7 | #ifndef _CLI_HUSH_H_ |
8 | #define _CLI_HUSH_H_ | |
5b1d7137 WD |
9 | |
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 */ | |
87b6398b | 13 | #define FLAG_CONT_ON_NEWLINE (1 << 3) /* continue when we see \n */ |
5b1d7137 | 14 | |
9a068377 | 15 | #if CONFIG_IS_ENABLED(HUSH_OLD_PARSER) |
5b1d7137 | 16 | extern int u_boot_hush_start(void); |
9a068377 | 17 | extern int parse_string_outer(const char *str, int flag); |
5b1d7137 | 18 | extern int parse_file_outer(void); |
81473f67 | 19 | int set_local_var(const char *s, int flg_export); |
9a068377 FL |
20 | #else |
21 | static inline int u_boot_hush_start(void) | |
22 | { | |
23 | return 0; | |
24 | } | |
25 | ||
26 | static inline int parse_string_outer(const char *str, int flag) | |
27 | { | |
28 | return 1; | |
29 | } | |
30 | ||
31 | static inline int parse_file_outer(void) | |
32 | { | |
33 | return 0; | |
34 | } | |
35 | ||
36 | static inline int set_local_var(const char *s, int flg_export) | |
37 | { | |
38 | return 0; | |
39 | } | |
40 | #endif | |
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); | |
46 | #else | |
47 | static inline int u_boot_hush_start_modern(void) | |
48 | { | |
49 | return 0; | |
50 | } | |
51 | ||
52 | static inline int parse_string_outer_modern(const char *str, int flag) | |
53 | { | |
54 | return 1; | |
55 | } | |
56 | ||
57 | static inline void parse_and_run_file(void) | |
58 | { | |
59 | } | |
60 | ||
61 | static inline int set_local_var_modern(char *s, int flg_export) | |
62 | { | |
63 | return 0; | |
64 | } | |
65 | #endif | |
66 | ||
81473f67 | 67 | void unset_local_var(const char *name); |
eae3b064 | 68 | char *get_local_var(const char *s); |
81473f67 HS |
69 | |
70 | #if defined(CONFIG_HUSH_INIT_VAR) | |
71 | extern int hush_init_var (void); | |
72 | #endif | |
5b1d7137 | 73 | #endif |