kconfig/expr.h
changeset 1761 88020b2c3246
parent 1235 1cb6cf834483
child 2448 a103abae1560
     1.1 --- a/kconfig/expr.h	Fri Mar 06 12:33:41 2009 +0000
     1.2 +++ b/kconfig/expr.h	Tue Jan 12 19:24:03 2010 +0100
     1.3 @@ -111,21 +111,41 @@
     1.4  #define SYMBOL_HASHSIZE		257
     1.5  #define SYMBOL_HASHMASK		0xff
     1.6  
     1.7 +/* A property represent the config options that can be associated
     1.8 + * with a config "symbol".
     1.9 + * Sample:
    1.10 + * config FOO
    1.11 + *         default y
    1.12 + *         prompt "foo prompt"
    1.13 + *         select BAR
    1.14 + * config BAZ
    1.15 + *         int "BAZ Value"
    1.16 + *         range 1..255
    1.17 + */
    1.18  enum prop_type {
    1.19 -	P_UNKNOWN, P_PROMPT, P_COMMENT, P_MENU, P_DEFAULT, P_CHOICE,
    1.20 -	P_SELECT, P_RANGE, P_ENV
    1.21 +	P_UNKNOWN,
    1.22 +	P_PROMPT,   /* prompt "foo prompt" or "BAZ Value" */
    1.23 +	P_COMMENT,  /* text associated with a comment */
    1.24 +	P_MENU,     /* prompt associated with a menuconfig option */
    1.25 +	P_DEFAULT,  /* default y */
    1.26 +	P_CHOICE,   /* choice value */
    1.27 +	P_SELECT,   /* select BAR */
    1.28 +	P_RANGE,    /* range 7..100 (for a symbol) */
    1.29 +	P_ENV,      /* value from environment variable */
    1.30  };
    1.31  
    1.32  struct property {
    1.33 -	struct property *next;
    1.34 -	struct symbol *sym;
    1.35 -	enum prop_type type;
    1.36 -	const char *text;
    1.37 +	struct property *next;     /* next property - null if last */
    1.38 +	struct symbol *sym;        /* the symbol for which the property is associated */
    1.39 +	enum prop_type type;       /* type of property */
    1.40 +	const char *text;          /* the prompt value - P_PROMPT, P_MENU, P_COMMENT */
    1.41  	struct expr_value visible;
    1.42 -	struct expr *expr;
    1.43 -	struct menu *menu;
    1.44 -	struct file *file;
    1.45 -	int lineno;
    1.46 +	struct expr *expr;         /* the optional conditional part of the property */
    1.47 +	struct menu *menu;         /* the menu the property are associated with
    1.48 +	                            * valid for: P_SELECT, P_RANGE, P_CHOICE,
    1.49 +	                            * P_PROMPT, P_DEFAULT, P_MENU, P_COMMENT */
    1.50 +	struct file *file;         /* what file was this property defined */
    1.51 +	int lineno;                /* what lineno was this property defined */
    1.52  };
    1.53  
    1.54  #define for_all_properties(sym, st, tok) \