📄 hostm.c
字号:
{ DnpapFree(local->Data); DnpapMessage(DMC_MESSAGE, HOST_DESTROY, "host: collector %ld destroyed", local->Index); if (MibRemove(Obj, &HostControlInstance, IdLen, CONTROLINDEXSIZE) == TRUE) return SNMP_NOERROR; } return SNMP_GENERROR; default: return SNMP_BADVALUE; } } } return SNMP_GENERROR;}WORD hostAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; memcpy(Obj->Syntax.BufChr, data->Address, Obj->SyntaxLen = ((HOST_CONTROL *) local->Data)->AddressLen); return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostCreationOrder(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = HostSearchCreationOrder(local->Data, data); return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostIndex(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = local->Index; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostInPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->InPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostOutPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostInOctets(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->InOctets; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostOutOctets(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutOctets; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostOutErrors(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutErrors; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostOutBroadcastPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutBroadcastPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostOutMulticastPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = HostMibRmon(Obj, HostControlInstance, IdLen)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, HOSTINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostSearchHash(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutMulticastPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; memcpy(Obj->Syntax.BufChr, data->Address, Obj->SyntaxLen = ((HOST_CONTROL *) local->Data)->AddressLen); return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeCreationOrder(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = Obj->Id[IdLen + 1]; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeIndex(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = local->Index; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeInPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->InPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeOutPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeInOctets(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->InOctets; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeOutOctets(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutOctets; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeOutErrors(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutErrors; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeOutBroadcastPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutBroadcastPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD hostTimeOutMulticastPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; HOST *data = NULL; if ((local = MibRmon(Obj, HostControlInstance, IdLen, TIMEINDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, TIMEINDEXSIZE, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = HostTimeSearch(local->Data, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutMulticastPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}VOID HostChannelStop(LONG channelIndex){ MIB_LOCAL *hostinstance; HOST_CONTROL *hostcontrol; for (hostinstance = HostControlInstance; hostinstance != NULL; hostinstance = hostinstance->Next) { hostcontrol = hostinstance->Data; if (hostcontrol->Status == SNMP_VALID && hostcontrol->Channel == TRUE && hostcontrol->ChannelAccept == TRUE && hostcontrol->Source[hostcontrol->SourceLen - 1] == channelIndex) hostcontrol->ChannelAccept = FALSE; }}VOID HostPkt(LONG channelIndex, PROT_PKT * pkt){ MIB_LOCAL *hostinstance; HOST_CONTROL *hostcontrol; for (hostinstance = HostControlInstance; hostinstance != NULL; hostinstance = hostinstance->Next) { hostcontrol = hostinstance->Data; if (hostcontrol->Status == SNMP_VALID && hostcontrol->Channel == TRUE && hostcontrol->ChannelAccept == TRUE && hostcontrol->Source[hostcontrol->SourceLen - 1] == channelIndex) HostHandlePkt(hostcontrol, pkt); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -