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.