Module Netsnmp_raw__Session
Session handling including sending and receiving PDUs from remote peers. See the snmp_sess_open(3) manual page for details
module Snmp_version : sig ... end
Supported SNMP versions
module Snmp_sec_auth_proto : sig ... end
Supported SNMP authentication protocols for V3
val snmp_sess_init : unit -> netsnmp_session
snmp_sess_init
- create a netsnmp session ready to open. This function is not thread safe as it loads and parses mibs especially on the first call. The value returned can be discarded once used to open the session with snmp_sess_open.
val snmp_sess_open : netsnmp_session:netsnmp_session -> version:Snmp_version.t -> retries:int -> timeout:int -> peername:string -> localname:string -> local_port:int -> community:string -> securityName:string -> securityAuthProto:Snmp_sec_auth_proto.t -> securityAuthPassword:string -> unit -> t
snmp_sess_open
creates a session between the client and host and returns a handle. RaisesFailure
if the C API fails. The parameters are as follows:netsnmp_session - the value returned from snmp_sess_init - [version - snmp version - [retries] - Number of retries before timeout. - [timeout] - Number of uS until first timeout, then exponential backoff - [peername] - name or address of default peer (may include transport specifier and/or port number) - [localname] - My Domain name or dotted IP address, "" for default - [local_port] - My UDP port number, 0 for default, picked randomly - [community] - V1/V2c community for outgoing requests - ignore by v3. - [securityName] - V3 user name - [securityAuthProto] - V3 auth protocol, this will be converted to the correct oid - [securityAuthPassword] - V3 password, will be converted to securityAuthKey
val snmp_sess_close : t -> unit
snmp_sess_close
shuts down the connection and frees resources.
val snmp_sess_synch_response : t -> Netsnmp_raw.Pdu.t -> (Netsnmp_raw.Oid.t * Netsnmp_raw.ASN1_value.t) list
snmp_sess_synch_response t pdu] sends a pdu and returns the response. Note that this is completely synchronous. Raises the following exceptions
Netsnmp_exceptions.Response_error (err, msg)
for general connection issues,err
is the error (Netsnmp_pdu_error.t
) andmsg
the associated error stringNetsnmp_exceptions.Request_timeout
Netsnmp_exceptions.General_error (syserr, snmperr, errmsg)
for general errors.syserr
is the system error,snmperr
is the SNMP error (Netsnmp_error.t
) anderrmsg
is the error message based on the error codes. Note that the PDU will be freed in all cases