On Tuesday 01 September 2009 11:00:37 Henri Verbeet wrote:
I realize I'm a bit late for the party, but anyway:
2009/9/1 Ismael Barros razielmine@gmail.com:
+typedef struct tagDPSP_MSG_HEADER +{
- DWORD size; /* size & 0x000FFFFF, token & 0xFFF00000
*/ + SOCKADDR_IN SockAddr; +} DPSP_MSG_HEADER, *LPDPSP_MSG_HEADER; +typedef const DPSP_MSG_HEADER* LPCDPSP_MSG_HEADER;
It seems you're sending this over the network, so you should make sure it's correctly packed, and take the byte order into account.
Wine runs on architectures with different byte order? I'm not sure if we need to be too concerned here. DirectPlay basically sets up a couple of structs for managing multiplayer games and pushes the structs over the network. It's a pretty common way for Microsoft to define "network protocols". I've even seen pointers in the structures being passed, of course they're completely meaningless to the other peers.
Of course the packing needs to match what MS is sending over the network.
Cheers, Kai