Как прочитать заголовок с полезной нагрузкой из файла устройства после записи байтов?

#io #header #driver #device #payload

Вопрос:

В настоящее время я разрабатываю драйвер и использую файл устройства для связи. Поэтому я отправляю 12-байтовую команду на устройство и получаю ответ от устройства с заголовком ответа (полезной нагрузкой).

Мне было интересно, как я могу распечатать полезную нагрузку ?

В настоящее время я использую следующий метод:

 char bytes[12] uint8_t cmd[] = {...};  write(fd, cmd, sizeof(cmd)) read(fd, bytes, sizeof(bytes))  

Длина команды составляет 12 байт, поэтому логично, что когда я использую байт, я получаю 12 байт, но я знаю, что после этого есть полезная нагрузка длиной x байт. Как я могу приблизиться к получению полезной нагрузки, на которую отвечают данные? Я знаю , что могу byte[12] byte[64] , например, подстроиться, но это не очень хороший подход.

Есть идеи?