SysHlp.h revision 44dc5c86673574b949626732d11c1e5da0471326
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * VBoxGuestLib - A support library for VirtualBox guest additions:
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * System dependent helpers internal header
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * Copyright (C) 2006 InnoTek Systemberatung GmbH
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * available from http://www.virtualbox.org. This file is free software;
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * you can redistribute it and/or modify it under the terms of the GNU
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * General Public License as published by the Free Software Foundation,
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * distribution. VirtualBox OSE is distributed in the hope that it will
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * be useful, but WITHOUT ANY WARRANTY of any kind.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * If you received this file as part of a commercial VirtualBox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * distribution, then only the terms of your commercial VirtualBox
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * license agreement apply instead of the previous paragraph.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# if (_MSC_VER >= 1400) && !defined(VBOX_WITH_PATCHED_DDK)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# define _InterlockedExchange _InterlockedExchange_StupidDDKVsCompilerCrap
943d182735b76ecae26ea011cb7b87e449aafea8vboxsync# define _InterlockedExchangeAdd _InterlockedExchangeAdd_StupidDDKVsCompilerCrap
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# define _InterlockedCompareExchange _InterlockedCompareExchange_StupidDDKVsCompilerCrap
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# define _InterlockedAddLargeStatistic _InterlockedAddLargeStatistic_StupidDDKVsCompilerCrap
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync/* XP DDK #defines ExFreePool to ExFreePoolWithTag. The latter does not exist on NT4, so... */
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsynctypedef struct _VBGLDRIVER
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#else /* !__WIN__ */
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#endif /* !__WIN__ */
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * Open VBoxGuest driver.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * @param pDriver Pointer to the driver structure.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * @return VBox error code
58b7773f17a933ab8d53f450bed0afcf2f003508vboxsync * Call VBoxGuest driver.
c48c4d769ded37e2496f97dddbbd36dc62f244b1vboxsync * @param pDriver Pointer to the driver structure.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * @param u32Function Function code.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * @param pvData Pointer to supplied in/out data buffer.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * @param cbData Size of data buffer.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * @return VBox error code
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncint vbglDriverIOCtl (VBGLDRIVER *pDriver, uint32_t u32Function, void *pvData, uint32_t cbData);
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * Close VBoxGuest driver.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * @param pDriver Pointer to the driver structure.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync * @return VBox error code
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#endif /* __SYSHLP__H */