SysHlp.h revision 07077d7b83236f8e50a7793a0df432bd75d5fc8e
/** @file
*
* VBoxGuestLib - A support library for VirtualBox guest additions:
* System dependent helpers internal header
*/
/*
* Copyright (C) 2006-2007 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.
*/
#ifndef __SYSHLP__H
#define __SYSHLP__H
#ifdef RT_OS_WINDOWS
# include <ntddk.h>
# pragma warning(default : 4163)
# else
# include <ntddk.h>
# endif
/* XP DDK #defines ExFreePool to ExFreePoolWithTag. The latter does not exist on NT4, so...
* The same for ExAllocatePool.
*/
#endif
typedef struct _VBGLDRIVER
{
#ifdef RT_OS_WINDOWS
#elif defined (RT_OS_LINUX)
void *opaque;
#elif defined (RT_OS_SOLARIS)
void *pvOpaque;
#elif defined (RT_OS_FREEBSD)
void *pvOpaque;
#else
# error "Port me"
#endif
} VBGLDRIVER;
#ifndef VBGL_VBOXGUEST
/**
* Open VBoxGuest driver.
*
* @param pDriver Pointer to the driver structure.
*
* @return VBox error code
*/
/**
* Call VBoxGuest driver.
*
* @param pDriver Pointer to the driver structure.
* @param u32Function Function code.
* @param cbData Size of data buffer.
*
* @return VBox error code
*/
/**
* Close VBoxGuest driver.
*
* @param pDriver Pointer to the driver structure.
*
* @return VBox error code
*/
#endif
#endif /* __SYSHLP__H */