Update copyright information
[connman] / include / iface.h
index 6a80178..3530f23 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Connection Manager
  *
- *  Copyright (C) 2007  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2007-2008  Intel Corporation. All rights reserved.
  *
  *  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
@@ -38,10 +38,15 @@ enum connman_iface_type {
 };
 
 enum connman_iface_flags {
-       CONNMAN_IFACE_FLAG_RTNL     = (1 << 0),
-       CONNMAN_IFACE_FLAG_IPV4     = (1 << 1),
-       CONNMAN_IFACE_FLAG_IPV6     = (1 << 2),
-       CONNMAN_IFACE_FLAG_SCANNING = (1 << 3),
+       CONNMAN_IFACE_FLAG_RTNL      = (1 << 0),
+       CONNMAN_IFACE_FLAG_IPV4      = (1 << 1),
+       CONNMAN_IFACE_FLAG_IPV6      = (1 << 2),
+       CONNMAN_IFACE_FLAG_SCANNING  = (1 << 3),
+       CONNMAN_IFACE_FLAG_NOCARRIER = (1 << 4),
+
+       CONNMAN_IFACE_FLAG_STARTED   = (1 << 16),
+       CONNMAN_IFACE_FLAG_RUNNING   = (1 << 17),
+       CONNMAN_IFACE_FLAG_DHCP      = (1 << 18),
 };
 
 enum connman_iface_state {
@@ -62,6 +67,7 @@ enum connman_iface_policy {
        CONNMAN_IFACE_POLICY_OFF     = 1,
        CONNMAN_IFACE_POLICY_IGNORE  = 2,
        CONNMAN_IFACE_POLICY_AUTO    = 3,
+       CONNMAN_IFACE_POLICY_ASK     = 4,
 };
 
 enum connman_ipv4_method {
@@ -82,8 +88,10 @@ struct connman_ipv4 {
 };
 
 struct connman_network {
-       char *essid;
-       char *psk;
+       struct connman_iface *iface;
+       char *path;
+       char *identifier;
+       char *passphrase;
 };
 
 struct connman_iface {
@@ -93,7 +101,7 @@ struct connman_iface {
        char *identifier;
        int index;
        enum connman_iface_type type;
-       enum connman_iface_flags flags;
+       unsigned long flags;
        enum connman_iface_state state;
        enum connman_iface_policy policy;
        struct connman_network network;
@@ -114,19 +122,18 @@ struct connman_iface {
 struct connman_iface_driver {
        const char *name;
        const char *capability;
+
        int (*probe) (struct connman_iface *iface);
        void (*remove) (struct connman_iface *iface);
 
+       int (*start) (struct connman_iface *iface);
+       int (*stop) (struct connman_iface *iface);
+
        int (*scan) (struct connman_iface *iface);
        int (*connect) (struct connman_iface *iface,
                                        struct connman_network *network);
        int (*disconnect) (struct connman_iface *iface);
 
-       void (*set_network) (struct connman_iface *iface,
-                                               const char *network);
-       void (*set_passphrase) (struct connman_iface *iface,
-                                               const char *passphrase);
-
        void (*rtnl_carrier) (struct connman_iface *iface, int carrier);
        void (*rtnl_wireless) (struct connman_iface *iface,
                                        void *data, unsigned short len);
@@ -146,15 +153,15 @@ static inline void connman_iface_set_data(struct connman_iface *iface,
        iface->driver_data = data;
 }
 
-extern void connman_iface_indicate_enabled(struct connman_iface *iface);
-extern void connman_iface_indicate_disabled(struct connman_iface *iface);
+extern void connman_iface_indicate_ifup(struct connman_iface *iface);
+extern void connman_iface_indicate_ifdown(struct connman_iface *iface);
 extern void connman_iface_indicate_connected(struct connman_iface *iface);
 extern void connman_iface_indicate_carrier_on(struct connman_iface *iface);
 extern void connman_iface_indicate_carrier_off(struct connman_iface *iface);
 extern void connman_iface_indicate_configured(struct connman_iface *iface);
 
 extern void connman_iface_indicate_station(struct connman_iface *iface,
-                                               const char *name, int strength);
+                               const char *name, int strength, int security);
 
 extern int connman_iface_get_ipv4(struct connman_iface *iface,
                                                struct connman_ipv4 *ipv4);