kdriveExpress SDK 23.2.0
kdrive_express_error.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2002-2023 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 
16 #include "kdrive_express_config.h"
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_DEVICE_PROTECTED_ERROR (0x2020)
98 #define KDRIVE_SP_MEMORY_ERROR (0x20A1)
99 #define KDRIVE_SP_COMMAND_INVALID_ERROR (0x20A2)
100 #define KDRIVE_SP_COMMAND_IMPOSSIBLE_ERROR (0x20A3)
101 #define KDRIVE_SP_LENGTH_EXCEEDS_MAX_APDU_ERROR (0x20A4)
102 #define KDRIVE_SP_DATA_OVERFLOW_ERROR (0x20A5)
103 #define KDRIVE_SP_DATA_MIN_ERROR (0x20A6)
104 #define KDRIVE_SP_DATA_MAX_ERROR (0x20A7)
105 #define KDRIVE_SP_DATA_VOID_ERROR (0x20A8)
106 #define KDRIVE_SP_TEMPORARILY_NOT_AVAILABLE_ERROR (0x20A9)
107 #define KDRIVE_SP_ACCESS_WRITE_ONLY_ERROR (0x20AA)
108 #define KDRIVE_SP_ACCESS_READ_ONLY_ERROR (0x20AB)
109 #define KDRIVE_SP_ACCESS_DENIED_ERROR (0x20AC)
110 #define KDRIVE_SP_ADDRESS_VOID_ERROR (0x20AD)
111 #define KDRIVE_SP_DATA_TYPE_CONFLICT_ERROR (0x20AE)
112 #define KDRIVE_SP_UNSUPPORTED_ERASE_CODE_ERROR (0x2100)
113 #define KDRIVE_SP_INVALID_CHANNEL_ERROR (0x2101)
115 #define KDRIVE_KER_PROTOCOL_ERROR (0x3000) /*!* kdriveKernel error */
116 #define KDRIVE_KER_REPEATED_ERROR (0x3001) /*!* Telegram Repeated */
117 #define KDRIVE_KER_SEQUENCE_NUMBER_ERROR (0x3002) /*!* Sequence Number Error */
118 #define KDRIVE_KER_IGNORED_ERROR (0x3003) /*!* Telegram Ignored */
119 #define KDRIVE_KER_DISCONNECTED_ERROR (0x3004) /*!* Connection Disconnected */
120 #define KDRIVE_KER_REJECTED_ERROR (0x3005) /*!* Telegram Rejected */
121 #define KDRIVE_KER_NO_LAYERS_DEFINED_ERROR (0x3006) /*!* No layers defined */
122 #define KDRIVE_KER_NO_RESPONSE_FROM_DEVICE_ERROR (0x3007) /*!* No response from device */
123 #define KDRIVE_KER_PACKET_ERROR (0x3008) /*!* Packet type not supported */
124 #define KDRIVE_KER_NO_MORE_CONNECTIONS_ERROR (0x3009) /*!* No more connections allowed */
125 #define KDRIVE_KER_CONNECTION_FAILED_ERROR (0x300A) /*!* Could not open transport layer connection */
126 #define KDRIVE_KER_CONFIRM_TIMEOUT_ERROR (0x300B) /*!* No confirm from device (T-Ack missing) */
127 
128 #define KDRIVE_OBJSER_OBJECTSERVER_ERROR (0x4000)
129 #define KDRIVE_OBJSER_OBJ_EXIST_ERROR (0x4001)
130 #define KDRIVE_OBJSER_OBJ_NOT_FOUND_ERROR (0x4002)
131 #define KDRIVE_OBJSER_DATA_FORMAT_ERROR (0x4003)
132 #define KDRIVE_OBJSER_INVALID_AP_ERROR (0x4008)
134 #ifdef __cplusplus
135 extern "C" {
136 #endif
137 
145 
153 
160 typedef void (*kdrive_error_callback)(error_t e, void* user_data);
161 
175 
176 #ifdef __cplusplus
177 }
178 #endif
179 
180 #endif /* __KDRIVE_EXPRESS_ERROR_H__ */
#define kdriveExpress_API
Definition: kdrive_express_config.h:89
bool bool_t
Definition: kdrive_express_config.h:58
unsigned int uint32_t
32 bit unsigned char
Definition: kdrive_express_config.h:32
int32_t error_t
Definition: kdrive_express_config.h:47
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:160
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...