#pragma once #include "platform/netenv.h" #include "platform/locale.h" #include "platform/clock.h" #include "platform/dns.h" #include "platform/jvs.h" #include "platform/misc.h" #include "platform/vfs.h" #include "platform/es3sec.h" #include "platform/epay.h" struct dongle_info { USHORT pid; USHORT vid; wchar_t manufacturer[MAX_PATH]; wchar_t product[MAX_PATH]; }; struct platform_config { struct clock_config clock; struct netenv_config netenv; struct locale_config locale; struct dns_config dns; struct jvs_config jvs; struct misc_config misc; struct vfs_config vfs; struct es3sec_config dongle; struct epay_config epay; }; enum platform_type { PLATFORM_ES1_A2, PLATFORM_ES2_PLUS, PLATFORM_ES3, PLATFORM_ES4, PLATFORM_BNA1, }; HRESULT platform_hook_init( const struct platform_config *cfg, enum platform_type type, jvs_provider_t jvs, HMODULE redir_mod, struct dongle_info d_info );