Chameleon

Chameleon Svn Source Tree

Root/tags/2.0/i386/config/lkc.h

Source at commit 1808 created 12 years 3 months ago.
By blackosx, Revise layout of package installer 'Welcome' file so it looks cleaner. Change the copyright notice to begin from 2009 as seen in the Chameleon 2.0 r431 installer. Should this date be set earlier?
1/*
2 * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
3 * Released under the terms of the GNU GPL v2.0.
4 */
5
6#ifndef LKC_H
7#define LKC_H
8
9#include "expr.h"
10
11#ifndef KBUILD_NO_NLS
12# include <libintl.h>
13#else
14static inline const char *gettext(const char *txt) { return txt; }
15static inline void textdomain(const char *domainname) {}
16static inline void bindtextdomain(const char *name, const char *dir) {}
17static inline char *bind_textdomain_codeset(const char *dn, char *c) { return c; }
18#endif
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24#ifdef LKC_DIRECT_LINK
25#define P(name,type,arg)extern type name arg
26#else
27#include "lkc_defs.h"
28#define P(name,type,arg)extern type (*name ## _p) arg
29#endif
30#include "lkc_proto.h"
31#undef P
32
33#define SRCTREE "srctree"
34
35#ifndef PACKAGE
36#define PACKAGE "linux"
37#endif
38
39#define LOCALEDIR "/usr/share/locale"
40
41#define _(text) gettext(text)
42#define N_(text) (text)
43
44#ifndef CONFIG_
45#define CONFIG_ "CONFIG_"
46#endif
47
48#define TF_COMMAND0x0001
49#define TF_PARAM0x0002
50#define TF_OPTION0x0004
51
52enum conf_def_mode {
53def_default,
54def_yes,
55def_mod,
56def_no,
57def_random
58};
59
60#define T_OPT_MODULES1
61#define T_OPT_DEFCONFIG_LIST2
62#define T_OPT_ENV3
63
64struct kconf_id {
65int name;
66int token;
67unsigned int flags;
68enum symbol_type stype;
69};
70
71#ifdef YYDEBUG
72extern int zconfdebug;
73#endif
74
75int zconfparse(void);
76void zconfdump(FILE *out);
77void zconf_starthelp(void);
78FILE *zconf_fopen(const char *name);
79void zconf_initscan(const char *name);
80void zconf_nextfile(const char *name);
81int zconf_lineno(void);
82const char *zconf_curname(void);
83
84/* conf.c */
85void xfgets(char *str, int size, FILE *in);
86
87/* confdata.c */
88const char *conf_get_configname(void);
89const char *conf_get_autoconfig_name(void);
90char *conf_get_default_confname(void);
91void sym_set_change_count(int count);
92void sym_add_change_count(int count);
93void conf_set_all_new_symbols(enum conf_def_mode mode);
94
95/* confdata.c and expr.c */
96static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out)
97{
98if (fwrite(str, len, count, out) < count)
99fprintf(stderr, "\nError in writing or end of file.\n");
100}
101
102/* kconfig_load.c */
103void kconfig_load(void);
104
105/* menu.c */
106void _menu_init(void);
107void menu_warn(struct menu *menu, const char *fmt, ...);
108struct menu *menu_add_menu(void);
109void menu_end_menu(void);
110void menu_add_entry(struct symbol *sym);
111void menu_end_entry(void);
112void menu_add_dep(struct expr *dep);
113void menu_add_visibility(struct expr *dep);
114struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep);
115struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep);
116void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep);
117void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep);
118void menu_add_option(int token, char *arg);
119void menu_finalize(struct menu *parent);
120void menu_set_type(int type);
121
122/* util.c */
123struct file *file_lookup(const char *name);
124int file_write_dep(const char *name);
125
126struct gstr {
127size_t len;
128char *s;
129/*
130* when max_width is not zero long lines in string s (if any) get
131* wrapped not to exceed the max_width value
132*/
133int max_width;
134};
135struct gstr str_new(void);
136struct gstr str_assign(const char *s);
137void str_free(struct gstr *gs);
138void str_append(struct gstr *gs, const char *s);
139void str_printf(struct gstr *gs, const char *fmt, ...);
140const char *str_get(struct gstr *gs);
141
142/* symbol.c */
143extern struct expr *sym_env_list;
144
145void sym_init(void);
146void sym_clear_all_valid(void);
147void sym_set_all_changed(void);
148void sym_set_changed(struct symbol *sym);
149struct symbol *sym_choice_default(struct symbol *sym);
150const char *sym_get_string_default(struct symbol *sym);
151struct symbol *sym_check_deps(struct symbol *sym);
152struct property *prop_alloc(enum prop_type type, struct symbol *sym);
153struct symbol *prop_get_symbol(struct property *prop);
154struct property *sym_get_env_prop(struct symbol *sym);
155
156static inline tristate sym_get_tristate_value(struct symbol *sym)
157{
158return sym->curr.tri;
159}
160
161
162static inline struct symbol *sym_get_choice_value(struct symbol *sym)
163{
164return (struct symbol *)sym->curr.val;
165}
166
167static inline bool sym_set_choice_value(struct symbol *ch, struct symbol *chval)
168{
169return sym_set_tristate_value(chval, yes);
170}
171
172static inline bool sym_is_choice(struct symbol *sym)
173{
174return sym->flags & SYMBOL_CHOICE ? true : false;
175}
176
177static inline bool sym_is_choice_value(struct symbol *sym)
178{
179return sym->flags & SYMBOL_CHOICEVAL ? true : false;
180}
181
182static inline bool sym_is_optional(struct symbol *sym)
183{
184return sym->flags & SYMBOL_OPTIONAL ? true : false;
185}
186
187static inline bool sym_has_value(struct symbol *sym)
188{
189return sym->flags & SYMBOL_DEF_USER ? true : false;
190}
191
192#ifdef __cplusplus
193}
194#endif
195
196#endif /* LKC_H */
197

Archive Download this file

Revision: 1808