md: Simplify the message digest dispatcher md.c.
[libgcrypt.git] / src / gcrypt-module.h
1 /* gcrypt-module.h - GNU Cryptographic Library Interface
2    Copyright (C) 2003, 2007 Free Software Foundation, Inc.
3
4    This file is part of Libgcrypt.
5
6    Libgcrypt is free software; you can redistribute it and/or modify
7    it under the terms of the GNU Lesser General Public License as
8    published by the Free Software Foundation; either version 2.1 of
9    the License, or (at your option) any later version.
10
11    Libgcrypt 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 Lesser General Public License for more details.
15
16    You should have received a copy of the GNU Lesser General Public
17    License along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19
20 /*
21    This file contains the necessary declarations/definitions for
22    working with Libgcrypt modules.  Since 1.6 this is an internal
23    interface and will eventually be merged into another header or
24    entirely removed.
25  */
26
27 #ifndef GCRYPT_MODULE_H
28 #define GCRYPT_MODULE_H
29
30 #ifdef __cplusplus
31 extern "C" {
32 #if 0 /* keep Emacsens's auto-indent happy */
33 }
34 #endif
35 #endif
36
37 /* The interfaces using the module system reserve a certain range of
38    IDs for application use.  These IDs are not valid within Libgcrypt
39    but Libgcrypt makes sure never to allocate such a module ID.  */
40 #define GCRY_MODULE_ID_USER      1024
41 #define GCRY_MODULE_ID_USER_LAST 4095
42
43
44 /* This type represents a `module'.  */
45 typedef struct gcry_module *gcry_module_t;
46
47
48 /* ********************** */
49
50
51 #if 0 /* keep Emacsens's auto-indent happy */
52 {
53 #endif
54 #ifdef __cplusplus
55 }
56 #endif
57 #endif /*GCRYPT_MODULE_H*/