;/*
SC OPTIMIZE MODIFIED DATA=NEAR STRMERGE NOSTKCHK PARMS=REG ERROR=100 IGNORE=73 ShowStat.c
SLink from LIB:CRes.o ShowStat.o to Reccoon:C/ShowStat LIB LIB:Sc.lib SC SD ND
Quit
*/

#include <exec/types.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#include <proto/exec.h>
#include <proto/dos.h>

#include <Reccoon/Shared.h>
#define RLIB_MACRO
#include <Reccoon/Recclib.h>

#define puts(x) Write(Output(),x,sizeof(x))
#define putss(x) Write(Output(),x,strlen(x))

extern struct DosLibrary *DOSBase;

unsigned char		*Program_ID 	= "\0$VER: ShowStat 0.40 (24.12.92)\n\r\0\0";

struct CtrlMessage 	ctrlmsg;
struct fig *		fig		= 0;
struct control *	ctrl		= 0;
struct MsgPort *	ctrlport	= 0;
struct MsgPort *	ctrlreplyport	= 0;
struct Library *	RecclibBase	= 0;

int Sluta( int );
int CXBRK(void);

void main(UWORD argc, UBYTE *argv[])
{

	RecclibBase=OpenLibrary("reccoon.library",0);
	if(!RecclibBase){
		puts("Couldn't open Reccoon.library\n");
		exit(20);
	}

	ctrl=OpenRCtrl(0,65535,&ctrlmsg,&ctrlport,&ctrlreplyport);
	if(!ctrl){
		puts("Couldn't access ReccControl!\nYou must have it running to use this program.\n");
		CloseLibrary(RecclibBase);
		exit(10);
	}

	fig=ctrl->fig;

	onexit((void *)Sluta); 

	printf(" General Rcn-Statistic\n=======================\n\n");
	printf("Last on    : %s\n",ctrl->rcndata->laston);
	printf("Calls      : %d\n",ctrl->rcndata->calls);
	printf("Logons     : %d\n",ctrl->rcndata->logons);
	printf("Bytes UL   : %d kb\n",ctrl->rcndata->byteul);
	printf("Bytes DL   : %d kb\n",ctrl->rcndata->bytedl);
	printf("Files UL   : %d\n",ctrl->rcndata->fileul);
	printf("Files DL   : %d\n",ctrl->rcndata->filedl);
	printf("Messages   : %d\n",ctrl->rcndata->msgs);

	printf("\n");


	exit(0);

}

int Sluta(int e) /* Sluta is swedish for Quit */
{


	if(RecclibBase){
		CloseRCtrl(ctrlport,ctrlreplyport,&ctrlmsg);
		CloseLibrary(RecclibBase);
		RecclibBase=0;
	}
	return(e);
}

/* Keep if you want to disable ctrl-c checking */

int CXBRK(void) { return(0); }
