2010-08-17 16:21:19 +08:00
|
|
|
#include <stdarg.h>
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
/* confdata.c */
|
|
|
|
P(conf_parse,void,(const char *name));
|
|
|
|
P(conf_read,int,(const char *name));
|
2006-06-09 13:12:42 +08:00
|
|
|
P(conf_read_simple,int,(const char *name, int));
|
2010-08-01 05:35:34 +08:00
|
|
|
P(conf_write_defconfig,int,(const char *name));
|
2005-04-17 06:20:36 +08:00
|
|
|
P(conf_write,int,(const char *name));
|
2006-06-09 13:12:39 +08:00
|
|
|
P(conf_write_autoconf,int,(void));
|
2006-12-13 16:34:06 +08:00
|
|
|
P(conf_get_changed,bool,(void));
|
2006-12-13 16:34:08 +08:00
|
|
|
P(conf_set_changed_callback, void,(void (*fn)(void)));
|
2010-08-17 16:21:19 +08:00
|
|
|
P(conf_set_message_callback, void,(void (*fn)(const char *fmt, va_list ap)));
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
/* menu.c */
|
|
|
|
P(rootmenu,struct menu,);
|
|
|
|
|
menuconfig: add support to show hidden options which have prompts
Usage:
Press <Z> to show all config symbols which have prompts.
Quote Tim Bird:
| I've been bitten by this numerous times. I most often
| use ftrace on ARM, but when I go back to x86, I almost
| always go through a sequence of searching for the
| function graph tracer in the menus, then realizing it's
| completely missing until I disable CC_OPTIMIZE_FOR_SIZE.
|
| Is there any way to have the menu item appear, but be
| unsettable unless the SIZE option is disabled? I'm
| not a Kconfig guru...
I myself found this useful too. For example, I need to test
ftrace/tracing and want to be sure all the tracing features are
enabled, so I enter the "Tracers" menu, and press <Z> to
see if there is any config hidden.
I also noticed gconfig and xconfig have a button "Show all options",
but that's a bit too much, and I think normally what we are not
interested in those configs which have no prompt thus can't be
changed by users.
Exmaple:
--- Tracers
-*- Kernel Function Tracer
- - Kernel Function Graph Tracer
[*] Interrupts-off Latency Tracer
- - Preemption-off Latency Tracer
[*] Sysprof Tracer
Here you can see 2 tracers are not selectable, and then can find
out how to make them selectable.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-04-14 11:46:02 +08:00
|
|
|
P(menu_is_visible, bool, (struct menu *menu));
|
|
|
|
P(menu_has_prompt, bool, (struct menu *menu));
|
2005-04-17 06:20:36 +08:00
|
|
|
P(menu_get_prompt,const char *,(struct menu *menu));
|
|
|
|
P(menu_get_root_menu,struct menu *,(struct menu *menu));
|
|
|
|
P(menu_get_parent_menu,struct menu *,(struct menu *menu));
|
2007-07-21 06:00:36 +08:00
|
|
|
P(menu_has_help,bool,(struct menu *menu));
|
|
|
|
P(menu_get_help,const char *,(struct menu *menu));
|
2009-11-25 18:28:43 +08:00
|
|
|
P(get_symbol_str, void, (struct gstr *r, struct symbol *sym));
|
|
|
|
P(get_relations_str, struct gstr, (struct symbol **sym_arr));
|
2009-07-12 16:11:44 +08:00
|
|
|
P(menu_get_ext_help,void,(struct menu *menu, struct gstr *help));
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
/* symbol.c */
|
|
|
|
P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
|
|
|
|
|
2008-02-29 12:11:50 +08:00
|
|
|
P(sym_lookup,struct symbol *,(const char *name, int flags));
|
2005-04-17 06:20:36 +08:00
|
|
|
P(sym_find,struct symbol *,(const char *name));
|
2010-08-18 13:23:50 +08:00
|
|
|
P(sym_expand_string_value,const char *,(const char *in));
|
2011-05-16 11:42:09 +08:00
|
|
|
P(sym_escape_string_value, const char *,(const char *in));
|
2005-04-17 06:20:36 +08:00
|
|
|
P(sym_re_search,struct symbol **,(const char *pattern));
|
|
|
|
P(sym_type_name,const char *,(enum symbol_type type));
|
|
|
|
P(sym_calc_value,void,(struct symbol *sym));
|
|
|
|
P(sym_get_type,enum symbol_type,(struct symbol *sym));
|
|
|
|
P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri));
|
|
|
|
P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri));
|
|
|
|
P(sym_toggle_tristate_value,tristate,(struct symbol *sym));
|
|
|
|
P(sym_string_valid,bool,(struct symbol *sym, const char *newval));
|
|
|
|
P(sym_string_within_range,bool,(struct symbol *sym, const char *str));
|
|
|
|
P(sym_set_string_value,bool,(struct symbol *sym, const char *newval));
|
|
|
|
P(sym_is_changable,bool,(struct symbol *sym));
|
|
|
|
P(sym_get_choice_prop,struct property *,(struct symbol *sym));
|
|
|
|
P(sym_get_default_prop,struct property *,(struct symbol *sym));
|
|
|
|
P(sym_get_string_value,const char *,(struct symbol *sym));
|
|
|
|
|
|
|
|
P(prop_get_type_name,const char *,(enum prop_type type));
|
|
|
|
|
|
|
|
/* expr.c */
|
|
|
|
P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2));
|
2006-06-09 13:12:47 +08:00
|
|
|
P(expr_print,void,(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken));
|