On Wed, 24 Apr 2002, Richard Allen Hansen Jr. wrote: > Hi, > > I've been looking through packets.h, and I've got a quick question. A lot > of the packets have pad values, char pad1, char pad2, etc... what are the > purpose of these? Are they just to make the packet a specific size? > Packets have to be a power of 2? It's to make them a multiple of 4 bytes and to place any 16 or 32 bit variables on 16 or 32 bit alignment, respectively. The netrek code doesn't use routines to convert data into some kind of external representation, but just sticks that data off the wire into a packet struct. The structs are explicitly aligned to prevent compilers from doing it differently.