hello_v0.13_xdr.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // ************************************************************
  2. // This file is automatically generated by genxdr. Do not edit.
  3. // ************************************************************
  4. package protocol
  5. import (
  6. "github.com/calmh/xdr"
  7. )
  8. /*
  9. Version13HelloMessage Structure:
  10. 0 1 2 3
  11. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  12. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  13. / /
  14. \ Device Name (length + padded data) \
  15. / /
  16. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  17. / /
  18. \ Client Name (length + padded data) \
  19. / /
  20. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  21. / /
  22. \ Client Version (length + padded data) \
  23. / /
  24. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  25. struct Version13HelloMessage {
  26. string DeviceName<64>;
  27. string ClientName<64>;
  28. string ClientVersion<64>;
  29. }
  30. */
  31. func (o Version13HelloMessage) XDRSize() int {
  32. return 4 + len(o.DeviceName) + xdr.Padding(len(o.DeviceName)) +
  33. 4 + len(o.ClientName) + xdr.Padding(len(o.ClientName)) +
  34. 4 + len(o.ClientVersion) + xdr.Padding(len(o.ClientVersion))
  35. }
  36. func (o Version13HelloMessage) MarshalXDR() ([]byte, error) {
  37. buf := make([]byte, o.XDRSize())
  38. m := &xdr.Marshaller{Data: buf}
  39. return buf, o.MarshalXDRInto(m)
  40. }
  41. func (o Version13HelloMessage) MustMarshalXDR() []byte {
  42. bs, err := o.MarshalXDR()
  43. if err != nil {
  44. panic(err)
  45. }
  46. return bs
  47. }
  48. func (o Version13HelloMessage) MarshalXDRInto(m *xdr.Marshaller) error {
  49. if l := len(o.DeviceName); l > 64 {
  50. return xdr.ElementSizeExceeded("DeviceName", l, 64)
  51. }
  52. m.MarshalString(o.DeviceName)
  53. if l := len(o.ClientName); l > 64 {
  54. return xdr.ElementSizeExceeded("ClientName", l, 64)
  55. }
  56. m.MarshalString(o.ClientName)
  57. if l := len(o.ClientVersion); l > 64 {
  58. return xdr.ElementSizeExceeded("ClientVersion", l, 64)
  59. }
  60. m.MarshalString(o.ClientVersion)
  61. return m.Error
  62. }
  63. func (o *Version13HelloMessage) UnmarshalXDR(bs []byte) error {
  64. u := &xdr.Unmarshaller{Data: bs}
  65. return o.UnmarshalXDRFrom(u)
  66. }
  67. func (o *Version13HelloMessage) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  68. o.DeviceName = u.UnmarshalStringMax(64)
  69. o.ClientName = u.UnmarshalStringMax(64)
  70. o.ClientVersion = u.UnmarshalStringMax(64)
  71. return u.Error
  72. }