Есть разные решения. Один из них - определить структуру (но убедиться, что выравнивания полей правильные), затем прочитать данные и использовать структуру для доступа к полям. Тривиальный пример:
struct header {
uint32_t len;
unsigned char type;
char name[16];
};
struct header hdr;
read(fd,&hdr,sizeof(hdr));
... access your fields using the structure ...
Тема немного сложнее, чем эта;) Но так как вы не указали намного больше, я думаю, что это все еще может помочь.