X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=include%2Frtnl.h;h=c78556b9affcabc26d6aff982445fe5fcfa1d836;hb=254c95953680203a984aee5cd43443958c506ea9;hp=57e8e07c174934660a98392d89d449c104b9e496;hpb=31d8cfc6648686d832b2df63e3bb68bf23f45762;p=connman diff --git a/include/rtnl.h b/include/rtnl.h index 57e8e07..c78556b 100644 --- a/include/rtnl.h +++ b/include/rtnl.h @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2008 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2009 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 @@ -32,6 +32,13 @@ extern "C" { * @short_description: Functions for registering RTNL modules */ +typedef void (* connman_rtnl_link_cb_t) (unsigned flags, unsigned change, + void *user_data); + +extern unsigned int connman_rtnl_add_newlink_watch(int index, + connman_rtnl_link_cb_t callback, void *user_data); +extern void connman_rtnl_remove_watch(unsigned int id); + #define CONNMAN_RTNL_PRIORITY_LOW -100 #define CONNMAN_RTNL_PRIORITY_DEFAULT 0 #define CONNMAN_RTNL_PRIORITY_HIGH 100 @@ -39,12 +46,20 @@ extern "C" { struct connman_rtnl { const char *name; int priority; - void (*link_flags) (int index, int flags); + void (*newlink) (unsigned short type, int index, + unsigned flags, unsigned change); + void (*dellink) (unsigned short type, int index, + unsigned flags, unsigned change); + void (*newgateway) (int index, const char *gateway); + void (*delgateway) (int index, const char *gateway); }; extern int connman_rtnl_register(struct connman_rtnl *rtnl); extern void connman_rtnl_unregister(struct connman_rtnl *rtnl); +extern int connman_rtnl_send_getlink(void); +extern int connman_rtnl_send_getroute(void); + #ifdef __cplusplus } #endif