Есть ли возможность сделать функиональность, похожую на construct для C?
Собственно задача глобально - есть сложный и постепенно эволюционирующий протокол обмена между устройствами. Есть сервер на жабе, и клиенты на жабе и нескольких языках программирования, включая C и python. Есть мелкое устройство, куда клиент на питоне не влез. А реализация на C уже пережила множество переписываний и в очередной раз этог требует, так как не была рассчитана на такое изменение. Есть клиент на питоне, там всё просто и легко адаптируемо, в основном благодаря лёгкости описания протокола с испоользованием construct.
Протокол в основном представляет собой tcp соединение, по которому стороны обмениваются сообщениями вопрос-ответ, поля в сообщении в основном фиксированной длины, но есть и переменной длины, и еще есть TLV. Просто хочется уже этот весь срач как-то прибрать, чтобы всё это протокольное хозяйство унифицировать, ну или по-минимуму сделать более простую модифицируемость человеком без двухмесячного разбирательства. Потому как изменение протокола в питоньем клиенте занимает 2 дня вместе с тестированием и бюрократией, а сишного - 2 месяца :(