+struct date_value gedcom_parse_date(const char* line_value);
+struct age_value gedcom_parse_age(const char* line_value);
+
+/* Handling cross-references */
+struct xref_value *gedcom_get_by_xref(const char *key);
+struct xref_value *gedcom_add_xref(Xref_type type, const char* xrefstr,
+ Gedcom_ctxt object);
+struct xref_value *gedcom_link_xref(Xref_type type, const char* xrefstr);
+struct xref_value *gedcom_unlink_xref(Xref_type type, const char* xrefstr);
+int gedcom_delete_xref(const char* xrefstr);
+
+/* Writing support */
+Gedcom_write_hndl gedcom_write_open(const char* filename);
+int gedcom_write_close(Gedcom_write_hndl hndl, int *total_conv_fails);
+int gedcom_write_set_encoding(const char* charset, Encoding width,
+ Enc_bom bom);
+int gedcom_write_set_line_terminator(Enc_line_end end);
+int gedcom_write_record_str(Gedcom_write_hndl hndl,
+ Gedcom_rec rec, char* tag,
+ struct xref_value* xref, char* val);
+int gedcom_write_element_str(Gedcom_write_hndl hndl,
+ Gedcom_elt elt, char* tag, int parent_rec_or_elt,
+ char* val);
+
+/* For use in gom */
+int gedcom_error(const char* s, ...);
+int gedcom_warning(const char* s, ...);
+int gedcom_message(const char* s, ...);
+int gedcom_debug_print(const char* s, ...);
+
+#ifdef __cplusplus
+}
+#endif