Update README to say GPLv2 or later and remove references to bzr.
[jerry/slag.git] / win32 / spoolss / SetJob.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                   dwJobId = 0;\r
16         DOCINFO                 docinfo;\r
17         LPVOID                  lpMsgBuf;\r
18 \r
19 \r
20         if (argc < 3)\r
21         {\r
22                 fprintf (stderr, "useage: %s <printername> <Job ID>\n", argv[0]);\r
23                 exit (-1);\r
24         }\r
25 \r
26         /* open the printer */\r
27         if (!OpenPrinter (argv[1], &printer, NULL))\r
28         {\r
29                 fprintf (stderr, "Unable to open %s!\n", argv[1]);\r
30                 exit (-1);\r
31         }\r
32         else\r
33         {\r
34                 printf ("Printer [%s] opened successfully.\n\n", argv[1]);\r
35         }\r
36 \r
37 #if 0\r
38         docinfo.lpszDocName = strdup (argv[2]);\r
39         docinfo.lpszOutput  = NULL;\r
40         docinfo.lpszDatatype = strdup ("RAW");\r
41         docinfo.fwType = 0;\r
42         docinfo.cbSize = sizeof (docinfo);\r
43 \r
44         dwJobId = StartDoc (NULL, &docinfo);\r
45         printf ("JobId = %d\n", dwJobId);\r
46         if (dwJobId < 1)\r
47         {\r
48                 FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | \r
49                         FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),\r
50                         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language\r
51                         (LPTSTR) &lpMsgBuf, 0, NULL);\r
52                 printf ("ERROR : %s\n", (char*)lpMsgBuf);\r
53                 LocalFree (lpMsgBuf);\r
54         }\r
55         else\r
56         {\r
57                 printf ("StartDoc called successfully.  Job ID = %d\n", dwJobId);\r
58         }\r
59 #endif\r
60 \r
61         dwJobId = atoi (argv[2]);\r
62 \r
63         printf ("command = JOB_CONTROL_PAUSE\n");\r
64         if (SetJob(printer, dwJobId, 0, NULL, JOB_CONTROL_PAUSE))\r
65         {\r
66                 printf ("Job Id [%d] paused successfully\n", dwJobId);\r
67         }\r
68         else\r
69         {\r
70                 FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | \r
71                         FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),\r
72                         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language\r
73                         (LPTSTR) &lpMsgBuf, 0, NULL);\r
74                 printf ("ERROR : %s\n", (char*)lpMsgBuf);\r
75                 LocalFree (lpMsgBuf);\r
76         }\r
77         printf ("\n");\r
78 \r
79         printf ("command = JOB_CONTROL_RESUME\n");\r
80         if (SetJob(printer, dwJobId, 0, NULL, JOB_CONTROL_RESUME))\r
81         {\r
82                 printf ("Job Id [%d] resumed successfully\n", dwJobId);\r
83         }\r
84         else\r
85         {\r
86                 FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | \r
87                         FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),\r
88                         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language\r
89                         (LPTSTR) &lpMsgBuf, 0, NULL);\r
90                 printf ("ERROR : %s\n", (char*)lpMsgBuf);\r
91                 LocalFree (lpMsgBuf);\r
92         }\r
93         printf ("\n");\r
94 \r
95         printf ("command = JOB_CONTROL_RESTART\n");\r
96         if (SetJob(printer, dwJobId, 0, NULL, JOB_CONTROL_RESTART))\r
97         {\r
98                 printf ("Job Id [%d] restarted successfully\n", dwJobId);\r
99         }\r
100         else\r
101         {\r
102                 FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | \r
103                         FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),\r
104                         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language\r
105                         (LPTSTR) &lpMsgBuf, 0, NULL);\r
106                 printf ("ERROR : %s\n", (char*)lpMsgBuf);\r
107                 LocalFree (lpMsgBuf);\r
108         }\r
109         printf ("\n");\r
110 \r
111 \r
112         printf ("command = JOB_CONTROL_DELETE\n");\r
113         if (SetJob(printer, dwJobId, 0, NULL, JOB_CONTROL_DELETE))\r
114         {\r
115                 printf ("Job Id [%d] deleted successfully\n", dwJobId);\r
116         }\r
117         else\r
118         {\r
119                 FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | \r
120                         FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),\r
121                         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language\r
122                         (LPTSTR) &lpMsgBuf, 0, NULL);\r
123                 printf ("ERROR : %s\n", (char*)lpMsgBuf);\r
124                 LocalFree (lpMsgBuf);\r
125         }\r
126         printf ("\n");\r
127 \r
128         /* close the printer */\r
129         if (!ClosePrinter(printer))\r
130         {\r
131                 fprintf (stderr, "Error closing printer!\n");\r
132                 exit (-1);\r
133         }\r
134         else\r
135         {\r
136                 printf ("Printer [%s] closed successfully.\n", argv[1]);\r
137         }\r
138 \r
139         return 0;\r
140 \r
141 }\r