📄 dmatrixm.c
字号:
ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, TRUE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, TRUE, &source, &rank)) == NULL) return SNMP_NOSUCHNAME; memcpy(obj->Syntax.BufChr, data->ConnHost->Addr, obj->SyntaxLen = ((DNPAP_MATRIX_CONTROL *) local->Data)->AddressLen); return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixSRankTopNIndex(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, TRUE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, TRUE, &source, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngInt = local->Index; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixSRankTopNRanking(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, TRUE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, TRUE, &source, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngInt = rank; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixSRankTopNPkts(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, TRUE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, TRUE, &source, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = data->Stats->Pkts; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixSRankTopNOctets(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, TRUE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, TRUE, &source, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = data->Stats->Octets; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixSRankTopNErrors(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, TRUE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, TRUE, &source, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = data->Stats->Errors; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixSRankTopNConnections(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, TRUE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, TRUE, &source, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = source->NumberConnect; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixDRankTopNSource(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, FALSE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, FALSE, &dest, &rank)) == NULL) return SNMP_NOSUCHNAME; memcpy(obj->Syntax.BufChr, data->ConnHost->Addr, obj->SyntaxLen = ((DNPAP_MATRIX_CONTROL *) local->Data)->AddressLen); return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixDRankTopNDest(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, FALSE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, FALSE, &dest, &rank)) == NULL) return SNMP_NOSUCHNAME; memcpy(obj->Syntax.BufChr, dest->Addr, obj->SyntaxLen = ((DNPAP_MATRIX_CONTROL *) local->Data)->AddressLen); return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixDRankTopNIndex(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, FALSE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, FALSE, &dest, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngInt = local->Index; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixDRankTopNRanking(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, FALSE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, FALSE, &dest, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngInt = rank; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixDRankTopNPkts(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, FALSE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, FALSE, &dest, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = data->Stats->Pkts; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixDRankTopNOctets(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, FALSE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, FALSE, &dest, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = data->Stats->Octets; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixDRankTopNErrors(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, FALSE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, FALSE, &dest, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = data->Stats->Errors; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}WORD DMatrixDRankTopNConnections(SNMP_OBJECT * obj, WORD idlen){ MIB_LOCAL *local = NULL; ConnInfo *data = NULL; INT rank = 0; Host *source = NULL; Host *dest = NULL; if ((local = DnpapMatrixRankMibRmon(obj, MatrixControlInstance, idlen)) == NULL) return SNMP_NOSUCHNAME; switch (obj->Request) { case SNMP_PDU_NEXT: if (RmonNext(obj, &local, idlen, RANKINDEXSIZE, &data, FALSE, &source, &dest, &rank) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: if (data == NULL && (data = DnpapMatrixSearchTopObj(local->Data, obj, idlen, FALSE, &dest, &rank)) == NULL) return SNMP_NOSUCHNAME; obj->Syntax.LngUns = dest->NumberConnect; return SNMP_NOERROR; case SNMP_PDU_SET: return SNMP_READONLY; } return SNMP_GENERROR;}ConnInfo *SrcDstGetFirstNext(DNPAP_MATRIX_CONTROL * matrixcontrol, SNMP_OBJECT * obj, WORD idlen, BOOLEAN first, BOOLEAN SDorder, Host ** source, Host ** dest, INT * rank){ BYTE srcdst[2 * HOST_SIZE_ADDR]; BYTE *src, *dst; INT i, len; ConnInfo *conn = NULL, *conn2 = NULL; BOOLEAN nextconn, firstconn; WORD addrlen = matrixcontrol->AddressLen; *source = *dest = NULL; *rank = 0; if (matrixcontrol->TableSize == 0) return NULL; nextconn = FALSE; firstconn = FALSE; if (first == FALSE) { if (obj->IdLen > idlen + 1) { if (obj->Id[idlen + 1] > addrlen) return NULL; if (obj->Id[idlen + 1] < addrlen) first = TRUE; } else first = TRUE; if (obj->IdLen > idlen + 1 + addrlen +1) { if (obj->Id[idlen + 1 + addrlen + 1] > addrlen) nextconn = TRUE; if (obj->Id[idlen + 1 + addrlen + 1] < addrlen) firstconn = TRUE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -