Perfecto, la cosa queda así:
Cita: struct request {
int lon;
unsigned char id;
int index;
int begin;
int length;
} __attribute__((__packed__));
Además en mi caso tengo que cambiar la ordenación de los enteros para que se envíen correctamente:
Cita: struct request peticion;
peticion.lon=htonl(0xd);
peticion.id=0x06;
peticion.index=htonl(0x1);
peticion.begin=htonl(0x2);
peticion.length=htonl(0x3);
Como la seda:
0000000D 06 00000001 00000002 00000003
Muchísimas gracias!