/* * Copyright (c) 2020-2022 Huawei Device Co., Ltd. * * HDF is dual licensed: you can use it either under the terms of * the GPL, or the BSD license, at your option. * See the LICENSE file in the root of this repository for complete details. */ /** * @addtogroup WLAN * @{ * * @brief Provides cross-OS migration, component adaptation, and modular assembly and compilation. * * Based on the unified APIs provided by the WLAN module, developers of the Hardware Driver Interface * (HDI) are capable of creating, disabling, scanning for, and connecting to WLAN hotspots, managing WLAN chips, * network devices, and power, and applying for, releasing, and moving network data buffers. * * @since 1.0 * @version 1.0 */ /** * @file wifi_inc.h * * @brief Describes the data structure of WLAN features and bus. * * @since 1.0 * @version 1.0 */ #ifndef HDFLITE_WIFI_MODULE_INC_H #define HDFLITE_WIFI_MODULE_INC_H #ifdef __cplusplus extern "C" { #endif struct WifiModule; struct WifiFeature; struct WifiFeatureList; struct HdfChipDriver; struct BusDev; /** * @brief Indicates the length of the name of a WLAN module or feature. * * The name of a WLAN module or feature cannot contain more than 10 characters; otherwise, the name will be truncated * and cannot be identified. * * @since 1.0 * @version 1.0 */ #define MAX_WIFI_COMPONENT_NAME_LEN 10 /** * @brief Enumerates feature types of a WLAN module. * * You can query and register a feature or bind a feature to a WLAN module based on the feature type. * * @since 1.0 * @version 1.0 */ enum WifiMainFeatureType { HDF_WIFI_FEATURE_AP, /**< Access point (AP) */ HDF_WIFI_FEATURE_STA, /**< Station */ HDF_WIFI_FEATURE_P2P, /**< Peer-to-peer (P2P) */ HDF_WIFI_FEATURE_NAN, /**< Neighbor Awareness Networking (NAN) */ HDF_WIFI_FEATURE_RTT, /**< Round Trip Time (RTT) */ HDF_WIFI_FEATURE_NUM = 10 /**< Maximum number of features */ }; /** * @brief Enumerates bus types of a WLAN module. * * @since 1.0 * @version 1.0 */ enum WifiBusType { BUS_SDIO, /**< Secure Digital Input and Output (SDIO) */ BUS_USB, /**< Universal Serial Bus (USB) */ BUS_BUTT, }; #ifdef __cplusplus } #endif #endif // HDFLITE_WIFI_MODULE_INC_H /** @} */