Нужно, чтобы по описанию структуры данных в духе: «поле hostid - целое 32 бита, поле trigger_value - целое беззнаковое один байт, поле groups - вектор из целых беззнаковых 32-х битных, поле description - строка в C-стиле, терминированная нулевым байтом» - можно было передавать в функцию запаковки структуру и получать на выходе компактное бинарное представление, ну и наоборот - совать компактное бинарное представление в функцию распаковки и получать на выходе структуру.
Суть в том, что BJSON'ы и CBOR'ы не подходят, поскольку хранят названия поле. Нужен вариант простой бинарной упаковки, когда назначение поля определяется порядком расположения его в бинарном представлении («первым идёт поле hostid, вторым - поле trigger_value, третьим - ... etc»).
Может, кто сталкивался с подобным готовым пакетом, а то колхозить не хочется.