20#ifndef PROTOCORE_SNMP_NOTIFY_H
21#define PROTOCORE_SNMP_NOTIFY_H
27#if PC_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 pc_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 pc_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 pc_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 pc_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);
113bool pc_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 pc_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 ProtoCore.