summaryrefslogtreecommitdiff
path: root/include/net-snmp/library/snmpCallbackDomain.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net-snmp/library/snmpCallbackDomain.h')
-rw-r--r--include/net-snmp/library/snmpCallbackDomain.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/include/net-snmp/library/snmpCallbackDomain.h b/include/net-snmp/library/snmpCallbackDomain.h
new file mode 100644
index 0000000..e1be70b
--- /dev/null
+++ b/include/net-snmp/library/snmpCallbackDomain.h
@@ -0,0 +1,73 @@
+#ifndef _SNMPCALLBACKDOMAIN_H
+#define _SNMPCALLBACKDOMAIN_H
+
+#ifndef NET_SNMP_CONFIG_H
+#error "Please include <netsnmp/net-snmp-config.h> before this file"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef NETSNMP_TRANSPORT_CALLBACK_DOMAIN
+
+#include <net-snmp/types.h>
+#include <net-snmp/library/snmp_transport.h>
+
+typedef struct netsnmp_callback_pass_s {
+ int return_transport_num;
+ netsnmp_pdu *pdu;
+ struct netsnmp_callback_pass_s *next;
+} netsnmp_callback_pass;
+
+typedef struct netsnmp_callback_info_s {
+ int linkedto;
+ void *parent_data;
+ netsnmp_callback_pass *data;
+ int callback_num;
+ int pipefds[2];
+} netsnmp_callback_info;
+
+netsnmp_transport *netsnmp_callback_transport(int);
+int netsnmp_callback_hook_parse(netsnmp_session * sp,
+ netsnmp_pdu *pdu,
+ u_char * packetptr,
+ size_t len);
+int netsnmp_callback_hook_build(netsnmp_session * sp,
+ netsnmp_pdu *pdu,
+ u_char * ptk, size_t * len);
+int netsnmp_callback_check_packet(u_char * pkt, size_t len);
+netsnmp_pdu *netsnmp_callback_create_pdu(netsnmp_transport *transport,
+ void *opaque, size_t olength);
+NETSNMP_IMPORT
+netsnmp_session *netsnmp_callback_open(int attach_to,
+ int (*return_func) (int op,
+ netsnmp_session
+ * session,
+ int reqid,
+ netsnmp_pdu
+ *pdu,
+ void *magic),
+ int (*fpre_parse) (netsnmp_session
+ *,
+ struct
+ netsnmp_transport_s
+ *, void *, int),
+ int (*fpost_parse) (netsnmp_session
+ *,
+ netsnmp_pdu *,
+ int));
+NETSNMP_IMPORT
+void netsnmp_clear_callback_list(void);
+
+#else
+
+#define netsnmp_clear_callback_list()
+
+
+#endif /*NETSNMP_TRANSPORT_CALLBACK_DOMAIN*/
+
+#ifdef __cplusplus
+}
+#endif
+#endif/*_SNMPCALLBACKDOMAIN_H*/