-/******************************************************************\r
- * SPOOLSS regression testing code for Samba print servers\r
- * \r
- *****************************************************************/\r
-\r
-#include <windows.h>\r
-#include <stdio.h>\r
-#include <fcntl.h>\r
-#include <io.h>\r
-#include <string.h>\r
-#include "printlib.h"\r
-\r
-\r
-int main (int argc, char* argv[])\r
-{\r
- \r
- HANDLE printer;\r
- int fd;\r
- BYTE buffer[256];\r
- DWORD bytes, wrote;\r
- DOC_INFO_1 buffer1;\r
- PRINTER_DEFAULTS print_defaults;\r
-\r
- if (argc < 3)\r
- {\r
- fprintf (stderr, "useage: %s <printername> <filename>\n", argv[0]);\r
- exit (-1);\r
- }\r
-\r
- printf ("This test program exercises the following win32 functions:\n");\r
- printf ("\tResetPrinter()\n");\r
- printf ("\tStartDocPrinter()\n");\r
- printf ("\tEndDocPrinter()\n");\r
- printf ("\tStartPagePrinter()\n");\r
- printf ("\tEndPagePrinter()\n");\r
- printf ("\tWritePrinter()\n");\r
- printf ("\n\n");\r
-\r
- printf ("This test program exercises both the StartPagePrinter()\n");\r
- printf ("and EndPagePrinter() Win32 functions.\n\n");\r
-\r
- if (!OpenPrinter (argv[1], &printer, NULL))\r
- {\r
- fprintf (stderr, "Unable to open %s!\n", argv[1]);\r
- exit (-1);\r
- }\r
- else\r
- {\r
- printf ("Printer [%s] opened successfully.\n\n", argv[1]);\r
- }\r
-\r
- /* set the printer defaults */\r
- print_defaults.pDatatype = strdup ("RAW");\r
- print_defaults.DesiredAccess = NULL;\r
- print_defaults.pDevMode = NULL;\r
- if (ResetPrinter(printer, &print_defaults))\r
- printf ("ResetPrinter call succeeded\n");\r
- else\r
- PrintLastError();\r
- printf ("\n");\r
-\r
- /* StartDocPrinter */\r
- buffer1.pDocName = strdup("Testing Printer");\r
- buffer1.pDatatype = strdup("RAW");\r
- buffer1.pOutputFile = NULL;\r
-\r
- printf ("Attempting to call StartDocPrinter() using DOC_INFO_1 :\n");\r
- print_doc_info_1 (&buffer1);\r
- printf ("\n");\r
-\r
- if (StartDocPrinter (printer, 1, (LPBYTE)&buffer1))\r
- printf ("StartDocPrinter called successfully\n");\r
- else\r
- PrintLastError();\r
- printf ("\n");\r
-\r
-\r
- if (StartPagePrinter(printer))\r
- {\r
- printf ("StartPagePrinter returned success.\n");\r
-\r
- if ((fd=_open(argv[2], _O_RDONLY)) == -1)\r
- {\r
- fprintf (stderr, "ERROR: Unable to open [%s] for read access!\n", argv[2]);\r
- ClosePrinter (printer);\r
- exit (-1);\r
- }\r
-\r
- while ((bytes=_read(fd, buffer, 256)) != 0)\r
- {\r
- if (!WritePrinter(printer, (LPVOID)buffer, bytes, &wrote))\r
- {\r
- fprintf (stderr, "ERROR: WritePrinter failed for [%d] bytes!\n", bytes);\r
- PrintLastError();\r
- }\r
- else\r
- printf ("Successfully wrote [%d] bytes to the printer\n", bytes);\r
- }\r
- _close (fd);\r
-\r
- if (EndPagePrinter (printer))\r
- printf ("EndPagePrinter returned success.\n");\r
- else\r
- PrintLastError();\r
- }\r
- else\r
- PrintLastError();\r
- printf ("\n");\r
- \r
- printf ("Attempting to call EndDocPrinter\n");\r
- if (EndDocPrinter (printer))\r
- printf ("EndDocPrinter called successfully\n");\r
- else\r
- PrintLastError();\r
- printf ("\n");\r
-\r
-\r
-\r
- if (!ClosePrinter(printer))\r
- {\r
- fprintf (stderr, "Error closing printer!\n");\r
- exit (-1);\r
- }\r
- else\r
- {\r
- printf ("Printer [%s] closed successfully.\n", argv[1]);\r
- }\r
-\r
- return 0;\r
-\r
+/******************************************************************
+ * SPOOLSS regression testing code for Samba print servers
+ *
+ *****************************************************************/
+
+#include <windows.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <io.h>
+#include <string.h>
+#include "printlib.h"
+
+
+int main (int argc, char* argv[])
+{
+
+ HANDLE printer;
+ int fd;
+ BYTE buffer[256];
+ DWORD bytes, wrote;
+ DOC_INFO_1 buffer1;
+ PRINTER_DEFAULTS print_defaults;
+
+ if (argc < 3)
+ {
+ fprintf (stderr, "useage: %s <printername> <filename>\n", argv[0]);
+ exit (-1);
+ }
+
+ printf ("This test program exercises the following win32 functions:\n");
+ printf ("\tResetPrinter()\n");
+ printf ("\tStartDocPrinter()\n");
+ printf ("\tEndDocPrinter()\n");
+ printf ("\tStartPagePrinter()\n");
+ printf ("\tEndPagePrinter()\n");
+ printf ("\tWritePrinter()\n");
+ printf ("\n\n");
+
+ printf ("This test program exercises both the StartPagePrinter()\n");
+ printf ("and EndPagePrinter() Win32 functions.\n\n");
+
+ if (!OpenPrinter (argv[1], &printer, NULL))
+ {
+ fprintf (stderr, "Unable to open %s!\n", argv[1]);
+ exit (-1);
+ }
+ else
+ {
+ printf ("Printer [%s] opened successfully.\n\n", argv[1]);
+ }
+
+ /* set the printer defaults */
+ print_defaults.pDatatype = strdup ("RAW");
+ print_defaults.DesiredAccess = NULL;
+ print_defaults.pDevMode = NULL;
+ if (ResetPrinter(printer, &print_defaults))
+ printf ("ResetPrinter call succeeded\n");
+ else
+ PrintLastError();
+ printf ("\n");
+
+ /* StartDocPrinter */
+ buffer1.pDocName = strdup("Testing Printer");
+ buffer1.pDatatype = strdup("RAW");
+ buffer1.pOutputFile = NULL;
+
+ printf ("Attempting to call StartDocPrinter() using DOC_INFO_1 :\n");
+ print_doc_info_1 (&buffer1);
+ printf ("\n");
+
+ if (StartDocPrinter (printer, 1, (LPBYTE)&buffer1))
+ printf ("StartDocPrinter called successfully\n");
+ else
+ PrintLastError();
+ printf ("\n");
+
+
+ if (StartPagePrinter(printer))
+ {
+ printf ("StartPagePrinter returned success.\n");
+
+ if ((fd=_open(argv[2], _O_RDONLY)) == -1)
+ {
+ fprintf (stderr, "ERROR: Unable to open [%s] for read access!\n", argv[2]);
+ ClosePrinter (printer);
+ exit (-1);
+ }
+
+ while ((bytes=_read(fd, buffer, 256)) != 0)
+ {
+ if (!WritePrinter(printer, (LPVOID)buffer, bytes, &wrote))
+ {
+ fprintf (stderr, "ERROR: WritePrinter failed for [%d] bytes!\n", bytes);
+ PrintLastError();
+ }
+ else
+ printf ("Successfully wrote [%d] bytes to the printer\n", bytes);
+ }
+ _close (fd);
+
+ if (EndPagePrinter (printer))
+ printf ("EndPagePrinter returned success.\n");
+ else
+ PrintLastError();
+ }
+ else
+ PrintLastError();
+ printf ("\n");
+
+ printf ("Attempting to call EndDocPrinter\n");
+ if (EndDocPrinter (printer))
+ printf ("EndDocPrinter called successfully\n");
+ else
+ PrintLastError();
+ printf ("\n");
+
+
+
+ if (!ClosePrinter(printer))
+ {
+ fprintf (stderr, "Error closing printer!\n");
+ exit (-1);
+ }
+ else
+ {
+ printf ("Printer [%s] closed successfully.\n", argv[1]);
+ }
+
+ return 0;
+
}
\ No newline at end of file