blob: 43b045ac8ac77ba5548aa8bbb4d31b72448146b6 [file] [log] [blame]
Sven Eckelmann7db7d9f2017-11-19 15:05:11 +01001/* SPDX-License-Identifier: GPL-2.0 */
Sven Eckelmann68e039f2020-01-01 00:00:01 +01002/* Copyright (C) 2011-2020 B.A.T.M.A.N. contributors:
Marek Lindner1c280472011-11-28 17:40:17 +08003 *
Linus Luessingd6f94d92016-01-16 16:40:09 +08004 * Marek Lindner, Linus Lüssing
Marek Lindner1c280472011-11-28 17:40:17 +08005 */
6
7#ifndef _NET_BATMAN_ADV_BAT_ALGO_H_
8#define _NET_BATMAN_ADV_BAT_ALGO_H_
9
Marek Lindner7db682d2016-05-10 22:31:59 +080010#include "main.h"
Antonio Quartulli0da00352016-01-16 16:40:12 +080011
Sven Eckelmann68a600d2019-05-24 20:11:17 +020012#include <linux/netlink.h>
Sven Eckelmann68a600d2019-05-24 20:11:17 +020013#include <linux/skbuff.h>
Sven Eckelmann01d350d2016-05-15 11:07:44 +020014#include <linux/types.h>
15
Sven Eckelmann01d350d2016-05-15 11:07:44 +020016extern char batadv_routing_algo[];
17extern struct list_head batadv_hardif_list;
18
19void batadv_algo_init(void);
Sven Eckelmanna5ad4572020-10-11 12:25:24 +020020struct batadv_algo_ops *batadv_algo_get(const char *name);
Sven Eckelmann01d350d2016-05-15 11:07:44 +020021int batadv_algo_register(struct batadv_algo_ops *bat_algo_ops);
Sven Eckelmanna5ad4572020-10-11 12:25:24 +020022int batadv_algo_select(struct batadv_priv *bat_priv, const char *name);
Matthias Schiffer07a30612016-07-03 13:31:35 +020023int batadv_algo_dump(struct sk_buff *msg, struct netlink_callback *cb);
Sven Eckelmann01d350d2016-05-15 11:07:44 +020024
Marek Lindner1c280472011-11-28 17:40:17 +080025#endif /* _NET_BATMAN_ADV_BAT_ALGO_H_ */