1 /******************************************************************
\r
2 * SPOOLSS regression testing code for Samba print servers
\r
4 *****************************************************************/
\r
9 #include "printlib.h"
\r
12 #define MAX_JOBS 100
\r
14 int main (int argc, char* argv[])
\r
18 DWORD returned, needed, i;
\r
19 PJOB_INFO_1 buffer1 = NULL;
\r
20 PJOB_INFO_2 buffer2 = NULL;
\r
26 fprintf (stderr, "useage: %s <printername> <job id>\n", argv[0]);
\r
29 dJob = atoi(argv[2]);
\r
31 /* open the printer */
\r
32 if (!OpenPrinter (argv[1], &printer, NULL))
\r
34 fprintf (stderr, "Unable to open %s!\n", argv[1]);
\r
39 printf ("Printer [%s] opened successfully.\n\n", argv[1]);
\r
43 EnumJobs(printer, START_JOB, MAX_JOBS, 1, (LPBYTE)buffer1, 0, &needed, &returned);
\r
44 if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
\r
48 fprintf (stderr, "Error getting job information for [%s] using NULL buffer.\n", argv[2]);
\r
53 printf ("No jobs returned for [%s]\n", argv[1]);
\r
54 ClosePrinter (printer);
\r
59 if ((buffer1 = (LPBYTE)malloc(needed)) == NULL)
\r
61 fprintf (stderr, "Unable to malloc memory for JOB_INFO_1 buffer!\n");
\r
64 if (!EnumJobs(printer, START_JOB, MAX_JOBS, 1, (LPBYTE)buffer1, needed, &needed, &returned))
\r
66 fprintf (stderr, "Error getting form information for [%s].\nSize of buffer = %d\n",
\r
71 printf ("Job Info Level 1:\n");
\r
72 for (i=0; i<returned; i++)
\r
74 print_job_info_1 (&buffer1[i]);
\r
81 GetJob(printer, dJob, 2, (LPBYTE)buffer2, 0, &needed);
\r
82 if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
\r
86 fprintf (stderr, "Error getting job information for [%s] using NULL buffer.\n", argv[2]);
\r
91 printf ("No jobs returned for [%s]\n", argv[1]);
\r
92 ClosePrinter (printer);
\r
97 if ((buffer2 = (LPBYTE)malloc(needed)) == NULL)
\r
99 fprintf (stderr, "Unable to malloc memory for JOB_INFO_2 buffer!\n");
\r
102 if (!GetJob(printer, dJob, 2, (LPBYTE)buffer2, needed, &needed))
\r
104 fprintf (stderr, "Error getting form information for [%s].\nSize of buffer = %d\n",
\r
109 printf ("Job Info Level 2:\n");
\r
110 for (i=0; i<returned; i++)
\r
112 print_job_info_2 (&buffer2[i]);
\r
118 /* close the printer */
\r
119 if (!ClosePrinter(printer))
\r
121 fprintf (stderr, "Error closing printer!\n");
\r
126 printf ("Printer [%s] closed successfully.\n", argv[1]);
\r