testprogs: add EnumPrinterKey test to spoolss test.
[ira/wip.git] / testprogs / win32 / spoolss / error.c
1 /*
2    Unix SMB/CIFS implementation.
3    test suite for spoolss rpc operations
4
5    Copyright (C) Guenther Deschner 2009
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 */
20
21 #include "spoolss.h"
22
23 const char *errstr(DWORD error)
24 {
25         static char tmp[20];
26
27         switch (error) {
28         case ERROR_FILE_NOT_FOUND:
29                 return "ERROR_FILE_NOT_FOUND";
30         case ERROR_ACCESS_DENIED:
31                 return "ERROR_ACCESS_DENIED";
32         case ERROR_INVALID_PARAMETER:
33                 return "ERROR_INVALID_PARAMETER";
34         case ERROR_INVALID_HANDLE:
35                 return "ERROR_INVALID_HANDLE";
36         case ERROR_CALL_NOT_IMPLEMENTED:
37                 return "ERROR_CALL_NOT_IMPLEMENTED";
38         case ERROR_INSUFFICIENT_BUFFER:
39                 return "ERROR_INSUFFICIENT_BUFFER";
40         case ERROR_INVALID_NAME:
41                 return "ERROR_INVALID_NAME";
42         case ERROR_INVALID_LEVEL:
43                 return "ERROR_INVALID_LEVEL";
44         case ERROR_MORE_DATA:
45                 return "ERROR_MORE_DATA";
46 #ifdef ERROR_INVALID_DATATYPE
47         case ERROR_INVALID_DATATYPE:
48                 return "ERROR_INVALID_DATATYPE";
49 #endif
50         case ERROR_INVALID_ENVIRONMENT:
51                 return "ERROR_INVALID_ENVIRONMENT";
52         case ERROR_INVALID_PRINTER_COMMAND:
53                 return "ERROR_INVALID_PRINTER_COMMAND";
54         case ERROR_PRINTER_ALREADY_EXISTS:
55                 return "ERROR_PRINTER_ALREADY_EXISTS";
56         case ERROR_INVALID_PRINTER_NAME:
57                 return "ERROR_INVALID_PRINTER_NAME";
58         case ERROR_INVALID_PRIORITY:
59                 return "ERROR_INVALID_PRIORITY";
60         case ERROR_INVALID_SEPARATOR_FILE:
61                 return "ERROR_INVALID_SEPARATOR_FILE";
62         case ERROR_UNKNOWN_PRINTPROCESSOR:
63                 return "ERROR_UNKNOWN_PRINTPROCESSOR";
64         case ERROR_UNKNOWN_PRINTER_DRIVER:
65                 return "ERROR_UNKNOWN_PRINTER_DRIVER";
66         case ERROR_UNKNOWN_PORT:
67                 return "ERROR_UNKNOWN_PORT";
68         case ERROR_PRINTER_DRIVER_ALREADY_INSTALLED:
69                 return "ERROR_PRINTER_DRIVER_ALREADY_INSTALLED";
70         case ERROR_UNKNOWN_PRINT_MONITOR:
71                 return "ERROR_UNKNOWN_PRINT_MONITOR";
72         case ERROR_PRINTER_DRIVER_IN_USE:
73                 return "ERROR_PRINTER_DRIVER_IN_USE";
74         case ERROR_SPOOL_FILE_NOT_FOUND:
75                 return "ERROR_SPOOL_FILE_NOT_FOUND";
76         case ERROR_SPL_NO_STARTDOC:
77                 return "ERROR_SPL_NO_STARTDOC";
78         case ERROR_SPL_NO_ADDJOB:
79                 return "ERROR_SPL_NO_ADDJOB";
80         case ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED:
81                 return "ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED";
82         case ERROR_PRINT_MONITOR_ALREADY_INSTALLED:
83                 return "ERROR_PRINT_MONITOR_ALREADY_INSTALLED";
84         case ERROR_INVALID_PRINT_MONITOR:
85                 return "ERROR_INVALID_PRINT_MONITOR";
86         case ERROR_PRINT_MONITOR_IN_USE:
87                 return "ERROR_PRINT_MONITOR_IN_USE";
88         case ERROR_PRINTER_HAS_JOBS_QUEUED:
89                 return "ERROR_PRINTER_HAS_JOBS_QUEUED";
90         case ERROR_PRINTER_NOT_FOUND:
91                 return "ERROR_PRINTER_NOT_FOUND";
92         case ERROR_PRINTER_DRIVER_WARNED:
93                 return "ERROR_PRINTER_DRIVER_WARNED";
94         case ERROR_PRINTER_DRIVER_BLOCKED:
95                 return "ERROR_PRINTER_DRIVER_BLOCKED";
96 #ifdef ERROR_PRINTER_DRIVER_PACKAGE_IN_USE
97         case ERROR_PRINTER_DRIVER_PACKAGE_IN_USE:
98                 return "ERROR_PRINTER_DRIVER_PACKAGE_IN_USE";
99 #endif
100 #ifdef ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND
101         case ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND:
102                 return "ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND";
103 #endif
104 #ifdef ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED
105         case ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED:
106                 return "ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED";
107 #endif
108 #ifdef ERROR_PRINT_JOB_RESTART_REQUIRED
109         case ERROR_PRINT_JOB_RESTART_REQUIRED:
110                 return "ERROR_PRINT_JOB_RESTART_REQUIRED";
111 #endif
112         case ERROR_CANCELLED:
113                 return "ERROR_CANCELLED";
114         case RPC_S_SERVER_UNAVAILABLE:
115                 return "RPC_S_SERVER_UNAVAILABLE";
116         default:
117                 break;
118         }
119
120         sprintf(tmp, "0x%08x", error);
121
122         return tmp;
123 }