20 #if defined(WIN32_VC) || defined(WIN64_VC) 29 string error_to_text(ErrorUtilCode err) {
30 const char *errmsg =
"Unknown error";
33 case EU_http_redirect:
34 errmsg =
"EU_http_redirect";
39 case EU_network_no_data:
40 errmsg =
"EU_network_no_data";
49 errmsg =
"EU_success";
52 errmsg =
"EU_error_abort";
54 case EU_error_file_empty:
55 errmsg =
"EU_error_file_empty";
57 case EU_error_file_invalid:
58 errmsg =
"EU_error_file_invalid";
60 case EU_error_invalid_checksum:
61 errmsg =
"EU_error_invalid_checksum";
63 case EU_error_network_dead:
64 errmsg =
"EU_error_network_dead";
66 case EU_error_network_unreachable:
67 errmsg =
"EU_error_network_unreachable";
69 case EU_error_network_disconnected:
70 errmsg =
"EU_error_network_disconnected";
72 case EU_error_network_timeout:
73 errmsg =
"EU_error_network_timeout";
75 case EU_error_network_no_data:
76 errmsg =
"EU_error_network_no_data";
78 case EU_error_network_disconnected_locally:
79 errmsg =
"EU_error_network_disconnected_locally";
81 case EU_error_network_buffer_overflow:
82 errmsg =
"EU_error_network_buffer_overflow";
84 case EU_error_network_disk_quota_exceeded:
85 errmsg =
"EU_error_network_disk_quota_exceeded";
87 case EU_error_network_remote_host_disconnected:
88 errmsg =
"EU_error_network_remote_host_disconnected";
90 case EU_error_network_remote_host_down:
91 errmsg =
"EU_error_network_remote_host_down";
93 case EU_error_network_remote_host_unreachable:
94 errmsg =
"EU_error_network_remote_host_unreachable";
96 case EU_error_network_remote_host_not_found:
97 errmsg =
"EU_error_network_remote_host_not_found";
99 case EU_error_network_remote_host_no_response:
100 errmsg =
"EU_error_network_remote_host_no_response";
102 case EU_error_write_out_of_files:
103 errmsg =
"EU_error_write_out_of_files";
105 case EU_error_write_out_of_memory:
106 errmsg =
"EU_error_write_out_of_memory";
108 case EU_error_write_sharing_violation:
109 errmsg =
"EU_error_write_sharing_violation";
111 case EU_error_write_disk_full:
112 errmsg =
"EU_error_write_disk_full";
114 case EU_error_write_disk_not_found:
115 errmsg =
"EU_error_write_disk_not_found";
117 case EU_error_write_disk_sector_not_found:
118 errmsg =
"EU_error_write_disk_sector_not_found";
120 case EU_error_write_disk_fault:
121 errmsg =
"EU_error_write_disk_fault";
123 case EU_error_write_file_rename:
124 errmsg =
"EU_error_write_file_rename";
126 case EU_error_http_server_timeout:
127 errmsg =
"EU_error_http_server_timeout";
129 case EU_error_http_gateway_timeout:
130 errmsg =
"EU_error_http_gateway_timeout";
132 case EU_error_http_service_unavailable:
133 errmsg =
"EU_error_http_service_unavailable";
135 case EU_error_http_proxy_authentication:
136 errmsg =
"EU_error_http_proxy_authentication";
139 errmsg =
"EU_error_zlib";
142 errmsg =
"EU_write_ram";
147 sprintf(msgbuf,
"%d: %s",err,errmsg);
148 return string(msgbuf);
156 #if !defined(WIN32) && !defined(WIN64) 157 return EU_error_abort;
162 return EU_error_write_out_of_files;
165 return EU_error_write_out_of_memory;
167 return EU_error_write_disk_not_found;
170 return EU_error_write_disk_sector_not_found;
174 return EU_error_write_disk_fault;
178 return EU_error_write_sharing_violation;
180 return EU_error_write_disk_full;
182 return EU_error_abort;
191 string handle_socket_error() {
192 #if !defined(WIN32) && !defined(WIN64) 193 return string(strerror(errno));
195 int err = WSAGetLastError();
199 errmsg =
"An invalid argument was supplied";
201 errmsg =
"A blocking operation is currently executing";
203 errmsg =
"Message was larger than internal buffer or network limit";
205 errmsg =
"Network dead";
207 errmsg =
"Network unreachable";
209 errmsg =
"Connection broken because keep-alive detected a failure";
211 errmsg =
"Connection aborted by local host software";
213 errmsg =
"Connection closed by remote host";
215 errmsg =
"Out of buffer space or queue overflowed";
217 errmsg =
"Socket was not connected";
219 errmsg =
"Socket was previously shut down";
221 errmsg =
"Connection timed out";
223 errmsg =
"Connection refused by remote host";
225 errmsg =
"Remote host is down";
227 errmsg =
"Remote host is unreachable";
229 errmsg =
"WSAStartup() was not called";
231 errmsg = strerror(errno);
233 if (express_cat.is_debug())
234 express_cat.debug() <<
"handle_socket_error - unknown error: " << err << std::endl;
235 errmsg =
"Unknown WSA error";
239 sprintf(msgbuf,
"WSA errno %d, errno %d: %s",err,errno,errmsg);
240 return string(msgbuf);
250 get_network_error() {
251 #if !defined(WIN32) && !defined(WIN64) 252 return EU_error_abort;
254 int err = WSAGetLastError();
257 return EU_error_network_dead;
259 return EU_error_network_unreachable;
263 return EU_error_network_disconnected;
265 return EU_error_network_disconnected_locally;
268 return EU_error_network_remote_host_disconnected;
270 return EU_error_network_buffer_overflow;
272 return EU_error_network_timeout;
274 return EU_error_network_remote_host_down;
276 return EU_error_network_remote_host_unreachable;
278 return EU_error_network_disk_quota_exceeded;
280 return EU_error_network_remote_host_not_found;
282 return EU_error_network_remote_host_no_response;
284 if (express_cat.is_debug())
286 <<
"get_network_error() - WSA error = 0 - error : " 287 << strerror(errno) << std::endl;
288 return EU_error_abort;
290 if (express_cat.is_debug())
292 <<
"get_network_error() - unknown error: " << err << std::endl;
293 return EU_error_abort;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.