Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

66 lines
1.6 KiB

/****************************************************************************
*
* thunk.h
*
* macros, defines, prototypes for avicap 16:32 thunks
*
* Copyright (c) 1994 - 1997 Microsoft Corporation. All Rights Reserved.
*
***************************************************************************/
#ifndef _THUNK_H
#define _THUNK_H
typedef LPVOID P16VOID;
typedef DWORD P32VOID;
//#define P16VOID LPVOID
//#define P32VOID DWORD
#include "common.h"
// thunk helpers exported from the kernel
//
DWORD WINAPI GetCurrentProcessID(void); // KERNEL
DWORD WINAPI SetWin32Event(DWORD hEvent); // KERNEL
P16VOID WINAPI MapLS(P32VOID);
P16VOID WINAPI UnMapLS(P16VOID);
P32VOID WINAPI MapSL(P16VOID);
// thunk helpers in thunka.asm
//
DWORD FAR PASCAL capTileBuffer (
DWORD dwLinear,
DWORD dwSize);
#define PTR_FROM_TILE(dwTile) (LPVOID)(dwTile & 0xFFFF0000)
void FAR PASCAL capUnTileBuffer (
DWORD dwTileInfo);
BOOL FAR PASCAL capPageFree (
DWORD dwMemHandle);
typedef struct _cpa_data {
DWORD dwMemHandle;
DWORD dwPhysAddr;
} CPA_DATA, FAR * LPCPA_DATA;
DWORD FAR PASCAL capPageAllocate ( // returns ptr to allocated memory
DWORD dwFlags,
DWORD dwPageCount,
DWORD dwMaxPhysPageMask,
LPCPA_DATA pcpad); // returned mem handle & phys address
// flags for capPageAllocate, same as flags from vmm.inc
//
#define PageUseAlign 0x00000002
#define PageContig 0x00000004
#define PageFixed 0x00000008
#ifdef WIN32
void NTAPI ThunkTerm(void);
BOOL NTAPI ThunkInit(void);
#endif
#endif