Hi,
We are building a protocol analyzer. I am new to C#(has worked with C).
We have a byte stream which has to be parsed and filled in to multiple structures. The data comes in and upon each data only we can decide which structure and the size of it (data can be array of structures also). I am finding difficulty in coming out with the a generic design of the structures where in I can just map the incoming bytes as is in to the structures. In C this is easy as we can use the void * and type cast it as and when required and store them in respective structures.
The typical data structures is like
Typedef struct DATA_PKT
{
intu16 choice; //this tells which one of the below union to use !
intu16 length;
union
{
Data_Type_A DataA;
Data_Type_B DataB;
Data_Type_C DataC;
}
}
Typedef struct Data_Type_A
{
Ver_t version;
Params_t param;
}
Typedef struct Vert_t
{
Int Verlen;
VersData_t *versions; //here starts versions info of length= Verlen
}
Typedef struct VersData_t
{
Int VerID; //we have a variety of version info. This id tells which version info
ANY_t ver;
}
Typedef struct ANY_t
{
Int len;
Char *data;
}
Typedef struct Params_t
{
Int Len; //total length if the structure
Int ParamCount; // # of params present in this structure
Param_t *params
}
Typedef struct Param_t
{
Int ParamID; //we have a variety of param info. This id tells which param info
ANY_t param;
}
If anybody had come across similar probs please help us to resolve it. Please share any code samples if you have.
Appreciate your efforts to help.
Thanks and Regards
Abhayadev S.
[email protected]