Postfix3.3.1
データ構造 | マクロ定義 | 型定義 | 関数
milter.h ファイル
#include <vstring.h>
#include <vstream.h>
#include <argv.h>
#include <attr.h>

[ソースコード]

データ構造

struct  MILTER
 
struct  MILTER_MACROS
 
struct  MILTERS
 

マクロ定義

#define MILTER_FLAG_NONE   (0)
 
#define MILTER_FLAG_WANT_RCPT_REJ   (1<<0) /* see S8_RCPT_MAILER_ERROR */
 
#define MILTER_MACROS_ALLOC_ZERO   1 /* null pointer */
 
#define MILTER_MACROS_ALLOC_EMPTY   2 /* mystrdup(""); */
 
#define milter_create(milter_names, conn_timeout, cmd_timeout, msg_timeout, protocol, def_action, conn_macros, helo_macros, mail_macros, rcpt_macros, data_macros, eoh_macros, eod_macros, unk_macros, macro_deflts)
 
#define MILTER_BODY_START   1 /* start message body */
 
#define MILTER_BODY_LINE   2 /* message body line */
 
#define MILTER_BODY_END   3 /* end message body */
 
#define S8_MAC__   "{_}" /* sender host, see client_resolve */
 
#define S8_MAC_J   "{j}" /* myhostname */
 
#define S8_MAC_V   "{v}" /* mail_name + mail_version */
 
#define S8_MAC_DAEMON_NAME   "{daemon_name}"
 
#define S8_MAC_IF_NAME   "{if_name}"
 
#define S8_MAC_IF_ADDR   "{if_addr}"
 
#define S8_MAC_CLIENT_ADDR   "{client_addr}"
 
#define S8_MAC_CLIENT_CONN   "{client_connections}"
 
#define S8_MAC_CLIENT_NAME   "{client_name}"
 
#define S8_MAC_CLIENT_PORT   "{client_port}"
 
#define S8_MAC_CLIENT_PTR   "{client_ptr}"
 
#define S8_MAC_CLIENT_RES   "{client_resolve}"
 
#define S8_MAC_DAEMON_ADDR   "{daemon_addr}"
 
#define S8_MAC_DAEMON_PORT   "{daemon_port}"
 
#define S8_MAC_TLS_VERSION   "{tls_version}"
 
#define S8_MAC_CIPHER   "{cipher}"
 
#define S8_MAC_CIPHER_BITS   "{cipher_bits}"
 
#define S8_MAC_CERT_SUBJECT   "{cert_subject}"
 
#define S8_MAC_CERT_ISSUER   "{cert_issuer}"
 
#define S8_MAC_I   "{i}" /* queue ID */
 
#define S8_MAC_AUTH_TYPE   "{auth_type}" /* SASL method */
 
#define S8_MAC_AUTH_AUTHEN   "{auth_authen}" /* SASL username */
 
#define S8_MAC_AUTH_AUTHOR   "{auth_author}" /* SASL sender */
 
#define S8_MAC_MAIL_MAILER   "{mail_mailer}" /* sender transport */
 
#define S8_MAC_MAIL_HOST   "{mail_host}" /* sender nexthop */
 
#define S8_MAC_MAIL_ADDR   "{mail_addr}" /* sender address */
 
#define S8_MAC_RCPT_MAILER   "{rcpt_mailer}" /* recip transport */
 
#define S8_MAC_RCPT_HOST   "{rcpt_host}" /* recip nexthop */
 
#define S8_MAC_RCPT_ADDR   "{rcpt_addr}" /* recip address */
 
#define S8_RCPT_MAILER_ERROR   "error" /* see MILTER_FLAG_WANT_RCPT_REJ */
 

型定義

typedef struct MILTER MILTER
 
typedef struct MILTER_MACROS MILTER_MACROS
 
typedef const char *(* MILTER_MAC_LOOKUP_FN) (const char *, void *)
 
typedef const char *(* MILTER_ADD_HEADER_FN) (void *, const char *, const char *, const char *)
 
typedef const char *(* MILTER_EDIT_HEADER_FN) (void *, ssize_t, const char *, const char *, const char *)
 
typedef const char *(* MILTER_DEL_HEADER_FN) (void *, ssize_t, const char *)
 
typedef const char *(* MILTER_EDIT_FROM_FN) (void *, const char *, const char *)
 
typedef const char *(* MILTER_EDIT_RCPT_FN) (void *, const char *)
 
typedef const char *(* MILTER_EDIT_RCPT_PAR_FN) (void *, const char *, const char *)
 
typedef const char *(* MILTER_EDIT_BODY_FN) (void *, int, VSTRING *)
 
typedef struct MILTERS MILTERS
 

関数

MILTER * milter8_create (const char *, int, int, int, const char *, const char *, struct MILTERS *)
 
MILTER * milter8_receive (VSTREAM *, struct MILTERS *)
 
MILTER_MACROS * milter_macros_create (const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *)
 
MILTER_MACROS * milter_macros_alloc (int)
 
void milter_macros_free (MILTER_MACROS *)
 
int milter_macros_print (ATTR_PRINT_MASTER_FN, VSTREAM *, int, void *)
 
int milter_macros_scan (ATTR_SCAN_MASTER_FN, VSTREAM *, int, void *)
 
struct HTABLE * milter_macro_defaults_create (const char *)
 
MILTERS * milter_new (const char *, int, int, int, const char *, const char *, MILTER_MACROS *, struct HTABLE *)
 
void milter_macro_callback (MILTERS *, MILTER_MAC_LOOKUP_FN, void *)
 
void milter_edit_callback (MILTERS *milters, MILTER_ADD_HEADER_FN, MILTER_EDIT_HEADER_FN, MILTER_EDIT_HEADER_FN, MILTER_DEL_HEADER_FN, MILTER_EDIT_FROM_FN, MILTER_EDIT_RCPT_FN, MILTER_EDIT_RCPT_PAR_FN, MILTER_EDIT_RCPT_FN, MILTER_EDIT_BODY_FN, void *)
 
const char * milter_conn_event (MILTERS *, const char *, const char *, const char *, unsigned)
 
const char * milter_helo_event (MILTERS *, const char *, int)
 
const char * milter_mail_event (MILTERS *, const char **)
 
const char * milter_rcpt_event (MILTERS *, int, const char **)
 
const char * milter_data_event (MILTERS *)
 
const char * milter_message (MILTERS *, VSTREAM *, off_t, ARGV *)
 
const char * milter_unknown_event (MILTERS *, const char *)
 
const char * milter_other_event (MILTERS *)
 
void milter_abort (MILTERS *)
 
void milter_disc_event (MILTERS *)
 
int milter_dummy (MILTERS *, VSTREAM *)
 
int milter_send (MILTERS *, VSTREAM *)
 
MILTERS * milter_receive (VSTREAM *, int)
 
void milter_free (MILTERS *)
 

マクロ定義詳解

#define MILTER_BODY_END   3 /* end message body */

milter.h の 162 行目に定義があります。

#define MILTER_BODY_LINE   2 /* message body line */

milter.h の 161 行目に定義があります。

#define MILTER_BODY_START   1 /* start message body */

milter.h の 160 行目に定義があります。

#define milter_create (   milter_names,
  conn_timeout,
  cmd_timeout,
  msg_timeout,
  protocol,
  def_action,
  conn_macros,
  helo_macros,
  mail_macros,
  rcpt_macros,
  data_macros,
  eoh_macros,
  eod_macros,
  unk_macros,
  macro_deflts 
)
値:
milter_new(milter_names, conn_timeout, cmd_timeout, msg_timeout, \
protocol, def_action, milter_macros_create(conn_macros, \
helo_macros, mail_macros, rcpt_macros, data_macros, \
eoh_macros, eod_macros, unk_macros), \
MILTERS * milter_new(const char *, int, int, int, const char *, const char *, MILTER_MACROS *, struct HTABLE *)
Definition: milter.c:644
MILTER_MACROS * milter_macros_create(const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *)
struct HTABLE * milter_macro_defaults_create(const char *)
Definition: milter.c:274

milter.h の 122 行目に定義があります。

#define MILTER_FLAG_NONE   (0)

milter.h の 53 行目に定義があります。

#define MILTER_FLAG_WANT_RCPT_REJ   (1<<0) /* see S8_RCPT_MAILER_ERROR */

milter.h の 54 行目に定義があります。

#define MILTER_MACROS_ALLOC_EMPTY   2 /* mystrdup(""); */

milter.h の 85 行目に定義があります。

#define MILTER_MACROS_ALLOC_ZERO   1 /* null pointer */

milter.h の 84 行目に定義があります。

#define S8_MAC__   "{_}" /* sender host, see client_resolve */

milter.h の 167 行目に定義があります。

#define S8_MAC_AUTH_AUTHEN   "{auth_authen}" /* SASL username */

milter.h の 193 行目に定義があります。

#define S8_MAC_AUTH_AUTHOR   "{auth_author}" /* SASL sender */

milter.h の 194 行目に定義があります。

#define S8_MAC_AUTH_TYPE   "{auth_type}" /* SASL method */

milter.h の 192 行目に定義があります。

#define S8_MAC_CERT_ISSUER   "{cert_issuer}"

milter.h の 189 行目に定義があります。

#define S8_MAC_CERT_SUBJECT   "{cert_subject}"

milter.h の 188 行目に定義があります。

#define S8_MAC_CIPHER   "{cipher}"

milter.h の 186 行目に定義があります。

#define S8_MAC_CIPHER_BITS   "{cipher_bits}"

milter.h の 187 行目に定義があります。

#define S8_MAC_CLIENT_ADDR   "{client_addr}"

milter.h の 175 行目に定義があります。

#define S8_MAC_CLIENT_CONN   "{client_connections}"

milter.h の 176 行目に定義があります。

#define S8_MAC_CLIENT_NAME   "{client_name}"

milter.h の 177 行目に定義があります。

#define S8_MAC_CLIENT_PORT   "{client_port}"

milter.h の 178 行目に定義があります。

#define S8_MAC_CLIENT_PTR   "{client_ptr}"

milter.h の 179 行目に定義があります。

#define S8_MAC_CLIENT_RES   "{client_resolve}"

milter.h の 180 行目に定義があります。

#define S8_MAC_DAEMON_ADDR   "{daemon_addr}"

milter.h の 182 行目に定義があります。

#define S8_MAC_DAEMON_NAME   "{daemon_name}"

milter.h の 171 行目に定義があります。

#define S8_MAC_DAEMON_PORT   "{daemon_port}"

milter.h の 183 行目に定義があります。

#define S8_MAC_I   "{i}" /* queue ID */

milter.h の 191 行目に定義があります。

#define S8_MAC_IF_ADDR   "{if_addr}"

milter.h の 173 行目に定義があります。

#define S8_MAC_IF_NAME   "{if_name}"

milter.h の 172 行目に定義があります。

#define S8_MAC_J   "{j}" /* myhostname */

milter.h の 168 行目に定義があります。

#define S8_MAC_MAIL_ADDR   "{mail_addr}" /* sender address */

milter.h の 198 行目に定義があります。

#define S8_MAC_MAIL_HOST   "{mail_host}" /* sender nexthop */

milter.h の 197 行目に定義があります。

#define S8_MAC_MAIL_MAILER   "{mail_mailer}" /* sender transport */

milter.h の 196 行目に定義があります。

#define S8_MAC_RCPT_ADDR   "{rcpt_addr}" /* recip address */

milter.h の 202 行目に定義があります。

#define S8_MAC_RCPT_HOST   "{rcpt_host}" /* recip nexthop */

milter.h の 201 行目に定義があります。

#define S8_MAC_RCPT_MAILER   "{rcpt_mailer}" /* recip transport */

milter.h の 200 行目に定義があります。

#define S8_MAC_TLS_VERSION   "{tls_version}"

milter.h の 185 行目に定義があります。

#define S8_MAC_V   "{v}" /* mail_name + mail_version */

milter.h の 169 行目に定義があります。

#define S8_RCPT_MAILER_ERROR   "error" /* see MILTER_FLAG_WANT_RCPT_REJ */

milter.h の 204 行目に定義があります。

型定義詳解

typedef struct MILTER MILTER
typedef const char*(* MILTER_ADD_HEADER_FN) (void *, const char *, const char *, const char *)

milter.h の 96 行目に定義があります。

typedef const char*(* MILTER_DEL_HEADER_FN) (void *, ssize_t, const char *)

milter.h の 98 行目に定義があります。

typedef const char*(* MILTER_EDIT_BODY_FN) (void *, int, VSTRING *)

milter.h の 102 行目に定義があります。

typedef const char*(* MILTER_EDIT_FROM_FN) (void *, const char *, const char *)

milter.h の 99 行目に定義があります。

typedef const char*(* MILTER_EDIT_HEADER_FN) (void *, ssize_t, const char *, const char *, const char *)

milter.h の 97 行目に定義があります。

typedef const char*(* MILTER_EDIT_RCPT_FN) (void *, const char *)

milter.h の 100 行目に定義があります。

typedef const char*(* MILTER_EDIT_RCPT_PAR_FN) (void *, const char *, const char *)

milter.h の 101 行目に定義があります。

typedef const char*(* MILTER_MAC_LOOKUP_FN) (const char *, void *)

milter.h の 95 行目に定義があります。

typedef struct MILTER_MACROS MILTER_MACROS
typedef struct MILTERS MILTERS

関数詳解

MILTER* milter8_create ( const char *  ,
int  ,
int  ,
int  ,
const char *  ,
const char *  ,
struct MILTERS *   
)

milter8.c の 2876 行目に定義があります。

MILTER* milter8_receive ( VSTREAM *  ,
struct MILTERS *   
)

milter8.c の 2714 行目に定義があります。

void milter_abort ( MILTERS *  )

milter.c の 593 行目に定義があります。

const char* milter_conn_event ( MILTERS *  ,
const char *  ,
const char *  ,
const char *  ,
unsigned   
)

milter.c の 399 行目に定義があります。

const char* milter_data_event ( MILTERS *  )

milter.c の 504 行目に定義があります。

void milter_disc_event ( MILTERS *  )

milter.c の 605 行目に定義があります。

int milter_dummy ( MILTERS *  ,
VSTREAM *   
)

milter.c の 751 行目に定義があります。

milter.c の 373 行目に定義があります。

void milter_free ( MILTERS *  )

milter.c の 733 行目に定義があります。

const char* milter_helo_event ( MILTERS *  ,
const char *  ,
int   
)

milter.c の 433 行目に定義があります。

void milter_macro_callback ( MILTERS *  ,
MILTER_MAC_LOOKUP_FN  ,
void *   
)
struct HTABLE* milter_macro_defaults_create ( const char *  )

milter.c の 274 行目に定義があります。

MILTER_MACROS* milter_macros_alloc ( int  )

milter_macros.c の 234 行目に定義があります。

MILTER_MACROS* milter_macros_create ( const char *  ,
const char *  ,
const char *  ,
const char *  ,
const char *  ,
const char *  ,
const char *  ,
const char *   
)

milter_macros.c の 208 行目に定義があります。

void milter_macros_free ( MILTER_MACROS *  )

milter_macros.c の 270 行目に定義があります。

int milter_macros_print ( ATTR_PRINT_MASTER_FN  ,
VSTREAM *  ,
int  ,
void *   
)

milter_macros.c の 133 行目に定義があります。

int milter_macros_scan ( ATTR_SCAN_MASTER_FN  ,
VSTREAM *  ,
int  ,
void *   
)

milter_macros.c の 158 行目に定義があります。

const char* milter_mail_event ( MILTERS *  ,
const char **   
)

milter.c の 456 行目に定義があります。

const char* milter_message ( MILTERS *  ,
VSTREAM *  ,
off_t  ,
ARGV *   
)

milter.c の 562 行目に定義があります。

MILTERS* milter_new ( const char *  ,
int  ,
int  ,
int  ,
const char *  ,
const char *  ,
MILTER_MACROS *  ,
struct HTABLE *   
)

milter.c の 644 行目に定義があります。

const char* milter_other_event ( MILTERS *  )

milter.c の 548 行目に定義があります。

const char* milter_rcpt_event ( MILTERS *  ,
int  ,
const char **   
)

milter.c の 478 行目に定義があります。

MILTERS* milter_receive ( VSTREAM *  ,
int   
)

milter.c の 837 行目に定義があります。

int milter_send ( MILTERS *  ,
VSTREAM *   
)

milter.c の 761 行目に定義があります。

const char* milter_unknown_event ( MILTERS *  ,
const char *   
)

milter.c の 526 行目に定義があります。