diff options
author | ben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-04-06 15:20:49 +0000 |
---|---|---|
committer | ben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-04-06 15:20:49 +0000 |
commit | 51ba40dcd64518c8d5f9ce586171c8fb347a42c0 (patch) | |
tree | 590b1ce6d17f2126b67d1a5cb1576cdd7e8dea5c /libdha/sysdep/libdha_win32.c | |
parent | 3099d0da16505cbc0aaab34f9299404e9ec19241 (diff) | |
download | mpv-51ba40dcd64518c8d5f9ce586171c8fb347a42c0.tar.bz2 mpv-51ba40dcd64518c8d5f9ce586171c8fb347a42c0.tar.xz |
merged libdha and libvidix, moved all files from libdha to vidix directory
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22918 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libdha/sysdep/libdha_win32.c')
-rw-r--r-- | libdha/sysdep/libdha_win32.c | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/libdha/sysdep/libdha_win32.c b/libdha/sysdep/libdha_win32.c deleted file mode 100644 index 0a151b0637..0000000000 --- a/libdha/sysdep/libdha_win32.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - MAPDEV.h - include file for VxD MAPDEV - Copyright (c) 1996 Vireo Software, Inc. - Modified for libdha by Nick Kurshev. -*/ - -#include <windows.h> -#include <ddk/ntddk.h> -#include "../dhahelperwin/dhahelper.h" - -/* - This is the request structure that applications use - to request services from the MAPDEV VxD. -*/ - -typedef struct _MapDevRequest -{ - DWORD mdr_ServiceID; /* supplied by caller */ - LPVOID mdr_PhysicalAddress; /* supplied by caller */ - DWORD mdr_SizeInBytes; /* supplied by caller */ - LPVOID mdr_LinearAddress; /* returned by VxD */ - WORD mdr_Selector; /* returned if 16-bit caller */ - WORD mdr_Status; /* MDR_xxxx code below */ -} MAPDEVREQUEST, *PMAPDEVREQUEST; - -#define MDR_SERVICE_MAP CTL_CODE(FILE_DEVICE_UNKNOWN, 1, METHOD_NEITHER, FILE_ANY_ACCESS) -#define MDR_SERVICE_UNMAP CTL_CODE(FILE_DEVICE_UNKNOWN, 2, METHOD_NEITHER, FILE_ANY_ACCESS) - -#define MDR_STATUS_SUCCESS 1 -#define MDR_STATUS_ERROR 0 -/*#include "winioctl.h"*/ -#define FILE_DEVICE_UNKNOWN 0x00000022 -#define METHOD_NEITHER 3 -#define FILE_ANY_ACCESS 0 -#define CTL_CODE( DeviceType, Function, Method, Access ) ( \ - ((DeviceType)<<16) | ((Access)<<14) | ((Function)<<2) | (Method) ) - - -int IsWinNT(){ - OSVERSIONINFO OSVersionInfo; - OSVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&OSVersionInfo); - return OSVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT; -} - -static HANDLE hDriver = INVALID_HANDLE_VALUE; - - -/* Memory Map a piece of Real Memory */ -void *map_phys_mem(unsigned long base, unsigned long size) { - if(!IsWinNT()){ - HANDLE hDevice ; - PVOID inBuf[1] ; /* buffer for struct pointer to VxD */ - DWORD RetInfo[2] ; /* buffer to receive data from VxD */ - DWORD cbBytesReturned ; /* count of bytes returned from VxD */ - MAPDEVREQUEST req ; /* map device request structure */ - DWORD *pNicstar, Status, Time ; int i ; char *endptr ; - const PCHAR VxDName = "\\\\.\\MAPDEV.VXD" ; - const PCHAR VxDNameAlreadyLoaded = "\\\\.\\MAPDEV" ; - - hDevice = CreateFile(VxDName, 0,0,0, - CREATE_NEW, FILE_FLAG_DELETE_ON_CLOSE, 0) ; - if (hDevice == INVALID_HANDLE_VALUE) - hDevice = CreateFile(VxDNameAlreadyLoaded, 0,0,0, - CREATE_NEW, FILE_FLAG_DELETE_ON_CLOSE, 0) ; - if (hDevice == INVALID_HANDLE_VALUE) { - fprintf(stderr, "Cannot open driver, error=%08lx\n", GetLastError()) ; - exit(1) ; } - - req.mdr_ServiceID = MDR_SERVICE_MAP ; - req.mdr_PhysicalAddress = (PVOID)base ; - req.mdr_SizeInBytes = size ; - inBuf[0] = &req ; - - if ( ! DeviceIoControl(hDevice, MDR_SERVICE_MAP, inBuf, sizeof(PVOID), - NULL, 0, &cbBytesReturned, NULL) ) { - fprintf(stderr, "Failed to map device\n") ; exit(1) ; } - - return (void*)req.mdr_LinearAddress ; - } - else{ - dhahelper_t dhahelper_priv; - DWORD dwBytesReturned; - dhahelper_priv.size = size; - dhahelper_priv.base = base; - if(hDriver==INVALID_HANDLE_VALUE)hDriver = CreateFile("\\\\.\\DHAHELPER",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); - if (!DeviceIoControl(hDriver, IOCTL_DHAHELPER_MAPPHYSTOLIN, &dhahelper_priv,sizeof(dhahelper_t), &dhahelper_priv, sizeof(dhahelper_t),&dwBytesReturned, NULL)){ - fprintf(stderr,"Unable to map the requested memory region.\n"); - return NULL; - } - else return dhahelper_priv.ptr; - } -} - -void unmap_phys_mem(void *ptr, unsigned long size) { - if(IsWinNT()){ - dhahelper_t dhahelper_priv; - DWORD dwBytesReturned; - dhahelper_priv.ptr = ptr; - DeviceIoControl(hDriver, IOCTL_DHAHELPER_UNMAPPHYSADDR, &dhahelper_priv,sizeof(dhahelper_t), NULL, 0, &dwBytesReturned, NULL); - } -} |