1 | /* $Id: test.h,v 1.6 2000-12-16 23:04:51 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
|
---|
16 | extern "C" {
|
---|
17 | #endif
|
---|
18 |
|
---|
19 | /*******************************************************************************
|
---|
20 | * Structures and Typedefs *
|
---|
21 | *******************************************************************************/
|
---|
22 | typedef 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
|
---|
28 | extern TSTFAKER aTstFakers[NBR_OF_KRNLIMPORTS];
|
---|
29 | #endif
|
---|
30 |
|
---|
31 | /*******************************************************************************
|
---|
32 | * Function Prototypes. *
|
---|
33 | *******************************************************************************/
|
---|
34 | VOID _Optlink ThunkStack32To16(VOID); /* dh.asm */
|
---|
35 | VOID _Optlink ThunkStack16To32(VOID); /* dh.asm */
|
---|
36 | VOID _Optlink dhinit(VOID); /* dh.asm */
|
---|
37 | ULONG _Optlink getDHRouterFarPtr(VOID); /* dh.asm */
|
---|
38 | ULONG _Optlink InitElf(PVOID); /* init.asm */
|
---|
39 | ULONG _Optlink InitWin32k(PVOID); /* init.asm */
|
---|
40 | ULONG _Optlink CalltkExecPgm(ULONG execFlags, PCSZ pArg, PCSZ pEnv, PCSZ pExecName); /* fakea.asm */
|
---|
41 |
|
---|
42 | USHORT _Optlink GetSelectorCODE16(void);
|
---|
43 | USHORT _Optlink GetSelectorDATA16(void);
|
---|
44 | USHORT _Optlink GetSelectorCODE32(void);
|
---|
45 | USHORT _Optlink GetSelectorDATA32(void);
|
---|
46 |
|
---|
47 |
|
---|
48 | #ifndef INCL_NO_FAKE
|
---|
49 | /* fake functions */
|
---|
50 | ULONG LDRCALL fakeldrOpen(PSFN phFile, PSZ pszFilename, PULONG pfl);
|
---|
51 | ULONG LDRCALL fakeldrClose(SFN hFile);
|
---|
52 | ULONG LDRCALL fakeldrRead(SFN hFile, ULONG ulOffset, PVOID pvBuffer, ULONG fpBuffer, ULONG cbToRead, PMTE pMTE);
|
---|
53 | ULONG LDRCALL fakeLDRQAppType(PSZ pszFilename, PULONG pul);
|
---|
54 | ULONG LDRCALL fakeldrEnum32bitRelRecs(
|
---|
55 | PMTE pMTE,
|
---|
56 | ULONG iObject,
|
---|
57 | ULONG iPageTable,
|
---|
58 | PVOID pvPage,
|
---|
59 | ULONG ulPageAddress,
|
---|
60 | PVOID pvPTDA
|
---|
61 | );
|
---|
62 | ULONG LDRCALL fakeldrSetVMflags(
|
---|
63 | PMTE pMTE,
|
---|
64 | ULONG flObj,
|
---|
65 | PULONG pflFlags1,
|
---|
66 | PULONG pflFlags2
|
---|
67 | );
|
---|
68 |
|
---|
69 | APIRET KRNLCALL fakeIOSftOpen(
|
---|
70 | PSZ pszFilename,
|
---|
71 | ULONG flOpenFlags,
|
---|
72 | ULONG fsOpenMode,
|
---|
73 | PSFN phFile,
|
---|
74 | PULONG pulsomething
|
---|
75 | );
|
---|
76 | APIRET KRNLCALL fakeIOSftClose(
|
---|
77 | SFN hFile
|
---|
78 | );
|
---|
79 | APIRET KRNLCALL fakeIOSftTransPath(
|
---|
80 | PSZ pszPath
|
---|
81 | );
|
---|
82 | APIRET KRNLCALL fakeIOSftReadAt(
|
---|
83 | SFN hFile,
|
---|
84 | PULONG pcbActual,
|
---|
85 | PVOID pvBuffer,
|
---|
86 | ULONG fpBuffer,
|
---|
87 | ULONG ulOffset
|
---|
88 | );
|
---|
89 | APIRET KRNLCALL fakeIOSftWriteAt(
|
---|
90 | SFN hFile,
|
---|
91 | PULONG pcbActual,
|
---|
92 | PVOID pvBuffer,
|
---|
93 | ULONG fpBuffer,
|
---|
94 | ULONG ulOffset
|
---|
95 | );
|
---|
96 | APIRET KRNLCALL fakeSftFileSize(
|
---|
97 | SFN hFile,
|
---|
98 | PULONG pcbFile
|
---|
99 | );
|
---|
100 | HMTE KRNLCALL fakeVMGetOwner(
|
---|
101 | ULONG ulCS,
|
---|
102 | ULONG ulEIP);
|
---|
103 | APIRET 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);
|
---|
113 | APIRET KRNLCALL fakeVMFreeMem(
|
---|
114 | PVOID pv,
|
---|
115 | USHORT hPTDA,
|
---|
116 | ULONG flFlags
|
---|
117 | );
|
---|
118 | APIRET KRNLCALL fakeVMObjHandleInfo(
|
---|
119 | USHORT usHob,
|
---|
120 | PULONG pulAddr,
|
---|
121 | PUSHORT pushPTDA);
|
---|
122 | PMTE KRNLCALL fakeldrASMpMTEFromHandle(
|
---|
123 | HMTE hMTE);
|
---|
124 | APIRET KRNLCALL fakeVMMapDebugAlias(
|
---|
125 | ULONG flVMFlags,
|
---|
126 | ULONG ulAddress,
|
---|
127 | ULONG cbSize,
|
---|
128 | HPTDA hPTDA,
|
---|
129 | PVMAC pvmac);
|
---|
130 |
|
---|
131 | ULONG LDRCALL fakeldrOpenPath(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
|
---|
132 | ULONG LDRCALL fakeldrOpenPath_new(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful, ULONG lLibPath);
|
---|
133 | ULONG LDRCALL fakeldrOpenPath_old(PCHAR pachFilename, USHORT cchFilename, ldrlv_t *plv, PULONG pful);
|
---|
134 | ULONG LDRCALL fakeLDRClearSem(void);
|
---|
135 | ULONG LDRCALL fakeldrFindModule(PCHAR pachFilename, USHORT cchFilename, USHORT usClass, PPMTE ppMTE);
|
---|
136 |
|
---|
137 | ULONG LDRCALL fakeldrCheckInternalName(PMTE pMTE);
|
---|
138 | ULONG LDRCALL fakeldrTransPath(PSZ pszFilename);
|
---|
139 | ULONG LDRCALL fakeldrGetFileName(PSZ pszFilename, PCHAR *ppchName, PCHAR *ppchExt);
|
---|
140 | VOID LDRCALL fakeldrUCaseString(PCHAR pachString, unsigned cchString);
|
---|
141 |
|
---|
142 | ULONG KRNLCALL fakeKSEMRequestMutex(HKSEMMTX hkmtx, ULONG ulTimeout);
|
---|
143 | ULONG KRNLCALL fakeKSEMReleaseMutex(HKSEMMTX hkmtx);
|
---|
144 | BOOL KRNLCALL fakeKSEMQueryMutex(HKSEMMTX hkmtx, PUSHORT pcusNest);
|
---|
145 | VOID KRNLCALL fakeKSEMInit(PKSEM pksem, ULONG fulType, ULONG fulFlags);
|
---|
146 | extern KSEMMTX fakeLdrSem;
|
---|
147 | extern char * fakeLDRLibPath;
|
---|
148 | ULONG KRNLCALL fakeTKFuBuff(PVOID pv, PVOID pvUsr, ULONG cb, ULONG fl);
|
---|
149 | ULONG KRNLCALL fakeTKSuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
|
---|
150 | ULONG KRNLCALL fakeTKFuBufLen(PLONG pcch, PVOID pvUsr, ULONG cchMax, ULONG fl, BOOL fDblNULL);
|
---|
151 | ULONG KRNLCALL fakeTKSuFuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
|
---|
152 | ULONG KRNLCALL fakeTKPidToPTDA(PID pid, PPPTDA ppPTDA);
|
---|
153 | PMTE LDRCALL fakeldrValidateMteHandle(HMTE hMTE);
|
---|
154 | PSZ SECCALL fakeSecPathFromSFN(SFN hFile);
|
---|
155 | void _Optlink fakeg_tkExecPgm(void); /* Not callable! (fakea.asm) */
|
---|
156 | void _Optlink faketkStartProcess(void); /* Not callable! (fakea.asm) */
|
---|
157 | void _Optlink fakef_FuStrLenZ(void); /* Not callable! (fakea.asm) */
|
---|
158 | void _Optlink fakef_FuStrLen(void); /* Not callable! (fakea.asm) */
|
---|
159 | void _Optlink fakef_FuBuff(void); /* Not callable! (fakea.asm) */
|
---|
160 | extern PTCB fakepTCBCur;
|
---|
161 | extern PPTDA fakepPTDACur;
|
---|
162 | extern char fakeptda_start;
|
---|
163 | extern USHORT fakeptda_environ;
|
---|
164 | extern KSEMMTX fakeptda_ptdasem;
|
---|
165 | extern HMTE fakeptda_handle;
|
---|
166 | extern HMTE fakeptda_module;
|
---|
167 | extern PSZ fakeptda_pBeginLIBPATH;
|
---|
168 | extern PSZ fakeldrpFileNameBuf;
|
---|
169 | extern PMTE fakemte_h;
|
---|
170 | extern PMTE fakeglobal_h;
|
---|
171 | extern PMTE fakeglobal_l;
|
---|
172 | extern PMTE fakespecific_h;
|
---|
173 | extern PMTE fakespecific_l;
|
---|
174 | extern PMTE fakeprogram_h;
|
---|
175 | extern PMTE fakeprogram_l;
|
---|
176 |
|
---|
177 |
|
---|
178 |
|
---|
179 |
|
---|
180 | #endif /* INCL_NO_FAKE */
|
---|
181 |
|
---|
182 | #ifdef INCL_16
|
---|
183 | extern USHORT usFakeVerMajor; /* define in probkrnl.c */
|
---|
184 | extern USHORT usFakeVerMinor; /* define in probkrnl.c */
|
---|
185 | #else
|
---|
186 | extern USHORT _usFakeVerMajor;
|
---|
187 | extern USHORT _usFakeVerMinor;
|
---|
188 | #endif
|
---|
189 |
|
---|
190 | #ifdef _OS2Krnl_h_
|
---|
191 | extern int cObjectsFake; /* defined in win32ktst.c */
|
---|
192 | extern OTE aKrnlOTE[24]; /* defined in win32ktst.c */
|
---|
193 | #endif
|
---|
194 |
|
---|
195 | #ifdef __cplusplus
|
---|
196 | }
|
---|
197 | #endif
|
---|
198 |
|
---|
199 | #endif
|
---|