A quick example of how to use the Thistle Prio wrapper.
#include <stdio.h>
#include <string.h>
#include "../target/prio.h"
const char * s_priv_key1 = "BIl6j+J6dYttxALdjISDv6ZI4/VWVEhUzaS05LgrsfswmbLOgN"
"t9HUC2E0w+9RqZx3XMkdEHBHfNuCSMpOwofVSq3TfyKwn0NrftKisKKVSaTOt5seJ67P5QL4hxgPWvxw==";
const char * s_priv_key2 = "BNNOqoU54GPo+1gTPv+hCgA9U2ZCKd76yOMrWa1xTWgeb4LhF"
"LMQIQoRwDVaW64g/WTdcxT4rDULoycUNFB60LER6hPEHg/ObBnRPV1rwS3nj9Bj0tbjVPPyL9p8QW8B+w==";
fprintf(stderr, "keys parsed\n");
{
uint32_t data1[] = {0, 0, 1, 0, 0, 0, 0, 0};
uint32_t data2[] = {0, 0, 1, 0, 0, 0, 0, 0};
fprintf(stderr, "client field encoded\n");
const uint8_t * data;
size_t data_len = 0;
}
{
uint64_t data1[] = {0, 0, 1, 0, 0, 0, 0, 0};
uint64_t data2[] = {0, 0, 1, 0, 0, 0, 0, 0};
fprintf(stderr, "client field encoded\n");
const uint8_t * data;
size_t data_len = 0;
}
fprintf(stderr, "done\n");
}
int main()
Definition: malloc.c:19
struct prio_private_key * prio_private_key_new_from_base64(const char *key, size_t key_length)
struct prio_private_key prio_private_key
Definition: prio.h:9
void prio_vector_get(struct prio_vector *ptr, const uint8_t **data, size_t *size)
struct prio_client_field_64 * prio_client_field_64_new(size_t dim, const struct prio_public_key *pub_key1, const struct prio_public_key *pub_key2)
struct prio_public_key * prio_public_key_new_from_private_key(const struct prio_private_key *private_key)
void prio_private_key_free(struct prio_private_key *key)
void prio_client_field_32_encode_simple(struct prio_client_field_32 *client, const uint32_t *data, size_t data_len, struct prio_vector **output1, struct prio_vector **output2)
struct prio_client_field_32 prio_client_field_32
Definition: prio.h:3
struct prio_client_field_32 * prio_client_field_32_new(size_t dim, const struct prio_public_key *pub_key1, const struct prio_public_key *pub_key2)
struct prio_client_field_64 prio_client_field_64
Definition: prio.h:5
struct prio_vector prio_vector
Definition: prio.h:13
struct prio_public_key prio_public_key
Definition: prio.h:11
void prio_public_key_free(struct prio_public_key *key)
void prio_client_field_64_encode_simple(struct prio_client_field_64 *client, const uint64_t *data, size_t data_len, struct prio_vector **output1, struct prio_vector **output2)
void prio_client_field_32_free(struct prio_client_field_32 *client)
void prio_vector_free(struct prio_vector *ptr)
void prio_client_field_64_free(struct prio_client_field_64 *client)