Provided by: erlang-manpages_20.2.2+dfsg-1ubuntu2_all bug

NAME

       snmp_pdus - Encode and Decode Functions for SNMP PDUs

DESCRIPTION

       RFC1157,  RFC1905  and/or  RFC2272  should  be studied carefully before using this module,
       snmp_pdus.

       The module snmp_pdus contains functions for encoding and decoding of  SNMP  protocol  data
       units  (PDUs).  In  short,  this  module  converts  a  list  of  bytes  to  Erlang  record
       representations and  vice  versa.  The  record  definitions  can  be  found  in  the  file
       snmp/include/snmp_types.hrl.  If  snmpv3  is used, the module that includes snmp_types.hrl
       must define the constant SNMP_USE_V3 before the header file is included. Example:

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

       Encoding and decoding must be done explicitly when writing your own Net if process.

EXPORTS

       dec_message([byte()]) -> Message

              Types:

                 Message = #message

              Decodes a list of bytes into an SNMP Message. Note, if there is a v3  message,  the
              msgSecurityParameters are not decoded. They must be explicitly decoded by a call to
              a security model specific decoding  function,  e.g.  dec_usm_security_parameters/1.
              Also  note,  if  the  scopedPDU is encrypted, the OCTET STRING encoded encryptedPDU
              will be present in the data field.

       dec_message_only([byte()]) -> Message

              Types:

                 Message = #message

              Decodes a list of bytes into an SNMP Message, but does not decode the data part  of
              the Message. That means, data is still a list of bytes, normally an encoded PDU (v1
              and V2) or an encoded and possibly encrypted scopedPDU (v3).

       dec_pdu([byte()]) -> Pdu

              Types:

                 Pdu = #pdu

              Decodes a list of bytes into an SNMP Pdu.

       dec_scoped_pdu([byte()]) -> ScopedPdu

              Types:

                 ScopedPdu = #scoped_pdu

              Decodes a list of bytes into an SNMP ScopedPdu.

       dec_scoped_pdu_data([byte()]) -> ScopedPduData

              Types:

                 ScopedPduData = #scoped_pdu | EncryptedPDU
                 EncryptedPDU = [byte()]

              Decodes a list of bytes into either a scoped pdu record, or - if the scoped pdu was
              encrypted - to a list of bytes.

       dec_usm_security_parameters([byte()]) -> UsmSecParams

              Types:

                 UsmSecParams = #usmSecurityParameters

              Decodes a list of bytes into an SNMP UsmSecurityParameters

       enc_encrypted_scoped_pdu(EncryptedScopedPdu) -> [byte()]

              Types:

                 EncryptedScopedPdu = [byte()]

              Encodes  an  encrypted  SNMP ScopedPdu into an OCTET STRING that can be used as the
              data field in a  message  record,  that  later  can  be  encoded  with  a  call  to
              enc_message_only/1.

              This function should be used whenever the ScopedPDU is encrypted.

       enc_message(Message) -> [byte()]

              Types:

                 Message = #message

              Encodes a message record to a list of bytes.

       enc_message_only(Message) -> [byte()]

              Types:

                 Message = #message

              Message  is  a  record  where  the  data  field is assumed to be encoded (a list of
              bytes). If there is a v1 or v2 message, the data field is an encoded  PDU,  and  if
              there is a v3 message, data is an encoded and possibly encrypted scopedPDU.

       enc_pdu(Pd) -> [byte()]

              Types:

                 Pdu = #pdu

              Encodes an SNMP Pdu into a list of bytes.

       enc_scoped_pdu(ScopedPdu) -> [byte()]

              Types:

                 ScopedPdu = #scoped_pdu

              Encodes  an  SNMP ScopedPdu into a list of bytes, which can be encrypted, and after
              encryption, encoded with a call to enc_encrypted_scoped_pdu/1; or it can be used as
              the   data   field   in   a   message  record,  which  then  can  be  encoded  with
              enc_message_only/1.

       enc_usm_security_parameters(UsmSecParams) -> [byte()]

              Types:

                 UsmSecParams = #usmSecurityParameters

              Encodes SNMP UsmSecurityParameters into a list of bytes.