X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fsession.h;h=39f3368554ed28217564c3990906e69c1630169d;hb=5479dad2b3b5f342f51ca6e7ec8a5a501820bd55;hp=37dfc4e48da5d4f9778786aa77d16eb3706bc2f1;hpb=6aa4055ef0544ae85457c25c510fe3db04949c43;p=platform%2Fupstream%2Fconnman.git diff --git a/include/session.h b/include/session.h index 37dfc4e..39f3368 100755 --- a/include/session.h +++ b/include/session.h @@ -22,6 +22,7 @@ #ifndef __CONNMAN_SESSION_H #define __CONNMAN_SESSION_H +#include #include #ifdef __cplusplus @@ -55,6 +56,12 @@ enum connman_session_id_type { CONNMAN_SESSION_ID_TYPE_LSM = 3, }; +enum connman_session_state { + CONNMAN_SESSION_STATE_DISCONNECTED = 0, + CONNMAN_SESSION_STATE_CONNECTED = 1, + CONNMAN_SESSION_STATE_ONLINE = 2, +}; + struct connman_session; struct connman_session_config { @@ -65,6 +72,9 @@ struct connman_session_config { enum connman_session_type type; bool ecall; GSList *allowed_bearers; + char *allowed_interface; + bool source_ip_rule; + char *context_identifier; }; typedef int (* connman_session_config_func_t) (struct connman_session *session, @@ -83,8 +93,13 @@ struct connman_session_policy { GSList *bearers); bool (*allowed)(struct connman_session *session, struct connman_service *service); + void (*update_session_state)(struct connman_session* session, + enum connman_session_state state); + struct connman_service* (*get_service_for_session)(struct connman_session* session, + GSList* services); }; +uint32_t connman_session_firewall_get_fwmark(struct connman_session *session); int connman_session_policy_register(struct connman_session_policy *config); void connman_session_policy_unregister(struct connman_session_policy *config);