summaryrefslogtreecommitdiff
path: root/implementation/configuration/include/internal.hpp.in
diff options
context:
space:
mode:
Diffstat (limited to 'implementation/configuration/include/internal.hpp.in')
-rw-r--r--implementation/configuration/include/internal.hpp.in144
1 files changed, 30 insertions, 114 deletions
diff --git a/implementation/configuration/include/internal.hpp.in b/implementation/configuration/include/internal.hpp.in
index efd9ba0..91cd1ee 100644
--- a/implementation/configuration/include/internal.hpp.in
+++ b/implementation/configuration/include/internal.hpp.in
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2019 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"
@@ -20,7 +23,7 @@
#define VSOMEIP_DEFAULT_CONFIGURATION_FILE "@DEFAULT_CONFIGURATION_FILE@"
#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_events.json,vsomeip_plc.json,vsomeip_log.json,vsomeip_security.json,vsomeip_whitelist.json,vsomeip_policy_extensions.json"
#define VSOMEIP_DEFAULT_CONFIGURATION_FOLDER "@DEFAULT_CONFIGURATION_FOLDER@"
#define VSOMEIP_DEBUG_CONFIGURATION_FOLDER "/var/opt/public/sin/vsomeip/"
@@ -28,6 +31,8 @@
#define VSOMEIP_BASE_PATH "@VSOMEIP_BASE_PATH@/"
+#define VSOMEIP_ROUTING_HOST_PORT_DEFAULT 31490
+
#ifdef _WIN32
#define VSOMEIP_CFG_LIBRARY "vsomeip3-cfg.dll"
#else
@@ -46,6 +51,12 @@
#define VSOMEIP_E2E_LIBRARY "libvsomeip3-e2e.so.@VSOMEIP_MAJOR_VERSION@"
#endif
+#ifdef _WIN32
+#define VSOMEIP_SEC_LIBRARY "vsomeip3-sec.dll"
+#else
+#define VSOMEIP_SEC_LIBRARY "libvsomeip3-sec.so"
+#endif
+
#define VSOMEIP_ROUTING_CLIENT 0
#define VSOMEIP_CLIENT_UNSET 0xFFFF
@@ -57,9 +68,11 @@
#define VSOMEIP_UNICAST_ADDRESS "@VSOMEIP_UNICAST_ADDRESS@"
#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
@@ -70,6 +83,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
@@ -92,93 +107,12 @@
#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
-
-
-#ifndef _WIN32
+#define VSOMEIP_LOCAL_CLIENT_ENDPOINT_RECV_BUFFER_SIZE 19
+
+#define VSOMEIP_MINIMUM_CHECK_TTL_TIMEOUT 100
+#define VSOMEIP_SETSOCKOPT_TIMEOUT_US 500000 // microseconds
+
+#if defined(__linux__) || defined(ANDROID)
#include <pthread.h>
#endif
@@ -192,31 +126,11 @@
namespace vsomeip_v3 {
-typedef enum {
- RIE_ADD_CLIENT = 0x0,
- RIE_ADD_SERVICE_INSTANCE = 0x1,
- RIE_DEL_SERVICE_INSTANCE = 0x2,
- 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 {
+enum class subscription_state_e {
SUBSCRIPTION_ACKNOWLEDGED,
SUBSCRIPTION_NOT_ACKNOWLEDGED,
IS_SUBSCRIBING
-} subscription_state_e;
+};
const std::uint32_t MESSAGE_SIZE_UNLIMITED = (std::numeric_limits<std::uint32_t>::max)();
@@ -230,8 +144,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,
@@ -239,7 +151,11 @@ enum class port_type_e {
PT_UNKNOWN
};
-typedef uint8_t partition_id_t;
+using debounce_configuration_t =
+ std::map<service_t,
+ std::map<instance_t, std::map<event_t, std::shared_ptr<debounce_filter_t>>>>;
+
+using partition_id_t = std::uint8_t;
const partition_id_t VSOMEIP_DEFAULT_PARTITION_ID = 0;
} // namespace vsomeip_v3