• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2021 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 #pragma once
17 
18 #include <cstdarg>
19 #include <cstdint>
20 
21 /**
22  * This header is used for systems targeting syslog as their log target (i.e.
23  * Floss builds).
24  */
25 
26 /**
27  * We separately define these tags and map them to syslog levels because the
28  * log headers re-define LOG_DEBUG and LOG_INFO which are already existing in
29  * the syslog header. Also, LOG_TAG_VERBOSE doesn't actually exist in syslog
30  * definitions and needs to be mapped to another log level.
31  */
32 constexpr uint32_t LOG_TAG_VERBOSE = 0x0;
33 constexpr uint32_t LOG_TAG_DEBUG = 0x1;
34 constexpr uint32_t LOG_TAG_INFO = 0x2;
35 constexpr uint32_t LOG_TAG_WARN = 0x3;
36 constexpr uint32_t LOG_TAG_ERROR = 0x4;
37 constexpr uint32_t LOG_TAG_FATAL = 0x5;
38 
39 /**
40  * Write log to syslog.
41  */
42 void write_syslog(int tag, const char* format, ...);
43