tstDeviceStructSizeGC.cpp revision da7f6376d98136ac8a76f7110a452c6e56508c49
/* $Id$ */
/** @file
* tstDeviceStructSizeGC - Generate structure member and size checks from the GC perspective.
*
* This is built using the VBOXGC template but linked into a host
* ring-3 executable, rather hacky.
*/
/*
* Copyright (C) 2006-2008 Sun Microsystems, Inc.
*
* 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.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 USA or visit http://www.sun.com if you need
* additional information or have any questions.
*/
/*
* Sanity checks.
*/
#ifndef IN_RC
#endif
#endif
/*******************************************************************************
* Header Files *
*******************************************************************************/
#define VBOX_DEVICE_STRUCT_TESTCASE
#include "../Bus/DevPCI.cpp" /* must be first! */
#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 "../Storage/DevATA.cpp"
#ifdef VBOX_WITH_USB
# include "../USB/DevOHCI.cpp"
# include "../USB/DevEHCI.cpp"
#endif
/*#undef LOG_GROUP
#include "../VMMDev/VBoxDev.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_BUSLOGIC
# include "../Storage/DevBusLogic.cpp"
#endif
#ifdef VBOX_WITH_LSILOGIC
# include "../Storage/DevLsiLogicSCSI.cpp"
#endif
#ifdef VBOX_WITH_HPET
# include "../PC/DevHPET.cpp"
#endif
/* we don't use iprt here because we're pretending to be in GC! */
#include <stdio.h>
int main()
{
/* misc */
/* DevPCI.cpp */
/* DevVGA.cpp */
#ifdef CONFIG_BOCHS_VBE
#endif
#ifdef VBOX_WITH_HGSMI
#endif
#if defined(VBOX_WITH_HGSMI) && defined(VBOX_WITH_VIDEOHWACCEL)
#endif
#ifdef VBE_BYTEWISE_IO
# ifdef VBE_NEW_DYN_LIST
# endif
#endif
#ifdef VBE_NEW_DYN_LIST
#endif
#ifdef VBOX_WITH_HGSMI
#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 */
#ifdef VBOX_WITH_STATISTICS
#endif
#ifdef VBOX_WITH_STATISTICS
#endif
#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
/* USB/DevEHCI.cpp */
# ifdef VBOX_WITH_STATISTICS
# endif
#endif /* VBOX_WITH_USB */
/* VMMDev/VBoxDev.cpp */
/* Parallel/DevParallel.cpp */
/* Serial/DevSerial.cpp */
#ifdef VBOX_WITH_AHCI
/* Storage/ATAController.h */
GEN_CHECK_OFF(AHCIATARequest, u.t);
GEN_CHECK_OFF(AHCIATARequest, u.a);
/* 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
#endif /* VBOX_WITH_E1000 */
#ifdef VBOX_WITH_SCSI
#endif
#ifdef VBOX_WITH_BUSLOGIC
#endif /* VBOX_WITH_BUSLOGIC */
#ifdef VBOX_WITH_LSILOGIC
#endif /* VBOX_WITH_LSILOGIC */
#ifdef VBOX_WITH_HPET
#endif
return (0);
}