实现 SNMP MIB 与理解 RTA 库
1. SNMP MIB 实现
1.1 操作流程
在实现 SNMP MIB 时,对于 RTA Zone 表的写入操作,会先获取当前值并保存到saved_value中,再写入新值。若过程中出现问题,则返回错误。保存的值可用于撤销操作。以下是具体代码示例:
In ACTION, we are retrieving the current value and saving it in saved_value before we write the new value to the RTA Zone table. If we run into trouble, we return an error. The value we save may be used in the UNDO case. case UNDO: /* Back out any changes made in the ACTION case */ sprintf(filter, "id=%d", table_index); sprintf(string, "%d", saved_value); if (saved_value != -1) { /* if we have a saved_value, write it back */ if (0 != update("Zone", "enabled", filter, string)) { return SNMP_ERR_RESOURCEUNAVAILABLE; } } break; We UNDO by writing the sav