#pragma once #include "api.h" #ifdef __cplusplus extern "C" { #endif /*! * \file */ extern Initializer ed25519_initialize; extern KeyPairCreator ed25519_create_keypair; extern KeyPairDeleter ed25519_delete_keypair; extern ElementToArray ed25519_element_to_array; extern BufferDeleter ed25519_free_buffer; extern ArrayToElement ed25519_array_to_element; extern MessageToElement ed25519_message_to_element; extern ElementToMessage ed25519_element_to_message; extern PubKeyHashGetter ed25519_get_pub_key_hash; extern PubKeyHashLengthGetter ed25519_get_pub_key_hash_length; extern GroupElementGetter ed25519_get_group_element; extern GroupElementDeleter ed25519_delete_group_element; extern KeyExchangeValueGetter ed25519_get_key_exchange_value; extern GroupElementCombiner ed25519_combine; extern GroupElementUncombiner ed25519_uncombine; extern DecryptionShareGetter ed25519_get_decryption_share; extern GroupElementArraySizeGetter ed25519_get_group_element_array_size; extern MessageSizeGetter ed25519_get_message_size; extern PublicShareAdder ed25519_add_public_share; extern SharedKeyDeriver ed25519_derive_shared_key; extern SharedKeyDeleter ed25519_delete_shared_key; extern Encrypter ed25519_encrypt; extern Inverter ed25519_invert; extern UniformIntGetter ed25519_get_uniform_int; extern Deinitializer ed25519_deinitialize; /*! * \brief get_ed25519_implementation * \return An Api struct filled with a ed25519 implementation. */ struct Api get_ed25519_implementation(); #ifdef __cplusplus } #endif