Update README to say GPLv2 or later and remove references to bzr.
[jerry/slag.git] / win32 / spoolss / EnumPrintProcessors.c
1 /******************************************************************\r
2  * SPOOLSS regression testing code for Samba print servers\r
3  * \r
4  *****************************************************************/\r
5 \r
6 #include <windows.h>\r
7 #include <stdio.h>\r
8 #include "printlib.h"\r
9 \r
10 #define NUM_ARCH        5\r
11 const LPTSTR arch [NUM_ARCH] = {        "Windows 4.0",\r
12                                                         "Windows NT x86",\r
13                                                         "Windows NT R4000",\r
14                                                         "Windows NT PowerPC",\r
15                                                         "Windows NT Alpha_AXP"  };\r
16 \r
17 int main (int argc, char* argv[])\r
18 {\r
19         DWORD   needed, returned, i, j;\r
20         PPRINTPROCESSOR_INFO_1  buffer1 = NULL;\r
21         \r
22         if (argc < 2)\r
23         {\r
24                 fprintf (stderr, "useage: %s <servername>\n", argv[0]);\r
25                 exit (-1);\r
26         }\r
27 \r
28         for (i=0; i<NUM_ARCH; i++)\r
29         {\r
30                 printf ("[%s]\n", arch[i]);\r
31 \r
32                 needed = 0;\r
33                 EnumPrintProcessors(argv[1], arch[i], 1, (LPBYTE)buffer1, 0, &needed, &returned);\r
34                 if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)\r
35                 {\r
36                         fprintf (stderr, "Error EnumPrintProcessors Info Level 1 for [%s] using NULL buffer.\n", argv[1]);\r
37                         continue;\r
38                 }\r
39 \r
40                 if ((buffer1 = (LPBYTE)malloc(needed)) == NULL)\r
41                 {\r
42                         fprintf (stderr, "Unable to malloc memory for buffer!\n");\r
43                         exit (-1);\r
44                 }\r
45                 if (!EnumPrintProcessors(argv[1], arch[i], 1, (LPBYTE)buffer1, needed, &needed, &returned))\r
46                 {\r
47                         fprintf (stderr, "Error getting print processor information for [%s].\nSize of buffer = %d\n", \r
48                                         argv[1], needed);\r
49                 }\r
50                 printf ("Print Processor Info 1:\n");\r
51                 for (j=0; j<returned; j++)\r
52                 {\r
53                         print_printprocessor_info_1 (&buffer1[j]);\r
54                         printf ("\n");\r
55                 }\r
56                 free (buffer1);\r
57         }\r
58 \r
59 \r
60         return 0;\r
61 \r
62 }\r
63 \r