idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
mac.hpp File Reference

MAC address types and operations. More...

#include <idfxx/error>
#include <array>
#include <cstdint>
#include <esp_mac.h>
#include <soc/soc_caps.h>
#include <string>
#include "sdkconfig.h"

Go to the source code of this file.

Classes

class  idfxx::mac_address
 A MAC-48 (6-byte) hardware address. More...
 

Namespaces

namespace  idfxx
 

Enumerations

enum class  idfxx::mac_type : int {
  idfxx::mac_type::wifi_sta = 0 ,
  idfxx::mac_type::wifi_softap = 1 ,
  idfxx::mac_type::bt = 2 ,
  idfxx::mac_type::ethernet = 3 ,
  idfxx::mac_type::base = 5 ,
  idfxx::mac_type::efuse_factory = 6 ,
  idfxx::mac_type::efuse_custom = 7
}
 Identifies which network interface a MAC address belongs to. More...
 

Functions

std::string idfxx::to_string (const mac_address &addr)
 Returns a colon-separated string representation of a MAC address.
 
mac_address idfxx::read_mac (mac_type type)
 Reads the MAC address for a specific interface.
 
mac_address idfxx::base_mac_address ()
 Returns the base MAC address.
 
result< mac_addressidfxx::try_read_mac (mac_type type)
 Reads the MAC address for a specific interface.
 
result< mac_addressidfxx::try_base_mac_address ()
 Returns the base MAC address.
 
void idfxx::set_base_mac_address (const mac_address &addr)
 Sets the base MAC address.
 
void idfxx::set_interface_mac_address (const mac_address &addr, mac_type type)
 Sets the MAC address for a specific interface.
 
result< voididfxx::try_set_base_mac_address (const mac_address &addr)
 Sets the base MAC address.
 
result< voididfxx::try_set_interface_mac_address (const mac_address &addr, mac_type type)
 Sets the MAC address for a specific interface.
 
result< mac_addressidfxx::try_default_mac ()
 Returns the factory MAC address from eFuse.
 
result< mac_addressidfxx::try_custom_mac ()
 Returns the custom MAC address from eFuse.
 
result< mac_addressidfxx::try_derive_local_mac (const mac_address &universal_mac)
 Derives a local MAC address from a universal MAC address.
 

Detailed Description

MAC address types and operations.

Definition in file mac.hpp.