Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
---|---|
2 | /* |
3 | * File: pn_dev.h |
4 | * |
5 | * Phonet network device |
6 | * |
7 | * Copyright (C) 2008 Nokia Corporation. |
8 | */ |
9 | |
10 | #ifndef PN_DEV_H |
11 | #define PN_DEV_H |
12 | |
13 | #include <linux/list.h> |
14 | #include <linux/mutex.h> |
15 | |
16 | struct net; |
17 | |
18 | struct phonet_device_list { |
19 | struct list_head list; |
20 | struct mutex lock; |
21 | }; |
22 | |
23 | struct phonet_device_list *phonet_device_list(struct net *net); |
24 | |
25 | struct phonet_device { |
26 | struct list_head list; |
27 | struct net_device *netdev; |
28 | DECLARE_BITMAP(addrs, 64); |
29 | struct rcu_head rcu; |
30 | }; |
31 | |
32 | int phonet_device_init(void); |
33 | void phonet_device_exit(void); |
34 | int phonet_netlink_register(void); |
35 | struct net_device *phonet_device_get(struct net *net); |
36 | |
37 | int phonet_address_add(struct net_device *dev, u8 addr); |
38 | int phonet_address_del(struct net_device *dev, u8 addr); |
39 | u8 phonet_address_get(struct net_device *dev, u8 addr); |
40 | int phonet_address_lookup(struct net *net, u8 addr); |
41 | void phonet_address_notify(int event, struct net_device *dev, u8 addr); |
42 | |
43 | int phonet_route_add(struct net_device *dev, u8 daddr); |
44 | int phonet_route_del(struct net_device *dev, u8 daddr); |
45 | void rtm_phonet_notify(int event, struct net_device *dev, u8 dst); |
46 | struct net_device *phonet_route_get_rcu(struct net *net, u8 daddr); |
47 | struct net_device *phonet_route_output(struct net *net, u8 daddr); |
48 | |
49 | #define PN_NO_ADDR 0xff |
50 | |
51 | extern const struct seq_operations pn_sock_seq_ops; |
52 | extern const struct seq_operations pn_res_seq_ops; |
53 | |
54 | #endif |
55 |
Warning: This file is not a C or C++ file. It does not have highlighting.