gpgme/
[gpgme.git] / gpgme / engine-gpgsm.h
1 /* engine-gpgsm.h -  GPGME GpgSM engine calling functions
2  *      Copyright (C) 2000 Werner Koch (dd9jn)
3  *      Copyright (C) 2001, 2002 g10 Code GmbH
4  *
5  * This file is part of GPGME.
6  *
7  * GPGME is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * GPGME is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
20  */
21
22 #ifndef ENGINE_GPGSM_H
23 #define ENGINE_GPGSM_H
24
25 #include "types.h"
26 #include "rungpg.h" /* FIXME statusHandler */
27
28 const char *_gpgme_gpgsm_get_version (void);
29 GpgmeError _gpgme_gpgsm_check_version (void);
30
31 GpgmeError _gpgme_gpgsm_new (GpgsmObject *r_gpg);
32 void _gpgme_gpgsm_release (GpgsmObject gpg);
33
34 void _gpgme_gpgsm_set_status_handler (GpgsmObject gpgsm,
35                                       GpgStatusHandler fnc, void *fnc_value);
36 void _gpgme_gpgsm_set_colon_line_handler (GpgsmObject gpgsm,
37                                    GpgColonLineHandler fnc, void *fnc_value) ;
38 GpgmeError _gpgme_gpgsm_op_decrypt (GpgsmObject gpgsm, GpgmeData ciph,
39                                     GpgmeData plain);
40 GpgmeError _gpgme_gpgsm_op_delete (GpgsmObject gpgsm, GpgmeKey key,
41                                    int allow_secret);
42 GpgmeError _gpgme_gpgsm_op_encrypt (GpgsmObject gpgsm, GpgmeRecipients recp,
43                                     GpgmeData plain, GpgmeData ciph,
44                                     int use_armor);
45 GpgmeError _gpgme_gpgsm_op_export (GpgsmObject gpgsm, GpgmeRecipients recp,
46                                    GpgmeData keydata, int use_armor);
47 GpgmeError _gpgme_gpgsm_op_genkey (GpgsmObject gpgsm, GpgmeData help_data,
48                                    int use_armor, GpgmeData pubkey,
49                                    GpgmeData seckey);
50 GpgmeError _gpgme_gpgsm_op_import (GpgsmObject gpgsm, GpgmeData keydata);
51 GpgmeError _gpgme_gpgsm_op_keylist (GpgsmObject gpgsm, const char *pattern,
52                                     int secret_only, int keylist_mode);
53 GpgmeError _gpgme_gpgsm_op_keylist_ext (GpgsmObject gpgsm,
54                                         const char *pattern[],
55                                         int secret_only, int reserved,
56                                         int keylist_mode);
57 GpgmeError _gpgme_gpgsm_op_sign (GpgsmObject gpgsm, GpgmeData in,
58                                  GpgmeData out,
59                                  GpgmeSigMode mode, int use_armor,
60                                  int use_textmode, int include_certs,
61                                  GpgmeCtx ctx /* FIXME */);
62 GpgmeError _gpgme_gpgsm_op_trustlist (GpgsmObject gpgsm, const char *pattern);
63 GpgmeError _gpgme_gpgsm_op_verify (GpgsmObject gpgsm, GpgmeData sig,
64                                    GpgmeData signed_text, GpgmeData plaintext);
65 GpgmeError _gpgme_gpgsm_start (GpgsmObject gpgsm, void *opaque);
66 void _gpgme_gpgsm_set_io_cbs (GpgsmObject gpgsm, struct GpgmeIOCbs *io_cbs);
67 void _gpgme_gpgsm_io_event (GpgsmObject gpgsm, GpgmeEventIO type, void *type_data);
68
69 #endif /* ENGINE_GPGSM_H */