Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
wifi_nm.h
Go to the documentation of this file.
1
8/*
9 * Copyright (c) 2023 Nordic Semiconductor ASA.
10 *
11 * SPDX-License-Identifier: Apache-2.0
12 */
13
14#ifndef ZEPHYR_INCLUDE_ZEPHYR_NET_WIFI_NM_H_
15#define ZEPHYR_INCLUDE_ZEPHYR_NET_WIFI_NM_H_
16
17#include <zephyr/kernel.h>
18#include <zephyr/types.h>
20#include <zephyr/net/net_if.h>
29#ifdef __cplusplus
30extern "C" {
31#endif
32
38 const char *name;
40 const struct wifi_mgmt_ops *ops;
42 struct net_if *mgd_ifaces[CONFIG_WIFI_NM_MAX_MANAGED_INTERFACES];
43};
44
45#define WIFI_NM_NAME(name) wifi_nm_##name
46
47#define DEFINE_WIFI_NM_INSTANCE(_name, _ops) \
48 static STRUCT_SECTION_ITERABLE(wifi_nm_instance, WIFI_NM_NAME(_name)) = { \
49 .name = STRINGIFY(_name), \
50 .ops = _ops, \
51 .mgd_ifaces = { NULL }, \
52 }
53
61
69
81int wifi_nm_register_mgd_iface(struct wifi_nm_instance *nm, struct net_if *iface);
82
92
97#ifdef __cplusplus
98}
99#endif
100#endif /* ZEPHYR_INCLUDE_ZEPHYR_NET_WIFI_NM_H_ */
int wifi_nm_register_mgd_iface(struct wifi_nm_instance *nm, struct net_if *iface)
Register a managed interface.
int wifi_nm_unregister_mgd_iface(struct wifi_nm_instance *nm, struct net_if *iface)
Unregister managed interface.
struct wifi_nm_instance * wifi_nm_get_instance(const char *name)
Get a Network manager instance for a given name.
struct wifi_nm_instance * wifi_nm_get_instance_iface(struct net_if *iface)
Get a Network manager instance for a given interface.
Public kernel APIs.
Public API for network interface.
Network Interface structure.
Definition: net_if.h:595
Wi-Fi management API.
Definition: wifi_mgmt.h:570
WiFi Network manager instance.
Definition: wifi_nm.h:36
struct net_if * mgd_ifaces[CONFIG_WIFI_NM_MAX_MANAGED_INTERFACES]
List of Managed interfaces.
Definition: wifi_nm.h:42
const struct wifi_mgmt_ops * ops
Wi-Fi Management operations.
Definition: wifi_nm.h:40
const char * name
Name of the Network manager instance.
Definition: wifi_nm.h:38
WiFi L2 stack public header.