ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_wifi_backend.h File Reference

The radio-operation seam ra8_wifi dispatches through. More...

#include <stdint.h>
#include "ra8_err.h"
#include "ra8_wifi.h"
Include dependency graph for ra8_wifi_backend.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ra8_wifi_backend
 One vtable per radio. More...

Detailed Description

The radio-operation seam ra8_wifi dispatches through.

Tag
[Ring 4 / PAL] {World: NS}

The full layout of ra8_wifi_backend_t, which ra8_wifi.h forward-declares as opaque. Only two kinds of translation unit include this file: a backend that fills a static const ra8_wifi_backend_t and exports its address (the way k_ra8_wifi_backend_c6link does), and a host test that constructs a mock table to drive the facade with no radio present. Application code never includes it – it selects a backend by address and calls only ra8_wifi.h.

Contract
Every function pointer is required; ra8_wifi_init rejects a table with a null row. Each callback receives the backend's opaque ctx so a backend keeps its state private, and returns an ra8_err_t the facade propagates. Together the rows are the smallest set that expresses a station's life: bring the link up, start and stop the radio, join and leave a network, service the wire, read the two facts an IP stack needs – the station MAC and the associated AP – and idle between attempts so a bounded wait measures seconds rather than however fast the backend happens to answer.
See also
ra8_wifi.h
ra8_wifi_c6link.h
Since
0.1.0

Definition in file ra8_wifi_backend.h.