此结构体中定义了各个回调函数,在函数init_ksm(E:\code\net-snmp-5.4.2.1\snmplib)中进行了初始化。
void init_ksm(void)
{
struct snmp_secmod_def *def;
// 申请内存
def = SNMP_MALLOC_STRUCT(snmp_secmod_def);
// 初始化回调函数
def->encode_reverse = ksm_rgenerate_out_msg;
def->decode = ksm_process_in_msg;
def->session_open = ksm_session_init;
def->pdu_free_state_ref = ksm_free_state_ref;
def->pdu_free = ksm_free_pdu;
def->pdu_clone = ksm_clone_pdu;
// 注册
register_sec_mod(NETSNMP_KSM_SECURITY_MODEL, "ksm", def);
}