+struct client * record_assign_client(struct record * record,
+ struct client * client)
+{
+ record->client = client;
+ return client;
+}
+
+
+struct record_metadata * record_metadata_create(NMEM nmem)
+{
+ struct record_metadata * rec_md
+ = nmem_malloc(nmem, sizeof(struct record_metadata));
+ rec_md->next = 0;
+ return rec_md;
+}
+
+
+struct record_metadata * record_metadata_insert(NMEM nmem,
+ struct record_metadata ** rmd,
+ union data_types data)
+{
+ struct record_metadata * tmp_rmd = 0;
+ // assert(nmem);
+
+ if(!rmd)
+ return 0;
+
+ // construct new record_metadata
+ tmp_rmd = nmem_malloc(nmem, sizeof(struct record_metadata));
+ tmp_rmd->data = data;
+
+
+ // insert in *rmd's place, moving *rmd one down the list
+ tmp_rmd->next = *rmd;
+ *rmd = tmp_rmd;
+
+ return *rmd;
+}
+
+struct record_metadata * record_add_metadata_field_id(NMEM nmem,