www.pudn.com > hookN.zip > func.h


#ifndef __FUNC_H__ 
#define __FUNC_H__ 
 
//rules type 
#define RULE_TYPE_PROCESS_PROTECTION    0x00000001 
 
//errors 
#define ERROR_RULE_EXISTS               0x80000001 
#define ERROR_RULE_DOES_NOT_EXIST       0x80000002 
 
//structure of rules list 
typedef struct FUNC_RULE 
{ 
  struct FUNC_RULE *prev; 
  struct FUNC_RULE *next; 
 
  ULONG type; 
 
  union 
  { 
    struct 
    { 
      ULONG pid; 
    } process; 
  }; 
} FUNC_RULE,*PFUNC_RULE; 
 
 
//device extenstion structure 
typedef struct DEVICE_EXTENSION 
{ 
  KMUTEX rules_mutex; 
  PFUNC_RULE first_rule,last_rule; 
} DEVICE_EXTENSION,*PDEVICE_EXTENSION; 
 
 
int func_protect_process(PDEVICE_EXTENSION dev_ext,ULONG pid,int enable); 
int func_check_process_protection(ULONG pid); 
int func_is_good_read_ptr(PVOID buf,ULONG size); 
int func_free_list(PDEVICE_EXTENSION dev_ext); 
 
extern PDEVICE_EXTENSION global_dev_ext; 
 
#endif