246int main(
int argc,
char *
const *argv)
253 unsigned long calltime;
254 unsigned long seconds;
255 unsigned long nanoseconds;
256 unsigned int history = 305;
263 logmsg(
WHO,100,USAGE,
"qmail-mrtg [ -1 | -2 | -3 | -4 | -5 | -6 |\
264 -a | -b | -c | -d | -e | -f | -g | -h | -i | -j | -k | -z | -A | -B ] [time (min)] \n\
265 qmail-mrtg needs to be called every [time] minutes (i.e. by crontab) - default 305 secs");
267 flag = *(argv[1] + 1);
268 if (argc == 3) { scan_ulong(argv[2],&u); history = 60 * u + 5; }
277 if (!stralloc_0(&line))
_exit(1);
282 if (line.s[0] ==
'@') {
292 seconds += nanoseconds >> 28;
293 nanoseconds &= 0xfffffff;
297 seconds -= 4611686018427387914ULL;
298 seconds = seconds > 0 ? seconds : 0;
300 outs(
"Error: No TAI64N timestamp available.");
305 if (seconds <= calltime && seconds >= (calltime - history)) {
306 if (flag >=
'1' && flag <=
'9') mrtg_sendlog(line.s +
TAI64NLEN + 2,flag);
307 else if (flag >=
'a' && flag <=
'z') mrtg_smtplog(line.s +
TAI64NLEN + 2,flag);
308 else if (flag >=
'A' && flag <=
'Z') mrtg_pop3log(line.s +
TAI64NLEN + 2,flag);
314 outs(
"Warning: Not enough time left between calls");