xref: /linux/scripts/kconfig/lkc_proto.h (revision 7bcf2e03)
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);
1670529b1aSMichal Marek void conf_set_changed_callback(void (*fn)(void));
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);
2870529b1aSMichal Marek enum symbol_type sym_get_type(struct symbol *sym);
2970529b1aSMichal Marek bool sym_tristate_within_range(struct symbol *sym,tristate tri);
3070529b1aSMichal Marek bool sym_set_tristate_value(struct symbol *sym,tristate tri);
3170529b1aSMichal Marek tristate sym_toggle_tristate_value(struct symbol *sym);
3270529b1aSMichal Marek bool sym_string_valid(struct symbol *sym, const char *newval);
3370529b1aSMichal Marek bool sym_string_within_range(struct symbol *sym, const char *str);
3470529b1aSMichal Marek bool sym_set_string_value(struct symbol *sym, const char *newval);
35baa23ec8SMarco Ammon bool sym_is_changeable(struct symbol *sym);
3670529b1aSMichal Marek struct property * sym_get_choice_prop(struct symbol *sym);
37*7bcf2e03SMasahiro Yamada struct menu *sym_get_choice_menu(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 */
4370529b1aSMichal Marek void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken);
44405d2cb2SMasahiro Yamada 
45405d2cb2SMasahiro Yamada #endif /* LKC_PROTO_H */
46