Subversion Repositories pentevo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
716 lvd 1
#pragma once
2
struct MON_LABEL
3
{
4
    unsigned char *address;
5
    unsigned name_offs;
6
};
7
 
8
struct MON_LABELS
9
{
10
   MON_LABEL *pairs;
11
   unsigned n_pairs;
12
   char *names;
13
   unsigned names_size;
14
 
15
   MON_LABELS() { pairs = 0, names = 0, n_pairs = names_size = 0; hNewUserLabels = 0; }
16
   ~MON_LABELS() { free(pairs), free(names); stop_watching_labels(); }
17
 
18
   unsigned add_name(char *name);
19
   void clear(unsigned char *start, unsigned size);
20
   void clear_ram() { clear(RAM_BASE_M, MAX_RAM_PAGES*PAGE); }
21
   void sort();
22
 
23
   char *find(unsigned char *address);
24
   void add(unsigned char *address, char *name);
25
   unsigned load(char *filename, unsigned char *base, unsigned size);
26
 
27
 
28
   char xas_errstr[80];
29
   unsigned char xaspage;
30
   void find_xas();
31
 
32
   enum { MAX_ALASM_LTABLES = 16 };
33
   char alasm_valid_char[0x100];
34
   unsigned alasm_found_tables;
35
   unsigned alasm_offset[MAX_ALASM_LTABLES];
36
   unsigned alasm_count[MAX_ALASM_LTABLES];
37
   unsigned alasm_chain_len(unsigned char *page, unsigned offset, unsigned &end);
38
   void find_alasm();
39
 
40
   void import_menu();
41
   void import_xas();
42
   void import_alasm(unsigned offset, char *caption);
43
 
44
 
45
   HANDLE hNewUserLabels;
46
   char userfile[0x200];
47
   void stop_watching_labels();
48
   void start_watching_labels();
49
   void notify_user_labels();
50
   void import_file();
51
 
52
};
53
 
54
extern MON_LABELS mon_labels;
55
 
56
void load_labels(char *filename, unsigned char *base, unsigned size);
57
void mon_show_labels();