/* ** libmilter functions return one of the following to indicate ** success/failure: */ #define MI_SUCCESS 0 #define MI_FAILURE (-1) #define SMFI_VERSION 2 /* version number */ /* ** What the filter might do -- values to be ORed together for ** smfiDesc.xxfi_flags. */ #define SMFIF_NONE 0x00000000L /* no flags */ #define SMFIF_ADDHDRS 0x00000001L /* filter may add headers */ #define SMFIF_CHGBODY 0x00000002L /* filter may replace body */ #define SMFIF_MODBODY SMFIF_CHGBODY /* backwards compatible */ #define SMFIF_ADDRCPT 0x00000004L /* filter may add recipients */ #define SMFIF_DELRCPT 0x00000008L /* filter may delete recipients */ #define SMFIF_CHGHDRS 0x00000010L /* filter may change/delete headers */ #define SMFIF_QUARANTINE 0x00000020L /* filter may quarantine envelope */ /* ** Continue processing message/connection. */ #define SMFIS_CONTINUE 0 /* ** Reject the message/connection. ** No further routines will be called for this message ** (or connection, if returned from a connection-oriented routine). */ #define SMFIS_REJECT 1 /* ** Accept the message, ** but silently discard the message. ** No further routines will be called for this message. ** This is only meaningful from message-oriented routines. */ #define SMFIS_DISCARD 2 /* ** Accept the message/connection. ** No further routines will be called for this message ** (or connection, if returned from a connection-oriented routine; ** in this case, it causes all messages on this connection ** to be accepted without filtering). */ #define SMFIS_ACCEPT 3 /* ** Return a temporary failure, i.e., ** the corresponding SMTP command will return a 4xx status code. ** In some cases this may prevent further routines from ** being called on this message or connection, ** although in other cases (e.g., when processing an envelope ** recipient) processing of the message will continue. */ #define SMFIS_TEMPFAIL 4