1ad028ee7Sopenharmony_ci/*
2ad028ee7Sopenharmony_ci * Copyright (c) 2020 Huawei Device Co., Ltd.
3ad028ee7Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4ad028ee7Sopenharmony_ci * you may not use this file except in compliance with the License.
5ad028ee7Sopenharmony_ci * You may obtain a copy of the License at
6ad028ee7Sopenharmony_ci *
7ad028ee7Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8ad028ee7Sopenharmony_ci *
9ad028ee7Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10ad028ee7Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11ad028ee7Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12ad028ee7Sopenharmony_ci * See the License for the specific language governing permissions and
13ad028ee7Sopenharmony_ci * limitations under the License.
14ad028ee7Sopenharmony_ci */
15ad028ee7Sopenharmony_ci
16ad028ee7Sopenharmony_ci/**
17ad028ee7Sopenharmony_ci * @addtogroup wifiservice
18ad028ee7Sopenharmony_ci * @{
19ad028ee7Sopenharmony_ci *
20ad028ee7Sopenharmony_ci * @brief Provides functions for the Wi-Fi station and hotspot modes.
21ad028ee7Sopenharmony_ci *
22ad028ee7Sopenharmony_ci * You can use this module to enable and disable the Wi-Fi station or hotspot mode, connect to and disconnect from a
23ad028ee7Sopenharmony_ci * station or hotspot, query the station or hotspot status, and listen for events. \n
24ad028ee7Sopenharmony_ci *
25ad028ee7Sopenharmony_ci * @since 7
26ad028ee7Sopenharmony_ci */
27ad028ee7Sopenharmony_ci
28ad028ee7Sopenharmony_ci/**
29ad028ee7Sopenharmony_ci * @file wifi_linked_info.h
30ad028ee7Sopenharmony_ci *
31ad028ee7Sopenharmony_ci * @brief Defines the data structure and macro of the Wi-Fi connection information.
32ad028ee7Sopenharmony_ci *
33ad028ee7Sopenharmony_ci * @since 7
34ad028ee7Sopenharmony_ci */
35ad028ee7Sopenharmony_ci
36ad028ee7Sopenharmony_ci#ifndef HARMONY_OS_LITE_WIFI_LINKED_INFO_H
37ad028ee7Sopenharmony_ci#define HARMONY_OS_LITE_WIFI_LINKED_INFO_H
38ad028ee7Sopenharmony_ci#include "wifi_device_config.h"
39ad028ee7Sopenharmony_ci
40ad028ee7Sopenharmony_ci/**
41ad028ee7Sopenharmony_ci * @brief Enumerates Wi-Fi connection states.
42ad028ee7Sopenharmony_ci *
43ad028ee7Sopenharmony_ci * @since 7
44ad028ee7Sopenharmony_ci */
45ad028ee7Sopenharmony_citypedef enum {
46ad028ee7Sopenharmony_ci    /** Disconnected */
47ad028ee7Sopenharmony_ci    WIFI_DISCONNECTED,
48ad028ee7Sopenharmony_ci    /** Connected */
49ad028ee7Sopenharmony_ci    WIFI_CONNECTED
50ad028ee7Sopenharmony_ci} WifiConnState;
51ad028ee7Sopenharmony_ci
52ad028ee7Sopenharmony_ci/**
53ad028ee7Sopenharmony_ci * @brief Represents the Wi-Fi connection information.
54ad028ee7Sopenharmony_ci *
55ad028ee7Sopenharmony_ci * This refers to the information about the hotspot connected to this station. The information is obtained using
56ad028ee7Sopenharmony_ci * {@link GetLinkedInfo}.
57ad028ee7Sopenharmony_ci *
58ad028ee7Sopenharmony_ci * @since 7
59ad028ee7Sopenharmony_ci */
60ad028ee7Sopenharmony_citypedef struct {
61ad028ee7Sopenharmony_ci    /** Service set ID (SSID). For its length, see {@link WIFI_MAX_SSID_LEN}. */
62ad028ee7Sopenharmony_ci    char ssid[WIFI_MAX_SSID_LEN];
63ad028ee7Sopenharmony_ci    /** Basic service set ID (BSSID). For its length, see {@link WIFI_MAC_LEN}. */
64ad028ee7Sopenharmony_ci    unsigned char bssid[WIFI_MAC_LEN];
65ad028ee7Sopenharmony_ci    /** Received signal strength indicator (RSSI) */
66ad028ee7Sopenharmony_ci    int rssi;
67ad028ee7Sopenharmony_ci    /** Wi-Fi band information of hotspot */
68ad028ee7Sopenharmony_ci    int band;
69ad028ee7Sopenharmony_ci    /** Wi-Fi frequency information of hotspot */
70ad028ee7Sopenharmony_ci    int frequency;
71ad028ee7Sopenharmony_ci    /** Wi-Fi connection state, which is defined in {@link WifiConnState} */
72ad028ee7Sopenharmony_ci    WifiConnState connState;
73ad028ee7Sopenharmony_ci    /** Reason for Wi-Fi disconnection */
74ad028ee7Sopenharmony_ci    unsigned short disconnectedReason;
75ad028ee7Sopenharmony_ci    /** IP address of the connected hotspot */
76ad028ee7Sopenharmony_ci    unsigned int ipAddress;
77ad028ee7Sopenharmony_ci} WifiLinkedInfo;
78ad028ee7Sopenharmony_ci#endif // HARMONY_OS_LITE_WIFI_LINKED_INFO_H
79ad028ee7Sopenharmony_ci/** @} */
80