#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cores.h"
#include "processes.h"
#include "cpuinfo.h"
#include "frequency.h"
//#define SIZE 1000

//void pause( void );

main() {
	int user, nice, system, idle, iowait, irq, softirq, totalcycles;
	char *cpu = "cpu";
	int cpufrequency = frequency(cpu);
	//int netfrequency = frequency(net);
	//int memfrequency = frequency(mem);
	cpufrequency = atoi(cpufrequency);	
	printf( "CPU POLLING FREQ: %d\n", cpufrequency );
	int cores = coresdetected();
	printf( "NUMBER OF CORES: %d\n", cores );

	double cpuarray1[2][cores][7] = cpuinfo(cores, cpufrequency);

        user = user2 - user1;
        nice = nice2 - nice1;
        system = system2 - system1;
        idle = idle2 - idle1;
        iowait = iowait2 - iowait1;
        irq = irq2 - irq1;
        softirq = softirq2 - softirq1;
        totalcycles = user + nice + system + idle + iowait + irq + softirq;
        //te1 = (te0 / cpufrequency) * 60;
        user = (user / totalcycles) * 100;
        nice = (nice / totalcycles) * 100;
        system = (system / totalcycles) * 100;
        idle =  (idle / totalcycles) * 100;   
        iowait = (iowait / totalcycles) * 100;
        irq = (irq / totalcycles) * 100;
        softirq = (softirq / totalcycles) * 100;



	printf(": %lf\n", cpuarray1[2][cores][7]); 
	int processes2 = processes();
	printf( "NUMBER OF PROCS: %d\n", processes2 );






/*	FILE* fp;
	int count, line, coresdetected, counter, counter2 = 0;
	char buf[SIZE];
	//char line[SIZE];
	//char character[SIZE];
	char *processes;
	//processes = (char *)calloc(strlen(buf), sizeof(char));

	int num_lines = 0;
	if( ( fp = fopen( "/proc/stat", "r" ) ) == NULL ) {
		fprintf( stderr, "Error opening file.\n" );
		exit( 1 );
	}

//###########determine numer of lines
        while( fgets(buf, sizeof(buf), fp) != NULL)
        {
                //for (count = 0; count < 4; count++)
                //{
			if (buf[count] == 'c'){
				if (buf[count+1] == 'p'){
					if (buf[count+2] == 'u'){
						if (buf[count+3] == '0' || buf[count+3] == '1' || buf[count+3] == '2' || buf[count+3] == '3' || buf[count+3] == '4' || buf[count+3] == '5' || buf[count+3] == '6' || buf[count+3] == '7' || buf[count+3] == '8' || buf[count+3] == '9'){
							coresdetected++;
			}
				}
					}
						}
		

			
		//} 
                //        if(character == '\n'){
			

		//	 printf( "%s\n", buf );
                //                num_lines++;

                //        }
                //}

		//printf( "NUMBER OF LINES: %d\n", num_lines );
	}
	//printf( "NUMBER OF LINES: %d\n", num_lines );
	printf( "NUMBER OF CORES: %d\n", cores );

//############see if you can determine number of characters per line
//	char sofar = "";
//	for (count = 0; count < sizeof(buf); count++)
//	{
//		for (line = 1; line <= num_lines; line++)
//        	{		
//			character = buf[count];
//			while (buf[count] != '\n')
//			strcat(sofar,character);
//		}
//	}
//
//	printf( "%c\n", sofar );




//##########combine characters for each line into a character constant and print

	








//	while( fgets(buf, sizeof(buf), fp) != NULL)
//	{
//		for (count = 0; count < sizeof(buf); count++)
//		{
//			character = buf[count];
//			if(character == '\n'){
//                	       	num_lines++;
  //              	}
//		}
//	
//		//while( line != 0 && line % 55 != 0 )
//		for (line = 0; line < num_lines; line++)
//		{ 
//			while(buf != EOF)
//			printf( "%c\n", buf[line] );	
//		}
//
//	}
	fclose( fp );
//	printf( "%d\n", num_lines );
//	for (count = 0; count != EOF ; count++){
//		while(buf[count] != '\n')
//			printf( "%c\n", buf[count] );
//
//	}
//	for( count = 0; count != EOF; count++, line++ ) {
//		while( line != '\n' )
//		printf( "%c\n", buf[line] );
//	}
//	for( count = 0; count != EOF; count++, line++ ) {
//		while( line % 55 != 0 )
//		printf( "%c\n", buf[count] );
//	}


*/

	return 0;
}

//void pause( void ) {
//	char input[5];
//	printf( "Press return when ready..." );
//	gets( input );
//}

tenminute() {
	oneminute()
}

oneminute() {
	int count;
	int poll = 60 / frequency; 
	for (count = 1; count <= poll; count++)
	{




	}
	
}
