1a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown/* 2a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * Copyright 2011 Daniel Drown 3a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * 4a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * Licensed under the Apache License, Version 2.0 (the "License"); 5a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * you may not use this file except in compliance with the License. 6a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * You may obtain a copy of the License at 7a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * 8a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * http://www.apache.org/licenses/LICENSE-2.0 9a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * 10a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * Unless required by applicable law or agreed to in writing, software 11a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * distributed under the License is distributed on an "AS IS" BASIS, 12a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * See the License for the specific language governing permissions and 14a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * limitations under the License. 15a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * 16a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * logging.c - print a log message 17a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown */ 18a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown 19a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown#include <stdarg.h> 20a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown#include <android/log.h> 21a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown 22a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown#include "logging.h" 23a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown#include "debug.h" 24a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown 25a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown/* function: logmsg 26a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * prints a log message to android's log buffer 27a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * prio - the log message priority 28a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * fmt - printf format specifier 29a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * ... - printf format arguments 30a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown */ 31a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drownvoid logmsg(int prio, const char *fmt, ...) { 32a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown va_list ap; 33a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown 34a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown va_start(ap, fmt); 35a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown __android_log_vprint(prio, "clatd", fmt, ap); 36a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown va_end(ap); 37a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown} 38a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown 39a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown/* function: logmsg_dbg 40a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * prints a log message to android's log buffer if CLAT_DEBUG is set 41a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * prio - the log message priority 42a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * fmt - printf format specifier 43a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown * ... - printf format arguments 44a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown */ 45a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown#if CLAT_DEBUG 4656ec161d47856212008f47676577882f30853312Lorenzo Colittivoid logmsg_dbg(int prio, const char *fmt, ...) { 47a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown va_list ap; 48a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown 49a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown va_start(ap, fmt); 50a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown __android_log_vprint(prio, "clatd", fmt, ap); 51a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown va_end(ap); 52a45056e35c1af2a0f0a6eed258fd5fdf4846a79fDaniel Drown} 5356ec161d47856212008f47676577882f30853312Lorenzo Colitti#else 5456ec161d47856212008f47676577882f30853312Lorenzo Colittivoid logmsg_dbg(__attribute__((unused)) int prio, __attribute__((unused)) const char *fmt, ...) {} 5556ec161d47856212008f47676577882f30853312Lorenzo Colitti#endif 56