public RpcAuthentication(RpcCredentials credential) { _flavour = credential.AuthFlavour; MemoryStream ms = new MemoryStream(); XdrDataWriter writer = new XdrDataWriter(ms); credential.Write(writer); _body = ms.ToArray(); }
protected XdrDataWriter StartCallMessage(MemoryStream ms, RpcCredentials credentials, uint procedure) { XdrDataWriter writer = new XdrDataWriter(ms); writer.Write(_client.NextTransactionId()); writer.Write((int)RpcMessageType.Call); RpcCallHeader hdr = new RpcCallHeader(); hdr.RpcVersion = RpcVersion; hdr.Program = (uint)Identifier; hdr.Version = (uint)Version; hdr.Proc = procedure; hdr.Credentials = new RpcAuthentication(credentials ?? new RpcNullCredentials()); hdr.Verifier = RpcAuthentication.Null(); hdr.Write(writer); return writer; }
internal override void Write(XdrDataWriter writer) { writer.Write((int)0); writer.Write(_machineName); writer.Write(_uid); writer.Write(_gid); if (_gids == null) { writer.Write((int)0); } else { writer.Write(_gids.Length); for (int i = 0; i < _gids.Length; ++i) { writer.Write(_gids[i]); } } }
public Nfs3MountResult Mount(string dirPath) { MemoryStream ms = new MemoryStream(); XdrDataWriter writer = StartCallMessage(ms, _client.Credentials, 1); writer.Write(dirPath); RpcReply reply = DoSend(ms); if (reply.Header.IsSuccess) { Nfs3Status status = (Nfs3Status)reply.BodyReader.ReadInt32(); if (status == Nfs3Status.Ok) { return(new Nfs3MountResult(reply.BodyReader)); } throw new Nfs3Exception(status); } else { throw new RpcException(reply.Header.ReplyHeader); } }
internal void Write(XdrDataWriter writer) { writer.WriteBuffer(Value); }
////public TimeSpan ToTimeSpan() ////{ //// return new TimeSpan(_seconds * TicksPerSec + (_nseconds / TicksPerNanoSec)); ////} public void Write(XdrDataWriter writer) { writer.Write(_seconds); writer.Write(_nseconds); }
public void Write(XdrDataWriter writer) { writer.Write((int)_flavour); writer.WriteBuffer(_body); }