| 1 | /* $Id: test.h,v 1.8 2001-02-20 05:04:24 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 | ULONG KRNLCALL fakePGPhysAvail(void);
|
|---|
| 156 | ULONG KRNLCALL fakePGPhysPresent(void);
|
|---|
| 157 | VOID KRNLCALL fakevmRecalcShrBound(ULONG flFlags, PULONG pulSentinelAddress);
|
|---|
| 158 |
|
|---|
| 159 | void _Optlink fakeg_tkExecPgm(void); /* Not callable! (fakea.asm) */
|
|---|
| 160 | void _Optlink faketkStartProcess(void); /* Not callable! (fakea.asm) */
|
|---|
| 161 | void _Optlink fakef_FuStrLenZ(void); /* Not callable! (fakea.asm) */
|
|---|
| 162 | void _Optlink fakef_FuStrLen(void); /* Not callable! (fakea.asm) */
|
|---|
| 163 | void _Optlink fakef_FuBuff(void); /* Not callable! (fakea.asm) */
|
|---|
| 164 | void _Optlink fakeKMEnterKmodeSEF(void); /* Not callable! (fakea.asm) */
|
|---|
| 165 | void _Optlink fakeKMExitKmodeSEF8(void); /* Not callable! (fakea.asm) */
|
|---|
| 166 | extern PTCB fakepTCBCur;
|
|---|
| 167 | extern PPTDA fakepPTDACur;
|
|---|
| 168 | extern char fakeptda_start;
|
|---|
| 169 | extern USHORT fakeptda_environ;
|
|---|
| 170 | extern KSEMMTX fakeptda_ptdasem;
|
|---|
| 171 | extern HMTE fakeptda_handle;
|
|---|
| 172 | extern HMTE fakeptda_module;
|
|---|
| 173 | extern PSZ fakeptda_pBeginLIBPATH;
|
|---|
| 174 | extern PSZ fakeldrpFileNameBuf;
|
|---|
| 175 | extern PMTE fakemte_h;
|
|---|
| 176 | extern PMTE fakeglobal_h;
|
|---|
| 177 | extern PMTE fakeglobal_l;
|
|---|
| 178 | extern PMTE fakespecific_h;
|
|---|
| 179 | extern PMTE fakespecific_l;
|
|---|
| 180 | extern PMTE fakeprogram_h;
|
|---|
| 181 | extern PMTE fakeprogram_l;
|
|---|
| 182 |
|
|---|
| 183 | extern ULONG fakeSMcDFInuse;
|
|---|
| 184 | extern ULONG fakesmFileSize;
|
|---|
| 185 | extern ULONG fakeSMswapping;
|
|---|
| 186 | extern ULONG fakesmcBrokenDF;
|
|---|
| 187 | extern ULONG fakepgPhysPages;
|
|---|
| 188 | extern ULONG fakeSMcInMemFile;
|
|---|
| 189 | extern ULONG fakeSMCFGMinFree;
|
|---|
| 190 | extern ULONG fakesmcGrowFails;
|
|---|
| 191 | extern ULONG fakePGSwapEnabled;
|
|---|
| 192 | extern ULONG fakepgcPageFaults;
|
|---|
| 193 | extern ULONG fakeSMCFGSwapSize;
|
|---|
| 194 | extern ULONG fakepgResidentPages;
|
|---|
| 195 | extern ULONG fakepgSwappablePages;
|
|---|
| 196 | extern ULONG fakepgDiscardableInmem;
|
|---|
| 197 | extern ULONG fakepgDiscardablePages;
|
|---|
| 198 | extern ULONG fakeSMMinFree;
|
|---|
| 199 | extern ULONG fakepgcPageFaultsActive;
|
|---|
| 200 | extern ULONG fakepgPhysMax;
|
|---|
| 201 | extern ULONG fakeVirtualAddressLimit;
|
|---|
| 202 |
|
|---|
| 203 | extern VMAH fakeahvmShr;
|
|---|
| 204 | extern VMAH fakeahvmSys;
|
|---|
| 205 | extern VMAH fakeahvmhShr;
|
|---|
| 206 |
|
|---|
| 207 | #endif /* INCL_NO_FAKE */
|
|---|
| 208 |
|
|---|
| 209 | #ifdef INCL_16
|
|---|
| 210 | extern USHORT usFakeVerMajor; /* define in probkrnl.c */
|
|---|
| 211 | extern USHORT usFakeVerMinor; /* define in probkrnl.c */
|
|---|
| 212 | #else
|
|---|
| 213 | extern USHORT _usFakeVerMajor;
|
|---|
| 214 | extern USHORT _usFakeVerMinor;
|
|---|
| 215 | #endif
|
|---|
| 216 |
|
|---|
| 217 | #ifdef _OS2Krnl_h_
|
|---|
| 218 | extern int cObjectsFake; /* defined in win32ktst.c */
|
|---|
| 219 | extern OTE aKrnlOTE[24]; /* defined in win32ktst.c */
|
|---|
| 220 | #endif
|
|---|
| 221 |
|
|---|
| 222 | #ifdef __cplusplus
|
|---|
| 223 | }
|
|---|
| 224 | #endif
|
|---|
| 225 |
|
|---|
| 226 | #endif
|
|---|