VirtualBox

source: vbox/trunk/include/VBox/log.h@ 113

Last change on this file since 113 was 1, checked in by vboxsync, 55 years ago

import

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 9.8 KB
Line 
1/** @file
2 * VirtualBox - Logging.
3 */
4
5/*
6 * Copyright (C) 2006 InnoTek Systemberatung GmbH
7 *
8 * This file is part of VirtualBox Open Source Edition (OSE), as
9 * available from http://www.virtualbox.org. This file is free software;
10 * you can redistribute it and/or modify it under the terms of the GNU
11 * General Public License as published by the Free Software Foundation,
12 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
13 * distribution. VirtualBox OSE is distributed in the hope that it will
14 * be useful, but WITHOUT ANY WARRANTY of any kind.
15 *
16 * If you received this file as part of a commercial VirtualBox
17 * distribution, then only the terms of your commercial VirtualBox
18 * license agreement apply instead of the previous paragraph.
19 */
20
21#ifndef __VBox_log_h__
22#define __VBox_log_h__
23
24/*
25 * Set the default loggroup.
26 */
27#ifndef LOG_GROUP
28# define LOG_GROUP LOG_GROUP_DEFAULT
29#endif
30
31#include <iprt/log.h>
32
33
34/** @defgroup grp_rt_vbox_log VirtualBox Logging
35 * @ingroup grp_rt_vbox
36 * @{
37 */
38
39/** PC port for debug output */
40#define RTLOG_DEBUG_PORT 0x504
41
42/**
43 * VirtualBox Logging Groups.
44 * (Remember to update LOGGROUP_NAMES!)
45 *
46 * @remark It should be pretty obvious, but just to have
47 * mentioned it, the values are sorted alphabetically (using the
48 * english alphabet) except for _DEFAULT which is always first.
49 *
50 * If anyone might be wondering what the alphabet looks like:
51 * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _
52 */
53typedef enum LOGGROUP
54{
55 /** The default VBox group. */
56 LOG_GROUP_DEFAULT = RTLOGGROUP_FIRST_USER,
57 /** CFGM group. */
58 LOG_GROUP_CFGM,
59 /** CPUM group. */
60 LOG_GROUP_CPUM,
61 /** CSAM group. */
62 LOG_GROUP_CSAM,
63 /** Debug Console group. */
64 LOG_GROUP_DBGC,
65 /** DBGF group. */
66 LOG_GROUP_DBGF,
67 /** DBGF info group. */
68 LOG_GROUP_DBGF_INFO,
69 /** The debugger gui. */
70 LOG_GROUP_DBGG,
71 /** Generic Device group. */
72 LOG_GROUP_DEV,
73 /** ACPI Device group. */
74 LOG_GROUP_DEV_ACPI,
75 /** APIC Device group. */
76 LOG_GROUP_DEV_APIC,
77 /** Audio Device group. */
78 LOG_GROUP_DEV_AUDIO,
79 /** DMA Controller group. */
80 LOG_GROUP_DEV_DMA,
81 /** Floppy Controller Device group. */
82 LOG_GROUP_DEV_FDC,
83 /** IDE Device group. */
84 LOG_GROUP_DEV_IDE,
85 /** KeyBoard Controller Device group. */
86 LOG_GROUP_DEV_KBD,
87 /** NE2000 Device group. */
88 LOG_GROUP_DEV_NE2000,
89 /** PC Device group. */
90 LOG_GROUP_DEV_PC,
91 /** PC Architecture Device group. */
92 LOG_GROUP_DEV_PC_ARCH,
93 /** PC BIOS Device group. */
94 LOG_GROUP_DEV_PC_BIOS,
95 /** PCI Device group. */
96 LOG_GROUP_DEV_PCI,
97 /** PCNet Device group. */
98 LOG_GROUP_DEV_PCNET,
99 /** PIC Device group. */
100 LOG_GROUP_DEV_PIC,
101 /** PIT Device group. */
102 LOG_GROUP_DEV_PIT,
103 /** RTC Device group. */
104 LOG_GROUP_DEV_RTC,
105 /** Serial Device group */
106 LOG_GROUP_DEV_SERIAL,
107 /** USB Device group. */
108 LOG_GROUP_DEV_USB,
109 /** VGA Device group. */
110 LOG_GROUP_DEV_VGA,
111 /** VMM Device group. */
112 LOG_GROUP_DEV_VMM,
113 /** VMM Device group for logging guest backdoor logging to stderr. */
114 LOG_GROUP_DEV_VMM_STDERR,
115 /** Disassembler group. */
116 LOG_GROUP_DIS,
117 /** Generic driver group. */
118 LOG_GROUP_DRV,
119 /** ACPI driver group */
120 LOG_GROUP_DRV_ACPI,
121 /** Block driver group. */
122 LOG_GROUP_DRV_BLOCK,
123 /** Floppy media driver group. */
124 LOG_GROUP_DRV_FLOPPY,
125 /** Host Base block driver group. */
126 LOG_GROUP_DRV_HOST_BASE,
127 /** Host DVD block driver group. */
128 LOG_GROUP_DRV_HOST_DVD,
129 /** Host floppy block driver group. */
130 LOG_GROUP_DRV_HOST_FLOPPY,
131 /** The internal networking transport driver group. */
132 LOG_GROUP_DRV_INTNET,
133 /** iSCSI Initiator driver group. */
134 LOG_GROUP_DRV_ISCSI,
135 /** iSCSI TCP transport driver group. */
136 LOG_GROUP_DRV_ISCSI_TRANSPORT_TCP,
137 /** ISO (CD/DVD) media driver group. */
138 LOG_GROUP_DRV_ISO,
139 /** Keyboard Queue driver group. */
140 LOG_GROUP_DRV_KBD_QUEUE,
141 /** Mouse Queue driver group. */
142 LOG_GROUP_DRV_MOUSE_QUEUE,
143 /** NAT network transport driver group */
144 LOG_GROUP_DRV_NAT,
145 /** Raw image driver group */
146 LOG_GROUP_DRV_RAW_IMAGE,
147 /** TUN network transport driver group */
148 LOG_GROUP_DRV_TUN,
149 /** USB Proxy driver group. */
150 LOG_GROUP_DRV_USBPROXY,
151 /** VBoxHDD media driver group. */
152 LOG_GROUP_DRV_VBOXHDD,
153 /** Virtual Switch transport driver group */
154 LOG_GROUP_DRV_VSWITCH,
155 /** VUSB driver group */
156 LOG_GROUP_DRV_VUSB,
157 /** EM group. */
158 LOG_GROUP_EM,
159 /** GUI group. */
160 LOG_GROUP_GUI,
161 /** HGCM group */
162 LOG_GROUP_HGCM,
163 /** HWACCM group. */
164 LOG_GROUP_HWACCM,
165 /** IOM group. */
166 LOG_GROUP_IOM,
167 /** XPCOM IPC group. */
168 LOG_GROUP_IPC,
169 /** Main group. */
170 LOG_GROUP_MAIN,
171 /** MM group. */
172 LOG_GROUP_MM,
173 /** MM group. */
174 LOG_GROUP_MM_HEAP,
175 /** MM group. */
176 LOG_GROUP_MM_HYPER,
177 /** MM Hypervisor Heap group. */
178 LOG_GROUP_MM_HYPER_HEAP,
179 /** MM Physical/Ram group. */
180 LOG_GROUP_MM_PHYS,
181 /** MM Page pool group. */
182 LOG_GROUP_MM_POOL,
183 /** PATM group. */
184 LOG_GROUP_PATM,
185 /** PDM group. */
186 LOG_GROUP_PDM,
187 /** PDM Device group. */
188 LOG_GROUP_PDM_DEVICE,
189 /** PDM Driver group. */
190 LOG_GROUP_PDM_DRIVER,
191 /** PDM Loader group. */
192 LOG_GROUP_PDM_LDR,
193 /** PDM Loader group. */
194 LOG_GROUP_PDM_QUEUE,
195 /** PGM group. */
196 LOG_GROUP_PGM,
197 /** PGMCACHE group. */
198 LOG_GROUP_PGMCACHE,
199 /** PGM physical group. */
200 LOG_GROUP_PGM_PHYS,
201 /** PGM physical access group. */
202 LOG_GROUP_PGM_PHYS_ACCESS,
203 /** PGM shadow page pool group. */
204 LOG_GROUP_PGM_POOL,
205 /** REM group. */
206 LOG_GROUP_REM,
207 /** REM disassembly handler group. */
208 LOG_GROUP_REM_DISAS,
209 /** REM access handler group. */
210 LOG_GROUP_REM_HANDLER,
211 /** REM I/O port access group. */
212 LOG_GROUP_REM_IOPORT,
213 /** REM MMIO access group. */
214 LOG_GROUP_REM_MMIO,
215 /** REM Printf. */
216 LOG_GROUP_REM_PRINTF,
217 /** REM running group. */
218 LOG_GROUP_REM_RUN,
219 /** RT group. */
220 LOG_GROUP_RT,
221 /** RT group. */
222 LOG_GROUP_RT_THREAD,
223 /** SELM group. */
224 LOG_GROUP_SELM,
225 /** The internal networking service group. */
226 LOG_GROUP_SRV_INTNET,
227 /** SSM group. */
228 LOG_GROUP_SSM,
229 /** STAM group. */
230 LOG_GROUP_STAM,
231 /** SUP group. */
232 LOG_GROUP_SUP,
233 /** TM group. */
234 LOG_GROUP_TM,
235 /** TRPM group. */
236 LOG_GROUP_TRPM,
237 /** VM group. */
238 LOG_GROUP_VM,
239 /** VMM group. */
240 LOG_GROUP_VMM,
241 /** VRDP group */
242 LOG_GROUP_VRDP
243 /* !!!ALPHABETICALLY!!! */
244} VBOX_LOGGROUP;
245
246
247/** @def VBOX_LOGGROUP_NAMES
248 * VirtualBox Logging group names.
249 *
250 * Must correspond 100% to LOGGROUP!
251 * Don't forget commas!
252 *
253 * @remark It should be pretty obvious, but just to have
254 * mentioned it, the values are sorted alphabetically (using the
255 * english alphabet) except for _DEFAULT which is always first.
256 *
257 * If anyone might be wondering what the alphabet looks like:
258 * a b c d e f g h i j k l m n o p q r s t u v w x y z
259 */
260#define VBOX_LOGGROUP_NAMES \
261{ \
262 RT_LOGGROUP_NAMES, \
263 "DEFAULT", \
264 "CFGM", \
265 "CPUM", \
266 "CSAM", \
267 "DBGC", \
268 "DBGF", \
269 "DBGF_INFO", \
270 "DBGG", \
271 "DEV", \
272 "DEV_ACPI", \
273 "DEV_APIC", \
274 "DEV_AUDIO", \
275 "DEV_DMA", \
276 "DEV_FDC", \
277 "DEV_IDE", \
278 "DEV_KBD", \
279 "DEV_NE2000", \
280 "DEV_PC", \
281 "DEV_PC_ARCH", \
282 "DEV_PC_BIOS", \
283 "DEV_PCI", \
284 "DEV_PCNET", \
285 "DEV_PIC", \
286 "DEV_PIT", \
287 "DEV_RTC", \
288 "DEV_SERIAL", \
289 "DEV_USB", \
290 "DEV_VGA", \
291 "DEV_VMM", \
292 "DEV_VMM_STDERR",\
293 "DIS", \
294 "DRV", \
295 "DRV_ACPI", \
296 "DRV_BLOCK", \
297 "DRV_FLOPPY", \
298 "DRV_HOST_BASE", \
299 "DRV_HOST_DVD", \
300 "DRV_HOST_FLOPPY", \
301 "DRV_INTNET", \
302 "DRV_ISCSI", \
303 "DRV_ISCSI_TRANSPORT_TCP", \
304 "DRV_ISO", \
305 "DRV_KBD_QUEUE", \
306 "DRV_MOUSE_QUEUE", \
307 "DRV_NAT", \
308 "DRV_RAW_IMAGE", \
309 "DRV_TUN", \
310 "DRV_USBPROXY", \
311 "DRV_VBOXHDD", \
312 "DRV_VSWITCH", \
313 "DRV_VUSB", \
314 "EM", \
315 "GUI", \
316 "HGCM", \
317 "HWACCM", \
318 "IOM", \
319 "IPC", \
320 "MAIN", \
321 "MM", \
322 "MM_HEAP", \
323 "MM_HYPER", \
324 "MM_HYPER_HEAP",\
325 "MM_PHYS", \
326 "MM_POOL", \
327 "PATM", \
328 "PDM", \
329 "PDM_DEVICE", \
330 "PDM_DRIVER", \
331 "PDM_LDR", \
332 "PDM_QUEUE", \
333 "PGM", \
334 "PGMCACHE", \
335 "PGM_PHYS", \
336 "PGM_PHYS_ACCESS",\
337 "PGM_POOL", \
338 "REM", \
339 "REM_DISAS", \
340 "REM_HANDLER", \
341 "REM_IOPORT", \
342 "REM_MMIO", \
343 "REM_PRINTF", \
344 "REM_RUN", \
345 "RT", \
346 "RT_THREAD", \
347 "SELM", \
348 "SRV_INTNET", \
349 "SSM", \
350 "STAM", \
351 "SUP", \
352 "TM", \
353 "TRPM", \
354 "VM", \
355 "VMM", \
356 "VRDP", \
357}
358
359
360__BEGIN_DECLS
361
362/**
363 * Prints a formatted string to the backdoor port.
364 *
365 * @returns Number of bytes written.
366 * @param pszFormat Format string.
367 * @param ... Optional arguments specified in the format string.
368 */
369RTDECL(size_t) RTLogBackdoorPrintf(const char *pszFormat, ...);
370
371/**
372 * Prints a formatted string to the backdoor port.
373 *
374 * @returns Number of bytes written.
375 * @param pszFormat Format string.
376 * @param args Optional arguments specified in the format string.
377 */
378RTDECL(size_t) RTLogBackdoorPrintfV(const char *pszFormat, va_list args);
379
380__END_DECLS
381
382/** @} */
383#endif
384
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette