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