public Nfs3RenameResult Rename(Nfs3FileHandle fromDirHandle, string fromName, Nfs3FileHandle toDirHandle, string toName) { MemoryStream ms = new MemoryStream(); XdrDataWriter writer = StartCallMessage(ms, _client.Credentials, NfsProc3.Rename); fromDirHandle.Write(writer); writer.Write(fromName); toDirHandle.Write(writer); writer.Write(toName); RpcReply reply = DoSend(ms); if (reply.Header.IsSuccess) { return(new Nfs3RenameResult(reply.BodyReader)); } else { throw new RpcException(reply.Header.ReplyHeader); } }
public Nfs3CreateResult Create(Nfs3FileHandle dirHandle, string name, bool createNew, Nfs3SetAttributes attributes) { MemoryStream ms = new MemoryStream(); XdrDataWriter writer = StartCallMessage(ms, _client.Credentials, NfsProc3.Create); dirHandle.Write(writer); writer.Write(name); writer.Write((int)(createNew ? 1 : 0)); attributes.Write(writer); RpcReply reply = DoSend(ms); if (reply.Header.IsSuccess) { return(new Nfs3CreateResult(reply.BodyReader)); } else { throw new RpcException(reply.Header.ReplyHeader); } }
public Nfs3ReadDirPlusResult ReadDirPlus(Nfs3FileHandle dir, ulong cookie, byte[] cookieVerifier, uint dirCount, uint maxCount) { MemoryStream ms = new MemoryStream(); XdrDataWriter writer = StartCallMessage(ms, _client.Credentials, 17); dir.Write(writer); writer.Write(cookie); writer.WriteBytes(cookieVerifier ?? new byte[Nfs3.CookieVerifierSize]); writer.Write(dirCount); writer.Write(maxCount); RpcReply reply = DoSend(ms); if (reply.Header.IsSuccess) { return(new Nfs3ReadDirPlusResult(reply.BodyReader)); } else { throw new RpcException(reply.Header.ReplyHeader); } }
public Nfs3WriteResult Write(Nfs3FileHandle handle, long position, byte[] buffer, int bufferOffset, int count) { MemoryStream ms = new MemoryStream(); XdrDataWriter writer = StartCallMessage(ms, _client.Credentials, 7); handle.Write(writer); writer.Write(position); writer.Write(count); writer.Write((int)0); // UNSTABLE writer.WriteBuffer(buffer, bufferOffset, count); RpcReply reply = DoSend(ms); if (reply.Header.IsSuccess) { return(new Nfs3WriteResult(reply.BodyReader)); } else { throw new RpcException(reply.Header.ReplyHeader); } }