+++ /dev/null
-
-#ifdef CROSSNT_DECL
-#undef CROSSNT_DECL
-#undef CROSSNT_DECL_EX
-#endif //CROSSNT_DECL
-
-/***************************/
-#ifdef CROSSNT_DECL_API
-
-#define CROSSNT_DECL(type, dspec, name, args, callargs) \
-typedef type (dspec *ptr##name) args; \
-extern "C" ptr##name CrNt##name; \
-type dspec CrNt##name##_impl args;
-
-#define CROSSNT_DECL_EX(mod, type, dspec, name, args, callargs) \
-typedef type (dspec *ptr##name) args; \
-extern "C" ptr##name CrNt##name; \
-type dspec CrNt##name##_impl args;
-
-#endif //CROSSNT_DECL_API
-
-/***************************/
-#ifdef CROSSNT_DECL_STUB
-
-#define CROSSNT_DECL(type, dspec, name, args, callargs) \
-extern "C" ptr##name CrNt##name = NULL; \
-
-#define CROSSNT_DECL_EX(mod, type, dspec, name, args, callargs) \
-extern "C" ptr##name CrNt##name = NULL; \
-
-#endif //CROSSNT_DECL_STUB
-
-/***************************/
-#ifdef CROSSNT_INIT_STUB
-
-#define CROSSNT_DECL(type, dspec, name, args, callargs) \
- KdPrint(("Init " #name " cur %x\n", CrNt##name)); \
- if(!CrNt##name) { \
- CrNt##name = (ptr##name)CrNtGetProcAddress(g_hNtosKrnl, #name); \
- KdPrint((" GetProcAddr(NTOSKRNL.EXE," #name ") = %x\n", CrNt##name)); \
- if(!CrNt##name) { \
- CrNt##name = CrNt##name##_impl; \
- } \
- KdPrint((" final %\n", CrNt##name)); \
- }
-
-#define CROSSNT_DECL_EX(mod, type, dspec, name, args, callargs) \
- KdPrint(("Init " mod "," #name " cur %x\n", CrNt##name)); \
- if(!CrNt##name) { \
- CrNt##name = (ptr##name)CrNtGetProcAddress(CrNtGetModuleBase(mod), #name); \
- KdPrint((" GetProcAddr(" mod "," #name ") = %x\n", CrNt##name)); \
- if(!CrNt##name) { \
- CrNt##name = CrNt##name##_impl; \
- } \
- KdPrint((" final %x\n", CrNt##name)); \
- }
-
-#endif //CROSSNT_INIT_STUB