Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/include/android_stub/log/log_system.h
4547 views
1
/*
2
* Copyright (C) 2005-2017 The Android Open Source Project
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#pragma once
18
19
#include <android/log.h>
20
21
/*
22
* Normally we strip the effects of ALOGV (VERBOSE messages),
23
* LOG_FATAL and LOG_FATAL_IF (FATAL assert messages) from the
24
* release builds be defining NDEBUG. You can modify this (for
25
* example with "#define LOG_NDEBUG 0" at the top of your source
26
* file) to change that behavior.
27
*/
28
29
#ifndef LOG_NDEBUG
30
#ifdef NDEBUG
31
#define LOG_NDEBUG 1
32
#else
33
#define LOG_NDEBUG 0
34
#endif
35
#endif
36
37
#ifndef __predict_false
38
#define __predict_false(exp) __builtin_expect((exp) != 0, 0)
39
#endif
40
41
/*
42
* Simplified macro to send a verbose system log message using current LOG_TAG.
43
*/
44
#ifndef SLOGV
45
#define __SLOGV(...) \
46
((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_VERBOSE, LOG_TAG, \
47
__VA_ARGS__))
48
#if LOG_NDEBUG
49
#define SLOGV(...) \
50
do { \
51
if (0) { \
52
__SLOGV(__VA_ARGS__); \
53
} \
54
} while (0)
55
#else
56
#define SLOGV(...) __SLOGV(__VA_ARGS__)
57
#endif
58
#endif
59
60
#ifndef SLOGV_IF
61
#if LOG_NDEBUG
62
#define SLOGV_IF(cond, ...) ((void)0)
63
#else
64
#define SLOGV_IF(cond, ...) \
65
((__predict_false(cond)) \
66
? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_VERBOSE, \
67
LOG_TAG, __VA_ARGS__)) \
68
: (void)0)
69
#endif
70
#endif
71
72
/*
73
* Simplified macro to send a debug system log message using current LOG_TAG.
74
*/
75
#ifndef SLOGD
76
#define SLOGD(...) \
77
((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_DEBUG, LOG_TAG, \
78
__VA_ARGS__))
79
#endif
80
81
#ifndef SLOGD_IF
82
#define SLOGD_IF(cond, ...) \
83
((__predict_false(cond)) \
84
? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_DEBUG, \
85
LOG_TAG, __VA_ARGS__)) \
86
: (void)0)
87
#endif
88
89
/*
90
* Simplified macro to send an info system log message using current LOG_TAG.
91
*/
92
#ifndef SLOGI
93
#define SLOGI(...) \
94
((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_INFO, LOG_TAG, \
95
__VA_ARGS__))
96
#endif
97
98
#ifndef SLOGI_IF
99
#define SLOGI_IF(cond, ...) \
100
((__predict_false(cond)) \
101
? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_INFO, \
102
LOG_TAG, __VA_ARGS__)) \
103
: (void)0)
104
#endif
105
106
/*
107
* Simplified macro to send a warning system log message using current LOG_TAG.
108
*/
109
#ifndef SLOGW
110
#define SLOGW(...) \
111
((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_WARN, LOG_TAG, \
112
__VA_ARGS__))
113
#endif
114
115
#ifndef SLOGW_IF
116
#define SLOGW_IF(cond, ...) \
117
((__predict_false(cond)) \
118
? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_WARN, \
119
LOG_TAG, __VA_ARGS__)) \
120
: (void)0)
121
#endif
122
123
/*
124
* Simplified macro to send an error system log message using current LOG_TAG.
125
*/
126
#ifndef SLOGE
127
#define SLOGE(...) \
128
((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_ERROR, LOG_TAG, \
129
__VA_ARGS__))
130
#endif
131
132
#ifndef SLOGE_IF
133
#define SLOGE_IF(cond, ...) \
134
((__predict_false(cond)) \
135
? ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_ERROR, \
136
LOG_TAG, __VA_ARGS__)) \
137
: (void)0)
138
#endif
139
140