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