PIPS
pipsdbm_private.h
Go to the documentation of this file.
1 #ifndef _newgen_pipsdbm_private_included
2 #define _newgen_pipsdbm_private_included
3 #define _gen_pipsdbm_private_start 20
4 /*
5  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
6  *
7  * PLEASE DO NOT MODIFY IT.
8  */
9 
10 #if !defined(_newgen_db_void_domain_defined_)
11 #define _newgen_db_void_domain_defined_
12 #define newgen_db_void(p) (p) /* old hack compatible */
13 #define DB_VOID_NEWGEN_EXTERNAL (_gen_pipsdbm_private_start+0)
14 #define DB_VOID_NEWGEN_DOMAIN (DB_VOID_NEWGEN_EXTERNAL)
15 #define db_void_NEWGEN_DOMAIN (DB_VOID_NEWGEN_EXTERNAL)
16 #endif /* _newgen_db_void_domain_defined_ */
17 
18 #define db_owned_resources_domain (_gen_pipsdbm_private_start+1)
19 #if !defined(_newgen_db_owned_resources_domain_defined_)
20 #define _newgen_db_owned_resources_domain_defined_
21 #define DB_OWNED_RESOURCES_NEWGEN_DOMAIN (db_owned_resources_domain)
22 #define db_owned_resources_NEWGEN_DOMAIN (db_owned_resources_domain)
24 #endif /* _newgen_db_owned_resources_domain_defined_ */
25 
26 #define db_resource_domain (_gen_pipsdbm_private_start+2)
27 #if !defined(_newgen_db_resource_domain_defined_)
28 #define _newgen_db_resource_domain_defined_
29 #define DB_RESOURCE_NEWGEN_DOMAIN (db_resource_domain)
30 #define db_resource_NEWGEN_DOMAIN (db_resource_domain)
32 #endif /* _newgen_db_resource_domain_defined_ */
33 
34 #define db_resources_domain (_gen_pipsdbm_private_start+3)
35 #if !defined(_newgen_db_resources_domain_defined_)
36 #define _newgen_db_resources_domain_defined_
37 #define DB_RESOURCES_NEWGEN_DOMAIN (db_resources_domain)
38 #define db_resources_NEWGEN_DOMAIN (db_resources_domain)
40 #endif /* _newgen_db_resources_domain_defined_ */
41 
42 #define db_status_domain (_gen_pipsdbm_private_start+4)
43 #if !defined(_newgen_db_status_domain_defined_)
44 #define _newgen_db_status_domain_defined_
45 #define DB_STATUS_NEWGEN_DOMAIN (db_status_domain)
46 #define db_status_NEWGEN_DOMAIN (db_status_domain)
48 #endif /* _newgen_db_status_domain_defined_ */
49 
50 #define db_symbol_domain (_gen_pipsdbm_private_start+5)
51 #if !defined(_newgen_db_symbol_domain_defined_)
52 #define _newgen_db_symbol_domain_defined_
53 #define DB_SYMBOL_NEWGEN_DOMAIN (db_symbol_domain)
54 #define db_symbol_NEWGEN_DOMAIN (db_symbol_domain)
56 #endif /* _newgen_db_symbol_domain_defined_ */
57 
58 
59 /* DB_OWNED_RESOURCES
60  */
61 #define DB_OWNED_RESOURCES(x) ((db_owned_resources)((x).p))
62 #define db_owned_resources_CAST(x) DB_OWNED_RESOURCES(x)
63 #define DB_OWNED_RESOURCES_CAST(x) DB_OWNED_RESOURCES(x)
64 #define DB_OWNED_RESOURCES_(x) ((x).e)
65 #define DB_OWNED_RESOURCES_TYPE db_owned_resources
66 #define db_owned_resources_TYPE db_owned_resources
67 #define db_owned_resources_undefined ((db_owned_resources)gen_chunk_undefined)
68 #define db_owned_resources_undefined_p(x) ((x)==db_owned_resources_undefined)
69 
75 #define gen_DB_OWNED_RESOURCES_cons gen_db_owned_resources_cons
82 
86 };
87 
88 #define db_owned_resources_domain_number(x) ((x)->_type_)
89 #define db_owned_resources_hash_table(x) ((x)->_db_owned_resources_holder_)
90 #define db_owned_resources_key_type db_symbol
91 #define db_owned_resources_value_type db_resource
92 #define DB_OWNED_RESOURCES_MAP(k,v,c,f) FUNCTION_MAP(db_owned_resources,p,p,k,v,c,f)
93 #define DB_OWNED_RESOURCES_FOREACH(k,v,f) FUNCTION_FOREACH(db_owned_resources,p,p,k,v,f)
99 
100 /* DB_RESOURCE
101  */
102 #define DB_RESOURCE(x) ((db_resource)((x).p))
103 #define db_resource_CAST(x) DB_RESOURCE(x)
104 #define DB_RESOURCE_CAST(x) DB_RESOURCE(x)
105 #define DB_RESOURCE_(x) ((x).e)
106 #define DB_RESOURCE_TYPE db_resource
107 #define db_resource_TYPE db_resource
108 #define db_resource_undefined ((db_resource)gen_chunk_undefined)
109 #define db_resource_undefined_p(x) ((x)==db_resource_undefined)
110 
112 extern void free_db_resource(db_resource);
116 #define gen_DB_RESOURCE_cons gen_db_resource_cons
120 extern void write_db_resource(FILE*, db_resource);
121 extern db_resource read_db_resource(FILE*);
123 
126  db_void _db_resource_pointer_; /* pointer:db_void */
127  db_status _db_resource_db_status_; /* db_status:db_status */
128  intptr_t _db_resource_time_; /* time:int */
129  intptr_t _db_resource_file_time_; /* file_time:int */
130 };
131 
132 #define db_resource_domain_number(x) ((x)->_type_)
133 #define db_resource_pointer_(x) db_resource_pointer(x) /* old hack compatible */
134 #define db_resource_pointer(x) ((x)->_db_resource_pointer_)
135 #define db_resource_db_status_(x) db_resource_db_status(x) /* old hack compatible */
136 #define db_resource_db_status(x) ((x)->_db_resource_db_status_)
137 #define db_resource_time_(x) db_resource_time(x) /* old hack compatible */
138 #define db_resource_time(x) ((x)->_db_resource_time_)
139 #define db_resource_file_time_(x) db_resource_file_time(x) /* old hack compatible */
140 #define db_resource_file_time(x) ((x)->_db_resource_file_time_)
141 
142 /* DB_RESOURCES
143  */
144 #define DB_RESOURCES(x) ((db_resources)((x).p))
145 #define db_resources_CAST(x) DB_RESOURCES(x)
146 #define DB_RESOURCES_CAST(x) DB_RESOURCES(x)
147 #define DB_RESOURCES_(x) ((x).e)
148 #define DB_RESOURCES_TYPE db_resources
149 #define db_resources_TYPE db_resources
150 #define db_resources_undefined ((db_resources)gen_chunk_undefined)
151 #define db_resources_undefined_p(x) ((x)==db_resources_undefined)
152 
154 extern void free_db_resources(db_resources);
158 #define gen_DB_RESOURCES_cons gen_db_resources_cons
162 extern void write_db_resources(FILE*, db_resources);
163 extern db_resources read_db_resources(FILE*);
164 extern db_resources make_db_resources(void);
165 
169 };
170 
171 #define db_resources_domain_number(x) ((x)->_type_)
172 #define db_resources_hash_table(x) ((x)->_db_resources_holder_)
173 #define db_resources_key_type db_symbol
174 #define db_resources_value_type db_owned_resources
175 #define DB_RESOURCES_MAP(k,v,c,f) FUNCTION_MAP(db_resources,p,p,k,v,c,f)
176 #define DB_RESOURCES_FOREACH(k,v,f) FUNCTION_FOREACH(db_resources,p,p,k,v,f)
182 
183 /* DB_STATUS
184  */
185 #define DB_STATUS(x) ((db_status)((x).p))
186 #define db_status_CAST(x) DB_STATUS(x)
187 #define DB_STATUS_CAST(x) DB_STATUS(x)
188 #define DB_STATUS_(x) ((x).e)
189 #define DB_STATUS_TYPE db_status
190 #define db_status_TYPE db_status
191 #define db_status_undefined ((db_status)gen_chunk_undefined)
192 #define db_status_undefined_p(x) ((x)==db_status_undefined)
193 
195 extern void free_db_status(db_status);
197 extern bool db_status_consistent_p(db_status);
198 extern bool db_status_defined_p(db_status);
199 #define gen_DB_STATUS_cons gen_db_status_cons
203 extern void write_db_status(FILE*, db_status);
204 extern db_status read_db_status(FILE*);
210 };
211 extern string db_status_tag_as_string(enum db_status_utype);
212 extern db_status make_db_status(enum db_status_utype, void *);
213 extern db_status make_db_status_loaded(void);
214 extern db_status make_db_status_stored(void);
217 
221  union {
222  gen_chunk _db_status_loaded_; /* loaded:unit */
223  gen_chunk _db_status_stored_; /* stored:unit */
224  gen_chunk _db_status_required_; /* required:unit */
225  gen_chunk _db_status_loaded_and_stored_; /* loaded_and_stored:unit */
227 };
228 
229 #define db_status_domain_number(x) ((x)->_type_)
230 #define db_status_tag(x) ((x)->_db_status_tag__)
231 #define db_status_loaded_p(x) (db_status_tag(x)==is_db_status_loaded)
232 #define db_status_loaded_(x) db_status_loaded(x) /* old hack compatible */
233 #define db_status_loaded(x) ((x)->_db_status_union_._db_status_loaded_.u)
234 #define db_status_stored_p(x) (db_status_tag(x)==is_db_status_stored)
235 #define db_status_stored_(x) db_status_stored(x) /* old hack compatible */
236 #define db_status_stored(x) ((x)->_db_status_union_._db_status_stored_.u)
237 #define db_status_required_p(x) (db_status_tag(x)==is_db_status_required)
238 #define db_status_required_(x) db_status_required(x) /* old hack compatible */
239 #define db_status_required(x) ((x)->_db_status_union_._db_status_required_.u)
240 #define db_status_loaded_and_stored_p(x) (db_status_tag(x)==is_db_status_loaded_and_stored)
241 #define db_status_loaded_and_stored_(x) db_status_loaded_and_stored(x) /* old hack compatible */
242 #define db_status_loaded_and_stored(x) ((x)->_db_status_union_._db_status_loaded_and_stored_.u)
243 
244 /* DB_SYMBOL
245  */
246 #define DB_SYMBOL(x) ((db_symbol)((x).p))
247 #define db_symbol_CAST(x) DB_SYMBOL(x)
248 #define DB_SYMBOL_CAST(x) DB_SYMBOL(x)
249 #define DB_SYMBOL_(x) ((x).e)
250 #define DB_SYMBOL_TYPE db_symbol
251 #define db_symbol_TYPE db_symbol
252 #define db_symbol_undefined ((db_symbol)gen_chunk_undefined)
253 #define db_symbol_undefined_p(x) ((x)==db_symbol_undefined)
254 
256 extern void free_db_symbol(db_symbol);
258 extern bool db_symbol_consistent_p(db_symbol);
259 extern bool db_symbol_defined_p(db_symbol);
260 #define gen_DB_SYMBOL_cons gen_db_symbol_cons
264 extern db_symbol gen_find_db_symbol(char *);
265 extern void write_tabulated_db_symbol(FILE *);
266 extern void read_tabulated_db_symbol(FILE *);
267 extern db_symbol make_db_symbol(string);
268 
272  string _db_symbol_name_; /* name:string */
273 };
274 
275 #define db_symbol_domain_number(x) ((x)->_type_)
276 #define db_symbol_name_(x) db_symbol_name(x) /* old hack compatible */
277 #define db_symbol_name(x) ((x)->_db_symbol_name_)
278 
279 #define pipsdbm_private_spec "\
280 --NEWGEN-START 20\n\
281 external db_void;\n\
282 db_owned_resources = db_symbol:db_symbol -> db_resource:db_resource;\n\
283 db_resource = pointer:db_void x db_status:db_status x time:int x file_time:int;\n\
284 db_resources = db_symbol:db_symbol -> db_owned_resources:db_owned_resources;\n\
285 db_status = loaded:unit + stored:unit + required:unit + loaded_and_stored:unit;\n\
286 tabulated db_symbol = name:string;\n\
287 "
288 #endif
void * db_void
Definition: newgen.c:37
db_owned_resources apply_db_resources(db_resources, db_symbol)
void read_tabulated_db_symbol(FILE *)
db_resource apply_db_owned_resources(db_owned_resources, db_symbol)
void update_db_owned_resources(db_owned_resources, db_symbol, db_resource)
db_symbol copy_db_symbol(db_symbol)
DB_SYMBOL.
db_resources check_db_resources(db_resources)
bool db_owned_resources_consistent_p(db_owned_resources)
db_resource delete_db_owned_resources(db_owned_resources, db_symbol)
void extend_db_owned_resources(db_owned_resources, db_symbol, db_resource)
list gen_db_symbol_cons(db_symbol, list)
list gen_db_resource_cons(db_resource, list)
void write_db_resource(FILE *, db_resource)
struct _newgen_struct_db_status_ * db_status
void db_owned_resources_non_recursive_free(db_owned_resources)
void db_resources_non_recursive_free(db_resources)
bool bound_db_resources_p(db_resources, db_symbol)
struct _newgen_struct_db_resources_ * db_resources
db_resource check_db_resource(db_resource)
db_resources make_db_resources(void)
db_resource copy_db_resource(db_resource)
DB_RESOURCE.
db_resources read_db_resources(FILE *)
void db_status_assign_contents(db_status, db_status)
db_status make_db_status(enum db_status_utype, void *)
db_status make_db_status_loaded_and_stored(void)
void write_tabulated_db_symbol(FILE *)
struct _newgen_struct_db_symbol_ * db_symbol
void db_status_non_recursive_free(db_status)
db_owned_resources check_db_owned_resources(db_owned_resources)
db_status check_db_status(db_status)
db_status_utype
@ is_db_status_loaded_and_stored
@ is_db_status_loaded
@ is_db_status_stored
@ is_db_status_required
void db_resource_non_recursive_free(db_resource)
struct _newgen_struct_db_owned_resources_ * db_owned_resources
struct _newgen_struct_db_resource_ * db_resource
void write_db_owned_resources(FILE *, db_owned_resources)
bool db_status_defined_p(db_status)
void free_db_resource(db_resource)
db_symbol gen_find_db_symbol(char *)
void free_db_status(db_status)
db_resource read_db_resource(FILE *)
void db_symbol_non_recursive_free(db_symbol)
void db_owned_resources_assign_contents(db_owned_resources, db_owned_resources)
void update_db_resources(db_resources, db_symbol, db_owned_resources)
db_owned_resources read_db_owned_resources(FILE *)
void free_db_owned_resources(db_owned_resources)
db_resource make_db_resource(db_void, db_status, intptr_t, intptr_t)
db_resources copy_db_resources(db_resources)
DB_RESOURCES.
db_owned_resources make_db_owned_resources(void)
list gen_db_owned_resources_cons(db_owned_resources, list)
db_status make_db_status_loaded(void)
void free_db_resources(db_resources)
void free_db_symbol(db_symbol)
db_status make_db_status_stored(void)
void db_symbol_assign_contents(db_symbol, db_symbol)
bool db_status_consistent_p(db_status)
void db_resource_assign_contents(db_resource, db_resource)
string db_status_tag_as_string(enum db_status_utype)
bool db_symbol_defined_p(db_symbol)
list gen_db_resources_cons(db_resources, list)
db_status make_db_status_required(void)
db_status copy_db_status(db_status)
DB_STATUS.
void extend_db_resources(db_resources, db_symbol, db_owned_resources)
void write_db_resources(FILE *, db_resources)
void db_resources_assign_contents(db_resources, db_resources)
bool db_resources_consistent_p(db_resources)
bool bound_db_owned_resources_p(db_owned_resources, db_symbol)
bool db_resources_defined_p(db_resources)
db_owned_resources copy_db_owned_resources(db_owned_resources)
DB_OWNED_RESOURCES.
bool db_symbol_consistent_p(db_symbol)
bool db_resource_defined_p(db_resource)
list gen_db_status_cons(db_status, list)
db_owned_resources delete_db_resources(db_resources, db_symbol)
db_status read_db_status(FILE *)
bool db_owned_resources_defined_p(db_owned_resources)
bool db_resource_consistent_p(db_resource)
void write_db_status(FILE *, db_status)
db_symbol check_db_symbol(db_symbol)
db_symbol make_db_symbol(string)
#define intptr_t
Definition: stdint.in.h:294
intptr_t _db_resource_time_
db_status:db_status
db_status _db_resource_db_status_
pointer:db_void
intptr_t _db_resource_file_time_
time:int
union _newgen_struct_db_status_::@58 _db_status_union_
enum db_status_utype _db_status_tag__
gen_chunk _db_status_required_
stored:unit
gen_chunk _db_status_loaded_and_stored_
required:unit
gen_chunk _db_status_stored_
loaded:unit
The structure used to build lists in NewGen.
Definition: newgen_list.h:41
A gen_chunk is used to store every object.
Definition: genC.h:58