X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=postfix.h;h=4d038e8d9c065456211a6d49c7107837293d54b6;hb=6a966ebc32006b64216715314ce21a506ef1f7c4;hp=d24dcbb7ab625ab0a62f84057fd5202cfffe4ec1;hpb=e826fd379421938f920e7e51d2a34bf4eb3483a0;p=apps%2Fpfixtools.git diff --git a/postfix.h b/postfix.h index d24dcbb..4d038e8 100644 --- a/postfix.h +++ b/postfix.h @@ -1,5 +1,5 @@ /******************************************************************************/ -/* postlicyd: a postfix policy daemon with a lot of features */ +/* pfixtools: a collection of postfix related tools */ /* ~~~~~~~~~ */ /* ________________________________________________________________________ */ /* */ @@ -36,8 +36,23 @@ #ifndef POSTLICYD_POSTFIX_H #define POSTLICYD_POSTFIX_H +#include + #include "buffer.h" +enum smtp_state { + SMTP_UNKNOWN, + SMTP_CONNECT, + SMTP_EHLO, + SMTP_HELO = SMTP_EHLO, + SMTP_MAIL, + SMTP_RCPT, + SMTP_DATA, + SMTP_END_OF_MESSAGE, + SMTP_VRFY, + SMTP_ETRN, +}; + /* \see http://www.postfix.org/SMTPD_POLICY_README.html */ typedef struct query_t { unsigned state : 4; @@ -72,10 +87,15 @@ typedef struct query_t { } query_t; static inline query_t *query_init(query_t *rq) { - p_clear(rq, 1); + memset(rq, 0, offsetof(query_t, data)); buffer_init(&rq->data); return rq; } +static inline query_t *query_reset(query_t *rq) { + memset(rq, 0, offsetof(query_t, data)); + buffer_reset(&rq->data); + return rq; +} static inline void query_wipe(query_t *rq) { buffer_wipe(&rq->data); }