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
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
|