1 /*******************************************************************************
2 
3     D language bindings for libsodium's crypto_auth_hmacsha512256.h
4 
5     License: ISC (see LICENSE.txt)
6 
7 *******************************************************************************/
8 
9 module libsodium.crypto_auth_hmacsha512256;
10 
11 @nogc nothrow:
12 
13 import libsodium.export_;
14 import libsodium.crypto_auth_hmacsha512;
15 
16 extern (C):
17 
18 enum crypto_auth_hmacsha512256_BYTES = 32U;
19 size_t crypto_auth_hmacsha512256_bytes ();
20 
21 enum crypto_auth_hmacsha512256_KEYBYTES = 32U;
22 size_t crypto_auth_hmacsha512256_keybytes ();
23 
24 int crypto_auth_hmacsha512256 (
25     ubyte* out_,
26     const(ubyte)* in_,
27     ulong inlen,
28     const(ubyte)* k);
29 
30 int crypto_auth_hmacsha512256_verify (
31     const(ubyte)* h,
32     const(ubyte)* in_,
33     ulong inlen,
34     const(ubyte)* k);
35 
36 /* ------------------------------------------------------------------------- */
37 
38 alias crypto_auth_hmacsha512256_state = crypto_auth_hmacsha512_state;
39 
40 size_t crypto_auth_hmacsha512256_statebytes ();
41 
42 int crypto_auth_hmacsha512256_init (
43     crypto_auth_hmacsha512256_state* state,
44     const(ubyte)* key,
45     size_t keylen);
46 
47 int crypto_auth_hmacsha512256_update (
48     crypto_auth_hmacsha512256_state* state,
49     const(ubyte)* in_,
50     ulong inlen);
51 
52 int crypto_auth_hmacsha512256_final (
53     crypto_auth_hmacsha512256_state* state,
54     ubyte* out_);
55 
56 void crypto_auth_hmacsha512256_keygen (
57     ref ubyte[crypto_auth_hmacsha512256_KEYBYTES] k);