annotate src/lib/hash-method.h @ 22664:fea53c2725c0

director: Fix director_max_parallel_moves/kicks type Should be uint, not time.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Thu, 09 Nov 2017 12:24:16 +0200
parents 368fd1cce4d6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12307
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
1 #ifndef HASH_METHOD_H
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2 #define HASH_METHOD_H
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
4 struct hash_method {
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
5 const char *name;
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
6 /* Number of bytes that must be allocated for context */
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 unsigned int context_size;
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8 /* Number of bytes that must be allocated for result()'s digest */
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 unsigned int digest_size;
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11 void (*init)(void *context);
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12 void (*loop)(void *context, const void *data, size_t size);
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
13 void (*result)(void *context, unsigned char *digest_r);
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
14 };
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
15
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
16 const struct hash_method *hash_method_lookup(const char *name);
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
17
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
18 /* NULL-terminated list of all hash methods */
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
19 extern const struct hash_method *hash_methods[];
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20
368fd1cce4d6 liblib: Added a common API for accessing all hash methods.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21 #endif