//routing packet header

typedef struct {
   int  RouterID;
   unsigned char  Num_LSAs;
   unsigned char  Length;
   unsigned int   Seq_Number;
   unsigned short Checksum;
   unsigned short NotUsed1;
} RT_header;

//LSA Type 0 header

typedef struct {
   unsigned char Type;
   char Num_Links;
   unsigned char Length;
   unsigned char NotUsed;
} LSA0_header;

//LSA Type 1 header

typedef struct {
   unsigned char Type;
   unsigned char Num_Links;
   unsigned char Length;
   unsigned char NotUsed;
} LSA1_header;

//LSA Type 3 header

typedef struct {
   unsigned char Type;
   unsigned char Num_Networks;
   unsigned char Length;
   unsigned char NotUsed;
} LSA3_header;

//LSA Type 0 and 1 Data struct, it might make your life easier

typedef struct {
   int RouterID;
   unsigned short Metric;
   unsigned int LinkID;
} LSAData;

//LSA Type 3 Data struct, it might make your life easier

typedef struct {
   unsigned int Network;
   unsigned int Netmask;
} LSA3Data;


