bo.c 811 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #include <u.h>
  2. #include <libc.h>
  3. #include <ip.h>
  4. void
  5. hnputv(void *p, uvlong v)
  6. {
  7. uchar *a;
  8. a = p;
  9. a[0] = v>>56;
  10. a[1] = v>>48;
  11. a[2] = v>>40;
  12. a[3] = v>>32;
  13. a[4] = v>>24;
  14. a[5] = v>>16;
  15. a[6] = v>>8;
  16. a[7] = v;
  17. }
  18. void
  19. hnputl(void *p, uint v)
  20. {
  21. uchar *a;
  22. a = p;
  23. a[0] = v>>24;
  24. a[1] = v>>16;
  25. a[2] = v>>8;
  26. a[3] = v;
  27. }
  28. void
  29. hnputs(void *p, ushort v)
  30. {
  31. uchar *a;
  32. a = p;
  33. a[0] = v>>8;
  34. a[1] = v;
  35. }
  36. uvlong
  37. nhgetv(void *p)
  38. {
  39. uchar *a;
  40. uvlong v;
  41. a = p;
  42. v = (uvlong)a[0]<<56;
  43. v |= (uvlong)a[1]<<48;
  44. v |= (uvlong)a[2]<<40;
  45. v |= (uvlong)a[3]<<32;
  46. v |= a[4]<<24;
  47. v |= a[5]<<16;
  48. v |= a[6]<<8;
  49. v |= a[7]<<0;
  50. return v;
  51. }
  52. uint
  53. nhgetl(void *p)
  54. {
  55. uchar *a;
  56. a = p;
  57. return (a[0]<<24)|(a[1]<<16)|(a[2]<<8)|(a[3]<<0);
  58. }
  59. ushort
  60. nhgets(void *p)
  61. {
  62. uchar *a;
  63. a = p;
  64. return (a[0]<<8)|(a[1]<<0);
  65. }