#ifndef _MDMP_PROFILE_H_
#define _MDMP_PROFILE_H_

#include "mdmp_typedef.h"

#define SIZE_OF_REGION_CONFIG (((MAX_REGION_OPTION_NUM)+7)/8)

struct mdmp_var_tbl_entry {
  void* addr;
  unsigned int size;
  mdmp_mem_type mem_type;
  mdmp_access_mode access_type;
};
typedef struct mdmp_var_tbl_entry mdmp_var_tbl[];

struct mdmp_region_cfg_entry
{
	mdmp_mem_type mem_type;
	unsigned int selected_option[MAX_REGION_OPTION_NUM];
};
typedef struct mdmp_region_cfg_entry mdmp_region_cfg_tbl[];

struct mdmp_profile_entry {
	mdmp_region_cfg_tbl* region_config;
	mdmp_var_tbl*        selected_variable;
        unsigned int         flag;
};
typedef struct mdmp_profile_entry mdmp_profile_table[];


#ifndef NULL
#define NULL (0)
#endif

typedef struct MemDumpSymbol MemDumpSymbol;

#endif
