+
+ /** \brief Add new event substructure to the list */
+struct event* gom_add_new_event(struct event** data);
+ /** \brief Remove an event substructure to the list */
+int gom_remove_event(struct event** data, struct event* obj);
+ /** \brief Move an event substructure up or down in the list */
+int gom_move_event(Gom_direction dir, struct event** data,
+ struct event* obj);
+
+ /** \brief Add new family_link substructure to the list */
+struct family_link* gom_add_new_family_link(struct family_link** data);
+ /** \brief Remove a family_link substructure to the list */
+int gom_remove_family_link(struct family_link** data,
+ struct family_link* obj);
+ /** \brief Move a family_link substructure up or down in the list */
+int gom_move_family_link(Gom_direction dir,
+ struct family_link** data,
+ struct family_link* obj);
+
+ /** \brief Add new lds_event substructure to the list */
+struct lds_event* gom_add_new_lds_event(struct lds_event** data);
+ /** \brief Remove an lds_event substructure to the list */
+int gom_remove_lds_event(struct lds_event** data,
+ struct lds_event* obj);
+ /** \brief Move an lds_event substructure up or down in the list */
+int gom_move_lds_event(Gom_direction dir,
+ struct lds_event** data,
+ struct lds_event* obj);
+
+ /** \brief Add new multimedia_link substructure to the list */
+struct multimedia_link*
+ gom_add_new_multimedia_link(struct multimedia_link** data);
+ /** \brief Remove a multimedia_link substructure to the list */
+int gom_remove_multimedia_link(struct multimedia_link** data,
+ struct multimedia_link* obj);
+ /** \brief Move a multimedia_link substructure up or down in the list */
+int gom_move_multimedia_link(Gom_direction dir,
+ struct multimedia_link** data,
+ struct multimedia_link* obj);
+
+ /** \brief Add new note substructure to the list */
+struct note_sub* gom_add_new_note_sub(struct note_sub** data);
+ /** \brief Remove a note substructure to the list */
+int gom_remove_note_sub(struct note_sub** data,
+ struct note_sub* obj);
+ /** \brief Move a note substructure up or down in the list */
+int gom_move_note_sub(Gom_direction dir,
+ struct note_sub** data,
+ struct note_sub* obj);
+
+ /** \brief Add new pedigree substructure to the list */
+struct pedigree* gom_add_new_pedigree(struct pedigree** data);
+ /** \brief Remove a pedigree substructure to the list */
+int gom_remove_pedigree(struct pedigree** data,
+ struct pedigree* obj);
+ /** \brief Move a pedigree substructure up or down in the list */
+int gom_move_pedigree(Gom_direction dir,
+ struct pedigree** data,
+ struct pedigree* obj);
+
+ /** \brief Add new personal_name substructure to the list */
+struct personal_name* gom_add_new_personal_name(struct personal_name** data);
+ /** \brief Remove a personal_name substructure to the list */
+int gom_remove_personal_name(struct personal_name** data,
+ struct personal_name* obj);
+ /** \brief Move a personal_name substructure up or down in the list */
+int gom_move_personal_name(Gom_direction dir,
+ struct personal_name** data,
+ struct personal_name* obj);
+
+ /** \brief Create new place substructure */
+struct place* gom_set_new_place(struct place** obj);
+ /** \brief Delete a place substructure */
+int gom_delete_place(struct place** obj);
+
+ /** \brief Add new source_citation substructure to the list */
+struct source_citation*
+ gom_add_new_source_citation(struct source_citation** data);
+ /** \brief Remove a source_citation substructure to the list */
+int gom_remove_source_citation(struct source_citation** data,
+ struct source_citation* obj);
+ /** \brief Move a source_citation substructure up or down in the list */
+int gom_move_source_citation(Gom_direction dir,
+ struct source_citation** data,
+ struct source_citation* obj);
+
+ /** \brief Add new source_description substructure to the list */
+struct source_description*
+ gom_add_new_source_description(struct source_description** data);
+ /** \brief Remove a source_description substructure to the list */
+int gom_remove_source_description(struct source_description** data,
+ struct source_description* obj);
+ /** \brief Move a source_description substructure up or down in the list */
+int gom_move_source_description(Gom_direction dir,
+ struct source_description** data,
+ struct source_description* obj);
+
+ /** \brief Add new source_event substructure to the list */
+struct source_event* gom_add_new_source_event(struct source_event** data);
+ /** \brief Remove a source_event substructure to the list */
+int gom_remove_source_event(struct source_event** data,
+ struct source_event* obj);
+ /** \brief Move a source_event substructure up or down in the list */
+int gom_move_source_event(Gom_direction dir,
+ struct source_event** data,
+ struct source_event* obj);
+
+ /** \brief Add new text substructure to the list */
+struct text* gom_add_new_text(struct text** data);
+ /** \brief Remove a text substructure to the list */
+int gom_remove_text(struct text** data,
+ struct text* obj);
+ /** \brief Move a text substructure up or down in the list */
+int gom_move_text(Gom_direction dir,
+ struct text** data,
+ struct text* obj);
+
+ /** \brief Add new user_data substructure to the list */
+struct user_data* gom_add_new_user_data(struct user_data** data);
+ /** \brief Remove a user_data substructure to the list */
+int gom_remove_user_data(struct user_data** data,
+ struct user_data* obj);
+ /** \brief Move a user_data substructure up or down in the list */
+int gom_move_user_data(Gom_direction dir,
+ struct user_data** data,
+ struct user_data* obj);
+
+ /** \brief Add new user_ref_number substructure to the list */
+struct user_ref_number*
+ gom_add_new_user_ref_number(struct user_ref_number** data);
+ /** \brief Remove a user_ref_number substructure to the list */
+int gom_remove_user_ref_number(struct user_ref_number** data,
+ struct user_ref_number* obj);
+ /** \brief Move a user_ref_number substructure up or down in the list */
+int gom_move_user_ref_number(Gom_direction dir,
+ struct user_ref_number** data,
+ struct user_ref_number* obj);
+ /** @} */