En primer lugar gracias por interesarte. En segundo lugar resulta que estoy implementando el rfc 1350 (trivial ftp) y no se bien bien como construir el número de bloque que está formado por 2 bytes (como se ve en la imagen adjunta). La numeación de los bloques es cíclica y va del 1 a 2^16 = 65535. El problema de hacerlo con un short es que el valor máximo que puede representar 32,767 no me vale, y no puedo hacer un unsigned short.
Definición de short:
short: The short data type is a 16-bit signed two's complement integer. It has a minimum value of -32,768 and a maximum value of 32,767 (inclusive). As with byte, the same guidelines apply: you can use a short to save memory in large arrays, in situations where the memory savings actually matters.
Formato paquete datos