[<prev] [next>] [day] [month] [year] [list]
Message-Id: <200808290547.m7T5lfER016130@wolfmountaingroup.com>
Date: Thu, 28 Aug 2008 23:47:41 -0600
From: jmerkey@...fmountaingroup.com
To: linux-kernel@...r.kernel.org
Subject: [PATCH 2.6.27-rc5 15/29] mdb: add mdb-list.h debugger parser function includes
add mdb-list.h debugger parser function includes
Signed-off-by: Jeffrey Vernon Merkey (jmerkey@...fmountaingroup.com)
--- a/debug/mdb/mdb-list.h 1969-12-31 17:00:00.000000000 -0700
+++ b/debug/mdb/mdb-list.h 2008-08-28 22:01:15.000000000 -0600
@@ -0,0 +1,102 @@
+
+/***************************************************************************
+*
+* Copyright (c) 2008 Jeff V. Merkey All Rights Reserved.
+* 1058 East 50 South
+* Lindon, Utah 84042
+* jmerkey@...fmountaingroup.com
+*
+* 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, version 2.
+*
+* 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 are free to modify and re-distribute this program in accordance
+* with the terms specified in the GNU Public License. The copyright
+* contained in this code is required to be present in any derivative
+* works and you are required to provide the source code for this
+* program as part of any commercial or non-commercial distribution.
+* You are required to respect the rights of the Copyright holders
+* named within this code.
+*
+* jmerkey@...fmountaingroup.com is the official maintainer of
+* this code. You are encouraged to report any bugs, problems, fixes,
+* suggestions, and comments about this software.
+*
+* AUTHOR : Jeff V. Merkey
+* DESCRIP : Merkey's Linux Debugger
+*
+***************************************************************************/
+
+#ifndef _MDB_LIST
+#define _MDB_LIST
+
+typedef struct _ACCELERATOR
+{
+ struct _ACCELERATOR *accelNext;
+ struct _ACCELERATOR *accelPrior;
+ unsigned long (*accelRoutine)(unsigned long key, void *p, struct _ACCELERATOR *parser);
+ unsigned long (*accelRoutineHelp)(unsigned long key, struct _ACCELERATOR *parser);
+ unsigned long accelFlags;
+ unsigned long key;
+ unsigned long supervisorCommand;
+ unsigned char *shortHelp;
+} ACCELERATOR;
+
+typedef struct _ALT_DEBUGGER
+{
+ struct _ALT_DEBUGGER *altDebugNext;
+ struct _ALT_DEBUGGER *altDebugPrior;
+ int (*AlternateDebugger)(int reason, int error, void *frame);
+} ALT_DEBUGGER;
+
+extern int AlternateDebuggerRoutine(int reason, int error, void *frame);
+extern unsigned long AddAlternateDebugger(ALT_DEBUGGER *Debugger);
+extern unsigned long RemoveAlternateDebugger(ALT_DEBUGGER *Debugger);
+
+typedef struct _DEBUGGER_PARSER {
+ struct _DEBUGGER_PARSER *debugNext;
+ struct _DEBUGGER_PARSER *debugPrior;
+ unsigned long (*DebugCommandParser)(unsigned char *commandLine,
+ StackFrame *stackFrame, unsigned long Exception,
+ struct _DEBUGGER_PARSER *parser);
+ unsigned long (*DebugCommandParserHelp)(unsigned char *commandLine,
+ struct _DEBUGGER_PARSER *parser);
+ unsigned long parserFlags;
+ unsigned char *debugCommandName;
+ unsigned long debugCommandNameLength;
+ unsigned long supervisorCommand;
+ unsigned char *shortHelp;
+ unsigned long controlTransfer;
+} DEBUGGER_PARSER;
+
+typedef struct _DEBUGGER_LIST
+{
+ DEBUGGER_PARSER *head;
+ DEBUGGER_PARSER *tail;
+} DEBUGGER_LIST;
+
+extern unsigned long DebuggerParserRoutine(unsigned char *command, unsigned char *commandLine,
+ StackFrame *stackFrame, unsigned long Exception);
+extern unsigned long DebuggerParserHelpRoutine(unsigned char *command, unsigned char *commandLine);
+extern unsigned long AddDebuggerCommandParser(DEBUGGER_PARSER *parser);
+extern unsigned long RemoveDebuggerCommandParser(DEBUGGER_PARSER *parser);
+
+static inline unsigned long strhash(unsigned char *s, int len, int limit)
+{
+ register unsigned long h = 0, a = 127, i;
+
+ if (!limit)
+ return -1;
+
+ for (i = 0; i < len && *s; s++, i++)
+ h = ((a * h) + *s) % limit;
+
+ return h;
+}
+
+#endif
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists