From 2bdbca1e885af9504d8ec7322e1efd7623b5bd97 Mon Sep 17 00:00:00 2001 From: Jonas Gunz Date: Wed, 30 Sep 2020 21:02:12 +0200 Subject: initial --- src/rcon.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/rcon.h (limited to 'src/rcon.h') diff --git a/src/rcon.h b/src/rcon.h new file mode 100644 index 0000000..474fcdd --- /dev/null +++ b/src/rcon.h @@ -0,0 +1,41 @@ +/* + * src/rcon.h + * (c) 2020 Jonas Gunz + * License: +*/ + +/* + * Length int Length of remainder of packet + * Request ID int Client-generated ID + * Type int 3 for login, 2 to run a command, 0 for a multi-packet response + * Payload byte[] ASCII text + * 2-byte pad byte^2 Two null bytes + * + * sizeof int: 4B + * */ + +#include +#include +#include + +#define RCON_LOGIN 3 +#define RCON_LOLGINFAIL -1 +#define RCON_COMMAND 2 +#define RCON_RESPONSE 0 + +#define RCON_RECV_PKGSIZE 4110 +#define RCON_SEND_PKGSIZE 1460 + +typedef struct rcon_packet_s { + 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 ); -- cgit v1.2.3