public void RoundTripTest()
        {
            RpcReplyHeader header = new RpcReplyHeader()
            {
                AcceptReply = new RpcAcceptedReplyHeader()
                {
                    AcceptStatus = RpcAcceptStatus.Success,
                    MismatchInfo = null,
                    Verifier     = new RpcAuthentication(new RpcUnixCredential(1, 2))
                }
            };

            RpcReplyHeader clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                header.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new RpcReplyHeader(reader);
            }

            Assert.Equal(header, clone);
        }
        public void RoundTripTest()
        {
            Nfs3MountResult result = new Nfs3MountResult()
            {
                AuthFlavours = new List <RpcAuthFlavour>()
                {
                    RpcAuthFlavour.Des,
                    RpcAuthFlavour.Null
                },
                FileHandle = new Nfs3FileHandle()
                {
                    Value = new byte[] { 0x5 }
                },
                Status = Nfs3Status.Ok
            };

            Nfs3MountResult clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                result.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3MountResult(reader);
            }

            Assert.Equal(result, clone);
        }
Esempio n. 3
0
        public void RoundTripTest()
        {
            Nfs3FileAttributes attributes = new Nfs3FileAttributes()
            {
                AccessTime   = new Nfs3FileTime(new DateTime(2018, 1, 1)),
                BytesUsed    = 1,
                ChangeTime   = new Nfs3FileTime(new DateTime(2018, 1, 2)),
                FileId       = 3,
                FileSystemId = 4,
                Gid          = 5,
                LinkCount    = 6,
                Mode         = UnixFilePermissions.GroupExecute,
                ModifyTime   = new Nfs3FileTime(new DateTime(2018, 1, 3)),
                RdevMajor    = 7,
                RdevMinor    = 8,
                Size         = 9,
                Type         = Nfs3FileType.NamedPipe,
                Uid          = 11
            };

            Nfs3FileAttributes clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                attributes.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3FileAttributes(reader);
            }

            Assert.Equal(attributes, clone);
        }
Esempio n. 4
0
        public void RoundTripTest()
        {
            Nfs3FileSystemInfo attributes = new Nfs3FileSystemInfo()
            {
                DirectoryPreferredBytes = 1,
                FileSystemProperties    = Nfs3FileSystemProperties.HardLinks,
                MaxFileSize             = 2,
                ReadMaxBytes            = 3,
                ReadMultipleSize        = 4,
                ReadPreferredBytes      = 5,
                TimePrecision           = Nfs3FileTime.Precision,
                WriteMaxBytes           = 7,
                WriteMultipleSize       = 8,
                WritePreferredBytes     = 9
            };

            Nfs3FileSystemInfo clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                attributes.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3FileSystemInfo(reader);
            }

            Assert.Equal(attributes, clone);
        }
Esempio n. 5
0
        public void RoundTripTest()
        {
            Nfs3ExportResult result = new Nfs3ExportResult()
            {
                Exports = new List <Nfs3Export>()
                {
                    new Nfs3Export()
                    {
                        DirPath = "export",
                        Groups  = new List <string>()
                        {
                            "GroupA",
                            "GroupB"
                        }
                    }
                }
            };

            Nfs3ExportResult clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                result.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3ExportResult(reader);
            }

            Assert.Equal(result, clone);
        }
Esempio n. 6
0
        public void RoundTripTest()
        {
            Nfs3AccessResult result = new Nfs3AccessResult()
            {
                Access           = Nfs3AccessPermissions.Execute,
                ObjectAttributes = new Nfs3FileAttributes()
                {
                    AccessTime = new Nfs3FileTime(new DateTime(2017, 1, 1)),
                    ChangeTime = new Nfs3FileTime(new DateTime(2017, 1, 2)),
                    ModifyTime = new Nfs3FileTime(new DateTime(2017, 1, 3))
                },
                Status = Nfs3Status.AccessDenied
            };

            Nfs3AccessResult clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                result.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3AccessResult(reader);
            }

            Assert.Equal(result, clone);
        }
Esempio n. 7
0
        public void RoundTripTest()
        {
            Nfs3SetAttributes attributes = new Nfs3SetAttributes()
            {
                AccessTime    = new Nfs3FileTime(new DateTime(2017, 1, 1)),
                Gid           = 1,
                Mode          = UnixFilePermissions.GroupAll,
                ModifyTime    = new Nfs3FileTime(new DateTime(2017, 1, 2)),
                SetAccessTime = Nfs3SetTimeMethod.ClientTime,
                SetGid        = true,
                SetMode       = true,
                SetModifyTime = Nfs3SetTimeMethod.ClientTime,
                SetSize       = true,
                SetUid        = true,
                Size          = 4,
                Uid           = 5
            };

            Nfs3SetAttributes clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                attributes.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3SetAttributes(reader);
            }

            Assert.Equal(attributes, clone);
        }
Esempio n. 8
0
        public void RoundTripTest()
        {
            Nfs3Export export = new Nfs3Export()
            {
                DirPath = "test",
                Groups  = new List <string>()
                {
                    "Group1",
                    "Group2"
                }
            };

            Nfs3Export clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                export.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3Export(reader);
            }

            Assert.Equal(export, clone);
        }
Esempio n. 9
0
        public void RoundTripTest()
        {
            RpcCallHeader header = new RpcCallHeader()
            {
                Credentials = new RpcAuthentication()
                {
                },
                Proc       = (int)NfsProc3.Commit,
                Program    = 5,
                RpcVersion = 6,
                Verifier   = new RpcAuthentication()
                {
                },
                Version = 7
            };

            RpcCallHeader clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                header.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new RpcCallHeader(reader);
            }

            Assert.Equal(header, clone);
        }
Esempio n. 10
0
        public void RoundTripTest()
        {
            Nfs3FileSystemStat attributes = new Nfs3FileSystemStat()
            {
                AvailableFreeFileSlotCount = 1,
                AvailableFreeSpaceBytes    = 2,
                FileSlotCount     = 3,
                FreeFileSlotCount = 4,
                FreeSpaceBytes    = 5,
                Invariant         = TimeSpan.FromSeconds(7),
                TotalSizeBytes    = 8
            };

            Nfs3FileSystemStat clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                attributes.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3FileSystemStat(reader);
            }

            Assert.Equal(attributes, clone);
        }
Esempio n. 11
0
        public void RoundTripTest()
        {
            RpcRejectedReplyHeader header = new RpcRejectedReplyHeader()
            {
                AuthenticationStatus = RpcAuthenticationStatus.None,
                MismatchInfo         = new RpcMismatchInfo()
                {
                    High = 1,
                    Low  = 2
                },
                Status = RpcRejectedStatus.RpcMismatch
            };

            RpcRejectedReplyHeader clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                header.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new RpcRejectedReplyHeader(reader);
            }

            Assert.Equal(header, clone);
        }
Esempio n. 12
0
        public void RoundTripTest()
        {
            RpcAcceptedReplyHeader header = new RpcAcceptedReplyHeader()
            {
                AcceptStatus = RpcAcceptStatus.ProgramVersionMismatch,
                MismatchInfo = new RpcMismatchInfo()
                {
                    High = 1,
                    Low  = 2
                },
                Verifier = new RpcAuthentication()
                {
                }
            };

            RpcAcceptedReplyHeader clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                header.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new RpcAcceptedReplyHeader(reader);
            }

            Assert.Equal(header, clone);
        }
        public void RoundTripTest()
        {
            Nfs3PathConfResult authentication = new Nfs3PathConfResult()
            {
                Status           = Nfs3Status.Ok,
                CaseInsensitive  = true,
                CasePreserving   = true,
                ChownRestricted  = true,
                LinkMax          = 1,
                NameMax          = 2,
                NoTrunc          = true,
                ObjectAttributes = new Nfs3FileAttributes()
                {
                    AccessTime = new Nfs3FileTime(new DateTime(2017, 1, 1)),
                    ChangeTime = new Nfs3FileTime(new DateTime(2017, 1, 2)),
                    ModifyTime = new Nfs3FileTime(new DateTime(2017, 1, 2)),
                }
            };

            Nfs3PathConfResult clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                authentication.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3PathConfResult(reader);
            }

            Assert.Equal(authentication, clone);
        }
        public void RoundTripTest()
        {
            Nfs3CreateResult result = new Nfs3CreateResult()
            {
                Status     = Nfs3Status.Ok,
                FileHandle = new Nfs3FileHandle()
                {
                    Value = new byte[] { 0xab, 0xcd }
                },
                CacheConsistency = new Nfs3WeakCacheConsistency()
            };

            Nfs3CreateResult clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                result.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3CreateResult(reader);
            }

            Assert.Equal(result, clone);
        }
Esempio n. 15
0
        public void RoundTripTest()
        {
            Nfs3LookupResult result = new Nfs3LookupResult()
            {
                DirAttributes = new Nfs3FileAttributes()
                {
                    AccessTime   = new Nfs3FileTime(new DateTime(2017, 1, 1)),
                    BytesUsed    = 1,
                    ChangeTime   = new Nfs3FileTime(new DateTime(2017, 1, 2)),
                    FileId       = 2,
                    FileSystemId = 3,
                    Gid          = 4,
                    LinkCount    = 5,
                    Mode         = UnixFilePermissions.GroupAll,
                    ModifyTime   = new Nfs3FileTime(new DateTime(2017, 1, 3)),
                    RdevMajor    = 6,
                    RdevMinor    = 7,
                    Size         = 8,
                    Type         = Nfs3FileType.BlockDevice,
                    Uid          = 9
                },
                ObjectAttributes = new Nfs3FileAttributes()
                {
                    AccessTime   = new Nfs3FileTime(new DateTime(2017, 1, 10)),
                    BytesUsed    = 11,
                    ChangeTime   = new Nfs3FileTime(new DateTime(2017, 1, 12)),
                    FileId       = 12,
                    FileSystemId = 13,
                    Gid          = 14,
                    LinkCount    = 15,
                    Mode         = UnixFilePermissions.GroupWrite,
                    ModifyTime   = new Nfs3FileTime(new DateTime(2017, 1, 13)),
                    RdevMajor    = 16,
                    RdevMinor    = 17,
                    Size         = 18,
                    Type         = Nfs3FileType.Socket,
                    Uid          = 19
                },
                ObjectHandle = new Nfs3FileHandle()
                {
                    Value = new byte[] { 0x20 }
                },
                Status = Nfs3Status.Ok
            };

            Nfs3LookupResult clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                result.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3LookupResult(reader);
            }

            Assert.Equal(result, clone);
        }
 public RpcAcceptedReplyHeader(XdrDataReader reader)
 {
     Verifier = new RpcAuthentication(reader);
     AcceptStatus = (RpcAcceptStatus)reader.ReadInt32();
     if (AcceptStatus == RpcAcceptStatus.ProgramVersionMismatch)
     {
         MismatchInfo = new RpcMismatchInfo(reader);
     }
 }
Esempio n. 17
0
 public RpcAcceptedReplyHeader(XdrDataReader reader)
 {
     Verifier     = new RpcAuthentication(reader);
     AcceptStatus = (RpcAcceptStatus)reader.ReadInt32();
     if (AcceptStatus == RpcAcceptStatus.ProgramVersionMismatch)
     {
         MismatchInfo = new RpcMismatchInfo(reader);
     }
 }
Esempio n. 18
0
 public Nfs3AccessResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     if (reader.ReadBool())
     {
         ObjectAttributes = new Nfs3FileAttributes(reader);
     }
     Access = (Nfs3AccessPermissions)reader.ReadInt32();
 }
Esempio n. 19
0
 public Nfs3AccessResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     if (reader.ReadBool())
     {
         ObjectAttributes = new Nfs3FileAttributes(reader);
     }
     Access = (Nfs3AccessPermissions)reader.ReadInt32();
 }
 public Nfs3WeakCacheConsistency(XdrDataReader reader)
 {
     if (reader.ReadBool())
     {
         Before = new Nfs3WeakCacheConsistencyAttr(reader);
     }
     if (reader.ReadBool())
     {
         After = new Nfs3FileAttributes(reader);
     }
 }
 public Nfs3WeakCacheConsistency(XdrDataReader reader)
 {
     if (reader.ReadBool())
     {
         Before = new Nfs3WeakCacheConsistencyAttr(reader);
     }
     if (reader.ReadBool())
     {
         After = new Nfs3FileAttributes(reader);
     }
 }
Esempio n. 22
0
 public Nfs3WriteResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     CacheConsistency = new Nfs3WeakCacheConsistency(reader);
     if (Status == Nfs3Status.Ok)
     {
         Count = reader.ReadInt32();
         HowCommitted = reader.ReadInt32();
         WriteVerifier = reader.ReadBytes(Nfs3.WriteVerifierSize);
     }
 }
Esempio n. 23
0
 public Nfs3WriteResult(XdrDataReader reader)
 {
     Status           = (Nfs3Status)reader.ReadInt32();
     CacheConsistency = new Nfs3WeakCacheConsistency(reader);
     if (Status == Nfs3Status.Ok)
     {
         Count         = reader.ReadInt32();
         HowCommitted  = reader.ReadInt32();
         WriteVerifier = reader.ReadBytes(Nfs3.WriteVerifierSize);
     }
 }
Esempio n. 24
0
 public RpcReplyHeader(XdrDataReader reader)
 {
     Status = (RpcReplyStatus)reader.ReadInt32();
     if (Status == RpcReplyStatus.Accepted)
     {
         AcceptReply = new RpcAcceptedReplyHeader(reader);
     }
     else
     {
         RejectedReply = new RpcRejectedReplyHeader(reader);
     }
 }
Esempio n. 25
0
 public Nfs3FileSystemInfoResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     if (reader.ReadBool())
     {
         PostOpAttributes = new Nfs3FileAttributes(reader);
     }
     if (Status == Nfs3Status.Ok)
     {
         FileSystemInfo = new Nfs3FileSystemInfo(reader);
     }
 }
Esempio n. 26
0
 public RpcRejectedReplyHeader(XdrDataReader reader)
 {
     Status = (RpcRejectedStatus)reader.ReadInt32();
     if (Status == RpcRejectedStatus.RpcMismatch)
     {
         MismatchInfo = new RpcMismatchInfo(reader);
     }
     else
     {
         AuthenticationStatus = (RpcAuthenticationStatus)reader.ReadInt32();
     }
 }
 public Nfs3FileSystemInfoResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     if (reader.ReadBool())
     {
         PostOpAttributes = new Nfs3FileAttributes(reader);
     }
     if (Status == Nfs3Status.Ok)
     {
         FileSystemInfo = new Nfs3FileSystemInfo(reader);
     }
 }
Esempio n. 28
0
 public RpcReplyHeader(XdrDataReader reader)
 {
     Status = (RpcReplyStatus)reader.ReadInt32();
     if (Status == RpcReplyStatus.Accepted)
     {
         AcceptReply = new RpcAcceptedReplyHeader(reader);
     }
     else
     {
         RejectedReply = new RpcRejectedReplyHeader(reader);
     }
 }
 public RpcRejectedReplyHeader(XdrDataReader reader)
 {
     Status = (RpcRejectedStatus)reader.ReadInt32();
     if (Status == RpcRejectedStatus.RpcMismatch)
     {
         MismatchInfo = new RpcMismatchInfo(reader);
     }
     else
     {
         AuthenticationStatus = (RpcAuthenticationStatus)reader.ReadInt32();
     }
 }
Esempio n. 30
0
 public Nfs3FileSystemInfo(XdrDataReader reader)
 {
     ReadMaxBytes            = reader.ReadUInt32();
     ReadPreferredBytes      = reader.ReadUInt32();
     ReadMultipleSize        = reader.ReadUInt32();
     WriteMaxBytes           = reader.ReadUInt32();
     WritePreferredBytes     = reader.ReadUInt32();
     WriteMultipleSize       = reader.ReadUInt32();
     DirectoryPreferredBytes = reader.ReadUInt32();
     MaxFileSize             = reader.ReadInt64();
     TimePrecision           = new Nfs3FileTime(reader);
     FileSystemProperties    = (Nfs3FileSystemProperties)reader.ReadInt32();
 }
Esempio n. 31
0
 public Nfs3FileSystemInfo(XdrDataReader reader)
 {
     ReadMaxBytes = reader.ReadUInt32();
     ReadPreferredBytes = reader.ReadUInt32();
     ReadMultipleSize = reader.ReadUInt32();
     WriteMaxBytes = reader.ReadUInt32();
     WritePreferredBytes = reader.ReadUInt32();
     WriteMultipleSize = reader.ReadUInt32();
     DirectoryPreferredBytes = reader.ReadUInt32();
     MaxFileSize = reader.ReadInt64();
     TimePrecision = new Nfs3FileTime(reader);
     FileSystemProperties = (Nfs3FileSystemProperties)reader.ReadInt32();
 }
        public void RoundTripTest()
        {
            Nfs3FileSystemInfoResult result = new Nfs3FileSystemInfoResult()
            {
                FileSystemInfo = new Nfs3FileSystemInfo()
                {
                    DirectoryPreferredBytes = 1,
                    FileSystemProperties    = Nfs3FileSystemProperties.HardLinks,
                    MaxFileSize             = 3,
                    ReadMaxBytes            = 4,
                    ReadMultipleSize        = 5,
                    ReadPreferredBytes      = 6,
                    TimePrecision           = Nfs3FileTime.Precision,
                    WriteMaxBytes           = 8,
                    WriteMultipleSize       = 9,
                    WritePreferredBytes     = 10
                },
                PostOpAttributes = new Nfs3FileAttributes()
                {
                    AccessTime   = new Nfs3FileTime(new DateTime(2017, 1, 1)),
                    BytesUsed    = 2,
                    ChangeTime   = new Nfs3FileTime(new DateTime(2017, 1, 3)),
                    FileId       = 4,
                    FileSystemId = 5,
                    Gid          = 6,
                    LinkCount    = 7,
                    Mode         = UnixFilePermissions.OthersExecute,
                    ModifyTime   = new Nfs3FileTime(new DateTime(2017, 1, 8)),
                    RdevMajor    = 9,
                    RdevMinor    = 10,
                    Size         = 11,
                    Type         = Nfs3FileType.BlockDevice,
                    Uid          = 12
                },
                Status = Nfs3Status.Ok
            };

            Nfs3FileSystemInfoResult clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                result.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3FileSystemInfoResult(reader);
            }

            Assert.Equal(result, clone);
        }
Esempio n. 33
0
 public Nfs3ReadResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     if (reader.ReadBool())
     {
         FileAttributes = new Nfs3FileAttributes(reader);
     }
     if (Status == Nfs3Status.Ok)
     {
         Count = reader.ReadInt32();
         Eof   = reader.ReadBool();
         Data  = reader.ReadBuffer();
     }
 }
        public void RoundTripTest()
        {
            Nfs3WriteResult result = new Nfs3WriteResult()
            {
                CacheConsistency = new Nfs3WeakCacheConsistency()
                {
                    Before = new Nfs3WeakCacheConsistencyAttr()
                    {
                        ChangeTime = new Nfs3FileTime(new DateTime(2017, 1, 1)),
                        ModifyTime = new Nfs3FileTime(new DateTime(2017, 1, 2)),
                        Size       = 3
                    },
                    After = new Nfs3FileAttributes()
                    {
                        AccessTime   = new Nfs3FileTime(new DateTime(2017, 1, 1)),
                        BytesUsed    = 2,
                        ChangeTime   = new Nfs3FileTime(new DateTime(2017, 1, 2)),
                        FileId       = 3,
                        FileSystemId = 4,
                        Gid          = 5,
                        LinkCount    = 6,
                        Mode         = UnixFilePermissions.GroupAll,
                        ModifyTime   = new Nfs3FileTime(new DateTime(2017, 1, 3)),
                        RdevMajor    = 7,
                        RdevMinor    = 8,
                        Size         = 9,
                        Type         = Nfs3FileType.NamedPipe,
                        Uid          = 10
                    }
                },
                Count         = 1,
                HowCommitted  = Nfs3StableHow.Unstable,
                Status        = Nfs3Status.Ok,
                WriteVerifier = 3
            };

            Nfs3WriteResult clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                result.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3WriteResult(reader);
            }

            Assert.Equal(result, clone);
        }
Esempio n. 35
0
 public Nfs3DirectoryEntry(XdrDataReader reader)
 {
     FileId = reader.ReadUInt64();
     Name = reader.ReadString();
     Cookie = reader.ReadUInt64();
     if (reader.ReadBool())
     {
         FileAttributes = new Nfs3FileAttributes(reader);
     }
     if (reader.ReadBool())
     {
         FileHandle = new Nfs3FileHandle(reader);
     }
 }
Esempio n. 36
0
 public Nfs3ReadResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     if (reader.ReadBool())
     {
         FileAttributes = new Nfs3FileAttributes(reader);
     }
     if (Status == Nfs3Status.Ok)
     {
         Count = reader.ReadInt32();
         Eof = reader.ReadBool();
         Data = reader.ReadBuffer();
     }
 }
Esempio n. 37
0
 public Nfs3DirectoryEntry(XdrDataReader reader)
 {
     FileId = reader.ReadUInt64();
     Name   = reader.ReadString();
     Cookie = reader.ReadUInt64();
     if (reader.ReadBool())
     {
         FileAttributes = new Nfs3FileAttributes(reader);
     }
     if (reader.ReadBool())
     {
         FileHandle = new Nfs3FileHandle(reader);
     }
 }
        public void RoundTripTest()
        {
            Nfs3ReadDirResult result = new Nfs3ReadDirResult()
            {
                Status         = Nfs3Status.Ok,
                Eof            = false,
                CookieVerifier = 1u,
                DirAttributes  = new Nfs3FileAttributes()
                {
                    AccessTime = new Nfs3FileTime(new DateTime(2018, 1, 1)),
                    ChangeTime = new Nfs3FileTime(new DateTime(2018, 1, 2)),
                    ModifyTime = new Nfs3FileTime(new DateTime(2018, 1, 3)),
                },
                DirEntries = new List <Nfs3DirectoryEntry>()
                {
                    new Nfs3DirectoryEntry()
                    {
                        Cookie         = 2u,
                        FileAttributes = new Nfs3FileAttributes()
                        {
                            AccessTime = new Nfs3FileTime(new DateTime(2018, 2, 1)),
                            ChangeTime = new Nfs3FileTime(new DateTime(2018, 2, 2)),
                            ModifyTime = new Nfs3FileTime(new DateTime(2018, 2, 3)),
                        },
                        FileHandle = new Nfs3FileHandle()
                        {
                            Value = new byte[] { 0x20, 0x18 }
                        },
                        FileId = 2018,
                        Name   = "test.bin"
                    }
                }
            };

            Nfs3ReadDirResult clone = null;

            using (MemoryStream stream = new MemoryStream())
            {
                XdrDataWriter writer = new XdrDataWriter(stream);
                result.Write(writer);

                stream.Position = 0;
                XdrDataReader reader = new XdrDataReader(stream);
                clone = new Nfs3ReadDirResult(reader);
            }

            Assert.Equal(result, clone);
        }
Esempio n. 39
0
        public Nfs3CreateResult(XdrDataReader reader)
        {
            Status = (Nfs3Status)reader.ReadInt32();
            if (Status == Nfs3Status.Ok)
            {
                if (reader.ReadBool())
                {
                    FileHandle = new Nfs3FileHandle(reader);
                }
                if (reader.ReadBool())
                {
                    FileAttributes = new Nfs3FileAttributes(reader);
                }
            }

            CacheConsistency = new Nfs3WeakCacheConsistency(reader);
        }
Esempio n. 40
0
        public Nfs3LookupResult(XdrDataReader reader)
        {
            Status = (Nfs3Status)reader.ReadInt32();
            if (Status == Nfs3Status.Ok)
            {
                ObjectHandle = new Nfs3FileHandle(reader);
                if (reader.ReadBool())
                {
                    ObjectAttributes = new Nfs3FileAttributes(reader);
                }
            }

            if (reader.ReadBool())
            {
                DirAttributes = new Nfs3FileAttributes(reader);
            }
        }
Esempio n. 41
0
 public Nfs3FileAttributes(XdrDataReader reader)
 {
     Type         = (Nfs3FileType)reader.ReadInt32();
     Mode         = (UnixFilePermissions)reader.ReadInt32();
     LinkCount    = reader.ReadUInt32();
     Uid          = reader.ReadUInt32();
     Gid          = reader.ReadUInt32();
     Size         = reader.ReadInt64();
     BytesUsed    = reader.ReadInt64();
     RdevMajor    = reader.ReadUInt32();
     RdevMinor    = reader.ReadUInt32();
     FileSystemId = reader.ReadUInt64();
     FileId       = reader.ReadUInt64();
     AccessTime   = new Nfs3FileTime(reader);
     ModifyTime   = new Nfs3FileTime(reader);
     ChangeTime   = new Nfs3FileTime(reader);
 }
Esempio n. 42
0
        public Nfs3LookupResult(XdrDataReader reader)
        {
            Status = (Nfs3Status)reader.ReadInt32();
            if (Status == Nfs3Status.Ok)
            {
                ObjectHandle = new Nfs3FileHandle(reader);
                if (reader.ReadBool())
                {
                    ObjectAttributes = new Nfs3FileAttributes(reader);
                }
            }

            if (reader.ReadBool())
            {
                DirAttributes = new Nfs3FileAttributes(reader);
            }
        }
Esempio n. 43
0
 public Nfs3FileAttributes(XdrDataReader reader)
 {
     Type = (Nfs3FileType)reader.ReadInt32();
     Mode = (UnixFilePermissions)reader.ReadInt32();
     LinkCount = reader.ReadUInt32();
     Uid = reader.ReadUInt32();
     Gid = reader.ReadUInt32();
     Size = reader.ReadInt64();
     BytesUsed = reader.ReadInt64();
     RdevMajor = reader.ReadUInt32();
     RdevMinor = reader.ReadUInt32();
     FileSystemId = reader.ReadUInt64();
     FileId = reader.ReadUInt64();
     AccessTime = new Nfs3FileTime(reader);
     ModifyTime = new Nfs3FileTime(reader);
     ChangeTime = new Nfs3FileTime(reader);
 }
 public Nfs3GetAttributesResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     Attributes = new Nfs3FileAttributes(reader);
 }
Esempio n. 45
0
 public Nfs3RenameResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     FromDirCacheConsistency = new Nfs3WeakCacheConsistency(reader);
     ToDirCacheConsistency = new Nfs3WeakCacheConsistency(reader);
 }
Esempio n. 46
0
 public Nfs3ModifyResult(XdrDataReader reader)
 {
     Status = (Nfs3Status)reader.ReadInt32();
     CacheConsistency = new Nfs3WeakCacheConsistency(reader);
 }
Esempio n. 47
0
 public RpcMismatchInfo(XdrDataReader reader)
 {
     Low = reader.ReadUInt32();
     High = reader.ReadUInt32();
 }
 public Nfs3WeakCacheConsistencyAttr(XdrDataReader reader)
 {
     Size = reader.ReadInt64();
     ModifyTime = new Nfs3FileTime(reader);
     ChangeTime = new Nfs3FileTime(reader);
 }