#ifndef __STEAMCLIENT_UNIXLIB_H #define __STEAMCLIENT_UNIXLIB_H #include #include #include #include #include #include #include "steamclient_structs.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ 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 ); #define PATH_MAX 4096 extern char g_tmppath[PATH_MAX]; enum callback_type { SOCKETS_DEBUG_OUTPUT = 1, WARNING_MESSAGE_HOOK, }; struct callback { enum callback_type type; uint32_t size; union { struct { void (*W_STDCALL pfnFunc)( uint32_t, const char * ); uint32_t type; const char msg[1]; } sockets_debug_output; struct { void (*W_CDECL pFunction)( int32_t, const char * ); int32_t severity; const char msg[1]; } warning_message_hook; }; }; extern bool unix_steamclient_next_callback( struct callback *callback, uint32_t *length ); extern bool (*steamclient_GetAPICallResult)( int32_t, uint64_t, void *, int, int, bool * ); extern bool unix_Steam_GetAPICallResult( int32_t pipe, uint64_t call, void *w_callback, int w_callback_len, int id, bool *failed ); extern bool (*steamclient_BGetCallback)( int32_t a, u_CallbackMsg_t *b, int32_t *c ); extern bool unix_Steam_BGetCallback( uint32_t pipe, w_CallbackMsg_t *w_msg, int32_t *ignored, u_CallbackMsg_t *u_msg ); extern void unix_callback_message_receive( u_CallbackMsg_t *u_msg, w_CallbackMsg_t *w_msg ); extern bool (*steamclient_FreeLastCallback)( int32_t ); extern bool unix_Steam_FreeLastCallback( uint32_t pipe ); struct networking_message_pool; struct networking_message { struct networking_message_pool *pool; void **p_data; uint32_t *p_size; union { u_SteamNetworkingMessage_t_144 *u_msg_144; u_SteamNetworkingMessage_t_147 *u_msg_147; u_SteamNetworkingMessage_t_153a *u_msg_153a; }; union { w_SteamNetworkingMessage_t_144 w_msg_144; w_SteamNetworkingMessage_t_147 w_msg_147; w_SteamNetworkingMessage_t_153a w_msg_153a; }; }; extern void unix_networking_messages_receive_144( uint32_t count, w_SteamNetworkingMessage_t_144 **w_msgs ); extern void unix_networking_messages_receive_147( uint32_t count, w_SteamNetworkingMessage_t_147 **w_msgs ); extern void unix_networking_messages_receive_153a( uint32_t count, w_SteamNetworkingMessage_t_153a **w_msgs ); extern void unix_networking_message_release_147( w_SteamNetworkingMessage_t_147 *w_msg ); extern void unix_networking_message_release_153a( w_SteamNetworkingMessage_t_153a *w_msg ); #ifdef __cplusplus } /* extern "C" */ #endif /* __cplusplus */ #endif /* __STEAMCLIENT_UNIXLIB_H */