liblog: add API level guard to NDK log.h header
Bug: 119867234 Test: build Change-Id: I6fdd7c070af06f04314b9bf7bbfede2a106e0d7c
This commit is contained in:
parent
14326821f0
commit
59e93a55fc
1 changed files with 33 additions and 24 deletions
|
@ -56,6 +56,11 @@
|
|||
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
#if !defined(__BIONIC__) && !defined(__INTRODUCED_IN)
|
||||
#define __INTRODUCED_IN(x)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -190,6 +195,18 @@ struct __android_logger_data {
|
|||
unsigned int line; /* Optional line number, ignore if file is nullptr. */
|
||||
};
|
||||
|
||||
/**
|
||||
* Prototype for the 'logger' function that is called for every log message.
|
||||
*/
|
||||
typedef void (*__android_logger_function)(const struct __android_logger_data* logger_data,
|
||||
const char* message);
|
||||
/**
|
||||
* Prototype for the 'abort' function that is called when liblog will abort due to
|
||||
* __android_log_assert() failures.
|
||||
*/
|
||||
typedef void (*__android_aborter_function)(const char* abort_message);
|
||||
|
||||
#if __ANDROID_API__ >= 30 || !defined(__ANDROID__)
|
||||
/**
|
||||
* Writes the log message specified with logger_data and msg to the log. logger_data includes
|
||||
* additional file name and line number information that a logger may use. logger_data is versioned
|
||||
|
@ -199,54 +216,44 @@ struct __android_logger_data {
|
|||
* buffers, then pass the message to liblog via this function, and therefore we do not want to
|
||||
* duplicate the loggability check here.
|
||||
*/
|
||||
void __android_log_write_logger_data(struct __android_logger_data* logger_data, const char* msg);
|
||||
|
||||
/**
|
||||
* Prototype for the 'logger' function that is called for every log message.
|
||||
*/
|
||||
typedef void (*__android_logger_function)(const struct __android_logger_data* logger_data,
|
||||
const char* message);
|
||||
void __android_log_write_logger_data(struct __android_logger_data* logger_data, const char* msg)
|
||||
__INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Sets a user defined logger function. All log messages sent to liblog will be set to the
|
||||
* function pointer specified by logger for processing.
|
||||
*/
|
||||
void __android_log_set_logger(__android_logger_function logger);
|
||||
void __android_log_set_logger(__android_logger_function logger) __INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Writes the log message to logd. This is an __android_logger_function and can be provided to
|
||||
* __android_log_set_logger(). It is the default logger when running liblog on a device.
|
||||
*/
|
||||
void __android_log_logd_logger(const struct __android_logger_data* logger_data, const char* msg);
|
||||
void __android_log_logd_logger(const struct __android_logger_data* logger_data, const char* msg)
|
||||
__INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Writes the log message to stderr. This is an __android_logger_function and can be provided to
|
||||
* __android_log_set_logger(). It is the default logger when running liblog on host.
|
||||
*/
|
||||
void __android_log_stderr_logger(const struct __android_logger_data* logger_data,
|
||||
const char* message);
|
||||
|
||||
/**
|
||||
* Prototype for the 'abort' function that is called when liblog will abort due to
|
||||
* __android_log_assert() failures.
|
||||
*/
|
||||
typedef void (*__android_aborter_function)(const char* abort_message);
|
||||
const char* message) __INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Sets a user defined aborter function that is called for __android_log_assert() failures.
|
||||
*/
|
||||
void __android_log_set_aborter(__android_aborter_function aborter);
|
||||
void __android_log_set_aborter(__android_aborter_function aborter) __INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Calls the stored aborter function. This allows for other logging libraries to use the same
|
||||
* aborter function by calling this function in liblog.
|
||||
*/
|
||||
void __android_log_call_aborter(const char* abort_message);
|
||||
void __android_log_call_aborter(const char* abort_message) __INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Sets android_set_abort_message() on device then aborts(). This is the default aborter.
|
||||
*/
|
||||
void __android_log_default_aborter(const char* abort_message);
|
||||
void __android_log_default_aborter(const char* abort_message) __INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Use the per-tag properties "log.tag.<tagname>" along with the minimum priority from
|
||||
|
@ -260,28 +267,30 @@ void __android_log_default_aborter(const char* abort_message);
|
|||
*
|
||||
* prio is ANDROID_LOG_VERBOSE to ANDROID_LOG_FATAL.
|
||||
*/
|
||||
int __android_log_is_loggable(int prio, const char* tag, int default_prio);
|
||||
int __android_log_is_loggable_len(int prio, const char* tag, size_t len, int default_prio);
|
||||
int __android_log_is_loggable(int prio, const char* tag, int default_prio) __INTRODUCED_IN(30);
|
||||
int __android_log_is_loggable_len(int prio, const char* tag, size_t len, int default_prio)
|
||||
__INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Sets the minimum priority that will be logged for this process.
|
||||
*
|
||||
* This returns the previous set minimum priority, or ANDROID_LOG_DEFAULT if none was set.
|
||||
*/
|
||||
int __android_log_set_minimum_priority(int priority);
|
||||
int __android_log_set_minimum_priority(int priority) __INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Gets the minimum priority that will be logged for this process. If none has been set by a
|
||||
* previous __android_log_set_minimum_priority() call, this returns ANDROID_LOG_DEFAULT.
|
||||
*/
|
||||
int __android_log_get_minimum_priority(void);
|
||||
int __android_log_get_minimum_priority(void) __INTRODUCED_IN(30);
|
||||
|
||||
/**
|
||||
* Sets the default tag if no tag is provided when writing a log message. Defaults to
|
||||
* getprogname(). This truncates tag to the maximum log message size, though appropriate tags
|
||||
* should be much smaller.
|
||||
*/
|
||||
void __android_log_set_default_tag(const char* tag);
|
||||
void __android_log_set_default_tag(const char* tag) __INTRODUCED_IN(30);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue