X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=parsekey.h;h=ed7e3a0daf2c8200deff01f7b61346a3755babac;hb=838b6820d59b49881d1cd097aff7e96049a60f9e;hp=2bfaf728ea131ca7cb8766ada350b2ff0c9043b8;hpb=e02c731dfbb288c736f2cd09a9b6df0507c59ddd;p=onak.git diff --git a/parsekey.h b/parsekey.h index 2bfaf72..ed7e3a0 100644 --- a/parsekey.h +++ b/parsekey.h @@ -4,6 +4,8 @@ * Jonathan McDowell * * Copyright 2002 Project Purple + * + * $Id: parsekey.h,v 1.5 2003/09/30 20:40:11 noodles Exp $ */ #ifndef __PARSEKEY_H__ @@ -30,6 +32,8 @@ int add_key(struct openpgp_publickey *key); * * This function takes an list of OpenPGP packets and attempts to parse it * into a list of public keys with signatures and subkeys. + * + * Returns a count of how many keys we parsed. */ int parse_keys(struct openpgp_packet_list *packets, struct openpgp_publickey **keys); @@ -49,15 +53,20 @@ int debug_packet(struct openpgp_packet *packet); * @getchar_func: The function to get the next character from the stream. * @ctx: A pointer to the context structure for getchar_func. * @packets: The outputted list of packets. + * @maxnum: The maximum number of keys to read. 0 means unlimited. * * This function uses getchar_func to read characters from an OpenPGP * packet stream and reads the packets into a linked list of packets - * ready for parsing as a public key or whatever. + * ready for parsing as a public key or whatever. maxnum allows you to + * specify the maximum number of keys to read. Note that if this is used + * then only the public key component of the last key will be returned, + * none of the other packets of the key will be read. */ int read_openpgp_stream(int (*getchar_func)(void *ctx, size_t count, unsigned char *c), void *ctx, - struct openpgp_packet_list **packets); + struct openpgp_packet_list **packets, + int maxnum); /** * write_openpgp_stream - Reads a stream of OpenPGP packets.