// RPC_ENUM_DHCP void InRpcEnumDhcp(RPC_ENUM_DHCP *t, PACK *p) { UINT i; // Validate arguments if (t == NULL || p == NULL) { return; } Zero(t, sizeof(RPC_ENUM_DHCP)); t->NumItem = PackGetInt(p, "NumItem"); t->Items = ZeroMalloc(sizeof(RPC_ENUM_DHCP_ITEM) * t->NumItem); PackGetStr(p, "HubName", t->HubName, sizeof(t->HubName)); for (i = 0;i < t->NumItem;i++) { RPC_ENUM_DHCP_ITEM *e = &t->Items[i]; e->Id = PackGetIntEx(p, "Id", i); e->LeasedTime = PackGetInt64Ex(p, "LeasedTime", i); e->ExpireTime = PackGetInt64Ex(p, "ExpireTime", i); PackGetDataEx2(p, "MacAddress", e->MacAddress, 6, i); e->IpAddress = PackGetIp32Ex(p, "IpAddress", i); e->Mask = PackGetIntEx(p, "Mask", i); PackGetStrEx(p, "Hostname", e->Hostname, sizeof(e->Hostname), i); } }
// RPC_ENUM_NAT void InRpcEnumNat(RPC_ENUM_NAT *t, PACK *p) { UINT i; // Validate arguments if (t == NULL || p == NULL) { return; } Zero(t, sizeof(RPC_ENUM_NAT)); t->NumItem = PackGetInt(p, "NumItem"); PackGetStr(p, "HubName", t->HubName, sizeof(t->HubName)); t->Items = ZeroMalloc(sizeof(RPC_ENUM_NAT_ITEM) * t->NumItem); for (i = 0;i < t->NumItem;i++) { RPC_ENUM_NAT_ITEM *e = &t->Items[i]; e->Id = PackGetIntEx(p, "Id", i); e->Protocol = PackGetIntEx(p, "Protocol", i); e->SrcIp = PackGetIntEx(p, "SrcIp", i); PackGetStrEx(p, "SrcHost", e->SrcHost, sizeof(e->SrcHost), i); e->SrcPort = PackGetIntEx(p, "SrcPort", i); e->DestIp = PackGetIntEx(p, "DestIp", i); PackGetStrEx(p, "DestHost", e->DestHost, sizeof(e->DestHost), i); e->DestPort = PackGetIntEx(p, "DestPort", i); e->CreatedTime = PackGetInt64Ex(p, "CreatedTime", i); e->LastCommTime = PackGetInt64Ex(p, "LastCommTime", i); e->SendSize = PackGetInt64Ex(p, "SendSize", i); e->RecvSize = PackGetInt64Ex(p, "RecvSize", i); e->TcpStatus = PackGetIntEx(p, "TcpStatus", i); } }
void InRpcAddDevice(RPC_ADD_DEVICE *t, PACK *p) { UINT i; // Validate arguments if (t == NULL || p == NULL) { return; } Zero(t, sizeof(RPC_ADD_DEVICE)); PackGetStr(p, "DeviceName", t->DeviceName, sizeof(t->DeviceName)); t->NoPromiscus = PackGetInt(p, "NoPromiscus"); t->LogSetting.PacketLogSwitchType = PackGetInt(p, "PacketLogSwitchType"); for (i = 0;i < NUM_PACKET_LOG;i++) { t->LogSetting.PacketLogConfig[i] = PackGetIntEx(p, "PacketLogConfig", i); } }