fingerprints and self signatures added
[gnupg.git] / g10 / filter.h
index 8cbb26a..ec34696 100644 (file)
 #include "cipher.h"
 
 typedef struct {
+    MD_HANDLE *md;     /* catch all */
     MD5HANDLE md5;     /* if !NULL create md5  */
     RMDHANDLE rmd160;  /* if !NULL create rmd160  */
     size_t maxbuf_size;
 } md_filter_context_t;
 
+typedef struct {
+    int status;
+    int what;
+    byte radbuf[4];
+    int  idx, idx2;
+    u32 crc;
+    int inp_checked;   /* set if inp has been checked */
+    int inp_bypass;    /* set if the input is not armored */
+    int inp_eof;
+} armor_filter_context_t;
+
+
+typedef struct {
+    int status;
+    void *opaque;   /* (used for z_stream) */
+    byte *inbuf;
+    unsigned inbufsize;
+    byte *outbuf;
+    unsigned outbufsize;
+} compress_filter_context_t;
+
+
+typedef struct {
+    DEK *dek;
+    u32 datalen;
+    BLOWFISH_context *bf_ctx;
+    int header;
+} cipher_filter_context_t;
+
+
 
 /*-- mdfilter.c --*/
 int md_filter( void *opaque, int control, IOBUF a, byte *buf, size_t *ret_len);
+void free_md_filter_context( md_filter_context_t *mfx );
+
+/*-- armor.c --*/
+int armor_filter( void *opaque, int control,
+                 IOBUF chain, byte *buf, size_t *ret_len);
+
+/*-- compress.c --*/
+int compress_filter( void *opaque, int control,
+                    IOBUF chain, byte *buf, size_t *ret_len);
+
+/*-- cipher.c --*/
+int cipher_filter( void *opaque, int control,
+                  IOBUF chain, byte *buf, size_t *ret_len);
+
+
 
 #endif /*G10_FILTER_H*/