Update README to say GPLv2 or later and remove references to bzr.
[jerry/slag.git] / win32 / spoolss / EnumPrintProcessorDatatypes.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 \r
9 #define NUM_ARCH        5\r
10 const LPTSTR arch [NUM_ARCH] = {        "Windows 4.0",\r
11                                                         "Windows NT x86",\r
12                                                         "Windows NT R4000",\r
13                                                         "Windows NT PowerPC",\r
14                                                         "Windows NT Alpha_AXP"  };\r
15 \r
16 int main (int argc, char* argv[])\r
17 {\r
18         DWORD   needed, returned, j;\r
19         PDATATYPES_INFO_1       buffer1 = NULL;\r
20         \r
21         if (argc < 3)\r
22         {\r
23                 fprintf (stderr, "useage: %s <servername> <print processor>\n", argv[0]);\r
24                 exit (-1);\r
25         }\r
26 \r
27         /* INFO LEVEL 1 */\r
28         needed = returned = 0;\r
29         EnumPrintProcessorDatatypes(argv[1], argv[2], 1, (LPBYTE)buffer1, 0, &needed, &returned);\r
30         if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)\r
31         {\r
32                 if (needed != 0)\r
33                         fprintf (stderr, "Error EnumPrintProcessorDatetypes Info Level 1 for [%s] using NULL buffer.\n", argv[1]);\r
34                 else\r
35                         printf ("Info level 1 returned no information\n");\r
36         }\r
37         else\r
38         {\r
39                 if ((buffer1 = (LPBYTE)malloc(needed)) == NULL)\r
40                 {\r
41                         fprintf (stderr, "Unable to malloc memory for buffer!\n");\r
42                         exit (-1);\r
43                 }\r
44                 if (!EnumPrintProcessorDatatypes(argv[1], argv[2], 1, (LPBYTE)buffer1, needed, &needed, &returned))\r
45                 {\r
46                         fprintf (stderr, "Error enumerating print processor Info Level 1 for [%s].\nSize of buffer = %d\n", \r
47                                         argv[1], needed);\r
48                 }\r
49                         printf ("Datatypes Info Level 1\n");\r
50                 for (j=0; j<returned; j++)\r
51                 {\r
52                         printf ("\tDatatype \t= %s\n", buffer1[j].pName);\r
53                 }\r
54                 free (buffer1);\r
55         }\r
56 \r
57 \r
58 \r
59         return 0;\r
60 \r
61 }\r
62 \r