Safe API Framework
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
Toggle main menu visibility
Loading...
Searching...
No Matches
sapi_netlink_backend.h
Go to the documentation of this file.
1
16
#ifndef SAFEAPI_OS_NETLINK_BACKEND_H
17
#define SAFEAPI_OS_NETLINK_BACKEND_H
18
19
#include "
safeapi/oal/netlink/sapi_netlink.h
"
20
#include "
safeapi/utils/status/sapi_status.h
"
21
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
25
32
typedef
struct
sapi_netlink_backend_s
33
{
35
sapi_status_t
(*
open
)(sapi_netlink_storage_t *storage,
36
const
sapi_netlink_config_t
*config,
37
sapi_netlink_handle_t
*out_handle);
39
sapi_status_t
(*
send
)(
sapi_netlink_handle_t
handle,
const
void
*message,
40
size_t
message_size,
sapi_duration_ms_t
timeout_ms);
42
sapi_status_t
(*
receive
)(
sapi_netlink_handle_t
handle,
void
*out_message,
43
size_t
buffer_size,
sapi_duration_ms_t
timeout_ms);
45
sapi_status_t
(*
close
)(
sapi_netlink_handle_t
handle);
46
}
sapi_netlink_backend_t
;
47
55
sapi_status_t
sapi_netlink_register_backend
(
const
sapi_netlink_backend_t
*backend);
56
57
#ifdef __cplusplus
58
}
59
#endif
60
61
#endif
/* SAFEAPI_OS_NETLINK_BACKEND_H */
62
/* NETLINK_BACKEND */
sapi_netlink_register_backend
sapi_status_t sapi_netlink_register_backend(const sapi_netlink_backend_t *backend)
Registers the backend implementation used by every sapi_netlink_* call (ADR-005 section 2....
Definition
sapi_netlink.c:26
sapi_netlink_handle_t
struct sapi_netlink_impl_s * sapi_netlink_handle_t
Opaque handle to an established link, returned by sapi_netlink_open().
Definition
sapi_netlink.h:55
sapi_status_t
sapi_status_t
Common result/status codes.
Definition
sapi_status.h:27
sapi_duration_ms_t
uint32_t sapi_duration_ms_t
Definition
sapi_types.h:27
sapi_netlink.h
OS Abstraction Layer - Point-to-point network link service.
sapi_status.h
Common status/error codes returned by every Safe API Framework function. Shared across all OS Abstrac...
sapi_netlink_backend_t
Backend vtable: an integrator's implementation of the network link service for a specific transport/t...
Definition
sapi_netlink_backend.h:33
sapi_netlink_backend_t::send
sapi_status_t(*) send(sapi_netlink_handle_t handle, const void *message, size_t message_size, sapi_duration_ms_t timeout_ms)
Backend implementation of sapi_netlink_send(). May be NULL.
Definition
sapi_netlink_backend.h:39
sapi_netlink_backend_t::open
sapi_status_t(*) open(sapi_netlink_storage_t *storage, const sapi_netlink_config_t *config, sapi_netlink_handle_t *out_handle)
Backend implementation of sapi_netlink_open(). May be NULL.
Definition
sapi_netlink_backend.h:35
sapi_netlink_backend_t::close
sapi_status_t(*) close(sapi_netlink_handle_t handle)
Backend implementation of sapi_netlink_close(). May be NULL.
Definition
sapi_netlink_backend.h:45
sapi_netlink_backend_t::receive
sapi_status_t(*) receive(sapi_netlink_handle_t handle, void *out_message, size_t buffer_size, sapi_duration_ms_t timeout_ms)
Backend implementation of sapi_netlink_receive(). May be NULL.
Definition
sapi_netlink_backend.h:42
sapi_netlink_config_t
Configuration for sapi_netlink_open().
Definition
sapi_netlink.h:74
include
safeapi_backend
netlink
sapi_netlink_backend.h
Generated by
1.18.0