Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / crypto / external / bsd / netpgp / dist / src / lib / netpgpsdk.h
blob0f0d5432eb7d257216246e6730c9d7d86f3e66fd
1 /*-
2 * Copyright (c) 2009 The NetBSD Foundation, Inc.
3 * All rights reserved.
5 * This code is derived from software contributed to The NetBSD Foundation
6 * by Alistair Crooks (agc@NetBSD.org)
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
17 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE.
29 #ifndef NETPGPSDK_H_
30 #define NETPGPSDK_H_
32 #include "keyring.h"
33 #include "crypto.h"
34 #include "signature.h"
35 #include "packet-show.h"
37 typedef struct __ops_validation_t {
38 unsigned int validc;
39 __ops_sig_info_t *valid_sigs;
40 unsigned int invalidc;
41 __ops_sig_info_t *invalid_sigs;
42 unsigned int unknownc;
43 __ops_sig_info_t *unknown_sigs;
44 } __ops_validation_t;
46 void __ops_validate_result_free(__ops_validation_t *);
48 unsigned
49 __ops_validate_key_sigs(__ops_validation_t *,
50 const __ops_key_t *,
51 const __ops_keyring_t *,
52 __ops_cb_ret_t cb(const __ops_packet_t *, __ops_cbdata_t *));
54 unsigned
55 __ops_validate_all_sigs(__ops_validation_t *,
56 const __ops_keyring_t *,
57 __ops_cb_ret_t cb(const __ops_packet_t *, __ops_cbdata_t *));
59 unsigned __ops_check_sig(const unsigned char *,
60 unsigned, const __ops_sig_t *, const __ops_pubkey_t *);
62 const char *__ops_get_info(const char *type);
64 int __ops_asprintf(char **, const char *, ...);
66 void netpgp_log(const char *, ...);
69 #endif