Sasha_Triceps Ne vidim ni u ovom RFC 1350 da igdje piše koliko dugačak mora biti taj string filename, pa stavi tipa 256 ili nešto tako. Mislim da to nije toliko bitno. Za međuispit i za ove labose itd., ja sam radio posebne structove za tipove paketa koji koristim u tom zadatku. Npr. struct za rip paket iz meduispita.
struct rip_entry
{
    unsigned int af_identifier : 16;
    unsigned int route_tag : 16;
    unsigned int ip_address : 32;
    unsigned int subnet_mask : 32;
    unsigned int next_hop : 32;
    unsigned int metric : 32;
};   
struct rip_packet
{
    unsigned int command : 8;
    unsigned int version : 8;
    unsigned int must_be_zero : 16;
    struct rip_entry entries[MAX_ENTRY];
};
Ovi brojevi pored svakog elementa structa se zovu bit field i označavaju koliko bitova zauzima taj element unutar samog structa, ako piše 16, to znači 2 bytea. Nisam siguran ako koristiš bit field za neki element unutar structa, da li onda svi elementi isto moraju koristiti bit fieldove ili mogu biti i elementi za koje nije definirana veličina bitova na ovaj način. 
Tj. može li se ovako:
struct foo
{
    int a : 16;
    int b;
}
Po nekoj logici ovaj int a bi bio veličine 2 bajta, a int b bi zauzimao normalnu količinu memorije koliko int zauzima. Pretpostavljam da i ovo radi.