tstDeviceStructSizeRC.cpp revision 5fe9f0ebc19d0cb7e4b060dbdff3023fce7d468b
/* $Id$ */
/** @file
* tstDeviceStructSizeGC - Generate structure member and size checks from the RC perspective.
*
* This is built using the VBoxRc template but linked into a host
* ring-3 executable, rather hacky.
*/
/*
* Copyright (C) 2006-2012 Oracle Corporation
*
* 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 (GPL) 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.
*/
/*
* Sanity checks.
*/
#ifndef IN_RC
#endif
#endif
/*******************************************************************************
* Header Files *
*******************************************************************************/
#define VBOX_DEVICE_STRUCT_TESTCASE
#define VBOX_WITH_HGCM /* grumble */
#include "../Bus/DevPCI.cpp" /* must be first! */
#include "../Bus/DevPciIch9.cpp"
#include "../Graphics/DevVGA.cpp"
#include "../Input/DevPS2.cpp"
#include "../Network/DevPCNet.cpp"
#include "../PC/DevACPI.cpp"
#include "../PC/DevPIC.cpp"
#include "../PC/DevPit-i8254.cpp"
#include "../PC/DevRTC.cpp"
#include "../PC/DevAPIC.cpp"
#include "../PC/DevIoApic.cpp"
#include "../Storage/DevATA.cpp"
#ifdef VBOX_WITH_USB
# include "../USB/DevOHCI.cpp"
# ifdef VBOX_WITH_EHCI_IMPL
# include "../USB/DevEHCI.cpp"
# endif
#endif
#include "../VMMDev/VMMDev.cpp"
#include "../Parallel/DevParallel.cpp"
#include "../Serial/DevSerial.cpp"
#ifdef VBOX_WITH_AHCI
# include "../Storage/DevAHCI.cpp"
#endif
#ifdef VBOX_WITH_E1000
# include "../Network/DevE1000.cpp"
#endif
#ifdef VBOX_WITH_VIRTIO
# include "../Network/DevVirtioNet.cpp"
#endif
#ifdef VBOX_WITH_BUSLOGIC
# include "../Storage/DevBusLogic.cpp"
#endif
#ifdef VBOX_WITH_LSILOGIC
# include "../Storage/DevLsiLogicSCSI.cpp"
#endif
#include "../PC/DevHPET.cpp"
/* we don't use iprt here because we're pretending to be in GC! */
#include <stdio.h>
int main()
{
/* misc */
/* DevPCI.cpp */
/* DevPciIch9.cpp */
/* DevVGA.cpp */
#ifdef CONFIG_BOCHS_VBE
#endif
#ifdef VBOX_WITH_HGSMI
#endif
#ifdef VBOX_WITH_VDMA
#endif
#endif
#ifdef VBE_BYTEWISE_IO
# ifdef VBE_NEW_DYN_LIST
# endif
#endif
#ifdef VBE_NEW_DYN_LIST
#endif
#ifdef VBOX_WITH_HGSMI
#endif
#ifdef VBOX_WITH_WDDM
#endif
/* Network/DevPCNet.cpp */
#ifndef PCNET_NO_POLLING
#endif
#ifdef PCNET_NO_POLLING
#endif
#ifdef VBOX_WITH_STATISTICS
# ifdef PCNET_NO_POLLING
# endif
#endif
/* PC/DevACPI.cpp */
/* PC/DevPIC.cpp */
#ifdef VBOX_WITH_STATISTICS
#endif
/* PC/DevPit-i8254.cpp */
// GEN_CHECK_OFF(PITSTATE, dummy_refresh_clock);
/* PC/DevRTC.cpp */
/* PC/DevAPIC.cpp */
#ifdef VBOX_WITH_STATISTICS
#endif
#ifdef VBOX_WITH_STATISTICS
#endif
/* PC/DevIoApic.cpp */
#ifdef VBOX_WITH_STATISTICS
#endif
/* Storage/DevATA.cpp */
GEN_CHECK_OFF(ATARequest, u);
GEN_CHECK_OFF(ATARequest, u.t);
GEN_CHECK_OFF(ATARequest, u.a);
#ifdef VBOX_WITH_USB
/* USB/DevOHCI.cpp */
//GEN_CHECK_OFF(OHCI, dqic:3);
//GEN_CHECK_OFF(OHCI, fno:1);
//GEN_CHECK_OFF(OHCI, fsmps:15);
//GEN_CHECK_OFF(OHCI, fit:1);
//GEN_CHECK_OFF(OHCI, fi:14);
//GEN_CHECK_OFF(OHCI, frt:1);
# ifdef VBOX_WITH_STATISTICS
# endif
# ifdef VBOX_WITH_EHCI_IMPL
/* USB/DevEHCI.cpp */
# ifdef VBOX_WITH_STATISTICS
# endif
# endif /* VBOX_WITH_EHCI_IMPL */
#endif /* VBOX_WITH_USB */
/* VMMDev/VBoxDev.cpp */
/* Parallel/DevParallel.cpp */
#if 0
#endif
/* Serial/DevSerial.cpp */
#ifdef VBOX_WITH_AHCI
/* Storage/DevAHCI.cpp */
#ifdef VBOX_WITH_STATISTICS
#endif
GEN_CHECK_OFF(AHCIPort, szSerialNumber[AHCI_SERIAL_NUMBER_LENGTH]); /* One additional byte for the termination.*/
GEN_CHECK_OFF(AHCIPort, szFirmwareRevision[AHCI_FIRMWARE_REVISION_LENGTH]); /* One additional byte for the termination.*/
GEN_CHECK_OFF(AHCIPort, szModelNumber[AHCI_MODEL_NUMBER_LENGTH]); /* One additional byte for the termination.*/
#endif /* VBOX_WITH_AHCI */
#ifdef VBOX_WITH_E1000
# ifndef E1K_GLOBAL_MUTEX
# endif
# ifdef E1K_WITH_TXD_CACHE
# endif
#endif /* VBOX_WITH_E1000 */
#ifdef VBOX_WITH_VIRTIO
# ifdef VNET_TX_DELAY
# endif /* VNET_TX_DELAY */
#endif /* VBOX_WITH_VIRTIO */
#ifdef VBOX_WITH_SCSI
#endif
/* VMMDev*.cpp/h */
#ifdef VBOX_WITH_HGCM
#endif
#ifdef VBOX_WITH_HGCM
#endif
#ifdef VMMDEV_WITH_ALT_TIMESYNC
#endif
#ifdef VBOX_WITH_HGCM
#endif
#ifdef VBOX_WITH_BUSLOGIC
#endif /* VBOX_WITH_BUSLOGIC */
#ifdef VBOX_WITH_LSILOGIC
#endif /* VBOX_WITH_LSILOGIC */
return (0);
}