| Dima Zavin | 8f91282 | 2011-08-31 18:26:17 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | * Copyright (C) 2010 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 | #ifndef _CUTILS_KLOG_H_ | 
|  | 18 | #define _CUTILS_KLOG_H_ | 
|  | 19 |  | 
| Ken Sumrall | 7425fd1 | 2013-04-03 13:43:11 -0700 | [diff] [blame] | 20 | #include <sys/cdefs.h> | 
| Elliott Hughes | da40c00 | 2015-03-27 23:20:44 -0700 | [diff] [blame] | 21 | #include <sys/uio.h> | 
| Stephen Smalley | eb3f421 | 2014-02-12 16:17:00 -0500 | [diff] [blame] | 22 | #include <stdarg.h> | 
| Ken Sumrall | 7425fd1 | 2013-04-03 13:43:11 -0700 | [diff] [blame] | 23 |  | 
|  | 24 | __BEGIN_DECLS | 
|  | 25 |  | 
| Alex Ray | 157e1b6 | 2014-03-07 12:18:22 -0800 | [diff] [blame] | 26 | int  klog_get_level(void); | 
| Dima Zavin | 8f91282 | 2011-08-31 18:26:17 -0700 | [diff] [blame] | 27 | void klog_set_level(int level); | 
| Elliott Hughes | da40c00 | 2015-03-27 23:20:44 -0700 | [diff] [blame] | 28 |  | 
| Dima Zavin | 8f91282 | 2011-08-31 18:26:17 -0700 | [diff] [blame] | 29 | void klog_write(int level, const char *fmt, ...) | 
|  | 30 | __attribute__ ((format(printf, 2, 3))); | 
| Elliott Hughes | da40c00 | 2015-03-27 23:20:44 -0700 | [diff] [blame] | 31 | void klog_writev(int level, const struct iovec* iov, int iov_count); | 
| Dima Zavin | 8f91282 | 2011-08-31 18:26:17 -0700 | [diff] [blame] | 32 |  | 
| Ken Sumrall | 7425fd1 | 2013-04-03 13:43:11 -0700 | [diff] [blame] | 33 | __END_DECLS | 
|  | 34 |  | 
| Stephen Smalley | eb3f421 | 2014-02-12 16:17:00 -0500 | [diff] [blame] | 35 | #define KLOG_ERROR_LEVEL   3 | 
|  | 36 | #define KLOG_WARNING_LEVEL 4 | 
|  | 37 | #define KLOG_NOTICE_LEVEL  5 | 
|  | 38 | #define KLOG_INFO_LEVEL    6 | 
|  | 39 | #define KLOG_DEBUG_LEVEL   7 | 
|  | 40 |  | 
|  | 41 | #define KLOG_ERROR(tag,x...)   klog_write(KLOG_ERROR_LEVEL, "<3>" tag ": " x) | 
|  | 42 | #define KLOG_WARNING(tag,x...) klog_write(KLOG_WARNING_LEVEL, "<4>" tag ": " x) | 
|  | 43 | #define KLOG_NOTICE(tag,x...)  klog_write(KLOG_NOTICE_LEVEL, "<5>" tag ": " x) | 
|  | 44 | #define KLOG_INFO(tag,x...)    klog_write(KLOG_INFO_LEVEL, "<6>" tag ": " x) | 
|  | 45 | #define KLOG_DEBUG(tag,x...)   klog_write(KLOG_DEBUG_LEVEL, "<7>" tag ": " x) | 
| Dima Zavin | 8f91282 | 2011-08-31 18:26:17 -0700 | [diff] [blame] | 46 |  | 
|  | 47 | #define KLOG_DEFAULT_LEVEL  3  /* messages <= this level are logged */ | 
|  | 48 |  | 
|  | 49 | #endif |