nros rmw-cffi
C vtable for plugging a third-party RMW backend into nros
Loading...
Searching...
No Matches
rmw_transport.h
Go to the documentation of this file.
1#ifndef NROS_RMW_TRANSPORT_H
2#define NROS_RMW_TRANSPORT_H
3
4#include <stddef.h>
5#include <stdint.h>
6
7#include "nros/rmw_ret.h"
8
59#ifdef __cplusplus
60extern "C" {
61#endif
62
68#define NROS_TRANSPORT_OPS_ABI_VERSION_V1 ((uint32_t)1)
69
85typedef struct nros_transport_ops_s {
91 uint32_t abi_version;
92
95 uint32_t _reserved;
96
101
111 int32_t (*open)(void *user_data, const void *params);
112
118 void (*close)(void *user_data);
119
128 int32_t (*write)(void *user_data, const uint8_t *buf, size_t len);
129
137 int32_t (*read)(void *user_data, uint8_t *buf, size_t len,
138 uint32_t timeout_ms);
140
161
162#ifdef __cplusplus
163} // extern "C"
164#endif
165
166#endif // NROS_RMW_TRANSPORT_H
Return-code constants for the nros RMW C vtable.
int32_t rmw_ret_t
Definition rmw_ret.h:58
rmw_ret_t nros_rmw_cffi_set_custom_transport(const nros_transport_ops_t *ops)
Definition rmw_transport.h:85
uint32_t _reserved
Definition rmw_transport.h:95
uint32_t abi_version
Definition rmw_transport.h:91
void * user_data
Definition rmw_transport.h:100