Doxygen Source Code Documentation
Main Page Alphabetical List Data Structures File List Data Fields Globals Search
parseSchedule.c
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include <stdio.h>
00012
00013 int main(int argc, char **argv)
00014 {
00015 register int index;
00016 char input[256];
00017 long IOtimes[256];
00018 int machineNum;
00019 int frameStart, frameEnd;
00020 long timeStart, timeEnd;
00021 long minTime = 0x7fffffff;
00022 FILE *filePtr;
00023 long IOtime;
00024
00025 for ( index = 0; index < 256; index++ )
00026 IOtimes[index] = 0;
00027
00028 filePtr = fopen(argv[1], "r");
00029
00030 while ( fgets(input, 256, filePtr) != NULL )
00031 {
00032 sscanf(input, "SCHEDULE: MACHINE %d FRAMES %d-%d TIME %ld-%ld IOTIME %ld",
00033 &machineNum, &frameStart, &frameEnd, &timeStart, &timeEnd,
00034 &IOtime);
00035
00036 if ( timeStart < minTime )
00037 minTime = timeStart;
00038 }
00039
00040 fclose(filePtr);
00041
00042 filePtr = fopen(argv[1], "r");
00043
00044 while ( fgets(input, 256, filePtr) != NULL )
00045 {
00046 sscanf(input, "SCHEDULE: MACHINE %d FRAMES %d-%d TIME %ld-%ld IOTIME %ld",
00047 &machineNum, &frameStart, &frameEnd, &timeStart, &timeEnd,
00048 &IOtime);
00049
00050 fprintf(stdout, "SCHEDULE: MACHINE %2d FRAMES %2d-%2d TIME %3d-%3d IOTIME %2d F/T/I %2d/%2d/%2d\n",
00051 machineNum, frameStart, frameEnd,
00052 timeStart-minTime, timeEnd-minTime,
00053 IOtime-IOtimes[machineNum],
00054 frameEnd-frameStart+1,
00055 timeEnd-timeStart,
00056 IOtime-IOtimes[machineNum]);
00057
00058 IOtimes[machineNum] = IOtime;
00059 }
00060
00061 fclose(filePtr);
00062
00063 return 0;
00064 }