1 #ifndef __WILC_ERRORSUPPORT_H__
2 #define __WILC_ERRORSUPPORT_H__
5 * @file wilc_errorsupport.h
6 * @brief Error reporting and handling support
8 * @sa wilc_oswrapper.h top level OS wrapper file
13 #include "linux_wlan_common.h"
15 /* Psitive Numbers to indicate sucess with special status */
16 #define WILC_ALREADY_EXSIT (+100) /** The requested object already exists */
18 /* Generic success will return 0 */
19 #define WILC_SUCCESS 0 /** Generic success */
21 /* Negative numbers to indicate failures */
22 #define WILC_FAIL -100 /** Generic Fail */
23 #define WILC_BUSY -101 /** Busy with another operation*/
24 #define WILC_INVALID_ARGUMENT -102 /** A given argument is invalid*/
25 #define WILC_INVALID_STATE -103 /** An API request would violate the Driver state machine (i.e. to start PID while not camped)*/
26 #define WILC_BUFFER_OVERFLOW -104 /** In copy operations if the copied data is larger than the allocated buffer*/
27 #define WILC_NULL_PTR -105 /** null pointer is passed or used */
28 #define WILC_EMPTY -107
29 #define WILC_FULL -108
30 #define WILC_TIMEOUT -109
31 #define WILC_CANCELED -110 /** The required operation have been canceled by the user*/
32 #define WILC_INVALID_FILE -112 /** The Loaded file is corruped or having an invalid format */
33 #define WILC_NOT_FOUND -113 /** Cant find the file to load */
34 #define WILC_NO_MEM -114
35 #define WILC_UNSUPPORTED_VERSION -115
36 #define WILC_FILE_EOF -116
40 typedef WILC_Sint32 WILC_ErrNo;
42 #define WILC_IS_ERR(__status__) (__status__ < WILC_SUCCESS)
44 #define WILC_ERRORCHECK(__status__) do { \
45 if (WILC_IS_ERR(__status__)) { \
46 PRINT_ER("PRINT_ER(%d)\n", __status__); \
51 #define WILC_ERRORREPORT(__status__, __err__) do { \
52 PRINT_ER("PRINT_ER(%d)\n", __err__); \
53 __status__ = __err__; \
57 #define WILC_NULLCHECK(__status__, __ptr__) do { \
58 if (__ptr__ == WILC_NULL) { \
59 WILC_ERRORREPORT(__status__, WILC_NULL_PTR); \
63 #define WILC_CATCH(__status__) \
65 if (WILC_IS_ERR(__status__)) \