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

What an answer extractor is given alongside the decoded message. More...

#include <ra8_c6link_internal.h>

Collaboration diagram for ra8_c6link_take_ctx:

Data Fields

ra8_c6link_tlink
 Handle the request was issued on.
void * out
 Where the extracted fields go, or null.
uint32_t rpc_id
 RPC_ID__Req_* to record in the fault slot.

Detailed Description

What an answer extractor is given alongside the decoded message.

Every extractor needs the link – to record a co-processor result code in the fault slot – and most also need somewhere to put the fields they read. One shared context type carries both, so the wait slot stays a single void* and no extractor has to reach for a file-scope variable.

Invariant
link is the handle the request was issued on.
out is null exactly for requests whose answer carries no fields beyond its result code.
Example:
ra8_c6link_take_ctx_t take = { .link = link, .out = &version };
See also
priv_c6link_rpc_call
Since
0.1.0

Definition at line 581 of file ra8_c6link_internal.h.

Field Documentation

◆ link

ra8_c6link_t* ra8_c6link_take_ctx::link

Handle the request was issued on.

Definition at line 582 of file ra8_c6link_internal.h.

Referenced by internal_c6link_take_ap(), internal_c6link_take_fw(), internal_c6link_take_mac(), and priv_c6link_take_resp().

◆ out

void* ra8_c6link_take_ctx::out

Where the extracted fields go, or null.

Definition at line 583 of file ra8_c6link_internal.h.

Referenced by internal_c6link_take_ap(), internal_c6link_take_fw(), and internal_c6link_take_mac().

◆ rpc_id

uint32_t ra8_c6link_take_ctx::rpc_id

RPC_ID__Req_* to record in the fault slot.

Definition at line 584 of file ra8_c6link_internal.h.

Referenced by internal_c6link_take_ap(), internal_c6link_take_mac(), and priv_c6link_take_resp().


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