9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * VBox video port functions header
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync * Copyright (C) 2011-2012 Oracle Corporation
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * available from http://www.virtualbox.org. This file is free software;
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * you can redistribute it and/or modify it under the terms of the GNU
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * General Public License (GPL) as published by the Free Software
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* To maintain binary backward compatibility with older windows versions
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * we query at runtime for video port functions which are not present in NT 4.0
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * Those could used in the display driver also.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/*Basic datatypes*/
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef struct _VIDEO_PORT_SPIN_LOCK *VBOXPSPIN_LOCK;
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/*VideoPort API functions*/
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef VBOXVP_STATUS (*PFNWAITFORSINGLEOBJECT) (void* HwDeviceExtension, void* Object, VBOXPLARGE_INTEGER Timeout);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef long (*PFNSETEVENT) (void* HwDeviceExtension, VBOXPEVENT pEvent);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef void (*PFNCLEAREVENT) (void* HwDeviceExtension, VBOXPEVENT pEvent);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef VBOXVP_STATUS (*PFNCREATEEVENT) (void* HwDeviceExtension, unsigned long EventFlag, void* Unused, VBOXPEVENT *ppEvent);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef VBOXVP_STATUS (*PFNDELETEEVENT) (void* HwDeviceExtension, VBOXPEVENT pEvent);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef void* (*PFNALLOCATEPOOL) (void* HwDeviceExtension, VBOXVP_POOL_TYPE PoolType, size_t NumberOfBytes, unsigned long Tag);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef void (*PFNFREEPOOL) (void* HwDeviceExtension, void* Ptr);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef unsigned char (*PFNQUEUEDPC) (void* HwDeviceExtension, void (*CallbackRoutine)(void* HwDeviceExtension, void *Context), void *Context);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsynctypedef VBOXVP_STATUS (*PFNCREATESECONDARYDISPLAY)(void* HwDeviceExtension, void* SecondaryDeviceExtension, unsigned long ulFlag);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* pfn*Event and pfnWaitForSingleObject functions are available */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* pfn*Pool functions are available */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* pfnQueueDpc function is available */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* pfnCreateSecondaryDisplay function is available */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync /* ored VBOXVIDEOPORTPROCS_xxx constants describing the supported functionality */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync PFNCREATESECONDARYDISPLAY pfnCreateSecondaryDisplay;
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#endif /*VBOXVIDEOPORTAPI_H*/