Inital subkey searching support for db3 backend.
[onak.git] / decodekey.h
1 /*
2  * keyindex.h - Routines to list an OpenPGP key.
3  *
4  * Jonathan McDowell <noodles@earth.li>
5  *
6  * Copyright 2002 Project Purple
7  *
8  * $Id: decodekey.h,v 1.2 2003/06/04 20:57:07 noodles Exp $
9  */
10
11 #ifndef __DECODEKEY_H__
12 #define __DECODEKEY_H__
13
14 #include "keystructs.h"
15 #include "ll.h"
16
17 /**
18  *      keysigs - Return the sigs on a given OpenPGP signature packet list.
19  *      @curll: The current linked list. Can be NULL to create a new list.
20  *      @sigs: The signature list we want the sigs on.
21  *
22  *      Returns a linked list of stats_key elements containing the sigs for the
23  *      supplied OpenPGP signature packet list.
24  */
25 struct ll *keysigs(struct ll *curll,
26                 struct openpgp_packet_list *sigs);
27
28 /**
29  *      sig_keyid - Return the keyid for a given OpenPGP signature packet.
30  *      @packet: The signature packet.
31  *
32  *      Returns the keyid for the supplied signature packet.
33  */
34 uint64_t sig_keyid(struct openpgp_packet *packet);
35
36 /**
37  *      keyuids - Takes a key and returns an array of its UIDs
38  *      @key: The key to get the uids of.
39  *      @primary: A pointer to store the primary UID in.
40  *
41  *      keyuids takes a public key structure and builds an array of the UIDs 
42  *      on the key. It also attempts to work out the primary UID and returns a
43  *      separate pointer to that particular element of the array.
44  */
45 char **keyuids(struct openpgp_publickey *key, char **primary);
46
47 /**
48  *      keysubkeys - Takes a key and returns an array of its subkey keyids.
49  *      @key: The key to get the subkeys of.
50  *
51  *      keysubkeys takes a public key structure and returns an array of the
52  *      subkey keyids for that key.
53  */
54 uint64_t *keysubkeys(struct openpgp_publickey *key);
55
56 #endif