This commit is contained in:
zhouhuang 2024-12-16 17:23:02 +08:00
parent ffaa497d0b
commit 98c09f5587

View File

@ -682,14 +682,14 @@ BOOLEAN CZJD3100Process::OnSyntaxDBYK(char *pData, int ord)
BOOLEAN CZJD3100Process::OnSyntanProcessInfo(char *pData, int ord)
{
int pid;
char *pCmd;
//int pid;
//char *pCmd;
char buffer[2048];
CZJD3100ProcessItem* pItem = (CZJD3100ProcessItem *)GetItem(ord);
if (pItem == NULL) return FALSE;
if (pData == NULL) return FALSE;
/*
pCmd = strchr(pData, ' ');
if (NULL == pCmd) return FALSE;
*pCmd = '\0';
@ -699,30 +699,37 @@ BOOLEAN CZJD3100Process::OnSyntanProcessInfo(char *pData, int ord)
{
pid = 0;
}
if (strcmp(pCmd, "get") == 0)
*/
if (strcmp(pData, "get") == 0)
{
pItem->WriteData((BYTE *)"ZJD3100# \r\n", strlen("ZJD3100# \r\n"), ord);
snprintf(buffer, sizeof(buffer), "Name: %s", config.processes[pid].name);
pItem->WriteData((BYTE *)buffer, strlen(buffer), ord);
if (m_proto2name_map.find(config.processes[pid].proto) != m_proto2name_map.end())
for (int k = 0; k < PROCESSES_NUM; k++)
{
snprintf(buffer, sizeof(buffer), ", protocol: %s", m_proto2name_map[config.processes[pid].proto].c_str());
int pid = k;
if ((config.processes[pid].state & 0x01) != TRUE) continue;
snprintf(buffer, sizeof(buffer), "Pid: %d, Name: %s", pid, config.processes[pid].name);
pItem->WriteData((BYTE *)buffer, strlen(buffer), ord);
}
else
{
snprintf(buffer, sizeof(buffer), ",%s", "unknow protocol");
if (m_proto2name_map.find(config.processes[pid].proto) != m_proto2name_map.end())
{
snprintf(buffer, sizeof(buffer), ", protocol: %s", m_proto2name_map[config.processes[pid].proto].c_str());
pItem->WriteData((BYTE *)buffer, strlen(buffer), ord);
}
else
{
snprintf(buffer, sizeof(buffer), ",%s", "unknow protocol");
pItem->WriteData((BYTE *)buffer, strlen(buffer), ord);
}
snprintf(buffer, sizeof(buffer), ", link units: ");
pItem->WriteData((BYTE *)buffer, strlen(buffer), ord);
for (int i = 0; i < PROCESS_UNIT_NUM; i++)
{
if (config.processes[pid].units[i] < 0) continue;
if (i == 0) snprintf(buffer, sizeof(buffer), "%d", config.processes[pid].units[i]);
else snprintf(buffer, sizeof(buffer), ", %d", config.processes[pid].units[i]);
pItem->WriteData((BYTE *)buffer, strlen(buffer), ord);
}
pItem->WriteData((BYTE *)"\r\n", strlen("\r\n"), ord);
}
snprintf(buffer, sizeof(buffer), ", link units: ");
pItem->WriteData((BYTE *)buffer, strlen(buffer), ord);
for (int i = 0; i < PROCESS_UNIT_NUM; i++)
{
if (config.processes[pid].units[i] < 0) continue;
snprintf(buffer, sizeof(buffer), ", %d", config.processes[pid].units[i]);
pItem->WriteData((BYTE *)buffer, strlen(buffer), ord);
}
pItem->WriteData((BYTE *)"\r\n", strlen("\r\n"), ord);
return TRUE;
}