Fix last change.
[gpgme.git] / gpgme / ops.h
1 /* ops.h - Internal operation support.
2    Copyright (C) 2000 Werner Koch (dd9jn)
3    Copyright (C) 2001, 2002, 2003 g10 Code GmbH
4  
5    This file is part of GPGME.
6  
7    GPGME is free software; you can redistribute it and/or modify it
8    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, but
13    WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15    General Public License for more details.
16  
17    You should have received a copy of the GNU General Public License
18    along with GPGME; if not, write to the Free Software Foundation,
19    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20
21 #ifndef OPS_H
22 #define OPS_H
23
24 #include "gpgme.h"
25 #include "context.h"
26
27 \f
28 /* From gpgme.c.  */
29 void _gpgme_release_result (gpgme_ctx_t ctx);
30
31 \f
32 /* From wait.c.  */
33 gpgme_error_t _gpgme_wait_one (gpgme_ctx_t ctx);
34 gpgme_error_t _gpgme_wait_on_condition (gpgme_ctx_t ctx, volatile int *cond);
35
36 \f
37 /* From data.c.  */
38 gpgme_error_t _gpgme_data_inbound_handler (void *opaque, int fd);
39 gpgme_error_t _gpgme_data_outbound_handler (void *opaque, int fd);
40
41 \f
42 /* From op-support.c.  */
43
44 /* Find or create the op data object of type TYPE.  */
45 gpgme_error_t _gpgme_op_data_lookup (gpgme_ctx_t ctx, ctx_op_data_id_t type,
46                                      void **hook, int size,
47                                      void (*cleanup) (void *));
48
49 /* Prepare a new operation on CTX.  */
50 gpgme_error_t _gpgme_op_reset (gpgme_ctx_t ctx, int synchronous);
51
52 /* Parse the invalid user ID status line in ARGS and return the result
53    in USERID.  */
54 gpgme_error_t _gpgme_parse_inv_userid (char *args,
55                                        gpgme_invalid_user_id_t *userid);
56
57 \f
58 /* From verify.c.  */
59 gpgme_error_t _gpgme_op_verify_init_result (gpgme_ctx_t ctx);
60 gpgme_error_t _gpgme_verify_status_handler (void *priv,
61                                             gpgme_status_code_t code,
62                                             char *args);
63
64 \f
65 /* From decrypt.c.  */
66 gpgme_error_t _gpgme_op_decrypt_init_result (gpgme_ctx_t ctx);
67 gpgme_error_t _gpgme_decrypt_status_handler (void *priv,
68                                              gpgme_status_code_t code,
69                                              char *args);
70
71 \f
72 /* From sign.c.  */
73
74 /* Create an initial op data object for signing.  Needs to be called
75    once before calling _gpgme_sign_status_handler.  */
76 gpgme_error_t _gpgme_op_sign_init_result (gpgme_ctx_t ctx);
77
78 /* Process a status line for signing operations.  */
79 gpgme_error_t _gpgme_sign_status_handler (void *priv,
80                                           gpgme_status_code_t code,
81                                           char *args);
82
83 \f
84 /* From encrypt.c.  */
85
86 /* Create an initial op data object for encrypt.  Needs to be called
87    once before calling _gpgme_encrypt_status_handler.  */
88 gpgme_error_t _gpgme_op_encrypt_init_result (gpgme_ctx_t ctx);
89
90 /* Process a status line for encryption operations.  */
91 gpgme_error_t _gpgme_encrypt_status_handler (void *priv,
92                                              gpgme_status_code_t code,
93                                              char *args);
94
95 \f
96 /* From passphrase.c.  */
97 gpgme_error_t _gpgme_passphrase_status_handler (void *priv,
98                                                 gpgme_status_code_t code,
99                                                 char *args);
100 gpgme_error_t _gpgme_passphrase_command_handler (void *opaque,
101                                                  gpgme_status_code_t code,
102                                                  const char *key, int fd);
103 gpgme_error_t _gpgme_passphrase_command_handler_internal (void *opaque,
104                                                  gpgme_status_code_t code,
105                                                  const char *key, int fd,
106                                                  int *processed);
107
108 \f
109 /* From progress.c.  */
110 gpgme_error_t _gpgme_progress_status_handler (void *priv,
111                                               gpgme_status_code_t code,
112                                               char *args);
113
114 \f
115 /* From key.c.  */
116 gpgme_error_t _gpgme_key_new (gpgme_key_t *r_key);
117 gpgme_error_t _gpgme_key_add_subkey (gpgme_key_t key,
118                                      gpgme_subkey_t *r_subkey);
119 gpgme_error_t _gpgme_key_append_name (gpgme_key_t key, char *src);
120 gpgme_key_sig_t _gpgme_key_add_sig (gpgme_key_t key, char *src);
121
122 \f
123 /* From keylist.c.  */
124 void _gpgme_op_keylist_event_cb (void *data, gpgme_event_io_t type,
125                                  void *type_data);
126
127 \f
128 /* From trust-item.c.  */
129
130 /* Create a new trust item.  */
131 gpgme_error_t _gpgme_trust_item_new (gpgme_trust_item_t *r_item);
132
133 \f
134 /* From trustlist.c.  */
135 void _gpgme_op_trustlist_event_cb (void *data, gpgme_event_io_t type,
136                                    void *type_data);
137
138 \f
139 /*-- version.c --*/
140 const char *_gpgme_compare_versions (const char *my_version,
141                                      const char *req_version);
142 char *_gpgme_get_program_version (const char *const path);
143
144 #endif /* OPS_H */