The in parameter requires a 16-bit number in TCP/IP network byte order. As the cast is from char* to u-short* the order of bytes ptrCurrent_Field[0] and ptrCurrent_Field[1] is important and isn't dealt with by ntoh().