Update README to say GPLv2 or later and remove references to bzr.
[jerry/slag.git] / win32 / spoolss / GetForm.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 \r
11 int main (int argc, char* argv[])\r
12 {\r
13         \r
14         HANDLE                  printer;\r
15         DWORD                   needed;\r
16         PFORM_INFO_1    buffer1 = NULL;\r
17 \r
18         if (argc < 3)\r
19         {\r
20                 fprintf (stderr, "useage: %s <printername> <form>\n", argv[0]);\r
21                 exit (-1);\r
22         }\r
23 \r
24         /* open the printer */\r
25         if (!OpenPrinter (argv[1], &printer, NULL))\r
26         {\r
27                 fprintf (stderr, "Unable to open %s!\n", argv[1]);\r
28                 exit (-1);\r
29         }\r
30         else\r
31         {\r
32                 printf ("Printer [%s] opened successfully.\n\n", argv[1]);\r
33         }\r
34 \r
35         /* INFO LEVEL 1 */\r
36         GetForm(printer, argv[2], 1, (LPBYTE)buffer1, 0, &needed);\r
37         if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)\r
38         {\r
39                 fprintf (stderr, "Error getting form information for [%s] using NULL buffer.\n", argv[2]);\r
40                 exit (-1);\r
41         }\r
42 \r
43         if ((buffer1 = (LPBYTE)malloc(needed)) == NULL)\r
44         {\r
45                 fprintf (stderr, "Unable to malloc memory for FORM_INFO_1 buffer!\n");\r
46                 exit (-1);\r
47         }\r
48         if (!GetForm(printer, argv[2], 1, (LPBYTE)buffer1, needed, &needed))\r
49         {\r
50                 fprintf (stderr, "Error getting form information for [%2].\nSize of buffer = %d\n", \r
51                              argv[2], needed);\r
52                 exit (-1);\r
53         }\r
54 \r
55         printf ("Form Info Level 1:\n");\r
56         print_form_info_1 (buffer1);\r
57         printf ("\n");\r
58         free (buffer1);\r
59 \r
60 \r
61         /* close the printer */\r
62         if (!ClosePrinter(printer))\r
63         {\r
64                 fprintf (stderr, "Error closing printer!\n");\r
65                 exit (-1);\r
66         }\r
67         else\r
68         {\r
69                 printf ("Printer [%s] closed successfully.\n", argv[1]);\r
70         }\r
71 \r
72         return 0;\r
73 \r
74 }