aboutsummaryrefslogtreecommitdiff
path: root/libs/steam_appinfo_ffi/include/steam_appinfo_ffi.h
blob: be53999a5021260c7a4ed150509a7f7e38c22b39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef MO2_STEAM_APPINFO_FFI_H
#define MO2_STEAM_APPINFO_FFI_H

#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

/// Callback invoked once per app in appinfo.vdf. Strings are valid for the
/// duration of the call only — copy if you want to keep them.
typedef void (*SteamAppInfoCallback)(void* user, uint32_t appid,
                                     const char* type, const char* name);

/// Parse Steam's appinfo.vdf at `path` and invoke `cb` for every app.
/// Returns 0 on success, negative on error.
int32_t steam_appinfo_parse(const char* path, void* user,
                            SteamAppInfoCallback cb);

#ifdef __cplusplus
}
#endif

#endif  // MO2_STEAM_APPINFO_FFI_H