VirtualBox

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

Last change on this file since 2889 was 2337, checked in by vboxsync, 18 years ago

Update log groups and errors for new virtual disk container code.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 10.6 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 backdoor logging. */
114 LOG_GROUP_DEV_VMM_BACKDOOR,
115 /** VMM Device group for logging guest backdoor logging to stderr. */
116 LOG_GROUP_DEV_VMM_STDERR,
117 /** Disassembler group. */
118 LOG_GROUP_DIS,
119 /** Generic driver group. */
120 LOG_GROUP_DRV,
121 /** ACPI driver group */
122 LOG_GROUP_DRV_ACPI,
123 /** Block driver group. */
124 LOG_GROUP_DRV_BLOCK,
125 /** Char driver group. */
126 LOG_GROUP_DRV_CHAR,
127 /** Floppy media driver group. */
128 LOG_GROUP_DRV_FLOPPY,
129 /** Host Base block driver group. */
130 LOG_GROUP_DRV_HOST_BASE,
131 /** Host DVD block driver group. */
132 LOG_GROUP_DRV_HOST_DVD,
133 /** Host floppy block driver group. */
134 LOG_GROUP_DRV_HOST_FLOPPY,
135 /** Host hard disk (raw partition) media driver group. */
136 LOG_GROUP_DRV_HOST_HDD,
137 /** The internal networking transport driver group. */
138 LOG_GROUP_DRV_INTNET,
139 /** iSCSI Initiator driver group. */
140 LOG_GROUP_DRV_ISCSI,
141 /** iSCSI TCP transport driver group. */
142 LOG_GROUP_DRV_ISCSI_TRANSPORT_TCP,
143 /** ISO (CD/DVD) media driver group. */
144 LOG_GROUP_DRV_ISO,
145 /** Keyboard Queue driver group. */
146 LOG_GROUP_DRV_KBD_QUEUE,
147 /** Mouse Queue driver group. */
148 LOG_GROUP_DRV_MOUSE_QUEUE,
149 /** Named Pipe stream driver group. */
150 LOG_GROUP_DRV_NAMEDPIPE,
151 /** NAT network transport driver group */
152 LOG_GROUP_DRV_NAT,
153 /** Raw image driver group */
154 LOG_GROUP_DRV_RAW_IMAGE,
155 /** TUN network transport driver group */
156 LOG_GROUP_DRV_TUN,
157 /** USB Proxy driver group. */
158 LOG_GROUP_DRV_USBPROXY,
159 /** VBoxHDD media driver group. */
160 LOG_GROUP_DRV_VBOXHDD,
161 /** VBox HDD container media driver group. */
162 LOG_GROUP_DRV_VD,
163 /** Virtual Switch transport driver group */
164 LOG_GROUP_DRV_VSWITCH,
165 /** VUSB driver group */
166 LOG_GROUP_DRV_VUSB,
167 /** EM group. */
168 LOG_GROUP_EM,
169 /** GUI group. */
170 LOG_GROUP_GUI,
171 /** HGCM group */
172 LOG_GROUP_HGCM,
173 /** HWACCM group. */
174 LOG_GROUP_HWACCM,
175 /** IOM group. */
176 LOG_GROUP_IOM,
177 /** XPCOM IPC group. */
178 LOG_GROUP_IPC,
179 /** Main group. */
180 LOG_GROUP_MAIN,
181 /** Misc. group intended for external use only. */
182 LOG_GROUP_MISC,
183 /** MM group. */
184 LOG_GROUP_MM,
185 /** MM group. */
186 LOG_GROUP_MM_HEAP,
187 /** MM group. */
188 LOG_GROUP_MM_HYPER,
189 /** MM Hypervisor Heap group. */
190 LOG_GROUP_MM_HYPER_HEAP,
191 /** MM Physical/Ram group. */
192 LOG_GROUP_MM_PHYS,
193 /** MM Page pool group. */
194 LOG_GROUP_MM_POOL,
195 /** PATM group. */
196 LOG_GROUP_PATM,
197 /** PDM group. */
198 LOG_GROUP_PDM,
199 /** PDM Device group. */
200 LOG_GROUP_PDM_DEVICE,
201 /** PDM Driver group. */
202 LOG_GROUP_PDM_DRIVER,
203 /** PDM Loader group. */
204 LOG_GROUP_PDM_LDR,
205 /** PDM Loader group. */
206 LOG_GROUP_PDM_QUEUE,
207 /** PGM group. */
208 LOG_GROUP_PGM,
209 /** PGMCACHE group. */
210 LOG_GROUP_PGMCACHE,
211 /** PGM physical group. */
212 LOG_GROUP_PGM_PHYS,
213 /** PGM physical access group. */
214 LOG_GROUP_PGM_PHYS_ACCESS,
215 /** PGM shadow page pool group. */
216 LOG_GROUP_PGM_POOL,
217 /** REM group. */
218 LOG_GROUP_REM,
219 /** REM disassembly handler group. */
220 LOG_GROUP_REM_DISAS,
221 /** REM access handler group. */
222 LOG_GROUP_REM_HANDLER,
223 /** REM I/O port access group. */
224 LOG_GROUP_REM_IOPORT,
225 /** REM MMIO access group. */
226 LOG_GROUP_REM_MMIO,
227 /** REM Printf. */
228 LOG_GROUP_REM_PRINTF,
229 /** REM running group. */
230 LOG_GROUP_REM_RUN,
231 /** RT group. */
232 LOG_GROUP_RT,
233 /** RT group. */
234 LOG_GROUP_RT_THREAD,
235 /** SELM group. */
236 LOG_GROUP_SELM,
237 /** Shared folders host service group. */
238 LOG_GROUP_SHARED_FOLDERS,
239 /** The internal networking service group. */
240 LOG_GROUP_SRV_INTNET,
241 /** SSM group. */
242 LOG_GROUP_SSM,
243 /** STAM group. */
244 LOG_GROUP_STAM,
245 /** SUP group. */
246 LOG_GROUP_SUP,
247 /** TM group. */
248 LOG_GROUP_TM,
249 /** TRPM group. */
250 LOG_GROUP_TRPM,
251 /** Generic virtual disk layer. */
252 LOG_GROUP_VD,
253 /** VMDK virtual disk backend. */
254 LOG_GROUP_VD_VMDK,
255 /** VM group. */
256 LOG_GROUP_VM,
257 /** VMM group. */
258 LOG_GROUP_VMM,
259 /** VRDP group */
260 LOG_GROUP_VRDP
261 /* !!!ALPHABETICALLY!!! */
262} VBOX_LOGGROUP;
263
264
265/** @def VBOX_LOGGROUP_NAMES
266 * VirtualBox Logging group names.
267 *
268 * Must correspond 100% to LOGGROUP!
269 * Don't forget commas!
270 *
271 * @remark It should be pretty obvious, but just to have
272 * mentioned it, the values are sorted alphabetically (using the
273 * english alphabet) except for _DEFAULT which is always first.
274 *
275 * If anyone might be wondering what the alphabet looks like:
276 * 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
277 */
278#define VBOX_LOGGROUP_NAMES \
279{ \
280 RT_LOGGROUP_NAMES, \
281 "DEFAULT", \
282 "CFGM", \
283 "CPUM", \
284 "CSAM", \
285 "DBGC", \
286 "DBGF", \
287 "DBGF_INFO", \
288 "DBGG", \
289 "DEV", \
290 "DEV_ACPI", \
291 "DEV_APIC", \
292 "DEV_AUDIO", \
293 "DEV_DMA", \
294 "DEV_FDC", \
295 "DEV_IDE", \
296 "DEV_KBD", \
297 "DEV_NE2000", \
298 "DEV_PC", \
299 "DEV_PC_ARCH", \
300 "DEV_PC_BIOS", \
301 "DEV_PCI", \
302 "DEV_PCNET", \
303 "DEV_PIC", \
304 "DEV_PIT", \
305 "DEV_RTC", \
306 "DEV_SERIAL", \
307 "DEV_USB", \
308 "DEV_VGA", \
309 "DEV_VMM", \
310 "DEV_VMM_BACKDOOR", \
311 "DEV_VMM_STDERR",\
312 "DIS", \
313 "DRV", \
314 "DRV_ACPI", \
315 "DRV_BLOCK", \
316 "DRV_CHAR", \
317 "DRV_FLOPPY", \
318 "DRV_HOST_BASE", \
319 "DRV_HOST_DVD", \
320 "DRV_HOST_FLOPPY", \
321 "DRV_HOST_HDD", \
322 "DRV_INTNET", \
323 "DRV_ISCSI", \
324 "DRV_ISCSI_TRANSPORT_TCP", \
325 "DRV_ISO", \
326 "DRV_KBD_QUEUE", \
327 "DRV_MOUSE_QUEUE", \
328 "DRV_NAMEDPIPE", \
329 "DRV_NAT", \
330 "DRV_RAW_IMAGE", \
331 "DRV_TUN", \
332 "DRV_USBPROXY", \
333 "DRV_VBOXHDD", \
334 "DRV_VD", \
335 "DRV_VSWITCH", \
336 "DRV_VUSB", \
337 "EM", \
338 "GUI", \
339 "HGCM", \
340 "HWACCM", \
341 "IOM", \
342 "IPC", \
343 "MAIN", \
344 "MISC", \
345 "MM", \
346 "MM_HEAP", \
347 "MM_HYPER", \
348 "MM_HYPER_HEAP",\
349 "MM_PHYS", \
350 "MM_POOL", \
351 "PATM", \
352 "PDM", \
353 "PDM_DEVICE", \
354 "PDM_DRIVER", \
355 "PDM_LDR", \
356 "PDM_QUEUE", \
357 "PGM", \
358 "PGMCACHE", \
359 "PGM_PHYS", \
360 "PGM_PHYS_ACCESS",\
361 "PGM_POOL", \
362 "REM", \
363 "REM_DISAS", \
364 "REM_HANDLER", \
365 "REM_IOPORT", \
366 "REM_MMIO", \
367 "REM_PRINTF", \
368 "REM_RUN", \
369 "RT", \
370 "RT_THREAD", \
371 "SELM", \
372 "SHARED_FOLDERS",\
373 "SRV_INTNET", \
374 "SSM", \
375 "STAM", \
376 "SUP", \
377 "TM", \
378 "TRPM", \
379 "VD", \
380 "VD_VMDK", \
381 "VM", \
382 "VMM", \
383 "VRDP", \
384}
385
386
387__BEGIN_DECLS
388
389/**
390 * Prints a formatted string to the backdoor port.
391 *
392 * @returns Number of bytes written.
393 * @param pszFormat Format string.
394 * @param ... Optional arguments specified in the format string.
395 */
396RTDECL(size_t) RTLogBackdoorPrintf(const char *pszFormat, ...);
397
398/**
399 * Prints a formatted string to the backdoor port.
400 *
401 * @returns Number of bytes written.
402 * @param pszFormat Format string.
403 * @param args Optional arguments specified in the format string.
404 */
405RTDECL(size_t) RTLogBackdoorPrintfV(const char *pszFormat, va_list args);
406
407__END_DECLS
408
409/** @} */
410#endif
411
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