679d5c2b49
* rungpg.c (gpg_inbound_handler, write_mem_data, write_cb_data, gpg_outbound_handler): Moved to ... * data.c (_gpgme_data_inbound_handler, write_mem_data, write_cb_data, _gpgme_data_outbound_handler): ... here. Make the _gpgme_* ones non-static. * data.c: Include io.h. * ops.h (_gpgme_data_inbound_handler): New prototype. (_gpgme_data_outbound_handler): Likewise. (_gpgme_gpg_spawn): Use these new functions. * engine-gpgsm.h (_gpgme_gpgsm_op_decrypt, _gpgme_gpgsm_op_delete, _gpgme_gpgsm_op_encrypt, _gpgme_gpgsm_op_export, _gpgme_gpgsm_op_genkey, _gpgme_gpgsm_op_import, _gpgme_gpgsm_op_keylist, _gpgme_gpgsm_op_sign, _gpgme_gpgsm_op_trustlist, _gpgme_gpgsm_op_verify, _gpgme_gpgsm_start, _gpgme_gpgsm_set_status_handler): New prototype. Include <rungpg.h> for status handler function. * engine-gpgsm.c (struct gpgsm_object_s): New members input_fd, input_data, output_fd, output_data, message_fd, message_data, command and status. (_gpgme_gpgsm_new): Open input, output and message pipes before connecting to the client. Close server's ends afterwards. (_gpgme_gpgsm_release): Close open file descriptors. Remove server process from wait queue. (_gpgme_gpgsm_op_verify, _gpgme_gpgsm_start, _gpgme_gpgsm_set_status_handler, gpgms_status_handler): New function. * engine.c (_gpgme_engine_start): Implement for GPGME_PROTOCOL_CMS. (_gpgme_engine_set_status_handler): Likewise. (_gpgme_engine_op_verify): Likewise.
104 lines
3.7 KiB
C
104 lines
3.7 KiB
C
/* ops.h - internal operations stuff
|
|
* Copyright (C) 2000 Werner Koch (dd9jn)
|
|
* Copyright (C) 2001 g10 Code GmbH
|
|
*
|
|
* This file is part of GPGME.
|
|
*
|
|
* GPGME is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* GPGME is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
*/
|
|
|
|
#ifndef OPS_H
|
|
#define OPS_H
|
|
|
|
#include "types.h"
|
|
#include "rungpg.h"
|
|
|
|
/*-- gpgme.c --*/
|
|
void _gpgme_release_result ( GpgmeCtx c );
|
|
void _gpgme_set_op_info (GpgmeCtx c, GpgmeData info);
|
|
|
|
/*-- wait.c --*/
|
|
GpgmeCtx _gpgme_wait_on_condition ( GpgmeCtx c,
|
|
int hang, volatile int *cond );
|
|
void _gpgme_freeze_fd ( int fd );
|
|
void _gpgme_thaw_fd ( int fd );
|
|
|
|
|
|
/*-- recipient.c --*/
|
|
int _gpgme_recipients_all_valid ( const GpgmeRecipients rset );
|
|
|
|
|
|
/*-- data.c --*/
|
|
char * _gpgme_data_release_and_return_string ( GpgmeData dh );
|
|
GpgmeDataMode _gpgme_data_get_mode ( GpgmeData dh );
|
|
void _gpgme_data_set_mode ( GpgmeData dh, GpgmeDataMode mode );
|
|
char * _gpgme_data_get_as_string ( GpgmeData dh );
|
|
GpgmeError _gpgme_data_append ( GpgmeData dh,
|
|
const char *buffer, size_t length );
|
|
GpgmeError _gpgme_data_append_string ( GpgmeData dh, const char *s );
|
|
GpgmeError _gpgme_data_append_string_for_xml ( GpgmeData dh,
|
|
const char *s);
|
|
GpgmeError _gpgme_data_append_for_xml ( GpgmeData dh,
|
|
const char *buffer,
|
|
size_t len );
|
|
GpgmeError _gpgme_data_append_percentstring_for_xml ( GpgmeData dh,
|
|
const char *string );
|
|
|
|
GpgmeError _gpgme_data_unread (GpgmeData dh,
|
|
const char *buffer, size_t length );
|
|
|
|
int _gpgme_data_inbound_handler (void *opaque, int pid, int fd);
|
|
int _gpgme_data_outbound_handler (void *opaque, int pid, int fd);
|
|
|
|
|
|
/*-- key.c --*/
|
|
GpgmeError _gpgme_key_new ( GpgmeKey *r_key );
|
|
GpgmeError _gpgme_key_new_secret ( GpgmeKey *r_key );
|
|
|
|
|
|
/*-- verify.c --*/
|
|
void _gpgme_release_verify_result (VerifyResult result);
|
|
GpgmeSigStat _gpgme_intersect_stati (VerifyResult result);
|
|
void _gpgme_verify_status_handler (GpgmeCtx ctx, GpgStatusCode code,
|
|
char *args);
|
|
|
|
/*-- decrypt.c --*/
|
|
void _gpgme_release_decrypt_result (DecryptResult result);
|
|
void _gpgme_decrypt_status_handler (GpgmeCtx ctx, GpgStatusCode code,
|
|
char *args);
|
|
GpgmeError _gpgme_decrypt_start (GpgmeCtx ctx, GpgmeData ciph, GpgmeData plain,
|
|
void *status_handler);
|
|
GpgmeError _gpgme_decrypt_result (GpgmeCtx ctx);
|
|
|
|
/*-- sign.c --*/
|
|
void _gpgme_release_sign_result ( SignResult res );
|
|
|
|
/*-- encrypt.c --*/
|
|
void _gpgme_release_encrypt_result ( EncryptResult res );
|
|
|
|
/*-- passphrase.c --*/
|
|
void _gpgme_release_passphrase_result (PassphraseResult result);
|
|
void _gpgme_passphrase_status_handler (GpgmeCtx ctx, GpgStatusCode code,
|
|
char *args);
|
|
GpgmeError _gpgme_passphrase_start (GpgmeCtx ctx);
|
|
GpgmeError _gpgme_passphrase_result (GpgmeCtx ctx);
|
|
|
|
/*-- version.c --*/
|
|
const char *_gpgme_compare_versions (const char *my_version,
|
|
const char *req_version);
|
|
char *_gpgme_get_program_version (const char *const path);
|
|
|
|
#endif /* OPS_H */
|