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

📄 dhostm.c

📁 嵌入式RMON,RMON为Remote monitor的缩写,基于SNMP为网络提供主动监控及错误告警,智能交换路由必备协议
💻 C
📖 第 1 页 / 共 4 页
字号:
			return SNMP_NOSUCHNAME;		}		data = (DNPAP_HOST_CONTROL *) local->Data;		obj->Syntax.LngInt = data->Status;		return SNMP_NOERROR;	case SNMP_PDU_SET:		if (local == NULL)		{			switch (obj->Syntax.LngInt)			{			case SNMP_CREATEREQUEST:				if ((local = MibInsert(obj, &HostControlInstance, IdLen, CONTROLINDEXSIZE)) == NULL)					return SNMP_GENERROR;				if ((local->Data = DnpapMalloc(sizeof(DNPAP_HOST_CONTROL))) == NULL)					return SNMP_GENERROR;				data = (DNPAP_HOST_CONTROL *) local->Data;				if (DnpapHostCInit(data) == TRUE)				{					data->Index = local->Index;					data->Status = SNMP_UNDERCREATION;					DnpapMessage(DMC_MESSAGE, DHOST_CREATE, "dhost: collector %ld created", local->Index);					return SNMP_NOERROR;				}				DnpapFree(local->Data);				MibRemove(obj, &HostControlInstance, IdLen, CONTROLINDEXSIZE);				return SNMP_GENERROR;			default:				return SNMP_NOSUCHNAME;			}		}		data = (DNPAP_HOST_CONTROL *) local->Data;		switch (data->Status)		{		case SNMP_UNDERCREATION:			switch (obj->Syntax.LngInt)			{			case SNMP_VALID:				if (DnpapHostCStart(data) == TRUE)				{					data->Status = SNMP_VALID;					DnpapMessage(DMC_MESSAGE, DHOST_START, "dhost: collector %ld active", local->Index);					return SNMP_NOERROR;				}				return SNMP_BADVALUE;			case SNMP_INVALID:				if (DnpapHostCStop(data) == TRUE)				{					DnpapFree(local->Data);					DnpapMessage(DMC_MESSAGE, DHOST_DESTROY, "dhost: collector %ld destroyed", local->Index);					if (MibRemove(obj, &HostControlInstance, IdLen, CONTROLINDEXSIZE) == TRUE)						return SNMP_NOERROR;				}				return SNMP_GENERROR;			default:				return SNMP_BADVALUE;			}		case SNMP_VALID:			switch (obj->Syntax.LngInt)			{			case SNMP_VALID:				return SNMP_NOERROR;			case SNMP_INVALID:				if (DnpapHostCStop(data) == TRUE)				{					DnpapFree(local->Data);					DnpapMessage(DMC_MESSAGE, DHOST_DESTROY, "dhost: 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 DnpapHostAddress(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(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 DnpapHostCreationOrder(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngInt = DnpapHostSearchCreationOrder(local->Data, data);		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostIndex(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngInt = local->Index;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostInPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostOutPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostInOctets(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InOctets;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostOutOctets(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutOctets;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostOutErrors(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutErrors;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostOutBroadcastPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutBroadcastPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostOutMulticastPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutMulticastPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}#ifdef NOT_HOST_GENERICWORD DnpapHostInTCPPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InTCPPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostOutTCPPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutTCPPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostInOtherPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InOtherPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostOutOtherPkts(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutOtherPkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}#endifWORD DnpapHostInPkts64(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket1Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostInPkts65to127(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket2Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostInPkts128to255(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket3Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostInPkts256to511(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket4Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostInPkts512to1023(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket5Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostInPkts1024to1518(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->InBucket6Pkts;		return SNMP_NOERROR;	}	return SNMP_GENERROR;}WORD DnpapHostOutPkts64(SNMP_OBJECT * obj, WORD IdLen){	MIB_LOCAL *local = NULL;	DNPAP_HOST *data = NULL;	if ((local = DnpapHostMibRmon(obj, HostControlInstance, IdLen, 0)) == 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 = DnpapHostSearchHash(local->Data, obj, IdLen)) == NULL)			return SNMP_NOSUCHNAME;		obj->Syntax.LngUns = data->OutBucket1Pkts;

⌨️ 快捷键说明

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