1#ifndef STEAM_STEAM_API_FLAT_H
2#define STEAM_STEAM_API_FLAT_H
3
4#include <base/dynamic.h>
5
6#include <cstdint>
7
8#ifndef STEAMAPI
9#define STEAMAPI DYNAMIC_IMPORT
10#endif
11
12extern "C" {
13
14typedef uint64_t CSteamId;
15typedef int32_t HSteamPipe;
16typedef int32_t HSteamUser;
17
18struct CallbackMsg_t
19{
20 HSteamUser m_hSteamUser;
21 int m_iCallback;
22 unsigned char *m_pubParam;
23 int m_cubParam;
24};
25
26struct GameRichPresenceJoinRequested_t
27{
28 enum
29 {
30 k_iCallback = 337
31 };
32 CSteamId m_steamIdFriend;
33 char m_aRGCHConnect[256];
34};
35
36struct NewUrlLaunchParameters_t
37{
38 enum
39 {
40 k_iCallback = 1014
41 };
42 unsigned char m_EmptyStructDontUse;
43};
44
45struct ISteamApps;
46struct ISteamFriends;
47
48STEAMAPI bool SteamAPI_Init(); // Returns true on success.
49STEAMAPI HSteamPipe SteamAPI_GetHSteamPipe();
50STEAMAPI void SteamAPI_Shutdown();
51
52STEAMAPI void SteamAPI_ManualDispatch_Init();
53STEAMAPI void SteamAPI_ManualDispatch_FreeLastCallback(HSteamPipe SteamPipe);
54STEAMAPI bool SteamAPI_ManualDispatch_GetNextCallback(HSteamPipe SteamPipe, CallbackMsg_t *pCallbackMsg);
55STEAMAPI void SteamAPI_ManualDispatch_RunFrame(HSteamPipe SteamPipe);
56
57STEAMAPI ISteamApps *SteamAPI_SteamApps_v008();
58STEAMAPI int SteamAPI_ISteamApps_GetLaunchCommandLine(ISteamApps *pSelf, char *pBuffer, int BufferSize);
59STEAMAPI const char *SteamAPI_ISteamApps_GetLaunchQueryParam(ISteamApps *pSelf, const char *pKey);
60
61STEAMAPI ISteamFriends *SteamAPI_SteamFriends_v017();
62STEAMAPI void SteamAPI_ISteamFriends_ClearRichPresence(ISteamFriends *pSelf);
63STEAMAPI const char *SteamAPI_ISteamFriends_GetPersonaName(ISteamFriends *pSelf);
64STEAMAPI bool SteamAPI_ISteamFriends_SetRichPresence(ISteamFriends *pSelf, const char *pKey, const char *pValue);
65}
66
67#endif // STEAM_STEAM_API_FLAT_H
68