#pragma once #include #include #include #include #include "amcus/config.h" void iauth_set_config(struct amcus_config *cfg); enum daemon_state { DAEMON_UNKNOWN, DAEMON_GET_HOP, DAEMON_GET_TIP, DAEMON_GET_AIP, DAEMON_GET_NET_INFO, DAEMON_INIT, DAEMON_AUTH_START, DAEMON_AUTH_BUSY, DAEMON_AUTH_RETRY, DAEMON_DL, DAEMON_EXPORT, DAEMON_IMPORT, DAEMON_CONSUME_CHARGE, DAEMON_NOTIFY_CHARGE, DAEMON_CHECK_LAN, DAEMON_IDLE, DAEMON_FINALIZE, DAEMON_BUSY }; enum daemon_error { ERR_CHARGE_COMM = -14, ERR_DL_TIMEOUT = -11, ERR_SYSTEM, ERR_NO_INIT, ERR_NO_AUTH, ERR_AUTH_COMM, ERR_AUTH_TIMEOUT, ERR_AUTH, ERR_INIT, ERR_CFG, ERR_NETWORK, ERR_UNKNOWN, ERR_NONE }; enum line_type { TYPE_UNKNOWN, TYPE_FFT, TYPE_DSL, TYPE_ETC, TYPE_MOBILE }; enum link_state { STATE_UNKNOWN, STATE_OK, STATE_NG, STATE_CHECK }; enum updater_state { UPDATE_STATE_UNKNOWN, UPDATE_NOT_NECESSASSARY, UPDATE_NOT_YET_PERM_DATA, UPDATE_NOT_YET_PERM, UPDATE_NOT_YET_DATA, UPDATE_STATE_UNAVAILABLE }; enum auth_type { AUTH_TYPE_OFFLINE, AUTH_TYPE_ALLNET, AUTH_TYPE_NBLINE, AUTH_TYPE_CHARGE_NORMAL, AUTH_TYPE_CHARGE_MONTHLY }; enum daemon_mode { DAEMON_MODE_UNKNOWN, DAEMON_MODE_SERVER, DAEMON_MODE_CLIENT, DAEMON_MODE_STANDALONE, }; enum amdaemon_info { AMDAEMON_UNINITIALIZED, AMDAEMON_AUTH_UNKNOWN, AMDAEMON_AUTH_OK, AMDAEMON_AUTH_NG, AMDAEMON_AUTH_NG_REGIST, AMDAEMON_AUTH_NG_BOARD, AMDAEMON_AUTH_NG_PLACE, AMDAEMON_AUTH_NG_RESPONSE, AMDAEMON_AUTH_NG_OTHER }; enum dlexec_state { DLEXEC_UNKNOWN = 25, DLEXEC_NONE, DLEXEC_PROC, DLEXEC_STOP, DLEXEC_STOPPING, }; enum dlstep_state { DLSTEP_UNKNOWN = 30, DLSTEP_NONE, DLSTEP_IDLE, DLSTEP_PARTIMG_CHECK, DLSTEP_STOP_REQ, DLSTEP_LAN_VERINFO, DLSTEP_LAN_CHECKCODE, DLSTEP_LAN_IMGCHUNK, DLSTEP_WAN_CHECKCODE, DLSTEP_WAN_IMGCHUNK, }; enum dllan_state { DLLAN_UNKNOWN = 40, DLLAN_NONE, DLLAN_REQ, DLLAN_DISABLE, DLLAN_SERVER_NOTHING, DLLAN_SERVER_VER_NOTHING, DLLAN_SERVER_CHECKCODE_NOTHING, DLLAN_SERVER_IMGCHUNK_NOTHING, DLLAN_COMPLETE }; enum dlwan_state { DLWAN_UNKNOWN = 49, DLWAN_NONE, DLWAN_REQ, DLWAN_COMPLETE, DLWAN_DISABLE, DLWAN_WANENV_INVALID, DLWAN_BASICAUTHKEY_INVALID, DLWAN_SERVER_VERINFO_NOTHING, DLWAN_SERVER_VERINFO_VERSION_NOTHING, }; enum daemon_io_info { DAEMON_IO_UNKNOWN = 58, DAEMON_IO_NONE, DAEMON_IO_IDLE, DAEMON_IO_EXPORT, DAEMON_IO_IMPORT, DAEMON_IO_FAIL, DAEMON_IO_SUCCESS, }; // member names are wrong lol /* Memory Size: 20 */ struct allnet_state { /* Offset: 0 */ /* ENUM32 */ uint32_t state; /* Offset: 4 */ /* ENUM32 */ uint32_t error; /* Offset: 8 */ int32_t auth_state; /* Offset: 12 */ int32_t auth_count; /* Offset: 16 */ int32_t last_error; }; /* Memory Size: 144 */ struct mucha_state { /* Offset: 0 */ /* ENUM32 */ uint32_t state; /* Offset: 4 */ /* ENUM32 */ uint32_t error; /* Offset: 8 */ int32_t auth_state; /* Offset: 12 */ int32_t auth_count; /* Offset: 16 */ int32_t state_dlexec; /* Offset: 20 */ int32_t state_dlstep; /* Offset: 24 */ int32_t state_dllan; /* Offset: 28 */ int32_t state_dlwan; /* Offset: 32 */ int32_t state_io; /* Offset: 36 */ int16_t cacfg_ver_major; /* Offset: 38 */ int16_t cacfg_ver_minor; /* Offset: 40 */ int16_t app_ver_major; /* Offset: 42 */ int16_t app_ver_minor; /* Offset: 44 */ int16_t dl_ver_major; /* Offset: 46 */ int16_t dl_ver_minor; /* Offset: 48 */ int32_t dl_ver_total; /* Offset: 52 */ int32_t dl_ver_done; /* Offset: 56 */ int64_t dl_total; /* Offset: 64 */ int64_t dl_done; /* Offset: 72 */ int64_t dl_pc_done; /* Offset: 80 */ int64_t dl_io_total; /* Offset: 88 */ int64_t dl_io_done; /* Offset: 96 */ int32_t dl_check_complete; /* Offset: 100 */ int32_t token_consumed; /* Offset: 104 */ int32_t token_charged; /* Offset: 108 */ int32_t token_unit; /* Offset: 112 */ int32_t token_lower; /* Offset: 116 */ int32_t token_upper; /* Offset: 120 */ int32_t token_added; /* Offset: 124 */ int32_t token_month_lower; /* Offset: 128 */ int32_t token_month_upper; /* Offset: 132 */ int32_t is_forced_boot; /* Offset: 136 */ int32_t Member88; }; /* Memory Size: 200 */ struct amcus_state { /* Offset: 0 */ struct allnet_state allnet_state; /* Offset: 24 */ struct mucha_state mucha_state; /* Offset: 168 */ int64_t clock_status; /* Offset: 176 */ int64_t name_resolution_timeout; /* Offset: 184 */ /* ENUM32 */ uint32_t auth_type; /* Offset: 188 */ /* ENUM32 */ uint32_t cab_mode; /* Offset: 192 */ /* ENUM32 */ uint32_t state; /* Offset: 196 */ /* ENUM32 */ uint32_t err; }; /* Memory Size: 316 */ struct amcus_version_info { char game_rev[4]; char auth_type[16]; char game_id[8]; char game_ver[8]; char game_cd[8]; char cacfg_game_ver[8]; char game_board_type[4]; char game_board_id[4]; char auth_url[256]; }; /* Memory Size: 168 */ struct amcus_network_state { char mode[16]; char pcbid[16]; char dongle_serial[16]; char shop_router_ip[16]; char auth_server_ip[16]; char local_ip[16]; char subnet_mask[16]; char gateway[16]; char primary_dns[16]; int hop_count; uint32_t line_type; uint32_t line_status; uint32_t content_router_status; uint32_t shop_router_status; uint32_t hop_status; }; /* Memory Size: 3808 */ struct mucha_boardauth_resp { /* Offset: 0 */ char url_charge[256]; /* Offset: 256 */ char url_file[256]; /* Offset: 512 */ char url_url1[256]; /* Offset: 768 */ char url_url2[256]; /* Offset: 1024 */ char url_url3[256]; /* Offset: 1280 */ char place_id[16]; /* Offset: 1296 */ char country_cd[16]; /* Offset: 1312 */ char shop_name[256]; /* Offset: 1568 */ char shop_nickname[128]; /* Offset: 1696 */ char area0[64]; /* Offset: 1760 */ char area1[64]; /* Offset: 1824 */ char area2[64]; /* Offset: 1888 */ char area3[64]; /* Offset: 1952 */ char area_full0[256]; /* Offset: 2208 */ char area_full1[256]; /* Offset: 2464 */ char area_full2[256]; /* Offset: 2720 */ char area_full3[256]; /* Offset: 2976 */ char shop_name_en[64]; /* Offset: 3040 */ char shop_nickname_en[32]; /* Offset: 3072 */ char area0_en[32]; /* Offset: 3104 */ char area1_en[32]; /* Offset: 3136 */ char area2_en[32]; /* Offset: 3168 */ char area3_en[32]; /* Offset: 3200 */ char area_full0_en[128]; /* Offset: 3328 */ char area_full1_en[128]; /* Offset: 3456 */ char area_full2_en[128]; /* Offset: 3584 */ char area_full3_en[128]; /* Offset: 3712 */ char prefecture_id[16]; /* Offset: 3728 */ char expiration_date[16]; /* Offset: 3744 */ char use_token[16]; /* Offset: 3760 */ char consume_token[32]; /* Offset: 3792 */ char dongle_flag[8]; /* Offset: 3800 */ char force_boot[8]; }; /* Memory Size: 56 */ struct mucha_updater_state { /* Offset: 0 */ /* ENUM32 */ uint64_t state; /* Offset: 8 */ int64_t enforce_done; /* Offset: 16 */ int64_t enforce_total; /* Offset: 24 */ int64_t distrib_done; /* Offset: 32 */ int64_t distrib_total; /* Offset: 40 */ int64_t exec_total; /* Offset: 48 */ int16_t dl_ver_major; /* Offset: 50 */ int16_t dl_ver_minor; /* Offset: 52 */ int16_t Member34; /* Offset: 54 */ int16_t Member36; }; /* Memory Size: 2210 */ struct amcus_auth_server_resp { char uri[257]; char host[257]; char shop_name[256]; char shop_nickname[256]; char region0[16]; char region_name0[256]; char region_name1[256]; char region_name2[256]; char region_name3[256]; char place_id[16]; char setting[16]; char country[16]; char timezone[32]; char res_class[64]; }; #undef INTERFACE #define INTERFACE IAuth DECLARE_INTERFACE_(IAuth,CStdStubBuffer) { STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; STDMETHOD_(HRESULT,Initialize)(THIS_ int64_t p0) PURE; STDMETHOD_(HRESULT,Finalize)(THIS) PURE; STDMETHOD_(HRESULT,Func5)(THIS_ int64_t p0) PURE; STDMETHOD_(LONG,Func6)() PURE; STDMETHOD_(HRESULT,Func7)() PURE; STDMETHOD_(HRESULT,Func8)() PURE; STDMETHOD_(HRESULT,GetUpdaterState)(THIS_ struct amcus_state *arr) PURE; STDMETHOD_(HRESULT,GetCabinetConfig)(THIS_ struct amcus_network_state *arr) PURE; STDMETHOD_(HRESULT,GetVersionInfo)(THIS_ struct amcus_version_info *arr) PURE; STDMETHOD_(HRESULT,Func12)() PURE; STDMETHOD_(HRESULT,Func13)() PURE; STDMETHOD_(HRESULT,GetAuthServerResp)(THIS_ struct amcus_auth_server_resp *arr) PURE; STDMETHOD_(HRESULT,Func15)() PURE; STDMETHOD_(HRESULT,Func16)() PURE; STDMETHOD_(HRESULT,Func17)() PURE; STDMETHOD_(HRESULT,GetMuchaAuthResponse)(THIS_ struct mucha_boardauth_resp *arr) PURE; STDMETHOD_(HRESULT,Func19)(THIS_ struct mucha_updater_state *arr) PURE; STDMETHOD_(HRESULT,Func20)() PURE; STDMETHOD_(HRESULT,Func21)() PURE; STDMETHOD_(HRESULT,Func22)() PURE; STDMETHOD_(HRESULT,Func23)(THIS_ int64_t p0) PURE; STDMETHOD_(HRESULT,Func24)() PURE; STDMETHOD_(HRESULT,Func25)() PURE; STDMETHOD_(HRESULT,Func26)() PURE; STDMETHOD_(HRESULT,Func27)() PURE; STDMETHOD_(HRESULT,Func28)() PURE; STDMETHOD_(HRESULT,Func29)() PURE; STDMETHOD_(HRESULT,Func30)() PURE; STDMETHOD_(HRESULT,Func31)() PURE; STDMETHOD_(HRESULT,Func32)(THIS_ int64_t p0, int64_t* p1) PURE; STDMETHOD_(HRESULT,Func33)(THIS_ int64_t p0, int64_t* p1, int64_t* p2, int64_t* p3, int64_t* p4) PURE; }; #undef INTERFACE extern IAuth *iauth_stub;