source: trunk/src/win32k/kKrnlLib/include/testcase.h

Last change on this file was 7390, checked in by bird, 24 years ago

Added iTestcaseNo as global variable.

File size: 9.5 KB
Line 
1/* $Id: testcase.h,v 1.4 2001-11-19 03:10:22 bird Exp $
2 *
3 * Definitions and declarations for testcase moduls.
4 *
5 * Copyright (c) 2000-2001 knut st. osmundsen (kosmunds@csc.com)
6 *
7 * Project Odin Software License can be found in LICENSE.TXT
8 *
9 */
10
11
12#ifndef _testcase_h_
13#define _testcase_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* Global Variables *
33*******************************************************************************/
34extern int iTestcaseNo;
35
36
37/*******************************************************************************
38* Function Prototypes. *
39*******************************************************************************/
40VOID _Optlink ThunkStack32To16(VOID); /* dh.asm */
41VOID _Optlink ThunkStack16To32(VOID); /* dh.asm */
42VOID _Optlink dhinit(VOID); /* dh.asm */
43ULONG _Optlink getDHRouterFarPtr(VOID); /* dh.asm */
44ULONG _Optlink InitkKrnlHlp(PVOID); /* init.asm */
45ULONG _Optlink InitkKrnlLib(PVOID); /* init.asm */
46ULONG _Optlink CalltkExecPgm(ULONG execFlags, PCSZ pArg, PCSZ pEnv, PCSZ pExecName); /* fakea.asm */
47
48USHORT _Optlink GetSelectorCODE16(void);
49USHORT _Optlink GetSelectorDATA16(void);
50USHORT _Optlink GetSelectorCODE32(void);
51USHORT _Optlink GetSelectorDATA32(void);
52
53
54#ifndef INCL_NO_FAKE
55/* fake functions */
56ULONG LDRCALL fakeldrOpen(PSFN phFile, PSZ pszFilename, PULONG pfl);
57ULONG LDRCALL fakeldrClose(SFN hFile);
58ULONG LDRCALL fakeldrRead(SFN hFile, ULONG ulOffset, PVOID pvBuffer, ULONG fpBuffer, ULONG cbToRead, PMTE pMTE);
59ULONG LDRCALL fakeLDRQAppType(PSZ pszFilename, PULONG pul);
60ULONG LDRCALL fakeldrEnum32bitRelRecs(
61 PMTE pMTE,
62 ULONG iObject,
63 ULONG iPageTable,
64 PVOID pvPage,
65 ULONG ulPageAddress,
66 PVOID pvPTDA
67 );
68ULONG LDRCALL fakeldrSetVMflags(
69 PMTE pMTE,
70 ULONG flObj,
71 PULONG pflFlags1,
72 PULONG pflFlags2
73 );
74
75APIRET KRNLCALL fakeIOSftOpen(
76 PSZ pszFilename,
77 ULONG flOpenFlags,
78 ULONG fsOpenMode,
79 PSFN phFile,
80 PULONG pulsomething
81 );
82APIRET KRNLCALL fakeIOSftClose(
83 SFN hFile
84 );
85APIRET KRNLCALL fakeIOSftTransPath(
86 PSZ pszPath
87 );
88APIRET KRNLCALL fakeIOSftReadAt(
89 SFN hFile,
90 PULONG pcbActual,
91 PVOID pvBuffer,
92 ULONG fpBuffer,
93 ULONG ulOffset
94 );
95APIRET KRNLCALL fakeIOSftWriteAt(
96 SFN hFile,
97 PULONG pcbActual,
98 PVOID pvBuffer,
99 ULONG fpBuffer,
100 ULONG ulOffset
101 );
102APIRET KRNLCALL fakeSftFileSize(
103 SFN hFile,
104 PULONG pcbFile
105 );
106HMTE KRNLCALL fakeVMGetOwner(
107 ULONG ulCS,
108 ULONG ulEIP);
109APIRET KRNLCALL fakeVMAllocMem(
110 ULONG cbSize,
111 ULONG cbCommit,
112 ULONG flFlags1,
113 HPTDA hPTDA,
114 USHORT usVMOwnerId,
115 HMTE hMTE,
116 ULONG flFlags2,
117 ULONG SomeArg2,
118 PVMAC pvmac);
119APIRET KRNLCALL fakeVMFreeMem(
120 PVOID pv,
121 USHORT hPTDA,
122 ULONG flFlags
123 );
124APIRET KRNLCALL fakeVMObjHandleInfo(
125 USHORT usHob,
126 PULONG pulAddr,
127 PUSHORT pushPTDA);
128PMTE KRNLCALL fakeldrASMpMTEFromHandle(
129 HMTE hMTE);
130APIRET KRNLCALL fakeVMMapDebugAlias(
131 ULONG flVMFlags,
132 ULONG ulAddress,
133 ULONG cbSize,
134 HPTDA hPTDA,
135 PVMAC pvmac);
136APIRET KRNLCALL fakeVMCreatePseudoHandle(
137 PVOID pvData,
138 VMHOB usOwner,
139 PVMHOB phob);
140APIRET KRNLCALL fakeVMFreePseudoHandle(
141 VMHOB hob);
142
143
144ULONG LDRCALL fakeldrOpenPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
145ULONG LDRCALL fakeldrOpenPath_new(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
146ULONG LDRCALL fakeldrOpenPath_old(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful);
147ULONG LDRCALL fakeLDRClearSem(void);
148ULONG LDRCALL fakeldrFindModule(PCHAR pachFilename, USHORT cchFilename, USHORT usClass, PPMTE ppMTE);
149
150ULONG LDRCALL fakeldrCheckInternalName(PMTE pMTE);
151ULONG LDRCALL fakeldrTransPath(PSZ pszFilename);
152ULONG LDRCALL fakeldrGetFileName(PSZ pszFilename, PCHAR *ppchName, PCHAR *ppchExt);
153VOID LDRCALL fakeldrUCaseString(PCHAR pachString, unsigned cchString);
154PMTE LDRCALL fakeldrValidateMteHandle(HMTE hMTE);
155ULONG LDRCALL fakeldrGetOrdNum(PMTE pMTE, PSZ pszExportName, PUSHORT pusOrdinal);
156ULONG LDRCALL fakeldrWasLoadModuled(HMTE hmte, PPTDA pptda, PULONG pcUsage);
157ULONG LDRCALL fakeLDRGetProcAddr(HMTE hmte, ULONG ulOrdinal, PCSZ pszName, PULONG pulAddress, BOOL fFlat, PULONG pulProcType);
158void KRNLCALL fakeLDRFreeTask(PPTDA pPTDA);
159
160ULONG KRNLCALL fakeKSEMRequestMutex(HKSEMMTX hkmtx, ULONG ulTimeout);
161ULONG KRNLCALL fakeKSEMReleaseMutex(HKSEMMTX hkmtx);
162BOOL KRNLCALL fakeKSEMQueryMutex(HKSEMMTX hkmtx, PUSHORT pcusNest);
163VOID KRNLCALL fakeKSEMInit(PKSEM pksem, ULONG fulType, ULONG fulFlags);
164ULONG KRNLCALL fakeKSEMRequestExclusive(HKSEMSHR hkshr, ULONG ulTimeout);
165ULONG KRNLCALL fakeKSEMRequestShared(HKSEMSHR hkshr, ULONG ulTimeout);
166VOID KRNLCALL fakeKSEMRelease(HKSEM hksem);
167VOID KRNLCALL fakeKSEMQuery(HKSEM hksem, PULONG pul);
168VOID KRNLCALL fakeKSEMResetEvent(HKSEMEVT hkev);
169VOID KRNLCALL fakeKSEMPostEvent(HKSEMEVT hkev);
170ULONG KRNLCALL fakeKSEMWaitEvent(HKSEMEVT hkev, ULONG ulTimeout);
171
172
173extern KSEMMTX fakeLdrSem;
174extern char * fakeLDRLibPath;
175ULONG KRNLCALL fakeTKFuBuff(PVOID pv, PVOID pvUsr, ULONG cb, ULONG fl);
176ULONG KRNLCALL fakeTKSuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
177ULONG KRNLCALL fakeTKFuBufLen(PLONG pcch, PVOID pvUsr, ULONG cchMax, ULONG fl, BOOL fDblNULL);
178ULONG KRNLCALL fakeTKSuFuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
179ULONG KRNLCALL fakeTKPidToPTDA(PID pid, PPPTDA ppPTDA);
180ULONG KRNLCALL fakeTKScanTasks(ULONG flFlags, ULONG id, PTKSCANTASKWORKER pfnWorker, ULONG ulArg);
181void KRNLCALL fakeTKForceThread(ULONG flFlag, PTCB pTCB);
182void KRNLCALL fakeTKForceTask(ULONG flFlag, PPTDA pPTDA, BOOL fForce);
183ULONG KRNLCALL fakeTKGetPriority(PTCB pTCB);
184ULONG KRNLCALL fakeTKSleep(ULONG ulSleepId, ULONG ulTimeout, ULONG fUnInterruptable, ULONG flWakeupType);
185ULONG KRNLCALL fakeTKWakeup(ULONG ulSleepId, ULONG flWakeupType, PULONG cWakedUp);
186ULONG KRNLCALL fakeTKWakeThread(PTCB pTCB);
187PTCB KRNLCALL fakeTKQueryWakeup(ULONG ulSleepId, ULONG flWakeupType);
188
189PSZ SECCALL fakeSecPathFromSFN(SFN hFile);
190ULONG KRNLCALL fakePGPhysAvail(void);
191ULONG KRNLCALL fakePGPhysPresent(void);
192VOID KRNLCALL fakevmRecalcShrBound(ULONG flFlags, PULONG pulSentinelAddress);
193
194PVOID KRNLCALL fakeSELVirtToLin(ULONG ulOffset, USHORT usSel);
195PVOID KRNLCALL fakeSELConvertToLinear(USHORT usSel, PPTDA pPTDA);
196USHORT KRNLCALL fakeSELConvertToSelector(PVOID pv, ULONG ulRPL, HPTDA hPTDA);
197ULONG KRNLCALL fakeSELAllocGDT(PUSHORT pusSel);
198
199void _Optlink fakeg_tkExecPgm(void); /* Not callable! (fakea.asm) */
200void _Optlink faketkStartProcess(void); /* Not callable! (fakea.asm) */
201void _Optlink fakef_FuStrLenZ(void); /* Not callable! (fakea.asm) */
202void _Optlink fakef_FuStrLen(void); /* Not callable! (fakea.asm) */
203void _Optlink fakef_FuBuff(void); /* Not callable! (fakea.asm) */
204void _Optlink fakedh_SendEvent(void); /* Not callable! (fakea.asm) */
205void _Optlink fakeh_POST_SIGNAL(void); /* Not callable! (fakea.asm) */
206void _Optlink fakeRASRST(void); /* Not callable! (fakea.asm) */
207void _Optlink fakeKMEnterKmodeSEF(void); /* Not callable! (fakea.asm) */
208void _Optlink fakeKMExitKmodeSEF8(void); /* Not callable! (fakea.asm) */
209extern PTCB fakepTCBCur;
210extern PPTDA fakepPTDACur;
211extern char fakeptda_start;
212extern USHORT fakeptda_environ;
213extern KSEMMTX fakeptda_ptdasem;
214extern HMTE fakeptda_handle;
215extern HMTE fakeptda_module;
216extern PSZ fakeptda_pBeginLIBPATH;
217extern PSZ fakeldrpFileNameBuf;
218extern PMTE fakemte_h;
219extern PMTE fakeglobal_h;
220extern PMTE fakeglobal_l;
221extern PMTE fakespecific_h;
222extern PMTE fakespecific_l;
223extern PMTE fakeprogram_h;
224extern PMTE fakeprogram_l;
225
226extern ULONG fakeSMcDFInuse;
227extern ULONG fakesmFileSize;
228extern ULONG fakeSMswapping;
229extern ULONG fakesmcBrokenDF;
230extern ULONG fakepgPhysPages;
231extern ULONG fakeSMcInMemFile;
232extern ULONG fakeSMCFGMinFree;
233extern ULONG fakesmcGrowFails;
234extern ULONG fakePGSwapEnabled;
235extern ULONG fakepgcPageFaults;
236extern ULONG fakeSMCFGSwapSize;
237extern ULONG fakepgResidentPages;
238extern ULONG fakepgSwappablePages;
239extern ULONG fakepgDiscardableInmem;
240extern ULONG fakepgDiscardablePages;
241extern ULONG fakeSMMinFree;
242extern ULONG fakepgcPageFaultsActive;
243extern ULONG fakepgPhysMax;
244extern ULONG fakeVirtualAddressLimit;
245
246extern VMAH fakeahvmShr;
247extern VMAH fakeahvmSys;
248extern VMAH fakeahvmhShr;
249
250#endif /* INCL_NO_FAKE */
251
252#ifdef INCL_16
253extern USHORT usFakeVerMajor; /* define in probkrnl.c */
254extern USHORT usFakeVerMinor; /* define in probkrnl.c */
255#else
256extern USHORT _usFakeVerMajor;
257extern USHORT _usFakeVerMinor;
258#endif
259
260#ifdef _OS2Krnl_h_
261extern int cObjectsFake; /* defined in win32ktst.c */
262extern OTE aKrnlOTE[24]; /* defined in win32ktst.c */
263#endif
264
265#ifdef __cplusplus
266}
267#endif
268
269#endif
Note: See TracBrowser for help on using the repository browser.