20#ifndef DETERMINISTICESPASYNCWEBSERVER_SNMP_NOTIFY_H
21#define DETERMINISTICESPASYNCWEBSERVER_SNMP_NOTIFY_H
27#if DETWS_ENABLE_SNMP_TRAP
30enum class SnmpVbType : uint8_t
35 SNMP_VB_COUNTER32 = 3,
37 SNMP_VB_TIMETICKS = 5,
50 const uint32_t *oid_val;
68size_t snmp_notify_build_v2c(uint8_t *out,
size_t cap,
const char *community, uint8_t pdu_tag, uint32_t request_id,
69 const uint32_t *trap_oid,
size_t trap_oid_len, uint32_t uptime_ticks,
70 const SnmpVarbind *vbs,
size_t n);
81size_t snmp_notify_build_pdu(BerEnc *e, uint8_t pdu_tag, uint32_t request_id,
const uint32_t *trap_oid,
82 size_t trap_oid_len, uint32_t uptime_ticks,
const SnmpVarbind *vbs,
size_t n);
92bool snmp_trap_v2c(
const char *dst_ip, uint16_t port,
const char *community,
const uint32_t *trap_oid,
93 size_t trap_oid_len,
const SnmpVarbind *vbs,
size_t n);
102bool snmp_inform_v2c(
const char *dst_ip, uint16_t port,
const char *community, uint32_t request_id,
103 const uint32_t *trap_oid,
size_t trap_oid_len,
const SnmpVarbind *vbs,
size_t n);
105#if DETWS_ENABLE_SNMP_V3
113bool snmp_trap_v3(
const char *dst_ip, uint16_t port,
const uint32_t *trap_oid,
size_t trap_oid_len,
114 const SnmpVarbind *vbs,
size_t n);
125bool snmp_inform_v3(
const char *dst_ip, uint16_t port, uint32_t request_id,
const uint32_t *trap_oid,
126 size_t trap_oid_len,
const SnmpVarbind *vbs,
size_t n);
User-facing configuration for DeterministicESPAsyncWebServer.