Endian issues in TCP/IP

Hello,
Can anybody tell me whether the little endian-big endian issues will affect porting from True64 to HP UNIX or TCP/IP will take care of that? If it affects what can be the solution.
Thank you,

Your question is very confusing. I don't know if you are trying to port software or write a TCP/IP program.

Endian-ness is decided by the hardware not the the software. If an OS wants to use integer arithmetic, it must go along with what the hardware designers did. A very few cpu's are, um, bi-endian, but most have a preference.

HP hardware is big-endian.

TCP/IP does not even assume that computers have 8 bit bytes, which is why it calls 8 bits an "octet". 32 bit and 16 bit quantities travel over the network in big endian form. But portable programs access them via macros defined in the include file arpa/inet.h. The macros are ntohl, ntohs, htonl, htons. They stand for stuff like "network to host short". With big endian computers, these macros are null. But you should still use them. That way your code works on other computers. Only the macros need to be rewritten.

Thanks a Lot for the reply.
More clarifications from my side are as follows.
1)We are trying to port a fully developed software which does communication from external world via TCP/IP and X.25 protocols.The original code is on COmpaq(little-endian) and it is to be ported on HPUX(big endian).
2)When same code is running on both HP and COmpaq platform,will the macros __BIG_ENDIAN__ and __LITTLE_ENDIAN__ in file /usr/include/netinet/in.h be defined automatically or we have to define on compliation.

I have never heard of any macros like that and I don't see them in HP's include file.

Big Endian and Little Endian are two ways to distribute the 4 bytes of a 32 bit integer. At least one other scheme is in use. If big endian is 4321 and little endian is 1234, then the other scheme is 2143. It arose when a 16 bit big endian cpu with a 16 bit adder implemented 32 bit arithmetic in two stages. It needed to add the low order words first to get the carry for the second addition stage. And these are just the three schemes that I know exist. There are 21 other ways to distribute 4 bytes of a 32 bit integer. And even that assumes that we can all stay in agreement that the bytes themselves are big endian.

The macros that I mentioned will handle all of the possibilities. If you use them you should never have to worry about or even know the structure of a word on your computer.