- * getkeysigs - Gets a linked list of the signatures on a key.
- * @keyid: The keyid to get the sigs for.
- * @revoked: Is the key revoked?
+ * @brief Takes a list of public keys and updates them in the DB.
+ * @param keys The keys to update in the DB.
+ * @param blacklist A keyarray of fingerprints that shouldn't be added.
+ * @updateonly: Only update existing keys, don't add new ones.
+ * @param sendsync If we should send a keysync mail.
+ *
+ * Takes a list of keys and adds them to the database, merging them with
+ * the key in the database if it's already present there. The key list is
+ * update to contain the minimum set of updates required to get from what
+ * we had before to what we have now (ie the set of data that was added to
+ * the DB). Returns the number of entirely new keys added.
+ *
+ * If sendsync is true then we send out a keysync mail to our sync peers
+ * with the update.
+ */
+ int (*update_keys)(struct onak_dbctx *,
+ struct openpgp_publickey **keys,
+ struct keyarray *blacklist,
+ bool updateonly,
+ bool sendsync);
+
+/**
+ * @brief Takes a keyid and returns the primary UID for it.
+ * @param keyid The keyid to lookup.