]> git.cryptolib.org Git - avr-crypto-lib.git/blob - test_src/nessie_mac_test.h
fixing E-Mail-Address & Copyright
[avr-crypto-lib.git] / test_src / nessie_mac_test.h
1 /* nessie_mac_test.h */
2 /*
3     This file is part of the AVR-Crypto-Lib.
4     Copyright (C) 2006-2015 Daniel Otte (bg@nerilex.org)
5
6     This program is free software: you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation, either version 3 of the License, or
9     (at your option) any later version.
10
11     This program is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19 #ifndef NESSIE_MAC_TEST_H_
20 #define NESSIE_MAC_TEST_H_
21
22 #include <stdint.h>
23
24 typedef void (*nessie_mac_init_fpt)(void *ctx, const void *key, uint16_t keysize_b);
25 typedef void (*nessie_mac_next_fpt)(void *ctx, const void *buffer);
26 typedef void (*nessie_mac_last_fpt)(void *ctx, const void *buffer, uint16_t size_b);
27 typedef void (*nessie_mac_conv_fpt)(void *buffer, void *ctx);
28
29
30 typedef struct nessie_mac_ctx_st{
31         uint16_t macsize_b;
32         uint16_t keysize_b;
33         uint16_t blocksize_B;
34         uint16_t ctx_size_B;
35         char *name; 
36         nessie_mac_init_fpt mac_init;
37         nessie_mac_next_fpt mac_next;
38         nessie_mac_last_fpt mac_last;
39         nessie_mac_conv_fpt mac_conv;
40 } nessie_mac_ctx_t; 
41
42
43 extern nessie_mac_ctx_t nessie_mac_ctx;
44
45 void nessie_mac_run(void);
46
47 #endif /*NESSIE_MAC_TEST_H_*/