📄 discnodm.c
字号:
return SNMP_NOSUCHNAME; } } data = (DISCNODE_CONTROL *) local->Data; switch (data->Status) { case SNMP_UNDERCREATION: switch (Obj->Syntax.LngInt) { case SNMP_VALID: if (DiscNodeCStart(data) == TRUE) { data->Status = SNMP_VALID; DnpapMessage(DMC_MESSAGE, DISC_START, "discnode: collector %ld active", local->Index); return SNMP_NOERROR; } return SNMP_BADVALUE; case SNMP_INVALID: if (DiscNodeCStop(data) == TRUE) { DnpapFree(local->Data); DnpapMessage(DMC_MESSAGE, DISC_DESTROY, "discnode: collector %ld destroyed", local->Index); if (MibRemove(Obj, &DiscNodeControlInstance, 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 (DiscNodeCStop(data) == TRUE) { DnpapFree(local->Data); DnpapMessage(DMC_MESSAGE, DISC_DESTROY, "discnode: collector %ld destroyed", local->Index); if (MibRemove(Obj, &DiscNodeControlInstance, IdLen, CONTROLINDEXSIZE) == TRUE) return SNMP_NOERROR; } return SNMP_GENERROR; default: return SNMP_BADVALUE; } } } return SNMP_GENERROR;}WORD DiscNodeEthAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD i, len, offset, sublen; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, DISC_TYPE_ETH, &offset, &sublen)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeSearchHash(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; for (i = 0; i < sublen; i++) Obj->Syntax.BufChr[i] = (BYTE) data->Address[offset + i]; Obj->SyntaxLen = sublen; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeIPAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD i, len, offset, sublen; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, DISC_TYPE_IP, &offset, &sublen)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeSearchHash(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; for (i = 0; i < sublen; i++) Obj->Syntax.BufChr[i] = (BYTE) data->Address[offset + i]; Obj->SyntaxLen = sublen; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeUDPAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD len, offset, sublen; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, DISC_TYPE_UDP, &offset, &sublen)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeSearchHash(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = 256 * (LONG) data->Address[offset] + data->Address[offset + 1]; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeTCPAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD len, offset, sublen; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, DISC_TYPE_TCP, &offset, &sublen)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeSearchHash(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = 256 * (LONG) data->Address[offset] + data->Address[offset + 1]; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeTimeEthAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD i, len, offset, sublen; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, DISC_TYPE_ETH, &offset, &sublen)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeTimeSearch(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; for (i = 0; i < sublen; i++) Obj->Syntax.BufChr[i] = (BYTE) data->Address[offset + i]; Obj->SyntaxLen = sublen; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeTimeIPAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD i, len, offset, sublen; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, DISC_TYPE_IP, &offset, &sublen)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeTimeSearch(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; for (i = 0; i < sublen; i++) Obj->Syntax.BufChr[i] = (BYTE) data->Address[offset + i]; Obj->SyntaxLen = sublen; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeTimeUDPAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD len, offset, sublen; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, DISC_TYPE_UDP, &offset, &sublen)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeTimeSearch(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = 256 * (LONG) data->Address[offset] + data->Address[offset + 1]; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeTimeTCPAddress(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD len, offset, sublen; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, DISC_TYPE_TCP, &offset, &sublen)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeTimeSearch(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = 256 * (LONG) data->Address[offset] + data->Address[offset + 1]; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeCreationOrder(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD len; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, type, NULL, NULL)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeSearchHash(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = DiscNodeSearchCreationOrder(local->Data, type, data); return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeIndex(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD len; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, type, NULL, NULL)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeSearchHash(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngInt = local->Index; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeInPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD len; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, type, NULL, NULL)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeSearchHash(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->InPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeOutPkts(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD len; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME; if ((len = DiscTableLen(type, type, NULL, NULL)) == 0) return SNMP_NOSUCHNAME; if ((local = MibRmon(Obj, DiscNodeControlInstance, IdLen, len)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(Obj, &local, IdLen, type, len, &data) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DiscNodeSearchHash(local->Data, type, Obj, IdLen)) == NULL) return SNMP_NOSUCHNAME; Obj->Syntax.LngUns = data->OutPkts; return SNMP_NOERROR; } return SNMP_GENERROR;}WORD DiscNodeInOctets(SNMP_OBJECT * Obj, WORD IdLen){ MIB_LOCAL *local = NULL; DISCNODE *data = NULL; INT type; WORD len; if ((type = DiscTableType(Obj, IdLen)) == 0) return SNMP_NOSUCHNAME;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -