00001
00002
00003
00004
00005
00006 #ifndef __SymbolFingp_H
00007 #define __SymbolFingp_H
00008 #include <map>
00009 #include <fstream>
00010 #include <string>
00011 #include <iostream>
00012
00013
00014 #define DEFAULT_FILE "SymbolFind.conf"
00015
00016
00017 #define WWCARD 1
00018 #define NOCARD 0
00019
00020
00021 struct cell
00022 {
00023 unsigned char type;
00024 unsigned char val;
00025 };
00026
00027
00028 struct sfp
00029 {
00030 char *name;
00031 unsigned long start_addr;
00032 unsigned long stop_addr;
00033 long offset;
00034 unsigned short length;
00035 struct cell *fp;
00036 };
00037
00038
00042 class SymbolFingp
00043 {
00044 private:
00045
00046 typedef map<string, struct sfp> FingerThing;
00047 FingerThing Fingers;
00048
00049 void readFingers (ifstream);
00050 bool addFinger (struct sfp *);
00051
00052 public:
00053
00057 SymbolFingp ();
00058
00062 SymbolFingp (string);
00063
00067 ~SymbolFingp ();
00068
00072 struct sfp *getFinger (string);
00073 };
00074
00075 #endif