1351377Scy/* 2351377Scy * Airtime policy configuration 3351377Scy * Copyright (c) 2018-2019, Toke H��iland-J��rgensen <toke@toke.dk> 4351377Scy * 5351377Scy * This software may be distributed under the terms of the BSD license. 6351377Scy * See README for more details. 7351377Scy */ 8351377Scy 9351377Scy#ifndef AIRTIME_POLICY_H 10351377Scy#define AIRTIME_POLICY_H 11351377Scy 12351377Scystruct hostapd_iface; 13351377Scy 14351377Scy#ifdef CONFIG_AIRTIME_POLICY 15351377Scy 16351377Scy#define AIRTIME_DEFAULT_UPDATE_INTERVAL 200 /* ms */ 17351377Scy#define AIRTIME_BACKLOG_EXPIRY_FACTOR 2500 /* 2.5 intervals + convert to usec */ 18351377Scy 19351377Scy/* scale quantum so this becomes the effective quantum after applying the max 20351377Scy * weight, but never go below min or above max */ 21351377Scy#define AIRTIME_QUANTUM_MIN 8 /* usec */ 22351377Scy#define AIRTIME_QUANTUM_MAX 256 /* usec */ 23351377Scy#define AIRTIME_QUANTUM_TARGET 1024 /* usec */ 24351377Scy 25351377Scyint airtime_policy_new_sta(struct hostapd_data *hapd, struct sta_info *sta); 26351377Scyint airtime_policy_update_init(struct hostapd_iface *iface); 27351377Scyvoid airtime_policy_update_deinit(struct hostapd_iface *iface); 28351377Scy 29351377Scy#else /* CONFIG_AIRTIME_POLICY */ 30351377Scy 31351377Scystatic inline int airtime_policy_new_sta(struct hostapd_data *hapd, 32351377Scy struct sta_info *sta) 33351377Scy{ 34351377Scy return -1; 35351377Scy} 36351377Scy 37351377Scystatic inline int airtime_policy_update_init(struct hostapd_iface *iface) 38351377Scy{ 39351377Scy return -1; 40351377Scy} 41351377Scy 42351377Scystatic inline void airtime_policy_update_deinit(struct hostapd_iface *iface) 43351377Scy{ 44351377Scy} 45351377Scy 46351377Scy#endif /* CONFIG_AIRTIME_POLICY */ 47351377Scy 48351377Scy#endif /* AIRTIME_POLICY_H */ 49