2008-09-23 07:03:44 +04:00
/*
* File : pn_dev . h
*
* Phonet network device
*
* Copyright ( C ) 2008 Nokia Corporation .
*
* 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 published by the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful , but
* WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 51 Franklin St , Fifth Floor , Boston , MA
* 02110 - 1301 USA
*/
# ifndef PN_DEV_H
# define PN_DEV_H
struct phonet_device_list {
struct list_head list ;
2009-11-18 21:08:26 +03:00
struct mutex lock ;
2008-09-23 07:03:44 +04:00
} ;
2009-01-23 06:00:30 +03:00
struct phonet_device_list * phonet_device_list ( struct net * net ) ;
2008-09-23 07:03:44 +04:00
struct phonet_device {
struct list_head list ;
struct net_device * netdev ;
DECLARE_BITMAP ( addrs , 64 ) ;
} ;
2009-01-23 06:00:27 +03:00
int phonet_device_init ( void ) ;
2008-09-23 07:03:44 +04:00
void phonet_device_exit ( void ) ;
2009-01-23 06:00:28 +03:00
int phonet_netlink_register ( void ) ;
2008-09-23 07:03:44 +04:00
struct net_device * phonet_device_get ( struct net * net ) ;
int phonet_address_add ( struct net_device * dev , u8 addr ) ;
int phonet_address_del ( struct net_device * dev , u8 addr ) ;
u8 phonet_address_get ( struct net_device * dev , u8 addr ) ;
2008-12-04 02:42:56 +03:00
int phonet_address_lookup ( struct net * net , u8 addr ) ;
2009-06-24 05:07:44 +04:00
void phonet_address_notify ( int event , struct net_device * dev , u8 addr ) ;
2008-09-23 07:03:44 +04:00
2009-10-14 04:48:28 +04:00
int phonet_route_add ( struct net_device * dev , u8 daddr ) ;
int phonet_route_del ( struct net_device * dev , u8 daddr ) ;
2009-10-14 04:48:29 +04:00
void rtm_phonet_notify ( int event , struct net_device * dev , u8 dst ) ;
2009-10-14 04:48:28 +04:00
struct net_device * phonet_route_get ( struct net * net , u8 daddr ) ;
struct net_device * phonet_route_output ( struct net * net , u8 daddr ) ;
2008-09-23 07:03:44 +04:00
# define PN_NO_ADDR 0xff
2009-07-21 05:57:57 +04:00
extern const struct file_operations pn_sock_seq_fops ;
2008-09-23 07:03:44 +04:00
# endif