13cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn/*
23cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * Copyright (C) 2005-2017 The Android Open Source Project
33cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn *
43cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * Licensed under the Apache License, Version 2.0 (the "License");
53cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * you may not use this file except in compliance with the License.
63cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * You may obtain a copy of the License at
73cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn *
83cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn *      http://www.apache.org/licenses/LICENSE-2.0
93cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn *
103cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * Unless required by applicable law or agreed to in writing, software
113cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * distributed under the License is distributed on an "AS IS" BASIS,
123cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * See the License for the specific language governing permissions and
143cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * limitations under the License.
153cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn */
163cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn
173cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#ifndef _LIBS_LOG_LOG_ID_H
183cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#define _LIBS_LOG_LOG_ID_H
193cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn
203cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#ifdef __cplusplus
213cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzynextern "C" {
223cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#endif
233cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn
243cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#ifndef log_id_t_defined
253cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#define log_id_t_defined
263cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyntypedef enum log_id {
272ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzyn  LOG_ID_MIN = 0,
283cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn
292ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzyn  LOG_ID_MAIN = 0,
302ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzyn  LOG_ID_RADIO = 1,
312ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzyn  LOG_ID_EVENTS = 2,
322ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzyn  LOG_ID_SYSTEM = 3,
332ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzyn  LOG_ID_CRASH = 4,
341b1b6f50c78d88e3256a5e13559d92fbb6d1c8feStefan Lafon  LOG_ID_STATS = 5,
351b1b6f50c78d88e3256a5e13559d92fbb6d1c8feStefan Lafon  LOG_ID_SECURITY = 6,
361b1b6f50c78d88e3256a5e13559d92fbb6d1c8feStefan Lafon  LOG_ID_KERNEL = 7, /* place last, third-parties can not use it */
373cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn
382ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzyn  LOG_ID_MAX
393cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn} log_id_t;
403cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#endif
413cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#define sizeof_log_id_t sizeof(typeof_log_id_t)
423cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#define typeof_log_id_t unsigned char
433cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn
443cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn/*
453cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * Send a simple string to the log.
463cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn */
472ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzynint __android_log_buf_write(int bufID, int prio, const char* tag,
482ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzyn                            const char* text);
492ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzynint __android_log_buf_print(int bufID, int prio, const char* tag,
502ed51d708eda64516ec79ac6397f690de38f0075Mark Salyzyn                            const char* fmt, ...)
513cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#if defined(__GNUC__)
523cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn    __attribute__((__format__(printf, 4, 5)))
533cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#endif
543cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn    ;
553cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn
563cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn/*
573cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn * log_id_t helpers
583cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn */
593cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzynlog_id_t android_name_to_log_id(const char* logName);
603cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzynconst char* android_log_id_to_name(log_id_t log_id);
613cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn
623cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#ifdef __cplusplus
633cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn}
643cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#endif
653cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn
663cdbdd522fbbb2611713805c72c6d741a91bcfd5Mark Salyzyn#endif /* _LIBS_LOG_LOG_ID_H */
67