diff options
author | Yaniv Kamay <ykamay@redhat.com> | 2009-11-04 13:16:11 +0200 |
---|---|---|
committer | Yaniv Kamay <ykamay@redhat.com> | 2009-11-04 13:16:11 +0200 |
commit | 79ab77ee4247858d44674efe38e9c9859a682b94 (patch) | |
tree | 57bfead98b9a2ad43bdec26e92b7309f99213260 /include |
fresh start
Diffstat (limited to 'include')
-rw-r--r-- | include/os_dep.h | 37 | ||||
-rw-r--r-- | include/qxl_driver.h | 74 | ||||
-rw-r--r-- | include/wdmhelper.h | 34 |
3 files changed, 145 insertions, 0 deletions
diff --git a/include/os_dep.h b/include/os_dep.h new file mode 100644 index 0000000..24a13e9 --- /dev/null +++ b/include/os_dep.h @@ -0,0 +1,37 @@ +/* + Copyright (C) 2009 Red Hat, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef OS_DEP_H +#define OS_DEP_H + +#if (WINVER < 0x0501) //Definitions for Win2K +typedef signed char INT8, *PINT8; +typedef signed short INT16, *PINT16; +typedef signed int INT32, *PINT32; +typedef signed __int64 INT64, *PINT64; +typedef unsigned char UINT8, *PUINT8; +typedef unsigned short UINT16, *PUINT16; +typedef unsigned int UINT32, *PUINT32; +typedef unsigned __int64 UINT64, *PUINT64; + +#define SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA 0x50 + +#define VideoPortFreePool VideoPortReleaseBuffer + +#endif + +#endif diff --git a/include/qxl_driver.h b/include/qxl_driver.h new file mode 100644 index 0000000..b94b749 --- /dev/null +++ b/include/qxl_driver.h @@ -0,0 +1,74 @@ +/* + Copyright (C) 2009 Red Hat, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef _H_QXL_DRIVER +#define _H_QXL_DRIVER + +#include "qxl_dev.h" + +#if (WINVER < 0x0501) +#include "wdmhelper.h" +#endif + +enum { + FIRST_AVIL_IOCTL_FUNC = 0x800, + QXL_GET_INFO_FUNC = FIRST_AVIL_IOCTL_FUNC +}; + +#define IOCTL_QXL_GET_INFO \ + CTL_CODE(FILE_DEVICE_VIDEO, QXL_GET_INFO_FUNC, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define QXL_DRIVER_INFO_VERSION 2 + +typedef struct QXLDriverInfo { + UINT32 version; + QXLCommandRing *cmd_ring; + QXLCursorRing *cursor_ring; + QXLReleaseRing *release_ring; + UINT32 notify_cmd_port; + UINT32 notify_cursor_port; + UINT32 notify_oom_port; + PEVENT display_event; + PEVENT cursor_event; + PEVENT sleep_event; + + UINT32 num_io_pages; + void *io_pages_virt; + UINT64 io_pages_phys; + + UINT8 *draw_area; + UINT32 draw_area_size; + + UINT32 *update_id; + UINT32 *compression_level; + + UINT32 update_area_port; + Rect *update_area; + + UINT32 *mm_clock; + + UINT32 log_port; + UINT8 *log_buf; + UINT32 *log_level; +#if (WINVER < 0x0501) + PQXLWaitForEvent WaitForEvent; +#endif +} QXLDriverInfo; + + +#endif + diff --git a/include/wdmhelper.h b/include/wdmhelper.h new file mode 100644 index 0000000..ac0d6ba --- /dev/null +++ b/include/wdmhelper.h @@ -0,0 +1,34 @@ +/* + Copyright (C) 2009 Red Hat, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef WDM_HELPER_H +#define WDM_HELPER_H + +#include "os_dep.h" + +typedef ULONG (*PQXLWaitForEvent)(PVOID,PLARGE_INTEGER); + +LONG QXLInitializeEvent(PVOID * pEvent); +void QXLSetEvent(PVOID pEvent); +void QXLDeleteEvent(PVOID pEvent); +ULONG QXLWaitForEvent(PVOID pEvent,PLARGE_INTEGER Timeout); + +#define VideoPortDeleteEvent(dev,pEvent) QXLDeleteEvent(pEvent) +#define VideoPortCreateEvent(dev,flag,reserved,ppEvent) QXLInitializeEvent(ppEvent) +#define VideoPortSetEvent(dev,pEvent) QXLSetEvent(pEvent) + +#endif |