*** empty log message ***
[gnupg.git] / g10 / filter.h
index bedacf9..d48b756 100644 (file)
@@ -1,14 +1,14 @@
 /* filter.h
- *     Copyright (c) 1997 by Werner Koch (dd9jn)
+ *     Copyright (C) 1998 Free Software Foundation, Inc.
  *
- * This file is part of G10.
+ * This file is part of GNUPG.
  *
- * G10 is free software; you can redistribute it and/or modify
+ * GNUPG is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
  *
- * G10 is distributed in the hope that it will be useful,
+ * GNUPG is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
@@ -20,6 +20,7 @@
 #ifndef G10_FILTER_H
 #define G10_FILTER_H
 
+#include "types.h"
 #include "cipher.h"
 
 typedef struct {
@@ -35,12 +36,14 @@ typedef struct {
     u32 crc;
     byte helpbuf[100];
     int  helpidx, helplen;
-    byte tempbuf[100];
-    int  tempidx, templen;
-    void *fake;
+    unsigned empty;    /* empty line counter */
+    int hashes;        /* detected hash algorithms */
+    int faked;
+    int parse_state;
     int inp_checked;   /* set if inp has been checked */
     int inp_bypass;    /* set if the input is not armored */
-    int inp_eof;
+    int any_data;
+    const char *hdrlines;
 } armor_filter_context_t;
 
 
@@ -51,25 +54,24 @@ typedef struct {
     unsigned inbufsize;
     byte *outbuf;
     unsigned outbufsize;
-    int pgpmode;
+    int algo;   /* compress algo */
 } compress_filter_context_t;
 
 
 typedef struct {
     DEK *dek;
     u32 datalen;
-    BLOWFISH_context *bf_ctx;
+    CIPHER_HANDLE cipher_hd;
     int header;
 } cipher_filter_context_t;
 
 
 
 typedef struct {
-    size_t linesize;
-    byte *line;
-    size_t linelen;
-    size_t pos;
     int eof;
+    size_t idx;
+    size_t len;
+    byte buf[256];
 } text_filter_context_t;
 
 
@@ -80,6 +82,7 @@ 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 use_armor_filter( IOBUF a );
 int armor_filter( void *opaque, int control,
                  IOBUF chain, byte *buf, size_t *ret_len);