#ifndef PROTOCOL_H #define PROTOCOL_H #define CHUNKSIZE 2048 enum msg_types { UNIX, POWERSHELL, INSTALL_PKG, QUERY_PKG, DELETE_PKG, LIST_PKGS, UPDATE_PKG, UPDATE_PKGS, GET_OS, GET_KERNEL, GET_UPTIME, GET_MEMORY }; struct msg_meta_t { unsigned short id; /* Agent job ID */ unsigned short type; /* Data type */ unsigned len; /* Data size to expect in buffer */ unsigned chunks; short is_recv; short locking; }; struct msg_chunk_t { int id; unsigned char data[CHUNKSIZE]; }; struct msg_t { struct msg_meta_t meta; struct msg_chunk_t chunk; }; #endif /* PROTOCOL_H */