ntohl.c 592 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. unsigned long
  2. ntohl(int x)
  3. {
  4. unsigned long n;
  5. unsigned char *p;
  6. n = x;
  7. p = (unsigned char*)&n;
  8. return (p[0]<<24)|(p[1]<<16)|(p[2]<<8)|p[3];
  9. }
  10. unsigned long
  11. htonl(unsigned long h)
  12. {
  13. unsigned long n;
  14. unsigned char *p;
  15. p = (unsigned char*)&n;
  16. p[0] = h>>24;
  17. p[1] = h>>16;
  18. p[2] = h>>8;
  19. p[3] = h;
  20. return n;
  21. }
  22. unsigned short
  23. ntohs(int x)
  24. {
  25. unsigned short n;
  26. unsigned char *p;
  27. n = x;
  28. p = (unsigned char*)&n;
  29. return (p[0]<<8)|p[1];
  30. }
  31. unsigned short
  32. htons(unsigned short h)
  33. {
  34. unsigned short n;
  35. unsigned char *p;
  36. p = (unsigned char*)&n;
  37. p[0] = h>>8;
  38. p[1] = h;
  39. return n;
  40. }