eRPC API Reference  Rev. 1.11.0
NXP Semiconductors
erpc_arbitrated_client_setup.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Freescale Semiconductor, Inc.
3  * Copyright 2016-2017 NXP
4  * Copyright 2019 ACRIOS Systems s.r.o.
5  * All rights reserved.
6  *
7  *
8  * SPDX-License-Identifier: BSD-3-Clause
9  */
10 
11 #ifndef _ERPC_ARBITRATED_CLIENT_SETUP_H_
12 #define _ERPC_ARBITRATED_CLIENT_SETUP_H_
13 
14 #include "erpc_common.h"
15 #include "erpc_config_internal.h"
16 #include "erpc_mbf_setup.h"
17 #if ERPC_PRE_POST_ACTION
18 #include "erpc_pre_post_action.h"
19 #endif
20 #if ERPC_NESTED_CALLS
21 #include "erpc_server_setup.h"
22 #endif
23 #include "erpc_client_manager.h"
24 #include "erpc_transport_setup.h"
25 
32 // API
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 #include <stdbool.h>
41 #include <stdint.h>
42 
44 
45 
69 erpc_client_t erpc_arbitrated_client_init(erpc_transport_t transport, erpc_mbf_t message_buffer_factory, erpc_transport_t *arbitrator);
70 
80 
91 void erpc_arbitrated_client_set_crc(erpc_client_t client, uint32_t crcStart);
92 
93 #if ERPC_NESTED_CALLS
94 
100 void erpc_arbitrated_client_set_server(erpc_client_t client, erpc_server_t server);
101 
108 void erpc_arbitrated_client_set_server_thread_id(erpc_client_t client, void *serverThreadId);
109 #endif
110 
111 #if ERPC_MESSAGE_LOGGING
112 
121 bool erpc_arbitrated_client_add_message_logger(erpc_client_t client, erpc_transport_t transport);
122 #endif
123 
124 #if ERPC_PRE_POST_ACTION
125 
132 void erpc_arbitrated_client_add_pre_cb_action(erpc_client_t client, pre_post_action_cb preCB);
133 
141 void erpc_arbitrated_client_add_post_cb_action(erpc_client_t client, pre_post_action_cb postCB);
142 #endif
143 
152 
154 
155 #ifdef __cplusplus
156 }
157 #endif
158 
161 #endif // _ERPC_ARBITRATED_CLIENT_SETUP_H_
struct ErpcTransport * erpc_transport_t
Opaque transport object type.
Definition: erpc_transport_setup.h:25
void erpc_arbitrated_client_set_error_handler(erpc_client_t client, client_error_handler_t error_handler)
This function sets error handler function.
Definition: erpc_arbitrated_client_setup.cpp:154
struct ErpcMessageBufferFactory * erpc_mbf_t
Opaque MessageBufferFactory object type.
Definition: erpc_mbf_setup.h:26
void erpc_arbitrated_client_set_crc(erpc_client_t client, uint32_t crcStart)
Can be used to set own crcStart number.
Definition: erpc_arbitrated_client_setup.cpp:163
erpc_client_t erpc_arbitrated_client_init(erpc_transport_t transport, erpc_mbf_t message_buffer_factory, erpc_transport_t *arbitrator)
Initializes a client that shares its transport with the server.
Definition: erpc_arbitrated_client_setup.cpp:46
struct ClientType * erpc_client_t
Opaque client object type.
Definition: erpc_client_manager.h:34
void(* client_error_handler_t)(erpc_status_t err, uint32_t functionID)
Definition: erpc_client_manager.h:30
struct ServerType * erpc_server_t
Opaque server object type.
Definition: erpc_server_setup.h:40
void erpc_arbitrated_client_deinit(erpc_client_t client)
This function de-initializes client.
Definition: erpc_arbitrated_client_setup.cpp:223