From ace6ce28fbd880483a68c88c9bb63f915cd6e5d4 Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Sat, 3 Oct 2020 00:41:38 +0200 Subject: nice rcon interface via rcon_login/rcon_command --- src/rcon.h | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'src/rcon.h') diff --git a/src/rcon.h b/src/rcon.h index 0d518d0..8ca46c6 100644 --- a/src/rcon.h +++ b/src/rcon.h @@ -18,6 +18,9 @@ #include #include +#include +#include + #define RCON_LOGIN 3 #define RCON_LOLGINFAIL -1 #define RCON_COMMAND 2 @@ -26,16 +29,32 @@ #define RCON_RECV_PKGSIZE 4110 #define RCON_SEND_PKGSIZE 1460 +#define RCON_ERR_OK 0 +#define RCON_ERR_GENERIC 1 +#define RCON_ERR_AUTH 2 +#define RCON_ERR_BUFFER 3 +#define RCON_ERR_PACKET 4 +#define RCON_ERR_TIMEOUT 5 + typedef struct rcon_packet_s { - int32_t length; - int32_t id; - int32_t type; - char* payload; - uint32_t payload_len; + int32_t length; + int32_t id; + int32_t type; + char* payload; + uint32_t payload_len; } rcon_packet_t; int rcon_parse_packet ( rcon_packet_t* _packet, char* _buffer, uint32_t _len ); int rcon_construct_packet ( char* _buffer, uint32_t _len, rcon_packet_t* _packet ); -char* rcon_strerror ( int _errno ); +int rcon_login ( int _socket, const char* _password ); + +int rcon_command ( char** _output, int _socket, const char* _command ); + +int rcon_recv_packet ( int _socket, rcon_packet_t* _packet, int _timeout_msecs ); + +int rcon_send_packet ( int _socket, rcon_packet_t* _packet ); + +const char* rcon_strerror ( int _errno ); + -- cgit v1.2.3