summaryrefslogtreecommitdiffstats
path: root/src/openvpn/multi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvpn/multi.h')
-rw-r--r--src/openvpn/multi.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/openvpn/multi.h b/src/openvpn/multi.h
index 32b89d2..69ed85e 100644
--- a/src/openvpn/multi.h
+++ b/src/openvpn/multi.h
@@ -105,6 +105,10 @@ struct multi_instance {
struct context context; /**< The context structure storing state
* for this VPN tunnel. */
+
+#ifdef ENABLE_ASYNC_PUSH
+ int inotify_watch; /* watch descriptor for acf */
+#endif
};
@@ -172,6 +176,11 @@ struct multi_context {
* Timer object for stale route check
*/
struct event_timeout stale_routes_check_et;
+
+#ifdef ENABLE_ASYNC_PUSH
+ /* mapping between inotify watch descriptors and multi_instances */
+ struct hash *inotify_watchers;
+#endif
};
/*
@@ -327,6 +336,18 @@ void multi_close_instance_on_signal (struct multi_context *m, struct multi_insta
void init_management_callback_multi (struct multi_context *m);
void uninit_management_callback_multi (struct multi_context *m);
+
+#ifdef ENABLE_ASYNC_PUSH
+/**
+ * Called when inotify event is fired, which happens when acf file is closed or deleted.
+ * Continues authentication and sends push_repl
+ *
+ * @param m multi_context
+ * @param mpp_flags
+ */
+void multi_process_file_closed (struct multi_context *m, const unsigned int mpp_flags);
+#endif
+
/*
* Return true if our output queue is not full
*/