Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / crypto / external / bsd / netpgp / dist / src / lib / packet-show.h
bloba8ec20cc13acecfe763120a7bf6f4a9ba38b8ff1
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.
30 * Copyright (c) 2005-2008 Nominet UK (www.nic.uk)
31 * All rights reserved.
32 * Contributors: Ben Laurie, Rachel Willmer. The Contributors have asserted
33 * their moral rights under the UK Copyright Design and Patents Act 1988 to
34 * be recorded as the authors of this copyright work.
36 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
37 * use this file except in compliance with the License.
39 * You may obtain a copy of the License at
40 * http://www.apache.org/licenses/LICENSE-2.0
42 * Unless required by applicable law or agreed to in writing, software
43 * distributed under the License is distributed on an "AS IS" BASIS,
44 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
46 * See the License for the specific language governing permissions and
47 * limitations under the License.
50 /** \file
53 #ifndef PACKET_SHOW_H_
54 #define PACKET_SHOW_H_
56 #include "packet.h"
58 /** __ops_list_t
60 typedef struct {
61 unsigned int size; /* num of array slots allocated */
62 unsigned int used; /* num of array slots currently used */
63 char **strings;
64 } __ops_list_t;
66 /** __ops_text_t
68 typedef struct {
69 __ops_list_t known;
70 __ops_list_t unknown;
71 } __ops_text_t;
73 /** __ops_bit_map_t
75 typedef struct {
76 unsigned char mask;
77 const char *string;
78 } __ops_bit_map_t;
80 void __ops_text_init(__ops_text_t *);
81 void __ops_text_free(__ops_text_t *);
83 const char *__ops_show_packet_tag(__ops_packet_tag_t);
84 const char *__ops_show_ss_type(__ops_ss_type_t);
86 const char *__ops_show_sig_type(__ops_sig_type_t);
87 const char *__ops_show_pka(__ops_pubkey_alg_t);
89 __ops_text_t *__ops_showall_ss_zpref(__ops_ss_zpref_t);
90 const char *__ops_show_ss_zpref(unsigned char);
92 __ops_text_t *__ops_showall_ss_hashpref(__ops_ss_hashpref_t);
93 const char *__ops_show_hash_alg(unsigned char);
94 const char *__ops_show_symm_alg(unsigned char);
96 __ops_text_t *__ops_showall_ss_skapref(__ops_ss_skapref_t);
97 const char *__ops_show_ss_skapref(unsigned char);
99 const char *__ops_show_ss_rr_code(__ops_ss_rr_code_t);
101 __ops_text_t *__ops_showall_ss_features(__ops_ss_features_t);
103 __ops_text_t *__ops_showall_ss_key_flags(__ops_ss_key_flags_t);
104 const char *__ops_show_ss_key_flag(unsigned char, __ops_bit_map_t *);
106 __ops_text_t *__ops_show_keyserv_prefs(__ops_ss_key_server_prefs_t);
107 const char *__ops_show_keyserv_pref(unsigned char, __ops_bit_map_t *);
109 __ops_text_t *__ops_showall_notation(__ops_ss_notation_t);
111 #endif /* PACKET_SHOW_H_ */