This source file includes following definitions.
- MICHAEL_CTX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #ifndef _MICHAEL_H_
20 #define _MICHAEL_H_
21
22 #define MICHAEL_BLOCK_LENGTH 8
23 #define MICHAEL_RAW_BLOCK_LENGTH 4
24 #define MICHAEL_DIGEST_LENGTH 8
25
26 typedef struct michael_context {
27 u_int32_t michael_key[2];
28 u_int32_t michael_l, michael_r;
29 u_int32_t michael_state;
30 u_int michael_count;
31 } MICHAEL_CTX;
32
33 #include <sys/cdefs.h>
34
35 __BEGIN_DECLS
36 void michael_init(MICHAEL_CTX *);
37 void michael_update(MICHAEL_CTX *, const u_int8_t *, u_int)
38 __attribute__((__bounded__(__buffer__, 2, 3)));
39 void michael_final(u_int8_t [MICHAEL_DIGEST_LENGTH], MICHAEL_CTX *)
40 __attribute__((__bounded__(__minbytes__, 1,
41 MICHAEL_DIGEST_LENGTH)));
42 void michael_key(const u_int8_t *, MICHAEL_CTX *)
43 __attribute__((__bounded__(__minbytes__, 1,
44 MICHAEL_BLOCK_LENGTH)));
45 __END_DECLS
46
47 #endif