English Language flag
// Log In
// CVSweb
Project: FreeWRT
// Summary // Activity // Search // Tracker // Lists // News // SCM // Wiki

SCM Repository

ViewVC logotype

Contents of /branches/common-nfo/tools/nfotiser/nfotiser.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3488 - (show annotations) (download)
Mon Aug 13 15:09:52 2007 UTC (6 years, 6 months ago) by tg
File MIME type: text/plain
File size: 1855 byte(s)
begin working on default values, but I'm going to have to implement
different arg types (string ./. integer) first, d’oh

1 /*-
2 * $FreeWRT$
3 *-
4 * This file is part of the FreeWRT project. FreeWRT is copyrighted
5 * material, please see the LICENCE file in the top-level directory
6 * or at http://www.freewrt.org/licence for details.
7 */
8
9 #ifndef NFOTISER_NFOTISER_H
10 #define NFOTISER_NFOTISER_H
11
12 #include <sys/queue.h>
13 #include "nfohelpr.h"
14
15 struct categories {
16 const char *catname;
17 const char *catdesc;
18 };
19
20 enum parser_kwtype {
21 KWT_INVALID,
22 KWT_NORMAL,
23 KWT_MULTI,
24 KWT_ITERATED,
25 KWT_MULTITER,
26 KWT_MULTITOP
27 };
28
29 enum parser_argtype {
30 ARGT_INVALID,
31 ARGT_STRING,
32 ARGT_INTEGER
33 };
34
35 #ifndef parser_kwords
36 #define parser_kwords int
37 #endif
38
39 struct parser_keywords {
40 const char *kwprefix;
41 parser_kwords kwnum;
42 enum parser_kwtype kwtype;
43 enum parser_argtype argtype;
44 };
45
46 struct parser_res {
47 CIRCLEQ_ENTRY(parser_res) e;
48 parser_kwords keyword;
49 enum parser_kwtype itype;
50 char *kw_multi;
51 unsigned kw_iter;
52 char *value;
53 };
54
55 CIRCLEQ_HEAD(parser_result, parser_res);
56
57 __BEGIN_DECLS
58 /* categories.c */
59 extern const struct categories categories[];
60 const char *category(const char *);
61 /* parser.c */
62 struct parser_result *nfo_parse(int, const struct parser_keywords *);
63 const struct parser_keywords *parser_getkwbynum(parser_kwords,
64 const struct parser_keywords *);
65 void parser_dump(struct parser_res *, const struct parser_keywords *);
66 void parser_free(struct parser_result *);
67 EXTERN char *parser_errpfx I__(NULL);
68 struct parser_res *parser_new(parser_kwords, enum parser_kwtype,
69 char *, unsigned, char *);
70 /* pfile.c */
71 struct parser_res *parse_lookupbyname(struct parser_result *, const char *);
72 struct parser_res *parse_lookup(struct parser_result *, struct parser_res *);
73 char *varnameck(const char *, const char *);
74 char *parse_fmt(parser_kwords, enum parser_kwtype, char *, unsigned, int);
75 char *parse_fms(const char *, struct parser_res *);
76 __END_DECLS
77
78 #endif

root@freewrt.org:443
ViewVC Help
Powered by ViewVC 1.1.20