Nexus Embedded Platform 0.1.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
user_io_broker.h
Go to the documentation of this file.
1
9#ifndef NEXUS_COMPONENTS_USER_IO_BROKER_H
10#define NEXUS_COMPONENTS_USER_IO_BROKER_H
11#include "nexus/core/status.h"
12#ifdef __cplusplus
13extern "C" {
14#endif
21
29typedef struct {
30 uint32_t abi;
31 uint32_t device;
32 uint32_t operation;
33 uint32_t set_mask;
34 uint32_t reset_mask;
35 uint32_t read_mask;
36 uint32_t reserved[2];
38
39typedef struct {
40 uint32_t result;
41 uint32_t value;
43
44typedef struct nx_user_io_broker nx_user_io_broker_t;
45typedef struct nx_user_io_call nx_user_io_call_t;
63
78 const nx_user_io_message_t* message,
79 nx_user_io_reply_t* reply);
88 nx_user_io_call_t* call);
89#ifdef __cplusplus
90}
91#endif
92#endif /* NEXUS_COMPONENTS_USER_IO_BROKER_H */
Small vendor-independent result vocabulary.
nx_result_t
Operation result; success at submission means admission only.
Definition status.h:21
Untrusted copied message; identity never comes from users.
Fully initialized copied result; value is zero for errors/WRITE.
Distinguish admission, cleanup retention and possible effect.
nx_result_t cleanup_result
nx_user_io_result_t nx_user_io_broker_gpio_finish(nx_user_io_broker_t *broker, nx_user_io_call_t *call)
Retry retained cleanup without reading users or replaying IO.
nx_user_io_constants
Only scalar GPIO operations are admitted by this message ABI.
@ NX_USER_GPIO_WRITE
@ NX_USER_IO_ABI
@ NX_USER_GPIO_READ
nx_user_io_result_t nx_user_io_broker_gpio(nx_user_io_broker_t *broker, nx_user_io_call_t *call, const nx_user_io_message_t *message, nx_user_io_reply_t *reply)
Execute one scalar GPIO message through a trusted gateway.
struct nx_user_io_call nx_user_io_call_t
struct nx_user_io_broker nx_user_io_broker_t
Broker and persistent kernel call storage stay provider private.