diff options
Diffstat (limited to 'implementation/configuration/include/internal_android.hpp')
-rw-r--r-- | implementation/configuration/include/internal_android.hpp | 142 |
1 files changed, 34 insertions, 108 deletions
diff --git a/implementation/configuration/include/internal_android.hpp b/implementation/configuration/include/internal_android.hpp index 8ecd2b5..1efa0fa 100644 --- a/implementation/configuration/include/internal_android.hpp +++ b/implementation/configuration/include/internal_android.hpp @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +// Copyright (C) 2014-2021 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. @@ -8,7 +8,10 @@ #include <cstdint> #include <limits> +#include <memory> + #include <vsomeip/primitive_types.hpp> +#include <vsomeip/structured_types.hpp> #define VSOMEIP_ENV_APPLICATION_NAME "VSOMEIP_APPLICATION_NAME" #define VSOMEIP_ENV_CONFIGURATION "VSOMEIP_CONFIGURATION" @@ -17,33 +20,41 @@ #define VSOMEIP_ENV_MANDATORY_CONFIGURATION_FILES "VSOMEIP_MANDATORY_CONFIGURATION_FILES" #define VSOMEIP_ENV_LOAD_PLUGINS "VSOMEIP_LOAD_PLUGINS" #define VSOMEIP_ENV_CLIENTSIDELOGGING "VSOMEIP_CLIENTSIDELOGGING" -#define VSOMEIP_ENV_BASE_PATH "VSOMEIP_BASE_PATH" -#define VSOMEIP_DEFAULT_CONFIGURATION_FILE "/vendor/etc/vsomeip.json" +#define VSOMEIP_DEFAULT_CONFIGURATION_FILE "/vendor/run/etc/vsomeip.json" #define VSOMEIP_LOCAL_CONFIGURATION_FILE "./vsomeip.json" -#define VSOMEIP_MANDATORY_CONFIGURATION_FILES "vsomeip_std.json,vsomeip_app.json,vsomeip_plc.json,vsomeip_log.json,vsomeip_security.json,vsomeip_whitelist.json" +#define VSOMEIP_MANDATORY_CONFIGURATION_FILES "vsomeip_std.json,vsomeip_app.json,vsomeip_plc.json,vsomeip_log.json,vsomeip_security.json,vsomeip_whitelist.json,vsomeip_policy_extensions.json" -#define VSOMEIP_DEFAULT_CONFIGURATION_FOLDER "/vendor/etc/vsomeip" +#define VSOMEIP_DEFAULT_CONFIGURATION_FOLDER "/vendor/run/etc/vsomeip" #define VSOMEIP_DEBUG_CONFIGURATION_FOLDER "/var/opt/public/sin/vsomeip/" #define VSOMEIP_LOCAL_CONFIGURATION_FOLDER "./vsomeip" -#define VSOMEIP_BASE_PATH "/storage/" +// VSOMEIP_BASE_PATH should be specified in Android.bp or/and Android.mk file via c/c++ compiler flags. +// #define VSOMEIP_BASE_PATH "/storage/" + +#define VSOMEIP_ROUTING_HOST_PORT_DEFAULT 31490 + +#define VSOMEIP_CFG_LIBRARY "libvsomeip_cfg.so" -#define VSOMEIP_CFG_LIBRARY "libvsomeip3-cfg.so" +#define VSOMEIP_SD_LIBRARY "libvsomeip_sd.so" -#define VSOMEIP_SD_LIBRARY "libvsomeip3-sd.so" +#define VSOMEIP_E2E_LIBRARY "libvsomeip_e2e.so" -#define VSOMEIP_E2E_LIBRARY "libvsomeip3-e2e.so" +#define VSOMEIP_SEC_LIBRARY "libvsomeip_sec.so" +#define VSOMEIP_ROUTING "vsomeipd" #define VSOMEIP_ROUTING_CLIENT 0 +#define VSOMEIP_ROUTING_INFO_SIZE_INIT 256 #define VSOMEIP_CLIENT_UNSET 0xFFFF #define VSOMEIP_UNICAST_ADDRESS "127.0.0.1" #define VSOMEIP_NETMASK "255.255.255.0" +#define VSOMEIP_PREFIX 24 #define VSOMEIP_DEFAULT_CONNECT_TIMEOUT 100 #define VSOMEIP_MAX_CONNECT_TIMEOUT 1600 +#define VSOMEIP_DEFAULT_CONNECTING_TIMEOUT 100 #define VSOMEIP_DEFAULT_FLUSH_TIMEOUT 1000 #define VSOMEIP_DEFAULT_SHUTDOWN_TIMEOUT 5000 @@ -54,6 +65,8 @@ #define VSOMEIP_MAX_TCP_RESTART_ABORTS 5 #define VSOMEIP_MAX_TCP_SENT_WAIT_TIME 10000 +#define VSOMEIP_TP_MAX_SEGMENT_LENGTH_DEFAULT 1392 + #define VSOMEIP_DEFAULT_BUFFER_SHRINK_THRESHOLD 5 #define VSOMEIP_DEFAULT_WATCHDOG_TIMEOUT 5000 @@ -76,90 +89,10 @@ #define VSOMEIP_MAX_WAIT_SENT 5 -#define VSOMEIP_COMMAND_HEADER_SIZE 7 - -#define VSOMEIP_COMMAND_TYPE_POS 0 -#define VSOMEIP_COMMAND_CLIENT_POS 1 -#define VSOMEIP_COMMAND_SIZE_POS_MIN 3 -#define VSOMEIP_COMMAND_SIZE_POS_MAX 6 -#define VSOMEIP_COMMAND_PAYLOAD_POS 7 - -#define VSOMEIP_ASSIGN_CLIENT 0x00 -#define VSOMEIP_ASSIGN_CLIENT_ACK 0x01 -#define VSOMEIP_REGISTER_APPLICATION 0x02 -#define VSOMEIP_DEREGISTER_APPLICATION 0x03 -#define VSOMEIP_APPLICATION_LOST 0x04 -#define VSOMEIP_ROUTING_INFO 0x05 -#define VSOMEIP_REGISTERED_ACK 0x06 - -#define VSOMEIP_PING 0x0E -#define VSOMEIP_PONG 0x0F - -#define VSOMEIP_OFFER_SERVICE 0x10 -#define VSOMEIP_STOP_OFFER_SERVICE 0x11 -#define VSOMEIP_SUBSCRIBE 0x12 -#define VSOMEIP_UNSUBSCRIBE 0x13 -#define VSOMEIP_REQUEST_SERVICE 0x14 -#define VSOMEIP_RELEASE_SERVICE 0x15 -#define VSOMEIP_SUBSCRIBE_NACK 0x16 -#define VSOMEIP_SUBSCRIBE_ACK 0x17 - -#define VSOMEIP_SEND 0x18 -#define VSOMEIP_NOTIFY 0x19 -#define VSOMEIP_NOTIFY_ONE 0x1A - -#define VSOMEIP_REGISTER_EVENT 0x1B -#define VSOMEIP_UNREGISTER_EVENT 0x1C -#define VSOMEIP_ID_RESPONSE 0x1D -#define VSOMEIP_ID_REQUEST 0x1E -#define VSOMEIP_OFFERED_SERVICES_REQUEST 0x1F -#define VSOMEIP_OFFERED_SERVICES_RESPONSE 0x20 -#define VSOMEIP_UNSUBSCRIBE_ACK 0x21 -#define VSOMEIP_RESEND_PROVIDED_EVENTS 0x22 - -#define VSOMEIP_UPDATE_SECURITY_POLICY 0x23 -#define VSOMEIP_UPDATE_SECURITY_POLICY_RESPONSE 0x24 -#define VSOMEIP_REMOVE_SECURITY_POLICY 0x25 -#define VSOMEIP_REMOVE_SECURITY_POLICY_RESPONSE 0x26 -#define VSOMEIP_UPDATE_SECURITY_CREDENTIALS 0x27 -#define VSOMEIP_DISTRIBUTE_SECURITY_POLICIES 0x28 -#define VSOMEIP_UPDATE_SECURITY_POLICY_INT 0x29 -#define VSOMEIP_EXPIRED_SUBSCRIPTION 0x2A - -#define VSOMEIP_SUSPEND 0x30 - -#define VSOMEIP_SEND_COMMAND_SIZE 13 -#define VSOMEIP_SEND_COMMAND_INSTANCE_POS_MIN 7 -#define VSOMEIP_SEND_COMMAND_INSTANCE_POS_MAX 8 -#define VSOMEIP_SEND_COMMAND_RELIABLE_POS 9 -#define VSOMEIP_SEND_COMMAND_CHECK_STATUS_POS 10 -#define VSOMEIP_SEND_COMMAND_DST_CLIENT_POS_MIN 11 -#define VSOMEIP_SEND_COMMAND_DST_CLIENT_POS_MAX 12 -#define VSOMEIP_SEND_COMMAND_PAYLOAD_POS 13 - -#define VSOMEIP_ASSIGN_CLIENT_ACK_COMMAND_SIZE 9 -#define VSOMEIP_OFFER_SERVICE_COMMAND_SIZE 16 -#define VSOMEIP_REQUEST_SERVICE_COMMAND_SIZE 16 -#define VSOMEIP_RELEASE_SERVICE_COMMAND_SIZE 11 -#define VSOMEIP_STOP_OFFER_SERVICE_COMMAND_SIZE 16 -#define VSOMEIP_SUBSCRIBE_COMMAND_SIZE 18 -#define VSOMEIP_SUBSCRIBE_ACK_COMMAND_SIZE 19 -#define VSOMEIP_SUBSCRIBE_NACK_COMMAND_SIZE 19 -#define VSOMEIP_UNSUBSCRIBE_COMMAND_SIZE 17 -#define VSOMEIP_UNSUBSCRIBE_ACK_COMMAND_SIZE 15 -#define VSOMEIP_REGISTER_EVENT_COMMAND_SIZE 16 -#define VSOMEIP_UNREGISTER_EVENT_COMMAND_SIZE 14 -#define VSOMEIP_OFFERED_SERVICES_COMMAND_SIZE 8 -#define VSOMEIP_RESEND_PROVIDED_EVENTS_COMMAND_SIZE 11 -#define VSOMEIP_REMOVE_SECURITY_POLICY_COMMAND_SIZE 19 -#define VSOMEIP_UPDATE_SECURITY_POLICY_RESPONSE_COMMAND_SIZE 11 -#define VSOMEIP_REMOVE_SECURITY_POLICY_RESPONSE_COMMAND_SIZE 11 -#define VSOMEIP_PING_COMMAND_SIZE 7 -#define VSOMEIP_PONG_COMMAND_SIZE 7 -#define VSOMEIP_REGISTER_APPLICATION_COMMAND_SIZE 7 -#define VSOMEIP_DEREGISTER_APPLICATION_COMMAND_SIZE 7 -#define VSOMEIP_REGISTERED_ACK_COMMAND_SIZE 7 -#define VSOMEIP_EXPIRED_SUBSCRIPTION_COMMAND_SIZE 17 +#define VSOMEIP_LOCAL_CLIENT_ENDPOINT_RECV_BUFFER_SIZE 19 + +#define VSOMEIP_MINIMUM_CHECK_TTL_TIMEOUT 100 +#define VSOMEIP_SETSOCKOPT_TIMEOUT_US 500000 // microseconds #include <pthread.h> @@ -180,19 +113,6 @@ typedef enum { RIE_DEL_CLIENT = 0x3, } routing_info_entry_e; -struct service_data_t { - service_t service_; - instance_t instance_; - major_version_t major_; - minor_version_t minor_; - - bool operator<(const service_data_t &_other) const { - return (service_ < _other.service_ - || (service_ == _other.service_ - && instance_ < _other.instance_)); - } -}; - typedef enum { SUBSCRIPTION_ACKNOWLEDGED, SUBSCRIPTION_NOT_ACKNOWLEDGED, @@ -211,8 +131,6 @@ const std::uint32_t MAX_RECONNECTS_UNLIMITED = (std::numeric_limits<std::uint32_ const std::uint32_t ANY_UID = 0xFFFFFFFF; const std::uint32_t ANY_GID = 0xFFFFFFFF; -typedef std::pair<std::uint32_t, std::uint32_t> credentials_t; - enum class port_type_e { PT_OPTIONAL, PT_SECURE, @@ -220,6 +138,14 @@ enum class port_type_e { PT_UNKNOWN }; +typedef std::map<service_t, + std::map<instance_t, + std::map<event_t, + std::shared_ptr<debounce_filter_t> + > + > +> debounce_configuration_t; + typedef uint8_t partition_id_t; const partition_id_t VSOMEIP_DEFAULT_PARTITION_ID = 0; |