xemaclite_recv_data(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ xemaclite_recv_data(9) ✨

okay so bestie, we're in the Kernel API Manual today and the vibe is networking driver realness πŸ’… this one's called xemaclite_recv_data and it's giving "receive a frame" energy, no cap.


🌸 NAME 🌸

xemaclite_recv_data β€” receive a frame πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

u16 xemaclite_recv_data (struct net_local *drvdata , u8 *data , int maxlen );

like, that's the whole signature, it's lowkey iconic in how much it doesn't say 😭


πŸ’– ARGUMENTS πŸ’–

  • drvdata β€” pointer to the Emaclite device private data. she's the main character struct, everything you need lives in there 🫢
  • data β€” the address where the data is to be received. yes literally the spot where the incoming frame lands πŸ“₯
  • maxlen β€” maximum supported ethernet packet length. keep it in check bestie, no rogue oversized packets allowed πŸ™ˆ

🌈 DESCRIPTION 🌈

so the whole point of this function β€” its entire personality β€” is that it's intended to be called from the interrupt context, OR from a wrapper which waits for the receive frame to be available. that's it, that's the deal ⭐

highkey important detail: it's interrupt context or the wrapper β€” you don't just call it whenever and hope for the best, that's not the vibe fr fr πŸ”₯


πŸ‘‘ RETURN πŸ‘‘

returns the total number of bytes received πŸ’€ like yes it tells you how much frame you actually got, slay.


🧚 SEE ALSO 🧚

so here's the whole friend group, the entire xemaclite extended universe 🌸 like genuinely obsessed with how many siblings this function has:

kernel file ./drivers/net/ethernet/xilinx/xilinx_emaclite.c and struct net_local(9), xemaclite_enable_interrupts(9), xemaclite_disable_interrupts(9), xemaclite_aligned_write(9), xemaclite_aligned_read(9), xemaclite_send_data(9), xemaclite_update_address(9), xemaclite_set_mac_address(9), xemaclite_tx_timeout(9), xemaclite_tx_handler(9), xemaclite_rx_handler(9), xemaclite_interrupt(9), xemaclite_mdio_wait(9), xemaclite_mdio_read(9), xemaclite_mdio_write(9), xemaclite_mdio_setup(9), xemaclite_adjust_link(9), xemaclite_open(9), xemaclite_close(9), xemaclite_send(9), get_bool(9), xemaclite_ethtools_get_drvinfo(9), xemaclite_of_probe(9), xemaclite_of_remove(9) πŸ¦‹

like yeah bestie you're gonna want to know at least a few of those. the rx handler and the interrupt ones especially, iykyk πŸ’…

and that's the whole page! πŸŽ€ source lives at ./drivers/net/ethernet/xilinx and the date on this bad boy is October 2026, so write it in your notes, screenshot it, pin it, whatever β€” xemaclite_recv_data(9) out πŸ’œβœ¨

πŸ“¦ where this page comes from