Files
TencentOS-tiny/components/connectivity/TencentCloud_SDK/source/include/qcloud_lib.h
supowang edb2879617 first commit for opensource
first commit for opensource
2019-09-16 13:19:50 +08:00

151 lines
3.7 KiB
C

/*
* Tencent is pleased to support the open source community by making IoT Hub available.
* Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
* Licensed under the MIT License (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://opensource.org/licenses/MIT
* 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 _QCLOUD_LIB_H_
#define _QCLOUD_LIB_H_
#if defined(__cplusplus)
extern "C" {
#endif
#define __QCLOUD_API__
#define __QCLOUD_INTERNAL__
#define __QCLOUD_STATIC__ static
#define __QCLOUD_OSAL__
#define QCLOUD_MAX(a,b) ((a) > (b) ? (a) : (b))
#define QCLOUD_MIN(a,b) ((a) < (b) ? (a) : (b))
#if (QCLOUD_CFG_DEVELOP_DEBUG_EN > 0u)
#define QCLOUD_FUNC_ENTRY \
{ \
printf("FUNC_ENTRY: %s L#%d \n", __FUNCTION__, __LINE__); \
}
#define QCLOUD_FUNC_EXIT \
{ \
printf("FUNC_EXIT: %s L#%d \n", __FUNCTION__, __LINE__); \
return; \
}
#define QCLOUD_FUNC_EXIT_RC(x) \
{ \
printf("FUNC_EXIT: %s L#%d Return Code : %ld \n", __FUNCTION__, __LINE__, (long)(x)); \
return x; \
}
#define QCLOUD_FUNC_EXIT_RC_IF(exp, expected, x) \
if ((exp) == (expected)) { \
printf("FUNC_EXIT: %s L#%d Return Code : %ld \n", __FUNCTION__, __LINE__, (long)(x)); \
return (x); \
}
#define QCLOUD_FUNC_EXIT_RC_IF_NOT(exp, expected, x) \
if ((exp) != (expected)) { \
printf("FUNC_EXIT: %s L#%d Return Code : %ld \n", __FUNCTION__, __LINE__, (long)(x)); \
return (x); \
}
#else
#define QCLOUD_FUNC_ENTRY
#define QCLOUD_FUNC_EXIT \
{ \
return;\
}
#define QCLOUD_FUNC_EXIT_RC(x) \
{ \
return x; \
}
#define QCLOUD_FUNC_EXIT_RC_IF(exp, expected, x) \
if ((exp) == (expected)) { \
return (x); \
}
#define QCLOUD_FUNC_EXIT_RC_IF_NOT(exp, expected, x) \
if ((exp) != (expected)) { \
return (x); \
}
#endif
#define QCLOUD_NUMBERIC_SANITY_CHECK(num, err) \
do { \
if (0 == (num)) { \
QCLOUD_LOG_E("Invalid argument, numeric 0"); \
return (err); \
} \
} while(0)
#define QCLOUD_NUMBERIC_SANITY_CHECK_RTN(num) \
do { \
if (0 == (num)) { \
QCLOUD_LOG_E("Invalid argument, numeric 0"); \
return; \
} \
} while(0)
#define QCLOUD_POINTER_SANITY_CHECK(ptr, err) \
do { \
if (NULL == (ptr)) { \
QCLOUD_LOG_E("Invalid argument, %s = %p", #ptr, ptr); \
return (err); \
} \
} while(0)
#define QCLOUD_POINTER_SANITY_CHECK_RTN(ptr) \
do { \
if (NULL == (ptr)) { \
QCLOUD_LOG_E("Invalid argument, %s = %p", #ptr, ptr); \
return; \
} \
} while(0)
#define QCLOUD_STRING_PTR_SANITY_CHECK(ptr, err) \
do { \
if (NULL == (ptr)) { \
QCLOUD_LOG_E("Invalid argument, %s = %p", #ptr, (ptr)); \
return (err); \
} \
if (0 == strlen((ptr))) { \
QCLOUD_LOG_E("Invalid argument, %s = '%s'", #ptr, (ptr)); \
return (err); \
} \
} while(0)
#define QCLOUD_STRING_PTR_SANITY_CHECK_RTN(ptr) \
do { \
if (NULL == (ptr)) { \
QCLOUD_LOG_E("Invalid argument, %s = %p", #ptr, (ptr)); \
return; \
} \
if (0 == strlen((ptr))) { \
QCLOUD_LOG_E("Invalid argument, %s = '%s'", #ptr, (ptr)); \
return; \
} \
} while(0)
#if defined(__cplusplus)
}
#endif
#endif