xref: /linux/scripts/kconfig/lkc_proto.h (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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