aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/wilc1000/wilc_errorsupport.h
blob: b9517dc7f661ef0cc767207f22305cd3c5a612c6 (plain) (blame)
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
#ifndef __WILC_ERRORSUPPORT_H__
#define __WILC_ERRORSUPPORT_H__

/*!
 *  @file		wilc_errorsupport.h
 *  @brief		Error reporting and handling support
 *  @author		syounan
 *  @sa			wilc_oswrapper.h top level OS wrapper file
 *  @date		10 Aug 2010
 *  @version		1.0
 */

#include "linux_wlan_common.h"

/* Psitive Numbers to indicate sucess with special status */
#define WILC_ALREADY_EXSIT	(+100)    /** The requested object already exists */

/* Generic success will return 0 */
#define WILC_SUCCESS	0       /** Generic success */

/* Negative numbers to indicate failures */
#define WILC_FAIL			-100 /** Generic Fail */
#define WILC_BUSY			-101 /** Busy with another operation*/
#define WILC_INVALID_ARGUMENT		-102 /** A given argument is invalid*/
#define WILC_INVALID_STATE		-103 /** An API request would violate the Driver state machine (i.e. to start PID while not camped)*/
#define WILC_BUFFER_OVERFLOW		-104 /** In copy operations if the copied data is larger than the allocated buffer*/
#define WILC_NULL_PTR			-105 /** null pointer is passed or used */
#define WILC_EMPTY			-107
#define WILC_FULL			-108
#define WILC_TIMEOUT			-109
#define WILC_CANCELED			-110 /** The required operation have been canceled by the user*/
#define WILC_INVALID_FILE		-112 /** The Loaded file is corruped or having an invalid format */
#define WILC_NOT_FOUND			-113 /** Cant find the file to load */
#define WILC_NO_MEM			-114
#define WILC_UNSUPPORTED_VERSION	-115
#define WILC_FILE_EOF			-116


/* Error type */
typedef s32 WILC_ErrNo;

#define WILC_IS_ERR(__status__) (__status__ < WILC_SUCCESS)

#define WILC_ERRORCHECK(__status__) do { \
		if (WILC_IS_ERR(__status__)) { \
			PRINT_ER("PRINT_ER(%d)\n", __status__);	\
			goto ERRORHANDLER; \
		} \
} while (0)

#define WILC_ERRORREPORT(__status__, __err__) do { \
		PRINT_ER("PRINT_ER(%d)\n", __err__); \
		__status__ = __err__; \
		goto ERRORHANDLER; \
} while (0)

#define  WILC_NULLCHECK(__status__, __ptr__)	do { \
		if (__ptr__ == NULL) { \
			WILC_ERRORREPORT(__status__, WILC_NULL_PTR); \
		} \
} while (0)

#define WILC_CATCH(__status__) \
ERRORHANDLER: \
	if (WILC_IS_ERR(__status__)) \

#endif