summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/HPMSymbols.inc.h2
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc7091
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc1
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc1
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc1
5 files changed, 7095 insertions, 1 deletions
diff --git a/src/common/HPMSymbols.inc.h b/src/common/HPMSymbols.inc.h
index be758a055..a6bf1622b 100644
--- a/src/common/HPMSymbols.inc.h
+++ b/src/common/HPMSymbols.inc.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2015-2016 Hercules Dev Team
+ * Copyright (C) 2013-2016 Hercules Dev Team
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index 72490c7c1..56c9e61fe 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -22,3 +22,7094 @@
* NOTE: This file was auto-generated and should never be manually edited,
* as it will get overwritten.
*/
+
+#ifdef COMMON_UTILS_H /* HCache */
+typedef void (*HPMHOOK_pre_HCache_init) (void);
+typedef void (*HPMHOOK_post_HCache_init) (void);
+typedef bool (*HPMHOOK_pre_HCache_check) (const char *file);
+typedef bool (*HPMHOOK_post_HCache_check) (bool retVal___, const char *file);
+typedef FILE* (*HPMHOOK_pre_HCache_open) (const char *file, const char *opt);
+typedef FILE* (*HPMHOOK_post_HCache_open) (FILE* retVal___, const char *file, const char *opt);
+#endif // COMMON_UTILS_H
+#ifdef MAP_ATCOMMAND_H /* atcommand */
+typedef void (*HPMHOOK_pre_atcommand_init) (bool *minimal);
+typedef void (*HPMHOOK_post_atcommand_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_atcommand_final) (void);
+typedef void (*HPMHOOK_post_atcommand_final) (void);
+typedef bool (*HPMHOOK_pre_atcommand_exec) (const int *fd, struct map_session_data *sd, const char *message, bool *player_invoked);
+typedef bool (*HPMHOOK_post_atcommand_exec) (bool retVal___, const int *fd, struct map_session_data *sd, const char *message, bool *player_invoked);
+typedef bool (*HPMHOOK_pre_atcommand_create) (char *name, AtCommandFunc *func);
+typedef bool (*HPMHOOK_post_atcommand_create) (bool retVal___, char *name, AtCommandFunc *func);
+typedef bool (*HPMHOOK_pre_atcommand_can_use) (struct map_session_data *sd, const char *command);
+typedef bool (*HPMHOOK_post_atcommand_can_use) (bool retVal___, struct map_session_data *sd, const char *command);
+typedef bool (*HPMHOOK_pre_atcommand_can_use2) (struct map_session_data *sd, const char *command, AtCommandType *type);
+typedef bool (*HPMHOOK_post_atcommand_can_use2) (bool retVal___, struct map_session_data *sd, const char *command, AtCommandType *type);
+typedef void (*HPMHOOK_pre_atcommand_load_groups) (GroupSettings **groups, struct config_setting_t **commands_, size_t *sz);
+typedef void (*HPMHOOK_post_atcommand_load_groups) (GroupSettings **groups, struct config_setting_t **commands_, size_t *sz);
+typedef AtCommandInfo* (*HPMHOOK_pre_atcommand_exists) (const char *name);
+typedef AtCommandInfo* (*HPMHOOK_post_atcommand_exists) (AtCommandInfo* retVal___, const char *name);
+typedef bool (*HPMHOOK_pre_atcommand_msg_read) (const char *cfg_name, bool *allow_override);
+typedef bool (*HPMHOOK_post_atcommand_msg_read) (bool retVal___, const char *cfg_name, bool *allow_override);
+typedef void (*HPMHOOK_pre_atcommand_final_msg) (void);
+typedef void (*HPMHOOK_post_atcommand_final_msg) (void);
+typedef struct atcmd_binding_data* (*HPMHOOK_pre_atcommand_get_bind_byname) (const char *name);
+typedef struct atcmd_binding_data* (*HPMHOOK_post_atcommand_get_bind_byname) (struct atcmd_binding_data* retVal___, const char *name);
+typedef AtCommandInfo* (*HPMHOOK_pre_atcommand_get_info_byname) (const char *name);
+typedef AtCommandInfo* (*HPMHOOK_post_atcommand_get_info_byname) (AtCommandInfo* retVal___, const char *name);
+typedef const char* (*HPMHOOK_pre_atcommand_check_alias) (const char *aliasname);
+typedef const char* (*HPMHOOK_post_atcommand_check_alias) (const char* retVal___, const char *aliasname);
+typedef void (*HPMHOOK_pre_atcommand_get_suggestions) (struct map_session_data *sd, const char *name, bool *is_atcmd_cmd);
+typedef void (*HPMHOOK_post_atcommand_get_suggestions) (struct map_session_data *sd, const char *name, bool *is_atcmd_cmd);
+typedef void (*HPMHOOK_pre_atcommand_config_read) (const char *config_filename);
+typedef void (*HPMHOOK_post_atcommand_config_read) (const char *config_filename);
+typedef int (*HPMHOOK_pre_atcommand_stopattack) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_atcommand_stopattack) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_atcommand_pvpoff_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_atcommand_pvpoff_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_atcommand_pvpon_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_atcommand_pvpon_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_atcommand_atkillmonster_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_atcommand_atkillmonster_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_atcommand_raise_sub) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_atcommand_raise_sub) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_atcommand_get_jail_time) (int *jailtime, int *year, int *month, int *day, int *hour, int *minute);
+typedef void (*HPMHOOK_post_atcommand_get_jail_time) (int *jailtime, int *year, int *month, int *day, int *hour, int *minute);
+typedef int (*HPMHOOK_pre_atcommand_cleanfloor_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_atcommand_cleanfloor_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_atcommand_mutearea_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_atcommand_mutearea_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_atcommand_getring) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_atcommand_getring) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_atcommand_channel_help) (int *fd, const char *command, bool *can_create);
+typedef void (*HPMHOOK_post_atcommand_channel_help) (int *fd, const char *command, bool *can_create);
+typedef void (*HPMHOOK_pre_atcommand_commands_sub) (struct map_session_data *sd, const int *fd, AtCommandType *type);
+typedef void (*HPMHOOK_post_atcommand_commands_sub) (struct map_session_data *sd, const int *fd, AtCommandType *type);
+typedef void (*HPMHOOK_pre_atcommand_cmd_db_clear) (void);
+typedef void (*HPMHOOK_post_atcommand_cmd_db_clear) (void);
+typedef int (*HPMHOOK_pre_atcommand_cmd_db_clear_sub) (union DBKey *key, struct DBData *data, va_list args);
+typedef int (*HPMHOOK_post_atcommand_cmd_db_clear_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list args);
+typedef void (*HPMHOOK_pre_atcommand_doload) (void);
+typedef void (*HPMHOOK_post_atcommand_doload) (void);
+typedef void (*HPMHOOK_pre_atcommand_base_commands) (void);
+typedef void (*HPMHOOK_post_atcommand_base_commands) (void);
+typedef bool (*HPMHOOK_pre_atcommand_add) (char *name, AtCommandFunc *func, bool *replace);
+typedef bool (*HPMHOOK_post_atcommand_add) (bool retVal___, char *name, AtCommandFunc *func, bool *replace);
+typedef const char* (*HPMHOOK_pre_atcommand_msg) (int *msg_number);
+typedef const char* (*HPMHOOK_post_atcommand_msg) (const char* retVal___, int *msg_number);
+typedef void (*HPMHOOK_pre_atcommand_expand_message_table) (void);
+typedef void (*HPMHOOK_post_atcommand_expand_message_table) (void);
+typedef const char* (*HPMHOOK_pre_atcommand_msgfd) (int *fd, int *msg_number);
+typedef const char* (*HPMHOOK_post_atcommand_msgfd) (const char* retVal___, int *fd, int *msg_number);
+typedef const char* (*HPMHOOK_pre_atcommand_msgsd) (struct map_session_data *sd, int *msg_number);
+typedef const char* (*HPMHOOK_post_atcommand_msgsd) (const char* retVal___, struct map_session_data *sd, int *msg_number);
+#endif // MAP_ATCOMMAND_H
+#ifdef MAP_BATTLE_H /* battle */
+typedef void (*HPMHOOK_pre_battle_init) (bool *minimal);
+typedef void (*HPMHOOK_post_battle_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_battle_final) (void);
+typedef void (*HPMHOOK_post_battle_final) (void);
+typedef struct Damage (*HPMHOOK_pre_battle_calc_attack) (int *attack_type, struct block_list *bl, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *count);
+typedef struct Damage (*HPMHOOK_post_battle_calc_attack) (struct Damage retVal___, int *attack_type, struct block_list *bl, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *count);
+typedef int64 (*HPMHOOK_pre_battle_calc_damage) (struct block_list *src, struct block_list *bl, struct Damage *d, int64 *damage, uint16 *skill_id, uint16 *skill_lv);
+typedef int64 (*HPMHOOK_post_battle_calc_damage) (int64 retVal___, struct block_list *src, struct block_list *bl, struct Damage *d, int64 *damage, uint16 *skill_id, uint16 *skill_lv);
+typedef int64 (*HPMHOOK_pre_battle_calc_gvg_damage) (struct block_list *src, struct block_list *bl, int64 *damage, int *div_, uint16 *skill_id, uint16 *skill_lv, int *flag);
+typedef int64 (*HPMHOOK_post_battle_calc_gvg_damage) (int64 retVal___, struct block_list *src, struct block_list *bl, int64 *damage, int *div_, uint16 *skill_id, uint16 *skill_lv, int *flag);
+typedef int64 (*HPMHOOK_pre_battle_calc_bg_damage) (struct block_list *src, struct block_list *bl, int64 *damage, int *div_, uint16 *skill_id, uint16 *skill_lv, int *flag);
+typedef int64 (*HPMHOOK_post_battle_calc_bg_damage) (int64 retVal___, struct block_list *src, struct block_list *bl, int64 *damage, int *div_, uint16 *skill_id, uint16 *skill_lv, int *flag);
+typedef enum damage_lv (*HPMHOOK_pre_battle_weapon_attack) (struct block_list *bl, struct block_list *target, int64 *tick, int *flag);
+typedef enum damage_lv (*HPMHOOK_post_battle_weapon_attack) (enum damage_lv retVal___, struct block_list *bl, struct block_list *target, int64 *tick, int *flag);
+typedef struct Damage (*HPMHOOK_pre_battle_calc_weapon_attack) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *wflag);
+typedef struct Damage (*HPMHOOK_post_battle_calc_weapon_attack) (struct Damage retVal___, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *wflag);
+typedef int (*HPMHOOK_pre_battle_delay_damage) (int64 *tick, int *amotion, struct block_list *src, struct block_list *target, int *attack_type, uint16 *skill_id, uint16 *skill_lv, int64 *damage, enum damage_lv *dmg_lv, int *ddelay, bool *additional_effects);
+typedef int (*HPMHOOK_post_battle_delay_damage) (int retVal___, int64 *tick, int *amotion, struct block_list *src, struct block_list *target, int *attack_type, uint16 *skill_id, uint16 *skill_lv, int64 *damage, enum damage_lv *dmg_lv, int *ddelay, bool *additional_effects);
+typedef void (*HPMHOOK_pre_battle_drain) (struct map_session_data *sd, struct block_list *tbl, int64 *rdamage, int64 *ldamage, int *race, int *boss);
+typedef void (*HPMHOOK_post_battle_drain) (struct map_session_data *sd, struct block_list *tbl, int64 *rdamage, int64 *ldamage, int *race, int *boss);
+typedef void (*HPMHOOK_pre_battle_reflect_damage) (struct block_list *target, struct block_list *src, struct Damage *wd, uint16 *skill_id);
+typedef void (*HPMHOOK_post_battle_reflect_damage) (struct block_list *target, struct block_list *src, struct Damage *wd, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_battle_attr_ratio) (int *atk_elem, int *def_type, int *def_lv);
+typedef int (*HPMHOOK_post_battle_attr_ratio) (int retVal___, int *atk_elem, int *def_type, int *def_lv);
+typedef int64 (*HPMHOOK_pre_battle_attr_fix) (struct block_list *src, struct block_list *target, int64 *damage, int *atk_elem, int *def_type, int *def_lv);
+typedef int64 (*HPMHOOK_post_battle_attr_fix) (int64 retVal___, struct block_list *src, struct block_list *target, int64 *damage, int *atk_elem, int *def_type, int *def_lv);
+typedef int64 (*HPMHOOK_pre_battle_calc_cardfix) (int *attack_type, struct block_list *src, struct block_list *target, int *nk, int *s_ele, int *s_ele_, int64 *damage, int *left, int *flag);
+typedef int64 (*HPMHOOK_post_battle_calc_cardfix) (int64 retVal___, int *attack_type, struct block_list *src, struct block_list *target, int *nk, int *s_ele, int *s_ele_, int64 *damage, int *left, int *flag);
+typedef int64 (*HPMHOOK_pre_battle_calc_cardfix2) (struct block_list *src, struct block_list *bl, int64 *damage, int *s_ele, int *nk, int *flag);
+typedef int64 (*HPMHOOK_post_battle_calc_cardfix2) (int64 retVal___, struct block_list *src, struct block_list *bl, int64 *damage, int *s_ele, int *nk, int *flag);
+typedef int64 (*HPMHOOK_pre_battle_calc_elefix) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *damage, int *nk, int *n_ele, int *s_ele, int *s_ele_, bool *left, int *flag);
+typedef int64 (*HPMHOOK_post_battle_calc_elefix) (int64 retVal___, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *damage, int *nk, int *n_ele, int *s_ele, int *s_ele_, bool *left, int *flag);
+typedef int64 (*HPMHOOK_pre_battle_calc_masteryfix) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *damage, int *div, bool *left, bool *weapon);
+typedef int64 (*HPMHOOK_post_battle_calc_masteryfix) (int64 retVal___, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *damage, int *div, bool *left, bool *weapon);
+typedef int (*HPMHOOK_pre_battle_calc_chorusbonus) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_battle_calc_chorusbonus) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_battle_calc_skillratio) (int *attack_type, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *skillratio, int *flag);
+typedef int (*HPMHOOK_post_battle_calc_skillratio) (int retVal___, int *attack_type, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *skillratio, int *flag);
+typedef int64 (*HPMHOOK_pre_battle_calc_sizefix) (struct map_session_data *sd, int64 *damage, int *type, int *size, bool *ignore);
+typedef int64 (*HPMHOOK_post_battle_calc_sizefix) (int64 retVal___, struct map_session_data *sd, int64 *damage, int *type, int *size, bool *ignore);
+typedef int64 (*HPMHOOK_pre_battle_calc_weapon_damage) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, struct weapon_atk *watk, int *nk, bool *n_ele, short *s_ele, short *s_ele_, int *size, int *type, int *flag, int *flag2);
+typedef int64 (*HPMHOOK_post_battle_calc_weapon_damage) (int64 retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, struct weapon_atk *watk, int *nk, bool *n_ele, short *s_ele, short *s_ele_, int *size, int *type, int *flag, int *flag2);
+typedef int64 (*HPMHOOK_pre_battle_calc_defense) (int *attack_type, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *damage, int *flag, int *pdef);
+typedef int64 (*HPMHOOK_post_battle_calc_defense) (int64 retVal___, int *attack_type, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *damage, int *flag, int *pdef);
+typedef struct block_list* (*HPMHOOK_pre_battle_get_master) (struct block_list *src);
+typedef struct block_list* (*HPMHOOK_post_battle_get_master) (struct block_list* retVal___, struct block_list *src);
+typedef struct block_list* (*HPMHOOK_pre_battle_get_targeted) (struct block_list *target);
+typedef struct block_list* (*HPMHOOK_post_battle_get_targeted) (struct block_list* retVal___, struct block_list *target);
+typedef struct block_list* (*HPMHOOK_pre_battle_get_enemy) (struct block_list *target, int *type, int *range);
+typedef struct block_list* (*HPMHOOK_post_battle_get_enemy) (struct block_list* retVal___, struct block_list *target, int *type, int *range);
+typedef int (*HPMHOOK_pre_battle_get_target) (struct block_list *bl);
+typedef int (*HPMHOOK_post_battle_get_target) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_battle_get_current_skill) (struct block_list *bl);
+typedef int (*HPMHOOK_post_battle_get_current_skill) (int retVal___, struct block_list *bl);
+typedef bool (*HPMHOOK_pre_battle_check_undead) (int *race, int *element);
+typedef bool (*HPMHOOK_post_battle_check_undead) (bool retVal___, int *race, int *element);
+typedef int (*HPMHOOK_pre_battle_check_target) (struct block_list *src, struct block_list *target, int *flag);
+typedef int (*HPMHOOK_post_battle_check_target) (int retVal___, struct block_list *src, struct block_list *target, int *flag);
+typedef bool (*HPMHOOK_pre_battle_check_range) (struct block_list *src, struct block_list *bl, int *range);
+typedef bool (*HPMHOOK_post_battle_check_range) (bool retVal___, struct block_list *src, struct block_list *bl, int *range);
+typedef void (*HPMHOOK_pre_battle_consume_ammo) (struct map_session_data *sd, int *skill_id, int *lv);
+typedef void (*HPMHOOK_post_battle_consume_ammo) (struct map_session_data *sd, int *skill_id, int *lv);
+typedef int (*HPMHOOK_pre_battle_get_targeted_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_battle_get_targeted_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_battle_get_enemy_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_battle_get_enemy_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_battle_get_enemy_area_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_battle_get_enemy_area_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_battle_delay_damage_sub) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_battle_delay_damage_sub) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_battle_blewcount_bonus) (struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_post_battle_blewcount_bonus) (int retVal___, struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_battle_range_type) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_battle_range_type) (int retVal___, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv);
+typedef int64 (*HPMHOOK_pre_battle_calc_base_damage) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *nk, bool *n_ele, short *s_ele, short *s_ele_, int *type, int *flag, int *flag2);
+typedef int64 (*HPMHOOK_post_battle_calc_base_damage) (int64 retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *nk, bool *n_ele, short *s_ele, short *s_ele_, int *type, int *flag, int *flag2);
+typedef int64 (*HPMHOOK_pre_battle_calc_base_damage2) (struct status_data *st, struct weapon_atk *wa, struct status_change *sc, unsigned short *t_size, struct map_session_data *sd, int *flag);
+typedef int64 (*HPMHOOK_post_battle_calc_base_damage2) (int64 retVal___, struct status_data *st, struct weapon_atk *wa, struct status_change *sc, unsigned short *t_size, struct map_session_data *sd, int *flag);
+typedef struct Damage (*HPMHOOK_pre_battle_calc_misc_attack) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *mflag);
+typedef struct Damage (*HPMHOOK_post_battle_calc_misc_attack) (struct Damage retVal___, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *mflag);
+typedef struct Damage (*HPMHOOK_pre_battle_calc_magic_attack) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *mflag);
+typedef struct Damage (*HPMHOOK_post_battle_calc_magic_attack) (struct Damage retVal___, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *mflag);
+typedef int (*HPMHOOK_pre_battle_adjust_skill_damage) (int *m, unsigned short *skill_id);
+typedef int (*HPMHOOK_post_battle_adjust_skill_damage) (int retVal___, int *m, unsigned short *skill_id);
+typedef int64 (*HPMHOOK_pre_battle_add_mastery) (struct map_session_data *sd, struct block_list *target, int64 *dmg, int *type);
+typedef int64 (*HPMHOOK_post_battle_add_mastery) (int64 retVal___, struct map_session_data *sd, struct block_list *target, int64 *dmg, int *type);
+typedef int (*HPMHOOK_pre_battle_calc_drain) (int64 *damage, int *rate, int *per);
+typedef int (*HPMHOOK_post_battle_calc_drain) (int retVal___, int64 *damage, int *rate, int *per);
+typedef int (*HPMHOOK_pre_battle_config_read) (const char *cfgName);
+typedef int (*HPMHOOK_post_battle_config_read) (int retVal___, const char *cfgName);
+typedef void (*HPMHOOK_pre_battle_config_set_defaults) (void);
+typedef void (*HPMHOOK_post_battle_config_set_defaults) (void);
+typedef int (*HPMHOOK_pre_battle_config_set_value) (const char *w1, const char *w2);
+typedef int (*HPMHOOK_post_battle_config_set_value) (int retVal___, const char *w1, const char *w2);
+typedef bool (*HPMHOOK_pre_battle_config_get_value) (const char *w1, int *value);
+typedef bool (*HPMHOOK_post_battle_config_get_value) (bool retVal___, const char *w1, int *value);
+typedef void (*HPMHOOK_pre_battle_config_adjust) (void);
+typedef void (*HPMHOOK_post_battle_config_adjust) (void);
+typedef struct block_list* (*HPMHOOK_pre_battle_get_enemy_area) (struct block_list *src, int *x, int *y, int *range, int *type, int *ignore_id);
+typedef struct block_list* (*HPMHOOK_post_battle_get_enemy_area) (struct block_list* retVal___, struct block_list *src, int *x, int *y, int *range, int *type, int *ignore_id);
+typedef int (*HPMHOOK_pre_battle_damage_area) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_battle_damage_area) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_battle_calc_masteryfix_unknown) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *damage, int *div, bool *left, bool *weapon);
+typedef void (*HPMHOOK_post_battle_calc_masteryfix_unknown) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *damage, int *div, bool *left, bool *weapon);
+typedef void (*HPMHOOK_pre_battle_calc_skillratio_magic_unknown) (int *attack_type, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *skillratio, int *flag);
+typedef void (*HPMHOOK_post_battle_calc_skillratio_magic_unknown) (int *attack_type, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *skillratio, int *flag);
+typedef void (*HPMHOOK_pre_battle_calc_skillratio_weapon_unknown) (int *attack_type, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *skillratio, int *flag);
+typedef void (*HPMHOOK_post_battle_calc_skillratio_weapon_unknown) (int *attack_type, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *skillratio, int *flag);
+typedef void (*HPMHOOK_pre_battle_calc_misc_attack_unknown) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *mflag, struct Damage *md);
+typedef void (*HPMHOOK_post_battle_calc_misc_attack_unknown) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int *mflag, struct Damage *md);
+#endif // MAP_BATTLE_H
+#ifdef MAP_BATTLEGROUND_H /* bg */
+typedef void (*HPMHOOK_pre_bg_init) (bool *minimal);
+typedef void (*HPMHOOK_post_bg_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_bg_final) (void);
+typedef void (*HPMHOOK_post_bg_final) (void);
+typedef struct bg_arena* (*HPMHOOK_pre_bg_name2arena) (const char *name);
+typedef struct bg_arena* (*HPMHOOK_post_bg_name2arena) (struct bg_arena* retVal___, const char *name);
+typedef void (*HPMHOOK_pre_bg_queue_add) (struct map_session_data *sd, struct bg_arena *arena, enum bg_queue_types *type);
+typedef void (*HPMHOOK_post_bg_queue_add) (struct map_session_data *sd, struct bg_arena *arena, enum bg_queue_types *type);
+typedef enum BATTLEGROUNDS_QUEUE_ACK (*HPMHOOK_pre_bg_can_queue) (struct map_session_data *sd, struct bg_arena *arena, enum bg_queue_types *type);
+typedef enum BATTLEGROUNDS_QUEUE_ACK (*HPMHOOK_post_bg_can_queue) (enum BATTLEGROUNDS_QUEUE_ACK retVal___, struct map_session_data *sd, struct bg_arena *arena, enum bg_queue_types *type);
+typedef int (*HPMHOOK_pre_bg_id2pos) (int *queue_id, int *account_id);
+typedef int (*HPMHOOK_post_bg_id2pos) (int retVal___, int *queue_id, int *account_id);
+typedef void (*HPMHOOK_pre_bg_queue_pc_cleanup) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_bg_queue_pc_cleanup) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_bg_begin) (struct bg_arena *arena);
+typedef void (*HPMHOOK_post_bg_begin) (struct bg_arena *arena);
+typedef int (*HPMHOOK_pre_bg_begin_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_bg_begin_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_bg_queue_pregame) (struct bg_arena *arena);
+typedef void (*HPMHOOK_post_bg_queue_pregame) (struct bg_arena *arena);
+typedef int (*HPMHOOK_pre_bg_fillup_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_bg_fillup_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_bg_queue_ready_ack) (struct bg_arena *arena, struct map_session_data *sd, bool *response);
+typedef void (*HPMHOOK_post_bg_queue_ready_ack) (struct bg_arena *arena, struct map_session_data *sd, bool *response);
+typedef void (*HPMHOOK_pre_bg_match_over) (struct bg_arena *arena, bool *canceled);
+typedef void (*HPMHOOK_post_bg_match_over) (struct bg_arena *arena, bool *canceled);
+typedef void (*HPMHOOK_pre_bg_queue_check) (struct bg_arena *arena);
+typedef void (*HPMHOOK_post_bg_queue_check) (struct bg_arena *arena);
+typedef struct battleground_data* (*HPMHOOK_pre_bg_team_search) (int *bg_id);
+typedef struct battleground_data* (*HPMHOOK_post_bg_team_search) (struct battleground_data* retVal___, int *bg_id);
+typedef struct map_session_data* (*HPMHOOK_pre_bg_getavailablesd) (struct battleground_data *bgd);
+typedef struct map_session_data* (*HPMHOOK_post_bg_getavailablesd) (struct map_session_data* retVal___, struct battleground_data *bgd);
+typedef bool (*HPMHOOK_pre_bg_team_delete) (int *bg_id);
+typedef bool (*HPMHOOK_post_bg_team_delete) (bool retVal___, int *bg_id);
+typedef bool (*HPMHOOK_pre_bg_team_warp) (int *bg_id, unsigned short *map_index, short *x, short *y);
+typedef bool (*HPMHOOK_post_bg_team_warp) (bool retVal___, int *bg_id, unsigned short *map_index, short *x, short *y);
+typedef void (*HPMHOOK_pre_bg_send_dot_remove) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_bg_send_dot_remove) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_bg_team_join) (int *bg_id, struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_bg_team_join) (bool retVal___, int *bg_id, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_bg_team_leave) (struct map_session_data *sd, enum bg_team_leave_type *flag);
+typedef int (*HPMHOOK_post_bg_team_leave) (int retVal___, struct map_session_data *sd, enum bg_team_leave_type *flag);
+typedef bool (*HPMHOOK_pre_bg_member_respawn) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_bg_member_respawn) (bool retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_bg_create) (unsigned short *map_index, short *rx, short *ry, const char *ev, const char *dev);
+typedef int (*HPMHOOK_post_bg_create) (int retVal___, unsigned short *map_index, short *rx, short *ry, const char *ev, const char *dev);
+typedef int (*HPMHOOK_pre_bg_team_get_id) (struct block_list *bl);
+typedef int (*HPMHOOK_post_bg_team_get_id) (int retVal___, struct block_list *bl);
+typedef bool (*HPMHOOK_pre_bg_send_message) (struct map_session_data *sd, const char *mes);
+typedef bool (*HPMHOOK_post_bg_send_message) (bool retVal___, struct map_session_data *sd, const char *mes);
+typedef int (*HPMHOOK_pre_bg_send_xy_timer_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_bg_send_xy_timer_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_bg_send_xy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_bg_send_xy_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_bg_afk_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_bg_afk_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_bg_team_db_final) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_bg_team_db_final) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef enum bg_queue_types (*HPMHOOK_pre_bg_str2teamtype) (const char *str);
+typedef enum bg_queue_types (*HPMHOOK_post_bg_str2teamtype) (enum bg_queue_types retVal___, const char *str);
+typedef void (*HPMHOOK_pre_bg_config_read) (void);
+typedef void (*HPMHOOK_post_bg_config_read) (void);
+#endif // MAP_BATTLEGROUND_H
+#ifdef MAP_BUYINGSTORE_H /* buyingstore */
+typedef bool (*HPMHOOK_pre_buyingstore_setup) (struct map_session_data *sd, unsigned char *slots);
+typedef bool (*HPMHOOK_post_buyingstore_setup) (bool retVal___, struct map_session_data *sd, unsigned char *slots);
+typedef void (*HPMHOOK_pre_buyingstore_create) (struct map_session_data *sd, int *zenylimit, unsigned char *result, const char *storename, const uint8 *itemlist, unsigned int *count);
+typedef void (*HPMHOOK_post_buyingstore_create) (struct map_session_data *sd, int *zenylimit, unsigned char *result, const char *storename, const uint8 *itemlist, unsigned int *count);
+typedef void (*HPMHOOK_pre_buyingstore_close) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_buyingstore_close) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_buyingstore_open) (struct map_session_data *sd, int *account_id);
+typedef void (*HPMHOOK_post_buyingstore_open) (struct map_session_data *sd, int *account_id);
+typedef void (*HPMHOOK_pre_buyingstore_trade) (struct map_session_data *sd, int *account_id, unsigned int *buyer_id, const uint8 *itemlist, unsigned int *count);
+typedef void (*HPMHOOK_post_buyingstore_trade) (struct map_session_data *sd, int *account_id, unsigned int *buyer_id, const uint8 *itemlist, unsigned int *count);
+typedef bool (*HPMHOOK_pre_buyingstore_search) (struct map_session_data *sd, unsigned short *nameid);
+typedef bool (*HPMHOOK_post_buyingstore_search) (bool retVal___, struct map_session_data *sd, unsigned short *nameid);
+typedef bool (*HPMHOOK_pre_buyingstore_searchall) (struct map_session_data *sd, const struct s_search_store_search *s);
+typedef bool (*HPMHOOK_post_buyingstore_searchall) (bool retVal___, struct map_session_data *sd, const struct s_search_store_search *s);
+typedef unsigned int (*HPMHOOK_pre_buyingstore_getuid) (void);
+typedef unsigned int (*HPMHOOK_post_buyingstore_getuid) (unsigned int retVal___);
+#endif // MAP_BUYINGSTORE_H
+#ifdef MAP_CHANNEL_H /* channel */
+typedef int (*HPMHOOK_pre_channel_init) (bool *minimal);
+typedef int (*HPMHOOK_post_channel_init) (int retVal___, bool *minimal);
+typedef void (*HPMHOOK_pre_channel_final) (void);
+typedef void (*HPMHOOK_post_channel_final) (void);
+typedef struct channel_data* (*HPMHOOK_pre_channel_search) (const char *name, struct map_session_data *sd);
+typedef struct channel_data* (*HPMHOOK_post_channel_search) (struct channel_data* retVal___, const char *name, struct map_session_data *sd);
+typedef struct channel_data* (*HPMHOOK_pre_channel_create) (enum channel_types *type, const char *name, unsigned char *color);
+typedef struct channel_data* (*HPMHOOK_post_channel_create) (struct channel_data* retVal___, enum channel_types *type, const char *name, unsigned char *color);
+typedef void (*HPMHOOK_pre_channel_delete) (struct channel_data *chan);
+typedef void (*HPMHOOK_post_channel_delete) (struct channel_data *chan);
+typedef void (*HPMHOOK_pre_channel_set_password) (struct channel_data *chan, const char *password);
+typedef void (*HPMHOOK_post_channel_set_password) (struct channel_data *chan, const char *password);
+typedef enum channel_operation_status (*HPMHOOK_pre_channel_ban) (struct channel_data *chan, const struct map_session_data *ssd, struct map_session_data *tsd);
+typedef enum channel_operation_status (*HPMHOOK_post_channel_ban) (enum channel_operation_status retVal___, struct channel_data *chan, const struct map_session_data *ssd, struct map_session_data *tsd);
+typedef enum channel_operation_status (*HPMHOOK_pre_channel_unban) (struct channel_data *chan, const struct map_session_data *ssd, struct map_session_data *tsd);
+typedef enum channel_operation_status (*HPMHOOK_post_channel_unban) (enum channel_operation_status retVal___, struct channel_data *chan, const struct map_session_data *ssd, struct map_session_data *tsd);
+typedef void (*HPMHOOK_pre_channel_set_options) (struct channel_data *chan, unsigned int *options);
+typedef void (*HPMHOOK_post_channel_set_options) (struct channel_data *chan, unsigned int *options);
+typedef void (*HPMHOOK_pre_channel_send) (struct channel_data *chan, struct map_session_data *sd, const char *msg);
+typedef void (*HPMHOOK_post_channel_send) (struct channel_data *chan, struct map_session_data *sd, const char *msg);
+typedef void (*HPMHOOK_pre_channel_join_sub) (struct channel_data *chan, struct map_session_data *sd, bool *stealth);
+typedef void (*HPMHOOK_post_channel_join_sub) (struct channel_data *chan, struct map_session_data *sd, bool *stealth);
+typedef enum channel_operation_status (*HPMHOOK_pre_channel_join) (struct channel_data *chan, struct map_session_data *sd, const char *password, bool *silent);
+typedef enum channel_operation_status (*HPMHOOK_post_channel_join) (enum channel_operation_status retVal___, struct channel_data *chan, struct map_session_data *sd, const char *password, bool *silent);
+typedef void (*HPMHOOK_pre_channel_leave) (struct channel_data *chan, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_channel_leave) (struct channel_data *chan, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_channel_leave_sub) (struct channel_data *chan, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_channel_leave_sub) (struct channel_data *chan, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_channel_quit) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_channel_quit) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_channel_map_join) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_channel_map_join) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_channel_guild_join_alliance) (const struct guild *g_source, const struct guild *g_ally);
+typedef void (*HPMHOOK_post_channel_guild_join_alliance) (const struct guild *g_source, const struct guild *g_ally);
+typedef void (*HPMHOOK_pre_channel_guild_leave_alliance) (const struct guild *g_source, const struct guild *g_ally);
+typedef void (*HPMHOOK_post_channel_guild_leave_alliance) (const struct guild *g_source, const struct guild *g_ally);
+typedef void (*HPMHOOK_pre_channel_quit_guild) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_channel_quit_guild) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_channel_irc_join) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_channel_irc_join) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_channel_config_read) (void);
+typedef void (*HPMHOOK_post_channel_config_read) (void);
+#endif // MAP_CHANNEL_H
+#ifdef CHAR_CHAR_H /* chr */
+typedef int (*HPMHOOK_pre_chr_waiting_disconnect) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_chr_waiting_disconnect) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_chr_delete_char_sql) (int *char_id);
+typedef int (*HPMHOOK_post_chr_delete_char_sql) (int retVal___, int *char_id);
+typedef struct DBData (*HPMHOOK_pre_chr_create_online_char_data) (union DBKey *key, va_list args);
+typedef struct DBData (*HPMHOOK_post_chr_create_online_char_data) (struct DBData retVal___, union DBKey *key, va_list args);
+typedef void (*HPMHOOK_pre_chr_set_account_online) (int *account_id);
+typedef void (*HPMHOOK_post_chr_set_account_online) (int *account_id);
+typedef void (*HPMHOOK_pre_chr_set_account_offline) (int *account_id);
+typedef void (*HPMHOOK_post_chr_set_account_offline) (int *account_id);
+typedef void (*HPMHOOK_pre_chr_set_char_charselect) (int *account_id);
+typedef void (*HPMHOOK_post_chr_set_char_charselect) (int *account_id);
+typedef void (*HPMHOOK_pre_chr_set_char_online) (int *map_id, int *char_id, int *account_id);
+typedef void (*HPMHOOK_post_chr_set_char_online) (int *map_id, int *char_id, int *account_id);
+typedef void (*HPMHOOK_pre_chr_set_char_offline) (int *char_id, int *account_id);
+typedef void (*HPMHOOK_post_chr_set_char_offline) (int *char_id, int *account_id);
+typedef int (*HPMHOOK_pre_chr_db_setoffline) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_chr_db_setoffline) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_chr_db_kickoffline) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_chr_db_kickoffline) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_chr_set_login_all_offline) (void);
+typedef void (*HPMHOOK_post_chr_set_login_all_offline) (void);
+typedef void (*HPMHOOK_pre_chr_set_all_offline) (int *id);
+typedef void (*HPMHOOK_post_chr_set_all_offline) (int *id);
+typedef void (*HPMHOOK_pre_chr_set_all_offline_sql) (void);
+typedef void (*HPMHOOK_post_chr_set_all_offline_sql) (void);
+typedef struct DBData (*HPMHOOK_pre_chr_create_charstatus) (union DBKey *key, va_list args);
+typedef struct DBData (*HPMHOOK_post_chr_create_charstatus) (struct DBData retVal___, union DBKey *key, va_list args);
+typedef int (*HPMHOOK_pre_chr_mmo_char_tosql) (int *char_id, struct mmo_charstatus *p);
+typedef int (*HPMHOOK_post_chr_mmo_char_tosql) (int retVal___, int *char_id, struct mmo_charstatus *p);
+typedef int (*HPMHOOK_pre_chr_memitemdata_to_sql) (const struct item *items[], int *max, int *id, int *tableswitch);
+typedef int (*HPMHOOK_post_chr_memitemdata_to_sql) (int retVal___, const struct item *items[], int *max, int *id, int *tableswitch);
+typedef int (*HPMHOOK_pre_chr_mmo_gender) (const struct char_session_data *sd, const struct mmo_charstatus *p, char *sex);
+typedef int (*HPMHOOK_post_chr_mmo_gender) (int retVal___, const struct char_session_data *sd, const struct mmo_charstatus *p, char *sex);
+typedef int (*HPMHOOK_pre_chr_mmo_chars_fromsql) (struct char_session_data *sd, uint8 *buf);
+typedef int (*HPMHOOK_post_chr_mmo_chars_fromsql) (int retVal___, struct char_session_data *sd, uint8 *buf);
+typedef int (*HPMHOOK_pre_chr_mmo_char_fromsql) (int *char_id, struct mmo_charstatus *p, bool *load_everything);
+typedef int (*HPMHOOK_post_chr_mmo_char_fromsql) (int retVal___, int *char_id, struct mmo_charstatus *p, bool *load_everything);
+typedef int (*HPMHOOK_pre_chr_mmo_char_sql_init) (void);
+typedef int (*HPMHOOK_post_chr_mmo_char_sql_init) (int retVal___);
+typedef bool (*HPMHOOK_pre_chr_char_slotchange) (struct char_session_data *sd, int *fd, unsigned short *from, unsigned short *to);
+typedef bool (*HPMHOOK_post_chr_char_slotchange) (bool retVal___, struct char_session_data *sd, int *fd, unsigned short *from, unsigned short *to);
+typedef int (*HPMHOOK_pre_chr_rename_char_sql) (struct char_session_data *sd, int *char_id);
+typedef int (*HPMHOOK_post_chr_rename_char_sql) (int retVal___, struct char_session_data *sd, int *char_id);
+typedef int (*HPMHOOK_pre_chr_check_char_name) (char *name, char *esc_name);
+typedef int (*HPMHOOK_post_chr_check_char_name) (int retVal___, char *name, char *esc_name);
+typedef int (*HPMHOOK_pre_chr_make_new_char_sql) (struct char_session_data *sd, const char *name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style);
+typedef int (*HPMHOOK_post_chr_make_new_char_sql) (int retVal___, struct char_session_data *sd, const char *name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style);
+typedef int (*HPMHOOK_pre_chr_divorce_char_sql) (int *partner_id1, int *partner_id2);
+typedef int (*HPMHOOK_post_chr_divorce_char_sql) (int retVal___, int *partner_id1, int *partner_id2);
+typedef int (*HPMHOOK_pre_chr_count_users) (void);
+typedef int (*HPMHOOK_post_chr_count_users) (int retVal___);
+typedef int (*HPMHOOK_pre_chr_mmo_char_tobuf) (uint8 *buffer, struct mmo_charstatus *p);
+typedef int (*HPMHOOK_post_chr_mmo_char_tobuf) (int retVal___, uint8 *buffer, struct mmo_charstatus *p);
+typedef void (*HPMHOOK_pre_chr_mmo_char_send099d) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_mmo_char_send099d) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_mmo_char_send_ban_list) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_mmo_char_send_ban_list) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_mmo_char_send_slots_info) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_mmo_char_send_slots_info) (int *fd, struct char_session_data *sd);
+typedef int (*HPMHOOK_pre_chr_mmo_char_send_characters) (int *fd, struct char_session_data *sd);
+typedef int (*HPMHOOK_post_chr_mmo_char_send_characters) (int retVal___, int *fd, struct char_session_data *sd);
+typedef int (*HPMHOOK_pre_chr_char_married) (int *pl1, int *pl2);
+typedef int (*HPMHOOK_post_chr_char_married) (int retVal___, int *pl1, int *pl2);
+typedef int (*HPMHOOK_pre_chr_char_child) (int *parent_id, int *child_id);
+typedef int (*HPMHOOK_post_chr_char_child) (int retVal___, int *parent_id, int *child_id);
+typedef int (*HPMHOOK_pre_chr_char_family) (int *cid1, int *cid2, int *cid3);
+typedef int (*HPMHOOK_post_chr_char_family) (int retVal___, int *cid1, int *cid2, int *cid3);
+typedef void (*HPMHOOK_pre_chr_disconnect_player) (int *account_id);
+typedef void (*HPMHOOK_post_chr_disconnect_player) (int *account_id);
+typedef void (*HPMHOOK_pre_chr_authfail_fd) (int *fd, int *type);
+typedef void (*HPMHOOK_post_chr_authfail_fd) (int *fd, int *type);
+typedef void (*HPMHOOK_pre_chr_request_account_data) (int *account_id);
+typedef void (*HPMHOOK_post_chr_request_account_data) (int *account_id);
+typedef void (*HPMHOOK_pre_chr_auth_ok) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_auth_ok) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_ping_login_server) (int *fd);
+typedef void (*HPMHOOK_post_chr_ping_login_server) (int *fd);
+typedef int (*HPMHOOK_pre_chr_parse_fromlogin_connection_state) (int *fd);
+typedef int (*HPMHOOK_post_chr_parse_fromlogin_connection_state) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_chr_auth_error) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_post_chr_auth_error) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_pre_chr_parse_fromlogin_auth_state) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_fromlogin_auth_state) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_fromlogin_account_data) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_fromlogin_account_data) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_fromlogin_login_pong) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_fromlogin_login_pong) (int *fd);
+typedef void (*HPMHOOK_pre_chr_changesex) (int *account_id, int *sex);
+typedef void (*HPMHOOK_post_chr_changesex) (int *account_id, int *sex);
+typedef int (*HPMHOOK_pre_chr_parse_fromlogin_changesex_reply) (int *fd);
+typedef int (*HPMHOOK_post_chr_parse_fromlogin_changesex_reply) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_fromlogin_account_reg2) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_fromlogin_account_reg2) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_fromlogin_ban) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_fromlogin_ban) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_fromlogin_kick) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_fromlogin_kick) (int *fd);
+typedef void (*HPMHOOK_pre_chr_update_ip) (int *fd);
+typedef void (*HPMHOOK_post_chr_update_ip) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_fromlogin_update_ip) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_fromlogin_update_ip) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_fromlogin_accinfo2_failed) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_fromlogin_accinfo2_failed) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_fromlogin_accinfo2_ok) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_fromlogin_accinfo2_ok) (int *fd);
+typedef int (*HPMHOOK_pre_chr_parse_fromlogin) (int *fd);
+typedef int (*HPMHOOK_post_chr_parse_fromlogin) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_chr_request_accreg2) (int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_chr_request_accreg2) (int retVal___, int *account_id, int *char_id);
+typedef void (*HPMHOOK_pre_chr_global_accreg_to_login_start) (int *account_id, int *char_id);
+typedef void (*HPMHOOK_post_chr_global_accreg_to_login_start) (int *account_id, int *char_id);
+typedef void (*HPMHOOK_pre_chr_global_accreg_to_login_send) (void);
+typedef void (*HPMHOOK_post_chr_global_accreg_to_login_send) (void);
+typedef void (*HPMHOOK_pre_chr_global_accreg_to_login_add) (const char *key, unsigned int *index, intptr_t *val, bool *is_string);
+typedef void (*HPMHOOK_post_chr_global_accreg_to_login_add) (const char *key, unsigned int *index, intptr_t *val, bool *is_string);
+typedef void (*HPMHOOK_pre_chr_read_fame_list) (void);
+typedef void (*HPMHOOK_post_chr_read_fame_list) (void);
+typedef int (*HPMHOOK_pre_chr_send_fame_list) (int *fd);
+typedef int (*HPMHOOK_post_chr_send_fame_list) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_chr_update_fame_list) (int *type, int *index, int *fame);
+typedef void (*HPMHOOK_post_chr_update_fame_list) (int *type, int *index, int *fame);
+typedef int (*HPMHOOK_pre_chr_loadName) (int *char_id, char *name);
+typedef int (*HPMHOOK_post_chr_loadName) (int retVal___, int *char_id, char *name);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_datasync) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_datasync) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_skillid2idx) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_skillid2idx) (int *fd);
+typedef void (*HPMHOOK_pre_chr_map_received_ok) (int *fd);
+typedef void (*HPMHOOK_post_chr_map_received_ok) (int *fd);
+typedef void (*HPMHOOK_pre_chr_send_maps) (int *fd, int *id, int *j);
+typedef void (*HPMHOOK_post_chr_send_maps) (int *fd, int *id, int *j);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_map_names) (int *fd, int *id);
+typedef void (*HPMHOOK_post_chr_parse_frommap_map_names) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_chr_send_scdata) (int *fd, int *aid, int *cid);
+typedef void (*HPMHOOK_post_chr_send_scdata) (int *fd, int *aid, int *cid);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_request_scdata) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_request_scdata) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_set_users_count) (int *fd, int *id);
+typedef void (*HPMHOOK_post_chr_parse_frommap_set_users_count) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_set_users) (int *fd, int *id);
+typedef void (*HPMHOOK_post_chr_parse_frommap_set_users) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_chr_save_character_ack) (int *fd, int *aid, int *cid);
+typedef void (*HPMHOOK_post_chr_save_character_ack) (int *fd, int *aid, int *cid);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_save_character) (int *fd, int *id);
+typedef void (*HPMHOOK_post_chr_parse_frommap_save_character) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_chr_select_ack) (int *fd, int *account_id, uint8 *flag);
+typedef void (*HPMHOOK_post_chr_select_ack) (int *fd, int *account_id, uint8 *flag);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_char_select_req) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_char_select_req) (int *fd);
+typedef void (*HPMHOOK_pre_chr_change_map_server_ack) (int *fd, const uint8 *data, bool *ok);
+typedef void (*HPMHOOK_post_chr_change_map_server_ack) (int *fd, const uint8 *data, bool *ok);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_change_map_server) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_change_map_server) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_remove_friend) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_remove_friend) (int *fd);
+typedef void (*HPMHOOK_pre_chr_char_name_ack) (int *fd, int *char_id);
+typedef void (*HPMHOOK_post_chr_char_name_ack) (int *fd, int *char_id);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_char_name_request) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_char_name_request) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_change_email) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_change_email) (int *fd);
+typedef void (*HPMHOOK_pre_chr_ban) (int *account_id, int *char_id, time_t *unban_time, short *year, short *month, short *day, short *hour, short *minute, short *second);
+typedef void (*HPMHOOK_post_chr_ban) (int *account_id, int *char_id, time_t *unban_time, short *year, short *month, short *day, short *hour, short *minute, short *second);
+typedef void (*HPMHOOK_pre_chr_unban) (int *char_id, int *result);
+typedef void (*HPMHOOK_post_chr_unban) (int *char_id, int *result);
+typedef void (*HPMHOOK_pre_chr_ask_name_ack) (int *fd, int *acc, const char *name, int *type, int *result);
+typedef void (*HPMHOOK_post_chr_ask_name_ack) (int *fd, int *acc, const char *name, int *type, int *result);
+typedef int (*HPMHOOK_pre_chr_changecharsex) (int *char_id, int *sex);
+typedef int (*HPMHOOK_post_chr_changecharsex) (int retVal___, int *char_id, int *sex);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_change_account) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_change_account) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_fame_list) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_fame_list) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_divorce_char) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_divorce_char) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_ragsrvinfo) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_ragsrvinfo) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_set_char_offline) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_set_char_offline) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_set_all_offline) (int *fd, int *id);
+typedef void (*HPMHOOK_post_chr_parse_frommap_set_all_offline) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_set_char_online) (int *fd, int *id);
+typedef void (*HPMHOOK_post_chr_parse_frommap_set_char_online) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_build_fame_list) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_build_fame_list) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_save_status_change_data) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_save_status_change_data) (int *fd);
+typedef void (*HPMHOOK_pre_chr_send_pong) (int *fd);
+typedef void (*HPMHOOK_post_chr_send_pong) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_ping) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_ping) (int *fd);
+typedef void (*HPMHOOK_pre_chr_map_auth_ok) (int *fd, int *account_id, struct char_auth_node *node, struct mmo_charstatus *cd);
+typedef void (*HPMHOOK_post_chr_map_auth_ok) (int *fd, int *account_id, struct char_auth_node *node, struct mmo_charstatus *cd);
+typedef void (*HPMHOOK_pre_chr_map_auth_failed) (int *fd, int *account_id, int *char_id, int *login_id1, char *sex, uint32 *ip);
+typedef void (*HPMHOOK_post_chr_map_auth_failed) (int *fd, int *account_id, int *char_id, int *login_id1, char *sex, uint32 *ip);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_auth_request) (int *fd, int *id);
+typedef void (*HPMHOOK_post_chr_parse_frommap_auth_request) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_update_ip) (int *fd, int *id);
+typedef void (*HPMHOOK_post_chr_parse_frommap_update_ip) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_request_stats_report) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_request_stats_report) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_scdata_update) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_scdata_update) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_frommap_scdata_delete) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_frommap_scdata_delete) (int *fd);
+typedef int (*HPMHOOK_pre_chr_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_chr_parse_frommap) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_chr_search_mapserver) (unsigned short *map, uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_post_chr_search_mapserver) (int retVal___, unsigned short *map, uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_pre_chr_mapif_init) (int *fd);
+typedef int (*HPMHOOK_post_chr_mapif_init) (int retVal___, int *fd);
+typedef uint32 (*HPMHOOK_pre_chr_lan_subnet_check) (uint32 *ip);
+typedef uint32 (*HPMHOOK_post_chr_lan_subnet_check) (uint32 retVal___, uint32 *ip);
+typedef void (*HPMHOOK_pre_chr_delete2_ack) (int *fd, int *char_id, uint32 *result, time_t *delete_date);
+typedef void (*HPMHOOK_post_chr_delete2_ack) (int *fd, int *char_id, uint32 *result, time_t *delete_date);
+typedef void (*HPMHOOK_pre_chr_delete2_accept_actual_ack) (int *fd, int *char_id, uint32 *result);
+typedef void (*HPMHOOK_post_chr_delete2_accept_actual_ack) (int *fd, int *char_id, uint32 *result);
+typedef void (*HPMHOOK_pre_chr_delete2_accept_ack) (int *fd, int *char_id, uint32 *result);
+typedef void (*HPMHOOK_post_chr_delete2_accept_ack) (int *fd, int *char_id, uint32 *result);
+typedef void (*HPMHOOK_pre_chr_delete2_cancel_ack) (int *fd, int *char_id, uint32 *result);
+typedef void (*HPMHOOK_post_chr_delete2_cancel_ack) (int *fd, int *char_id, uint32 *result);
+typedef void (*HPMHOOK_pre_chr_delete2_req) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_delete2_req) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_delete2_accept) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_delete2_accept) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_delete2_cancel) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_delete2_cancel) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_send_account_id) (int *fd, int *account_id);
+typedef void (*HPMHOOK_post_chr_send_account_id) (int *fd, int *account_id);
+typedef void (*HPMHOOK_pre_chr_parse_char_connect) (int *fd, struct char_session_data *sd, uint32 *ipl);
+typedef void (*HPMHOOK_post_chr_parse_char_connect) (int *fd, struct char_session_data *sd, uint32 *ipl);
+typedef void (*HPMHOOK_pre_chr_send_map_info) (int *fd, int *i, uint32 *subnet_map_ip, struct mmo_charstatus *cd);
+typedef void (*HPMHOOK_post_chr_send_map_info) (int *fd, int *i, uint32 *subnet_map_ip, struct mmo_charstatus *cd);
+typedef void (*HPMHOOK_pre_chr_send_wait_char_server) (int *fd);
+typedef void (*HPMHOOK_post_chr_send_wait_char_server) (int *fd);
+typedef int (*HPMHOOK_pre_chr_search_default_maps_mapserver) (struct mmo_charstatus *cd);
+typedef int (*HPMHOOK_post_chr_search_default_maps_mapserver) (int retVal___, struct mmo_charstatus *cd);
+typedef void (*HPMHOOK_pre_chr_parse_char_select) (int *fd, struct char_session_data *sd, uint32 *ipl);
+typedef void (*HPMHOOK_post_chr_parse_char_select) (int *fd, struct char_session_data *sd, uint32 *ipl);
+typedef void (*HPMHOOK_pre_chr_creation_failed) (int *fd, int *result);
+typedef void (*HPMHOOK_post_chr_creation_failed) (int *fd, int *result);
+typedef void (*HPMHOOK_pre_chr_creation_ok) (int *fd, struct mmo_charstatus *char_dat);
+typedef void (*HPMHOOK_post_chr_creation_ok) (int *fd, struct mmo_charstatus *char_dat);
+typedef void (*HPMHOOK_pre_chr_parse_char_create_new_char) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_create_new_char) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_delete_char_failed) (int *fd, int *flag);
+typedef void (*HPMHOOK_post_chr_delete_char_failed) (int *fd, int *flag);
+typedef void (*HPMHOOK_pre_chr_delete_char_ok) (int *fd);
+typedef void (*HPMHOOK_post_chr_delete_char_ok) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_char_delete_char) (int *fd, struct char_session_data *sd, unsigned short *cmd);
+typedef void (*HPMHOOK_post_chr_parse_char_delete_char) (int *fd, struct char_session_data *sd, unsigned short *cmd);
+typedef void (*HPMHOOK_pre_chr_parse_char_ping) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_char_ping) (int *fd);
+typedef void (*HPMHOOK_pre_chr_allow_rename) (int *fd, int *flag);
+typedef void (*HPMHOOK_post_chr_allow_rename) (int *fd, int *flag);
+typedef void (*HPMHOOK_pre_chr_parse_char_rename_char) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_rename_char) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_parse_char_rename_char2) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_rename_char2) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_rename_char_ack) (int *fd, int *flag);
+typedef void (*HPMHOOK_post_chr_rename_char_ack) (int *fd, int *flag);
+typedef void (*HPMHOOK_pre_chr_parse_char_rename_char_confirm) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_rename_char_confirm) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_captcha_notsupported) (int *fd);
+typedef void (*HPMHOOK_post_chr_captcha_notsupported) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_char_request_captcha) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_char_request_captcha) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_char_check_captcha) (int *fd);
+typedef void (*HPMHOOK_post_chr_parse_char_check_captcha) (int *fd);
+typedef void (*HPMHOOK_pre_chr_parse_char_delete2_req) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_delete2_req) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_parse_char_delete2_accept) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_delete2_accept) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_parse_char_delete2_cancel) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_delete2_cancel) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_login_map_server_ack) (int *fd, uint8 *flag);
+typedef void (*HPMHOOK_post_chr_login_map_server_ack) (int *fd, uint8 *flag);
+typedef void (*HPMHOOK_pre_chr_parse_char_login_map_server) (int *fd, uint32 *ipl);
+typedef void (*HPMHOOK_post_chr_parse_char_login_map_server) (int *fd, uint32 *ipl);
+typedef void (*HPMHOOK_pre_chr_parse_char_pincode_check) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_pincode_check) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_parse_char_pincode_window) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_pincode_window) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_parse_char_pincode_change) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_pincode_change) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_parse_char_pincode_first_pin) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_pincode_first_pin) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_parse_char_request_chars) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_request_chars) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_chr_change_character_slot_ack) (int *fd, bool *ret);
+typedef void (*HPMHOOK_post_chr_change_character_slot_ack) (int *fd, bool *ret);
+typedef void (*HPMHOOK_pre_chr_parse_char_move_character) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_chr_parse_char_move_character) (int *fd, struct char_session_data *sd);
+typedef int (*HPMHOOK_pre_chr_parse_char_unknown_packet) (int *fd, uint32 *ipl);
+typedef int (*HPMHOOK_post_chr_parse_char_unknown_packet) (int retVal___, int *fd, uint32 *ipl);
+typedef int (*HPMHOOK_pre_chr_parse_char) (int *fd);
+typedef int (*HPMHOOK_post_chr_parse_char) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_chr_broadcast_user_count) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_chr_broadcast_user_count) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_chr_send_accounts_tologin_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_chr_send_accounts_tologin_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_chr_send_accounts_tologin) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_chr_send_accounts_tologin) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_chr_check_connect_login_server) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_chr_check_connect_login_server) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_chr_online_data_cleanup_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_chr_online_data_cleanup_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_chr_online_data_cleanup) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_chr_online_data_cleanup) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_chr_sql_config_read) (const char *cfgName);
+typedef void (*HPMHOOK_post_chr_sql_config_read) (const char *cfgName);
+typedef void (*HPMHOOK_pre_chr_config_dispatch) (char *w1, char *w2);
+typedef void (*HPMHOOK_post_chr_config_dispatch) (char *w1, char *w2);
+typedef int (*HPMHOOK_pre_chr_config_read) (const char *cfgName);
+typedef int (*HPMHOOK_post_chr_config_read) (int retVal___, const char *cfgName);
+#endif // CHAR_CHAR_H
+#ifdef MAP_CHAT_H /* chat */
+typedef bool (*HPMHOOK_pre_chat_create_pc_chat) (struct map_session_data *sd, const char *title, const char *pass, int *limit, bool *pub);
+typedef bool (*HPMHOOK_post_chat_create_pc_chat) (bool retVal___, struct map_session_data *sd, const char *title, const char *pass, int *limit, bool *pub);
+typedef bool (*HPMHOOK_pre_chat_join) (struct map_session_data *sd, int *chatid, const char *pass);
+typedef bool (*HPMHOOK_post_chat_join) (bool retVal___, struct map_session_data *sd, int *chatid, const char *pass);
+typedef int (*HPMHOOK_pre_chat_leave) (struct map_session_data *sd, bool *kicked);
+typedef int (*HPMHOOK_post_chat_leave) (int retVal___, struct map_session_data *sd, bool *kicked);
+typedef bool (*HPMHOOK_pre_chat_change_owner) (struct map_session_data *sd, const char *nextownername);
+typedef bool (*HPMHOOK_post_chat_change_owner) (bool retVal___, struct map_session_data *sd, const char *nextownername);
+typedef bool (*HPMHOOK_pre_chat_change_status) (struct map_session_data *sd, const char *title, const char *pass, int *limit, bool *pub);
+typedef bool (*HPMHOOK_post_chat_change_status) (bool retVal___, struct map_session_data *sd, const char *title, const char *pass, int *limit, bool *pub);
+typedef bool (*HPMHOOK_pre_chat_kick) (struct map_session_data *sd, const char *kickusername);
+typedef bool (*HPMHOOK_post_chat_kick) (bool retVal___, struct map_session_data *sd, const char *kickusername);
+typedef bool (*HPMHOOK_pre_chat_create_npc_chat) (struct npc_data *nd, const char *title, int *limit, bool *pub, int *trigger, const char *ev, int *zeny, int *minLvl, int *maxLvl);
+typedef bool (*HPMHOOK_post_chat_create_npc_chat) (bool retVal___, struct npc_data *nd, const char *title, int *limit, bool *pub, int *trigger, const char *ev, int *zeny, int *minLvl, int *maxLvl);
+typedef bool (*HPMHOOK_pre_chat_delete_npc_chat) (struct npc_data *nd);
+typedef bool (*HPMHOOK_post_chat_delete_npc_chat) (bool retVal___, struct npc_data *nd);
+typedef bool (*HPMHOOK_pre_chat_enable_event) (struct chat_data *cd);
+typedef bool (*HPMHOOK_post_chat_enable_event) (bool retVal___, struct chat_data *cd);
+typedef bool (*HPMHOOK_pre_chat_disable_event) (struct chat_data *cd);
+typedef bool (*HPMHOOK_post_chat_disable_event) (bool retVal___, struct chat_data *cd);
+typedef bool (*HPMHOOK_pre_chat_npc_kick_all) (struct chat_data *cd);
+typedef bool (*HPMHOOK_post_chat_npc_kick_all) (bool retVal___, struct chat_data *cd);
+typedef bool (*HPMHOOK_pre_chat_trigger_event) (struct chat_data *cd);
+typedef bool (*HPMHOOK_post_chat_trigger_event) (bool retVal___, struct chat_data *cd);
+typedef struct chat_data* (*HPMHOOK_pre_chat_create) (struct block_list *bl, const char *title, const char *pass, int *limit, bool *pub, int *trigger, const char *ev, int *zeny, int *minLvl, int *maxLvl);
+typedef struct chat_data* (*HPMHOOK_post_chat_create) (struct chat_data* retVal___, struct block_list *bl, const char *title, const char *pass, int *limit, bool *pub, int *trigger, const char *ev, int *zeny, int *minLvl, int *maxLvl);
+#endif // MAP_CHAT_H
+#ifdef MAP_CHRIF_H /* chrif */
+typedef void (*HPMHOOK_pre_chrif_init) (bool *minimal);
+typedef void (*HPMHOOK_post_chrif_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_chrif_final) (void);
+typedef void (*HPMHOOK_post_chrif_final) (void);
+typedef void (*HPMHOOK_pre_chrif_setuserid) (char *id);
+typedef void (*HPMHOOK_post_chrif_setuserid) (char *id);
+typedef void (*HPMHOOK_pre_chrif_setpasswd) (char *pwd);
+typedef void (*HPMHOOK_post_chrif_setpasswd) (char *pwd);
+typedef void (*HPMHOOK_pre_chrif_checkdefaultlogin) (void);
+typedef void (*HPMHOOK_post_chrif_checkdefaultlogin) (void);
+typedef bool (*HPMHOOK_pre_chrif_setip) (const char *ip);
+typedef bool (*HPMHOOK_post_chrif_setip) (bool retVal___, const char *ip);
+typedef void (*HPMHOOK_pre_chrif_setport) (uint16 *port);
+typedef void (*HPMHOOK_post_chrif_setport) (uint16 *port);
+typedef int (*HPMHOOK_pre_chrif_isconnected) (void);
+typedef int (*HPMHOOK_post_chrif_isconnected) (int retVal___);
+typedef void (*HPMHOOK_pre_chrif_check_shutdown) (void);
+typedef void (*HPMHOOK_post_chrif_check_shutdown) (void);
+typedef struct auth_node* (*HPMHOOK_pre_chrif_search) (int *account_id);
+typedef struct auth_node* (*HPMHOOK_post_chrif_search) (struct auth_node* retVal___, int *account_id);
+typedef struct auth_node* (*HPMHOOK_pre_chrif_auth_check) (int *account_id, int *char_id, enum sd_state *state);
+typedef struct auth_node* (*HPMHOOK_post_chrif_auth_check) (struct auth_node* retVal___, int *account_id, int *char_id, enum sd_state *state);
+typedef bool (*HPMHOOK_pre_chrif_auth_delete) (int *account_id, int *char_id, enum sd_state *state);
+typedef bool (*HPMHOOK_post_chrif_auth_delete) (bool retVal___, int *account_id, int *char_id, enum sd_state *state);
+typedef bool (*HPMHOOK_pre_chrif_auth_finished) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_chrif_auth_finished) (bool retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_chrif_authreq) (struct map_session_data *sd, bool *hstandalone);
+typedef void (*HPMHOOK_post_chrif_authreq) (struct map_session_data *sd, bool *hstandalone);
+typedef void (*HPMHOOK_pre_chrif_authok) (int *fd);
+typedef void (*HPMHOOK_post_chrif_authok) (int *fd);
+typedef bool (*HPMHOOK_pre_chrif_scdata_request) (int *account_id, int *char_id);
+typedef bool (*HPMHOOK_post_chrif_scdata_request) (bool retVal___, int *account_id, int *char_id);
+typedef bool (*HPMHOOK_pre_chrif_save) (struct map_session_data *sd, int *flag);
+typedef bool (*HPMHOOK_post_chrif_save) (bool retVal___, struct map_session_data *sd, int *flag);
+typedef bool (*HPMHOOK_pre_chrif_charselectreq) (struct map_session_data *sd, uint32 *s_ip);
+typedef bool (*HPMHOOK_post_chrif_charselectreq) (bool retVal___, struct map_session_data *sd, uint32 *s_ip);
+typedef bool (*HPMHOOK_pre_chrif_changemapserver) (struct map_session_data *sd, uint32 *ip, uint16 *port);
+typedef bool (*HPMHOOK_post_chrif_changemapserver) (bool retVal___, struct map_session_data *sd, uint32 *ip, uint16 *port);
+typedef bool (*HPMHOOK_pre_chrif_searchcharid) (int *char_id);
+typedef bool (*HPMHOOK_post_chrif_searchcharid) (bool retVal___, int *char_id);
+typedef bool (*HPMHOOK_pre_chrif_changeemail) (int *id, const char *actual_email, const char *new_email);
+typedef bool (*HPMHOOK_post_chrif_changeemail) (bool retVal___, int *id, const char *actual_email, const char *new_email);
+typedef bool (*HPMHOOK_pre_chrif_char_ask_name) (int *acc, const char *character_name, unsigned short *operation_type, int *year, int *month, int *day, int *hour, int *minute, int *second);
+typedef bool (*HPMHOOK_post_chrif_char_ask_name) (bool retVal___, int *acc, const char *character_name, unsigned short *operation_type, int *year, int *month, int *day, int *hour, int *minute, int *second);
+typedef int (*HPMHOOK_pre_chrif_updatefamelist) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_chrif_updatefamelist) (int retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_chrif_buildfamelist) (void);
+typedef bool (*HPMHOOK_post_chrif_buildfamelist) (bool retVal___);
+typedef bool (*HPMHOOK_pre_chrif_save_scdata) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_chrif_save_scdata) (bool retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_chrif_ragsrvinfo) (int *base_rate, int *job_rate, int *drop_rate);
+typedef bool (*HPMHOOK_post_chrif_ragsrvinfo) (bool retVal___, int *base_rate, int *job_rate, int *drop_rate);
+typedef bool (*HPMHOOK_pre_chrif_char_offline_nsd) (int *account_id, int *char_id);
+typedef bool (*HPMHOOK_post_chrif_char_offline_nsd) (bool retVal___, int *account_id, int *char_id);
+typedef bool (*HPMHOOK_pre_chrif_char_reset_offline) (void);
+typedef bool (*HPMHOOK_post_chrif_char_reset_offline) (bool retVal___);
+typedef bool (*HPMHOOK_pre_chrif_send_users_tochar) (void);
+typedef bool (*HPMHOOK_post_chrif_send_users_tochar) (bool retVal___);
+typedef bool (*HPMHOOK_pre_chrif_char_online) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_chrif_char_online) (bool retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_chrif_changesex) (struct map_session_data *sd, bool *change_account);
+typedef bool (*HPMHOOK_post_chrif_changesex) (bool retVal___, struct map_session_data *sd, bool *change_account);
+typedef bool (*HPMHOOK_pre_chrif_divorce) (int *partner_id1, int *partner_id2);
+typedef bool (*HPMHOOK_post_chrif_divorce) (bool retVal___, int *partner_id1, int *partner_id2);
+typedef bool (*HPMHOOK_pre_chrif_removefriend) (int *char_id, int *friend_id);
+typedef bool (*HPMHOOK_post_chrif_removefriend) (bool retVal___, int *char_id, int *friend_id);
+typedef void (*HPMHOOK_pre_chrif_send_report) (char *buf, int *len);
+typedef void (*HPMHOOK_post_chrif_send_report) (char *buf, int *len);
+typedef bool (*HPMHOOK_pre_chrif_flush) (void);
+typedef bool (*HPMHOOK_post_chrif_flush) (bool retVal___);
+typedef void (*HPMHOOK_pre_chrif_skillid2idx) (int *fd);
+typedef void (*HPMHOOK_post_chrif_skillid2idx) (int *fd);
+typedef bool (*HPMHOOK_pre_chrif_sd_to_auth) (struct map_session_data *sd, enum sd_state *state);
+typedef bool (*HPMHOOK_post_chrif_sd_to_auth) (bool retVal___, struct map_session_data *sd, enum sd_state *state);
+typedef int (*HPMHOOK_pre_chrif_check_connect_char_server) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_chrif_check_connect_char_server) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef bool (*HPMHOOK_pre_chrif_auth_logout) (struct map_session_data *sd, enum sd_state *state);
+typedef bool (*HPMHOOK_post_chrif_auth_logout) (bool retVal___, struct map_session_data *sd, enum sd_state *state);
+typedef void (*HPMHOOK_pre_chrif_save_ack) (int *fd);
+typedef void (*HPMHOOK_post_chrif_save_ack) (int *fd);
+typedef int (*HPMHOOK_pre_chrif_reconnect) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_chrif_reconnect) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_chrif_auth_db_cleanup_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_chrif_auth_db_cleanup_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef bool (*HPMHOOK_pre_chrif_char_ask_name_answer) (int *acc, const char *player_name, uint16 *type, uint16 *answer);
+typedef bool (*HPMHOOK_post_chrif_char_ask_name_answer) (bool retVal___, int *acc, const char *player_name, uint16 *type, uint16 *answer);
+typedef int (*HPMHOOK_pre_chrif_auth_db_final) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_chrif_auth_db_final) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_chrif_send_usercount_tochar) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_chrif_send_usercount_tochar) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_chrif_auth_db_cleanup) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_chrif_auth_db_cleanup) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_chrif_connect) (int *fd);
+typedef void (*HPMHOOK_post_chrif_connect) (int *fd);
+typedef void (*HPMHOOK_pre_chrif_connectack) (int *fd);
+typedef void (*HPMHOOK_post_chrif_connectack) (int *fd);
+typedef void (*HPMHOOK_pre_chrif_sendmap) (int *fd);
+typedef void (*HPMHOOK_post_chrif_sendmap) (int *fd);
+typedef void (*HPMHOOK_pre_chrif_sendmapack) (int *fd);
+typedef void (*HPMHOOK_post_chrif_sendmapack) (int *fd);
+typedef void (*HPMHOOK_pre_chrif_recvmap) (int *fd);
+typedef void (*HPMHOOK_post_chrif_recvmap) (int *fd);
+typedef bool (*HPMHOOK_pre_chrif_changemapserverack) (int *account_id, int *login_id1, int *login_id2, int *char_id, short *map_index, short *x, short *y, uint32 *ip, uint16 *port);
+typedef bool (*HPMHOOK_post_chrif_changemapserverack) (bool retVal___, int *account_id, int *login_id1, int *login_id2, int *char_id, short *map_index, short *x, short *y, uint32 *ip, uint16 *port);
+typedef void (*HPMHOOK_pre_chrif_changedsex) (int *fd);
+typedef void (*HPMHOOK_post_chrif_changedsex) (int *fd);
+typedef bool (*HPMHOOK_pre_chrif_divorceack) (int *char_id, int *partner_id);
+typedef bool (*HPMHOOK_post_chrif_divorceack) (bool retVal___, int *char_id, int *partner_id);
+typedef void (*HPMHOOK_pre_chrif_idbanned) (int *fd);
+typedef void (*HPMHOOK_post_chrif_idbanned) (int *fd);
+typedef void (*HPMHOOK_pre_chrif_recvfamelist) (int *fd);
+typedef void (*HPMHOOK_post_chrif_recvfamelist) (int *fd);
+typedef bool (*HPMHOOK_pre_chrif_load_scdata) (int *fd);
+typedef bool (*HPMHOOK_post_chrif_load_scdata) (bool retVal___, int *fd);
+typedef void (*HPMHOOK_pre_chrif_update_ip) (int *fd);
+typedef void (*HPMHOOK_post_chrif_update_ip) (int *fd);
+typedef int (*HPMHOOK_pre_chrif_disconnectplayer) (int *fd);
+typedef int (*HPMHOOK_post_chrif_disconnectplayer) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_chrif_removemap) (int *fd);
+typedef void (*HPMHOOK_post_chrif_removemap) (int *fd);
+typedef int (*HPMHOOK_pre_chrif_updatefamelist_ack) (int *fd);
+typedef int (*HPMHOOK_post_chrif_updatefamelist_ack) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_chrif_keepalive) (int *fd);
+typedef void (*HPMHOOK_post_chrif_keepalive) (int *fd);
+typedef void (*HPMHOOK_pre_chrif_keepalive_ack) (int *fd);
+typedef void (*HPMHOOK_post_chrif_keepalive_ack) (int *fd);
+typedef void (*HPMHOOK_pre_chrif_deadopt) (int *father_id, int *mother_id, int *child_id);
+typedef void (*HPMHOOK_post_chrif_deadopt) (int *father_id, int *mother_id, int *child_id);
+typedef void (*HPMHOOK_pre_chrif_authfail) (int *fd);
+typedef void (*HPMHOOK_post_chrif_authfail) (int *fd);
+typedef void (*HPMHOOK_pre_chrif_on_ready) (void);
+typedef void (*HPMHOOK_post_chrif_on_ready) (void);
+typedef void (*HPMHOOK_pre_chrif_on_disconnect) (void);
+typedef void (*HPMHOOK_post_chrif_on_disconnect) (void);
+typedef int (*HPMHOOK_pre_chrif_parse) (int *fd);
+typedef int (*HPMHOOK_post_chrif_parse) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_chrif_save_scdata_single) (int *account_id, int *char_id, short *type, struct status_change_entry *sce);
+typedef void (*HPMHOOK_post_chrif_save_scdata_single) (int *account_id, int *char_id, short *type, struct status_change_entry *sce);
+typedef void (*HPMHOOK_pre_chrif_del_scdata_single) (int *account_id, int *char_id, short *type);
+typedef void (*HPMHOOK_post_chrif_del_scdata_single) (int *account_id, int *char_id, short *type);
+#endif // MAP_CHRIF_H
+#ifdef MAP_CLIF_H /* clif */
+typedef int (*HPMHOOK_pre_clif_init) (bool *minimal);
+typedef int (*HPMHOOK_post_clif_init) (int retVal___, bool *minimal);
+typedef void (*HPMHOOK_pre_clif_final) (void);
+typedef void (*HPMHOOK_post_clif_final) (void);
+typedef bool (*HPMHOOK_pre_clif_setip) (const char *ip);
+typedef bool (*HPMHOOK_post_clif_setip) (bool retVal___, const char *ip);
+typedef bool (*HPMHOOK_pre_clif_setbindip) (const char *ip);
+typedef bool (*HPMHOOK_post_clif_setbindip) (bool retVal___, const char *ip);
+typedef void (*HPMHOOK_pre_clif_setport) (uint16 *port);
+typedef void (*HPMHOOK_post_clif_setport) (uint16 *port);
+typedef uint32 (*HPMHOOK_pre_clif_refresh_ip) (void);
+typedef uint32 (*HPMHOOK_post_clif_refresh_ip) (uint32 retVal___);
+typedef bool (*HPMHOOK_pre_clif_send) (const void *buf, int *len, struct block_list *bl, enum send_target *type);
+typedef bool (*HPMHOOK_post_clif_send) (bool retVal___, const void *buf, int *len, struct block_list *bl, enum send_target *type);
+typedef int (*HPMHOOK_pre_clif_send_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_clif_send_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_clif_send_actual) (int *fd, void *buf, int *len);
+typedef int (*HPMHOOK_post_clif_send_actual) (int retVal___, int *fd, void *buf, int *len);
+typedef int (*HPMHOOK_pre_clif_parse) (int *fd);
+typedef int (*HPMHOOK_post_clif_parse) (int retVal___, int *fd);
+typedef const struct s_packet_db* (*HPMHOOK_pre_clif_packet) (int *packet_id);
+typedef const struct s_packet_db* (*HPMHOOK_post_clif_packet) (const struct s_packet_db* retVal___, int *packet_id);
+typedef unsigned short (*HPMHOOK_pre_clif_parse_cmd) (int *fd, struct map_session_data *sd);
+typedef unsigned short (*HPMHOOK_post_clif_parse_cmd) (unsigned short retVal___, int *fd, struct map_session_data *sd);
+typedef unsigned short (*HPMHOOK_pre_clif_decrypt_cmd) (int *cmd, struct map_session_data *sd);
+typedef unsigned short (*HPMHOOK_post_clif_decrypt_cmd) (unsigned short retVal___, int *cmd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_authok) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_authok) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_authrefuse) (int *fd, uint8 *error_code);
+typedef void (*HPMHOOK_post_clif_authrefuse) (int *fd, uint8 *error_code);
+typedef void (*HPMHOOK_pre_clif_authfail_fd) (int *fd, int *type);
+typedef void (*HPMHOOK_post_clif_authfail_fd) (int *fd, int *type);
+typedef void (*HPMHOOK_pre_clif_charselectok) (int *id, uint8 *ok);
+typedef void (*HPMHOOK_post_clif_charselectok) (int *id, uint8 *ok);
+typedef void (*HPMHOOK_pre_clif_dropflooritem) (struct flooritem_data *fitem);
+typedef void (*HPMHOOK_post_clif_dropflooritem) (struct flooritem_data *fitem);
+typedef void (*HPMHOOK_pre_clif_clearflooritem) (struct flooritem_data *fitem, int *fd);
+typedef void (*HPMHOOK_post_clif_clearflooritem) (struct flooritem_data *fitem, int *fd);
+typedef void (*HPMHOOK_pre_clif_additem) (struct map_session_data *sd, int *n, int *amount, int *fail);
+typedef void (*HPMHOOK_post_clif_additem) (struct map_session_data *sd, int *n, int *amount, int *fail);
+typedef void (*HPMHOOK_pre_clif_dropitem) (struct map_session_data *sd, int *n, int *amount);
+typedef void (*HPMHOOK_post_clif_dropitem) (struct map_session_data *sd, int *n, int *amount);
+typedef void (*HPMHOOK_pre_clif_delitem) (struct map_session_data *sd, int *n, int *amount, short *reason);
+typedef void (*HPMHOOK_post_clif_delitem) (struct map_session_data *sd, int *n, int *amount, short *reason);
+typedef void (*HPMHOOK_pre_clif_takeitem) (struct block_list *src, struct block_list *dst);
+typedef void (*HPMHOOK_post_clif_takeitem) (struct block_list *src, struct block_list *dst);
+typedef void (*HPMHOOK_pre_clif_item_equip) (short *idx, struct EQUIPITEM_INFO *p, struct item *i, struct item_data *id, int *eqp_pos);
+typedef void (*HPMHOOK_post_clif_item_equip) (short *idx, struct EQUIPITEM_INFO *p, struct item *i, struct item_data *id, int *eqp_pos);
+typedef void (*HPMHOOK_pre_clif_item_normal) (short *idx, struct NORMALITEM_INFO *p, struct item *i, struct item_data *id);
+typedef void (*HPMHOOK_post_clif_item_normal) (short *idx, struct NORMALITEM_INFO *p, struct item *i, struct item_data *id);
+typedef void (*HPMHOOK_pre_clif_arrowequip) (struct map_session_data *sd, int *val);
+typedef void (*HPMHOOK_post_clif_arrowequip) (struct map_session_data *sd, int *val);
+typedef void (*HPMHOOK_pre_clif_arrow_fail) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_post_clif_arrow_fail) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_clif_use_card) (struct map_session_data *sd, int *idx);
+typedef void (*HPMHOOK_post_clif_use_card) (struct map_session_data *sd, int *idx);
+typedef void (*HPMHOOK_pre_clif_cart_additem) (struct map_session_data *sd, int *n, int *amount, int *fail);
+typedef void (*HPMHOOK_post_clif_cart_additem) (struct map_session_data *sd, int *n, int *amount, int *fail);
+typedef void (*HPMHOOK_pre_clif_cart_delitem) (struct map_session_data *sd, int *n, int *amount);
+typedef void (*HPMHOOK_post_clif_cart_delitem) (struct map_session_data *sd, int *n, int *amount);
+typedef void (*HPMHOOK_pre_clif_equipitemack) (struct map_session_data *sd, int *n, int *pos, enum e_EQUIP_ITEM_ACK *result);
+typedef void (*HPMHOOK_post_clif_equipitemack) (struct map_session_data *sd, int *n, int *pos, enum e_EQUIP_ITEM_ACK *result);
+typedef void (*HPMHOOK_pre_clif_unequipitemack) (struct map_session_data *sd, int *n, int *pos, enum e_UNEQUIP_ITEM_ACK *result);
+typedef void (*HPMHOOK_post_clif_unequipitemack) (struct map_session_data *sd, int *n, int *pos, enum e_UNEQUIP_ITEM_ACK *result);
+typedef void (*HPMHOOK_pre_clif_useitemack) (struct map_session_data *sd, int *index, int *amount, bool *ok);
+typedef void (*HPMHOOK_post_clif_useitemack) (struct map_session_data *sd, int *index, int *amount, bool *ok);
+typedef void (*HPMHOOK_pre_clif_addcards) (unsigned char *buf, struct item *item);
+typedef void (*HPMHOOK_post_clif_addcards) (unsigned char *buf, struct item *item);
+typedef void (*HPMHOOK_pre_clif_addcards2) (unsigned short *cards, struct item *item);
+typedef void (*HPMHOOK_post_clif_addcards2) (unsigned short *cards, struct item *item);
+typedef void (*HPMHOOK_pre_clif_item_sub) (unsigned char *buf, int *n, struct item *i, struct item_data *id, int *equip);
+typedef void (*HPMHOOK_post_clif_item_sub) (unsigned char *buf, int *n, struct item *i, struct item_data *id, int *equip);
+typedef void (*HPMHOOK_pre_clif_getareachar_item) (struct map_session_data *sd, struct flooritem_data *fitem);
+typedef void (*HPMHOOK_post_clif_getareachar_item) (struct map_session_data *sd, struct flooritem_data *fitem);
+typedef void (*HPMHOOK_pre_clif_cart_additem_ack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_cart_additem_ack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_cashshop_load) (void);
+typedef void (*HPMHOOK_post_clif_cashshop_load) (void);
+typedef void (*HPMHOOK_pre_clif_package_announce) (struct map_session_data *sd, unsigned short *nameid, unsigned short *containerid);
+typedef void (*HPMHOOK_post_clif_package_announce) (struct map_session_data *sd, unsigned short *nameid, unsigned short *containerid);
+typedef void (*HPMHOOK_pre_clif_item_drop_announce) (struct map_session_data *sd, unsigned short *nameid, char *monsterName);
+typedef void (*HPMHOOK_post_clif_item_drop_announce) (struct map_session_data *sd, unsigned short *nameid, char *monsterName);
+typedef void (*HPMHOOK_pre_clif_clearunit_single) (int *id, clr_type *type, int *fd);
+typedef void (*HPMHOOK_post_clif_clearunit_single) (int *id, clr_type *type, int *fd);
+typedef void (*HPMHOOK_pre_clif_clearunit_area) (struct block_list *bl, clr_type *type);
+typedef void (*HPMHOOK_post_clif_clearunit_area) (struct block_list *bl, clr_type *type);
+typedef void (*HPMHOOK_pre_clif_clearunit_delayed) (struct block_list *bl, clr_type *type, int64 *tick);
+typedef void (*HPMHOOK_post_clif_clearunit_delayed) (struct block_list *bl, clr_type *type, int64 *tick);
+typedef void (*HPMHOOK_pre_clif_walkok) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_walkok) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_move) (struct unit_data *ud);
+typedef void (*HPMHOOK_post_clif_move) (struct unit_data *ud);
+typedef void (*HPMHOOK_pre_clif_move2) (struct block_list *bl, struct view_data *vd, struct unit_data *ud);
+typedef void (*HPMHOOK_post_clif_move2) (struct block_list *bl, struct view_data *vd, struct unit_data *ud);
+typedef void (*HPMHOOK_pre_clif_blown) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_blown) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_slide) (struct block_list *bl, int *x, int *y);
+typedef void (*HPMHOOK_post_clif_slide) (struct block_list *bl, int *x, int *y);
+typedef void (*HPMHOOK_pre_clif_fixpos) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_fixpos) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_changelook) (struct block_list *bl, int *type, int *val);
+typedef void (*HPMHOOK_post_clif_changelook) (struct block_list *bl, int *type, int *val);
+typedef void (*HPMHOOK_pre_clif_changetraplook) (struct block_list *bl, int *val);
+typedef void (*HPMHOOK_post_clif_changetraplook) (struct block_list *bl, int *val);
+typedef void (*HPMHOOK_pre_clif_refreshlook) (struct block_list *bl, int *id, int *type, int *val, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_refreshlook) (struct block_list *bl, int *id, int *type, int *val, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_sendlook) (struct block_list *bl, int *id, int *type, int *val, int *val2, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_sendlook) (struct block_list *bl, int *id, int *type, int *val, int *val2, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_class_change) (struct block_list *bl, int *class_, int *type);
+typedef void (*HPMHOOK_post_clif_class_change) (struct block_list *bl, int *class_, int *type);
+typedef void (*HPMHOOK_pre_clif_skill_delunit) (struct skill_unit *su);
+typedef void (*HPMHOOK_post_clif_skill_delunit) (struct skill_unit *su);
+typedef void (*HPMHOOK_pre_clif_skillunit_update) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_skillunit_update) (struct block_list *bl);
+typedef int (*HPMHOOK_pre_clif_clearunit_delayed_sub) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_clif_clearunit_delayed_sub) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_clif_set_unit_idle) (struct block_list *bl, struct map_session_data *tsd, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_set_unit_idle) (struct block_list *bl, struct map_session_data *tsd, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_spawn_unit) (struct block_list *bl, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_spawn_unit) (struct block_list *bl, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_spawn_unit2) (struct block_list *bl, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_spawn_unit2) (struct block_list *bl, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_set_unit_idle2) (struct block_list *bl, struct map_session_data *tsd, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_set_unit_idle2) (struct block_list *bl, struct map_session_data *tsd, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_set_unit_walking) (struct block_list *bl, struct map_session_data *tsd, struct unit_data *ud, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_set_unit_walking) (struct block_list *bl, struct map_session_data *tsd, struct unit_data *ud, enum send_target *target);
+typedef int (*HPMHOOK_pre_clif_calc_walkdelay) (struct block_list *bl, int *delay, int *type, int *damage, int *div_);
+typedef int (*HPMHOOK_post_clif_calc_walkdelay) (int retVal___, struct block_list *bl, int *delay, int *type, int *damage, int *div_);
+typedef void (*HPMHOOK_pre_clif_getareachar_skillunit) (struct block_list *bl, struct skill_unit *su, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_getareachar_skillunit) (struct block_list *bl, struct skill_unit *su, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_getareachar_unit) (struct map_session_data *sd, struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_getareachar_unit) (struct map_session_data *sd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_clearchar_skillunit) (struct skill_unit *su, int *fd);
+typedef void (*HPMHOOK_post_clif_clearchar_skillunit) (struct skill_unit *su, int *fd);
+typedef int (*HPMHOOK_pre_clif_getareachar) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_clif_getareachar) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_clif_graffiti_entry) (struct block_list *bl, struct skill_unit *su, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_graffiti_entry) (struct block_list *bl, struct skill_unit *su, enum send_target *target);
+typedef bool (*HPMHOOK_pre_clif_spawn) (struct block_list *bl);
+typedef bool (*HPMHOOK_post_clif_spawn) (bool retVal___, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_changemap) (struct map_session_data *sd, short *m, int *x, int *y);
+typedef void (*HPMHOOK_post_clif_changemap) (struct map_session_data *sd, short *m, int *x, int *y);
+typedef void (*HPMHOOK_pre_clif_changemapcell) (int *fd, int16 *m, int *x, int *y, int *type, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_changemapcell) (int *fd, int16 *m, int *x, int *y, int *type, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_map_property) (struct map_session_data *sd, enum map_property *property);
+typedef void (*HPMHOOK_post_clif_map_property) (struct map_session_data *sd, enum map_property *property);
+typedef void (*HPMHOOK_pre_clif_pvpset) (struct map_session_data *sd, int *pvprank, int *pvpnum, int *type);
+typedef void (*HPMHOOK_post_clif_pvpset) (struct map_session_data *sd, int *pvprank, int *pvpnum, int *type);
+typedef void (*HPMHOOK_pre_clif_map_property_mapall) (int *mapid, enum map_property *property);
+typedef void (*HPMHOOK_post_clif_map_property_mapall) (int *mapid, enum map_property *property);
+typedef void (*HPMHOOK_pre_clif_bossmapinfo) (int *fd, struct mob_data *md, short *flag);
+typedef void (*HPMHOOK_post_clif_bossmapinfo) (int *fd, struct mob_data *md, short *flag);
+typedef void (*HPMHOOK_pre_clif_map_type) (struct map_session_data *sd, enum map_type *type);
+typedef void (*HPMHOOK_post_clif_map_type) (struct map_session_data *sd, enum map_type *type);
+typedef void (*HPMHOOK_pre_clif_maptypeproperty2) (struct block_list *bl, enum send_target *t);
+typedef void (*HPMHOOK_post_clif_maptypeproperty2) (struct block_list *bl, enum send_target *t);
+typedef void (*HPMHOOK_pre_clif_changemapserver) (struct map_session_data *sd, unsigned short *map_index, int *x, int *y, uint32 *ip, uint16 *port);
+typedef void (*HPMHOOK_post_clif_changemapserver) (struct map_session_data *sd, unsigned short *map_index, int *x, int *y, uint32 *ip, uint16 *port);
+typedef void (*HPMHOOK_pre_clif_npcbuysell) (struct map_session_data *sd, int *id);
+typedef void (*HPMHOOK_post_clif_npcbuysell) (struct map_session_data *sd, int *id);
+typedef void (*HPMHOOK_pre_clif_buylist) (struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_post_clif_buylist) (struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_pre_clif_selllist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_selllist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_cashshop_show) (struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_post_clif_cashshop_show) (struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_pre_clif_npc_buy_result) (struct map_session_data *sd, unsigned char *result);
+typedef void (*HPMHOOK_post_clif_npc_buy_result) (struct map_session_data *sd, unsigned char *result);
+typedef void (*HPMHOOK_pre_clif_npc_sell_result) (struct map_session_data *sd, unsigned char *result);
+typedef void (*HPMHOOK_post_clif_npc_sell_result) (struct map_session_data *sd, unsigned char *result);
+typedef void (*HPMHOOK_pre_clif_cashshop_ack) (struct map_session_data *sd, int *error);
+typedef void (*HPMHOOK_post_clif_cashshop_ack) (struct map_session_data *sd, int *error);
+typedef void (*HPMHOOK_pre_clif_scriptmes) (struct map_session_data *sd, int *npcid, const char *mes);
+typedef void (*HPMHOOK_post_clif_scriptmes) (struct map_session_data *sd, int *npcid, const char *mes);
+typedef void (*HPMHOOK_pre_clif_scriptnext) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_post_clif_scriptnext) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_pre_clif_scriptclose) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_post_clif_scriptclose) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_pre_clif_scriptmenu) (struct map_session_data *sd, int *npcid, const char *mes);
+typedef void (*HPMHOOK_post_clif_scriptmenu) (struct map_session_data *sd, int *npcid, const char *mes);
+typedef void (*HPMHOOK_pre_clif_scriptinput) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_post_clif_scriptinput) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_pre_clif_scriptinputstr) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_post_clif_scriptinputstr) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_pre_clif_cutin) (struct map_session_data *sd, const char *image, int *type);
+typedef void (*HPMHOOK_post_clif_cutin) (struct map_session_data *sd, const char *image, int *type);
+typedef void (*HPMHOOK_pre_clif_sendfakenpc) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_post_clif_sendfakenpc) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_pre_clif_scriptclear) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_post_clif_scriptclear) (struct map_session_data *sd, int *npcid);
+typedef void (*HPMHOOK_pre_clif_viewpoint) (struct map_session_data *sd, int *npc_id, int *type, int *x, int *y, int *id, int *color);
+typedef void (*HPMHOOK_post_clif_viewpoint) (struct map_session_data *sd, int *npc_id, int *type, int *x, int *y, int *id, int *color);
+typedef int (*HPMHOOK_pre_clif_damage) (struct block_list *src, struct block_list *dst, int *sdelay, int *ddelay, int64 *damage, short *div, unsigned char *type, int64 *damage2);
+typedef int (*HPMHOOK_post_clif_damage) (int retVal___, struct block_list *src, struct block_list *dst, int *sdelay, int *ddelay, int64 *damage, short *div, unsigned char *type, int64 *damage2);
+typedef void (*HPMHOOK_pre_clif_sitting) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_sitting) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_standing) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_standing) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_arrow_create_list) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_arrow_create_list) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_refresh_storagewindow) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_refresh_storagewindow) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_refresh) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_refresh) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_fame_blacksmith) (struct map_session_data *sd, int *points);
+typedef void (*HPMHOOK_post_clif_fame_blacksmith) (struct map_session_data *sd, int *points);
+typedef void (*HPMHOOK_pre_clif_fame_alchemist) (struct map_session_data *sd, int *points);
+typedef void (*HPMHOOK_post_clif_fame_alchemist) (struct map_session_data *sd, int *points);
+typedef void (*HPMHOOK_pre_clif_fame_taekwon) (struct map_session_data *sd, int *points);
+typedef void (*HPMHOOK_post_clif_fame_taekwon) (struct map_session_data *sd, int *points);
+typedef void (*HPMHOOK_pre_clif_ranklist) (struct map_session_data *sd, enum fame_list_type *type);
+typedef void (*HPMHOOK_post_clif_ranklist) (struct map_session_data *sd, enum fame_list_type *type);
+typedef void (*HPMHOOK_pre_clif_update_rankingpoint) (struct map_session_data *sd, enum fame_list_type *type, int *points);
+typedef void (*HPMHOOK_post_clif_update_rankingpoint) (struct map_session_data *sd, enum fame_list_type *type, int *points);
+typedef void (*HPMHOOK_pre_clif_pRanklist) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRanklist) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_hotkeys) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_hotkeys) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_insight) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_clif_insight) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_clif_outsight) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_clif_outsight) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_clif_skillcastcancel) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_skillcastcancel) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_skill_fail) (struct map_session_data *sd, uint16 *skill_id, enum useskill_fail_cause *cause, int *btype);
+typedef void (*HPMHOOK_post_clif_skill_fail) (struct map_session_data *sd, uint16 *skill_id, enum useskill_fail_cause *cause, int *btype);
+typedef void (*HPMHOOK_pre_clif_skill_cooldown) (struct map_session_data *sd, uint16 *skill_id, unsigned int *duration);
+typedef void (*HPMHOOK_post_clif_skill_cooldown) (struct map_session_data *sd, uint16 *skill_id, unsigned int *duration);
+typedef void (*HPMHOOK_pre_clif_skill_memomessage) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_post_clif_skill_memomessage) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_clif_skill_mapinfomessage) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_post_clif_skill_mapinfomessage) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_clif_skill_produce_mix_list) (struct map_session_data *sd, int *skill_id, int *trigger);
+typedef void (*HPMHOOK_post_clif_skill_produce_mix_list) (struct map_session_data *sd, int *skill_id, int *trigger);
+typedef void (*HPMHOOK_pre_clif_cooking_list) (struct map_session_data *sd, int *trigger, uint16 *skill_id, int *qty, int *list_type);
+typedef void (*HPMHOOK_post_clif_cooking_list) (struct map_session_data *sd, int *trigger, uint16 *skill_id, int *qty, int *list_type);
+typedef void (*HPMHOOK_pre_clif_autospell) (struct map_session_data *sd, uint16 *skill_lv);
+typedef void (*HPMHOOK_post_clif_autospell) (struct map_session_data *sd, uint16 *skill_lv);
+typedef void (*HPMHOOK_pre_clif_combo_delay) (struct block_list *bl, int *wait);
+typedef void (*HPMHOOK_post_clif_combo_delay) (struct block_list *bl, int *wait);
+typedef void (*HPMHOOK_pre_clif_status_change) (struct block_list *bl, int *type, int *flag, int *tick, int *val1, int *val2, int *val3);
+typedef void (*HPMHOOK_post_clif_status_change) (struct block_list *bl, int *type, int *flag, int *tick, int *val1, int *val2, int *val3);
+typedef void (*HPMHOOK_pre_clif_insert_card) (struct map_session_data *sd, int *idx_equip, int *idx_card, int *flag);
+typedef void (*HPMHOOK_post_clif_insert_card) (struct map_session_data *sd, int *idx_equip, int *idx_card, int *flag);
+typedef void (*HPMHOOK_pre_clif_inventorylist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_inventorylist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_equiplist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_equiplist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_cartlist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_cartlist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_favorite_item) (struct map_session_data *sd, unsigned short *index);
+typedef void (*HPMHOOK_post_clif_favorite_item) (struct map_session_data *sd, unsigned short *index);
+typedef void (*HPMHOOK_pre_clif_clearcart) (int *fd);
+typedef void (*HPMHOOK_post_clif_clearcart) (int *fd);
+typedef void (*HPMHOOK_pre_clif_item_identify_list) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_item_identify_list) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_item_identified) (struct map_session_data *sd, int *idx, int *flag);
+typedef void (*HPMHOOK_post_clif_item_identified) (struct map_session_data *sd, int *idx, int *flag);
+typedef void (*HPMHOOK_pre_clif_item_repair_list) (struct map_session_data *sd, struct map_session_data *dstsd, int *lv);
+typedef void (*HPMHOOK_post_clif_item_repair_list) (struct map_session_data *sd, struct map_session_data *dstsd, int *lv);
+typedef void (*HPMHOOK_pre_clif_item_repaireffect) (struct map_session_data *sd, int *idx, int *flag);
+typedef void (*HPMHOOK_post_clif_item_repaireffect) (struct map_session_data *sd, int *idx, int *flag);
+typedef void (*HPMHOOK_pre_clif_item_damaged) (struct map_session_data *sd, unsigned short *position);
+typedef void (*HPMHOOK_post_clif_item_damaged) (struct map_session_data *sd, unsigned short *position);
+typedef void (*HPMHOOK_pre_clif_item_refine_list) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_item_refine_list) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_item_skill) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef void (*HPMHOOK_post_clif_item_skill) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef void (*HPMHOOK_pre_clif_mvp_item) (struct map_session_data *sd, int *nameid);
+typedef void (*HPMHOOK_post_clif_mvp_item) (struct map_session_data *sd, int *nameid);
+typedef void (*HPMHOOK_pre_clif_mvp_exp) (struct map_session_data *sd, unsigned int *exp);
+typedef void (*HPMHOOK_post_clif_mvp_exp) (struct map_session_data *sd, unsigned int *exp);
+typedef void (*HPMHOOK_pre_clif_mvp_noitem) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_mvp_noitem) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_changed_dir) (struct block_list *bl, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_changed_dir) (struct block_list *bl, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_charnameack) (int *fd, struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_charnameack) (int *fd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_monster_hp_bar) (struct mob_data *md, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_monster_hp_bar) (struct mob_data *md, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_hpmeter) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_clif_hpmeter) (int retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_hpmeter_single) (int *fd, int *id, unsigned int *hp, unsigned int *maxhp);
+typedef void (*HPMHOOK_post_clif_hpmeter_single) (int *fd, int *id, unsigned int *hp, unsigned int *maxhp);
+typedef int (*HPMHOOK_pre_clif_hpmeter_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_clif_hpmeter_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_clif_upgrademessage) (int *fd, int *result, int *item_id);
+typedef void (*HPMHOOK_post_clif_upgrademessage) (int *fd, int *result, int *item_id);
+typedef void (*HPMHOOK_pre_clif_get_weapon_view) (struct map_session_data *sd, unsigned short *rhand, unsigned short *lhand);
+typedef void (*HPMHOOK_post_clif_get_weapon_view) (struct map_session_data *sd, unsigned short *rhand, unsigned short *lhand);
+typedef void (*HPMHOOK_pre_clif_gospel_info) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_post_clif_gospel_info) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_clif_feel_req) (int *fd, struct map_session_data *sd, uint16 *skill_lv);
+typedef void (*HPMHOOK_post_clif_feel_req) (int *fd, struct map_session_data *sd, uint16 *skill_lv);
+typedef void (*HPMHOOK_pre_clif_starskill) (struct map_session_data *sd, const char *mapname, int *monster_id, unsigned char *star, unsigned char *result);
+typedef void (*HPMHOOK_post_clif_starskill) (struct map_session_data *sd, const char *mapname, int *monster_id, unsigned char *star, unsigned char *result);
+typedef void (*HPMHOOK_pre_clif_feel_info) (struct map_session_data *sd, unsigned char *feel_level, unsigned char *type);
+typedef void (*HPMHOOK_post_clif_feel_info) (struct map_session_data *sd, unsigned char *feel_level, unsigned char *type);
+typedef void (*HPMHOOK_pre_clif_hate_info) (struct map_session_data *sd, unsigned char *hate_level, int *class_, unsigned char *type);
+typedef void (*HPMHOOK_post_clif_hate_info) (struct map_session_data *sd, unsigned char *hate_level, int *class_, unsigned char *type);
+typedef void (*HPMHOOK_pre_clif_mission_info) (struct map_session_data *sd, int *mob_id, unsigned char *progress);
+typedef void (*HPMHOOK_post_clif_mission_info) (struct map_session_data *sd, int *mob_id, unsigned char *progress);
+typedef void (*HPMHOOK_pre_clif_feel_hate_reset) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_feel_hate_reset) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_partytickack) (struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_post_clif_partytickack) (struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_pre_clif_equiptickack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_equiptickack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_viewequip_ack) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef void (*HPMHOOK_post_clif_viewequip_ack) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef void (*HPMHOOK_pre_clif_equpcheckbox) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_equpcheckbox) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_displayexp) (struct map_session_data *sd, unsigned int *exp, char *type, bool *is_quest);
+typedef void (*HPMHOOK_post_clif_displayexp) (struct map_session_data *sd, unsigned int *exp, char *type, bool *is_quest);
+typedef void (*HPMHOOK_pre_clif_font) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_font) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_progressbar) (struct map_session_data *sd, unsigned int *color, unsigned int *second);
+typedef void (*HPMHOOK_post_clif_progressbar) (struct map_session_data *sd, unsigned int *color, unsigned int *second);
+typedef void (*HPMHOOK_pre_clif_progressbar_abort) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_progressbar_abort) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_showdigit) (struct map_session_data *sd, unsigned char *type, int *value);
+typedef void (*HPMHOOK_post_clif_showdigit) (struct map_session_data *sd, unsigned char *type, int *value);
+typedef int (*HPMHOOK_pre_clif_elementalconverter_list) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_clif_elementalconverter_list) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_spellbook_list) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_clif_spellbook_list) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_magicdecoy_list) (struct map_session_data *sd, uint16 *skill_lv, short *x, short *y);
+typedef int (*HPMHOOK_post_clif_magicdecoy_list) (int retVal___, struct map_session_data *sd, uint16 *skill_lv, short *x, short *y);
+typedef int (*HPMHOOK_pre_clif_poison_list) (struct map_session_data *sd, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_clif_poison_list) (int retVal___, struct map_session_data *sd, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_clif_autoshadowspell_list) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_clif_autoshadowspell_list) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_skill_itemlistwindow) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_clif_skill_itemlistwindow) (int retVal___, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef void (*HPMHOOK_pre_clif_sc_load) (struct block_list *bl, int *tid, enum send_target *target, int *type, int *val1, int *val2, int *val3);
+typedef void (*HPMHOOK_post_clif_sc_load) (struct block_list *bl, int *tid, enum send_target *target, int *type, int *val1, int *val2, int *val3);
+typedef void (*HPMHOOK_pre_clif_sc_end) (struct block_list *bl, int *tid, enum send_target *target, int *type);
+typedef void (*HPMHOOK_post_clif_sc_end) (struct block_list *bl, int *tid, enum send_target *target, int *type);
+typedef void (*HPMHOOK_pre_clif_initialstatus) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_initialstatus) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_cooldown_list) (int *fd, struct skill_cd *cd);
+typedef void (*HPMHOOK_post_clif_cooldown_list) (int *fd, struct skill_cd *cd);
+typedef void (*HPMHOOK_pre_clif_updatestatus) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_post_clif_updatestatus) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_clif_changestatus) (struct map_session_data *sd, int *type, int *val);
+typedef void (*HPMHOOK_post_clif_changestatus) (struct map_session_data *sd, int *type, int *val);
+typedef void (*HPMHOOK_pre_clif_statusupack) (struct map_session_data *sd, int *type, int *ok, int *val);
+typedef void (*HPMHOOK_post_clif_statusupack) (struct map_session_data *sd, int *type, int *ok, int *val);
+typedef void (*HPMHOOK_pre_clif_movetoattack) (struct map_session_data *sd, struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_movetoattack) (struct map_session_data *sd, struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_solved_charname) (int *fd, int *charid, const char *name);
+typedef void (*HPMHOOK_post_clif_solved_charname) (int *fd, int *charid, const char *name);
+typedef void (*HPMHOOK_pre_clif_charnameupdate) (struct map_session_data *ssd);
+typedef void (*HPMHOOK_post_clif_charnameupdate) (struct map_session_data *ssd);
+typedef int (*HPMHOOK_pre_clif_delayquit) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_clif_delayquit) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_clif_getareachar_pc) (struct map_session_data *sd, struct map_session_data *dstsd);
+typedef void (*HPMHOOK_post_clif_getareachar_pc) (struct map_session_data *sd, struct map_session_data *dstsd);
+typedef void (*HPMHOOK_pre_clif_disconnect_ack) (struct map_session_data *sd, short *result);
+typedef void (*HPMHOOK_post_clif_disconnect_ack) (struct map_session_data *sd, short *result);
+typedef void (*HPMHOOK_pre_clif_PVPInfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_PVPInfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_blacksmith) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_blacksmith) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_alchemist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_alchemist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_taekwon) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_taekwon) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_ranking_pk) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_ranking_pk) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_quitsave) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_quitsave) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_misceffect) (struct block_list *bl, int *type);
+typedef void (*HPMHOOK_post_clif_misceffect) (struct block_list *bl, int *type);
+typedef void (*HPMHOOK_pre_clif_changeoption) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_changeoption) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_changeoption2) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_changeoption2) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_emotion) (struct block_list *bl, int *type);
+typedef void (*HPMHOOK_post_clif_emotion) (struct block_list *bl, int *type);
+typedef void (*HPMHOOK_pre_clif_talkiebox) (struct block_list *bl, const char *talkie);
+typedef void (*HPMHOOK_post_clif_talkiebox) (struct block_list *bl, const char *talkie);
+typedef void (*HPMHOOK_pre_clif_wedding_effect) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_wedding_effect) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_divorced) (struct map_session_data *sd, const char *name);
+typedef void (*HPMHOOK_post_clif_divorced) (struct map_session_data *sd, const char *name);
+typedef void (*HPMHOOK_pre_clif_callpartner) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_callpartner) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_skill_damage) (struct block_list *src, struct block_list *dst, int64 *tick, int *sdelay, int *ddelay, int64 *damage, int *div, uint16 *skill_id, uint16 *skill_lv, int *type);
+typedef int (*HPMHOOK_post_clif_skill_damage) (int retVal___, struct block_list *src, struct block_list *dst, int64 *tick, int *sdelay, int *ddelay, int64 *damage, int *div, uint16 *skill_id, uint16 *skill_lv, int *type);
+typedef int (*HPMHOOK_pre_clif_skill_nodamage) (struct block_list *src, struct block_list *dst, uint16 *skill_id, int *heal, int *fail);
+typedef int (*HPMHOOK_post_clif_skill_nodamage) (int retVal___, struct block_list *src, struct block_list *dst, uint16 *skill_id, int *heal, int *fail);
+typedef void (*HPMHOOK_pre_clif_skill_poseffect) (struct block_list *src, uint16 *skill_id, int *val, int *x, int *y, int64 *tick);
+typedef void (*HPMHOOK_post_clif_skill_poseffect) (struct block_list *src, uint16 *skill_id, int *val, int *x, int *y, int64 *tick);
+typedef void (*HPMHOOK_pre_clif_skill_estimation) (struct map_session_data *sd, struct block_list *dst);
+typedef void (*HPMHOOK_post_clif_skill_estimation) (struct map_session_data *sd, struct block_list *dst);
+typedef void (*HPMHOOK_pre_clif_skill_warppoint) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, unsigned short *map1, unsigned short *map2, unsigned short *map3, unsigned short *map4);
+typedef void (*HPMHOOK_post_clif_skill_warppoint) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, unsigned short *map1, unsigned short *map2, unsigned short *map3, unsigned short *map4);
+typedef void (*HPMHOOK_pre_clif_skillcasting) (struct block_list *bl, int *src_id, int *dst_id, int *dst_x, int *dst_y, uint16 *skill_id, int *property, int *casttime);
+typedef void (*HPMHOOK_post_clif_skillcasting) (struct block_list *bl, int *src_id, int *dst_id, int *dst_x, int *dst_y, uint16 *skill_id, int *property, int *casttime);
+typedef void (*HPMHOOK_pre_clif_produce_effect) (struct map_session_data *sd, int *flag, int *nameid);
+typedef void (*HPMHOOK_post_clif_produce_effect) (struct map_session_data *sd, int *flag, int *nameid);
+typedef void (*HPMHOOK_pre_clif_devotion) (struct block_list *src, struct map_session_data *tsd);
+typedef void (*HPMHOOK_post_clif_devotion) (struct block_list *src, struct map_session_data *tsd);
+typedef void (*HPMHOOK_pre_clif_spiritball) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_spiritball) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_spiritball_single) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_spiritball_single) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_bladestop) (struct block_list *src, int *dst_id, int *active);
+typedef void (*HPMHOOK_post_clif_bladestop) (struct block_list *src, int *dst_id, int *active);
+typedef void (*HPMHOOK_pre_clif_mvp_effect) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_mvp_effect) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_heal) (int *fd, int *type, int *val);
+typedef void (*HPMHOOK_post_clif_heal) (int *fd, int *type, int *val);
+typedef void (*HPMHOOK_pre_clif_resurrection) (struct block_list *bl, int *type);
+typedef void (*HPMHOOK_post_clif_resurrection) (struct block_list *bl, int *type);
+typedef void (*HPMHOOK_pre_clif_refine) (int *fd, int *fail, int *index, int *val);
+typedef void (*HPMHOOK_post_clif_refine) (int *fd, int *fail, int *index, int *val);
+typedef void (*HPMHOOK_pre_clif_weather) (int16 *m);
+typedef void (*HPMHOOK_post_clif_weather) (int16 *m);
+typedef void (*HPMHOOK_pre_clif_specialeffect) (struct block_list *bl, int *type, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_specialeffect) (struct block_list *bl, int *type, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_specialeffect_single) (struct block_list *bl, int *type, int *fd);
+typedef void (*HPMHOOK_post_clif_specialeffect_single) (struct block_list *bl, int *type, int *fd);
+typedef void (*HPMHOOK_pre_clif_specialeffect_value) (struct block_list *bl, int *effect_id, int *num, send_target *target);
+typedef void (*HPMHOOK_post_clif_specialeffect_value) (struct block_list *bl, int *effect_id, int *num, send_target *target);
+typedef void (*HPMHOOK_pre_clif_millenniumshield) (struct block_list *bl, short *shields);
+typedef void (*HPMHOOK_post_clif_millenniumshield) (struct block_list *bl, short *shields);
+typedef void (*HPMHOOK_pre_clif_spiritcharm) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_spiritcharm) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_charm_single) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_charm_single) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_snap) (struct block_list *bl, short *x, short *y);
+typedef void (*HPMHOOK_post_clif_snap) (struct block_list *bl, short *x, short *y);
+typedef void (*HPMHOOK_pre_clif_weather_check) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_weather_check) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_playBGM) (struct map_session_data *sd, const char *name);
+typedef void (*HPMHOOK_post_clif_playBGM) (struct map_session_data *sd, const char *name);
+typedef void (*HPMHOOK_pre_clif_soundeffect) (struct map_session_data *sd, struct block_list *bl, const char *name, int *type);
+typedef void (*HPMHOOK_post_clif_soundeffect) (struct map_session_data *sd, struct block_list *bl, const char *name, int *type);
+typedef void (*HPMHOOK_pre_clif_soundeffectall) (struct block_list *bl, const char *name, int *type, enum send_target *coverage);
+typedef void (*HPMHOOK_post_clif_soundeffectall) (struct block_list *bl, const char *name, int *type, enum send_target *coverage);
+typedef void (*HPMHOOK_pre_clif_GlobalMessage) (struct block_list *bl, const char *message);
+typedef void (*HPMHOOK_post_clif_GlobalMessage) (struct block_list *bl, const char *message);
+typedef void (*HPMHOOK_pre_clif_createchat) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_createchat) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_dispchat) (struct chat_data *cd, int *fd);
+typedef void (*HPMHOOK_post_clif_dispchat) (struct chat_data *cd, int *fd);
+typedef void (*HPMHOOK_pre_clif_joinchatfail) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_joinchatfail) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_joinchatok) (struct map_session_data *sd, struct chat_data *cd);
+typedef void (*HPMHOOK_post_clif_joinchatok) (struct map_session_data *sd, struct chat_data *cd);
+typedef void (*HPMHOOK_pre_clif_addchat) (struct chat_data *cd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_addchat) (struct chat_data *cd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_changechatowner) (struct chat_data *cd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_changechatowner) (struct chat_data *cd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_clearchat) (struct chat_data *cd, int *fd);
+typedef void (*HPMHOOK_post_clif_clearchat) (struct chat_data *cd, int *fd);
+typedef void (*HPMHOOK_pre_clif_leavechat) (struct chat_data *cd, struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_post_clif_leavechat) (struct chat_data *cd, struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_pre_clif_changechatstatus) (struct chat_data *cd);
+typedef void (*HPMHOOK_post_clif_changechatstatus) (struct chat_data *cd);
+typedef void (*HPMHOOK_pre_clif_wis_message) (int *fd, const char *nick, const char *mes, int *mes_len);
+typedef void (*HPMHOOK_post_clif_wis_message) (int *fd, const char *nick, const char *mes, int *mes_len);
+typedef void (*HPMHOOK_pre_clif_wis_end) (int *fd, int *flag);
+typedef void (*HPMHOOK_post_clif_wis_end) (int *fd, int *flag);
+typedef void (*HPMHOOK_pre_clif_disp_message) (struct block_list *src, const char *mes, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_disp_message) (struct block_list *src, const char *mes, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_broadcast) (struct block_list *bl, const char *mes, int *len, int *type, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_broadcast) (struct block_list *bl, const char *mes, int *len, int *type, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_broadcast2) (struct block_list *bl, const char *mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_broadcast2) (struct block_list *bl, const char *mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_messagecolor_self) (int *fd, uint32 *color, const char *msg);
+typedef void (*HPMHOOK_post_clif_messagecolor_self) (int *fd, uint32 *color, const char *msg);
+typedef void (*HPMHOOK_pre_clif_messagecolor) (struct block_list *bl, uint32 *color, const char *msg);
+typedef void (*HPMHOOK_post_clif_messagecolor) (struct block_list *bl, uint32 *color, const char *msg);
+typedef void (*HPMHOOK_pre_clif_disp_overhead) (struct block_list *bl, const char *mes);
+typedef void (*HPMHOOK_post_clif_disp_overhead) (struct block_list *bl, const char *mes);
+typedef void (*HPMHOOK_pre_clif_msgtable) (struct map_session_data *sd, unsigned short *msg_id);
+typedef void (*HPMHOOK_post_clif_msgtable) (struct map_session_data *sd, unsigned short *msg_id);
+typedef void (*HPMHOOK_pre_clif_msgtable_num) (struct map_session_data *sd, unsigned short *msg_id, int *value);
+typedef void (*HPMHOOK_post_clif_msgtable_num) (struct map_session_data *sd, unsigned short *msg_id, int *value);
+typedef void (*HPMHOOK_pre_clif_msgtable_skill) (struct map_session_data *sd, uint16 *skill_id, int *msg_id);
+typedef void (*HPMHOOK_post_clif_msgtable_skill) (struct map_session_data *sd, uint16 *skill_id, int *msg_id);
+typedef void (*HPMHOOK_pre_clif_message) (const int *fd, const char *mes);
+typedef void (*HPMHOOK_post_clif_message) (const int *fd, const char *mes);
+typedef void (*HPMHOOK_pre_clif_messageln) (const int *fd, const char *mes);
+typedef void (*HPMHOOK_post_clif_messageln) (const int *fd, const char *mes);
+typedef const char* (*HPMHOOK_pre_clif_process_chat_message) (struct map_session_data *sd, const struct packet_chat_message *packet, char *out_buf, int *out_buflen);
+typedef const char* (*HPMHOOK_post_clif_process_chat_message) (const char* retVal___, struct map_session_data *sd, const struct packet_chat_message *packet, char *out_buf, int *out_buflen);
+typedef bool (*HPMHOOK_pre_clif_process_whisper_message) (struct map_session_data *sd, const struct packet_whisper_message *packet, char *out_name, char *out_message, int *out_messagelen);
+typedef bool (*HPMHOOK_post_clif_process_whisper_message) (bool retVal___, struct map_session_data *sd, const struct packet_whisper_message *packet, char *out_name, char *out_message, int *out_messagelen);
+typedef void (*HPMHOOK_pre_clif_wisexin) (struct map_session_data *sd, int *type, int *flag);
+typedef void (*HPMHOOK_post_clif_wisexin) (struct map_session_data *sd, int *type, int *flag);
+typedef void (*HPMHOOK_pre_clif_wisall) (struct map_session_data *sd, int *type, int *flag);
+typedef void (*HPMHOOK_post_clif_wisall) (struct map_session_data *sd, int *type, int *flag);
+typedef void (*HPMHOOK_pre_clif_PMIgnoreList) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_PMIgnoreList) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_ShowScript) (struct block_list *bl, const char *message);
+typedef void (*HPMHOOK_post_clif_ShowScript) (struct block_list *bl, const char *message);
+typedef void (*HPMHOOK_pre_clif_traderequest) (struct map_session_data *sd, const char *name);
+typedef void (*HPMHOOK_post_clif_traderequest) (struct map_session_data *sd, const char *name);
+typedef void (*HPMHOOK_pre_clif_tradestart) (struct map_session_data *sd, uint8 *type);
+typedef void (*HPMHOOK_post_clif_tradestart) (struct map_session_data *sd, uint8 *type);
+typedef void (*HPMHOOK_pre_clif_tradeadditem) (struct map_session_data *sd, struct map_session_data *tsd, int *index, int *amount);
+typedef void (*HPMHOOK_post_clif_tradeadditem) (struct map_session_data *sd, struct map_session_data *tsd, int *index, int *amount);
+typedef void (*HPMHOOK_pre_clif_tradeitemok) (struct map_session_data *sd, int *index, int *fail);
+typedef void (*HPMHOOK_post_clif_tradeitemok) (struct map_session_data *sd, int *index, int *fail);
+typedef void (*HPMHOOK_pre_clif_tradedeal_lock) (struct map_session_data *sd, int *fail);
+typedef void (*HPMHOOK_post_clif_tradedeal_lock) (struct map_session_data *sd, int *fail);
+typedef void (*HPMHOOK_pre_clif_tradecancelled) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_tradecancelled) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_tradecompleted) (struct map_session_data *sd, int *fail);
+typedef void (*HPMHOOK_post_clif_tradecompleted) (struct map_session_data *sd, int *fail);
+typedef void (*HPMHOOK_pre_clif_tradeundo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_tradeundo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_openvendingreq) (struct map_session_data *sd, int *num);
+typedef void (*HPMHOOK_post_clif_openvendingreq) (struct map_session_data *sd, int *num);
+typedef void (*HPMHOOK_pre_clif_showvendingboard) (struct block_list *bl, const char *message, int *fd);
+typedef void (*HPMHOOK_post_clif_showvendingboard) (struct block_list *bl, const char *message, int *fd);
+typedef void (*HPMHOOK_pre_clif_closevendingboard) (struct block_list *bl, int *fd);
+typedef void (*HPMHOOK_post_clif_closevendingboard) (struct block_list *bl, int *fd);
+typedef void (*HPMHOOK_pre_clif_vendinglist) (struct map_session_data *sd, unsigned int *id, struct s_vending *vending_list);
+typedef void (*HPMHOOK_post_clif_vendinglist) (struct map_session_data *sd, unsigned int *id, struct s_vending *vending_list);
+typedef void (*HPMHOOK_pre_clif_buyvending) (struct map_session_data *sd, int *index, int *amount, int *fail);
+typedef void (*HPMHOOK_post_clif_buyvending) (struct map_session_data *sd, int *index, int *amount, int *fail);
+typedef void (*HPMHOOK_pre_clif_openvending) (struct map_session_data *sd, int *id, struct s_vending *vending_list);
+typedef void (*HPMHOOK_post_clif_openvending) (struct map_session_data *sd, int *id, struct s_vending *vending_list);
+typedef void (*HPMHOOK_pre_clif_vendingreport) (struct map_session_data *sd, int *index, int *amount);
+typedef void (*HPMHOOK_post_clif_vendingreport) (struct map_session_data *sd, int *index, int *amount);
+typedef void (*HPMHOOK_pre_clif_storagelist) (struct map_session_data *sd, struct item *items, int *items_length);
+typedef void (*HPMHOOK_post_clif_storagelist) (struct map_session_data *sd, struct item *items, int *items_length);
+typedef void (*HPMHOOK_pre_clif_updatestorageamount) (struct map_session_data *sd, int *amount, int *max_amount);
+typedef void (*HPMHOOK_post_clif_updatestorageamount) (struct map_session_data *sd, int *amount, int *max_amount);
+typedef void (*HPMHOOK_pre_clif_storageitemadded) (struct map_session_data *sd, struct item *i, int *index, int *amount);
+typedef void (*HPMHOOK_post_clif_storageitemadded) (struct map_session_data *sd, struct item *i, int *index, int *amount);
+typedef void (*HPMHOOK_pre_clif_storageitemremoved) (struct map_session_data *sd, int *index, int *amount);
+typedef void (*HPMHOOK_post_clif_storageitemremoved) (struct map_session_data *sd, int *index, int *amount);
+typedef void (*HPMHOOK_pre_clif_storageclose) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_storageclose) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_skillinfoblock) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_skillinfoblock) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_skillup) (struct map_session_data *sd, uint16 *skill_id, int *skill_lv, int *flag);
+typedef void (*HPMHOOK_post_clif_skillup) (struct map_session_data *sd, uint16 *skill_id, int *skill_lv, int *flag);
+typedef void (*HPMHOOK_pre_clif_skillinfo) (struct map_session_data *sd, int *skill_id, int *inf);
+typedef void (*HPMHOOK_post_clif_skillinfo) (struct map_session_data *sd, int *skill_id, int *inf);
+typedef void (*HPMHOOK_pre_clif_addskill) (struct map_session_data *sd, int *id);
+typedef void (*HPMHOOK_post_clif_addskill) (struct map_session_data *sd, int *id);
+typedef void (*HPMHOOK_pre_clif_deleteskill) (struct map_session_data *sd, int *id);
+typedef void (*HPMHOOK_post_clif_deleteskill) (struct map_session_data *sd, int *id);
+typedef void (*HPMHOOK_pre_clif_party_created) (struct map_session_data *sd, int *result);
+typedef void (*HPMHOOK_post_clif_party_created) (struct map_session_data *sd, int *result);
+typedef void (*HPMHOOK_pre_clif_party_member_info) (struct party_data *p, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_party_member_info) (struct party_data *p, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_party_info) (struct party_data *p, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_party_info) (struct party_data *p, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_party_invite) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef void (*HPMHOOK_post_clif_party_invite) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef void (*HPMHOOK_pre_clif_party_inviteack) (struct map_session_data *sd, const char *nick, int *result);
+typedef void (*HPMHOOK_post_clif_party_inviteack) (struct map_session_data *sd, const char *nick, int *result);
+typedef void (*HPMHOOK_pre_clif_party_option) (struct party_data *p, struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_party_option) (struct party_data *p, struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_party_withdraw) (struct party_data *p, struct map_session_data *sd, int *account_id, const char *name, int *flag);
+typedef void (*HPMHOOK_post_clif_party_withdraw) (struct party_data *p, struct map_session_data *sd, int *account_id, const char *name, int *flag);
+typedef void (*HPMHOOK_pre_clif_party_message) (struct party_data *p, int *account_id, const char *mes, int *len);
+typedef void (*HPMHOOK_post_clif_party_message) (struct party_data *p, int *account_id, const char *mes, int *len);
+typedef void (*HPMHOOK_pre_clif_party_xy) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_party_xy) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_party_xy_single) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_party_xy_single) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_party_hp) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_party_hp) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_party_xy_remove) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_party_xy_remove) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_party_show_picker) (struct map_session_data *sd, struct item *item_data);
+typedef void (*HPMHOOK_post_clif_party_show_picker) (struct map_session_data *sd, struct item *item_data);
+typedef void (*HPMHOOK_pre_clif_partyinvitationstate) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_partyinvitationstate) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_PartyLeaderChanged) (struct map_session_data *sd, int *prev_leader_aid, int *new_leader_aid);
+typedef void (*HPMHOOK_post_clif_PartyLeaderChanged) (struct map_session_data *sd, int *prev_leader_aid, int *new_leader_aid);
+typedef void (*HPMHOOK_pre_clif_guild_created) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_guild_created) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_guild_belonginfo) (struct map_session_data *sd, struct guild *g);
+typedef void (*HPMHOOK_post_clif_guild_belonginfo) (struct map_session_data *sd, struct guild *g);
+typedef void (*HPMHOOK_pre_clif_guild_masterormember) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_masterormember) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_basicinfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_basicinfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_allianceinfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_allianceinfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_memberlist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_memberlist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_skillinfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_skillinfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_send_onlineinfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_send_onlineinfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_memberlogin_notice) (struct guild *g, int *idx, int *flag);
+typedef void (*HPMHOOK_post_clif_guild_memberlogin_notice) (struct guild *g, int *idx, int *flag);
+typedef void (*HPMHOOK_pre_clif_guild_invite) (struct map_session_data *sd, struct guild *g);
+typedef void (*HPMHOOK_post_clif_guild_invite) (struct map_session_data *sd, struct guild *g);
+typedef void (*HPMHOOK_pre_clif_guild_inviteack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_guild_inviteack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_guild_leave) (struct map_session_data *sd, const char *name, const char *mes);
+typedef void (*HPMHOOK_post_clif_guild_leave) (struct map_session_data *sd, const char *name, const char *mes);
+typedef void (*HPMHOOK_pre_clif_guild_expulsion) (struct map_session_data *sd, const char *name, const char *mes, int *account_id);
+typedef void (*HPMHOOK_post_clif_guild_expulsion) (struct map_session_data *sd, const char *name, const char *mes, int *account_id);
+typedef void (*HPMHOOK_pre_clif_guild_positionchanged) (struct guild *g, int *idx);
+typedef void (*HPMHOOK_post_clif_guild_positionchanged) (struct guild *g, int *idx);
+typedef void (*HPMHOOK_pre_clif_guild_memberpositionchanged) (struct guild *g, int *idx);
+typedef void (*HPMHOOK_post_clif_guild_memberpositionchanged) (struct guild *g, int *idx);
+typedef void (*HPMHOOK_pre_clif_guild_emblem) (struct map_session_data *sd, struct guild *g);
+typedef void (*HPMHOOK_post_clif_guild_emblem) (struct map_session_data *sd, struct guild *g);
+typedef void (*HPMHOOK_pre_clif_guild_emblem_area) (struct block_list *bl);
+typedef void (*HPMHOOK_post_clif_guild_emblem_area) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_guild_notice) (struct map_session_data *sd, struct guild *g);
+typedef void (*HPMHOOK_post_clif_guild_notice) (struct map_session_data *sd, struct guild *g);
+typedef void (*HPMHOOK_pre_clif_guild_message) (struct guild *g, int *account_id, const char *mes, int *len);
+typedef void (*HPMHOOK_post_clif_guild_message) (struct guild *g, int *account_id, const char *mes, int *len);
+typedef void (*HPMHOOK_pre_clif_guild_reqalliance) (struct map_session_data *sd, int *account_id, const char *name);
+typedef void (*HPMHOOK_post_clif_guild_reqalliance) (struct map_session_data *sd, int *account_id, const char *name);
+typedef void (*HPMHOOK_pre_clif_guild_allianceack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_guild_allianceack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_guild_delalliance) (struct map_session_data *sd, int *guild_id, int *flag);
+typedef void (*HPMHOOK_post_clif_guild_delalliance) (struct map_session_data *sd, int *guild_id, int *flag);
+typedef void (*HPMHOOK_pre_clif_guild_oppositionack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_guild_oppositionack) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_guild_broken) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_guild_broken) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_guild_xy) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_xy) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_xy_single) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_xy_single) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_xy_remove) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_xy_remove) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_positionnamelist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_positionnamelist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_positioninfolist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_positioninfolist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_expulsionlist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_guild_expulsionlist) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_clif_validate_emblem) (const uint8 *emblem, unsigned long *emblem_len);
+typedef bool (*HPMHOOK_post_clif_validate_emblem) (bool retVal___, const uint8 *emblem, unsigned long *emblem_len);
+typedef void (*HPMHOOK_pre_clif_bg_hp) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_bg_hp) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_bg_xy) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_bg_xy) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_bg_xy_remove) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_bg_xy_remove) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_bg_message) (struct battleground_data *bgd, int *src_id, const char *name, const char *mes);
+typedef void (*HPMHOOK_post_clif_bg_message) (struct battleground_data *bgd, int *src_id, const char *name, const char *mes);
+typedef void (*HPMHOOK_pre_clif_bg_updatescore) (int16 *m);
+typedef void (*HPMHOOK_post_clif_bg_updatescore) (int16 *m);
+typedef void (*HPMHOOK_pre_clif_bg_updatescore_single) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_bg_updatescore_single) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_sendbgemblem_area) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_sendbgemblem_area) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_sendbgemblem_single) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_sendbgemblem_single) (int *fd, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_instance) (int *instance_id, int *type, int *flag);
+typedef int (*HPMHOOK_post_clif_instance) (int retVal___, int *instance_id, int *type, int *flag);
+typedef void (*HPMHOOK_pre_clif_instance_join) (int *fd, int *instance_id);
+typedef void (*HPMHOOK_post_clif_instance_join) (int *fd, int *instance_id);
+typedef void (*HPMHOOK_pre_clif_instance_leave) (int *fd);
+typedef void (*HPMHOOK_post_clif_instance_leave) (int *fd);
+typedef void (*HPMHOOK_pre_clif_catch_process) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_catch_process) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pet_roulette) (struct map_session_data *sd, int *data);
+typedef void (*HPMHOOK_post_clif_pet_roulette) (struct map_session_data *sd, int *data);
+typedef void (*HPMHOOK_pre_clif_sendegg) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_sendegg) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_send_petstatus) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_send_petstatus) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_send_petdata) (struct map_session_data *sd, struct pet_data *pd, int *type, int *param);
+typedef void (*HPMHOOK_post_clif_send_petdata) (struct map_session_data *sd, struct pet_data *pd, int *type, int *param);
+typedef void (*HPMHOOK_pre_clif_pet_emotion) (struct pet_data *pd, int *param);
+typedef void (*HPMHOOK_post_clif_pet_emotion) (struct pet_data *pd, int *param);
+typedef void (*HPMHOOK_pre_clif_pet_food) (struct map_session_data *sd, int *foodid, int *fail);
+typedef void (*HPMHOOK_post_clif_pet_food) (struct map_session_data *sd, int *foodid, int *fail);
+typedef int (*HPMHOOK_pre_clif_friendslist_toggle_sub) (struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_post_clif_friendslist_toggle_sub) (int retVal___, struct map_session_data *sd, va_list ap);
+typedef void (*HPMHOOK_pre_clif_friendslist_send) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_friendslist_send) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_friendslist_reqack) (struct map_session_data *sd, struct map_session_data *f_sd, int *type);
+typedef void (*HPMHOOK_post_clif_friendslist_reqack) (struct map_session_data *sd, struct map_session_data *f_sd, int *type);
+typedef void (*HPMHOOK_pre_clif_friendslist_toggle) (struct map_session_data *sd, int *account_id, int *char_id, int *online);
+typedef void (*HPMHOOK_post_clif_friendslist_toggle) (struct map_session_data *sd, int *account_id, int *char_id, int *online);
+typedef void (*HPMHOOK_pre_clif_friendlist_req) (struct map_session_data *sd, int *account_id, int *char_id, const char *name);
+typedef void (*HPMHOOK_post_clif_friendlist_req) (struct map_session_data *sd, int *account_id, int *char_id, const char *name);
+typedef void (*HPMHOOK_pre_clif_GM_kickack) (struct map_session_data *sd, int *result);
+typedef void (*HPMHOOK_post_clif_GM_kickack) (struct map_session_data *sd, int *result);
+typedef void (*HPMHOOK_pre_clif_GM_kick) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef void (*HPMHOOK_post_clif_GM_kick) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef void (*HPMHOOK_pre_clif_manner_message) (struct map_session_data *sd, uint32 *type);
+typedef void (*HPMHOOK_post_clif_manner_message) (struct map_session_data *sd, uint32 *type);
+typedef void (*HPMHOOK_pre_clif_GM_silence) (struct map_session_data *sd, struct map_session_data *tsd, uint8 *type);
+typedef void (*HPMHOOK_post_clif_GM_silence) (struct map_session_data *sd, struct map_session_data *tsd, uint8 *type);
+typedef void (*HPMHOOK_pre_clif_account_name) (struct map_session_data *sd, int *account_id, const char *accname);
+typedef void (*HPMHOOK_post_clif_account_name) (struct map_session_data *sd, int *account_id, const char *accname);
+typedef void (*HPMHOOK_pre_clif_check) (int *fd, struct map_session_data *pl_sd);
+typedef void (*HPMHOOK_post_clif_check) (int *fd, struct map_session_data *pl_sd);
+typedef void (*HPMHOOK_pre_clif_hominfo) (struct map_session_data *sd, struct homun_data *hd, int *flag);
+typedef void (*HPMHOOK_post_clif_hominfo) (struct map_session_data *sd, struct homun_data *hd, int *flag);
+typedef void (*HPMHOOK_pre_clif_homskillinfoblock) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_homskillinfoblock) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_homskillup) (struct map_session_data *sd, uint16 *skill_id);
+typedef void (*HPMHOOK_post_clif_homskillup) (struct map_session_data *sd, uint16 *skill_id);
+typedef void (*HPMHOOK_pre_clif_hom_food) (struct map_session_data *sd, int *foodid, int *fail);
+typedef void (*HPMHOOK_post_clif_hom_food) (struct map_session_data *sd, int *foodid, int *fail);
+typedef void (*HPMHOOK_pre_clif_send_homdata) (struct map_session_data *sd, int *state, int *param);
+typedef void (*HPMHOOK_post_clif_send_homdata) (struct map_session_data *sd, int *state, int *param);
+typedef void (*HPMHOOK_pre_clif_quest_send_list) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_quest_send_list) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_quest_send_mission) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_quest_send_mission) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_quest_add) (struct map_session_data *sd, struct quest *qd);
+typedef void (*HPMHOOK_post_clif_quest_add) (struct map_session_data *sd, struct quest *qd);
+typedef void (*HPMHOOK_pre_clif_quest_delete) (struct map_session_data *sd, int *quest_id);
+typedef void (*HPMHOOK_post_clif_quest_delete) (struct map_session_data *sd, int *quest_id);
+typedef void (*HPMHOOK_pre_clif_quest_update_status) (struct map_session_data *sd, int *quest_id, bool *active);
+typedef void (*HPMHOOK_post_clif_quest_update_status) (struct map_session_data *sd, int *quest_id, bool *active);
+typedef void (*HPMHOOK_pre_clif_quest_update_objective) (struct map_session_data *sd, struct quest *qd);
+typedef void (*HPMHOOK_post_clif_quest_update_objective) (struct map_session_data *sd, struct quest *qd);
+typedef void (*HPMHOOK_pre_clif_quest_show_event) (struct map_session_data *sd, struct block_list *bl, short *state, short *color);
+typedef void (*HPMHOOK_post_clif_quest_show_event) (struct map_session_data *sd, struct block_list *bl, short *state, short *color);
+typedef void (*HPMHOOK_pre_clif_mail_window) (int *fd, int *flag);
+typedef void (*HPMHOOK_post_clif_mail_window) (int *fd, int *flag);
+typedef void (*HPMHOOK_pre_clif_mail_read) (struct map_session_data *sd, int *mail_id);
+typedef void (*HPMHOOK_post_clif_mail_read) (struct map_session_data *sd, int *mail_id);
+typedef void (*HPMHOOK_pre_clif_mail_delete) (int *fd, int *mail_id, short *fail);
+typedef void (*HPMHOOK_post_clif_mail_delete) (int *fd, int *mail_id, short *fail);
+typedef void (*HPMHOOK_pre_clif_mail_return) (int *fd, int *mail_id, short *fail);
+typedef void (*HPMHOOK_post_clif_mail_return) (int *fd, int *mail_id, short *fail);
+typedef void (*HPMHOOK_pre_clif_mail_send) (int *fd, bool *fail);
+typedef void (*HPMHOOK_post_clif_mail_send) (int *fd, bool *fail);
+typedef void (*HPMHOOK_pre_clif_mail_new) (int *fd, int *mail_id, const char *sender, const char *title);
+typedef void (*HPMHOOK_post_clif_mail_new) (int *fd, int *mail_id, const char *sender, const char *title);
+typedef void (*HPMHOOK_pre_clif_mail_refreshinbox) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_mail_refreshinbox) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_mail_getattachment) (int *fd, uint8 *flag);
+typedef void (*HPMHOOK_post_clif_mail_getattachment) (int *fd, uint8 *flag);
+typedef void (*HPMHOOK_pre_clif_mail_setattachment) (int *fd, int *index, uint8 *flag);
+typedef void (*HPMHOOK_post_clif_mail_setattachment) (int *fd, int *index, uint8 *flag);
+typedef void (*HPMHOOK_pre_clif_auction_openwindow) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_auction_openwindow) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_auction_results) (struct map_session_data *sd, short *count, short *pages, const uint8 *buf);
+typedef void (*HPMHOOK_post_clif_auction_results) (struct map_session_data *sd, short *count, short *pages, const uint8 *buf);
+typedef void (*HPMHOOK_pre_clif_auction_message) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_post_clif_auction_message) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_pre_clif_auction_close) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_post_clif_auction_close) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_pre_clif_auction_setitem) (int *fd, int *index, bool *fail);
+typedef void (*HPMHOOK_post_clif_auction_setitem) (int *fd, int *index, bool *fail);
+typedef void (*HPMHOOK_pre_clif_mercenary_info) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_mercenary_info) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_mercenary_skillblock) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_mercenary_skillblock) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_mercenary_message) (struct map_session_data *sd, int *message);
+typedef void (*HPMHOOK_post_clif_mercenary_message) (struct map_session_data *sd, int *message);
+typedef void (*HPMHOOK_pre_clif_mercenary_updatestatus) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_post_clif_mercenary_updatestatus) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_clif_rental_time) (int *fd, int *nameid, int *seconds);
+typedef void (*HPMHOOK_post_clif_rental_time) (int *fd, int *nameid, int *seconds);
+typedef void (*HPMHOOK_pre_clif_rental_expired) (int *fd, int *index, int *nameid);
+typedef void (*HPMHOOK_post_clif_rental_expired) (int *fd, int *index, int *nameid);
+typedef void (*HPMHOOK_pre_clif_PartyBookingRegisterAck) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_PartyBookingRegisterAck) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_PartyBookingDeleteAck) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_PartyBookingDeleteAck) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_PartyBookingSearchAck) (int *fd, struct party_booking_ad_info **results, int *count, bool *more_result);
+typedef void (*HPMHOOK_post_clif_PartyBookingSearchAck) (int *fd, struct party_booking_ad_info **results, int *count, bool *more_result);
+typedef void (*HPMHOOK_pre_clif_PartyBookingUpdateNotify) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad);
+typedef void (*HPMHOOK_post_clif_PartyBookingUpdateNotify) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad);
+typedef void (*HPMHOOK_pre_clif_PartyBookingDeleteNotify) (struct map_session_data *sd, int *index);
+typedef void (*HPMHOOK_post_clif_PartyBookingDeleteNotify) (struct map_session_data *sd, int *index);
+typedef void (*HPMHOOK_pre_clif_PartyBookingInsertNotify) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad);
+typedef void (*HPMHOOK_post_clif_PartyBookingInsertNotify) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad);
+typedef void (*HPMHOOK_pre_clif_PartyRecruitRegisterAck) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_PartyRecruitRegisterAck) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_PartyRecruitDeleteAck) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_clif_PartyRecruitDeleteAck) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_pre_clif_PartyRecruitSearchAck) (int *fd, struct party_booking_ad_info **results, int *count, bool *more_result);
+typedef void (*HPMHOOK_post_clif_PartyRecruitSearchAck) (int *fd, struct party_booking_ad_info **results, int *count, bool *more_result);
+typedef void (*HPMHOOK_pre_clif_PartyRecruitUpdateNotify) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad);
+typedef void (*HPMHOOK_post_clif_PartyRecruitUpdateNotify) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad);
+typedef void (*HPMHOOK_pre_clif_PartyRecruitDeleteNotify) (struct map_session_data *sd, int *index);
+typedef void (*HPMHOOK_post_clif_PartyRecruitDeleteNotify) (struct map_session_data *sd, int *index);
+typedef void (*HPMHOOK_pre_clif_PartyRecruitInsertNotify) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad);
+typedef void (*HPMHOOK_post_clif_PartyRecruitInsertNotify) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad);
+typedef void (*HPMHOOK_pre_clif_PartyBookingVolunteerInfo) (int *index, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_PartyBookingVolunteerInfo) (int *index, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_PartyBookingRefuseVolunteer) (unsigned int *aid, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_PartyBookingRefuseVolunteer) (unsigned int *aid, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_PartyBookingCancelVolunteer) (int *index, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_PartyBookingCancelVolunteer) (int *index, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_PartyBookingAddFilteringList) (int *index, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_PartyBookingAddFilteringList) (int *index, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_PartyBookingSubFilteringList) (int *gid, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_PartyBookingSubFilteringList) (int *gid, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_buyingstore_open) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_buyingstore_open) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_buyingstore_open_failed) (struct map_session_data *sd, unsigned short *result, unsigned int *weight);
+typedef void (*HPMHOOK_post_clif_buyingstore_open_failed) (struct map_session_data *sd, unsigned short *result, unsigned int *weight);
+typedef void (*HPMHOOK_pre_clif_buyingstore_myitemlist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_buyingstore_myitemlist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_buyingstore_entry) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_buyingstore_entry) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_buyingstore_entry_single) (struct map_session_data *sd, struct map_session_data *pl_sd);
+typedef void (*HPMHOOK_post_clif_buyingstore_entry_single) (struct map_session_data *sd, struct map_session_data *pl_sd);
+typedef void (*HPMHOOK_pre_clif_buyingstore_disappear_entry) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_buyingstore_disappear_entry) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_buyingstore_disappear_entry_single) (struct map_session_data *sd, struct map_session_data *pl_sd);
+typedef void (*HPMHOOK_post_clif_buyingstore_disappear_entry_single) (struct map_session_data *sd, struct map_session_data *pl_sd);
+typedef void (*HPMHOOK_pre_clif_buyingstore_itemlist) (struct map_session_data *sd, struct map_session_data *pl_sd);
+typedef void (*HPMHOOK_post_clif_buyingstore_itemlist) (struct map_session_data *sd, struct map_session_data *pl_sd);
+typedef void (*HPMHOOK_pre_clif_buyingstore_trade_failed_buyer) (struct map_session_data *sd, short *result);
+typedef void (*HPMHOOK_post_clif_buyingstore_trade_failed_buyer) (struct map_session_data *sd, short *result);
+typedef void (*HPMHOOK_pre_clif_buyingstore_update_item) (struct map_session_data *sd, unsigned short *nameid, unsigned short *amount);
+typedef void (*HPMHOOK_post_clif_buyingstore_update_item) (struct map_session_data *sd, unsigned short *nameid, unsigned short *amount);
+typedef void (*HPMHOOK_pre_clif_buyingstore_delete_item) (struct map_session_data *sd, short *index, unsigned short *amount, int *price);
+typedef void (*HPMHOOK_post_clif_buyingstore_delete_item) (struct map_session_data *sd, short *index, unsigned short *amount, int *price);
+typedef void (*HPMHOOK_pre_clif_buyingstore_trade_failed_seller) (struct map_session_data *sd, short *result, unsigned short *nameid);
+typedef void (*HPMHOOK_post_clif_buyingstore_trade_failed_seller) (struct map_session_data *sd, short *result, unsigned short *nameid);
+typedef void (*HPMHOOK_pre_clif_search_store_info_ack) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_search_store_info_ack) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_search_store_info_failed) (struct map_session_data *sd, unsigned char *reason);
+typedef void (*HPMHOOK_post_clif_search_store_info_failed) (struct map_session_data *sd, unsigned char *reason);
+typedef void (*HPMHOOK_pre_clif_open_search_store_info) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_open_search_store_info) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_search_store_info_click_ack) (struct map_session_data *sd, short *x, short *y);
+typedef void (*HPMHOOK_post_clif_search_store_info_click_ack) (struct map_session_data *sd, short *x, short *y);
+typedef void (*HPMHOOK_pre_clif_elemental_info) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_elemental_info) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_elemental_updatestatus) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_post_clif_elemental_updatestatus) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_clif_bgqueue_ack) (struct map_session_data *sd, enum BATTLEGROUNDS_QUEUE_ACK *response, unsigned char *arena_id);
+typedef void (*HPMHOOK_post_clif_bgqueue_ack) (struct map_session_data *sd, enum BATTLEGROUNDS_QUEUE_ACK *response, unsigned char *arena_id);
+typedef void (*HPMHOOK_pre_clif_bgqueue_notice_delete) (struct map_session_data *sd, enum BATTLEGROUNDS_QUEUE_NOTICE_DELETED *response, const char *name);
+typedef void (*HPMHOOK_post_clif_bgqueue_notice_delete) (struct map_session_data *sd, enum BATTLEGROUNDS_QUEUE_NOTICE_DELETED *response, const char *name);
+typedef void (*HPMHOOK_pre_clif_bgqueue_update_info) (struct map_session_data *sd, unsigned char *arena_id, int *position);
+typedef void (*HPMHOOK_post_clif_bgqueue_update_info) (struct map_session_data *sd, unsigned char *arena_id, int *position);
+typedef void (*HPMHOOK_pre_clif_bgqueue_joined) (struct map_session_data *sd, int *pos);
+typedef void (*HPMHOOK_post_clif_bgqueue_joined) (struct map_session_data *sd, int *pos);
+typedef void (*HPMHOOK_pre_clif_bgqueue_pcleft) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_bgqueue_pcleft) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_bgqueue_battlebegins) (struct map_session_data *sd, unsigned char *arena_id, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_bgqueue_battlebegins) (struct map_session_data *sd, unsigned char *arena_id, enum send_target *target);
+typedef void (*HPMHOOK_pre_clif_adopt_reply) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_post_clif_adopt_reply) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_clif_adopt_request) (struct map_session_data *sd, struct map_session_data *src, int *p_id);
+typedef void (*HPMHOOK_post_clif_adopt_request) (struct map_session_data *sd, struct map_session_data *src, int *p_id);
+typedef void (*HPMHOOK_pre_clif_readbook) (int *fd, int *book_id, int *page);
+typedef void (*HPMHOOK_post_clif_readbook) (int *fd, int *book_id, int *page);
+typedef void (*HPMHOOK_pre_clif_notify_time) (struct map_session_data *sd, int64 *time);
+typedef void (*HPMHOOK_post_clif_notify_time) (struct map_session_data *sd, int64 *time);
+typedef void (*HPMHOOK_pre_clif_user_count) (struct map_session_data *sd, int *count);
+typedef void (*HPMHOOK_post_clif_user_count) (struct map_session_data *sd, int *count);
+typedef void (*HPMHOOK_pre_clif_noask_sub) (struct map_session_data *src, struct map_session_data *target, int *type);
+typedef void (*HPMHOOK_post_clif_noask_sub) (struct map_session_data *src, struct map_session_data *target, int *type);
+typedef void (*HPMHOOK_pre_clif_bc_ready) (void);
+typedef void (*HPMHOOK_post_clif_bc_ready) (void);
+typedef void (*HPMHOOK_pre_clif_channel_msg) (struct channel_data *chan, struct map_session_data *sd, char *msg);
+typedef void (*HPMHOOK_post_clif_channel_msg) (struct channel_data *chan, struct map_session_data *sd, char *msg);
+typedef void (*HPMHOOK_pre_clif_channel_msg2) (struct channel_data *chan, char *msg);
+typedef void (*HPMHOOK_post_clif_channel_msg2) (struct channel_data *chan, char *msg);
+typedef int (*HPMHOOK_pre_clif_undisguise_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_clif_undisguise_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_clif_bank_deposit) (struct map_session_data *sd, enum e_BANKING_DEPOSIT_ACK *reason);
+typedef void (*HPMHOOK_post_clif_bank_deposit) (struct map_session_data *sd, enum e_BANKING_DEPOSIT_ACK *reason);
+typedef void (*HPMHOOK_pre_clif_bank_withdraw) (struct map_session_data *sd, enum e_BANKING_WITHDRAW_ACK *reason);
+typedef void (*HPMHOOK_post_clif_bank_withdraw) (struct map_session_data *sd, enum e_BANKING_WITHDRAW_ACK *reason);
+typedef void (*HPMHOOK_pre_clif_show_modifiers) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_show_modifiers) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_notify_bounditem) (struct map_session_data *sd, unsigned short *index);
+typedef void (*HPMHOOK_post_clif_notify_bounditem) (struct map_session_data *sd, unsigned short *index);
+typedef int (*HPMHOOK_pre_clif_delay_damage) (int64 *tick, struct block_list *src, struct block_list *dst, int *sdelay, int *ddelay, int64 *in_damage, short *div, unsigned char *type);
+typedef int (*HPMHOOK_post_clif_delay_damage) (int retVal___, int64 *tick, struct block_list *src, struct block_list *dst, int *sdelay, int *ddelay, int64 *in_damage, short *div, unsigned char *type);
+typedef int (*HPMHOOK_pre_clif_delay_damage_sub) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_clif_delay_damage_sub) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_clif_npc_market_open) (struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_post_clif_npc_market_open) (struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_pre_clif_npc_market_purchase_ack) (struct map_session_data *sd, const struct itemlist *item_list, unsigned char *response);
+typedef void (*HPMHOOK_post_clif_npc_market_purchase_ack) (struct map_session_data *sd, const struct itemlist *item_list, unsigned char *response);
+typedef bool (*HPMHOOK_pre_clif_parse_roulette_db) (void);
+typedef bool (*HPMHOOK_post_clif_parse_roulette_db) (bool retVal___);
+typedef void (*HPMHOOK_pre_clif_roulette_generate_ack) (struct map_session_data *sd, unsigned char *result, short *stage, short *prizeIdx, short *bonusItemID);
+typedef void (*HPMHOOK_post_clif_roulette_generate_ack) (struct map_session_data *sd, unsigned char *result, short *stage, short *prizeIdx, short *bonusItemID);
+typedef void (*HPMHOOK_pre_clif_openmergeitem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_openmergeitem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_cancelmergeitem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_cancelmergeitem) (int *fd, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_clif_comparemergeitem) (const void *a, const void *b);
+typedef int (*HPMHOOK_post_clif_comparemergeitem) (int retVal___, const void *a, const void *b);
+typedef void (*HPMHOOK_pre_clif_ackmergeitems) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_ackmergeitems) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pWantToConnection) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pWantToConnection) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pLoadEndAck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pLoadEndAck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pTickSend) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pTickSend) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHotkey) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pHotkey) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pProgressbar) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pProgressbar) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pWalkToXY) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pWalkToXY) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pQuitGame) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pQuitGame) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGetCharNameRequest) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGetCharNameRequest) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGlobalMessage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGlobalMessage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMapMove) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMapMove) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pChangeDir) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pChangeDir) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pEmotion) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pEmotion) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHowManyConnections) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pHowManyConnections) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pActionRequest) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pActionRequest) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pActionRequest_sub) (struct map_session_data *sd, int *action_type, int *target_id, int64 *tick);
+typedef void (*HPMHOOK_post_clif_pActionRequest_sub) (struct map_session_data *sd, int *action_type, int *target_id, int64 *tick);
+typedef void (*HPMHOOK_pre_clif_pRestart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRestart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pWisMessage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pWisMessage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBroadcast) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBroadcast) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pTakeItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pTakeItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pDropItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pDropItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pUseItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pUseItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pEquipItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pEquipItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pUnequipItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pUnequipItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNpcClicked) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNpcClicked) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNpcBuySellSelected) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNpcBuySellSelected) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNpcBuyListSend) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNpcBuyListSend) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNpcSellListSend) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNpcSellListSend) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCreateChatRoom) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCreateChatRoom) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pChatAddMember) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pChatAddMember) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pChatRoomStatusChange) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pChatRoomStatusChange) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pChangeChatOwner) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pChangeChatOwner) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pKickFromChat) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pKickFromChat) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pChatLeave) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pChatLeave) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pTradeRequest) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pTradeRequest) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pTradeAck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pTradeAck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pTradeAddItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pTradeAddItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pTradeOk) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pTradeOk) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pTradeCancel) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pTradeCancel) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pTradeCommit) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pTradeCommit) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pStopAttack) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pStopAttack) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPutItemToCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPutItemToCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGetItemFromCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGetItemFromCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRemoveOption) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRemoveOption) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pChangeCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pChangeCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pStatusUp) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pStatusUp) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSkillUp) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSkillUp) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pUseSkillToId) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pUseSkillToId) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pUseSkillToId_homun) (struct homun_data *hd, struct map_session_data *sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, int *target_id);
+typedef void (*HPMHOOK_post_clif_pUseSkillToId_homun) (struct homun_data *hd, struct map_session_data *sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, int *target_id);
+typedef void (*HPMHOOK_pre_clif_pUseSkillToId_mercenary) (struct mercenary_data *md, struct map_session_data *sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, int *target_id);
+typedef void (*HPMHOOK_post_clif_pUseSkillToId_mercenary) (struct mercenary_data *md, struct map_session_data *sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, int *target_id);
+typedef void (*HPMHOOK_pre_clif_pUseSkillToPos) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pUseSkillToPos) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pUseSkillToPosSub) (int *fd, struct map_session_data *sd, uint16 *skill_lv, uint16 *skill_id, short *x, short *y, int *skillmoreinfo);
+typedef void (*HPMHOOK_post_clif_pUseSkillToPosSub) (int *fd, struct map_session_data *sd, uint16 *skill_lv, uint16 *skill_id, short *x, short *y, int *skillmoreinfo);
+typedef void (*HPMHOOK_pre_clif_pUseSkillToPos_homun) (struct homun_data *hd, struct map_session_data *sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, short *x, short *y, int *skillmoreinfo);
+typedef void (*HPMHOOK_post_clif_pUseSkillToPos_homun) (struct homun_data *hd, struct map_session_data *sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, short *x, short *y, int *skillmoreinfo);
+typedef void (*HPMHOOK_pre_clif_pUseSkillToPos_mercenary) (struct mercenary_data *md, struct map_session_data *sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, short *x, short *y, int *skillmoreinfo);
+typedef void (*HPMHOOK_post_clif_pUseSkillToPos_mercenary) (struct mercenary_data *md, struct map_session_data *sd, int64 *tick, uint16 *skill_id, uint16 *skill_lv, short *x, short *y, int *skillmoreinfo);
+typedef void (*HPMHOOK_pre_clif_pUseSkillToPosMoreInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pUseSkillToPosMoreInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pUseSkillMap) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pUseSkillMap) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRequestMemo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRequestMemo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pProduceMix) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pProduceMix) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCooking) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCooking) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRepairItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRepairItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pWeaponRefine) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pWeaponRefine) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNpcSelectMenu) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNpcSelectMenu) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNpcNextClicked) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNpcNextClicked) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNpcAmountInput) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNpcAmountInput) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNpcStringInput) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNpcStringInput) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNpcCloseClicked) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNpcCloseClicked) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pItemIdentify) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pItemIdentify) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSelectArrow) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSelectArrow) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAutoSpell) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAutoSpell) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pUseCard) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pUseCard) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pInsertCard) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pInsertCard) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSolveCharName) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSolveCharName) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pResetChar) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pResetChar) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pLocalBroadcast) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pLocalBroadcast) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMoveToKafra) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMoveToKafra) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMoveFromKafra) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMoveFromKafra) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMoveToKafraFromCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMoveToKafraFromCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMoveFromKafraToCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMoveFromKafraToCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCloseKafra) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCloseKafra) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pStoragePassword) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pStoragePassword) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCreateParty) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCreateParty) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCreateParty2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCreateParty2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyInvite) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyInvite) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyInvite2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyInvite2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pReplyPartyInvite) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pReplyPartyInvite) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pReplyPartyInvite2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pReplyPartyInvite2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pLeaveParty) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pLeaveParty) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRemovePartyMember) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRemovePartyMember) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyChangeOption) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyChangeOption) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyMessage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyMessage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyChangeLeader) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyChangeLeader) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyBookingRegisterReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyBookingRegisterReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyBookingSearchReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyBookingSearchReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyBookingDeleteReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyBookingDeleteReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyBookingUpdateReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyBookingUpdateReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyRecruitRegisterReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyRecruitRegisterReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyRecruitSearchReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyRecruitSearchReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyRecruitDeleteReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyRecruitDeleteReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyRecruitUpdateReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyRecruitUpdateReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCloseVending) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCloseVending) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pVendingListReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pVendingListReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPurchaseReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPurchaseReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPurchaseReq2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPurchaseReq2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pOpenVending) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pOpenVending) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCreateGuild) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCreateGuild) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildCheckMaster) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildCheckMaster) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildRequestInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildRequestInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildChangePositionInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildChangePositionInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildChangeMemberPosition) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildChangeMemberPosition) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildRequestEmblem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildRequestEmblem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildChangeEmblem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildChangeEmblem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildChangeNotice) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildChangeNotice) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildInvite) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildInvite) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildReplyInvite) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildReplyInvite) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildLeave) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildLeave) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildExpulsion) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildExpulsion) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildMessage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildMessage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildRequestAlliance) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildRequestAlliance) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildReplyAlliance) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildReplyAlliance) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildDelAlliance) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildDelAlliance) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildOpposition) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildOpposition) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildBreak) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildBreak) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPetMenu) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPetMenu) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCatchPet) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCatchPet) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSelectEgg) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSelectEgg) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSendEmotion) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSendEmotion) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pChangePetName) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pChangePetName) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMKick) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMKick) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMKickAll) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMKickAll) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMShift) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMShift) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMRemove2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMRemove2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMRecall) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMRecall) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMRecall2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMRecall2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGM_Monster_Item) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGM_Monster_Item) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMHide) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMHide) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMReqNoChat) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMReqNoChat) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMRc) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMRc) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMReqAccountName) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMReqAccountName) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMChangeMapType) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMChangeMapType) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGMFullStrip) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGMFullStrip) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPMIgnore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPMIgnore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPMIgnoreAll) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPMIgnoreAll) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPMIgnoreList) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPMIgnoreList) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNoviceDoriDori) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNoviceDoriDori) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNoviceExplosionSpirits) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNoviceExplosionSpirits) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pFriendsListAdd) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pFriendsListAdd) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pFriendsListReply) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pFriendsListReply) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pFriendsListRemove) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pFriendsListRemove) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPVPInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPVPInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBlacksmith) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBlacksmith) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAlchemist) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAlchemist) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pTaekwon) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pTaekwon) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRankingPk) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRankingPk) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pFeelSaveOk) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pFeelSaveOk) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pChangeHomunculusName) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pChangeHomunculusName) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHomMoveToMaster) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pHomMoveToMaster) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHomMoveTo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pHomMoveTo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHomAttack) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pHomAttack) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHomMenu) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pHomMenu) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAutoRevive) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAutoRevive) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCheck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCheck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMail_refreshinbox) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMail_refreshinbox) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMail_read) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMail_read) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMail_getattach) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMail_getattach) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMail_delete) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMail_delete) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMail_return) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMail_return) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMail_setattach) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMail_setattach) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMail_winopen) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMail_winopen) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMail_send) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMail_send) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAuction_cancelreg) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAuction_cancelreg) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAuction_setitem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAuction_setitem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAuction_register) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAuction_register) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAuction_cancel) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAuction_cancel) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAuction_close) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAuction_close) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAuction_bid) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAuction_bid) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAuction_search) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAuction_search) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAuction_buysell) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAuction_buysell) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pcashshop_buy) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pcashshop_buy) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAdopt_request) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAdopt_request) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pAdopt_reply) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pAdopt_reply) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pViewPlayerEquip) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pViewPlayerEquip) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pEquipTick) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pEquipTick) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pquestStateAck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pquestStateAck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pmercenary_action) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pmercenary_action) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBattleChat) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBattleChat) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pLessEffect) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pLessEffect) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pItemListWindowSelected) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pItemListWindowSelected) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pReqOpenBuyingStore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pReqOpenBuyingStore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pReqCloseBuyingStore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pReqCloseBuyingStore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pReqClickBuyingStore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pReqClickBuyingStore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pReqTradeBuyingStore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pReqTradeBuyingStore) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSearchStoreInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSearchStoreInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSearchStoreInfoNextPage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSearchStoreInfoNextPage) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCloseSearchStoreInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCloseSearchStoreInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSearchStoreInfoListItemClick) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSearchStoreInfoListItemClick) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pDebug) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pDebug) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSkillSelectMenu) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSkillSelectMenu) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pMoveItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pMoveItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pDull) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pDull) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBGQueueRegister) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBGQueueRegister) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBGQueueCheckState) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBGQueueCheckState) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBGQueueRevokeReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBGQueueRevokeReq) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBGQueueBattleBeginAck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBGQueueBattleBeginAck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCashShopOpen) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCashShopOpen) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCashShopClose) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCashShopClose) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCashShopReqTab) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCashShopReqTab) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCashShopSchedule) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCashShopSchedule) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCashShopBuy) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pCashShopBuy) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyTick) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyTick) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildInvite2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pGuildInvite2) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyBookingAddFilter) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyBookingAddFilter) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyBookingSubFilter) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyBookingSubFilter) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyBookingReqVolunteer) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyBookingReqVolunteer) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyBookingRefuseVolunteer) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyBookingRefuseVolunteer) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pPartyBookingCancelVolunteer) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pPartyBookingCancelVolunteer) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBankDeposit) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBankDeposit) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBankWithdraw) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBankWithdraw) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBankCheck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBankCheck) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBankOpen) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBankOpen) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pBankClose) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pBankClose) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRouletteOpen) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRouletteOpen) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRouletteInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRouletteInfo) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRouletteClose) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRouletteClose) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRouletteGenerate) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRouletteGenerate) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRouletteRecvItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pRouletteRecvItem) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNPCShopClosed) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNPCShopClosed) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNPCMarketClosed) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNPCMarketClosed) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNPCMarketPurchase) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pNPCMarketPurchase) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_add_random_options) (unsigned char *buf, struct item *item);
+typedef void (*HPMHOOK_post_clif_add_random_options) (unsigned char *buf, struct item *item);
+typedef void (*HPMHOOK_pre_clif_pHotkeyRowShift) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pHotkeyRowShift) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_dressroom_open) (struct map_session_data *sd, int *view);
+typedef void (*HPMHOOK_post_clif_dressroom_open) (struct map_session_data *sd, int *view);
+typedef void (*HPMHOOK_pre_clif_pOneClick_ItemIdentify) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pOneClick_ItemIdentify) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_selectcart) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_selectcart) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pSelectCart) (int *fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_clif_pSelectCart) (int *fd, struct map_session_data *sd);
+typedef const char* (*HPMHOOK_pre_clif_get_bl_name) (const struct block_list *bl);
+typedef const char* (*HPMHOOK_post_clif_get_bl_name) (const char* retVal___, const struct block_list *bl);
+#endif // MAP_CLIF_H
+#ifdef COMMON_CORE_H /* cmdline */
+typedef void (*HPMHOOK_pre_cmdline_init) (void);
+typedef void (*HPMHOOK_post_cmdline_init) (void);
+typedef void (*HPMHOOK_pre_cmdline_final) (void);
+typedef void (*HPMHOOK_post_cmdline_final) (void);
+typedef bool (*HPMHOOK_pre_cmdline_arg_add) (unsigned int *pluginID, const char *name, char *shortname, CmdlineExecFunc *func, const char *help, unsigned int *options);
+typedef bool (*HPMHOOK_post_cmdline_arg_add) (bool retVal___, unsigned int *pluginID, const char *name, char *shortname, CmdlineExecFunc *func, const char *help, unsigned int *options);
+typedef int (*HPMHOOK_pre_cmdline_exec) (int *argc, char **argv, unsigned int *options);
+typedef int (*HPMHOOK_post_cmdline_exec) (int retVal___, int *argc, char **argv, unsigned int *options);
+typedef bool (*HPMHOOK_pre_cmdline_arg_next_value) (const char *name, int *current_arg, int *argc);
+typedef bool (*HPMHOOK_post_cmdline_arg_next_value) (bool retVal___, const char *name, int *current_arg, int *argc);
+typedef const char* (*HPMHOOK_pre_cmdline_arg_source) (struct CmdlineArgData *arg);
+typedef const char* (*HPMHOOK_post_cmdline_arg_source) (const char* retVal___, struct CmdlineArgData *arg);
+#endif // COMMON_CORE_H
+#ifdef COMMON_CONSOLE_H /* console */
+typedef void (*HPMHOOK_pre_console_init) (void);
+typedef void (*HPMHOOK_post_console_init) (void);
+typedef void (*HPMHOOK_pre_console_final) (void);
+typedef void (*HPMHOOK_post_console_final) (void);
+typedef void (*HPMHOOK_pre_console_display_title) (void);
+typedef void (*HPMHOOK_post_console_display_title) (void);
+typedef void (*HPMHOOK_pre_console_display_gplnotice) (void);
+typedef void (*HPMHOOK_post_console_display_gplnotice) (void);
+#endif // COMMON_CONSOLE_H
+#ifdef COMMON_CORE_H /* core */
+typedef void (*HPMHOOK_pre_core_shutdown_callback) (void);
+typedef void (*HPMHOOK_post_core_shutdown_callback) (void);
+#endif // COMMON_CORE_H
+#ifdef COMMON_DB_H /* DB */
+typedef enum DBOptions (*HPMHOOK_pre_DB_fix_options) (enum DBType *type, enum DBOptions *options);
+typedef enum DBOptions (*HPMHOOK_post_DB_fix_options) (enum DBOptions retVal___, enum DBType *type, enum DBOptions *options);
+typedef DBComparator (*HPMHOOK_pre_DB_default_cmp) (enum DBType *type);
+typedef DBComparator (*HPMHOOK_post_DB_default_cmp) (DBComparator retVal___, enum DBType *type);
+typedef DBHasher (*HPMHOOK_pre_DB_default_hash) (enum DBType *type);
+typedef DBHasher (*HPMHOOK_post_DB_default_hash) (DBHasher retVal___, enum DBType *type);
+typedef DBReleaser (*HPMHOOK_pre_DB_default_release) (enum DBType *type, enum DBOptions *options);
+typedef DBReleaser (*HPMHOOK_post_DB_default_release) (DBReleaser retVal___, enum DBType *type, enum DBOptions *options);
+typedef DBReleaser (*HPMHOOK_pre_DB_custom_release) (enum DBReleaseOption *which);
+typedef DBReleaser (*HPMHOOK_post_DB_custom_release) (DBReleaser retVal___, enum DBReleaseOption *which);
+typedef struct DBMap* (*HPMHOOK_pre_DB_alloc) (const char *file, const char *func, int *line, enum DBType *type, enum DBOptions *options, unsigned short *maxlen);
+typedef struct DBMap* (*HPMHOOK_post_DB_alloc) (struct DBMap* retVal___, const char *file, const char *func, int *line, enum DBType *type, enum DBOptions *options, unsigned short *maxlen);
+typedef union DBKey (*HPMHOOK_pre_DB_i2key) (int *key);
+typedef union DBKey (*HPMHOOK_post_DB_i2key) (union DBKey retVal___, int *key);
+typedef union DBKey (*HPMHOOK_pre_DB_ui2key) (unsigned int *key);
+typedef union DBKey (*HPMHOOK_post_DB_ui2key) (union DBKey retVal___, unsigned int *key);
+typedef union DBKey (*HPMHOOK_pre_DB_str2key) (const char *key);
+typedef union DBKey (*HPMHOOK_post_DB_str2key) (union DBKey retVal___, const char *key);
+typedef union DBKey (*HPMHOOK_pre_DB_i642key) (int64 *key);
+typedef union DBKey (*HPMHOOK_post_DB_i642key) (union DBKey retVal___, int64 *key);
+typedef union DBKey (*HPMHOOK_pre_DB_ui642key) (uint64 *key);
+typedef union DBKey (*HPMHOOK_post_DB_ui642key) (union DBKey retVal___, uint64 *key);
+typedef struct DBData (*HPMHOOK_pre_DB_i2data) (int *data);
+typedef struct DBData (*HPMHOOK_post_DB_i2data) (struct DBData retVal___, int *data);
+typedef struct DBData (*HPMHOOK_pre_DB_ui2data) (unsigned int *data);
+typedef struct DBData (*HPMHOOK_post_DB_ui2data) (struct DBData retVal___, unsigned int *data);
+typedef struct DBData (*HPMHOOK_pre_DB_ptr2data) (void *data);
+typedef struct DBData (*HPMHOOK_post_DB_ptr2data) (struct DBData retVal___, void *data);
+typedef int (*HPMHOOK_pre_DB_data2i) (struct DBData *data);
+typedef int (*HPMHOOK_post_DB_data2i) (int retVal___, struct DBData *data);
+typedef unsigned int (*HPMHOOK_pre_DB_data2ui) (struct DBData *data);
+typedef unsigned int (*HPMHOOK_post_DB_data2ui) (unsigned int retVal___, struct DBData *data);
+typedef void* (*HPMHOOK_pre_DB_data2ptr) (struct DBData *data);
+typedef void* (*HPMHOOK_post_DB_data2ptr) (void* retVal___, struct DBData *data);
+typedef void (*HPMHOOK_pre_DB_init) (void);
+typedef void (*HPMHOOK_post_DB_init) (void);
+typedef void (*HPMHOOK_pre_DB_final) (void);
+typedef void (*HPMHOOK_post_DB_final) (void);
+#endif // COMMON_DB_H
+#ifdef MAP_DUEL_H /* duel */
+typedef int (*HPMHOOK_pre_duel_create) (struct map_session_data *sd, const unsigned int *maxpl);
+typedef int (*HPMHOOK_post_duel_create) (int retVal___, struct map_session_data *sd, const unsigned int *maxpl);
+typedef void (*HPMHOOK_pre_duel_invite) (const unsigned int *did, struct map_session_data *sd, struct map_session_data *target_sd);
+typedef void (*HPMHOOK_post_duel_invite) (const unsigned int *did, struct map_session_data *sd, struct map_session_data *target_sd);
+typedef void (*HPMHOOK_pre_duel_accept) (const unsigned int *did, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_duel_accept) (const unsigned int *did, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_duel_reject) (const unsigned int *did, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_duel_reject) (const unsigned int *did, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_duel_leave) (const unsigned int *did, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_duel_leave) (const unsigned int *did, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_duel_showinfo) (const unsigned int *did, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_duel_showinfo) (const unsigned int *did, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_duel_checktime) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_duel_checktime) (int retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_duel_init) (bool *minimal);
+typedef void (*HPMHOOK_post_duel_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_duel_final) (void);
+typedef void (*HPMHOOK_post_duel_final) (void);
+#endif // MAP_DUEL_H
+#ifdef MAP_ELEMENTAL_H /* elemental */
+typedef int (*HPMHOOK_pre_elemental_init) (bool *minimal);
+typedef int (*HPMHOOK_post_elemental_init) (int retVal___, bool *minimal);
+typedef void (*HPMHOOK_pre_elemental_final) (void);
+typedef void (*HPMHOOK_post_elemental_final) (void);
+typedef bool (*HPMHOOK_pre_elemental_class) (int *class_);
+typedef bool (*HPMHOOK_post_elemental_class) (bool retVal___, int *class_);
+typedef struct view_data* (*HPMHOOK_pre_elemental_get_viewdata) (int *class_);
+typedef struct view_data* (*HPMHOOK_post_elemental_get_viewdata) (struct view_data* retVal___, int *class_);
+typedef int (*HPMHOOK_pre_elemental_create) (struct map_session_data *sd, int *class_, unsigned int *lifetime);
+typedef int (*HPMHOOK_post_elemental_create) (int retVal___, struct map_session_data *sd, int *class_, unsigned int *lifetime);
+typedef int (*HPMHOOK_pre_elemental_data_received) (const struct s_elemental *ele, bool *flag);
+typedef int (*HPMHOOK_post_elemental_data_received) (int retVal___, const struct s_elemental *ele, bool *flag);
+typedef int (*HPMHOOK_pre_elemental_save) (struct elemental_data *ed);
+typedef int (*HPMHOOK_post_elemental_save) (int retVal___, struct elemental_data *ed);
+typedef int (*HPMHOOK_pre_elemental_change_mode_ack) (struct elemental_data *ed, int *mode);
+typedef int (*HPMHOOK_post_elemental_change_mode_ack) (int retVal___, struct elemental_data *ed, int *mode);
+typedef int (*HPMHOOK_pre_elemental_change_mode) (struct elemental_data *ed, uint32 *mode);
+typedef int (*HPMHOOK_post_elemental_change_mode) (int retVal___, struct elemental_data *ed, uint32 *mode);
+typedef void (*HPMHOOK_pre_elemental_heal) (struct elemental_data *ed, int *hp, int *sp);
+typedef void (*HPMHOOK_post_elemental_heal) (struct elemental_data *ed, int *hp, int *sp);
+typedef int (*HPMHOOK_pre_elemental_dead) (struct elemental_data *ed);
+typedef int (*HPMHOOK_post_elemental_dead) (int retVal___, struct elemental_data *ed);
+typedef int (*HPMHOOK_pre_elemental_delete) (struct elemental_data *ed, int *reply);
+typedef int (*HPMHOOK_post_elemental_delete) (int retVal___, struct elemental_data *ed, int *reply);
+typedef void (*HPMHOOK_pre_elemental_summon_stop) (struct elemental_data *ed);
+typedef void (*HPMHOOK_post_elemental_summon_stop) (struct elemental_data *ed);
+typedef int (*HPMHOOK_pre_elemental_get_lifetime) (struct elemental_data *ed);
+typedef int (*HPMHOOK_post_elemental_get_lifetime) (int retVal___, struct elemental_data *ed);
+typedef int (*HPMHOOK_pre_elemental_unlocktarget) (struct elemental_data *ed);
+typedef int (*HPMHOOK_post_elemental_unlocktarget) (int retVal___, struct elemental_data *ed);
+typedef int (*HPMHOOK_pre_elemental_skillnotok) (uint16 *skill_id, struct elemental_data *ed);
+typedef int (*HPMHOOK_post_elemental_skillnotok) (int retVal___, uint16 *skill_id, struct elemental_data *ed);
+typedef int (*HPMHOOK_pre_elemental_set_target) (struct map_session_data *sd, struct block_list *bl);
+typedef int (*HPMHOOK_post_elemental_set_target) (int retVal___, struct map_session_data *sd, struct block_list *bl);
+typedef int (*HPMHOOK_pre_elemental_clean_single_effect) (struct elemental_data *ed, uint16 *skill_id);
+typedef int (*HPMHOOK_post_elemental_clean_single_effect) (int retVal___, struct elemental_data *ed, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_elemental_clean_effect) (struct elemental_data *ed);
+typedef int (*HPMHOOK_post_elemental_clean_effect) (int retVal___, struct elemental_data *ed);
+typedef int (*HPMHOOK_pre_elemental_action) (struct elemental_data *ed, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_post_elemental_action) (int retVal___, struct elemental_data *ed, struct block_list *bl, int64 *tick);
+typedef struct skill_condition (*HPMHOOK_pre_elemental_skill_get_requirements) (uint16 *skill_id, uint16 *skill_lv);
+typedef struct skill_condition (*HPMHOOK_post_elemental_skill_get_requirements) (struct skill_condition retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_elemental_read_skilldb) (void);
+typedef int (*HPMHOOK_post_elemental_read_skilldb) (int retVal___);
+typedef void (*HPMHOOK_pre_elemental_reload_db) (void);
+typedef void (*HPMHOOK_post_elemental_reload_db) (void);
+typedef void (*HPMHOOK_pre_elemental_reload_skilldb) (void);
+typedef void (*HPMHOOK_post_elemental_reload_skilldb) (void);
+typedef int (*HPMHOOK_pre_elemental_search_index) (int *class_);
+typedef int (*HPMHOOK_post_elemental_search_index) (int retVal___, int *class_);
+typedef void (*HPMHOOK_pre_elemental_summon_init) (struct elemental_data *ed);
+typedef void (*HPMHOOK_post_elemental_summon_init) (struct elemental_data *ed);
+typedef int (*HPMHOOK_pre_elemental_summon_end_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_elemental_summon_end_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_elemental_ai_sub_timer_activesearch) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_elemental_ai_sub_timer_activesearch) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_elemental_ai_sub_timer) (struct elemental_data *ed, struct map_session_data *sd, int64 *tick);
+typedef int (*HPMHOOK_post_elemental_ai_sub_timer) (int retVal___, struct elemental_data *ed, struct map_session_data *sd, int64 *tick);
+typedef int (*HPMHOOK_pre_elemental_ai_sub_foreachclient) (struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_post_elemental_ai_sub_foreachclient) (int retVal___, struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_pre_elemental_ai_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_elemental_ai_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_elemental_read_db) (void);
+typedef int (*HPMHOOK_post_elemental_read_db) (int retVal___);
+#endif // MAP_ELEMENTAL_H
+#ifdef CHAR_GEOIP_H /* geoip */
+typedef const char* (*HPMHOOK_pre_geoip_getcountry) (uint32 *ipnum);
+typedef const char* (*HPMHOOK_post_geoip_getcountry) (const char* retVal___, uint32 *ipnum);
+typedef void (*HPMHOOK_pre_geoip_final) (bool *shutdown);
+typedef void (*HPMHOOK_post_geoip_final) (bool *shutdown);
+typedef void (*HPMHOOK_pre_geoip_init) (void);
+typedef void (*HPMHOOK_post_geoip_init) (void);
+#endif // CHAR_GEOIP_H
+#ifdef MAP_GUILD_H /* guild */
+typedef void (*HPMHOOK_pre_guild_init) (bool *minimal);
+typedef void (*HPMHOOK_post_guild_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_guild_final) (void);
+typedef void (*HPMHOOK_post_guild_final) (void);
+typedef int (*HPMHOOK_pre_guild_skill_get_max) (int *id);
+typedef int (*HPMHOOK_post_guild_skill_get_max) (int retVal___, int *id);
+typedef int (*HPMHOOK_pre_guild_checkskill) (struct guild *g, int *id);
+typedef int (*HPMHOOK_post_guild_checkskill) (int retVal___, struct guild *g, int *id);
+typedef int (*HPMHOOK_pre_guild_check_skill_require) (struct guild *g, int *id);
+typedef int (*HPMHOOK_post_guild_check_skill_require) (int retVal___, struct guild *g, int *id);
+typedef int (*HPMHOOK_pre_guild_checkcastles) (struct guild *g);
+typedef int (*HPMHOOK_post_guild_checkcastles) (int retVal___, struct guild *g);
+typedef bool (*HPMHOOK_pre_guild_isallied) (int *guild_id, int *guild_id2);
+typedef bool (*HPMHOOK_post_guild_isallied) (bool retVal___, int *guild_id, int *guild_id2);
+typedef struct guild* (*HPMHOOK_pre_guild_search) (int *guild_id);
+typedef struct guild* (*HPMHOOK_post_guild_search) (struct guild* retVal___, int *guild_id);
+typedef struct guild* (*HPMHOOK_pre_guild_searchname) (char *str);
+typedef struct guild* (*HPMHOOK_post_guild_searchname) (struct guild* retVal___, char *str);
+typedef struct guild_castle* (*HPMHOOK_pre_guild_castle_search) (int *gcid);
+typedef struct guild_castle* (*HPMHOOK_post_guild_castle_search) (struct guild_castle* retVal___, int *gcid);
+typedef struct guild_castle* (*HPMHOOK_pre_guild_mapname2gc) (const char *mapname);
+typedef struct guild_castle* (*HPMHOOK_post_guild_mapname2gc) (struct guild_castle* retVal___, const char *mapname);
+typedef struct guild_castle* (*HPMHOOK_pre_guild_mapindex2gc) (short *map_index);
+typedef struct guild_castle* (*HPMHOOK_post_guild_mapindex2gc) (struct guild_castle* retVal___, short *map_index);
+typedef struct map_session_data* (*HPMHOOK_pre_guild_getavailablesd) (struct guild *g);
+typedef struct map_session_data* (*HPMHOOK_post_guild_getavailablesd) (struct map_session_data* retVal___, struct guild *g);
+typedef int (*HPMHOOK_pre_guild_getindex) (const struct guild *g, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_guild_getindex) (int retVal___, const struct guild *g, int *account_id, int *char_id);
+typedef int (*HPMHOOK_pre_guild_getposition) (struct guild *g, struct map_session_data *sd);
+typedef int (*HPMHOOK_post_guild_getposition) (int retVal___, struct guild *g, struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_pre_guild_payexp) (struct map_session_data *sd, unsigned int *exp);
+typedef unsigned int (*HPMHOOK_post_guild_payexp) (unsigned int retVal___, struct map_session_data *sd, unsigned int *exp);
+typedef int (*HPMHOOK_pre_guild_getexp) (struct map_session_data *sd, int *exp);
+typedef int (*HPMHOOK_post_guild_getexp) (int retVal___, struct map_session_data *sd, int *exp);
+typedef int (*HPMHOOK_pre_guild_create) (struct map_session_data *sd, const char *name);
+typedef int (*HPMHOOK_post_guild_create) (int retVal___, struct map_session_data *sd, const char *name);
+typedef int (*HPMHOOK_pre_guild_created) (int *account_id, int *guild_id);
+typedef int (*HPMHOOK_post_guild_created) (int retVal___, int *account_id, int *guild_id);
+typedef int (*HPMHOOK_pre_guild_request_info) (int *guild_id);
+typedef int (*HPMHOOK_post_guild_request_info) (int retVal___, int *guild_id);
+typedef int (*HPMHOOK_pre_guild_recv_noinfo) (int *guild_id);
+typedef int (*HPMHOOK_post_guild_recv_noinfo) (int retVal___, int *guild_id);
+typedef int (*HPMHOOK_pre_guild_recv_info) (const struct guild *sg);
+typedef int (*HPMHOOK_post_guild_recv_info) (int retVal___, const struct guild *sg);
+typedef int (*HPMHOOK_pre_guild_npc_request_info) (int *guild_id, const char *ev);
+typedef int (*HPMHOOK_post_guild_npc_request_info) (int retVal___, int *guild_id, const char *ev);
+typedef int (*HPMHOOK_pre_guild_invite) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef int (*HPMHOOK_post_guild_invite) (int retVal___, struct map_session_data *sd, struct map_session_data *tsd);
+typedef int (*HPMHOOK_pre_guild_reply_invite) (struct map_session_data *sd, int *guild_id, int *flag);
+typedef int (*HPMHOOK_post_guild_reply_invite) (int retVal___, struct map_session_data *sd, int *guild_id, int *flag);
+typedef void (*HPMHOOK_pre_guild_member_joined) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_guild_member_joined) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_guild_member_added) (int *guild_id, int *account_id, int *char_id, int *flag);
+typedef int (*HPMHOOK_post_guild_member_added) (int retVal___, int *guild_id, int *account_id, int *char_id, int *flag);
+typedef int (*HPMHOOK_pre_guild_leave) (struct map_session_data *sd, int *guild_id, int *account_id, int *char_id, const char *mes);
+typedef int (*HPMHOOK_post_guild_leave) (int retVal___, struct map_session_data *sd, int *guild_id, int *account_id, int *char_id, const char *mes);
+typedef int (*HPMHOOK_pre_guild_member_withdraw) (int *guild_id, int *account_id, int *char_id, int *flag, const char *name, const char *mes);
+typedef int (*HPMHOOK_post_guild_member_withdraw) (int retVal___, int *guild_id, int *account_id, int *char_id, int *flag, const char *name, const char *mes);
+typedef int (*HPMHOOK_pre_guild_expulsion) (struct map_session_data *sd, int *guild_id, int *account_id, int *char_id, const char *mes);
+typedef int (*HPMHOOK_post_guild_expulsion) (int retVal___, struct map_session_data *sd, int *guild_id, int *account_id, int *char_id, const char *mes);
+typedef int (*HPMHOOK_pre_guild_skillup) (struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_post_guild_skillup) (int retVal___, struct map_session_data *sd, uint16 *skill_id);
+typedef void (*HPMHOOK_pre_guild_block_skill) (struct map_session_data *sd, int *time);
+typedef void (*HPMHOOK_post_guild_block_skill) (struct map_session_data *sd, int *time);
+typedef int (*HPMHOOK_pre_guild_reqalliance) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef int (*HPMHOOK_post_guild_reqalliance) (int retVal___, struct map_session_data *sd, struct map_session_data *tsd);
+typedef int (*HPMHOOK_pre_guild_reply_reqalliance) (struct map_session_data *sd, int *account_id, int *flag);
+typedef int (*HPMHOOK_post_guild_reply_reqalliance) (int retVal___, struct map_session_data *sd, int *account_id, int *flag);
+typedef int (*HPMHOOK_pre_guild_allianceack) (int *guild_id1, int *guild_id2, int *account_id1, int *account_id2, int *flag, const char *name1, const char *name2);
+typedef int (*HPMHOOK_post_guild_allianceack) (int retVal___, int *guild_id1, int *guild_id2, int *account_id1, int *account_id2, int *flag, const char *name1, const char *name2);
+typedef int (*HPMHOOK_pre_guild_delalliance) (struct map_session_data *sd, int *guild_id, int *flag);
+typedef int (*HPMHOOK_post_guild_delalliance) (int retVal___, struct map_session_data *sd, int *guild_id, int *flag);
+typedef int (*HPMHOOK_pre_guild_opposition) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef int (*HPMHOOK_post_guild_opposition) (int retVal___, struct map_session_data *sd, struct map_session_data *tsd);
+typedef int (*HPMHOOK_pre_guild_check_alliance) (int *guild_id1, int *guild_id2, int *flag);
+typedef int (*HPMHOOK_post_guild_check_alliance) (int retVal___, int *guild_id1, int *guild_id2, int *flag);
+typedef int (*HPMHOOK_pre_guild_send_memberinfoshort) (struct map_session_data *sd, int *online);
+typedef int (*HPMHOOK_post_guild_send_memberinfoshort) (int retVal___, struct map_session_data *sd, int *online);
+typedef int (*HPMHOOK_pre_guild_recv_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class_);
+typedef int (*HPMHOOK_post_guild_recv_memberinfoshort) (int retVal___, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class_);
+typedef int (*HPMHOOK_pre_guild_change_memberposition) (int *guild_id, int *account_id, int *char_id, short *idx);
+typedef int (*HPMHOOK_post_guild_change_memberposition) (int retVal___, int *guild_id, int *account_id, int *char_id, short *idx);
+typedef int (*HPMHOOK_pre_guild_memberposition_changed) (struct guild *g, int *idx, int *pos);
+typedef int (*HPMHOOK_post_guild_memberposition_changed) (int retVal___, struct guild *g, int *idx, int *pos);
+typedef int (*HPMHOOK_pre_guild_change_position) (int *guild_id, int *idx, int *mode, int *exp_mode, const char *name);
+typedef int (*HPMHOOK_post_guild_change_position) (int retVal___, int *guild_id, int *idx, int *mode, int *exp_mode, const char *name);
+typedef int (*HPMHOOK_pre_guild_position_changed) (int *guild_id, int *idx, const struct guild_position *p);
+typedef int (*HPMHOOK_post_guild_position_changed) (int retVal___, int *guild_id, int *idx, const struct guild_position *p);
+typedef int (*HPMHOOK_pre_guild_change_notice) (struct map_session_data *sd, int *guild_id, const char *mes1, const char *mes2);
+typedef int (*HPMHOOK_post_guild_change_notice) (int retVal___, struct map_session_data *sd, int *guild_id, const char *mes1, const char *mes2);
+typedef int (*HPMHOOK_pre_guild_notice_changed) (int *guild_id, const char *mes1, const char *mes2);
+typedef int (*HPMHOOK_post_guild_notice_changed) (int retVal___, int *guild_id, const char *mes1, const char *mes2);
+typedef int (*HPMHOOK_pre_guild_change_emblem) (struct map_session_data *sd, int *len, const char *data);
+typedef int (*HPMHOOK_post_guild_change_emblem) (int retVal___, struct map_session_data *sd, int *len, const char *data);
+typedef int (*HPMHOOK_pre_guild_emblem_changed) (int *len, int *guild_id, int *emblem_id, const char *data);
+typedef int (*HPMHOOK_post_guild_emblem_changed) (int retVal___, int *len, int *guild_id, int *emblem_id, const char *data);
+typedef int (*HPMHOOK_pre_guild_send_message) (struct map_session_data *sd, const char *mes);
+typedef int (*HPMHOOK_post_guild_send_message) (int retVal___, struct map_session_data *sd, const char *mes);
+typedef int (*HPMHOOK_pre_guild_recv_message) (int *guild_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_post_guild_recv_message) (int retVal___, int *guild_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_pre_guild_send_dot_remove) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_guild_send_dot_remove) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_guild_skillupack) (int *guild_id, uint16 *skill_id, int *account_id);
+typedef int (*HPMHOOK_post_guild_skillupack) (int retVal___, int *guild_id, uint16 *skill_id, int *account_id);
+typedef int (*HPMHOOK_pre_guild_dobreak) (struct map_session_data *sd, const char *name);
+typedef int (*HPMHOOK_post_guild_dobreak) (int retVal___, struct map_session_data *sd, const char *name);
+typedef int (*HPMHOOK_pre_guild_broken) (int *guild_id, int *flag);
+typedef int (*HPMHOOK_post_guild_broken) (int retVal___, int *guild_id, int *flag);
+typedef int (*HPMHOOK_pre_guild_gm_change) (int *guild_id, struct map_session_data *sd);
+typedef int (*HPMHOOK_post_guild_gm_change) (int retVal___, int *guild_id, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_guild_gm_changed) (int *guild_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_guild_gm_changed) (int retVal___, int *guild_id, int *account_id, int *char_id);
+typedef void (*HPMHOOK_pre_guild_castle_map_init) (void);
+typedef void (*HPMHOOK_post_guild_castle_map_init) (void);
+typedef int (*HPMHOOK_pre_guild_castledatasave) (int *castle_id, int *index, int *value);
+typedef int (*HPMHOOK_post_guild_castledatasave) (int retVal___, int *castle_id, int *index, int *value);
+typedef int (*HPMHOOK_pre_guild_castledataloadack) (int *len, const struct guild_castle *gc);
+typedef int (*HPMHOOK_post_guild_castledataloadack) (int retVal___, int *len, const struct guild_castle *gc);
+typedef void (*HPMHOOK_pre_guild_castle_reconnect) (int *castle_id, int *index, int *value);
+typedef void (*HPMHOOK_post_guild_castle_reconnect) (int *castle_id, int *index, int *value);
+typedef void (*HPMHOOK_pre_guild_agit_start) (void);
+typedef void (*HPMHOOK_post_guild_agit_start) (void);
+typedef void (*HPMHOOK_pre_guild_agit_end) (void);
+typedef void (*HPMHOOK_post_guild_agit_end) (void);
+typedef void (*HPMHOOK_pre_guild_agit2_start) (void);
+typedef void (*HPMHOOK_post_guild_agit2_start) (void);
+typedef void (*HPMHOOK_pre_guild_agit2_end) (void);
+typedef void (*HPMHOOK_post_guild_agit2_end) (void);
+typedef void (*HPMHOOK_pre_guild_flag_add) (struct npc_data *nd);
+typedef void (*HPMHOOK_post_guild_flag_add) (struct npc_data *nd);
+typedef void (*HPMHOOK_pre_guild_flag_remove) (struct npc_data *nd);
+typedef void (*HPMHOOK_post_guild_flag_remove) (struct npc_data *nd);
+typedef void (*HPMHOOK_pre_guild_flags_clear) (void);
+typedef void (*HPMHOOK_post_guild_flags_clear) (void);
+typedef void (*HPMHOOK_pre_guild_aura_refresh) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef void (*HPMHOOK_post_guild_aura_refresh) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef void (*HPMHOOK_pre_guild_retrieveitembound) (int *char_id, int *aid, int *guild_id);
+typedef void (*HPMHOOK_post_guild_retrieveitembound) (int *char_id, int *aid, int *guild_id);
+typedef int (*HPMHOOK_pre_guild_payexp_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_guild_payexp_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef struct map_session_data* (*HPMHOOK_pre_guild_sd_check) (int *guild_id, int *account_id, int *char_id);
+typedef struct map_session_data* (*HPMHOOK_post_guild_sd_check) (struct map_session_data* retVal___, int *guild_id, int *account_id, int *char_id);
+typedef bool (*HPMHOOK_pre_guild_read_guildskill_tree_db) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_guild_read_guildskill_tree_db) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_guild_read_castledb) (char *str[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_guild_read_castledb) (bool retVal___, char *str[], int *columns, int *current);
+typedef int (*HPMHOOK_pre_guild_payexp_timer_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_guild_payexp_timer_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_guild_send_xy_timer_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_guild_send_xy_timer_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_guild_send_xy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_guild_send_xy_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef struct DBData (*HPMHOOK_pre_guild_create_expcache) (union DBKey *key, va_list args);
+typedef struct DBData (*HPMHOOK_post_guild_create_expcache) (struct DBData retVal___, union DBKey *key, va_list args);
+typedef int (*HPMHOOK_pre_guild_eventlist_db_final) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_guild_eventlist_db_final) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_guild_expcache_db_final) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_guild_expcache_db_final) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_guild_castle_db_final) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_guild_castle_db_final) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_guild_broken_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_guild_broken_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_guild_castle_broken_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_guild_castle_broken_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_guild_makemember) (struct guild_member *m, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_guild_makemember) (struct guild_member *m, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_guild_check_member) (const struct guild *g);
+typedef int (*HPMHOOK_post_guild_check_member) (int retVal___, const struct guild *g);
+typedef int (*HPMHOOK_pre_guild_get_alliance_count) (struct guild *g, int *flag);
+typedef int (*HPMHOOK_post_guild_get_alliance_count) (int retVal___, struct guild *g, int *flag);
+typedef void (*HPMHOOK_pre_guild_castle_reconnect_sub) (void *key, void *data, va_list ap);
+typedef void (*HPMHOOK_post_guild_castle_reconnect_sub) (void *key, void *data, va_list ap);
+#endif // MAP_GUILD_H
+#ifdef MAP_STORAGE_H /* gstorage */
+typedef struct guild_storage* (*HPMHOOK_pre_gstorage_ensure) (int *guild_id);
+typedef struct guild_storage* (*HPMHOOK_post_gstorage_ensure) (struct guild_storage* retVal___, int *guild_id);
+typedef void (*HPMHOOK_pre_gstorage_init) (bool *minimal);
+typedef void (*HPMHOOK_post_gstorage_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_gstorage_final) (void);
+typedef void (*HPMHOOK_post_gstorage_final) (void);
+typedef int (*HPMHOOK_pre_gstorage_delete) (int *guild_id);
+typedef int (*HPMHOOK_post_gstorage_delete) (int retVal___, int *guild_id);
+typedef int (*HPMHOOK_pre_gstorage_open) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_gstorage_open) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_gstorage_additem) (struct map_session_data *sd, struct guild_storage *stor, struct item *item_data, int *amount);
+typedef int (*HPMHOOK_post_gstorage_additem) (int retVal___, struct map_session_data *sd, struct guild_storage *stor, struct item *item_data, int *amount);
+typedef int (*HPMHOOK_pre_gstorage_delitem) (struct map_session_data *sd, struct guild_storage *stor, int *n, int *amount);
+typedef int (*HPMHOOK_post_gstorage_delitem) (int retVal___, struct map_session_data *sd, struct guild_storage *stor, int *n, int *amount);
+typedef int (*HPMHOOK_pre_gstorage_add) (struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_post_gstorage_add) (int retVal___, struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_pre_gstorage_get) (struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_post_gstorage_get) (int retVal___, struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_pre_gstorage_addfromcart) (struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_post_gstorage_addfromcart) (int retVal___, struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_pre_gstorage_gettocart) (struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_post_gstorage_gettocart) (int retVal___, struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_pre_gstorage_close) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_gstorage_close) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_gstorage_pc_quit) (struct map_session_data *sd, int *flag);
+typedef int (*HPMHOOK_post_gstorage_pc_quit) (int retVal___, struct map_session_data *sd, int *flag);
+typedef int (*HPMHOOK_pre_gstorage_save) (int *account_id, int *guild_id, int *flag);
+typedef int (*HPMHOOK_post_gstorage_save) (int retVal___, int *account_id, int *guild_id, int *flag);
+typedef int (*HPMHOOK_pre_gstorage_saved) (int *guild_id);
+typedef int (*HPMHOOK_post_gstorage_saved) (int retVal___, int *guild_id);
+typedef struct DBData (*HPMHOOK_pre_gstorage_create) (union DBKey *key, va_list args);
+typedef struct DBData (*HPMHOOK_post_gstorage_create) (struct DBData retVal___, union DBKey *key, va_list args);
+#endif // MAP_STORAGE_H
+#ifdef MAP_HOMUNCULUS_H /* homun */
+typedef void (*HPMHOOK_pre_homun_init) (bool *minimal);
+typedef void (*HPMHOOK_post_homun_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_homun_final) (void);
+typedef void (*HPMHOOK_post_homun_final) (void);
+typedef void (*HPMHOOK_pre_homun_reload) (void);
+typedef void (*HPMHOOK_post_homun_reload) (void);
+typedef void (*HPMHOOK_pre_homun_reload_skill) (void);
+typedef void (*HPMHOOK_post_homun_reload_skill) (void);
+typedef struct view_data* (*HPMHOOK_pre_homun_get_viewdata) (int *class_);
+typedef struct view_data* (*HPMHOOK_post_homun_get_viewdata) (struct view_data* retVal___, int *class_);
+typedef enum homun_type (*HPMHOOK_pre_homun_class2type) (int *class_);
+typedef enum homun_type (*HPMHOOK_post_homun_class2type) (enum homun_type retVal___, int *class_);
+typedef void (*HPMHOOK_pre_homun_damaged) (struct homun_data *hd);
+typedef void (*HPMHOOK_post_homun_damaged) (struct homun_data *hd);
+typedef int (*HPMHOOK_pre_homun_dead) (struct homun_data *hd);
+typedef int (*HPMHOOK_post_homun_dead) (int retVal___, struct homun_data *hd);
+typedef int (*HPMHOOK_pre_homun_vaporize) (struct map_session_data *sd, enum homun_state *flag);
+typedef int (*HPMHOOK_post_homun_vaporize) (int retVal___, struct map_session_data *sd, enum homun_state *flag);
+typedef int (*HPMHOOK_pre_homun_delete) (struct homun_data *hd, int *emote);
+typedef int (*HPMHOOK_post_homun_delete) (int retVal___, struct homun_data *hd, int *emote);
+typedef int (*HPMHOOK_pre_homun_checkskill) (struct homun_data *hd, uint16 *skill_id);
+typedef int (*HPMHOOK_post_homun_checkskill) (int retVal___, struct homun_data *hd, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_homun_calc_skilltree) (struct homun_data *hd, int *flag_evolve);
+typedef int (*HPMHOOK_post_homun_calc_skilltree) (int retVal___, struct homun_data *hd, int *flag_evolve);
+typedef int (*HPMHOOK_pre_homun_skill_tree_get_max) (int *id, int *b_class);
+typedef int (*HPMHOOK_post_homun_skill_tree_get_max) (int retVal___, int *id, int *b_class);
+typedef void (*HPMHOOK_pre_homun_skillup) (struct homun_data *hd, uint16 *skill_id);
+typedef void (*HPMHOOK_post_homun_skillup) (struct homun_data *hd, uint16 *skill_id);
+typedef bool (*HPMHOOK_pre_homun_levelup) (struct homun_data *hd);
+typedef bool (*HPMHOOK_post_homun_levelup) (bool retVal___, struct homun_data *hd);
+typedef int (*HPMHOOK_pre_homun_change_class) (struct homun_data *hd, short *class_);
+typedef int (*HPMHOOK_post_homun_change_class) (int retVal___, struct homun_data *hd, short *class_);
+typedef bool (*HPMHOOK_pre_homun_evolve) (struct homun_data *hd);
+typedef bool (*HPMHOOK_post_homun_evolve) (bool retVal___, struct homun_data *hd);
+typedef bool (*HPMHOOK_pre_homun_mutate) (struct homun_data *hd, int *homun_id);
+typedef bool (*HPMHOOK_post_homun_mutate) (bool retVal___, struct homun_data *hd, int *homun_id);
+typedef int (*HPMHOOK_pre_homun_gainexp) (struct homun_data *hd, unsigned int *exp);
+typedef int (*HPMHOOK_post_homun_gainexp) (int retVal___, struct homun_data *hd, unsigned int *exp);
+typedef unsigned int (*HPMHOOK_pre_homun_add_intimacy) (struct homun_data *hd, unsigned int *value);
+typedef unsigned int (*HPMHOOK_post_homun_add_intimacy) (unsigned int retVal___, struct homun_data *hd, unsigned int *value);
+typedef unsigned int (*HPMHOOK_pre_homun_consume_intimacy) (struct homun_data *hd, unsigned int *value);
+typedef unsigned int (*HPMHOOK_post_homun_consume_intimacy) (unsigned int retVal___, struct homun_data *hd, unsigned int *value);
+typedef void (*HPMHOOK_pre_homun_healed) (struct homun_data *hd);
+typedef void (*HPMHOOK_post_homun_healed) (struct homun_data *hd);
+typedef void (*HPMHOOK_pre_homun_save) (struct homun_data *hd);
+typedef void (*HPMHOOK_post_homun_save) (struct homun_data *hd);
+typedef unsigned char (*HPMHOOK_pre_homun_menu) (struct map_session_data *sd, unsigned char *menu_num);
+typedef unsigned char (*HPMHOOK_post_homun_menu) (unsigned char retVal___, struct map_session_data *sd, unsigned char *menu_num);
+typedef bool (*HPMHOOK_pre_homun_feed) (struct map_session_data *sd, struct homun_data *hd);
+typedef bool (*HPMHOOK_post_homun_feed) (bool retVal___, struct map_session_data *sd, struct homun_data *hd);
+typedef int (*HPMHOOK_pre_homun_hunger_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_homun_hunger_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_homun_hunger_timer_delete) (struct homun_data *hd);
+typedef void (*HPMHOOK_post_homun_hunger_timer_delete) (struct homun_data *hd);
+typedef int (*HPMHOOK_pre_homun_change_name) (struct map_session_data *sd, const char *name);
+typedef int (*HPMHOOK_post_homun_change_name) (int retVal___, struct map_session_data *sd, const char *name);
+typedef bool (*HPMHOOK_pre_homun_change_name_ack) (struct map_session_data *sd, const char *name, int *flag);
+typedef bool (*HPMHOOK_post_homun_change_name_ack) (bool retVal___, struct map_session_data *sd, const char *name, int *flag);
+typedef int (*HPMHOOK_pre_homun_db_search) (int *key, int *type);
+typedef int (*HPMHOOK_post_homun_db_search) (int retVal___, int *key, int *type);
+typedef bool (*HPMHOOK_pre_homun_create) (struct map_session_data *sd, const struct s_homunculus *hom);
+typedef bool (*HPMHOOK_post_homun_create) (bool retVal___, struct map_session_data *sd, const struct s_homunculus *hom);
+typedef void (*HPMHOOK_pre_homun_init_timers) (struct homun_data *hd);
+typedef void (*HPMHOOK_post_homun_init_timers) (struct homun_data *hd);
+typedef bool (*HPMHOOK_pre_homun_call) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_homun_call) (bool retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_homun_recv_data) (int *account_id, const struct s_homunculus *sh, int *flag);
+typedef bool (*HPMHOOK_post_homun_recv_data) (bool retVal___, int *account_id, const struct s_homunculus *sh, int *flag);
+typedef bool (*HPMHOOK_pre_homun_creation_request) (struct map_session_data *sd, int *class_);
+typedef bool (*HPMHOOK_post_homun_creation_request) (bool retVal___, struct map_session_data *sd, int *class_);
+typedef bool (*HPMHOOK_pre_homun_ressurect) (struct map_session_data *sd, unsigned char *per, short *x, short *y);
+typedef bool (*HPMHOOK_post_homun_ressurect) (bool retVal___, struct map_session_data *sd, unsigned char *per, short *x, short *y);
+typedef void (*HPMHOOK_pre_homun_revive) (struct homun_data *hd, unsigned int *hp, unsigned int *sp);
+typedef void (*HPMHOOK_post_homun_revive) (struct homun_data *hd, unsigned int *hp, unsigned int *sp);
+typedef void (*HPMHOOK_pre_homun_stat_reset) (struct homun_data *hd);
+typedef void (*HPMHOOK_post_homun_stat_reset) (struct homun_data *hd);
+typedef bool (*HPMHOOK_pre_homun_shuffle) (struct homun_data *hd);
+typedef bool (*HPMHOOK_post_homun_shuffle) (bool retVal___, struct homun_data *hd);
+typedef bool (*HPMHOOK_pre_homun_read_db_sub) (char *str[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_homun_read_db_sub) (bool retVal___, char *str[], int *columns, int *current);
+typedef void (*HPMHOOK_pre_homun_read_db) (void);
+typedef void (*HPMHOOK_post_homun_read_db) (void);
+typedef bool (*HPMHOOK_pre_homun_read_skill_db_sub) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_homun_read_skill_db_sub) (bool retVal___, char *split[], int *columns, int *current);
+typedef void (*HPMHOOK_pre_homun_skill_db_read) (void);
+typedef void (*HPMHOOK_post_homun_skill_db_read) (void);
+typedef void (*HPMHOOK_pre_homun_exp_db_read) (void);
+typedef void (*HPMHOOK_post_homun_exp_db_read) (void);
+typedef void (*HPMHOOK_pre_homun_addspiritball) (struct homun_data *hd, int *max);
+typedef void (*HPMHOOK_post_homun_addspiritball) (struct homun_data *hd, int *max);
+typedef void (*HPMHOOK_pre_homun_delspiritball) (struct homun_data *hd, int *count, int *type);
+typedef void (*HPMHOOK_post_homun_delspiritball) (struct homun_data *hd, int *count, int *type);
+typedef int8 (*HPMHOOK_pre_homun_get_intimacy_grade) (struct homun_data *hd);
+typedef int8 (*HPMHOOK_post_homun_get_intimacy_grade) (int8 retVal___, struct homun_data *hd);
+#endif // MAP_HOMUNCULUS_H
+#ifdef MAP_INSTANCE_H /* instance */
+typedef void (*HPMHOOK_pre_instance_init) (bool *minimal);
+typedef void (*HPMHOOK_post_instance_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_instance_final) (void);
+typedef void (*HPMHOOK_post_instance_final) (void);
+typedef void (*HPMHOOK_pre_instance_reload) (void);
+typedef void (*HPMHOOK_post_instance_reload) (void);
+typedef int (*HPMHOOK_pre_instance_create) (int *party_id, const char *name, enum instance_owner_type *type);
+typedef int (*HPMHOOK_post_instance_create) (int retVal___, int *party_id, const char *name, enum instance_owner_type *type);
+typedef int (*HPMHOOK_pre_instance_add_map) (const char *name, int *instance_id, bool *usebasename, const char *map_name);
+typedef int (*HPMHOOK_post_instance_add_map) (int retVal___, const char *name, int *instance_id, bool *usebasename, const char *map_name);
+typedef void (*HPMHOOK_pre_instance_del_map) (int16 *m);
+typedef void (*HPMHOOK_post_instance_del_map) (int16 *m);
+typedef int (*HPMHOOK_pre_instance_map2imap) (int16 *m, int *instance_id);
+typedef int (*HPMHOOK_post_instance_map2imap) (int retVal___, int16 *m, int *instance_id);
+typedef int (*HPMHOOK_pre_instance_mapid2imapid) (int16 *m, int *instance_id);
+typedef int (*HPMHOOK_post_instance_mapid2imapid) (int retVal___, int16 *m, int *instance_id);
+typedef int (*HPMHOOK_pre_instance_mapname2imap) (const char *map_name, int *instance_id);
+typedef int (*HPMHOOK_post_instance_mapname2imap) (int retVal___, const char *map_name, int *instance_id);
+typedef int (*HPMHOOK_pre_instance_map_npcsub) (struct block_list *bl, va_list args);
+typedef int (*HPMHOOK_post_instance_map_npcsub) (int retVal___, struct block_list *bl, va_list args);
+typedef int (*HPMHOOK_pre_instance_init_npc) (struct block_list *bl, va_list args);
+typedef int (*HPMHOOK_post_instance_init_npc) (int retVal___, struct block_list *bl, va_list args);
+typedef void (*HPMHOOK_pre_instance_destroy) (int *instance_id);
+typedef void (*HPMHOOK_post_instance_destroy) (int *instance_id);
+typedef void (*HPMHOOK_pre_instance_start) (int *instance_id);
+typedef void (*HPMHOOK_post_instance_start) (int *instance_id);
+typedef void (*HPMHOOK_pre_instance_check_idle) (int *instance_id);
+typedef void (*HPMHOOK_post_instance_check_idle) (int *instance_id);
+typedef void (*HPMHOOK_pre_instance_check_kick) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_instance_check_kick) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_instance_set_timeout) (int *instance_id, unsigned int *progress_timeout, unsigned int *idle_timeout);
+typedef void (*HPMHOOK_post_instance_set_timeout) (int *instance_id, unsigned int *progress_timeout, unsigned int *idle_timeout);
+typedef bool (*HPMHOOK_pre_instance_valid) (int *instance_id);
+typedef bool (*HPMHOOK_post_instance_valid) (bool retVal___, int *instance_id);
+typedef int (*HPMHOOK_pre_instance_destroy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_instance_destroy_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+#endif // MAP_INSTANCE_H
+#ifdef CHAR_INT_AUCTION_H /* inter_auction */
+typedef int (*HPMHOOK_pre_inter_auction_count) (int *char_id, bool *buy);
+typedef int (*HPMHOOK_post_inter_auction_count) (int retVal___, int *char_id, bool *buy);
+typedef void (*HPMHOOK_pre_inter_auction_save) (struct auction_data *auction);
+typedef void (*HPMHOOK_post_inter_auction_save) (struct auction_data *auction);
+typedef unsigned int (*HPMHOOK_pre_inter_auction_create) (struct auction_data *auction);
+typedef unsigned int (*HPMHOOK_post_inter_auction_create) (unsigned int retVal___, struct auction_data *auction);
+typedef int (*HPMHOOK_pre_inter_auction_end_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_inter_auction_end_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_inter_auction_delete_) (struct auction_data *auction);
+typedef void (*HPMHOOK_post_inter_auction_delete_) (struct auction_data *auction);
+typedef void (*HPMHOOK_pre_inter_auction_fromsql) (void);
+typedef void (*HPMHOOK_post_inter_auction_fromsql) (void);
+typedef int (*HPMHOOK_pre_inter_auction_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_auction_parse_frommap) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_inter_auction_sql_init) (void);
+typedef int (*HPMHOOK_post_inter_auction_sql_init) (int retVal___);
+typedef void (*HPMHOOK_pre_inter_auction_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_auction_sql_final) (void);
+#endif // CHAR_INT_AUCTION_H
+#ifdef CHAR_INT_ELEMENTAL_H /* inter_elemental */
+typedef void (*HPMHOOK_pre_inter_elemental_sql_init) (void);
+typedef void (*HPMHOOK_post_inter_elemental_sql_init) (void);
+typedef void (*HPMHOOK_pre_inter_elemental_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_elemental_sql_final) (void);
+typedef int (*HPMHOOK_pre_inter_elemental_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_elemental_parse_frommap) (int retVal___, int *fd);
+#endif // CHAR_INT_ELEMENTAL_H
+#ifdef CHAR_INT_GUILD_H /* inter_guild */
+typedef int (*HPMHOOK_pre_inter_guild_save_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_inter_guild_save_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_inter_guild_removemember_tosql) (int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_inter_guild_removemember_tosql) (int retVal___, int *account_id, int *char_id);
+typedef int (*HPMHOOK_pre_inter_guild_tosql) (struct guild *g, int *flag);
+typedef int (*HPMHOOK_post_inter_guild_tosql) (int retVal___, struct guild *g, int *flag);
+typedef struct guild* (*HPMHOOK_pre_inter_guild_fromsql) (int *guild_id);
+typedef struct guild* (*HPMHOOK_post_inter_guild_fromsql) (struct guild* retVal___, int *guild_id);
+typedef int (*HPMHOOK_pre_inter_guild_castle_tosql) (struct guild_castle *gc);
+typedef int (*HPMHOOK_post_inter_guild_castle_tosql) (int retVal___, struct guild_castle *gc);
+typedef struct guild_castle* (*HPMHOOK_pre_inter_guild_castle_fromsql) (int *castle_id);
+typedef struct guild_castle* (*HPMHOOK_post_inter_guild_castle_fromsql) (struct guild_castle* retVal___, int *castle_id);
+typedef bool (*HPMHOOK_pre_inter_guild_exp_parse_row) (char *split[], int *column, int *current);
+typedef bool (*HPMHOOK_post_inter_guild_exp_parse_row) (bool retVal___, char *split[], int *column, int *current);
+typedef int (*HPMHOOK_pre_inter_guild_CharOnline) (int *char_id, int *guild_id);
+typedef int (*HPMHOOK_post_inter_guild_CharOnline) (int retVal___, int *char_id, int *guild_id);
+typedef int (*HPMHOOK_pre_inter_guild_CharOffline) (int *char_id, int *guild_id);
+typedef int (*HPMHOOK_post_inter_guild_CharOffline) (int retVal___, int *char_id, int *guild_id);
+typedef int (*HPMHOOK_pre_inter_guild_sql_init) (void);
+typedef int (*HPMHOOK_post_inter_guild_sql_init) (int retVal___);
+typedef int (*HPMHOOK_pre_inter_guild_db_final) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_inter_guild_db_final) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_inter_guild_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_guild_sql_final) (void);
+typedef int (*HPMHOOK_pre_inter_guild_search_guildname) (const char *str);
+typedef int (*HPMHOOK_post_inter_guild_search_guildname) (int retVal___, const char *str);
+typedef bool (*HPMHOOK_pre_inter_guild_check_empty) (struct guild *g);
+typedef bool (*HPMHOOK_post_inter_guild_check_empty) (bool retVal___, struct guild *g);
+typedef unsigned int (*HPMHOOK_pre_inter_guild_nextexp) (int *level);
+typedef unsigned int (*HPMHOOK_post_inter_guild_nextexp) (unsigned int retVal___, int *level);
+typedef int (*HPMHOOK_pre_inter_guild_checkskill) (struct guild *g, int *id);
+typedef int (*HPMHOOK_post_inter_guild_checkskill) (int retVal___, struct guild *g, int *id);
+typedef int (*HPMHOOK_pre_inter_guild_calcinfo) (struct guild *g);
+typedef int (*HPMHOOK_post_inter_guild_calcinfo) (int retVal___, struct guild *g);
+typedef int (*HPMHOOK_pre_inter_guild_sex_changed) (int *guild_id, int *account_id, int *char_id, short *gender);
+typedef int (*HPMHOOK_post_inter_guild_sex_changed) (int retVal___, int *guild_id, int *account_id, int *char_id, short *gender);
+typedef int (*HPMHOOK_pre_inter_guild_charname_changed) (int *guild_id, int *account_id, int *char_id, char *name);
+typedef int (*HPMHOOK_post_inter_guild_charname_changed) (int retVal___, int *guild_id, int *account_id, int *char_id, char *name);
+typedef int (*HPMHOOK_pre_inter_guild_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_guild_parse_frommap) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_inter_guild_leave) (int *guild_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_inter_guild_leave) (int retVal___, int *guild_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_pre_inter_guild_broken) (int *guild_id);
+typedef int (*HPMHOOK_post_inter_guild_broken) (int retVal___, int *guild_id);
+#endif // CHAR_INT_GUILD_H
+#ifdef CHAR_INT_HOMUN_H /* inter_homunculus */
+typedef int (*HPMHOOK_pre_inter_homunculus_sql_init) (void);
+typedef int (*HPMHOOK_post_inter_homunculus_sql_init) (int retVal___);
+typedef void (*HPMHOOK_pre_inter_homunculus_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_homunculus_sql_final) (void);
+typedef int (*HPMHOOK_pre_inter_homunculus_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_homunculus_parse_frommap) (int retVal___, int *fd);
+#endif // CHAR_INT_HOMUN_H
+#ifdef CHAR_INTER_H /* inter */
+typedef const char* (*HPMHOOK_pre_inter_msg_txt) (int *msg_number);
+typedef const char* (*HPMHOOK_post_inter_msg_txt) (const char* retVal___, int *msg_number);
+typedef bool (*HPMHOOK_pre_inter_msg_config_read) (const char *cfg_name, bool *allow_override);
+typedef bool (*HPMHOOK_post_inter_msg_config_read) (bool retVal___, const char *cfg_name, bool *allow_override);
+typedef void (*HPMHOOK_pre_inter_do_final_msg) (void);
+typedef void (*HPMHOOK_post_inter_do_final_msg) (void);
+typedef const char* (*HPMHOOK_pre_inter_job_name) (int *class_);
+typedef const char* (*HPMHOOK_post_inter_job_name) (const char* retVal___, int *class_);
+typedef void (*HPMHOOK_pre_inter_vmsg_to_fd) (int *fd, int *u_fd, int *aid, char *msg, va_list ap);
+typedef void (*HPMHOOK_post_inter_vmsg_to_fd) (int *fd, int *u_fd, int *aid, char *msg, va_list ap);
+typedef void (*HPMHOOK_pre_inter_savereg) (int *account_id, int *char_id, const char *key, unsigned int *index, intptr_t *val, bool *is_string);
+typedef void (*HPMHOOK_post_inter_savereg) (int *account_id, int *char_id, const char *key, unsigned int *index, intptr_t *val, bool *is_string);
+typedef int (*HPMHOOK_pre_inter_accreg_fromsql) (int *account_id, int *char_id, int *fd, int *type);
+typedef int (*HPMHOOK_post_inter_accreg_fromsql) (int retVal___, int *account_id, int *char_id, int *fd, int *type);
+typedef int (*HPMHOOK_pre_inter_config_read) (const char *cfgName);
+typedef int (*HPMHOOK_post_inter_config_read) (int retVal___, const char *cfgName);
+typedef int (*HPMHOOK_pre_inter_vlog) (char *fmt, va_list ap);
+typedef int (*HPMHOOK_post_inter_vlog) (int retVal___, char *fmt, va_list ap);
+typedef int (*HPMHOOK_pre_inter_init_sql) (const char *file);
+typedef int (*HPMHOOK_post_inter_init_sql) (int retVal___, const char *file);
+typedef int (*HPMHOOK_pre_inter_mapif_init) (int *fd);
+typedef int (*HPMHOOK_post_inter_mapif_init) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_inter_check_ttl_wisdata_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_inter_check_ttl_wisdata_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_inter_check_ttl_wisdata) (void);
+typedef int (*HPMHOOK_post_inter_check_ttl_wisdata) (int retVal___);
+typedef int (*HPMHOOK_pre_inter_check_length) (int *fd, int *length);
+typedef int (*HPMHOOK_post_inter_check_length) (int retVal___, int *fd, int *length);
+typedef int (*HPMHOOK_pre_inter_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_parse_frommap) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_inter_final) (void);
+typedef void (*HPMHOOK_post_inter_final) (void);
+#endif // CHAR_INTER_H
+#ifdef CHAR_INT_MAIL_H /* inter_mail */
+typedef int (*HPMHOOK_pre_inter_mail_sql_init) (void);
+typedef int (*HPMHOOK_post_inter_mail_sql_init) (int retVal___);
+typedef void (*HPMHOOK_pre_inter_mail_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_mail_sql_final) (void);
+typedef int (*HPMHOOK_pre_inter_mail_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_mail_parse_frommap) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_inter_mail_fromsql) (int *char_id, struct mail_data *md);
+typedef int (*HPMHOOK_post_inter_mail_fromsql) (int retVal___, int *char_id, struct mail_data *md);
+typedef int (*HPMHOOK_pre_inter_mail_savemessage) (struct mail_message *msg);
+typedef int (*HPMHOOK_post_inter_mail_savemessage) (int retVal___, struct mail_message *msg);
+typedef bool (*HPMHOOK_pre_inter_mail_loadmessage) (int *mail_id, struct mail_message *msg);
+typedef bool (*HPMHOOK_post_inter_mail_loadmessage) (bool retVal___, int *mail_id, struct mail_message *msg);
+typedef bool (*HPMHOOK_pre_inter_mail_DeleteAttach) (int *mail_id);
+typedef bool (*HPMHOOK_post_inter_mail_DeleteAttach) (bool retVal___, int *mail_id);
+typedef void (*HPMHOOK_pre_inter_mail_sendmail) (int *send_id, const char *send_name, int *dest_id, const char *dest_name, const char *title, const char *body, int *zeny, struct item *item);
+typedef void (*HPMHOOK_post_inter_mail_sendmail) (int *send_id, const char *send_name, int *dest_id, const char *dest_name, const char *title, const char *body, int *zeny, struct item *item);
+#endif // CHAR_INT_MAIL_H
+#ifdef CHAR_INT_MERCENARY_H /* inter_mercenary */
+typedef bool (*HPMHOOK_pre_inter_mercenary_owner_fromsql) (int *char_id, struct mmo_charstatus *status);
+typedef bool (*HPMHOOK_post_inter_mercenary_owner_fromsql) (bool retVal___, int *char_id, struct mmo_charstatus *status);
+typedef bool (*HPMHOOK_pre_inter_mercenary_owner_tosql) (int *char_id, struct mmo_charstatus *status);
+typedef bool (*HPMHOOK_post_inter_mercenary_owner_tosql) (bool retVal___, int *char_id, struct mmo_charstatus *status);
+typedef bool (*HPMHOOK_pre_inter_mercenary_owner_delete) (int *char_id);
+typedef bool (*HPMHOOK_post_inter_mercenary_owner_delete) (bool retVal___, int *char_id);
+typedef int (*HPMHOOK_pre_inter_mercenary_sql_init) (void);
+typedef int (*HPMHOOK_post_inter_mercenary_sql_init) (int retVal___);
+typedef void (*HPMHOOK_pre_inter_mercenary_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_mercenary_sql_final) (void);
+typedef int (*HPMHOOK_pre_inter_mercenary_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_mercenary_parse_frommap) (int retVal___, int *fd);
+#endif // CHAR_INT_MERCENARY_H
+#ifdef CHAR_INT_PARTY_H /* inter_party */
+typedef int (*HPMHOOK_pre_inter_party_check_lv) (struct party_data *p);
+typedef int (*HPMHOOK_post_inter_party_check_lv) (int retVal___, struct party_data *p);
+typedef void (*HPMHOOK_pre_inter_party_calc_state) (struct party_data *p);
+typedef void (*HPMHOOK_post_inter_party_calc_state) (struct party_data *p);
+typedef int (*HPMHOOK_pre_inter_party_tosql) (struct party *p, int *flag, int *index);
+typedef int (*HPMHOOK_post_inter_party_tosql) (int retVal___, struct party *p, int *flag, int *index);
+typedef struct party_data* (*HPMHOOK_pre_inter_party_fromsql) (int *party_id);
+typedef struct party_data* (*HPMHOOK_post_inter_party_fromsql) (struct party_data* retVal___, int *party_id);
+typedef int (*HPMHOOK_pre_inter_party_sql_init) (void);
+typedef int (*HPMHOOK_post_inter_party_sql_init) (int retVal___);
+typedef void (*HPMHOOK_pre_inter_party_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_party_sql_final) (void);
+typedef struct party_data* (*HPMHOOK_pre_inter_party_search_partyname) (const char *str);
+typedef struct party_data* (*HPMHOOK_post_inter_party_search_partyname) (struct party_data* retVal___, const char *str);
+typedef int (*HPMHOOK_pre_inter_party_check_exp_share) (struct party_data *p);
+typedef int (*HPMHOOK_post_inter_party_check_exp_share) (int retVal___, struct party_data *p);
+typedef int (*HPMHOOK_pre_inter_party_check_empty) (struct party_data *p);
+typedef int (*HPMHOOK_post_inter_party_check_empty) (int retVal___, struct party_data *p);
+typedef int (*HPMHOOK_pre_inter_party_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_party_parse_frommap) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_inter_party_leave) (int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_inter_party_leave) (int retVal___, int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_pre_inter_party_CharOnline) (int *char_id, int *party_id);
+typedef int (*HPMHOOK_post_inter_party_CharOnline) (int retVal___, int *char_id, int *party_id);
+typedef int (*HPMHOOK_pre_inter_party_CharOffline) (int *char_id, int *party_id);
+typedef int (*HPMHOOK_post_inter_party_CharOffline) (int retVal___, int *char_id, int *party_id);
+#endif // CHAR_INT_PARTY_H
+#ifdef CHAR_INT_PET_H /* inter_pet */
+typedef int (*HPMHOOK_pre_inter_pet_tosql) (const struct s_pet *p);
+typedef int (*HPMHOOK_post_inter_pet_tosql) (int retVal___, const struct s_pet *p);
+typedef int (*HPMHOOK_pre_inter_pet_fromsql) (int *pet_id, struct s_pet *p);
+typedef int (*HPMHOOK_post_inter_pet_fromsql) (int retVal___, int *pet_id, struct s_pet *p);
+typedef int (*HPMHOOK_pre_inter_pet_sql_init) (void);
+typedef int (*HPMHOOK_post_inter_pet_sql_init) (int retVal___);
+typedef void (*HPMHOOK_pre_inter_pet_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_pet_sql_final) (void);
+typedef int (*HPMHOOK_pre_inter_pet_delete_) (int *pet_id);
+typedef int (*HPMHOOK_post_inter_pet_delete_) (int retVal___, int *pet_id);
+typedef int (*HPMHOOK_pre_inter_pet_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_pet_parse_frommap) (int retVal___, int *fd);
+#endif // CHAR_INT_PET_H
+#ifdef CHAR_INT_QUEST_H /* inter_quest */
+typedef int (*HPMHOOK_pre_inter_quest_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_quest_parse_frommap) (int retVal___, int *fd);
+#endif // CHAR_INT_QUEST_H
+#ifdef CHAR_INT_STORAGE_H /* inter_storage */
+typedef int (*HPMHOOK_pre_inter_storage_tosql) (int *account_id, struct storage_data *p);
+typedef int (*HPMHOOK_post_inter_storage_tosql) (int retVal___, int *account_id, struct storage_data *p);
+typedef int (*HPMHOOK_pre_inter_storage_fromsql) (int *account_id, struct storage_data *p);
+typedef int (*HPMHOOK_post_inter_storage_fromsql) (int retVal___, int *account_id, struct storage_data *p);
+typedef int (*HPMHOOK_pre_inter_storage_guild_storage_tosql) (int *guild_id, const struct guild_storage *p);
+typedef int (*HPMHOOK_post_inter_storage_guild_storage_tosql) (int retVal___, int *guild_id, const struct guild_storage *p);
+typedef int (*HPMHOOK_pre_inter_storage_guild_storage_fromsql) (int *guild_id, struct guild_storage *p);
+typedef int (*HPMHOOK_post_inter_storage_guild_storage_fromsql) (int retVal___, int *guild_id, struct guild_storage *p);
+typedef int (*HPMHOOK_pre_inter_storage_sql_init) (void);
+typedef int (*HPMHOOK_post_inter_storage_sql_init) (int retVal___);
+typedef void (*HPMHOOK_pre_inter_storage_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_storage_sql_final) (void);
+typedef int (*HPMHOOK_pre_inter_storage_delete_) (int *account_id);
+typedef int (*HPMHOOK_post_inter_storage_delete_) (int retVal___, int *account_id);
+typedef int (*HPMHOOK_pre_inter_storage_guild_storage_delete) (int *guild_id);
+typedef int (*HPMHOOK_post_inter_storage_guild_storage_delete) (int retVal___, int *guild_id);
+typedef int (*HPMHOOK_pre_inter_storage_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_storage_parse_frommap) (int retVal___, int *fd);
+#endif // CHAR_INT_STORAGE_H
+#ifdef MAP_INTIF_H /* intif */
+typedef int (*HPMHOOK_pre_intif_parse) (int *fd);
+typedef int (*HPMHOOK_post_intif_parse) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_intif_create_pet) (int *account_id, int *char_id, short *pet_type, short *pet_lv, short *pet_egg_id, short *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, char *pet_name);
+typedef int (*HPMHOOK_post_intif_create_pet) (int retVal___, int *account_id, int *char_id, short *pet_type, short *pet_lv, short *pet_egg_id, short *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, char *pet_name);
+typedef int (*HPMHOOK_pre_intif_broadcast) (const char *mes, int *len, int *type);
+typedef int (*HPMHOOK_post_intif_broadcast) (int retVal___, const char *mes, int *len, int *type);
+typedef int (*HPMHOOK_pre_intif_broadcast2) (const char *mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY);
+typedef int (*HPMHOOK_post_intif_broadcast2) (int retVal___, const char *mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY);
+typedef int (*HPMHOOK_pre_intif_main_message) (struct map_session_data *sd, const char *message);
+typedef int (*HPMHOOK_post_intif_main_message) (int retVal___, struct map_session_data *sd, const char *message);
+typedef int (*HPMHOOK_pre_intif_wis_message) (struct map_session_data *sd, const char *nick, const char *mes, int *mes_len);
+typedef int (*HPMHOOK_post_intif_wis_message) (int retVal___, struct map_session_data *sd, const char *nick, const char *mes, int *mes_len);
+typedef int (*HPMHOOK_pre_intif_wis_message_to_gm) (char *Wisp_name, int *permission, char *mes);
+typedef int (*HPMHOOK_post_intif_wis_message_to_gm) (int retVal___, char *Wisp_name, int *permission, char *mes);
+typedef int (*HPMHOOK_pre_intif_saveregistry) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_intif_saveregistry) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_intif_request_registry) (struct map_session_data *sd, int *flag);
+typedef int (*HPMHOOK_post_intif_request_registry) (int retVal___, struct map_session_data *sd, int *flag);
+typedef int (*HPMHOOK_pre_intif_request_guild_storage) (int *account_id, int *guild_id);
+typedef int (*HPMHOOK_post_intif_request_guild_storage) (int retVal___, int *account_id, int *guild_id);
+typedef int (*HPMHOOK_pre_intif_send_guild_storage) (int *account_id, struct guild_storage *gstor);
+typedef int (*HPMHOOK_post_intif_send_guild_storage) (int retVal___, int *account_id, struct guild_storage *gstor);
+typedef int (*HPMHOOK_pre_intif_create_party) (struct party_member *member, const char *name, int *item, int *item2);
+typedef int (*HPMHOOK_post_intif_create_party) (int retVal___, struct party_member *member, const char *name, int *item, int *item2);
+typedef int (*HPMHOOK_pre_intif_request_partyinfo) (int *party_id, int *char_id);
+typedef int (*HPMHOOK_post_intif_request_partyinfo) (int retVal___, int *party_id, int *char_id);
+typedef int (*HPMHOOK_pre_intif_party_addmember) (int *party_id, struct party_member *member);
+typedef int (*HPMHOOK_post_intif_party_addmember) (int retVal___, int *party_id, struct party_member *member);
+typedef int (*HPMHOOK_pre_intif_party_changeoption) (int *party_id, int *account_id, int *exp, int *item);
+typedef int (*HPMHOOK_post_intif_party_changeoption) (int retVal___, int *party_id, int *account_id, int *exp, int *item);
+typedef int (*HPMHOOK_pre_intif_party_leave) (int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_intif_party_leave) (int retVal___, int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_pre_intif_party_changemap) (struct map_session_data *sd, int *online);
+typedef int (*HPMHOOK_post_intif_party_changemap) (int retVal___, struct map_session_data *sd, int *online);
+typedef int (*HPMHOOK_pre_intif_break_party) (int *party_id);
+typedef int (*HPMHOOK_post_intif_break_party) (int retVal___, int *party_id);
+typedef int (*HPMHOOK_pre_intif_party_message) (int *party_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_post_intif_party_message) (int retVal___, int *party_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_pre_intif_party_leaderchange) (int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_intif_party_leaderchange) (int retVal___, int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_pre_intif_guild_create) (const char *name, const struct guild_member *master);
+typedef int (*HPMHOOK_post_intif_guild_create) (int retVal___, const char *name, const struct guild_member *master);
+typedef int (*HPMHOOK_pre_intif_guild_request_info) (int *guild_id);
+typedef int (*HPMHOOK_post_intif_guild_request_info) (int retVal___, int *guild_id);
+typedef int (*HPMHOOK_pre_intif_guild_addmember) (int *guild_id, struct guild_member *m);
+typedef int (*HPMHOOK_post_intif_guild_addmember) (int retVal___, int *guild_id, struct guild_member *m);
+typedef int (*HPMHOOK_pre_intif_guild_leave) (int *guild_id, int *account_id, int *char_id, int *flag, const char *mes);
+typedef int (*HPMHOOK_post_intif_guild_leave) (int retVal___, int *guild_id, int *account_id, int *char_id, int *flag, const char *mes);
+typedef int (*HPMHOOK_pre_intif_guild_memberinfoshort) (int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class_);
+typedef int (*HPMHOOK_post_intif_guild_memberinfoshort) (int retVal___, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class_);
+typedef int (*HPMHOOK_pre_intif_guild_break) (int *guild_id);
+typedef int (*HPMHOOK_post_intif_guild_break) (int retVal___, int *guild_id);
+typedef int (*HPMHOOK_pre_intif_guild_message) (int *guild_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_post_intif_guild_message) (int retVal___, int *guild_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_pre_intif_guild_change_gm) (int *guild_id, const char *name, int *len);
+typedef int (*HPMHOOK_post_intif_guild_change_gm) (int retVal___, int *guild_id, const char *name, int *len);
+typedef int (*HPMHOOK_pre_intif_guild_change_basicinfo) (int *guild_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_post_intif_guild_change_basicinfo) (int retVal___, int *guild_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_pre_intif_guild_change_memberinfo) (int *guild_id, int *account_id, int *char_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_post_intif_guild_change_memberinfo) (int retVal___, int *guild_id, int *account_id, int *char_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_pre_intif_guild_position) (int *guild_id, int *idx, struct guild_position *p);
+typedef int (*HPMHOOK_post_intif_guild_position) (int retVal___, int *guild_id, int *idx, struct guild_position *p);
+typedef int (*HPMHOOK_pre_intif_guild_skillup) (int *guild_id, uint16 *skill_id, int *account_id, int *max);
+typedef int (*HPMHOOK_post_intif_guild_skillup) (int retVal___, int *guild_id, uint16 *skill_id, int *account_id, int *max);
+typedef int (*HPMHOOK_pre_intif_guild_alliance) (int *guild_id1, int *guild_id2, int *account_id1, int *account_id2, int *flag);
+typedef int (*HPMHOOK_post_intif_guild_alliance) (int retVal___, int *guild_id1, int *guild_id2, int *account_id1, int *account_id2, int *flag);
+typedef int (*HPMHOOK_pre_intif_guild_notice) (int *guild_id, const char *mes1, const char *mes2);
+typedef int (*HPMHOOK_post_intif_guild_notice) (int retVal___, int *guild_id, const char *mes1, const char *mes2);
+typedef int (*HPMHOOK_pre_intif_guild_emblem) (int *guild_id, int *len, const char *data);
+typedef int (*HPMHOOK_post_intif_guild_emblem) (int retVal___, int *guild_id, int *len, const char *data);
+typedef int (*HPMHOOK_pre_intif_guild_castle_dataload) (int *num, int *castle_ids);
+typedef int (*HPMHOOK_post_intif_guild_castle_dataload) (int retVal___, int *num, int *castle_ids);
+typedef int (*HPMHOOK_pre_intif_guild_castle_datasave) (int *castle_id, int *index, int *value);
+typedef int (*HPMHOOK_post_intif_guild_castle_datasave) (int retVal___, int *castle_id, int *index, int *value);
+typedef void (*HPMHOOK_pre_intif_itembound_req) (int *char_id, int *aid, int *guild_id);
+typedef void (*HPMHOOK_post_intif_itembound_req) (int *char_id, int *aid, int *guild_id);
+typedef int (*HPMHOOK_pre_intif_request_petdata) (int *account_id, int *char_id, int *pet_id);
+typedef int (*HPMHOOK_post_intif_request_petdata) (int retVal___, int *account_id, int *char_id, int *pet_id);
+typedef int (*HPMHOOK_pre_intif_save_petdata) (int *account_id, struct s_pet *p);
+typedef int (*HPMHOOK_post_intif_save_petdata) (int retVal___, int *account_id, struct s_pet *p);
+typedef int (*HPMHOOK_pre_intif_delete_petdata) (int *pet_id);
+typedef int (*HPMHOOK_post_intif_delete_petdata) (int retVal___, int *pet_id);
+typedef int (*HPMHOOK_pre_intif_rename) (struct map_session_data *sd, int *type, const char *name);
+typedef int (*HPMHOOK_post_intif_rename) (int retVal___, struct map_session_data *sd, int *type, const char *name);
+typedef int (*HPMHOOK_pre_intif_homunculus_create) (int *account_id, struct s_homunculus *sh);
+typedef int (*HPMHOOK_post_intif_homunculus_create) (int retVal___, int *account_id, struct s_homunculus *sh);
+typedef bool (*HPMHOOK_pre_intif_homunculus_requestload) (int *account_id, int *homun_id);
+typedef bool (*HPMHOOK_post_intif_homunculus_requestload) (bool retVal___, int *account_id, int *homun_id);
+typedef int (*HPMHOOK_pre_intif_homunculus_requestsave) (int *account_id, struct s_homunculus *sh);
+typedef int (*HPMHOOK_post_intif_homunculus_requestsave) (int retVal___, int *account_id, struct s_homunculus *sh);
+typedef int (*HPMHOOK_pre_intif_homunculus_requestdelete) (int *homun_id);
+typedef int (*HPMHOOK_post_intif_homunculus_requestdelete) (int retVal___, int *homun_id);
+typedef void (*HPMHOOK_pre_intif_request_questlog) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_intif_request_questlog) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_intif_quest_save) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_intif_quest_save) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_intif_mercenary_create) (struct s_mercenary *merc);
+typedef int (*HPMHOOK_post_intif_mercenary_create) (int retVal___, struct s_mercenary *merc);
+typedef int (*HPMHOOK_pre_intif_mercenary_request) (int *merc_id, int *char_id);
+typedef int (*HPMHOOK_post_intif_mercenary_request) (int retVal___, int *merc_id, int *char_id);
+typedef int (*HPMHOOK_pre_intif_mercenary_delete) (int *merc_id);
+typedef int (*HPMHOOK_post_intif_mercenary_delete) (int retVal___, int *merc_id);
+typedef int (*HPMHOOK_pre_intif_mercenary_save) (struct s_mercenary *merc);
+typedef int (*HPMHOOK_post_intif_mercenary_save) (int retVal___, struct s_mercenary *merc);
+typedef int (*HPMHOOK_pre_intif_Mail_requestinbox) (int *char_id, unsigned char *flag);
+typedef int (*HPMHOOK_post_intif_Mail_requestinbox) (int retVal___, int *char_id, unsigned char *flag);
+typedef int (*HPMHOOK_pre_intif_Mail_read) (int *mail_id);
+typedef int (*HPMHOOK_post_intif_Mail_read) (int retVal___, int *mail_id);
+typedef int (*HPMHOOK_pre_intif_Mail_getattach) (int *char_id, int *mail_id);
+typedef int (*HPMHOOK_post_intif_Mail_getattach) (int retVal___, int *char_id, int *mail_id);
+typedef int (*HPMHOOK_pre_intif_Mail_delete) (int *char_id, int *mail_id);
+typedef int (*HPMHOOK_post_intif_Mail_delete) (int retVal___, int *char_id, int *mail_id);
+typedef int (*HPMHOOK_pre_intif_Mail_return) (int *char_id, int *mail_id);
+typedef int (*HPMHOOK_post_intif_Mail_return) (int retVal___, int *char_id, int *mail_id);
+typedef int (*HPMHOOK_pre_intif_Mail_send) (int *account_id, struct mail_message *msg);
+typedef int (*HPMHOOK_post_intif_Mail_send) (int retVal___, int *account_id, struct mail_message *msg);
+typedef int (*HPMHOOK_pre_intif_Auction_requestlist) (int *char_id, short *type, int *price, const char *searchtext, short *page);
+typedef int (*HPMHOOK_post_intif_Auction_requestlist) (int retVal___, int *char_id, short *type, int *price, const char *searchtext, short *page);
+typedef int (*HPMHOOK_pre_intif_Auction_register) (struct auction_data *auction);
+typedef int (*HPMHOOK_post_intif_Auction_register) (int retVal___, struct auction_data *auction);
+typedef int (*HPMHOOK_pre_intif_Auction_cancel) (int *char_id, unsigned int *auction_id);
+typedef int (*HPMHOOK_post_intif_Auction_cancel) (int retVal___, int *char_id, unsigned int *auction_id);
+typedef int (*HPMHOOK_pre_intif_Auction_close) (int *char_id, unsigned int *auction_id);
+typedef int (*HPMHOOK_post_intif_Auction_close) (int retVal___, int *char_id, unsigned int *auction_id);
+typedef int (*HPMHOOK_pre_intif_Auction_bid) (int *char_id, const char *name, unsigned int *auction_id, int *bid);
+typedef int (*HPMHOOK_post_intif_Auction_bid) (int retVal___, int *char_id, const char *name, unsigned int *auction_id, int *bid);
+typedef int (*HPMHOOK_pre_intif_elemental_create) (struct s_elemental *ele);
+typedef int (*HPMHOOK_post_intif_elemental_create) (int retVal___, struct s_elemental *ele);
+typedef int (*HPMHOOK_pre_intif_elemental_request) (int *ele_id, int *char_id);
+typedef int (*HPMHOOK_post_intif_elemental_request) (int retVal___, int *ele_id, int *char_id);
+typedef int (*HPMHOOK_pre_intif_elemental_delete) (int *ele_id);
+typedef int (*HPMHOOK_post_intif_elemental_delete) (int retVal___, int *ele_id);
+typedef int (*HPMHOOK_pre_intif_elemental_save) (struct s_elemental *ele);
+typedef int (*HPMHOOK_post_intif_elemental_save) (int retVal___, struct s_elemental *ele);
+typedef void (*HPMHOOK_pre_intif_request_accinfo) (int *u_fd, int *aid, int *group_lv, char *query);
+typedef void (*HPMHOOK_post_intif_request_accinfo) (int *u_fd, int *aid, int *group_lv, char *query);
+typedef int (*HPMHOOK_pre_intif_CheckForCharServer) (void);
+typedef int (*HPMHOOK_post_intif_CheckForCharServer) (int retVal___);
+typedef void (*HPMHOOK_pre_intif_pWisMessage) (int *fd);
+typedef void (*HPMHOOK_post_intif_pWisMessage) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pWisEnd) (int *fd);
+typedef void (*HPMHOOK_post_intif_pWisEnd) (int *fd);
+typedef int (*HPMHOOK_pre_intif_pWisToGM_sub) (struct map_session_data *sd, va_list va);
+typedef int (*HPMHOOK_post_intif_pWisToGM_sub) (int retVal___, struct map_session_data *sd, va_list va);
+typedef void (*HPMHOOK_pre_intif_pWisToGM) (int *fd);
+typedef void (*HPMHOOK_post_intif_pWisToGM) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pRegisters) (int *fd);
+typedef void (*HPMHOOK_post_intif_pRegisters) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pChangeNameOk) (int *fd);
+typedef void (*HPMHOOK_post_intif_pChangeNameOk) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMessageToFD) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMessageToFD) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pLoadGuildStorage) (int *fd);
+typedef void (*HPMHOOK_post_intif_pLoadGuildStorage) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pSaveGuildStorage) (int *fd);
+typedef void (*HPMHOOK_post_intif_pSaveGuildStorage) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pPartyCreated) (int *fd);
+typedef void (*HPMHOOK_post_intif_pPartyCreated) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pPartyInfo) (int *fd);
+typedef void (*HPMHOOK_post_intif_pPartyInfo) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pPartyMemberAdded) (int *fd);
+typedef void (*HPMHOOK_post_intif_pPartyMemberAdded) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pPartyOptionChanged) (int *fd);
+typedef void (*HPMHOOK_post_intif_pPartyOptionChanged) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pPartyMemberWithdraw) (int *fd);
+typedef void (*HPMHOOK_post_intif_pPartyMemberWithdraw) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pPartyMove) (int *fd);
+typedef void (*HPMHOOK_post_intif_pPartyMove) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pPartyBroken) (int *fd);
+typedef void (*HPMHOOK_post_intif_pPartyBroken) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pPartyMessage) (int *fd);
+typedef void (*HPMHOOK_post_intif_pPartyMessage) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildCreated) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildCreated) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildInfo) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildInfo) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildMemberAdded) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildMemberAdded) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildMemberWithdraw) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildMemberWithdraw) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildMemberInfoShort) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildMemberInfoShort) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildBroken) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildBroken) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildMessage) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildMessage) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildBasicInfoChanged) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildBasicInfoChanged) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildMemberInfoChanged) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildMemberInfoChanged) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildPosition) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildPosition) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildSkillUp) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildSkillUp) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildAlliance) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildAlliance) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildNotice) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildNotice) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildEmblem) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildEmblem) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildCastleDataLoad) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildCastleDataLoad) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pGuildMasterChanged) (int *fd);
+typedef void (*HPMHOOK_post_intif_pGuildMasterChanged) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pQuestLog) (int *fd);
+typedef void (*HPMHOOK_post_intif_pQuestLog) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pQuestSave) (int *fd);
+typedef void (*HPMHOOK_post_intif_pQuestSave) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMailInboxReceived) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMailInboxReceived) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMailNew) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMailNew) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMailGetAttach) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMailGetAttach) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMailDelete) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMailDelete) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMailReturn) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMailReturn) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMailSend) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMailSend) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pAuctionResults) (int *fd);
+typedef void (*HPMHOOK_post_intif_pAuctionResults) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pAuctionRegister) (int *fd);
+typedef void (*HPMHOOK_post_intif_pAuctionRegister) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pAuctionCancel) (int *fd);
+typedef void (*HPMHOOK_post_intif_pAuctionCancel) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pAuctionClose) (int *fd);
+typedef void (*HPMHOOK_post_intif_pAuctionClose) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pAuctionMessage) (int *fd);
+typedef void (*HPMHOOK_post_intif_pAuctionMessage) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pAuctionBid) (int *fd);
+typedef void (*HPMHOOK_post_intif_pAuctionBid) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pItembound_ack) (int *fd);
+typedef void (*HPMHOOK_post_intif_pItembound_ack) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMercenaryReceived) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMercenaryReceived) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMercenaryDeleted) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMercenaryDeleted) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pMercenarySaved) (int *fd);
+typedef void (*HPMHOOK_post_intif_pMercenarySaved) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pElementalReceived) (int *fd);
+typedef void (*HPMHOOK_post_intif_pElementalReceived) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pElementalDeleted) (int *fd);
+typedef void (*HPMHOOK_post_intif_pElementalDeleted) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pElementalSaved) (int *fd);
+typedef void (*HPMHOOK_post_intif_pElementalSaved) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pCreatePet) (int *fd);
+typedef void (*HPMHOOK_post_intif_pCreatePet) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pRecvPetData) (int *fd);
+typedef void (*HPMHOOK_post_intif_pRecvPetData) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pSavePetOk) (int *fd);
+typedef void (*HPMHOOK_post_intif_pSavePetOk) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pDeletePetOk) (int *fd);
+typedef void (*HPMHOOK_post_intif_pDeletePetOk) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pCreateHomunculus) (int *fd);
+typedef void (*HPMHOOK_post_intif_pCreateHomunculus) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pRecvHomunculusData) (int *fd);
+typedef void (*HPMHOOK_post_intif_pRecvHomunculusData) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pSaveHomunculusOk) (int *fd);
+typedef void (*HPMHOOK_post_intif_pSaveHomunculusOk) (int *fd);
+typedef void (*HPMHOOK_pre_intif_pDeleteHomunculusOk) (int *fd);
+typedef void (*HPMHOOK_post_intif_pDeleteHomunculusOk) (int *fd);
+#endif // MAP_INTIF_H
+#ifdef MAP_IRC_BOT_H /* ircbot */
+typedef void (*HPMHOOK_pre_ircbot_init) (bool *minimal);
+typedef void (*HPMHOOK_post_ircbot_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_ircbot_final) (void);
+typedef void (*HPMHOOK_post_ircbot_final) (void);
+typedef int (*HPMHOOK_pre_ircbot_parse) (int *fd);
+typedef int (*HPMHOOK_post_ircbot_parse) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_ircbot_parse_sub) (int *fd, char *str);
+typedef void (*HPMHOOK_post_ircbot_parse_sub) (int *fd, char *str);
+typedef void (*HPMHOOK_pre_ircbot_parse_source) (char *source, char *nick, char *ident, char *host);
+typedef void (*HPMHOOK_post_ircbot_parse_source) (char *source, char *nick, char *ident, char *host);
+typedef struct irc_func* (*HPMHOOK_pre_ircbot_func_search) (char *function_name);
+typedef struct irc_func* (*HPMHOOK_post_ircbot_func_search) (struct irc_func* retVal___, char *function_name);
+typedef int (*HPMHOOK_pre_ircbot_connect_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_ircbot_connect_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_ircbot_identify_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_ircbot_identify_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_ircbot_join_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_ircbot_join_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_ircbot_queue_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_ircbot_queue_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_ircbot_queue) (char *str);
+typedef void (*HPMHOOK_post_ircbot_queue) (char *str);
+typedef void (*HPMHOOK_pre_ircbot_send) (char *str, bool *force);
+typedef void (*HPMHOOK_post_ircbot_send) (char *str, bool *force);
+typedef void (*HPMHOOK_pre_ircbot_relay) (const char *name, const char *msg);
+typedef void (*HPMHOOK_post_ircbot_relay) (const char *name, const char *msg);
+typedef void (*HPMHOOK_pre_ircbot_pong) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_post_ircbot_pong) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_pre_ircbot_privmsg) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_post_ircbot_privmsg) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_pre_ircbot_privmsg_ctcp) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_post_ircbot_privmsg_ctcp) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_pre_ircbot_userjoin) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_post_ircbot_userjoin) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_pre_ircbot_userleave) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_post_ircbot_userleave) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_pre_ircbot_usernick) (int *fd, char *cmd, char *source, char *target, char *msg);
+typedef void (*HPMHOOK_post_ircbot_usernick) (int *fd, char *cmd, char *source, char *target, char *msg);
+#endif // MAP_IRC_BOT_H
+#ifdef MAP_ITEMDB_H /* itemdb */
+typedef void (*HPMHOOK_pre_itemdb_init) (bool *minimal);
+typedef void (*HPMHOOK_post_itemdb_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_itemdb_final) (void);
+typedef void (*HPMHOOK_post_itemdb_final) (void);
+typedef void (*HPMHOOK_pre_itemdb_reload) (void);
+typedef void (*HPMHOOK_post_itemdb_reload) (void);
+typedef void (*HPMHOOK_pre_itemdb_name_constants) (void);
+typedef void (*HPMHOOK_post_itemdb_name_constants) (void);
+typedef void (*HPMHOOK_pre_itemdb_read_groups) (void);
+typedef void (*HPMHOOK_post_itemdb_read_groups) (void);
+typedef void (*HPMHOOK_pre_itemdb_read_chains) (void);
+typedef void (*HPMHOOK_post_itemdb_read_chains) (void);
+typedef void (*HPMHOOK_pre_itemdb_read_packages) (void);
+typedef void (*HPMHOOK_post_itemdb_read_packages) (void);
+typedef void (*HPMHOOK_pre_itemdb_write_cached_packages) (const char *config_filename);
+typedef void (*HPMHOOK_post_itemdb_write_cached_packages) (const char *config_filename);
+typedef bool (*HPMHOOK_pre_itemdb_read_cached_packages) (const char *config_filename);
+typedef bool (*HPMHOOK_post_itemdb_read_cached_packages) (bool retVal___, const char *config_filename);
+typedef struct item_data* (*HPMHOOK_pre_itemdb_name2id) (const char *str);
+typedef struct item_data* (*HPMHOOK_post_itemdb_name2id) (struct item_data* retVal___, const char *str);
+typedef struct item_data* (*HPMHOOK_pre_itemdb_search_name) (const char *name);
+typedef struct item_data* (*HPMHOOK_post_itemdb_search_name) (struct item_data* retVal___, const char *name);
+typedef int (*HPMHOOK_pre_itemdb_search_name_array) (struct item_data **data, int *size, const char *str, int *flag);
+typedef int (*HPMHOOK_post_itemdb_search_name_array) (int retVal___, struct item_data **data, int *size, const char *str, int *flag);
+typedef struct item_data* (*HPMHOOK_pre_itemdb_load) (int *nameid);
+typedef struct item_data* (*HPMHOOK_post_itemdb_load) (struct item_data* retVal___, int *nameid);
+typedef struct item_data* (*HPMHOOK_pre_itemdb_search) (int *nameid);
+typedef struct item_data* (*HPMHOOK_post_itemdb_search) (struct item_data* retVal___, int *nameid);
+typedef struct item_data* (*HPMHOOK_pre_itemdb_exists) (int *nameid);
+typedef struct item_data* (*HPMHOOK_post_itemdb_exists) (struct item_data* retVal___, int *nameid);
+typedef bool (*HPMHOOK_pre_itemdb_in_group) (struct item_group *group, int *nameid);
+typedef bool (*HPMHOOK_post_itemdb_in_group) (bool retVal___, struct item_group *group, int *nameid);
+typedef int (*HPMHOOK_pre_itemdb_group_item) (struct item_group *group);
+typedef int (*HPMHOOK_post_itemdb_group_item) (int retVal___, struct item_group *group);
+typedef int (*HPMHOOK_pre_itemdb_chain_item) (unsigned short *chain_id, int *rate);
+typedef int (*HPMHOOK_post_itemdb_chain_item) (int retVal___, unsigned short *chain_id, int *rate);
+typedef void (*HPMHOOK_pre_itemdb_package_item) (struct map_session_data *sd, struct item_package *package);
+typedef void (*HPMHOOK_post_itemdb_package_item) (struct map_session_data *sd, struct item_package *package);
+typedef int (*HPMHOOK_pre_itemdb_searchname_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_itemdb_searchname_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_itemdb_searchname_array_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_itemdb_searchname_array_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_itemdb_searchrandomid) (struct item_group *group);
+typedef int (*HPMHOOK_post_itemdb_searchrandomid) (int retVal___, struct item_group *group);
+typedef const char* (*HPMHOOK_pre_itemdb_typename) (int *type);
+typedef const char* (*HPMHOOK_post_itemdb_typename) (const char* retVal___, int *type);
+typedef void (*HPMHOOK_pre_itemdb_jobmask2mapid) (uint64 *bclass, uint64 *jobmask);
+typedef void (*HPMHOOK_post_itemdb_jobmask2mapid) (uint64 *bclass, uint64 *jobmask);
+typedef void (*HPMHOOK_pre_itemdb_jobid2mapid) (uint64 *bclass, int *job_id, bool *enable);
+typedef void (*HPMHOOK_post_itemdb_jobid2mapid) (uint64 *bclass, int *job_id, bool *enable);
+typedef void (*HPMHOOK_pre_itemdb_create_dummy_data) (void);
+typedef void (*HPMHOOK_post_itemdb_create_dummy_data) (void);
+typedef struct item_data* (*HPMHOOK_pre_itemdb_create_item_data) (int *nameid);
+typedef struct item_data* (*HPMHOOK_post_itemdb_create_item_data) (struct item_data* retVal___, int *nameid);
+typedef int (*HPMHOOK_pre_itemdb_isequip) (int *nameid);
+typedef int (*HPMHOOK_post_itemdb_isequip) (int retVal___, int *nameid);
+typedef int (*HPMHOOK_pre_itemdb_isequip2) (struct item_data *data);
+typedef int (*HPMHOOK_post_itemdb_isequip2) (int retVal___, struct item_data *data);
+typedef int (*HPMHOOK_pre_itemdb_isstackable) (int *nameid);
+typedef int (*HPMHOOK_post_itemdb_isstackable) (int retVal___, int *nameid);
+typedef int (*HPMHOOK_pre_itemdb_isstackable2) (struct item_data *data);
+typedef int (*HPMHOOK_post_itemdb_isstackable2) (int retVal___, struct item_data *data);
+typedef int (*HPMHOOK_pre_itemdb_isdropable_sub) (struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_post_itemdb_isdropable_sub) (int retVal___, struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_pre_itemdb_cantrade_sub) (struct item_data *item, int *gmlv, int *gmlv2);
+typedef int (*HPMHOOK_post_itemdb_cantrade_sub) (int retVal___, struct item_data *item, int *gmlv, int *gmlv2);
+typedef int (*HPMHOOK_pre_itemdb_canpartnertrade_sub) (struct item_data *item, int *gmlv, int *gmlv2);
+typedef int (*HPMHOOK_post_itemdb_canpartnertrade_sub) (int retVal___, struct item_data *item, int *gmlv, int *gmlv2);
+typedef int (*HPMHOOK_pre_itemdb_cansell_sub) (struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_post_itemdb_cansell_sub) (int retVal___, struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_pre_itemdb_cancartstore_sub) (struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_post_itemdb_cancartstore_sub) (int retVal___, struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_pre_itemdb_canstore_sub) (struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_post_itemdb_canstore_sub) (int retVal___, struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_pre_itemdb_canguildstore_sub) (struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_post_itemdb_canguildstore_sub) (int retVal___, struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_pre_itemdb_canmail_sub) (struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_post_itemdb_canmail_sub) (int retVal___, struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_pre_itemdb_canauction_sub) (struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_post_itemdb_canauction_sub) (int retVal___, struct item_data *item, int *gmlv, int *unused);
+typedef int (*HPMHOOK_pre_itemdb_isrestricted) (struct item *item, int *gmlv, int *gmlv2, int ( *func ) (struct item_data *, int, int));
+typedef int (*HPMHOOK_post_itemdb_isrestricted) (int retVal___, struct item *item, int *gmlv, int *gmlv2, int ( *func ) (struct item_data *, int, int));
+typedef int (*HPMHOOK_pre_itemdb_isidentified) (int *nameid);
+typedef int (*HPMHOOK_post_itemdb_isidentified) (int retVal___, int *nameid);
+typedef int (*HPMHOOK_pre_itemdb_isidentified2) (struct item_data *data);
+typedef int (*HPMHOOK_post_itemdb_isidentified2) (int retVal___, struct item_data *data);
+typedef int (*HPMHOOK_pre_itemdb_combo_split_atoi) (char *str, int *val);
+typedef int (*HPMHOOK_post_itemdb_combo_split_atoi) (int retVal___, char *str, int *val);
+typedef void (*HPMHOOK_pre_itemdb_read_combos) (void);
+typedef void (*HPMHOOK_post_itemdb_read_combos) (void);
+typedef int (*HPMHOOK_pre_itemdb_gendercheck) (struct item_data *id);
+typedef int (*HPMHOOK_post_itemdb_gendercheck) (int retVal___, struct item_data *id);
+typedef int (*HPMHOOK_pre_itemdb_validate_entry) (struct item_data *entry, int *n, const char *source);
+typedef int (*HPMHOOK_post_itemdb_validate_entry) (int retVal___, struct item_data *entry, int *n, const char *source);
+typedef void (*HPMHOOK_pre_itemdb_readdb_additional_fields) (int *itemid, struct config_setting_t *it, int *n, const char *source);
+typedef void (*HPMHOOK_post_itemdb_readdb_additional_fields) (int *itemid, struct config_setting_t *it, int *n, const char *source);
+typedef void (*HPMHOOK_pre_itemdb_readdb_job_sub) (struct item_data *id, struct config_setting_t *t);
+typedef void (*HPMHOOK_post_itemdb_readdb_job_sub) (struct item_data *id, struct config_setting_t *t);
+typedef int (*HPMHOOK_pre_itemdb_readdb_libconfig_sub) (struct config_setting_t *it, int *n, const char *source);
+typedef int (*HPMHOOK_post_itemdb_readdb_libconfig_sub) (int retVal___, struct config_setting_t *it, int *n, const char *source);
+typedef int (*HPMHOOK_pre_itemdb_readdb_libconfig) (const char *filename);
+typedef int (*HPMHOOK_post_itemdb_readdb_libconfig) (int retVal___, const char *filename);
+typedef uint64 (*HPMHOOK_pre_itemdb_unique_id) (struct map_session_data *sd);
+typedef uint64 (*HPMHOOK_post_itemdb_unique_id) (uint64 retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_itemdb_read) (bool *minimal);
+typedef void (*HPMHOOK_post_itemdb_read) (bool *minimal);
+typedef void (*HPMHOOK_pre_itemdb_destroy_item_data) (struct item_data *self, int *free_self);
+typedef void (*HPMHOOK_post_itemdb_destroy_item_data) (struct item_data *self, int *free_self);
+typedef int (*HPMHOOK_pre_itemdb_final_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_itemdb_final_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_itemdb_clear) (bool *total);
+typedef void (*HPMHOOK_post_itemdb_clear) (bool *total);
+typedef struct item_combo* (*HPMHOOK_pre_itemdb_id2combo) (unsigned short *id);
+typedef struct item_combo* (*HPMHOOK_post_itemdb_id2combo) (struct item_combo* retVal___, unsigned short *id);
+typedef bool (*HPMHOOK_pre_itemdb_is_item_usable) (struct item_data *item);
+typedef bool (*HPMHOOK_post_itemdb_is_item_usable) (bool retVal___, struct item_data *item);
+typedef bool (*HPMHOOK_pre_itemdb_lookup_const) (const struct config_setting_t *it, const char *name, int *value);
+typedef bool (*HPMHOOK_post_itemdb_lookup_const) (bool retVal___, const struct config_setting_t *it, const char *name, int *value);
+#endif // MAP_ITEMDB_H
+#ifdef LOGIN_LCLIF_H /* lclif */
+typedef void (*HPMHOOK_pre_lclif_init) (void);
+typedef void (*HPMHOOK_post_lclif_init) (void);
+typedef void (*HPMHOOK_pre_lclif_final) (void);
+typedef void (*HPMHOOK_post_lclif_final) (void);
+typedef void (*HPMHOOK_pre_lclif_connection_error) (int *fd, uint8 *error);
+typedef void (*HPMHOOK_post_lclif_connection_error) (int *fd, uint8 *error);
+typedef bool (*HPMHOOK_pre_lclif_server_list) (struct login_session_data *sd);
+typedef bool (*HPMHOOK_post_lclif_server_list) (bool retVal___, struct login_session_data *sd);
+typedef void (*HPMHOOK_pre_lclif_auth_failed) (int *fd, time_t *ban, uint32 *error);
+typedef void (*HPMHOOK_post_lclif_auth_failed) (int *fd, time_t *ban, uint32 *error);
+typedef void (*HPMHOOK_pre_lclif_login_error) (int *fd, uint8 *error);
+typedef void (*HPMHOOK_post_lclif_login_error) (int *fd, uint8 *error);
+typedef void (*HPMHOOK_pre_lclif_coding_key) (int *fd, struct login_session_data *sd);
+typedef void (*HPMHOOK_post_lclif_coding_key) (int *fd, struct login_session_data *sd);
+typedef const struct login_packet_db* (*HPMHOOK_pre_lclif_packet) (int16 *packet_id);
+typedef const struct login_packet_db* (*HPMHOOK_post_lclif_packet) (const struct login_packet_db* retVal___, int16 *packet_id);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_lclif_parse_packet) (const struct login_packet_db *lpd, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_lclif_parse_packet) (enum parsefunc_rcode retVal___, const struct login_packet_db *lpd, int *fd, struct login_session_data *sd);
+typedef int (*HPMHOOK_pre_lclif_parse) (int *fd);
+typedef int (*HPMHOOK_post_lclif_parse) (int retVal___, int *fd);
+#endif // LOGIN_LCLIF_H
+#ifdef LOGIN_LCLIF_P_H /* PRIV__lclif */
+typedef void (*HPMHOOK_pre_PRIV__lclif_packetdb_loaddb) (void);
+typedef void (*HPMHOOK_post_PRIV__lclif_packetdb_loaddb) (void);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_sub) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_sub) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_CONNECT_INFO_CHANGED) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_CONNECT_INFO_CHANGED) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_EXE_HASHCHECK) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_EXE_HASHCHECK) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_LOGIN) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_LOGIN) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_LOGIN2) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_LOGIN2) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_LOGIN3) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_LOGIN3) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_LOGIN4) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_LOGIN4) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_LOGIN_PCBANG) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_LOGIN_PCBANG) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_LOGIN_HAN) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_LOGIN_HAN) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_SSO_LOGIN_REQ) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_SSO_LOGIN_REQ) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_REQ_HASH) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_REQ_HASH) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_CHARSERVERCONNECT) (int *fd, struct login_session_data *sd);
+typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_CHARSERVERCONNECT) (enum parsefunc_rcode retVal___, int *fd, struct login_session_data *sd);
+#endif // LOGIN_LCLIF_P_H
+#ifdef COMMON_CONF_H /* libconfig */
+typedef int (*HPMHOOK_pre_libconfig_read) (struct config_t *config, FILE *stream);
+typedef int (*HPMHOOK_post_libconfig_read) (int retVal___, struct config_t *config, FILE *stream);
+typedef void (*HPMHOOK_pre_libconfig_write) (const struct config_t *config, FILE *stream);
+typedef void (*HPMHOOK_post_libconfig_write) (const struct config_t *config, FILE *stream);
+typedef void (*HPMHOOK_pre_libconfig_set_options) (struct config_t *config, int *options);
+typedef void (*HPMHOOK_post_libconfig_set_options) (struct config_t *config, int *options);
+typedef int (*HPMHOOK_pre_libconfig_get_options) (const struct config_t *config);
+typedef int (*HPMHOOK_post_libconfig_get_options) (int retVal___, const struct config_t *config);
+typedef int (*HPMHOOK_pre_libconfig_read_string) (struct config_t *config, const char *str);
+typedef int (*HPMHOOK_post_libconfig_read_string) (int retVal___, struct config_t *config, const char *str);
+typedef int (*HPMHOOK_pre_libconfig_read_file_src) (struct config_t *config, const char *filename);
+typedef int (*HPMHOOK_post_libconfig_read_file_src) (int retVal___, struct config_t *config, const char *filename);
+typedef int (*HPMHOOK_pre_libconfig_write_file) (struct config_t *config, const char *filename);
+typedef int (*HPMHOOK_post_libconfig_write_file) (int retVal___, struct config_t *config, const char *filename);
+typedef void (*HPMHOOK_pre_libconfig_set_destructor) (struct config_t *config, void ( *destructor ) (void *));
+typedef void (*HPMHOOK_post_libconfig_set_destructor) (struct config_t *config, void ( *destructor ) (void *));
+typedef void (*HPMHOOK_pre_libconfig_set_include_dir) (struct config_t *config, const char *include_dir);
+typedef void (*HPMHOOK_post_libconfig_set_include_dir) (struct config_t *config, const char *include_dir);
+typedef void (*HPMHOOK_pre_libconfig_init) (struct config_t *config);
+typedef void (*HPMHOOK_post_libconfig_init) (struct config_t *config);
+typedef void (*HPMHOOK_pre_libconfig_destroy) (struct config_t *config);
+typedef void (*HPMHOOK_post_libconfig_destroy) (struct config_t *config);
+typedef int (*HPMHOOK_pre_libconfig_setting_get_int) (const struct config_setting_t *setting);
+typedef int (*HPMHOOK_post_libconfig_setting_get_int) (int retVal___, const struct config_setting_t *setting);
+typedef long long (*HPMHOOK_pre_libconfig_setting_get_int64) (const struct config_setting_t *setting);
+typedef long long (*HPMHOOK_post_libconfig_setting_get_int64) (long long retVal___, const struct config_setting_t *setting);
+typedef double (*HPMHOOK_pre_libconfig_setting_get_float) (const struct config_setting_t *setting);
+typedef double (*HPMHOOK_post_libconfig_setting_get_float) (double retVal___, const struct config_setting_t *setting);
+typedef int (*HPMHOOK_pre_libconfig_setting_get_bool) (const struct config_setting_t *setting);
+typedef int (*HPMHOOK_post_libconfig_setting_get_bool) (int retVal___, const struct config_setting_t *setting);
+typedef const char* (*HPMHOOK_pre_libconfig_setting_get_string) (const struct config_setting_t *setting);
+typedef const char* (*HPMHOOK_post_libconfig_setting_get_string) (const char* retVal___, const struct config_setting_t *setting);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_lookup) (struct config_setting_t *setting, const char *name);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_lookup) (struct config_setting_t* retVal___, struct config_setting_t *setting, const char *name);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_int) (const struct config_setting_t *setting, const char *name, int *value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_int) (int retVal___, const struct config_setting_t *setting, const char *name, int *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_int64) (const struct config_setting_t *setting, const char *name, long long *value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_int64) (int retVal___, const struct config_setting_t *setting, const char *name, long long *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_float) (const struct config_setting_t *setting, const char *name, double *value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_float) (int retVal___, const struct config_setting_t *setting, const char *name, double *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_bool) (const struct config_setting_t *setting, const char *name, int *value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_bool) (int retVal___, const struct config_setting_t *setting, const char *name, int *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_string) (const struct config_setting_t *setting, const char *name, const char **value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_string) (int retVal___, const struct config_setting_t *setting, const char *name, const char **value);
+typedef int (*HPMHOOK_pre_libconfig_setting_set_int) (struct config_setting_t *setting, int *value);
+typedef int (*HPMHOOK_post_libconfig_setting_set_int) (int retVal___, struct config_setting_t *setting, int *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_set_int64) (struct config_setting_t *setting, long long *value);
+typedef int (*HPMHOOK_post_libconfig_setting_set_int64) (int retVal___, struct config_setting_t *setting, long long *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_set_float) (struct config_setting_t *setting, double *value);
+typedef int (*HPMHOOK_post_libconfig_setting_set_float) (int retVal___, struct config_setting_t *setting, double *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_set_bool) (struct config_setting_t *setting, int *value);
+typedef int (*HPMHOOK_post_libconfig_setting_set_bool) (int retVal___, struct config_setting_t *setting, int *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_set_string) (struct config_setting_t *setting, const char *value);
+typedef int (*HPMHOOK_post_libconfig_setting_set_string) (int retVal___, struct config_setting_t *setting, const char *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_set_format) (struct config_setting_t *setting, short *format);
+typedef int (*HPMHOOK_post_libconfig_setting_set_format) (int retVal___, struct config_setting_t *setting, short *format);
+typedef short (*HPMHOOK_pre_libconfig_setting_get_format) (const struct config_setting_t *setting);
+typedef short (*HPMHOOK_post_libconfig_setting_get_format) (short retVal___, const struct config_setting_t *setting);
+typedef int (*HPMHOOK_pre_libconfig_setting_get_int_elem) (const struct config_setting_t *setting, int *idx);
+typedef int (*HPMHOOK_post_libconfig_setting_get_int_elem) (int retVal___, const struct config_setting_t *setting, int *idx);
+typedef long long (*HPMHOOK_pre_libconfig_setting_get_int64_elem) (const struct config_setting_t *setting, int *idx);
+typedef long long (*HPMHOOK_post_libconfig_setting_get_int64_elem) (long long retVal___, const struct config_setting_t *setting, int *idx);
+typedef double (*HPMHOOK_pre_libconfig_setting_get_float_elem) (const struct config_setting_t *setting, int *idx);
+typedef double (*HPMHOOK_post_libconfig_setting_get_float_elem) (double retVal___, const struct config_setting_t *setting, int *idx);
+typedef int (*HPMHOOK_pre_libconfig_setting_get_bool_elem) (const struct config_setting_t *setting, int *idx);
+typedef int (*HPMHOOK_post_libconfig_setting_get_bool_elem) (int retVal___, const struct config_setting_t *setting, int *idx);
+typedef const char* (*HPMHOOK_pre_libconfig_setting_get_string_elem) (const struct config_setting_t *setting, int *idx);
+typedef const char* (*HPMHOOK_post_libconfig_setting_get_string_elem) (const char* retVal___, const struct config_setting_t *setting, int *idx);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_int_elem) (struct config_setting_t *setting, int *idx, int *value);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_set_int_elem) (struct config_setting_t* retVal___, struct config_setting_t *setting, int *idx, int *value);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_int64_elem) (struct config_setting_t *setting, int *idx, long long *value);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_set_int64_elem) (struct config_setting_t* retVal___, struct config_setting_t *setting, int *idx, long long *value);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_float_elem) (struct config_setting_t *setting, int *idx, double *value);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_set_float_elem) (struct config_setting_t* retVal___, struct config_setting_t *setting, int *idx, double *value);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_bool_elem) (struct config_setting_t *setting, int *idx, int *value);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_set_bool_elem) (struct config_setting_t* retVal___, struct config_setting_t *setting, int *idx, int *value);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_set_string_elem) (struct config_setting_t *setting, int *idx, const char *value);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_set_string_elem) (struct config_setting_t* retVal___, struct config_setting_t *setting, int *idx, const char *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_index) (const struct config_setting_t *setting);
+typedef int (*HPMHOOK_post_libconfig_setting_index) (int retVal___, const struct config_setting_t *setting);
+typedef int (*HPMHOOK_pre_libconfig_setting_length) (const struct config_setting_t *setting);
+typedef int (*HPMHOOK_post_libconfig_setting_length) (int retVal___, const struct config_setting_t *setting);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_get_elem) (const struct config_setting_t *setting, unsigned int *idx);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_get_elem) (struct config_setting_t* retVal___, const struct config_setting_t *setting, unsigned int *idx);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_get_member) (const struct config_setting_t *setting, const char *name);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_get_member) (struct config_setting_t* retVal___, const struct config_setting_t *setting, const char *name);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_setting_add) (struct config_setting_t *parent, const char *name, int *type);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_setting_add) (struct config_setting_t* retVal___, struct config_setting_t *parent, const char *name, int *type);
+typedef int (*HPMHOOK_pre_libconfig_setting_remove) (struct config_setting_t *parent, const char *name);
+typedef int (*HPMHOOK_post_libconfig_setting_remove) (int retVal___, struct config_setting_t *parent, const char *name);
+typedef int (*HPMHOOK_pre_libconfig_setting_remove_elem) (struct config_setting_t *parent, unsigned int *idx);
+typedef int (*HPMHOOK_post_libconfig_setting_remove_elem) (int retVal___, struct config_setting_t *parent, unsigned int *idx);
+typedef void (*HPMHOOK_pre_libconfig_setting_set_hook) (struct config_setting_t *setting, void *hook);
+typedef void (*HPMHOOK_post_libconfig_setting_set_hook) (struct config_setting_t *setting, void *hook);
+typedef struct config_setting_t* (*HPMHOOK_pre_libconfig_lookup) (const struct config_t *config, const char *filepath);
+typedef struct config_setting_t* (*HPMHOOK_post_libconfig_lookup) (struct config_setting_t* retVal___, const struct config_t *config, const char *filepath);
+typedef int (*HPMHOOK_pre_libconfig_lookup_int) (const struct config_t *config, const char *filepath, int *value);
+typedef int (*HPMHOOK_post_libconfig_lookup_int) (int retVal___, const struct config_t *config, const char *filepath, int *value);
+typedef int (*HPMHOOK_pre_libconfig_lookup_int64) (const struct config_t *config, const char *filepath, long long *value);
+typedef int (*HPMHOOK_post_libconfig_lookup_int64) (int retVal___, const struct config_t *config, const char *filepath, long long *value);
+typedef int (*HPMHOOK_pre_libconfig_lookup_float) (const struct config_t *config, const char *filepath, double *value);
+typedef int (*HPMHOOK_post_libconfig_lookup_float) (int retVal___, const struct config_t *config, const char *filepath, double *value);
+typedef int (*HPMHOOK_pre_libconfig_lookup_bool) (const struct config_t *config, const char *filepath, int *value);
+typedef int (*HPMHOOK_post_libconfig_lookup_bool) (int retVal___, const struct config_t *config, const char *filepath, int *value);
+typedef int (*HPMHOOK_pre_libconfig_lookup_string) (const struct config_t *config, const char *filepath, const char **value);
+typedef int (*HPMHOOK_post_libconfig_lookup_string) (int retVal___, const struct config_t *config, const char *filepath, const char **value);
+typedef int (*HPMHOOK_pre_libconfig_load_file) (struct config_t *config, const char *config_filename);
+typedef int (*HPMHOOK_post_libconfig_load_file) (int retVal___, struct config_t *config, const char *config_filename);
+typedef void (*HPMHOOK_pre_libconfig_setting_copy_simple) (struct config_setting_t *parent, const struct config_setting_t *src);
+typedef void (*HPMHOOK_post_libconfig_setting_copy_simple) (struct config_setting_t *parent, const struct config_setting_t *src);
+typedef void (*HPMHOOK_pre_libconfig_setting_copy_elem) (struct config_setting_t *parent, const struct config_setting_t *src);
+typedef void (*HPMHOOK_post_libconfig_setting_copy_elem) (struct config_setting_t *parent, const struct config_setting_t *src);
+typedef void (*HPMHOOK_pre_libconfig_setting_copy_aggregate) (struct config_setting_t *parent, const struct config_setting_t *src);
+typedef void (*HPMHOOK_post_libconfig_setting_copy_aggregate) (struct config_setting_t *parent, const struct config_setting_t *src);
+typedef int (*HPMHOOK_pre_libconfig_setting_copy) (struct config_setting_t *parent, const struct config_setting_t *src);
+typedef int (*HPMHOOK_post_libconfig_setting_copy) (int retVal___, struct config_setting_t *parent, const struct config_setting_t *src);
+typedef bool (*HPMHOOK_pre_libconfig_setting_get_bool_real) (const struct config_setting_t *setting);
+typedef bool (*HPMHOOK_post_libconfig_setting_get_bool_real) (bool retVal___, const struct config_setting_t *setting);
+typedef uint32 (*HPMHOOK_pre_libconfig_setting_get_uint32) (const struct config_setting_t *setting);
+typedef uint32 (*HPMHOOK_post_libconfig_setting_get_uint32) (uint32 retVal___, const struct config_setting_t *setting);
+typedef uint16 (*HPMHOOK_pre_libconfig_setting_get_uint16) (const struct config_setting_t *setting);
+typedef uint16 (*HPMHOOK_post_libconfig_setting_get_uint16) (uint16 retVal___, const struct config_setting_t *setting);
+typedef int16 (*HPMHOOK_pre_libconfig_setting_get_int16) (const struct config_setting_t *setting);
+typedef int16 (*HPMHOOK_post_libconfig_setting_get_int16) (int16 retVal___, const struct config_setting_t *setting);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_bool_real) (const struct config_setting_t *setting, const char *name, bool *value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_bool_real) (int retVal___, const struct config_setting_t *setting, const char *name, bool *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_uint32) (const struct config_setting_t *setting, const char *name, uint32 *value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_uint32) (int retVal___, const struct config_setting_t *setting, const char *name, uint32 *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_uint16) (const struct config_setting_t *setting, const char *name, uint16 *value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_uint16) (int retVal___, const struct config_setting_t *setting, const char *name, uint16 *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_int16) (const struct config_setting_t *setting, const char *name, int16 *value);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_int16) (int retVal___, const struct config_setting_t *setting, const char *name, int16 *value);
+typedef int (*HPMHOOK_pre_libconfig_setting_lookup_mutable_string) (const struct config_setting_t *setting, const char *name, char *out, size_t *out_size);
+typedef int (*HPMHOOK_post_libconfig_setting_lookup_mutable_string) (int retVal___, const struct config_setting_t *setting, const char *name, char *out, size_t *out_size);
+typedef int (*HPMHOOK_pre_libconfig_lookup_mutable_string) (const struct config_t *config, const char *name, char *out, size_t *out_size);
+typedef int (*HPMHOOK_post_libconfig_lookup_mutable_string) (int retVal___, const struct config_t *config, const char *name, char *out, size_t *out_size);
+#endif // COMMON_CONF_H
+#ifdef MAP_LOG_H /* logs */
+typedef void (*HPMHOOK_pre_logs_pick_pc) (struct map_session_data *sd, e_log_pick_type *type, int *amount, struct item *itm, struct item_data *data);
+typedef void (*HPMHOOK_post_logs_pick_pc) (struct map_session_data *sd, e_log_pick_type *type, int *amount, struct item *itm, struct item_data *data);
+typedef void (*HPMHOOK_pre_logs_pick_mob) (struct mob_data *md, e_log_pick_type *type, int *amount, struct item *itm, struct item_data *data);
+typedef void (*HPMHOOK_post_logs_pick_mob) (struct mob_data *md, e_log_pick_type *type, int *amount, struct item *itm, struct item_data *data);
+typedef void (*HPMHOOK_pre_logs_zeny) (struct map_session_data *sd, e_log_pick_type *type, struct map_session_data *src_sd, int *amount);
+typedef void (*HPMHOOK_post_logs_zeny) (struct map_session_data *sd, e_log_pick_type *type, struct map_session_data *src_sd, int *amount);
+typedef void (*HPMHOOK_pre_logs_npc) (struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_post_logs_npc) (struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_pre_logs_chat) (e_log_chat_type *type, int *type_id, int *src_charid, int *src_accid, const char *mapname, int *x, int *y, const char *dst_charname, const char *message);
+typedef void (*HPMHOOK_post_logs_chat) (e_log_chat_type *type, int *type_id, int *src_charid, int *src_accid, const char *mapname, int *x, int *y, const char *dst_charname, const char *message);
+typedef void (*HPMHOOK_pre_logs_atcommand) (struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_post_logs_atcommand) (struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_pre_logs_branch) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_logs_branch) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_logs_mvpdrop) (struct map_session_data *sd, int *monster_id, int *log_mvp);
+typedef void (*HPMHOOK_post_logs_mvpdrop) (struct map_session_data *sd, int *monster_id, int *log_mvp);
+typedef void (*HPMHOOK_pre_logs_pick_sub) (int *id, int16 *m, e_log_pick_type *type, int *amount, struct item *itm, struct item_data *data);
+typedef void (*HPMHOOK_post_logs_pick_sub) (int *id, int16 *m, e_log_pick_type *type, int *amount, struct item *itm, struct item_data *data);
+typedef void (*HPMHOOK_pre_logs_zeny_sub) (struct map_session_data *sd, e_log_pick_type *type, struct map_session_data *src_sd, int *amount);
+typedef void (*HPMHOOK_post_logs_zeny_sub) (struct map_session_data *sd, e_log_pick_type *type, struct map_session_data *src_sd, int *amount);
+typedef void (*HPMHOOK_pre_logs_npc_sub) (struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_post_logs_npc_sub) (struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_pre_logs_chat_sub) (e_log_chat_type *type, int *type_id, int *src_charid, int *src_accid, const char *mapname, int *x, int *y, const char *dst_charname, const char *message);
+typedef void (*HPMHOOK_post_logs_chat_sub) (e_log_chat_type *type, int *type_id, int *src_charid, int *src_accid, const char *mapname, int *x, int *y, const char *dst_charname, const char *message);
+typedef void (*HPMHOOK_pre_logs_atcommand_sub) (struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_post_logs_atcommand_sub) (struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_pre_logs_branch_sub) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_logs_branch_sub) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_logs_mvpdrop_sub) (struct map_session_data *sd, int *monster_id, int *log_mvp);
+typedef void (*HPMHOOK_post_logs_mvpdrop_sub) (struct map_session_data *sd, int *monster_id, int *log_mvp);
+typedef int (*HPMHOOK_pre_logs_config_read) (const char *cfgName);
+typedef int (*HPMHOOK_post_logs_config_read) (int retVal___, const char *cfgName);
+typedef void (*HPMHOOK_pre_logs_config_done) (void);
+typedef void (*HPMHOOK_post_logs_config_done) (void);
+typedef void (*HPMHOOK_pre_logs_sql_init) (void);
+typedef void (*HPMHOOK_post_logs_sql_init) (void);
+typedef void (*HPMHOOK_pre_logs_sql_final) (void);
+typedef void (*HPMHOOK_post_logs_sql_final) (void);
+typedef char (*HPMHOOK_pre_logs_picktype2char) (e_log_pick_type *type);
+typedef char (*HPMHOOK_post_logs_picktype2char) (char retVal___, e_log_pick_type *type);
+typedef char (*HPMHOOK_pre_logs_chattype2char) (e_log_chat_type *type);
+typedef char (*HPMHOOK_post_logs_chattype2char) (char retVal___, e_log_chat_type *type);
+typedef bool (*HPMHOOK_pre_logs_should_log_item) (int *nameid, int *amount, int *refine, struct item_data *id);
+typedef bool (*HPMHOOK_post_logs_should_log_item) (bool retVal___, int *nameid, int *amount, int *refine, struct item_data *id);
+#endif // MAP_LOG_H
+#ifdef LOGIN_LOGIN_H /* login */
+typedef int (*HPMHOOK_pre_login_mmo_auth) (struct login_session_data *sd, bool *isServer);
+typedef int (*HPMHOOK_post_login_mmo_auth) (int retVal___, struct login_session_data *sd, bool *isServer);
+typedef int (*HPMHOOK_pre_login_mmo_auth_new) (const char *userid, const char *pass, const char *sex, const char *last_ip);
+typedef int (*HPMHOOK_post_login_mmo_auth_new) (int retVal___, const char *userid, const char *pass, const char *sex, const char *last_ip);
+typedef int (*HPMHOOK_pre_login_waiting_disconnect_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_login_waiting_disconnect_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef struct DBData (*HPMHOOK_pre_login_create_online_user) (union DBKey *key, va_list args);
+typedef struct DBData (*HPMHOOK_post_login_create_online_user) (struct DBData retVal___, union DBKey *key, va_list args);
+typedef struct online_login_data* (*HPMHOOK_pre_login_add_online_user) (int *char_server, int *account_id);
+typedef struct online_login_data* (*HPMHOOK_post_login_add_online_user) (struct online_login_data* retVal___, int *char_server, int *account_id);
+typedef void (*HPMHOOK_pre_login_remove_online_user) (int *account_id);
+typedef void (*HPMHOOK_post_login_remove_online_user) (int *account_id);
+typedef int (*HPMHOOK_pre_login_online_db_setoffline) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_login_online_db_setoffline) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_login_online_data_cleanup_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_login_online_data_cleanup_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_login_online_data_cleanup) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_login_online_data_cleanup) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_login_sync_ip_addresses) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_login_sync_ip_addresses) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef bool (*HPMHOOK_pre_login_check_encrypted) (const char *str1, const char *str2, const char *passwd);
+typedef bool (*HPMHOOK_post_login_check_encrypted) (bool retVal___, const char *str1, const char *str2, const char *passwd);
+typedef bool (*HPMHOOK_pre_login_check_password) (const char *md5key, int *passwdenc, const char *passwd, const char *refpass);
+typedef bool (*HPMHOOK_post_login_check_password) (bool retVal___, const char *md5key, int *passwdenc, const char *passwd, const char *refpass);
+typedef uint32 (*HPMHOOK_pre_login_lan_subnet_check) (uint32 *ip);
+typedef uint32 (*HPMHOOK_post_login_lan_subnet_check) (uint32 retVal___, uint32 *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_accinfo) (int *fd, int *account_id, int *u_fd, int *u_aid, int *u_group, int *map_fd, struct mmo_account *acc);
+typedef void (*HPMHOOK_post_login_fromchar_accinfo) (int *fd, int *account_id, int *u_fd, int *u_aid, int *u_group, int *map_fd, struct mmo_account *acc);
+typedef void (*HPMHOOK_pre_login_fromchar_account) (int *fd, int *account_id, struct mmo_account *acc);
+typedef void (*HPMHOOK_post_login_fromchar_account) (int *fd, int *account_id, struct mmo_account *acc);
+typedef void (*HPMHOOK_pre_login_fromchar_account_update_other) (int *account_id, unsigned int *state);
+typedef void (*HPMHOOK_post_login_fromchar_account_update_other) (int *account_id, unsigned int *state);
+typedef void (*HPMHOOK_pre_login_fromchar_auth_ack) (int *fd, int *account_id, uint32 *login_id1, uint32 *login_id2, uint8 *sex, int *request_id, struct login_auth_node *node);
+typedef void (*HPMHOOK_post_login_fromchar_auth_ack) (int *fd, int *account_id, uint32 *login_id1, uint32 *login_id2, uint8 *sex, int *request_id, struct login_auth_node *node);
+typedef void (*HPMHOOK_pre_login_fromchar_ban) (int *account_id, time_t *timestamp);
+typedef void (*HPMHOOK_post_login_fromchar_ban) (int *account_id, time_t *timestamp);
+typedef void (*HPMHOOK_pre_login_fromchar_change_sex_other) (int *account_id, char *sex);
+typedef void (*HPMHOOK_post_login_fromchar_change_sex_other) (int *account_id, char *sex);
+typedef void (*HPMHOOK_pre_login_fromchar_pong) (int *fd);
+typedef void (*HPMHOOK_post_login_fromchar_pong) (int *fd);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_auth) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_post_login_fromchar_parse_auth) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_update_users) (int *fd, int *id);
+typedef void (*HPMHOOK_post_login_fromchar_parse_update_users) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_request_change_email) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_post_login_fromchar_parse_request_change_email) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_account_data) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_post_login_fromchar_parse_account_data) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_ping) (int *fd);
+typedef void (*HPMHOOK_post_login_fromchar_parse_ping) (int *fd);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_change_email) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_post_login_fromchar_parse_change_email) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_account_update) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_post_login_fromchar_parse_account_update) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_ban) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_post_login_fromchar_parse_ban) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_change_sex) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_post_login_fromchar_parse_change_sex) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_account_reg2) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_post_login_fromchar_parse_account_reg2) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_unban) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_post_login_fromchar_parse_unban) (int *fd, int *id, const char *ip);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_account_online) (int *fd, int *id);
+typedef void (*HPMHOOK_post_login_fromchar_parse_account_online) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_account_offline) (int *fd);
+typedef void (*HPMHOOK_post_login_fromchar_parse_account_offline) (int *fd);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_online_accounts) (int *fd, int *id);
+typedef void (*HPMHOOK_post_login_fromchar_parse_online_accounts) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_request_account_reg2) (int *fd);
+typedef void (*HPMHOOK_post_login_fromchar_parse_request_account_reg2) (int *fd);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_update_wan_ip) (int *fd, int *id);
+typedef void (*HPMHOOK_post_login_fromchar_parse_update_wan_ip) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_all_offline) (int *fd, int *id);
+typedef void (*HPMHOOK_post_login_fromchar_parse_all_offline) (int *fd, int *id);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_change_pincode) (int *fd);
+typedef void (*HPMHOOK_post_login_fromchar_parse_change_pincode) (int *fd);
+typedef bool (*HPMHOOK_pre_login_fromchar_parse_wrong_pincode) (int *fd);
+typedef bool (*HPMHOOK_post_login_fromchar_parse_wrong_pincode) (bool retVal___, int *fd);
+typedef void (*HPMHOOK_pre_login_fromchar_parse_accinfo) (int *fd);
+typedef void (*HPMHOOK_post_login_fromchar_parse_accinfo) (int *fd);
+typedef int (*HPMHOOK_pre_login_parse_fromchar) (int *fd);
+typedef int (*HPMHOOK_post_login_parse_fromchar) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_login_kick) (struct login_session_data *sd);
+typedef void (*HPMHOOK_post_login_kick) (struct login_session_data *sd);
+typedef void (*HPMHOOK_pre_login_auth_ok) (struct login_session_data *sd);
+typedef void (*HPMHOOK_post_login_auth_ok) (struct login_session_data *sd);
+typedef void (*HPMHOOK_pre_login_auth_failed) (struct login_session_data *sd, int *result);
+typedef void (*HPMHOOK_post_login_auth_failed) (struct login_session_data *sd, int *result);
+typedef bool (*HPMHOOK_pre_login_client_login) (int *fd, struct login_session_data *sd);
+typedef bool (*HPMHOOK_post_login_client_login) (bool retVal___, int *fd, struct login_session_data *sd);
+typedef void (*HPMHOOK_pre_login_char_server_connection_status) (int *fd, struct login_session_data *sd, uint8 *status);
+typedef void (*HPMHOOK_post_login_char_server_connection_status) (int *fd, struct login_session_data *sd, uint8 *status);
+typedef void (*HPMHOOK_pre_login_parse_request_connection) (int *fd, struct login_session_data *sd, const char *ip, uint32 *ipl);
+typedef void (*HPMHOOK_post_login_parse_request_connection) (int *fd, struct login_session_data *sd, const char *ip, uint32 *ipl);
+typedef void (*HPMHOOK_pre_login_config_set_defaults) (void);
+typedef void (*HPMHOOK_post_login_config_set_defaults) (void);
+typedef int (*HPMHOOK_pre_login_config_read) (const char *cfgName);
+typedef int (*HPMHOOK_post_login_config_read) (int retVal___, const char *cfgName);
+#endif // LOGIN_LOGIN_H
+#ifdef CHAR_LOGINIF_H /* loginif */
+typedef void (*HPMHOOK_pre_loginif_init) (void);
+typedef void (*HPMHOOK_post_loginif_init) (void);
+typedef void (*HPMHOOK_pre_loginif_final) (void);
+typedef void (*HPMHOOK_post_loginif_final) (void);
+typedef void (*HPMHOOK_pre_loginif_reset) (void);
+typedef void (*HPMHOOK_post_loginif_reset) (void);
+typedef void (*HPMHOOK_pre_loginif_check_shutdown) (void);
+typedef void (*HPMHOOK_post_loginif_check_shutdown) (void);
+typedef void (*HPMHOOK_pre_loginif_on_disconnect) (void);
+typedef void (*HPMHOOK_post_loginif_on_disconnect) (void);
+typedef void (*HPMHOOK_pre_loginif_on_ready) (void);
+typedef void (*HPMHOOK_post_loginif_on_ready) (void);
+typedef void (*HPMHOOK_pre_loginif_block_account) (int *account_id, int *flag);
+typedef void (*HPMHOOK_post_loginif_block_account) (int *account_id, int *flag);
+typedef void (*HPMHOOK_pre_loginif_ban_account) (int *account_id, short *year, short *month, short *day, short *hour, short *minute, short *second);
+typedef void (*HPMHOOK_post_loginif_ban_account) (int *account_id, short *year, short *month, short *day, short *hour, short *minute, short *second);
+typedef void (*HPMHOOK_pre_loginif_unban_account) (int *account_id);
+typedef void (*HPMHOOK_post_loginif_unban_account) (int *account_id);
+typedef void (*HPMHOOK_pre_loginif_changesex) (int *account_id);
+typedef void (*HPMHOOK_post_loginif_changesex) (int *account_id);
+typedef void (*HPMHOOK_pre_loginif_auth) (int *fd, struct char_session_data *sd, uint32 *ipl);
+typedef void (*HPMHOOK_post_loginif_auth) (int *fd, struct char_session_data *sd, uint32 *ipl);
+typedef void (*HPMHOOK_pre_loginif_send_users_count) (int *users);
+typedef void (*HPMHOOK_post_loginif_send_users_count) (int *users);
+typedef void (*HPMHOOK_pre_loginif_connect_to_server) (void);
+typedef void (*HPMHOOK_post_loginif_connect_to_server) (void);
+#endif // CHAR_LOGINIF_H
+#ifdef MAP_MAIL_H /* mail */
+typedef void (*HPMHOOK_pre_mail_clear) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_mail_clear) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_mail_removeitem) (struct map_session_data *sd, short *flag);
+typedef int (*HPMHOOK_post_mail_removeitem) (int retVal___, struct map_session_data *sd, short *flag);
+typedef int (*HPMHOOK_pre_mail_removezeny) (struct map_session_data *sd, short *flag);
+typedef int (*HPMHOOK_post_mail_removezeny) (int retVal___, struct map_session_data *sd, short *flag);
+typedef unsigned char (*HPMHOOK_pre_mail_setitem) (struct map_session_data *sd, int *idx, int *amount);
+typedef unsigned char (*HPMHOOK_post_mail_setitem) (unsigned char retVal___, struct map_session_data *sd, int *idx, int *amount);
+typedef bool (*HPMHOOK_pre_mail_setattachment) (struct map_session_data *sd, struct mail_message *msg);
+typedef bool (*HPMHOOK_post_mail_setattachment) (bool retVal___, struct map_session_data *sd, struct mail_message *msg);
+typedef void (*HPMHOOK_pre_mail_getattachment) (struct map_session_data *sd, int *zeny, struct item *item);
+typedef void (*HPMHOOK_post_mail_getattachment) (struct map_session_data *sd, int *zeny, struct item *item);
+typedef int (*HPMHOOK_pre_mail_openmail) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_mail_openmail) (int retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_mail_deliveryfail) (struct map_session_data *sd, struct mail_message *msg);
+typedef void (*HPMHOOK_post_mail_deliveryfail) (struct map_session_data *sd, struct mail_message *msg);
+typedef bool (*HPMHOOK_pre_mail_invalid_operation) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_mail_invalid_operation) (bool retVal___, struct map_session_data *sd);
+#endif // MAP_MAIL_H
+#ifdef COMMON_MEMMGR_H /* iMalloc */
+typedef void (*HPMHOOK_pre_iMalloc_init) (void);
+typedef void (*HPMHOOK_post_iMalloc_init) (void);
+typedef void (*HPMHOOK_pre_iMalloc_final) (void);
+typedef void (*HPMHOOK_post_iMalloc_final) (void);
+typedef void* (*HPMHOOK_pre_iMalloc_malloc) (size_t *size, const char *file, int *line, const char *func);
+typedef void* (*HPMHOOK_post_iMalloc_malloc) (void* retVal___, size_t *size, const char *file, int *line, const char *func);
+typedef void* (*HPMHOOK_pre_iMalloc_calloc) (size_t *num, size_t *size, const char *file, int *line, const char *func);
+typedef void* (*HPMHOOK_post_iMalloc_calloc) (void* retVal___, size_t *num, size_t *size, const char *file, int *line, const char *func);
+typedef void* (*HPMHOOK_pre_iMalloc_realloc) (void *p, size_t *size, const char *file, int *line, const char *func);
+typedef void* (*HPMHOOK_post_iMalloc_realloc) (void* retVal___, void *p, size_t *size, const char *file, int *line, const char *func);
+typedef void* (*HPMHOOK_pre_iMalloc_reallocz) (void *p, size_t *size, const char *file, int *line, const char *func);
+typedef void* (*HPMHOOK_post_iMalloc_reallocz) (void* retVal___, void *p, size_t *size, const char *file, int *line, const char *func);
+typedef char* (*HPMHOOK_pre_iMalloc_astrdup) (const char *p, const char *file, int *line, const char *func);
+typedef char* (*HPMHOOK_post_iMalloc_astrdup) (char* retVal___, const char *p, const char *file, int *line, const char *func);
+typedef char* (*HPMHOOK_pre_iMalloc_astrndup) (const char *p, size_t *size, const char *file, int *line, const char *func);
+typedef char* (*HPMHOOK_post_iMalloc_astrndup) (char* retVal___, const char *p, size_t *size, const char *file, int *line, const char *func);
+typedef void (*HPMHOOK_pre_iMalloc_free) (void *p, const char *file, int *line, const char *func);
+typedef void (*HPMHOOK_post_iMalloc_free) (void *p, const char *file, int *line, const char *func);
+typedef void (*HPMHOOK_pre_iMalloc_memory_check) (void);
+typedef void (*HPMHOOK_post_iMalloc_memory_check) (void);
+typedef bool (*HPMHOOK_pre_iMalloc_verify_ptr) (void *ptr);
+typedef bool (*HPMHOOK_post_iMalloc_verify_ptr) (bool retVal___, void *ptr);
+typedef size_t (*HPMHOOK_pre_iMalloc_usage) (void);
+typedef size_t (*HPMHOOK_post_iMalloc_usage) (size_t retVal___);
+typedef void (*HPMHOOK_pre_iMalloc_post_shutdown) (void);
+typedef void (*HPMHOOK_post_iMalloc_post_shutdown) (void);
+typedef void (*HPMHOOK_pre_iMalloc_init_messages) (void);
+typedef void (*HPMHOOK_post_iMalloc_init_messages) (void);
+#endif // COMMON_MEMMGR_H
+#ifdef MAP_MAP_H /* map */
+typedef void (*HPMHOOK_pre_map_zone_init) (void);
+typedef void (*HPMHOOK_post_map_zone_init) (void);
+typedef void (*HPMHOOK_pre_map_zone_remove) (int *m);
+typedef void (*HPMHOOK_post_map_zone_remove) (int *m);
+typedef void (*HPMHOOK_pre_map_zone_apply) (int *m, struct map_zone_data *zone, const char *start, const char *buffer, const char *filepath);
+typedef void (*HPMHOOK_post_map_zone_apply) (int *m, struct map_zone_data *zone, const char *start, const char *buffer, const char *filepath);
+typedef void (*HPMHOOK_pre_map_zone_change) (int *m, struct map_zone_data *zone, const char *start, const char *buffer, const char *filepath);
+typedef void (*HPMHOOK_post_map_zone_change) (int *m, struct map_zone_data *zone, const char *start, const char *buffer, const char *filepath);
+typedef void (*HPMHOOK_pre_map_zone_change2) (int *m, struct map_zone_data *zone);
+typedef void (*HPMHOOK_post_map_zone_change2) (int *m, struct map_zone_data *zone);
+typedef int (*HPMHOOK_pre_map_getcell) (int16 *m, const struct block_list *bl, int16 *x, int16 *y, cell_chk *cellchk);
+typedef int (*HPMHOOK_post_map_getcell) (int retVal___, int16 *m, const struct block_list *bl, int16 *x, int16 *y, cell_chk *cellchk);
+typedef void (*HPMHOOK_pre_map_setgatcell) (int16 *m, int16 *x, int16 *y, int *gat);
+typedef void (*HPMHOOK_post_map_setgatcell) (int16 *m, int16 *x, int16 *y, int *gat);
+typedef void (*HPMHOOK_pre_map_cellfromcache) (struct map_data *m);
+typedef void (*HPMHOOK_post_map_cellfromcache) (struct map_data *m);
+typedef void (*HPMHOOK_pre_map_setusers) (int *p1);
+typedef void (*HPMHOOK_post_map_setusers) (int *p1);
+typedef int (*HPMHOOK_pre_map_getusers) (void);
+typedef int (*HPMHOOK_post_map_getusers) (int retVal___);
+typedef int (*HPMHOOK_pre_map_usercount) (void);
+typedef int (*HPMHOOK_post_map_usercount) (int retVal___);
+typedef int (*HPMHOOK_pre_map_freeblock) (struct block_list *bl);
+typedef int (*HPMHOOK_post_map_freeblock) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_map_freeblock_lock) (void);
+typedef int (*HPMHOOK_post_map_freeblock_lock) (int retVal___);
+typedef int (*HPMHOOK_pre_map_freeblock_unlock) (void);
+typedef int (*HPMHOOK_post_map_freeblock_unlock) (int retVal___);
+typedef int (*HPMHOOK_pre_map_addblock) (struct block_list *bl);
+typedef int (*HPMHOOK_post_map_addblock) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_map_delblock) (struct block_list *bl);
+typedef int (*HPMHOOK_post_map_delblock) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_map_moveblock) (struct block_list *bl, int *x1, int *y1, int64 *tick);
+typedef int (*HPMHOOK_post_map_moveblock) (int retVal___, struct block_list *bl, int *x1, int *y1, int64 *tick);
+typedef int (*HPMHOOK_pre_map_count_oncell) (int16 *m, int16 *x, int16 *y, int *type, int *flag);
+typedef int (*HPMHOOK_post_map_count_oncell) (int retVal___, int16 *m, int16 *x, int16 *y, int *type, int *flag);
+typedef struct skill_unit* (*HPMHOOK_pre_map_find_skill_unit_oncell) (struct block_list *target, int16 *x, int16 *y, uint16 *skill_id, struct skill_unit *out_unit, int *flag);
+typedef struct skill_unit* (*HPMHOOK_post_map_find_skill_unit_oncell) (struct skill_unit* retVal___, struct block_list *target, int16 *x, int16 *y, uint16 *skill_id, struct skill_unit *out_unit, int *flag);
+typedef int (*HPMHOOK_pre_map_get_new_object_id) (void);
+typedef int (*HPMHOOK_post_map_get_new_object_id) (int retVal___);
+typedef int (*HPMHOOK_pre_map_search_freecell) (struct block_list *src, int16 *m, int16 *x, int16 *y, int16 *rx, int16 *ry, int *flag);
+typedef int (*HPMHOOK_post_map_search_freecell) (int retVal___, struct block_list *src, int16 *m, int16 *x, int16 *y, int16 *rx, int16 *ry, int *flag);
+typedef bool (*HPMHOOK_pre_map_closest_freecell) (int16 *m, const struct block_list *bl, int16 *x, int16 *y, int *type, int *flag);
+typedef bool (*HPMHOOK_post_map_closest_freecell) (bool retVal___, int16 *m, const struct block_list *bl, int16 *x, int16 *y, int *type, int *flag);
+typedef int (*HPMHOOK_pre_map_quit) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_map_quit) (int retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_map_addnpc) (int16 *m, struct npc_data *nd);
+typedef bool (*HPMHOOK_post_map_addnpc) (bool retVal___, int16 *m, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_map_clearflooritem_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_map_clearflooritem_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_map_removemobs_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_map_removemobs_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_map_clearflooritem) (struct block_list *bl);
+typedef void (*HPMHOOK_post_map_clearflooritem) (struct block_list *bl);
+typedef int (*HPMHOOK_pre_map_addflooritem) (const struct block_list *bl, struct item *item_data, int *amount, int16 *m, int16 *x, int16 *y, int *first_charid, int *second_charid, int *third_charid, int *flags);
+typedef int (*HPMHOOK_post_map_addflooritem) (int retVal___, const struct block_list *bl, struct item *item_data, int *amount, int16 *m, int16 *x, int16 *y, int *first_charid, int *second_charid, int *third_charid, int *flags);
+typedef void (*HPMHOOK_pre_map_addnickdb) (int *charid, const char *nick);
+typedef void (*HPMHOOK_post_map_addnickdb) (int *charid, const char *nick);
+typedef void (*HPMHOOK_pre_map_delnickdb) (int *charid, const char *nick);
+typedef void (*HPMHOOK_post_map_delnickdb) (int *charid, const char *nick);
+typedef void (*HPMHOOK_pre_map_reqnickdb) (struct map_session_data *sd, int *charid);
+typedef void (*HPMHOOK_post_map_reqnickdb) (struct map_session_data *sd, int *charid);
+typedef const char* (*HPMHOOK_pre_map_charid2nick) (int *charid);
+typedef const char* (*HPMHOOK_post_map_charid2nick) (const char* retVal___, int *charid);
+typedef struct map_session_data* (*HPMHOOK_pre_map_charid2sd) (int *charid);
+typedef struct map_session_data* (*HPMHOOK_post_map_charid2sd) (struct map_session_data* retVal___, int *charid);
+typedef void (*HPMHOOK_pre_map_vforeachpc) (int ( *func ) (struct map_session_data *sd, va_list args), va_list args);
+typedef void (*HPMHOOK_post_map_vforeachpc) (int ( *func ) (struct map_session_data *sd, va_list args), va_list args);
+typedef void (*HPMHOOK_pre_map_vforeachmob) (int ( *func ) (struct mob_data *md, va_list args), va_list args);
+typedef void (*HPMHOOK_post_map_vforeachmob) (int ( *func ) (struct mob_data *md, va_list args), va_list args);
+typedef void (*HPMHOOK_pre_map_vforeachnpc) (int ( *func ) (struct npc_data *nd, va_list args), va_list args);
+typedef void (*HPMHOOK_post_map_vforeachnpc) (int ( *func ) (struct npc_data *nd, va_list args), va_list args);
+typedef void (*HPMHOOK_pre_map_vforeachregen) (int ( *func ) (struct block_list *bl, va_list args), va_list args);
+typedef void (*HPMHOOK_post_map_vforeachregen) (int ( *func ) (struct block_list *bl, va_list args), va_list args);
+typedef void (*HPMHOOK_pre_map_vforeachiddb) (int ( *func ) (struct block_list *bl, va_list args), va_list args);
+typedef void (*HPMHOOK_post_map_vforeachiddb) (int ( *func ) (struct block_list *bl, va_list args), va_list args);
+typedef int (*HPMHOOK_pre_map_vforeachinrange) (int ( *func ) (struct block_list *, va_list), struct block_list *center, int16 *range, int *type, va_list ap);
+typedef int (*HPMHOOK_post_map_vforeachinrange) (int retVal___, int ( *func ) (struct block_list *, va_list), struct block_list *center, int16 *range, int *type, va_list ap);
+typedef int (*HPMHOOK_pre_map_vforeachinshootrange) (int ( *func ) (struct block_list *, va_list), struct block_list *center, int16 *range, int *type, va_list ap);
+typedef int (*HPMHOOK_post_map_vforeachinshootrange) (int retVal___, int ( *func ) (struct block_list *, va_list), struct block_list *center, int16 *range, int *type, va_list ap);
+typedef int (*HPMHOOK_pre_map_vforeachinarea) (int ( *func ) (struct block_list *, va_list), int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, int *type, va_list ap);
+typedef int (*HPMHOOK_post_map_vforeachinarea) (int retVal___, int ( *func ) (struct block_list *, va_list), int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, int *type, va_list ap);
+typedef int (*HPMHOOK_pre_map_vforcountinrange) (int ( *func ) (struct block_list *, va_list), struct block_list *center, int16 *range, int *count, int *type, va_list ap);
+typedef int (*HPMHOOK_post_map_vforcountinrange) (int retVal___, int ( *func ) (struct block_list *, va_list), struct block_list *center, int16 *range, int *count, int *type, va_list ap);
+typedef int (*HPMHOOK_pre_map_vforcountinarea) (int ( *func ) (struct block_list *, va_list), int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, int *count, int *type, va_list ap);
+typedef int (*HPMHOOK_post_map_vforcountinarea) (int retVal___, int ( *func ) (struct block_list *, va_list), int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, int *count, int *type, va_list ap);
+typedef int (*HPMHOOK_pre_map_vforeachinmovearea) (int ( *func ) (struct block_list *, va_list), struct block_list *center, int16 *range, int16 *dx, int16 *dy, int *type, va_list ap);
+typedef int (*HPMHOOK_post_map_vforeachinmovearea) (int retVal___, int ( *func ) (struct block_list *, va_list), struct block_list *center, int16 *range, int16 *dx, int16 *dy, int *type, va_list ap);
+typedef int (*HPMHOOK_pre_map_vforeachincell) (int ( *func ) (struct block_list *, va_list), int16 *m, int16 *x, int16 *y, int *type, va_list ap);
+typedef int (*HPMHOOK_post_map_vforeachincell) (int retVal___, int ( *func ) (struct block_list *, va_list), int16 *m, int16 *x, int16 *y, int *type, va_list ap);
+typedef int (*HPMHOOK_pre_map_vforeachinpath) (int ( *func ) (struct block_list *, va_list), int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, int16 *range, int *length, int *type, va_list ap);
+typedef int (*HPMHOOK_post_map_vforeachinpath) (int retVal___, int ( *func ) (struct block_list *, va_list), int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, int16 *range, int *length, int *type, va_list ap);
+typedef int (*HPMHOOK_pre_map_vforeachinmap) (int ( *func ) (struct block_list *, va_list), int16 *m, int *type, va_list args);
+typedef int (*HPMHOOK_post_map_vforeachinmap) (int retVal___, int ( *func ) (struct block_list *, va_list), int16 *m, int *type, va_list args);
+typedef int (*HPMHOOK_pre_map_vforeachininstance) (int ( *func ) (struct block_list *, va_list), int16 *instance_id, int *type, va_list ap);
+typedef int (*HPMHOOK_post_map_vforeachininstance) (int retVal___, int ( *func ) (struct block_list *, va_list), int16 *instance_id, int *type, va_list ap);
+typedef struct map_session_data* (*HPMHOOK_pre_map_id2sd) (int *id);
+typedef struct map_session_data* (*HPMHOOK_post_map_id2sd) (struct map_session_data* retVal___, int *id);
+typedef struct npc_data* (*HPMHOOK_pre_map_id2nd) (int *id);
+typedef struct npc_data* (*HPMHOOK_post_map_id2nd) (struct npc_data* retVal___, int *id);
+typedef struct mob_data* (*HPMHOOK_pre_map_id2md) (int *id);
+typedef struct mob_data* (*HPMHOOK_post_map_id2md) (struct mob_data* retVal___, int *id);
+typedef struct flooritem_data* (*HPMHOOK_pre_map_id2fi) (int *id);
+typedef struct flooritem_data* (*HPMHOOK_post_map_id2fi) (struct flooritem_data* retVal___, int *id);
+typedef struct chat_data* (*HPMHOOK_pre_map_id2cd) (int *id);
+typedef struct chat_data* (*HPMHOOK_post_map_id2cd) (struct chat_data* retVal___, int *id);
+typedef struct skill_unit* (*HPMHOOK_pre_map_id2su) (int *id);
+typedef struct skill_unit* (*HPMHOOK_post_map_id2su) (struct skill_unit* retVal___, int *id);
+typedef struct pet_data* (*HPMHOOK_pre_map_id2pd) (int *id);
+typedef struct pet_data* (*HPMHOOK_post_map_id2pd) (struct pet_data* retVal___, int *id);
+typedef struct homun_data* (*HPMHOOK_pre_map_id2hd) (int *id);
+typedef struct homun_data* (*HPMHOOK_post_map_id2hd) (struct homun_data* retVal___, int *id);
+typedef struct mercenary_data* (*HPMHOOK_pre_map_id2mc) (int *id);
+typedef struct mercenary_data* (*HPMHOOK_post_map_id2mc) (struct mercenary_data* retVal___, int *id);
+typedef struct elemental_data* (*HPMHOOK_pre_map_id2ed) (int *id);
+typedef struct elemental_data* (*HPMHOOK_post_map_id2ed) (struct elemental_data* retVal___, int *id);
+typedef struct block_list* (*HPMHOOK_pre_map_id2bl) (int *id);
+typedef struct block_list* (*HPMHOOK_post_map_id2bl) (struct block_list* retVal___, int *id);
+typedef bool (*HPMHOOK_pre_map_blid_exists) (int *id);
+typedef bool (*HPMHOOK_post_map_blid_exists) (bool retVal___, int *id);
+typedef int16 (*HPMHOOK_pre_map_mapindex2mapid) (unsigned short *map_index);
+typedef int16 (*HPMHOOK_post_map_mapindex2mapid) (int16 retVal___, unsigned short *map_index);
+typedef int16 (*HPMHOOK_pre_map_mapname2mapid) (const char *name);
+typedef int16 (*HPMHOOK_post_map_mapname2mapid) (int16 retVal___, const char *name);
+typedef int (*HPMHOOK_pre_map_mapname2ipport) (unsigned short *name, uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_post_map_mapname2ipport) (int retVal___, unsigned short *name, uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_pre_map_setipport) (unsigned short *map_index, uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_post_map_setipport) (int retVal___, unsigned short *map_index, uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_pre_map_eraseipport) (unsigned short *map_index, uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_post_map_eraseipport) (int retVal___, unsigned short *map_index, uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_pre_map_eraseallipport) (void);
+typedef int (*HPMHOOK_post_map_eraseallipport) (int retVal___);
+typedef void (*HPMHOOK_pre_map_addiddb) (struct block_list *bl);
+typedef void (*HPMHOOK_post_map_addiddb) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_map_deliddb) (struct block_list *bl);
+typedef void (*HPMHOOK_post_map_deliddb) (struct block_list *bl);
+typedef struct map_session_data* (*HPMHOOK_pre_map_nick2sd) (const char *nick);
+typedef struct map_session_data* (*HPMHOOK_post_map_nick2sd) (struct map_session_data* retVal___, const char *nick);
+typedef struct mob_data* (*HPMHOOK_pre_map_getmob_boss) (int16 *m);
+typedef struct mob_data* (*HPMHOOK_post_map_getmob_boss) (struct mob_data* retVal___, int16 *m);
+typedef struct mob_data* (*HPMHOOK_pre_map_id2boss) (int *id);
+typedef struct mob_data* (*HPMHOOK_post_map_id2boss) (struct mob_data* retVal___, int *id);
+typedef uint32 (*HPMHOOK_pre_map_race_id2mask) (int *race);
+typedef uint32 (*HPMHOOK_post_map_race_id2mask) (uint32 retVal___, int *race);
+typedef void (*HPMHOOK_pre_map_reloadnpc) (bool *clear);
+typedef void (*HPMHOOK_post_map_reloadnpc) (bool *clear);
+typedef int (*HPMHOOK_pre_map_check_dir) (int *s_dir, int *t_dir);
+typedef int (*HPMHOOK_post_map_check_dir) (int retVal___, int *s_dir, int *t_dir);
+typedef uint8 (*HPMHOOK_pre_map_calc_dir) (struct block_list *src, int16 *x, int16 *y);
+typedef uint8 (*HPMHOOK_post_map_calc_dir) (uint8 retVal___, struct block_list *src, int16 *x, int16 *y);
+typedef int (*HPMHOOK_pre_map_random_dir) (struct block_list *bl, short *x, short *y);
+typedef int (*HPMHOOK_post_map_random_dir) (int retVal___, struct block_list *bl, short *x, short *y);
+typedef int (*HPMHOOK_pre_map_cleanup_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_map_cleanup_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_map_delmap) (char *mapname);
+typedef int (*HPMHOOK_post_map_delmap) (int retVal___, char *mapname);
+typedef void (*HPMHOOK_pre_map_flags_init) (void);
+typedef void (*HPMHOOK_post_map_flags_init) (void);
+typedef bool (*HPMHOOK_pre_map_iwall_set) (int16 *m, int16 *x, int16 *y, int *size, int8 *dir, bool *shootable, const char *wall_name);
+typedef bool (*HPMHOOK_post_map_iwall_set) (bool retVal___, int16 *m, int16 *x, int16 *y, int *size, int8 *dir, bool *shootable, const char *wall_name);
+typedef void (*HPMHOOK_pre_map_iwall_get) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_map_iwall_get) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_map_iwall_remove) (const char *wall_name);
+typedef void (*HPMHOOK_post_map_iwall_remove) (const char *wall_name);
+typedef int (*HPMHOOK_pre_map_addmobtolist) (unsigned short *m, struct spawn_data *spawn);
+typedef int (*HPMHOOK_post_map_addmobtolist) (int retVal___, unsigned short *m, struct spawn_data *spawn);
+typedef void (*HPMHOOK_pre_map_spawnmobs) (int16 *m);
+typedef void (*HPMHOOK_post_map_spawnmobs) (int16 *m);
+typedef void (*HPMHOOK_pre_map_removemobs) (int16 *m);
+typedef void (*HPMHOOK_post_map_removemobs) (int16 *m);
+typedef void (*HPMHOOK_pre_map_addmap2db) (struct map_data *m);
+typedef void (*HPMHOOK_post_map_addmap2db) (struct map_data *m);
+typedef void (*HPMHOOK_pre_map_removemapdb) (struct map_data *m);
+typedef void (*HPMHOOK_post_map_removemapdb) (struct map_data *m);
+typedef void (*HPMHOOK_pre_map_clean) (int *i);
+typedef void (*HPMHOOK_post_map_clean) (int *i);
+typedef void (*HPMHOOK_pre_map_do_shutdown) (void);
+typedef void (*HPMHOOK_post_map_do_shutdown) (void);
+typedef int (*HPMHOOK_pre_map_freeblock_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_map_freeblock_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_map_searchrandfreecell) (int16 *m, const struct block_list *bl, int16 *x, int16 *y, int *stack);
+typedef int (*HPMHOOK_post_map_searchrandfreecell) (int retVal___, int16 *m, const struct block_list *bl, int16 *x, int16 *y, int *stack);
+typedef int (*HPMHOOK_pre_map_count_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_map_count_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef struct DBData (*HPMHOOK_pre_map_create_charid2nick) (union DBKey *key, va_list args);
+typedef struct DBData (*HPMHOOK_post_map_create_charid2nick) (struct DBData retVal___, union DBKey *key, va_list args);
+typedef int (*HPMHOOK_pre_map_removemobs_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_map_removemobs_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef struct mapcell (*HPMHOOK_pre_map_gat2cell) (int *gat);
+typedef struct mapcell (*HPMHOOK_post_map_gat2cell) (struct mapcell retVal___, int *gat);
+typedef int (*HPMHOOK_pre_map_cell2gat) (struct mapcell *cell);
+typedef int (*HPMHOOK_post_map_cell2gat) (int retVal___, struct mapcell *cell);
+typedef int (*HPMHOOK_pre_map_getcellp) (struct map_data *m, const struct block_list *bl, int16 *x, int16 *y, cell_chk *cellchk);
+typedef int (*HPMHOOK_post_map_getcellp) (int retVal___, struct map_data *m, const struct block_list *bl, int16 *x, int16 *y, cell_chk *cellchk);
+typedef void (*HPMHOOK_pre_map_setcell) (int16 *m, int16 *x, int16 *y, cell_t *cell, bool *flag);
+typedef void (*HPMHOOK_post_map_setcell) (int16 *m, int16 *x, int16 *y, cell_t *cell, bool *flag);
+typedef int (*HPMHOOK_pre_map_sub_getcellp) (struct map_data *m, const struct block_list *bl, int16 *x, int16 *y, cell_chk *cellchk);
+typedef int (*HPMHOOK_post_map_sub_getcellp) (int retVal___, struct map_data *m, const struct block_list *bl, int16 *x, int16 *y, cell_chk *cellchk);
+typedef void (*HPMHOOK_pre_map_sub_setcell) (int16 *m, int16 *x, int16 *y, cell_t *cell, bool *flag);
+typedef void (*HPMHOOK_post_map_sub_setcell) (int16 *m, int16 *x, int16 *y, cell_t *cell, bool *flag);
+typedef void (*HPMHOOK_pre_map_iwall_nextxy) (int16 *x, int16 *y, int8 *dir, int *pos, int16 *x1, int16 *y1);
+typedef void (*HPMHOOK_post_map_iwall_nextxy) (int16 *x, int16 *y, int8 *dir, int *pos, int16 *x1, int16 *y1);
+typedef struct DBData (*HPMHOOK_pre_map_create_map_data_other_server) (union DBKey *key, va_list args);
+typedef struct DBData (*HPMHOOK_post_map_create_map_data_other_server) (struct DBData retVal___, union DBKey *key, va_list args);
+typedef int (*HPMHOOK_pre_map_eraseallipport_sub) (union DBKey *key, struct DBData *data, va_list va);
+typedef int (*HPMHOOK_post_map_eraseallipport_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list va);
+typedef char* (*HPMHOOK_pre_map_init_mapcache) (FILE *fp);
+typedef char* (*HPMHOOK_post_map_init_mapcache) (char* retVal___, FILE *fp);
+typedef int (*HPMHOOK_pre_map_readfromcache) (struct map_data *m, char *buffer);
+typedef int (*HPMHOOK_post_map_readfromcache) (int retVal___, struct map_data *m, char *buffer);
+typedef int (*HPMHOOK_pre_map_addmap) (const char *mapname);
+typedef int (*HPMHOOK_post_map_addmap) (int retVal___, const char *mapname);
+typedef void (*HPMHOOK_pre_map_delmapid) (int *id);
+typedef void (*HPMHOOK_post_map_delmapid) (int *id);
+typedef void (*HPMHOOK_pre_map_zone_db_clear) (void);
+typedef void (*HPMHOOK_post_map_zone_db_clear) (void);
+typedef void (*HPMHOOK_pre_map_list_final) (void);
+typedef void (*HPMHOOK_post_map_list_final) (void);
+typedef int (*HPMHOOK_pre_map_waterheight) (char *mapname);
+typedef int (*HPMHOOK_post_map_waterheight) (int retVal___, char *mapname);
+typedef int (*HPMHOOK_pre_map_readgat) (struct map_data *m);
+typedef int (*HPMHOOK_post_map_readgat) (int retVal___, struct map_data *m);
+typedef int (*HPMHOOK_pre_map_readallmaps) (void);
+typedef int (*HPMHOOK_post_map_readallmaps) (int retVal___);
+typedef int (*HPMHOOK_pre_map_config_read) (char *cfgName);
+typedef int (*HPMHOOK_post_map_config_read) (int retVal___, char *cfgName);
+typedef int (*HPMHOOK_pre_map_config_read_sub) (char *cfgName);
+typedef int (*HPMHOOK_post_map_config_read_sub) (int retVal___, char *cfgName);
+typedef void (*HPMHOOK_pre_map_reloadnpc_sub) (char *cfgName);
+typedef void (*HPMHOOK_post_map_reloadnpc_sub) (char *cfgName);
+typedef int (*HPMHOOK_pre_map_inter_config_read) (char *cfgName);
+typedef int (*HPMHOOK_post_map_inter_config_read) (int retVal___, char *cfgName);
+typedef int (*HPMHOOK_pre_map_sql_init) (void);
+typedef int (*HPMHOOK_post_map_sql_init) (int retVal___);
+typedef int (*HPMHOOK_pre_map_sql_close) (void);
+typedef int (*HPMHOOK_post_map_sql_close) (int retVal___);
+typedef bool (*HPMHOOK_pre_map_zone_mf_cache) (int *m, char *flag, char *params);
+typedef bool (*HPMHOOK_post_map_zone_mf_cache) (bool retVal___, int *m, char *flag, char *params);
+typedef unsigned short (*HPMHOOK_pre_map_zone_str2itemid) (const char *name);
+typedef unsigned short (*HPMHOOK_post_map_zone_str2itemid) (unsigned short retVal___, const char *name);
+typedef unsigned short (*HPMHOOK_pre_map_zone_str2skillid) (const char *name);
+typedef unsigned short (*HPMHOOK_post_map_zone_str2skillid) (unsigned short retVal___, const char *name);
+typedef enum bl_type (*HPMHOOK_pre_map_zone_bl_type) (const char *entry, enum map_zone_skill_subtype *subtype);
+typedef enum bl_type (*HPMHOOK_post_map_zone_bl_type) (enum bl_type retVal___, const char *entry, enum map_zone_skill_subtype *subtype);
+typedef void (*HPMHOOK_pre_map_read_zone_db) (void);
+typedef void (*HPMHOOK_post_map_read_zone_db) (void);
+typedef int (*HPMHOOK_pre_map_db_final) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_map_db_final) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_map_nick_db_final) (union DBKey *key, struct DBData *data, va_list args);
+typedef int (*HPMHOOK_post_map_nick_db_final) (int retVal___, union DBKey *key, struct DBData *data, va_list args);
+typedef int (*HPMHOOK_pre_map_cleanup_db_sub) (union DBKey *key, struct DBData *data, va_list va);
+typedef int (*HPMHOOK_post_map_cleanup_db_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list va);
+typedef int (*HPMHOOK_pre_map_abort_sub) (struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_post_map_abort_sub) (int retVal___, struct map_session_data *sd, va_list ap);
+typedef void (*HPMHOOK_pre_map_update_cell_bl) (struct block_list *bl, bool *increase);
+typedef void (*HPMHOOK_post_map_update_cell_bl) (struct block_list *bl, bool *increase);
+typedef int (*HPMHOOK_pre_map_get_new_bonus_id) (void);
+typedef int (*HPMHOOK_post_map_get_new_bonus_id) (int retVal___);
+typedef void (*HPMHOOK_pre_map_add_questinfo) (int *m, struct questinfo *qi);
+typedef void (*HPMHOOK_post_map_add_questinfo) (int *m, struct questinfo *qi);
+typedef bool (*HPMHOOK_pre_map_remove_questinfo) (int *m, struct npc_data *nd);
+typedef bool (*HPMHOOK_post_map_remove_questinfo) (bool retVal___, int *m, struct npc_data *nd);
+typedef struct map_zone_data* (*HPMHOOK_pre_map_merge_zone) (struct map_zone_data *main, struct map_zone_data *other);
+typedef struct map_zone_data* (*HPMHOOK_post_map_merge_zone) (struct map_zone_data* retVal___, struct map_zone_data *main, struct map_zone_data *other);
+typedef void (*HPMHOOK_pre_map_zone_clear_single) (struct map_zone_data *zone);
+typedef void (*HPMHOOK_post_map_zone_clear_single) (struct map_zone_data *zone);
+#endif // MAP_MAP_H
+#ifdef CHAR_MAPIF_H /* mapif */
+typedef void (*HPMHOOK_pre_mapif_ban) (int *id, unsigned int *flag, int *status);
+typedef void (*HPMHOOK_post_mapif_ban) (int *id, unsigned int *flag, int *status);
+typedef void (*HPMHOOK_pre_mapif_server_init) (int *id);
+typedef void (*HPMHOOK_post_mapif_server_init) (int *id);
+typedef void (*HPMHOOK_pre_mapif_server_destroy) (int *id);
+typedef void (*HPMHOOK_post_mapif_server_destroy) (int *id);
+typedef void (*HPMHOOK_pre_mapif_server_reset) (int *id);
+typedef void (*HPMHOOK_post_mapif_server_reset) (int *id);
+typedef void (*HPMHOOK_pre_mapif_on_disconnect) (int *id);
+typedef void (*HPMHOOK_post_mapif_on_disconnect) (int *id);
+typedef void (*HPMHOOK_pre_mapif_on_parse_accinfo) (int *account_id, int *u_fd, int *u_aid, int *u_group, int *map_fd);
+typedef void (*HPMHOOK_post_mapif_on_parse_accinfo) (int *account_id, int *u_fd, int *u_aid, int *u_group, int *map_fd);
+typedef void (*HPMHOOK_pre_mapif_char_ban) (int *char_id, time_t *timestamp);
+typedef void (*HPMHOOK_post_mapif_char_ban) (int *char_id, time_t *timestamp);
+typedef int (*HPMHOOK_pre_mapif_sendall) (const unsigned char *buf, unsigned int *len);
+typedef int (*HPMHOOK_post_mapif_sendall) (int retVal___, const unsigned char *buf, unsigned int *len);
+typedef int (*HPMHOOK_pre_mapif_sendallwos) (int *sfd, unsigned char *buf, unsigned int *len);
+typedef int (*HPMHOOK_post_mapif_sendallwos) (int retVal___, int *sfd, unsigned char *buf, unsigned int *len);
+typedef int (*HPMHOOK_pre_mapif_send) (int *fd, unsigned char *buf, unsigned int *len);
+typedef int (*HPMHOOK_post_mapif_send) (int retVal___, int *fd, unsigned char *buf, unsigned int *len);
+typedef void (*HPMHOOK_pre_mapif_send_users_count) (int *users);
+typedef void (*HPMHOOK_post_mapif_send_users_count) (int *users);
+typedef void (*HPMHOOK_pre_mapif_auction_message) (int *char_id, unsigned char *result);
+typedef void (*HPMHOOK_post_mapif_auction_message) (int *char_id, unsigned char *result);
+typedef void (*HPMHOOK_pre_mapif_auction_sendlist) (int *fd, int *char_id, short *count, short *pages, unsigned char *buf);
+typedef void (*HPMHOOK_post_mapif_auction_sendlist) (int *fd, int *char_id, short *count, short *pages, unsigned char *buf);
+typedef void (*HPMHOOK_pre_mapif_parse_auction_requestlist) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_auction_requestlist) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_auction_register) (int *fd, struct auction_data *auction);
+typedef void (*HPMHOOK_post_mapif_auction_register) (int *fd, struct auction_data *auction);
+typedef void (*HPMHOOK_pre_mapif_parse_auction_register) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_auction_register) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_auction_cancel) (int *fd, int *char_id, unsigned char *result);
+typedef void (*HPMHOOK_post_mapif_auction_cancel) (int *fd, int *char_id, unsigned char *result);
+typedef void (*HPMHOOK_pre_mapif_parse_auction_cancel) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_auction_cancel) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_auction_close) (int *fd, int *char_id, unsigned char *result);
+typedef void (*HPMHOOK_post_mapif_auction_close) (int *fd, int *char_id, unsigned char *result);
+typedef void (*HPMHOOK_pre_mapif_parse_auction_close) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_auction_close) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_auction_bid) (int *fd, int *char_id, int *bid, unsigned char *result);
+typedef void (*HPMHOOK_post_mapif_auction_bid) (int *fd, int *char_id, int *bid, unsigned char *result);
+typedef void (*HPMHOOK_pre_mapif_parse_auction_bid) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_auction_bid) (int *fd);
+typedef bool (*HPMHOOK_pre_mapif_elemental_create) (struct s_elemental *ele);
+typedef bool (*HPMHOOK_post_mapif_elemental_create) (bool retVal___, struct s_elemental *ele);
+typedef bool (*HPMHOOK_pre_mapif_elemental_save) (const struct s_elemental *ele);
+typedef bool (*HPMHOOK_post_mapif_elemental_save) (bool retVal___, const struct s_elemental *ele);
+typedef bool (*HPMHOOK_pre_mapif_elemental_load) (int *ele_id, int *char_id, struct s_elemental *ele);
+typedef bool (*HPMHOOK_post_mapif_elemental_load) (bool retVal___, int *ele_id, int *char_id, struct s_elemental *ele);
+typedef bool (*HPMHOOK_pre_mapif_elemental_delete) (int *ele_id);
+typedef bool (*HPMHOOK_post_mapif_elemental_delete) (bool retVal___, int *ele_id);
+typedef void (*HPMHOOK_pre_mapif_elemental_send) (int *fd, struct s_elemental *ele, unsigned char *flag);
+typedef void (*HPMHOOK_post_mapif_elemental_send) (int *fd, struct s_elemental *ele, unsigned char *flag);
+typedef void (*HPMHOOK_pre_mapif_parse_elemental_create) (int *fd, const struct s_elemental *ele);
+typedef void (*HPMHOOK_post_mapif_parse_elemental_create) (int *fd, const struct s_elemental *ele);
+typedef void (*HPMHOOK_pre_mapif_parse_elemental_load) (int *fd, int *ele_id, int *char_id);
+typedef void (*HPMHOOK_post_mapif_parse_elemental_load) (int *fd, int *ele_id, int *char_id);
+typedef void (*HPMHOOK_pre_mapif_elemental_deleted) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_post_mapif_elemental_deleted) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_pre_mapif_parse_elemental_delete) (int *fd, int *ele_id);
+typedef void (*HPMHOOK_post_mapif_parse_elemental_delete) (int *fd, int *ele_id);
+typedef void (*HPMHOOK_pre_mapif_elemental_saved) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_post_mapif_elemental_saved) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_pre_mapif_parse_elemental_save) (int *fd, const struct s_elemental *ele);
+typedef void (*HPMHOOK_post_mapif_parse_elemental_save) (int *fd, const struct s_elemental *ele);
+typedef int (*HPMHOOK_pre_mapif_guild_created) (int *fd, int *account_id, struct guild *g);
+typedef int (*HPMHOOK_post_mapif_guild_created) (int retVal___, int *fd, int *account_id, struct guild *g);
+typedef int (*HPMHOOK_pre_mapif_guild_noinfo) (int *fd, int *guild_id);
+typedef int (*HPMHOOK_post_mapif_guild_noinfo) (int retVal___, int *fd, int *guild_id);
+typedef int (*HPMHOOK_pre_mapif_guild_info) (int *fd, struct guild *g);
+typedef int (*HPMHOOK_post_mapif_guild_info) (int retVal___, int *fd, struct guild *g);
+typedef int (*HPMHOOK_pre_mapif_guild_memberadded) (int *fd, int *guild_id, int *account_id, int *char_id, int *flag);
+typedef int (*HPMHOOK_post_mapif_guild_memberadded) (int retVal___, int *fd, int *guild_id, int *account_id, int *char_id, int *flag);
+typedef int (*HPMHOOK_pre_mapif_guild_withdraw) (int *guild_id, int *account_id, int *char_id, int *flag, const char *name, const char *mes);
+typedef int (*HPMHOOK_post_mapif_guild_withdraw) (int retVal___, int *guild_id, int *account_id, int *char_id, int *flag, const char *name, const char *mes);
+typedef int (*HPMHOOK_pre_mapif_guild_memberinfoshort) (struct guild *g, int *idx);
+typedef int (*HPMHOOK_post_mapif_guild_memberinfoshort) (int retVal___, struct guild *g, int *idx);
+typedef int (*HPMHOOK_pre_mapif_guild_broken) (int *guild_id, int *flag);
+typedef int (*HPMHOOK_post_mapif_guild_broken) (int retVal___, int *guild_id, int *flag);
+typedef int (*HPMHOOK_pre_mapif_guild_message) (int *guild_id, int *account_id, const char *mes, int *len, int *sfd);
+typedef int (*HPMHOOK_post_mapif_guild_message) (int retVal___, int *guild_id, int *account_id, const char *mes, int *len, int *sfd);
+typedef int (*HPMHOOK_pre_mapif_guild_basicinfochanged) (int *guild_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_post_mapif_guild_basicinfochanged) (int retVal___, int *guild_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_pre_mapif_guild_memberinfochanged) (int *guild_id, int *account_id, int *char_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_post_mapif_guild_memberinfochanged) (int retVal___, int *guild_id, int *account_id, int *char_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_pre_mapif_guild_skillupack) (int *guild_id, uint16 *skill_id, int *account_id);
+typedef int (*HPMHOOK_post_mapif_guild_skillupack) (int retVal___, int *guild_id, uint16 *skill_id, int *account_id);
+typedef int (*HPMHOOK_pre_mapif_guild_alliance) (int *guild_id1, int *guild_id2, int *account_id1, int *account_id2, int *flag, const char *name1, const char *name2);
+typedef int (*HPMHOOK_post_mapif_guild_alliance) (int retVal___, int *guild_id1, int *guild_id2, int *account_id1, int *account_id2, int *flag, const char *name1, const char *name2);
+typedef int (*HPMHOOK_pre_mapif_guild_position) (struct guild *g, int *idx);
+typedef int (*HPMHOOK_post_mapif_guild_position) (int retVal___, struct guild *g, int *idx);
+typedef int (*HPMHOOK_pre_mapif_guild_notice) (struct guild *g);
+typedef int (*HPMHOOK_post_mapif_guild_notice) (int retVal___, struct guild *g);
+typedef int (*HPMHOOK_pre_mapif_guild_emblem) (struct guild *g);
+typedef int (*HPMHOOK_post_mapif_guild_emblem) (int retVal___, struct guild *g);
+typedef int (*HPMHOOK_pre_mapif_guild_master_changed) (struct guild *g, int *aid, int *cid);
+typedef int (*HPMHOOK_post_mapif_guild_master_changed) (int retVal___, struct guild *g, int *aid, int *cid);
+typedef int (*HPMHOOK_pre_mapif_guild_castle_dataload) (int *fd, int *sz, const int *castle_ids);
+typedef int (*HPMHOOK_post_mapif_guild_castle_dataload) (int retVal___, int *fd, int *sz, const int *castle_ids);
+typedef int (*HPMHOOK_pre_mapif_parse_CreateGuild) (int *fd, int *account_id, const char *name, const struct guild_member *master);
+typedef int (*HPMHOOK_post_mapif_parse_CreateGuild) (int retVal___, int *fd, int *account_id, const char *name, const struct guild_member *master);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildInfo) (int *fd, int *guild_id);
+typedef int (*HPMHOOK_post_mapif_parse_GuildInfo) (int retVal___, int *fd, int *guild_id);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildAddMember) (int *fd, int *guild_id, const struct guild_member *m);
+typedef int (*HPMHOOK_post_mapif_parse_GuildAddMember) (int retVal___, int *fd, int *guild_id, const struct guild_member *m);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildLeave) (int *fd, int *guild_id, int *account_id, int *char_id, int *flag, const char *mes);
+typedef int (*HPMHOOK_post_mapif_parse_GuildLeave) (int retVal___, int *fd, int *guild_id, int *account_id, int *char_id, int *flag, const char *mes);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildChangeMemberInfoShort) (int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class_);
+typedef int (*HPMHOOK_post_mapif_parse_GuildChangeMemberInfoShort) (int retVal___, int *fd, int *guild_id, int *account_id, int *char_id, int *online, int *lv, int *class_);
+typedef int (*HPMHOOK_pre_mapif_parse_BreakGuild) (int *fd, int *guild_id);
+typedef int (*HPMHOOK_post_mapif_parse_BreakGuild) (int retVal___, int *fd, int *guild_id);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildMessage) (int *fd, int *guild_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_post_mapif_parse_GuildMessage) (int retVal___, int *fd, int *guild_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildBasicInfoChange) (int *fd, int *guild_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_post_mapif_parse_GuildBasicInfoChange) (int retVal___, int *fd, int *guild_id, int *type, const void *data, int *len);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildMemberInfoChange) (int *fd, int *guild_id, int *account_id, int *char_id, int *type, const char *data, int *len);
+typedef int (*HPMHOOK_post_mapif_parse_GuildMemberInfoChange) (int retVal___, int *fd, int *guild_id, int *account_id, int *char_id, int *type, const char *data, int *len);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildPosition) (int *fd, int *guild_id, int *idx, const struct guild_position *p);
+typedef int (*HPMHOOK_post_mapif_parse_GuildPosition) (int retVal___, int *fd, int *guild_id, int *idx, const struct guild_position *p);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildSkillUp) (int *fd, int *guild_id, uint16 *skill_id, int *account_id, int *max);
+typedef int (*HPMHOOK_post_mapif_parse_GuildSkillUp) (int retVal___, int *fd, int *guild_id, uint16 *skill_id, int *account_id, int *max);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildDeleteAlliance) (struct guild *g, int *guild_id, int *account_id1, int *account_id2, int *flag);
+typedef int (*HPMHOOK_post_mapif_parse_GuildDeleteAlliance) (int retVal___, struct guild *g, int *guild_id, int *account_id1, int *account_id2, int *flag);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildAlliance) (int *fd, int *guild_id1, int *guild_id2, int *account_id1, int *account_id2, int *flag);
+typedef int (*HPMHOOK_post_mapif_parse_GuildAlliance) (int retVal___, int *fd, int *guild_id1, int *guild_id2, int *account_id1, int *account_id2, int *flag);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildNotice) (int *fd, int *guild_id, const char *mes1, const char *mes2);
+typedef int (*HPMHOOK_post_mapif_parse_GuildNotice) (int retVal___, int *fd, int *guild_id, const char *mes1, const char *mes2);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildEmblem) (int *fd, int *len, int *guild_id, int *dummy, const char *data);
+typedef int (*HPMHOOK_post_mapif_parse_GuildEmblem) (int retVal___, int *fd, int *len, int *guild_id, int *dummy, const char *data);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildCastleDataLoad) (int *fd, int *len, const int *castle_ids);
+typedef int (*HPMHOOK_post_mapif_parse_GuildCastleDataLoad) (int retVal___, int *fd, int *len, const int *castle_ids);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildCastleDataSave) (int *fd, int *castle_id, int *index, int *value);
+typedef int (*HPMHOOK_post_mapif_parse_GuildCastleDataSave) (int retVal___, int *fd, int *castle_id, int *index, int *value);
+typedef int (*HPMHOOK_pre_mapif_parse_GuildMasterChange) (int *fd, int *guild_id, const char *name, int *len);
+typedef int (*HPMHOOK_post_mapif_parse_GuildMasterChange) (int retVal___, int *fd, int *guild_id, const char *name, int *len);
+typedef void (*HPMHOOK_pre_mapif_homunculus_created) (int *fd, int *account_id, const struct s_homunculus *sh, unsigned char *flag);
+typedef void (*HPMHOOK_post_mapif_homunculus_created) (int *fd, int *account_id, const struct s_homunculus *sh, unsigned char *flag);
+typedef void (*HPMHOOK_pre_mapif_homunculus_deleted) (int *fd, int *flag);
+typedef void (*HPMHOOK_post_mapif_homunculus_deleted) (int *fd, int *flag);
+typedef void (*HPMHOOK_pre_mapif_homunculus_loaded) (int *fd, int *account_id, struct s_homunculus *hd);
+typedef void (*HPMHOOK_post_mapif_homunculus_loaded) (int *fd, int *account_id, struct s_homunculus *hd);
+typedef void (*HPMHOOK_pre_mapif_homunculus_saved) (int *fd, int *account_id, bool *flag);
+typedef void (*HPMHOOK_post_mapif_homunculus_saved) (int *fd, int *account_id, bool *flag);
+typedef void (*HPMHOOK_pre_mapif_homunculus_renamed) (int *fd, int *account_id, int *char_id, unsigned char *flag, const char *name);
+typedef void (*HPMHOOK_post_mapif_homunculus_renamed) (int *fd, int *account_id, int *char_id, unsigned char *flag, const char *name);
+typedef bool (*HPMHOOK_pre_mapif_homunculus_create) (struct s_homunculus *hd);
+typedef bool (*HPMHOOK_post_mapif_homunculus_create) (bool retVal___, struct s_homunculus *hd);
+typedef bool (*HPMHOOK_pre_mapif_homunculus_save) (const struct s_homunculus *hd);
+typedef bool (*HPMHOOK_post_mapif_homunculus_save) (bool retVal___, const struct s_homunculus *hd);
+typedef bool (*HPMHOOK_pre_mapif_homunculus_load) (int *homun_id, struct s_homunculus *hd);
+typedef bool (*HPMHOOK_post_mapif_homunculus_load) (bool retVal___, int *homun_id, struct s_homunculus *hd);
+typedef bool (*HPMHOOK_pre_mapif_homunculus_delete) (int *homun_id);
+typedef bool (*HPMHOOK_post_mapif_homunculus_delete) (bool retVal___, int *homun_id);
+typedef bool (*HPMHOOK_pre_mapif_homunculus_rename) (const char *name);
+typedef bool (*HPMHOOK_post_mapif_homunculus_rename) (bool retVal___, const char *name);
+typedef void (*HPMHOOK_pre_mapif_parse_homunculus_create) (int *fd, int *len, int *account_id, const struct s_homunculus *phd);
+typedef void (*HPMHOOK_post_mapif_parse_homunculus_create) (int *fd, int *len, int *account_id, const struct s_homunculus *phd);
+typedef void (*HPMHOOK_pre_mapif_parse_homunculus_delete) (int *fd, int *homun_id);
+typedef void (*HPMHOOK_post_mapif_parse_homunculus_delete) (int *fd, int *homun_id);
+typedef void (*HPMHOOK_pre_mapif_parse_homunculus_load) (int *fd, int *account_id, int *homun_id);
+typedef void (*HPMHOOK_post_mapif_parse_homunculus_load) (int *fd, int *account_id, int *homun_id);
+typedef void (*HPMHOOK_pre_mapif_parse_homunculus_save) (int *fd, int *len, int *account_id, const struct s_homunculus *phd);
+typedef void (*HPMHOOK_post_mapif_parse_homunculus_save) (int *fd, int *len, int *account_id, const struct s_homunculus *phd);
+typedef void (*HPMHOOK_pre_mapif_parse_homunculus_rename) (int *fd, int *account_id, int *char_id, const char *name);
+typedef void (*HPMHOOK_post_mapif_parse_homunculus_rename) (int *fd, int *account_id, int *char_id, const char *name);
+typedef void (*HPMHOOK_pre_mapif_mail_sendinbox) (int *fd, int *char_id, unsigned char *flag, struct mail_data *md);
+typedef void (*HPMHOOK_post_mapif_mail_sendinbox) (int *fd, int *char_id, unsigned char *flag, struct mail_data *md);
+typedef void (*HPMHOOK_pre_mapif_parse_mail_requestinbox) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_mail_requestinbox) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_parse_mail_read) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_mail_read) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_mail_sendattach) (int *fd, int *char_id, struct mail_message *msg);
+typedef void (*HPMHOOK_post_mapif_mail_sendattach) (int *fd, int *char_id, struct mail_message *msg);
+typedef void (*HPMHOOK_pre_mapif_mail_getattach) (int *fd, int *char_id, int *mail_id);
+typedef void (*HPMHOOK_post_mapif_mail_getattach) (int *fd, int *char_id, int *mail_id);
+typedef void (*HPMHOOK_pre_mapif_parse_mail_getattach) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_mail_getattach) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_mail_delete) (int *fd, int *char_id, int *mail_id, bool *failed);
+typedef void (*HPMHOOK_post_mapif_mail_delete) (int *fd, int *char_id, int *mail_id, bool *failed);
+typedef void (*HPMHOOK_pre_mapif_parse_mail_delete) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_mail_delete) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_mail_new) (struct mail_message *msg);
+typedef void (*HPMHOOK_post_mapif_mail_new) (struct mail_message *msg);
+typedef void (*HPMHOOK_pre_mapif_mail_return) (int *fd, int *char_id, int *mail_id, int *new_mail);
+typedef void (*HPMHOOK_post_mapif_mail_return) (int *fd, int *char_id, int *mail_id, int *new_mail);
+typedef void (*HPMHOOK_pre_mapif_parse_mail_return) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_mail_return) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_mail_send) (int *fd, struct mail_message *msg);
+typedef void (*HPMHOOK_post_mapif_mail_send) (int *fd, struct mail_message *msg);
+typedef void (*HPMHOOK_pre_mapif_parse_mail_send) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_mail_send) (int *fd);
+typedef bool (*HPMHOOK_pre_mapif_mercenary_create) (struct s_mercenary *merc);
+typedef bool (*HPMHOOK_post_mapif_mercenary_create) (bool retVal___, struct s_mercenary *merc);
+typedef bool (*HPMHOOK_pre_mapif_mercenary_save) (const struct s_mercenary *merc);
+typedef bool (*HPMHOOK_post_mapif_mercenary_save) (bool retVal___, const struct s_mercenary *merc);
+typedef bool (*HPMHOOK_pre_mapif_mercenary_load) (int *merc_id, int *char_id, struct s_mercenary *merc);
+typedef bool (*HPMHOOK_post_mapif_mercenary_load) (bool retVal___, int *merc_id, int *char_id, struct s_mercenary *merc);
+typedef bool (*HPMHOOK_pre_mapif_mercenary_delete) (int *merc_id);
+typedef bool (*HPMHOOK_post_mapif_mercenary_delete) (bool retVal___, int *merc_id);
+typedef void (*HPMHOOK_pre_mapif_mercenary_send) (int *fd, struct s_mercenary *merc, unsigned char *flag);
+typedef void (*HPMHOOK_post_mapif_mercenary_send) (int *fd, struct s_mercenary *merc, unsigned char *flag);
+typedef void (*HPMHOOK_pre_mapif_parse_mercenary_create) (int *fd, const struct s_mercenary *merc);
+typedef void (*HPMHOOK_post_mapif_parse_mercenary_create) (int *fd, const struct s_mercenary *merc);
+typedef void (*HPMHOOK_pre_mapif_parse_mercenary_load) (int *fd, int *merc_id, int *char_id);
+typedef void (*HPMHOOK_post_mapif_parse_mercenary_load) (int *fd, int *merc_id, int *char_id);
+typedef void (*HPMHOOK_pre_mapif_mercenary_deleted) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_post_mapif_mercenary_deleted) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_pre_mapif_parse_mercenary_delete) (int *fd, int *merc_id);
+typedef void (*HPMHOOK_post_mapif_parse_mercenary_delete) (int *fd, int *merc_id);
+typedef void (*HPMHOOK_pre_mapif_mercenary_saved) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_post_mapif_mercenary_saved) (int *fd, unsigned char *flag);
+typedef void (*HPMHOOK_pre_mapif_parse_mercenary_save) (int *fd, const struct s_mercenary *merc);
+typedef void (*HPMHOOK_post_mapif_parse_mercenary_save) (int *fd, const struct s_mercenary *merc);
+typedef int (*HPMHOOK_pre_mapif_party_created) (int *fd, int *account_id, int *char_id, struct party *p);
+typedef int (*HPMHOOK_post_mapif_party_created) (int retVal___, int *fd, int *account_id, int *char_id, struct party *p);
+typedef void (*HPMHOOK_pre_mapif_party_noinfo) (int *fd, int *party_id, int *char_id);
+typedef void (*HPMHOOK_post_mapif_party_noinfo) (int *fd, int *party_id, int *char_id);
+typedef void (*HPMHOOK_pre_mapif_party_info) (int *fd, struct party *p, int *char_id);
+typedef void (*HPMHOOK_post_mapif_party_info) (int *fd, struct party *p, int *char_id);
+typedef int (*HPMHOOK_pre_mapif_party_memberadded) (int *fd, int *party_id, int *account_id, int *char_id, int *flag);
+typedef int (*HPMHOOK_post_mapif_party_memberadded) (int retVal___, int *fd, int *party_id, int *account_id, int *char_id, int *flag);
+typedef int (*HPMHOOK_pre_mapif_party_optionchanged) (int *fd, struct party *p, int *account_id, int *flag);
+typedef int (*HPMHOOK_post_mapif_party_optionchanged) (int retVal___, int *fd, struct party *p, int *account_id, int *flag);
+typedef int (*HPMHOOK_pre_mapif_party_withdraw) (int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_mapif_party_withdraw) (int retVal___, int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_pre_mapif_party_membermoved) (struct party *p, int *idx);
+typedef int (*HPMHOOK_post_mapif_party_membermoved) (int retVal___, struct party *p, int *idx);
+typedef int (*HPMHOOK_pre_mapif_party_broken) (int *party_id, int *flag);
+typedef int (*HPMHOOK_post_mapif_party_broken) (int retVal___, int *party_id, int *flag);
+typedef int (*HPMHOOK_pre_mapif_party_message) (int *party_id, int *account_id, const char *mes, int *len, int *sfd);
+typedef int (*HPMHOOK_post_mapif_party_message) (int retVal___, int *party_id, int *account_id, const char *mes, int *len, int *sfd);
+typedef int (*HPMHOOK_pre_mapif_parse_CreateParty) (int *fd, const char *name, int *item, int *item2, const struct party_member *leader);
+typedef int (*HPMHOOK_post_mapif_parse_CreateParty) (int retVal___, int *fd, const char *name, int *item, int *item2, const struct party_member *leader);
+typedef void (*HPMHOOK_pre_mapif_parse_PartyInfo) (int *fd, int *party_id, int *char_id);
+typedef void (*HPMHOOK_post_mapif_parse_PartyInfo) (int *fd, int *party_id, int *char_id);
+typedef int (*HPMHOOK_pre_mapif_parse_PartyAddMember) (int *fd, int *party_id, const struct party_member *member);
+typedef int (*HPMHOOK_post_mapif_parse_PartyAddMember) (int retVal___, int *fd, int *party_id, const struct party_member *member);
+typedef int (*HPMHOOK_pre_mapif_parse_PartyChangeOption) (int *fd, int *party_id, int *account_id, int *exp, int *item);
+typedef int (*HPMHOOK_post_mapif_parse_PartyChangeOption) (int retVal___, int *fd, int *party_id, int *account_id, int *exp, int *item);
+typedef int (*HPMHOOK_pre_mapif_parse_PartyLeave) (int *fd, int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_mapif_parse_PartyLeave) (int retVal___, int *fd, int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_pre_mapif_parse_PartyChangeMap) (int *fd, int *party_id, int *account_id, int *char_id, unsigned short *map, int *online, unsigned int *lv);
+typedef int (*HPMHOOK_post_mapif_parse_PartyChangeMap) (int retVal___, int *fd, int *party_id, int *account_id, int *char_id, unsigned short *map, int *online, unsigned int *lv);
+typedef int (*HPMHOOK_pre_mapif_parse_BreakParty) (int *fd, int *party_id);
+typedef int (*HPMHOOK_post_mapif_parse_BreakParty) (int retVal___, int *fd, int *party_id);
+typedef int (*HPMHOOK_pre_mapif_parse_PartyMessage) (int *fd, int *party_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_post_mapif_parse_PartyMessage) (int retVal___, int *fd, int *party_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_pre_mapif_parse_PartyLeaderChange) (int *fd, int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_mapif_parse_PartyLeaderChange) (int retVal___, int *fd, int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_pre_mapif_pet_created) (int *fd, int *account_id, struct s_pet *p);
+typedef int (*HPMHOOK_post_mapif_pet_created) (int retVal___, int *fd, int *account_id, struct s_pet *p);
+typedef int (*HPMHOOK_pre_mapif_pet_info) (int *fd, int *account_id, struct s_pet *p);
+typedef int (*HPMHOOK_post_mapif_pet_info) (int retVal___, int *fd, int *account_id, struct s_pet *p);
+typedef int (*HPMHOOK_pre_mapif_pet_noinfo) (int *fd, int *account_id);
+typedef int (*HPMHOOK_post_mapif_pet_noinfo) (int retVal___, int *fd, int *account_id);
+typedef int (*HPMHOOK_pre_mapif_save_pet_ack) (int *fd, int *account_id, int *flag);
+typedef int (*HPMHOOK_post_mapif_save_pet_ack) (int retVal___, int *fd, int *account_id, int *flag);
+typedef int (*HPMHOOK_pre_mapif_delete_pet_ack) (int *fd, int *flag);
+typedef int (*HPMHOOK_post_mapif_delete_pet_ack) (int retVal___, int *fd, int *flag);
+typedef int (*HPMHOOK_pre_mapif_create_pet) (int *fd, int *account_id, int *char_id, short *pet_class, short *pet_lv, short *pet_egg_id, short *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char *pet_name);
+typedef int (*HPMHOOK_post_mapif_create_pet) (int retVal___, int *fd, int *account_id, int *char_id, short *pet_class, short *pet_lv, short *pet_egg_id, short *pet_equip, short *intimate, short *hungry, char *rename_flag, char *incubate, const char *pet_name);
+typedef int (*HPMHOOK_pre_mapif_load_pet) (int *fd, int *account_id, int *char_id, int *pet_id);
+typedef int (*HPMHOOK_post_mapif_load_pet) (int retVal___, int *fd, int *account_id, int *char_id, int *pet_id);
+typedef int (*HPMHOOK_pre_mapif_save_pet) (int *fd, int *account_id, const struct s_pet *data);
+typedef int (*HPMHOOK_post_mapif_save_pet) (int retVal___, int *fd, int *account_id, const struct s_pet *data);
+typedef int (*HPMHOOK_pre_mapif_delete_pet) (int *fd, int *pet_id);
+typedef int (*HPMHOOK_post_mapif_delete_pet) (int retVal___, int *fd, int *pet_id);
+typedef int (*HPMHOOK_pre_mapif_parse_CreatePet) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_CreatePet) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_parse_LoadPet) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_LoadPet) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_parse_SavePet) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_SavePet) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_parse_DeletePet) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_DeletePet) (int retVal___, int *fd);
+typedef struct quest* (*HPMHOOK_pre_mapif_quests_fromsql) (int *char_id, int *count);
+typedef struct quest* (*HPMHOOK_post_mapif_quests_fromsql) (struct quest* retVal___, int *char_id, int *count);
+typedef bool (*HPMHOOK_pre_mapif_quest_delete) (int *char_id, int *quest_id);
+typedef bool (*HPMHOOK_post_mapif_quest_delete) (bool retVal___, int *char_id, int *quest_id);
+typedef bool (*HPMHOOK_pre_mapif_quest_add) (int *char_id, struct quest *qd);
+typedef bool (*HPMHOOK_post_mapif_quest_add) (bool retVal___, int *char_id, struct quest *qd);
+typedef bool (*HPMHOOK_pre_mapif_quest_update) (int *char_id, struct quest *qd);
+typedef bool (*HPMHOOK_post_mapif_quest_update) (bool retVal___, int *char_id, struct quest *qd);
+typedef void (*HPMHOOK_pre_mapif_quest_save_ack) (int *fd, int *char_id, bool *success);
+typedef void (*HPMHOOK_post_mapif_quest_save_ack) (int *fd, int *char_id, bool *success);
+typedef int (*HPMHOOK_pre_mapif_parse_quest_save) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_quest_save) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_mapif_send_quests) (int *fd, int *char_id, struct quest *tmp_questlog, int *num_quests);
+typedef void (*HPMHOOK_post_mapif_send_quests) (int *fd, int *char_id, struct quest *tmp_questlog, int *num_quests);
+typedef int (*HPMHOOK_pre_mapif_parse_quest_load) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_quest_load) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_load_guild_storage) (int *fd, int *account_id, int *guild_id, char *flag);
+typedef int (*HPMHOOK_post_mapif_load_guild_storage) (int retVal___, int *fd, int *account_id, int *guild_id, char *flag);
+typedef int (*HPMHOOK_pre_mapif_save_guild_storage_ack) (int *fd, int *account_id, int *guild_id, int *fail);
+typedef int (*HPMHOOK_post_mapif_save_guild_storage_ack) (int retVal___, int *fd, int *account_id, int *guild_id, int *fail);
+typedef int (*HPMHOOK_pre_mapif_parse_LoadGuildStorage) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_LoadGuildStorage) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_parse_SaveGuildStorage) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_SaveGuildStorage) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_itembound_ack) (int *fd, int *aid, int *guild_id);
+typedef int (*HPMHOOK_post_mapif_itembound_ack) (int retVal___, int *fd, int *aid, int *guild_id);
+typedef int (*HPMHOOK_pre_mapif_parse_ItemBoundRetrieve_sub) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_ItemBoundRetrieve_sub) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_mapif_parse_ItemBoundRetrieve) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_ItemBoundRetrieve) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_parse_accinfo) (int *fd);
+typedef void (*HPMHOOK_post_mapif_parse_accinfo) (int *fd);
+typedef void (*HPMHOOK_pre_mapif_parse_accinfo2) (bool *success, int *map_fd, int *u_fd, int *u_aid, int *account_id, const char *userid, const char *user_pass, const char *email, const char *last_ip, const char *lastlogin, const char *pin_code, const char *birthdate, int *group_id, int *logincount, int *state);
+typedef void (*HPMHOOK_post_mapif_parse_accinfo2) (bool *success, int *map_fd, int *u_fd, int *u_aid, int *account_id, const char *userid, const char *user_pass, const char *email, const char *last_ip, const char *lastlogin, const char *pin_code, const char *birthdate, int *group_id, int *logincount, int *state);
+typedef int (*HPMHOOK_pre_mapif_broadcast) (const unsigned char *mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, int *sfd);
+typedef int (*HPMHOOK_post_mapif_broadcast) (int retVal___, const unsigned char *mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, int *sfd);
+typedef int (*HPMHOOK_pre_mapif_wis_message) (struct WisData *wd);
+typedef int (*HPMHOOK_post_mapif_wis_message) (int retVal___, struct WisData *wd);
+typedef void (*HPMHOOK_pre_mapif_wis_response) (int *fd, const unsigned char *src, int *flag);
+typedef void (*HPMHOOK_post_mapif_wis_response) (int *fd, const unsigned char *src, int *flag);
+typedef int (*HPMHOOK_pre_mapif_wis_end) (struct WisData *wd, int *flag);
+typedef int (*HPMHOOK_post_mapif_wis_end) (int retVal___, struct WisData *wd, int *flag);
+typedef int (*HPMHOOK_pre_mapif_account_reg_reply) (int *fd, int *account_id, int *char_id, int *type);
+typedef int (*HPMHOOK_post_mapif_account_reg_reply) (int retVal___, int *fd, int *account_id, int *char_id, int *type);
+typedef int (*HPMHOOK_pre_mapif_disconnectplayer) (int *fd, int *account_id, int *char_id, int *reason);
+typedef int (*HPMHOOK_post_mapif_disconnectplayer) (int retVal___, int *fd, int *account_id, int *char_id, int *reason);
+typedef int (*HPMHOOK_pre_mapif_parse_broadcast) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_broadcast) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_parse_WisRequest) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_WisRequest) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_parse_WisReply) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_WisReply) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_parse_WisToGM) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_WisToGM) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_parse_Registry) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_Registry) (int retVal___, int *fd);
+typedef int (*HPMHOOK_pre_mapif_parse_RegistryRequest) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_RegistryRequest) (int retVal___, int *fd);
+typedef void (*HPMHOOK_pre_mapif_namechange_ack) (int *fd, int *account_id, int *char_id, int *type, int *flag, const char *name);
+typedef void (*HPMHOOK_post_mapif_namechange_ack) (int *fd, int *account_id, int *char_id, int *type, int *flag, const char *name);
+typedef int (*HPMHOOK_pre_mapif_parse_NameChangeRequest) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_NameChangeRequest) (int retVal___, int *fd);
+#endif // CHAR_MAPIF_H
+#ifdef COMMON_MAPINDEX_H /* mapindex */
+typedef int (*HPMHOOK_pre_mapindex_init) (void);
+typedef int (*HPMHOOK_post_mapindex_init) (int retVal___);
+typedef void (*HPMHOOK_pre_mapindex_final) (void);
+typedef void (*HPMHOOK_post_mapindex_final) (void);
+typedef int (*HPMHOOK_pre_mapindex_addmap) (int *index, const char *name);
+typedef int (*HPMHOOK_post_mapindex_addmap) (int retVal___, int *index, const char *name);
+typedef void (*HPMHOOK_pre_mapindex_removemap) (int *index);
+typedef void (*HPMHOOK_post_mapindex_removemap) (int *index);
+typedef const char* (*HPMHOOK_pre_mapindex_getmapname) (const char *string, char *output);
+typedef const char* (*HPMHOOK_post_mapindex_getmapname) (const char* retVal___, const char *string, char *output);
+typedef const char* (*HPMHOOK_pre_mapindex_getmapname_ext) (const char *string, char *output);
+typedef const char* (*HPMHOOK_post_mapindex_getmapname_ext) (const char* retVal___, const char *string, char *output);
+typedef unsigned short (*HPMHOOK_pre_mapindex_name2id) (const char *p1);
+typedef unsigned short (*HPMHOOK_post_mapindex_name2id) (unsigned short retVal___, const char *p1);
+typedef const char* (*HPMHOOK_pre_mapindex_id2name) (uint16 *id, const char *file, int *line, const char *func);
+typedef const char* (*HPMHOOK_post_mapindex_id2name) (const char* retVal___, uint16 *id, const char *file, int *line, const char *func);
+typedef bool (*HPMHOOK_pre_mapindex_check_default) (void);
+typedef bool (*HPMHOOK_post_mapindex_check_default) (bool retVal___);
+#endif // COMMON_MAPINDEX_H
+#ifdef MAP_MAP_H /* mapit */
+typedef struct s_mapiterator* (*HPMHOOK_pre_mapit_alloc) (enum e_mapitflags *flags, enum bl_type *types);
+typedef struct s_mapiterator* (*HPMHOOK_post_mapit_alloc) (struct s_mapiterator* retVal___, enum e_mapitflags *flags, enum bl_type *types);
+typedef void (*HPMHOOK_pre_mapit_free) (struct s_mapiterator *iter);
+typedef void (*HPMHOOK_post_mapit_free) (struct s_mapiterator *iter);
+typedef struct block_list* (*HPMHOOK_pre_mapit_first) (struct s_mapiterator *iter);
+typedef struct block_list* (*HPMHOOK_post_mapit_first) (struct block_list* retVal___, struct s_mapiterator *iter);
+typedef struct block_list* (*HPMHOOK_pre_mapit_last) (struct s_mapiterator *iter);
+typedef struct block_list* (*HPMHOOK_post_mapit_last) (struct block_list* retVal___, struct s_mapiterator *iter);
+typedef struct block_list* (*HPMHOOK_pre_mapit_next) (struct s_mapiterator *iter);
+typedef struct block_list* (*HPMHOOK_post_mapit_next) (struct block_list* retVal___, struct s_mapiterator *iter);
+typedef struct block_list* (*HPMHOOK_pre_mapit_prev) (struct s_mapiterator *iter);
+typedef struct block_list* (*HPMHOOK_post_mapit_prev) (struct block_list* retVal___, struct s_mapiterator *iter);
+typedef bool (*HPMHOOK_pre_mapit_exists) (struct s_mapiterator *iter);
+typedef bool (*HPMHOOK_post_mapit_exists) (bool retVal___, struct s_mapiterator *iter);
+#endif // MAP_MAP_H
+#ifdef MAP_MAPREG_H /* mapreg */
+typedef void (*HPMHOOK_pre_mapreg_init) (void);
+typedef void (*HPMHOOK_post_mapreg_init) (void);
+typedef void (*HPMHOOK_pre_mapreg_final) (void);
+typedef void (*HPMHOOK_post_mapreg_final) (void);
+typedef int (*HPMHOOK_pre_mapreg_readreg) (int64 *uid);
+typedef int (*HPMHOOK_post_mapreg_readreg) (int retVal___, int64 *uid);
+typedef char* (*HPMHOOK_pre_mapreg_readregstr) (int64 *uid);
+typedef char* (*HPMHOOK_post_mapreg_readregstr) (char* retVal___, int64 *uid);
+typedef bool (*HPMHOOK_pre_mapreg_setreg) (int64 *uid, int *val);
+typedef bool (*HPMHOOK_post_mapreg_setreg) (bool retVal___, int64 *uid, int *val);
+typedef bool (*HPMHOOK_pre_mapreg_setregstr) (int64 *uid, const char *str);
+typedef bool (*HPMHOOK_post_mapreg_setregstr) (bool retVal___, int64 *uid, const char *str);
+typedef void (*HPMHOOK_pre_mapreg_load) (void);
+typedef void (*HPMHOOK_post_mapreg_load) (void);
+typedef void (*HPMHOOK_pre_mapreg_save) (void);
+typedef void (*HPMHOOK_post_mapreg_save) (void);
+typedef int (*HPMHOOK_pre_mapreg_save_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_mapreg_save_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_mapreg_destroyreg) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_mapreg_destroyreg) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_mapreg_reload) (void);
+typedef void (*HPMHOOK_post_mapreg_reload) (void);
+typedef bool (*HPMHOOK_pre_mapreg_config_read) (const char *w1, const char *w2);
+typedef bool (*HPMHOOK_post_mapreg_config_read) (bool retVal___, const char *w1, const char *w2);
+#endif // MAP_MAPREG_H
+#ifdef MAP_MERCENARY_H /* mercenary */
+typedef void (*HPMHOOK_pre_mercenary_init) (bool *minimal);
+typedef void (*HPMHOOK_post_mercenary_init) (bool *minimal);
+typedef bool (*HPMHOOK_pre_mercenary_class) (int *class_);
+typedef bool (*HPMHOOK_post_mercenary_class) (bool retVal___, int *class_);
+typedef struct view_data* (*HPMHOOK_pre_mercenary_get_viewdata) (int *class_);
+typedef struct view_data* (*HPMHOOK_post_mercenary_get_viewdata) (struct view_data* retVal___, int *class_);
+typedef int (*HPMHOOK_pre_mercenary_create) (struct map_session_data *sd, int *class_, unsigned int *lifetime);
+typedef int (*HPMHOOK_post_mercenary_create) (int retVal___, struct map_session_data *sd, int *class_, unsigned int *lifetime);
+typedef int (*HPMHOOK_pre_mercenary_data_received) (const struct s_mercenary *merc, bool *flag);
+typedef int (*HPMHOOK_post_mercenary_data_received) (int retVal___, const struct s_mercenary *merc, bool *flag);
+typedef int (*HPMHOOK_pre_mercenary_save) (struct mercenary_data *md);
+typedef int (*HPMHOOK_post_mercenary_save) (int retVal___, struct mercenary_data *md);
+typedef void (*HPMHOOK_pre_mercenary_heal) (struct mercenary_data *md, int *hp, int *sp);
+typedef void (*HPMHOOK_post_mercenary_heal) (struct mercenary_data *md, int *hp, int *sp);
+typedef int (*HPMHOOK_pre_mercenary_dead) (struct mercenary_data *md);
+typedef int (*HPMHOOK_post_mercenary_dead) (int retVal___, struct mercenary_data *md);
+typedef int (*HPMHOOK_pre_mercenary_delete) (struct mercenary_data *md, int *reply);
+typedef int (*HPMHOOK_post_mercenary_delete) (int retVal___, struct mercenary_data *md, int *reply);
+typedef void (*HPMHOOK_pre_mercenary_contract_stop) (struct mercenary_data *md);
+typedef void (*HPMHOOK_post_mercenary_contract_stop) (struct mercenary_data *md);
+typedef int (*HPMHOOK_pre_mercenary_get_lifetime) (struct mercenary_data *md);
+typedef int (*HPMHOOK_post_mercenary_get_lifetime) (int retVal___, struct mercenary_data *md);
+typedef int (*HPMHOOK_pre_mercenary_get_guild) (struct mercenary_data *md);
+typedef int (*HPMHOOK_post_mercenary_get_guild) (int retVal___, struct mercenary_data *md);
+typedef int (*HPMHOOK_pre_mercenary_get_faith) (struct mercenary_data *md);
+typedef int (*HPMHOOK_post_mercenary_get_faith) (int retVal___, struct mercenary_data *md);
+typedef int (*HPMHOOK_pre_mercenary_set_faith) (struct mercenary_data *md, int *value);
+typedef int (*HPMHOOK_post_mercenary_set_faith) (int retVal___, struct mercenary_data *md, int *value);
+typedef int (*HPMHOOK_pre_mercenary_get_calls) (struct mercenary_data *md);
+typedef int (*HPMHOOK_post_mercenary_get_calls) (int retVal___, struct mercenary_data *md);
+typedef int (*HPMHOOK_pre_mercenary_set_calls) (struct mercenary_data *md, int *value);
+typedef int (*HPMHOOK_post_mercenary_set_calls) (int retVal___, struct mercenary_data *md, int *value);
+typedef int (*HPMHOOK_pre_mercenary_kills) (struct mercenary_data *md);
+typedef int (*HPMHOOK_post_mercenary_kills) (int retVal___, struct mercenary_data *md);
+typedef int (*HPMHOOK_pre_mercenary_checkskill) (struct mercenary_data *md, uint16 *skill_id);
+typedef int (*HPMHOOK_post_mercenary_checkskill) (int retVal___, struct mercenary_data *md, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_mercenary_read_db) (void);
+typedef int (*HPMHOOK_post_mercenary_read_db) (int retVal___);
+typedef int (*HPMHOOK_pre_mercenary_read_skilldb) (void);
+typedef int (*HPMHOOK_post_mercenary_read_skilldb) (int retVal___);
+typedef int (*HPMHOOK_pre_mercenary_killbonus) (struct mercenary_data *md);
+typedef int (*HPMHOOK_post_mercenary_killbonus) (int retVal___, struct mercenary_data *md);
+typedef int (*HPMHOOK_pre_mercenary_search_index) (int *class_);
+typedef int (*HPMHOOK_post_mercenary_search_index) (int retVal___, int *class_);
+typedef int (*HPMHOOK_pre_mercenary_contract_end_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_mercenary_contract_end_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef bool (*HPMHOOK_pre_mercenary_read_db_sub) (char *str[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_mercenary_read_db_sub) (bool retVal___, char *str[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_mercenary_read_skill_db_sub) (char *str[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_mercenary_read_skill_db_sub) (bool retVal___, char *str[], int *columns, int *current);
+#endif // MAP_MERCENARY_H
+#ifdef MAP_MOB_H /* mob */
+typedef int (*HPMHOOK_pre_mob_init) (bool *mimimal);
+typedef int (*HPMHOOK_post_mob_init) (int retVal___, bool *mimimal);
+typedef int (*HPMHOOK_pre_mob_final) (void);
+typedef int (*HPMHOOK_post_mob_final) (int retVal___);
+typedef void (*HPMHOOK_pre_mob_reload) (void);
+typedef void (*HPMHOOK_post_mob_reload) (void);
+typedef struct mob_db* (*HPMHOOK_pre_mob_db) (int *index);
+typedef struct mob_db* (*HPMHOOK_post_mob_db) (struct mob_db* retVal___, int *index);
+typedef struct mob_chat* (*HPMHOOK_pre_mob_chat) (short *id);
+typedef struct mob_chat* (*HPMHOOK_post_mob_chat) (struct mob_chat* retVal___, short *id);
+typedef int (*HPMHOOK_pre_mob_makedummymobdb) (int *p1);
+typedef int (*HPMHOOK_post_mob_makedummymobdb) (int retVal___, int *p1);
+typedef int (*HPMHOOK_pre_mob_spawn_guardian_sub) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_mob_spawn_guardian_sub) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_mob_skill_id2skill_idx) (int *class_, uint16 *skill_id);
+typedef int (*HPMHOOK_post_mob_skill_id2skill_idx) (int retVal___, int *class_, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_mob_db_searchname) (const char *str);
+typedef int (*HPMHOOK_post_mob_db_searchname) (int retVal___, const char *str);
+typedef int (*HPMHOOK_pre_mob_db_searchname_array_sub) (struct mob_db *monster, const char *str, int *flag);
+typedef int (*HPMHOOK_post_mob_db_searchname_array_sub) (int retVal___, struct mob_db *monster, const char *str, int *flag);
+typedef void (*HPMHOOK_pre_mob_mvptomb_create) (struct mob_data *md, char *killer, time_t *time);
+typedef void (*HPMHOOK_post_mob_mvptomb_create) (struct mob_data *md, char *killer, time_t *time);
+typedef void (*HPMHOOK_pre_mob_mvptomb_destroy) (struct mob_data *md);
+typedef void (*HPMHOOK_post_mob_mvptomb_destroy) (struct mob_data *md);
+typedef int (*HPMHOOK_pre_mob_db_searchname_array) (struct mob_db **data, int *size, const char *str, int *flag);
+typedef int (*HPMHOOK_post_mob_db_searchname_array) (int retVal___, struct mob_db **data, int *size, const char *str, int *flag);
+typedef int (*HPMHOOK_pre_mob_db_checkid) (const int *id);
+typedef int (*HPMHOOK_post_mob_db_checkid) (int retVal___, const int *id);
+typedef struct view_data* (*HPMHOOK_pre_mob_get_viewdata) (int *class_);
+typedef struct view_data* (*HPMHOOK_post_mob_get_viewdata) (struct view_data* retVal___, int *class_);
+typedef int (*HPMHOOK_pre_mob_parse_dataset) (struct spawn_data *data);
+typedef int (*HPMHOOK_post_mob_parse_dataset) (int retVal___, struct spawn_data *data);
+typedef struct mob_data* (*HPMHOOK_pre_mob_spawn_dataset) (struct spawn_data *data);
+typedef struct mob_data* (*HPMHOOK_post_mob_spawn_dataset) (struct mob_data* retVal___, struct spawn_data *data);
+typedef int (*HPMHOOK_pre_mob_get_random_id) (int *type, int *flag, int *lv);
+typedef int (*HPMHOOK_post_mob_get_random_id) (int retVal___, int *type, int *flag, int *lv);
+typedef bool (*HPMHOOK_pre_mob_ksprotected) (struct block_list *src, struct block_list *target);
+typedef bool (*HPMHOOK_post_mob_ksprotected) (bool retVal___, struct block_list *src, struct block_list *target);
+typedef struct mob_data* (*HPMHOOK_pre_mob_once_spawn_sub) (struct block_list *bl, int16 *m, int16 *x, int16 *y, const char *mobname, int *class_, const char *event, unsigned int *size, unsigned int *ai);
+typedef struct mob_data* (*HPMHOOK_post_mob_once_spawn_sub) (struct mob_data* retVal___, struct block_list *bl, int16 *m, int16 *x, int16 *y, const char *mobname, int *class_, const char *event, unsigned int *size, unsigned int *ai);
+typedef int (*HPMHOOK_pre_mob_once_spawn) (struct map_session_data *sd, int16 *m, int16 *x, int16 *y, const char *mobname, int *class_, int *amount, const char *event, unsigned int *size, unsigned int *ai);
+typedef int (*HPMHOOK_post_mob_once_spawn) (int retVal___, struct map_session_data *sd, int16 *m, int16 *x, int16 *y, const char *mobname, int *class_, int *amount, const char *event, unsigned int *size, unsigned int *ai);
+typedef int (*HPMHOOK_pre_mob_once_spawn_area) (struct map_session_data *sd, int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, const char *mobname, int *class_, int *amount, const char *event, unsigned int *size, unsigned int *ai);
+typedef int (*HPMHOOK_post_mob_once_spawn_area) (int retVal___, struct map_session_data *sd, int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, const char *mobname, int *class_, int *amount, const char *event, unsigned int *size, unsigned int *ai);
+typedef int (*HPMHOOK_pre_mob_spawn_guardian) (const char *mapname, short *x, short *y, const char *mobname, int *class_, const char *event, int *guardian, bool *has_index);
+typedef int (*HPMHOOK_post_mob_spawn_guardian) (int retVal___, const char *mapname, short *x, short *y, const char *mobname, int *class_, const char *event, int *guardian, bool *has_index);
+typedef int (*HPMHOOK_pre_mob_spawn_bg) (const char *mapname, short *x, short *y, const char *mobname, int *class_, const char *event, unsigned int *bg_id);
+typedef int (*HPMHOOK_post_mob_spawn_bg) (int retVal___, const char *mapname, short *x, short *y, const char *mobname, int *class_, const char *event, unsigned int *bg_id);
+typedef int (*HPMHOOK_pre_mob_can_reach) (struct mob_data *md, struct block_list *bl, int *range, int *state);
+typedef int (*HPMHOOK_post_mob_can_reach) (int retVal___, struct mob_data *md, struct block_list *bl, int *range, int *state);
+typedef int (*HPMHOOK_pre_mob_linksearch) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_linksearch) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_delayspawn) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_mob_delayspawn) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_mob_setdelayspawn) (struct mob_data *md);
+typedef int (*HPMHOOK_post_mob_setdelayspawn) (int retVal___, struct mob_data *md);
+typedef int (*HPMHOOK_pre_mob_count_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_count_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_spawn) (struct mob_data *md);
+typedef int (*HPMHOOK_post_mob_spawn) (int retVal___, struct mob_data *md);
+typedef int (*HPMHOOK_pre_mob_can_changetarget) (const struct mob_data *md, const struct block_list *target, uint32 *mode);
+typedef int (*HPMHOOK_post_mob_can_changetarget) (int retVal___, const struct mob_data *md, const struct block_list *target, uint32 *mode);
+typedef int (*HPMHOOK_pre_mob_target) (struct mob_data *md, struct block_list *bl, int *dist);
+typedef int (*HPMHOOK_post_mob_target) (int retVal___, struct mob_data *md, struct block_list *bl, int *dist);
+typedef int (*HPMHOOK_pre_mob_ai_sub_hard_activesearch) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_ai_sub_hard_activesearch) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_ai_sub_hard_changechase) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_ai_sub_hard_changechase) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_ai_sub_hard_bg_ally) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_ai_sub_hard_bg_ally) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_ai_sub_hard_lootsearch) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_ai_sub_hard_lootsearch) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_warpchase_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_warpchase_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_ai_sub_hard_slavemob) (struct mob_data *md, int64 *tick);
+typedef int (*HPMHOOK_post_mob_ai_sub_hard_slavemob) (int retVal___, struct mob_data *md, int64 *tick);
+typedef int (*HPMHOOK_pre_mob_unlocktarget) (struct mob_data *md, int64 *tick);
+typedef int (*HPMHOOK_post_mob_unlocktarget) (int retVal___, struct mob_data *md, int64 *tick);
+typedef int (*HPMHOOK_pre_mob_randomwalk) (struct mob_data *md, int64 *tick);
+typedef int (*HPMHOOK_post_mob_randomwalk) (int retVal___, struct mob_data *md, int64 *tick);
+typedef int (*HPMHOOK_pre_mob_warpchase) (struct mob_data *md, struct block_list *target);
+typedef int (*HPMHOOK_post_mob_warpchase) (int retVal___, struct mob_data *md, struct block_list *target);
+typedef bool (*HPMHOOK_pre_mob_ai_sub_hard) (struct mob_data *md, int64 *tick);
+typedef bool (*HPMHOOK_post_mob_ai_sub_hard) (bool retVal___, struct mob_data *md, int64 *tick);
+typedef int (*HPMHOOK_pre_mob_ai_sub_hard_timer) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_ai_sub_hard_timer) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_ai_sub_foreachclient) (struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_post_mob_ai_sub_foreachclient) (int retVal___, struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_pre_mob_ai_sub_lazy) (struct mob_data *md, va_list args);
+typedef int (*HPMHOOK_post_mob_ai_sub_lazy) (int retVal___, struct mob_data *md, va_list args);
+typedef int (*HPMHOOK_pre_mob_ai_lazy) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_mob_ai_lazy) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_mob_ai_hard) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_mob_ai_hard) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef struct item_drop* (*HPMHOOK_pre_mob_setdropitem) (int *nameid, int *qty, struct item_data *data);
+typedef struct item_drop* (*HPMHOOK_post_mob_setdropitem) (struct item_drop* retVal___, int *nameid, int *qty, struct item_data *data);
+typedef struct item_drop* (*HPMHOOK_pre_mob_setlootitem) (struct item *item);
+typedef struct item_drop* (*HPMHOOK_post_mob_setlootitem) (struct item_drop* retVal___, struct item *item);
+typedef int (*HPMHOOK_pre_mob_delay_item_drop) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_mob_delay_item_drop) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_mob_item_drop) (struct mob_data *md, struct item_drop_list *dlist, struct item_drop *ditem, int *loot, int *drop_rate, unsigned short *flag);
+typedef void (*HPMHOOK_post_mob_item_drop) (struct mob_data *md, struct item_drop_list *dlist, struct item_drop *ditem, int *loot, int *drop_rate, unsigned short *flag);
+typedef int (*HPMHOOK_pre_mob_timer_delete) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_mob_timer_delete) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_mob_deleteslave_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_deleteslave_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_deleteslave) (struct mob_data *md);
+typedef int (*HPMHOOK_post_mob_deleteslave) (int retVal___, struct mob_data *md);
+typedef int (*HPMHOOK_pre_mob_respawn) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_mob_respawn) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_mob_log_damage) (struct mob_data *md, struct block_list *src, int *damage);
+typedef void (*HPMHOOK_post_mob_log_damage) (struct mob_data *md, struct block_list *src, int *damage);
+typedef void (*HPMHOOK_pre_mob_damage) (struct mob_data *md, struct block_list *src, int *damage);
+typedef void (*HPMHOOK_post_mob_damage) (struct mob_data *md, struct block_list *src, int *damage);
+typedef int (*HPMHOOK_pre_mob_dead) (struct mob_data *md, struct block_list *src, int *type);
+typedef int (*HPMHOOK_post_mob_dead) (int retVal___, struct mob_data *md, struct block_list *src, int *type);
+typedef void (*HPMHOOK_pre_mob_revive) (struct mob_data *md, unsigned int *hp);
+typedef void (*HPMHOOK_post_mob_revive) (struct mob_data *md, unsigned int *hp);
+typedef int (*HPMHOOK_pre_mob_guardian_guildchange) (struct mob_data *md);
+typedef int (*HPMHOOK_post_mob_guardian_guildchange) (int retVal___, struct mob_data *md);
+typedef int (*HPMHOOK_pre_mob_random_class) (int *value, size_t *count);
+typedef int (*HPMHOOK_post_mob_random_class) (int retVal___, int *value, size_t *count);
+typedef int (*HPMHOOK_pre_mob_class_change) (struct mob_data *md, int *class_);
+typedef int (*HPMHOOK_post_mob_class_change) (int retVal___, struct mob_data *md, int *class_);
+typedef void (*HPMHOOK_pre_mob_heal) (struct mob_data *md, unsigned int *heal);
+typedef void (*HPMHOOK_post_mob_heal) (struct mob_data *md, unsigned int *heal);
+typedef int (*HPMHOOK_pre_mob_warpslave_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_warpslave_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_warpslave) (struct block_list *bl, int *range);
+typedef int (*HPMHOOK_post_mob_warpslave) (int retVal___, struct block_list *bl, int *range);
+typedef int (*HPMHOOK_pre_mob_countslave_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_countslave_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_mob_countslave) (struct block_list *bl);
+typedef int (*HPMHOOK_post_mob_countslave) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_mob_summonslave) (struct mob_data *md2, int *value, int *amount, uint16 *skill_id);
+typedef int (*HPMHOOK_post_mob_summonslave) (int retVal___, struct mob_data *md2, int *value, int *amount, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_mob_getfriendhprate_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_getfriendhprate_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef struct block_list* (*HPMHOOK_pre_mob_getfriendhprate) (struct mob_data *md, int *min_rate, int *max_rate);
+typedef struct block_list* (*HPMHOOK_post_mob_getfriendhprate) (struct block_list* retVal___, struct mob_data *md, int *min_rate, int *max_rate);
+typedef struct block_list* (*HPMHOOK_pre_mob_getmasterhpltmaxrate) (struct mob_data *md, int *rate);
+typedef struct block_list* (*HPMHOOK_post_mob_getmasterhpltmaxrate) (struct block_list* retVal___, struct mob_data *md, int *rate);
+typedef int (*HPMHOOK_pre_mob_getfriendstatus_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_mob_getfriendstatus_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef struct mob_data* (*HPMHOOK_pre_mob_getfriendstatus) (struct mob_data *md, int *cond1, int *cond2);
+typedef struct mob_data* (*HPMHOOK_post_mob_getfriendstatus) (struct mob_data* retVal___, struct mob_data *md, int *cond1, int *cond2);
+typedef int (*HPMHOOK_pre_mob_skill_use) (struct mob_data *md, int64 *tick, int *event);
+typedef int (*HPMHOOK_post_mob_skill_use) (int retVal___, struct mob_data *md, int64 *tick, int *event);
+typedef int (*HPMHOOK_pre_mob_skill_event) (struct mob_data *md, struct block_list *src, int64 *tick, int *flag);
+typedef int (*HPMHOOK_post_mob_skill_event) (int retVal___, struct mob_data *md, struct block_list *src, int64 *tick, int *flag);
+typedef int (*HPMHOOK_pre_mob_is_clone) (int *class_);
+typedef int (*HPMHOOK_post_mob_is_clone) (int retVal___, int *class_);
+typedef int (*HPMHOOK_pre_mob_clone_spawn) (struct map_session_data *sd, int16 *m, int16 *x, int16 *y, const char *event, int *master_id, uint32 *mode, int *flag, unsigned int *duration);
+typedef int (*HPMHOOK_post_mob_clone_spawn) (int retVal___, struct map_session_data *sd, int16 *m, int16 *x, int16 *y, const char *event, int *master_id, uint32 *mode, int *flag, unsigned int *duration);
+typedef int (*HPMHOOK_pre_mob_clone_delete) (struct mob_data *md);
+typedef int (*HPMHOOK_post_mob_clone_delete) (int retVal___, struct mob_data *md);
+typedef unsigned int (*HPMHOOK_pre_mob_drop_adjust) (int *baserate, int *rate_adjust, unsigned short *rate_min, unsigned short *rate_max);
+typedef unsigned int (*HPMHOOK_post_mob_drop_adjust) (unsigned int retVal___, int *baserate, int *rate_adjust, unsigned short *rate_min, unsigned short *rate_max);
+typedef void (*HPMHOOK_pre_mob_item_dropratio_adjust) (int *nameid, int *mob_id, int *rate_adjust);
+typedef void (*HPMHOOK_post_mob_item_dropratio_adjust) (int *nameid, int *mob_id, int *rate_adjust);
+typedef void (*HPMHOOK_pre_mob_readdb) (void);
+typedef void (*HPMHOOK_post_mob_readdb) (void);
+typedef bool (*HPMHOOK_pre_mob_lookup_const) (const struct config_setting_t *it, const char *name, int *value);
+typedef bool (*HPMHOOK_post_mob_lookup_const) (bool retVal___, const struct config_setting_t *it, const char *name, int *value);
+typedef bool (*HPMHOOK_pre_mob_get_const) (const struct config_setting_t *it, int *value);
+typedef bool (*HPMHOOK_post_mob_get_const) (bool retVal___, const struct config_setting_t *it, int *value);
+typedef int (*HPMHOOK_pre_mob_db_validate_entry) (struct mob_db *entry, int *n, const char *source);
+typedef int (*HPMHOOK_post_mob_db_validate_entry) (int retVal___, struct mob_db *entry, int *n, const char *source);
+typedef int (*HPMHOOK_pre_mob_read_libconfig) (const char *filename, bool *ignore_missing);
+typedef int (*HPMHOOK_post_mob_read_libconfig) (int retVal___, const char *filename, bool *ignore_missing);
+typedef void (*HPMHOOK_pre_mob_read_db_additional_fields) (struct mob_db *entry, struct config_setting_t *it, int *n, const char *source);
+typedef void (*HPMHOOK_post_mob_read_db_additional_fields) (struct mob_db *entry, struct config_setting_t *it, int *n, const char *source);
+typedef int (*HPMHOOK_pre_mob_read_db_sub) (struct config_setting_t *mobt, int *id, const char *source);
+typedef int (*HPMHOOK_post_mob_read_db_sub) (int retVal___, struct config_setting_t *mobt, int *id, const char *source);
+typedef void (*HPMHOOK_pre_mob_read_db_drops_sub) (struct mob_db *entry, struct config_setting_t *t);
+typedef void (*HPMHOOK_post_mob_read_db_drops_sub) (struct mob_db *entry, struct config_setting_t *t);
+typedef void (*HPMHOOK_pre_mob_read_db_mvpdrops_sub) (struct mob_db *entry, struct config_setting_t *t);
+typedef void (*HPMHOOK_post_mob_read_db_mvpdrops_sub) (struct mob_db *entry, struct config_setting_t *t);
+typedef uint32 (*HPMHOOK_pre_mob_read_db_mode_sub) (struct mob_db *entry, struct config_setting_t *t);
+typedef uint32 (*HPMHOOK_post_mob_read_db_mode_sub) (uint32 retVal___, struct mob_db *entry, struct config_setting_t *t);
+typedef void (*HPMHOOK_pre_mob_read_db_stats_sub) (struct mob_db *entry, struct config_setting_t *t);
+typedef void (*HPMHOOK_post_mob_read_db_stats_sub) (struct mob_db *entry, struct config_setting_t *t);
+typedef void (*HPMHOOK_pre_mob_name_constants) (void);
+typedef void (*HPMHOOK_post_mob_name_constants) (void);
+typedef bool (*HPMHOOK_pre_mob_readdb_mobavail) (char *str[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_mob_readdb_mobavail) (bool retVal___, char *str[], int *columns, int *current);
+typedef int (*HPMHOOK_pre_mob_read_randommonster) (void);
+typedef int (*HPMHOOK_post_mob_read_randommonster) (int retVal___);
+typedef bool (*HPMHOOK_pre_mob_parse_row_chatdb) (char **str, const char *source, int *line, int *last_msg_id);
+typedef bool (*HPMHOOK_post_mob_parse_row_chatdb) (bool retVal___, char **str, const char *source, int *line, int *last_msg_id);
+typedef void (*HPMHOOK_pre_mob_readchatdb) (void);
+typedef void (*HPMHOOK_post_mob_readchatdb) (void);
+typedef bool (*HPMHOOK_pre_mob_parse_row_mobskilldb) (char **str, int *columns, int *current);
+typedef bool (*HPMHOOK_post_mob_parse_row_mobskilldb) (bool retVal___, char **str, int *columns, int *current);
+typedef void (*HPMHOOK_pre_mob_readskilldb) (void);
+typedef void (*HPMHOOK_post_mob_readskilldb) (void);
+typedef bool (*HPMHOOK_pre_mob_readdb_race2) (char *fields[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_mob_readdb_race2) (bool retVal___, char *fields[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_mob_readdb_itemratio) (char *str[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_mob_readdb_itemratio) (bool retVal___, char *str[], int *columns, int *current);
+typedef void (*HPMHOOK_pre_mob_load) (bool *minimal);
+typedef void (*HPMHOOK_post_mob_load) (bool *minimal);
+typedef void (*HPMHOOK_pre_mob_clear_spawninfo) (void);
+typedef void (*HPMHOOK_post_mob_clear_spawninfo) (void);
+typedef void (*HPMHOOK_pre_mob_destroy_mob_db) (int *index);
+typedef void (*HPMHOOK_post_mob_destroy_mob_db) (int *index);
+#endif // MAP_MOB_H
+#ifdef MAP_NPC_H /* npc_chat */
+typedef int (*HPMHOOK_pre_npc_chat_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_npc_chat_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_npc_chat_finalize) (struct npc_data *nd);
+typedef void (*HPMHOOK_post_npc_chat_finalize) (struct npc_data *nd);
+typedef void (*HPMHOOK_pre_npc_chat_def_pattern) (struct npc_data *nd, int *setid, const char *pattern, const char *label);
+typedef void (*HPMHOOK_post_npc_chat_def_pattern) (struct npc_data *nd, int *setid, const char *pattern, const char *label);
+typedef struct pcrematch_entry* (*HPMHOOK_pre_npc_chat_create_pcrematch_entry) (struct pcrematch_set *set);
+typedef struct pcrematch_entry* (*HPMHOOK_post_npc_chat_create_pcrematch_entry) (struct pcrematch_entry* retVal___, struct pcrematch_set *set);
+typedef void (*HPMHOOK_pre_npc_chat_delete_pcreset) (struct npc_data *nd, int *setid);
+typedef void (*HPMHOOK_post_npc_chat_delete_pcreset) (struct npc_data *nd, int *setid);
+typedef void (*HPMHOOK_pre_npc_chat_deactivate_pcreset) (struct npc_data *nd, int *setid);
+typedef void (*HPMHOOK_post_npc_chat_deactivate_pcreset) (struct npc_data *nd, int *setid);
+typedef void (*HPMHOOK_pre_npc_chat_activate_pcreset) (struct npc_data *nd, int *setid);
+typedef void (*HPMHOOK_post_npc_chat_activate_pcreset) (struct npc_data *nd, int *setid);
+typedef struct pcrematch_set* (*HPMHOOK_pre_npc_chat_lookup_pcreset) (struct npc_data *nd, int *setid);
+typedef struct pcrematch_set* (*HPMHOOK_post_npc_chat_lookup_pcreset) (struct pcrematch_set* retVal___, struct npc_data *nd, int *setid);
+typedef void (*HPMHOOK_pre_npc_chat_finalize_pcrematch_entry) (struct pcrematch_entry *e);
+typedef void (*HPMHOOK_post_npc_chat_finalize_pcrematch_entry) (struct pcrematch_entry *e);
+#endif // MAP_NPC_H
+#ifdef MAP_NPC_H /* npc */
+typedef int (*HPMHOOK_pre_npc_init) (bool *minimal);
+typedef int (*HPMHOOK_post_npc_init) (int retVal___, bool *minimal);
+typedef int (*HPMHOOK_pre_npc_final) (void);
+typedef int (*HPMHOOK_post_npc_final) (int retVal___);
+typedef int (*HPMHOOK_pre_npc_get_new_npc_id) (void);
+typedef int (*HPMHOOK_post_npc_get_new_npc_id) (int retVal___);
+typedef struct view_data* (*HPMHOOK_pre_npc_get_viewdata) (int *class_);
+typedef struct view_data* (*HPMHOOK_post_npc_get_viewdata) (struct view_data* retVal___, int *class_);
+typedef int (*HPMHOOK_pre_npc_isnear_sub) (struct block_list *bl, va_list args);
+typedef int (*HPMHOOK_post_npc_isnear_sub) (int retVal___, struct block_list *bl, va_list args);
+typedef bool (*HPMHOOK_pre_npc_isnear) (struct block_list *bl);
+typedef bool (*HPMHOOK_post_npc_isnear) (bool retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_npc_ontouch_event) (struct map_session_data *sd, struct npc_data *nd);
+typedef int (*HPMHOOK_post_npc_ontouch_event) (int retVal___, struct map_session_data *sd, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_ontouch2_event) (struct map_session_data *sd, struct npc_data *nd);
+typedef int (*HPMHOOK_post_npc_ontouch2_event) (int retVal___, struct map_session_data *sd, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_onuntouch_event) (struct map_session_data *sd, struct npc_data *nd);
+typedef int (*HPMHOOK_post_npc_onuntouch_event) (int retVal___, struct map_session_data *sd, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_enable_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_npc_enable_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_npc_enable) (const char *name, int *flag);
+typedef int (*HPMHOOK_post_npc_enable) (int retVal___, const char *name, int *flag);
+typedef struct npc_data* (*HPMHOOK_pre_npc_name2id) (const char *name);
+typedef struct npc_data* (*HPMHOOK_post_npc_name2id) (struct npc_data* retVal___, const char *name);
+typedef int (*HPMHOOK_pre_npc_event_dequeue) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_npc_event_dequeue) (int retVal___, struct map_session_data *sd);
+typedef struct DBData (*HPMHOOK_pre_npc_event_export_create) (union DBKey *key, va_list args);
+typedef struct DBData (*HPMHOOK_post_npc_event_export_create) (struct DBData retVal___, union DBKey *key, va_list args);
+typedef int (*HPMHOOK_pre_npc_event_export) (struct npc_data *nd, int *i);
+typedef int (*HPMHOOK_post_npc_event_export) (int retVal___, struct npc_data *nd, int *i);
+typedef int (*HPMHOOK_pre_npc_event_sub) (struct map_session_data *sd, struct event_data *ev, const char *eventname);
+typedef int (*HPMHOOK_post_npc_event_sub) (int retVal___, struct map_session_data *sd, struct event_data *ev, const char *eventname);
+typedef void (*HPMHOOK_pre_npc_event_doall_sub) (void *key, void *data, va_list ap);
+typedef void (*HPMHOOK_post_npc_event_doall_sub) (void *key, void *data, va_list ap);
+typedef int (*HPMHOOK_pre_npc_event_do) (const char *name);
+typedef int (*HPMHOOK_post_npc_event_do) (int retVal___, const char *name);
+typedef int (*HPMHOOK_pre_npc_event_doall_id) (const char *name, int *rid);
+typedef int (*HPMHOOK_post_npc_event_doall_id) (int retVal___, const char *name, int *rid);
+typedef int (*HPMHOOK_pre_npc_event_doall) (const char *name);
+typedef int (*HPMHOOK_post_npc_event_doall) (int retVal___, const char *name);
+typedef int (*HPMHOOK_pre_npc_event_do_clock) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_npc_event_do_clock) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_npc_event_do_oninit) (bool *reload);
+typedef void (*HPMHOOK_post_npc_event_do_oninit) (bool *reload);
+typedef int (*HPMHOOK_pre_npc_timerevent_export) (struct npc_data *nd, int *i);
+typedef int (*HPMHOOK_post_npc_timerevent_export) (int retVal___, struct npc_data *nd, int *i);
+typedef int (*HPMHOOK_pre_npc_timerevent) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_npc_timerevent) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_npc_timerevent_start) (struct npc_data *nd, int *rid);
+typedef int (*HPMHOOK_post_npc_timerevent_start) (int retVal___, struct npc_data *nd, int *rid);
+typedef int (*HPMHOOK_pre_npc_timerevent_stop) (struct npc_data *nd);
+typedef int (*HPMHOOK_post_npc_timerevent_stop) (int retVal___, struct npc_data *nd);
+typedef void (*HPMHOOK_pre_npc_timerevent_quit) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_npc_timerevent_quit) (struct map_session_data *sd);
+typedef int64 (*HPMHOOK_pre_npc_gettimerevent_tick) (struct npc_data *nd);
+typedef int64 (*HPMHOOK_post_npc_gettimerevent_tick) (int64 retVal___, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_settimerevent_tick) (struct npc_data *nd, int *newtimer);
+typedef int (*HPMHOOK_post_npc_settimerevent_tick) (int retVal___, struct npc_data *nd, int *newtimer);
+typedef int (*HPMHOOK_pre_npc_event) (struct map_session_data *sd, const char *eventname, int *ontouch);
+typedef int (*HPMHOOK_post_npc_event) (int retVal___, struct map_session_data *sd, const char *eventname, int *ontouch);
+typedef int (*HPMHOOK_pre_npc_touch_areanpc_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_npc_touch_areanpc_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_npc_touchnext_areanpc) (struct map_session_data *sd, bool *leavemap);
+typedef int (*HPMHOOK_post_npc_touchnext_areanpc) (int retVal___, struct map_session_data *sd, bool *leavemap);
+typedef int (*HPMHOOK_pre_npc_touch_areanpc) (struct map_session_data *sd, int16 *m, int16 *x, int16 *y);
+typedef int (*HPMHOOK_post_npc_touch_areanpc) (int retVal___, struct map_session_data *sd, int16 *m, int16 *x, int16 *y);
+typedef int (*HPMHOOK_pre_npc_untouch_areanpc) (struct map_session_data *sd, int16 *m, int16 *x, int16 *y);
+typedef int (*HPMHOOK_post_npc_untouch_areanpc) (int retVal___, struct map_session_data *sd, int16 *m, int16 *x, int16 *y);
+typedef int (*HPMHOOK_pre_npc_touch_areanpc2) (struct mob_data *md);
+typedef int (*HPMHOOK_post_npc_touch_areanpc2) (int retVal___, struct mob_data *md);
+typedef int (*HPMHOOK_pre_npc_check_areanpc) (int *flag, int16 *m, int16 *x, int16 *y, int16 *range);
+typedef int (*HPMHOOK_post_npc_check_areanpc) (int retVal___, int *flag, int16 *m, int16 *x, int16 *y, int16 *range);
+typedef struct npc_data* (*HPMHOOK_pre_npc_checknear) (struct map_session_data *sd, struct block_list *bl);
+typedef struct npc_data* (*HPMHOOK_post_npc_checknear) (struct npc_data* retVal___, struct map_session_data *sd, struct block_list *bl);
+typedef int (*HPMHOOK_pre_npc_globalmessage) (const char *name, const char *mes);
+typedef int (*HPMHOOK_post_npc_globalmessage) (int retVal___, const char *name, const char *mes);
+typedef void (*HPMHOOK_pre_npc_run_tomb) (struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_post_npc_run_tomb) (struct map_session_data *sd, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_click) (struct map_session_data *sd, struct npc_data *nd);
+typedef int (*HPMHOOK_post_npc_click) (int retVal___, struct map_session_data *sd, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_scriptcont) (struct map_session_data *sd, int *id, bool *closing);
+typedef int (*HPMHOOK_post_npc_scriptcont) (int retVal___, struct map_session_data *sd, int *id, bool *closing);
+typedef int (*HPMHOOK_pre_npc_buysellsel) (struct map_session_data *sd, int *id, int *type);
+typedef int (*HPMHOOK_post_npc_buysellsel) (int retVal___, struct map_session_data *sd, int *id, int *type);
+typedef int (*HPMHOOK_pre_npc_cashshop_buylist) (struct map_session_data *sd, int *points, struct itemlist *item_list);
+typedef int (*HPMHOOK_post_npc_cashshop_buylist) (int retVal___, struct map_session_data *sd, int *points, struct itemlist *item_list);
+typedef int (*HPMHOOK_pre_npc_buylist_sub) (struct map_session_data *sd, struct itemlist *item_list, struct npc_data *nd);
+typedef int (*HPMHOOK_post_npc_buylist_sub) (int retVal___, struct map_session_data *sd, struct itemlist *item_list, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_cashshop_buy) (struct map_session_data *sd, int *nameid, int *amount, int *points);
+typedef int (*HPMHOOK_post_npc_cashshop_buy) (int retVal___, struct map_session_data *sd, int *nameid, int *amount, int *points);
+typedef int (*HPMHOOK_pre_npc_buylist) (struct map_session_data *sd, struct itemlist *item_list);
+typedef int (*HPMHOOK_post_npc_buylist) (int retVal___, struct map_session_data *sd, struct itemlist *item_list);
+typedef int (*HPMHOOK_pre_npc_selllist_sub) (struct map_session_data *sd, struct itemlist *item_list, struct npc_data *nd);
+typedef int (*HPMHOOK_post_npc_selllist_sub) (int retVal___, struct map_session_data *sd, struct itemlist *item_list, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_selllist) (struct map_session_data *sd, struct itemlist *item_list);
+typedef int (*HPMHOOK_post_npc_selllist) (int retVal___, struct map_session_data *sd, struct itemlist *item_list);
+typedef int (*HPMHOOK_pre_npc_remove_map) (struct npc_data *nd);
+typedef int (*HPMHOOK_post_npc_remove_map) (int retVal___, struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_unload_ev) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_npc_unload_ev) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_npc_unload_ev_label) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_npc_unload_ev_label) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_npc_unload_dup_sub) (struct npc_data *nd, va_list args);
+typedef int (*HPMHOOK_post_npc_unload_dup_sub) (int retVal___, struct npc_data *nd, va_list args);
+typedef void (*HPMHOOK_pre_npc_unload_duplicates) (struct npc_data *nd);
+typedef void (*HPMHOOK_post_npc_unload_duplicates) (struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_unload) (struct npc_data *nd, bool *single);
+typedef int (*HPMHOOK_post_npc_unload) (int retVal___, struct npc_data *nd, bool *single);
+typedef void (*HPMHOOK_pre_npc_clearsrcfile) (void);
+typedef void (*HPMHOOK_post_npc_clearsrcfile) (void);
+typedef void (*HPMHOOK_pre_npc_addsrcfile) (const char *name);
+typedef void (*HPMHOOK_post_npc_addsrcfile) (const char *name);
+typedef void (*HPMHOOK_pre_npc_delsrcfile) (const char *name);
+typedef void (*HPMHOOK_post_npc_delsrcfile) (const char *name);
+typedef const char* (*HPMHOOK_pre_npc_retainpathreference) (const char *filepath);
+typedef const char* (*HPMHOOK_post_npc_retainpathreference) (const char* retVal___, const char *filepath);
+typedef void (*HPMHOOK_pre_npc_releasepathreference) (const char *filepath);
+typedef void (*HPMHOOK_post_npc_releasepathreference) (const char *filepath);
+typedef void (*HPMHOOK_pre_npc_parsename) (struct npc_data *nd, const char *name, const char *start, const char *buffer, const char *filepath);
+typedef void (*HPMHOOK_post_npc_parsename) (struct npc_data *nd, const char *name, const char *start, const char *buffer, const char *filepath);
+typedef int (*HPMHOOK_pre_npc_parseview) (const char *w4, const char *start, const char *buffer, const char *filepath);
+typedef int (*HPMHOOK_post_npc_parseview) (int retVal___, const char *w4, const char *start, const char *buffer, const char *filepath);
+typedef bool (*HPMHOOK_pre_npc_viewisid) (const char *viewid);
+typedef bool (*HPMHOOK_post_npc_viewisid) (bool retVal___, const char *viewid);
+typedef struct npc_data* (*HPMHOOK_pre_npc_create_npc) (enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int16 *class_);
+typedef struct npc_data* (*HPMHOOK_post_npc_create_npc) (struct npc_data* retVal___, enum npc_subtype *subtype, int *m, int *x, int *y, uint8 *dir, int16 *class_);
+typedef struct npc_data* (*HPMHOOK_pre_npc_add_warp) (char *name, short *from_mapid, short *from_x, short *from_y, short *xs, short *ys, unsigned short *to_mapindex, short *to_x, short *to_y);
+typedef struct npc_data* (*HPMHOOK_post_npc_add_warp) (struct npc_data* retVal___, char *name, short *from_mapid, short *from_x, short *from_y, short *xs, short *ys, unsigned short *to_mapindex, short *to_x, short *to_y);
+typedef const char* (*HPMHOOK_pre_npc_parse_warp) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_post_npc_parse_warp) (const char* retVal___, const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_pre_npc_parse_shop) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_post_npc_parse_shop) (const char* retVal___, const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_pre_npc_parse_unknown_object) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_post_npc_parse_unknown_object) (const char* retVal___, const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef void (*HPMHOOK_pre_npc_convertlabel_db) (struct npc_label_list *label_list, const char *filepath);
+typedef void (*HPMHOOK_post_npc_convertlabel_db) (struct npc_label_list *label_list, const char *filepath);
+typedef const char* (*HPMHOOK_pre_npc_skip_script) (const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_post_npc_skip_script) (const char* retVal___, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_pre_npc_parse_script) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *options, int *retval);
+typedef const char* (*HPMHOOK_post_npc_parse_script) (const char* retVal___, const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *options, int *retval);
+typedef void (*HPMHOOK_pre_npc_add_to_location) (struct npc_data *nd);
+typedef void (*HPMHOOK_post_npc_add_to_location) (struct npc_data *nd);
+typedef bool (*HPMHOOK_pre_npc_duplicate_script_sub) (struct npc_data *nd, const struct npc_data *snd, int *xs, int *ys, int *options);
+typedef bool (*HPMHOOK_post_npc_duplicate_script_sub) (bool retVal___, struct npc_data *nd, const struct npc_data *snd, int *xs, int *ys, int *options);
+typedef bool (*HPMHOOK_pre_npc_duplicate_shop_sub) (struct npc_data *nd, const struct npc_data *snd, int *xs, int *ys, int *options);
+typedef bool (*HPMHOOK_post_npc_duplicate_shop_sub) (bool retVal___, struct npc_data *nd, const struct npc_data *snd, int *xs, int *ys, int *options);
+typedef bool (*HPMHOOK_pre_npc_duplicate_warp_sub) (struct npc_data *nd, const struct npc_data *snd, int *xs, int *ys, int *options);
+typedef bool (*HPMHOOK_post_npc_duplicate_warp_sub) (bool retVal___, struct npc_data *nd, const struct npc_data *snd, int *xs, int *ys, int *options);
+typedef bool (*HPMHOOK_pre_npc_duplicate_sub) (struct npc_data *nd, const struct npc_data *snd, int *xs, int *ys, int *options);
+typedef bool (*HPMHOOK_post_npc_duplicate_sub) (bool retVal___, struct npc_data *nd, const struct npc_data *snd, int *xs, int *ys, int *options);
+typedef const char* (*HPMHOOK_pre_npc_parse_duplicate) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *options, int *retval);
+typedef const char* (*HPMHOOK_post_npc_parse_duplicate) (const char* retVal___, const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *options, int *retval);
+typedef int (*HPMHOOK_pre_npc_duplicate4instance) (struct npc_data *snd, int16 *m);
+typedef int (*HPMHOOK_post_npc_duplicate4instance) (int retVal___, struct npc_data *snd, int16 *m);
+typedef void (*HPMHOOK_pre_npc_setcells) (struct npc_data *nd);
+typedef void (*HPMHOOK_post_npc_setcells) (struct npc_data *nd);
+typedef int (*HPMHOOK_pre_npc_unsetcells_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_npc_unsetcells_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_npc_unsetcells) (struct npc_data *nd);
+typedef void (*HPMHOOK_post_npc_unsetcells) (struct npc_data *nd);
+typedef void (*HPMHOOK_pre_npc_movenpc) (struct npc_data *nd, int16 *x, int16 *y);
+typedef void (*HPMHOOK_post_npc_movenpc) (struct npc_data *nd, int16 *x, int16 *y);
+typedef void (*HPMHOOK_pre_npc_setdisplayname) (struct npc_data *nd, const char *newname);
+typedef void (*HPMHOOK_post_npc_setdisplayname) (struct npc_data *nd, const char *newname);
+typedef void (*HPMHOOK_pre_npc_setclass) (struct npc_data *nd, short *class_);
+typedef void (*HPMHOOK_post_npc_setclass) (struct npc_data *nd, short *class_);
+typedef int (*HPMHOOK_pre_npc_do_atcmd_event) (struct map_session_data *sd, const char *command, const char *message, const char *eventname);
+typedef int (*HPMHOOK_post_npc_do_atcmd_event) (int retVal___, struct map_session_data *sd, const char *command, const char *message, const char *eventname);
+typedef const char* (*HPMHOOK_pre_npc_parse_function) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_post_npc_parse_function) (const char* retVal___, const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef void (*HPMHOOK_pre_npc_parse_mob2) (struct spawn_data *mobspawn);
+typedef void (*HPMHOOK_post_npc_parse_mob2) (struct spawn_data *mobspawn);
+typedef const char* (*HPMHOOK_pre_npc_parse_mob) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_post_npc_parse_mob) (const char* retVal___, const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_pre_npc_parse_mapflag) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef const char* (*HPMHOOK_post_npc_parse_mapflag) (const char* retVal___, const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef void (*HPMHOOK_pre_npc_parse_unknown_mapflag) (const char *name, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef void (*HPMHOOK_post_npc_parse_unknown_mapflag) (const char *name, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval);
+typedef int (*HPMHOOK_pre_npc_parsesrcfile) (const char *filepath, bool *runOnInit);
+typedef int (*HPMHOOK_post_npc_parsesrcfile) (int retVal___, const char *filepath, bool *runOnInit);
+typedef int (*HPMHOOK_pre_npc_script_event) (struct map_session_data *sd, enum npce_event *type);
+typedef int (*HPMHOOK_post_npc_script_event) (int retVal___, struct map_session_data *sd, enum npce_event *type);
+typedef void (*HPMHOOK_pre_npc_read_event_script) (void);
+typedef void (*HPMHOOK_post_npc_read_event_script) (void);
+typedef int (*HPMHOOK_pre_npc_path_db_clear_sub) (union DBKey *key, struct DBData *data, va_list args);
+typedef int (*HPMHOOK_post_npc_path_db_clear_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list args);
+typedef int (*HPMHOOK_pre_npc_ev_label_db_clear_sub) (union DBKey *key, struct DBData *data, va_list args);
+typedef int (*HPMHOOK_post_npc_ev_label_db_clear_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list args);
+typedef int (*HPMHOOK_pre_npc_reload) (void);
+typedef int (*HPMHOOK_post_npc_reload) (int retVal___);
+typedef bool (*HPMHOOK_pre_npc_unloadfile) (const char *filepath);
+typedef bool (*HPMHOOK_post_npc_unloadfile) (bool retVal___, const char *filepath);
+typedef void (*HPMHOOK_pre_npc_do_clear_npc) (void);
+typedef void (*HPMHOOK_post_npc_do_clear_npc) (void);
+typedef void (*HPMHOOK_pre_npc_debug_warps_sub) (struct npc_data *nd);
+typedef void (*HPMHOOK_post_npc_debug_warps_sub) (struct npc_data *nd);
+typedef void (*HPMHOOK_pre_npc_debug_warps) (void);
+typedef void (*HPMHOOK_post_npc_debug_warps) (void);
+typedef void (*HPMHOOK_pre_npc_trader_count_funds) (struct npc_data *nd, struct map_session_data *sd);
+typedef void (*HPMHOOK_post_npc_trader_count_funds) (struct npc_data *nd, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_npc_trader_pay) (struct npc_data *nd, struct map_session_data *sd, int *price, int *points);
+typedef bool (*HPMHOOK_post_npc_trader_pay) (bool retVal___, struct npc_data *nd, struct map_session_data *sd, int *price, int *points);
+typedef void (*HPMHOOK_pre_npc_trader_update) (int *master);
+typedef void (*HPMHOOK_post_npc_trader_update) (int *master);
+typedef int (*HPMHOOK_pre_npc_market_buylist) (struct map_session_data *sd, struct itemlist *item_list);
+typedef int (*HPMHOOK_post_npc_market_buylist) (int retVal___, struct map_session_data *sd, struct itemlist *item_list);
+typedef bool (*HPMHOOK_pre_npc_trader_open) (struct map_session_data *sd, struct npc_data *nd);
+typedef bool (*HPMHOOK_post_npc_trader_open) (bool retVal___, struct map_session_data *sd, struct npc_data *nd);
+typedef void (*HPMHOOK_pre_npc_market_fromsql) (void);
+typedef void (*HPMHOOK_post_npc_market_fromsql) (void);
+typedef void (*HPMHOOK_pre_npc_market_tosql) (struct npc_data *nd, unsigned short *index);
+typedef void (*HPMHOOK_post_npc_market_tosql) (struct npc_data *nd, unsigned short *index);
+typedef void (*HPMHOOK_pre_npc_market_delfromsql) (struct npc_data *nd, unsigned short *index);
+typedef void (*HPMHOOK_post_npc_market_delfromsql) (struct npc_data *nd, unsigned short *index);
+typedef void (*HPMHOOK_pre_npc_market_delfromsql_sub) (const char *npcname, unsigned short *index);
+typedef void (*HPMHOOK_post_npc_market_delfromsql_sub) (const char *npcname, unsigned short *index);
+typedef bool (*HPMHOOK_pre_npc_db_checkid) (const int *id);
+typedef bool (*HPMHOOK_post_npc_db_checkid) (bool retVal___, const int *id);
+typedef int (*HPMHOOK_pre_npc_secure_timeout_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_npc_secure_timeout_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+#endif // MAP_NPC_H
+#ifdef COMMON_NULLPO_H /* nullpo */
+typedef void (*HPMHOOK_pre_nullpo_assert_report) (const char *file, int *line, const char *func, const char *targetname, const char *title);
+typedef void (*HPMHOOK_post_nullpo_assert_report) (const char *file, int *line, const char *func, const char *targetname, const char *title);
+#endif // COMMON_NULLPO_H
+#ifdef MAP_PARTY_H /* party */
+typedef void (*HPMHOOK_pre_party_init) (bool *minimal);
+typedef void (*HPMHOOK_post_party_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_party_final) (void);
+typedef void (*HPMHOOK_post_party_final) (void);
+typedef struct party_data* (*HPMHOOK_pre_party_search) (int *party_id);
+typedef struct party_data* (*HPMHOOK_post_party_search) (struct party_data* retVal___, int *party_id);
+typedef struct party_data* (*HPMHOOK_pre_party_searchname) (const char *str);
+typedef struct party_data* (*HPMHOOK_post_party_searchname) (struct party_data* retVal___, const char *str);
+typedef int (*HPMHOOK_pre_party_getmemberid) (struct party_data *p, struct map_session_data *sd);
+typedef int (*HPMHOOK_post_party_getmemberid) (int retVal___, struct party_data *p, struct map_session_data *sd);
+typedef struct map_session_data* (*HPMHOOK_pre_party_getavailablesd) (struct party_data *p);
+typedef struct map_session_data* (*HPMHOOK_post_party_getavailablesd) (struct map_session_data* retVal___, struct party_data *p);
+typedef int (*HPMHOOK_pre_party_create) (struct map_session_data *sd, const char *name, int *item, int *item2);
+typedef int (*HPMHOOK_post_party_create) (int retVal___, struct map_session_data *sd, const char *name, int *item, int *item2);
+typedef void (*HPMHOOK_pre_party_created) (int *account_id, int *char_id, int *fail, int *party_id, const char *name);
+typedef void (*HPMHOOK_post_party_created) (int *account_id, int *char_id, int *fail, int *party_id, const char *name);
+typedef int (*HPMHOOK_pre_party_request_info) (int *party_id, int *char_id);
+typedef int (*HPMHOOK_post_party_request_info) (int retVal___, int *party_id, int *char_id);
+typedef int (*HPMHOOK_pre_party_invite) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef int (*HPMHOOK_post_party_invite) (int retVal___, struct map_session_data *sd, struct map_session_data *tsd);
+typedef void (*HPMHOOK_pre_party_member_joined) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_party_member_joined) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_party_member_added) (int *party_id, int *account_id, int *char_id, int *flag);
+typedef int (*HPMHOOK_post_party_member_added) (int retVal___, int *party_id, int *account_id, int *char_id, int *flag);
+typedef int (*HPMHOOK_pre_party_leave) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_party_leave) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_party_removemember) (struct map_session_data *sd, int *account_id, const char *name);
+typedef int (*HPMHOOK_post_party_removemember) (int retVal___, struct map_session_data *sd, int *account_id, const char *name);
+typedef int (*HPMHOOK_pre_party_member_withdraw) (int *party_id, int *account_id, int *char_id);
+typedef int (*HPMHOOK_post_party_member_withdraw) (int retVal___, int *party_id, int *account_id, int *char_id);
+typedef void (*HPMHOOK_pre_party_reply_invite) (struct map_session_data *sd, int *party_id, int *flag);
+typedef void (*HPMHOOK_post_party_reply_invite) (struct map_session_data *sd, int *party_id, int *flag);
+typedef int (*HPMHOOK_pre_party_recv_noinfo) (int *party_id, int *char_id);
+typedef int (*HPMHOOK_post_party_recv_noinfo) (int retVal___, int *party_id, int *char_id);
+typedef int (*HPMHOOK_pre_party_recv_info) (const struct party *sp, int *char_id);
+typedef int (*HPMHOOK_post_party_recv_info) (int retVal___, const struct party *sp, int *char_id);
+typedef int (*HPMHOOK_pre_party_recv_movemap) (int *party_id, int *account_id, int *char_id, unsigned short *mapid, int *online, int *lv);
+typedef int (*HPMHOOK_post_party_recv_movemap) (int retVal___, int *party_id, int *account_id, int *char_id, unsigned short *mapid, int *online, int *lv);
+typedef int (*HPMHOOK_pre_party_broken) (int *party_id);
+typedef int (*HPMHOOK_post_party_broken) (int retVal___, int *party_id);
+typedef int (*HPMHOOK_pre_party_optionchanged) (int *party_id, int *account_id, int *exp, int *item, int *flag);
+typedef int (*HPMHOOK_post_party_optionchanged) (int retVal___, int *party_id, int *account_id, int *exp, int *item, int *flag);
+typedef int (*HPMHOOK_pre_party_changeoption) (struct map_session_data *sd, int *exp, int *item);
+typedef int (*HPMHOOK_post_party_changeoption) (int retVal___, struct map_session_data *sd, int *exp, int *item);
+typedef bool (*HPMHOOK_pre_party_changeleader) (struct map_session_data *sd, struct map_session_data *t_sd);
+typedef bool (*HPMHOOK_post_party_changeleader) (bool retVal___, struct map_session_data *sd, struct map_session_data *t_sd);
+typedef void (*HPMHOOK_pre_party_send_movemap) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_party_send_movemap) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_party_send_levelup) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_party_send_levelup) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_party_send_logout) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_party_send_logout) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_party_send_message) (struct map_session_data *sd, const char *mes);
+typedef int (*HPMHOOK_post_party_send_message) (int retVal___, struct map_session_data *sd, const char *mes);
+typedef int (*HPMHOOK_pre_party_recv_message) (int *party_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_post_party_recv_message) (int retVal___, int *party_id, int *account_id, const char *mes, int *len);
+typedef int (*HPMHOOK_pre_party_skill_check) (struct map_session_data *sd, int *party_id, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_party_skill_check) (int retVal___, struct map_session_data *sd, int *party_id, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_party_send_xy_clear) (struct party_data *p);
+typedef int (*HPMHOOK_post_party_send_xy_clear) (int retVal___, struct party_data *p);
+typedef int (*HPMHOOK_pre_party_exp_share) (struct party_data *p, struct block_list *src, unsigned int *base_exp, unsigned int *job_exp, int *zeny);
+typedef int (*HPMHOOK_post_party_exp_share) (int retVal___, struct party_data *p, struct block_list *src, unsigned int *base_exp, unsigned int *job_exp, int *zeny);
+typedef int (*HPMHOOK_pre_party_share_loot) (struct party_data *p, struct map_session_data *sd, struct item *item_data, int *first_charid);
+typedef int (*HPMHOOK_post_party_share_loot) (int retVal___, struct party_data *p, struct map_session_data *sd, struct item *item_data, int *first_charid);
+typedef int (*HPMHOOK_pre_party_send_dot_remove) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_party_send_dot_remove) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_party_sub_count) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_party_sub_count) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_party_sub_count_chorus) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_party_sub_count_chorus) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_party_booking_register) (struct map_session_data *sd, short *level, short *mapid, short *job);
+typedef void (*HPMHOOK_post_party_booking_register) (struct map_session_data *sd, short *level, short *mapid, short *job);
+typedef void (*HPMHOOK_pre_party_booking_update) (struct map_session_data *sd, short *job);
+typedef void (*HPMHOOK_post_party_booking_update) (struct map_session_data *sd, short *job);
+typedef void (*HPMHOOK_pre_party_booking_search) (struct map_session_data *sd, short *level, short *mapid, short *job, unsigned long *lastindex, short *resultcount);
+typedef void (*HPMHOOK_post_party_booking_search) (struct map_session_data *sd, short *level, short *mapid, short *job, unsigned long *lastindex, short *resultcount);
+typedef void (*HPMHOOK_pre_party_recruit_register) (struct map_session_data *sd, short *level, const char *notice);
+typedef void (*HPMHOOK_post_party_recruit_register) (struct map_session_data *sd, short *level, const char *notice);
+typedef void (*HPMHOOK_pre_party_recruit_update) (struct map_session_data *sd, const char *notice);
+typedef void (*HPMHOOK_post_party_recruit_update) (struct map_session_data *sd, const char *notice);
+typedef void (*HPMHOOK_pre_party_recruit_search) (struct map_session_data *sd, short *level, short *mapid, unsigned long *lastindex, short *resultcount);
+typedef void (*HPMHOOK_post_party_recruit_search) (struct map_session_data *sd, short *level, short *mapid, unsigned long *lastindex, short *resultcount);
+typedef bool (*HPMHOOK_pre_party_booking_delete) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_party_booking_delete) (bool retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_party_vforeachsamemap) (int ( *func ) (struct block_list *, va_list), struct map_session_data *sd, int *range, va_list ap);
+typedef int (*HPMHOOK_post_party_vforeachsamemap) (int retVal___, int ( *func ) (struct block_list *, va_list), struct map_session_data *sd, int *range, va_list ap);
+typedef int (*HPMHOOK_pre_party_send_xy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_party_send_xy_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_party_fill_member) (struct party_member *member, struct map_session_data *sd, unsigned int *leader);
+typedef void (*HPMHOOK_post_party_fill_member) (struct party_member *member, struct map_session_data *sd, unsigned int *leader);
+typedef struct map_session_data* (*HPMHOOK_pre_party_sd_check) (int *party_id, int *account_id, int *char_id);
+typedef struct map_session_data* (*HPMHOOK_post_party_sd_check) (struct map_session_data* retVal___, int *party_id, int *account_id, int *char_id);
+typedef void (*HPMHOOK_pre_party_check_state) (struct party_data *p);
+typedef void (*HPMHOOK_post_party_check_state) (struct party_data *p);
+typedef struct party_booking_ad_info* (*HPMHOOK_pre_party_create_booking_data) (void);
+typedef struct party_booking_ad_info* (*HPMHOOK_post_party_create_booking_data) (struct party_booking_ad_info* retVal___);
+typedef int (*HPMHOOK_pre_party_db_final) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_party_db_final) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+#endif // MAP_PARTY_H
+#ifdef MAP_PATH_H /* path */
+typedef int (*HPMHOOK_pre_path_blownpos) (struct block_list *bl, int16 *m, int16 *x0, int16 *y0, int16 *dx, int16 *dy, int *count);
+typedef int (*HPMHOOK_post_path_blownpos) (int retVal___, struct block_list *bl, int16 *m, int16 *x0, int16 *y0, int16 *dx, int16 *dy, int *count);
+typedef bool (*HPMHOOK_pre_path_search) (struct walkpath_data *wpd, struct block_list *bl, int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, int *flag, cell_chk *cell);
+typedef bool (*HPMHOOK_post_path_search) (bool retVal___, struct walkpath_data *wpd, struct block_list *bl, int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, int *flag, cell_chk *cell);
+typedef bool (*HPMHOOK_pre_path_search_long) (struct shootpath_data *spd, struct block_list *bl, int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, cell_chk *cell);
+typedef bool (*HPMHOOK_post_path_search_long) (bool retVal___, struct shootpath_data *spd, struct block_list *bl, int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, cell_chk *cell);
+typedef bool (*HPMHOOK_pre_path_check_distance) (int *dx, int *dy, int *distance);
+typedef bool (*HPMHOOK_post_path_check_distance) (bool retVal___, int *dx, int *dy, int *distance);
+typedef unsigned int (*HPMHOOK_pre_path_distance) (int *dx, int *dy);
+typedef unsigned int (*HPMHOOK_post_path_distance) (unsigned int retVal___, int *dx, int *dy);
+typedef bool (*HPMHOOK_pre_path_check_distance_client) (int *dx, int *dy, int *distance);
+typedef bool (*HPMHOOK_post_path_check_distance_client) (bool retVal___, int *dx, int *dy, int *distance);
+typedef int (*HPMHOOK_pre_path_distance_client) (int *dx, int *dy);
+typedef int (*HPMHOOK_post_path_distance_client) (int retVal___, int *dx, int *dy);
+#endif // MAP_PATH_H
+#ifdef MAP_PC_GROUPS_H /* pcg */
+typedef void (*HPMHOOK_pre_pcg_init) (void);
+typedef void (*HPMHOOK_post_pcg_init) (void);
+typedef void (*HPMHOOK_pre_pcg_final) (void);
+typedef void (*HPMHOOK_post_pcg_final) (void);
+typedef void (*HPMHOOK_pre_pcg_reload) (void);
+typedef void (*HPMHOOK_post_pcg_reload) (void);
+typedef GroupSettings* (*HPMHOOK_pre_pcg_get_dummy_group) (void);
+typedef GroupSettings* (*HPMHOOK_post_pcg_get_dummy_group) (GroupSettings* retVal___);
+typedef bool (*HPMHOOK_pre_pcg_exists) (int *group_id);
+typedef bool (*HPMHOOK_post_pcg_exists) (bool retVal___, int *group_id);
+typedef GroupSettings* (*HPMHOOK_pre_pcg_id2group) (int *group_id);
+typedef GroupSettings* (*HPMHOOK_post_pcg_id2group) (GroupSettings* retVal___, int *group_id);
+typedef bool (*HPMHOOK_pre_pcg_has_permission) (GroupSettings *group, unsigned int *permission);
+typedef bool (*HPMHOOK_post_pcg_has_permission) (bool retVal___, GroupSettings *group, unsigned int *permission);
+typedef bool (*HPMHOOK_pre_pcg_should_log_commands) (GroupSettings *group);
+typedef bool (*HPMHOOK_post_pcg_should_log_commands) (bool retVal___, GroupSettings *group);
+typedef const char* (*HPMHOOK_pre_pcg_get_name) (GroupSettings *group);
+typedef const char* (*HPMHOOK_post_pcg_get_name) (const char* retVal___, GroupSettings *group);
+typedef int (*HPMHOOK_pre_pcg_get_level) (GroupSettings *group);
+typedef int (*HPMHOOK_post_pcg_get_level) (int retVal___, GroupSettings *group);
+typedef int (*HPMHOOK_pre_pcg_get_idx) (GroupSettings *group);
+typedef int (*HPMHOOK_post_pcg_get_idx) (int retVal___, GroupSettings *group);
+#endif // MAP_PC_GROUPS_H
+#ifdef MAP_PC_H /* pc */
+typedef void (*HPMHOOK_pre_pc_init) (bool *minimal);
+typedef void (*HPMHOOK_post_pc_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_pc_final) (void);
+typedef void (*HPMHOOK_post_pc_final) (void);
+typedef struct map_session_data* (*HPMHOOK_pre_pc_get_dummy_sd) (void);
+typedef struct map_session_data* (*HPMHOOK_post_pc_get_dummy_sd) (struct map_session_data* retVal___);
+typedef int (*HPMHOOK_pre_pc_class2idx) (int *class_);
+typedef int (*HPMHOOK_post_pc_class2idx) (int retVal___, int *class_);
+typedef bool (*HPMHOOK_pre_pc_can_talk) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_pc_can_talk) (bool retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_pc_can_attack) (struct map_session_data *sd, int *target_id);
+typedef bool (*HPMHOOK_post_pc_can_attack) (bool retVal___, struct map_session_data *sd, int *target_id);
+typedef bool (*HPMHOOK_pre_pc_can_use_command) (struct map_session_data *sd, const char *command);
+typedef bool (*HPMHOOK_post_pc_can_use_command) (bool retVal___, struct map_session_data *sd, const char *command);
+typedef int (*HPMHOOK_pre_pc_set_group) (struct map_session_data *sd, int *group_id);
+typedef int (*HPMHOOK_post_pc_set_group) (int retVal___, struct map_session_data *sd, int *group_id);
+typedef bool (*HPMHOOK_pre_pc_should_log_commands) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_pc_should_log_commands) (bool retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_setrestartvalue) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_post_pc_setrestartvalue) (int retVal___, struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_pre_pc_makesavestatus) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_makesavestatus) (int retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_respawn) (struct map_session_data *sd, clr_type *clrtype);
+typedef void (*HPMHOOK_post_pc_respawn) (struct map_session_data *sd, clr_type *clrtype);
+typedef int (*HPMHOOK_pre_pc_setnewpc) (struct map_session_data *sd, int *account_id, int *char_id, int *login_id1, unsigned int *client_tick, int *sex, int *fd);
+typedef int (*HPMHOOK_post_pc_setnewpc) (int retVal___, struct map_session_data *sd, int *account_id, int *char_id, int *login_id1, unsigned int *client_tick, int *sex, int *fd);
+typedef bool (*HPMHOOK_pre_pc_authok) (struct map_session_data *sd, int *login_id2, time_t *expiration_time, int *group_id, const struct mmo_charstatus *st, bool *changing_mapservers);
+typedef bool (*HPMHOOK_post_pc_authok) (bool retVal___, struct map_session_data *sd, int *login_id2, time_t *expiration_time, int *group_id, const struct mmo_charstatus *st, bool *changing_mapservers);
+typedef void (*HPMHOOK_pre_pc_authfail) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_authfail) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_reg_received) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_reg_received) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_isequip) (struct map_session_data *sd, int *n);
+typedef int (*HPMHOOK_post_pc_isequip) (int retVal___, struct map_session_data *sd, int *n);
+typedef int (*HPMHOOK_pre_pc_equippoint) (struct map_session_data *sd, int *n);
+typedef int (*HPMHOOK_post_pc_equippoint) (int retVal___, struct map_session_data *sd, int *n);
+typedef int (*HPMHOOK_pre_pc_setinventorydata) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_setinventorydata) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_checkskill) (struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_post_pc_checkskill) (int retVal___, struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_pc_checkskill2) (struct map_session_data *sd, uint16 *index);
+typedef int (*HPMHOOK_post_pc_checkskill2) (int retVal___, struct map_session_data *sd, uint16 *index);
+typedef int (*HPMHOOK_pre_pc_checkallowskill) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_checkallowskill) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_checkequip) (struct map_session_data *sd, int *pos);
+typedef int (*HPMHOOK_post_pc_checkequip) (int retVal___, struct map_session_data *sd, int *pos);
+typedef int (*HPMHOOK_pre_pc_calc_skilltree) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_calc_skilltree) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_calc_skilltree_normalize_job) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_calc_skilltree_normalize_job) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_clean_skilltree) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_clean_skilltree) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_setpos) (struct map_session_data *sd, unsigned short *map_index, int *x, int *y, clr_type *clrtype);
+typedef int (*HPMHOOK_post_pc_setpos) (int retVal___, struct map_session_data *sd, unsigned short *map_index, int *x, int *y, clr_type *clrtype);
+typedef int (*HPMHOOK_pre_pc_setsavepoint) (struct map_session_data *sd, short *map_index, int *x, int *y);
+typedef int (*HPMHOOK_post_pc_setsavepoint) (int retVal___, struct map_session_data *sd, short *map_index, int *x, int *y);
+typedef int (*HPMHOOK_pre_pc_randomwarp) (struct map_session_data *sd, clr_type *type);
+typedef int (*HPMHOOK_post_pc_randomwarp) (int retVal___, struct map_session_data *sd, clr_type *type);
+typedef int (*HPMHOOK_pre_pc_memo) (struct map_session_data *sd, int *pos);
+typedef int (*HPMHOOK_post_pc_memo) (int retVal___, struct map_session_data *sd, int *pos);
+typedef int (*HPMHOOK_pre_pc_checkadditem) (struct map_session_data *sd, int *nameid, int *amount);
+typedef int (*HPMHOOK_post_pc_checkadditem) (int retVal___, struct map_session_data *sd, int *nameid, int *amount);
+typedef int (*HPMHOOK_pre_pc_inventoryblank) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_inventoryblank) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_search_inventory) (struct map_session_data *sd, int *item_id);
+typedef int (*HPMHOOK_post_pc_search_inventory) (int retVal___, struct map_session_data *sd, int *item_id);
+typedef int (*HPMHOOK_pre_pc_payzeny) (struct map_session_data *sd, int *zeny, enum e_log_pick_type *type, struct map_session_data *tsd);
+typedef int (*HPMHOOK_post_pc_payzeny) (int retVal___, struct map_session_data *sd, int *zeny, enum e_log_pick_type *type, struct map_session_data *tsd);
+typedef int (*HPMHOOK_pre_pc_additem) (struct map_session_data *sd, struct item *item_data, int *amount, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_post_pc_additem) (int retVal___, struct map_session_data *sd, struct item *item_data, int *amount, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_pre_pc_getzeny) (struct map_session_data *sd, int *zeny, enum e_log_pick_type *type, struct map_session_data *tsd);
+typedef int (*HPMHOOK_post_pc_getzeny) (int retVal___, struct map_session_data *sd, int *zeny, enum e_log_pick_type *type, struct map_session_data *tsd);
+typedef int (*HPMHOOK_pre_pc_delitem) (struct map_session_data *sd, int *n, int *amount, int *type, short *reason, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_post_pc_delitem) (int retVal___, struct map_session_data *sd, int *n, int *amount, int *type, short *reason, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_pre_pc_paycash) (struct map_session_data *sd, int *price, int *points);
+typedef int (*HPMHOOK_post_pc_paycash) (int retVal___, struct map_session_data *sd, int *price, int *points);
+typedef int (*HPMHOOK_pre_pc_getcash) (struct map_session_data *sd, int *cash, int *points);
+typedef int (*HPMHOOK_post_pc_getcash) (int retVal___, struct map_session_data *sd, int *cash, int *points);
+typedef int (*HPMHOOK_pre_pc_cart_additem) (struct map_session_data *sd, struct item *item_data, int *amount, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_post_pc_cart_additem) (int retVal___, struct map_session_data *sd, struct item *item_data, int *amount, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_pre_pc_cart_delitem) (struct map_session_data *sd, int *n, int *amount, int *type, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_post_pc_cart_delitem) (int retVal___, struct map_session_data *sd, int *n, int *amount, int *type, e_log_pick_type *log_type);
+typedef int (*HPMHOOK_pre_pc_putitemtocart) (struct map_session_data *sd, int *idx, int *amount);
+typedef int (*HPMHOOK_post_pc_putitemtocart) (int retVal___, struct map_session_data *sd, int *idx, int *amount);
+typedef int (*HPMHOOK_pre_pc_getitemfromcart) (struct map_session_data *sd, int *idx, int *amount);
+typedef int (*HPMHOOK_post_pc_getitemfromcart) (int retVal___, struct map_session_data *sd, int *idx, int *amount);
+typedef int (*HPMHOOK_pre_pc_cartitem_amount) (struct map_session_data *sd, int *idx, int *amount);
+typedef int (*HPMHOOK_post_pc_cartitem_amount) (int retVal___, struct map_session_data *sd, int *idx, int *amount);
+typedef int (*HPMHOOK_pre_pc_takeitem) (struct map_session_data *sd, struct flooritem_data *fitem);
+typedef int (*HPMHOOK_post_pc_takeitem) (int retVal___, struct map_session_data *sd, struct flooritem_data *fitem);
+typedef int (*HPMHOOK_pre_pc_dropitem) (struct map_session_data *sd, int *n, int *amount);
+typedef int (*HPMHOOK_post_pc_dropitem) (int retVal___, struct map_session_data *sd, int *n, int *amount);
+typedef bool (*HPMHOOK_pre_pc_isequipped) (struct map_session_data *sd, int *nameid);
+typedef bool (*HPMHOOK_post_pc_isequipped) (bool retVal___, struct map_session_data *sd, int *nameid);
+typedef bool (*HPMHOOK_pre_pc_can_Adopt) (struct map_session_data *p1_sd, struct map_session_data *p2_sd, struct map_session_data *b_sd);
+typedef bool (*HPMHOOK_post_pc_can_Adopt) (bool retVal___, struct map_session_data *p1_sd, struct map_session_data *p2_sd, struct map_session_data *b_sd);
+typedef bool (*HPMHOOK_pre_pc_adoption) (struct map_session_data *p1_sd, struct map_session_data *p2_sd, struct map_session_data *b_sd);
+typedef bool (*HPMHOOK_post_pc_adoption) (bool retVal___, struct map_session_data *p1_sd, struct map_session_data *p2_sd, struct map_session_data *b_sd);
+typedef int (*HPMHOOK_pre_pc_updateweightstatus) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_updateweightstatus) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_addautobonus) (struct s_autobonus *bonus, char *max, const char *bonus_script, short *rate, unsigned int *dur, short *atk_type, const char *o_script, unsigned short *pos, bool *onskill);
+typedef int (*HPMHOOK_post_pc_addautobonus) (int retVal___, struct s_autobonus *bonus, char *max, const char *bonus_script, short *rate, unsigned int *dur, short *atk_type, const char *o_script, unsigned short *pos, bool *onskill);
+typedef int (*HPMHOOK_pre_pc_exeautobonus) (struct map_session_data *sd, struct s_autobonus *bonus);
+typedef int (*HPMHOOK_post_pc_exeautobonus) (int retVal___, struct map_session_data *sd, struct s_autobonus *bonus);
+typedef int (*HPMHOOK_pre_pc_endautobonus) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_endautobonus) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pc_delautobonus) (struct map_session_data *sd, struct s_autobonus *bonus, char *max, bool *restore);
+typedef int (*HPMHOOK_post_pc_delautobonus) (int retVal___, struct map_session_data *sd, struct s_autobonus *bonus, char *max, bool *restore);
+typedef int (*HPMHOOK_pre_pc_bonus) (struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_post_pc_bonus) (int retVal___, struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_pre_pc_bonus2) (struct map_session_data *sd, int *type, int *type2, int *val);
+typedef int (*HPMHOOK_post_pc_bonus2) (int retVal___, struct map_session_data *sd, int *type, int *type2, int *val);
+typedef int (*HPMHOOK_pre_pc_bonus3) (struct map_session_data *sd, int *type, int *type2, int *type3, int *val);
+typedef int (*HPMHOOK_post_pc_bonus3) (int retVal___, struct map_session_data *sd, int *type, int *type2, int *type3, int *val);
+typedef int (*HPMHOOK_pre_pc_bonus4) (struct map_session_data *sd, int *type, int *type2, int *type3, int *type4, int *val);
+typedef int (*HPMHOOK_post_pc_bonus4) (int retVal___, struct map_session_data *sd, int *type, int *type2, int *type3, int *type4, int *val);
+typedef int (*HPMHOOK_pre_pc_bonus5) (struct map_session_data *sd, int *type, int *type2, int *type3, int *type4, int *type5, int *val);
+typedef int (*HPMHOOK_post_pc_bonus5) (int retVal___, struct map_session_data *sd, int *type, int *type2, int *type3, int *type4, int *type5, int *val);
+typedef int (*HPMHOOK_pre_pc_skill) (struct map_session_data *sd, int *id, int *level, int *flag);
+typedef int (*HPMHOOK_post_pc_skill) (int retVal___, struct map_session_data *sd, int *id, int *level, int *flag);
+typedef int (*HPMHOOK_pre_pc_insert_card) (struct map_session_data *sd, int *idx_card, int *idx_equip);
+typedef int (*HPMHOOK_post_pc_insert_card) (int retVal___, struct map_session_data *sd, int *idx_card, int *idx_equip);
+typedef bool (*HPMHOOK_pre_pc_can_insert_card) (struct map_session_data *sd, int *idx_card);
+typedef bool (*HPMHOOK_post_pc_can_insert_card) (bool retVal___, struct map_session_data *sd, int *idx_card);
+typedef bool (*HPMHOOK_pre_pc_can_insert_card_into) (struct map_session_data *sd, int *idx_card, int *idx_equip);
+typedef bool (*HPMHOOK_post_pc_can_insert_card_into) (bool retVal___, struct map_session_data *sd, int *idx_card, int *idx_equip);
+typedef int (*HPMHOOK_pre_pc_steal_item) (struct map_session_data *sd, struct block_list *bl, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_pc_steal_item) (int retVal___, struct map_session_data *sd, struct block_list *bl, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_pc_steal_coin) (struct map_session_data *sd, struct block_list *bl);
+typedef int (*HPMHOOK_post_pc_steal_coin) (int retVal___, struct map_session_data *sd, struct block_list *bl);
+typedef int (*HPMHOOK_pre_pc_modifybuyvalue) (struct map_session_data *sd, int *orig_value);
+typedef int (*HPMHOOK_post_pc_modifybuyvalue) (int retVal___, struct map_session_data *sd, int *orig_value);
+typedef int (*HPMHOOK_pre_pc_modifysellvalue) (struct map_session_data *sd, int *orig_value);
+typedef int (*HPMHOOK_post_pc_modifysellvalue) (int retVal___, struct map_session_data *sd, int *orig_value);
+typedef int (*HPMHOOK_pre_pc_follow) (struct map_session_data *sd, int *target_id);
+typedef int (*HPMHOOK_post_pc_follow) (int retVal___, struct map_session_data *sd, int *target_id);
+typedef int (*HPMHOOK_pre_pc_stop_following) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_stop_following) (int retVal___, struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_pre_pc_maxbaselv) (struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_post_pc_maxbaselv) (unsigned int retVal___, struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_pre_pc_maxjoblv) (struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_post_pc_maxjoblv) (unsigned int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_checkbaselevelup) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_checkbaselevelup) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_checkjoblevelup) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_checkjoblevelup) (int retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_pc_gainexp) (struct map_session_data *sd, struct block_list *src, unsigned int *base_exp, unsigned int *job_exp, bool *is_quest);
+typedef bool (*HPMHOOK_post_pc_gainexp) (bool retVal___, struct map_session_data *sd, struct block_list *src, unsigned int *base_exp, unsigned int *job_exp, bool *is_quest);
+typedef unsigned int (*HPMHOOK_pre_pc_nextbaseexp) (struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_post_pc_nextbaseexp) (unsigned int retVal___, struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_pre_pc_thisbaseexp) (struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_post_pc_thisbaseexp) (unsigned int retVal___, struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_pre_pc_nextjobexp) (struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_post_pc_nextjobexp) (unsigned int retVal___, struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_pre_pc_thisjobexp) (struct map_session_data *sd);
+typedef unsigned int (*HPMHOOK_post_pc_thisjobexp) (unsigned int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_gets_status_point) (int *level);
+typedef int (*HPMHOOK_post_pc_gets_status_point) (int retVal___, int *level);
+typedef int (*HPMHOOK_pre_pc_need_status_point) (struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_post_pc_need_status_point) (int retVal___, struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_pre_pc_maxparameterincrease) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_post_pc_maxparameterincrease) (int retVal___, struct map_session_data *sd, int *type);
+typedef bool (*HPMHOOK_pre_pc_statusup) (struct map_session_data *sd, int *type, int *increase);
+typedef bool (*HPMHOOK_post_pc_statusup) (bool retVal___, struct map_session_data *sd, int *type, int *increase);
+typedef int (*HPMHOOK_pre_pc_statusup2) (struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_post_pc_statusup2) (int retVal___, struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_pre_pc_skillup) (struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_post_pc_skillup) (int retVal___, struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_pc_allskillup) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_allskillup) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_resetlvl) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_post_pc_resetlvl) (int retVal___, struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_pre_pc_resetstate) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_resetstate) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_resetskill) (struct map_session_data *sd, int *flag);
+typedef int (*HPMHOOK_post_pc_resetskill) (int retVal___, struct map_session_data *sd, int *flag);
+typedef int (*HPMHOOK_pre_pc_resetfeel) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_resetfeel) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_resethate) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_resethate) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_equipitem) (struct map_session_data *sd, int *n, int *req_pos);
+typedef int (*HPMHOOK_post_pc_equipitem) (int retVal___, struct map_session_data *sd, int *n, int *req_pos);
+typedef void (*HPMHOOK_pre_pc_equipitem_pos) (struct map_session_data *sd, struct item_data *id, int *n, int *pos);
+typedef void (*HPMHOOK_post_pc_equipitem_pos) (struct map_session_data *sd, struct item_data *id, int *n, int *pos);
+typedef int (*HPMHOOK_pre_pc_unequipitem) (struct map_session_data *sd, int *n, int *flag);
+typedef int (*HPMHOOK_post_pc_unequipitem) (int retVal___, struct map_session_data *sd, int *n, int *flag);
+typedef void (*HPMHOOK_pre_pc_unequipitem_pos) (struct map_session_data *sd, int *n, int *pos);
+typedef void (*HPMHOOK_post_pc_unequipitem_pos) (struct map_session_data *sd, int *n, int *pos);
+typedef int (*HPMHOOK_pre_pc_checkitem) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_checkitem) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_useitem) (struct map_session_data *sd, int *n);
+typedef int (*HPMHOOK_post_pc_useitem) (int retVal___, struct map_session_data *sd, int *n);
+typedef int (*HPMHOOK_pre_pc_skillatk_bonus) (struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_post_pc_skillatk_bonus) (int retVal___, struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_pc_skillheal_bonus) (struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_post_pc_skillheal_bonus) (int retVal___, struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_pc_skillheal2_bonus) (struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_post_pc_skillheal2_bonus) (int retVal___, struct map_session_data *sd, uint16 *skill_id);
+typedef void (*HPMHOOK_pre_pc_damage) (struct map_session_data *sd, struct block_list *src, unsigned int *hp, unsigned int *sp);
+typedef void (*HPMHOOK_post_pc_damage) (struct map_session_data *sd, struct block_list *src, unsigned int *hp, unsigned int *sp);
+typedef int (*HPMHOOK_pre_pc_dead) (struct map_session_data *sd, struct block_list *src);
+typedef int (*HPMHOOK_post_pc_dead) (int retVal___, struct map_session_data *sd, struct block_list *src);
+typedef void (*HPMHOOK_pre_pc_revive) (struct map_session_data *sd, unsigned int *hp, unsigned int *sp);
+typedef void (*HPMHOOK_post_pc_revive) (struct map_session_data *sd, unsigned int *hp, unsigned int *sp);
+typedef void (*HPMHOOK_pre_pc_heal) (struct map_session_data *sd, unsigned int *hp, unsigned int *sp, int *type);
+typedef void (*HPMHOOK_post_pc_heal) (struct map_session_data *sd, unsigned int *hp, unsigned int *sp, int *type);
+typedef int (*HPMHOOK_pre_pc_itemheal) (struct map_session_data *sd, int *itemid, int *hp, int *sp);
+typedef int (*HPMHOOK_post_pc_itemheal) (int retVal___, struct map_session_data *sd, int *itemid, int *hp, int *sp);
+typedef int (*HPMHOOK_pre_pc_percentheal) (struct map_session_data *sd, int *hp, int *sp);
+typedef int (*HPMHOOK_post_pc_percentheal) (int retVal___, struct map_session_data *sd, int *hp, int *sp);
+typedef int (*HPMHOOK_pre_pc_jobchange) (struct map_session_data *sd, int *job, int *upper);
+typedef int (*HPMHOOK_post_pc_jobchange) (int retVal___, struct map_session_data *sd, int *job, int *upper);
+typedef int (*HPMHOOK_pre_pc_setoption) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_post_pc_setoption) (int retVal___, struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_pre_pc_setcart) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_post_pc_setcart) (int retVal___, struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_pc_setfalcon) (struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_post_pc_setfalcon) (struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_pre_pc_setridingpeco) (struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_post_pc_setridingpeco) (struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_pre_pc_setmadogear) (struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_post_pc_setmadogear) (struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_pre_pc_setridingdragon) (struct map_session_data *sd, unsigned int *type);
+typedef void (*HPMHOOK_post_pc_setridingdragon) (struct map_session_data *sd, unsigned int *type);
+typedef void (*HPMHOOK_pre_pc_setridingwug) (struct map_session_data *sd, bool *flag);
+typedef void (*HPMHOOK_post_pc_setridingwug) (struct map_session_data *sd, bool *flag);
+typedef int (*HPMHOOK_pre_pc_changelook) (struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_post_pc_changelook) (int retVal___, struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_pre_pc_equiplookall) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_equiplookall) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_readparam) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_post_pc_readparam) (int retVal___, struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_pre_pc_setparam) (struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_post_pc_setparam) (int retVal___, struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_pre_pc_readreg) (struct map_session_data *sd, int64 *reg);
+typedef int (*HPMHOOK_post_pc_readreg) (int retVal___, struct map_session_data *sd, int64 *reg);
+typedef void (*HPMHOOK_pre_pc_setreg) (struct map_session_data *sd, int64 *reg, int *val);
+typedef void (*HPMHOOK_post_pc_setreg) (struct map_session_data *sd, int64 *reg, int *val);
+typedef char* (*HPMHOOK_pre_pc_readregstr) (struct map_session_data *sd, int64 *reg);
+typedef char* (*HPMHOOK_post_pc_readregstr) (char* retVal___, struct map_session_data *sd, int64 *reg);
+typedef void (*HPMHOOK_pre_pc_setregstr) (struct map_session_data *sd, int64 *reg, const char *str);
+typedef void (*HPMHOOK_post_pc_setregstr) (struct map_session_data *sd, int64 *reg, const char *str);
+typedef int (*HPMHOOK_pre_pc_readregistry) (struct map_session_data *sd, int64 *reg);
+typedef int (*HPMHOOK_post_pc_readregistry) (int retVal___, struct map_session_data *sd, int64 *reg);
+typedef int (*HPMHOOK_pre_pc_setregistry) (struct map_session_data *sd, int64 *reg, int *val);
+typedef int (*HPMHOOK_post_pc_setregistry) (int retVal___, struct map_session_data *sd, int64 *reg, int *val);
+typedef char* (*HPMHOOK_pre_pc_readregistry_str) (struct map_session_data *sd, int64 *reg);
+typedef char* (*HPMHOOK_post_pc_readregistry_str) (char* retVal___, struct map_session_data *sd, int64 *reg);
+typedef int (*HPMHOOK_pre_pc_setregistry_str) (struct map_session_data *sd, int64 *reg, const char *val);
+typedef int (*HPMHOOK_post_pc_setregistry_str) (int retVal___, struct map_session_data *sd, int64 *reg, const char *val);
+typedef int (*HPMHOOK_pre_pc_addeventtimer) (struct map_session_data *sd, int *tick, const char *name);
+typedef int (*HPMHOOK_post_pc_addeventtimer) (int retVal___, struct map_session_data *sd, int *tick, const char *name);
+typedef int (*HPMHOOK_pre_pc_deleventtimer) (struct map_session_data *sd, const char *name);
+typedef int (*HPMHOOK_post_pc_deleventtimer) (int retVal___, struct map_session_data *sd, const char *name);
+typedef int (*HPMHOOK_pre_pc_cleareventtimer) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_cleareventtimer) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_addeventtimercount) (struct map_session_data *sd, const char *name, int *tick);
+typedef int (*HPMHOOK_post_pc_addeventtimercount) (int retVal___, struct map_session_data *sd, const char *name, int *tick);
+typedef int (*HPMHOOK_pre_pc_calc_pvprank) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_calc_pvprank) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_calc_pvprank_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_calc_pvprank_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pc_ismarried) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_ismarried) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_marriage) (struct map_session_data *sd, struct map_session_data *dstsd);
+typedef int (*HPMHOOK_post_pc_marriage) (int retVal___, struct map_session_data *sd, struct map_session_data *dstsd);
+typedef int (*HPMHOOK_pre_pc_divorce) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_divorce) (int retVal___, struct map_session_data *sd);
+typedef struct map_session_data* (*HPMHOOK_pre_pc_get_partner) (struct map_session_data *sd);
+typedef struct map_session_data* (*HPMHOOK_post_pc_get_partner) (struct map_session_data* retVal___, struct map_session_data *sd);
+typedef struct map_session_data* (*HPMHOOK_pre_pc_get_father) (struct map_session_data *sd);
+typedef struct map_session_data* (*HPMHOOK_post_pc_get_father) (struct map_session_data* retVal___, struct map_session_data *sd);
+typedef struct map_session_data* (*HPMHOOK_pre_pc_get_mother) (struct map_session_data *sd);
+typedef struct map_session_data* (*HPMHOOK_post_pc_get_mother) (struct map_session_data* retVal___, struct map_session_data *sd);
+typedef struct map_session_data* (*HPMHOOK_pre_pc_get_child) (struct map_session_data *sd);
+typedef struct map_session_data* (*HPMHOOK_post_pc_get_child) (struct map_session_data* retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_bleeding) (struct map_session_data *sd, unsigned int *diff_tick);
+typedef void (*HPMHOOK_post_pc_bleeding) (struct map_session_data *sd, unsigned int *diff_tick);
+typedef void (*HPMHOOK_pre_pc_regen) (struct map_session_data *sd, unsigned int *diff_tick);
+typedef void (*HPMHOOK_post_pc_regen) (struct map_session_data *sd, unsigned int *diff_tick);
+typedef void (*HPMHOOK_pre_pc_setstand) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_setstand) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_candrop) (struct map_session_data *sd, struct item *item);
+typedef int (*HPMHOOK_post_pc_candrop) (int retVal___, struct map_session_data *sd, struct item *item);
+typedef int (*HPMHOOK_pre_pc_jobid2mapid) (unsigned short *b_class);
+typedef int (*HPMHOOK_post_pc_jobid2mapid) (int retVal___, unsigned short *b_class);
+typedef int (*HPMHOOK_pre_pc_mapid2jobid) (unsigned short *class_, int *sex);
+typedef int (*HPMHOOK_post_pc_mapid2jobid) (int retVal___, unsigned short *class_, int *sex);
+typedef const char* (*HPMHOOK_pre_pc_job_name) (int *class_);
+typedef const char* (*HPMHOOK_post_pc_job_name) (const char* retVal___, int *class_);
+typedef void (*HPMHOOK_pre_pc_setinvincibletimer) (struct map_session_data *sd, int *val);
+typedef void (*HPMHOOK_post_pc_setinvincibletimer) (struct map_session_data *sd, int *val);
+typedef void (*HPMHOOK_pre_pc_delinvincibletimer) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_delinvincibletimer) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_addspiritball) (struct map_session_data *sd, int *interval, int *max);
+typedef int (*HPMHOOK_post_pc_addspiritball) (int retVal___, struct map_session_data *sd, int *interval, int *max);
+typedef int (*HPMHOOK_pre_pc_delspiritball) (struct map_session_data *sd, int *count, int *type);
+typedef int (*HPMHOOK_post_pc_delspiritball) (int retVal___, struct map_session_data *sd, int *count, int *type);
+typedef int (*HPMHOOK_pre_pc_getmaxspiritball) (struct map_session_data *sd, int *min);
+typedef int (*HPMHOOK_post_pc_getmaxspiritball) (int retVal___, struct map_session_data *sd, int *min);
+typedef void (*HPMHOOK_pre_pc_addfame) (struct map_session_data *sd, int *count);
+typedef void (*HPMHOOK_post_pc_addfame) (struct map_session_data *sd, int *count);
+typedef unsigned char (*HPMHOOK_pre_pc_famerank) (int *char_id, int *job);
+typedef unsigned char (*HPMHOOK_post_pc_famerank) (unsigned char retVal___, int *char_id, int *job);
+typedef int (*HPMHOOK_pre_pc_set_hate_mob) (struct map_session_data *sd, int *pos, struct block_list *bl);
+typedef int (*HPMHOOK_post_pc_set_hate_mob) (int retVal___, struct map_session_data *sd, int *pos, struct block_list *bl);
+typedef int (*HPMHOOK_pre_pc_readdb) (void);
+typedef int (*HPMHOOK_post_pc_readdb) (int retVal___);
+typedef int (*HPMHOOK_pre_pc_map_day_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_map_day_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pc_map_night_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_map_night_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_pc_inventory_rentals) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_inventory_rentals) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_inventory_rental_clear) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_inventory_rental_clear) (int retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_inventory_rental_add) (struct map_session_data *sd, int *seconds);
+typedef void (*HPMHOOK_post_pc_inventory_rental_add) (struct map_session_data *sd, int *seconds);
+typedef int (*HPMHOOK_pre_pc_disguise) (struct map_session_data *sd, int *class_);
+typedef int (*HPMHOOK_post_pc_disguise) (int retVal___, struct map_session_data *sd, int *class_);
+typedef bool (*HPMHOOK_pre_pc_isautolooting) (struct map_session_data *sd, int *nameid);
+typedef bool (*HPMHOOK_post_pc_isautolooting) (bool retVal___, struct map_session_data *sd, int *nameid);
+typedef void (*HPMHOOK_pre_pc_overheat) (struct map_session_data *sd, int *val);
+typedef void (*HPMHOOK_post_pc_overheat) (struct map_session_data *sd, int *val);
+typedef int (*HPMHOOK_pre_pc_banding) (struct map_session_data *sd, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_pc_banding) (int retVal___, struct map_session_data *sd, uint16 *skill_lv);
+typedef void (*HPMHOOK_pre_pc_itemcd_do) (struct map_session_data *sd, bool *load);
+typedef void (*HPMHOOK_post_pc_itemcd_do) (struct map_session_data *sd, bool *load);
+typedef int (*HPMHOOK_pre_pc_load_combo) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_load_combo) (int retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_add_charm) (struct map_session_data *sd, int *interval, int *max, int *type);
+typedef void (*HPMHOOK_post_pc_add_charm) (struct map_session_data *sd, int *interval, int *max, int *type);
+typedef void (*HPMHOOK_pre_pc_del_charm) (struct map_session_data *sd, int *count, int *type);
+typedef void (*HPMHOOK_post_pc_del_charm) (struct map_session_data *sd, int *count, int *type);
+typedef void (*HPMHOOK_pre_pc_baselevelchanged) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_baselevelchanged) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_level_penalty_mod) (int *diff, unsigned char *race, uint32 *mode, int *type);
+typedef int (*HPMHOOK_post_pc_level_penalty_mod) (int retVal___, int *diff, unsigned char *race, uint32 *mode, int *type);
+typedef int (*HPMHOOK_pre_pc_calc_skillpoint) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_calc_skillpoint) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_invincible_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_invincible_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pc_spiritball_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_spiritball_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pc_check_banding) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_pc_check_banding) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_pc_inventory_rental_end) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_inventory_rental_end) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_pc_check_skilltree) (struct map_session_data *sd, int *skill_id);
+typedef void (*HPMHOOK_post_pc_check_skilltree) (struct map_session_data *sd, int *skill_id);
+typedef int (*HPMHOOK_pre_pc_bonus_autospell) (struct s_autospell *spell, int *max, short *id, short *lv, short *rate, short *flag, short *card_id);
+typedef int (*HPMHOOK_post_pc_bonus_autospell) (int retVal___, struct s_autospell *spell, int *max, short *id, short *lv, short *rate, short *flag, short *card_id);
+typedef int (*HPMHOOK_pre_pc_bonus_autospell_onskill) (struct s_autospell *spell, int *max, short *src_skill, short *id, short *lv, short *rate, short *card_id);
+typedef int (*HPMHOOK_post_pc_bonus_autospell_onskill) (int retVal___, struct s_autospell *spell, int *max, short *src_skill, short *id, short *lv, short *rate, short *card_id);
+typedef int (*HPMHOOK_pre_pc_bonus_addeff) (struct s_addeffect *effect, int *max, enum sc_type *id, int16 *rate, int16 *arrow_rate, uint8 *flag, uint16 *duration);
+typedef int (*HPMHOOK_post_pc_bonus_addeff) (int retVal___, struct s_addeffect *effect, int *max, enum sc_type *id, int16 *rate, int16 *arrow_rate, uint8 *flag, uint16 *duration);
+typedef int (*HPMHOOK_pre_pc_bonus_addeff_onskill) (struct s_addeffectonskill *effect, int *max, enum sc_type *id, short *rate, short *skill_id, unsigned char *target);
+typedef int (*HPMHOOK_post_pc_bonus_addeff_onskill) (int retVal___, struct s_addeffectonskill *effect, int *max, enum sc_type *id, short *rate, short *skill_id, unsigned char *target);
+typedef int (*HPMHOOK_pre_pc_bonus_item_drop) (struct s_add_drop *drop, const short *max, short *id, short *group, int *race, int *rate);
+typedef int (*HPMHOOK_post_pc_bonus_item_drop) (int retVal___, struct s_add_drop *drop, const short *max, short *id, short *group, int *race, int *rate);
+typedef void (*HPMHOOK_pre_pc_calcexp) (struct map_session_data *sd, unsigned int *base_exp, unsigned int *job_exp, struct block_list *src);
+typedef void (*HPMHOOK_post_pc_calcexp) (struct map_session_data *sd, unsigned int *base_exp, unsigned int *job_exp, struct block_list *src);
+typedef int (*HPMHOOK_pre_pc_respawn_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_respawn_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pc_jobchange_killclone) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_pc_jobchange_killclone) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_pc_getstat) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_post_pc_getstat) (int retVal___, struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_pre_pc_setstat) (struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_post_pc_setstat) (int retVal___, struct map_session_data *sd, int *type, int *val);
+typedef int (*HPMHOOK_pre_pc_eventtimer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_eventtimer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pc_daynight_timer_sub) (struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_post_pc_daynight_timer_sub) (int retVal___, struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_pre_pc_charm_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_charm_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef bool (*HPMHOOK_pre_pc_readdb_levelpenalty) (char *fields[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_pc_readdb_levelpenalty) (bool retVal___, char *fields[], int *columns, int *current);
+typedef int (*HPMHOOK_pre_pc_autosave) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_autosave) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pc_follow_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_follow_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_pc_read_skill_tree) (void);
+typedef void (*HPMHOOK_post_pc_read_skill_tree) (void);
+typedef void (*HPMHOOK_pre_pc_clear_skill_tree) (void);
+typedef void (*HPMHOOK_post_pc_clear_skill_tree) (void);
+typedef int (*HPMHOOK_pre_pc_isUseitem) (struct map_session_data *sd, int *n);
+typedef int (*HPMHOOK_post_pc_isUseitem) (int retVal___, struct map_session_data *sd, int *n);
+typedef int (*HPMHOOK_pre_pc_show_steal) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_pc_show_steal) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_pc_checkcombo) (struct map_session_data *sd, struct item_data *data);
+typedef int (*HPMHOOK_post_pc_checkcombo) (int retVal___, struct map_session_data *sd, struct item_data *data);
+typedef int (*HPMHOOK_pre_pc_calcweapontype) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_calcweapontype) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_removecombo) (struct map_session_data *sd, struct item_data *data);
+typedef int (*HPMHOOK_post_pc_removecombo) (int retVal___, struct map_session_data *sd, struct item_data *data);
+typedef void (*HPMHOOK_pre_pc_bank_deposit) (struct map_session_data *sd, int *money);
+typedef void (*HPMHOOK_post_pc_bank_deposit) (struct map_session_data *sd, int *money);
+typedef void (*HPMHOOK_pre_pc_bank_withdraw) (struct map_session_data *sd, int *money);
+typedef void (*HPMHOOK_post_pc_bank_withdraw) (struct map_session_data *sd, int *money);
+typedef void (*HPMHOOK_pre_pc_rental_expire) (struct map_session_data *sd, int *i);
+typedef void (*HPMHOOK_post_pc_rental_expire) (struct map_session_data *sd, int *i);
+typedef void (*HPMHOOK_pre_pc_scdata_received) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_scdata_received) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_bound_clear) (struct map_session_data *sd, enum e_item_bound_type *type);
+typedef void (*HPMHOOK_post_pc_bound_clear) (struct map_session_data *sd, enum e_item_bound_type *type);
+typedef int (*HPMHOOK_pre_pc_expiration_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_expiration_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pc_global_expiration_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pc_global_expiration_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_pc_expire_check) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_expire_check) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_pc_db_checkid) (unsigned int *class_);
+typedef bool (*HPMHOOK_post_pc_db_checkid) (bool retVal___, unsigned int *class_);
+typedef void (*HPMHOOK_pre_pc_validate_levels) (void);
+typedef void (*HPMHOOK_post_pc_validate_levels) (void);
+typedef void (*HPMHOOK_pre_pc_autotrade_load) (void);
+typedef void (*HPMHOOK_post_pc_autotrade_load) (void);
+typedef void (*HPMHOOK_pre_pc_autotrade_update) (struct map_session_data *sd, enum e_pc_autotrade_update_action *action);
+typedef void (*HPMHOOK_post_pc_autotrade_update) (struct map_session_data *sd, enum e_pc_autotrade_update_action *action);
+typedef void (*HPMHOOK_pre_pc_autotrade_start) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_autotrade_start) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_autotrade_prepare) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_autotrade_prepare) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_autotrade_populate) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_pc_autotrade_populate) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_autotrade_final) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_pc_autotrade_final) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_pre_pc_check_job_name) (const char *name);
+typedef int (*HPMHOOK_post_pc_check_job_name) (int retVal___, const char *name);
+typedef void (*HPMHOOK_pre_pc_update_idle_time) (struct map_session_data *sd, enum e_battle_config_idletime *type);
+typedef void (*HPMHOOK_post_pc_update_idle_time) (struct map_session_data *sd, enum e_battle_config_idletime *type);
+typedef int (*HPMHOOK_pre_pc_have_magnifier) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pc_have_magnifier) (int retVal___, struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_pc_process_chat_message) (struct map_session_data *sd, const char *message);
+typedef bool (*HPMHOOK_post_pc_process_chat_message) (bool retVal___, struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_pre_pc_check_supernovice_call) (struct map_session_data *sd, const char *message);
+typedef void (*HPMHOOK_post_pc_check_supernovice_call) (struct map_session_data *sd, const char *message);
+#endif // MAP_PC_H
+#ifdef MAP_NPC_H /* libpcre */
+typedef pcre* (*HPMHOOK_pre_libpcre_compile) (const char *pattern, int *options, const char **errptr, int *erroffset, const unsigned char *tableptr);
+typedef pcre* (*HPMHOOK_post_libpcre_compile) (pcre* retVal___, const char *pattern, int *options, const char **errptr, int *erroffset, const unsigned char *tableptr);
+typedef pcre_extra* (*HPMHOOK_pre_libpcre_study) (const pcre *code, int *options, const char **errptr);
+typedef pcre_extra* (*HPMHOOK_post_libpcre_study) (pcre_extra* retVal___, const pcre *code, int *options, const char **errptr);
+typedef int (*HPMHOOK_pre_libpcre_exec) (const pcre *code, const pcre_extra *extra, PCRE_SPTR *subject, int *length, int *startoffset, int *options, int *ovector, int *ovecsize);
+typedef int (*HPMHOOK_post_libpcre_exec) (int retVal___, const pcre *code, const pcre_extra *extra, PCRE_SPTR *subject, int *length, int *startoffset, int *options, int *ovector, int *ovecsize);
+typedef void (*HPMHOOK_pre_libpcre_free) (void *ptr);
+typedef void (*HPMHOOK_post_libpcre_free) (void *ptr);
+typedef int (*HPMHOOK_pre_libpcre_copy_substring) (const char *subject, int *ovector, int *stringcount, int *stringnumber, char *buffer, int *buffersize);
+typedef int (*HPMHOOK_post_libpcre_copy_substring) (int retVal___, const char *subject, int *ovector, int *stringcount, int *stringnumber, char *buffer, int *buffersize);
+typedef void (*HPMHOOK_pre_libpcre_free_substring) (const char *stringptr);
+typedef void (*HPMHOOK_post_libpcre_free_substring) (const char *stringptr);
+typedef int (*HPMHOOK_pre_libpcre_copy_named_substring) (const pcre *code, const char *subject, int *ovector, int *stringcount, const char *stringname, char *buffer, int *buffersize);
+typedef int (*HPMHOOK_post_libpcre_copy_named_substring) (int retVal___, const pcre *code, const char *subject, int *ovector, int *stringcount, const char *stringname, char *buffer, int *buffersize);
+typedef int (*HPMHOOK_pre_libpcre_get_substring) (const char *subject, int *ovector, int *stringcount, int *stringnumber, const char **stringptr);
+typedef int (*HPMHOOK_post_libpcre_get_substring) (int retVal___, const char *subject, int *ovector, int *stringcount, int *stringnumber, const char **stringptr);
+#endif // MAP_NPC_H
+#ifdef MAP_PET_H /* pet */
+typedef int (*HPMHOOK_pre_pet_init) (bool *minimal);
+typedef int (*HPMHOOK_post_pet_init) (int retVal___, bool *minimal);
+typedef int (*HPMHOOK_pre_pet_final) (void);
+typedef int (*HPMHOOK_post_pet_final) (int retVal___);
+typedef int (*HPMHOOK_pre_pet_hungry_val) (struct pet_data *pd);
+typedef int (*HPMHOOK_post_pet_hungry_val) (int retVal___, struct pet_data *pd);
+typedef void (*HPMHOOK_pre_pet_set_intimate) (struct pet_data *pd, int *value);
+typedef void (*HPMHOOK_post_pet_set_intimate) (struct pet_data *pd, int *value);
+typedef int (*HPMHOOK_pre_pet_create_egg) (struct map_session_data *sd, int *item_id);
+typedef int (*HPMHOOK_post_pet_create_egg) (int retVal___, struct map_session_data *sd, int *item_id);
+typedef int (*HPMHOOK_pre_pet_unlocktarget) (struct pet_data *pd);
+typedef int (*HPMHOOK_post_pet_unlocktarget) (int retVal___, struct pet_data *pd);
+typedef int (*HPMHOOK_pre_pet_attackskill) (struct pet_data *pd, int *target_id);
+typedef int (*HPMHOOK_post_pet_attackskill) (int retVal___, struct pet_data *pd, int *target_id);
+typedef int (*HPMHOOK_pre_pet_target_check) (struct map_session_data *sd, struct block_list *bl, int *type);
+typedef int (*HPMHOOK_post_pet_target_check) (int retVal___, struct map_session_data *sd, struct block_list *bl, int *type);
+typedef int (*HPMHOOK_pre_pet_sc_check) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_post_pet_sc_check) (int retVal___, struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_pre_pet_hungry) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pet_hungry) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pet_search_petDB_index) (int *key, int *type);
+typedef int (*HPMHOOK_post_pet_search_petDB_index) (int retVal___, int *key, int *type);
+typedef int (*HPMHOOK_pre_pet_hungry_timer_delete) (struct pet_data *pd);
+typedef int (*HPMHOOK_post_pet_hungry_timer_delete) (int retVal___, struct pet_data *pd);
+typedef int (*HPMHOOK_pre_pet_performance) (struct map_session_data *sd, struct pet_data *pd);
+typedef int (*HPMHOOK_post_pet_performance) (int retVal___, struct map_session_data *sd, struct pet_data *pd);
+typedef int (*HPMHOOK_pre_pet_return_egg) (struct map_session_data *sd, struct pet_data *pd);
+typedef int (*HPMHOOK_post_pet_return_egg) (int retVal___, struct map_session_data *sd, struct pet_data *pd);
+typedef int (*HPMHOOK_pre_pet_data_init) (struct map_session_data *sd, struct s_pet *petinfo);
+typedef int (*HPMHOOK_post_pet_data_init) (int retVal___, struct map_session_data *sd, struct s_pet *petinfo);
+typedef int (*HPMHOOK_pre_pet_birth_process) (struct map_session_data *sd, struct s_pet *petinfo);
+typedef int (*HPMHOOK_post_pet_birth_process) (int retVal___, struct map_session_data *sd, struct s_pet *petinfo);
+typedef int (*HPMHOOK_pre_pet_recv_petdata) (int *account_id, struct s_pet *p, int *flag);
+typedef int (*HPMHOOK_post_pet_recv_petdata) (int retVal___, int *account_id, struct s_pet *p, int *flag);
+typedef int (*HPMHOOK_pre_pet_select_egg) (struct map_session_data *sd, short *egg_index);
+typedef int (*HPMHOOK_post_pet_select_egg) (int retVal___, struct map_session_data *sd, short *egg_index);
+typedef int (*HPMHOOK_pre_pet_catch_process1) (struct map_session_data *sd, int *target_class);
+typedef int (*HPMHOOK_post_pet_catch_process1) (int retVal___, struct map_session_data *sd, int *target_class);
+typedef int (*HPMHOOK_pre_pet_catch_process2) (struct map_session_data *sd, int *target_id);
+typedef int (*HPMHOOK_post_pet_catch_process2) (int retVal___, struct map_session_data *sd, int *target_id);
+typedef bool (*HPMHOOK_pre_pet_get_egg) (int *account_id, short *pet_class, int *pet_id);
+typedef bool (*HPMHOOK_post_pet_get_egg) (bool retVal___, int *account_id, short *pet_class, int *pet_id);
+typedef int (*HPMHOOK_pre_pet_unequipitem) (struct map_session_data *sd, struct pet_data *pd);
+typedef int (*HPMHOOK_post_pet_unequipitem) (int retVal___, struct map_session_data *sd, struct pet_data *pd);
+typedef int (*HPMHOOK_pre_pet_food) (struct map_session_data *sd, struct pet_data *pd);
+typedef int (*HPMHOOK_post_pet_food) (int retVal___, struct map_session_data *sd, struct pet_data *pd);
+typedef int (*HPMHOOK_pre_pet_ai_sub_hard_lootsearch) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_pet_ai_sub_hard_lootsearch) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_pet_menu) (struct map_session_data *sd, int *menunum);
+typedef int (*HPMHOOK_post_pet_menu) (int retVal___, struct map_session_data *sd, int *menunum);
+typedef int (*HPMHOOK_pre_pet_change_name) (struct map_session_data *sd, const char *name);
+typedef int (*HPMHOOK_post_pet_change_name) (int retVal___, struct map_session_data *sd, const char *name);
+typedef int (*HPMHOOK_pre_pet_change_name_ack) (struct map_session_data *sd, const char *name, int *flag);
+typedef int (*HPMHOOK_post_pet_change_name_ack) (int retVal___, struct map_session_data *sd, const char *name, int *flag);
+typedef int (*HPMHOOK_pre_pet_equipitem) (struct map_session_data *sd, int *index);
+typedef int (*HPMHOOK_post_pet_equipitem) (int retVal___, struct map_session_data *sd, int *index);
+typedef int (*HPMHOOK_pre_pet_randomwalk) (struct pet_data *pd, int64 *tick);
+typedef int (*HPMHOOK_post_pet_randomwalk) (int retVal___, struct pet_data *pd, int64 *tick);
+typedef int (*HPMHOOK_pre_pet_ai_sub_hard) (struct pet_data *pd, struct map_session_data *sd, int64 *tick);
+typedef int (*HPMHOOK_post_pet_ai_sub_hard) (int retVal___, struct pet_data *pd, struct map_session_data *sd, int64 *tick);
+typedef int (*HPMHOOK_pre_pet_ai_sub_foreachclient) (struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_post_pet_ai_sub_foreachclient) (int retVal___, struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_pre_pet_ai_hard) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pet_ai_hard) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pet_delay_item_drop) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pet_delay_item_drop) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pet_lootitem_drop) (struct pet_data *pd, struct map_session_data *sd);
+typedef int (*HPMHOOK_post_pet_lootitem_drop) (int retVal___, struct pet_data *pd, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pet_skill_bonus_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pet_skill_bonus_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pet_recovery_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pet_recovery_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pet_skill_support_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_pet_skill_support_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_pet_read_db) (void);
+typedef int (*HPMHOOK_post_pet_read_db) (int retVal___);
+#endif // MAP_PET_H
+#ifdef CHAR_PINCODE_H /* pincode */
+typedef void (*HPMHOOK_pre_pincode_handle) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_pincode_handle) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_pincode_decrypt) (unsigned int *userSeed, char *pin);
+typedef void (*HPMHOOK_post_pincode_decrypt) (unsigned int *userSeed, char *pin);
+typedef void (*HPMHOOK_pre_pincode_error) (int *account_id);
+typedef void (*HPMHOOK_post_pincode_error) (int *account_id);
+typedef void (*HPMHOOK_pre_pincode_update) (int *account_id, char *pin);
+typedef void (*HPMHOOK_post_pincode_update) (int *account_id, char *pin);
+typedef void (*HPMHOOK_pre_pincode_sendstate) (int *fd, struct char_session_data *sd, uint16 *state);
+typedef void (*HPMHOOK_post_pincode_sendstate) (int *fd, struct char_session_data *sd, uint16 *state);
+typedef void (*HPMHOOK_pre_pincode_setnew) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_pincode_setnew) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_pre_pincode_change) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_pincode_change) (int *fd, struct char_session_data *sd);
+typedef int (*HPMHOOK_pre_pincode_compare) (int *fd, struct char_session_data *sd, char *pin);
+typedef int (*HPMHOOK_post_pincode_compare) (int retVal___, int *fd, struct char_session_data *sd, char *pin);
+typedef void (*HPMHOOK_pre_pincode_check) (int *fd, struct char_session_data *sd);
+typedef void (*HPMHOOK_post_pincode_check) (int *fd, struct char_session_data *sd);
+typedef bool (*HPMHOOK_pre_pincode_config_read) (char *w1, char *w2);
+typedef bool (*HPMHOOK_post_pincode_config_read) (bool retVal___, char *w1, char *w2);
+#endif // CHAR_PINCODE_H
+#ifdef MAP_QUEST_H /* quest */
+typedef void (*HPMHOOK_pre_quest_init) (bool *minimal);
+typedef void (*HPMHOOK_post_quest_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_quest_final) (void);
+typedef void (*HPMHOOK_post_quest_final) (void);
+typedef void (*HPMHOOK_pre_quest_reload) (void);
+typedef void (*HPMHOOK_post_quest_reload) (void);
+typedef struct quest_db* (*HPMHOOK_pre_quest_db) (int *quest_id);
+typedef struct quest_db* (*HPMHOOK_post_quest_db) (struct quest_db* retVal___, int *quest_id);
+typedef int (*HPMHOOK_pre_quest_pc_login) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_quest_pc_login) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_quest_add) (struct map_session_data *sd, int *quest_id);
+typedef int (*HPMHOOK_post_quest_add) (int retVal___, struct map_session_data *sd, int *quest_id);
+typedef int (*HPMHOOK_pre_quest_change) (struct map_session_data *sd, int *qid1, int *qid2);
+typedef int (*HPMHOOK_post_quest_change) (int retVal___, struct map_session_data *sd, int *qid1, int *qid2);
+typedef int (*HPMHOOK_pre_quest_delete) (struct map_session_data *sd, int *quest_id);
+typedef int (*HPMHOOK_post_quest_delete) (int retVal___, struct map_session_data *sd, int *quest_id);
+typedef int (*HPMHOOK_pre_quest_update_objective_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_quest_update_objective_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_quest_update_objective) (struct map_session_data *sd, int *mob_id);
+typedef void (*HPMHOOK_post_quest_update_objective) (struct map_session_data *sd, int *mob_id);
+typedef int (*HPMHOOK_pre_quest_update_status) (struct map_session_data *sd, int *quest_id, enum quest_state *qs);
+typedef int (*HPMHOOK_post_quest_update_status) (int retVal___, struct map_session_data *sd, int *quest_id, enum quest_state *qs);
+typedef int (*HPMHOOK_pre_quest_check) (struct map_session_data *sd, int *quest_id, enum quest_check_type *type);
+typedef int (*HPMHOOK_post_quest_check) (int retVal___, struct map_session_data *sd, int *quest_id, enum quest_check_type *type);
+typedef void (*HPMHOOK_pre_quest_clear) (void);
+typedef void (*HPMHOOK_post_quest_clear) (void);
+typedef int (*HPMHOOK_pre_quest_read_db) (void);
+typedef int (*HPMHOOK_post_quest_read_db) (int retVal___);
+typedef struct quest_db* (*HPMHOOK_pre_quest_read_db_sub) (struct config_setting_t *cs, int *n, const char *source);
+typedef struct quest_db* (*HPMHOOK_post_quest_read_db_sub) (struct quest_db* retVal___, struct config_setting_t *cs, int *n, const char *source);
+#endif // MAP_QUEST_H
+#ifdef MAP_SCRIPT_H /* script */
+typedef void (*HPMHOOK_pre_script_init) (bool *minimal);
+typedef void (*HPMHOOK_post_script_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_script_final) (void);
+typedef void (*HPMHOOK_post_script_final) (void);
+typedef int (*HPMHOOK_pre_script_reload) (void);
+typedef int (*HPMHOOK_post_script_reload) (int retVal___);
+typedef struct script_code* (*HPMHOOK_pre_script_parse) (const char *src, const char *file, int *line, int *options, int *retval);
+typedef struct script_code* (*HPMHOOK_post_script_parse) (struct script_code* retVal___, const char *src, const char *file, int *line, int *options, int *retval);
+typedef bool (*HPMHOOK_pre_script_add_builtin) (const struct script_function *buildin, bool *override);
+typedef bool (*HPMHOOK_post_script_add_builtin) (bool retVal___, const struct script_function *buildin, bool *override);
+typedef void (*HPMHOOK_pre_script_parse_builtin) (void);
+typedef void (*HPMHOOK_post_script_parse_builtin) (void);
+typedef const char* (*HPMHOOK_pre_script_parse_subexpr) (const char *p, int *limit);
+typedef const char* (*HPMHOOK_post_script_parse_subexpr) (const char* retVal___, const char *p, int *limit);
+typedef const char* (*HPMHOOK_pre_script_skip_space) (const char *p);
+typedef const char* (*HPMHOOK_post_script_skip_space) (const char* retVal___, const char *p);
+typedef void (*HPMHOOK_pre_script_error) (const char *src, const char *file, int *start_line, const char *error_msg, const char *error_pos);
+typedef void (*HPMHOOK_post_script_error) (const char *src, const char *file, int *start_line, const char *error_msg, const char *error_pos);
+typedef void (*HPMHOOK_pre_script_warning) (const char *src, const char *file, int *start_line, const char *error_msg, const char *error_pos);
+typedef void (*HPMHOOK_post_script_warning) (const char *src, const char *file, int *start_line, const char *error_msg, const char *error_pos);
+typedef bool (*HPMHOOK_pre_script_addScript) (char *name, char *args, bool ( *func ) (struct script_state *st), bool *isDeprecated);
+typedef bool (*HPMHOOK_post_script_addScript) (bool retVal___, char *name, char *args, bool ( *func ) (struct script_state *st), bool *isDeprecated);
+typedef int (*HPMHOOK_pre_script_conv_num) (struct script_state *st, struct script_data *data);
+typedef int (*HPMHOOK_post_script_conv_num) (int retVal___, struct script_state *st, struct script_data *data);
+typedef const char* (*HPMHOOK_pre_script_conv_str) (struct script_state *st, struct script_data *data);
+typedef const char* (*HPMHOOK_post_script_conv_str) (const char* retVal___, struct script_state *st, struct script_data *data);
+typedef struct map_session_data* (*HPMHOOK_pre_script_rid2sd) (struct script_state *st);
+typedef struct map_session_data* (*HPMHOOK_post_script_rid2sd) (struct map_session_data* retVal___, struct script_state *st);
+typedef struct map_session_data* (*HPMHOOK_pre_script_id2sd) (struct script_state *st, int *account_id);
+typedef struct map_session_data* (*HPMHOOK_post_script_id2sd) (struct map_session_data* retVal___, struct script_state *st, int *account_id);
+typedef struct map_session_data* (*HPMHOOK_pre_script_charid2sd) (struct script_state *st, int *char_id);
+typedef struct map_session_data* (*HPMHOOK_post_script_charid2sd) (struct map_session_data* retVal___, struct script_state *st, int *char_id);
+typedef struct map_session_data* (*HPMHOOK_pre_script_nick2sd) (struct script_state *st, const char *name);
+typedef struct map_session_data* (*HPMHOOK_post_script_nick2sd) (struct map_session_data* retVal___, struct script_state *st, const char *name);
+typedef void (*HPMHOOK_pre_script_detach_rid) (struct script_state *st);
+typedef void (*HPMHOOK_post_script_detach_rid) (struct script_state *st);
+typedef struct script_data* (*HPMHOOK_pre_script_push_val) (struct script_stack *stack, enum c_op *type, int64 *val, struct reg_db *ref);
+typedef struct script_data* (*HPMHOOK_post_script_push_val) (struct script_data* retVal___, struct script_stack *stack, enum c_op *type, int64 *val, struct reg_db *ref);
+typedef struct script_data* (*HPMHOOK_pre_script_get_val) (struct script_state *st, struct script_data *data);
+typedef struct script_data* (*HPMHOOK_post_script_get_val) (struct script_data* retVal___, struct script_state *st, struct script_data *data);
+typedef char* (*HPMHOOK_pre_script_get_val_ref_str) (struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef char* (*HPMHOOK_post_script_get_val_ref_str) (char* retVal___, struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef char* (*HPMHOOK_pre_script_get_val_scope_str) (struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef char* (*HPMHOOK_post_script_get_val_scope_str) (char* retVal___, struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef char* (*HPMHOOK_pre_script_get_val_npc_str) (struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef char* (*HPMHOOK_post_script_get_val_npc_str) (char* retVal___, struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef char* (*HPMHOOK_pre_script_get_val_instance_str) (struct script_state *st, const char *name, struct script_data *data);
+typedef char* (*HPMHOOK_post_script_get_val_instance_str) (char* retVal___, struct script_state *st, const char *name, struct script_data *data);
+typedef int (*HPMHOOK_pre_script_get_val_ref_num) (struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef int (*HPMHOOK_post_script_get_val_ref_num) (int retVal___, struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef int (*HPMHOOK_pre_script_get_val_scope_num) (struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef int (*HPMHOOK_post_script_get_val_scope_num) (int retVal___, struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef int (*HPMHOOK_pre_script_get_val_npc_num) (struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef int (*HPMHOOK_post_script_get_val_npc_num) (int retVal___, struct script_state *st, struct reg_db *n, struct script_data *data);
+typedef int (*HPMHOOK_pre_script_get_val_instance_num) (struct script_state *st, const char *name, struct script_data *data);
+typedef int (*HPMHOOK_post_script_get_val_instance_num) (int retVal___, struct script_state *st, const char *name, struct script_data *data);
+typedef const void* (*HPMHOOK_pre_script_get_val2) (struct script_state *st, int64 *uid, struct reg_db *ref);
+typedef const void* (*HPMHOOK_post_script_get_val2) (const void* retVal___, struct script_state *st, int64 *uid, struct reg_db *ref);
+typedef struct script_data* (*HPMHOOK_pre_script_push_str) (struct script_stack *stack, char *str);
+typedef struct script_data* (*HPMHOOK_post_script_push_str) (struct script_data* retVal___, struct script_stack *stack, char *str);
+typedef struct script_data* (*HPMHOOK_pre_script_push_conststr) (struct script_stack *stack, const char *str);
+typedef struct script_data* (*HPMHOOK_post_script_push_conststr) (struct script_data* retVal___, struct script_stack *stack, const char *str);
+typedef struct script_data* (*HPMHOOK_pre_script_push_copy) (struct script_stack *stack, int *pos);
+typedef struct script_data* (*HPMHOOK_post_script_push_copy) (struct script_data* retVal___, struct script_stack *stack, int *pos);
+typedef void (*HPMHOOK_pre_script_pop_stack) (struct script_state *st, int *start, int *end);
+typedef void (*HPMHOOK_post_script_pop_stack) (struct script_state *st, int *start, int *end);
+typedef void (*HPMHOOK_pre_script_set_constant) (const char *name, int *value, bool *is_parameter, bool *is_deprecated);
+typedef void (*HPMHOOK_post_script_set_constant) (const char *name, int *value, bool *is_parameter, bool *is_deprecated);
+typedef void (*HPMHOOK_pre_script_set_constant2) (const char *name, int *value, bool *is_parameter, bool *is_deprecated);
+typedef void (*HPMHOOK_post_script_set_constant2) (const char *name, int *value, bool *is_parameter, bool *is_deprecated);
+typedef bool (*HPMHOOK_pre_script_get_constant) (const char *name, int *value);
+typedef bool (*HPMHOOK_post_script_get_constant) (bool retVal___, const char *name, int *value);
+typedef void (*HPMHOOK_pre_script_label_add) (int *key, int *pos);
+typedef void (*HPMHOOK_post_script_label_add) (int *key, int *pos);
+typedef void (*HPMHOOK_pre_script_run) (struct script_code *rootscript, int *pos, int *rid, int *oid);
+typedef void (*HPMHOOK_post_script_run) (struct script_code *rootscript, int *pos, int *rid, int *oid);
+typedef void (*HPMHOOK_pre_script_run_npc) (struct script_code *rootscript, int *pos, int *rid, int *oid);
+typedef void (*HPMHOOK_post_script_run_npc) (struct script_code *rootscript, int *pos, int *rid, int *oid);
+typedef void (*HPMHOOK_pre_script_run_pet) (struct script_code *rootscript, int *pos, int *rid, int *oid);
+typedef void (*HPMHOOK_post_script_run_pet) (struct script_code *rootscript, int *pos, int *rid, int *oid);
+typedef void (*HPMHOOK_pre_script_run_main) (struct script_state *st);
+typedef void (*HPMHOOK_post_script_run_main) (struct script_state *st);
+typedef int (*HPMHOOK_pre_script_run_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_script_run_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_script_set_var) (struct map_session_data *sd, char *name, void *val);
+typedef int (*HPMHOOK_post_script_set_var) (int retVal___, struct map_session_data *sd, char *name, void *val);
+typedef void (*HPMHOOK_pre_script_stop_instances) (struct script_code *code);
+typedef void (*HPMHOOK_post_script_stop_instances) (struct script_code *code);
+typedef void (*HPMHOOK_pre_script_free_code) (struct script_code *code);
+typedef void (*HPMHOOK_post_script_free_code) (struct script_code *code);
+typedef void (*HPMHOOK_pre_script_free_vars) (struct DBMap *var_storage);
+typedef void (*HPMHOOK_post_script_free_vars) (struct DBMap *var_storage);
+typedef struct script_state* (*HPMHOOK_pre_script_alloc_state) (struct script_code *rootscript, int *pos, int *rid, int *oid);
+typedef struct script_state* (*HPMHOOK_post_script_alloc_state) (struct script_state* retVal___, struct script_code *rootscript, int *pos, int *rid, int *oid);
+typedef void (*HPMHOOK_pre_script_free_state) (struct script_state *st);
+typedef void (*HPMHOOK_post_script_free_state) (struct script_state *st);
+typedef void (*HPMHOOK_pre_script_add_pending_ref) (struct script_state *st, struct reg_db *ref);
+typedef void (*HPMHOOK_post_script_add_pending_ref) (struct script_state *st, struct reg_db *ref);
+typedef void (*HPMHOOK_pre_script_run_autobonus) (const char *autobonus, int *id, int *pos);
+typedef void (*HPMHOOK_post_script_run_autobonus) (const char *autobonus, int *id, int *pos);
+typedef void (*HPMHOOK_pre_script_cleararray_pc) (struct map_session_data *sd, const char *varname, void *value);
+typedef void (*HPMHOOK_post_script_cleararray_pc) (struct map_session_data *sd, const char *varname, void *value);
+typedef void (*HPMHOOK_pre_script_setarray_pc) (struct map_session_data *sd, const char *varname, uint32 *idx, void *value, int *refcache);
+typedef void (*HPMHOOK_post_script_setarray_pc) (struct map_session_data *sd, const char *varname, uint32 *idx, void *value, int *refcache);
+typedef int (*HPMHOOK_pre_script_config_read) (char *cfgName);
+typedef int (*HPMHOOK_post_script_config_read) (int retVal___, char *cfgName);
+typedef int (*HPMHOOK_pre_script_add_str) (const char *p);
+typedef int (*HPMHOOK_post_script_add_str) (int retVal___, const char *p);
+typedef const char* (*HPMHOOK_pre_script_get_str) (int *id);
+typedef const char* (*HPMHOOK_post_script_get_str) (const char* retVal___, int *id);
+typedef int (*HPMHOOK_pre_script_search_str) (const char *p);
+typedef int (*HPMHOOK_post_script_search_str) (int retVal___, const char *p);
+typedef void (*HPMHOOK_pre_script_setd_sub) (struct script_state *st, struct map_session_data *sd, const char *varname, int *elem, const void *value, struct reg_db *ref);
+typedef void (*HPMHOOK_post_script_setd_sub) (struct script_state *st, struct map_session_data *sd, const char *varname, int *elem, const void *value, struct reg_db *ref);
+typedef void (*HPMHOOK_pre_script_attach_state) (struct script_state *st);
+typedef void (*HPMHOOK_post_script_attach_state) (struct script_state *st);
+typedef struct script_queue* (*HPMHOOK_pre_script_queue) (int *idx);
+typedef struct script_queue* (*HPMHOOK_post_script_queue) (struct script_queue* retVal___, int *idx);
+typedef bool (*HPMHOOK_pre_script_queue_add) (int *idx, int *var);
+typedef bool (*HPMHOOK_post_script_queue_add) (bool retVal___, int *idx, int *var);
+typedef bool (*HPMHOOK_pre_script_queue_del) (int *idx);
+typedef bool (*HPMHOOK_post_script_queue_del) (bool retVal___, int *idx);
+typedef bool (*HPMHOOK_pre_script_queue_remove) (int *idx, int *var);
+typedef bool (*HPMHOOK_post_script_queue_remove) (bool retVal___, int *idx, int *var);
+typedef int (*HPMHOOK_pre_script_queue_create) (void);
+typedef int (*HPMHOOK_post_script_queue_create) (int retVal___);
+typedef bool (*HPMHOOK_pre_script_queue_clear) (int *idx);
+typedef bool (*HPMHOOK_post_script_queue_clear) (bool retVal___, int *idx);
+typedef const char* (*HPMHOOK_pre_script_parse_curly_close) (const char *p);
+typedef const char* (*HPMHOOK_post_script_parse_curly_close) (const char* retVal___, const char *p);
+typedef const char* (*HPMHOOK_pre_script_parse_syntax_close) (const char *p);
+typedef const char* (*HPMHOOK_post_script_parse_syntax_close) (const char* retVal___, const char *p);
+typedef const char* (*HPMHOOK_pre_script_parse_syntax_close_sub) (const char *p, int *flag);
+typedef const char* (*HPMHOOK_post_script_parse_syntax_close_sub) (const char* retVal___, const char *p, int *flag);
+typedef const char* (*HPMHOOK_pre_script_parse_syntax) (const char *p);
+typedef const char* (*HPMHOOK_post_script_parse_syntax) (const char* retVal___, const char *p);
+typedef c_op (*HPMHOOK_pre_script_get_com) (unsigned char *scriptbuf, int *pos);
+typedef c_op (*HPMHOOK_post_script_get_com) (c_op retVal___, unsigned char *scriptbuf, int *pos);
+typedef int (*HPMHOOK_pre_script_get_num) (unsigned char *scriptbuf, int *pos);
+typedef int (*HPMHOOK_post_script_get_num) (int retVal___, unsigned char *scriptbuf, int *pos);
+typedef const char* (*HPMHOOK_pre_script_op2name) (int *op);
+typedef const char* (*HPMHOOK_post_script_op2name) (const char* retVal___, int *op);
+typedef void (*HPMHOOK_pre_script_reportsrc) (struct script_state *st);
+typedef void (*HPMHOOK_post_script_reportsrc) (struct script_state *st);
+typedef void (*HPMHOOK_pre_script_reportdata) (struct script_data *data);
+typedef void (*HPMHOOK_post_script_reportdata) (struct script_data *data);
+typedef void (*HPMHOOK_pre_script_reportfunc) (struct script_state *st);
+typedef void (*HPMHOOK_post_script_reportfunc) (struct script_state *st);
+typedef void (*HPMHOOK_pre_script_disp_warning_message) (const char *mes, const char *pos);
+typedef void (*HPMHOOK_post_script_disp_warning_message) (const char *mes, const char *pos);
+typedef void (*HPMHOOK_pre_script_check_event) (struct script_state *st, const char *evt);
+typedef void (*HPMHOOK_post_script_check_event) (struct script_state *st, const char *evt);
+typedef unsigned int (*HPMHOOK_pre_script_calc_hash) (const char *p);
+typedef unsigned int (*HPMHOOK_post_script_calc_hash) (unsigned int retVal___, const char *p);
+typedef void (*HPMHOOK_pre_script_addb) (int *a);
+typedef void (*HPMHOOK_post_script_addb) (int *a);
+typedef void (*HPMHOOK_pre_script_addc) (int *a);
+typedef void (*HPMHOOK_post_script_addc) (int *a);
+typedef void (*HPMHOOK_pre_script_addi) (int *a);
+typedef void (*HPMHOOK_post_script_addi) (int *a);
+typedef void (*HPMHOOK_pre_script_addl) (int *l);
+typedef void (*HPMHOOK_post_script_addl) (int *l);
+typedef void (*HPMHOOK_pre_script_set_label) (int *l, int *pos, const char *script_pos);
+typedef void (*HPMHOOK_post_script_set_label) (int *l, int *pos, const char *script_pos);
+typedef const char* (*HPMHOOK_pre_script_skip_word) (const char *p);
+typedef const char* (*HPMHOOK_post_script_skip_word) (const char* retVal___, const char *p);
+typedef int (*HPMHOOK_pre_script_add_word) (const char *p);
+typedef int (*HPMHOOK_post_script_add_word) (int retVal___, const char *p);
+typedef const char* (*HPMHOOK_pre_script_parse_callfunc) (const char *p, int *require_paren, int *is_custom);
+typedef const char* (*HPMHOOK_post_script_parse_callfunc) (const char* retVal___, const char *p, int *require_paren, int *is_custom);
+typedef void (*HPMHOOK_pre_script_parse_nextline) (bool *first, const char *p);
+typedef void (*HPMHOOK_post_script_parse_nextline) (bool *first, const char *p);
+typedef const char* (*HPMHOOK_pre_script_parse_variable) (const char *p);
+typedef const char* (*HPMHOOK_post_script_parse_variable) (const char* retVal___, const char *p);
+typedef const char* (*HPMHOOK_pre_script_parse_simpleexpr) (const char *p);
+typedef const char* (*HPMHOOK_post_script_parse_simpleexpr) (const char* retVal___, const char *p);
+typedef const char* (*HPMHOOK_pre_script_parse_expr) (const char *p);
+typedef const char* (*HPMHOOK_post_script_parse_expr) (const char* retVal___, const char *p);
+typedef const char* (*HPMHOOK_pre_script_parse_line) (const char *p);
+typedef const char* (*HPMHOOK_post_script_parse_line) (const char* retVal___, const char *p);
+typedef void (*HPMHOOK_pre_script_read_constdb) (void);
+typedef void (*HPMHOOK_post_script_read_constdb) (void);
+typedef void (*HPMHOOK_pre_script_constdb_comment) (const char *comment);
+typedef void (*HPMHOOK_post_script_constdb_comment) (const char *comment);
+typedef void (*HPMHOOK_pre_script_load_parameters) (void);
+typedef void (*HPMHOOK_post_script_load_parameters) (void);
+typedef const char* (*HPMHOOK_pre_script_print_line) (StringBuf *buf, const char *p, const char *mark, int *line);
+typedef const char* (*HPMHOOK_post_script_print_line) (const char* retVal___, StringBuf *buf, const char *p, const char *mark, int *line);
+typedef void (*HPMHOOK_pre_script_errorwarning_sub) (StringBuf *buf, const char *src, const char *file, int *start_line, const char *error_msg, const char *error_pos);
+typedef void (*HPMHOOK_post_script_errorwarning_sub) (StringBuf *buf, const char *src, const char *file, int *start_line, const char *error_msg, const char *error_pos);
+typedef int (*HPMHOOK_pre_script_set_reg) (struct script_state *st, struct map_session_data *sd, int64 *num, const char *name, const void *value, struct reg_db *ref);
+typedef int (*HPMHOOK_post_script_set_reg) (int retVal___, struct script_state *st, struct map_session_data *sd, int64 *num, const char *name, const void *value, struct reg_db *ref);
+typedef void (*HPMHOOK_pre_script_set_reg_ref_str) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, const char *str);
+typedef void (*HPMHOOK_post_script_set_reg_ref_str) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, const char *str);
+typedef void (*HPMHOOK_pre_script_set_reg_scope_str) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, const char *str);
+typedef void (*HPMHOOK_post_script_set_reg_scope_str) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, const char *str);
+typedef void (*HPMHOOK_pre_script_set_reg_npc_str) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, const char *str);
+typedef void (*HPMHOOK_post_script_set_reg_npc_str) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, const char *str);
+typedef void (*HPMHOOK_pre_script_set_reg_instance_str) (struct script_state *st, int64 *num, const char *name, const char *str);
+typedef void (*HPMHOOK_post_script_set_reg_instance_str) (struct script_state *st, int64 *num, const char *name, const char *str);
+typedef void (*HPMHOOK_pre_script_set_reg_ref_num) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, int *val);
+typedef void (*HPMHOOK_post_script_set_reg_ref_num) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, int *val);
+typedef void (*HPMHOOK_pre_script_set_reg_scope_num) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, int *val);
+typedef void (*HPMHOOK_post_script_set_reg_scope_num) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, int *val);
+typedef void (*HPMHOOK_pre_script_set_reg_npc_num) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, int *val);
+typedef void (*HPMHOOK_post_script_set_reg_npc_num) (struct script_state *st, struct reg_db *n, int64 *num, const char *name, int *val);
+typedef void (*HPMHOOK_pre_script_set_reg_instance_num) (struct script_state *st, int64 *num, const char *name, int *val);
+typedef void (*HPMHOOK_post_script_set_reg_instance_num) (struct script_state *st, int64 *num, const char *name, int *val);
+typedef void (*HPMHOOK_pre_script_stack_expand) (struct script_stack *stack);
+typedef void (*HPMHOOK_post_script_stack_expand) (struct script_stack *stack);
+typedef struct script_data* (*HPMHOOK_pre_script_push_retinfo) (struct script_stack *stack, struct script_retinfo *ri, struct reg_db *ref);
+typedef struct script_data* (*HPMHOOK_post_script_push_retinfo) (struct script_data* retVal___, struct script_stack *stack, struct script_retinfo *ri, struct reg_db *ref);
+typedef void (*HPMHOOK_pre_script_op_3) (struct script_state *st, int *op);
+typedef void (*HPMHOOK_post_script_op_3) (struct script_state *st, int *op);
+typedef void (*HPMHOOK_pre_script_op_2str) (struct script_state *st, int *op, const char *s1, const char *s2);
+typedef void (*HPMHOOK_post_script_op_2str) (struct script_state *st, int *op, const char *s1, const char *s2);
+typedef void (*HPMHOOK_pre_script_op_2num) (struct script_state *st, int *op, int *i1, int *i2);
+typedef void (*HPMHOOK_post_script_op_2num) (struct script_state *st, int *op, int *i1, int *i2);
+typedef void (*HPMHOOK_pre_script_op_2) (struct script_state *st, int *op);
+typedef void (*HPMHOOK_post_script_op_2) (struct script_state *st, int *op);
+typedef void (*HPMHOOK_pre_script_op_1) (struct script_state *st, int *op);
+typedef void (*HPMHOOK_post_script_op_1) (struct script_state *st, int *op);
+typedef void (*HPMHOOK_pre_script_check_buildin_argtype) (struct script_state *st, int *func);
+typedef void (*HPMHOOK_post_script_check_buildin_argtype) (struct script_state *st, int *func);
+typedef void (*HPMHOOK_pre_script_detach_state) (struct script_state *st, bool *dequeue_event);
+typedef void (*HPMHOOK_post_script_detach_state) (struct script_state *st, bool *dequeue_event);
+typedef int (*HPMHOOK_pre_script_db_free_code_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_script_db_free_code_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_script_add_autobonus) (const char *autobonus);
+typedef void (*HPMHOOK_post_script_add_autobonus) (const char *autobonus);
+typedef int (*HPMHOOK_pre_script_menu_countoptions) (const char *str, int *max_count, int *total);
+typedef int (*HPMHOOK_post_script_menu_countoptions) (int retVal___, const char *str, int *max_count, int *total);
+typedef int (*HPMHOOK_pre_script_buildin_areawarp_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_areawarp_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_areapercentheal_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_areapercentheal_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_script_buildin_delitem_delete) (struct map_session_data *sd, int *idx, int *amount, bool *delete_items);
+typedef void (*HPMHOOK_post_script_buildin_delitem_delete) (struct map_session_data *sd, int *idx, int *amount, bool *delete_items);
+typedef bool (*HPMHOOK_pre_script_buildin_delitem_search) (struct map_session_data *sd, struct item *it, bool *exact_match);
+typedef bool (*HPMHOOK_post_script_buildin_delitem_search) (bool retVal___, struct map_session_data *sd, struct item *it, bool *exact_match);
+typedef int (*HPMHOOK_pre_script_buildin_killmonster_sub_strip) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_killmonster_sub_strip) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_killmonster_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_killmonster_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_killmonsterall_sub_strip) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_killmonsterall_sub_strip) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_killmonsterall_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_killmonsterall_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_announce_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_announce_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_getareausers_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_getareausers_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_getareadropitem_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_getareadropitem_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_mapflag_pvp_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_mapflag_pvp_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_pvpoff_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_pvpoff_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_maprespawnguildid_sub_pc) (struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_maprespawnguildid_sub_pc) (int retVal___, struct map_session_data *sd, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_maprespawnguildid_sub_mob) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_maprespawnguildid_sub_mob) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_mobcount_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_mobcount_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_playbgm_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_playbgm_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_playbgm_foreachpc_sub) (struct map_session_data *sd, va_list args);
+typedef int (*HPMHOOK_post_script_playbgm_foreachpc_sub) (int retVal___, struct map_session_data *sd, va_list args);
+typedef int (*HPMHOOK_pre_script_soundeffect_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_soundeffect_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_query_sql_sub) (struct script_state *st, struct Sql *handle);
+typedef int (*HPMHOOK_post_script_buildin_query_sql_sub) (int retVal___, struct script_state *st, struct Sql *handle);
+typedef int (*HPMHOOK_pre_script_buildin_instance_warpall_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_instance_warpall_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_buildin_mobuseskill_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_buildin_mobuseskill_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_cleanfloor_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_script_cleanfloor_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_script_run_func) (struct script_state *st);
+typedef int (*HPMHOOK_post_script_run_func) (int retVal___, struct script_state *st);
+typedef const char* (*HPMHOOK_pre_script_getfuncname) (struct script_state *st);
+typedef const char* (*HPMHOOK_post_script_getfuncname) (const char* retVal___, struct script_state *st);
+typedef unsigned int (*HPMHOOK_pre_script_calc_hash_ci) (const char *p);
+typedef unsigned int (*HPMHOOK_post_script_calc_hash_ci) (unsigned int retVal___, const char *p);
+typedef struct reg_db* (*HPMHOOK_pre_script_array_src) (struct script_state *st, struct map_session_data *sd, const char *name, struct reg_db *ref);
+typedef struct reg_db* (*HPMHOOK_post_script_array_src) (struct reg_db* retVal___, struct script_state *st, struct map_session_data *sd, const char *name, struct reg_db *ref);
+typedef void (*HPMHOOK_pre_script_array_update) (struct reg_db *src, int64 *num, bool *empty);
+typedef void (*HPMHOOK_post_script_array_update) (struct reg_db *src, int64 *num, bool *empty);
+typedef void (*HPMHOOK_pre_script_array_delete) (struct reg_db *src, struct script_array *sa);
+typedef void (*HPMHOOK_post_script_array_delete) (struct reg_db *src, struct script_array *sa);
+typedef void (*HPMHOOK_pre_script_array_remove_member) (struct reg_db *src, struct script_array *sa, unsigned int *idx);
+typedef void (*HPMHOOK_post_script_array_remove_member) (struct reg_db *src, struct script_array *sa, unsigned int *idx);
+typedef void (*HPMHOOK_pre_script_array_add_member) (struct script_array *sa, unsigned int *idx);
+typedef void (*HPMHOOK_post_script_array_add_member) (struct script_array *sa, unsigned int *idx);
+typedef unsigned int (*HPMHOOK_pre_script_array_size) (struct script_state *st, struct map_session_data *sd, const char *name, struct reg_db *ref);
+typedef unsigned int (*HPMHOOK_post_script_array_size) (unsigned int retVal___, struct script_state *st, struct map_session_data *sd, const char *name, struct reg_db *ref);
+typedef unsigned int (*HPMHOOK_pre_script_array_highest_key) (struct script_state *st, struct map_session_data *sd, const char *name, struct reg_db *ref);
+typedef unsigned int (*HPMHOOK_post_script_array_highest_key) (unsigned int retVal___, struct script_state *st, struct map_session_data *sd, const char *name, struct reg_db *ref);
+typedef int (*HPMHOOK_pre_script_array_free_db) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_script_array_free_db) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_script_array_ensure_zero) (struct script_state *st, struct map_session_data *sd, int64 *uid, struct reg_db *ref);
+typedef void (*HPMHOOK_post_script_array_ensure_zero) (struct script_state *st, struct map_session_data *sd, int64 *uid, struct reg_db *ref);
+typedef void (*HPMHOOK_pre_script_reg_destroy_single) (struct map_session_data *sd, int64 *reg, struct script_reg_state *data);
+typedef void (*HPMHOOK_post_script_reg_destroy_single) (struct map_session_data *sd, int64 *reg, struct script_reg_state *data);
+typedef int (*HPMHOOK_pre_script_reg_destroy) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_script_reg_destroy) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_script_generic_ui_array_expand) (unsigned int *plus);
+typedef void (*HPMHOOK_post_script_generic_ui_array_expand) (unsigned int *plus);
+typedef unsigned int* (*HPMHOOK_pre_script_array_cpy_list) (struct script_array *sa);
+typedef unsigned int* (*HPMHOOK_post_script_array_cpy_list) (unsigned int* retVal___, struct script_array *sa);
+typedef void (*HPMHOOK_pre_script_hardcoded_constants) (void);
+typedef void (*HPMHOOK_post_script_hardcoded_constants) (void);
+typedef unsigned short (*HPMHOOK_pre_script_mapindexname2id) (struct script_state *st, const char *name);
+typedef unsigned short (*HPMHOOK_post_script_mapindexname2id) (unsigned short retVal___, struct script_state *st, const char *name);
+typedef int (*HPMHOOK_pre_script_string_dup) (char *str);
+typedef int (*HPMHOOK_post_script_string_dup) (int retVal___, char *str);
+typedef void (*HPMHOOK_pre_script_load_translations) (void);
+typedef void (*HPMHOOK_post_script_load_translations) (void);
+typedef void (*HPMHOOK_pre_script_load_translation) (const char *file, uint8 *lang_id, uint32 *total);
+typedef void (*HPMHOOK_post_script_load_translation) (const char *file, uint8 *lang_id, uint32 *total);
+typedef int (*HPMHOOK_pre_script_translation_db_destroyer) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_script_translation_db_destroyer) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_script_clear_translations) (bool *reload);
+typedef void (*HPMHOOK_post_script_clear_translations) (bool *reload);
+typedef int (*HPMHOOK_pre_script_parse_cleanup_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_script_parse_cleanup_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef uint8 (*HPMHOOK_pre_script_add_language) (const char *name);
+typedef uint8 (*HPMHOOK_post_script_add_language) (uint8 retVal___, const char *name);
+typedef const char* (*HPMHOOK_pre_script_get_translation_file_name) (const char *file);
+typedef const char* (*HPMHOOK_post_script_get_translation_file_name) (const char* retVal___, const char *file);
+typedef void (*HPMHOOK_pre_script_parser_clean_leftovers) (void);
+typedef void (*HPMHOOK_post_script_parser_clean_leftovers) (void);
+typedef void (*HPMHOOK_pre_script_run_use_script) (struct map_session_data *sd, struct item_data *data, int *oid);
+typedef void (*HPMHOOK_post_script_run_use_script) (struct map_session_data *sd, struct item_data *data, int *oid);
+typedef void (*HPMHOOK_pre_script_run_item_equip_script) (struct map_session_data *sd, struct item_data *data, int *oid);
+typedef void (*HPMHOOK_post_script_run_item_equip_script) (struct map_session_data *sd, struct item_data *data, int *oid);
+typedef void (*HPMHOOK_pre_script_run_item_unequip_script) (struct map_session_data *sd, struct item_data *data, int *oid);
+typedef void (*HPMHOOK_post_script_run_item_unequip_script) (struct map_session_data *sd, struct item_data *data, int *oid);
+#endif // MAP_SCRIPT_H
+#ifdef MAP_SEARCHSTORE_H /* searchstore */
+typedef bool (*HPMHOOK_pre_searchstore_open) (struct map_session_data *sd, unsigned int *uses, unsigned short *effect);
+typedef bool (*HPMHOOK_post_searchstore_open) (bool retVal___, struct map_session_data *sd, unsigned int *uses, unsigned short *effect);
+typedef void (*HPMHOOK_pre_searchstore_query) (struct map_session_data *sd, unsigned char *type, unsigned int *min_price, unsigned int *max_price, const unsigned short *itemlist, unsigned int *item_count, const unsigned short *cardlist, unsigned int *card_count);
+typedef void (*HPMHOOK_post_searchstore_query) (struct map_session_data *sd, unsigned char *type, unsigned int *min_price, unsigned int *max_price, const unsigned short *itemlist, unsigned int *item_count, const unsigned short *cardlist, unsigned int *card_count);
+typedef bool (*HPMHOOK_pre_searchstore_querynext) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_searchstore_querynext) (bool retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_searchstore_next) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_searchstore_next) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_searchstore_clear) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_searchstore_clear) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_searchstore_close) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_searchstore_close) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_searchstore_click) (struct map_session_data *sd, int *account_id, int *store_id, unsigned short *nameid);
+typedef void (*HPMHOOK_post_searchstore_click) (struct map_session_data *sd, int *account_id, int *store_id, unsigned short *nameid);
+typedef bool (*HPMHOOK_pre_searchstore_queryremote) (struct map_session_data *sd, int *account_id);
+typedef bool (*HPMHOOK_post_searchstore_queryremote) (bool retVal___, struct map_session_data *sd, int *account_id);
+typedef void (*HPMHOOK_pre_searchstore_clearremote) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_searchstore_clearremote) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_pre_searchstore_result) (struct map_session_data *sd, unsigned int *store_id, int *account_id, const char *store_name, unsigned short *nameid, unsigned short *amount, unsigned int *price, const short *card, unsigned char *refine);
+typedef bool (*HPMHOOK_post_searchstore_result) (bool retVal___, struct map_session_data *sd, unsigned int *store_id, int *account_id, const char *store_name, unsigned short *nameid, unsigned short *amount, unsigned int *price, const short *card, unsigned char *refine);
+#endif // MAP_SEARCHSTORE_H
+#ifdef COMMON_SHOWMSG_H /* showmsg */
+typedef void (*HPMHOOK_pre_showmsg_init) (void);
+typedef void (*HPMHOOK_post_showmsg_init) (void);
+typedef void (*HPMHOOK_pre_showmsg_final) (void);
+typedef void (*HPMHOOK_post_showmsg_final) (void);
+typedef void (*HPMHOOK_pre_showmsg_clearScreen) (void);
+typedef void (*HPMHOOK_post_showmsg_clearScreen) (void);
+typedef int (*HPMHOOK_pre_showmsg_showMessageV) (const char *string, va_list ap);
+typedef int (*HPMHOOK_post_showmsg_showMessageV) (int retVal___, const char *string, va_list ap);
+#endif // COMMON_SHOWMSG_H
+#ifdef MAP_SKILL_H /* skill */
+typedef int (*HPMHOOK_pre_skill_init) (bool *minimal);
+typedef int (*HPMHOOK_post_skill_init) (int retVal___, bool *minimal);
+typedef int (*HPMHOOK_pre_skill_final) (void);
+typedef int (*HPMHOOK_post_skill_final) (int retVal___);
+typedef void (*HPMHOOK_pre_skill_reload) (void);
+typedef void (*HPMHOOK_post_skill_reload) (void);
+typedef void (*HPMHOOK_pre_skill_read_db) (bool *minimal);
+typedef void (*HPMHOOK_post_skill_read_db) (bool *minimal);
+typedef int (*HPMHOOK_pre_skill_get_index) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_index) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_type) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_type) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_hit) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_hit) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_inf) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_inf) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_ele) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_ele) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_nk) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_nk) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_max) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_max) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_range) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_range) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_range2) (struct block_list *bl, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_range2) (int retVal___, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_splash) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_splash) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_hp) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_hp) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_mhp) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_mhp) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_sp) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_sp) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_state) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_state) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_spiritball) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_spiritball) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_zeny) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_zeny) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_num) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_num) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_cast) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_cast) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_delay) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_delay) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_walkdelay) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_walkdelay) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_time) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_time) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_time2) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_time2) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_castnodex) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_castnodex) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_delaynodex) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_delaynodex) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_castdef) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_castdef) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_weapontype) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_weapontype) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_ammotype) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_ammotype) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_ammo_qty) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_ammo_qty) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_unit_id) (uint16 *skill_id, int *flag);
+typedef int (*HPMHOOK_post_skill_get_unit_id) (int retVal___, uint16 *skill_id, int *flag);
+typedef int (*HPMHOOK_pre_skill_get_inf2) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_inf2) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_castcancel) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_castcancel) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_maxcount) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_maxcount) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_blewcount) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_blewcount) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_unit_flag) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_unit_flag) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_unit_target) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_unit_target) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_unit_interval) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_unit_interval) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_unit_bl_target) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_unit_bl_target) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_unit_layout_type) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_unit_layout_type) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_unit_range) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_unit_range) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_cooldown) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_cooldown) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_tree_get_max) (uint16 *skill_id, int *b_class);
+typedef int (*HPMHOOK_post_skill_tree_get_max) (int retVal___, uint16 *skill_id, int *b_class);
+typedef const char* (*HPMHOOK_pre_skill_get_name) (uint16 *skill_id);
+typedef const char* (*HPMHOOK_post_skill_get_name) (const char* retVal___, uint16 *skill_id);
+typedef const char* (*HPMHOOK_pre_skill_get_desc) (uint16 *skill_id);
+typedef const char* (*HPMHOOK_post_skill_get_desc) (const char* retVal___, uint16 *skill_id);
+typedef void (*HPMHOOK_pre_skill_chk) (uint16 *skill_id);
+typedef void (*HPMHOOK_post_skill_chk) (uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_casttype) (uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_get_casttype) (int retVal___, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_get_casttype2) (uint16 *index);
+typedef int (*HPMHOOK_post_skill_get_casttype2) (int retVal___, uint16 *index);
+typedef bool (*HPMHOOK_pre_skill_is_combo) (int *skill_id);
+typedef bool (*HPMHOOK_post_skill_is_combo) (bool retVal___, int *skill_id);
+typedef int (*HPMHOOK_pre_skill_name2id) (const char *name);
+typedef int (*HPMHOOK_post_skill_name2id) (int retVal___, const char *name);
+typedef int (*HPMHOOK_pre_skill_isammotype) (struct map_session_data *sd, int *skill_id);
+typedef int (*HPMHOOK_post_skill_isammotype) (int retVal___, struct map_session_data *sd, int *skill_id);
+typedef int (*HPMHOOK_pre_skill_castend_id) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_skill_castend_id) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_skill_castend_pos) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_skill_castend_pos) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_skill_castend_map) (struct map_session_data *sd, uint16 *skill_id, const char *mapname);
+typedef int (*HPMHOOK_post_skill_castend_map) (int retVal___, struct map_session_data *sd, uint16 *skill_id, const char *mapname);
+typedef int (*HPMHOOK_pre_skill_cleartimerskill) (struct block_list *src);
+typedef int (*HPMHOOK_post_skill_cleartimerskill) (int retVal___, struct block_list *src);
+typedef int (*HPMHOOK_pre_skill_addtimerskill) (struct block_list *src, int64 *tick, int *target, int *x, int *y, uint16 *skill_id, uint16 *skill_lv, int *type, int *flag);
+typedef int (*HPMHOOK_post_skill_addtimerskill) (int retVal___, struct block_list *src, int64 *tick, int *target, int *x, int *y, uint16 *skill_id, uint16 *skill_lv, int *type, int *flag);
+typedef int (*HPMHOOK_pre_skill_additional_effect) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *attack_type, int *dmg_lv, int64 *tick);
+typedef int (*HPMHOOK_post_skill_additional_effect) (int retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *attack_type, int *dmg_lv, int64 *tick);
+typedef int (*HPMHOOK_pre_skill_counter_additional_effect) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *attack_type, int64 *tick);
+typedef int (*HPMHOOK_post_skill_counter_additional_effect) (int retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *attack_type, int64 *tick);
+typedef int (*HPMHOOK_pre_skill_blown) (struct block_list *src, struct block_list *target, int *count, int8 *dir, int *flag);
+typedef int (*HPMHOOK_post_skill_blown) (int retVal___, struct block_list *src, struct block_list *target, int *count, int8 *dir, int *flag);
+typedef int (*HPMHOOK_pre_skill_break_equip) (struct block_list *bl, unsigned short *where, int *rate, int *flag);
+typedef int (*HPMHOOK_post_skill_break_equip) (int retVal___, struct block_list *bl, unsigned short *where, int *rate, int *flag);
+typedef int (*HPMHOOK_pre_skill_strip_equip) (struct block_list *bl, unsigned short *where, int *rate, int *lv, int *time);
+typedef int (*HPMHOOK_post_skill_strip_equip) (int retVal___, struct block_list *bl, unsigned short *where, int *rate, int *lv, int *time);
+typedef struct skill_unit_group* (*HPMHOOK_pre_skill_id2group) (int *group_id);
+typedef struct skill_unit_group* (*HPMHOOK_post_skill_id2group) (struct skill_unit_group* retVal___, int *group_id);
+typedef struct skill_unit_group* (*HPMHOOK_pre_skill_unitsetting) (struct block_list *src, uint16 *skill_id, uint16 *skill_lv, short *x, short *y, int *flag);
+typedef struct skill_unit_group* (*HPMHOOK_post_skill_unitsetting) (struct skill_unit_group* retVal___, struct block_list *src, uint16 *skill_id, uint16 *skill_lv, short *x, short *y, int *flag);
+typedef struct skill_unit* (*HPMHOOK_pre_skill_initunit) (struct skill_unit_group *group, int *idx, int *x, int *y, int *val1, int *val2);
+typedef struct skill_unit* (*HPMHOOK_post_skill_initunit) (struct skill_unit* retVal___, struct skill_unit_group *group, int *idx, int *x, int *y, int *val1, int *val2);
+typedef int (*HPMHOOK_pre_skill_delunit) (struct skill_unit *su);
+typedef int (*HPMHOOK_post_skill_delunit) (int retVal___, struct skill_unit *su);
+typedef struct skill_unit_group* (*HPMHOOK_pre_skill_init_unitgroup) (struct block_list *src, int *count, uint16 *skill_id, uint16 *skill_lv, int *unit_id, int *limit, int *interval);
+typedef struct skill_unit_group* (*HPMHOOK_post_skill_init_unitgroup) (struct skill_unit_group* retVal___, struct block_list *src, int *count, uint16 *skill_id, uint16 *skill_lv, int *unit_id, int *limit, int *interval);
+typedef int (*HPMHOOK_pre_skill_del_unitgroup) (struct skill_unit_group *group, const char *file, int *line, const char *func);
+typedef int (*HPMHOOK_post_skill_del_unitgroup) (int retVal___, struct skill_unit_group *group, const char *file, int *line, const char *func);
+typedef int (*HPMHOOK_pre_skill_clear_unitgroup) (struct block_list *src);
+typedef int (*HPMHOOK_post_skill_clear_unitgroup) (int retVal___, struct block_list *src);
+typedef int (*HPMHOOK_pre_skill_clear_group) (struct block_list *bl, int *flag);
+typedef int (*HPMHOOK_post_skill_clear_group) (int retVal___, struct block_list *bl, int *flag);
+typedef int (*HPMHOOK_pre_skill_unit_onplace) (struct skill_unit *src, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_post_skill_unit_onplace) (int retVal___, struct skill_unit *src, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_pre_skill_unit_ondamaged) (struct skill_unit *src, struct block_list *bl, int64 *damage, int64 *tick);
+typedef int (*HPMHOOK_post_skill_unit_ondamaged) (int retVal___, struct skill_unit *src, struct block_list *bl, int64 *damage, int64 *tick);
+typedef int (*HPMHOOK_pre_skill_cast_fix) (struct block_list *bl, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_cast_fix) (int retVal___, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_cast_fix_sc) (struct block_list *bl, int *time);
+typedef int (*HPMHOOK_post_skill_cast_fix_sc) (int retVal___, struct block_list *bl, int *time);
+typedef int (*HPMHOOK_pre_skill_vf_cast_fix) (struct block_list *bl, double *time, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_vf_cast_fix) (int retVal___, struct block_list *bl, double *time, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_delay_fix) (struct block_list *bl, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_delay_fix) (int retVal___, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_check_condition_castbegin) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_check_condition_castbegin) (int retVal___, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_check_condition_castend) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_check_condition_castend) (int retVal___, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_consume_requirement) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, short *type);
+typedef int (*HPMHOOK_post_skill_consume_requirement) (int retVal___, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, short *type);
+typedef struct skill_condition (*HPMHOOK_pre_skill_get_requirement) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef struct skill_condition (*HPMHOOK_post_skill_get_requirement) (struct skill_condition retVal___, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_check_pc_partner) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, int *range, int *cast_flag);
+typedef int (*HPMHOOK_post_skill_check_pc_partner) (int retVal___, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, int *range, int *cast_flag);
+typedef int (*HPMHOOK_pre_skill_unit_move) (struct block_list *bl, int64 *tick, int *flag);
+typedef int (*HPMHOOK_post_skill_unit_move) (int retVal___, struct block_list *bl, int64 *tick, int *flag);
+typedef int (*HPMHOOK_pre_skill_unit_onleft) (uint16 *skill_id, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_post_skill_unit_onleft) (int retVal___, uint16 *skill_id, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_pre_skill_unit_onout) (struct skill_unit *src, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_post_skill_unit_onout) (int retVal___, struct skill_unit *src, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_pre_skill_unit_move_unit_group) (struct skill_unit_group *group, int16 *m, int16 *dx, int16 *dy);
+typedef int (*HPMHOOK_post_skill_unit_move_unit_group) (int retVal___, struct skill_unit_group *group, int16 *m, int16 *dx, int16 *dy);
+typedef int (*HPMHOOK_pre_skill_sit) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_post_skill_sit) (int retVal___, struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_pre_skill_brandishspear) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef void (*HPMHOOK_post_skill_brandishspear) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef void (*HPMHOOK_pre_skill_repairweapon) (struct map_session_data *sd, int *idx);
+typedef void (*HPMHOOK_post_skill_repairweapon) (struct map_session_data *sd, int *idx);
+typedef void (*HPMHOOK_pre_skill_identify) (struct map_session_data *sd, int *idx);
+typedef void (*HPMHOOK_post_skill_identify) (struct map_session_data *sd, int *idx);
+typedef void (*HPMHOOK_pre_skill_weaponrefine) (struct map_session_data *sd, int *idx);
+typedef void (*HPMHOOK_post_skill_weaponrefine) (struct map_session_data *sd, int *idx);
+typedef int (*HPMHOOK_pre_skill_autospell) (struct map_session_data *md, uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_autospell) (int retVal___, struct map_session_data *md, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_calc_heal) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, bool *heal);
+typedef int (*HPMHOOK_post_skill_calc_heal) (int retVal___, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, bool *heal);
+typedef bool (*HPMHOOK_pre_skill_check_cloaking) (struct block_list *bl, struct status_change_entry *sce);
+typedef bool (*HPMHOOK_post_skill_check_cloaking) (bool retVal___, struct block_list *bl, struct status_change_entry *sce);
+typedef int (*HPMHOOK_pre_skill_check_cloaking_end) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_check_cloaking_end) (int retVal___, struct block_list *bl, va_list ap);
+typedef bool (*HPMHOOK_pre_skill_can_cloak) (struct map_session_data *sd);
+typedef bool (*HPMHOOK_post_skill_can_cloak) (bool retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_skill_enchant_elemental_end) (struct block_list *bl, int *type);
+typedef int (*HPMHOOK_post_skill_enchant_elemental_end) (int retVal___, struct block_list *bl, int *type);
+typedef int (*HPMHOOK_pre_skill_not_ok) (uint16 *skill_id, struct map_session_data *sd);
+typedef int (*HPMHOOK_post_skill_not_ok) (int retVal___, uint16 *skill_id, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_skill_not_ok_hom) (uint16 *skill_id, struct homun_data *hd);
+typedef int (*HPMHOOK_post_skill_not_ok_hom) (int retVal___, uint16 *skill_id, struct homun_data *hd);
+typedef int (*HPMHOOK_pre_skill_not_ok_mercenary) (uint16 *skill_id, struct mercenary_data *md);
+typedef int (*HPMHOOK_post_skill_not_ok_mercenary) (int retVal___, uint16 *skill_id, struct mercenary_data *md);
+typedef int (*HPMHOOK_pre_skill_chastle_mob_changetarget) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_chastle_mob_changetarget) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_can_produce_mix) (struct map_session_data *sd, int *nameid, int *trigger, int *qty);
+typedef int (*HPMHOOK_post_skill_can_produce_mix) (int retVal___, struct map_session_data *sd, int *nameid, int *trigger, int *qty);
+typedef int (*HPMHOOK_pre_skill_produce_mix) (struct map_session_data *sd, uint16 *skill_id, int *nameid, int *slot1, int *slot2, int *slot3, int *qty);
+typedef int (*HPMHOOK_post_skill_produce_mix) (int retVal___, struct map_session_data *sd, uint16 *skill_id, int *nameid, int *slot1, int *slot2, int *slot3, int *qty);
+typedef int (*HPMHOOK_pre_skill_arrow_create) (struct map_session_data *sd, int *nameid);
+typedef int (*HPMHOOK_post_skill_arrow_create) (int retVal___, struct map_session_data *sd, int *nameid);
+typedef int (*HPMHOOK_pre_skill_castend_nodamage_id) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_post_skill_castend_nodamage_id) (int retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_pre_skill_castend_damage_id) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_post_skill_castend_damage_id) (int retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_pre_skill_castend_pos2) (struct block_list *src, int *x, int *y, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_post_skill_castend_pos2) (int retVal___, struct block_list *src, int *x, int *y, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_pre_skill_blockpc_start) (struct map_session_data *sd, uint16 *skill_id, int *tick);
+typedef int (*HPMHOOK_post_skill_blockpc_start) (int retVal___, struct map_session_data *sd, uint16 *skill_id, int *tick);
+typedef int (*HPMHOOK_pre_skill_blockhomun_start) (struct homun_data *hd, uint16 *skill_id, int *tick);
+typedef int (*HPMHOOK_post_skill_blockhomun_start) (int retVal___, struct homun_data *hd, uint16 *skill_id, int *tick);
+typedef int (*HPMHOOK_pre_skill_blockmerc_start) (struct mercenary_data *md, uint16 *skill_id, int *tick);
+typedef int (*HPMHOOK_post_skill_blockmerc_start) (int retVal___, struct mercenary_data *md, uint16 *skill_id, int *tick);
+typedef int (*HPMHOOK_pre_skill_attack) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_post_skill_attack) (int retVal___, int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_pre_skill_attack_area) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_attack_area) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_area_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_area_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_area_sub_count) (struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_post_skill_area_sub_count) (int retVal___, struct block_list *src, struct block_list *target, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_pre_skill_check_unit_range) (struct block_list *bl, int *x, int *y, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_check_unit_range) (int retVal___, struct block_list *bl, int *x, int *y, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_check_unit_range_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_check_unit_range_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_check_unit_range2) (struct block_list *bl, int *x, int *y, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_check_unit_range2) (int retVal___, struct block_list *bl, int *x, int *y, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_check_unit_range2_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_check_unit_range2_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_skill_toggle_magicpower) (struct block_list *bl, uint16 *skill_id);
+typedef void (*HPMHOOK_post_skill_toggle_magicpower) (struct block_list *bl, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_magic_reflect) (struct block_list *src, struct block_list *bl, int *type);
+typedef int (*HPMHOOK_post_skill_magic_reflect) (int retVal___, struct block_list *src, struct block_list *bl, int *type);
+typedef int (*HPMHOOK_pre_skill_onskillusage) (struct map_session_data *sd, struct block_list *bl, uint16 *skill_id, int64 *tick);
+typedef int (*HPMHOOK_post_skill_onskillusage) (int retVal___, struct map_session_data *sd, struct block_list *bl, uint16 *skill_id, int64 *tick);
+typedef int (*HPMHOOK_pre_skill_cell_overlap) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_cell_overlap) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_timerskill) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_skill_timerskill) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_skill_trap_splash) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_trap_splash) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_check_condition_mercenary) (struct block_list *bl, int *skill_id, int *lv, int *type);
+typedef int (*HPMHOOK_post_skill_check_condition_mercenary) (int retVal___, struct block_list *bl, int *skill_id, int *lv, int *type);
+typedef struct skill_unit_group* (*HPMHOOK_pre_skill_locate_element_field) (struct block_list *bl);
+typedef struct skill_unit_group* (*HPMHOOK_post_skill_locate_element_field) (struct skill_unit_group* retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_skill_graffitiremover) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_graffitiremover) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_activate_reverberation) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_activate_reverberation) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_dance_overlap_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_dance_overlap_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_dance_overlap) (struct skill_unit *su, int *flag);
+typedef int (*HPMHOOK_post_skill_dance_overlap) (int retVal___, struct skill_unit *su, int *flag);
+typedef struct s_skill_unit_layout* (*HPMHOOK_pre_skill_get_unit_layout) (uint16 *skill_id, uint16 *skill_lv, struct block_list *src, int *x, int *y);
+typedef struct s_skill_unit_layout* (*HPMHOOK_post_skill_get_unit_layout) (struct s_skill_unit_layout* retVal___, uint16 *skill_id, uint16 *skill_lv, struct block_list *src, int *x, int *y);
+typedef int (*HPMHOOK_pre_skill_frostjoke_scream) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_frostjoke_scream) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_greed) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_greed) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_destroy_trap) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_destroy_trap) (int retVal___, struct block_list *bl, va_list ap);
+typedef struct skill_unit_group_tickset* (*HPMHOOK_pre_skill_unitgrouptickset_search) (struct block_list *bl, struct skill_unit_group *group, int64 *tick);
+typedef struct skill_unit_group_tickset* (*HPMHOOK_post_skill_unitgrouptickset_search) (struct skill_unit_group_tickset* retVal___, struct block_list *bl, struct skill_unit_group *group, int64 *tick);
+typedef bool (*HPMHOOK_pre_skill_dance_switch) (struct skill_unit *su, int *flag);
+typedef bool (*HPMHOOK_post_skill_dance_switch) (bool retVal___, struct skill_unit *su, int *flag);
+typedef int (*HPMHOOK_pre_skill_check_condition_char_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_check_condition_char_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_check_condition_mob_master_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_check_condition_mob_master_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_skill_brandishspear_first) (struct square *tc, uint8 *dir, int16 *x, int16 *y);
+typedef void (*HPMHOOK_post_skill_brandishspear_first) (struct square *tc, uint8 *dir, int16 *x, int16 *y);
+typedef void (*HPMHOOK_pre_skill_brandishspear_dir) (struct square *tc, uint8 *dir, int *are);
+typedef void (*HPMHOOK_post_skill_brandishspear_dir) (struct square *tc, uint8 *dir, int *are);
+typedef int (*HPMHOOK_pre_skill_get_fixed_cast) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_fixed_cast) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_skill_sit_count) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_sit_count) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_sit_in) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_sit_in) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_sit_out) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_sit_out) (int retVal___, struct block_list *bl, va_list ap);
+typedef void (*HPMHOOK_pre_skill_unitsetmapcell) (struct skill_unit *src, uint16 *skill_id, uint16 *skill_lv, cell_t *cell, bool *flag);
+typedef void (*HPMHOOK_post_skill_unitsetmapcell) (struct skill_unit *src, uint16 *skill_id, uint16 *skill_lv, cell_t *cell, bool *flag);
+typedef int (*HPMHOOK_pre_skill_unit_onplace_timer) (struct skill_unit *src, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_post_skill_unit_onplace_timer) (int retVal___, struct skill_unit *src, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_pre_skill_unit_effect) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_unit_effect) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_unit_timer_sub_onplace) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_unit_timer_sub_onplace) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_unit_move_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_unit_move_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_skill_blockpc_end) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_skill_blockpc_end) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_skill_blockhomun_end) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_skill_blockhomun_end) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_skill_blockmerc_end) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_skill_blockmerc_end) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_skill_split_atoi) (char *str, int *val);
+typedef int (*HPMHOOK_post_skill_split_atoi) (int retVal___, char *str, int *val);
+typedef int (*HPMHOOK_pre_skill_unit_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_skill_unit_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_skill_unit_timer_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_skill_unit_timer_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+typedef void (*HPMHOOK_pre_skill_init_unit_layout) (void);
+typedef void (*HPMHOOK_post_skill_init_unit_layout) (void);
+typedef bool (*HPMHOOK_pre_skill_parse_row_skilldb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_skilldb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_requiredb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_requiredb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_castdb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_castdb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_castnodexdb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_castnodexdb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_unitdb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_unitdb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_producedb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_producedb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_createarrowdb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_createarrowdb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_abradb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_abradb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_spellbookdb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_spellbookdb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_magicmushroomdb) (char *split[], int *column, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_magicmushroomdb) (bool retVal___, char *split[], int *column, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_reproducedb) (char *split[], int *column, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_reproducedb) (bool retVal___, char *split[], int *column, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_improvisedb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_improvisedb) (bool retVal___, char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_skill_parse_row_changematerialdb) (char *split[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_skill_parse_row_changematerialdb) (bool retVal___, char *split[], int *columns, int *current);
+typedef void (*HPMHOOK_pre_skill_usave_add) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef void (*HPMHOOK_post_skill_usave_add) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef void (*HPMHOOK_pre_skill_usave_trigger) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_skill_usave_trigger) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_skill_cooldown_load) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_skill_cooldown_load) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_skill_spellbook) (struct map_session_data *sd, int *nameid);
+typedef int (*HPMHOOK_post_skill_spellbook) (int retVal___, struct map_session_data *sd, int *nameid);
+typedef int (*HPMHOOK_pre_skill_block_check) (struct block_list *bl, enum sc_type *type, uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_block_check) (int retVal___, struct block_list *bl, enum sc_type *type, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_detonator) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_skill_detonator) (int retVal___, struct block_list *bl, va_list ap);
+typedef bool (*HPMHOOK_pre_skill_check_camouflage) (struct block_list *bl, struct status_change_entry *sce);
+typedef bool (*HPMHOOK_post_skill_check_camouflage) (bool retVal___, struct block_list *bl, struct status_change_entry *sce);
+typedef int (*HPMHOOK_pre_skill_magicdecoy) (struct map_session_data *sd, int *nameid);
+typedef int (*HPMHOOK_post_skill_magicdecoy) (int retVal___, struct map_session_data *sd, int *nameid);
+typedef int (*HPMHOOK_pre_skill_poisoningweapon) (struct map_session_data *sd, int *nameid);
+typedef int (*HPMHOOK_post_skill_poisoningweapon) (int retVal___, struct map_session_data *sd, int *nameid);
+typedef int (*HPMHOOK_pre_skill_select_menu) (struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_select_menu) (int retVal___, struct map_session_data *sd, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_elementalanalysis) (struct map_session_data *sd, uint16 *skill_lv, const struct itemlist *item_list);
+typedef int (*HPMHOOK_post_skill_elementalanalysis) (int retVal___, struct map_session_data *sd, uint16 *skill_lv, const struct itemlist *item_list);
+typedef int (*HPMHOOK_pre_skill_changematerial) (struct map_session_data *sd, const struct itemlist *item_list);
+typedef int (*HPMHOOK_post_skill_changematerial) (int retVal___, struct map_session_data *sd, const struct itemlist *item_list);
+typedef int (*HPMHOOK_pre_skill_get_elemental_type) (uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_elemental_type) (int retVal___, uint16 *skill_id, uint16 *skill_lv);
+typedef void (*HPMHOOK_pre_skill_cooldown_save) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_skill_cooldown_save) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_skill_get_new_group_id) (void);
+typedef int (*HPMHOOK_post_skill_get_new_group_id) (int retVal___);
+typedef bool (*HPMHOOK_pre_skill_check_shadowform) (struct block_list *bl, int64 *damage, int *hit);
+typedef bool (*HPMHOOK_post_skill_check_shadowform) (bool retVal___, struct block_list *bl, int64 *damage, int *hit);
+typedef bool (*HPMHOOK_pre_skill_castend_damage_id_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, struct status_data *tstatus, struct status_change *sc);
+typedef bool (*HPMHOOK_post_skill_castend_damage_id_unknown) (bool retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, struct status_data *tstatus, struct status_change *sc);
+typedef void (*HPMHOOK_pre_skill_additional_effect_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *attack_type, int *dmg_lv, int64 *tick);
+typedef void (*HPMHOOK_post_skill_additional_effect_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *attack_type, int *dmg_lv, int64 *tick);
+typedef void (*HPMHOOK_pre_skill_counter_additional_effect_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *attack_type, int64 *tick);
+typedef void (*HPMHOOK_post_skill_counter_additional_effect_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int *attack_type, int64 *tick);
+typedef void (*HPMHOOK_pre_skill_attack_combo1_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, struct status_change_entry *sce, int *combo);
+typedef void (*HPMHOOK_post_skill_attack_combo1_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, struct status_change_entry *sce, int *combo);
+typedef void (*HPMHOOK_pre_skill_attack_combo2_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *combo);
+typedef void (*HPMHOOK_post_skill_attack_combo2_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *combo);
+typedef void (*HPMHOOK_pre_skill_attack_display_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage);
+typedef void (*HPMHOOK_post_skill_attack_display_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage);
+typedef int (*HPMHOOK_pre_skill_attack_copy_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_post_skill_attack_copy_unknown) (int retVal___, int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_pre_skill_attack_dir_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef int (*HPMHOOK_post_skill_attack_dir_unknown) (int retVal___, int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef void (*HPMHOOK_pre_skill_attack_blow_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, int8 *dir);
+typedef void (*HPMHOOK_post_skill_attack_blow_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, int8 *dir);
+typedef void (*HPMHOOK_pre_skill_attack_post_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef void (*HPMHOOK_post_skill_attack_post_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_pre_skill_timerskill_dead_unknown) (struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);
+typedef bool (*HPMHOOK_post_skill_timerskill_dead_unknown) (bool retVal___, struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);
+typedef void (*HPMHOOK_pre_skill_timerskill_target_unknown) (int *tid, int64 *tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl);
+typedef void (*HPMHOOK_post_skill_timerskill_target_unknown) (int *tid, int64 *tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl);
+typedef void (*HPMHOOK_pre_skill_timerskill_notarget_unknown) (int *tid, int64 *tick, struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);
+typedef void (*HPMHOOK_post_skill_timerskill_notarget_unknown) (int *tid, int64 *tick, struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);
+typedef bool (*HPMHOOK_pre_skill_cleartimerskill_exception) (int *skill_id);
+typedef bool (*HPMHOOK_post_skill_cleartimerskill_exception) (bool retVal___, int *skill_id);
+typedef bool (*HPMHOOK_pre_skill_castend_id_unknown) (struct unit_data *ud, struct block_list *src, struct block_list *target);
+typedef bool (*HPMHOOK_post_skill_castend_id_unknown) (bool retVal___, struct unit_data *ud, struct block_list *src, struct block_list *target);
+typedef bool (*HPMHOOK_pre_skill_castend_nodamage_id_dead_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_post_skill_castend_nodamage_id_dead_unknown) (bool retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_pre_skill_castend_nodamage_id_undead_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_post_skill_castend_nodamage_id_undead_unknown) (bool retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_pre_skill_castend_nodamage_id_mado_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_post_skill_castend_nodamage_id_mado_unknown) (bool retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_pre_skill_castend_nodamage_id_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_post_skill_castend_nodamage_id_unknown) (bool retVal___, struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef void (*HPMHOOK_pre_skill_castend_pos2_effect_unknown) (struct block_list *src, int *x, int *y, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef void (*HPMHOOK_post_skill_castend_pos2_effect_unknown) (struct block_list *src, int *x, int *y, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_pre_skill_castend_pos2_unknown) (struct block_list *src, int *x, int *y, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef bool (*HPMHOOK_post_skill_castend_pos2_unknown) (bool retVal___, struct block_list *src, int *x, int *y, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
+typedef void (*HPMHOOK_pre_skill_unitsetting1_unknown) (struct block_list *src, uint16 *skill_id, uint16 *skill_lv, int16 *x, int16 *y, int *flag, int *val1, int *val2, int *val3);
+typedef void (*HPMHOOK_post_skill_unitsetting1_unknown) (struct block_list *src, uint16 *skill_id, uint16 *skill_lv, int16 *x, int16 *y, int *flag, int *val1, int *val2, int *val3);
+typedef void (*HPMHOOK_pre_skill_unitsetting2_unknown) (struct block_list *src, uint16 *skill_id, uint16 *skill_lv, int16 *x, int16 *y, int *flag, int *unit_flag, int *val1, int *val2, int *val3, struct skill_unit_group *group);
+typedef void (*HPMHOOK_post_skill_unitsetting2_unknown) (struct block_list *src, uint16 *skill_id, uint16 *skill_lv, int16 *x, int16 *y, int *flag, int *unit_flag, int *val1, int *val2, int *val3, struct skill_unit_group *group);
+typedef void (*HPMHOOK_pre_skill_unit_onplace_unknown) (struct skill_unit *src, struct block_list *bl, int64 *tick);
+typedef void (*HPMHOOK_post_skill_unit_onplace_unknown) (struct skill_unit *src, struct block_list *bl, int64 *tick);
+typedef int (*HPMHOOK_pre_skill_check_condition_castbegin_off_unknown) (struct status_change *sc, uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_check_condition_castbegin_off_unknown) (int retVal___, struct status_change *sc, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_check_condition_castbegin_mount_unknown) (struct status_change *sc, uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_check_condition_castbegin_mount_unknown) (int retVal___, struct status_change *sc, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_check_condition_castbegin_madogear_unknown) (struct status_change *sc, uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_check_condition_castbegin_madogear_unknown) (int retVal___, struct status_change *sc, uint16 *skill_id);
+typedef int (*HPMHOOK_pre_skill_check_condition_castbegin_unknown) (struct status_change *sc, uint16 *skill_id);
+typedef int (*HPMHOOK_post_skill_check_condition_castbegin_unknown) (int retVal___, struct status_change *sc, uint16 *skill_id);
+typedef void (*HPMHOOK_pre_skill_check_condition_castend_unknown) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef void (*HPMHOOK_post_skill_check_condition_castend_unknown) (struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv);
+typedef bool (*HPMHOOK_pre_skill_get_requirement_off_unknown) (struct status_change *sc, uint16 *skill_id);
+typedef bool (*HPMHOOK_post_skill_get_requirement_off_unknown) (bool retVal___, struct status_change *sc, uint16 *skill_id);
+typedef bool (*HPMHOOK_pre_skill_get_requirement_item_unknown) (struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i);
+typedef bool (*HPMHOOK_post_skill_get_requirement_item_unknown) (bool retVal___, struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i);
+typedef void (*HPMHOOK_pre_skill_get_requirement_unknown) (struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, struct skill_condition *req);
+typedef void (*HPMHOOK_post_skill_get_requirement_unknown) (struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, struct skill_condition *req);
+#endif // MAP_SKILL_H
+#ifdef COMMON_SOCKET_H /* sockt */
+typedef void (*HPMHOOK_pre_sockt_init) (void);
+typedef void (*HPMHOOK_post_sockt_init) (void);
+typedef void (*HPMHOOK_pre_sockt_final) (void);
+typedef void (*HPMHOOK_post_sockt_final) (void);
+typedef int (*HPMHOOK_pre_sockt_perform) (int *next);
+typedef int (*HPMHOOK_post_sockt_perform) (int retVal___, int *next);
+typedef void (*HPMHOOK_pre_sockt_datasync) (int *fd, bool *send);
+typedef void (*HPMHOOK_post_sockt_datasync) (int *fd, bool *send);
+typedef int (*HPMHOOK_pre_sockt_make_listen_bind) (uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_post_sockt_make_listen_bind) (int retVal___, uint32 *ip, uint16 *port);
+typedef int (*HPMHOOK_pre_sockt_make_connection) (uint32 *ip, uint16 *port, struct hSockOpt *opt);
+typedef int (*HPMHOOK_post_sockt_make_connection) (int retVal___, uint32 *ip, uint16 *port, struct hSockOpt *opt);
+typedef int (*HPMHOOK_pre_sockt_realloc_fifo) (int *fd, unsigned int *rfifo_size, unsigned int *wfifo_size);
+typedef int (*HPMHOOK_post_sockt_realloc_fifo) (int retVal___, int *fd, unsigned int *rfifo_size, unsigned int *wfifo_size);
+typedef int (*HPMHOOK_pre_sockt_realloc_writefifo) (int *fd, size_t *addition);
+typedef int (*HPMHOOK_post_sockt_realloc_writefifo) (int retVal___, int *fd, size_t *addition);
+typedef int (*HPMHOOK_pre_sockt_wfifoset) (int *fd, size_t *len);
+typedef int (*HPMHOOK_post_sockt_wfifoset) (int retVal___, int *fd, size_t *len);
+typedef int (*HPMHOOK_pre_sockt_rfifoskip) (int *fd, size_t *len);
+typedef int (*HPMHOOK_post_sockt_rfifoskip) (int retVal___, int *fd, size_t *len);
+typedef void (*HPMHOOK_pre_sockt_close) (int *fd);
+typedef void (*HPMHOOK_post_sockt_close) (int *fd);
+typedef bool (*HPMHOOK_pre_sockt_session_is_valid) (int *fd);
+typedef bool (*HPMHOOK_post_sockt_session_is_valid) (bool retVal___, int *fd);
+typedef bool (*HPMHOOK_pre_sockt_session_is_active) (int *fd);
+typedef bool (*HPMHOOK_post_sockt_session_is_active) (bool retVal___, int *fd);
+typedef void (*HPMHOOK_pre_sockt_flush) (int *fd);
+typedef void (*HPMHOOK_post_sockt_flush) (int *fd);
+typedef void (*HPMHOOK_pre_sockt_flush_fifos) (void);
+typedef void (*HPMHOOK_post_sockt_flush_fifos) (void);
+typedef void (*HPMHOOK_pre_sockt_set_nonblocking) (int *fd, unsigned long *yes);
+typedef void (*HPMHOOK_post_sockt_set_nonblocking) (int *fd, unsigned long *yes);
+typedef void (*HPMHOOK_pre_sockt_set_defaultparse) (ParseFunc *defaultparse);
+typedef void (*HPMHOOK_post_sockt_set_defaultparse) (ParseFunc *defaultparse);
+typedef uint32 (*HPMHOOK_pre_sockt_host2ip) (const char *hostname);
+typedef uint32 (*HPMHOOK_post_sockt_host2ip) (uint32 retVal___, const char *hostname);
+typedef const char* (*HPMHOOK_pre_sockt_ip2str) (uint32 *ip, char *ip_str);
+typedef const char* (*HPMHOOK_post_sockt_ip2str) (const char* retVal___, uint32 *ip, char *ip_str);
+typedef uint32 (*HPMHOOK_pre_sockt_str2ip) (const char *ip_str);
+typedef uint32 (*HPMHOOK_post_sockt_str2ip) (uint32 retVal___, const char *ip_str);
+typedef uint16 (*HPMHOOK_pre_sockt_ntows) (uint16 *netshort);
+typedef uint16 (*HPMHOOK_post_sockt_ntows) (uint16 retVal___, uint16 *netshort);
+typedef int (*HPMHOOK_pre_sockt_getips) (uint32 *ips, int *max);
+typedef int (*HPMHOOK_post_sockt_getips) (int retVal___, uint32 *ips, int *max);
+typedef void (*HPMHOOK_pre_sockt_eof) (int *fd);
+typedef void (*HPMHOOK_post_sockt_eof) (int *fd);
+typedef uint32 (*HPMHOOK_pre_sockt_lan_subnet_check) (uint32 *ip, struct s_subnet *info);
+typedef uint32 (*HPMHOOK_post_sockt_lan_subnet_check) (uint32 retVal___, uint32 *ip, struct s_subnet *info);
+typedef bool (*HPMHOOK_pre_sockt_allowed_ip_check) (uint32 *ip);
+typedef bool (*HPMHOOK_post_sockt_allowed_ip_check) (bool retVal___, uint32 *ip);
+typedef bool (*HPMHOOK_pre_sockt_trusted_ip_check) (uint32 *ip);
+typedef bool (*HPMHOOK_post_sockt_trusted_ip_check) (bool retVal___, uint32 *ip);
+typedef int (*HPMHOOK_pre_sockt_net_config_read_sub) (struct config_setting_t *t, struct s_subnet_vector *list, const char *filename, const char *groupname);
+typedef int (*HPMHOOK_post_sockt_net_config_read_sub) (int retVal___, struct config_setting_t *t, struct s_subnet_vector *list, const char *filename, const char *groupname);
+typedef void (*HPMHOOK_pre_sockt_net_config_read) (const char *filename);
+typedef void (*HPMHOOK_post_sockt_net_config_read) (const char *filename);
+#endif // COMMON_SOCKET_H
+#ifdef COMMON_SQL_H /* SQL */
+typedef int (*HPMHOOK_pre_SQL_Connect) (struct Sql *self, const char *user, const char *passwd, const char *host, uint16 *port, const char *db);
+typedef int (*HPMHOOK_post_SQL_Connect) (int retVal___, struct Sql *self, const char *user, const char *passwd, const char *host, uint16 *port, const char *db);
+typedef int (*HPMHOOK_pre_SQL_GetTimeout) (struct Sql *self, uint32 *out_timeout);
+typedef int (*HPMHOOK_post_SQL_GetTimeout) (int retVal___, struct Sql *self, uint32 *out_timeout);
+typedef int (*HPMHOOK_pre_SQL_GetColumnNames) (struct Sql *self, const char *table, char *out_buf, size_t *buf_len, char *sep);
+typedef int (*HPMHOOK_post_SQL_GetColumnNames) (int retVal___, struct Sql *self, const char *table, char *out_buf, size_t *buf_len, char *sep);
+typedef int (*HPMHOOK_pre_SQL_SetEncoding) (struct Sql *self, const char *encoding);
+typedef int (*HPMHOOK_post_SQL_SetEncoding) (int retVal___, struct Sql *self, const char *encoding);
+typedef int (*HPMHOOK_pre_SQL_Ping) (struct Sql *self);
+typedef int (*HPMHOOK_post_SQL_Ping) (int retVal___, struct Sql *self);
+typedef size_t (*HPMHOOK_pre_SQL_EscapeString) (struct Sql *self, char *out_to, const char *from);
+typedef size_t (*HPMHOOK_post_SQL_EscapeString) (size_t retVal___, struct Sql *self, char *out_to, const char *from);
+typedef size_t (*HPMHOOK_pre_SQL_EscapeStringLen) (struct Sql *self, char *out_to, const char *from, size_t *from_len);
+typedef size_t (*HPMHOOK_post_SQL_EscapeStringLen) (size_t retVal___, struct Sql *self, char *out_to, const char *from, size_t *from_len);
+typedef int (*HPMHOOK_pre_SQL_QueryV) (struct Sql *self, const char *query, va_list args);
+typedef int (*HPMHOOK_post_SQL_QueryV) (int retVal___, struct Sql *self, const char *query, va_list args);
+typedef int (*HPMHOOK_pre_SQL_QueryStr) (struct Sql *self, const char *query);
+typedef int (*HPMHOOK_post_SQL_QueryStr) (int retVal___, struct Sql *self, const char *query);
+typedef uint64 (*HPMHOOK_pre_SQL_LastInsertId) (struct Sql *self);
+typedef uint64 (*HPMHOOK_post_SQL_LastInsertId) (uint64 retVal___, struct Sql *self);
+typedef uint32 (*HPMHOOK_pre_SQL_NumColumns) (struct Sql *self);
+typedef uint32 (*HPMHOOK_post_SQL_NumColumns) (uint32 retVal___, struct Sql *self);
+typedef uint64 (*HPMHOOK_pre_SQL_NumRows) (struct Sql *self);
+typedef uint64 (*HPMHOOK_post_SQL_NumRows) (uint64 retVal___, struct Sql *self);
+typedef int (*HPMHOOK_pre_SQL_NextRow) (struct Sql *self);
+typedef int (*HPMHOOK_post_SQL_NextRow) (int retVal___, struct Sql *self);
+typedef int (*HPMHOOK_pre_SQL_GetData) (struct Sql *self, size_t *col, char **out_buf, size_t *out_len);
+typedef int (*HPMHOOK_post_SQL_GetData) (int retVal___, struct Sql *self, size_t *col, char **out_buf, size_t *out_len);
+typedef void (*HPMHOOK_pre_SQL_FreeResult) (struct Sql *self);
+typedef void (*HPMHOOK_post_SQL_FreeResult) (struct Sql *self);
+typedef void (*HPMHOOK_pre_SQL_ShowDebug_) (struct Sql *self, const char *debug_file, const unsigned long *debug_line);
+typedef void (*HPMHOOK_post_SQL_ShowDebug_) (struct Sql *self, const char *debug_file, const unsigned long *debug_line);
+typedef void (*HPMHOOK_pre_SQL_Free) (struct Sql *self);
+typedef void (*HPMHOOK_post_SQL_Free) (struct Sql *self);
+typedef struct Sql* (*HPMHOOK_pre_SQL_Malloc) (void);
+typedef struct Sql* (*HPMHOOK_post_SQL_Malloc) (struct Sql* retVal___);
+typedef struct SqlStmt* (*HPMHOOK_pre_SQL_StmtMalloc) (struct Sql *sql);
+typedef struct SqlStmt* (*HPMHOOK_post_SQL_StmtMalloc) (struct SqlStmt* retVal___, struct Sql *sql);
+typedef int (*HPMHOOK_pre_SQL_StmtPrepareV) (struct SqlStmt *self, const char *query, va_list args);
+typedef int (*HPMHOOK_post_SQL_StmtPrepareV) (int retVal___, struct SqlStmt *self, const char *query, va_list args);
+typedef int (*HPMHOOK_pre_SQL_StmtPrepareStr) (struct SqlStmt *self, const char *query);
+typedef int (*HPMHOOK_post_SQL_StmtPrepareStr) (int retVal___, struct SqlStmt *self, const char *query);
+typedef size_t (*HPMHOOK_pre_SQL_StmtNumParams) (struct SqlStmt *self);
+typedef size_t (*HPMHOOK_post_SQL_StmtNumParams) (size_t retVal___, struct SqlStmt *self);
+typedef int (*HPMHOOK_pre_SQL_StmtBindParam) (struct SqlStmt *self, size_t *idx, enum SqlDataType *buffer_type, const void *buffer, size_t *buffer_len);
+typedef int (*HPMHOOK_post_SQL_StmtBindParam) (int retVal___, struct SqlStmt *self, size_t *idx, enum SqlDataType *buffer_type, const void *buffer, size_t *buffer_len);
+typedef int (*HPMHOOK_pre_SQL_StmtExecute) (struct SqlStmt *self);
+typedef int (*HPMHOOK_post_SQL_StmtExecute) (int retVal___, struct SqlStmt *self);
+typedef uint64 (*HPMHOOK_pre_SQL_StmtLastInsertId) (struct SqlStmt *self);
+typedef uint64 (*HPMHOOK_post_SQL_StmtLastInsertId) (uint64 retVal___, struct SqlStmt *self);
+typedef size_t (*HPMHOOK_pre_SQL_StmtNumColumns) (struct SqlStmt *self);
+typedef size_t (*HPMHOOK_post_SQL_StmtNumColumns) (size_t retVal___, struct SqlStmt *self);
+typedef int (*HPMHOOK_pre_SQL_StmtBindColumn) (struct SqlStmt *self, size_t *idx, enum SqlDataType *buffer_type, void *buffer, size_t *buffer_len, uint32 *out_length, int8 *out_is_null);
+typedef int (*HPMHOOK_post_SQL_StmtBindColumn) (int retVal___, struct SqlStmt *self, size_t *idx, enum SqlDataType *buffer_type, void *buffer, size_t *buffer_len, uint32 *out_length, int8 *out_is_null);
+typedef uint64 (*HPMHOOK_pre_SQL_StmtNumRows) (struct SqlStmt *self);
+typedef uint64 (*HPMHOOK_post_SQL_StmtNumRows) (uint64 retVal___, struct SqlStmt *self);
+typedef int (*HPMHOOK_pre_SQL_StmtNextRow) (struct SqlStmt *self);
+typedef int (*HPMHOOK_post_SQL_StmtNextRow) (int retVal___, struct SqlStmt *self);
+typedef void (*HPMHOOK_pre_SQL_StmtFreeResult) (struct SqlStmt *self);
+typedef void (*HPMHOOK_post_SQL_StmtFreeResult) (struct SqlStmt *self);
+typedef void (*HPMHOOK_pre_SQL_StmtFree) (struct SqlStmt *self);
+typedef void (*HPMHOOK_post_SQL_StmtFree) (struct SqlStmt *self);
+typedef void (*HPMHOOK_pre_SQL_StmtShowDebug_) (struct SqlStmt *self, const char *debug_file, const unsigned long *debug_line);
+typedef void (*HPMHOOK_post_SQL_StmtShowDebug_) (struct SqlStmt *self, const char *debug_file, const unsigned long *debug_line);
+#endif // COMMON_SQL_H
+#ifdef MAP_STATUS_H /* status */
+typedef int (*HPMHOOK_pre_status_init) (bool *minimal);
+typedef int (*HPMHOOK_post_status_init) (int retVal___, bool *minimal);
+typedef void (*HPMHOOK_pre_status_final) (void);
+typedef void (*HPMHOOK_post_status_final) (void);
+typedef int (*HPMHOOK_pre_status_get_refine_chance) (enum refine_type *wlv, int *refine);
+typedef int (*HPMHOOK_post_status_get_refine_chance) (int retVal___, enum refine_type *wlv, int *refine);
+typedef sc_type (*HPMHOOK_pre_status_skill2sc) (int *skill_id);
+typedef sc_type (*HPMHOOK_post_status_skill2sc) (sc_type retVal___, int *skill_id);
+typedef int (*HPMHOOK_pre_status_sc2skill) (sc_type *sc);
+typedef int (*HPMHOOK_post_status_sc2skill) (int retVal___, sc_type *sc);
+typedef unsigned int (*HPMHOOK_pre_status_sc2scb_flag) (sc_type *sc);
+typedef unsigned int (*HPMHOOK_post_status_sc2scb_flag) (unsigned int retVal___, sc_type *sc);
+typedef int (*HPMHOOK_pre_status_type2relevant_bl_types) (int *type);
+typedef int (*HPMHOOK_post_status_type2relevant_bl_types) (int retVal___, int *type);
+typedef int (*HPMHOOK_pre_status_get_sc_type) (sc_type *idx);
+typedef int (*HPMHOOK_post_status_get_sc_type) (int retVal___, sc_type *idx);
+typedef int (*HPMHOOK_pre_status_damage) (struct block_list *src, struct block_list *target, int64 *hp, int64 *sp, int *walkdelay, int *flag);
+typedef int (*HPMHOOK_post_status_damage) (int retVal___, struct block_list *src, struct block_list *target, int64 *hp, int64 *sp, int *walkdelay, int *flag);
+typedef int (*HPMHOOK_pre_status_charge) (struct block_list *bl, int64 *hp, int64 *sp);
+typedef int (*HPMHOOK_post_status_charge) (int retVal___, struct block_list *bl, int64 *hp, int64 *sp);
+typedef int (*HPMHOOK_pre_status_percent_change) (struct block_list *src, struct block_list *target, signed char *hp_rate, signed char *sp_rate, int *flag);
+typedef int (*HPMHOOK_post_status_percent_change) (int retVal___, struct block_list *src, struct block_list *target, signed char *hp_rate, signed char *sp_rate, int *flag);
+typedef int (*HPMHOOK_pre_status_set_hp) (struct block_list *bl, unsigned int *hp, int *flag);
+typedef int (*HPMHOOK_post_status_set_hp) (int retVal___, struct block_list *bl, unsigned int *hp, int *flag);
+typedef int (*HPMHOOK_pre_status_set_sp) (struct block_list *bl, unsigned int *sp, int *flag);
+typedef int (*HPMHOOK_post_status_set_sp) (int retVal___, struct block_list *bl, unsigned int *sp, int *flag);
+typedef int (*HPMHOOK_pre_status_heal) (struct block_list *bl, int64 *hp, int64 *sp, int *flag);
+typedef int (*HPMHOOK_post_status_heal) (int retVal___, struct block_list *bl, int64 *hp, int64 *sp, int *flag);
+typedef int (*HPMHOOK_pre_status_revive) (struct block_list *bl, unsigned char *per_hp, unsigned char *per_sp);
+typedef int (*HPMHOOK_post_status_revive) (int retVal___, struct block_list *bl, unsigned char *per_hp, unsigned char *per_sp);
+typedef int (*HPMHOOK_pre_status_fixed_revive) (struct block_list *bl, unsigned int *per_hp, unsigned int *per_sp);
+typedef int (*HPMHOOK_post_status_fixed_revive) (int retVal___, struct block_list *bl, unsigned int *per_hp, unsigned int *per_sp);
+typedef struct regen_data* (*HPMHOOK_pre_status_get_regen_data) (struct block_list *bl);
+typedef struct regen_data* (*HPMHOOK_post_status_get_regen_data) (struct regen_data* retVal___, struct block_list *bl);
+typedef struct status_data* (*HPMHOOK_pre_status_get_status_data) (struct block_list *bl);
+typedef struct status_data* (*HPMHOOK_post_status_get_status_data) (struct status_data* retVal___, struct block_list *bl);
+typedef struct status_data* (*HPMHOOK_pre_status_get_base_status) (struct block_list *bl);
+typedef struct status_data* (*HPMHOOK_post_status_get_base_status) (struct status_data* retVal___, struct block_list *bl);
+typedef const char* (*HPMHOOK_pre_status_get_name) (const struct block_list *bl);
+typedef const char* (*HPMHOOK_post_status_get_name) (const char* retVal___, const struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_get_class) (const struct block_list *bl);
+typedef int (*HPMHOOK_post_status_get_class) (int retVal___, const struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_get_lv) (const struct block_list *bl);
+typedef int (*HPMHOOK_post_status_get_lv) (int retVal___, const struct block_list *bl);
+typedef defType (*HPMHOOK_pre_status_get_def) (struct block_list *bl);
+typedef defType (*HPMHOOK_post_status_get_def) (defType retVal___, struct block_list *bl);
+typedef unsigned short (*HPMHOOK_pre_status_get_speed) (struct block_list *bl);
+typedef unsigned short (*HPMHOOK_post_status_get_speed) (unsigned short retVal___, struct block_list *bl);
+typedef unsigned char (*HPMHOOK_pre_status_calc_attack_element) (struct block_list *bl, struct status_change *sc, int *element);
+typedef unsigned char (*HPMHOOK_post_status_calc_attack_element) (unsigned char retVal___, struct block_list *bl, struct status_change *sc, int *element);
+typedef int (*HPMHOOK_pre_status_get_party_id) (const struct block_list *bl);
+typedef int (*HPMHOOK_post_status_get_party_id) (int retVal___, const struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_get_guild_id) (const struct block_list *bl);
+typedef int (*HPMHOOK_post_status_get_guild_id) (int retVal___, const struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_get_emblem_id) (const struct block_list *bl);
+typedef int (*HPMHOOK_post_status_get_emblem_id) (int retVal___, const struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_get_mexp) (const struct block_list *bl);
+typedef int (*HPMHOOK_post_status_get_mexp) (int retVal___, const struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_get_race2) (const struct block_list *bl);
+typedef int (*HPMHOOK_post_status_get_race2) (int retVal___, const struct block_list *bl);
+typedef struct view_data* (*HPMHOOK_pre_status_get_viewdata) (struct block_list *bl);
+typedef struct view_data* (*HPMHOOK_post_status_get_viewdata) (struct view_data* retVal___, struct block_list *bl);
+typedef void (*HPMHOOK_pre_status_set_viewdata) (struct block_list *bl, int *class_);
+typedef void (*HPMHOOK_post_status_set_viewdata) (struct block_list *bl, int *class_);
+typedef void (*HPMHOOK_pre_status_change_init) (struct block_list *bl);
+typedef void (*HPMHOOK_post_status_change_init) (struct block_list *bl);
+typedef struct status_change* (*HPMHOOK_pre_status_get_sc) (struct block_list *bl);
+typedef struct status_change* (*HPMHOOK_post_status_get_sc) (struct status_change* retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_isdead) (struct block_list *bl);
+typedef int (*HPMHOOK_post_status_isdead) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_isimmune) (struct block_list *bl);
+typedef int (*HPMHOOK_post_status_isimmune) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_get_sc_def) (struct block_list *src, struct block_list *bl, enum sc_type *type, int *rate, int *tick, int *flag);
+typedef int (*HPMHOOK_post_status_get_sc_def) (int retVal___, struct block_list *src, struct block_list *bl, enum sc_type *type, int *rate, int *tick, int *flag);
+typedef int (*HPMHOOK_pre_status_change_start) (struct block_list *src, struct block_list *bl, enum sc_type *type, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *flag);
+typedef int (*HPMHOOK_post_status_change_start) (int retVal___, struct block_list *src, struct block_list *bl, enum sc_type *type, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *flag);
+typedef int (*HPMHOOK_pre_status_change_end_) (struct block_list *bl, enum sc_type *type, int *tid, const char *file, int *line);
+typedef int (*HPMHOOK_post_status_change_end_) (int retVal___, struct block_list *bl, enum sc_type *type, int *tid, const char *file, int *line);
+typedef int (*HPMHOOK_pre_status_kaahi_heal_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_status_kaahi_heal_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_status_change_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_status_change_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_status_change_timer_sub) (struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_post_status_change_timer_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef int (*HPMHOOK_pre_status_change_clear) (struct block_list *bl, int *type);
+typedef int (*HPMHOOK_post_status_change_clear) (int retVal___, struct block_list *bl, int *type);
+typedef int (*HPMHOOK_pre_status_change_clear_buffs) (struct block_list *bl, int *type);
+typedef int (*HPMHOOK_post_status_change_clear_buffs) (int retVal___, struct block_list *bl, int *type);
+typedef void (*HPMHOOK_pre_status_calc_bl_) (struct block_list *bl, enum scb_flag *flag, enum e_status_calc_opt *opt);
+typedef void (*HPMHOOK_post_status_calc_bl_) (struct block_list *bl, enum scb_flag *flag, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_pre_status_calc_mob_) (struct mob_data *md, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_post_status_calc_mob_) (int retVal___, struct mob_data *md, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_pre_status_calc_pet_) (struct pet_data *pd, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_post_status_calc_pet_) (int retVal___, struct pet_data *pd, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_pre_status_calc_pc_) (struct map_session_data *sd, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_post_status_calc_pc_) (int retVal___, struct map_session_data *sd, enum e_status_calc_opt *opt);
+typedef void (*HPMHOOK_pre_status_calc_pc_additional) (struct map_session_data *sd, enum e_status_calc_opt *opt);
+typedef void (*HPMHOOK_post_status_calc_pc_additional) (struct map_session_data *sd, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_pre_status_calc_homunculus_) (struct homun_data *hd, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_post_status_calc_homunculus_) (int retVal___, struct homun_data *hd, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_pre_status_calc_mercenary_) (struct mercenary_data *md, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_post_status_calc_mercenary_) (int retVal___, struct mercenary_data *md, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_pre_status_calc_elemental_) (struct elemental_data *ed, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_post_status_calc_elemental_) (int retVal___, struct elemental_data *ed, enum e_status_calc_opt *opt);
+typedef void (*HPMHOOK_pre_status_calc_misc) (struct block_list *bl, struct status_data *st, int *level);
+typedef void (*HPMHOOK_post_status_calc_misc) (struct block_list *bl, struct status_data *st, int *level);
+typedef void (*HPMHOOK_pre_status_calc_regen) (struct block_list *bl, struct status_data *st, struct regen_data *regen);
+typedef void (*HPMHOOK_post_status_calc_regen) (struct block_list *bl, struct status_data *st, struct regen_data *regen);
+typedef void (*HPMHOOK_pre_status_calc_regen_rate) (struct block_list *bl, struct regen_data *regen, struct status_change *sc);
+typedef void (*HPMHOOK_post_status_calc_regen_rate) (struct block_list *bl, struct regen_data *regen, struct status_change *sc);
+typedef int (*HPMHOOK_pre_status_check_skilluse) (struct block_list *src, struct block_list *target, uint16 *skill_id, int *flag);
+typedef int (*HPMHOOK_post_status_check_skilluse) (int retVal___, struct block_list *src, struct block_list *target, uint16 *skill_id, int *flag);
+typedef int (*HPMHOOK_pre_status_check_visibility) (struct block_list *src, struct block_list *target);
+typedef int (*HPMHOOK_post_status_check_visibility) (int retVal___, struct block_list *src, struct block_list *target);
+typedef int (*HPMHOOK_pre_status_change_spread) (struct block_list *src, struct block_list *bl);
+typedef int (*HPMHOOK_post_status_change_spread) (int retVal___, struct block_list *src, struct block_list *bl);
+typedef defType (*HPMHOOK_pre_status_calc_def) (struct block_list *bl, struct status_change *sc, int *def, bool *viewable);
+typedef defType (*HPMHOOK_post_status_calc_def) (defType retVal___, struct block_list *bl, struct status_change *sc, int *def, bool *viewable);
+typedef short (*HPMHOOK_pre_status_calc_def2) (struct block_list *bl, struct status_change *sc, int *def2, bool *viewable);
+typedef short (*HPMHOOK_post_status_calc_def2) (short retVal___, struct block_list *bl, struct status_change *sc, int *def2, bool *viewable);
+typedef defType (*HPMHOOK_pre_status_calc_mdef) (struct block_list *bl, struct status_change *sc, int *mdef, bool *viewable);
+typedef defType (*HPMHOOK_post_status_calc_mdef) (defType retVal___, struct block_list *bl, struct status_change *sc, int *mdef, bool *viewable);
+typedef short (*HPMHOOK_pre_status_calc_mdef2) (struct block_list *bl, struct status_change *sc, int *mdef2, bool *viewable);
+typedef short (*HPMHOOK_post_status_calc_mdef2) (short retVal___, struct block_list *bl, struct status_change *sc, int *mdef2, bool *viewable);
+typedef unsigned short (*HPMHOOK_pre_status_calc_batk) (struct block_list *bl, struct status_change *sc, int *batk, bool *viewable);
+typedef unsigned short (*HPMHOOK_post_status_calc_batk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *batk, bool *viewable);
+typedef unsigned short (*HPMHOOK_pre_status_base_matk) (struct block_list *bl, const struct status_data *st, int *level);
+typedef unsigned short (*HPMHOOK_post_status_base_matk) (unsigned short retVal___, struct block_list *bl, const struct status_data *st, int *level);
+typedef int (*HPMHOOK_pre_status_get_weapon_atk) (struct block_list *src, struct weapon_atk *watk, int *flag);
+typedef int (*HPMHOOK_post_status_get_weapon_atk) (int retVal___, struct block_list *src, struct weapon_atk *watk, int *flag);
+typedef int (*HPMHOOK_pre_status_get_total_mdef) (struct block_list *src);
+typedef int (*HPMHOOK_post_status_get_total_mdef) (int retVal___, struct block_list *src);
+typedef int (*HPMHOOK_pre_status_get_total_def) (struct block_list *src);
+typedef int (*HPMHOOK_post_status_get_total_def) (int retVal___, struct block_list *src);
+typedef int (*HPMHOOK_pre_status_get_matk) (struct block_list *src, int *flag);
+typedef int (*HPMHOOK_post_status_get_matk) (int retVal___, struct block_list *src, int *flag);
+typedef void (*HPMHOOK_pre_status_update_matk) (struct block_list *bl);
+typedef void (*HPMHOOK_post_status_update_matk) (struct block_list *bl);
+typedef int (*HPMHOOK_pre_status_readdb) (void);
+typedef int (*HPMHOOK_post_status_readdb) (int retVal___);
+typedef void (*HPMHOOK_pre_status_initChangeTables) (void);
+typedef void (*HPMHOOK_post_status_initChangeTables) (void);
+typedef void (*HPMHOOK_pre_status_initDummyData) (void);
+typedef void (*HPMHOOK_post_status_initDummyData) (void);
+typedef int (*HPMHOOK_pre_status_base_amotion_pc) (struct map_session_data *sd, struct status_data *st);
+typedef int (*HPMHOOK_post_status_base_amotion_pc) (int retVal___, struct map_session_data *sd, struct status_data *st);
+typedef unsigned short (*HPMHOOK_pre_status_base_atk) (const struct block_list *bl, const struct status_data *st);
+typedef unsigned short (*HPMHOOK_post_status_base_atk) (unsigned short retVal___, const struct block_list *bl, const struct status_data *st);
+typedef unsigned int (*HPMHOOK_pre_status_get_base_maxhp) (const struct map_session_data *sd, const struct status_data *st);
+typedef unsigned int (*HPMHOOK_post_status_get_base_maxhp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+typedef unsigned int (*HPMHOOK_pre_status_get_base_maxsp) (const struct map_session_data *sd, const struct status_data *st);
+typedef unsigned int (*HPMHOOK_post_status_get_base_maxsp) (unsigned int retVal___, const struct map_session_data *sd, const struct status_data *st);
+typedef int (*HPMHOOK_pre_status_calc_npc_) (struct npc_data *nd, enum e_status_calc_opt *opt);
+typedef int (*HPMHOOK_post_status_calc_npc_) (int retVal___, struct npc_data *nd, enum e_status_calc_opt *opt);
+typedef unsigned short (*HPMHOOK_pre_status_calc_str) (struct block_list *bl, struct status_change *sc, int *str);
+typedef unsigned short (*HPMHOOK_post_status_calc_str) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *str);
+typedef unsigned short (*HPMHOOK_pre_status_calc_agi) (struct block_list *bl, struct status_change *sc, int *agi);
+typedef unsigned short (*HPMHOOK_post_status_calc_agi) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *agi);
+typedef unsigned short (*HPMHOOK_pre_status_calc_vit) (struct block_list *bl, struct status_change *sc, int *vit);
+typedef unsigned short (*HPMHOOK_post_status_calc_vit) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *vit);
+typedef unsigned short (*HPMHOOK_pre_status_calc_int) (struct block_list *bl, struct status_change *sc, int *int_);
+typedef unsigned short (*HPMHOOK_post_status_calc_int) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *int_);
+typedef unsigned short (*HPMHOOK_pre_status_calc_dex) (struct block_list *bl, struct status_change *sc, int *dex);
+typedef unsigned short (*HPMHOOK_post_status_calc_dex) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *dex);
+typedef unsigned short (*HPMHOOK_pre_status_calc_luk) (struct block_list *bl, struct status_change *sc, int *luk);
+typedef unsigned short (*HPMHOOK_post_status_calc_luk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *luk);
+typedef unsigned short (*HPMHOOK_pre_status_calc_watk) (struct block_list *bl, struct status_change *sc, int *watk, bool *viewable);
+typedef unsigned short (*HPMHOOK_post_status_calc_watk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *watk, bool *viewable);
+typedef unsigned short (*HPMHOOK_pre_status_calc_matk) (struct block_list *bl, struct status_change *sc, int *matk, bool *viewable);
+typedef unsigned short (*HPMHOOK_post_status_calc_matk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *matk, bool *viewable);
+typedef signed short (*HPMHOOK_pre_status_calc_hit) (struct block_list *bl, struct status_change *sc, int *hit, bool *viewable);
+typedef signed short (*HPMHOOK_post_status_calc_hit) (signed short retVal___, struct block_list *bl, struct status_change *sc, int *hit, bool *viewable);
+typedef signed short (*HPMHOOK_pre_status_calc_critical) (struct block_list *bl, struct status_change *sc, int *critical, bool *viewable);
+typedef signed short (*HPMHOOK_post_status_calc_critical) (signed short retVal___, struct block_list *bl, struct status_change *sc, int *critical, bool *viewable);
+typedef signed short (*HPMHOOK_pre_status_calc_flee) (struct block_list *bl, struct status_change *sc, int *flee, bool *viewable);
+typedef signed short (*HPMHOOK_post_status_calc_flee) (signed short retVal___, struct block_list *bl, struct status_change *sc, int *flee, bool *viewable);
+typedef signed short (*HPMHOOK_pre_status_calc_flee2) (struct block_list *bl, struct status_change *sc, int *flee2, bool *viewable);
+typedef signed short (*HPMHOOK_post_status_calc_flee2) (signed short retVal___, struct block_list *bl, struct status_change *sc, int *flee2, bool *viewable);
+typedef unsigned short (*HPMHOOK_pre_status_calc_speed) (struct block_list *bl, struct status_change *sc, int *speed);
+typedef unsigned short (*HPMHOOK_post_status_calc_speed) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *speed);
+typedef short (*HPMHOOK_pre_status_calc_aspd_rate) (struct block_list *bl, struct status_change *sc, int *aspd_rate);
+typedef short (*HPMHOOK_post_status_calc_aspd_rate) (short retVal___, struct block_list *bl, struct status_change *sc, int *aspd_rate);
+typedef unsigned short (*HPMHOOK_pre_status_calc_dmotion) (struct block_list *bl, struct status_change *sc, int *dmotion);
+typedef unsigned short (*HPMHOOK_post_status_calc_dmotion) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *dmotion);
+typedef short (*HPMHOOK_pre_status_calc_aspd) (struct block_list *bl, struct status_change *sc, short *flag);
+typedef short (*HPMHOOK_post_status_calc_aspd) (short retVal___, struct block_list *bl, struct status_change *sc, short *flag);
+typedef short (*HPMHOOK_pre_status_calc_fix_aspd) (struct block_list *bl, struct status_change *sc, int *aspd);
+typedef short (*HPMHOOK_post_status_calc_fix_aspd) (short retVal___, struct block_list *bl, struct status_change *sc, int *aspd);
+typedef unsigned int (*HPMHOOK_pre_status_calc_maxhp) (struct block_list *bl, struct status_change *sc, uint64 *maxhp);
+typedef unsigned int (*HPMHOOK_post_status_calc_maxhp) (unsigned int retVal___, struct block_list *bl, struct status_change *sc, uint64 *maxhp);
+typedef unsigned int (*HPMHOOK_pre_status_calc_maxsp) (struct block_list *bl, struct status_change *sc, unsigned int *maxsp);
+typedef unsigned int (*HPMHOOK_post_status_calc_maxsp) (unsigned int retVal___, struct block_list *bl, struct status_change *sc, unsigned int *maxsp);
+typedef unsigned char (*HPMHOOK_pre_status_calc_element) (struct block_list *bl, struct status_change *sc, int *element);
+typedef unsigned char (*HPMHOOK_post_status_calc_element) (unsigned char retVal___, struct block_list *bl, struct status_change *sc, int *element);
+typedef unsigned char (*HPMHOOK_pre_status_calc_element_lv) (struct block_list *bl, struct status_change *sc, int *lv);
+typedef unsigned char (*HPMHOOK_post_status_calc_element_lv) (unsigned char retVal___, struct block_list *bl, struct status_change *sc, int *lv);
+typedef uint32 (*HPMHOOK_pre_status_calc_mode) (const struct block_list *bl, const struct status_change *sc, uint32 *mode);
+typedef uint32 (*HPMHOOK_post_status_calc_mode) (uint32 retVal___, const struct block_list *bl, const struct status_change *sc, uint32 *mode);
+typedef unsigned short (*HPMHOOK_pre_status_calc_ematk) (struct block_list *bl, struct status_change *sc, int *matk);
+typedef unsigned short (*HPMHOOK_post_status_calc_ematk) (unsigned short retVal___, struct block_list *bl, struct status_change *sc, int *matk);
+typedef void (*HPMHOOK_pre_status_calc_bl_main) (struct block_list *bl, int *flag);
+typedef void (*HPMHOOK_post_status_calc_bl_main) (struct block_list *bl, int *flag);
+typedef void (*HPMHOOK_pre_status_display_add) (struct map_session_data *sd, enum sc_type *type, int *dval1, int *dval2, int *dval3);
+typedef void (*HPMHOOK_post_status_display_add) (struct map_session_data *sd, enum sc_type *type, int *dval1, int *dval2, int *dval3);
+typedef void (*HPMHOOK_pre_status_display_remove) (struct map_session_data *sd, enum sc_type *type);
+typedef void (*HPMHOOK_post_status_display_remove) (struct map_session_data *sd, enum sc_type *type);
+typedef int (*HPMHOOK_pre_status_natural_heal) (struct block_list *bl, va_list args);
+typedef int (*HPMHOOK_post_status_natural_heal) (int retVal___, struct block_list *bl, va_list args);
+typedef int (*HPMHOOK_pre_status_natural_heal_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_status_natural_heal_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef bool (*HPMHOOK_pre_status_readdb_job2) (char *fields[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_status_readdb_job2) (bool retVal___, char *fields[], int *columns, int *current);
+typedef bool (*HPMHOOK_pre_status_readdb_sizefix) (char *fields[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_status_readdb_sizefix) (bool retVal___, char *fields[], int *columns, int *current);
+typedef int (*HPMHOOK_pre_status_readdb_refine_libconfig) (const char *filename);
+typedef int (*HPMHOOK_post_status_readdb_refine_libconfig) (int retVal___, const char *filename);
+typedef int (*HPMHOOK_pre_status_readdb_refine_libconfig_sub) (struct config_setting_t *r, const char *name, const char *source);
+typedef int (*HPMHOOK_post_status_readdb_refine_libconfig_sub) (int retVal___, struct config_setting_t *r, const char *name, const char *source);
+typedef bool (*HPMHOOK_pre_status_readdb_scconfig) (char *fields[], int *columns, int *current);
+typedef bool (*HPMHOOK_post_status_readdb_scconfig) (bool retVal___, char *fields[], int *columns, int *current);
+typedef void (*HPMHOOK_pre_status_read_job_db) (void);
+typedef void (*HPMHOOK_post_status_read_job_db) (void);
+typedef void (*HPMHOOK_pre_status_read_job_db_sub) (int *idx, const char *name, struct config_setting_t *jdb);
+typedef void (*HPMHOOK_post_status_read_job_db_sub) (int *idx, const char *name, struct config_setting_t *jdb);
+#endif // MAP_STATUS_H
+#ifdef MAP_STORAGE_H /* storage */
+typedef void (*HPMHOOK_pre_storage_reconnect) (void);
+typedef void (*HPMHOOK_post_storage_reconnect) (void);
+typedef int (*HPMHOOK_pre_storage_delitem) (struct map_session_data *sd, int *n, int *amount);
+typedef int (*HPMHOOK_post_storage_delitem) (int retVal___, struct map_session_data *sd, int *n, int *amount);
+typedef int (*HPMHOOK_pre_storage_open) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_storage_open) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_storage_add) (struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_post_storage_add) (int retVal___, struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_pre_storage_get) (struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_post_storage_get) (int retVal___, struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_pre_storage_additem) (struct map_session_data *sd, struct item *item_data, int *amount);
+typedef int (*HPMHOOK_post_storage_additem) (int retVal___, struct map_session_data *sd, struct item *item_data, int *amount);
+typedef int (*HPMHOOK_pre_storage_addfromcart) (struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_post_storage_addfromcart) (int retVal___, struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_pre_storage_gettocart) (struct map_session_data *sd, int *index, int *amount);
+typedef int (*HPMHOOK_post_storage_gettocart) (int retVal___, struct map_session_data *sd, int *index, int *amount);
+typedef void (*HPMHOOK_pre_storage_close) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_storage_close) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_storage_pc_quit) (struct map_session_data *sd, int *flag);
+typedef void (*HPMHOOK_post_storage_pc_quit) (struct map_session_data *sd, int *flag);
+typedef int (*HPMHOOK_pre_storage_comp_item) (const void *i1_, const void *i2_);
+typedef int (*HPMHOOK_post_storage_comp_item) (int retVal___, const void *i1_, const void *i2_);
+typedef void (*HPMHOOK_pre_storage_sortitem) (struct item *items, unsigned int *size);
+typedef void (*HPMHOOK_post_storage_sortitem) (struct item *items, unsigned int *size);
+typedef int (*HPMHOOK_pre_storage_reconnect_sub) (union DBKey *key, struct DBData *data, va_list ap);
+typedef int (*HPMHOOK_post_storage_reconnect_sub) (int retVal___, union DBKey *key, struct DBData *data, va_list ap);
+#endif // MAP_STORAGE_H
+#ifdef COMMON_STRLIB_H /* StrBuf */
+typedef StringBuf* (*HPMHOOK_pre_StrBuf_Malloc) (void);
+typedef StringBuf* (*HPMHOOK_post_StrBuf_Malloc) (StringBuf* retVal___);
+typedef void (*HPMHOOK_pre_StrBuf_Init) (StringBuf *self);
+typedef void (*HPMHOOK_post_StrBuf_Init) (StringBuf *self);
+typedef int (*HPMHOOK_pre_StrBuf_Vprintf) (StringBuf *self, const char *fmt, va_list args);
+typedef int (*HPMHOOK_post_StrBuf_Vprintf) (int retVal___, StringBuf *self, const char *fmt, va_list args);
+typedef int (*HPMHOOK_pre_StrBuf_Append) (StringBuf *self, const StringBuf *sbuf);
+typedef int (*HPMHOOK_post_StrBuf_Append) (int retVal___, StringBuf *self, const StringBuf *sbuf);
+typedef int (*HPMHOOK_pre_StrBuf_AppendStr) (StringBuf *self, const char *str);
+typedef int (*HPMHOOK_post_StrBuf_AppendStr) (int retVal___, StringBuf *self, const char *str);
+typedef int (*HPMHOOK_pre_StrBuf_Length) (StringBuf *self);
+typedef int (*HPMHOOK_post_StrBuf_Length) (int retVal___, StringBuf *self);
+typedef char* (*HPMHOOK_pre_StrBuf_Value) (StringBuf *self);
+typedef char* (*HPMHOOK_post_StrBuf_Value) (char* retVal___, StringBuf *self);
+typedef void (*HPMHOOK_pre_StrBuf_Clear) (StringBuf *self);
+typedef void (*HPMHOOK_post_StrBuf_Clear) (StringBuf *self);
+typedef void (*HPMHOOK_pre_StrBuf_Destroy) (StringBuf *self);
+typedef void (*HPMHOOK_post_StrBuf_Destroy) (StringBuf *self);
+typedef void (*HPMHOOK_pre_StrBuf_Free) (StringBuf *self);
+typedef void (*HPMHOOK_post_StrBuf_Free) (StringBuf *self);
+#endif // COMMON_STRLIB_H
+#ifdef COMMON_STRLIB_H /* strlib */
+typedef char* (*HPMHOOK_pre_strlib_jstrescape) (char *pt);
+typedef char* (*HPMHOOK_post_strlib_jstrescape) (char* retVal___, char *pt);
+typedef char* (*HPMHOOK_pre_strlib_jstrescapecpy) (char *pt, const char *spt);
+typedef char* (*HPMHOOK_post_strlib_jstrescapecpy) (char* retVal___, char *pt, const char *spt);
+typedef int (*HPMHOOK_pre_strlib_jmemescapecpy) (char *pt, const char *spt, int *size);
+typedef int (*HPMHOOK_post_strlib_jmemescapecpy) (int retVal___, char *pt, const char *spt, int *size);
+typedef int (*HPMHOOK_pre_strlib_remove_control_chars_) (char *str);
+typedef int (*HPMHOOK_post_strlib_remove_control_chars_) (int retVal___, char *str);
+typedef char* (*HPMHOOK_pre_strlib_trim_) (char *str);
+typedef char* (*HPMHOOK_post_strlib_trim_) (char* retVal___, char *str);
+typedef char* (*HPMHOOK_pre_strlib_normalize_name_) (char *str, const char *delims);
+typedef char* (*HPMHOOK_post_strlib_normalize_name_) (char* retVal___, char *str, const char *delims);
+typedef const char* (*HPMHOOK_pre_strlib_stristr_) (const char *haystack, const char *needle);
+typedef const char* (*HPMHOOK_post_strlib_stristr_) (const char* retVal___, const char *haystack, const char *needle);
+typedef size_t (*HPMHOOK_pre_strlib_strnlen_) (const char *string, size_t *maxlen);
+typedef size_t (*HPMHOOK_post_strlib_strnlen_) (size_t retVal___, const char *string, size_t *maxlen);
+typedef char* (*HPMHOOK_pre_strlib_strtok_r_) (char *s1, const char *s2, char **lasts);
+typedef char* (*HPMHOOK_post_strlib_strtok_r_) (char* retVal___, char *s1, const char *s2, char **lasts);
+typedef int (*HPMHOOK_pre_strlib_e_mail_check_) (char *email);
+typedef int (*HPMHOOK_post_strlib_e_mail_check_) (int retVal___, char *email);
+typedef int (*HPMHOOK_pre_strlib_config_switch_) (const char *str);
+typedef int (*HPMHOOK_post_strlib_config_switch_) (int retVal___, const char *str);
+typedef char* (*HPMHOOK_pre_strlib_safestrncpy_) (char *dst, const char *src, size_t *n);
+typedef char* (*HPMHOOK_post_strlib_safestrncpy_) (char* retVal___, char *dst, const char *src, size_t *n);
+typedef size_t (*HPMHOOK_pre_strlib_safestrnlen_) (const char *string, size_t *maxlen);
+typedef size_t (*HPMHOOK_post_strlib_safestrnlen_) (size_t retVal___, const char *string, size_t *maxlen);
+typedef int (*HPMHOOK_pre_strlib_strline_) (const char *str, size_t *pos);
+typedef int (*HPMHOOK_post_strlib_strline_) (int retVal___, const char *str, size_t *pos);
+typedef bool (*HPMHOOK_pre_strlib_bin2hex_) (char *output, const unsigned char *input, size_t *count);
+typedef bool (*HPMHOOK_post_strlib_bin2hex_) (bool retVal___, char *output, const unsigned char *input, size_t *count);
+#endif // COMMON_STRLIB_H
+#ifdef COMMON_STRLIB_H /* sv */
+typedef int (*HPMHOOK_pre_sv_parse_next) (struct s_svstate *svstate);
+typedef int (*HPMHOOK_post_sv_parse_next) (int retVal___, struct s_svstate *svstate);
+typedef int (*HPMHOOK_pre_sv_parse) (const char *str, int *len, int *startoff, char *delim, int *out_pos, int *npos, enum e_svopt *opt);
+typedef int (*HPMHOOK_post_sv_parse) (int retVal___, const char *str, int *len, int *startoff, char *delim, int *out_pos, int *npos, enum e_svopt *opt);
+typedef int (*HPMHOOK_pre_sv_split) (char *str, int *len, int *startoff, char *delim, char **out_fields, int *nfields, enum e_svopt *opt);
+typedef int (*HPMHOOK_post_sv_split) (int retVal___, char *str, int *len, int *startoff, char *delim, char **out_fields, int *nfields, enum e_svopt *opt);
+typedef size_t (*HPMHOOK_pre_sv_escape_c) (char *out_dest, const char *src, size_t *len, const char *escapes);
+typedef size_t (*HPMHOOK_post_sv_escape_c) (size_t retVal___, char *out_dest, const char *src, size_t *len, const char *escapes);
+typedef size_t (*HPMHOOK_pre_sv_unescape_c) (char *out_dest, const char *src, size_t *len);
+typedef size_t (*HPMHOOK_post_sv_unescape_c) (size_t retVal___, char *out_dest, const char *src, size_t *len);
+typedef const char* (*HPMHOOK_pre_sv_skip_escaped_c) (const char *p);
+typedef const char* (*HPMHOOK_post_sv_skip_escaped_c) (const char* retVal___, const char *p);
+typedef bool (*HPMHOOK_pre_sv_readdb) (const char *directory, const char *filename, char *delim, int *mincols, int *maxcols, int *maxrows, bool ( *parseproc ) (char *fields[], int columns, int current));
+typedef bool (*HPMHOOK_post_sv_readdb) (bool retVal___, const char *directory, const char *filename, char *delim, int *mincols, int *maxcols, int *maxrows, bool ( *parseproc ) (char *fields[], int columns, int current));
+#endif // COMMON_STRLIB_H
+#ifdef COMMON_SYSINFO_H /* sysinfo */
+typedef int (*HPMHOOK_pre_sysinfo_getpagesize) (void);
+typedef int (*HPMHOOK_post_sysinfo_getpagesize) (int retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_platform) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_platform) (const char* retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_osversion) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_osversion) (const char* retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_cpu) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_cpu) (const char* retVal___);
+typedef int (*HPMHOOK_pre_sysinfo_cpucores) (void);
+typedef int (*HPMHOOK_post_sysinfo_cpucores) (int retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_arch) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_arch) (const char* retVal___);
+typedef bool (*HPMHOOK_pre_sysinfo_is64bit) (void);
+typedef bool (*HPMHOOK_post_sysinfo_is64bit) (bool retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_compiler) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_compiler) (const char* retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_cflags) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_cflags) (const char* retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_time) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_time) (const char* retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_vcstype) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_vcstype) (const char* retVal___);
+typedef int (*HPMHOOK_pre_sysinfo_vcstypeid) (void);
+typedef int (*HPMHOOK_post_sysinfo_vcstypeid) (int retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_vcsrevision_src) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_vcsrevision_src) (const char* retVal___);
+typedef const char* (*HPMHOOK_pre_sysinfo_vcsrevision_scripts) (void);
+typedef const char* (*HPMHOOK_post_sysinfo_vcsrevision_scripts) (const char* retVal___);
+typedef void (*HPMHOOK_pre_sysinfo_vcsrevision_reload) (void);
+typedef void (*HPMHOOK_post_sysinfo_vcsrevision_reload) (void);
+typedef bool (*HPMHOOK_pre_sysinfo_is_superuser) (void);
+typedef bool (*HPMHOOK_post_sysinfo_is_superuser) (bool retVal___);
+typedef void (*HPMHOOK_pre_sysinfo_init) (void);
+typedef void (*HPMHOOK_post_sysinfo_init) (void);
+typedef void (*HPMHOOK_pre_sysinfo_final) (void);
+typedef void (*HPMHOOK_post_sysinfo_final) (void);
+#endif // COMMON_SYSINFO_H
+#ifdef COMMON_TIMER_H /* timer */
+typedef int64 (*HPMHOOK_pre_timer_gettick) (void);
+typedef int64 (*HPMHOOK_post_timer_gettick) (int64 retVal___);
+typedef int64 (*HPMHOOK_pre_timer_gettick_nocache) (void);
+typedef int64 (*HPMHOOK_post_timer_gettick_nocache) (int64 retVal___);
+typedef int (*HPMHOOK_pre_timer_add) (int64 *tick, TimerFunc *func, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_timer_add) (int retVal___, int64 *tick, TimerFunc *func, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_timer_add_interval) (int64 *tick, TimerFunc *func, int *id, intptr_t *data, int *interval);
+typedef int (*HPMHOOK_post_timer_add_interval) (int retVal___, int64 *tick, TimerFunc *func, int *id, intptr_t *data, int *interval);
+typedef const struct TimerData* (*HPMHOOK_pre_timer_get) (int *tid);
+typedef const struct TimerData* (*HPMHOOK_post_timer_get) (const struct TimerData* retVal___, int *tid);
+typedef int (*HPMHOOK_pre_timer_delete) (int *tid, TimerFunc *func);
+typedef int (*HPMHOOK_post_timer_delete) (int retVal___, int *tid, TimerFunc *func);
+typedef int64 (*HPMHOOK_pre_timer_addtick) (int *tid, int64 *tick);
+typedef int64 (*HPMHOOK_post_timer_addtick) (int64 retVal___, int *tid, int64 *tick);
+typedef int64 (*HPMHOOK_pre_timer_settick) (int *tid, int64 *tick);
+typedef int64 (*HPMHOOK_post_timer_settick) (int64 retVal___, int *tid, int64 *tick);
+typedef int (*HPMHOOK_pre_timer_add_func_list) (TimerFunc *func, char *name);
+typedef int (*HPMHOOK_post_timer_add_func_list) (int retVal___, TimerFunc *func, char *name);
+typedef unsigned long (*HPMHOOK_pre_timer_get_uptime) (void);
+typedef unsigned long (*HPMHOOK_post_timer_get_uptime) (unsigned long retVal___);
+typedef int (*HPMHOOK_pre_timer_perform) (int64 *tick);
+typedef int (*HPMHOOK_post_timer_perform) (int retVal___, int64 *tick);
+typedef void (*HPMHOOK_pre_timer_init) (void);
+typedef void (*HPMHOOK_post_timer_init) (void);
+typedef void (*HPMHOOK_pre_timer_final) (void);
+typedef void (*HPMHOOK_post_timer_final) (void);
+#endif // COMMON_TIMER_H
+#ifdef MAP_TRADE_H /* trade */
+typedef void (*HPMHOOK_pre_trade_request) (struct map_session_data *sd, struct map_session_data *target_sd);
+typedef void (*HPMHOOK_post_trade_request) (struct map_session_data *sd, struct map_session_data *target_sd);
+typedef void (*HPMHOOK_pre_trade_ack) (struct map_session_data *sd, int *type);
+typedef void (*HPMHOOK_post_trade_ack) (struct map_session_data *sd, int *type);
+typedef int (*HPMHOOK_pre_trade_check_impossible) (struct map_session_data *sd);
+typedef int (*HPMHOOK_post_trade_check_impossible) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_trade_check) (struct map_session_data *sd, struct map_session_data *tsd);
+typedef int (*HPMHOOK_post_trade_check) (int retVal___, struct map_session_data *sd, struct map_session_data *tsd);
+typedef void (*HPMHOOK_pre_trade_additem) (struct map_session_data *sd, short *index, short *amount);
+typedef void (*HPMHOOK_post_trade_additem) (struct map_session_data *sd, short *index, short *amount);
+typedef void (*HPMHOOK_pre_trade_addzeny) (struct map_session_data *sd, int *amount);
+typedef void (*HPMHOOK_post_trade_addzeny) (struct map_session_data *sd, int *amount);
+typedef void (*HPMHOOK_pre_trade_ok) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_trade_ok) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_trade_cancel) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_trade_cancel) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_trade_commit) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_trade_commit) (struct map_session_data *sd);
+#endif // MAP_TRADE_H
+#ifdef MAP_UNIT_H /* unit */
+typedef int (*HPMHOOK_pre_unit_init) (bool *minimal);
+typedef int (*HPMHOOK_post_unit_init) (int retVal___, bool *minimal);
+typedef int (*HPMHOOK_pre_unit_final) (void);
+typedef int (*HPMHOOK_post_unit_final) (int retVal___);
+typedef struct unit_data* (*HPMHOOK_pre_unit_bl2ud) (struct block_list *bl);
+typedef struct unit_data* (*HPMHOOK_post_unit_bl2ud) (struct unit_data* retVal___, struct block_list *bl);
+typedef struct unit_data* (*HPMHOOK_pre_unit_bl2ud2) (struct block_list *bl);
+typedef struct unit_data* (*HPMHOOK_post_unit_bl2ud2) (struct unit_data* retVal___, struct block_list *bl);
+typedef void (*HPMHOOK_pre_unit_init_ud) (struct unit_data *ud);
+typedef void (*HPMHOOK_post_unit_init_ud) (struct unit_data *ud);
+typedef int (*HPMHOOK_pre_unit_attack_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_attack_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_unit_walktoxy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_walktoxy_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_unit_walktoxy_sub) (struct block_list *bl);
+typedef int (*HPMHOOK_post_unit_walktoxy_sub) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_delay_walktoxy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_delay_walktoxy_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_unit_walktoxy) (struct block_list *bl, short *x, short *y, int *flag);
+typedef int (*HPMHOOK_post_unit_walktoxy) (int retVal___, struct block_list *bl, short *x, short *y, int *flag);
+typedef int (*HPMHOOK_pre_unit_walktobl_sub) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_walktobl_sub) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_unit_walktobl) (struct block_list *bl, struct block_list *tbl, int *range, int *flag);
+typedef int (*HPMHOOK_post_unit_walktobl) (int retVal___, struct block_list *bl, struct block_list *tbl, int *range, int *flag);
+typedef bool (*HPMHOOK_pre_unit_run) (struct block_list *bl, struct map_session_data *sd, enum sc_type *type);
+typedef bool (*HPMHOOK_post_unit_run) (bool retVal___, struct block_list *bl, struct map_session_data *sd, enum sc_type *type);
+typedef void (*HPMHOOK_pre_unit_run_hit) (struct block_list *bl, struct status_change *sc, struct map_session_data *sd, enum sc_type *type);
+typedef void (*HPMHOOK_post_unit_run_hit) (struct block_list *bl, struct status_change *sc, struct map_session_data *sd, enum sc_type *type);
+typedef int (*HPMHOOK_pre_unit_escape) (struct block_list *bl, struct block_list *target, short *dist);
+typedef int (*HPMHOOK_post_unit_escape) (int retVal___, struct block_list *bl, struct block_list *target, short *dist);
+typedef int (*HPMHOOK_pre_unit_movepos) (struct block_list *bl, short *dst_x, short *dst_y, int *easy, bool *checkpath);
+typedef int (*HPMHOOK_post_unit_movepos) (int retVal___, struct block_list *bl, short *dst_x, short *dst_y, int *easy, bool *checkpath);
+typedef int (*HPMHOOK_pre_unit_setdir) (struct block_list *bl, unsigned char *dir);
+typedef int (*HPMHOOK_post_unit_setdir) (int retVal___, struct block_list *bl, unsigned char *dir);
+typedef uint8 (*HPMHOOK_pre_unit_getdir) (struct block_list *bl);
+typedef uint8 (*HPMHOOK_post_unit_getdir) (uint8 retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_blown) (struct block_list *bl, int *dx, int *dy, int *count, int *flag);
+typedef int (*HPMHOOK_post_unit_blown) (int retVal___, struct block_list *bl, int *dx, int *dy, int *count, int *flag);
+typedef int (*HPMHOOK_pre_unit_warp) (struct block_list *bl, short *m, short *x, short *y, clr_type *type);
+typedef int (*HPMHOOK_post_unit_warp) (int retVal___, struct block_list *bl, short *m, short *x, short *y, clr_type *type);
+typedef int (*HPMHOOK_pre_unit_stop_walking) (struct block_list *bl, int *type);
+typedef int (*HPMHOOK_post_unit_stop_walking) (int retVal___, struct block_list *bl, int *type);
+typedef int (*HPMHOOK_pre_unit_skilluse_id) (struct block_list *src, int *target_id, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_unit_skilluse_id) (int retVal___, struct block_list *src, int *target_id, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_unit_step_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_step_timer) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef void (*HPMHOOK_pre_unit_stop_stepaction) (struct block_list *bl);
+typedef void (*HPMHOOK_post_unit_stop_stepaction) (struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_is_walking) (struct block_list *bl);
+typedef int (*HPMHOOK_post_unit_is_walking) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_can_move) (struct block_list *bl);
+typedef int (*HPMHOOK_post_unit_can_move) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_resume_running) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_resume_running) (int retVal___, int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_pre_unit_set_walkdelay) (struct block_list *bl, int64 *tick, int *delay, int *type);
+typedef int (*HPMHOOK_post_unit_set_walkdelay) (int retVal___, struct block_list *bl, int64 *tick, int *delay, int *type);
+typedef int (*HPMHOOK_pre_unit_skilluse_id2) (struct block_list *src, int *target_id, uint16 *skill_id, uint16 *skill_lv, int *casttime, int *castcancel);
+typedef int (*HPMHOOK_post_unit_skilluse_id2) (int retVal___, struct block_list *src, int *target_id, uint16 *skill_id, uint16 *skill_lv, int *casttime, int *castcancel);
+typedef int (*HPMHOOK_pre_unit_skilluse_pos) (struct block_list *src, short *skill_x, short *skill_y, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_post_unit_skilluse_pos) (int retVal___, struct block_list *src, short *skill_x, short *skill_y, uint16 *skill_id, uint16 *skill_lv);
+typedef int (*HPMHOOK_pre_unit_skilluse_pos2) (struct block_list *src, short *skill_x, short *skill_y, uint16 *skill_id, uint16 *skill_lv, int *casttime, int *castcancel);
+typedef int (*HPMHOOK_post_unit_skilluse_pos2) (int retVal___, struct block_list *src, short *skill_x, short *skill_y, uint16 *skill_id, uint16 *skill_lv, int *casttime, int *castcancel);
+typedef int (*HPMHOOK_pre_unit_set_target) (struct unit_data *ud, int *target_id);
+typedef int (*HPMHOOK_post_unit_set_target) (int retVal___, struct unit_data *ud, int *target_id);
+typedef void (*HPMHOOK_pre_unit_stop_attack) (struct block_list *bl);
+typedef void (*HPMHOOK_post_unit_stop_attack) (struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_unattackable) (struct block_list *bl);
+typedef int (*HPMHOOK_post_unit_unattackable) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_attack) (struct block_list *src, int *target_id, int *continuous);
+typedef int (*HPMHOOK_post_unit_attack) (int retVal___, struct block_list *src, int *target_id, int *continuous);
+typedef int (*HPMHOOK_pre_unit_cancel_combo) (struct block_list *bl);
+typedef int (*HPMHOOK_post_unit_cancel_combo) (int retVal___, struct block_list *bl);
+typedef bool (*HPMHOOK_pre_unit_can_reach_pos) (struct block_list *bl, int *x, int *y, int *easy);
+typedef bool (*HPMHOOK_post_unit_can_reach_pos) (bool retVal___, struct block_list *bl, int *x, int *y, int *easy);
+typedef bool (*HPMHOOK_pre_unit_can_reach_bl) (struct block_list *bl, struct block_list *tbl, int *range, int *easy, short *x, short *y);
+typedef bool (*HPMHOOK_post_unit_can_reach_bl) (bool retVal___, struct block_list *bl, struct block_list *tbl, int *range, int *easy, short *x, short *y);
+typedef int (*HPMHOOK_pre_unit_calc_pos) (struct block_list *bl, int *tx, int *ty, uint8 *dir);
+typedef int (*HPMHOOK_post_unit_calc_pos) (int retVal___, struct block_list *bl, int *tx, int *ty, uint8 *dir);
+typedef int (*HPMHOOK_pre_unit_attack_timer_sub) (struct block_list *src, int *tid, int64 *tick);
+typedef int (*HPMHOOK_post_unit_attack_timer_sub) (int retVal___, struct block_list *src, int *tid, int64 *tick);
+typedef int (*HPMHOOK_pre_unit_skillcastcancel) (struct block_list *bl, int *type);
+typedef int (*HPMHOOK_post_unit_skillcastcancel) (int retVal___, struct block_list *bl, int *type);
+typedef void (*HPMHOOK_pre_unit_dataset) (struct block_list *bl);
+typedef void (*HPMHOOK_post_unit_dataset) (struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_counttargeted) (struct block_list *bl);
+typedef int (*HPMHOOK_post_unit_counttargeted) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_fixdamage) (struct block_list *src, struct block_list *target, int *sdelay, int *ddelay, int64 *damage, short *div, unsigned char *type, int64 *damage2);
+typedef int (*HPMHOOK_post_unit_fixdamage) (int retVal___, struct block_list *src, struct block_list *target, int *sdelay, int *ddelay, int64 *damage, short *div, unsigned char *type, int64 *damage2);
+typedef int (*HPMHOOK_pre_unit_changeviewsize) (struct block_list *bl, short *size);
+typedef int (*HPMHOOK_post_unit_changeviewsize) (int retVal___, struct block_list *bl, short *size);
+typedef int (*HPMHOOK_pre_unit_remove_map) (struct block_list *bl, clr_type *clrtype, const char *file, int *line, const char *func);
+typedef int (*HPMHOOK_post_unit_remove_map) (int retVal___, struct block_list *bl, clr_type *clrtype, const char *file, int *line, const char *func);
+typedef void (*HPMHOOK_pre_unit_remove_map_pc) (struct map_session_data *sd, clr_type *clrtype);
+typedef void (*HPMHOOK_post_unit_remove_map_pc) (struct map_session_data *sd, clr_type *clrtype);
+typedef void (*HPMHOOK_pre_unit_free_pc) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_unit_free_pc) (struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_unit_free) (struct block_list *bl, clr_type *clrtype);
+typedef int (*HPMHOOK_post_unit_free) (int retVal___, struct block_list *bl, clr_type *clrtype);
+#endif // MAP_UNIT_H
+#ifdef MAP_VENDING_H /* vending */
+typedef void (*HPMHOOK_pre_vending_init) (bool *minimal);
+typedef void (*HPMHOOK_post_vending_init) (bool *minimal);
+typedef void (*HPMHOOK_pre_vending_final) (void);
+typedef void (*HPMHOOK_post_vending_final) (void);
+typedef void (*HPMHOOK_pre_vending_close) (struct map_session_data *sd);
+typedef void (*HPMHOOK_post_vending_close) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_vending_open) (struct map_session_data *sd, const char *message, const uint8 *data, int *count);
+typedef void (*HPMHOOK_post_vending_open) (struct map_session_data *sd, const char *message, const uint8 *data, int *count);
+typedef void (*HPMHOOK_pre_vending_list) (struct map_session_data *sd, unsigned int *id);
+typedef void (*HPMHOOK_post_vending_list) (struct map_session_data *sd, unsigned int *id);
+typedef void (*HPMHOOK_pre_vending_purchase) (struct map_session_data *sd, int *aid, unsigned int *uid, const uint8 *data, int *count);
+typedef void (*HPMHOOK_post_vending_purchase) (struct map_session_data *sd, int *aid, unsigned int *uid, const uint8 *data, int *count);
+typedef bool (*HPMHOOK_pre_vending_search) (struct map_session_data *sd, unsigned short *nameid);
+typedef bool (*HPMHOOK_post_vending_search) (bool retVal___, struct map_session_data *sd, unsigned short *nameid);
+typedef bool (*HPMHOOK_pre_vending_searchall) (struct map_session_data *sd, const struct s_search_store_search *s);
+typedef bool (*HPMHOOK_post_vending_searchall) (bool retVal___, struct map_session_data *sd, const struct s_search_store_search *s);
+#endif // MAP_VENDING_H
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
index ab273a852..daa54e969 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
@@ -1,5 +1,6 @@
/**
* This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
*
* Copyright (C) 2013-2016 Hercules Dev Team
*
diff --git a/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
index a558b16c5..21ca25355 100644
--- a/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
@@ -1,5 +1,6 @@
/**
* This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
*
* Copyright (C) 2013-2016 Hercules Dev Team
*
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index b7a9fddd5..b18d11d66 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -1,5 +1,6 @@
/**
* This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
*
* Copyright (C) 2013-2016 Hercules Dev Team
*