3
/* nettle, low-level cryptographics library
5
* Copyright (C) 2002, 2003 Niels M�ller
7
* The nettle library is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU Lesser General Public License as published by
9
* the Free Software Foundation; either version 2.1 of the License, or (at your
10
* option) any later version.
12
* The nettle library is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
15
* License for more details.
17
* You should have received a copy of the GNU Lesser General Public License
18
* along with the nettle library; see the file COPYING.LIB. If not, write to
19
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
23
#ifndef NETTLE_TOOLS_OUTPUT_H_INCLUDED
24
#define NETTLE_TOOLS_OUTPUT_H_INCLUDED
30
#include "nettle-meta.h"
40
const struct nettle_armor *coding;
41
unsigned coding_indent;
45
const struct nettle_hash *hash;
49
struct base64_decode_ctx base64;
50
/* NOTE: There's no context for hex encoding */
57
sexp_output_init(struct sexp_output *output, FILE *f,
58
unsigned width, int prefer_hex);
61
sexp_output_hash_init(struct sexp_output *output,
62
const struct nettle_hash *hash, void *ctx);
65
sexp_put_newline(struct sexp_output *output,
69
sexp_put_char(struct sexp_output *output, uint8_t c);
72
sexp_put_code_start(struct sexp_output *output,
73
const struct nettle_armor *coding);
76
sexp_put_code_end(struct sexp_output *output);
79
sexp_put_string(struct sexp_output *output, enum sexp_mode mode,
80
struct nettle_buffer *string);
83
sexp_put_digest(struct sexp_output *output);
85
#endif /* NETTLE_TOOLS_OUTPUT_H_INCLUDED */