1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2405d2cb2SMasahiro Yamada #ifndef LKC_PROTO_H 3405d2cb2SMasahiro Yamada #define LKC_PROTO_H 4405d2cb2SMasahiro Yamada 542368c37SMichal Marek #include <stdarg.h> 61da177e4SLinus Torvalds 71da177e4SLinus Torvalds /* confdata.c */ 870529b1aSMichal Marek void conf_parse(const char *name); 970529b1aSMichal Marek int conf_read(const char *name); 1070529b1aSMichal Marek int conf_read_simple(const char *name, int); 1170529b1aSMichal Marek int conf_write_defconfig(const char *name); 1270529b1aSMichal Marek int conf_write(const char *name); 1300c864f8SMasahiro Yamada int conf_write_autoconf(int overwrite); 145ee54659SMasahiro Yamada void conf_set_changed(bool val); 1570529b1aSMichal Marek bool conf_get_changed(void); 1603638aaaSMasahiro Yamada void conf_set_changed_callback(void (*fn)(bool)); 175accd7f3SMasahiro Yamada void conf_set_message_callback(void (*fn)(const char *s)); 1815d3f766SSergey Senozhatsky bool conf_errors(void); 191da177e4SLinus Torvalds 201da177e4SLinus Torvalds /* symbol.c */ 2170529b1aSMichal Marek struct symbol * sym_lookup(const char *name, int flags); 2270529b1aSMichal Marek struct symbol * sym_find(const char *name); 2351d792cbSMasahiro Yamada void print_symbol_for_listconfig(struct symbol *sym); 2470529b1aSMichal Marek struct symbol ** sym_re_search(const char *pattern); 2570529b1aSMichal Marek const char * sym_type_name(enum symbol_type type); 2670529b1aSMichal Marek void sym_calc_value(struct symbol *sym); 2715d3f766SSergey Senozhatsky bool sym_dep_errors(void); 28*6425e3b2SMasahiro Yamada enum symbol_type sym_get_type(const struct symbol *sym); 29*6425e3b2SMasahiro Yamada bool sym_tristate_within_range(const struct symbol *sym, tristate tri); 3070529b1aSMichal Marek bool sym_set_tristate_value(struct symbol *sym,tristate tri); 31bd988e7cSMasahiro Yamada void choice_set_value(struct menu *choice, struct symbol *sym); 3270529b1aSMichal Marek tristate sym_toggle_tristate_value(struct symbol *sym); 3370529b1aSMichal Marek bool sym_string_valid(struct symbol *sym, const char *newval); 3470529b1aSMichal Marek bool sym_string_within_range(struct symbol *sym, const char *str); 3570529b1aSMichal Marek bool sym_set_string_value(struct symbol *sym, const char *newval); 36*6425e3b2SMasahiro Yamada bool sym_is_changeable(const struct symbol *sym); 37*6425e3b2SMasahiro Yamada struct menu *sym_get_choice_menu(const struct symbol *sym); 3870529b1aSMichal Marek const char * sym_get_string_value(struct symbol *sym); 391da177e4SLinus Torvalds 4070529b1aSMichal Marek const char * prop_get_type_name(enum prop_type type); 411da177e4SLinus Torvalds 421da177e4SLinus Torvalds /* expr.c */ 43*6425e3b2SMasahiro Yamada void expr_print(const struct expr *e, 44*6425e3b2SMasahiro Yamada void (*fn)(void *, struct symbol *, const char *), 45*6425e3b2SMasahiro Yamada void *data, int prevtoken); 46405d2cb2SMasahiro Yamada 47405d2cb2SMasahiro Yamada #endif /* LKC_PROTO_H */ 48