source: trunk/src/win32k/include/test.h@ 4347

Last change on this file since 4347 was 4347, checked in by bird, 25 years ago

Implemented tool for generating calltab for kernel imports. (mkcalltab)
Implemented API for accessing memory in another process. (*ProcessReadWrite)
Added kernel imports needed to implemented ProcessReadWrite.
Removed unused kernel imports.

File size: 5.9 KB
Line 
1/* $Id: test.h,v 1.4 2000-10-01 02:58:17 bird Exp $
2 *
3 * Definitions and declarations for test moduls.
4 *
5 * Copyright (c) 2000 knut st. osmundsen (knut.stange.osmundsen@pmsc.no)
6 *
7 * Project Odin Software License can be found in LICENSE.TXT
8 *
9 */
10
11
12#ifndef _test_h_
13#define _test_h_
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19/*******************************************************************************
20* Structures and Typedefs *
21*******************************************************************************/
22typedef struct _TstFaker
23{
24 unsigned uAddress;
25 int fObj; /* 1 = CODE32, 2 = CODE16, 3 = DATA32, 4 = DATA16 */
26} TSTFAKER, *PTSTFAKER, **PPTSTFAKER;
27#ifdef NBR_OF_KRNLIMPORTS
28extern TSTFAKER aTstFakers[NBR_OF_KRNLIMPORTS];
29#endif
30
31/*******************************************************************************
32* Function Prototypes. *
33*******************************************************************************/
34VOID _Optlink ThunkStack32To16(VOID); /* dh.asm */
35VOID _Optlink ThunkStack16To32(VOID); /* dh.asm */
36VOID _Optlink dhinit(VOID); /* dh.asm */
37ULONG _Optlink getDHRouterFarPtr(VOID); /* dh.asm */
38ULONG _Optlink InitElf(PVOID); /* init.asm */
39ULONG _Optlink InitWin32k(PVOID); /* init.asm */
40ULONG _Optlink CalltkExecPgm(ULONG execFlags, PCSZ pArg, PCSZ pEnv, PCSZ pExecName); /* fakea.asm */
41
42USHORT _Optlink GetSelectorCODE16(void);
43USHORT _Optlink GetSelectorDATA16(void);
44USHORT _Optlink GetSelectorCODE32(void);
45USHORT _Optlink GetSelectorDATA32(void);
46
47
48#ifndef INCL_NO_FAKE
49/* fake functions */
50ULONG LDRCALL fakeldrOpen(PSFN phFile, PSZ pszFilename, PULONG pfl);
51ULONG LDRCALL fakeldrClose(SFN hFile);
52ULONG LDRCALL fakeldrRead(SFN hFile, ULONG ulOffset, PVOID pvBuffer, ULONG fpBuffer, ULONG cbToRead, PMTE pMTE);
53ULONG LDRCALL fakeLDRQAppType(PSZ pszFilename, PULONG pul);
54ULONG LDRCALL fakeldrEnum32bitRelRecs(
55 PMTE pMTE,
56 ULONG iObject,
57 ULONG iPageTable,
58 PVOID pvPage,
59 ULONG ulPageAddress,
60 PVOID pvPTDA
61 );
62ULONG LDRCALL fakeldrSetVMflags(
63 PMTE pMTE,
64 ULONG flObj,
65 PULONG pflFlags1,
66 PULONG pflFlags2
67 );
68
69APIRET KRNLCALL fakeIOSftOpen(
70 PSZ pszFilename,
71 ULONG flOpenFlags,
72 ULONG fsOpenMode,
73 PSFN phFile,
74 PULONG pulsomething
75 );
76APIRET KRNLCALL fakeIOSftClose(
77 SFN hFile
78 );
79APIRET KRNLCALL fakeIOSftTransPath(
80 PSZ pszPath
81 );
82APIRET KRNLCALL fakeIOSftReadAt(
83 SFN hFile,
84 PULONG pcbActual,
85 PVOID pvBuffer,
86 ULONG fpBuffer,
87 ULONG ulOffset
88 );
89APIRET KRNLCALL fakeIOSftWriteAt(
90 SFN hFile,
91 PULONG pcbActual,
92 PVOID pvBuffer,
93 ULONG fpBuffer,
94 ULONG ulOffset
95 );
96APIRET KRNLCALL fakeSftFileSize(
97 SFN hFile,
98 PULONG pcbFile
99 );
100HMTE KRNLCALL fakeVMGetOwner(
101 ULONG ulCS,
102 ULONG ulEIP);
103APIRET KRNLCALL fakeVMAllocMem(
104 ULONG cbSize,
105 ULONG cbCommit,
106 ULONG flFlags1,
107 HPTDA hPTDA,
108 USHORT usVMOwnerId,
109 HMTE hMTE,
110 ULONG flFlags2,
111 ULONG SomeArg2,
112 PVMAC pvmac);
113APIRET KRNLCALL fakeVMFreeMem(
114 PVOID pv,
115 USHORT hPTDA,
116 ULONG flFlags
117 );
118APIRET KRNLCALL fakeVMObjHandleInfo(
119 USHORT usHob,
120 PULONG pulAddr,
121 PUSHORT pushPTDA);
122PMTE KRNLCALL fakeldrASMpMTEFromHandle(
123 HMTE hMTE);
124APIRET KRNLCALL fakeVMMapDebugAlias(
125 ULONG flVMFlags,
126 ULONG ulAddress,
127 ULONG cbSize,
128 HPTDA hPTDA,
129 PVMAC pvmac);
130
131ULONG LDRCALL fakeldrOpenPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
132ULONG LDRCALL fakeldrOpenPath_new(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
133ULONG LDRCALL fakeldrOpenPath_old(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful);
134ULONG LDRCALL fakeLDRClearSem(void);
135ULONG LDRCALL fakeldrFindModule(PCHAR pachFilename, USHORT cchFilename, USHORT usClass, PPMTE ppMTE);
136ULONG KRNLCALL fakeKSEMRequestMutex(HKSEMMTX hkmtx, ULONG ulTimeout);
137ULONG KRNLCALL fakeKSEMReleaseMutex(HKSEMMTX hkmtx);
138BOOL KRNLCALL fakeKSEMQueryMutex(HKSEMMTX hkmtx, PUSHORT pcusNest);
139VOID KRNLCALL fakeKSEMInit(PKSEM pksem, ULONG fulType, ULONG fulFlags);
140extern KSEMMTX fakeLdrSem;
141extern char * fakeLDRLibPath;
142ULONG KRNLCALL fakeTKFuBuff(PVOID pv, PVOID pvUsr, ULONG cb, ULONG fl);
143ULONG KRNLCALL fakeTKSuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
144ULONG KRNLCALL fakeTKFuBufLen(PLONG pcch, PVOID pvUsr, ULONG cchMax, ULONG fl, BOOL fDblNULL);
145ULONG KRNLCALL fakeTKSuFuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
146ULONG KRNLCALL fakeTKPidToPTDA(PID pid, PPPTDA ppPTDA);
147PMTE LDRCALL fakeldrValidateMteHandle(HMTE hMTE);
148PSZ SECCALL fakeSecPathFromSFN(SFN hFile);
149void _Optlink fakeg_tkExecPgm(void); /* Not callable! (fakea.asm) */
150void _Optlink faketkStartProcess(void); /* Not callable! (fakea.asm) */
151void _Optlink fakef_FuStrLenZ(void); /* Not callable! (fakea.asm) */
152void _Optlink fakef_FuStrLen(void); /* Not callable! (fakea.asm) */
153void _Optlink fakef_FuBuff(void); /* Not callable! (fakea.asm) */
154extern PTCB fakepTCBCur;
155extern PPTDA fakepPTDACur;
156extern char fakeptda_start;
157extern USHORT fakeptda_environ;
158extern KSEMMTX fakeptda_ptdasem;
159extern HMTE fakeptda_handle;
160extern HMTE fakeptda_module;
161extern PSZ fakeptda_pBeginLIBPATH;
162extern PSZ fakeldrpFileNameBuf;
163
164#endif /* INCL_NO_FAKE */
165
166#ifdef INCL_16
167extern USHORT usFakeVerMajor; /* define in probkrnl.c */
168extern USHORT usFakeVerMinor; /* define in probkrnl.c */
169#else
170extern USHORT _usFakeVerMajor;
171extern USHORT _usFakeVerMinor;
172#endif
173
174#ifdef _OS2Krnl_h_
175extern int cObjectsFake; /* defined in win32ktst.c */
176extern OTE aKrnlOTE[24]; /* defined in win32ktst.c */
177#endif
178
179#ifdef __cplusplus
180}
181#endif
182
183#endif
Note: See TracBrowser for help on using the repository browser.