summaryrefslogtreecommitdiff
path: root/implementation/configuration/include/internal.hpp.in
blob: 64b71055b465c54b8cf3699342e05aff5e8e0dc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
// Copyright (C) 2014-2015 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/.

#ifndef VSOMEIP_INTERNAL_HPP
#define VSOMEIP_INTERNAL_HPP

#include <cstdint>

#define VSOMEIP_ENV_APPLICATION_NAME            "VSOMEIP_APPLICATION_NAME"
#define VSOMEIP_ENV_CONFIGURATION               "VSOMEIP_CONFIGURATION"
#define VSOMEIP_ENV_CONFIGURATION_MODULE        "VSOMEIP_CONFIGURATION_MODULE"

#define VSOMEIP_DEFAULT_CONFIGURATION_FILE      "/etc/vsomeip.json"
#define VSOMEIP_LOCAL_CONFIGURATION_FILE        "./vsomeip.json"

#define VSOMEIP_DEFAULT_CONFIGURATION_FOLDER     "/etc/vsomeip"
#define VSOMEIP_LOCAL_CONFIGURATION_FOLDER       "./vsomeip"

#define VSOMEIP_BASE_PATH                       "/tmp/vsomeip-"

#define VSOMEIP_SD_LIBRARY                      "libvsomeip-sd.so.@VSOMEIP_MAJOR_VERSION@"
#define VSOMEIP_SD_RUNTIME_SYMBOL               VSOMEIP_SD_RUNTIME
#define VSOMEIP_SD_RUNTIME_SYMBOL_STRING        "VSOMEIP_SD_RUNTIME"

#define VSOMEIP_ROUTING                         "@VSOMEIP_ROUTING@"
#define VSOMEIP_ROUTING_CLIENT                  0

#ifdef WIN32
#define VSOMEIP_INTERNAL_BASE_PORT              51234
#endif

#define VSOMEIP_UNICAST_ADDRESS                 "@VSOMEIP_UNICAST_ADDRESS@"

#define VSOMEIP_DEFAULT_CONNECT_TIMEOUT         100
#define VSOMEIP_DEFAULT_FLUSH_TIMEOUT           1000

#define VSOMEIP_DEFAULT_WATCHDOG_CYCLE          5000
#define VSOMEIP_DEFAULT_WATCHDOG_TIMEOUT        5000
#define VSOMEIP_DEFAULT_MAX_MISSING_PONGS       3

#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            5
#define VSOMEIP_COMMAND_PAYLOAD_POS             7

#define VSOMEIP_REGISTER_APPLICATION            0x00
#define VSOMEIP_DEREGISTER_APPLICATION          0x01
#define VSOMEIP_APPLICATION_LOST                0x02
#define VSOMEIP_ROUTING_INFO                    0x03

#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_SEND                            0x17
#define VSOMEIP_NOTIFY                          0x18

#define VSOMEIP_REGISTER_EVENT                  0x19
#define VSOMEIP_UNREGISTER_EVENT                0x1A

#define VSOMEIP_OFFER_SERVICE_COMMAND_SIZE      20
#define VSOMEIP_REQUEST_SERVICE_COMMAND_SIZE    21
#define VSOMEIP_STOP_OFFER_SERVICE_COMMAND_SIZE 11
#define VSOMEIP_SUBSCRIBE_COMMAND_SIZE          19
#define VSOMEIP_UNSUBSCRIBE_COMMAND_SIZE        13
#define VSOMEIP_REGISTER_EVENT_COMMAND_SIZE     15
#define VSOMEIP_UNREGISTER_EVENT_COMMAND_SIZE   13

#include <mutex>

#define VSOMEIP_DATA_ID                         0x677D
#define VSOMEIP_SHM_NAME                        "/vsomeip"
#define VSOMEIP_DIAGNOSIS_ADDRESS               @VSOMEIP_DIAGNOSIS_ADDRESS@

namespace vsomeip {

struct configuration_data_t {
    std::mutex mutex_;
    unsigned short next_client_id_;
    unsigned short ref_;
};

} // namespace vsomeip

#endif // VSOMEIP_INTERNAL_HPP