Introduce POLYGONHOLE_MODE for creating holes in polygons
[geda-pcb/gde.git] / src / resource.h
blob5a116011c7038e5d15f1e55c7c7c59b55dc5960b
1 /* $Id$ */
3 #ifndef __RESOURCE_INCLUDED__
4 #define __RESOURCE_INCLUDED__ 1
6 #include <stdio.h>
8 #ifdef __cplusplus
9 extern "C"
11 #endif
13 struct Resource;
15 typedef struct ResourceVal
17 char *name;
18 char *value;
19 struct Resource *subres;
20 } ResourceVal;
22 #define FLAG_V 1
23 #define FLAG_NV 2
24 #define FLAG_S 4
25 #define FLAG_NS 8
27 typedef struct Resource
29 struct Resource *parent;
30 void *user_ptr;
31 int flags;
32 int c; /* number of v[i] */
33 ResourceVal *v;
34 } Resource;
36 #define resource_type(resval) (((resval).name?100:0)+((resval).value?10:0)+((resval).subres?1:0))
38 /* res_parse.y */
40 /* Pass either filename OR stringtab. */
41 Resource *resource_parse (char *filename, const char **stringtab);
42 char *resource_value (Resource * res, char *name);
43 Resource *resource_subres (Resource * res, char *name);
45 Resource *resource_create (Resource * parent);
46 void resource_add_val (Resource * n, char *name, char *value,
47 Resource * subres);
49 void resource_dump (Resource * res);
51 #ifdef __cplusplus
53 #endif
55 #endif