这是最新(主)开发分支的文档。如果您正在查找以前版本的文档,使用左侧的下拉菜单选择所需的版本。

Net Manager API 参考

宏定义

WIFI_STATION_NETIF_NAME

Name of station netif.

WIFI_SOFTAP_NETIF_NAME

Name of softAP netif.

WM_NM_INVALID_NETIF

Invalid net manager netif handle.

枚举

enum wm_nm_netif_flag_e

Flag of net manager’s netif.

Values:

enumerator NM_NETIF_FLAG_UP
enumerator NM_NETIF_FLAG_BROADCAST

If set, the netif has broadcast capability.

If set, the interface has an active link

enumerator NM_NETIF_FLAG_ETHARP

If set, the netif is an ethernet device using ARP

enumerator NM_NETIF_FLAG_ETHERNET

If set, the netif is an ethernet device using ARP.

enumerator NM_NETIF_FLAG_IGMP

If set, the netif is an ethernet device.

enumerator NM_NETIF_FLAG_MLD6

If set, the netif has IGMP capability.

enum wm_nm_dns_type_t

Type of DNS server.

Values:

enumerator WM_NM_DNS_MAIN

DNS main server address.

enumerator WM_NM_DNS_BACKUP

DNS backup server address.

enum wm_nm_state_e

State of net manager.

Values:

enumerator WM_NM_INIT

net manager state: initializing.

enumerator WM_NM_WIFI_STA_CONNECTING

net manager state: connecting to AP. only for wifi station.

enumerator WM_NM_WIFI_STA_CONNECTED

net manager state: connected to AP. only for wifi station.

enumerator WM_NM_WIFI_STA_DISCONNECTED

net manager state: disconnect from AP. only for wifi station.

enumerator WM_NM_WIFI_STA_GOT_IP

net manager state: got IPv4. only for wifi station.

enumerator WM_NM_WIFI_STA_GOT_IP6

net manager state: got global IPv6. only for wifi station.

enumerator WM_NM_WIFI_STA_LOST_IP

net manager state: lost IPv4. only for wifi station.

enumerator WM_NM_WIFI_STA_LOST_IP6

net manager state: lost global IPv6. only for wifi station.

enumerator WM_NM_WIFI_AP_READY

net manager state: softAP is ready. only for wifi softap.

enumerator WM_NM_WIFI_AP_ASSIGNED_IP_ID

net manager state: softAP assigns IP to station. only for wifi softap.

enumerator WM_NM_EXIT

net manager state: exit, cannot be used.

结构体

struct wm_netif_ip_info_t

struct of ip info

Public Members

wm_ip_addr_t ip

Interface IPV4 address.

wm_ip_addr_t netmask

Interface IPV4 netmask.

wm_ip_addr_t gw

Interface IPV4 gateway address.

struct wm_nm_dhcps_option_t

struct of dhcp server option

Public Members

wm_ip_addr_t server_ip

DHCP server ip.

wm_ip_addr_t start_ip

DHCP server assign IP starting address.

wm_ip_addr_t ip_mask

DHCP server assign IP netmask.

wm_ip_addr_t gateway

DHCP server assign gateway.

wm_ip_addr_t dns1

DHCP server assign DNS server IP address1.

wm_ip_addr_t dns2

DHCP server assign DNS server IP address2.

uint32_t lease_time

DHCP server assign IP lease time(seconds).

struct wm_nm_wifi_station_cfg_t

struct of wifi station config

Public Members

const char *ssid

SSID of target AP.

const char *password

Password of target AP. (if authenticate mode is open, password = NULL)

struct wm_nm_wifi_softap_cfg_t

struct of wifi softap config

Public Members

const char *ssid

SSID of soft-AP.

const char *password

Password of soft-AP. (if authenticate mode is open, password = NULL)

API 参考

Netif API

wm_nm_netif_t wm_nm_get_netif(void)

Query available netif.

返回:

  • WM_NM_INVALID_NETIF: No available netif found

  • others: Available netif

int wm_nm_get_netif_number(void)

Query number of available netif.

返回:

  • 0: No available netif

  • others: number of available netif

wm_nm_netif_t wm_nm_get_next_netif(wm_nm_netif_t netif)

Query next available netif.

参数:

netif[in] Current netif

返回:

  • WM_NM_INVALID_NETIF: No next netif found

  • others: Available netif

const char *wm_nm_get_netif_name(wm_nm_netif_t netif)

Query netif name from net manager.

参数:

netif[in] Netif

返回:

  • NULL: Invalid netif

  • others: Netif name

wm_nm_netif_t wm_nm_get_netif_by_name(const char *name)

Query netif by name.

参数:

name[in] Netif name

返回:

  • WM_NM_INVALID_NETIF: No found netif

  • others: Available netif

int wm_nm_get_netif_flag(wm_nm_netif_t netif, uint32_t *flag)

Query the netif flag.

参数:
  • netif[in] Netif handle

  • flag[in] flag write back address

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_get_netif_mtu(wm_nm_netif_t netif, uint32_t *mtu)

Query the netif mtu.

参数:
  • netif[in] Netif handle

  • mtu[in] mtu write back address

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_set_netif_mac(wm_nm_netif_t netif, uint8_t *mac, size_t len)

Set the MAC address.

参数:
  • netif[in] Netif handle

  • mac[in] MAC address buffer

  • len[in] MAC address length

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_get_netif_mac(wm_nm_netif_t netif, uint8_t *mac, size_t *max_len)

Query the MAC address.

参数:
  • netif[in] Netif handle

  • mac[in] MAC address write back buffer

  • max_len[in] write back buffer maximum length

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_set_netif_ip_info(wm_nm_netif_t netif, wm_netif_ip_info_t *ip_info)

Set the IPv4 address.

备注

Set the IPv4 address, it will be stop DHCP client

参数:
  • netif[in] Netif handle

  • ip_info[in] include IPv4 address, net mask, gateway

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_get_netif_ip_info(wm_nm_netif_t netif, wm_netif_ip_info_t *ip_info)

Query the IPv4 address.

备注

After setting the IP, DHCP server/client will be stopped

参数:
  • netif[in] Netif handle

  • ip_info[in] Net info write back address

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_enable_netif_ip6(wm_nm_netif_t netif)

Enable IPv6 function.

参数:

netif[in] Netif handle

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_disable_netif_ip6(wm_nm_netif_t netif)

disable IPv6 function

参数:

netif[in] Netif handle

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

bool wm_nm_get_netif_ip6_state(wm_nm_netif_t netif)

Query the IPv6 enable or disable.

参数:

netif[in] Netif handle

返回:

  • FALSE: invalid argument or IPv6 is not enabled

  • TRUE: IPv6 is enabled

int wm_nm_get_netif_ip6_linklocal(wm_nm_netif_t netif, wm_ip6_addr_t *ip6)

Query the IPv6 address.

参数:
  • netif[in] Netif handle

  • ip6[in] IPv6 linklocal address write back address

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_get_netif_ip6_global(wm_nm_netif_t netif, wm_ip6_addr_t *ip6)

Query the IPv6 address.

参数:
  • netif[in] Netif handle

  • ip6[in] IPv6 global address write back address

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_set_netif_dhcps_option(wm_nm_netif_t netif, wm_nm_dhcps_option_t *dhcps_option)

Set DHCP server options.

备注

After DHCP server start, The original IP info will be overwritten

参数:
返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_get_netif_dhcps_option(wm_nm_netif_t netif, wm_nm_dhcps_option_t *dhcps_option)

Query DHCP server options.

参数:
  • netif[in] Netif handle

  • dhcps_option[in] DHCP server options write back address

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_start_netif_dhcps(wm_nm_netif_t netif)

start DHCP server

参数:

netif[in] Netif handle

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_stop_netif_dhcps(wm_nm_netif_t netif)

stop DHCP server

参数:

netif[in] Netif handle

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_start_netif_dhcpc(wm_nm_netif_t netif)

start DHCP client

备注

if set static IP, start DHCP will fail,

备注

if you want restart DHCP, must set ip to “0.0.0.0” first.

参数:

netif[in] Netif handle

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_stop_netif_dhcpc(wm_nm_netif_t netif)

stop DHCP client

参数:

netif[in] Netif handle

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_set_dns(wm_nm_dns_type_t type, wm_ip_addr_t *dns)

Set DHCP server start.

备注

After setting DNS, DHCP server allocated DNS server will be ignored

参数:
  • type[in] DNS main server or backup server

  • dns[in] DNS server address

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_get_dns(wm_nm_dns_type_t type, wm_ip_addr_t *dns)

Query DHCP server start.

参数:
  • type[in] DNS main server or backup server

  • dns[in] DNS server address write back address

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_start_netif_dnss(wm_nm_netif_t netif)

start DNS server

备注

It only works on the softap mode.

参数:

netif[in] Netif handle

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

int wm_nm_stop_netif_dnss(wm_nm_netif_t netif)

stop DNS server

备注

It only works on the softap mode.

参数:

netif[in] Netif handle

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

WiFi API

int wm_nm_start_wifi_station(wm_nm_wifi_station_cfg_t *cfg)

Start wifi station mode, It will be init wifi and connected to the specified AP, as well as start the DHCP client.

Attention

This is asynchronous API. Please subscribe to the NM event, or call wm_nm_get_wifi_station_state to query the connection results

参数:

cfg[in] reference wm_nm_wifi_station_cfg_t

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

wm_nm_state_e wm_nm_get_wifi_station_state(void)

Query NM wifi station state.

返回:

  • reference wm_nm_state_e

int wm_nm_stop_wifi_station(void)

Stop wifi station mode, It will be disconnect from AP.

返回:

  • WM_ERR_SUCCESS: succeed

  • others: failed

int wm_nm_start_wifi_softap(wm_nm_wifi_softap_cfg_t *cfg)

Start wifi softAP, It will be started soft AP and DHCP server.

备注

This is asynchronous API. Please subscribe to the NM event, or call wm_nm_get_wifi_softap_state to query the softAP state

参数:

cfg[in] reference wm_nm_wifi_softap_cfg_t

返回:

  • WM_ERR_SUCCESS: succeed

  • WM_ERR_INVALID_PARAM: invalid argument

  • others: failed

wm_nm_state_e wm_nm_get_wifi_softap_state(void)

Query NM wifi softAP state.

返回:

  • reference wm_nm_state_e

int wm_nm_stop_wifi_softap(void)

Stop wifi softAP.

返回:

  • WM_ERR_SUCCESS: succeed

  • others: failed