Nico Golde:
[apps/madmutt.git] / pgppacket.h
1 /*
2  * Copyright (C) 2001 Thomas Roessler <roessler@does-not-exist.org>
3  * 
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of
7  * the License, or (at your option) any later version.
8  * 
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  * 
14  * You should have received a copy of the GNU General Public
15  * License along with this program; if not, write to the Free
16  * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
17  * MA 02111, USA.
18  */
19
20 /* 
21  * Definitions for a rudimentary PGP packet parser which is shared
22  * by mutt proper and the PGP public key ring lister.
23  */
24
25 #ifndef _PGPPACKET_H
26 # define _PGPPACKET_H
27
28 enum packet_tags
29 {
30   PT_RES0 = 0,                  /* reserved */
31   PT_ESK,                       /* Encrypted Session Key */
32   PT_SIG,                       /* Signature Packet */
33   PT_CESK,                      /* Conventionally Encrypted Session Key Packet */
34   PT_OPS,                       /* One-Pass Signature Packet */
35   PT_SECKEY,                    /* Secret Key Packet */
36   PT_PUBKEY,                    /* Public Key Packet */
37   PT_SUBSECKEY,                 /* Secret Subkey Packet */
38   PT_COMPRESSED,                /* Compressed Data Packet */
39   PT_SKE,                       /* Symmetrically Encrypted Data Packet */
40   PT_MARKER,                    /* Marker Packet */
41   PT_LITERAL,                   /* Literal Data Packet */
42   PT_TRUST,                     /* Trust Packet */
43   PT_NAME,                      /* Name Packet */
44   PT_SUBKEY,                    /* Subkey Packet */
45   PT_RES15,                     /* Reserved */
46   PT_COMMENT                    /* Comment Packet */
47 };
48
49 unsigned char *pgp_read_packet (FILE * fp, size_t * len);
50 void pgp_release_packet (void);
51
52 #endif