Changeset 3578 for trunk/kStuff/include/k
- Timestamp:
- Sep 2, 2007, 10:55:51 PM (18 years ago)
- Location:
- trunk/kStuff/include/k
- Files:
-
- 3 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
Note:
See TracChangeset
for help on using the changeset viewer.