//						ANALYSE.H

#ifndef analyseh
#define analyseh

#define FLOW_RET 1
#define FLOW_JMP 2
#define FLOW_CALLTARGET 3
#define FLOW_CONDJMP 4
#define FLOW_JMPTARGET 5
#define FLOW_CONDJMPTARGET 6

struct flowlist
{ struct flowlist *next,*last;
  unsigned long addr;
  unsigned long refto;
  unsigned char type;
};

class analysis
{ private:
	 struct flowlist *flist;
	 void addtoflowlist(unsigned long addr,unsigned char type,unsigned long xref);
	 void delfromflowlist(struct flowlist *del_flist);

  public:
	 analysis();
	 ~analysis();
	 void imported(void);
	 void codeflow(void);
    void offsets(void);
};

#endif