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

The one outstanding request a link is waiting on. More...

#include <ra8_c6link.h>

Data Fields

uint32_t uid
 UID stamped on the request; echoed back.
uint32_t resp_id
 RPC_ID__Resp_* that answers it.
ra8_c6link_take_fn_t take
 Extractor for the answer's fields.
void * take_ctx
 Context handed to the extractor.
ra8_err_t result
 What the extractor decided.
bool armed
 A request is outstanding.
bool satisfied
 Its answer arrived and was extracted.

Detailed Description

The one outstanding request a link is waiting on.

Treat as private.

Exposed only because ra8_c6link_t is caller-allocated and C requires the layout to be complete. Nothing outside libs/ra8_c6link/src/ may read or write these fields.

Invariant
armed is true only between staging a request and either receiving its response or exhausting the budget.
uid is unique per request within a link's lifetime.
Example:
// Private. Callers use ra8_c6link_fw_version() and friends instead.
See also
ra8_c6link_t
Since
0.1.0

Definition at line 485 of file ra8_c6link.h.

Field Documentation

◆ armed

bool ra8_c6link_wait::armed

A request is outstanding.

Definition at line 491 of file ra8_c6link.h.

Referenced by internal_c6link_rpc_answer(), and priv_c6link_rpc_call().

◆ resp_id

uint32_t ra8_c6link_wait::resp_id

RPC_ID__Resp_* that answers it.

Definition at line 487 of file ra8_c6link.h.

Referenced by internal_c6link_rpc_answer().

◆ result

ra8_err_t ra8_c6link_wait::result

What the extractor decided.

Definition at line 490 of file ra8_c6link.h.

Referenced by internal_c6link_rpc_answer(), and priv_c6link_rpc_call().

◆ satisfied

bool ra8_c6link_wait::satisfied

Its answer arrived and was extracted.

Definition at line 492 of file ra8_c6link.h.

Referenced by internal_c6link_rpc_answer(), and priv_c6link_rpc_call().

◆ take

ra8_c6link_take_fn_t ra8_c6link_wait::take

Extractor for the answer's fields.

Definition at line 488 of file ra8_c6link.h.

Referenced by internal_c6link_rpc_answer().

◆ take_ctx

void* ra8_c6link_wait::take_ctx

Context handed to the extractor.

Definition at line 489 of file ra8_c6link.h.

Referenced by internal_c6link_rpc_answer().

◆ uid

uint32_t ra8_c6link_wait::uid

UID stamped on the request; echoed back.

Definition at line 486 of file ra8_c6link.h.

Referenced by internal_c6link_rpc_answer().


The documentation for this struct was generated from the following file: