- * This function stores a public key in whatever storage mechanism we are
- * using. intrans indicates if we're already in a transaction so don't
- * need to start one. update indicates if the key already exists and is
- * just being updated.
+ * This function looks for the key that is referenced by the supplied
+ * SKS hash and returns it.
+ */
+ int (*fetch_key_skshash)(struct onak_dbctx *,
+ const struct skshash *hash,
+ struct openpgp_publickey **publickey);
+
+/**
+ * @brief Takes a list of public keys and updates them in the DB.
+ * @param keys The keys to update in the DB.
+ * @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.