Impl basic ws binary proto with data and execution state manipulation

This commit is contained in:
2025-10-10 03:19:45 +03:00
parent 2ff6b1a454
commit 165a96aa3c
44 changed files with 2065 additions and 2269 deletions

30
inc/proto/pack.h Normal file
View File

@@ -0,0 +1,30 @@
#ifndef __PROTO_PACK_H__
#define __PROTO_PACK_H__
#include <stdint.h>
uint64_t decodeBytesToU64(const uint8_t* bytes);
uint32_t decodeBytesToU32(const uint8_t* bytes);
uint16_t decodeBytesToU16(const uint8_t* bytes);
void encodeUint8ToBytes(uint8_t num, uint8_t* tgt);
void encodeUint16ToBytes(uint16_t num, uint8_t* tgt);
void encodeUint32ToBytes(uint32_t num, uint8_t* tgt);
void encodeUint64ToBytes(uint64_t num, uint8_t* tgt);
#define encodeUintToBytes(num, tgt) _Generic((num), \
uint8_t: encodeUint8ToBytes, \
uint16_t: encodeUint16ToBytes, \
uint32_t: encodeUint32ToBytes, \
uint64_t: encodeUint64ToBytes \
)(num, tgt)
#endif //ifndef __PROTO_PACK_H__