SOME/IP Client Stack
SOME/IP Client Overview
RAPIDSEA supports SOME/IP protocol as explained in the SOME/IP Protocol page. This page describes the client architecture, how the user should interface the stack with their own logic, and how to swiftly implement the tester. It also provides guidelines on adopting the stack for different systems.
The below diagram captures the block level diagram of the SOME/IP client and how it interfaces with other modules.
Application Interface
While the RAPIDSEA SOME/IP client stack can handle most of the functionality such as message validation, service discovery management, subscription handling, Subscriber process etc, the business logic has to implement the application functionality. The RAPIDSEA SOME/IP client clearly defines API and callback functions that are essential for the user to use/implement.
The below table captures the function that are to be called from the application logic.
Function |
Description |
|---|---|
rs_some_client_open |
To initialize the SOME/IP client instance structure for both discovery and Subscriber process. |
rs_some_client_sd_service_set_state |
To set the service state (requested/released) for the given SOME/IP client service instance. |
rs_some_consumed_eventgroup_set_state |
To set the request state (subscribe/unsubscribe) for the given consumed event group of a SOME/IP client service instance. |
rs_some_client_subscribe_init |
To initialize the SOME/IP subscription details structure associated with the client. |
rs_some_client_run |
To be called to set the run state for state machine for both discovery and Subscriber process. |
rs_some_client_set_rx_msg_buf |
To set up the receive buffers to be used for the SOME/IP client communication. |
rs_some_client_set_tx_msg_buf |
To set up the transmit buffers to be used for the SOME/IP client communication. |
rs_some_client_req_find_service |
To be called to find the service of given service ID and instance ID. |
rs_some_client_send_stop_subscribe_req_all |
To frame and send the stop subscribe eventgroup request for all eventgroups and reset the subscription in client side |
rs_some_client_send_stop_subscribe_req |
To be called to stop the eventgroup subscription for given eventgroup ID. |
rs_some_client_send_req |
To be called to send the request for subscribed eventgroups (read/write/method) |
rs_some_client_set_reboot_flag |
To be called to set the reboot flag in SOME/IP client instance. |
rs_some_client_process |
To be called to call the discovery and Subscriber’s state machine and process respectively. |
rs_some_client_close |
To freed the SOME/IP client handle. |
There are many functions through which the SOME/IP client stack retrieves information from the application logic or indicate actions to be performed. These functions are captured in the below table.
Function |
Description |
|---|---|
rcb_some_client_rx_resp_err_handler |
Called to indicate reception of error response for any request |
rcb_some_client_rx_notify_resp_handler |
Called when notification events received from server. |
rcb_some_client_subscription_resp_handler |
Called when response for a service discovery request is received |
rcb_some_client_get_serialized_config_option |
Called when function get the serialized data of configuration option |
rcb_some_client_set_deserialize_config_option |
Called when function set the deserialized data of load balancing option |
rcb_some_client_set_load_balancing_option_info |
called when function set the data of load balancing option |
rcb_some_client_get_mem |
Called to get memory |
Method setter/getter callbacks |
This callbacks must mapped into event information under service details information |
SOME/IP Client Configuration Parameter:
Function |
Description |
|---|---|
sd_addr |
Multicast or Unicast IP address |
client_addr |
SOME/IP client IP address |
sd_port |
SD Port number for UDP IP |
sn_port |
SN Port number |
ip_version |
SOME/IP internet protocol version |
protocol_ver |
SOME/IP protocol version |
interface_ver |
SOME/IP interface version |
client_id |
SOME/IP Client ID |
initial_delay |
SOME/IP SD initial wait time |
repetitions_base_delay |
SOME/IP SD repetition base delay |
repetitions_max |
SOME/IP SD repetition max |
log_level |
SOME/IP Client log level |
These functions are documented in detail in the below sections. It is important for the client to implement these functions correct for proper operation of the system.
Implementation Guide
This section explains how the SOME/IP client can be implemented using the RAPIDSEA stack. The stack is available in source form; the steps to be followed are
Initialize the client configuration
Implement the Callback functions mentioned above
Initialize the buffers necessary for the operation
Initialize the SOME/IP stack function.
Periodically call the rs_some_client_process functions so that internal timeouts are handled.
If there is a need to send a request to ECU/server, send via rs_some_client_send_req call
When the response from server is received, rcb_some_client_rx_resp_handler function called.
On reception of negative response from server, rcb_some_client_rx_resp_err_handler function is called.
High level flow chart is depicted below:
The below diagram captures the high level sequence of operations associated with the SOME/IP stack.
SOME/IP Client Transmission and Reception Over UDP ( < 1400 bytes)
Transmission:
When payload < 1400 bytes, the SOME/IP Client sends the message directly over UDP without fragmentation. The below block diagram captures the SOMEIP/IP Server Transmission Over UDP.
The below block diagram captures the SOMEIP/IP Client Transmission Over UDP
Reception:
For small UDP messages (<1400 bytes), the client directly receives and processes the packet without TP.
The below block diagram captures the SOMEIP/IP Client Reception Over UDP
The below sequence diagram captures the SOMEIP/IP Client Transmission and Reception Over UDP
SOME/IP Client Transmission and Reception Over UDP ( > 1400 bytes)
Transmission:
For payloads >1400 bytes, the client uses SOME/IP-TP over UDP. Data is segmented into smaller frames, transmitted sequentially, and reassembled at the receiver end.
The below block diagram captures the SOMEIP/IP Client Transmission Over UDP with TP
Reception:
When receiving data >1400 bytes over UDP, the client uses the SOME/IP-TP module for fragment reassembly. Only after complete message reassembly, the data is passed to the application.
The below block diagram captures the SOMEIP/IP Client Reception Over UDP with TP
The below sequence diagram captures the SOMEIP/IP Client Transmission and Reception Over UDP with TP
SOME/IP Client Transmission and Reception Over TCP
Transmission:
For reliable, ordered, and connection-oriented transmission, the SOME/IP Client uses TCP
The below block diagram captures the SOMEIP/IP Client Transmission Over TCP
Reception:
In TCP reception, the client reads a continuous stream of bytes, extracts complete SOME/IP messages, and delivers them to the appropriate service.
The below block diagram captures the SOMEIP/IP Client Reception Over TCP
The below sequence diagram captures the SOMEIP/IP Client Transmission and Reception Over TCP
This can be implemented in a bare-metal system or over RTOS or over full fledged OS such as Linux etc.
SOME/IP Client Stack Buffer Details
The SOME/IP communication stack maintains dedicated transmit (TX) and receive (RX) buffers to manage application data exchanged over Ethernet. By default, each buffer is configured with a size of approximately 5 KB, which is sufficient to handle typical message sizes within the Ethernet frame limits.
In accordance with the AUTOSAR SOME/IP and SOME/IP-TP specifications, a single SOME/IP message should generally not exceed the Ethernet MTU (typically around 1400 bytes). When a message payload exceeds this limit, the SOME/IP layer delegates transmission to the SOME/IP Transport Protocol (SOME/IP-TP). The TP layer is responsible for segmenting the large payload into multiple transport frames for transmission and reassembling them at the receiver side.
Since the SOME/IP layer and the SOME/IP-TP layer operate together for such large messages, the TP buffer size must always be configured equal to the SOME/IP buffer size. This ensures seamless data handover between the two modules and prevents buffer overflow or truncation during segmentation and reassembly.
Hence, the memory allocation strategy for SOME/IP client operation can be summarized as follows:
Configuration Mode |
Description |
|---|---|
Without TP (Standard SOME/IP) |
Only the SOME/IP stack is used. TX and RX buffers of around 1400 bytes are sufficient to handle single-frame transmissions within the Ethernet MTU limit. |
With TP Enabled (SOME/IP-TP Mode) |
Large messages exceeding MTU are transferred via SOME/IP-TP. The SOME/IP buffer size and TP buffer size must be identical (e.g., 5 KB) to ensure proper segmentation and reassembly of large data packets. |
This configuration guarantees consistent memory handling between SOME/IP and SOME/IP-TP layers and aligns with AUTOSAR recommendations for transport protocol interoperability.
SOME/IP Client Memory Allocation Details
The SOME/IP Client stack statically allocates multiple buffers and array instances
to manage service subscriptions, eventgroup tracking, and protocol communication.
Each buffer size directly impacts memory footprint and must remain consistent
with the configured maximums in rs_someip_client.h.
The following table summarizes all major memory allocations defined in this module:
Structure / Field |
Macro / Size |
Description & Impact |
|---|---|---|
|
20 (default) |
Maintains UDP socket information for subscribed services.
Each element holds an instance of |
|
20 (default) |
Holds TCP connection information structures for SOME/IP client subscribers. Each instance contains socket configuration, state, and connection handle. Modifying this macro changes the number of parallel TCP sessions supported. |
|
25 (default) |
Stores the subscribed Eventgroup IDs for each service.
Increasing this enables more eventgroups per service but increases
static allocation size in |
|
Structure type: |
Used as transmission and reception buffers for SOME/IP messages. Their internal payload buffer is defined by the SOME/IP layer (typically ~5 KB). If SOME/IP-TP is enabled, the TP buffer size must match the SOME/IP buffer size to ensure proper segmentation and reassembly. |
|
User Defined Size |
Points to service information structures allocated during initialization.
Each |
|
User Defined Size |
Points to subscription information list; allocated based on configured number of subscribed services. |
|
Integer count |
Indicates how many service and subscription instances are active. |
rcb_some_client_get_mem |
Size depends on the user |
This function is used to get memory for the given user size. |
Note
All array sizes defined by macros (e.g.,
RS_SOMEIP_CLIENT_MAX_TCP_CONN) are compile-time constants.Changing these will alter the static memory footprint of the client instance.The SOME/IP and SOME/IP-TP buffer sizes must remain equal when TP mode is used, to ensure buffer alignment during message fragmentation and reassembly.
Increasing any of these macros will directly increase the RAM usage of the SOME/IP client instance.Always verify memory availability and heap/stack limits in the target environment.
Reducing array sizes may cause runtime errors if more services or eventgroups are subscribed than allowed.
See also
All the
rs_some_client_xxcalls are must be called in a single thread.For reference, see the
apps/someip_client_demounder RS source directory page
SOME/IP Client Stack Memory Usage
Platform |
Memory |
Size |
|---|---|---|
Micro controller (iMXRT) |
ROM |
73KB |
Micro controller (iMXRT) |
RAM |
25KB |
Platform |
Memory |
Size |
|---|---|---|
Micro controller (iMXRT) |
ROM |
294KB |
Micro controller (iMXRT) |
RAM |
157KB |
Note:
The above table captures the memory usage for five services. Each service has two or one event groups, and across these eventgroups, a total of ten events are mapped. If you add or remove services, the memory usage will increase or decrease accordingly.
Dependency
This stack depends on the below RAPIDSEA interface that can be obtained or custom implemented.
Example demo
An example implementation is available along with the release and is described in SOME/IP Client Demo.
SOME/IP Client Header
Documentation from the relevant header as follows:
SOME/IP Client based APIs.
This file contains the declaration and details of SOME/IP client based APIs
- Author
Embien RAPIDSEA Team
- Copyright
Embien Technologies India Pvt. Ltd.
Defines
-
RS_SOMEIP_CLIENT_VERSION
RS SOME/IP Client version.
-
RS_SOMEIP_CLIENT_MAX_TCP_CONN
SOME/IP Client maximum number of TCP socket connection.
-
RS_SOMEIP_CLIENT_MAX_UDP_SOCKET
SOME/IP Client maximum number of UDP socket connection.
-
RS_SOMEIP_CLIENT_MAX_SUB_EVTGRP_LIST
SOME/IP Client maximum number of subscribe eventgroup list.
-
RS_SOMEIP_CLIENT_SD_UNICAST
-
RS_SOMEIP_CLIENT_SD_MULTICAST
-
RS_SOMEIP_SD_CLIENT_SERVICE_RELEASED
-
RS_SOMEIP_SD_CLIENT_SERVICE_REQUESTED
-
RS_SOMEIP_SD_CONSUMED_EVENTGROUP_RELEASED
-
RS_SOMEIP_SD_CONSUMED_EVENTGROUP_REQUESTED
Typedefs
-
typedef struct tag_rs_someip_client_service_info rs_someip_client_service_info_t
Contains information about SOME/IP service details.
-
typedef struct tag_rs_someip_client_subs_eventgrp_list rs_someip_client_subs_eventgrp_list_t
Contains information about SOME/IP subscribe eventgroup list details.
Called to get the corresponding subscribe event group list.
some_client_get_subscribe_eventgrp_info(rs_someip_client_instance_t *ptr_info, rs_someip_client_subscribe_info_t
ptr_sub_info, uint16_t u16_evtgrp_id)
This function called to get the corresponding subscribe event group list.
- Param ptr_info:
[in] - Pointer to the SOME/IP client instance structure.
- Param ptr_sub_info:
[in] - Pointer to the SOME/IP client subscribe information.
- Param u16_evtgrp_id:
[in] - Eventgroup ID.
- Return:
Return Pointer of the free subscribe list structure if success or NULL if failure.
-
typedef struct tag_rs_someip_client_subscribe_info rs_someip_client_subscribe_info_t
Contains information about SOME/IP subscribe list details per socket information.
-
typedef struct tag_rs_someip_client_tcp_info rs_someip_client_tcp_info_t
Contains information about SOME/IP client subscriber TCP protocol communication.
-
typedef struct tag_rs_someip_client_subscriber_info rs_someip_client_subscriber_info_t
Contains information about SOME/IP client subscriber.
-
typedef struct tag_rs_someip_client_config rs_someip_client_config_t
Contains information about SOME/IP client configuration.
-
typedef struct tag_rs_someip_client_instance rs_someip_client_instance_t
Contains information about SOME/IP client instance.
Functions
-
rs_handle_t rs_some_client_open(rs_someip_client_instance_t *ptr_instance, rs_someip_client_config_t *ptr_config)
Initialize the SOME/IP instance structure with initial values.
This function initialize the SOME/IP instance structure with initial values.
- Parameters:
ptr_instance – [in] - Pointer to the SOME/IP client instance
ptr_config – [in] - Pointer to the SOME/IP client configuration
- Returns:
Handle of the SOME/IP instance information
-
rs_ret_val_t rs_some_client_run(rs_handle_t handle, uint32_t u32_run)
Assign the initial state of the state machine for both discovery and event subscriber process.
This function assigns the initial state of the state machine for both discovery and event subscriber process.
- Parameters:
handle – [in] - Handle of the SOME/IP client instance information
u32_run – [in] - State will be set according to this value.
- Returns:
Zero on success or negative error code on failure.
-
rs_ret_val_t rs_some_client_sd_service_set_state(rs_handle_t someip_client_handle, rs_someip_service_details_t *ptr_serv_details, uint8_t u8_state)
Set the state of a SOME/IP client service.
This function sets the service state (requested/released) for the given SOME/IP client service instance.
- Parameters:
someip_client_handle – [in] - Handle of the SOME/IP client instance
ptr_serv_details – [in] - Pointer to the service details
u8_state – [in] - Service state value to set
- Returns:
Zero on success or negative error code on failure.
-
rs_ret_val_t rs_some_consumed_eventgroup_set_state(rs_handle_t someip_client_handle, rs_someip_service_details_t *ptr_serv_details, uint16_t eventgroup_id, uint8_t u8_state)
Set the state of a SOME/IP consumed event group.
This function sets the request state (subscribe/unsubscribe) for the given consumed event group of a SOME/IP client service instance.
- Parameters:
someip_client_handle – [in] - Handle of the SOME/IP client instance
ptr_serv_details – [in] - Pointer to the service details
eventgroup_id – [in] - ID of the event group
u8_state – [in] - Event group state value to set
- Returns:
Zero on success or negative error code on failure.
-
rs_ret_val_t rs_some_client_set_rx_msg_buf(rs_handle_t handle, uint8_t *ptr_data_buff, uint16_t u16_buff_len)
Set up the receive buffer to be used for the SOME/IP stack.
This function sets up the receive buffer to be used for SOME/IP stack
- Parameters:
handle – [in] - handle of SOME/IP client instance information
ptr_data_buff – [in] - Pointer to the data buffer
u16_buff_len – [in] - Buffer length in bytes
- Returns:
Zero or negative error code
-
rs_ret_val_t rs_some_client_set_tx_msg_buf(rs_handle_t handle, uint8_t *ptr_data_buff, uint16_t u16_buff_len)
Set up the transmit buffer to be used for the SOME/IP client stack.
This function sets up the transmit buffer to be used for SOME/IP client stack
- Parameters:
handle – [in] - Handle of SOME/IP client instance information
handle – [in] - handle of SOME/IP client instance information
ptr_data_buff – [in] - Pointer to the data buffer
u16_buff_len – [in] - Buffer length in bytes
- Returns:
Zero or negative error code
-
rs_ret_val_t rs_some_client_req_find_service(rs_handle_t handle, rs_someip_service_details_t *ptr_srv_details, uint32_t u32_num_entry)
Frame and send find service request.
This function frame and send the find service request for the given service ID and instance ID.
- Parameters:
handle – [in] - Handle of the SOME/IP client instance information.
ptr_srv_details – [in] - Pointer to SOME/IP client service details.
u32_num_entry – [in] - Number of elements in array.
- Returns:
Return Number of bytes sent.
-
rs_ret_val_t rs_some_client_send_stop_subscribe_req_all(rs_handle_t handle)
Frame and send stop subscribe eventgroup request.
This function frame and send the stop subscribe eventgroup request for all eventgroups and reset the subscription in client side.
- Parameters:
handle – [in] - Handle of the SOME/IP client instance information.
- Returns:
Return 0 if success or negative value if failure
-
rs_ret_val_t rs_some_client_send_req(rs_handle_t handle, rs_someip_req_resp_info_t *ptr_req_resp_info, rs_someip_client_subscribe_info_t *ptr_subscribe_details)
Frame and send request for subscribed eventgroups.
This function frame and send the request for subscribed eventgroups (read/write/method).
- Parameters:
handle – [in] - Handle of the SOME/IP client instance information.
ptr_req_resp_info – [in] - Pointer to the request response information structure.
ptr_subscribe_details – [in] - Pointer to the subscribe structure.
- Returns:
Return 0 if success or negative value if failure.
-
rs_ret_val_t rs_some_client_set_reboot_flag(rs_handle_t someip_client_handle, uint8_t u8_reboot_val)
Called to set the reboot flag in SOME/IP client instance.
This function called to set the reboot flag in SOME/IP client instance.
- Parameters:
someip_client_handle – [in] - Handle of the SOME/IP instance information
u8_reboot_val – [in] - Reboot value.
- Returns:
Return 0 if success or negative value if failure.
-
rs_ret_val_t rs_some_client_subscribe_init(rs_handle_t handle, rs_someip_client_subscribe_info_t *ptr_subscribe_info, uint32_t u32_num_subscription, uint32_t u32_sub_list_num)
Initialize the subscription structure.
This function initialize the subscription structure in given instance structure to store subscribe information on socket bases.
- Parameters:
handle – [in] - Handle of the SOME/IP client instance structure.
ptr_subscribe_info – [in] - Pointer to subscription information structure.
u32_num_subscription – [in] - Max number of subscription.
u32_sub_list_num – [in] - Max number of subscription list.
- Returns:
Return 0 if success or -1 if failure.
-
rs_ret_val_t rs_some_client_process(rs_handle_t someip_client_handle)
Called to call the discovery and Event subscriber’s state machine and process respectively.
This function called to call the discovery and Event subscriber’s state machine and process respectively
- Parameters:
someip_client_handle – [in] - Handle of the SOME/IP client instance information
- Returns:
Return 0 if success or negative value if failure.
-
rs_ret_val_t rs_some_client_close(rs_handle_t someip_client_handle)
Called to free the SOME/IP client handle.
This function called to free the SOME/IP client handle.
- Parameters:
someip_client_handle – [in] - Handle of the SOME/IP instance information
- Returns:
Return 0 if success or negative value if failure.
-
uint8_t *rcb_some_client_get_mem(uint32_t u32_size)
Called to get memory.
This function called to get memory.
- Parameters:
u32_size – [in] - Needed size
- Returns:
Return pointer to a SOME/IP buffer if available or NULL
-
rs_ret_val_t rcb_some_client_rx_resp_err_handler(rs_handle_t handle, rs_someip_notify_event_info_t *ptr_notify_evt_info, uint8_t u8_err_code)
Called when error response received from server.
This function prints an error line for received error code.
- Parameters:
handle – [in] - Handle of the SOME/IP client instance information.
ptr_notify_evt_info – [in] - Pointer to the notification event information.
u8_err_code – [in] - Error code received on response.
- Returns:
Return 0 on success.
-
rs_ret_val_t rcb_some_client_rx_notify_resp_handler(rs_handle_t handle, rs_someip_notify_event_info_t *ptr_evt_info)
Called when notification events received from server.
This function called for the notification events given request received form server.
- Parameters:
handle – [in] - Handle of the SOME/IP client instance information.
ptr_notify_evt_info – [in] - Pointer to the notification event information.
- Returns:
Return 0 on success or negative number on failure.
-
rs_ret_val_t rcb_some_client_subscription_resp_handler(rs_handle_t handle, rs_someip_service_details_t *ptr_serv_details, uint16_t u16_eventgrp_id, uint8_t u8_msg_type)
Called when response received for eventgroup subscription request.
This function to print ACK or NACK received for eventgroup subscribe request.
- Parameters:
handle – [in] - Handle of the SOME/IP client instance information.
ptr_serv_details – [in] - Pointer to the service details.
u16_eventgrp_id – [in] - Eventgroup ID.
u8_msg_type – [in] - Received message type (ACK/NACK).
- Returns:
Return 0 on success.
-
rs_ret_val_t rcb_some_client_get_serialized_config_option(rs_handle_t handle, rs_someip_config_opt_info_t *ptr_config_opt_info, uint8_t u8_serv_type)
Callback function to get the serialized data of configuration option.
This is a callback function to get the serialized data of configuration option
- Parameters:
handle – [in] - Handle of the SOME/IP client instance
ptr_config_opt_info – [out] - Pointer to the configuration option information
u8_serv_type – [in] - Service type
- Returns:
Return length of the payload data
-
rs_ret_val_t rcb_some_client_set_deserialize_config_option(rs_handle_t handle, rs_someip_config_opt_info_t *ptr_config_opt_info, uint8_t u8_serv_type)
Callback function to set the deserialized data of load balancing option.
This is a callback function to set the deserialized data of load balancing option
- Parameters:
handle – [in] - Handle of the SOME/IP client instance
ptr_config_opt_info – [in] - Pointer to the configuration option data information
- Returns:
Return length of the payload data
-
rs_ret_val_t rcb_some_client_set_load_balancing_option_info(rs_handle_t handle, rs_someip_load_opt_info_t *ptr_load_opt_info, uint8_t u8_serv_type)
Callback function to set the data of load balancing option.
This is a callback function to set the data of load balancing option
- Parameters:
handle – [in] - Handle of the SOME/IP client instance
ptr_load_opt_info – [in] - Pointer to the load balancing option data information
u8_serv_type – [in] - Service type
- Returns:
Returns 0 on success
-
struct tag_rs_someip_client_service_info
- #include <rs_someip_client.h>
Contains information about SOME/IP service details.
Public Members
-
rs_someip_service_details_t serv_details
SOME/IP Client service information.
-
uint8_t service_state
Client SD Service State.
-
uint16_t num_of_eventgrp
Number of eventgroup.
-
rs_someip_eventgrp_info_t *ptr_eventgrp
Pointer to the eventgroup information.
-
rs_someip_service_details_t serv_details
-
struct tag_rs_someip_client_subs_eventgrp_list
- #include <rs_someip_client.h>
Contains information about SOME/IP subscribe eventgroup list details.
Public Members
-
uint16_t eventgrp_id
Subscription eventgroup ID.
-
uint16_t eventgrp_id
-
struct tag_rs_someip_client_subscribe_info
- #include <rs_someip_client.h>
Contains information about SOME/IP subscribe list details per socket information.
Public Members
-
rs_someip_service_details_t *ptr_serv_details
Subscription service details.
-
rs_sock_addr_t socket_info
Subscription socket information.
-
uint8_t comm_type
Subscription communication type.
-
uint8_t ip_version
Subscription IP version (IPv4 or IPv6).
-
void *ptr_transport_info
Transport information (UDP/TCP).
-
uint32_t last_rx_offer_srv_time
last RX offer service time
-
uint32_t offer_ttl
RX offer TTL value.
-
uint32_t num_of_eventgrp_list
Maximum number of subscribe eventgroup list.
-
rs_someip_client_subs_eventgrp_list_t sub_evtgrp_list[RS_SOMEIP_CLIENT_MAX_SUB_EVTGRP_LIST]
Subscribe eventgroup list information.
-
rs_someip_service_details_t *ptr_serv_details
-
struct tag_rs_someip_client_tcp_info
- #include <rs_someip_client.h>
Contains information about SOME/IP client subscriber TCP protocol communication.
Public Members
-
rs_tcp_conn_instance_t tcp_socket_instance
TCP connection instance.
-
rs_socket_config_t tcp_socket_config
TCP socket configuration.
-
uint8_t state
TCP Connection communication process state.
-
uint8_t run_state
TCP connection run state.
-
uint16_t tcp_session_id
Session ID for subscriber.
-
rs_handle_t conn_handle
Connection Handle.
-
rs_tcp_conn_instance_t tcp_socket_instance
-
struct tag_rs_someip_client_subscriber_info
- #include <rs_someip_client.h>
Contains information about SOME/IP client subscriber.
Public Members
-
rs_someip_udp_proto_info_t subscriber_udp_info[RS_SOMEIP_CLIENT_MAX_UDP_SOCKET]
Service subscriber UDP socket information.
-
uint32_t num_of_conn
Number of client connection available.
-
rs_someip_client_tcp_info_t conn_inst[RS_SOMEIP_CLIENT_MAX_TCP_CONN]
TCP connection instance.
-
rs_someip_udp_proto_info_t subscriber_udp_info[RS_SOMEIP_CLIENT_MAX_UDP_SOCKET]
-
struct tag_rs_someip_client_config
- #include <rs_someip_client.h>
Contains information about SOME/IP client configuration.
Public Members
-
uint8_t client_addr[RS_SOMEIP_IP_ADDR_LEN]
SOME/IP client IP address.
-
uint8_t sd_addr[RS_SOMEIP_IP_ADDR_LEN]
SD IP address.
-
uint8_t sd_tx_mode
SD TX Mode.
-
uint16_t sd_port
SD Port number for UDP IP.
-
uint16_t sn_port
SN Port number.
-
uint8_t ip_version
SOME/IP SD repetition max.
-
uint8_t protocol_ver
SOME/IP protocol version.
-
uint8_t interface_ver
SOME/IP interface version.
-
uint8_t repetitions_max
SOME/IP SD repetition max.
-
uint8_t log_level
SOME/IP Client log level.
-
uint16_t client_id
SOME/IP Client ID.
-
uint32_t initial_delay
SOME/IP SD initial wait time.
-
uint32_t repetitions_base_delay
SOME/IP SD repetition base delay.
-
uint8_t client_addr[RS_SOMEIP_IP_ADDR_LEN]
-
struct tag_rs_someip_client_instance
- #include <rs_someip_client.h>
Contains information about SOME/IP client instance.
Public Members
-
rs_someip_client_config_t *ptr_config
Pointer to containing server configuration.
-
rs_someip_client_subscriber_info_t subscriber_process_info
SOME/IP client service subscriber process information.
-
rs_someip_udp_proto_info_t discov_udp_info
SOME/IP Service Discovery UDP information.
-
rs_someip_client_subscribe_info_t *ptr_subscribe_details
Pointer to subscribe structure information.
-
rs_someip_client_service_info_t *ptr_service_info
Pointer to the SOME/IP service information.
-
uint32_t number_of_subscribe
number of service subscribed
-
uint32_t number_of_services
Number of services.
-
uint32_t last_send_find_srv_time
last offer service sent time
-
uint8_t enable_main_phase
SOME/IP main phase.
-
uint8_t repetitions_count
SOME/IP repetition count.
-
uint8_t reboot_flag
SOME/IP Client reboot flag.
-
uint8_t subscriber_udp_tx_mode
SOME/IP client subscriber tx mode (unicast or multicast).
-
uint8_t sd_udp_tx_mode
SOME/IP client discovery tx mode (unicast or multicast).
-
rs_handle_t tp_handle
SOME/IP-TP Handle.
-
rs_someip_msg_t tx_msg
SOME/IP client TX Message.
-
rs_someip_msg_t rx_msg
SOME/IP client RX Message.
-
rs_someip_client_config_t *ptr_config