Code: Show/Hide pragma pack(1)
struct SomePacket { unsigned char type; unsigned short pid; unsigned long time; // blah blah }; #pragma pack() // some packet handling function void func (unsigned char *buffer, int len) { SomePacket *pkt = (SomePacket *)buffer; // test acceptible length(s) if (len == // or "len >=" for variable size packets // pick out what you want pkt->type; pkt->pid; pkt->time; // ... } |
Code: Show/Hide i = pkt.byte;
j = pkt.dword; |
Code: Show/Hide mov eax, BYTE PTR [00440000]
mov ebx, DWORD PTR [00440004] |
Code: Show/Hide mov eax, BYTE PTR [00440000]
mov ebx, DWORD PTR [00440001] |