Helper library for handling HELLO URIs. More...
#include "gnunet_util_lib.h"
Go to the source code of this file.
Macros | |
#define | GNUNET_HELLO_ADDRESS_EXPIRATION |
For how long are HELLO signatures valid? | |
Typedefs | |
typedef void(* | GNUNET_HELLO_UriCallback) (void *cls, const struct GNUNET_PeerIdentity *pid, const char *uri) |
Callback function used to extract URIs from a builder. | |
Functions | |
struct GNUNET_HELLO_Builder * | GNUNET_HELLO_builder_new () |
Allocate builder. | |
struct GNUNET_HELLO_Builder * | GNUNET_HELLO_builder_from_parser (const struct GNUNET_HELLO_Parser *parser, struct GNUNET_PeerIdentity *pid) |
Allocate builder from parser. | |
const struct GNUNET_PeerIdentity * | GNUNET_HELLO_parser_get_id (const struct GNUNET_HELLO_Parser *parser) |
Get the PeerIdentity for this builder. | |
void | GNUNET_HELLO_builder_free (struct GNUNET_HELLO_Builder *builder) |
Release resources of a builder. | |
void | GNUNET_HELLO_parser_free (struct GNUNET_HELLO_Parser *parser) |
Release resources of a builder. | |
struct GNUNET_HELLO_Parser * | GNUNET_HELLO_parser_from_msg (const struct GNUNET_MessageHeader *msg) |
Parse msg. | |
struct GNUNET_HELLO_Parser * | GNUNET_HELLO_parser_from_block (const void *block, size_t block_size) |
Parse block. | |
struct GNUNET_HELLO_Parser * | GNUNET_HELLO_parser_from_block_ (const void *block, size_t block_size, int noverify) |
Parse block. | |
struct GNUNET_HELLO_Parser * | GNUNET_HELLO_parser_from_url (const char *url) |
Parse GNUnet HELLO url. | |
struct GNUNET_TIME_Absolute | GNUNET_HELLO_get_expiration_time_from_msg (const struct GNUNET_MessageHeader *msg) |
Get the expiration time for this HELLO. | |
struct GNUNET_MQ_Envelope * | GNUNET_HELLO_parser_to_env (const struct GNUNET_HELLO_Parser *parser) |
Generate envelope with GNUnet HELLO message (including peer ID) from a parser. | |
char * | GNUNET_HELLO_parser_to_url (const struct GNUNET_HELLO_Parser *parser) |
Generate GNUnet HELLO URI from a parser. | |
enum GNUNET_GenericReturnValue | GNUNET_HELLO_parser_to_block (const struct GNUNET_HELLO_Parser *parser, void *block, size_t *block_size) |
Generate DHT block from a parser. | |
enum GNUNET_GenericReturnValue | GNUNET_HELLO_builder_add_address (struct GNUNET_HELLO_Builder *builder, const char *address) |
Add individual address to the builder. | |
enum GNUNET_GenericReturnValue | GNUNET_HELLO_builder_del_address (struct GNUNET_HELLO_Builder *builder, const char *address) |
Remove individual address from the builder. | |
void | GNUNET_HELLO_builder_iterate (const struct GNUNET_HELLO_Builder *builder, GNUNET_HELLO_UriCallback uc, void *uc_cls) |
Iterate over URIs in a builder. | |
const struct GNUNET_PeerIdentity * | GNUNET_HELLO_parser_iterate (const struct GNUNET_HELLO_Parser *parser, GNUNET_HELLO_UriCallback uc, void *uc_cls) |
Iterate over URIs in a parser. | |
enum GNUNET_GenericReturnValue | GNUNET_HELLO_dht_msg_to_block (const struct GNUNET_MessageHeader *hello, const struct GNUNET_PeerIdentity *pid, void **block, size_t *block_size, struct GNUNET_TIME_Absolute *block_expiration) |
Convert a DHT hello message to a HELLO block. | |
char * | GNUNET_HELLO_address_to_prefix (const char *address) |
Given an address as a string, extract the prefix that identifies the communicator offering transmissions to that address. | |
enum GNUNET_GenericReturnValue | GNUNET_HELLO_build_url (const struct GNUNET_HELLO_Builder *builder, const struct GNUNET_PeerIdentity *pid, const struct GNUNET_CRYPTO_EddsaSignature *sig, struct GNUNET_TIME_Absolute expiration, char **result) |
struct GNUNET_MessageHeader * | GNUNET_HELLO_builder_to_dht_hello_msg (const struct GNUNET_HELLO_Builder *builder, const struct GNUNET_PeerIdentity *pid, const struct GNUNET_CRYPTO_EddsaSignature *sig, struct GNUNET_TIME_Absolute expiration_time) |
Generate DHT HELLO message (without peer ID) from a builder. | |
struct GNUNET_MessageHeader * | GNUNET_HELLO_parser_to_dht_hello_msg (const struct GNUNET_HELLO_Parser *parser) |
Generate DHT HELLO message from a parser. | |
void | GNUNET_HELLO_builder_to_block (const struct GNUNET_HELLO_Builder *builder, const struct GNUNET_PeerIdentity *pid, const struct GNUNET_CRYPTO_EddsaSignature *sig, struct GNUNET_TIME_Absolute expiration_time, char *outbuf) |
Generate DHT block from a builder. | |
void | GNUNET_HELLO_builder_hash_addresses (const struct GNUNET_HELLO_Builder *builder, struct GNUNET_HashCode *hash) |
Compute hash over addresses in builder. | |
struct GNUNET_MQ_Envelope * | GNUNET_HELLO_builder_to_env (const struct GNUNET_HELLO_Builder *builder, const struct GNUNET_PeerIdentity *pid, const struct GNUNET_CRYPTO_EddsaSignature *sig, struct GNUNET_TIME_Absolute expiration_time) |
Generate envelope with GNUnet HELLO message (including peer ID) from a builder. | |
size_t | GNUNET_HELLO_get_builder_to_block_size (const struct GNUNET_HELLO_Builder *builder) |
Get projected block size for builder. | |
enum GNUNET_GenericReturnValue | GNUNET_HELLO_builder_to_url (const struct GNUNET_HELLO_Builder *builder, const struct GNUNET_PeerIdentity *pid, const struct GNUNET_CRYPTO_EddsaSignature *sig, char **result) |
Generate GNUnet HELLO URI from a builder. | |
enum GNUNET_GenericReturnValue | GNUNET_HELLO_builder_to_url2 (const struct GNUNET_HELLO_Builder *builder, const struct GNUNET_PeerIdentity *pid, const struct GNUNET_CRYPTO_EddsaSignature *sig, struct GNUNET_TIME_Absolute validity, char **result) |
Generate GNUnet HELLO URI from a builder. | |
enum GNUNET_GenericReturnValue | GNUNET_HELLO_builder_address_list_cmp (const struct GNUNET_HELLO_Builder *abuilder, const struct GNUNET_HELLO_Builder *bbuilder) |
Compare address lists of two builders. | |
Helper library for handling HELLO URIs.
Definition in file gnunet_hello_uri_lib.h.