summary refs log tree commit diff
path: root/src/core/ppp/nm-ppp-plugin-api.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ppp/nm-ppp-plugin-api.h')
-rw-r--r--src/core/ppp/nm-ppp-plugin-api.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/core/ppp/nm-ppp-plugin-api.h b/src/core/ppp/nm-ppp-plugin-api.h
new file mode 100644
index 00000000..647e1c24
--- /dev/null
+++ b/src/core/ppp/nm-ppp-plugin-api.h
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2016 Red Hat, Inc.
+ */
+
+#ifndef __NM_PPP_PLUGIN_API_H__
+#define __NM_PPP_PLUGIN_API_H__
+
+#include "nm-ppp-manager.h"
+
+typedef const struct {
+    NMPPPManager *(*create)(const char *iface);
+
+    void (*set_route_parameters)(NMPPPManager *manager,
+                                 guint32       route_table_v4,
+                                 guint32       route_metric_v4,
+                                 guint32       route_table_v6,
+                                 guint32       route_metric_v6);
+
+    gboolean (*start)(NMPPPManager *manager,
+                      NMActRequest *req,
+                      const char *  ppp_name,
+                      guint32       timeout_secs,
+                      guint         baud_override,
+                      GError **     err);
+
+    NMPPPManagerStopHandle *(*stop)(NMPPPManager *           manager,
+                                    GCancellable *           cancellable,
+                                    NMPPPManagerStopCallback callback,
+                                    gpointer                 user_data);
+
+    void (*stop_cancel)(NMPPPManagerStopHandle *handle);
+
+} NMPPPOps;
+
+#endif /* __NM_PPP_PLUGIN_API_H__ */