truncated_xdr.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. // ************************************************************
  2. // This file is automatically generated by genxdr. Do not edit.
  3. // ************************************************************
  4. package files
  5. import (
  6. "bytes"
  7. "io"
  8. "github.com/calmh/xdr"
  9. )
  10. /*
  11. FileInfoTruncated Structure:
  12. 0 1 2 3
  13. 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
  14. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  15. | Length of Name |
  16. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  17. / /
  18. \ Name (variable length) \
  19. / /
  20. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  21. | Flags |
  22. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  23. | |
  24. + Modified (64 bits) +
  25. | |
  26. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  27. | |
  28. + Version (64 bits) +
  29. | |
  30. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  31. | |
  32. + Local Version (64 bits) +
  33. | |
  34. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  35. | Num Blocks |
  36. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  37. struct FileInfoTruncated {
  38. string Name<8192>;
  39. unsigned int Flags;
  40. hyper Modified;
  41. unsigned hyper Version;
  42. unsigned hyper LocalVersion;
  43. unsigned int NumBlocks;
  44. }
  45. */
  46. func (o FileInfoTruncated) EncodeXDR(w io.Writer) (int, error) {
  47. var xw = xdr.NewWriter(w)
  48. return o.encodeXDR(xw)
  49. }
  50. func (o FileInfoTruncated) MarshalXDR() ([]byte, error) {
  51. return o.AppendXDR(make([]byte, 0, 128))
  52. }
  53. func (o FileInfoTruncated) MustMarshalXDR() []byte {
  54. bs, err := o.MarshalXDR()
  55. if err != nil {
  56. panic(err)
  57. }
  58. return bs
  59. }
  60. func (o FileInfoTruncated) AppendXDR(bs []byte) ([]byte, error) {
  61. var aw = xdr.AppendWriter(bs)
  62. var xw = xdr.NewWriter(&aw)
  63. _, err := o.encodeXDR(xw)
  64. return []byte(aw), err
  65. }
  66. func (o FileInfoTruncated) encodeXDR(xw *xdr.Writer) (int, error) {
  67. if l := len(o.Name); l > 8192 {
  68. return xw.Tot(), xdr.ElementSizeExceeded("Name", l, 8192)
  69. }
  70. xw.WriteString(o.Name)
  71. xw.WriteUint32(o.Flags)
  72. xw.WriteUint64(uint64(o.Modified))
  73. xw.WriteUint64(o.Version)
  74. xw.WriteUint64(o.LocalVersion)
  75. xw.WriteUint32(o.NumBlocks)
  76. return xw.Tot(), xw.Error()
  77. }
  78. func (o *FileInfoTruncated) DecodeXDR(r io.Reader) error {
  79. xr := xdr.NewReader(r)
  80. return o.decodeXDR(xr)
  81. }
  82. func (o *FileInfoTruncated) UnmarshalXDR(bs []byte) error {
  83. var br = bytes.NewReader(bs)
  84. var xr = xdr.NewReader(br)
  85. return o.decodeXDR(xr)
  86. }
  87. func (o *FileInfoTruncated) decodeXDR(xr *xdr.Reader) error {
  88. o.Name = xr.ReadStringMax(8192)
  89. o.Flags = xr.ReadUint32()
  90. o.Modified = int64(xr.ReadUint64())
  91. o.Version = xr.ReadUint64()
  92. o.LocalVersion = xr.ReadUint64()
  93. o.NumBlocks = xr.ReadUint32()
  94. return xr.Error()
  95. }