Changeset 3578
- Timestamp:
- Sep 2, 2007, 10:55:51 PM (18 years ago)
- Location:
- trunk/kStuff
- Files:
-
- 2 deleted
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kStuff/include/k/kLdr.h
r3573 r3578 161 161 typedef const KLDRPU *PCKLDRPU; 162 162 163 164 /** Pointer to a loader segment. */ 165 typedef struct KLDRSEG *PKLDRSEG; 166 /** Pointer to a loader segment. */ 167 typedef const struct KLDRSEG *PCKLDRSEG; 168 169 /** @} */ 170 171 172 /** @defgroup grp_kLdrRdr kLdrRdr - The file provider 173 * @{ */ 174 175 /** Pointer to a file provider instance core. */ 176 typedef struct KLDRRDR *PKLDRRDR; 177 /** Pointer to a file provider instance core pointer. */ 178 typedef struct KLDRRDR **PPKLDRRDR; 179 180 /** 181 * File provider instance operations. 182 */ 183 typedef struct KLDRRDROPS 184 { 185 /** The name of this file provider. */ 186 const char *pszName; 187 /** Pointer to the next file provider. */ 188 const struct KLDRRDROPS *pNext; 189 190 /** Try create a new file provider instance. 191 * 192 * @returns 0 on success, OS specific error code on failure. 193 * @param ppRdr Where to store the file provider instance. 194 * @param pszFilename The filename to open. 195 */ 196 int (* pfnCreate)( PPKLDRRDR ppRdr, const char *pszFilename); 197 /** Destroy the file provider instance. 198 * 199 * @returns 0 on success, OS specific error code on failure. 200 * On failure, the file provider instance will be in an indeterminate state - don't touch it! 201 * @param pRdr The file provider instance. 202 */ 203 int (* pfnDestroy)( PKLDRRDR pRdr); 204 /** @copydoc kLdrRdrRead */ 205 int (* pfnRead)( PKLDRRDR pRdr, void *pvBuf, KSIZE cb, KLDRFOFF off); 206 /** @copydoc kLdrRdrAllMap */ 207 int (* pfnAllMap)( PKLDRRDR pRdr, const void **ppvBits); 208 /** @copydoc kLdrRdrAllUnmap */ 209 int (* pfnAllUnmap)(PKLDRRDR pRdr, const void *pvBits); 210 /** @copydoc kLdrRdrSize */ 211 KLDRFOFF (* pfnSize)( PKLDRRDR pRdr); 212 /** @copydoc kLdrRdrTell */ 213 KLDRFOFF (* pfnTell)( PKLDRRDR pRdr); 214 /** @copydoc kLdrRdrName */ 215 const char * (* pfnName)(PKLDRRDR pRdr); 216 /** @copydoc kLdrRdrPageSize */ 217 KSIZE (* pfnPageSize)(PKLDRRDR pRdr); 218 /** @copydoc kLdrRdrMap */ 219 int (* pfnMap)( PKLDRRDR pRdr, void **ppvBase, KU32 cSegments, PCKLDRSEG paSegments, unsigned fFixed); 220 /** @copydoc kLdrRdrRefresh */ 221 int (* pfnRefresh)( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 222 /** @copydoc kLdrRdrProtect */ 223 int (* pfnProtect)( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments, unsigned fUnprotectOrProtect); 224 /** @copydoc kLdrRdrUnmap */ 225 int (* pfnUnmap)( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 226 /** @copydoc kLdrRdrDone */ 227 void (* pfnDone)( PKLDRRDR pRdr); 228 /** The usual non-zero dummy that makes sure we've initialized all members. */ 229 KU32 u32Dummy; 230 } KLDRRDROPS; 231 /** Pointer to file provider operations. */ 232 typedef KLDRRDROPS *PKLDRRDROPS; 233 /** Pointer to const file provider operations. */ 234 typedef const KLDRRDROPS *PCKLDRRDROPS; 235 236 237 /** 238 * File provider instance core. 239 */ 240 typedef struct KLDRRDR 241 { 242 /** Magic number (KLDRRDR_MAGIC). */ 243 KU32 u32Magic; 244 /** Pointer to the file provider operations. */ 245 PCKLDRRDROPS pOps; 246 } KLDRRDR; 247 248 /** The magic for KLDRRDR::u32Magic. (Katsu Aki (Katsuaki Nakamura)) */ 249 #define KLDRRDR_MAGIC 0x19610919 250 251 void kLdrRdrAddProvider(PKLDRRDROPS pAdd); 252 253 int kLdrRdrOpen( PPKLDRRDR ppRdr, const char *pszFilename); 254 int kLdrRdrClose( PKLDRRDR pRdr); 255 int kLdrRdrRead( PKLDRRDR pRdr, void *pvBuf, KSIZE cb, KLDRFOFF off); 256 int kLdrRdrAllMap( PKLDRRDR pRdr, const void **ppvBits); 257 int kLdrRdrAllUnmap(PKLDRRDR pRdr, const void *pvBits); 258 KLDRFOFF kLdrRdrSize( PKLDRRDR pRdr); 259 KLDRFOFF kLdrRdrTell( PKLDRRDR pRdr); 260 const char *kLdrRdrName(PKLDRRDR pRdr); 261 KSIZE kLdrRdrPageSize(PKLDRRDR pRdr); 262 int kLdrRdrMap( PKLDRRDR pRdr, void **ppvBase, KU32 cSegments, PCKLDRSEG paSegments, unsigned fFixed); 263 int kLdrRdrRefresh( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 264 int kLdrRdrProtect( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments, unsigned fUnprotectOrProtect); 265 int kLdrRdrUnmap( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 266 void kLdrRdrDone( PKLDRRDR pRdr); 267 268 /** @} */ 269 163 /** @} */ 270 164 271 165 … … 613 507 PCKLDRMODOPS pOps; 614 508 /** Pointer to the read instance. (Can be NULL after kLdrModDone().)*/ 615 PK LDRRDRpRdr;509 PKRDR pRdr; 616 510 /** The module data. */ 617 511 void *pvData; … … 798 692 799 693 int kLdrModOpen(const char *pszFilename, PPKLDRMOD ppMod); 800 int kLdrModOpenFromRdr(PK LDRRDR pRdr, PPKLDRMOD ppMod);694 int kLdrModOpenFromRdr(PKRDR pRdr, PPKLDRMOD ppMod); 801 695 int kLdrModOpenNative(const char *pszFilename, PPKLDRMOD ppMod); 802 696 int kLdrModOpenNativeByHandle(KUPTR uHandle, PPKLDRMOD ppMod); … … 865 759 * @param ppMod Where to store the module instance pointer. 866 760 */ 867 int (* pfnCreate)(PCKLDRMODOPS pOps, PK LDRRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod);761 int (* pfnCreate)(PCKLDRMODOPS pOps, PKRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod); 868 762 /** 869 763 * Destroys an loader module instance. … … 911 805 int (* pfnAllocTLS)(PKLDRMOD pMod); 912 806 /** @copydoc kLdrModFreeTLS */ 913 void (* 807 void (*pfnFreeTLS)(PKLDRMOD pMod); 914 808 /** @copydoc kLdrModReload */ 915 809 int (* pfnReload)(PKLDRMOD pMod); -
trunk/kStuff/include/k/kRdr.h
r3550 r3578 46 46 #endif 47 47 48 /** Pointer to a file provider instance. */49 typedef struct KRDR *PKRDR;50 /** Pointer to a file provider instance pointer. */51 typedef struct KRDR **PPKRDR;52 53 48 #ifdef __cplusplus 54 49 extern "C" { … … 65 60 KRDR_DECL(KIPTR) kRdrNativeFH( PKRDR pRdr); 66 61 KRDR_DECL(KSIZE) kRdrPageSize( PKRDR pRdr); 67 #ifdef ___k_kLdr___68 62 KRDR_DECL(int) kRdrMap( PKRDR pRdr, void **ppvBase, KU32 cSegments, PCKLDRSEG paSegments, KBOOL fFixed); 69 63 KRDR_DECL(int) kRdrRefresh( PKRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 70 64 KRDR_DECL(int) kRdrProtect( PKRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments, KBOOL fUnprotectOrProtect); 71 65 KRDR_DECL(int) kRdrUnmap( PKRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 72 #endif /* !___k_kLdr___ */73 66 KRDR_DECL(void) kRdrDone( PKRDR pRdr); 74 67 -
trunk/kStuff/include/k/kTypes.h
r3550 r3578 381 381 382 382 383 384 /** @name Forward Declarations / Handle Types. 385 * @{ */ 386 387 /** Pointer to a file provider instance. */ 388 typedef struct KRDR *PKRDR; 389 /** Pointer to a file provider instance pointer. */ 390 typedef struct KRDR **PPKRDR; 391 392 /** Pointer to a loader segment. */ 393 typedef struct KLDRSEG *PKLDRSEG; 394 /** Pointer to a loader segment. */ 395 typedef const struct KLDRSEG *PCKLDRSEG; 396 383 397 /** @} */ 384 398 399 /** @} */ 400 385 401 #endif 386 402 -
trunk/kStuff/kHlp/Bare/kHlpBareHeap.c
r3576 r3578 32 32 #include <k/kHlpAlloc.h> 33 33 #include <k/kHlpString.h> 34 #include <k/kHlpAssert.h> 34 35 35 36 #if K_OS == K_OS_OS2 -
trunk/kStuff/kHlp/Makefile.kmk
r3576 r3578 31 31 # kHlpBaseStatic 32 32 # 33 LIBRARIES += kHlpBa seStatic34 kHlpBa seStatic_TEMPLATE = kStuffLIB35 kHlpBa seStatic_SOURCES = \33 LIBRARIES += kHlpBareStatic 34 kHlpBareStatic_TEMPLATE = kStuffLIB 35 kHlpBareStatic_SOURCES = \ 36 36 Generic/kHlpMemChr.c \ 37 37 Generic/kHlpMemComp.c \ -
trunk/kStuff/kLdr/Makefile.kmk
r3577 r3578 122 122 kLdrErr.c \ 123 123 kLdrMisc.c \ 124 kLdrRdr.c \125 kLdrRdrFile.c \126 124 kLdrMod.c \ 127 125 kLdrModLX.c \ … … 137 135 kLdr-win.c 138 136 kLdr_LIBS += \ 139 $(PATH_LIB)/kHlpBaseStatic$(SUFF_LIB) 137 $(PATH_LIB)/kRdrStatic$(SUFF_LIB) \ 138 $(PATH_LIB)/kHlpBareStatic$(SUFF_LIB) 140 139 141 140 kLdrErr.c_DEPS = $(PATH_TARGET)/kldrErrConsts.h -
trunk/kStuff/kLdr/kLdr-os2.def
r3537 r3578 30 30 EXPORTS 31 31 ; The file reader API 32 _k LdrRdrAddProvider33 _k LdrRdrOpen34 _k LdrRdrClose35 _k LdrRdrRead36 _k LdrRdrAllMap37 _k LdrRdrAllUnmap38 _k LdrRdrSize39 _k LdrRdrTell40 _k LdrRdrName41 _k LdrRdrPageSize42 _k LdrRdrMap43 _k LdrRdrRefresh44 _k LdrRdrProtect45 _k LdrRdrUnmap46 _k LdrRdrDone32 _kRdrAddProvider 33 _kRdrOpen 34 _kRdrClose 35 _kRdrRead 36 _kRdrAllMap 37 _kRdrAllUnmap 38 _kRdrSize 39 _kRdrTell 40 _kRdrName 41 _kRdrPageSize 42 _kRdrMap 43 _kRdrRefresh 44 _kRdrProtect 45 _kRdrUnmap 46 _kRdrDone 47 47 48 48 ; The module interpreter API -
trunk/kStuff/kLdr/kLdr-win.def
r3537 r3578 29 29 EXPORTS 30 30 ; The file reader API 31 k LdrRdrAddProvider32 k LdrRdrOpen33 k LdrRdrClose34 k LdrRdrRead35 k LdrRdrAllMap36 k LdrRdrAllUnmap37 k LdrRdrSize38 k LdrRdrTell39 k LdrRdrName40 k LdrRdrPageSize41 k LdrRdrMap42 k LdrRdrRefresh43 k LdrRdrProtect44 k LdrRdrUnmap45 k LdrRdrDone31 kRdrAddProvider 32 kRdrOpen 33 kRdrClose 34 kRdrRead 35 kRdrAllMap 36 kRdrAllUnmap 37 kRdrSize 38 kRdrTell 39 kRdrName 40 kRdrPageSize 41 kRdrMap 42 kRdrRefresh 43 kRdrProtect 44 kRdrUnmap 45 kRdrDone 46 46 47 47 ; The module interpreter API -
trunk/kStuff/kLdr/kLdrDyldFind.c
r3574 r3578 94 94 KLDRDYLDSEARCH enmSearch; 95 95 KU32 fFlags; 96 PPK LDRRDRppRdr;96 PPKRDR ppRdr; 97 97 } KLDRDYLDFINDARGS, *PKLDRDYLDFINDARGS; 98 98 … … 201 201 *******************************************************************************/ 202 202 static int kldrDyldFindDoDllSearch(const char *pszName, const char *pszPrefix, const char *pszSuffix, 203 KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPK LDRRDR ppRdr);203 KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPKRDR ppRdr); 204 204 static int kldrDyldFindDoExeSearch(const char *pszName, const char *pszPrefix, const char *pszSuffix, 205 KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPK LDRRDR ppRdr);206 static int kldrDyldFindTryOpen(const char *pszFilename, PPK LDRRDR ppRdr);205 KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPKRDR ppRdr); 206 static int kldrDyldFindTryOpen(const char *pszFilename, PPKRDR ppRdr); 207 207 static int kldrDyldFindTryOpenPath(const char *pchPath, KSIZE cchPath, PCKLDRDYLDFINDARGS pArgs); 208 208 static int kldrDyldFindEnumeratePath(const char *pszSearchPath, PCKLDRDYLDFINDARGS pArgs); … … 356 356 { 357 357 int rc; 358 PK LDRRDR pRdr = NULL;358 PKRDR pRdr = NULL; 359 359 360 360 *ppMod = NULL; … … 376 376 if (fFlags & KLDRYDLD_LOAD_FLAGS_SPECIFIC_MODULE) 377 377 { 378 const char *pszFilename = k LdrRdrName(pRdr);378 const char *pszFilename = kRdrName(pRdr); 379 379 const KSIZE cchFilename = kHlpStrLen(pszFilename); 380 380 PKLDRDYLDMOD pCur; … … 390 390 if (!(fFlags & KLDRYDLD_LOAD_FLAGS_SPECIFIC_MODULE)) 391 391 { 392 const char *pszFilename = k LdrRdrName(pRdr);392 const char *pszFilename = kRdrName(pRdr); 393 393 const KSIZE cchFilename = kHlpStrLen(pszFilename); 394 394 PKLDRDYLDMOD pCur; … … 399 399 && !kHlpMemComp(pCur->pMod->pszFilename, pszFilename, cchFilename)) 400 400 { 401 k LdrRdrClose(pRdr);401 kRdrClose(pRdr); 402 402 kldrDyldModMarkGlobal(pCur); 403 403 *ppMod = pCur; … … 414 414 rc = kldrDyldModCreate(pRdr, fFlags, ppMod); 415 415 if (rc) 416 k LdrRdrClose(pRdr);416 kRdrClose(pRdr); 417 417 } 418 418 return rc; … … 434 434 */ 435 435 static int kldrDyldFindDoDllSearch(const char *pszName, const char *pszPrefix, const char *pszSuffix, 436 KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPK LDRRDR ppRdr)436 KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPKRDR ppRdr) 437 437 { 438 438 int rc; … … 548 548 */ 549 549 static int kldrDyldFindDoExeSearch(const char *pszName, const char *pszPrefix, const char *pszSuffix, 550 KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPK LDRRDR ppRdr)550 KLDRDYLDSEARCH enmSearch, unsigned fFlags, PPKRDR ppRdr) 551 551 { 552 552 int rc; … … 609 609 * @param ppRdr Where to store the pointer to the new module. 610 610 */ 611 static int kldrDyldFindTryOpen(const char *pszFilename, PPK LDRRDR ppRdr)611 static int kldrDyldFindTryOpen(const char *pszFilename, PPKRDR ppRdr) 612 612 { 613 613 int rc; … … 616 616 * Try open the file. 617 617 */ 618 rc = k LdrRdrOpen(ppRdr, pszFilename);618 rc = kRdrOpen(ppRdr, pszFilename); 619 619 if (!rc) 620 620 return 0; … … 899 899 ) 900 900 { 901 PK LDRRDR pRdr;901 PKRDR pRdr; 902 902 if (fOS2LibpathStrict) 903 903 rc = kldrDyldFindDoDllSearch(pszName, pszPrefix, pszSuffix, enmSearch, fFlags, &pRdr); … … 907 907 { 908 908 /* do a filename based search. */ 909 const char *pszFilename = k LdrRdrName(pRdr);909 const char *pszFilename = kRdrName(pRdr); 910 910 const KSIZE cchFilename = kHlpStrLen(pszFilename); 911 911 PKLDRDYLDMOD pCur; … … 921 921 } 922 922 } 923 k LdrRdrClose(pRdr);923 kRdrClose(pRdr); 924 924 } 925 925 } -
trunk/kStuff/kLdr/kLdrDyldMod.c
r3573 r3578 66 66 * @param ppMod Where to put the pointer to the new module on success. 67 67 */ 68 int kldrDyldModCreate(PK LDRRDR pRdr, KU32 fFlags, PPKLDRDYLDMOD ppMod)68 int kldrDyldModCreate(PKRDR pRdr, KU32 fFlags, PPKLDRDYLDMOD ppMod) 69 69 { 70 70 PKLDRDYLDMOD pMod; … … 81 81 rc = kLdrModOpenFromRdr(pRdr, &pRawMod); 82 82 if (rc) 83 return kldrDyldFailure(rc, "%s: %rc", k LdrRdrName(pRdr), rc);83 return kldrDyldFailure(rc, "%s: %rc", kRdrName(pRdr), rc); 84 84 85 85 /* … … 207 207 #ifdef __OS2__ 208 208 HMODULE hmod = NULLHANDLE; 209 APIRET rc = DosQueryModuleHandle(k LdrRdrName(pRdr), &hmod);209 APIRET rc = DosQueryModuleHandle(kRdrName(pRdr), &hmod); 210 210 if (!rc) 211 211 212 212 #elif defined(__WIN__) 213 213 HMODULE hmod = NULL; 214 if (GetModuleHandle(k LdrRdrName(pRdr))214 if (GetModuleHandle(kRdrName(pRdr)) 215 215 216 216 #else -
trunk/kStuff/kLdr/kLdrInternal.h
r3576 r3578 30 30 31 31 #include <k/kHlp.h> 32 #include <k/kRdr.h> 32 33 33 34 #ifdef __cplusplus … … 81 82 * @{ 82 83 */ 83 84 85 /** Native file provider operations. */86 extern const KLDRRDROPS g_kLdrRdrFileOps;87 84 88 85 … … 359 356 360 357 361 int kldrDyldModCreate(PK LDRRDR pRdr, KU32 fFlags, PPKLDRDYLDMOD ppMod);358 int kldrDyldModCreate(PKRDR pRdr, KU32 fFlags, PPKLDRDYLDMOD ppMod); 362 359 void kldrDyldModDestroy(PKLDRDYLDMOD pMod); 363 360 void kldrDyldModAddRef(PKLDRDYLDMOD pMod); -
trunk/kStuff/kLdr/kLdrMod.c
r3573 r3578 111 111 * Open the file using a bit provider. 112 112 */ 113 PK LDRRDR pRdr;114 int rc = k LdrRdrOpen(&pRdr, pszFilename);113 PKRDR pRdr; 114 int rc = kRdrOpen(&pRdr, pszFilename); 115 115 if (!rc) 116 116 { … … 118 118 if (!rc) 119 119 return 0; 120 k LdrRdrClose(pRdr);120 kRdrClose(pRdr); 121 121 } 122 122 return rc; … … 135 135 * @param ppMod Where to store the module handle. 136 136 */ 137 int kLdrModOpenFromRdr(PK LDRRDR pRdr, PPKLDRMOD ppMod)137 int kLdrModOpenFromRdr(PKRDR pRdr, PPKLDRMOD ppMod) 138 138 { 139 139 union … … 151 151 * Always read the 'new header' if we encounter MZ. 152 152 */ 153 rc = k LdrRdrRead(pRdr, &u, sizeof(u), 0);153 rc = kRdrRead(pRdr, &u, sizeof(u), 0); 154 154 if (rc) 155 155 return rc; 156 156 if ( u.u16 == IMAGE_DOS_SIGNATURE 157 && k LdrRdrSize(pRdr) > sizeof(IMAGE_DOS_HEADER))157 && kRdrSize(pRdr) > sizeof(IMAGE_DOS_HEADER)) 158 158 { 159 rc = k LdrRdrRead(pRdr, &u, sizeof(u.u32), K_OFFSETOF(IMAGE_DOS_HEADER, e_lfanew));159 rc = kRdrRead(pRdr, &u, sizeof(u.u32), K_OFFSETOF(IMAGE_DOS_HEADER, e_lfanew)); 160 160 if (rc) 161 161 return rc; 162 if ((KLDRFOFF)u.u32 < k LdrRdrSize(pRdr))162 if ((KLDRFOFF)u.u32 < kRdrSize(pRdr)) 163 163 { 164 164 offHdr = u.u32; 165 rc = k LdrRdrRead(pRdr, &u, sizeof(u.u32), offHdr);165 rc = kRdrRead(pRdr, &u, sizeof(u.u32), offHdr); 166 166 if (rc) 167 167 return rc; -
trunk/kStuff/kLdr/kLdrModLX.c
r3573 r3578 115 115 static int kldrModLXRelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAddress, KLDRADDR OldBaseAddress, 116 116 PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 117 static int kldrModLXDoCreate(PK LDRRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODLX *ppModLX);117 static int kldrModLXDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODLX *ppModLX); 118 118 static const KU8 *kldrModLXDoNameTableLookupByOrdinal(const KU8 *pbNameTable, KI32 cbNameTable, KU32 iOrdinal); 119 119 static int kldrModLXDoNameLookup(PKLDRMODLX pModLX, const char *pchSymbol, KU32 cchSymbol, KU32 *piSymbol); … … 145 145 * @param ppMod Where to store the module instance pointer. 146 146 */ 147 static int kldrModLXCreate(PCKLDRMODOPS pOps, PK LDRRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod)147 static int kldrModLXCreate(PCKLDRMODOPS pOps, PKRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod) 148 148 { 149 149 PKLDRMODLX pModLX; … … 170 170 * simplify cleanup on failure. 171 171 */ 172 static int kldrModLXDoCreate(PK LDRRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODLX *ppModLX)172 static int kldrModLXDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODLX *ppModLX) 173 173 { 174 174 struct e32_exe Hdr; … … 187 187 * Read the signature and file header. 188 188 */ 189 rc = k LdrRdrRead(pRdr, &Hdr, sizeof(Hdr), offNewHdr > 0 ? offNewHdr : 0);189 rc = kRdrRead(pRdr, &Hdr, sizeof(Hdr), offNewHdr > 0 ? offNewHdr : 0); 190 190 if (rc) 191 191 return rc; … … 205 205 206 206 /* Some rough sanity checks. */ 207 offEnd = k LdrRdrSize(pRdr) >= (KLDRFOFF)~(KU32)16 ? ~(KU32)16 : (KU32)kLdrRdrSize(pRdr);207 offEnd = kRdrSize(pRdr) >= (KLDRFOFF)~(KU32)16 ? ~(KU32)16 : (KU32)kRdrSize(pRdr); 208 208 if ( Hdr.e32_itermap > offEnd 209 209 || Hdr.e32_datapage > offEnd … … 266 266 * Calc the instance size, allocate and initialize it. 267 267 */ 268 cchFilename = kHlpStrLen(k LdrRdrName(pRdr));268 cchFilename = kHlpStrLen(kRdrName(pRdr)); 269 269 cb = K_ALIGN_Z(sizeof(KLDRMODLX), 8) 270 270 + K_ALIGN_Z(K_OFFSETOF(KLDRMOD, aSegments[Hdr.e32_objcnt + 1]), 8) … … 284 284 pMod->cchFilename = cchFilename; 285 285 pMod->pszFilename = (char *)K_ALIGN_P(&pMod->aSegments[pMod->cSegments], 8); 286 kHlpMemCopy((char *)pMod->pszFilename, k LdrRdrName(pRdr), cchFilename + 1);286 kHlpMemCopy((char *)pMod->pszFilename, kRdrName(pRdr), cchFilename + 1); 287 287 pMod->pszName = NULL; /* finalized further down */ 288 288 pMod->cchName = 0; … … 357 357 * Read the loader data. 358 358 */ 359 rc = k LdrRdrRead(pRdr, (void *)pModLX->pbLoaderSection, pModLX->Hdr.e32_ldrsize, pModLX->Hdr.e32_objtab + pModLX->offHdr);359 rc = kRdrRead(pRdr, (void *)pModLX->pbLoaderSection, pModLX->Hdr.e32_ldrsize, pModLX->Hdr.e32_objtab + pModLX->offHdr); 360 360 if (rc) 361 361 return rc; … … 527 527 if (pMod->pRdr) 528 528 { 529 rc = k LdrRdrClose(pMod->pRdr);529 rc = kRdrClose(pMod->pRdr); 530 530 pMod->pRdr = NULL; 531 531 } … … 941 941 942 942 off = pModLX->Hdr.e32_objtab + pModLX->Hdr.e32_ldrsize; 943 rc = k LdrRdrRead(pModLX->pMod->pRdr, pv, pModLX->Hdr.e32_fixupsize,943 rc = kRdrRead(pModLX->pMod->pRdr, pv, pModLX->Hdr.e32_fixupsize, 944 944 off + pModLX->offHdr); 945 945 if (!rc) … … 1381 1381 static int kldrModLXDoLoadBits(PKLDRMODLX pModLX, void *pvBits) 1382 1382 { 1383 const PK LDRRDR pRdr = pModLX->pMod->pRdr;1383 const PKRDR pRdr = pModLX->pMod->pRdr; 1384 1384 KU8 *pbTmpPage = NULL; 1385 1385 int rc = 0; … … 1406 1406 case VALID: 1407 1407 if (pMap->o32_pagesize == OBJPAGELEN) 1408 rc = k LdrRdrRead(pRdr, pbPage, OBJPAGELEN,1408 rc = kRdrRead(pRdr, pbPage, OBJPAGELEN, 1409 1409 pModLX->Hdr.e32_datapage + (pMap->o32_pagedataoffset << pModLX->Hdr.e32_pageshift)); 1410 1410 else if (pMap->o32_pagesize < OBJPAGELEN) 1411 1411 { 1412 rc = k LdrRdrRead(pRdr, pbPage, pMap->o32_pagesize,1412 rc = kRdrRead(pRdr, pbPage, pMap->o32_pagesize, 1413 1413 pModLX->Hdr.e32_datapage + (pMap->o32_pagedataoffset << pModLX->Hdr.e32_pageshift)); 1414 1414 kHlpMemSet(pbPage + pMap->o32_pagesize, 0, OBJPAGELEN - pMap->o32_pagesize); … … 1435 1435 1436 1436 /* read it and ensure 4 extra zero bytes. */ 1437 rc = k LdrRdrRead(pRdr, pbTmpPage, pMap->o32_pagesize,1437 rc = kRdrRead(pRdr, pbTmpPage, pMap->o32_pagesize, 1438 1438 pModLX->Hdr.e32_datapage + (pMap->o32_pagedataoffset << pModLX->Hdr.e32_pageshift)); 1439 1439 if (rc) -
trunk/kStuff/kLdr/kLdrModMachO.c
r3573 r3578 159 159 PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 160 160 161 static int kldrModMachODoCreate(PK LDRRDR pRdr, PKLDRMODMACHO *ppMod);162 static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PK LDRRDR pRdr,161 static int kldrModMachODoCreate(PKRDR pRdr, PKLDRMODMACHO *ppMod); 162 static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PKRDR pRdr, 163 163 KU32 *pcSegments, KU32 *pcSections, KU32 *pcbStringPool); 164 164 static int kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStringPool, KU32 cbStringPool); … … 196 196 * @param ppMod Where to store the module instance pointer. 197 197 */ 198 static int kldrModMachOCreate(PCKLDRMODOPS pOps, PK LDRRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod)198 static int kldrModMachOCreate(PCKLDRMODOPS pOps, PKRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod) 199 199 { 200 200 PKLDRMODMACHO pModMachO; … … 225 225 * simplify cleanup on failure. 226 226 */ 227 static int kldrModMachODoCreate(PK LDRRDR pRdr, PKLDRMODMACHO *ppModMachO)227 static int kldrModMachODoCreate(PKRDR pRdr, PKLDRMODMACHO *ppModMachO) 228 228 { 229 229 union … … 246 246 * Read the Mach-O header. 247 247 */ 248 rc = k LdrRdrRead(pRdr, &s, sizeof(s), 0);248 rc = kRdrRead(pRdr, &s, sizeof(s), 0); 249 249 if (rc) 250 250 return rc; … … 260 260 261 261 /* sanity checks. */ 262 if ( s.Hdr32.sizeofcmds > k LdrRdrSize(pRdr) - sizeof(mach_header_32_t)262 if ( s.Hdr32.sizeofcmds > kRdrSize(pRdr) - sizeof(mach_header_32_t) 263 263 || s.Hdr32.sizeofcmds < sizeof(load_command_t) * s.Hdr32.ncmds 264 264 || (s.Hdr32.flags & ~MH_VALID_FLAGS)) … … 281 281 if (!pbLoadCommands) 282 282 return KLDR_ERR_NO_MEMORY; 283 rc = k LdrRdrRead(pRdr, pbLoadCommands, s.Hdr32.sizeofcmds,283 rc = kRdrRead(pRdr, pbLoadCommands, s.Hdr32.sizeofcmds, 284 284 s.Hdr32.magic == IMAGE_MACHO32_SIGNATURE 285 285 || s.Hdr32.magic == IMAGE_MACHO32_SIGNATURE_OE … … 297 297 * Calc the instance size, allocate and initialize it. 298 298 */ 299 cchFilename = kHlpStrLen(k LdrRdrName(pRdr));299 cchFilename = kHlpStrLen(kRdrName(pRdr)); 300 300 cb = K_ALIGN_Z( K_OFFSETOF(KLDRMODMACHO, aSegments[cSegments]) 301 301 + sizeof(KLDRMODMACHOSECT) * cSections, 16) … … 318 318 pMod->cchFilename = cchFilename; 319 319 pMod->pszFilename = (char *)&pMod->aSegments[pMod->cSegments]; 320 kHlpMemCopy((char *)pMod->pszFilename, k LdrRdrName(pRdr), cchFilename + 1);320 kHlpMemCopy((char *)pMod->pszFilename, kRdrName(pRdr), cchFilename + 1); 321 321 pMod->pszName = kHlpGetFilename(pMod->pszFilename); 322 322 pMod->cchName = cchFilename - (pMod->pszName - pMod->pszFilename); … … 429 429 * @param pcbStringPool Where to store the string pool size. 430 430 */ 431 static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PK LDRRDR pRdr,431 static int kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PKRDR pRdr, 432 432 KU32 *pcSegments, KU32 *pcSections, KU32 *pcbStringPool) 433 433 { … … 442 442 uuid_command_t *pUuid; 443 443 } u; 444 const KU64 cbFile = k LdrRdrSize(pRdr);444 const KU64 cbFile = kRdrSize(pRdr); 445 445 KU32 cSegments = 0; 446 446 KU32 cSections = 0; … … 670 670 : sizeof(macho_nlist_64_t); 671 671 if ( u.pSymTab->symoff >= cbFile 672 || (KU64)u.pSymTab->symoff + u.pSymTab->nsyms * cbSym > k LdrRdrSize(pRdr))672 || (KU64)u.pSymTab->symoff + u.pSymTab->nsyms * cbSym > kRdrSize(pRdr)) 673 673 return KLDR_ERR_MACHO_BAD_LOAD_COMMAND; 674 674 if ( u.pSymTab->stroff >= cbFile … … 1008 1008 if (pMod->pRdr) 1009 1009 { 1010 rc = k LdrRdrClose(pMod->pRdr);1010 rc = kRdrClose(pMod->pRdr); 1011 1011 pMod->pRdr = NULL; 1012 1012 } … … 1572 1572 else 1573 1573 { 1574 rc = k LdrRdrMap(pMod->pRdr, &pvBase, pMod->cSegments, pMod->aSegments, fFixed);1574 rc = kRdrMap(pMod->pRdr, &pvBase, pMod->cSegments, pMod->aSegments, fFixed); 1575 1575 if (rc) 1576 1576 return rc; … … 1611 1611 else 1612 1612 { 1613 rc = k LdrRdrUnmap(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments);1613 rc = kRdrUnmap(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments); 1614 1614 if (rc) 1615 1615 return rc; … … 1659 1659 1660 1660 /* the file provider does it all */ 1661 return k LdrRdrRefresh(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments);1661 return kRdrRefresh(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments); 1662 1662 } 1663 1663 … … 1682 1682 else 1683 1683 { 1684 rc = k LdrRdrProtect(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments, 1 /* unprotect */);1684 rc = kRdrProtect(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments, 1 /* unprotect */); 1685 1685 if (rc) 1686 1686 return rc; … … 1699 1699 rc2 = KLDR_ERR_TODO; /* deal with this if it ever occurs. */ 1700 1700 else 1701 rc2 = k LdrRdrProtect(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments, 0 /* protect */);1701 rc2 = kRdrProtect(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments, 0 /* protect */); 1702 1702 if (!rc && rc2) 1703 1703 rc = rc2; … … 2151 2151 { 2152 2152 /* read */ 2153 rc = k LdrRdrRead(pModMachO->pMod->pRdr, pvSyms, cbSyms, pModMachO->offSymbols);2153 rc = kRdrRead(pModMachO->pMod->pRdr, pvSyms, cbSyms, pModMachO->offSymbols); 2154 2154 if (!rc && pModMachO->cchStrings) 2155 rc = k LdrRdrRead(pModMachO->pMod->pRdr, pvStrings, pModMachO->cchStrings, pModMachO->offStrings);2155 rc = kRdrRead(pModMachO->pMod->pRdr, pvStrings, pModMachO->cchStrings, pModMachO->offStrings); 2156 2156 if (!rc) 2157 2157 { … … 2224 2224 2225 2225 /* read the fixups. */ 2226 rc = k LdrRdrRead(pModMachO->pMod->pRdr, paFixups, cbFixups, offFixups);2226 rc = kRdrRead(pModMachO->pMod->pRdr, paFixups, cbFixups, offFixups); 2227 2227 if (!rc) 2228 2228 { … … 2258 2258 int rc = 0; 2259 2259 if (!pModMachO->pvBits) 2260 rc = k LdrRdrAllMap(pModMachO->pMod->pRdr, &pModMachO->pvBits);2260 rc = kRdrAllMap(pModMachO->pMod->pRdr, &pModMachO->pvBits); 2261 2261 return rc; 2262 2262 } … … 2323 2323 || !pMod->aSegments[i].Alignment) 2324 2324 continue; 2325 rc = k LdrRdrRead(pMod->pRdr,2325 rc = kRdrRead(pMod->pRdr, 2326 2326 (KU8 *)pvBits + (pMod->aSegments[i].LinkAddress - pModMachO->LinkAddress), 2327 2327 pMod->aSegments[i].cbFile, -
trunk/kStuff/kLdr/kLdrModNative.c
r3573 r3578 153 153 * @param ppMod Where to store the module instance pointer. 154 154 */ 155 static int kldrModNativeCreate(PCKLDRMODOPS pOps, PK LDRRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod)156 { 157 int rc = kLdrModOpenNative(k LdrRdrName(pRdr), ppMod);155 static int kldrModNativeCreate(PCKLDRMODOPS pOps, PKRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod) 156 { 157 int rc = kLdrModOpenNative(kRdrName(pRdr), ppMod); 158 158 if (rc) 159 159 return rc; 160 rc = k LdrRdrClose(pRdr);160 rc = kRdrClose(pRdr); 161 161 KLDRMODNATIVE_ASSERT(!rc); 162 162 return 0; -
trunk/kStuff/kLdr/kLdrModPE.c
r3574 r3578 105 105 PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 106 106 107 static int kldrModPEDoCreate(PK LDRRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODPE *ppMod);107 static int kldrModPEDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODPE *ppMod); 108 108 /*static void kldrModPEDoLoadConfigConversion(PIMAGE_LOAD_CONFIG_DIRECTORY64 pLoadCfg); */ 109 109 static int kLdrModPEDoOptionalHeaderValidation(PKLDRMODPE pModPE); … … 134 134 * @param ppMod Where to store the module instance pointer. 135 135 */ 136 static int kldrModPECreate(PCKLDRMODOPS pOps, PK LDRRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod)136 static int kldrModPECreate(PCKLDRMODOPS pOps, PKRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod) 137 137 { 138 138 PKLDRMODPE pModPE; … … 159 159 * simplify cleanup on failure. 160 160 */ 161 static int kldrModPEDoCreate(PK LDRRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODPE *ppModPE)161 static int kldrModPEDoCreate(PKRDR pRdr, KLDRFOFF offNewHdr, PKLDRMODPE *ppModPE) 162 162 { 163 163 struct … … 178 178 * Read the signature and file header. 179 179 */ 180 rc = k LdrRdrRead(pRdr, &s, sizeof(s), offNewHdr > 0 ? offNewHdr : 0);180 rc = kRdrRead(pRdr, &s, sizeof(s), offNewHdr > 0 ? offNewHdr : 0); 181 181 if (rc) 182 182 return rc; … … 199 199 * Calc the instance size, allocate and initialize it. 200 200 */ 201 cchFilename = kHlpStrLen(k LdrRdrName(pRdr));201 cchFilename = kHlpStrLen(kRdrName(pRdr)); 202 202 cb = K_ALIGN_Z(K_OFFSETOF(KLDRMODPE, aShdrs[s.FileHdr.NumberOfSections]), 16) 203 203 + K_OFFSETOF(KLDRMOD, aSegments[s.FileHdr.NumberOfSections + 1]) … … 216 216 pMod->cchFilename = cchFilename; 217 217 pMod->pszFilename = (char *)&pMod->aSegments[pMod->cSegments]; 218 kHlpMemCopy((char *)pMod->pszFilename, k LdrRdrName(pRdr), cchFilename + 1);218 kHlpMemCopy((char *)pMod->pszFilename, kRdrName(pRdr), cchFilename + 1); 219 219 pMod->pszName = kHlpGetFilename(pMod->pszFilename); 220 220 pMod->cchName = cchFilename - (pMod->pszName - pMod->pszFilename); … … 261 261 */ 262 262 off = pModPE->offHdrs + sizeof(pModPE->Hdrs.Signature) + sizeof(pModPE->Hdrs.FileHeader); 263 rc = k LdrRdrRead(pRdr, &pModPE->Hdrs.OptionalHeader, pModPE->Hdrs.FileHeader.SizeOfOptionalHeader, off);263 rc = kRdrRead(pRdr, &pModPE->Hdrs.OptionalHeader, pModPE->Hdrs.FileHeader.SizeOfOptionalHeader, off); 264 264 if (rc) 265 265 return rc; … … 267 267 kldrModPEDoOptionalHeaderConversion(&pModPE->Hdrs.OptionalHeader); 268 268 off += pModPE->Hdrs.FileHeader.SizeOfOptionalHeader; 269 rc = k LdrRdrRead(pRdr, &pModPE->aShdrs[0], sizeof(IMAGE_SECTION_HEADER) * pModPE->Hdrs.FileHeader.NumberOfSections, off);269 rc = kRdrRead(pRdr, &pModPE->aShdrs[0], sizeof(IMAGE_SECTION_HEADER) * pModPE->Hdrs.FileHeader.NumberOfSections, off); 270 270 if (rc) 271 271 return rc; … … 530 530 if (pMod->pRdr) 531 531 { 532 rc = k LdrRdrClose(pMod->pRdr);532 rc = kRdrClose(pMod->pRdr); 533 533 pMod->pRdr = NULL; 534 534 } … … 553 553 { 554 554 PKLDRMOD pMod = pModPE->pMod; 555 unsignedfFixed;555 KBOOL fFixed; 556 556 void *pvBase; 557 557 int rc; … … 575 575 576 576 /* try do the prepare */ 577 rc = k LdrRdrMap(pMod->pRdr, &pvBase, pMod->cSegments, pMod->aSegments, fFixed);577 rc = kRdrMap(pMod->pRdr, &pvBase, pMod->cSegments, pMod->aSegments, fFixed); 578 578 if (rc) 579 579 return rc; … … 616 616 * Try unmap the image. 617 617 */ 618 rc = k LdrRdrUnmap(pMod->pRdr, (void *)pvMapping, pMod->cSegments, pMod->aSegments);618 rc = kRdrUnmap(pMod->pRdr, (void *)pvMapping, pMod->cSegments, pMod->aSegments); 619 619 if (rc) 620 620 return rc; … … 1315 1315 1316 1316 /* the file provider does it all */ 1317 return k LdrRdrRefresh(pMod->pRdr, (void *)pModPE->pvMapping, pMod->cSegments, pMod->aSegments);1317 return kRdrRefresh(pMod->pRdr, (void *)pModPE->pvMapping, pMod->cSegments, pMod->aSegments); 1318 1318 } 1319 1319 … … 1334 1334 * Before doing anything we'll have to make all pages writable. 1335 1335 */ 1336 rc = k LdrRdrProtect(pMod->pRdr, (void *)pModPE->pvMapping, pMod->cSegments, pMod->aSegments, 1 /* unprotect */);1336 rc = kRdrProtect(pMod->pRdr, (void *)pModPE->pvMapping, pMod->cSegments, pMod->aSegments, 1 /* unprotect */); 1337 1337 if (rc) 1338 1338 return rc; … … 1353 1353 * Restore protection. 1354 1354 */ 1355 rc2 = k LdrRdrProtect(pMod->pRdr, (void *)pModPE->pvMapping, pMod->cSegments, pMod->aSegments, 0 /* protect */);1355 rc2 = kRdrProtect(pMod->pRdr, (void *)pModPE->pvMapping, pMod->cSegments, pMod->aSegments, 0 /* protect */); 1356 1356 if (!rc && rc2) 1357 1357 rc = rc2; … … 1914 1914 || !pMod->aSegments[i].Alignment) 1915 1915 continue; 1916 rc = k LdrRdrRead(pMod->pRdr,1916 rc = kRdrRead(pMod->pRdr, 1917 1917 (KU8 *)pvBits + (pMod->aSegments[i].LinkAddress - pModPE->Hdrs.OptionalHeader.ImageBase), 1918 1918 pMod->aSegments[i].cbFile, -
trunk/kStuff/kRdr/kRdr.cpp
r3547 r3578 44 44 * @param pAdd The new file provider. 45 45 */ 46 voidkRdrAddProvider(PKRDROPS pAdd)46 KRDR_DECL(void) kRdrAddProvider(PKRDROPS pAdd) 47 47 { 48 48 pAdd->pNext = g_pRdrHead; … … 58 58 * @param pszFilename The filename. 59 59 */ 60 intkRdrOpen(PPKRDR ppRdr, const char *pszFilename)60 KRDR_DECL(int) kRdrOpen(PPKRDR ppRdr, const char *pszFilename) 61 61 { 62 62 int rc = -1; … … 79 79 * @param pRdr The file provider instance. 80 80 */ 81 intkRdrClose(PKRDR pRdr)81 KRDR_DECL(int) kRdrClose(PKRDR pRdr) 82 82 { 83 83 KRDR_VALIDATE(pRdr); … … 94 94 * @param off Where to start reading. 95 95 */ 96 intkRdrRead(PKRDR pRdr, void *pvBuf, KSIZE cb, KFOFF off)96 KRDR_DECL(int) kRdrRead(PKRDR pRdr, void *pvBuf, KSIZE cb, KFOFF off) 97 97 { 98 98 KRDR_VALIDATE(pRdr); … … 108 108 * The size can be obtained using pfnSize. 109 109 */ 110 intkRdrAllMap(PKRDR pRdr, const void **ppvBits)110 KRDR_DECL(int) kRdrAllMap(PKRDR pRdr, const void **ppvBits) 111 111 { 112 112 KRDR_VALIDATE(pRdr); … … 121 121 * @param pvBits The mapping address. 122 122 */ 123 intkRdrAllUnmap(PKRDR pRdr, const void *pvBits)123 KRDR_DECL(int) kRdrAllUnmap(PKRDR pRdr, const void *pvBits) 124 124 { 125 125 KRDR_VALIDATE(pRdr); … … 133 133 * @param pRdr The file provider instance. 134 134 */ 135 K FOFFkRdrSize(PKRDR pRdr)135 KRDR_DECL(KFOFF) kRdrSize(PKRDR pRdr) 136 136 { 137 137 KRDR_VALIDATE(pRdr); … … 145 145 * @param pRdr The file provider instance. 146 146 */ 147 K FOFFkRdrTell(PKRDR pRdr)147 KRDR_DECL(KFOFF) kRdrTell(PKRDR pRdr) 148 148 { 149 149 KRDR_VALIDATE(pRdr); … … 157 157 * @param pRdr The file provider instance. 158 158 */ 159 const char *kRdrName(PKRDR pRdr)159 KRDR_DECL(const char *) kRdrName(PKRDR pRdr) 160 160 { 161 161 KRDR_VALIDATE_EX(pRdr, NULL); … … 169 169 * @param pRdr The file provider instance. 170 170 */ 171 K IPTRkRdrNativeFH(PKRDR pRdr)171 KRDR_DECL(KIPTR) kRdrNativeFH(PKRDR pRdr) 172 172 { 173 173 KRDR_VALIDATE_EX(pRdr, -1); … … 182 182 * @param pRdr The file provider instance. 183 183 */ 184 K SIZEkRdrPageSize(PKRDR pRdr)184 KRDR_DECL(KSIZE) kRdrPageSize(PKRDR pRdr) 185 185 { 186 186 KRDR_VALIDATE_EX(pRdr, 0x10000); … … 203 203 * @param fFixed If set, the address at *ppvBase should be the base address of the mapping. 204 204 */ 205 int kRdrMap(PKRDR pRdr, void **ppvBase, KU32 cSegments, PCKLDRSEG paSegments, unsignedfFixed)205 KRDR_DECL(int) kRdrMap(PKRDR pRdr, void **ppvBase, KU32 cSegments, PCKLDRSEG paSegments, KBOOL fFixed) 206 206 { 207 207 KRDR_VALIDATE(pRdr); … … 219 219 * @param paSegments The segments thats going to be mapped. 220 220 */ 221 intkRdrRefresh(PKRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments)221 KRDR_DECL(int) kRdrRefresh(PKRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments) 222 222 { 223 223 KRDR_VALIDATE(pRdr); … … 240 240 * When clean the segment protection is restored. 241 241 */ 242 int kRdrProtect(PKRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments, unsignedfUnprotectOrProtect)242 KRDR_DECL(int) kRdrProtect(PKRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments, KBOOL fUnprotectOrProtect) 243 243 { 244 244 KRDR_VALIDATE(pRdr); … … 256 256 * @param paSegments The segments thats going to be mapped. 257 257 */ 258 intkRdrUnmap(PKRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments)258 KRDR_DECL(int) kRdrUnmap(PKRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments) 259 259 { 260 260 KRDR_VALIDATE(pRdr); … … 271 271 * @param pRdr The file provider instance. 272 272 */ 273 voidkRdrDone(PKRDR pRdr)273 KRDR_DECL(void) kRdrDone(PKRDR pRdr) 274 274 { 275 275 KRDR_VALIDATE_VOID(pRdr); -
trunk/kStuff/kRdr/kRdrFile.cpp
r3571 r3578 1172 1172 * Initialize it and return successfully. 1173 1173 */ 1174 pRdrFile->Core.u32Magic = K LDRRDR_MAGIC;1174 pRdrFile->Core.u32Magic = KRDR_MAGIC; 1175 1175 pRdrFile->Core.pOps = &g_kRdrFileOps; 1176 1176 pRdrFile->File = File; -
trunk/kStuff/kRdr/kRdrInternal.h
r3550 r3578 25 25 */ 26 26 27 #ifndef ___kRdrInternal_h__ 28 #define ___kRdrInternal_h__ 27 #ifndef ___kRdrInternal_h___ 28 #define ___kRdrInternal_h___ 29 29 30 30 #include <k/kHlpAssert.h>
Note:
See TracChangeset
for help on using the changeset viewer.