Ma dov'è il problema? Non ho capito cosa vuoi sapere..hai tutti gli elementi che ti servono

Potresti approcciare il problema in una maniera simile

codice:
typedef struct
{
char header[2];
char A [2];
//eccetera
} LaStringa;

LaStringa tutte_le_stringhe[MAX_STRINGHE];
Dopodichè ti leggi la stringa carattere per carattere (ti ricordo che un carattere ascii misura un byte) e salvi i valori nella struttura dati, es
codice:
strncpy(tutte_le_stringhe[i].header,"&&",2);
strncpy(tutte_le_stringhe[i].A,il_valore_che_hai_letto,2);
//...
Infine, per ottenere la dimensione del campo DATA, se ho capito bene il protocollo, ti basterà una semplice sottrazione tra la lunghezza totale della stringa (campo A) meno una costante, che sarebbe la somma di tutti gli altri campi di lunghezza nota a priori