New release
[gnupg.git] / cipher / dynload.h
1 /* dynload.5
2  *      Copyright (C) 1998 Free Software Foundation, Inc.
3  *
4  * This file is part of GNUPG.
5  *
6  * GNUPG 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 2 of the License, or
9  * (at your option) any later version.
10  *
11  * GNUPG 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, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19  */
20 #ifndef G10_CIPHER_DYNLOAD_H
21 #define G10_CIPHER_DYNLOAD_H
22
23 int
24 enum_gnupgext_digests( void **enum_context,
25             int *algo,
26             const char *(**r_get_info)( int, size_t*,byte**, int*, int*,
27                                        void (**)(void*),
28                                        void (**)(void*,byte*,size_t),
29                                        void (**)(void*),byte *(**)(void*)) );
30
31 const char *
32 enum_gnupgext_ciphers( void **enum_context, int *algo,
33                        size_t *keylen, size_t *blocksize, size_t *contextsize,
34                        int  (**setkey)( void *c, byte *key, unsigned keylen ),
35                        void (**encrypt)( void *c, byte *outbuf, byte *inbuf ),
36                        void (**decrypt)( void *c, byte *outbuf, byte *inbuf )
37                      );
38
39
40 const char *
41 enum_gnupgext_pubkeys( void **enum_context, int *algo,
42     int *npkey, int *nskey, int *nenc, int *nsig, int *usage,
43     int (**generate)( int algo, unsigned nbits, MPI *skey, MPI **retfactors ),
44     int (**check_secret_key)( int algo, MPI *skey ),
45     int (**encrypt)( int algo, MPI *resarr, MPI data, MPI *pkey ),
46     int (**decrypt)( int algo, MPI *result, MPI *data, MPI *skey ),
47     int (**sign)( int algo, MPI *resarr, MPI data, MPI *skey ),
48     int (**verify)( int algo, MPI hash, MPI *data, MPI *pkey,
49                     int (*cmp)(void *, MPI), void *opaquev ),
50     unsigned (**get_nbits)( int algo, MPI *pkey ) );
51
52 #endif /*G10_CIPHER_DYNLOAD_H*/