Replaced global Callbacks structure by appropriate glue code
generation. Removed a few unused entries in the Callout structure.

diff --git a/loader/ne/segment.c b/loader/ne/segment.c
index 6da6371..2c89b2a 100644
--- a/loader/ne/segment.c
+++ b/loader/ne/segment.c
@@ -21,7 +21,6 @@
 #include "global.h"
 #include "task.h"
 #include "selectors.h"
-#include "callback.h"
 #include "file.h"
 #include "module.h"
 #include "stackframe.h"
@@ -29,15 +28,20 @@
 #include "debugtools.h"
 #include "toolhelp.h"
 
-DECLARE_DEBUG_CHANNEL(dll)
-DECLARE_DEBUG_CHANNEL(fixup)
-DECLARE_DEBUG_CHANNEL(module)
-DECLARE_DEBUG_CHANNEL(segment)
+DECLARE_DEBUG_CHANNEL(dll);
+DECLARE_DEBUG_CHANNEL(fixup);
+DECLARE_DEBUG_CHANNEL(module);
+DECLARE_DEBUG_CHANNEL(segment);
 
 #define SEL(x) ((x)|1)
 
 static void NE_FixupSegmentPrologs(NE_MODULE *pModule, WORD segnum);
 
+/* ### start build ### */
+extern WORD CALLBACK NE_CallTo16_word_ww(FARPROC16,WORD,WORD);
+extern WORD CALLBACK NE_CallTo16_word_www(FARPROC16,WORD,WORD,WORD);
+/* ### stop build ### */
+
 /***********************************************************************
  *           NE_GetRelocAddrName
  */
@@ -121,9 +125,8 @@
         DuplicateHandle( GetCurrentProcess(), hf, GetCurrentProcess(), &hFile32,
                          0, FALSE, DUPLICATE_SAME_ACCESS );
         hFile16 = FILE_AllocDosHandle( hFile32 );
- 	pSeg->hSeg = Callbacks->CallLoadAppSegProc( selfloadheader->LoadAppSeg,
-                                                    pModule->self, hFile16,
-                                                    segnum );
+ 	pSeg->hSeg = NE_CallTo16_word_www( selfloadheader->LoadAppSeg,
+                                           pModule->self, hFile16, segnum );
 	TRACE_(dll)("Ret CallLoadAppSegProc: hSeg = 0x%04x\n", pSeg->hSeg);
         _lclose16( hFile16 );
  	NtCurrentTeb()->cur_stack = oldstack;
@@ -420,7 +423,7 @@
         hFile16 = FILE_AllocDosHandle( hf );
         TRACE_(dll)("CallBootAppProc(hModule=0x%04x,hf=0x%04x)\n",
               pModule->self,hFile16);
-        Callbacks->CallBootAppProc(selfloadheader->BootApp, pModule->self,hFile16);
+        NE_CallTo16_word_ww(selfloadheader->BootApp, pModule->self,hFile16);
 	TRACE_(dll)("Return from CallBootAppProc\n");
         _lclose16(hf);
         NtCurrentTeb()->cur_stack = oldstack;
@@ -627,7 +630,7 @@
     TRACE_(dll)("Calling LibMain, cs:ip=%04lx:%04lx ds=%04lx di=%04x cx=%04x\n", 
                  CS_reg(&context), EIP_reg(&context), DS_reg(&context),
                  DI_reg(&context), CX_reg(&context) );
-    Callbacks->CallRegisterShortProc( &context, 0 );
+    CallTo16RegisterShort( &context, 0 );
     return TRUE;
 }
 
@@ -712,7 +715,7 @@
         *(DWORD *)(stack - 14) = 0;             /* dwReserved1 */
         *(WORD *) (stack - 16) = 0;             /* wReserved2 */
 
-        Callbacks->CallRegisterShortProc( &context, 16 );
+        CallTo16RegisterShort( &context, 16 );
     }
 }