153 lines
4.5 KiB
C
153 lines
4.5 KiB
C
/******************************************************************************
|
|
* $Id: AKFS_Common.h 580 2012-03-29 09:56:21Z yamada.rj $
|
|
******************************************************************************
|
|
*
|
|
* Copyright (C) 2012 Asahi Kasei Microdevices Corporation, Japan
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
#ifndef AKFS_INC_COMMON_H
|
|
#define AKFS_INC_COMMON_H
|
|
|
|
#ifdef WIN32
|
|
#ifndef _WIN32_WINNT
|
|
#define _WIN32_WINNT 0x0501
|
|
#endif
|
|
|
|
#include <windows.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <conio.h>
|
|
#include <stdarg.h>
|
|
#include <crtdbg.h>
|
|
#include "Android.h"
|
|
|
|
#define DBG_LEVEL DBG_LEVEL4
|
|
#define ENABLE_AKMDEBUG 1
|
|
|
|
#else
|
|
#include <stdio.h> /* frpintf */
|
|
#include <stdlib.h> /* atoi */
|
|
#include <string.h> /* memset */
|
|
#include <unistd.h>
|
|
#include <stdarg.h> /* va_list */
|
|
#include <utils/Log.h> /* LOGV */
|
|
#include <errno.h> /* errno */
|
|
|
|
#endif
|
|
|
|
/*** Constant definition ******************************************************/
|
|
#define AKM_TRUE 1 /*!< Represents true */
|
|
#define AKM_FALSE 0 /*!< Represents false */
|
|
#define AKM_SUCCESS 1 /*!< Represents success */
|
|
#define AKM_FAIL 0 /*!< Represents fail */
|
|
|
|
#undef LOG_TAG
|
|
#define LOG_TAG "AKMD_FS"
|
|
|
|
#define DBG_LEVEL0 0 /* Critical */
|
|
#define DBG_LEVEL1 1 /* Notice */
|
|
#define DBG_LEVEL2 2 /* Information */
|
|
#define DBG_LEVEL3 3 /* Debug */
|
|
#define DBG_LEVEL4 4 /* Verbose */
|
|
|
|
#ifndef DBG_LEVEL
|
|
#define DBG_LEVEL DBG_LEVEL0
|
|
#endif
|
|
|
|
#define DATA_AREA01 0x0001
|
|
#define DATA_AREA02 0x0002
|
|
#define DATA_AREA03 0x0004
|
|
#define DATA_AREA04 0x0008
|
|
#define DATA_AREA05 0x0010
|
|
#define DATA_AREA06 0x0020
|
|
#define DATA_AREA07 0x0040
|
|
#define DATA_AREA08 0x0080
|
|
#define DATA_AREA09 0x0100
|
|
#define DATA_AREA10 0x0200
|
|
#define DATA_AREA11 0x0400
|
|
#define DATA_AREA12 0x0800
|
|
#define DATA_AREA13 0x1000
|
|
#define DATA_AREA14 0x2000
|
|
#define DATA_AREA15 0x4000
|
|
#define DATA_AREA16 0x8000
|
|
|
|
|
|
/* Debug area definition */
|
|
#define AKMDATA_DUMP DATA_AREA01 /*<! Dump data */
|
|
#define AKMDATA_BDATA DATA_AREA02 /*<! BDATA */
|
|
#define AKMDATA_MAG DATA_AREA03 /*<! Magnetic Field */
|
|
#define AKMDATA_ACC DATA_AREA04 /*<! Accelerometer */
|
|
#define AKMDATA_ORI DATA_AREA05 /*<! Orientation */
|
|
#define AKMDATA_GETINTERVAL DATA_AREA06
|
|
#define AKMDATA_LOOP DATA_AREA07
|
|
#define AKMDATA_DRV DATA_AREA08
|
|
|
|
#ifndef ENABLE_AKMDEBUG
|
|
#define ENABLE_AKMDEBUG 0 /* Eanble debug output when it is 1. */
|
|
#endif
|
|
|
|
#define OPMODE_CONSOLE 0x01
|
|
#define OPMODE_FST 0x02
|
|
|
|
/***** Debug Level Output *************************************/
|
|
#if ENABLE_AKMDEBUG
|
|
#define AKMDEBUG(level, format, ...) \
|
|
(((level) <= DBG_LEVEL) \
|
|
? (fprintf(stdout, (format), ##__VA_ARGS__)) \
|
|
: ((void)0))
|
|
#else
|
|
#define AKMDEBUG(level, format, ...)
|
|
#endif
|
|
|
|
/***** Dbg Zone Output ***************************************/
|
|
#if ENABLE_AKMDEBUG
|
|
#define AKMDATA(flag, format, ...) \
|
|
((((int)(flag)) & g_dbgzone) \
|
|
? (fprintf(stdout, (format), ##__VA_ARGS__)) \
|
|
: ((void)0))
|
|
#else
|
|
#define AKMDATA(flag, format, ...)
|
|
#endif
|
|
|
|
/***** Log output ********************************************/
|
|
#ifdef AKM_LOG_ENABLE
|
|
#define AKM_LOG(format, ...) ALOGD((format), ##__VA_ARGS__)
|
|
#else
|
|
#define AKM_LOG(format, ...)
|
|
#endif
|
|
|
|
/***** Error output *******************************************/
|
|
#define AKMERROR \
|
|
((g_opmode & OPMODE_CONSOLE) \
|
|
? (fprintf(stderr, "%s:%d Error.\n", __FUNCTION__, __LINE__)) \
|
|
: (ALOGE("%s:%d Error.", __FUNCTION__, __LINE__)))
|
|
|
|
#define AKMERROR_STR(api) \
|
|
((g_opmode & OPMODE_CONSOLE) \
|
|
? (fprintf(stderr, "%s:%d %s Error (%s).\n", \
|
|
__FUNCTION__, __LINE__, (api), strerror(errno))) \
|
|
: (ALOGE("%s:%d %s Error (%s).", \
|
|
__FUNCTION__, __LINE__, (api), strerror(errno))))
|
|
|
|
/*** Type declaration *********************************************************/
|
|
|
|
/*** Global variables *********************************************************/
|
|
extern int g_stopRequest; /*!< 0:Not stop, 1:Stop */
|
|
extern int g_opmode; /*!< 0:Daemon mode, 1:Console mode. */
|
|
extern int g_dbgzone; /*!< Debug zone. */
|
|
|
|
/*** Prototype of function ****************************************************/
|
|
|
|
#endif /* AKMD_INC_AKCOMMON_H */
|
|
|