| 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 | 
|---|