]> Pileus Git - ~andy/fetchmail/blobdiff - fetchmail.h
Update website for 6.3.24.
[~andy/fetchmail] / fetchmail.h
index 50165c124d39c2c40c48bc5e851c941a131e46a3..d759d391e6bbd7d4de651e67d2669b2a08e81922 100644 (file)
@@ -402,11 +402,11 @@ struct query
     struct query *next;                /* next query control block in chain */
 };
 
-struct msgblk                  /* message header parsed for open_sink() */
+struct msgblk                  /** message header parsed for open_sink() */
 {
-    char               *headers;       /* raw message headers */
-    struct idlist      *recipients;    /* addressees */
-    char               return_path[HOSTLEN + USERNAMELEN + 4]; 
+    char               *headers;       /**< raw message headers */
+    struct idlist      *recipients;    /**< addressees */
+    char               return_path[HOSTLEN + USERNAMELEN + 4]; /**< envelope sender */
     int                        msglen;
     int                        reallen;
 };
@@ -517,6 +517,16 @@ void resetidletimeout(void);
 int do_protocol(struct query *, const struct method *);
 
 /* transact.c: transaction support */
+/** \ingroup gen_recv_split
+ * Data structure to cache data between \func gen_recv_split calls,
+ * must be initialized before use by calling \func gen_recv_split_init. */
+struct RecvSplit
+{
+    char prefix[100];          /**< prefix to match/repeat when splitting lines */
+    int cached;                        /**< flag to record if we have data cached in \a buf */
+    char buf[MSGBUFSIZE];      /**< buffer for cached data */
+};
+
 void init_transact(const struct method *);
 int readheaders(int sock,
                       long fetchlen,
@@ -530,12 +540,16 @@ void gen_send(int sock, const char *, ... )
     __attribute__ ((format (printf, 2, 3)))
     ;
 int gen_recv(int sock, char *buf, int size);
+void gen_recv_split_init(const char *prefix, struct RecvSplit *rs);
+int gen_recv_split(int sock, char *buf, int size, struct RecvSplit *rs);
 int gen_transact(int sock, const char *, ... )
     __attribute__ ((format (printf, 2, 3)))
     ;
 #else
 void gen_send();
 int gen_recv();
+void gen_recv_split_init();
+int gen_recv_split();
 int gen_transact();
 #endif
 extern struct msgblk msgblk;
@@ -767,6 +781,11 @@ int rfc822_valid_msgid(const unsigned char *);
 /* prototype from x509_name_match.c */
 int name_match(const char *p1, const char *p2);
 
+/* prototype from ntlmsubr.c */
+#ifdef NTLM_ENABLE
+int ntlm_helper(int sock, struct query *ctl, const char *protocol);
+#endif
+
 /* macro to determine if we want to spam progress to stdout */
 #define want_progress() \
        ((outlevel >= O_VERBOSE || (outlevel > O_SILENT && run.showdots)) \