UNION MACADDR(9)
π union macaddr(9) β the Kernel API Manual page your bestie actually wants to read
okay so. welcome to the Kernel API Manual, section 9, and today's main character is union macaddr β literally just a generic MAC address container. that's it. that's the whole vibe. it holds a MAC address, it's a union, and it's about to slay in the most low-key way possible. π
β¨ NAME β¨
union macaddr β a generic MAC address container π«Ά
like, not specific to any one thing. generic. it contains. it holds. iconic behaviour honestly.
πΈ SYNOPSIS πΈ
union macaddr {
u16 short_address;
u8 ieee_address[8];
};
look at her. two members. one union. the way that she can be either a short address or an extended address and you just have to pick β that's the whole point, bestie π
π¦ Members π¦
short_addressβ the 16-bit short address. small. compact. doing the most with the least β¨ieee_addressβ the 64-bit extended address, stored as a LE byte array. little-endian, byte by byte, no cap. when you need the big one, this is her π
fr fr remember: it's a union, so these two share the same space. it's giving "one closet, two outfits." don't expect to have both at the same time, iykyk π
π SEE ALSO π
okay this is the part where the page just absolutely dumps the entire ca8210 cinematic universe on you and honestly? respect. grab a snack π β everything lives in the kernel file ./drivers/net/ieee802154/ca8210.c:
struct cas_control(9)struct ca8210_test(9)struct ca8210_priv(9)struct work_priv_container(9)struct ca8210_platform_data(9)struct fulladdr(9)struct secspec(9)link_to_linux_err(9)ca8210_test_int_driver_write(9)ca8210_reset_send(9)ca8210_mlme_reset_worker(9)ca8210_rx_done(9)ca8210_spi_transfer_complete(9)ca8210_spi_transfer(9)ca8210_spi_exchange(9)ca8210_interrupt_handler(9)tdme_setsfr_request_sync(9)tdme_chipinit(9)tdme_channelinit(9)tdme_checkpibattribute(9)tdme_settxpower(9)mcps_data_request(9)mlme_reset_request_sync(9)mlme_set_request_sync(9)hwme_set_request_sync(9)hwme_get_request_sync(9)ca8210_async_xmit_complete(9)ca8210_skb_rx(9)ca8210_net_rx(9)ca8210_skb_tx(9)ca8210_start(9)ca8210_stop(9)ca8210_xmit_async(9)ca8210_get_ed(9)ca8210_set_channel(9)ca8210_set_hw_addr_filt(9)ca8210_set_tx_power(9)ca8210_set_cca_mode(9)ca8210_set_cca_ed_level(9)ca8210_set_csma_params(9)ca8210_set_frame_retries(9)ca8210_test_int_open(9)ca8210_test_check_upstream(9)ca8210_test_int_user_write(9)ca8210_test_int_user_read(9)ca8210_test_int_ioctl(9)ca8210_test_int_poll(9)ca8210_get_platform_data(9)ca8210_config_extern_clk(9)ca8210_register_ext_clock(9)ca8210_unregister_ext_clock(9)ca8210_reset_init(9)ca8210_interrupt_init(9)ca8210_dev_com_init(9)ca8210_dev_com_clear(9)ca8210_hw_setup(9)ca8210_test_interface_init(9)ca8210_test_interface_clear(9)ca8210_remove(9)ca8210_probe(9)
that's the whole friend group. every single one of them. go say hi ππ
so yeah β that's union macaddr, a tiny little union holding either a 16-bit short address or a 64-bit extended address as a LE byte array, living its best life in ./drivers/net/ieee802154. short page, huge main character energy. periodt. π
okay bye bestie, this one's out of ./drivers/net/ieee802154 and stamped October 2026 β mwah, drink water, and remember: it's a union, not a struct πΈβ¨π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms