flight_recorder.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:3k
源码类别:
Linux/Unix编程
开发平台:
Unix_Linux
- /************************************************************************
- * flight_recorder.h *
- ************************************************************************
- * This code supports the a generic flight recorder. *
- * Copyright (C) 20yy <Allan H Trautman> <IBM Corp> *
- * *
- * 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 *
- ************************************************************************
- * See the fight_recorder.c file for useage deails. *
- ************************************************************************/
- #include <linux/kernel.h>
- /************************************************************************
- * Generic Flight Recorder Structure *
- ************************************************************************/
- struct flightRecorder { /* Structure Defination */
- char Signature[8]; /* Eye Catcher */
- int Size; /* Size of Flight Recorder */
- int Flags; /* Format Flags. */
- char* StartPointer; /* Buffer Starting Address */
- char* EndPointer; /* Buffer Ending Address */
- char* NextPointer; /* Next Entry Address */
- char* WrapPointer; /* Point at which buffer wraps */
- char* Buffer; /* Where the data log is. */
- };
- typedef struct flightRecorder FlightRecorder;
- /************************************************************************
- * Forware declares
- ************************************************************************/
- FlightRecorder* alloc_Flight_Recorder(FlightRecorder* FrPtr, char* Signature, int SizeOfFr);
- void fr_Log_Entry(FlightRecorder* LogFr, const char *fmt, ...);
- int fr_Dump(FlightRecorder* Fr, char *Buffer, int BufferLen);
- /************************************************************************
- * Sample Macro to make life easier using the flight_recorder.
- * TestFr is a global value.
- * To use them: TESTFR("Test Loop value is &d",Loop");
- ************************************************************************/
- #define LOGFR(...) (fr_Log_Entry(__VA_ARGS__))