summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/smux.h1
-rw-r--r--lib/snmp.c11
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/smux.h b/lib/smux.h
index e07df2369f..11c1becd60 100644
--- a/lib/smux.h
+++ b/lib/smux.h
@@ -143,6 +143,7 @@ extern int smux_trap_multi_index(struct variable *vp, size_t vp_len,
size_t trapobjlen, uint8_t sptrap);
extern int oid_compare(const oid *, int, const oid *, int);
extern void oid2in_addr(oid[], int, struct in_addr *);
+extern void oid2in6_addr(oid oid[], struct in6_addr *addr);
extern void oid2int(oid oid[], int *dest);
extern void *oid_copy(void *, const void *, size_t);
extern void oid_copy_addr(oid[], const struct in_addr *, int);
diff --git a/lib/snmp.c b/lib/snmp.c
index e92f622bb9..17a4ed4a1d 100644
--- a/lib/snmp.c
+++ b/lib/snmp.c
@@ -64,6 +64,17 @@ void oid2in_addr(oid oid[], int len, struct in_addr *addr)
*pnt++ = oid[i];
}
+void oid2in6_addr(oid oid[], struct in6_addr *addr)
+{
+ unsigned int i;
+ uint8_t *pnt;
+
+ pnt = (uint8_t *)addr;
+
+ for (i = 0; i < sizeof(struct in6_addr); i++)
+ *pnt++ = oid[i];
+}
+
void oid2int(oid oid[], int *dest)
{
uint8_t i;