1 // Copyright (C) 2014-2017 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
2 // This Source Code Form is subject to the terms of the Mozilla Public
3 // License, v. 2.0. If a copy of the MPL was not distributed with this
4 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 
6 #ifndef VSOMEIP_V3_ENUMERATION_TYPES_HPP_
7 #define VSOMEIP_V3_ENUMERATION_TYPES_HPP_
8 
9 #include <cstdint>
10 
11 namespace vsomeip_v3 {
12 
13 enum class state_type_e : uint8_t {
14     ST_REGISTERED = 0x0,
15     ST_DEREGISTERED = 0x1
16 };
17 
18 // SIP_RPC_684
19 enum class message_type_e : uint8_t {
20     MT_REQUEST = 0x00,
21     MT_REQUEST_NO_RETURN = 0x01,
22     MT_NOTIFICATION = 0x02,
23     MT_REQUEST_ACK = 0x40,
24     MT_REQUEST_NO_RETURN_ACK = 0x41,
25     MT_NOTIFICATION_ACK = 0x42,
26     MT_RESPONSE = 0x80,
27     MT_ERROR = 0x81,
28     MT_RESPONSE_ACK = 0xC0,
29     MT_ERROR_ACK = 0xC1,
30     MT_UNKNOWN = 0xFF
31 };
32 
33 // SIP_RPC_371
34 enum class return_code_e : uint8_t {
35     E_OK = 0x00,
36     E_NOT_OK = 0x01,
37     E_UNKNOWN_SERVICE = 0x02,
38     E_UNKNOWN_METHOD = 0x03,
39     E_NOT_READY = 0x04,
40     E_NOT_REACHABLE = 0x05,
41     E_TIMEOUT = 0x06,
42     E_WRONG_PROTOCOL_VERSION = 0x07,
43     E_WRONG_INTERFACE_VERSION = 0x08,
44     E_MALFORMED_MESSAGE = 0x09,
45     E_WRONG_MESSAGE_TYPE = 0x0A,
46     E_UNKNOWN = 0xFF
47 };
48 
49 enum class routing_state_e : uint8_t {
50     RS_RUNNING = 0x00,
51     RS_SUSPENDED = 0x01,
52     RS_RESUMED = 0x02,
53     RS_SHUTDOWN = 0x03,
54     RS_DIAGNOSIS = 0x04,
55     RS_UNKNOWN = 0xFF
56 };
57 
58 enum class offer_type_e : uint8_t {
59     OT_LOCAL = 0x00,
60     OT_REMOTE = 0x01,
61     OT_ALL = 0x02,
62 };
63 
64 enum class event_type_e : uint8_t {
65     ET_EVENT = 0x00,
66     ET_SELECTIVE_EVENT = 0x01,
67     ET_FIELD = 0x02,
68     ET_UNKNOWN = 0xFF
69 };
70 
71 enum class security_mode_e : uint8_t {
72     SM_OFF = 0x00,
73     SM_ON = 0x01,
74     SM_AUDIT = 0x02
75 };
76 
77 enum class security_update_state_e : uint8_t {
78     SU_SUCCESS = 0x00,
79     SU_NOT_ALLOWED = 0x01,
80     SU_UNKNOWN_USER_ID = 0x02,
81     SU_INVALID_FORMAT = 0x03
82 };
83 
84 enum class reliability_type_e : uint8_t {
85     RT_RELIABLE = 0x01,
86     RT_UNRELIABLE = 0x02,
87     RT_BOTH = 0x3, // RT_RELIABLE | RT_UNRELIABLE
88     RT_UNKNOWN = 0xFF
89 };
90 
91 } // namespace vsomeip_v3
92 
93 #endif // VSOMEIP_V3_ENUMERATION_TYPES_HPP_
94