+ /** \brief Retrieve first family object
+ \return The first family object, or \c NULL if there is none */
+struct family* gom_get_first_family();
+ /** \brief Retrieve family object by cross-reference
+ \param xref The cross-reference key of the object to retrieve
+ \return The object referenced by \c xref, \c NULL if it doesn't exist
+ or is not a family object */
+struct family* gom_get_family_by_xref(const char *xref);
+ /** \brief Retrieve first individual object
+ \return The first individual object, or \c NULL if there is none */
+struct individual* gom_get_first_individual();
+ /** \brief Retrieve individual object by cross-reference
+ \param xref The cross-reference key of the object to retrieve
+ \return The object referenced by \c xref, \c NULL if it doesn't exist
+ or is not an individual object */
+struct individual* gom_get_individual_by_xref(const char *xref);
+ /** \brief Retrieve first multimedia object
+ \return The first multimedia object, or \c NULL if there is none */
+struct multimedia* gom_get_first_multimedia();
+ /** \brief Retrieve multimedia object by cross-reference
+ \param xref The cross-reference key of the object to retrieve
+ \return The object referenced by \c xref, \c NULL if it doesn't exist
+ or is not a multimedia object */
+struct multimedia* gom_get_multimedia_by_xref(const char *xref);
+ /** \brief Retrieve first note object
+ \return The first note object, or \c NULL if there is none */
+struct note* gom_get_first_note();
+ /** \brief Retrieve note object by cross-reference
+ \param xref The cross-reference key of the object to retrieve
+ \return The object referenced by \c xref, \c NULL if it doesn't exist
+ or is not a note object */
+struct note* gom_get_note_by_xref(const char *xref);
+ /** \brief Retrieve first repository object
+ \return The first repository object, or \c NULL if there is none */
+struct repository* gom_get_first_repository();
+ /** \brief Retrieve repository object by cross-reference
+ \param xref The cross-reference key of the object to retrieve
+ \return The object referenced by \c xref, \c NULL if it doesn't exist
+ or is not a repository object */
+struct repository* gom_get_repository_by_xref(const char *xref);
+ /** \brief Retrieve first source object
+ \return The first source object, or \c NULL if there is none */
+struct source* gom_get_first_source();
+ /** \brief Retrieve source object by cross-reference
+ \param xref The cross-reference key of the object to retrieve
+ \return The object referenced by \c xref, \c NULL if it doesn't exist
+ or is not a source object */
+struct source* gom_get_source_by_xref(const char *xref);
+ /** \brief Retrieve first submitter object
+ \return The first submitter object, or \c NULL if there is none */
+struct submitter* gom_get_first_submitter();
+ /** \brief Retrieve submitter object by cross-reference
+ \param xref The cross-reference key of the object to retrieve
+ \return The object referenced by \c xref, \c NULL if it doesn't exist
+ or is not a submitter object */
+struct submitter* gom_get_submitter_by_xref(const char *xref);
+ /** \brief Retrieve first user record object
+ \return The first user record object, or \c NULL if there is none */
+struct user_rec* gom_get_first_user_rec();
+ /** \brief Retrieve user record object by cross-reference
+ \param xref The cross-reference key of the object to retrieve
+ \return The object referenced by \c xref, \c NULL if it doesn't exist
+ or is not a user record object */
+struct user_rec* gom_get_user_rec_by_xref(const char *xref);
+ /** @} */
+
+ /** \addtogroup gom_add_rec */
+ /** @{ */
+ /** \brief Add a submission record
+ \param xrefstr The cross-reference key for the new object
+ \return The new object if successful, \c NULL if an error happened (e.g.
+ the cross-reference is already in use */