DA: Skip initializing failed_bssids list when eapol failure case
[platform/upstream/connman.git] / vpn / plugins / vpn.h
old mode 100644 (file)
new mode 100755 (executable)
index d1e322c..7956ffa
@@ -2,7 +2,7 @@
  *
  *  ConnMan VPN daemon
  *
- *  Copyright (C) 2010  BMW Car IT GmbH. All rights reserved.
+ *  Copyright (C) 2010,2014  BMW Car IT GmbH.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -28,7 +28,8 @@
 extern "C" {
 #endif
 
-#define VPN_FLAG_NO_TUN        1
+#define VPN_FLAG_NO_TUN     1
+#define VPN_FLAG_NO_DAEMON  2
 
 enum vpn_state {
        VPN_STATE_UNKNOWN       = 0,
@@ -40,18 +41,31 @@ enum vpn_state {
        VPN_STATE_AUTH_FAILURE  = 6,
 };
 
+#if defined TIZEN_EXT
+typedef void (*vpn_event_callback)(struct vpn_provider *provider, int state);
+#endif
+
 struct vpn_driver {
        int flags;
        int (*notify) (DBusMessage *msg, struct vpn_provider *provider);
+#if defined TIZEN_EXT
+       void (*set_event_cb) (vpn_event_callback event_cb, struct vpn_provider *provider);
+#endif
        int (*connect) (struct vpn_provider *provider,
                        struct connman_task *task, const char *if_name,
-                       vpn_provider_connect_cb_t cb, void *user_data);
-       void (*disconnect) (void);
-       int (*error_code) (int exit_code);
+                       vpn_provider_connect_cb_t cb, const char *dbus_sender,
+                       void *user_data);
+       void (*disconnect) (struct vpn_provider *provider);
+       int (*remove) (struct vpn_provider *provider);
+       int (*error_code) (struct vpn_provider *provider, int exit_code);
        int (*save) (struct vpn_provider *provider, GKeyFile *keyfile);
+       int (*device_flags) (struct vpn_provider *provider);
+       int (*route_env_parse) (struct vpn_provider *provider, const char *key,
+                       int *family, unsigned long *idx,
+                       enum vpn_provider_route_type *type);
 };
 
-int vpn_register(const char *name, struct vpn_driver *driver,
+int vpn_register(const char *name, const struct vpn_driver *driver,
                        const char *program);
 void vpn_unregister(const char *provider_name);
 void vpn_died(struct connman_task *task, int exit_code, void *user_data);