00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef ENGINE_H
00022 #define ENGINE_H
00023
00024 #include "gpgme.h"
00025
00026 struct engine;
00027 typedef struct engine *engine_t;
00028
00029 typedef gpgme_error_t (*engine_status_handler_t) (void *priv,
00030 gpgme_status_code_t code,
00031 char *args);
00032 typedef gpgme_error_t (*engine_colon_line_handler_t) (void *priv, char *line);
00033 typedef gpgme_error_t (*engine_command_handler_t) (void *priv,
00034 gpgme_status_code_t code,
00035 const char *keyword,
00036 int fd);
00037
00038 gpgme_error_t _gpgme_engine_new (gpgme_protocol_t proto,
00039 engine_t *r_engine,
00040 const char *lc_ctype,
00041 const char *lc_messages);
00042 void _gpgme_engine_release (engine_t engine);
00043 void _gpgme_engine_set_status_handler (engine_t engine,
00044 engine_status_handler_t fnc,
00045 void *fnc_value);
00046 gpgme_error_t _gpgme_engine_set_command_handler (engine_t engine,
00047 engine_command_handler_t fnc,
00048 void *fnc_value,
00049 gpgme_data_t data);
00050 gpgme_error_t
00051 _gpgme_engine_set_colon_line_handler (engine_t engine,
00052 engine_colon_line_handler_t fnc,
00053 void *fnc_value);
00054 gpgme_error_t _gpgme_engine_op_decrypt (engine_t engine,
00055 gpgme_data_t ciph,
00056 gpgme_data_t plain);
00057 gpgme_error_t _gpgme_engine_op_delete (engine_t engine, gpgme_key_t key,
00058 int allow_secret);
00059 gpgme_error_t _gpgme_engine_op_edit (engine_t engine, int type,
00060 gpgme_key_t key, gpgme_data_t out,
00061 gpgme_ctx_t ctx );
00062 gpgme_error_t _gpgme_engine_op_encrypt (engine_t engine,
00063 gpgme_key_t recp[],
00064 gpgme_encrypt_flags_t flags,
00065 gpgme_data_t plain, gpgme_data_t ciph,
00066 int use_armor);
00067 gpgme_error_t _gpgme_engine_op_encrypt_sign (engine_t engine,
00068 gpgme_key_t recp[],
00069 gpgme_encrypt_flags_t flags,
00070 gpgme_data_t plain,
00071 gpgme_data_t ciph,
00072 int use_armor,
00073 gpgme_ctx_t ctx );
00074 gpgme_error_t _gpgme_engine_op_export (engine_t engine, const char *pattern,
00075 unsigned int reserved,
00076 gpgme_data_t keydata, int use_armor);
00077 gpgme_error_t _gpgme_engine_op_export_ext (engine_t engine,
00078 const char *pattern[],
00079 unsigned int reserved,
00080 gpgme_data_t keydata,
00081 int use_armor);
00082 gpgme_error_t _gpgme_engine_op_genkey (engine_t engine,
00083 gpgme_data_t help_data,
00084 int use_armor, gpgme_data_t pubkey,
00085 gpgme_data_t seckey);
00086 gpgme_error_t _gpgme_engine_op_import (engine_t engine,
00087 gpgme_data_t keydata);
00088 gpgme_error_t _gpgme_engine_op_keylist (engine_t engine,
00089 const char *pattern,
00090 int secret_only,
00091 gpgme_keylist_mode_t mode);
00092 gpgme_error_t _gpgme_engine_op_keylist_ext (engine_t engine,
00093 const char *pattern[],
00094 int secret_only,
00095 int reserved,
00096 gpgme_keylist_mode_t mode);
00097 gpgme_error_t _gpgme_engine_op_sign (engine_t engine, gpgme_data_t in,
00098 gpgme_data_t out, gpgme_sig_mode_t mode,
00099 int use_armor, int use_textmode,
00100 int include_certs,
00101 gpgme_ctx_t ctx );
00102 gpgme_error_t _gpgme_engine_op_trustlist (engine_t engine,
00103 const char *pattern);
00104 gpgme_error_t _gpgme_engine_op_verify (engine_t engine, gpgme_data_t sig,
00105 gpgme_data_t signed_text,
00106 gpgme_data_t plaintext);
00107
00108 void _gpgme_engine_set_io_cbs (engine_t engine,
00109 gpgme_io_cbs_t io_cbs);
00110 void _gpgme_engine_io_event (engine_t engine,
00111 gpgme_event_io_t type, void *type_data);
00112
00113 gpgme_error_t _gpgme_engine_cancel (engine_t engine);
00114
00115 #endif