VirtualBox

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

Last change on this file since 41800 was 40652, checked in by vboxsync, 13 years ago

NetShaper,E1000: Basic framework and partial implementation for network shaper

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 14.8 KB
Line 
1/** @file
2 * VirtualBox - Logging.
3 */
4
5/*
6 * Copyright (C) 2006-2012 Oracle Corporation
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 (GPL) as published by the Free Software
12 * Foundation, in version 2 as it comes in the "COPYING" file of the
13 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15 *
16 * The contents of this file may alternatively be used under the terms
17 * of the Common Development and Distribution License Version 1.0
18 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
19 * VirtualBox OSE distribution, in which case the provisions of the
20 * CDDL are applicable instead of those of the GPL.
21 *
22 * You may elect to license modified versions of this file under the
23 * terms and conditions of either the GPL or the CDDL or both.
24 */
25
26#ifndef ___VBox_log_h
27#define ___VBox_log_h
28
29/*
30 * Set the default loggroup.
31 */
32#ifndef LOG_GROUP
33# define LOG_GROUP LOG_GROUP_DEFAULT
34#endif
35
36#include <iprt/log.h>
37
38
39/** @defgroup grp_rt_vbox_log VirtualBox Logging
40 * @ingroup grp_rt_vbox
41 * @{
42 */
43
44/** PC port for debug output */
45#define RTLOG_DEBUG_PORT 0x504
46
47/**
48 * VirtualBox Logging Groups.
49 * (Remember to update LOGGROUP_NAMES!)
50 *
51 * @remark It should be pretty obvious, but just to have
52 * mentioned it, the values are sorted alphabetically (using the
53 * english alphabet) except for _DEFAULT which is always first.
54 *
55 * If anyone might be wondering what the alphabet looks like:
56 * 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 _
57 */
58typedef enum LOGGROUP
59{
60 /** The default VBox group. */
61 LOG_GROUP_DEFAULT = RTLOGGROUP_FIRST_USER,
62 /** Auto-logon group. */
63 LOG_GROUP_AUTOLOGON,
64 /** CFGM group. */
65 LOG_GROUP_CFGM,
66 /** CPUM group. */
67 LOG_GROUP_CPUM,
68 /** CSAM group. */
69 LOG_GROUP_CSAM,
70 /** Debug Console group. */
71 LOG_GROUP_DBGC,
72 /** DBGF group. */
73 LOG_GROUP_DBGF,
74 /** DBGF info group. */
75 LOG_GROUP_DBGF_INFO,
76 /** The debugger gui. */
77 LOG_GROUP_DBGG,
78 /** Generic Device group. */
79 LOG_GROUP_DEV,
80 /** ACPI Device group. */
81 LOG_GROUP_DEV_ACPI,
82 /** AHCI Device group. */
83 LOG_GROUP_DEV_AHCI,
84 /** APIC Device group. */
85 LOG_GROUP_DEV_APIC,
86 /** Audio Device group. */
87 LOG_GROUP_DEV_AUDIO,
88 /** BusLogic SCSI host adapter group. */
89 LOG_GROUP_DEV_BUSLOGIC,
90 /** DMA Controller group. */
91 LOG_GROUP_DEV_DMA,
92 /** Gigabit Ethernet Device group. */
93 LOG_GROUP_DEV_E1000,
94 /** Extensible Firmware Interface Device group. */
95 LOG_GROUP_DEV_EFI,
96 /** Floppy Controller Device group. */
97 LOG_GROUP_DEV_FDC,
98 /** High Precision Event Timer Device group. */
99 LOG_GROUP_DEV_HPET,
100 /** IDE Device group. */
101 LOG_GROUP_DEV_IDE,
102 /** The internal networking IP stack Device group. */
103 LOG_GROUP_DEV_INIP,
104 /** KeyBoard Controller Device group. */
105 LOG_GROUP_DEV_KBD,
106 /** Low Pin Count Device group. */
107 LOG_GROUP_DEV_LPC,
108 /** LsiLogic SCSI controller Device group. */
109 LOG_GROUP_DEV_LSILOGICSCSI,
110 /** NE2000 Device group. */
111 LOG_GROUP_DEV_NE2000,
112 /** Parallel Device group */
113 LOG_GROUP_DEV_PARALLEL,
114 /** PC Device group. */
115 LOG_GROUP_DEV_PC,
116 /** PC Architecture Device group. */
117 LOG_GROUP_DEV_PC_ARCH,
118 /** PC BIOS Device group. */
119 LOG_GROUP_DEV_PC_BIOS,
120 /** PCI Device group. */
121 LOG_GROUP_DEV_PCI,
122 /** PCI Raw Device group. */
123 LOG_GROUP_DEV_PCI_RAW,
124 /** PCNet Device group. */
125 LOG_GROUP_DEV_PCNET,
126 /** PIC Device group. */
127 LOG_GROUP_DEV_PIC,
128 /** PIT Device group. */
129 LOG_GROUP_DEV_PIT,
130 /** RTC Device group. */
131 LOG_GROUP_DEV_RTC,
132 /** Serial Device group */
133 LOG_GROUP_DEV_SERIAL,
134 /** System Management Controller Device group. */
135 LOG_GROUP_DEV_SMC,
136 /** USB Device group. */
137 LOG_GROUP_DEV_USB,
138 /** VGA Device group. */
139 LOG_GROUP_DEV_VGA,
140 /** Virtio PCI Device group. */
141 LOG_GROUP_DEV_VIRTIO,
142 /** Virtio Network Device group. */
143 LOG_GROUP_DEV_VIRTIO_NET,
144 /** VMM Device group. */
145 LOG_GROUP_DEV_VMM,
146 /** VMM Device group for backdoor logging. */
147 LOG_GROUP_DEV_VMM_BACKDOOR,
148 /** VMM Device group for logging guest backdoor logging to stderr. */
149 LOG_GROUP_DEV_VMM_STDERR,
150 /** Disassembler group. */
151 LOG_GROUP_DIS,
152 /** Generic driver group. */
153 LOG_GROUP_DRV,
154 /** ACPI driver group */
155 LOG_GROUP_DRV_ACPI,
156 /** Block driver group. */
157 LOG_GROUP_DRV_BLOCK,
158 /** Char driver group. */
159 LOG_GROUP_DRV_CHAR,
160 /** Disk integrity driver group. */
161 LOG_GROUP_DRV_DISK_INTEGRITY,
162 /** Video Display driver group. */
163 LOG_GROUP_DRV_DISPLAY,
164 /** Floppy media driver group. */
165 LOG_GROUP_DRV_FLOPPY,
166 /** Host Base block driver group. */
167 LOG_GROUP_DRV_HOST_BASE,
168 /** Host DVD block driver group. */
169 LOG_GROUP_DRV_HOST_DVD,
170 /** Host floppy block driver group. */
171 LOG_GROUP_DRV_HOST_FLOPPY,
172 /** Host Parallel Driver group */
173 LOG_GROUP_DRV_HOST_PARALLEL,
174 /** Host Serial Driver Group */
175 LOG_GROUP_DRV_HOST_SERIAL,
176 /** The internal networking transport driver group. */
177 LOG_GROUP_DRV_INTNET,
178 /** ISO (CD/DVD) media driver group. */
179 LOG_GROUP_DRV_ISO,
180 /** Keyboard Queue driver group. */
181 LOG_GROUP_DRV_KBD_QUEUE,
182 /** lwIP IP stack driver group. */
183 LOG_GROUP_DRV_LWIP,
184 /** Video Miniport driver group. */
185 LOG_GROUP_DRV_MINIPORT,
186 /** Mouse driver group. */
187 LOG_GROUP_DRV_MOUSE,
188 /** Mouse Queue driver group. */
189 LOG_GROUP_DRV_MOUSE_QUEUE,
190 /** Named Pipe stream driver group. */
191 LOG_GROUP_DRV_NAMEDPIPE,
192 /** NAT network transport driver group */
193 LOG_GROUP_DRV_NAT,
194 /** Raw image driver group */
195 LOG_GROUP_DRV_RAW_IMAGE,
196 /** SCSI driver group. */
197 LOG_GROUP_DRV_SCSI,
198 /** Host SCSI driver group. */
199 LOG_GROUP_DRV_SCSIHOST,
200 /** Async transport driver group */
201 LOG_GROUP_DRV_TRANSPORT_ASYNC,
202 /** TUN network transport driver group */
203 LOG_GROUP_DRV_TUN,
204 /** UDP tunnet network transport driver group. */
205 LOG_GROUP_DRV_UDPTUNNEL,
206 /** USB Proxy driver group. */
207 LOG_GROUP_DRV_USBPROXY,
208 /** VBoxHDD media driver group. */
209 LOG_GROUP_DRV_VBOXHDD,
210 /** VBox HDD container media driver group. */
211 LOG_GROUP_DRV_VD,
212 /** Virtual Switch transport driver group */
213 LOG_GROUP_DRV_VSWITCH,
214 /** VUSB driver group */
215 LOG_GROUP_DRV_VUSB,
216 /** EM group. */
217 LOG_GROUP_EM,
218 /** FTM group. */
219 LOG_GROUP_FTM,
220 /** GMM group. */
221 LOG_GROUP_GMM,
222 /** GUI group. */
223 LOG_GROUP_GUI,
224 /** GVMM group. */
225 LOG_GROUP_GVMM,
226 /** HGCM group */
227 LOG_GROUP_HGCM,
228 /** HGSMI group */
229 LOG_GROUP_HGSMI,
230 /** HWACCM group. */
231 LOG_GROUP_HWACCM,
232 /** IEM group. */
233 LOG_GROUP_IEM,
234 /** IOM group. */
235 LOG_GROUP_IOM,
236 /** XPCOM IPC group. */
237 LOG_GROUP_IPC,
238 /** Main group. */
239 LOG_GROUP_MAIN,
240 /** Misc. group intended for external use only. */
241 LOG_GROUP_MISC,
242 /** MM group. */
243 LOG_GROUP_MM,
244 /** MM group. */
245 LOG_GROUP_MM_HEAP,
246 /** MM group. */
247 LOG_GROUP_MM_HYPER,
248 /** MM Hypervisor Heap group. */
249 LOG_GROUP_MM_HYPER_HEAP,
250 /** MM Physical/Ram group. */
251 LOG_GROUP_MM_PHYS,
252 /** MM Page pool group. */
253 LOG_GROUP_MM_POOL,
254 /** The NAT service group */
255 LOG_GROUP_NAT_SERVICE,
256 /** The network adaptor driver group. */
257 LOG_GROUP_NET_ADP_DRV,
258 /** The network filter driver group. */
259 LOG_GROUP_NET_FLT_DRV,
260 /** The common network service group */
261 LOG_GROUP_NET_SERVICE,
262 /** Network traffic shaper driver group. */
263 LOG_GROUP_NET_SHAPER,
264 /** PATM group. */
265 LOG_GROUP_PATM,
266 /** PDM group. */
267 LOG_GROUP_PDM,
268 /** PDM Async completion group. */
269 LOG_GROUP_PDM_ASYNC_COMPLETION,
270 /** PDM Block cache group. */
271 LOG_GROUP_PDM_BLK_CACHE,
272 /** PDM Device group. */
273 LOG_GROUP_PDM_DEVICE,
274 /** PDM Driver group. */
275 LOG_GROUP_PDM_DRIVER,
276 /** PDM Loader group. */
277 LOG_GROUP_PDM_LDR,
278 /** PDM Loader group. */
279 LOG_GROUP_PDM_QUEUE,
280 /** PGM group. */
281 LOG_GROUP_PGM,
282 /** PGM dynamic mapping group. */
283 LOG_GROUP_PGM_DYNMAP,
284 /** PGM physical group. */
285 LOG_GROUP_PGM_PHYS,
286 /** PGM physical access group. */
287 LOG_GROUP_PGM_PHYS_ACCESS,
288 /** PGM shadow page pool group. */
289 LOG_GROUP_PGM_POOL,
290 /** PGM shared paging group. */
291 LOG_GROUP_PGM_SHARED,
292 /** REM group. */
293 LOG_GROUP_REM,
294 /** REM disassembly handler group. */
295 LOG_GROUP_REM_DISAS,
296 /** REM access handler group. */
297 LOG_GROUP_REM_HANDLER,
298 /** REM I/O port access group. */
299 LOG_GROUP_REM_IOPORT,
300 /** REM MMIO access group. */
301 LOG_GROUP_REM_MMIO,
302 /** REM Printf. */
303 LOG_GROUP_REM_PRINTF,
304 /** REM running group. */
305 LOG_GROUP_REM_RUN,
306 /** SELM group. */
307 LOG_GROUP_SELM,
308 /** Shared clipboard host service group. */
309 LOG_GROUP_SHARED_CLIPBOARD,
310 /** Chromium OpenGL host service group. */
311 LOG_GROUP_SHARED_CROPENGL,
312 /** Shared folders host service group. */
313 LOG_GROUP_SHARED_FOLDERS,
314 /** OpenGL host service group. */
315 LOG_GROUP_SHARED_OPENGL,
316 /** The internal networking service group. */
317 LOG_GROUP_SRV_INTNET,
318 /** SSM group. */
319 LOG_GROUP_SSM,
320 /** STAM group. */
321 LOG_GROUP_STAM,
322 /** SUP group. */
323 LOG_GROUP_SUP,
324 /** SUPport driver group. */
325 LOG_GROUP_SUP_DRV,
326 /** TM group. */
327 LOG_GROUP_TM,
328 /** TRPM group. */
329 LOG_GROUP_TRPM,
330 /** USB cardreader group. */
331 LOG_GROUP_USB_CARDREADER,
332 /** USB driver group. */
333 LOG_GROUP_USB_DRV,
334 /** USBFilter group. */
335 LOG_GROUP_USB_FILTER,
336 /** USB keyboard device group. */
337 LOG_GROUP_USB_KBD,
338 /** MSD USB device group. */
339 LOG_GROUP_USB_MSD,
340 /** USB webcam. */
341 LOG_GROUP_USB_WEBCAM,
342 /** Generic virtual disk layer. */
343 LOG_GROUP_VD,
344 /** DMG virtual disk backend. */
345 LOG_GROUP_VD_DMG,
346 /** iSCSI virtual disk backend. */
347 LOG_GROUP_VD_ISCSI,
348 /** Parallels HDD virtual disk backend. */
349 LOG_GROUP_VD_PARALLELS,
350 /** QCOW virtual disk backend. */
351 LOG_GROUP_VD_QCOW,
352 /** QED virtual disk backend. */
353 LOG_GROUP_VD_QED,
354 /** Raw virtual disk backend. */
355 LOG_GROUP_VD_RAW,
356 /** VDI virtual disk backend. */
357 LOG_GROUP_VD_VDI,
358 /** VHD virtual disk backend. */
359 LOG_GROUP_VD_VHD,
360 /** VMDK virtual disk backend. */
361 LOG_GROUP_VD_VMDK,
362 /** VM group. */
363 LOG_GROUP_VM,
364 /** VMM group. */
365 LOG_GROUP_VMM,
366 /** VRDE group */
367 LOG_GROUP_VRDE,
368 /** VRDP group */
369 LOG_GROUP_VRDP,
370 /** VSCSI group */
371 LOG_GROUP_VSCSI,
372 /** Webservice group. */
373 LOG_GROUP_WEBSERVICE
374 /* !!!ALPHABETICALLY!!! */
375} VBOX_LOGGROUP;
376
377
378/** @def VBOX_LOGGROUP_NAMES
379 * VirtualBox Logging group names.
380 *
381 * Must correspond 100% to LOGGROUP!
382 * Don't forget commas!
383 *
384 * @remark It should be pretty obvious, but just to have
385 * mentioned it, the values are sorted alphabetically (using the
386 * english alphabet) except for _DEFAULT which is always first.
387 *
388 * If anyone might be wondering what the alphabet looks like:
389 * 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
390 */
391#define VBOX_LOGGROUP_NAMES \
392{ \
393 RT_LOGGROUP_NAMES, \
394 "DEFAULT", \
395 "AUTOLOGON", \
396 "CFGM", \
397 "CPUM", \
398 "CSAM", \
399 "DBGC", \
400 "DBGF", \
401 "DBGF_INFO", \
402 "DBGG", \
403 "DEV", \
404 "DEV_ACPI", \
405 "DEV_AHCI", \
406 "DEV_APIC", \
407 "DEV_AUDIO", \
408 "DEV_BUSLOGIC", \
409 "DEV_DMA", \
410 "DEV_E1000", \
411 "DEV_EFI", \
412 "DEV_FDC", \
413 "DEV_HPET", \
414 "DEV_IDE", \
415 "DEV_INIP", \
416 "DEV_KBD", \
417 "DEV_LPC", \
418 "DEV_LSILOGICSCSI", \
419 "DEV_NE2000", \
420 "DEV_PARALLEL", \
421 "DEV_PC", \
422 "DEV_PC_ARCH", \
423 "DEV_PC_BIOS", \
424 "DEV_PCI", \
425 "DEV_PCI_RAW", \
426 "DEV_PCNET", \
427 "DEV_PIC", \
428 "DEV_PIT", \
429 "DEV_RTC", \
430 "DEV_SERIAL", \
431 "DEV_SMC", \
432 "DEV_USB", \
433 "DEV_VGA", \
434 "DEV_VIRTIO", \
435 "DEV_VIRTIO_NET", \
436 "DEV_VMM", \
437 "DEV_VMM_BACKDOOR", \
438 "DEV_VMM_STDERR",\
439 "DIS", \
440 "DRV", \
441 "DRV_ACPI", \
442 "DRV_BLOCK", \
443 "DRV_CHAR", \
444 "DRV_DISK_INTEGRITY", \
445 "DRV_DISPLAY", \
446 "DRV_FLOPPY", \
447 "DRV_HOST_BASE", \
448 "DRV_HOST_DVD", \
449 "DRV_HOST_FLOPPY", \
450 "DRV_HOST_PARALLEL", \
451 "DRV_HOST_SERIAL", \
452 "DRV_INTNET", \
453 "DRV_ISO", \
454 "DRV_KBD_QUEUE", \
455 "DRV_LWIP", \
456 "DRV_MINIPORT", \
457 "DRV_MOUSE", \
458 "DRV_MOUSE_QUEUE", \
459 "DRV_NAMEDPIPE", \
460 "DRV_NAT", \
461 "DRV_RAW_IMAGE", \
462 "DRV_SCSI", \
463 "DRV_SCSIHOST", \
464 "DRV_TRANSPORT_ASYNC", \
465 "DRV_TUN", \
466 "DRV_UDPTUNNEL", \
467 "DRV_USBPROXY", \
468 "DRV_VBOXHDD", \
469 "DRV_VD", \
470 "DRV_VSWITCH", \
471 "DRV_VUSB", \
472 "EM", \
473 "FTM", \
474 "GMM", \
475 "GUI", \
476 "GVMM", \
477 "HGCM", \
478 "HGSMI", \
479 "HWACCM", \
480 "IEM", \
481 "IOM", \
482 "IPC", \
483 "MAIN", \
484 "MISC", \
485 "MM", \
486 "MM_HEAP", \
487 "MM_HYPER", \
488 "MM_HYPER_HEAP",\
489 "MM_PHYS", \
490 "MM_POOL", \
491 "NAT_SERVICE", \
492 "NET_ADP_DRV", \
493 "NET_FLT_DRV", \
494 "NET_SERVICE", \
495 "NET_SHAPER", \
496 "PATM", \
497 "PDM", \
498 "PDM_ASYNC_COMPLETION", \
499 "PDM_BLK_CACHE", \
500 "PDM_DEVICE", \
501 "PDM_DRIVER", \
502 "PDM_LDR", \
503 "PDM_QUEUE", \
504 "PGM", \
505 "PGM_DYNMAP", \
506 "PGM_PHYS", \
507 "PGM_PHYS_ACCESS",\
508 "PGM_POOL", \
509 "PGM_SHARED", \
510 "REM", \
511 "REM_DISAS", \
512 "REM_HANDLER", \
513 "REM_IOPORT", \
514 "REM_MMIO", \
515 "REM_PRINTF", \
516 "REM_RUN", \
517 "SELM", \
518 "SHARED_CLIPBOARD",\
519 "SHARED_CROPENGL",\
520 "SHARED_FOLDERS",\
521 "SHARED_OPENGL",\
522 "SRV_INTNET", \
523 "SSM", \
524 "STAM", \
525 "SUP", \
526 "SUP_DRV", \
527 "TM", \
528 "TRPM", \
529 "USB_CARDREADER",\
530 "USB_DRV", \
531 "USB_FILTER", \
532 "USB_KBD", \
533 "USB_MSD", \
534 "USB_WEBCAM", \
535 "VD", \
536 "VD_DMG", \
537 "VD_ISCSI", \
538 "VD_PARALLELS", \
539 "VD_QCOW", \
540 "VD_QED", \
541 "VD_RAW", \
542 "VD_VDI", \
543 "VD_VHD", \
544 "VD_VMDK", \
545 "VM", \
546 "VMM", \
547 "VRDE", \
548 "VRDP", \
549 "VSCSI", \
550 "WEBSERVICE", \
551}
552
553/** @} */
554#endif
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