📄 statm.c
字号:
WORD etherStatsFragments (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; Obj->Syntax.LngUns = data->Fragments; return SNMP_NOERROR; }}WORD etherStatsJabbers (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; Obj->Syntax.LngUns = data->Jabbers; return SNMP_NOERROR; }}WORD etherStatsCollisions (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; Obj->Syntax.LngUns = data->Collisions; return SNMP_NOERROR; }}WORD etherStatsPkts64Octets (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; Obj->Syntax.LngUns = data->Pkts64Octets; return SNMP_NOERROR; }}WORD etherStatsPkts65to127Octets (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; Obj->Syntax.LngUns = data->Pkts65to127Octets; return SNMP_NOERROR; }}WORD etherStatsPkts128to255Octets (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; Obj->Syntax.LngUns = data->Pkts128to255Octets; return SNMP_NOERROR; }}WORD etherStatsPkts256to511Octets (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; Obj->Syntax.LngUns = data->Pkts256to511Octets; return SNMP_NOERROR; }}WORD etherStatsPkts512to1023Octets (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; Obj->Syntax.LngUns = data->Pkts512to1023Octets; return SNMP_NOERROR; }}WORD etherStatsPkts1024to1518Octets (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; Obj->Syntax.LngUns = data->Pkts1024to1518Octets; return SNMP_NOERROR; }}WORD etherStatsOwner (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; if ((local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE)) == NULL) return SNMP_NOSUCHNAME; switch (Obj->Request) { case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) return SNMP_NOSUCHNAME; case SNMP_PDU_GET: data = (ETHER_STATS*) local->Data; memcpy (Obj->Syntax.BufChr, data->Owner, data->OwnerLen); Obj->SyntaxLen = data->OwnerLen; return SNMP_NOERROR; case SNMP_PDU_SET: data = (ETHER_STATS*) local->Data; if (data->Status != SNMP_UNDERCREATION) return SNMP_READONLY; memcpy (data->Owner, Obj->Syntax.BufChr, Obj->SyntaxLen); data->OwnerLen = Obj->SyntaxLen; return SNMP_NOERROR; }}WORD etherStatsStatus (SNMP_OBJECT *Obj, WORD IdLen){ MIB_LOCAL *local = NULL; ETHER_STATS *data; local = MibRmon(Obj, etherStats, IdLen, INDEXSIZE); switch (Obj->Request) { case SNMP_PDU_GET: if (local == NULL) { Obj->Syntax.LngInt = SNMP_INVALID; return SNMP_NOSUCHNAME; } data = (ETHER_STATS*) local->Data; Obj->Syntax.LngInt = data->Status; return SNMP_NOERROR; case SNMP_PDU_NEXT: if (RmonNext (Obj, &local, IdLen, INDEXSIZE, NULL) == FALSE) { Obj->Syntax.LngInt = SNMP_INVALID; return SNMP_NOSUCHNAME; } data = (ETHER_STATS*) 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, ðerStats, IdLen, INDEXSIZE)) == NULL) return SNMP_GENERROR; if ((local->Data = DnpapMalloc(sizeof(ETHER_STATS))) == NULL) return SNMP_GENERROR; data = (ETHER_STATS*) local->Data; memset(data, 0, sizeof(ETHER_STATS)); if (StatCInit(data) == TRUE) { data->Status = SNMP_UNDERCREATION; DnpapMessage(DMC_MESSAGE, STAT_CREATE, "etherStat: collector %ld created", local->Index); return SNMP_NOERROR; } DnpapFree(local->Data); MibRemove (Obj, ðerStats, IdLen, INDEXSIZE); return SNMP_GENERROR; default: return SNMP_NOSUCHNAME; } } data = (ETHER_STATS*) local->Data; switch (data->Status) { case SNMP_UNDERCREATION: switch (Obj->Syntax.LngInt) { case SNMP_VALID: if (StatCStart(data) == TRUE) { data->Status = SNMP_VALID; DnpapMessage(DMC_MESSAGE, STAT_ACTIVE, "etherStat: collector %ld active", local->Index); return SNMP_NOERROR; } else return SNMP_GENERROR; case SNMP_INVALID: if (StatCStop(data) == TRUE) { DnpapFree(local->Data); DnpapMessage(DMC_MESSAGE, STAT_DESTROY, "etherStat: collector %ld destroyed", local->Index); if (MibRemove (Obj, ðerStats, IdLen, INDEXSIZE) == TRUE) return SNMP_NOERROR; } return SNMP_GENERROR; default: return SNMP_BADVALUE; } case SNMP_VALID: switch (Obj->Syntax.LngInt) { case SNMP_INVALID: if (StatCStop(data) == TRUE) { DnpapFree(local->Data); DnpapMessage(DMC_MESSAGE, STAT_DESTROY, "etherStat: collector %ld destroyed", local->Index); if (MibRemove (Obj, ðerStats, IdLen, INDEXSIZE) == TRUE) return SNMP_NOERROR; } return SNMP_GENERROR; case SNMP_VALID: return SNMP_NOERROR; default: return SNMP_BADVALUE; } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -