testprogs: add more error codes 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_CALL_NOT_IMPLEMENTED:
35                 return "ERROR_CALL_NOT_IMPLEMENTED";
36         case ERROR_INSUFFICIENT_BUFFER:
37                 return "ERROR_INSUFFICIENT_BUFFER";
38         case ERROR_INVALID_NAME:
39                 return "ERROR_INVALID_NAME";
40         case ERROR_INVALID_LEVEL:
41                 return "ERROR_INVALID_LEVEL";
42         case ERROR_MORE_DATA:
43                 return "ERROR_MORE_DATA";
44 #ifdef ERROR_INVALID_DATATYPE
45         case ERROR_INVALID_DATATYPE:
46                 return "ERROR_INVALID_DATATYPE";
47 #endif
48         case ERROR_INVALID_ENVIRONMENT:
49                 return "ERROR_INVALID_ENVIRONMENT";
50         case ERROR_INVALID_PRINTER_COMMAND:
51                 return "ERROR_INVALID_PRINTER_COMMAND";
52         case ERROR_PRINTER_ALREADY_EXISTS:
53                 return "ERROR_PRINTER_ALREADY_EXISTS";
54         case ERROR_INVALID_PRINTER_NAME:
55                 return "ERROR_INVALID_PRINTER_NAME";
56         case ERROR_INVALID_PRIORITY:
57                 return "ERROR_INVALID_PRIORITY";
58         case ERROR_INVALID_SEPARATOR_FILE:
59                 return "ERROR_INVALID_SEPARATOR_FILE";
60         case ERROR_UNKNOWN_PRINTPROCESSOR:
61                 return "ERROR_UNKNOWN_PRINTPROCESSOR";
62         case ERROR_UNKNOWN_PRINTER_DRIVER:
63                 return "ERROR_UNKNOWN_PRINTER_DRIVER";
64         case ERROR_UNKNOWN_PORT:
65                 return "ERROR_UNKNOWN_PORT";
66         case ERROR_PRINTER_DRIVER_ALREADY_INSTALLED:
67                 return "ERROR_PRINTER_DRIVER_ALREADY_INSTALLED";
68         case ERROR_UNKNOWN_PRINT_MONITOR:
69                 return "ERROR_UNKNOWN_PRINT_MONITOR";
70         case ERROR_PRINTER_DRIVER_IN_USE:
71                 return "ERROR_PRINTER_DRIVER_IN_USE";
72         case ERROR_SPOOL_FILE_NOT_FOUND:
73                 return "ERROR_SPOOL_FILE_NOT_FOUND";
74         case ERROR_SPL_NO_STARTDOC:
75                 return "ERROR_SPL_NO_STARTDOC";
76         case ERROR_SPL_NO_ADDJOB:
77                 return "ERROR_SPL_NO_ADDJOB";
78         case ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED:
79                 return "ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED";
80         case ERROR_PRINT_MONITOR_ALREADY_INSTALLED:
81                 return "ERROR_PRINT_MONITOR_ALREADY_INSTALLED";
82         case ERROR_INVALID_PRINT_MONITOR:
83                 return "ERROR_INVALID_PRINT_MONITOR";
84         case ERROR_PRINT_MONITOR_IN_USE:
85                 return "ERROR_PRINT_MONITOR_IN_USE";
86         case ERROR_PRINTER_HAS_JOBS_QUEUED:
87                 return "ERROR_PRINTER_HAS_JOBS_QUEUED";
88         case ERROR_PRINTER_NOT_FOUND:
89                 return "ERROR_PRINTER_NOT_FOUND";
90         case ERROR_PRINTER_DRIVER_WARNED:
91                 return "ERROR_PRINTER_DRIVER_WARNED";
92         case ERROR_PRINTER_DRIVER_BLOCKED:
93                 return "ERROR_PRINTER_DRIVER_BLOCKED";
94 #ifdef ERROR_PRINTER_DRIVER_PACKAGE_IN_USE
95         case ERROR_PRINTER_DRIVER_PACKAGE_IN_USE:
96                 return "ERROR_PRINTER_DRIVER_PACKAGE_IN_USE";
97 #endif
98 #ifdef ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND
99         case ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND:
100                 return "ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND";
101 #endif
102 #ifdef ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED
103         case ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED:
104                 return "ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED";
105 #endif
106 #ifdef ERROR_PRINT_JOB_RESTART_REQUIRED
107         case ERROR_PRINT_JOB_RESTART_REQUIRED:
108                 return "ERROR_PRINT_JOB_RESTART_REQUIRED";
109 #endif
110         case ERROR_CANCELLED:
111                 return "ERROR_CANCELLED";
112         default:
113                 break;
114         }
115
116         sprintf(tmp, "0x%08x", error);
117
118         return tmp;
119 }