Index: trunk/src/winspool/winspool.cpp
===================================================================
--- trunk/src/winspool/winspool.cpp	(revision 581)
+++ trunk/src/winspool/winspool.cpp	(revision 582)
@@ -1,3 +1,3 @@
-/* $Id: winspool.cpp,v 1.2 1999-06-10 16:19:02 phaller Exp $ */
+/* $Id: winspool.cpp,v 1.3 1999-08-19 16:26:00 phaller Exp $ */
 
 /*
@@ -5,13 +5,17 @@
  * Project Odin Software License can be found in LICENSE.TXT
  *
+ * WINSPOOL stubs
+ *
+ * Copyright 1998 Patrick Haller
+ *
  */
-/*
- * WINSPOOL stubs
- *
- * Copyright 1998 Patrick Haller
- *
- */
+
+/****************************************************************************
+ * Includes                                                                 *
+ ****************************************************************************/
+
 #include <os2win.h>
 #include <winspool.h>
+#include <odinwrap.h>
 
 #include <stdio.h>
@@ -21,60 +25,112 @@
 
 
-/******************************************************************************/
-//DWORD dwType;	/* printer type or types	*/
-//LPSTR lpszName;	/* name of printer object	*/
-//DWORD dwLevel;	/* structure level	*/
-//LPBYTE lpbPrinters;	/* printer info array	*/
-//DWORD cbBuf;	/* address of structure count of bytes in array	*/
-//LPDWORD lpdwNeeded;	/* addr. of variable with no. of bytes copied (or required)	*/
-//LPDWORD lpdwReturned;	/* addr. of variable with no. of printer info. structures copied	*/
-/******************************************************************************/
-BOOL WIN32API EnumPrintersA(DWORD dwType, LPTSTR lpszName, DWORD dwLevel, 
-			       LPBYTE lpbPrinters, DWORD cbBuf, 
-			       LPDWORD lpdwNeeded, LPDWORD lpdwReturned)
-{
-   dprintf(("EnumPrintersA\n"));
-
-   return(O32_EnumPrinters(dwType, lpszName, dwLevel, lpbPrinters, cbBuf,
-	  	           lpdwNeeded, lpdwReturned));
-}
-/******************************************************************************/
-/******************************************************************************/
-BOOL WIN32API ClosePrinter(HANDLE hPrinter)
+ODINDEBUGCHANNEL(WINSPOOL)
+
+
+/*****************************************************************************
+ * Name      : BOOL EnumPrintersA
+ * Purpose   :
+ * Parameters:
+ * Variables :
+ * Result    :
+ * Remark    :
+ * Status    : UNTESTED STUB
+ *
+ * Author    : Markus Montkowski [09.07.98 13:39:08]
+ *****************************************************************************/
+
+ODINFUNCTION7(BOOL,    EnumPrintersA,
+              DWORD,   dwType,
+              LPTSTR,  lpszName,
+              DWORD,   dwLevel,
+              LPBYTE,  lpbPrinters,
+              DWORD,   cbBuf,
+              LPDWORD, lpdwNeeded,
+              LPDWORD, lpdwReturned)
+{
+   return(O32_EnumPrinters(dwType,
+                           lpszName,
+                           dwLevel,
+                           lpbPrinters,
+                           cbBuf,
+                           lpdwNeeded,
+                           lpdwReturned));
+}
+
+
+/*****************************************************************************
+ * Name      : BOOL ClosePrinter
+ * Purpose   :
+ * Parameters:
+ * Variables :
+ * Result    :
+ * Remark    :
+ * Status    : UNTESTED STUB
+ *
+ * Author    : Markus Montkowski [09.07.98 13:39:08]
+ *****************************************************************************/
+
+ODINFUNCTION1(BOOL, ClosePrinter,
+              HANDLE, hPrinter)
 {
   dprintf(("ClosePrinter, not implemented\n"));
   return(TRUE);
 }
-/******************************************************************************/
-/******************************************************************************/
-BOOL WIN32API OpenPrinterA(LPSTR pPrinterName, HANDLE * phPrinter, PRINTER_DEFAULTSA *pDefault)
+
+
+/*****************************************************************************
+ * Name      : BOOL OpenPrinterA
+ * Purpose   :
+ * Parameters:
+ * Variables :
+ * Result    :
+ * Remark    :
+ * Status    : UNTESTED STUB
+ *
+ * Author    : Markus Montkowski [09.07.98 13:39:08]
+ *****************************************************************************/
+
+ODINFUNCTION3(BOOL, OpenPrinterA,
+              LPSTR, pPrinterName,
+              HANDLE *, phPrinter,
+              PRINTER_DEFAULTSA *, pDefault)
 {
   dprintf(("OpenPrinterA, not implemented\n"));
   return(FALSE);
 }
-/******************************************************************************/
-//HWND hwnd;	/* handle of window that displays dialog box	*/
-//HANDLE hPrinter;	/* handle of printer object	*/
-//LPSTR pDeviceName;	/* address of device name	*/
-//LPDEVMODEA pdmOutput;	/* address of modified device mode structure	*/
-//LPDEVMODEA pdmInput;	/* address of original device mode structure	*/
-//DWORD fMode;	/* mode flag	*/
-/******************************************************************************/
-LONG WIN32API DocumentPropertiesA(HWND hwnd, HANDLE hPrinter, LPSTR lpszDeviceName, 
-				     LPDEVMODEA pdmOutput, LPDEVMODEA pdmInput, DWORD fMode)
+
+
+/*****************************************************************************
+ * Name      : LONG DocumentPropertiesA
+ * Purpose   :
+ * Parameters:
+ * Variables :
+ * Result    :
+ * Remark    :
+ * Status    : UNTESTED STUB
+ *
+ * Author    : Markus Montkowski [09.07.98 13:39:08]
+ *****************************************************************************/
+
+ODINFUNCTION6(LONG, DocumentPropertiesA,
+              HWND, hwnd,
+              HANDLE, hPrinter,
+              LPSTR, lpszDeviceName,
+              LPDEVMODEA, pdmOutput,
+              LPDEVMODEA, pdmInput,
+              DWORD, fMode)
 {
   dprintf(("DocumentPropertiesA, not implemented\n"));
   return(-1);
 }
-/******************************************************************************/
-/******************************************************************************/
-
- /*****************************************************************************
+
+
+/*****************************************************************************
  * Name      : BOOL AbortPrinter
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -83,26 +139,24 @@
  * Author    : Markus Montkowski [09.07.98 13:39:08]
  *****************************************************************************/
-BOOL WIN32API AbortPrinter(
-                              HANDLE hPrinter
-                              )
-
-{
-
-  dprintf(("WINSPOOL: AbortPrinter(%u) not implemented\n"
-           ,hPrinter
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, AbortPrinter,
+              HANDLE, hPrinter)
+
+{
+  dprintf(("WINSPOOL: AbortPrinter not implemented\n"));
+  return (FALSE);
+}
+
+
+
+/*****************************************************************************
  * Name      : BOOL AddFormA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             DWORD  Level     data-structure level
  *             LPBYTE pForm     pointer to form info. data structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -111,16 +165,11 @@
  * Author    : Markus Montkowski [09.07.98 13:47:45]
  *****************************************************************************/
-BOOL WIN32API AddFormA(
-                         HANDLE hPrinter,
-                         DWORD Level,
-                         LPBYTE pForm
-                         )
-
-{
-
-  dprintf(("WINSPOOL: AddFormA(%u, %d, %08x) not implemented\n"
-           ,hPrinter, Level, pForm
-         ));
-
+
+ODINFUNCTION3(BOOL, AddFormA,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pForm)
+{
+  dprintf(("WINSPOOL: AddFormA not implemented\n"));
   return (FALSE);
 }
@@ -128,11 +177,11 @@
 /*****************************************************************************
  * Name      : BOOL AddFormW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             DWORD  Level     data-structure level
  *             LPBYTE pForm     pointer to form info. data structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -141,22 +190,18 @@
  * Author    : Markus Montkowski [09.07.98 13:47:45]
  *****************************************************************************/
-BOOL WIN32API AddFormW(
-                         HANDLE hPrinter,
-                         DWORD Level,
-                         LPBYTE pForm
-                         )
-
-{
-
-  dprintf(("WINSPOOL: AddFormW(%u, %d, %08x) not implemented\n"
-           ,hPrinter, Level, pForm
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, AddFormW,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pForm)
+{
+  dprintf(("WINSPOOL: AddFormW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddJobA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  specifies printer for the print job
  *             DWORD Level  specifies version of print job information data structure
@@ -164,7 +209,7 @@
  *             DWORD cbBuf  specifies size of buffer pointed to by pData
  *             LPDWORD pcbNeeded  pointer to variable to receive size of print job information data
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -173,18 +218,13 @@
  * Author    : Markus Montkowski [09.07.98 13:50:28]
  *****************************************************************************/
-BOOL WIN32API AddJobA(
-                        HANDLE hPrinter,
-                        DWORD Level,
-                        LPBYTE pData,
-                        DWORD cbBuf,
-                        LPDWORD pcbNeeded
-                        )
-
-{
-
-  dprintf(("WINSPOOL: AddJobA(%u, %d, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, Level, pData, cbBuf, pcbNeeded
-         ));
-
+
+ODINFUNCTION5(BOOL, AddJobA,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pData,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: AddJobA not implemented\n"));
   return (FALSE);
 }
@@ -192,16 +232,16 @@
 /*****************************************************************************
  * Name      : BOOL AddJobW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE  hPrinter   specifies printer for the print job
- *             DWORD   Level      specifies version of print job information 
+ *             DWORD   Level      specifies version of print job information
  *                                data structure
- *             LPBYTE  pData      pointer to buffer to receive print job 
+ *             LPBYTE  pData      pointer to buffer to receive print job
  *                                information data
  *             DWORD   cbBuf      specifies size of buffer pointed to by pData
- *             LPDWORD pcbNeeded  pointer to variable to receive size of print 
+ *             LPDWORD pcbNeeded  pointer to variable to receive size of print
  *                                job information data
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -210,29 +250,26 @@
  * Author    : Markus Montkowski [09.07.98 13:50:28]
  *****************************************************************************/
-BOOL WIN32API AddJobW(
-                        HANDLE hPrinter,
-                        DWORD Level,
-                        LPBYTE pData,
-                        DWORD cbBuf,
-                        LPDWORD pcbNeeded
-                        )
-
-{
-
-  dprintf(("WINSPOOL: AddJobW(%u, %d, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, Level, pData, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
- /*****************************************************************************
+
+ODINFUNCTION5(BOOL, AddJobW,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pData,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: AddJobW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddMonitorA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             DWORD Level  monitor info. structure level
  *             LPBYTE pMonitors  pointer to monitor info. structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -241,28 +278,24 @@
  * Author    : Markus Montkowski [09.07.98 14:15:55]
  *****************************************************************************/
-BOOL WIN32API AddMonitorA(
-                             LPSTR pName,
-                             DWORD Level,
-                             LPBYTE pMonitors
-                             )
-
-{
-
-  dprintf(("WINSPOOL: AddMonitorA(%s, %d, %08x) not implemented\n"
-           ,pName, Level, pMonitors
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, AddMonitorA,
+              LPSTR, pName,
+              DWORD, Level,
+              LPBYTE, pMonitors)
+{
+  dprintf(("WINSPOOL: AddMonitorA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddMonitorW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             DWORD Level  monitor info. structure level
  *             LPBYTE pMonitors  pointer to monitor info. structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -271,28 +304,24 @@
  * Author    : Markus Montkowski [09.07.98 14:15:55]
  *****************************************************************************/
-BOOL WIN32API AddMonitorW(
-                             LPWSTR pName,
-                             DWORD Level,
-                             LPBYTE pMonitors
-                             )
-
-{
-
-  dprintf(("WINSPOOL: AddMonitorW(%s, %d, %08x)not implemented\n"
-           ,pName, Level, pMonitors
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, AddMonitorW,
+              LPWSTR, pName,
+              DWORD, Level,
+              LPBYTE, pMonitors)
+{
+  dprintf(("WINSPOOL: AddMonitorW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddPortA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to a server name
  *             HWND hWnd  handle to parent window
  *             LPSTR pMonitorName  pointer to a monitor name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -301,28 +330,24 @@
  * Author    : Markus Montkowski [09.07.98 14:16:31]
  *****************************************************************************/
-BOOL WIN32API AddPortA(
-                          LPSTR pName,
-                          HWND hWnd,
-                          LPSTR pMonitorName
-                          )
-
-{
-
-  dprintf(("WINSPOOL: AddPortA(%s, %d, %s) not implemented\n"
-           ,pName, hWnd, pMonitorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, AddPortA,
+              LPSTR, pName,
+              HWND, hWnd,
+              LPSTR, pMonitorName)
+{
+  dprintf(("WINSPOOL: AddPortA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddPortW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to a server name
  *             HWND hWnd  handle to parent window
  *             LPWSTR pMonitorName  pointer to a monitor name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -331,29 +356,25 @@
  * Author    : Markus Montkowski [09.07.98 14:16:31]
  *****************************************************************************/
-BOOL WIN32API AddPortW(
-                          LPWSTR pName,
-                          HWND hWnd,
-                          LPWSTR pMonitorName
-                          )
-
-{
-
-  dprintf(("WINSPOOL: AddPortW(%s, %d, %s)not implemented\n"
-           ,pName, hWnd, pMonitorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, AddPortW,
+              LPWSTR, pName,
+              HWND, hWnd,
+              LPWSTR, pMonitorName)
+{
+  dprintf(("WINSPOOL: AddPortW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddPrintProcessorA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             LPSTR pEnvironment  pointer to environment name
  *             LPSTR pPathName  pointer to path
  *             LPSTR pPrintProcessorName  pointer to print-processor name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -362,30 +383,26 @@
  * Author    : Markus Montkowski [09.07.98 14:17:46]
  *****************************************************************************/
-BOOL WIN32API AddPrintProcessorA(
-                                    LPSTR pName,
-                                    LPSTR pEnvironment,
-                                    LPSTR pPathName,
-                                    LPSTR pPrintProcessorName
-                                    )
-
-{
-
-  dprintf(("WINSPOOL: AddPrintProcessorA(%s, %s, %s, %s) not implemented\n"
-           ,pName, pEnvironment, pPathName, pPrintProcessorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION4(BOOL, AddPrintProcessorA,
+              LPSTR, pName,
+              LPSTR, pEnvironment,
+              LPSTR, pPathName,
+              LPSTR, pPrintProcessorName)
+{
+  dprintf(("WINSPOOL: AddPrintProcessorA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddPrintProcessorW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             LPWSTR pEnvironment  pointer to environment name
  *             LPWSTR pPathName  pointer to path
  *             LPWSTR pPrintProcessorName  pointer to print-processor name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -394,29 +411,25 @@
  * Author    : Markus Montkowski [09.07.98 14:17:46]
  *****************************************************************************/
-BOOL WIN32API AddPrintProcessorW(
-                                    LPWSTR pName,
-                                    LPWSTR pEnvironment,
-                                    LPWSTR pPathName,
-                                    LPWSTR pPrintProcessorName
-                                    )
-
-{
-
-  dprintf(("WINSPOOL: AddPrintProcessorW(%s, %s, %s, %s)not implemented\n"
-           ,pName, pEnvironment, pPathName, pPrintProcessorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION4(BOOL, AddPrintProcessorW,
+              LPWSTR, pName,
+              LPWSTR, pEnvironment,
+              LPWSTR, pPathName,
+              LPWSTR, pPrintProcessorName)
+{
+  dprintf(("WINSPOOL: AddPrintProcessorW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddPrintProvidorA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             DWORD Level  provider information structure level
  *             LPBYTE pProvidorInfo  pointer to provider information structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -425,28 +438,24 @@
  * Author    : Markus Montkowski [09.07.98 14:18:16]
  *****************************************************************************/
-BOOL WIN32API AddPrintProvidorA(
-                                   LPSTR pName,
-                                   DWORD Level,
-                                   LPBYTE pProvidorInfo
-                                   )
-
-{
-
-  dprintf(("WINSPOOL: AddPrintProvidorA(%s, %d, %08x) not implemented\n"
-           ,pName, Level, pProvidorInfo
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, AddPrintProvidorA,
+              LPSTR, pName,
+              DWORD, Level,
+              LPBYTE, pProvidorInfo)
+{
+  dprintf(("WINSPOOL: AddPrintProvidorA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddPrintProvidorW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             DWORD Level  provider information structure level
  *             LPBYTE pProvidorInfo  pointer to provider information structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -455,28 +464,24 @@
  * Author    : Markus Montkowski [09.07.98 14:18:16]
  *****************************************************************************/
-BOOL WIN32API AddPrintProvidorW(
-                                   LPWSTR pName,
-                                   DWORD Level,
-                                   LPBYTE pProvidorInfo
-                                   )
-
-{
-
-  dprintf(("WINSPOOL: AddPrintProvidorW(%s, %d, %08x)not implemented\n"
-           ,pName, Level, pProvidorInfo
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, AddPrintProvidorW,
+              LPWSTR, pName,
+              DWORD, Level,
+              LPBYTE, pProvidorInfo)
+{
+  dprintf(("WINSPOOL: AddPrintProvidorW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : HANDLE AddPrinterA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             DWORD Level  printer info. structure level
  *             LPBYTE pPrinter  pointer to structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -485,28 +490,24 @@
  * Author    : Markus Montkowski [09.07.98 14:18:56]
  *****************************************************************************/
-HANDLE WIN32API AddPrinterA(
-                               LPSTR pName,
-                               DWORD Level,
-                               LPBYTE pPrinter
-                               )
-
-{
-
-  dprintf(("WINSPOOL: AddPrinterA(%s, %d, %08x) not implemented\n"
-           ,pName, Level, pPrinter
-         ));
-
+
+ODINFUNCTION3(HANDLE, AddPrinterA,
+              LPSTR, pName,
+              DWORD, Level,
+              LPBYTE, pPrinter)
+{
+  dprintf(("WINSPOOL: AddPrinterA not implemented\n"));
   return (NULL);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : HANDLE AddPrinterW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             DWORD Level  printer info. structure level
  *             LPBYTE pPrinter  pointer to structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -515,26 +516,22 @@
  * Author    : Markus Montkowski [09.07.98 14:18:56]
  *****************************************************************************/
-HANDLE WIN32API AddPrinterW(
-                               LPWSTR pName,
-                               DWORD Level,
-                               LPBYTE pPrinter
-                               )
-
-{
-
-  dprintf(("WINSPOOL: AddPrinterW(%s, %d, %08x)not implemented\n"
-           ,pName, Level, pPrinter
-         ));
-
+
+ODINFUNCTION3(HANDLE, AddPrinterW,
+              LPWSTR, pName,
+              DWORD, Level,
+              LPBYTE, pPrinter)
+{
+  dprintf(("WINSPOOL: AddPrinterW not implemented\n"));
   return (NULL);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : BOOL AddPrinterConnectionA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to printer name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -543,24 +540,20 @@
  * Author    : Markus Montkowski [09.07.98 14:19:22]
  *****************************************************************************/
-BOOL WIN32API AddPrinterConnectionA(
-                                       LPSTR pName
-                                       )
-
-{
-
-  dprintf(("WINSPOOL: AddPrinterConnectionA(%s) not implemented\n"
-           ,pName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, AddPrinterConnectionA,
+              LPSTR, pName)
+{
+  dprintf(("WINSPOOL: AddPrinterConnectionA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddPrinterConnectionW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to printer name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -569,26 +562,22 @@
  * Author    : Markus Montkowski [09.07.98 14:19:22]
  *****************************************************************************/
-BOOL WIN32API AddPrinterConnectionW(
-                                       LPWSTR pName
-                                       )
-
-{
-
-  dprintf(("WINSPOOL: AddPrinterConnectionW(%s)not implemented\n"
-           ,pName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, AddPrinterConnectionW,
+              LPWSTR, pName)
+{
+  dprintf(("WINSPOOL: AddPrinterConnectionW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddPrinterDriverA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             DWORD Level  printer info. structure level
  *             LPBYTE pDriverInfo  pointer to printer info. structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -597,28 +586,24 @@
  * Author    : Markus Montkowski [09.07.98 14:20:04]
  *****************************************************************************/
-BOOL WIN32API AddPrinterDriverA(
-                                   LPSTR pName,
-                                   DWORD Level,
-                                   LPBYTE pDriverInfo
-                                   )
-
-{
-
-  dprintf(("WINSPOOL: AddPrinterDriverA(%s, %d, %08x) not implemented\n"
-           ,pName, Level, pDriverInfo
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, AddPrinterDriverA,
+              LPSTR, pName,
+              DWORD, Level,
+              LPBYTE, pDriverInfo)
+{
+  dprintf(("WINSPOOL: AddPrinterDriverA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL AddPrinterDriverW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             DWORD Level  printer info. structure level
  *             LPBYTE pDriverInfo  pointer to printer info. structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -627,22 +612,18 @@
  * Author    : Markus Montkowski [09.07.98 14:20:04]
  *****************************************************************************/
-BOOL WIN32API AddPrinterDriverW(
-                                   LPWSTR pName,
-                                   DWORD Level,
-                                   LPBYTE pDriverInfo
-                                   )
-
-{
-
-  dprintf(("WINSPOOL: AddPrinterDriverW(%s, %d, %08x)not implemented\n"
-           ,pName, Level, pDriverInfo
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, AddPrinterDriverW,
+              LPWSTR, pName,
+              DWORD, Level,
+              LPBYTE, pDriverInfo)
+{
+  dprintf(("WINSPOOL: AddPrinterDriverW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : LONG AdvancedDocumentPropertiesA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HWND hWnd  handle to dialog box's parent window
  *             HANDLE hPrinter  handle to printer object
@@ -650,7 +631,7 @@
  *             LPDEVMODEA pDevModeInput  pointer to modified device mode structure
  *             LPDEVMODEA pDevModeInput  pointer to original device mode structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -659,24 +640,20 @@
  * Author    : Markus Montkowski [09.07.98 14:21:59]
  *****************************************************************************/
-LONG WIN32API AdvancedDocumentPropertiesA(
-                                             HWND hWnd,
-                                             HANDLE hPrinter,
-                                             LPSTR pDeviceName,
-                                             LPDEVMODEA pDevModeOutput,
-                                             LPDEVMODEA pDevModeInput
-                                             )
-
-{
-
-  dprintf(("WINSPOOL: AdvancedDocumentPropertiesA(%d, %u, %s, %08x, %08x) not implemented\n"
-           ,hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput
-         ));
-
+
+ODINFUNCTION5(LONG, AdvancedDocumentPropertiesA,
+              HWND, hWnd,
+              HANDLE, hPrinter,
+              LPSTR, pDeviceName,
+              LPDEVMODEA, pDevModeOutput,
+              LPDEVMODEA, pDevModeInput)
+{
+  dprintf(("WINSPOOL: AdvancedDocumentPropertiesA not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : LONG AdvancedDocumentPropertiesW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HWND hWnd  handle to dialog box's parent window
  *             HANDLE hPrinter  handle to printer object
@@ -684,7 +661,7 @@
  *             LPDEVMODEW pDevModeOutput  pointer to modified device mode structure
  *             LPDEVMODEW pDevModeInput  pointer to original device mode structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -693,30 +670,26 @@
  * Author    : Markus Montkowski [09.07.98 14:21:59]
  *****************************************************************************/
-LONG WIN32API AdvancedDocumentPropertiesW(
-                                             HWND hWnd,
-                                             HANDLE hPrinter,
-                                             LPWSTR pDeviceName,
-                                             LPDEVMODEW pDevModeOutput,
-                                             LPDEVMODEW pDevModeInput
-                                             )
-
-{
-
-  dprintf(("WINSPOOL: AdvancedDocumentPropertiesW(%d, %u, %s, %08x, %08x)not implemented\n"
-           ,hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput
-         ));
-
+
+ODINFUNCTION5(LONG, AdvancedDocumentPropertiesW,
+              HWND, hWnd,
+              HANDLE, hPrinter,
+              LPWSTR, pDeviceName,
+              LPDEVMODEW, pDevModeOutput,
+              LPDEVMODEW, pDevModeInput)
+{
+  dprintf(("WINSPOOL: AdvancedDocumentPropertiesW not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : BOOL ConfigurePortA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             HWND hWnd  handle to parent window of the dialog box
  *             LPSTR pPortName  pointer to port name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -725,28 +698,24 @@
  * Author    : Markus Montkowski [09.07.98 14:24:42]
  *****************************************************************************/
-BOOL WIN32API ConfigurePortA(
-                                LPSTR pName,
-                                HWND hWnd,
-                                LPSTR pPortName
-                                )
-
-{
-
-  dprintf(("WINSPOOL: ConfigurePortA(%s, %d, %s) not implemented\n"
-           ,pName, hWnd, pPortName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, ConfigurePortA,
+              LPSTR, pName,
+              HWND, hWnd,
+              LPSTR, pPortName)
+{
+  dprintf(("WINSPOOL: ConfigurePortA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL ConfigurePortW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             HWND hWnd  handle to parent window of the dialog box
  *             LPWSTR pPortName  pointer to port name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -755,27 +724,23 @@
  * Author    : Markus Montkowski [09.07.98 14:24:43]
  *****************************************************************************/
-BOOL WIN32API ConfigurePortW(
-                                LPWSTR pName,
-                                HWND hWnd,
-                                LPWSTR pPortName
-                                )
-
-{
-
-  dprintf(("WINSPOOL: ConfigurePortW(%s, %d, %s)not implemented\n"
-           ,pName, hWnd, pPortName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, ConfigurePortW,
+              LPWSTR, pName,
+              HWND, hWnd,
+              LPWSTR, pPortName)
+{
+  dprintf(("WINSPOOL: ConfigurePortW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : HANDLE ConnectToPrinterDlg
- * Purpose   : 
+ * Purpose   :
  * Parameters: HWND hwnd  handle to parent window of dialog box
  *             DWORD Flags  reserved for future use, must be zero
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -784,21 +749,17 @@
  * Author    : Markus Montkowski [09.07.98 14:25:13]
  *****************************************************************************/
-HANDLE WIN32API ConnectToPrinterDlg(
-                                       HWND hwnd,
-                                       DWORD Flags
-                                       )
-
-{
-
-  dprintf(("WINSPOOL: ConnectToPrinterDlg(%d, %d) not implemented\n"
-           ,hwnd, Flags
-         ));
-
+
+ODINFUNCTION2(HANDLE, ConnectToPrinterDlg,
+              HWND, hwnd,
+              DWORD, Flags)
+{
+  dprintf(("WINSPOOL: ConnectToPrinterDlg not implemented\n"));
   return (NULL);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : DWORD DeviceCapabilitiesA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPCSTR pDevice  pointer to a printer-name string
  *             LPCSTR pPort  pointer to a port-name string
@@ -806,7 +767,7 @@
  *             LPSTR pOutput  pointer to the output
  *             CONST DEVMODE *pDevMode  pointer to structure with device data
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -815,24 +776,20 @@
  * Author    : Markus Montkowski [09.07.98 14:27:08]
  *****************************************************************************/
-INT WIN32API DeviceCapabilitiesA(
-                                      LPCSTR pDevice,
-                                      LPCSTR pPort,
-                                      WORD fwCapability,
-                                      LPSTR pOutput,
-                                      DEVMODEA *pDevMode
-                                      )
-
-{
-
-  dprintf(("WINSPOOL: DeviceCapabilitiesA(%08x, %08x, %u, %s, %08x) not implemented\n"
-           ,pDevice, pPort, fwCapability, pOutput, *pDevMode
-         ));
-
+
+ODINFUNCTION5(INT, DeviceCapabilitiesA,
+              LPCSTR, pDevice,
+              LPCSTR, pPort,
+              WORD, fwCapability,
+              LPSTR, pOutput,
+              DEVMODEA *, pDevMode)
+{
+  dprintf(("WINSPOOL: DeviceCapabilitiesA not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : DWORD DeviceCapabilitiesW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPCWSTR pDevice  pointer to a printer-name string
  *             LPCWSTR pPort  pointer to a port-name string
@@ -840,7 +797,7 @@
  *             LPWSTR pOutput  pointer to the output
  *             CONST DEVMODEW *pDevMode  pointer to structure with device data
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -849,29 +806,25 @@
  * Author    : Markus Montkowski [09.07.98 14:27:08]
  *****************************************************************************/
-INT WIN32API DeviceCapabilitiesW(
-                                      LPCWSTR pDevice,
-                                      LPCWSTR pPort,
-                                      WORD fwCapability,
-                                      LPWSTR pOutput,
-                                      CONST DEVMODEW *pDevMode
-                                      )
-
-{
-
-  dprintf(("WINSPOOL: DeviceCapabilitiesW(%08x, %08x, %u, %s, %08x)not implemented\n"
-           ,pDevice, pPort, fwCapability, pOutput, *pDevMode
-         ));
-
+
+ODINFUNCTION5(INT, DeviceCapabilitiesW,
+              LPCWSTR, pDevice,
+              LPCWSTR, pPort,
+              WORD, fwCapability,
+              LPWSTR, pOutput,
+              CONST DEVMODEW *, pDevMode)
+{
+  dprintf(("WINSPOOL: DeviceCapabilitiesW not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : BOOL DeleteFormA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             LPSTR pFormName  pointer to form name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -880,26 +833,22 @@
  * Author    : Markus Montkowski [09.07.98 14:28:10]
  *****************************************************************************/
-BOOL WIN32API DeleteFormA(
-                             HANDLE hPrinter,
-                             LPSTR pFormName
-                             )
-
-{
-
-  dprintf(("WINSPOOL: DeleteFormA(%u, %s) not implemented\n"
-           ,hPrinter, pFormName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION2(BOOL, DeleteFormA,
+              HANDLE, hPrinter,
+              LPSTR, pFormName)
+{
+  dprintf(("WINSPOOL: DeleteFormA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeleteFormW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             LPWSTR pFormName  pointer to form name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -908,27 +857,23 @@
  * Author    : Markus Montkowski [09.07.98 14:28:10]
  *****************************************************************************/
-BOOL WIN32API DeleteFormW(
-                             HANDLE hPrinter,
-                             LPWSTR pFormName
-                             )
-
-{
-
-  dprintf(("WINSPOOL: DeleteFormW(%u, %s)not implemented\n"
-           ,hPrinter, pFormName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION2(BOOL, DeleteFormW,
+              HANDLE, hPrinter,
+              LPWSTR, pFormName)
+{
+  dprintf(("WINSPOOL: DeleteFormW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeleteMonitorA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             LPSTR pEnvironment  pointer to environment string
  *             LPSTR pMonitorName  pointer to monitor name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -937,28 +882,24 @@
  * Author    : Markus Montkowski [09.07.98 14:28:35]
  *****************************************************************************/
-BOOL WIN32API DeleteMonitorA(
-                                LPSTR pName,
-                                LPSTR pEnvironment,
-                                LPSTR pMonitorName
-                                )
-
-{
-
-  dprintf(("WINSPOOL: DeleteMonitorA(%s, %s, %s) not implemented\n"
-           ,pName, pEnvironment, pMonitorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeleteMonitorA,
+              LPSTR, pName,
+              LPSTR, pEnvironment,
+              LPSTR, pMonitorName)
+{
+  dprintf(("WINSPOOL: DeleteMonitorA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeleteMonitorW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             LPWSTR pEnvironment  pointer to environment string
  *             LPWSTR pMonitorName  pointer to monitor name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -967,28 +908,24 @@
  * Author    : Markus Montkowski [09.07.98 14:28:35]
  *****************************************************************************/
-BOOL WIN32API DeleteMonitorW(
-                                LPWSTR pName,
-                                LPWSTR pEnvironment,
-                                LPWSTR pMonitorName
-                                )
-
-{
-
-  dprintf(("WINSPOOL: DeleteMonitorW(%s, %s, %s)not implemented\n"
-           ,pName, pEnvironment, pMonitorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeleteMonitorW,
+              LPWSTR, pName,
+              LPWSTR, pEnvironment,
+              LPWSTR, pMonitorName)
+{
+  dprintf(("WINSPOOL: DeleteMonitorW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePortA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             HWND hWnd  handle to window that displays dialog box
  *             LPSTR pPortName  pointer to port name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -997,28 +934,24 @@
  * Author    : Markus Montkowski [09.07.98 14:28:58]
  *****************************************************************************/
-BOOL WIN32API DeletePortA(
-                             LPSTR pName,
-                             HWND hWnd,
-                             LPSTR pPortName
-                             )
-
-{
-
-  dprintf(("WINSPOOL: DeletePortA(%s, %d, %s) not implemented\n"
-           ,pName, hWnd, pPortName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeletePortA,
+              LPSTR, pName,
+              HWND, hWnd,
+              LPSTR, pPortName)
+{
+  dprintf(("WINSPOOL: DeletePortA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePortW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             HWND hWnd  handle to window that displays dialog box
  *             LPWSTR pPortName  pointer to port name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1027,28 +960,24 @@
  * Author    : Markus Montkowski [09.07.98 14:28:58]
  *****************************************************************************/
-BOOL WIN32API DeletePortW(
-                             LPWSTR pName,
-                             HWND hWnd,
-                             LPWSTR pPortName
-                             )
-
-{
-
-  dprintf(("WINSPOOL: DeletePortW(%s, %d, %s)not implemented\n"
-           ,pName, hWnd, pPortName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeletePortW,
+              LPWSTR, pName,
+              HWND, hWnd,
+              LPWSTR, pPortName)
+{
+  dprintf(("WINSPOOL: DeletePortW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePrintProcessorA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             LPSTR pEnvironment  pointer to environment string
  *             LPSTR pPrintProcessorName  pointer to processor name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1057,28 +986,24 @@
  * Author    : Markus Montkowski [09.07.98 14:30:08]
  *****************************************************************************/
-BOOL WIN32API DeletePrintProcessorA(
-                                       LPSTR pName,
-                                       LPSTR pEnvironment,
-                                       LPSTR pPrintProcessorName
-                                       )
-
-{
-
-  dprintf(("WINSPOOL: DeletePrintProcessorA(%s, %s, %s) not implemented\n"
-           ,pName, pEnvironment, pPrintProcessorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeletePrintProcessorA,
+              LPSTR, pName,
+              LPSTR, pEnvironment,
+              LPSTR, pPrintProcessorName)
+{
+  dprintf(("WINSPOOL: DeletePrintProcessorA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePrintProcessorW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             LPWSTR pEnvironment  pointer to environment string
  *             LPWSTR pPrintProcessorName  pointer to processor name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1087,28 +1012,24 @@
  * Author    : Markus Montkowski [09.07.98 14:30:08]
  *****************************************************************************/
-BOOL WIN32API DeletePrintProcessorW(
-                                       LPWSTR pName,
-                                       LPWSTR pEnvironment,
-                                       LPWSTR pPrintProcessorName
-                                       )
-
-{
-
-  dprintf(("WINSPOOL: DeletePrintProcessorW(%s, %s, %s)not implemented\n"
-           ,pName, pEnvironment, pPrintProcessorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeletePrintProcessorW,
+              LPWSTR, pName,
+              LPWSTR, pEnvironment,
+              LPWSTR, pPrintProcessorName)
+{
+  dprintf(("WINSPOOL: DeletePrintProcessorW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePrintProvidorA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             LPSTR pEnvironment  pointer to environment string
  *             LPSTR pPrintProvidorName  pointer to provider name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1117,28 +1038,24 @@
  * Author    : Markus Montkowski [09.07.98 14:30:29]
  *****************************************************************************/
-BOOL WIN32API DeletePrintProvidorA(
-                                      LPSTR pName,
-                                      LPSTR pEnvironment,
-                                      LPSTR pPrintProvidorName
-                                      )
-
-{
-
-  dprintf(("WINSPOOL: DeletePrintProvidorA(%s, %s, %s) not implemented\n"
-           ,pName, pEnvironment, pPrintProvidorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeletePrintProvidorA,
+              LPSTR, pName,
+              LPSTR, pEnvironment,
+              LPSTR, pPrintProvidorName)
+{
+  dprintf(("WINSPOOL: DeletePrintProvidorA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePrintProvidorW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             LPWSTR pEnvironment  pointer to environment string
  *             LPWSTR pPrintProvidorName  pointer to provider name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1147,26 +1064,22 @@
  * Author    : Markus Montkowski [09.07.98 14:30:29]
  *****************************************************************************/
-BOOL WIN32API DeletePrintProvidorW(
-                                      LPWSTR pName,
-                                      LPWSTR pEnvironment,
-                                      LPWSTR pPrintProvidorName
-                                      )
-
-{
-
-  dprintf(("WINSPOOL: DeletePrintProvidorW(%s, %s, %s)not implemented\n"
-           ,pName, pEnvironment, pPrintProvidorName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeletePrintProvidorW,
+              LPWSTR, pName,
+              LPWSTR, pEnvironment,
+              LPWSTR, pPrintProvidorName)
+{
+  dprintf(("WINSPOOL: DeletePrintProvidorW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePrinter
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1175,24 +1088,20 @@
  * Author    : Markus Montkowski [09.07.98 14:30:50]
  *****************************************************************************/
-BOOL WIN32API DeletePrinter(
-                               HANDLE hPrinter
-                               )
-
-{
-
-  dprintf(("WINSPOOL: DeletePrinter(%u) not implemented\n"
-           ,hPrinter
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, DeletePrinter,
+              HANDLE, hPrinter)
+{
+  dprintf(("WINSPOOL: DeletePrinter not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePrinterConnectionA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to printer name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1201,24 +1110,20 @@
  * Author    : Markus Montkowski [09.07.98 14:31:48]
  *****************************************************************************/
-BOOL WIN32API DeletePrinterConnectionA(
-                                          LPSTR pName
-                                          )
-
-{
-
-  dprintf(("WINSPOOL: DeletePrinterConnectionA(%s) not implemented\n"
-           ,pName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, DeletePrinterConnectionA,
+              LPSTR, pName)
+{
+  dprintf(("WINSPOOL: DeletePrinterConnectionA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePrinterConnectionW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to printer name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1227,26 +1132,22 @@
  * Author    : Markus Montkowski [09.07.98 14:31:48]
  *****************************************************************************/
-BOOL WIN32API DeletePrinterConnectionW(
-                                          LPWSTR pName
-                                          )
-
-{
-
-  dprintf(("WINSPOOL: DeletePrinterConnectionW(%s)not implemented\n"
-           ,pName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, DeletePrinterConnectionW,
+              LPWSTR, pName)
+{
+  dprintf(("WINSPOOL: DeletePrinterConnectionW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePrinterDriverA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             LPSTR pEnvironment  pointer to environment
  *             LPSTR pDriverName  pointer to driver name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1255,28 +1156,24 @@
  * Author    : Markus Montkowski [09.07.98 14:32:38]
  *****************************************************************************/
-BOOL WIN32API DeletePrinterDriverA(
-                                      LPSTR pName,
-                                      LPSTR pEnvironment,
-                                      LPSTR pDriverName
-                                      )
-
-{
-
-  dprintf(("WINSPOOL: DeletePrinterDriverA(%s, %s, %s) not implemented\n"
-           ,pName, pEnvironment, pDriverName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeletePrinterDriverA,
+              LPSTR, pName,
+              LPSTR, pEnvironment,
+              LPSTR, pDriverName)
+{
+  dprintf(("WINSPOOL: DeletePrinterDriverA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL DeletePrinterDriverW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             LPWSTR pEnvironment  pointer to environment
  *             LPWSTR pDriverName  pointer to driver name
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1285,26 +1182,22 @@
  * Author    : Markus Montkowski [09.07.98 14:32:38]
  *****************************************************************************/
-BOOL WIN32API DeletePrinterDriverW(
-                                      LPWSTR pName,
-                                      LPWSTR pEnvironment,
-                                      LPWSTR pDriverName
-                                      )
-
-{
-
-  dprintf(("WINSPOOL: DeletePrinterDriverW(%s, %s, %s)not implemented\n"
-           ,pName, pEnvironment, pDriverName
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, DeletePrinterDriverW,
+              LPWSTR, pName,
+              LPWSTR, pEnvironment,
+              LPWSTR, pDriverName)
+{
+  dprintf(("WINSPOOL: DeletePrinterDriverW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EndDocPrinter
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1313,24 +1206,20 @@
  * Author    : Markus Montkowski [09.07.98 14:34:09]
  *****************************************************************************/
-BOOL WIN32API EndDocPrinter(
-                               HANDLE hPrinter
-                               )
-
-{
-
-  dprintf(("WINSPOOL: EndDocPrinter(%u) not implemented\n"
-           ,hPrinter
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, EndDocPrinter,
+              HANDLE, hPrinter)
+{
+  dprintf(("WINSPOOL: EndDocPrinter not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EndPagePrinter
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1339,20 +1228,16 @@
  * Author    : Markus Montkowski [09.07.98 14:34:27]
  *****************************************************************************/
-BOOL WIN32API EndPagePrinter(
-                                HANDLE hPrinter
-                                )
-
-{
-
-  dprintf(("WINSPOOL: EndPagePrinter(%u) not implemented\n"
-           ,hPrinter
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, EndPagePrinter,
+              HANDLE, hPrinter)
+{
+  dprintf(("WINSPOOL: EndPagePrinter not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumFormsA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             DWORD Level  data-structure level
@@ -1361,7 +1246,7 @@
  *             LPDWORD pcbNeeded  points to variable to receive count of bytes copied or required
  *             LPDWORD pcReturned  points to variable to receive count of structures copied
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1370,25 +1255,21 @@
  * Author    : Markus Montkowski [09.07.98 14:35:07]
  *****************************************************************************/
-BOOL WIN32API EnumFormsA(
-                           HANDLE hPrinter,
-                           DWORD Level,
-                           LPBYTE pForm,
-                           DWORD cbBuf,
-                           LPDWORD pcbNeeded,
-                           LPDWORD pcReturned
-                           )
-
-{
-
-  dprintf(("WINSPOOL: EnumFormsA(%u, %d, %08x, %d, %08x, %08x) not implemented\n"
-           ,hPrinter, Level, pForm, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
+
+ODINFUNCTION6(BOOL, EnumFormsA,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pForm,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumFormsA not implemented\n"));
+  return (FALSE);
+}
+
 
 /*****************************************************************************
  * Name      : BOOL EnumFormsW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             DWORD Level  data-structure level
@@ -1397,7 +1278,7 @@
  *             LPDWORD pcbNeeded  points to variable to receive count of bytes copied or required
  *             LPDWORD pcReturned  points to variable to receive count of structures copied
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1406,25 +1287,22 @@
  * Author    : Markus Montkowski [09.07.98 14:35:07]
  *****************************************************************************/
-BOOL WIN32API EnumFormsW(
-                           HANDLE hPrinter,
-                           DWORD Level,
-                           LPBYTE pForm,
-                           DWORD cbBuf,
-                           LPDWORD pcbNeeded,
-                           LPDWORD pcReturned
-                           )
-
-{
-
-  dprintf(("WINSPOOL: EnumFormsW(%u, %d, %08x, %d, %08x, %08x) not implemented\n"
-           ,hPrinter, Level, pForm, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, EnumFormsW,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pForm,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumFormsW not implemented\n"));
+
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumJobsA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             DWORD FirstJob  location of first job in print queue to enumerate
@@ -1435,7 +1313,7 @@
  *             LPDWORD pcbNeeded  addr. of variable with no. of bytes copied (or required)
  *             LPDWORD pcReturned  addr. of variable with no. of job info. structures copied
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1444,27 +1322,23 @@
  * Author    : Markus Montkowski [09.07.98 14:36:24]
  *****************************************************************************/
-BOOL WIN32API EnumJobsA(
-                          HANDLE hPrinter,
-                          DWORD FirstJob,
-                          DWORD NoJobs,
-                          DWORD Level,
-                          LPBYTE pJob,
-                          DWORD cbBuf,
-                          LPDWORD pcbNeeded,
-                          LPDWORD pcReturned
-                          )
-
-{
-
-  dprintf(("WINSPOOL: EnumJobsA(%u, %d, %d, %d, %08x, %d, %08x, %08x) not implemented\n"
-           ,hPrinter, FirstJob, NoJobs, Level, pJob, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION8(BOOL, EnumJobsA,
+              HANDLE, hPrinter,
+              DWORD, FirstJob,
+              DWORD, NoJobs,
+              DWORD, Level,
+              LPBYTE, pJob,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumJobsA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumJobsW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             DWORD FirstJob  location of first job in print queue to enumerate
@@ -1475,7 +1349,7 @@
  *             LPDWORD pcbNeeded  addr. of variable with no. of bytes copied (or required)
  *             LPDWORD pcReturned  addr. of variable with no. of job info. structures copied
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1484,27 +1358,23 @@
  * Author    : Markus Montkowski [09.07.98 14:36:24]
  *****************************************************************************/
-BOOL WIN32API EnumJobsW(
-                          HANDLE hPrinter,
-                          DWORD FirstJob,
-                          DWORD NoJobs,
-                          DWORD Level,
-                          LPBYTE pJob,
-                          DWORD cbBuf,
-                          LPDWORD pcbNeeded,
-                          LPDWORD pcReturned
-                          )
-
-{
-
-  dprintf(("WINSPOOL: EnumJobsW(%u, %d, %d, %d, %08x, %d, %08x, %08x) not implemented\n"
-           ,hPrinter, FirstJob, NoJobs, Level, pJob, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION8(BOOL, EnumJobsW,
+              HANDLE, hPrinter,
+              DWORD, FirstJob,
+              DWORD, NoJobs,
+              DWORD, Level,
+              LPBYTE, pJob,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumJobsW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumMonitorsA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             DWORD Level  structure level
@@ -1513,7 +1383,7 @@
  *             LPDWORD pcbNeeded  addr. of variable with no. of bytes copied (or required)
  *             LPDWORD pcReturned  addr. of variable with no. of job info. structures copied
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1522,25 +1392,21 @@
  * Author    : Markus Montkowski [09.07.98 14:38:50]
  *****************************************************************************/
-BOOL WIN32API EnumMonitorsA(
-                               LPSTR pName,
-                               DWORD Level,
-                               LPBYTE pMonitors,
-                               DWORD cbBuf,
-                               LPDWORD pcbNeeded,
-                               LPDWORD pcReturned
-                               )
-
-{
-
-  dprintf(("WINSPOOL: EnumMonitorsA(%s, %d, %08x, %d, %08x, %08x) not implemented\n"
-           ,pName, Level, pMonitors, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, EnumMonitorsA,
+              LPSTR, pName,
+              DWORD, Level,
+              LPBYTE, pMonitors,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumMonitorsA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumMonitorsW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             DWORD Level  structure level
@@ -1549,7 +1415,7 @@
  *             LPDWORD pcbNeeded  addr. of variable with no. of bytes copied (or required)
  *             LPDWORD pcReturned  addr. of variable with no. of job info. structures copied
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1558,25 +1424,21 @@
  * Author    : Markus Montkowski [09.07.98 14:38:50]
  *****************************************************************************/
-BOOL WIN32API EnumMonitorsW(
-                               LPWSTR pName,
-                               DWORD Level,
-                               LPBYTE pMonitors,
-                               DWORD cbBuf,
-                               LPDWORD pcbNeeded,
-                               LPDWORD pcReturned
-                               )
-
-{
-
-  dprintf(("WINSPOOL: EnumMonitorsW(%s, %d, %08x, %d, %08x, %08x)not implemented\n"
-           ,pName, Level, pMonitors, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, EnumMonitorsW,
+              LPWSTR, pName,
+              DWORD, Level,
+              LPBYTE, pMonitors,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumMonitorsW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumPortsA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             DWORD Level  specifies type of port info structure
@@ -1585,7 +1447,7 @@
  *             LPDWORD pcbNeeded  buffer size)
  *             LPDWORD pcReturned  pointer to number of PORT_INFO_*. structures stored into buffer
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1594,25 +1456,21 @@
  * Author    : Markus Montkowski [09.07.98 14:39:09]
  *****************************************************************************/
-BOOL WIN32API EnumPortsA(
-                            LPSTR pName,
-                            DWORD Level,
-                            LPBYTE pPorts,
-                            DWORD cbBuf,
-                            LPDWORD pcbNeeded,
-                            LPDWORD pcReturned
-                            )
-
-{
-
-  dprintf(("WINSPOOL: EnumPortsA(%s, %d, %08x, %d, %08x, %08x) not implemented\n"
-           ,pName, Level, pPorts, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, EnumPortsA,
+              LPSTR, pName,
+              DWORD, Level,
+              LPBYTE, pPorts,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumPortsA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumPortsW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             DWORD Level  specifies type of port info structure
@@ -1621,7 +1479,7 @@
  *             LPDWORD pcbNeeded  buffer size)
  *             LPDWORD pcReturned  pointer to number of PORT_INFO_*. structures stored into buffer
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1630,25 +1488,21 @@
  * Author    : Markus Montkowski [09.07.98 14:39:09]
  *****************************************************************************/
-BOOL WIN32API EnumPortsW(
-                            LPWSTR pName,
-                            DWORD Level,
-                            LPBYTE pPorts,
-                            DWORD cbBuf,
-                            LPDWORD pcbNeeded,
-                            LPDWORD pcReturned
-                            )
-
-{
-
-  dprintf(("WINSPOOL: EnumPortsW(%s, %d, %08x, %d, %08x, %08x)not implemented\n"
-           ,pName, Level, pPorts, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, EnumPortsW,
+              LPWSTR, pName,
+              DWORD, Level,
+              LPBYTE, pPorts,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumPortsW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumPrintProcessorDatatypesA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  points to server name string
  *             LPSTR pPrintProcessorName  points to print processor name string
@@ -1658,7 +1512,7 @@
  *             LPDWORD pcbNeeded  points to number of bytes copied (or required)
  *             LPDWORD pcReturned  points to number of data structures obtained
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1667,26 +1521,22 @@
  * Author    : Markus Montkowski [09.07.98 14:39:29]
  *****************************************************************************/
-BOOL WIN32API EnumPrintProcessorDatatypesA(
-                                              LPSTR pName,
-                                              LPSTR pPrintProcessorName,
-                                              DWORD Level,
-                                              LPBYTE pDatatypes,
-                                              DWORD cbBuf,
-                                              LPDWORD pcbNeeded,
-                                              LPDWORD pcReturned
-                                              )
-
-{
-
-  dprintf(("WINSPOOL: EnumPrintProcessorDatatypesA(%s, %s, %d, %08x, %d, %08x, %08x) not implemented\n"
-           ,pName, pPrintProcessorName, Level, pDatatypes, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION7(BOOL, EnumPrintProcessorDatatypesA,
+              LPSTR, pName,
+              LPSTR, pPrintProcessorName,
+              DWORD, Level,
+              LPBYTE, pDatatypes,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumPrintProcessorDatatypesA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumPrintProcessorDatatypesW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  points to server name string
  *             LPWSTR pPrintProcessorName  points to print processor name string
@@ -1696,7 +1546,7 @@
  *             LPDWORD pcbNeeded  points to number of bytes copied (or required)
  *             LPDWORD pcReturned  points to number of data structures obtained
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1705,26 +1555,22 @@
  * Author    : Markus Montkowski [09.07.98 14:39:30]
  *****************************************************************************/
-BOOL WIN32API EnumPrintProcessorDatatypesW(
-                                              LPWSTR pName,
-                                              LPWSTR pPrintProcessorName,
-                                              DWORD Level,
-                                              LPBYTE pDatatypes,
-                                              DWORD cbBuf,
-                                              LPDWORD pcbNeeded,
-                                              LPDWORD pcReturned
-                                              )
-
-{
-
-  dprintf(("WINSPOOL: EnumPrintProcessorDatatypesW(%s, %s, %d, %08x, %d, %08x, %08x)not implemented\n"
-           ,pName, pPrintProcessorName, Level, pDatatypes, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION7(BOOL, EnumPrintProcessorDatatypesW,
+              LPWSTR, pName,
+              LPWSTR, pPrintProcessorName,
+              DWORD, Level,
+              LPBYTE, pDatatypes,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumPrintProcessorDatatypesW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumPrintProcessorsA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  points to server name
  *             LPSTR pEnvironment  points to environment name
@@ -1734,7 +1580,7 @@
  *             LPDWORD pcbNeeded  points to number of bytes copied (or required)
  *             LPDWORD pcReturned  points to number of job info. structures copied
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1743,26 +1589,22 @@
  * Author    : Markus Montkowski [09.07.98 14:39:52]
  *****************************************************************************/
-BOOL WIN32API EnumPrintProcessorsA(
-                                      LPSTR pName,
-                                      LPSTR pEnvironment,
-                                      DWORD Level,
-                                      LPBYTE pPrintProcessorInfo,
-                                      DWORD cbBuf,
-                                      LPDWORD pcbNeeded,
-                                      LPDWORD pcReturned
-                                      )
-
-{
-
-  dprintf(("WINSPOOL: EnumPrintProcessorsA(%s, %s, %d, %08x, %d, %08x, %08x) not implemented\n"
-           ,pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION7(BOOL, EnumPrintProcessorsA,
+              LPSTR, pName,
+              LPSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pPrintProcessorInfo,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumPrintProcessorsA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumPrintProcessorsW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  points to server name
  *             LPWSTR pEnvironment  points to environment name
@@ -1772,7 +1614,7 @@
  *             LPDWORD pcbNeeded  points to number of bytes copied (or required)
  *             LPDWORD pcReturned  points to number of job info. structures copied
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1781,26 +1623,22 @@
  * Author    : Markus Montkowski [09.07.98 14:39:52]
  *****************************************************************************/
-BOOL WIN32API EnumPrintProcessorsW(
-                                      LPWSTR pName,
-                                      LPWSTR pEnvironment,
-                                      DWORD Level,
-                                      LPBYTE pPrintProcessorInfo,
-                                      DWORD cbBuf,
-                                      LPDWORD pcbNeeded,
-                                      LPDWORD pcReturned
-                                      )
-
-{
-
-  dprintf(("WINSPOOL: EnumPrintProcessorsW(%s, %s, %d, %08x, %d, %08x, %08x)not implemented\n"
-           ,pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION7(BOOL, EnumPrintProcessorsW,
+              LPWSTR, pName,
+              LPWSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pPrintProcessorInfo,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumPrintProcessorsW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumPrinterDriversA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  pointer to server name
  *             LPSTR pEnvironment  pointer to environment name
@@ -1810,7 +1648,7 @@
  *             LPDWORD pcbNeeded  pointer to number of bytes copied (or required)
  *             LPDWORD pcReturned  pointer to number of DRIVER_INFO. structures
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1819,26 +1657,22 @@
  * Author    : Markus Montkowski [09.07.98 14:40:23]
  *****************************************************************************/
-BOOL WIN32API EnumPrinterDriversA(
-                                     LPSTR pName,
-                                     LPSTR pEnvironment,
-                                     DWORD Level,
-                                     LPBYTE pDriverInfo,
-                                     DWORD cbBuf,
-                                     LPDWORD pcbNeeded,
-                                     LPDWORD pcReturned
-                                     )
-
-{
-
-  dprintf(("WINSPOOL: EnumPrinterDriversA(%s, %s, %d, %08x, %d, %08x, %08x) not implemented\n"
-           ,pName, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION7(BOOL, EnumPrinterDriversA,
+              LPSTR, pName,
+              LPSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pDriverInfo,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumPrinterDriversA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumPrinterDriversW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  pointer to server name
  *             LPWSTR pEnvironment  pointer to environment name
@@ -1848,7 +1682,7 @@
  *             LPDWORD pcbNeeded  pointer to number of bytes copied (or required)
  *             LPDWORD pcReturned  pointer to number of DRIVER_INFO. structures
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1857,26 +1691,22 @@
  * Author    : Markus Montkowski [09.07.98 14:40:24]
  *****************************************************************************/
-BOOL WIN32API EnumPrinterDriversW(
-                                     LPWSTR pName,
-                                     LPWSTR pEnvironment,
-                                     DWORD Level,
-                                     LPBYTE pDriverInfo,
-                                     DWORD cbBuf,
-                                     LPDWORD pcbNeeded,
-                                     LPDWORD pcReturned
-                                     )
-
-{
-
-  dprintf(("WINSPOOL: EnumPrinterDriversW(%s, %s, %d, %08x, %d, %08x, %08x)not implemented\n"
-           ,pName, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION7(BOOL, EnumPrinterDriversW,
+              LPWSTR, pName,
+              LPWSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pDriverInfo,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumPrinterDriversW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL EnumPrintersW
- * Purpose   : 
+ * Purpose   :
  * Parameters: DWORD Flags  types of printer objects to enumerate
  *             LPWSTR Name  name of printer object
@@ -1886,7 +1716,7 @@
  *             LPDWORD pcbNeeded  pointer to variable with no. of bytes copied (or required)
  *             LPDWORD pcReturned  pointer to variable with no. of printer info. structures copied
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1895,30 +1725,26 @@
  * Author    : Markus Montkowski [09.07.98 14:40:55]
  *****************************************************************************/
-BOOL WIN32API EnumPrintersW(
-                               DWORD Flags,
-                               LPWSTR Name,
-                               DWORD Level,
-                               LPBYTE pPrinterEnum,
-                               DWORD cbBuf,
-                               LPDWORD pcbNeeded,
-                               LPDWORD pcReturned
-                               )
-
-{
-
-  dprintf(("WINSPOOL: EnumPrintersW(%d, %s, %d, %08x, %d, %08x, %08x)not implemented\n"
-           ,Flags, Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION7(BOOL, EnumPrintersW,
+              DWORD, Flags,
+              LPWSTR, Name,
+              DWORD, Level,
+              LPBYTE, pPrinterEnum,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded,
+              LPDWORD, pcReturned)
+{
+  dprintf(("WINSPOOL: EnumPrintersW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL FindClosePrinterChangeNotification
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hChange  handle to change notification object to close
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1927,27 +1753,23 @@
  * Author    : Markus Montkowski [09.07.98 14:41:51]
  *****************************************************************************/
-BOOL WIN32API FindClosePrinterChangeNotification(
-                                                    HANDLE hChange
-                                                    )
-
-{
-
-  dprintf(("WINSPOOL: FindClosePrinterChangeNotification(%u) not implemented\n"
-           ,hChange
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, FindClosePrinterChangeNotification,
+              HANDLE, hChange)
+{
+  dprintf(("WINSPOOL: FindClosePrinterChangeNotification not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : HANDLE FindFirstPrinterChangeNotification
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer or print server to monitor for changes
  *             DWORD fdwFlags  flags that specify the conditions to monitor
  *             DWORD fdwOptions  reserved, must be zero
  *             LPVOID pPrinterNotifyOptions  pointer to structure specifying printer information to monitor
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1956,30 +1778,26 @@
  * Author    : Markus Montkowski [09.07.98 14:42:05]
  *****************************************************************************/
-HANDLE WIN32API FindFirstPrinterChangeNotification(
-                                                      HANDLE hPrinter,
-                                                      DWORD fdwFlags,
-                                                      DWORD fdwOptions,
-                                                      LPVOID pPrinterNotifyOptions
-                                                      )
-
-{
-
-  dprintf(("WINSPOOL: FindFirstPrinterChangeNotification(%u, %d, %d, %08x) not implemented\n"
-           ,hPrinter, fdwFlags, fdwOptions, pPrinterNotifyOptions
-         ));
-
+
+ODINFUNCTION4(HANDLE, FindFirstPrinterChangeNotification,
+              HANDLE, hPrinter,
+              DWORD, fdwFlags,
+              DWORD, fdwOptions,
+              LPVOID, pPrinterNotifyOptions)
+{
+  dprintf(("WINSPOOL: FindFirstPrinterChangeNotification not implemented\n"));
   return (NULL);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : BOOL FindNextPrinterChangeNotification
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hChange  handle to change notification object of interest
  *             PDWORD pdwChange  pointer to a value that indicates the condition that changed
  *             LPVOID pPrinterNotifyOptions  pointer to a structure that specifies a refresh flag
  *             LPVOID *ppPrinterNotifyInfo  pointer to a pointer that receives printer information buffer
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -1988,27 +1806,23 @@
  * Author    : Markus Montkowski [09.07.98 14:42:20]
  *****************************************************************************/
-BOOL WIN32API FindNextPrinterChangeNotification(
-                                                   HANDLE hChange,
-                                                   PDWORD pdwChange,
-                                                   LPVOID pPrinterNotifyOptions,
-                                                   LPPRINTER_NOTIFY_INFO ppPrinterNotifyInfo
-                                                   )
-
-{
-
-  dprintf(("WINSPOOL: FindNextPrinterChangeNotification(%u, %08x, %08x, %08x) not implemented\n"
-           ,hChange, pdwChange, pPrinterNotifyOptions, *ppPrinterNotifyInfo
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION4(BOOL, FindNextPrinterChangeNotification,
+              HANDLE, hChange,
+              PDWORD, pdwChange,
+              LPVOID, pPrinterNotifyOptions,
+              LPPRINTER_NOTIFY_INFO, ppPrinterNotifyInfo)
+{
+  dprintf(("WINSPOOL: FindNextPrinterChangeNotification not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL FreePrinterNotifyInfo
- * Purpose   : 
+ * Purpose   :
  * Parameters: PPRINTER_NOTIFY_INFO pPrinterNotifyInfo  pointer to a PRINTER_NOTIFY_INFO buffer
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2017,20 +1831,16 @@
  * Author    : Markus Montkowski [09.07.98 14:43:02]
  *****************************************************************************/
-BOOL WIN32API FreePrinterNotifyInfo(
-                                       LPPRINTER_NOTIFY_INFO pPrinterNotifyInfo
-                                       )
-
-{
-
-  dprintf(("WINSPOOL: FreePrinterNotifyInfo(%08x) not implemented\n"
-           ,pPrinterNotifyInfo
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, FreePrinterNotifyInfo,
+              LPPRINTER_NOTIFY_INFO, pPrinterNotifyInfo)
+{
+  dprintf(("WINSPOOL: FreePrinterNotifyInfo not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetFormA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer
  *             LPSTR pFormName  address of form name
@@ -2039,7 +1849,7 @@
  *             DWORD cbBuf  count of bytes in array
  *             LPDWORD pcbNeeded  addr. of variable with count of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2048,25 +1858,21 @@
  * Author    : Markus Montkowski [09.07.98 14:43:32]
  *****************************************************************************/
-BOOL WIN32API GetFormA(
-                          HANDLE hPrinter,
-                          LPSTR pFormName,
-                          DWORD Level,
-                          LPBYTE pForm,
-                          DWORD cbBuf,
-                          LPDWORD pcbNeeded
-                          )
-
-{
-
-  dprintf(("WINSPOOL: GetFormA(%u, %s, %d, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, pFormName, Level, pForm, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetFormA,
+              HANDLE, hPrinter,
+              LPSTR, pFormName,
+              DWORD, Level,
+              LPBYTE, pForm,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetFormA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetFormW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer
  *             LPWSTR pFormName  address of form name
@@ -2075,7 +1881,7 @@
  *             DWORD cbBuf  count of bytes in array
  *             LPDWORD pcbNeeded  addr. of variable with count of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2084,25 +1890,21 @@
  * Author    : Markus Montkowski [09.07.98 14:43:32]
  *****************************************************************************/
-BOOL WIN32API GetFormW(
-                          HANDLE hPrinter,
-                          LPWSTR pFormName,
-                          DWORD Level,
-                          LPBYTE pForm,
-                          DWORD cbBuf,
-                          LPDWORD pcbNeeded
-                          )
-
-{
-
-  dprintf(("WINSPOOL: GetFormW(%u, %s, %d, %08x, %d, %08x)not implemented\n"
-           ,hPrinter, pFormName, Level, pForm, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetFormW,
+              HANDLE, hPrinter,
+              LPWSTR, pFormName,
+              DWORD, Level,
+              LPBYTE, pForm,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetFormW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetJobA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer
  *             DWORD JobId  job identifier value
@@ -2111,7 +1913,7 @@
  *             DWORD cbBuf  count of bytes in array
  *             LPDWORD pcbNeeded  address of value that contains count of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2120,25 +1922,21 @@
  * Author    : Markus Montkowski [09.07.98 14:43:50]
  *****************************************************************************/
-BOOL WIN32API GetJobA(
-                        HANDLE hPrinter,
-                        DWORD JobId,
-                        DWORD Level,
-                        LPBYTE pJob,
-                        DWORD cbBuf,
-                        LPDWORD pcbNeeded
-                        )
-
-{
-
-  dprintf(("WINSPOOL: GetJobA(%u, %d, %d, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, JobId, Level, pJob, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetJobA,
+              HANDLE, hPrinter,
+              DWORD, JobId,
+              DWORD, Level,
+              LPBYTE, pJob,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetJobA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetJobW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer
  *             DWORD JobId  job identifier value
@@ -2147,7 +1945,7 @@
  *             DWORD cbBuf  count of bytes in array
  *             LPDWORD pcbNeeded  address of value that contains count of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2156,25 +1954,21 @@
  * Author    : Markus Montkowski [09.07.98 14:43:50]
  *****************************************************************************/
-BOOL WIN32API GetJobW(
-                        HANDLE hPrinter,
-                        DWORD JobId,
-                        DWORD Level,
-                        LPBYTE pJob,
-                        DWORD cbBuf,
-                        LPDWORD pcbNeeded
-                        )
-
-{
-
-  dprintf(("WINSPOOL: GetJobW(%u, %d, %d, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, JobId, Level, pJob, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetJobW,
+              HANDLE, hPrinter,
+              DWORD, JobId,
+              DWORD, Level,
+              LPBYTE, pJob,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetJobW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetPrintProcessorDirectoryA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  address of server name
  *             LPSTR pEnvironment  address of environment
@@ -2183,7 +1977,7 @@
  *             DWORD cbBuf  size, in bytes, of array
  *             LPDWORD pcbNeeded  address of variable with number of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2192,25 +1986,21 @@
  * Author    : Markus Montkowski [09.07.98 14:45:14]
  *****************************************************************************/
-BOOL WIN32API GetPrintProcessorDirectoryA(
-                                             LPSTR pName,
-                                             LPSTR pEnvironment,
-                                             DWORD Level,
-                                             LPBYTE pPrintProcessorInfo,
-                                             DWORD cbBuf,
-                                             LPDWORD pcbNeeded
-                                             )
-
-{
-
-  dprintf(("WINSPOOL: GetPrintProcessorDirectoryA(%s, %s, %d, %08x, %d, %08x) not implemented\n"
-           ,pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetPrintProcessorDirectoryA,
+              LPSTR, pName,
+              LPSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pPrintProcessorInfo,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrintProcessorDirectoryA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetPrintProcessorDirectoryW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  address of server name
  *             LPWSTR pEnvironment  address of environment
@@ -2219,7 +2009,7 @@
  *             DWORD cbBuf  size, in bytes, of array
  *             LPDWORD pcbNeeded  address of variable with number of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2228,25 +2018,21 @@
  * Author    : Markus Montkowski [09.07.98 14:45:14]
  *****************************************************************************/
-BOOL WIN32API GetPrintProcessorDirectoryW(
-                                             LPWSTR pName,
-                                             LPWSTR pEnvironment,
-                                             DWORD Level,
-                                             LPBYTE pPrintProcessorInfo,
-                                             DWORD cbBuf,
-                                             LPDWORD pcbNeeded
-                                             )
-
-{
-
-  dprintf(("WINSPOOL: GetPrintProcessorDirectoryW(%s, %s, %d, %08x, %d, %08x)not implemented\n"
-           ,pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetPrintProcessorDirectoryW,
+              LPWSTR, pName,
+              LPWSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pPrintProcessorInfo,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrintProcessorDirectoryW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetPrinterA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer of interest
  *             DWORD Level  version of printer info data structure
@@ -2254,7 +2040,7 @@
  *             DWORD cbBuf  size, in bytes, of array of bytes
  *             LPDWORD pcbNeeded  pointer to variable with count of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2263,24 +2049,20 @@
  * Author    : Markus Montkowski [09.07.98 14:45:36]
  *****************************************************************************/
-BOOL WIN32API GetPrinterA(
-                            HANDLE hPrinter,
-                            DWORD Level,
-                            LPBYTE pPrinter,
-                            DWORD cbBuf,
-                            LPDWORD pcbNeeded
-                            )
-
-{
-
-  dprintf(("WINSPOOL: GetPrinterA(%u, %d, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, Level, pPrinter, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION5(BOOL, GetPrinterA,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pPrinter,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrinterA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetPrinterW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer of interest
  *             DWORD Level  version of printer info data structure
@@ -2288,7 +2070,7 @@
  *             DWORD cbBuf  size, in bytes, of array of bytes
  *             LPDWORD pcbNeeded  pointer to variable with count of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2297,24 +2079,20 @@
  * Author    : Markus Montkowski [09.07.98 14:45:36]
  *****************************************************************************/
-BOOL WIN32API GetPrinterW(
-                            HANDLE hPrinter,
-                            DWORD Level,
-                            LPBYTE pPrinter,
-                            DWORD cbBuf,
-                            LPDWORD pcbNeeded
-                            )
-
-{
-
-  dprintf(("WINSPOOL: GetPrinterW(%u, %d, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, Level, pPrinter, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION5(BOOL, GetPrinterW,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pPrinter,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrinterW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : DWORD GetPrinterDataA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             LPSTR pValueName  address of data type
@@ -2323,7 +2101,7 @@
  *             DWORD nSize  size, in bytes, of array
  *             LPDWORD pcbNeeded  address of variable with number of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2332,25 +2110,21 @@
  * Author    : Markus Montkowski [09.07.98 14:46:35]
  *****************************************************************************/
-DWORD WIN32API GetPrinterDataA(
-                                  HANDLE hPrinter,
-                                  LPSTR pValueName,
-                                  LPDWORD pType,
-                                  LPBYTE pData,
-                                  DWORD nSize,
-                                  LPDWORD pcbNeeded
-                                  )
-
-{
-
-  dprintf(("WINSPOOL: GetPrinterDataA(%u, %s, %08x, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, pValueName, pType, pData, nSize, pcbNeeded
-         ));
-
+
+ODINFUNCTION6(DWORD, GetPrinterDataA,
+              HANDLE, hPrinter,
+              LPSTR, pValueName,
+              LPDWORD, pType,
+              LPBYTE, pData,
+              DWORD, nSize,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrinterDataA not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : DWORD GetPrinterDataW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             LPWSTR pValueName  address of data type
@@ -2359,7 +2133,7 @@
  *             DWORD nSize  size, in bytes, of array
  *             LPDWORD pcbNeeded  address of variable with number of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2368,25 +2142,21 @@
  * Author    : Markus Montkowski [09.07.98 14:46:35]
  *****************************************************************************/
-DWORD WIN32API GetPrinterDataW(
-                                  HANDLE hPrinter,
-                                  LPWSTR pValueName,
-                                  LPDWORD pType,
-                                  LPBYTE pData,
-                                  DWORD nSize,
-                                  LPDWORD pcbNeeded
-                                  )
-
-{
-
-  dprintf(("WINSPOOL: GetPrinterDataW(%u, %s, %08x, %08x, %d, %08x)not implemented\n"
-           ,hPrinter, pValueName, pType, pData, nSize, pcbNeeded
-         ));
-
+
+ODINFUNCTION6(DWORD, GetPrinterDataW,
+              HANDLE, hPrinter,
+              LPWSTR, pValueName,
+              LPDWORD, pType,
+              LPBYTE, pData,
+              DWORD, nSize,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrinterDataW not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : BOOL GetPrinterDriverA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  printer object
  *             LPSTR pEnvironment  address of environment
@@ -2395,7 +2165,7 @@
  *             DWORD cbBuf  size, in bytes, of array
  *             LPDWORD pcbNeeded  address of variable with number of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2404,25 +2174,21 @@
  * Author    : Markus Montkowski [09.07.98 14:47:01]
  *****************************************************************************/
-BOOL WIN32API GetPrinterDriverA(
-                                   HANDLE hPrinter,
-                                   LPSTR pEnvironment,
-                                   DWORD Level,
-                                   LPBYTE pDriverInfo,
-                                   DWORD cbBuf,
-                                   LPDWORD pcbNeeded
-                                   )
-
-{
-
-  dprintf(("WINSPOOL: GetPrinterDriverA(%u, %s, %d, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetPrinterDriverA,
+              HANDLE, hPrinter,
+              LPSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pDriverInfo,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrinterDriverA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetPrinterDriverW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  printer object
  *             LPWSTR pEnvironment  address of environment
@@ -2431,7 +2197,7 @@
  *             DWORD cbBuf  size, in bytes, of array
  *             LPDWORD pcbNeeded  address of variable with number of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2440,25 +2206,21 @@
  * Author    : Markus Montkowski [09.07.98 14:47:01]
  *****************************************************************************/
-BOOL WIN32API GetPrinterDriverW(
-                                   HANDLE hPrinter,
-                                   LPWSTR pEnvironment,
-                                   DWORD Level,
-                                   LPBYTE pDriverInfo,
-                                   DWORD cbBuf,
-                                   LPDWORD pcbNeeded
-                                   )
-
-{
-
-  dprintf(("WINSPOOL: GetPrinterDriverW(%u, %s, %d, %08x, %d, %08x)not implemented\n"
-           ,hPrinter, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetPrinterDriverW,
+              HANDLE, hPrinter,
+              LPWSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pDriverInfo,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrinterDriverW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetPrinterDriverDirectoryA
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPSTR pName  address of server name
  *             LPSTR pEnvironment  address of environment
@@ -2467,7 +2229,7 @@
  *             DWORD cbBuf  size, in bytes, of array
  *             LPDWORD pcbNeeded  address of variable with number of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2476,25 +2238,21 @@
  * Author    : Markus Montkowski [09.07.98 14:47:16]
  *****************************************************************************/
-BOOL WIN32API GetPrinterDriverDirectoryA(
-                                            LPSTR pName,
-                                            LPSTR pEnvironment,
-                                            DWORD Level,
-                                            LPBYTE pDriverDirectory,
-                                            DWORD cbBuf,
-                                            LPDWORD pcbNeeded
-                                            )
-
-{
-
-  dprintf(("WINSPOOL: GetPrinterDriverDirectoryA(%s, %s, %d, %08x, %d, %08x) not implemented\n"
-           ,pName, pEnvironment, Level, pDriverDirectory, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetPrinterDriverDirectoryA,
+              LPSTR, pName,
+              LPSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pDriverDirectory,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrinterDriverDirectoryA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL GetPrinterDriverDirectoryW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pName  address of server name
  *             LPWSTR pEnvironment  address of environment
@@ -2503,7 +2261,7 @@
  *             DWORD cbBuf  size, in bytes, of array
  *             LPDWORD pcbNeeded  address of variable with number of bytes retrieved (or required)
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2512,32 +2270,28 @@
  * Author    : Markus Montkowski [09.07.98 14:47:16]
  *****************************************************************************/
-BOOL WIN32API GetPrinterDriverDirectoryW(
-                                            LPWSTR pName,
-                                            LPWSTR pEnvironment,
-                                            DWORD Level,
-                                            LPBYTE pDriverDirectory,
-                                            DWORD cbBuf,
-                                            LPDWORD pcbNeeded
-                                            )
-
-{
-
-  dprintf(("WINSPOOL: GetPrinterDriverDirectoryW(%s, %s, %d, %08x, %d, %08x)not implemented\n"
-           ,pName, pEnvironment, Level, pDriverDirectory, cbBuf, pcbNeeded
-         ));
-
-  return (FALSE);
-}
-
-
- /*****************************************************************************
+
+ODINFUNCTION6(BOOL, GetPrinterDriverDirectoryW,
+              LPWSTR, pName,
+              LPWSTR, pEnvironment,
+              DWORD, Level,
+              LPBYTE, pDriverDirectory,
+              DWORD, cbBuf,
+              LPDWORD, pcbNeeded)
+{
+  dprintf(("WINSPOOL: GetPrinterDriverDirectoryW not implemented\n"));
+  return (FALSE);
+}
+
+
+
+/*****************************************************************************
  * Name      : BOOL OpenPrinterW
- * Purpose   : 
+ * Purpose   :
  * Parameters: LPWSTR pPrinterName  pointer to printer or server name
  *             HANDLE * phPrinter  pointer to printer or server handle
  *             PRINTER_DEFAULTSW * pDefault  pointer to printer defaults structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2546,22 +2300,18 @@
  * Author    : Markus Montkowski [09.07.98 14:48:19]
  *****************************************************************************/
-BOOL WIN32API OpenPrinterW(
-                              LPWSTR pPrinterName,
-                              HANDLE * phPrinter,
-                              PRINTER_DEFAULTSW * pDefault
-                              )
-
-{
-
-  dprintf(("WINSPOOL: OpenPrinterW(%s, %08x, %08x)not implemented\n"
-           ,pPrinterName, phPrinter, pDefault
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION3(BOOL, OpenPrinterW,
+              LPWSTR, pPrinterName,
+              HANDLE *, phPrinter,
+              PRINTER_DEFAULTSW *, pDefault)
+{
+  dprintf(("WINSPOOL: OpenPrinterW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : HPRINTER PrinterMessageBoxA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer
  *             DWORD Error  error identifier
@@ -2570,7 +2320,7 @@
  *             LPSTR pCaption  pointer to message box title
  *             DWORD dwType  style of message box
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2579,25 +2329,21 @@
  * Author    : Markus Montkowski [09.07.98 14:50:13]
  *****************************************************************************/
-HPRINTER WIN32API PrinterMessageBoxA(
-                                        HANDLE hPrinter,
-                                        DWORD Error,
-                                        HWND hWnd,
-                                        LPSTR pText,
-                                        LPSTR pCaption,
-                                        DWORD dwType
-                                        )
-
-{
-
-  dprintf(("WINSPOOL: PrinterMessageBoxA(%u, %d, %d, %s, %s, %d) not implemented\n"
-           ,hPrinter, Error, hWnd, pText, pCaption, dwType
-         ));
-
+
+ODINFUNCTION6(HPRINTER, PrinterMessageBoxA,
+              HANDLE, hPrinter,
+              DWORD, Error,
+              HWND, hWnd,
+              LPSTR, pText,
+              LPSTR, pCaption,
+              DWORD, dwType)
+{
+  dprintf(("WINSPOOL: PrinterMessageBoxA not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : HPRINTER PrinterMessageBoxW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer
  *             DWORD Error  error identifier
@@ -2606,7 +2352,7 @@
  *             LPWSTR pCaption  pointer to message box title
  *             DWORD dwType  style of message box
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2615,30 +2361,26 @@
  * Author    : Markus Montkowski [09.07.98 14:50:13]
  *****************************************************************************/
-HPRINTER WIN32API PrinterMessageBoxW(
-                                        HANDLE hPrinter,
-                                        DWORD Error,
-                                        HWND hWnd,
-                                        LPWSTR pText,
-                                        LPWSTR pCaption,
-                                        DWORD dwType
-                                        )
-
-{
-
-  dprintf(("WINSPOOL: PrinterMessageBoxW(%u, %d, %d, %s, %s, %d)not implemented\n"
-           ,hPrinter, Error, hWnd, pText, pCaption, dwType
-         ));
-
+
+ODINFUNCTION6(HPRINTER, PrinterMessageBoxW,
+              HANDLE, hPrinter,
+              DWORD, Error,
+              HWND, hWnd,
+              LPWSTR, pText,
+              LPWSTR, pCaption,
+              DWORD, dwType)
+{
+  dprintf(("WINSPOOL: PrinterMessageBoxW not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : BOOL PrinterProperties
- * Purpose   : 
+ * Purpose   :
  * Parameters: HWND hWnd  handle of parent window
  *             HANDLE hPrinter  handle of printer object
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2647,28 +2389,24 @@
  * Author    : Markus Montkowski [09.07.98 14:50:49]
  *****************************************************************************/
-BOOL WIN32API PrinterProperties(
-                                   HWND hWnd,
-                                   HANDLE hPrinter
-                                   )
-
-{
-
-  dprintf(("WINSPOOL: PrinterProperties(%d, %u) not implemented\n"
-           ,hWnd, hPrinter
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION2(BOOL, PrinterProperties,
+              HWND, hWnd,
+              HANDLE, hPrinter)
+{
+  dprintf(("WINSPOOL: PrinterProperties not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL ReadPrinter
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             LPVOID pBuf  address of array of bytes that receives data
  *             DWORD cbBuf  size, in bytes, of array
  *             LPDWORD pNoBytesRead  address of variable with number of bytes retrieved
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2677,28 +2415,23 @@
  * Author    : Markus Montkowski [09.07.98 14:51:17]
  *****************************************************************************/
-BOOL WIN32API ReadPrinter(
-                             HANDLE hPrinter,
-                             LPVOID pBuf,
-                             DWORD cbBuf,
-                             LPDWORD pNoBytesRead
-                             )
-
-{
-
-  dprintf(("WINSPOOL: ReadPrinter(%u, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, pBuf, cbBuf, pNoBytesRead
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+ODINFUNCTION4(BOOL, ReadPrinter,
+              HANDLE, hPrinter,
+              LPVOID, pBuf,
+              DWORD, cbBuf,
+              LPDWORD, pNoBytesRead)
+{
+  dprintf(("WINSPOOL: ReadPrinter not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL ResetPrinterA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  printer handle
  *             PRINTER_DEFAULTSA * pDefault  address of printer defaults structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2707,26 +2440,22 @@
  * Author    : Markus Montkowski [09.07.98 14:51:52]
  *****************************************************************************/
-BOOL WIN32API ResetPrinterA(
-                              HANDLE hPrinter,
-                              PRINTER_DEFAULTSA * pDefault
-                              )
-
-{
-
-  dprintf(("WINSPOOL: ResetPrinterA(%u, %08x) not implemented\n"
-           ,hPrinter, pDefault
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION2(BOOL, ResetPrinterA,
+              HANDLE, hPrinter,
+              PRINTER_DEFAULTSA *, pDefault)
+{
+  dprintf(("WINSPOOL: ResetPrinterA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL ResetPrinterW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  printer handle
  *             PRINTER_DEFAULTSW * pDefault  address of printer defaults structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2735,25 +2464,21 @@
  * Author    : Markus Montkowski [09.07.98 14:51:52]
  *****************************************************************************/
-BOOL WIN32API ResetPrinterW(
-                              HANDLE hPrinter,
-                              PRINTER_DEFAULTSW * pDefault
-                              )
-
-{
-
-  dprintf(("WINSPOOL: ResetPrinterW(%u, %08x) not implemented\n"
-           ,hPrinter, pDefault
-         ));
-
-  return (FALSE);
-}
- /*****************************************************************************
+
+ODINFUNCTION2(BOOL, ResetPrinterW,
+              HANDLE, hPrinter,
+              PRINTER_DEFAULTSW *, pDefault)
+{
+  dprintf(("WINSPOOL: ResetPrinterW not implemented\n"));
+  return (FALSE);
+}
+
+/*****************************************************************************
  * Name      : BOOL ScheduleJob
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  specifies printer for the print job
  *             DWORD dwJobID  print job identifier
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2762,28 +2487,24 @@
  * Author    : Markus Montkowski [09.07.98 14:52:39]
  *****************************************************************************/
-BOOL WIN32API ScheduleJob(
-                             HANDLE hPrinter,
-                             DWORD dwJobID
-                             )
-
-{
-
-  dprintf(("WINSPOOL: ScheduleJob(%u, %d) not implemented\n"
-           ,hPrinter, dwJobID
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION2(BOOL, ScheduleJob,
+              HANDLE, hPrinter,
+              DWORD, dwJobID)
+{
+  dprintf(("WINSPOOL: ScheduleJob not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL SetFormA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             LPSTR pFormName  address of form name
  *             DWORD Level  structure level
  *             LPBYTE pForm  address of structure array
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2792,30 +2513,26 @@
  * Author    : Markus Montkowski [09.07.98 14:53:20]
  *****************************************************************************/
-BOOL WIN32API SetFormA(
-                          HANDLE hPrinter,
-                          LPSTR pFormName,
-                          DWORD Level,
-                          LPBYTE pForm
-                          )
-
-{
-
-  dprintf(("WINSPOOL: SetFormA(%u, %s, %d, %08x) not implemented\n"
-           ,hPrinter, pFormName, Level, pForm
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION4(BOOL, SetFormA,
+              HANDLE, hPrinter,
+              LPSTR, pFormName,
+              DWORD, Level,
+              LPBYTE, pForm)
+{
+  dprintf(("WINSPOOL: SetFormA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL SetFormW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             LPWSTR pFormName  address of form name
  *             DWORD Level  structure level
  *             LPBYTE pForm  address of structure array
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2824,23 +2541,19 @@
  * Author    : Markus Montkowski [09.07.98 14:53:20]
  *****************************************************************************/
-BOOL WIN32API SetFormW(
-                          HANDLE hPrinter,
-                          LPWSTR pFormName,
-                          DWORD Level,
-                          LPBYTE pForm
-                          )
-
-{
-
-  dprintf(("WINSPOOL: SetFormW(%u, %s, %d, %08x)not implemented\n"
-           ,hPrinter, pFormName, Level, pForm
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION4(BOOL, SetFormW,
+              HANDLE, hPrinter,
+              LPWSTR, pFormName,
+              DWORD, Level,
+              LPBYTE, pForm)
+{
+  dprintf(("WINSPOOL: SetFormW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL SetJobA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             DWORD JobId  print job identifier
@@ -2848,7 +2561,7 @@
  *             LPBYTE  pJob  pointer to job information structure
  *             DWORD Command  job command value
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2857,24 +2570,20 @@
  * Author    : Markus Montkowski [09.07.98 14:53:47]
  *****************************************************************************/
-BOOL WIN32API SetJobA(
-                        HANDLE hPrinter,
-                        DWORD JobId,
-                        DWORD Level,
-                        LPBYTE  pJob,
-                        DWORD Command
-                        )
-
-{
-
-  dprintf(("WINSPOOL: SetJobA(%u, %d, %d, %08x, %d) not implemented\n"
-           ,hPrinter, JobId, Level, pJob, Command
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION5(BOOL, SetJobA,
+              HANDLE, hPrinter,
+              DWORD, JobId,
+              DWORD, Level,
+              LPBYTE, pJob,
+              DWORD, Command)
+{
+  dprintf(("WINSPOOL: SetJobA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL SetJobW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             DWORD JobId  print job identifier
@@ -2882,7 +2591,7 @@
  *             LPBYTE  pJob  pointer to job information structure
  *             DWORD Command  job command value
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2891,30 +2600,26 @@
  * Author    : Markus Montkowski [09.07.98 14:53:47]
  *****************************************************************************/
-BOOL WIN32API SetJobW(
-                        HANDLE hPrinter,
-                        DWORD JobId,
-                        DWORD Level,
-                        LPBYTE  pJob,
-                        DWORD Command
-                        )
-
-{
-
-  dprintf(("WINSPOOL: SetJobW(%u, %d, %d, %08x, %d) not implemented\n"
-           ,hPrinter, JobId, Level, pJob, Command
-         ));
-
-  return (FALSE);
-}
- /*****************************************************************************
+
+ODINFUNCTION5(BOOL, SetJobW,
+              HANDLE, hPrinter,
+              DWORD, JobId,
+              DWORD, Level,
+              LPBYTE, pJob,
+              DWORD, Command)
+{
+  dprintf(("WINSPOOL: SetJobW not implemented\n"));
+  return (FALSE);
+}
+
+/*****************************************************************************
  * Name      : BOOL SetPrinterA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             DWORD Level  structure level
  *             LPBYTE pPrinter  address of array containing printer data
  *             DWORD Command  printer-state command
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2923,30 +2628,26 @@
  * Author    : Markus Montkowski [09.07.98 14:55:03]
  *****************************************************************************/
-BOOL WIN32API SetPrinterA(
-                            HANDLE hPrinter,
-                            DWORD Level,
-                            LPBYTE pPrinter,
-                            DWORD Command
-                            )
-
-{
-
-  dprintf(("WINSPOOL: SetPrinterA(%u, %d, %08x, %d) not implemented\n"
-           ,hPrinter, Level, pPrinter, Command
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION4(BOOL, SetPrinterA,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pPrinter,
+              DWORD, Command)
+{
+  dprintf(("WINSPOOL: SetPrinterA not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL SetPrinterW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             DWORD Level  structure level
  *             LPBYTE pPrinter  address of array containing printer data
  *             DWORD Command  printer-state command
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2955,23 +2656,19 @@
  * Author    : Markus Montkowski [09.07.98 14:55:03]
  *****************************************************************************/
-BOOL WIN32API SetPrinterW(
-                            HANDLE hPrinter,
-                            DWORD Level,
-                            LPBYTE pPrinter,
-                            DWORD Command
-                            )
-
-{
-
-  dprintf(("WINSPOOL: SetPrinterW(%u, %d, %08x, %d) not implemented\n"
-           ,hPrinter, Level, pPrinter, Command
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION4(BOOL, SetPrinterW,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pPrinter,
+              DWORD, Command)
+{
+  dprintf(("WINSPOOL: SetPrinterW not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : DWORD SetPrinterDataA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             LPSTR pValueName  address of data type
@@ -2979,7 +2676,7 @@
  *             LPBYTE pData  address of array that specifies printer data
  *             DWORD cbData  size, in bytes, of array
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -2988,24 +2685,20 @@
  * Author    : Markus Montkowski [09.07.98 14:55:52]
  *****************************************************************************/
-DWORD WIN32API SetPrinterDataA(
-                                  HANDLE hPrinter,
-                                  LPSTR pValueName,
-                                  DWORD Type,
-                                  LPBYTE pData,
-                                  DWORD cbData
-                                  )
-
-{
-
-  dprintf(("WINSPOOL: SetPrinterDataA(%u, %s, %d, %08x, %d) not implemented\n"
-           ,hPrinter, pValueName, Type, pData, cbData
-         ));
-
+
+ODINFUNCTION5(DWORD, SetPrinterDataA,
+              HANDLE, hPrinter,
+              LPSTR, pValueName,
+              DWORD, Type,
+              LPBYTE, pData,
+              DWORD, cbData)
+{
+  dprintf(("WINSPOOL: SetPrinterDataA not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : DWORD SetPrinterDataW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             LPWSTR pValueName  address of data type
@@ -3013,7 +2706,7 @@
  *             LPBYTE pData  address of array that specifies printer data
  *             DWORD cbData  size, in bytes, of array
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -3022,30 +2715,26 @@
  * Author    : Markus Montkowski [09.07.98 14:55:52]
  *****************************************************************************/
-DWORD WIN32API SetPrinterDataW(
-                                  HANDLE hPrinter,
-                                  LPWSTR pValueName,
-                                  DWORD Type,
-                                  LPBYTE pData,
-                                  DWORD cbData
-                                  )
-
-{
-
-  dprintf(("WINSPOOL: SetPrinterDataW(%u, %s, %d, %08x, %d)not implemented\n"
-           ,hPrinter, pValueName, Type, pData, cbData
-         ));
-
+
+ODINFUNCTION5(DWORD, SetPrinterDataW,
+              HANDLE, hPrinter,
+              LPWSTR, pValueName,
+              DWORD, Type,
+              LPBYTE, pData,
+              DWORD, cbData)
+{
+  dprintf(("WINSPOOL: SetPrinterDataW not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : DWORD StartDocPrinterA
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             DWORD Level  structure level
  *             LPBYTE pDocInfo  address of structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -3054,28 +2743,24 @@
  * Author    : Markus Montkowski [09.07.98 14:56:45]
  *****************************************************************************/
-DWORD WIN32API StartDocPrinterA(
-                                  HANDLE hPrinter,
-                                  DWORD Level,
-                                  LPBYTE pDocInfo
-                                  )
-
-{
-
-  dprintf(("WINSPOOL: StartDocPrinterA(%u, %d, %08x) not implemented\n"
-           ,hPrinter, Level, pDocInfo
-         ));
-
+
+ODINFUNCTION3(DWORD, StartDocPrinterA,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pDocInfo)
+{
+  dprintf(("WINSPOOL: StartDocPrinterA not implemented\n"));
   return (0);
 }
 
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : DWORD StartDocPrinterW
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
  *             DWORD Level  structure level
  *             LPBYTE pDocInfo  address of structure
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -3084,25 +2769,21 @@
  * Author    : Markus Montkowski [09.07.98 14:56:45]
  *****************************************************************************/
-DWORD WIN32API StartDocPrinterW(
-                                  HANDLE hPrinter,
-                                  DWORD Level,
-                                  LPBYTE pDocInfo
-                                  )
-
-{
-
-  dprintf(("WINSPOOL: StartDocPrinterW(%u, %d, %08x) not implemented\n"
-           ,hPrinter, Level, pDocInfo
-         ));
-
+
+ODINFUNCTION3(DWORD, StartDocPrinterW,
+              HANDLE, hPrinter,
+              DWORD, Level,
+              LPBYTE, pDocInfo)
+{
+  dprintf(("WINSPOOL: StartDocPrinterW not implemented\n"));
   return (0);
 }
- /*****************************************************************************
+
+/*****************************************************************************
  * Name      : BOOL StartPagePrinter
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle of printer object
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -3111,27 +2792,23 @@
  * Author    : Markus Montkowski [09.07.98 14:57:38]
  *****************************************************************************/
-BOOL WIN32API StartPagePrinter(
-                                  HANDLE hPrinter
-                                  )
-
-{
-
-  dprintf(("WINSPOOL: StartPagePrinter(%u) not implemented\n"
-           ,hPrinter
-         ));
-
-  return (FALSE);
-}
-
- /*****************************************************************************
+
+ODINFUNCTION1(BOOL, StartPagePrinter,
+              HANDLE, hPrinter)
+{
+  dprintf(("WINSPOOL: StartPagePrinter not implemented\n"));
+  return (FALSE);
+}
+
+
+/*****************************************************************************
  * Name      : BOOL WritePrinter
- * Purpose   : 
+ * Purpose   :
  * Parameters: HANDLE hPrinter  handle to printer object
  *             LPVOID pBuf  pointer to array that contains printer data
  *             DWORD cbBuf  size, in bytes, of array
  *             LPDWORD pcWritten  addr. of variable with count of bytes written
- * Variables : 
- * Result    : 
- * Remark    : 
+ * Variables :
+ * Result    :
+ * Remark    :
  * Status    : UNTESTED STUB
  *
@@ -3140,18 +2817,14 @@
  * Author    : Markus Montkowski [09.07.98 14:58:49]
  *****************************************************************************/
-BOOL WIN32API WritePrinter(
-                              HANDLE hPrinter,
-                              LPVOID pBuf,
-                              DWORD cbBuf,
-                              LPDWORD pcWritten
-                              )
-
-{
-
-  dprintf(("WINSPOOL: WritePrinter(%u, %08x, %d, %08x) not implemented\n"
-           ,hPrinter, pBuf, cbBuf, pcWritten
-         ));
-
-  return (FALSE);
-}
-
+
+ODINFUNCTION4(BOOL, WritePrinter,
+              HANDLE, hPrinter,
+              LPVOID, pBuf,
+              DWORD, cbBuf,
+              LPDWORD, pcWritten)
+{
+  dprintf(("WINSPOOL: WritePrinter not implemented\n"));
+  return (FALSE);
+}
+
+
