PIPS
database.c
Go to the documentation of this file.
1 /*
2  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
3  *
4  * PLEASE DO NOT MODIFY IT.
5  */
6 
7 
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <string.h>
11 #include "genC.h"
12 #include "database.h"
13 
14 /* DATABASE
15  */
17  return (database) gen_copy_tree((gen_chunk*) p);
18 }
20  gen_free((gen_chunk*) p);
21 }
24 }
26  check_database(p);
27  return gen_consistent_p((gen_chunk*) p);
28 }
30  return gen_defined_p((gen_chunk*) p);
31 }
34 }
36  check_database(r);
37  check_database(v);
38  message_assert("defined references to domain database",
40  memcpy(r, v, sizeof(struct _newgen_struct_database_));
41 }
43  // should clear up contents...
44  free(p);
45 }
46 void write_database(FILE* f, database p) {
47  gen_write(f, (gen_chunk*) p);
48 }
50  return (database) gen_read(f);
51 }
52 database make_database(string a1, string a2, list a3) {
53  return (database) gen_alloc(4*sizeof(gen_chunk), GEN_CHECK_ALLOC, database_domain, a1, a2, a3);
54 }
55 
56 /* RESOURCE
57  */
59  return (resource) gen_copy_tree((gen_chunk*) p);
60 }
62  gen_free((gen_chunk*) p);
63 }
66 }
68  check_resource(p);
69  return gen_consistent_p((gen_chunk*) p);
70 }
72  return gen_defined_p((gen_chunk*) p);
73 }
76 }
78  check_resource(r);
79  check_resource(v);
80  message_assert("defined references to domain resource",
82  memcpy(r, v, sizeof(struct _newgen_struct_resource_));
83 }
85  // should clear up contents...
86  free(p);
87 }
88 void write_resource(FILE* f, resource p) {
89  gen_write(f, (gen_chunk*) p);
90 }
92  return (resource) gen_read(f);
93 }
94 resource make_resource(string a1, string a2, status a3, intptr_t a4, intptr_t a5) {
95  return (resource) gen_alloc(6*sizeof(gen_chunk), GEN_CHECK_ALLOC, resource_domain, a1, a2, a3, a4, a5);
96 }
97 
98 /* STATUS
99  */
101  return (status) gen_copy_tree((gen_chunk*) p);
102 }
104  gen_free((gen_chunk*) p);
105 }
107  return (status) gen_check((gen_chunk*) p, status_domain);
108 }
110  check_status(p);
111  return gen_consistent_p((gen_chunk*) p);
112 }
114  return gen_defined_p((gen_chunk*) p);
115 }
117  return gen_typed_cons(STATUS_NEWGEN_DOMAIN, p, l);
118 }
120  check_status(r);
121  check_status(v);
122  message_assert("defined references to domain status",
124  memcpy(r, v, sizeof(struct _newgen_struct_status_));
125 }
127  // should clear up contents...
128  free(p);
129 }
130 void write_status(FILE* f, status p) {
131  gen_write(f, (gen_chunk*) p);
132 }
134  return (status) gen_read(f);
135 }
137  switch (tag) {
138  case is_status_memory: return "memory";
139  case is_status_file: return "file";
140  default: return string_undefined;
141  }
142 }
143 status make_status(enum status_utype tag, void * val) {
144  return (status) gen_alloc(3*sizeof(gen_chunk), GEN_CHECK_ALLOC, status_domain, tag, val);
145 }
146 status make_status_memory(string _field_) {
147  return make_status(is_status_memory, (void*)(intptr_t) _field_);
148 }
149 status make_status_file(string _field_) {
150  return make_status(is_status_file, (void*)(intptr_t) _field_);
151 }
152 
void database_assign_contents(database r, database v)
Definition: database.c:35
bool status_defined_p(status p)
Definition: database.c:113
database read_database(FILE *f)
Definition: database.c:49
void write_resource(FILE *f, resource p)
Definition: database.c:88
status make_status_memory(string _field_)
Definition: database.c:146
void write_database(FILE *f, database p)
Definition: database.c:46
void database_non_recursive_free(database p)
Definition: database.c:42
list gen_database_cons(database p, list l)
Definition: database.c:32
void status_non_recursive_free(status p)
Definition: database.c:126
status check_status(status p)
Definition: database.c:106
void resource_assign_contents(resource r, resource v)
Definition: database.c:77
void free_database(database p)
Definition: database.c:19
string status_tag_as_string(enum status_utype tag)
Definition: database.c:136
void resource_non_recursive_free(resource p)
Definition: database.c:84
status copy_status(status p)
STATUS.
Definition: database.c:100
bool resource_defined_p(resource p)
Definition: database.c:71
list gen_resource_cons(resource p, list l)
Definition: database.c:74
resource make_resource(string a1, string a2, status a3, intptr_t a4, intptr_t a5)
Definition: database.c:94
bool database_defined_p(database p)
Definition: database.c:29
void status_assign_contents(status r, status v)
Definition: database.c:119
bool database_consistent_p(database p)
Definition: database.c:25
database make_database(string a1, string a2, list a3)
Definition: database.c:52
status make_status(enum status_utype tag, void *val)
Definition: database.c:143
bool resource_consistent_p(resource p)
Definition: database.c:67
void free_resource(resource p)
Definition: database.c:61
void write_status(FILE *f, status p)
Definition: database.c:130
list gen_status_cons(status p, list l)
Definition: database.c:116
resource read_resource(FILE *f)
Definition: database.c:91
status make_status_file(string _field_)
Definition: database.c:149
bool status_consistent_p(status p)
Definition: database.c:109
resource check_resource(resource p)
Definition: database.c:64
database check_database(database p)
Definition: database.c:22
status read_status(FILE *f)
Definition: database.c:133
resource copy_resource(resource p)
RESOURCE.
Definition: database.c:58
void free_status(status p)
Definition: database.c:103
database copy_database(database p)
DATABASE.
Definition: database.c:16
#define STATUS_NEWGEN_DOMAIN
Definition: database.h:29
#define database_domain
Definition: database.h:10
status_utype
Definition: database.h:140
@ is_status_file
Definition: database.h:142
@ is_status_memory
Definition: database.h:141
#define status_domain
newgen_resource_domain_defined
Definition: database.h:26
#define DATABASE_NEWGEN_DOMAIN
Definition: database.h:13
#define RESOURCE_NEWGEN_DOMAIN
Definition: database.h:21
#define resource_domain
newgen_database_domain_defined
Definition: database.h:18
#define GEN_CHECK_ALLOC
Definition: genC.h:307
void gen_free(gen_chunk *obj)
version without shared_pointers.
Definition: genClib.c:992
gen_chunk * gen_alloc(int size, int gen_check_p, int dom,...)
allocates something in newgen.
Definition: genClib.c:298
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
Definition: genClib.c:2398
int gen_defined_p(gen_chunk *obj)
Definition: genClib.c:2438
gen_chunk * gen_check(gen_chunk *obj, int t)
GEN_CHECK checks that the gen_chunk received OBJ is of the appropriate TYPE.
Definition: genClib.c:2356
gen_chunk * gen_read(FILE *file)
GEN_READ reads any object from the FILE stream.
Definition: genClib.c:2323
gen_chunk * gen_copy_tree(gen_chunk *obj)
Definition: genClib.c:1429
void gen_write(FILE *fd, gen_chunk *obj)
GEN_WRITE writes the OBJect on the stream FD.
Definition: genClib.c:1745
void free(void *)
list gen_typed_cons(_int type, const void *item, const list next)
CONS a list with minimal type checking this cannot be done within the CONS macro because possible fun...
Definition: list.c:900
#define message_assert(msg, ex)
Definition: newgen_assert.h:47
int tag
TAG.
Definition: newgen_types.h:92
#define string_undefined
Definition: newgen_types.h:40
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Definition: offsets.c:15
#define intptr_t
Definition: stdint.in.h:294
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