Erlang 20

snmp_pdus

snmp_pdus

模块

snmp_pdus

模块摘要

SNMP PDU的编解码功能

描述

在使用这个模块之前,应该仔细研究RFC1157,RFC1905和/或RFC2272 snmp_pdus

模块snmp_pdus包含SNMP协议数据单元%28PDU%29的编码和解码功能。简而言之,这个模块将字节列表转换为Erlang记录表示,反之亦然。可以在文件中找到记录定义。snmp/include/snmp_types.hrl如果使用snmpv 3,则包括snmp_types.hrl必须定义常量SNMP_USE_V3在头文件包含之前。例子:

-define(SNMP_USE_V3, true). -include_lib("snmp/include/snmp_types.hrl").

在编写您自己的Net if进程时,必须显式地进行编码和解码。

出口

dec_message([byte()]) -> Message

类型

将字节列表解码为SNMP消息。注意,如果有v3消息,则msgSecurityParameters没有解码。它们必须通过对特定于安全模型的解码功能的调用来显式解码。dec_usm_security_parameters/1也请注意,如果scopedPDU被加密,则八进制字符串被编码。encryptedPDU将出现在data场。

dec_message_only([byte()]) -> Message

类型

将字节列表解码为SNMP消息,但不解码消息的数据部分。这意味着,数据仍然是一个字节列表,通常是一个编码的PDU(v1和V2)或一个编码的和可能加密的scopedPDU(v3)。

dec_pdu([byte()]) -> Pdu

类型

将字节列表解码为SNMP PDU。

dec_scoped_pdu([byte()]) -> ScopedPdu

类型

将字节列表解码为SNMP ScopedPdu。

dec_scoped_pdu_data([byte()]) -> ScopedPduData

类型

将字节列表解码为范围PDU记录,或者(如果范围PDU被加密)为字节列表。

dec_usm_security_parameters([byte()]) -> UsmSecParams

类型

将字节列表解码为SNMP UsmSecurityParameters

enc_encrypted_scoped_pdu(EncryptedScopedPdu) -> [byte()]

类型

将加密的SNMP ScopedPdu编码为可用作记录中data字段的OCTET STRING message,以后可以通过调用进行编码enc_message_only/1

函数的任何时候都应该使用此函数。ScopedPDU被加密了。

enc_message(Message) -> [byte()]

类型

将消息记录编码为字节列表。

enc_message_only(Message) -> [byte()]

类型

Messagedata假定字段被编码的记录(字节列表)。如果存在v1或v2消息,则该data字段是编码的PDU,并且如果存在v3消息,data则是编码的并且可能是加密的scopedPDU

enc_pdu(Pd) -> [byte()]

类型

将SNMP PDU编码为字节列表。

enc_scoped_pdu(ScopedPdu) -> [byte()]

类型

将SNMP ScopedPdu编码成可以加密的字节列表,并在加密后通过呼叫编码enc_encrypted_scoped_pdu/1; 或者它可以用作记录中的data字段message,然后可以用它来编码enc_message_only/1

enc_usm_security_parameters(UsmSecParams) -> [byte()]

类型

将SNMP UsmSecurityParameters编码为字节列表。