Notation stuff added
[gpgme.git] / gpgme / rungpg.h
1 /* rungpg.h -  gpg calling functions
2  *      Copyright (C) 2000 Werner Koch (dd9jn)
3  *
4  * This file is part of GPGME.
5  *
6  * GPGME 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  * GPGME 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
21 #ifndef RUNGPG_H
22 #define RUNGPG_H
23
24 #include "types.h"
25
26
27 typedef enum  {
28     STATUS_EOF ,
29     /* mkstatus starts here */
30     STATUS_ENTER              , 
31     STATUS_LEAVE              ,
32     STATUS_ABORT              ,
33     STATUS_GOODSIG            ,
34     STATUS_BADSIG             ,
35     STATUS_ERRSIG             ,
36     STATUS_BADARMOR           ,
37     STATUS_RSA_OR_IDEA        ,
38     STATUS_SIGEXPIRED         ,
39     STATUS_KEYREVOKED         ,
40     STATUS_TRUST_UNDEFINED    ,
41     STATUS_TRUST_NEVER        ,
42     STATUS_TRUST_MARGINAL     ,
43     STATUS_TRUST_FULLY        ,
44     STATUS_TRUST_ULTIMATE     ,
45     STATUS_SHM_INFO           ,
46     STATUS_SHM_GET            ,
47     STATUS_SHM_GET_BOOL       ,
48     STATUS_SHM_GET_HIDDEN     ,
49     STATUS_NEED_PASSPHRASE    ,
50     STATUS_VALIDSIG           ,
51     STATUS_SIG_ID             ,
52     STATUS_ENC_TO             ,
53     STATUS_NODATA             ,
54     STATUS_BAD_PASSPHRASE     ,
55     STATUS_NO_PUBKEY          ,
56     STATUS_NO_SECKEY          ,
57     STATUS_NEED_PASSPHRASE_SYM,
58     STATUS_DECRYPTION_FAILED  ,
59     STATUS_DECRYPTION_OKAY    ,
60     STATUS_MISSING_PASSPHRASE ,
61     STATUS_GOOD_PASSPHRASE    ,
62     STATUS_GOODMDC            ,
63     STATUS_BADMDC             ,
64     STATUS_ERRMDC             ,
65     STATUS_IMPORTED           ,
66     STATUS_IMPORT_RES         ,
67     STATUS_FILE_START         ,
68     STATUS_FILE_DONE          ,
69     STATUS_FILE_ERROR         ,
70     STATUS_BEGIN_DECRYPTION   ,
71     STATUS_END_DECRYPTION     ,
72     STATUS_BEGIN_ENCRYPTION   ,
73     STATUS_END_ENCRYPTION     ,
74     STATUS_DELETE_PROBLEM     ,
75     STATUS_GET_BOOL           ,
76     STATUS_GET_LINE           ,
77     STATUS_GET_HIDDEN         ,
78     STATUS_GOT_IT             ,
79     STATUS_PROGRESS           ,
80     STATUS_SIG_CREATED        ,
81     STATUS_SESSION_KEY        ,
82     STATUS_NOTATION_NAME      ,
83     STATUS_NOTATION_DATA      ,
84     STATUS_POLICY_URL
85 } GpgStatusCode;
86
87 typedef void (*GpgStatusHandler)( GpgmeCtx, GpgStatusCode code, char *args ); 
88 typedef void (*GpgColonLineHandler)( GpgmeCtx, char *line ); 
89
90 GpgmeError _gpgme_gpg_new ( GpgObject *r_gpg );
91 void       _gpgme_gpg_release ( GpgObject gpg );
92 GpgmeError _gpgme_gpg_add_arg ( GpgObject gpg, const char *arg );
93 GpgmeError _gpgme_gpg_add_data ( GpgObject gpg, GpgmeData data, int dup_to );
94 void       _gpgme_gpg_set_status_handler ( GpgObject gpg,
95                                            GpgStatusHandler fnc,
96                                            void *fnc_value );
97 GpgmeError _gpgme_gpg_set_colon_line_handler ( GpgObject gpg,
98                                                GpgColonLineHandler fnc,
99                                                void *fnc_value );
100
101 GpgmeError _gpgme_gpg_spawn ( GpgObject gpg, void *opaque );
102
103
104
105 #endif /* RUNGPG_H */
106
107
108
109
110
111