kdriveExpress SDK 22.1.1
kdrive_express_error.h
Go to the documentation of this file.
1//
2// Copyright (c) 2002-2022 WEINZIERL ENGINEERING GmbH
3// All rights reserved.
4//
5// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
7// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
8// SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY,
9// WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
10// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
11//
12
13#ifndef __KDRIVE_EXPRESS_ERROR_H__
14#define __KDRIVE_EXPRESS_ERROR_H__
15
17
18/*************************************
19 ** Error Codes
20 **************************************/
21
22#define KDRIVE_ERROR_NONE (0x0000)
24#define KDRIVE_UNKNOWN_ERROR (0x0001)
25#define KDRIVE_POCO_ERROR (0x0002)
26#define KDRIVE_TIMEOUT_ERROR (0x0003)
27#define KDRIVE_SOCKET_ERROR (0x0004)
28#define KDRIVE_UNSUPPORTED_DEVICE_ERROR (0x0005)
29#define KDRIVE_BUFFER_TOO_SMALL_ERROR (0x0006)
30#define KDRIVE_AP_DESCRIPTOR_NOT_FOUND_ERROR (0x0007)
31#define KDRIVE_SP_DESCRIPTOR_NOT_FOUND_ERROR (0x0008)
32#define KDRIVE_UNSUPPORTED_ERROR (0x0009)
33#define KDRIVE_INVALID_LICENSE_ERROR (0x000A)
34#define KDRIVE_OBJSER_DESCRIPTOR_NOT_FOUND_ERROR (0x000B)
35// 0x000C reserved. Was KDRIVE_FORMATER_DESCRIPTOR_NOT_FOUND_ERROR */
36#define KDRIVE_GODIAG_DESCRIPTOR_NOT_FOUND_ERROR (0x000D)
37#define KDRIVE_RANGE_ERROR (0x000E)
38#define KDRIVE_DATA_FORMAT_ERROR (0x000F)
39#define KDRIVE_KEYRING_DESCRIPTOR_NOT_FOUND_ERROR (0x0010)
41#define KDRIVE_AP_ACCESS_PORT_ERROR (0x1000)
42#define KDRIVE_AP_NOT_FOUND_AVAILABLE_PORTS_ERROR (0x1001)
43#define KDRIVE_AP_PORT_NOT_OPEN_ERROR (0x1002)
44#define KDRIVE_AP_UNSUPPORTED_PORT_TYPE_ERROR (0x1003)
45#define KDRIVE_AP_UNSUPPORTED_PROTOCOL_ERROR (0x1004)
46#define KDRIVE_AP_UNSUPPORTED_LAYER_ERROR (0x1005)
47#define KDRIVE_AP_PROTOCOL_WRITE_VALIDATION_ERROR (0x1006)
48#define KDRIVE_AP_LDM_MGMT_PROPERTY_ERROR (0x1007)
49#define KDRIVE_AP_LDM_WRITE_ERROR (0x1008)
50#define KDRIVE_AP_NO_RESPONSE_LOCAL_DEVICE_ERROR (0x1009)
51#define KDRIVE_AP_L_DATA_CONFIRM_TIMEOUT_ERROR (0x100A)
52#define KDRIVE_AP_KNX_NET_IP_ERROR (0x100B)
53#define KDRIVE_AP_HOST_PROTOCOL_TYPE_ERROR (0x100C)
54#define KDRIVE_AP_VERSION_NOT_SUPPORTED_ERROR (0x100D)
55#define KDRIVE_AP_SEQUENCE_NUMBER_ERROR (0x100E)
56#define KDRIVE_AP_CONNECTION_TYPE_ERROR (0x100F)
57#define KDRIVE_AP_CONNECTION_OPTION_ERROR (0x1010)
58#define KDRIVE_AP_NO_MORE_CONNECTIONS_ERROR (0x1011)
59#define KDRIVE_AP_TUNNELING_LAYER_ERROR (0x1012)
60#define KDRIVE_AP_CONNECTION_ID_ERROR (0x1013)
61#define KDRIVE_AP_DATA_CONNECTION_ERROR (0x1014)
62#define KDRIVE_AP_KNX_CONNECTION_ERROR (0x1015)
63#define KDRIVE_AP_INVALID_TELEGRAM_ERROR (0x1016)
64#define KDRIVE_AP_TELEGRAM_TIMEOUT_ERROR (0x1017)
68#define KDRIVE_AP_NO_PREFERRED_PROTOCOL_FOUND_ERROR (0x1023)
69#define KDRIVE_AP_NO_PREFERRED_LAYER_FOUND_ERROR (0x1024)
70#define KDRIVE_AP_PROTOCOL_NOT_SET_ERROR (0x1025)
71#define KDRIVE_AP_INTERFACE_NOT_SET_ERROR (0x1026)
72#define KDRIVE_AP_NO_MORE_UNIQUE_CONNECTIONS_ERROR (0x1027)
73#define KDRIVE_AP_AUTHORISATION_ERROR (0x1028)
74#define KDRIVE_AP_TUNNELLING_ADDRESS_ERROR (0x1029)
75#define KDRIVE_AP_CONNECTION_IN_USE_ERROR (0x102A)
76#define KDRIVE_AP_AUTHENTICATION_CODE_INVALID_ERROR (0x102B)
77#define KDRIVE_AP_AUTHENTICATION_FAILED_ERROR (0x102C)
78#define KDRIVE_AP_RAW_CONFIRM_TIMEOUT_ERROR (0x10F0)
80#define KDRIVE_SP_SERVICES_ERROR (0x2000)
81#define KDRIVE_SP_UNKNOWN_SERVICE_TYPE_ERROR (0x2001)
82#define KDRIVE_SP_SERVICE_PORT_NOT_SET_ERROR (0x2002)
83#define KDRIVE_SP_OPERATION_CANCELLED_ERROR (0x2003)
84#define KDRIVE_SP_NEGATIVE_CONFIRM_ERROR (0x2004)
85#define KDRIVE_SP_NO_RESPONSE_FROM_DEVICE_ERROR (0x2004) /*!* No response from device */
86#define KDRIVE_SP_INVALID_INPUT_PARAMETER_ERROR (0x2005)
87#define KDRIVE_SP_DEVICE_ERROR (0x2006)
88#define KDRIVE_SP_OBJECT_TYPE_NOT_SUPPORTED_ERROR (0x2007)
89#define KDRIVE_SP_PROPERTY_ID_NOT_SUPPORTED_ERROR (0x2008)
90#define KDRIVE_SP_NO_DEVICE_IN_PROG_MODE_ERROR (0x2009)
91#define KDRIVE_SP_MORE_DEVICES_IN_PROG_MODE_ERROR (0x200A)
92#define KDRIVE_SP_WRITE_IND_ADDR_FAILED_ERROR (0x200B)
93#define KDRIVE_SP_WRITE_DOMAIN_ADDR_FAILED_ERROR (0x200C)
94#define KDRIVE_SP_ACCESS_PORT_NOT_SET_ERROR (0x200D)
95#define KDRIVE_SP_NEGATIVE_RESPONSE_ERROR (0x200E)
96#define KDRIVE_SP_IND_ADDR_ALREADY_USED_ERROR (0x2011)
97#define KDRIVE_SP_MEMORY_ERROR (0x20A1)
98#define KDRIVE_SP_COMMAND_INVALID_ERROR (0x20A2)
99#define KDRIVE_SP_COMMAND_IMPOSSIBLE_ERROR (0x20A3)
100#define KDRIVE_SP_LENGTH_EXCEEDS_MAX_APDU_ERROR (0x20A4)
101#define KDRIVE_SP_DATA_OVERFLOW_ERROR (0x20A5)
102#define KDRIVE_SP_DATA_MIN_ERROR (0x20A6)
103#define KDRIVE_SP_DATA_MAX_ERROR (0x20A7)
104#define KDRIVE_SP_DATA_VOID_ERROR (0x20A8)
105#define KDRIVE_SP_TEMPORARILY_NOT_AVAILABLE_ERROR (0x20A9)
106#define KDRIVE_SP_ACCESS_WRITE_ONLY_ERROR (0x20AA)
107#define KDRIVE_SP_ACCESS_READ_ONLY_ERROR (0x20AB)
108#define KDRIVE_SP_ACCESS_DENIED_ERROR (0x20AC)
109#define KDRIVE_SP_ADDRESS_VOID_ERROR (0x20AD)
110#define KDRIVE_SP_DATA_TYPE_CONFLICT_ERROR (0x20AE)
112#define KDRIVE_KER_PROTOCOL_ERROR (0x3000) /*!* kdriveKernel error */
113#define KDRIVE_KER_REPEATED_ERROR (0x3001) /*!* Telegram Repeated */
114#define KDRIVE_KER_SEQUENCE_NUMBER_ERROR (0x3002) /*!* Sequence Number Error */
115#define KDRIVE_KER_IGNORED_ERROR (0x3003) /*!* Telegram Ignored */
116#define KDRIVE_KER_DISCONNECTED_ERROR (0x3004) /*!* Connection Disconnected */
117#define KDRIVE_KER_REJECTED_ERROR (0x3005) /*!* Telegram Rejected */
118#define KDRIVE_KER_NO_LAYERS_DEFINED_ERROR (0x3006) /*!* No layers defined */
119#define KDRIVE_KER_NO_RESPONSE_FROM_DEVICE_ERROR (0x3007) /*!* No response from device */
120#define KDRIVE_KER_PACKET_ERROR (0x3008) /*!* Packet type not supported */
121#define KDRIVE_KER_NO_MORE_CONNECTIONS_ERROR (0x3009) /*!* No more connections allowed */
122#define KDRIVE_KER_CONNECTION_FAILED_ERROR (0x300A) /*!* Could not open transport layer connection */
123#define KDRIVE_KER_CONFIRM_TIMEOUT_ERROR (0x300B) /*!* No confirm from device (T-Ack missing) */
124
125#define KDRIVE_OBJSER_OBJECTSERVER_ERROR (0x4000)
126#define KDRIVE_OBJSER_OBJ_EXIST_ERROR (0x4001)
127#define KDRIVE_OBJSER_OBJ_NOT_FOUND_ERROR (0x4002)
128#define KDRIVE_OBJSER_DATA_FORMAT_ERROR (0x4003)
129#define KDRIVE_OBJSER_INVALID_AP_ERROR (0x4008)
131#ifdef __cplusplus
132extern "C" {
133#endif
134
142
150
157typedef void (*kdrive_error_callback)(error_t e, void* user_data);
158
172
173#ifdef __cplusplus
174}
175#endif
176
177#endif /* __KDRIVE_EXPRESS_ERROR_H__ */
#define kdriveExpress_API
Definition: kdrive_express_config.h:88
unsigned int uint32_t
32 bit unsigned char
Definition: kdrive_express_config.h:31
int32_t error_t
Definition: kdrive_express_config.h:46
int32_t bool_t
Definition: kdrive_express_config.h:57
kdriveExpress_API void kdrive_register_error_callback(kdrive_error_callback c, void *user_data)
Registers the error callback function.
void(* kdrive_error_callback)(error_t e, void *user_data)
Error Callback function type (pointer to function definition)
Definition: kdrive_express_error.h:157
kdriveExpress_API void kdrive_get_error_message(error_t e, char *str, uint32_t str_len)
Gets the error message.
kdriveExpress_API bool_t kdrive_is_negative_response_error(error_t e)
Returns whether the given kdrive error code is a negative response error like KDRIVE_SP_NEGATIVE_RESP...