; Native SteamAPI
.lib "steam_api.dll"
; SteamAPI
SteamAPI_Init%()
SteamAPI_InitSafe%()
SteamAPI_IsSteamRunning%()
SteamAPI_RestartAppIfNecessary%(unOwnAppID%)
SteamAPI_WriteMiniDump(uStructuredExceptionCode%, pvExceptionInfo*, uBuildID%)
SteamAPI_SetMiniDumpComment(pchMsg$)
SteamAPI_Shutdown()
SteamClient%()
SteamUser%()
SteamFriends%()
SteamUtils%()
SteamMatchmaking%()
SteamUserStats%()
SteamApps%()
SteamNetworking%()
SteamMatchmakingServers%()
SteamRemoteStorage%()
SteamScreenshots%()
SteamHTTP%()
SteamUnifiedMessages%()
SteamController%()
SteamUGC%()
SteamAppList%()
SteamMusic%()
SteamMusicRemote%()
SteamHTMLSurface%()
SteamInventory%()
SteamVideo%()
SteamAPI_RunCallbacks()
; SteamAPI-Callbacks
SteamAPI_RegisterCallback(pCallback%, iCallback%)
SteamAPI_UnregisterCallback(pCallback%)
SteamAPI_RegisterCallResult(pCallback%, hAPICall%)
SteamAPI_UnregisterCallResult(pCallback%, hAPICall%)

; ISteamClient
SteamAPI_ISteamClient_CreateSteamPipe%(lpSteamClient%)
SteamAPI_ISteamClient_BReleaseSteamPipe%(lpSteamClient%, hSteamPipe%)
SteamAPI_ISteamClient_ConnectToGlobalUser%(lpSteamClient%, hSteamPipe%)
SteamAPI_ISteamClient_CreateLocalUser%(lpSteamClient%, phSteamPipe%, eAccountType%)
SteamAPI_ISteamClient_ReleaseUser(lpSteamClient%, hSteamPipe%, hUser%)
SteamAPI_ISteamClient_GetISteamUser%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamGameServer%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_SetLocalIPBinding(lpSteamClient%, unIP%, usPort%)
SteamAPI_ISteamClient_GetISteamFriends%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamUtils%(lpSteamClient%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamMatchmaking%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamMatchmakingServers%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamGenericInterface%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamUserStats%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamGameServerStats%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamApps%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamNetworking%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamRemoteStorage%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamScreenshots%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_RunFrame(lpSteamClient%)
SteamAPI_ISteamClient_GetIPCCallCount%(lpSteamClient%)
SteamAPI_ISteamClient_BShutdownIfAllPipesClosed%(lpSteamClient%)
SteamAPI_ISteamClient_GetISteamHTTP%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamUnifiedMessages%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamController%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamUGC%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamAppList%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamMusic%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamMusicRemote%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamHTMLSurface%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamInventory%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
SteamAPI_ISteamClient_GetISteamVideo%(lpSteamClient%, hSteamUser%, hSteamPipe%, pchVersion$)
; ISteamClient-Callbacks
;SteamAPI_ISteamClient_SetWarningMessageHook(lpSteamClient%, SteamAPIWarningMessageHook_t%)
;SteamAPI_ISteamClient_Set_SteamAPI_CPostAPIResultInProcess(lpSteamClient%, SteamAPI_PostAPIResultInProcess_t%)
;SteamAPI_ISteamClient_Remove_SteamAPI_CPostAPIResultInProcess(lpSteamClient%, SteamAPI_PostAPIResultInProcess_t%)
;SteamAPI_ISteamClient_Set_SteamAPI_CCheckCallbackRegisteredInProcess(lpSteamClient%, SteamAPI_CheckCallbackRegistered_t%)

; ISteamUser
SteamAPI_ISteamUser_GetHSteamUser%(lpSteamUser%)
SteamAPI_ISteamUser_BLoggedOn%(lpSteamUser%)
;Wrapped: uint64 SteamAPI_ISteamUser_GetSteamID(lpSteamUser%)
SteamAPI_ISteamUser_InitiateGameConnection%(lpSteamUser%, pAuthBlob*, cbMaxAuthBlob%, steamIDGameServer%, unIPServer%, usPortServer%, bSecure%)
SteamAPI_ISteamUser_TerminateGameConnection(lpSteamUser%, unIPServer%, usPortServer%)
SteamAPI_ISteamUser_TrackAppUsageEvent(lpSteamUser%, gameID%, eAppUsageEvent%, pchExtraInfo$)
SteamAPI_ISteamUser_GetUserDataFolder%(lpSteamUser%, pchBuffer$, cubBuffer%)
SteamAPI_ISteamUser_StartVoiceRecording(lpSteamUser%)
SteamAPI_ISteamUser_StopVoiceRecording(lpSteamUser%)
SteamAPI_ISteamUser_GetAvailableVoice%(lpSteamUser%, pcbCompressed*, pcbUncompressed*, nUncompressedVoiceDesiredSampleRate%)
SteamAPI_ISteamUser_GetVoice%(lpSteamUser%, bWantCompressed%, pDestBuffer*, cbDestBufferSize%, nBytesWritten*, bWantUncompressed%, pUncompressedDestBuffer*, cbUncompressedDestBufferSize%, nUncompressBytesWritten*, nUncompressedVoiceDesiredSampleRate%)
SteamAPI_ISteamUser_DecompressVoice%(lpSteamUser%, pCompressed*, cbCompressed%, pDestBuffer*, cbDestBufferSize%, nBytesWritten*, nDesiredSampleRate%)
SteamAPI_ISteamUser_GetVoiceOptimalSampleRate%(lpSteamUser%)
SteamAPI_ISteamUser_GetAuthSessionTicket%(lpSteamUser%, pTicket%, cbMaxTicket%, pcbTicket*)
SteamAPI_ISteamUser_BeginAuthSession%(lpSteamUser%, pAuthTicket%, cbAuthTicket%, steamID%)
SteamAPI_ISteamUser_EndAuthSession(lpSteamUser%, steamID%)
SteamAPI_ISteamUser_CancelAuthTicket(lpSteamUser%, hAuthTicket%)
SteamAPI_ISteamUser_UserHasLicenseForApp%(lpSteamUser%, steamID%, appID%)
SteamAPI_ISteamUser_BIsBehindNAT%(lpSteamUser%)
SteamAPI_ISteamUser_AdvertiseGame(lpSteamUser%, steamIDGameServer%, unIPServer%, usPortServer%)
;SteamAPICall_t SteamAPI_ISteamUser_RequestEncryptedAppTicket(lpSteamUser%, pDataToInclude%, cbDataToInclude%)
SteamAPI_ISteamUser_GetEncryptedAppTicket%(lpSteamUser%, pTicket%, cbMaxTicket%, pcbTicket%)
SteamAPI_ISteamUser_GetGameBadgeLevel%(lpSteamUser%, nSeries%, bFoil%)
SteamAPI_ISteamUser_GetPlayerSteamLevel%(lpSteamUser%)
;SteamAPICall_t SteamAPI_ISteamUser_RequestStoreAuthURL(lpSteamUser%, pchRedirectURL$)

; Wrapped SteamAPI
.lib "BlitzSteam.dll"
; SteamAPI Callback Support
BlitzSteam_CreateCallback%(fpFunctionPointer%)
BlitzSteam_DestroyCallback(lpCallback%)

;ISteamUser
BlitzSteam_ISteamUser_GetSteamID%(lpSteamUser%)