Proton/lsteamclient/steamclient_private.h

112 lines
3.4 KiB
C
Raw Normal View History

2018-01-18 19:24:05 +03:00
/* TODO these should be generated */
#ifndef __STEAMCLIENT_PRIVATE_H
#define __STEAMCLIENT_PRIVATE_H
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include "windef.h"
#include "winbase.h"
#include "wine/debug.h"
#include "wine/list.h"
#ifndef __cplusplus
#include "cxx.h"
#else
typedef void (*vtable_ptr)(void);
#endif
#ifdef __cplusplus
extern "C" {
#endif
struct w_steam_iface
{
vtable_ptr *vtable;
void *u_iface;
};
struct SteamInputActionEvent_t;
typedef void (*CDECL win_SteamInputActionEventCallbackPointer)( struct SteamInputActionEvent_t * );
void lin_SteamInputActionEventCallbackPointer( struct SteamInputActionEvent_t *dat );
struct w_steam_iface *create_win_interface(const char *name, void *linux_side);
unsigned int steamclient_unix_path_to_dos_path( bool api_result, const char *src, char *dst,
uint32_t dst_bytes, int is_url );
extern const char *steamclient_dos_to_unix_path( const char *src, int is_url );
extern void steamclient_free_path( const char *path_array );
extern const char **steamclient_dos_to_unix_path_array( const char **src_array );
extern void steamclient_free_path_array( const char **path_array );
const char *steamclient_isteamcontroller_getglyph(int origin, const char *lin_path);
const char *steamclient_isteaminput_getglyph(int origin, const char *lin_path);
const char *steamclient_isteaminput_getglyph_xbox(int origin, const char *lin_path);
const char *steamclient_isteaminput_getglyph_png(int origin, int size, int flags, const char *lin_path);
const char *steamclient_isteaminput_getglyph_svg(int origin, int flags, const char *lin_path);
uint32_t manual_convert_nNativeKeyCode( uint32_t win_vk );
void *create_LinuxISteamMatchmakingServerListResponse(void *win, const char *version);
void *create_LinuxISteamMatchmakingPingResponse(void *win, const char *version);
void *create_LinuxISteamMatchmakingPlayersResponse(void *win, const char *version);
void *create_LinuxISteamMatchmakingRulesResponse(void *win, const char *version);
void *manual_convert_SteamAPIWarningMessageHook_t(void *win_func);
void *manual_convert_FSteamNetworkingSocketsDebugOutput(void *win_func);
void *manual_convert_SteamAPI_CheckCallbackRegistered_t(void *win_func);
#define PATH_MAX 4096
extern char g_tmppath[PATH_MAX];
void *alloc_callback_wtou( int id, void *callback, int *callback_len );
void convert_callback_utow( int id, void *lin_callback, int lin_callback_len, void *callback, int callback_len );
void *alloc_mem_for_iface(size_t size, const char *iface_version);
void *alloc_vtable(void *vtable, unsigned int method_count, const char *iface_version);
enum callback_type
{
SOCKET_DEBUG_OUTPUT = 1,
STEAM_API_WARNING_HOOK,
STEAM_API_CALLBACK_ONE_PARAM,
};
struct callback_data
{
enum callback_type type;
void *func;
int complete;
union
{
struct
{
unsigned int type;
const char *msg;
}
sockets_debug_output;
struct
{
int severity;
const char *msg;
}
steam_api_warning_hook;
struct
{
void *param;
}
steam_api_callback_one_param;
};
};
void execute_callback(struct callback_data *cb_data);
bool is_native_thread(void);
bool after_shutdown(bool);
int32_t after_steam_pipe_create( int32_t pipe );
#ifdef __cplusplus
}
#endif
#endif /* __STEAMCLIENT_PRIVATE_H */