1 /******************************************************************
\r
2 * SPOOLSS regression testing code for Samba print servers
\r
4 *****************************************************************/
\r
8 #include "printlib.h"
\r
11 int main (int argc, char* argv[])
\r
15 PRINTER_DEFAULTS defaults;
\r
16 DWORD returned, needed, i;
\r
17 PFORM_INFO_1 buffer1 = NULL;
\r
20 fprintf (stderr, "useage: %s <localprinter> <networkprinter>\n", argv[0]);
\r
24 defaults.DesiredAccess = PRINTER_ACCESS_ADMINISTER;
\r
25 defaults.pDatatype = NULL;
\r
26 defaults.pDevMode = NULL;
\r
28 /* open the printer */
\r
29 if (!OpenPrinter (argv[1], &printer, &defaults))
\r
31 fprintf (stderr, "Unable to open %s!\n", argv[1]);
\r
38 EnumForms(printer, 1, (LPBYTE)buffer1, 0, &needed, &returned);
\r
39 if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
\r
40 fprintf (stderr, "Error getting form information for [%s] using NULL buffer.\n", argv[1]);
\r
44 if ( (buffer1 = (FORM_INFO_1*)malloc(needed)) == NULL ) {
\r
45 fprintf (stderr, "Unable to malloc memory for FORM_INFO_1 buffer!\n");
\r
49 if (!EnumForms(printer, 1, (LPBYTE)buffer1, needed, &needed, &returned))
\r
51 fprintf (stderr, "Error getting form information for [%s].\nSize of buffer = %d\n",
\r
56 /* close the printer */
\r
57 if ( !ClosePrinter(printer) ) {
\r
63 /* open the printer */
\r
64 if (!OpenPrinter (argv[2], &printer, &defaults))
\r
66 fprintf (stderr, "Unable to open %s!\n", argv[1]);
\r
71 for (i=0; i<returned; i++)
\r
73 if ( buffer1[i].Flags == FORM_PRINTER ) {
\r
74 printf("Adding form \"%s\"\n", buffer1[i].pName );
\r
75 if ( !AddForm( printer, 1, (LPBYTE)&buffer1[i] ) )
\r
84 /* close the printer */
\r
85 if ( !ClosePrinter(printer) ) {
\r