⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dhostm.c

📁 嵌入式RMON,RMON为Remote monitor的缩写,基于SNMP为网络提供主动监控及错误告警,智能交换路由必备协议
💻 C
📖 第 1 页 / 共 4 页
字号:
	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutTCPPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeInOtherPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InOtherPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeOutOtherPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutOtherPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}#endifWORD DnpapHostTimeInPkts64(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket1Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeInPkts65to127(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket2Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeInPkts128to255(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket3Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeInPkts256to511(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket4Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeInPkts512to1023(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket5Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeInPkts1024to1518(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket6Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeOutPkts64(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutBucket1Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeOutPkts65to127(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutBucket2Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeOutPkts128to255(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutBucket3Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeOutPkts256to511(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutBucket4Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeOutPkts512to1023(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutBucket5Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostTimeOutPkts1024to1518(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_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 = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutBucket6Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostIFTTimeAddress(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = MibRmon(obj, HostControlInstance, IdLen, TIMEBUCKETINDEXSIZE)) == NULL)		return SNMP_NOSUCHNAME;	switch (obj->Request)	{	case SNMP_PDU_NEXT:		if (RmonNext(obj, &local, IdLen, TIMEBUCKETINDEXSIZE, &data) == FALSE)			return SNMP_NOSUCHNAME;	case SNMP_PDU_GET:		if (data == NULL && (data = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		memcpy(obj->Syntax.BufChr, data->Address, obj->SyntaxLen = ((DNPAP_HOST_CONTROL *) local->Data)->AddressLen);		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostIFTTimeInterval(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = MibRmon(obj, HostControlInstance, IdLen, TIMEBUCKETINDEXSIZE)) == NULL)		return SNMP_NOSUCHNAME;	switch (obj->Request)	{	case SNMP_PDU_NEXT:		if (RmonNext(obj, &local, IdLen, TIMEBUCKETINDEXSIZE, &data) == FALSE)			return SNMP_NOSUCHNAME;	case SNMP_PDU_GET:		if (data == NULL && (data = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngInt = obj->Id[IdLen + 1 + 1];		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostIFTTimeCreationOrder(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = MibRmon(obj, HostControlInstance, IdLen, TIMEBUCKETINDEXSIZE)) == NULL)		return SNMP_NOSUCHNAME;	switch (obj->Request)	{	case SNMP_PDU_NEXT:		if (RmonNext(obj, &local, IdLen, TIMEBUCKETINDEXSIZE, &data) == FALSE)			return SNMP_NOSUCHNAME;	case SNMP_PDU_GET:		if (data == NULL && (data = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngInt = obj->Id[IdLen + 1];		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostIFTTimeIndex(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = MibRmon(obj, HostControlInstance, IdLen, TIMEBUCKETINDEXSIZE)) == NULL)		return SNMP_NOSUCHNAME;	switch (obj->Request)	{	case SNMP_PDU_NEXT:		if (RmonNext(obj, &local, IdLen, TIMEBUCKETINDEXSIZE, &data) == FALSE)			return SNMP_NOSUCHNAME;	case SNMP_PDU_GET:		if (data == NULL && (data = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngInt = local->Index;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostIFTTimeIATPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = MibRmon(obj, HostControlInstance, IdLen, TIMEBUCKETINDEXSIZE)) == NULL)		return SNMP_NOSUCHNAME;	switch (obj->Request)	{	case SNMP_PDU_NEXT:		if (RmonNext(obj, &local, IdLen, TIMEBUCKETINDEXSIZE, &data) == FALSE)			return SNMP_NOSUCHNAME;	case SNMP_PDU_GET:		if (data == NULL && (data = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->IATBucketsPkts[obj->Id[IdLen + 1 + 1] - 1];		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostIFTTimeISTPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = MibRmon(obj, HostControlInstance, IdLen, TIMEBUCKETINDEXSIZE)) == NULL)		return SNMP_NOSUCHNAME;	switch (obj->Request)	{	case SNMP_PDU_NEXT:		if (RmonNext(obj, &local, IdLen, TIMEBUCKETINDEXSIZE, &data) == FALSE)			return SNMP_NOSUCHNAME;	case SNMP_PDU_GET:		if (data == NULL && (data = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->ISTBucketsPkts[obj->Id[IdLen + 1 + 1] - 1];		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostIFTTimeIATOctets(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = MibRmon(obj, HostControlInstance, IdLen, TIMEBUCKETINDEXSIZE)) == NULL)		return SNMP_NOSUCHNAME;	switch (obj->Request)	{	case SNMP_PDU_NEXT:		if (RmonNext(obj, &local, IdLen, TIMEBUCKETINDEXSIZE, &data) == FALSE)			return SNMP_NOSUCHNAME;	case SNMP_PDU_GET:		if (data == NULL && (data = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->IATBucketsOctets[obj->Id[IdLen + 1 + 1] - 1];		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostIFTTimeISTOctets(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = MibRmon(obj, HostControlInstance, IdLen, TIMEBUCKETINDEXSIZE)) == NULL)		return SNMP_NOSUCHNAME;	switch (obj->Request)	{	case SNMP_PDU_NEXT:		if (RmonNext(obj, &local, IdLen, TIMEBUCKETINDEXSIZE, &data) == FALSE)			return SNMP_NOSUCHNAME;	case SNMP_PDU_GET:		if (data == NULL && (data = DnpapHostTimeSearch(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->ISTBucketsOctets[obj->Id[IdLen + 1 + 1] - 1];		return SNMP_NOERROR;	}	return SNMP_GENERROR;}VOID DnpapHostChannelStop(LONG channelIndex){	MIB_LOCAL *hostinstance;	DNPAP_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 DnpapHostPkt(LONG channelIndex, PROT_PKT * pkt){	MIB_LOCAL *hostinstance;	DNPAP_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)			DnpapHostHandlePkt(hostcontrol, pkt);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -