1fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 2fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* 3fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Copyright (C) Texas Instruments - http://www.ti.com/ 4fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 5fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * This library is free software; you can redistribute it and/or 6fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * modify it under the terms of the GNU Lesser General Public 7fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * License as published by the Free Software Foundation; either 8fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * version 2.1 of the License, or (at your option) any later version. 9fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 10fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 11fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * This library is distributed in the hope that it will be useful, 12fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * but WITHOUT ANY WARRANTY; without even the implied warranty of 13fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Lesser General Public License for more details. 15fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 16fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 17fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * You should have received a copy of the GNU Lesser General Public 18fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * License along with this library; if not, write to the Free Software 19fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 21fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef __PERF_PRINT_H 22fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define __PERF_PRINT_H 23fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 24fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include "stdio.h" 25fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include "perf_obj.h" 26fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* ============================================================================ 27fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin DEBUG STRUCTURES 28fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin============================================================================ */ 29fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct PERF_PRINT_Private 30fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 31fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin char *info; /* PERF instance information text */ 32fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin char *prompt; /* PERF prompt */ 33fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin FILE *fDebug; /* file to event debugs */ 34fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin FILE *fPrint; /* file to event prints (Buffer) */ 35fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* NOTE: fPrint == fDebug or fPrint == NULL */ 36fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin int csv; /* CSV format */ 37fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_LOG_LOCATION__ 38fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /* location information to be printed */ 39fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin const char *szFile; 40fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin const char *szFunc; 41fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulLine; 42fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 43fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} PERF_PRINT_Private; 44fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 45fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 46fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinPERF_PRINT_done(PERF_Private *perf); 47fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 48fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinPERF_PRINT_Private * 49fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz ZavinPERF_PRINT_create(PERF_Private *perf, PERF_Config *config, 50fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_MODULETYPE eModule); 51fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 52fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 53fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin__print_Boundary(FILE *fOut, 54fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_Private *perf,PERF_BOUNDARYTYPE eBoundary); 55fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 56fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 57fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin__print_Buffer(FILE *fOut, 58fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_Private *perf,unsigned long ulAddress1, 59fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulAddress2, 60fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulSize, 61fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_MODULETYPE eModule); 62fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 63fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 64fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin__print_Command(FILE *fOut, 65fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_Private *perf, 66fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulCommand, 67fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulArgument, 68fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_MODULETYPE eModule); 69fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 70fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 71fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin__print_Create(FILE *fOut, 72fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_Private *perf); 73fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 74fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 75fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin__print_Done(FILE *fOut, 76fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_Private *perf); 77fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 78fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 79fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin__print_Log(FILE *fOut, 80fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_Private *perf, 81fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulData1, unsigned long ulData2, 82fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulData3); 83fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 84fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 85fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin__print_SyncAV(FILE *fOut, 86fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_Private *perf, 87fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin float pfTimeAudio, 88fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin float pfTimeVideo, 89fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_SYNCOPTYPE eSyncOperation); 90fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 91fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 92fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin__print_ThreadCreated(FILE *fOut, 93fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin PERF_Private *perf, 94fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulThreadID, 95fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulThreadName); 96fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 97fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __PERF_LOG_LOCATION__ 98fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinvoid 99fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin__print_Location(PERF_Private *perf, 100fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin char const *szFile, 101fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin unsigned long ulLine, 102fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin char const *szFunc); 103fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 104fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 105fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 106fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 107