1 /* 2 ** 3 ** Copyright 2017, The Android Open Source Project 4 ** 5 ** This file is dual licensed. It may be redistributed and/or modified 6 ** under the terms of the Apache 2.0 License OR version 2 of the GNU 7 ** General Public License. 8 */ 9 10 #ifndef _LIBS_LOG_SAFETYNET_H 11 #define _LIBS_LOG_SAFETYNET_H 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 #ifndef _ANDROID_USE_LIBLOG_SAFETYNET_INTERFACE 18 #ifndef __ANDROID_API__ 19 #define __ANDROID_USE_LIBLOG_SAFETYNET_INTERFACE 1 20 #elif __ANDROID_API__ > 22 /* > Lollipop */ 21 #define __ANDROID_USE_LIBLOG_SAFETYNET_INTERFACE 1 22 #else 23 #define __ANDROID_USE_LIBLOG_SAFETYNET_INTERFACE 0 24 #endif 25 #endif 26 27 #if __ANDROID_USE_LIBLOG_SAFETYNET_INTERFACE 28 29 #define android_errorWriteLog(tag, subTag) \ 30 __android_log_error_write(tag, subTag, -1, NULL, 0) 31 32 #define android_errorWriteWithInfoLog(tag, subTag, uid, data, dataLen) \ 33 __android_log_error_write(tag, subTag, uid, data, dataLen) 34 35 int __android_log_error_write(int tag, const char* subTag, int32_t uid, 36 const char* data, uint32_t dataLen); 37 38 #endif /* __ANDROID_USE_LIBLOG_SAFETYNET_INTERFACE */ 39 40 #ifdef __cplusplus 41 } 42 #endif 43 44 #endif /* _LIBS_LOG_SAFETYNET_H */ 45