/* stfe.h -- generated by Trunnel v1.5.3. * https://gitweb.torproject.org/trunnel.git * You probably shouldn't edit this file. */ #ifndef TRUNNEL_STFE_H #define TRUNNEL_STFE_H #include #include "trunnel.h" #define T_GET_ENTRIES_V1 1 #define T_GET_PROOF_BY_HASH_V1 2 #define T_GET_CONSISTENCY_PROOF_V1 3 #define T_INCLUSION_PROOF_V1 4 #define T_CONSISTENCY_PROOF_V1 5 #define T_SIGNED_TREE_HEAD_V1 6 #define T_SIGNED_CHECKSUM32_ED25519_V1 7 #define T_ED25519_V1 8 #if !defined(TRUNNEL_OPAQUE) && !defined(TRUNNEL_OPAQUE_ED25519_V1) struct ed25519_v1_st { uint64_t format; uint8_t pubkey[32]; uint8_t trunnel_error_code_; }; #endif typedef struct ed25519_v1_st ed25519_v1_t; #if !defined(TRUNNEL_OPAQUE) && !defined(TRUNNEL_OPAQUE_REQ_GET_CONSISTENCY_PROOF_V1) struct req_get_consistency_proof_v1_st { uint64_t old_size; uint64_t new_size; uint8_t trunnel_error_code_; }; #endif typedef struct req_get_consistency_proof_v1_st req_get_consistency_proof_v1_t; #if !defined(TRUNNEL_OPAQUE) && !defined(TRUNNEL_OPAQUE_REQ_GET_ENTRIES_V1) struct req_get_entries_v1_st { uint64_t start_size; uint64_t end_size; uint8_t trunnel_error_code_; }; #endif typedef struct req_get_entries_v1_st req_get_entries_v1_t; #if !defined(TRUNNEL_OPAQUE) && !defined(TRUNNEL_OPAQUE_REQ_GET_PROOF_BY_HASH_V1) struct req_get_proof_by_hash_v1_st { uint64_t tree_size; uint8_t leaf_hash[32]; uint8_t trunnel_error_code_; }; #endif typedef struct req_get_proof_by_hash_v1_st req_get_proof_by_hash_v1_t; #if !defined(TRUNNEL_OPAQUE) && !defined(TRUNNEL_OPAQUE_SIGNED_TREE_HEAD_V1) struct signed_tree_head_v1_st { uint64_t format; uint64_t timestamp; uint64_t tree_size; uint8_t root_hash[32]; uint64_t length; TRUNNEL_DYNARRAY_HEAD(, uint8_t) sigident; uint8_t trunnel_error_code_; }; #endif typedef struct signed_tree_head_v1_st signed_tree_head_v1_t; #if !defined(TRUNNEL_OPAQUE) && !defined(TRUNNEL_OPAQUE_CONSISTENCY_PROOF_V1) struct consistency_proof_v1_st { uint64_t format; struct ed25519_v1_st *identifier; uint64_t old_size; uint64_t new_size; uint64_t length; TRUNNEL_DYNARRAY_HEAD(, uint8_t) hashes; uint8_t trunnel_error_code_; }; #endif typedef struct consistency_proof_v1_st consistency_proof_v1_t; #if !defined(TRUNNEL_OPAQUE) && !defined(TRUNNEL_OPAQUE_INCLUSION_PROOF_V1) struct inclusion_proof_v1_st { uint64_t format; struct ed25519_v1_st *identifier; uint64_t tree_size; uint64_t leaf_index; uint64_t length; TRUNNEL_DYNARRAY_HEAD(, uint8_t) hashes; uint8_t trunnel_error_code_; }; #endif typedef struct inclusion_proof_v1_st inclusion_proof_v1_t; #if !defined(TRUNNEL_OPAQUE) && !defined(TRUNNEL_OPAQUE_REQUEST_V1) struct request_v1_st { uint64_t format; struct req_get_entries_v1_st *request_get_entries; struct req_get_proof_by_hash_v1_st *request_get_proof_by_hash; struct req_get_consistency_proof_v1_st *request_get_consistency_proof; uint8_t trunnel_error_code_; }; #endif typedef struct request_v1_st request_v1_t; #if !defined(TRUNNEL_OPAQUE) && !defined(TRUNNEL_OPAQUE_SIGNED_CHECKSUM32_ED25519_V1) struct signed_checksum32_ed25519_v1_st { uint64_t format; uint8_t checksum[32]; uint64_t length; TRUNNEL_DYNARRAY_HEAD(, uint8_t) identifier; uint8_t signature[64]; struct ed25519_v1_st *namespace; uint8_t trunnel_error_code_; }; #endif typedef struct signed_checksum32_ed25519_v1_st signed_checksum32_ed25519_v1_t; /** Return a newly allocated ed25519_v1 with all elements set to zero. */ ed25519_v1_t *ed25519_v1_new(void); /** Release all storage held by the ed25519_v1 in 'victim'. (Do * nothing if 'victim' is NULL.) */ void ed25519_v1_free(ed25519_v1_t *victim); /** Try to parse a ed25519_v1 from the buffer in 'input', using up to * 'len_in' bytes from the input buffer. On success, return the number * of bytes consumed and set *output to the newly allocated * ed25519_v1_t. On failure, return -2 if the input appears truncated, * and -1 if the input is otherwise invalid. */ ssize_t ed25519_v1_parse(ed25519_v1_t **output, const uint8_t *input, const size_t len_in); /** Return the number of bytes we expect to need to encode the * ed25519_v1 in 'obj'. On failure, return a negative value. Note that * this value may be an overestimate, and can even be an underestimate * for certain unencodeable objects. */ ssize_t ed25519_v1_encoded_len(const ed25519_v1_t *obj); /** Try to encode the ed25519_v1 from 'input' into the buffer at * 'output', using up to 'avail' bytes of the output buffer. On * success, return the number of bytes used. On failure, return -2 if * the buffer was not long enough, and -1 if the input was invalid. */ ssize_t ed25519_v1_encode(uint8_t *output, size_t avail, const ed25519_v1_t *input); /** Check whether the internal state of the ed25519_v1 in 'obj' is * consistent. Return NULL if it is, and a short message if it is not. */ const char *ed25519_v1_check(const ed25519_v1_t *obj); /** Clear any errors that were set on the object 'obj' by its setter * functions. Return true iff errors were cleared. */ int ed25519_v1_clear_errors(ed25519_v1_t *obj); /** Return the value of the format field of the ed25519_v1_t in 'inp' */ uint64_t ed25519_v1_get_format(const ed25519_v1_t *inp); /** Set the value of the format field of the ed25519_v1_t in 'inp' to * 'val'. Return 0 on success; return -1 and set the error code on * 'inp' on failure. */ int ed25519_v1_set_format(ed25519_v1_t *inp, uint64_t val); /** Return the (constant) length of the array holding the pubkey field * of the ed25519_v1_t in 'inp'. */ size_t ed25519_v1_getlen_pubkey(const ed25519_v1_t *inp); /** Return the element at position 'idx' of the fixed array field * pubkey of the ed25519_v1_t in 'inp'. */ uint8_t ed25519_v1_get_pubkey(ed25519_v1_t *inp, size_t idx); /** As ed25519_v1_get_pubkey, but take and return a const pointer */ uint8_t ed25519_v1_getconst_pubkey(const ed25519_v1_t *inp, size_t idx); /** Change the element at position 'idx' of the fixed array field * pubkey of the ed25519_v1_t in 'inp', so that it will hold the value * 'elt'. */ int ed25519_v1_set_pubkey(ed25519_v1_t *inp, size_t idx, uint8_t elt); /** Return a pointer to the 32-element array field pubkey of 'inp'. */ uint8_t * ed25519_v1_getarray_pubkey(ed25519_v1_t *inp); /** As ed25519_v1_get_pubkey, but take and return a const pointer */ const uint8_t * ed25519_v1_getconstarray_pubkey(const ed25519_v1_t *inp); /** Return a newly allocated req_get_consistency_proof_v1 with all * elements set to zero. */ req_get_consistency_proof_v1_t *req_get_consistency_proof_v1_new(void); /** Release all storage held by the req_get_consistency_proof_v1 in * 'victim'. (Do nothing if 'victim' is NULL.) */ void req_get_consistency_proof_v1_free(req_get_consistency_proof_v1_t *victim); /** Try to parse a req_get_consistency_proof_v1 from the buffer in * 'input', using up to 'len_in' bytes from the input buffer. On * success, return the number of bytes consumed and set *output to the * newly allocated req_get_consistency_proof_v1_t. On failure, return * -2 if the input appears truncated, and -1 if the input is otherwise * invalid. */ ssize_t req_get_consistency_proof_v1_parse(req_get_consistency_proof_v1_t **output, const uint8_t *input, const size_t len_in); /** Return the number of bytes we expect to need to encode the * req_get_consistency_proof_v1 in 'obj'. On failure, return a * negative value. Note that this value may be an overestimate, and * can even be an underestimate for certain unencodeable objects. */ ssize_t req_get_consistency_proof_v1_encoded_len(const req_get_consistency_proof_v1_t *obj); /** Try to encode the req_get_consistency_proof_v1 from 'input' into * the buffer at 'output', using up to 'avail' bytes of the output * buffer. On success, return the number of bytes used. On failure, * return -2 if the buffer was not long enough, and -1 if the input * was invalid. */ ssize_t req_get_consistency_proof_v1_encode(uint8_t *output, size_t avail, const req_get_consistency_proof_v1_t *input); /** Check whether the internal state of the * req_get_consistency_proof_v1 in 'obj' is consistent. Return NULL if * it is, and a short message if it is not. */ const char *req_get_consistency_proof_v1_check(const req_get_consistency_proof_v1_t *obj); /** Clear any errors that were set on the object 'obj' by its setter * functions. Return true iff errors were cleared. */ int req_get_consistency_proof_v1_clear_errors(req_get_consistency_proof_v1_t *obj); /** Return the value of the old_size field of the * req_get_consistency_proof_v1_t in 'inp' */ uint64_t req_get_consistency_proof_v1_get_old_size(const req_get_consistency_proof_v1_t *inp); /** Set the value of the old_size field of the * req_get_consistency_proof_v1_t in 'inp' to 'val'. Return 0 on * success; return -1 and set the error code on 'inp' on failure. */ int req_get_consistency_proof_v1_set_old_size(req_get_consistency_proof_v1_t *inp, uint64_t val); /** Return the value of the new_size field of the * req_get_consistency_proof_v1_t in 'inp' */ uint64_t req_get_consistency_proof_v1_get_new_size(const req_get_consistency_proof_v1_t *inp); /** Set the value of the new_size field of the * req_get_consistency_proof_v1_t in 'inp' to 'val'. Return 0 on * success; return -1 and set the error code on 'inp' on failure. */ int req_get_consistency_proof_v1_set_new_size(req_get_consistency_proof_v1_t *inp, uint64_t val); /** Return a newly allocated req_get_entries_v1 with all elements set * to zero. */ req_get_entries_v1_t *req_get_entries_v1_new(void); /** Release all storage held by the req_get_entries_v1 in 'victim'. * (Do nothing if 'victim' is NULL.) */ void req_get_entries_v1_free(req_get_entries_v1_t *victim); /** Try to parse a req_get_entries_v1 from the buffer in 'input', * using up to 'len_in' bytes from the input buffer. On success, * return the number of bytes consumed and set *output to the newly * allocated req_get_entries_v1_t. On failure, return -2 if the input * appears truncated, and -1 if the input is otherwise invalid. */ ssize_t req_get_entries_v1_parse(req_get_entries_v1_t **output, const uint8_t *input, const size_t len_in); /** Return the number of bytes we expect to need to encode the * req_get_entries_v1 in 'obj'. On failure, return a negative value. * Note that this value may be an overestimate, and can even be an * underestimate for certain unencodeable objects. */ ssize_t req_get_entries_v1_encoded_len(const req_get_entries_v1_t *obj); /** Try to encode the req_get_entries_v1 from 'input' into the buffer * at 'output', using up to 'avail' bytes of the output buffer. On * success, return the number of bytes used. On failure, return -2 if * the buffer was not long enough, and -1 if the input was invalid. */ ssize_t req_get_entries_v1_encode(uint8_t *output, size_t avail, const req_get_entries_v1_t *input); /** Check whether the internal state of the req_get_entries_v1 in * 'obj' is consistent. Return NULL if it is, and a short message if * it is not. */ const char *req_get_entries_v1_check(const req_get_entries_v1_t *obj); /** Clear any errors that were set on the object 'obj' by its setter * functions. Return true iff errors were cleared. */ int req_get_entries_v1_clear_errors(req_get_entries_v1_t *obj); /** Return the value of the start_size field of the * req_get_entries_v1_t in 'inp' */ uint64_t req_get_entries_v1_get_start_size(const req_get_entries_v1_t *inp); /** Set the value of the start_size field of the req_get_entries_v1_t * in 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int req_get_entries_v1_set_start_size(req_get_entries_v1_t *inp, uint64_t val); /** Return the value of the end_size field of the req_get_entries_v1_t * in 'inp' */ uint64_t req_get_entries_v1_get_end_size(const req_get_entries_v1_t *inp); /** Set the value of the end_size field of the req_get_entries_v1_t in * 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int req_get_entries_v1_set_end_size(req_get_entries_v1_t *inp, uint64_t val); /** Return a newly allocated req_get_proof_by_hash_v1 with all * elements set to zero. */ req_get_proof_by_hash_v1_t *req_get_proof_by_hash_v1_new(void); /** Release all storage held by the req_get_proof_by_hash_v1 in * 'victim'. (Do nothing if 'victim' is NULL.) */ void req_get_proof_by_hash_v1_free(req_get_proof_by_hash_v1_t *victim); /** Try to parse a req_get_proof_by_hash_v1 from the buffer in * 'input', using up to 'len_in' bytes from the input buffer. On * success, return the number of bytes consumed and set *output to the * newly allocated req_get_proof_by_hash_v1_t. On failure, return -2 * if the input appears truncated, and -1 if the input is otherwise * invalid. */ ssize_t req_get_proof_by_hash_v1_parse(req_get_proof_by_hash_v1_t **output, const uint8_t *input, const size_t len_in); /** Return the number of bytes we expect to need to encode the * req_get_proof_by_hash_v1 in 'obj'. On failure, return a negative * value. Note that this value may be an overestimate, and can even be * an underestimate for certain unencodeable objects. */ ssize_t req_get_proof_by_hash_v1_encoded_len(const req_get_proof_by_hash_v1_t *obj); /** Try to encode the req_get_proof_by_hash_v1 from 'input' into the * buffer at 'output', using up to 'avail' bytes of the output buffer. * On success, return the number of bytes used. On failure, return -2 * if the buffer was not long enough, and -1 if the input was invalid. */ ssize_t req_get_proof_by_hash_v1_encode(uint8_t *output, size_t avail, const req_get_proof_by_hash_v1_t *input); /** Check whether the internal state of the req_get_proof_by_hash_v1 * in 'obj' is consistent. Return NULL if it is, and a short message * if it is not. */ const char *req_get_proof_by_hash_v1_check(const req_get_proof_by_hash_v1_t *obj); /** Clear any errors that were set on the object 'obj' by its setter * functions. Return true iff errors were cleared. */ int req_get_proof_by_hash_v1_clear_errors(req_get_proof_by_hash_v1_t *obj); /** Return the value of the tree_size field of the * req_get_proof_by_hash_v1_t in 'inp' */ uint64_t req_get_proof_by_hash_v1_get_tree_size(const req_get_proof_by_hash_v1_t *inp); /** Set the value of the tree_size field of the * req_get_proof_by_hash_v1_t in 'inp' to 'val'. Return 0 on success; * return -1 and set the error code on 'inp' on failure. */ int req_get_proof_by_hash_v1_set_tree_size(req_get_proof_by_hash_v1_t *inp, uint64_t val); /** Return the (constant) length of the array holding the leaf_hash * field of the req_get_proof_by_hash_v1_t in 'inp'. */ size_t req_get_proof_by_hash_v1_getlen_leaf_hash(const req_get_proof_by_hash_v1_t *inp); /** Return the element at position 'idx' of the fixed array field * leaf_hash of the req_get_proof_by_hash_v1_t in 'inp'. */ uint8_t req_get_proof_by_hash_v1_get_leaf_hash(req_get_proof_by_hash_v1_t *inp, size_t idx); /** As req_get_proof_by_hash_v1_get_leaf_hash, but take and return a * const pointer */ uint8_t req_get_proof_by_hash_v1_getconst_leaf_hash(const req_get_proof_by_hash_v1_t *inp, size_t idx); /** Change the element at position 'idx' of the fixed array field * leaf_hash of the req_get_proof_by_hash_v1_t in 'inp', so that it * will hold the value 'elt'. */ int req_get_proof_by_hash_v1_set_leaf_hash(req_get_proof_by_hash_v1_t *inp, size_t idx, uint8_t elt); /** Return a pointer to the 32-element array field leaf_hash of 'inp'. */ uint8_t * req_get_proof_by_hash_v1_getarray_leaf_hash(req_get_proof_by_hash_v1_t *inp); /** As req_get_proof_by_hash_v1_get_leaf_hash, but take and return a * const pointer */ const uint8_t * req_get_proof_by_hash_v1_getconstarray_leaf_hash(const req_get_proof_by_hash_v1_t *inp); /** Return a newly allocated signed_tree_head_v1 with all elements set * to zero. */ signed_tree_head_v1_t *signed_tree_head_v1_new(void); /** Release all storage held by the signed_tree_head_v1 in 'victim'. * (Do nothing if 'victim' is NULL.) */ void signed_tree_head_v1_free(signed_tree_head_v1_t *victim); /** Try to parse a signed_tree_head_v1 from the buffer in 'input', * using up to 'len_in' bytes from the input buffer. On success, * return the number of bytes consumed and set *output to the newly * allocated signed_tree_head_v1_t. On failure, return -2 if the input * appears truncated, and -1 if the input is otherwise invalid. */ ssize_t signed_tree_head_v1_parse(signed_tree_head_v1_t **output, const uint8_t *input, const size_t len_in); /** Return the number of bytes we expect to need to encode the * signed_tree_head_v1 in 'obj'. On failure, return a negative value. * Note that this value may be an overestimate, and can even be an * underestimate for certain unencodeable objects. */ ssize_t signed_tree_head_v1_encoded_len(const signed_tree_head_v1_t *obj); /** Try to encode the signed_tree_head_v1 from 'input' into the buffer * at 'output', using up to 'avail' bytes of the output buffer. On * success, return the number of bytes used. On failure, return -2 if * the buffer was not long enough, and -1 if the input was invalid. */ ssize_t signed_tree_head_v1_encode(uint8_t *output, size_t avail, const signed_tree_head_v1_t *input); /** Check whether the internal state of the signed_tree_head_v1 in * 'obj' is consistent. Return NULL if it is, and a short message if * it is not. */ const char *signed_tree_head_v1_check(const signed_tree_head_v1_t *obj); /** Clear any errors that were set on the object 'obj' by its setter * functions. Return true iff errors were cleared. */ int signed_tree_head_v1_clear_errors(signed_tree_head_v1_t *obj); /** Return the value of the format field of the signed_tree_head_v1_t * in 'inp' */ uint64_t signed_tree_head_v1_get_format(const signed_tree_head_v1_t *inp); /** Set the value of the format field of the signed_tree_head_v1_t in * 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int signed_tree_head_v1_set_format(signed_tree_head_v1_t *inp, uint64_t val); /** Return the value of the timestamp field of the * signed_tree_head_v1_t in 'inp' */ uint64_t signed_tree_head_v1_get_timestamp(const signed_tree_head_v1_t *inp); /** Set the value of the timestamp field of the signed_tree_head_v1_t * in 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int signed_tree_head_v1_set_timestamp(signed_tree_head_v1_t *inp, uint64_t val); /** Return the value of the tree_size field of the * signed_tree_head_v1_t in 'inp' */ uint64_t signed_tree_head_v1_get_tree_size(const signed_tree_head_v1_t *inp); /** Set the value of the tree_size field of the signed_tree_head_v1_t * in 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int signed_tree_head_v1_set_tree_size(signed_tree_head_v1_t *inp, uint64_t val); /** Return the (constant) length of the array holding the root_hash * field of the signed_tree_head_v1_t in 'inp'. */ size_t signed_tree_head_v1_getlen_root_hash(const signed_tree_head_v1_t *inp); /** Return the element at position 'idx' of the fixed array field * root_hash of the signed_tree_head_v1_t in 'inp'. */ uint8_t signed_tree_head_v1_get_root_hash(signed_tree_head_v1_t *inp, size_t idx); /** As signed_tree_head_v1_get_root_hash, but take and return a const * pointer */ uint8_t signed_tree_head_v1_getconst_root_hash(const signed_tree_head_v1_t *inp, size_t idx); /** Change the element at position 'idx' of the fixed array field * root_hash of the signed_tree_head_v1_t in 'inp', so that it will * hold the value 'elt'. */ int signed_tree_head_v1_set_root_hash(signed_tree_head_v1_t *inp, size_t idx, uint8_t elt); /** Return a pointer to the 32-element array field root_hash of 'inp'. */ uint8_t * signed_tree_head_v1_getarray_root_hash(signed_tree_head_v1_t *inp); /** As signed_tree_head_v1_get_root_hash, but take and return a const * pointer */ const uint8_t * signed_tree_head_v1_getconstarray_root_hash(const signed_tree_head_v1_t *inp); /** Return the value of the length field of the signed_tree_head_v1_t * in 'inp' */ uint64_t signed_tree_head_v1_get_length(const signed_tree_head_v1_t *inp); /** Set the value of the length field of the signed_tree_head_v1_t in * 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int signed_tree_head_v1_set_length(signed_tree_head_v1_t *inp, uint64_t val); /** Return the length of the dynamic array holding the sigident field * of the signed_tree_head_v1_t in 'inp'. */ size_t signed_tree_head_v1_getlen_sigident(const signed_tree_head_v1_t *inp); /** Return the element at position 'idx' of the dynamic array field * sigident of the signed_tree_head_v1_t in 'inp'. */ uint8_t signed_tree_head_v1_get_sigident(signed_tree_head_v1_t *inp, size_t idx); /** As signed_tree_head_v1_get_sigident, but take and return a const * pointer */ uint8_t signed_tree_head_v1_getconst_sigident(const signed_tree_head_v1_t *inp, size_t idx); /** Change the element at position 'idx' of the dynamic array field * sigident of the signed_tree_head_v1_t in 'inp', so that it will * hold the value 'elt'. */ int signed_tree_head_v1_set_sigident(signed_tree_head_v1_t *inp, size_t idx, uint8_t elt); /** Append a new element 'elt' to the dynamic array field sigident of * the signed_tree_head_v1_t in 'inp'. */ int signed_tree_head_v1_add_sigident(signed_tree_head_v1_t *inp, uint8_t elt); /** Return a pointer to the variable-length array field sigident of * 'inp'. */ uint8_t * signed_tree_head_v1_getarray_sigident(signed_tree_head_v1_t *inp); /** As signed_tree_head_v1_get_sigident, but take and return a const * pointer */ const uint8_t * signed_tree_head_v1_getconstarray_sigident(const signed_tree_head_v1_t *inp); /** Change the length of the variable-length array field sigident of * 'inp' to 'newlen'.Fill extra elements with 0. Return 0 on success; * return -1 and set the error code on 'inp' on failure. */ int signed_tree_head_v1_setlen_sigident(signed_tree_head_v1_t *inp, size_t newlen); /** Return a newly allocated consistency_proof_v1 with all elements * set to zero. */ consistency_proof_v1_t *consistency_proof_v1_new(void); /** Release all storage held by the consistency_proof_v1 in 'victim'. * (Do nothing if 'victim' is NULL.) */ void consistency_proof_v1_free(consistency_proof_v1_t *victim); /** Try to parse a consistency_proof_v1 from the buffer in 'input', * using up to 'len_in' bytes from the input buffer. On success, * return the number of bytes consumed and set *output to the newly * allocated consistency_proof_v1_t. On failure, return -2 if the * input appears truncated, and -1 if the input is otherwise invalid. */ ssize_t consistency_proof_v1_parse(consistency_proof_v1_t **output, const uint8_t *input, const size_t len_in); /** Return the number of bytes we expect to need to encode the * consistency_proof_v1 in 'obj'. On failure, return a negative value. * Note that this value may be an overestimate, and can even be an * underestimate for certain unencodeable objects. */ ssize_t consistency_proof_v1_encoded_len(const consistency_proof_v1_t *obj); /** Try to encode the consistency_proof_v1 from 'input' into the * buffer at 'output', using up to 'avail' bytes of the output buffer. * On success, return the number of bytes used. On failure, return -2 * if the buffer was not long enough, and -1 if the input was invalid. */ ssize_t consistency_proof_v1_encode(uint8_t *output, size_t avail, const consistency_proof_v1_t *input); /** Check whether the internal state of the consistency_proof_v1 in * 'obj' is consistent. Return NULL if it is, and a short message if * it is not. */ const char *consistency_proof_v1_check(const consistency_proof_v1_t *obj); /** Clear any errors that were set on the object 'obj' by its setter * functions. Return true iff errors were cleared. */ int consistency_proof_v1_clear_errors(consistency_proof_v1_t *obj); /** Return the value of the format field of the consistency_proof_v1_t * in 'inp' */ uint64_t consistency_proof_v1_get_format(const consistency_proof_v1_t *inp); /** Set the value of the format field of the consistency_proof_v1_t in * 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int consistency_proof_v1_set_format(consistency_proof_v1_t *inp, uint64_t val); /** Return the value of the identifier field of the * consistency_proof_v1_t in 'inp' */ struct ed25519_v1_st * consistency_proof_v1_get_identifier(consistency_proof_v1_t *inp); /** As consistency_proof_v1_get_identifier, but take and return a * const pointer */ const struct ed25519_v1_st * consistency_proof_v1_getconst_identifier(const consistency_proof_v1_t *inp); /** Set the value of the identifier field of the * consistency_proof_v1_t in 'inp' to 'val'. Free the old value if * any. Steals the referenceto 'val'.Return 0 on success; return -1 * and set the error code on 'inp' on failure. */ int consistency_proof_v1_set_identifier(consistency_proof_v1_t *inp, struct ed25519_v1_st *val); /** As consistency_proof_v1_set_identifier, but does not free the * previous value. */ int consistency_proof_v1_set0_identifier(consistency_proof_v1_t *inp, struct ed25519_v1_st *val); /** Return the value of the old_size field of the * consistency_proof_v1_t in 'inp' */ uint64_t consistency_proof_v1_get_old_size(const consistency_proof_v1_t *inp); /** Set the value of the old_size field of the consistency_proof_v1_t * in 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int consistency_proof_v1_set_old_size(consistency_proof_v1_t *inp, uint64_t val); /** Return the value of the new_size field of the * consistency_proof_v1_t in 'inp' */ uint64_t consistency_proof_v1_get_new_size(const consistency_proof_v1_t *inp); /** Set the value of the new_size field of the consistency_proof_v1_t * in 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int consistency_proof_v1_set_new_size(consistency_proof_v1_t *inp, uint64_t val); /** Return the value of the length field of the consistency_proof_v1_t * in 'inp' */ uint64_t consistency_proof_v1_get_length(const consistency_proof_v1_t *inp); /** Set the value of the length field of the consistency_proof_v1_t in * 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int consistency_proof_v1_set_length(consistency_proof_v1_t *inp, uint64_t val); /** Return the length of the dynamic array holding the hashes field of * the consistency_proof_v1_t in 'inp'. */ size_t consistency_proof_v1_getlen_hashes(const consistency_proof_v1_t *inp); /** Return the element at position 'idx' of the dynamic array field * hashes of the consistency_proof_v1_t in 'inp'. */ uint8_t consistency_proof_v1_get_hashes(consistency_proof_v1_t *inp, size_t idx); /** As consistency_proof_v1_get_hashes, but take and return a const * pointer */ uint8_t consistency_proof_v1_getconst_hashes(const consistency_proof_v1_t *inp, size_t idx); /** Change the element at position 'idx' of the dynamic array field * hashes of the consistency_proof_v1_t in 'inp', so that it will hold * the value 'elt'. */ int consistency_proof_v1_set_hashes(consistency_proof_v1_t *inp, size_t idx, uint8_t elt); /** Append a new element 'elt' to the dynamic array field hashes of * the consistency_proof_v1_t in 'inp'. */ int consistency_proof_v1_add_hashes(consistency_proof_v1_t *inp, uint8_t elt); /** Return a pointer to the variable-length array field hashes of * 'inp'. */ uint8_t * consistency_proof_v1_getarray_hashes(consistency_proof_v1_t *inp); /** As consistency_proof_v1_get_hashes, but take and return a const * pointer */ const uint8_t * consistency_proof_v1_getconstarray_hashes(const consistency_proof_v1_t *inp); /** Change the length of the variable-length array field hashes of * 'inp' to 'newlen'.Fill extra elements with 0. Return 0 on success; * return -1 and set the error code on 'inp' on failure. */ int consistency_proof_v1_setlen_hashes(consistency_proof_v1_t *inp, size_t newlen); /** Return a newly allocated inclusion_proof_v1 with all elements set * to zero. */ inclusion_proof_v1_t *inclusion_proof_v1_new(void); /** Release all storage held by the inclusion_proof_v1 in 'victim'. * (Do nothing if 'victim' is NULL.) */ void inclusion_proof_v1_free(inclusion_proof_v1_t *victim); /** Try to parse a inclusion_proof_v1 from the buffer in 'input', * using up to 'len_in' bytes from the input buffer. On success, * return the number of bytes consumed and set *output to the newly * allocated inclusion_proof_v1_t. On failure, return -2 if the input * appears truncated, and -1 if the input is otherwise invalid. */ ssize_t inclusion_proof_v1_parse(inclusion_proof_v1_t **output, const uint8_t *input, const size_t len_in); /** Return the number of bytes we expect to need to encode the * inclusion_proof_v1 in 'obj'. On failure, return a negative value. * Note that this value may be an overestimate, and can even be an * underestimate for certain unencodeable objects. */ ssize_t inclusion_proof_v1_encoded_len(const inclusion_proof_v1_t *obj); /** Try to encode the inclusion_proof_v1 from 'input' into the buffer * at 'output', using up to 'avail' bytes of the output buffer. On * success, return the number of bytes used. On failure, return -2 if * the buffer was not long enough, and -1 if the input was invalid. */ ssize_t inclusion_proof_v1_encode(uint8_t *output, size_t avail, const inclusion_proof_v1_t *input); /** Check whether the internal state of the inclusion_proof_v1 in * 'obj' is consistent. Return NULL if it is, and a short message if * it is not. */ const char *inclusion_proof_v1_check(const inclusion_proof_v1_t *obj); /** Clear any errors that were set on the object 'obj' by its setter * functions. Return true iff errors were cleared. */ int inclusion_proof_v1_clear_errors(inclusion_proof_v1_t *obj); /** Return the value of the format field of the inclusion_proof_v1_t * in 'inp' */ uint64_t inclusion_proof_v1_get_format(const inclusion_proof_v1_t *inp); /** Set the value of the format field of the inclusion_proof_v1_t in * 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int inclusion_proof_v1_set_format(inclusion_proof_v1_t *inp, uint64_t val); /** Return the value of the identifier field of the * inclusion_proof_v1_t in 'inp' */ struct ed25519_v1_st * inclusion_proof_v1_get_identifier(inclusion_proof_v1_t *inp); /** As inclusion_proof_v1_get_identifier, but take and return a const * pointer */ const struct ed25519_v1_st * inclusion_proof_v1_getconst_identifier(const inclusion_proof_v1_t *inp); /** Set the value of the identifier field of the inclusion_proof_v1_t * in 'inp' to 'val'. Free the old value if any. Steals the * referenceto 'val'.Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int inclusion_proof_v1_set_identifier(inclusion_proof_v1_t *inp, struct ed25519_v1_st *val); /** As inclusion_proof_v1_set_identifier, but does not free the * previous value. */ int inclusion_proof_v1_set0_identifier(inclusion_proof_v1_t *inp, struct ed25519_v1_st *val); /** Return the value of the tree_size field of the * inclusion_proof_v1_t in 'inp' */ uint64_t inclusion_proof_v1_get_tree_size(const inclusion_proof_v1_t *inp); /** Set the value of the tree_size field of the inclusion_proof_v1_t * in 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int inclusion_proof_v1_set_tree_size(inclusion_proof_v1_t *inp, uint64_t val); /** Return the value of the leaf_index field of the * inclusion_proof_v1_t in 'inp' */ uint64_t inclusion_proof_v1_get_leaf_index(const inclusion_proof_v1_t *inp); /** Set the value of the leaf_index field of the inclusion_proof_v1_t * in 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int inclusion_proof_v1_set_leaf_index(inclusion_proof_v1_t *inp, uint64_t val); /** Return the value of the length field of the inclusion_proof_v1_t * in 'inp' */ uint64_t inclusion_proof_v1_get_length(const inclusion_proof_v1_t *inp); /** Set the value of the length field of the inclusion_proof_v1_t in * 'inp' to 'val'. Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int inclusion_proof_v1_set_length(inclusion_proof_v1_t *inp, uint64_t val); /** Return the length of the dynamic array holding the hashes field of * the inclusion_proof_v1_t in 'inp'. */ size_t inclusion_proof_v1_getlen_hashes(const inclusion_proof_v1_t *inp); /** Return the element at position 'idx' of the dynamic array field * hashes of the inclusion_proof_v1_t in 'inp'. */ uint8_t inclusion_proof_v1_get_hashes(inclusion_proof_v1_t *inp, size_t idx); /** As inclusion_proof_v1_get_hashes, but take and return a const * pointer */ uint8_t inclusion_proof_v1_getconst_hashes(const inclusion_proof_v1_t *inp, size_t idx); /** Change the element at position 'idx' of the dynamic array field * hashes of the inclusion_proof_v1_t in 'inp', so that it will hold * the value 'elt'. */ int inclusion_proof_v1_set_hashes(inclusion_proof_v1_t *inp, size_t idx, uint8_t elt); /** Append a new element 'elt' to the dynamic array field hashes of * the inclusion_proof_v1_t in 'inp'. */ int inclusion_proof_v1_add_hashes(inclusion_proof_v1_t *inp, uint8_t elt); /** Return a pointer to the variable-length array field hashes of * 'inp'. */ uint8_t * inclusion_proof_v1_getarray_hashes(inclusion_proof_v1_t *inp); /** As inclusion_proof_v1_get_hashes, but take and return a const * pointer */ const uint8_t * inclusion_proof_v1_getconstarray_hashes(const inclusion_proof_v1_t *inp); /** Change the length of the variable-length array field hashes of * 'inp' to 'newlen'.Fill extra elements with 0. Return 0 on success; * return -1 and set the error code on 'inp' on failure. */ int inclusion_proof_v1_setlen_hashes(inclusion_proof_v1_t *inp, size_t newlen); /** Return a newly allocated request_v1 with all elements set to zero. */ request_v1_t *request_v1_new(void); /** Release all storage held by the request_v1 in 'victim'. (Do * nothing if 'victim' is NULL.) */ void request_v1_free(request_v1_t *victim); /** Try to parse a request_v1 from the buffer in 'input', using up to * 'len_in' bytes from the input buffer. On success, return the number * of bytes consumed and set *output to the newly allocated * request_v1_t. On failure, return -2 if the input appears truncated, * and -1 if the input is otherwise invalid. */ ssize_t request_v1_parse(request_v1_t **output, const uint8_t *input, const size_t len_in); /** Return the number of bytes we expect to need to encode the * request_v1 in 'obj'. On failure, return a negative value. Note that * this value may be an overestimate, and can even be an underestimate * for certain unencodeable objects. */ ssize_t request_v1_encoded_len(const request_v1_t *obj); /** Try to encode the request_v1 from 'input' into the buffer at * 'output', using up to 'avail' bytes of the output buffer. On * success, return the number of bytes used. On failure, return -2 if * the buffer was not long enough, and -1 if the input was invalid. */ ssize_t request_v1_encode(uint8_t *output, size_t avail, const request_v1_t *input); /** Check whether the internal state of the request_v1 in 'obj' is * consistent. Return NULL if it is, and a short message if it is not. */ const char *request_v1_check(const request_v1_t *obj); /** Clear any errors that were set on the object 'obj' by its setter * functions. Return true iff errors were cleared. */ int request_v1_clear_errors(request_v1_t *obj); /** Return the value of the format field of the request_v1_t in 'inp' */ uint64_t request_v1_get_format(const request_v1_t *inp); /** Set the value of the format field of the request_v1_t in 'inp' to * 'val'. Return 0 on success; return -1 and set the error code on * 'inp' on failure. */ int request_v1_set_format(request_v1_t *inp, uint64_t val); /** Return the value of the request_get_entries field of the * request_v1_t in 'inp' */ struct req_get_entries_v1_st * request_v1_get_request_get_entries(request_v1_t *inp); /** As request_v1_get_request_get_entries, but take and return a const * pointer */ const struct req_get_entries_v1_st * request_v1_getconst_request_get_entries(const request_v1_t *inp); /** Set the value of the request_get_entries field of the request_v1_t * in 'inp' to 'val'. Free the old value if any. Steals the * referenceto 'val'.Return 0 on success; return -1 and set the error * code on 'inp' on failure. */ int request_v1_set_request_get_entries(request_v1_t *inp, struct req_get_entries_v1_st *val); /** As request_v1_set_request_get_entries, but does not free the * previous value. */ int request_v1_set0_request_get_entries(request_v1_t *inp, struct req_get_entries_v1_st *val); /** Return the value of the request_get_proof_by_hash field of the * request_v1_t in 'inp' */ struct req_get_proof_by_hash_v1_st * request_v1_get_request_get_proof_by_hash(request_v1_t *inp); /** As request_v1_get_request_get_proof_by_hash, but take and return a * const pointer */ const struct req_get_proof_by_hash_v1_st * request_v1_getconst_request_get_proof_by_hash(const request_v1_t *inp); /** Set the value of the request_get_proof_by_hash field of the * request_v1_t in 'inp' to 'val'. Free the old value if any. Steals * the referenceto 'val'.Return 0 on success; return -1 and set the * error code on 'inp' on failure. */ int request_v1_set_request_get_proof_by_hash(request_v1_t *inp, struct req_get_proof_by_hash_v1_st *val); /** As request_v1_set_request_get_proof_by_hash, but does not free the * previous value. */ int request_v1_set0_request_get_proof_by_hash(request_v1_t *inp, struct req_get_proof_by_hash_v1_st *val); /** Return the value of the request_get_consistency_proof field of the * request_v1_t in 'inp' */ struct req_get_consistency_proof_v1_st * request_v1_get_request_get_consistency_proof(request_v1_t *inp); /** As request_v1_get_request_get_consistency_proof, but take and * return a const pointer */ const struct req_get_consistency_proof_v1_st * request_v1_getconst_request_get_consistency_proof(const request_v1_t *inp); /** Set the value of the request_get_consistency_proof field of the * request_v1_t in 'inp' to 'val'. Free the old value if any. Steals * the referenceto 'val'.Return 0 on success; return -1 and set the * error code on 'inp' on failure. */ int request_v1_set_request_get_consistency_proof(request_v1_t *inp, struct req_get_consistency_proof_v1_st *val); /** As request_v1_set_request_get_consistency_proof, but does not free * the previous value. */ int request_v1_set0_request_get_consistency_proof(request_v1_t *inp, struct req_get_consistency_proof_v1_st *val); /** Return a newly allocated signed_checksum32_ed25519_v1 with all * elements set to zero. */ signed_checksum32_ed25519_v1_t *signed_checksum32_ed25519_v1_new(void); /** Release all storage held by the signed_checksum32_ed25519_v1 in * 'victim'. (Do nothing if 'victim' is NULL.) */ void signed_checksum32_ed25519_v1_free(signed_checksum32_ed25519_v1_t *victim); /** Try to parse a signed_checksum32_ed25519_v1 from the buffer in * 'input', using up to 'len_in' bytes from the input buffer. On * success, return the number of bytes consumed and set *output to the * newly allocated signed_checksum32_ed25519_v1_t. On failure, return * -2 if the input appears truncated, and -1 if the input is otherwise * invalid. */ ssize_t signed_checksum32_ed25519_v1_parse(signed_checksum32_ed25519_v1_t **output, const uint8_t *input, const size_t len_in); /** Return the number of bytes we expect to need to encode the * signed_checksum32_ed25519_v1 in 'obj'. On failure, return a * negative value. Note that this value may be an overestimate, and * can even be an underestimate for certain unencodeable objects. */ ssize_t signed_checksum32_ed25519_v1_encoded_len(const signed_checksum32_ed25519_v1_t *obj); /** Try to encode the signed_checksum32_ed25519_v1 from 'input' into * the buffer at 'output', using up to 'avail' bytes of the output * buffer. On success, return the number of bytes used. On failure, * return -2 if the buffer was not long enough, and -1 if the input * was invalid. */ ssize_t signed_checksum32_ed25519_v1_encode(uint8_t *output, size_t avail, const signed_checksum32_ed25519_v1_t *input); /** Check whether the internal state of the * signed_checksum32_ed25519_v1 in 'obj' is consistent. Return NULL if * it is, and a short message if it is not. */ const char *signed_checksum32_ed25519_v1_check(const signed_checksum32_ed25519_v1_t *obj); /** Clear any errors that were set on the object 'obj' by its setter * functions. Return true iff errors were cleared. */ int signed_checksum32_ed25519_v1_clear_errors(signed_checksum32_ed25519_v1_t *obj); /** Return the value of the format field of the * signed_checksum32_ed25519_v1_t in 'inp' */ uint64_t signed_checksum32_ed25519_v1_get_format(const signed_checksum32_ed25519_v1_t *inp); /** Set the value of the format field of the * signed_checksum32_ed25519_v1_t in 'inp' to 'val'. Return 0 on * success; return -1 and set the error code on 'inp' on failure. */ int signed_checksum32_ed25519_v1_set_format(signed_checksum32_ed25519_v1_t *inp, uint64_t val); /** Return the (constant) length of the array holding the checksum * field of the signed_checksum32_ed25519_v1_t in 'inp'. */ size_t signed_checksum32_ed25519_v1_getlen_checksum(const signed_checksum32_ed25519_v1_t *inp); /** Return the element at position 'idx' of the fixed array field * checksum of the signed_checksum32_ed25519_v1_t in 'inp'. */ uint8_t signed_checksum32_ed25519_v1_get_checksum(signed_checksum32_ed25519_v1_t *inp, size_t idx); /** As signed_checksum32_ed25519_v1_get_checksum, but take and return * a const pointer */ uint8_t signed_checksum32_ed25519_v1_getconst_checksum(const signed_checksum32_ed25519_v1_t *inp, size_t idx); /** Change the element at position 'idx' of the fixed array field * checksum of the signed_checksum32_ed25519_v1_t in 'inp', so that it * will hold the value 'elt'. */ int signed_checksum32_ed25519_v1_set_checksum(signed_checksum32_ed25519_v1_t *inp, size_t idx, uint8_t elt); /** Return a pointer to the 32-element array field checksum of 'inp'. */ uint8_t * signed_checksum32_ed25519_v1_getarray_checksum(signed_checksum32_ed25519_v1_t *inp); /** As signed_checksum32_ed25519_v1_get_checksum, but take and return * a const pointer */ const uint8_t * signed_checksum32_ed25519_v1_getconstarray_checksum(const signed_checksum32_ed25519_v1_t *inp); /** Return the value of the length field of the * signed_checksum32_ed25519_v1_t in 'inp' */ uint64_t signed_checksum32_ed25519_v1_get_length(const signed_checksum32_ed25519_v1_t *inp); /** Set the value of the length field of the * signed_checksum32_ed25519_v1_t in 'inp' to 'val'. Return 0 on * success; return -1 and set the error code on 'inp' on failure. */ int signed_checksum32_ed25519_v1_set_length(signed_checksum32_ed25519_v1_t *inp, uint64_t val); /** Return the length of the dynamic array holding the identifier * field of the signed_checksum32_ed25519_v1_t in 'inp'. */ size_t signed_checksum32_ed25519_v1_getlen_identifier(const signed_checksum32_ed25519_v1_t *inp); /** Return the element at position 'idx' of the dynamic array field * identifier of the signed_checksum32_ed25519_v1_t in 'inp'. */ uint8_t signed_checksum32_ed25519_v1_get_identifier(signed_checksum32_ed25519_v1_t *inp, size_t idx); /** As signed_checksum32_ed25519_v1_get_identifier, but take and * return a const pointer */ uint8_t signed_checksum32_ed25519_v1_getconst_identifier(const signed_checksum32_ed25519_v1_t *inp, size_t idx); /** Change the element at position 'idx' of the dynamic array field * identifier of the signed_checksum32_ed25519_v1_t in 'inp', so that * it will hold the value 'elt'. */ int signed_checksum32_ed25519_v1_set_identifier(signed_checksum32_ed25519_v1_t *inp, size_t idx, uint8_t elt); /** Append a new element 'elt' to the dynamic array field identifier * of the signed_checksum32_ed25519_v1_t in 'inp'. */ int signed_checksum32_ed25519_v1_add_identifier(signed_checksum32_ed25519_v1_t *inp, uint8_t elt); /** Return a pointer to the variable-length array field identifier of * 'inp'. */ uint8_t * signed_checksum32_ed25519_v1_getarray_identifier(signed_checksum32_ed25519_v1_t *inp); /** As signed_checksum32_ed25519_v1_get_identifier, but take and * return a const pointer */ const uint8_t * signed_checksum32_ed25519_v1_getconstarray_identifier(const signed_checksum32_ed25519_v1_t *inp); /** Change the length of the variable-length array field identifier of * 'inp' to 'newlen'.Fill extra elements with 0. Return 0 on success; * return -1 and set the error code on 'inp' on failure. */ int signed_checksum32_ed25519_v1_setlen_identifier(signed_checksum32_ed25519_v1_t *inp, size_t newlen); /** Return the (constant) length of the array holding the signature * field of the signed_checksum32_ed25519_v1_t in 'inp'. */ size_t signed_checksum32_ed25519_v1_getlen_signature(const signed_checksum32_ed25519_v1_t *inp); /** Return the element at position 'idx' of the fixed array field * signature of the signed_checksum32_ed25519_v1_t in 'inp'. */ uint8_t signed_checksum32_ed25519_v1_get_signature(signed_checksum32_ed25519_v1_t *inp, size_t idx); /** As signed_checksum32_ed25519_v1_get_signature, but take and return * a const pointer */ uint8_t signed_checksum32_ed25519_v1_getconst_signature(const signed_checksum32_ed25519_v1_t *inp, size_t idx); /** Change the element at position 'idx' of the fixed array field * signature of the signed_checksum32_ed25519_v1_t in 'inp', so that * it will hold the value 'elt'. */ int signed_checksum32_ed25519_v1_set_signature(signed_checksum32_ed25519_v1_t *inp, size_t idx, uint8_t elt); /** Return a pointer to the 64-element array field signature of 'inp'. */ uint8_t * signed_checksum32_ed25519_v1_getarray_signature(signed_checksum32_ed25519_v1_t *inp); /** As signed_checksum32_ed25519_v1_get_signature, but take and return * a const pointer */ const uint8_t * signed_checksum32_ed25519_v1_getconstarray_signature(const signed_checksum32_ed25519_v1_t *inp); /** Return the value of the namespace field of the * signed_checksum32_ed25519_v1_t in 'inp' */ struct ed25519_v1_st * signed_checksum32_ed25519_v1_get_namespace(signed_checksum32_ed25519_v1_t *inp); /** As signed_checksum32_ed25519_v1_get_namespace, but take and return * a const pointer */ const struct ed25519_v1_st * signed_checksum32_ed25519_v1_getconst_namespace(const signed_checksum32_ed25519_v1_t *inp); /** Set the value of the namespace field of the * signed_checksum32_ed25519_v1_t in 'inp' to 'val'. Free the old * value if any. Steals the referenceto 'val'.Return 0 on success; * return -1 and set the error code on 'inp' on failure. */ int signed_checksum32_ed25519_v1_set_namespace(signed_checksum32_ed25519_v1_t *inp, struct ed25519_v1_st *val); /** As signed_checksum32_ed25519_v1_set_namespace, but does not free * the previous value. */ int signed_checksum32_ed25519_v1_set0_namespace(signed_checksum32_ed25519_v1_t *inp, struct ed25519_v1_st *val); #endif