Postfix3.3.1
マクロ定義 | 関数
postscreen_dict.c ファイル
#include <sys_defs.h>
#include <msg.h>
#include <dict.h>
#include <maps.h>
#include <postscreen.h>

[ソースコード]

マクロ定義

#define PSC_GET_TIME_BEFORE_LOOKUP
 
#define PSC_DELTA_MS(d)   ((d).dt_sec * 1000.0 + (d).dt_usec / 1000.0)
 
#define PSC_AVERAGE(new, old)   (0.1 * (new) + 0.9 * (old))
 
#define PSC_THRESHOLD_MS   100 /* nag if latency > 100ms */
 
#define PSC_WARN_LOCKOUT_S   60 /* don't nag for 60s */
 
#define PSC_CHECK_TIME_AFTER_LOOKUP(table, action, average)
 

関数

int psc_addr_match_list_match (ADDR_MATCH_LIST *addr_list, const char *addr_str)
 
const char * psc_cache_lookup (DICT_CACHE *cache, const char *key)
 
void psc_cache_update (DICT_CACHE *cache, const char *key, const char *value)
 
const char * psc_dict_get (DICT *dict, const char *key)
 
const char * psc_maps_find (MAPS *maps, const char *key, int flags)
 

マクロ定義詳解

#define PSC_AVERAGE (   new,
  old 
)    (0.1 * (new) + 0.9 * (old))

postscreen_dict.c87 行目に定義があります。

#define PSC_CHECK_TIME_AFTER_LOOKUP (   table,
  action,
  average 
)
値:
GETTIMEOFDAY(&_after); \
PSC_CALC_DELTA(_delta, _after, _before); \
_new_delta_ms = PSC_DELTA_MS(_delta); \
if ((average = PSC_AVERAGE(_new_delta_ms, average)) > PSC_THRESHOLD_MS \
&& psc_last_warn < _after.tv_sec - PSC_WARN_LOCKOUT_S) { \
msg_warn("%s: %s %s average delay is %.0f ms", \
myname, (table), (action), average); \
psc_last_warn = _after.tv_sec; \
} \
}
#define PSC_WARN_LOCKOUT_S
#define PSC_DELTA_MS(d)
#define PSC_AVERAGE(new, old)
#define PSC_THRESHOLD_MS
void msg_warn(const char *fmt,...)
Definition: msg.c:215
#define PSC_CALC_DELTA(x, y, z)
Definition: postscreen.h:301

postscreen_dict.c103 行目に定義があります。

#define PSC_DELTA_MS (   d)    ((d).dt_sec * 1000.0 + (d).dt_usec / 1000.0)

postscreen_dict.c85 行目に定義があります。

#define PSC_GET_TIME_BEFORE_LOOKUP
値:
{ \
struct timeval _before, _after; \
DELTA_TIME _delta; \
double _new_delta_ms; \
GETTIMEOFDAY(&_before);

postscreen_dict.c79 行目に定義があります。

#define PSC_THRESHOLD_MS   100 /* nag if latency > 100ms */

postscreen_dict.c90 行目に定義があります。

#define PSC_WARN_LOCKOUT_S   60 /* don't nag for 60s */

postscreen_dict.c94 行目に定義があります。

関数詳解

int psc_addr_match_list_match ( ADDR_MATCH_LIST addr_list,
const char *  addr_str 
)

postscreen_dict.c117 行目に定義があります。

const char* psc_cache_lookup ( DICT_CACHE cache,
const char *  key 
)

postscreen_dict.c132 行目に定義があります。

void psc_cache_update ( DICT_CACHE cache,
const char *  key,
const char *  value 
)

postscreen_dict.c146 行目に定義があります。

const char* psc_dict_get ( DICT dict,
const char *  key 
)

postscreen_dict.c158 行目に定義があります。

const char* psc_maps_find ( MAPS maps,
const char *  key,
int  flags 
)

postscreen_dict.c172 行目に定義があります。