Postfix3.3.1
マクロ定義 | 関数
milter.c ファイル
#include <sys_defs.h>
#include <msg.h>
#include <mymalloc.h>
#include <stringops.h>
#include <argv.h>
#include <attr.h>
#include <htable.h>
#include <mail_proto.h>
#include <record.h>
#include <rec_type.h>
#include <mail_params.h>
#include <attr_override.h>
#include <milter.h>

[ソースコード]

マクロ定義

#define STR(x)   vstring_str(x)
 
#define MILTER_MACRO_EVAL(global_macros, m, milters, member)
 
#define link_override_table_to_variable(table, var)   do { table[var##_offset].target = &var; } while (0)
 
#define my_conn_timeout_offset   0
 
#define my_cmd_timeout_offset   1
 
#define my_msg_timeout_offset   2
 
#define my_protocol_offset   0
 
#define my_def_action_offset   1
 
#define NO_MILTERS   ((char *) 0)
 
#define NO_TIMEOUTS   0, 0, 0
 
#define NO_PROTOCOL   ((char *) 0)
 
#define NO_ACTION   ((char *) 0)
 
#define NO_MACROS   ((MILTER_MACROS *) 0)
 
#define NO_MACRO_DEFLTS   ((HTABLE *) 0)
 

関数

HTABLEmilter_macro_defaults_create (const char *macro_defaults)
 
void milter_macro_callback (MILTERS *milters, const char *(*mac_lookup)(const char *, void *), void *mac_context)
 
void milter_edit_callback (MILTERS *milters, MILTER_ADD_HEADER_FN add_header, MILTER_EDIT_HEADER_FN upd_header, MILTER_EDIT_HEADER_FN ins_header, MILTER_DEL_HEADER_FN del_header, MILTER_EDIT_FROM_FN chg_from, MILTER_EDIT_RCPT_FN add_rcpt, MILTER_EDIT_RCPT_PAR_FN add_rcpt_par, MILTER_EDIT_RCPT_FN del_rcpt, MILTER_EDIT_BODY_FN repl_body, void *chg_context)
 
const char * milter_conn_event (MILTERS *milters, const char *client_name, const char *client_addr, const char *client_port, unsigned addr_family)
 
const char * milter_helo_event (MILTERS *milters, const char *helo_name, int esmtp_flag)
 
const char * milter_mail_event (MILTERS *milters, const char **argv)
 
const char * milter_rcpt_event (MILTERS *milters, int flags, const char **argv)
 
const char * milter_data_event (MILTERS *milters)
 
const char * milter_unknown_event (MILTERS *milters, const char *command)
 
const char * milter_other_event (MILTERS *milters)
 
const char * milter_message (MILTERS *milters, VSTREAM *fp, off_t data_offset, ARGV *auto_hdrs)
 
void milter_abort (MILTERS *milters)
 
void milter_disc_event (MILTERS *milters)
 
MILTERSmilter_new (const char *names, int conn_timeout, int cmd_timeout, int msg_timeout, const char *protocol, const char *def_action, MILTER_MACROS *macros, HTABLE *macro_defaults)
 
void milter_free (MILTERS *milters)
 
int milter_dummy (MILTERS *milters, VSTREAM *stream)
 
int milter_send (MILTERS *milters, VSTREAM *stream)
 
MILTERSmilter_receive (VSTREAM *stream, int count)
 

マクロ定義詳解

#define link_override_table_to_variable (   table,
  var 
)    do { table[var##_offset].target = &var; } while (0)

milter.c632 行目に定義があります。

#define MILTER_MACRO_EVAL (   global_macros,
  m,
  milters,
  member 
)
値:
((m->macros && m->macros->member[0]) ? \
milter_macro_lookup(milters, m->macros->member) : \
global_macros ? global_macros : \
(global_macros = \
milter_macro_lookup(milters, milters->macros->member)))
#define my_cmd_timeout_offset   1

milter.c636 行目に定義があります。

#define my_conn_timeout_offset   0

milter.c635 行目に定義があります。

#define my_def_action_offset   1

milter.c640 行目に定義があります。

#define my_msg_timeout_offset   2

milter.c637 行目に定義があります。

#define my_protocol_offset   0

milter.c639 行目に定義があります。

#define NO_ACTION   ((char *) 0)
#define NO_MACRO_DEFLTS   ((HTABLE *) 0)
#define NO_MACROS   ((MILTER_MACROS *) 0)
#define NO_MILTERS   ((char *) 0)
#define NO_PROTOCOL   ((char *) 0)
#define NO_TIMEOUTS   0, 0, 0
#define STR (   x)    vstring_str(x)

milter.c270 行目に定義があります。

関数詳解

void milter_abort ( MILTERS milters)

milter.c593 行目に定義があります。

const char* milter_conn_event ( MILTERS milters,
const char *  client_name,
const char *  client_addr,
const char *  client_port,
unsigned  addr_family 
)

milter.c399 行目に定義があります。

const char* milter_data_event ( MILTERS milters)

milter.c504 行目に定義があります。

void milter_disc_event ( MILTERS milters)

milter.c605 行目に定義があります。

int milter_dummy ( MILTERS milters,
VSTREAM stream 
)

milter.c751 行目に定義があります。

void milter_edit_callback ( MILTERS milters,
MILTER_ADD_HEADER_FN  add_header,
MILTER_EDIT_HEADER_FN  upd_header,
MILTER_EDIT_HEADER_FN  ins_header,
MILTER_DEL_HEADER_FN  del_header,
MILTER_EDIT_FROM_FN  chg_from,
MILTER_EDIT_RCPT_FN  add_rcpt,
MILTER_EDIT_RCPT_PAR_FN  add_rcpt_par,
MILTER_EDIT_RCPT_FN  del_rcpt,
MILTER_EDIT_BODY_FN  repl_body,
void *  chg_context 
)

milter.c373 行目に定義があります。

void milter_free ( MILTERS milters)

milter.c733 行目に定義があります。

const char* milter_helo_event ( MILTERS milters,
const char *  helo_name,
int  esmtp_flag 
)

milter.c433 行目に定義があります。

void milter_macro_callback ( MILTERS milters,
const char *(*)(const char *, void *)  mac_lookup,
void *  mac_context 
)

milter.c363 行目に定義があります。

HTABLE* milter_macro_defaults_create ( const char *  macro_defaults)

milter.c274 行目に定義があります。

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

milter.c456 行目に定義があります。

const char* milter_message ( MILTERS milters,
VSTREAM fp,
off_t  data_offset,
ARGV auto_hdrs 
)

milter.c562 行目に定義があります。

MILTERS* milter_new ( const char *  names,
int  conn_timeout,
int  cmd_timeout,
int  msg_timeout,
const char *  protocol,
const char *  def_action,
MILTER_MACROS macros,
HTABLE macro_defaults 
)

milter.c644 行目に定義があります。

const char* milter_other_event ( MILTERS milters)

milter.c548 行目に定義があります。

const char* milter_rcpt_event ( MILTERS milters,
int  flags,
const char **  argv 
)

milter.c478 行目に定義があります。

MILTERS* milter_receive ( VSTREAM stream,
int  count 
)

milter.c837 行目に定義があります。

int milter_send ( MILTERS milters,
VSTREAM stream 
)

milter.c761 行目に定義があります。

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

milter.c526 行目に定義があります。