esp-idf/components/wpa_supplicant/esp_supplicant/include/esp_wnm.h

60 lines
1.3 KiB
C

/*
* SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _ESP_WNM_H
#define _ESP_WNM_H
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* enum btm_query_reason: Reason code for sending btm query
*/
enum btm_query_reason {
REASON_UNSPECIFIED = 0,
REASON_FRAME_LOSS = 1,
REASON_DELAY = 2,
REASON_BANDWIDTH = 3,
REASON_LOAD_BALANCE = 4,
REASON_RSSI = 5,
REASON_RETRANSMISSIONS = 6,
REASON_INTERFERENCE = 7,
REASON_GRAY_ZONE = 8,
REASON_PREMIUM_AP = 9,
};
/**
* @brief Send bss transition query to connected AP
*
* @param query_reason: reason for sending query
* @param btm_candidates: btm candidates list if available
* @param cand_list: whether candidate list to be included from scan results available in supplicant's cache.
*
* @return
* - 0: success
* - -1: AP does not support BTM
* - -2: station not connected to AP
*/
int esp_wnm_send_bss_transition_mgmt_query(enum btm_query_reason query_reason,
const char *btm_candidates,
int cand_list);
/**
* @brief Check bss trasition capability of connected AP
*
* @return
* - true: AP supports BTM
* - false: AP does not support BTM or station not connected to AP
*/
bool esp_wnm_is_btm_supported_connection(void);
#ifdef __cplusplus
}
#endif
#endif