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

Last change on this file since 8266 was 6285, checked in by bird, 24 years ago

Prototyped new kernel APIs.

File size: 8.2 KB
Line 
1/* $Id: test.h,v 1.10 2001-07-10 05:24:18 bird Exp $
2 *
3 * Definitions and declarations for test moduls.
4 *
5 * Copyright (c) 2000 knut st. osmundsen (knut.stange.osmundsen@mynd.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);
130APIRET KRNLCALL fakeVMCreatePseudoHandle(
131 PVOID pvData,
132 VMHOB usOwner,
133 PVMHOB phob);
134APIRET KRNLCALL fakeVMFreePseudoHandle(
135 VMHOB hob);
136
137
138ULONG LDRCALL fakeldrOpenPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
139ULONG LDRCALL fakeldrOpenPath_new(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
140ULONG LDRCALL fakeldrOpenPath_old(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful);
141ULONG LDRCALL fakeLDRClearSem(void);
142ULONG LDRCALL fakeldrFindModule(PCHAR pachFilename, USHORT cchFilename, USHORT usClass, PPMTE ppMTE);
143
144ULONG LDRCALL fakeldrCheckInternalName(PMTE pMTE);
145ULONG LDRCALL fakeldrTransPath(PSZ pszFilename);
146ULONG LDRCALL fakeldrGetFileName(PSZ pszFilename, PCHAR *ppchName, PCHAR *ppchExt);
147VOID LDRCALL fakeldrUCaseString(PCHAR pachString, unsigned cchString);
148
149ULONG KRNLCALL fakeKSEMRequestMutex(HKSEMMTX hkmtx, ULONG ulTimeout);
150ULONG KRNLCALL fakeKSEMReleaseMutex(HKSEMMTX hkmtx);
151BOOL KRNLCALL fakeKSEMQueryMutex(HKSEMMTX hkmtx, PUSHORT pcusNest);
152VOID KRNLCALL fakeKSEMInit(PKSEM pksem, ULONG fulType, ULONG fulFlags);
153extern KSEMMTX fakeLdrSem;
154extern char * fakeLDRLibPath;
155ULONG KRNLCALL fakeTKFuBuff(PVOID pv, PVOID pvUsr, ULONG cb, ULONG fl);
156ULONG KRNLCALL fakeTKSuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
157ULONG KRNLCALL fakeTKFuBufLen(PLONG pcch, PVOID pvUsr, ULONG cchMax, ULONG fl, BOOL fDblNULL);
158ULONG KRNLCALL fakeTKSuFuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
159ULONG KRNLCALL fakeTKPidToPTDA(PID pid, PPPTDA ppPTDA);
160void KRNLCALL fakeTKForceThread(ULONG flFlag, PTCB pTCB);
161void KRNLCALL fakeTKForceTask(ULONG flFlag, PPTDA pPTDA, BOOL fForce);
162ULONG KRNLCALL fakeTKGetPriority(PTCB pTCB);
163ULONG KRNLCALL fakeTKSleep(ULONG ulSleepId, ULONG ulTimeout, ULONG fUnInterruptable, ULONG flWakeupType);
164ULONG KRNLCALL fakeTKWakeup(ULONG ulSleepId, ULONG flWakeupType, PULONG cWakedUp);
165ULONG KRNLCALL fakeTKWakeThread(PTCB pTCB);
166PTCB KRNLCALL fakeTKQueryWakeup(ULONG ulSleepId, ULONG flWakeupType);
167
168PMTE LDRCALL fakeldrValidateMteHandle(HMTE hMTE);
169PSZ SECCALL fakeSecPathFromSFN(SFN hFile);
170ULONG KRNLCALL fakePGPhysAvail(void);
171ULONG KRNLCALL fakePGPhysPresent(void);
172VOID KRNLCALL fakevmRecalcShrBound(ULONG flFlags, PULONG pulSentinelAddress);
173
174void _Optlink fakeg_tkExecPgm(void); /* Not callable! (fakea.asm) */
175void _Optlink faketkStartProcess(void); /* Not callable! (fakea.asm) */
176void _Optlink fakef_FuStrLenZ(void); /* Not callable! (fakea.asm) */
177void _Optlink fakef_FuStrLen(void); /* Not callable! (fakea.asm) */
178void _Optlink fakef_FuBuff(void); /* Not callable! (fakea.asm) */
179void _Optlink fakedh_SendEvent(void); /* Not callable! (fakea.asm) */
180void _Optlink fakeh_POST_SIGNAL(void); /* Not callable! (fakea.asm) */
181void _Optlink fakeRASRST(void); /* Not callable! (fakea.asm) */
182void _Optlink fakeKMEnterKmodeSEF(void); /* Not callable! (fakea.asm) */
183void _Optlink fakeKMExitKmodeSEF8(void); /* Not callable! (fakea.asm) */
184extern PTCB fakepTCBCur;
185extern PPTDA fakepPTDACur;
186extern char fakeptda_start;
187extern USHORT fakeptda_environ;
188extern KSEMMTX fakeptda_ptdasem;
189extern HMTE fakeptda_handle;
190extern HMTE fakeptda_module;
191extern PSZ fakeptda_pBeginLIBPATH;
192extern PSZ fakeldrpFileNameBuf;
193extern PMTE fakemte_h;
194extern PMTE fakeglobal_h;
195extern PMTE fakeglobal_l;
196extern PMTE fakespecific_h;
197extern PMTE fakespecific_l;
198extern PMTE fakeprogram_h;
199extern PMTE fakeprogram_l;
200
201extern ULONG fakeSMcDFInuse;
202extern ULONG fakesmFileSize;
203extern ULONG fakeSMswapping;
204extern ULONG fakesmcBrokenDF;
205extern ULONG fakepgPhysPages;
206extern ULONG fakeSMcInMemFile;
207extern ULONG fakeSMCFGMinFree;
208extern ULONG fakesmcGrowFails;
209extern ULONG fakePGSwapEnabled;
210extern ULONG fakepgcPageFaults;
211extern ULONG fakeSMCFGSwapSize;
212extern ULONG fakepgResidentPages;
213extern ULONG fakepgSwappablePages;
214extern ULONG fakepgDiscardableInmem;
215extern ULONG fakepgDiscardablePages;
216extern ULONG fakeSMMinFree;
217extern ULONG fakepgcPageFaultsActive;
218extern ULONG fakepgPhysMax;
219extern ULONG fakeVirtualAddressLimit;
220
221extern VMAH fakeahvmShr;
222extern VMAH fakeahvmSys;
223extern VMAH fakeahvmhShr;
224
225#endif /* INCL_NO_FAKE */
226
227#ifdef INCL_16
228extern USHORT usFakeVerMajor; /* define in probkrnl.c */
229extern USHORT usFakeVerMinor; /* define in probkrnl.c */
230#else
231extern USHORT _usFakeVerMajor;
232extern USHORT _usFakeVerMinor;
233#endif
234
235#ifdef _OS2Krnl_h_
236extern int cObjectsFake; /* defined in win32ktst.c */
237extern OTE aKrnlOTE[24]; /* defined in win32ktst.c */
238#endif
239
240#ifdef __cplusplus
241}
242#endif
243
244#endif
Note: See TracBrowser for help on using the repository browser.