URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [ecos-2.0/] [tools/] [src/] [tools/] [ecostest/] [common/] [eCosTestMonitorFilter.h] - Rev 1765
Compare with Previous | Blame | View Log
//####COPYRIGHTBEGIN#### // // ---------------------------------------------------------------------------- // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. // // This program is part of the eCos host tools. // // This program is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or (at your option) // any later version. // // This program is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // // You should have received a copy of the GNU General Public License along with // this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- // //####COPYRIGHTEND#### //================================================================= // // eCosTestMonitorFilter.h // // Simple filter for monitoring data flowing through the client // //================================================================= //================================================================= //#####DESCRIPTIONBEGIN#### // // Author(s): jskov // Contributors: jskov // Date: 2000-03-16 //####DESCRIPTIONEND#### #ifndef _CECOSMONITORFILTER_H #define _CECOSMONITORFILTER_H #include "eCosStd.h" #include "eCosTest.h" #include "eCosSocket.h" #include "eCosSerial.h" //---------------------------------------------------------------------------- // The filter class class CeCosTestMonitorFilter; class CeCosTestMonitorFilter { public: enum data_origin_t {MF_TARGET=0, MF_HOST} ; // Constructor CeCosTestMonitorFilter(); ~CeCosTestMonitorFilter(); // Configuration methods void SetVerbose(bool bVerbose) { m_bOptVerbose = bVerbose; } void SetOrigin(data_origin_t eOrigin) { m_eOrigin = eOrigin; } bool FilterFunctionProper(void*& pBuf, unsigned int& nRead); private: // Output methods void ConsoleWrite(const char* pszStr); void Trace(const char* pszFormat, ...); void PrintHex(const unsigned char* d1, int len, data_origin_t origin=MF_TARGET); // Options used for configuring behavior. bool m_bOptVerbose; data_origin_t m_eOrigin; }; extern bool CALLBACK SerialMonitorFunction(void*& pBuf, unsigned int& nRead, CeCosSerial& serial, CeCosSocket& socket, void* pParem); #endif // _CECOSMONITORFILTER_H