1*22724Sdist /*
2*22724Sdist **  Sendmail
3*22724Sdist **  Copyright (c) 1983  Eric P. Allman
4*22724Sdist **  Berkeley, California
5*22724Sdist **
6*22724Sdist **  Copyright (c) 1983 Regents of the University of California.
7*22724Sdist **  All rights reserved.  The Berkeley software License Agreement
8*22724Sdist **  specifies the terms and conditions for redistribution.
9*22724Sdist */
10*22724Sdist 
11*22724Sdist #ifndef lint
12*22724Sdist char copyright[] =
13*22724Sdist "@(#) Copyright (c) 1980 Regents of the University of California.\n\
14*22724Sdist  All rights reserved.\n";
15*22724Sdist #endif not lint
16*22724Sdist 
17*22724Sdist #ifndef lint
18*22724Sdist static char	SccsId[] = "@(#)mailstats.c	5.1 (Berkeley) 06/07/85";
19*22724Sdist #endif not lint
204379Seric # include "sendmail.h"
214379Seric 
22*22724Sdist SCCSID(@(#)mailstats.c	5.1		06/07/85);
234379Seric 
244379Seric /*
254379Seric **  MAILSTATS -- print mail statistics.
264379Seric **
274379Seric **	Flags:
284379Seric **		-Ffile		Name of statistics file.
294379Seric **
304379Seric **	Exit Status:
314379Seric **		zero.
324379Seric */
334379Seric 
344379Seric main(argc, argv)
354379Seric 	char  **argv;
364379Seric {
374379Seric 	register int fd;
384379Seric 	struct statistics stat;
394780Seric 	char *sfile = "/usr/lib/sendmail.st";
404379Seric 	register int i;
414380Seric 	extern char *ctime();
424379Seric 
434379Seric 	fd = open(sfile, 0);
444379Seric 	if (fd < 0)
454379Seric 	{
464379Seric 		perror(sfile);
474379Seric 		exit(EX_NOINPUT);
484379Seric 	}
494379Seric 	if (read(fd, &stat, sizeof stat) != sizeof stat ||
504379Seric 	    stat.stat_size != sizeof stat)
514379Seric 	{
525199Seric 		(void) sprintf(stderr, "File size change\n");
534379Seric 		exit(EX_OSERR);
544379Seric 	}
554379Seric 
564380Seric 	printf("Statistics from %s", ctime(&stat.stat_itime));
574379Seric 	printf(" M msgsfr bytes_from  msgsto   bytes_to\n");
584379Seric 	for (i = 0; i < MAXMAILERS; i++)
594379Seric 	{
604379Seric 		if (stat.stat_nf[i] == 0 && stat.stat_nt[i] == 0)
614379Seric 			continue;
624379Seric 		printf("%2d ", i);
636276Seric 		printf("%6ld %10ldK ", stat.stat_nf[i], stat.stat_bf[i]);
646276Seric 		printf("%6ld %10ldK\n", stat.stat_nt[i], stat.stat_bt[i]);
654379Seric 	}
664379Seric }
67