#pragma once #include "api.h" #ifdef __cplusplus extern "C" { #endif /*! * \file */ extern Initializer curve25519_initialize; extern KeyPairCreator curve25519_create_keypair; extern KeyPairDeleter curve25519_delete_keypair; extern ElementToArray curve25519_element_to_array; extern BufferDeleter curve25519_free_buffer; extern ArrayToElement curve25519_array_to_element; extern MessageToElement curve25519_message_to_element; extern PubKeyHashGetter curve25519_get_pub_key_hash; extern PubKeyHashLengthGetter curve25519_get_pub_key_hash_length; extern GroupElementGetter curve25519_get_group_element; extern GroupElementDeleter curve25519_delete_group_element; extern KeyExchangeValueGetter curve25519_get_key_exchange_value; extern GroupElementCombiner curve25519_combine; extern GroupElementUncombiner curve25519_uncombine; extern DecryptionShareGetter curve25519_get_decryption_share; extern GroupElementArraySizeGetter curve25519_get_group_element_array_size; extern PublicShareAdder curve25519_add_public_share; extern SharedKeyDeriver curve25519_derive_shared_key; extern SharedKeyDeleter curve25519_delete_shared_key; extern Encrypter curve25519_encrypt; extern Inverter curve25519_invert; extern UniformIntGetter curve25519_get_uniform_int; extern Deinitializer curve25519_deinitialize; /*! * \brief get_curve25519_implementation * \return An Api struct filled with a curve25519 implementation. */ struct Api get_curve25519_implementation(); #ifdef __cplusplus } #endif