{
/**
- * Format of the rest of the entry, determines the data
- * type that is being added to the query.
+ * Function for how to handle this type of entry.
*/
GNUNET_PQ_QueryConverter conv;
size_t ptr_size);
+
+/**
+ * Generate query parameter for a string.
+ *
+ * @param ptr pointer to the string query parameter to pass
+ */
+struct GNUNET_PQ_QueryParam
+GNUNET_PQ_query_param_string (const char *ptr);
+
+
/**
* Generate fixed-size query parameter with size determined
* by variable type.
* @param x the query parameter to pass.
*/
struct GNUNET_PQ_QueryParam
-GNUNET_PQ_query_param_rsa_public_key (const struct GNUNET_CRYPTO_rsa_PublicKey *x);
+GNUNET_PQ_query_param_rsa_public_key (const struct GNUNET_CRYPTO_RsaPublicKey *x);
/**
* @param x the query parameter to pass
*/
struct GNUNET_PQ_QueryParam
-GNUNET_PQ_query_param_rsa_signature (const struct GNUNET_CRYPTO_rsa_Signature *x);
+GNUNET_PQ_query_param_rsa_signature (const struct GNUNET_CRYPTO_RsaSignature *x);
/**
* @param[out] dst where to store the result
* @return
* #GNUNET_YES if all results could be extracted
- * #GNUNET_NO if at least one result was NULL
- * #GNUNET_SYSERR if a result was invalid (non-existing field)
+ * #GNUNET_SYSERR if a result was invalid (non-existing field or NULL)
*/
typedef int
(*GNUNET_PQ_ResultConverter)(void *cls,
size_t *sptr);
+/**
+ * 0-terminated string expected.
+ *
+ * @param name name of the field in the table
+ * @param[out] dst where to store the result, allocated
+ * @return array entry for the result specification to use
+ */
+struct GNUNET_PQ_ResultSpec
+GNUNET_PQ_result_spec_string (const char *name,
+ char **dst);
+
+
/**
* RSA public key expected.
*
*/
struct GNUNET_PQ_ResultSpec
GNUNET_PQ_result_spec_rsa_public_key (const char *name,
- struct GNUNET_CRYPTO_rsa_PublicKey **rsa);
+ struct GNUNET_CRYPTO_RsaPublicKey **rsa);
/**
*/
struct GNUNET_PQ_ResultSpec
GNUNET_PQ_result_spec_rsa_signature (const char *name,
- struct GNUNET_CRYPTO_rsa_Signature **sig);
+ struct GNUNET_CRYPTO_RsaSignature **sig);
/**
/**
* Extract results from a query result according to the given specification.
- * If colums are NULL, the destination is not modified, and #GNUNET_NO
- * is returned.
*
* @param result result to process
* @param[in,out] rs result specification to extract for
* @param row row from the result to extract
* @return
* #GNUNET_YES if all results could be extracted
- * #GNUNET_NO if at least one result was NULL
* #GNUNET_SYSERR if a result was invalid (non-existing field)
*/
int