HTON.3
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:1k
源码类别:

操作系统开发

开发平台:

C/C++

  1. .TH HTON 3
  2. .SH NAME
  3. hton, htons, htonl, ntohs, ntohl - host to network byte order conversion
  4. .SH SYNOPSIS
  5. .ft B
  6. .nf
  7. #define _MINIX_SOURCE 1
  8. #include <stddef.h>
  9. #include <sys/types.h>
  10. #include <net/hton.h>
  11. u16_t htons(u16_t fIhost_wordfP)
  12. u32_t htonl(u32_t fIhost_dwordfP)
  13. u16_t ntohs(u16_t fInetwork_wordfP)
  14. u32_t ntohl(u32_t fInetwork_dwordfP)
  15. u16_t HTONS(u16_t fIhost_wordfP)
  16. u32_t HTONL(u32_t fIhost_dwordfP)
  17. u16_t NTOHS(u16_t fInetwork_wordfP)
  18. u32_t NTOHL(u32_t fInetwork_dwordfP)
  19. .fi
  20. .ft R
  21. .SH DESCRIPTION
  22. These macros convert 16-bit and 32-bit quantities to and from the network
  23. byte order used by the TCP/IP protocols.
  24. The function of the macros is encoded in their name.
  25. .B H
  26. means host byte order,
  27. .B n
  28. means network byte order,
  29. .B s
  30. means a 16-bit quantity and
  31. .B l
  32. means a 32-bit quantity.
  33. Thus
  34. .B htons
  35. converts a 16-bit quantity from host byte order to network byte order.
  36. The difference between the lower case and upper case variants is that
  37. the lower case variants evaluate the argument at most once and the
  38. upper case variants can be used for constant folding.
  39. That is,
  40. .PP
  41. .RS
  42. htonl(f(x))
  43. .RE
  44. .PP
  45. will call f(x) at most once and
  46. .PP
  47. .RS
  48. HTONS(0x10)
  49. .RE
  50. .PP
  51. will be equivalent to 0x10 on a big-endian machine and 0x1000 on a
  52. little-endian machine.
  53. .SH "SEE ALSO"
  54. .BR ip (4).
  55. .SH AUTHOR
  56. Philip Homburg (philip@cs.vu.nl)