private void GetPort(rpcCracker cracker, rpcPacker packer)
{
const uint IPPROTO_UDP = 17;
uint prog = cracker.get_uint32();
uint vers = cracker.get_uint32();
uint prot = cracker.get_uint32();
uint port = cracker.get_uint32();
Console.WriteLine("prog:{0}, vers:{1}, prot:{2}, port:{3}", prog, vers, prot, port);
uint registeredPort = 0;
if (prot == IPPROTO_UDP)
{
if (prog == (uint)Progs.mountd && vers == (uint)Vers.mountd)
{
registeredPort = (uint)Ports.mountd;
}
else if (prog == (uint)Progs.nfsd && vers == (uint)Vers.nfsd)
{
registeredPort = (uint)Ports.nfsd;
}
}
packer.setUint32(registeredPort);
}