| 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
|
|---|
| 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 | ULONG KRNLCALL fakeKSEMRequestMutex(HKSEMMTX hkmtx, ULONG ulTimeout);
|
|---|
| 137 | ULONG KRNLCALL fakeKSEMReleaseMutex(HKSEMMTX hkmtx);
|
|---|
| 138 | BOOL KRNLCALL fakeKSEMQueryMutex(HKSEMMTX hkmtx, PUSHORT pcusNest);
|
|---|
| 139 | VOID KRNLCALL fakeKSEMInit(PKSEM pksem, ULONG fulType, ULONG fulFlags);
|
|---|
| 140 | extern KSEMMTX fakeLdrSem;
|
|---|
| 141 | extern char * fakeLDRLibPath;
|
|---|
| 142 | ULONG KRNLCALL fakeTKFuBuff(PVOID pv, PVOID pvUsr, ULONG cb, ULONG fl);
|
|---|
| 143 | ULONG KRNLCALL fakeTKSuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
|
|---|
| 144 | ULONG KRNLCALL fakeTKFuBufLen(PLONG pcch, PVOID pvUsr, ULONG cchMax, ULONG fl, BOOL fDblNULL);
|
|---|
| 145 | ULONG KRNLCALL fakeTKSuFuBuff(PVOID pvUsr, PVOID pv, ULONG cb, ULONG fl);
|
|---|
| 146 | ULONG KRNLCALL fakeTKPidToPTDA(PID pid, PPPTDA ppPTDA);
|
|---|
| 147 | PMTE LDRCALL fakeldrValidateMteHandle(HMTE hMTE);
|
|---|
| 148 | PSZ SECCALL fakeSecPathFromSFN(SFN hFile);
|
|---|
| 149 | void _Optlink fakeg_tkExecPgm(void); /* Not callable! (fakea.asm) */
|
|---|
| 150 | void _Optlink faketkStartProcess(void); /* Not callable! (fakea.asm) */
|
|---|
| 151 | void _Optlink fakef_FuStrLenZ(void); /* Not callable! (fakea.asm) */
|
|---|
| 152 | void _Optlink fakef_FuStrLen(void); /* Not callable! (fakea.asm) */
|
|---|
| 153 | void _Optlink fakef_FuBuff(void); /* Not callable! (fakea.asm) */
|
|---|
| 154 | extern PTCB fakepTCBCur;
|
|---|
| 155 | extern PPTDA fakepPTDACur;
|
|---|
| 156 | extern char fakeptda_start;
|
|---|
| 157 | extern USHORT fakeptda_environ;
|
|---|
| 158 | extern KSEMMTX fakeptda_ptdasem;
|
|---|
| 159 | extern HMTE fakeptda_handle;
|
|---|
| 160 | extern HMTE fakeptda_module;
|
|---|
| 161 | extern PSZ fakeptda_pBeginLIBPATH;
|
|---|
| 162 | extern PSZ fakeldrpFileNameBuf;
|
|---|
| 163 |
|
|---|
| 164 | #endif /* INCL_NO_FAKE */
|
|---|
| 165 |
|
|---|
| 166 | #ifdef INCL_16
|
|---|
| 167 | extern USHORT usFakeVerMajor; /* define in probkrnl.c */
|
|---|
| 168 | extern USHORT usFakeVerMinor; /* define in probkrnl.c */
|
|---|
| 169 | #else
|
|---|
| 170 | extern USHORT _usFakeVerMajor;
|
|---|
| 171 | extern USHORT _usFakeVerMinor;
|
|---|
| 172 | #endif
|
|---|
| 173 |
|
|---|
| 174 | #ifdef _OS2Krnl_h_
|
|---|
| 175 | extern int cObjectsFake; /* defined in win32ktst.c */
|
|---|
| 176 | extern OTE aKrnlOTE[24]; /* defined in win32ktst.c */
|
|---|
| 177 | #endif
|
|---|
| 178 |
|
|---|
| 179 | #ifdef __cplusplus
|
|---|
| 180 | }
|
|---|
| 181 | #endif
|
|---|
| 182 |
|
|---|
| 183 | #endif
|
|---|