ze-filter  (ze-filter-0.8.0-develop-180218)
ze-stats.h
Go to the documentation of this file.
1 /*
2  *
3  * ze-filter - Mail Server Filter for sendmail
4  *
5  * Copyright (c) 2001-2018 - Jose-Marcio Martins da Cruz
6  *
7  * Auteur : Jose Marcio Martins da Cruz
8  * jose.marcio.mc@gmail.org
9  *
10  * Historique :
11  * Creation : janvier 2002
12  *
13  * This program is free software, but with restricted license :
14  *
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19  *
20  * More details about ze-filter license can be found at ze-filter
21  * web site : http://foss.jose-marcio.org
22  */
23 
24 #ifndef __ZE_STATS_H
25 
26 #define STAT_RESTART 0
27 #define STAT_BYTES 1
28 #define STAT_MSGS 2
29 #define STAT_CONNECT 3
30 #define STAT_ABORT 4
31 #define STAT_CLOSE 5
32 #define STAT_ENVTO 6
33 #define STAT_FILES 7
34 #define STAT_XFILES 8
35 #define STAT_VIRUS 9
36 #define STAT_LUSERS 10
37 
38 #define STAT_NO_TO_HEADERS 12
39 #define STAT_NO_FROM_HEADERS 13
40 
41 #define STAT_RESOLVE_FAIL 14
42 #define STAT_RESOLVE_FORGED 15
43 #define STAT_MAX_RCPT 16
44 #define STAT_CONN_RATE 17
45 #define STAT_RCPT_RATE 18
46 #define STAT_MAX_MSGS 19
47 
48 #define STAT_NO_HEADERS 20
49 
50 #define STAT_PATTERN_MATCHING 21
51 #define STAT_SUBJECT_CONTENTS 22
52 #define STAT_HEADERS_CONTENTS 23
53 #define STAT_HELO_CONTENTS 24
54 #define STAT_FROM_CONTENTS 25
55 #define STAT_ORACLE 26
56 #define STAT_URLBL 27
57 
58 #define STAT_POLICY 30
59 
60 #define STAT_BINARY 31
61 #define STAT_BASE64 32
62 #define STAT_QUOTED_PRINTABLE 33
63 
64 #define STAT_BAYES_SPAM 36
65 #define STAT_BAYES_HAM 37
66 #define STAT_BAYES_DUB 38
67 
68 #define STAT_SINGLE_MESSAGE 40
69 #define STAT_MSG_RATE 41
70 
71 #define STAT_OPEN_CONN 42
72 #define STAT_EMPTY_CONN 43
73 
74 #define STAT_BAD_RCPT 44
75 #if 0
76 #define STAT_SPAMTRAP 45
77 #endif
78 #define STAT_BADMX 46
79 #define STAT_GREY_RCPT 47
80 #define STAT_GREY_MSGS 48
81 
82 #define STAT_RCPT_TEMPFAIL 50
83 #define STAT_RCPT_REJECT 51
84 #define STAT_RCPT_ACCESS 52
85 #define STAT_RCPT_BAD_NETWORK 53
86 #define STAT_RCPT_UNKNOWN 54
87 #define STAT_RCPT_SPAMTRAP 55
88 
89 #define STAT_XX 100
90 
91 #define DIM_STATS 128
92 
93 
94 
95 typedef struct p_stats_T
96 {
97  pid_t pid;
98  time_t start;
99 #if 0
100  int64_t value[DIM_STATS];
101 #else
102  long value[DIM_STATS];
103 #endif
104 } p_stats_T;
105 
106 typedef struct j_stats_T
107 {
108  long signature;
109  long vers;
110  char version[128];
111  time_t last_save;
114 } j_stats_T;
115 
116 
117 void log_counters(int, bool);
118 
119 void stats_inc(int, long);
120 
121 void stats_reset();
122 
123 void init_proc_state();
124 
125 void save_state();
126 
127 void read_state();
128 
129 void reset_state();
130 
131 int print_state();
132 
133 char *stats_title(int);
134 
135 
136 void print_p_stats_all(int, p_stats_T *, char *, p_stats_T *, char *,
137  int, bool);
138 void print_p_stats(int, p_stats_T *, char *, int, int);
139 int dump_state(int, int, int, int, int);
140 
141 void print_filter_stats_summary(void);
142 
144 void msg_score_stats_print(int, int);
145 
146 #define __ZE_STATS_H
147 #endif
p_stats_T glob
Definition: ze-stats.h:112
struct j_stats_T j_stats_T
void stats_inc(int, long)
Definition: ze-stats.c:401
void print_p_stats_all(int, p_stats_T *, char *, p_stats_T *, char *, int, bool)
Definition: ze-stats.c:878
time_t last_save
Definition: ze-stats.h:111
void print_filter_stats_summary(void)
Definition: ze-stats.c:1146
int dump_state(int, int, int, int, int)
pid_t pid
Definition: ze-stats.h:97
time_t start
Definition: ze-stats.h:98
void log_counters(int, bool)
Definition: ze-stats.c:330
void save_state()
Definition: ze-stats.c:430
void init_proc_state()
Definition: ze-stats.c:502
long vers
Definition: ze-stats.h:109
void stats_reset()
Definition: ze-stats.c:381
void msg_score_stats_update(msg_scores_T *scores)
Definition: ze-stats.c:52
#define DIM_STATS
Definition: ze-stats.h:91
long signature
Definition: ze-stats.h:108
void reset_state()
Definition: ze-stats.c:528
struct p_stats_T p_stats_T
char * stats_title(int)
Definition: ze-stats.c:782
void read_state()
Definition: ze-stats.c:467
void print_p_stats(int, p_stats_T *, char *, int, int)
Definition: ze-stats.c:807
p_stats_T proc
Definition: ze-stats.h:113
void msg_score_stats_print(int, int)
Definition: ze-stats.c:118
long value[DIM_STATS]
Definition: ze-stats.h:102
int print_state()