log.h revision 7a03ca2f6d9683e67846d642243e0319e389ef09
/** @file
* VirtualBox - Logging.
*/
/*
* Copyright (C) 2006 InnoTek Systemberatung GmbH
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License as published by the Free Software Foundation,
* in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
* distribution. VirtualBox OSE is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY of any kind.
*
* If you received this file as part of a commercial VirtualBox
* distribution, then only the terms of your commercial VirtualBox
* license agreement apply instead of the previous paragraph.
*/
#ifndef __VBox_log_h__
#define __VBox_log_h__
/*
* Set the default loggroup.
*/
#ifndef LOG_GROUP
# define LOG_GROUP LOG_GROUP_DEFAULT
#endif
/** @defgroup grp_rt_vbox_log VirtualBox Logging
* @ingroup grp_rt_vbox
* @{
*/
/** PC port for debug output */
#define RTLOG_DEBUG_PORT 0x504
/**
* VirtualBox Logging Groups.
* (Remember to update LOGGROUP_NAMES!)
*
* @remark It should be pretty obvious, but just to have
* mentioned it, the values are sorted alphabetically (using the
* english alphabet) except for _DEFAULT which is always first.
*
* If anyone might be wondering what the alphabet looks like:
* 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 _
*/
typedef enum LOGGROUP
{
/** The default VBox group. */
/** CFGM group. */
/** CPUM group. */
/** CSAM group. */
/** Debug Console group. */
/** DBGF group. */
/** DBGF info group. */
/** The debugger gui. */
/** Generic Device group. */
/** ACPI Device group. */
/** APIC Device group. */
/** Audio Device group. */
/** DMA Controller group. */
/** Floppy Controller Device group. */
/** IDE Device group. */
/** KeyBoard Controller Device group. */
/** NE2000 Device group. */
/** PC Device group. */
/** PC Architecture Device group. */
/** PC BIOS Device group. */
/** PCI Device group. */
/** PCNet Device group. */
/** PIC Device group. */
/** PIT Device group. */
/** RTC Device group. */
/** Serial Device group */
/** USB Device group. */
/** VGA Device group. */
/** VMM Device group. */
/** VMM Device group for backdoor logging. */
/** VMM Device group for logging guest backdoor logging to stderr. */
/** Disassembler group. */
/** Generic driver group. */
/** ACPI driver group */
/** Block driver group. */
/** Char driver group. */
/** Floppy media driver group. */
/** Host Base block driver group. */
/** Host DVD block driver group. */
/** Host floppy block driver group. */
/** Host hard disk (raw partition) media driver group. */
/** The internal networking transport driver group. */
/** iSCSI Initiator driver group. */
/** iSCSI TCP transport driver group. */
/** Keyboard Queue driver group. */
/** Mouse Queue driver group. */
/** Named Pipe stream driver group. */
/** NAT network transport driver group */
/** Raw image driver group */
/** TUN network transport driver group */
/** USB Proxy driver group. */
/** VBoxHDD media driver group. */
/** VBox HDD container media driver group. */
/** Virtual Switch transport driver group */
/** VUSB driver group */
/** EM group. */
/** GUI group. */
/** HGCM group */
/** HWACCM group. */
/** IOM group. */
/** XPCOM IPC group. */
/** Main group. */
/** Misc. group intended for external use only. */
/** MM group. */
/** MM group. */
/** MM group. */
/** MM Hypervisor Heap group. */
/** MM Page pool group. */
/** PATM group. */
/** PDM group. */
/** PDM Device group. */
/** PDM Driver group. */
/** PDM Loader group. */
/** PDM Loader group. */
/** PGM group. */
/** PGMCACHE group. */
/** PGM physical group. */
/** PGM physical access group. */
/** PGM shadow page pool group. */
/** REM group. */
/** REM disassembly handler group. */
/** REM access handler group. */
/** REM I/O port access group. */
/** REM MMIO access group. */
/** REM Printf. */
/** REM running group. */
/** RT group. */
/** RT group. */
/** SELM group. */
/** Shared folders host service group. */
/** The internal networking service group. */
/** SSM group. */
/** STAM group. */
/** SUP group. */
/** TM group. */
/** TRPM group. */
/** Generic virtual disk layer. */
/** VMDK virtual disk backend. */
/** VM group. */
/** VMM group. */
/** VRDP group */
/* !!!ALPHABETICALLY!!! */
/** @def VBOX_LOGGROUP_NAMES
* VirtualBox Logging group names.
*
* Must correspond 100% to LOGGROUP!
* Don't forget commas!
*
* @remark It should be pretty obvious, but just to have
* mentioned it, the values are sorted alphabetically (using the
* english alphabet) except for _DEFAULT which is always first.
*
* If anyone might be wondering what the alphabet looks like:
* 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
*/
#define VBOX_LOGGROUP_NAMES \
{ \
"DEFAULT", \
"CFGM", \
"CPUM", \
"CSAM", \
"DBGC", \
"DBGF", \
"DBGF_INFO", \
"DBGG", \
"DEV", \
"DEV_ACPI", \
"DEV_APIC", \
"DEV_AUDIO", \
"DEV_DMA", \
"DEV_FDC", \
"DEV_IDE", \
"DEV_KBD", \
"DEV_NE2000", \
"DEV_PC", \
"DEV_PC_ARCH", \
"DEV_PC_BIOS", \
"DEV_PCI", \
"DEV_PCNET", \
"DEV_PIC", \
"DEV_PIT", \
"DEV_RTC", \
"DEV_SERIAL", \
"DEV_USB", \
"DEV_VGA", \
"DEV_VMM", \
"DEV_VMM_BACKDOOR", \
"DEV_VMM_STDERR",\
"DIS", \
"DRV", \
"DRV_ACPI", \
"DRV_BLOCK", \
"DRV_CHAR", \
"DRV_FLOPPY", \
"DRV_HOST_BASE", \
"DRV_HOST_DVD", \
"DRV_HOST_FLOPPY", \
"DRV_HOST_HDD", \
"DRV_INTNET", \
"DRV_ISCSI", \
"DRV_ISCSI_TRANSPORT_TCP", \
"DRV_ISO", \
"DRV_KBD_QUEUE", \
"DRV_MOUSE_QUEUE", \
"DRV_NAMEDPIPE", \
"DRV_NAT", \
"DRV_RAW_IMAGE", \
"DRV_TUN", \
"DRV_USBPROXY", \
"DRV_VBOXHDD", \
"DRV_VD", \
"DRV_VSWITCH", \
"DRV_VUSB", \
"EM", \
"GUI", \
"HGCM", \
"HWACCM", \
"IOM", \
"IPC", \
"MAIN", \
"MISC", \
"MM", \
"MM_HEAP", \
"MM_HYPER", \
"MM_HYPER_HEAP",\
"MM_PHYS", \
"MM_POOL", \
"PATM", \
"PDM", \
"PDM_DEVICE", \
"PDM_DRIVER", \
"PDM_LDR", \
"PDM_QUEUE", \
"PGM", \
"PGMCACHE", \
"PGM_PHYS", \
"PGM_PHYS_ACCESS",\
"PGM_POOL", \
"REM", \
"REM_DISAS", \
"REM_HANDLER", \
"REM_IOPORT", \
"REM_MMIO", \
"REM_PRINTF", \
"REM_RUN", \
"RT", \
"RT_THREAD", \
"SELM", \
"SHARED_FOLDERS",\
"SRV_INTNET", \
"SSM", \
"STAM", \
"SUP", \
"TM", \
"TRPM", \
"VD", \
"VD_VMDK", \
"VM", \
"VMM", \
"VRDP", \
}
/**
* Prints a formatted string to the backdoor port.
*
* @returns Number of bytes written.
* @param pszFormat Format string.
* @param ... Optional arguments specified in the format string.
*/
/**
* Prints a formatted string to the backdoor port.
*
* @returns Number of bytes written.
* @param pszFormat Format string.
* @param args Optional arguments specified in the format string.
*/
/** @} */
#endif