blob: c4cc3aaca497230a3528d54f027887cc952d044d [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-only
/*
* Driver for Wifi performance tracker
*
* Copyright 2022 Google LLC.
*
* Author: Star Chang <starchang@google.com>
*/
#ifndef __WLAN_PTRACKER_CLIENT_H
#define __WLAN_PTRACKER_CLIENT_H
#include "dynamic_twt_manager.h"
#define IFNAME_MAX 16
enum {
WLAN_PTRACKER_NOTIFY_TP,
WLAN_PTRACKER_NOTIFY_SCENE_CHANGE,
WLAN_PTRACKER_NOTIFY_SCENE_CHANGE_PREPARE,
WLAN_PTRACKER_NOTIFY_SUSPEND,
WLAN_PTRACKER_NOTIFY_STA_CONNECT,
WLAN_PTRACKER_NOTIFY_STA_DISCONNECT,
WLAN_PTRACKER_NOTIFY_DYTWT_ENABLE,
WLAN_PTRACKER_NOTIFY_DYTWT_DISABLE,
WLAN_PTRACKER_NOTIFY_MAX,
};
/* backword compatible */
#define WLAN_PTRACKER_NOTIFY_SUSPEN WLAN_PTRACKER_NOTIFY_SUSPEND
struct wlan_ptracker_client {
void *priv;
void *core;
char ifname[IFNAME_MAX];
struct dytwt_client_ops *dytwt_ops;
int (*cb)(void *priv, u32 event);
};
extern int wlan_ptracker_register_client(struct wlan_ptracker_client *client);
extern void wlan_ptracker_unregister_client(struct wlan_ptracker_client *client);
#endif /*__WLAN_PTRACKER_CLIENT_H*/