]> git.sommitrealweird.co.uk Git - onak.git/blobdiff - decodekey.h
"Recognize" some extra subpacket types
[onak.git] / decodekey.h
index f7df5eff7086abc07def2f756a8967f6322aebf8..242e8e4a341a1f5fbafa5358b1546ca2dea2a521 100644 (file)
@@ -9,6 +9,8 @@
 #ifndef __DECODEKEY_H__
 #define __DECODEKEY_H__
 
+#include <inttypes.h>
+#include <time.h>
 #include "keystructs.h"
 #include "ll.h"
 
 struct ll *keysigs(struct ll *curll,
                struct openpgp_packet_list *sigs);
 
+/**
+ *     sig_info - Get info on a given OpenPGP signature packet
+ *     @packet: The signature packet
+ *     @keyid: A pointer for where to return the signature keyid
+ *     @creation: A pointer for where to return the signature creation time
+ *
+ *     Gets any info about a signature packet; parses the subpackets for a v4
+ *     key or pulls the data directly from v2/3. NULL can be passed for any
+ *     values which aren't cared about.
+ */
+void sig_info(struct openpgp_packet *packet, uint64_t *keyid, time_t *creation);
+
 /**
  *     sig_keyid - Return the keyid for a given OpenPGP signature packet.
  *     @packet: The signature packet.
@@ -42,4 +56,13 @@ uint64_t sig_keyid(struct openpgp_packet *packet);
  */
 char **keyuids(struct openpgp_publickey *key, char **primary);
 
+/**
+ *     keysubkeys - Takes a key and returns an array of its subkey keyids.
+ *     @key: The key to get the subkeys of.
+ *
+ *     keysubkeys takes a public key structure and returns an array of the
+ *     subkey keyids for that key.
+ */
+uint64_t *keysubkeys(struct openpgp_publickey *key);
+
 #endif