/*
* Copyright (c) 2005 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
* forth in the LICENSE file which can be found at the top level of
* the sendmail distribution.
*
* $Id: pmfdef.h,v 1.9 2007/02/03 18:20:38 ca Exp $
*/
#ifndef PMFDEF_H
#define PMFDEF_H 1
#include "sm/generic.h"
#include "sm/smmts.h"
#include "sm/hdrmoddef.h"
/* pmilter (global) context */
typedef struct pmg_ctx_S pmg_ctx_T, *pmg_ctx_P;
/* pmilter context per SMTP server */
typedef struct pmss_ctx_S pmss_ctx_T, *pmss_ctx_P;
/* pmilter session context */
typedef struct pmse_ctx_S pmse_ctx_T, *pmse_ctx_P;
/* pmilter application context */
typedef struct pmilter_S pmilter_T, *pmilter_P;
/* macros that can be sent by the MTA to a pmilter */
#define PMM_END 0x0000 /* end of macro list */
#define PMM_SRVHOSTNAME 0x0001 /* hostname of server */
#define PMM_SEID 0x0010 /* session id */
#define PMM_CLIENT_RESOLVE 0x0011 /* result of client lookups */
#define PMM_TLS_VERSION 0x0020
#define PMM_TLS_CIPHER_SUITE 0x0021
#define PMM_TLS_CIPHER_BITS 0x0022
#define PMM_TLS_CERT_SUBJECT 0x0023
#define PMM_TLS_CERT_ISSUER 0x0024
#define PMM_TLS_ALG_BITS 0x0025
#define PMM_TLS_VRFY 0x0026
#define PMM_TLS_CN_SUBJECT 0x0027
#define PMM_TLS_CN_ISSUER 0x0028
#define PMM_AUTH_TYPE 0x0030
#define PMM_AUTH_AUTHEN 0x0031
#define PMM_AUTH_AUTHOR 0x0032
#define PMM_MAIL_TAID 0x0040 /* transaction id */
#define PMM_DOT_MSGID 0x0080
#define PMM_DOT_HOPS 0x0100 /* hop count $c */
/* stages when to send a macro */
#define PM_SMST_CONNECT 0
#define PM_SMST_EHLO 1
#define PM_SMST_MAIL 2
#define PM_SMST_RCPT 3
#define PM_SMST_DATA 4
#define PM_SMST_DOT 5
#define PM_SMST_MAX 6 /* max number of stages */
#define PM_MAX_MACROS 8 /* max. number of macro per stage */
/* recipient modification, none of these must be 0! */
#define PM_RCPT_ADD 0x01
#define PM_RCPT_DEL 0x02
/* see also smtps/pmilter.h, PM_RCPT_* */
#endif /* ! PMFDEF_H */
syntax highlighted by Code2HTML, v. 0.9.1