// D import file generated from 'crypto_sign_ed25519.d' renamed to 'crypto_sign_ed25519.d' (method [only for original == header file] results in very compact code and obviates to overhaul comments now) module sodium.crypto_sign_ed25519; extern (C) { enum crypto_sign_ed25519_BYTES = 64u; size_t crypto_sign_ed25519_bytes(); enum crypto_sign_ed25519_SEEDBYTES = 32u; size_t crypto_sign_ed25519_seedbytes(); enum crypto_sign_ed25519_PUBLICKEYBYTES = 32u; size_t crypto_sign_ed25519_publickeybytes(); enum crypto_sign_ed25519_SECRETKEYBYTES = 32u + 32u; size_t crypto_sign_ed25519_secretkeybytes(); int crypto_sign_ed25519(ubyte* sm, ulong* smlen_p, const(ubyte)* m, ulong mlen, const(ubyte)* sk); int crypto_sign_ed25519_open(ubyte* m, ulong* mlen_p, const(ubyte)* sm, ulong smlen, const(ubyte)* pk); int crypto_sign_ed25519_detached(ubyte* sig, ulong* siglen_p, const(ubyte)* m, ulong mlen, const(ubyte)* sk); int crypto_sign_ed25519_verify_detached(const(ubyte)* sig, const(ubyte)* m, ulong mlen, const(ubyte)* pk); int crypto_sign_ed25519_keypair(ubyte* pk, ubyte* sk); int crypto_sign_ed25519_seed_keypair(ubyte* pk, ubyte* sk, const(ubyte)* seed); int crypto_sign_ed25519_pk_to_curve25519(ubyte* curve25519_pk, const(ubyte)* ed25519_pk); int crypto_sign_ed25519_sk_to_curve25519(ubyte* curve25519_sk, const(ubyte)* ed25519_sk); int crypto_sign_ed25519_sk_to_seed(ubyte* seed, const(ubyte)* sk); int crypto_sign_ed25519_sk_to_pk(ubyte* pk, const(ubyte)* sk); }