lsteamclient: Reimplement alloc_callback_wtou(), convert_callback_utow() in manual code using generated table.

And try to handle the case of non-matching Windows callback length
similar to  before commit 6a5d5757ca.

CW-Bug-Id: #23550
This commit is contained in:
Paul Gofman 2024-03-12 15:02:15 -06:00
parent ce08f3ca53
commit 7e98577a74
4 changed files with 333 additions and 500 deletions

View File

@ -1700,73 +1700,40 @@ with open('unixlib_generated.cpp', 'w') as file:
out(u'}\n')
out(u'\n')
out(u'void *alloc_callback_wtou(int id, void *callback, int *callback_len)\n')
out(u'{\n')
out(u' int len;\n')
out(u'\n')
out(u'#define MAKE_CASE(id, wlen) ((uint64_t)(id) << 48) | ((uint64_t)(wlen) << 24)\n')
out(u' switch (MAKE_CASE(id, *callback_len))\n')
out(u' {\n')
out(u'#ifdef __i386__\n')
values = set()
for cbid, sdkver, abis in sorted(callbacks, key=lambda x: x[0]):
name, value = abis["u32"].name, (cbid, abis["w32"].size)
if name in all_versions[sdkver]: name = all_versions[sdkver][name]
if value not in values:
out(f' case MAKE_CASE({cbid}, {abis["w32"].size}): len = {abis["u32"].size}; break; /* {name} */\n')
else:
out(f' /* case MAKE_CASE({cbid}, {abis["w32"].size}): len = {abis["u32"].size}; break; {name} */\n')
values.add(value)
out(u'#endif\n')
out(u'#ifdef __x86_64__\n')
values = set()
for cbid, sdkver, abis in sorted(callbacks, key=lambda x: x[0]):
name, value = abis["u64"].name, (cbid, abis["w64"].size)
if name in all_versions[sdkver]: name = all_versions[sdkver][name]
if value not in values:
out(f' case MAKE_CASE({cbid}, {abis["w64"].size}): len = {abis["u64"].size}; break; /* {name} */\n')
else:
out(f' /* case MAKE_CASE({cbid}, {abis["w64"].size}): len = {abis["u64"].size}; break; {name} */\n')
values.add(value)
out(u'#endif\n')
out(u' default: return callback;\n')
out(u' }\n')
out(u'#undef MAKE_CASE\n')
out(u'\n')
out(u' callback = malloc( len );\n')
out(u' *callback_len = len;\n')
out(u' return callback;\n')
out(u'}\n')
out(u'\n')
out(u'void convert_callback_utow(int id, void *u_callback, int u_callback_len, void *w_callback, int w_callback_len)\n')
out(u'{\n')
out(u'#define MAKE_CASE(id, wlen, ulen) ((uint64_t)(id) << 48) | ((uint64_t)(wlen) << 24) | (uint64_t)(ulen)\n')
out(u' switch (MAKE_CASE(id, w_callback_len, u_callback_len))\n')
out(u' {\n')
out(u'#ifdef __i386__\n')
out(u'const struct callback_def callback_data[] =\n{\n');
values = set()
for cbid, sdkver, abis in sorted(callbacks, key=lambda x: x[0]):
name, value = abis["u32"].name, (cbid, abis["w32"].size, abis["u32"].size)
if name in all_versions[sdkver]: name = all_versions[sdkver][name]
w_from_u = f'{name}_w_from_u'
if not w_from_u in written_converters:
w_from_u = u'nullptr'
if value not in values:
out(f' case MAKE_CASE({cbid}, {abis["w32"].size}, {abis["u32"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break;\n')
out(f' {{ {cbid}, {sdkver}, {abis["w32"].size}, {abis["u32"].size}, {w_from_u} }},\n')
else:
out(f' /* case MAKE_CASE({cbid}, {abis["w32"].size}, {abis["u32"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break; */\n')
out(f' /*{{ {cbid}, {sdkver}, {abis["w32"].size}, {abis["u32"].size}, {w_from_u} }},*/\n')
values.add(value)
out(u'};\n');
out(u'#endif\n')
out(u'#ifdef __x86_64__\n')
out(u'const struct callback_def callback_data[] =\n{\n');
values = set()
for cbid, sdkver, abis in sorted(callbacks, key=lambda x: x[0]):
name, value = abis["u64"].name, (cbid, abis["w64"].size, abis["u64"].size)
if name in all_versions[sdkver]: name = all_versions[sdkver][name]
w_from_u = f'{name}_w_from_u'
if not w_from_u in written_converters:
w_from_u = u'nullptr'
if value not in values:
out(f' case MAKE_CASE({cbid}, {abis["w64"].size}, {abis["u64"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break;\n')
out(f' {{ {cbid}, {sdkver}, {abis["w64"].size}, {abis["u64"].size}, {w_from_u} }},\n')
else:
out(f' /* case MAKE_CASE({cbid}, {abis["w64"].size}, {abis["u64"].size}): *(w_{name} *)w_callback = *(u_{name} *)u_callback; break; */\n')
out(f' /*{{ {cbid}, {sdkver}, {abis["w64"].size}, {abis["u64"].size}, {w_from_u} }},*/\n')
values.add(value)
out(u'};\n');
out(u'#endif\n')
out(u' default: memcpy( w_callback, u_callback, u_callback_len ); break;\n')
out(u' }\n')
out(u'#undef MAKE_CASE\n')
out(u'}\n')
out(u'const unsigned int callback_data_size = ARRAY_SIZE(callback_data);\n');

View File

@ -57,6 +57,17 @@ typedef void (W_CDECL *w_void_SteamAPI_PostAPIResultInProcess_t)(void);
u_void_SteamAPI_PostAPIResultInProcess_t manual_convert_DEPRECATED_Set_SteamAPI_CPostAPIResultInProcess__a( w_void_SteamAPI_PostAPIResultInProcess_t );
u_void_SteamAPI_PostAPIResultInProcess_t manual_convert_DEPRECATED_Remove_SteamAPI_CPostAPIResultInProcess__a( w_void_SteamAPI_PostAPIResultInProcess_t );
struct callback_def
{
int id;
int sdkver;
int w_callback_len;
int u_callback_len;
void (*conv_w_from_u)(void *dst, const void *src);
};
extern const struct callback_def callback_data[];
extern const unsigned int callback_data_size;
void callback_message_utow( const u_CallbackMsg_t *u_msg, w_CallbackMsg_t *w_msg );
void *alloc_callback_wtou( int id, void *callback, int *callback_len );
void convert_callback_utow( int id, void *u_callback, int u_callback_len, void *w_callback, int w_callback_len );

View File

@ -648,3 +648,90 @@ unsigned int steamclient_unix_path_to_dos_path( bool api_result, const char *src
return r;
}
static const struct callback_def *find_first_callback_def_by_id( int id )
{
unsigned int l, r, m;
l = 0;
r = callback_data_size;
while (l < r)
{
m = (l + r) /2;
if (callback_data[m].id == id)
{
while (m && callback_data[m - 1].id == id) --m;
return &callback_data[m];
}
if (id < callback_data[m].id) r = m;
else l = m + 1;
}
return NULL;
}
void *alloc_callback_wtou( int id, void *callback, int *callback_len )
{
const struct callback_def *c, *end, *best;
if (!(c = find_first_callback_def_by_id( id ))) return callback;
end = callback_data + callback_data_size;
best = NULL;
while (c != end && c->id == id)
{
if (c->w_callback_len == *callback_len)
{
best = c;
break;
}
if (!best && *callback_len >= c->w_callback_len) best = c;
++c;
}
if (!best)
{
WARN( "len %d is too small for callback %d.\n", *callback_len, id );
return callback;
}
if (best->w_callback_len != *callback_len)
WARN( "Found len %d for id %d, len %d.\n", best->w_callback_len, id, *callback_len );
*callback_len = best->u_callback_len;
return malloc( *callback_len );
}
void convert_callback_utow(int id, void *u_callback, int u_callback_len, void *w_callback, int w_callback_len)
{
const struct callback_def *c, *end, *best;
if (!(c = find_first_callback_def_by_id( id )))
{
memcpy( w_callback, u_callback, u_callback_len );
return;
}
end = callback_data + callback_data_size;
best = NULL;
while (c != end && c->id == id)
{
if (c->w_callback_len == w_callback_len && c->u_callback_len == u_callback_len)
{
best = c;
break;
}
if (!best && c->u_callback_len == u_callback_len && c->w_callback_len <= w_callback_len)
best = c;
++c;
}
if (!best)
{
ERR( "Could not find id %d, u_callback_len %d, w_callback_len %d.\n", id, u_callback_len, w_callback_len );
memcpy( w_callback, u_callback, std::min(w_callback_len, u_callback_len) );
return;
}
if (best->w_callback_len != w_callback_len || best->u_callback_len != u_callback_len)
WARN( "Found len %d, %d for id %d, len %d, %d.\n", best->w_callback_len, best->u_callback_len,
id, w_callback_len, u_callback_len );
if (best->conv_w_from_u) best->conv_w_from_u( w_callback, u_callback );
else memcpy( w_callback, u_callback, u_callback_len );
}

View File

@ -20306,456 +20306,224 @@ void callback_message_utow( const u_CallbackMsg_t *u_msg, w_CallbackMsg_t *w_msg
w_msg->m_cubParam = len;
}
void *alloc_callback_wtou(int id, void *callback, int *callback_len)
{
int len;
#define MAKE_CASE(id, wlen) ((uint64_t)(id) << 48) | ((uint64_t)(wlen) << 24)
switch (MAKE_CASE(id, *callback_len))
{
#ifdef __i386__
case MAKE_CASE(152, 24): len = 16; break; /* MicroTxnAuthorizationResponse_t_123 */
/* case MAKE_CASE(152, 24): len = 16; break; MicroTxnAuthorizationResponse_t_109 */
case MAKE_CASE(209, 40): len = 32; break; /* GSReputation_t_123 */
/* case MAKE_CASE(209, 40): len = 32; break; GSReputation_t_108 */
case MAKE_CASE(513, 16): len = 12; break; /* LobbyCreated_t_123 */
/* case MAKE_CASE(513, 16): len = 12; break; LobbyCreated_t_099u */
case MAKE_CASE(1023, 40): len = 36; break; /* FileDetailsResult_t */
case MAKE_CASE(1106, 32): len = 28; break; /* LeaderboardScoreUploaded_t_123 */
/* case MAKE_CASE(1106, 32): len = 28; break; LeaderboardScoreUploaded_t_104 */
case MAKE_CASE(1111, 16): len = 12; break; /* LeaderboardUGCSet_t_123 */
/* case MAKE_CASE(1111, 16): len = 12; break; LeaderboardUGCSet_t_111x */
case MAKE_CASE(1112, 24): len = 20; break; /* PS3TrophiesInstalled_t_123 */
/* case MAKE_CASE(1112, 24): len = 20; break; PS3TrophiesInstalled_t_112x */
case MAKE_CASE(1221, 712): len = 704; break; /* SteamNetConnectionStatusChangedCallback_t_153a */
/* case MAKE_CASE(1221, 712): len = 704; break; SteamNetConnectionStatusChangedCallback_t_144 */
case MAKE_CASE(1221, 584): len = 576; break; /* SteamNetConnectionStatusChangedCallback_t_151 */
case MAKE_CASE(1303, 288): len = 280; break; /* RemoteStorageAppSyncProgress_t_123 */
/* case MAKE_CASE(1303, 288): len = 280; break; RemoteStorageAppSyncProgress_t_111x */
case MAKE_CASE(1307, 280): len = 272; break; /* RemoteStorageFileShareResult_t_128x */
case MAKE_CASE(1307, 16): len = 12; break; /* RemoteStorageFileShareResult_t_123 */
/* case MAKE_CASE(1307, 16): len = 12; break; RemoteStorageFileShareResult_t_111x */
case MAKE_CASE(1308, 40): len = 32; break; /* RemoteStorageDownloadUGCResult_t_111x */
case MAKE_CASE(1309, 24): len = 16; break; /* RemoteStoragePublishFileResult_t_125 */
case MAKE_CASE(1309, 16): len = 12; break; /* RemoteStoragePublishFileResult_t_123 */
/* case MAKE_CASE(1309, 16): len = 12; break; RemoteStoragePublishFileResult_t_116x */
case MAKE_CASE(1310, 1744): len = 1732; break; /* RemoteStorageGetPublishedFileDetailsResult_t_116x */
case MAKE_CASE(1311, 16): len = 12; break; /* RemoteStorageDeletePublishedFileResult_t_123 */
/* case MAKE_CASE(1311, 16): len = 12; break; RemoteStorageDeletePublishedFileResult_t_116x */
case MAKE_CASE(1312, 416): len = 412; break; /* RemoteStorageEnumerateUserPublishedFilesResult_t_123 */
/* case MAKE_CASE(1312, 416): len = 412; break; RemoteStorageEnumerateUserPublishedFilesResult_t_116x */
case MAKE_CASE(1313, 16): len = 12; break; /* RemoteStorageSubscribePublishedFileResult_t_123 */
case MAKE_CASE(1313, 4): len = 4; break; /* RemoteStorageSubscribePublishedFileResult_t_116x */
case MAKE_CASE(1314, 616): len = 612; break; /* RemoteStorageEnumerateUserSubscribedFilesResult_t_123 */
/* case MAKE_CASE(1314, 616): len = 612; break; RemoteStorageEnumerateUserSubscribedFilesResult_t_116x */
case MAKE_CASE(1315, 16): len = 12; break; /* RemoteStorageUnsubscribePublishedFileResult_t_123 */
case MAKE_CASE(1315, 4): len = 4; break; /* RemoteStorageUnsubscribePublishedFileResult_t_116x */
case MAKE_CASE(1316, 24): len = 16; break; /* RemoteStorageUpdatePublishedFileResult_t_125 */
case MAKE_CASE(1316, 16): len = 12; break; /* RemoteStorageUpdatePublishedFileResult_t_123 */
/* case MAKE_CASE(1316, 16): len = 12; break; RemoteStorageUpdatePublishedFileResult_t_116x */
case MAKE_CASE(1317, 296): len = 288; break; /* RemoteStorageDownloadUGCResult_t_123 */
/* case MAKE_CASE(1317, 296): len = 288; break; RemoteStorageDownloadUGCResult_t_116x */
case MAKE_CASE(1318, 9760): len = 9748; break; /* RemoteStorageGetPublishedFileDetailsResult_t_126 */
case MAKE_CASE(1318, 9752): len = 9744; break; /* RemoteStorageGetPublishedFileDetailsResult_t_123 */
/* case MAKE_CASE(1318, 9752): len = 9744; break; RemoteStorageGetPublishedFileDetailsResult_t_119x */
/* case MAKE_CASE(1318, 9752): len = 9740; break; RemoteStorageGetPublishedFileDetailsResult_t_119 */
case MAKE_CASE(1318, 9496): len = 9484; break; /* RemoteStorageGetPublishedFileDetailsResult_t_118 */
case MAKE_CASE(1319, 624): len = 620; break; /* RemoteStorageEnumerateWorkshopFilesResult_t_125 */
case MAKE_CASE(1319, 616): len = 612; break; /* RemoteStorageEnumerateWorkshopFilesResult_t_123 */
/* case MAKE_CASE(1319, 616): len = 612; break; RemoteStorageEnumerateWorkshopFilesResult_t_119 */
case MAKE_CASE(1320, 32): len = 28; break; /* RemoteStorageGetPublishedItemVoteDetailsResult_t_123 */
/* case MAKE_CASE(1320, 32): len = 28; break; RemoteStorageGetPublishedItemVoteDetailsResult_t_119 */
case MAKE_CASE(1324, 16): len = 12; break; /* RemoteStorageUpdateUserPublishedItemVoteResult_t_123 */
/* case MAKE_CASE(1324, 16): len = 12; break; RemoteStorageUpdateUserPublishedItemVoteResult_t_119 */
case MAKE_CASE(1325, 24): len = 16; break; /* RemoteStorageUserVoteDetails_t_123 */
/* case MAKE_CASE(1325, 24): len = 16; break; RemoteStorageUserVoteDetails_t_119 */
case MAKE_CASE(1326, 416): len = 412; break; /* RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 */
/* case MAKE_CASE(1326, 416): len = 412; break; RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 */
case MAKE_CASE(1327, 24): len = 16; break; /* RemoteStorageSetUserPublishedFileActionResult_t_123 */
/* case MAKE_CASE(1327, 24): len = 16; break; RemoteStorageSetUserPublishedFileActionResult_t_119 */
case MAKE_CASE(1330, 24): len = 20; break; /* RemoteStoragePublishedFileUpdated_t */
case MAKE_CASE(2101, 32): len = 24; break; /* HTTPRequestCompleted_t_132x */
case MAKE_CASE(2101, 24): len = 20; break; /* HTTPRequestCompleted_t_123 */
/* case MAKE_CASE(2101, 24): len = 20; break; HTTPRequestCompleted_t_115 */
case MAKE_CASE(2102, 16): len = 12; break; /* HTTPRequestHeadersReceived_t_123 */
/* case MAKE_CASE(2102, 16): len = 12; break; HTTPRequestHeadersReceived_t_121x */
case MAKE_CASE(2103, 24): len = 20; break; /* HTTPRequestDataReceived_t_123 */
/* case MAKE_CASE(2103, 24): len = 20; break; HTTPRequestDataReceived_t_121x */
case MAKE_CASE(2803, 40): len = 32; break; /* SteamInputConfigurationLoaded_t */
case MAKE_CASE(2804, 32): len = 24; break; /* SteamInputGamepadSlotChange_t */
case MAKE_CASE(3402, 9784): len = 9768; break; /* SteamUGCRequestUGCDetailsResult_t_128x */
case MAKE_CASE(3402, 9776): len = 9764; break; /* SteamUGCRequestUGCDetailsResult_t_129 */
case MAKE_CASE(3402, 9768): len = 9760; break; /* SteamUGCRequestUGCDetailsResult_t_126 */
case MAKE_CASE(3403, 24): len = 16; break; /* CreateItemResult_t */
case MAKE_CASE(3405, 16): len = 12; break; /* ItemInstalled_t */
case MAKE_CASE(3406, 24): len = 16; break; /* DownloadItemResult_t */
case MAKE_CASE(3412, 24): len = 20; break; /* AddUGCDependencyResult_t */
case MAKE_CASE(3413, 24): len = 20; break; /* RemoveUGCDependencyResult_t */
case MAKE_CASE(3414, 24): len = 16; break; /* AddAppDependencyResult_t */
case MAKE_CASE(3415, 24): len = 16; break; /* RemoveAppDependencyResult_t */
case MAKE_CASE(3416, 152): len = 148; break; /* GetAppDependenciesResult_t */
case MAKE_CASE(3417, 16): len = 12; break; /* DeleteItemResult_t */
case MAKE_CASE(4502, 48): len = 48; break; /* HTML_NeedsPaint_t */
case MAKE_CASE(4503, 20): len = 20; break; /* HTML_StartRequest_t */
case MAKE_CASE(4505, 24): len = 24; break; /* HTML_URLChanged_t */
case MAKE_CASE(4506, 12): len = 12; break; /* HTML_FinishedRequest_t */
case MAKE_CASE(4507, 8): len = 8; break; /* HTML_OpenLinkInNewTab_t */
case MAKE_CASE(4508, 8): len = 8; break; /* HTML_ChangedTitle_t */
case MAKE_CASE(4513, 20): len = 20; break; /* HTML_LinkAtPosition_t */
case MAKE_CASE(4514, 8): len = 8; break; /* HTML_JSAlert_t */
case MAKE_CASE(4515, 8): len = 8; break; /* HTML_JSConfirm_t */
case MAKE_CASE(4516, 12): len = 12; break; /* HTML_FileOpenDialog_t */
case MAKE_CASE(4517, 16): len = 16; break; /* HTML_ComboNeedsPaint_t */
case MAKE_CASE(4521, 28): len = 28; break; /* HTML_NewWindow_t_132x */
case MAKE_CASE(4521, 24): len = 24; break; /* HTML_NewWindow_t_130x */
case MAKE_CASE(4523, 8): len = 8; break; /* HTML_StatusText_t */
case MAKE_CASE(4524, 8): len = 8; break; /* HTML_ShowToolTip_t */
case MAKE_CASE(4525, 8): len = 8; break; /* HTML_UpdateToolTip_t */
case MAKE_CASE(4704, 24): len = 20; break; /* SteamInventoryStartPurchaseResult_t */
case MAKE_CASE(5211, 16): len = 12; break; /* RequestPlayersForGameProgressCallback_t */
case MAKE_CASE(5212, 64): len = 56; break; /* RequestPlayersForGameResultCallback_t */
case MAKE_CASE(5213, 24): len = 20; break; /* RequestPlayersForGameFinalResultCallback_t */
case MAKE_CASE(5214, 24): len = 20; break; /* SubmitPlayerResultResultCallback_t */
case MAKE_CASE(5215, 16): len = 12; break; /* EndGameResultCallback_t */
case MAKE_CASE(5301, 280): len = 276; break; /* JoinPartyCallback_t */
case MAKE_CASE(5302, 16): len = 12; break; /* CreateBeaconCallback_t */
const struct callback_def callback_data[] =
{
{ 152, 158, 24, 16, MicroTxnAuthorizationResponse_t_123_w_from_u },
/*{ 152, 122, 24, 16, MicroTxnAuthorizationResponse_t_109_w_from_u },*/
{ 209, 158, 40, 32, GSReputation_t_123_w_from_u },
/*{ 209, 122, 40, 32, GSReputation_t_108_w_from_u },*/
{ 513, 158, 16, 12, LobbyCreated_t_123_w_from_u },
/*{ 513, 122, 16, 12, LobbyCreated_t_099u_w_from_u },*/
{ 1023, 158, 40, 36, FileDetailsResult_t_w_from_u },
{ 1106, 158, 32, 28, LeaderboardScoreUploaded_t_123_w_from_u },
/*{ 1106, 122, 32, 28, LeaderboardScoreUploaded_t_104_w_from_u },*/
{ 1111, 158, 16, 12, LeaderboardUGCSet_t_123_w_from_u },
/*{ 1111, 122, 16, 12, LeaderboardUGCSet_t_111x_w_from_u },*/
{ 1112, 158, 24, 20, PS3TrophiesInstalled_t_123_w_from_u },
/*{ 1112, 122, 24, 20, PS3TrophiesInstalled_t_112x_w_from_u },*/
{ 1221, 158, 712, 704, SteamNetConnectionStatusChangedCallback_t_153a_w_from_u },
/*{ 1221, 152, 712, 704, SteamNetConnectionStatusChangedCallback_t_144_w_from_u },*/
{ 1221, 151, 584, 576, SteamNetConnectionStatusChangedCallback_t_151_w_from_u },
{ 1303, 151, 288, 280, RemoteStorageAppSyncProgress_t_123_w_from_u },
/*{ 1303, 122, 288, 280, RemoteStorageAppSyncProgress_t_111x_w_from_u },*/
{ 1307, 158, 280, 272, RemoteStorageFileShareResult_t_128x_w_from_u },
{ 1307, 128, 16, 12, RemoteStorageFileShareResult_t_123_w_from_u },
/*{ 1307, 122, 16, 12, RemoteStorageFileShareResult_t_111x_w_from_u },*/
{ 1308, 116, 40, 32, RemoteStorageDownloadUGCResult_t_111x_w_from_u },
{ 1309, 158, 24, 16, RemoteStoragePublishFileResult_t_125_w_from_u },
{ 1309, 124, 16, 12, RemoteStoragePublishFileResult_t_123_w_from_u },
/*{ 1309, 122, 16, 12, RemoteStoragePublishFileResult_t_116x_w_from_u },*/
{ 1310, 117, 1744, 1732, RemoteStorageGetPublishedFileDetailsResult_t_116x_w_from_u },
{ 1311, 158, 16, 12, RemoteStorageDeletePublishedFileResult_t_123_w_from_u },
/*{ 1311, 122, 16, 12, RemoteStorageDeletePublishedFileResult_t_116x_w_from_u },*/
{ 1312, 158, 416, 412, RemoteStorageEnumerateUserPublishedFilesResult_t_123_w_from_u },
/*{ 1312, 122, 416, 412, RemoteStorageEnumerateUserPublishedFilesResult_t_116x_w_from_u },*/
{ 1313, 158, 16, 12, RemoteStorageSubscribePublishedFileResult_t_123_w_from_u },
{ 1313, 122, 4, 4, nullptr },
{ 1314, 158, 616, 612, RemoteStorageEnumerateUserSubscribedFilesResult_t_123_w_from_u },
/*{ 1314, 122, 616, 612, RemoteStorageEnumerateUserSubscribedFilesResult_t_116x_w_from_u },*/
{ 1315, 158, 16, 12, RemoteStorageUnsubscribePublishedFileResult_t_123_w_from_u },
{ 1315, 122, 4, 4, nullptr },
{ 1316, 158, 24, 16, RemoteStorageUpdatePublishedFileResult_t_125_w_from_u },
{ 1316, 124, 16, 12, RemoteStorageUpdatePublishedFileResult_t_123_w_from_u },
/*{ 1316, 122, 16, 12, RemoteStorageUpdatePublishedFileResult_t_116x_w_from_u },*/
{ 1317, 158, 296, 288, RemoteStorageDownloadUGCResult_t_123_w_from_u },
/*{ 1317, 122, 296, 288, RemoteStorageDownloadUGCResult_t_116x_w_from_u },*/
{ 1318, 158, 9760, 9748, RemoteStorageGetPublishedFileDetailsResult_t_126_w_from_u },
{ 1318, 125, 9752, 9744, RemoteStorageGetPublishedFileDetailsResult_t_123_w_from_u },
/*{ 1318, 122, 9752, 9744, RemoteStorageGetPublishedFileDetailsResult_t_119x_w_from_u },*/
{ 1318, 119, 9752, 9740, RemoteStorageGetPublishedFileDetailsResult_t_119_w_from_u },
{ 1318, 118, 9496, 9484, RemoteStorageGetPublishedFileDetailsResult_t_118_w_from_u },
{ 1319, 158, 624, 620, RemoteStorageEnumerateWorkshopFilesResult_t_125_w_from_u },
{ 1319, 124, 616, 612, RemoteStorageEnumerateWorkshopFilesResult_t_123_w_from_u },
/*{ 1319, 122, 616, 612, RemoteStorageEnumerateWorkshopFilesResult_t_119_w_from_u },*/
{ 1320, 158, 32, 28, RemoteStorageGetPublishedItemVoteDetailsResult_t_123_w_from_u },
/*{ 1320, 122, 32, 28, RemoteStorageGetPublishedItemVoteDetailsResult_t_119_w_from_u },*/
{ 1324, 158, 16, 12, RemoteStorageUpdateUserPublishedItemVoteResult_t_123_w_from_u },
/*{ 1324, 122, 16, 12, RemoteStorageUpdateUserPublishedItemVoteResult_t_119_w_from_u },*/
{ 1325, 158, 24, 16, RemoteStorageUserVoteDetails_t_123_w_from_u },
/*{ 1325, 122, 24, 16, RemoteStorageUserVoteDetails_t_119_w_from_u },*/
{ 1326, 158, 416, 412, RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123_w_from_u },
/*{ 1326, 122, 416, 412, RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119_w_from_u },*/
{ 1327, 158, 24, 16, RemoteStorageSetUserPublishedFileActionResult_t_123_w_from_u },
/*{ 1327, 122, 24, 16, RemoteStorageSetUserPublishedFileActionResult_t_119_w_from_u },*/
{ 1330, 158, 24, 20, RemoteStoragePublishedFileUpdated_t_w_from_u },
{ 2101, 158, 32, 24, HTTPRequestCompleted_t_132x_w_from_u },
{ 2101, 132, 24, 20, HTTPRequestCompleted_t_123_w_from_u },
/*{ 2101, 122, 24, 20, HTTPRequestCompleted_t_115_w_from_u },*/
{ 2102, 158, 16, 12, HTTPRequestHeadersReceived_t_123_w_from_u },
/*{ 2102, 122, 16, 12, HTTPRequestHeadersReceived_t_121x_w_from_u },*/
{ 2103, 158, 24, 20, HTTPRequestDataReceived_t_123_w_from_u },
/*{ 2103, 122, 24, 20, HTTPRequestDataReceived_t_121x_w_from_u },*/
{ 2803, 158, 40, 32, SteamInputConfigurationLoaded_t_w_from_u },
{ 2804, 158, 32, 24, SteamInputGamepadSlotChange_t_w_from_u },
{ 3402, 158, 9784, 9768, SteamUGCRequestUGCDetailsResult_t_128x_w_from_u },
{ 3402, 129, 9776, 9764, SteamUGCRequestUGCDetailsResult_t_129_w_from_u },
{ 3402, 128, 9768, 9760, SteamUGCRequestUGCDetailsResult_t_126_w_from_u },
{ 3403, 158, 24, 16, CreateItemResult_t_w_from_u },
{ 3405, 158, 16, 12, ItemInstalled_t_w_from_u },
{ 3406, 158, 24, 16, DownloadItemResult_t_w_from_u },
{ 3412, 158, 24, 20, AddUGCDependencyResult_t_w_from_u },
{ 3413, 158, 24, 20, RemoveUGCDependencyResult_t_w_from_u },
{ 3414, 158, 24, 16, AddAppDependencyResult_t_w_from_u },
{ 3415, 158, 24, 16, RemoveAppDependencyResult_t_w_from_u },
{ 3416, 158, 152, 148, GetAppDependenciesResult_t_w_from_u },
{ 3417, 158, 16, 12, DeleteItemResult_t_w_from_u },
{ 4502, 158, 48, 48, HTML_NeedsPaint_t_w_from_u },
{ 4503, 158, 20, 20, HTML_StartRequest_t_w_from_u },
{ 4505, 158, 24, 24, HTML_URLChanged_t_w_from_u },
{ 4506, 158, 12, 12, HTML_FinishedRequest_t_w_from_u },
{ 4507, 158, 8, 8, HTML_OpenLinkInNewTab_t_w_from_u },
{ 4508, 158, 8, 8, HTML_ChangedTitle_t_w_from_u },
{ 4513, 158, 20, 20, HTML_LinkAtPosition_t_w_from_u },
{ 4514, 158, 8, 8, HTML_JSAlert_t_w_from_u },
{ 4515, 158, 8, 8, HTML_JSConfirm_t_w_from_u },
{ 4516, 158, 12, 12, HTML_FileOpenDialog_t_w_from_u },
{ 4517, 132, 16, 16, HTML_ComboNeedsPaint_t_w_from_u },
{ 4521, 158, 28, 28, HTML_NewWindow_t_132x_w_from_u },
{ 4521, 132, 24, 24, HTML_NewWindow_t_130x_w_from_u },
{ 4523, 158, 8, 8, HTML_StatusText_t_w_from_u },
{ 4524, 158, 8, 8, HTML_ShowToolTip_t_w_from_u },
{ 4525, 158, 8, 8, HTML_UpdateToolTip_t_w_from_u },
{ 4704, 158, 24, 20, SteamInventoryStartPurchaseResult_t_w_from_u },
{ 5211, 158, 16, 12, RequestPlayersForGameProgressCallback_t_w_from_u },
{ 5212, 158, 64, 56, RequestPlayersForGameResultCallback_t_w_from_u },
{ 5213, 158, 24, 20, RequestPlayersForGameFinalResultCallback_t_w_from_u },
{ 5214, 158, 24, 20, SubmitPlayerResultResultCallback_t_w_from_u },
{ 5215, 158, 16, 12, EndGameResultCallback_t_w_from_u },
{ 5301, 158, 280, 276, JoinPartyCallback_t_w_from_u },
{ 5302, 158, 16, 12, CreateBeaconCallback_t_w_from_u },
};
#endif
#ifdef __x86_64__
case MAKE_CASE(152, 24): len = 16; break; /* MicroTxnAuthorizationResponse_t_123 */
/* case MAKE_CASE(152, 24): len = 24; break; MicroTxnAuthorizationResponse_t_109 */
case MAKE_CASE(209, 40): len = 32; break; /* GSReputation_t_123 */
/* case MAKE_CASE(209, 40): len = 40; break; GSReputation_t_108 */
case MAKE_CASE(513, 16): len = 12; break; /* LobbyCreated_t_123 */
/* case MAKE_CASE(513, 16): len = 16; break; LobbyCreated_t_099u */
case MAKE_CASE(1023, 40): len = 36; break; /* FileDetailsResult_t */
case MAKE_CASE(1106, 32): len = 28; break; /* LeaderboardScoreUploaded_t_123 */
/* case MAKE_CASE(1106, 32): len = 32; break; LeaderboardScoreUploaded_t_104 */
case MAKE_CASE(1111, 16): len = 12; break; /* LeaderboardUGCSet_t_123 */
/* case MAKE_CASE(1111, 16): len = 16; break; LeaderboardUGCSet_t_111x */
case MAKE_CASE(1112, 24): len = 20; break; /* PS3TrophiesInstalled_t_123 */
/* case MAKE_CASE(1112, 24): len = 24; break; PS3TrophiesInstalled_t_112x */
case MAKE_CASE(1221, 712): len = 704; break; /* SteamNetConnectionStatusChangedCallback_t_153a */
/* case MAKE_CASE(1221, 712): len = 704; break; SteamNetConnectionStatusChangedCallback_t_144 */
case MAKE_CASE(1221, 584): len = 576; break; /* SteamNetConnectionStatusChangedCallback_t_151 */
case MAKE_CASE(1303, 288): len = 280; break; /* RemoteStorageAppSyncProgress_t_123 */
/* case MAKE_CASE(1303, 288): len = 288; break; RemoteStorageAppSyncProgress_t_111x */
case MAKE_CASE(1307, 280): len = 272; break; /* RemoteStorageFileShareResult_t_128x */
case MAKE_CASE(1307, 16): len = 12; break; /* RemoteStorageFileShareResult_t_123 */
/* case MAKE_CASE(1307, 16): len = 16; break; RemoteStorageFileShareResult_t_111x */
case MAKE_CASE(1308, 40): len = 40; break; /* RemoteStorageDownloadUGCResult_t_111x */
case MAKE_CASE(1309, 24): len = 16; break; /* RemoteStoragePublishFileResult_t_125 */
case MAKE_CASE(1309, 16): len = 12; break; /* RemoteStoragePublishFileResult_t_123 */
/* case MAKE_CASE(1309, 16): len = 16; break; RemoteStoragePublishFileResult_t_116x */
case MAKE_CASE(1310, 1744): len = 1744; break; /* RemoteStorageGetPublishedFileDetailsResult_t_116x */
case MAKE_CASE(1311, 16): len = 12; break; /* RemoteStorageDeletePublishedFileResult_t_123 */
/* case MAKE_CASE(1311, 16): len = 16; break; RemoteStorageDeletePublishedFileResult_t_116x */
case MAKE_CASE(1312, 416): len = 412; break; /* RemoteStorageEnumerateUserPublishedFilesResult_t_123 */
/* case MAKE_CASE(1312, 416): len = 416; break; RemoteStorageEnumerateUserPublishedFilesResult_t_116x */
case MAKE_CASE(1313, 16): len = 12; break; /* RemoteStorageSubscribePublishedFileResult_t_123 */
case MAKE_CASE(1313, 4): len = 4; break; /* RemoteStorageSubscribePublishedFileResult_t_116x */
case MAKE_CASE(1314, 616): len = 612; break; /* RemoteStorageEnumerateUserSubscribedFilesResult_t_123 */
/* case MAKE_CASE(1314, 616): len = 616; break; RemoteStorageEnumerateUserSubscribedFilesResult_t_116x */
case MAKE_CASE(1315, 16): len = 12; break; /* RemoteStorageUnsubscribePublishedFileResult_t_123 */
case MAKE_CASE(1315, 4): len = 4; break; /* RemoteStorageUnsubscribePublishedFileResult_t_116x */
case MAKE_CASE(1316, 24): len = 16; break; /* RemoteStorageUpdatePublishedFileResult_t_125 */
case MAKE_CASE(1316, 16): len = 12; break; /* RemoteStorageUpdatePublishedFileResult_t_123 */
/* case MAKE_CASE(1316, 16): len = 16; break; RemoteStorageUpdatePublishedFileResult_t_116x */
case MAKE_CASE(1317, 296): len = 288; break; /* RemoteStorageDownloadUGCResult_t_123 */
/* case MAKE_CASE(1317, 296): len = 296; break; RemoteStorageDownloadUGCResult_t_116x */
case MAKE_CASE(1318, 9760): len = 9748; break; /* RemoteStorageGetPublishedFileDetailsResult_t_126 */
case MAKE_CASE(1318, 9752): len = 9744; break; /* RemoteStorageGetPublishedFileDetailsResult_t_123 */
/* case MAKE_CASE(1318, 9752): len = 9752; break; RemoteStorageGetPublishedFileDetailsResult_t_119x */
/* case MAKE_CASE(1318, 9752): len = 9752; break; RemoteStorageGetPublishedFileDetailsResult_t_119 */
case MAKE_CASE(1318, 9496): len = 9496; break; /* RemoteStorageGetPublishedFileDetailsResult_t_118 */
case MAKE_CASE(1319, 624): len = 620; break; /* RemoteStorageEnumerateWorkshopFilesResult_t_125 */
case MAKE_CASE(1319, 616): len = 612; break; /* RemoteStorageEnumerateWorkshopFilesResult_t_123 */
/* case MAKE_CASE(1319, 616): len = 616; break; RemoteStorageEnumerateWorkshopFilesResult_t_119 */
case MAKE_CASE(1320, 32): len = 28; break; /* RemoteStorageGetPublishedItemVoteDetailsResult_t_123 */
/* case MAKE_CASE(1320, 32): len = 32; break; RemoteStorageGetPublishedItemVoteDetailsResult_t_119 */
case MAKE_CASE(1324, 16): len = 12; break; /* RemoteStorageUpdateUserPublishedItemVoteResult_t_123 */
/* case MAKE_CASE(1324, 16): len = 16; break; RemoteStorageUpdateUserPublishedItemVoteResult_t_119 */
case MAKE_CASE(1325, 24): len = 16; break; /* RemoteStorageUserVoteDetails_t_123 */
/* case MAKE_CASE(1325, 24): len = 24; break; RemoteStorageUserVoteDetails_t_119 */
case MAKE_CASE(1326, 416): len = 412; break; /* RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 */
/* case MAKE_CASE(1326, 416): len = 416; break; RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 */
case MAKE_CASE(1327, 24): len = 16; break; /* RemoteStorageSetUserPublishedFileActionResult_t_123 */
/* case MAKE_CASE(1327, 24): len = 24; break; RemoteStorageSetUserPublishedFileActionResult_t_119 */
case MAKE_CASE(1330, 24): len = 20; break; /* RemoteStoragePublishedFileUpdated_t */
case MAKE_CASE(2101, 32): len = 24; break; /* HTTPRequestCompleted_t_132x */
case MAKE_CASE(2101, 24): len = 20; break; /* HTTPRequestCompleted_t_123 */
/* case MAKE_CASE(2101, 24): len = 24; break; HTTPRequestCompleted_t_115 */
case MAKE_CASE(2102, 16): len = 12; break; /* HTTPRequestHeadersReceived_t_123 */
/* case MAKE_CASE(2102, 16): len = 16; break; HTTPRequestHeadersReceived_t_121x */
case MAKE_CASE(2103, 24): len = 20; break; /* HTTPRequestDataReceived_t_123 */
/* case MAKE_CASE(2103, 24): len = 24; break; HTTPRequestDataReceived_t_121x */
case MAKE_CASE(2803, 40): len = 32; break; /* SteamInputConfigurationLoaded_t */
case MAKE_CASE(2804, 32): len = 24; break; /* SteamInputGamepadSlotChange_t */
case MAKE_CASE(3402, 9784): len = 9768; break; /* SteamUGCRequestUGCDetailsResult_t_128x */
case MAKE_CASE(3402, 9776): len = 9764; break; /* SteamUGCRequestUGCDetailsResult_t_129 */
case MAKE_CASE(3402, 9768): len = 9760; break; /* SteamUGCRequestUGCDetailsResult_t_126 */
case MAKE_CASE(3403, 24): len = 16; break; /* CreateItemResult_t */
case MAKE_CASE(3405, 16): len = 12; break; /* ItemInstalled_t */
case MAKE_CASE(3406, 24): len = 16; break; /* DownloadItemResult_t */
case MAKE_CASE(3412, 24): len = 20; break; /* AddUGCDependencyResult_t */
case MAKE_CASE(3413, 24): len = 20; break; /* RemoveUGCDependencyResult_t */
case MAKE_CASE(3414, 24): len = 16; break; /* AddAppDependencyResult_t */
case MAKE_CASE(3415, 24): len = 16; break; /* RemoveAppDependencyResult_t */
case MAKE_CASE(3416, 152): len = 148; break; /* GetAppDependenciesResult_t */
case MAKE_CASE(3417, 16): len = 12; break; /* DeleteItemResult_t */
case MAKE_CASE(4502, 56): len = 52; break; /* HTML_NeedsPaint_t */
case MAKE_CASE(4503, 40): len = 32; break; /* HTML_StartRequest_t */
case MAKE_CASE(4505, 48): len = 36; break; /* HTML_URLChanged_t */
case MAKE_CASE(4506, 24): len = 20; break; /* HTML_FinishedRequest_t */
case MAKE_CASE(4507, 16): len = 12; break; /* HTML_OpenLinkInNewTab_t */
case MAKE_CASE(4508, 16): len = 12; break; /* HTML_ChangedTitle_t */
case MAKE_CASE(4513, 32): len = 24; break; /* HTML_LinkAtPosition_t */
case MAKE_CASE(4514, 16): len = 12; break; /* HTML_JSAlert_t */
case MAKE_CASE(4515, 16): len = 12; break; /* HTML_JSConfirm_t */
case MAKE_CASE(4516, 24): len = 20; break; /* HTML_FileOpenDialog_t */
case MAKE_CASE(4517, 24): len = 20; break; /* HTML_ComboNeedsPaint_t */
case MAKE_CASE(4521, 40): len = 32; break; /* HTML_NewWindow_t_132x */
case MAKE_CASE(4521, 32): len = 28; break; /* HTML_NewWindow_t_130x */
case MAKE_CASE(4523, 16): len = 12; break; /* HTML_StatusText_t */
case MAKE_CASE(4524, 16): len = 12; break; /* HTML_ShowToolTip_t */
case MAKE_CASE(4525, 16): len = 12; break; /* HTML_UpdateToolTip_t */
case MAKE_CASE(4704, 24): len = 20; break; /* SteamInventoryStartPurchaseResult_t */
case MAKE_CASE(5211, 16): len = 12; break; /* RequestPlayersForGameProgressCallback_t */
case MAKE_CASE(5212, 64): len = 56; break; /* RequestPlayersForGameResultCallback_t */
case MAKE_CASE(5213, 24): len = 20; break; /* RequestPlayersForGameFinalResultCallback_t */
case MAKE_CASE(5214, 24): len = 20; break; /* SubmitPlayerResultResultCallback_t */
case MAKE_CASE(5215, 16): len = 12; break; /* EndGameResultCallback_t */
case MAKE_CASE(5301, 280): len = 276; break; /* JoinPartyCallback_t */
case MAKE_CASE(5302, 16): len = 12; break; /* CreateBeaconCallback_t */
#endif
default: return callback;
}
#undef MAKE_CASE
callback = malloc( len );
*callback_len = len;
return callback;
}
void convert_callback_utow(int id, void *u_callback, int u_callback_len, void *w_callback, int w_callback_len)
const struct callback_def callback_data[] =
{
#define MAKE_CASE(id, wlen, ulen) ((uint64_t)(id) << 48) | ((uint64_t)(wlen) << 24) | (uint64_t)(ulen)
switch (MAKE_CASE(id, w_callback_len, u_callback_len))
{
#ifdef __i386__
case MAKE_CASE(152, 24, 16): *(w_MicroTxnAuthorizationResponse_t_123 *)w_callback = *(u_MicroTxnAuthorizationResponse_t_123 *)u_callback; break;
/* case MAKE_CASE(152, 24, 16): *(w_MicroTxnAuthorizationResponse_t_109 *)w_callback = *(u_MicroTxnAuthorizationResponse_t_109 *)u_callback; break; */
case MAKE_CASE(209, 40, 32): *(w_GSReputation_t_123 *)w_callback = *(u_GSReputation_t_123 *)u_callback; break;
/* case MAKE_CASE(209, 40, 32): *(w_GSReputation_t_108 *)w_callback = *(u_GSReputation_t_108 *)u_callback; break; */
case MAKE_CASE(513, 16, 12): *(w_LobbyCreated_t_123 *)w_callback = *(u_LobbyCreated_t_123 *)u_callback; break;
/* case MAKE_CASE(513, 16, 12): *(w_LobbyCreated_t_099u *)w_callback = *(u_LobbyCreated_t_099u *)u_callback; break; */
case MAKE_CASE(1023, 40, 36): *(w_FileDetailsResult_t *)w_callback = *(u_FileDetailsResult_t *)u_callback; break;
case MAKE_CASE(1106, 32, 28): *(w_LeaderboardScoreUploaded_t_123 *)w_callback = *(u_LeaderboardScoreUploaded_t_123 *)u_callback; break;
/* case MAKE_CASE(1106, 32, 28): *(w_LeaderboardScoreUploaded_t_104 *)w_callback = *(u_LeaderboardScoreUploaded_t_104 *)u_callback; break; */
case MAKE_CASE(1111, 16, 12): *(w_LeaderboardUGCSet_t_123 *)w_callback = *(u_LeaderboardUGCSet_t_123 *)u_callback; break;
/* case MAKE_CASE(1111, 16, 12): *(w_LeaderboardUGCSet_t_111x *)w_callback = *(u_LeaderboardUGCSet_t_111x *)u_callback; break; */
case MAKE_CASE(1112, 24, 20): *(w_PS3TrophiesInstalled_t_123 *)w_callback = *(u_PS3TrophiesInstalled_t_123 *)u_callback; break;
/* case MAKE_CASE(1112, 24, 20): *(w_PS3TrophiesInstalled_t_112x *)w_callback = *(u_PS3TrophiesInstalled_t_112x *)u_callback; break; */
case MAKE_CASE(1221, 712, 704): *(w_SteamNetConnectionStatusChangedCallback_t_153a *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_153a *)u_callback; break;
/* case MAKE_CASE(1221, 712, 704): *(w_SteamNetConnectionStatusChangedCallback_t_144 *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_144 *)u_callback; break; */
case MAKE_CASE(1221, 584, 576): *(w_SteamNetConnectionStatusChangedCallback_t_151 *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_151 *)u_callback; break;
case MAKE_CASE(1303, 288, 280): *(w_RemoteStorageAppSyncProgress_t_123 *)w_callback = *(u_RemoteStorageAppSyncProgress_t_123 *)u_callback; break;
/* case MAKE_CASE(1303, 288, 280): *(w_RemoteStorageAppSyncProgress_t_111x *)w_callback = *(u_RemoteStorageAppSyncProgress_t_111x *)u_callback; break; */
case MAKE_CASE(1307, 280, 272): *(w_RemoteStorageFileShareResult_t_128x *)w_callback = *(u_RemoteStorageFileShareResult_t_128x *)u_callback; break;
case MAKE_CASE(1307, 16, 12): *(w_RemoteStorageFileShareResult_t_123 *)w_callback = *(u_RemoteStorageFileShareResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1307, 16, 12): *(w_RemoteStorageFileShareResult_t_111x *)w_callback = *(u_RemoteStorageFileShareResult_t_111x *)u_callback; break; */
case MAKE_CASE(1308, 40, 32): *(w_RemoteStorageDownloadUGCResult_t_111x *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_111x *)u_callback; break;
case MAKE_CASE(1309, 24, 16): *(w_RemoteStoragePublishFileResult_t_125 *)w_callback = *(u_RemoteStoragePublishFileResult_t_125 *)u_callback; break;
case MAKE_CASE(1309, 16, 12): *(w_RemoteStoragePublishFileResult_t_123 *)w_callback = *(u_RemoteStoragePublishFileResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1309, 16, 12): *(w_RemoteStoragePublishFileResult_t_116x *)w_callback = *(u_RemoteStoragePublishFileResult_t_116x *)u_callback; break; */
case MAKE_CASE(1310, 1744, 1732): *(w_RemoteStorageGetPublishedFileDetailsResult_t_116x *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_116x *)u_callback; break;
case MAKE_CASE(1311, 16, 12): *(w_RemoteStorageDeletePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageDeletePublishedFileResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1311, 16, 12): *(w_RemoteStorageDeletePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageDeletePublishedFileResult_t_116x *)u_callback; break; */
case MAKE_CASE(1312, 416, 412): *(w_RemoteStorageEnumerateUserPublishedFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserPublishedFilesResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1312, 416, 412): *(w_RemoteStorageEnumerateUserPublishedFilesResult_t_116x *)w_callback = *(u_RemoteStorageEnumerateUserPublishedFilesResult_t_116x *)u_callback; break; */
case MAKE_CASE(1313, 16, 12): *(w_RemoteStorageSubscribePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageSubscribePublishedFileResult_t_123 *)u_callback; break;
case MAKE_CASE(1313, 4, 4): *(w_RemoteStorageSubscribePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageSubscribePublishedFileResult_t_116x *)u_callback; break;
case MAKE_CASE(1314, 616, 612): *(w_RemoteStorageEnumerateUserSubscribedFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserSubscribedFilesResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1314, 616, 612): *(w_RemoteStorageEnumerateUserSubscribedFilesResult_t_116x *)w_callback = *(u_RemoteStorageEnumerateUserSubscribedFilesResult_t_116x *)u_callback; break; */
case MAKE_CASE(1315, 16, 12): *(w_RemoteStorageUnsubscribePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageUnsubscribePublishedFileResult_t_123 *)u_callback; break;
case MAKE_CASE(1315, 4, 4): *(w_RemoteStorageUnsubscribePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageUnsubscribePublishedFileResult_t_116x *)u_callback; break;
case MAKE_CASE(1316, 24, 16): *(w_RemoteStorageUpdatePublishedFileResult_t_125 *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_125 *)u_callback; break;
case MAKE_CASE(1316, 16, 12): *(w_RemoteStorageUpdatePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1316, 16, 12): *(w_RemoteStorageUpdatePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_116x *)u_callback; break; */
case MAKE_CASE(1317, 296, 288): *(w_RemoteStorageDownloadUGCResult_t_123 *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1317, 296, 288): *(w_RemoteStorageDownloadUGCResult_t_116x *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_116x *)u_callback; break; */
case MAKE_CASE(1318, 9760, 9748): *(w_RemoteStorageGetPublishedFileDetailsResult_t_126 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_126 *)u_callback; break;
case MAKE_CASE(1318, 9752, 9744): *(w_RemoteStorageGetPublishedFileDetailsResult_t_123 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1318, 9752, 9744): *(w_RemoteStorageGetPublishedFileDetailsResult_t_119x *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_119x *)u_callback; break; */
case MAKE_CASE(1318, 9752, 9740): *(w_RemoteStorageGetPublishedFileDetailsResult_t_119 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_119 *)u_callback; break;
case MAKE_CASE(1318, 9496, 9484): *(w_RemoteStorageGetPublishedFileDetailsResult_t_118 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_118 *)u_callback; break;
case MAKE_CASE(1319, 624, 620): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_125 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_125 *)u_callback; break;
case MAKE_CASE(1319, 616, 612): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1319, 616, 612): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_119 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_119 *)u_callback; break; */
case MAKE_CASE(1320, 32, 28): *(w_RemoteStorageGetPublishedItemVoteDetailsResult_t_123 *)w_callback = *(u_RemoteStorageGetPublishedItemVoteDetailsResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1320, 32, 28): *(w_RemoteStorageGetPublishedItemVoteDetailsResult_t_119 *)w_callback = *(u_RemoteStorageGetPublishedItemVoteDetailsResult_t_119 *)u_callback; break; */
case MAKE_CASE(1324, 16, 12): *(w_RemoteStorageUpdateUserPublishedItemVoteResult_t_123 *)w_callback = *(u_RemoteStorageUpdateUserPublishedItemVoteResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1324, 16, 12): *(w_RemoteStorageUpdateUserPublishedItemVoteResult_t_119 *)w_callback = *(u_RemoteStorageUpdateUserPublishedItemVoteResult_t_119 *)u_callback; break; */
case MAKE_CASE(1325, 24, 16): *(w_RemoteStorageUserVoteDetails_t_123 *)w_callback = *(u_RemoteStorageUserVoteDetails_t_123 *)u_callback; break;
/* case MAKE_CASE(1325, 24, 16): *(w_RemoteStorageUserVoteDetails_t_119 *)w_callback = *(u_RemoteStorageUserVoteDetails_t_119 *)u_callback; break; */
case MAKE_CASE(1326, 416, 412): *(w_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1326, 416, 412): *(w_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 *)w_callback = *(u_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 *)u_callback; break; */
case MAKE_CASE(1327, 24, 16): *(w_RemoteStorageSetUserPublishedFileActionResult_t_123 *)w_callback = *(u_RemoteStorageSetUserPublishedFileActionResult_t_123 *)u_callback; break;
/* case MAKE_CASE(1327, 24, 16): *(w_RemoteStorageSetUserPublishedFileActionResult_t_119 *)w_callback = *(u_RemoteStorageSetUserPublishedFileActionResult_t_119 *)u_callback; break; */
case MAKE_CASE(1330, 24, 20): *(w_RemoteStoragePublishedFileUpdated_t *)w_callback = *(u_RemoteStoragePublishedFileUpdated_t *)u_callback; break;
case MAKE_CASE(2101, 32, 24): *(w_HTTPRequestCompleted_t_132x *)w_callback = *(u_HTTPRequestCompleted_t_132x *)u_callback; break;
case MAKE_CASE(2101, 24, 20): *(w_HTTPRequestCompleted_t_123 *)w_callback = *(u_HTTPRequestCompleted_t_123 *)u_callback; break;
/* case MAKE_CASE(2101, 24, 20): *(w_HTTPRequestCompleted_t_115 *)w_callback = *(u_HTTPRequestCompleted_t_115 *)u_callback; break; */
case MAKE_CASE(2102, 16, 12): *(w_HTTPRequestHeadersReceived_t_123 *)w_callback = *(u_HTTPRequestHeadersReceived_t_123 *)u_callback; break;
/* case MAKE_CASE(2102, 16, 12): *(w_HTTPRequestHeadersReceived_t_121x *)w_callback = *(u_HTTPRequestHeadersReceived_t_121x *)u_callback; break; */
case MAKE_CASE(2103, 24, 20): *(w_HTTPRequestDataReceived_t_123 *)w_callback = *(u_HTTPRequestDataReceived_t_123 *)u_callback; break;
/* case MAKE_CASE(2103, 24, 20): *(w_HTTPRequestDataReceived_t_121x *)w_callback = *(u_HTTPRequestDataReceived_t_121x *)u_callback; break; */
case MAKE_CASE(2803, 40, 32): *(w_SteamInputConfigurationLoaded_t *)w_callback = *(u_SteamInputConfigurationLoaded_t *)u_callback; break;
case MAKE_CASE(2804, 32, 24): *(w_SteamInputGamepadSlotChange_t *)w_callback = *(u_SteamInputGamepadSlotChange_t *)u_callback; break;
case MAKE_CASE(3402, 9784, 9768): *(w_SteamUGCRequestUGCDetailsResult_t_128x *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_128x *)u_callback; break;
case MAKE_CASE(3402, 9776, 9764): *(w_SteamUGCRequestUGCDetailsResult_t_129 *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_129 *)u_callback; break;
case MAKE_CASE(3402, 9768, 9760): *(w_SteamUGCRequestUGCDetailsResult_t_126 *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_126 *)u_callback; break;
case MAKE_CASE(3403, 24, 16): *(w_CreateItemResult_t *)w_callback = *(u_CreateItemResult_t *)u_callback; break;
case MAKE_CASE(3405, 16, 12): *(w_ItemInstalled_t *)w_callback = *(u_ItemInstalled_t *)u_callback; break;
case MAKE_CASE(3406, 24, 16): *(w_DownloadItemResult_t *)w_callback = *(u_DownloadItemResult_t *)u_callback; break;
case MAKE_CASE(3412, 24, 20): *(w_AddUGCDependencyResult_t *)w_callback = *(u_AddUGCDependencyResult_t *)u_callback; break;
case MAKE_CASE(3413, 24, 20): *(w_RemoveUGCDependencyResult_t *)w_callback = *(u_RemoveUGCDependencyResult_t *)u_callback; break;
case MAKE_CASE(3414, 24, 16): *(w_AddAppDependencyResult_t *)w_callback = *(u_AddAppDependencyResult_t *)u_callback; break;
case MAKE_CASE(3415, 24, 16): *(w_RemoveAppDependencyResult_t *)w_callback = *(u_RemoveAppDependencyResult_t *)u_callback; break;
case MAKE_CASE(3416, 152, 148): *(w_GetAppDependenciesResult_t *)w_callback = *(u_GetAppDependenciesResult_t *)u_callback; break;
case MAKE_CASE(3417, 16, 12): *(w_DeleteItemResult_t *)w_callback = *(u_DeleteItemResult_t *)u_callback; break;
case MAKE_CASE(4502, 48, 48): *(w_HTML_NeedsPaint_t *)w_callback = *(u_HTML_NeedsPaint_t *)u_callback; break;
case MAKE_CASE(4503, 20, 20): *(w_HTML_StartRequest_t *)w_callback = *(u_HTML_StartRequest_t *)u_callback; break;
case MAKE_CASE(4505, 24, 24): *(w_HTML_URLChanged_t *)w_callback = *(u_HTML_URLChanged_t *)u_callback; break;
case MAKE_CASE(4506, 12, 12): *(w_HTML_FinishedRequest_t *)w_callback = *(u_HTML_FinishedRequest_t *)u_callback; break;
case MAKE_CASE(4507, 8, 8): *(w_HTML_OpenLinkInNewTab_t *)w_callback = *(u_HTML_OpenLinkInNewTab_t *)u_callback; break;
case MAKE_CASE(4508, 8, 8): *(w_HTML_ChangedTitle_t *)w_callback = *(u_HTML_ChangedTitle_t *)u_callback; break;
case MAKE_CASE(4513, 20, 20): *(w_HTML_LinkAtPosition_t *)w_callback = *(u_HTML_LinkAtPosition_t *)u_callback; break;
case MAKE_CASE(4514, 8, 8): *(w_HTML_JSAlert_t *)w_callback = *(u_HTML_JSAlert_t *)u_callback; break;
case MAKE_CASE(4515, 8, 8): *(w_HTML_JSConfirm_t *)w_callback = *(u_HTML_JSConfirm_t *)u_callback; break;
case MAKE_CASE(4516, 12, 12): *(w_HTML_FileOpenDialog_t *)w_callback = *(u_HTML_FileOpenDialog_t *)u_callback; break;
case MAKE_CASE(4517, 16, 16): *(w_HTML_ComboNeedsPaint_t *)w_callback = *(u_HTML_ComboNeedsPaint_t *)u_callback; break;
case MAKE_CASE(4521, 28, 28): *(w_HTML_NewWindow_t_132x *)w_callback = *(u_HTML_NewWindow_t_132x *)u_callback; break;
case MAKE_CASE(4521, 24, 24): *(w_HTML_NewWindow_t_130x *)w_callback = *(u_HTML_NewWindow_t_130x *)u_callback; break;
case MAKE_CASE(4523, 8, 8): *(w_HTML_StatusText_t *)w_callback = *(u_HTML_StatusText_t *)u_callback; break;
case MAKE_CASE(4524, 8, 8): *(w_HTML_ShowToolTip_t *)w_callback = *(u_HTML_ShowToolTip_t *)u_callback; break;
case MAKE_CASE(4525, 8, 8): *(w_HTML_UpdateToolTip_t *)w_callback = *(u_HTML_UpdateToolTip_t *)u_callback; break;
case MAKE_CASE(4704, 24, 20): *(w_SteamInventoryStartPurchaseResult_t *)w_callback = *(u_SteamInventoryStartPurchaseResult_t *)u_callback; break;
case MAKE_CASE(5211, 16, 12): *(w_RequestPlayersForGameProgressCallback_t *)w_callback = *(u_RequestPlayersForGameProgressCallback_t *)u_callback; break;
case MAKE_CASE(5212, 64, 56): *(w_RequestPlayersForGameResultCallback_t *)w_callback = *(u_RequestPlayersForGameResultCallback_t *)u_callback; break;
case MAKE_CASE(5213, 24, 20): *(w_RequestPlayersForGameFinalResultCallback_t *)w_callback = *(u_RequestPlayersForGameFinalResultCallback_t *)u_callback; break;
case MAKE_CASE(5214, 24, 20): *(w_SubmitPlayerResultResultCallback_t *)w_callback = *(u_SubmitPlayerResultResultCallback_t *)u_callback; break;
case MAKE_CASE(5215, 16, 12): *(w_EndGameResultCallback_t *)w_callback = *(u_EndGameResultCallback_t *)u_callback; break;
case MAKE_CASE(5301, 280, 276): *(w_JoinPartyCallback_t *)w_callback = *(u_JoinPartyCallback_t *)u_callback; break;
case MAKE_CASE(5302, 16, 12): *(w_CreateBeaconCallback_t *)w_callback = *(u_CreateBeaconCallback_t *)u_callback; break;
{ 152, 158, 24, 16, MicroTxnAuthorizationResponse_t_123_w_from_u },
{ 152, 122, 24, 24, MicroTxnAuthorizationResponse_t_109_w_from_u },
{ 209, 158, 40, 32, GSReputation_t_123_w_from_u },
{ 209, 122, 40, 40, GSReputation_t_108_w_from_u },
{ 513, 158, 16, 12, LobbyCreated_t_123_w_from_u },
{ 513, 122, 16, 16, LobbyCreated_t_099u_w_from_u },
{ 1023, 158, 40, 36, FileDetailsResult_t_w_from_u },
{ 1106, 158, 32, 28, LeaderboardScoreUploaded_t_123_w_from_u },
{ 1106, 122, 32, 32, LeaderboardScoreUploaded_t_104_w_from_u },
{ 1111, 158, 16, 12, LeaderboardUGCSet_t_123_w_from_u },
{ 1111, 122, 16, 16, LeaderboardUGCSet_t_111x_w_from_u },
{ 1112, 158, 24, 20, PS3TrophiesInstalled_t_123_w_from_u },
{ 1112, 122, 24, 24, PS3TrophiesInstalled_t_112x_w_from_u },
{ 1221, 158, 712, 704, SteamNetConnectionStatusChangedCallback_t_153a_w_from_u },
/*{ 1221, 152, 712, 704, SteamNetConnectionStatusChangedCallback_t_144_w_from_u },*/
{ 1221, 151, 584, 576, SteamNetConnectionStatusChangedCallback_t_151_w_from_u },
{ 1303, 151, 288, 280, RemoteStorageAppSyncProgress_t_123_w_from_u },
{ 1303, 122, 288, 288, RemoteStorageAppSyncProgress_t_111x_w_from_u },
{ 1307, 158, 280, 272, RemoteStorageFileShareResult_t_128x_w_from_u },
{ 1307, 128, 16, 12, RemoteStorageFileShareResult_t_123_w_from_u },
{ 1307, 122, 16, 16, RemoteStorageFileShareResult_t_111x_w_from_u },
{ 1308, 116, 40, 40, RemoteStorageDownloadUGCResult_t_111x_w_from_u },
{ 1309, 158, 24, 16, RemoteStoragePublishFileResult_t_125_w_from_u },
{ 1309, 124, 16, 12, RemoteStoragePublishFileResult_t_123_w_from_u },
{ 1309, 122, 16, 16, RemoteStoragePublishFileResult_t_116x_w_from_u },
{ 1310, 117, 1744, 1744, RemoteStorageGetPublishedFileDetailsResult_t_116x_w_from_u },
{ 1311, 158, 16, 12, RemoteStorageDeletePublishedFileResult_t_123_w_from_u },
{ 1311, 122, 16, 16, RemoteStorageDeletePublishedFileResult_t_116x_w_from_u },
{ 1312, 158, 416, 412, RemoteStorageEnumerateUserPublishedFilesResult_t_123_w_from_u },
{ 1312, 122, 416, 416, RemoteStorageEnumerateUserPublishedFilesResult_t_116x_w_from_u },
{ 1313, 158, 16, 12, RemoteStorageSubscribePublishedFileResult_t_123_w_from_u },
{ 1313, 122, 4, 4, nullptr },
{ 1314, 158, 616, 612, RemoteStorageEnumerateUserSubscribedFilesResult_t_123_w_from_u },
{ 1314, 122, 616, 616, RemoteStorageEnumerateUserSubscribedFilesResult_t_116x_w_from_u },
{ 1315, 158, 16, 12, RemoteStorageUnsubscribePublishedFileResult_t_123_w_from_u },
{ 1315, 122, 4, 4, nullptr },
{ 1316, 158, 24, 16, RemoteStorageUpdatePublishedFileResult_t_125_w_from_u },
{ 1316, 124, 16, 12, RemoteStorageUpdatePublishedFileResult_t_123_w_from_u },
{ 1316, 122, 16, 16, RemoteStorageUpdatePublishedFileResult_t_116x_w_from_u },
{ 1317, 158, 296, 288, RemoteStorageDownloadUGCResult_t_123_w_from_u },
{ 1317, 122, 296, 296, RemoteStorageDownloadUGCResult_t_116x_w_from_u },
{ 1318, 158, 9760, 9748, RemoteStorageGetPublishedFileDetailsResult_t_126_w_from_u },
{ 1318, 125, 9752, 9744, RemoteStorageGetPublishedFileDetailsResult_t_123_w_from_u },
{ 1318, 122, 9752, 9752, RemoteStorageGetPublishedFileDetailsResult_t_119x_w_from_u },
/*{ 1318, 119, 9752, 9752, RemoteStorageGetPublishedFileDetailsResult_t_119_w_from_u },*/
{ 1318, 118, 9496, 9496, RemoteStorageGetPublishedFileDetailsResult_t_118_w_from_u },
{ 1319, 158, 624, 620, RemoteStorageEnumerateWorkshopFilesResult_t_125_w_from_u },
{ 1319, 124, 616, 612, RemoteStorageEnumerateWorkshopFilesResult_t_123_w_from_u },
{ 1319, 122, 616, 616, RemoteStorageEnumerateWorkshopFilesResult_t_119_w_from_u },
{ 1320, 158, 32, 28, RemoteStorageGetPublishedItemVoteDetailsResult_t_123_w_from_u },
{ 1320, 122, 32, 32, RemoteStorageGetPublishedItemVoteDetailsResult_t_119_w_from_u },
{ 1324, 158, 16, 12, RemoteStorageUpdateUserPublishedItemVoteResult_t_123_w_from_u },
{ 1324, 122, 16, 16, RemoteStorageUpdateUserPublishedItemVoteResult_t_119_w_from_u },
{ 1325, 158, 24, 16, RemoteStorageUserVoteDetails_t_123_w_from_u },
{ 1325, 122, 24, 24, RemoteStorageUserVoteDetails_t_119_w_from_u },
{ 1326, 158, 416, 412, RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123_w_from_u },
{ 1326, 122, 416, 416, RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119_w_from_u },
{ 1327, 158, 24, 16, RemoteStorageSetUserPublishedFileActionResult_t_123_w_from_u },
{ 1327, 122, 24, 24, RemoteStorageSetUserPublishedFileActionResult_t_119_w_from_u },
{ 1330, 158, 24, 20, RemoteStoragePublishedFileUpdated_t_w_from_u },
{ 2101, 158, 32, 24, HTTPRequestCompleted_t_132x_w_from_u },
{ 2101, 132, 24, 20, HTTPRequestCompleted_t_123_w_from_u },
{ 2101, 122, 24, 24, HTTPRequestCompleted_t_115_w_from_u },
{ 2102, 158, 16, 12, HTTPRequestHeadersReceived_t_123_w_from_u },
{ 2102, 122, 16, 16, HTTPRequestHeadersReceived_t_121x_w_from_u },
{ 2103, 158, 24, 20, HTTPRequestDataReceived_t_123_w_from_u },
{ 2103, 122, 24, 24, HTTPRequestDataReceived_t_121x_w_from_u },
{ 2803, 158, 40, 32, SteamInputConfigurationLoaded_t_w_from_u },
{ 2804, 158, 32, 24, SteamInputGamepadSlotChange_t_w_from_u },
{ 3402, 158, 9784, 9768, SteamUGCRequestUGCDetailsResult_t_128x_w_from_u },
{ 3402, 129, 9776, 9764, SteamUGCRequestUGCDetailsResult_t_129_w_from_u },
{ 3402, 128, 9768, 9760, SteamUGCRequestUGCDetailsResult_t_126_w_from_u },
{ 3403, 158, 24, 16, CreateItemResult_t_w_from_u },
{ 3405, 158, 16, 12, ItemInstalled_t_w_from_u },
{ 3406, 158, 24, 16, DownloadItemResult_t_w_from_u },
{ 3412, 158, 24, 20, AddUGCDependencyResult_t_w_from_u },
{ 3413, 158, 24, 20, RemoveUGCDependencyResult_t_w_from_u },
{ 3414, 158, 24, 16, AddAppDependencyResult_t_w_from_u },
{ 3415, 158, 24, 16, RemoveAppDependencyResult_t_w_from_u },
{ 3416, 158, 152, 148, GetAppDependenciesResult_t_w_from_u },
{ 3417, 158, 16, 12, DeleteItemResult_t_w_from_u },
{ 4502, 158, 56, 52, HTML_NeedsPaint_t_w_from_u },
{ 4503, 158, 40, 32, HTML_StartRequest_t_w_from_u },
{ 4505, 158, 48, 36, HTML_URLChanged_t_w_from_u },
{ 4506, 158, 24, 20, HTML_FinishedRequest_t_w_from_u },
{ 4507, 158, 16, 12, HTML_OpenLinkInNewTab_t_w_from_u },
{ 4508, 158, 16, 12, HTML_ChangedTitle_t_w_from_u },
{ 4513, 158, 32, 24, HTML_LinkAtPosition_t_w_from_u },
{ 4514, 158, 16, 12, HTML_JSAlert_t_w_from_u },
{ 4515, 158, 16, 12, HTML_JSConfirm_t_w_from_u },
{ 4516, 158, 24, 20, HTML_FileOpenDialog_t_w_from_u },
{ 4517, 132, 24, 20, HTML_ComboNeedsPaint_t_w_from_u },
{ 4521, 158, 40, 32, HTML_NewWindow_t_132x_w_from_u },
{ 4521, 132, 32, 28, HTML_NewWindow_t_130x_w_from_u },
{ 4523, 158, 16, 12, HTML_StatusText_t_w_from_u },
{ 4524, 158, 16, 12, HTML_ShowToolTip_t_w_from_u },
{ 4525, 158, 16, 12, HTML_UpdateToolTip_t_w_from_u },
{ 4704, 158, 24, 20, SteamInventoryStartPurchaseResult_t_w_from_u },
{ 5211, 158, 16, 12, RequestPlayersForGameProgressCallback_t_w_from_u },
{ 5212, 158, 64, 56, RequestPlayersForGameResultCallback_t_w_from_u },
{ 5213, 158, 24, 20, RequestPlayersForGameFinalResultCallback_t_w_from_u },
{ 5214, 158, 24, 20, SubmitPlayerResultResultCallback_t_w_from_u },
{ 5215, 158, 16, 12, EndGameResultCallback_t_w_from_u },
{ 5301, 158, 280, 276, JoinPartyCallback_t_w_from_u },
{ 5302, 158, 16, 12, CreateBeaconCallback_t_w_from_u },
};
#endif
#ifdef __x86_64__
case MAKE_CASE(152, 24, 16): *(w_MicroTxnAuthorizationResponse_t_123 *)w_callback = *(u_MicroTxnAuthorizationResponse_t_123 *)u_callback; break;
case MAKE_CASE(152, 24, 24): *(w_MicroTxnAuthorizationResponse_t_109 *)w_callback = *(u_MicroTxnAuthorizationResponse_t_109 *)u_callback; break;
case MAKE_CASE(209, 40, 32): *(w_GSReputation_t_123 *)w_callback = *(u_GSReputation_t_123 *)u_callback; break;
case MAKE_CASE(209, 40, 40): *(w_GSReputation_t_108 *)w_callback = *(u_GSReputation_t_108 *)u_callback; break;
case MAKE_CASE(513, 16, 12): *(w_LobbyCreated_t_123 *)w_callback = *(u_LobbyCreated_t_123 *)u_callback; break;
case MAKE_CASE(513, 16, 16): *(w_LobbyCreated_t_099u *)w_callback = *(u_LobbyCreated_t_099u *)u_callback; break;
case MAKE_CASE(1023, 40, 36): *(w_FileDetailsResult_t *)w_callback = *(u_FileDetailsResult_t *)u_callback; break;
case MAKE_CASE(1106, 32, 28): *(w_LeaderboardScoreUploaded_t_123 *)w_callback = *(u_LeaderboardScoreUploaded_t_123 *)u_callback; break;
case MAKE_CASE(1106, 32, 32): *(w_LeaderboardScoreUploaded_t_104 *)w_callback = *(u_LeaderboardScoreUploaded_t_104 *)u_callback; break;
case MAKE_CASE(1111, 16, 12): *(w_LeaderboardUGCSet_t_123 *)w_callback = *(u_LeaderboardUGCSet_t_123 *)u_callback; break;
case MAKE_CASE(1111, 16, 16): *(w_LeaderboardUGCSet_t_111x *)w_callback = *(u_LeaderboardUGCSet_t_111x *)u_callback; break;
case MAKE_CASE(1112, 24, 20): *(w_PS3TrophiesInstalled_t_123 *)w_callback = *(u_PS3TrophiesInstalled_t_123 *)u_callback; break;
case MAKE_CASE(1112, 24, 24): *(w_PS3TrophiesInstalled_t_112x *)w_callback = *(u_PS3TrophiesInstalled_t_112x *)u_callback; break;
case MAKE_CASE(1221, 712, 704): *(w_SteamNetConnectionStatusChangedCallback_t_153a *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_153a *)u_callback; break;
/* case MAKE_CASE(1221, 712, 704): *(w_SteamNetConnectionStatusChangedCallback_t_144 *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_144 *)u_callback; break; */
case MAKE_CASE(1221, 584, 576): *(w_SteamNetConnectionStatusChangedCallback_t_151 *)w_callback = *(u_SteamNetConnectionStatusChangedCallback_t_151 *)u_callback; break;
case MAKE_CASE(1303, 288, 280): *(w_RemoteStorageAppSyncProgress_t_123 *)w_callback = *(u_RemoteStorageAppSyncProgress_t_123 *)u_callback; break;
case MAKE_CASE(1303, 288, 288): *(w_RemoteStorageAppSyncProgress_t_111x *)w_callback = *(u_RemoteStorageAppSyncProgress_t_111x *)u_callback; break;
case MAKE_CASE(1307, 280, 272): *(w_RemoteStorageFileShareResult_t_128x *)w_callback = *(u_RemoteStorageFileShareResult_t_128x *)u_callback; break;
case MAKE_CASE(1307, 16, 12): *(w_RemoteStorageFileShareResult_t_123 *)w_callback = *(u_RemoteStorageFileShareResult_t_123 *)u_callback; break;
case MAKE_CASE(1307, 16, 16): *(w_RemoteStorageFileShareResult_t_111x *)w_callback = *(u_RemoteStorageFileShareResult_t_111x *)u_callback; break;
case MAKE_CASE(1308, 40, 40): *(w_RemoteStorageDownloadUGCResult_t_111x *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_111x *)u_callback; break;
case MAKE_CASE(1309, 24, 16): *(w_RemoteStoragePublishFileResult_t_125 *)w_callback = *(u_RemoteStoragePublishFileResult_t_125 *)u_callback; break;
case MAKE_CASE(1309, 16, 12): *(w_RemoteStoragePublishFileResult_t_123 *)w_callback = *(u_RemoteStoragePublishFileResult_t_123 *)u_callback; break;
case MAKE_CASE(1309, 16, 16): *(w_RemoteStoragePublishFileResult_t_116x *)w_callback = *(u_RemoteStoragePublishFileResult_t_116x *)u_callback; break;
case MAKE_CASE(1310, 1744, 1744): *(w_RemoteStorageGetPublishedFileDetailsResult_t_116x *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_116x *)u_callback; break;
case MAKE_CASE(1311, 16, 12): *(w_RemoteStorageDeletePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageDeletePublishedFileResult_t_123 *)u_callback; break;
case MAKE_CASE(1311, 16, 16): *(w_RemoteStorageDeletePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageDeletePublishedFileResult_t_116x *)u_callback; break;
case MAKE_CASE(1312, 416, 412): *(w_RemoteStorageEnumerateUserPublishedFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserPublishedFilesResult_t_123 *)u_callback; break;
case MAKE_CASE(1312, 416, 416): *(w_RemoteStorageEnumerateUserPublishedFilesResult_t_116x *)w_callback = *(u_RemoteStorageEnumerateUserPublishedFilesResult_t_116x *)u_callback; break;
case MAKE_CASE(1313, 16, 12): *(w_RemoteStorageSubscribePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageSubscribePublishedFileResult_t_123 *)u_callback; break;
case MAKE_CASE(1313, 4, 4): *(w_RemoteStorageSubscribePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageSubscribePublishedFileResult_t_116x *)u_callback; break;
case MAKE_CASE(1314, 616, 612): *(w_RemoteStorageEnumerateUserSubscribedFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserSubscribedFilesResult_t_123 *)u_callback; break;
case MAKE_CASE(1314, 616, 616): *(w_RemoteStorageEnumerateUserSubscribedFilesResult_t_116x *)w_callback = *(u_RemoteStorageEnumerateUserSubscribedFilesResult_t_116x *)u_callback; break;
case MAKE_CASE(1315, 16, 12): *(w_RemoteStorageUnsubscribePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageUnsubscribePublishedFileResult_t_123 *)u_callback; break;
case MAKE_CASE(1315, 4, 4): *(w_RemoteStorageUnsubscribePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageUnsubscribePublishedFileResult_t_116x *)u_callback; break;
case MAKE_CASE(1316, 24, 16): *(w_RemoteStorageUpdatePublishedFileResult_t_125 *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_125 *)u_callback; break;
case MAKE_CASE(1316, 16, 12): *(w_RemoteStorageUpdatePublishedFileResult_t_123 *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_123 *)u_callback; break;
case MAKE_CASE(1316, 16, 16): *(w_RemoteStorageUpdatePublishedFileResult_t_116x *)w_callback = *(u_RemoteStorageUpdatePublishedFileResult_t_116x *)u_callback; break;
case MAKE_CASE(1317, 296, 288): *(w_RemoteStorageDownloadUGCResult_t_123 *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_123 *)u_callback; break;
case MAKE_CASE(1317, 296, 296): *(w_RemoteStorageDownloadUGCResult_t_116x *)w_callback = *(u_RemoteStorageDownloadUGCResult_t_116x *)u_callback; break;
case MAKE_CASE(1318, 9760, 9748): *(w_RemoteStorageGetPublishedFileDetailsResult_t_126 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_126 *)u_callback; break;
case MAKE_CASE(1318, 9752, 9744): *(w_RemoteStorageGetPublishedFileDetailsResult_t_123 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_123 *)u_callback; break;
case MAKE_CASE(1318, 9752, 9752): *(w_RemoteStorageGetPublishedFileDetailsResult_t_119x *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_119x *)u_callback; break;
/* case MAKE_CASE(1318, 9752, 9752): *(w_RemoteStorageGetPublishedFileDetailsResult_t_119 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_119 *)u_callback; break; */
case MAKE_CASE(1318, 9496, 9496): *(w_RemoteStorageGetPublishedFileDetailsResult_t_118 *)w_callback = *(u_RemoteStorageGetPublishedFileDetailsResult_t_118 *)u_callback; break;
case MAKE_CASE(1319, 624, 620): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_125 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_125 *)u_callback; break;
case MAKE_CASE(1319, 616, 612): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_123 *)u_callback; break;
case MAKE_CASE(1319, 616, 616): *(w_RemoteStorageEnumerateWorkshopFilesResult_t_119 *)w_callback = *(u_RemoteStorageEnumerateWorkshopFilesResult_t_119 *)u_callback; break;
case MAKE_CASE(1320, 32, 28): *(w_RemoteStorageGetPublishedItemVoteDetailsResult_t_123 *)w_callback = *(u_RemoteStorageGetPublishedItemVoteDetailsResult_t_123 *)u_callback; break;
case MAKE_CASE(1320, 32, 32): *(w_RemoteStorageGetPublishedItemVoteDetailsResult_t_119 *)w_callback = *(u_RemoteStorageGetPublishedItemVoteDetailsResult_t_119 *)u_callback; break;
case MAKE_CASE(1324, 16, 12): *(w_RemoteStorageUpdateUserPublishedItemVoteResult_t_123 *)w_callback = *(u_RemoteStorageUpdateUserPublishedItemVoteResult_t_123 *)u_callback; break;
case MAKE_CASE(1324, 16, 16): *(w_RemoteStorageUpdateUserPublishedItemVoteResult_t_119 *)w_callback = *(u_RemoteStorageUpdateUserPublishedItemVoteResult_t_119 *)u_callback; break;
case MAKE_CASE(1325, 24, 16): *(w_RemoteStorageUserVoteDetails_t_123 *)w_callback = *(u_RemoteStorageUserVoteDetails_t_123 *)u_callback; break;
case MAKE_CASE(1325, 24, 24): *(w_RemoteStorageUserVoteDetails_t_119 *)w_callback = *(u_RemoteStorageUserVoteDetails_t_119 *)u_callback; break;
case MAKE_CASE(1326, 416, 412): *(w_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 *)w_callback = *(u_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_123 *)u_callback; break;
case MAKE_CASE(1326, 416, 416): *(w_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 *)w_callback = *(u_RemoteStorageEnumerateUserSharedWorkshopFilesResult_t_119 *)u_callback; break;
case MAKE_CASE(1327, 24, 16): *(w_RemoteStorageSetUserPublishedFileActionResult_t_123 *)w_callback = *(u_RemoteStorageSetUserPublishedFileActionResult_t_123 *)u_callback; break;
case MAKE_CASE(1327, 24, 24): *(w_RemoteStorageSetUserPublishedFileActionResult_t_119 *)w_callback = *(u_RemoteStorageSetUserPublishedFileActionResult_t_119 *)u_callback; break;
case MAKE_CASE(1330, 24, 20): *(w_RemoteStoragePublishedFileUpdated_t *)w_callback = *(u_RemoteStoragePublishedFileUpdated_t *)u_callback; break;
case MAKE_CASE(2101, 32, 24): *(w_HTTPRequestCompleted_t_132x *)w_callback = *(u_HTTPRequestCompleted_t_132x *)u_callback; break;
case MAKE_CASE(2101, 24, 20): *(w_HTTPRequestCompleted_t_123 *)w_callback = *(u_HTTPRequestCompleted_t_123 *)u_callback; break;
case MAKE_CASE(2101, 24, 24): *(w_HTTPRequestCompleted_t_115 *)w_callback = *(u_HTTPRequestCompleted_t_115 *)u_callback; break;
case MAKE_CASE(2102, 16, 12): *(w_HTTPRequestHeadersReceived_t_123 *)w_callback = *(u_HTTPRequestHeadersReceived_t_123 *)u_callback; break;
case MAKE_CASE(2102, 16, 16): *(w_HTTPRequestHeadersReceived_t_121x *)w_callback = *(u_HTTPRequestHeadersReceived_t_121x *)u_callback; break;
case MAKE_CASE(2103, 24, 20): *(w_HTTPRequestDataReceived_t_123 *)w_callback = *(u_HTTPRequestDataReceived_t_123 *)u_callback; break;
case MAKE_CASE(2103, 24, 24): *(w_HTTPRequestDataReceived_t_121x *)w_callback = *(u_HTTPRequestDataReceived_t_121x *)u_callback; break;
case MAKE_CASE(2803, 40, 32): *(w_SteamInputConfigurationLoaded_t *)w_callback = *(u_SteamInputConfigurationLoaded_t *)u_callback; break;
case MAKE_CASE(2804, 32, 24): *(w_SteamInputGamepadSlotChange_t *)w_callback = *(u_SteamInputGamepadSlotChange_t *)u_callback; break;
case MAKE_CASE(3402, 9784, 9768): *(w_SteamUGCRequestUGCDetailsResult_t_128x *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_128x *)u_callback; break;
case MAKE_CASE(3402, 9776, 9764): *(w_SteamUGCRequestUGCDetailsResult_t_129 *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_129 *)u_callback; break;
case MAKE_CASE(3402, 9768, 9760): *(w_SteamUGCRequestUGCDetailsResult_t_126 *)w_callback = *(u_SteamUGCRequestUGCDetailsResult_t_126 *)u_callback; break;
case MAKE_CASE(3403, 24, 16): *(w_CreateItemResult_t *)w_callback = *(u_CreateItemResult_t *)u_callback; break;
case MAKE_CASE(3405, 16, 12): *(w_ItemInstalled_t *)w_callback = *(u_ItemInstalled_t *)u_callback; break;
case MAKE_CASE(3406, 24, 16): *(w_DownloadItemResult_t *)w_callback = *(u_DownloadItemResult_t *)u_callback; break;
case MAKE_CASE(3412, 24, 20): *(w_AddUGCDependencyResult_t *)w_callback = *(u_AddUGCDependencyResult_t *)u_callback; break;
case MAKE_CASE(3413, 24, 20): *(w_RemoveUGCDependencyResult_t *)w_callback = *(u_RemoveUGCDependencyResult_t *)u_callback; break;
case MAKE_CASE(3414, 24, 16): *(w_AddAppDependencyResult_t *)w_callback = *(u_AddAppDependencyResult_t *)u_callback; break;
case MAKE_CASE(3415, 24, 16): *(w_RemoveAppDependencyResult_t *)w_callback = *(u_RemoveAppDependencyResult_t *)u_callback; break;
case MAKE_CASE(3416, 152, 148): *(w_GetAppDependenciesResult_t *)w_callback = *(u_GetAppDependenciesResult_t *)u_callback; break;
case MAKE_CASE(3417, 16, 12): *(w_DeleteItemResult_t *)w_callback = *(u_DeleteItemResult_t *)u_callback; break;
case MAKE_CASE(4502, 56, 52): *(w_HTML_NeedsPaint_t *)w_callback = *(u_HTML_NeedsPaint_t *)u_callback; break;
case MAKE_CASE(4503, 40, 32): *(w_HTML_StartRequest_t *)w_callback = *(u_HTML_StartRequest_t *)u_callback; break;
case MAKE_CASE(4505, 48, 36): *(w_HTML_URLChanged_t *)w_callback = *(u_HTML_URLChanged_t *)u_callback; break;
case MAKE_CASE(4506, 24, 20): *(w_HTML_FinishedRequest_t *)w_callback = *(u_HTML_FinishedRequest_t *)u_callback; break;
case MAKE_CASE(4507, 16, 12): *(w_HTML_OpenLinkInNewTab_t *)w_callback = *(u_HTML_OpenLinkInNewTab_t *)u_callback; break;
case MAKE_CASE(4508, 16, 12): *(w_HTML_ChangedTitle_t *)w_callback = *(u_HTML_ChangedTitle_t *)u_callback; break;
case MAKE_CASE(4513, 32, 24): *(w_HTML_LinkAtPosition_t *)w_callback = *(u_HTML_LinkAtPosition_t *)u_callback; break;
case MAKE_CASE(4514, 16, 12): *(w_HTML_JSAlert_t *)w_callback = *(u_HTML_JSAlert_t *)u_callback; break;
case MAKE_CASE(4515, 16, 12): *(w_HTML_JSConfirm_t *)w_callback = *(u_HTML_JSConfirm_t *)u_callback; break;
case MAKE_CASE(4516, 24, 20): *(w_HTML_FileOpenDialog_t *)w_callback = *(u_HTML_FileOpenDialog_t *)u_callback; break;
case MAKE_CASE(4517, 24, 20): *(w_HTML_ComboNeedsPaint_t *)w_callback = *(u_HTML_ComboNeedsPaint_t *)u_callback; break;
case MAKE_CASE(4521, 40, 32): *(w_HTML_NewWindow_t_132x *)w_callback = *(u_HTML_NewWindow_t_132x *)u_callback; break;
case MAKE_CASE(4521, 32, 28): *(w_HTML_NewWindow_t_130x *)w_callback = *(u_HTML_NewWindow_t_130x *)u_callback; break;
case MAKE_CASE(4523, 16, 12): *(w_HTML_StatusText_t *)w_callback = *(u_HTML_StatusText_t *)u_callback; break;
case MAKE_CASE(4524, 16, 12): *(w_HTML_ShowToolTip_t *)w_callback = *(u_HTML_ShowToolTip_t *)u_callback; break;
case MAKE_CASE(4525, 16, 12): *(w_HTML_UpdateToolTip_t *)w_callback = *(u_HTML_UpdateToolTip_t *)u_callback; break;
case MAKE_CASE(4704, 24, 20): *(w_SteamInventoryStartPurchaseResult_t *)w_callback = *(u_SteamInventoryStartPurchaseResult_t *)u_callback; break;
case MAKE_CASE(5211, 16, 12): *(w_RequestPlayersForGameProgressCallback_t *)w_callback = *(u_RequestPlayersForGameProgressCallback_t *)u_callback; break;
case MAKE_CASE(5212, 64, 56): *(w_RequestPlayersForGameResultCallback_t *)w_callback = *(u_RequestPlayersForGameResultCallback_t *)u_callback; break;
case MAKE_CASE(5213, 24, 20): *(w_RequestPlayersForGameFinalResultCallback_t *)w_callback = *(u_RequestPlayersForGameFinalResultCallback_t *)u_callback; break;
case MAKE_CASE(5214, 24, 20): *(w_SubmitPlayerResultResultCallback_t *)w_callback = *(u_SubmitPlayerResultResultCallback_t *)u_callback; break;
case MAKE_CASE(5215, 16, 12): *(w_EndGameResultCallback_t *)w_callback = *(u_EndGameResultCallback_t *)u_callback; break;
case MAKE_CASE(5301, 280, 276): *(w_JoinPartyCallback_t *)w_callback = *(u_JoinPartyCallback_t *)u_callback; break;
case MAKE_CASE(5302, 16, 12): *(w_CreateBeaconCallback_t *)w_callback = *(u_CreateBeaconCallback_t *)u_callback; break;
#endif
default: memcpy( w_callback, u_callback, u_callback_len ); break;
}
#undef MAKE_CASE
}
const unsigned int callback_data_size = ARRAY_SIZE(callback_data);