Measure User's Guide
Example of Measurement Application in C
Measure User’s Guide—520560-003
D-2
 char DataFName[] = "MDATA";
 char ExtDataFName[40];
 short IntDataFName[12],DataFNum,Error,MeasNum,ActMeasNum;
 short cpus,BytesRead;
 long long StartTime,StopTime,Interval,FCall;
 short i, Len;
 long Entities[MAX_T], CounterSpace[MAX_T];
 printf("Initializing contab header record...\n");
 CPURec.Header.type = CONTAB_T;
 CPURec.Header.len = sizeof(CPURec);
 for (i = 0; i <= MAX_T; ++i)
 CPURec.Header.u_sections.sections[i] = 0;
 CPURec.Header.u_sections.sections[CPU_T] =
 sizeof(CPURec.Header);
 printf("Initializing CPU record...\n");
 CPURec.EDesc.type = CPU_T;
 CPURec.EDesc.len = sizeof(CPURec.EDesc);
 CPURec.EDesc.cpu_number = ALL_ELEMENTS;
 printf("Initialize the Trailer record\n");
 CPURec.Trailer.type = CONTAB_TRAILER_T;
 CPURec.Trailer.len = sizeof(CPURec.Trailer);
 /* Initialize the MEASCB */
 memset(&MeasCB,-1,sizeof(MeasCB));
 printf("Starting Measure subsystem...\n");
 Error = MEASMONCONTROL((short *)&MeasCB,TRUE);
 if (Error != 0 && Error != 3217)
 {
 printf("MEASMONCONTROL ERROR %d\n",Error);
 }
 memset(ExtDataFName, 0, sizeof(ExtDataFName));
 printf("Creating data file using MEASOPEN...\n");
 Error = FILENAME_RESOLVE_(DataFName, 5, ExtDataFName,
 sizeof(ExtDataFName),
 &Len);
 if (Error != 0)
 {
 printf("FILENAME_RESOLVE_ Error for %s\n",DataFName);
 }
 Error = FILENAME_TO_OLDFILENAME_(ExtDataFName, Len,
 IntDataFName);
 if (Error != 0)
 {
 printf("FILENAME_RESOLVE_ Error for %s\n",DataFName);
 }
 Error = MEASOPEN(IntDataFName,&DataFNum,TRUE,TRUE);
Example D-1. Measurement Application in C (page2of4)










