From 28c31524be84f20b34573c78bd3a94a81e4b1d61 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 16 Feb 2017 15:16:48 +0100 Subject: common: Remove gpgsm dependencies from ksba-io-support. * common/ksba-io-support.c: Include ksba-io-support.h instead of ../sm/gpgsm.h. Include util.h. (writer_cb_parm_s): Remove const from 'pem_name'. (gpgsm_destroy_writer): Free 'pem_name'. (gpgsm_create_reader): Rename to ... (gnupg_ksba_create_reader): this. Replace args CTRL and ALLOW_MULTI_PEM by a new arg FLAGS. Change the code to evaluate FLAGS. Change all callers to pass the FLAGS. (gpgsm_create_writer): Rename to ... (gnupg_ksba_create_writer): this. Replace arg CTRL by new arg FLAGS. Add arg PEM_NAME. Evaluate FLAGS. Store a copy of PEM_NAME. Change all callers to pass the FLAGS and PEM_NAME. Signed-off-by: Werner Koch --- common/ksba-io-support.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'common/ksba-io-support.h') diff --git a/common/ksba-io-support.h b/common/ksba-io-support.h index 7028686de..0f448ec25 100644 --- a/common/ksba-io-support.h +++ b/common/ksba-io-support.h @@ -30,4 +30,37 @@ #ifndef GNUPG_KSBA_IO_SUPPORT_H #define GNUPG_KSBA_IO_SUPPORT_H +/* Flags used with gnupg_ksba_create_reader and + * gnupg_ksba_create_writer. */ +#define GNUPG_KSBA_IO_PEM 1 /* X.509 PEM format. */ +#define GNUPG_KSBA_IO_BASE64 2 /* Plain Base64 format. */ +#define GNUPG_KSBA_IO_AUTODETECT 4 /* Try toautodeect the format. */ +#define GNUPG_KSBA_IO_MULTIPEM 8 /* Allow more than one PEM chunk. */ + + +/* Context object. */ +typedef struct base64_context_s *Base64Context; + + + +gpg_error_t gnupg_ksba_create_reader (Base64Context *ctx, + unsigned int flags, + estream_t fp, + ksba_reader_t *r_reader); + +int gpgsm_reader_eof_seen (Base64Context ctx); +void gpgsm_destroy_reader (Base64Context ctx); + +gpg_error_t gnupg_ksba_create_writer (Base64Context *ctx, + unsigned int flags, + const char *pem_name, + estream_t stream, + ksba_writer_t *r_writer); + +int gpgsm_finish_writer (Base64Context ctx); +void gpgsm_destroy_writer (Base64Context ctx); + + + + #endif /*GNUPG_KSBA_IO_SUPPORT_H*/ -- cgit v1.2.3