Commit | Line | Data |
---|---|---|
355b0502 GKH |
1 | /* include/linux/logger.h |
2 | * | |
3 | * Copyright (C) 2007-2008 Google, Inc. | |
4 | * Author: Robert Love <rlove@android.com> | |
5 | * | |
6 | * This software is licensed under the terms of the GNU General Public | |
7 | * License version 2, as published by the Free Software Foundation, and | |
8 | * may be copied, distributed, and modified under those terms. | |
9 | * | |
10 | * This program is distributed in the hope that it will be useful, | |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | * GNU General Public License for more details. | |
14 | * | |
15 | */ | |
16 | ||
17 | #ifndef _LINUX_LOGGER_H | |
18 | #define _LINUX_LOGGER_H | |
19 | ||
20 | #include <linux/types.h> | |
21 | #include <linux/ioctl.h> | |
22 | ||
adb91365 | 23 | /** |
0441bcf4 | 24 | * struct user_logger_entry_compat - defines a single entry that is given to a logger |
adb91365 CJB |
25 | * @len: The length of the payload |
26 | * @__pad: Two bytes of padding that appear to be required | |
27 | * @pid: The generating process' process ID | |
28 | * @tid: The generating process' thread ID | |
29 | * @sec: The number of seconds that have elapsed since the Epoch | |
30 | * @nsec: The number of nanoseconds that have elapsed since @sec | |
31 | * @msg: The message that is to be logged | |
0441bcf4 NK |
32 | * |
33 | * The userspace structure for version 1 of the logger_entry ABI. | |
34 | * This structure is returned to userspace unless the caller requests | |
35 | * an upgrade to a newer ABI version. | |
adb91365 | 36 | */ |
0441bcf4 | 37 | struct user_logger_entry_compat { |
adb91365 CJB |
38 | __u16 len; |
39 | __u16 __pad; | |
40 | __s32 pid; | |
41 | __s32 tid; | |
42 | __s32 sec; | |
43 | __s32 nsec; | |
44 | char msg[0]; | |
355b0502 GKH |
45 | }; |
46 | ||
0441bcf4 NK |
47 | /** |
48 | * struct logger_entry - defines a single entry that is given to a logger | |
49 | * @len: The length of the payload | |
50 | * @hdr_size: sizeof(struct logger_entry_v2) | |
51 | * @pid: The generating process' process ID | |
52 | * @tid: The generating process' thread ID | |
53 | * @sec: The number of seconds that have elapsed since the Epoch | |
54 | * @nsec: The number of nanoseconds that have elapsed since @sec | |
55 | * @euid: Effective UID of logger | |
56 | * @msg: The message that is to be logged | |
57 | * | |
58 | * The structure for version 2 of the logger_entry ABI. | |
59 | * This structure is returned to userspace if ioctl(LOGGER_SET_VERSION) | |
60 | * is called with version >= 2 | |
61 | */ | |
62 | struct logger_entry { | |
63 | __u16 len; | |
64 | __u16 hdr_size; | |
65 | __s32 pid; | |
66 | __s32 tid; | |
67 | __s32 sec; | |
68 | __s32 nsec; | |
6fa3eb70 | 69 | __s32 tz; /* timezone*/ |
bd471258 | 70 | kuid_t euid; |
0441bcf4 NK |
71 | char msg[0]; |
72 | }; | |
73 | ||
6fa3eb70 S |
74 | /* |
75 | SMP porting, we double the android buffer | |
76 | * and kernel buffer size for dual core | |
77 | */ | |
78 | #ifdef CONFIG_SMP | |
79 | /* mingjian, 20101208: define buffer size based on different products {*/ | |
80 | #ifndef __MAIN_BUF_SIZE | |
81 | #define __MAIN_BUF_SIZE 256*1024 | |
82 | #endif | |
83 | ||
84 | #ifndef __EVENTS_BUF_SIZE | |
85 | #define __EVENTS_BUF_SIZE 256*1024 | |
86 | #endif | |
87 | ||
88 | #ifndef __RADIO_BUF_SIZE | |
89 | #define __RADIO_BUF_SIZE 256*1024 | |
90 | #endif | |
91 | ||
92 | #ifndef __SYSTEM_BUF_SIZE | |
93 | #define __SYSTEM_BUF_SIZE 256*1024 | |
94 | #endif | |
95 | #else | |
96 | #ifndef __MAIN_BUF_SIZE | |
97 | #define __MAIN_BUF_SIZE 256*1024 | |
98 | #endif | |
99 | ||
100 | #ifndef __EVENTS_BUF_SIZE | |
101 | #define __EVENTS_BUF_SIZE 256*1024 | |
102 | #endif | |
103 | ||
104 | #ifndef __RADIO_BUF_SIZE | |
105 | #define __RADIO_BUF_SIZE 64*1024 | |
106 | #endif | |
107 | ||
108 | #ifndef __SYSTEM_BUF_SIZE | |
109 | #define __SYSTEM_BUF_SIZE 64*1024 | |
110 | #endif | |
111 | #endif | |
112 | ||
355b0502 GKH |
113 | #define LOGGER_LOG_RADIO "log_radio" /* radio-related messages */ |
114 | #define LOGGER_LOG_EVENTS "log_events" /* system/hardware events */ | |
3537cdaa | 115 | #define LOGGER_LOG_SYSTEM "log_system" /* system/framework messages */ |
355b0502 GKH |
116 | #define LOGGER_LOG_MAIN "log_main" /* everything else */ |
117 | ||
0441bcf4 | 118 | #define LOGGER_ENTRY_MAX_PAYLOAD 4076 |
355b0502 GKH |
119 | |
120 | #define __LOGGERIO 0xAE | |
121 | ||
122 | #define LOGGER_GET_LOG_BUF_SIZE _IO(__LOGGERIO, 1) /* size of log */ | |
123 | #define LOGGER_GET_LOG_LEN _IO(__LOGGERIO, 2) /* used log len */ | |
124 | #define LOGGER_GET_NEXT_ENTRY_LEN _IO(__LOGGERIO, 3) /* next entry len */ | |
125 | #define LOGGER_FLUSH_LOG _IO(__LOGGERIO, 4) /* flush log */ | |
0441bcf4 NK |
126 | #define LOGGER_GET_VERSION _IO(__LOGGERIO, 5) /* abi version */ |
127 | #define LOGGER_SET_VERSION _IO(__LOGGERIO, 6) /* abi version */ | |
6fa3eb70 S |
128 | #define LOGGER_SET_INTERVAL _IO(__LOGGERIO, 101) /* wake up interval */ |
129 | #define LOGGER_SET_TIMER _IO(__LOGGERIO, 102) /* trigger timer*/ | |
355b0502 | 130 | #endif /* _LINUX_LOGGER_H */ |