summaryrefslogtreecommitdiff
path: root/src/clamsmtpd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/clamsmtpd.h')
-rw-r--r--src/clamsmtpd.h102
1 files changed, 0 insertions, 102 deletions
diff --git a/src/clamsmtpd.h b/src/clamsmtpd.h
index 10b4a1f..9224f32 100644
--- a/src/clamsmtpd.h
+++ b/src/clamsmtpd.h
@@ -39,107 +39,5 @@
#ifndef __CLAMSMTPD_H__
#define __CLAMSMTPD_H__
-#include <sock_any.h>
-
-/* IO Buffers see clio.c ---------------------------------------------------- */
-
-#define BUF_LEN 256
-
-typedef struct clio
-{
- int fd;
- const char* name;
- unsigned char buf[BUF_LEN];
- size_t buflen;
-}
-clio_t;
-
-/* The main context --------------------------------------------------------- */
-
-/*
- * A generous maximum line length. It needs to be longer than
- * a full path on this system can be, because we pass the file
- * name to clamd.
- */
-
-#if 2000 > MAXPATHLEN
- #define LINE_LENGTH 2000
-#else
- #define LINE_LENGTH (MAXPATHLEN + 128)
-#endif
-
-typedef struct clamsmtp_context
-{
- unsigned int id; /* Identifier for the connection */
-
- clio_t client; /* Connection to client */
- clio_t server; /* Connection to server */
- clio_t clam; /* Connection to clamd */
-
- char line[LINE_LENGTH]; /* Working buffer */
- int linelen; /* Length of valid data in above */
-}
-clamsmtp_context_t;
-
-#define LINE_TOO_LONG(ctx) ((ctx)->linelen >= (LINE_LENGTH - 2))
-#define RETURN(x) { ret = x; goto cleanup; }
-
-
-/* Implemented in clio.c ---------------------------------------------------- */
-
-#define CLIO_TRIM 0x00000001
-#define CLIO_DISCARD 0x00000002
-#define CLIO_QUIET 0x00000004
-#define clio_valid(io) ((io)->fd != -1)
-
-void clio_init(clio_t* io, const char* name);
-int clio_connect(clamsmtp_context_t* ctx, clio_t* io, const struct sockaddr_any* sany, const char* addrname);
-void clio_disconnect(clamsmtp_context_t* ctx, clio_t* io);
-int clio_select(clamsmtp_context_t* ctx, clio_t** io);
-int clio_read_line(clamsmtp_context_t* ctx, clio_t* io, int trim);
-int clio_write_data(clamsmtp_context_t* ctx, clio_t* io, const char* data);
-int clio_write_data_raw(clamsmtp_context_t* ctx, clio_t* io, unsigned char* buf, int len);
-
-
-/* Implemented in clstate.c ------------------------------------------------ */
-
-typedef struct clstate
-{
- /* Settings ------------------------------- */
- int debug_level; /* The level to print stuff to console */
- int max_threads; /* Maximum number of threads to process at once */
- struct timeval timeout; /* Timeout for communication */
-
- struct sockaddr_any outaddr; /* The outgoing address */
- const char* outname;
- struct sockaddr_any clamaddr; /* Address for connecting to clamd */
- const char* clamname;
- struct sockaddr_any listenaddr; /* Address to listen on */
- const char* listenname;
-
- const char* header; /* The header to add to email */
- const char* directory; /* The directory for temp files */
- int bounce; /* Send back a reject line */
- int quarantine; /* Leave virus files in temp dir */
- int debug_files; /* Leave all files in temp dir */
- int transparent; /* Transparent proxying */
-
- /* State --------------------------------- */
- int daemonized; /* Whether process is daemonized or not */
- pthread_mutex_t mutex; /* The main mutex */
- int quit; /* Quit the process */
-
- /* Internal Use ------------------------- */
- char* _p;
- pthread_mutexattr_t _mtxattr;
-}
-clstate_t;
-
-extern const clstate_t* g_state;
-
-void clstate_init(clstate_t* state);
-int clstate_parse_config(clstate_t* state, const char* configfile);
-void clstate_validate(clstate_t* state);
-void clstate_cleanup(clstate_t* state);
#endif /* __CLAMSMTPD_H__ */