xref: /openbmc/linux/net/tipc/netlink.h (revision c95baf12f5077419db01313ab61c2aac007d40cd)
10655f6a8SRichard Alpe /*
20655f6a8SRichard Alpe  * net/tipc/netlink.h: Include file for TIPC netlink code
30655f6a8SRichard Alpe  *
40655f6a8SRichard Alpe  * Copyright (c) 2014, Ericsson AB
50655f6a8SRichard Alpe  * All rights reserved.
60655f6a8SRichard Alpe  *
70655f6a8SRichard Alpe  * Redistribution and use in source and binary forms, with or without
80655f6a8SRichard Alpe  * modification, are permitted provided that the following conditions are met:
90655f6a8SRichard Alpe  *
100655f6a8SRichard Alpe  * 1. Redistributions of source code must retain the above copyright
110655f6a8SRichard Alpe  *    notice, this list of conditions and the following disclaimer.
120655f6a8SRichard Alpe  * 2. Redistributions in binary form must reproduce the above copyright
130655f6a8SRichard Alpe  *    notice, this list of conditions and the following disclaimer in the
140655f6a8SRichard Alpe  *    documentation and/or other materials provided with the distribution.
150655f6a8SRichard Alpe  * 3. Neither the names of the copyright holders nor the names of its
160655f6a8SRichard Alpe  *    contributors may be used to endorse or promote products derived from
170655f6a8SRichard Alpe  *    this software without specific prior written permission.
180655f6a8SRichard Alpe  *
190655f6a8SRichard Alpe  * Alternatively, this software may be distributed under the terms of the
200655f6a8SRichard Alpe  * GNU General Public License ("GPL") version 2 as published by the Free
210655f6a8SRichard Alpe  * Software Foundation.
220655f6a8SRichard Alpe  *
230655f6a8SRichard Alpe  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
240655f6a8SRichard Alpe  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
250655f6a8SRichard Alpe  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
260655f6a8SRichard Alpe  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
270655f6a8SRichard Alpe  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
280655f6a8SRichard Alpe  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
290655f6a8SRichard Alpe  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
300655f6a8SRichard Alpe  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
310655f6a8SRichard Alpe  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
320655f6a8SRichard Alpe  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
330655f6a8SRichard Alpe  * POSSIBILITY OF SUCH DAMAGE.
340655f6a8SRichard Alpe  */
350655f6a8SRichard Alpe 
360655f6a8SRichard Alpe #ifndef _TIPC_NETLINK_H
370655f6a8SRichard Alpe #define _TIPC_NETLINK_H
3849cc66eaSRichard Alpe #include <net/netlink.h>
390655f6a8SRichard Alpe 
40bfb3e5ddSRichard Alpe extern struct genl_family tipc_genl_family;
410655f6a8SRichard Alpe 
4235b9dd76SRichard Alpe struct tipc_nl_msg {
4335b9dd76SRichard Alpe 	struct sk_buff *skb;
4435b9dd76SRichard Alpe 	u32 portid;
4535b9dd76SRichard Alpe 	u32 seq;
4635b9dd76SRichard Alpe };
4735b9dd76SRichard Alpe 
4849cc66eaSRichard Alpe extern const struct nla_policy tipc_nl_name_table_policy[];
4949cc66eaSRichard Alpe extern const struct nla_policy tipc_nl_sock_policy[];
5049cc66eaSRichard Alpe extern const struct nla_policy tipc_nl_net_policy[];
5149cc66eaSRichard Alpe extern const struct nla_policy tipc_nl_link_policy[];
5249cc66eaSRichard Alpe extern const struct nla_policy tipc_nl_node_policy[];
5349cc66eaSRichard Alpe extern const struct nla_policy tipc_nl_prop_policy[];
5449cc66eaSRichard Alpe extern const struct nla_policy tipc_nl_bearer_policy[];
5549cc66eaSRichard Alpe extern const struct nla_policy tipc_nl_media_policy[];
5649cc66eaSRichard Alpe extern const struct nla_policy tipc_nl_udp_policy[];
57*7b3f5229SParthasarathy Bhuvaragan extern const struct nla_policy tipc_nl_monitor_policy[];
5849cc66eaSRichard Alpe 
59859fc7c0SYing Xue int tipc_netlink_start(void);
60bfb3e5ddSRichard Alpe int tipc_netlink_compat_start(void);
61859fc7c0SYing Xue void tipc_netlink_stop(void);
62bfb3e5ddSRichard Alpe void tipc_netlink_compat_stop(void);
63859fc7c0SYing Xue 
640655f6a8SRichard Alpe #endif
65