with Adare_Hqc256.inners; package body Adare_Hqc256.hqc with Pure is function get_hqc_private_key (from_key : aliased hqc_private_key) return Interfaces.C.char_array is (Interfaces.C.char_array'(from_key.val)); function get_hqc_public_key (from_key : aliased hqc_public_key) return Interfaces.C.char_array is (Interfaces.C.char_array'(from_key.val)); function get_hqc_shared_key (from_key : aliased hqc_shared_key) return Interfaces.C.char_array is (Interfaces.C.char_array'(from_key.val)); function get_hqc_ciphertext (from_ciphertext : aliased hqc_ciphertext) return Interfaces.C.char_array is (Interfaces.C.char_array'(from_ciphertext.val)); use Adare_Hqc256.inners; procedure hqc_256_kem_keypair (public_key : out hqc_public_key; private_key : out hqc_private_key) is v : constant Interfaces.C.int := internal_hqc_256_kem_keypair (public_key.val'Address, private_key.val'Address) with Unreferenced; begin null; end hqc_256_kem_keypair; procedure hqc_256_kem_encode (ciphertext : out hqc_ciphertext; shared_secret : out hqc_shared_key; public_key : aliased in hqc_public_key) is v : constant Interfaces.C.int := internal_hqc_256_kem_enc (ciphertext.val'Address, shared_secret.val'Address, public_key.val'Address) with Unreferenced; begin null; end hqc_256_kem_encode; procedure hqc_256_kem_decode (shared_secret : out hqc_shared_key; ciphertext : aliased in hqc_ciphertext; secret_key : aliased in hqc_private_key) is v : constant Interfaces.C.int := internal_hqc_256_kem_dec (shared_secret.val'Address, ciphertext.val'Address, secret_key.val'Address) with Unreferenced; begin null; end hqc_256_kem_decode; end Adare_Hqc256.hqc;