17db7d9f3SSven Eckelmann /* SPDX-License-Identifier: GPL-2.0 */ 27a79d717SSven Eckelmann /* Copyright (C) 2009-2019 B.A.T.M.A.N. contributors: 3c6c8fea2SSven Eckelmann * 4c6c8fea2SSven Eckelmann * Marek Lindner 5c6c8fea2SSven Eckelmann */ 6c6c8fea2SSven Eckelmann 7c6c8fea2SSven Eckelmann #ifndef _NET_BATMAN_ADV_GATEWAY_COMMON_H_ 8c6c8fea2SSven Eckelmann #define _NET_BATMAN_ADV_GATEWAY_COMMON_H_ 9c6c8fea2SSven Eckelmann 101e2c2a4fSSven Eckelmann #include "main.h" 111e2c2a4fSSven Eckelmann 1268a600deSSven Eckelmann #include <linux/netdevice.h> 131e2c2a4fSSven Eckelmann #include <linux/types.h> 141e2c2a4fSSven Eckelmann 15414254e3SMarek Lindner /** 16414254e3SMarek Lindner * enum batadv_bandwidth_units - bandwidth unit types 17414254e3SMarek Lindner */ 18414254e3SMarek Lindner enum batadv_bandwidth_units { 198b84cc4fSSven Eckelmann /** @BATADV_BW_UNIT_KBIT: unit type kbit */ 20414254e3SMarek Lindner BATADV_BW_UNIT_KBIT, 218b84cc4fSSven Eckelmann 228b84cc4fSSven Eckelmann /** @BATADV_BW_UNIT_MBIT: unit type mbit */ 23414254e3SMarek Lindner BATADV_BW_UNIT_MBIT, 24414254e3SMarek Lindner }; 25414254e3SMarek Lindner 2697ea4ba1SSven Eckelmann #define BATADV_GW_MODE_OFF_NAME "off" 2797ea4ba1SSven Eckelmann #define BATADV_GW_MODE_CLIENT_NAME "client" 2897ea4ba1SSven Eckelmann #define BATADV_GW_MODE_SERVER_NAME "server" 29c6c8fea2SSven Eckelmann 3084d5e5e0SSven Eckelmann ssize_t batadv_gw_bandwidth_set(struct net_device *net_dev, char *buff, 3184d5e5e0SSven Eckelmann size_t count); 32414254e3SMarek Lindner void batadv_gw_tvlv_container_update(struct batadv_priv *bat_priv); 33414254e3SMarek Lindner void batadv_gw_init(struct batadv_priv *bat_priv); 34414254e3SMarek Lindner void batadv_gw_free(struct batadv_priv *bat_priv); 350b5ecc68SAntonio Quartulli bool batadv_parse_throughput(struct net_device *net_dev, char *buff, 360b5ecc68SAntonio Quartulli const char *description, u32 *throughput); 37c6c8fea2SSven Eckelmann 38c6c8fea2SSven Eckelmann #endif /* _NET_BATMAN_ADV_GATEWAY_COMMON_H_ */ 39